From fbad00e40b7908913cac293a3189f49879accfe1 Mon Sep 17 00:00:00 2001 From: Gaetano Savo Date: Fri, 6 Jun 2025 19:02:52 +0200 Subject: [PATCH] Aggiunti sql creazione storage --- .gitignore | 4 +- script/conf.ps1 | 14 +- script/creadb.ps1 | 14 +- script/estrae_stored.ps1 | 64 +- script/pulisceDB.ps1 | 1710 +----- ...Immobiliare_Blacklist_Blocco_Tabellone.sql | 94 + ...6MartPeriodicoImmobiliare_DM_ANAG_SELF.sql | 98 + ...are_DM_ANAG_SELF_20181214_PreMioFoglio.sql | 90 + ...dicoImmobiliare_DM_CODIFICA_CREDITRISK.sql | 70 + ...riodicoImmobiliare_DM_CODIFICA_RISCHIO.sql | 69 + .../C6MartPeriodicoImmobiliare_DM_MIFID.sql | 149 + ...odicoImmobiliare_DM_PARTITE_VIAGGIANTI.sql | 85 + ...iodicoImmobiliare_DM_RISCHIO_AGGREGATO.sql | 127 + ...biliare_Delete_Immobiliare_GestionePDF.sql | 46 + ...are_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql | 119 + ..._SELECT_LETTERE_DA_INVIARE_BKP28052023.sql | 119 + ...IONE_SELECT_LETTERE_DA_INVIARE_CONSUNI.sql | 130 + ...MartPeriodicoImmobiliare_GetDatiPerIDX.sql | 74 + ...riodicoImmobiliare_Insert_ExcludedList.sql | 69 + ...biliare_Insert_Immobiliare_GestionePDF.sql | 142 + ...biliare_Insert_Immobiliare_GestioneZIP.sql | 69 + ...tPeriodicoImmobiliare_MERGED_PROCEDURE.sql | 146 + ...iare_PL_D2_S170RischioDiversificazione.sql | 115 + ...riodicoImmobiliare_PL_D_S152Patrimonio.sql | 119 + ...biliare_PL_D_S154PatrimonioFinanziario.sql | 159 + ..._GetClientNegativeCurrentAccountsValue.sql | 39 + ...PL_GetClientSelfNegCurrentAccountValue.sql | 37 + ...biliare_PL_MP_S133AreeBisognoPrincProd.sql | 52 + ...liare_PL_MP_S140AnalisiRisparmioCharts.sql | 112 + ...atrimonioNonRappresentabileAssettClass.sql | 128 + ...oNonConsideratoNelCalcoloDelRendimento.sql | 77 + ...mobiliare_Popola_S133_S157DatiPiramide.sql | 38 + ...eriodicoImmobiliare_RP_DM_ANAG_CLIENTI.sql | 149 + ...riodicoImmobiliare_RP_DM_ANAG_PRODOTTI.sql | 111 + ...oImmobiliare_RP_DM_ANAG_PRODOTTI_TERZI.sql | 99 + ...eriodicoImmobiliare_RP_DM_AREA_BISOGNO.sql | 66 + ...tPeriodicoImmobiliare_RP_DM_ASSETCLASS.sql | 88 + ...dicoImmobiliare_RP_DM_ASSETCLASS_TERZI.sql | 77 + ...tPeriodicoImmobiliare_RP_DM_ASSET_PERC.sql | 92 + ...dicoImmobiliare_RP_DM_ASSET_PERC_TERZI.sql | 101 + ...eriodicoImmobiliare_RP_DM_CONTRATTOSEI.sql | 144 + ...iodicoImmobiliare_RP_DM_DETTAGLIO_ASUL.sql | 130 + ...dicoImmobiliare_RP_DM_PATRIMONIO_ALTRO.sql | 109 + ...riodicoImmobiliare_RP_DM_PATRIMONIO_BF.sql | 128 + ...mobiliare_RP_DM_PATRIMONIO_IMMOBILIARE.sql | 102 + ...TRIMONIO_IMMOBILIARE_20190205_ProQuota.sql | 103 + ...dicoImmobiliare_RP_DM_PATRIMONIO_TERZI.sql | 120 + ...eriodicoImmobiliare_RP_DM_PIRAMIDE_MOD.sql | 130 + ...oImmobiliare_RP_PROM_TuttiIPortafogli2.sql | 71 + ...e_RP_PROM_TuttiIPortafogli2_Indicatore.sql | 120 + ...artPeriodicoImmobiliare_SP_PopolaW6IMM.sql | 102 + ...iliare_SP_Valorizza_Stati_semaforo_IMM.sql | 105 + ...dateDateReport_Immobiliare_GestionePDF.sql | 78 + ...biliare_Update_Immobiliare_GestioneZIP.sql | 57 + ...getRichiesteMonitoraggioCatastoCliente.sql | 25 + ...ertRichiesteMonitoraggioCatastoCliente.sql | 61 + ...eriodicoImmobiliare_sp_caricaBlacklist.sql | 39 + ...re_start_email_Testi_Statici_tabellone.sql | 20 + ...obiliare_start_email_Zipping_tabellone.sql | 20 + ...ichiesteMonitoraggioCatastoClienteCong.sql | 32 + ...ichiesteMonitoraggioCatastoClienteProd.sql | 40 + ...C6MartPeriodico_AGGIORNA_NUMERO_PAGINE.sql | 25 + ...eriodico_AL_AggiornaPortafoglioCliente.sql | 68 + ...giornaPortafoglioCliente_pre_selective.sql | 65 + ...tPeriodico_AggiornaFlagRolContrattoSei.sql | 26 + ...odico_AggiornamentoDisponibilitaReport.sql | 60 + .../C6MartPeriodico_AppRendTabReader.sql | 23 + .../C6MartPeriodico_AppRendTabReader_bl.sql | 21 + .../C6MartPeriodico_BONIFICA_WSEIUL.sql | 75 + ...eriodico_BONIFICA_WSEIUL_pre_selective.sql | 73 + ...rtPeriodico_Blacklist_Blocco_Tabellone.sql | 105 + ...co_Blocco_Blacklist_AppRendicontazione.sql | 55 + .../C6MartPeriodico_BonificaDataQuality.sql | 68 + ...dico_CHECK_AGGIORNA_ERRORI_GENERAZIONE.sql | 18 + ...dico_CHECK_CTV_PER_NEEDAREA_PER_CLIENT.sql | 148 + .../C6MartPeriodico_CHECK_GET_CTV_ISSUES.sql | 32 + ...eriodico_CHECK_GET_CTV_ISSUES_PER_AREA.sql | 30 + ...eriodico_CHECK_GET_CUSTOMERS_FOR_CHECK.sql | 45 + .../C6MartPeriodico_CHECK_GET_NeedAreas.sql | 24 + .../C6MartPeriodico_CHECK_GET_Perc_ISSUES.sql | 26 + ...ico_CHECK_GET_S10_Negative_BankAccount.sql | 60 + ...0_PATRIMONIO_NON_RAPPRESENTABILE_ASSET.sql | 49 + ...TRIMONIO_NON_RAPPRESENTABILE_ASSET_ALL.sql | 45 + .../C6MartPeriodico_CHECK_GET_VAR_ISSUES.sql | 26 + ...artPeriodico_CHECK_INSERT_CTV_PER_AREA.sql | 31 + ...Periodico_CHECK_INSERT_CTV_PER_SECTION.sql | 38 + .../C6MartPeriodico_CHECK_INSERT_S10_PERC.sql | 29 + ...Periodico_CHECK_INSERT_VAR_PER_SECTION.sql | 29 + ...Periodico_CHECK_PROFILOSCADUTO_RFAZERO.sql | 30 + ...K_PROFILOSCADUTO_RFAZERO_pre_selective.sql | 30 + .../C6MartPeriodico_CHECK_PROFILO_SCADUTO.sql | 58 + ...co_CHECK_PROFILO_SCADUTO_pre_selective.sql | 58 + .../C6MartPeriodico_CHECK_RFA_ZERO.sql | 40 + ...Periodico_CHECK_RFA_ZERO_pre_selective.sql | 40 + .../C6MartPeriodico_CREA_FIRMA_PROMOTORE.sql | 18 + .../C6MartPeriodico_CRUSCOTTOTRIMESTRALE.sql | 76 + ...6MartPeriodico_CRUSCOTTOTRIMESTRALEMAU.sql | 80 + ...artPeriodico_CRUSCOTTOTRIMESTRALE_FILE.sql | 60 + ...riodico_CRUSCOTTOTRIMESTRALE_FILE_test.sql | 60 + .../C6MartPeriodico_Caricamento_TBGEN.sql | 43 + .../C6MartPeriodico_CercaCaratteriAnomali.sql | 122 + ...riodico_CercaCaratteriAnomali_20150205.sql | 121 + ...MartPeriodico_CheckQuadraturaRfa0Mifid.sql | 67 + ...odico_Controlla_Stato_Stampa_Cruscotto.sql | 57 + .../C6MartPeriodico_DM_ALL_PATRIMONIO.sql | 121 + .../C6MartPeriodico_DM_ANAG_CC.sql | 97 + .../C6MartPeriodico_DM_ANAG_CC_TERZI.sql | 83 + ...riodico_DM_ANAG_CC_TERZI_pre_selective.sql | 83 + ...MartPeriodico_DM_ANAG_CC_pre_selective.sql | 90 + .../C6MartPeriodico_DM_ANAG_CLIENTI.sql | 136 + ...o_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql | 146 + .../C6MartPeriodico_DM_ANAG_CLIENTI_PREV.sql | 71 + ...ico_DM_ANAG_CLIENTI_PREV_pre_selective.sql | 71 + ...eriodico_DM_ANAG_CLIENTI_pre_selective.sql | 145 + .../C6MartPeriodico_DM_ANAG_PRODOTTI.sql | 115 + ...C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI.sql | 90 + ...o_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql | 90 + ...6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE.sql | 71 + ..._DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql | 71 + ...riodico_DM_ANAG_PRODOTTI_pre_selective.sql | 115 + .../C6MartPeriodico_DM_ANAG_PROMOTORI.sql | 125 + ...iodico_DM_ANAG_PROMOTORI_pre_selective.sql | 125 + .../C6MartPeriodico_DM_ANAG_SELF.sql | 90 + ...ico_DM_ANAG_SELF_20181214_PreMioFoglio.sql | 88 + ...tPeriodico_DM_ANAG_SELF_BK_eligoTitoli.sql | 78 + ...rtPeriodico_DM_ANAG_SELF_pre_selective.sql | 85 + .../C6MartPeriodico_DM_AREA_BISOGNO.sql | 59 + ...eriodico_DM_AREA_BISOGNO_pre_selective.sql | 59 + .../C6MartPeriodico_DM_ASSETCLASS.sql | 64 + .../C6MartPeriodico_DM_ASSETCLASS_TERZI.sql | 68 + ...dico_DM_ASSETCLASS_TERZI_pre_selective.sql | 68 + ...tPeriodico_DM_ASSETCLASS_pre_selective.sql | 64 + .../C6MartPeriodico_DM_ASSET_PERC.sql | 89 + .../C6MartPeriodico_DM_ASSET_PERC_TERZI.sql | 92 + ...dico_DM_ASSET_PERC_TERZI_pre_selective.sql | 92 + ...tPeriodico_DM_ASSET_PERC_pre_selective.sql | 89 + .../C6MartPeriodico_DM_BONUS.sql | 85 + ...C6MartPeriodico_DM_BONUS_pre_selective.sql | 83 + .../C6MartPeriodico_DM_CAPPROT.sql | 142 + .../C6MartPeriodico_DM_CAPPROT_20171129.sql | 141 + .../C6MartPeriodico_DM_CAPPROT_BKP.sql | 148 + .../C6MartPeriodico_DM_CAPPROT_FVI.sql | 138 + ...6MartPeriodico_DM_CAPPROT_FVI_20180424.sql | 140 + ...MartPeriodico_DM_CAPPROT_pre_selective.sql | 158 + ...6MartPeriodico_DM_CLIENTI_CON_RNA_ALTO.sql | 47 + ...C6MartPeriodico_DM_CLIENTI_NON_MIGRATI.sql | 22 + ...o_DM_CLIENTI_NON_MIGRATI_pre_selective.sql | 22 + ...C6MartPeriodico_DM_CODIFICA_CREDITRISK.sql | 68 + ...o_DM_CODIFICA_CREDITRISK_pre_selective.sql | 66 + .../C6MartPeriodico_DM_CODIFICA_RISCHIO.sql | 67 + ...dico_DM_CODIFICA_RISCHIO_pre_selective.sql | 65 + .../C6MartPeriodico_DM_COMPLESSITA.sql | 113 + ...Periodico_DM_COMPLESSITA_pre_selective.sql | 113 + .../C6MartPeriodico_DM_CONGELAMENTO_SEI.sql | 32 + ...dico_DM_CONGELAMENTO_SEI_pre_selective.sql | 32 + ...C6MartPeriodico_DM_CONO_PIANIFICAZIONE.sql | 106 + ...o_DM_CONO_PIANIFICAZIONE_pre_selective.sql | 106 + ...6MartPeriodico_DM_CONS_ATTIVAGGIORNATA.sql | 118 + ..._DM_CONS_ATTIVAGGIORNATA_pre_selective.sql | 125 + .../C6MartPeriodico_DM_CONTRATTOSEI.sql | 48 + ...MartPeriodico_DM_CONTROLLO_TRIMESTRALE.sql | 27 + .../C6MartPeriodico_DM_DATI_REPORT.sql | 58 + ...Periodico_DM_DATI_REPORT_pre_selective.sql | 58 + .../C6MartPeriodico_DM_DETTAGLIO_ASUL.sql | 118 + ...iodico_DM_DETTAGLIO_ASUL_pre_selective.sql | 118 + .../C6MartPeriodico_DM_DettaglioMovimenti.sql | 170 + ...riodico_DM_DettaglioMovimenti_20160913.sql | 186 + ...artPeriodico_DM_DettaglioMovimenti_old.sql | 119 + ...rtPeriodico_DM_DettaglioMovimenti_old2.sql | 67 + ...co_DM_DettaglioMovimenti_pre_selective.sql | 181 + ...artPeriodico_DM_ELABORAZIONI_EMAIL_RNA.sql | 103 + .../C6MartPeriodico_DM_EMAIL_PB.sql | 88 + ...artPeriodico_DM_EMAIL_PB_pre_selective.sql | 83 + .../C6MartPeriodico_DM_FOI80.sql | 148 + ...C6MartPeriodico_DM_FOI80_pre_selective.sql | 164 + ...o_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql | 124 + ...co_DM_GESTIONE_EMAIL_REPORT_DEFINITIVI.sql | 66 + ...dico_DM_GESTIONE_EMAIL_REPORT_GENERATI.sql | 58 + .../C6MartPeriodico_DM_GESTIONE_EMAIL_RNA.sql | 71 + ...6MartPeriodico_DM_MAIL_PROFILI_RISCHIO.sql | 39 + .../C6MartPeriodico_DM_MIFID.sql | 144 + ...M_MIFID_BKP_20231114_PRE_RAFFORZAMENTO.sql | 148 + ...C6MartPeriodico_DM_MIFID_pre_selective.sql | 145 + ...6MartPeriodico_DM_MONITORAGGIO_ATTUALE.sql | 115 + ..._DM_MONITORAGGIO_ATTUALE_pre_selective.sql | 118 + ...artPeriodico_DM_MONITORAGGIO_DETTAGLIO.sql | 128 + ...M_MONITORAGGIO_DETTAGLIO_pre_selective.sql | 139 + ...MartPeriodico_DM_MONITORAGGIO_INIZIALE.sql | 98 + ...ONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA.sql | 144 + ...DM_MONITORAGGIO_INIZIALE_pre_selective.sql | 98 + ...C6MartPeriodico_DM_MONITORAGGIO_REPORT.sql | 103 + ...o_DM_MONITORAGGIO_REPORT_pre_selective.sql | 103 + ...6MartPeriodico_DM_MONITORAGGIO_STORICO.sql | 114 + ..._DM_MONITORAGGIO_STORICO_pre_selective.sql | 119 + .../C6MartPeriodico_DM_PARTITE_VIAGGIANTI.sql | 82 + ...co_DM_PARTITE_VIAGGIANTI_pre_selective.sql | 80 + .../C6MartPeriodico_DM_PATRIMONIO_ALTRO.sql | 92 + ...dico_DM_PATRIMONIO_ALTRO_pre_selective.sql | 92 + .../C6MartPeriodico_DM_PATRIMONIO_BF.sql | 101 + ...riodico_DM_PATRIMONIO_BF_pre_selective.sql | 105 + ...6MartPeriodico_DM_PATRIMONIO_EMITTENTI.sql | 109 + ..._DM_PATRIMONIO_EMITTENTI_pre_selective.sql | 116 + ...artPeriodico_DM_PATRIMONIO_IMMOBILIARE.sql | 101 + ...M_PATRIMONIO_IMMOBILIARE_pre_selective.sql | 101 + .../C6MartPeriodico_DM_PATRIMONIO_TERZI.sql | 109 + ...dico_DM_PATRIMONIO_TERZI_pre_selective.sql | 111 + .../C6MartPeriodico_DM_PIRAMIDE_MOD.sql | 110 + ...eriodico_DM_PIRAMIDE_MOD_pre_selective.sql | 110 + .../C6MartPeriodico_DM_PIRAMIDE_VERT.sql | 78 + ...POLAMENTO_AM_OperazioniUltimoTrimestre.sql | 66 + ...MENTO_AM_OperazioniUltimoTrimestre_old.sql | 96 + .../C6MartPeriodico_DM_PROVENTI.sql | 107 + ...artPeriodico_DM_PROVENTI_pre_selective.sql | 105 + .../C6MartPeriodico_DM_RISCHIOEMITTENTI.sql | 20 + .../C6MartPeriodico_DM_RISCHIO_AGGREGATO.sql | 117 + ...M_RISCHIO_AGGREGATO_20180627_preNewInd.sql | 110 + ...artPeriodico_DM_RISCHIO_AGGREGATO_OLD2.sql | 114 + ...MartPeriodico_DM_RISCHIO_AGGREGATO_old.sql | 107 + ...iodico_DM_RISCHIO_AGGREGATO_preAladdin.sql | 116 + ...ico_DM_RISCHIO_AGGREGATO_pre_selective.sql | 107 + ...HIO_AGGREGATO_pre_selective_preAladdin.sql | 108 + .../C6MartPeriodico_DM_SCADENZE.sql | 108 + ...artPeriodico_DM_SCADENZE_pre_selective.sql | 99 + ...riodico_DM_SCADENZE_pre_selective_luca.sql | 101 + ...C6MartPeriodico_DM_STORICO_CAPPROT_FVI.sql | 118 + .../C6MartPeriodico_DM_TEST_QUALITY.sql | 115 + .../C6MartPeriodico_DM_dettaglio_MOV.sql | 31 + ...fica_Concentrazione_Prodotti_Complessi.sql | 125 + ...artPeriodico_DeleteGruppo_ExcludedList.sql | 15 + ...tPeriodico_DistinctGruppo_ExcludedList.sql | 14 + .../C6MartPeriodico_Estrazione_Campione.sql | 44 + ...eriodico_Estrazione_Campione_Cruscotto.sql | 43 + ...MartPeriodico_GC_CONVALIDAREPORTSELECT.sql | 147 + ...tPeriodico_GC_DELETE_CONVALIDA_ANNULLA.sql | 84 + ...Periodico_GC_INSERT_VERIFICHE_CAMPIONE.sql | 54 + ...tPeriodico_GC_REPORTDACANCELLARESELECT.sql | 34 + ...rtPeriodico_GC_VerificheCampioneSelect.sql | 93 + ...6MartPeriodico_GESTIONE_C6_S_Generator.sql | 88 + ...tPeriodico_GESTIONE_C6_S_Generator_OLD.sql | 103 + ...ONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE.sql | 48 + ...riodico_GESTIONE_INSERT_CUSTOMER_ERROR.sql | 37 + ...odico_GESTIONE_INSERT_ELABORAZIONE_ZIP.sql | 39 + ...TIONE_INSERT_ELABORAZIONE_ZIP_20170328.sql | 39 + ...GESTIONE_INSERT_ELABORAZIONI_EMAIL_RNA.sql | 27 + ...odico_GESTIONE_INSERT_EMAIL_DA_INVIARE.sql | 126 + ...6MartPeriodico_GESTIONE_INSERT_PDF_FTP.sql | 170 + ...odico_GESTIONE_INSERT_PDF_FTP_04082015.sql | 163 + ...riodico_GESTIONE_INSERT_PDF_FTP_GET_ID.sql | 25 + ...odico_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql | 51 + .../C6MartPeriodico_GESTIONE_INSERT_ZIP.sql | 67 + ...odico_GESTIONE_INSERT_ZIP_IDX_NOINSERT.sql | 30 + ...iodico_GESTIONE_PDF_REVERT_FISCAL_CODE.sql | 17 + ...artPeriodico_GESTIONE_SCARTI_CRUSCOTTO.sql | 25 + ...GESTIONE_SELECT_ELABORAZIONI_EMAIL_RNA.sql | 18 + ...odico_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql | 60 + ...TIONE_SELECT_EMAIL_DA_INVIARE_20160913.sql | 30 + ...co_GESTIONE_SELECT_EMAIL_DA_INVIARE_bk.sql | 62 + ...riodico_GESTIONE_SELECT_FTP_DA_INVIARE.sql | 62 + ...A_INVIARE_20170413_b4_NewZipFtpProcess.sql | 64 + ...TP_DA_INVIARE_20170712_b4_OrderedByCAP.sql | 59 + ...tPeriodico_GESTIONE_SELECT_FTP_INVIATI.sql | 58 + ...E_SELECT_FTP_INVIATI_20180214_bonifica.sql | 37 + ...NE_SELECT_FTP_INVIATI_20180308_PreIDX2.sql | 35 + ...o_GESTIONE_SELECT_FTP_INVIATI_20180420.sql | 58 + ...o_GESTIONE_SELECT_FTP_INVIATI_20240225.sql | 58 + ...E_SELECT_FTP_INVIATI_INCLUDINGFILENAME.sql | 59 + ...ATI_INCLUDINGFILENAME_20180308_PreIDX2.sql | 26 + ...FTP_INVIATI_INCLUDINGFILENAME_20180420.sql | 59 + ...IONE_SELECT_FTP_INVIATI_prova_20141223.sql | 74 + ...eriodico_GESTIONE_SELECT_FTP_WHITELIST.sql | 62 + .../C6MartPeriodico_GESTIONE_SELECT_HOST.sql | 66 + ...eriodico_GESTIONE_SELECT_LAST_ELAB_ZIP.sql | 16 + ...MartPeriodico_GESTIONE_SELECT_LAST_ZIP.sql | 43 + ...ico_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql | 133 + ...NE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql | 126 + ..._SELECT_NUM_MAX_ELABORAZIONI_EMAIL_RNA.sql | 18 + ...GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql | 27 + ...ONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql | 112 + ..._SELECT_PDF_GETDATATHREADS_CAMPIONE_DA.sql | 108 + ...F_GETDATATHREADS_CAMPIONE_DA_Francesco.sql | 106 + ...ATATHREADS_CAMPIONE_FOR_STATISTICS.obs.sql | 100 + ..._PDF_GETDATATHREADS_CAMPIONE_Francesco.sql | 109 + ..._SELECT_PDF_GETDATATHREADS_CAMPIONE_PK.sql | 102 + ...ELECT_PDF_GETDATATHREADS_CAMPIONE_Pino.sql | 104 + ...ATHREADS_CAMPIONE_QRM_NonOptimized.obs.sql | 96 + ...READS_CAMPIONE_QRM_ONDEMAND_OPT_EN.obs.sql | 83 + ...ELECT_PDF_GETDATATHREADS_CAMPIONE_luca.sql | 108 + ...TDATATHREADS_CAMPIONE_onDemand_Adriano.sql | 110 + ...DS_CAMPIONE_onDemand_Adriano_PROVAPROF.sql | 121 + ...DF_GETDATATHREADS_CAMPIONE_onDemand_EN.sql | 126 + ..._GETDATATHREADS_CAMPIONE_onDemand_Luca.sql | 104 + ...NE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO.sql | 112 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_DA.sql | 112 + ...T_PDF_GETDATATHREADS_PartiteViaggianti.sql | 87 + ...DATATHREADS_PartiteViaggianti_CAMPIONE.sql | 87 + ...ADS_PartiteViaggianti_OnDemand_Adriano.sql | 85 + ..._GESTIONE_SELECT_REPORTS_ERRATACORRIGE.sql | 66 + ...IONE_SELECT_REPORTS_ERRATACORRIGE_test.sql | 71 + ...ico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV.sql | 73 + ...ONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart.sql | 56 + ...artPeriodico_GESTIONE_SELECT_S80_FASE2.sql | 130 + ...Periodico_GESTIONE_SELECT_S80_FASE2_CU.sql | 128 + ...ECT_S80_FASE2_CU_20190206_preMioFoglio.sql | 132 + ...SELECT_S80_FASE2_CU_POST_RAFFORZAMENTO.sql | 127 + ..._SELECT_S80_FASE2_CU_PRE_RAFFORZAMENTO.sql | 129 + ...o_GESTIONE_SELECT_S80_FASE2_CU_mariano.sql | 122 + ...co_GESTIONE_SELECT_S80_FASE2_SELECTIVE.sql | 131 + ...TIONE_SELECT_S80_FASE2_SELECTIVE_FINAL.sql | 22 + ..._GESTIONE_SELECT_S80_PARZIALE_FASE2_CU.sql | 117 + ...Periodico_GESTIONE_SELECT_SPECIFIC_ZIP.sql | 35 + ...riodico_GESTIONE_SELECT_ZIP_DA_INVIARE.sql | 33 + ...eriodico_GESTIONE_SELECT_ZIP_WHITELIST.sql | 37 + ...6MartPeriodico_GESTIONE_S_Intermediari.sql | 31 + ...odico_GESTIONE_UPDATE_ELABORAZIONE_ZIP.sql | 25 + ...TIONE_UPDATE_ELABORAZIONE_ZIP_20170328.sql | 25 + ...rtPeriodico_GESTIONE_UPDATE_EMAIL_HOST.sql | 20 + ...eriodico_GESTIONE_UPDATE_EMAIL_INVIATE.sql | 18 + .../C6MartPeriodico_GESTIONE_UPDATE_FTP.sql | 42 + .../C6MartPeriodico_GESTIONE_UPDATE_ZIP.sql | 47 + ...MartPeriodico_GESTIONE_UPDATE_ZIP_COPY.sql | 49 + ...Periodico_GESTIONE_UPDATE_ZIP_SENT_FTP.sql | 40 + ...eriodico_Genera_Cruscotto_ContrattoSei.sql | 77 + ...a_Cruscotto_ContrattoSei_20170407.SAVE.sql | 75 + .../C6MartPeriodico_Gestione_Bonus.sql | 26 + ...artPeriodico_Gestione_ProdottiProtetti.sql | 124 + ...ico_Gestione_ProdottiProtetti_20171215.sql | 123 + ...6MartPeriodico_GetFilesForSendingByFTP.sql | 13 + .../C6MartPeriodico_GetQueryContratti.sql | 21 + .../C6MartPeriodico_GetRiskArea.sql | 34 + ...iodico_INSERISCI_FASE2_PER_CAMBIO_RETE.sql | 123 + ...rtPeriodico_Inizializzazione_tabellone.sql | 108 + ...rimento_TrimestraleScarti_ExcludedList.sql | 19 + ...mestraleScarti_SegnalazioneDataQuality.sql | 26 + ...MartPeriodico_Monitoraggio_Giornaliero.sql | 38 + .../C6MartPeriodico_Motivo_ExcludedList.sql | 21 + .../C6MartPeriodico_PL_AreeMonitorate.sql | 150 + ...o_PL_AreeMonitorate_20180604_PreMifid2.sql | 128 + ...eMonitorate_20180927_PreOttimizzazione.sql | 128 + ...L_AreeMonitorate_20181214_PreMioFoglio.sql | 125 + .../C6MartPeriodico_PL_AreeMonitorate_85.sql | 128 + ...odico_PL_AreeMonitorate_BK_eligoTitoli.sql | 129 + ...riodico_PL_AreeMonitorate_PRESBAGLIATA.sql | 128 + ...eriodico_PL_AreeMonitorate_SIMULAZIONE.sql | 129 + ...tPeriodico_PL_AreeMonitorate_bck201204.sql | 128 + ...iodico_PL_AreeMonitorate_bkup_20120101.sql | 127 + ...6MartPeriodico_PL_AreeMonitorate_preFD.sql | 125 + .../C6MartPeriodico_PL_D2_FD152Patrimonio.sql | 98 + ...riodico_PL_D2_FD160DettaglioProdottiBF.sql | 108 + ...ico_PL_D2_FD170RischioDiversificazione.sql | 130 + .../C6MartPeriodico_PL_D2_S150Anagrafica.sql | 40 + ...iodico_PL_D2_S150Anagrafica_BkUpParall.sql | 97 + ...rtPeriodico_PL_D2_S151ProfiloDiRischio.sql | 62 + .../C6MartPeriodico_PL_D2_S152Patrimonio.sql | 121 + ...ico_PL_D2_S152Patrimonio_20190225__ori.sql | 103 + ...D2_S152Patrimonio_20190225_preProquota.sql | 104 + ...iodico_PL_D2_S153PatrimonioFinanziario.sql | 141 + ...iodico_PL_D2_S154PatrimonioFinanziario.sql | 160 + ...iodico_PL_D2_S155PatrimonioImmobiliare.sql | 56 + ...imonioImmobiliare_20190225_preProquota.sql | 29 + ...atrimonioImmobiliare_20190502_ProQuota.sql | 55 + ...artPeriodico_PL_D2_S156ALtroPatrimonio.sql | 32 + ...tPeriodico_PL_D2_S157ConfrontoPiramidi.sql | 49 + ...2_S157ConfrontoPiramidi_BK_eligoTitoli.sql | 128 + ...PL_D2_S157ConfrontoPiramidi_BkUpParall.sql | 125 + ...ico_PL_D2_S157ConfrontoPiramidi_testFc.sql | 128 + ...artPeriodico_PL_D2_S158PiramideModello.sql | 65 + ...iodico_PL_D2_S159PatrimonioFinanziario.sql | 129 + ...eriodico_PL_D2_S160DettaglioProdottiBF.sql | 108 + ...D2_S160DettaglioProdottiBF_BK_20151222.sql | 108 + ...S160DettaglioProdottiBF_BK_eligoTitoli.sql | 109 + ...tPeriodico_PL_D2_S162DettaglioProdotti.sql | 97 + ...2_S163PatrimonioFinanziarioMAssetClass.sql | 85 + ...riodico_PL_D2_S164PolizzeAltriIstituti.sql | 44 + ...Periodico_PL_D2_S165FondiAltriIstituti.sql | 75 + ...artPeriodico_PL_D2_S166ContoCorrenteAI.sql | 36 + ..._PL_D2_S167DistribuzioneRischioCredito.sql | 108 + ...uzioneRischioCredito_PatrimonioNonRapp.sql | 114 + ...rtPeriodico_PL_D2_S168TabellaEmittenti.sql | 146 + ...PL_D2_S168TabellaEmittenti_BK_20151222.sql | 147 + ...PL_D2_S169RischiomercatoRischiocredito.sql | 144 + ...9RischiomercatoRischiocredito_20180716.sql | 143 + ...dico_PL_D2_S170RischioDiversificazione.sql | 129 + ...D2_S170RischioDiversificazione_NoLight.sql | 128 + ...atrimonioNonRappresentabileAssettClass.sql | 132 + ...rtPeriodico_PL_D3_S151ProfiloDiRischio.sql | 115 + ...PL_D_FD177ProfiloDiRischio_Adeguatezza.sql | 113 + ...o_PL_D_FD178IndicatoriEsitoAdeguatezza.sql | 128 + ...FD178IndicatoriEsitoAdeguatezza_preMUA.sql | 122 + .../C6MartPeriodico_PL_D_S150Anagrafica.sql | 99 + ...artPeriodico_PL_D_S151ProfiloDiRischio.sql | 60 + .../C6MartPeriodico_PL_D_S152Patrimonio.sql | 115 + ...riodico_PL_D_S153PatrimonioFinanziario.sql | 159 + ...riodico_PL_D_S154PatrimonioFinanziario.sql | 161 + ...riodico_PL_D_S155PatrimonioImmobiliare.sql | 27 + ...MartPeriodico_PL_D_S156ALtroPatrimonio.sql | 30 + ...rtPeriodico_PL_D_S157ConfrontoPiramidi.sql | 119 + ...MartPeriodico_PL_D_S158PiramideModello.sql | 63 + ...riodico_PL_D_S159PatrimonioFinanziario.sql | 130 + ...Periodico_PL_D_S160DettaglioProdottiBF.sql | 103 + ...rtPeriodico_PL_D_S162DettaglioProdotti.sql | 96 + ...D_S163PatrimonioFinanziarioMAssetClass.sql | 78 + ...eriodico_PL_D_S164PolizzeAltriIstituti.sql | 42 + ...tPeriodico_PL_D_S165FondiAltriIstituti.sql | 73 + ...MartPeriodico_PL_D_S166ContoCorrenteAI.sql | 35 + ...o_PL_D_S167DistribuzioneRischioCredito.sql | 115 + ...artPeriodico_PL_D_S168TabellaEmittenti.sql | 145 + ..._PL_D_S169RischiomercatoRischiocredito.sql | 136 + ...odico_PL_D_S170RischioDiversificazione.sql | 150 + ...atrimonioNonRappresentabileAssettClass.sql | 127 + ..._PL_D_S177ProfiloDiRischio_Adeguatezza.sql | 113 + ...o_Adeguatezza_20180706_PreCRNapolitano.sql | 91 + ...MartPeriodico_PL_D_S178CasiParticolari.sql | 148 + ...dico_PL_D_S178CasiParticolari_20181220.sql | 79 + ...icolari_BKP_20231114_PRE_RAFFORZAMENTO.sql | 126 + ...Periodico_PL_D_S178CasiParticolari_old.sql | 126 + ...L_D_S178CasiParticolari_report_ridotto.sql | 125 + ...co_PL_D_S178IndicatoriEsitoAdeguatezza.sql | 128 + ..._S178IndicatoriEsitoAdeguatezza_preMUA.sql | 122 + ...o_PL_D_S179EmittentiConcentrazioneAlta.sql | 40 + ...odico_PL_D_S180ProdottiComplessitaAlta.sql | 130 + ...D_S180ProdottiComplessitaAlta_20180715.sql | 52 + ...Periodico_PL_FD10PatrimonioFinanziario.sql | 26 + .../C6MartPeriodico_PL_FD181PreferenzeESG.sql | 74 + ...iodico_PL_FD182BISDettaglioProdottiESG.sql | 139 + ...Periodico_PL_FD182DettaglioProdottiESG.sql | 122 + ...tPeriodico_PL_FD185UCaratteristicheESG.sql | 113 + .../C6MartPeriodico_PL_FD187SfdrTaxESG.sql | 127 + .../C6MartPeriodico_PL_FD188PaiESG.sql | 118 + ..._FD190BisPatrimonioFinanziario_Modello.sql | 26 + ...0PatrimonioFinanziario_PTFRibilanciato.sql | 80 + ...D200BisDistribuzioneAssetClass_Modello.sql | 26 + .../C6MartPeriodico_PL_FD25Anagrafica.sql | 42 + ...eriodico_PL_FD43BISDettaglioProdottiBF.sql | 123 + ...rtPeriodico_PL_FD43DettaglioProdottiBF.sql | 107 + ..._GetClientNegativeCurrentAccountsValue.sql | 37 + ...tPeriodico_PL_GetClientNegativeGPEligo.sql | 44 + ...PL_GetClientSelfNegCurrentAccountValue.sql | 35 + ...MartPeriodico_PL_GetClientSelfNegative.sql | 40 + .../C6MartPeriodico_PL_Intermediari.sql | 34 + ...odico_PL_MP_FD133BISPrincipaliProdotti.sql | 69 + ...odico_PL_MP_FD134BISMonitoraggioLiqInv.sql | 74 + ...odico_PL_MP_FD134MonitoraggioLiquidita.sql | 102 + ...MartPeriodico_PL_MP_FD147SintesiValute.sql | 72 + ...ico_PL_MP_FD148DistribuzioneAssetClass.sql | 27 + ...istribuzioneAssetClass_PTFRibilanciato.sql | 69 + ...co_PL_MP_S128ProfiloRischioAdeguatezza.sql | 135 + ...schioAdeguatezza_BKP_PRE_RAFFORZAMENTO.sql | 140 + .../C6MartPeriodico_PL_MP_S129Patrimonio.sql | 36 + ...iodico_PL_MP_S129Patrimonio_BkUpParall.sql | 141 + ...tPeriodico_PL_MP_S129Patrimonio_bkp_fc.sql | 141 + ...eriodico_PL_MP_S130PrincipaliPosizioni.sql | 57 + ...Periodico_PL_MP_S131ContributoARischio.sql | 83 + ...co_PL_MP_S132ProfiloRischioAdeguatezza.sql | 39 + ...32ProfiloRischioAdeguatezza_BkUpParall.sql | 122 + ...riodico_PL_MP_S133AreeBisognoPrincProd.sql | 50 + ...133AreeBisognoPrincProd_BK_eligoTitoli.sql | 134 + ...MP_S133AreeBisognoPrincProd_BkUpParall.sql | 131 + ...iodico_PL_MP_S133BISPrincipaliProdotti.sql | 67 + ...iodico_PL_MP_S134BISMonitoraggioLiqInv.sql | 63 + ...iodico_PL_MP_S134MonitoraggioLiquidita.sql | 97 + ...ico_PL_MP_S135MonitoraggioInvestimento.sql | 62 + ...eriodico_PL_MP_S137BISCapitaleProtetto.sql | 63 + .../C6MartPeriodico_PL_MP_S137BIS_FOI80.sql | 76 + .../C6MartPeriodico_PL_MP_S137Bonus.sql | 41 + .../C6MartPeriodico_PL_MP_S138Proventi.sql | 41 + .../C6MartPeriodico_PL_MP_S139Scadenze.sql | 36 + ...odico_PL_MP_S140AnalisiRisparmioCharts.sql | 109 + ...alisiRisparmioCharts_20190123_PreLIGHT.sql | 122 + ..._MP_S140AnalisiRisparmioCharts_NoLight.sql | 111 + ...iodico_PL_MP_S141AnalisiRisparmioTable.sql | 142 + ...o_PL_MP_S141AnalisiRisparmioTable_test.sql | 146 + ...iodico_PL_MP_S142DistibuzionePerRating.sql | 95 + ...ico_PL_MP_S143DistibuzionePerEmittente.sql | 73 + ...dico_PL_MP_S144DistibuzionePerScadenze.sql | 118 + ..._MP_S145DistibuzionePerTassoRendimento.sql | 67 + ...dico_PL_MP_S146RischioDiversificazione.sql | 93 + ...6MartPeriodico_PL_MP_S147SintesiValute.sql | 71 + ...dico_PL_MP_S148DistribuzioneAssetClass.sql | 26 + ...S148DistribuzioneAssetClass_BkUpParall.sql | 116 + ...co_PL_MP_S149DettaglioProdottiAffluent.sql | 20 + .../C6MartPeriodico_PL_MP_S173.sql | 19 + ...rtPeriodico_PL_MP_S173CapitaleProtetto.sql | 88 + .../C6MartPeriodico_PL_MP_S173FOI80.sql | 83 + .../C6MartPeriodico_PL_MP_S174Bonus.sql | 48 + ...MartPeriodico_PL_MP_S175BlueProtection.sql | 38 + ...odico_PL_MP_S175LineaProtettaMultiramo.sql | 40 + ...artPeriodico_PL_MP_S175WhiteProtection.sql | 38 + ...P_S176EvoluzioneLineaProtettaMultiramo.sql | 49 + ...ico_PL_MP_S44OperazioniUltimoTrimestre.sql | 33 + ...ico_PL_Prodotti_Non_Associati_Area_Inv.sql | 63 + ...ico_PL_S102DistribuzioneRischioCredito.sql | 115 + ...PL_S102DistribuzioneRischioCredito_OLD.sql | 101 + ...6MartPeriodico_PL_S103TabellaEmittenti.sql | 132 + ...tPeriodico_PL_S103TabellaEmittenti_OLD.sql | 142 + ...tPeriodico_PL_S10PatrimonioFinanziario.sql | 25 + ...PL_S10PatrimonioFinanziario_BkUpParall.sql | 127 + .../C6MartPeriodico_PL_S170LimitiMassimi.sql | 80 + ...eriodico_PL_S170LimitiMassimi_20180612.sql | 46 + ...eriodico_PL_S170LimitiMassimi_20180702.sql | 47 + ...Massimi_BKP_20231115_PRE_RAFFORZAMENTO.sql | 71 + ...o_PL_S172ProtezioneCapitaleAreeBisogno.sql | 109 + ...ezioneCapitaleAreeBisogno_20171201_ori.sql | 128 + ...ProtezioneCapitaleAreeBisogno_20171215.sql | 110 + ...ProtezioneCapitaleAreeBisogno_20171220.sql | 119 + ...ProtezioneCapitaleAreeBisogno_20171221.sql | 119 + ...ProtezioneCapitaleAreeBisogno_20180119.sql | 109 + ...pitaleAreeBisogno_20180717_PrePre1Pre2.sql | 110 + ...eBisogno_20190717_preFixArrotondamento.sql | 110 + ...72ProtezioneCapitaleAreeBisogno_pktest.sql | 109 + ...PL_S172ProtezioneCapitaleLineeProdotti.sql | 126 + .../C6MartPeriodico_PL_S181PreferenzeESG.sql | 68 + ...enzeESG_BKP_20231116_PRE_RAFFORZAMENTO.sql | 52 + ...riodico_PL_S182BISDettaglioProdottiESG.sql | 138 + ...ico_PL_S182BISDettaglioProdottiESG_Mon.sql | 147 + ...tPeriodico_PL_S182DettaglioProdottiESG.sql | 121 + .../C6MartPeriodico_PL_S183iCapital.sql | 92 + .../C6MartPeriodico_PL_S184CoerenzaESG.sql | 72 + ...iodico_PL_S184CoerenzaESG_BKP_20231013.sql | 55 + ...rtPeriodico_PL_S185UCaratteristicheESG.sql | 114 + ...riodico_PL_S186DettaglioPortafoglioSei.sql | 118 + .../C6MartPeriodico_PL_S187SfdrTaxESG.sql | 129 + .../C6MartPeriodico_PL_S188PaiESG.sql | 122 + ...ico_PL_S18PatrimonioFinanziarioRischio.sql | 97 + .../C6MartPeriodico_PL_S1Patrimonio.sql | 110 + ...C6MartPeriodico_PL_S23DettaglioRischio.sql | 91 + .../C6MartPeriodico_PL_S25Anagrafica.sql | 41 + ...tPeriodico_PL_S25Anagrafica_BkUpParall.sql | 101 + ...tPeriodico_PL_S26PatrimonioImmobiliare.sql | 27 + .../C6MartPeriodico_PL_S27ALtroPatrimonio.sql | 30 + ...rtPeriodico_PL_S2PatrimonioFinanziario.sql | 161 + ..._S31PatrimonioFinanziarioIntermediario.sql | 35 + ...PL_S32PatrimonioFinanziarioMAssetClass.sql | 78 + .../C6MartPeriodico_PL_S36ProfiloRischio.sql | 37 + .../C6MartPeriodico_PL_S37PiramideModello.sql | 37 + ...eriodico_PL_S42RischioDiversificazione.sql | 155 + ...Periodico_PL_S43BISDettaglioProdottiBF.sql | 115 + ..._PL_S43BISDettaglioProdottiBF_20160118.sql | 114 + ..._PL_S43BISDettaglioProdottiBF_20161215.sql | 117 + ...L_S43BISDettaglioProdottiBF_20161215_B.sql | 118 + .../C6MartPeriodico_PL_S43ContoCorrenteBF.sql | 56 + ...artPeriodico_PL_S43DettaglioProdottiBF.sql | 105 + ...ico_PL_S43DettaglioProdottiBF_20161215.sql | 107 + ...ico_PL_S43DettaglioProdottiBF_20161219.sql | 108 + ..._S43DettaglioProdottiBF_BK_eligoTitoli.sql | 108 + .../C6MartPeriodico_PL_S43LineaSelfBF.sql | 45 + ...L_S43LineaSelfBF_20181214_PreMioFoglio.sql | 35 + .../C6MartPeriodico_PL_S47ContoCorrenteBF.sql | 40 + ...6MartPeriodico_PL_S48DettaglioProdotti.sql | 97 + ...rtPeriodico_PL_S49PolizzeAltriIstituti.sql | 42 + ...MartPeriodico_PL_S50FondiAltriIstituti.sql | 73 + .../C6MartPeriodico_PL_S51ContoCorrenteAI.sql | 35 + ...eriodico_PL_S56PatrimonioBFAreeBisogno.sql | 71 + ...6MartPeriodico_PL_S57ConfrontoPiramidi.sql | 119 + ...tPeriodico_PL_S57ConfrontoPiramidi_OLD.sql | 120 + ...rtPeriodico_PL_S6PatrimonioFinanziario.sql | 160 + .../C6MartPeriodico_PL_S75GradoCopertura.sql | 134 + ...artPeriodico_PL_S75GradoCoperturaCompl.sql | 27 + ...tPeriodico_PL_S75GradoCoperturaInterno.sql | 28 + ...artPeriodico_PL_S75GradoCoperturaTerzi.sql | 28 + ...rtPeriodico_PL_S75GradoCopertura_check.sql | 133 + ...atrimonioNonRappresentabileAssettClass.sql | 132 + ...atrimonioNonRappresentabileAssettClass.sql | 138 + .../C6MartPeriodico_PL_S80Alternativa.sql | 99 + ...L_S80Alternativa_20181214_PreMioFoglio.sql | 93 + ...Periodico_PL_S80Alternativa_BkUpParall.sql | 133 + ...odico_PL_S80Alternativa_DidascalieNote.sql | 12 + .../C6MartPeriodico_PL_S80Alternativa_OLD.sql | 148 + ...MartPeriodico_PL_S80Alternativa_bkp_FC.sql | 133 + ...C6MartPeriodico_PL_S80Alternativa_perc.sql | 108 + ...rtPeriodico_PL_S80BisEvoluzioneRischio.sql | 29 + ...isEvoluzioneRischio_20170413_RM_DBname.sql | 29 + ..._PL_S80BisEvoluzioneRischio_BkUpParall.sql | 166 + ...Periodico_PL_S80EvoluzioneControvalore.sql | 160 + ...C6MartPeriodico_PL_S82BisDatiSintetici.sql | 107 + .../C6MartPeriodico_PL_S82DatiSintetici.sql | 83 + .../C6MartPeriodico_PL_S83DatiRendimento.sql | 122 + ...6MartPeriodico_PL_S83DatiRendimento_85.sql | 121 + ...ico_PL_S84ControvaloreRisorseApportate.sql | 58 + ...iodico_PL_S85RendimentoPortafoglioCono.sql | 106 + ...PL_S86PatrimonioFinanziarioMAssetClass.sql | 111 + ...oNonConsideratoNelCalcoloDelRendimento.sql | 96 + .../C6MartPeriodico_PL_S94Rischio.sql | 60 + ...C6MartPeriodico_PL_S95ProfiloDiRischio.sql | 106 + ...S95ProfiloDiRischio_20190204_PreMIFID2.sql | 61 + ..._PL_S96BisRischioMercatoRischioCredito.sql | 143 + ...ico_PL_S96RischiomercatoRischiocredito.sql | 141 + .../C6MartPeriodico_PL_SavingMap.sql | 34 + ...o_POPOLA_S132ProfiloRischioAdeguatezza.sql | 119 + ...2ProfiloRischioAdeguatezza_PROVVISORIA.sql | 129 + ...rofiloRischioAdeguatezza_pre_selective.sql | 127 + .../C6MartPeriodico_PROM_TuttiIPortafogli.sql | 69 + ...MartPeriodico_Popola_D2_S150Anagrafica.sql | 95 + ...0PatrimonioFinanziario_PTFRibilanciato.sql | 120 + ...rimonioFinanziario_PTFRibilanciato_OLD.sql | 126 + ...istribuzioneAssetClass_PTFRibilanciato.sql | 112 + ...ibuzioneAssetClass_PTFRibilanciato_OLD.sql | 115 + ...iodico_Popola_S10PatrimonioFinanziario.sql | 123 + ...S10PatrimonioFinanziario_pre_selective.sql | 137 + ...Periodico_Popola_S133_S157DatiPiramide.sql | 42 + ..._Popola_S133_S157DatiPiramide_20161202.sql | 37 + ..._Popola_S133_S157DatiPiramide_20161214.sql | 41 + ...la_S133_S157DatiPiramide_20170113_ORIG.sql | 43 + ...la_S133_S157DatiPiramide_pre_selective.sql | 42 + ...ico_Popola_S148DistribuzioneAssetClass.sql | 106 + ...8DistribuzioneAssetClass_pre_selective.sql | 110 + ...Popola_S179EmittentiConcentrazioneAlta.sql | 81 + ...79EmittentiConcentrazioneAlta_20180626.sql | 89 + ...oneAlta_BKP_20231115_PRE_RAFFORZAMENTO.sql | 78 + .../C6MartPeriodico_Popola_S25Anagrafica.sql | 100 + ...ico_Popola_S25Anagrafica_pre_selective.sql | 106 + ...riodico_Popola_S80BisEvoluzioneRischio.sql | 143 + ...oluzioneRischio_20170724_preCR_fasi1e2.sql | 141 + ...opola_S80BisEvoluzioneRischio_20171222.sql | 140 + ...Rischio_BKP_20231116_PRE_RAFFORZAMENTO.sql | 142 + ..._S80BisEvoluzioneRischio_pre_selective.sql | 153 + ...opola_S80_S129_EvoluzioneCTVPatrimonio.sql | 125 + ...neCTVPatrimonio_20170724_preCR_fasi1e2.sql | 117 + ..._S129_EvoluzioneCTVPatrimonio_20180108.sql | 118 + ...oneCTVPatrimonio_20181214_PreMioFoglio.sql | 118 + ...29_EvoluzioneCTVPatrimonio_percentuale.sql | 129 + ...luzioneCTVPatrimonio_percentuale_Fase3.sql | 86 + ..._EvoluzioneCTVPatrimonio_pre_selective.sql | 119 + ..._Popola_TB_S180ProdottiComplessitaAlta.sql | 66 + .../C6MartPeriodico_Popola_W6ASSETPERC.sql | 76 + ...tPeriodico_Popola_W6ASSETPERC_20190624.sql | 92 + ...tPeriodico_Popola_W6ASSETPERC_20190701.sql | 67 + ...6MartPeriodico_Popolamento_RP_W6CLIREP.sql | 148 + ...mento_RP_vTuttiIPortafogli_Aladdin_tab.sql | 95 + ...6MartPeriodico_ProfiloScaduto_Campione.sql | 27 + ...eriodico_RESTART_CONTROLLO_TRIMESTRALE.sql | 34 + .../C6MartPeriodico_RFA_SEGNALATI_SP.sql | 33 + .../C6MartPeriodico_RM_Sintesi_Cliente.sql | 48 + ...MartPeriodico_RP_AggiornaFlagContratto.sql | 144 + .../C6MartPeriodico_RP_DM_ANAG_CC_TERZI.sql | 122 + ...dico_RP_DM_ANAG_CC_TERZI_pre_selective.sql | 120 + .../C6MartPeriodico_RP_DM_ANAG_CLIENTI.sql | 155 + ...tPeriodico_RP_DM_ANAG_CLIENTI_20170409.sql | 159 + ..._ANAG_CLIENTI_20170409_AGENTEisNotNull.sql | 152 + ...P_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql | 139 + ..._CLIENTI_PER_GENERAZIONE_MAIL_20190612.sql | 139 + ...odico_RP_DM_ANAG_CLIENTI_pre_selective.sql | 157 + .../C6MartPeriodico_RP_DM_ANAG_PRODOTTI.sql | 109 + ...artPeriodico_RP_DM_ANAG_PRODOTTI_TERZI.sql | 97 + ...P_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql | 95 + ...rtPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE.sql | 72 + ...RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK.sql | 69 + ..._DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql | 69 + ...dico_RP_DM_ANAG_PRODOTTI_pre_selective.sql | 107 + .../C6MartPeriodico_RP_DM_ANAG_PROMOTORI.sql | 143 + ...ico_RP_DM_ANAG_PROMOTORI_pre_selective.sql | 146 + .../C6MartPeriodico_RP_DM_AREA_BISOGNO.sql | 62 + ...odico_RP_DM_AREA_BISOGNO_pre_selective.sql | 60 + .../C6MartPeriodico_RP_DM_ASSETCLASS.sql | 76 + ...C6MartPeriodico_RP_DM_ASSETCLASS_TERZI.sql | 75 + ...o_RP_DM_ASSETCLASS_TERZI_pre_selective.sql | 73 + ...riodico_RP_DM_ASSETCLASS_pre_selective.sql | 74 + .../C6MartPeriodico_RP_DM_ASSET_PERC.sql | 89 + ...C6MartPeriodico_RP_DM_ASSET_PERC_TERZI.sql | 97 + ...o_RP_DM_ASSET_PERC_TERZI_pre_selective.sql | 95 + ...riodico_RP_DM_ASSET_PERC_pre_selective.sql | 86 + ...Periodico_RP_DM_BONIFICA_DTRIF0_TSCABP.sql | 42 + ...NIFICA_PATRIMONIO_IMMOBILIARE_ProQuota.sql | 80 + .../C6MartPeriodico_RP_DM_BrsClienteESG.sql | 105 + ...MartPeriodico_RP_DM_CLIENTI_RISORSE_NA.sql | 103 + .../C6MartPeriodico_RP_DM_COMPLESSITA.sql | 115 + ...iodico_RP_DM_COMPLESSITA_pre_selective.sql | 113 + ...artPeriodico_RP_DM_CONO_PIANIFICAZIONE.sql | 124 + ...P_DM_CONO_PIANIFICAZIONE_pre_selective.sql | 122 + .../C6MartPeriodico_RP_DM_CONTRATTOSEI.sql | 144 + ...odico_RP_DM_CONTRATTOSEI_20170407.SAVE.sql | 166 + ...odico_RP_DM_CONTRATTOSEI_pre_selective.sql | 172 + ...tPeriodico_RP_DM_CONTROLLO_TRIMESTRALE.sql | 30 + ...DM_CONTROLLO_TRIMESTRALE_pre_selective.sql | 30 + ...dico_RP_DM_Confronto_IndicatoreRischio.sql | 118 + ...dico_RP_DM_DETTAGLIO_ASUL.20170320.OBS.sql | 126 + .../C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.sql | 134 + ...eriodico_RP_DM_DETTAGLIO_ASUL_20170123.sql | 134 + ...artPeriodico_RP_DM_DETTAGLIO_ASUL_TEMP.sql | 122 + ...artPeriodico_RP_DM_DETTAGLIO_ASUL_luca.sql | 123 + ...ico_RP_DM_DETTAGLIO_ASUL_pre_selective.sql | 132 + ...6MartPeriodico_RP_DM_ESG_ANAG_METRICHE.sql | 114 + ...P_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql | 133 + .../C6MartPeriodico_RP_DM_GestioneEmail.sql | 104 + .../C6MartPeriodico_RP_DM_GestioneEmailNA.sql | 141 + ...MartPeriodico_RP_DM_GestioneEmailNOPRO.sql | 134 + ...6MartPeriodico_RP_DM_IndicatoreRischio.sql | 150 + ...rtPeriodico_RP_DM_MAIL_PROFILI_RISCHIO.sql | 40 + ...rtPeriodico_RP_DM_MONITORAGGIO_ATTUALE.sql | 110 + ..._DM_MONITORAGGIO_ATTUALE_pre_selective.sql | 113 + ...Periodico_RP_DM_MONITORAGGIO_DETTAGLIO.sql | 125 + ..._RP_DM_MONITORAGGIO_DETTAGLIO_20161220.sql | 129 + ...ONITORAGGIO_DETTAGLIO_20171218_preRFMP.sql | 120 + ..._RP_DM_MONITORAGGIO_DETTAGLIO_20181213.sql | 121 + ..._RP_DM_MONITORAGGIO_DETTAGLIO_20190112.sql | 123 + ...RAGGIO_DETTAGLIO_20190314_preMioFoglio.sql | 125 + ...M_MONITORAGGIO_DETTAGLIO_pre_selective.sql | 129 + ...tPeriodico_RP_DM_MONITORAGGIO_INIZIALE.sql | 132 + ...DM_MONITORAGGIO_INIZIALE_pre_selective.sql | 139 + ...artPeriodico_RP_DM_MONITORAGGIO_REPORT.sql | 121 + ...ITORAGGIO_REPORT_20181214_PreMioFoglio.sql | 115 + ...P_DM_MONITORAGGIO_REPORT_pre_selective.sql | 112 + ...rtPeriodico_RP_DM_MONITORAGGIO_STORICO.sql | 131 + ..._DM_MONITORAGGIO_STORICO_pre_selective.sql | 136 + ...C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO.sql | 105 + ...o_RP_DM_PATRIMONIO_ALTRO_pre_selective.sql | 103 + .../C6MartPeriodico_RP_DM_PATRIMONIO_BF.sql | 130 + ...dico_RP_DM_PATRIMONIO_BF_20170407.SAVE.sql | 123 + ...ONIO_BF_20170421_4b_prometeria_err_fix.sql | 128 + ...odico_RP_DM_PATRIMONIO_BF_20171019_err.sql | 127 + ...odico_RP_DM_PATRIMONIO_BF_BKP_20231017.sql | 134 + ...ico_RP_DM_PATRIMONIO_BF_BK_eligoTitoli.sql | 131 + ...odico_RP_DM_PATRIMONIO_BF_DaCancellare.sql | 129 + ...C6MartPeriodico_RP_DM_PATRIMONIO_BF_FC.sql | 131 + ...MartPeriodico_RP_DM_PATRIMONIO_BF_TEST.sql | 129 + ...dico_RP_DM_PATRIMONIO_BF_pre_selective.sql | 131 + ...Periodico_RP_DM_PATRIMONIO_IMMOBILIARE.sql | 98 + ...TRIMONIO_IMMOBILIARE_20190205_ProQuota.sql | 109 + ..._RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql | 127 + ...M_PATRIMONIO_IMMOBILIARE_pre_selective.sql | 96 + ...C6MartPeriodico_RP_DM_PATRIMONIO_TERZI.sql | 123 + ..._RP_DM_PATRIMONIO_TERZI_20170427_Patr3.sql | 110 + ...iodico_RP_DM_PATRIMONIO_TERZI_20180315.sql | 113 + ...o_RP_DM_PATRIMONIO_TERZI_pre_selective.sql | 111 + .../C6MartPeriodico_RP_DM_PIRAMIDE_MOD.sql | 133 + ...tPeriodico_RP_DM_PIRAMIDE_MOD_20161202.sql | 122 + ...tPeriodico_RP_DM_PIRAMIDE_MOD_20170119.sql | 129 + ...odico_RP_DM_PIRAMIDE_MOD_pre_selective.sql | 128 + .../C6MartPeriodico_RP_DM_PIRAMIDE_VERT.sql | 79 + .../C6MartPeriodico_RP_DM_POPOLACONTRATTI.sql | 135 + ...6MartPeriodico_RP_DM_QD_VAR_RISK_WEEK2.sql | 53 + .../C6MartPeriodico_RP_DM_W6CATESG.sql | 88 + .../C6MartPeriodico_RP_DM_W6CKADEG.sql | 138 + .../C6MartPeriodico_RP_DM_W6CLIESG.sql | 138 + .../C6MartPeriodico_RP_DM_W6IndPtf.sql | 106 + .../C6MartPeriodico_RP_DM_WSEIAN2.sql | 114 + .../C6MartPeriodico_RP_DM_WSEICAP.sql | 92 + .../C6MartPeriodico_RP_DM_WSEICC.sql | 72 + .../C6MartPeriodico_RP_DM_WSEIRPF.sql | 133 + ..._RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql | 108 + ...MartPeriodico_RP_PROM_TuttiIPortafogli.sql | 99 + ...artPeriodico_RP_PROM_TuttiIPortafogli2.sql | 92 + ...P_PROM_TuttiIPortafogli2_20170409_TEST.sql | 91 + ...ico_RP_PROM_TuttiIPortafogli2_20170410.sql | 75 + ...PROM_TuttiIPortafogli2_20170410_EXCLCF.sql | 72 + ...ROM_TuttiIPortafogli2_20170421_EXCL_CF.sql | 83 + ...ortafogli2_20180615_NewMotorePrometeia.sql | 110 + ...o_RP_PROM_TuttiIPortafogli2_Indicatore.sql | 117 + ...icatore_20180711_AZZERARE_CTV_NEGATIVI.sql | 140 + ...ndicatore_20180719_preAzzeramentoCCNeg.sql | 111 + ..._TuttiIPortafogli2_Indicatore_20181018.sql | 142 + ...tafogli2_Indicatore_20181018_SingoloCF.sql | 142 + ...P_PROM_TuttiIPortafogli2_Indicatore_IN.sql | 127 + ...TuttiIPortafogli2_Indicatore_ORIGINALE.sql | 127 + ...RP_PROM_TuttiIPortafogli_pre_selective.sql | 97 + ...tPeriodico_RP_SRV_CHECK_C6_GIORNALIERO.sql | 130 + ...Periodico_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql | 108 + ...C6MartPeriodico_RP_ST_ClientiPtfNonDiv.sql | 118 + .../C6MartPeriodico_RP_TCPTAB.sql | 68 + .../C6MartPeriodico_RP_Tipologia_Campione.sql | 93 + ...C6MartPeriodico_RP_Tipologia_Tabellone.sql | 76 + ...iodico_RP_controlla100_PiramideModello.sql | 105 + .../C6MartPeriodico_SP_DQ_BonificaDati.sql | 95 + ...odico_SP_DQ_BonificaDati_pre_selective.sql | 104 + ...C6MartPeriodico_SP_DQ_CaratteriAnomali.sql | 87 + ...o_SP_DQ_CaratteriAnomali_pre_selective.sql | 80 + ...tPeriodico_SP_DQ_DataAvvioMonitoraggio.sql | 64 + ...DQ_DataAvvioMonitoraggio_pre_selective.sql | 64 + ...riodico_SP_DQ_DataValorizzazioneTRenab.sql | 96 + ...DataValorizzazioneTRenab_pre_selective.sql | 96 + ...MartPeriodico_SP_DQ_DeleteSegnalazioni.sql | 65 + ...SP_DQ_DeleteSegnalazioni_pre_selective.sql | 63 + ...ico_SP_DQ_DescCatalogoProdottiScadenze.sql | 58 + ...CatalogoProdottiScadenze_pre_selective.sql | 58 + ...rtPeriodico_SP_DQ_DescProdottoProventi.sql | 68 + ..._DQ_DescProdottoProventi_pre_selective.sql | 68 + ...tPeriodico_SP_DQ_PiramideAreeDuplicate.sql | 103 + ...DQ_PiramideAreeDuplicate_pre_selective.sql | 103 + .../C6MartPeriodico_SP_DQ_PositionID.sql | 62 + ...rtPeriodico_SP_DQ_PositionIDConsulenza.sql | 61 + ..._DQ_PositionIDConsulenza_pre_selective.sql | 61 + ...riodico_SP_DQ_PositionID_pre_selective.sql | 62 + ...MartPeriodico_SP_DQ_PosizioniDuplicate.sql | 123 + ...tPeriodico_SP_DQ_ProgettoDuplicatoArea.sql | 70 + .../C6MartPeriodico_SP_DQ_ScartiAPI.sql | 67 + ...MartPeriodico_SP_DQ_ScriviDisallineati.sql | 74 + ...SP_DQ_ScriviDisallineati_pre_selective.sql | 74 + ...tPeriodico_SP_DQ_SelezioneDisallineati.sql | 171 + ...lezioneDisallineati_pre_selective_luca.sql | 178 + ...rtPeriodico_SP_DQ_VerificaDisallineati.sql | 84 + ..._DQ_VerificaDisallineati_pre_selective.sql | 84 + .../C6MartPeriodico_SP_DQ_VerificaEmail.sql | 69 + ...Periodico_SP_DQ_VerificaEmail_20161010.sql | 69 + ...dico_SP_DQ_VerificaEmail_pre_selective.sql | 69 + ..._SP_Patrimonio_BF_Percentuale_Piramide.sql | 91 + ...odico_SP_PreTotaliReportGenerazioneZip.sql | 132 + ...PreTotaliReportGenerazioneZip_20181017.sql | 135 + ...eriodico_SP_TROVA_REPORT_DA_RIGENERARE.sql | 34 + ...eriodico_SP_TotaliReportGenerazioneZip.sql | 60 + ...odico_SP_Valorizza_Stati_semaforo_TRIM.sql | 124 + ...ico_SP_statistiche_app_rendicontazione.sql | 94 + ...lineamento_Pianificazione_Monitoraggio.sql | 139 + ...nificazione_Monitoraggio_pre_selective.sql | 143 + ...co_SRV_CALCOLA_BILANCIAMENTO_GENERATOR.sql | 33 + .../C6MartPeriodico_SRV_CHECK_INDIRIZZI.sql | 77 + ...riodico_SRV_ESTRAZIONE_FASE_2_PRE_MART.sql | 67 + ...6MartPeriodico_SRV_LISTA_CLIENTI_FASE2.sql | 55 + ...iodico_SRV_LISTA_DISALLINEAMENTI_MONIT.sql | 161 + ...TA_DISALLINEAMENTI_MONIT_pre_selective.sql | 172 + ...C6MartPeriodico_SRV_NUOVA_ELABORAZIONE.sql | 28 + ...iodico_SRV_NUOVA_ELABORAZIONE_20151009.sql | 31 + ...RV_NUOVA_ELABORAZIONE_bk_test_20151014.sql | 30 + ...o_SRV_NUOVA_ELABORAZIONE_pre_selective.sql | 28 + .../C6MartPeriodico_SRV_QUANTO_MANCA.sql | 9 + ...C6MartPeriodico_SRV_SELEZIONA_CAMPIONE.sql | 112 + ...iodico_SRV_SELEZIONA_CAMPIONE_20160412.sql | 207 + ...iodico_SRV_SELEZIONA_CAMPIONE_20161012.sql | 156 + ...IONA_CAMPIONE_20180711_preExcludedList.sql | 112 + ...ZIONA_CAMPIONE_20190116_PreNewFunction.sql | 111 + ...iodico_SRV_SELEZIONA_CAMPIONE_20230915.sql | 113 + .../C6MartPeriodico_SRV_STORICIZZAZIONE.sql | 67 + ...odico_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql | 63 + ...ICIZZAZIONE_GLOBAL_ERROR_pre_selective.sql | 63 + ...6MartPeriodico_SRV_STORICIZZAZIONE_OLD.sql | 69 + .../C6MartPeriodico_SRV_TABELLE_IN_MART.sql | 109 + ...dico_SRV_TABELLE_IN_MART_pre_selective.sql | 109 + ...6MartPeriodico_SRV_TRUNCATE_RP_STAGING.sql | 62 + ...ico_SRV_Verifica_DISALLINEAMENTI_MONIT.sql | 168 + ...6MartPeriodico_Segnala_Disallineamenti.sql | 51 + ...odico_Segnala_Disallineamenti_20190129.sql | 42 + ...rtPeriodico_Segnala_ProdottiNonCensiti.sql | 118 + ...co_Segnala_ProdottiNonCensiti_20190129.sql | 116 + .../C6MartPeriodico_SetDocumentMissing.sql | 13 + ...rtPeriodico_UPDATE_TABELLE_CAMBIO_RETE.sql | 87 + .../C6MartPeriodico_UpdateStatoReport.sql | 18 + .../C6MartPeriodico_Util_Test_PL.sql | 112 + ...co_Verifica_esecuzione_API_Trimestrale.sql | 27 + ...tPeriodico_inserisci_promotori_fittizi.sql | 23 + ...rtPeriodico_rp_aggiornaDataValidazione.sql | 64 + .../C6MartPeriodico_sp_BlackList_GetAll.sql | 21 + ...eriodico_sp_BlackList_GetBlockedNumber.sql | 27 + ...tPeriodico_sp_BlackList_Ricerca_GetAll.sql | 21 + .../C6MartPeriodico_sp_BlackList_Save_Row.sql | 24 + ...6MartPeriodico_sp_BlackList_Update_Row.sql | 26 + ...6MartPeriodico_sp_GetNumeroZipProdotti.sql | 36 + .../C6MartPeriodico_sp_UpdateIdReportPDF.sql | 25 + .../C6MartPeriodico_sp_caricaBlacklist.sql | 90 + ...iodico_sp_caricaBlacklist_RFAMinus_old.sql | 47 + .../C6MartPeriodico_sp_getDatiReport.sql | 65 + ...ico_sp_getDatiReport_checkFileCorrotti.sql | 69 + ...etDatiReport_checkFileCorrotti_Griffin.sql | 69 + .../C6MartPeriodico_sp_getIDReport.sql | 19 + .../C6MartPeriodico_srv_excel_zip.sql | 12 + ...eriodico_start_ConvertiExcel_tabellone.sql | 22 + ...riodico_start_email_Approval_tabellone.sql | 19 + ...o_start_email_Certificazione_tabellone.sql | 19 + ...mail_ConfermaPostalizzazione_tabellone.sql | 18 + ...o_start_email_CongelamentoDB_tabellone.sql | 18 + ...riodico_start_email_position_tabellone.sql | 17 + ...Periodico_start_esportazione_tabellone.sql | 35 + ..._temp_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql | 89 + ...MartPeriodico_temp_RP_DM_GestioneEmail.sql | 104 + ...MartPeriodico_temp_RP_DM_PATRIMONIO_BF.sql | 136 + .../C6MartPeriodico_test_CaricamentoPL_fc.sql | 36 + .../C6MartPeriodico_zzzPL_S80Alternativa.sql | 135 + .../C6MartPeriodico_zzzRP_DM_EMAIL_PB.sql | 105 + .../C6Mart_AL_AggiornaPortafoglioCliente.sql | 172 + .../C6Mart_CercaCaratteriAnomali.sql | 122 + .../C6Mart_Controlli_RepGiornaliera.sql | 132 + .../C6Mart_DM_AGGIORNA_CLIENTE.sql | 54 + .../C6Mart_DM_ALBERO_PRODOTTI.sql | 63 + .../C6Mart_DM_ALL_PATRIMONIO.sql | 123 + sql/storedCollaudo/C6Mart_DM_ANAG_CC.sql | 95 + .../C6Mart_DM_ANAG_CC_TERZI.sql | 102 + sql/storedCollaudo/C6Mart_DM_ANAG_CLIENTI.sql | 155 + .../C6Mart_DM_ANAG_CLIENTI_PREV.sql | 72 + .../C6Mart_DM_ANAG_CONTRATTI.sql | 93 + .../C6Mart_DM_ANAG_CONTRATTI_ASS.sql | 100 + .../C6Mart_DM_ANAG_EMITTENTI.sql | 36 + .../C6Mart_DM_ANAG_PRODOTTI.sql | 102 + .../C6Mart_DM_ANAG_PRODOTTI_TERZI.sql | 87 + .../C6Mart_DM_ANAG_PROMOTORI.sql | 156 + sql/storedCollaudo/C6Mart_DM_ANAG_SELF.sql | 89 + ...art_DM_ANAG_SELF_20181129_PreMioFoglio.sql | 84 + .../C6Mart_DM_ANAG_SELF_BK_eligoTitoli.sql | 77 + sql/storedCollaudo/C6Mart_DM_AREA_BISOGNO.sql | 68 + sql/storedCollaudo/C6Mart_DM_ASSETCLASS.sql | 65 + .../C6Mart_DM_ASSETCLASS_TERZI.sql | 69 + sql/storedCollaudo/C6Mart_DM_ASSET_PERC.sql | 84 + .../C6Mart_DM_ASSET_PERC_TERZI.sql | 93 + .../C6Mart_DM_CATEGORIE_PRODOTTO.sql | 61 + .../C6Mart_DM_CLIENTI_NON_MIGRATI.sql | 17 + .../C6Mart_DM_CODIFICA_CREDITRISK.sql | 67 + .../C6Mart_DM_CODIFICA_PIRAMIDI.sql | 36 + .../C6Mart_DM_CODIFICA_RISCHIO.sql | 69 + .../C6Mart_DM_CREA_POSITIONID.sql | 90 + sql/storedCollaudo/C6Mart_DM_DATI_REPORT.sql | 59 + .../C6Mart_DM_DETTAGLIO_ASUL.sql | 119 + sql/storedCollaudo/C6Mart_DM_EMAIL_PB.sql | 125 + .../C6Mart_DM_ESITI_CARICAMENTI.sql | 40 + .../C6Mart_DM_GER_PROMOTORI.sql | 42 + .../C6Mart_DM_GestioneEmail.sql | 136 + .../C6Mart_DM_GestioneEmailNA.sql | 153 + .../C6Mart_DM_GestioneEmailNOPRO.sql | 152 + sql/storedCollaudo/C6Mart_DM_MIFID.sql | 145 + .../C6Mart_DM_MIFID_20181004.sql | 123 + .../C6Mart_DM_PARTITE_VIAGGIANTI.sql | 94 + .../C6Mart_DM_PATRIMONIO_AGG.sql | 73 + .../C6Mart_DM_PATRIMONIO_ALTRO.sql | 85 + .../C6Mart_DM_PATRIMONIO_BF.sql | 118 + .../C6Mart_DM_PATRIMONIO_BF_old.sql | 127 + .../C6Mart_DM_PATRIMONIO_EMITTENTI.sql | 127 + .../C6Mart_DM_PATRIMONIO_IMMOBILIARE.sql | 100 + .../C6Mart_DM_PATRIMONIO_TERZI.sql | 114 + sql/storedCollaudo/C6Mart_DM_PIRAMIDE_MOD.sql | 99 + .../C6Mart_DM_PIRAMIDE_VERT.sql | 75 + .../C6Mart_DM_PREVIDENZIALE.sql | 102 + .../C6Mart_DM_PopolaContratti.sql | 119 + .../C6Mart_DM_PopolaContratti_20161026.sql | 121 + .../C6Mart_DM_PopolaContratti_old240213.sql | 117 + .../C6Mart_DM_RISCHIOEMITTENTI.sql | 20 + .../C6Mart_DM_RISCHIO_AGGREGATO.sql | 125 + .../C6Mart_DM_RISCHIO_AGGREGATO_20181003.sql | 108 + .../C6Mart_DM_RISCHIO_AGGREGATO_old.sql | 95 + ...art_DM_RISCHIO_AGGREGATO_pre_selective.sql | 107 + .../C6Mart_DM_RISCHIO_DETTAGLIO.sql | 54 + ...art_DM_RISCHIO_DETTAGLIO_pre_selective.sql | 54 + .../C6Mart_DM_STRUTTURA_RETE.sql | 147 + .../C6Mart_DM_STRUTTURA_RETE_20160427.sql | 156 + .../C6Mart_DM_STRUTTURA_RETE_20161024.sql | 157 + sql/storedCollaudo/C6Mart_DM_TEST_QUALITY.sql | 97 + .../C6Mart_DM_TEST_QUALITY_20181003.sql | 91 + .../C6Mart_DM_VAR_ADEGUATEZZA.sql | 54 + ...fica_Concentrazione_Prodotti_Complessi.sql | 126 + .../C6Mart_GESTIONE_C6_S_Generator.sql | 65 + .../C6Mart_GESTIONE_C6_S_Generator_AND.sql | 110 + .../C6Mart_GESTIONE_C6_S_Generator_EN.sql | 109 + .../C6Mart_GESTIONE_C6_S_Generator_OLD.sql | 112 + ...6Mart_GESTIONE_C6_S_QueryDatiComuniSql.sql | 28 + .../C6Mart_GESTIONE_C6_S_Vincoli.sql | 38 + ...6Mart_GESTIONE_CRUSCOTTO_ARCHIVIAZIONE.sql | 45 + .../C6Mart_GESTIONE_INSERT_PDF_FTP.sql | 74 + ...6Mart_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql | 49 + .../C6Mart_GESTIONE_INSERT_PDF_FTP_TEST.sql | 80 + .../C6Mart_GESTIONE_INSERT_ZIP.sql | 62 + ...t_GESTIONE_SELECT_EMAIL_DA_INVIARE.old.sql | 108 + ...6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql | 107 + ...ESTIONE_SELECT_EMAIL_DA_INVIARE.test_e.sql | 100 + ...TIONE_SELECT_EMAIL_DA_INVIARE_20190802.sql | 100 + ...rt_GESTIONE_SELECT_EMAIL_DA_INVIARE_CU.sql | 105 + ...t_GESTIONE_SELECT_EMAIL_DA_INVIARE_new.sql | 100 + .../C6Mart_GESTIONE_SELECT_FTP_DA_INVIARE.sql | 42 + .../C6Mart_GESTIONE_SELECT_FTP_INVIATI.sql | 64 + ...t_GESTIONE_SELECT_FTP_INVIATI_TEST_NEW.sql | 64 + .../C6Mart_GESTIONE_SELECT_HOST.sql | 36 + ...6Mart_GESTIONE_SELECT_HOST_GIORNALIERO.sql | 50 + ...art_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql | 127 + ...NE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql | 128 + ...GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql | 27 + ...art_GESTIONE_SELECT_PDF_GETDATATHREADS.sql | 93 + ...IONE_SELECT_PDF_GETDATATHREADS_Adriano.sql | 97 + ...ONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql | 86 + ...NE_SELECT_PDF_GETDATATHREADS_Cruscotto.sql | 103 + ...ESTIONE_SELECT_PDF_GETDATATHREADS_Luca.sql | 105 + ..._GESTIONE_SELECT_PDF_GETDATATHREADS_NA.sql | 83 + ...NE_SELECT_PDF_GETDATATHREADS_NA_A.TEMP.sql | 85 + ...ESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.sql | 83 + ...ETDATATHREADS_NA_A_20180309_PreServizi.sql | 85 + ...T_PDF_GETDATATHREADS_NA_A_20180928_OLD.sql | 86 + ...ELECT_PDF_GETDATATHREADS_NA_A_20240412.sql | 91 + ...ONE_SELECT_PDF_GETDATATHREADS_NA_A_ESG.sql | 87 + ...NE_SELECT_PDF_GETDATATHREADS_NA_A_Pino.sql | 86 + ...NE_SELECT_PDF_GETDATATHREADS_NA_A_TEST.sql | 99 + ...LECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P.sql | 85 + ...E_SELECT_PDF_GETDATATHREADS_NA_A_Test2.sql | 87 + ...LECT_PDF_GETDATATHREADS_NA_TEST_ANDREA.sql | 83 + ...IONE_SELECT_PDF_GETDATATHREADS_NA_orig.sql | 86 + .../C6Mart_GESTIONE_SELECT_ZIP_DA_INVIARE.sql | 34 + .../C6Mart_GESTIONE_S_Intermediari.sql | 32 + .../C6Mart_GESTIONE_UPDATE_EMAIL_HOST.sql | 17 + .../C6Mart_GESTIONE_UPDATE_EMAIL_INVIATE.sql | 46 + .../C6Mart_GESTIONE_UPDATE_FTP.sql | 43 + .../C6Mart_GESTIONE_UPDATE_ZIP.sql | 21 + sql/storedCollaudo/C6Mart_GetRiskArea.sql | 34 + ...nvioLetteraBenvenuto_ExcludedListApply.sql | 49 + .../C6Mart_PL_D2_FD150Anagrafica.sql | 119 + ...6Mart_PL_D2_FD159PatrimonioFinanziario.sql | 134 + .../C6Mart_PL_D2_FD160DettaglioProdottiBF.sql | 102 + ...art_PL_D2_FD170RischioDiversificazione.sql | 142 + .../C6Mart_PL_D2_S150Anagrafica.sql | 118 + .../C6Mart_PL_D2_S151ProfiloDiRischio.sql | 62 + .../C6Mart_PL_D2_S152Patrimonio.sql | 130 + ...PL_D2_S152Patrimonio_20190107_ProQuota.sql | 128 + .../C6Mart_PL_D2_S152Patrimonio_20190111.sql | 118 + ...C6Mart_PL_D2_S153PatrimonioFinanziario.sql | 164 + ...C6Mart_PL_D2_S154PatrimonioFinanziario.sql | 164 + ...C6Mart_PL_D2_S155PatrimonioImmobiliare.sql | 57 + ...atrimonioImmobiliare_20190107_ProQuota.sql | 40 + ..._D2_S155PatrimonioImmobiliare_20190111.sql | 31 + .../C6Mart_PL_D2_S156ALtroPatrimonio.sql | 33 + .../C6Mart_PL_D2_S157ConfrontoPiramidi.sql | 130 + ...2_S157ConfrontoPiramidi_BK_eligoTitoli.sql | 128 + .../C6Mart_PL_D2_S158PiramideModello.sql | 65 + ...C6Mart_PL_D2_S159PatrimonioFinanziario.sql | 133 + .../C6Mart_PL_D2_S160DettaglioProdottiBF.sql | 93 + ...S160DettaglioProdottiBF_BK_eligoTitoli.sql | 98 + .../C6Mart_PL_D2_S162DettaglioProdotti.sql | 100 + ...2_S163PatrimonioFinanziarioMAssetClass.sql | 79 + ...nioFinanziarioMAssetClass_NEW_20160908.sql | 68 + .../C6Mart_PL_D2_S164PolizzeAltriIstituti.sql | 44 + .../C6Mart_PL_D2_S165FondiAltriIstituti.sql | 75 + .../C6Mart_PL_D2_S166ContoCorrenteAI.sql | 38 + ..._PL_D2_S167DistribuzioneRischioCredito.sql | 117 + .../C6Mart_PL_D2_S168TabellaEmittenti.sql | 147 + ...PL_D2_S169RischiomercatoRischiocredito.sql | 135 + ...Mart_PL_D2_S170RischioDiversificazione.sql | 143 + ...atrimonioNonRappresentabileAssettClass.sql | 134 + .../C6Mart_PL_D3_FD151ProfiloDiRischio.sql | 88 + .../C6Mart_PL_D3_S151ProfiloDiRischio.sql | 92 + ...PL_D_FD177ProfiloDiRischio_Adeguatezza.sql | 88 + ...t_PL_D_FD178IndicatoriEsitoAdeguatezza.sql | 115 + .../C6Mart_PL_D_S150Anagrafica.sql | 115 + .../C6Mart_PL_D_S151ProfiloDiRischio.sql | 60 + .../C6Mart_PL_D_S152Patrimonio.sql | 115 + .../C6Mart_PL_D_S153PatrimonioFinanziario.sql | 165 + .../C6Mart_PL_D_S154PatrimonioFinanziario.sql | 164 + .../C6Mart_PL_D_S155PatrimonioImmobiliare.sql | 28 + .../C6Mart_PL_D_S156ALtroPatrimonio.sql | 31 + .../C6Mart_PL_D_S157ConfrontoPiramidi.sql | 121 + .../C6Mart_PL_D_S158PiramideModello.sql | 64 + .../C6Mart_PL_D_S159PatrimonioFinanziario.sql | 142 + .../C6Mart_PL_D_S160DettaglioProdottiBF.sql | 91 + .../C6Mart_PL_D_S162DettaglioProdotti.sql | 99 + ...D_S163PatrimonioFinanziarioMAssetClass.sql | 78 + .../C6Mart_PL_D_S164PolizzeAltriIstituti.sql | 43 + .../C6Mart_PL_D_S165FondiAltriIstituti.sql | 73 + .../C6Mart_PL_D_S166ContoCorrenteAI.sql | 36 + ...t_PL_D_S167DistribuzioneRischioCredito.sql | 122 + .../C6Mart_PL_D_S168TabellaEmittenti.sql | 146 + ..._PL_D_S169RischiomercatoRischiocredito.sql | 134 + ...6Mart_PL_D_S170RischioDiversificazione.sql | 117 + ...atrimonioNonRappresentabileAssettClass.sql | 127 + ..._PL_D_S177ProfiloDiRischio_Adeguatezza.sql | 93 + .../C6Mart_PL_D_S178CasiParticolari.sql | 127 + ...Mart_PL_D_S178CasiParticolari_20181220.sql | 83 + ...rt_PL_D_S178IndicatoriEsitoAdeguatezza.sql | 115 + ...t_PL_D_S179EmittentiConcentrazioneAlta.sql | 31 + ...6Mart_PL_D_S180ProdottiComplessitaAlta.sql | 119 + .../C6Mart_PL_FD181PreferenzeESG.sql | 60 + ...C6Mart_PL_FD182BISDettaglioProdottiESG.sql | 103 + .../C6Mart_PL_FD182DettaglioProdottiESG.sql | 101 + .../C6Mart_PL_FD185UCaratteristicheESG.sql | 116 + .../C6Mart_PL_FD187SfdrTaxESG.sql | 87 + sql/storedCollaudo/C6Mart_PL_FD188PaiESG.sql | 85 + ..._GetClientNegativeCurrentAccountsValue.sql | 37 + ...PL_GetClientSelfNegCurrentAccountValue.sql | 36 + .../C6Mart_PL_GetClientSelfNegative.sql | 40 + sql/storedCollaudo/C6Mart_PL_Intermediari.sql | 32 + ...6Mart_PL_MP_FD133BISPrincipaliProdotti.sql | 71 + .../C6Mart_PL_MP_FD147SintesiValute.sql | 72 + ...art_PL_MP_FD148DistribuzioneAssetClass.sql | 27 + ...art_PL_S102DistribuzioneRischioCredito.sql | 122 + ...PL_S102DistribuzioneRischioCredito_OLD.sql | 114 + ...L_S102DistribuzioneRischioCredito_OLD2.sql | 135 + .../C6Mart_PL_S103TabellaEmittenti.sql | 133 + .../C6Mart_PL_S10PatrimonioFinanziario.sql | 134 + .../C6Mart_PL_S170LimitiMassimi.sql | 65 + .../C6Mart_PL_S181PreferenzeESG.sql | 65 + .../C6Mart_PL_S182BISDettaglioProdottiESG.sql | 104 + .../C6Mart_PL_S182DettaglioProdottiESG.sql | 104 + sql/storedCollaudo/C6Mart_PL_S183iCapital.sql | 120 + .../C6Mart_PL_S184CoerenzaESG.sql | 40 + .../C6Mart_PL_S185UCaratteristicheESG.sql | 130 + .../C6Mart_PL_S186DettaglioPortafoglioSei.sql | 102 + .../C6Mart_PL_S187SfdrTaxESG.sql | 131 + sql/storedCollaudo/C6Mart_PL_S188PaiESG.sql | 116 + ...art_PL_S18PatrimonioFinanziarioRischio.sql | 98 + sql/storedCollaudo/C6Mart_PL_S1Patrimonio.sql | 116 + .../C6Mart_PL_S23DettaglioRischio.sql | 82 + .../C6Mart_PL_S25Anagrafica.sql | 96 + .../C6Mart_PL_S26PatrimonioImmobiliare.sql | 33 + .../C6Mart_PL_S27ALtroPatrimonio.sql | 28 + .../C6Mart_PL_S2PatrimonioFinanziario.sql | 135 + ..._S31PatrimonioFinanziarioIntermediario.sql | 33 + ...PL_S32PatrimonioFinanziarioMAssetClass.sql | 77 + .../C6Mart_PL_S36ProfiloRischio.sql | 36 + .../C6Mart_PL_S37PiramideModello.sql | 55 + .../C6Mart_PL_S42RischioDiversificazione.sql | 96 + .../C6Mart_PL_S43ContoCorrenteBF.sql | 38 + .../C6Mart_PL_S43DettaglioProdottiBF.sql | 96 + ..._S43DettaglioProdottiBF_BK_eligoTitoli.sql | 98 + .../C6Mart_PL_S43LineaSelfBF.sql | 37 + ...L_S43LineaSelfBF_20181214_PreMioFoglio.sql | 35 + .../C6Mart_PL_S47ContoCorrenteBF.sql | 41 + .../C6Mart_PL_S48DettaglioProdotti.sql | 97 + .../C6Mart_PL_S49PolizzeAltriIstituti.sql | 72 + .../C6Mart_PL_S50FondiAltriIstituti.sql | 73 + .../C6Mart_PL_S51ContoCorrenteAI.sql | 36 + .../C6Mart_PL_S56PatrimonioBFAreeBisogno.sql | 72 + .../C6Mart_PL_S57ConfrontoPiramidi.sql | 127 + .../C6Mart_PL_S6PatrimonioFinanziario.sql | 172 + .../C6Mart_PL_S75GradoCopertura.sql | 117 + ...atrimonioNonRappresentabileAssettClass.sql | 129 + .../C6Mart_PL_S95ProfiloDiRischio.sql | 61 + ...art_PL_S96RischiomercatoRischiocredito.sql | 134 + ...PL_S96RischiomercatoRischiocredito_old.sql | 139 + sql/storedCollaudo/C6Mart_PL_SavingMap.sql | 34 + .../C6Mart_PROM_TuttiIPortafogli.sql | 99 + .../C6Mart_PROM_TuttiIPortafogli_old.sql | 74 + .../C6Mart_Popola_S133_S157DatiPiramide.sql | 44 + ...art_Popola_S148DistribuzioneAssetClass.sql | 110 + .../C6Mart_Popolamento_RP_W6DAILY.sql | 126 + sql/storedCollaudo/C6Mart_PreCheckIDX.sql | 74 + .../C6Mart_RM_Sintesi_Cliente.sql | 38 + .../C6Mart_RP_AggiornaFlagContratto.sql | 140 + ...Mart_RP_AggiornaFlagContratto_20161026.sql | 147 + sql/storedCollaudo/C6Mart_RP_DM_ANAG_CC.sql | 104 + .../C6Mart_RP_DM_ANAG_CC_20170421.sql | 102 + .../C6Mart_RP_DM_ANAG_CC_TERZI.sql | 126 + .../C6Mart_RP_DM_ANAG_CLIENTI.sql | 166 + .../C6Mart_RP_DM_ANAG_PRODOTTI.sql | 99 + .../C6Mart_RP_DM_ANAG_PRODOTTI_TERZI.sql | 95 + .../C6Mart_RP_DM_ANAG_PRODOTTI_VALUTE.sql | 73 + .../C6Mart_RP_DM_ANAG_PROMOTORI.sql | 123 + .../C6Mart_RP_DM_ASSETCLASS.sql | 84 + .../C6Mart_RP_DM_ASSETCLASS_TERZI.sql | 86 + .../C6Mart_RP_DM_ASSET_PERC.sql | 110 + .../C6Mart_RP_DM_ASSET_PERC_TERZI.sql | 124 + .../C6Mart_RP_DM_BrsClienteESG.sql | 102 + .../C6Mart_RP_DM_CHECK_RFA_MINUS.sql | 99 + .../C6Mart_RP_DM_CHECK_RFA_MINUS_20240412.sql | 99 + ...RP_DM_CHECK_RFA_MINUS_preRafforzamento.sql | 99 + .../C6Mart_RP_DM_CheckEmail.sql | 85 + .../C6Mart_RP_DM_Check_GestioneEmailNOPRO.sql | 45 + .../C6Mart_RP_DM_DETTAGLIO_ASUL.sql | 119 + sql/storedCollaudo/C6Mart_RP_DM_EMAIL_PB.sql | 108 + .../C6Mart_RP_DM_ESG_ANAG_METRICHE.sql | 113 + .../C6Mart_RP_DM_GestioneEmail.sql | 105 + .../C6Mart_RP_DM_GestioneEmailNA.sql | 122 + .../C6Mart_RP_DM_GestioneEmailNA_20181003.sql | 120 + .../C6Mart_RP_DM_GestioneEmailNA_Fc.sql | 122 + .../C6Mart_RP_DM_GestioneEmailNOPRO.sql | 137 + .../C6Mart_RP_DM_GestioneEmailSessione.sql | 83 + .../C6Mart_RP_DM_GestioneEmail_20161028.sql | 111 + .../C6Mart_RP_DM_PATRIMONIO_ALTRO.sql | 148 + ...C6Mart_RP_DM_PATRIMONIO_ALTRO_20150825.sql | 147 + ...C6Mart_RP_DM_PATRIMONIO_ALTRO_20160615.sql | 164 + .../C6Mart_RP_DM_PATRIMONIO_BF.sql | 145 + .../C6Mart_RP_DM_PATRIMONIO_BF_20180201.sql | 144 + .../C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE.sql | 115 + ...TRIMONIO_IMMOBILIARE_20190107_ProQuota.sql | 121 + ..._RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql | 129 + .../C6Mart_RP_DM_PATRIMONIO_TERZI.sql | 134 + ...C6Mart_RP_DM_PATRIMONIO_TERZI_20180219.sql | 122 + .../C6Mart_RP_DM_PATRIMONIO_TERZI_Param.sql | 121 + .../C6Mart_RP_DM_PATRIMONIO_TERZI_luca.sql | 130 + .../C6Mart_RP_DM_PIRAMIDE_MOD.sql | 115 + .../C6Mart_RP_DM_POPOLACONTRATTI.sql | 128 + .../C6Mart_RP_DM_POPOLACONTRATTI_2011026.sql | 129 + .../C6Mart_RP_DM_POPOLACONTRATTI_20160315.sql | 126 + ...ATTI_201700302_ripristino_del_20170127.sql | 111 + .../C6Mart_RP_DM_POPOLACONTRATTI_20170127.sql | 112 + .../C6Mart_RP_DM_POPOLACONTRATTI_20170322.sql | 112 + .../C6Mart_RP_DM_POPOLACONTRATTI_20170524.sql | 117 + ...t_RP_DM_POPOLACONTRATTI_20170607_mifid.sql | 119 + .../C6Mart_RP_DM_POPOLACONTRATTI_20170613.sql | 126 + ...OPOLACONTRATTI_20170727_VarAdeguatezza.sql | 128 + .../C6Mart_RP_DM_POPOLACONTRATTI_20171113.sql | 130 + .../C6Mart_RP_DM_POPOLACONTRATTI_20171205.sql | 116 + .../C6Mart_RP_DM_POPOLACONTRATTI_20171222.sql | 117 + .../C6Mart_RP_DM_POPOLACONTRATTI_20180102.sql | 119 + .../C6Mart_RP_DM_POPOLACONTRATTI_20180103.sql | 121 + .../C6Mart_RP_DM_POPOLACONTRATTI_20180104.sql | 122 + .../C6Mart_RP_DM_POPOLACONTRATTI_20181003.sql | 112 + .../C6Mart_RP_DM_POPOLACONTRATTI_20181127.sql | 113 + sql/storedCollaudo/C6Mart_RP_DM_W6CLIESG.sql | 174 + sql/storedCollaudo/C6Mart_RP_DM_W6CatESG.sql | 149 + sql/storedCollaudo/C6Mart_RP_DM_WSEICAP.sql | 89 + ..._RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql | 109 + .../C6Mart_RP_PROM_TuttiIPortafogli.sql | 103 + ...t_RP_PROM_TuttiIPortafogli2_Indicatore.sql | 124 + ...Portafogli_20180612_NewMotorePrometeia.sql | 73 + ...Portafogli_20180612_PreMotorePrometeia.sql | 102 + .../C6Mart_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql | 103 + .../C6Mart_RP_Selettore_GetDataThreads.sql | 18 + .../C6Mart_SRV_CHECK_C6_GIORNALIERO.sql | 102 + ...Mart_SRV_CHECK_C6_GIORNALIERO_20161026.sql | 104 + ...rt_SRV_CHECK_C6_GIORNALIERO_20161026_2.sql | 105 + .../C6Mart_SRV_CHECK_C6_GIORNALIERO_AND.sql | 122 + .../C6Mart_SRV_ESTRAZ_GIORNALIERA_CC.sql | 103 + .../C6Mart_SRV_SELECT_EMAIL_BY_ISODATE.sql | 36 + .../C6Mart_SRV_STORICIZZAZIONE.sql | 87 + ...6Mart_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql | 93 + .../C6Mart_SRV_STORICIZZAZIONE_OLD.sql | 81 + sql/storedCollaudo/C6Mart_SRV_SVUOTAMART.sql | 75 + .../C6Mart_SRV_TABELLE_IN_MART.sql | 49 + .../C6Mart_SRV_TRUNCATE_STAGING.sql | 62 + .../C6Mart_TabellaCaratteriAnomali.sql | 47 + sql/storedCollaudo/C6Mart_UT_INSERT_ERROR.sql | 42 + sql/storedCollaudo/C6Mart_Util_Test_PL.sql | 111 + .../C6Mart_Verifica_Lancio_Giornaliero.sql | 45 + .../C6Mart_aggiornaDataValidazione.sql | 27 + .../C6Mart_getCodiceContratto.sql | 49 + .../C6Mart_rp_aggiornaDataValidazione.sql | 128 + ...rt_rp_aggiornaDataValidazione_20160405.sql | 111 + .../C6Mart_sp_getDatiReport.sql | 43 + .../C6Mart_temp_RP_DM_GestioneEmail.sql | 110 + .../C6Mart_zzzPL_D2_S150Anagrafica.sql | 116 + .../C6Mart_zzzPL_D2_S168TabellaEmittenti.sql | 146 + .../C6Mart_zzzPL_D_S157ConfrontoPiramidi.sql | 121 + ...rt_zzzPL_D_S170RischioDiversificazione.sql | 104 + .../C6Mart_zzzQUALITY_CARATTERIVCONTRATTI.sql | 131 + .../C6Mart_zzzRP_DM_GestioneEmailNA.sql | 132 + ...C6Mart_zzzSRV_CHECK_C6_GIORNALIERO_AND.sql | 122 + .../C6Mart_zzzzPL_D_S157ConfrontoPiramidi.sql | 126 + ...C6Mart_zzzzRP_SRV_CHECK_C6_GIORNALIERO.sql | 132 + ...odicoImmobiliare_Popola_APPO_CONTRATTI.sql | 24 + ...obiliare_RP_CREA_POSITIONID_CONSULENZA.sql | 113 + ...M_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql | 62 + ...eriodicoImmobiliare_RP_ST_AnAlberatura.sql | 57 + ...PeriodicoImmobiliare_RP_ST_AnEmittente.sql | 55 + ...gPeriodicoImmobiliare_RP_ST_AssetClass.sql | 55 + ...Immobiliare_RP_ST_BonificaClientiDoppi.sql | 132 + ...gPeriodicoImmobiliare_RP_ST_CONSULENZA.sql | 122 + ...odicoImmobiliare_RP_ST_CREA_POSITIONID.sql | 116 + ...dicoImmobiliare_RP_ST_CatalogoProdotti.sql | 147 + ...coImmobiliare_RP_ST_ChiaviMonitoraggio.sql | 59 + ...icoImmobiliare_RP_ST_DettAltriProdotti.sql | 72 + ...odicoImmobiliare_RP_ST_DettImmobiliare.sql | 84 + ...icoImmobiliare_RP_ST_DettPatrAziendale.sql | 75 + ...icoImmobiliare_RP_ST_DettProdottiTerzi.sql | 88 + ...re_RP_ST_DettaglioPosizionePortafoglio.sql | 75 + ...PeriodicoImmobiliare_RP_ST_InfoCliente.sql | 104 + ...ngPeriodicoImmobiliare_RP_ST_Mappatura.sql | 51 + ...PeriodicoImmobiliare_RP_ST_MappaturaPT.sql | 49 + ...mmobiliare_RP_ST_Migraz_Pianificazione.sql | 124 + ...dicoImmobiliare_RP_ST_Migraz_Posizioni.sql | 94 + ...odicoImmobiliare_RP_ST_Migraz_Progetto.sql | 94 + ...ingPeriodicoImmobiliare_RP_ST_NeedArea.sql | 52 + ...odicoImmobiliare_RP_ST_PROGETTICLIENTE.sql | 106 + ...odicoImmobiliare_RP_ST_PatrimonioTerzi.sql | 68 + ...iodicoImmobiliare_RP_ST_Pianificazione.sql | 134 + ...Immobiliare_RP_ST_PosizioniPortafoglio.sql | 64 + ...obiliare_RP_ST_ProgettiPiramideModello.sql | 118 + ...ingPeriodicoImmobiliare_RP_ST_Progetto.sql | 131 + ...biliare_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql | 51 + ...iliare_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql | 49 + ...icoImmobiliare_RP_ST_SPB_CONTR_SINTESI.sql | 139 + ...PB_CONTR_SINTESI_20190204_preMioFoglio.sql | 133 + ...odico_AGGIORNA_DATAFINEVALIDITAPROFILO.sql | 26 + .../C6StagingPeriodico_AGGIORNA_TANAB_CTV.sql | 30 + ...gPeriodico_AGGIORNA_WSEIAN_FLAGPERPROF.sql | 22 + ...iodico_AggiornaContrattiPretrimestrale.sql | 86 + .../C6StagingPeriodico_CheckDisallineati.sql | 61 + ...iodico_ClienteProdottiAssicurativiVita.sql | 42 + ...ClienteProdottiAssicurativiVita_Totali.sql | 27 + .../C6StagingPeriodico_ClienteProdottiFAI.sql | 55 + ...ingPeriodico_ClienteProdottiFAI_Totali.sql | 33 + ...StagingPeriodico_CopiaTabelleDiReplica.sql | 96 + ...riodico_CopiaTabelleDiReplica_20190129.sql | 91 + ...gPeriodico_EstrazioneProfiliInScadenza.sql | 79 + ...opolaW6TRCLIdavListaClientiTrimestrale.sql | 35 + ...RCLIdavListaClientiTrimestrale_anag_pb.sql | 36 + ...dico_Popola_Prodotti_Fuori_Adeguatezza.sql | 86 + ...ingPeriodico_REPTRIM_QD_VAR_RISK_WEEK2.sql | 50 + .../C6StagingPeriodico_REPTRIM_TANAB.sql | 97 + .../C6StagingPeriodico_REPTRIM_TCPTAB.sql | 159 + .../C6StagingPeriodico_REPTRIM_TRENAB.sql | 112 + .../C6StagingPeriodico_REPTRIM_TSCABP.sql | 98 + .../C6StagingPeriodico_REPTRIM_W6APAG.sql | 44 + .../C6StagingPeriodico_REPTRIM_W6APUT.sql | 58 + .../C6StagingPeriodico_REPTRIM_W6CLIESG.sql | 109 + .../C6StagingPeriodico_REPTRIM_W6CLIREP_B.sql | 135 + .../C6StagingPeriodico_REPTRIM_WANVIPS.sql | 50 + .../C6StagingPeriodico_REPTRIM_WSEIAD2.sql | 50 + .../C6StagingPeriodico_REPTRIM_WSEIAN2.sql | 118 + .../C6StagingPeriodico_REPTRIM_WSEIBO.sql | 61 + .../C6StagingPeriodico_REPTRIM_WSEICAP.sql | 62 + .../C6StagingPeriodico_REPTRIM_WSEICC.sql | 44 + .../C6StagingPeriodico_REPTRIM_WSEICE2.sql | 56 + .../C6StagingPeriodico_REPTRIM_WSEICS.sql | 105 + .../C6StagingPeriodico_REPTRIM_WSEIDC.sql | 98 + .../C6StagingPeriodico_REPTRIM_WSEIFP.sql | 67 + .../C6StagingPeriodico_REPTRIM_WSEIGP.sql | 80 + .../C6StagingPeriodico_REPTRIM_WSEILP.sql | 58 + ...tagingPeriodico_REPTRIM_WSEIMM_POS_SQL.sql | 53 + ...tagingPeriodico_REPTRIM_WSEIMM_SQL_POS.sql | 53 + .../C6StagingPeriodico_REPTRIM_WSEIPR.sql | 61 + .../C6StagingPeriodico_REPTRIM_WSEIPS.sql | 92 + .../C6StagingPeriodico_REPTRIM_WSEIPV.sql | 58 + .../C6StagingPeriodico_REPTRIM_WSEIRP.sql | 39 + .../C6StagingPeriodico_REPTRIM_WSEIRPF.sql | 47 + .../C6StagingPeriodico_REPTRIM_WSEISC.sql | 53 + .../C6StagingPeriodico_REPTRIM_WSEIUL.sql | 82 + ...Periodico_RP_AGGIORNA_SPB_PROF_RISCHIO.sql | 24 + ...eriodico_RP_CREA_POSITIONID_CONSULENZA.sql | 108 + ...RP_CREA_POSITIONID_CONSULENZA_20161213.sql | 125 + ...POSITIONID_CONSULENZA_20171204_preRFMP.sql | 125 + ...RP_CREA_POSITIONID_CONSULENZA_20190725.sql | 108 + ...EA_POSITIONID_CONSULENZA_pre_selective.sql | 133 + ...riodico_RP_EstrazioneProfiliInScadenza.sql | 118 + ...P_EstrazioneProfiliInScadenza_20161221.sql | 112 + ...P_EstrazioneProfiliInScadenza_20180720.sql | 115 + ...ico_RP_EstrazioneProfiliInScadenza_new.sql | 109 + ...razioneProfiliInScadenza_pre_selective.sql | 112 + ...RP_POPOLAMENTO_WSMOV_CONTRATTO_SCARICO.sql | 41 + ...M_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql | 61 + ...A_INDICATORE_DIVERSIFICAZIONE_20180710.sql | 63 + ...INDICATORE_DIVERSIFICAZIONE_preAladdin.sql | 65 + ...o_RP_ST_APPO_CONTRATTI.20171120_New_en.sql | 143 + ...6StagingPeriodico_RP_ST_APPO_CONTRATTI.sql | 146 + ...eriodico_RP_ST_APPO_CONTRATTI_20160902.sql | 151 + ...eriodico_RP_ST_APPO_CONTRATTI_20161205.sql | 151 + ...eriodico_RP_ST_APPO_CONTRATTI_20171120.sql | 145 + ...odico_RP_ST_APPO_CONTRATTI_BKP20141204.sql | 146 + ...ingPeriodico_RP_ST_APPO_CONTRATTI_LUCA.sql | 158 + ...gingPeriodico_RP_ST_APPO_CONTRATTI_OLD.sql | 156 + ...ingPeriodico_RP_ST_APPO_CONTRATTI_TEMP.sql | 156 + .../C6StagingPeriodico_RP_ST_AnAlberatura.sql | 55 + ...odico_RP_ST_AnAlberatura_pre_selective.sql | 53 + .../C6StagingPeriodico_RP_ST_AnEmittente.sql | 51 + ...gPeriodico_RP_ST_AnEmittente_originale.sql | 44 + ...iodico_RP_ST_AnEmittente_pre_selective.sql | 49 + .../C6StagingPeriodico_RP_ST_Area.sql | 84 + ...C6StagingPeriodico_RP_ST_Area_20170118.sql | 68 + ...agingPeriodico_RP_ST_Area_20170320.OBS.sql | 67 + ...gingPeriodico_RP_ST_Area_pre_selective.sql | 67 + .../C6StagingPeriodico_RP_ST_AssetClass.sql | 51 + ...ingPeriodico_RP_ST_AssetClass_20161221.sql | 46 + ...riodico_RP_ST_AssetClass_pre_selective.sql | 49 + ...ngPeriodico_RP_ST_BonificaClientiDoppi.sql | 132 + .../C6StagingPeriodico_RP_ST_CATINAREA.sql | 46 + ...gingPeriodico_RP_ST_CATINAREA_20161222.sql | 44 + ...eriodico_RP_ST_CATINAREA_pre_selective.sql | 44 + .../C6StagingPeriodico_RP_ST_CONSULENZA.sql | 128 + ...riodico_RP_ST_CONSULENZA_pre_selective.sql | 132 + ...eriodico_RP_ST_CONTRATTIPRETRIMESTRALE.sql | 98 + ...T_CONTRATTIPRETRIMESTRALEFINETRIMESTRE.sql | 84 + ...StagingPeriodico_RP_ST_CREA_POSITIONID.sql | 115 + ...riodico_RP_ST_CREA_POSITIONID_20161213.sql | 136 + ...RP_ST_CREA_POSITIONID_20171204_preRFMP.sql | 121 + ...riodico_RP_ST_CREA_POSITIONID_20190725.sql | 120 + ...o_RP_ST_CREA_POSITIONID_BK_eligoTitoli.sql | 151 + ...co_RP_ST_CREA_POSITIONID_pre_selective.sql | 133 + .../C6StagingPeriodico_RP_ST_CatDivPtf.sql | 152 + ...tagingPeriodico_RP_ST_CatalogoProdotti.sql | 160 + ...iodico_RP_ST_CatalogoProdotti_20160505.sql | 146 + ...ico_RP_ST_CatalogoProdotti_20160506_LM.sql | 147 + ...iodico_RP_ST_CatalogoProdotti_20170120.sql | 146 + ...o_RP_ST_CatalogoProdotti_20170616_Vis1.sql | 148 + ...iodico_RP_ST_CatalogoProdotti_20170720.sql | 150 + ...iodico_RP_ST_CatalogoProdotti_20170925.sql | 151 + ...iodico_RP_ST_CatalogoProdotti_20171026.sql | 152 + ...iodico_RP_ST_CatalogoProdotti_20180117.sql | 153 + ...o_RP_ST_CatalogoProdotti_pre_selective.sql | 144 + ...gingPeriodico_RP_ST_ChiaviMonitoraggio.sql | 55 + ...RP_ST_ChiaviMonitoraggio_pre_selective.sql | 53 + .../C6StagingPeriodico_RP_ST_Cliente.sql | 86 + .../C6StagingPeriodico_RP_ST_ClientePB.sql | 62 + ...eriodico_RP_ST_ClientePB_pre_selective.sql | 60 + ...gPeriodico_RP_ST_Cliente_pre_selective.sql | 84 + .../C6StagingPeriodico_RP_ST_Cono.sql | 75 + ...C6StagingPeriodico_RP_ST_Cono_20170118.sql | 59 + ...agingPeriodico_RP_ST_Cono_20170320_OBS.sql | 58 + ...gingPeriodico_RP_ST_Cono_pre_selective.sql | 58 + ...agingPeriodico_RP_ST_DettAltriProdotti.sql | 68 + ..._RP_ST_DettAltriProdotti_pre_selective.sql | 66 + ...StagingPeriodico_RP_ST_DettImmobiliare.sql | 80 + ...P_ST_DettImmobiliare_20190205_ProQuota.sql | 79 + ...co_RP_ST_DettImmobiliare_pre_selective.sql | 78 + ...agingPeriodico_RP_ST_DettPatrAziendale.sql | 71 + ..._RP_ST_DettPatrAziendale_pre_selective.sql | 69 + ...agingPeriodico_RP_ST_DettProdottiTerzi.sql | 84 + ..._RP_ST_DettProdottiTerzi_pre_selective.sql | 82 + ...ingPeriodico_RP_ST_DettaglioOperazione.sql | 48 + ...P_ST_DettaglioOperazione_pre_selective.sql | 46 + ...co_RP_ST_DettaglioPosizionePortafoglio.sql | 71 + ...glioPosizionePortafoglio_pre_selective.sql | 69 + ...ribuzionePtfModello_Tattici_AssetClass.sql | 71 + ...ionePtfModello_Tattici_MacroAssetClass.sql | 77 + ...6StagingPeriodico_RP_ST_GradoParentela.sql | 46 + ...ico_RP_ST_GradoParentela_pre_selective.sql | 44 + .../C6StagingPeriodico_RP_ST_InfoCliente.sql | 105 + ...ngPeriodico_RP_ST_InfoCliente_20160428.sql | 82 + ...ngPeriodico_RP_ST_InfoCliente_20170915.sql | 85 + ...ngPeriodico_RP_ST_InfoCliente_20171031.sql | 101 + ...iodico_RP_ST_InfoCliente_pre_selective.sql | 81 + .../C6StagingPeriodico_RP_ST_Mappatura.sql | 47 + .../C6StagingPeriodico_RP_ST_MappaturaPT.sql | 45 + ...iodico_RP_ST_MappaturaPT_pre_selective.sql | 43 + ...eriodico_RP_ST_Mappatura_pre_selective.sql | 45 + .../C6StagingPeriodico_RP_ST_Migraz_Area.sql | 85 + ...ngPeriodico_RP_ST_Migraz_Area_20170118.sql | 69 + ...riodico_RP_ST_Migraz_Area_20170320_OBS.sql | 68 + ...iodico_RP_ST_Migraz_Area_pre_selective.sql | 68 + ...gPeriodico_RP_ST_Migraz_Pianificazione.sql | 120 + ...iodico_RP_ST_Migraz_Pianificazione_OLD.sql | 59 + ...ST_Migraz_Pianificazione_pre_selective.sql | 118 + ...tagingPeriodico_RP_ST_Migraz_Posizioni.sql | 90 + ...o_RP_ST_Migraz_Posizioni_pre_selective.sql | 88 + ...StagingPeriodico_RP_ST_Migraz_Progetto.sql | 92 + ...riodico_RP_ST_Migraz_Progetto_20170113.sql | 78 + ...riodico_RP_ST_Migraz_Progetto_20170118.sql | 78 + ...co_RP_ST_Migraz_Progetto_pre_selective.sql | 77 + ...ingPeriodico_RP_ST_MonitoraggioStorico.sql | 71 + ...itoraggioStorico_20181214_PreMioFoglio.sql | 65 + ...P_ST_MonitoraggioStorico_pre_selective.sql | 63 + .../C6StagingPeriodico_RP_ST_NeedArea.sql | 48 + ...agingPeriodico_RP_ST_NeedArea_20161222.sql | 44 + ...Periodico_RP_ST_NeedArea_pre_selective.sql | 46 + .../C6StagingPeriodico_RP_ST_NobPrez.sql | 68 + ...StagingPeriodico_RP_ST_PROGETTICLIENTE.sql | 107 + ...eriodico_RP_ST_PROGETTICLIENTE_TEST_FC.sql | 84 + ...co_RP_ST_PROGETTICLIENTE_pre_selective.sql | 105 + .../C6StagingPeriodico_RP_ST_Parentela.sql | 54 + ...eriodico_RP_ST_Parentela_pre_selective.sql | 52 + ...StagingPeriodico_RP_ST_PatrimonioTerzi.sql | 64 + ...co_RP_ST_PatrimonioTerzi_pre_selective.sql | 62 + ...6StagingPeriodico_RP_ST_Pianificazione.sql | 130 + ...ico_RP_ST_Pianificazione_pre_selective.sql | 121 + ...ngPeriodico_RP_ST_PosizioniPortafoglio.sql | 60 + ..._ST_PosizioniPortafoglio_pre_selective.sql | 58 + ...agingPeriodico_RP_ST_PosizioniProposta.sql | 58 + ..._RP_ST_PosizioniProposta_pre_selective.sql | 56 + ...eriodico_RP_ST_ProgettiPiramideModello.sql | 114 + ...RP_ST_ProgettiPiramideModello_20170118.sql | 117 + ...RP_ST_ProgettiPiramideModello_20171106.sql | 129 + ..._ProgettiPiramideModello_pre_selective.sql | 116 + .../C6StagingPeriodico_RP_ST_Progetto.new.sql | 128 + .../C6StagingPeriodico_RP_ST_Progetto.sql | 131 + ...agingPeriodico_RP_ST_Progetto_20170113.sql | 97 + ...agingPeriodico_RP_ST_Progetto_20170116.sql | 105 + ...agingPeriodico_RP_ST_Progetto_20170117.sql | 111 + ...ingPeriodico_RP_ST_Progetto_20170117_2.sql | 120 + ...agingPeriodico_RP_ST_Progetto_20170419.sql | 119 + ...agingPeriodico_RP_ST_Progetto_20171106.sql | 120 + ...C6StagingPeriodico_RP_ST_Progetto_Robo.sql | 86 + ...Periodico_RP_ST_Progetto_pre_selective.sql | 96 + ...agingPeriodico_RP_ST_PromotoreBancario.sql | 87 + ..._RP_ST_PromotoreBancario_pre_selective.sql | 85 + .../C6StagingPeriodico_RP_ST_Proposta.sql | 82 + ...Periodico_RP_ST_Proposta_pre_selective.sql | 80 + ...dico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI.sql | 63 + ...DR_VALUTE_DB_DTGIORNALIERI_20160506_Pk.sql | 64 + ..._VALUTE_DB_DTGIORNALIERI_pre_selective.sql | 61 + ...riodico_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql | 47 + ...REP_ASSET_1_E_2_ORDINATE_pre_selective.sql | 45 + ...Periodico_RP_ST_REP_S80_EVOL_STAMPA_C6.sql | 86 + ...0_EVOL_STAMPA_C6_20190111_preMioFoglio.sql | 79 + ...T_REP_S80_EVOL_STAMPA_C6_pre_selective.sql | 77 + ...iodico_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql | 45 + ...4_S5_S13_TRAD_UNTIL_LIV3_pre_selective.sql | 43 + ...agingPeriodico_RP_ST_SPB_CONTR_SINTESI.sql | 141 + ...gingPeriodico_RP_ST_SPB_CONTR_SINTESI2.sql | 155 + ...odico_RP_ST_SPB_CONTR_SINTESI_20161213.sql | 144 + ..._RP_ST_SPB_CONTR_SINTESI_20170407.SAVE.sql | 136 + ..._ST_SPB_CONTR_SINTESI_20171204_preRFMP.sql | 137 + ...PB_CONTR_SINTESI_20190204_preMioFoglio.sql | 138 + ...odico_RP_ST_SPB_CONTR_SINTESI_20190725.sql | 132 + ...RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli.sql | 149 + ..._RP_ST_SPB_CONTR_SINTESI_pre_selective.sql | 141 + ...agingPeriodico_RP_ST_TB_ESG_ANAG_STRUM.sql | 144 + ...ngPeriodico_RP_ST_anagrafica_promotori.sql | 61 + ..._ST_anagrafica_promotori_pre_selective.sql | 59 + ...ngPeriodico_RP_ST_vNewPositionProposta.sql | 38 + ...gingPeriodico_RP_UPDATE_APPO_CONTRATTI.sql | 146 + ...StagingPeriodico_RP_UPDATE_COMPLESSITA.sql | 216 + ...riodico_RP_UPDATE_COMPLESSITA_20161213.sql | 219 + ...co_RP_UPDATE_COMPLESSITA_pre_selective.sql | 217 + ...eriodico_RP_UPDATE_RP_CATALOGOPRODOTTI.sql | 25 + ...DATE_RP_CATALOGOPRODOTTI_pre_selective.sql | 25 + .../C6StagingPeriodico_RP_W6LogBatch.sql | 45 + ...agingPeriodico_RP_clientiConMigrazione.sql | 33 + ...lientiConMigrazione_20170413_RM_nomeDB.sql | 33 + ...gPeriodico_Recupero_Trimestrale_Scarti.sql | 55 + ...tagingPeriodico_SRV_CREA_QUERY_STORICO.sql | 75 + ...gPeriodico_SRV_PopolaTabelleSIMPB_TEMP.sql | 139 + ..._PopolaTabelleSIMPB_TEMP_pre_selective.sql | 152 + ...C6StagingPeriodico_SRV_STORICIZZAZIONE.sql | 68 + ...agingPeriodico_SRV_STORICIZZAZIONE_OLD.sql | 68 + ...riodico_SRV_STORICIZZAZIONE_preAladdin.sql | 69 + ...tagingPeriodico_SRV_TABELLE_IN_STAGING.sql | 101 + ...o_SRV_TABELLE_IN_STAGING_pre_selective.sql | 101 + .../C6StagingPeriodico_ST_CREA_POSITIONID.sql | 93 + ...odico_ST_CREA_POSITIONID_pre_selective.sql | 93 + ...gingPeriodico_ST_DATA_CONGELAMENTO_SEI.sql | 46 + ...ST_DATA_CONGELAMENTO_SEI_pre_selective.sql | 46 + ...6StagingPeriodico_ST_SELECT_FOR_ADS4WS.sql | 97 + ...ngPeriodico_ST_SELECT_FOR_ADS4WS_EMAIL.sql | 89 + ...6StagingPeriodico_ST_SPB_CONTR_SINTESI.sql | 149 + ...ingPeriodico_ST_SPB_CONTR_SINTESI_asu2.sql | 131 + ...ico_ST_SPB_CONTR_SINTESI_pre_selective.sql | 161 + .../C6StagingPeriodico_ST_SVUOTASIMPB.sql | 28 + ...Periodico_ST_SVUOTASIMPB_pre_selective.sql | 28 + .../C6StagingPeriodico_UPDATE_CATITEMREF.sql | 25 + ...iodico_UPDATE_CATITEMREF_pre_selective.sql | 25 + .../C6StagingPeriodico_UPDATE_COMPLESSITA.sql | 197 + ...odico_UPDATE_COMPLESSITA_pre_selective.sql | 197 + ...dico_UTIL_popolaPromotoriDaGiornaliero.sql | 16 + ...6StagingPeriodico_agg_codana_tabellone.sql | 92 + ...C6StagingPeriodico_agg_lotto_tabellone.sql | 114 + .../C6StagingPeriodico_agg_wh_tabellone.sql | 141 + ...StagingPeriodico_agg_wseian2_tabellone.sql | 86 + ...sto_sezione_adeg_PG_Compl_Conc_CDTTRIM.sql | 91 + ...StagingPeriodico_immobiliare_tabellone.sql | 34 + .../C6StagingPeriodico_sp_quadratura.sql | 48 + ...eriodico_test_compl_testo_sezione_adeg.sql | 105 + ...to_sezione_adeg_PG_PROFESS_CURR_DTTRIM.sql | 90 + ...sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN.sql | 92 + ..._compl_testo_sezione_adeg_PG_QPROF.obs.sql | 68 + ...o_sezione_adeg_PG_QPROF.rigen.20170620.sql | 118 + ...test_compl_testo_sezione_adeg_PG_QPROF.sql | 107 + ...l_testo_sezione_adeg_PG_QPROF_20170620.sql | 66 + ...ione_adeg_PG_QPROF_20170620_consegnato.sql | 70 + ...compl_testo_sezione_adeg_PG_QPROF_trim.sql | 59 + ...co_test_compl_testo_sezione_adeg_V.1.0.sql | 39 + ...co_test_compl_testo_sezione_adeg_V.2.0.sql | 107 + ...co_test_compl_testo_sezione_adeg_V.3.0.sql | 107 + ...odico_zzzRP_CREA_POSITIONID_CONSULENZA.sql | 102 + .../C6Staging_CREA_FIRMA_PROMOTORE.sql | 17 + .../C6Staging_CheckScartiMIFID.sql | 55 + ...taging_DecodificaIndicatoriAdeguatezza.sql | 112 + ...C6Staging_RP_AGGIORNA_SPB_PROF_RISCHIO.sql | 24 + .../C6Staging_RP_CREA_POSITIONID.sql | 96 + .../C6Staging_RP_CREA_POSITIONID_2011113.sql | 90 + ...6Staging_RP_CREA_POSITIONID_CONSULENZA.sql | 136 + ...RP_CREA_POSITIONID_CONSULENZA_20161223.sql | 118 + ...EA_POSITIONID_CONSULENZA_20171113_orig.sql | 127 + ...M_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql | 53 + .../C6Staging_RP_ST_AnAlberatura.sql | 59 + .../C6Staging_RP_ST_AnEmittente.sql | 53 + .../C6Staging_RP_ST_AssetClass.sql | 61 + .../C6Staging_RP_ST_CatalogoProdotti.sql | 144 + .../C6Staging_RP_ST_Cliente.sql | 129 + .../C6Staging_RP_ST_ClientePB.sql | 68 + .../C6Staging_RP_ST_Cliente_20170614.sql | 126 + .../C6Staging_RP_ST_DettAltriProdotti.sql | 67 + .../C6Staging_RP_ST_DettImmobiliare.sql | 75 + ...P_ST_DettImmobiliare_20190107_ProQuota.sql | 80 + .../C6Staging_RP_ST_DettPatrAziendale.sql | 68 + .../C6Staging_RP_ST_DettProdottiTerzi.sql | 83 + .../C6Staging_RP_ST_DettaglioOperazione.sql | 66 + ...ng_RP_ST_DettaglioPosizionePortafoglio.sql | 65 + .../C6Staging_RP_ST_GradoParentela.sql | 45 + .../C6Staging_RP_ST_Mappatura.sql | 46 + .../C6Staging_RP_ST_MappaturaPT.sql | 44 + .../C6Staging_RP_ST_Migraz_Pianificazione.sql | 83 + .../C6Staging_RP_ST_Migraz_Posizioni.sql | 60 + .../C6Staging_RP_ST_Migraz_Progetto.sql | 74 + .../C6Staging_RP_ST_NobPrez.sql | 86 + .../C6Staging_RP_ST_Parentela.sql | 52 + .../C6Staging_RP_ST_PatrimonioTerzi.sql | 62 + .../C6Staging_RP_ST_Pianificazione.sql | 139 + ...ging_RP_ST_Pianificazione_20161128_ORI.sql | 135 + .../C6Staging_RP_ST_PosizioniPortafoglio.sql | 60 + .../C6Staging_RP_ST_PosizioniProposta.sql | 55 + ...6Staging_RP_ST_ProgettiPiramideModello.sql | 99 + .../C6Staging_RP_ST_Progetto.sql | 127 + .../C6Staging_RP_ST_Progetto_Robo.sql | 81 + .../C6Staging_RP_ST_PromotoreBancario.sql | 83 + .../C6Staging_RP_ST_Proposta.sql | 79 + ...ging_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI.sql | 64 + ...Staging_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql | 46 + ...taging_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql | 44 + .../C6Staging_RP_ST_TB_ESG_ANAG_STRUM.sql | 144 + .../C6Staging_RP_ST_anagrafica_promotori.sql | 45 + .../C6Staging_RP_ST_vNewPositionProposta.sql | 39 + .../C6Staging_RP_W6LogBatch.sql | 46 + .../C6Staging_RP_clientiConMigrazione.sql | 32 + .../C6Staging_SRV_STORICIZZAZIONE.sql | 75 + .../C6Staging_SRV_STORICIZZAZIONE_OLD.sql | 78 + .../C6Staging_SRV_SVUOTASTAGING.sql | 106 + .../C6Staging_SRV_TABELLE_IN_STAGING.sql | 48 + .../C6Staging_ST_INSERT_SCARTI_SIMPB.sql | 76 + .../C6Staging_ST_SELECT_FOR_ADS4WS.sql | 105 + .../C6Staging_inserisci_promotori_fittizi.sql | 28 + sql/storedCollaudo/dbo_AMB_Cerca.sql | 55 + .../dbo_Aggiorna_Trimestrale_SEI_Processi.sql | 34 + sql/storedCollaudo/dbo_CERCA.sql | 69 + ...o_CHECK_INSERT_PRODOTTI_NON_A_CATALOGO.sql | 13 + ...CHECK_CTV_OF_CurrentAccount_PER_CLIENT.sql | 4 + ..._CLR_CHECK_CTV_PER_NEEDAREA_PER_CLIENT.sql | 4 + .../dbo_CONTROLLO_COMPLESSITA.sql | 50 + sql/storedCollaudo/dbo_CREA_CAMPIONE.sql | 125 + .../dbo_CREA_CAMPIONE_20160119.sql | 120 + .../dbo_CREA_CAMPIONE_20160318.sql | 124 + .../dbo_CREA_CAMPIONE_20160414.sql | 125 + .../dbo_CREA_CAMPIONE_20161216.sql | 118 + .../dbo_CREA_CAMPIONE_20170114.sql | 120 + .../dbo_CREA_CAMPIONE_20170321.sql | 121 + ...o_CREA_CAMPIONE_20180115_preJoinNewTab.sql | 123 + .../dbo_CREA_CAMPIONE_20180711.sql | 114 + .../dbo_CREA_CAMPIONE_20180921.sql | 119 + sql/storedCollaudo/dbo_CREA_CAMPIONE_TEST.sql | 122 + .../dbo_Controlli_Mattina_PdC.sql | 105 + .../dbo_CopyObjectFromSchema.sql | 90 + sql/storedCollaudo/dbo_CreaTabellaBackUp.sql | 39 + sql/storedCollaudo/dbo_DropObject.sql | 41 + ...dbo_ElencoClientiImmobiliareDaStampare.sql | 103 + sql/storedCollaudo/dbo_GetAllTableSize.sql | 59 + sql/storedCollaudo/dbo_GetLogs.sql | 43 + .../dbo_GetPDFTemplateConfiguration.sql | 18 + ..._GetPDFTemplateConfiguration_Rosaspina.sql | 20 + sql/storedCollaudo/dbo_GetStatistics.sql | 11 + .../dbo_GetStatistics_Prepare.sql | 17 + .../dbo_GetTextTemplateConfiguration.sql | 19 + sql/storedCollaudo/dbo_GetVariableValue.sql | 26 + sql/storedCollaudo/dbo_HexToRGB.sql | 66 + .../dbo_InsertStartIntoLogFromDtsx.sql | 32 + ..._InsertStartIntoLogFromDtsxImmobiliare.sql | 35 + .../dbo_InsertStopIntoLogFromDtsx.sql | 42 + ...o_InsertStopIntoLogFromDtsxImmobiliare.sql | 44 + sql/storedCollaudo/dbo_JOB_Controlli_View.sql | 20 + sql/storedCollaudo/dbo_ListaCampione.sql | 22 + .../dbo_ListaCampioneDettaglioMovimenti.sql | 31 + ...staCampioneDettaglioMovimenti_Parziale.sql | 89 + sql/storedCollaudo/dbo_LogFTP.sql | 35 + .../dbo_PreGenerationElabCounter.sql | 9 + .../dbo_PreGenerationStatoCounter.sql | 8 + .../dbo_RP_Popola_PiramideModello.sql | 64 + .../dbo_SO_getNewSubscriptions.sql | 27 + .../dbo_SRV_CONTROLLA_FASE1.sql | 35 + ...dbo_SRV_ESTRAZIONE_ULTIMO_INVIO_REPORT.sql | 43 + .../dbo_SRV_ReportDaCancellare.sql | 66 + .../dbo_SRV_SELECT_PROFILI_SCADUTI.sql | 24 + ...o_SRV_insertLogPreCalcoloDatiGenerator.sql | 29 + sql/storedCollaudo/dbo_SearchAllTables.sql | 64 + .../dbo_SelezioneCampione_Fc.sql | 48 + .../dbo_SubscribedCustomer_Compare.sql | 37 + .../dbo_TEST_GETNEXTTRIMESTRE.sql | 71 + sql/storedCollaudo/dbo_TEST_GETTRIMESTRE2.sql | 71 + .../dbo_TEST_MERGED_PROCEDURE.sql | 121 + sql/storedCollaudo/dbo_TrimTable.sql | 37 + sql/storedCollaudo/dbo_TrimWSEITables.sql | 117 + sql/storedCollaudo/dbo_UPDATE_EVASIONE.sql | 19 + .../dbo_UTIL_ESTRAI_COMPLEX_MODIFICATA.sql | 132 + .../dbo_Utility_Query_Incrocio.sql | 40 + .../dbo_creaExcelVerificaCampioneS80.sql | 76 + ...dbo_creaExcelVerificaCampioneS80_excel.sql | 65 + sql/storedCollaudo/dbo_getListaPdfStorici.sql | 49 + .../dbo_inserisciRichiestaStorico.sql | 29 + sql/storedCollaudo/dbo_spPDFRecovery.sql | 28 + sql/storedCollaudo/dbo_sp_WhoIsActive.sql | 87 + sql/storedCollaudo/dbo_sp_alterdiagram.sql | 68 + .../dbo_sp_change_codfiscale_SEIReport.sql | 53 + sql/storedCollaudo/dbo_sp_creatediagram.sql | 61 + sql/storedCollaudo/dbo_sp_dropdiagram.sql | 44 + sql/storedCollaudo/dbo_sp_dts_addlogentry.sql | 4 + sql/storedCollaudo/dbo_sp_getColors.sql | 24 + .../dbo_sp_helpdiagramdefinition.sql | 43 + sql/storedCollaudo/dbo_sp_helpdiagrams.sql | 34 + sql/storedCollaudo/dbo_sp_renamediagram.sql | 65 + sql/storedCollaudo/dbo_sp_upgraddiagrams.sql | 63 + .../dbo_srv_change_Professional_Base_CU.sql | 29 + .../dbo_srv_change_codfiscale.sql | 157 + .../dbo_srv_change_codfiscaleMassiva.sql | 107 + .../dbo_srv_change_codfiscaleMassiva_CU.sql | 89 + ..._change_codfiscaleMassiva_CU_SEIReport.sql | 47 + .../dbo_srv_change_codfiscale_20161114.sql | 159 + ...hange_codfiscale_20161114_OLwhenQready.sql | 161 + .../dbo_srv_change_codfiscale_CU.sql | 161 + .../dbo_srv_change_codfiscale_mod.sql | 154 + sql/storedCollaudo/dbo_srv_change_rete_CU.sql | 133 + sql/storedCollaudo/dbo_test_S80All_fc.sql | 157 + ...test_compl_testo_sezione_adeg_obsoleta.sql | 26 + sql/storedCollaudo/dbo_test_fc.sql | 14 + sql/storedCollaudo/dbo_usp_ExportImage.sql | 45 + sql/storedCollaudo/dbo_usp_ImportImage.sql | 25 + sql/storedCollaudo/dbo_vinfocliente.sql | 34 + ...martperiodico_DM_PatrimonioBFAggregato.sql | 28 + ...DM_PatrimonioBFAggregato_pre_selective.sql | 28 + ...o_DM_PatrimonioNonRappresentabileAsset.sql | 95 + ...oNonRappresentabileAsset_pre_selective.sql | 95 + ...tperiodico_DM_PatrimonioTerziAggregato.sql | 59 + ...PatrimonioTerziAggregato_pre_selective.sql | 57 + sql/storedCollaudo/wh_MERGED_PROCEDURE.sql | 115 + .../wh_MERGED_PROCEDURE_20160709_byen.sql | 97 + .../wh_MERGED_PROCEDURE_20161012.sql | 98 + .../wh_MERGED_PROCEDURE_20170615.sql | 98 + .../wh_MERGED_PROCEDURE_20180619.sql | 98 + .../wh_MERGED_PROCEDURE_20181010.sql | 98 + .../wh_MERGED_PROCEDURE_NUOVA.sql | 122 + ...URE_PL_Prodotti_Non_Associati_Area_Inv.sql | 48 + .../wh_MERGED_PROCEDURE_S10.sql | 25 + .../wh_MERGED_PROCEDURE_S151.sql | 70 + .../wh_MERGED_PROCEDURE_S169.sql | 139 + .../wh_MERGED_PROCEDURE_S170.sql | 117 + .../wh_MERGED_PROCEDURE_S178.sql | 83 + .../wh_MERGED_PROCEDURE_S43.sql | 24 + .../wh_MERGED_PROCEDURE_S85.sql | 79 + .../wh_MERGED_PROCEDURE_SINGLE.sql | 97 + sql/storedCollaudo/wh_ProduceMaladetti.sql | 103 + sql/storedCollaudo/wh_p_PL_AreeMonitorate.sql | 12 + .../wh_p_PL_D2_S151ProfiloDiRischio.sql | 7 + .../wh_p_PL_D2_S152Patrimonio.sql | 7 + .../wh_p_PL_D2_S153PatrimonioFinanziario.sql | 9 + .../wh_p_PL_D2_S154PatrimonioFinanziario.sql | 9 + .../wh_p_PL_D2_S155PatrimonioImmobiliare.sql | 10 + .../wh_p_PL_D2_S156ALtroPatrimonio.sql | 9 + .../wh_p_PL_D2_S157ConfrontoPiramidi.sql | 10 + .../wh_p_PL_D2_S158PiramideModello.sql | 7 + .../wh_p_PL_D2_S159PatrimonioFinanziario.sql | 9 + .../wh_p_PL_D2_S160DettaglioProdottiBF.sql | 9 + .../wh_p_PL_D2_S162DettaglioProdotti.sql | 7 + ...2_S163PatrimonioFinanziarioMAssetClass.sql | 11 + .../wh_p_PL_D2_S164PolizzeAltriIstituti.sql | 7 + .../wh_p_PL_D2_S165FondiAltriIstituti.sql | 7 + ..._PL_D2_S167DistribuzioneRischioCredito.sql | 7 + .../wh_p_PL_D2_S168TabellaEmittenti.sql | 9 + ...PL_D2_S169RischiomercatoRischiocredito.sql | 10 + ...wh_p_PL_D2_S170RischioDiversificazione.sql | 9 + ...atrimonioNonRappresentabileAssettClass.sql | 10 + .../wh_p_PL_D_S170RischioDiversificazione.sql | 9 + ..._p_PL_D_S178IndicatoriEsitoAdeguatezza.sql | 74 + .../wh_p_PL_MP_S133AreeBisognoPrincProd.sql | 10 + .../wh_p_PL_MP_S133BISPrincipaliProdotti.sql | 10 + .../wh_p_PL_MP_S134BISMonitoraggioLiqInv.sql | 11 + .../wh_p_PL_MP_S134MonitoraggioLiquidita.sql | 7 + ...h_p_PL_MP_S135MonitoraggioInvestimento.sql | 10 + .../wh_p_PL_MP_S137BISCapitaleProtetto.sql | 7 + sql/storedCollaudo/wh_p_PL_MP_S137Bonus.sql | 7 + .../wh_p_PL_MP_S140AnalisiRisparmioCharts.sql | 7 + .../wh_p_PL_MP_S141AnalisiRisparmioTable.sql | 9 + ...wh_p_PL_MP_S146RischioDiversificazione.sql | 10 + ...h_p_PL_Prodotti_Non_Associati_Area_Inv.sql | 7 + .../wh_p_PL_S10PatrimonioFinanziario.sql | 10 + .../wh_p_PL_S43BISDettaglioProdottiBF.sql | 10 + .../wh_p_PL_S43ContoCorrenteBF.sql | 10 + .../wh_p_PL_S43DettaglioProdottiBF.sql | 9 + sql/storedCollaudo/wh_p_PL_S43LineaSelfBF.sql | 7 + ...atrimonioNonRappresentabileAssettClass.sql | 7 + sql/storedCollaudo/wh_p_PL_S80Alternativa.sql | 7 + .../wh_p_PL_S82BisDatiSintetici.sql | 7 + .../wh_p_PL_S82DatiSintetici.sql | 7 + .../wh_p_PL_S85RendimentoPortafoglioCono.sql | 10 + ...oNonConsideratoNelCalcoloDelRendimento.sql | 11 + ...h_p_PL_S96RischiomercatoRischiocredito.sql | 9 + ...Immobiliare_Blacklist_Blocco_Tabellone.sql | 61 + ...6MartPeriodicoImmobiliare_DM_ANAG_SELF.sql | 75 + ...are_DM_ANAG_SELF_20181214_PreMioFoglio.sql | 67 + ...dicoImmobiliare_DM_CODIFICA_CREDITRISK.sql | 50 + ...riodicoImmobiliare_DM_CODIFICA_RISCHIO.sql | 53 + .../C6MartPeriodicoImmobiliare_DM_MIFID.sql | 129 + ...odicoImmobiliare_DM_PARTITE_VIAGGIANTI.sql | 64 + ...iodicoImmobiliare_DM_RISCHIO_AGGREGATO.sql | 96 + ...biliare_Delete_Immobiliare_GestionePDF.sql | 31 + ...are_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql | 91 + ..._SELECT_LETTERE_DA_INVIARE_BKP28052023.sql | 91 + ...IONE_SELECT_LETTERE_DA_INVIARE_CONSUNI.sql | 90 + ...MartPeriodicoImmobiliare_GetDatiPerIDX.sql | 59 + ...riodicoImmobiliare_Insert_ExcludedList.sql | 52 + ...biliare_Insert_Immobiliare_GestionePDF.sql | 123 + ...biliare_Insert_Immobiliare_GestioneZIP.sql | 52 + ...tPeriodicoImmobiliare_MERGED_PROCEDURE.sql | 109 + ...iare_PL_D2_S170RischioDiversificazione.sql | 86 + ...riodicoImmobiliare_PL_D_S152Patrimonio.sql | 88 + ...biliare_PL_D_S154PatrimonioFinanziario.sql | 152 + ..._GetClientNegativeCurrentAccountsValue.sql | 29 + ...PL_GetClientSelfNegCurrentAccountValue.sql | 25 + ...biliare_PL_MP_S133AreeBisognoPrincProd.sql | 42 + ...liare_PL_MP_S140AnalisiRisparmioCharts.sql | 338 ++ ...atrimonioNonRappresentabileAssettClass.sql | 116 + ...oNonConsideratoNelCalcoloDelRendimento.sql | 62 + ...mobiliare_Popola_S133_S157DatiPiramide.sql | 291 + ...eriodicoImmobiliare_RP_DM_ANAG_CLIENTI.sql | 143 + ...riodicoImmobiliare_RP_DM_ANAG_PRODOTTI.sql | 94 + ...oImmobiliare_RP_DM_ANAG_PRODOTTI_TERZI.sql | 80 + ...eriodicoImmobiliare_RP_DM_AREA_BISOGNO.sql | 47 + ...tPeriodicoImmobiliare_RP_DM_ASSETCLASS.sql | 66 + ...dicoImmobiliare_RP_DM_ASSETCLASS_TERZI.sql | 58 + ...tPeriodicoImmobiliare_RP_DM_ASSET_PERC.sql | 73 + ...dicoImmobiliare_RP_DM_ASSET_PERC_TERZI.sql | 80 + ...eriodicoImmobiliare_RP_DM_CONTRATTOSEI.sql | 117 + ...iodicoImmobiliare_RP_DM_DETTAGLIO_ASUL.sql | 266 + ...dicoImmobiliare_RP_DM_PATRIMONIO_ALTRO.sql | 86 + ...riodicoImmobiliare_RP_DM_PATRIMONIO_BF.sql | 747 +++ ...mobiliare_RP_DM_PATRIMONIO_IMMOBILIARE.sql | 79 + ...TRIMONIO_IMMOBILIARE_20190205_ProQuota.sql | 79 + ...dicoImmobiliare_RP_DM_PATRIMONIO_TERZI.sql | 163 + ...eriodicoImmobiliare_RP_DM_PIRAMIDE_MOD.sql | 211 + ...oImmobiliare_RP_PROM_TuttiIPortafogli2.sql | 57 + ...e_RP_PROM_TuttiIPortafogli2_Indicatore.sql | 155 + ...artPeriodicoImmobiliare_SP_PopolaW6IMM.sql | 129 + ...iliare_SP_Valorizza_Stati_semaforo_IMM.sql | 298 + ...dateDateReport_Immobiliare_GestionePDF.sql | 63 + ...biliare_Update_Immobiliare_GestioneZIP.sql | 39 + ...getRichiesteMonitoraggioCatastoCliente.sql | 16 + ...ertRichiesteMonitoraggioCatastoCliente.sql | 50 + ...eriodicoImmobiliare_sp_caricaBlacklist.sql | 37 + ...re_start_email_Testi_Statici_tabellone.sql | 6 + ...obiliare_start_email_Zipping_tabellone.sql | 6 + ...ichiesteMonitoraggioCatastoClienteCong.sql | 23 + ...ichiesteMonitoraggioCatastoClienteProd.sql | 28 + ...C6MartPeriodico_AGGIORNA_NUMERO_PAGINE.sql | 18 + ...eriodico_AL_AggiornaPortafoglioCliente.sql | 56 + ...giornaPortafoglioCliente_pre_selective.sql | 56 + ...tPeriodico_AggiornaFlagRolContrattoSei.sql | 15 + ...odico_AggiornamentoDisponibilitaReport.sql | 37 + .../C6MartPeriodico_AppRendTabReader.sql | 14 + .../C6MartPeriodico_AppRendTabReader_bl.sql | 14 + .../C6MartPeriodico_BONIFICA_WSEIUL.sql | 53 + ...eriodico_BONIFICA_WSEIUL_pre_selective.sql | 53 + ...rtPeriodico_Blacklist_Blocco_Tabellone.sql | 71 + ...co_Blocco_Blacklist_AppRendicontazione.sql | 34 + .../C6MartPeriodico_BonificaDataQuality.sql | 50 + ...dico_CHECK_AGGIORNA_ERRORI_GENERAZIONE.sql | 11 + ...dico_CHECK_CTV_PER_NEEDAREA_PER_CLIENT.sql | 145 + .../C6MartPeriodico_CHECK_GET_CTV_ISSUES.sql | 16 + ...eriodico_CHECK_GET_CTV_ISSUES_PER_AREA.sql | 14 + ...eriodico_CHECK_GET_CUSTOMERS_FOR_CHECK.sql | 19 + .../C6MartPeriodico_CHECK_GET_NeedAreas.sql | 6 + .../C6MartPeriodico_CHECK_GET_Perc_ISSUES.sql | 13 + ...ico_CHECK_GET_S10_Negative_BankAccount.sql | 35 + ...0_PATRIMONIO_NON_RAPPRESENTABILE_ASSET.sql | 24 + ...TRIMONIO_NON_RAPPRESENTABILE_ASSET_ALL.sql | 16 + .../C6MartPeriodico_CHECK_GET_VAR_ISSUES.sql | 12 + ...artPeriodico_CHECK_INSERT_CTV_PER_AREA.sql | 17 + ...Periodico_CHECK_INSERT_CTV_PER_SECTION.sql | 19 + .../C6MartPeriodico_CHECK_INSERT_S10_PERC.sql | 15 + ...Periodico_CHECK_INSERT_VAR_PER_SECTION.sql | 16 + ...Periodico_CHECK_PROFILOSCADUTO_RFAZERO.sql | 22 + ...K_PROFILOSCADUTO_RFAZERO_pre_selective.sql | 22 + .../C6MartPeriodico_CHECK_PROFILO_SCADUTO.sql | 42 + ...co_CHECK_PROFILO_SCADUTO_pre_selective.sql | 42 + .../C6MartPeriodico_CHECK_RFA_ZERO.sql | 30 + ...Periodico_CHECK_RFA_ZERO_pre_selective.sql | 30 + .../C6MartPeriodico_CREA_FIRMA_PROMOTORE.sql | 8 + .../C6MartPeriodico_CRUSCOTTOTRIMESTRALE.sql | 139 + ...6MartPeriodico_CRUSCOTTOTRIMESTRALEMAU.sql | 213 + ...artPeriodico_CRUSCOTTOTRIMESTRALE_FILE.sql | 107 + ...riodico_CRUSCOTTOTRIMESTRALE_FILE_test.sql | 107 + .../C6MartPeriodico_Caricamento_TBGEN.sql | 22 + .../C6MartPeriodico_CercaCaratteriAnomali.sql | 356 ++ ...riodico_CercaCaratteriAnomali_20150205.sql | 356 ++ ...MartPeriodico_CheckQuadraturaRfa0Mifid.sql | 47 + ...odico_Controlla_Stato_Stampa_Cruscotto.sql | 39 + .../C6MartPeriodico_DM_ALL_PATRIMONIO.sql | 326 ++ .../C6MartPeriodico_DM_ANAG_CC.sql | 82 + .../C6MartPeriodico_DM_ANAG_CC_TERZI.sql | 71 + ...riodico_DM_ANAG_CC_TERZI_pre_selective.sql | 71 + ...MartPeriodico_DM_ANAG_CC_pre_selective.sql | 74 + .../C6MartPeriodico_DM_ANAG_CLIENTI.sql | 221 + ...o_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql | 143 + .../C6MartPeriodico_DM_ANAG_CLIENTI_PREV.sql | 60 + ...ico_DM_ANAG_CLIENTI_PREV_pre_selective.sql | 60 + ...eriodico_DM_ANAG_CLIENTI_pre_selective.sql | 221 + .../C6MartPeriodico_DM_ANAG_PRODOTTI.sql | 102 + ...C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI.sql | 74 + ...o_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql | 74 + ...6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE.sql | 56 + ..._DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql | 56 + ...riodico_DM_ANAG_PRODOTTI_pre_selective.sql | 102 + .../C6MartPeriodico_DM_ANAG_PROMOTORI.sql | 111 + ...iodico_DM_ANAG_PROMOTORI_pre_selective.sql | 111 + .../C6MartPeriodico_DM_ANAG_SELF.sql | 74 + ...ico_DM_ANAG_SELF_20181214_PreMioFoglio.sql | 67 + ...tPeriodico_DM_ANAG_SELF_BK_eligoTitoli.sql | 62 + ...rtPeriodico_DM_ANAG_SELF_pre_selective.sql | 67 + .../C6MartPeriodico_DM_AREA_BISOGNO.sql | 47 + ...eriodico_DM_AREA_BISOGNO_pre_selective.sql | 47 + .../C6MartPeriodico_DM_ASSETCLASS.sql | 53 + .../C6MartPeriodico_DM_ASSETCLASS_TERZI.sql | 55 + ...dico_DM_ASSETCLASS_TERZI_pre_selective.sql | 55 + ...tPeriodico_DM_ASSETCLASS_pre_selective.sql | 53 + .../C6MartPeriodico_DM_ASSET_PERC.sql | 76 + .../C6MartPeriodico_DM_ASSET_PERC_TERZI.sql | 79 + ...dico_DM_ASSET_PERC_TERZI_pre_selective.sql | 79 + ...tPeriodico_DM_ASSET_PERC_pre_selective.sql | 76 + .../C6MartPeriodico_DM_BONUS.sql | 69 + ...C6MartPeriodico_DM_BONUS_pre_selective.sql | 69 + .../C6MartPeriodico_DM_CAPPROT.sql | 206 + .../C6MartPeriodico_DM_CAPPROT_20171129.sql | 200 + .../C6MartPeriodico_DM_CAPPROT_BKP.sql | 174 + .../C6MartPeriodico_DM_CAPPROT_FVI.sql | 152 + ...6MartPeriodico_DM_CAPPROT_FVI_20180424.sql | 146 + ...MartPeriodico_DM_CAPPROT_pre_selective.sql | 200 + ...6MartPeriodico_DM_CLIENTI_CON_RNA_ALTO.sql | 37 + ...C6MartPeriodico_DM_CLIENTI_NON_MIGRATI.sql | 18 + ...o_DM_CLIENTI_NON_MIGRATI_pre_selective.sql | 18 + ...C6MartPeriodico_DM_CODIFICA_CREDITRISK.sql | 50 + ...o_DM_CODIFICA_CREDITRISK_pre_selective.sql | 50 + .../C6MartPeriodico_DM_CODIFICA_RISCHIO.sql | 53 + ...dico_DM_CODIFICA_RISCHIO_pre_selective.sql | 53 + .../C6MartPeriodico_DM_COMPLESSITA.sql | 84 + ...Periodico_DM_COMPLESSITA_pre_selective.sql | 84 + .../C6MartPeriodico_DM_CONGELAMENTO_SEI.sql | 23 + ...dico_DM_CONGELAMENTO_SEI_pre_selective.sql | 23 + ...C6MartPeriodico_DM_CONO_PIANIFICAZIONE.sql | 86 + ...o_DM_CONO_PIANIFICAZIONE_pre_selective.sql | 86 + ...6MartPeriodico_DM_CONS_ATTIVAGGIORNATA.sql | 202 + ..._DM_CONS_ATTIVAGGIORNATA_pre_selective.sql | 202 + .../C6MartPeriodico_DM_CONTRATTOSEI.sql | 40 + ...MartPeriodico_DM_CONTROLLO_TRIMESTRALE.sql | 16 + .../C6MartPeriodico_DM_DATI_REPORT.sql | 47 + ...Periodico_DM_DATI_REPORT_pre_selective.sql | 47 + .../C6MartPeriodico_DM_DETTAGLIO_ASUL.sql | 99 + ...iodico_DM_DETTAGLIO_ASUL_pre_selective.sql | 99 + .../C6MartPeriodico_DM_DettaglioMovimenti.sql | 157 + ...riodico_DM_DettaglioMovimenti_20160913.sql | 154 + ...artPeriodico_DM_DettaglioMovimenti_old.sql | 95 + ...rtPeriodico_DM_DettaglioMovimenti_old2.sql | 49 + ...co_DM_DettaglioMovimenti_pre_selective.sql | 157 + ...artPeriodico_DM_ELABORAZIONI_EMAIL_RNA.sql | 93 + .../C6MartPeriodico_DM_EMAIL_PB.sql | 68 + ...artPeriodico_DM_EMAIL_PB_pre_selective.sql | 66 + .../C6MartPeriodico_DM_FOI80.sql | 180 + ...C6MartPeriodico_DM_FOI80_pre_selective.sql | 180 + ...o_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql | 103 + ...co_DM_GESTIONE_EMAIL_REPORT_DEFINITIVI.sql | 49 + ...dico_DM_GESTIONE_EMAIL_REPORT_GENERATI.sql | 41 + .../C6MartPeriodico_DM_GESTIONE_EMAIL_RNA.sql | 52 + ...6MartPeriodico_DM_MAIL_PROFILI_RISCHIO.sql | 28 + .../C6MartPeriodico_DM_MIFID.sql | 138 + ...M_MIFID_BKP_20231114_PRE_RAFFORZAMENTO.sql | 129 + ...C6MartPeriodico_DM_MIFID_pre_selective.sql | 129 + ...6MartPeriodico_DM_MONITORAGGIO_ATTUALE.sql | 159 + ..._DM_MONITORAGGIO_ATTUALE_pre_selective.sql | 159 + ...artPeriodico_DM_MONITORAGGIO_DETTAGLIO.sql | 124 + ...M_MONITORAGGIO_DETTAGLIO_pre_selective.sql | 124 + ...MartPeriodico_DM_MONITORAGGIO_INIZIALE.sql | 83 + ...ONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA.sql | 325 ++ ...DM_MONITORAGGIO_INIZIALE_pre_selective.sql | 83 + ...C6MartPeriodico_DM_MONITORAGGIO_REPORT.sql | 83 + ...o_DM_MONITORAGGIO_REPORT_pre_selective.sql | 83 + ...6MartPeriodico_DM_MONITORAGGIO_STORICO.sql | 141 + ..._DM_MONITORAGGIO_STORICO_pre_selective.sql | 141 + .../C6MartPeriodico_DM_PARTITE_VIAGGIANTI.sql | 64 + ...co_DM_PARTITE_VIAGGIANTI_pre_selective.sql | 64 + .../C6MartPeriodico_DM_PATRIMONIO_ALTRO.sql | 74 + ...dico_DM_PATRIMONIO_ALTRO_pre_selective.sql | 74 + .../C6MartPeriodico_DM_PATRIMONIO_BF.sql | 815 +++ ...riodico_DM_PATRIMONIO_BF_pre_selective.sql | 815 +++ ...6MartPeriodico_DM_PATRIMONIO_EMITTENTI.sql | 161 + ..._DM_PATRIMONIO_EMITTENTI_pre_selective.sql | 161 + ...artPeriodico_DM_PATRIMONIO_IMMOBILIARE.sql | 83 + ...M_PATRIMONIO_IMMOBILIARE_pre_selective.sql | 83 + .../C6MartPeriodico_DM_PATRIMONIO_TERZI.sql | 162 + ...dico_DM_PATRIMONIO_TERZI_pre_selective.sql | 162 + .../C6MartPeriodico_DM_PIRAMIDE_MOD.sql | 92 + ...eriodico_DM_PIRAMIDE_MOD_pre_selective.sql | 92 + .../C6MartPeriodico_DM_PIRAMIDE_VERT.sql | 66 + ...POLAMENTO_AM_OperazioniUltimoTrimestre.sql | 50 + ...MENTO_AM_OperazioniUltimoTrimestre_old.sql | 136 + .../C6MartPeriodico_DM_PROVENTI.sql | 87 + ...artPeriodico_DM_PROVENTI_pre_selective.sql | 87 + .../C6MartPeriodico_DM_RISCHIOEMITTENTI.sql | 15 + .../C6MartPeriodico_DM_RISCHIO_AGGREGATO.sql | 95 + ...M_RISCHIO_AGGREGATO_20180627_preNewInd.sql | 90 + ...artPeriodico_DM_RISCHIO_AGGREGATO_OLD2.sql | 97 + ...MartPeriodico_DM_RISCHIO_AGGREGATO_old.sql | 88 + ...iodico_DM_RISCHIO_AGGREGATO_preAladdin.sql | 93 + ...ico_DM_RISCHIO_AGGREGATO_pre_selective.sql | 90 + ...HIO_AGGREGATO_pre_selective_preAladdin.sql | 90 + .../C6MartPeriodico_DM_SCADENZE.sql | 87 + ...artPeriodico_DM_SCADENZE_pre_selective.sql | 82 + ...riodico_DM_SCADENZE_pre_selective_luca.sql | 82 + ...C6MartPeriodico_DM_STORICO_CAPPROT_FVI.sql | 74 + .../C6MartPeriodico_DM_TEST_QUALITY.sql | 112 + .../C6MartPeriodico_DM_dettaglio_MOV.sql | 19 + ...fica_Concentrazione_Prodotti_Complessi.sql | 144 + ...artPeriodico_DeleteGruppo_ExcludedList.sql | 7 + ...tPeriodico_DistinctGruppo_ExcludedList.sql | 6 + .../C6MartPeriodico_Estrazione_Campione.sql | 40 + ...eriodico_Estrazione_Campione_Cruscotto.sql | 40 + ...MartPeriodico_GC_CONVALIDAREPORTSELECT.sql | 202 + ...tPeriodico_GC_DELETE_CONVALIDA_ANNULLA.sql | 64 + ...Periodico_GC_INSERT_VERIFICHE_CAMPIONE.sql | 44 + ...tPeriodico_GC_REPORTDACANCELLARESELECT.sql | 26 + ...rtPeriodico_GC_VerificheCampioneSelect.sql | 124 + ...6MartPeriodico_GESTIONE_C6_S_Generator.sql | 35 + ...tPeriodico_GESTIONE_C6_S_Generator_OLD.sql | 106 + ...ONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE.sql | 25 + ...riodico_GESTIONE_INSERT_CUSTOMER_ERROR.sql | 28 + ...odico_GESTIONE_INSERT_ELABORAZIONE_ZIP.sql | 29 + ...TIONE_INSERT_ELABORAZIONE_ZIP_20170328.sql | 29 + ...GESTIONE_INSERT_ELABORAZIONI_EMAIL_RNA.sql | 18 + ...odico_GESTIONE_INSERT_EMAIL_DA_INVIARE.sql | 107 + ...6MartPeriodico_GESTIONE_INSERT_PDF_FTP.sql | 212 + ...odico_GESTIONE_INSERT_PDF_FTP_04082015.sql | 133 + ...riodico_GESTIONE_INSERT_PDF_FTP_GET_ID.sql | 18 + ...odico_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql | 45 + .../C6MartPeriodico_GESTIONE_INSERT_ZIP.sql | 58 + ...odico_GESTIONE_INSERT_ZIP_IDX_NOINSERT.sql | 18 + ...iodico_GESTIONE_PDF_REVERT_FISCAL_CODE.sql | 11 + ...artPeriodico_GESTIONE_SCARTI_CRUSCOTTO.sql | 12 + ...GESTIONE_SELECT_ELABORAZIONI_EMAIL_RNA.sql | 11 + ...odico_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql | 37 + ...TIONE_SELECT_EMAIL_DA_INVIARE_20160913.sql | 13 + ...co_GESTIONE_SELECT_EMAIL_DA_INVIARE_bk.sql | 37 + ...riodico_GESTIONE_SELECT_FTP_DA_INVIARE.sql | 54 + ...A_INVIARE_20170413_b4_NewZipFtpProcess.sql | 55 + ...TP_DA_INVIARE_20170712_b4_OrderedByCAP.sql | 52 + ...tPeriodico_GESTIONE_SELECT_FTP_INVIATI.sql | 47 + ...E_SELECT_FTP_INVIATI_20180214_bonifica.sql | 27 + ...NE_SELECT_FTP_INVIATI_20180308_PreIDX2.sql | 26 + ...o_GESTIONE_SELECT_FTP_INVIATI_20180420.sql | 47 + ...o_GESTIONE_SELECT_FTP_INVIATI_20240225.sql | 45 + ...E_SELECT_FTP_INVIATI_INCLUDINGFILENAME.sql | 46 + ...ATI_INCLUDINGFILENAME_20180308_PreIDX2.sql | 18 + ...FTP_INVIATI_INCLUDINGFILENAME_20180420.sql | 46 + ...IONE_SELECT_FTP_INVIATI_prova_20141223.sql | 52 + ...eriodico_GESTIONE_SELECT_FTP_WHITELIST.sql | 48 + .../C6MartPeriodico_GESTIONE_SELECT_HOST.sql | 56 + ...eriodico_GESTIONE_SELECT_LAST_ELAB_ZIP.sql | 8 + ...MartPeriodico_GESTIONE_SELECT_LAST_ZIP.sql | 34 + ...ico_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql | 98 + ...NE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql | 98 + ..._SELECT_NUM_MAX_ELABORAZIONI_EMAIL_RNA.sql | 11 + ...GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql | 20 + ...ONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql | 103 + ..._SELECT_PDF_GETDATATHREADS_CAMPIONE_DA.sql | 110 + ...LECT_PDF_GETDATATHREADS_CAMPIONE_DA_FA.sql | 97 + ...F_GETDATATHREADS_CAMPIONE_DA_Francesco.sql | 107 + ...LECT_PDF_GETDATATHREADS_CAMPIONE_DA_GB.sql | 84 + ..._SELECT_PDF_GETDATATHREADS_CAMPIONE_FA.sql | 100 + ...LECT_PDF_GETDATATHREADS_CAMPIONE_FORCE.sql | 99 + ...ATATHREADS_CAMPIONE_FOR_STATISTICS.obs.sql | 81 + ..._PDF_GETDATATHREADS_CAMPIONE_Francesco.sql | 99 + ..._SELECT_PDF_GETDATATHREADS_CAMPIONE_PK.sql | 88 + ...ELECT_PDF_GETDATATHREADS_CAMPIONE_Pino.sql | 89 + ...ATHREADS_CAMPIONE_QRM_NonOptimized.obs.sql | 232 + ...READS_CAMPIONE_QRM_ONDEMAND_OPT_EN.obs.sql | 61 + ...ECT_PDF_GETDATATHREADS_CAMPIONE_SEI_GB.sql | 86 + ...ELECT_PDF_GETDATATHREADS_CAMPIONE_luca.sql | 89 + ...TDATATHREADS_CAMPIONE_onDemand_Adriano.sql | 88 + ...DS_CAMPIONE_onDemand_Adriano_PROVAPROF.sql | 89 + ...DF_GETDATATHREADS_CAMPIONE_onDemand_EN.sql | 98 + ..._GETDATATHREADS_CAMPIONE_onDemand_Luca.sql | 105 + ...NE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO.sql | 126 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_01.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_02.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_03.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_04.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_05.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_06.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_07.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_08.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_09.sql | 141 + ..._SELECT_PDF_GETDATATHREADS_CRUSCOTTO_1.sql | 139 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_10.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_11.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_12.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_13.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_14.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_15.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_16.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_17.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_18.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_19.sql | 141 + ..._SELECT_PDF_GETDATATHREADS_CRUSCOTTO_2.sql | 140 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_20.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_21.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_22.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_23.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_24.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_25.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_DA.sql | 124 + ...T_PDF_GETDATATHREADS_PartiteViaggianti.sql | 212 + ...DATATHREADS_PartiteViaggianti_CAMPIONE.sql | 202 + ...ADS_PartiteViaggianti_OnDemand_Adriano.sql | 202 + ..._GESTIONE_SELECT_REPORTS_ERRATACORRIGE.sql | 55 + ...IONE_SELECT_REPORTS_ERRATACORRIGE_test.sql | 56 + ...ico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV.sql | 64 + ...ONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart.sql | 47 + ...artPeriodico_GESTIONE_SELECT_S80_FASE2.sql | 195 + ...Periodico_GESTIONE_SELECT_S80_FASE2_CU.sql | 225 + ...ECT_S80_FASE2_CU_20190206_preMioFoglio.sql | 195 + ...SELECT_S80_FASE2_CU_POST_RAFFORZAMENTO.sql | 225 + ..._SELECT_S80_FASE2_CU_PRE_RAFFORZAMENTO.sql | 223 + ...o_GESTIONE_SELECT_S80_FASE2_CU_mariano.sql | 230 + ...co_GESTIONE_SELECT_S80_FASE2_SELECTIVE.sql | 195 + ...TIONE_SELECT_S80_FASE2_SELECTIVE_FINAL.sql | 12 + ..._GESTIONE_SELECT_S80_PARZIALE_FASE2_CU.sql | 100 + ...Periodico_GESTIONE_SELECT_SPECIFIC_ZIP.sql | 23 + ...riodico_GESTIONE_SELECT_ZIP_DA_INVIARE.sql | 27 + ...eriodico_GESTIONE_SELECT_ZIP_WHITELIST.sql | 22 + ...6MartPeriodico_GESTIONE_S_Intermediari.sql | 21 + ...odico_GESTIONE_UPDATE_ELABORAZIONE_ZIP.sql | 15 + ...TIONE_UPDATE_ELABORAZIONE_ZIP_20170328.sql | 15 + ...rtPeriodico_GESTIONE_UPDATE_EMAIL_HOST.sql | 13 + ...eriodico_GESTIONE_UPDATE_EMAIL_INVIATE.sql | 13 + .../C6MartPeriodico_GESTIONE_UPDATE_FTP.sql | 33 + .../C6MartPeriodico_GESTIONE_UPDATE_ZIP.sql | 32 + ...MartPeriodico_GESTIONE_UPDATE_ZIP_COPY.sql | 39 + ...Periodico_GESTIONE_UPDATE_ZIP_SENT_FTP.sql | 32 + ...eriodico_GETDATATHREADS_TRIMESTRALE_DA.sql | 85 + ...odico_GETDATATHREADS_TRIMESTRALE_DA_GB.sql | 85 + ...eriodico_GETDATATHREADS_TRIMESTRALE_GB.sql | 87 + ...riodico_GETDATATHREADS_TRIMESTRALE_SEI.sql | 85 + ...dico_GETDATATHREADS_TRIMESTRALE_SEI_GB.sql | 85 + ...eriodico_Genera_Cruscotto_ContrattoSei.sql | 50 + ...a_Cruscotto_ContrattoSei_20170407.SAVE.sql | 47 + .../C6MartPeriodico_Gestione_Bonus.sql | 14 + ...artPeriodico_Gestione_ProdottiProtetti.sql | 89 + ...ico_Gestione_ProdottiProtetti_20171215.sql | 89 + ...6MartPeriodico_GetFilesForSendingByFTP.sql | 5 + .../C6MartPeriodico_GetQueryContratti.sql | 13 + .../C6MartPeriodico_GetRiskArea.sql | 20 + ...iodico_INSERISCI_FASE2_PER_CAMBIO_RETE.sql | 154 + ...rtPeriodico_Inizializzazione_tabellone.sql | 181 + ...rimento_TrimestraleScarti_ExcludedList.sql | 5 + ...mestraleScarti_SegnalazioneDataQuality.sql | 9 + ...MartPeriodico_Monitoraggio_Giornaliero.sql | 13 + .../C6MartPeriodico_Motivo_ExcludedList.sql | 12 + .../C6MartPeriodico_PL_AreeMonitorate.sql | 293 + ...o_PL_AreeMonitorate_20180604_PreMifid2.sql | 266 + ...eMonitorate_20180927_PreOttimizzazione.sql | 269 + ...L_AreeMonitorate_20181214_PreMioFoglio.sql | 271 + .../C6MartPeriodico_PL_AreeMonitorate_85.sql | 203 + ...odico_PL_AreeMonitorate_BK_eligoTitoli.sql | 265 + ...riodico_PL_AreeMonitorate_PRESBAGLIATA.sql | 250 + ...eriodico_PL_AreeMonitorate_SIMULAZIONE.sql | 246 + ...tPeriodico_PL_AreeMonitorate_bck201204.sql | 246 + ...iodico_PL_AreeMonitorate_bkup_20120101.sql | 239 + ...6MartPeriodico_PL_AreeMonitorate_preFD.sql | 283 + .../C6MartPeriodico_PL_D2_FD152Patrimonio.sql | 69 + ...riodico_PL_D2_FD160DettaglioProdottiBF.sql | 242 + ...ico_PL_D2_FD170RischioDiversificazione.sql | 280 + .../C6MartPeriodico_PL_D2_S150Anagrafica.sql | 32 + ...iodico_PL_D2_S150Anagrafica_BkUpParall.sql | 100 + ...rtPeriodico_PL_D2_S151ProfiloDiRischio.sql | 49 + .../C6MartPeriodico_PL_D2_S152Patrimonio.sql | 90 + ...ico_PL_D2_S152Patrimonio_20190225__ori.sql | 75 + ...D2_S152Patrimonio_20190225_preProquota.sql | 75 + ...iodico_PL_D2_S153PatrimonioFinanziario.sql | 107 + ...iodico_PL_D2_S154PatrimonioFinanziario.sql | 277 + ...iodico_PL_D2_S155PatrimonioImmobiliare.sql | 39 + ...imonioImmobiliare_20190225_preProquota.sql | 21 + ...atrimonioImmobiliare_20190502_ProQuota.sql | 39 + ...artPeriodico_PL_D2_S156ALtroPatrimonio.sql | 25 + ...tPeriodico_PL_D2_S157ConfrontoPiramidi.sql | 42 + ...2_S157ConfrontoPiramidi_BK_eligoTitoli.sql | 250 + ...PL_D2_S157ConfrontoPiramidi_BkUpParall.sql | 251 + ...ico_PL_D2_S157ConfrontoPiramidi_testFc.sql | 250 + ...artPeriodico_PL_D2_S158PiramideModello.sql | 51 + ...iodico_PL_D2_S159PatrimonioFinanziario.sql | 246 + ...eriodico_PL_D2_S160DettaglioProdottiBF.sql | 238 + ...D2_S160DettaglioProdottiBF_BK_20151222.sql | 226 + ...S160DettaglioProdottiBF_BK_eligoTitoli.sql | 225 + ...tPeriodico_PL_D2_S162DettaglioProdotti.sql | 102 + ...2_S163PatrimonioFinanziarioMAssetClass.sql | 67 + ...riodico_PL_D2_S164PolizzeAltriIstituti.sql | 31 + ...Periodico_PL_D2_S165FondiAltriIstituti.sql | 63 + ...artPeriodico_PL_D2_S166ContoCorrenteAI.sql | 24 + ..._PL_D2_S167DistribuzioneRischioCredito.sql | 632 ++ ...uzioneRischioCredito_PatrimonioNonRapp.sql | 314 + ...rtPeriodico_PL_D2_S168TabellaEmittenti.sql | 397 ++ ...PL_D2_S168TabellaEmittenti_BK_20151222.sql | 396 ++ ...PL_D2_S169RischiomercatoRischiocredito.sql | 557 ++ ...9RischiomercatoRischiocredito_20180716.sql | 227 + ...dico_PL_D2_S170RischioDiversificazione.sql | 280 + ...D2_S170RischioDiversificazione_NoLight.sql | 291 + ...atrimonioNonRappresentabileAssettClass.sql | 164 + ...rtPeriodico_PL_D3_S151ProfiloDiRischio.sql | 93 + ...PL_D_FD177ProfiloDiRischio_Adeguatezza.sql | 87 + ...o_PL_D_FD178IndicatoriEsitoAdeguatezza.sql | 306 + ...FD178IndicatoriEsitoAdeguatezza_preMUA.sql | 470 ++ .../C6MartPeriodico_PL_D_S150Anagrafica.sql | 100 + ...artPeriodico_PL_D_S151ProfiloDiRischio.sql | 49 + .../C6MartPeriodico_PL_D_S152Patrimonio.sql | 88 + ...riodico_PL_D_S153PatrimonioFinanziario.sql | 144 + ...riodico_PL_D_S154PatrimonioFinanziario.sql | 312 + ...riodico_PL_D_S155PatrimonioImmobiliare.sql | 21 + ...MartPeriodico_PL_D_S156ALtroPatrimonio.sql | 25 + ...rtPeriodico_PL_D_S157ConfrontoPiramidi.sql | 203 + ...MartPeriodico_PL_D_S158PiramideModello.sql | 51 + ...riodico_PL_D_S159PatrimonioFinanziario.sql | 246 + ...Periodico_PL_D_S160DettaglioProdottiBF.sql | 200 + ...rtPeriodico_PL_D_S162DettaglioProdotti.sql | 101 + ...D_S163PatrimonioFinanziarioMAssetClass.sql | 62 + ...eriodico_PL_D_S164PolizzeAltriIstituti.sql | 31 + ...tPeriodico_PL_D_S165FondiAltriIstituti.sql | 63 + ...MartPeriodico_PL_D_S166ContoCorrenteAI.sql | 23 + ...o_PL_D_S167DistribuzioneRischioCredito.sql | 623 ++ ...artPeriodico_PL_D_S168TabellaEmittenti.sql | 396 ++ ..._PL_D_S169RischiomercatoRischiocredito.sql | 462 ++ ...odico_PL_D_S170RischioDiversificazione.sql | 179 + ...atrimonioNonRappresentabileAssettClass.sql | 144 + ..._PL_D_S177ProfiloDiRischio_Adeguatezza.sql | 87 + ...o_Adeguatezza_20180706_PreCRNapolitano.sql | 71 + ...MartPeriodico_PL_D_S178CasiParticolari.sql | 122 + ...dico_PL_D_S178CasiParticolari_20181220.sql | 52 + ...icolari_BKP_20231114_PRE_RAFFORZAMENTO.sql | 86 + ...Periodico_PL_D_S178CasiParticolari_old.sql | 86 + ...L_D_S178CasiParticolari_report_ridotto.sql | 86 + ...co_PL_D_S178IndicatoriEsitoAdeguatezza.sql | 306 + ..._S178IndicatoriEsitoAdeguatezza_preMUA.sql | 470 ++ ...o_PL_D_S179EmittentiConcentrazioneAlta.sql | 28 + ...odico_PL_D_S180ProdottiComplessitaAlta.sql | 133 + ...D_S180ProdottiComplessitaAlta_20180715.sql | 41 + ..._PL_D_S180ProdottiComplessitaAlta_mini.sql | 89 + ...Periodico_PL_FD10PatrimonioFinanziario.sql | 18 + .../C6MartPeriodico_PL_FD181PreferenzeESG.sql | 51 + ...1PreferenzeESG_BKP_20250305_PreESG2024.sql | 38 + ...iodico_PL_FD182BISDettaglioProdottiESG.sql | 167 + ...Periodico_PL_FD182DettaglioProdottiESG.sql | 241 + ...tPeriodico_PL_FD185UCaratteristicheESG.sql | 142 + .../C6MartPeriodico_PL_FD187SfdrTaxESG.sql | 97 + .../C6MartPeriodico_PL_FD188PaiESG.sql | 88 + ..._FD190BisPatrimonioFinanziario_Modello.sql | 15 + ...0PatrimonioFinanziario_PTFRibilanciato.sql | 55 + ...D200BisDistribuzioneAssetClass_Modello.sql | 15 + .../C6MartPeriodico_PL_FD25Anagrafica.sql | 32 + ...eriodico_PL_FD43BISDettaglioProdottiBF.sql | 324 ++ ...rtPeriodico_PL_FD43DettaglioProdottiBF.sql | 264 + ..._GetClientNegativeCurrentAccountsValue.sql | 29 + ...tPeriodico_PL_GetClientNegativeGPEligo.sql | 32 + ...PL_GetClientSelfNegCurrentAccountValue.sql | 25 + ...MartPeriodico_PL_GetClientSelfNegative.sql | 29 + .../C6MartPeriodico_PL_Intermediari.sql | 27 + ...odico_PL_MP_FD133BISPrincipaliProdotti.sql | 53 + ...odico_PL_MP_FD134BISMonitoraggioLiqInv.sql | 52 + ...odico_PL_MP_FD134MonitoraggioLiquidita.sql | 78 + ...MartPeriodico_PL_MP_FD147SintesiValute.sql | 45 + ...ico_PL_MP_FD148DistribuzioneAssetClass.sql | 18 + ...istribuzioneAssetClass_PTFRibilanciato.sql | 45 + ...co_PL_MP_S128ProfiloRischioAdeguatezza.sql | 362 ++ ...schioAdeguatezza_BKP_PRE_RAFFORZAMENTO.sql | 359 ++ .../C6MartPeriodico_PL_MP_S129Patrimonio.sql | 29 + ...iodico_PL_MP_S129Patrimonio_BkUpParall.sql | 275 + ...tPeriodico_PL_MP_S129Patrimonio_bkp_fc.sql | 275 + ...eriodico_PL_MP_S130PrincipaliPosizioni.sql | 41 + ...Periodico_PL_MP_S131ContributoARischio.sql | 70 + ...co_PL_MP_S132ProfiloRischioAdeguatezza.sql | 30 + ...32ProfiloRischioAdeguatezza_BkUpParall.sql | 152 + ...riodico_PL_MP_S133AreeBisognoPrincProd.sql | 42 + ...133AreeBisognoPrincProd_BK_eligoTitoli.sql | 286 + ...MP_S133AreeBisognoPrincProd_BkUpParall.sql | 287 + ...iodico_PL_MP_S133BISPrincipaliProdotti.sql | 53 + ...iodico_PL_MP_S134BISMonitoraggioLiqInv.sql | 46 + ...iodico_PL_MP_S134MonitoraggioLiquidita.sql | 76 + ...ico_PL_MP_S135MonitoraggioInvestimento.sql | 45 + ...eriodico_PL_MP_S137BISCapitaleProtetto.sql | 48 + .../C6MartPeriodico_PL_MP_S137BIS_FOI80.sql | 52 + .../C6MartPeriodico_PL_MP_S137Bonus.sql | 33 + .../C6MartPeriodico_PL_MP_S138Proventi.sql | 23 + .../C6MartPeriodico_PL_MP_S139Scadenze.sql | 20 + ...odico_PL_MP_S140AnalisiRisparmioCharts.sql | 695 +++ ...alisiRisparmioCharts_20190123_PreLIGHT.sql | 338 ++ ..._MP_S140AnalisiRisparmioCharts_NoLight.sql | 344 ++ ...iodico_PL_MP_S141AnalisiRisparmioTable.sql | 384 ++ ...o_PL_MP_S141AnalisiRisparmioTable_test.sql | 451 ++ ...iodico_PL_MP_S142DistibuzionePerRating.sql | 92 + ..._MP_S142DistibuzionePerRating_20240803.sql | 78 + ...ico_PL_MP_S143DistibuzionePerEmittente.sql | 70 + ..._S143DistibuzionePerEmittente_20240803.sql | 57 + ...dico_PL_MP_S144DistibuzionePerScadenze.sql | 99 + ..._MP_S145DistibuzionePerTassoRendimento.sql | 64 + ...istibuzionePerTassoRendimento_20240803.sql | 50 + ...dico_PL_MP_S146RischioDiversificazione.sql | 69 + ...6MartPeriodico_PL_MP_S147SintesiValute.sql | 45 + ...dico_PL_MP_S148DistribuzioneAssetClass.sql | 18 + ...S148DistribuzioneAssetClass_BkUpParall.sql | 181 + ...co_PL_MP_S149DettaglioProdottiAffluent.sql | 12 + .../C6MartPeriodico_PL_MP_S173.sql | 9 + ...rtPeriodico_PL_MP_S173CapitaleProtetto.sql | 60 + .../C6MartPeriodico_PL_MP_S173FOI80.sql | 53 + .../C6MartPeriodico_PL_MP_S174Bonus.sql | 34 + ...MartPeriodico_PL_MP_S175BlueProtection.sql | 21 + ...odico_PL_MP_S175LineaProtettaMultiramo.sql | 20 + ...artPeriodico_PL_MP_S175WhiteProtection.sql | 21 + ...P_S176EvoluzioneLineaProtettaMultiramo.sql | 27 + ...ico_PL_MP_S44OperazioniUltimoTrimestre.sql | 23 + ...ico_PL_Prodotti_Non_Associati_Area_Inv.sql | 50 + ...ico_PL_S102DistribuzioneRischioCredito.sql | 621 ++ ...PL_S102DistribuzioneRischioCredito_OLD.sql | 279 + ...6MartPeriodico_PL_S103TabellaEmittenti.sql | 220 + ...tPeriodico_PL_S103TabellaEmittenti_OLD.sql | 178 + ...tPeriodico_PL_S10PatrimonioFinanziario.sql | 18 + ...PL_S10PatrimonioFinanziario_BkUpParall.sql | 122 + .../C6MartPeriodico_PL_S170LimitiMassimi.sql | 50 + ...eriodico_PL_S170LimitiMassimi_20180612.sql | 29 + ...eriodico_PL_S170LimitiMassimi_20180702.sql | 29 + ...Massimi_BKP_20231115_PRE_RAFFORZAMENTO.sql | 43 + ...o_PL_S172ProtezioneCapitaleAreeBisogno.sql | 167 + ...ezioneCapitaleAreeBisogno_20171201_ori.sql | 210 + ...ProtezioneCapitaleAreeBisogno_20171215.sql | 233 + ...ProtezioneCapitaleAreeBisogno_20171220.sql | 140 + ...ProtezioneCapitaleAreeBisogno_20171221.sql | 142 + ...ProtezioneCapitaleAreeBisogno_20180119.sql | 150 + ...pitaleAreeBisogno_20180717_PrePre1Pre2.sql | 150 + ...eBisogno_20190717_preFixArrotondamento.sql | 158 + ...72ProtezioneCapitaleAreeBisogno_pktest.sql | 150 + ...PL_S172ProtezioneCapitaleLineeProdotti.sql | 98 + .../C6MartPeriodico_PL_S181PreferenzeESG.sql | 57 + ...enzeESG_BKP_20231116_PRE_RAFFORZAMENTO.sql | 34 + ...PreferenzeESG_bkp_20250228_Pre_ESG2024.sql | 48 + ...riodico_PL_S182BISDettaglioProdottiESG.sql | 167 + ...ico_PL_S182BISDettaglioProdottiESG_Mon.sql | 165 + ...tPeriodico_PL_S182DettaglioProdottiESG.sql | 239 + ...ioProdottiESG_bkp_20250228_Pre_ESG2024.sql | 241 + .../C6MartPeriodico_PL_S183iCapital.sql | 63 + .../C6MartPeriodico_PL_S184CoerenzaESG.sql | 40 + ...iodico_PL_S184CoerenzaESG_BKP_20231013.sql | 35 + ...rtPeriodico_PL_S185UCaratteristicheESG.sql | 112 + ...teristicheESG_bkp_20250228_Pre_ESG2024.sql | 99 + ...riodico_PL_S186DettaglioPortafoglioSei.sql | 122 + .../C6MartPeriodico_PL_S187SfdrTaxESG.sql | 107 + .../C6MartPeriodico_PL_S188PaiESG.sql | 97 + ...ico_PL_S18PatrimonioFinanziarioRischio.sql | 86 + .../C6MartPeriodico_PL_S1Patrimonio.sql | 88 + ...C6MartPeriodico_PL_S23DettaglioRischio.sql | 78 + .../C6MartPeriodico_PL_S25Anagrafica.sql | 32 + ...tPeriodico_PL_S25Anagrafica_BkUpParall.sql | 100 + ...tPeriodico_PL_S26PatrimonioImmobiliare.sql | 21 + .../C6MartPeriodico_PL_S27ALtroPatrimonio.sql | 25 + ...rtPeriodico_PL_S2PatrimonioFinanziario.sql | 312 + ..._S31PatrimonioFinanziarioIntermediario.sql | 29 + ...PL_S32PatrimonioFinanziarioMAssetClass.sql | 62 + .../C6MartPeriodico_PL_S36ProfiloRischio.sql | 29 + .../C6MartPeriodico_PL_S37PiramideModello.sql | 30 + ...eriodico_PL_S42RischioDiversificazione.sql | 145 + ...Periodico_PL_S43BISDettaglioProdottiBF.sql | 299 + ..._PL_S43BISDettaglioProdottiBF_20160118.sql | 278 + ..._PL_S43BISDettaglioProdottiBF_20161215.sql | 287 + ...L_S43BISDettaglioProdottiBF_20161215_B.sql | 286 + .../C6MartPeriodico_PL_S43ContoCorrenteBF.sql | 44 + ...artPeriodico_PL_S43DettaglioProdottiBF.sql | 256 + ...ico_PL_S43DettaglioProdottiBF_20161215.sql | 240 + ...ico_PL_S43DettaglioProdottiBF_20161219.sql | 240 + ..._S43DettaglioProdottiBF_BK_eligoTitoli.sql | 238 + .../C6MartPeriodico_PL_S43LineaSelfBF.sql | 37 + ...L_S43LineaSelfBF_20181214_PreMioFoglio.sql | 25 + .../C6MartPeriodico_PL_S47ContoCorrenteBF.sql | 32 + ...6MartPeriodico_PL_S48DettaglioProdotti.sql | 99 + ...rtPeriodico_PL_S49PolizzeAltriIstituti.sql | 31 + ...MartPeriodico_PL_S50FondiAltriIstituti.sql | 63 + .../C6MartPeriodico_PL_S51ContoCorrenteAI.sql | 23 + ...eriodico_PL_S56PatrimonioBFAreeBisogno.sql | 64 + ...6MartPeriodico_PL_S57ConfrontoPiramidi.sql | 203 + ...tPeriodico_PL_S57ConfrontoPiramidi_OLD.sql | 204 + ...rtPeriodico_PL_S6PatrimonioFinanziario.sql | 144 + .../C6MartPeriodico_PL_S75GradoCopertura.sql | 352 ++ ...artPeriodico_PL_S75GradoCoperturaCompl.sql | 14 + ...tPeriodico_PL_S75GradoCoperturaInterno.sql | 14 + ...artPeriodico_PL_S75GradoCoperturaTerzi.sql | 14 + ...rtPeriodico_PL_S75GradoCopertura_check.sql | 186 + ...atrimonioNonRappresentabileAssettClass.sql | 512 ++ ...atrimonioNonRappresentabileAssettClass.sql | 364 ++ .../C6MartPeriodico_PL_S80Alternativa.sql | 80 + ...L_S80Alternativa_20181214_PreMioFoglio.sql | 73 + ...Periodico_PL_S80Alternativa_BkUpParall.sql | 270 + ...odico_PL_S80Alternativa_DidascalieNote.sql | 4 + .../C6MartPeriodico_PL_S80Alternativa_OLD.sql | 255 + ...MartPeriodico_PL_S80Alternativa_bkp_FC.sql | 270 + ...C6MartPeriodico_PL_S80Alternativa_perc.sql | 89 + ...rtPeriodico_PL_S80BisEvoluzioneRischio.sql | 20 + ...isEvoluzioneRischio_20170413_RM_DBname.sql | 20 + ..._PL_S80BisEvoluzioneRischio_BkUpParall.sql | 196 + ...Periodico_PL_S80EvoluzioneControvalore.sql | 128 + ...C6MartPeriodico_PL_S82BisDatiSintetici.sql | 103 + .../C6MartPeriodico_PL_S82DatiSintetici.sql | 78 + .../C6MartPeriodico_PL_S83DatiRendimento.sql | 127 + ...6MartPeriodico_PL_S83DatiRendimento_85.sql | 123 + ...ico_PL_S84ControvaloreRisorseApportate.sql | 45 + ...iodico_PL_S85RendimentoPortafoglioCono.sql | 81 + ...PL_S86PatrimonioFinanziarioMAssetClass.sql | 339 ++ ...oNonConsideratoNelCalcoloDelRendimento.sql | 79 + .../C6MartPeriodico_PL_S94Rischio.sql | 50 + ...C6MartPeriodico_PL_S95ProfiloDiRischio.sql | 87 + ...S95ProfiloDiRischio_20190204_PreMIFID2.sql | 49 + ..._PL_S96BisRischioMercatoRischioCredito.sql | 229 + ...ico_PL_S96RischiomercatoRischiocredito.sql | 227 + .../C6MartPeriodico_PL_SavingMap.sql | 19 + ...o_POPOLA_S132ProfiloRischioAdeguatezza.sql | 245 + ...2ProfiloRischioAdeguatezza_PROVVISORIA.sql | 119 + ...rofiloRischioAdeguatezza_pre_selective.sql | 119 + .../C6MartPeriodico_PROM_TuttiIPortafogli.sql | 52 + ...MartPeriodico_Popola_D2_S150Anagrafica.sql | 99 + ...0PatrimonioFinanziario_PTFRibilanciato.sql | 269 + ...rimonioFinanziario_PTFRibilanciato_OLD.sql | 249 + ...istribuzioneAssetClass_PTFRibilanciato.sql | 268 + ...ibuzioneAssetClass_PTFRibilanciato_OLD.sql | 225 + ...iodico_Popola_S10PatrimonioFinanziario.sql | 224 + ...S10PatrimonioFinanziario_pre_selective.sql | 108 + ...Periodico_Popola_S133_S157DatiPiramide.sql | 291 + ..._Popola_S133_S157DatiPiramide_20161202.sql | 279 + ..._Popola_S133_S157DatiPiramide_20161214.sql | 280 + ...la_S133_S157DatiPiramide_20170113_ORIG.sql | 291 + ...la_S133_S157DatiPiramide_pre_selective.sql | 291 + ...ico_Popola_S148DistribuzioneAssetClass.sql | 388 ++ ...8DistribuzioneAssetClass_pre_selective.sql | 190 + ...Popola_S179EmittentiConcentrazioneAlta.sql | 52 + ...79EmittentiConcentrazioneAlta_20180626.sql | 57 + ...oneAlta_BKP_20231115_PRE_RAFFORZAMENTO.sql | 48 + .../C6MartPeriodico_Popola_S25Anagrafica.sql | 102 + ...ico_Popola_S25Anagrafica_pre_selective.sql | 102 + ...riodico_Popola_S80BisEvoluzioneRischio.sql | 191 + ...oluzioneRischio_20170724_preCR_fasi1e2.sql | 183 + ...opola_S80BisEvoluzioneRischio_20171222.sql | 187 + ...Rischio_BKP_20231116_PRE_RAFFORZAMENTO.sql | 188 + ..._S80BisEvoluzioneRischio_pre_selective.sql | 183 + ...opola_S80_S129_EvoluzioneCTVPatrimonio.sql | 316 + ...neCTVPatrimonio_20170724_preCR_fasi1e2.sql | 275 + ..._S129_EvoluzioneCTVPatrimonio_20180108.sql | 283 + ...oneCTVPatrimonio_20181214_PreMioFoglio.sql | 286 + ...29_EvoluzioneCTVPatrimonio_percentuale.sql | 320 ++ ...luzioneCTVPatrimonio_percentuale_Fase3.sql | 142 + ..._EvoluzioneCTVPatrimonio_pre_selective.sql | 275 + ..._Popola_TB_S180ProdottiComplessitaAlta.sql | 41 + .../C6MartPeriodico_Popola_W6ASSETPERC.sql | 47 + ...tPeriodico_Popola_W6ASSETPERC_20190624.sql | 72 + ...tPeriodico_Popola_W6ASSETPERC_20190701.sql | 46 + ...6MartPeriodico_Popolamento_RP_W6CLIREP.sql | 182 + ...mento_RP_vTuttiIPortafogli_Aladdin_tab.sql | 79 + ...6MartPeriodico_ProfiloScaduto_Campione.sql | 19 + ...eriodico_RESTART_CONTROLLO_TRIMESTRALE.sql | 25 + .../C6MartPeriodico_RFA_SEGNALATI_SP.sql | 16 + .../C6MartPeriodico_RM_Sintesi_Cliente.sql | 28 + ...MartPeriodico_RP_AggiornaFlagContratto.sql | 119 + .../C6MartPeriodico_RP_DM_ANAG_CC_TERZI.sql | 105 + ...dico_RP_DM_ANAG_CC_TERZI_pre_selective.sql | 105 + .../C6MartPeriodico_RP_DM_ANAG_CLIENTI.sql | 144 + ...tPeriodico_RP_DM_ANAG_CLIENTI_20170409.sql | 137 + ..._ANAG_CLIENTI_20170409_AGENTEisNotNull.sql | 142 + ...P_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql | 261 + ..._CLIENTI_PER_GENERAZIONE_MAIL_20190612.sql | 254 + ...odico_RP_DM_ANAG_CLIENTI_pre_selective.sql | 137 + .../C6MartPeriodico_RP_DM_ANAG_PRODOTTI.sql | 94 + ...artPeriodico_RP_DM_ANAG_PRODOTTI_TERZI.sql | 80 + ...P_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql | 80 + ...rtPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE.sql | 52 + ...RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK.sql | 51 + ..._DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql | 51 + ...dico_RP_DM_ANAG_PRODOTTI_pre_selective.sql | 94 + .../C6MartPeriodico_RP_DM_ANAG_PROMOTORI.sql | 144 + ...ico_RP_DM_ANAG_PROMOTORI_pre_selective.sql | 123 + .../C6MartPeriodico_RP_DM_AREA_BISOGNO.sql | 47 + ...odico_RP_DM_AREA_BISOGNO_pre_selective.sql | 47 + .../C6MartPeriodico_RP_DM_ASSETCLASS.sql | 59 + ...C6MartPeriodico_RP_DM_ASSETCLASS_TERZI.sql | 58 + ...o_RP_DM_ASSETCLASS_TERZI_pre_selective.sql | 58 + ...riodico_RP_DM_ASSETCLASS_pre_selective.sql | 59 + .../C6MartPeriodico_RP_DM_ASSET_PERC.sql | 73 + ...C6MartPeriodico_RP_DM_ASSET_PERC_TERZI.sql | 80 + ...o_RP_DM_ASSET_PERC_TERZI_pre_selective.sql | 80 + ...riodico_RP_DM_ASSET_PERC_pre_selective.sql | 72 + ...Periodico_RP_DM_BONIFICA_DTRIF0_TSCABP.sql | 26 + ...NIFICA_PATRIMONIO_IMMOBILIARE_ProQuota.sql | 62 + .../C6MartPeriodico_RP_DM_BrsClienteESG.sql | 77 + ...MartPeriodico_RP_DM_CLIENTI_RISORSE_NA.sql | 58 + .../C6MartPeriodico_RP_DM_COMPLESSITA.sql | 84 + ...iodico_RP_DM_COMPLESSITA_pre_selective.sql | 84 + ...artPeriodico_RP_DM_CONO_PIANIFICAZIONE.sql | 93 + ...P_DM_CONO_PIANIFICAZIONE_pre_selective.sql | 93 + .../C6MartPeriodico_RP_DM_CONTRATTOSEI.sql | 119 + ...odico_RP_DM_CONTRATTOSEI_20170407.SAVE.sql | 205 + ...odico_RP_DM_CONTRATTOSEI_pre_selective.sql | 203 + ...tPeriodico_RP_DM_CONTROLLO_TRIMESTRALE.sql | 19 + ...DM_CONTROLLO_TRIMESTRALE_pre_selective.sql | 19 + ...dico_RP_DM_Confronto_IndicatoreRischio.sql | 70 + ...dico_RP_DM_DETTAGLIO_ASUL.20170320.OBS.sql | 227 + .../C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.sql | 350 ++ ...eriodico_RP_DM_DETTAGLIO_ASUL_20170123.sql | 227 + ...artPeriodico_RP_DM_DETTAGLIO_ASUL_TEMP.sql | 106 + ...artPeriodico_RP_DM_DETTAGLIO_ASUL_luca.sql | 129 + ...ico_RP_DM_DETTAGLIO_ASUL_pre_selective.sql | 227 + ...6MartPeriodico_RP_DM_ESG_ANAG_METRICHE.sql | 182 + ...o_RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4.sql | 175 + ...P_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql | 137 + .../C6MartPeriodico_RP_DM_GestioneEmail.sql | 218 + .../C6MartPeriodico_RP_DM_GestioneEmailNA.sql | 241 + ...MartPeriodico_RP_DM_GestioneEmailNOPRO.sql | 244 + ...6MartPeriodico_RP_DM_IndicatoreRischio.sql | 322 ++ ...rtPeriodico_RP_DM_MAIL_PROFILI_RISCHIO.sql | 29 + ...rtPeriodico_RP_DM_MONITORAGGIO_ATTUALE.sql | 109 + ..._DM_MONITORAGGIO_ATTUALE_pre_selective.sql | 110 + ...Periodico_RP_DM_MONITORAGGIO_DETTAGLIO.sql | 147 + ..._RP_DM_MONITORAGGIO_DETTAGLIO_20161220.sql | 140 + ...ONITORAGGIO_DETTAGLIO_20171218_preRFMP.sql | 140 + ..._RP_DM_MONITORAGGIO_DETTAGLIO_20181213.sql | 143 + ..._RP_DM_MONITORAGGIO_DETTAGLIO_20190112.sql | 146 + ...RAGGIO_DETTAGLIO_20190314_preMioFoglio.sql | 150 + ...M_MONITORAGGIO_DETTAGLIO_pre_selective.sql | 140 + ...tPeriodico_RP_DM_MONITORAGGIO_INIZIALE.sql | 137 + ...DM_MONITORAGGIO_INIZIALE_pre_selective.sql | 136 + ...artPeriodico_RP_DM_MONITORAGGIO_REPORT.sql | 99 + ...ITORAGGIO_REPORT_20181214_PreMioFoglio.sql | 92 + ...P_DM_MONITORAGGIO_REPORT_pre_selective.sql | 92 + ...rtPeriodico_RP_DM_MONITORAGGIO_STORICO.sql | 164 + ..._DM_MONITORAGGIO_STORICO_pre_selective.sql | 164 + ...C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO.sql | 86 + ...o_RP_DM_PATRIMONIO_ALTRO_pre_selective.sql | 86 + .../C6MartPeriodico_RP_DM_PATRIMONIO_BF.sql | 778 +++ ...dico_RP_DM_PATRIMONIO_BF_20170407.SAVE.sql | 743 +++ ...ONIO_BF_20170421_4b_prometeria_err_fix.sql | 744 +++ ...odico_RP_DM_PATRIMONIO_BF_20171019_err.sql | 746 +++ ...odico_RP_DM_PATRIMONIO_BF_BKP_20231017.sql | 768 +++ ...ico_RP_DM_PATRIMONIO_BF_BK_eligoTitoli.sql | 716 +++ ...odico_RP_DM_PATRIMONIO_BF_DaCancellare.sql | 752 +++ ...C6MartPeriodico_RP_DM_PATRIMONIO_BF_FC.sql | 716 +++ ...MartPeriodico_RP_DM_PATRIMONIO_BF_TEST.sql | 717 +++ ...dico_RP_DM_PATRIMONIO_BF_pre_selective.sql | 743 +++ ...Periodico_RP_DM_PATRIMONIO_IMMOBILIARE.sql | 79 + ...TRIMONIO_IMMOBILIARE_20190205_ProQuota.sql | 88 + ..._RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql | 106 + ...M_PATRIMONIO_IMMOBILIARE_pre_selective.sql | 79 + ...C6MartPeriodico_RP_DM_PATRIMONIO_TERZI.sql | 163 + ..._RP_DM_PATRIMONIO_TERZI_20170427_Patr3.sql | 151 + ...iodico_RP_DM_PATRIMONIO_TERZI_20180315.sql | 153 + ...o_RP_DM_PATRIMONIO_TERZI_pre_selective.sql | 151 + .../C6MartPeriodico_RP_DM_PIRAMIDE_MOD.sql | 211 + ...tPeriodico_RP_DM_PIRAMIDE_MOD_20161202.sql | 105 + ...tPeriodico_RP_DM_PIRAMIDE_MOD_20170119.sql | 107 + ...odico_RP_DM_PIRAMIDE_MOD_pre_selective.sql | 107 + .../C6MartPeriodico_RP_DM_PIRAMIDE_VERT.sql | 65 + .../C6MartPeriodico_RP_DM_POPOLACONTRATTI.sql | 174 + ...6MartPeriodico_RP_DM_QD_VAR_RISK_WEEK2.sql | 29 + .../C6MartPeriodico_RP_DM_W6CATESG.sql | 65 + .../C6MartPeriodico_RP_DM_W6CKADEG.sql | 170 + .../C6MartPeriodico_RP_DM_W6CLIESG.sql | 154 + .../C6MartPeriodico_RP_DM_W6IndPtf.sql | 81 + .../C6MartPeriodico_RP_DM_WSEIAN2.sql | 96 + .../C6MartPeriodico_RP_DM_WSEICAP.sql | 74 + .../C6MartPeriodico_RP_DM_WSEICC.sql | 55 + .../C6MartPeriodico_RP_DM_WSEIRPF.sql | 100 + ..._RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql | 90 + ...MartPeriodico_RP_PROM_TuttiIPortafogli.sql | 44 + ...artPeriodico_RP_PROM_TuttiIPortafogli2.sql | 59 + ...P_PROM_TuttiIPortafogli2_20170409_TEST.sql | 59 + ...ico_RP_PROM_TuttiIPortafogli2_20170410.sql | 55 + ...PROM_TuttiIPortafogli2_20170410_EXCLCF.sql | 52 + ...ROM_TuttiIPortafogli2_20170421_EXCL_CF.sql | 56 + ...ortafogli2_20180615_NewMotorePrometeia.sql | 74 + ...o_RP_PROM_TuttiIPortafogli2_Indicatore.sql | 161 + ...icatore_20180711_AZZERARE_CTV_NEGATIVI.sql | 140 + ...ndicatore_20180719_preAzzeramentoCCNeg.sql | 86 + ..._TuttiIPortafogli2_Indicatore_20181018.sql | 140 + ...tafogli2_Indicatore_20181018_SingoloCF.sql | 140 + ...P_PROM_TuttiIPortafogli2_Indicatore_IN.sql | 149 + ...TuttiIPortafogli2_Indicatore_ORIGINALE.sql | 149 + ...RP_PROM_TuttiIPortafogli_pre_selective.sql | 44 + ...tPeriodico_RP_SRV_CHECK_C6_GIORNALIERO.sql | 588 ++ ...Periodico_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql | 84 + ...C6MartPeriodico_RP_ST_ClientiPtfNonDiv.sql | 119 + .../C6MartPeriodico_RP_TCPTAB.sql | 56 + .../C6MartPeriodico_RP_Tipologia_Campione.sql | 73 + ...C6MartPeriodico_RP_Tipologia_Tabellone.sql | 57 + ...iodico_RP_controlla100_PiramideModello.sql | 274 + .../C6MartPeriodico_SP_DQ_BonificaDati.sql | 1221 ++++ ...odico_SP_DQ_BonificaDati_pre_selective.sql | 249 + ...C6MartPeriodico_SP_DQ_CaratteriAnomali.sql | 52 + ...o_SP_DQ_CaratteriAnomali_pre_selective.sql | 48 + ...tPeriodico_SP_DQ_DataAvvioMonitoraggio.sql | 42 + ...DQ_DataAvvioMonitoraggio_pre_selective.sql | 42 + ...riodico_SP_DQ_DataValorizzazioneTRenab.sql | 69 + ...DataValorizzazioneTRenab_pre_selective.sql | 69 + ...MartPeriodico_SP_DQ_DeleteSegnalazioni.sql | 43 + ...SP_DQ_DeleteSegnalazioni_pre_selective.sql | 43 + ...ico_SP_DQ_DescCatalogoProdottiScadenze.sql | 31 + ...CatalogoProdottiScadenze_pre_selective.sql | 31 + ...rtPeriodico_SP_DQ_DescProdottoProventi.sql | 38 + ..._DQ_DescProdottoProventi_pre_selective.sql | 38 + ...tPeriodico_SP_DQ_PiramideAreeDuplicate.sql | 72 + ...DQ_PiramideAreeDuplicate_pre_selective.sql | 72 + .../C6MartPeriodico_SP_DQ_PositionID.sql | 36 + ...rtPeriodico_SP_DQ_PositionIDConsulenza.sql | 36 + ..._DQ_PositionIDConsulenza_pre_selective.sql | 36 + ...riodico_SP_DQ_PositionID_pre_selective.sql | 36 + ...MartPeriodico_SP_DQ_PosizioniDuplicate.sql | 211 + ...tPeriodico_SP_DQ_ProgettoDuplicatoArea.sql | 42 + .../C6MartPeriodico_SP_DQ_ScartiAPI.sql | 38 + ...MartPeriodico_SP_DQ_ScriviDisallineati.sql | 44 + ...SP_DQ_ScriviDisallineati_pre_selective.sql | 44 + ...tPeriodico_SP_DQ_SelezioneDisallineati.sql | 146 + ...lezioneDisallineati_pre_selective_luca.sql | 143 + ...rtPeriodico_SP_DQ_VerificaDisallineati.sql | 53 + ..._DQ_VerificaDisallineati_pre_selective.sql | 53 + .../C6MartPeriodico_SP_DQ_VerificaEmail.sql | 37 + ...Periodico_SP_DQ_VerificaEmail_20161010.sql | 36 + ...dico_SP_DQ_VerificaEmail_pre_selective.sql | 37 + ..._SP_Patrimonio_BF_Percentuale_Piramide.sql | 64 + ...odico_SP_PreTotaliReportGenerazioneZip.sql | 203 + ...PreTotaliReportGenerazioneZip_20181017.sql | 168 + ...eriodico_SP_TROVA_REPORT_DA_RIGENERARE.sql | 17 + ...eriodico_SP_TotaliReportGenerazioneZip.sql | 38 + ...odico_SP_Valorizza_Stati_semaforo_TRIM.sql | 909 +++ ...ico_SP_statistiche_app_rendicontazione.sql | 330 ++ ...lineamento_Pianificazione_Monitoraggio.sql | 166 + ...nificazione_Monitoraggio_pre_selective.sql | 166 + ...co_SRV_CALCOLA_BILANCIAMENTO_GENERATOR.sql | 21 + .../C6MartPeriodico_SRV_CHECK_INDIRIZZI.sql | 57 + ...riodico_SRV_ESTRAZIONE_FASE_2_PRE_MART.sql | 56 + ...6MartPeriodico_SRV_LISTA_CLIENTI_FASE2.sql | 35 + ...iodico_SRV_LISTA_DISALLINEAMENTI_MONIT.sql | 170 + ...TA_DISALLINEAMENTI_MONIT_pre_selective.sql | 170 + ...C6MartPeriodico_SRV_NUOVA_ELABORAZIONE.sql | 15 + ...iodico_SRV_NUOVA_ELABORAZIONE_20151009.sql | 15 + ...RV_NUOVA_ELABORAZIONE_bk_test_20151014.sql | 15 + ...o_SRV_NUOVA_ELABORAZIONE_pre_selective.sql | 15 + .../C6MartPeriodico_SRV_QUANTO_MANCA.sql | 4 + ...C6MartPeriodico_SRV_SELEZIONA_CAMPIONE.sql | 4986 ++++++++++++++++ ...iodico_SRV_SELEZIONA_CAMPIONE_20160412.sql | 4865 ++++++++++++++++ ...iodico_SRV_SELEZIONA_CAMPIONE_20161012.sql | 4902 ++++++++++++++++ ...IONA_CAMPIONE_20180711_preExcludedList.sql | 4960 ++++++++++++++++ ...ZIONA_CAMPIONE_20190116_PreNewFunction.sql | 4978 ++++++++++++++++ ...iodico_SRV_SELEZIONA_CAMPIONE_20230915.sql | 4986 ++++++++++++++++ .../C6MartPeriodico_SRV_STORICIZZAZIONE.sql | 618 ++ ...odico_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql | 49 + ...ICIZZAZIONE_GLOBAL_ERROR_pre_selective.sql | 49 + ...6MartPeriodico_SRV_STORICIZZAZIONE_OLD.sql | 444 ++ .../C6MartPeriodico_SRV_TABELLE_IN_MART.sql | 98 + ...dico_SRV_TABELLE_IN_MART_pre_selective.sql | 98 + ...6MartPeriodico_SRV_TRUNCATE_RP_STAGING.sql | 52 + ...ico_SRV_Verifica_DISALLINEAMENTI_MONIT.sql | 140 + ...6MartPeriodico_Segnala_Disallineamenti.sql | 32 + ...odico_Segnala_Disallineamenti_20190129.sql | 23 + ...rtPeriodico_Segnala_ProdottiNonCensiti.sql | 188 + ...co_Segnala_ProdottiNonCensiti_20190129.sql | 179 + .../C6MartPeriodico_SetDocumentMissing.sql | 6 + ...rtPeriodico_UPDATE_TABELLE_CAMBIO_RETE.sql | 57 + .../C6MartPeriodico_UpdateStatoReport.sql | 9 + .../C6MartPeriodico_Update_TB_Campione.sql | 9 + .../C6MartPeriodico_Update_TB_Campione_GB.sql | 9 + .../C6MartPeriodico_Util_Test_PL.sql | 81 + ...co_Verifica_esecuzione_API_Trimestrale.sql | 14 + ...tPeriodico_inserisci_promotori_fittizi.sql | 19 + ...rtPeriodico_rp_aggiornaDataValidazione.sql | 43 + .../C6MartPeriodico_sp_BlackList_GetAll.sql | 7 + ...eriodico_sp_BlackList_GetBlockedNumber.sql | 16 + ...tPeriodico_sp_BlackList_Ricerca_GetAll.sql | 10 + .../C6MartPeriodico_sp_BlackList_Save_Row.sql | 12 + ...6MartPeriodico_sp_BlackList_Update_Row.sql | 14 + ...6MartPeriodico_sp_GetNumeroZipProdotti.sql | 18 + .../C6MartPeriodico_sp_UpdateIdReportPDF.sql | 15 + .../C6MartPeriodico_sp_caricaBlacklist.sql | 50 + ...iodico_sp_caricaBlacklist_RFAMinus_old.sql | 28 + .../C6MartPeriodico_sp_getDatiReport.sql | 42 + ...ico_sp_getDatiReport_checkFileCorrotti.sql | 44 + ...etDatiReport_checkFileCorrotti_Griffin.sql | 45 + .../C6MartPeriodico_sp_getIDReport.sql | 11 + .../C6MartPeriodico_srv_excel_zip.sql | 7 + ...eriodico_start_ConvertiExcel_tabellone.sql | 7 + ...riodico_start_email_Approval_tabellone.sql | 6 + ...o_start_email_Certificazione_tabellone.sql | 6 + ...mail_ConfermaPostalizzazione_tabellone.sql | 6 + ...o_start_email_CongelamentoDB_tabellone.sql | 6 + ...riodico_start_email_position_tabellone.sql | 6 + ...Periodico_start_esportazione_tabellone.sql | 17 + ..._temp_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql | 73 + ...MartPeriodico_temp_RP_DM_GestioneEmail.sql | 226 + ...MartPeriodico_temp_RP_DM_PATRIMONIO_BF.sql | 302 + .../C6MartPeriodico_test_CaricamentoPL_fc.sql | 19 + .../C6MartPeriodico_zzzPL_S80Alternativa.sql | 239 + .../C6MartPeriodico_zzzRP_DM_EMAIL_PB.sql | 87 + .../C6Mart_AL_AggiornaPortafoglioCliente.sql | 197 + .../C6Mart_CercaCaratteriAnomali.sql | 361 ++ .../C6Mart_Controlli_RepGiornaliera.sql | 530 ++ .../C6Mart_DM_AGGIORNA_CLIENTE.sql | 43 + .../C6Mart_DM_ALBERO_PRODOTTI.sql | 50 + .../C6Mart_DM_ALL_PATRIMONIO.sql | 326 ++ sql/storedProduzione/C6Mart_DM_ANAG_CC.sql | 78 + .../C6Mart_DM_ANAG_CC_TERZI.sql | 88 + .../C6Mart_DM_ANAG_CLIENTI.sql | 170 + .../C6Mart_DM_ANAG_CLIENTI_PREV.sql | 60 + .../C6Mart_DM_ANAG_CONTRATTI.sql | 79 + .../C6Mart_DM_ANAG_CONTRATTI_ASS.sql | 86 + .../C6Mart_DM_ANAG_EMITTENTI.sql | 25 + .../C6Mart_DM_ANAG_PRODOTTI.sql | 88 + .../C6Mart_DM_ANAG_PRODOTTI_TERZI.sql | 73 + .../C6Mart_DM_ANAG_PROMOTORI.sql | 120 + sql/storedProduzione/C6Mart_DM_ANAG_SELF.sql | 74 + ...art_DM_ANAG_SELF_20181129_PreMioFoglio.sql | 67 + .../C6Mart_DM_ANAG_SELF_BK_eligoTitoli.sql | 62 + .../C6Mart_DM_AREA_BISOGNO.sql | 52 + sql/storedProduzione/C6Mart_DM_ASSETCLASS.sql | 53 + .../C6Mart_DM_ASSETCLASS_TERZI.sql | 55 + sql/storedProduzione/C6Mart_DM_ASSET_PERC.sql | 70 + .../C6Mart_DM_ASSET_PERC_TERZI.sql | 79 + .../C6Mart_DM_CATEGORIE_PRODOTTO.sql | 47 + .../C6Mart_DM_CLIENTI_NON_MIGRATI.sql | 12 + .../C6Mart_DM_CODIFICA_CREDITRISK.sql | 50 + .../C6Mart_DM_CODIFICA_PIRAMIDI.sql | 25 + .../C6Mart_DM_CODIFICA_RISCHIO.sql | 56 + .../C6Mart_DM_CREA_POSITIONID.sql | 77 + .../C6Mart_DM_DATI_REPORT.sql | 47 + .../C6Mart_DM_DETTAGLIO_ASUL.sql | 100 + sql/storedProduzione/C6Mart_DM_EMAIL_PB.sql | 85 + .../C6Mart_DM_ESITI_CARICAMENTI.sql | 29 + .../C6Mart_DM_GER_PROMOTORI.sql | 30 + .../C6Mart_DM_GestioneEmail.sql | 298 + .../C6Mart_DM_GestioneEmailNA.sql | 233 + .../C6Mart_DM_GestioneEmailNOPRO.sql | 235 + sql/storedProduzione/C6Mart_DM_MIFID.sql | 117 + .../C6Mart_DM_MIFID_20181004.sql | 101 + .../C6Mart_DM_PARTITE_VIAGGIANTI.sql | 78 + .../C6Mart_DM_PATRIMONIO_AGG.sql | 59 + .../C6Mart_DM_PATRIMONIO_ALTRO.sql | 69 + .../C6Mart_DM_PATRIMONIO_BF.sql | 362 ++ .../C6Mart_DM_PATRIMONIO_BF_old.sql | 358 ++ .../C6Mart_DM_PATRIMONIO_EMITTENTI.sql | 160 + .../C6Mart_DM_PATRIMONIO_IMMOBILIARE.sql | 82 + .../C6Mart_DM_PATRIMONIO_TERZI.sql | 162 + .../C6Mart_DM_PIRAMIDE_MOD.sql | 85 + .../C6Mart_DM_PIRAMIDE_VERT.sql | 61 + .../C6Mart_DM_PREVIDENZIALE.sql | 88 + .../C6Mart_DM_PopolaContratti.sql | 244 + .../C6Mart_DM_PopolaContratti_20161026.sql | 245 + .../C6Mart_DM_PopolaContratti_old240213.sql | 271 + .../C6Mart_DM_RISCHIOEMITTENTI.sql | 15 + .../C6Mart_DM_RISCHIO_AGGREGATO.sql | 106 + .../C6Mart_DM_RISCHIO_AGGREGATO_20181003.sql | 87 + .../C6Mart_DM_RISCHIO_AGGREGATO_old.sql | 81 + ...art_DM_RISCHIO_AGGREGATO_pre_selective.sql | 87 + .../C6Mart_DM_RISCHIO_DETTAGLIO.sql | 41 + ...art_DM_RISCHIO_DETTAGLIO_pre_selective.sql | 41 + .../C6Mart_DM_STRUTTURA_RETE.sql | 278 + .../C6Mart_DM_STRUTTURA_RETE_20160427.sql | 268 + .../C6Mart_DM_STRUTTURA_RETE_20161024.sql | 268 + .../C6Mart_DM_TEST_QUALITY.sql | 52 + .../C6Mart_DM_TEST_QUALITY_20181003.sql | 47 + .../C6Mart_DM_VAR_ADEGUATEZZA.sql | 41 + ...fica_Concentrazione_Prodotti_Complessi.sql | 141 + .../C6Mart_GESTIONE_C6_S_Generator.sql | 22 + .../C6Mart_GESTIONE_C6_S_Generator_AND.sql | 152 + .../C6Mart_GESTIONE_C6_S_Generator_EN.sql | 132 + .../C6Mart_GESTIONE_C6_S_Generator_OLD.sql | 138 + ...6_S_Generator_bkp_20250228_Pre_ESG2024.sql | 22 + ...6Mart_GESTIONE_C6_S_QueryDatiComuniSql.sql | 13 + .../C6Mart_GESTIONE_C6_S_Vincoli.sql | 25 + ...6Mart_GESTIONE_CRUSCOTTO_ARCHIVIAZIONE.sql | 26 + .../C6Mart_GESTIONE_INSERT_PDF_FTP.sql | 61 + ...6Mart_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql | 42 + .../C6Mart_GESTIONE_INSERT_PDF_FTP_TEST.sql | 62 + .../C6Mart_GESTIONE_INSERT_ZIP.sql | 54 + ...t_GESTIONE_SELECT_EMAIL_DA_INVIARE.old.sql | 190 + ...6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql | 260 + ...ESTIONE_SELECT_EMAIL_DA_INVIARE.test_e.sql | 235 + ...TIONE_SELECT_EMAIL_DA_INVIARE_20190802.sql | 234 + ...rt_GESTIONE_SELECT_EMAIL_DA_INVIARE_CU.sql | 205 + ...t_GESTIONE_SELECT_EMAIL_DA_INVIARE_new.sql | 220 + .../C6Mart_GESTIONE_SELECT_FTP_DA_INVIARE.sql | 28 + .../C6Mart_GESTIONE_SELECT_FTP_INVIATI.sql | 43 + ...t_GESTIONE_SELECT_FTP_INVIATI_TEST_NEW.sql | 43 + .../C6Mart_GESTIONE_SELECT_HOST.sql | 26 + ...6Mart_GESTIONE_SELECT_HOST_GIORNALIERO.sql | 40 + ...art_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql | 120 + ...NE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql | 120 + ...GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql | 20 + ...art_GESTIONE_SELECT_PDF_GETDATATHREADS.sql | 308 + ...IONE_SELECT_PDF_GETDATATHREADS_Adriano.sql | 142 + ...ONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql | 303 + ...NE_SELECT_PDF_GETDATATHREADS_Cruscotto.sql | 131 + ...ESTIONE_SELECT_PDF_GETDATATHREADS_Luca.sql | 174 + ..._GESTIONE_SELECT_PDF_GETDATATHREADS_NA.sql | 109 + ...NE_SELECT_PDF_GETDATATHREADS_NA_A.TEMP.sql | 119 + ...ESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.sql | 294 + ...ETDATATHREADS_NA_A_20180309_PreServizi.sql | 118 + ...T_PDF_GETDATATHREADS_NA_A_20180928_OLD.sql | 129 + ...ELECT_PDF_GETDATATHREADS_NA_A_20240412.sql | 486 ++ ...ELECT_PDF_GETDATATHREADS_NA_A_CAMPIONE.sql | 315 + ...ONE_SELECT_PDF_GETDATATHREADS_NA_A_ESG.sql | 299 + ...IONE_SELECT_PDF_GETDATATHREADS_NA_A_GB.sql | 294 + ...NE_SELECT_PDF_GETDATATHREADS_NA_A_Pino.sql | 152 + ...NE_SELECT_PDF_GETDATATHREADS_NA_A_TEST.sql | 126 + ...LECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P.sql | 118 + ...E_SELECT_PDF_GETDATATHREADS_NA_A_Test2.sql | 296 + ...LECT_PDF_GETDATATHREADS_NA_TEST_ANDREA.sql | 107 + ...IONE_SELECT_PDF_GETDATATHREADS_NA_orig.sql | 108 + .../C6Mart_GESTIONE_SELECT_ZIP_DA_INVIARE.sql | 24 + .../C6Mart_GESTIONE_S_Intermediari.sql | 21 + .../C6Mart_GESTIONE_UPDATE_EMAIL_HOST.sql | 11 + .../C6Mart_GESTIONE_UPDATE_EMAIL_INVIATE.sql | 36 + .../C6Mart_GESTIONE_UPDATE_FTP.sql | 33 + .../C6Mart_GESTIONE_UPDATE_ZIP.sql | 16 + .../C6Mart_GETDATATHREADS_LETTERE.sql | 271 + .../C6Mart_GETDATATHREADS_LETTERE_GB.sql | 268 + .../C6Mart_GET_RECUPERO_LETTERE.sql | 67 + sql/storedProduzione/C6Mart_GetRiskArea.sql | 20 + ...nvioLetteraBenvenuto_ExcludedListApply.sql | 34 + .../C6Mart_PL_D2_FD150Anagrafica.sql | 91 + ...6Mart_PL_D2_FD159PatrimonioFinanziario.sql | 250 + .../C6Mart_PL_D2_FD160DettaglioProdottiBF.sql | 218 + ...art_PL_D2_FD170RischioDiversificazione.sql | 236 + .../C6Mart_PL_D2_S150Anagrafica.sql | 91 + .../C6Mart_PL_D2_S151ProfiloDiRischio.sql | 48 + .../C6Mart_PL_D2_S152Patrimonio.sql | 96 + ...PL_D2_S152Patrimonio_20190107_ProQuota.sql | 96 + .../C6Mart_PL_D2_S152Patrimonio_20190111.sql | 87 + ...C6Mart_PL_D2_S153PatrimonioFinanziario.sql | 142 + ...C6Mart_PL_D2_S154PatrimonioFinanziario.sql | 312 + ...C6Mart_PL_D2_S155PatrimonioImmobiliare.sql | 37 + ...atrimonioImmobiliare_20190107_ProQuota.sql | 28 + ..._D2_S155PatrimonioImmobiliare_20190111.sql | 21 + .../C6Mart_PL_D2_S156ALtroPatrimonio.sql | 25 + .../C6Mart_PL_D2_S157ConfrontoPiramidi.sql | 257 + ...2_S157ConfrontoPiramidi_BK_eligoTitoli.sql | 252 + .../C6Mart_PL_D2_S158PiramideModello.sql | 54 + ...C6Mart_PL_D2_S159PatrimonioFinanziario.sql | 250 + .../C6Mart_PL_D2_S160DettaglioProdottiBF.sql | 213 + ...S160DettaglioProdottiBF_BK_eligoTitoli.sql | 212 + .../C6Mart_PL_D2_S162DettaglioProdotti.sql | 98 + ...2_S163PatrimonioFinanziarioMAssetClass.sql | 61 + ...nioFinanziarioMAssetClass_NEW_20160908.sql | 56 + .../C6Mart_PL_D2_S164PolizzeAltriIstituti.sql | 30 + .../C6Mart_PL_D2_S165FondiAltriIstituti.sql | 62 + .../C6Mart_PL_D2_S166ContoCorrenteAI.sql | 23 + ..._PL_D2_S167DistribuzioneRischioCredito.sql | 629 ++ .../C6Mart_PL_D2_S168TabellaEmittenti.sql | 397 ++ ...PL_D2_S169RischiomercatoRischiocredito.sql | 448 ++ ...Mart_PL_D2_S170RischioDiversificazione.sql | 236 + ...atrimonioNonRappresentabileAssettClass.sql | 158 + .../C6Mart_PL_D3_FD151ProfiloDiRischio.sql | 71 + .../C6Mart_PL_D3_S151ProfiloDiRischio.sql | 72 + ...PL_D_FD177ProfiloDiRischio_Adeguatezza.sql | 68 + ...t_PL_D_FD178IndicatoriEsitoAdeguatezza.sql | 128 + .../C6Mart_PL_D_S150Anagrafica.sql | 91 + .../C6Mart_PL_D_S151ProfiloDiRischio.sql | 48 + .../C6Mart_PL_D_S152Patrimonio.sql | 87 + .../C6Mart_PL_D_S153PatrimonioFinanziario.sql | 147 + .../C6Mart_PL_D_S154PatrimonioFinanziario.sql | 316 + .../C6Mart_PL_D_S155PatrimonioImmobiliare.sql | 21 + .../C6Mart_PL_D_S156ALtroPatrimonio.sql | 25 + .../C6Mart_PL_D_S157ConfrontoPiramidi.sql | 203 + .../C6Mart_PL_D_S158PiramideModello.sql | 54 + .../C6Mart_PL_D_S159PatrimonioFinanziario.sql | 118 + .../C6Mart_PL_D_S160DettaglioProdottiBF.sql | 192 + .../C6Mart_PL_D_S162DettaglioProdotti.sql | 98 + ...D_S163PatrimonioFinanziarioMAssetClass.sql | 61 + .../C6Mart_PL_D_S164PolizzeAltriIstituti.sql | 31 + .../C6Mart_PL_D_S165FondiAltriIstituti.sql | 62 + .../C6Mart_PL_D_S166ContoCorrenteAI.sql | 23 + ...t_PL_D_S167DistribuzioneRischioCredito.sql | 613 ++ .../C6Mart_PL_D_S168TabellaEmittenti.sql | 396 ++ ..._PL_D_S169RischiomercatoRischiocredito.sql | 448 ++ ...6Mart_PL_D_S170RischioDiversificazione.sql | 86 + ...atrimonioNonRappresentabileAssettClass.sql | 144 + ..._PL_D_S177ProfiloDiRischio_Adeguatezza.sql | 69 + .../C6Mart_PL_D_S178CasiParticolari.sql | 94 + ...Mart_PL_D_S178CasiParticolari_20181220.sql | 56 + ...rt_PL_D_S178IndicatoriEsitoAdeguatezza.sql | 127 + ...t_PL_D_S179EmittentiConcentrazioneAlta.sql | 19 + ...6Mart_PL_D_S180ProdottiComplessitaAlta.sql | 127 + ..._PL_D_S180ProdottiComplessitaAlta_mini.sql | 89 + .../C6Mart_PL_FD181PreferenzeESG.sql | 47 + ..._PL_FD181PreferenzeESG_bkp_pre_ESG2024.sql | 29 + ...C6Mart_PL_FD182BISDettaglioProdottiESG.sql | 253 + .../C6Mart_PL_FD182DettaglioProdottiESG.sql | 245 + .../C6Mart_PL_FD185UCaratteristicheESG.sql | 116 + ...C6Mart_PL_FD186DettaglioPortafoglioSei.sql | 64 + .../C6Mart_PL_FD187SfdrTaxESG.sql | 98 + .../C6Mart_PL_FD188PaiESG.sql | 88 + ..._GetClientNegativeCurrentAccountsValue.sql | 27 + ...PL_GetClientSelfNegCurrentAccountValue.sql | 25 + .../C6Mart_PL_GetClientSelfNegative.sql | 29 + .../C6Mart_PL_Intermediari.sql | 24 + ...6Mart_PL_MP_FD133BISPrincipaliProdotti.sql | 55 + .../C6Mart_PL_MP_FD147SintesiValute.sql | 45 + ...art_PL_MP_FD148DistribuzioneAssetClass.sql | 18 + ...art_PL_S102DistribuzioneRischioCredito.sql | 611 ++ ...PL_S102DistribuzioneRischioCredito_OLD.sql | 296 + ...L_S102DistribuzioneRischioCredito_OLD2.sql | 300 + .../C6Mart_PL_S103TabellaEmittenti.sql | 177 + .../C6Mart_PL_S10PatrimonioFinanziario.sql | 214 + .../C6Mart_PL_S170LimitiMassimi.sql | 39 + .../C6Mart_PL_S181PreferenzeESG.sql | 47 + ...PreferenzeESG_bkp_20250228_Pre_ESG2024.sql | 34 + .../C6Mart_PL_S182BISDettaglioProdottiESG.sql | 253 + .../C6Mart_PL_S182DettaglioProdottiESG.sql | 245 + ...ioProdottiESG_bkp_20250228_Pre_ESG2024.sql | 229 + .../C6Mart_PL_S183iCapital.sql | 88 + .../C6Mart_PL_S184CoerenzaESG.sql | 24 + .../C6Mart_PL_S185UCaratteristicheESG.sql | 116 + ...teristicheESG_bkp_20250228_Pre_ESG2024.sql | 101 + .../C6Mart_PL_S186DettaglioPortafoglioSei.sql | 64 + .../C6Mart_PL_S187SfdrTaxESG.sql | 98 + sql/storedProduzione/C6Mart_PL_S188PaiESG.sql | 88 + ...art_PL_S18PatrimonioFinanziarioRischio.sql | 86 + .../C6Mart_PL_S1Patrimonio.sql | 101 + .../C6Mart_PL_S23DettaglioRischio.sql | 70 + .../C6Mart_PL_S25Anagrafica.sql | 79 + .../C6Mart_PL_S26PatrimonioImmobiliare.sql | 27 + .../C6Mart_PL_S27ALtroPatrimonio.sql | 22 + .../C6Mart_PL_S2PatrimonioFinanziario.sql | 274 + ..._S31PatrimonioFinanziarioIntermediario.sql | 26 + ...PL_S32PatrimonioFinanziarioMAssetClass.sql | 61 + .../C6Mart_PL_S36ProfiloRischio.sql | 30 + .../C6Mart_PL_S37PiramideModello.sql | 46 + .../C6Mart_PL_S42RischioDiversificazione.sql | 71 + .../C6Mart_PL_S43ContoCorrenteBF.sql | 26 + .../C6Mart_PL_S43DettaglioProdottiBF.sql | 212 + ..._S43DettaglioProdottiBF_BK_eligoTitoli.sql | 211 + .../C6Mart_PL_S43LineaSelfBF.sql | 27 + ...L_S43LineaSelfBF_20181214_PreMioFoglio.sql | 25 + .../C6Mart_PL_S47ContoCorrenteBF.sql | 32 + .../C6Mart_PL_S48DettaglioProdotti.sql | 100 + .../C6Mart_PL_S49PolizzeAltriIstituti.sql | 62 + .../C6Mart_PL_S50FondiAltriIstituti.sql | 62 + .../C6Mart_PL_S51ContoCorrenteAI.sql | 26 + .../C6Mart_PL_S56PatrimonioBFAreeBisogno.sql | 64 + .../C6Mart_PL_S57ConfrontoPiramidi.sql | 227 + .../C6Mart_PL_S6PatrimonioFinanziario.sql | 146 + .../C6Mart_PL_S75GradoCopertura.sql | 332 ++ ...atrimonioNonRappresentabileAssettClass.sql | 144 + .../C6Mart_PL_S95ProfiloDiRischio.sql | 49 + ...art_PL_S96RischiomercatoRischiocredito.sql | 446 ++ ...PL_S96RischiomercatoRischiocredito_old.sql | 213 + sql/storedProduzione/C6Mart_PL_SavingMap.sql | 19 + .../C6Mart_PROM_TuttiIPortafogli.sql | 44 + .../C6Mart_PROM_TuttiIPortafogli_old.sql | 58 + .../C6Mart_Popola_S133_S157DatiPiramide.sql | 291 + ...art_Popola_S148DistribuzioneAssetClass.sql | 388 ++ .../C6Mart_Popolamento_RP_W6DAILY.sql | 171 + sql/storedProduzione/C6Mart_PreCheckIDX.sql | 49 + .../C6Mart_RM_Sintesi_Cliente.sql | 28 + .../C6Mart_RP_AggiornaFlagContratto.sql | 134 + ...Mart_RP_AggiornaFlagContratto_20161026.sql | 119 + sql/storedProduzione/C6Mart_RP_DM_ANAG_CC.sql | 86 + .../C6Mart_RP_DM_ANAG_CC_20170421.sql | 84 + .../C6Mart_RP_DM_ANAG_CC_TERZI.sql | 109 + .../C6Mart_RP_DM_ANAG_CLIENTI.sql | 209 + .../C6Mart_RP_DM_ANAG_PRODOTTI.sql | 82 + .../C6Mart_RP_DM_ANAG_PRODOTTI_TERZI.sql | 79 + .../C6Mart_RP_DM_ANAG_PRODOTTI_VALUTE.sql | 52 + .../C6Mart_RP_DM_ANAG_PROMOTORI.sql | 112 + .../C6Mart_RP_DM_ASSETCLASS.sql | 69 + .../C6Mart_RP_DM_ASSETCLASS_TERZI.sql | 68 + .../C6Mart_RP_DM_ASSET_PERC.sql | 87 + .../C6Mart_RP_DM_ASSET_PERC_TERZI.sql | 107 + .../C6Mart_RP_DM_Benvenuto_Scarti.sql | 262 + .../C6Mart_RP_DM_BrsClienteESG.sql | 73 + .../C6Mart_RP_DM_CHECK_RFA_MINUS.sql | 168 + .../C6Mart_RP_DM_CHECK_RFA_MINUS_20240412.sql | 138 + ...RP_DM_CHECK_RFA_MINUS_preRafforzamento.sql | 138 + .../C6Mart_RP_DM_CheckEmail.sql | 64 + .../C6Mart_RP_DM_Check_GestioneEmailNOPRO.sql | 33 + .../C6Mart_RP_DM_DETTAGLIO_ASUL.sql | 100 + .../C6Mart_RP_DM_EMAIL_PB.sql | 87 + .../C6Mart_RP_DM_ESG_ANAG_METRICHE.sql | 182 + ...t_RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4.sql | 175 + .../C6Mart_RP_DM_GestioneEmail.sql | 255 + .../C6Mart_RP_DM_GestioneEmailNA.sql | 148 + .../C6Mart_RP_DM_GestioneEmailNA_20181003.sql | 130 + .../C6Mart_RP_DM_GestioneEmailNA_Fc.sql | 94 + .../C6Mart_RP_DM_GestioneEmailNOPRO.sql | 280 + .../C6Mart_RP_DM_GestioneEmailSessione.sql | 63 + .../C6Mart_RP_DM_GestioneEmail_20161028.sql | 218 + .../C6Mart_RP_DM_PATRIMONIO_ALTRO.sql | 191 + ...C6Mart_RP_DM_PATRIMONIO_ALTRO_20150825.sql | 122 + ...C6Mart_RP_DM_PATRIMONIO_ALTRO_20160615.sql | 179 + .../C6Mart_RP_DM_PATRIMONIO_BF.sql | 517 ++ .../C6Mart_RP_DM_PATRIMONIO_BF_20180201.sql | 476 ++ .../C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE.sql | 96 + ...TRIMONIO_IMMOBILIARE_20190107_ProQuota.sql | 100 + ..._RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql | 106 + .../C6Mart_RP_DM_PATRIMONIO_TERZI.sql | 159 + ...C6Mart_RP_DM_PATRIMONIO_TERZI_20180219.sql | 249 + .../C6Mart_RP_DM_PATRIMONIO_TERZI_Param.sql | 147 + .../C6Mart_RP_DM_PATRIMONIO_TERZI_luca.sql | 136 + .../C6Mart_RP_DM_PIRAMIDE_MOD.sql | 95 + .../C6Mart_RP_DM_POPOLACONTRATTI.sql | 296 + .../C6Mart_RP_DM_POPOLACONTRATTI_2011026.sql | 237 + .../C6Mart_RP_DM_POPOLACONTRATTI_20160315.sql | 194 + ...ATTI_201700302_ripristino_del_20170127.sql | 210 + .../C6Mart_RP_DM_POPOLACONTRATTI_20170127.sql | 210 + .../C6Mart_RP_DM_POPOLACONTRATTI_20170322.sql | 210 + .../C6Mart_RP_DM_POPOLACONTRATTI_20170524.sql | 213 + ...t_RP_DM_POPOLACONTRATTI_20170607_mifid.sql | 216 + .../C6Mart_RP_DM_POPOLACONTRATTI_20170613.sql | 226 + ...OPOLACONTRATTI_20170727_VarAdeguatezza.sql | 232 + .../C6Mart_RP_DM_POPOLACONTRATTI_20171113.sql | 242 + .../C6Mart_RP_DM_POPOLACONTRATTI_20171205.sql | 248 + .../C6Mart_RP_DM_POPOLACONTRATTI_20171222.sql | 253 + .../C6Mart_RP_DM_POPOLACONTRATTI_20180102.sql | 258 + .../C6Mart_RP_DM_POPOLACONTRATTI_20180103.sql | 258 + .../C6Mart_RP_DM_POPOLACONTRATTI_20180104.sql | 258 + .../C6Mart_RP_DM_POPOLACONTRATTI_20181003.sql | 255 + .../C6Mart_RP_DM_POPOLACONTRATTI_20181127.sql | 261 + .../C6Mart_RP_DM_W6CLIESG.sql | 240 + .../C6Mart_RP_DM_W6CatESG.sql | 128 + sql/storedProduzione/C6Mart_RP_DM_WSEICAP.sql | 71 + ..._RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql | 90 + .../C6Mart_RP_PROM_TuttiIPortafogli.sql | 44 + ...t_RP_PROM_TuttiIPortafogli2_Indicatore.sql | 104 + ...Portafogli_20180612_NewMotorePrometeia.sql | 55 + ...Portafogli_20180612_PreMotorePrometeia.sql | 44 + .../C6Mart_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql | 77 + .../C6Mart_RP_Selettore_GetDataThreads.sql | 7 + .../C6Mart_SRV_CHECK_C6_GIORNALIERO.sql | 698 +++ ...Mart_SRV_CHECK_C6_GIORNALIERO_20161026.sql | 682 +++ ...rt_SRV_CHECK_C6_GIORNALIERO_20161026_2.sql | 689 +++ .../C6Mart_SRV_CHECK_C6_GIORNALIERO_AND.sql | 410 ++ .../C6Mart_SRV_ESTRAZ_GIORNALIERA_CC.sql | 77 + .../C6Mart_SRV_SELECT_EMAIL_BY_ISODATE.sql | 31 + .../C6Mart_SRV_STORICIZZAZIONE.sql | 672 +++ ...6Mart_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql | 72 + .../C6Mart_SRV_STORICIZZAZIONE_OLD.sql | 507 ++ .../C6Mart_SRV_SVUOTAMART.sql | 39 + .../C6Mart_SRV_TABELLE_IN_MART.sql | 38 + .../C6Mart_SRV_TRUNCATE_STAGING.sql | 49 + .../C6Mart_TabellaCaratteriAnomali.sql | 38 + .../C6Mart_UT_INSERT_ERROR.sql | 35 + sql/storedProduzione/C6Mart_Util_Test_PL.sql | 61 + .../C6Mart_Verifica_Lancio_Giornaliero.sql | 25 + .../C6Mart_aggiornaDataValidazione.sql | 18 + .../C6Mart_getCodiceContratto.sql | 39 + .../C6Mart_rp_aggiornaDataValidazione.sql | 104 + ...rt_rp_aggiornaDataValidazione_20160405.sql | 95 + .../C6Mart_sp_getDatiReport.sql | 32 + .../C6Mart_temp_RP_DM_GestioneEmail.sql | 226 + .../C6Mart_zzzPL_D2_S150Anagrafica.sql | 91 + .../C6Mart_zzzPL_D2_S168TabellaEmittenti.sql | 396 ++ .../C6Mart_zzzPL_D_S157ConfrontoPiramidi.sql | 203 + ...rt_zzzPL_D_S170RischioDiversificazione.sql | 70 + .../C6Mart_zzzQUALITY_CARATTERIVCONTRATTI.sql | 217 + .../C6Mart_zzzRP_DM_GestioneEmailNA.sql | 248 + ...C6Mart_zzzSRV_CHECK_C6_GIORNALIERO_AND.sql | 427 ++ .../C6Mart_zzzzPL_D_S157ConfrontoPiramidi.sql | 227 + ...C6Mart_zzzzRP_SRV_CHECK_C6_GIORNALIERO.sql | 590 ++ ...odicoImmobiliare_Popola_APPO_CONTRATTI.sql | 7 + ...obiliare_RP_CREA_POSITIONID_CONSULENZA.sql | 88 + ...M_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql | 42 + ...eriodicoImmobiliare_RP_ST_AnAlberatura.sql | 40 + ...PeriodicoImmobiliare_RP_ST_AnEmittente.sql | 36 + ...gPeriodicoImmobiliare_RP_ST_AssetClass.sql | 36 + ...Immobiliare_RP_ST_BonificaClientiDoppi.sql | 132 + ...gPeriodicoImmobiliare_RP_ST_CONSULENZA.sql | 137 + ...odicoImmobiliare_RP_ST_CREA_POSITIONID.sql | 284 + ...dicoImmobiliare_RP_ST_CatalogoProdotti.sql | 326 ++ ...coImmobiliare_RP_ST_ChiaviMonitoraggio.sql | 43 + ...icoImmobiliare_RP_ST_DettAltriProdotti.sql | 51 + ...odicoImmobiliare_RP_ST_DettImmobiliare.sql | 58 + ...icoImmobiliare_RP_ST_DettPatrAziendale.sql | 52 + ...icoImmobiliare_RP_ST_DettProdottiTerzi.sql | 69 + ...re_RP_ST_DettaglioPosizionePortafoglio.sql | 57 + ...PeriodicoImmobiliare_RP_ST_InfoCliente.sql | 84 + ...ngPeriodicoImmobiliare_RP_ST_Mappatura.sql | 31 + ...PeriodicoImmobiliare_RP_ST_MappaturaPT.sql | 32 + ...mmobiliare_RP_ST_Migraz_Pianificazione.sql | 90 + ...dicoImmobiliare_RP_ST_Migraz_Posizioni.sql | 67 + ...odicoImmobiliare_RP_ST_Migraz_Progetto.sql | 65 + ...ingPeriodicoImmobiliare_RP_ST_NeedArea.sql | 33 + ...odicoImmobiliare_RP_ST_PROGETTICLIENTE.sql | 74 + ...odicoImmobiliare_RP_ST_PatrimonioTerzi.sql | 48 + ...iodicoImmobiliare_RP_ST_Pianificazione.sql | 103 + ...Immobiliare_RP_ST_PosizioniPortafoglio.sql | 46 + ...obiliare_RP_ST_ProgettiPiramideModello.sql | 102 + ...ingPeriodicoImmobiliare_RP_ST_Progetto.sql | 140 + ...biliare_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql | 34 + ...iliare_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql | 31 + ...icoImmobiliare_RP_ST_SPB_CONTR_SINTESI.sql | 757 +++ ...PB_CONTR_SINTESI_20190204_preMioFoglio.sql | 546 ++ ...odico_AGGIORNA_DATAFINEVALIDITAPROFILO.sql | 11 + .../C6StagingPeriodico_AGGIORNA_TANAB_CTV.sql | 14 + ...gPeriodico_AGGIORNA_WSEIAN_FLAGPERPROF.sql | 10 + ...iodico_AggiornaContrattiPretrimestrale.sql | 76 + .../C6StagingPeriodico_CheckDisallineati.sql | 53 + ...iodico_ClienteProdottiAssicurativiVita.sql | 23 + ...ClienteProdottiAssicurativiVita_Totali.sql | 17 + .../C6StagingPeriodico_ClienteProdottiFAI.sql | 34 + ...ingPeriodico_ClienteProdottiFAI_Totali.sql | 21 + ...StagingPeriodico_CopiaTabelleDiReplica.sql | 59 + ...riodico_CopiaTabelleDiReplica_20190129.sql | 53 + ...gPeriodico_EstrazioneProfiliInScadenza.sql | 55 + ...opolaW6TRCLIdavListaClientiTrimestrale.sql | 28 + ...RCLIdavListaClientiTrimestrale_anag_pb.sql | 28 + ...dico_Popola_Prodotti_Fuori_Adeguatezza.sql | 50 + ...ingPeriodico_REPTRIM_QD_VAR_RISK_WEEK2.sql | 26 + .../C6StagingPeriodico_REPTRIM_TANAB.sql | 75 + .../C6StagingPeriodico_REPTRIM_TCPTAB.sql | 138 + .../C6StagingPeriodico_REPTRIM_TRENAB.sql | 90 + .../C6StagingPeriodico_REPTRIM_TSCABP.sql | 75 + .../C6StagingPeriodico_REPTRIM_W6APAG.sql | 21 + .../C6StagingPeriodico_REPTRIM_W6APUT.sql | 35 + .../C6StagingPeriodico_REPTRIM_W6CLIESG.sql | 79 + .../C6StagingPeriodico_REPTRIM_W6CLIREP_B.sql | 101 + .../C6StagingPeriodico_REPTRIM_WANVIPS.sql | 27 + .../C6StagingPeriodico_REPTRIM_WSEIAD2.sql | 27 + .../C6StagingPeriodico_REPTRIM_WSEIAN2.sql | 89 + .../C6StagingPeriodico_REPTRIM_WSEIBO.sql | 37 + .../C6StagingPeriodico_REPTRIM_WSEICAP.sql | 39 + .../C6StagingPeriodico_REPTRIM_WSEICC.sql | 21 + .../C6StagingPeriodico_REPTRIM_WSEICE2.sql | 33 + .../C6StagingPeriodico_REPTRIM_WSEICS.sql | 75 + .../C6StagingPeriodico_REPTRIM_WSEIDC.sql | 72 + .../C6StagingPeriodico_REPTRIM_WSEIFP.sql | 41 + .../C6StagingPeriodico_REPTRIM_WSEIGP.sql | 55 + .../C6StagingPeriodico_REPTRIM_WSEILP.sql | 33 + ...tagingPeriodico_REPTRIM_WSEIMM_POS_SQL.sql | 29 + ...tagingPeriodico_REPTRIM_WSEIMM_SQL_POS.sql | 29 + .../C6StagingPeriodico_REPTRIM_WSEIPR.sql | 31 + .../C6StagingPeriodico_REPTRIM_WSEIPS.sql | 65 + .../C6StagingPeriodico_REPTRIM_WSEIPV.sql | 27 + .../C6StagingPeriodico_REPTRIM_WSEIRP.sql | 15 + .../C6StagingPeriodico_REPTRIM_WSEIRPF.sql | 27 + .../C6StagingPeriodico_REPTRIM_WSEISC.sql | 29 + .../C6StagingPeriodico_REPTRIM_WSEIUL.sql | 51 + ...Periodico_RP_AGGIORNA_SPB_PROF_RISCHIO.sql | 9 + ...eriodico_RP_CREA_POSITIONID_CONSULENZA.sql | 130 + ...RP_CREA_POSITIONID_CONSULENZA_20161213.sql | 104 + ...POSITIONID_CONSULENZA_20171204_preRFMP.sql | 112 + ...RP_CREA_POSITIONID_CONSULENZA_20190725.sql | 121 + ...EA_POSITIONID_CONSULENZA_pre_selective.sql | 112 + ...riodico_RP_EstrazioneProfiliInScadenza.sql | 121 + ...P_EstrazioneProfiliInScadenza_20161221.sql | 83 + ...P_EstrazioneProfiliInScadenza_20180720.sql | 83 + ...ico_RP_EstrazioneProfiliInScadenza_new.sql | 83 + ...razioneProfiliInScadenza_pre_selective.sql | 83 + ...RP_POPOLAMENTO_WSMOV_CONTRATTO_SCARICO.sql | 26 + ...M_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql | 39 + ...A_INDICATORE_DIVERSIFICAZIONE_20180710.sql | 43 + ...INDICATORE_DIVERSIFICAZIONE_preAladdin.sql | 42 + ...o_RP_ST_APPO_CONTRATTI.20171120_New_en.sql | 262 + ...6StagingPeriodico_RP_ST_APPO_CONTRATTI.sql | 241 + ...eriodico_RP_ST_APPO_CONTRATTI_20160902.sql | 225 + ...eriodico_RP_ST_APPO_CONTRATTI_20161205.sql | 229 + ...eriodico_RP_ST_APPO_CONTRATTI_20171120.sql | 233 + ...odico_RP_ST_APPO_CONTRATTI_BKP20141204.sql | 208 + ...ingPeriodico_RP_ST_APPO_CONTRATTI_LUCA.sql | 384 ++ ...gingPeriodico_RP_ST_APPO_CONTRATTI_OLD.sql | 151 + ...ingPeriodico_RP_ST_APPO_CONTRATTI_TEMP.sql | 275 + .../C6StagingPeriodico_RP_ST_AnAlberatura.sql | 40 + ...odico_RP_ST_AnAlberatura_pre_selective.sql | 40 + .../C6StagingPeriodico_RP_ST_AnEmittente.sql | 36 + ...gPeriodico_RP_ST_AnEmittente_originale.sql | 31 + ...iodico_RP_ST_AnEmittente_pre_selective.sql | 36 + .../C6StagingPeriodico_RP_ST_Area.sql | 64 + ...C6StagingPeriodico_RP_ST_Area_20170118.sql | 53 + ...agingPeriodico_RP_ST_Area_20170320.OBS.sql | 53 + ...gingPeriodico_RP_ST_Area_pre_selective.sql | 53 + .../C6StagingPeriodico_RP_ST_AssetClass.sql | 36 + ...ingPeriodico_RP_ST_AssetClass_20161221.sql | 33 + ...riodico_RP_ST_AssetClass_pre_selective.sql | 36 + ...ngPeriodico_RP_ST_BonificaClientiDoppi.sql | 131 + .../C6StagingPeriodico_RP_ST_CATINAREA.sql | 31 + ...gingPeriodico_RP_ST_CATINAREA_20161222.sql | 31 + ...eriodico_RP_ST_CATINAREA_pre_selective.sql | 31 + .../C6StagingPeriodico_RP_ST_CONSULENZA.sql | 140 + ...riodico_RP_ST_CONSULENZA_pre_selective.sql | 137 + ...eriodico_RP_ST_CONTRATTIPRETRIMESTRALE.sql | 81 + ...T_CONTRATTIPRETRIMESTRALEFINETRIMESTRE.sql | 72 + ...StagingPeriodico_RP_ST_CREA_POSITIONID.sql | 285 + ...riodico_RP_ST_CREA_POSITIONID_20161213.sql | 270 + ...RP_ST_CREA_POSITIONID_20171204_preRFMP.sql | 276 + ...riodico_RP_ST_CREA_POSITIONID_20190725.sql | 282 + ...o_RP_ST_CREA_POSITIONID_BK_eligoTitoli.sql | 258 + ...co_RP_ST_CREA_POSITIONID_pre_selective.sql | 276 + .../C6StagingPeriodico_RP_ST_CatDivPtf.sql | 317 ++ ...tagingPeriodico_RP_ST_CatalogoProdotti.sql | 348 ++ ...iodico_RP_ST_CatalogoProdotti_20160505.sql | 218 + ...ico_RP_ST_CatalogoProdotti_20160506_LM.sql | 229 + ...iodico_RP_ST_CatalogoProdotti_20170120.sql | 230 + ...o_RP_ST_CatalogoProdotti_20170616_Vis1.sql | 249 + ...iodico_RP_ST_CatalogoProdotti_20170720.sql | 260 + ...iodico_RP_ST_CatalogoProdotti_20170925.sql | 265 + ...iodico_RP_ST_CatalogoProdotti_20171026.sql | 272 + ...iodico_RP_ST_CatalogoProdotti_20180117.sql | 318 ++ ...o_RP_ST_CatalogoProdotti_pre_selective.sql | 230 + ...gingPeriodico_RP_ST_ChiaviMonitoraggio.sql | 43 + ...RP_ST_ChiaviMonitoraggio_pre_selective.sql | 43 + .../C6StagingPeriodico_RP_ST_Cliente.sql | 70 + .../C6StagingPeriodico_RP_ST_ClientePB.sql | 43 + ...eriodico_RP_ST_ClientePB_pre_selective.sql | 43 + ...gPeriodico_RP_ST_Cliente_pre_selective.sql | 70 + .../C6StagingPeriodico_RP_ST_Cono.sql | 55 + ...C6StagingPeriodico_RP_ST_Cono_20170118.sql | 43 + ...agingPeriodico_RP_ST_Cono_20170320_OBS.sql | 43 + ...gingPeriodico_RP_ST_Cono_pre_selective.sql | 43 + ...agingPeriodico_RP_ST_DettAltriProdotti.sql | 51 + ..._RP_ST_DettAltriProdotti_pre_selective.sql | 51 + ...StagingPeriodico_RP_ST_DettImmobiliare.sql | 58 + ...P_ST_DettImmobiliare_20190205_ProQuota.sql | 63 + ...co_RP_ST_DettImmobiliare_pre_selective.sql | 58 + ...agingPeriodico_RP_ST_DettPatrAziendale.sql | 52 + ..._RP_ST_DettPatrAziendale_pre_selective.sql | 52 + ...agingPeriodico_RP_ST_DettProdottiTerzi.sql | 69 + ..._RP_ST_DettProdottiTerzi_pre_selective.sql | 69 + ...ingPeriodico_RP_ST_DettaglioOperazione.sql | 34 + ...P_ST_DettaglioOperazione_pre_selective.sql | 34 + ...co_RP_ST_DettaglioPosizionePortafoglio.sql | 57 + ...glioPosizionePortafoglio_pre_selective.sql | 57 + ...ribuzionePtfModello_Tattici_AssetClass.sql | 47 + ...ionePtfModello_Tattici_MacroAssetClass.sql | 47 + ...6StagingPeriodico_RP_ST_GradoParentela.sql | 33 + ...ico_RP_ST_GradoParentela_pre_selective.sql | 33 + .../C6StagingPeriodico_RP_ST_InfoCliente.sql | 86 + ...ngPeriodico_RP_ST_InfoCliente_20160428.sql | 66 + ...ngPeriodico_RP_ST_InfoCliente_20170915.sql | 70 + ...ngPeriodico_RP_ST_InfoCliente_20171031.sql | 82 + ...iodico_RP_ST_InfoCliente_pre_selective.sql | 70 + .../C6StagingPeriodico_RP_ST_Mappatura.sql | 31 + .../C6StagingPeriodico_RP_ST_MappaturaPT.sql | 32 + ...iodico_RP_ST_MappaturaPT_pre_selective.sql | 32 + ...eriodico_RP_ST_Mappatura_pre_selective.sql | 31 + .../C6StagingPeriodico_RP_ST_Migraz_Area.sql | 63 + ...ngPeriodico_RP_ST_Migraz_Area_20170118.sql | 51 + ...riodico_RP_ST_Migraz_Area_20170320_OBS.sql | 51 + ...iodico_RP_ST_Migraz_Area_pre_selective.sql | 51 + ...gPeriodico_RP_ST_Migraz_Pianificazione.sql | 90 + ...iodico_RP_ST_Migraz_Pianificazione_OLD.sql | 49 + ...ST_Migraz_Pianificazione_pre_selective.sql | 90 + ...tagingPeriodico_RP_ST_Migraz_Posizioni.sql | 67 + ...o_RP_ST_Migraz_Posizioni_pre_selective.sql | 67 + ...StagingPeriodico_RP_ST_Migraz_Progetto.sql | 68 + ...riodico_RP_ST_Migraz_Progetto_20170113.sql | 58 + ...riodico_RP_ST_Migraz_Progetto_20170118.sql | 58 + ...co_RP_ST_Migraz_Progetto_pre_selective.sql | 58 + ...ingPeriodico_RP_ST_MonitoraggioStorico.sql | 57 + ...itoraggioStorico_20181214_PreMioFoglio.sql | 54 + ...P_ST_MonitoraggioStorico_pre_selective.sql | 54 + .../C6StagingPeriodico_RP_ST_NeedArea.sql | 33 + ...agingPeriodico_RP_ST_NeedArea_20161222.sql | 31 + ...Periodico_RP_ST_NeedArea_pre_selective.sql | 33 + .../C6StagingPeriodico_RP_ST_NobPrez.sql | 50 + ...StagingPeriodico_RP_ST_PROGETTICLIENTE.sql | 74 + ...eriodico_RP_ST_PROGETTICLIENTE_TEST_FC.sql | 49 + ...co_RP_ST_PROGETTICLIENTE_pre_selective.sql | 74 + .../C6StagingPeriodico_RP_ST_Parentela.sql | 40 + ...eriodico_RP_ST_Parentela_pre_selective.sql | 40 + ...StagingPeriodico_RP_ST_PatrimonioTerzi.sql | 48 + ...co_RP_ST_PatrimonioTerzi_pre_selective.sql | 48 + ...6StagingPeriodico_RP_ST_Pianificazione.sql | 103 + ...ico_RP_ST_Pianificazione_pre_selective.sql | 99 + ...ngPeriodico_RP_ST_PosizioniPortafoglio.sql | 46 + ..._ST_PosizioniPortafoglio_pre_selective.sql | 46 + ...agingPeriodico_RP_ST_PosizioniProposta.sql | 43 + ..._RP_ST_PosizioniProposta_pre_selective.sql | 43 + ...eriodico_RP_ST_ProgettiPiramideModello.sql | 105 + ...RP_ST_ProgettiPiramideModello_20170118.sql | 95 + ...RP_ST_ProgettiPiramideModello_20171106.sql | 102 + ..._ProgettiPiramideModello_pre_selective.sql | 95 + .../C6StagingPeriodico_RP_ST_Progetto.new.sql | 109 + .../C6StagingPeriodico_RP_ST_Progetto.sql | 140 + ...agingPeriodico_RP_ST_Progetto_20170113.sql | 84 + ...agingPeriodico_RP_ST_Progetto_20170116.sql | 90 + ...agingPeriodico_RP_ST_Progetto_20170117.sql | 94 + ...ingPeriodico_RP_ST_Progetto_20170117_2.sql | 101 + ...agingPeriodico_RP_ST_Progetto_20170419.sql | 102 + ...agingPeriodico_RP_ST_Progetto_20171106.sql | 102 + ...C6StagingPeriodico_RP_ST_Progetto_Robo.sql | 62 + ...Periodico_RP_ST_Progetto_pre_selective.sql | 84 + ...agingPeriodico_RP_ST_PromotoreBancario.sql | 71 + ..._RP_ST_PromotoreBancario_pre_selective.sql | 71 + .../C6StagingPeriodico_RP_ST_Proposta.sql | 69 + ...Periodico_RP_ST_Proposta_pre_selective.sql | 69 + ...dico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI.sql | 47 + ...DR_VALUTE_DB_DTGIORNALIERI_20160506_Pk.sql | 47 + ..._VALUTE_DB_DTGIORNALIERI_pre_selective.sql | 47 + ...riodico_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql | 34 + ...REP_ASSET_1_E_2_ORDINATE_pre_selective.sql | 34 + ...Periodico_RP_ST_REP_S80_EVOL_STAMPA_C6.sql | 66 + ...0_EVOL_STAMPA_C6_20190111_preMioFoglio.sql | 62 + ...T_REP_S80_EVOL_STAMPA_C6_pre_selective.sql | 62 + ...iodico_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql | 31 + ...4_S5_S13_TRAD_UNTIL_LIV3_pre_selective.sql | 31 + ...agingPeriodico_RP_ST_SPB_CONTR_SINTESI.sql | 792 +++ ...gingPeriodico_RP_ST_SPB_CONTR_SINTESI2.sql | 301 + ...odico_RP_ST_SPB_CONTR_SINTESI_20161213.sql | 534 ++ ..._RP_ST_SPB_CONTR_SINTESI_20170407.SAVE.sql | 540 ++ ..._ST_SPB_CONTR_SINTESI_20171204_preRFMP.sql | 540 ++ ...PB_CONTR_SINTESI_20190204_preMioFoglio.sql | 546 ++ ...odico_RP_ST_SPB_CONTR_SINTESI_20190725.sql | 754 +++ ...RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli.sql | 472 ++ ..._RP_ST_SPB_CONTR_SINTESI_pre_selective.sql | 540 ++ ...agingPeriodico_RP_ST_TB_ESG_ANAG_STRUM.sql | 156 + ...o_RP_ST_TB_ESG_ANAG_STRUM_bkp_Pre_ESG4.sql | 153 + ...ngPeriodico_RP_ST_anagrafica_promotori.sql | 46 + ..._ST_anagrafica_promotori_pre_selective.sql | 46 + ...ngPeriodico_RP_ST_vNewPositionProposta.sql | 29 + ...gingPeriodico_RP_UPDATE_APPO_CONTRATTI.sql | 118 + ...StagingPeriodico_RP_UPDATE_COMPLESSITA.sql | 183 + ...riodico_RP_UPDATE_COMPLESSITA_20161213.sql | 183 + ...co_RP_UPDATE_COMPLESSITA_pre_selective.sql | 183 + ...eriodico_RP_UPDATE_RP_CATALOGOPRODOTTI.sql | 13 + ...DATE_RP_CATALOGOPRODOTTI_pre_selective.sql | 13 + .../C6StagingPeriodico_RP_W6LogBatch.sql | 36 + ...agingPeriodico_RP_clientiConMigrazione.sql | 20 + ...lientiConMigrazione_20170413_RM_nomeDB.sql | 20 + ...gPeriodico_Recupero_Trimestrale_Scarti.sql | 30 + ...tagingPeriodico_SRV_CREA_QUERY_STORICO.sql | 56 + ...gPeriodico_SRV_PopolaTabelleSIMPB_TEMP.sql | 160 + ..._PopolaTabelleSIMPB_TEMP_pre_selective.sql | 160 + ...C6StagingPeriodico_SRV_STORICIZZAZIONE.sql | 832 +++ ...agingPeriodico_SRV_STORICIZZAZIONE_OLD.sql | 551 ++ ...riodico_SRV_STORICIZZAZIONE_preAladdin.sql | 832 +++ ...tagingPeriodico_SRV_TABELLE_IN_STAGING.sql | 92 + ...o_SRV_TABELLE_IN_STAGING_pre_selective.sql | 92 + .../C6StagingPeriodico_ST_CREA_POSITIONID.sql | 81 + ...odico_ST_CREA_POSITIONID_pre_selective.sql | 81 + ...gingPeriodico_ST_DATA_CONGELAMENTO_SEI.sql | 32 + ...ST_DATA_CONGELAMENTO_SEI_pre_selective.sql | 32 + ...6StagingPeriodico_ST_SELECT_FOR_ADS4WS.sql | 80 + ...ngPeriodico_ST_SELECT_FOR_ADS4WS_EMAIL.sql | 78 + ...6StagingPeriodico_ST_SPB_CONTR_SINTESI.sql | 252 + ...ingPeriodico_ST_SPB_CONTR_SINTESI_asu2.sql | 114 + ...ico_ST_SPB_CONTR_SINTESI_pre_selective.sql | 252 + .../C6StagingPeriodico_ST_SVUOTASIMPB.sql | 17 + ...Periodico_ST_SVUOTASIMPB_pre_selective.sql | 17 + .../C6StagingPeriodico_UPDATE_CATITEMREF.sql | 13 + ...iodico_UPDATE_CATITEMREF_pre_selective.sql | 13 + .../C6StagingPeriodico_UPDATE_COMPLESSITA.sql | 162 + ...odico_UPDATE_COMPLESSITA_pre_selective.sql | 162 + ...dico_UTIL_popolaPromotoriDaGiornaliero.sql | 9 + ...6StagingPeriodico_agg_codana_tabellone.sql | 95 + ...C6StagingPeriodico_agg_lotto_tabellone.sql | 77 + .../C6StagingPeriodico_agg_wh_tabellone.sql | 255 + ...StagingPeriodico_agg_wseian2_tabellone.sql | 104 + ...sto_sezione_adeg_PG_Compl_Conc_CDTTRIM.sql | 74 + ...StagingPeriodico_immobiliare_tabellone.sql | 14 + .../C6StagingPeriodico_sp_quadratura.sql | 32 + ...eriodico_test_compl_testo_sezione_adeg.sql | 66 + ...to_sezione_adeg_PG_PROFESS_CURR_DTTRIM.sql | 74 + ...sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN.sql | 74 + ..._compl_testo_sezione_adeg_PG_QPROF.obs.sql | 46 + ...o_sezione_adeg_PG_QPROF.rigen.20170620.sql | 100 + ...test_compl_testo_sezione_adeg_PG_QPROF.sql | 85 + ...l_testo_sezione_adeg_PG_QPROF_20170620.sql | 46 + ...ione_adeg_PG_QPROF_20170620_consegnato.sql | 49 + ...compl_testo_sezione_adeg_PG_QPROF_trim.sql | 43 + ...co_test_compl_testo_sezione_adeg_V.1.0.sql | 24 + ...co_test_compl_testo_sezione_adeg_V.2.0.sql | 66 + ...co_test_compl_testo_sezione_adeg_V.3.0.sql | 66 + ...odico_zzzRP_CREA_POSITIONID_CONSULENZA.sql | 89 + .../C6Staging_CREA_FIRMA_PROMOTORE.sql | 8 + .../C6Staging_CheckScartiMIFID.sql | 42 + ...taging_DecodificaIndicatoriAdeguatezza.sql | 86 + ...C6Staging_RP_AGGIORNA_SPB_PROF_RISCHIO.sql | 9 + .../C6Staging_RP_CREA_POSITIONID.sql | 77 + .../C6Staging_RP_CREA_POSITIONID_2011113.sql | 77 + ...6Staging_RP_CREA_POSITIONID_CONSULENZA.sql | 111 + ...RP_CREA_POSITIONID_CONSULENZA_20161223.sql | 99 + ...EA_POSITIONID_CONSULENZA_20171113_orig.sql | 108 + ...M_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql | 42 + .../C6Staging_RP_ST_AnAlberatura.sql | 46 + .../C6Staging_RP_ST_AnEmittente.sql | 36 + .../C6Staging_RP_ST_AssetClass.sql | 45 + .../C6Staging_RP_ST_CatalogoProdotti.sql | 217 + .../C6Staging_RP_ST_Cliente.sql | 107 + .../C6Staging_RP_ST_ClientePB.sql | 53 + .../C6Staging_RP_ST_Cliente_20170614.sql | 104 + .../C6Staging_RP_ST_DettAltriProdotti.sql | 52 + .../C6Staging_RP_ST_DettImmobiliare.sql | 62 + ...P_ST_DettImmobiliare_20190107_ProQuota.sql | 65 + .../C6Staging_RP_ST_DettPatrAziendale.sql | 53 + .../C6Staging_RP_ST_DettProdottiTerzi.sql | 70 + .../C6Staging_RP_ST_DettaglioOperazione.sql | 55 + ...ng_RP_ST_DettaglioPosizionePortafoglio.sql | 51 + .../C6Staging_RP_ST_GradoParentela.sql | 33 + .../C6Staging_RP_ST_Mappatura.sql | 31 + .../C6Staging_RP_ST_MappaturaPT.sql | 32 + .../C6Staging_RP_ST_Migraz_Pianificazione.sql | 69 + .../C6Staging_RP_ST_Migraz_Posizioni.sql | 47 + .../C6Staging_RP_ST_Migraz_Progetto.sql | 58 + .../C6Staging_RP_ST_NobPrez.sql | 73 + .../C6Staging_RP_ST_Parentela.sql | 40 + .../C6Staging_RP_ST_PatrimonioTerzi.sql | 50 + .../C6Staging_RP_ST_Pianificazione.sql | 110 + ...ging_RP_ST_Pianificazione_20161128_ORI.sql | 99 + .../C6Staging_RP_ST_PosizioniPortafoglio.sql | 47 + .../C6Staging_RP_ST_PosizioniProposta.sql | 42 + ...6Staging_RP_ST_ProgettiPiramideModello.sql | 82 + .../C6Staging_RP_ST_Progetto.sql | 97 + .../C6Staging_RP_ST_Progetto_Robo.sql | 59 + .../C6Staging_RP_ST_PromotoreBancario.sql | 69 + .../C6Staging_RP_ST_Proposta.sql | 67 + ...ging_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI.sql | 47 + ...Staging_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql | 34 + ...taging_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql | 31 + .../C6Staging_RP_ST_TB_ESG_ANAG_STRUM.sql | 153 + ...g_RP_ST_TB_ESG_ANAG_STRUM_bkp_Pre_ESG4.sql | 151 + .../C6Staging_RP_ST_anagrafica_promotori.sql | 32 + .../C6Staging_RP_ST_vNewPositionProposta.sql | 29 + .../C6Staging_RP_W6LogBatch.sql | 36 + .../C6Staging_RP_clientiConMigrazione.sql | 20 + .../C6Staging_SRV_STORICIZZAZIONE.sql | 532 ++ .../C6Staging_SRV_STORICIZZAZIONE_OLD.sql | 434 ++ .../C6Staging_SRV_SVUOTASTAGING.sql | 51 + .../C6Staging_SRV_TABELLE_IN_STAGING.sql | 38 + .../C6Staging_ST_INSERT_SCARTI_SIMPB.sql | 64 + .../C6Staging_ST_SELECT_FOR_ADS4WS.sql | 80 + .../C6Staging_inserisci_promotori_fittizi.sql | 19 + sql/storedProduzione/dbo_AMB_Cerca.sql | 38 + sql/storedProduzione/dbo_AMB_InfoPdfTrim.sql | 10 + sql/storedProduzione/dbo_AMB_InfoTRIM.sql | 19 + .../dbo_AMB_VerificaLettere.sql | 450 ++ .../dbo_Aggiorna_Trimestrale_SEI_Processi.sql | 22 + sql/storedProduzione/dbo_CERCA.sql | 55 + sql/storedProduzione/dbo_CERCA_FA.sql | 56 + ...o_CHECK_INSERT_PRODOTTI_NON_A_CATALOGO.sql | 7 + .../dbo_CONTROLLO_COMPLESSITA.sql | 30 + sql/storedProduzione/dbo_CREA_CAMPIONE.sql | 285 + .../dbo_CREA_CAMPIONE_20160119.sql | 215 + .../dbo_CREA_CAMPIONE_20160318.sql | 320 ++ .../dbo_CREA_CAMPIONE_20160414.sql | 538 ++ .../dbo_CREA_CAMPIONE_20161216.sql | 324 ++ .../dbo_CREA_CAMPIONE_20170114.sql | 397 ++ .../dbo_CREA_CAMPIONE_20170321.sql | 397 ++ ...o_CREA_CAMPIONE_20180115_preJoinNewTab.sql | 294 + .../dbo_CREA_CAMPIONE_20180711.sql | 267 + .../dbo_CREA_CAMPIONE_20180921.sql | 270 + .../dbo_CREA_CAMPIONE_TEST.sql | 267 + .../dbo_Controlli_Mattina_PdC.sql | 82 + .../dbo_CopyObjectFromSchema.sql | 74 + .../dbo_CreaTabellaBackUp.sql | 23 + sql/storedProduzione/dbo_DropObject.sql | 29 + ...dbo_ElencoClientiImmobiliareDaStampare.sql | 86 + sql/storedProduzione/dbo_GetAllTableSize.sql | 46 + sql/storedProduzione/dbo_GetLancio.sql | 9 + sql/storedProduzione/dbo_GetLogs.sql | 34 + .../dbo_GetPDFTemplateConfiguration.sql | 9 + ..._GetPDFTemplateConfiguration_Rosaspina.sql | 9 + sql/storedProduzione/dbo_GetStatistics.sql | 6 + .../dbo_GetStatistics_Prepare.sql | 7 + .../dbo_GetTextTemplateConfiguration.sql | 12 + sql/storedProduzione/dbo_GetVariableValue.sql | 22 + sql/storedProduzione/dbo_HexToRGB.sql | 40 + .../dbo_InsertStartIntoLogFromDtsx.sql | 19 + ..._InsertStartIntoLogFromDtsxImmobiliare.sql | 19 + .../dbo_InsertStopIntoLogFromDtsx.sql | 28 + ...o_InsertStopIntoLogFromDtsxImmobiliare.sql | 28 + .../dbo_JOB_Controlli_View.sql | 8 + sql/storedProduzione/dbo_ListaCampione.sql | 15 + .../dbo_ListaCampioneDettaglioMovimenti.sql | 19 + ...staCampioneDettaglioMovimenti_Parziale.sql | 58 + sql/storedProduzione/dbo_LogFTP.sql | 30 + .../dbo_PreGenerationElabCounter.sql | 6 + .../dbo_PreGenerationStatoCounter.sql | 5 + .../dbo_RP_Popola_PiramideModello.sql | 45 + .../dbo_SO_getNewSubscriptions.sql | 17 + .../dbo_SRV_CONTROLLA_FASE1.sql | 16 + ...dbo_SRV_ESTRAZIONE_ULTIMO_INVIO_REPORT.sql | 36 + .../dbo_SRV_ReportDaCancellare.sql | 51 + .../dbo_SRV_SELECT_PROFILI_SCADUTI.sql | 8 + ...o_SRV_insertLogPreCalcoloDatiGenerator.sql | 21 + sql/storedProduzione/dbo_SearchAllTables.sql | 51 + .../dbo_SelezioneCampione_Fc.sql | 33 + .../dbo_SubscribedCustomer_Compare.sql | 28 + .../dbo_TEST_GETNEXTTRIMESTRE.sql | 53 + .../dbo_TEST_GETTRIMESTRE2.sql | 53 + .../dbo_TEST_MERGED_PROCEDURE.sql | 4338 ++++++++++++++ sql/storedProduzione/dbo_TrimTable.sql | 28 + sql/storedProduzione/dbo_TrimWSEITables.sql | 84 + sql/storedProduzione/dbo_UPDATE_EVASIONE.sql | 9 + .../dbo_UTIL_ESTRAI_COMPLEX_MODIFICATA.sql | 112 + .../dbo_Utility_Query_Incrocio.sql | 23 + .../dbo_VerificaAllMassGior.sql | 45 + .../dbo_creaExcelVerificaCampioneS80.sql | 58 + ...dbo_creaExcelVerificaCampioneS80_excel.sql | 43 + .../dbo_getListaPdfStorici.sql | 32 + .../dbo_inserisciRichiestaStorico.sql | 17 + sql/storedProduzione/dbo_spPDFRecovery.sql | 21 + sql/storedProduzione/dbo_sp_WhoIsActive.sql | 5063 +++++++++++++++++ sql/storedProduzione/dbo_sp_alterdiagram.sql | 52 + .../dbo_sp_change_codfiscale_SEIReport.sql | 37 + sql/storedProduzione/dbo_sp_creatediagram.sql | 51 + sql/storedProduzione/dbo_sp_dropdiagram.sql | 33 + .../dbo_sp_dts_addlogentry.sql | 1 + sql/storedProduzione/dbo_sp_getColors.sql | 18 + .../dbo_sp_helpdiagramdefinition.sql | 33 + sql/storedProduzione/dbo_sp_helpdiagrams.sql | 29 + sql/storedProduzione/dbo_sp_renamediagram.sql | 51 + .../dbo_sp_upgraddiagrams.sql | 52 + .../dbo_srv_change_Professional_Base_CU.sql | 16 + .../dbo_srv_change_codfiscale.sql | 106 + .../dbo_srv_change_codfiscaleMassiva.sql | 76 + .../dbo_srv_change_codfiscaleMassiva_CU.sql | 55 + ..._change_codfiscaleMassiva_CU_SEIReport.sql | 28 + .../dbo_srv_change_codfiscale_20161114.sql | 106 + ...hange_codfiscale_20161114_OLwhenQready.sql | 107 + .../dbo_srv_change_codfiscale_CU.sql | 103 + .../dbo_srv_change_codfiscale_mod.sql | 106 + .../dbo_srv_change_rete_CU.sql | 98 + sql/storedProduzione/dbo_test_S80All_fc.sql | 249 + ...test_compl_testo_sezione_adeg_obsoleta.sql | 16 + sql/storedProduzione/dbo_test_fc.sql | 7 + sql/storedProduzione/dbo_usp_ExportImage.sql | 35 + sql/storedProduzione/dbo_usp_ImportImage.sql | 21 + sql/storedProduzione/dbo_vinfocliente.sql | 18 + ...martperiodico_DM_PatrimonioBFAggregato.sql | 13 + ...DM_PatrimonioBFAggregato_pre_selective.sql | 13 + ...o_DM_PatrimonioNonRappresentabileAsset.sql | 70 + ...oNonRappresentabileAsset_pre_selective.sql | 70 + ...tperiodico_DM_PatrimonioTerziAggregato.sql | 40 + ...PatrimonioTerziAggregato_pre_selective.sql | 40 + sql/storedProduzione/wh_MERGED_PROCEDURE.sql | 447 ++ .../wh_MERGED_PROCEDURE_20160709_byen.sql | 4416 ++++++++++++++ .../wh_MERGED_PROCEDURE_20161012.sql | 4589 +++++++++++++++ .../wh_MERGED_PROCEDURE_20170615.sql | 4592 +++++++++++++++ .../wh_MERGED_PROCEDURE_20180619.sql | 4592 +++++++++++++++ .../wh_MERGED_PROCEDURE_20181010.sql | 4599 +++++++++++++++ .../wh_MERGED_PROCEDURE_NUOVA.sql | 305 + ...URE_PL_Prodotti_Non_Associati_Area_Inv.sql | 41 + .../wh_MERGED_PROCEDURE_S10.sql | 16 + .../wh_MERGED_PROCEDURE_S151.sql | 53 + .../wh_MERGED_PROCEDURE_S169.sql | 223 + .../wh_MERGED_PROCEDURE_S170.sql | 139 + .../wh_MERGED_PROCEDURE_S178.sql | 143 + .../wh_MERGED_PROCEDURE_S43.sql | 17 + .../wh_MERGED_PROCEDURE_S85.sql | 62 + .../wh_MERGED_PROCEDURE_SINGLE.sql | 4696 +++++++++++++++ sql/storedProduzione/wh_ProduceMaladetti.sql | 393 ++ .../wh_p_PL_AreeMonitorate.sql | 5 + .../wh_p_PL_D2_S151ProfiloDiRischio.sql | 1 + .../wh_p_PL_D2_S152Patrimonio.sql | 1 + .../wh_p_PL_D2_S153PatrimonioFinanziario.sql | 2 + .../wh_p_PL_D2_S154PatrimonioFinanziario.sql | 2 + .../wh_p_PL_D2_S155PatrimonioImmobiliare.sql | 2 + .../wh_p_PL_D2_S156ALtroPatrimonio.sql | 2 + .../wh_p_PL_D2_S157ConfrontoPiramidi.sql | 2 + .../wh_p_PL_D2_S158PiramideModello.sql | 1 + .../wh_p_PL_D2_S159PatrimonioFinanziario.sql | 2 + .../wh_p_PL_D2_S160DettaglioProdottiBF.sql | 2 + .../wh_p_PL_D2_S162DettaglioProdotti.sql | 1 + ...2_S163PatrimonioFinanziarioMAssetClass.sql | 4 + .../wh_p_PL_D2_S164PolizzeAltriIstituti.sql | 1 + .../wh_p_PL_D2_S165FondiAltriIstituti.sql | 1 + ..._PL_D2_S167DistribuzioneRischioCredito.sql | 1 + .../wh_p_PL_D2_S168TabellaEmittenti.sql | 2 + ...PL_D2_S169RischiomercatoRischiocredito.sql | 3 + ...wh_p_PL_D2_S170RischioDiversificazione.sql | 2 + ...atrimonioNonRappresentabileAssettClass.sql | 3 + .../wh_p_PL_D_S170RischioDiversificazione.sql | 2 + ..._p_PL_D_S178IndicatoriEsitoAdeguatezza.sql | 53 + .../wh_p_PL_MP_S133AreeBisognoPrincProd.sql | 3 + .../wh_p_PL_MP_S133BISPrincipaliProdotti.sql | 3 + .../wh_p_PL_MP_S134BISMonitoraggioLiqInv.sql | 3 + .../wh_p_PL_MP_S134MonitoraggioLiquidita.sql | 1 + ...h_p_PL_MP_S135MonitoraggioInvestimento.sql | 3 + .../wh_p_PL_MP_S137BISCapitaleProtetto.sql | 1 + sql/storedProduzione/wh_p_PL_MP_S137Bonus.sql | 1 + .../wh_p_PL_MP_S140AnalisiRisparmioCharts.sql | 1 + .../wh_p_PL_MP_S141AnalisiRisparmioTable.sql | 2 + ...wh_p_PL_MP_S146RischioDiversificazione.sql | 3 + ...h_p_PL_Prodotti_Non_Associati_Area_Inv.sql | 1 + .../wh_p_PL_S10PatrimonioFinanziario.sql | 3 + .../wh_p_PL_S43BISDettaglioProdottiBF.sql | 3 + .../wh_p_PL_S43ContoCorrenteBF.sql | 3 + .../wh_p_PL_S43DettaglioProdottiBF.sql | 2 + .../wh_p_PL_S43LineaSelfBF.sql | 1 + ...atrimonioNonRappresentabileAssettClass.sql | 1 + .../wh_p_PL_S80Alternativa.sql | 1 + .../wh_p_PL_S82BisDatiSintetici.sql | 1 + .../wh_p_PL_S82DatiSintetici.sql | 1 + .../wh_p_PL_S85RendimentoPortafoglioCono.sql | 3 + ...oNonConsideratoNelCalcoloDelRendimento.sql | 4 + ...h_p_PL_S96RischiomercatoRischiocredito.sql | 2 + ...Immobiliare_Blacklist_Blocco_Tabellone.sql | 61 + ...6MartPeriodicoImmobiliare_DM_ANAG_SELF.sql | 75 + ...are_DM_ANAG_SELF_20181214_PreMioFoglio.sql | 67 + ...dicoImmobiliare_DM_CODIFICA_CREDITRISK.sql | 50 + ...riodicoImmobiliare_DM_CODIFICA_RISCHIO.sql | 53 + .../C6MartPeriodicoImmobiliare_DM_MIFID.sql | 129 + ...odicoImmobiliare_DM_PARTITE_VIAGGIANTI.sql | 64 + ...iodicoImmobiliare_DM_RISCHIO_AGGREGATO.sql | 96 + ...biliare_Delete_Immobiliare_GestionePDF.sql | 31 + ...biliare_Insert_Immobiliare_GestionePDF.sql | 123 + ...biliare_Insert_Immobiliare_GestioneZIP.sql | 52 + ...tPeriodicoImmobiliare_MERGED_PROCEDURE.sql | 109 + ...iare_PL_D2_S170RischioDiversificazione.sql | 86 + ...riodicoImmobiliare_PL_D_S152Patrimonio.sql | 88 + ...biliare_PL_D_S154PatrimonioFinanziario.sql | 152 + ..._GetClientNegativeCurrentAccountsValue.sql | 29 + ...PL_GetClientSelfNegCurrentAccountValue.sql | 25 + ...biliare_PL_MP_S133AreeBisognoPrincProd.sql | 42 + ...liare_PL_MP_S140AnalisiRisparmioCharts.sql | 338 ++ ...atrimonioNonRappresentabileAssettClass.sql | 116 + ...oNonConsideratoNelCalcoloDelRendimento.sql | 62 + ...mobiliare_Popola_S133_S157DatiPiramide.sql | 291 + ...eriodicoImmobiliare_RP_DM_ANAG_CLIENTI.sql | 143 + ...riodicoImmobiliare_RP_DM_ANAG_PRODOTTI.sql | 94 + ...oImmobiliare_RP_DM_ANAG_PRODOTTI_TERZI.sql | 80 + ...eriodicoImmobiliare_RP_DM_AREA_BISOGNO.sql | 47 + ...tPeriodicoImmobiliare_RP_DM_ASSETCLASS.sql | 66 + ...dicoImmobiliare_RP_DM_ASSETCLASS_TERZI.sql | 58 + ...tPeriodicoImmobiliare_RP_DM_ASSET_PERC.sql | 73 + ...dicoImmobiliare_RP_DM_ASSET_PERC_TERZI.sql | 80 + ...eriodicoImmobiliare_RP_DM_CONTRATTOSEI.sql | 117 + ...iodicoImmobiliare_RP_DM_DETTAGLIO_ASUL.sql | 266 + ...dicoImmobiliare_RP_DM_PATRIMONIO_ALTRO.sql | 86 + ...riodicoImmobiliare_RP_DM_PATRIMONIO_BF.sql | 747 +++ ...mobiliare_RP_DM_PATRIMONIO_IMMOBILIARE.sql | 79 + ...TRIMONIO_IMMOBILIARE_20190205_ProQuota.sql | 79 + ...dicoImmobiliare_RP_DM_PATRIMONIO_TERZI.sql | 163 + ...eriodicoImmobiliare_RP_DM_PIRAMIDE_MOD.sql | 211 + ...oImmobiliare_RP_PROM_TuttiIPortafogli2.sql | 57 + ...e_RP_PROM_TuttiIPortafogli2_Indicatore.sql | 155 + ...iliare_SP_Valorizza_Stati_semaforo_IMM.sql | 298 + ...dateDateReport_Immobiliare_GestionePDF.sql | 63 + ...biliare_Update_Immobiliare_GestioneZIP.sql | 39 + ...eriodicoImmobiliare_sp_caricaBlacklist.sql | 37 + ...re_start_email_Testi_Statici_tabellone.sql | 6 + ...obiliare_start_email_Zipping_tabellone.sql | 6 + ...C6MartPeriodico_AGGIORNA_NUMERO_PAGINE.sql | 18 + ...eriodico_AL_AggiornaPortafoglioCliente.sql | 56 + ...giornaPortafoglioCliente_pre_selective.sql | 56 + ...tPeriodico_AggiornaFlagRolContrattoSei.sql | 15 + .../C6MartPeriodico_AppRendTabReader.sql | 14 + .../C6MartPeriodico_AppRendTabReader_bl.sql | 14 + .../C6MartPeriodico_BONIFICA_WSEIUL.sql | 53 + ...eriodico_BONIFICA_WSEIUL_pre_selective.sql | 53 + ...rtPeriodico_Blacklist_Blocco_Tabellone.sql | 71 + ...co_Blocco_Blacklist_AppRendicontazione.sql | 34 + .../C6MartPeriodico_BonificaDataQuality.sql | 50 + ...dico_CHECK_AGGIORNA_ERRORI_GENERAZIONE.sql | 11 + ...dico_CHECK_CTV_PER_NEEDAREA_PER_CLIENT.sql | 145 + .../C6MartPeriodico_CHECK_GET_CTV_ISSUES.sql | 16 + ...eriodico_CHECK_GET_CTV_ISSUES_PER_AREA.sql | 14 + ...eriodico_CHECK_GET_CUSTOMERS_FOR_CHECK.sql | 19 + .../C6MartPeriodico_CHECK_GET_NeedAreas.sql | 6 + .../C6MartPeriodico_CHECK_GET_Perc_ISSUES.sql | 13 + ...0_PATRIMONIO_NON_RAPPRESENTABILE_ASSET.sql | 24 + ...TRIMONIO_NON_RAPPRESENTABILE_ASSET_ALL.sql | 16 + .../C6MartPeriodico_CHECK_GET_VAR_ISSUES.sql | 12 + ...artPeriodico_CHECK_INSERT_CTV_PER_AREA.sql | 17 + ...Periodico_CHECK_INSERT_CTV_PER_SECTION.sql | 19 + .../C6MartPeriodico_CHECK_INSERT_S10_PERC.sql | 15 + ...Periodico_CHECK_INSERT_VAR_PER_SECTION.sql | 16 + ...Periodico_CHECK_PROFILOSCADUTO_RFAZERO.sql | 22 + ...K_PROFILOSCADUTO_RFAZERO_pre_selective.sql | 22 + .../C6MartPeriodico_CHECK_PROFILO_SCADUTO.sql | 42 + ...co_CHECK_PROFILO_SCADUTO_pre_selective.sql | 42 + .../C6MartPeriodico_CHECK_RFA_ZERO.sql | 30 + ...Periodico_CHECK_RFA_ZERO_pre_selective.sql | 30 + .../C6MartPeriodico_CREA_FIRMA_PROMOTORE.sql | 8 + .../C6MartPeriodico_CRUSCOTTOTRIMESTRALE.sql | 139 + ...6MartPeriodico_CRUSCOTTOTRIMESTRALEMAU.sql | 213 + ...artPeriodico_CRUSCOTTOTRIMESTRALE_FILE.sql | 107 + ...riodico_CRUSCOTTOTRIMESTRALE_FILE_test.sql | 107 + .../C6MartPeriodico_Caricamento_TBGEN.sql | 22 + .../C6MartPeriodico_CercaCaratteriAnomali.sql | 356 ++ ...riodico_CercaCaratteriAnomali_20150205.sql | 356 ++ ...MartPeriodico_CheckQuadraturaRfa0Mifid.sql | 47 + ...odico_Controlla_Stato_Stampa_Cruscotto.sql | 39 + .../C6MartPeriodico_DM_ALL_PATRIMONIO.sql | 326 ++ .../C6MartPeriodico_DM_ANAG_CC.sql | 82 + .../C6MartPeriodico_DM_ANAG_CC_TERZI.sql | 71 + ...riodico_DM_ANAG_CC_TERZI_pre_selective.sql | 71 + ...MartPeriodico_DM_ANAG_CC_pre_selective.sql | 74 + .../C6MartPeriodico_DM_ANAG_CLIENTI.sql | 221 + ...o_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql | 143 + .../C6MartPeriodico_DM_ANAG_CLIENTI_PREV.sql | 60 + ...ico_DM_ANAG_CLIENTI_PREV_pre_selective.sql | 60 + ...eriodico_DM_ANAG_CLIENTI_pre_selective.sql | 221 + .../C6MartPeriodico_DM_ANAG_PRODOTTI.sql | 102 + ...C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI.sql | 74 + ...o_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql | 74 + ...6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE.sql | 56 + ..._DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql | 56 + ...riodico_DM_ANAG_PRODOTTI_pre_selective.sql | 102 + .../C6MartPeriodico_DM_ANAG_PROMOTORI.sql | 111 + ...iodico_DM_ANAG_PROMOTORI_pre_selective.sql | 111 + .../C6MartPeriodico_DM_ANAG_SELF.sql | 74 + ...ico_DM_ANAG_SELF_20181214_PreMioFoglio.sql | 67 + ...tPeriodico_DM_ANAG_SELF_BK_eligoTitoli.sql | 62 + ...rtPeriodico_DM_ANAG_SELF_pre_selective.sql | 67 + .../C6MartPeriodico_DM_AREA_BISOGNO.sql | 47 + ...eriodico_DM_AREA_BISOGNO_pre_selective.sql | 47 + .../C6MartPeriodico_DM_ASSETCLASS.sql | 53 + .../C6MartPeriodico_DM_ASSETCLASS_TERZI.sql | 55 + ...dico_DM_ASSETCLASS_TERZI_pre_selective.sql | 55 + ...tPeriodico_DM_ASSETCLASS_pre_selective.sql | 53 + .../C6MartPeriodico_DM_ASSET_PERC.sql | 76 + .../C6MartPeriodico_DM_ASSET_PERC_TERZI.sql | 79 + ...dico_DM_ASSET_PERC_TERZI_pre_selective.sql | 79 + ...tPeriodico_DM_ASSET_PERC_pre_selective.sql | 76 + .../C6MartPeriodico_DM_BONUS.sql | 69 + ...C6MartPeriodico_DM_BONUS_pre_selective.sql | 69 + .../C6MartPeriodico_DM_CAPPROT.sql | 206 + .../C6MartPeriodico_DM_CAPPROT_20171129.sql | 200 + .../C6MartPeriodico_DM_CAPPROT_BKP.sql | 174 + .../C6MartPeriodico_DM_CAPPROT_FVI.sql | 152 + ...MartPeriodico_DM_CAPPROT_pre_selective.sql | 200 + ...6MartPeriodico_DM_CLIENTI_CON_RNA_ALTO.sql | 37 + ...C6MartPeriodico_DM_CLIENTI_NON_MIGRATI.sql | 18 + ...o_DM_CLIENTI_NON_MIGRATI_pre_selective.sql | 18 + ...C6MartPeriodico_DM_CODIFICA_CREDITRISK.sql | 50 + ...o_DM_CODIFICA_CREDITRISK_pre_selective.sql | 50 + .../C6MartPeriodico_DM_CODIFICA_RISCHIO.sql | 53 + ...dico_DM_CODIFICA_RISCHIO_pre_selective.sql | 53 + .../C6MartPeriodico_DM_COMPLESSITA.sql | 84 + ...Periodico_DM_COMPLESSITA_pre_selective.sql | 84 + .../C6MartPeriodico_DM_CONGELAMENTO_SEI.sql | 23 + ...dico_DM_CONGELAMENTO_SEI_pre_selective.sql | 23 + ...C6MartPeriodico_DM_CONO_PIANIFICAZIONE.sql | 86 + ...o_DM_CONO_PIANIFICAZIONE_pre_selective.sql | 86 + ...6MartPeriodico_DM_CONS_ATTIVAGGIORNATA.sql | 202 + ..._DM_CONS_ATTIVAGGIORNATA_pre_selective.sql | 202 + .../C6MartPeriodico_DM_CONTRATTOSEI.sql | 40 + ...MartPeriodico_DM_CONTROLLO_TRIMESTRALE.sql | 16 + .../C6MartPeriodico_DM_DATI_REPORT.sql | 47 + ...Periodico_DM_DATI_REPORT_pre_selective.sql | 47 + .../C6MartPeriodico_DM_DETTAGLIO_ASUL.sql | 99 + ...iodico_DM_DETTAGLIO_ASUL_pre_selective.sql | 99 + .../C6MartPeriodico_DM_DettaglioMovimenti.sql | 157 + ...riodico_DM_DettaglioMovimenti_20160913.sql | 154 + ...artPeriodico_DM_DettaglioMovimenti_old.sql | 95 + ...co_DM_DettaglioMovimenti_pre_selective.sql | 157 + ...artPeriodico_DM_ELABORAZIONI_EMAIL_RNA.sql | 93 + .../C6MartPeriodico_DM_EMAIL_PB.sql | 68 + ...artPeriodico_DM_EMAIL_PB_pre_selective.sql | 66 + .../C6MartPeriodico_DM_FOI80.sql | 180 + ...C6MartPeriodico_DM_FOI80_pre_selective.sql | 180 + ...co_DM_GESTIONE_EMAIL_REPORT_DEFINITIVI.sql | 49 + ...dico_DM_GESTIONE_EMAIL_REPORT_GENERATI.sql | 41 + .../C6MartPeriodico_DM_GESTIONE_EMAIL_RNA.sql | 52 + ...6MartPeriodico_DM_MAIL_PROFILI_RISCHIO.sql | 28 + .../C6MartPeriodico_DM_MIFID.sql | 138 + ...M_MIFID_BKP_20231114_PRE_RAFFORZAMENTO.sql | 129 + ...C6MartPeriodico_DM_MIFID_pre_selective.sql | 129 + ...6MartPeriodico_DM_MONITORAGGIO_ATTUALE.sql | 159 + ..._DM_MONITORAGGIO_ATTUALE_pre_selective.sql | 159 + ...artPeriodico_DM_MONITORAGGIO_DETTAGLIO.sql | 124 + ...M_MONITORAGGIO_DETTAGLIO_pre_selective.sql | 124 + ...MartPeriodico_DM_MONITORAGGIO_INIZIALE.sql | 83 + ...ONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA.sql | 325 ++ ...DM_MONITORAGGIO_INIZIALE_pre_selective.sql | 83 + ...C6MartPeriodico_DM_MONITORAGGIO_REPORT.sql | 83 + ...o_DM_MONITORAGGIO_REPORT_pre_selective.sql | 83 + ...6MartPeriodico_DM_MONITORAGGIO_STORICO.sql | 141 + ..._DM_MONITORAGGIO_STORICO_pre_selective.sql | 141 + .../C6MartPeriodico_DM_PARTITE_VIAGGIANTI.sql | 64 + ...co_DM_PARTITE_VIAGGIANTI_pre_selective.sql | 64 + .../C6MartPeriodico_DM_PATRIMONIO_ALTRO.sql | 74 + ...dico_DM_PATRIMONIO_ALTRO_pre_selective.sql | 74 + .../C6MartPeriodico_DM_PATRIMONIO_BF.sql | 815 +++ ...riodico_DM_PATRIMONIO_BF_pre_selective.sql | 815 +++ ...6MartPeriodico_DM_PATRIMONIO_EMITTENTI.sql | 161 + ..._DM_PATRIMONIO_EMITTENTI_pre_selective.sql | 161 + ...artPeriodico_DM_PATRIMONIO_IMMOBILIARE.sql | 83 + ...M_PATRIMONIO_IMMOBILIARE_pre_selective.sql | 83 + .../C6MartPeriodico_DM_PATRIMONIO_TERZI.sql | 162 + ...dico_DM_PATRIMONIO_TERZI_pre_selective.sql | 162 + .../C6MartPeriodico_DM_PIRAMIDE_MOD.sql | 92 + ...eriodico_DM_PIRAMIDE_MOD_pre_selective.sql | 92 + .../C6MartPeriodico_DM_PIRAMIDE_VERT.sql | 66 + ...POLAMENTO_AM_OperazioniUltimoTrimestre.sql | 50 + .../C6MartPeriodico_DM_PROVENTI.sql | 87 + ...artPeriodico_DM_PROVENTI_pre_selective.sql | 87 + .../C6MartPeriodico_DM_RISCHIOEMITTENTI.sql | 15 + .../C6MartPeriodico_DM_RISCHIO_AGGREGATO.sql | 95 + ...M_RISCHIO_AGGREGATO_20180627_preNewInd.sql | 90 + ...artPeriodico_DM_RISCHIO_AGGREGATO_OLD2.sql | 97 + ...MartPeriodico_DM_RISCHIO_AGGREGATO_old.sql | 88 + ...iodico_DM_RISCHIO_AGGREGATO_preAladdin.sql | 93 + ...ico_DM_RISCHIO_AGGREGATO_pre_selective.sql | 90 + ...HIO_AGGREGATO_pre_selective_preAladdin.sql | 90 + .../C6MartPeriodico_DM_SCADENZE.sql | 87 + ...artPeriodico_DM_SCADENZE_pre_selective.sql | 82 + ...riodico_DM_SCADENZE_pre_selective_luca.sql | 82 + ...C6MartPeriodico_DM_STORICO_CAPPROT_FVI.sql | 74 + .../C6MartPeriodico_DM_TEST_QUALITY.sql | 112 + .../C6MartPeriodico_DM_dettaglio_MOV.sql | 19 + ...fica_Concentrazione_Prodotti_Complessi.sql | 144 + ...artPeriodico_DeleteGruppo_ExcludedList.sql | 7 + ...tPeriodico_DistinctGruppo_ExcludedList.sql | 6 + .../C6MartPeriodico_Estrazione_Campione.sql | 40 + ...eriodico_Estrazione_Campione_Cruscotto.sql | 40 + ...MartPeriodico_GC_CONVALIDAREPORTSELECT.sql | 202 + ...tPeriodico_GC_DELETE_CONVALIDA_ANNULLA.sql | 64 + ...Periodico_GC_INSERT_VERIFICHE_CAMPIONE.sql | 44 + ...tPeriodico_GC_REPORTDACANCELLARESELECT.sql | 26 + ...rtPeriodico_GC_VerificheCampioneSelect.sql | 124 + ...6MartPeriodico_GESTIONE_C6_S_Generator.sql | 35 + ...tPeriodico_GESTIONE_C6_S_Generator_OLD.sql | 106 + ...ONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE.sql | 25 + ...riodico_GESTIONE_INSERT_CUSTOMER_ERROR.sql | 28 + ...odico_GESTIONE_INSERT_ELABORAZIONE_ZIP.sql | 29 + ...TIONE_INSERT_ELABORAZIONE_ZIP_20170328.sql | 29 + ...GESTIONE_INSERT_ELABORAZIONI_EMAIL_RNA.sql | 18 + ...odico_GESTIONE_INSERT_EMAIL_DA_INVIARE.sql | 107 + ...6MartPeriodico_GESTIONE_INSERT_PDF_FTP.sql | 212 + ...odico_GESTIONE_INSERT_PDF_FTP_04082015.sql | 133 + ...riodico_GESTIONE_INSERT_PDF_FTP_GET_ID.sql | 18 + ...odico_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql | 45 + .../C6MartPeriodico_GESTIONE_INSERT_ZIP.sql | 58 + ...odico_GESTIONE_INSERT_ZIP_IDX_NOINSERT.sql | 18 + ...iodico_GESTIONE_PDF_REVERT_FISCAL_CODE.sql | 11 + ...artPeriodico_GESTIONE_SCARTI_CRUSCOTTO.sql | 12 + ...GESTIONE_SELECT_ELABORAZIONI_EMAIL_RNA.sql | 11 + ...odico_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql | 37 + ...TIONE_SELECT_EMAIL_DA_INVIARE_20160913.sql | 13 + ...co_GESTIONE_SELECT_EMAIL_DA_INVIARE_bk.sql | 37 + ...riodico_GESTIONE_SELECT_FTP_DA_INVIARE.sql | 54 + ...A_INVIARE_20170413_b4_NewZipFtpProcess.sql | 55 + ...TP_DA_INVIARE_20170712_b4_OrderedByCAP.sql | 52 + ...tPeriodico_GESTIONE_SELECT_FTP_INVIATI.sql | 47 + ...E_SELECT_FTP_INVIATI_20180214_bonifica.sql | 27 + ...NE_SELECT_FTP_INVIATI_20180308_PreIDX2.sql | 26 + ...o_GESTIONE_SELECT_FTP_INVIATI_20180420.sql | 47 + ...o_GESTIONE_SELECT_FTP_INVIATI_20240225.sql | 45 + ...E_SELECT_FTP_INVIATI_INCLUDINGFILENAME.sql | 46 + ...ATI_INCLUDINGFILENAME_20180308_PreIDX2.sql | 18 + ...FTP_INVIATI_INCLUDINGFILENAME_20180420.sql | 46 + ...IONE_SELECT_FTP_INVIATI_prova_20141223.sql | 52 + ...eriodico_GESTIONE_SELECT_FTP_WHITELIST.sql | 48 + .../C6MartPeriodico_GESTIONE_SELECT_HOST.sql | 56 + ...eriodico_GESTIONE_SELECT_LAST_ELAB_ZIP.sql | 8 + ...MartPeriodico_GESTIONE_SELECT_LAST_ZIP.sql | 34 + ...ico_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql | 98 + ...NE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql | 98 + ..._SELECT_NUM_MAX_ELABORAZIONI_EMAIL_RNA.sql | 11 + ...GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql | 20 + ...ONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql | 103 + ..._SELECT_PDF_GETDATATHREADS_CAMPIONE_DA.sql | 110 + ...LECT_PDF_GETDATATHREADS_CAMPIONE_DA_FA.sql | 97 + ...F_GETDATATHREADS_CAMPIONE_DA_Francesco.sql | 107 + ...LECT_PDF_GETDATATHREADS_CAMPIONE_DA_GB.sql | 84 + ..._SELECT_PDF_GETDATATHREADS_CAMPIONE_FA.sql | 100 + ...LECT_PDF_GETDATATHREADS_CAMPIONE_FORCE.sql | 99 + ...ATATHREADS_CAMPIONE_FOR_STATISTICS.obs.sql | 81 + ..._PDF_GETDATATHREADS_CAMPIONE_Francesco.sql | 99 + ..._SELECT_PDF_GETDATATHREADS_CAMPIONE_PK.sql | 88 + ...ELECT_PDF_GETDATATHREADS_CAMPIONE_Pino.sql | 89 + ...ATHREADS_CAMPIONE_QRM_NonOptimized.obs.sql | 232 + ...READS_CAMPIONE_QRM_ONDEMAND_OPT_EN.obs.sql | 61 + ...ECT_PDF_GETDATATHREADS_CAMPIONE_SEI_GB.sql | 86 + ...ELECT_PDF_GETDATATHREADS_CAMPIONE_luca.sql | 89 + ...TDATATHREADS_CAMPIONE_onDemand_Adriano.sql | 88 + ...DS_CAMPIONE_onDemand_Adriano_PROVAPROF.sql | 89 + ...DF_GETDATATHREADS_CAMPIONE_onDemand_EN.sql | 98 + ..._GETDATATHREADS_CAMPIONE_onDemand_Luca.sql | 105 + ...NE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO.sql | 126 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_01.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_02.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_03.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_04.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_05.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_06.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_07.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_08.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_09.sql | 141 + ..._SELECT_PDF_GETDATATHREADS_CRUSCOTTO_1.sql | 139 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_10.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_11.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_12.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_13.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_14.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_15.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_16.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_17.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_18.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_19.sql | 141 + ..._SELECT_PDF_GETDATATHREADS_CRUSCOTTO_2.sql | 140 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_20.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_21.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_22.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_23.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_24.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_25.sql | 141 + ...SELECT_PDF_GETDATATHREADS_CRUSCOTTO_DA.sql | 124 + ...T_PDF_GETDATATHREADS_PartiteViaggianti.sql | 212 + ...DATATHREADS_PartiteViaggianti_CAMPIONE.sql | 202 + ...ADS_PartiteViaggianti_OnDemand_Adriano.sql | 202 + ..._GESTIONE_SELECT_REPORTS_ERRATACORRIGE.sql | 55 + ...IONE_SELECT_REPORTS_ERRATACORRIGE_test.sql | 56 + ...ico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV.sql | 64 + ...ONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart.sql | 47 + ...o_GESTIONE_SELECT_S80_FASE2_CU_mariano.sql | 230 + ...co_GESTIONE_SELECT_S80_FASE2_SELECTIVE.sql | 195 + ...TIONE_SELECT_S80_FASE2_SELECTIVE_FINAL.sql | 12 + ..._GESTIONE_SELECT_S80_PARZIALE_FASE2_CU.sql | 100 + ...Periodico_GESTIONE_SELECT_SPECIFIC_ZIP.sql | 23 + ...riodico_GESTIONE_SELECT_ZIP_DA_INVIARE.sql | 27 + ...eriodico_GESTIONE_SELECT_ZIP_WHITELIST.sql | 22 + ...6MartPeriodico_GESTIONE_S_Intermediari.sql | 21 + ...odico_GESTIONE_UPDATE_ELABORAZIONE_ZIP.sql | 15 + ...TIONE_UPDATE_ELABORAZIONE_ZIP_20170328.sql | 15 + ...rtPeriodico_GESTIONE_UPDATE_EMAIL_HOST.sql | 13 + ...eriodico_GESTIONE_UPDATE_EMAIL_INVIATE.sql | 13 + .../C6MartPeriodico_GESTIONE_UPDATE_FTP.sql | 33 + .../C6MartPeriodico_GESTIONE_UPDATE_ZIP.sql | 32 + ...MartPeriodico_GESTIONE_UPDATE_ZIP_COPY.sql | 39 + ...Periodico_GESTIONE_UPDATE_ZIP_SENT_FTP.sql | 32 + ...eriodico_GETDATATHREADS_TRIMESTRALE_DA.sql | 85 + ...odico_GETDATATHREADS_TRIMESTRALE_DA_GB.sql | 85 + ...eriodico_GETDATATHREADS_TRIMESTRALE_GB.sql | 87 + ...riodico_GETDATATHREADS_TRIMESTRALE_SEI.sql | 85 + ...dico_GETDATATHREADS_TRIMESTRALE_SEI_GB.sql | 85 + ...eriodico_Genera_Cruscotto_ContrattoSei.sql | 50 + ...a_Cruscotto_ContrattoSei_20170407.SAVE.sql | 47 + .../C6MartPeriodico_Gestione_Bonus.sql | 14 + ...artPeriodico_Gestione_ProdottiProtetti.sql | 89 + ...ico_Gestione_ProdottiProtetti_20171215.sql | 89 + ...6MartPeriodico_GetFilesForSendingByFTP.sql | 5 + .../C6MartPeriodico_GetQueryContratti.sql | 13 + .../C6MartPeriodico_GetRiskArea.sql | 20 + ...iodico_INSERISCI_FASE2_PER_CAMBIO_RETE.sql | 154 + ...rimento_TrimestraleScarti_ExcludedList.sql | 5 + ...mestraleScarti_SegnalazioneDataQuality.sql | 9 + .../C6MartPeriodico_Motivo_ExcludedList.sql | 12 + .../C6MartPeriodico_PL_AreeMonitorate.sql | 293 + ...o_PL_AreeMonitorate_20180604_PreMifid2.sql | 266 + ...eMonitorate_20180927_PreOttimizzazione.sql | 269 + ...L_AreeMonitorate_20181214_PreMioFoglio.sql | 271 + .../C6MartPeriodico_PL_AreeMonitorate_85.sql | 203 + ...odico_PL_AreeMonitorate_BK_eligoTitoli.sql | 265 + ...riodico_PL_AreeMonitorate_PRESBAGLIATA.sql | 250 + ...eriodico_PL_AreeMonitorate_SIMULAZIONE.sql | 246 + ...tPeriodico_PL_AreeMonitorate_bck201204.sql | 246 + ...iodico_PL_AreeMonitorate_bkup_20120101.sql | 239 + ...6MartPeriodico_PL_AreeMonitorate_preFD.sql | 283 + .../C6MartPeriodico_PL_D2_FD152Patrimonio.sql | 69 + ...riodico_PL_D2_FD160DettaglioProdottiBF.sql | 242 + ...ico_PL_D2_FD170RischioDiversificazione.sql | 280 + .../C6MartPeriodico_PL_D2_S150Anagrafica.sql | 32 + ...iodico_PL_D2_S150Anagrafica_BkUpParall.sql | 100 + ...rtPeriodico_PL_D2_S151ProfiloDiRischio.sql | 49 + .../C6MartPeriodico_PL_D2_S152Patrimonio.sql | 90 + ...ico_PL_D2_S152Patrimonio_20190225__ori.sql | 75 + ...D2_S152Patrimonio_20190225_preProquota.sql | 75 + ...iodico_PL_D2_S153PatrimonioFinanziario.sql | 107 + ...iodico_PL_D2_S154PatrimonioFinanziario.sql | 277 + ...iodico_PL_D2_S155PatrimonioImmobiliare.sql | 39 + ...imonioImmobiliare_20190225_preProquota.sql | 21 + ...atrimonioImmobiliare_20190502_ProQuota.sql | 39 + ...artPeriodico_PL_D2_S156ALtroPatrimonio.sql | 25 + ...tPeriodico_PL_D2_S157ConfrontoPiramidi.sql | 42 + ...2_S157ConfrontoPiramidi_BK_eligoTitoli.sql | 250 + ...PL_D2_S157ConfrontoPiramidi_BkUpParall.sql | 251 + ...ico_PL_D2_S157ConfrontoPiramidi_testFc.sql | 250 + ...artPeriodico_PL_D2_S158PiramideModello.sql | 51 + ...iodico_PL_D2_S159PatrimonioFinanziario.sql | 246 + ...eriodico_PL_D2_S160DettaglioProdottiBF.sql | 238 + ...D2_S160DettaglioProdottiBF_BK_20151222.sql | 226 + ...S160DettaglioProdottiBF_BK_eligoTitoli.sql | 225 + ...tPeriodico_PL_D2_S162DettaglioProdotti.sql | 102 + ...2_S163PatrimonioFinanziarioMAssetClass.sql | 67 + ...riodico_PL_D2_S164PolizzeAltriIstituti.sql | 31 + ...Periodico_PL_D2_S165FondiAltriIstituti.sql | 63 + ...artPeriodico_PL_D2_S166ContoCorrenteAI.sql | 24 + ..._PL_D2_S167DistribuzioneRischioCredito.sql | 632 ++ ...uzioneRischioCredito_PatrimonioNonRapp.sql | 314 + ...rtPeriodico_PL_D2_S168TabellaEmittenti.sql | 397 ++ ...PL_D2_S168TabellaEmittenti_BK_20151222.sql | 396 ++ ...PL_D2_S169RischiomercatoRischiocredito.sql | 557 ++ ...9RischiomercatoRischiocredito_20180716.sql | 227 + ...dico_PL_D2_S170RischioDiversificazione.sql | 280 + ...D2_S170RischioDiversificazione_NoLight.sql | 291 + ...atrimonioNonRappresentabileAssettClass.sql | 164 + ...rtPeriodico_PL_D3_S151ProfiloDiRischio.sql | 93 + ...PL_D_FD177ProfiloDiRischio_Adeguatezza.sql | 87 + ...o_PL_D_FD178IndicatoriEsitoAdeguatezza.sql | 306 + ...FD178IndicatoriEsitoAdeguatezza_preMUA.sql | 470 ++ .../C6MartPeriodico_PL_D_S150Anagrafica.sql | 100 + ...artPeriodico_PL_D_S151ProfiloDiRischio.sql | 49 + .../C6MartPeriodico_PL_D_S152Patrimonio.sql | 88 + ...riodico_PL_D_S153PatrimonioFinanziario.sql | 144 + ...riodico_PL_D_S154PatrimonioFinanziario.sql | 312 + ...riodico_PL_D_S155PatrimonioImmobiliare.sql | 21 + ...MartPeriodico_PL_D_S156ALtroPatrimonio.sql | 25 + ...rtPeriodico_PL_D_S157ConfrontoPiramidi.sql | 203 + ...MartPeriodico_PL_D_S158PiramideModello.sql | 51 + ...riodico_PL_D_S159PatrimonioFinanziario.sql | 246 + ...Periodico_PL_D_S160DettaglioProdottiBF.sql | 200 + ...rtPeriodico_PL_D_S162DettaglioProdotti.sql | 101 + ...D_S163PatrimonioFinanziarioMAssetClass.sql | 62 + ...eriodico_PL_D_S164PolizzeAltriIstituti.sql | 31 + ...tPeriodico_PL_D_S165FondiAltriIstituti.sql | 63 + ...MartPeriodico_PL_D_S166ContoCorrenteAI.sql | 23 + ...o_PL_D_S167DistribuzioneRischioCredito.sql | 623 ++ ...artPeriodico_PL_D_S168TabellaEmittenti.sql | 396 ++ ..._PL_D_S169RischiomercatoRischiocredito.sql | 462 ++ ...odico_PL_D_S170RischioDiversificazione.sql | 179 + ...atrimonioNonRappresentabileAssettClass.sql | 144 + ..._PL_D_S177ProfiloDiRischio_Adeguatezza.sql | 87 + ...o_Adeguatezza_20180706_PreCRNapolitano.sql | 71 + ...MartPeriodico_PL_D_S178CasiParticolari.sql | 122 + ...dico_PL_D_S178CasiParticolari_20181220.sql | 52 + ...icolari_BKP_20231114_PRE_RAFFORZAMENTO.sql | 86 + ...Periodico_PL_D_S178CasiParticolari_old.sql | 86 + ...L_D_S178CasiParticolari_report_ridotto.sql | 86 + ...co_PL_D_S178IndicatoriEsitoAdeguatezza.sql | 306 + ..._S178IndicatoriEsitoAdeguatezza_preMUA.sql | 470 ++ ...o_PL_D_S179EmittentiConcentrazioneAlta.sql | 28 + ...odico_PL_D_S180ProdottiComplessitaAlta.sql | 133 + ...D_S180ProdottiComplessitaAlta_20180715.sql | 41 + ..._PL_D_S180ProdottiComplessitaAlta_mini.sql | 89 + ...Periodico_PL_FD10PatrimonioFinanziario.sql | 18 + .../C6MartPeriodico_PL_FD181PreferenzeESG.sql | 51 + ...1PreferenzeESG_BKP_20250305_PreESG2024.sql | 38 + ...iodico_PL_FD182BISDettaglioProdottiESG.sql | 167 + ...Periodico_PL_FD182DettaglioProdottiESG.sql | 241 + ...tPeriodico_PL_FD185UCaratteristicheESG.sql | 142 + .../C6MartPeriodico_PL_FD187SfdrTaxESG.sql | 97 + .../C6MartPeriodico_PL_FD188PaiESG.sql | 88 + ..._FD190BisPatrimonioFinanziario_Modello.sql | 15 + ...0PatrimonioFinanziario_PTFRibilanciato.sql | 55 + ...D200BisDistribuzioneAssetClass_Modello.sql | 15 + .../C6MartPeriodico_PL_FD25Anagrafica.sql | 32 + ...eriodico_PL_FD43BISDettaglioProdottiBF.sql | 324 ++ ...rtPeriodico_PL_FD43DettaglioProdottiBF.sql | 264 + ..._GetClientNegativeCurrentAccountsValue.sql | 29 + ...tPeriodico_PL_GetClientNegativeGPEligo.sql | 32 + ...PL_GetClientSelfNegCurrentAccountValue.sql | 25 + ...MartPeriodico_PL_GetClientSelfNegative.sql | 29 + .../C6MartPeriodico_PL_Intermediari.sql | 27 + ...odico_PL_MP_FD133BISPrincipaliProdotti.sql | 53 + ...odico_PL_MP_FD134BISMonitoraggioLiqInv.sql | 52 + ...odico_PL_MP_FD134MonitoraggioLiquidita.sql | 78 + ...MartPeriodico_PL_MP_FD147SintesiValute.sql | 45 + ...ico_PL_MP_FD148DistribuzioneAssetClass.sql | 18 + ...istribuzioneAssetClass_PTFRibilanciato.sql | 45 + ...co_PL_MP_S128ProfiloRischioAdeguatezza.sql | 362 ++ ...schioAdeguatezza_BKP_PRE_RAFFORZAMENTO.sql | 359 ++ .../C6MartPeriodico_PL_MP_S129Patrimonio.sql | 29 + ...iodico_PL_MP_S129Patrimonio_BkUpParall.sql | 275 + ...tPeriodico_PL_MP_S129Patrimonio_bkp_fc.sql | 275 + ...eriodico_PL_MP_S130PrincipaliPosizioni.sql | 41 + ...Periodico_PL_MP_S131ContributoARischio.sql | 70 + ...co_PL_MP_S132ProfiloRischioAdeguatezza.sql | 30 + ...32ProfiloRischioAdeguatezza_BkUpParall.sql | 152 + ...riodico_PL_MP_S133AreeBisognoPrincProd.sql | 42 + ...133AreeBisognoPrincProd_BK_eligoTitoli.sql | 286 + ...MP_S133AreeBisognoPrincProd_BkUpParall.sql | 287 + ...iodico_PL_MP_S133BISPrincipaliProdotti.sql | 53 + ...iodico_PL_MP_S134BISMonitoraggioLiqInv.sql | 46 + ...iodico_PL_MP_S134MonitoraggioLiquidita.sql | 76 + ...ico_PL_MP_S135MonitoraggioInvestimento.sql | 45 + ...eriodico_PL_MP_S137BISCapitaleProtetto.sql | 48 + .../C6MartPeriodico_PL_MP_S137BIS_FOI80.sql | 52 + .../C6MartPeriodico_PL_MP_S137Bonus.sql | 33 + .../C6MartPeriodico_PL_MP_S138Proventi.sql | 23 + .../C6MartPeriodico_PL_MP_S139Scadenze.sql | 20 + ...odico_PL_MP_S140AnalisiRisparmioCharts.sql | 695 +++ ...alisiRisparmioCharts_20190123_PreLIGHT.sql | 338 ++ ..._MP_S140AnalisiRisparmioCharts_NoLight.sql | 344 ++ ...iodico_PL_MP_S141AnalisiRisparmioTable.sql | 384 ++ ...o_PL_MP_S141AnalisiRisparmioTable_test.sql | 451 ++ ...iodico_PL_MP_S142DistibuzionePerRating.sql | 92 + ..._MP_S142DistibuzionePerRating_20240803.sql | 78 + ...ico_PL_MP_S143DistibuzionePerEmittente.sql | 70 + ..._S143DistibuzionePerEmittente_20240803.sql | 57 + ...dico_PL_MP_S144DistibuzionePerScadenze.sql | 99 + ..._MP_S145DistibuzionePerTassoRendimento.sql | 64 + ...istibuzionePerTassoRendimento_20240803.sql | 50 + ...dico_PL_MP_S146RischioDiversificazione.sql | 69 + ...6MartPeriodico_PL_MP_S147SintesiValute.sql | 45 + ...dico_PL_MP_S148DistribuzioneAssetClass.sql | 18 + ...S148DistribuzioneAssetClass_BkUpParall.sql | 181 + ...co_PL_MP_S149DettaglioProdottiAffluent.sql | 12 + .../C6MartPeriodico_PL_MP_S173.sql | 9 + ...rtPeriodico_PL_MP_S173CapitaleProtetto.sql | 60 + .../C6MartPeriodico_PL_MP_S173FOI80.sql | 53 + .../C6MartPeriodico_PL_MP_S174Bonus.sql | 34 + ...MartPeriodico_PL_MP_S175BlueProtection.sql | 21 + ...odico_PL_MP_S175LineaProtettaMultiramo.sql | 20 + ...artPeriodico_PL_MP_S175WhiteProtection.sql | 21 + ...P_S176EvoluzioneLineaProtettaMultiramo.sql | 27 + ...ico_PL_MP_S44OperazioniUltimoTrimestre.sql | 23 + ...ico_PL_Prodotti_Non_Associati_Area_Inv.sql | 50 + ...ico_PL_S102DistribuzioneRischioCredito.sql | 621 ++ ...PL_S102DistribuzioneRischioCredito_OLD.sql | 279 + ...6MartPeriodico_PL_S103TabellaEmittenti.sql | 220 + ...tPeriodico_PL_S103TabellaEmittenti_OLD.sql | 178 + ...tPeriodico_PL_S10PatrimonioFinanziario.sql | 18 + ...PL_S10PatrimonioFinanziario_BkUpParall.sql | 122 + .../C6MartPeriodico_PL_S170LimitiMassimi.sql | 50 + ...eriodico_PL_S170LimitiMassimi_20180612.sql | 29 + ...eriodico_PL_S170LimitiMassimi_20180702.sql | 29 + ...Massimi_BKP_20231115_PRE_RAFFORZAMENTO.sql | 43 + ...o_PL_S172ProtezioneCapitaleAreeBisogno.sql | 167 + ...ezioneCapitaleAreeBisogno_20171201_ori.sql | 210 + ...ProtezioneCapitaleAreeBisogno_20171215.sql | 233 + ...ProtezioneCapitaleAreeBisogno_20171220.sql | 140 + ...ProtezioneCapitaleAreeBisogno_20171221.sql | 142 + ...ProtezioneCapitaleAreeBisogno_20180119.sql | 150 + ...pitaleAreeBisogno_20180717_PrePre1Pre2.sql | 150 + ...eBisogno_20190717_preFixArrotondamento.sql | 158 + ...72ProtezioneCapitaleAreeBisogno_pktest.sql | 150 + ...PL_S172ProtezioneCapitaleLineeProdotti.sql | 98 + .../C6MartPeriodico_PL_S181PreferenzeESG.sql | 57 + ...enzeESG_BKP_20231116_PRE_RAFFORZAMENTO.sql | 34 + ...PreferenzeESG_bkp_20250228_Pre_ESG2024.sql | 48 + ...riodico_PL_S182BISDettaglioProdottiESG.sql | 167 + ...ico_PL_S182BISDettaglioProdottiESG_Mon.sql | 165 + ...tPeriodico_PL_S182DettaglioProdottiESG.sql | 239 + ...ioProdottiESG_bkp_20250228_Pre_ESG2024.sql | 241 + .../C6MartPeriodico_PL_S183iCapital.sql | 63 + .../C6MartPeriodico_PL_S184CoerenzaESG.sql | 40 + ...iodico_PL_S184CoerenzaESG_BKP_20231013.sql | 35 + ...rtPeriodico_PL_S185UCaratteristicheESG.sql | 112 + ...teristicheESG_bkp_20250228_Pre_ESG2024.sql | 99 + ...riodico_PL_S186DettaglioPortafoglioSei.sql | 122 + .../C6MartPeriodico_PL_S187SfdrTaxESG.sql | 107 + .../C6MartPeriodico_PL_S188PaiESG.sql | 97 + ...ico_PL_S18PatrimonioFinanziarioRischio.sql | 86 + .../C6MartPeriodico_PL_S1Patrimonio.sql | 88 + ...C6MartPeriodico_PL_S23DettaglioRischio.sql | 78 + .../C6MartPeriodico_PL_S25Anagrafica.sql | 32 + ...tPeriodico_PL_S25Anagrafica_BkUpParall.sql | 100 + ...tPeriodico_PL_S26PatrimonioImmobiliare.sql | 21 + .../C6MartPeriodico_PL_S27ALtroPatrimonio.sql | 25 + ...rtPeriodico_PL_S2PatrimonioFinanziario.sql | 312 + ..._S31PatrimonioFinanziarioIntermediario.sql | 29 + ...PL_S32PatrimonioFinanziarioMAssetClass.sql | 62 + .../C6MartPeriodico_PL_S36ProfiloRischio.sql | 29 + .../C6MartPeriodico_PL_S37PiramideModello.sql | 30 + ...eriodico_PL_S42RischioDiversificazione.sql | 145 + ...Periodico_PL_S43BISDettaglioProdottiBF.sql | 299 + ..._PL_S43BISDettaglioProdottiBF_20160118.sql | 278 + ..._PL_S43BISDettaglioProdottiBF_20161215.sql | 287 + ...L_S43BISDettaglioProdottiBF_20161215_B.sql | 286 + .../C6MartPeriodico_PL_S43ContoCorrenteBF.sql | 44 + ...artPeriodico_PL_S43DettaglioProdottiBF.sql | 256 + ...ico_PL_S43DettaglioProdottiBF_20161215.sql | 240 + ...ico_PL_S43DettaglioProdottiBF_20161219.sql | 240 + ..._S43DettaglioProdottiBF_BK_eligoTitoli.sql | 238 + .../C6MartPeriodico_PL_S43LineaSelfBF.sql | 37 + ...L_S43LineaSelfBF_20181214_PreMioFoglio.sql | 25 + ...6MartPeriodico_PL_S48DettaglioProdotti.sql | 99 + ...rtPeriodico_PL_S49PolizzeAltriIstituti.sql | 31 + ...MartPeriodico_PL_S50FondiAltriIstituti.sql | 63 + .../C6MartPeriodico_PL_S51ContoCorrenteAI.sql | 23 + ...eriodico_PL_S56PatrimonioBFAreeBisogno.sql | 64 + ...6MartPeriodico_PL_S57ConfrontoPiramidi.sql | 203 + ...tPeriodico_PL_S57ConfrontoPiramidi_OLD.sql | 204 + ...rtPeriodico_PL_S6PatrimonioFinanziario.sql | 144 + .../C6MartPeriodico_PL_S75GradoCopertura.sql | 352 ++ ...artPeriodico_PL_S75GradoCoperturaCompl.sql | 14 + ...tPeriodico_PL_S75GradoCoperturaInterno.sql | 14 + ...artPeriodico_PL_S75GradoCoperturaTerzi.sql | 14 + ...rtPeriodico_PL_S75GradoCopertura_check.sql | 186 + ...atrimonioNonRappresentabileAssettClass.sql | 512 ++ ...atrimonioNonRappresentabileAssettClass.sql | 364 ++ .../C6MartPeriodico_PL_S80Alternativa.sql | 80 + ...L_S80Alternativa_20181214_PreMioFoglio.sql | 73 + ...Periodico_PL_S80Alternativa_BkUpParall.sql | 270 + ...odico_PL_S80Alternativa_DidascalieNote.sql | 4 + .../C6MartPeriodico_PL_S80Alternativa_OLD.sql | 255 + ...MartPeriodico_PL_S80Alternativa_bkp_FC.sql | 270 + ...C6MartPeriodico_PL_S80Alternativa_perc.sql | 89 + ...rtPeriodico_PL_S80BisEvoluzioneRischio.sql | 20 + ...isEvoluzioneRischio_20170413_RM_DBname.sql | 20 + ..._PL_S80BisEvoluzioneRischio_BkUpParall.sql | 196 + ...Periodico_PL_S80EvoluzioneControvalore.sql | 128 + ...C6MartPeriodico_PL_S82BisDatiSintetici.sql | 103 + .../C6MartPeriodico_PL_S82DatiSintetici.sql | 78 + .../C6MartPeriodico_PL_S83DatiRendimento.sql | 127 + ...6MartPeriodico_PL_S83DatiRendimento_85.sql | 123 + ...ico_PL_S84ControvaloreRisorseApportate.sql | 45 + ...iodico_PL_S85RendimentoPortafoglioCono.sql | 81 + ...PL_S86PatrimonioFinanziarioMAssetClass.sql | 339 ++ ...oNonConsideratoNelCalcoloDelRendimento.sql | 79 + .../C6MartPeriodico_PL_S94Rischio.sql | 50 + ...C6MartPeriodico_PL_S95ProfiloDiRischio.sql | 87 + ...S95ProfiloDiRischio_20190204_PreMIFID2.sql | 49 + ..._PL_S96BisRischioMercatoRischioCredito.sql | 229 + ...ico_PL_S96RischiomercatoRischiocredito.sql | 227 + .../C6MartPeriodico_PL_SavingMap.sql | 19 + ...o_POPOLA_S132ProfiloRischioAdeguatezza.sql | 245 + ...2ProfiloRischioAdeguatezza_PROVVISORIA.sql | 119 + ...rofiloRischioAdeguatezza_pre_selective.sql | 119 + .../C6MartPeriodico_PROM_TuttiIPortafogli.sql | 52 + ...MartPeriodico_Popola_D2_S150Anagrafica.sql | 99 + ...0PatrimonioFinanziario_PTFRibilanciato.sql | 269 + ...istribuzioneAssetClass_PTFRibilanciato.sql | 268 + ...iodico_Popola_S10PatrimonioFinanziario.sql | 224 + ...S10PatrimonioFinanziario_pre_selective.sql | 108 + ...Periodico_Popola_S133_S157DatiPiramide.sql | 291 + ..._Popola_S133_S157DatiPiramide_20161202.sql | 279 + ..._Popola_S133_S157DatiPiramide_20161214.sql | 280 + ...la_S133_S157DatiPiramide_20170113_ORIG.sql | 291 + ...la_S133_S157DatiPiramide_pre_selective.sql | 291 + ...ico_Popola_S148DistribuzioneAssetClass.sql | 388 ++ ...8DistribuzioneAssetClass_pre_selective.sql | 190 + ...Popola_S179EmittentiConcentrazioneAlta.sql | 52 + ...79EmittentiConcentrazioneAlta_20180626.sql | 57 + ...oneAlta_BKP_20231115_PRE_RAFFORZAMENTO.sql | 48 + .../C6MartPeriodico_Popola_S25Anagrafica.sql | 102 + ...ico_Popola_S25Anagrafica_pre_selective.sql | 102 + ...riodico_Popola_S80BisEvoluzioneRischio.sql | 191 + ...oluzioneRischio_20170724_preCR_fasi1e2.sql | 183 + ...opola_S80BisEvoluzioneRischio_20171222.sql | 187 + ...Rischio_BKP_20231116_PRE_RAFFORZAMENTO.sql | 188 + ..._S80BisEvoluzioneRischio_pre_selective.sql | 183 + ...opola_S80_S129_EvoluzioneCTVPatrimonio.sql | 316 + ...29_EvoluzioneCTVPatrimonio_percentuale.sql | 320 ++ ...luzioneCTVPatrimonio_percentuale_Fase3.sql | 142 + ..._Popola_TB_S180ProdottiComplessitaAlta.sql | 41 + ...6MartPeriodico_Popolamento_RP_W6CLIREP.sql | 182 + ...mento_RP_vTuttiIPortafogli_Aladdin_tab.sql | 79 + ...6MartPeriodico_ProfiloScaduto_Campione.sql | 19 + ...eriodico_RESTART_CONTROLLO_TRIMESTRALE.sql | 25 + .../C6MartPeriodico_RFA_SEGNALATI_SP.sql | 16 + .../C6MartPeriodico_RM_Sintesi_Cliente.sql | 28 + ...MartPeriodico_RP_AggiornaFlagContratto.sql | 119 + .../C6MartPeriodico_RP_DM_ANAG_CC_TERZI.sql | 105 + ...dico_RP_DM_ANAG_CC_TERZI_pre_selective.sql | 105 + .../C6MartPeriodico_RP_DM_ANAG_CLIENTI.sql | 144 + ...tPeriodico_RP_DM_ANAG_CLIENTI_20170409.sql | 137 + ..._ANAG_CLIENTI_20170409_AGENTEisNotNull.sql | 142 + ...P_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql | 261 + ..._CLIENTI_PER_GENERAZIONE_MAIL_20190612.sql | 254 + ...odico_RP_DM_ANAG_CLIENTI_pre_selective.sql | 137 + .../C6MartPeriodico_RP_DM_ANAG_PRODOTTI.sql | 94 + ...artPeriodico_RP_DM_ANAG_PRODOTTI_TERZI.sql | 80 + ...P_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql | 80 + ...rtPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE.sql | 52 + ...RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK.sql | 51 + ..._DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql | 51 + ...dico_RP_DM_ANAG_PRODOTTI_pre_selective.sql | 94 + .../C6MartPeriodico_RP_DM_ANAG_PROMOTORI.sql | 144 + ...ico_RP_DM_ANAG_PROMOTORI_pre_selective.sql | 123 + .../C6MartPeriodico_RP_DM_AREA_BISOGNO.sql | 47 + ...odico_RP_DM_AREA_BISOGNO_pre_selective.sql | 47 + .../C6MartPeriodico_RP_DM_ASSETCLASS.sql | 59 + ...C6MartPeriodico_RP_DM_ASSETCLASS_TERZI.sql | 58 + ...o_RP_DM_ASSETCLASS_TERZI_pre_selective.sql | 58 + ...riodico_RP_DM_ASSETCLASS_pre_selective.sql | 59 + .../C6MartPeriodico_RP_DM_ASSET_PERC.sql | 73 + ...C6MartPeriodico_RP_DM_ASSET_PERC_TERZI.sql | 80 + ...o_RP_DM_ASSET_PERC_TERZI_pre_selective.sql | 80 + ...riodico_RP_DM_ASSET_PERC_pre_selective.sql | 72 + ...Periodico_RP_DM_BONIFICA_DTRIF0_TSCABP.sql | 26 + .../C6MartPeriodico_RP_DM_BrsClienteESG.sql | 77 + ...MartPeriodico_RP_DM_CLIENTI_RISORSE_NA.sql | 58 + .../C6MartPeriodico_RP_DM_COMPLESSITA.sql | 84 + ...iodico_RP_DM_COMPLESSITA_pre_selective.sql | 84 + ...artPeriodico_RP_DM_CONO_PIANIFICAZIONE.sql | 93 + ...P_DM_CONO_PIANIFICAZIONE_pre_selective.sql | 93 + .../C6MartPeriodico_RP_DM_CONTRATTOSEI.sql | 119 + ...odico_RP_DM_CONTRATTOSEI_20170407.SAVE.sql | 205 + ...odico_RP_DM_CONTRATTOSEI_pre_selective.sql | 203 + ...tPeriodico_RP_DM_CONTROLLO_TRIMESTRALE.sql | 19 + ...DM_CONTROLLO_TRIMESTRALE_pre_selective.sql | 19 + ...dico_RP_DM_Confronto_IndicatoreRischio.sql | 70 + ...dico_RP_DM_DETTAGLIO_ASUL.20170320.OBS.sql | 227 + .../C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.sql | 350 ++ ...eriodico_RP_DM_DETTAGLIO_ASUL_20170123.sql | 227 + ...artPeriodico_RP_DM_DETTAGLIO_ASUL_TEMP.sql | 106 + ...artPeriodico_RP_DM_DETTAGLIO_ASUL_luca.sql | 129 + ...ico_RP_DM_DETTAGLIO_ASUL_pre_selective.sql | 227 + ...6MartPeriodico_RP_DM_ESG_ANAG_METRICHE.sql | 182 + ...o_RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4.sql | 175 + ...P_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql | 137 + ...6MartPeriodico_RP_DM_IndicatoreRischio.sql | 322 ++ ...rtPeriodico_RP_DM_MAIL_PROFILI_RISCHIO.sql | 29 + ...rtPeriodico_RP_DM_MONITORAGGIO_ATTUALE.sql | 109 + ..._DM_MONITORAGGIO_ATTUALE_pre_selective.sql | 110 + ...Periodico_RP_DM_MONITORAGGIO_DETTAGLIO.sql | 147 + ..._RP_DM_MONITORAGGIO_DETTAGLIO_20161220.sql | 140 + ...ONITORAGGIO_DETTAGLIO_20171218_preRFMP.sql | 140 + ..._RP_DM_MONITORAGGIO_DETTAGLIO_20181213.sql | 143 + ..._RP_DM_MONITORAGGIO_DETTAGLIO_20190112.sql | 146 + ...RAGGIO_DETTAGLIO_20190314_preMioFoglio.sql | 150 + ...M_MONITORAGGIO_DETTAGLIO_pre_selective.sql | 140 + ...tPeriodico_RP_DM_MONITORAGGIO_INIZIALE.sql | 137 + ...DM_MONITORAGGIO_INIZIALE_pre_selective.sql | 136 + ...artPeriodico_RP_DM_MONITORAGGIO_REPORT.sql | 99 + ...ITORAGGIO_REPORT_20181214_PreMioFoglio.sql | 92 + ...P_DM_MONITORAGGIO_REPORT_pre_selective.sql | 92 + ...rtPeriodico_RP_DM_MONITORAGGIO_STORICO.sql | 164 + ..._DM_MONITORAGGIO_STORICO_pre_selective.sql | 164 + ...C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO.sql | 86 + ...o_RP_DM_PATRIMONIO_ALTRO_pre_selective.sql | 86 + .../C6MartPeriodico_RP_DM_PATRIMONIO_BF.sql | 778 +++ ...dico_RP_DM_PATRIMONIO_BF_20170407.SAVE.sql | 743 +++ ...ONIO_BF_20170421_4b_prometeria_err_fix.sql | 744 +++ ...odico_RP_DM_PATRIMONIO_BF_20171019_err.sql | 746 +++ ...odico_RP_DM_PATRIMONIO_BF_BKP_20231017.sql | 768 +++ ...ico_RP_DM_PATRIMONIO_BF_BK_eligoTitoli.sql | 716 +++ ...odico_RP_DM_PATRIMONIO_BF_DaCancellare.sql | 752 +++ ...C6MartPeriodico_RP_DM_PATRIMONIO_BF_FC.sql | 716 +++ ...MartPeriodico_RP_DM_PATRIMONIO_BF_TEST.sql | 717 +++ ...dico_RP_DM_PATRIMONIO_BF_pre_selective.sql | 743 +++ ...Periodico_RP_DM_PATRIMONIO_IMMOBILIARE.sql | 79 + ...TRIMONIO_IMMOBILIARE_20190205_ProQuota.sql | 88 + ..._RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql | 106 + ...M_PATRIMONIO_IMMOBILIARE_pre_selective.sql | 79 + ...C6MartPeriodico_RP_DM_PATRIMONIO_TERZI.sql | 163 + ..._RP_DM_PATRIMONIO_TERZI_20170427_Patr3.sql | 151 + ...iodico_RP_DM_PATRIMONIO_TERZI_20180315.sql | 153 + ...o_RP_DM_PATRIMONIO_TERZI_pre_selective.sql | 151 + .../C6MartPeriodico_RP_DM_PIRAMIDE_MOD.sql | 211 + ...tPeriodico_RP_DM_PIRAMIDE_MOD_20161202.sql | 105 + ...tPeriodico_RP_DM_PIRAMIDE_MOD_20170119.sql | 107 + ...odico_RP_DM_PIRAMIDE_MOD_pre_selective.sql | 107 + .../C6MartPeriodico_RP_DM_PIRAMIDE_VERT.sql | 65 + ...6MartPeriodico_RP_DM_QD_VAR_RISK_WEEK2.sql | 29 + .../C6MartPeriodico_RP_DM_W6CATESG.sql | 65 + .../C6MartPeriodico_RP_DM_W6CKADEG.sql | 170 + .../C6MartPeriodico_RP_DM_W6CLIESG.sql | 154 + .../C6MartPeriodico_RP_DM_W6IndPtf.sql | 81 + .../C6MartPeriodico_RP_DM_WSEIAN2.sql | 96 + .../C6MartPeriodico_RP_DM_WSEICAP.sql | 74 + .../C6MartPeriodico_RP_DM_WSEICC.sql | 55 + .../C6MartPeriodico_RP_DM_WSEIRPF.sql | 100 + ..._RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql | 90 + ...MartPeriodico_RP_PROM_TuttiIPortafogli.sql | 44 + ...artPeriodico_RP_PROM_TuttiIPortafogli2.sql | 59 + ...P_PROM_TuttiIPortafogli2_20170409_TEST.sql | 59 + ...ico_RP_PROM_TuttiIPortafogli2_20170410.sql | 55 + ...PROM_TuttiIPortafogli2_20170410_EXCLCF.sql | 52 + ...ROM_TuttiIPortafogli2_20170421_EXCL_CF.sql | 56 + ...ortafogli2_20180615_NewMotorePrometeia.sql | 74 + ...o_RP_PROM_TuttiIPortafogli2_Indicatore.sql | 161 + ...icatore_20180711_AZZERARE_CTV_NEGATIVI.sql | 140 + ...ndicatore_20180719_preAzzeramentoCCNeg.sql | 86 + ..._TuttiIPortafogli2_Indicatore_20181018.sql | 140 + ...tafogli2_Indicatore_20181018_SingoloCF.sql | 140 + ...P_PROM_TuttiIPortafogli2_Indicatore_IN.sql | 149 + ...TuttiIPortafogli2_Indicatore_ORIGINALE.sql | 149 + ...RP_PROM_TuttiIPortafogli_pre_selective.sql | 44 + ...tPeriodico_RP_SRV_CHECK_C6_GIORNALIERO.sql | 588 ++ ...Periodico_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql | 84 + ...C6MartPeriodico_RP_ST_ClientiPtfNonDiv.sql | 119 + .../C6MartPeriodico_RP_TCPTAB.sql | 56 + .../C6MartPeriodico_RP_Tipologia_Campione.sql | 73 + ...C6MartPeriodico_RP_Tipologia_Tabellone.sql | 57 + .../C6MartPeriodico_SP_DQ_BonificaDati.sql | 1221 ++++ ...odico_SP_DQ_BonificaDati_pre_selective.sql | 249 + ...C6MartPeriodico_SP_DQ_CaratteriAnomali.sql | 52 + ...o_SP_DQ_CaratteriAnomali_pre_selective.sql | 48 + ...tPeriodico_SP_DQ_DataAvvioMonitoraggio.sql | 42 + ...DQ_DataAvvioMonitoraggio_pre_selective.sql | 42 + ...riodico_SP_DQ_DataValorizzazioneTRenab.sql | 69 + ...DataValorizzazioneTRenab_pre_selective.sql | 69 + ...MartPeriodico_SP_DQ_DeleteSegnalazioni.sql | 43 + ...SP_DQ_DeleteSegnalazioni_pre_selective.sql | 43 + ...ico_SP_DQ_DescCatalogoProdottiScadenze.sql | 31 + ...CatalogoProdottiScadenze_pre_selective.sql | 31 + ...rtPeriodico_SP_DQ_DescProdottoProventi.sql | 38 + ..._DQ_DescProdottoProventi_pre_selective.sql | 38 + .../C6MartPeriodico_SP_DQ_PositionID.sql | 36 + ...rtPeriodico_SP_DQ_PositionIDConsulenza.sql | 36 + ..._DQ_PositionIDConsulenza_pre_selective.sql | 36 + ...riodico_SP_DQ_PositionID_pre_selective.sql | 36 + ...MartPeriodico_SP_DQ_PosizioniDuplicate.sql | 211 + ...tPeriodico_SP_DQ_ProgettoDuplicatoArea.sql | 42 + .../C6MartPeriodico_SP_DQ_ScartiAPI.sql | 38 + ...MartPeriodico_SP_DQ_ScriviDisallineati.sql | 44 + ...SP_DQ_ScriviDisallineati_pre_selective.sql | 44 + ...tPeriodico_SP_DQ_SelezioneDisallineati.sql | 146 + ...lezioneDisallineati_pre_selective_luca.sql | 143 + ...rtPeriodico_SP_DQ_VerificaDisallineati.sql | 53 + ..._DQ_VerificaDisallineati_pre_selective.sql | 53 + .../C6MartPeriodico_SP_DQ_VerificaEmail.sql | 37 + ...Periodico_SP_DQ_VerificaEmail_20161010.sql | 36 + ...dico_SP_DQ_VerificaEmail_pre_selective.sql | 37 + ..._SP_Patrimonio_BF_Percentuale_Piramide.sql | 64 + ...odico_SP_PreTotaliReportGenerazioneZip.sql | 203 + ...PreTotaliReportGenerazioneZip_20181017.sql | 168 + ...eriodico_SP_TROVA_REPORT_DA_RIGENERARE.sql | 17 + ...eriodico_SP_TotaliReportGenerazioneZip.sql | 38 + ...odico_SP_Valorizza_Stati_semaforo_TRIM.sql | 909 +++ ...ico_SP_statistiche_app_rendicontazione.sql | 330 ++ ...lineamento_Pianificazione_Monitoraggio.sql | 166 + ...nificazione_Monitoraggio_pre_selective.sql | 166 + ...co_SRV_CALCOLA_BILANCIAMENTO_GENERATOR.sql | 21 + .../C6MartPeriodico_SRV_CHECK_INDIRIZZI.sql | 57 + ...riodico_SRV_ESTRAZIONE_FASE_2_PRE_MART.sql | 56 + ...6MartPeriodico_SRV_LISTA_CLIENTI_FASE2.sql | 35 + ...iodico_SRV_LISTA_DISALLINEAMENTI_MONIT.sql | 170 + ...TA_DISALLINEAMENTI_MONIT_pre_selective.sql | 170 + ...C6MartPeriodico_SRV_NUOVA_ELABORAZIONE.sql | 15 + ...iodico_SRV_NUOVA_ELABORAZIONE_20151009.sql | 15 + ...RV_NUOVA_ELABORAZIONE_bk_test_20151014.sql | 15 + ...o_SRV_NUOVA_ELABORAZIONE_pre_selective.sql | 15 + .../C6MartPeriodico_SRV_QUANTO_MANCA.sql | 4 + ...C6MartPeriodico_SRV_SELEZIONA_CAMPIONE.sql | 4986 ++++++++++++++++ ...iodico_SRV_SELEZIONA_CAMPIONE_20160412.sql | 4865 ++++++++++++++++ ...iodico_SRV_SELEZIONA_CAMPIONE_20161012.sql | 4902 ++++++++++++++++ ...IONA_CAMPIONE_20180711_preExcludedList.sql | 4960 ++++++++++++++++ ...ZIONA_CAMPIONE_20190116_PreNewFunction.sql | 4978 ++++++++++++++++ ...iodico_SRV_SELEZIONA_CAMPIONE_20230915.sql | 4986 ++++++++++++++++ .../C6MartPeriodico_SRV_STORICIZZAZIONE.sql | 618 ++ ...odico_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql | 49 + ...ICIZZAZIONE_GLOBAL_ERROR_pre_selective.sql | 49 + .../C6MartPeriodico_SRV_TABELLE_IN_MART.sql | 98 + ...dico_SRV_TABELLE_IN_MART_pre_selective.sql | 98 + ...6MartPeriodico_SRV_TRUNCATE_RP_STAGING.sql | 52 + ...ico_SRV_Verifica_DISALLINEAMENTI_MONIT.sql | 140 + ...6MartPeriodico_Segnala_Disallineamenti.sql | 32 + ...odico_Segnala_Disallineamenti_20190129.sql | 23 + ...rtPeriodico_Segnala_ProdottiNonCensiti.sql | 188 + ...co_Segnala_ProdottiNonCensiti_20190129.sql | 179 + .../C6MartPeriodico_SetDocumentMissing.sql | 6 + .../C6MartPeriodico_UpdateStatoReport.sql | 9 + .../C6MartPeriodico_Update_TB_Campione.sql | 9 + .../C6MartPeriodico_Update_TB_Campione_GB.sql | 9 + .../C6MartPeriodico_Util_Test_PL.sql | 81 + ...tPeriodico_inserisci_promotori_fittizi.sql | 19 + ...6MartPeriodico_sp_GetNumeroZipProdotti.sql | 18 + .../C6MartPeriodico_sp_UpdateIdReportPDF.sql | 15 + .../C6MartPeriodico_sp_caricaBlacklist.sql | 50 + ...iodico_sp_caricaBlacklist_RFAMinus_old.sql | 28 + .../C6MartPeriodico_sp_getDatiReport.sql | 42 + ...ico_sp_getDatiReport_checkFileCorrotti.sql | 44 + ...etDatiReport_checkFileCorrotti_Griffin.sql | 45 + .../C6MartPeriodico_sp_getIDReport.sql | 11 + .../C6MartPeriodico_srv_excel_zip.sql | 7 + ...eriodico_start_ConvertiExcel_tabellone.sql | 7 + ...riodico_start_email_Approval_tabellone.sql | 6 + ...o_start_email_Certificazione_tabellone.sql | 6 + ...mail_ConfermaPostalizzazione_tabellone.sql | 6 + ...o_start_email_CongelamentoDB_tabellone.sql | 6 + ...riodico_start_email_position_tabellone.sql | 6 + ...Periodico_start_esportazione_tabellone.sql | 17 + ...MartPeriodico_temp_RP_DM_PATRIMONIO_BF.sql | 302 + .../C6MartPeriodico_test_CaricamentoPL_fc.sql | 19 + .../C6MartPeriodico_zzzPL_S80Alternativa.sql | 239 + .../C6MartPeriodico_zzzRP_DM_EMAIL_PB.sql | 87 + .../C6Mart_AL_AggiornaPortafoglioCliente.sql | 197 + .../C6Mart_CercaCaratteriAnomali.sql | 361 ++ .../C6Mart_DM_AGGIORNA_CLIENTE.sql | 43 + .../C6Mart_DM_ALBERO_PRODOTTI.sql | 50 + .../C6Mart_DM_ALL_PATRIMONIO.sql | 326 ++ sql/storedTestbes/C6Mart_DM_ANAG_CC.sql | 78 + sql/storedTestbes/C6Mart_DM_ANAG_CC_TERZI.sql | 88 + sql/storedTestbes/C6Mart_DM_ANAG_CLIENTI.sql | 170 + .../C6Mart_DM_ANAG_CLIENTI_PREV.sql | 60 + .../C6Mart_DM_ANAG_CONTRATTI.sql | 79 + .../C6Mart_DM_ANAG_CONTRATTI_ASS.sql | 86 + .../C6Mart_DM_ANAG_EMITTENTI.sql | 25 + sql/storedTestbes/C6Mart_DM_ANAG_PRODOTTI.sql | 88 + .../C6Mart_DM_ANAG_PRODOTTI_TERZI.sql | 73 + .../C6Mart_DM_ANAG_PROMOTORI.sql | 120 + sql/storedTestbes/C6Mart_DM_ANAG_SELF.sql | 74 + ...art_DM_ANAG_SELF_20181129_PreMioFoglio.sql | 67 + .../C6Mart_DM_ANAG_SELF_BK_eligoTitoli.sql | 62 + sql/storedTestbes/C6Mart_DM_ASSETCLASS.sql | 53 + .../C6Mart_DM_ASSETCLASS_TERZI.sql | 55 + sql/storedTestbes/C6Mart_DM_ASSET_PERC.sql | 70 + .../C6Mart_DM_ASSET_PERC_TERZI.sql | 79 + .../C6Mart_DM_CATEGORIE_PRODOTTO.sql | 47 + .../C6Mart_DM_CLIENTI_NON_MIGRATI.sql | 12 + .../C6Mart_DM_CODIFICA_CREDITRISK.sql | 50 + .../C6Mart_DM_CODIFICA_PIRAMIDI.sql | 25 + .../C6Mart_DM_CODIFICA_RISCHIO.sql | 56 + .../C6Mart_DM_CREA_POSITIONID.sql | 77 + sql/storedTestbes/C6Mart_DM_DATI_REPORT.sql | 47 + .../C6Mart_DM_DETTAGLIO_ASUL.sql | 100 + sql/storedTestbes/C6Mart_DM_EMAIL_PB.sql | 85 + .../C6Mart_DM_ESITI_CARICAMENTI.sql | 29 + sql/storedTestbes/C6Mart_DM_GER_PROMOTORI.sql | 30 + sql/storedTestbes/C6Mart_DM_GestioneEmail.sql | 298 + .../C6Mart_DM_GestioneEmailNA.sql | 233 + .../C6Mart_DM_GestioneEmailNOPRO.sql | 235 + sql/storedTestbes/C6Mart_DM_MIFID.sql | 117 + .../C6Mart_DM_MIFID_20181004.sql | 101 + .../C6Mart_DM_PARTITE_VIAGGIANTI.sql | 78 + .../C6Mart_DM_PATRIMONIO_AGG.sql | 59 + .../C6Mart_DM_PATRIMONIO_ALTRO.sql | 69 + sql/storedTestbes/C6Mart_DM_PATRIMONIO_BF.sql | 362 ++ .../C6Mart_DM_PATRIMONIO_BF_old.sql | 358 ++ .../C6Mart_DM_PATRIMONIO_EMITTENTI.sql | 160 + .../C6Mart_DM_PATRIMONIO_IMMOBILIARE.sql | 82 + .../C6Mart_DM_PATRIMONIO_TERZI.sql | 162 + sql/storedTestbes/C6Mart_DM_PIRAMIDE_MOD.sql | 85 + sql/storedTestbes/C6Mart_DM_PIRAMIDE_VERT.sql | 61 + sql/storedTestbes/C6Mart_DM_PREVIDENZIALE.sql | 88 + .../C6Mart_DM_PopolaContratti.sql | 244 + .../C6Mart_DM_PopolaContratti_20161026.sql | 245 + .../C6Mart_DM_PopolaContratti_old240213.sql | 271 + .../C6Mart_DM_RISCHIOEMITTENTI.sql | 15 + .../C6Mart_DM_RISCHIO_AGGREGATO.sql | 106 + .../C6Mart_DM_RISCHIO_AGGREGATO_20181003.sql | 87 + .../C6Mart_DM_RISCHIO_AGGREGATO_old.sql | 81 + ...art_DM_RISCHIO_AGGREGATO_pre_selective.sql | 87 + .../C6Mart_DM_RISCHIO_DETTAGLIO.sql | 41 + ...art_DM_RISCHIO_DETTAGLIO_pre_selective.sql | 41 + .../C6Mart_DM_STRUTTURA_RETE.sql | 278 + .../C6Mart_DM_STRUTTURA_RETE_20160427.sql | 268 + .../C6Mart_DM_STRUTTURA_RETE_20161024.sql | 268 + sql/storedTestbes/C6Mart_DM_TEST_QUALITY.sql | 52 + .../C6Mart_DM_TEST_QUALITY_20181003.sql | 47 + .../C6Mart_DM_VAR_ADEGUATEZZA.sql | 41 + ...fica_Concentrazione_Prodotti_Complessi.sql | 141 + .../C6Mart_GESTIONE_C6_S_Generator.sql | 22 + .../C6Mart_GESTIONE_C6_S_Generator_AND.sql | 152 + .../C6Mart_GESTIONE_C6_S_Generator_EN.sql | 132 + .../C6Mart_GESTIONE_C6_S_Generator_OLD.sql | 138 + ...6_S_Generator_bkp_20250228_Pre_ESG2024.sql | 22 + ...6Mart_GESTIONE_C6_S_QueryDatiComuniSql.sql | 13 + .../C6Mart_GESTIONE_C6_S_Vincoli.sql | 25 + ...6Mart_GESTIONE_CRUSCOTTO_ARCHIVIAZIONE.sql | 26 + .../C6Mart_GESTIONE_INSERT_PDF_FTP.sql | 61 + ...6Mart_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql | 42 + .../C6Mart_GESTIONE_INSERT_PDF_FTP_TEST.sql | 62 + .../C6Mart_GESTIONE_INSERT_ZIP.sql | 54 + ...6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql | 260 + ...ESTIONE_SELECT_EMAIL_DA_INVIARE.test_e.sql | 235 + ...TIONE_SELECT_EMAIL_DA_INVIARE_20190802.sql | 234 + ...rt_GESTIONE_SELECT_EMAIL_DA_INVIARE_CU.sql | 205 + ...t_GESTIONE_SELECT_EMAIL_DA_INVIARE_new.sql | 220 + .../C6Mart_GESTIONE_SELECT_FTP_DA_INVIARE.sql | 28 + .../C6Mart_GESTIONE_SELECT_FTP_INVIATI.sql | 43 + ...t_GESTIONE_SELECT_FTP_INVIATI_TEST_NEW.sql | 43 + .../C6Mart_GESTIONE_SELECT_HOST.sql | 26 + ...6Mart_GESTIONE_SELECT_HOST_GIORNALIERO.sql | 40 + ...art_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql | 120 + ...NE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql | 120 + ...GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql | 20 + ...IONE_SELECT_PDF_GETDATATHREADS_Adriano.sql | 142 + ...NE_SELECT_PDF_GETDATATHREADS_Cruscotto.sql | 131 + ...ESTIONE_SELECT_PDF_GETDATATHREADS_Luca.sql | 174 + ..._GESTIONE_SELECT_PDF_GETDATATHREADS_NA.sql | 109 + ...NE_SELECT_PDF_GETDATATHREADS_NA_A.TEMP.sql | 119 + ...ETDATATHREADS_NA_A_20180309_PreServizi.sql | 118 + ...T_PDF_GETDATATHREADS_NA_A_20180928_OLD.sql | 129 + ...NE_SELECT_PDF_GETDATATHREADS_NA_A_TEST.sql | 126 + ...LECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P.sql | 118 + ...LECT_PDF_GETDATATHREADS_NA_TEST_ANDREA.sql | 107 + ...IONE_SELECT_PDF_GETDATATHREADS_NA_orig.sql | 108 + .../C6Mart_GESTIONE_SELECT_ZIP_DA_INVIARE.sql | 24 + .../C6Mart_GESTIONE_S_Intermediari.sql | 21 + .../C6Mart_GESTIONE_UPDATE_EMAIL_HOST.sql | 11 + .../C6Mart_GESTIONE_UPDATE_EMAIL_INVIATE.sql | 36 + .../C6Mart_GESTIONE_UPDATE_FTP.sql | 33 + .../C6Mart_GESTIONE_UPDATE_ZIP.sql | 16 + .../C6Mart_GET_RECUPERO_LETTERE.sql | 67 + sql/storedTestbes/C6Mart_GetRiskArea.sql | 20 + ...nvioLetteraBenvenuto_ExcludedListApply.sql | 34 + .../C6Mart_PL_D2_FD150Anagrafica.sql | 91 + ...6Mart_PL_D2_FD159PatrimonioFinanziario.sql | 250 + .../C6Mart_PL_D2_FD160DettaglioProdottiBF.sql | 218 + ...art_PL_D2_FD170RischioDiversificazione.sql | 236 + .../C6Mart_PL_D2_S150Anagrafica.sql | 91 + .../C6Mart_PL_D2_S151ProfiloDiRischio.sql | 48 + .../C6Mart_PL_D2_S152Patrimonio.sql | 96 + ...PL_D2_S152Patrimonio_20190107_ProQuota.sql | 96 + .../C6Mart_PL_D2_S152Patrimonio_20190111.sql | 87 + ...C6Mart_PL_D2_S153PatrimonioFinanziario.sql | 142 + ...C6Mart_PL_D2_S154PatrimonioFinanziario.sql | 312 + ...C6Mart_PL_D2_S155PatrimonioImmobiliare.sql | 37 + ...atrimonioImmobiliare_20190107_ProQuota.sql | 28 + ..._D2_S155PatrimonioImmobiliare_20190111.sql | 21 + .../C6Mart_PL_D2_S156ALtroPatrimonio.sql | 25 + .../C6Mart_PL_D2_S157ConfrontoPiramidi.sql | 257 + ...2_S157ConfrontoPiramidi_BK_eligoTitoli.sql | 252 + .../C6Mart_PL_D2_S158PiramideModello.sql | 54 + ...C6Mart_PL_D2_S159PatrimonioFinanziario.sql | 250 + .../C6Mart_PL_D2_S160DettaglioProdottiBF.sql | 213 + ...S160DettaglioProdottiBF_BK_eligoTitoli.sql | 212 + .../C6Mart_PL_D2_S162DettaglioProdotti.sql | 98 + ...2_S163PatrimonioFinanziarioMAssetClass.sql | 61 + ...nioFinanziarioMAssetClass_NEW_20160908.sql | 56 + .../C6Mart_PL_D2_S164PolizzeAltriIstituti.sql | 30 + .../C6Mart_PL_D2_S165FondiAltriIstituti.sql | 62 + .../C6Mart_PL_D2_S166ContoCorrenteAI.sql | 23 + ..._PL_D2_S167DistribuzioneRischioCredito.sql | 629 ++ .../C6Mart_PL_D2_S168TabellaEmittenti.sql | 397 ++ ...PL_D2_S169RischiomercatoRischiocredito.sql | 448 ++ ...Mart_PL_D2_S170RischioDiversificazione.sql | 236 + ...atrimonioNonRappresentabileAssettClass.sql | 158 + .../C6Mart_PL_D3_FD151ProfiloDiRischio.sql | 71 + .../C6Mart_PL_D3_S151ProfiloDiRischio.sql | 72 + ...PL_D_FD177ProfiloDiRischio_Adeguatezza.sql | 68 + ...t_PL_D_FD178IndicatoriEsitoAdeguatezza.sql | 128 + .../C6Mart_PL_D_S150Anagrafica.sql | 91 + .../C6Mart_PL_D_S151ProfiloDiRischio.sql | 48 + .../C6Mart_PL_D_S152Patrimonio.sql | 87 + .../C6Mart_PL_D_S153PatrimonioFinanziario.sql | 147 + .../C6Mart_PL_D_S154PatrimonioFinanziario.sql | 316 + .../C6Mart_PL_D_S155PatrimonioImmobiliare.sql | 21 + .../C6Mart_PL_D_S156ALtroPatrimonio.sql | 25 + .../C6Mart_PL_D_S157ConfrontoPiramidi.sql | 203 + .../C6Mart_PL_D_S158PiramideModello.sql | 54 + .../C6Mart_PL_D_S159PatrimonioFinanziario.sql | 118 + .../C6Mart_PL_D_S160DettaglioProdottiBF.sql | 192 + .../C6Mart_PL_D_S162DettaglioProdotti.sql | 98 + ...D_S163PatrimonioFinanziarioMAssetClass.sql | 61 + .../C6Mart_PL_D_S164PolizzeAltriIstituti.sql | 31 + .../C6Mart_PL_D_S165FondiAltriIstituti.sql | 62 + .../C6Mart_PL_D_S166ContoCorrenteAI.sql | 23 + ...t_PL_D_S167DistribuzioneRischioCredito.sql | 613 ++ .../C6Mart_PL_D_S168TabellaEmittenti.sql | 396 ++ ..._PL_D_S169RischiomercatoRischiocredito.sql | 448 ++ ...6Mart_PL_D_S170RischioDiversificazione.sql | 86 + ...atrimonioNonRappresentabileAssettClass.sql | 144 + ..._PL_D_S177ProfiloDiRischio_Adeguatezza.sql | 69 + .../C6Mart_PL_D_S178CasiParticolari.sql | 90 + ...Mart_PL_D_S178CasiParticolari_20181220.sql | 56 + ...rt_PL_D_S178IndicatoriEsitoAdeguatezza.sql | 127 + ...t_PL_D_S179EmittentiConcentrazioneAlta.sql | 19 + ...6Mart_PL_D_S180ProdottiComplessitaAlta.sql | 127 + ..._PL_D_S180ProdottiComplessitaAlta_mini.sql | 89 + .../C6Mart_PL_FD181PreferenzeESG.sql | 47 + ..._PL_FD181PreferenzeESG_bkp_pre_ESG2024.sql | 29 + ...C6Mart_PL_FD182BISDettaglioProdottiESG.sql | 253 + .../C6Mart_PL_FD182DettaglioProdottiESG.sql | 245 + .../C6Mart_PL_FD185UCaratteristicheESG.sql | 116 + ...C6Mart_PL_FD186DettaglioPortafoglioSei.sql | 64 + .../C6Mart_PL_FD187SfdrTaxESG.sql | 98 + sql/storedTestbes/C6Mart_PL_FD188PaiESG.sql | 88 + ..._GetClientNegativeCurrentAccountsValue.sql | 27 + ...PL_GetClientSelfNegCurrentAccountValue.sql | 25 + .../C6Mart_PL_GetClientSelfNegative.sql | 29 + sql/storedTestbes/C6Mart_PL_Intermediari.sql | 24 + ...6Mart_PL_MP_FD133BISPrincipaliProdotti.sql | 55 + .../C6Mart_PL_MP_FD147SintesiValute.sql | 45 + ...art_PL_MP_FD148DistribuzioneAssetClass.sql | 18 + ...art_PL_S102DistribuzioneRischioCredito.sql | 611 ++ ...PL_S102DistribuzioneRischioCredito_OLD.sql | 296 + ...L_S102DistribuzioneRischioCredito_OLD2.sql | 300 + .../C6Mart_PL_S103TabellaEmittenti.sql | 177 + .../C6Mart_PL_S10PatrimonioFinanziario.sql | 214 + .../C6Mart_PL_S170LimitiMassimi.sql | 39 + .../C6Mart_PL_S181PreferenzeESG.sql | 47 + ...PreferenzeESG_bkp_20250228_Pre_ESG2024.sql | 34 + .../C6Mart_PL_S182BISDettaglioProdottiESG.sql | 253 + .../C6Mart_PL_S182DettaglioProdottiESG.sql | 245 + ...ioProdottiESG_bkp_20250228_Pre_ESG2024.sql | 229 + sql/storedTestbes/C6Mart_PL_S183iCapital.sql | 88 + .../C6Mart_PL_S184CoerenzaESG.sql | 24 + .../C6Mart_PL_S185UCaratteristicheESG.sql | 116 + ...teristicheESG_bkp_20250228_Pre_ESG2024.sql | 101 + .../C6Mart_PL_S186DettaglioPortafoglioSei.sql | 64 + .../C6Mart_PL_S187SfdrTaxESG.sql | 98 + sql/storedTestbes/C6Mart_PL_S188PaiESG.sql | 88 + ...art_PL_S18PatrimonioFinanziarioRischio.sql | 86 + sql/storedTestbes/C6Mart_PL_S1Patrimonio.sql | 101 + .../C6Mart_PL_S23DettaglioRischio.sql | 70 + sql/storedTestbes/C6Mart_PL_S25Anagrafica.sql | 79 + .../C6Mart_PL_S26PatrimonioImmobiliare.sql | 27 + .../C6Mart_PL_S27ALtroPatrimonio.sql | 22 + .../C6Mart_PL_S2PatrimonioFinanziario.sql | 274 + ..._S31PatrimonioFinanziarioIntermediario.sql | 26 + ...PL_S32PatrimonioFinanziarioMAssetClass.sql | 61 + .../C6Mart_PL_S36ProfiloRischio.sql | 30 + .../C6Mart_PL_S37PiramideModello.sql | 46 + .../C6Mart_PL_S42RischioDiversificazione.sql | 71 + .../C6Mart_PL_S43ContoCorrenteBF.sql | 26 + .../C6Mart_PL_S43DettaglioProdottiBF.sql | 212 + ..._S43DettaglioProdottiBF_BK_eligoTitoli.sql | 211 + .../C6Mart_PL_S43LineaSelfBF.sql | 27 + ...L_S43LineaSelfBF_20181214_PreMioFoglio.sql | 25 + .../C6Mart_PL_S48DettaglioProdotti.sql | 100 + .../C6Mart_PL_S49PolizzeAltriIstituti.sql | 62 + .../C6Mart_PL_S50FondiAltriIstituti.sql | 62 + .../C6Mart_PL_S51ContoCorrenteAI.sql | 26 + .../C6Mart_PL_S56PatrimonioBFAreeBisogno.sql | 64 + .../C6Mart_PL_S57ConfrontoPiramidi.sql | 227 + .../C6Mart_PL_S6PatrimonioFinanziario.sql | 146 + .../C6Mart_PL_S75GradoCopertura.sql | 332 ++ ...atrimonioNonRappresentabileAssettClass.sql | 144 + .../C6Mart_PL_S95ProfiloDiRischio.sql | 49 + ...art_PL_S96RischiomercatoRischiocredito.sql | 446 ++ ...PL_S96RischiomercatoRischiocredito_old.sql | 213 + sql/storedTestbes/C6Mart_PL_SavingMap.sql | 19 + .../C6Mart_PROM_TuttiIPortafogli.sql | 44 + .../C6Mart_PROM_TuttiIPortafogli_old.sql | 58 + .../C6Mart_Popola_S133_S157DatiPiramide.sql | 291 + ...art_Popola_S148DistribuzioneAssetClass.sql | 388 ++ .../C6Mart_Popolamento_RP_W6DAILY.sql | 171 + sql/storedTestbes/C6Mart_PreCheckIDX.sql | 49 + .../C6Mart_RM_Sintesi_Cliente.sql | 28 + .../C6Mart_RP_AggiornaFlagContratto.sql | 134 + ...Mart_RP_AggiornaFlagContratto_20161026.sql | 119 + sql/storedTestbes/C6Mart_RP_DM_ANAG_CC.sql | 86 + .../C6Mart_RP_DM_ANAG_CC_20170421.sql | 84 + .../C6Mart_RP_DM_ANAG_CC_TERZI.sql | 109 + .../C6Mart_RP_DM_ANAG_CLIENTI.sql | 209 + .../C6Mart_RP_DM_ANAG_PRODOTTI.sql | 82 + .../C6Mart_RP_DM_ANAG_PRODOTTI_TERZI.sql | 79 + .../C6Mart_RP_DM_ANAG_PRODOTTI_VALUTE.sql | 52 + .../C6Mart_RP_DM_ANAG_PROMOTORI.sql | 112 + sql/storedTestbes/C6Mart_RP_DM_ASSETCLASS.sql | 69 + .../C6Mart_RP_DM_ASSETCLASS_TERZI.sql | 68 + sql/storedTestbes/C6Mart_RP_DM_ASSET_PERC.sql | 87 + .../C6Mart_RP_DM_ASSET_PERC_TERZI.sql | 107 + .../C6Mart_RP_DM_BrsClienteESG.sql | 73 + sql/storedTestbes/C6Mart_RP_DM_CheckEmail.sql | 64 + .../C6Mart_RP_DM_Check_GestioneEmailNOPRO.sql | 33 + .../C6Mart_RP_DM_DETTAGLIO_ASUL.sql | 100 + sql/storedTestbes/C6Mart_RP_DM_EMAIL_PB.sql | 87 + .../C6Mart_RP_DM_ESG_ANAG_METRICHE.sql | 182 + ...t_RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4.sql | 175 + .../C6Mart_RP_DM_GestioneEmail.sql | 255 + .../C6Mart_RP_DM_GestioneEmailNOPRO.sql | 280 + .../C6Mart_RP_DM_GestioneEmail_20161028.sql | 218 + .../C6Mart_RP_DM_PATRIMONIO_ALTRO.sql | 191 + ...C6Mart_RP_DM_PATRIMONIO_ALTRO_20150825.sql | 122 + ...C6Mart_RP_DM_PATRIMONIO_ALTRO_20160615.sql | 179 + .../C6Mart_RP_DM_PATRIMONIO_BF.sql | 517 ++ .../C6Mart_RP_DM_PATRIMONIO_BF_20180201.sql | 476 ++ .../C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE.sql | 96 + ...TRIMONIO_IMMOBILIARE_20190107_ProQuota.sql | 100 + ..._RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql | 106 + .../C6Mart_RP_DM_PATRIMONIO_TERZI.sql | 159 + ...C6Mart_RP_DM_PATRIMONIO_TERZI_20180219.sql | 249 + .../C6Mart_RP_DM_PATRIMONIO_TERZI_Param.sql | 147 + .../C6Mart_RP_DM_PATRIMONIO_TERZI_luca.sql | 136 + .../C6Mart_RP_DM_PIRAMIDE_MOD.sql | 95 + .../C6Mart_RP_DM_POPOLACONTRATTI.sql | 296 + .../C6Mart_RP_DM_POPOLACONTRATTI_2011026.sql | 237 + .../C6Mart_RP_DM_POPOLACONTRATTI_20160315.sql | 194 + ...ATTI_201700302_ripristino_del_20170127.sql | 210 + .../C6Mart_RP_DM_POPOLACONTRATTI_20170127.sql | 210 + .../C6Mart_RP_DM_POPOLACONTRATTI_20170322.sql | 210 + .../C6Mart_RP_DM_POPOLACONTRATTI_20170524.sql | 213 + ...t_RP_DM_POPOLACONTRATTI_20170607_mifid.sql | 216 + .../C6Mart_RP_DM_POPOLACONTRATTI_20170613.sql | 226 + ...OPOLACONTRATTI_20170727_VarAdeguatezza.sql | 232 + .../C6Mart_RP_DM_POPOLACONTRATTI_20171113.sql | 242 + .../C6Mart_RP_DM_POPOLACONTRATTI_20171205.sql | 248 + .../C6Mart_RP_DM_POPOLACONTRATTI_20171222.sql | 253 + .../C6Mart_RP_DM_POPOLACONTRATTI_20180102.sql | 258 + .../C6Mart_RP_DM_POPOLACONTRATTI_20180103.sql | 258 + .../C6Mart_RP_DM_POPOLACONTRATTI_20180104.sql | 258 + .../C6Mart_RP_DM_POPOLACONTRATTI_20181003.sql | 255 + .../C6Mart_RP_DM_POPOLACONTRATTI_20181127.sql | 261 + sql/storedTestbes/C6Mart_RP_DM_W6CLIESG.sql | 240 + sql/storedTestbes/C6Mart_RP_DM_W6CatESG.sql | 128 + sql/storedTestbes/C6Mart_RP_DM_WSEICAP.sql | 71 + ..._RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql | 90 + .../C6Mart_RP_PROM_TuttiIPortafogli.sql | 44 + ...t_RP_PROM_TuttiIPortafogli2_Indicatore.sql | 104 + ...Portafogli_20180612_NewMotorePrometeia.sql | 55 + ...Portafogli_20180612_PreMotorePrometeia.sql | 44 + .../C6Mart_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql | 77 + .../C6Mart_RP_Selettore_GetDataThreads.sql | 7 + .../C6Mart_SRV_CHECK_C6_GIORNALIERO.sql | 698 +++ ...Mart_SRV_CHECK_C6_GIORNALIERO_20161026.sql | 682 +++ ...rt_SRV_CHECK_C6_GIORNALIERO_20161026_2.sql | 689 +++ .../C6Mart_SRV_CHECK_C6_GIORNALIERO_AND.sql | 410 ++ .../C6Mart_SRV_ESTRAZ_GIORNALIERA_CC.sql | 77 + .../C6Mart_SRV_SELECT_EMAIL_BY_ISODATE.sql | 31 + .../C6Mart_SRV_STORICIZZAZIONE.sql | 672 +++ ...6Mart_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql | 72 + sql/storedTestbes/C6Mart_SRV_SVUOTAMART.sql | 39 + .../C6Mart_SRV_TABELLE_IN_MART.sql | 38 + .../C6Mart_SRV_TRUNCATE_STAGING.sql | 49 + .../C6Mart_TabellaCaratteriAnomali.sql | 38 + sql/storedTestbes/C6Mart_UT_INSERT_ERROR.sql | 35 + sql/storedTestbes/C6Mart_Util_Test_PL.sql | 61 + .../C6Mart_Verifica_Lancio_Giornaliero.sql | 25 + .../C6Mart_aggiornaDataValidazione.sql | 18 + .../C6Mart_getCodiceContratto.sql | 39 + sql/storedTestbes/C6Mart_sp_getDatiReport.sql | 32 + .../C6Mart_temp_RP_DM_GestioneEmail.sql | 226 + .../C6Mart_zzzPL_D2_S150Anagrafica.sql | 91 + .../C6Mart_zzzPL_D2_S168TabellaEmittenti.sql | 396 ++ .../C6Mart_zzzPL_D_S157ConfrontoPiramidi.sql | 203 + ...rt_zzzPL_D_S170RischioDiversificazione.sql | 70 + .../C6Mart_zzzQUALITY_CARATTERIVCONTRATTI.sql | 217 + .../C6Mart_zzzRP_DM_GestioneEmailNA.sql | 248 + ...C6Mart_zzzSRV_CHECK_C6_GIORNALIERO_AND.sql | 427 ++ .../C6Mart_zzzzPL_D_S157ConfrontoPiramidi.sql | 227 + ...C6Mart_zzzzRP_SRV_CHECK_C6_GIORNALIERO.sql | 590 ++ ...odicoImmobiliare_Popola_APPO_CONTRATTI.sql | 7 + ...obiliare_RP_CREA_POSITIONID_CONSULENZA.sql | 88 + ...M_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql | 42 + ...Immobiliare_RP_ST_BonificaClientiDoppi.sql | 132 + ...gPeriodicoImmobiliare_RP_ST_CONSULENZA.sql | 137 + ...odicoImmobiliare_RP_ST_CREA_POSITIONID.sql | 284 + ...odicoImmobiliare_RP_ST_PROGETTICLIENTE.sql | 74 + ...icoImmobiliare_RP_ST_SPB_CONTR_SINTESI.sql | 757 +++ ...PB_CONTR_SINTESI_20190204_preMioFoglio.sql | 546 ++ ...odico_AGGIORNA_DATAFINEVALIDITAPROFILO.sql | 11 + .../C6StagingPeriodico_AGGIORNA_TANAB_CTV.sql | 14 + ...gPeriodico_AGGIORNA_WSEIAN_FLAGPERPROF.sql | 10 + ...iodico_AggiornaContrattiPretrimestrale.sql | 76 + ...iodico_ClienteProdottiAssicurativiVita.sql | 23 + ...ClienteProdottiAssicurativiVita_Totali.sql | 17 + .../C6StagingPeriodico_ClienteProdottiFAI.sql | 34 + ...ingPeriodico_ClienteProdottiFAI_Totali.sql | 21 + ...StagingPeriodico_CopiaTabelleDiReplica.sql | 59 + ...riodico_CopiaTabelleDiReplica_20190129.sql | 53 + ...opolaW6TRCLIdavListaClientiTrimestrale.sql | 28 + ...RCLIdavListaClientiTrimestrale_anag_pb.sql | 28 + ...dico_Popola_Prodotti_Fuori_Adeguatezza.sql | 50 + ...eriodico_RP_CREA_POSITIONID_CONSULENZA.sql | 130 + ...RP_CREA_POSITIONID_CONSULENZA_20161213.sql | 104 + ...POSITIONID_CONSULENZA_20171204_preRFMP.sql | 112 + ...RP_CREA_POSITIONID_CONSULENZA_20190725.sql | 121 + ...EA_POSITIONID_CONSULENZA_pre_selective.sql | 112 + ...M_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql | 39 + ...A_INDICATORE_DIVERSIFICAZIONE_20180710.sql | 43 + ...INDICATORE_DIVERSIFICAZIONE_preAladdin.sql | 42 + ...gingPeriodico_RP_ST_APPO_CONTRATTI_OLD.sql | 151 + ...ngPeriodico_RP_ST_BonificaClientiDoppi.sql | 131 + .../C6StagingPeriodico_RP_ST_CONSULENZA.sql | 140 + ...riodico_RP_ST_CONSULENZA_pre_selective.sql | 137 + ...eriodico_RP_ST_CONTRATTIPRETRIMESTRALE.sql | 81 + ...T_CONTRATTIPRETRIMESTRALEFINETRIMESTRE.sql | 72 + ...StagingPeriodico_RP_ST_CREA_POSITIONID.sql | 285 + ...riodico_RP_ST_CREA_POSITIONID_20161213.sql | 270 + ...RP_ST_CREA_POSITIONID_20171204_preRFMP.sql | 276 + ...riodico_RP_ST_CREA_POSITIONID_20190725.sql | 282 + ...o_RP_ST_CREA_POSITIONID_BK_eligoTitoli.sql | 258 + ...co_RP_ST_CREA_POSITIONID_pre_selective.sql | 276 + ...StagingPeriodico_RP_ST_PROGETTICLIENTE.sql | 74 + ...eriodico_RP_ST_PROGETTICLIENTE_TEST_FC.sql | 49 + ...co_RP_ST_PROGETTICLIENTE_pre_selective.sql | 74 + .../C6StagingPeriodico_RP_ST_Parentela.sql | 40 + ...eriodico_RP_ST_Parentela_pre_selective.sql | 40 + ...agingPeriodico_RP_ST_SPB_CONTR_SINTESI.sql | 792 +++ ...gingPeriodico_RP_ST_SPB_CONTR_SINTESI2.sql | 301 + ...odico_RP_ST_SPB_CONTR_SINTESI_20161213.sql | 534 ++ ..._RP_ST_SPB_CONTR_SINTESI_20170407.SAVE.sql | 540 ++ ..._ST_SPB_CONTR_SINTESI_20171204_preRFMP.sql | 540 ++ ...PB_CONTR_SINTESI_20190204_preMioFoglio.sql | 546 ++ ...odico_RP_ST_SPB_CONTR_SINTESI_20190725.sql | 754 +++ ...RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli.sql | 472 ++ ..._RP_ST_SPB_CONTR_SINTESI_pre_selective.sql | 540 ++ ...ngPeriodico_RP_ST_vNewPositionProposta.sql | 29 + ...gingPeriodico_RP_UPDATE_APPO_CONTRATTI.sql | 118 + ...StagingPeriodico_RP_UPDATE_COMPLESSITA.sql | 183 + ...riodico_RP_UPDATE_COMPLESSITA_20161213.sql | 183 + ...co_RP_UPDATE_COMPLESSITA_pre_selective.sql | 183 + ...eriodico_RP_UPDATE_RP_CATALOGOPRODOTTI.sql | 13 + ...DATE_RP_CATALOGOPRODOTTI_pre_selective.sql | 13 + .../C6StagingPeriodico_RP_W6LogBatch.sql | 36 + ...agingPeriodico_RP_clientiConMigrazione.sql | 20 + ...lientiConMigrazione_20170413_RM_nomeDB.sql | 20 + ...gPeriodico_Recupero_Trimestrale_Scarti.sql | 30 + ...tagingPeriodico_SRV_CREA_QUERY_STORICO.sql | 56 + ...gPeriodico_SRV_PopolaTabelleSIMPB_TEMP.sql | 160 + ..._PopolaTabelleSIMPB_TEMP_pre_selective.sql | 160 + ...C6StagingPeriodico_SRV_STORICIZZAZIONE.sql | 832 +++ ...agingPeriodico_SRV_STORICIZZAZIONE_OLD.sql | 551 ++ ...riodico_SRV_STORICIZZAZIONE_preAladdin.sql | 832 +++ ...tagingPeriodico_SRV_TABELLE_IN_STAGING.sql | 92 + ...o_SRV_TABELLE_IN_STAGING_pre_selective.sql | 92 + .../C6StagingPeriodico_ST_CREA_POSITIONID.sql | 81 + ...odico_ST_CREA_POSITIONID_pre_selective.sql | 81 + ...gingPeriodico_ST_DATA_CONGELAMENTO_SEI.sql | 32 + ...ST_DATA_CONGELAMENTO_SEI_pre_selective.sql | 32 + ...6StagingPeriodico_ST_SELECT_FOR_ADS4WS.sql | 80 + ...ngPeriodico_ST_SELECT_FOR_ADS4WS_EMAIL.sql | 78 + ...6StagingPeriodico_ST_SPB_CONTR_SINTESI.sql | 252 + ...ingPeriodico_ST_SPB_CONTR_SINTESI_asu2.sql | 114 + ...ico_ST_SPB_CONTR_SINTESI_pre_selective.sql | 252 + .../C6StagingPeriodico_ST_SVUOTASIMPB.sql | 17 + ...Periodico_ST_SVUOTASIMPB_pre_selective.sql | 17 + .../C6StagingPeriodico_UPDATE_CATITEMREF.sql | 13 + ...iodico_UPDATE_CATITEMREF_pre_selective.sql | 13 + .../C6StagingPeriodico_UPDATE_COMPLESSITA.sql | 162 + ...odico_UPDATE_COMPLESSITA_pre_selective.sql | 162 + ...dico_UTIL_popolaPromotoriDaGiornaliero.sql | 9 + ...6StagingPeriodico_agg_codana_tabellone.sql | 95 + ...C6StagingPeriodico_agg_lotto_tabellone.sql | 77 + .../C6StagingPeriodico_agg_wh_tabellone.sql | 255 + ...StagingPeriodico_agg_wseian2_tabellone.sql | 104 + ...sto_sezione_adeg_PG_Compl_Conc_CDTTRIM.sql | 74 + ...StagingPeriodico_immobiliare_tabellone.sql | 14 + .../C6StagingPeriodico_sp_quadratura.sql | 32 + ...eriodico_test_compl_testo_sezione_adeg.sql | 66 + ...to_sezione_adeg_PG_PROFESS_CURR_DTTRIM.sql | 74 + ...sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN.sql | 74 + ..._compl_testo_sezione_adeg_PG_QPROF.obs.sql | 46 + ...o_sezione_adeg_PG_QPROF.rigen.20170620.sql | 100 + ...test_compl_testo_sezione_adeg_PG_QPROF.sql | 85 + ...l_testo_sezione_adeg_PG_QPROF_20170620.sql | 46 + ...ione_adeg_PG_QPROF_20170620_consegnato.sql | 49 + ...compl_testo_sezione_adeg_PG_QPROF_trim.sql | 43 + ...co_test_compl_testo_sezione_adeg_V.1.0.sql | 24 + ...co_test_compl_testo_sezione_adeg_V.2.0.sql | 66 + ...co_test_compl_testo_sezione_adeg_V.3.0.sql | 66 + ...odico_zzzRP_CREA_POSITIONID_CONSULENZA.sql | 89 + .../C6Staging_CREA_FIRMA_PROMOTORE.sql | 8 + .../C6Staging_CheckScartiMIFID.sql | 42 + ...taging_DecodificaIndicatoriAdeguatezza.sql | 86 + .../C6Staging_RP_CREA_POSITIONID.sql | 77 + .../C6Staging_RP_CREA_POSITIONID_2011113.sql | 77 + ...6Staging_RP_CREA_POSITIONID_CONSULENZA.sql | 111 + ...RP_CREA_POSITIONID_CONSULENZA_20161223.sql | 99 + ...EA_POSITIONID_CONSULENZA_20171113_orig.sql | 108 + ...M_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql | 42 + .../C6Staging_RP_ST_Parentela.sql | 40 + .../C6Staging_RP_ST_vNewPositionProposta.sql | 29 + sql/storedTestbes/C6Staging_RP_W6LogBatch.sql | 36 + .../C6Staging_RP_clientiConMigrazione.sql | 20 + .../C6Staging_SRV_STORICIZZAZIONE.sql | 532 ++ .../C6Staging_SRV_SVUOTASTAGING.sql | 51 + .../C6Staging_SRV_TABELLE_IN_STAGING.sql | 38 + .../C6Staging_ST_INSERT_SCARTI_SIMPB.sql | 64 + .../C6Staging_ST_SELECT_FOR_ADS4WS.sql | 80 + .../C6Staging_inserisci_promotori_fittizi.sql | 19 + sql/storedTestbes/dbo_AMB_Cerca.sql | 38 + sql/storedTestbes/dbo_AMB_InfoPdfTrim.sql | 10 + .../dbo_Aggiorna_Trimestrale_SEI_Processi.sql | 22 + sql/storedTestbes/dbo_CERCA.sql | 55 + sql/storedTestbes/dbo_CERCA_FA.sql | 56 + ...o_CHECK_INSERT_PRODOTTI_NON_A_CATALOGO.sql | 7 + .../dbo_CONTROLLO_COMPLESSITA.sql | 30 + sql/storedTestbes/dbo_CREA_CAMPIONE.sql | 285 + .../dbo_CREA_CAMPIONE_20160119.sql | 215 + .../dbo_CREA_CAMPIONE_20160318.sql | 320 ++ .../dbo_CREA_CAMPIONE_20160414.sql | 538 ++ .../dbo_CREA_CAMPIONE_20161216.sql | 324 ++ .../dbo_CREA_CAMPIONE_20170114.sql | 397 ++ .../dbo_CREA_CAMPIONE_20170321.sql | 397 ++ ...o_CREA_CAMPIONE_20180115_preJoinNewTab.sql | 294 + .../dbo_CREA_CAMPIONE_20180711.sql | 267 + .../dbo_CREA_CAMPIONE_20180921.sql | 270 + sql/storedTestbes/dbo_CREA_CAMPIONE_TEST.sql | 267 + .../dbo_CopyObjectFromSchema.sql | 74 + sql/storedTestbes/dbo_CreaTabellaBackUp.sql | 23 + sql/storedTestbes/dbo_DropObject.sql | 29 + sql/storedTestbes/dbo_GetAllTableSize.sql | 46 + sql/storedTestbes/dbo_GetLancio.sql | 9 + sql/storedTestbes/dbo_GetLogs.sql | 34 + .../dbo_GetPDFTemplateConfiguration.sql | 9 + ..._GetPDFTemplateConfiguration_Rosaspina.sql | 9 + sql/storedTestbes/dbo_GetStatistics.sql | 6 + .../dbo_GetStatistics_Prepare.sql | 7 + .../dbo_GetTextTemplateConfiguration.sql | 12 + sql/storedTestbes/dbo_GetVariableValue.sql | 22 + sql/storedTestbes/dbo_HexToRGB.sql | 40 + .../dbo_InsertStartIntoLogFromDtsx.sql | 19 + ..._InsertStartIntoLogFromDtsxImmobiliare.sql | 19 + .../dbo_InsertStopIntoLogFromDtsx.sql | 28 + ...o_InsertStopIntoLogFromDtsxImmobiliare.sql | 28 + sql/storedTestbes/dbo_JOB_Controlli_View.sql | 8 + sql/storedTestbes/dbo_ListaCampione.sql | 15 + .../dbo_ListaCampioneDettaglioMovimenti.sql | 19 + ...staCampioneDettaglioMovimenti_Parziale.sql | 58 + sql/storedTestbes/dbo_LogFTP.sql | 30 + .../dbo_PreGenerationElabCounter.sql | 6 + .../dbo_PreGenerationStatoCounter.sql | 5 + .../dbo_RP_Popola_PiramideModello.sql | 45 + .../dbo_SO_getNewSubscriptions.sql | 17 + sql/storedTestbes/dbo_SRV_CONTROLLA_FASE1.sql | 16 + ...dbo_SRV_ESTRAZIONE_ULTIMO_INVIO_REPORT.sql | 36 + .../dbo_SRV_ReportDaCancellare.sql | 51 + .../dbo_SRV_SELECT_PROFILI_SCADUTI.sql | 8 + ...o_SRV_insertLogPreCalcoloDatiGenerator.sql | 21 + sql/storedTestbes/dbo_SearchAllTables.sql | 51 + .../dbo_SelezioneCampione_Fc.sql | 33 + .../dbo_SubscribedCustomer_Compare.sql | 28 + .../dbo_TEST_GETNEXTTRIMESTRE.sql | 53 + sql/storedTestbes/dbo_TEST_GETTRIMESTRE2.sql | 53 + .../dbo_TEST_MERGED_PROCEDURE.sql | 4338 ++++++++++++++ sql/storedTestbes/dbo_TrimTable.sql | 28 + sql/storedTestbes/dbo_TrimWSEITables.sql | 84 + sql/storedTestbes/dbo_UPDATE_EVASIONE.sql | 9 + .../dbo_UTIL_ESTRAI_COMPLEX_MODIFICATA.sql | 112 + .../dbo_creaExcelVerificaCampioneS80.sql | 58 + ...dbo_creaExcelVerificaCampioneS80_excel.sql | 43 + sql/storedTestbes/dbo_getListaPdfStorici.sql | 32 + .../dbo_inserisciRichiestaStorico.sql | 17 + sql/storedTestbes/dbo_sp_WhoIsActive.sql | 5063 +++++++++++++++++ sql/storedTestbes/dbo_sp_dts_addlogentry.sql | 1 + sql/storedTestbes/dbo_sp_getColors.sql | 18 + .../dbo_srv_change_Professional_Base_CU.sql | 16 + ..._change_codfiscaleMassiva_CU_SEIReport.sql | 28 + ...hange_codfiscale_20161114_OLwhenQready.sql | 107 + sql/storedTestbes/dbo_srv_change_rete_CU.sql | 98 + sql/storedTestbes/dbo_test_S80All_fc.sql | 249 + ...test_compl_testo_sezione_adeg_obsoleta.sql | 16 + sql/storedTestbes/dbo_test_fc.sql | 7 + sql/storedTestbes/dbo_usp_ExportImage.sql | 35 + sql/storedTestbes/dbo_usp_ImportImage.sql | 21 + ...martperiodico_DM_PatrimonioBFAggregato.sql | 13 + ...DM_PatrimonioBFAggregato_pre_selective.sql | 13 + ...o_DM_PatrimonioNonRappresentabileAsset.sql | 70 + ...oNonRappresentabileAsset_pre_selective.sql | 70 + ...tperiodico_DM_PatrimonioTerziAggregato.sql | 40 + ...PatrimonioTerziAggregato_pre_selective.sql | 40 + sql/storedTestbes/wh_MERGED_PROCEDURE.sql | 447 ++ .../wh_MERGED_PROCEDURE_NUOVA.sql | 305 + ...URE_PL_Prodotti_Non_Associati_Area_Inv.sql | 41 + sql/storedTestbes/wh_MERGED_PROCEDURE_S10.sql | 16 + .../wh_MERGED_PROCEDURE_S151.sql | 53 + .../wh_MERGED_PROCEDURE_S169.sql | 223 + .../wh_MERGED_PROCEDURE_S170.sql | 139 + .../wh_MERGED_PROCEDURE_S178.sql | 143 + sql/storedTestbes/wh_MERGED_PROCEDURE_S43.sql | 17 + sql/storedTestbes/wh_MERGED_PROCEDURE_S85.sql | 62 + sql/storedTestbes/wh_ProduceMaladetti.sql | 393 ++ sql/storedTestbes/wh_p_PL_AreeMonitorate.sql | 5 + .../wh_p_PL_D2_S151ProfiloDiRischio.sql | 1 + .../wh_p_PL_D2_S152Patrimonio.sql | 1 + .../wh_p_PL_D2_S153PatrimonioFinanziario.sql | 2 + .../wh_p_PL_D2_S154PatrimonioFinanziario.sql | 2 + .../wh_p_PL_D2_S155PatrimonioImmobiliare.sql | 2 + .../wh_p_PL_D2_S156ALtroPatrimonio.sql | 2 + .../wh_p_PL_D2_S157ConfrontoPiramidi.sql | 2 + .../wh_p_PL_D2_S158PiramideModello.sql | 1 + .../wh_p_PL_D2_S159PatrimonioFinanziario.sql | 2 + .../wh_p_PL_D2_S160DettaglioProdottiBF.sql | 2 + .../wh_p_PL_D2_S162DettaglioProdotti.sql | 1 + ...2_S163PatrimonioFinanziarioMAssetClass.sql | 4 + .../wh_p_PL_D2_S164PolizzeAltriIstituti.sql | 1 + .../wh_p_PL_D2_S165FondiAltriIstituti.sql | 1 + ..._PL_D2_S167DistribuzioneRischioCredito.sql | 1 + .../wh_p_PL_D2_S168TabellaEmittenti.sql | 2 + ...PL_D2_S169RischiomercatoRischiocredito.sql | 3 + ...wh_p_PL_D2_S170RischioDiversificazione.sql | 2 + ...atrimonioNonRappresentabileAssettClass.sql | 3 + .../wh_p_PL_D_S170RischioDiversificazione.sql | 2 + ..._p_PL_D_S178IndicatoriEsitoAdeguatezza.sql | 53 + .../wh_p_PL_MP_S133AreeBisognoPrincProd.sql | 3 + .../wh_p_PL_MP_S133BISPrincipaliProdotti.sql | 3 + .../wh_p_PL_MP_S134BISMonitoraggioLiqInv.sql | 3 + .../wh_p_PL_MP_S134MonitoraggioLiquidita.sql | 1 + ...h_p_PL_MP_S135MonitoraggioInvestimento.sql | 3 + .../wh_p_PL_MP_S137BISCapitaleProtetto.sql | 1 + sql/storedTestbes/wh_p_PL_MP_S137Bonus.sql | 1 + .../wh_p_PL_MP_S140AnalisiRisparmioCharts.sql | 1 + .../wh_p_PL_MP_S141AnalisiRisparmioTable.sql | 2 + ...wh_p_PL_MP_S146RischioDiversificazione.sql | 3 + ...h_p_PL_Prodotti_Non_Associati_Area_Inv.sql | 1 + .../wh_p_PL_S10PatrimonioFinanziario.sql | 3 + .../wh_p_PL_S43BISDettaglioProdottiBF.sql | 3 + .../wh_p_PL_S43ContoCorrenteBF.sql | 3 + .../wh_p_PL_S43DettaglioProdottiBF.sql | 2 + sql/storedTestbes/wh_p_PL_S43LineaSelfBF.sql | 1 + ...atrimonioNonRappresentabileAssettClass.sql | 1 + sql/storedTestbes/wh_p_PL_S80Alternativa.sql | 1 + .../wh_p_PL_S82BisDatiSintetici.sql | 1 + .../wh_p_PL_S82DatiSintetici.sql | 1 + .../wh_p_PL_S85RendimentoPortafoglioCono.sql | 3 + ...oNonConsideratoNelCalcoloDelRendimento.sql | 4 + ...h_p_PL_S96RischiomercatoRischiocredito.sql | 2 + 4996 files changed, 642053 insertions(+), 1438 deletions(-) create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_Blacklist_Blocco_Tabellone.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_ANAG_SELF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_ANAG_SELF_20181214_PreMioFoglio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_CODIFICA_CREDITRISK.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_CODIFICA_RISCHIO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_MIFID.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_PARTITE_VIAGGIANTI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_RISCHIO_AGGREGATO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_Delete_Immobiliare_GestionePDF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE_BKP28052023.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE_CONSUNI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_GetDatiPerIDX.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_Insert_ExcludedList.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestionePDF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestioneZIP.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_MERGED_PROCEDURE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_D2_S170RischioDiversificazione.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_D_S152Patrimonio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_D_S154PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_GetClientNegativeCurrentAccountsValue.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_GetClientSelfNegCurrentAccountValue.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_MP_S133AreeBisognoPrincProd.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_MP_S140AnalisiRisparmioCharts.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_Popola_S133_S157DatiPiramide.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ANAG_CLIENTI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI_TERZI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_AREA_BISOGNO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS_TERZI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC_TERZI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_CONTRATTOSEI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_DETTAGLIO_ASUL.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_ALTRO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_BF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_TERZI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PIRAMIDE_MOD.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2_Indicatore.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_SP_PopolaW6IMM.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_SP_Valorizza_Stati_semaforo_IMM.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_UpdateDateReport_Immobiliare_GestionePDF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_Update_Immobiliare_GestioneZIP.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_getRichiesteMonitoraggioCatastoCliente.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_insertRichiesteMonitoraggioCatastoCliente.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_sp_caricaBlacklist.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_start_email_Testi_Statici_tabellone.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_start_email_Zipping_tabellone.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_updateRichiesteMonitoraggioCatastoClienteCong.sql create mode 100644 sql/storedCollaudo/C6MartPeriodicoImmobiliare_updateRichiesteMonitoraggioCatastoClienteProd.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_AGGIORNA_NUMERO_PAGINE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_AL_AggiornaPortafoglioCliente.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_AL_AggiornaPortafoglioCliente_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_AggiornaFlagRolContrattoSei.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_AggiornamentoDisponibilitaReport.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_AppRendTabReader.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_AppRendTabReader_bl.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_BONIFICA_WSEIUL.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_BONIFICA_WSEIUL_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Blacklist_Blocco_Tabellone.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Blocco_Blacklist_AppRendicontazione.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_BonificaDataQuality.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CHECK_AGGIORNA_ERRORI_GENERAZIONE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CHECK_CTV_PER_NEEDAREA_PER_CLIENT.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CHECK_GET_CTV_ISSUES.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CHECK_GET_CTV_ISSUES_PER_AREA.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CHECK_GET_CUSTOMERS_FOR_CHECK.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CHECK_GET_NeedAreas.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CHECK_GET_Perc_ISSUES.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CHECK_GET_S10_Negative_BankAccount.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET_ALL.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CHECK_GET_VAR_ISSUES.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CHECK_INSERT_CTV_PER_AREA.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CHECK_INSERT_CTV_PER_SECTION.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CHECK_INSERT_S10_PERC.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CHECK_INSERT_VAR_PER_SECTION.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CHECK_PROFILO_SCADUTO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CHECK_PROFILO_SCADUTO_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CHECK_RFA_ZERO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CHECK_RFA_ZERO_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CREA_FIRMA_PROMOTORE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CRUSCOTTOTRIMESTRALE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CRUSCOTTOTRIMESTRALEMAU.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE_test.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Caricamento_TBGEN.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CercaCaratteriAnomali.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CercaCaratteriAnomali_20150205.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_CheckQuadraturaRfa0Mifid.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Controlla_Stato_Stampa_Cruscotto.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ALL_PATRIMONIO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CC.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CC_TERZI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CC_TERZI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CC_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CLIENTI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CLIENTI_PREV.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CLIENTI_PREV_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CLIENTI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PROMOTORI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PROMOTORI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ANAG_SELF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ANAG_SELF_20181214_PreMioFoglio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ANAG_SELF_BK_eligoTitoli.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ANAG_SELF_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_AREA_BISOGNO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_AREA_BISOGNO_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ASSETCLASS.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ASSETCLASS_TERZI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ASSETCLASS_TERZI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ASSETCLASS_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ASSET_PERC.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ASSET_PERC_TERZI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ASSET_PERC_TERZI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ASSET_PERC_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_BONUS.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_BONUS_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT_20171129.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT_BKP.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT_FVI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT_FVI_20180424.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_CLIENTI_CON_RNA_ALTO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_CODIFICA_CREDITRISK.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_CODIFICA_CREDITRISK_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_CODIFICA_RISCHIO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_CODIFICA_RISCHIO_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_COMPLESSITA.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_COMPLESSITA_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_CONGELAMENTO_SEI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_CONGELAMENTO_SEI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_CONO_PIANIFICAZIONE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_CONO_PIANIFICAZIONE_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_CONTRATTOSEI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_CONTROLLO_TRIMESTRALE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_DATI_REPORT.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_DATI_REPORT_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_DETTAGLIO_ASUL.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_DETTAGLIO_ASUL_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_DettaglioMovimenti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_DettaglioMovimenti_20160913.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_DettaglioMovimenti_old.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_DettaglioMovimenti_old2.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_DettaglioMovimenti_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_ELABORAZIONI_EMAIL_RNA.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_EMAIL_PB.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_EMAIL_PB_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_FOI80.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_FOI80_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_DEFINITIVI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_GENERATI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_GESTIONE_EMAIL_RNA.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_MAIL_PROFILI_RISCHIO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_MIFID.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_MIFID_BKP_20231114_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_MIFID_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_REPORT.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_REPORT_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_STORICO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_STORICO_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_PARTITE_VIAGGIANTI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_PARTITE_VIAGGIANTI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_ALTRO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_ALTRO_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_BF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_BF_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_TERZI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_TERZI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_PIRAMIDE_MOD.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_PIRAMIDE_MOD_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_PIRAMIDE_VERT.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre_old.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_PROVENTI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_PROVENTI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_RISCHIOEMITTENTI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_20180627_preNewInd.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_OLD2.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_old.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_preAladdin.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective_preAladdin.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_SCADENZE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_SCADENZE_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_SCADENZE_pre_selective_luca.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_STORICO_CAPPROT_FVI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_TEST_QUALITY.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DM_dettaglio_MOV.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Decodifica_Concentrazione_Prodotti_Complessi.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DeleteGruppo_ExcludedList.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_DistinctGruppo_ExcludedList.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Estrazione_Campione.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Estrazione_Campione_Cruscotto.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GC_CONVALIDAREPORTSELECT.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GC_DELETE_CONVALIDA_ANNULLA.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GC_INSERT_VERIFICHE_CAMPIONE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GC_REPORTDACANCELLARESELECT.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GC_VerificheCampioneSelect.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_C6_S_Generator.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_C6_S_Generator_OLD.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_CUSTOMER_ERROR.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP_20170328.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONI_EMAIL_RNA.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_EMAIL_DA_INVIARE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_04082015.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_GET_ID.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_ZIP.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_ZIP_IDX_NOINSERT.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_PDF_REVERT_FISCAL_CODE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SCARTI_CRUSCOTTO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_ELABORAZIONI_EMAIL_RNA.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_20160913.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_bk.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170413_b4_NewZipFtpProcess.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170712_b4_OrderedByCAP.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180214_bonifica.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180308_PreIDX2.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180420.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20240225.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180308_PreIDX2.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180420.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_prova_20141223.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_WHITELIST.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_HOST.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_LAST_ELAB_ZIP.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_LAST_ZIP.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_NUM_MAX_ELABORAZIONI_EMAIL_RNA.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_Francesco.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FOR_STATISTICS.obs.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Francesco.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_PK.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Pino.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_NonOptimized.obs.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_ONDEMAND_OPT_EN.obs.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_luca.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano_PROVAPROF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_EN.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_DA.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_CAMPIONE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE_test.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_20190206_preMioFoglio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_POST_RAFFORZAMENTO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_mariano.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE_FINAL.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_PARZIALE_FASE2_CU.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_SPECIFIC_ZIP.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_ZIP_DA_INVIARE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_ZIP_WHITELIST.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_S_Intermediari.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP_20170328.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_HOST.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_INVIATE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_FTP.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_ZIP.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_ZIP_COPY.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_ZIP_SENT_FTP.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Genera_Cruscotto_ContrattoSei.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Genera_Cruscotto_ContrattoSei_20170407.SAVE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Gestione_Bonus.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Gestione_ProdottiProtetti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Gestione_ProdottiProtetti_20171215.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GetFilesForSendingByFTP.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GetQueryContratti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_GetRiskArea.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_INSERISCI_FASE2_PER_CAMBIO_RETE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Inizializzazione_tabellone.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Inserimento_TrimestraleScarti_ExcludedList.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Inserimento_TrimestraleScarti_SegnalazioneDataQuality.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Monitoraggio_Giornaliero.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Motivo_ExcludedList.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_20180604_PreMifid2.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_20180927_PreOttimizzazione.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_20181214_PreMioFoglio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_85.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_BK_eligoTitoli.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_PRESBAGLIATA.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_SIMULAZIONE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_bck201204.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_bkup_20120101.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_preFD.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_FD152Patrimonio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_FD160DettaglioProdottiBF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_FD170RischioDiversificazione.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S150Anagrafica.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S150Anagrafica_BkUpParall.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S151ProfiloDiRischio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S152Patrimonio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S152Patrimonio_20190225__ori.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S152Patrimonio_20190225_preProquota.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S153PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S154PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190225_preProquota.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190502_ProQuota.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S156ALtroPatrimonio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BkUpParall.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_testFc.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S158PiramideModello.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S159PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_20151222.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S162DettaglioProdotti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S164PolizzeAltriIstituti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S165FondiAltriIstituti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S166ContoCorrenteAI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito_PatrimonioNonRapp.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S168TabellaEmittenti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S168TabellaEmittenti_BK_20151222.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito_20180716.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S170RischioDiversificazione.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S170RischioDiversificazione_NoLight.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D3_S151ProfiloDiRischio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza_preMUA.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S150Anagrafica.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S151ProfiloDiRischio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S152Patrimonio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S153PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S154PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S155PatrimonioImmobiliare.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S156ALtroPatrimonio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S157ConfrontoPiramidi.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S158PiramideModello.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S159PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S160DettaglioProdottiBF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S162DettaglioProdotti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S163PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S164PolizzeAltriIstituti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S165FondiAltriIstituti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S166ContoCorrenteAI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S167DistribuzioneRischioCredito.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S168TabellaEmittenti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S169RischiomercatoRischiocredito.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S170RischioDiversificazione.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza_20180706_PreCRNapolitano.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S178CasiParticolari.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S178CasiParticolari_20181220.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S178CasiParticolari_BKP_20231114_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S178CasiParticolari_old.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S178CasiParticolari_report_ridotto.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza_preMUA.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S179EmittentiConcentrazioneAlta.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta_20180715.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_FD10PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_FD181PreferenzeESG.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_FD182BISDettaglioProdottiESG.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_FD182DettaglioProdottiESG.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_FD185UCaratteristicheESG.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_FD187SfdrTaxESG.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_FD188PaiESG.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_FD190BisPatrimonioFinanziario_Modello.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_FD190PatrimonioFinanziario_PTFRibilanciato.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_FD200BisDistribuzioneAssetClass_Modello.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_FD25Anagrafica.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_FD43BISDettaglioProdottiBF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_FD43DettaglioProdottiBF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_GetClientNegativeCurrentAccountsValue.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_GetClientNegativeGPEligo.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_GetClientSelfNegCurrentAccountValue.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_GetClientSelfNegative.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_Intermediari.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_FD133BISPrincipaliProdotti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_FD134BISMonitoraggioLiqInv.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_FD134MonitoraggioLiquidita.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_FD147SintesiValute.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_FD148DistribuzioneAssetClass.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_FD200DistribuzioneAssetClass_PTFRibilanciato.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza_BKP_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S129Patrimonio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S129Patrimonio_BkUpParall.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S129Patrimonio_bkp_fc.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S130PrincipaliPosizioni.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S131ContributoARischio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza_BkUpParall.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BK_eligoTitoli.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BkUpParall.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S133BISPrincipaliProdotti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S134BISMonitoraggioLiqInv.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S134MonitoraggioLiquidita.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S135MonitoraggioInvestimento.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S137BISCapitaleProtetto.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S137BIS_FOI80.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S137Bonus.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S138Proventi.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S139Scadenze.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_20190123_PreLIGHT.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_NoLight.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable_test.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S142DistibuzionePerRating.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S143DistibuzionePerEmittente.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S144DistibuzionePerScadenze.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S145DistibuzionePerTassoRendimento.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S146RischioDiversificazione.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S147SintesiValute.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass_BkUpParall.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S149DettaglioProdottiAffluent.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S173.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S173CapitaleProtetto.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S173FOI80.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S174Bonus.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S175BlueProtection.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S175LineaProtettaMultiramo.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S175WhiteProtection.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S176EvoluzioneLineaProtettaMultiramo.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_MP_S44OperazioniUltimoTrimestre.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_Prodotti_Non_Associati_Area_Inv.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S102DistribuzioneRischioCredito.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S102DistribuzioneRischioCredito_OLD.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S103TabellaEmittenti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S103TabellaEmittenti_OLD.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S10PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S10PatrimonioFinanziario_BkUpParall.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S170LimitiMassimi.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S170LimitiMassimi_20180612.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S170LimitiMassimi_20180702.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S170LimitiMassimi_BKP_20231115_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171201_ori.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171215.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171220.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171221.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180119.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180717_PrePre1Pre2.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20190717_preFixArrotondamento.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_pktest.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleLineeProdotti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S181PreferenzeESG.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S181PreferenzeESG_BKP_20231116_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S182BISDettaglioProdottiESG.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S182BISDettaglioProdottiESG_Mon.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S182DettaglioProdottiESG.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S183iCapital.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S184CoerenzaESG.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S184CoerenzaESG_BKP_20231013.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S185UCaratteristicheESG.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S186DettaglioPortafoglioSei.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S187SfdrTaxESG.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S188PaiESG.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S18PatrimonioFinanziarioRischio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S1Patrimonio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S23DettaglioRischio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S25Anagrafica.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S25Anagrafica_BkUpParall.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S26PatrimonioImmobiliare.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S27ALtroPatrimonio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S2PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S31PatrimonioFinanziarioIntermediario.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S32PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S36ProfiloRischio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S37PiramideModello.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S42RischioDiversificazione.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S43BISDettaglioProdottiBF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20160118.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215_B.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S43ContoCorrenteBF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S43DettaglioProdottiBF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161215.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161219.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S43LineaSelfBF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S47ContoCorrenteBF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S48DettaglioProdotti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S49PolizzeAltriIstituti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S50FondiAltriIstituti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S51ContoCorrenteAI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S56PatrimonioBFAreeBisogno.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S57ConfrontoPiramidi.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S57ConfrontoPiramidi_OLD.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S6PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S75GradoCopertura.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S75GradoCoperturaCompl.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S75GradoCoperturaInterno.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S75GradoCoperturaTerzi.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S75GradoCopertura_check.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S76PatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_20181214_PreMioFoglio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_BkUpParall.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_DidascalieNote.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_OLD.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_bkp_FC.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_perc.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S80BisEvoluzioneRischio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S80BisEvoluzioneRischio_20170413_RM_DBname.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S80BisEvoluzioneRischio_BkUpParall.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S80EvoluzioneControvalore.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S82BisDatiSintetici.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S82DatiSintetici.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S83DatiRendimento.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S83DatiRendimento_85.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S84ControvaloreRisorseApportate.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S85RendimentoPortafoglioCono.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S86PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S94Rischio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S95ProfiloDiRischio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S95ProfiloDiRischio_20190204_PreMIFID2.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S96BisRischioMercatoRischioCredito.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_S96RischiomercatoRischiocredito.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PL_SavingMap.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_PROVVISORIA.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_PROM_TuttiIPortafogli.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_D2_S150Anagrafica.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_FD190PatrimonioFinanziario_PTFRibilanciato.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_FD190PatrimonioFinanziario_PTFRibilanciato_OLD.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_FD200DistribuzioneAssetClass_PTFRibilanciato.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_FD200DistribuzioneAssetClass_PTFRibilanciato_OLD.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S10PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S10PatrimonioFinanziario_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S133_S157DatiPiramide.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161202.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161214.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S133_S157DatiPiramide_20170113_ORIG.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S133_S157DatiPiramide_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S148DistribuzioneAssetClass.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S148DistribuzioneAssetClass_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_20180626.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_BKP_20231115_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S25Anagrafica.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S25Anagrafica_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S80BisEvoluzioneRischio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20170724_preCR_fasi1e2.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20171222.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_BKP_20231116_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20170724_preCR_fasi1e2.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20180108.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20181214_PreMioFoglio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_TB_S180ProdottiComplessitaAlta.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_W6ASSETPERC.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_W6ASSETPERC_20190624.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popola_W6ASSETPERC_20190701.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popolamento_RP_W6CLIREP.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Popolamento_RP_vTuttiIPortafogli_Aladdin_tab.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_ProfiloScaduto_Campione.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RESTART_CONTROLLO_TRIMESTRALE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RFA_SEGNALATI_SP.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RM_Sintesi_Cliente.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_AggiornaFlagContratto.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CC_TERZI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CC_TERZI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409_AGENTEisNotNull.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL_20190612.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PROMOTORI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PROMOTORI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_AREA_BISOGNO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_AREA_BISOGNO_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSETCLASS.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSETCLASS_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSET_PERC.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSET_PERC_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_BONIFICA_DTRIF0_TSCABP.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_BONIFICA_PATRIMONIO_IMMOBILIARE_ProQuota.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_BrsClienteESG.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_CLIENTI_RISORSE_NA.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_COMPLESSITA.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_COMPLESSITA_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_CONTRATTOSEI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_CONTRATTOSEI_20170407.SAVE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_CONTRATTOSEI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_Confronto_IndicatoreRischio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.20170320.OBS.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_20170123.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_TEMP.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_luca.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_ESG_ANAG_METRICHE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_GestioneEmail.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_GestioneEmailNA.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_GestioneEmailNOPRO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_IndicatoreRischio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_MAIL_PROFILI_RISCHIO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20161220.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20171218_preRFMP.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20181213.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190112.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190314_preMioFoglio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_20181214_PreMioFoglio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170407.SAVE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170421_4b_prometeria_err_fix.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20171019_err.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BKP_20231017.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BK_eligoTitoli.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_DaCancellare.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_FC.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_TEST.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20170427_Patr3.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20180315.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PIRAMIDE_MOD.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20161202.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20170119.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_PIRAMIDE_VERT.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_POPOLACONTRATTI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_QD_VAR_RISK_WEEK2.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_W6CATESG.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_W6CKADEG.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_W6CLIESG.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_W6IndPtf.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_WSEIAN2.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_WSEICAP.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_WSEICC.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_DM_WSEIRPF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170409_TEST.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410_EXCLCF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170421_EXCL_CF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20180615_NewMotorePrometeia.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180711_AZZERARE_CTV_NEGATIVI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180719_preAzzeramentoCCNeg.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018_SingoloCF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_IN.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_ORIGINALE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_SRV_CHECK_C6_GIORNALIERO.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_ST_ClientiPtfNonDiv.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_TCPTAB.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_Tipologia_Campione.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_Tipologia_Tabellone.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_RP_controlla100_PiramideModello.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_BonificaDati.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_BonificaDati_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_CaratteriAnomali.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_CaratteriAnomali_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_DeleteSegnalazioni.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_DeleteSegnalazioni_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_DescProdottoProventi.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_DescProdottoProventi_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_PiramideAreeDuplicate.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_PiramideAreeDuplicate_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_PositionID.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_PositionIDConsulenza.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_PositionIDConsulenza_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_PositionID_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_PosizioniDuplicate.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_ProgettoDuplicatoArea.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_ScartiAPI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_ScriviDisallineati.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_ScriviDisallineati_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_SelezioneDisallineati.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_SelezioneDisallineati_pre_selective_luca.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_VerificaDisallineati.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_VerificaDisallineati_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_VerificaEmail.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_VerificaEmail_20161010.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_DQ_VerificaEmail_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_Patrimonio_BF_Percentuale_Piramide.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip_20181017.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_TROVA_REPORT_DA_RIGENERARE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_TotaliReportGenerazioneZip.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_Valorizza_Stati_semaforo_TRIM.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SP_statistiche_app_rendicontazione.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_CALCOLA_BILANCIAMENTO_GENERATOR.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_CHECK_INDIRIZZI.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_ESTRAZIONE_FASE_2_PRE_MART.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_LISTA_CLIENTI_FASE2.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_20151009.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_bk_test_20151014.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_QUANTO_MANCA.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20160412.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20161012.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20180711_preExcludedList.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20190116_PreNewFunction.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20230915.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_STORICIZZAZIONE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_STORICIZZAZIONE_OLD.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_TABELLE_IN_MART.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_TABELLE_IN_MART_pre_selective.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_TRUNCATE_RP_STAGING.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SRV_Verifica_DISALLINEAMENTI_MONIT.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Segnala_Disallineamenti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Segnala_Disallineamenti_20190129.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Segnala_ProdottiNonCensiti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Segnala_ProdottiNonCensiti_20190129.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_SetDocumentMissing.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_UPDATE_TABELLE_CAMBIO_RETE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_UpdateStatoReport.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Util_Test_PL.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_Verifica_esecuzione_API_Trimestrale.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_inserisci_promotori_fittizi.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_rp_aggiornaDataValidazione.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_sp_BlackList_GetAll.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_sp_BlackList_GetBlockedNumber.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_sp_BlackList_Ricerca_GetAll.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_sp_BlackList_Save_Row.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_sp_BlackList_Update_Row.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_sp_GetNumeroZipProdotti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_sp_UpdateIdReportPDF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_sp_caricaBlacklist.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_sp_caricaBlacklist_RFAMinus_old.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_sp_getDatiReport.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti_Griffin.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_sp_getIDReport.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_srv_excel_zip.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_start_ConvertiExcel_tabellone.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_start_email_Approval_tabellone.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_start_email_Certificazione_tabellone.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_start_email_ConfermaPostalizzazione_tabellone.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_start_email_CongelamentoDB_tabellone.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_start_email_position_tabellone.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_start_esportazione_tabellone.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_temp_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_temp_RP_DM_GestioneEmail.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_temp_RP_DM_PATRIMONIO_BF.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_test_CaricamentoPL_fc.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_zzzPL_S80Alternativa.sql create mode 100644 sql/storedCollaudo/C6MartPeriodico_zzzRP_DM_EMAIL_PB.sql create mode 100644 sql/storedCollaudo/C6Mart_AL_AggiornaPortafoglioCliente.sql create mode 100644 sql/storedCollaudo/C6Mart_CercaCaratteriAnomali.sql create mode 100644 sql/storedCollaudo/C6Mart_Controlli_RepGiornaliera.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_AGGIORNA_CLIENTE.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_ALBERO_PRODOTTI.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_ALL_PATRIMONIO.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_ANAG_CC.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_ANAG_CC_TERZI.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_ANAG_CLIENTI.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_ANAG_CLIENTI_PREV.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_ANAG_CONTRATTI.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_ANAG_CONTRATTI_ASS.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_ANAG_EMITTENTI.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_ANAG_PRODOTTI.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_ANAG_PRODOTTI_TERZI.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_ANAG_PROMOTORI.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_ANAG_SELF.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_ANAG_SELF_20181129_PreMioFoglio.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_ANAG_SELF_BK_eligoTitoli.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_AREA_BISOGNO.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_ASSETCLASS.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_ASSETCLASS_TERZI.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_ASSET_PERC.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_ASSET_PERC_TERZI.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_CATEGORIE_PRODOTTO.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_CLIENTI_NON_MIGRATI.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_CODIFICA_CREDITRISK.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_CODIFICA_PIRAMIDI.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_CODIFICA_RISCHIO.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_CREA_POSITIONID.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_DATI_REPORT.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_DETTAGLIO_ASUL.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_EMAIL_PB.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_ESITI_CARICAMENTI.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_GER_PROMOTORI.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_GestioneEmail.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_GestioneEmailNA.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_GestioneEmailNOPRO.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_MIFID.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_MIFID_20181004.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_PARTITE_VIAGGIANTI.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_PATRIMONIO_AGG.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_PATRIMONIO_ALTRO.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_PATRIMONIO_BF.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_PATRIMONIO_BF_old.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_PATRIMONIO_EMITTENTI.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_PATRIMONIO_IMMOBILIARE.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_PATRIMONIO_TERZI.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_PIRAMIDE_MOD.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_PIRAMIDE_VERT.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_PREVIDENZIALE.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_PopolaContratti.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_PopolaContratti_20161026.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_PopolaContratti_old240213.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_RISCHIOEMITTENTI.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_RISCHIO_AGGREGATO.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_RISCHIO_AGGREGATO_20181003.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_RISCHIO_AGGREGATO_old.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_RISCHIO_AGGREGATO_pre_selective.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_RISCHIO_DETTAGLIO.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_RISCHIO_DETTAGLIO_pre_selective.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_STRUTTURA_RETE.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_STRUTTURA_RETE_20160427.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_STRUTTURA_RETE_20161024.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_TEST_QUALITY.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_TEST_QUALITY_20181003.sql create mode 100644 sql/storedCollaudo/C6Mart_DM_VAR_ADEGUATEZZA.sql create mode 100644 sql/storedCollaudo/C6Mart_Decodifica_Concentrazione_Prodotti_Complessi.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_C6_S_Generator.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_C6_S_Generator_AND.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_C6_S_Generator_EN.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_C6_S_Generator_OLD.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_C6_S_QueryDatiComuniSql.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_C6_S_Vincoli.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_CRUSCOTTO_ARCHIVIAZIONE.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_INSERT_PDF_FTP.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_INSERT_PDF_FTP_TEST.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_INSERT_ZIP.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.old.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.test_e.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_20190802.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_CU.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_new.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_FTP_DA_INVIARE.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_FTP_INVIATI.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_FTP_INVIATI_TEST_NEW.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_HOST.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_HOST_GIORNALIERO.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Luca.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.TEMP.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180309_PreServizi.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180928_OLD.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20240412.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_ESG.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_Pino.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_Test2.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_TEST_ANDREA.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_orig.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_SELECT_ZIP_DA_INVIARE.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_S_Intermediari.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_UPDATE_EMAIL_HOST.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_UPDATE_EMAIL_INVIATE.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_UPDATE_FTP.sql create mode 100644 sql/storedCollaudo/C6Mart_GESTIONE_UPDATE_ZIP.sql create mode 100644 sql/storedCollaudo/C6Mart_GetRiskArea.sql create mode 100644 sql/storedCollaudo/C6Mart_InvioLetteraBenvenuto_ExcludedListApply.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_FD150Anagrafica.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_FD159PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_FD160DettaglioProdottiBF.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_FD170RischioDiversificazione.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S150Anagrafica.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S151ProfiloDiRischio.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S152Patrimonio.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S152Patrimonio_20190107_ProQuota.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S152Patrimonio_20190111.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S153PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S154PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S155PatrimonioImmobiliare.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190107_ProQuota.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190111.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S156ALtroPatrimonio.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S157ConfrontoPiramidi.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S158PiramideModello.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S159PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S160DettaglioProdottiBF.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S162DettaglioProdotti.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass_NEW_20160908.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S164PolizzeAltriIstituti.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S165FondiAltriIstituti.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S166ContoCorrenteAI.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S167DistribuzioneRischioCredito.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S168TabellaEmittenti.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S169RischiomercatoRischiocredito.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S170RischioDiversificazione.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D3_FD151ProfiloDiRischio.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D3_S151ProfiloDiRischio.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_FD178IndicatoriEsitoAdeguatezza.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S150Anagrafica.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S151ProfiloDiRischio.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S152Patrimonio.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S153PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S154PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S155PatrimonioImmobiliare.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S156ALtroPatrimonio.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S157ConfrontoPiramidi.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S158PiramideModello.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S159PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S160DettaglioProdottiBF.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S162DettaglioProdotti.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S163PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S164PolizzeAltriIstituti.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S165FondiAltriIstituti.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S166ContoCorrenteAI.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S167DistribuzioneRischioCredito.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S168TabellaEmittenti.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S169RischiomercatoRischiocredito.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S170RischioDiversificazione.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S177ProfiloDiRischio_Adeguatezza.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S178CasiParticolari.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S178CasiParticolari_20181220.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S178IndicatoriEsitoAdeguatezza.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S179EmittentiConcentrazioneAlta.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_D_S180ProdottiComplessitaAlta.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_FD181PreferenzeESG.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_FD182BISDettaglioProdottiESG.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_FD182DettaglioProdottiESG.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_FD185UCaratteristicheESG.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_FD187SfdrTaxESG.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_FD188PaiESG.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_GetClientNegativeCurrentAccountsValue.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_GetClientSelfNegCurrentAccountValue.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_GetClientSelfNegative.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_Intermediari.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_MP_FD133BISPrincipaliProdotti.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_MP_FD147SintesiValute.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_MP_FD148DistribuzioneAssetClass.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S102DistribuzioneRischioCredito.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S102DistribuzioneRischioCredito_OLD.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S102DistribuzioneRischioCredito_OLD2.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S103TabellaEmittenti.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S10PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S170LimitiMassimi.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S181PreferenzeESG.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S182BISDettaglioProdottiESG.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S182DettaglioProdottiESG.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S183iCapital.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S184CoerenzaESG.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S185UCaratteristicheESG.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S186DettaglioPortafoglioSei.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S187SfdrTaxESG.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S188PaiESG.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S18PatrimonioFinanziarioRischio.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S1Patrimonio.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S23DettaglioRischio.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S25Anagrafica.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S26PatrimonioImmobiliare.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S27ALtroPatrimonio.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S2PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S31PatrimonioFinanziarioIntermediario.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S32PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S36ProfiloRischio.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S37PiramideModello.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S42RischioDiversificazione.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S43ContoCorrenteBF.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S43DettaglioProdottiBF.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S43LineaSelfBF.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S47ContoCorrenteBF.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S48DettaglioProdotti.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S49PolizzeAltriIstituti.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S50FondiAltriIstituti.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S51ContoCorrenteAI.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S56PatrimonioBFAreeBisogno.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S57ConfrontoPiramidi.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S6PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S75GradoCopertura.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S76PatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S95ProfiloDiRischio.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S96RischiomercatoRischiocredito.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_S96RischiomercatoRischiocredito_old.sql create mode 100644 sql/storedCollaudo/C6Mart_PL_SavingMap.sql create mode 100644 sql/storedCollaudo/C6Mart_PROM_TuttiIPortafogli.sql create mode 100644 sql/storedCollaudo/C6Mart_PROM_TuttiIPortafogli_old.sql create mode 100644 sql/storedCollaudo/C6Mart_Popola_S133_S157DatiPiramide.sql create mode 100644 sql/storedCollaudo/C6Mart_Popola_S148DistribuzioneAssetClass.sql create mode 100644 sql/storedCollaudo/C6Mart_Popolamento_RP_W6DAILY.sql create mode 100644 sql/storedCollaudo/C6Mart_PreCheckIDX.sql create mode 100644 sql/storedCollaudo/C6Mart_RM_Sintesi_Cliente.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_AggiornaFlagContratto.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_AggiornaFlagContratto_20161026.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_ANAG_CC.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_ANAG_CC_20170421.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_ANAG_CC_TERZI.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_ANAG_CLIENTI.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_ANAG_PRODOTTI.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_ANAG_PRODOTTI_TERZI.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_ANAG_PRODOTTI_VALUTE.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_ANAG_PROMOTORI.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_ASSETCLASS.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_ASSETCLASS_TERZI.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_ASSET_PERC.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_ASSET_PERC_TERZI.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_BrsClienteESG.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_CHECK_RFA_MINUS.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_CHECK_RFA_MINUS_20240412.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_CHECK_RFA_MINUS_preRafforzamento.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_CheckEmail.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_Check_GestioneEmailNOPRO.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_DETTAGLIO_ASUL.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_EMAIL_PB.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_ESG_ANAG_METRICHE.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_GestioneEmail.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_GestioneEmailNA.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_GestioneEmailNA_20181003.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_GestioneEmailNA_Fc.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_GestioneEmailNOPRO.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_GestioneEmailSessione.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_GestioneEmail_20161028.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_ALTRO.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_ALTRO_20150825.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_ALTRO_20160615.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_BF.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_BF_20180201.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_20190107_ProQuota.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_TERZI.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_TERZI_20180219.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_TERZI_Param.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_TERZI_luca.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_PIRAMIDE_MOD.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_2011026.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20160315.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_201700302_ripristino_del_20170127.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170127.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170322.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170524.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170607_mifid.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170613.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170727_VarAdeguatezza.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20171113.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20171205.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20171222.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20180102.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20180103.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20180104.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20181003.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20181127.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_W6CLIESG.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_W6CatESG.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_DM_WSEICAP.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_PROM_TuttiIPortafogli.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_PROM_TuttiIPortafogli2_Indicatore.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_PROM_TuttiIPortafogli_20180612_NewMotorePrometeia.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_PROM_TuttiIPortafogli_20180612_PreMotorePrometeia.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql create mode 100644 sql/storedCollaudo/C6Mart_RP_Selettore_GetDataThreads.sql create mode 100644 sql/storedCollaudo/C6Mart_SRV_CHECK_C6_GIORNALIERO.sql create mode 100644 sql/storedCollaudo/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026.sql create mode 100644 sql/storedCollaudo/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026_2.sql create mode 100644 sql/storedCollaudo/C6Mart_SRV_CHECK_C6_GIORNALIERO_AND.sql create mode 100644 sql/storedCollaudo/C6Mart_SRV_ESTRAZ_GIORNALIERA_CC.sql create mode 100644 sql/storedCollaudo/C6Mart_SRV_SELECT_EMAIL_BY_ISODATE.sql create mode 100644 sql/storedCollaudo/C6Mart_SRV_STORICIZZAZIONE.sql create mode 100644 sql/storedCollaudo/C6Mart_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql create mode 100644 sql/storedCollaudo/C6Mart_SRV_STORICIZZAZIONE_OLD.sql create mode 100644 sql/storedCollaudo/C6Mart_SRV_SVUOTAMART.sql create mode 100644 sql/storedCollaudo/C6Mart_SRV_TABELLE_IN_MART.sql create mode 100644 sql/storedCollaudo/C6Mart_SRV_TRUNCATE_STAGING.sql create mode 100644 sql/storedCollaudo/C6Mart_TabellaCaratteriAnomali.sql create mode 100644 sql/storedCollaudo/C6Mart_UT_INSERT_ERROR.sql create mode 100644 sql/storedCollaudo/C6Mart_Util_Test_PL.sql create mode 100644 sql/storedCollaudo/C6Mart_Verifica_Lancio_Giornaliero.sql create mode 100644 sql/storedCollaudo/C6Mart_aggiornaDataValidazione.sql create mode 100644 sql/storedCollaudo/C6Mart_getCodiceContratto.sql create mode 100644 sql/storedCollaudo/C6Mart_rp_aggiornaDataValidazione.sql create mode 100644 sql/storedCollaudo/C6Mart_rp_aggiornaDataValidazione_20160405.sql create mode 100644 sql/storedCollaudo/C6Mart_sp_getDatiReport.sql create mode 100644 sql/storedCollaudo/C6Mart_temp_RP_DM_GestioneEmail.sql create mode 100644 sql/storedCollaudo/C6Mart_zzzPL_D2_S150Anagrafica.sql create mode 100644 sql/storedCollaudo/C6Mart_zzzPL_D2_S168TabellaEmittenti.sql create mode 100644 sql/storedCollaudo/C6Mart_zzzPL_D_S157ConfrontoPiramidi.sql create mode 100644 sql/storedCollaudo/C6Mart_zzzPL_D_S170RischioDiversificazione.sql create mode 100644 sql/storedCollaudo/C6Mart_zzzQUALITY_CARATTERIVCONTRATTI.sql create mode 100644 sql/storedCollaudo/C6Mart_zzzRP_DM_GestioneEmailNA.sql create mode 100644 sql/storedCollaudo/C6Mart_zzzSRV_CHECK_C6_GIORNALIERO_AND.sql create mode 100644 sql/storedCollaudo/C6Mart_zzzzPL_D_S157ConfrontoPiramidi.sql create mode 100644 sql/storedCollaudo/C6Mart_zzzzRP_SRV_CHECK_C6_GIORNALIERO.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_Popola_APPO_CONTRATTI.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_CREA_POSITIONID_CONSULENZA.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_AnAlberatura.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_AnEmittente.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_AssetClass.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_BonificaClientiDoppi.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_CONSULENZA.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_CREA_POSITIONID.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_CatalogoProdotti.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_ChiaviMonitoraggio.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_DettAltriProdotti.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_DettImmobiliare.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_DettPatrAziendale.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_DettProdottiTerzi.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_DettaglioPosizionePortafoglio.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_InfoCliente.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Mappatura.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_MappaturaPT.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Pianificazione.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Posizioni.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Progetto.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_NeedArea.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_PROGETTICLIENTE.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_PatrimonioTerzi.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Pianificazione.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_PosizioniPortafoglio.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_ProgettiPiramideModello.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Progetto.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_AGGIORNA_DATAFINEVALIDITAPROFILO.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_AGGIORNA_TANAB_CTV.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_AGGIORNA_WSEIAN_FLAGPERPROF.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_AggiornaContrattiPretrimestrale.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_CheckDisallineati.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_ClienteProdottiAssicurativiVita.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_ClienteProdottiAssicurativiVita_Totali.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_ClienteProdottiFAI.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_ClienteProdottiFAI_Totali.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_CopiaTabelleDiReplica.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_CopiaTabelleDiReplica_20190129.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_EstrazioneProfiliInScadenza.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale_anag_pb.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_Popola_Prodotti_Fuori_Adeguatezza.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_QD_VAR_RISK_WEEK2.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_TANAB.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_TCPTAB.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_TRENAB.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_TSCABP.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_W6APAG.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_W6APUT.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_W6CLIESG.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_W6CLIREP_B.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WANVIPS.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIAD2.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIAN2.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIBO.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEICAP.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEICC.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEICE2.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEICS.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIDC.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIFP.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIGP.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEILP.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIMM_POS_SQL.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIMM_SQL_POS.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIPR.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIPS.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIPV.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIRP.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIRPF.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEISC.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIUL.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_AGGIORNA_SPB_PROF_RISCHIO.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20161213.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20171204_preRFMP.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20190725.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_20161221.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_20180720.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_new.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_POPOLAMENTO_WSMOV_CONTRATTO_SCARICO.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_20180710.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_preAladdin.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI.20171120_New_en.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20160902.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20161205.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20171120.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_BKP20141204.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_LUCA.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_OLD.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_TEMP.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_AnAlberatura.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_AnAlberatura_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_AnEmittente.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_AnEmittente_originale.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_AnEmittente_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Area.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Area_20170118.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Area_20170320.OBS.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Area_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_AssetClass.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_AssetClass_20161221.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_AssetClass_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_BonificaClientiDoppi.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CATINAREA.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CATINAREA_20161222.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CATINAREA_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CONSULENZA.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CONSULENZA_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALE.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALEFINETRIMESTRE.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20161213.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20171204_preRFMP.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20190725.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID_BK_eligoTitoli.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatDivPtf.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20160505.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20160506_LM.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170120.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170616_Vis1.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170720.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170925.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20171026.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20180117.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_ChiaviMonitoraggio.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_ChiaviMonitoraggio_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cliente.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_ClientePB.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_ClientePB_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cliente_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cono.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cono_20170118.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cono_20170320_OBS.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cono_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettAltriProdotti.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettAltriProdotti_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettImmobiliare.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettImmobiliare_20190205_ProQuota.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettImmobiliare_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettPatrAziendale.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettPatrAziendale_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettProdottiTerzi.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettProdottiTerzi_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettaglioOperazione.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettaglioOperazione_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettaglioPosizionePortafoglio.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettaglioPosizionePortafoglio_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_DistribuzionePtfModello_Tattici_AssetClass.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_DistribuzionePtfModello_Tattici_MacroAssetClass.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_GradoParentela.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_GradoParentela_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_InfoCliente.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_InfoCliente_20160428.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_InfoCliente_20170915.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_InfoCliente_20171031.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_InfoCliente_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Mappatura.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_MappaturaPT.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_MappaturaPT_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Mappatura_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Area.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Area_20170118.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Area_20170320_OBS.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Area_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Pianificazione.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Pianificazione_OLD.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Pianificazione_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Posizioni.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Posizioni_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Progetto.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Progetto_20170113.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Progetto_20170118.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Progetto_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_MonitoraggioStorico.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_MonitoraggioStorico_20181214_PreMioFoglio.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_MonitoraggioStorico_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_NeedArea.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_NeedArea_20161222.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_NeedArea_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_NobPrez.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_PROGETTICLIENTE.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_TEST_FC.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Parentela.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Parentela_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_PatrimonioTerzi.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_PatrimonioTerzi_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Pianificazione.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Pianificazione_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_PosizioniPortafoglio.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_PosizioniPortafoglio_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_PosizioniProposta.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_PosizioniProposta_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_ProgettiPiramideModello.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_20170118.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_20171106.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto.new.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20170113.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20170116.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20170117.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20170117_2.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20170419.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20171106.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_Robo.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_PromotoreBancario.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_PromotoreBancario_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Proposta.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_Proposta_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_20160506_Pk.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_REP_ASSET_1_E_2_ORDINATE_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6_20190111_preMioFoglio.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI2.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20161213.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20170407.SAVE.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20171204_preRFMP.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190725.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_TB_ESG_ANAG_STRUM.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_anagrafica_promotori.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_anagrafica_promotori_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_ST_vNewPositionProposta.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_APPO_CONTRATTI.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_COMPLESSITA.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_20161213.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_W6LogBatch.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_clientiConMigrazione.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_RP_clientiConMigrazione_20170413_RM_nomeDB.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_Recupero_Trimestrale_Scarti.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_SRV_CREA_QUERY_STORICO.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_SRV_STORICIZZAZIONE.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_SRV_STORICIZZAZIONE_OLD.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_SRV_STORICIZZAZIONE_preAladdin.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_SRV_TABELLE_IN_STAGING.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_SRV_TABELLE_IN_STAGING_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_ST_CREA_POSITIONID.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_ST_CREA_POSITIONID_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS_EMAIL.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_ST_SPB_CONTR_SINTESI.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_asu2.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_ST_SVUOTASIMPB.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_ST_SVUOTASIMPB_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_UPDATE_CATITEMREF.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_UPDATE_CATITEMREF_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_UPDATE_COMPLESSITA.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_UPDATE_COMPLESSITA_pre_selective.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_UTIL_popolaPromotoriDaGiornaliero.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_agg_codana_tabellone.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_agg_lotto_tabellone.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_agg_wh_tabellone.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_agg_wseian2_tabellone.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_get_testo_sezione_adeg_PG_Compl_Conc_CDTTRIM.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_immobiliare_tabellone.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_sp_quadratura.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.obs.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.rigen.20170620.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620_consegnato.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_trim.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.1.0.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.2.0.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.3.0.sql create mode 100644 sql/storedCollaudo/C6StagingPeriodico_zzzRP_CREA_POSITIONID_CONSULENZA.sql create mode 100644 sql/storedCollaudo/C6Staging_CREA_FIRMA_PROMOTORE.sql create mode 100644 sql/storedCollaudo/C6Staging_CheckScartiMIFID.sql create mode 100644 sql/storedCollaudo/C6Staging_DecodificaIndicatoriAdeguatezza.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_AGGIORNA_SPB_PROF_RISCHIO.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_CREA_POSITIONID.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_CREA_POSITIONID_2011113.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_CREA_POSITIONID_CONSULENZA.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20161223.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20171113_orig.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_AnAlberatura.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_AnEmittente.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_AssetClass.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_CatalogoProdotti.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_Cliente.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_ClientePB.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_Cliente_20170614.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_DettAltriProdotti.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_DettImmobiliare.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_DettImmobiliare_20190107_ProQuota.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_DettPatrAziendale.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_DettProdottiTerzi.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_DettaglioOperazione.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_DettaglioPosizionePortafoglio.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_GradoParentela.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_Mappatura.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_MappaturaPT.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_Migraz_Pianificazione.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_Migraz_Posizioni.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_Migraz_Progetto.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_NobPrez.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_Parentela.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_PatrimonioTerzi.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_Pianificazione.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_Pianificazione_20161128_ORI.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_PosizioniPortafoglio.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_PosizioniProposta.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_ProgettiPiramideModello.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_Progetto.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_Progetto_Robo.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_PromotoreBancario.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_Proposta.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_TB_ESG_ANAG_STRUM.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_anagrafica_promotori.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_ST_vNewPositionProposta.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_W6LogBatch.sql create mode 100644 sql/storedCollaudo/C6Staging_RP_clientiConMigrazione.sql create mode 100644 sql/storedCollaudo/C6Staging_SRV_STORICIZZAZIONE.sql create mode 100644 sql/storedCollaudo/C6Staging_SRV_STORICIZZAZIONE_OLD.sql create mode 100644 sql/storedCollaudo/C6Staging_SRV_SVUOTASTAGING.sql create mode 100644 sql/storedCollaudo/C6Staging_SRV_TABELLE_IN_STAGING.sql create mode 100644 sql/storedCollaudo/C6Staging_ST_INSERT_SCARTI_SIMPB.sql create mode 100644 sql/storedCollaudo/C6Staging_ST_SELECT_FOR_ADS4WS.sql create mode 100644 sql/storedCollaudo/C6Staging_inserisci_promotori_fittizi.sql create mode 100644 sql/storedCollaudo/dbo_AMB_Cerca.sql create mode 100644 sql/storedCollaudo/dbo_Aggiorna_Trimestrale_SEI_Processi.sql create mode 100644 sql/storedCollaudo/dbo_CERCA.sql create mode 100644 sql/storedCollaudo/dbo_CHECK_INSERT_PRODOTTI_NON_A_CATALOGO.sql create mode 100644 sql/storedCollaudo/dbo_CLR_CHECK_CTV_OF_CurrentAccount_PER_CLIENT.sql create mode 100644 sql/storedCollaudo/dbo_CLR_CHECK_CTV_PER_NEEDAREA_PER_CLIENT.sql create mode 100644 sql/storedCollaudo/dbo_CONTROLLO_COMPLESSITA.sql create mode 100644 sql/storedCollaudo/dbo_CREA_CAMPIONE.sql create mode 100644 sql/storedCollaudo/dbo_CREA_CAMPIONE_20160119.sql create mode 100644 sql/storedCollaudo/dbo_CREA_CAMPIONE_20160318.sql create mode 100644 sql/storedCollaudo/dbo_CREA_CAMPIONE_20160414.sql create mode 100644 sql/storedCollaudo/dbo_CREA_CAMPIONE_20161216.sql create mode 100644 sql/storedCollaudo/dbo_CREA_CAMPIONE_20170114.sql create mode 100644 sql/storedCollaudo/dbo_CREA_CAMPIONE_20170321.sql create mode 100644 sql/storedCollaudo/dbo_CREA_CAMPIONE_20180115_preJoinNewTab.sql create mode 100644 sql/storedCollaudo/dbo_CREA_CAMPIONE_20180711.sql create mode 100644 sql/storedCollaudo/dbo_CREA_CAMPIONE_20180921.sql create mode 100644 sql/storedCollaudo/dbo_CREA_CAMPIONE_TEST.sql create mode 100644 sql/storedCollaudo/dbo_Controlli_Mattina_PdC.sql create mode 100644 sql/storedCollaudo/dbo_CopyObjectFromSchema.sql create mode 100644 sql/storedCollaudo/dbo_CreaTabellaBackUp.sql create mode 100644 sql/storedCollaudo/dbo_DropObject.sql create mode 100644 sql/storedCollaudo/dbo_ElencoClientiImmobiliareDaStampare.sql create mode 100644 sql/storedCollaudo/dbo_GetAllTableSize.sql create mode 100644 sql/storedCollaudo/dbo_GetLogs.sql create mode 100644 sql/storedCollaudo/dbo_GetPDFTemplateConfiguration.sql create mode 100644 sql/storedCollaudo/dbo_GetPDFTemplateConfiguration_Rosaspina.sql create mode 100644 sql/storedCollaudo/dbo_GetStatistics.sql create mode 100644 sql/storedCollaudo/dbo_GetStatistics_Prepare.sql create mode 100644 sql/storedCollaudo/dbo_GetTextTemplateConfiguration.sql create mode 100644 sql/storedCollaudo/dbo_GetVariableValue.sql create mode 100644 sql/storedCollaudo/dbo_HexToRGB.sql create mode 100644 sql/storedCollaudo/dbo_InsertStartIntoLogFromDtsx.sql create mode 100644 sql/storedCollaudo/dbo_InsertStartIntoLogFromDtsxImmobiliare.sql create mode 100644 sql/storedCollaudo/dbo_InsertStopIntoLogFromDtsx.sql create mode 100644 sql/storedCollaudo/dbo_InsertStopIntoLogFromDtsxImmobiliare.sql create mode 100644 sql/storedCollaudo/dbo_JOB_Controlli_View.sql create mode 100644 sql/storedCollaudo/dbo_ListaCampione.sql create mode 100644 sql/storedCollaudo/dbo_ListaCampioneDettaglioMovimenti.sql create mode 100644 sql/storedCollaudo/dbo_ListaCampioneDettaglioMovimenti_Parziale.sql create mode 100644 sql/storedCollaudo/dbo_LogFTP.sql create mode 100644 sql/storedCollaudo/dbo_PreGenerationElabCounter.sql create mode 100644 sql/storedCollaudo/dbo_PreGenerationStatoCounter.sql create mode 100644 sql/storedCollaudo/dbo_RP_Popola_PiramideModello.sql create mode 100644 sql/storedCollaudo/dbo_SO_getNewSubscriptions.sql create mode 100644 sql/storedCollaudo/dbo_SRV_CONTROLLA_FASE1.sql create mode 100644 sql/storedCollaudo/dbo_SRV_ESTRAZIONE_ULTIMO_INVIO_REPORT.sql create mode 100644 sql/storedCollaudo/dbo_SRV_ReportDaCancellare.sql create mode 100644 sql/storedCollaudo/dbo_SRV_SELECT_PROFILI_SCADUTI.sql create mode 100644 sql/storedCollaudo/dbo_SRV_insertLogPreCalcoloDatiGenerator.sql create mode 100644 sql/storedCollaudo/dbo_SearchAllTables.sql create mode 100644 sql/storedCollaudo/dbo_SelezioneCampione_Fc.sql create mode 100644 sql/storedCollaudo/dbo_SubscribedCustomer_Compare.sql create mode 100644 sql/storedCollaudo/dbo_TEST_GETNEXTTRIMESTRE.sql create mode 100644 sql/storedCollaudo/dbo_TEST_GETTRIMESTRE2.sql create mode 100644 sql/storedCollaudo/dbo_TEST_MERGED_PROCEDURE.sql create mode 100644 sql/storedCollaudo/dbo_TrimTable.sql create mode 100644 sql/storedCollaudo/dbo_TrimWSEITables.sql create mode 100644 sql/storedCollaudo/dbo_UPDATE_EVASIONE.sql create mode 100644 sql/storedCollaudo/dbo_UTIL_ESTRAI_COMPLEX_MODIFICATA.sql create mode 100644 sql/storedCollaudo/dbo_Utility_Query_Incrocio.sql create mode 100644 sql/storedCollaudo/dbo_creaExcelVerificaCampioneS80.sql create mode 100644 sql/storedCollaudo/dbo_creaExcelVerificaCampioneS80_excel.sql create mode 100644 sql/storedCollaudo/dbo_getListaPdfStorici.sql create mode 100644 sql/storedCollaudo/dbo_inserisciRichiestaStorico.sql create mode 100644 sql/storedCollaudo/dbo_spPDFRecovery.sql create mode 100644 sql/storedCollaudo/dbo_sp_WhoIsActive.sql create mode 100644 sql/storedCollaudo/dbo_sp_alterdiagram.sql create mode 100644 sql/storedCollaudo/dbo_sp_change_codfiscale_SEIReport.sql create mode 100644 sql/storedCollaudo/dbo_sp_creatediagram.sql create mode 100644 sql/storedCollaudo/dbo_sp_dropdiagram.sql create mode 100644 sql/storedCollaudo/dbo_sp_dts_addlogentry.sql create mode 100644 sql/storedCollaudo/dbo_sp_getColors.sql create mode 100644 sql/storedCollaudo/dbo_sp_helpdiagramdefinition.sql create mode 100644 sql/storedCollaudo/dbo_sp_helpdiagrams.sql create mode 100644 sql/storedCollaudo/dbo_sp_renamediagram.sql create mode 100644 sql/storedCollaudo/dbo_sp_upgraddiagrams.sql create mode 100644 sql/storedCollaudo/dbo_srv_change_Professional_Base_CU.sql create mode 100644 sql/storedCollaudo/dbo_srv_change_codfiscale.sql create mode 100644 sql/storedCollaudo/dbo_srv_change_codfiscaleMassiva.sql create mode 100644 sql/storedCollaudo/dbo_srv_change_codfiscaleMassiva_CU.sql create mode 100644 sql/storedCollaudo/dbo_srv_change_codfiscaleMassiva_CU_SEIReport.sql create mode 100644 sql/storedCollaudo/dbo_srv_change_codfiscale_20161114.sql create mode 100644 sql/storedCollaudo/dbo_srv_change_codfiscale_20161114_OLwhenQready.sql create mode 100644 sql/storedCollaudo/dbo_srv_change_codfiscale_CU.sql create mode 100644 sql/storedCollaudo/dbo_srv_change_codfiscale_mod.sql create mode 100644 sql/storedCollaudo/dbo_srv_change_rete_CU.sql create mode 100644 sql/storedCollaudo/dbo_test_S80All_fc.sql create mode 100644 sql/storedCollaudo/dbo_test_compl_testo_sezione_adeg_obsoleta.sql create mode 100644 sql/storedCollaudo/dbo_test_fc.sql create mode 100644 sql/storedCollaudo/dbo_usp_ExportImage.sql create mode 100644 sql/storedCollaudo/dbo_usp_ImportImage.sql create mode 100644 sql/storedCollaudo/dbo_vinfocliente.sql create mode 100644 sql/storedCollaudo/level2martperiodico_DM_PatrimonioBFAggregato.sql create mode 100644 sql/storedCollaudo/level2martperiodico_DM_PatrimonioBFAggregato_pre_selective.sql create mode 100644 sql/storedCollaudo/level2martperiodico_DM_PatrimonioNonRappresentabileAsset.sql create mode 100644 sql/storedCollaudo/level2martperiodico_DM_PatrimonioNonRappresentabileAsset_pre_selective.sql create mode 100644 sql/storedCollaudo/level2martperiodico_DM_PatrimonioTerziAggregato.sql create mode 100644 sql/storedCollaudo/level2martperiodico_DM_PatrimonioTerziAggregato_pre_selective.sql create mode 100644 sql/storedCollaudo/wh_MERGED_PROCEDURE.sql create mode 100644 sql/storedCollaudo/wh_MERGED_PROCEDURE_20160709_byen.sql create mode 100644 sql/storedCollaudo/wh_MERGED_PROCEDURE_20161012.sql create mode 100644 sql/storedCollaudo/wh_MERGED_PROCEDURE_20170615.sql create mode 100644 sql/storedCollaudo/wh_MERGED_PROCEDURE_20180619.sql create mode 100644 sql/storedCollaudo/wh_MERGED_PROCEDURE_20181010.sql create mode 100644 sql/storedCollaudo/wh_MERGED_PROCEDURE_NUOVA.sql create mode 100644 sql/storedCollaudo/wh_MERGED_PROCEDURE_PL_Prodotti_Non_Associati_Area_Inv.sql create mode 100644 sql/storedCollaudo/wh_MERGED_PROCEDURE_S10.sql create mode 100644 sql/storedCollaudo/wh_MERGED_PROCEDURE_S151.sql create mode 100644 sql/storedCollaudo/wh_MERGED_PROCEDURE_S169.sql create mode 100644 sql/storedCollaudo/wh_MERGED_PROCEDURE_S170.sql create mode 100644 sql/storedCollaudo/wh_MERGED_PROCEDURE_S178.sql create mode 100644 sql/storedCollaudo/wh_MERGED_PROCEDURE_S43.sql create mode 100644 sql/storedCollaudo/wh_MERGED_PROCEDURE_S85.sql create mode 100644 sql/storedCollaudo/wh_MERGED_PROCEDURE_SINGLE.sql create mode 100644 sql/storedCollaudo/wh_ProduceMaladetti.sql create mode 100644 sql/storedCollaudo/wh_p_PL_AreeMonitorate.sql create mode 100644 sql/storedCollaudo/wh_p_PL_D2_S151ProfiloDiRischio.sql create mode 100644 sql/storedCollaudo/wh_p_PL_D2_S152Patrimonio.sql create mode 100644 sql/storedCollaudo/wh_p_PL_D2_S153PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/wh_p_PL_D2_S154PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/wh_p_PL_D2_S155PatrimonioImmobiliare.sql create mode 100644 sql/storedCollaudo/wh_p_PL_D2_S156ALtroPatrimonio.sql create mode 100644 sql/storedCollaudo/wh_p_PL_D2_S157ConfrontoPiramidi.sql create mode 100644 sql/storedCollaudo/wh_p_PL_D2_S158PiramideModello.sql create mode 100644 sql/storedCollaudo/wh_p_PL_D2_S159PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/wh_p_PL_D2_S160DettaglioProdottiBF.sql create mode 100644 sql/storedCollaudo/wh_p_PL_D2_S162DettaglioProdotti.sql create mode 100644 sql/storedCollaudo/wh_p_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedCollaudo/wh_p_PL_D2_S164PolizzeAltriIstituti.sql create mode 100644 sql/storedCollaudo/wh_p_PL_D2_S165FondiAltriIstituti.sql create mode 100644 sql/storedCollaudo/wh_p_PL_D2_S167DistribuzioneRischioCredito.sql create mode 100644 sql/storedCollaudo/wh_p_PL_D2_S168TabellaEmittenti.sql create mode 100644 sql/storedCollaudo/wh_p_PL_D2_S169RischiomercatoRischiocredito.sql create mode 100644 sql/storedCollaudo/wh_p_PL_D2_S170RischioDiversificazione.sql create mode 100644 sql/storedCollaudo/wh_p_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedCollaudo/wh_p_PL_D_S170RischioDiversificazione.sql create mode 100644 sql/storedCollaudo/wh_p_PL_D_S178IndicatoriEsitoAdeguatezza.sql create mode 100644 sql/storedCollaudo/wh_p_PL_MP_S133AreeBisognoPrincProd.sql create mode 100644 sql/storedCollaudo/wh_p_PL_MP_S133BISPrincipaliProdotti.sql create mode 100644 sql/storedCollaudo/wh_p_PL_MP_S134BISMonitoraggioLiqInv.sql create mode 100644 sql/storedCollaudo/wh_p_PL_MP_S134MonitoraggioLiquidita.sql create mode 100644 sql/storedCollaudo/wh_p_PL_MP_S135MonitoraggioInvestimento.sql create mode 100644 sql/storedCollaudo/wh_p_PL_MP_S137BISCapitaleProtetto.sql create mode 100644 sql/storedCollaudo/wh_p_PL_MP_S137Bonus.sql create mode 100644 sql/storedCollaudo/wh_p_PL_MP_S140AnalisiRisparmioCharts.sql create mode 100644 sql/storedCollaudo/wh_p_PL_MP_S141AnalisiRisparmioTable.sql create mode 100644 sql/storedCollaudo/wh_p_PL_MP_S146RischioDiversificazione.sql create mode 100644 sql/storedCollaudo/wh_p_PL_Prodotti_Non_Associati_Area_Inv.sql create mode 100644 sql/storedCollaudo/wh_p_PL_S10PatrimonioFinanziario.sql create mode 100644 sql/storedCollaudo/wh_p_PL_S43BISDettaglioProdottiBF.sql create mode 100644 sql/storedCollaudo/wh_p_PL_S43ContoCorrenteBF.sql create mode 100644 sql/storedCollaudo/wh_p_PL_S43DettaglioProdottiBF.sql create mode 100644 sql/storedCollaudo/wh_p_PL_S43LineaSelfBF.sql create mode 100644 sql/storedCollaudo/wh_p_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedCollaudo/wh_p_PL_S80Alternativa.sql create mode 100644 sql/storedCollaudo/wh_p_PL_S82BisDatiSintetici.sql create mode 100644 sql/storedCollaudo/wh_p_PL_S82DatiSintetici.sql create mode 100644 sql/storedCollaudo/wh_p_PL_S85RendimentoPortafoglioCono.sql create mode 100644 sql/storedCollaudo/wh_p_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql create mode 100644 sql/storedCollaudo/wh_p_PL_S96RischiomercatoRischiocredito.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_Blacklist_Blocco_Tabellone.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_ANAG_SELF.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_ANAG_SELF_20181214_PreMioFoglio.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_CODIFICA_CREDITRISK.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_CODIFICA_RISCHIO.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_MIFID.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_PARTITE_VIAGGIANTI.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_RISCHIO_AGGREGATO.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_Delete_Immobiliare_GestionePDF.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE_BKP28052023.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE_CONSUNI.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_GetDatiPerIDX.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_Insert_ExcludedList.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestionePDF.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestioneZIP.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_MERGED_PROCEDURE.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_D2_S170RischioDiversificazione.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_D_S152Patrimonio.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_D_S154PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_GetClientNegativeCurrentAccountsValue.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_GetClientSelfNegCurrentAccountValue.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_MP_S133AreeBisognoPrincProd.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_MP_S140AnalisiRisparmioCharts.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_Popola_S133_S157DatiPiramide.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ANAG_CLIENTI.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI_TERZI.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_AREA_BISOGNO.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS_TERZI.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC_TERZI.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_CONTRATTOSEI.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_DETTAGLIO_ASUL.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_ALTRO.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_BF.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_TERZI.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PIRAMIDE_MOD.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2_Indicatore.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_SP_PopolaW6IMM.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_SP_Valorizza_Stati_semaforo_IMM.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_UpdateDateReport_Immobiliare_GestionePDF.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_Update_Immobiliare_GestioneZIP.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_getRichiesteMonitoraggioCatastoCliente.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_insertRichiesteMonitoraggioCatastoCliente.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_sp_caricaBlacklist.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_start_email_Testi_Statici_tabellone.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_start_email_Zipping_tabellone.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_updateRichiesteMonitoraggioCatastoClienteCong.sql create mode 100644 sql/storedProduzione/C6MartPeriodicoImmobiliare_updateRichiesteMonitoraggioCatastoClienteProd.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_AGGIORNA_NUMERO_PAGINE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_AL_AggiornaPortafoglioCliente.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_AL_AggiornaPortafoglioCliente_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_AggiornaFlagRolContrattoSei.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_AggiornamentoDisponibilitaReport.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_AppRendTabReader.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_AppRendTabReader_bl.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_BONIFICA_WSEIUL.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_BONIFICA_WSEIUL_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Blacklist_Blocco_Tabellone.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Blocco_Blacklist_AppRendicontazione.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_BonificaDataQuality.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CHECK_AGGIORNA_ERRORI_GENERAZIONE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CHECK_CTV_PER_NEEDAREA_PER_CLIENT.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CHECK_GET_CTV_ISSUES.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CHECK_GET_CTV_ISSUES_PER_AREA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CHECK_GET_CUSTOMERS_FOR_CHECK.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CHECK_GET_NeedAreas.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CHECK_GET_Perc_ISSUES.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CHECK_GET_S10_Negative_BankAccount.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET_ALL.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CHECK_GET_VAR_ISSUES.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CHECK_INSERT_CTV_PER_AREA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CHECK_INSERT_CTV_PER_SECTION.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CHECK_INSERT_S10_PERC.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CHECK_INSERT_VAR_PER_SECTION.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CHECK_PROFILO_SCADUTO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CHECK_PROFILO_SCADUTO_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CHECK_RFA_ZERO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CHECK_RFA_ZERO_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CREA_FIRMA_PROMOTORE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CRUSCOTTOTRIMESTRALE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CRUSCOTTOTRIMESTRALEMAU.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE_test.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Caricamento_TBGEN.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CercaCaratteriAnomali.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CercaCaratteriAnomali_20150205.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_CheckQuadraturaRfa0Mifid.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Controlla_Stato_Stampa_Cruscotto.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ALL_PATRIMONIO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ANAG_CC.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ANAG_CC_TERZI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ANAG_CC_TERZI_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ANAG_CC_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ANAG_CLIENTI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ANAG_CLIENTI_PREV.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ANAG_CLIENTI_PREV_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ANAG_CLIENTI_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ANAG_PROMOTORI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ANAG_PROMOTORI_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ANAG_SELF.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ANAG_SELF_20181214_PreMioFoglio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ANAG_SELF_BK_eligoTitoli.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ANAG_SELF_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_AREA_BISOGNO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_AREA_BISOGNO_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ASSETCLASS.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ASSETCLASS_TERZI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ASSETCLASS_TERZI_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ASSETCLASS_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ASSET_PERC.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ASSET_PERC_TERZI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ASSET_PERC_TERZI_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ASSET_PERC_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_BONUS.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_BONUS_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_CAPPROT.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_CAPPROT_20171129.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_CAPPROT_BKP.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_CAPPROT_FVI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_CAPPROT_FVI_20180424.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_CAPPROT_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_CLIENTI_CON_RNA_ALTO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_CODIFICA_CREDITRISK.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_CODIFICA_CREDITRISK_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_CODIFICA_RISCHIO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_CODIFICA_RISCHIO_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_COMPLESSITA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_COMPLESSITA_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_CONGELAMENTO_SEI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_CONGELAMENTO_SEI_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_CONO_PIANIFICAZIONE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_CONO_PIANIFICAZIONE_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_CONTRATTOSEI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_CONTROLLO_TRIMESTRALE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_DATI_REPORT.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_DATI_REPORT_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_DETTAGLIO_ASUL.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_DETTAGLIO_ASUL_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_DettaglioMovimenti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_DettaglioMovimenti_20160913.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_DettaglioMovimenti_old.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_DettaglioMovimenti_old2.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_DettaglioMovimenti_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_ELABORAZIONI_EMAIL_RNA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_EMAIL_PB.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_EMAIL_PB_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_FOI80.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_FOI80_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_DEFINITIVI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_GENERATI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_GESTIONE_EMAIL_RNA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_MAIL_PROFILI_RISCHIO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_MIFID.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_MIFID_BKP_20231114_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_MIFID_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_REPORT.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_REPORT_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_STORICO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_STORICO_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_PARTITE_VIAGGIANTI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_PARTITE_VIAGGIANTI_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_ALTRO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_ALTRO_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_BF.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_BF_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_TERZI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_TERZI_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_PIRAMIDE_MOD.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_PIRAMIDE_MOD_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_PIRAMIDE_VERT.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre_old.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_PROVENTI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_PROVENTI_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_RISCHIOEMITTENTI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_20180627_preNewInd.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_OLD2.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_old.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_preAladdin.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective_preAladdin.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_SCADENZE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_SCADENZE_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_SCADENZE_pre_selective_luca.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_STORICO_CAPPROT_FVI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_TEST_QUALITY.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DM_dettaglio_MOV.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Decodifica_Concentrazione_Prodotti_Complessi.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DeleteGruppo_ExcludedList.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_DistinctGruppo_ExcludedList.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Estrazione_Campione.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Estrazione_Campione_Cruscotto.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GC_CONVALIDAREPORTSELECT.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GC_DELETE_CONVALIDA_ANNULLA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GC_INSERT_VERIFICHE_CAMPIONE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GC_REPORTDACANCELLARESELECT.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GC_VerificheCampioneSelect.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_C6_S_Generator.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_C6_S_Generator_OLD.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_CUSTOMER_ERROR.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP_20170328.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONI_EMAIL_RNA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_EMAIL_DA_INVIARE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_04082015.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_GET_ID.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_ZIP.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_ZIP_IDX_NOINSERT.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_PDF_REVERT_FISCAL_CODE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SCARTI_CRUSCOTTO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_ELABORAZIONI_EMAIL_RNA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_20160913.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_bk.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170413_b4_NewZipFtpProcess.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170712_b4_OrderedByCAP.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180214_bonifica.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180308_PreIDX2.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180420.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20240225.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180308_PreIDX2.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180420.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_prova_20141223.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_WHITELIST.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_HOST.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_LAST_ELAB_ZIP.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_LAST_ZIP.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_NUM_MAX_ELABORAZIONI_EMAIL_RNA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_FA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_Francesco.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_GB.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FORCE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FOR_STATISTICS.obs.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Francesco.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_PK.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Pino.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_NonOptimized.obs.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_ONDEMAND_OPT_EN.obs.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_SEI_GB.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_luca.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano_PROVAPROF.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_EN.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_01.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_02.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_03.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_04.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_05.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_06.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_07.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_08.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_09.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_1.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_10.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_11.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_12.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_13.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_14.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_15.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_16.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_17.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_18.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_19.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_2.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_20.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_21.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_22.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_23.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_24.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_25.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_DA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_CAMPIONE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE_test.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_20190206_preMioFoglio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_POST_RAFFORZAMENTO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_mariano.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE_FINAL.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_PARZIALE_FASE2_CU.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_SPECIFIC_ZIP.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_ZIP_DA_INVIARE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_ZIP_WHITELIST.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_S_Intermediari.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP_20170328.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_HOST.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_INVIATE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_FTP.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_ZIP.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_ZIP_COPY.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_ZIP_SENT_FTP.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_DA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_DA_GB.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_GB.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_SEI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_SEI_GB.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Genera_Cruscotto_ContrattoSei.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Genera_Cruscotto_ContrattoSei_20170407.SAVE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Gestione_Bonus.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Gestione_ProdottiProtetti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Gestione_ProdottiProtetti_20171215.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GetFilesForSendingByFTP.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GetQueryContratti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_GetRiskArea.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_INSERISCI_FASE2_PER_CAMBIO_RETE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Inizializzazione_tabellone.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Inserimento_TrimestraleScarti_ExcludedList.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Inserimento_TrimestraleScarti_SegnalazioneDataQuality.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Monitoraggio_Giornaliero.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Motivo_ExcludedList.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_20180604_PreMifid2.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_20180927_PreOttimizzazione.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_20181214_PreMioFoglio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_85.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_BK_eligoTitoli.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_PRESBAGLIATA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_SIMULAZIONE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_bck201204.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_bkup_20120101.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_preFD.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_FD152Patrimonio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_FD160DettaglioProdottiBF.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_FD170RischioDiversificazione.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S150Anagrafica.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S150Anagrafica_BkUpParall.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S151ProfiloDiRischio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S152Patrimonio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S152Patrimonio_20190225__ori.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S152Patrimonio_20190225_preProquota.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S153PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S154PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190225_preProquota.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190502_ProQuota.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S156ALtroPatrimonio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BkUpParall.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_testFc.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S158PiramideModello.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S159PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_20151222.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S162DettaglioProdotti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S164PolizzeAltriIstituti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S165FondiAltriIstituti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S166ContoCorrenteAI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito_PatrimonioNonRapp.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S168TabellaEmittenti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S168TabellaEmittenti_BK_20151222.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito_20180716.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S170RischioDiversificazione.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S170RischioDiversificazione_NoLight.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D3_S151ProfiloDiRischio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza_preMUA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S150Anagrafica.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S151ProfiloDiRischio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S152Patrimonio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S153PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S154PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S155PatrimonioImmobiliare.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S156ALtroPatrimonio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S157ConfrontoPiramidi.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S158PiramideModello.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S159PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S160DettaglioProdottiBF.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S162DettaglioProdotti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S163PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S164PolizzeAltriIstituti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S165FondiAltriIstituti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S166ContoCorrenteAI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S167DistribuzioneRischioCredito.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S168TabellaEmittenti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S169RischiomercatoRischiocredito.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S170RischioDiversificazione.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza_20180706_PreCRNapolitano.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S178CasiParticolari.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S178CasiParticolari_20181220.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S178CasiParticolari_BKP_20231114_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S178CasiParticolari_old.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S178CasiParticolari_report_ridotto.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza_preMUA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S179EmittentiConcentrazioneAlta.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta_20180715.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta_mini.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_FD10PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_FD181PreferenzeESG.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_FD181PreferenzeESG_BKP_20250305_PreESG2024.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_FD182BISDettaglioProdottiESG.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_FD182DettaglioProdottiESG.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_FD185UCaratteristicheESG.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_FD187SfdrTaxESG.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_FD188PaiESG.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_FD190BisPatrimonioFinanziario_Modello.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_FD190PatrimonioFinanziario_PTFRibilanciato.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_FD200BisDistribuzioneAssetClass_Modello.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_FD25Anagrafica.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_FD43BISDettaglioProdottiBF.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_FD43DettaglioProdottiBF.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_GetClientNegativeCurrentAccountsValue.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_GetClientNegativeGPEligo.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_GetClientSelfNegCurrentAccountValue.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_GetClientSelfNegative.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_Intermediari.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_FD133BISPrincipaliProdotti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_FD134BISMonitoraggioLiqInv.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_FD134MonitoraggioLiquidita.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_FD147SintesiValute.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_FD148DistribuzioneAssetClass.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_FD200DistribuzioneAssetClass_PTFRibilanciato.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza_BKP_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S129Patrimonio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S129Patrimonio_BkUpParall.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S129Patrimonio_bkp_fc.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S130PrincipaliPosizioni.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S131ContributoARischio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza_BkUpParall.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BK_eligoTitoli.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BkUpParall.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S133BISPrincipaliProdotti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S134BISMonitoraggioLiqInv.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S134MonitoraggioLiquidita.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S135MonitoraggioInvestimento.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S137BISCapitaleProtetto.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S137BIS_FOI80.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S137Bonus.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S138Proventi.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S139Scadenze.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_20190123_PreLIGHT.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_NoLight.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable_test.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S142DistibuzionePerRating.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S142DistibuzionePerRating_20240803.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S143DistibuzionePerEmittente.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S143DistibuzionePerEmittente_20240803.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S144DistibuzionePerScadenze.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S145DistibuzionePerTassoRendimento.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S145DistibuzionePerTassoRendimento_20240803.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S146RischioDiversificazione.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S147SintesiValute.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass_BkUpParall.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S149DettaglioProdottiAffluent.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S173.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S173CapitaleProtetto.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S173FOI80.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S174Bonus.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S175BlueProtection.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S175LineaProtettaMultiramo.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S175WhiteProtection.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S176EvoluzioneLineaProtettaMultiramo.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_MP_S44OperazioniUltimoTrimestre.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_Prodotti_Non_Associati_Area_Inv.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S102DistribuzioneRischioCredito.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S102DistribuzioneRischioCredito_OLD.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S103TabellaEmittenti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S103TabellaEmittenti_OLD.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S10PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S10PatrimonioFinanziario_BkUpParall.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S170LimitiMassimi.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S170LimitiMassimi_20180612.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S170LimitiMassimi_20180702.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S170LimitiMassimi_BKP_20231115_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171201_ori.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171215.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171220.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171221.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180119.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180717_PrePre1Pre2.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20190717_preFixArrotondamento.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_pktest.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleLineeProdotti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S181PreferenzeESG.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S181PreferenzeESG_BKP_20231116_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S182BISDettaglioProdottiESG.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S182BISDettaglioProdottiESG_Mon.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S182DettaglioProdottiESG.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S183iCapital.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S184CoerenzaESG.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S184CoerenzaESG_BKP_20231013.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S185UCaratteristicheESG.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S186DettaglioPortafoglioSei.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S187SfdrTaxESG.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S188PaiESG.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S18PatrimonioFinanziarioRischio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S1Patrimonio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S23DettaglioRischio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S25Anagrafica.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S25Anagrafica_BkUpParall.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S26PatrimonioImmobiliare.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S27ALtroPatrimonio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S2PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S31PatrimonioFinanziarioIntermediario.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S32PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S36ProfiloRischio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S37PiramideModello.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S42RischioDiversificazione.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S43BISDettaglioProdottiBF.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20160118.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215_B.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S43ContoCorrenteBF.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S43DettaglioProdottiBF.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161215.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161219.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S43LineaSelfBF.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S47ContoCorrenteBF.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S48DettaglioProdotti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S49PolizzeAltriIstituti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S50FondiAltriIstituti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S51ContoCorrenteAI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S56PatrimonioBFAreeBisogno.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S57ConfrontoPiramidi.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S57ConfrontoPiramidi_OLD.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S6PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S75GradoCopertura.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S75GradoCoperturaCompl.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S75GradoCoperturaInterno.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S75GradoCoperturaTerzi.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S75GradoCopertura_check.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S76PatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_20181214_PreMioFoglio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_BkUpParall.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_DidascalieNote.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_OLD.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_bkp_FC.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_perc.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S80BisEvoluzioneRischio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S80BisEvoluzioneRischio_20170413_RM_DBname.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S80BisEvoluzioneRischio_BkUpParall.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S80EvoluzioneControvalore.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S82BisDatiSintetici.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S82DatiSintetici.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S83DatiRendimento.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S83DatiRendimento_85.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S84ControvaloreRisorseApportate.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S85RendimentoPortafoglioCono.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S86PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S94Rischio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S95ProfiloDiRischio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S95ProfiloDiRischio_20190204_PreMIFID2.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S96BisRischioMercatoRischioCredito.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_S96RischiomercatoRischiocredito.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PL_SavingMap.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_PROVVISORIA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_PROM_TuttiIPortafogli.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_D2_S150Anagrafica.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_FD190PatrimonioFinanziario_PTFRibilanciato.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_FD190PatrimonioFinanziario_PTFRibilanciato_OLD.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_FD200DistribuzioneAssetClass_PTFRibilanciato.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_FD200DistribuzioneAssetClass_PTFRibilanciato_OLD.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S10PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S10PatrimonioFinanziario_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S133_S157DatiPiramide.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161202.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161214.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S133_S157DatiPiramide_20170113_ORIG.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S133_S157DatiPiramide_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S148DistribuzioneAssetClass.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S148DistribuzioneAssetClass_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_20180626.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_BKP_20231115_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S25Anagrafica.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S25Anagrafica_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S80BisEvoluzioneRischio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20170724_preCR_fasi1e2.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20171222.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_BKP_20231116_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20170724_preCR_fasi1e2.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20180108.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20181214_PreMioFoglio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_TB_S180ProdottiComplessitaAlta.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_W6ASSETPERC.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_W6ASSETPERC_20190624.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popola_W6ASSETPERC_20190701.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popolamento_RP_W6CLIREP.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Popolamento_RP_vTuttiIPortafogli_Aladdin_tab.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_ProfiloScaduto_Campione.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RESTART_CONTROLLO_TRIMESTRALE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RFA_SEGNALATI_SP.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RM_Sintesi_Cliente.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_AggiornaFlagContratto.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CC_TERZI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CC_TERZI_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409_AGENTEisNotNull.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL_20190612.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PROMOTORI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PROMOTORI_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_AREA_BISOGNO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_AREA_BISOGNO_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ASSETCLASS.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ASSETCLASS_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ASSET_PERC.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ASSET_PERC_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_BONIFICA_DTRIF0_TSCABP.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_BONIFICA_PATRIMONIO_IMMOBILIARE_ProQuota.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_BrsClienteESG.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_CLIENTI_RISORSE_NA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_COMPLESSITA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_COMPLESSITA_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_CONTRATTOSEI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_CONTRATTOSEI_20170407.SAVE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_CONTRATTOSEI_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_Confronto_IndicatoreRischio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.20170320.OBS.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_20170123.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_TEMP.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_luca.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ESG_ANAG_METRICHE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_GestioneEmail.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_GestioneEmailNA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_GestioneEmailNOPRO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_IndicatoreRischio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_MAIL_PROFILI_RISCHIO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20161220.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20171218_preRFMP.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20181213.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190112.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190314_preMioFoglio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_20181214_PreMioFoglio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170407.SAVE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170421_4b_prometeria_err_fix.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20171019_err.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BKP_20231017.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BK_eligoTitoli.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_DaCancellare.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_FC.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_TEST.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20170427_Patr3.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20180315.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PIRAMIDE_MOD.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20161202.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20170119.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_PIRAMIDE_VERT.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_POPOLACONTRATTI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_QD_VAR_RISK_WEEK2.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_W6CATESG.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_W6CKADEG.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_W6CLIESG.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_W6IndPtf.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_WSEIAN2.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_WSEICAP.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_WSEICC.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_DM_WSEIRPF.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170409_TEST.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410_EXCLCF.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170421_EXCL_CF.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20180615_NewMotorePrometeia.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180711_AZZERARE_CTV_NEGATIVI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180719_preAzzeramentoCCNeg.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018_SingoloCF.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_IN.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_ORIGINALE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_SRV_CHECK_C6_GIORNALIERO.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_ST_ClientiPtfNonDiv.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_TCPTAB.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_Tipologia_Campione.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_Tipologia_Tabellone.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_RP_controlla100_PiramideModello.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_BonificaDati.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_BonificaDati_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_CaratteriAnomali.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_CaratteriAnomali_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_DeleteSegnalazioni.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_DeleteSegnalazioni_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_DescProdottoProventi.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_DescProdottoProventi_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_PiramideAreeDuplicate.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_PiramideAreeDuplicate_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_PositionID.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_PositionIDConsulenza.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_PositionIDConsulenza_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_PositionID_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_PosizioniDuplicate.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_ProgettoDuplicatoArea.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_ScartiAPI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_ScriviDisallineati.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_ScriviDisallineati_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_SelezioneDisallineati.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_SelezioneDisallineati_pre_selective_luca.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_VerificaDisallineati.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_VerificaDisallineati_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_VerificaEmail.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_VerificaEmail_20161010.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_DQ_VerificaEmail_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_Patrimonio_BF_Percentuale_Piramide.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip_20181017.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_TROVA_REPORT_DA_RIGENERARE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_TotaliReportGenerazioneZip.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_Valorizza_Stati_semaforo_TRIM.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SP_statistiche_app_rendicontazione.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_CALCOLA_BILANCIAMENTO_GENERATOR.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_CHECK_INDIRIZZI.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_ESTRAZIONE_FASE_2_PRE_MART.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_LISTA_CLIENTI_FASE2.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_20151009.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_bk_test_20151014.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_QUANTO_MANCA.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20160412.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20161012.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20180711_preExcludedList.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20190116_PreNewFunction.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20230915.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_STORICIZZAZIONE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_STORICIZZAZIONE_OLD.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_TABELLE_IN_MART.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_TABELLE_IN_MART_pre_selective.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_TRUNCATE_RP_STAGING.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SRV_Verifica_DISALLINEAMENTI_MONIT.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Segnala_Disallineamenti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Segnala_Disallineamenti_20190129.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Segnala_ProdottiNonCensiti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Segnala_ProdottiNonCensiti_20190129.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_SetDocumentMissing.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_UPDATE_TABELLE_CAMBIO_RETE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_UpdateStatoReport.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Update_TB_Campione.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Update_TB_Campione_GB.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Util_Test_PL.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_Verifica_esecuzione_API_Trimestrale.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_inserisci_promotori_fittizi.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_rp_aggiornaDataValidazione.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_sp_BlackList_GetAll.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_sp_BlackList_GetBlockedNumber.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_sp_BlackList_Ricerca_GetAll.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_sp_BlackList_Save_Row.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_sp_BlackList_Update_Row.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_sp_GetNumeroZipProdotti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_sp_UpdateIdReportPDF.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_sp_caricaBlacklist.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_sp_caricaBlacklist_RFAMinus_old.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_sp_getDatiReport.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti_Griffin.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_sp_getIDReport.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_srv_excel_zip.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_start_ConvertiExcel_tabellone.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_start_email_Approval_tabellone.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_start_email_Certificazione_tabellone.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_start_email_ConfermaPostalizzazione_tabellone.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_start_email_CongelamentoDB_tabellone.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_start_email_position_tabellone.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_start_esportazione_tabellone.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_temp_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_temp_RP_DM_GestioneEmail.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_temp_RP_DM_PATRIMONIO_BF.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_test_CaricamentoPL_fc.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_zzzPL_S80Alternativa.sql create mode 100644 sql/storedProduzione/C6MartPeriodico_zzzRP_DM_EMAIL_PB.sql create mode 100644 sql/storedProduzione/C6Mart_AL_AggiornaPortafoglioCliente.sql create mode 100644 sql/storedProduzione/C6Mart_CercaCaratteriAnomali.sql create mode 100644 sql/storedProduzione/C6Mart_Controlli_RepGiornaliera.sql create mode 100644 sql/storedProduzione/C6Mart_DM_AGGIORNA_CLIENTE.sql create mode 100644 sql/storedProduzione/C6Mart_DM_ALBERO_PRODOTTI.sql create mode 100644 sql/storedProduzione/C6Mart_DM_ALL_PATRIMONIO.sql create mode 100644 sql/storedProduzione/C6Mart_DM_ANAG_CC.sql create mode 100644 sql/storedProduzione/C6Mart_DM_ANAG_CC_TERZI.sql create mode 100644 sql/storedProduzione/C6Mart_DM_ANAG_CLIENTI.sql create mode 100644 sql/storedProduzione/C6Mart_DM_ANAG_CLIENTI_PREV.sql create mode 100644 sql/storedProduzione/C6Mart_DM_ANAG_CONTRATTI.sql create mode 100644 sql/storedProduzione/C6Mart_DM_ANAG_CONTRATTI_ASS.sql create mode 100644 sql/storedProduzione/C6Mart_DM_ANAG_EMITTENTI.sql create mode 100644 sql/storedProduzione/C6Mart_DM_ANAG_PRODOTTI.sql create mode 100644 sql/storedProduzione/C6Mart_DM_ANAG_PRODOTTI_TERZI.sql create mode 100644 sql/storedProduzione/C6Mart_DM_ANAG_PROMOTORI.sql create mode 100644 sql/storedProduzione/C6Mart_DM_ANAG_SELF.sql create mode 100644 sql/storedProduzione/C6Mart_DM_ANAG_SELF_20181129_PreMioFoglio.sql create mode 100644 sql/storedProduzione/C6Mart_DM_ANAG_SELF_BK_eligoTitoli.sql create mode 100644 sql/storedProduzione/C6Mart_DM_AREA_BISOGNO.sql create mode 100644 sql/storedProduzione/C6Mart_DM_ASSETCLASS.sql create mode 100644 sql/storedProduzione/C6Mart_DM_ASSETCLASS_TERZI.sql create mode 100644 sql/storedProduzione/C6Mart_DM_ASSET_PERC.sql create mode 100644 sql/storedProduzione/C6Mart_DM_ASSET_PERC_TERZI.sql create mode 100644 sql/storedProduzione/C6Mart_DM_CATEGORIE_PRODOTTO.sql create mode 100644 sql/storedProduzione/C6Mart_DM_CLIENTI_NON_MIGRATI.sql create mode 100644 sql/storedProduzione/C6Mart_DM_CODIFICA_CREDITRISK.sql create mode 100644 sql/storedProduzione/C6Mart_DM_CODIFICA_PIRAMIDI.sql create mode 100644 sql/storedProduzione/C6Mart_DM_CODIFICA_RISCHIO.sql create mode 100644 sql/storedProduzione/C6Mart_DM_CREA_POSITIONID.sql create mode 100644 sql/storedProduzione/C6Mart_DM_DATI_REPORT.sql create mode 100644 sql/storedProduzione/C6Mart_DM_DETTAGLIO_ASUL.sql create mode 100644 sql/storedProduzione/C6Mart_DM_EMAIL_PB.sql create mode 100644 sql/storedProduzione/C6Mart_DM_ESITI_CARICAMENTI.sql create mode 100644 sql/storedProduzione/C6Mart_DM_GER_PROMOTORI.sql create mode 100644 sql/storedProduzione/C6Mart_DM_GestioneEmail.sql create mode 100644 sql/storedProduzione/C6Mart_DM_GestioneEmailNA.sql create mode 100644 sql/storedProduzione/C6Mart_DM_GestioneEmailNOPRO.sql create mode 100644 sql/storedProduzione/C6Mart_DM_MIFID.sql create mode 100644 sql/storedProduzione/C6Mart_DM_MIFID_20181004.sql create mode 100644 sql/storedProduzione/C6Mart_DM_PARTITE_VIAGGIANTI.sql create mode 100644 sql/storedProduzione/C6Mart_DM_PATRIMONIO_AGG.sql create mode 100644 sql/storedProduzione/C6Mart_DM_PATRIMONIO_ALTRO.sql create mode 100644 sql/storedProduzione/C6Mart_DM_PATRIMONIO_BF.sql create mode 100644 sql/storedProduzione/C6Mart_DM_PATRIMONIO_BF_old.sql create mode 100644 sql/storedProduzione/C6Mart_DM_PATRIMONIO_EMITTENTI.sql create mode 100644 sql/storedProduzione/C6Mart_DM_PATRIMONIO_IMMOBILIARE.sql create mode 100644 sql/storedProduzione/C6Mart_DM_PATRIMONIO_TERZI.sql create mode 100644 sql/storedProduzione/C6Mart_DM_PIRAMIDE_MOD.sql create mode 100644 sql/storedProduzione/C6Mart_DM_PIRAMIDE_VERT.sql create mode 100644 sql/storedProduzione/C6Mart_DM_PREVIDENZIALE.sql create mode 100644 sql/storedProduzione/C6Mart_DM_PopolaContratti.sql create mode 100644 sql/storedProduzione/C6Mart_DM_PopolaContratti_20161026.sql create mode 100644 sql/storedProduzione/C6Mart_DM_PopolaContratti_old240213.sql create mode 100644 sql/storedProduzione/C6Mart_DM_RISCHIOEMITTENTI.sql create mode 100644 sql/storedProduzione/C6Mart_DM_RISCHIO_AGGREGATO.sql create mode 100644 sql/storedProduzione/C6Mart_DM_RISCHIO_AGGREGATO_20181003.sql create mode 100644 sql/storedProduzione/C6Mart_DM_RISCHIO_AGGREGATO_old.sql create mode 100644 sql/storedProduzione/C6Mart_DM_RISCHIO_AGGREGATO_pre_selective.sql create mode 100644 sql/storedProduzione/C6Mart_DM_RISCHIO_DETTAGLIO.sql create mode 100644 sql/storedProduzione/C6Mart_DM_RISCHIO_DETTAGLIO_pre_selective.sql create mode 100644 sql/storedProduzione/C6Mart_DM_STRUTTURA_RETE.sql create mode 100644 sql/storedProduzione/C6Mart_DM_STRUTTURA_RETE_20160427.sql create mode 100644 sql/storedProduzione/C6Mart_DM_STRUTTURA_RETE_20161024.sql create mode 100644 sql/storedProduzione/C6Mart_DM_TEST_QUALITY.sql create mode 100644 sql/storedProduzione/C6Mart_DM_TEST_QUALITY_20181003.sql create mode 100644 sql/storedProduzione/C6Mart_DM_VAR_ADEGUATEZZA.sql create mode 100644 sql/storedProduzione/C6Mart_Decodifica_Concentrazione_Prodotti_Complessi.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_C6_S_Generator.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_C6_S_Generator_AND.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_C6_S_Generator_EN.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_C6_S_Generator_OLD.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_C6_S_Generator_bkp_20250228_Pre_ESG2024.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_C6_S_QueryDatiComuniSql.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_C6_S_Vincoli.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_CRUSCOTTO_ARCHIVIAZIONE.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_INSERT_PDF_FTP.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_INSERT_PDF_FTP_TEST.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_INSERT_ZIP.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.old.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.test_e.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_20190802.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_CU.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_new.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_FTP_DA_INVIARE.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_FTP_INVIATI.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_FTP_INVIATI_TEST_NEW.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_HOST.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_HOST_GIORNALIERO.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Luca.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.TEMP.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180309_PreServizi.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180928_OLD.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20240412.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_CAMPIONE.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_ESG.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_GB.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_Pino.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_Test2.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_TEST_ANDREA.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_orig.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_SELECT_ZIP_DA_INVIARE.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_S_Intermediari.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_UPDATE_EMAIL_HOST.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_UPDATE_EMAIL_INVIATE.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_UPDATE_FTP.sql create mode 100644 sql/storedProduzione/C6Mart_GESTIONE_UPDATE_ZIP.sql create mode 100644 sql/storedProduzione/C6Mart_GETDATATHREADS_LETTERE.sql create mode 100644 sql/storedProduzione/C6Mart_GETDATATHREADS_LETTERE_GB.sql create mode 100644 sql/storedProduzione/C6Mart_GET_RECUPERO_LETTERE.sql create mode 100644 sql/storedProduzione/C6Mart_GetRiskArea.sql create mode 100644 sql/storedProduzione/C6Mart_InvioLetteraBenvenuto_ExcludedListApply.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_FD150Anagrafica.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_FD159PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_FD160DettaglioProdottiBF.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_FD170RischioDiversificazione.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S150Anagrafica.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S151ProfiloDiRischio.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S152Patrimonio.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S152Patrimonio_20190107_ProQuota.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S152Patrimonio_20190111.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S153PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S154PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S155PatrimonioImmobiliare.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190107_ProQuota.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190111.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S156ALtroPatrimonio.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S157ConfrontoPiramidi.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S158PiramideModello.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S159PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S160DettaglioProdottiBF.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S162DettaglioProdotti.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass_NEW_20160908.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S164PolizzeAltriIstituti.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S165FondiAltriIstituti.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S166ContoCorrenteAI.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S167DistribuzioneRischioCredito.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S168TabellaEmittenti.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S169RischiomercatoRischiocredito.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S170RischioDiversificazione.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D3_FD151ProfiloDiRischio.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D3_S151ProfiloDiRischio.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_FD178IndicatoriEsitoAdeguatezza.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S150Anagrafica.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S151ProfiloDiRischio.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S152Patrimonio.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S153PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S154PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S155PatrimonioImmobiliare.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S156ALtroPatrimonio.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S157ConfrontoPiramidi.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S158PiramideModello.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S159PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S160DettaglioProdottiBF.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S162DettaglioProdotti.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S163PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S164PolizzeAltriIstituti.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S165FondiAltriIstituti.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S166ContoCorrenteAI.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S167DistribuzioneRischioCredito.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S168TabellaEmittenti.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S169RischiomercatoRischiocredito.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S170RischioDiversificazione.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S177ProfiloDiRischio_Adeguatezza.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S178CasiParticolari.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S178CasiParticolari_20181220.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S178IndicatoriEsitoAdeguatezza.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S179EmittentiConcentrazioneAlta.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S180ProdottiComplessitaAlta.sql create mode 100644 sql/storedProduzione/C6Mart_PL_D_S180ProdottiComplessitaAlta_mini.sql create mode 100644 sql/storedProduzione/C6Mart_PL_FD181PreferenzeESG.sql create mode 100644 sql/storedProduzione/C6Mart_PL_FD181PreferenzeESG_bkp_pre_ESG2024.sql create mode 100644 sql/storedProduzione/C6Mart_PL_FD182BISDettaglioProdottiESG.sql create mode 100644 sql/storedProduzione/C6Mart_PL_FD182DettaglioProdottiESG.sql create mode 100644 sql/storedProduzione/C6Mart_PL_FD185UCaratteristicheESG.sql create mode 100644 sql/storedProduzione/C6Mart_PL_FD186DettaglioPortafoglioSei.sql create mode 100644 sql/storedProduzione/C6Mart_PL_FD187SfdrTaxESG.sql create mode 100644 sql/storedProduzione/C6Mart_PL_FD188PaiESG.sql create mode 100644 sql/storedProduzione/C6Mart_PL_GetClientNegativeCurrentAccountsValue.sql create mode 100644 sql/storedProduzione/C6Mart_PL_GetClientSelfNegCurrentAccountValue.sql create mode 100644 sql/storedProduzione/C6Mart_PL_GetClientSelfNegative.sql create mode 100644 sql/storedProduzione/C6Mart_PL_Intermediari.sql create mode 100644 sql/storedProduzione/C6Mart_PL_MP_FD133BISPrincipaliProdotti.sql create mode 100644 sql/storedProduzione/C6Mart_PL_MP_FD147SintesiValute.sql create mode 100644 sql/storedProduzione/C6Mart_PL_MP_FD148DistribuzioneAssetClass.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S102DistribuzioneRischioCredito.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S102DistribuzioneRischioCredito_OLD.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S102DistribuzioneRischioCredito_OLD2.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S103TabellaEmittenti.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S10PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S170LimitiMassimi.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S181PreferenzeESG.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S182BISDettaglioProdottiESG.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S182DettaglioProdottiESG.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S183iCapital.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S184CoerenzaESG.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S185UCaratteristicheESG.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S186DettaglioPortafoglioSei.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S187SfdrTaxESG.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S188PaiESG.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S18PatrimonioFinanziarioRischio.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S1Patrimonio.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S23DettaglioRischio.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S25Anagrafica.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S26PatrimonioImmobiliare.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S27ALtroPatrimonio.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S2PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S31PatrimonioFinanziarioIntermediario.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S32PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S36ProfiloRischio.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S37PiramideModello.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S42RischioDiversificazione.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S43ContoCorrenteBF.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S43DettaglioProdottiBF.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S43LineaSelfBF.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S47ContoCorrenteBF.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S48DettaglioProdotti.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S49PolizzeAltriIstituti.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S50FondiAltriIstituti.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S51ContoCorrenteAI.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S56PatrimonioBFAreeBisogno.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S57ConfrontoPiramidi.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S6PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S75GradoCopertura.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S76PatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S95ProfiloDiRischio.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S96RischiomercatoRischiocredito.sql create mode 100644 sql/storedProduzione/C6Mart_PL_S96RischiomercatoRischiocredito_old.sql create mode 100644 sql/storedProduzione/C6Mart_PL_SavingMap.sql create mode 100644 sql/storedProduzione/C6Mart_PROM_TuttiIPortafogli.sql create mode 100644 sql/storedProduzione/C6Mart_PROM_TuttiIPortafogli_old.sql create mode 100644 sql/storedProduzione/C6Mart_Popola_S133_S157DatiPiramide.sql create mode 100644 sql/storedProduzione/C6Mart_Popola_S148DistribuzioneAssetClass.sql create mode 100644 sql/storedProduzione/C6Mart_Popolamento_RP_W6DAILY.sql create mode 100644 sql/storedProduzione/C6Mart_PreCheckIDX.sql create mode 100644 sql/storedProduzione/C6Mart_RM_Sintesi_Cliente.sql create mode 100644 sql/storedProduzione/C6Mart_RP_AggiornaFlagContratto.sql create mode 100644 sql/storedProduzione/C6Mart_RP_AggiornaFlagContratto_20161026.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_ANAG_CC.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_ANAG_CC_20170421.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_ANAG_CC_TERZI.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_ANAG_CLIENTI.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_ANAG_PRODOTTI.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_ANAG_PRODOTTI_TERZI.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_ANAG_PRODOTTI_VALUTE.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_ANAG_PROMOTORI.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_ASSETCLASS.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_ASSETCLASS_TERZI.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_ASSET_PERC.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_ASSET_PERC_TERZI.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_Benvenuto_Scarti.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_BrsClienteESG.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_CHECK_RFA_MINUS.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_CHECK_RFA_MINUS_20240412.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_CHECK_RFA_MINUS_preRafforzamento.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_CheckEmail.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_Check_GestioneEmailNOPRO.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_DETTAGLIO_ASUL.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_EMAIL_PB.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_ESG_ANAG_METRICHE.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_GestioneEmail.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_GestioneEmailNA.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_GestioneEmailNA_20181003.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_GestioneEmailNA_Fc.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_GestioneEmailNOPRO.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_GestioneEmailSessione.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_GestioneEmail_20161028.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_ALTRO.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_ALTRO_20150825.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_ALTRO_20160615.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_BF.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_BF_20180201.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_20190107_ProQuota.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_TERZI.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_TERZI_20180219.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_TERZI_Param.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_TERZI_luca.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_PIRAMIDE_MOD.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_2011026.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20160315.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_201700302_ripristino_del_20170127.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170127.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170322.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170524.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170607_mifid.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170613.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170727_VarAdeguatezza.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20171113.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20171205.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20171222.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20180102.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20180103.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20180104.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20181003.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20181127.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_W6CLIESG.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_W6CatESG.sql create mode 100644 sql/storedProduzione/C6Mart_RP_DM_WSEICAP.sql create mode 100644 sql/storedProduzione/C6Mart_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql create mode 100644 sql/storedProduzione/C6Mart_RP_PROM_TuttiIPortafogli.sql create mode 100644 sql/storedProduzione/C6Mart_RP_PROM_TuttiIPortafogli2_Indicatore.sql create mode 100644 sql/storedProduzione/C6Mart_RP_PROM_TuttiIPortafogli_20180612_NewMotorePrometeia.sql create mode 100644 sql/storedProduzione/C6Mart_RP_PROM_TuttiIPortafogli_20180612_PreMotorePrometeia.sql create mode 100644 sql/storedProduzione/C6Mart_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql create mode 100644 sql/storedProduzione/C6Mart_RP_Selettore_GetDataThreads.sql create mode 100644 sql/storedProduzione/C6Mart_SRV_CHECK_C6_GIORNALIERO.sql create mode 100644 sql/storedProduzione/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026.sql create mode 100644 sql/storedProduzione/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026_2.sql create mode 100644 sql/storedProduzione/C6Mart_SRV_CHECK_C6_GIORNALIERO_AND.sql create mode 100644 sql/storedProduzione/C6Mart_SRV_ESTRAZ_GIORNALIERA_CC.sql create mode 100644 sql/storedProduzione/C6Mart_SRV_SELECT_EMAIL_BY_ISODATE.sql create mode 100644 sql/storedProduzione/C6Mart_SRV_STORICIZZAZIONE.sql create mode 100644 sql/storedProduzione/C6Mart_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql create mode 100644 sql/storedProduzione/C6Mart_SRV_STORICIZZAZIONE_OLD.sql create mode 100644 sql/storedProduzione/C6Mart_SRV_SVUOTAMART.sql create mode 100644 sql/storedProduzione/C6Mart_SRV_TABELLE_IN_MART.sql create mode 100644 sql/storedProduzione/C6Mart_SRV_TRUNCATE_STAGING.sql create mode 100644 sql/storedProduzione/C6Mart_TabellaCaratteriAnomali.sql create mode 100644 sql/storedProduzione/C6Mart_UT_INSERT_ERROR.sql create mode 100644 sql/storedProduzione/C6Mart_Util_Test_PL.sql create mode 100644 sql/storedProduzione/C6Mart_Verifica_Lancio_Giornaliero.sql create mode 100644 sql/storedProduzione/C6Mart_aggiornaDataValidazione.sql create mode 100644 sql/storedProduzione/C6Mart_getCodiceContratto.sql create mode 100644 sql/storedProduzione/C6Mart_rp_aggiornaDataValidazione.sql create mode 100644 sql/storedProduzione/C6Mart_rp_aggiornaDataValidazione_20160405.sql create mode 100644 sql/storedProduzione/C6Mart_sp_getDatiReport.sql create mode 100644 sql/storedProduzione/C6Mart_temp_RP_DM_GestioneEmail.sql create mode 100644 sql/storedProduzione/C6Mart_zzzPL_D2_S150Anagrafica.sql create mode 100644 sql/storedProduzione/C6Mart_zzzPL_D2_S168TabellaEmittenti.sql create mode 100644 sql/storedProduzione/C6Mart_zzzPL_D_S157ConfrontoPiramidi.sql create mode 100644 sql/storedProduzione/C6Mart_zzzPL_D_S170RischioDiversificazione.sql create mode 100644 sql/storedProduzione/C6Mart_zzzQUALITY_CARATTERIVCONTRATTI.sql create mode 100644 sql/storedProduzione/C6Mart_zzzRP_DM_GestioneEmailNA.sql create mode 100644 sql/storedProduzione/C6Mart_zzzSRV_CHECK_C6_GIORNALIERO_AND.sql create mode 100644 sql/storedProduzione/C6Mart_zzzzPL_D_S157ConfrontoPiramidi.sql create mode 100644 sql/storedProduzione/C6Mart_zzzzRP_SRV_CHECK_C6_GIORNALIERO.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_Popola_APPO_CONTRATTI.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_CREA_POSITIONID_CONSULENZA.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_AnAlberatura.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_AnEmittente.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_AssetClass.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_BonificaClientiDoppi.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_CONSULENZA.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_CREA_POSITIONID.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_CatalogoProdotti.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_ChiaviMonitoraggio.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_DettAltriProdotti.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_DettImmobiliare.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_DettPatrAziendale.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_DettProdottiTerzi.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_DettaglioPosizionePortafoglio.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_InfoCliente.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Mappatura.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_MappaturaPT.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Pianificazione.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Posizioni.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Progetto.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_NeedArea.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_PROGETTICLIENTE.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_PatrimonioTerzi.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Pianificazione.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_PosizioniPortafoglio.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_ProgettiPiramideModello.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Progetto.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI.sql create mode 100644 sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_AGGIORNA_DATAFINEVALIDITAPROFILO.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_AGGIORNA_TANAB_CTV.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_AGGIORNA_WSEIAN_FLAGPERPROF.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_AggiornaContrattiPretrimestrale.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_CheckDisallineati.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_ClienteProdottiAssicurativiVita.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_ClienteProdottiAssicurativiVita_Totali.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_ClienteProdottiFAI.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_ClienteProdottiFAI_Totali.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_CopiaTabelleDiReplica.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_CopiaTabelleDiReplica_20190129.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_EstrazioneProfiliInScadenza.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale_anag_pb.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_Popola_Prodotti_Fuori_Adeguatezza.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_QD_VAR_RISK_WEEK2.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_TANAB.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_TCPTAB.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_TRENAB.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_TSCABP.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_W6APAG.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_W6APUT.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_W6CLIESG.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_W6CLIREP_B.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_WANVIPS.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIAD2.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIAN2.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIBO.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEICAP.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEICC.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEICE2.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEICS.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIDC.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIFP.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIGP.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEILP.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIMM_POS_SQL.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIMM_SQL_POS.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIPR.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIPS.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIPV.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIRP.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIRPF.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEISC.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIUL.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_AGGIORNA_SPB_PROF_RISCHIO.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20161213.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20171204_preRFMP.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20190725.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_20161221.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_20180720.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_new.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_POPOLAMENTO_WSMOV_CONTRATTO_SCARICO.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_20180710.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_preAladdin.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI.20171120_New_en.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20160902.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20161205.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20171120.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_BKP20141204.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_LUCA.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_OLD.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_TEMP.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_AnAlberatura.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_AnAlberatura_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_AnEmittente.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_AnEmittente_originale.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_AnEmittente_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Area.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Area_20170118.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Area_20170320.OBS.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Area_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_AssetClass.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_AssetClass_20161221.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_AssetClass_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_BonificaClientiDoppi.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CATINAREA.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CATINAREA_20161222.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CATINAREA_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CONSULENZA.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CONSULENZA_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALE.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALEFINETRIMESTRE.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20161213.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20171204_preRFMP.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20190725.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID_BK_eligoTitoli.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CatDivPtf.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20160505.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20160506_LM.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170120.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170616_Vis1.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170720.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170925.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20171026.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20180117.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_ChiaviMonitoraggio.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_ChiaviMonitoraggio_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Cliente.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_ClientePB.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_ClientePB_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Cliente_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Cono.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Cono_20170118.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Cono_20170320_OBS.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Cono_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_DettAltriProdotti.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_DettAltriProdotti_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_DettImmobiliare.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_DettImmobiliare_20190205_ProQuota.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_DettImmobiliare_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_DettPatrAziendale.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_DettPatrAziendale_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_DettProdottiTerzi.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_DettProdottiTerzi_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_DettaglioOperazione.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_DettaglioOperazione_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_DettaglioPosizionePortafoglio.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_DettaglioPosizionePortafoglio_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_DistribuzionePtfModello_Tattici_AssetClass.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_DistribuzionePtfModello_Tattici_MacroAssetClass.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_GradoParentela.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_GradoParentela_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_InfoCliente.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_InfoCliente_20160428.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_InfoCliente_20170915.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_InfoCliente_20171031.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_InfoCliente_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Mappatura.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_MappaturaPT.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_MappaturaPT_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Mappatura_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Area.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Area_20170118.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Area_20170320_OBS.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Area_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Pianificazione.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Pianificazione_OLD.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Pianificazione_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Posizioni.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Posizioni_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Progetto.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Progetto_20170113.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Progetto_20170118.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Progetto_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_MonitoraggioStorico.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_MonitoraggioStorico_20181214_PreMioFoglio.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_MonitoraggioStorico_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_NeedArea.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_NeedArea_20161222.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_NeedArea_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_NobPrez.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_PROGETTICLIENTE.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_TEST_FC.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Parentela.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Parentela_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_PatrimonioTerzi.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_PatrimonioTerzi_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Pianificazione.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Pianificazione_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_PosizioniPortafoglio.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_PosizioniPortafoglio_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_PosizioniProposta.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_PosizioniProposta_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_ProgettiPiramideModello.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_20170118.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_20171106.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto.new.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20170113.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20170116.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20170117.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20170117_2.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20170419.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20171106.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_Robo.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_PromotoreBancario.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_PromotoreBancario_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Proposta.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_Proposta_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_20160506_Pk.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_REP_ASSET_1_E_2_ORDINATE_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6_20190111_preMioFoglio.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI2.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20161213.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20170407.SAVE.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20171204_preRFMP.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190725.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_TB_ESG_ANAG_STRUM.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_TB_ESG_ANAG_STRUM_bkp_Pre_ESG4.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_anagrafica_promotori.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_anagrafica_promotori_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_ST_vNewPositionProposta.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_APPO_CONTRATTI.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_COMPLESSITA.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_20161213.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_W6LogBatch.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_clientiConMigrazione.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_RP_clientiConMigrazione_20170413_RM_nomeDB.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_Recupero_Trimestrale_Scarti.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_SRV_CREA_QUERY_STORICO.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_SRV_STORICIZZAZIONE.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_SRV_STORICIZZAZIONE_OLD.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_SRV_STORICIZZAZIONE_preAladdin.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_SRV_TABELLE_IN_STAGING.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_SRV_TABELLE_IN_STAGING_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_ST_CREA_POSITIONID.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_ST_CREA_POSITIONID_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS_EMAIL.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_ST_SPB_CONTR_SINTESI.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_asu2.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_ST_SVUOTASIMPB.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_ST_SVUOTASIMPB_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_UPDATE_CATITEMREF.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_UPDATE_CATITEMREF_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_UPDATE_COMPLESSITA.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_UPDATE_COMPLESSITA_pre_selective.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_UTIL_popolaPromotoriDaGiornaliero.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_agg_codana_tabellone.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_agg_lotto_tabellone.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_agg_wh_tabellone.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_agg_wseian2_tabellone.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_get_testo_sezione_adeg_PG_Compl_Conc_CDTTRIM.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_immobiliare_tabellone.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_sp_quadratura.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.obs.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.rigen.20170620.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620_consegnato.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_trim.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.1.0.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.2.0.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.3.0.sql create mode 100644 sql/storedProduzione/C6StagingPeriodico_zzzRP_CREA_POSITIONID_CONSULENZA.sql create mode 100644 sql/storedProduzione/C6Staging_CREA_FIRMA_PROMOTORE.sql create mode 100644 sql/storedProduzione/C6Staging_CheckScartiMIFID.sql create mode 100644 sql/storedProduzione/C6Staging_DecodificaIndicatoriAdeguatezza.sql create mode 100644 sql/storedProduzione/C6Staging_RP_AGGIORNA_SPB_PROF_RISCHIO.sql create mode 100644 sql/storedProduzione/C6Staging_RP_CREA_POSITIONID.sql create mode 100644 sql/storedProduzione/C6Staging_RP_CREA_POSITIONID_2011113.sql create mode 100644 sql/storedProduzione/C6Staging_RP_CREA_POSITIONID_CONSULENZA.sql create mode 100644 sql/storedProduzione/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20161223.sql create mode 100644 sql/storedProduzione/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20171113_orig.sql create mode 100644 sql/storedProduzione/C6Staging_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_AnAlberatura.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_AnEmittente.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_AssetClass.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_CatalogoProdotti.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_Cliente.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_ClientePB.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_Cliente_20170614.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_DettAltriProdotti.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_DettImmobiliare.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_DettImmobiliare_20190107_ProQuota.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_DettPatrAziendale.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_DettProdottiTerzi.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_DettaglioOperazione.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_DettaglioPosizionePortafoglio.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_GradoParentela.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_Mappatura.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_MappaturaPT.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_Migraz_Pianificazione.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_Migraz_Posizioni.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_Migraz_Progetto.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_NobPrez.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_Parentela.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_PatrimonioTerzi.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_Pianificazione.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_Pianificazione_20161128_ORI.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_PosizioniPortafoglio.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_PosizioniProposta.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_ProgettiPiramideModello.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_Progetto.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_Progetto_Robo.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_PromotoreBancario.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_Proposta.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_TB_ESG_ANAG_STRUM.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_TB_ESG_ANAG_STRUM_bkp_Pre_ESG4.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_anagrafica_promotori.sql create mode 100644 sql/storedProduzione/C6Staging_RP_ST_vNewPositionProposta.sql create mode 100644 sql/storedProduzione/C6Staging_RP_W6LogBatch.sql create mode 100644 sql/storedProduzione/C6Staging_RP_clientiConMigrazione.sql create mode 100644 sql/storedProduzione/C6Staging_SRV_STORICIZZAZIONE.sql create mode 100644 sql/storedProduzione/C6Staging_SRV_STORICIZZAZIONE_OLD.sql create mode 100644 sql/storedProduzione/C6Staging_SRV_SVUOTASTAGING.sql create mode 100644 sql/storedProduzione/C6Staging_SRV_TABELLE_IN_STAGING.sql create mode 100644 sql/storedProduzione/C6Staging_ST_INSERT_SCARTI_SIMPB.sql create mode 100644 sql/storedProduzione/C6Staging_ST_SELECT_FOR_ADS4WS.sql create mode 100644 sql/storedProduzione/C6Staging_inserisci_promotori_fittizi.sql create mode 100644 sql/storedProduzione/dbo_AMB_Cerca.sql create mode 100644 sql/storedProduzione/dbo_AMB_InfoPdfTrim.sql create mode 100644 sql/storedProduzione/dbo_AMB_InfoTRIM.sql create mode 100644 sql/storedProduzione/dbo_AMB_VerificaLettere.sql create mode 100644 sql/storedProduzione/dbo_Aggiorna_Trimestrale_SEI_Processi.sql create mode 100644 sql/storedProduzione/dbo_CERCA.sql create mode 100644 sql/storedProduzione/dbo_CERCA_FA.sql create mode 100644 sql/storedProduzione/dbo_CHECK_INSERT_PRODOTTI_NON_A_CATALOGO.sql create mode 100644 sql/storedProduzione/dbo_CONTROLLO_COMPLESSITA.sql create mode 100644 sql/storedProduzione/dbo_CREA_CAMPIONE.sql create mode 100644 sql/storedProduzione/dbo_CREA_CAMPIONE_20160119.sql create mode 100644 sql/storedProduzione/dbo_CREA_CAMPIONE_20160318.sql create mode 100644 sql/storedProduzione/dbo_CREA_CAMPIONE_20160414.sql create mode 100644 sql/storedProduzione/dbo_CREA_CAMPIONE_20161216.sql create mode 100644 sql/storedProduzione/dbo_CREA_CAMPIONE_20170114.sql create mode 100644 sql/storedProduzione/dbo_CREA_CAMPIONE_20170321.sql create mode 100644 sql/storedProduzione/dbo_CREA_CAMPIONE_20180115_preJoinNewTab.sql create mode 100644 sql/storedProduzione/dbo_CREA_CAMPIONE_20180711.sql create mode 100644 sql/storedProduzione/dbo_CREA_CAMPIONE_20180921.sql create mode 100644 sql/storedProduzione/dbo_CREA_CAMPIONE_TEST.sql create mode 100644 sql/storedProduzione/dbo_Controlli_Mattina_PdC.sql create mode 100644 sql/storedProduzione/dbo_CopyObjectFromSchema.sql create mode 100644 sql/storedProduzione/dbo_CreaTabellaBackUp.sql create mode 100644 sql/storedProduzione/dbo_DropObject.sql create mode 100644 sql/storedProduzione/dbo_ElencoClientiImmobiliareDaStampare.sql create mode 100644 sql/storedProduzione/dbo_GetAllTableSize.sql create mode 100644 sql/storedProduzione/dbo_GetLancio.sql create mode 100644 sql/storedProduzione/dbo_GetLogs.sql create mode 100644 sql/storedProduzione/dbo_GetPDFTemplateConfiguration.sql create mode 100644 sql/storedProduzione/dbo_GetPDFTemplateConfiguration_Rosaspina.sql create mode 100644 sql/storedProduzione/dbo_GetStatistics.sql create mode 100644 sql/storedProduzione/dbo_GetStatistics_Prepare.sql create mode 100644 sql/storedProduzione/dbo_GetTextTemplateConfiguration.sql create mode 100644 sql/storedProduzione/dbo_GetVariableValue.sql create mode 100644 sql/storedProduzione/dbo_HexToRGB.sql create mode 100644 sql/storedProduzione/dbo_InsertStartIntoLogFromDtsx.sql create mode 100644 sql/storedProduzione/dbo_InsertStartIntoLogFromDtsxImmobiliare.sql create mode 100644 sql/storedProduzione/dbo_InsertStopIntoLogFromDtsx.sql create mode 100644 sql/storedProduzione/dbo_InsertStopIntoLogFromDtsxImmobiliare.sql create mode 100644 sql/storedProduzione/dbo_JOB_Controlli_View.sql create mode 100644 sql/storedProduzione/dbo_ListaCampione.sql create mode 100644 sql/storedProduzione/dbo_ListaCampioneDettaglioMovimenti.sql create mode 100644 sql/storedProduzione/dbo_ListaCampioneDettaglioMovimenti_Parziale.sql create mode 100644 sql/storedProduzione/dbo_LogFTP.sql create mode 100644 sql/storedProduzione/dbo_PreGenerationElabCounter.sql create mode 100644 sql/storedProduzione/dbo_PreGenerationStatoCounter.sql create mode 100644 sql/storedProduzione/dbo_RP_Popola_PiramideModello.sql create mode 100644 sql/storedProduzione/dbo_SO_getNewSubscriptions.sql create mode 100644 sql/storedProduzione/dbo_SRV_CONTROLLA_FASE1.sql create mode 100644 sql/storedProduzione/dbo_SRV_ESTRAZIONE_ULTIMO_INVIO_REPORT.sql create mode 100644 sql/storedProduzione/dbo_SRV_ReportDaCancellare.sql create mode 100644 sql/storedProduzione/dbo_SRV_SELECT_PROFILI_SCADUTI.sql create mode 100644 sql/storedProduzione/dbo_SRV_insertLogPreCalcoloDatiGenerator.sql create mode 100644 sql/storedProduzione/dbo_SearchAllTables.sql create mode 100644 sql/storedProduzione/dbo_SelezioneCampione_Fc.sql create mode 100644 sql/storedProduzione/dbo_SubscribedCustomer_Compare.sql create mode 100644 sql/storedProduzione/dbo_TEST_GETNEXTTRIMESTRE.sql create mode 100644 sql/storedProduzione/dbo_TEST_GETTRIMESTRE2.sql create mode 100644 sql/storedProduzione/dbo_TEST_MERGED_PROCEDURE.sql create mode 100644 sql/storedProduzione/dbo_TrimTable.sql create mode 100644 sql/storedProduzione/dbo_TrimWSEITables.sql create mode 100644 sql/storedProduzione/dbo_UPDATE_EVASIONE.sql create mode 100644 sql/storedProduzione/dbo_UTIL_ESTRAI_COMPLEX_MODIFICATA.sql create mode 100644 sql/storedProduzione/dbo_Utility_Query_Incrocio.sql create mode 100644 sql/storedProduzione/dbo_VerificaAllMassGior.sql create mode 100644 sql/storedProduzione/dbo_creaExcelVerificaCampioneS80.sql create mode 100644 sql/storedProduzione/dbo_creaExcelVerificaCampioneS80_excel.sql create mode 100644 sql/storedProduzione/dbo_getListaPdfStorici.sql create mode 100644 sql/storedProduzione/dbo_inserisciRichiestaStorico.sql create mode 100644 sql/storedProduzione/dbo_spPDFRecovery.sql create mode 100644 sql/storedProduzione/dbo_sp_WhoIsActive.sql create mode 100644 sql/storedProduzione/dbo_sp_alterdiagram.sql create mode 100644 sql/storedProduzione/dbo_sp_change_codfiscale_SEIReport.sql create mode 100644 sql/storedProduzione/dbo_sp_creatediagram.sql create mode 100644 sql/storedProduzione/dbo_sp_dropdiagram.sql create mode 100644 sql/storedProduzione/dbo_sp_dts_addlogentry.sql create mode 100644 sql/storedProduzione/dbo_sp_getColors.sql create mode 100644 sql/storedProduzione/dbo_sp_helpdiagramdefinition.sql create mode 100644 sql/storedProduzione/dbo_sp_helpdiagrams.sql create mode 100644 sql/storedProduzione/dbo_sp_renamediagram.sql create mode 100644 sql/storedProduzione/dbo_sp_upgraddiagrams.sql create mode 100644 sql/storedProduzione/dbo_srv_change_Professional_Base_CU.sql create mode 100644 sql/storedProduzione/dbo_srv_change_codfiscale.sql create mode 100644 sql/storedProduzione/dbo_srv_change_codfiscaleMassiva.sql create mode 100644 sql/storedProduzione/dbo_srv_change_codfiscaleMassiva_CU.sql create mode 100644 sql/storedProduzione/dbo_srv_change_codfiscaleMassiva_CU_SEIReport.sql create mode 100644 sql/storedProduzione/dbo_srv_change_codfiscale_20161114.sql create mode 100644 sql/storedProduzione/dbo_srv_change_codfiscale_20161114_OLwhenQready.sql create mode 100644 sql/storedProduzione/dbo_srv_change_codfiscale_CU.sql create mode 100644 sql/storedProduzione/dbo_srv_change_codfiscale_mod.sql create mode 100644 sql/storedProduzione/dbo_srv_change_rete_CU.sql create mode 100644 sql/storedProduzione/dbo_test_S80All_fc.sql create mode 100644 sql/storedProduzione/dbo_test_compl_testo_sezione_adeg_obsoleta.sql create mode 100644 sql/storedProduzione/dbo_test_fc.sql create mode 100644 sql/storedProduzione/dbo_usp_ExportImage.sql create mode 100644 sql/storedProduzione/dbo_usp_ImportImage.sql create mode 100644 sql/storedProduzione/dbo_vinfocliente.sql create mode 100644 sql/storedProduzione/level2martperiodico_DM_PatrimonioBFAggregato.sql create mode 100644 sql/storedProduzione/level2martperiodico_DM_PatrimonioBFAggregato_pre_selective.sql create mode 100644 sql/storedProduzione/level2martperiodico_DM_PatrimonioNonRappresentabileAsset.sql create mode 100644 sql/storedProduzione/level2martperiodico_DM_PatrimonioNonRappresentabileAsset_pre_selective.sql create mode 100644 sql/storedProduzione/level2martperiodico_DM_PatrimonioTerziAggregato.sql create mode 100644 sql/storedProduzione/level2martperiodico_DM_PatrimonioTerziAggregato_pre_selective.sql create mode 100644 sql/storedProduzione/wh_MERGED_PROCEDURE.sql create mode 100644 sql/storedProduzione/wh_MERGED_PROCEDURE_20160709_byen.sql create mode 100644 sql/storedProduzione/wh_MERGED_PROCEDURE_20161012.sql create mode 100644 sql/storedProduzione/wh_MERGED_PROCEDURE_20170615.sql create mode 100644 sql/storedProduzione/wh_MERGED_PROCEDURE_20180619.sql create mode 100644 sql/storedProduzione/wh_MERGED_PROCEDURE_20181010.sql create mode 100644 sql/storedProduzione/wh_MERGED_PROCEDURE_NUOVA.sql create mode 100644 sql/storedProduzione/wh_MERGED_PROCEDURE_PL_Prodotti_Non_Associati_Area_Inv.sql create mode 100644 sql/storedProduzione/wh_MERGED_PROCEDURE_S10.sql create mode 100644 sql/storedProduzione/wh_MERGED_PROCEDURE_S151.sql create mode 100644 sql/storedProduzione/wh_MERGED_PROCEDURE_S169.sql create mode 100644 sql/storedProduzione/wh_MERGED_PROCEDURE_S170.sql create mode 100644 sql/storedProduzione/wh_MERGED_PROCEDURE_S178.sql create mode 100644 sql/storedProduzione/wh_MERGED_PROCEDURE_S43.sql create mode 100644 sql/storedProduzione/wh_MERGED_PROCEDURE_S85.sql create mode 100644 sql/storedProduzione/wh_MERGED_PROCEDURE_SINGLE.sql create mode 100644 sql/storedProduzione/wh_ProduceMaladetti.sql create mode 100644 sql/storedProduzione/wh_p_PL_AreeMonitorate.sql create mode 100644 sql/storedProduzione/wh_p_PL_D2_S151ProfiloDiRischio.sql create mode 100644 sql/storedProduzione/wh_p_PL_D2_S152Patrimonio.sql create mode 100644 sql/storedProduzione/wh_p_PL_D2_S153PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/wh_p_PL_D2_S154PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/wh_p_PL_D2_S155PatrimonioImmobiliare.sql create mode 100644 sql/storedProduzione/wh_p_PL_D2_S156ALtroPatrimonio.sql create mode 100644 sql/storedProduzione/wh_p_PL_D2_S157ConfrontoPiramidi.sql create mode 100644 sql/storedProduzione/wh_p_PL_D2_S158PiramideModello.sql create mode 100644 sql/storedProduzione/wh_p_PL_D2_S159PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/wh_p_PL_D2_S160DettaglioProdottiBF.sql create mode 100644 sql/storedProduzione/wh_p_PL_D2_S162DettaglioProdotti.sql create mode 100644 sql/storedProduzione/wh_p_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedProduzione/wh_p_PL_D2_S164PolizzeAltriIstituti.sql create mode 100644 sql/storedProduzione/wh_p_PL_D2_S165FondiAltriIstituti.sql create mode 100644 sql/storedProduzione/wh_p_PL_D2_S167DistribuzioneRischioCredito.sql create mode 100644 sql/storedProduzione/wh_p_PL_D2_S168TabellaEmittenti.sql create mode 100644 sql/storedProduzione/wh_p_PL_D2_S169RischiomercatoRischiocredito.sql create mode 100644 sql/storedProduzione/wh_p_PL_D2_S170RischioDiversificazione.sql create mode 100644 sql/storedProduzione/wh_p_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedProduzione/wh_p_PL_D_S170RischioDiversificazione.sql create mode 100644 sql/storedProduzione/wh_p_PL_D_S178IndicatoriEsitoAdeguatezza.sql create mode 100644 sql/storedProduzione/wh_p_PL_MP_S133AreeBisognoPrincProd.sql create mode 100644 sql/storedProduzione/wh_p_PL_MP_S133BISPrincipaliProdotti.sql create mode 100644 sql/storedProduzione/wh_p_PL_MP_S134BISMonitoraggioLiqInv.sql create mode 100644 sql/storedProduzione/wh_p_PL_MP_S134MonitoraggioLiquidita.sql create mode 100644 sql/storedProduzione/wh_p_PL_MP_S135MonitoraggioInvestimento.sql create mode 100644 sql/storedProduzione/wh_p_PL_MP_S137BISCapitaleProtetto.sql create mode 100644 sql/storedProduzione/wh_p_PL_MP_S137Bonus.sql create mode 100644 sql/storedProduzione/wh_p_PL_MP_S140AnalisiRisparmioCharts.sql create mode 100644 sql/storedProduzione/wh_p_PL_MP_S141AnalisiRisparmioTable.sql create mode 100644 sql/storedProduzione/wh_p_PL_MP_S146RischioDiversificazione.sql create mode 100644 sql/storedProduzione/wh_p_PL_Prodotti_Non_Associati_Area_Inv.sql create mode 100644 sql/storedProduzione/wh_p_PL_S10PatrimonioFinanziario.sql create mode 100644 sql/storedProduzione/wh_p_PL_S43BISDettaglioProdottiBF.sql create mode 100644 sql/storedProduzione/wh_p_PL_S43ContoCorrenteBF.sql create mode 100644 sql/storedProduzione/wh_p_PL_S43DettaglioProdottiBF.sql create mode 100644 sql/storedProduzione/wh_p_PL_S43LineaSelfBF.sql create mode 100644 sql/storedProduzione/wh_p_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedProduzione/wh_p_PL_S80Alternativa.sql create mode 100644 sql/storedProduzione/wh_p_PL_S82BisDatiSintetici.sql create mode 100644 sql/storedProduzione/wh_p_PL_S82DatiSintetici.sql create mode 100644 sql/storedProduzione/wh_p_PL_S85RendimentoPortafoglioCono.sql create mode 100644 sql/storedProduzione/wh_p_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql create mode 100644 sql/storedProduzione/wh_p_PL_S96RischiomercatoRischiocredito.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_Blacklist_Blocco_Tabellone.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_ANAG_SELF.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_ANAG_SELF_20181214_PreMioFoglio.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_CODIFICA_CREDITRISK.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_CODIFICA_RISCHIO.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_MIFID.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_PARTITE_VIAGGIANTI.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_RISCHIO_AGGREGATO.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_Delete_Immobiliare_GestionePDF.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestionePDF.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestioneZIP.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_MERGED_PROCEDURE.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_D2_S170RischioDiversificazione.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_D_S152Patrimonio.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_D_S154PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_GetClientNegativeCurrentAccountsValue.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_GetClientSelfNegCurrentAccountValue.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_MP_S133AreeBisognoPrincProd.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_MP_S140AnalisiRisparmioCharts.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_Popola_S133_S157DatiPiramide.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ANAG_CLIENTI.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI_TERZI.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_AREA_BISOGNO.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS_TERZI.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC_TERZI.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_CONTRATTOSEI.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_DETTAGLIO_ASUL.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_ALTRO.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_BF.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_TERZI.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PIRAMIDE_MOD.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2_Indicatore.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_SP_Valorizza_Stati_semaforo_IMM.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_UpdateDateReport_Immobiliare_GestionePDF.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_Update_Immobiliare_GestioneZIP.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_sp_caricaBlacklist.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_start_email_Testi_Statici_tabellone.sql create mode 100644 sql/storedTestbes/C6MartPeriodicoImmobiliare_start_email_Zipping_tabellone.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_AGGIORNA_NUMERO_PAGINE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_AL_AggiornaPortafoglioCliente.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_AL_AggiornaPortafoglioCliente_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_AggiornaFlagRolContrattoSei.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_AppRendTabReader.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_AppRendTabReader_bl.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_BONIFICA_WSEIUL.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_BONIFICA_WSEIUL_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Blacklist_Blocco_Tabellone.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Blocco_Blacklist_AppRendicontazione.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_BonificaDataQuality.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CHECK_AGGIORNA_ERRORI_GENERAZIONE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CHECK_CTV_PER_NEEDAREA_PER_CLIENT.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CHECK_GET_CTV_ISSUES.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CHECK_GET_CTV_ISSUES_PER_AREA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CHECK_GET_CUSTOMERS_FOR_CHECK.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CHECK_GET_NeedAreas.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CHECK_GET_Perc_ISSUES.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET_ALL.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CHECK_GET_VAR_ISSUES.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CHECK_INSERT_CTV_PER_AREA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CHECK_INSERT_CTV_PER_SECTION.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CHECK_INSERT_S10_PERC.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CHECK_INSERT_VAR_PER_SECTION.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CHECK_PROFILO_SCADUTO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CHECK_PROFILO_SCADUTO_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CHECK_RFA_ZERO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CHECK_RFA_ZERO_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CREA_FIRMA_PROMOTORE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CRUSCOTTOTRIMESTRALE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CRUSCOTTOTRIMESTRALEMAU.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE_test.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Caricamento_TBGEN.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CercaCaratteriAnomali.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CercaCaratteriAnomali_20150205.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_CheckQuadraturaRfa0Mifid.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Controlla_Stato_Stampa_Cruscotto.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ALL_PATRIMONIO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ANAG_CC.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ANAG_CC_TERZI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ANAG_CC_TERZI_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ANAG_CC_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ANAG_CLIENTI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ANAG_CLIENTI_PREV.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ANAG_CLIENTI_PREV_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ANAG_CLIENTI_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ANAG_PROMOTORI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ANAG_PROMOTORI_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ANAG_SELF.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ANAG_SELF_20181214_PreMioFoglio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ANAG_SELF_BK_eligoTitoli.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ANAG_SELF_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_AREA_BISOGNO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_AREA_BISOGNO_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ASSETCLASS.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ASSETCLASS_TERZI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ASSETCLASS_TERZI_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ASSETCLASS_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ASSET_PERC.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ASSET_PERC_TERZI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ASSET_PERC_TERZI_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ASSET_PERC_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_BONUS.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_BONUS_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_CAPPROT.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_CAPPROT_20171129.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_CAPPROT_BKP.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_CAPPROT_FVI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_CAPPROT_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_CLIENTI_CON_RNA_ALTO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_CODIFICA_CREDITRISK.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_CODIFICA_CREDITRISK_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_CODIFICA_RISCHIO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_CODIFICA_RISCHIO_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_COMPLESSITA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_COMPLESSITA_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_CONGELAMENTO_SEI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_CONGELAMENTO_SEI_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_CONO_PIANIFICAZIONE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_CONO_PIANIFICAZIONE_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_CONTRATTOSEI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_CONTROLLO_TRIMESTRALE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_DATI_REPORT.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_DATI_REPORT_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_DETTAGLIO_ASUL.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_DETTAGLIO_ASUL_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_DettaglioMovimenti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_DettaglioMovimenti_20160913.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_DettaglioMovimenti_old.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_DettaglioMovimenti_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_ELABORAZIONI_EMAIL_RNA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_EMAIL_PB.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_EMAIL_PB_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_FOI80.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_FOI80_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_DEFINITIVI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_GENERATI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_GESTIONE_EMAIL_RNA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_MAIL_PROFILI_RISCHIO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_MIFID.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_MIFID_BKP_20231114_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_MIFID_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_REPORT.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_REPORT_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_STORICO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_STORICO_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_PARTITE_VIAGGIANTI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_PARTITE_VIAGGIANTI_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_ALTRO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_ALTRO_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_BF.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_BF_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_TERZI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_TERZI_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_PIRAMIDE_MOD.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_PIRAMIDE_MOD_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_PIRAMIDE_VERT.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_PROVENTI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_PROVENTI_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_RISCHIOEMITTENTI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_20180627_preNewInd.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_OLD2.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_old.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_preAladdin.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective_preAladdin.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_SCADENZE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_SCADENZE_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_SCADENZE_pre_selective_luca.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_STORICO_CAPPROT_FVI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_TEST_QUALITY.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DM_dettaglio_MOV.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Decodifica_Concentrazione_Prodotti_Complessi.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DeleteGruppo_ExcludedList.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_DistinctGruppo_ExcludedList.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Estrazione_Campione.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Estrazione_Campione_Cruscotto.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GC_CONVALIDAREPORTSELECT.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GC_DELETE_CONVALIDA_ANNULLA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GC_INSERT_VERIFICHE_CAMPIONE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GC_REPORTDACANCELLARESELECT.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GC_VerificheCampioneSelect.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_C6_S_Generator.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_C6_S_Generator_OLD.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_CUSTOMER_ERROR.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP_20170328.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONI_EMAIL_RNA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_EMAIL_DA_INVIARE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_04082015.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_GET_ID.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_ZIP.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_ZIP_IDX_NOINSERT.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_PDF_REVERT_FISCAL_CODE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SCARTI_CRUSCOTTO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_ELABORAZIONI_EMAIL_RNA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_20160913.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_bk.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170413_b4_NewZipFtpProcess.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170712_b4_OrderedByCAP.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180214_bonifica.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180308_PreIDX2.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180420.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20240225.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180308_PreIDX2.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180420.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_prova_20141223.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_WHITELIST.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_HOST.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_LAST_ELAB_ZIP.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_LAST_ZIP.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_NUM_MAX_ELABORAZIONI_EMAIL_RNA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_FA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_Francesco.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_GB.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FORCE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FOR_STATISTICS.obs.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Francesco.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_PK.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Pino.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_NonOptimized.obs.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_ONDEMAND_OPT_EN.obs.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_SEI_GB.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_luca.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano_PROVAPROF.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_EN.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_01.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_02.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_03.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_04.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_05.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_06.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_07.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_08.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_09.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_1.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_10.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_11.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_12.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_13.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_14.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_15.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_16.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_17.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_18.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_19.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_2.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_20.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_21.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_22.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_23.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_24.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_25.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_DA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_CAMPIONE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE_test.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_mariano.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE_FINAL.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_PARZIALE_FASE2_CU.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_SPECIFIC_ZIP.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_ZIP_DA_INVIARE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_ZIP_WHITELIST.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_S_Intermediari.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP_20170328.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_HOST.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_INVIATE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_FTP.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_ZIP.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_ZIP_COPY.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_ZIP_SENT_FTP.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_DA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_DA_GB.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_GB.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_SEI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_SEI_GB.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Genera_Cruscotto_ContrattoSei.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Genera_Cruscotto_ContrattoSei_20170407.SAVE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Gestione_Bonus.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Gestione_ProdottiProtetti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Gestione_ProdottiProtetti_20171215.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GetFilesForSendingByFTP.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GetQueryContratti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_GetRiskArea.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_INSERISCI_FASE2_PER_CAMBIO_RETE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Inserimento_TrimestraleScarti_ExcludedList.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Inserimento_TrimestraleScarti_SegnalazioneDataQuality.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Motivo_ExcludedList.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_20180604_PreMifid2.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_20180927_PreOttimizzazione.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_20181214_PreMioFoglio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_85.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_BK_eligoTitoli.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_PRESBAGLIATA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_SIMULAZIONE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_bck201204.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_bkup_20120101.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_preFD.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_FD152Patrimonio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_FD160DettaglioProdottiBF.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_FD170RischioDiversificazione.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S150Anagrafica.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S150Anagrafica_BkUpParall.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S151ProfiloDiRischio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S152Patrimonio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S152Patrimonio_20190225__ori.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S152Patrimonio_20190225_preProquota.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S153PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S154PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190225_preProquota.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190502_ProQuota.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S156ALtroPatrimonio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BkUpParall.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_testFc.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S158PiramideModello.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S159PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_20151222.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S162DettaglioProdotti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S164PolizzeAltriIstituti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S165FondiAltriIstituti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S166ContoCorrenteAI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito_PatrimonioNonRapp.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S168TabellaEmittenti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S168TabellaEmittenti_BK_20151222.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito_20180716.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S170RischioDiversificazione.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S170RischioDiversificazione_NoLight.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D3_S151ProfiloDiRischio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza_preMUA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S150Anagrafica.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S151ProfiloDiRischio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S152Patrimonio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S153PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S154PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S155PatrimonioImmobiliare.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S156ALtroPatrimonio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S157ConfrontoPiramidi.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S158PiramideModello.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S159PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S160DettaglioProdottiBF.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S162DettaglioProdotti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S163PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S164PolizzeAltriIstituti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S165FondiAltriIstituti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S166ContoCorrenteAI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S167DistribuzioneRischioCredito.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S168TabellaEmittenti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S169RischiomercatoRischiocredito.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S170RischioDiversificazione.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza_20180706_PreCRNapolitano.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S178CasiParticolari.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S178CasiParticolari_20181220.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S178CasiParticolari_BKP_20231114_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S178CasiParticolari_old.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S178CasiParticolari_report_ridotto.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza_preMUA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S179EmittentiConcentrazioneAlta.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta_20180715.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta_mini.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_FD10PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_FD181PreferenzeESG.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_FD181PreferenzeESG_BKP_20250305_PreESG2024.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_FD182BISDettaglioProdottiESG.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_FD182DettaglioProdottiESG.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_FD185UCaratteristicheESG.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_FD187SfdrTaxESG.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_FD188PaiESG.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_FD190BisPatrimonioFinanziario_Modello.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_FD190PatrimonioFinanziario_PTFRibilanciato.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_FD200BisDistribuzioneAssetClass_Modello.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_FD25Anagrafica.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_FD43BISDettaglioProdottiBF.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_FD43DettaglioProdottiBF.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_GetClientNegativeCurrentAccountsValue.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_GetClientNegativeGPEligo.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_GetClientSelfNegCurrentAccountValue.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_GetClientSelfNegative.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_Intermediari.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_FD133BISPrincipaliProdotti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_FD134BISMonitoraggioLiqInv.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_FD134MonitoraggioLiquidita.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_FD147SintesiValute.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_FD148DistribuzioneAssetClass.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_FD200DistribuzioneAssetClass_PTFRibilanciato.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza_BKP_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S129Patrimonio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S129Patrimonio_BkUpParall.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S129Patrimonio_bkp_fc.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S130PrincipaliPosizioni.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S131ContributoARischio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza_BkUpParall.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BK_eligoTitoli.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BkUpParall.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S133BISPrincipaliProdotti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S134BISMonitoraggioLiqInv.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S134MonitoraggioLiquidita.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S135MonitoraggioInvestimento.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S137BISCapitaleProtetto.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S137BIS_FOI80.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S137Bonus.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S138Proventi.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S139Scadenze.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_20190123_PreLIGHT.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_NoLight.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable_test.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S142DistibuzionePerRating.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S142DistibuzionePerRating_20240803.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S143DistibuzionePerEmittente.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S143DistibuzionePerEmittente_20240803.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S144DistibuzionePerScadenze.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S145DistibuzionePerTassoRendimento.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S145DistibuzionePerTassoRendimento_20240803.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S146RischioDiversificazione.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S147SintesiValute.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass_BkUpParall.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S149DettaglioProdottiAffluent.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S173.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S173CapitaleProtetto.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S173FOI80.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S174Bonus.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S175BlueProtection.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S175LineaProtettaMultiramo.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S175WhiteProtection.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S176EvoluzioneLineaProtettaMultiramo.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_MP_S44OperazioniUltimoTrimestre.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_Prodotti_Non_Associati_Area_Inv.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S102DistribuzioneRischioCredito.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S102DistribuzioneRischioCredito_OLD.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S103TabellaEmittenti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S103TabellaEmittenti_OLD.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S10PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S10PatrimonioFinanziario_BkUpParall.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S170LimitiMassimi.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S170LimitiMassimi_20180612.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S170LimitiMassimi_20180702.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S170LimitiMassimi_BKP_20231115_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171201_ori.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171215.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171220.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171221.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180119.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180717_PrePre1Pre2.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20190717_preFixArrotondamento.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_pktest.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleLineeProdotti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S181PreferenzeESG.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S181PreferenzeESG_BKP_20231116_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S182BISDettaglioProdottiESG.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S182BISDettaglioProdottiESG_Mon.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S182DettaglioProdottiESG.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S183iCapital.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S184CoerenzaESG.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S184CoerenzaESG_BKP_20231013.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S185UCaratteristicheESG.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S186DettaglioPortafoglioSei.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S187SfdrTaxESG.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S188PaiESG.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S18PatrimonioFinanziarioRischio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S1Patrimonio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S23DettaglioRischio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S25Anagrafica.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S25Anagrafica_BkUpParall.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S26PatrimonioImmobiliare.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S27ALtroPatrimonio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S2PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S31PatrimonioFinanziarioIntermediario.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S32PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S36ProfiloRischio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S37PiramideModello.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S42RischioDiversificazione.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S43BISDettaglioProdottiBF.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20160118.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215_B.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S43ContoCorrenteBF.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S43DettaglioProdottiBF.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161215.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161219.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S43LineaSelfBF.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S48DettaglioProdotti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S49PolizzeAltriIstituti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S50FondiAltriIstituti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S51ContoCorrenteAI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S56PatrimonioBFAreeBisogno.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S57ConfrontoPiramidi.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S57ConfrontoPiramidi_OLD.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S6PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S75GradoCopertura.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S75GradoCoperturaCompl.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S75GradoCoperturaInterno.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S75GradoCoperturaTerzi.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S75GradoCopertura_check.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S76PatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_20181214_PreMioFoglio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_BkUpParall.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_DidascalieNote.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_OLD.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_bkp_FC.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_perc.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S80BisEvoluzioneRischio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S80BisEvoluzioneRischio_20170413_RM_DBname.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S80BisEvoluzioneRischio_BkUpParall.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S80EvoluzioneControvalore.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S82BisDatiSintetici.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S82DatiSintetici.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S83DatiRendimento.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S83DatiRendimento_85.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S84ControvaloreRisorseApportate.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S85RendimentoPortafoglioCono.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S86PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S94Rischio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S95ProfiloDiRischio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S95ProfiloDiRischio_20190204_PreMIFID2.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S96BisRischioMercatoRischioCredito.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_S96RischiomercatoRischiocredito.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PL_SavingMap.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_PROVVISORIA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_PROM_TuttiIPortafogli.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_D2_S150Anagrafica.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_FD190PatrimonioFinanziario_PTFRibilanciato.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_FD200DistribuzioneAssetClass_PTFRibilanciato.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_S10PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_S10PatrimonioFinanziario_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_S133_S157DatiPiramide.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161202.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161214.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_S133_S157DatiPiramide_20170113_ORIG.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_S133_S157DatiPiramide_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_S148DistribuzioneAssetClass.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_S148DistribuzioneAssetClass_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_20180626.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_BKP_20231115_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_S25Anagrafica.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_S25Anagrafica_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_S80BisEvoluzioneRischio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20170724_preCR_fasi1e2.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20171222.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_BKP_20231116_PRE_RAFFORZAMENTO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popola_TB_S180ProdottiComplessitaAlta.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popolamento_RP_W6CLIREP.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Popolamento_RP_vTuttiIPortafogli_Aladdin_tab.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_ProfiloScaduto_Campione.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RESTART_CONTROLLO_TRIMESTRALE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RFA_SEGNALATI_SP.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RM_Sintesi_Cliente.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_AggiornaFlagContratto.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CC_TERZI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CC_TERZI_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409_AGENTEisNotNull.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL_20190612.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PROMOTORI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PROMOTORI_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_AREA_BISOGNO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_AREA_BISOGNO_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ASSETCLASS.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ASSETCLASS_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ASSET_PERC.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ASSET_PERC_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_BONIFICA_DTRIF0_TSCABP.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_BrsClienteESG.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_CLIENTI_RISORSE_NA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_COMPLESSITA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_COMPLESSITA_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_CONTRATTOSEI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_CONTRATTOSEI_20170407.SAVE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_CONTRATTOSEI_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_Confronto_IndicatoreRischio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.20170320.OBS.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_20170123.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_TEMP.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_luca.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ESG_ANAG_METRICHE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_IndicatoreRischio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_MAIL_PROFILI_RISCHIO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20161220.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20171218_preRFMP.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20181213.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190112.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190314_preMioFoglio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_20181214_PreMioFoglio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170407.SAVE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170421_4b_prometeria_err_fix.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20171019_err.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BKP_20231017.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BK_eligoTitoli.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_DaCancellare.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_FC.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_TEST.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20170427_Patr3.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20180315.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PIRAMIDE_MOD.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20161202.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20170119.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_PIRAMIDE_VERT.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_QD_VAR_RISK_WEEK2.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_W6CATESG.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_W6CKADEG.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_W6CLIESG.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_W6IndPtf.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_WSEIAN2.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_WSEICAP.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_WSEICC.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_DM_WSEIRPF.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170409_TEST.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410_EXCLCF.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170421_EXCL_CF.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20180615_NewMotorePrometeia.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180711_AZZERARE_CTV_NEGATIVI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180719_preAzzeramentoCCNeg.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018_SingoloCF.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_IN.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_ORIGINALE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_SRV_CHECK_C6_GIORNALIERO.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_ST_ClientiPtfNonDiv.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_TCPTAB.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_Tipologia_Campione.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_RP_Tipologia_Tabellone.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_BonificaDati.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_BonificaDati_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_CaratteriAnomali.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_CaratteriAnomali_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_DeleteSegnalazioni.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_DeleteSegnalazioni_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_DescProdottoProventi.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_DescProdottoProventi_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_PositionID.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_PositionIDConsulenza.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_PositionIDConsulenza_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_PositionID_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_PosizioniDuplicate.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_ProgettoDuplicatoArea.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_ScartiAPI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_ScriviDisallineati.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_ScriviDisallineati_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_SelezioneDisallineati.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_SelezioneDisallineati_pre_selective_luca.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_VerificaDisallineati.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_VerificaDisallineati_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_VerificaEmail.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_VerificaEmail_20161010.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_DQ_VerificaEmail_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_Patrimonio_BF_Percentuale_Piramide.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip_20181017.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_TROVA_REPORT_DA_RIGENERARE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_TotaliReportGenerazioneZip.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_Valorizza_Stati_semaforo_TRIM.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SP_statistiche_app_rendicontazione.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_CALCOLA_BILANCIAMENTO_GENERATOR.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_CHECK_INDIRIZZI.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_ESTRAZIONE_FASE_2_PRE_MART.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_LISTA_CLIENTI_FASE2.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_20151009.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_bk_test_20151014.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_QUANTO_MANCA.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20160412.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20161012.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20180711_preExcludedList.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20190116_PreNewFunction.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20230915.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_STORICIZZAZIONE.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_TABELLE_IN_MART.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_TABELLE_IN_MART_pre_selective.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_TRUNCATE_RP_STAGING.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SRV_Verifica_DISALLINEAMENTI_MONIT.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Segnala_Disallineamenti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Segnala_Disallineamenti_20190129.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Segnala_ProdottiNonCensiti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Segnala_ProdottiNonCensiti_20190129.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_SetDocumentMissing.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_UpdateStatoReport.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Update_TB_Campione.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Update_TB_Campione_GB.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_Util_Test_PL.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_inserisci_promotori_fittizi.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_sp_GetNumeroZipProdotti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_sp_UpdateIdReportPDF.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_sp_caricaBlacklist.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_sp_caricaBlacklist_RFAMinus_old.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_sp_getDatiReport.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti_Griffin.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_sp_getIDReport.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_srv_excel_zip.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_start_ConvertiExcel_tabellone.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_start_email_Approval_tabellone.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_start_email_Certificazione_tabellone.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_start_email_ConfermaPostalizzazione_tabellone.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_start_email_CongelamentoDB_tabellone.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_start_email_position_tabellone.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_start_esportazione_tabellone.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_temp_RP_DM_PATRIMONIO_BF.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_test_CaricamentoPL_fc.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_zzzPL_S80Alternativa.sql create mode 100644 sql/storedTestbes/C6MartPeriodico_zzzRP_DM_EMAIL_PB.sql create mode 100644 sql/storedTestbes/C6Mart_AL_AggiornaPortafoglioCliente.sql create mode 100644 sql/storedTestbes/C6Mart_CercaCaratteriAnomali.sql create mode 100644 sql/storedTestbes/C6Mart_DM_AGGIORNA_CLIENTE.sql create mode 100644 sql/storedTestbes/C6Mart_DM_ALBERO_PRODOTTI.sql create mode 100644 sql/storedTestbes/C6Mart_DM_ALL_PATRIMONIO.sql create mode 100644 sql/storedTestbes/C6Mart_DM_ANAG_CC.sql create mode 100644 sql/storedTestbes/C6Mart_DM_ANAG_CC_TERZI.sql create mode 100644 sql/storedTestbes/C6Mart_DM_ANAG_CLIENTI.sql create mode 100644 sql/storedTestbes/C6Mart_DM_ANAG_CLIENTI_PREV.sql create mode 100644 sql/storedTestbes/C6Mart_DM_ANAG_CONTRATTI.sql create mode 100644 sql/storedTestbes/C6Mart_DM_ANAG_CONTRATTI_ASS.sql create mode 100644 sql/storedTestbes/C6Mart_DM_ANAG_EMITTENTI.sql create mode 100644 sql/storedTestbes/C6Mart_DM_ANAG_PRODOTTI.sql create mode 100644 sql/storedTestbes/C6Mart_DM_ANAG_PRODOTTI_TERZI.sql create mode 100644 sql/storedTestbes/C6Mart_DM_ANAG_PROMOTORI.sql create mode 100644 sql/storedTestbes/C6Mart_DM_ANAG_SELF.sql create mode 100644 sql/storedTestbes/C6Mart_DM_ANAG_SELF_20181129_PreMioFoglio.sql create mode 100644 sql/storedTestbes/C6Mart_DM_ANAG_SELF_BK_eligoTitoli.sql create mode 100644 sql/storedTestbes/C6Mart_DM_ASSETCLASS.sql create mode 100644 sql/storedTestbes/C6Mart_DM_ASSETCLASS_TERZI.sql create mode 100644 sql/storedTestbes/C6Mart_DM_ASSET_PERC.sql create mode 100644 sql/storedTestbes/C6Mart_DM_ASSET_PERC_TERZI.sql create mode 100644 sql/storedTestbes/C6Mart_DM_CATEGORIE_PRODOTTO.sql create mode 100644 sql/storedTestbes/C6Mart_DM_CLIENTI_NON_MIGRATI.sql create mode 100644 sql/storedTestbes/C6Mart_DM_CODIFICA_CREDITRISK.sql create mode 100644 sql/storedTestbes/C6Mart_DM_CODIFICA_PIRAMIDI.sql create mode 100644 sql/storedTestbes/C6Mart_DM_CODIFICA_RISCHIO.sql create mode 100644 sql/storedTestbes/C6Mart_DM_CREA_POSITIONID.sql create mode 100644 sql/storedTestbes/C6Mart_DM_DATI_REPORT.sql create mode 100644 sql/storedTestbes/C6Mart_DM_DETTAGLIO_ASUL.sql create mode 100644 sql/storedTestbes/C6Mart_DM_EMAIL_PB.sql create mode 100644 sql/storedTestbes/C6Mart_DM_ESITI_CARICAMENTI.sql create mode 100644 sql/storedTestbes/C6Mart_DM_GER_PROMOTORI.sql create mode 100644 sql/storedTestbes/C6Mart_DM_GestioneEmail.sql create mode 100644 sql/storedTestbes/C6Mart_DM_GestioneEmailNA.sql create mode 100644 sql/storedTestbes/C6Mart_DM_GestioneEmailNOPRO.sql create mode 100644 sql/storedTestbes/C6Mart_DM_MIFID.sql create mode 100644 sql/storedTestbes/C6Mart_DM_MIFID_20181004.sql create mode 100644 sql/storedTestbes/C6Mart_DM_PARTITE_VIAGGIANTI.sql create mode 100644 sql/storedTestbes/C6Mart_DM_PATRIMONIO_AGG.sql create mode 100644 sql/storedTestbes/C6Mart_DM_PATRIMONIO_ALTRO.sql create mode 100644 sql/storedTestbes/C6Mart_DM_PATRIMONIO_BF.sql create mode 100644 sql/storedTestbes/C6Mart_DM_PATRIMONIO_BF_old.sql create mode 100644 sql/storedTestbes/C6Mart_DM_PATRIMONIO_EMITTENTI.sql create mode 100644 sql/storedTestbes/C6Mart_DM_PATRIMONIO_IMMOBILIARE.sql create mode 100644 sql/storedTestbes/C6Mart_DM_PATRIMONIO_TERZI.sql create mode 100644 sql/storedTestbes/C6Mart_DM_PIRAMIDE_MOD.sql create mode 100644 sql/storedTestbes/C6Mart_DM_PIRAMIDE_VERT.sql create mode 100644 sql/storedTestbes/C6Mart_DM_PREVIDENZIALE.sql create mode 100644 sql/storedTestbes/C6Mart_DM_PopolaContratti.sql create mode 100644 sql/storedTestbes/C6Mart_DM_PopolaContratti_20161026.sql create mode 100644 sql/storedTestbes/C6Mart_DM_PopolaContratti_old240213.sql create mode 100644 sql/storedTestbes/C6Mart_DM_RISCHIOEMITTENTI.sql create mode 100644 sql/storedTestbes/C6Mart_DM_RISCHIO_AGGREGATO.sql create mode 100644 sql/storedTestbes/C6Mart_DM_RISCHIO_AGGREGATO_20181003.sql create mode 100644 sql/storedTestbes/C6Mart_DM_RISCHIO_AGGREGATO_old.sql create mode 100644 sql/storedTestbes/C6Mart_DM_RISCHIO_AGGREGATO_pre_selective.sql create mode 100644 sql/storedTestbes/C6Mart_DM_RISCHIO_DETTAGLIO.sql create mode 100644 sql/storedTestbes/C6Mart_DM_RISCHIO_DETTAGLIO_pre_selective.sql create mode 100644 sql/storedTestbes/C6Mart_DM_STRUTTURA_RETE.sql create mode 100644 sql/storedTestbes/C6Mart_DM_STRUTTURA_RETE_20160427.sql create mode 100644 sql/storedTestbes/C6Mart_DM_STRUTTURA_RETE_20161024.sql create mode 100644 sql/storedTestbes/C6Mart_DM_TEST_QUALITY.sql create mode 100644 sql/storedTestbes/C6Mart_DM_TEST_QUALITY_20181003.sql create mode 100644 sql/storedTestbes/C6Mart_DM_VAR_ADEGUATEZZA.sql create mode 100644 sql/storedTestbes/C6Mart_Decodifica_Concentrazione_Prodotti_Complessi.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_C6_S_Generator.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_C6_S_Generator_AND.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_C6_S_Generator_EN.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_C6_S_Generator_OLD.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_C6_S_Generator_bkp_20250228_Pre_ESG2024.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_C6_S_QueryDatiComuniSql.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_C6_S_Vincoli.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_CRUSCOTTO_ARCHIVIAZIONE.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_INSERT_PDF_FTP.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_INSERT_PDF_FTP_TEST.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_INSERT_ZIP.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.test_e.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_20190802.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_CU.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_new.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_FTP_DA_INVIARE.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_FTP_INVIATI.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_FTP_INVIATI_TEST_NEW.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_HOST.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_HOST_GIORNALIERO.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Luca.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.TEMP.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180309_PreServizi.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180928_OLD.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_TEST_ANDREA.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_orig.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_SELECT_ZIP_DA_INVIARE.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_S_Intermediari.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_UPDATE_EMAIL_HOST.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_UPDATE_EMAIL_INVIATE.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_UPDATE_FTP.sql create mode 100644 sql/storedTestbes/C6Mart_GESTIONE_UPDATE_ZIP.sql create mode 100644 sql/storedTestbes/C6Mart_GET_RECUPERO_LETTERE.sql create mode 100644 sql/storedTestbes/C6Mart_GetRiskArea.sql create mode 100644 sql/storedTestbes/C6Mart_InvioLetteraBenvenuto_ExcludedListApply.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_FD150Anagrafica.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_FD159PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_FD160DettaglioProdottiBF.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_FD170RischioDiversificazione.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S150Anagrafica.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S151ProfiloDiRischio.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S152Patrimonio.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S152Patrimonio_20190107_ProQuota.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S152Patrimonio_20190111.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S153PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S154PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S155PatrimonioImmobiliare.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190107_ProQuota.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190111.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S156ALtroPatrimonio.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S157ConfrontoPiramidi.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S158PiramideModello.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S159PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S160DettaglioProdottiBF.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S162DettaglioProdotti.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass_NEW_20160908.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S164PolizzeAltriIstituti.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S165FondiAltriIstituti.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S166ContoCorrenteAI.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S167DistribuzioneRischioCredito.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S168TabellaEmittenti.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S169RischiomercatoRischiocredito.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S170RischioDiversificazione.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D3_FD151ProfiloDiRischio.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D3_S151ProfiloDiRischio.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_FD178IndicatoriEsitoAdeguatezza.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S150Anagrafica.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S151ProfiloDiRischio.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S152Patrimonio.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S153PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S154PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S155PatrimonioImmobiliare.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S156ALtroPatrimonio.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S157ConfrontoPiramidi.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S158PiramideModello.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S159PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S160DettaglioProdottiBF.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S162DettaglioProdotti.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S163PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S164PolizzeAltriIstituti.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S165FondiAltriIstituti.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S166ContoCorrenteAI.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S167DistribuzioneRischioCredito.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S168TabellaEmittenti.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S169RischiomercatoRischiocredito.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S170RischioDiversificazione.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S177ProfiloDiRischio_Adeguatezza.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S178CasiParticolari.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S178CasiParticolari_20181220.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S178IndicatoriEsitoAdeguatezza.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S179EmittentiConcentrazioneAlta.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S180ProdottiComplessitaAlta.sql create mode 100644 sql/storedTestbes/C6Mart_PL_D_S180ProdottiComplessitaAlta_mini.sql create mode 100644 sql/storedTestbes/C6Mart_PL_FD181PreferenzeESG.sql create mode 100644 sql/storedTestbes/C6Mart_PL_FD181PreferenzeESG_bkp_pre_ESG2024.sql create mode 100644 sql/storedTestbes/C6Mart_PL_FD182BISDettaglioProdottiESG.sql create mode 100644 sql/storedTestbes/C6Mart_PL_FD182DettaglioProdottiESG.sql create mode 100644 sql/storedTestbes/C6Mart_PL_FD185UCaratteristicheESG.sql create mode 100644 sql/storedTestbes/C6Mart_PL_FD186DettaglioPortafoglioSei.sql create mode 100644 sql/storedTestbes/C6Mart_PL_FD187SfdrTaxESG.sql create mode 100644 sql/storedTestbes/C6Mart_PL_FD188PaiESG.sql create mode 100644 sql/storedTestbes/C6Mart_PL_GetClientNegativeCurrentAccountsValue.sql create mode 100644 sql/storedTestbes/C6Mart_PL_GetClientSelfNegCurrentAccountValue.sql create mode 100644 sql/storedTestbes/C6Mart_PL_GetClientSelfNegative.sql create mode 100644 sql/storedTestbes/C6Mart_PL_Intermediari.sql create mode 100644 sql/storedTestbes/C6Mart_PL_MP_FD133BISPrincipaliProdotti.sql create mode 100644 sql/storedTestbes/C6Mart_PL_MP_FD147SintesiValute.sql create mode 100644 sql/storedTestbes/C6Mart_PL_MP_FD148DistribuzioneAssetClass.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S102DistribuzioneRischioCredito.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S102DistribuzioneRischioCredito_OLD.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S102DistribuzioneRischioCredito_OLD2.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S103TabellaEmittenti.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S10PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S170LimitiMassimi.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S181PreferenzeESG.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S182BISDettaglioProdottiESG.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S182DettaglioProdottiESG.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S183iCapital.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S184CoerenzaESG.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S185UCaratteristicheESG.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S186DettaglioPortafoglioSei.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S187SfdrTaxESG.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S188PaiESG.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S18PatrimonioFinanziarioRischio.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S1Patrimonio.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S23DettaglioRischio.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S25Anagrafica.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S26PatrimonioImmobiliare.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S27ALtroPatrimonio.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S2PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S31PatrimonioFinanziarioIntermediario.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S32PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S36ProfiloRischio.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S37PiramideModello.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S42RischioDiversificazione.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S43ContoCorrenteBF.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S43DettaglioProdottiBF.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S43LineaSelfBF.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S48DettaglioProdotti.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S49PolizzeAltriIstituti.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S50FondiAltriIstituti.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S51ContoCorrenteAI.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S56PatrimonioBFAreeBisogno.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S57ConfrontoPiramidi.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S6PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S75GradoCopertura.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S76PatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S95ProfiloDiRischio.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S96RischiomercatoRischiocredito.sql create mode 100644 sql/storedTestbes/C6Mart_PL_S96RischiomercatoRischiocredito_old.sql create mode 100644 sql/storedTestbes/C6Mart_PL_SavingMap.sql create mode 100644 sql/storedTestbes/C6Mart_PROM_TuttiIPortafogli.sql create mode 100644 sql/storedTestbes/C6Mart_PROM_TuttiIPortafogli_old.sql create mode 100644 sql/storedTestbes/C6Mart_Popola_S133_S157DatiPiramide.sql create mode 100644 sql/storedTestbes/C6Mart_Popola_S148DistribuzioneAssetClass.sql create mode 100644 sql/storedTestbes/C6Mart_Popolamento_RP_W6DAILY.sql create mode 100644 sql/storedTestbes/C6Mart_PreCheckIDX.sql create mode 100644 sql/storedTestbes/C6Mart_RM_Sintesi_Cliente.sql create mode 100644 sql/storedTestbes/C6Mart_RP_AggiornaFlagContratto.sql create mode 100644 sql/storedTestbes/C6Mart_RP_AggiornaFlagContratto_20161026.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_ANAG_CC.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_ANAG_CC_20170421.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_ANAG_CC_TERZI.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_ANAG_CLIENTI.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_ANAG_PRODOTTI.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_ANAG_PRODOTTI_TERZI.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_ANAG_PRODOTTI_VALUTE.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_ANAG_PROMOTORI.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_ASSETCLASS.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_ASSETCLASS_TERZI.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_ASSET_PERC.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_ASSET_PERC_TERZI.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_BrsClienteESG.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_CheckEmail.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_Check_GestioneEmailNOPRO.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_DETTAGLIO_ASUL.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_EMAIL_PB.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_ESG_ANAG_METRICHE.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_GestioneEmail.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_GestioneEmailNOPRO.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_GestioneEmail_20161028.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_ALTRO.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_ALTRO_20150825.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_ALTRO_20160615.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_BF.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_BF_20180201.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_20190107_ProQuota.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_TERZI.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_TERZI_20180219.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_TERZI_Param.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_TERZI_luca.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_PIRAMIDE_MOD.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_2011026.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20160315.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_201700302_ripristino_del_20170127.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170127.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170322.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170524.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170607_mifid.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170613.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170727_VarAdeguatezza.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20171113.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20171205.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20171222.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20180102.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20180103.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20180104.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20181003.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20181127.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_W6CLIESG.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_W6CatESG.sql create mode 100644 sql/storedTestbes/C6Mart_RP_DM_WSEICAP.sql create mode 100644 sql/storedTestbes/C6Mart_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql create mode 100644 sql/storedTestbes/C6Mart_RP_PROM_TuttiIPortafogli.sql create mode 100644 sql/storedTestbes/C6Mart_RP_PROM_TuttiIPortafogli2_Indicatore.sql create mode 100644 sql/storedTestbes/C6Mart_RP_PROM_TuttiIPortafogli_20180612_NewMotorePrometeia.sql create mode 100644 sql/storedTestbes/C6Mart_RP_PROM_TuttiIPortafogli_20180612_PreMotorePrometeia.sql create mode 100644 sql/storedTestbes/C6Mart_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql create mode 100644 sql/storedTestbes/C6Mart_RP_Selettore_GetDataThreads.sql create mode 100644 sql/storedTestbes/C6Mart_SRV_CHECK_C6_GIORNALIERO.sql create mode 100644 sql/storedTestbes/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026.sql create mode 100644 sql/storedTestbes/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026_2.sql create mode 100644 sql/storedTestbes/C6Mart_SRV_CHECK_C6_GIORNALIERO_AND.sql create mode 100644 sql/storedTestbes/C6Mart_SRV_ESTRAZ_GIORNALIERA_CC.sql create mode 100644 sql/storedTestbes/C6Mart_SRV_SELECT_EMAIL_BY_ISODATE.sql create mode 100644 sql/storedTestbes/C6Mart_SRV_STORICIZZAZIONE.sql create mode 100644 sql/storedTestbes/C6Mart_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql create mode 100644 sql/storedTestbes/C6Mart_SRV_SVUOTAMART.sql create mode 100644 sql/storedTestbes/C6Mart_SRV_TABELLE_IN_MART.sql create mode 100644 sql/storedTestbes/C6Mart_SRV_TRUNCATE_STAGING.sql create mode 100644 sql/storedTestbes/C6Mart_TabellaCaratteriAnomali.sql create mode 100644 sql/storedTestbes/C6Mart_UT_INSERT_ERROR.sql create mode 100644 sql/storedTestbes/C6Mart_Util_Test_PL.sql create mode 100644 sql/storedTestbes/C6Mart_Verifica_Lancio_Giornaliero.sql create mode 100644 sql/storedTestbes/C6Mart_aggiornaDataValidazione.sql create mode 100644 sql/storedTestbes/C6Mart_getCodiceContratto.sql create mode 100644 sql/storedTestbes/C6Mart_sp_getDatiReport.sql create mode 100644 sql/storedTestbes/C6Mart_temp_RP_DM_GestioneEmail.sql create mode 100644 sql/storedTestbes/C6Mart_zzzPL_D2_S150Anagrafica.sql create mode 100644 sql/storedTestbes/C6Mart_zzzPL_D2_S168TabellaEmittenti.sql create mode 100644 sql/storedTestbes/C6Mart_zzzPL_D_S157ConfrontoPiramidi.sql create mode 100644 sql/storedTestbes/C6Mart_zzzPL_D_S170RischioDiversificazione.sql create mode 100644 sql/storedTestbes/C6Mart_zzzQUALITY_CARATTERIVCONTRATTI.sql create mode 100644 sql/storedTestbes/C6Mart_zzzRP_DM_GestioneEmailNA.sql create mode 100644 sql/storedTestbes/C6Mart_zzzSRV_CHECK_C6_GIORNALIERO_AND.sql create mode 100644 sql/storedTestbes/C6Mart_zzzzPL_D_S157ConfrontoPiramidi.sql create mode 100644 sql/storedTestbes/C6Mart_zzzzRP_SRV_CHECK_C6_GIORNALIERO.sql create mode 100644 sql/storedTestbes/C6StagingPeriodicoImmobiliare_Popola_APPO_CONTRATTI.sql create mode 100644 sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_CREA_POSITIONID_CONSULENZA.sql create mode 100644 sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql create mode 100644 sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_BonificaClientiDoppi.sql create mode 100644 sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_CONSULENZA.sql create mode 100644 sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_CREA_POSITIONID.sql create mode 100644 sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_PROGETTICLIENTE.sql create mode 100644 sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI.sql create mode 100644 sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_AGGIORNA_DATAFINEVALIDITAPROFILO.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_AGGIORNA_TANAB_CTV.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_AGGIORNA_WSEIAN_FLAGPERPROF.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_AggiornaContrattiPretrimestrale.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_ClienteProdottiAssicurativiVita.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_ClienteProdottiAssicurativiVita_Totali.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_ClienteProdottiFAI.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_ClienteProdottiFAI_Totali.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_CopiaTabelleDiReplica.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_CopiaTabelleDiReplica_20190129.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale_anag_pb.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_Popola_Prodotti_Fuori_Adeguatezza.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20161213.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20171204_preRFMP.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20190725.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_pre_selective.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_20180710.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_preAladdin.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_OLD.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_BonificaClientiDoppi.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_CONSULENZA.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_CONSULENZA_pre_selective.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALE.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALEFINETRIMESTRE.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20161213.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20171204_preRFMP.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20190725.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID_BK_eligoTitoli.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID_pre_selective.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_PROGETTICLIENTE.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_TEST_FC.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_pre_selective.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_Parentela.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_Parentela_pre_selective.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI2.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20161213.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20170407.SAVE.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20171204_preRFMP.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190725.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_pre_selective.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_ST_vNewPositionProposta.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_APPO_CONTRATTI.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_COMPLESSITA.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_20161213.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_pre_selective.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI_pre_selective.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_W6LogBatch.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_clientiConMigrazione.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_RP_clientiConMigrazione_20170413_RM_nomeDB.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_Recupero_Trimestrale_Scarti.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_SRV_CREA_QUERY_STORICO.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP_pre_selective.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_SRV_STORICIZZAZIONE.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_SRV_STORICIZZAZIONE_OLD.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_SRV_STORICIZZAZIONE_preAladdin.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_SRV_TABELLE_IN_STAGING.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_SRV_TABELLE_IN_STAGING_pre_selective.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_ST_CREA_POSITIONID.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_ST_CREA_POSITIONID_pre_selective.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI_pre_selective.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS_EMAIL.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_ST_SPB_CONTR_SINTESI.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_asu2.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_pre_selective.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_ST_SVUOTASIMPB.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_ST_SVUOTASIMPB_pre_selective.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_UPDATE_CATITEMREF.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_UPDATE_CATITEMREF_pre_selective.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_UPDATE_COMPLESSITA.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_UPDATE_COMPLESSITA_pre_selective.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_UTIL_popolaPromotoriDaGiornaliero.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_agg_codana_tabellone.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_agg_lotto_tabellone.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_agg_wh_tabellone.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_agg_wseian2_tabellone.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_get_testo_sezione_adeg_PG_Compl_Conc_CDTTRIM.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_immobiliare_tabellone.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_sp_quadratura.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.obs.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.rigen.20170620.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620_consegnato.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_trim.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.1.0.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.2.0.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.3.0.sql create mode 100644 sql/storedTestbes/C6StagingPeriodico_zzzRP_CREA_POSITIONID_CONSULENZA.sql create mode 100644 sql/storedTestbes/C6Staging_CREA_FIRMA_PROMOTORE.sql create mode 100644 sql/storedTestbes/C6Staging_CheckScartiMIFID.sql create mode 100644 sql/storedTestbes/C6Staging_DecodificaIndicatoriAdeguatezza.sql create mode 100644 sql/storedTestbes/C6Staging_RP_CREA_POSITIONID.sql create mode 100644 sql/storedTestbes/C6Staging_RP_CREA_POSITIONID_2011113.sql create mode 100644 sql/storedTestbes/C6Staging_RP_CREA_POSITIONID_CONSULENZA.sql create mode 100644 sql/storedTestbes/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20161223.sql create mode 100644 sql/storedTestbes/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20171113_orig.sql create mode 100644 sql/storedTestbes/C6Staging_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql create mode 100644 sql/storedTestbes/C6Staging_RP_ST_Parentela.sql create mode 100644 sql/storedTestbes/C6Staging_RP_ST_vNewPositionProposta.sql create mode 100644 sql/storedTestbes/C6Staging_RP_W6LogBatch.sql create mode 100644 sql/storedTestbes/C6Staging_RP_clientiConMigrazione.sql create mode 100644 sql/storedTestbes/C6Staging_SRV_STORICIZZAZIONE.sql create mode 100644 sql/storedTestbes/C6Staging_SRV_SVUOTASTAGING.sql create mode 100644 sql/storedTestbes/C6Staging_SRV_TABELLE_IN_STAGING.sql create mode 100644 sql/storedTestbes/C6Staging_ST_INSERT_SCARTI_SIMPB.sql create mode 100644 sql/storedTestbes/C6Staging_ST_SELECT_FOR_ADS4WS.sql create mode 100644 sql/storedTestbes/C6Staging_inserisci_promotori_fittizi.sql create mode 100644 sql/storedTestbes/dbo_AMB_Cerca.sql create mode 100644 sql/storedTestbes/dbo_AMB_InfoPdfTrim.sql create mode 100644 sql/storedTestbes/dbo_Aggiorna_Trimestrale_SEI_Processi.sql create mode 100644 sql/storedTestbes/dbo_CERCA.sql create mode 100644 sql/storedTestbes/dbo_CERCA_FA.sql create mode 100644 sql/storedTestbes/dbo_CHECK_INSERT_PRODOTTI_NON_A_CATALOGO.sql create mode 100644 sql/storedTestbes/dbo_CONTROLLO_COMPLESSITA.sql create mode 100644 sql/storedTestbes/dbo_CREA_CAMPIONE.sql create mode 100644 sql/storedTestbes/dbo_CREA_CAMPIONE_20160119.sql create mode 100644 sql/storedTestbes/dbo_CREA_CAMPIONE_20160318.sql create mode 100644 sql/storedTestbes/dbo_CREA_CAMPIONE_20160414.sql create mode 100644 sql/storedTestbes/dbo_CREA_CAMPIONE_20161216.sql create mode 100644 sql/storedTestbes/dbo_CREA_CAMPIONE_20170114.sql create mode 100644 sql/storedTestbes/dbo_CREA_CAMPIONE_20170321.sql create mode 100644 sql/storedTestbes/dbo_CREA_CAMPIONE_20180115_preJoinNewTab.sql create mode 100644 sql/storedTestbes/dbo_CREA_CAMPIONE_20180711.sql create mode 100644 sql/storedTestbes/dbo_CREA_CAMPIONE_20180921.sql create mode 100644 sql/storedTestbes/dbo_CREA_CAMPIONE_TEST.sql create mode 100644 sql/storedTestbes/dbo_CopyObjectFromSchema.sql create mode 100644 sql/storedTestbes/dbo_CreaTabellaBackUp.sql create mode 100644 sql/storedTestbes/dbo_DropObject.sql create mode 100644 sql/storedTestbes/dbo_GetAllTableSize.sql create mode 100644 sql/storedTestbes/dbo_GetLancio.sql create mode 100644 sql/storedTestbes/dbo_GetLogs.sql create mode 100644 sql/storedTestbes/dbo_GetPDFTemplateConfiguration.sql create mode 100644 sql/storedTestbes/dbo_GetPDFTemplateConfiguration_Rosaspina.sql create mode 100644 sql/storedTestbes/dbo_GetStatistics.sql create mode 100644 sql/storedTestbes/dbo_GetStatistics_Prepare.sql create mode 100644 sql/storedTestbes/dbo_GetTextTemplateConfiguration.sql create mode 100644 sql/storedTestbes/dbo_GetVariableValue.sql create mode 100644 sql/storedTestbes/dbo_HexToRGB.sql create mode 100644 sql/storedTestbes/dbo_InsertStartIntoLogFromDtsx.sql create mode 100644 sql/storedTestbes/dbo_InsertStartIntoLogFromDtsxImmobiliare.sql create mode 100644 sql/storedTestbes/dbo_InsertStopIntoLogFromDtsx.sql create mode 100644 sql/storedTestbes/dbo_InsertStopIntoLogFromDtsxImmobiliare.sql create mode 100644 sql/storedTestbes/dbo_JOB_Controlli_View.sql create mode 100644 sql/storedTestbes/dbo_ListaCampione.sql create mode 100644 sql/storedTestbes/dbo_ListaCampioneDettaglioMovimenti.sql create mode 100644 sql/storedTestbes/dbo_ListaCampioneDettaglioMovimenti_Parziale.sql create mode 100644 sql/storedTestbes/dbo_LogFTP.sql create mode 100644 sql/storedTestbes/dbo_PreGenerationElabCounter.sql create mode 100644 sql/storedTestbes/dbo_PreGenerationStatoCounter.sql create mode 100644 sql/storedTestbes/dbo_RP_Popola_PiramideModello.sql create mode 100644 sql/storedTestbes/dbo_SO_getNewSubscriptions.sql create mode 100644 sql/storedTestbes/dbo_SRV_CONTROLLA_FASE1.sql create mode 100644 sql/storedTestbes/dbo_SRV_ESTRAZIONE_ULTIMO_INVIO_REPORT.sql create mode 100644 sql/storedTestbes/dbo_SRV_ReportDaCancellare.sql create mode 100644 sql/storedTestbes/dbo_SRV_SELECT_PROFILI_SCADUTI.sql create mode 100644 sql/storedTestbes/dbo_SRV_insertLogPreCalcoloDatiGenerator.sql create mode 100644 sql/storedTestbes/dbo_SearchAllTables.sql create mode 100644 sql/storedTestbes/dbo_SelezioneCampione_Fc.sql create mode 100644 sql/storedTestbes/dbo_SubscribedCustomer_Compare.sql create mode 100644 sql/storedTestbes/dbo_TEST_GETNEXTTRIMESTRE.sql create mode 100644 sql/storedTestbes/dbo_TEST_GETTRIMESTRE2.sql create mode 100644 sql/storedTestbes/dbo_TEST_MERGED_PROCEDURE.sql create mode 100644 sql/storedTestbes/dbo_TrimTable.sql create mode 100644 sql/storedTestbes/dbo_TrimWSEITables.sql create mode 100644 sql/storedTestbes/dbo_UPDATE_EVASIONE.sql create mode 100644 sql/storedTestbes/dbo_UTIL_ESTRAI_COMPLEX_MODIFICATA.sql create mode 100644 sql/storedTestbes/dbo_creaExcelVerificaCampioneS80.sql create mode 100644 sql/storedTestbes/dbo_creaExcelVerificaCampioneS80_excel.sql create mode 100644 sql/storedTestbes/dbo_getListaPdfStorici.sql create mode 100644 sql/storedTestbes/dbo_inserisciRichiestaStorico.sql create mode 100644 sql/storedTestbes/dbo_sp_WhoIsActive.sql create mode 100644 sql/storedTestbes/dbo_sp_dts_addlogentry.sql create mode 100644 sql/storedTestbes/dbo_sp_getColors.sql create mode 100644 sql/storedTestbes/dbo_srv_change_Professional_Base_CU.sql create mode 100644 sql/storedTestbes/dbo_srv_change_codfiscaleMassiva_CU_SEIReport.sql create mode 100644 sql/storedTestbes/dbo_srv_change_codfiscale_20161114_OLwhenQready.sql create mode 100644 sql/storedTestbes/dbo_srv_change_rete_CU.sql create mode 100644 sql/storedTestbes/dbo_test_S80All_fc.sql create mode 100644 sql/storedTestbes/dbo_test_compl_testo_sezione_adeg_obsoleta.sql create mode 100644 sql/storedTestbes/dbo_test_fc.sql create mode 100644 sql/storedTestbes/dbo_usp_ExportImage.sql create mode 100644 sql/storedTestbes/dbo_usp_ImportImage.sql create mode 100644 sql/storedTestbes/level2martperiodico_DM_PatrimonioBFAggregato.sql create mode 100644 sql/storedTestbes/level2martperiodico_DM_PatrimonioBFAggregato_pre_selective.sql create mode 100644 sql/storedTestbes/level2martperiodico_DM_PatrimonioNonRappresentabileAsset.sql create mode 100644 sql/storedTestbes/level2martperiodico_DM_PatrimonioNonRappresentabileAsset_pre_selective.sql create mode 100644 sql/storedTestbes/level2martperiodico_DM_PatrimonioTerziAggregato.sql create mode 100644 sql/storedTestbes/level2martperiodico_DM_PatrimonioTerziAggregato_pre_selective.sql create mode 100644 sql/storedTestbes/wh_MERGED_PROCEDURE.sql create mode 100644 sql/storedTestbes/wh_MERGED_PROCEDURE_NUOVA.sql create mode 100644 sql/storedTestbes/wh_MERGED_PROCEDURE_PL_Prodotti_Non_Associati_Area_Inv.sql create mode 100644 sql/storedTestbes/wh_MERGED_PROCEDURE_S10.sql create mode 100644 sql/storedTestbes/wh_MERGED_PROCEDURE_S151.sql create mode 100644 sql/storedTestbes/wh_MERGED_PROCEDURE_S169.sql create mode 100644 sql/storedTestbes/wh_MERGED_PROCEDURE_S170.sql create mode 100644 sql/storedTestbes/wh_MERGED_PROCEDURE_S178.sql create mode 100644 sql/storedTestbes/wh_MERGED_PROCEDURE_S43.sql create mode 100644 sql/storedTestbes/wh_MERGED_PROCEDURE_S85.sql create mode 100644 sql/storedTestbes/wh_ProduceMaladetti.sql create mode 100644 sql/storedTestbes/wh_p_PL_AreeMonitorate.sql create mode 100644 sql/storedTestbes/wh_p_PL_D2_S151ProfiloDiRischio.sql create mode 100644 sql/storedTestbes/wh_p_PL_D2_S152Patrimonio.sql create mode 100644 sql/storedTestbes/wh_p_PL_D2_S153PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/wh_p_PL_D2_S154PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/wh_p_PL_D2_S155PatrimonioImmobiliare.sql create mode 100644 sql/storedTestbes/wh_p_PL_D2_S156ALtroPatrimonio.sql create mode 100644 sql/storedTestbes/wh_p_PL_D2_S157ConfrontoPiramidi.sql create mode 100644 sql/storedTestbes/wh_p_PL_D2_S158PiramideModello.sql create mode 100644 sql/storedTestbes/wh_p_PL_D2_S159PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/wh_p_PL_D2_S160DettaglioProdottiBF.sql create mode 100644 sql/storedTestbes/wh_p_PL_D2_S162DettaglioProdotti.sql create mode 100644 sql/storedTestbes/wh_p_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql create mode 100644 sql/storedTestbes/wh_p_PL_D2_S164PolizzeAltriIstituti.sql create mode 100644 sql/storedTestbes/wh_p_PL_D2_S165FondiAltriIstituti.sql create mode 100644 sql/storedTestbes/wh_p_PL_D2_S167DistribuzioneRischioCredito.sql create mode 100644 sql/storedTestbes/wh_p_PL_D2_S168TabellaEmittenti.sql create mode 100644 sql/storedTestbes/wh_p_PL_D2_S169RischiomercatoRischiocredito.sql create mode 100644 sql/storedTestbes/wh_p_PL_D2_S170RischioDiversificazione.sql create mode 100644 sql/storedTestbes/wh_p_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedTestbes/wh_p_PL_D_S170RischioDiversificazione.sql create mode 100644 sql/storedTestbes/wh_p_PL_D_S178IndicatoriEsitoAdeguatezza.sql create mode 100644 sql/storedTestbes/wh_p_PL_MP_S133AreeBisognoPrincProd.sql create mode 100644 sql/storedTestbes/wh_p_PL_MP_S133BISPrincipaliProdotti.sql create mode 100644 sql/storedTestbes/wh_p_PL_MP_S134BISMonitoraggioLiqInv.sql create mode 100644 sql/storedTestbes/wh_p_PL_MP_S134MonitoraggioLiquidita.sql create mode 100644 sql/storedTestbes/wh_p_PL_MP_S135MonitoraggioInvestimento.sql create mode 100644 sql/storedTestbes/wh_p_PL_MP_S137BISCapitaleProtetto.sql create mode 100644 sql/storedTestbes/wh_p_PL_MP_S137Bonus.sql create mode 100644 sql/storedTestbes/wh_p_PL_MP_S140AnalisiRisparmioCharts.sql create mode 100644 sql/storedTestbes/wh_p_PL_MP_S141AnalisiRisparmioTable.sql create mode 100644 sql/storedTestbes/wh_p_PL_MP_S146RischioDiversificazione.sql create mode 100644 sql/storedTestbes/wh_p_PL_Prodotti_Non_Associati_Area_Inv.sql create mode 100644 sql/storedTestbes/wh_p_PL_S10PatrimonioFinanziario.sql create mode 100644 sql/storedTestbes/wh_p_PL_S43BISDettaglioProdottiBF.sql create mode 100644 sql/storedTestbes/wh_p_PL_S43ContoCorrenteBF.sql create mode 100644 sql/storedTestbes/wh_p_PL_S43DettaglioProdottiBF.sql create mode 100644 sql/storedTestbes/wh_p_PL_S43LineaSelfBF.sql create mode 100644 sql/storedTestbes/wh_p_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql create mode 100644 sql/storedTestbes/wh_p_PL_S80Alternativa.sql create mode 100644 sql/storedTestbes/wh_p_PL_S82BisDatiSintetici.sql create mode 100644 sql/storedTestbes/wh_p_PL_S82DatiSintetici.sql create mode 100644 sql/storedTestbes/wh_p_PL_S85RendimentoPortafoglioCono.sql create mode 100644 sql/storedTestbes/wh_p_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql create mode 100644 sql/storedTestbes/wh_p_PL_S96RischiomercatoRischiocredito.sql diff --git a/.gitignore b/.gitignore index 10242663..01e725eb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ logs/ -stored*/ -extract/ \ No newline at end of file +storedLocalhost/ +# extract/ \ No newline at end of file diff --git a/script/conf.ps1 b/script/conf.ps1 index ec36fd7c..546938c8 100644 --- a/script/conf.ps1 +++ b/script/conf.ps1 @@ -3,14 +3,18 @@ $config = @{ # Credenziali database DbUser = "F701264" DbPassword = "contrsei" - # DbHostOutput = "DATABASE_PDC_LOCALE" - # DbHostOutput = "testbes.armundia.com" - DbHostInput = "bfdskrepsei01c.sysfideuram.sysbancafideuram.it" DbHostOutput = "DATABASE_PDC_LOCALE" + # DbHostOutput = "testbes.armundia.com" + # DbHostInput = "bfdskrepsei01c.sysfideuram.sysbancafideuram.it" + # DbHostInput = "testbes.armundia.com" + # DbHostInput = "DATABASE_PDC_LOCALE" + DbHostInput = "bfdskreport01p.fideuram.bancafideuram.it" DbName = "C6StampeCentralizzate" # Directory di log - LogDir = Join-Path $PSScriptRoot "..\logs" + WorkDir = Split-Path -Path $PSScriptRoot -Parent + LogDir = Join-Path (Split-Path -Path $PSScriptRoot -Parent) "logs" + SqlDir = Join-Path (Split-Path -Path $PSScriptRoot -Parent) "sql" } # Esporta le variabili come variabili d'ambiente @@ -20,6 +24,8 @@ $env:dbHostInput = $config.DbHostInput $env:dbHostOutput = $config.DbHostOutput $env:dbName = $config.DbName $env:logDir = $config.LogDir +$env:workDir = $config.WorkDir +$env:sqlDir = $config.SqlDir # Funzione per ottenere la connection string function Get-DatabaseConnectionString { diff --git a/script/creadb.ps1 b/script/creadb.ps1 index e7539dbc..4885b45f 100644 --- a/script/creadb.ps1 +++ b/script/creadb.ps1 @@ -1,12 +1,6 @@ # Importa configurazione . "$PSScriptRoot\conf.ps1" -# Imposta directory di lavoro -$env:compareDir = $PSScriptRoot -$env:workdir = Split-Path -Path $env:compareDir -Parent -$env:scriptDir = Join-Path $env:workdir "script" -$sqlbase = Join-Path $env:workdir "sql" - $scriptName = $MyInvocation.MyCommand.Name $logFile = Join-Path $env:logDir "${scriptName}.log" # for debug "start" | Out-File -FilePath $logFile @@ -17,7 +11,7 @@ $sqlFiles = @( # "C6SC08_creauser.sql", # "StampeCentralizzateBackupRidotto.sql", # "enable_sa_full.sql", - "enable_F701264_full.sql", + # "enable_F701264_full.sql", "" ) @@ -25,7 +19,7 @@ $sqlFiles = $sqlFiles[0..($sqlFiles.Count-2)] Write-Host "Will execute $($sqlFiles.Count) SQL files in order" foreach ($fileName in $sqlFiles) { - $fileSql = Join-Path $sqlbase $fileName + $fileSql = Join-Path $env:sqlDir $fileName if (-not (Test-Path $fileSql)) { Write-Host "File not found: $fileSql" -ForegroundColor Red @@ -43,7 +37,7 @@ foreach ($fileName in $sqlFiles) { while (-not $success -and $retryCount -lt $maxRetries) { # try { # Execute the SQL file using sqlcmd - sqlcmd -S $env:dbHostOutput -U $env:dbUser -P $env:dbPassword -i $fileSql >$fileLog 2>&1 + sqlcmd -S $env:dbHostOutput -U $env:dbUser -P $env:dbPassword -d $env:dbName -i $fileSql >$fileLog 2>&1 $esitoComando = $LASTEXITCODE # $risultato = $risultato.TrimEnd("`r", "`n") "logSqlApp: $logSqlApp esitoComando: $esitoComando" | Out-File -FilePath $logFile -Append @@ -51,7 +45,7 @@ foreach ($fileName in $sqlFiles) { IF ( $esitoComando -eq 0 ) { "run $fileName " | Out-File -FilePath $logFile -Append - # Remove-Item -Path $fileLog | Out-File -FilePath $logFile -Append + Remove-Item -Path $fileLog | Out-File -FilePath $logFile -Append (Get-Date).ToString("yyyy-MM-dd_HH:mm:ss")+" item: $fileSql completed risultato in $fileLog " | Out-File -FilePath $logFile -Append } else { $(Get-Date -Format "yyyy-MM-dd_HH:mm:ss")+" $esitoComando" diff --git a/script/estrae_stored.ps1 b/script/estrae_stored.ps1 index 60360896..45aa9111 100644 --- a/script/estrae_stored.ps1 +++ b/script/estrae_stored.ps1 @@ -9,43 +9,65 @@ if (-not (Test-Path -Path $OutputPath)) { New-Item -ItemType Directory -Path $OutputPath | Out-Null } -# Query per estrarre le stored procedures -$query = @" -SELECT - OBJECT_SCHEMA_NAME(object_id) as SchemaName, - OBJECT_NAME(object_id) as ProcedureName, - OBJECT_DEFINITION(object_id) as ProcedureDefinition -FROM sys.procedures -ORDER BY SchemaName, ProcedureName -"@ - try { # Importa il modulo SqlServer se non è già caricato if (-not (Get-Module -Name SqlServer)) { Import-Module SqlServer } - # Esegui la query per ottenere le stored procedures - $storedProcedures = Invoke-Sqlcmd -ServerInstance $env:dbHostInput -Database $env:dbName -Query $query -Username $env:dbUser -Password $env:dbPassword + # Query per estrarre la stored procedure + $query = @" + SELECT + s.name as SchemaName, + o.name as ProcedureName, + CAST(m.definition as NVARCHAR(MAX)) as ProcedureDefinition + FROM sys.sql_modules m + INNER JOIN sys.objects o ON m.object_id = o.object_id + INNER JOIN sys.schemas s ON o.schema_id = s.schema_id + WHERE o.type = 'P' + -- AND o.name = 'CercaCaratteriAnomali_20150205' +"@ + + # Esegui la query + $storedProcedures = Invoke-Sqlcmd -ServerInstance $env:dbHostInput -Database $env:dbName -Query $query -Username $env:dbUser -Password $env:dbPassword -TrustServerCertificate -MaxCharLength 1000000 + + # Funzione per pulire il nome del file + function Clean-FileName { + param([string]$name) + # Sostituisce caratteri non validi con underscore + $invalidChars = [IO.Path]::GetInvalidFileNameChars() + $invalidChars += '[', ']', ' ', '(', ')', '{', '}', '´', '`', '''', '"' + $result = $name + foreach ($char in $invalidChars) { + $result = $result.Replace($char, '_') + } + return $result + } # Per ogni stored procedure trovata foreach ($sp in $storedProcedures) { - $schemaName = $sp.SchemaName - $procName = $sp.ProcedureName + $schemaName = Clean-FileName $sp.SchemaName + $procName = Clean-FileName $sp.ProcedureName $definition = $sp.ProcedureDefinition # Crea il nome del file $fileName = Join-Path $OutputPath "${schemaName}_${procName}.sql" - # Scrivi il contenuto nel file + # Formatta il contenuto + # -- Schema: $schemaName + # -- Stored Procedure: $procName + $content = @" --- Schema: $schemaName --- Stored Procedure: $procName --- Data Estrazione: $(Get-Date -Format "yyyy-MM-dd HH:mm:ss") - -$definition +$($definition.Trim()) "@ - $content | Out-File -FilePath $fileName -Encoding UTF8 + + # Rimuovi righe vuote multiple + $lines = $content -split "`r`n" | Where-Object { -not [string]::IsNullOrWhiteSpace($_) } + $content = $lines -join "`r`n" + + # Scrivi il contenuto nel file con codifica UTF8 con BOM + $utf8WithBom = New-Object System.Text.UTF8Encoding($true) + [System.IO.File]::WriteAllText($fileName, $content, $utf8WithBom) Write-Host "Creato file per stored procedure: $schemaName.$procName" } diff --git a/script/pulisceDB.ps1 b/script/pulisceDB.ps1 index dcaf80c1..b6c0b6df 100644 --- a/script/pulisceDB.ps1 +++ b/script/pulisceDB.ps1 @@ -20,1407 +20,315 @@ try { # ORDER BY 1 $procedures = @() - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "aggiornaDataValidazione"; FullName = "[C6Mart].[aggiornaDataValidazione]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "AL_AggiornaPortafoglioCliente"; FullName = "[C6Mart].[AL_AggiornaPortafoglioCliente]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "CercaCaratteriAnomali"; FullName = "[C6Mart].[CercaCaratteriAnomali]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "Decodifica_Concentrazione_Prodotti_Complessi"; FullName = "[C6Mart].[Decodifica_Concentrazione_Prodotti_Complessi]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_AGGIORNA_CLIENTE"; FullName = "[C6Mart].[DM_AGGIORNA_CLIENTE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_ALBERO_PRODOTTI"; FullName = "[C6Mart].[DM_ALBERO_PRODOTTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_ALL_PATRIMONIO"; FullName = "[C6Mart].[DM_ALL_PATRIMONIO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_ANAG_CC"; FullName = "[C6Mart].[DM_ANAG_CC]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_ANAG_CC_TERZI"; FullName = "[C6Mart].[DM_ANAG_CC_TERZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_ANAG_CLIENTI"; FullName = "[C6Mart].[DM_ANAG_CLIENTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_ANAG_CLIENTI_PREV"; FullName = "[C6Mart].[DM_ANAG_CLIENTI_PREV]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_ANAG_CONTRATTI"; FullName = "[C6Mart].[DM_ANAG_CONTRATTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_ANAG_CONTRATTI_ASS"; FullName = "[C6Mart].[DM_ANAG_CONTRATTI_ASS]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_ANAG_EMITTENTI"; FullName = "[C6Mart].[DM_ANAG_EMITTENTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_ANAG_PRODOTTI"; FullName = "[C6Mart].[DM_ANAG_PRODOTTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_ANAG_PRODOTTI_TERZI"; FullName = "[C6Mart].[DM_ANAG_PRODOTTI_TERZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_ANAG_PROMOTORI"; FullName = "[C6Mart].[DM_ANAG_PROMOTORI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_ANAG_SELF"; FullName = "[C6Mart].[DM_ANAG_SELF]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_ANAG_SELF_20181129_PreMioFoglio"; FullName = "[C6Mart].[DM_ANAG_SELF_20181129_PreMioFoglio]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_ANAG_SELF_BK_eligoTitoli"; FullName = "[C6Mart].[DM_ANAG_SELF_BK_eligoTitoli]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_ASSET_PERC"; FullName = "[C6Mart].[DM_ASSET_PERC]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_ASSET_PERC_TERZI"; FullName = "[C6Mart].[DM_ASSET_PERC_TERZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_ASSETCLASS"; FullName = "[C6Mart].[DM_ASSETCLASS]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_ASSETCLASS_TERZI"; FullName = "[C6Mart].[DM_ASSETCLASS_TERZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_CATEGORIE_PRODOTTO"; FullName = "[C6Mart].[DM_CATEGORIE_PRODOTTO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_CLIENTI_NON_MIGRATI"; FullName = "[C6Mart].[DM_CLIENTI_NON_MIGRATI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_CODIFICA_CREDITRISK"; FullName = "[C6Mart].[DM_CODIFICA_CREDITRISK]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_CODIFICA_PIRAMIDI"; FullName = "[C6Mart].[DM_CODIFICA_PIRAMIDI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_CODIFICA_RISCHIO"; FullName = "[C6Mart].[DM_CODIFICA_RISCHIO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_CREA_POSITIONID"; FullName = "[C6Mart].[DM_CREA_POSITIONID]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_DATI_REPORT"; FullName = "[C6Mart].[DM_DATI_REPORT]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_DETTAGLIO_ASUL"; FullName = "[C6Mart].[DM_DETTAGLIO_ASUL]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_EMAIL_PB"; FullName = "[C6Mart].[DM_EMAIL_PB]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_ESITI_CARICAMENTI"; FullName = "[C6Mart].[DM_ESITI_CARICAMENTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_GER_PROMOTORI"; FullName = "[C6Mart].[DM_GER_PROMOTORI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_GestioneEmail"; FullName = "[C6Mart].[DM_GestioneEmail]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_GestioneEmailNA"; FullName = "[C6Mart].[DM_GestioneEmailNA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_GestioneEmailNOPRO"; FullName = "[C6Mart].[DM_GestioneEmailNOPRO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_MIFID"; FullName = "[C6Mart].[DM_MIFID]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_MIFID_20181004"; FullName = "[C6Mart].[DM_MIFID_20181004]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_PARTITE_VIAGGIANTI"; FullName = "[C6Mart].[DM_PARTITE_VIAGGIANTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_PATRIMONIO_AGG"; FullName = "[C6Mart].[DM_PATRIMONIO_AGG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_PATRIMONIO_ALTRO"; FullName = "[C6Mart].[DM_PATRIMONIO_ALTRO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_PATRIMONIO_BF"; FullName = "[C6Mart].[DM_PATRIMONIO_BF]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_PATRIMONIO_BF_old"; FullName = "[C6Mart].[DM_PATRIMONIO_BF_old]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_PATRIMONIO_EMITTENTI"; FullName = "[C6Mart].[DM_PATRIMONIO_EMITTENTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_PATRIMONIO_IMMOBILIARE"; FullName = "[C6Mart].[DM_PATRIMONIO_IMMOBILIARE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_PATRIMONIO_TERZI"; FullName = "[C6Mart].[DM_PATRIMONIO_TERZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_PIRAMIDE_MOD"; FullName = "[C6Mart].[DM_PIRAMIDE_MOD]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_PIRAMIDE_VERT"; FullName = "[C6Mart].[DM_PIRAMIDE_VERT]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_PopolaContratti"; FullName = "[C6Mart].[DM_PopolaContratti]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_PopolaContratti_20161026"; FullName = "[C6Mart].[DM_PopolaContratti_20161026]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_PopolaContratti_old240213"; FullName = "[C6Mart].[DM_PopolaContratti_old240213]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_PREVIDENZIALE"; FullName = "[C6Mart].[DM_PREVIDENZIALE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_RISCHIO_AGGREGATO"; FullName = "[C6Mart].[DM_RISCHIO_AGGREGATO]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_RISCHIO_AGGREGATO_20181003"; FullName = "[C6Mart].[DM_RISCHIO_AGGREGATO_20181003]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_RISCHIO_AGGREGATO_old"; FullName = "[C6Mart].[DM_RISCHIO_AGGREGATO_old]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_RISCHIO_AGGREGATO_pre_selective"; FullName = "[C6Mart].[DM_RISCHIO_AGGREGATO_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_RISCHIO_DETTAGLIO"; FullName = "[C6Mart].[DM_RISCHIO_DETTAGLIO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_RISCHIO_DETTAGLIO_pre_selective"; FullName = "[C6Mart].[DM_RISCHIO_DETTAGLIO_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_RISCHIOEMITTENTI"; FullName = "[C6Mart].[DM_RISCHIOEMITTENTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_STRUTTURA_RETE"; FullName = "[C6Mart].[DM_STRUTTURA_RETE]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_STRUTTURA_RETE_20160427"; FullName = "[C6Mart].[DM_STRUTTURA_RETE_20160427]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_STRUTTURA_RETE_20161024"; FullName = "[C6Mart].[DM_STRUTTURA_RETE_20161024]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_TEST_QUALITY"; FullName = "[C6Mart].[DM_TEST_QUALITY]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_TEST_QUALITY_20181003"; FullName = "[C6Mart].[DM_TEST_QUALITY_20181003]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_VAR_ADEGUATEZZA"; FullName = "[C6Mart].[DM_VAR_ADEGUATEZZA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_C6_S_Generator"; FullName = "[C6Mart].[GESTIONE_C6_S_Generator]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_C6_S_Generator_AND"; FullName = "[C6Mart].[GESTIONE_C6_S_Generator_AND]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_C6_S_Generator_bkp_20250228_Pre_ESG2024"; FullName = "[C6Mart].[GESTIONE_C6_S_Generator_bkp_20250228_Pre_ESG2024]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_C6_S_Generator_EN"; FullName = "[C6Mart].[GESTIONE_C6_S_Generator_EN]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_C6_S_Generator_OLD"; FullName = "[C6Mart].[GESTIONE_C6_S_Generator_OLD]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_C6_S_QueryDatiComuniSql"; FullName = "[C6Mart].[GESTIONE_C6_S_QueryDatiComuniSql]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_C6_S_Vincoli"; FullName = "[C6Mart].[GESTIONE_C6_S_Vincoli]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_CRUSCOTTO_ARCHIVIAZIONE"; FullName = "[C6Mart].[GESTIONE_CRUSCOTTO_ARCHIVIAZIONE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_INSERT_PDF_FTP"; FullName = "[C6Mart].[GESTIONE_INSERT_PDF_FTP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_INSERT_PDF_FTP_RISTAMPA"; FullName = "[C6Mart].[GESTIONE_INSERT_PDF_FTP_RISTAMPA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_INSERT_PDF_FTP_TEST"; FullName = "[C6Mart].[GESTIONE_INSERT_PDF_FTP_TEST]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_INSERT_ZIP"; FullName = "[C6Mart].[GESTIONE_INSERT_ZIP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_S_Intermediari"; FullName = "[C6Mart].[GESTIONE_S_Intermediari]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_EMAIL_DA_INVIARE"; FullName = "[C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_EMAIL_DA_INVIARE.test_e"; FullName = "[C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE.test_e]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_EMAIL_DA_INVIARE_20190802"; FullName = "[C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE_20190802]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_EMAIL_DA_INVIARE_CU"; FullName = "[C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE_CU]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_EMAIL_DA_INVIARE_new"; FullName = "[C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE_new]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_FTP_DA_INVIARE"; FullName = "[C6Mart].[GESTIONE_SELECT_FTP_DA_INVIARE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_FTP_INVIATI"; FullName = "[C6Mart].[GESTIONE_SELECT_FTP_INVIATI]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_FTP_INVIATI_TEST_NEW"; FullName = "[C6Mart].[GESTIONE_SELECT_FTP_INVIATI_TEST_NEW]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_HOST"; FullName = "[C6Mart].[GESTIONE_SELECT_HOST]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_HOST_GIORNALIERO"; FullName = "[C6Mart].[GESTIONE_SELECT_HOST_GIORNALIERO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_LETTERE_DA_INVIARE"; FullName = "[C6Mart].[GESTIONE_SELECT_LETTERE_DA_INVIARE]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina"; FullName = "[C6Mart].[GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO"; FullName = "[C6Mart].[GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano"; FullName = "[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto"; FullName = "[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_Luca"; FullName = "[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Luca]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_NA"; FullName = "[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.TEMP"; FullName = "[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.TEMP]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180309_PreServizi"; FullName = "[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180309_PreServizi]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180928_OLD"; FullName = "[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180928_OLD]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST"; FullName = "[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P"; FullName = "[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_NA_orig"; FullName = "[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_orig]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_NA_TEST_ANDREA"; FullName = "[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_TEST_ANDREA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_ZIP_DA_INVIARE"; FullName = "[C6Mart].[GESTIONE_SELECT_ZIP_DA_INVIARE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_UPDATE_EMAIL_HOST"; FullName = "[C6Mart].[GESTIONE_UPDATE_EMAIL_HOST]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_UPDATE_EMAIL_INVIATE"; FullName = "[C6Mart].[GESTIONE_UPDATE_EMAIL_INVIATE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_UPDATE_FTP"; FullName = "[C6Mart].[GESTIONE_UPDATE_FTP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_UPDATE_ZIP"; FullName = "[C6Mart].[GESTIONE_UPDATE_ZIP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GET_RECUPERO_LETTERE"; FullName = "[C6Mart].[GET_RECUPERO_LETTERE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "getCodiceContratto"; FullName = "[C6Mart].[getCodiceContratto]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GetRiskArea"; FullName = "[C6Mart].[GetRiskArea]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "InvioLetteraBenvenuto_ExcludedListApply"; FullName = "[C6Mart].[InvioLetteraBenvenuto_ExcludedListApply]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_FD177ProfiloDiRischio_Adeguatezza"; FullName = "[C6Mart].[PL_D_FD177ProfiloDiRischio_Adeguatezza]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_FD178IndicatoriEsitoAdeguatezza"; FullName = "[C6Mart].[PL_D_FD178IndicatoriEsitoAdeguatezza]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S150Anagrafica"; FullName = "[C6Mart].[PL_D_S150Anagrafica]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S151ProfiloDiRischio"; FullName = "[C6Mart].[PL_D_S151ProfiloDiRischio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S152Patrimonio"; FullName = "[C6Mart].[PL_D_S152Patrimonio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S153PatrimonioFinanziario"; FullName = "[C6Mart].[PL_D_S153PatrimonioFinanziario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S154PatrimonioFinanziario"; FullName = "[C6Mart].[PL_D_S154PatrimonioFinanziario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S155PatrimonioImmobiliare"; FullName = "[C6Mart].[PL_D_S155PatrimonioImmobiliare]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S156ALtroPatrimonio"; FullName = "[C6Mart].[PL_D_S156ALtroPatrimonio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S157ConfrontoPiramidi"; FullName = "[C6Mart].[PL_D_S157ConfrontoPiramidi]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S158PiramideModello"; FullName = "[C6Mart].[PL_D_S158PiramideModello]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S159PatrimonioFinanziario"; FullName = "[C6Mart].[PL_D_S159PatrimonioFinanziario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S160DettaglioProdottiBF"; FullName = "[C6Mart].[PL_D_S160DettaglioProdottiBF]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S162DettaglioProdotti"; FullName = "[C6Mart].[PL_D_S162DettaglioProdotti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S163PatrimonioFinanziarioMAssetClass"; FullName = "[C6Mart].[PL_D_S163PatrimonioFinanziarioMAssetClass]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S164PolizzeAltriIstituti"; FullName = "[C6Mart].[PL_D_S164PolizzeAltriIstituti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S165FondiAltriIstituti"; FullName = "[C6Mart].[PL_D_S165FondiAltriIstituti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S166ContoCorrenteAI"; FullName = "[C6Mart].[PL_D_S166ContoCorrenteAI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S167DistribuzioneRischioCredito"; FullName = "[C6Mart].[PL_D_S167DistribuzioneRischioCredito]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S168TabellaEmittenti"; FullName = "[C6Mart].[PL_D_S168TabellaEmittenti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S169RischiomercatoRischiocredito"; FullName = "[C6Mart].[PL_D_S169RischiomercatoRischiocredito]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S170RischioDiversificazione"; FullName = "[C6Mart].[PL_D_S170RischioDiversificazione]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S171PatrimonioNonRappresentabileAssettClass"; FullName = "[C6Mart].[PL_D_S171PatrimonioNonRappresentabileAssettClass]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S177ProfiloDiRischio_Adeguatezza"; FullName = "[C6Mart].[PL_D_S177ProfiloDiRischio_Adeguatezza]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S178CasiParticolari"; FullName = "[C6Mart].[PL_D_S178CasiParticolari]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S178CasiParticolari_20181220"; FullName = "[C6Mart].[PL_D_S178CasiParticolari_20181220]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S178IndicatoriEsitoAdeguatezza"; FullName = "[C6Mart].[PL_D_S178IndicatoriEsitoAdeguatezza]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S179EmittentiConcentrazioneAlta"; FullName = "[C6Mart].[PL_D_S179EmittentiConcentrazioneAlta]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S180ProdottiComplessitaAlta"; FullName = "[C6Mart].[PL_D_S180ProdottiComplessitaAlta]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S180ProdottiComplessitaAlta_mini"; FullName = "[C6Mart].[PL_D_S180ProdottiComplessitaAlta_mini]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_FD150Anagrafica"; FullName = "[C6Mart].[PL_D2_FD150Anagrafica]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_FD159PatrimonioFinanziario"; FullName = "[C6Mart].[PL_D2_FD159PatrimonioFinanziario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_FD160DettaglioProdottiBF"; FullName = "[C6Mart].[PL_D2_FD160DettaglioProdottiBF]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_FD170RischioDiversificazione"; FullName = "[C6Mart].[PL_D2_FD170RischioDiversificazione]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S150Anagrafica"; FullName = "[C6Mart].[PL_D2_S150Anagrafica]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S151ProfiloDiRischio"; FullName = "[C6Mart].[PL_D2_S151ProfiloDiRischio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S152Patrimonio"; FullName = "[C6Mart].[PL_D2_S152Patrimonio]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S152Patrimonio_20190107_ProQuota"; FullName = "[C6Mart].[PL_D2_S152Patrimonio_20190107_ProQuota]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S152Patrimonio_20190111"; FullName = "[C6Mart].[PL_D2_S152Patrimonio_20190111]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S153PatrimonioFinanziario"; FullName = "[C6Mart].[PL_D2_S153PatrimonioFinanziario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S154PatrimonioFinanziario"; FullName = "[C6Mart].[PL_D2_S154PatrimonioFinanziario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S155PatrimonioImmobiliare"; FullName = "[C6Mart].[PL_D2_S155PatrimonioImmobiliare]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S155PatrimonioImmobiliare_20190107_ProQuota"; FullName = "[C6Mart].[PL_D2_S155PatrimonioImmobiliare_20190107_ProQuota]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S155PatrimonioImmobiliare_20190111"; FullName = "[C6Mart].[PL_D2_S155PatrimonioImmobiliare_20190111]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S156ALtroPatrimonio"; FullName = "[C6Mart].[PL_D2_S156ALtroPatrimonio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S157ConfrontoPiramidi"; FullName = "[C6Mart].[PL_D2_S157ConfrontoPiramidi]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli"; FullName = "[C6Mart].[PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S158PiramideModello"; FullName = "[C6Mart].[PL_D2_S158PiramideModello]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S159PatrimonioFinanziario"; FullName = "[C6Mart].[PL_D2_S159PatrimonioFinanziario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S160DettaglioProdottiBF"; FullName = "[C6Mart].[PL_D2_S160DettaglioProdottiBF]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli"; FullName = "[C6Mart].[PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S162DettaglioProdotti"; FullName = "[C6Mart].[PL_D2_S162DettaglioProdotti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S163PatrimonioFinanziarioMAssetClass"; FullName = "[C6Mart].[PL_D2_S163PatrimonioFinanziarioMAssetClass]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S163PatrimonioFinanziarioMAssetClass_NEW_20160908"; FullName = "[C6Mart].[PL_D2_S163PatrimonioFinanziarioMAssetClass_NEW_20160908]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S164PolizzeAltriIstituti"; FullName = "[C6Mart].[PL_D2_S164PolizzeAltriIstituti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S165FondiAltriIstituti"; FullName = "[C6Mart].[PL_D2_S165FondiAltriIstituti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S166ContoCorrenteAI"; FullName = "[C6Mart].[PL_D2_S166ContoCorrenteAI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S167DistribuzioneRischioCredito"; FullName = "[C6Mart].[PL_D2_S167DistribuzioneRischioCredito]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S168TabellaEmittenti"; FullName = "[C6Mart].[PL_D2_S168TabellaEmittenti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S169RischiomercatoRischiocredito"; FullName = "[C6Mart].[PL_D2_S169RischiomercatoRischiocredito]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S170RischioDiversificazione"; FullName = "[C6Mart].[PL_D2_S170RischioDiversificazione]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S171PatrimonioNonRappresentabileAssettClass"; FullName = "[C6Mart].[PL_D2_S171PatrimonioNonRappresentabileAssettClass]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D3_FD151ProfiloDiRischio"; FullName = "[C6Mart].[PL_D3_FD151ProfiloDiRischio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D3_S151ProfiloDiRischio"; FullName = "[C6Mart].[PL_D3_S151ProfiloDiRischio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_FD181PreferenzeESG"; FullName = "[C6Mart].[PL_FD181PreferenzeESG]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_FD181PreferenzeESG:bkp_pre_ESG2024"; FullName = "[C6Mart].[PL_FD181PreferenzeESG:bkp_pre_ESG2024]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_FD182BISDettaglioProdottiESG"; FullName = "[C6Mart].[PL_FD182BISDettaglioProdottiESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_FD182DettaglioProdottiESG"; FullName = "[C6Mart].[PL_FD182DettaglioProdottiESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_FD185UCaratteristicheESG"; FullName = "[C6Mart].[PL_FD185UCaratteristicheESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_FD186DettaglioPortafoglioSei"; FullName = "[C6Mart].[PL_FD186DettaglioPortafoglioSei]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_FD187SfdrTaxESG"; FullName = "[C6Mart].[PL_FD187SfdrTaxESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_FD188PaiESG"; FullName = "[C6Mart].[PL_FD188PaiESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_GetClientNegativeCurrentAccountsValue"; FullName = "[C6Mart].[PL_GetClientNegativeCurrentAccountsValue]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_GetClientSelfNegative"; FullName = "[C6Mart].[PL_GetClientSelfNegative]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_GetClientSelfNegCurrentAccountValue"; FullName = "[C6Mart].[PL_GetClientSelfNegCurrentAccountValue]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_Intermediari"; FullName = "[C6Mart].[PL_Intermediari]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_MP_FD133BISPrincipaliProdotti"; FullName = "[C6Mart].[PL_MP_FD133BISPrincipaliProdotti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_MP_FD147SintesiValute"; FullName = "[C6Mart].[PL_MP_FD147SintesiValute]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_MP_FD148DistribuzioneAssetClass"; FullName = "[C6Mart].[PL_MP_FD148DistribuzioneAssetClass]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S102DistribuzioneRischioCredito"; FullName = "[C6Mart].[PL_S102DistribuzioneRischioCredito]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S102DistribuzioneRischioCredito_OLD"; FullName = "[C6Mart].[PL_S102DistribuzioneRischioCredito_OLD]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S102DistribuzioneRischioCredito_OLD2"; FullName = "[C6Mart].[PL_S102DistribuzioneRischioCredito_OLD2]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S103TabellaEmittenti"; FullName = "[C6Mart].[PL_S103TabellaEmittenti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S10PatrimonioFinanziario"; FullName = "[C6Mart].[PL_S10PatrimonioFinanziario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S170LimitiMassimi"; FullName = "[C6Mart].[PL_S170LimitiMassimi]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S181PreferenzeESG"; FullName = "[C6Mart].[PL_S181PreferenzeESG]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024"; FullName = "[C6Mart].[PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S182BISDettaglioProdottiESG"; FullName = "[C6Mart].[PL_S182BISDettaglioProdottiESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S182DettaglioProdottiESG"; FullName = "[C6Mart].[PL_S182DettaglioProdottiESG]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024"; FullName = "[C6Mart].[PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S183iCapital"; FullName = "[C6Mart].[PL_S183iCapital]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S184CoerenzaESG"; FullName = "[C6Mart].[PL_S184CoerenzaESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S185UCaratteristicheESG"; FullName = "[C6Mart].[PL_S185UCaratteristicheESG]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024"; FullName = "[C6Mart].[PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S186DettaglioPortafoglioSei"; FullName = "[C6Mart].[PL_S186DettaglioPortafoglioSei]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S187SfdrTaxESG"; FullName = "[C6Mart].[PL_S187SfdrTaxESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S188PaiESG"; FullName = "[C6Mart].[PL_S188PaiESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S18PatrimonioFinanziarioRischio"; FullName = "[C6Mart].[PL_S18PatrimonioFinanziarioRischio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S1Patrimonio"; FullName = "[C6Mart].[PL_S1Patrimonio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S23DettaglioRischio"; FullName = "[C6Mart].[PL_S23DettaglioRischio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S25Anagrafica"; FullName = "[C6Mart].[PL_S25Anagrafica]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S26PatrimonioImmobiliare"; FullName = "[C6Mart].[PL_S26PatrimonioImmobiliare]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S27ALtroPatrimonio"; FullName = "[C6Mart].[PL_S27ALtroPatrimonio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S2PatrimonioFinanziario"; FullName = "[C6Mart].[PL_S2PatrimonioFinanziario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S31PatrimonioFinanziarioIntermediario"; FullName = "[C6Mart].[PL_S31PatrimonioFinanziarioIntermediario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S32PatrimonioFinanziarioMAssetClass"; FullName = "[C6Mart].[PL_S32PatrimonioFinanziarioMAssetClass]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S36ProfiloRischio"; FullName = "[C6Mart].[PL_S36ProfiloRischio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S37PiramideModello"; FullName = "[C6Mart].[PL_S37PiramideModello]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S42RischioDiversificazione"; FullName = "[C6Mart].[PL_S42RischioDiversificazione]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S43ContoCorrenteBF"; FullName = "[C6Mart].[PL_S43ContoCorrenteBF]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S43DettaglioProdottiBF"; FullName = "[C6Mart].[PL_S43DettaglioProdottiBF]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S43DettaglioProdottiBF_BK_eligoTitoli"; FullName = "[C6Mart].[PL_S43DettaglioProdottiBF_BK_eligoTitoli]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S43LineaSelfBF"; FullName = "[C6Mart].[PL_S43LineaSelfBF]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S43LineaSelfBF_20181214_PreMioFoglio"; FullName = "[C6Mart].[PL_S43LineaSelfBF_20181214_PreMioFoglio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S48DettaglioProdotti"; FullName = "[C6Mart].[PL_S48DettaglioProdotti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S49PolizzeAltriIstituti"; FullName = "[C6Mart].[PL_S49PolizzeAltriIstituti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S50FondiAltriIstituti"; FullName = "[C6Mart].[PL_S50FondiAltriIstituti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S51ContoCorrenteAI"; FullName = "[C6Mart].[PL_S51ContoCorrenteAI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S56PatrimonioBFAreeBisogno"; FullName = "[C6Mart].[PL_S56PatrimonioBFAreeBisogno]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S57ConfrontoPiramidi"; FullName = "[C6Mart].[PL_S57ConfrontoPiramidi]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S6PatrimonioFinanziario"; FullName = "[C6Mart].[PL_S6PatrimonioFinanziario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S75GradoCopertura"; FullName = "[C6Mart].[PL_S75GradoCopertura]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S76PatrimonioNonRappresentabileAssettClass"; FullName = "[C6Mart].[PL_S76PatrimonioNonRappresentabileAssettClass]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S95ProfiloDiRischio"; FullName = "[C6Mart].[PL_S95ProfiloDiRischio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S96RischiomercatoRischiocredito"; FullName = "[C6Mart].[PL_S96RischiomercatoRischiocredito]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S96RischiomercatoRischiocredito_old"; FullName = "[C6Mart].[PL_S96RischiomercatoRischiocredito_old]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_SavingMap"; FullName = "[C6Mart].[PL_SavingMap]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "Popola_S133_S157DatiPiramide"; FullName = "[C6Mart].[Popola_S133_S157DatiPiramide]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "Popola_S148DistribuzioneAssetClass"; FullName = "[C6Mart].[Popola_S148DistribuzioneAssetClass]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "Popolamento_RP_W6DAILY"; FullName = "[C6Mart].[Popolamento_RP_W6DAILY]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PreCheckIDX"; FullName = "[C6Mart].[PreCheckIDX]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PROM_TuttiIPortafogli"; FullName = "[C6Mart].[PROM_TuttiIPortafogli]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PROM_TuttiIPortafogli_old"; FullName = "[C6Mart].[PROM_TuttiIPortafogli_old]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RM_Sintesi_Cliente"; FullName = "[C6Mart].[RM_Sintesi_Cliente]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_AggiornaFlagContratto"; FullName = "[C6Mart].[RP_AggiornaFlagContratto]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_AggiornaFlagContratto_20161026"; FullName = "[C6Mart].[RP_AggiornaFlagContratto_20161026]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_ANAG_CC"; FullName = "[C6Mart].[RP_DM_ANAG_CC]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_ANAG_CC_20170421"; FullName = "[C6Mart].[RP_DM_ANAG_CC_20170421]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_ANAG_CC_TERZI"; FullName = "[C6Mart].[RP_DM_ANAG_CC_TERZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_ANAG_CLIENTI"; FullName = "[C6Mart].[RP_DM_ANAG_CLIENTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_ANAG_PRODOTTI"; FullName = "[C6Mart].[RP_DM_ANAG_PRODOTTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_ANAG_PRODOTTI_TERZI"; FullName = "[C6Mart].[RP_DM_ANAG_PRODOTTI_TERZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_ANAG_PRODOTTI_VALUTE"; FullName = "[C6Mart].[RP_DM_ANAG_PRODOTTI_VALUTE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_ANAG_PROMOTORI"; FullName = "[C6Mart].[RP_DM_ANAG_PROMOTORI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_ASSET_PERC"; FullName = "[C6Mart].[RP_DM_ASSET_PERC]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_ASSET_PERC_TERZI"; FullName = "[C6Mart].[RP_DM_ASSET_PERC_TERZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_ASSETCLASS"; FullName = "[C6Mart].[RP_DM_ASSETCLASS]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_ASSETCLASS_TERZI"; FullName = "[C6Mart].[RP_DM_ASSETCLASS_TERZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_BrsClienteESG"; FullName = "[C6Mart].[RP_DM_BrsClienteESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_Check_GestioneEmailNOPRO"; FullName = "[C6Mart].[RP_DM_Check_GestioneEmailNOPRO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_CheckEmail"; FullName = "[C6Mart].[RP_DM_CheckEmail]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_DETTAGLIO_ASUL"; FullName = "[C6Mart].[RP_DM_DETTAGLIO_ASUL]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_EMAIL_PB"; FullName = "[C6Mart].[RP_DM_EMAIL_PB]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_ESG_ANAG_METRICHE"; FullName = "[C6Mart].[RP_DM_ESG_ANAG_METRICHE]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4"; FullName = "[C6Mart].[RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_GestioneEmail"; FullName = "[C6Mart].[RP_DM_GestioneEmail]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_GestioneEmail_20161028"; FullName = "[C6Mart].[RP_DM_GestioneEmail_20161028]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_GestioneEmailNOPRO"; FullName = "[C6Mart].[RP_DM_GestioneEmailNOPRO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_PATRIMONIO_ALTRO"; FullName = "[C6Mart].[RP_DM_PATRIMONIO_ALTRO]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_PATRIMONIO_ALTRO_20150825"; FullName = "[C6Mart].[RP_DM_PATRIMONIO_ALTRO_20150825]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_PATRIMONIO_ALTRO_20160615"; FullName = "[C6Mart].[RP_DM_PATRIMONIO_ALTRO_20160615]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_PATRIMONIO_BF"; FullName = "[C6Mart].[RP_DM_PATRIMONIO_BF]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_PATRIMONIO_BF_20180201"; FullName = "[C6Mart].[RP_DM_PATRIMONIO_BF_20180201]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_PATRIMONIO_IMMOBILIARE"; FullName = "[C6Mart].[RP_DM_PATRIMONIO_IMMOBILIARE]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_PATRIMONIO_IMMOBILIARE_20190107_ProQuota"; FullName = "[C6Mart].[RP_DM_PATRIMONIO_IMMOBILIARE_20190107_ProQuota]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota"; FullName = "[C6Mart].[RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_PATRIMONIO_TERZI"; FullName = "[C6Mart].[RP_DM_PATRIMONIO_TERZI]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_PATRIMONIO_TERZI_20180219"; FullName = "[C6Mart].[RP_DM_PATRIMONIO_TERZI_20180219]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_PATRIMONIO_TERZI_luca"; FullName = "[C6Mart].[RP_DM_PATRIMONIO_TERZI_luca]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_PATRIMONIO_TERZI_Param"; FullName = "[C6Mart].[RP_DM_PATRIMONIO_TERZI_Param]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_PIRAMIDE_MOD"; FullName = "[C6Mart].[RP_DM_PIRAMIDE_MOD]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_2011026"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_2011026]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20160315"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20160315]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_201700302_ripristino_del_20170127"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_201700302_ripristino_del_20170127]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20170127"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20170127]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20170322"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20170322]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20170524"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20170524]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20170607_mifid"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20170607_mifid]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20170613"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20170613]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20170727_VarAdeguatezza"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20170727_VarAdeguatezza]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20171113"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20171113]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20171205"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20171205]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20171222"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20171222]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20180102"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20180102]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20180103"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20180103]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20180104"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20180104]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20181003"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20181003]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20181127"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20181127]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_W6CatESG"; FullName = "[C6Mart].[RP_DM_W6CatESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_W6CLIESG"; FullName = "[C6Mart].[RP_DM_W6CLIESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_WSEICAP"; FullName = "[C6Mart].[RP_DM_WSEICAP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_GESTIONE_SELECT_LETTERE_DA_INVIARE"; FullName = "[C6Mart].[RP_GESTIONE_SELECT_LETTERE_DA_INVIARE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_PROM_TuttiIPortafogli"; FullName = "[C6Mart].[RP_PROM_TuttiIPortafogli]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_PROM_TuttiIPortafogli_20180612_NewMotorePrometeia"; FullName = "[C6Mart].[RP_PROM_TuttiIPortafogli_20180612_NewMotorePrometeia]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_PROM_TuttiIPortafogli_20180612_PreMotorePrometeia"; FullName = "[C6Mart].[RP_PROM_TuttiIPortafogli_20180612_PreMotorePrometeia]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_PROM_TuttiIPortafogli2_Indicatore"; FullName = "[C6Mart].[RP_PROM_TuttiIPortafogli2_Indicatore]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_Selettore_GetDataThreads"; FullName = "[C6Mart].[RP_Selettore_GetDataThreads]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_SRV_ESTRAZ_GIORNALIERA_CC"; FullName = "[C6Mart].[RP_SRV_ESTRAZ_GIORNALIERA_CC]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "sp_getDatiReport"; FullName = "[C6Mart].[sp_getDatiReport]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "SRV_CHECK_C6_GIORNALIERO"; FullName = "[C6Mart].[SRV_CHECK_C6_GIORNALIERO]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "SRV_CHECK_C6_GIORNALIERO_20161026"; FullName = "[C6Mart].[SRV_CHECK_C6_GIORNALIERO_20161026]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "SRV_CHECK_C6_GIORNALIERO_20161026_2"; FullName = "[C6Mart].[SRV_CHECK_C6_GIORNALIERO_20161026_2]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "SRV_CHECK_C6_GIORNALIERO_AND"; FullName = "[C6Mart].[SRV_CHECK_C6_GIORNALIERO_AND]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "SRV_ESTRAZ_GIORNALIERA_CC"; FullName = "[C6Mart].[SRV_ESTRAZ_GIORNALIERA_CC]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "SRV_SELECT_EMAIL_BY_ISODATE"; FullName = "[C6Mart].[SRV_SELECT_EMAIL_BY_ISODATE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "SRV_STORICIZZAZIONE"; FullName = "[C6Mart].[SRV_STORICIZZAZIONE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "SRV_STORICIZZAZIONE_GLOBAL_ERROR"; FullName = "[C6Mart].[SRV_STORICIZZAZIONE_GLOBAL_ERROR]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "SRV_SVUOTAMART"; FullName = "[C6Mart].[SRV_SVUOTAMART]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "SRV_TABELLE_IN_MART"; FullName = "[C6Mart].[SRV_TABELLE_IN_MART]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "SRV_TRUNCATE_STAGING"; FullName = "[C6Mart].[SRV_TRUNCATE_STAGING]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "TabellaCaratteriAnomali"; FullName = "[C6Mart].[TabellaCaratteriAnomali]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "temp_RP_DM_GestioneEmail"; FullName = "[C6Mart].[temp_RP_DM_GestioneEmail]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "UT_INSERT_ERROR"; FullName = "[C6Mart].[UT_INSERT_ERROR]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "Util_Test_PL"; FullName = "[C6Mart].[Util_Test_PL]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "Verifica_Lancio_Giornaliero"; FullName = "[C6Mart].[Verifica_Lancio_Giornaliero]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "zzzPL_D_S157ConfrontoPiramidi"; FullName = "[C6Mart].[zzzPL_D_S157ConfrontoPiramidi]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "zzzPL_D_S170RischioDiversificazione"; FullName = "[C6Mart].[zzzPL_D_S170RischioDiversificazione]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "zzzPL_D2_S150Anagrafica"; FullName = "[C6Mart].[zzzPL_D2_S150Anagrafica]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "zzzPL_D2_S168TabellaEmittenti"; FullName = "[C6Mart].[zzzPL_D2_S168TabellaEmittenti]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "zzzQUALITY_CARATTERIVCONTRATTI"; FullName = "[C6Mart].[zzzQUALITY_CARATTERIVCONTRATTI]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "zzzRP_DM_GestioneEmailNA"; FullName = "[C6Mart].[zzzRP_DM_GestioneEmailNA]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "zzzSRV_CHECK_C6_GIORNALIERO_AND"; FullName = "[C6Mart].[zzzSRV_CHECK_C6_GIORNALIERO_AND]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "zzzzPL_D_S157ConfrontoPiramidi"; FullName = "[C6Mart].[zzzzPL_D_S157ConfrontoPiramidi]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "zzzzRP_SRV_CHECK_C6_GIORNALIERO"; FullName = "[C6Mart].[zzzzRP_SRV_CHECK_C6_GIORNALIERO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "AGGIORNA_NUMERO_PAGINE"; FullName = "[C6MartPeriodico].[AGGIORNA_NUMERO_PAGINE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "AggiornaFlagRolContrattoSei"; FullName = "[C6MartPeriodico].[AggiornaFlagRolContrattoSei]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "AL_AggiornaPortafoglioCliente"; FullName = "[C6MartPeriodico].[AL_AggiornaPortafoglioCliente]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "AL_AggiornaPortafoglioCliente_pre_selective"; FullName = "[C6MartPeriodico].[AL_AggiornaPortafoglioCliente_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "AppRendTabReader"; FullName = "[C6MartPeriodico].[AppRendTabReader]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "AppRendTabReader_bl"; FullName = "[C6MartPeriodico].[AppRendTabReader_bl]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Blacklist_Blocco_Tabellone"; FullName = "[C6MartPeriodico].[Blacklist_Blocco_Tabellone]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Blocco_Blacklist_AppRendicontazione"; FullName = "[C6MartPeriodico].[Blocco_Blacklist_AppRendicontazione]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "BONIFICA_WSEIUL"; FullName = "[C6MartPeriodico].[BONIFICA_WSEIUL]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "BONIFICA_WSEIUL_pre_selective"; FullName = "[C6MartPeriodico].[BONIFICA_WSEIUL_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "BonificaDataQuality"; FullName = "[C6MartPeriodico].[BonificaDataQuality]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Caricamento_TBGEN"; FullName = "[C6MartPeriodico].[Caricamento_TBGEN]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CercaCaratteriAnomali"; FullName = "[C6MartPeriodico].[CercaCaratteriAnomali]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CercaCaratteriAnomali_20150205"; FullName = "[C6MartPeriodico].[CercaCaratteriAnomali_20150205]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CHECK_AGGIORNA_ERRORI_GENERAZIONE"; FullName = "[C6MartPeriodico].[CHECK_AGGIORNA_ERRORI_GENERAZIONE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CHECK_CTV_PER_NEEDAREA_PER_CLIENT"; FullName = "[C6MartPeriodico].[CHECK_CTV_PER_NEEDAREA_PER_CLIENT]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CHECK_GET_CTV_ISSUES"; FullName = "[C6MartPeriodico].[CHECK_GET_CTV_ISSUES]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CHECK_GET_CTV_ISSUES_PER_AREA"; FullName = "[C6MartPeriodico].[CHECK_GET_CTV_ISSUES_PER_AREA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CHECK_GET_CUSTOMERS_FOR_CHECK"; FullName = "[C6MartPeriodico].[CHECK_GET_CUSTOMERS_FOR_CHECK]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CHECK_GET_NeedAreas"; FullName = "[C6MartPeriodico].[CHECK_GET_NeedAreas]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CHECK_GET_Perc_ISSUES"; FullName = "[C6MartPeriodico].[CHECK_GET_Perc_ISSUES]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET"; FullName = "[C6MartPeriodico].[CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET_ALL"; FullName = "[C6MartPeriodico].[CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET_ALL]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CHECK_GET_VAR_ISSUES"; FullName = "[C6MartPeriodico].[CHECK_GET_VAR_ISSUES]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CHECK_INSERT_CTV_PER_AREA"; FullName = "[C6MartPeriodico].[CHECK_INSERT_CTV_PER_AREA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CHECK_INSERT_CTV_PER_SECTION"; FullName = "[C6MartPeriodico].[CHECK_INSERT_CTV_PER_SECTION]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CHECK_INSERT_S10_PERC"; FullName = "[C6MartPeriodico].[CHECK_INSERT_S10_PERC]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CHECK_INSERT_VAR_PER_SECTION"; FullName = "[C6MartPeriodico].[CHECK_INSERT_VAR_PER_SECTION]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CHECK_PROFILO_SCADUTO"; FullName = "[C6MartPeriodico].[CHECK_PROFILO_SCADUTO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CHECK_PROFILO_SCADUTO_pre_selective"; FullName = "[C6MartPeriodico].[CHECK_PROFILO_SCADUTO_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CHECK_PROFILOSCADUTO_RFAZERO"; FullName = "[C6MartPeriodico].[CHECK_PROFILOSCADUTO_RFAZERO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CHECK_PROFILOSCADUTO_RFAZERO_pre_selective"; FullName = "[C6MartPeriodico].[CHECK_PROFILOSCADUTO_RFAZERO_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CHECK_RFA_ZERO"; FullName = "[C6MartPeriodico].[CHECK_RFA_ZERO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CHECK_RFA_ZERO_pre_selective"; FullName = "[C6MartPeriodico].[CHECK_RFA_ZERO_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CheckQuadraturaRfa0Mifid"; FullName = "[C6MartPeriodico].[CheckQuadraturaRfa0Mifid]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Controlla_Stato_Stampa_Cruscotto"; FullName = "[C6MartPeriodico].[Controlla_Stato_Stampa_Cruscotto]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CREA_FIRMA_PROMOTORE"; FullName = "[C6MartPeriodico].[CREA_FIRMA_PROMOTORE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CRUSCOTTOTRIMESTRALE"; FullName = "[C6MartPeriodico].[CRUSCOTTOTRIMESTRALE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CRUSCOTTOTRIMESTRALE_FILE"; FullName = "[C6MartPeriodico].[CRUSCOTTOTRIMESTRALE_FILE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CRUSCOTTOTRIMESTRALE_FILE_test"; FullName = "[C6MartPeriodico].[CRUSCOTTOTRIMESTRALE_FILE_test]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CRUSCOTTOTRIMESTRALEMAU"; FullName = "[C6MartPeriodico].[CRUSCOTTOTRIMESTRALEMAU]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Decodifica_Concentrazione_Prodotti_Complessi"; FullName = "[C6MartPeriodico].[Decodifica_Concentrazione_Prodotti_Complessi]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DeleteGruppo_ExcludedList"; FullName = "[C6MartPeriodico].[DeleteGruppo_ExcludedList]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DistinctGruppo_ExcludedList"; FullName = "[C6MartPeriodico].[DistinctGruppo_ExcludedList]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ALL_PATRIMONIO"; FullName = "[C6MartPeriodico].[DM_ALL_PATRIMONIO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ANAG_CC"; FullName = "[C6MartPeriodico].[DM_ANAG_CC]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ANAG_CC_pre_selective"; FullName = "[C6MartPeriodico].[DM_ANAG_CC_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ANAG_CC_TERZI"; FullName = "[C6MartPeriodico].[DM_ANAG_CC_TERZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ANAG_CC_TERZI_pre_selective"; FullName = "[C6MartPeriodico].[DM_ANAG_CC_TERZI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ANAG_CLIENTI"; FullName = "[C6MartPeriodico].[DM_ANAG_CLIENTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL"; FullName = "[C6MartPeriodico].[DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ANAG_CLIENTI_pre_selective"; FullName = "[C6MartPeriodico].[DM_ANAG_CLIENTI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ANAG_CLIENTI_PREV"; FullName = "[C6MartPeriodico].[DM_ANAG_CLIENTI_PREV]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ANAG_CLIENTI_PREV_pre_selective"; FullName = "[C6MartPeriodico].[DM_ANAG_CLIENTI_PREV_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ANAG_PRODOTTI"; FullName = "[C6MartPeriodico].[DM_ANAG_PRODOTTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ANAG_PRODOTTI_pre_selective"; FullName = "[C6MartPeriodico].[DM_ANAG_PRODOTTI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ANAG_PRODOTTI_TERZI"; FullName = "[C6MartPeriodico].[DM_ANAG_PRODOTTI_TERZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ANAG_PRODOTTI_TERZI_pre_selective"; FullName = "[C6MartPeriodico].[DM_ANAG_PRODOTTI_TERZI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ANAG_PRODOTTI_VALUTE"; FullName = "[C6MartPeriodico].[DM_ANAG_PRODOTTI_VALUTE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ANAG_PRODOTTI_VALUTE_pre_selective"; FullName = "[C6MartPeriodico].[DM_ANAG_PRODOTTI_VALUTE_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ANAG_PROMOTORI"; FullName = "[C6MartPeriodico].[DM_ANAG_PROMOTORI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ANAG_PROMOTORI_pre_selective"; FullName = "[C6MartPeriodico].[DM_ANAG_PROMOTORI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ANAG_SELF"; FullName = "[C6MartPeriodico].[DM_ANAG_SELF]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ANAG_SELF_20181214_PreMioFoglio"; FullName = "[C6MartPeriodico].[DM_ANAG_SELF_20181214_PreMioFoglio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ANAG_SELF_BK_eligoTitoli"; FullName = "[C6MartPeriodico].[DM_ANAG_SELF_BK_eligoTitoli]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ANAG_SELF_pre_selective"; FullName = "[C6MartPeriodico].[DM_ANAG_SELF_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_AREA_BISOGNO"; FullName = "[C6MartPeriodico].[DM_AREA_BISOGNO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_AREA_BISOGNO_pre_selective"; FullName = "[C6MartPeriodico].[DM_AREA_BISOGNO_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ASSET_PERC"; FullName = "[C6MartPeriodico].[DM_ASSET_PERC]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ASSET_PERC_pre_selective"; FullName = "[C6MartPeriodico].[DM_ASSET_PERC_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ASSET_PERC_TERZI"; FullName = "[C6MartPeriodico].[DM_ASSET_PERC_TERZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ASSET_PERC_TERZI_pre_selective"; FullName = "[C6MartPeriodico].[DM_ASSET_PERC_TERZI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ASSETCLASS"; FullName = "[C6MartPeriodico].[DM_ASSETCLASS]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ASSETCLASS_pre_selective"; FullName = "[C6MartPeriodico].[DM_ASSETCLASS_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ASSETCLASS_TERZI"; FullName = "[C6MartPeriodico].[DM_ASSETCLASS_TERZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ASSETCLASS_TERZI_pre_selective"; FullName = "[C6MartPeriodico].[DM_ASSETCLASS_TERZI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_BONUS"; FullName = "[C6MartPeriodico].[DM_BONUS]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_BONUS_pre_selective"; FullName = "[C6MartPeriodico].[DM_BONUS_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_CAPPROT"; FullName = "[C6MartPeriodico].[DM_CAPPROT]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_CAPPROT_20171129"; FullName = "[C6MartPeriodico].[DM_CAPPROT_20171129]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_CAPPROT_BKP"; FullName = "[C6MartPeriodico].[DM_CAPPROT_BKP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_CAPPROT_FVI"; FullName = "[C6MartPeriodico].[DM_CAPPROT_FVI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_CAPPROT_pre_selective"; FullName = "[C6MartPeriodico].[DM_CAPPROT_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_CLIENTI_CON_RNA_ALTO"; FullName = "[C6MartPeriodico].[DM_CLIENTI_CON_RNA_ALTO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_CLIENTI_NON_MIGRATI"; FullName = "[C6MartPeriodico].[DM_CLIENTI_NON_MIGRATI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_CLIENTI_NON_MIGRATI_pre_selective"; FullName = "[C6MartPeriodico].[DM_CLIENTI_NON_MIGRATI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_CODIFICA_CREDITRISK"; FullName = "[C6MartPeriodico].[DM_CODIFICA_CREDITRISK]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_CODIFICA_CREDITRISK_pre_selective"; FullName = "[C6MartPeriodico].[DM_CODIFICA_CREDITRISK_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_CODIFICA_RISCHIO"; FullName = "[C6MartPeriodico].[DM_CODIFICA_RISCHIO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_CODIFICA_RISCHIO_pre_selective"; FullName = "[C6MartPeriodico].[DM_CODIFICA_RISCHIO_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_COMPLESSITA"; FullName = "[C6MartPeriodico].[DM_COMPLESSITA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_COMPLESSITA_pre_selective"; FullName = "[C6MartPeriodico].[DM_COMPLESSITA_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_CONGELAMENTO_SEI"; FullName = "[C6MartPeriodico].[DM_CONGELAMENTO_SEI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_CONGELAMENTO_SEI_pre_selective"; FullName = "[C6MartPeriodico].[DM_CONGELAMENTO_SEI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_CONO_PIANIFICAZIONE"; FullName = "[C6MartPeriodico].[DM_CONO_PIANIFICAZIONE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_CONO_PIANIFICAZIONE_pre_selective"; FullName = "[C6MartPeriodico].[DM_CONO_PIANIFICAZIONE_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_CONS_ATTIVAGGIORNATA"; FullName = "[C6MartPeriodico].[DM_CONS_ATTIVAGGIORNATA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_CONS_ATTIVAGGIORNATA_pre_selective"; FullName = "[C6MartPeriodico].[DM_CONS_ATTIVAGGIORNATA_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_CONTRATTOSEI"; FullName = "[C6MartPeriodico].[DM_CONTRATTOSEI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_CONTROLLO_TRIMESTRALE"; FullName = "[C6MartPeriodico].[DM_CONTROLLO_TRIMESTRALE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_DATI_REPORT"; FullName = "[C6MartPeriodico].[DM_DATI_REPORT]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_DATI_REPORT_pre_selective"; FullName = "[C6MartPeriodico].[DM_DATI_REPORT_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_DETTAGLIO_ASUL"; FullName = "[C6MartPeriodico].[DM_DETTAGLIO_ASUL]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_DETTAGLIO_ASUL_pre_selective"; FullName = "[C6MartPeriodico].[DM_DETTAGLIO_ASUL_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_dettaglio_MOV"; FullName = "[C6MartPeriodico].[DM_dettaglio_MOV]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_DettaglioMovimenti"; FullName = "[C6MartPeriodico].[DM_DettaglioMovimenti]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_DettaglioMovimenti_20160913"; FullName = "[C6MartPeriodico].[DM_DettaglioMovimenti_20160913]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_DettaglioMovimenti_old"; FullName = "[C6MartPeriodico].[DM_DettaglioMovimenti_old]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_DettaglioMovimenti_pre_selective"; FullName = "[C6MartPeriodico].[DM_DettaglioMovimenti_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ELABORAZIONI_EMAIL_RNA"; FullName = "[C6MartPeriodico].[DM_ELABORAZIONI_EMAIL_RNA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_EMAIL_PB"; FullName = "[C6MartPeriodico].[DM_EMAIL_PB]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_EMAIL_PB_pre_selective"; FullName = "[C6MartPeriodico].[DM_EMAIL_PB_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_FOI80"; FullName = "[C6MartPeriodico].[DM_FOI80]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_FOI80_pre_selective"; FullName = "[C6MartPeriodico].[DM_FOI80_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_GESTIONE_EMAIL_REPORT_DEFINITIVI"; FullName = "[C6MartPeriodico].[DM_GESTIONE_EMAIL_REPORT_DEFINITIVI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_GESTIONE_EMAIL_REPORT_GENERATI"; FullName = "[C6MartPeriodico].[DM_GESTIONE_EMAIL_REPORT_GENERATI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_GESTIONE_EMAIL_RNA"; FullName = "[C6MartPeriodico].[DM_GESTIONE_EMAIL_RNA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_MAIL_PROFILI_RISCHIO"; FullName = "[C6MartPeriodico].[DM_MAIL_PROFILI_RISCHIO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_MIFID"; FullName = "[C6MartPeriodico].[DM_MIFID]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_MIFID_BKP_20231114_PRE_RAFFORZAMENTO"; FullName = "[C6MartPeriodico].[DM_MIFID_BKP_20231114_PRE_RAFFORZAMENTO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_MIFID_pre_selective"; FullName = "[C6MartPeriodico].[DM_MIFID_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_MONITORAGGIO_ATTUALE"; FullName = "[C6MartPeriodico].[DM_MONITORAGGIO_ATTUALE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_MONITORAGGIO_ATTUALE_pre_selective"; FullName = "[C6MartPeriodico].[DM_MONITORAGGIO_ATTUALE_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_MONITORAGGIO_DETTAGLIO"; FullName = "[C6MartPeriodico].[DM_MONITORAGGIO_DETTAGLIO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_MONITORAGGIO_DETTAGLIO_pre_selective"; FullName = "[C6MartPeriodico].[DM_MONITORAGGIO_DETTAGLIO_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_MONITORAGGIO_INIZIALE"; FullName = "[C6MartPeriodico].[DM_MONITORAGGIO_INIZIALE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_MONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA"; FullName = "[C6MartPeriodico].[DM_MONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_MONITORAGGIO_INIZIALE_pre_selective"; FullName = "[C6MartPeriodico].[DM_MONITORAGGIO_INIZIALE_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_MONITORAGGIO_REPORT"; FullName = "[C6MartPeriodico].[DM_MONITORAGGIO_REPORT]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_MONITORAGGIO_REPORT_pre_selective"; FullName = "[C6MartPeriodico].[DM_MONITORAGGIO_REPORT_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_MONITORAGGIO_STORICO"; FullName = "[C6MartPeriodico].[DM_MONITORAGGIO_STORICO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_MONITORAGGIO_STORICO_pre_selective"; FullName = "[C6MartPeriodico].[DM_MONITORAGGIO_STORICO_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_PARTITE_VIAGGIANTI"; FullName = "[C6MartPeriodico].[DM_PARTITE_VIAGGIANTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_PARTITE_VIAGGIANTI_pre_selective"; FullName = "[C6MartPeriodico].[DM_PARTITE_VIAGGIANTI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_PATRIMONIO_ALTRO"; FullName = "[C6MartPeriodico].[DM_PATRIMONIO_ALTRO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_PATRIMONIO_ALTRO_pre_selective"; FullName = "[C6MartPeriodico].[DM_PATRIMONIO_ALTRO_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_PATRIMONIO_BF"; FullName = "[C6MartPeriodico].[DM_PATRIMONIO_BF]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_PATRIMONIO_BF_pre_selective"; FullName = "[C6MartPeriodico].[DM_PATRIMONIO_BF_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_PATRIMONIO_EMITTENTI"; FullName = "[C6MartPeriodico].[DM_PATRIMONIO_EMITTENTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_PATRIMONIO_EMITTENTI_pre_selective"; FullName = "[C6MartPeriodico].[DM_PATRIMONIO_EMITTENTI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_PATRIMONIO_IMMOBILIARE"; FullName = "[C6MartPeriodico].[DM_PATRIMONIO_IMMOBILIARE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_PATRIMONIO_IMMOBILIARE_pre_selective"; FullName = "[C6MartPeriodico].[DM_PATRIMONIO_IMMOBILIARE_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_PATRIMONIO_TERZI"; FullName = "[C6MartPeriodico].[DM_PATRIMONIO_TERZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_PATRIMONIO_TERZI_pre_selective"; FullName = "[C6MartPeriodico].[DM_PATRIMONIO_TERZI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_PIRAMIDE_MOD"; FullName = "[C6MartPeriodico].[DM_PIRAMIDE_MOD]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_PIRAMIDE_MOD_pre_selective"; FullName = "[C6MartPeriodico].[DM_PIRAMIDE_MOD_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_PIRAMIDE_VERT"; FullName = "[C6MartPeriodico].[DM_PIRAMIDE_VERT]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre"; FullName = "[C6MartPeriodico].[DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_PROVENTI"; FullName = "[C6MartPeriodico].[DM_PROVENTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_PROVENTI_pre_selective"; FullName = "[C6MartPeriodico].[DM_PROVENTI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_RISCHIO_AGGREGATO"; FullName = "[C6MartPeriodico].[DM_RISCHIO_AGGREGATO]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_RISCHIO_AGGREGATO_20180627_preNewInd"; FullName = "[C6MartPeriodico].[DM_RISCHIO_AGGREGATO_20180627_preNewInd]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_RISCHIO_AGGREGATO_old"; FullName = "[C6MartPeriodico].[DM_RISCHIO_AGGREGATO_old]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_RISCHIO_AGGREGATO_OLD2"; FullName = "[C6MartPeriodico].[DM_RISCHIO_AGGREGATO_OLD2]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_RISCHIO_AGGREGATO_pre_selective"; FullName = "[C6MartPeriodico].[DM_RISCHIO_AGGREGATO_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_RISCHIO_AGGREGATO_pre_selective_preAladdin"; FullName = "[C6MartPeriodico].[DM_RISCHIO_AGGREGATO_pre_selective_preAladdin]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_RISCHIO_AGGREGATO_preAladdin"; FullName = "[C6MartPeriodico].[DM_RISCHIO_AGGREGATO_preAladdin]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_RISCHIOEMITTENTI"; FullName = "[C6MartPeriodico].[DM_RISCHIOEMITTENTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_SCADENZE"; FullName = "[C6MartPeriodico].[DM_SCADENZE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_SCADENZE_pre_selective"; FullName = "[C6MartPeriodico].[DM_SCADENZE_pre_selective]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_SCADENZE_pre_selective_luca"; FullName = "[C6MartPeriodico].[DM_SCADENZE_pre_selective_luca]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_STORICO_CAPPROT_FVI"; FullName = "[C6MartPeriodico].[DM_STORICO_CAPPROT_FVI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_TEST_QUALITY"; FullName = "[C6MartPeriodico].[DM_TEST_QUALITY]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Estrazione_Campione"; FullName = "[C6MartPeriodico].[Estrazione_Campione]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Estrazione_Campione_Cruscotto"; FullName = "[C6MartPeriodico].[Estrazione_Campione_Cruscotto]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GC_CONVALIDAREPORTSELECT"; FullName = "[C6MartPeriodico].[GC_CONVALIDAREPORTSELECT]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GC_DELETE_CONVALIDA_ANNULLA"; FullName = "[C6MartPeriodico].[GC_DELETE_CONVALIDA_ANNULLA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GC_INSERT_VERIFICHE_CAMPIONE"; FullName = "[C6MartPeriodico].[GC_INSERT_VERIFICHE_CAMPIONE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GC_REPORTDACANCELLARESELECT"; FullName = "[C6MartPeriodico].[GC_REPORTDACANCELLARESELECT]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GC_VerificheCampioneSelect"; FullName = "[C6MartPeriodico].[GC_VerificheCampioneSelect]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Genera_Cruscotto_ContrattoSei"; FullName = "[C6MartPeriodico].[Genera_Cruscotto_ContrattoSei]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Genera_Cruscotto_ContrattoSei_20170407.SAVE"; FullName = "[C6MartPeriodico].[Genera_Cruscotto_ContrattoSei_20170407.SAVE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Gestione_Bonus"; FullName = "[C6MartPeriodico].[Gestione_Bonus]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_C6_S_Generator"; FullName = "[C6MartPeriodico].[GESTIONE_C6_S_Generator]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_C6_S_Generator_OLD"; FullName = "[C6MartPeriodico].[GESTIONE_C6_S_Generator_OLD]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE"; FullName = "[C6MartPeriodico].[GESTIONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_INSERT_CUSTOMER_ERROR"; FullName = "[C6MartPeriodico].[GESTIONE_INSERT_CUSTOMER_ERROR]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_INSERT_ELABORAZIONE_ZIP"; FullName = "[C6MartPeriodico].[GESTIONE_INSERT_ELABORAZIONE_ZIP]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_INSERT_ELABORAZIONE_ZIP_20170328"; FullName = "[C6MartPeriodico].[GESTIONE_INSERT_ELABORAZIONE_ZIP_20170328]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_INSERT_ELABORAZIONI_EMAIL_RNA"; FullName = "[C6MartPeriodico].[GESTIONE_INSERT_ELABORAZIONI_EMAIL_RNA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_INSERT_EMAIL_DA_INVIARE"; FullName = "[C6MartPeriodico].[GESTIONE_INSERT_EMAIL_DA_INVIARE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_INSERT_PDF_FTP"; FullName = "[C6MartPeriodico].[GESTIONE_INSERT_PDF_FTP]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_INSERT_PDF_FTP_04082015"; FullName = "[C6MartPeriodico].[GESTIONE_INSERT_PDF_FTP_04082015]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_INSERT_PDF_FTP_GET_ID"; FullName = "[C6MartPeriodico].[GESTIONE_INSERT_PDF_FTP_GET_ID]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_INSERT_PDF_FTP_RISTAMPA"; FullName = "[C6MartPeriodico].[GESTIONE_INSERT_PDF_FTP_RISTAMPA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_INSERT_ZIP"; FullName = "[C6MartPeriodico].[GESTIONE_INSERT_ZIP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_INSERT_ZIP_IDX_NOINSERT"; FullName = "[C6MartPeriodico].[GESTIONE_INSERT_ZIP_IDX_NOINSERT]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_PDF_REVERT_FISCAL_CODE"; FullName = "[C6MartPeriodico].[GESTIONE_PDF_REVERT_FISCAL_CODE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Gestione_ProdottiProtetti"; FullName = "[C6MartPeriodico].[Gestione_ProdottiProtetti]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Gestione_ProdottiProtetti_20171215"; FullName = "[C6MartPeriodico].[Gestione_ProdottiProtetti_20171215]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_S_Intermediari"; FullName = "[C6MartPeriodico].[GESTIONE_S_Intermediari]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SCARTI_CRUSCOTTO"; FullName = "[C6MartPeriodico].[GESTIONE_SCARTI_CRUSCOTTO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_ELABORAZIONI_EMAIL_RNA"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_ELABORAZIONI_EMAIL_RNA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_EMAIL_DA_INVIARE"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_EMAIL_DA_INVIARE_20160913"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE_20160913]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_EMAIL_DA_INVIARE_bk"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE_bk]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_FTP_DA_INVIARE"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_FTP_DA_INVIARE]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_FTP_DA_INVIARE_20170413_b4_NewZipFtpProcess"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_FTP_DA_INVIARE_20170413_b4_NewZipFtpProcess]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_FTP_DA_INVIARE_20170712_b4_OrderedByCAP"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_FTP_DA_INVIARE_20170712_b4_OrderedByCAP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_FTP_INVIATI"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_FTP_INVIATI_20180214_bonifica"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_20180214_bonifica]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_FTP_INVIATI_20180308_PreIDX2"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_20180308_PreIDX2]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_FTP_INVIATI_20180420"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_20180420]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_FTP_INVIATI_20240225"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_20240225]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180308_PreIDX2"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180308_PreIDX2]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180420"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180420]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_FTP_INVIATI_prova_20141223"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_prova_20141223]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_FTP_WHITELIST"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_FTP_WHITELIST]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_HOST"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_HOST]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_LAST_ELAB_ZIP"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_LAST_ELAB_ZIP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_LAST_ZIP"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_LAST_ZIP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_LETTERE_DA_INVIARE"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_LETTERE_DA_INVIARE]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_NUM_MAX_ELABORAZIONI_EMAIL_RNA"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_NUM_MAX_ELABORAZIONI_EMAIL_RNA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_FA"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_FA]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_Francesco"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_Francesco]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_GB"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_GB]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FA"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FOR_STATISTICS.obs"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FOR_STATISTICS.obs]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FORCE"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FORCE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Francesco"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Francesco]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_luca"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_luca]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano_PROVAPROF"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano_PROVAPROF]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_EN"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_EN]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Pino"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Pino]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_PK"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_PK]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_NonOptimized.obs"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_NonOptimized.obs]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_ONDEMAND_OPT_EN.obs"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_ONDEMAND_OPT_EN.obs]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_SEI_GB"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_SEI_GB]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_01"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_01]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_02"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_02]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_03"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_03]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_04"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_04]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_05"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_05]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_06"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_06]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_07"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_07]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_08"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_08]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_09"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_09]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_1"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_1]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_10"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_10]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_11"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_11]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_12"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_12]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_13"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_13]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_14"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_14]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_15"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_15]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_16"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_16]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_17"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_17]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_18"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_18]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_19"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_19]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_2"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_2]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_20"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_20]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_21"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_21]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_22"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_22]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_23"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_23]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_24"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_24]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_25"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_25]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_DA"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_DA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_CAMPIONE"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_CAMPIONE]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_REPORTS_ERRATACORRIGE"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_REPORTS_ERRATACORRIGE]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_REPORTS_ERRATACORRIGE_test"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_REPORTS_ERRATACORRIGE_test]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_S80_EVOLUZIONE_CTV"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_S80_EVOLUZIONE_CTV]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_S80_FASE2_CU_mariano"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_S80_FASE2_CU_mariano]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_S80_FASE2_SELECTIVE"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_S80_FASE2_SELECTIVE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_S80_FASE2_SELECTIVE_FINAL"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_S80_FASE2_SELECTIVE_FINAL]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_S80_PARZIALE_FASE2_CU"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_S80_PARZIALE_FASE2_CU]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_SPECIFIC_ZIP"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_SPECIFIC_ZIP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_ZIP_DA_INVIARE"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_ZIP_DA_INVIARE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_ZIP_WHITELIST"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_ZIP_WHITELIST]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_UPDATE_ELABORAZIONE_ZIP"; FullName = "[C6MartPeriodico].[GESTIONE_UPDATE_ELABORAZIONE_ZIP]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_UPDATE_ELABORAZIONE_ZIP_20170328"; FullName = "[C6MartPeriodico].[GESTIONE_UPDATE_ELABORAZIONE_ZIP_20170328]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_UPDATE_EMAIL_HOST"; FullName = "[C6MartPeriodico].[GESTIONE_UPDATE_EMAIL_HOST]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_UPDATE_EMAIL_INVIATE"; FullName = "[C6MartPeriodico].[GESTIONE_UPDATE_EMAIL_INVIATE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_UPDATE_FTP"; FullName = "[C6MartPeriodico].[GESTIONE_UPDATE_FTP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_UPDATE_ZIP"; FullName = "[C6MartPeriodico].[GESTIONE_UPDATE_ZIP]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_UPDATE_ZIP_COPY"; FullName = "[C6MartPeriodico].[GESTIONE_UPDATE_ZIP_COPY]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_UPDATE_ZIP_SENT_FTP"; FullName = "[C6MartPeriodico].[GESTIONE_UPDATE_ZIP_SENT_FTP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GETDATATHREADS_TRIMESTRALE_DA"; FullName = "[C6MartPeriodico].[GETDATATHREADS_TRIMESTRALE_DA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GETDATATHREADS_TRIMESTRALE_DA_GB"; FullName = "[C6MartPeriodico].[GETDATATHREADS_TRIMESTRALE_DA_GB]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GETDATATHREADS_TRIMESTRALE_GB"; FullName = "[C6MartPeriodico].[GETDATATHREADS_TRIMESTRALE_GB]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GETDATATHREADS_TRIMESTRALE_SEI"; FullName = "[C6MartPeriodico].[GETDATATHREADS_TRIMESTRALE_SEI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GETDATATHREADS_TRIMESTRALE_SEI_GB"; FullName = "[C6MartPeriodico].[GETDATATHREADS_TRIMESTRALE_SEI_GB]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GetFilesForSendingByFTP"; FullName = "[C6MartPeriodico].[GetFilesForSendingByFTP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GetQueryContratti"; FullName = "[C6MartPeriodico].[GetQueryContratti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GetRiskArea"; FullName = "[C6MartPeriodico].[GetRiskArea]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Inserimento_TrimestraleScarti_ExcludedList"; FullName = "[C6MartPeriodico].[Inserimento_TrimestraleScarti_ExcludedList]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Inserimento_TrimestraleScarti_SegnalazioneDataQuality"; FullName = "[C6MartPeriodico].[Inserimento_TrimestraleScarti_SegnalazioneDataQuality]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "INSERISCI_FASE2_PER_CAMBIO_RETE"; FullName = "[C6MartPeriodico].[INSERISCI_FASE2_PER_CAMBIO_RETE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "inserisci_promotori_fittizi"; FullName = "[C6MartPeriodico].[inserisci_promotori_fittizi]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Motivo_ExcludedList"; FullName = "[C6MartPeriodico].[Motivo_ExcludedList]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_AreeMonitorate"; FullName = "[C6MartPeriodico].[PL_AreeMonitorate]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_AreeMonitorate_20180604_PreMifid2"; FullName = "[C6MartPeriodico].[PL_AreeMonitorate_20180604_PreMifid2]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_AreeMonitorate_20180927_PreOttimizzazione"; FullName = "[C6MartPeriodico].[PL_AreeMonitorate_20180927_PreOttimizzazione]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_AreeMonitorate_20181214_PreMioFoglio"; FullName = "[C6MartPeriodico].[PL_AreeMonitorate_20181214_PreMioFoglio]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_AreeMonitorate_85"; FullName = "[C6MartPeriodico].[PL_AreeMonitorate_85]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_AreeMonitorate_bck201204"; FullName = "[C6MartPeriodico].[PL_AreeMonitorate_bck201204]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_AreeMonitorate_BK_eligoTitoli"; FullName = "[C6MartPeriodico].[PL_AreeMonitorate_BK_eligoTitoli]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_AreeMonitorate_bkup_20120101"; FullName = "[C6MartPeriodico].[PL_AreeMonitorate_bkup_20120101]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_AreeMonitorate_preFD"; FullName = "[C6MartPeriodico].[PL_AreeMonitorate_preFD]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_AreeMonitorate_PRESBAGLIATA"; FullName = "[C6MartPeriodico].[PL_AreeMonitorate_PRESBAGLIATA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_AreeMonitorate_SIMULAZIONE"; FullName = "[C6MartPeriodico].[PL_AreeMonitorate_SIMULAZIONE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_FD177ProfiloDiRischio_Adeguatezza"; FullName = "[C6MartPeriodico].[PL_D_FD177ProfiloDiRischio_Adeguatezza]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_FD178IndicatoriEsitoAdeguatezza"; FullName = "[C6MartPeriodico].[PL_D_FD178IndicatoriEsitoAdeguatezza]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_FD178IndicatoriEsitoAdeguatezza_preMUA"; FullName = "[C6MartPeriodico].[PL_D_FD178IndicatoriEsitoAdeguatezza_preMUA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S150Anagrafica"; FullName = "[C6MartPeriodico].[PL_D_S150Anagrafica]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S151ProfiloDiRischio"; FullName = "[C6MartPeriodico].[PL_D_S151ProfiloDiRischio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S152Patrimonio"; FullName = "[C6MartPeriodico].[PL_D_S152Patrimonio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S153PatrimonioFinanziario"; FullName = "[C6MartPeriodico].[PL_D_S153PatrimonioFinanziario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S154PatrimonioFinanziario"; FullName = "[C6MartPeriodico].[PL_D_S154PatrimonioFinanziario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S155PatrimonioImmobiliare"; FullName = "[C6MartPeriodico].[PL_D_S155PatrimonioImmobiliare]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S156ALtroPatrimonio"; FullName = "[C6MartPeriodico].[PL_D_S156ALtroPatrimonio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S157ConfrontoPiramidi"; FullName = "[C6MartPeriodico].[PL_D_S157ConfrontoPiramidi]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S158PiramideModello"; FullName = "[C6MartPeriodico].[PL_D_S158PiramideModello]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S159PatrimonioFinanziario"; FullName = "[C6MartPeriodico].[PL_D_S159PatrimonioFinanziario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S160DettaglioProdottiBF"; FullName = "[C6MartPeriodico].[PL_D_S160DettaglioProdottiBF]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S162DettaglioProdotti"; FullName = "[C6MartPeriodico].[PL_D_S162DettaglioProdotti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S163PatrimonioFinanziarioMAssetClass"; FullName = "[C6MartPeriodico].[PL_D_S163PatrimonioFinanziarioMAssetClass]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S164PolizzeAltriIstituti"; FullName = "[C6MartPeriodico].[PL_D_S164PolizzeAltriIstituti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S165FondiAltriIstituti"; FullName = "[C6MartPeriodico].[PL_D_S165FondiAltriIstituti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S166ContoCorrenteAI"; FullName = "[C6MartPeriodico].[PL_D_S166ContoCorrenteAI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S167DistribuzioneRischioCredito"; FullName = "[C6MartPeriodico].[PL_D_S167DistribuzioneRischioCredito]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S168TabellaEmittenti"; FullName = "[C6MartPeriodico].[PL_D_S168TabellaEmittenti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S169RischiomercatoRischiocredito"; FullName = "[C6MartPeriodico].[PL_D_S169RischiomercatoRischiocredito]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S170RischioDiversificazione"; FullName = "[C6MartPeriodico].[PL_D_S170RischioDiversificazione]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S171PatrimonioNonRappresentabileAssettClass"; FullName = "[C6MartPeriodico].[PL_D_S171PatrimonioNonRappresentabileAssettClass]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S177ProfiloDiRischio_Adeguatezza"; FullName = "[C6MartPeriodico].[PL_D_S177ProfiloDiRischio_Adeguatezza]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S177ProfiloDiRischio_Adeguatezza_20180706_PreCRNapolitano"; FullName = "[C6MartPeriodico].[PL_D_S177ProfiloDiRischio_Adeguatezza_20180706_PreCRNapolitano]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S178CasiParticolari"; FullName = "[C6MartPeriodico].[PL_D_S178CasiParticolari]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S178CasiParticolari_20181220"; FullName = "[C6MartPeriodico].[PL_D_S178CasiParticolari_20181220]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S178CasiParticolari_BKP_20231114_PRE_RAFFORZAMENTO"; FullName = "[C6MartPeriodico].[PL_D_S178CasiParticolari_BKP_20231114_PRE_RAFFORZAMENTO]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S178CasiParticolari_old"; FullName = "[C6MartPeriodico].[PL_D_S178CasiParticolari_old]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S178CasiParticolari_report_ridotto"; FullName = "[C6MartPeriodico].[PL_D_S178CasiParticolari_report_ridotto]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S178IndicatoriEsitoAdeguatezza"; FullName = "[C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S178IndicatoriEsitoAdeguatezza_preMUA"; FullName = "[C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza_preMUA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S179EmittentiConcentrazioneAlta"; FullName = "[C6MartPeriodico].[PL_D_S179EmittentiConcentrazioneAlta]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S180ProdottiComplessitaAlta"; FullName = "[C6MartPeriodico].[PL_D_S180ProdottiComplessitaAlta]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S180ProdottiComplessitaAlta_20180715"; FullName = "[C6MartPeriodico].[PL_D_S180ProdottiComplessitaAlta_20180715]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S180ProdottiComplessitaAlta_mini"; FullName = "[C6MartPeriodico].[PL_D_S180ProdottiComplessitaAlta_mini]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_FD152Patrimonio"; FullName = "[C6MartPeriodico].[PL_D2_FD152Patrimonio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_FD160DettaglioProdottiBF"; FullName = "[C6MartPeriodico].[PL_D2_FD160DettaglioProdottiBF]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_FD170RischioDiversificazione"; FullName = "[C6MartPeriodico].[PL_D2_FD170RischioDiversificazione]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S150Anagrafica"; FullName = "[C6MartPeriodico].[PL_D2_S150Anagrafica]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S150Anagrafica_BkUpParall"; FullName = "[C6MartPeriodico].[PL_D2_S150Anagrafica_BkUpParall]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S151ProfiloDiRischio"; FullName = "[C6MartPeriodico].[PL_D2_S151ProfiloDiRischio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S152Patrimonio"; FullName = "[C6MartPeriodico].[PL_D2_S152Patrimonio]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S152Patrimonio_20190225__ori"; FullName = "[C6MartPeriodico].[PL_D2_S152Patrimonio_20190225__ori]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S152Patrimonio_20190225_preProquota"; FullName = "[C6MartPeriodico].[PL_D2_S152Patrimonio_20190225_preProquota]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S153PatrimonioFinanziario"; FullName = "[C6MartPeriodico].[PL_D2_S153PatrimonioFinanziario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S154PatrimonioFinanziario"; FullName = "[C6MartPeriodico].[PL_D2_S154PatrimonioFinanziario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S155PatrimonioImmobiliare"; FullName = "[C6MartPeriodico].[PL_D2_S155PatrimonioImmobiliare]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S155PatrimonioImmobiliare_20190225_preProquota"; FullName = "[C6MartPeriodico].[PL_D2_S155PatrimonioImmobiliare_20190225_preProquota]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S155PatrimonioImmobiliare_20190502_ProQuota"; FullName = "[C6MartPeriodico].[PL_D2_S155PatrimonioImmobiliare_20190502_ProQuota]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S156ALtroPatrimonio"; FullName = "[C6MartPeriodico].[PL_D2_S156ALtroPatrimonio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S157ConfrontoPiramidi"; FullName = "[C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli"; FullName = "[C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S157ConfrontoPiramidi_BkUpParall"; FullName = "[C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi_BkUpParall]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S157ConfrontoPiramidi_testFc"; FullName = "[C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi_testFc]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S158PiramideModello"; FullName = "[C6MartPeriodico].[PL_D2_S158PiramideModello]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S159PatrimonioFinanziario"; FullName = "[C6MartPeriodico].[PL_D2_S159PatrimonioFinanziario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S160DettaglioProdottiBF"; FullName = "[C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S160DettaglioProdottiBF_BK_20151222"; FullName = "[C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF_BK_20151222]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli"; FullName = "[C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S162DettaglioProdotti"; FullName = "[C6MartPeriodico].[PL_D2_S162DettaglioProdotti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S163PatrimonioFinanziarioMAssetClass"; FullName = "[C6MartPeriodico].[PL_D2_S163PatrimonioFinanziarioMAssetClass]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S164PolizzeAltriIstituti"; FullName = "[C6MartPeriodico].[PL_D2_S164PolizzeAltriIstituti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S165FondiAltriIstituti"; FullName = "[C6MartPeriodico].[PL_D2_S165FondiAltriIstituti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S166ContoCorrenteAI"; FullName = "[C6MartPeriodico].[PL_D2_S166ContoCorrenteAI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S167DistribuzioneRischioCredito"; FullName = "[C6MartPeriodico].[PL_D2_S167DistribuzioneRischioCredito]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S167DistribuzioneRischioCredito_PatrimonioNonRapp"; FullName = "[C6MartPeriodico].[PL_D2_S167DistribuzioneRischioCredito_PatrimonioNonRapp]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S168TabellaEmittenti"; FullName = "[C6MartPeriodico].[PL_D2_S168TabellaEmittenti]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S168TabellaEmittenti_BK_20151222"; FullName = "[C6MartPeriodico].[PL_D2_S168TabellaEmittenti_BK_20151222]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S169RischiomercatoRischiocredito"; FullName = "[C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S169RischiomercatoRischiocredito_20180716"; FullName = "[C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito_20180716]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S170RischioDiversificazione"; FullName = "[C6MartPeriodico].[PL_D2_S170RischioDiversificazione]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S170RischioDiversificazione_NoLight"; FullName = "[C6MartPeriodico].[PL_D2_S170RischioDiversificazione_NoLight]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S171PatrimonioNonRappresentabileAssettClass"; FullName = "[C6MartPeriodico].[PL_D2_S171PatrimonioNonRappresentabileAssettClass]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D3_S151ProfiloDiRischio"; FullName = "[C6MartPeriodico].[PL_D3_S151ProfiloDiRischio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_FD10PatrimonioFinanziario"; FullName = "[C6MartPeriodico].[PL_FD10PatrimonioFinanziario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_FD181PreferenzeESG"; FullName = "[C6MartPeriodico].[PL_FD181PreferenzeESG]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_FD181PreferenzeESG_BKP_20250305_PreESG2024"; FullName = "[C6MartPeriodico].[PL_FD181PreferenzeESG_BKP_20250305_PreESG2024]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_FD182BISDettaglioProdottiESG"; FullName = "[C6MartPeriodico].[PL_FD182BISDettaglioProdottiESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_FD182DettaglioProdottiESG"; FullName = "[C6MartPeriodico].[PL_FD182DettaglioProdottiESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_FD185UCaratteristicheESG"; FullName = "[C6MartPeriodico].[PL_FD185UCaratteristicheESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_FD187SfdrTaxESG"; FullName = "[C6MartPeriodico].[PL_FD187SfdrTaxESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_FD188PaiESG"; FullName = "[C6MartPeriodico].[PL_FD188PaiESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_FD190BisPatrimonioFinanziario_Modello"; FullName = "[C6MartPeriodico].[PL_FD190BisPatrimonioFinanziario_Modello]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_FD190PatrimonioFinanziario_PTFRibilanciato"; FullName = "[C6MartPeriodico].[PL_FD190PatrimonioFinanziario_PTFRibilanciato]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_FD200BisDistribuzioneAssetClass_Modello"; FullName = "[C6MartPeriodico].[PL_FD200BisDistribuzioneAssetClass_Modello]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_FD25Anagrafica"; FullName = "[C6MartPeriodico].[PL_FD25Anagrafica]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_FD43BISDettaglioProdottiBF"; FullName = "[C6MartPeriodico].[PL_FD43BISDettaglioProdottiBF]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_FD43DettaglioProdottiBF"; FullName = "[C6MartPeriodico].[PL_FD43DettaglioProdottiBF]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_GetClientNegativeCurrentAccountsValue"; FullName = "[C6MartPeriodico].[PL_GetClientNegativeCurrentAccountsValue]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_GetClientNegativeGPEligo"; FullName = "[C6MartPeriodico].[PL_GetClientNegativeGPEligo]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_GetClientSelfNegative"; FullName = "[C6MartPeriodico].[PL_GetClientSelfNegative]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_GetClientSelfNegCurrentAccountValue"; FullName = "[C6MartPeriodico].[PL_GetClientSelfNegCurrentAccountValue]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_Intermediari"; FullName = "[C6MartPeriodico].[PL_Intermediari]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_FD133BISPrincipaliProdotti"; FullName = "[C6MartPeriodico].[PL_MP_FD133BISPrincipaliProdotti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_FD134BISMonitoraggioLiqInv"; FullName = "[C6MartPeriodico].[PL_MP_FD134BISMonitoraggioLiqInv]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_FD134MonitoraggioLiquidita"; FullName = "[C6MartPeriodico].[PL_MP_FD134MonitoraggioLiquidita]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_FD147SintesiValute"; FullName = "[C6MartPeriodico].[PL_MP_FD147SintesiValute]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_FD148DistribuzioneAssetClass"; FullName = "[C6MartPeriodico].[PL_MP_FD148DistribuzioneAssetClass]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_FD200DistribuzioneAssetClass_PTFRibilanciato"; FullName = "[C6MartPeriodico].[PL_MP_FD200DistribuzioneAssetClass_PTFRibilanciato]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S128ProfiloRischioAdeguatezza"; FullName = "[C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S128ProfiloRischioAdeguatezza_BKP_PRE_RAFFORZAMENTO"; FullName = "[C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza_BKP_PRE_RAFFORZAMENTO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S129Patrimonio"; FullName = "[C6MartPeriodico].[PL_MP_S129Patrimonio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S129Patrimonio_bkp_fc"; FullName = "[C6MartPeriodico].[PL_MP_S129Patrimonio_bkp_fc]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S129Patrimonio_BkUpParall"; FullName = "[C6MartPeriodico].[PL_MP_S129Patrimonio_BkUpParall]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S130PrincipaliPosizioni"; FullName = "[C6MartPeriodico].[PL_MP_S130PrincipaliPosizioni]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S131ContributoARischio"; FullName = "[C6MartPeriodico].[PL_MP_S131ContributoARischio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S132ProfiloRischioAdeguatezza"; FullName = "[C6MartPeriodico].[PL_MP_S132ProfiloRischioAdeguatezza]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S132ProfiloRischioAdeguatezza_BkUpParall"; FullName = "[C6MartPeriodico].[PL_MP_S132ProfiloRischioAdeguatezza_BkUpParall]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S133AreeBisognoPrincProd"; FullName = "[C6MartPeriodico].[PL_MP_S133AreeBisognoPrincProd]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S133AreeBisognoPrincProd_BK_eligoTitoli"; FullName = "[C6MartPeriodico].[PL_MP_S133AreeBisognoPrincProd_BK_eligoTitoli]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S133AreeBisognoPrincProd_BkUpParall"; FullName = "[C6MartPeriodico].[PL_MP_S133AreeBisognoPrincProd_BkUpParall]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S133BISPrincipaliProdotti"; FullName = "[C6MartPeriodico].[PL_MP_S133BISPrincipaliProdotti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S134BISMonitoraggioLiqInv"; FullName = "[C6MartPeriodico].[PL_MP_S134BISMonitoraggioLiqInv]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S134MonitoraggioLiquidita"; FullName = "[C6MartPeriodico].[PL_MP_S134MonitoraggioLiquidita]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S135MonitoraggioInvestimento"; FullName = "[C6MartPeriodico].[PL_MP_S135MonitoraggioInvestimento]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S137BIS_FOI80"; FullName = "[C6MartPeriodico].[PL_MP_S137BIS_FOI80]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S137BISCapitaleProtetto"; FullName = "[C6MartPeriodico].[PL_MP_S137BISCapitaleProtetto]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S137Bonus"; FullName = "[C6MartPeriodico].[PL_MP_S137Bonus]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S138Proventi"; FullName = "[C6MartPeriodico].[PL_MP_S138Proventi]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S139Scadenze"; FullName = "[C6MartPeriodico].[PL_MP_S139Scadenze]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S140AnalisiRisparmioCharts"; FullName = "[C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S140AnalisiRisparmioCharts_20190123_PreLIGHT"; FullName = "[C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts_20190123_PreLIGHT]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S140AnalisiRisparmioCharts_NoLight"; FullName = "[C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts_NoLight]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S141AnalisiRisparmioTable"; FullName = "[C6MartPeriodico].[PL_MP_S141AnalisiRisparmioTable]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S141AnalisiRisparmioTable_test"; FullName = "[C6MartPeriodico].[PL_MP_S141AnalisiRisparmioTable_test]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S142DistibuzionePerRating"; FullName = "[C6MartPeriodico].[PL_MP_S142DistibuzionePerRating]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S142DistibuzionePerRating_20240803"; FullName = "[C6MartPeriodico].[PL_MP_S142DistibuzionePerRating_20240803]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S143DistibuzionePerEmittente"; FullName = "[C6MartPeriodico].[PL_MP_S143DistibuzionePerEmittente]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S143DistibuzionePerEmittente_20240803"; FullName = "[C6MartPeriodico].[PL_MP_S143DistibuzionePerEmittente_20240803]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S144DistibuzionePerScadenze"; FullName = "[C6MartPeriodico].[PL_MP_S144DistibuzionePerScadenze]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S145DistibuzionePerTassoRendimento"; FullName = "[C6MartPeriodico].[PL_MP_S145DistibuzionePerTassoRendimento]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S145DistibuzionePerTassoRendimento_20240803"; FullName = "[C6MartPeriodico].[PL_MP_S145DistibuzionePerTassoRendimento_20240803]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S146RischioDiversificazione"; FullName = "[C6MartPeriodico].[PL_MP_S146RischioDiversificazione]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S147SintesiValute"; FullName = "[C6MartPeriodico].[PL_MP_S147SintesiValute]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S148DistribuzioneAssetClass"; FullName = "[C6MartPeriodico].[PL_MP_S148DistribuzioneAssetClass]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S148DistribuzioneAssetClass_BkUpParall"; FullName = "[C6MartPeriodico].[PL_MP_S148DistribuzioneAssetClass_BkUpParall]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S149DettaglioProdottiAffluent"; FullName = "[C6MartPeriodico].[PL_MP_S149DettaglioProdottiAffluent]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S173"; FullName = "[C6MartPeriodico].[PL_MP_S173]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S173CapitaleProtetto"; FullName = "[C6MartPeriodico].[PL_MP_S173CapitaleProtetto]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S173FOI80"; FullName = "[C6MartPeriodico].[PL_MP_S173FOI80]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S174Bonus"; FullName = "[C6MartPeriodico].[PL_MP_S174Bonus]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S175BlueProtection"; FullName = "[C6MartPeriodico].[PL_MP_S175BlueProtection]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S175LineaProtettaMultiramo"; FullName = "[C6MartPeriodico].[PL_MP_S175LineaProtettaMultiramo]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S175WhiteProtection"; FullName = "[C6MartPeriodico].[PL_MP_S175WhiteProtection]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S176EvoluzioneLineaProtettaMultiramo"; FullName = "[C6MartPeriodico].[PL_MP_S176EvoluzioneLineaProtettaMultiramo]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S44OperazioniUltimoTrimestre"; FullName = "[C6MartPeriodico].[PL_MP_S44OperazioniUltimoTrimestre]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_Prodotti_Non_Associati_Area_Inv"; FullName = "[C6MartPeriodico].[PL_Prodotti_Non_Associati_Area_Inv]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S102DistribuzioneRischioCredito"; FullName = "[C6MartPeriodico].[PL_S102DistribuzioneRischioCredito]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S102DistribuzioneRischioCredito_OLD"; FullName = "[C6MartPeriodico].[PL_S102DistribuzioneRischioCredito_OLD]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S103TabellaEmittenti"; FullName = "[C6MartPeriodico].[PL_S103TabellaEmittenti]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S103TabellaEmittenti_OLD"; FullName = "[C6MartPeriodico].[PL_S103TabellaEmittenti_OLD]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S10PatrimonioFinanziario"; FullName = "[C6MartPeriodico].[PL_S10PatrimonioFinanziario]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S10PatrimonioFinanziario_BkUpParall"; FullName = "[C6MartPeriodico].[PL_S10PatrimonioFinanziario_BkUpParall]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S170LimitiMassimi"; FullName = "[C6MartPeriodico].[PL_S170LimitiMassimi]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S170LimitiMassimi_20180612"; FullName = "[C6MartPeriodico].[PL_S170LimitiMassimi_20180612]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S170LimitiMassimi_20180702"; FullName = "[C6MartPeriodico].[PL_S170LimitiMassimi_20180702]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S170LimitiMassimi_BKP_20231115_PRE_RAFFORZAMENTO"; FullName = "[C6MartPeriodico].[PL_S170LimitiMassimi_BKP_20231115_PRE_RAFFORZAMENTO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S172ProtezioneCapitaleAreeBisogno"; FullName = "[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S172ProtezioneCapitaleAreeBisogno_20171201_ori"; FullName = "[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20171201_ori]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S172ProtezioneCapitaleAreeBisogno_20171215"; FullName = "[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20171215]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S172ProtezioneCapitaleAreeBisogno_20171220"; FullName = "[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20171220]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S172ProtezioneCapitaleAreeBisogno_20171221"; FullName = "[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20171221]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S172ProtezioneCapitaleAreeBisogno_20180119"; FullName = "[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20180119]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S172ProtezioneCapitaleAreeBisogno_20180717_PrePre1Pre2"; FullName = "[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20180717_PrePre1Pre2]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S172ProtezioneCapitaleAreeBisogno_20190717_preFixArrotondamento"; FullName = "[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20190717_preFixArrotondamento]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S172ProtezioneCapitaleAreeBisogno_pktest"; FullName = "[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_pktest]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S172ProtezioneCapitaleLineeProdotti"; FullName = "[C6MartPeriodico].[PL_S172ProtezioneCapitaleLineeProdotti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S181PreferenzeESG"; FullName = "[C6MartPeriodico].[PL_S181PreferenzeESG]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S181PreferenzeESG_BKP_20231116_PRE_RAFFORZAMENTO"; FullName = "[C6MartPeriodico].[PL_S181PreferenzeESG_BKP_20231116_PRE_RAFFORZAMENTO]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024"; FullName = "[C6MartPeriodico].[PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S182BISDettaglioProdottiESG"; FullName = "[C6MartPeriodico].[PL_S182BISDettaglioProdottiESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S182BISDettaglioProdottiESG_Mon"; FullName = "[C6MartPeriodico].[PL_S182BISDettaglioProdottiESG_Mon]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S182DettaglioProdottiESG"; FullName = "[C6MartPeriodico].[PL_S182DettaglioProdottiESG]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024"; FullName = "[C6MartPeriodico].[PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S183iCapital"; FullName = "[C6MartPeriodico].[PL_S183iCapital]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S184CoerenzaESG"; FullName = "[C6MartPeriodico].[PL_S184CoerenzaESG]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S184CoerenzaESG_BKP_20231013"; FullName = "[C6MartPeriodico].[PL_S184CoerenzaESG_BKP_20231013]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S185UCaratteristicheESG"; FullName = "[C6MartPeriodico].[PL_S185UCaratteristicheESG]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024"; FullName = "[C6MartPeriodico].[PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S186DettaglioPortafoglioSei"; FullName = "[C6MartPeriodico].[PL_S186DettaglioPortafoglioSei]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S187SfdrTaxESG"; FullName = "[C6MartPeriodico].[PL_S187SfdrTaxESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S188PaiESG"; FullName = "[C6MartPeriodico].[PL_S188PaiESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S18PatrimonioFinanziarioRischio"; FullName = "[C6MartPeriodico].[PL_S18PatrimonioFinanziarioRischio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S1Patrimonio"; FullName = "[C6MartPeriodico].[PL_S1Patrimonio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S23DettaglioRischio"; FullName = "[C6MartPeriodico].[PL_S23DettaglioRischio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S25Anagrafica"; FullName = "[C6MartPeriodico].[PL_S25Anagrafica]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S25Anagrafica_BkUpParall"; FullName = "[C6MartPeriodico].[PL_S25Anagrafica_BkUpParall]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S26PatrimonioImmobiliare"; FullName = "[C6MartPeriodico].[PL_S26PatrimonioImmobiliare]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S27ALtroPatrimonio"; FullName = "[C6MartPeriodico].[PL_S27ALtroPatrimonio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S2PatrimonioFinanziario"; FullName = "[C6MartPeriodico].[PL_S2PatrimonioFinanziario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S31PatrimonioFinanziarioIntermediario"; FullName = "[C6MartPeriodico].[PL_S31PatrimonioFinanziarioIntermediario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S32PatrimonioFinanziarioMAssetClass"; FullName = "[C6MartPeriodico].[PL_S32PatrimonioFinanziarioMAssetClass]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S36ProfiloRischio"; FullName = "[C6MartPeriodico].[PL_S36ProfiloRischio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S37PiramideModello"; FullName = "[C6MartPeriodico].[PL_S37PiramideModello]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S42RischioDiversificazione"; FullName = "[C6MartPeriodico].[PL_S42RischioDiversificazione]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S43BISDettaglioProdottiBF"; FullName = "[C6MartPeriodico].[PL_S43BISDettaglioProdottiBF]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S43BISDettaglioProdottiBF_20160118"; FullName = "[C6MartPeriodico].[PL_S43BISDettaglioProdottiBF_20160118]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S43BISDettaglioProdottiBF_20161215"; FullName = "[C6MartPeriodico].[PL_S43BISDettaglioProdottiBF_20161215]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S43BISDettaglioProdottiBF_20161215_B"; FullName = "[C6MartPeriodico].[PL_S43BISDettaglioProdottiBF_20161215_B]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S43ContoCorrenteBF"; FullName = "[C6MartPeriodico].[PL_S43ContoCorrenteBF]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S43DettaglioProdottiBF"; FullName = "[C6MartPeriodico].[PL_S43DettaglioProdottiBF]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S43DettaglioProdottiBF_20161215"; FullName = "[C6MartPeriodico].[PL_S43DettaglioProdottiBF_20161215]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S43DettaglioProdottiBF_20161219"; FullName = "[C6MartPeriodico].[PL_S43DettaglioProdottiBF_20161219]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S43DettaglioProdottiBF_BK_eligoTitoli"; FullName = "[C6MartPeriodico].[PL_S43DettaglioProdottiBF_BK_eligoTitoli]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S43LineaSelfBF"; FullName = "[C6MartPeriodico].[PL_S43LineaSelfBF]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S43LineaSelfBF_20181214_PreMioFoglio"; FullName = "[C6MartPeriodico].[PL_S43LineaSelfBF_20181214_PreMioFoglio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S48DettaglioProdotti"; FullName = "[C6MartPeriodico].[PL_S48DettaglioProdotti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S49PolizzeAltriIstituti"; FullName = "[C6MartPeriodico].[PL_S49PolizzeAltriIstituti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S50FondiAltriIstituti"; FullName = "[C6MartPeriodico].[PL_S50FondiAltriIstituti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S51ContoCorrenteAI"; FullName = "[C6MartPeriodico].[PL_S51ContoCorrenteAI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S56PatrimonioBFAreeBisogno"; FullName = "[C6MartPeriodico].[PL_S56PatrimonioBFAreeBisogno]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S57ConfrontoPiramidi"; FullName = "[C6MartPeriodico].[PL_S57ConfrontoPiramidi]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S57ConfrontoPiramidi_OLD"; FullName = "[C6MartPeriodico].[PL_S57ConfrontoPiramidi_OLD]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S6PatrimonioFinanziario"; FullName = "[C6MartPeriodico].[PL_S6PatrimonioFinanziario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S75GradoCopertura"; FullName = "[C6MartPeriodico].[PL_S75GradoCopertura]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S75GradoCopertura_check"; FullName = "[C6MartPeriodico].[PL_S75GradoCopertura_check]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S75GradoCoperturaCompl"; FullName = "[C6MartPeriodico].[PL_S75GradoCoperturaCompl]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S75GradoCoperturaInterno"; FullName = "[C6MartPeriodico].[PL_S75GradoCoperturaInterno]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S75GradoCoperturaTerzi"; FullName = "[C6MartPeriodico].[PL_S75GradoCoperturaTerzi]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S76AlternativaPatrimonioNonRappresentabileAssettClass"; FullName = "[C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S76PatrimonioNonRappresentabileAssettClass"; FullName = "[C6MartPeriodico].[PL_S76PatrimonioNonRappresentabileAssettClass]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S80Alternativa"; FullName = "[C6MartPeriodico].[PL_S80Alternativa]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S80Alternativa_20181214_PreMioFoglio"; FullName = "[C6MartPeriodico].[PL_S80Alternativa_20181214_PreMioFoglio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S80Alternativa_bkp_FC"; FullName = "[C6MartPeriodico].[PL_S80Alternativa_bkp_FC]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S80Alternativa_BkUpParall"; FullName = "[C6MartPeriodico].[PL_S80Alternativa_BkUpParall]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S80Alternativa_DidascalieNote"; FullName = "[C6MartPeriodico].[PL_S80Alternativa_DidascalieNote]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S80Alternativa_OLD"; FullName = "[C6MartPeriodico].[PL_S80Alternativa_OLD]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S80Alternativa_perc"; FullName = "[C6MartPeriodico].[PL_S80Alternativa_perc]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S80BisEvoluzioneRischio"; FullName = "[C6MartPeriodico].[PL_S80BisEvoluzioneRischio]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S80BisEvoluzioneRischio_20170413_RM_DBname"; FullName = "[C6MartPeriodico].[PL_S80BisEvoluzioneRischio_20170413_RM_DBname]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S80BisEvoluzioneRischio_BkUpParall"; FullName = "[C6MartPeriodico].[PL_S80BisEvoluzioneRischio_BkUpParall]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S80EvoluzioneControvalore"; FullName = "[C6MartPeriodico].[PL_S80EvoluzioneControvalore]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S82BisDatiSintetici"; FullName = "[C6MartPeriodico].[PL_S82BisDatiSintetici]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S82DatiSintetici"; FullName = "[C6MartPeriodico].[PL_S82DatiSintetici]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S83DatiRendimento"; FullName = "[C6MartPeriodico].[PL_S83DatiRendimento]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S83DatiRendimento_85"; FullName = "[C6MartPeriodico].[PL_S83DatiRendimento_85]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S84ControvaloreRisorseApportate"; FullName = "[C6MartPeriodico].[PL_S84ControvaloreRisorseApportate]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S85RendimentoPortafoglioCono"; FullName = "[C6MartPeriodico].[PL_S85RendimentoPortafoglioCono]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S86PatrimonioFinanziarioMAssetClass"; FullName = "[C6MartPeriodico].[PL_S86PatrimonioFinanziarioMAssetClass]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento"; FullName = "[C6MartPeriodico].[PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S94Rischio"; FullName = "[C6MartPeriodico].[PL_S94Rischio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S95ProfiloDiRischio"; FullName = "[C6MartPeriodico].[PL_S95ProfiloDiRischio]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S95ProfiloDiRischio_20190204_PreMIFID2"; FullName = "[C6MartPeriodico].[PL_S95ProfiloDiRischio_20190204_PreMIFID2]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S96BisRischioMercatoRischioCredito"; FullName = "[C6MartPeriodico].[PL_S96BisRischioMercatoRischioCredito]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S96RischiomercatoRischiocredito"; FullName = "[C6MartPeriodico].[PL_S96RischiomercatoRischiocredito]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_SavingMap"; FullName = "[C6MartPeriodico].[PL_SavingMap]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_D2_S150Anagrafica"; FullName = "[C6MartPeriodico].[Popola_D2_S150Anagrafica]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_FD190PatrimonioFinanziario_PTFRibilanciato"; FullName = "[C6MartPeriodico].[Popola_FD190PatrimonioFinanziario_PTFRibilanciato]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_FD200DistribuzioneAssetClass_PTFRibilanciato"; FullName = "[C6MartPeriodico].[Popola_FD200DistribuzioneAssetClass_PTFRibilanciato]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S10PatrimonioFinanziario"; FullName = "[C6MartPeriodico].[Popola_S10PatrimonioFinanziario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S10PatrimonioFinanziario_pre_selective"; FullName = "[C6MartPeriodico].[Popola_S10PatrimonioFinanziario_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "POPOLA_S132ProfiloRischioAdeguatezza"; FullName = "[C6MartPeriodico].[POPOLA_S132ProfiloRischioAdeguatezza]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "POPOLA_S132ProfiloRischioAdeguatezza_pre_selective"; FullName = "[C6MartPeriodico].[POPOLA_S132ProfiloRischioAdeguatezza_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "POPOLA_S132ProfiloRischioAdeguatezza_PROVVISORIA"; FullName = "[C6MartPeriodico].[POPOLA_S132ProfiloRischioAdeguatezza_PROVVISORIA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S133_S157DatiPiramide"; FullName = "[C6MartPeriodico].[Popola_S133_S157DatiPiramide]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S133_S157DatiPiramide_20161202"; FullName = "[C6MartPeriodico].[Popola_S133_S157DatiPiramide_20161202]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S133_S157DatiPiramide_20161214"; FullName = "[C6MartPeriodico].[Popola_S133_S157DatiPiramide_20161214]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S133_S157DatiPiramide_20170113_ORIG"; FullName = "[C6MartPeriodico].[Popola_S133_S157DatiPiramide_20170113_ORIG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S133_S157DatiPiramide_pre_selective"; FullName = "[C6MartPeriodico].[Popola_S133_S157DatiPiramide_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S148DistribuzioneAssetClass"; FullName = "[C6MartPeriodico].[Popola_S148DistribuzioneAssetClass]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S148DistribuzioneAssetClass_pre_selective"; FullName = "[C6MartPeriodico].[Popola_S148DistribuzioneAssetClass_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S179EmittentiConcentrazioneAlta"; FullName = "[C6MartPeriodico].[Popola_S179EmittentiConcentrazioneAlta]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S179EmittentiConcentrazioneAlta_20180626"; FullName = "[C6MartPeriodico].[Popola_S179EmittentiConcentrazioneAlta_20180626]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S179EmittentiConcentrazioneAlta_BKP_20231115_PRE_RAFFORZAMENTO"; FullName = "[C6MartPeriodico].[Popola_S179EmittentiConcentrazioneAlta_BKP_20231115_PRE_RAFFORZAMENTO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S25Anagrafica"; FullName = "[C6MartPeriodico].[Popola_S25Anagrafica]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S25Anagrafica_pre_selective"; FullName = "[C6MartPeriodico].[Popola_S25Anagrafica_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S80_S129_EvoluzioneCTVPatrimonio"; FullName = "[C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale"; FullName = "[C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3"; FullName = "[C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S80BisEvoluzioneRischio"; FullName = "[C6MartPeriodico].[Popola_S80BisEvoluzioneRischio]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S80BisEvoluzioneRischio_20170724_preCR_fasi1e2"; FullName = "[C6MartPeriodico].[Popola_S80BisEvoluzioneRischio_20170724_preCR_fasi1e2]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S80BisEvoluzioneRischio_20171222"; FullName = "[C6MartPeriodico].[Popola_S80BisEvoluzioneRischio_20171222]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S80BisEvoluzioneRischio_BKP_20231116_PRE_RAFFORZAMENTO"; FullName = "[C6MartPeriodico].[Popola_S80BisEvoluzioneRischio_BKP_20231116_PRE_RAFFORZAMENTO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S80BisEvoluzioneRischio_pre_selective"; FullName = "[C6MartPeriodico].[Popola_S80BisEvoluzioneRischio_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_TB_S180ProdottiComplessitaAlta"; FullName = "[C6MartPeriodico].[Popola_TB_S180ProdottiComplessitaAlta]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popolamento_RP_vTuttiIPortafogli_Aladdin_tab"; FullName = "[C6MartPeriodico].[Popolamento_RP_vTuttiIPortafogli_Aladdin_tab]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popolamento_RP_W6CLIREP"; FullName = "[C6MartPeriodico].[Popolamento_RP_W6CLIREP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "ProfiloScaduto_Campione"; FullName = "[C6MartPeriodico].[ProfiloScaduto_Campione]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PROM_TuttiIPortafogli"; FullName = "[C6MartPeriodico].[PROM_TuttiIPortafogli]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RESTART_CONTROLLO_TRIMESTRALE"; FullName = "[C6MartPeriodico].[RESTART_CONTROLLO_TRIMESTRALE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RFA_SEGNALATI_SP"; FullName = "[C6MartPeriodico].[RFA_SEGNALATI_SP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RM_Sintesi_Cliente"; FullName = "[C6MartPeriodico].[RM_Sintesi_Cliente]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_AggiornaFlagContratto"; FullName = "[C6MartPeriodico].[RP_AggiornaFlagContratto]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ANAG_CC_TERZI"; FullName = "[C6MartPeriodico].[RP_DM_ANAG_CC_TERZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ANAG_CC_TERZI_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_ANAG_CC_TERZI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ANAG_CLIENTI"; FullName = "[C6MartPeriodico].[RP_DM_ANAG_CLIENTI]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ANAG_CLIENTI_20170409"; FullName = "[C6MartPeriodico].[RP_DM_ANAG_CLIENTI_20170409]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ANAG_CLIENTI_20170409_AGENTEisNotNull"; FullName = "[C6MartPeriodico].[RP_DM_ANAG_CLIENTI_20170409_AGENTEisNotNull]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL"; FullName = "[C6MartPeriodico].[RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL_20190612"; FullName = "[C6MartPeriodico].[RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL_20190612]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ANAG_CLIENTI_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_ANAG_CLIENTI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ANAG_PRODOTTI"; FullName = "[C6MartPeriodico].[RP_DM_ANAG_PRODOTTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ANAG_PRODOTTI_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ANAG_PRODOTTI_TERZI"; FullName = "[C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_TERZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ANAG_PRODOTTI_TERZI_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_TERZI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ANAG_PRODOTTI_VALUTE"; FullName = "[C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_VALUTE]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK"; FullName = "[C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ANAG_PROMOTORI"; FullName = "[C6MartPeriodico].[RP_DM_ANAG_PROMOTORI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ANAG_PROMOTORI_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_ANAG_PROMOTORI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_AREA_BISOGNO"; FullName = "[C6MartPeriodico].[RP_DM_AREA_BISOGNO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_AREA_BISOGNO_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_AREA_BISOGNO_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ASSET_PERC"; FullName = "[C6MartPeriodico].[RP_DM_ASSET_PERC]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ASSET_PERC_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_ASSET_PERC_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ASSET_PERC_TERZI"; FullName = "[C6MartPeriodico].[RP_DM_ASSET_PERC_TERZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ASSET_PERC_TERZI_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_ASSET_PERC_TERZI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ASSETCLASS"; FullName = "[C6MartPeriodico].[RP_DM_ASSETCLASS]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ASSETCLASS_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_ASSETCLASS_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ASSETCLASS_TERZI"; FullName = "[C6MartPeriodico].[RP_DM_ASSETCLASS_TERZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ASSETCLASS_TERZI_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_ASSETCLASS_TERZI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_BONIFICA_DTRIF0_TSCABP"; FullName = "[C6MartPeriodico].[RP_DM_BONIFICA_DTRIF0_TSCABP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_BrsClienteESG"; FullName = "[C6MartPeriodico].[RP_DM_BrsClienteESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_CLIENTI_RISORSE_NA"; FullName = "[C6MartPeriodico].[RP_DM_CLIENTI_RISORSE_NA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_COMPLESSITA"; FullName = "[C6MartPeriodico].[RP_DM_COMPLESSITA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_COMPLESSITA_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_COMPLESSITA_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_Confronto_IndicatoreRischio"; FullName = "[C6MartPeriodico].[RP_DM_Confronto_IndicatoreRischio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_CONO_PIANIFICAZIONE"; FullName = "[C6MartPeriodico].[RP_DM_CONO_PIANIFICAZIONE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_CONO_PIANIFICAZIONE_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_CONO_PIANIFICAZIONE_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_CONTRATTOSEI"; FullName = "[C6MartPeriodico].[RP_DM_CONTRATTOSEI]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_CONTRATTOSEI_20170407.SAVE"; FullName = "[C6MartPeriodico].[RP_DM_CONTRATTOSEI_20170407.SAVE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_CONTRATTOSEI_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_CONTRATTOSEI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_CONTROLLO_TRIMESTRALE"; FullName = "[C6MartPeriodico].[RP_DM_CONTROLLO_TRIMESTRALE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_CONTROLLO_TRIMESTRALE_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_CONTROLLO_TRIMESTRALE_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_DETTAGLIO_ASUL"; FullName = "[C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_DETTAGLIO_ASUL.20170320.OBS"; FullName = "[C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL.20170320.OBS]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_DETTAGLIO_ASUL_20170123"; FullName = "[C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL_20170123]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_DETTAGLIO_ASUL_luca"; FullName = "[C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL_luca]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_DETTAGLIO_ASUL_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_DETTAGLIO_ASUL_TEMP"; FullName = "[C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL_TEMP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ESG_ANAG_METRICHE"; FullName = "[C6MartPeriodico].[RP_DM_ESG_ANAG_METRICHE]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4"; FullName = "[C6MartPeriodico].[RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE"; FullName = "[C6MartPeriodico].[RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_IndicatoreRischio"; FullName = "[C6MartPeriodico].[RP_DM_IndicatoreRischio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MAIL_PROFILI_RISCHIO"; FullName = "[C6MartPeriodico].[RP_DM_MAIL_PROFILI_RISCHIO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MONITORAGGIO_ATTUALE"; FullName = "[C6MartPeriodico].[RP_DM_MONITORAGGIO_ATTUALE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MONITORAGGIO_ATTUALE_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_MONITORAGGIO_ATTUALE_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MONITORAGGIO_DETTAGLIO"; FullName = "[C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MONITORAGGIO_DETTAGLIO_20161220"; FullName = "[C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20161220]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MONITORAGGIO_DETTAGLIO_20171218_preRFMP"; FullName = "[C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20171218_preRFMP]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MONITORAGGIO_DETTAGLIO_20181213"; FullName = "[C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20181213]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MONITORAGGIO_DETTAGLIO_20190112"; FullName = "[C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20190112]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MONITORAGGIO_DETTAGLIO_20190314_preMioFoglio"; FullName = "[C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20190314_preMioFoglio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MONITORAGGIO_INIZIALE"; FullName = "[C6MartPeriodico].[RP_DM_MONITORAGGIO_INIZIALE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MONITORAGGIO_INIZIALE_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_MONITORAGGIO_INIZIALE_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MONITORAGGIO_REPORT"; FullName = "[C6MartPeriodico].[RP_DM_MONITORAGGIO_REPORT]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MONITORAGGIO_REPORT_20181214_PreMioFoglio"; FullName = "[C6MartPeriodico].[RP_DM_MONITORAGGIO_REPORT_20181214_PreMioFoglio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MONITORAGGIO_REPORT_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_MONITORAGGIO_REPORT_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MONITORAGGIO_STORICO"; FullName = "[C6MartPeriodico].[RP_DM_MONITORAGGIO_STORICO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MONITORAGGIO_STORICO_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_MONITORAGGIO_STORICO_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_ALTRO"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_ALTRO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_ALTRO_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_ALTRO_pre_selective]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_BF"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_BF]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_BF_20170407.SAVE"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_BF_20170407.SAVE]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_BF_20170421_4b_prometeria_err_fix"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_BF_20170421_4b_prometeria_err_fix]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_BF_20171019_err"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_BF_20171019_err]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_BF_BK_eligoTitoli"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_BF_BK_eligoTitoli]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_BF_BKP_20231017"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_BF_BKP_20231017]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_BF_DaCancellare"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_BF_DaCancellare]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_BF_FC"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_BF_FC]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_BF_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_BF_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_BF_TEST"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_BF_TEST]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_IMMOBILIARE"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_IMMOBILIARE]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_TERZI"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_TERZI]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_TERZI_20170427_Patr3"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_TERZI_20170427_Patr3]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_TERZI_20180315"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_TERZI_20180315]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_TERZI_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_TERZI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PIRAMIDE_MOD"; FullName = "[C6MartPeriodico].[RP_DM_PIRAMIDE_MOD]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PIRAMIDE_MOD_20161202"; FullName = "[C6MartPeriodico].[RP_DM_PIRAMIDE_MOD_20161202]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PIRAMIDE_MOD_20170119"; FullName = "[C6MartPeriodico].[RP_DM_PIRAMIDE_MOD_20170119]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PIRAMIDE_MOD_pre_selective"; FullName = "[C6MartPeriodico].[RP_DM_PIRAMIDE_MOD_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PIRAMIDE_VERT"; FullName = "[C6MartPeriodico].[RP_DM_PIRAMIDE_VERT]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_QD_VAR_RISK_WEEK2"; FullName = "[C6MartPeriodico].[RP_DM_QD_VAR_RISK_WEEK2]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_W6CATESG"; FullName = "[C6MartPeriodico].[RP_DM_W6CATESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_W6CKADEG"; FullName = "[C6MartPeriodico].[RP_DM_W6CKADEG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_W6CLIESG"; FullName = "[C6MartPeriodico].[RP_DM_W6CLIESG]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_W6IndPtf"; FullName = "[C6MartPeriodico].[RP_DM_W6IndPtf]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_WSEIAN2"; FullName = "[C6MartPeriodico].[RP_DM_WSEIAN2]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_WSEICAP"; FullName = "[C6MartPeriodico].[RP_DM_WSEICAP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_WSEICC"; FullName = "[C6MartPeriodico].[RP_DM_WSEICC]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_WSEIRPF"; FullName = "[C6MartPeriodico].[RP_DM_WSEIRPF]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_GESTIONE_SELECT_LETTERE_DA_INVIARE"; FullName = "[C6MartPeriodico].[RP_GESTIONE_SELECT_LETTERE_DA_INVIARE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli_pre_selective"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli2"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli2]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli2_20170409_TEST"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20170409_TEST]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli2_20170410"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20170410]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli2_20170410_EXCLCF"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20170410_EXCLCF]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli2_20170421_EXCL_CF"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20170421_EXCL_CF]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli2_20180615_NewMotorePrometeia"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20180615_NewMotorePrometeia]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli2_Indicatore"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli2_Indicatore_20180711_AZZERARE_CTV_NEGATIVI"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_20180711_AZZERARE_CTV_NEGATIVI]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli2_Indicatore_20180719_preAzzeramentoCCNeg"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_20180719_preAzzeramentoCCNeg]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli2_Indicatore_20181018"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_20181018]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli2_Indicatore_20181018_SingoloCF"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_20181018_SingoloCF]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli2_Indicatore_IN"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_IN]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli2_Indicatore_ORIGINALE"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_ORIGINALE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_SRV_CHECK_C6_GIORNALIERO"; FullName = "[C6MartPeriodico].[RP_SRV_CHECK_C6_GIORNALIERO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_SRV_ESTRAZ_GIORNALIERA_CC"; FullName = "[C6MartPeriodico].[RP_SRV_ESTRAZ_GIORNALIERA_CC]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_ST_ClientiPtfNonDiv"; FullName = "[C6MartPeriodico].[RP_ST_ClientiPtfNonDiv]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_TCPTAB"; FullName = "[C6MartPeriodico].[RP_TCPTAB]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_Tipologia_Campione"; FullName = "[C6MartPeriodico].[RP_Tipologia_Campione]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_Tipologia_Tabellone"; FullName = "[C6MartPeriodico].[RP_Tipologia_Tabellone]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Segnala_Disallineamenti"; FullName = "[C6MartPeriodico].[Segnala_Disallineamenti]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Segnala_Disallineamenti_20190129"; FullName = "[C6MartPeriodico].[Segnala_Disallineamenti_20190129]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Segnala_ProdottiNonCensiti"; FullName = "[C6MartPeriodico].[Segnala_ProdottiNonCensiti]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Segnala_ProdottiNonCensiti_20190129"; FullName = "[C6MartPeriodico].[Segnala_ProdottiNonCensiti_20190129]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SetDocumentMissing"; FullName = "[C6MartPeriodico].[SetDocumentMissing]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "sp_caricaBlacklist"; FullName = "[C6MartPeriodico].[sp_caricaBlacklist]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "sp_caricaBlacklist_RFAMinus_old"; FullName = "[C6MartPeriodico].[sp_caricaBlacklist_RFAMinus_old]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_BonificaDati"; FullName = "[C6MartPeriodico].[SP_DQ_BonificaDati]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_BonificaDati_pre_selective"; FullName = "[C6MartPeriodico].[SP_DQ_BonificaDati_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_CaratteriAnomali"; FullName = "[C6MartPeriodico].[SP_DQ_CaratteriAnomali]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_CaratteriAnomali_pre_selective"; FullName = "[C6MartPeriodico].[SP_DQ_CaratteriAnomali_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_DataAvvioMonitoraggio"; FullName = "[C6MartPeriodico].[SP_DQ_DataAvvioMonitoraggio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_DataAvvioMonitoraggio_pre_selective"; FullName = "[C6MartPeriodico].[SP_DQ_DataAvvioMonitoraggio_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_DataValorizzazioneTRenab"; FullName = "[C6MartPeriodico].[SP_DQ_DataValorizzazioneTRenab]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_DataValorizzazioneTRenab_pre_selective"; FullName = "[C6MartPeriodico].[SP_DQ_DataValorizzazioneTRenab_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_DeleteSegnalazioni"; FullName = "[C6MartPeriodico].[SP_DQ_DeleteSegnalazioni]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_DeleteSegnalazioni_pre_selective"; FullName = "[C6MartPeriodico].[SP_DQ_DeleteSegnalazioni_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_DescCatalogoProdottiScadenze"; FullName = "[C6MartPeriodico].[SP_DQ_DescCatalogoProdottiScadenze]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_DescCatalogoProdottiScadenze_pre_selective"; FullName = "[C6MartPeriodico].[SP_DQ_DescCatalogoProdottiScadenze_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_DescProdottoProventi"; FullName = "[C6MartPeriodico].[SP_DQ_DescProdottoProventi]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_DescProdottoProventi_pre_selective"; FullName = "[C6MartPeriodico].[SP_DQ_DescProdottoProventi_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_PositionID"; FullName = "[C6MartPeriodico].[SP_DQ_PositionID]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_PositionID_pre_selective"; FullName = "[C6MartPeriodico].[SP_DQ_PositionID_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_PositionIDConsulenza"; FullName = "[C6MartPeriodico].[SP_DQ_PositionIDConsulenza]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_PositionIDConsulenza_pre_selective"; FullName = "[C6MartPeriodico].[SP_DQ_PositionIDConsulenza_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_PosizioniDuplicate"; FullName = "[C6MartPeriodico].[SP_DQ_PosizioniDuplicate]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_ProgettoDuplicatoArea"; FullName = "[C6MartPeriodico].[SP_DQ_ProgettoDuplicatoArea]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_ScartiAPI"; FullName = "[C6MartPeriodico].[SP_DQ_ScartiAPI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_ScriviDisallineati"; FullName = "[C6MartPeriodico].[SP_DQ_ScriviDisallineati]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_ScriviDisallineati_pre_selective"; FullName = "[C6MartPeriodico].[SP_DQ_ScriviDisallineati_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_SelezioneDisallineati"; FullName = "[C6MartPeriodico].[SP_DQ_SelezioneDisallineati]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_SelezioneDisallineati_pre_selective_luca"; FullName = "[C6MartPeriodico].[SP_DQ_SelezioneDisallineati_pre_selective_luca]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_VerificaDisallineati"; FullName = "[C6MartPeriodico].[SP_DQ_VerificaDisallineati]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_VerificaDisallineati_pre_selective"; FullName = "[C6MartPeriodico].[SP_DQ_VerificaDisallineati_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_VerificaEmail"; FullName = "[C6MartPeriodico].[SP_DQ_VerificaEmail]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_VerificaEmail_20161010"; FullName = "[C6MartPeriodico].[SP_DQ_VerificaEmail_20161010]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_VerificaEmail_pre_selective"; FullName = "[C6MartPeriodico].[SP_DQ_VerificaEmail_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "sp_getDatiReport"; FullName = "[C6MartPeriodico].[sp_getDatiReport]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "sp_getDatiReport_checkFileCorrotti"; FullName = "[C6MartPeriodico].[sp_getDatiReport_checkFileCorrotti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "sp_getDatiReport_checkFileCorrotti_Griffin"; FullName = "[C6MartPeriodico].[sp_getDatiReport_checkFileCorrotti_Griffin]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "sp_getIDReport"; FullName = "[C6MartPeriodico].[sp_getIDReport]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "sp_GetNumeroZipProdotti"; FullName = "[C6MartPeriodico].[sp_GetNumeroZipProdotti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_Patrimonio_BF_Percentuale_Piramide"; FullName = "[C6MartPeriodico].[SP_Patrimonio_BF_Percentuale_Piramide]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_PreTotaliReportGenerazioneZip"; FullName = "[C6MartPeriodico].[SP_PreTotaliReportGenerazioneZip]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_PreTotaliReportGenerazioneZip_20181017"; FullName = "[C6MartPeriodico].[SP_PreTotaliReportGenerazioneZip_20181017]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_statistiche_app_rendicontazione"; FullName = "[C6MartPeriodico].[SP_statistiche_app_rendicontazione]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_TotaliReportGenerazioneZip"; FullName = "[C6MartPeriodico].[SP_TotaliReportGenerazioneZip]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_TROVA_REPORT_DA_RIGENERARE"; FullName = "[C6MartPeriodico].[SP_TROVA_REPORT_DA_RIGENERARE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "sp_UpdateIdReportPDF"; FullName = "[C6MartPeriodico].[sp_UpdateIdReportPDF]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_Valorizza_Stati_semaforo_TRIM"; FullName = "[C6MartPeriodico].[SP_Valorizza_Stati_semaforo_TRIM]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_Allineamento_Pianificazione_Monitoraggio"; FullName = "[C6MartPeriodico].[SRV_Allineamento_Pianificazione_Monitoraggio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective"; FullName = "[C6MartPeriodico].[SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_CALCOLA_BILANCIAMENTO_GENERATOR"; FullName = "[C6MartPeriodico].[SRV_CALCOLA_BILANCIAMENTO_GENERATOR]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_CHECK_INDIRIZZI"; FullName = "[C6MartPeriodico].[SRV_CHECK_INDIRIZZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_ESTRAZIONE_FASE_2_PRE_MART"; FullName = "[C6MartPeriodico].[SRV_ESTRAZIONE_FASE_2_PRE_MART]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "srv_excel_zip"; FullName = "[C6MartPeriodico].[srv_excel_zip]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_LISTA_CLIENTI_FASE2"; FullName = "[C6MartPeriodico].[SRV_LISTA_CLIENTI_FASE2]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_LISTA_DISALLINEAMENTI_MONIT"; FullName = "[C6MartPeriodico].[SRV_LISTA_DISALLINEAMENTI_MONIT]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective"; FullName = "[C6MartPeriodico].[SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_NUOVA_ELABORAZIONE"; FullName = "[C6MartPeriodico].[SRV_NUOVA_ELABORAZIONE]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_NUOVA_ELABORAZIONE_20151009"; FullName = "[C6MartPeriodico].[SRV_NUOVA_ELABORAZIONE_20151009]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_NUOVA_ELABORAZIONE_bk_test_20151014"; FullName = "[C6MartPeriodico].[SRV_NUOVA_ELABORAZIONE_bk_test_20151014]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_NUOVA_ELABORAZIONE_pre_selective"; FullName = "[C6MartPeriodico].[SRV_NUOVA_ELABORAZIONE_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_QUANTO_MANCA"; FullName = "[C6MartPeriodico].[SRV_QUANTO_MANCA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_SELEZIONA_CAMPIONE"; FullName = "[C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_SELEZIONA_CAMPIONE_20160412"; FullName = "[C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20160412]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_SELEZIONA_CAMPIONE_20161012"; FullName = "[C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20161012]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_SELEZIONA_CAMPIONE_20180711_preExcludedList"; FullName = "[C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20180711_preExcludedList]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_SELEZIONA_CAMPIONE_20190116_PreNewFunction"; FullName = "[C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20190116_PreNewFunction]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_SELEZIONA_CAMPIONE_20230915"; FullName = "[C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20230915]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_STORICIZZAZIONE"; FullName = "[C6MartPeriodico].[SRV_STORICIZZAZIONE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_STORICIZZAZIONE_GLOBAL_ERROR"; FullName = "[C6MartPeriodico].[SRV_STORICIZZAZIONE_GLOBAL_ERROR]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective"; FullName = "[C6MartPeriodico].[SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_TABELLE_IN_MART"; FullName = "[C6MartPeriodico].[SRV_TABELLE_IN_MART]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_TABELLE_IN_MART_pre_selective"; FullName = "[C6MartPeriodico].[SRV_TABELLE_IN_MART_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_TRUNCATE_RP_STAGING"; FullName = "[C6MartPeriodico].[SRV_TRUNCATE_RP_STAGING]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_Verifica_DISALLINEAMENTI_MONIT"; FullName = "[C6MartPeriodico].[SRV_Verifica_DISALLINEAMENTI_MONIT]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "start_ConvertiExcel_tabellone"; FullName = "[C6MartPeriodico].[start_ConvertiExcel_tabellone]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "start_email_Approval_tabellone"; FullName = "[C6MartPeriodico].[start_email_Approval_tabellone]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "start_email_Certificazione_tabellone"; FullName = "[C6MartPeriodico].[start_email_Certificazione_tabellone]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "start_email_ConfermaPostalizzazione_tabellone"; FullName = "[C6MartPeriodico].[start_email_ConfermaPostalizzazione_tabellone]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "start_email_CongelamentoDB_tabellone"; FullName = "[C6MartPeriodico].[start_email_CongelamentoDB_tabellone]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "start_email_position_tabellone"; FullName = "[C6MartPeriodico].[start_email_position_tabellone]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "start_esportazione_tabellone"; FullName = "[C6MartPeriodico].[start_esportazione_tabellone]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "temp_RP_DM_PATRIMONIO_BF"; FullName = "[C6MartPeriodico].[temp_RP_DM_PATRIMONIO_BF]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "test_CaricamentoPL_fc"; FullName = "[C6MartPeriodico].[test_CaricamentoPL_fc]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Update_TB_Campione"; FullName = "[C6MartPeriodico].[Update_TB_Campione]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Update_TB_Campione_GB"; FullName = "[C6MartPeriodico].[Update_TB_Campione_GB]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "UpdateStatoReport"; FullName = "[C6MartPeriodico].[UpdateStatoReport]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Util_Test_PL"; FullName = "[C6MartPeriodico].[Util_Test_PL]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "zzzPL_S80Alternativa"; FullName = "[C6MartPeriodico].[zzzPL_S80Alternativa]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "zzzRP_DM_EMAIL_PB"; FullName = "[C6MartPeriodico].[zzzRP_DM_EMAIL_PB]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "Blacklist_Blocco_Tabellone"; FullName = "[C6MartPeriodicoImmobiliare].[Blacklist_Blocco_Tabellone]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "Delete_Immobiliare_GestionePDF"; FullName = "[C6MartPeriodicoImmobiliare].[Delete_Immobiliare_GestionePDF]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "DM_ANAG_SELF"; FullName = "[C6MartPeriodicoImmobiliare].[DM_ANAG_SELF]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "DM_ANAG_SELF_20181214_PreMioFoglio"; FullName = "[C6MartPeriodicoImmobiliare].[DM_ANAG_SELF_20181214_PreMioFoglio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "DM_CODIFICA_CREDITRISK"; FullName = "[C6MartPeriodicoImmobiliare].[DM_CODIFICA_CREDITRISK]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "DM_CODIFICA_RISCHIO"; FullName = "[C6MartPeriodicoImmobiliare].[DM_CODIFICA_RISCHIO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "DM_MIFID"; FullName = "[C6MartPeriodicoImmobiliare].[DM_MIFID]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "DM_PARTITE_VIAGGIANTI"; FullName = "[C6MartPeriodicoImmobiliare].[DM_PARTITE_VIAGGIANTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "DM_RISCHIO_AGGREGATO"; FullName = "[C6MartPeriodicoImmobiliare].[DM_RISCHIO_AGGREGATO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "Insert_Immobiliare_GestionePDF"; FullName = "[C6MartPeriodicoImmobiliare].[Insert_Immobiliare_GestionePDF]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "Insert_Immobiliare_GestioneZIP"; FullName = "[C6MartPeriodicoImmobiliare].[Insert_Immobiliare_GestioneZIP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "MERGED_PROCEDURE"; FullName = "[C6MartPeriodicoImmobiliare].[MERGED_PROCEDURE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "PL_D_S152Patrimonio"; FullName = "[C6MartPeriodicoImmobiliare].[PL_D_S152Patrimonio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "PL_D_S154PatrimonioFinanziario"; FullName = "[C6MartPeriodicoImmobiliare].[PL_D_S154PatrimonioFinanziario]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "PL_D2_S170RischioDiversificazione"; FullName = "[C6MartPeriodicoImmobiliare].[PL_D2_S170RischioDiversificazione]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "PL_GetClientNegativeCurrentAccountsValue"; FullName = "[C6MartPeriodicoImmobiliare].[PL_GetClientNegativeCurrentAccountsValue]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "PL_GetClientSelfNegCurrentAccountValue"; FullName = "[C6MartPeriodicoImmobiliare].[PL_GetClientSelfNegCurrentAccountValue]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "PL_MP_S133AreeBisognoPrincProd"; FullName = "[C6MartPeriodicoImmobiliare].[PL_MP_S133AreeBisognoPrincProd]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "PL_MP_S140AnalisiRisparmioCharts"; FullName = "[C6MartPeriodicoImmobiliare].[PL_MP_S140AnalisiRisparmioCharts]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "PL_S76AlternativaPatrimonioNonRappresentabileAssettClass"; FullName = "[C6MartPeriodicoImmobiliare].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento"; FullName = "[C6MartPeriodicoImmobiliare].[PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "Popola_S133_S157DatiPiramide"; FullName = "[C6MartPeriodicoImmobiliare].[Popola_S133_S157DatiPiramide]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "RP_DM_ANAG_CLIENTI"; FullName = "[C6MartPeriodicoImmobiliare].[RP_DM_ANAG_CLIENTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "RP_DM_ANAG_PRODOTTI"; FullName = "[C6MartPeriodicoImmobiliare].[RP_DM_ANAG_PRODOTTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "RP_DM_ANAG_PRODOTTI_TERZI"; FullName = "[C6MartPeriodicoImmobiliare].[RP_DM_ANAG_PRODOTTI_TERZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "RP_DM_AREA_BISOGNO"; FullName = "[C6MartPeriodicoImmobiliare].[RP_DM_AREA_BISOGNO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "RP_DM_ASSET_PERC"; FullName = "[C6MartPeriodicoImmobiliare].[RP_DM_ASSET_PERC]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "RP_DM_ASSET_PERC_TERZI"; FullName = "[C6MartPeriodicoImmobiliare].[RP_DM_ASSET_PERC_TERZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "RP_DM_ASSETCLASS"; FullName = "[C6MartPeriodicoImmobiliare].[RP_DM_ASSETCLASS]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "RP_DM_ASSETCLASS_TERZI"; FullName = "[C6MartPeriodicoImmobiliare].[RP_DM_ASSETCLASS_TERZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "RP_DM_CONTRATTOSEI"; FullName = "[C6MartPeriodicoImmobiliare].[RP_DM_CONTRATTOSEI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "RP_DM_DETTAGLIO_ASUL"; FullName = "[C6MartPeriodicoImmobiliare].[RP_DM_DETTAGLIO_ASUL]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "RP_DM_PATRIMONIO_ALTRO"; FullName = "[C6MartPeriodicoImmobiliare].[RP_DM_PATRIMONIO_ALTRO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "RP_DM_PATRIMONIO_BF"; FullName = "[C6MartPeriodicoImmobiliare].[RP_DM_PATRIMONIO_BF]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "RP_DM_PATRIMONIO_IMMOBILIARE"; FullName = "[C6MartPeriodicoImmobiliare].[RP_DM_PATRIMONIO_IMMOBILIARE]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota"; FullName = "[C6MartPeriodicoImmobiliare].[RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "RP_DM_PATRIMONIO_TERZI"; FullName = "[C6MartPeriodicoImmobiliare].[RP_DM_PATRIMONIO_TERZI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "RP_DM_PIRAMIDE_MOD"; FullName = "[C6MartPeriodicoImmobiliare].[RP_DM_PIRAMIDE_MOD]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "RP_PROM_TuttiIPortafogli2"; FullName = "[C6MartPeriodicoImmobiliare].[RP_PROM_TuttiIPortafogli2]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "RP_PROM_TuttiIPortafogli2_Indicatore"; FullName = "[C6MartPeriodicoImmobiliare].[RP_PROM_TuttiIPortafogli2_Indicatore]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "sp_caricaBlacklist"; FullName = "[C6MartPeriodicoImmobiliare].[sp_caricaBlacklist]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "SP_Valorizza_Stati_semaforo_IMM"; FullName = "[C6MartPeriodicoImmobiliare].[SP_Valorizza_Stati_semaforo_IMM]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "start_email_Testi_Statici_tabellone"; FullName = "[C6MartPeriodicoImmobiliare].[start_email_Testi_Statici_tabellone]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "start_email_Zipping_tabellone"; FullName = "[C6MartPeriodicoImmobiliare].[start_email_Zipping_tabellone]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "Update_Immobiliare_GestioneZIP"; FullName = "[C6MartPeriodicoImmobiliare].[Update_Immobiliare_GestioneZIP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "UpdateDateReport_Immobiliare_GestionePDF"; FullName = "[C6MartPeriodicoImmobiliare].[UpdateDateReport_Immobiliare_GestionePDF]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Staging"; ProcedureName = "CheckScartiMIFID"; FullName = "[C6Staging].[CheckScartiMIFID]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Staging"; ProcedureName = "CREA_FIRMA_PROMOTORE"; FullName = "[C6Staging].[CREA_FIRMA_PROMOTORE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Staging"; ProcedureName = "DecodificaIndicatoriAdeguatezza"; FullName = "[C6Staging].[DecodificaIndicatoriAdeguatezza]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Staging"; ProcedureName = "inserisci_promotori_fittizi"; FullName = "[C6Staging].[inserisci_promotori_fittizi]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Staging"; ProcedureName = "RP_clientiConMigrazione"; FullName = "[C6Staging].[RP_clientiConMigrazione]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Staging"; ProcedureName = "RP_CREA_POSITIONID"; FullName = "[C6Staging].[RP_CREA_POSITIONID]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Staging"; ProcedureName = "RP_CREA_POSITIONID_2011113"; FullName = "[C6Staging].[RP_CREA_POSITIONID_2011113]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Staging"; ProcedureName = "RP_CREA_POSITIONID_CONSULENZA"; FullName = "[C6Staging].[RP_CREA_POSITIONID_CONSULENZA]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Staging"; ProcedureName = "RP_CREA_POSITIONID_CONSULENZA_20161223"; FullName = "[C6Staging].[RP_CREA_POSITIONID_CONSULENZA_20161223]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6Staging"; ProcedureName = "RP_CREA_POSITIONID_CONSULENZA_20171113_orig"; FullName = "[C6Staging].[RP_CREA_POSITIONID_CONSULENZA_20171113_orig]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Staging"; ProcedureName = "RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE"; FullName = "[C6Staging].[RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Staging"; ProcedureName = "RP_ST_Parentela"; FullName = "[C6Staging].[RP_ST_Parentela]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Staging"; ProcedureName = "RP_ST_vNewPositionProposta"; FullName = "[C6Staging].[RP_ST_vNewPositionProposta]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Staging"; ProcedureName = "RP_W6LogBatch"; FullName = "[C6Staging].[RP_W6LogBatch]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Staging"; ProcedureName = "SRV_STORICIZZAZIONE"; FullName = "[C6Staging].[SRV_STORICIZZAZIONE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Staging"; ProcedureName = "SRV_SVUOTASTAGING"; FullName = "[C6Staging].[SRV_SVUOTASTAGING]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Staging"; ProcedureName = "SRV_TABELLE_IN_STAGING"; FullName = "[C6Staging].[SRV_TABELLE_IN_STAGING]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Staging"; ProcedureName = "ST_INSERT_SCARTI_SIMPB"; FullName = "[C6Staging].[ST_INSERT_SCARTI_SIMPB]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6Staging"; ProcedureName = "ST_SELECT_FOR_ADS4WS"; FullName = "[C6Staging].[ST_SELECT_FOR_ADS4WS]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "agg_codana_tabellone"; FullName = "[C6StagingPeriodico].[agg_codana_tabellone]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "agg_lotto_tabellone"; FullName = "[C6StagingPeriodico].[agg_lotto_tabellone]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "agg_wh_tabellone"; FullName = "[C6StagingPeriodico].[agg_wh_tabellone]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "agg_wseian2_tabellone"; FullName = "[C6StagingPeriodico].[agg_wseian2_tabellone]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "AGGIORNA_DATAFINEVALIDITAPROFILO"; FullName = "[C6StagingPeriodico].[AGGIORNA_DATAFINEVALIDITAPROFILO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "AGGIORNA_TANAB_CTV"; FullName = "[C6StagingPeriodico].[AGGIORNA_TANAB_CTV]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "AGGIORNA_WSEIAN_FLAGPERPROF"; FullName = "[C6StagingPeriodico].[AGGIORNA_WSEIAN_FLAGPERPROF]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "AggiornaContrattiPretrimestrale"; FullName = "[C6StagingPeriodico].[AggiornaContrattiPretrimestrale]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "ClienteProdottiAssicurativiVita"; FullName = "[C6StagingPeriodico].[ClienteProdottiAssicurativiVita]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "ClienteProdottiAssicurativiVita_Totali"; FullName = "[C6StagingPeriodico].[ClienteProdottiAssicurativiVita_Totali]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "ClienteProdottiFAI"; FullName = "[C6StagingPeriodico].[ClienteProdottiFAI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "ClienteProdottiFAI_Totali"; FullName = "[C6StagingPeriodico].[ClienteProdottiFAI_Totali]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "CopiaTabelleDiReplica"; FullName = "[C6StagingPeriodico].[CopiaTabelleDiReplica]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "CopiaTabelleDiReplica_20190129"; FullName = "[C6StagingPeriodico].[CopiaTabelleDiReplica_20190129]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "get_testo_sezione_adeg_PG_Compl_Conc_CDTTRIM"; FullName = "[C6StagingPeriodico].[get_testo_sezione_adeg_PG_Compl_Conc_CDTTRIM]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "immobiliare_tabellone"; FullName = "[C6StagingPeriodico].[immobiliare_tabellone]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "Popola_Prodotti_Fuori_Adeguatezza"; FullName = "[C6StagingPeriodico].[Popola_Prodotti_Fuori_Adeguatezza]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "PopolaW6TRCLIdavListaClientiTrimestrale"; FullName = "[C6StagingPeriodico].[PopolaW6TRCLIdavListaClientiTrimestrale]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "PopolaW6TRCLIdavListaClientiTrimestrale_anag_pb"; FullName = "[C6StagingPeriodico].[PopolaW6TRCLIdavListaClientiTrimestrale_anag_pb]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "Recupero_Trimestrale_Scarti"; FullName = "[C6StagingPeriodico].[Recupero_Trimestrale_Scarti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_clientiConMigrazione"; FullName = "[C6StagingPeriodico].[RP_clientiConMigrazione]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_clientiConMigrazione_20170413_RM_nomeDB"; FullName = "[C6StagingPeriodico].[RP_clientiConMigrazione_20170413_RM_nomeDB]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_CREA_POSITIONID_CONSULENZA"; FullName = "[C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_CREA_POSITIONID_CONSULENZA_20161213"; FullName = "[C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA_20161213]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_CREA_POSITIONID_CONSULENZA_20171204_preRFMP"; FullName = "[C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA_20171204_preRFMP]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_CREA_POSITIONID_CONSULENZA_20190725"; FullName = "[C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA_20190725]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_CREA_POSITIONID_CONSULENZA_pre_selective"; FullName = "[C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE"; FullName = "[C6StagingPeriodico].[RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_20180710"; FullName = "[C6StagingPeriodico].[RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_20180710]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_preAladdin"; FullName = "[C6StagingPeriodico].[RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_preAladdin]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_APPO_CONTRATTI_OLD"; FullName = "[C6StagingPeriodico].[RP_ST_APPO_CONTRATTI_OLD]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_BonificaClientiDoppi"; FullName = "[C6StagingPeriodico].[RP_ST_BonificaClientiDoppi]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_CONSULENZA"; FullName = "[C6StagingPeriodico].[RP_ST_CONSULENZA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_CONSULENZA_pre_selective"; FullName = "[C6StagingPeriodico].[RP_ST_CONSULENZA_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_CONTRATTIPRETRIMESTRALE"; FullName = "[C6StagingPeriodico].[RP_ST_CONTRATTIPRETRIMESTRALE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_CONTRATTIPRETRIMESTRALEFINETRIMESTRE"; FullName = "[C6StagingPeriodico].[RP_ST_CONTRATTIPRETRIMESTRALEFINETRIMESTRE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_CREA_POSITIONID"; FullName = "[C6StagingPeriodico].[RP_ST_CREA_POSITIONID]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_CREA_POSITIONID_20161213"; FullName = "[C6StagingPeriodico].[RP_ST_CREA_POSITIONID_20161213]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_CREA_POSITIONID_20171204_preRFMP"; FullName = "[C6StagingPeriodico].[RP_ST_CREA_POSITIONID_20171204_preRFMP]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_CREA_POSITIONID_20190725"; FullName = "[C6StagingPeriodico].[RP_ST_CREA_POSITIONID_20190725]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_CREA_POSITIONID_BK_eligoTitoli"; FullName = "[C6StagingPeriodico].[RP_ST_CREA_POSITIONID_BK_eligoTitoli]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_CREA_POSITIONID_pre_selective"; FullName = "[C6StagingPeriodico].[RP_ST_CREA_POSITIONID_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_Parentela"; FullName = "[C6StagingPeriodico].[RP_ST_Parentela]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_Parentela_pre_selective"; FullName = "[C6StagingPeriodico].[RP_ST_Parentela_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_PROGETTICLIENTE"; FullName = "[C6StagingPeriodico].[RP_ST_PROGETTICLIENTE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_PROGETTICLIENTE_pre_selective"; FullName = "[C6StagingPeriodico].[RP_ST_PROGETTICLIENTE_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_PROGETTICLIENTE_TEST_FC"; FullName = "[C6StagingPeriodico].[RP_ST_PROGETTICLIENTE_TEST_FC]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_SPB_CONTR_SINTESI"; FullName = "[C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_SPB_CONTR_SINTESI_20161213"; FullName = "[C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20161213]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_SPB_CONTR_SINTESI_20170407.SAVE"; FullName = "[C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20170407.SAVE]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_SPB_CONTR_SINTESI_20171204_preRFMP"; FullName = "[C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20171204_preRFMP]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio"; FullName = "[C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_SPB_CONTR_SINTESI_20190725"; FullName = "[C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20190725]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli"; FullName = "[C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_SPB_CONTR_SINTESI_pre_selective"; FullName = "[C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_SPB_CONTR_SINTESI2"; FullName = "[C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI2]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_vNewPositionProposta"; FullName = "[C6StagingPeriodico].[RP_ST_vNewPositionProposta]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_UPDATE_APPO_CONTRATTI"; FullName = "[C6StagingPeriodico].[RP_UPDATE_APPO_CONTRATTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_UPDATE_COMPLESSITA"; FullName = "[C6StagingPeriodico].[RP_UPDATE_COMPLESSITA]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_UPDATE_COMPLESSITA_20161213"; FullName = "[C6StagingPeriodico].[RP_UPDATE_COMPLESSITA_20161213]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_UPDATE_COMPLESSITA_pre_selective"; FullName = "[C6StagingPeriodico].[RP_UPDATE_COMPLESSITA_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_UPDATE_RP_CATALOGOPRODOTTI"; FullName = "[C6StagingPeriodico].[RP_UPDATE_RP_CATALOGOPRODOTTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_UPDATE_RP_CATALOGOPRODOTTI_pre_selective"; FullName = "[C6StagingPeriodico].[RP_UPDATE_RP_CATALOGOPRODOTTI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_W6LogBatch"; FullName = "[C6StagingPeriodico].[RP_W6LogBatch]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "sp_quadratura"; FullName = "[C6StagingPeriodico].[sp_quadratura]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "SRV_CREA_QUERY_STORICO"; FullName = "[C6StagingPeriodico].[SRV_CREA_QUERY_STORICO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "SRV_PopolaTabelleSIMPB_TEMP"; FullName = "[C6StagingPeriodico].[SRV_PopolaTabelleSIMPB_TEMP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "SRV_PopolaTabelleSIMPB_TEMP_pre_selective"; FullName = "[C6StagingPeriodico].[SRV_PopolaTabelleSIMPB_TEMP_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "SRV_STORICIZZAZIONE"; FullName = "[C6StagingPeriodico].[SRV_STORICIZZAZIONE]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "SRV_STORICIZZAZIONE_OLD"; FullName = "[C6StagingPeriodico].[SRV_STORICIZZAZIONE_OLD]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "SRV_STORICIZZAZIONE_preAladdin"; FullName = "[C6StagingPeriodico].[SRV_STORICIZZAZIONE_preAladdin]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "SRV_TABELLE_IN_STAGING"; FullName = "[C6StagingPeriodico].[SRV_TABELLE_IN_STAGING]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "SRV_TABELLE_IN_STAGING_pre_selective"; FullName = "[C6StagingPeriodico].[SRV_TABELLE_IN_STAGING_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "ST_CREA_POSITIONID"; FullName = "[C6StagingPeriodico].[ST_CREA_POSITIONID]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "ST_CREA_POSITIONID_pre_selective"; FullName = "[C6StagingPeriodico].[ST_CREA_POSITIONID_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "ST_DATA_CONGELAMENTO_SEI"; FullName = "[C6StagingPeriodico].[ST_DATA_CONGELAMENTO_SEI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "ST_DATA_CONGELAMENTO_SEI_pre_selective"; FullName = "[C6StagingPeriodico].[ST_DATA_CONGELAMENTO_SEI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "ST_SELECT_FOR_ADS4WS"; FullName = "[C6StagingPeriodico].[ST_SELECT_FOR_ADS4WS]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "ST_SELECT_FOR_ADS4WS_EMAIL"; FullName = "[C6StagingPeriodico].[ST_SELECT_FOR_ADS4WS_EMAIL]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "ST_SPB_CONTR_SINTESI"; FullName = "[C6StagingPeriodico].[ST_SPB_CONTR_SINTESI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "ST_SPB_CONTR_SINTESI_asu2"; FullName = "[C6StagingPeriodico].[ST_SPB_CONTR_SINTESI_asu2]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "ST_SPB_CONTR_SINTESI_pre_selective"; FullName = "[C6StagingPeriodico].[ST_SPB_CONTR_SINTESI_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "ST_SVUOTASIMPB"; FullName = "[C6StagingPeriodico].[ST_SVUOTASIMPB]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "ST_SVUOTASIMPB_pre_selective"; FullName = "[C6StagingPeriodico].[ST_SVUOTASIMPB_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "test_compl_testo_sezione_adeg"; FullName = "[C6StagingPeriodico].[test_compl_testo_sezione_adeg]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM"; FullName = "[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN"; FullName = "[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "test_compl_testo_sezione_adeg_PG_QPROF"; FullName = "[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "test_compl_testo_sezione_adeg_PG_QPROF.obs"; FullName = "[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF.obs]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "test_compl_testo_sezione_adeg_PG_QPROF.rigen.20170620"; FullName = "[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF.rigen.20170620]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "test_compl_testo_sezione_adeg_PG_QPROF_20170620"; FullName = "[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF_20170620]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "test_compl_testo_sezione_adeg_PG_QPROF_20170620_consegnato"; FullName = "[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF_20170620_consegnato]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "test_compl_testo_sezione_adeg_PG_QPROF_trim"; FullName = "[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF_trim]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "test_compl_testo_sezione_adeg_V.1.0"; FullName = "[C6StagingPeriodico].[test_compl_testo_sezione_adeg_V.1.0]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "test_compl_testo_sezione_adeg_V.2.0"; FullName = "[C6StagingPeriodico].[test_compl_testo_sezione_adeg_V.2.0]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "test_compl_testo_sezione_adeg_V.3.0"; FullName = "[C6StagingPeriodico].[test_compl_testo_sezione_adeg_V.3.0]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "UPDATE_CATITEMREF"; FullName = "[C6StagingPeriodico].[UPDATE_CATITEMREF]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "UPDATE_CATITEMREF_pre_selective"; FullName = "[C6StagingPeriodico].[UPDATE_CATITEMREF_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "UPDATE_COMPLESSITA"; FullName = "[C6StagingPeriodico].[UPDATE_COMPLESSITA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "UPDATE_COMPLESSITA_pre_selective"; FullName = "[C6StagingPeriodico].[UPDATE_COMPLESSITA_pre_selective]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "UTIL_popolaPromotoriDaGiornaliero"; FullName = "[C6StagingPeriodico].[UTIL_popolaPromotoriDaGiornaliero]" } - $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "zzzRP_CREA_POSITIONID_CONSULENZA"; FullName = "[C6StagingPeriodico].[zzzRP_CREA_POSITIONID_CONSULENZA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodicoImmobiliare"; ProcedureName = "Popola_APPO_CONTRATTI"; FullName = "[C6StagingPeriodicoImmobiliare].[Popola_APPO_CONTRATTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodicoImmobiliare"; ProcedureName = "RP_CREA_POSITIONID_CONSULENZA"; FullName = "[C6StagingPeriodicoImmobiliare].[RP_CREA_POSITIONID_CONSULENZA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodicoImmobiliare"; ProcedureName = "RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE"; FullName = "[C6StagingPeriodicoImmobiliare].[RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodicoImmobiliare"; ProcedureName = "RP_ST_BonificaClientiDoppi"; FullName = "[C6StagingPeriodicoImmobiliare].[RP_ST_BonificaClientiDoppi]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodicoImmobiliare"; ProcedureName = "RP_ST_CONSULENZA"; FullName = "[C6StagingPeriodicoImmobiliare].[RP_ST_CONSULENZA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodicoImmobiliare"; ProcedureName = "RP_ST_CREA_POSITIONID"; FullName = "[C6StagingPeriodicoImmobiliare].[RP_ST_CREA_POSITIONID]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodicoImmobiliare"; ProcedureName = "RP_ST_PROGETTICLIENTE"; FullName = "[C6StagingPeriodicoImmobiliare].[RP_ST_PROGETTICLIENTE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodicoImmobiliare"; ProcedureName = "RP_ST_SPB_CONTR_SINTESI"; FullName = "[C6StagingPeriodicoImmobiliare].[RP_ST_SPB_CONTR_SINTESI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodicoImmobiliare"; ProcedureName = "RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio"; FullName = "[C6StagingPeriodicoImmobiliare].[RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "Aggiorna_Trimestrale_SEI_Processi"; FullName = "[dbo].[Aggiorna_Trimestrale_SEI_Processi]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "AMB_Cerca"; FullName = "[dbo].[AMB_Cerca]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "AMB_InfoPdfTrim"; FullName = "[dbo].[AMB_InfoPdfTrim]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CERCA"; FullName = "[dbo].[CERCA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CERCA_FA"; FullName = "[dbo].[CERCA_FA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CHECK_INSERT_PRODOTTI_NON_A_CATALOGO"; FullName = "[dbo].[CHECK_INSERT_PRODOTTI_NON_A_CATALOGO]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CLR_CHECK_CTV_OF_CurrentAccount_PER_CLIENT"; FullName = "[dbo].[CLR_CHECK_CTV_OF_CurrentAccount_PER_CLIENT]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CLR_CHECK_CTV_PER_NEEDAREA_PER_CLIENT"; FullName = "[dbo].[CLR_CHECK_CTV_PER_NEEDAREA_PER_CLIENT]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CONTROLLO_COMPLESSITA"; FullName = "[dbo].[CONTROLLO_COMPLESSITA]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CopyObjectFromSchema"; FullName = "[dbo].[CopyObjectFromSchema]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CREA_CAMPIONE"; FullName = "[dbo].[CREA_CAMPIONE]" } - $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CREA_CAMPIONE_20160119"; FullName = "[dbo].[CREA_CAMPIONE_20160119]" } - $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CREA_CAMPIONE_20160318"; FullName = "[dbo].[CREA_CAMPIONE_20160318]" } - $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CREA_CAMPIONE_20160414"; FullName = "[dbo].[CREA_CAMPIONE_20160414]" } - $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CREA_CAMPIONE_20161216"; FullName = "[dbo].[CREA_CAMPIONE_20161216]" } - $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CREA_CAMPIONE_20170114"; FullName = "[dbo].[CREA_CAMPIONE_20170114]" } - $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CREA_CAMPIONE_20170321"; FullName = "[dbo].[CREA_CAMPIONE_20170321]" } - $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CREA_CAMPIONE_20180115_preJoinNewTab"; FullName = "[dbo].[CREA_CAMPIONE_20180115_preJoinNewTab]" } - $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CREA_CAMPIONE_20180711"; FullName = "[dbo].[CREA_CAMPIONE_20180711]" } - $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CREA_CAMPIONE_20180921"; FullName = "[dbo].[CREA_CAMPIONE_20180921]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CREA_CAMPIONE_TEST"; FullName = "[dbo].[CREA_CAMPIONE_TEST]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "creaExcelVerificaCampioneS80"; FullName = "[dbo].[creaExcelVerificaCampioneS80]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "creaExcelVerificaCampioneS80_excel"; FullName = "[dbo].[creaExcelVerificaCampioneS80_excel]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CreaTabellaBackUp"; FullName = "[dbo].[CreaTabellaBackUp]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "DropObject"; FullName = "[dbo].[DropObject]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "GetAllTableSize"; FullName = "[dbo].[GetAllTableSize]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "GetLancio"; FullName = "[dbo].[GetLancio]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "getListaPdfStorici"; FullName = "[dbo].[getListaPdfStorici]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "GetLogs"; FullName = "[dbo].[GetLogs]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "GetPDFTemplateConfiguration"; FullName = "[dbo].[GetPDFTemplateConfiguration]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "GetPDFTemplateConfiguration_Rosaspina"; FullName = "[dbo].[GetPDFTemplateConfiguration_Rosaspina]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "GetStatistics"; FullName = "[dbo].[GetStatistics]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "GetStatistics_Prepare"; FullName = "[dbo].[GetStatistics_Prepare]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "GetTextTemplateConfiguration"; FullName = "[dbo].[GetTextTemplateConfiguration]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "GetVariableValue"; FullName = "[dbo].[GetVariableValue]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "HexToRGB"; FullName = "[dbo].[HexToRGB]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "inserisciRichiestaStorico"; FullName = "[dbo].[inserisciRichiestaStorico]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "InsertStartIntoLogFromDtsx"; FullName = "[dbo].[InsertStartIntoLogFromDtsx]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "InsertStartIntoLogFromDtsxImmobiliare"; FullName = "[dbo].[InsertStartIntoLogFromDtsxImmobiliare]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "InsertStopIntoLogFromDtsx"; FullName = "[dbo].[InsertStopIntoLogFromDtsx]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "InsertStopIntoLogFromDtsxImmobiliare"; FullName = "[dbo].[InsertStopIntoLogFromDtsxImmobiliare]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "JOB_Controlli_View"; FullName = "[dbo].[JOB_Controlli_View]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "ListaCampione"; FullName = "[dbo].[ListaCampione]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "ListaCampioneDettaglioMovimenti"; FullName = "[dbo].[ListaCampioneDettaglioMovimenti]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "ListaCampioneDettaglioMovimenti_Parziale"; FullName = "[dbo].[ListaCampioneDettaglioMovimenti_Parziale]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "LogFTP"; FullName = "[dbo].[LogFTP]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "PreGenerationElabCounter"; FullName = "[dbo].[PreGenerationElabCounter]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "PreGenerationStatoCounter"; FullName = "[dbo].[PreGenerationStatoCounter]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "RP_Popola_PiramideModello"; FullName = "[dbo].[RP_Popola_PiramideModello]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "SearchAllTables"; FullName = "[dbo].[SearchAllTables]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "SelezioneCampione_Fc"; FullName = "[dbo].[SelezioneCampione_Fc]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "SO_getNewSubscriptions"; FullName = "[dbo].[SO_getNewSubscriptions]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "sp_dts_addlogentry"; FullName = "[dbo].[sp_dts_addlogentry]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "sp_getColors"; FullName = "[dbo].[sp_getColors]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "sp_WhoIsActive"; FullName = "[dbo].[sp_WhoIsActive]" } - $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "srv_change_codfiscale_20161114_OLwhenQready"; FullName = "[dbo].[srv_change_codfiscale_20161114_OLwhenQready]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "srv_change_codfiscaleMassiva_CU_SEIReport"; FullName = "[dbo].[srv_change_codfiscaleMassiva_CU_SEIReport]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "srv_change_Professional_Base_CU"; FullName = "[dbo].[srv_change_Professional_Base_CU]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "srv_change_rete_CU"; FullName = "[dbo].[srv_change_rete_CU]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "SRV_CONTROLLA_FASE1"; FullName = "[dbo].[SRV_CONTROLLA_FASE1]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "SRV_ESTRAZIONE_ULTIMO_INVIO_REPORT"; FullName = "[dbo].[SRV_ESTRAZIONE_ULTIMO_INVIO_REPORT]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "SRV_insertLogPreCalcoloDatiGenerator"; FullName = "[dbo].[SRV_insertLogPreCalcoloDatiGenerator]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "SRV_ReportDaCancellare"; FullName = "[dbo].[SRV_ReportDaCancellare]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "SRV_SELECT_PROFILI_SCADUTI"; FullName = "[dbo].[SRV_SELECT_PROFILI_SCADUTI]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "SubscribedCustomer_Compare"; FullName = "[dbo].[SubscribedCustomer_Compare]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "test_compl_testo_sezione_adeg_obsoleta"; FullName = "[dbo].[test_compl_testo_sezione_adeg_obsoleta]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "test_fc"; FullName = "[dbo].[test_fc]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "TEST_GETNEXTTRIMESTRE"; FullName = "[dbo].[TEST_GETNEXTTRIMESTRE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "TEST_GETTRIMESTRE2"; FullName = "[dbo].[TEST_GETTRIMESTRE2]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "TEST_MERGED_PROCEDURE"; FullName = "[dbo].[TEST_MERGED_PROCEDURE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "test_S80All_fc"; FullName = "[dbo].[test_S80All_fc]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "TrimTable"; FullName = "[dbo].[TrimTable]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "TrimWSEITables"; FullName = "[dbo].[TrimWSEITables]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "UPDATE_EVASIONE"; FullName = "[dbo].[UPDATE_EVASIONE]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "usp_ExportImage"; FullName = "[dbo].[usp_ExportImage]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "usp_ImportImage"; FullName = "[dbo].[usp_ImportImage]" } - # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "UTIL_ESTRAI_COMPLEX_MODIFICATA"; FullName = "[dbo].[UTIL_ESTRAI_COMPLEX_MODIFICATA]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_ANAG_SELF_20181129_PreMioFoglio"; FullName = "[C6Mart].[DM_ANAG_SELF_20181129_PreMioFoglio]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_ANAG_SELF_BK_eligoTitoli"; FullName = "[C6Mart].[DM_ANAG_SELF_BK_eligoTitoli]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_MIFID_20181004"; FullName = "[C6Mart].[DM_MIFID_20181004]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_PATRIMONIO_BF_old"; FullName = "[C6Mart].[DM_PATRIMONIO_BF_old]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_PopolaContratti_20161026"; FullName = "[C6Mart].[DM_PopolaContratti_20161026]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_PopolaContratti_old240213"; FullName = "[C6Mart].[DM_PopolaContratti_old240213]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_RISCHIO_AGGREGATO_20181003"; FullName = "[C6Mart].[DM_RISCHIO_AGGREGATO_20181003]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_RISCHIO_AGGREGATO_old"; FullName = "[C6Mart].[DM_RISCHIO_AGGREGATO_old]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_STRUTTURA_RETE_20160427"; FullName = "[C6Mart].[DM_STRUTTURA_RETE_20160427]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_STRUTTURA_RETE_20161024"; FullName = "[C6Mart].[DM_STRUTTURA_RETE_20161024]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "DM_TEST_QUALITY_20181003"; FullName = "[C6Mart].[DM_TEST_QUALITY_20181003]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_C6_S_Generator_AND"; FullName = "[C6Mart].[GESTIONE_C6_S_Generator_AND]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_C6_S_Generator_bkp_20250228_Pre_ESG2024"; FullName = "[C6Mart].[GESTIONE_C6_S_Generator_bkp_20250228_Pre_ESG2024]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_C6_S_Generator_EN"; FullName = "[C6Mart].[GESTIONE_C6_S_Generator_EN]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_C6_S_Generator_OLD"; FullName = "[C6Mart].[GESTIONE_C6_S_Generator_OLD]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_EMAIL_DA_INVIARE.test_e"; FullName = "[C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE.test_e]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_EMAIL_DA_INVIARE_20190802"; FullName = "[C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE_20190802]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_EMAIL_DA_INVIARE_CU"; FullName = "[C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE_CU]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_EMAIL_DA_INVIARE_new"; FullName = "[C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE_new]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_FTP_INVIATI_TEST_NEW"; FullName = "[C6Mart].[GESTIONE_SELECT_FTP_INVIATI_TEST_NEW]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina"; FullName = "[C6Mart].[GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.TEMP"; FullName = "[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.TEMP]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180309_PreServizi"; FullName = "[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180309_PreServizi]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180928_OLD"; FullName = "[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180928_OLD]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST"; FullName = "[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P"; FullName = "[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_NA_orig"; FullName = "[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_orig]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_NA_TEST_ANDREA"; FullName = "[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_TEST_ANDREA]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D_S178CasiParticolari_20181220"; FullName = "[C6Mart].[PL_D_S178CasiParticolari_20181220]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S152Patrimonio_20190107_ProQuota"; FullName = "[C6Mart].[PL_D2_S152Patrimonio_20190107_ProQuota]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S152Patrimonio_20190111"; FullName = "[C6Mart].[PL_D2_S152Patrimonio_20190111]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S155PatrimonioImmobiliare_20190107_ProQuota"; FullName = "[C6Mart].[PL_D2_S155PatrimonioImmobiliare_20190107_ProQuota]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S155PatrimonioImmobiliare_20190111"; FullName = "[C6Mart].[PL_D2_S155PatrimonioImmobiliare_20190111]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli"; FullName = "[C6Mart].[PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli"; FullName = "[C6Mart].[PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_FD181PreferenzeESG:bkp_pre_ESG2024"; FullName = "[C6Mart].[PL_FD181PreferenzeESG:bkp_pre_ESG2024]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S102DistribuzioneRischioCredito_OLD"; FullName = "[C6Mart].[PL_S102DistribuzioneRischioCredito_OLD]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S102DistribuzioneRischioCredito_OLD2"; FullName = "[C6Mart].[PL_S102DistribuzioneRischioCredito_OLD2]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024"; FullName = "[C6Mart].[PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024"; FullName = "[C6Mart].[PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024"; FullName = "[C6Mart].[PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S43DettaglioProdottiBF_BK_eligoTitoli"; FullName = "[C6Mart].[PL_S43DettaglioProdottiBF_BK_eligoTitoli]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PL_S43LineaSelfBF_20181214_PreMioFoglio"; FullName = "[C6Mart].[PL_S43LineaSelfBF_20181214_PreMioFoglio]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "PROM_TuttiIPortafogli_old"; FullName = "[C6Mart].[PROM_TuttiIPortafogli_old]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_AggiornaFlagContratto_20161026"; FullName = "[C6Mart].[RP_AggiornaFlagContratto_20161026]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_ANAG_CC_20170421"; FullName = "[C6Mart].[RP_DM_ANAG_CC_20170421]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4"; FullName = "[C6Mart].[RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_GestioneEmail_20161028"; FullName = "[C6Mart].[RP_DM_GestioneEmail_20161028]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_PATRIMONIO_ALTRO_20150825"; FullName = "[C6Mart].[RP_DM_PATRIMONIO_ALTRO_20150825]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_PATRIMONIO_ALTRO_20160615"; FullName = "[C6Mart].[RP_DM_PATRIMONIO_ALTRO_20160615]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_PATRIMONIO_BF_20180201"; FullName = "[C6Mart].[RP_DM_PATRIMONIO_BF_20180201]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_PATRIMONIO_IMMOBILIARE_20190107_ProQuota"; FullName = "[C6Mart].[RP_DM_PATRIMONIO_IMMOBILIARE_20190107_ProQuota]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_PATRIMONIO_TERZI_20180219"; FullName = "[C6Mart].[RP_DM_PATRIMONIO_TERZI_20180219]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_PATRIMONIO_TERZI_luca"; FullName = "[C6Mart].[RP_DM_PATRIMONIO_TERZI_luca]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_2011026"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_2011026]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20160315"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20160315]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_201700302_ripristino_del_20170127"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_201700302_ripristino_del_20170127]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20170127"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20170127]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20170322"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20170322]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20170524"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20170524]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20170607_mifid"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20170607_mifid]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20170613"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20170613]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20170727_VarAdeguatezza"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20170727_VarAdeguatezza]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20171113"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20171113]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20171205"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20171205]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20171222"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20171222]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20180102"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20180102]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20180103"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20180103]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20180104"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20180104]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20181003"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20181003]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_DM_POPOLACONTRATTI_20181127"; FullName = "[C6Mart].[RP_DM_POPOLACONTRATTI_20181127]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_PROM_TuttiIPortafogli_20180612_NewMotorePrometeia"; FullName = "[C6Mart].[RP_PROM_TuttiIPortafogli_20180612_NewMotorePrometeia]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "RP_PROM_TuttiIPortafogli_20180612_PreMotorePrometeia"; FullName = "[C6Mart].[RP_PROM_TuttiIPortafogli_20180612_PreMotorePrometeia]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "SRV_CHECK_C6_GIORNALIERO_20161026"; FullName = "[C6Mart].[SRV_CHECK_C6_GIORNALIERO_20161026]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "SRV_CHECK_C6_GIORNALIERO_20161026_2"; FullName = "[C6Mart].[SRV_CHECK_C6_GIORNALIERO_20161026_2]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "SRV_CHECK_C6_GIORNALIERO_AND"; FullName = "[C6Mart].[SRV_CHECK_C6_GIORNALIERO_AND]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "zzzPL_D_S157ConfrontoPiramidi"; FullName = "[C6Mart].[zzzPL_D_S157ConfrontoPiramidi]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "zzzPL_D_S170RischioDiversificazione"; FullName = "[C6Mart].[zzzPL_D_S170RischioDiversificazione]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "zzzPL_D2_S150Anagrafica"; FullName = "[C6Mart].[zzzPL_D2_S150Anagrafica]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "zzzPL_D2_S168TabellaEmittenti"; FullName = "[C6Mart].[zzzPL_D2_S168TabellaEmittenti]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "zzzQUALITY_CARATTERIVCONTRATTI"; FullName = "[C6Mart].[zzzQUALITY_CARATTERIVCONTRATTI]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "zzzRP_DM_GestioneEmailNA"; FullName = "[C6Mart].[zzzRP_DM_GestioneEmailNA]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "zzzSRV_CHECK_C6_GIORNALIERO_AND"; FullName = "[C6Mart].[zzzSRV_CHECK_C6_GIORNALIERO_AND]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "zzzzPL_D_S157ConfrontoPiramidi"; FullName = "[C6Mart].[zzzzPL_D_S157ConfrontoPiramidi]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Mart"; ProcedureName = "zzzzRP_SRV_CHECK_C6_GIORNALIERO"; FullName = "[C6Mart].[zzzzRP_SRV_CHECK_C6_GIORNALIERO]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "CercaCaratteriAnomali_20150205"; FullName = "[C6MartPeriodico].[CercaCaratteriAnomali_20150205]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_ANAG_SELF_20181214_PreMioFoglio"; FullName = "[C6MartPeriodico].[DM_ANAG_SELF_20181214_PreMioFoglio]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_CAPPROT_20171129"; FullName = "[C6MartPeriodico].[DM_CAPPROT_20171129]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_CAPPROT_BKP"; FullName = "[C6MartPeriodico].[DM_CAPPROT_BKP]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_DettaglioMovimenti_20160913"; FullName = "[C6MartPeriodico].[DM_DettaglioMovimenti_20160913]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_DettaglioMovimenti_old"; FullName = "[C6MartPeriodico].[DM_DettaglioMovimenti_old]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_MIFID_BKP_20231114_PRE_RAFFORZAMENTO"; FullName = "[C6MartPeriodico].[DM_MIFID_BKP_20231114_PRE_RAFFORZAMENTO]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_RISCHIO_AGGREGATO_20180627_preNewInd"; FullName = "[C6MartPeriodico].[DM_RISCHIO_AGGREGATO_20180627_preNewInd]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_RISCHIO_AGGREGATO_old"; FullName = "[C6MartPeriodico].[DM_RISCHIO_AGGREGATO_old]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_RISCHIO_AGGREGATO_OLD2"; FullName = "[C6MartPeriodico].[DM_RISCHIO_AGGREGATO_OLD2]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "DM_SCADENZE_pre_selective_luca"; FullName = "[C6MartPeriodico].[DM_SCADENZE_pre_selective_luca]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Genera_Cruscotto_ContrattoSei_20170407.SAVE"; FullName = "[C6MartPeriodico].[Genera_Cruscotto_ContrattoSei_20170407.SAVE]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_C6_S_Generator_OLD"; FullName = "[C6MartPeriodico].[GESTIONE_C6_S_Generator_OLD]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_INSERT_ELABORAZIONE_ZIP_20170328"; FullName = "[C6MartPeriodico].[GESTIONE_INSERT_ELABORAZIONE_ZIP_20170328]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_INSERT_PDF_FTP_04082015"; FullName = "[C6MartPeriodico].[GESTIONE_INSERT_PDF_FTP_04082015]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Gestione_ProdottiProtetti_20171215"; FullName = "[C6MartPeriodico].[Gestione_ProdottiProtetti_20171215]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_EMAIL_DA_INVIARE_20160913"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE_20160913]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_EMAIL_DA_INVIARE_bk"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE_bk]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_FTP_DA_INVIARE_20170413_b4_NewZipFtpProcess"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_FTP_DA_INVIARE_20170413_b4_NewZipFtpProcess]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_FTP_DA_INVIARE_20170712_b4_OrderedByCAP"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_FTP_DA_INVIARE_20170712_b4_OrderedByCAP]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_FTP_INVIATI_20180214_bonifica"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_20180214_bonifica]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_FTP_INVIATI_20180308_PreIDX2"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_20180308_PreIDX2]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_FTP_INVIATI_20180420"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_20180420]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_FTP_INVIATI_20240225"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_20240225]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180308_PreIDX2"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180308_PreIDX2]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180420"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180420]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_FTP_INVIATI_prova_20141223"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_prova_20141223]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_Francesco"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_Francesco]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_luca"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_luca]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano_PROVAPROF"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano_PROVAPROF]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Pino"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Pino]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_01"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_01]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_02"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_02]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_03"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_03]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_04"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_04]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_05"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_05]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_06"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_06]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_07"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_07]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_08"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_08]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_09"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_09]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_1"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_1]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_10"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_10]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_11"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_11]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_12"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_12]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_13"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_13]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_14"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_14]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_15"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_15]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_16"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_16]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_17"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_17]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_18"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_18]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_19"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_19]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_2"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_2]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_20"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_20]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_21"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_21]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_22"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_22]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_23"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_23]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_24"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_24]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_25"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_25]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_REPORTS_ERRATACORRIGE_test"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_REPORTS_ERRATACORRIGE_test]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart"; FullName = "[C6MartPeriodico].[GESTIONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_UPDATE_ELABORAZIONE_ZIP_20170328"; FullName = "[C6MartPeriodico].[GESTIONE_UPDATE_ELABORAZIONE_ZIP_20170328]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "GESTIONE_UPDATE_ZIP_COPY"; FullName = "[C6MartPeriodico].[GESTIONE_UPDATE_ZIP_COPY]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_AreeMonitorate_20180604_PreMifid2"; FullName = "[C6MartPeriodico].[PL_AreeMonitorate_20180604_PreMifid2]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_AreeMonitorate_20180927_PreOttimizzazione"; FullName = "[C6MartPeriodico].[PL_AreeMonitorate_20180927_PreOttimizzazione]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_AreeMonitorate_20181214_PreMioFoglio"; FullName = "[C6MartPeriodico].[PL_AreeMonitorate_20181214_PreMioFoglio]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_AreeMonitorate_85"; FullName = "[C6MartPeriodico].[PL_AreeMonitorate_85]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_AreeMonitorate_bck201204"; FullName = "[C6MartPeriodico].[PL_AreeMonitorate_bck201204]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_AreeMonitorate_BK_eligoTitoli"; FullName = "[C6MartPeriodico].[PL_AreeMonitorate_BK_eligoTitoli]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_AreeMonitorate_bkup_20120101"; FullName = "[C6MartPeriodico].[PL_AreeMonitorate_bkup_20120101]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S178CasiParticolari_20181220"; FullName = "[C6MartPeriodico].[PL_D_S178CasiParticolari_20181220]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S178CasiParticolari_BKP_20231114_PRE_RAFFORZAMENTO"; FullName = "[C6MartPeriodico].[PL_D_S178CasiParticolari_BKP_20231114_PRE_RAFFORZAMENTO]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S178CasiParticolari_old"; FullName = "[C6MartPeriodico].[PL_D_S178CasiParticolari_old]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D_S180ProdottiComplessitaAlta_20180715"; FullName = "[C6MartPeriodico].[PL_D_S180ProdottiComplessitaAlta_20180715]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S150Anagrafica_BkUpParall"; FullName = "[C6MartPeriodico].[PL_D2_S150Anagrafica_BkUpParall]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S152Patrimonio_20190225__ori"; FullName = "[C6MartPeriodico].[PL_D2_S152Patrimonio_20190225__ori]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S152Patrimonio_20190225_preProquota"; FullName = "[C6MartPeriodico].[PL_D2_S152Patrimonio_20190225_preProquota]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S155PatrimonioImmobiliare_20190225_preProquota"; FullName = "[C6MartPeriodico].[PL_D2_S155PatrimonioImmobiliare_20190225_preProquota]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S155PatrimonioImmobiliare_20190502_ProQuota"; FullName = "[C6MartPeriodico].[PL_D2_S155PatrimonioImmobiliare_20190502_ProQuota]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli"; FullName = "[C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S157ConfrontoPiramidi_BkUpParall"; FullName = "[C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi_BkUpParall]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S157ConfrontoPiramidi_testFc"; FullName = "[C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi_testFc]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S160DettaglioProdottiBF_BK_20151222"; FullName = "[C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF_BK_20151222]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli"; FullName = "[C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S168TabellaEmittenti_BK_20151222"; FullName = "[C6MartPeriodico].[PL_D2_S168TabellaEmittenti_BK_20151222]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_D2_S169RischiomercatoRischiocredito_20180716"; FullName = "[C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito_20180716]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_FD181PreferenzeESG_BKP_20250305_PreESG2024"; FullName = "[C6MartPeriodico].[PL_FD181PreferenzeESG_BKP_20250305_PreESG2024]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S132ProfiloRischioAdeguatezza_BkUpParall"; FullName = "[C6MartPeriodico].[PL_MP_S132ProfiloRischioAdeguatezza_BkUpParall]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S133AreeBisognoPrincProd_BK_eligoTitoli"; FullName = "[C6MartPeriodico].[PL_MP_S133AreeBisognoPrincProd_BK_eligoTitoli]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S133AreeBisognoPrincProd_BkUpParall"; FullName = "[C6MartPeriodico].[PL_MP_S133AreeBisognoPrincProd_BkUpParall]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S140AnalisiRisparmioCharts_20190123_PreLIGHT"; FullName = "[C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts_20190123_PreLIGHT]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S142DistibuzionePerRating_20240803"; FullName = "[C6MartPeriodico].[PL_MP_S142DistibuzionePerRating_20240803]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S143DistibuzionePerEmittente_20240803"; FullName = "[C6MartPeriodico].[PL_MP_S143DistibuzionePerEmittente_20240803]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S145DistibuzionePerTassoRendimento_20240803"; FullName = "[C6MartPeriodico].[PL_MP_S145DistibuzionePerTassoRendimento_20240803]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_MP_S148DistribuzioneAssetClass_BkUpParall"; FullName = "[C6MartPeriodico].[PL_MP_S148DistribuzioneAssetClass_BkUpParall]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S102DistribuzioneRischioCredito_OLD"; FullName = "[C6MartPeriodico].[PL_S102DistribuzioneRischioCredito_OLD]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S103TabellaEmittenti_OLD"; FullName = "[C6MartPeriodico].[PL_S103TabellaEmittenti_OLD]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S10PatrimonioFinanziario_BkUpParall"; FullName = "[C6MartPeriodico].[PL_S10PatrimonioFinanziario_BkUpParall]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S170LimitiMassimi_20180612"; FullName = "[C6MartPeriodico].[PL_S170LimitiMassimi_20180612]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S170LimitiMassimi_20180702"; FullName = "[C6MartPeriodico].[PL_S170LimitiMassimi_20180702]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S170LimitiMassimi_BKP_20231115_PRE_RAFFORZAMENTO"; FullName = "[C6MartPeriodico].[PL_S170LimitiMassimi_BKP_20231115_PRE_RAFFORZAMENTO]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S172ProtezioneCapitaleAreeBisogno_20171201_ori"; FullName = "[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20171201_ori]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S172ProtezioneCapitaleAreeBisogno_20171215"; FullName = "[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20171215]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S172ProtezioneCapitaleAreeBisogno_20171220"; FullName = "[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20171220]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S172ProtezioneCapitaleAreeBisogno_20171221"; FullName = "[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20171221]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S172ProtezioneCapitaleAreeBisogno_20180119"; FullName = "[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20180119]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S172ProtezioneCapitaleAreeBisogno_20180717_PrePre1Pre2"; FullName = "[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20180717_PrePre1Pre2]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S172ProtezioneCapitaleAreeBisogno_20190717_preFixArrotondamento"; FullName = "[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20190717_preFixArrotondamento]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S172ProtezioneCapitaleAreeBisogno_pktest"; FullName = "[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_pktest]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S181PreferenzeESG_BKP_20231116_PRE_RAFFORZAMENTO"; FullName = "[C6MartPeriodico].[PL_S181PreferenzeESG_BKP_20231116_PRE_RAFFORZAMENTO]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024"; FullName = "[C6MartPeriodico].[PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024"; FullName = "[C6MartPeriodico].[PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S184CoerenzaESG_BKP_20231013"; FullName = "[C6MartPeriodico].[PL_S184CoerenzaESG_BKP_20231013]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024"; FullName = "[C6MartPeriodico].[PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S25Anagrafica_BkUpParall"; FullName = "[C6MartPeriodico].[PL_S25Anagrafica_BkUpParall]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S43BISDettaglioProdottiBF_20160118"; FullName = "[C6MartPeriodico].[PL_S43BISDettaglioProdottiBF_20160118]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S43BISDettaglioProdottiBF_20161215"; FullName = "[C6MartPeriodico].[PL_S43BISDettaglioProdottiBF_20161215]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S43BISDettaglioProdottiBF_20161215_B"; FullName = "[C6MartPeriodico].[PL_S43BISDettaglioProdottiBF_20161215_B]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S43DettaglioProdottiBF_20161215"; FullName = "[C6MartPeriodico].[PL_S43DettaglioProdottiBF_20161215]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S43DettaglioProdottiBF_20161219"; FullName = "[C6MartPeriodico].[PL_S43DettaglioProdottiBF_20161219]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S43DettaglioProdottiBF_BK_eligoTitoli"; FullName = "[C6MartPeriodico].[PL_S43DettaglioProdottiBF_BK_eligoTitoli]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S43LineaSelfBF_20181214_PreMioFoglio"; FullName = "[C6MartPeriodico].[PL_S43LineaSelfBF_20181214_PreMioFoglio]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S57ConfrontoPiramidi_OLD"; FullName = "[C6MartPeriodico].[PL_S57ConfrontoPiramidi_OLD]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S80Alternativa_20181214_PreMioFoglio"; FullName = "[C6MartPeriodico].[PL_S80Alternativa_20181214_PreMioFoglio]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S80Alternativa_OLD"; FullName = "[C6MartPeriodico].[PL_S80Alternativa_OLD]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S80BisEvoluzioneRischio_20170413_RM_DBname"; FullName = "[C6MartPeriodico].[PL_S80BisEvoluzioneRischio_20170413_RM_DBname]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S80BisEvoluzioneRischio_BkUpParall"; FullName = "[C6MartPeriodico].[PL_S80BisEvoluzioneRischio_BkUpParall]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S83DatiRendimento_85"; FullName = "[C6MartPeriodico].[PL_S83DatiRendimento_85]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "PL_S95ProfiloDiRischio_20190204_PreMIFID2"; FullName = "[C6MartPeriodico].[PL_S95ProfiloDiRischio_20190204_PreMIFID2]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S133_S157DatiPiramide_20161202"; FullName = "[C6MartPeriodico].[Popola_S133_S157DatiPiramide_20161202]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S133_S157DatiPiramide_20161214"; FullName = "[C6MartPeriodico].[Popola_S133_S157DatiPiramide_20161214]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S133_S157DatiPiramide_20170113_ORIG"; FullName = "[C6MartPeriodico].[Popola_S133_S157DatiPiramide_20170113_ORIG]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S179EmittentiConcentrazioneAlta_20180626"; FullName = "[C6MartPeriodico].[Popola_S179EmittentiConcentrazioneAlta_20180626]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S179EmittentiConcentrazioneAlta_BKP_20231115_PRE_RAFFORZAMENTO"; FullName = "[C6MartPeriodico].[Popola_S179EmittentiConcentrazioneAlta_BKP_20231115_PRE_RAFFORZAMENTO]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S80BisEvoluzioneRischio_20170724_preCR_fasi1e2"; FullName = "[C6MartPeriodico].[Popola_S80BisEvoluzioneRischio_20170724_preCR_fasi1e2]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S80BisEvoluzioneRischio_20171222"; FullName = "[C6MartPeriodico].[Popola_S80BisEvoluzioneRischio_20171222]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Popola_S80BisEvoluzioneRischio_BKP_20231116_PRE_RAFFORZAMENTO"; FullName = "[C6MartPeriodico].[Popola_S80BisEvoluzioneRischio_BKP_20231116_PRE_RAFFORZAMENTO]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ANAG_CLIENTI_20170409"; FullName = "[C6MartPeriodico].[RP_DM_ANAG_CLIENTI_20170409]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ANAG_CLIENTI_20170409_AGENTEisNotNull"; FullName = "[C6MartPeriodico].[RP_DM_ANAG_CLIENTI_20170409_AGENTEisNotNull]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL_20190612"; FullName = "[C6MartPeriodico].[RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL_20190612]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK"; FullName = "[C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_CONTRATTOSEI_20170407.SAVE"; FullName = "[C6MartPeriodico].[RP_DM_CONTRATTOSEI_20170407.SAVE]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_DETTAGLIO_ASUL.20170320.OBS"; FullName = "[C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL.20170320.OBS]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_DETTAGLIO_ASUL_20170123"; FullName = "[C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL_20170123]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_DETTAGLIO_ASUL_luca"; FullName = "[C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL_luca]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4"; FullName = "[C6MartPeriodico].[RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MONITORAGGIO_DETTAGLIO_20161220"; FullName = "[C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20161220]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MONITORAGGIO_DETTAGLIO_20171218_preRFMP"; FullName = "[C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20171218_preRFMP]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MONITORAGGIO_DETTAGLIO_20181213"; FullName = "[C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20181213]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MONITORAGGIO_DETTAGLIO_20190112"; FullName = "[C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20190112]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MONITORAGGIO_DETTAGLIO_20190314_preMioFoglio"; FullName = "[C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20190314_preMioFoglio]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_MONITORAGGIO_REPORT_20181214_PreMioFoglio"; FullName = "[C6MartPeriodico].[RP_DM_MONITORAGGIO_REPORT_20181214_PreMioFoglio]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_BF"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_BF]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_BF_20170407.SAVE"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_BF_20170407.SAVE]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_BF_20170421_4b_prometeria_err_fix"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_BF_20170421_4b_prometeria_err_fix]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_BF_20171019_err"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_BF_20171019_err]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_BF_BKP_20231017"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_BF_BKP_20231017]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_TERZI_20170427_Patr3"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_TERZI_20170427_Patr3]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PATRIMONIO_TERZI_20180315"; FullName = "[C6MartPeriodico].[RP_DM_PATRIMONIO_TERZI_20180315]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PIRAMIDE_MOD_20161202"; FullName = "[C6MartPeriodico].[RP_DM_PIRAMIDE_MOD_20161202]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_DM_PIRAMIDE_MOD_20170119"; FullName = "[C6MartPeriodico].[RP_DM_PIRAMIDE_MOD_20170119]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli2_20170409_TEST"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20170409_TEST]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli2_20170410"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20170410]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli2_20170410_EXCLCF"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20170410_EXCLCF]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli2_20170421_EXCL_CF"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20170421_EXCL_CF]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli2_20180615_NewMotorePrometeia"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20180615_NewMotorePrometeia]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli2_Indicatore_20180711_AZZERARE_CTV_NEGATIVI"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_20180711_AZZERARE_CTV_NEGATIVI]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli2_Indicatore_20180719_preAzzeramentoCCNeg"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_20180719_preAzzeramentoCCNeg]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli2_Indicatore_20181018"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_20181018]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "RP_PROM_TuttiIPortafogli2_Indicatore_20181018_SingoloCF"; FullName = "[C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_20181018_SingoloCF]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Segnala_Disallineamenti_20190129"; FullName = "[C6MartPeriodico].[Segnala_Disallineamenti_20190129]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "Segnala_ProdottiNonCensiti_20190129"; FullName = "[C6MartPeriodico].[Segnala_ProdottiNonCensiti_20190129]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "sp_caricaBlacklist_RFAMinus_old"; FullName = "[C6MartPeriodico].[sp_caricaBlacklist_RFAMinus_old]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_DQ_VerificaEmail_20161010"; FullName = "[C6MartPeriodico].[SP_DQ_VerificaEmail_20161010]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SP_PreTotaliReportGenerazioneZip_20181017"; FullName = "[C6MartPeriodico].[SP_PreTotaliReportGenerazioneZip_20181017]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_NUOVA_ELABORAZIONE_20151009"; FullName = "[C6MartPeriodico].[SRV_NUOVA_ELABORAZIONE_20151009]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_NUOVA_ELABORAZIONE_bk_test_20151014"; FullName = "[C6MartPeriodico].[SRV_NUOVA_ELABORAZIONE_bk_test_20151014]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_SELEZIONA_CAMPIONE_20160412"; FullName = "[C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20160412]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_SELEZIONA_CAMPIONE_20161012"; FullName = "[C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20161012]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_SELEZIONA_CAMPIONE_20180711_preExcludedList"; FullName = "[C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20180711_preExcludedList]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_SELEZIONA_CAMPIONE_20190116_PreNewFunction"; FullName = "[C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20190116_PreNewFunction]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodico"; ProcedureName = "SRV_SELEZIONA_CAMPIONE_20230915"; FullName = "[C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20230915]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "DM_ANAG_SELF_20181214_PreMioFoglio"; FullName = "[C6MartPeriodicoImmobiliare].[DM_ANAG_SELF_20181214_PreMioFoglio]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6MartPeriodicoImmobiliare"; ProcedureName = "RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota"; FullName = "[C6MartPeriodicoImmobiliare].[RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Staging"; ProcedureName = "RP_CREA_POSITIONID_2011113"; FullName = "[C6Staging].[RP_CREA_POSITIONID_2011113]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Staging"; ProcedureName = "RP_CREA_POSITIONID_CONSULENZA_20161223"; FullName = "[C6Staging].[RP_CREA_POSITIONID_CONSULENZA_20161223]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6Staging"; ProcedureName = "RP_CREA_POSITIONID_CONSULENZA_20171113_orig"; FullName = "[C6Staging].[RP_CREA_POSITIONID_CONSULENZA_20171113_orig]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "CopiaTabelleDiReplica_20190129"; FullName = "[C6StagingPeriodico].[CopiaTabelleDiReplica_20190129]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_clientiConMigrazione_20170413_RM_nomeDB"; FullName = "[C6StagingPeriodico].[RP_clientiConMigrazione_20170413_RM_nomeDB]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_CREA_POSITIONID_CONSULENZA_20161213"; FullName = "[C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA_20161213]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_CREA_POSITIONID_CONSULENZA_20171204_preRFMP"; FullName = "[C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA_20171204_preRFMP]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_CREA_POSITIONID_CONSULENZA_20190725"; FullName = "[C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA_20190725]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_20180710"; FullName = "[C6StagingPeriodico].[RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_20180710]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_APPO_CONTRATTI_OLD"; FullName = "[C6StagingPeriodico].[RP_ST_APPO_CONTRATTI_OLD]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_CREA_POSITIONID_20161213"; FullName = "[C6StagingPeriodico].[RP_ST_CREA_POSITIONID_20161213]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_CREA_POSITIONID_20171204_preRFMP"; FullName = "[C6StagingPeriodico].[RP_ST_CREA_POSITIONID_20171204_preRFMP]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_CREA_POSITIONID_20190725"; FullName = "[C6StagingPeriodico].[RP_ST_CREA_POSITIONID_20190725]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_CREA_POSITIONID_BK_eligoTitoli"; FullName = "[C6StagingPeriodico].[RP_ST_CREA_POSITIONID_BK_eligoTitoli]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_SPB_CONTR_SINTESI_20161213"; FullName = "[C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20161213]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_SPB_CONTR_SINTESI_20170407.SAVE"; FullName = "[C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20170407.SAVE]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_SPB_CONTR_SINTESI_20171204_preRFMP"; FullName = "[C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20171204_preRFMP]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio"; FullName = "[C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_SPB_CONTR_SINTESI_20190725"; FullName = "[C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20190725]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli"; FullName = "[C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "RP_UPDATE_COMPLESSITA_20161213"; FullName = "[C6StagingPeriodico].[RP_UPDATE_COMPLESSITA_20161213]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "SRV_STORICIZZAZIONE_OLD"; FullName = "[C6StagingPeriodico].[SRV_STORICIZZAZIONE_OLD]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "test_compl_testo_sezione_adeg_PG_QPROF.rigen.20170620"; FullName = "[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF.rigen.20170620]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "test_compl_testo_sezione_adeg_PG_QPROF_20170620"; FullName = "[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF_20170620]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "test_compl_testo_sezione_adeg_PG_QPROF_20170620_consegnato"; FullName = "[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF_20170620_consegnato]" } + # $procedures += [PSCustomObject]@{ SchemaName = "C6StagingPeriodico"; ProcedureName = "zzzRP_CREA_POSITIONID_CONSULENZA"; FullName = "[C6StagingPeriodico].[zzzRP_CREA_POSITIONID_CONSULENZA]" } + # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CREA_CAMPIONE_20160119"; FullName = "[dbo].[CREA_CAMPIONE_20160119]" } + # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CREA_CAMPIONE_20160318"; FullName = "[dbo].[CREA_CAMPIONE_20160318]" } + # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CREA_CAMPIONE_20160414"; FullName = "[dbo].[CREA_CAMPIONE_20160414]" } + # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CREA_CAMPIONE_20161216"; FullName = "[dbo].[CREA_CAMPIONE_20161216]" } + # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CREA_CAMPIONE_20170114"; FullName = "[dbo].[CREA_CAMPIONE_20170114]" } + # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CREA_CAMPIONE_20170321"; FullName = "[dbo].[CREA_CAMPIONE_20170321]" } + # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CREA_CAMPIONE_20180115_preJoinNewTab"; FullName = "[dbo].[CREA_CAMPIONE_20180115_preJoinNewTab]" } + # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CREA_CAMPIONE_20180711"; FullName = "[dbo].[CREA_CAMPIONE_20180711]" } + # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "CREA_CAMPIONE_20180921"; FullName = "[dbo].[CREA_CAMPIONE_20180921]" } + # $procedures += [PSCustomObject]@{ SchemaName = "dbo"; ProcedureName = "srv_change_codfiscale_20161114_OLwhenQready"; FullName = "[dbo].[srv_change_codfiscale_20161114_OLwhenQready]" } # Elenco e cancellazione delle stored procedure foreach ($proc in $procedures) { diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_Blacklist_Blocco_Tabellone.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_Blacklist_Blocco_Tabellone.sql new file mode 100644 index 00000000..fa7a233b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_Blacklist_Blocco_Tabellone.sql @@ -0,0 +1,94 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: Blacklist_Blocco_Tabellone + + + + + + +CREATE procedure [C6MartPeriodicoImmobiliare].[Blacklist_Blocco_Tabellone] @param1 varchar(20) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + +-- [C6MartPeriodico].[Blacklist_Blocco_Tabellone] Blocco +-- [C6MartPeriodico].[Blacklist_Blocco_Tabellone] SBlocco +--select * from c6martperiodico.tabellone where blacklist is not null +--select * from C6MartPeriodico.ExcludedList +--select * from C6MartPeriodico.ExcludedList_testing +-- +--select * from c6martperiodico.tabellone where codice_fiscale='BBBMRA56T09L736R' + +--select * from C6MartPeriodico.ExcludedList where codicefiscale='FRILXA72T04H501R' + + + +--select codicefiscale,COUNT(*) from C6MartPeriodico.ExcludedList group by codicefiscale having COUNT(*)>1 + +--insert into C6MartPeriodico.ExcludedList +--values ('F','BBBMRA56T09L736R','TestF',GETDATE(),1), +--('F','BBBMRA56T09L736R','TestB',GETDATE(),1), +--('F','BBBMRA56T09L736R','TestC',GETDATE(),1), +--('F','BBBMRA56T09L736R','TestF',GETDATE(),1) +----delete from C6MartPeriodico.ExcludedList where DescrErr='TestC' +if (@param1='BLOCCO') +begin +drop table if exists #riunisco_imm +drop table if exists #rimuovoduplicati_imm + +update C6MartPeriodico.tabellone +set blacklist_imm=NULL + + +select distinct rete,codicefiscale,DescrErr +into #rimuovoduplicati_imm +from C6MartPeriodicoImmobiliare.ExcludedList + +SELECT rete,codicefiscale,STRING_AGG( ISNULL(DescrErr, ' '), ',') As descrerr + into #riunisco_imm + From #rimuovoduplicati_imm group by rete,codicefiscale + +update C6MartPeriodico.tabellone +set blacklist_imm=r.descrerr +from #riunisco_imm r inner join C6MartPeriodico.tabellone t +on t.chiave_acn=r.Rete+r.codicefiscale + +update C6MartPeriodico.tabellone +set lettera_sost_imm='S' +where blacklist_imm like '%sostitutiva%' +end + + + +if (@param1='SBLOCCO') +begin +update C6MartPeriodico.tabellone +set blacklist_imm=NULL + +drop table if exists #riunisco1_imm +drop table if exists #rimuovoduplicati1_imm + + +select distinct rete,codicefiscale,DescrErr +into #rimuovoduplicati1_imm +from C6MartPeriodicoImmobiliare.ExcludedList + +SELECT rete,codicefiscale,STRING_AGG( ISNULL(DescrErr, ' '), ',') As descrerr + into #riunisco1_imm + From #rimuovoduplicati1_imm group by rete,codicefiscale + +update C6MartPeriodico.tabellone +set blacklist_imm=r.descrerr +from #riunisco1_imm r inner join C6MartPeriodico.tabellone t +on t.chiave_acn=r.Rete+r.codicefiscale + +update C6MartPeriodico.tabellone +set lettera_sost_imm='S' +where blacklist_imm like '%sostitutiva%' +end + + + +end + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_ANAG_SELF.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_ANAG_SELF.sql new file mode 100644 index 00000000..f8dd381c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_ANAG_SELF.sql @@ -0,0 +1,98 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: DM_ANAG_SELF + + + + + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[DM_ANAG_SELF] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + + TRUNCATE TABLE [C6MartPeriodicoImmobiliare].[ANAG_SELF] + + INSERT INTO [C6MartPeriodicoImmobiliare].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,NOMEPRODOTTO + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB] + -- mio foglio + ,CodInterno + ,CodSottoprodotto) + SELECT + SPB.RETE + ,SPB.CODFIS + ,SPB.CODCONF + ,CAT.NomeProdotto + ,SPB.CTV + ,SPB.DTSOTTOS + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + ,CodInterno + ,CodSottoprodotto + FROM + C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI SPB + inner join C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti CAT + on SPB.isin = CAT.codisin and CAT.visibilita = 1 + -- aggiunto il 17/12/2018 per gestire l'ambiguit tra GP e FO a parit di Isin + and SPB.CodInt = CAT.CodInterno + -- fine modifica + WHERE SPB.isin in ('EURO00000009', 'EURO10000007') + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'DM_ANAG_SELF' + ) + +END + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_ANAG_SELF_20181214_PreMioFoglio.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_ANAG_SELF_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..48518af4 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_ANAG_SELF_20181214_PreMioFoglio.sql @@ -0,0 +1,90 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: DM_ANAG_SELF_20181214_PreMioFoglio + + + + + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[DM_ANAG_SELF_20181214_PreMioFoglio] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + + TRUNCATE TABLE [C6MartPeriodicoImmobiliare].[ANAG_SELF] + + INSERT INTO [C6MartPeriodicoImmobiliare].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,NOMEPRODOTTO + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SPB.RETE + ,SPB.CODFIS + ,SPB.CODCONF + ,CAT.NomeProdotto + ,SPB.CTV + ,SPB.DTSOTTOS + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI SPB + inner join C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti CAT + on SPB.isin = CAT.codisin and CAT.visibilita = 1 + WHERE SPB.isin in ('EURO00000009', 'EURO10000007') + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'DM_ANAG_SELF' + ) + +END + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_CODIFICA_CREDITRISK.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_CODIFICA_CREDITRISK.sql new file mode 100644 index 00000000..764cd06c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_CODIFICA_CREDITRISK.sql @@ -0,0 +1,70 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: DM_CODIFICA_CREDITRISK + + + + +-- ============================================= +-- Author: Valerio Colaianni +-- Create date: 17 marzo 2009 + +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[DM_CODIFICA_CREDITRISK] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_CREDITRISK', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + + TRUNCATE TABLE C6MartPeriodicoImmobiliare.CODIFICA_CREDITRISK + + INSERT INTO C6MartPeriodicoImmobiliare.[CODIFICA_CREDITRISK] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAL] + ,[MAX_VAL] + ,[ID_ELAB]) + SELECT + COD, + DESCR, + MINVAL, + MAXVAL, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodicoImmobiliare.RISKCLASS + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CODIFICA_CREDITRISK' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'DM_CODIFICA_CREDITRISK' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_CODIFICA_RISCHIO.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_CODIFICA_RISCHIO.sql new file mode 100644 index 00000000..7c7e1266 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_CODIFICA_RISCHIO.sql @@ -0,0 +1,69 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: DM_CODIFICA_RISCHIO + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 marzo 2009 +-- Description: NOTA BENE: I JOIN NON DOVREBBERO MAI ESSERE FATTI COME SOTTO, TRATTASI DI WORK AROUND +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[DM_CODIFICA_RISCHIO] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_RISCHIO', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + + TRUNCATE TABLE C6MartPeriodicoImmobiliare.CODIFICA_RISCHIO + + INSERT INTO C6MartPeriodicoImmobiliare.[CODIFICA_RISCHIO] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAR] + ,[MAX_VAR] + ,[ID_ELAB]) + SELECT + SPB_PROF_RISCHIO.CODICEPROFILO AS PROFILO, + SPB_PROF_RISCHIO.DESCRIZIONEPROFILO AS DESCRIZIONE, + ISNULL(SPB_MIN.VARTRIMESTRALE,-0.01) + 0.01 AS MIN_VAR, + SPB_PROF_RISCHIO.VARTRIMESTRALE AS MAX_VAR, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodicoImmobiliare.SPB_PROF_RISCHIO + LEFT JOIN C6StagingPeriodicoImmobiliare.SPB_PROF_RISCHIO SPB_MIN + ON SPB_MIN.CODICEPROFILO + 1 = SPB_PROF_RISCHIO.CODICEPROFILO + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CODIFICA_RISCHIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'DM_CODIFICA_RISCHIO' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_MIFID.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_MIFID.sql new file mode 100644 index 00000000..72f38477 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_MIFID.sql @@ -0,0 +1,149 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: DM_MIFID + + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: Aggiunta chiave primaria autoincrement su tabella di staging +-- per eliminazione duplicati. +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[DM_MIFID] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MIFID', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + + TRUNCATE TABLE C6MartPeriodicoImmobiliare.MIFID + + INSERT INTO C6MartPeriodicoImmobiliare.[MIFID] + ([RETE] + ,[COD_FISCALE] + ,[PROFILO_ASS] + ,[DATA_INIZIO_VAL] + ,[ID_ELAB] + ,[RISKCLASS] + ,[EXPERIENCE] + ,SCADUTO ) + SELECT + AN.RETE AS RETE, + AN.CODFIS AS COD_FISCALE, + AN.CODPROF AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + CLASSeRC, + COD_PROFEC, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN + ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + + FROM + C6StagingPeriodico.WSEIAN2 AS AN + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + --ON AL.RETE_PB = AN.RETE + --AND AL.CODICEFISCALE = AN.CODFIS + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN='' +UNION +SELECT + AN.RETE AS RETE, + 'FF@' + AN.CODMAN AS COD_FISCALE, --AN.CODFIS AS COD_FISCALE, + AN.CODPROF AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + classErc, + COD_PROFEC, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN + ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + FROM + C6StagingPeriodico.WSEIAN2 AS AN + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + -- ON AL.RETE_PB = AN.RETE + -- AND SUBSTRING(AL.CODICEFISCALE,4,4) = AN.CODMAN + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN <> '' + --AND AL.CODICEFISCALE LIKE '%@%' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MIFID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'DM_MIFID' + ) + +END + + +--select count(*) from c6martperiodico.mifid + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_PARTITE_VIAGGIANTI.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_PARTITE_VIAGGIANTI.sql new file mode 100644 index 00000000..c172d278 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_PARTITE_VIAGGIANTI.sql @@ -0,0 +1,85 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: DM_PARTITE_VIAGGIANTI + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[DM_PARTITE_VIAGGIANTI] +AS +BEGIN + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PARTITE_VIAGGIANTI', + GETDATE(), + 'Mart Immobiliare' + ) + + TRUNCATE TABLE C6MartPeriodicoImmobiliare.PARTITE_VIAGGIANTI + + INSERT INTO C6MartPeriodicoImmobiliare.PARTITE_VIAGGIANTI + (RETE + ,COD_FISCALE + ,IMPORTO + ,ID_ELAB + ,TIPO_ELAB) + SELECT + WSEIPV.RETE AS RETE, + case when isnull(codman,'') ='' then WSEIPV.CODFIS else 'FF@'+ codman end AS COD_FISCALE, + SUM(IMPVER) AS IMPORTO, + @ID_ELAB, + @TIPO_ELAB + FROM + C6StagingPeriodico.WSEIPV + WHERE + WSEIPV.DTTRIM = ( + SELECT + MAX(DTTRIM) + FROM + C6StagingPeriodico.WSEIPV + ) + GROUP BY + WSEIPV.RETE, + case when isnull(codman,'') ='' then WSEIPV.CODFIS else 'FF@'+ codman end + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI' + ) + +END + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_RISCHIO_AGGREGATO.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_RISCHIO_AGGREGATO.sql new file mode 100644 index 00000000..83156495 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_DM_RISCHIO_AGGREGATO.sql @@ -0,0 +1,127 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: DM_RISCHIO_AGGREGATO + + + + + + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[DM_RISCHIO_AGGREGATO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Mart Immobiliare' + ) + + TRUNCATE TABLE C6MartPeriodicoImmobiliare.RISCHIO_AGGREGATO + + INSERT INTO C6MartPeriodicoImmobiliare.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + + -- Modifica del 5/11/2018 - per gestire i casi in cui numtitrc contiene caratteri speciali (cr e lf) + --C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + C6martperiodico.getCreditRiskClass(Ully_perc,REPLACE(REPLACE(numtitrc, CHAR(13),''), CHAR(10),'')) AS CREDITRISK, + -- Fine Modifica del 5/11/2018 + + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + + -- Modifica del 5/11/2018 - per gestire i casi in cui numtitrc contiene caratteri speciali (cr e lf) + --c6martperiodico.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + c6martperiodico.getCreditRiskClassEmit(Ully_perc,REPLACE(REPLACE(numtitrc, CHAR(13),''), CHAR(10),'')) as CREDITRISKCLASS_EMIT + -- Fine Modifica del 5/11/2018 + + + FROM + C6StagingPeriodicoImmobiliare.PROMETEIA_AGGR + +--begin transaction +update C6MartPeriodicoImmobiliare.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) + +END + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_Delete_Immobiliare_GestionePDF.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_Delete_Immobiliare_GestionePDF.sql new file mode 100644 index 00000000..e872c6be --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_Delete_Immobiliare_GestionePDF.sql @@ -0,0 +1,46 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: Delete_Immobiliare_GestionePDF + +-- ================================================================================== +-- Author: +-- Create date: <15.02.2019> +-- Description: +-- ================================================================================== + + +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[Delete_Immobiliare_GestionePDF] + + @DataRiferimento varchar(8), + @Return int OUTPUT + +/* +SP Parameter Comment +*/ + +AS +SET NOCOUNT ON; + +/* +SP Body Comment +*/ + + BEGIN TRAN + BEGIN TRY + + DELETE FROM [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF] + WHERE [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF].[DataRiferimento] = @DataRiferimento + + Set @Return=1; + END TRY + + BEGIN CATCH + BEGIN + IF @@TRANCOUNT > 0 + ROLLBACK TRANSACTION; + Set @Return=-ERROR_NUMBER(); + + END + END CATCH + + IF @@TRANCOUNT > 0 + COMMIT TRANSACTION; diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql new file mode 100644 index 00000000..939565cb --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql @@ -0,0 +1,119 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: GESTIONE_SELECT_LETTERE_DA_INVIARE + +--------rete -> F +-------- tip_contratto = 0 codicelettera= 500 +-------- 1 501 +-------- 2 502 +--------rete --> S +-------- 0 503 +-------- 1 504 +-------- 2 505 + + + +--[C6MartPeriodicoImmobiliare].[GESTIONE_SELECT_LETTERE_DA_INVIARE] 'F','FRCFDN42D13L975I',501,-1,'M' + +CREATE procedure [C6MartPeriodicoImmobiliare].[GESTIONE_SELECT_LETTERE_DA_INVIARE] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' + + +AS +BEGIN + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() + --Modifica per la variazione di testo nella lettera di accompagnamento nel caso di diagnosi + + IF @codiceLettera in (7,8) AND @tipoReport = 'DIAGNOSI' + SET @codiceLettera = @codiceLettera + 2 + + + SELECT + c6martperiodico.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + + + + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, + + + + +csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.prov end as provincia, + case when (upper(csei.nazione) <> 'ITALIA') then '' else csei.cap end as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + + c6martperiodico.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_Monitor, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + servizi.dataattivazione, + @dataRichiestaRistampa, + null, + tla.[TESTO] + ) as testo, + + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma, + 0 as pagina + + FROM + [C6MartPeriodico].[TESTO_LETTERA_ACCETTAZIONE] tla, + [consuni_periodico].[ConsulenzaUnica].[dbo].[v_servizi_aggiuntivi] servizi, + [C6MartPeriodicoImmobiliare].[CONTRATTOSEI] csei + INNER JOIN + [C6MartPeriodicoImmobiliare].[ANAG_CLIENTI] aclie + on + csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + + + + WHERE + csei.rete = @rete and + csei.cod_Fiscale = @cf and + tla.id = @codiceLettera and + (@idreport = -1) + AND isnull(csei.data_fineavanzato,'99991231') > c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getDate(),-1),0) + + --and servizi.chiaveclientepb in (select chiaveclientepb from c6mart.vcontratti where cod_fiscale = csei.cod_Fiscale) + and servizi.chiaveclientepb in (select chiaveclientepb from [consuni_periodico].[ConsulenzaUnica].[dbo].[vInfoCliente] where coalesce(codfis,piva) = csei.cod_Fiscale and flagPBPrimario is null) + and servizi.chiaveservizioaggiuntivo = 1 and servizi.flagattivo = 1 --Commentata Andrea per semestrale 2023 + +END diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE_BKP28052023.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE_BKP28052023.sql new file mode 100644 index 00000000..6314b8e7 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE_BKP28052023.sql @@ -0,0 +1,119 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: GESTIONE_SELECT_LETTERE_DA_INVIARE_BKP28052023 + +--------rete -> F +-------- tip_contratto = 0 codicelettera= 500 +-------- 1 501 +-------- 2 502 +--------rete --> S +-------- 0 503 +-------- 1 504 +-------- 2 505 + + + +--[C6MartPeriodicoImmobiliare].[GESTIONE_SELECT_LETTERE_DA_INVIARE] 'F','FRCFDN42D13L975I',501,-1,'M' + +CREATE procedure [C6MartPeriodicoImmobiliare].[GESTIONE_SELECT_LETTERE_DA_INVIARE_BKP28052023] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' + + +AS +BEGIN + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() + --Modifica per la variazione di testo nella lettera di accompagnamento nel caso di diagnosi + + IF @codiceLettera in (7,8) AND @tipoReport = 'DIAGNOSI' + SET @codiceLettera = @codiceLettera + 2 + + + SELECT + c6martperiodico.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + + + + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, + + + + +csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.prov end as provincia, + case when (upper(csei.nazione) <> 'ITALIA') then '' else csei.cap end as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + + c6martperiodico.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_Monitor, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + servizi.dataattivazione, + @dataRichiestaRistampa, + null, + tla.[TESTO] + ) as testo, + + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma, + 0 as pagina + + FROM + [C6MartPeriodico].[TESTO_LETTERA_ACCETTAZIONE] tla, + [consuni_periodico].[ConsulenzaUnica].[dbo].[v_servizi_aggiuntivi] servizi, + [C6MartPeriodicoImmobiliare].[CONTRATTOSEI] csei + INNER JOIN + [C6MartPeriodicoImmobiliare].[ANAG_CLIENTI] aclie + on + csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + + + + WHERE + csei.rete = @rete and + csei.cod_Fiscale = @cf and + tla.id = @codiceLettera and + (@idreport = -1) + AND isnull(csei.data_fineavanzato,'99991231') > c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getDate(),-1),0) + + --and servizi.chiaveclientepb in (select chiaveclientepb from c6mart.vcontratti where cod_fiscale = csei.cod_Fiscale) + and servizi.chiaveclientepb in (select chiaveclientepb from [consuni_periodico].[ConsulenzaUnica].[dbo].[vInfoCliente] where coalesce(codfis,piva) = csei.cod_Fiscale and flagPBPrimario is null) + and servizi.chiaveservizioaggiuntivo = 1 and servizi.flagattivo = 1 --Commentata Andrea per semestrale 2023 + +END diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE_CONSUNI.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE_CONSUNI.sql new file mode 100644 index 00000000..ff9953c7 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE_CONSUNI.sql @@ -0,0 +1,130 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: GESTIONE_SELECT_LETTERE_DA_INVIARE_CONSUNI + + + + +--------rete -> F +-------- tip_contratto = 0 codicelettera= 500 +-------- 1 501 +-------- 2 502 +--------rete --> S +-------- 0 503 +-------- 1 504 +-------- 2 505 + + + +--[C6MartPeriodicoImmobiliare].[GESTIONE_SELECT_LETTERE_DA_INVIARE_CONSUNI]'S','MRMRSR55P64L738D',504,-1,'M' + +CREATE procedure [C6MartPeriodicoImmobiliare].[GESTIONE_SELECT_LETTERE_DA_INVIARE_CONSUNI] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' + + +AS +BEGIN + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() + --Modifica per la variazione di testo nella lettera di accompagnamento nel caso di diagnosi + + IF @codiceLettera in (7,8) AND @tipoReport = 'DIAGNOSI' + SET @codiceLettera = @codiceLettera + 2 + + + SELECT + c6martperiodico.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + + + + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, + + + + +csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.prov end as provincia, + case when (upper(csei.nazione) <> 'ITALIA') then '' else csei.cap end as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + + c6martperiodico.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_Monitor, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + servizi.dataattivazione, + @dataRichiestaRistampa, + null, + tla.[TESTO] + ) as testo, + + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma, + 0 as pagina + + FROM + [C6MartPeriodico].[TESTO_LETTERA_ACCETTAZIONE] tla, + [consuni].[ConsulenzaUnica].[dbo].[v_servizi_aggiuntivi] servizi, + [C6MartPeriodicoImmobiliare].[CONTRATTOSEI] csei + INNER JOIN + [C6MartPeriodicoImmobiliare].[ANAG_CLIENTI] aclie + on + csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + + + + WHERE + csei.rete = @rete and + csei.cod_Fiscale = @cf and + tla.id = @codiceLettera and + (@idreport = -1) + AND isnull(csei.data_fineavanzato,'99991231') > c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getDate(),-1),0) + + and servizi.chiaveclientepb in (select chiaveclientepb from c6mart.vcontratti where cod_fiscale = csei.cod_Fiscale) + and servizi.chiaveservizioaggiuntivo = 1 and servizi.flagattivo = 1 + +END + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_GetDatiPerIDX.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_GetDatiPerIDX.sql new file mode 100644 index 00000000..0e7a6ce3 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_GetDatiPerIDX.sql @@ -0,0 +1,74 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: GetDatiPerIDX + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[GetDatiPerIDX] + -- Add the parameters for the stored procedure here + @cf as varchar(max), + @dtMS as varchar(10), + @dtRif as varchar(10) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + Declare @temptable Table(cf varchar(80)) + + declare @idx int + declare @slice varchar(8000) + + select @idx = 1 + if len(@cf)<1 or @cf is null return + + while @idx!= 0 + begin + set @idx = charindex(',',@cf) + if @idx!=0 + set @slice = left(@cf,@idx - 1) + else + set @slice = @cf + + if(len(@slice)>0) + insert into @temptable(cf) values(@slice) + + set @cf = right(@cf,len(@cf) - @idx) + if len(@cf) = 0 break + end + + + + -- Insert statements for procedure here + SELECT + cat.rete+ + + LEFT(isnull(ANAG_CLIENTI.Nome,'NOME') + ' ' + ISNULL(ANAG_CLIENTI.Cognome,'COGNOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) + + LEFT(isnull(CONTRATTOSEI.Indirizzo,'') + ' ',50) --VIA(50) + + LEFT(isnull(CONTRATTOSEI.CAP,'') + ' ',5) --CAP(5) + + LEFT(isnull(CONTRATTOSEI.Citta,'') + ' ',50) --LOCALITA(50) + + LEFT(isnull(CONTRATTOSEI.Prov,'') + ' ',2)--PROVINCIA(2) + + (CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) + + 'PE' --TIPOPOSTALIZZAZIONE(2) + + LEFT(contrattoSEI.COD_FISCALE+'_'+contrattoSEI.rete+ ' ',50) --NOMEFILE(50) + + LEFT((CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN '' ELSE isnull(CONTRATTOSEI.Nazione,'') END) + ' ',30) -- NAZIONEESTERA(30) + + right (' ' + COALESCE(CONTRATTOSEI.Rol, 'N'), 1) + + right (' ' + CONTRATTOSEI.Cod_Fiscale, 16) + + left (coalesce(CONTRATTOSEI.Email, '') + ' ', 50) + + convert(char(8), @dtMS) /** modificare la data alla met del semestre di interesse */ + + CONTRATTOSEI.COD_AGENTE + + CONTRATTOSEI.codicecontratto as idx + FROM consuni.consulenzaunicafl.dbo.Immobiliare_RichiesteMonitoraggioCatastoCliente cat + INNER JOIN C6MARTPERIODICOimmobiliare.CONTRATTOSEI + ON CONTRATTOSEI.Rete = cat.Rete + AND CONTRATTOSEI.COD_FISCALE = cat.codfis + INNER JOIN C6MARTPERIODICOimmobiliare.ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = cat.Rete + AND ANAG_CLIENTI.COD_FISCALE = cat.codfis + +where cat.dtRiferimento=@dtRif AND cat.codfis IN (Select cf from @temptable) + +END + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_Insert_ExcludedList.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_Insert_ExcludedList.sql new file mode 100644 index 00000000..4c93d117 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_Insert_ExcludedList.sql @@ -0,0 +1,69 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: Insert_ExcludedList + +-- ================================================================================== +-- Author: +-- Create date: <27.02.2019> +-- Description: +-- ================================================================================== + + +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[Insert_ExcludedList] + + @IDReport int, + @Rete varchar(1), + @CodiceFiscale varchar(16), + @DescrizioneErrore varchar(500), + @DataInserimento datetime, + @Bloccato bit, + @DataRiferimento varchar(8), + + @Return int OUTPUT + + +/* +SP Parameter Comment +*/ +WITH EXEC AS CALLER +AS + +/* +SP Body Comment +*/ + + BEGIN TRANSACTION + BEGIN TRY + + INSERT INTO [C6MartPeriodicoImmobiliare].[ExcludedList]( + [IDReport], + [Rete], + [CodiceFiscale], + [DescrizioneErrore], + [DataInserimento], + [Bloccato], + [DataRiferimento]) + + VALUES ( + @IDReport, + @Rete, + @CodiceFiscale, + @DescrizioneErrore, + @DataInserimento, + @Bloccato, + @DataRiferimento) + + Set @Return=@IDReport; + + END TRY + + BEGIN CATCH + IF ERROR_NUMBER()=2601 + BEGIN + Set @Return=-2601; + END + IF @@TRANCOUNT > 0 + ROLLBACK TRANSACTION; + END CATCH + + IF @@TRANCOUNT > 0 + COMMIT TRANSACTION; diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestionePDF.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestionePDF.sql new file mode 100644 index 00000000..5a7ee81e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestionePDF.sql @@ -0,0 +1,142 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: Insert_Immobiliare_GestionePDF + +-- ================================================================================== +-- Author: +-- Create date: <15.02.2019> +-- Description: +-- ================================================================================== + + +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[Insert_Immobiliare_GestionePDF] + + @IDReport int, + @IDReportSemestrale int, + @IDChiaveRichiesta bigint, + @Rete varchar(1), + @ChiaveAgente varchar(8), + @NominativoAgente varchar(255), + @CodiceFiscale varchar(16), + @ChiaveCliente int, + @NominativoCliente varchar(255), + @DataRichiestaCatasto datetime, + @DataRicezioneCatasto datetime, + @DataRichiestaRischio datetime, + @DataRicezioneRischio datetime, + @Utente varchar(50), + @Rfa decimal(19, 7), + @Diversificazione decimal(19, 7), + @Var decimal(19, 7), + @DataRiferimento varchar(8), + @CodiceContratto varchar(11), + @TipoContratto varchar(1), + @TipoReport varchar(2), + @DataReport datetime, + @DataReportUpdate datetime, + @DataZip datetime, + @DataZipUpdate datetime, + @DataInvio datetime, + @DataInvioUpdate datetime, + @FlagInvio varchar(1), + @NomeFile varchar(50), + @IDZip int, + + + @Return int OUTPUT + + +/* +SP Parameter Comment +*/ +WITH EXEC AS CALLER +AS + +/* +SP Body Comment +*/ + + BEGIN TRANSACTION + BEGIN TRY + + SELECT @IdReport = (SELECT ISNULL(MAX([IDReport]),0) + 1 FROM [Immobiliare_GestionePDF] with (tablockx, holdlock, updlock)) + SELECT @IdReportSemestrale = (SELECT ISNULL(MAX([IDReportSemestrale]),0) + 1 FROM [Immobiliare_GestionePDF] WHERE [DataRiferimento] = @DataRiferimento) + + INSERT INTO [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF]( + [IDReport] + ,[IDReportSemestrale] + ,[IDChiaveRichiesta] + ,[Rete] + ,[ChiaveAgente] + ,[NominativoAgente] + ,[CodiceFiscale] + ,[ChiaveCliente] + ,[NominativoCliente] + ,[DataRichiestaCatasto] + ,[DataRicezioneCatasto] + ,[DataRichiestaRischio] + ,[DataRicezioneRischio] + ,[Utente] + ,[Rfa] + ,[Diversificazione] + ,[Var] + ,[DataRiferimento] + ,[CodiceContratto] + ,[TipoContratto] + ,[TipoReport] + ,[DataReport] + ,[DataReportUpdate] + ,[DataZip] + ,[DataZipUpdate] + ,[DataInvio] + ,[DataInvioUpdate] + ,[FlagInvio] + ,[NomeFile] + ,[IDZip]) + + VALUES ( + @IDReport, + @IDReportSemestrale, + @IDChiaveRichiesta, + @Rete, + @ChiaveAgente, + @NominativoAgente, + @CodiceFiscale, + @ChiaveCliente, + @NominativoCliente, + @DataRichiestaCatasto, + @DataRicezioneCatasto, + @DataRichiestaRischio, + @DataRicezioneRischio, + @Utente, + @Rfa, + @Diversificazione, + @Var, + @DataRiferimento, + @CodiceContratto, + @TipoContratto, + @TipoReport, + @DataReport, + @DataReportUpdate, + @DataZip, + @DataZipUpdate, + @DataInvio, + @DataInvioUpdate, + @FlagInvio, + @NomeFile, + @IDZip ) + + Set @Return=@IdReport; + + END TRY + + BEGIN CATCH + IF ERROR_NUMBER()=2601 + BEGIN + Set @Return=-2601; + END + IF @@TRANCOUNT > 0 + ROLLBACK TRANSACTION; + END CATCH + + IF @@TRANCOUNT > 0 + COMMIT TRANSACTION; diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestioneZIP.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestioneZIP.sql new file mode 100644 index 00000000..ab28a2bf --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestioneZIP.sql @@ -0,0 +1,69 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: Insert_Immobiliare_GestioneZIP + +-- ================================================================================== +-- Author: +-- Create date: <27.02.2019> +-- Description: +-- ================================================================================== + + +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[Insert_Immobiliare_GestioneZIP] + + @IDZip int, + @NomeFile varchar(255), + @DataInvio datetime, + @FlagInvio varchar(1), + @NomeCartella varchar(255), + @IDLottoElaborazione int, + @DataRiferimento varchar(8), + + @Return int OUTPUT + + +/* +SP Parameter Comment +*/ +WITH EXEC AS CALLER +AS + +/* +SP Body Comment +*/ + + BEGIN TRANSACTION + BEGIN TRY + + INSERT INTO [C6MartPeriodicoImmobiliare].[Immobiliare_GestioneZIP]( + [IDZip] + ,[NomeFile] + ,[DataInvio] + ,[FlagInvio] + ,[NomeCartella] + ,[IDLottoElaborazione] + ,[DataRiferimento]) + + VALUES ( + @IDZip, + @NomeFile, + @DataInvio, + @FlagInvio, + @NomeCartella, + @IDLottoElaborazione, + @DataRiferimento) + + Set @Return=@IdZip; + + END TRY + + BEGIN CATCH + IF ERROR_NUMBER()=2601 + BEGIN + Set @Return=-2601; + END + IF @@TRANCOUNT > 0 + ROLLBACK TRANSACTION; + END CATCH + + IF @@TRANCOUNT > 0 + COMMIT TRANSACTION; diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_MERGED_PROCEDURE.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_MERGED_PROCEDURE.sql new file mode 100644 index 00000000..aeb8652c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_MERGED_PROCEDURE.sql @@ -0,0 +1,146 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: MERGED_PROCEDURE + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[MERGED_PROCEDURE] +AS +BEGIN + SET NOCOUNT ON; + + +truncate table C6MartperiodicoImmobiliare.Maledetti + +insert into C6MartperiodicoImmobiliare.Maledetti --70 minutes +( +[i_CodiceFiscale] + ,[i_Rete] + ,[Rete] + ,[NomeRete] + ,[Agente] + ,[CognomeAgente] + ,[NomeAgente] + ,[IndirizzoAgente] + ,[CapAgente] + ,[CittaAgente] + ,[TelefonoAgente] + ,[CodiceFiscale] + ,[CognomeCliente] + ,[NomeCliente] + ,[ProfiloIsAct] + ,[PatrimonioNonRappresentabile] + ,[PartiteViaggiantiDisinv] + ,[PartiteViaggiantiInv] + ,[ContoCorrente] + ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,[RisorseNonAssociate] + ,[Patrimonioaltroctv] + ,[Patrimonioimmobiliarectv] + ,[PatrimonioTerzictv] + ,[PatrimonioTerziCtvAlNettoContoCorrente] + ,[PatrimonioTerziContoCorrente] + ,[Patrimoniobancafideuramctv] + ,[Patrimoniocomplessivototalectv] + ,[NumeroIntermediari] + ,[CodiceContratto] + ,[tip_contratto] + ,[contrattoold] + ,[NoMonitoraggio] + ,[descrizioneDiagnosi] + ,[idModelloDiagnosi] + ,[idReportDiagnosi] + ,[descrizioneMonitoraggio] + ,[idReportMonitoraggio] + ,[idModelloMonitoraggio] + ,[AdesioneSuccessivaAvanzato] + ,[VaRRisorseNonAssociate] + ,[CoperturaRisorseNonAssociate] + ,[VaRTotaleRisorseFinanziarie] + ,[CoperturaTotaleRisorseFinanziarie] + ,[IdReportPDFDiagnosi] + ,[IdReportPDFMonitoraggio] + ,scaduto + ) + + +SELECT [i_CodiceFiscale] + ,[i_Rete] + ,[Rete] + ,[NomeRete] + ,[Agente] + ,[CognomeAgente] + ,[NomeAgente] + ,[IndirizzoAgente] + ,[CapAgente] + ,[CittaAgente] + ,[TelefonoAgente] + ,[CodiceFiscale] + ,[CognomeCliente] + ,[NomeCliente] + ,[ProfiloIsAct] + ,[PatrimonioNonRappresentabile] + ,[PartiteViaggiantiDisinv] + ,[PartiteViaggiantiInv] + ,[ContoCorrente] + ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,[RisorseNonAssociate] + ,[Patrimonioaltroctv] + ,[Patrimonioimmobiliarectv] + ,[PatrimonioTerzictv] + ,[PatrimonioTerziCtvAlNettoContoCorrente] + ,[PatrimonioTerziContoCorrente] + ,[Patrimoniobancafideuramctv] + ,[Patrimoniocomplessivototalectv] + ,[NumeroIntermediari] + ,[CodiceContratto] + ,[tip_contratto] + ,[contrattoold] + ,[NoMonitoraggio] + ,[descrizioneDiagnosi] + ,[idModelloDiagnosi] + ,[idReportDiagnosi] + ,[descrizioneMonitoraggio] + ,[idReportMonitoraggio] + ,[idModelloMonitoraggio] + ,[AdesioneSuccessivaAvanzato] + ,[VaRRisorseNonAssociate] + ,[CoperturaRisorseNonAssociate] + ,[VaRTotaleRisorseFinanziarie] + ,[CoperturaTotaleRisorseFinanziarie] + ,[IdReportPDFDiagnosi] + ,[IdReportPDFMonitoraggio] + ,[scaduto] + FROM [wh].[Maledetti] + + + + + + + + +END + + + + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_D2_S170RischioDiversificazione.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_D2_S170RischioDiversificazione.sql new file mode 100644 index 00000000..fafb3228 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_D2_S170RischioDiversificazione.sql @@ -0,0 +1,115 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: PL_D2_S170RischioDiversificazione + + + +-- [C6MartPeriodicoImmobiliare].[PL_D2_S170RischioDiversificazione] 'F','FF@7181' +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_D2_S170RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + + declare @contaCC as int + select @contaCC = count(*) + from C6MartPeriodicoImmobiliare.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + + + declare @contaPOS as int + select @contaPOS = count(*) + from C6MartPeriodicoImmobiliare.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM C6MartPeriodicoImmobiliare.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM C6MartPeriodicoImmobiliare.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + + +SELECT +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, + +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, + +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, + +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, + +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine + + +FROM +C6MartPeriodicoImmobiliare.RISCHIO_AGGREGATO K left outer JOIN C6MartPeriodicoImmobiliare.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6MartPeriodicoImmobiliare.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine + + +END + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_D_S152Patrimonio.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_D_S152Patrimonio.sql new file mode 100644 index 00000000..bc4345e0 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_D_S152Patrimonio.sql @@ -0,0 +1,119 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: PL_D_S152Patrimonio + + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodicoImmobiliare].[PL_D_S152Patrimonio] 'F','BCHRRT54L12G999R' +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_D_S152Patrimonio] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + + SELECT + @PatrimonioBF = SUM(CTV) + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area <> 'CC' --escludo il cc negativo + +-- SELECT @Part_viaggianti=SUM(IMPORTO) +-- FROM C6MartPeriodicoImmobiliare.PARTITE_VIAGGIANTI partvia +-- WHERE +-- partvia.Rete = @Rete +-- and partvia.Cod_Fiscale = @CodiceFiscale + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6MartPeriodicoImmobiliare.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6MartPeriodicoImmobiliare.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + + + SELECT + @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + + + SELECT + @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + + + SELECT + @PatrimonioAltro = SUM(patrAltro.ctv) + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + + + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + + + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV + +END + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_D_S154PatrimonioFinanziario.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_D_S154PatrimonioFinanziario.sql new file mode 100644 index 00000000..4ed36016 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_D_S154PatrimonioFinanziario.sql @@ -0,0 +1,159 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: PL_D_S154PatrimonioFinanziario + + + + +-- Stored procedure + + +-- ============================================= +-- Author: Luca De Lisio +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodicoImmobiliare].[PL_D_S154PatrimonioFinanziario] 'F','BCHRRT54L12G999R' +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_D_S154PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + +SELECT + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Fideuram' + END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + ISNULL(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + NULLIF(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'), 0),0.00) + ) * 100 AS Percentuale + FROM ( + + --PRODOTTI BF ESCLUSI GLI ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodicoImmobiliare.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + + UNION ALL + + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT + + + + + + + + + + + + + + + + + + + + + + + + + + + +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodicoImmobiliare.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodicoImmobiliare.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MartPeriodicoImmobiliare.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL + +-- UNION ALL + --DETTAGLIO ASUL SENZA SKANDIA + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodicoImmobiliare.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodicoImmobiliare.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + UNION ALL + --CON SKANDIA + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodicoImmobiliare.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodicoImmobiliare.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + + UNION ALL + + --PRODOTTI diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_GetClientNegativeCurrentAccountsValue.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_GetClientNegativeCurrentAccountsValue.sql new file mode 100644 index 00000000..8062a385 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_GetClientNegativeCurrentAccountsValue.sql @@ -0,0 +1,39 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: PL_GetClientNegativeCurrentAccountsValue + + +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodicoImmobiliare].[PL_GetClientNegativeCurrentAccountsValue] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_GetClientNegativeCurrentAccountsValue] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @PatrimonioBF DECIMAL(15,2) + + -- Insert statements for procedure here + SELECT + --@PatrimonioBF = case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND ID_AREA = 'CC' + and CTV < 0 + --Return @PatrimonioBF +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_GetClientSelfNegCurrentAccountValue.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_GetClientSelfNegCurrentAccountValue.sql new file mode 100644 index 00000000..bd0a5f27 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_GetClientSelfNegCurrentAccountValue.sql @@ -0,0 +1,37 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: PL_GetClientSelfNegCurrentAccountValue + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodicoImmobiliare].[PL_GetClientSelfNegCurrentAccountValue] 'S','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_GetClientSelfNegCurrentAccountValue] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --DECLARE @PatrimonioBF DECIMAL(15,2) + + SELECT + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6MartPeriodicoImmobiliare.ANAG_SELF LS + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND ctv < 0 + + --Return @PatrimonioBF +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_MP_S133AreeBisognoPrincProd.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_MP_S133AreeBisognoPrincProd.sql new file mode 100644 index 00000000..a6c7b567 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_MP_S133AreeBisognoPrincProd.sql @@ -0,0 +1,52 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: PL_MP_S133AreeBisognoPrincProd + + + +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_MP_S133AreeBisognoPrincProd] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6StampeCentralizzate].[C6MartPeriodicoImmobiliare].[TB_S133_S157DatiPiramide] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_MP_S140AnalisiRisparmioCharts.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_MP_S140AnalisiRisparmioCharts.sql new file mode 100644 index 00000000..ce08fe4f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_MP_S140AnalisiRisparmioCharts.sql @@ -0,0 +1,112 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: PL_MP_S140AnalisiRisparmioCharts + +-- [C6MartPeriodicoImmobiliare].[PL_MP_S140AnalisiRisparmioCharts] 'S','RTRRLF23S12Z105V' +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[PL_MP_S140AnalisiRisparmioCharts] +@Rete char(1), @CodiceFiscale varchar(16) +WITH EXEC AS CALLER +AS +BEGIN + SET NOCOUNT ON; + + + +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, + +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS ctv +--FINE INTERVENTI OMNIA +FROM +[C6MartPeriodicoImmobiliare].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MartPeriodicoImmobiliare].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +--INIZIO INTERVENTI OMNIA +---Per calcolare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MartPeriodicoImmobiliare].pATRIMONIO_BF +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine calcolo somma self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6MartPeriodicoImmobiliare].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodicoImmobiliare.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodicoImmobiliare.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..9acd8c7b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,128 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: PL_S76AlternativaPatrimonioNonRappresentabileAssettClass + + + +--[C6MartPeriodicoImmobiliare].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] 's','FLLGRG54H28A479K' +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Fideuram' + ELSE + SET @NOMERETE = 'Sanpaolo Invest' + + SELECT + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario + --patrbf.ordinamento_progetto + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodicoImmobiliare.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodicoImmobiliare.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodicoImmobiliare.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL +--INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <> 0.00 + +UNION ALL + +SELECT + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + sum(ASUL.CTV) as Controvalore, + sum(ASUL.CTV) as controvalore_contratto, + Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario + --patrbf.ordinamento_progetto + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodicoImmobiliare.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodicoImmobiliare.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN + C6MartPeriodicoImmobiliare.DETTAGLIO_ASUL ASUL + ON + PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + left JOIN + C6MartPeriodicoImmobiliare.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + ASSETPERC.COD_PRODOTTO IS NULL + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + + GROUP BY + PATRBF.ID_CONTRATTO, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end, + PATRBF.NOME_PROGETTO, + patrbf.chiave_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE), + ANAGP.DESCR_PRODOTTO + +EN diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql new file mode 100644 index 00000000..4e00e2e7 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql @@ -0,0 +1,77 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento + +-- Stored procedure + + + +-- ============================================= +-- [C6MartPeriodicoImmobiliare].[PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento] 's','FLLGRG54H28A479K' +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + --SELECT + -- PATR_BF.ID_AREA AS Need_Area, + -- PATR_BF.ID_CONTRATTO AS Contratto, + -- CASE + -- WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA + -- ELSE ltrim(rtrim(PATR_BF.NOME_PROGETTO)) + -- END AS Area_O_Nome_Progetto, + + -- PRODOTTI.DESCR_PRODOTTO AS Descrizione, + + -- PATR_BF.PARTVIA_DISINV AS PartitaViaggiante, + -- SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.POSITION_ID) AS Controvalore, + -- dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione + --FROM + -- C6MartPeriodicoImmobiliare.PATRIMONIO_BF AS PATR_BF + -- INNER JOIN C6MartPeriodicoImmobiliare.AREA_BISOGNO AS AREA ON + -- PATR_BF.ID_AREA = AREA.ID_AREA + -- INNER JOIN C6MartPeriodicoImmobiliare.ANAG_PRODOTTI AS PRODOTTI ON + -- PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + --PATR_BF.RETE, + --PATR_BF.COD_FISCALE, + --PATR_BF.ID_AREA AS Need_Area, + --PATR_BF.ID_CONTRATTO AS Contratto, + --CASE + -- WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA + -- ELSE ltrim(rtrim(PATR_BF.NOME_PROGETTO)) + --END AS Area_O_Nome_Progetto, + + --PRODOTTI.DESCR_PRODOTTO AS Descrizione, + --CASE WHEN PATR_BF.TIPO_PRODOTTO <> 'CC' THEN PRODOTTI.DESCR_PRODOTTO + -- ELSE PRODOTTI.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + --END AS Descrizione, + --PRODOTTI.DESCR_PRODOTTO AS Descrizione, + + --PATR_BF.PARTVIA_DISINV AS PartitaViaggiante, + --SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.POSITION_ID) AS Controvalore, + SUM(PATR_BF.CTV) AS Controvalore + --dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodicoImmobiliare.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + INNER JOIN C6MartPeriodicoImmobiliare.ANAG_PRODOTTI AS PRODOTTI ON + PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO + + WHERE + PATR_BF.RETE = @Rete + AND PATR_BF.COD_FISCALE = @CodiceFiscale + + and PATR_BF.ID_AREA not in ('Pre1','Pre2') and PATR_BF.TIPO_PRODOTTO <> 'CC' + + AND PATR_BF.REND_NON_RAPPR = 1 + +GROUP BY PATR_BF.RETE, PATR_BF.COD_FISCALE +END diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_Popola_S133_S157DatiPiramide.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_Popola_S133_S157DatiPiramide.sql new file mode 100644 index 00000000..ae06d8dc --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_Popola_S133_S157DatiPiramide.sql @@ -0,0 +1,38 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: Popola_S133_S157DatiPiramide + + + + +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) + +CREATE procedure [C6MartPeriodicoImmobiliare].[Popola_S133_S157DatiPiramide] +AS +BEGIN + + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT_TEMP + FROM + C6MartPeriodicoImmobiliare.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_BF PIRAMIDE_VERT + GROUP BY + RETE, COD_FISCALE, + CASE diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ANAG_CLIENTI.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ANAG_CLIENTI.sql new file mode 100644 index 00000000..5cc7c11b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ANAG_CLIENTI.sql @@ -0,0 +1,149 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: RP_DM_ANAG_CLIENTI + + + + +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ANAG_CLIENTI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + + TRUNCATE TABLE C6MartPeriodicoImmobiliare.ANAG_CLIENTI + + + INSERT INTO C6MartPeriodicoImmobiliare.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE AS RETE, + [dbo].[FFCODICEFISCALE] (AL.CODFIS,AL.CODMAN,AL.PIVA)AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOMECLIENTE)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOMECLIENTE)) AS COGNOME, + ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + NULL AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + [dbo].[FFPIVA] (AL.CODMAN, AL.PIVA) AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODFIS,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodicoImmobiliare.RP_InfoCliente AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN2 CL + ON CL.RETE = AL.RETE + AND ( ltrim(rtrim(CL.CODFIS)) = CASE WHEN ISNULL(AL.CODFIS, '') = '' THEN AL.PIVA ELSE AL.CODFIS END ) + AND (ISNULL(CL.CODMAN, '') = ISNULL(AL.CODMAN, '')) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2) +--and al.codfis not in +--( +--'FF@8464', +--'LBRMRA73H15H501A', +--'FF@5134' +--) +------------------------------- +/* 20170409 rete + cf duplicato +--S SFRCLD60E12Z110N +--F TTLVNT44H04L746B +*/ + and AL.AGENTE is not null + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI.sql new file mode 100644 index 00000000..7ae1bb16 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI.sql @@ -0,0 +1,111 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: RP_DM_ANAG_PRODOTTI + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ANAG_PRODOTTI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + + TRUNCATE TABLE C6MartPeriodicoImmobiliare.ANAG_PRODOTTI + + INSERT INTO [C6MartPeriodicoImmobiliare].[ANAG_PRODOTTI] + (--ChiaveProdotto, + [COD_PRODOTTO] + ,[COD_ISIN] + ,[PAESE] + ,[ID_AREA] + ,[CAT_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[COD_MAF] + ,[RATING] + ,[COD_ADEGUATEZZA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[DT_SCADENZA] + ,[TIPO_EMITTENTE] + ,[TIPO_TASSO] + ,[FLG_OB]) + SELECT + --ChiaveProdotto, + CatalogueID AS COD_PRODOTTO, + ISNULL(CodIsin, '') AS COD_ISIN, + NULL AS PAESE, + '' AS ID_AREA, + (SELECT CASE + WHEN a.Livello1 like '%Assicurativo%' THEN 'Gestito Finanziario' + else a.Livello1 + END) AS CAT_PRODOTTO, + TipoProdotto AS TIPO_PRODOTTO, + NomeProdotto AS DESCR_PRODOTTO, + PrezzoValuta AS DIV_QUOTAZIONE, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + CodMaf AS COD_MAF, + case when LTRIM(RTRIM(RATINGobbligazioni)) = '' THEN null ELSE RATINGobbligazioni end AS RATING, + CodAdeguatezza AS COD_ADEGUATEZZA, + CodSottoprodotto AS COD_SOTTOPRODOTTO, + ISNULL(CodInterno, '') AS COD_INTERNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + DtScadenza, + TIP_EMITTENTE, + TIP_TASSO, + CASE WHEN c.Alberatura = 98 THEN 'S' ELSE 'N' END AS FLG_OB + FROM C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti c +Inner Join C6StagingPeriodicoImmobiliare.RP_AnAlberatura a + ON c.Alberatura = a.Alberatura + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI_TERZI.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI_TERZI.sql new file mode 100644 index 00000000..045af9f7 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI_TERZI.sql @@ -0,0 +1,99 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: RP_DM_ANAG_PRODOTTI_TERZI + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ANAG_PRODOTTI_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_TERZI', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + + TRUNCATE TABLE C6MartPeriodicoImmobiliare.ANAG_PRODOTTI_TERZI + + INSERT INTO [C6MartPeriodicoImmobiliare].[ANAG_PRODOTTI_TERZI] + ([COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[NOME_PRODOTTO] + ,[ALBERO_PRODOTTI] + ,[COD_ISIN] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[INTERMEDIARIO] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[PAESE] + ,[RATING] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT + --C6MartPeriodicoImmobiliare.VCONTRATTI.chiaveClientePB AS chiaveClientePB, + C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.chiaveProdotto AS COD_PRODOTTO, + ISNULL(Mapping.Temp_oidProd ,C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.nomeProdotto AS NOME_PRODOTTO, + NULL AS ALBERO_PRODOTTI, + NULL AS COD_ISIN, + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.tipoprod AS DESCR_PRODOTTO, + NULL AS DIV_QUOTAZIONE, + C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + NULL AS PAESE, + NULL AS RATING, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + + FROM C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi + INNER JOIN C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi + ON C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.chiaveProdottoTerzi = C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.chiaveProdottoTerzi + INNER JOIN [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] VCONTRATTI + ON C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + LEFT JOIN C6StagingPeriodicoImmobiliare.RP_MappingTerzi Mapping + ON C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.chiaveProdottoTerzi = Mapping.chiaveProdottoTerzi + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_AREA_BISOGNO.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_AREA_BISOGNO.sql new file mode 100644 index 00000000..c648dbde --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_AREA_BISOGNO.sql @@ -0,0 +1,66 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: RP_DM_AREA_BISOGNO + + + + +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_AREA_BISOGNO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + + TRUNCATE TABLE C6MartPeriodicoImmobiliare.AREA_BISOGNO + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_AREA_BISOGNO', + GETDATE(), + 'Mart Immobiliare' + ) + + INSERT INTO C6MartPeriodicoImmobiliare.[AREA_BISOGNO] + ([ID_AREA] + ,[NOME_AREA] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(Area)) AS ID_AREA, + LTRIM(RTRIM(Descrizione)) AS NOME_AREA, + Ordinamento AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodicoImmobiliare.RP_NEEDAREA + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_AREA_BISOGNO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_AREA_BISOGNO' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS.sql new file mode 100644 index 00000000..e071a0e0 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS.sql @@ -0,0 +1,88 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: RP_DM_ASSETCLASS + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from C6MartPeriodicoImmobiliare.assetclass +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ASSETCLASS] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS', + GETDATE(), + 'Mart Immobiliare' + ) + + TRUNCATE TABLE C6MartPeriodicoImmobiliare.ASSETCLASS + + + + SELECT + A.ASSET AS ID_ASSETCLASS, + A.DESCRIZIONE AS DESCRIZIONE, + A.LIVELLO AS LIVELLO, + B.ORDINAMENTO_ASSET AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + into #temp_asset + FROM C6StagingPeriodicoImmobiliare.RP_ASSETCLASS A + JOIN + C6StagingPeriodicoImmobiliare.RP_REP_ASSET_1_E_2_ORDINATE B + ON A.ASSET = B.CODICE_ASSET_CLASS_INGRESSO + + INSERT INTO [C6MartPeriodicoImmobiliare].[ASSETCLASS] + ([ID_ASSETCLASS] + ,[DESCRIZIONE] + ,[LIVELLO] + ,[ORDINAMENTO] + ,[ID_ELAB]) + select ID_ASSETCLASS, + DESCRIZIONE, + LIVELLO, + ORDINAMENTO, + ID_ELAB + from #temp_asset + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_ASSETCLASS' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS_TERZI.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS_TERZI.sql new file mode 100644 index 00000000..3bdd6ba7 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS_TERZI.sql @@ -0,0 +1,77 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: RP_DM_ASSETCLASS_TERZI + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +--select * from [C6MartPeriodicoImmobiliare].[ASSETCLASS_TERZI] +--[C6MartPeriodicoImmobiliare].[DM_ASSETCLASS_TERZI] +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ASSETCLASS_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS_TERZI', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + + TRUNCATE TABLE C6MartPeriodicoImmobiliare.ASSETCLASS_TERZI + + INSERT INTO [C6MartPeriodicoImmobiliare].[ASSETCLASS_TERZI] + ([ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_ADEGUATEZZA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT + B.CODICE_ASSET_CLASS_INGRESSO, + B.CODICE_ISIN, + B.CODICE_MAF, + ISNULL(B.CODICE_ADEGUATEZZA,'$'), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodicoImmobiliare.RP_REP_ASSET_1_E_2_ORDINATE B + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC.sql new file mode 100644 index 00000000..5d9ceb21 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC.sql @@ -0,0 +1,92 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: RP_DM_ASSET_PERC + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ASSET_PERC] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC', + GETDATE(), + 'Mart Immobiliare' + ) + + TRUNCATE TABLE C6MartPeriodicoImmobiliare.ASSET_PERC + + INSERT INTO [C6MartPeriodicoImmobiliare].[ASSET_PERC] + ([COD_PRODOTTO] + ,[ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[LIVELLO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT DISTINCT + cat.CatalogueID AS COD_PRODOTTO, + LTRIM(RTRIM(ac.Asset)) AS ID_ASSETCLASS, + cat.CodIsin AS COD_ISIN, + cat.CodMaf AS COD_MAF, + cat.CodInterno AS COD_INTERNO, + cat.CodSottoprodotto AS COD_SOTTOPRODOTTO, + ac.Livello AS LIVELLO, + LTRIM(RTRIM(map.Percentuale)) AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodicoImmobiliare.RP_Mappatura AS map + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_AssetClass AS ac + ON + map.Asset = ac.Asset + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti cat + ON + map.ChiaveProdotto = cat.ChiaveProdotto + where map.Percentuale >= -999.099 and map.Percentuale <= 999.099 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_ASSET_PERC' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC_TERZI.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC_TERZI.sql new file mode 100644 index 00000000..c44d2aa5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC_TERZI.sql @@ -0,0 +1,101 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: RP_DM_ASSET_PERC_TERZI + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ASSET_PERC_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC_TERZI', + GETDATE(), + 'Mart Immobiliare' + ) + + TRUNCATE TABLE C6MartPeriodicoImmobiliare.ASSET_PERC_TERZI + + INSERT INTO [C6MartPeriodicoImmobiliare].[ASSET_PERC_TERZI] + ([COD_PRODOTTO_TERZI] -- + ,[ID_ASSETCLASS] -- + ,[LIVELLO] -- + ,[NOME_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[PERC] -- + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ISNULL(Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, + RP_AssetClass.Asset AS ID_ASSETCLASS, + RP_AssetClass.Livello AS LIVELLO, + NULL AS NOME_PRODOTTO, + NULL AS TIPO_PRODOTTO, + RP_MappaturaPT.percentuale / 100 AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi + ON + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + ON + C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.alberatura = C6StagingPeriodicoImmobiliare.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_MappaturaPT + ON + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6StagingPeriodicoImmobiliare.RP_MappaturaPT.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_AssetClass + ON + C6StagingPeriodicoImmobiliare.RP_MappaturaPT.asset = C6StagingPeriodicoImmobiliare.RP_AssetClass.Asset + LEFT JOIN + C6StagingPeriodicoImmobiliare.RP_MappingTerzi Mapping + ON + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.chiaveProdottoTerzi = Mapping.chiaveProdottoTerzi + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_CONTRATTOSEI.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_CONTRATTOSEI.sql new file mode 100644 index 00000000..7b644e3c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_CONTRATTOSEI.sql @@ -0,0 +1,144 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: RP_DM_CONTRATTOSEI + + + + + +----------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_CONTRATTOSEI] +AS + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CONTRATTOSEI', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + + +TRUNCATE TABLE C6MartPeriodicoImmobiliare.CONTRATTOSEI +INSERT INTO C6MartPeriodicoImmobiliare.CONTRATTOSEI +SELECT + [Rete], + [Cod_Fiscale], + [PIva_Fiduciaria], + [DATA_INZIOAVANZATO] as [Data_Sott], + [CodiceContratto], + [Cod_Agente], + [Data_Perf_Base], + [Data_Perf], + null as [Fascia_CPP], + null as [Email], + [Indirizzo], + [CAP], + [Citta], + [Provincia], + [Nazione], + [Presso], + null as[Data_Inizio], + [Freq_Diagnosi], + [FREQ_MONITORAGGIO], + null as [Freq_DiagnosiPrec], + null as [Freq_MonitorPrec], + null as [Data_InizioConsInv], + [Data_InizioBase], + [Data_FineBase], + [DATA_INZIOAVANZATO], + [Data_FineAvanzato], + null as [ProgressivoInvio], + 'N', + 'N', + null as [DataUltimoInvio], + [ClienteMigrato], + [RisorseNA], + null as [PartViaDisinv], + [NumSolleciti], + [Data_UltimoSollecito], + [NumRevoche], + [Data_UltimaRevoca], + null as [Note], + null as [Data_Invio_Diagnosi_Trimestrale], + null as [Data_Invio_Monitoraggio_Trimestrale], + [ProfiloAttivo], + null as [Rol], + [TIP_CONTRATTO], + [TIP_RIATTIVAZIONE] + +FROM + [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CONTRATTOSEI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_CONTRATTOSEI' + ) + + + +UPDATE C6MartPeriodicoImmobiliare.contrattosei + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,prov = a.Provincia + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITOR = a.FREQ_MONITORAGGIO +from c6mart.vcontratti a +inner join C6MartPeriodicoImmobiliare.contrattosei b +on a.codicecontratto = b.codicecontratto + + +UPDATE contr + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,provincia = a.Prov + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITORAGGIO = a.FREQ_MONITOR +from C6MartPeriodicoImmobiliare.contrattosei a +inner join [C6StagingPeriodico].[APPO_CONTRATTI] contr on a.codicecontratto = contr.codicecontratto +left join [C6StagingPeriodicoImmobiliare].[APPO_CONTRATTI_LIMITER] lim on lim.COD_FISCALE = contr.COD_FISCALE and lim.rete = contr.rete +where lim.cod_fiscale is not null or 0 = (select count(*) from [C6StagingPeriodicoImmobiliare].[APPO_CONTRATTI_LIMITER] with (nolock)) + + + +-- Allineamento Flag Rol su contratto sei + +Update C6MartPeriodicoImmobiliare.ContrattoSei +Set Rol = Case D.statorol + When 'S' then D.statorol + Else 'N' + End, + EmAil = Case d.alertrol + When 'S' then D.Email + End +from C6MartPeriodicoImmobiliare.ContrattoSei C inner join C6StagingPeriodico.datiRol2 D +on d.codContratto = c.codiceContratto + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_DETTAGLIO_ASUL.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_DETTAGLIO_ASUL.sql new file mode 100644 index 00000000..cf39b8f1 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_DETTAGLIO_ASUL.sql @@ -0,0 +1,130 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: RP_DM_DETTAGLIO_ASUL + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodicoImmobiliare].[TEMP_RP_DM_DETTAGLIO_ASUL] +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[RP_DM_DETTAGLIO_ASUL] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_1', + GETDATE(), + 'Mart Immobiliare' + ) + + DECLARE @MaxDTTrim AS decimal(9,0) + SELECT @MaxDTTrim = MAX(DTTRIM) FROM C6STAGINGPERIODICO.WSEIUL + + TRUNCATE TABLE C6MartPeriodicoImmobiliare.DETTAGLIO_ASUL + + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + --ISNULL( + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + -- SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + CAST('' AS VARCHAR(255)) AS COD_PRODOTTO, + --ISNULL(SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57), + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD) + -- ) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + SPB_CONTR_SINTESI.POSITIONID AS SPB_POSITIONID + INTO #TEMP_DETTAGLIO_ASUL + FROM + C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.CodInterno + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.CodSottoprodotto + -------------------> Mod del 23/1/2017 - ripristinata and sulla visibilit precedentemente commentata + AND CATITEMREF.Visibilita = 1 + -------------------> Fine Mod del 23/1/2017 + AND (SPB_ASS_UNIT.ISIN = '' --and CATITEMREF.CodIsin is null --= '$' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.CodAdeguatezza + AND + SPB_ASS_UNIT.MAF = CATITEMREF.CodMaf) + + ) +WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = @MaxDTTrim + -------------------> Mod del 23/1/2017 -Commentata and sulla visibilit + --AND CATITEMREF.Visibilita = 1 + -------------------> Fine Mod del 23/1/2017 + and SPB_CONTR_SINTESI.CTV <> 0 + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' + ) + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_2', + GETDATE(), + 'Mart Immobiliare' + ) + + + declare @visible int + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = C diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_ALTRO.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_ALTRO.sql new file mode 100644 index 00000000..9650fce0 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_ALTRO.sql @@ -0,0 +1,109 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: RP_DM_PATRIMONIO_ALTRO + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_PATRIMONIO_ALTRO] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_ALTRO', + GETDATE(), + 'Mart Immobiliare' + ) + +TRUNCATE TABLE C6MartPeriodicoImmobiliare.PATRIMONIO_ALTRO + +INSERT INTO [C6MartPeriodicoImmobiliare].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) + +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb, dettPatrAz.denominazione) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6StagingPeriodicoImmobiliare.RP_DettPatrAziendale dettPatrAz, + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi patrTerzi, + [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + +UNION ALL + +SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb, dettAltriProd.descrizione) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6StagingPeriodicoImmobiliare.RP_DettAltriProdotti dettAltriProd, + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_BF.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_BF.sql new file mode 100644 index 00000000..84795f94 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_BF.sql @@ -0,0 +1,128 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: RP_DM_PATRIMONIO_BF + + + + + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +--------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_PATRIMONIO_BF] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + +INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Mart Immobiliare' + ) +TRUNCATE TABLE C6MartPeriodicoImmobiliare.PATRIMONIO_BF + +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + -- 20170421 elimina char ; dal nome progetto che causa errore 2000 durante elaborazione prometeia exe + --ELSE LTRIM(RTRIM(CON.nomeProgetto)) + ELSE replace (LTRIM(RTRIM(CON.nomeProgetto)), ';', '') + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE.sql new file mode 100644 index 00000000..33a7ab69 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE.sql @@ -0,0 +1,102 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: RP_DM_PATRIMONIO_IMMOBILIARE + + + + + +--select * from C6MartPeriodicoImmobiliare.patrimonio_immobiliare +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_PATRIMONIO_IMMOBILIARE] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Mart Immobiliare' + ) + + TRUNCATE TABLE C6MartPeriodicoImmobiliare.PATRIMONIO_IMMOBILIARE + + + INSERT INTO [C6MartPeriodicoImmobiliare].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + C.RETE, --ALL_PATR_TERZI.RETE_PB AS RETE, + C.COD_FISCALE, --ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + B.DESCRIZIONE, --ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, --b.descrizione + B.TIPOLOGIA, + B.COMUNE AS COMUNE, --ALL_PATR_TERZI.LOCALITA AS LOCALITA, --comune null verificare se corretto + B.codProvincia AS PROVINCIA, --NULL AS PROVINCIA, --provincia + NULL AS CAP, + NULL AS NAZIONE, + B.VALOREIMMOBILETOTALE, + B.RENDITAANNUA, --ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, --renditaAnnua + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + + FROM C6StagingPeriodicoImmobiliare.RP_PATRIMONIOTERZI A + JOIN C6StagingPeriodicoImmobiliare.RP_DETTIMMOBILIARE B + ON A.CHIAVEPRODOTTOTERZI = B.CHIAVEPRODOTTOTERZI + JOIN [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] C + ON A.CHIAVECLIENTEPB = C.CHIAVECLIENTEPB + WHERE A.IDTIPOPRODOTTO = 'IM' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' + ) + +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql new file mode 100644 index 00000000..0af7d6a2 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql @@ -0,0 +1,103 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota + + + + + + +--select * from C6MartPeriodicoImmobiliare.patrimonio_immobiliare +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Mart Immobiliare' + ) + + TRUNCATE TABLE C6MartPeriodicoImmobiliare.PATRIMONIO_IMMOBILIARE + + + INSERT INTO [C6MartPeriodicoImmobiliare].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + C.RETE, --ALL_PATR_TERZI.RETE_PB AS RETE, + C.COD_FISCALE, --ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + B.DESCRIZIONE, --ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, --b.descrizione + B.TIPOLOGIA, + B.COMUNE AS COMUNE, --ALL_PATR_TERZI.LOCALITA AS LOCALITA, --comune null verificare se corretto + B.codProvincia AS PROVINCIA, --NULL AS PROVINCIA, --provincia + NULL AS CAP, + NULL AS NAZIONE, + B.VALOREIMMOBILETOTALE, + B.RENDITAANNUA, --ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, --renditaAnnua + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + + FROM C6StagingPeriodicoImmobiliare.RP_PATRIMONIOTERZI A + JOIN C6StagingPeriodicoImmobiliare.RP_DETTIMMOBILIARE B + ON A.CHIAVEPRODOTTOTERZI = B.CHIAVEPRODOTTOTERZI + JOIN [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] C + ON A.CHIAVECLIENTEPB = C.CHIAVECLIENTEPB + WHERE A.IDTIPOPRODOTTO = 'IM' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' + ) + +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_TERZI.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_TERZI.sql new file mode 100644 index 00000000..4a3f0254 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_TERZI.sql @@ -0,0 +1,120 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: RP_DM_PATRIMONIO_TERZI + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_PATRIMONIO_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_TERZI', + GETDATE(), + 'Mart Immobiliare' + ) + + TRUNCATE TABLE C6MartPeriodicoImmobiliare.PATRIMONIO_TERZI + + INSERT INTO [C6MartPeriodicoImmobiliare].[PATRIMONIO_TERZI] + ( + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(MAPPING.Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + + --------------------- intervento del 2/3/2018 per gestire ctv e capitale_investito pi grandi del consentito + ---RP_PatrimonioTerzi.ctv AS CTV, + ----RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + case + when RP_PatrimonioTerzi.ctv > 999999999999.00 then 999999999999.00 + else RP_PatrimonioTerzi.ctv + end AS CTV, + + case + when RP_DettProdottiTerzi.capitaleInvestito > 999999999999.00 then 999999999999.00 + else RP_DettProdottiTerzi.capitaleInvestito + end AS VERSATO_NETTO, + + --------------------- fine intervento del 2/3/2018 + + + NULL AS DIV_REGOLAMEN diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PIRAMIDE_MOD.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PIRAMIDE_MOD.sql new file mode 100644 index 00000000..27db118e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_DM_PIRAMIDE_MOD.sql @@ -0,0 +1,130 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: RP_DM_PIRAMIDE_MOD + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[RP_DM_PIRAMIDE_MOD] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PIRAMIDE_MOD', + GETDATE(), + 'Mart Immobiliare' + ) + + TRUNCATE TABLE C6MartPeriodicoImmobiliare.PIRAMIDE_MOD + + INSERT INTO [C6MartPeriodicoImmobiliare].[PIRAMIDE_MOD] + ( + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT + VCONTRATTI.rete AS RETE, + ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE, + rp_pirmod.area AS ID_AREA, + -- 2016-12-02: nomeProgetto sempre presente e differente da NULL + --case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then rp_pirmod.nomeProgetto + -- ELSE NULL END + -- fine + rp_pirmod.nomeProgetto AS NOME_PROGETTO, + case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' + else 'Default' + end AS TIPO_PROGETTO, + rp_pirmod.percentualeProgetto AS PERC_AREA, + ISNULL(Progetto.CTVPROGETTO, MigrazProgetto.CTVPROGETTO) AS CTV_PROGETTO, + NULL AS CTV_AREA, + --convert(int,REPLACE(durata,'anni','')) AS ORIZZ_TEMP_NUM, + Progetto.orizzonteTemporale AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(Progetto.orizzonteTemporale, 0) = 0 THEN '' ELSE + cast(Progetto.orizzonteTemporale as varchar(2)) + ' anni' END AS ORIZZ_TEMP, + --rp_pirmod.durata AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + ISNULL(Progetto.ChiaveProgetto, MigrazProgetto.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_ProgettiPiramideModello AS rp_pirmod +INNER JOIN + [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] vCONTRATTI + ON + rp_pirmod.chiaveClientePB = vCONTRATTI.chiaveClientePB + LEFT JOIN + C6StagingPeriodico.RP_Progetto Progetto + on rp_pirmod.chiaveprogettomod = Progetto.chiaveprogettomod + LEFT JOIN + C6StagingPeriodico.RP_Migraz_Progetto MigrazProgetto + on rp_pirmod.chiaveprogettomod = MigrazProgetto.chiaveprogettomod + AND Progetto.chiaveprogettomod is null + WHERE 1=1 + and rp_pirmod.DtFineValidita > getdate() + -- modifica del 30/11/2016 - il tipoProgetto non pi un campo significativo; ecludo le aree light e void + --and ((rp_pirmod.area = 'Inv') OR (rp_pirmod.area <> 'Inv' and rp_pirmod.tipoProgetto = 0)) + and rp_pirmod.area not in ('LIGHT', 'VOID') + -- fine -- modifica del 30/11/2016 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' + ) + + + +-------------------------------------> modifica del 19/1/2017 per inserire il record di aggregazione per l'area 'Pre' + + + /* + PER OGNI CF MI ESTRAGGO SOLO I RECORD DELL'AREA 'PRE1' E 'PRE2' RINOMINANDOLI diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2.sql new file mode 100644 index 00000000..d91d2932 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2.sql @@ -0,0 +1,71 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: RP_PROM_TuttiIPortafogli2 + + + +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_PROM_TuttiIPortafogli2] + -- Add the parameters for the stored procedure here +AS +BEGIN + +SELECT + -- descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] +FROM ( + + SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6MartPeriodicoImmobiliare].[RP_vTuttiIPortafogli] + + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6MartPeriodicoImmobiliare].[RP_vTuttiIPortafogli_ccLiq] +) T +--where t.codicefiscale <> 'MNTGFR35R06G337T' +--where ((t.rete = 'F' +--and t.codicefiscale > 'KRLPBL79L31Z107U') +--or (t.rete = 'S')) +---------------------------------------------------------------- +-- excluded for T2_L1 and T2_L2 to bypass Prometeia dtsx failure +--where T.codicefiscale = 'BRRNGL37T26F063Y' +---------------------------------------------------------------- + +order by rete,codiceFiscale,Portafoglio + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2_Indicatore.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2_Indicatore.sql new file mode 100644 index 00000000..b90edc14 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2_Indicatore.sql @@ -0,0 +1,120 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: RP_PROM_TuttiIPortafogli2_Indicatore + + + + + +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_PROM_TuttiIPortafogli2_Indicatore] + -- Add the parameters for the stored procedure here +AS +BEGIN + +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + -- ,case + --when [CtvNominale] < 0 then '0.00' + --else convert(varchar(20),[CtvNominale]) + -- end as [CtvNominale] + -- ,case + --when [CtvReale] < 0 then '0.00' + --else convert(varchar(20),[CtvReale]) + -- end as [CtvReale] + --orig: + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + +FROM + +( + + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6MartperiodicoImmobiliare].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + -- and rete+codicefiscale not in + --('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + --'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + --'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--and rete+codicefiscale in (select rete+codfis from consuni.consulenzaunicafl.dbo.immobiliare_richiestemonitoraggiocatastocliente where dtriferimento is null) + +--********************ELIMINARE***************** + --and codicefiscale = 'BRRNGL37T26F063Y' +--********************ELIMINARE***************** + + + UNION + + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6MartperiodicoImmobiliare].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + -- and rete+codicefiscale not in + --('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + --'FTMBCST76M67M082T','FVLIMLL56 diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_SP_PopolaW6IMM.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_SP_PopolaW6IMM.sql new file mode 100644 index 00000000..3c50b3ea --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_SP_PopolaW6IMM.sql @@ -0,0 +1,102 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: SP_PopolaW6IMM + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: Popola la tabella W6IMM per la quadratura semestrale immobiliare +-- ============================================= +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[SP_PopolaW6IMM] + + -- Add the parameters for the stored procedure here + @DataUltimoAggiornamento as varchar(10) + + +AS +BEGIN + + + + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + if (Exists (Select * from c6martperiodicoimmobiliare.W6IMM)) + begin + Delete from c6martperiodicoimmobiliare.W6IMM + end + + Insert into c6martperiodicoimmobiliare.W6IMM + Select + distinct + isnull(cli.rete,'') as rete, + isnull(coalesce(cli.codFis, cli.pIva),'') as codfis, + + isnull(cli.codiceContratto,'') as contratto, + + case + when (cli.StatoContratto in ('BASE')) then 'BASE' else 'SEI' end as TIPCONS, + + case + when (srv.chiaveservizioAggiuntivo = 1) then 'SI' else 'NO' end as SERVAGG, + + case + when (srv.flagattivo=1) then 'ATTIVO' else 'non attivo' END AS ADDIMM, + + keyimport.statoImportazione as StatoImportazione, + '', + '', + '' + from [CONSUNI_periodico].[ConsulenzaUnica].dbo.vInfoCliente CLI + left outer join [CONSUNI_periodico].[ConsulenzaUnica].dbo.v_servizi_aggiuntivi srv on CLI.chiaveClientePB=srv.chiaveclientepb and srv.chiaveServizioAggiuntivo = 1 and srv.flagattivo = 1 + inner join ( + select distinct s.chiaveImportazione,i.statoImportazione, s.chiaveClientePB + from [CONSUNI_periodico].[ConsulenzaUnica].[dbo].[PatrimonioImmobiliareStaging] s inner join [CONSUNI_periodico].[ConsulenzaUnicaFL].dbo.Immobiliare_Cliente i on s.chiaveImportazione=i.chiaveImportazione + where chiaveProdottoTerzi IN ( + select chiaveProdottoTerzi from [CONSUNI_periodico].[ConsulenzaUnica].dbo.PatrimonioTerzi where idTipoProdotto='IM' AND idImmobileCatasto IS NOT NULL and dtfinevalidita='9999-12-31 00:00:00.000') + and dtUltimoAggiornamento < convert(datetime,'2024-03-31') ) keyimport on keyimport.chiaveClientePB=cli.chiaveClientePB + where StatoContratto IN ('SEI','AVANZATOBASE','BASE') + + + + +--Prima di avviare la proc controllare se non vi siano clienti che abbiano lo statoimportazione a Deleted e l'addimm attivo. In quel caso ricordarsi di lanciare l'update fornito da Giuseppe + + + /*********** Vecchie Versioni *****************/ + + --SELECT + -- distinct + -- isnull(cli.rete,''), + -- isnull(coalesce(cli.codFis, cli.pIva),'') as codfis, + -- isnull(con.codiceContratto,''), + + -- case + -- when (cli.StatoContratto in ('BASE')) then 'BASE' else 'SEI' end as TIPCONS, + + -- case + -- when (srv.chiaveservizioAggiuntivo = 1) then 'SI' else 'NO' end as SERVAGG, + + -- case + -- when (srv.flagattivo=1) then 'ATTIVO' else 'non attivo' END AS ADDIMM, + -- --cli.CognomeCliente, + -- --cli.CognomeCliente, + -- --cli.NomeCliente, + -- --cli.Agente, + -- --cli.CognomePb, + -- --cli.NomePb, + -- --cli.codman, + -- --srv.descrizione, + -- --srv.dataAttivazione, + -- --srv.dataRevoca, + -- --srv.flagattivo, + -- --srv.ctr_immobili AS tot_immobili, + -- --srv.ctr_cli_mon_imm, + -- --(select count(*) count_immobili_da_catasto from PatrimonioTerzi pt where idTipoProdotto='IM' AND idImmobileCatasto IS NOT NULL AND pt.chiaveClientePB=cli.chiaveClientePB AND dtfinevalidita ='9999-12-31 00:00:00.000' GROUP BY chiaveClientePB) Imm_catasto, + -- --(select count(*) count_immobili_manuali from PatrimonioTerzi pt where idTipoProdotto='IM' AND idImmobileCatasto IS NULL AND pt.chiaveClientePB=cli.chiaveClientePB AND dtfinevalidita ='9999-12-31 00:00:00.000' GROUP BY chiaveClientePB) Imm_manuali, + -- isnull((select statoImportazione from [CONSUNI].[ConsulenzaUnicaFL].dbo.Immobiliare_Cliente rpt where rpt.dtUltimoAggiornamento < convert(datetime, diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_SP_Valorizza_Stati_semaforo_IMM.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_SP_Valorizza_Stati_semaforo_IMM.sql new file mode 100644 index 00000000..cb5fc8c4 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_SP_Valorizza_Stati_semaforo_IMM.sql @@ -0,0 +1,105 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: SP_Valorizza_Stati_semaforo_IMM + + + + + + + + +-- flag_stato=1 completato (verde) +-- flag_stato=2 in esecuzione (giallo) +-- flag_stato=3 non lavorato (rosso) + +--truncate table C6MartPeriodicoImmobiliare.tab_semaforo + +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_TRIM quad_end,SEI + + --select * from C6MartPeriodicoImmobiliare.tab_semaforo +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[SP_Valorizza_Stati_semaforo_IMM] @param1 varchar(20),@tipo varchar(20) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + declare + @intero int, + @semestrale varchar(3), + @lotto varchar(3), + @testi_statici varchar(3), + --@lotto_zero varchar(3), + @omi varchar(3), + @richiesta_catasto varchar(3), + @richiesta_rischio varchar(3), + @Generazione_Invio_PDF varchar(3), + + + --descrizioni + @desc_semestrale varchar(256), + @desc_testi_statici varchar(256), + @desc_lotto varchar(256), + @desc_omi varchar(256), + @desc_richiesta_catasto varchar(256), + @desc_richiesta_rischio varchar(256), + @desc_Generazione_Invio_PDF varchar(256) + + + set @intero='0' + set @semestrale='1' + --set @lotto='2' + set @testi_statici='2' + set @omi='3' + set @richiesta_catasto='4' + set @richiesta_rischio='5' + --set @adeguatezza='7' + --set @post_ade='8' + set @Generazione_Invio_PDF='6' + + + set @desc_semestrale='Rendicontazioni sugli investimenti per i clienti con contratto di consulenza "IMMOBILIARI". ' + set @desc_testi_statici='Fase dei testi statici.' + set @desc_lotto='Preparazione delle rendicontazioni in corso.' + set @desc_omi='Fase di omi per il database di marketing.' + set @desc_richiesta_catasto='Fase di Richiesta al Catasto' + set @desc_richiesta_rischio='Fase di Richiesta del Rischio.' + set @desc_Generazione_Invio_PDF='Generazione e Invio PDF.' + + + + + --select * from C6MartPeriodicoImmobiliare.tab_semaforo + + --inserimento + --select * from C6MartPeriodicoImmobiliare.tab_semaforo + --insert into C6MartPeriodicoImmobiliare.tab_semaforo values + --avvio_trimestre + + --update C6MartPeriodicoImmobiliare.tab_semaforo + --set descrizione='Fase di omi per il database di marketing' + --from C6MartPeriodicoImmobiliare.tab_semaforo + --where id_milestone=4 +if ((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo)=0) +begin +insert into C6MartPeriodicoImmobiliare.tab_semaforo values +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@semestrale,'SEMESTRALE',@desc_semestrale,'','',3,@intero,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@lotto_zero,'LOTTO 0','','','',3,@intero,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@lotto,'LOTTO',@desc_lotto,'','',3,@intero+1,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@testi_statici,'TESTI STATICI',@desc_testi_statici,'','',3,@intero,'','',0), + +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@omi,'OMI',@desc_omi,'','',3,@intero,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@richiesta_catasto,'RICHIESTA CATASTO',@desc_richiesta_catasto,'','',3,@intero,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@richiesta_rischio,'RICHIESTA RISCHIO',@desc_richiesta_rischio,'','',3,@intero,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@adeguatezza,'ADEGUATEZZA'+' '+ cast(@intero+1 as varchar),'','','',3,@intero+1), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@post_ade,'POST_ADE'+' '+ cast(@intero+1 as varchar),'','','',3,@intero+1), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@Generazione_Invio_PDF,'GENERAZIONE E INVIO PDF',@desc_Generazione_Invio_PDF,'','',3,@intero,'','',0) +end + +--insert into C6MartPeriodicoImmobiliare.tab_semaforo values +--([C6MartPeriodicoImmobil diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_UpdateDateReport_Immobiliare_GestionePDF.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_UpdateDateReport_Immobiliare_GestionePDF.sql new file mode 100644 index 00000000..23eae183 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_UpdateDateReport_Immobiliare_GestionePDF.sql @@ -0,0 +1,78 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: UpdateDateReport_Immobiliare_GestionePDF + +-- ================================================================================== +-- Author: +-- Create date: <27.02.2019> +-- Description: +-- ================================================================================== + + +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[UpdateDateReport_Immobiliare_GestionePDF] + @IdReport int , + @DataReport datetime, + @DataReportUpdate datetime, + @DataZip datetime, + @DataZipUpdate datetime, + @DataInvio datetime, + @DataInvioUpdate datetime, + @NomeFile varchar(50), + @IdZip int , + + @Return int OUTPUT + +WITH EXEC AS CALLER +AS + +/* +SP Body Comment +*/ + + BEGIN TRANSACTION + BEGIN TRY + + IF @IDZip > 0 + BEGIN + UPDATE [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF] + SET + [DataReport] = @DataReport, + [DataReportUpdate] = @DataReportUpdate, + [DataZip] = @DataZip, + [DataZipUpdate] = @DataZipUpdate, + [DataInvio] = @DataInvio, + [DataInvioUpdate] = @DataInvioUpdate, + [NomeFile] = @NomeFile, + [IDZip] = @IdZip + + WHERE [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF].[IDReport] = @IdReport + Set @Return=1; + END + ELSE + BEGIN + UPDATE [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF] + SET + [DataReport] = @DataReport, + [DataReportUpdate] = @DataReportUpdate, + [DataZip] = @DataZip, + [DataZipUpdate] = @DataZipUpdate, + [DataInvio] = @DataInvio, + [DataInvioUpdate] = @DataInvioUpdate, + [NomeFile] = @NomeFile + + WHERE [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF].[IDReport] = @IdReport + Set @Return=1; + END + END TRY + + BEGIN CATCH + IF ERROR_NUMBER()=2601 + BEGIN + IF @@TRANCOUNT > 0 + ROLLBACK TRANSACTION; + Set @Return=-2601; + + END + END CATCH + + IF @@TRANCOUNT > 0 + COMMIT TRANSACTION; diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_Update_Immobiliare_GestioneZIP.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_Update_Immobiliare_GestioneZIP.sql new file mode 100644 index 00000000..b32a7833 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_Update_Immobiliare_GestioneZIP.sql @@ -0,0 +1,57 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: Update_Immobiliare_GestioneZIP + +-- ================================================================================== +-- Author: +-- Create date: <27.02.2019> +-- Description: +-- ================================================================================== + + +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[Update_Immobiliare_GestioneZIP] + @IdZip int , + @DataInvio datetime, + @FlagInvio varchar(1), + + @Return int OUTPUT + +WITH EXEC AS CALLER +AS + +/* +SP Body Comment +*/ + + BEGIN TRANSACTION + BEGIN TRY + + UPDATE [C6MartPeriodicoImmobiliare].[Immobiliare_GestioneZIP] + SET + [DataInvio] = @DataInvio, + [FlagInvio] = @FlagInvio + + WHERE [C6MartPeriodicoImmobiliare].[Immobiliare_GestioneZIP].[IDZip] = @IdZip + + UPDATE [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF] + SET + [DataInvio] = @DataInvio, + [FlagInvio] = @FlagInvio + + WHERE [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF].[IDZip] = @IdZip + + Set @Return=1; + + END TRY + + BEGIN CATCH + IF ERROR_NUMBER()=2601 + BEGIN + IF @@TRANCOUNT > 0 + ROLLBACK TRANSACTION; + Set @Return=-2601; + + END + END CATCH + + IF @@TRANCOUNT > 0 + COMMIT TRANSACTION; diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_getRichiesteMonitoraggioCatastoCliente.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_getRichiesteMonitoraggioCatastoCliente.sql new file mode 100644 index 00000000..cd95a9be --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_getRichiesteMonitoraggioCatastoCliente.sql @@ -0,0 +1,25 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: getRichiesteMonitoraggioCatastoCliente + +create PROCEDURE [C6MartPeriodicoImmobiliare].[getRichiesteMonitoraggioCatastoCliente] + @rete varchar(1), + @agente varchar(255), + @codFis varchar(16) +AS + +BEGIN + declare @exit_status numeric + + set @exit_status = 0 + + SELECT * FROM CONSUNI.ConsulenzaUnicaFL.dbo.Immobiliare_RichiesteMonitoraggioCatastoCliente + WHERE rete = @rete + AND agente = @agente + AND codFis = @codFis + AND dtRiferimento IS NULL + + set @exit_status = @@ROWCOUNT + + return @exit_status + +END diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_insertRichiesteMonitoraggioCatastoCliente.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_insertRichiesteMonitoraggioCatastoCliente.sql new file mode 100644 index 00000000..03507f88 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_insertRichiesteMonitoraggioCatastoCliente.sql @@ -0,0 +1,61 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: insertRichiesteMonitoraggioCatastoCliente + +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[insertRichiesteMonitoraggioCatastoCliente] + @rete varchar(1), + @agente varchar(255), + @agenteCognome varchar(255), + @agenteNome varchar(255), + @codFis varchar(16), + @nomeCliente varchar(255), + @cognomeCliente varchar(255) + +AS +BEGIN +declare @exit_status numeric + +BEGIN TRY +begin transaction +set @exit_status = 0 + +INSERT INTO CONSUNI.ConsulenzaUnicaFL.dbo.Immobiliare_RichiesteMonitoraggioCatastoCliente( + rete + ,agente + ,agenteCognome + ,agenteNome + ,codFis + ,cognomeCliente + ,nomeCliente + ,dtElabRichiestaCatasto + ,dtElabRicezioneCatasto + ,dtElabRichiestaRischio + ,dtElabRicezioneRischio + ,utente +) VALUES ( + @rete + ,@agente + ,@agenteCognome + ,@agenteNome + ,@codFis + ,@cognomeCliente + ,@nomeCliente + ,NULL + ,NULL + ,NULL + ,NULL + ,NULL +) + +set @exit_status = @@ROWCOUNT +commit transaction + +END TRY + +BEGIN CATCH +rollback transaction + set @exit_status = 0 + +END CATCH + return @exit_status + +END diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_sp_caricaBlacklist.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_sp_caricaBlacklist.sql new file mode 100644 index 00000000..b3277414 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_sp_caricaBlacklist.sql @@ -0,0 +1,39 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: sp_caricaBlacklist + + + + +-- Stored procedure + +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[sp_caricaBlacklist] + +AS +BEGIN + + + Declare @dtTrime as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + + truncate table C6MartPeriodicoImmobiliare.blacklist + + insert into C6MartPeriodicoImmobiliare.blacklist + select + [Rete] + ,case when codman <> '' then 'FF@' + CODMAN + when len(codfis)=11 then NULL else codfis end as codiceFiscale + ,case when LEN(codfis) =11 and codman='' then codfis else NULL end as Piva + ,case when codman<>'' then codman else NULL end as Codman + ,case when tipolett = '2' then 'BLACKLIST RFA MINUS CLIENTE SEI E IMMOBILIARE' + when tipolett = '1' then 'BLACKLIST RFA MINUS CLIENTE IMMOBILIARE' END AS DescrErr + ,getdate() as [DataIns] + -- ,1 as [Bloccato] +from c6stagingPeriodico.wseidc +where dttrim = @dtTrime and (tipolett='2' or TIPOLETT='1') + +exec [C6MartPeriodicoImmobiliare].[Blacklist_Blocco_Tabellone] 'blocco' --aggiorna tabellone + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_start_email_Testi_Statici_tabellone.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_start_email_Testi_Statici_tabellone.sql new file mode 100644 index 00000000..6932e241 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_start_email_Testi_Statici_tabellone.sql @@ -0,0 +1,20 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: start_email_Testi_Statici_tabellone + + + + + + +CREATE procedure [C6MartPeriodicoImmobiliare].[start_email_Testi_Statici_tabellone] as +begin +insert into C6MartPeriodico.selettore values +(8,getdate(),'Invio Email Testi Statici Immobiliare') + +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; + +end + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_start_email_Zipping_tabellone.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_start_email_Zipping_tabellone.sql new file mode 100644 index 00000000..a27ae68d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_start_email_Zipping_tabellone.sql @@ -0,0 +1,20 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: start_email_Zipping_tabellone + + + + + + +create procedure [C6MartPeriodicoImmobiliare].[start_email_Zipping_tabellone] as +begin +insert into C6MartPeriodico.selettore values +(9,getdate(),'Invio Email Zipping Immobiliare') + +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; + +end + + + + diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_updateRichiesteMonitoraggioCatastoClienteCong.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_updateRichiesteMonitoraggioCatastoClienteCong.sql new file mode 100644 index 00000000..f40c349f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_updateRichiesteMonitoraggioCatastoClienteCong.sql @@ -0,0 +1,32 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: updateRichiesteMonitoraggioCatastoClienteCong + +create PROCEDURE [C6MartPeriodicoImmobiliare].[updateRichiesteMonitoraggioCatastoClienteCong] + @chiaveRichiesta int, + @rete varchar(1), + @codFis varchar(16), + @rfa decimal(19,7), + @diversificazione decimal(19,7), + @var decimal(19,7), + @dtRiferimento varchar(8) + +AS +BEGIN +declare @exit_status numeric + + begin transaction + set @exit_status = 0 + + UPDATE CONSUNI.ConsulenzaUnicaFL.dbo.Immobiliare_RichiesteMonitoraggioCatastoCliente + SET + rfa = @rfa + ,diversificazione = @diversificazione + ,[var] = @var + ,dtRiferimento = @dtRiferimento + + WHERE rete = @rete AND codfis = @codFis AND chiaveRichiesta = @chiaveRichiesta + + set @exit_status = @@ROWCOUNT + commit transaction + +END diff --git a/sql/storedCollaudo/C6MartPeriodicoImmobiliare_updateRichiesteMonitoraggioCatastoClienteProd.sql b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_updateRichiesteMonitoraggioCatastoClienteProd.sql new file mode 100644 index 00000000..c611226e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodicoImmobiliare_updateRichiesteMonitoraggioCatastoClienteProd.sql @@ -0,0 +1,40 @@ +-- Schema: C6MartPeriodicoImmobiliare +-- Stored Procedure: updateRichiesteMonitoraggioCatastoClienteProd + +create PROCEDURE [C6MartPeriodicoImmobiliare].[updateRichiesteMonitoraggioCatastoClienteProd] + @rete varchar(1), + @codFis varchar(16), + @rfa decimal(19,7), + @diversificazione decimal(19,7), + @var decimal(19,7), + @dtRiferimento varchar(8) + +AS +BEGIN +declare @exit_status numeric + +BEGIN TRY +begin transaction +set @exit_status = 0 + +UPDATE CONSUNI.ConsulenzaUnicaFL.dbo.Immobiliare_RichiesteMonitoraggioCatastoCliente +SET + rfa = @rfa + ,diversificazione = @diversificazione + ,[var] = @var + +WHERE rete = @rete AND codfis = @codFis AND dtRiferimento = @dtRiferimento + +set @exit_status = @@ROWCOUNT +commit transaction + +END TRY + +BEGIN CATCH +rollback transaction + set @exit_status = 0 + +END CATCH + return @exit_status + +END diff --git a/sql/storedCollaudo/C6MartPeriodico_AGGIORNA_NUMERO_PAGINE.sql b/sql/storedCollaudo/C6MartPeriodico_AGGIORNA_NUMERO_PAGINE.sql new file mode 100644 index 00000000..25d5777f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_AGGIORNA_NUMERO_PAGINE.sql @@ -0,0 +1,25 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: AGGIORNA_NUMERO_PAGINE + + + +CREATE procedure [C6MartPeriodico].[AGGIORNA_NUMERO_PAGINE] +( + @rete varchar(1), + @codicefiscale varchar(20), + @idreport int, + @incremento int +) +as +begin + + update c6martperiodico.gestione_pdf_ftp + set numeroPagine = numeroPagine + @incremento + where + rete = @rete + and + codicefiscale = @CodiceFiscale + and + IdReport = @IdReport +end + diff --git a/sql/storedCollaudo/C6MartPeriodico_AL_AggiornaPortafoglioCliente.sql b/sql/storedCollaudo/C6MartPeriodico_AL_AggiornaPortafoglioCliente.sql new file mode 100644 index 00000000..119726e0 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_AL_AggiornaPortafoglioCliente.sql @@ -0,0 +1,68 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: AL_AggiornaPortafoglioCliente + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[AL_AggiornaPortafoglioCliente] +AS +BEGIN + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'AL_AggiornaPortafoglioCliente', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[PIRAMIDE_VERT] + + --CALCOLO AGGREGATI + INSERT INTO [C6MartPeriodico].[PIRAMIDE_VERT] + ( + RETE, + COD_FISCALE, + ID_AREA, + CTV_AREA/*, + ID_ELAB*/ + ) + SELECT + PATR.RETE, + PATR.COD_FISCALE, + PATR.ID_AREA, + SUM(CTV)/*, + ID_ELAB*/ + FROM [C6MartPeriodico].[PATRIMONIO_BF] PATR + GROUP BY + PATR.RETE, + PATR.COD_FISCALE, + PATR.ID_AREA/*, + PATR.ID_ELAB*/ + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'AL_AggiornaPortafoglioCliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'AL_AggiornaPortafoglioCliente' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_AL_AggiornaPortafoglioCliente_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_AL_AggiornaPortafoglioCliente_pre_selective.sql new file mode 100644 index 00000000..02038bd1 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_AL_AggiornaPortafoglioCliente_pre_selective.sql @@ -0,0 +1,65 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: AL_AggiornaPortafoglioCliente_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[AL_AggiornaPortafoglioCliente_pre_selective] +AS +BEGIN + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'AL_AggiornaPortafoglioCliente_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[PIRAMIDE_VERT] + + --CALCOLO AGGREGATI + INSERT INTO [C6MartPeriodico].[PIRAMIDE_VERT] + ( + RETE, + COD_FISCALE, + ID_AREA, + CTV_AREA/*, + ID_ELAB*/ + ) + SELECT + PATR.RETE, + PATR.COD_FISCALE, + PATR.ID_AREA, + SUM(CTV)/*, + ID_ELAB*/ + FROM [C6MartPeriodico].[PATRIMONIO_BF] PATR + GROUP BY + PATR.RETE, + PATR.COD_FISCALE, + PATR.ID_AREA/*, + PATR.ID_ELAB*/ + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'AL_AggiornaPortafoglioCliente_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'AL_AggiornaPortafoglioCliente_pre_selective' + ) + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_AggiornaFlagRolContrattoSei.sql b/sql/storedCollaudo/C6MartPeriodico_AggiornaFlagRolContrattoSei.sql new file mode 100644 index 00000000..cab9d7d8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_AggiornaFlagRolContrattoSei.sql @@ -0,0 +1,26 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: AggiornaFlagRolContrattoSei + + +CREATE procedure [C6MartPeriodico].[AggiornaFlagRolContrattoSei] + +AS +BEGIN + +-- Allineamento Flag Rol su contratto sei + +Update C6MartPeriodico.ContrattoSei +Set Rol = Case D.statorol + When 'S' then D.statorol + Else 'N' + End, + EmAil = Case d.alertrol + When 'S' then D.Email + End +from C6MartPeriodico.ContrattoSei C inner join C6StagingPeriodico.datiRol2 D +on d.codContratto = c.codiceContratto + + +End + + diff --git a/sql/storedCollaudo/C6MartPeriodico_AggiornamentoDisponibilitaReport.sql b/sql/storedCollaudo/C6MartPeriodico_AggiornamentoDisponibilitaReport.sql new file mode 100644 index 00000000..02efa58c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_AggiornamentoDisponibilitaReport.sql @@ -0,0 +1,60 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: AggiornamentoDisponibilitaReport + + + + + +-- Stored procedure +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 16/01/2014 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[AggiornamentoDisponibilitaReport] +AS +BEGIN + + SET NOCOUNT ON; + + + +Update rep +set rep.flagDefinitivo = 1 +from [10.10.33.175\i1].[SEIReport].[dbo].[RepositoryMetadati] rep +inner join + ( +select idReport +from c6martperiodico.gestione_pdf_ftp a +join +c6martperiodico.controllo_trimestrale b +on a.rete = b.rete and a.codiceFiscale = b.cod_fiscale +and idreport<> identityreport +where stato_report = 8 ) pdf +on idInRepository = idreport +and rep.flagDefinitivo = 0 + + + + +--old Upd + +--Update [10.10.33.175\I1].Seireport.dbo.repositoryMetadati +--set flagDefinitivo = 1 +--where idInRepository in ( +--select idReport +--from c6martperiodico.gestione_pdf_ftp a +--join +--c6martperiodico.controllo_trimestrale b +--on a.rete = b.rete and a.codiceFiscale = b.cod_fiscale +--where stato_report = 8 +--) +--and flagDefinitivo = 0 + + + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_AppRendTabReader.sql b/sql/storedCollaudo/C6MartPeriodico_AppRendTabReader.sql new file mode 100644 index 00000000..9bc2e06c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_AppRendTabReader.sql @@ -0,0 +1,23 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: AppRendTabReader + + + + + + +CREATE procedure [C6MartPeriodico].[AppRendTabReader] + @ColumnSql varchar(5000), + @whereSql varchar(5000) +AS +BEGIN +DECLARE @mywhere varchar(4000); +DECLARE @myselect varchar(5000); +DECLARE @mystmt varchar(5000); +SET @myselect = ' SELECT '+ @ColumnSql; +--SET @myselect = ' SELECT TOP(3000)* '; +SET @mywhere = ' WHERE '+ @whereSql; +SET @mystmt = @myselect + ' FROM [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] ' + @mywhere + 'order by codice_fiscale'; +EXEC( @mystmt ) +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_AppRendTabReader_bl.sql b/sql/storedCollaudo/C6MartPeriodico_AppRendTabReader_bl.sql new file mode 100644 index 00000000..7288d7e4 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_AppRendTabReader_bl.sql @@ -0,0 +1,21 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: AppRendTabReader_bl + + + + +CREATE procedure [C6MartPeriodico].[AppRendTabReader_bl] + @ColumnSql varchar(5000), + @motivo varchar(5000) +AS +BEGIN +DECLARE @mywhere varchar(4000); +DECLARE @myselect varchar(1000); +DECLARE @mystmt varchar(5000); +SET @myselect = ' SELECT '+ @ColumnSql; +SET @mywhere = ' WHERE codice_fiscale in (select codicefiscale FROM [C6StampeCentralizzate].[C6MartPeriodico].[ExcludedList]" + + " WHERE [DescrErr] = '''+@motivo+''')'; +SET @mystmt = @myselect + ' FROM [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] ' + @mywhere ; +EXEC( @mystmt ) +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_BONIFICA_WSEIUL.sql b/sql/storedCollaudo/C6MartPeriodico_BONIFICA_WSEIUL.sql new file mode 100644 index 00000000..e34a474c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_BONIFICA_WSEIUL.sql @@ -0,0 +1,75 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: BONIFICA_WSEIUL + + + + +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +-- NUOVA STORED PER INTERVENTO MIGRAZIONE ASU3 + +CREATE procedure [C6MartPeriodico].[BONIFICA_WSEIUL] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'BONIFICA_WSEIUL', + GETDATE(), + 'Elaborazione trimestrale' + ) + +-- Bonifica effettuata nell'ambito della migrazione di alcuni prodotti alla tipologia ASU3: +-- per tali prodotti, nel campo ISIN la replica DB2 fornisce il valore del sottoprodotto +-- in quanto nel campo SUBPROD stata impostata la Linea (al processo di Trimestrale l'informazione +-- del sottoprodotto non necessaria mentre necessario ripulire il campo ISIN utilizzato esclusivamente +-- per i prodotti SKANDIA + + UPDATE C6STAGINGPERIODICO.WSEIUL + SET ISIN = '' + /* 20161220 introdotto nuovo prodotto con codint = RE */ + WHERE CODINT in ('RM','RS','RB','RV','RE') + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'BONIFICA_WSEIUL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'BONIFICA_WSEIUL' + ) + +--grant execute on [C6MartPeriodico].[BONIFICA_WSEIUL] to public + +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_BONIFICA_WSEIUL_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_BONIFICA_WSEIUL_pre_selective.sql new file mode 100644 index 00000000..3ab2092e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_BONIFICA_WSEIUL_pre_selective.sql @@ -0,0 +1,73 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: BONIFICA_WSEIUL_pre_selective + + + +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +-- NUOVA STORED PER INTERVENTO MIGRAZIONE ASU3 + +CREATE procedure [C6MartPeriodico].[BONIFICA_WSEIUL_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'BONIFICA_WSEIUL_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + +-- Bonifica effettuata nell'ambito della migrazione di alcuni prodotti alla tipologia ASU3: +-- per tali prodotti, nel campo ISIN la replica DB2 fornisce il valore del sottoprodotto +-- in quanto nel campo SUBPROD stata impostata la Linea (al processo di Trimestrale l'informazione +-- del sottoprodotto non necessaria mentre necessario ripulire il campo ISIN utilizzato esclusivamente +-- per i prodotti SKANDIA + + UPDATE C6STAGINGPERIODICO.WSEIUL + SET ISIN = '' + /* 20161220 introdotto nuovo prodotto con codint = RE */ + WHERE CODINT in ('RM','RS','RB','RV','RE') + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'BONIFICA_WSEIUL_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'BONIFICA_WSEIUL_pre_selective' + ) + +--grant execute on [C6MartPeriodico].[BONIFICA_WSEIUL_pre_selective] to public + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_Blacklist_Blocco_Tabellone.sql b/sql/storedCollaudo/C6MartPeriodico_Blacklist_Blocco_Tabellone.sql new file mode 100644 index 00000000..5f69a40b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Blacklist_Blocco_Tabellone.sql @@ -0,0 +1,105 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Blacklist_Blocco_Tabellone + + + + + +CREATE procedure [C6MartPeriodico].[Blacklist_Blocco_Tabellone] +@param1 varchar(20) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + +-- [C6MartPeriodico].[Blacklist_Blocco_Tabellone] Blocco +-- [C6MartPeriodico].[Blacklist_Blocco_Tabellone] SBlocco +--select * from c6martperiodico.tabellone where blacklist is not null +--select * from C6MartPeriodico.ExcludedList +--select * from C6MartPeriodico.ExcludedList_testing +-- +--select * from c6martperiodico.tabellone where codice_fiscale='BBBMRA56T09L736R' + +--select * from C6MartPeriodico.ExcludedList where codicefiscale='FRILXA72T04H501R' + + + +--select codicefiscale,COUNT(*) from C6MartPeriodico.ExcludedList group by codicefiscale having COUNT(*)>1 + +--insert into C6MartPeriodico.ExcludedList +--values ('F','BBBMRA56T09L736R','TestF',GETDATE(),1), +--('F','BBBMRA56T09L736R','TestB',GETDATE(),1), +--('F','BBBMRA56T09L736R','TestC',GETDATE(),1), +--('F','BBBMRA56T09L736R','TestF',GETDATE(),1) +----delete from C6MartPeriodico.ExcludedList where DescrErr='TestC' +if (@param1='BLOCCO') +begin +drop table if exists #riunisco +drop table if exists #rimuovoduplicati + +update C6MartPeriodico.tabellone +set blacklist=NULL + + +select distinct rete,codicefiscale,DescrErr +into #rimuovoduplicati +from C6MartPeriodico.ExcludedList + +SELECT rete,codicefiscale,STRING_AGG( ISNULL(DescrErr, ' '), ',') As descrerr + into #riunisco + From #rimuovoduplicati group by rete,codicefiscale + +update C6MartPeriodico.tabellone +set blacklist=r.descrerr +from #riunisco r inner join C6MartPeriodico.tabellone t +on t.chiave_acn=r.Rete+r.codicefiscale + +update C6MartPeriodico.tabellone +set lettera_sost='S' +where blacklist like '%sostitutiva%' +end + + + +if (@param1='SBLOCCO') +begin +update C6MartPeriodico.tabellone +set blacklist=NULL + +drop table if exists #riunisco1 +drop table if exists #rimuovoduplicati1 + + +select distinct rete,codicefiscale,DescrErr +into #rimuovoduplicati1 +from C6MartPeriodico.ExcludedList + +SELECT rete,codicefiscale,STRING_AGG( ISNULL(DescrErr, ' '), ',') As descrerr + into #riunisco1 + From #rimuovoduplicati1 group by rete,codicefiscale + +update C6MartPeriodico.tabellone +set blacklist=r.descrerr +from #riunisco1 r inner join C6MartPeriodico.tabellone t +on t.chiave_acn=r.Rete+r.codicefiscale + +update C6MartPeriodico.tabellone +set lettera_sost='S' +where blacklist like '%sostitutiva%' +end + +--update C6MartPeriodico.tabellone +----set inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +--set blacklist=case when blacklist = exc.descrErr then REPLACE(blacklist,exc.DescrErr,'') else blacklist end +--from C6MartPeriodico.ExcludedList_testing exc +--where chiave_acn=exc.rete+exc.codicefiscale and exc.DescrErr<>'SEGNALAZIONE_VP' +--end + +--select chiave_acn,value from C6MartPeriodico.tabellone +--CROSS APPLY STRING_SPLIT(blacklist, ',') + +--select * from C6MartPeriodico.motivazioni_blacklist + + +end + diff --git a/sql/storedCollaudo/C6MartPeriodico_Blocco_Blacklist_AppRendicontazione.sql b/sql/storedCollaudo/C6MartPeriodico_Blocco_Blacklist_AppRendicontazione.sql new file mode 100644 index 00000000..72c64127 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Blocco_Blacklist_AppRendicontazione.sql @@ -0,0 +1,55 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Blocco_Blacklist_AppRendicontazione + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[Blocco_Blacklist_AppRendicontazione] +as +begin + --select * + --from C6MartPeriodico.ExcludedList_testing + --where DescrErr='Segnalazione_VP' + + --select * from C6MartPeriodico.ExcludedList + + + if((select COUNT(*) from C6MartPeriodico.ExcludedList_sblocco where DescrErr like '%VP%' )<>0) + begin + delete from C6MartPeriodico.ExcludedList where DescrErr like '%VP%' + + insert into C6MartPeriodico.ExcludedList + select * from C6MartPeriodico.ExcludedList_sblocco + where DescrErr like '%VP%' + + end + + delete from C6MartPeriodico.ExcludedList where Rete+codicefiscale+DescrErr in( + select Rete+codicefiscale+DescrErr + from C6MartPeriodico.ExcludedList_sblocco + where DescrErr not like '%Segnalazione_VP%' OR DescrErr not like '%Blacklist VP%' or DescrErr not like '%DESCR_ANOM_VP%' + ) + --aggiunta 23/08/2022 per gestire lo svuotamento di tutti i cf con descrizione='DESCR_ANOM_VP' + + if((select count(*) from C6MartPeriodico.ExcludedList_sblocco where DescrErr='XXXXXXXXXXXXXXXX')>0) --cio se presente una riga con questa motivazione + begin + delete from C6MartPeriodico.ExcludedList where DescrErr like '%DESCR_ANOM_VP%' + end + --fine aggiunta + insert into C6MartPeriodico.Sblocco_Blacklist + select rete,codicefiscale,DescrErr,DataIns,Bloccato from C6MartPeriodico.ExcludedList_sblocco --serve per avere una storia di tutte le operazioni fatte ma inutile + + truncate table C6MartPeriodico.ExcludedList_sblocco + end + diff --git a/sql/storedCollaudo/C6MartPeriodico_BonificaDataQuality.sql b/sql/storedCollaudo/C6MartPeriodico_BonificaDataQuality.sql new file mode 100644 index 00000000..e0d0ca1c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_BonificaDataQuality.sql @@ -0,0 +1,68 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: BonificaDataQuality + + + + + + + +CREATE procedure [C6MartPeriodico].[BonificaDataQuality] +as + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'BonificaDataQuality', + GETDATE(), + 'Elaborazione trimestrale' + ) +--1) copia + +exec [dbo].[CreaTabellaBackUp] 'tb_SegnalazioniDataQuality','C6MartPeriodico','preBonifica' +--SELECT * into [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality_2018mmdd _preBonifica +--FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] + +--2) metto in tabella temporanea la nuova tabella bonificata +SELECT q.* +into #appo + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] q + left join c6stagingperiodico.appo_contratti_limiter limit + on limit.cod_fiscale = q.codicefiscale and limit.rete = q.rete + where limit.cod_fiscale is not null or 0 = (select count(*) from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] with (nolock)) + +--3) cancello la tabella attuale +truncate table [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] + +--4) la ricreo bonificata +insert into [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] + ([idTipoControllo] + ,[rete] + ,[codiceFiscale] + ,[descSegnalazione] + ,[idElaborazione] + ,[richiesta] + ,[idFaseElaborazione] + ,[dataInserimento]) +select [idTipoControllo],[rete],[codiceFiscale],[descSegnalazione],[idElaborazione],[richiesta],[idFaseElaborazione],[dataInserimento] from #appo + +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'BonificaDataQuality' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'BonificaDataQuality' + ) + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_CHECK_AGGIORNA_ERRORI_GENERAZIONE.sql b/sql/storedCollaudo/C6MartPeriodico_CHECK_AGGIORNA_ERRORI_GENERAZIONE.sql new file mode 100644 index 00000000..ef332ffe --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CHECK_AGGIORNA_ERRORI_GENERAZIONE.sql @@ -0,0 +1,18 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CHECK_AGGIORNA_ERRORI_GENERAZIONE + + +CREATE procedure [C6MartPeriodico].[CHECK_AGGIORNA_ERRORI_GENERAZIONE] AS BEGIN + + UPDATE + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE + SET + STATO_REPORT = 11, + DATA_TRANSIZIONE = GETDATE() + WHERE + STATO_REPORT IN (1,10) + AND RETE+COD_FISCALE IN + (SELECT RETE+COD_FISCALE FROM C6MARTPERIODICO.SCARTI) + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_CHECK_CTV_PER_NEEDAREA_PER_CLIENT.sql b/sql/storedCollaudo/C6MartPeriodico_CHECK_CTV_PER_NEEDAREA_PER_CLIENT.sql new file mode 100644 index 00000000..a6c7a1c5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CHECK_CTV_PER_NEEDAREA_PER_CLIENT.sql @@ -0,0 +1,148 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CHECK_CTV_PER_NEEDAREA_PER_CLIENT + + + + + + + + +-- ============================================= +-- Author: Marian Zaki +-- Create date: 31 ottobre 2010 +-- Description: Compare the counter value calculated per need area and client between SP of section S57 and section S43 +-- ============================================= + +CREATE procedure [C6MartPeriodico].[CHECK_CTV_PER_NEEDAREA_PER_CLIENT] + +AS +BEGIN +DECLARE @reteLoop varchar(1) +DECLARE @cod_FiscaleLoop varchar(16) + +Create Table #tempDifferenceInCTVPerAreaPerClient ( +RETE varchar(1), +Cod_Fiscale varchar(16), +NeedArea VARCHAR(20), +S57CTV decimal(38,3), +S43CTV decimal(38,3) +) + + + +CREATE TABLE #tempS57Output ( + NeedArea VARCHAR(20), + AreaName VARCHAR(30), + PercentualeModello decimal(38,3), + PercentualeAttuale decimal(38,3), + ControvaloreAttuale decimal(38,3), + ControvaloreModello decimal(38,3), + Totale_Percentuale decimal (15,3), + DifferenzaEuro decimal (15,3), + DifferenzaPercentuale decimal (15,3), + var_needarea decimal (15,3), + var_needareaString varchar(5), + copertura_needarea decimal(38,3), + copertura_needareaString varchar(5), + Nota int, + somma_controvalAttuale decimal(38,3), + somma_controvalModello decimal(38,3), + somma_percentualeAttuale decimal(38,3), + somma_percentualeModello decimal(38,3), + var_tot decimal(38,3), + var_totString varchar(5), + var_tot_pir decimal(38,3), + var_tot_pirString varchar(5), + copertura_tot decimal(38,3), + copertura_totString varchar(5), + copertura_tot_pir decimal(38,3), + copertura_tot_pirString varchar(5), + VAR_RISFIN decimal(38,3), + VAR_RISFINSTRING varchar(5), + copertura_risfin decimal(38,3), + copertura_risfinString varchar(5), + ordinamento int) + + + +CREATE TABLE #tempS43Output ( + NeedArea VARCHAR(20), + AreaName VARCHAR(30), + areasortorder int, + nome_progetto varchar(50), + somma_controval_needarea decimal(38,3), + versato_needarea decimal(38,3), + versato_needareaString varchar(5), + MinusPlusValenza_needarea decimal(38,3), + MinusPlusValenza_needareaString varchar(5), + somma_controval_need_prog decimal(38,3), + versato_need_prog decimal(38,3), + versato_need_progString varchar(5), + MinusPlusValenza_need_prog decimal(38,3), + MinusPlusValenza_need_progString varchar(5), + somma_var_need_prog decimal(38,3), + somma_copertura_need_prog decimal(38,3), + var_needarea decimal (15,3), + var_needareaString varchar(5), + copertura_needarea decimal (15,3), + copertura_needareaString varchar(30), + var_need_prog decimal(38,3), + var_need_progString varchar(5), + copertura_need_prog decimal(38,3), + dataSottoscrizione varchar(10), + ContrattoDossier varchar(11), + Descrizione varchar(128), + Controvalore decimal(38,3), + VersatoNetto decimal(38,3), + VersatoNettoString varchar(5), + MinusPlusValenza decimal(38,3), + MinusPlusValenzaString varchar(5), + VaRprodotto decimal(38,3), + varProdottoString varchar(5), + Coperturaprodotto decimal(38,3), + PerformanceYTD decimal(38,3), + performanceDS decimal(38,3), + partitaViaggiante decimal(38,3), + nota_needarea varchar(1), + creditrisk int, + creditriskstring varchar(5)) + + + + + + +DECLARE allCleints_cursor CURSOR FOR +--SELECT distinct [Rete] +-- ,[Cod_Fiscale] +-- +-- FROM C6MartPeriodico.PATRIMONIO_BF +--where cod_fiscale in (select cod_fiscale from c6mart.contrattosei where cod_Esito=1) +--and cod_fiscale in ( select cod_fiscale from campionereport) + + + +SELECT distinct [Rete] ,[Cod_Fiscale] +FROM C6MartPeriodico.PATRIMONIO_BF +--where cod_fiscale in (select cod_fiscale from c6mart.contrattosei where cod_Esito=1) + Where [Cod_Fiscale] <> 'DNTTMS48E03F205P' +--and [Cod_Fiscale] = 'BRGNNI46T05H555X' + +OPEN allCleints_cursor +FETCH NEXT FROM allCleints_cursor INTO @reteLoop, @cod_FiscaleLoop +WHILE @@FETCH_STATUS = 0 +BEGIN + + + + print @reteLoop + print @cod_FiscaleLoop + INSERT INTO #tempS57Output + EXEC C6MartPeriodico.PL_S57ConfrontoPiramidi + @Rete = @reteLoop, + @CodiceFiscale = @cod_FiscaleLoop + + + + IN diff --git a/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_CTV_ISSUES.sql b/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_CTV_ISSUES.sql new file mode 100644 index 00000000..43dee5ee --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_CTV_ISSUES.sql @@ -0,0 +1,32 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CHECK_GET_CTV_ISSUES + + + + + + + + +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +-- [C6MartPeriodico].[PL_S57ConfrontoPiramidi] 'S','TMOSST58P03L840W' +CREATE procedure [C6MartPeriodico].[CHECK_GET_CTV_ISSUES] + +AS +BEGIN + +SELECT Rete, Cod_Fiscale , SUM(S57CTV) as S57CTV, SUM(S43_S47CTV) as S43_S47CTV, SUM(S10CTV) as S10CTV , SUM(S75CTV) as S75CTV +FROM Check_DifferenceInCTVPerClient +where S57CTV <> S43_S47CTV +OR S57CTV <> S10CTV +OR S57CTV <> S75CTV +group by Rete, Cod_Fiscale + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_CTV_ISSUES_PER_AREA.sql b/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_CTV_ISSUES_PER_AREA.sql new file mode 100644 index 00000000..78b5543f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_CTV_ISSUES_PER_AREA.sql @@ -0,0 +1,30 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CHECK_GET_CTV_ISSUES_PER_AREA + + + + + + + +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= + +CREATE procedure [C6MartPeriodico].[CHECK_GET_CTV_ISSUES_PER_AREA] + +AS +BEGIN + +--SELECT Rete, Cod_Fiscale , NeedArea, SUM(S57CTV) as S57CTV, SUM(S43CTV) as S43CTV +SELECT Rete, Cod_Fiscale , NeedArea, S57CTV, S43CTV + +FROM dbo.Check_DifferenceInCTVPerClientPerArea +where S57CTV <> S43CTV + +--group by Rete, Cod_Fiscale ,NeedArea + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_CUSTOMERS_FOR_CHECK.sql b/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_CUSTOMERS_FOR_CHECK.sql new file mode 100644 index 00000000..0d551554 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_CUSTOMERS_FOR_CHECK.sql @@ -0,0 +1,45 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CHECK_GET_CUSTOMERS_FOR_CHECK + + + + + + + + + + + + + + + +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= + +CREATE procedure [C6MartPeriodico].[CHECK_GET_CUSTOMERS_FOR_CHECK] +-- Add the parameters for the stored procedure here +AS +BEGIN + +SELECT distinct [Rete] ,[Cod_Fiscale] +FROM C6MartPeriodico.PATRIMONIO_BF +--where cod_fiscale in (select cod_fiscale from c6mart.contrattosei where cod_Esito=1) +--And [Cod_Fiscale] <> 'DNTTMS48E03F205P' +Where [Cod_Fiscale] <>'CVLGRL50A23C469M' +--AND [Cod_Fiscale] = 'LBRRMN81R48L388B' +--AND [Cod_Fiscale] IN ('BAASFN72B19E472H' ,'BAEMJA43E70Z133C') + +--Select distinct [Rete] , [Cod_Fiscale] FROM C6MartPeriodico.PATRIMONIO_BF +--where [Cod_Fiscale] <> 'DNTTMS48E03F205P' + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_NeedAreas.sql b/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_NeedAreas.sql new file mode 100644 index 00000000..51c16991 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_NeedAreas.sql @@ -0,0 +1,24 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CHECK_GET_NeedAreas + + + + + + + + + + + +CREATE procedure [C6MartPeriodico].[CHECK_GET_NeedAreas] + + +AS +BEGIN + +SELECT [ID_AREA] +FROM [C6MartPeriodico].[AREA_BISOGNO] + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_Perc_ISSUES.sql b/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_Perc_ISSUES.sql new file mode 100644 index 00000000..87b3f595 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_Perc_ISSUES.sql @@ -0,0 +1,26 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CHECK_GET_Perc_ISSUES + + + + + + + +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +CREATE procedure [C6MartPeriodico].[CHECK_GET_Perc_ISSUES] +-- Add the parameters for the stored procedure here +AS +BEGIN + +select * +from Check_TotalPercPerClient +where S10Perc <> 100 + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_S10_Negative_BankAccount.sql b/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_S10_Negative_BankAccount.sql new file mode 100644 index 00000000..0c1f3c55 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_S10_Negative_BankAccount.sql @@ -0,0 +1,60 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CHECK_GET_S10_Negative_BankAccount + + + + + + + + + + +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +-- C6MartPeriodico].[CHECK_GET_S10_Negative_BankAccount] 'f','LGGRRT61R13L736R' +CREATE PROCEDURE [C6MartPeriodico].[CHECK_GET_S10_Negative_BankAccount] +@Rete char(1), +@CodiceFiscale varchar(16) +AS +BEGIN + +SELECT +NOMEPATRIMONIO, +ORDINAMENTO, +ASSETCLASSNAME, +CONTROVALORE, +PERCENTUALE, +TOTALE +FROM +( + + SELECT + 'BF' AS NOMEPATRIMONIO, + 9999 AS ORDINAMENTO , + '' AS ASSETCLASSID , + '' AS ASSETCLASSNAME, + sum(saldo) as CONTROVALORE, + 0.00 AS PERCENTUALE , + sum(saldo) as totale + FROM [C6STAMPECENTRALIZZATE].[C6MARTPERIODICO].anag_cc + WHERE + RETE= @Rete + AND COD_FISCALE= @CodiceFiscale +) K +WHERE TOTALE < 0 + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET.sql b/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET.sql new file mode 100644 index 00000000..81438805 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET.sql @@ -0,0 +1,49 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET + + + + + + + + + + +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +-- [C6MartPeriodico].[PL_S57ConfrontoPiramidi] 'S','TMOSST58P03L840W' +CREATE procedure [C6MartPeriodico].[CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET] +@Rete char(1), +@CodiceFiscale varchar(16) +AS +BEGIN + + SELECT +-- 'BF' AS NOMEPATRIMONIO, +-- 9999 AS ORDINAMENTO , +-- '' AS ASSETCLASSID , +-- '' AS ASSETCLASSNAME, + CONTROVALORE +-- 0.00 AS PERCENTUALE , +-- --CONTROVALORE +-- CONTROVALORE as totale + FROM [C6STAMPECENTRALIZZATE].[C6MARTPERIODICO].[VPATRIMONIONONRAPPRESENTABILEASSET] + WHERE RETE= @Rete + AND COD_FISCALE= @CodiceFiscale + +END + + + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET_ALL.sql b/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET_ALL.sql new file mode 100644 index 00000000..82de1f16 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET_ALL.sql @@ -0,0 +1,45 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET_ALL + + + + + + + + + + + + +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +-- [C6MartPeriodico].[PL_S57ConfrontoPiramidi] 'S','TMOSST58P03L840W' +CREATE procedure [C6MartPeriodico].[CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET_ALL] +--@Rete char(1), +--@CodiceFiscale varchar(16) +AS +BEGIN + +SELECT [RETE] + ,[COD_FISCALE] + ,[Controvalore] + FROM [C6STAMPECENTRALIZZATE].[C6MartPeriodico].[vPatrimonioNonRappresentabileAsset] + +END + + + + + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_VAR_ISSUES.sql b/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_VAR_ISSUES.sql new file mode 100644 index 00000000..0ae5d191 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CHECK_GET_VAR_ISSUES.sql @@ -0,0 +1,26 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CHECK_GET_VAR_ISSUES + + + + + + + +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +-- [C6MartPeriodico].[PL_S57ConfrontoPiramidi] 'S','TMOSST58P03L840W' +CREATE procedure [C6MartPeriodico].[CHECK_GET_VAR_ISSUES] + +AS +BEGIN + +SELECT Rete, Cod_Fiscale , S57VAR , S75VAR +FROM Check_DifferenceInVARPerClient + + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_CHECK_INSERT_CTV_PER_AREA.sql b/sql/storedCollaudo/C6MartPeriodico_CHECK_INSERT_CTV_PER_AREA.sql new file mode 100644 index 00000000..5194edc9 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CHECK_INSERT_CTV_PER_AREA.sql @@ -0,0 +1,31 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CHECK_INSERT_CTV_PER_AREA + + + + + + + +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= + +CREATE procedure [C6MartPeriodico].[CHECK_INSERT_CTV_PER_AREA] +-- Add the parameters for the stored procedure here +@Rete char(1), +@CodiceFiscale varchar(16), +@NeedArea varchar(20), +@S57CTV decimal(38,3), +@S43CTV decimal(38,3) + +AS +BEGIN + +insert into Check_DifferenceInCTVPerClientPerArea([RETE] ,[Cod_Fiscale] ,[NeedArea] ,[S57CTV] ,[S43CTV]) +VALUES ( @Rete, @CodiceFiscale, @NeedArea,@S57CTV , @S43CTV ) + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_CHECK_INSERT_CTV_PER_SECTION.sql b/sql/storedCollaudo/C6MartPeriodico_CHECK_INSERT_CTV_PER_SECTION.sql new file mode 100644 index 00000000..5d808883 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CHECK_INSERT_CTV_PER_SECTION.sql @@ -0,0 +1,38 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CHECK_INSERT_CTV_PER_SECTION + + + + + + + +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +-- [C6MartPeriodico].[PL_S57ConfrontoPiramidi] 'S','TMOSST58P03L840W' +CREATE procedure [C6MartPeriodico].[CHECK_INSERT_CTV_PER_SECTION] +-- Add the parameters for the stored procedure here +@Rete char(1), +@CodiceFiscale varchar(16), +@S57CTV decimal(38,3), +@S43_S47CTV decimal(38,3), +@S10CTV decimal(38,3), +@S75CTV decimal(38,3) +AS +BEGIN + +insert into Check_DifferenceInCTVPerClient ([RETE] ,[Cod_Fiscale] ,[S57CTV] ,[S43_S47CTV] ,[S10CTV] , [S75CTV]) +VALUES ( @Rete, @CodiceFiscale, @S57CTV, @S43_S47CTV, @S10CTV, @S75CTV ) + +END + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_CHECK_INSERT_S10_PERC.sql b/sql/storedCollaudo/C6MartPeriodico_CHECK_INSERT_S10_PERC.sql new file mode 100644 index 00000000..cc7432b6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CHECK_INSERT_S10_PERC.sql @@ -0,0 +1,29 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CHECK_INSERT_S10_PERC + + + + + + + +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +CREATE procedure [C6MartPeriodico].[CHECK_INSERT_S10_PERC] +-- Add the parameters for the stored procedure here +@Rete char(1), +@CodiceFiscale varchar(16), +@S10Perc decimal(38,3) + +AS +BEGIN + +insert into Check_TotalPercPerClient ([RETE] ,[Cod_Fiscale] ,[S10Perc]) +VALUES ( @Rete, @CodiceFiscale, @S10Perc ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_CHECK_INSERT_VAR_PER_SECTION.sql b/sql/storedCollaudo/C6MartPeriodico_CHECK_INSERT_VAR_PER_SECTION.sql new file mode 100644 index 00000000..71097bb2 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CHECK_INSERT_VAR_PER_SECTION.sql @@ -0,0 +1,29 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CHECK_INSERT_VAR_PER_SECTION + + + + + + + +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= + +CREATE procedure [C6MartPeriodico].[CHECK_INSERT_VAR_PER_SECTION] +-- Add the parameters for the stored procedure here +@Rete char(1), +@CodiceFiscale varchar(16), +@S57VAR decimal(38,3), +@S75VAR decimal(38,3) +AS +BEGIN + +insert into Check_DifferenceInVARPerClient ([RETE] ,[Cod_Fiscale] ,[S57VAR] , [S75VAR]) +VALUES ( @Rete, @CodiceFiscale, @S57VAR, @S75VAR ) + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO.sql b/sql/storedCollaudo/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO.sql new file mode 100644 index 00000000..a87e579c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO.sql @@ -0,0 +1,30 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CHECK_PROFILOSCADUTO_RFAZERO + +-- Stored procedure + +-- =========================================================================== +-- Author: Emanuele atzeri +-- Create date: 28/06/2011 +-- Description: Setta a stato 23 i report con profilo MIFID scaduto e RFA a 0 +-- =========================================================================== + +CREATE procedure [C6MartPeriodico].[CHECK_PROFILOSCADUTO_RFAZERO] +AS +BEGIN + +UPDATE + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SET + STATO_REPORT = 23, + DATA_TRANSIZIONE = GETDATE() +WHERE RETE+COD_FISCALE IN +( + select a.rete+a.cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO a + inner join C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO b + on a.rete = b.rete + and a.cod_fiscale = b.cod_fiscale +) + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO_pre_selective.sql new file mode 100644 index 00000000..6b49598c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO_pre_selective.sql @@ -0,0 +1,30 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CHECK_PROFILOSCADUTO_RFAZERO_pre_selective + +-- Stored procedure + +-- =========================================================================== +-- Author: Emanuele atzeri +-- Create date: 28/06/2011 +-- Description: Setta a stato 23 i report con profilo MIFID scaduto e RFA a 0 +-- =========================================================================== + +CREATE procedure [C6MartPeriodico].[CHECK_PROFILOSCADUTO_RFAZERO_pre_selective] +AS +BEGIN + +UPDATE + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SET + STATO_REPORT = 23, + DATA_TRANSIZIONE = GETDATE() +WHERE RETE+COD_FISCALE IN +( + select a.rete+a.cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO a + inner join C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO b + on a.rete = b.rete + and a.cod_fiscale = b.cod_fiscale +) + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_CHECK_PROFILO_SCADUTO.sql b/sql/storedCollaudo/C6MartPeriodico_CHECK_PROFILO_SCADUTO.sql new file mode 100644 index 00000000..a07c200a --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CHECK_PROFILO_SCADUTO.sql @@ -0,0 +1,58 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CHECK_PROFILO_SCADUTO + +-- Stored procedure + +-- =============================================================== +-- Author: colaianni-consoli +-- Create date: 28/06/2011 +-- Description: Setta a stato 3 i report con profilo MIFID scaduto +-- =============================================================== + +CREATE procedure [C6MartPeriodico].[CHECK_PROFILO_SCADUTO] +AS +BEGIN + + +TRUNCATE TABLE C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO +INSERT INTO C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO +SELECT a.rete, a.cod_fiscale, a.codicecontratto +from +-- Modifica MV 18/04/2015 +--c6martperiodico.rp_vcontrattipergenerazionereport a +C6stagingPERIODICO.appo_contratti_v a +inner join C6MARTPERIODICO.MIFID b +on a.rete = b.rete +and a.cod_fiscale = b.cod_fiscale +where b.SCADUTO=1 + +UPDATE + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SET + STATO_REPORT = 3, + DATA_TRANSIZIONE = GETDATE() +WHERE + RETE+COD_FISCALE IN + ( + SELECT RETE+COD_FISCALE + FROM C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO + ) + + + +--UPDATE +-- C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--SET +-- STATO_REPORT = 3, +-- DATA_TRANSIZIONE = GETDATE() +--WHERE +-- RETE+COD_FISCALE NOT IN +-- ( +-- SELECT * FROM C6MARTPERIODICO.MIFID WHERE SCADUTO=1 +-- ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_CHECK_PROFILO_SCADUTO_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_CHECK_PROFILO_SCADUTO_pre_selective.sql new file mode 100644 index 00000000..01651463 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CHECK_PROFILO_SCADUTO_pre_selective.sql @@ -0,0 +1,58 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CHECK_PROFILO_SCADUTO_pre_selective + +-- Stored procedure + +-- =============================================================== +-- Author: colaianni-consoli +-- Create date: 28/06/2011 +-- Description: Setta a stato 3 i report con profilo MIFID scaduto +-- =============================================================== + +CREATE procedure [C6MartPeriodico].[CHECK_PROFILO_SCADUTO_pre_selective] +AS +BEGIN + + +TRUNCATE TABLE C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO +INSERT INTO C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO +SELECT a.rete, a.cod_fiscale, a.codicecontratto +from +-- Modifica MV 18/04/2015 +--c6martperiodico.rp_vcontrattipergenerazionereport a +C6stagingPERIODICO.appo_contratti a +inner join C6MARTPERIODICO.MIFID b +on a.rete = b.rete +and a.cod_fiscale = b.cod_fiscale +where b.SCADUTO=1 + +UPDATE + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SET + STATO_REPORT = 3, + DATA_TRANSIZIONE = GETDATE() +WHERE + RETE+COD_FISCALE IN + ( + SELECT RETE+COD_FISCALE + FROM C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO + ) + + + +--UPDATE +-- C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--SET +-- STATO_REPORT = 3, +-- DATA_TRANSIZIONE = GETDATE() +--WHERE +-- RETE+COD_FISCALE NOT IN +-- ( +-- SELECT * FROM C6MARTPERIODICO.MIFID WHERE SCADUTO=1 +-- ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_CHECK_RFA_ZERO.sql b/sql/storedCollaudo/C6MartPeriodico_CHECK_RFA_ZERO.sql new file mode 100644 index 00000000..9898cfb1 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CHECK_RFA_ZERO.sql @@ -0,0 +1,40 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CHECK_RFA_ZERO + +-- Stored procedure + + +-- ================================================= +-- Author: COLAIANNI-CONSOLI +-- Create date: 28/06/2011 +-- Description: SETTA A STATO 2 I REPORT CON RFA=0 +-- ================================================= + +CREATE procedure [C6MartPeriodico].[CHECK_RFA_ZERO] +AS +BEGIN + +TRUNCATE TABLE C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO +INSERT INTO C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO +SELECT a.rete, a.cod_fiscale, a.codicecontratto +from +--c6martperiodico.rp_vcontrattipergenerazionereport a +C6stagingPERIODICO.appo_contratti_v a +left join C6MARTPERIODICO.PATRIMONIO_BF b +on a.rete = b.rete +and a.cod_fiscale = b.cod_fiscale +where b.rete is null + +UPDATE + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SET + STATO_REPORT = 2, + DATA_TRANSIZIONE = GETDATE() +WHERE + RETE+COD_FISCALE IN + ( + SELECT RETE+COD_FISCALE FROM C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO + ) + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_CHECK_RFA_ZERO_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_CHECK_RFA_ZERO_pre_selective.sql new file mode 100644 index 00000000..2f4bfafc --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CHECK_RFA_ZERO_pre_selective.sql @@ -0,0 +1,40 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CHECK_RFA_ZERO_pre_selective + +-- Stored procedure + + +-- ================================================= +-- Author: COLAIANNI-CONSOLI +-- Create date: 28/06/2011 +-- Description: SETTA A STATO 2 I REPORT CON RFA=0 +-- ================================================= + +CREATE procedure [C6MartPeriodico].[CHECK_RFA_ZERO_pre_selective] +AS +BEGIN + +TRUNCATE TABLE C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO +INSERT INTO C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO +SELECT a.rete, a.cod_fiscale, a.codicecontratto +from +--c6martperiodico.rp_vcontrattipergenerazionereport a +C6stagingPERIODICO.appo_contratti a +left join C6MARTPERIODICO.PATRIMONIO_BF b +on a.rete = b.rete +and a.cod_fiscale = b.cod_fiscale +where b.rete is null + +UPDATE + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SET + STATO_REPORT = 2, + DATA_TRANSIZIONE = GETDATE() +WHERE + RETE+COD_FISCALE IN + ( + SELECT RETE+COD_FISCALE FROM C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO + ) + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_CREA_FIRMA_PROMOTORE.sql b/sql/storedCollaudo/C6MartPeriodico_CREA_FIRMA_PROMOTORE.sql new file mode 100644 index 00000000..9fdc0be6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CREA_FIRMA_PROMOTORE.sql @@ -0,0 +1,18 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CREA_FIRMA_PROMOTORE + + + +CREATE procedure [C6MartPeriodico].[CREA_FIRMA_PROMOTORE] as +begin +update [C6StagingPeriodico].[ADS4WS_PROMOTORI] +set firma = case when rete = 'F' then 'R'+codice + else 'P'+codice end, + +prefisso = case when rete = 'F' then 'R' + else 'P'end + + +end + + diff --git a/sql/storedCollaudo/C6MartPeriodico_CRUSCOTTOTRIMESTRALE.sql b/sql/storedCollaudo/C6MartPeriodico_CRUSCOTTOTRIMESTRALE.sql new file mode 100644 index 00000000..34554372 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CRUSCOTTOTRIMESTRALE.sql @@ -0,0 +1,76 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CRUSCOTTOTRIMESTRALE + + +CREATE procedure [C6MartPeriodico].[CRUSCOTTOTRIMESTRALE] + @codiceFiscale as char(16) = '' +AS +BEGIN + IF @codiceFiscale <> '' + SELECT b.*,a.dtstamp,a.errormessage + FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR a + on a.codicefiscale = b.codicefiscale and a.rete=b.rete where 1=1 + and b.codicefiscale = @codiceFiscale + DECLARE @dt AS DATETIME + DECLARE @dt2 AS DATETIME + DECLARE @QUANTI AS INT + DECLARE @APP AS varchar(100) + PRINT '**********************************************************************' + SELECT @dt = min(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + SELECT @dt2 = max(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + set @APP = 'DataInizio ' + convert(varchar,@dt,103) + ' ' + convert(varchar,@dt,114) + IF (SELECT COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab in(0,1,2,3)) = 0 + SET @APP = @APP + ' tempo totale di elaborazione ' ELSE SET @APP = @APP + ' tempo parziale di elaborazione ' + DECLARE @s bigint; + DECLARE @mi int; + DECLARE @h int; + DECLARE @d int; + SET @d=0 + SET @h=0 + SET @mi=0 + SET @s=0 + SELECT @s = DATEDIFF(second,@dt,getdate()) + IF @s <> 0 BEGIN + SET @mi = @s / 60; + SET @s = @s % 60; + END; + IF @mi <> 0 BEGIN + SET @h = @mi / 60; + SET @mi = @mi % 60; + END; + IF @h <> 0 BEGIN + SET @d = @h / 24; + SET @h = @h % 24; + END; + SET @APP = @APP + 'Giorni:' + CONVERT( VARCHAR(3) , @d ) + ' Ore:' + CONVERT( VARCHAR(2) , @h ) + ' Minuti:' + CONVERT( VARCHAR(2) , @mi ) + ' Secondi:' + CONVERT( VARCHAR(2) , @s ); + IF @APP IS NULL SET @APP = 'STANDBY' + PRINT @APP + PRINT '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab in(0,1,2) + PRINT 'daElaborare ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=3 + PRINT 'inElaborazione ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=10 + PRINT 'Elaborati ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-1 + PRINT 'noElaborabili ( Scartati-1 ) ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=4 + PRINT 'Da NON Elaborare ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) FROM [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] + PRINT 'ScartatiTAB ' + convert(VARCHAR,@QUANTI) + PRINT '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-2 + PRINT 'Scartati-2 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-3 + PRINT 'Scartati-3 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab<-3 + PRINT 'Scartati-n ' + convert(VARCHAR,@QUANTI) + PRINT '**********************************************************************' + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi > -1 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI diff --git a/sql/storedCollaudo/C6MartPeriodico_CRUSCOTTOTRIMESTRALEMAU.sql b/sql/storedCollaudo/C6MartPeriodico_CRUSCOTTOTRIMESTRALEMAU.sql new file mode 100644 index 00000000..c49d23ce --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CRUSCOTTOTRIMESTRALEMAU.sql @@ -0,0 +1,80 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CRUSCOTTOTRIMESTRALEMAU + + + +--select count(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + +--select top 10 * from global_error order by id desc +-- select count(*) from [C6StagingPeriodico].[datiROL2] +-- [C6MartPeriodico].[CRUSCOTTOTRIMESTRALE] BTTPLA59B25F240A +CREATE procedure [C6MartPeriodico].[CRUSCOTTOTRIMESTRALEMAU] + @codiceFiscale as char(16) = '' +AS +BEGIN + IF @codiceFiscale <> '' + SELECT b.*,a.dtstamp,a.errormessage + FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR a + on a.codicefiscale = b.codicefiscale and a.rete=b.rete where 1=1 + and b.codicefiscale = @codiceFiscale + DECLARE @dt AS DATETIME + DECLARE @dt2 AS DATETIME + DECLARE @QUANTI AS INT + DECLARE @APP AS varchar(100) + PRINT '**********************************************************************' + SELECT @dt = min(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + SELECT @dt2 = max(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + set @APP = 'DataInizio ' + convert(varchar,@dt,103) + ' ' + convert(varchar,@dt,114) + IF (SELECT COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab in(0,1,2,3)) = 0 + SET @APP = @APP + ' tempo totale di elaborazione ' ELSE SET @APP = @APP + ' tempo parziale di elaborazione ' + DECLARE @s bigint; + DECLARE @mi int; + DECLARE @h int; + DECLARE @d int; + SET @d=0 + SET @h=0 + SET @mi=0 + SET @s=0 + SELECT @s = DATEDIFF(second,@dt,getdate()) + IF @s <> 0 BEGIN + SET @mi = @s / 60; + SET @s = @s % 60; + END; + IF @mi <> 0 BEGIN + SET @h = @mi / 60; + SET @mi = @mi % 60; + END; + IF @h <> 0 BEGIN + SET @d = @h / 24; + SET @h = @h % 24; + END; + SET @APP = @APP + 'Giorni:' + CONVERT( VARCHAR(3) , @d ) + ' Ore:' + CONVERT( VARCHAR(2) , @h ) + ' Minuti:' + CONVERT( VARCHAR(2) , @mi ) + ' Secondi:' + CONVERT( VARCHAR(2) , @s ); + IF @APP IS NULL SET @APP = 'STANDBY' + PRINT @APP + PRINT '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab in(0,1,2) + PRINT 'daElaborare ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=3 + PRINT 'inElaborazione ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=10 + PRINT 'Elaborati ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-1 + PRINT 'noElaborabili ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=4 + PRINT 'BLACKLIST ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) FROM [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] + PRINT 'ScartatiTAB ' + convert(VARCHAR,@QUANTI) + PRINT '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-2 + PRINT 'Scartati-2 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-3 + PRINT 'Scartati-3 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab<-3 + PRINT 'Scartati-n ' + convert(VARCHAR,@QUANTI) + PRINT '**********************************************************************' + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi = 4 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @Q diff --git a/sql/storedCollaudo/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE.sql b/sql/storedCollaudo/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE.sql new file mode 100644 index 00000000..5526016d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE.sql @@ -0,0 +1,60 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CRUSCOTTOTRIMESTRALE_FILE + + +CREATE procedure [C6MartPeriodico].[CRUSCOTTOTRIMESTRALE_FILE] + +AS +BEGIN + DECLARE @dt AS DATETIME + DECLARE @dt2 AS DATETIME + DECLARE @QUANTI AS INT + DECLARE @APP AS varchar(100) + declare @ooo as VARCHAR (2000) + SET @ooo = '' + + set @ooo = @ooo + '\r\n' + '**********************************************************************' + SELECT @dt = min(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + SELECT @dt2 = max(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + -- FC 02/03/2015 Aggiornamento Convert + set @APP = 'DataInizio ' + convert(varchar,@dt,120) + + + IF (SELECT COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab in(0,1,2,3)) = 0 + SET @APP = @APP + ' tempo totale di elaborazione ' + ELSE + SET @APP = @APP + ' tempo parziale di elaborazione ' + SET @APP = @APP + convert(VARCHAR,DATEADD(second,DATEDIFF(second,@dt,getdate()), convert(varchar,@dt,102)) ,108) + IF @APP IS NULL SET @APP = 'STANDBY' + set @ooo = @ooo + '\r\n ' + @APP + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab in(0,1,2) + set @ooo = @ooo + '\r\n ' + 'daElaborare ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=3 + set @ooo = @ooo + '\r\n ' + 'inElaborazione ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=10 + set @ooo = @ooo + '\r\n ' + 'Elaborati ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-1 + set @ooo = @ooo + '\r\n ' + 'noElaborabili ( Scartati-1 ) ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=4 + set @ooo = @ooo + '\r\n ' + 'Da NON Elaborare ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) FROM [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] + set @ooo = @ooo + '\r\n ' + 'ScartatiTAB ' + convert(VARCHAR,@QUANTI) + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-2 + set @ooo = @ooo + '\r\n ' + 'Scartati-2 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-3 + set @ooo = @ooo + '\r\n ' + 'Scartati-3 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab<-3 + set @ooo = @ooo + '\r\n ' + 'Scartati-n ' + convert(VARCHAR,@QUANTI) + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi = -1 + set @ooo = @ooo + '\r\n ' + 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi > -1 + set @ooo = @ooo + '\r\n ' + 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 1 + set @ooo = @ooo + '\r\n ' + 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 2 + set @ooo = @ooo + '\r\n ' + 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI wher diff --git a/sql/storedCollaudo/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE_test.sql b/sql/storedCollaudo/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE_test.sql new file mode 100644 index 00000000..c89c3f60 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE_test.sql @@ -0,0 +1,60 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CRUSCOTTOTRIMESTRALE_FILE_test + + +CREATE procedure [C6MartPeriodico].[CRUSCOTTOTRIMESTRALE_FILE_test] + +AS +BEGIN + DECLARE @dt AS DATETIME + DECLARE @dt2 AS DATETIME + DECLARE @QUANTI AS INT + DECLARE @APP AS varchar(100) + declare @ooo as VARCHAR (2000) + SET @ooo = '' + + set @ooo = @ooo + '\r\n' + '**********************************************************************' + SELECT @dt = min(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + SELECT @dt2 = max(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + -- FC 02/03/2015 Aggiornamento Convert + set @APP = 'DataInizio ' + convert(varchar,@dt,120) + + + IF (SELECT COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab in(0,1,2,3)) = 0 + SET @APP = @APP + ' tempo totale di elaborazione ' + ELSE + SET @APP = @APP + ' tempo parziale di elaborazione ' + SET @APP = @APP + convert(VARCHAR,DATEADD(millisecond,DATEDIFF(millisecond,@dt,getdate()), convert(varchar,@dt,102)) ,108) + IF @APP IS NULL SET @APP = 'STANDBY' + set @ooo = @ooo + '\r\n ' + @APP + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab in(0,1,2) + set @ooo = @ooo + '\r\n ' + 'daElaborare ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=3 + set @ooo = @ooo + '\r\n ' + 'inElaborazione ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=10 + set @ooo = @ooo + '\r\n ' + 'Elaborati ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-1 + set @ooo = @ooo + '\r\n ' + 'noElaborabili ( Scartati-1 ) ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=4 + set @ooo = @ooo + '\r\n ' + 'Da NON Elaborare ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) FROM [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] + set @ooo = @ooo + '\r\n ' + 'ScartatiTAB ' + convert(VARCHAR,@QUANTI) + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-2 + set @ooo = @ooo + '\r\n ' + 'Scartati-2 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-3 + set @ooo = @ooo + '\r\n ' + 'Scartati-3 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab<-3 + set @ooo = @ooo + '\r\n ' + 'Scartati-n ' + convert(VARCHAR,@QUANTI) + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi = -1 + set @ooo = @ooo + '\r\n ' + 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi > -1 + set @ooo = @ooo + '\r\n ' + 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 1 + set @ooo = @ooo + '\r\n ' + 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 2 + set @ooo = @ooo + '\r\n ' + 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM diff --git a/sql/storedCollaudo/C6MartPeriodico_Caricamento_TBGEN.sql b/sql/storedCollaudo/C6MartPeriodico_Caricamento_TBGEN.sql new file mode 100644 index 00000000..42352dfa --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Caricamento_TBGEN.sql @@ -0,0 +1,43 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Caricamento_TBGEN + + + + +--[C6martPeriodico].[Caricamento_TBGEN] +CREATE procedure [C6MartPeriodico].[Caricamento_TBGEN] + -- Add the parameters for the stored procedure here + +AS +BEGIN + +DECLARE @Rete char(1) +DECLARE @CodiceFiscale varchar(16) + +DECLARE cursore CURSOR FOR + +SELECT --top 100 + rete, + cod_fiscale +FROM c6martperiodico.vcontrattipergenerazionereport + +OPEN cursore + +FETCH NEXT FROM cursore INTO @Rete,@CodiceFiscale + +WHILE @@fetch_status=0 +BEGIN + +EXECUTE [C6MartPeriodico].[POPOLA_D2_S157ConfrontoPiramidi_SVIL] @Rete,@CodiceFiscale +--EXECUTE [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] @Rete,@CodiceFiscale + +FETCH NEXT FROM cursore INTO @Rete, @CodiceFiscale + +END + +CLOSE cursore + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_CercaCaratteriAnomali.sql b/sql/storedCollaudo/C6MartPeriodico_CercaCaratteriAnomali.sql new file mode 100644 index 00000000..5123b4ad --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CercaCaratteriAnomali.sql @@ -0,0 +1,122 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CercaCaratteriAnomali + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[CercaCaratteriAnomali] +AS +BEGIN + + +declare @num int +set @num = 1 + +CREATE TABLE #tab_temp( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL) + + +set @num = 1 +while @num < 150 + +begin +insert into #tab_temp +SELECT ascii(substring(email,@num,1)), + substring(email,@num,1), + rete, + Cod_Fiscale, + 'EMAIL', + email +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(email,@num,len(email))) not between 64 and 90 +and ascii(substring(email,@num,len(email))) not between 97 and 122 +and ascii(substring(email,@num,len(email))) not between 48 and 57 +and ascii(substring(email,@num,len(email))) <> 32 +and ascii(substring(email,@num,len(email))) <> 40 +and ascii(substring(email,@num,len(email))) <> 41 +and ascii(substring(email,@num,len(email))) <> 43 +and ascii(substring(email,@num,len(email))) <> 44 +and ascii(substring(email,@num,len(email))) <> 45 +and ascii(substring(email,@num,len(email))) <> 46 +and ascii(substring(email,@num,len(email))) <> 95 +and ascii(substring(email,@num,len(email))) <> 39 +and ascii(substring(email,@num,len(email))) <> 47 +and ascii(substring(email,@num,len(email))) <> 63 + + +set @num = @num + 1 +end + + +--inizio intervento: 05/02/2015 FCianfa Controllo caratteriAnomali su campi Nome e Cognome della tb c6martperiodico.ANAG_CLIENTI + +set @num = 1 +while @num < 150 + +begin +insert into #tab_temp +SELECT ascii(substring(Nome+Cognome,@num,1)), + substring(Nome+Cognome,@num,1), + rete, + Cod_Fiscale, + 'Nome+Cognome', + Nome+Cognome +FROM C6MartPeriodico.ANAG_CLIENTI +WHERE + ascii(substring(Nome+Cognome,@num,len(Nome))) not between 64 and 90 +and ascii(substring(Nome+Cognome,@num,len(Nome))) not between 97 and 122 +and ascii(substring(Nome+Cognome,@num,len(Nome))) not between 48 and 57 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 32 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 40 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 41 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 43 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 44 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 45 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 46 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 95 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 39 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 38 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 47 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 63 + + +set @num = @num + 1 + +end + +--fine intervento: 05/02/2015 FCianfa Controllo caratteriAnomali su campi Nome e Cognome della tb c6martperiodico.ANAG_CLIENTI + +set @num = 1 +while @num < 150 + +begin +insert into #tab_temp +SELECT ascii(substring(Indirizzo,@num,1)), + substring(Indirizzo,@num,1), + rete, + Cod_Fiscale, + 'INDIRIZZO', + Indirizzo +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 64 and 90 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 97 and 122 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 48 and 57 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 32 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 40 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 41 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 43 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 44 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 45 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 46 +and ascii(substring(In diff --git a/sql/storedCollaudo/C6MartPeriodico_CercaCaratteriAnomali_20150205.sql b/sql/storedCollaudo/C6MartPeriodico_CercaCaratteriAnomali_20150205.sql new file mode 100644 index 00000000..9c0786b2 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CercaCaratteriAnomali_20150205.sql @@ -0,0 +1,121 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CercaCaratteriAnomali_20150205 + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[CercaCaratteriAnomali_20150205] +AS +BEGIN + + +declare @num int +set @num = 1 + +CREATE TABLE #tab_temp( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL) + + +set @num = 1 +while @num < 150 + +begin +insert into #tab_temp +SELECT ascii(substring(email,@num,1)), + substring(email,@num,1), + rete, + Cod_Fiscale, + 'EMAIL', + email +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(email,@num,len(email))) not between 64 and 90 +and ascii(substring(email,@num,len(email))) not between 97 and 122 +and ascii(substring(email,@num,len(email))) not between 48 and 57 +and ascii(substring(email,@num,len(email))) <> 32 +and ascii(substring(email,@num,len(email))) <> 40 +and ascii(substring(email,@num,len(email))) <> 41 +and ascii(substring(email,@num,len(email))) <> 43 +and ascii(substring(email,@num,len(email))) <> 44 +and ascii(substring(email,@num,len(email))) <> 45 +and ascii(substring(email,@num,len(email))) <> 46 +and ascii(substring(email,@num,len(email))) <> 95 +and ascii(substring(email,@num,len(email))) <> 39 +and ascii(substring(email,@num,len(email))) <> 47 +and ascii(substring(email,@num,len(email))) <> 63 + + +set @num = @num + 1 +end + +--inizio intervento: 05/02/2015 FCianfa Controllo caratteriAnomali su campi Nome e Cognome della tb c6martperiodico.ANAG_CLIENTI + +set @num = 1 +while @num < 150 + +begin +insert into #tab_temp +SELECT ascii(substring(Nome+Cognome,@num,1)), + substring(Nome+Cognome,@num,1), + rete, + Cod_Fiscale, + 'Nome+Cognome', + Nome+Cognome +FROM C6MartPeriodico.ANAG_CLIENTI +WHERE + ascii(substring(Nome+Cognome,@num,len(Nome))) not between 64 and 90 +and ascii(substring(Nome+Cognome,@num,len(Nome))) not between 97 and 122 +and ascii(substring(Nome+Cognome,@num,len(Nome))) not between 48 and 57 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 32 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 40 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 41 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 43 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 44 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 45 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 46 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 95 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 39 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 38 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 47 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 63 + + +set @num = @num + 1 + +end + +--fine intervento: 05/02/2015 FCianfa Controllo caratteriAnomali su campi Nome e Cognome della tb c6martperiodico.ANAG_CLIENTI + +set @num = 1 +while @num < 150 + +begin +insert into #tab_temp +SELECT ascii(substring(Indirizzo,@num,1)), + substring(Indirizzo,@num,1), + rete, + Cod_Fiscale, + 'INDIRIZZO', + Indirizzo +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 64 and 90 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 97 and 122 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 48 and 57 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 32 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 40 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 41 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 43 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 44 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 45 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 46 +and ascii(subst diff --git a/sql/storedCollaudo/C6MartPeriodico_CheckQuadraturaRfa0Mifid.sql b/sql/storedCollaudo/C6MartPeriodico_CheckQuadraturaRfa0Mifid.sql new file mode 100644 index 00000000..e674f29d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_CheckQuadraturaRfa0Mifid.sql @@ -0,0 +1,67 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: CheckQuadraturaRfa0Mifid + + +-- Stored procedure +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 10/01/2014 +-- Description: Controllo Quadratura Rfa0-Mifid +-- ============================================= +CREATE procedure [C6MartPeriodico].[CheckQuadraturaRfa0Mifid] +AS +BEGIN + + + truncate TABLE dbo.CheckQuadraturaProfiloRfaMifid + + +insert into dbo.CheckQuadraturaProfiloRfaMifid + Select a.* + from ( +select rete as Rete,cod_fiscale as Codice_Fiscale,'MIFID-Manca su lista Fideuram' as Tipo_Controllo,getdate() as Data_Operazione +from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO +except +select rete as Rete,codfis as Codice_Fiscale,'MIFID-Manca su lista Fideuram' as Tipo_Controllo ,getdate() as Data_Operazione +from dbo.CheckMifidScirocco +) as a + +insert into dbo.CheckQuadraturaProfiloRfaMifid + Select a.* + from ( +select rete as Rete,codfis as Codice_Fiscale,'MIFID-Manca su lista HP' as Tipo_Controllo,getdate() as Data_Operazione +from dbo.CheckMifidScirocco +except +select rete as Rete,cod_fiscale as Codice_Fiscale,'MIFID-Manca su lista HP' as Tipo_Controllo ,getdate() as Data_Operazione +from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO +) as a + + +insert into dbo.CheckQuadraturaProfiloRfaMifid +Select a.* + from ( +select rete as Rete,cod_fiscale as Codice_Fiscale,'RFA0-Manca su lista Fideuram' as Tipo_Controllo,getdate() as Data_Operazione +from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO +except +select rete as Rete,codfis as Codice_Fiscale,'RFA0-Manca su lista Fideuram' as Tipo_Controllo ,getdate() as Data_Operazione +from dbo.CheckRfaScirocco +) as a + +insert into dbo.CheckQuadraturaProfiloRfaMifid +Select a.* + from ( +select rete as Rete,codfis as Codice_Fiscale,'RFA0-Manca su lista HP' as Tipo_Controllo,getdate() as Data_Operazione +from dbo.CheckRfaScirocco +except +select rete as Rete,cod_fiscale as Codice_Fiscale,'RFA0-Manca su lista HP' as Tipo_Controllo ,getdate() as Data_Operazione +from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO +) as a + + +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_Controlla_Stato_Stampa_Cruscotto.sql b/sql/storedCollaudo/C6MartPeriodico_Controlla_Stato_Stampa_Cruscotto.sql new file mode 100644 index 00000000..96c7c811 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Controlla_Stato_Stampa_Cruscotto.sql @@ -0,0 +1,57 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Controlla_Stato_Stampa_Cruscotto + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[Controlla_Stato_Stampa_Cruscotto] +AS + + +BEGIN + +truncate table [C6MartPeriodico].[TB_Controlla_Stato_Stampa_Cruscotto] + +declare @conteggio_prima int +declare @conteggio_dopo int + +insert into [C6MartPeriodico].[TB_Controlla_Stato_Stampa_Cruscotto] +select convert(varchar, getdate(), 121) as data_prima,count(*) as conteggio_prima,0 as data_dopo,0 as conteggio_dopo + from c6martperiodico.controllo_trimestrale + where stato_report=4 + group by stato_report + having count(*)> 0 + + WAITFOR DELAY '03:00:00' + +update [C6MartPeriodico].[TB_Controlla_Stato_Stampa_Cruscotto] +set conteggio_dopo=(select count(*) as conteggio_dopo + from c6martperiodico.controllo_trimestrale + where stato_report=4 + group by stato_report + having count(*)> 0), + data_dopo=convert(varchar, getdate(), 121) + + --select * from [C6MartPeriodico].[TB_Controlla_Stato_Stampa_Cruscotto] + select @conteggio_prima = conteggio_prima from [C6MartPeriodico].[TB_Controlla_Stato_Stampa_Cruscotto] + select @conteggio_dopo = conteggio_dopo from [C6MartPeriodico].[TB_Controlla_Stato_Stampa_Cruscotto] + if(@conteggio_prima=@conteggio_dopo) + begin + print('OK') + end + else + begin + insert into [C6MartPeriodico].[TB_ST_Controlla_Stato_Stampa_Cruscotto] + select * from [C6MartPeriodico].[TB_Controlla_Stato_Stampa_Cruscotto] + exec [C6MartPeriodico].[Controlla_Stato_Stampa_Cruscotto] + + end + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ALL_PATRIMONIO.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ALL_PATRIMONIO.sql new file mode 100644 index 00000000..4b56b477 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ALL_PATRIMONIO.sql @@ -0,0 +1,121 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ALL_PATRIMONIO + + + + +-- ============================================= +-- AUTHOR: ALESSANDRO TRINGALI +-- CREATE DATE: 18 SETTEMBRE 2009 +-- DESCRIPTION: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ALL_PATRIMONIO] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MARTPERIODICO].GETIDELAB() + + -- LOG ESECUZIONE + INSERT INTO LOG_ESECUZIONE + (NOME, INIZIO, NOTA) + VALUES ( + 'DM_ALL_PATRIMONIO', + GETDATE(), + 'ELABORAZIONE TRIMESTRALE' + ) + + TRUNCATE TABLE [C6MartPeriodico].[ALL_PATRIMONIO] + + INSERT INTO [C6MARTPERIODICO].[ALL_PATRIMONIO] + + ( + [CODICE_FISCALE] + ,[RETE] + ,[POSITIONID] + ,[CATALOGUENAME] + ,[CATALOGUEID] + ,[COD_ADEGUATEZZA] + ,[INTERMEDIARIO] + ,[PATRIMONIO_INTERMEDIARIO] + ,[EMITTENTE] + ,[PATRIMONIO_EMITTENTE] + ,[COMPLESSITA] + ,[TIPO_PRODOTTO] + ,[CONTROVALORE_PRODOTTO] + ,[AZ_OB] + ,[PATRIMONIO_AZ_OB_EMIT] + ,[PATRIM_AZ_OB_EMIT_INTER] + ,[PATRIMONIO_COMPLESSIVO] + ,[CHIAVE_THR] + ) + +SELECT + CODICE_FISCALE, + RETE, + POSITIONID, + DATI.CATALOGUENAME, + CAT.CATALOGUEID, + CASE + WHEN ADEGUATEZZA IS NULL + THEN CAT.COD_ADEGUATEZZA + ELSE ADEGUATEZZA + END AS COD_ADEGUATEZZA, + INTERMEDIARIO, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,INTERMEDIARIO) AS PATRIMONIO_INTERMEDIARIO, + EMIT.DESCR AS EMITTENTE, + CASE + WHEN EMIT.DESCR IS NULL THEN NULL + ELSE SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,EMIT.DESCR) + END AS PATRIMONIO_EMITTENTE, + CAT.COMPLEX AS COMPLESSITA, + CAT.TIPOPRODOTTO, + CONTROVALORE AS CONTROVALORE_PRODOTTO, + CASE WHEN CAT.STRTYPE IS NULL + THEN AZ_OB + ELSE CAT.STRTYPE + END AS AZ_OB, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,CASE WHEN CAT.STRTYPE IS NULL THEN AZ_OB ELSE CAT.STRTYPE END,EMIT.DESCR) AS PATRIMONIO_AZ_OB_EMIT, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,INTERMEDIARIO,CASE WHEN CAT.STRTYPE IS NULL THEN AZ_OB ELSE CAT.STRTYPE END,EMIT.DESCR, POSITIONID) AS PATRIM_AZ_OB_EMIT_INTER, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE) AS PATRIMONIO_COMPLESSIVO, + CHIAVE_THR + + FROM ( + + SELECT NULL AS AGENTE, + C.RETE, + C.CODICE_FISCALE, + C.CATALOGUENAME, + C.CONTROVALORE, + 'BF' AS INTERMEDIARIO, + SUBSTRING(C.STRINGONA_POS, 1, 57) AS CATALOGUEID, + C.STRINGONA_POS AS POSITIONID, + NULL AS ADEGUATEZZA, + 'BF' AS PROVENIENZA, + NULL AZ_OB, + '' AS CHIAVE_THR + FROM C6STAGINGPERIODICO.ALL_CONSUL_ASUL C + + union all + SELECT agente, + substring(agente,1,1) as rete, + codicefiscale as codice_FISCALE, + nome_prodotto as cataloguename, + SUM(controvalore) AS controvalore, + intermediario, + case when codiceisin = '' then '############' else codiceisin + replicate(' ', 12-len(codiceisin)) end + + + case when codicemaf = '' then '###############' else codicemaf + replicate(' ', 15-len(codicemaf)) end + + + case when codiceinterno = '' then '###############' else codiceinterno + replicate(' ', 15-len(codiceinterno)) end + + + case when codicesottoprodotto = '' then '###############' else codicesottoprodotto + replicate(' ', 15-len(codicesottoprodotto)) end + + as catalogueid, + null as positionid, + codiceadeguatezza as ADEGUATEZZA , + 'PPT' as provenienza, + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CC.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CC.sql new file mode 100644 index 00000000..20406565 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CC.sql @@ -0,0 +1,97 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ANAG_CC + + + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CC] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CC', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[ANAG_CC] + + INSERT INTO [C6MartPeriodico].[ANAG_CC] + ([RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDOCONTABILE] + ,[SALDODISPONIBILE] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + CONTR_SINTESI.RETE AS RETE, + CONTR_SINTESI.CODFIS AS COD_FISCALE, + 'FIDEURAM' AS INTERMEDIARIO, + NULL AS COINTEST, + CONTR_SINTESI.CONTO AS COD_CC, + '' AS FASCIA_CPP, + CONTR_SINTESI.CTV AS SALDOCONTABILE, + CONTR_SINTESI.SALRISC AS SALDODISPONIBILE, + --CONTR_SINTESI.DATADISOTTOSCRIZIONE AS DATA_APERTURA, + CAST(CAST(CONTR_SINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME) AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI AS CONTR_SINTESI + WHERE + CONTR_SINTESI.TIPPROD = 'Cc' + -- FerAcu 20240116 risolvere duplicazioni + and not (CODFIS = 'NFRDNL84L30D612S' and CONTO = '00166487247' and RETE = 'F' and CODINT = 'VP') + and not (CODFIS = 'CRLNTN57R17G273H' and CONTO = '00167278823' and RETE = 'F' and CODINT = '91') + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_ANAG_CC' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CC_TERZI.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CC_TERZI.sql new file mode 100644 index 00000000..66e25515 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CC_TERZI.sql @@ -0,0 +1,83 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ANAG_CC_TERZI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CC_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CC_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ANAG_CC_TERZI + + INSERT INTO [C6MartPeriodico].[ANAG_CC_TERZI] + ([RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDO] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB]) + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + NULL AS COINTEST, + ALL_PATR_TERZI.NOMEPRODOTTO AS COD_CC, + CONTRATTOSEI.FASCIA_CPP AS FASCIA_CPP, + ALL_PATR_TERZI.PATRIMONIO_TERZI AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + LEFT JOIN + C6Mart.CONTRATTOSEI + ON + CONTRATTOSEI.COD_FISCALE = ALL_PATR_TERZI.CODICE_FISCALE + AND CONTRATTOSEI.RETE = ALL_PATR_TERZI.RETE_PB + WHERE + ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_FNC + AND DESCRIZIONE_PRODOTTO LIKE '%CURRENTACCOUNT%' + AND DESCRIZIONE_ALBERATURA LIKE '%CONTICORRENTI%' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CC_TERZI' + ) + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CC_TERZI_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CC_TERZI_pre_selective.sql new file mode 100644 index 00000000..30867915 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CC_TERZI_pre_selective.sql @@ -0,0 +1,83 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ANAG_CC_TERZI_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CC_TERZI_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CC_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ANAG_CC_TERZI + + INSERT INTO [C6MartPeriodico].[ANAG_CC_TERZI] + ([RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDO] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB]) + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + NULL AS COINTEST, + ALL_PATR_TERZI.NOMEPRODOTTO AS COD_CC, + CONTRATTOSEI.FASCIA_CPP AS FASCIA_CPP, + ALL_PATR_TERZI.PATRIMONIO_TERZI AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + LEFT JOIN + C6Mart.CONTRATTOSEI + ON + CONTRATTOSEI.COD_FISCALE = ALL_PATR_TERZI.CODICE_FISCALE + AND CONTRATTOSEI.RETE = ALL_PATR_TERZI.RETE_PB + WHERE + ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_FNC + AND DESCRIZIONE_PRODOTTO LIKE '%CURRENTACCOUNT%' + AND DESCRIZIONE_ALBERATURA LIKE '%CONTICORRENTI%' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CC_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CC_TERZI_pre_selective' + ) + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CC_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CC_pre_selective.sql new file mode 100644 index 00000000..528fceb6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CC_pre_selective.sql @@ -0,0 +1,90 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ANAG_CC_pre_selective + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CC_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CC_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[ANAG_CC] + + INSERT INTO [C6MartPeriodico].[ANAG_CC] + ([RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDOCONTABILE] + ,[SALDODISPONIBILE] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + CONTR_SINTESI.RETE AS RETE, + CONTR_SINTESI.CODFIS AS COD_FISCALE, + 'FIDEURAM' AS INTERMEDIARIO, + NULL AS COINTEST, + CONTR_SINTESI.CONTO AS COD_CC, + '' AS FASCIA_CPP, + CONTR_SINTESI.CTV AS SALDOCONTABILE, + CONTR_SINTESI.SALRISC AS SALDODISPONIBILE, + --CONTR_SINTESI.DATADISOTTOSCRIZIONE AS DATA_APERTURA, + CAST(CAST(CONTR_SINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME) AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI AS CONTR_SINTESI + WHERE + CONTR_SINTESI.TIPPROD = 'Cc' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CC_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CC_pre_selective' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CLIENTI.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CLIENTI.sql new file mode 100644 index 00000000..098629b5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CLIENTI.sql @@ -0,0 +1,136 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ANAG_CLIENTI + + +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CLIENTI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE_PB AS RETE, + AL.CODICEFISCALE AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOME)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOME)) AS COGNOME, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libero' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libera' + ELSE NULL + END AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + NULL AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.CODICE_PB AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN2 CL + ON CL.RETE = AL.RETE_PB + AND ( ltrim(rtrim(CL.CODFIS)) = AL.CODICEFISCALE) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql new file mode 100644 index 00000000..61dbea84 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql @@ -0,0 +1,146 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE_PB AS RETE, + AL.CODICEFISCALE AS COD_FISCALE, + AL.NOME AS NOME, + AL.COGNOME AS COGNOME, + AL.DATA_NASCITA AS DATA_NASCITA, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libero' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libera' + ELSE NULL + END AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(AL.DATA_NASCITA) AS ETA, + NULL AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(C6.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(C6.CITTA, '') AS LOCALITA, + ISNULL(C6.PROV, '') AS PROVINCIA, + ISNULL(C6.CAP, '') AS CAP, + ISNULL(C6.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + NULL AS SESSO, + AL.CODICE_PB AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB AL + LEFT JOIN + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, INDIRIZZO, CITTA, PROV, CAP, NAZIONE, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6Mart.CONTRATTOSEI) C6 + ON AL.RETE_PB = C6.RETE + AND AL.CODICEFISCALE = C6.COD_FISCALE + WHERE + --C6.Data_FINEAvanzato IS NULL + ISNULL(C6.Data_FineAvanzato, CAST('99991231' AS datetime)) > cast(c6martperiodico.getPreviousTrimestre(getDate(),0) as datetime)--CAST('20100930' AS datetime)) + AND C6.UltimoAperto = 1 + + +/* +LEFT JOIN C6STAGINGPERIODICO.WSEIAN CL + ON CL.RETE = AL.RETE_PB + AND CL.CODFIS = AL.CODICEFISCALE + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN + ) +*/ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CLIENTI_PREV.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CLIENTI_PREV.sql new file mode 100644 index 00000000..d1c0f7b4 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CLIENTI_PREV.sql @@ -0,0 +1,71 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ANAG_CLIENTI_PREV + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CLIENTI_PREV] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + TRUNCATE TABLE C6MARTPERIODICO.ANAG_CLIENTI_PREV; + + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI_PREV] + ([RETE] + ,[COD_FISCALE] + ,[STATO_LAVORATIVO] + ,[PROFESSIONE] + ,[CAT_PROFESSIONALE] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[RETRIB_LORDA] + ,[PROFESSIONE_SEC] + ,[CAT_PROFESSIONALE_SEC] + ,[DATA_INIZIO_SEC] + ,[DATA_FINE_SEC] + ,[RETRIB_LORDA_SEC] + ,[PROFESSIONE_PREC] + ,[CAT_PROFESSIONALE_PREC] + ,[DATA_INIZIO_PREC] + ,[DATA_FINE_PREC] + ,[RETRIB_LORDA_PREC] + ,[RICONGIUNZIONE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SUBSTRING(ALL_CF_PB.RETE_PB,1,1) AS RETE, + SUBSTRING(ALL_CF_PB.CODICE_FISCALE,1,16) AS COD_FISCALE, + NULL AS STATO_LAVORATIVO, + NULL AS PROFESSIONE, + NULL AS CAT_PROFESSIONALE, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS RETRIB_LORDA, + NULL AS PROFESSIONE_SEC, + NULL AS CAT_PROFESSIONALE_SEC, + NULL AS DATA_INIZIO_SEC, + NULL AS DATA_FINE_SEC, + NULL AS RETRIB_LORDA_SEC, + NULL AS PROFESSIONE_PREC, + NULL AS CAT_PROFESSIONALE_PREC, + NULL AS DATA_INIZIO_PREC, + NULL AS DATA_FINE_PREC, + NULL AS RETRIB_LORDA_PREC, + NULL AS RICONGIUNZIONE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CLIENTI_PREV_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CLIENTI_PREV_pre_selective.sql new file mode 100644 index 00000000..4ba4fb22 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CLIENTI_PREV_pre_selective.sql @@ -0,0 +1,71 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ANAG_CLIENTI_PREV_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CLIENTI_PREV_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + TRUNCATE TABLE C6MARTPERIODICO.ANAG_CLIENTI_PREV; + + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI_PREV] + ([RETE] + ,[COD_FISCALE] + ,[STATO_LAVORATIVO] + ,[PROFESSIONE] + ,[CAT_PROFESSIONALE] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[RETRIB_LORDA] + ,[PROFESSIONE_SEC] + ,[CAT_PROFESSIONALE_SEC] + ,[DATA_INIZIO_SEC] + ,[DATA_FINE_SEC] + ,[RETRIB_LORDA_SEC] + ,[PROFESSIONE_PREC] + ,[CAT_PROFESSIONALE_PREC] + ,[DATA_INIZIO_PREC] + ,[DATA_FINE_PREC] + ,[RETRIB_LORDA_PREC] + ,[RICONGIUNZIONE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SUBSTRING(ALL_CF_PB.RETE_PB,1,1) AS RETE, + SUBSTRING(ALL_CF_PB.CODICE_FISCALE,1,16) AS COD_FISCALE, + NULL AS STATO_LAVORATIVO, + NULL AS PROFESSIONE, + NULL AS CAT_PROFESSIONALE, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS RETRIB_LORDA, + NULL AS PROFESSIONE_SEC, + NULL AS CAT_PROFESSIONALE_SEC, + NULL AS DATA_INIZIO_SEC, + NULL AS DATA_FINE_SEC, + NULL AS RETRIB_LORDA_SEC, + NULL AS PROFESSIONE_PREC, + NULL AS CAT_PROFESSIONALE_PREC, + NULL AS DATA_INIZIO_PREC, + NULL AS DATA_FINE_PREC, + NULL AS RETRIB_LORDA_PREC, + NULL AS RICONGIUNZIONE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CLIENTI_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CLIENTI_pre_selective.sql new file mode 100644 index 00000000..7f03ddab --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_CLIENTI_pre_selective.sql @@ -0,0 +1,145 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ANAG_CLIENTI_pre_selective + + +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CLIENTI_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CLIENTI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE_PB AS RETE, + AL.CODICEFISCALE AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOME)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOME)) AS COGNOME, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libero' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libera' + ELSE NULL + END AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + NULL AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.CODICE_PB AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN2 CL + ON CL.RETE = AL.RETE_PB + AND ( ltrim(rtrim(CL.CODFIS)) = AL.CODICEFISCALE) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 + ) and Al.codicefiscale not like '%@%' + + union + SELECT + AL.RETE_PB AS RETE, + AL.CODICEFISCALE AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOME)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOME) diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI.sql new file mode 100644 index 00000000..499a819a --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI.sql @@ -0,0 +1,115 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ANAG_PRODOTTI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PRODOTTI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].ANAG_PRODOTTI + + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI] + ([COD_PRODOTTO] + ,[COD_ISIN] + ,[PAESE] + ,[ID_AREA] + ,[CAT_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[COD_MAF] + ,[RATING] + ,[COD_ADEGUATEZZA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[DT_SCADENZA] + ,[TIPO_TASSO] + ,[TIPO_EMITTENTE] + ,[FLG_OB] + ) + SELECT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + CATITEMREF.COD_ISIN AS COD_ISIN, + CATITEMREF.COUNTRY AS PAESE, + '' AS ID_AREA, + (SELECT CASE SUBSTRING(CATITEMREF.TYPE$_BCATAL_FC317,64,3) + WHEN 'Ges' THEN 'Gestito Finanziario' + WHEN 'Amm' THEN 'Amministrato' + WHEN 'Ass' THEN 'Assicurativo' + END) AS CAT_PRODOTTO, + CATITEMREF.TIPOPRODOTTO AS TIPO_PRODOTTO, + CATITEMREF.CATALOGUENAME AS DESCR_PRODOTTO, + CATITEMREF.PRODUCTCURRENCY AS DIV_QUOTAZIONE, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + CATITEMREF.PIAZZA AS MERCATO_CONTRATT, + CATITEMREF.COD_MAF AS COD_MAF, + CATITEMREF.RATOBBLIG AS RATING, + CATITEMREF.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + CATITEMREF.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + CATITEMREF.COD_INTERNO AS COD_INTERNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CATITEMREF.expirationdate AS DT_SCADENZA, + CASE + WHEN CATITEMREF.TIP_TASSO = '0 CPN' THEN 'Zero Coupon' + ELSE CATITEMREF.TIP_TASSO + END AS TIPO_TASSO, + CATITEMREF.TIP_EMITTENTE AS TIPO_EMITTENTE, + CASE WHEN TYPE$_BCATAL_FC317 like '%.Titoli.Ob%' THEN 'S' + ELSE 'N' + END AS FLG_OB + FROM C6STAGINGPERIODICO.CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(OID$) AS OID + FROM C6STAGINGPERIODICO.CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.OID$ = DOPPICATITEMREF.OID + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI.sql new file mode 100644 index 00000000..0705e2e8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI.sql @@ -0,0 +1,90 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ANAG_PRODOTTI_TERZI + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PRODOTTI_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ANAG_PRODOTTI_TERZI + + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_TERZI] + ([COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[NOME_PRODOTTO] + ,[ALBERO_PRODOTTI] + ,[COD_ISIN] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[INTERMEDIARIO] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[PAESE] + ,[RATING] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO AS COD_PRODOTTO, + ALL_PATR_TERZI.CHIAVE_THR AS COD_PRODOTTO_TERZI, + ALL_PATR_TERZI.NOMEPRODOTTO AS NOME_PRODOTTO, + ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA AS ALBERO_PRODOTTI, + NULL AS COD_ISIN, + ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO AS DESCR_PRODOTTO, + NULL AS DIV_QUOTAZIONE, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + NULL AS PAESE, + NULL AS RATING, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI ALL_PATR_TERZI + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI_TERZI' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql new file mode 100644 index 00000000..4f0871d3 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql @@ -0,0 +1,90 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ANAG_PRODOTTI_TERZI_pre_selective + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PRODOTTI_TERZI_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ANAG_PRODOTTI_TERZI + + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_TERZI] + ([COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[NOME_PRODOTTO] + ,[ALBERO_PRODOTTI] + ,[COD_ISIN] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[INTERMEDIARIO] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[PAESE] + ,[RATING] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO AS COD_PRODOTTO, + ALL_PATR_TERZI.CHIAVE_THR AS COD_PRODOTTO_TERZI, + ALL_PATR_TERZI.NOMEPRODOTTO AS NOME_PRODOTTO, + ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA AS ALBERO_PRODOTTI, + NULL AS COD_ISIN, + ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO AS DESCR_PRODOTTO, + NULL AS DIV_QUOTAZIONE, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + NULL AS PAESE, + NULL AS RATING, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI ALL_PATR_TERZI + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI_TERZI_pre_selective' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE.sql new file mode 100644 index 00000000..df0b077e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE.sql @@ -0,0 +1,71 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ANAG_PRODOTTI_VALUTE + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PRODOTTI_VALUTE] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI_VALUTE', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].ANAG_PRODOTTI_VALUTE + + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_VALUTE] + + SELECT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + VALUTE.DIVISA, + VALUTE.PESO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + + FROM C6STAGINGPERIODICO.CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(OID$) AS OID + FROM C6STAGINGPERIODICO.CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.OID$ = DOPPICATITEMREF.OID + INNER JOIN --SELECT TOP 1 * FROM + [C6StagingPeriodico].[RDR_VALUTE_DB_DTGIORNALIERI] VALUTE + ON VALUTE.CHIAVEPRODOTTO = CATITEMREF.OID$ + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI_VALUTE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI_VALUTE' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql new file mode 100644 index 00000000..6c6a9fd0 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql @@ -0,0 +1,71 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ANAG_PRODOTTI_VALUTE_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PRODOTTI_VALUTE_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI_VALUTE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].ANAG_PRODOTTI_VALUTE + + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_VALUTE] + + SELECT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + VALUTE.DIVISA, + VALUTE.PESO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + + FROM C6STAGINGPERIODICO.CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(OID$) AS OID + FROM C6STAGINGPERIODICO.CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.OID$ = DOPPICATITEMREF.OID + INNER JOIN --SELECT TOP 1 * FROM + [C6StagingPeriodico].[RDR_VALUTE_DB_DTGIORNALIERI] VALUTE + ON VALUTE.CHIAVEPRODOTTO = CATITEMREF.OID$ + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI_VALUTE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI_VALUTE_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI_pre_selective.sql new file mode 100644 index 00000000..9436f830 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PRODOTTI_pre_selective.sql @@ -0,0 +1,115 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ANAG_PRODOTTI_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PRODOTTI_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].ANAG_PRODOTTI + + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI] + ([COD_PRODOTTO] + ,[COD_ISIN] + ,[PAESE] + ,[ID_AREA] + ,[CAT_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[COD_MAF] + ,[RATING] + ,[COD_ADEGUATEZZA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[DT_SCADENZA] + ,[TIPO_TASSO] + ,[TIPO_EMITTENTE] + ,[FLG_OB] + ) + SELECT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + CATITEMREF.COD_ISIN AS COD_ISIN, + CATITEMREF.COUNTRY AS PAESE, + '' AS ID_AREA, + (SELECT CASE SUBSTRING(CATITEMREF.TYPE$_BCATAL_FC317,64,3) + WHEN 'Ges' THEN 'Gestito Finanziario' + WHEN 'Amm' THEN 'Amministrato' + WHEN 'Ass' THEN 'Assicurativo' + END) AS CAT_PRODOTTO, + CATITEMREF.TIPOPRODOTTO AS TIPO_PRODOTTO, + CATITEMREF.CATALOGUENAME AS DESCR_PRODOTTO, + CATITEMREF.PRODUCTCURRENCY AS DIV_QUOTAZIONE, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + CATITEMREF.PIAZZA AS MERCATO_CONTRATT, + CATITEMREF.COD_MAF AS COD_MAF, + CATITEMREF.RATOBBLIG AS RATING, + CATITEMREF.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + CATITEMREF.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + CATITEMREF.COD_INTERNO AS COD_INTERNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CATITEMREF.expirationdate AS DT_SCADENZA, + CASE + WHEN CATITEMREF.TIP_TASSO = '0 CPN' THEN 'Zero Coupon' + ELSE CATITEMREF.TIP_TASSO + END AS TIPO_TASSO, + CATITEMREF.TIP_EMITTENTE AS TIPO_EMITTENTE, + CASE WHEN TYPE$_BCATAL_FC317 like '%.Titoli.Ob%' THEN 'S' + ELSE 'N' + END AS FLG_OB + FROM C6STAGINGPERIODICO.CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(OID$) AS OID + FROM C6STAGINGPERIODICO.CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.OID$ = DOPPICATITEMREF.OID + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PROMOTORI.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PROMOTORI.sql new file mode 100644 index 00000000..7759fdb3 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PROMOTORI.sql @@ -0,0 +1,125 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ANAG_PROMOTORI + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PROMOTORI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PROMOTORI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ANAG_PROMOTORI + + INSERT INTO C6MartPeriodico.[ANAG_PROMOTORI] + ([RETE] + ,[ID_PROMOTORE] + ,[LIVELLO] + ,[COD_FISCALE] + ,[PARTITA_IVA] + ,[COGNOME] + ,[NOME] + ,[RAG_SOC] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[COD_ABI] + ,[COD_CAB] + ,[COD_CIN] + ,[COD_CC] + ,[STATO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ADS4WS_PROMOTORI.RETE AS RETE, + ADS4WS_PROMOTORI.CODICE AS ID_PROMOTORE, + 'PB' AS LIVELLO, -- TODO: DA RIMUOVERE UNA VOLTA IMPORTATI I DATI DAL SIMPB + NULL AS COD_FISCALE, + NULL AS PARTITA_IVA, + rtrim(ltrim(ADS4WS_PROMOTORI.COGNOME)) AS COGNOME, + rtrim(ltrim(ADS4WS_PROMOTORI.NOME)) AS NOME, + NULL AS RAG_SOC, + CASE WHEN ADS4WS_PROMOTORI.DataInizioCollaborazione=0 THEN NULL ELSE + CAST(CAST(ADS4WS_PROMOTORI.DataInizioCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_INIZIO, + CASE WHEN ADS4WS_PROMOTORI.DataFineCollaborazione=0 THEN NULL ELSE + CAST(CAST(ADS4WS_PROMOTORI.DataFineCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_FINE, + rtrim(ltrim(ADS4WS_PROMOTORI.INDIRIZZO)) AS INDIRIZZO, + rtrim(ltrim(ADS4WS_PROMOTORI.CITTA)) AS LOCALITA, + rtrim(ltrim(ADS4WS_PROMOTORI.PROVINCIA)) AS PROVINCIA, + rtrim(ltrim(ADS4WS_PROMOTORI.CAP)) AS CAP, + NULL AS NAZIONE, + rtrim(ltrim(ADS4WS_PROMOTORI.prefissotelefono + ADS4WS_PROMOTORI.TelefonoAgenzia1)) AS TEL_RECAPITO, + NULL AS TEL_CELL, + rtrim(ltrim(EMAIL_PB.EMAIL)) AS E_MAIL, + NULL AS COD_ABI, + NULL AS COD_CAB, + NULL AS COD_CIN, + NULL AS COD_CC, +-- CASE +-- WHEN SPB_NAC.CODICEAGENTE IS NULL THEN 'TERMINATO' +-- ELSE + CASE + WHEN PF.RETE IS NULL THEN 'ATTIVO' + ELSE 'FITTIZIO' + END +-- END + AS STATO +, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ADS4WS_PROMOTORI ADS4WS_PROMOTORI + LEFT JOIN C6MARTPERIODICO.EMAIL_PB EMAIL_PB + ON ADS4WS_PROMOTORI.RETE = EMAIL_PB.RETE + AND ADS4WS_PROMOTORI.CODICE = EMAIL_PB.CODICE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (ADS4WS_PROMOTORI.CODICE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND ADS4WS_PROMOTORI.RETE = PF.RETE + WHERE ADS4WS_PROMOTORI.STATO = 'A' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PROMOTORI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PROMOTORI' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PROMOTORI_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PROMOTORI_pre_selective.sql new file mode 100644 index 00000000..fa62db4a --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_PROMOTORI_pre_selective.sql @@ -0,0 +1,125 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ANAG_PROMOTORI_pre_selective + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PROMOTORI_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PROMOTORI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ANAG_PROMOTORI + + INSERT INTO C6MartPeriodico.[ANAG_PROMOTORI] + ([RETE] + ,[ID_PROMOTORE] + ,[LIVELLO] + ,[COD_FISCALE] + ,[PARTITA_IVA] + ,[COGNOME] + ,[NOME] + ,[RAG_SOC] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[COD_ABI] + ,[COD_CAB] + ,[COD_CIN] + ,[COD_CC] + ,[STATO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ADS4WS_PROMOTORI.RETE AS RETE, + ADS4WS_PROMOTORI.CODICE AS ID_PROMOTORE, + 'PB' AS LIVELLO, -- TODO: DA RIMUOVERE UNA VOLTA IMPORTATI I DATI DAL SIMPB + NULL AS COD_FISCALE, + NULL AS PARTITA_IVA, + rtrim(ltrim(ADS4WS_PROMOTORI.COGNOME)) AS COGNOME, + rtrim(ltrim(ADS4WS_PROMOTORI.NOME)) AS NOME, + NULL AS RAG_SOC, + CASE WHEN ADS4WS_PROMOTORI.DataInizioCollaborazione=0 THEN NULL ELSE + CAST(CAST(ADS4WS_PROMOTORI.DataInizioCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_INIZIO, + CASE WHEN ADS4WS_PROMOTORI.DataFineCollaborazione=0 THEN NULL ELSE + CAST(CAST(ADS4WS_PROMOTORI.DataFineCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_FINE, + rtrim(ltrim(ADS4WS_PROMOTORI.INDIRIZZO)) AS INDIRIZZO, + rtrim(ltrim(ADS4WS_PROMOTORI.CITTA)) AS LOCALITA, + rtrim(ltrim(ADS4WS_PROMOTORI.PROVINCIA)) AS PROVINCIA, + rtrim(ltrim(ADS4WS_PROMOTORI.CAP)) AS CAP, + NULL AS NAZIONE, + rtrim(ltrim(ADS4WS_PROMOTORI.prefissotelefono + ADS4WS_PROMOTORI.TelefonoAgenzia1)) AS TEL_RECAPITO, + NULL AS TEL_CELL, + rtrim(ltrim(EMAIL_PB.EMAIL)) AS E_MAIL, + NULL AS COD_ABI, + NULL AS COD_CAB, + NULL AS COD_CIN, + NULL AS COD_CC, +-- CASE +-- WHEN SPB_NAC.CODICEAGENTE IS NULL THEN 'TERMINATO' +-- ELSE + CASE + WHEN PF.RETE IS NULL THEN 'ATTIVO' + ELSE 'FITTIZIO' + END +-- END + AS STATO +, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ADS4WS_PROMOTORI ADS4WS_PROMOTORI + LEFT JOIN C6MARTPERIODICO.EMAIL_PB EMAIL_PB + ON ADS4WS_PROMOTORI.RETE = EMAIL_PB.RETE + AND ADS4WS_PROMOTORI.CODICE = EMAIL_PB.CODICE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (ADS4WS_PROMOTORI.CODICE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND ADS4WS_PROMOTORI.RETE = PF.RETE + WHERE ADS4WS_PROMOTORI.STATO = 'A' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PROMOTORI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PROMOTORI_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_SELF.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_SELF.sql new file mode 100644 index 00000000..ac34ee75 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_SELF.sql @@ -0,0 +1,90 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ANAG_SELF + + + + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_SELF] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[ANAG_SELF] + + INSERT INTO [C6MartPeriodico].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,NOMEPRODOTTO + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB] + ,CodInterno + ,CodSottoprodotto) + SELECT + SPB.RETE + ,SPB.CODFIS + ,SPB.CODCONF + ,CAT.NomeProdotto + ,SPB.CTV + ,SPB.DTSOTTOS + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + ,CodInterno + ,CodSottoprodotto + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB + inner join C6StagingPeriodico.RP_CatalogoProdotti CAT + on SPB.isin = CAT.codisin and CAT.visibilita = 1 + -- aggiunto il 17/12/2018 per gestire l'ambiguit tra GP e FO a parit di Isin + and SPB.CodInt = CAT.CodInterno + -- fine modifica + WHERE SPB.isin in ('EURO00000009', 'EURO10000007') + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_ANAG_SELF' + ) + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_SELF_20181214_PreMioFoglio.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_SELF_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..f12a5a1b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_SELF_20181214_PreMioFoglio.sql @@ -0,0 +1,88 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ANAG_SELF_20181214_PreMioFoglio + + + + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_SELF_20181214_PreMioFoglio] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[ANAG_SELF] + + INSERT INTO [C6MartPeriodico].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,NOMEPRODOTTO + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SPB.RETE + ,SPB.CODFIS + ,SPB.CODCONF + ,CAT.NomeProdotto + ,SPB.CTV + ,SPB.DTSOTTOS + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB + inner join C6StagingPeriodico.RP_CatalogoProdotti CAT + on SPB.isin = CAT.codisin and CAT.visibilita = 1 + WHERE SPB.isin in ('EURO00000009', 'EURO10000007') + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_ANAG_SELF' + ) + +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_SELF_BK_eligoTitoli.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_SELF_BK_eligoTitoli.sql new file mode 100644 index 00000000..29614f7d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_SELF_BK_eligoTitoli.sql @@ -0,0 +1,78 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ANAG_SELF_BK_eligoTitoli + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_SELF_BK_eligoTitoli] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[ANAG_SELF] + + INSERT INTO [C6MartPeriodico].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + RETE + ,CODFIS + ,CODCONF + ,CTV + ,DTSOTTOS + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI + WHERE isin = 'EURO00000009' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_SELF' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_SELF_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_SELF_pre_selective.sql new file mode 100644 index 00000000..340c12c5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ANAG_SELF_pre_selective.sql @@ -0,0 +1,85 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ANAG_SELF_pre_selective + + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_SELF_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[ANAG_SELF] + + INSERT INTO [C6MartPeriodico].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,NOMEPRODOTTO + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SPB.RETE + ,SPB.CODFIS + ,SPB.CODCONF + ,CAT.NomeProdotto + ,SPB.CTV + ,SPB.DTSOTTOS + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB + inner join C6StagingPeriodico.RP_CatalogoProdotti CAT + on SPB.isin = CAT.codisin and CAT.visibilita = 1 + WHERE SPB.isin in ('EURO00000009', 'EURO10000007') + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_SELF_pre_selective' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_AREA_BISOGNO.sql b/sql/storedCollaudo/C6MartPeriodico_DM_AREA_BISOGNO.sql new file mode 100644 index 00000000..d7ee8a58 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_AREA_BISOGNO.sql @@ -0,0 +1,59 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_AREA_BISOGNO + +CREATE procedure [C6MartPeriodico].[DM_AREA_BISOGNO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + + TRUNCATE TABLE C6MartPeriodico.AREA_BISOGNO + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_AREA_BISOGNO', + GETDATE(), + 'Elaborazione trimestrale' + ) + + INSERT INTO C6MartPeriodico.[AREA_BISOGNO] + ([ID_AREA] + ,[NOME_AREA] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(NEEDAREA.OID$)) AS ID_AREA, + LTRIM(RTRIM(NEEDAREA.AREANAME)) AS NOME_AREA, + NEEDAREA.AREASORTORDER AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.NEEDAREA + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_AREA_BISOGNO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_AREA_BISOGNO' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_AREA_BISOGNO_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_AREA_BISOGNO_pre_selective.sql new file mode 100644 index 00000000..5a19c26e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_AREA_BISOGNO_pre_selective.sql @@ -0,0 +1,59 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_AREA_BISOGNO_pre_selective + +CREATE procedure [C6MartPeriodico].[DM_AREA_BISOGNO_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + + TRUNCATE TABLE C6MartPeriodico.AREA_BISOGNO + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_AREA_BISOGNO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + INSERT INTO C6MartPeriodico.[AREA_BISOGNO] + ([ID_AREA] + ,[NOME_AREA] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(NEEDAREA.OID$)) AS ID_AREA, + LTRIM(RTRIM(NEEDAREA.AREANAME)) AS NOME_AREA, + NEEDAREA.AREASORTORDER AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.NEEDAREA + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_AREA_BISOGNO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_AREA_BISOGNO_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ASSETCLASS.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ASSETCLASS.sql new file mode 100644 index 00000000..d2cd1fff --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ASSETCLASS.sql @@ -0,0 +1,64 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ASSETCLASS + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSETCLASS] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSETCLASS', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].ASSETCLASS + + INSERT INTO [C6MartPeriodico].[ASSETCLASS] + ([ID_ASSETCLASS] + ,[DESCRIZIONE] + ,[LIVELLO] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(ASSETCLASS.OID$)) AS ID_ASSETCLASS, + LTRIM(RTRIM(ASSETCLASS.ASSETCLASSDESCR)) AS DESCRIZIONE, + ASSETCLASS.ASSETCLASSLEV AS LIVELLO, + ASSETCLASS.ORDINE AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodico.ASSETCLASS + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSETCLASS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSETCLASS' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ASSETCLASS_TERZI.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ASSETCLASS_TERZI.sql new file mode 100644 index 00000000..a64ee9bb --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ASSETCLASS_TERZI.sql @@ -0,0 +1,68 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ASSETCLASS_TERZI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSETCLASS_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + SET @TIPO_ELAB = [C6MartPeriodico].GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSETCLASS_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].ASSETCLASS_TERZI + + INSERT INTO [C6MartPeriodico].[ASSETCLASS_TERZI] + ([ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_ADEGUATEZZA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + LTRIM(RTRIM(ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO)) AS ID_ASSETCLASS, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN,'$'))) AS COD_ISIN, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF,'$'))) AS COD_MAF, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA,'$'))) AS COD_ADEGUATEZZA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.ALL_ASSET_CLASS_PER_PROMET + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSETCLASS_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSETCLASS_TERZI' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ASSETCLASS_TERZI_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ASSETCLASS_TERZI_pre_selective.sql new file mode 100644 index 00000000..27b14da6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ASSETCLASS_TERZI_pre_selective.sql @@ -0,0 +1,68 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ASSETCLASS_TERZI_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSETCLASS_TERZI_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + SET @TIPO_ELAB = [C6MartPeriodico].GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSETCLASS_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].ASSETCLASS_TERZI + + INSERT INTO [C6MartPeriodico].[ASSETCLASS_TERZI] + ([ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_ADEGUATEZZA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + LTRIM(RTRIM(ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO)) AS ID_ASSETCLASS, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN,'$'))) AS COD_ISIN, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF,'$'))) AS COD_MAF, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA,'$'))) AS COD_ADEGUATEZZA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.ALL_ASSET_CLASS_PER_PROMET + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSETCLASS_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSETCLASS_TERZI_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ASSETCLASS_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ASSETCLASS_pre_selective.sql new file mode 100644 index 00000000..75a035f6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ASSETCLASS_pre_selective.sql @@ -0,0 +1,64 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ASSETCLASS_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSETCLASS_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSETCLASS_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].ASSETCLASS + + INSERT INTO [C6MartPeriodico].[ASSETCLASS] + ([ID_ASSETCLASS] + ,[DESCRIZIONE] + ,[LIVELLO] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(ASSETCLASS.OID$)) AS ID_ASSETCLASS, + LTRIM(RTRIM(ASSETCLASS.ASSETCLASSDESCR)) AS DESCRIZIONE, + ASSETCLASS.ASSETCLASSLEV AS LIVELLO, + ASSETCLASS.ORDINE AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodico.ASSETCLASS + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSETCLASS_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSETCLASS_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ASSET_PERC.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ASSET_PERC.sql new file mode 100644 index 00000000..1077dd9b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ASSET_PERC.sql @@ -0,0 +1,89 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ASSET_PERC + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSET_PERC] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSET_PERC', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[ASSET_PERC] + + INSERT INTO [C6MartPeriodico].[ASSET_PERC] + ([COD_PRODOTTO] + ,[ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[LIVELLO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + LTRIM(RTRIM(ACBDENTRY.F_OID$_PASSE_B8A1E)) AS ID_ASSETCLASS, + CATITEMREF.COD_ISIN AS COD_ISIN, + CATITEMREF.COD_MAF AS COD_MAF, + CATITEMREF.COD_INTERNO AS COD_INTERNO, + CATITEMREF.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + LTRIM(RTRIM(ASSETCLASS.ASSETCLASSLEV)) AS LIVELLO, + LTRIM(RTRIM(ACBDENTRY.BDPERCENTAGE)) AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.CATITEMREF + INNER JOIN + C6StagingPeriodico.INSTRBDS + ON + INSTRBDS.F_OID$_PCATA_5DDA6 = CATITEMREF.OID$ + INNER JOIN + C6StagingPeriodico.ACBDENTRY + ON + ACBDENTRY.F_PINSTRUMEN_FBCDE = INSTRBDS.OID$ + INNER JOIN + C6StagingPeriodico.ASSETCLASS + ON + ASSETCLASS.OID$ = ACBDENTRY.F_OID$_PASSE_B8A1E + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSET_PERC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSET_PERC' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ASSET_PERC_TERZI.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ASSET_PERC_TERZI.sql new file mode 100644 index 00000000..107d655f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ASSET_PERC_TERZI.sql @@ -0,0 +1,92 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ASSET_PERC_TERZI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSET_PERC_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + SET @TIPO_ELAB = [C6MartPeriodico].GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSET_PERC_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[ASSET_PERC_TERZI] + + INSERT INTO [C6MartPeriodico].[ASSET_PERC_TERZI] + ([COD_PRODOTTO_TERZI] + ,[ID_ASSETCLASS] + ,[LIVELLO] + ,[NOME_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + PATR_TP.CHIAVE_THR AS COD_PRODOTTO_TERZI, + ASS.OID$ AS ID_ASSETCLASS, + ASS.ASSETCLASSLEV AS LIVELLO, + CONVERT( VARCHAR(50),PATR_TP.NOMEPRODOTTO) AS NOME_PRODOTTO, + ALBERO.ALBERO_GERARCHIA_3 AS TIPO_PRODOTTO, + ACB.BDPERCENTAGE AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI PATR_TP, + C6StagingPeriodico.ACBDENOTH ACB, + C6StagingPeriodico.ASSETCLASS ASS, + C6StagingPeriodico.S4_S5_S13_TRAD_UNTIL_LIV3 ALBERO + WHERE 1 = 1 + AND PATR_TP.CHIAVE_FNC IS NOT NULL + AND ALBERO.DESCRIZIONE_ORIGINALE = PATR_TP.DESCRIZIONE_ALBERATURA + AND ACB.F_PFINANCIAL_815C0 = PATR_TP.CHIAVE_FNC + AND ACB.F_OID$_PASSE_CDF1A = ASS.OID$ + AND ASS.ASSETCLASSLEV IN (1,2) + AND PATR_TP.PRODOTTO_IN_CATALOGO IS NULL + GROUP BY + PATR_TP.CHIAVE_THR, + PATR_TP.NOMEPRODOTTO, + ASS.OID$, + ASS.ASSETCLASSLEV, + ALBERO.ALBERO_GERARCHIA_3, + ACB.BDPERCENTAGE, + ACB.OID$ + ORDER BY 2,4 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSET_PERC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSET_PERC_TERZI' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ASSET_PERC_TERZI_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ASSET_PERC_TERZI_pre_selective.sql new file mode 100644 index 00000000..ceda39c0 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ASSET_PERC_TERZI_pre_selective.sql @@ -0,0 +1,92 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ASSET_PERC_TERZI_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSET_PERC_TERZI_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + SET @TIPO_ELAB = [C6MartPeriodico].GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSET_PERC_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[ASSET_PERC_TERZI] + + INSERT INTO [C6MartPeriodico].[ASSET_PERC_TERZI] + ([COD_PRODOTTO_TERZI] + ,[ID_ASSETCLASS] + ,[LIVELLO] + ,[NOME_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + PATR_TP.CHIAVE_THR AS COD_PRODOTTO_TERZI, + ASS.OID$ AS ID_ASSETCLASS, + ASS.ASSETCLASSLEV AS LIVELLO, + CONVERT( VARCHAR(50),PATR_TP.NOMEPRODOTTO) AS NOME_PRODOTTO, + ALBERO.ALBERO_GERARCHIA_3 AS TIPO_PRODOTTO, + ACB.BDPERCENTAGE AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI PATR_TP, + C6StagingPeriodico.ACBDENOTH ACB, + C6StagingPeriodico.ASSETCLASS ASS, + C6StagingPeriodico.S4_S5_S13_TRAD_UNTIL_LIV3 ALBERO + WHERE 1 = 1 + AND PATR_TP.CHIAVE_FNC IS NOT NULL + AND ALBERO.DESCRIZIONE_ORIGINALE = PATR_TP.DESCRIZIONE_ALBERATURA + AND ACB.F_PFINANCIAL_815C0 = PATR_TP.CHIAVE_FNC + AND ACB.F_OID$_PASSE_CDF1A = ASS.OID$ + AND ASS.ASSETCLASSLEV IN (1,2) + AND PATR_TP.PRODOTTO_IN_CATALOGO IS NULL + GROUP BY + PATR_TP.CHIAVE_THR, + PATR_TP.NOMEPRODOTTO, + ASS.OID$, + ASS.ASSETCLASSLEV, + ALBERO.ALBERO_GERARCHIA_3, + ACB.BDPERCENTAGE, + ACB.OID$ + ORDER BY 2,4 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSET_PERC_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSET_PERC_TERZI_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ASSET_PERC_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ASSET_PERC_pre_selective.sql new file mode 100644 index 00000000..1b133bd9 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ASSET_PERC_pre_selective.sql @@ -0,0 +1,89 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ASSET_PERC_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSET_PERC_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSET_PERC_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[ASSET_PERC] + + INSERT INTO [C6MartPeriodico].[ASSET_PERC] + ([COD_PRODOTTO] + ,[ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[LIVELLO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + LTRIM(RTRIM(ACBDENTRY.F_OID$_PASSE_B8A1E)) AS ID_ASSETCLASS, + CATITEMREF.COD_ISIN AS COD_ISIN, + CATITEMREF.COD_MAF AS COD_MAF, + CATITEMREF.COD_INTERNO AS COD_INTERNO, + CATITEMREF.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + LTRIM(RTRIM(ASSETCLASS.ASSETCLASSLEV)) AS LIVELLO, + LTRIM(RTRIM(ACBDENTRY.BDPERCENTAGE)) AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.CATITEMREF + INNER JOIN + C6StagingPeriodico.INSTRBDS + ON + INSTRBDS.F_OID$_PCATA_5DDA6 = CATITEMREF.OID$ + INNER JOIN + C6StagingPeriodico.ACBDENTRY + ON + ACBDENTRY.F_PINSTRUMEN_FBCDE = INSTRBDS.OID$ + INNER JOIN + C6StagingPeriodico.ASSETCLASS + ON + ASSETCLASS.OID$ = ACBDENTRY.F_OID$_PASSE_B8A1E + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSET_PERC_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSET_PERC_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_BONUS.sql b/sql/storedCollaudo/C6MartPeriodico_DM_BONUS.sql new file mode 100644 index 00000000..2455e8dc --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_BONUS.sql @@ -0,0 +1,85 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_BONUS + + +CREATE procedure [C6MartPeriodico].[DM_BONUS] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @DTMAX INT + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + + SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEIBO + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_BONUS', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[BONUS] + + INSERT INTO [C6MartPeriodico].[BONUS] + ( + [RETE], + [COD_FISCALE], + [CTV], + [DT_TRIM], + [BONUS_M], + [DTDEC_M], + [BONUS_5], + [DTDEC_5], + [BONUS_10], + [DTDEC_10], + [COD_CONF], + [COD_PROD] + ) + SELECT + WSEIBO.[RETE] as [RETE], + WSEIBO.[CODFIS] as [COD_FISCALE], + WSEIBO.[CTV] as [CTV], + convert(datetime,convert(varchar,WSEIBO.[DTTRIM]),100) as [DT_TRIM], + WSEIBO.[BONUSM] as [BONUS_M], + convert(datetime,convert(varchar,WSEIBO.[DTDECM]),100) as [DTDEC_M], + WSEIBO.[BONUS5] as [BONUS_5], + convert(datetime,convert(varchar,WSEIBO.[DTDEC5]),100) as [DTDEC_5], + WSEIBO.[BONUS10] as [BONUS_10], + convert(datetime,convert(varchar,WSEIBO.[DTDEC10]),100) as [DTDEC_10], + WSEIBO.[CODCONF] as [COD_CONF], + WSEIBO.[CODPROD] as [COD_PROD] + FROM + c6StagingPeriodico.WSEIBO + WHERE + WSEIBO.[DTTRIM] = @DTMAX + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_BONUS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_BONUS' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_BONUS_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_BONUS_pre_selective.sql new file mode 100644 index 00000000..51f075e7 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_BONUS_pre_selective.sql @@ -0,0 +1,83 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_BONUS_pre_selective + +CREATE procedure [C6MartPeriodico].[DM_BONUS_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @DTMAX INT + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + + SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEIBO + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_BONUS_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[BONUS] + + INSERT INTO [C6MartPeriodico].[BONUS] + ( + [RETE], + [COD_FISCALE], + [CTV], + [DT_TRIM], + [BONUS_M], + [DTDEC_M], + [BONUS_5], + [DTDEC_5], + [BONUS_10], + [DTDEC_10], + [COD_CONF], + [COD_PROD] + ) + SELECT + WSEIBO.[RETE] as [RETE], + WSEIBO.[CODFIS] as [COD_FISCALE], + WSEIBO.[CTV] as [CTV], + convert(datetime,convert(varchar,WSEIBO.[DTTRIM]),100) as [DT_TRIM], + WSEIBO.[BONUSM] as [BONUS_M], + convert(datetime,convert(varchar,WSEIBO.[DTDECM]),100) as [DTDEC_M], + WSEIBO.[BONUS5] as [BONUS_5], + convert(datetime,convert(varchar,WSEIBO.[DTDEC5]),100) as [DTDEC_5], + WSEIBO.[BONUS10] as [BONUS_10], + convert(datetime,convert(varchar,WSEIBO.[DTDEC10]),100) as [DTDEC_10], + WSEIBO.[CODCONF] as [COD_CONF], + WSEIBO.[CODPROD] as [COD_PROD] + FROM + c6StagingPeriodico.WSEIBO + WHERE + WSEIBO.[DTTRIM] = @DTMAX + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_BONUS_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_BONUS_pre_selective' + ) + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT.sql b/sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT.sql new file mode 100644 index 00000000..140495e1 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT.sql @@ -0,0 +1,142 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_CAPPROT + + + + + + +-- ============================================= +-- Author: +-- Create date: <18/11/2014, Pomezia> +-- Description: +-- ============================================= + +-- ============================================= +-- +-- MOd: <26/11/2015, Pomezia> +-- Description: Aggiunto il campo 'des_prod_tit' per modifiche E-FOI80 +-- ============================================= + +--[C6MartPeriodico].[DM_CAPPROT] +CREATE procedure [C6MartPeriodico].[DM_CAPPROT] + + + +AS +BEGIN + +SET NOCOUNT ON; + + +DECLARE @Par_percentuale INT +SET @Par_percentuale = 80 + +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_CAPPROT', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.CAPPROT + + INSERT INTO C6MartPeriodico.CAPPROT + ([RETE] + ,[CODFIS] + ,[DES_PROD] + ,[COD_CONF] + ,[QUOTA] + ,[NUMEROQUOTE] + ,[CONTROVALORE] + ,[DATARIF] + ,[DES_MAX] + ,[QUOTA_MAX] + ,[QUOTA_MAX_PERC] + ,[DATARIF_MAX] + ,[DES_PROT] + ,[QUOTA_PROT] + ,[NUMEROQUOTE_PROT] + ,[CONTROVALORE_PROT] + ,[DES_PROD_TIT] + ) + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isin=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isin <> '' + + union + + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isinFIT=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT_20171129.sql b/sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT_20171129.sql new file mode 100644 index 00000000..50072bd8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT_20171129.sql @@ -0,0 +1,141 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_CAPPROT_20171129 + + + + + +-- ============================================= +-- Author: +-- Create date: <18/11/2014, Pomezia> +-- Description: +-- ============================================= + +-- ============================================= +-- +-- MOd: <26/11/2015, Pomezia> +-- Description: Aggiunto il campo 'des_prod_tit' per modifiche E-FOI80 +-- ============================================= + +--[C6MartPeriodico].[DM_CAPPROT] +CREATE procedure [C6MartPeriodico].[DM_CAPPROT_20171129] + + + +AS +BEGIN + +SET NOCOUNT ON; + + +DECLARE @Par_percentuale INT +SET @Par_percentuale = 80 + +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_CAPPROT', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.CAPPROT + + INSERT INTO C6MartPeriodico.CAPPROT + ([RETE] + ,[CODFIS] + ,[DES_PROD] + ,[COD_CONF] + ,[QUOTA] + ,[NUMEROQUOTE] + ,[CONTROVALORE] + ,[DATARIF] + ,[DES_MAX] + ,[QUOTA_MAX] + ,[QUOTA_MAX_PERC] + ,[DATARIF_MAX] + ,[DES_PROT] + ,[QUOTA_PROT] + ,[NUMEROQUOTE_PROT] + ,[CONTROVALORE_PROT] + ,[DES_PROD_TIT] + ) + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isin=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isin <> '' + + union + + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isinFIT=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataF diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT_BKP.sql b/sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT_BKP.sql new file mode 100644 index 00000000..a3f7cd30 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT_BKP.sql @@ -0,0 +1,148 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_CAPPROT_BKP + + + + + + + +-- ============================================= +-- Author: +-- Create date: <18/11/2014, Pomezia> +-- Description: +-- ============================================= +--[C6MartPeriodico].[DM_CAPPROT] +CREATE procedure [C6MartPeriodico].[DM_CAPPROT_BKP] + + + +AS +BEGIN + +SET NOCOUNT ON; + + +DECLARE @Par_percentuale INT +SET @Par_percentuale = 80 + +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CAPPROT', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.CAPPROT + + INSERT INTO C6MartPeriodico.CAPPROT + ([RETE] + ,[CODFIS] + ,[DES_PROD] + ,[COD_CONF] + ,[QUOTA] + ,[NUMEROQUOTE] + ,[CONTROVALORE] + ,[DATARIF] + ,[DES_MAX] + ,[QUOTA_MAX] + ,[QUOTA_MAX_PERC] + ,[DATARIF_MAX] + ,[DES_PROT] + ,[QUOTA_PROT] + ,[NUMEROQUOTE_PROT] + ,[CONTROVALORE_PROT] + ) + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + 'Quota e controvalore protetti' AS DES_PROT, + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isin=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isin <> '' + + union + + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + 'Quota e controvalore protetti' AS DES_PROT, + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isinFIT=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isinFIT <> '' + + union + + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + 'Quota e controvalore protetti' AS DES_PROT, + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + a diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT_FVI.sql b/sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT_FVI.sql new file mode 100644 index 00000000..ef34d5c3 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT_FVI.sql @@ -0,0 +1,138 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_CAPPROT_FVI + + + + + +-- ============================================= +-- Description: +-- ============================================= + + +--[C6MartPeriodico].[DM_CAPPROT_FVI] +CREATE procedure [C6MartPeriodico].[DM_CAPPROT_FVI] + + + +AS +BEGIN + +SET NOCOUNT ON; + + +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_CAPPROT_FVI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.CAPPROT_FVI + + INSERT INTO C6MartPeriodico.CAPPROT_FVI + ( +[RETE], +[CODFIS], +[CODPROD], +[SUBPROD], +[DES_PROD], +[COD_CONF], +[CONTROVALORE_RIFERIMENTO], +[COMPONENTE_PERFORMANCE], +[COMPONENTE_PROTEZIONE], +[DES_PROT], +[CONTROVALORE_PROT], +[DATARIF], +[DES_PROD_TIT], +[somma_ctv] + ) + select + RETE, + CODFIS, + CODPROD, + SUBPROD, + DES_PROD, + COD_CONF, + CONTROVALORE_RIFERIMENTO, + COMPONENTE_PERFORMANCE, + COMPONENTE_PROTEZIONE, + DES_PROT, + CONTROVALORE_PROT, + DATARIF, + DES_PROD_TIT , + + -- Errore segnalato in certificazione campione ad Aprile 2018 - + -- cf PRNMCD44M17L682S/F - id 4 - verificare a pag 17/24 del report il totale patrimonio controvalore protetto ( non quadra il tot 28.346,65) che non ritorna con le due linee blue e white pag 18/19 + -- IL TOTALE DELLA LINEA NON DEVE ESSERE RAGGRUPPATO PER CODCONF MA PER LINEA (SUBPROD) + -- + -- sum(CONTROVALORE_RIFERIMENTO) over (partition by COD_CONF ) as tot_controvalore + sum(CONTROVALORE_RIFERIMENTO) over (partition by codfis,COD_CONF,SUBPROD ) as tot_controvalore + -- Fine modifica Aprile 2018 + + from( + + select + LP.RETE AS RETE, + LP.CODFIS AS CODFIS, + LP.CODPROD AS CODPROD, + LP.CODLINEA AS SUBPROD, + CAT.NOMEPRODOTTO as DES_PROD, + LP.CODCONF AS COD_CONF, + CS.CTV AS CONTROVALORE_RIFERIMENTO, + + -- correzione calcolo per errore documento di analisi - 18/12/2017 + --LP.[CTV PROT] - LP.CTVMON AS COMPONENTE_PERFORMANCE, + CS.CTV - LP.CTVMON AS COMPONENTE_PERFORMANCE, + -- fine correzione calcolo per errore documento di analisi - 18/12/2017 + + LP.CTVMON AS COMPONENTE_PROTEZIONE, + 'Quota e controvalore protetti *' AS DES_PROT, + LP.[CTV_PROT] AS CONTROVALORE_PROT, + @DataFineTrim AS DATARIF, + case + when lp.codlinea = 'CS80' then 'FV Insieme Linea My Blue Protection 80' + when lp.codlinea = 'CT80' then 'FV Insieme Linea My White Protection 80' + end + AS DES_PROD_TIT + + FROM C6StagingPeriodico.WSEILP LP + + JOIN [C6StagingPeriodico].[wseics] CS + ON + LP.RETE = CS.RETE + AND LP.CODFIS = CS.CODFIS + AND LP.CODCONF = CS.CODCONF + AND LP.CODLINEA = CS.SUBPROD + + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on + cat.codmaf = 'RS_'+lp.codlinea + and CAT.visibilita = 1 +WHERE LP.DTTRIM = @DataFineTrim and cs.dttrim = @DataFineTrim and lp.codlinea in ('CS80','CT80') + +union + +select + LP.RETE AS RETE, + LP.CODFIS AS CODFIS, + LP.CODPROD AS CODPROD, + LP.CODLINEA AS SUBPROD, + 'FV Sintonia Linea Protezione 85' as DES_PROD, + LP.CODCONF AS COD_CONF, +/* + il controvalore di riferimento deve coincidere con la somma dei controvalori dei singoli fondi + sottostanti alla linea (selezionati dal cliente e monetari movimentati dal Risk Provider) + e della gestione separata FV Vivadue +*/ +(select sum(CTV) from [C6StagingPeriodico].[wseics] + where rete = LP.RETE + AND CODFIS = LP.CODFIS and dttrim = @DataFineTrim and CODCONF = LP.CODCONF and codprod = lp.codprod) + AS CONTROV diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT_FVI_20180424.sql b/sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT_FVI_20180424.sql new file mode 100644 index 00000000..aad25eec --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT_FVI_20180424.sql @@ -0,0 +1,140 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_CAPPROT_FVI_20180424 + + + +-- ============================================= +-- Description: +-- ============================================= + + +--[C6MartPeriodico].[DM_CAPPROT_FVI] +CREATE procedure [C6MartPeriodico].[DM_CAPPROT_FVI_20180424] + + + +AS +BEGIN + +SET NOCOUNT ON; + + +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_CAPPROT_FVI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.CAPPROT_FVI + + INSERT INTO C6MartPeriodico.CAPPROT_FVI + ( +[RETE], +[CODFIS], +[CODPROD], +[SUBPROD], +[DES_PROD], +[COD_CONF], +[CONTROVALORE_RIFERIMENTO], +[COMPONENTE_PERFORMANCE], +[COMPONENTE_PROTEZIONE], +[DES_PROT], +[CONTROVALORE_PROT], +[DATARIF], +[DES_PROD_TIT], +[somma_ctv] + ) + select + RETE, + CODFIS, + CODPROD, + SUBPROD, + DES_PROD, + COD_CONF, + CONTROVALORE_RIFERIMENTO, + COMPONENTE_PERFORMANCE, + COMPONENTE_PROTEZIONE, + DES_PROT, + CONTROVALORE_PROT, + DATARIF, + DES_PROD_TIT , + + sum(CONTROVALORE_RIFERIMENTO) over (partition by COD_CONF ) as tot_controvalore + + from( + + select + LP.RETE AS RETE, + LP.CODFIS AS CODFIS, + LP.CODPROD AS CODPROD, + LP.CODLINEA AS SUBPROD, + CAT.NOMEPRODOTTO as DES_PROD, + LP.CODCONF AS COD_CONF, + CS.CTV AS CONTROVALORE_RIFERIMENTO, + + -- correzione calcolo per errore documento di analisi - 18/12/2017 + --LP.[CTV PROT] - LP.CTVMON AS COMPONENTE_PERFORMANCE, + CS.CTV - LP.CTVMON AS COMPONENTE_PERFORMANCE, + -- fine correzione calcolo per errore documento di analisi - 18/12/2017 + + LP.CTVMON AS COMPONENTE_PROTEZIONE, + 'Quota e controvalore protetti *' AS DES_PROT, + LP.[CTV PROT] AS CONTROVALORE_PROT, + @DataFineTrim AS DATARIF, + case + when lp.codlinea = 'CS80' then 'FV Insieme Linea My Blue Protection 80' + when lp.codlinea = 'CT80' then 'FV Insieme Linea My White Protection 80' + end + AS DES_PROD_TIT + + FROM C6StagingPeriodico.WSEILP LP + + JOIN [C6StagingPeriodico].[wseics] CS + ON + LP.RETE = CS.RETE + AND LP.CODFIS = CS.CODFIS + AND LP.CODCONF = CS.CODCONF + AND LP.CODLINEA = CS.SUBPROD + + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on + cat.codmaf = 'RS_'+lp.codlinea + and CAT.visibilita = 1 +WHERE LP.DTTRIM = @DataFineTrim and cs.dttrim = @DataFineTrim and lp.codlinea in ('CS80','CT80') + +union + +select + LP.RETE AS RETE, + LP.CODFIS AS CODFIS, + LP.CODPROD AS CODPROD, + LP.CODLINEA AS SUBPROD, + 'FV Sintonia Linea Protezione 85' as DES_PROD, + LP.CODCONF AS COD_CONF, +/* + il controvalore di riferimento deve coincidere con la somma dei controvalori dei singoli fondi + sottostanti alla linea (selezionati dal cliente e monetari movimentati dal Risk Provider) + e della gestione separata FV Vivadue +*/ +(select sum(CTV) from [C6StagingPeriodico].[wseics] + where rete = LP.RETE + AND CODFIS = LP.CODFIS and dttrim = @DataFineTrim and CODCONF = LP.CODCONF and codprod = lp.codprod) + AS CONTROVALORE_RIFERIMENTO, + + -- correzione calcolo per errore documento di analisi - 18/12/2017 + ---LP.[CTV PROT] - LP.CTVMON AS COMPONENTE_PERFORMANCE, + (select sum(CTV) from [C6StagingPeriodico].[wseics] + where rete = LP.RETE + AND CODFIS = LP.CODFIS and dttrim = @DataFineTrim and CODCONF = LP.CODCONF and codprod = lp.codprod) - LP.CTVMON AS COMPONENTE_PERFORMANCE, + -- fine correzione calcolo per errore documento di analisi - 18/12/2017 + + LP.CTVMON AS COMPONENTE_PROTEZIONE, + 'Quota e controva diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT_pre_selective.sql new file mode 100644 index 00000000..40de3287 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_CAPPROT_pre_selective.sql @@ -0,0 +1,158 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_CAPPROT_pre_selective + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: <18/11/2014, Pomezia> +-- Description: +-- ============================================= + +-- ============================================= +-- +-- MOd: <26/11/2015, Pomezia> +-- Description: Aggiunto il campo 'des_prod_tit' per modifiche E-FOI80 +-- ============================================= + +--[C6MartPeriodico].[DM_CAPPROT_pre_selective] +CREATE procedure [C6MartPeriodico].[DM_CAPPROT_pre_selective] + + + +AS +BEGIN + +SET NOCOUNT ON; + + +DECLARE @Par_percentuale INT +SET @Par_percentuale = 80 + +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CAPPROT_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.CAPPROT + + INSERT INTO C6MartPeriodico.CAPPROT + ([RETE] + ,[CODFIS] + ,[DES_PROD] + ,[COD_CONF] + ,[QUOTA] + ,[NUMEROQUOTE] + ,[CONTROVALORE] + ,[DATARIF] + ,[DES_MAX] + ,[QUOTA_MAX] + ,[QUOTA_MAX_PERC] + ,[DATARIF_MAX] + ,[DES_PROT] + ,[QUOTA_PROT] + ,[NUMEROQUOTE_PROT] + ,[CONTROVALORE_PROT] + ,[DES_PROD_TIT] + ) + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isin=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isin <> '' + + union + + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isinFIT=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isinFIT <> '' + + union + + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_CLIENTI_CON_RNA_ALTO.sql b/sql/storedCollaudo/C6MartPeriodico_DM_CLIENTI_CON_RNA_ALTO.sql new file mode 100644 index 00000000..c0e396f2 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_CLIENTI_CON_RNA_ALTO.sql @@ -0,0 +1,47 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_CLIENTI_CON_RNA_ALTO + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CLIENTI_CON_RNA_ALTO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @Rna DECIMAL(19,3) + SET @Rna = CAST(dbo.getParametro('PERCMAXRISORSENA') AS DECIMAL(19,3)) * 0.01 + + + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + TRUNCATE TABLE [C6MartPeriodico].[CLIENTI_CON_RNA_ALTO] + + INSERT INTO [C6MartPeriodico].[CLIENTI_CON_RNA_ALTO] + (Rete, + CodicePB, + CodiceFiscale, + Percentuale, + DataCalcolo, + ID_ELAB, + TIPO_ELAB) + SELECT + Rete, + CodicePB, + CodiceFiscale, + Percentuale, + DataCalcolo, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.CLIENTI_CON_RNA + WHERE Percentuale > @Rna +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI.sql b/sql/storedCollaudo/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI.sql new file mode 100644 index 00000000..44be386d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI.sql @@ -0,0 +1,22 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_CLIENTI_NON_MIGRATI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CLIENTI_NON_MIGRATI] +AS +BEGIN + SELECT + RETE, + COD_FISCALE, + ID_PROMOTORE + FROM + C6MartPeriodico.ANAG_CLIENTI + WHERE + (NOME IS NULL OR NOME = '') + AND (COGNOME IS NULL OR COGNOME = '') +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI_pre_selective.sql new file mode 100644 index 00000000..6969960e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI_pre_selective.sql @@ -0,0 +1,22 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_CLIENTI_NON_MIGRATI_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CLIENTI_NON_MIGRATI_pre_selective] +AS +BEGIN + SELECT + RETE, + COD_FISCALE, + ID_PROMOTORE + FROM + C6MartPeriodico.ANAG_CLIENTI + WHERE + (NOME IS NULL OR NOME = '') + AND (COGNOME IS NULL OR COGNOME = '') +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_CODIFICA_CREDITRISK.sql b/sql/storedCollaudo/C6MartPeriodico_DM_CODIFICA_CREDITRISK.sql new file mode 100644 index 00000000..75bb5e30 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_CODIFICA_CREDITRISK.sql @@ -0,0 +1,68 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_CODIFICA_CREDITRISK + + + +-- ============================================= +-- Author: Valerio Colaianni +-- Create date: 17 marzo 2009 + +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CODIFICA_CREDITRISK] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_CREDITRISK', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.CODIFICA_CREDITRISK + + INSERT INTO C6MartPeriodico.[CODIFICA_CREDITRISK] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAL] + ,[MAX_VAL] + ,[ID_ELAB]) + SELECT + COD, + DESCR, + MINVAL, + MAXVAL, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.RISKCLASS + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CODIFICA_CREDITRISK' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_CODIFICA_CREDITRISK' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_CODIFICA_CREDITRISK_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_CODIFICA_CREDITRISK_pre_selective.sql new file mode 100644 index 00000000..7b1c3e53 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_CODIFICA_CREDITRISK_pre_selective.sql @@ -0,0 +1,66 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_CODIFICA_CREDITRISK_pre_selective + + +-- ============================================= +-- Author: Valerio Colaianni +-- Create date: 17 marzo 2009 + +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CODIFICA_CREDITRISK_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_CREDITRISK_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.CODIFICA_CREDITRISK + + INSERT INTO C6MartPeriodico.[CODIFICA_CREDITRISK] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAL] + ,[MAX_VAL] + ,[ID_ELAB]) + SELECT + COD, + DESCR, + MINVAL, + MAXVAL, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.RISKCLASS + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CODIFICA_CREDITRISK_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CODIFICA_CREDITRISK_pre_selective' + ) + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_CODIFICA_RISCHIO.sql b/sql/storedCollaudo/C6MartPeriodico_DM_CODIFICA_RISCHIO.sql new file mode 100644 index 00000000..458c44ba --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_CODIFICA_RISCHIO.sql @@ -0,0 +1,67 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_CODIFICA_RISCHIO + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 marzo 2009 +-- Description: NOTA BENE: I JOIN NON DOVREBBERO MAI ESSERE FATTI COME SOTTO, TRATTASI DI WORK AROUND +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CODIFICA_RISCHIO] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_RISCHIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.CODIFICA_RISCHIO + + INSERT INTO C6MartPeriodico.[CODIFICA_RISCHIO] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAR] + ,[MAX_VAR] + ,[ID_ELAB]) + SELECT + SPB_PROF_RISCHIO.CODICEPROFILO AS PROFILO, + SPB_PROF_RISCHIO.DESCRIZIONEPROFILO AS DESCRIZIONE, + ISNULL(SPB_MIN.VARTRIMESTRALE,-0.01) + 0.01 AS MIN_VAR, + SPB_PROF_RISCHIO.VARTRIMESTRALE AS MAX_VAR, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.SPB_PROF_RISCHIO + LEFT JOIN C6STAGINGPERIODICO.SPB_PROF_RISCHIO SPB_MIN + ON SPB_MIN.CODICEPROFILO + 1 = SPB_PROF_RISCHIO.CODICEPROFILO + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CODIFICA_RISCHIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_CODIFICA_RISCHIO' + ) + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_CODIFICA_RISCHIO_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_CODIFICA_RISCHIO_pre_selective.sql new file mode 100644 index 00000000..6a739b38 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_CODIFICA_RISCHIO_pre_selective.sql @@ -0,0 +1,65 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_CODIFICA_RISCHIO_pre_selective + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 marzo 2009 +-- Description: NOTA BENE: I JOIN NON DOVREBBERO MAI ESSERE FATTI COME SOTTO, TRATTASI DI WORK AROUND +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CODIFICA_RISCHIO_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_RISCHIO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.CODIFICA_RISCHIO + + INSERT INTO C6MartPeriodico.[CODIFICA_RISCHIO] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAR] + ,[MAX_VAR] + ,[ID_ELAB]) + SELECT + SPB_PROF_RISCHIO.CODICEPROFILO AS PROFILO, + SPB_PROF_RISCHIO.DESCRIZIONEPROFILO AS DESCRIZIONE, + ISNULL(SPB_MIN.VARTRIMESTRALE,-0.01) + 0.01 AS MIN_VAR, + SPB_PROF_RISCHIO.VARTRIMESTRALE AS MAX_VAR, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.SPB_PROF_RISCHIO + LEFT JOIN C6STAGINGPERIODICO.SPB_PROF_RISCHIO SPB_MIN + ON SPB_MIN.CODICEPROFILO + 1 = SPB_PROF_RISCHIO.CODICEPROFILO + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CODIFICA_RISCHIO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CODIFICA_RISCHIO_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_COMPLESSITA.sql b/sql/storedCollaudo/C6MartPeriodico_DM_COMPLESSITA.sql new file mode 100644 index 00000000..cd592332 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_COMPLESSITA.sql @@ -0,0 +1,113 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_COMPLESSITA + + + +-- ============================================= +-- Author: +-- Create date: <12/05/2010> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_COMPLESSITA] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_COMPLESSITA', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].COMPLESSITA + + INSERT INTO [C6MartPeriodico].[COMPLESSITA] + ( + [RETE] + ,[COD_FISCALE] + ,[COMPLESSITA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLESSITA]) AS [COMPLESSITA], + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM +( + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLEx]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf + where tipo_prodOTTO <>'ASUL' + GROUP BY + [RETE], + [COD_FISCALE] + + union all + + SELECT + m.[RETE], + m.[COD_FISCALE], + MAX(c.[COMPLEX]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf m, + c6martperiodico.dettaglio_asul k, + c6stagingperiodico.catitemref c + where m.cod_fiscale= k.cod_fiscale + and m.rete=k.rete + and k.id_contratto=m.id_contratto + and k.cod_prodotto= c.catalogueid + and m.tipo_prodotto='ASUL' + group by + m.[RETE], + m.[COD_FISCALE] + ) H + group by + [RETE], + [COD_FISCALE] + + + + + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_COMPLESSITA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_COMPLESSITA' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_COMPLESSITA_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_COMPLESSITA_pre_selective.sql new file mode 100644 index 00000000..69ac0f96 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_COMPLESSITA_pre_selective.sql @@ -0,0 +1,113 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_COMPLESSITA_pre_selective + + + +-- ============================================= +-- Author: +-- Create date: <12/05/2010> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_COMPLESSITA_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_COMPLESSITA_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].COMPLESSITA + + INSERT INTO [C6MartPeriodico].[COMPLESSITA] + ( + [RETE] + ,[COD_FISCALE] + ,[COMPLESSITA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLESSITA]) AS [COMPLESSITA], + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM +( + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLEx]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf + where tipo_prodOTTO <>'ASUL' + GROUP BY + [RETE], + [COD_FISCALE] + + union all + + SELECT + m.[RETE], + m.[COD_FISCALE], + MAX(c.[COMPLEX]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf m, + c6martperiodico.dettaglio_asul k, + c6stagingperiodico.catitemref c + where m.cod_fiscale= k.cod_fiscale + and m.rete=k.rete + and k.id_contratto=m.id_contratto + and k.cod_prodotto= c.catalogueid + and m.tipo_prodotto='ASUL' + group by + m.[RETE], + m.[COD_FISCALE] + ) H + group by + [RETE], + [COD_FISCALE] + + + + + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_COMPLESSITA_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_COMPLESSITA_pre_selective' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_CONGELAMENTO_SEI.sql b/sql/storedCollaudo/C6MartPeriodico_DM_CONGELAMENTO_SEI.sql new file mode 100644 index 00000000..59348794 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_CONGELAMENTO_SEI.sql @@ -0,0 +1,32 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_CONGELAMENTO_SEI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CONGELAMENTO_SEI] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + + TRUNCATE TABLE C6MartPeriodico.CONGELAMENTO_SEI + + INSERT INTO C6MartPeriodico.CONGELAMENTO_SEI + ([DATA_CONGELAMENTO] + ,[ID_ELAB]) + SELECT + DATA_CONGELAMENTO, + @ID_ELAB + FROM + C6StagingPeriodico.CONGELAMENTO_SEI + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_CONGELAMENTO_SEI_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_CONGELAMENTO_SEI_pre_selective.sql new file mode 100644 index 00000000..6e154445 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_CONGELAMENTO_SEI_pre_selective.sql @@ -0,0 +1,32 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_CONGELAMENTO_SEI_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CONGELAMENTO_SEI_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + + TRUNCATE TABLE C6MartPeriodico.CONGELAMENTO_SEI + + INSERT INTO C6MartPeriodico.CONGELAMENTO_SEI + ([DATA_CONGELAMENTO] + ,[ID_ELAB]) + SELECT + DATA_CONGELAMENTO, + @ID_ELAB + FROM + C6StagingPeriodico.CONGELAMENTO_SEI + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_CONO_PIANIFICAZIONE.sql b/sql/storedCollaudo/C6MartPeriodico_DM_CONO_PIANIFICAZIONE.sql new file mode 100644 index 00000000..3a11a38d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_CONO_PIANIFICAZIONE.sql @@ -0,0 +1,106 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_CONO_PIANIFICAZIONE + + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CONO_PIANIFICAZIONE] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CONO_PIANIFICAZIONE', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[CONO_PIANIFICAZIONE] + + INSERT INTO [C6MartPeriodico].[CONO_PIANIFICAZIONE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CONO] + ,[SCENARIO_PESSIMISTICO] + ,[SCENARIO_MEDIO] + ,[SCENARIO_OTTIMISTICO] + ,[ID_ELAB] + ,ordinamento_progetto) + + SELECT + CONSUL.INSTID AS RETE, + CONSUL.ADBKID AS COD_FISCALE, + AREA.C_NEEDAREA_v_46360 AS ID_AREA, + ISNULL(CASE + WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN PRCONSUL.C_PROJECTNAM_11D1A + ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO + END, 'XXX') AS NOME_PROGETTO, + CONO.C_DATA_FD2A6 AS DATA_CONO, + CAST(CONO.C_QUANTILE5_BF710 AS DECIMAL(19,7)) * 100 AS SCENARIO_PESSIMISTICO, + CAST(CONO.C_QUANTILE50_C47E0 AS DECIMAL(19,7)) * 100 AS SCENARIO_MEDIO, + CAST(CONO.C_QUANTILE95_0D6CE AS DECIMAL(19,7)) * 100 AS SCENARIO_OTTIMISTICO, + @ID_ELAB, + wanab.codprog + + FROM C6StagingPeriodico.TANAB AS WANAB + INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL + ON WANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 + INNER JOIN C6StagingPeriodico.CONSAREA AS AREA + ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ + INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL + ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO + ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE + AND CONSUL.INSTID = SCELTA_STATO.RETE + AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA + INNER JOIN C6StagingPeriodico.C_BO_453FB AS ORIZZ_TEMP + ON PRCONSUL.F_OID$_ORIZZ_4A868 = ORIZZ_TEMP.OID$ + INNER JOIN C6StagingPeriodico.CONO AS CONO + ON PRCONSUL.OID$ = CONO.F_PPROJECT_P_46507 + LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA + ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 + WHERE 1 = 1 + AND WANAB.DTFINE = '99991231' + AND ((PRCONSUL.NEEDAREAID = 'Inv' AND PRCONSUL.TYPE$_PROJEC_14674 = 'ProgettoInvestimento') + OR PRCONSUL.NEEDAREAID = 'Ris') + AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 + --and wanab.codfis <> 'GRVMRZ63C14L566J' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CONO_PIANIFICAZIONE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CONO_PIANIFICAZIONE' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_CONO_PIANIFICAZIONE_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_CONO_PIANIFICAZIONE_pre_selective.sql new file mode 100644 index 00000000..7633de3b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_CONO_PIANIFICAZIONE_pre_selective.sql @@ -0,0 +1,106 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_CONO_PIANIFICAZIONE_pre_selective + + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CONO_PIANIFICAZIONE_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CONO_PIANIFICAZIONE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[CONO_PIANIFICAZIONE] + + INSERT INTO [C6MartPeriodico].[CONO_PIANIFICAZIONE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CONO] + ,[SCENARIO_PESSIMISTICO] + ,[SCENARIO_MEDIO] + ,[SCENARIO_OTTIMISTICO] + ,[ID_ELAB] + ,ordinamento_progetto) + + SELECT + CONSUL.INSTID AS RETE, + CONSUL.ADBKID AS COD_FISCALE, + AREA.C_NEEDAREA_v_46360 AS ID_AREA, + ISNULL(CASE + WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN PRCONSUL.C_PROJECTNAM_11D1A + ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO + END, 'XXX') AS NOME_PROGETTO, + CONO.C_DATA_FD2A6 AS DATA_CONO, + CAST(CONO.C_QUANTILE5_BF710 AS DECIMAL(19,7)) * 100 AS SCENARIO_PESSIMISTICO, + CAST(CONO.C_QUANTILE50_C47E0 AS DECIMAL(19,7)) * 100 AS SCENARIO_MEDIO, + CAST(CONO.C_QUANTILE95_0D6CE AS DECIMAL(19,7)) * 100 AS SCENARIO_OTTIMISTICO, + @ID_ELAB, + wanab.codprog + + FROM C6StagingPeriodico.TANAB AS WANAB + INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL + ON WANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 + INNER JOIN C6StagingPeriodico.CONSAREA AS AREA + ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ + INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL + ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO + ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE + AND CONSUL.INSTID = SCELTA_STATO.RETE + AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA + INNER JOIN C6StagingPeriodico.C_BO_453FB AS ORIZZ_TEMP + ON PRCONSUL.F_OID$_ORIZZ_4A868 = ORIZZ_TEMP.OID$ + INNER JOIN C6StagingPeriodico.CONO AS CONO + ON PRCONSUL.OID$ = CONO.F_PPROJECT_P_46507 + LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA + ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 + WHERE 1 = 1 + AND WANAB.DTFINE = '99991231' + AND ((PRCONSUL.NEEDAREAID = 'Inv' AND PRCONSUL.TYPE$_PROJEC_14674 = 'ProgettoInvestimento') + OR PRCONSUL.NEEDAREAID = 'Ris') + AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 + --and wanab.codfis <> 'GRVMRZ63C14L566J' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CONO_PIANIFICAZIONE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CONO_PIANIFICAZIONE_pre_selective' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA.sql b/sql/storedCollaudo/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA.sql new file mode 100644 index 00000000..e28bae1e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA.sql @@ -0,0 +1,118 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_CONS_ATTIVAGGIORNATA + + + +--select ordinamento_progetto,id_area,* +--FROM +-- C6MARTPERIODICO.PATRIMONIO_BF +-- WHERE +-- 1=1 +-- AND ID_AREA not in ('Na', 'Cc') +-- and ctv >0 +-- and cod_fiscale = 'GNGFRZ63H17D810C' +-- and id_area like 'pre%' +-- +--select * from c6martperiodico.cons_attivaggiornata +--where cod_fiscale = 'GNGFRZ63H17D810C' + +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: < 26/09/2009> +-- Description: +-- ============================================= +--[C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] +CREATE procedure [C6MartPeriodico].[DM_CONS_ATTIVAGGIORNATA] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_CONS_ATTIVAGGIORNATA', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] + + + INSERT INTO [C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] + ( [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[DATA_PIANIF] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO]) + + SELECT + [RETE] + ,[COD_FISCALE] + ,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END AS ID_AREA + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,(MAX(ISNULL(CTV_AREA,0))/MAX(ISNULL(CTV_TOTALE,0)))*100 AS PERC_AREA + , MAX(CTV_PROGETTO) AS CTV_PROGETTO + ,MAX(CTV_AREA) AS CTV_aREA + ,max([ORIZZ_TEMP_NUM]) + ,max([ORIZZ_TEMP]) + ,MAX(CTV_TOTALE) AS CTV_TOTALE + ,MAX([STATO_CONSULENZA]) AS STATO_CONSULENZA + ,MAX([DATA_STATO_CONS]) AS DATA_sTATO_CONS + ,max([DATA_MIGR_CONS]) as DATA_MIGR_CONS + ,MAX(DATA_PIANIF) AS DATA_PIANIF + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + FROM + ( + SELECT + COD_FISCALE, + RETE, + ID_AREA, + NOME_PROGETTO, + CTV, + 0 AS ID_CONTRATTO, + [ORDINAMENTO_PROGETTO], + [tipo_progetto], + SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, SUBSTRING(ID_AREA,1,3), NOME_PROGETTO) CTV_PROGETTO, + SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, RETE,SUBSTRING(ID_AREA,1,3)) CTV_AREA, + MAX([ORIZZ_TEMP_NUM])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) AS [ORIZZ_TEMP_NUM], + MAX([ORIZZ_TEMP])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) [ORIZZ_TEMP], + SUM([CTV])OVER (PARTITION BY COD_FISCALE) AS CTV_TOTALE, + MAX([STATO_CONSULENZA])OVER (PARTITION BY COD_FISCALE, RETE) AS [STATO_CONSULENZA], + MAX([DATA_STATO_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_STATO_CONS] , + MAX([DATA_MIGR_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_MIGR_CONS] , + MAX([DATA_PIANIF])OVER (PARTITION BY COD_FISCALE, RETE ) AS DATA_PIANIF + FROM + C6MARTPERIODICO.PATRIMONIO_BF + WHERE + 1=1 + AND ID_AREA not in ('Na', 'Cc','Pre','Pre1','Pre2') + and ctv >0 + ) K + GROUP BY + COD_FISCALE + ,RETE + ,CASE WHE diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA_pre_selective.sql new file mode 100644 index 00000000..66e3868f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA_pre_selective.sql @@ -0,0 +1,125 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_CONS_ATTIVAGGIORNATA_pre_selective + + +--select ordinamento_progetto,id_area,* +--FROM +-- C6MARTPERIODICO.PATRIMONIO_BF +-- WHERE +-- 1=1 +-- AND ID_AREA not in ('Na', 'Cc') +-- and ctv >0 +-- and cod_fiscale = 'GNGFRZ63H17D810C' +-- and id_area like 'pre%' +-- +--select * from c6martperiodico.cons_attivaggiornata +--where cod_fiscale = 'GNGFRZ63H17D810C' + +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: < 26/09/2009> +-- Description: +-- ============================================= +--[C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] +CREATE procedure [C6MartPeriodico].[DM_CONS_ATTIVAGGIORNATA_pre_selective] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CONS_ATTIVAGGIORNATA_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] + + + INSERT INTO [C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] + ( [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[DATA_PIANIF] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO]) + + SELECT + [RETE] + ,[COD_FISCALE] + ,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END AS ID_AREA + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,(MAX(ISNULL(CTV_AREA,0))/MAX(ISNULL(CTV_TOTALE,0)))*100 AS PERC_AREA + , MAX(CTV_PROGETTO) AS CTV_PROGETTO + ,MAX(CTV_AREA) AS CTV_aREA + ,max([ORIZZ_TEMP_NUM]) + ,max([ORIZZ_TEMP]) + ,MAX(CTV_TOTALE) AS CTV_TOTALE + ,MAX([STATO_CONSULENZA]) AS STATO_CONSULENZA + ,MAX([DATA_STATO_CONS]) AS DATA_sTATO_CONS + ,max([DATA_MIGR_CONS]) as DATA_MIGR_CONS + ,MAX(DATA_PIANIF) AS DATA_PIANIF + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + FROM + ( + SELECT + COD_FISCALE, + RETE, + ID_AREA, + NOME_PROGETTO, + CTV, + 0 AS ID_CONTRATTO, + [ORDINAMENTO_PROGETTO], + [tipo_progetto], + SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, SUBSTRING(ID_AREA,1,3), NOME_PROGETTO) CTV_PROGETTO, + SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, RETE,SUBSTRING(ID_AREA,1,3)) CTV_AREA, + MAX([ORIZZ_TEMP_NUM])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) AS [ORIZZ_TEMP_NUM], + MAX([ORIZZ_TEMP])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) [ORIZZ_TEMP], + SUM([CTV])OVER (PARTITION BY COD_FISCALE) AS CTV_TOTALE, + MAX([STATO_CONSULENZA])OVER (PARTITION BY COD_FISCALE, RETE) AS [STATO_CONSULENZA], + MAX([DATA_STATO_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_STATO_CONS] , + MAX([DATA_MIGR_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_MIGR_CONS] , + MAX([DATA_PIANIF])OVER (PARTITION BY COD_FISCALE, RETE ) AS DATA_PIANIF + FROM + C6MARTPERIODICO.PATRIMONIO_BF + WHERE + 1=1 + AND ID_AREA not in ('Na', 'Cc','Pre','Pre1','Pre2') + and ctv >0 + ) K + GROUP BY + COD_FISCALE + ,RETE + ,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + + + + INSERT INT diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_CONTRATTOSEI.sql b/sql/storedCollaudo/C6MartPeriodico_DM_CONTRATTOSEI.sql new file mode 100644 index 00000000..f4925ae8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_CONTRATTOSEI.sql @@ -0,0 +1,48 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_CONTRATTOSEI + +--select count(distinct cod_fiscale) from c6martperiodico.rischio_aggregato +--select * from c6martperiodico.scarti +-- FARE FUNZIONE GETPREVTRIMESTRE PER LA DATA DI REVOCA +--select c6martperiodico.gettrimestre2(getdate(),0) +--select c6martperiodico.gettrimestre2(getdate(),1) +--select count(*) from [C6MartPeriodico].[vContrattiPerGenerazioneReport] select count(*) from [C6MartPeriodico].gestione_pdf_ftp where dataGenerazione > c6martperiodico.gettrimestre2(getDate(),1) +--select count(*) from [C6MartPeriodico].[vContrattiPerGenerazioneReport] where freq_diagnosi is not null +--select c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +CREATE procedure [C6MartPeriodico].[DM_CONTRATTOSEI] +AS + +TRUNCATE TABLE C6MartPERIODICO.CONTRATTOSEI +INSERT INTO C6MartPERIODICO.CONTRATTOSEI +SELECT + distinct C6.* +FROM + C6Mart.CONTRATTOSEI AS C6 +INNER JOIN C6MartPeriodico.vContrattiPerGenerazioneReport VCON +ON +C6.CodiceContratto = VCON.CodiceContratto + + +--FROM +-- C6Mart.CONTRATTOSEI AS C6 +-- INNER JOIN C6Mart.GESTIONE_PDF_FTP AS PDF +-- ON C6.Rete = PDF.Rete AND C6.Cod_Fiscale = PDF.CodiceFiscale AND C6.CodiceContratto = SUBSTRING(pdf.NomeFile, 1, 11) --SUBSTRING(PDF.NomeFile, 0, 12) +-- --INNER JOIN c6Martperiodico.Mifid AS mi ON c6.rete=mi.rete AND c6.cod_fiscale=mi.cod_fiscale +-- --inner join c6martperiodico.patrimonio_bf bf on c6.rete = bf.rete and c6.cod_fiscale = bf.cod_fiscale +-- --includi campione +-- --INNER JOIN dbo.CampioneReport AS t ON t.Cod_fiscale = C6.Cod_Fiscale AND t.Rete = C6.Rete +--WHERE +-- --CONDIZIONE 1: Stampo i clienti che hanno revocato nel trimestre +-- ISNULL(C6.Data_FineAvanzato, CAST('99991231' AS datetime)) > c6martperiodico.getPreviousTrimestre(getdate(),0) +-- --V commentare nel giro email +-- --and mi.scaduto =0 +-- --CONDIZIONE 2: Stampo i clienti che hanno ricevuto il benvenuto fino al 1 giorno del mese della chiusura del trimestre +-- and PDF.DataGenerazione < c6martperiodico.gettrimestre2(getdate(),1) --'20110301' +-- --and c6.cod_fiscale in('BLDRRT64D28G482H') --'GZZSLD52E20G869L') +-- --stampa campione per dipartimento +-- --and (provenienza = 'QC') +-- --STAMPO SOLO CHI HA DIAGNOSI and c6.Freq_Diagnosi is not null +-- --CONDIZIONE 3: Stampo il report trimestrale una sola volta nel trimestre +-- AND isnull(C6.Data_Invio_Monitoraggio_Trimestrale,cast('20091101' as datetime)) < c6martperiodico.gettrimestre2(getdate(),0)--'20110331' --cast(C6MartPeriodico.getTrimestre(GETDATE(), 0) as datetime) + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_CONTROLLO_TRIMESTRALE.sql b/sql/storedCollaudo/C6MartPeriodico_DM_CONTROLLO_TRIMESTRALE.sql new file mode 100644 index 00000000..d941d4d9 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_CONTROLLO_TRIMESTRALE.sql @@ -0,0 +1,27 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_CONTROLLO_TRIMESTRALE + +-- Stored procedure + +-- ===================================================== +-- Author: colaianni-consoli +-- Create date: 28/06/2011 +-- Description: CARICA LA TABELLA CONTROLLO_TRIMESTRALE +-- CON TUTTI I REPORT OGGETTO DI STAMPA +-- ===================================================== + +CREATE procedure [C6MartPeriodico].[DM_CONTROLLO_TRIMESTRALE] AS BEGIN + +TRUNCATE TABLE C6MARTPERIODICO.CONTROLLO_TRIMESTRALE + +INSERT INTO + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SELECT + COD_FISCALE, RETE, CASE WHEN FREQ_DIAGNOSI IS NULL THEN 0 ELSE 1 END, NULL, NULL, 1, NULL, GETDATE() +FROM + C6MARTPERIODICO.VCONTRATTIPERGENERAZIONEREPORT + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_DATI_REPORT.sql b/sql/storedCollaudo/C6MartPeriodico_DM_DATI_REPORT.sql new file mode 100644 index 00000000..df32ab1b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_DATI_REPORT.sql @@ -0,0 +1,58 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_DATI_REPORT + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_DATI_REPORT] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + TRUNCATE TABLE C6MartPeriodico.DATI_REPORT + + INSERT INTO C6MartPeriodico.[DATI_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[FLAG_REPORT] + ,[REPORT_DIAGN] + ,[REPORT_MONIT] + ,[DATA_REPORT] + ,[REPORT_FREQ] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + NULL AS RETE, + NULL AS COD_FISCALE, + NULL AS INDIRIZZO, + NULL AS LOCALITA, + NULL AS PROVINCIA, + NULL AS CAP, + NULL AS NAZIONE, + NULL AS FLAG_REPORT, + NULL AS REPORT_DIAGN, + NULL AS REPORT_MONIT, + NULL AS DATA_REPORT, + NULL AS REPORT_PROP, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.CATITEMREF + WHERE 1=0 + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_DATI_REPORT_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_DATI_REPORT_pre_selective.sql new file mode 100644 index 00000000..9b0a2d72 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_DATI_REPORT_pre_selective.sql @@ -0,0 +1,58 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_DATI_REPORT_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_DATI_REPORT_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + TRUNCATE TABLE C6MartPeriodico.DATI_REPORT + + INSERT INTO C6MartPeriodico.[DATI_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[FLAG_REPORT] + ,[REPORT_DIAGN] + ,[REPORT_MONIT] + ,[DATA_REPORT] + ,[REPORT_FREQ] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + NULL AS RETE, + NULL AS COD_FISCALE, + NULL AS INDIRIZZO, + NULL AS LOCALITA, + NULL AS PROVINCIA, + NULL AS CAP, + NULL AS NAZIONE, + NULL AS FLAG_REPORT, + NULL AS REPORT_DIAGN, + NULL AS REPORT_MONIT, + NULL AS DATA_REPORT, + NULL AS REPORT_PROP, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.CATITEMREF + WHERE 1=0 + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_DETTAGLIO_ASUL.sql b/sql/storedCollaudo/C6MartPeriodico_DM_DETTAGLIO_ASUL.sql new file mode 100644 index 00000000..b580fca6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_DETTAGLIO_ASUL.sql @@ -0,0 +1,118 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_DETTAGLIO_ASUL + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_DETTAGLIO_ASUL] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_DETTAGLIO_ASUL', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MARTPERIODICO.DETTAGLIO_ASUL + + INSERT INTO [C6MartPeriodico].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + ISNULL( + dbo.Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL AS SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGING.CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.COD_INTERNO + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.COD_SOTTOPRODOTTO + AND (LTRIM(RTRIM(SPB_ASS_UNIT.ISIN)) = '' --SPB_ASS_UNIT.ISIN = ' ' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.COD_ADEGUATEZZA AND + SPB_ASS_UNIT.MAF = CATITEMREF.COD_MAF + ) + ) + WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = ( + SELECT + MAX(DTTRIM) + FROM + C6STAGINGPERIODICO.WSEIUL + ) + AND CATITEMREF.isvisible = 1 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_DETTAGLIO_ASUL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_DETTAGLIO_ASUL' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_DETTAGLIO_ASUL_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_DETTAGLIO_ASUL_pre_selective.sql new file mode 100644 index 00000000..56dd0961 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_DETTAGLIO_ASUL_pre_selective.sql @@ -0,0 +1,118 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_DETTAGLIO_ASUL_pre_selective + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_DETTAGLIO_ASUL_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_DETTAGLIO_ASUL_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MARTPERIODICO.DETTAGLIO_ASUL + + INSERT INTO [C6MartPeriodico].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + ISNULL( + dbo.Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL AS SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGING.CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.COD_INTERNO + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.COD_SOTTOPRODOTTO + AND (LTRIM(RTRIM(SPB_ASS_UNIT.ISIN)) = '' --SPB_ASS_UNIT.ISIN = ' ' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.COD_ADEGUATEZZA AND + SPB_ASS_UNIT.MAF = CATITEMREF.COD_MAF + ) + ) + WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = ( + SELECT + MAX(DTTRIM) + FROM + C6STAGINGPERIODICO.WSEIUL + ) + AND CATITEMREF.isvisible = 1 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_DETTAGLIO_ASUL_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_DETTAGLIO_ASUL_pre_selective' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_DettaglioMovimenti.sql b/sql/storedCollaudo/C6MartPeriodico_DM_DettaglioMovimenti.sql new file mode 100644 index 00000000..7721a65f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_DettaglioMovimenti.sql @@ -0,0 +1,170 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_DettaglioMovimenti + + + + + + + + + + + +CREATE procedure [C6MartPeriodico].[DM_DettaglioMovimenti] +AS BEGIN + +DECLARE @RETE char(1), @CODFIS varchar(16), @CODMAN varchar(6) +DECLARE @DETT_MOV_PREC decimal(15,2), @DETT_MOV_CORR decimal(15,2), @MOV_TRIMESTRE_PREC decimal(15,2) +DECLARE @TrimestreDettMov varchar(8) +DECLARE @appoDataAvvioMon varchar(8) + +--SET @appoDataAvvioMon = '20151201' + + +-- Modifica del 13/9/2016 con la creazione di una funzione che torna la dataAvvioMon, eliminando cos l'aggiornamento manuale e quindi uno step dalla simulazione +--------->SET @appoDataAvvioMon = '20160301' --simulazione del 18/03/2016 +SET @appoDataAvvioMon = c6martperiodico.get_appoDataAvvioMon(null) +-- Fine modifica del 13/9/2016 + + + +--SET @TrimestreDettMov = C6MartPeriodico.getTrimestreDettMov() +SET @TrimestreDettMov = C6MartPeriodico.getTrimestre2(getdate(), 0) --'20120531' simul + + +TRUNCATE TABLE C6MartPeriodico.DettaglioMovimenti + +DECLARE DettMov_cursor CURSOR FOR + +SELECT + RETE, + CODFIS, + CODMAN +FROM + [C6StagingPeriodico].[W6APAG] +--WHERE +-- CODFIS='BCCPRZ52T67H945W' AND RETE='F' +GROUP BY + RETE, + CODFIS, + CODMAN + +/* +SELECT + [RETE], + CASE + WHEN CODMAN = '' + THEN CODFIS + ELSE 'FF@' + CODMAN + END AS COD_FIS +FROM + [C6StagingPeriodico].[W6APTR] +GROUP BY + RETE, + CASE WHEN CODMAN = '' THEN CODFIS ELSE 'FF@' + CODMAN END +*/ + +DECLARE @DataAvvioMon DATETIME --varchar(8) +DECLARE @DataPrecInvioRep DATETIME --varchar(8) + +OPEN DettMov_cursor + +FETCH NEXT FROM DettMov_cursor +INTO @RETE, @CODFIS, @CODMAN + +WHILE @@FETCH_STATUS = 0 +BEGIN + + IF @CODMAN <> '' + SET @CODFIS = 'FF@' + @CODMAN + + SELECT @DataAvvioMon = DATA_FOTO + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @RETE AND + COD_FISCALE = @CODFIS + + + IF EXISTS (SELECT * FROM C6MARTPERIODICO.MONITORAGGIO_REPORT + WHERE RETE = @RETE AND COD_FISCALE = @CODFIS) + BEGIN + --PRECEDENTE + IF @DataAvvioMon < '20111001' + SET @DETT_MOV_PREC = null + +----------------------------------- + IF @CODMAN <> '' + SET @CODFIS = 'FF' + @CODMAN + + IF @DataAvvioMon >= '20111001' AND @DataAvvioMon <= @appoDataAvvioMon + SELECT + @DETT_MOV_PREC = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM < @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + + + --CORRENTE + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + + Set @MOV_TRIMESTRE_PREC = @DETT_MOV_CORR + END + ELSE + BEGIN + --ACCORPAMENTO (cambiare prossima simulazione) + SET @DETT_MOV_PREC = null + + IF @DataAvvioMon < '20111001' + SET @DETT_MOV_CORR = null + IF @DataAvvioMon >= '20111001' AND @DataAvvioMon < @appoDataAvvioMon + begin + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + GROUP BY RETE, CODFIS, CODMAN + + SELECT + @MOV_TRIMESTRE_PREC = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + end + + IF @DataAvvioMon >= @appoDataAvvioMon + begin + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StagingPeriodic diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_DettaglioMovimenti_20160913.sql b/sql/storedCollaudo/C6MartPeriodico_DM_DettaglioMovimenti_20160913.sql new file mode 100644 index 00000000..b589e029 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_DettaglioMovimenti_20160913.sql @@ -0,0 +1,186 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_DettaglioMovimenti_20160913 + + + + + + + + + + + +CREATE procedure [C6MartPeriodico].[DM_DettaglioMovimenti_20160913] +AS BEGIN + +DECLARE @RETE char(1), @CODFIS varchar(16), @CODMAN varchar(6) +DECLARE @DETT_MOV_PREC decimal(15,2), @DETT_MOV_CORR decimal(15,2), @MOV_TRIMESTRE_PREC decimal(15,2) +DECLARE @TrimestreDettMov varchar(8) +DECLARE @appoDataAvvioMon varchar(8) + +--SET @appoDataAvvioMon = '20151201' +SET @appoDataAvvioMon = '20160301' --simulazione del 18/03/2016 + +--SET @TrimestreDettMov = C6MartPeriodico.getTrimestreDettMov() +SET @TrimestreDettMov = C6MartPeriodico.getTrimestre2(getdate(), 0) --'20120531' simul + + +TRUNCATE TABLE C6MartPeriodico.DettaglioMovimenti + +DECLARE DettMov_cursor CURSOR FOR + +SELECT + RETE, + CODFIS, + CODMAN +FROM + [C6StagingPeriodico].[W6APAG] +--WHERE +-- CODFIS='BCCPRZ52T67H945W' AND RETE='F' +GROUP BY + RETE, + CODFIS, + CODMAN + +/* +SELECT + [RETE], + CASE + WHEN CODMAN = '' + THEN CODFIS + ELSE 'FF@' + CODMAN + END AS COD_FIS +FROM + [C6StagingPeriodico].[W6APTR] +GROUP BY + RETE, + CASE WHEN CODMAN = '' THEN CODFIS ELSE 'FF@' + CODMAN END +*/ + +DECLARE @DataAvvioMon DATETIME --varchar(8) +DECLARE @DataPrecInvioRep DATETIME --varchar(8) + +OPEN DettMov_cursor + +FETCH NEXT FROM DettMov_cursor +INTO @RETE, @CODFIS, @CODMAN + +WHILE @@FETCH_STATUS = 0 +BEGIN + + IF @CODMAN <> '' + SET @CODFIS = 'FF@' + @CODMAN + + SELECT @DataAvvioMon = DATA_FOTO + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @RETE AND + COD_FISCALE = @CODFIS + + + IF EXISTS (SELECT * FROM C6MARTPERIODICO.MONITORAGGIO_REPORT + WHERE RETE = @RETE AND COD_FISCALE = @CODFIS) + BEGIN + --PRECEDENTE + IF @DataAvvioMon < '20111001' + SET @DETT_MOV_PREC = null + +----------------------------------- + IF @CODMAN <> '' + SET @CODFIS = 'FF' + @CODMAN + + IF @DataAvvioMon >= '20111001' AND @DataAvvioMon <= @appoDataAvvioMon + SELECT + @DETT_MOV_PREC = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM < @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + + + --CORRENTE + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + + Set @MOV_TRIMESTRE_PREC = @DETT_MOV_CORR + END + ELSE + BEGIN + --ACCORPAMENTO (cambiare prossima simulazione) + SET @DETT_MOV_PREC = null + + IF @DataAvvioMon < '20111001' + SET @DETT_MOV_CORR = null + IF @DataAvvioMon >= '20111001' AND @DataAvvioMon < @appoDataAvvioMon + begin + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + GROUP BY RETE, CODFIS, CODMAN + + SELECT + @MOV_TRIMESTRE_PREC = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + end + + IF @DataAvvioMon >= @appoDataAvvioMon + begin + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + + Set @MOV_TRIMESTRE_PREC = @DETT_MOV_CORR + end +------------------------------------ + + END + + IF @CODMAN <> '' + SET @CODFIS = 'FF@' + @CODMAN + + INSERT INTO C6MartPeriodico.DettaglioMovimenti + (RETE, COD_FIS, DETT_MOV_PREC, DETT_MOV_CORR, DETT_MOV_TRIMESTRE_PREC) + VALUES + (@ diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_DettaglioMovimenti_old.sql b/sql/storedCollaudo/C6MartPeriodico_DM_DettaglioMovimenti_old.sql new file mode 100644 index 00000000..30cf95bf --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_DettaglioMovimenti_old.sql @@ -0,0 +1,119 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_DettaglioMovimenti_old + +CREATE procedure [C6MartPeriodico].[DM_DettaglioMovimenti_old] +AS BEGIN + +DECLARE @RETE char(1), @CODFIS varchar(16), @CODMAN varchar(6) +DECLARE @DETT_MOV_PREC decimal(15,2), @DETT_MOV_CORR decimal(15,2) +DECLARE @TrimestreDettMov varchar(8) + +SET @TrimestreDettMov = C6MartPeriodico.getTrimestreDettMov() + +TRUNCATE TABLE C6MartPeriodico.DettaglioMovimenti + +DECLARE DettMov_cursor CURSOR FOR + +SELECT + RETE, + CODFIS, + CODMAN +FROM + [C6StagingPeriodico].[W6APTR] +GROUP BY + RETE, + CODFIS, + CODMAN + +/* +SELECT + [RETE], + CASE + WHEN CODMAN = '' + THEN CODFIS + ELSE 'FF@' + CODMAN + END AS COD_FIS +FROM + [C6StagingPeriodico].[W6APTR] +GROUP BY + RETE, + CASE WHEN CODMAN = '' THEN CODFIS ELSE 'FF@' + CODMAN END +*/ + +OPEN DettMov_cursor + +FETCH NEXT FROM DettMov_cursor +INTO @RETE, @CODFIS, @CODMAN + +WHILE @@FETCH_STATUS = 0 +BEGIN + + IF EXISTS (SELECT * FROM [C6StagingPeriodico].[S80_EVOL_STAMPA_C6] + WHERE RETE = @RETE AND COD_FISCALE = @CODFIS) + BEGIN + --PRECEDENTE + SELECT + @DETT_MOV_PREC = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM < @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + + --CORRENTE + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + END + ELSE + BEGIN + --ACCORPAMENTO (cambiare prossima simulazione) + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + GROUP BY RETE, CODFIS, CODMAN + END + + IF @CODMAN <> '' + SET @CODFIS = 'FF@' + @CODMAN + + INSERT INTO C6MartPeriodico.DettaglioMovimenti + (RETE, COD_FIS, DETT_MOV_PREC, DETT_MOV_CORR) + VALUES + (@RETE, @CODFIS, @DETT_MOV_PREC, @DETT_MOV_CORR) + + SET @DETT_MOV_PREC = null + SET @DETT_MOV_CORR = null + + FETCH NEXT FROM DettMov_cursor + INTO @RETE, @CODFIS, @CODMAN + +END + +CLOSE DettMov_cursor +DEALLOCATE DettMov_cursor + + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_DettaglioMovimenti_old2.sql b/sql/storedCollaudo/C6MartPeriodico_DM_DettaglioMovimenti_old2.sql new file mode 100644 index 00000000..be937d75 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_DettaglioMovimenti_old2.sql @@ -0,0 +1,67 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_DettaglioMovimenti_old2 + + +create PROCEDURE [C6MartPeriodico].[DM_DettaglioMovimenti_old2] +AS BEGIN + +--nuovo +DECLARE @MaxTrim varchar(8) +DECLARE @MinTrim varchar(8) +--fine nuovo + +/*DECLARE @RETE char(1), @CODFIS varchar(16), @CODMAN varchar(6) +DECLARE @DETT_MOV_PREC decimal(15,2), @DETT_MOV_CORR decimal(15,2) +DECLARE @TrimestreDettMov varchar(8) +*/ + +--SET @TrimestreDettMov = C6MartPeriodico.getTrimestreDettMov() + +TRUNCATE TABLE C6MartPeriodico.DettaglioMovimenti + +SELECT @MaxTrim = max(DTTRIM) FROM +(SELECT TOP 2 DTTRIM from [C6StagingPeriodico].[W6APAG] +ORDER BY DTTRIM DESC) a + +SELECT @MinTrim = min(DTTRIM) FROM +(SELECT TOP 2 DTTRIM from [C6StagingPeriodico].[W6APAG] +ORDER BY DTTRIM DESC) b + +--SELECT * FROM C6MartPeriodico.DettaglioMovimenti +--SELECT * FROM [C6StagingPeriodico].[W6APAG] + +INSERT INTO C6MartPeriodico.DettaglioMovimenti +SELECT + RETE, + CASE + WHEN CODMAN = '' --is null + THEN CODFIS + ELSE 'FF@' + CODMAN + END AS COD_FIS, + (APPORTI - PRELIEVI) AS DETT_MOV, + 1 +FROM + [C6StagingPeriodico].[W6APAG] +WHERE + DTTRIM = @MaxTrim + +INSERT INTO C6MartPeriodico.DettaglioMovimenti +SELECT + RETE, + CASE + WHEN CODMAN = '' --is null + THEN CODFIS + ELSE 'FF@' + CODMAN + END AS COD_FIS, + (APPORTI - PRELIEVI) AS DETT_MOV, + 0 +FROM + [C6StagingPeriodico].[W6APAG] +WHERE + DTTRIM = @MinTrim + + + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_DettaglioMovimenti_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_DettaglioMovimenti_pre_selective.sql new file mode 100644 index 00000000..6a1994dc --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_DettaglioMovimenti_pre_selective.sql @@ -0,0 +1,181 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_DettaglioMovimenti_pre_selective + + + + + + + + + + + +CREATE procedure [C6MartPeriodico].[DM_DettaglioMovimenti_pre_selective] +AS BEGIN + +DECLARE @RETE char(1), @CODFIS varchar(16), @CODMAN varchar(6) +DECLARE @DETT_MOV_PREC decimal(15,2), @DETT_MOV_CORR decimal(15,2), @MOV_TRIMESTRE_PREC decimal(15,2) +DECLARE @TrimestreDettMov varchar(8) +DECLARE @appoDataAvvioMon varchar(8) + +--SET @appoDataAvvioMon = '20151201' + + +-- Modifica del 13/9/2016 con la creazione di una funzione che torna la dataAvvioMon, eliminando cos l'aggiornamento manuale e quindi uno step dalla simulazione +--------->SET @appoDataAvvioMon = '20160301' --simulazione del 18/03/2016 +SET @appoDataAvvioMon = c6martperiodico.get_appoDataAvvioMon(null) +-- Fine modifica del 13/9/2016 + + + +--SET @TrimestreDettMov = C6MartPeriodico.getTrimestreDettMov() +SET @TrimestreDettMov = C6MartPeriodico.getTrimestre2(getdate(), 0) --'20120531' simul + + +TRUNCATE TABLE C6MartPeriodico.DettaglioMovimenti + +DECLARE DettMov_cursor CURSOR FOR + +SELECT + RETE, + CODFIS, + CODMAN +FROM + [C6StagingPeriodico].[W6APAG] +--WHERE +-- CODFIS='BCCPRZ52T67H945W' AND RETE='F' +GROUP BY + RETE, + CODFIS, + CODMAN + +/* +SELECT + [RETE], + CASE + WHEN CODMAN = '' + THEN CODFIS + ELSE 'FF@' + CODMAN + END AS COD_FIS +FROM + [C6StagingPeriodico].[W6APTR] +GROUP BY + RETE, + CASE WHEN CODMAN = '' THEN CODFIS ELSE 'FF@' + CODMAN END +*/ + +DECLARE @DataAvvioMon DATETIME --varchar(8) +DECLARE @DataPrecInvioRep DATETIME --varchar(8) + +OPEN DettMov_cursor + +FETCH NEXT FROM DettMov_cursor +INTO @RETE, @CODFIS, @CODMAN + +WHILE @@FETCH_STATUS = 0 +BEGIN + + IF @CODMAN <> '' + SET @CODFIS = 'FF@' + @CODMAN + + SELECT @DataAvvioMon = DATA_FOTO + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @RETE AND + COD_FISCALE = @CODFIS + + + IF EXISTS (SELECT * FROM C6MARTPERIODICO.MONITORAGGIO_REPORT + WHERE RETE = @RETE AND COD_FISCALE = @CODFIS) + BEGIN + --PRECEDENTE + IF @DataAvvioMon < '20111001' + SET @DETT_MOV_PREC = null + +----------------------------------- + IF @CODMAN <> '' + SET @CODFIS = 'FF' + @CODMAN + + IF @DataAvvioMon >= '20111001' AND @DataAvvioMon <= @appoDataAvvioMon + SELECT + @DETT_MOV_PREC = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM < @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + + + --CORRENTE + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + + Set @MOV_TRIMESTRE_PREC = @DETT_MOV_CORR + END + ELSE + BEGIN + --ACCORPAMENTO (cambiare prossima simulazione) + SET @DETT_MOV_PREC = null + + IF @DataAvvioMon < '20111001' + SET @DETT_MOV_CORR = null + IF @DataAvvioMon >= '20111001' AND @DataAvvioMon < @appoDataAvvioMon + begin + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + GROUP BY RETE, CODFIS, CODMAN + + SELECT + @MOV_TRIMESTRE_PREC = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + end + + IF @DataAvvioMon >= @appoDataAvvioMon + begin + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + + Set @ diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_ELABORAZIONI_EMAIL_RNA.sql b/sql/storedCollaudo/C6MartPeriodico_DM_ELABORAZIONI_EMAIL_RNA.sql new file mode 100644 index 00000000..bb1c53fb --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_ELABORAZIONI_EMAIL_RNA.sql @@ -0,0 +1,103 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_ELABORAZIONI_EMAIL_RNA + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ELABORAZIONI_EMAIL_RNA] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE_PB AS RETE, + AL.CODICEFISCALE AS COD_FISCALE, + AL.NOME AS NOME, + AL.COGNOME AS COGNOME, + ISNULL(AL.DATA_NASCITA, CL.DTNASCI) AS DATA_NASCITA, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libero' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libera' + ELSE NULL + END AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + DATEDIFF(YY, ISNULL(AL.DATA_NASCITA, CL.DTNASCI), GETDATE()) AS ETA, + NULL AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + NULL AS SESSO, + AL.CODICE_PB AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN2 CL + ON CL.RETE = AL.RETE_PB + AND CL.CODFIS = AL.CODICEFISCALE + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_EMAIL_PB.sql b/sql/storedCollaudo/C6MartPeriodico_DM_EMAIL_PB.sql new file mode 100644 index 00000000..05881c2a --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_EMAIL_PB.sql @@ -0,0 +1,88 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_EMAIL_PB + + + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22 gennaio 2009 +-- Description: MOLTO SEMPLIFICATA RISPETTO A QUELLA DELLA FASE UNO: SOLO PB +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_EMAIL_PB] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + --TRUNCATE TABLE C6MARTPERIODICO.EMAIL_PB + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_EMAIL_PB', + GETDATE(), + 'Elaborazione trimestrale' + ) + + SELECT DISTINCT + CONTRATTOSEI.RETE AS RETE, + CONTRATTOSEI.COD_AGENTE AS CODICE, + CASE CONTRATTOSEI.RETE + WHEN 'F' THEN 'R' + when 'W' THEN 'W' + ELSE 'P' + END AS PREFISSO, + CASE CONTRATTOSEI.RETE + WHEN 'F' THEN 'R' + when 'W' THEN 'W' + ELSE 'P' + END + CONTRATTOSEI.COD_AGENTE AS FIRMA +, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6MARTPERIODICO.RP_vContrattiPerGenerazioneReport CONTRATTOSEI + LEFT JOIN C6MARTPERIODICO.EMAIL_PB EMAIL_PB_ESISTENTI + ON EMAIL_PB_ESISTENTI.RETE = CONTRATTOSEI.RETE + AND EMAIL_PB_ESISTENTI.CODICE = CONTRATTOSEI.COD_AGENTE + LEFT JOIN C6MARTPERIODICO.CODICI_PROMOTORI_FITTIZI PF + ON (CONTRATTOSEI.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND CONTRATTOSEI.RETE = PF.RETE + WHERE EMAIL_PB_ESISTENTI.EMAIL IS NULL + + AND PF.RETE IS NULL + ORDER BY 1,2 + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_EMAIL_PB' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_EMAIL_PB' + ) +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_EMAIL_PB_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_EMAIL_PB_pre_selective.sql new file mode 100644 index 00000000..d3fc6975 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_EMAIL_PB_pre_selective.sql @@ -0,0 +1,83 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_EMAIL_PB_pre_selective + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22 gennaio 2009 +-- Description: MOLTO SEMPLIFICATA RISPETTO A QUELLA DELLA FASE UNO: SOLO PB +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_EMAIL_PB_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + --TRUNCATE TABLE C6MARTPERIODICO.EMAIL_PB + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_EMAIL_PB_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + SELECT DISTINCT + CONTRATTOSEI.RETE AS RETE, + CONTRATTOSEI.COD_AGENTE AS CODICE, + CASE CONTRATTOSEI.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE CONTRATTOSEI.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + CONTRATTOSEI.COD_AGENTE AS FIRMA +, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6MARTPERIODICO.RP_vContrattiPerGenerazioneReport CONTRATTOSEI + LEFT JOIN C6MARTPERIODICO.EMAIL_PB EMAIL_PB_ESISTENTI + ON EMAIL_PB_ESISTENTI.RETE = CONTRATTOSEI.RETE + AND EMAIL_PB_ESISTENTI.CODICE = CONTRATTOSEI.COD_AGENTE + LEFT JOIN C6MARTPERIODICO.CODICI_PROMOTORI_FITTIZI PF + ON (CONTRATTOSEI.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND CONTRATTOSEI.RETE = PF.RETE + WHERE EMAIL_PB_ESISTENTI.EMAIL IS NULL + + AND PF.RETE IS NULL + ORDER BY 1,2 + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_EMAIL_PB_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_EMAIL_PB_pre_selective' + ) +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_FOI80.sql b/sql/storedCollaudo/C6MartPeriodico_DM_FOI80.sql new file mode 100644 index 00000000..d7c3fdd0 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_FOI80.sql @@ -0,0 +1,148 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_FOI80 + + + + + + +-- ============================================= + +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[DM_FOI80] + + + +AS +BEGIN + +SET NOCOUNT ON; + + +DECLARE @Par_percentuale INT +SET @Par_percentuale = 80 + +DECLARE @DataFineTrim VARCHAR(8) + + + SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_FOI80', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.FOI80 + + INSERT INTO C6MartPeriodico.FOI80 + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[DESPROD] + ,[CODMAN] + ,[CODCONF] + ,[CODPROD] + ,[SUBPROD] + ,[ISIN] + ,[CTV] + ,[PREZZO] + ,[QUOTE] + ,[PREZZOMAX] + ,[DTPREZZOMAX] + ,[DESMAX] + ,[PREZZOPROT] + ,[CTRVIMPPROT] + ,[DESPROT] + ,[DESPRODTIT] + ,[QUOTA_MAX_PERC] + ) + select --top 10 + @DataFineTrim AS DTTRIM, + DTRIFE AS DTRIFE, + RETE AS RETE, + CODFIS AS CODFIS, + --ISNULL(CAT.NOMEPRODOTTO,'Da SP - Fonditalia Crescita Protetta 80 Cap EUR') as DESPROD, + CAT.NOMEPRODOTTO as DESPROD, + ISNULL(CODMAN,'') AS CODMAN, + CODCONF AS COD_CONF, + CODPROD AS CODPROD, + SUBPROD AS SUBPROD, + ISIN AS ISIN, + CTV AS CTV, + PREZZO AS PREZZO, + QUOTE AS QUOTE, + PREZZOMAX AS PREZZOMAX, + DTPREZZOMAX AS DTPREZZOMAX, + 'Quota massima' AS DESMAX, + PREZZOPROT AS PREZZOPROT, + CTRVIMPPROT AS CTRVIMPPROT, + 'Quota e controvalore protetti *' AS DESPROT, + 'Fonditalia Crescita Protetta 80' AS [DESPRODTIT], + @Par_percentuale AS QUOTA_MAX_PERC + + FROM C6StagingPeriodico.WSEIFP FP + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on --UL.codint=CAT.codinterno and + FP.subprod=CAT.codsottoprodotto + --and FP.isin=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE FP.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + --AND FP.isin <> '' + +-- union + +-- select --top 10 +-- RETE AS RETE, +-- CODFIS AS CODFIS, +-- CAT.NOMEPRODOTTO as DES_PROD, +-- CODCONF AS COD_CONF, +-- PREZZO AS QUOTA, +---- CTV/ PREZZO AS NUMEROQUOTE, +-- QUOTE AS NUMEROQUOTE, +-- CTV AS CONTROVALORE, +-- @DataFineTrim AS DATARIF, +-- 'Quota massima' AS DES_MAX, +-- PREZZOMAX AS QUOTA_MAX, +-- @Par_percentuale AS QUOTA_MAX_PERC, +-- CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, +-- 'Quota e controvalore protetti' AS DES_PROT, +-- PREZZOPROT AS QUOTA_PROT, +---- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, +-- QUOTE AS NUMEROQUOTE_PROT, +-- CTRVIMPPROT AS CONTROVALORE_PROT +-- FROM C6StagingPeriodico.WSEIUL UL +-- LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT +-- on UL.codint=CAT.codinterno +-- and UL.subprod=CAT.codsottoprodotto +-- and UL.isinFIT=ISNULL(CAT.codisin,'') +-- and CAT.visibilita = 1 +-- WHERE UL.DTTRIM = @DataFineTrim +-- and PREZZOMAX <> 0.000 +-- AND UL.isinFIT <> '' + +-- union + +-- select --top 10 +-- RETE AS RETE, +-- CODFIS AS CODFIS, +-- CAT.NOMEPRODOTTO as DES_PROD, +-- CODCONF AS COD_CONF, +-- PREZZO AS QUOTA, +---- CTV/ PREZZO AS NUMEROQUOTE, +-- QUOTE AS NUMEROQUOTE, +-- CTV AS CONTROVALORE, +-- @DataFineTrim AS DATARIF, +-- 'Quota massima' AS DES_MAX, +-- PREZZOMAX AS QUOTA_MAX, +-- @Par_percentuale AS diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_FOI80_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_FOI80_pre_selective.sql new file mode 100644 index 00000000..1c62cf20 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_FOI80_pre_selective.sql @@ -0,0 +1,164 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_FOI80_pre_selective + + + + + + + + + + + + + + + + + +-- ============================================= + +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[DM_FOI80_pre_selective] + + + +AS +BEGIN + +SET NOCOUNT ON; + + +DECLARE @Par_percentuale INT +SET @Par_percentuale = 80 + +DECLARE @DataFineTrim VARCHAR(8) + + + SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_FOI80_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.FOI80 + + INSERT INTO C6MartPeriodico.FOI80 + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[DESPROD] + ,[CODMAN] + ,[CODCONF] + ,[CODPROD] + ,[SUBPROD] + ,[ISIN] + ,[CTV] + ,[PREZZO] + ,[QUOTE] + ,[PREZZOMAX] + ,[DTPREZZOMAX] + ,[DESMAX] + ,[PREZZOPROT] + ,[CTRVIMPPROT] + ,[DESPROT] + ,[DESPRODTIT] + ,[QUOTA_MAX_PERC] + ) + select --top 10 + @DataFineTrim AS DTTRIM, + DTRIFE AS DTRIFE, + RETE AS RETE, + CODFIS AS CODFIS, + --ISNULL(CAT.NOMEPRODOTTO,'Da SP - Fonditalia Crescita Protetta 80 Cap EUR') as DESPROD, + CAT.NOMEPRODOTTO as DESPROD, + ISNULL(CODMAN,'') AS CODMAN, + CODCONF AS COD_CONF, + CODPROD AS CODPROD, + SUBPROD AS SUBPROD, + ISIN AS ISIN, + CTV AS CTV, + PREZZO AS PREZZO, + QUOTE AS QUOTE, + PREZZOMAX AS PREZZOMAX, + DTPREZZOMAX AS DTPREZZOMAX, + 'Quota massima' AS DESMAX, + PREZZOPROT AS PREZZOPROT, + CTRVIMPPROT AS CTRVIMPPROT, + 'Quota e controvalore protetti *' AS DESPROT, + 'Fonditalia Crescita Protetta 80' AS [DESPRODTIT], + @Par_percentuale AS QUOTA_MAX_PERC + + FROM C6StagingPeriodico.WSEIFP FP + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on --UL.codint=CAT.codinterno and + FP.subprod=CAT.codsottoprodotto + --and FP.isin=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE FP.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + --AND FP.isin <> '' + +-- union + +-- select --top 10 +-- RETE AS RETE, +-- CODFIS AS CODFIS, +-- CAT.NOMEPRODOTTO as DES_PROD, +-- CODCONF AS COD_CONF, +-- PREZZO AS QUOTA, +---- CTV/ PREZZO AS NUMEROQUOTE, +-- QUOTE AS NUMEROQUOTE, +-- CTV AS CONTROVALORE, +-- @DataFineTrim AS DATARIF, +-- 'Quota massima' AS DES_MAX, +-- PREZZOMAX AS QUOTA_MAX, +-- @Par_percentuale AS QUOTA_MAX_PERC, +-- CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, +-- 'Quota e controvalore protetti' AS DES_PROT, +-- PREZZOPROT AS QUOTA_PROT, +---- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, +-- QUOTE AS NUMEROQUOTE_PROT, +-- CTRVIMPPROT AS CONTROVALORE_PROT +-- FROM C6StagingPeriodico.WSEIUL UL +-- LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT +-- on UL.codint=CAT.codinterno +-- and UL.subprod=CAT.codsottoprodotto +-- and UL.isinFIT=ISNULL(CAT.codisin,'') +-- and CAT.visibilita = 1 +-- WHERE UL.DTTRIM = @DataFineTrim +-- and PREZZOMAX <> 0.000 +-- AND UL.isinFIT <> '' + +-- union + +-- select --top 10 +-- RETE AS RETE, +-- CODFIS AS CODFIS, +-- CAT.NOMEPRODOTTO as DES_PROD, +-- CODCONF AS COD_CONF, +-- PREZZO AS QUOTA, +---- CTV/ PREZZO AS NUMEROQUOTE, +-- QUOTE AS NUMEROQUOTE, +-- CTV AS CONTROVALORE, +-- @DataFineTrim AS DATARIF, +-- 'Quota massima' AS DES_MAX, +-- PREZZOMAX AS QUOTA_MAX, +-- @Par_percentuale AS QUOTA_MAX_PERC, +-- CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, +-- 'Quota e controvalore protetti' AS DES_PROT, +-- PREZZOPROT AS QUOTA_PROT, +---- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, +-- QUOTE diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql b/sql/storedCollaudo/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql new file mode 100644 index 00000000..803aea41 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql @@ -0,0 +1,124 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_GESTIONE_EMAIL_REPORT_DA_GENERARE + + + + +-- ============================================= +-- Author: +-- Create date: <13/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_GESTIONE_EMAIL_REPORT_DA_GENERARE] +AS +BEGIN +--TRUNCATE TABLE C6MartPeriodico.GESTIONE_EMAIl +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT + +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + +DECLARE @GETDATE AS DATETIME +SELECT @GETDATE = GETDATE() + +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_GESTIONE_EMAIL_REPORT_DA_GENERARE', + GETDATE(), + 'Elaborazione trimestrale' +) + --1. INSERIMENTO MAIL "LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- NON PRESENTI SU GESTIONE_EMAIL +DECLARE @TIPOEMAIL AS VARCHAR(50) +SET @TIPOEMAIL = 'LC_REP_DA_GEN' + +DECLARE @id_periodiodo as int + select @id_periodiodo = max(id_periodo) from [10.10.32.84].controllodata.dbo.clientiAdeguatezza_ALL + + INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,CodicePB,Tipo,Data_Generazione, ID_ELAB) + SELECT + DISTINCT + C6.Rete, + C6.Cod_Agente as CodicePB, + @TIPOEMAIL as TipoEmail, + @GETDATE AS DataGenerazione, + @ID_ELAB as ID_ELAB + --FROM C6MartPeriodico.vContrattiPerGenerazioneReport C6 --V cambiata la vista + FROM + (select * from C6MartPeriodico.vContrattiPerGenerazioneReport + where rete + cod_agente in +( +select + a.rete+ cod_agente + from + c6mart.contrattosei a + left outer join + [10.10.32.84].controllodata.dbo.clientiAdeguatezza_ALL b + on + (case + when len("codice mandato") = 0 + then b."codice fiscale" + else 'FF@'+ "codice mandato" + end) = a.cod_fiscale + and a.rete=b.rete + and a.cod_agente = substring(b.codagente, 2, len(b.codagente)- 1) + where + b.id_periodo= @id_periodiodo--- chiedi ad antonio il periodo + and a.data_fineavanzato is null + and profilo > 0 + and dtprofilo is null + +)) C6 +--C6MartPeriodico.vContrattiPerGenerazioneReport C6 + LEFT OUTER JOIN C6MartPeriodico.GESTIONE_EMAIL EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_Agente = EMAIL.CodicePB + AND EMAIL.TIPO = @TIPOEMAIL + AND YEAR(EMAIL.Data_Generazione) = YEAR(@GETDATE) + AND MONTH(EMAIL.Data_Generazione) = MONTH(@GETDATE) + AND ISNULL(EMAIL.[Inviata],'N') = 'N' + LEFT OUTER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.CodicePB IS NULL + AND PF.RETE IS NULL +--recupero mail errate +--and c6.rete+c6.cod_agente in ( +-- select * from temp_promotori) + +-- +IF @@ERROR<>0 ROLLBACK + +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT +WHERE + Nome = 'DM_GESTIONE_EMAIL_REPORT_DA_GENERARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GESTIONE_EMAIL_REPORT_DA_GENERARE' + ) + +COMMIT + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_DEFINITIVI.sql b/sql/storedCollaudo/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_DEFINITIVI.sql new file mode 100644 index 00000000..9940d4a9 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_DEFINITIVI.sql @@ -0,0 +1,66 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_GESTIONE_EMAIL_REPORT_DEFINITIVI + + + +-- ============================================= +-- Author: +-- Create date: <13/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_GESTIONE_EMAIL_REPORT_DEFINITIVI] +AS +BEGIN + +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT + +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + +DECLARE @GETDATE AS DATETIME +SELECT @GETDATE = GETDATE() + + --1. INSERIMENTO MAIL "LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- NON PRESENTI SU GESTIONE_EMAIL +DECLARE @TIPOEMAIL AS VARCHAR(50) +SET @TIPOEMAIL = 'LC_REP_DEF' + + INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,CodicePB,Tipo,Data_Generazione, ID_ELAB) + SELECT + DISTINCT + REPGEN.Rete, + ANAG_CLIENTI.ID_PROMOTORE as CodicePB, + @TIPOEMAIL as TipoEmail, + @GETDATE AS DataGenerazione, + @ID_ELAB as ID_ELAB + FROM C6MartPeriodico.GESTIONE_PDF_FTP REPGEN + INNER JOIN C6MartPeriodico.ANAG_CLIENTI ANAG_CLIENTI + ON REPGEN.RETE = ANAG_CLIENTI.RETE + AND REPGEN.CODICEFISCALE = ANAG_CLIENTI.COD_FISCALE + AND ISNULL(REPGEN.FLAGINVIO,'N') = 'S' + AND ISNULL(REPGEN.Definitivo,0) = 1 + LEFT OUTER JOIN C6MartPeriodico.GESTIONE_EMAIL EMAIL + ON REPGEN.RETE = EMAIL.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = EMAIL.CodicePB + AND EMAIL.TIPO = @TIPOEMAIL + AND ISNULL(EMAIL.[Inviata],'N') = 'N' + LEFT OUTER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON ANAG_CLIENTI.ID_PROMOTORE BETWEEN PF.CODICEDA AND PF.CODICEA + AND REPGEN.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.CodicePB IS NULL + AND PF.RETE IS NULL + +IF @@ERROR<>0 ROLLBACK + +COMMIT + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_GENERATI.sql b/sql/storedCollaudo/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_GENERATI.sql new file mode 100644 index 00000000..c1527529 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_GENERATI.sql @@ -0,0 +1,58 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_GESTIONE_EMAIL_REPORT_GENERATI + + + +-- ============================================= +-- Author: +-- Create date: <13/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_GESTIONE_EMAIL_REPORT_GENERATI] +AS +BEGIN + +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT + +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + +DECLARE @GETDATE AS DATETIME +SELECT @GETDATE = GETDATE() + + --1. INSERIMENTO MAIL "LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- NON PRESENTI SU GESTIONE_EMAIL +DECLARE @TIPOEMAIL AS VARCHAR(50) +SET @TIPOEMAIL = 'LC_REP_GEN' +-- Controllo se ci sono report generati + DECLARE @NUM_RIGHE AS INT + SELECT @NUM_RIGHE = COUNT(*) + FROM C6MartPeriodico.GESTIONE_PDF_FTP REPGEN + LEFT OUTER JOIN C6MartPeriodico.GESTIONE_EMAIL EMAIL + ON REPGEN.ID_ELAB = EMAIL.ID_ELAB + AND ISNULL(REPGEN.FLAGINVIO,'N') = 'N' + AND EMAIL.TIPO = @TIPOEMAIL + AND ISNULL(EMAIL.[Inviata],'N') = 'N' + WHERE 1 = 1 + --AND REPGEN.ID_ELAB = @ID_ELAB + AND EMAIL.ID_ELAB IS NULL + +IF @NUM_RIGHE > 0 +BEGIN +INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,CodicePB,SistemiOperativi ,Tipo,Data_Generazione, ID_ELAB) +VALUES('','','S',@TIPOEMAIL,@GETDATE,@ID_ELAB) +END + +IF @@ERROR<>0 ROLLBACK + +COMMIT + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_GESTIONE_EMAIL_RNA.sql b/sql/storedCollaudo/C6MartPeriodico_DM_GESTIONE_EMAIL_RNA.sql new file mode 100644 index 00000000..a6704373 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_GESTIONE_EMAIL_RNA.sql @@ -0,0 +1,71 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_GESTIONE_EMAIL_RNA + + + +-- ============================================= +-- Author: +-- Create date: <13/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_GESTIONE_EMAIL_RNA] +AS +BEGIN + +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT + +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + +DECLARE @GETDATE AS DATETIME +SELECT @GETDATE = GETDATE() + + +-- RECUPERO LA TIPOLOGIA DI EMAIL DI SOLLECITO +DECLARE @NUMEL_EMAIL_AL_MESE AS INT +SELECT @NUMEL_EMAIL_AL_MESE = C6MartPeriodico.getNumeroElaborazioniEmailAlMese() + +DECLARE @TIPOEMAIL AS VARCHAR(50) +IF(@NUMEL_EMAIL_AL_MESE = 0) + SET @TIPOEMAIL = 'LC_NOASS' +ELSE + SET @TIPOEMAIL = 'LC_' + CAST(@NUMEL_EMAIL_AL_MESE as VARCHAR(1)) + '_SOLL_NOASS' + --1. INSERIMENTO MAIL "LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- NON PRESENTI SU GESTIONE_EMAIL + + INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,CodicePB,Tipo,Data_Generazione, ID_ELAB) + SELECT + DISTINCT + C6.Rete, + C6.CodicePB as CodicePB, + @TIPOEMAIL as TipoEmail, + @GETDATE AS DataGenerazione, + @ID_ELAB as ID_ELAB + FROM C6MartPeriodico.CLIENTI_CON_RNA_ALTO C6 + LEFT OUTER JOIN C6MartPeriodico.GESTIONE_EMAIL EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.CodicePB = EMAIL.CodicePB + AND EMAIL.TIPO = @TIPOEMAIL + AND YEAR(EMAIL.Data_Generazione) = YEAR(@GETDATE) + AND MONTH(EMAIL.Data_Generazione) = MONTH(@GETDATE) + LEFT OUTER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.CodicePB BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.CodicePB IS NULL + AND PF.RETE IS NULL + +-- +IF @@ERROR<>0 ROLLBACK + +COMMIT + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_MAIL_PROFILI_RISCHIO.sql b/sql/storedCollaudo/C6MartPeriodico_DM_MAIL_PROFILI_RISCHIO.sql new file mode 100644 index 00000000..7d013c38 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_MAIL_PROFILI_RISCHIO.sql @@ -0,0 +1,39 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_MAIL_PROFILI_RISCHIO + +-- Stored procedure +CREATE procedure [C6MartPeriodico].[DM_MAIL_PROFILI_RISCHIO] AS +BEGIN + +truncate table [C6MartPeriodico].[MAIL_PROFILI_RISCHIO] + +insert into [C6MartPeriodico].[MAIL_PROFILI_RISCHIO] +SELECT [rete] + ,[cod_fiscale] + ,[codicecontratto] + ,[cod_agente] + ,[data_sott] + ,[data_perf] + ,[flag_invio_report] + ,[profilo] + ,[dt_creazione_profilo] + ,case + when profilo = 0 then 1 + else 0 + end as flagScaduto + + ,case + when datediff(dd,dt_creazione_profilo,c6martperiodico.gettrimestre2(getdate(),0)) / 365.25 < 3 then 0 + else 1 + end as flagScadenzaTrim + + ,case + when datediff(dd,dt_creazione_profilo,c6martperiodico.getNexttrimestre(getdate(),0)) / 365.25 < 3 then 0 + else 1 + end as flagScadenzaNextTrim + + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[RP_MAIL_PROFILI_RISCHIO] + +end + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_MIFID.sql b/sql/storedCollaudo/C6MartPeriodico_DM_MIFID.sql new file mode 100644 index 00000000..fea91e2f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_MIFID.sql @@ -0,0 +1,144 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_MIFID + + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: Aggiunta chiave primaria autoincrement su tabella di staging +-- per eliminazione duplicati. +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MIFID] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_MIFID', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.MIFID + + INSERT INTO C6MartPeriodico.[MIFID] + ([RETE] + ,[COD_FISCALE] + ,[PROFILO_ASS] + ,[DATA_INIZIO_VAL] + ,[ID_ELAB] + ,[RISKCLASS] + ,[EXPERIENCE] + ,SCADUTO ) + SELECT + AN.RETE AS RETE, + AN.CODFIS AS COD_FISCALE, + case when RPF.FLGPROF='P' then 0 else AN.CODPROF end AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + CLASSeRC, + CASE + WHEN + RPF.FLGPROF='P' then -1 else COD_PROFEC + end, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN RPF.FLGPROF='P' then 2 + when ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + + FROM + C6StagingPeriodico.WSEIAN2 AS AN + LEFT JOIN C6MartPeriodico.wseirpf RPF + ON AN.RETE=RPF.RETE AND AN.CODFIS=RPF.CODFIS + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + --ON AL.RETE_PB = AN.RETE + --AND AL.CODICEFISCALE = AN.CODFIS + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN='' +UNION +SELECT + AN.RETE AS RETE, + 'FF@' + AN.CODMAN AS COD_FISCALE, --AN.CODFIS AS COD_FISCALE, + case when RPF.FLGPROF='P' then 0 else AN.CODPROF end AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + classErc, + case when RPF.FLGPROF='P' then -1 else COD_PROFEC + end, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN RPF.FLGPROF='P' then 2 + WHEN + ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + FROM + C6StagingPeriodico.WSEIAN2 AS AN + LEFT JOIN C6MartPeriodico.wseirpf RPF + ON AN.RETE=RPF.RETE AND AN.CODFIS=RPF.CODFIS AND AN.CODMAN=RPF.CODMAN + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + -- ON AL.RETE_PB = AN.RETE + -- AND SUBSTRING(AL.CODICEFISCALE,4,4) = AN.CODMAN + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN <> '' + --AND AL.CODICEFISCALE LIKE '%@%' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MIFID' AND + Inizio = ( + SELECT diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_MIFID_BKP_20231114_PRE_RAFFORZAMENTO.sql b/sql/storedCollaudo/C6MartPeriodico_DM_MIFID_BKP_20231114_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..e507b58b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_MIFID_BKP_20231114_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,148 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_MIFID_BKP_20231114_PRE_RAFFORZAMENTO + + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: Aggiunta chiave primaria autoincrement su tabella di staging +-- per eliminazione duplicati. +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MIFID_BKP_20231114_PRE_RAFFORZAMENTO] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_MIFID', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.MIFID + + INSERT INTO C6MartPeriodico.[MIFID] + ([RETE] + ,[COD_FISCALE] + ,[PROFILO_ASS] + ,[DATA_INIZIO_VAL] + ,[ID_ELAB] + ,[RISKCLASS] + ,[EXPERIENCE] + ,SCADUTO ) + SELECT + AN.RETE AS RETE, + AN.CODFIS AS COD_FISCALE, + AN.CODPROF AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + CLASSeRC, + COD_PROFEC, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN + ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + + FROM + C6StagingPeriodico.WSEIAN2 AS AN + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + --ON AL.RETE_PB = AN.RETE + --AND AL.CODICEFISCALE = AN.CODFIS + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN='' +UNION +SELECT + AN.RETE AS RETE, + 'FF@' + AN.CODMAN AS COD_FISCALE, --AN.CODFIS AS COD_FISCALE, + AN.CODPROF AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + classErc, + COD_PROFEC, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN + ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + FROM + C6StagingPeriodico.WSEIAN2 AS AN + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + -- ON AL.RETE_PB = AN.RETE + -- AND SUBSTRING(AL.CODICEFISCALE,4,4) = AN.CODMAN + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN <> '' + --AND AL.CODICEFISCALE LIKE '%@%' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MIFID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_MIFID' + ) + +END + + +--select count(*) from c6martperiodico.mifid + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_MIFID_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_MIFID_pre_selective.sql new file mode 100644 index 00000000..7e68ac8a --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_MIFID_pre_selective.sql @@ -0,0 +1,145 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_MIFID_pre_selective + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: Aggiunta chiave primaria autoincrement su tabella di staging +-- per eliminazione duplicati. +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MIFID_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MIFID_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.MIFID + + INSERT INTO C6MartPeriodico.[MIFID] + ([RETE] + ,[COD_FISCALE] + ,[PROFILO_ASS] + ,[DATA_INIZIO_VAL] + ,[ID_ELAB] + ,[RISKCLASS] + ,[EXPERIENCE] + ,SCADUTO ) + SELECT + AN.RETE AS RETE, + AN.CODFIS AS COD_FISCALE, + AN.CODPROF AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + CLASSeRC, + COD_PROFEC, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN + ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + + FROM + C6StagingPeriodico.WSEIAN2 AS AN + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + --ON AL.RETE_PB = AN.RETE + --AND AL.CODICEFISCALE = AN.CODFIS + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN='' +UNION +SELECT + AN.RETE AS RETE, + 'FF@' + AN.CODMAN AS COD_FISCALE, --AN.CODFIS AS COD_FISCALE, + AN.CODPROF AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + classErc, + COD_PROFEC, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN + ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + FROM + C6StagingPeriodico.WSEIAN2 AS AN + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + -- ON AL.RETE_PB = AN.RETE + -- AND SUBSTRING(AL.CODICEFISCALE,4,4) = AN.CODMAN + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN <> '' + --AND AL.CODICEFISCALE LIKE '%@%' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MIFID_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MIFID_pre_selective' + ) + +END + + +--select count(*) from c6martperiodico.mifid + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE.sql b/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE.sql new file mode 100644 index 00000000..6f79ee6f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE.sql @@ -0,0 +1,115 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_MONITORAGGIO_ATTUALE + + + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_ATTUALE] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_ATTUALE', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_ATTIVAZIONE] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[APPORTO_INIZIALE] + ,[APPORTO_SUCCESSIVO] + ,[LIQUIDAZIONI] + ,[CEDOLE_DIVIDENDI] + ,[MINUS_PLUSVALENZA] + ,[RISORSE_ASSOCIATE] + ,[RENDIMENTO_CUMULATO] + ,[RENDIMENTO_ANNUALIZZATO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB]) + +-- SELECT +-- WANAB.RETE, +-- WANAB.CODFIS AS COD_FISCALE, +-- CASE +-- WHEN WANAB.CODAREA = 'INV' THEN 'Inv' +-- WHEN WANAB.CODAREA = 'RIS' THEN 'Ris' +-- WHEN WANAB.CODAREA = 'EXR' THEN 'Ext' +-- WHEN WANAB.CODAREA = 'LIQ' THEN 'Liq' +-- END AS ID_AREA, +-- ISNULL(CASE +-- WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN PRCONSUL.C_PROJECTNAM_11D1A +-- ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO +-- END, 'XXX') AS NOME_PROGETTO, +-- CAST(CAST(WANAB.DTRIF AS VARCHAR(8)) AS DATETIME) AS DATA_ATTIVAZIONE, +-- CASE +-- WHEN WANAB.DTCTV = 0 THEN NULL +-- ELSE CAST(CAST(WANAB.DTCTV AS VARCHAR(8)) AS DATETIME) +-- END AS DATA_CTV, +-- WANAB.CTV AS CTV_MONITORATO, +-- WANAB.APP_INI AS APPORTO_INIZIALE, +-- WANAB.NTOT_APP AS APPORTO_SUCCESSIVO, +-- WANAB.NTOT_LIQ AS LIQUIDAZIONI, +-- WANAB.TOT_CED + WANAB.TOT_DIV AS CEDOLE_DIVIDENDI, +-- WANAB.CTV - (WANAB.APP_INI + WANAB.TOT_APP - WANAB.TOT_LIQ - WANAB.TOT_CED - WANAB.TOT_DIV) AS MINUS_PLUSVALENZA, +-- WANAB.APP_INI + WANAB.NTOT_APP - WANAB.NTOT_LIQ - WANAB.TOT_CED - WANAB.TOT_DIV AS RISORSE_ASSOCIATE, +-- WANAB.RENDATT AS RENDIMENTO_CUMULATO, +-- WANAB.RENDATT AS RENDIMENTO_ANNUALIZZATO, +-- WANAB.CODPROG AS ORDINAMENTO_PROGETTO, +-- @ID_ELAB AS ID_ELAB +-- +-- FROM C6StagingPeriodico.WANAB AS WANAB +-- INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL +-- ON WANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 +-- INNER JOIN C6StagingPeriodico.CONSAREA AS AREA +-- ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ +-- INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL +-- ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ +-- INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO +-- ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE +-- AND CONSUL.INSTID = SCELTA_STATO.RETE +-- AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA +-- LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA +-- ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 +-- WHERE 1 = 1 +-- AND WANAB.DTFINE = 99991231 +-- AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 +-- +-- UNION + + SELECT + TANAB.RETE, + CASE + WHEN MANDATI.CODMAND IS NULL THEN TANAB.CODFIS + ELSE dbo.getFiduciariaByCodMand(MANDATI.CODMAND) + END AS COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CASE + WHEN P diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE_pre_selective.sql new file mode 100644 index 00000000..b24b45d9 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE_pre_selective.sql @@ -0,0 +1,118 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_MONITORAGGIO_ATTUALE_pre_selective + + + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_ATTUALE_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_ATTUALE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_ATTIVAZIONE] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[APPORTO_INIZIALE] + ,[APPORTO_SUCCESSIVO] + ,[LIQUIDAZIONI] + ,[CEDOLE_DIVIDENDI] + ,[MINUS_PLUSVALENZA] + ,[RISORSE_ASSOCIATE] + ,[RENDIMENTO_CUMULATO] + ,[RENDIMENTO_ANNUALIZZATO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB]) + +-- SELECT +-- WANAB.RETE, +-- WANAB.CODFIS AS COD_FISCALE, +-- CASE +-- WHEN WANAB.CODAREA = 'INV' THEN 'Inv' +-- WHEN WANAB.CODAREA = 'RIS' THEN 'Ris' +-- WHEN WANAB.CODAREA = 'EXR' THEN 'Ext' +-- WHEN WANAB.CODAREA = 'LIQ' THEN 'Liq' +-- END AS ID_AREA, +-- ISNULL(CASE +-- WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN PRCONSUL.C_PROJECTNAM_11D1A +-- ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO +-- END, 'XXX') AS NOME_PROGETTO, +-- CAST(CAST(WANAB.DTRIF AS VARCHAR(8)) AS DATETIME) AS DATA_ATTIVAZIONE, +-- CASE +-- WHEN WANAB.DTCTV = 0 THEN NULL +-- ELSE CAST(CAST(WANAB.DTCTV AS VARCHAR(8)) AS DATETIME) +-- END AS DATA_CTV, +-- WANAB.CTV AS CTV_MONITORATO, +-- WANAB.APP_INI AS APPORTO_INIZIALE, +-- WANAB.NTOT_APP AS APPORTO_SUCCESSIVO, +-- WANAB.NTOT_LIQ AS LIQUIDAZIONI, +-- WANAB.TOT_CED + WANAB.TOT_DIV AS CEDOLE_DIVIDENDI, +-- WANAB.CTV - (WANAB.APP_INI + WANAB.TOT_APP - WANAB.TOT_LIQ - WANAB.TOT_CED - WANAB.TOT_DIV) AS MINUS_PLUSVALENZA, +-- WANAB.APP_INI + WANAB.NTOT_APP - WANAB.NTOT_LIQ - WANAB.TOT_CED - WANAB.TOT_DIV AS RISORSE_ASSOCIATE, +-- WANAB.RENDATT AS RENDIMENTO_CUMULATO, +-- WANAB.RENDATT AS RENDIMENTO_ANNUALIZZATO, +-- WANAB.CODPROG AS ORDINAMENTO_PROGETTO, +-- @ID_ELAB AS ID_ELAB +-- +-- FROM C6StagingPeriodico.WANAB AS WANAB +-- INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL +-- ON WANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 +-- INNER JOIN C6StagingPeriodico.CONSAREA AS AREA +-- ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ +-- INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL +-- ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ +-- INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO +-- ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE +-- AND CONSUL.INSTID = SCELTA_STATO.RETE +-- AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA +-- LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA +-- ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 +-- WHERE 1 = 1 +-- AND WANAB.DTFINE = 99991231 +-- AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 +-- +-- UNION + + SELECT + TANAB.RETE, + CASE + WHEN MANDATI.CODMAND IS NULL THEN TANAB.CODFIS + ELSE dbo.getFiduciariaByCodMand(MANDATI.CODMAND) + END AS COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CASE + WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + ELSE LTRIM(RTRIM(PROGETTO_BOZZA.NUOVO_NOME_PROGETTO)) + END, 'XXX') AS NOME_PROGETTO, + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO.sql b/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO.sql new file mode 100644 index 00000000..fd4248ca --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO.sql @@ -0,0 +1,128 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_MONITORAGGIO_DETTAGLIO + + +-- ============================================= +-- Author: Alessandro Tringali +-- Create date: 18 Settembre 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_DETTAGLIO] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_DETTAGLIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + + + case when A.TIPPROD='CC' and data_associazione < '20110211' then cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + CASE + WHEN MAN.CODMAND IS NULL THEN TCP.CODFIS + ELSE dbo.getFiduciariaByCodMand(MAN.CODMAND) + END AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + LEFT OUTER JOIN + C6STAGINGPERIODICO.WMANDATI MAN + ON ANA.CODFIS = MAN.CODMAND + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CUSTGAR is null OR LTRIM(RTRIM(a.CUSTGAR)) = '') then '0' else A.CUSTGAR end)=B.CUSTGAR +-- AND A.MAF=B.MAF + --V Modifica skandia di tipo ASU2 + AND b.isin = case when (a.tipprod = 'ASU2') then a.isin else 'na' end + + --da eliminare Trimestrale Ottobre 2012 + --and B.CODFIS not in ('FF@6120', 'SNTRNI51C01D077B', 'FNTLRA71A61E625O', 'NTMLSN59D60E625H') + + --and a.cod_fiscale not in ('GHBSRG47C01B033J') + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDA diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql new file mode 100644 index 00000000..402d3fe8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql @@ -0,0 +1,139 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_MONITORAGGIO_DETTAGLIO_pre_selective + + +-- ============================================= +-- Author: Alessandro Tringali +-- Create date: 18 Settembre 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_DETTAGLIO_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_DETTAGLIO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + + + case when A.TIPPROD='CC' and data_associazione < '20110211' then cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + CASE + WHEN MAN.CODMAND IS NULL THEN TCP.CODFIS + ELSE dbo.getFiduciariaByCodMand(MAN.CODMAND) + END AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + LEFT OUTER JOIN + C6STAGINGPERIODICO.WMANDATI MAN + ON ANA.CODFIS = MAN.CODMAND + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CUSTGAR is null OR LTRIM(RTRIM(a.CUSTGAR)) = '') then '0' else A.CUSTGAR end)=B.CUSTGAR +-- AND A.MAF=B.MAF + --V Modifica skandia di tipo ASU2 + AND b.isin = case when (a.tipprod = 'ASU2') then a.isin else 'na' end + + --da eliminare Trimestrale Ottobre 2012 + --and B.CODFIS not in ('FF@6120', 'SNTRNI51C01D077B', 'FNTLRA71A61E625O', 'NTMLSN59D60E625H') + + --and a.cod_fiscale not in ('GHBSRG47C01B033J') + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_DETTAGLIO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGI diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE.sql b/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE.sql new file mode 100644 index 00000000..c581821b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE.sql @@ -0,0 +1,98 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_MONITORAGGIO_INIZIALE + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_INIZIALE] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_INIZIALE', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + ([RETE] + ,[COD_FISCALE] + ,[DATA_FOTO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] + ,[RISKCLASS] + , [RISKCLASSMAX] + ,[ID_ELAB]) + + SELECT + INSTID AS RETE, + ADBKID AS COD_FISCALE, + C_DATASALVAT_D40E3 AS DATA_FOTO, + C_CTVEXT_34DCC + C_CTVINV_990D8 + C_CTVRIS_43FEA + C_CTVPRE_A0E49 + C_CTVLIQ_54D1B + C_CTVCC_E242D + C_CTVNA_473EA + AS CTV_TOTALE, + C_CTVEXT_34DCC AS CTV_EXT, + C_CTVINV_990D8 AS CTV_INV, + C_CTVRIS_43FEA AS CTV_RIS, + C_CTVPRE_A0E49 AS CTV_PRE, + C_CTVLIQ_54D1B AS CTV_LIQ, + C_CTVCC_E242D AS CTV_CC, + C_CTVNA_473EA AS CTV_NA, + C_INVESTIMEN_5F936 AS PARTITA_VIAGGIANTE, + C_VAR_16494 AS VAR_COMPLESSIVO, + C_COPVAR_5C6E5 AS VAR_COPERTURA, + CODICE_PROFILO AS PROFILO, + VAR_MAX_PROFILO AS VAR_MAX_PROFILO, + c6martperiodico.Codifica_CRisk_PhotoData(RISKCLASS), + c6martperiodico.Codifica_CRisk_PhotoData(RISKCLASSMAX), + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.PHOTO_DATA + WHERE 1 = 1 + AND SUBSTRING(TYPE__TYPE_7CAB6, 1, 1) = '1' + AND SUBSTRING(TYPE__STATUS_1E30E, 1 , 1) = '2' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_INIZIALE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_INIZIALE' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA.sql b/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA.sql new file mode 100644 index 00000000..f0e1a8ad --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA.sql @@ -0,0 +1,144 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_MONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA + + +--exec C6MartPeriodico.DM_MONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA] +as +begin + + DECLARE @DataCongelamento DATETIME; + DECLARE @DataCongelamento_Day int; + DECLARE @DataCongelamento_Month int; + DECLARE @DataCongelamento_Year int; + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento(); + SET @DataCongelamento_Day = day(@DataCongelamento); + SET @DataCongelamento_Month = month(@DataCongelamento); + SET @DataCongelamento_Year = year(@DataCongelamento); + + ------------------------------------------------------------------- + -- Preparazione del tracciato dei valori + -- da inserire in MONITORAGGIO_INIZIALE e PHOTO_DATA + ------------------------------------------------------------------- + declare @NuoviValori table + ( + Rete varchar(1) + ,Cod_Fiscale varchar(16) + ,Data_Foto datetime + ,Ctv_Totale decimal(15, 2) + ,Ctv_Ext decimal(15, 2) + ,Ctv_Inv decimal(15, 2) + ,Ctv_Ris decimal(15, 2) + ,Ctv_Pre decimal(15, 2) + ,Ctv_Liq decimal(15, 2) + ,Ctv_Cc decimal(15, 2) + ,Ctv_Na decimal(15, 2) + ,ImportoPartiteViaggianti decimal(15, 2) + ,Var_Complessivo decimal(15, 3) + ,Var_Copertura decimal(15, 3) + ); + + with K as + ( select distinct Rete, Cod_Fiscale, Data_Foto + from C6MartPeriodico.MONITORAGGIO_INIZIALE + where ( day(Data_Foto) = 31 and month(Data_Foto) = 12 and year(data_foto) = @dataCongelamento_year and + @DataCongelamento_Day = 31 and @DataCongelamento_Month = 12) + or + ( day(Data_Foto) = 31 and month(Data_Foto) = 3 and year(data_foto) = @dataCongelamento_year and + @DataCongelamento_Day = 1 and @DataCongelamento_Month = 4) + or + ( day(Data_Foto) = 30 and month(Data_Foto) = 6 and year(data_foto) = @dataCongelamento_year and + @DataCongelamento_Day = 1 and @DataCongelamento_Month = 7) + or + ( day(Data_Foto) = 30 and month(Data_Foto) = 9 and year(data_foto) = @dataCongelamento_year and + @DataCongelamento_Day = 1 and @DataCongelamento_Month = 10) + ) + , Controvalore_Totale as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Ctv) as Ctv_Totale + from K + inner join + ( + select Rete, Cod_Fiscale, Ctv + from C6MartPeriodico.Patrimonio_Bf + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , Controvalore_Ext as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Ctv) as Ctv_Ext + from K + inner join + ( + select Rete, Cod_Fiscale, Ctv + from C6MartPeriodico.Patrimonio_Bf + where id_Area = 'Ext' + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , Controvalore_Inv as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Ctv) as Ctv_Inv + from K + inner join + ( + select Rete, Cod_Fiscale, Ctv + from C6MartPeriodico.Patrimonio_Bf + where id_Area = 'Inv' + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , Controvalore_Ris as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Ctv) as Ctv_Ris + from K + inner join + ( + select Rete, Cod_Fiscale, Ctv + from C6MartPeriodico.Patrimonio_Bf + where id_Area = 'Ris' + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , Controvalore_Pre as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Ctv) as Ctv_Pre + from K + inner join + ( + select Rete, Cod_Fiscale, Ctv + from C6MartPeriodico.Patrimonio_Bf + where id_Area in ('Pre','Pre1','Pre2') + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , Controvalore_Liq as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Ctv) as Ctv_Liq + from K + inner join + ( + select Rete, Cod_Fiscale, Ctv + from C6MartPeriodico.Patrimonio_Bf + where id_Area = 'Liq' + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_pre_selective.sql new file mode 100644 index 00000000..91c0536c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_pre_selective.sql @@ -0,0 +1,98 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_MONITORAGGIO_INIZIALE_pre_selective + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_INIZIALE_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_INIZIALE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + ([RETE] + ,[COD_FISCALE] + ,[DATA_FOTO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] + ,[RISKCLASS] + , [RISKCLASSMAX] + ,[ID_ELAB]) + + SELECT + INSTID AS RETE, + ADBKID AS COD_FISCALE, + C_DATASALVAT_D40E3 AS DATA_FOTO, + C_CTVEXT_34DCC + C_CTVINV_990D8 + C_CTVRIS_43FEA + C_CTVPRE_A0E49 + C_CTVLIQ_54D1B + C_CTVCC_E242D + C_CTVNA_473EA + AS CTV_TOTALE, + C_CTVEXT_34DCC AS CTV_EXT, + C_CTVINV_990D8 AS CTV_INV, + C_CTVRIS_43FEA AS CTV_RIS, + C_CTVPRE_A0E49 AS CTV_PRE, + C_CTVLIQ_54D1B AS CTV_LIQ, + C_CTVCC_E242D AS CTV_CC, + C_CTVNA_473EA AS CTV_NA, + C_INVESTIMEN_5F936 AS PARTITA_VIAGGIANTE, + C_VAR_16494 AS VAR_COMPLESSIVO, + C_COPVAR_5C6E5 AS VAR_COPERTURA, + CODICE_PROFILO AS PROFILO, + VAR_MAX_PROFILO AS VAR_MAX_PROFILO, + c6martperiodico.Codifica_CRisk_PhotoData(RISKCLASS), + c6martperiodico.Codifica_CRisk_PhotoData(RISKCLASSMAX), + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.PHOTO_DATA + WHERE 1 = 1 + AND SUBSTRING(TYPE__TYPE_7CAB6, 1, 1) = '1' + AND SUBSTRING(TYPE__STATUS_1E30E, 1 , 1) = '2' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_INIZIALE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_INIZIALE_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_REPORT.sql b/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_REPORT.sql new file mode 100644 index 00000000..cca0dd14 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_REPORT.sql @@ -0,0 +1,103 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_MONITORAGGIO_REPORT + + +-- ============================================= +-- Author: Alessandro Tringali +-- Create date: 19 Dicembre 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_REPORT] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_REPORT', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_REPORT] + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[DATA_INVIO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] +, riskclass +, riskclassmax + ,[ID_ELAB]) + SELECT + RETE, + COD_FISCALE, + DATA_FASE AS DATA_INVIO, + SUM(CONTROVALORE) as CTV_TOTALE, + SUM(CASE WHEN AREA= 'EXT' THEN CONTROVALORE ELSE 0 END ) AS CTV_EXT, + SUM(CASE WHEN AREA= 'INV' THEN CONTROVALORE ELSE 0 END ) AS CTV_INV, + SUM(CASE WHEN AREA= 'RIS' THEN CONTROVALORE ELSE 0 END )AS CTV_RIS, + SUM(CASE WHEN AREA= 'PRE' THEN CONTROVALORE ELSE 0 END )AS CTV_PRE, + SUM(CASE WHEN AREA= 'LIQ' THEN CONTROVALORE ELSE 0 END ) AS CTV_LIQ, + Max(CONTOCORRENTE )AS CTV_CC, + Max(RISORSENONALLOCATE) AS CTV_NA, + MAX(INVESTIMENTIINCORSO) AS PARTITA_VIAGGIANTE, + MAX(VAR_PERC_PTF) AS VAR_COMPLESSIVO, + MAX(COPERTURA) as VAR_COPERTURA, + mAX(PROFILO) AS PROFILO, + MAX(MAX_VAR) AS VAR_MAX_PROFILO, + MAX(RISKCLASS) AS RISKCLASS, + MAX(RISKCLASSMAX) AS RISKCLASSMAX, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.S80_EVOL_STAMPA_C6 + GROUP BY + RETE, + COD_FISCALE, + DATA_FASE + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_REPORT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_REPORT' + ) + +END + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_REPORT_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_REPORT_pre_selective.sql new file mode 100644 index 00000000..9d5008a7 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_REPORT_pre_selective.sql @@ -0,0 +1,103 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_MONITORAGGIO_REPORT_pre_selective + + +-- ============================================= +-- Author: Alessandro Tringali +-- Create date: 19 Dicembre 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_REPORT_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_REPORT_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_REPORT] + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[DATA_INVIO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] +, riskclass +, riskclassmax + ,[ID_ELAB]) + SELECT + RETE, + COD_FISCALE, + DATA_FASE AS DATA_INVIO, + SUM(CONTROVALORE) as CTV_TOTALE, + SUM(CASE WHEN AREA= 'EXT' THEN CONTROVALORE ELSE 0 END ) AS CTV_EXT, + SUM(CASE WHEN AREA= 'INV' THEN CONTROVALORE ELSE 0 END ) AS CTV_INV, + SUM(CASE WHEN AREA= 'RIS' THEN CONTROVALORE ELSE 0 END )AS CTV_RIS, + SUM(CASE WHEN AREA= 'PRE' THEN CONTROVALORE ELSE 0 END )AS CTV_PRE, + SUM(CASE WHEN AREA= 'LIQ' THEN CONTROVALORE ELSE 0 END ) AS CTV_LIQ, + Max(CONTOCORRENTE )AS CTV_CC, + Max(RISORSENONALLOCATE) AS CTV_NA, + MAX(INVESTIMENTIINCORSO) AS PARTITA_VIAGGIANTE, + MAX(VAR_PERC_PTF) AS VAR_COMPLESSIVO, + MAX(COPERTURA) as VAR_COPERTURA, + mAX(PROFILO) AS PROFILO, + MAX(MAX_VAR) AS VAR_MAX_PROFILO, + MAX(RISKCLASS) AS RISKCLASS, + MAX(RISKCLASSMAX) AS RISKCLASSMAX, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.S80_EVOL_STAMPA_C6 + GROUP BY + RETE, + COD_FISCALE, + DATA_FASE + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_REPORT_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_REPORT_pre_selective' + ) + +END + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_STORICO.sql b/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_STORICO.sql new file mode 100644 index 00000000..0f2a1e60 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_STORICO.sql @@ -0,0 +1,114 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_MONITORAGGIO_STORICO + + + +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_STORICO] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_STORICO', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_STORICO] + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_STORICO] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[RISORSE_ASSOCIATE] + ,[ID_ELAB] + ,CEDOLE_DIV + ,ordinamento_progetto) + + SELECT + TANAB.RETE AS RETE, + CASE + WHEN MANDATI.CODMAND IS NULL THEN TANAB.CODFIS + ELSE dbo.getFiduciariaByCodMand(MANDATI.CODMAND) + END AS COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CASE + WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + ELSE LTRIM(RTRIM(PROGETTO_BOZZA.NUOVO_NOME_PROGETTO)) + END, 'XXX') AS NOME_PROGETTO, + CAST(CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) AS DATETIME) AS DATA_CTV, + WRENAB.CTV AS CTV_MONITORATO, + WRENAB.CVN AS RISORSE_ASSOCIATE, + @ID_ELAB AS ID_ELAB, + (TANAB.TOT_CED + TANAB.TOT_DIV) AS CEDOLE_DIV, + tanab.codprog + FROM C6STAGINGPERIODICO.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB + ON TANAB.CODPROG = WRENAB.CODPROG + AND TANAB.DTRIF = WRENAB.DTRIF + INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL + ON TANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 + INNER JOIN C6StagingPeriodico.CONSAREA AS AREA + ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ + INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL + ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO + ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE + AND CONSUL.INSTID = SCELTA_STATO.RETE + AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA + LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA + ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 + LEFT OUTER JOIN C6StagingPeriodico.WMANDATI AS MANDATI + ON TANAB.CODFIS = MANDATI.CODMAND + WHERE 1 = 1 + AND TANAB.DTFINE = '99991231' + AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 + --and tanab.codfis not in('GRVMRZ63C14L566J','DNGMRA56E66D542Z') + +-- UNION +-- +-- SELECT +-- TANAB.RETE AS RETE, +-- CASE +-- WHEN MANDATI.CODMAND IS NULL THEN TANAB.CODFIS +-- ELSE dbo.getFiduciariaByCodMand(MANDATI.CODMAND) +-- END AS COD_FISCALE, +-- CASE +-- WHEN TANAB.CODAREA = 'INV' THEN 'Inv' +-- WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' +-- WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' +-- WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' +-- END AS ID_AREA, +-- ISNULL(CASE +-- WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN PRCONSUL.C_PROJECTNAM_11D1A +-- ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO +-- END, 'XXX') AS NOME_PROGETTO, +-- CAST(CAST(TRENAB.DTVALORIZ AS VARCHAR(8)) AS DATETIME) AS DATA_CTV, +-- TRENAB.CTV AS CTV_MONITORATO, +-- TRENAB.CVN AS RISORSE_ASSOCIATE, +-- @ID_ELAB AS ID_ELAB +-- +-- FROM C6STAGINGPERIODICO.TANAB AS TANAB +-- INNER JOIN C6StagingPeriodico.TRENAB AS TRE diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_STORICO_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_STORICO_pre_selective.sql new file mode 100644 index 00000000..fe18a6f7 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_MONITORAGGIO_STORICO_pre_selective.sql @@ -0,0 +1,119 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_MONITORAGGIO_STORICO_pre_selective + + + +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_STORICO_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_STORICO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_STORICO] + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_STORICO] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[RISORSE_ASSOCIATE] + ,[ID_ELAB] + ,CEDOLE_DIV + ,ordinamento_progetto) + + SELECT + TANAB.RETE AS RETE, + CASE + WHEN MANDATI.CODMAND IS NULL THEN TANAB.CODFIS + ELSE dbo.getFiduciariaByCodMand(MANDATI.CODMAND) + END AS COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CASE + WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + ELSE LTRIM(RTRIM(PROGETTO_BOZZA.NUOVO_NOME_PROGETTO)) + END, 'XXX') AS NOME_PROGETTO, + CAST(CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) AS DATETIME) AS DATA_CTV, + WRENAB.CTV AS CTV_MONITORATO, + WRENAB.CVN AS RISORSE_ASSOCIATE, + @ID_ELAB AS ID_ELAB, + (TANAB.TOT_CED + TANAB.TOT_DIV) AS CEDOLE_DIV, + tanab.codprog + FROM C6STAGINGPERIODICO.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB + ON TANAB.CODPROG = WRENAB.CODPROG + AND TANAB.DTRIF = WRENAB.DTRIF + INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL + ON TANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 + INNER JOIN C6StagingPeriodico.CONSAREA AS AREA + ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ + INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL + ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO + ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE + AND CONSUL.INSTID = SCELTA_STATO.RETE + AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA + LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA + ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 + LEFT OUTER JOIN C6StagingPeriodico.WMANDATI AS MANDATI + ON TANAB.CODFIS = MANDATI.CODMAND + WHERE 1 = 1 + AND TANAB.DTFINE = '99991231' + AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 + --and tanab.codfis not in('GRVMRZ63C14L566J','DNGMRA56E66D542Z') + +-- UNION +-- +-- SELECT +-- TANAB.RETE AS RETE, +-- CASE +-- WHEN MANDATI.CODMAND IS NULL THEN TANAB.CODFIS +-- ELSE dbo.getFiduciariaByCodMand(MANDATI.CODMAND) +-- END AS COD_FISCALE, +-- CASE +-- WHEN TANAB.CODAREA = 'INV' THEN 'Inv' +-- WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' +-- WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' +-- WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' +-- END AS ID_AREA, +-- ISNULL(CASE +-- WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN PRCONSUL.C_PROJECTNAM_11D1A +-- ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO +-- END, 'XXX') AS NOME_PROGETTO, +-- CAST(CAST(TRENAB.DTVALORIZ AS VARCHAR(8)) AS DATETIME) AS DATA_CTV, +-- TRENAB.CTV AS CTV_MONITORATO, +-- TRENAB.CVN AS RISORSE_ASSOCIATE, +-- @ID_ELAB AS ID_ELAB +-- +-- FROM C6STAGINGPERIODICO.TANAB AS TANAB +-- INNER JOIN C6StagingPeriodico.TRENAB AS TRENAB +-- ON TANAB.CODPROG = TRENAB.CODPROG +-- AND TANAB.DTRIF = TRENAB.DTRIF +-- INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL +-- ON TANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 +-- IN diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_PARTITE_VIAGGIANTI.sql b/sql/storedCollaudo/C6MartPeriodico_DM_PARTITE_VIAGGIANTI.sql new file mode 100644 index 00000000..77921e4e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_PARTITE_VIAGGIANTI.sql @@ -0,0 +1,82 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_PARTITE_VIAGGIANTI + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PARTITE_VIAGGIANTI] +AS +BEGIN + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_PARTITE_VIAGGIANTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MARTPERIODICO.PARTITE_VIAGGIANTI + + INSERT INTO C6MartPeriodico.PARTITE_VIAGGIANTI + (RETE + ,COD_FISCALE + ,IMPORTO + ,ID_ELAB + ,TIPO_ELAB) + SELECT + WSEIPV.RETE AS RETE, + case when isnull(codman,'') ='' then WSEIPV.CODFIS else 'FF@'+ codman end AS COD_FISCALE, + SUM(IMPVER) AS IMPORTO, + @ID_ELAB, + @TIPO_ELAB + FROM + C6StagingPeriodico.WSEIPV + WHERE + WSEIPV.DTTRIM = ( + SELECT + MAX(DTTRIM) + FROM + C6StagingPeriodico.WSEIPV + ) + GROUP BY + WSEIPV.RETE, + case when isnull(codman,'') ='' then WSEIPV.CODFIS else 'FF@'+ codman end + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_PARTITE_VIAGGIANTI_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_PARTITE_VIAGGIANTI_pre_selective.sql new file mode 100644 index 00000000..c00aac96 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_PARTITE_VIAGGIANTI_pre_selective.sql @@ -0,0 +1,80 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_PARTITE_VIAGGIANTI_pre_selective + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PARTITE_VIAGGIANTI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PARTITE_VIAGGIANTI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MARTPERIODICO.PARTITE_VIAGGIANTI + + INSERT INTO C6MartPeriodico.PARTITE_VIAGGIANTI + (RETE + ,COD_FISCALE + ,IMPORTO + ,ID_ELAB + ,TIPO_ELAB) + SELECT + WSEIPV.RETE AS RETE, + case when isnull(codman,'') ='' then WSEIPV.CODFIS else 'FF@'+ codman end AS COD_FISCALE, + SUM(IMPVER) AS IMPORTO, + @ID_ELAB, + @TIPO_ELAB + FROM + C6StagingPeriodico.WSEIPV + WHERE + WSEIPV.DTTRIM = ( + SELECT + MAX(DTTRIM) + FROM + C6StagingPeriodico.WSEIPV + ) + GROUP BY + WSEIPV.RETE, + case when isnull(codman,'') ='' then WSEIPV.CODFIS else 'FF@'+ codman end + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI_pre_selective' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_ALTRO.sql b/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_ALTRO.sql new file mode 100644 index 00000000..5253d509 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_ALTRO.sql @@ -0,0 +1,92 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_PATRIMONIO_ALTRO + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_ALTRO] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_ALTRO', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_ALTRO + + INSERT INTO [C6MartPeriodico].[PATRIMONIO_ALTRO] + ([RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.NUMEROQUOTE AS QUANTITA, + right(ALL_PATR_TERZI.DENOMINAZIONE,50) AS DESCRIZIONE, + ALL_PATR_TERZI.PATRIMONIO_ALTRO_PB_E6F18 AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + WHERE + ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_E6F18 + + UNION + + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + NULL AS QUANTITA, + right(ALL_PATR_TERZI.DENOMINAZIONE_PN_F87B4,50) AS DESCRIZIONE, + ALL_PATR_TERZI.PATRIMONIO_ALTRO_PN_F87B4 AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + WHERE + ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_F87B4 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_ALTRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_ALTRO' + ) + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_ALTRO_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_ALTRO_pre_selective.sql new file mode 100644 index 00000000..626db2c9 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_ALTRO_pre_selective.sql @@ -0,0 +1,92 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_PATRIMONIO_ALTRO_pre_selective + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_ALTRO_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_ALTRO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_ALTRO + + INSERT INTO [C6MartPeriodico].[PATRIMONIO_ALTRO] + ([RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.NUMEROQUOTE AS QUANTITA, + right(ALL_PATR_TERZI.DENOMINAZIONE,50) AS DESCRIZIONE, + ALL_PATR_TERZI.PATRIMONIO_ALTRO_PB_E6F18 AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + WHERE + ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_E6F18 + + UNION + + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + NULL AS QUANTITA, + right(ALL_PATR_TERZI.DENOMINAZIONE_PN_F87B4,50) AS DESCRIZIONE, + ALL_PATR_TERZI.PATRIMONIO_ALTRO_PN_F87B4 AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + WHERE + ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_F87B4 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_ALTRO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_ALTRO_pre_selective' + ) + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_BF.sql b/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_BF.sql new file mode 100644 index 00000000..3a7e5e36 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_BF.sql @@ -0,0 +1,101 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_PATRIMONIO_BF + + + +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_BF] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_BF + + SELECT + CONTRATTOSINTESI.RETE AS RETE, + CONTRATTOSINTESI.CODFIS AS COD_FISCALE, + CONTRATTOSINTESI.POSITIONID AS POSITIONID, + SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + CONTRATTOSINTESI.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(CONTRATTOSINTESI.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, --CONTRATTOSINTESI.CODICESTATO AS COD_STATO, + CONTRATTOSINTESI.NUMPOL AS NUM_POLIZZA, + CONTRATTOSINTESI.MAF AS COD_MAF, + CONTRATTOSINTESI.CODINT AS COD_INTERNO, + CONTRATTOSINTESI.SUBPROD AS COD_SOTTOPRODOTTO, + CONTRATTOSINTESI.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CONSAREA.C_NEEDAREA_V_46360 = 'Inv' AND PRCONSUL.C_PROJECTNAM_11D1A IS NULL THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + END AS NOME_PROGETTO, + PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + CASE + WHEN ISDATE(CONTRATTOSINTESI.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, --CONTRATTOSINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, --CONVERT(DATETIME, CONTRATTOSINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + CONTRATTOSINTESI.QUOTE AS QUANTITA, --CONTRATTOSINTESI.QUOTE AS QUANTITA, + NULL AS PREZZO, --CONTRATTOSINTESI.PREZZO AS PREZZO, + CONTRATTOSINTESI.CTV AS CTV, + CONTRATTOSINTESI.VALORE AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + CONTRATTOSINTESI.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(CONTRATTOSINTESI.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + --CONTRATTOSINTESI.RENDINIZ AS REND_SOTTOSCRIZIONE, + CASE + WHEN (CONTRATTOSINTESI.TIPPROD = 'GE' + OR CONTRATTOSINTESI.TIPPROD = 'GES') + AND CONTRATTOSINTESI.DTSOTTOS < 20070101 --cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN CONTRATTOSINTESI.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN CONTRATTOSINTESI.TIPPROD = 'ASUL' AND CONTRATTOSINTESI.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE CONTRATTOSINTESI.RENDINIZ + END AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + CASE + WHEN (CONTRATTOSINTESI.TIPPROD = 'GE' + OR CONTRATTOSINTESI.TIPPROD = 'GES') + AND CONTRATTOSINTESI.DTSOTTOS < 20070101 --cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN CONTRATTOSINTESI.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN CONTRATTOSINTESI.TIPPROD = 'ASUL' AND CONTRATTOSINTESI.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE CONTRATTOSINTESI.RENDANNO + END AS REND_ANNO, + 0 AS REND_NON_RAPPR, + PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO, + C_BO_453FB.C_VALUE_7BD3C AS ORIZZ_TEMP_NUM, + C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP, + CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA, + ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_C diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_BF_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_BF_pre_selective.sql new file mode 100644 index 00000000..d8315929 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_BF_pre_selective.sql @@ -0,0 +1,105 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_PATRIMONIO_BF_pre_selective + + + +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_BF_pre_selective] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_BF + + SELECT + CONTRATTOSINTESI.RETE AS RETE, + CONTRATTOSINTESI.CODFIS AS COD_FISCALE, + CONTRATTOSINTESI.POSITIONID AS POSITIONID, + SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + CONTRATTOSINTESI.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(CONTRATTOSINTESI.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, --CONTRATTOSINTESI.CODICESTATO AS COD_STATO, + CONTRATTOSINTESI.NUMPOL AS NUM_POLIZZA, + CONTRATTOSINTESI.MAF AS COD_MAF, + CONTRATTOSINTESI.CODINT AS COD_INTERNO, + CONTRATTOSINTESI.SUBPROD AS COD_SOTTOPRODOTTO, + CONTRATTOSINTESI.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CONSAREA.C_NEEDAREA_V_46360 = 'Inv' AND PRCONSUL.C_PROJECTNAM_11D1A IS NULL THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + END AS NOME_PROGETTO, + PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + CASE + WHEN ISDATE(CONTRATTOSINTESI.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, --CONTRATTOSINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, --CONVERT(DATETIME, CONTRATTOSINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + CONTRATTOSINTESI.QUOTE AS QUANTITA, --CONTRATTOSINTESI.QUOTE AS QUANTITA, + NULL AS PREZZO, --CONTRATTOSINTESI.PREZZO AS PREZZO, + CONTRATTOSINTESI.CTV AS CTV, + CONTRATTOSINTESI.VALORE AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + CONTRATTOSINTESI.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(CONTRATTOSINTESI.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + --CONTRATTOSINTESI.RENDINIZ AS REND_SOTTOSCRIZIONE, + CASE + WHEN (CONTRATTOSINTESI.TIPPROD = 'GE' + OR CONTRATTOSINTESI.TIPPROD = 'GES') + AND CONTRATTOSINTESI.DTSOTTOS < 20070101 --cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN CONTRATTOSINTESI.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN CONTRATTOSINTESI.TIPPROD = 'ASUL' AND CONTRATTOSINTESI.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE CONTRATTOSINTESI.RENDINIZ + END AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + CASE + WHEN (CONTRATTOSINTESI.TIPPROD = 'GE' + OR CONTRATTOSINTESI.TIPPROD = 'GES') + AND CONTRATTOSINTESI.DTSOTTOS < 20070101 --cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN CONTRATTOSINTESI.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN CONTRATTOSINTESI.TIPPROD = 'ASUL' AND CONTRATTOSINTESI.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE CONTRATTOSINTESI.RENDANNO + END AS REND_ANNO, + 0 AS REND_NON_RAPPR, + PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO, + C_BO_453FB.C_VALUE_7BD3C AS ORIZZ_TEMP_NUM, + C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP, + CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA, + ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + CONSUL.C_DATAMIGRAZ_BF705 AS DATA_MIGR_CONS, + PRCONSUL.C_LASTMODIFI_3BF4A AS DATA_PIANIF, + 0 AS EXTRANAC, + KAT.STRTYPE, diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI.sql b/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI.sql new file mode 100644 index 00000000..3ab36eea --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI.sql @@ -0,0 +1,109 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_PATRIMONIO_EMITTENTI + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_EMITTENTI] + + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_EMITTENTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_EMITTENTI + +INSERT INTO +[C6MARTPERIODICO].[PATRIMONIO_EMITTENTI] +( + +COD_FISCALE, +RETE, +POSITION_ID, +COD_PRODOTTO, +COD_ADEGUATEZZA, +INTERMEDIARIO, +CTV_INTERMEDIARIO, +CTV_INTER_NOCC_NEG, +EMITTENTE, +COMPLESSITA, +CTV_EMITTENTE, +CTV_PRODOTTO, +FLG_AZ_OB, +CREDITRISKCLASS, +CTV_AZIONARIO, +CTV_OBBLIGAZIONARIO, +CTV_AZ_OB_EMIT, +CTV_AZ_OB_EMIT_INTER, +CTV_COMPLESSIVO, +CTV_COMPL_NOCC_NEG, +CONC_EMITTENTE, +CONC_EMIT_INTERM, +COPERTURA +) + + SELECT H.COD_FISCALE, + H.RETE, + H.POSITION_ID, + H.COD_PRODOTTO AS CATALOGUENAME, + '' AS COD_ADEGUATEZZA, + 'BF' AS INTERMEDIARIO, + sum(h.ctv) over (partition by h.cod_fiscale, h.rete) AS PATRIMONIO_INTERMEDIARIO, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END ) over (partition by h.cod_fiscale, h.rete) AS PATRIMONIO_INTER_nocc_neg, + H.EMITTENTE, + H.COMPLEX AS COMPLESSITA, + sum(h.ctv) over (partition by h.cod_fiscale, H.rete, H.EMITTENTE) AS PATRIMONIO_EMITTENTE, + h.ctv as CONTROVALORE_PRODOTTO, + CASE WHEN H.STRTYPE IN ('AZ', 'OB') THEN H.STRTYPE ELSE NULL END AS AZ_OB, + K.classe AS CREDITRISKCLASS, + SUM( case when STRTYPE = 'AZ' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE, H.POSITION_ID) AS CTV_AZIONARIO, + SUM(case when STRTYPE = 'OB' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE, H.POSITION_ID) AS CTV_OBBLIGAZIONARIO, + SUM( case when STRTYPE IN ( 'AZ','OB') then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE) PATRIMONIO_AZ_OB_EMIT, + SUM( case when STRTYPE IN ( 'AZ','OB') then h.ctv else 0 end ) OVER( PARTITION BY H.COd_FISCALE,H.RETE,EMITTENTE) PATRIM_AZ_OB_EMIT_INTER, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPLESSIVO, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPL_nocc_neg, + 0 as concentrazione_emittente, + 0 AS concentraz_emit_interm, + r.copertura + FROM C6MARTPERIODICO.PATRIMONIO_BF H + LEFT OUTER join + C6MARTPERIODICO.RISCHIO_AGGREGATO R + on + H.COD_FISCALE=R.COD_FISCALE + AND H.RETE=R.RETE + AND r.COD_AGGREG = + ((CASE + WHEN (h.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(h.ID_AREA,3) + '|' + h.NOME_PROGETTO+ '|'+ isnull(cast(H.ordinamento_progetto as varchar),'')+'|' + ELSE + CASE WHEN (h.ID_AREA = 'NA') THEN 'RISFIN|' + LEFT(h.ID_AREA,3) + '|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(h.ID_AREA,3) + '|' + END + END) + + h.POSITION_ID) + left outer join diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI_pre_selective.sql new file mode 100644 index 00000000..77466af9 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI_pre_selective.sql @@ -0,0 +1,116 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_PATRIMONIO_EMITTENTI_pre_selective + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_EMITTENTI_pre_selective] + + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_EMITTENTI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_EMITTENTI + +INSERT INTO +[C6MARTPERIODICO].[PATRIMONIO_EMITTENTI] +( + +COD_FISCALE, +RETE, +POSITION_ID, +COD_PRODOTTO, +COD_ADEGUATEZZA, +INTERMEDIARIO, +CTV_INTERMEDIARIO, +CTV_INTER_NOCC_NEG, +EMITTENTE, +COMPLESSITA, +CTV_EMITTENTE, +CTV_PRODOTTO, +FLG_AZ_OB, +CREDITRISKCLASS, +CTV_AZIONARIO, +CTV_OBBLIGAZIONARIO, +CTV_AZ_OB_EMIT, +CTV_AZ_OB_EMIT_INTER, +CTV_COMPLESSIVO, +CTV_COMPL_NOCC_NEG, +CONC_EMITTENTE, +CONC_EMIT_INTERM, +COPERTURA +) + + SELECT H.COD_FISCALE, + H.RETE, + H.POSITION_ID, + H.COD_PRODOTTO AS CATALOGUENAME, + '' AS COD_ADEGUATEZZA, + 'BF' AS INTERMEDIARIO, + sum(h.ctv) over (partition by h.cod_fiscale, h.rete) AS PATRIMONIO_INTERMEDIARIO, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END ) over (partition by h.cod_fiscale, h.rete) AS PATRIMONIO_INTER_nocc_neg, + H.EMITTENTE, + H.COMPLEX AS COMPLESSITA, + sum(h.ctv) over (partition by h.cod_fiscale, H.rete, H.EMITTENTE) AS PATRIMONIO_EMITTENTE, + h.ctv as CONTROVALORE_PRODOTTO, + CASE WHEN H.STRTYPE IN ('AZ', 'OB') THEN H.STRTYPE ELSE NULL END AS AZ_OB, + K.classe AS CREDITRISKCLASS, + SUM( case when STRTYPE = 'AZ' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE, H.POSITION_ID) AS CTV_AZIONARIO, + SUM(case when STRTYPE = 'OB' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE, H.POSITION_ID) AS CTV_OBBLIGAZIONARIO, + SUM( case when STRTYPE IN ( 'AZ','OB') then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE) PATRIMONIO_AZ_OB_EMIT, + SUM( case when STRTYPE IN ( 'AZ','OB') then h.ctv else 0 end ) OVER( PARTITION BY H.COd_FISCALE,H.RETE,EMITTENTE) PATRIM_AZ_OB_EMIT_INTER, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPLESSIVO, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPL_nocc_neg, + 0 as concentrazione_emittente, + 0 AS concentraz_emit_interm, + r.copertura + FROM C6MARTPERIODICO.PATRIMONIO_BF H + LEFT OUTER join + C6MARTPERIODICO.RISCHIO_AGGREGATO R + on + H.COD_FISCALE=R.COD_FISCALE + AND H.RETE=R.RETE + AND r.COD_AGGREG = + ((CASE + WHEN (h.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(h.ID_AREA,3) + '|' + h.NOME_PROGETTO+ '|'+ isnull(cast(H.ordinamento_progetto as varchar),'')+'|' + ELSE + CASE WHEN (h.ID_AREA = 'NA') THEN 'RISFIN|' + LEFT(h.ID_AREA,3) + '|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(h.ID_AREA,3) + '|' + END + END) + + h.POSITION_ID) + left outer join + + --select * from + --C6MartPeriodico.CODIFICA_CREDITRISK K + C6MartPeriodico.RISCHIOEMITTENTI K + on + R.CREDITRISKEMIT=ORDINE + +---- PATRIMONIO TERZ diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE.sql b/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE.sql new file mode 100644 index 00000000..819c62d5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE.sql @@ -0,0 +1,101 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_PATRIMONIO_IMMOBILIARE + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_IMMOBILIARE] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_IMMOBILIARE + + INSERT INTO [C6MartPeriodico].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + + --DISTINCT atringali 12012010 + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, + CASE ALL_PATR_TERZI.TIPOLOGIA_RDESCR + WHEN 'Civil' THEN 'Civile' + WHEN 'Economic' THEN 'Economica' + WHEN 'Posh' THEN 'Signorile' + ELSE '' + END AS TIPOLOGIA, + ALL_PATR_TERZI.LOCALITA AS LOCALITA, + NULL AS PROVINCIA, + NULL AS CAP, + NULL AS NAZIONE, + ALL_PATR_TERZI.PATRIMONIO_IMMOBILIARE AS VALORE_STIMATO, + ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + WHERE + ALL_PATR_TERZI.CHIAVE_PR_31921 IS NOT NULL + AND ALL_PATR_TERZI.DESCRIZIONE_RDESCR IS NOT NULL + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_IMMOBILIARE' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql new file mode 100644 index 00000000..fb663e97 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql @@ -0,0 +1,101 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_PATRIMONIO_IMMOBILIARE_pre_selective + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_IMMOBILIARE_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_IMMOBILIARE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_IMMOBILIARE + + INSERT INTO [C6MartPeriodico].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + + --DISTINCT atringali 12012010 + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, + CASE ALL_PATR_TERZI.TIPOLOGIA_RDESCR + WHEN 'Civil' THEN 'Civile' + WHEN 'Economic' THEN 'Economica' + WHEN 'Posh' THEN 'Signorile' + ELSE '' + END AS TIPOLOGIA, + ALL_PATR_TERZI.LOCALITA AS LOCALITA, + NULL AS PROVINCIA, + NULL AS CAP, + NULL AS NAZIONE, + ALL_PATR_TERZI.PATRIMONIO_IMMOBILIARE AS VALORE_STIMATO, + ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + WHERE + ALL_PATR_TERZI.CHIAVE_PR_31921 IS NOT NULL + AND ALL_PATR_TERZI.DESCRIZIONE_RDESCR IS NOT NULL + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_IMMOBILIARE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_IMMOBILIARE_pre_selective' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_TERZI.sql b/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_TERZI.sql new file mode 100644 index 00000000..fb5a2287 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_TERZI.sql @@ -0,0 +1,109 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_PATRIMONIO_TERZI + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_TERZI + + INSERT INTO C6MartPeriodico.[PATRIMONIO_TERZI] + ([RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB] + +) + + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + ALL_PATR_TERZI.TIPO_POLIZZA_BT_97BEE AS TIPO_POLIZZA, + --COALESCE(PRODOTTI_A_CATALOGO.TIPO_PRODOTTO, PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO) AS TIPO_PRODOTTO, + CASE + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' AND S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 = 'Conti correnti' + THEN 'Altro' + ELSE + COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) + END AS TIPO_PRODOTTO, + PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO2 AS TIPO_PRODOTTO2, + ISNULL(ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO,'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(ALL_PATR_TERZI.CHIAVE_THR,'PRODOTTO IN CATALOGO') AS COD_PRODOTTO_TERZI, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + + CASE + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.PolizzeRivalutabili') -- PRODOTTI S49 + THEN ISNULL(ALL_PATR_TERZI.DATA_SOTTOSCRIZIONE, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ) + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.ProdottiPrevidenziali') -- PRODOTTI S50 + THEN ALL_PATR_TERZI.BALANCEDATE_DI_THR -- EQUIVALENTE A ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ + ELSE -- PRODOTTI S48 + ALL_PATR_TERZI.DATA_INIZIO_INV + END + AS DATA_SOTTOSCRIZIONE, + ALL_PATR_TERZI.DATA_SCADENZA +AS DATA_SCADENZA, + ALL_PATR_TERZI.TIPO_VERSAMENTO_BT_6797A AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + ALL_PATR_TERZI.PREMIO_VERSAMENTO AS PREMIO, + NULL AS ALIQUOTA, + ALL_PATR_TERZI.BALANCEDATE_DI_THR AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + ALL_PATR_TERZI.PATRIMONIO_TERZI AS CTV, + ALL_PATR_TERZI.CAPITALE_INVESTITO AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' THEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' THEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_TERZI_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_TERZI_pre_selective.sql new file mode 100644 index 00000000..3256390f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_PATRIMONIO_TERZI_pre_selective.sql @@ -0,0 +1,111 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_PATRIMONIO_TERZI_pre_selective + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_TERZI_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_TERZI + + INSERT INTO C6MartPeriodico.[PATRIMONIO_TERZI] + ([RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB] + +) + + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + ALL_PATR_TERZI.TIPO_POLIZZA_BT_97BEE AS TIPO_POLIZZA, + --COALESCE(PRODOTTI_A_CATALOGO.TIPO_PRODOTTO, PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO) AS TIPO_PRODOTTO, + CASE + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' AND S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 = 'Conti correnti' + THEN 'Altro' + ELSE + COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) + END AS TIPO_PRODOTTO, + PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO2 AS TIPO_PRODOTTO2, + ISNULL(ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO,'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(ALL_PATR_TERZI.CHIAVE_THR,'PRODOTTO IN CATALOGO') AS COD_PRODOTTO_TERZI, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + + CASE + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.PolizzeRivalutabili') -- PRODOTTI S49 + THEN ISNULL(ALL_PATR_TERZI.DATA_SOTTOSCRIZIONE, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ) + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.ProdottiPrevidenziali') -- PRODOTTI S50 + THEN ALL_PATR_TERZI.BALANCEDATE_DI_THR -- EQUIVALENTE A ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ + ELSE -- PRODOTTI S48 + ALL_PATR_TERZI.DATA_INIZIO_INV + END + AS DATA_SOTTOSCRIZIONE, + ALL_PATR_TERZI.DATA_SCADENZA +AS DATA_SCADENZA, + ALL_PATR_TERZI.TIPO_VERSAMENTO_BT_6797A AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + ALL_PATR_TERZI.PREMIO_VERSAMENTO AS PREMIO, + NULL AS ALIQUOTA, + ALL_PATR_TERZI.BALANCEDATE_DI_THR AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + ALL_PATR_TERZI.PATRIMONIO_TERZI AS CTV, + ALL_PATR_TERZI.CAPITALE_INVESTITO AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' THEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' THEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO NOT IN( 'Assets.FinancialAssets.CurrentAccoun diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_PIRAMIDE_MOD.sql b/sql/storedCollaudo/C6MartPeriodico_DM_PIRAMIDE_MOD.sql new file mode 100644 index 00000000..36d944ba --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_PIRAMIDE_MOD.sql @@ -0,0 +1,110 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_PIRAMIDE_MOD + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PIRAMIDE_MOD] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PIRAMIDE_MOD', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PIRAMIDE_MOD + + INSERT INTO C6MartPeriodico.[PIRAMIDE_MOD] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[DATA_PIANIF] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_CF_PB.RETE_PB AS RETE, + ALL_CF_PB.CODICE_FISCALE AS COD_FISCALE, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + PRCONSUL.C_PROJECTNAM_11D1A AS NOME_PROGETTO, + PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO, + PRCONSUL.C_PERCENTUAL_69019 AS PERC_AREA, + PRCONSUL.C_PROJECTCTV_39520 AS CTV_PROGETTO, + CONSAREA.C_CTVNEEDARE_EA4FB AS CTV_AREA, + C_BO_453FB.C_VALUE_7BD3C AS ORIZZ_TEMP_NUM, + C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA, + ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + CONSUL.C_DATAMIGRAZ_BF705 AS DATA_MIGR_CONS, + PRCONSUL.C_LASTMODIFI_3BF4A AS DATA_PIANIF, + NULL AS ID_CONTRATTO, + PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB + INNER JOIN C6STAGINGPERIODICO.CONSUL + ON CONSUL.INSTID = ALL_CF_PB.RETE_PB + AND CONSUL.ADBKID = ALL_CF_PB.CODICEFISCALE + AND CONSUL.TYPE$_TIPOCO_1EA7C = 'Bozza' --'AttivaAggiornata' + INNER JOIN C6STAGINGPERIODICO.CONSAREA + ON CONSAREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6STAGINGPERIODICO.PRCONSUL + ON PRCONSUL.F_PCONSULENZ_B69E4 = CONSAREA.OID$ + LEFT JOIN C6STAGINGPERIODICO.C_BO_453FB + ON C_BO_453FB.PK_PRC = PRCONSUL.OID$ + -- WHERE C6STAGINGPERIODICO.ALL_CF_PB.CODICEFISCALE='PDRSRG35P16A794I' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PIRAMIDE_MOD' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PIRAMIDE_MOD' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_PIRAMIDE_MOD_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_PIRAMIDE_MOD_pre_selective.sql new file mode 100644 index 00000000..22265dda --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_PIRAMIDE_MOD_pre_selective.sql @@ -0,0 +1,110 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_PIRAMIDE_MOD_pre_selective + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PIRAMIDE_MOD_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PIRAMIDE_MOD_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PIRAMIDE_MOD + + INSERT INTO C6MartPeriodico.[PIRAMIDE_MOD] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[DATA_PIANIF] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_CF_PB.RETE_PB AS RETE, + ALL_CF_PB.CODICE_FISCALE AS COD_FISCALE, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + PRCONSUL.C_PROJECTNAM_11D1A AS NOME_PROGETTO, + PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO, + PRCONSUL.C_PERCENTUAL_69019 AS PERC_AREA, + PRCONSUL.C_PROJECTCTV_39520 AS CTV_PROGETTO, + CONSAREA.C_CTVNEEDARE_EA4FB AS CTV_AREA, + C_BO_453FB.C_VALUE_7BD3C AS ORIZZ_TEMP_NUM, + C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA, + ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + CONSUL.C_DATAMIGRAZ_BF705 AS DATA_MIGR_CONS, + PRCONSUL.C_LASTMODIFI_3BF4A AS DATA_PIANIF, + NULL AS ID_CONTRATTO, + PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB + INNER JOIN C6STAGINGPERIODICO.CONSUL + ON CONSUL.INSTID = ALL_CF_PB.RETE_PB + AND CONSUL.ADBKID = ALL_CF_PB.CODICEFISCALE + AND CONSUL.TYPE$_TIPOCO_1EA7C = 'Bozza' --'AttivaAggiornata' + INNER JOIN C6STAGINGPERIODICO.CONSAREA + ON CONSAREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6STAGINGPERIODICO.PRCONSUL + ON PRCONSUL.F_PCONSULENZ_B69E4 = CONSAREA.OID$ + LEFT JOIN C6STAGINGPERIODICO.C_BO_453FB + ON C_BO_453FB.PK_PRC = PRCONSUL.OID$ + -- WHERE C6STAGINGPERIODICO.ALL_CF_PB.CODICEFISCALE='PDRSRG35P16A794I' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PIRAMIDE_MOD_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PIRAMIDE_MOD_pre_selective' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_PIRAMIDE_VERT.sql b/sql/storedCollaudo/C6MartPeriodico_DM_PIRAMIDE_VERT.sql new file mode 100644 index 00000000..e5d524d3 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_PIRAMIDE_VERT.sql @@ -0,0 +1,78 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_PIRAMIDE_VERT + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 25/11/2008 +-- Description: Modificate le tabelle da cui pescare i dati (non pi la all_pos_cons_cat) +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PIRAMIDE_VERT] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + SET @TIPO_ELAB = [C6MartPeriodico].GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PIRAMIDE_VERT', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[PIRAMIDE_VERT] + + INSERT INTO [C6MartPeriodico].[PIRAMIDE_VERT] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[CTV_AREA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ALL_CF_PB.RETE_PB AS RETE, + ALL_CF_PB.CODICE_FISCALE AS COD_FISCALE, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + CONSAREA.C_CTVNEEDARE_EA4FB AS CTV_AREA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_CF_PB + INNER JOIN + C6StagingPeriodico.CONSUL + ON + CONSUL.INSTID = ALL_CF_PB.RETE_PB + AND CONSUL.ADBKID = ALL_CF_PB.CODICEFISCALE + AND CONSUL.TYPE$_TIPOCO_1EA7C = 'Bozza' --'AttivaAggiornata' + INNER JOIN + C6StagingPeriodico.CONSAREA + ON + CONSAREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PIRAMIDE_VERT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PIRAMIDE_VERT' + ) + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre.sql b/sql/storedCollaudo/C6MartPeriodico_DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre.sql new file mode 100644 index 00000000..3ac315c7 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre.sql @@ -0,0 +1,66 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre] + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +-- storicizzare le operazione dell'ultimo trimestre prima di troncare la tabella + + + --troncare la tabella esistente + +truncate table [C6StampeCentralizzate].[C6STAGINGPERIODICO].AM_OperazioniUltimoTrimestre + +-- step propedeutici al popolamento della tabella svuotata + +select sca.rete,sca.codfis, sca.NumeroContratto, sca.Contratto, sca.ImportoOperazione, sca.Operazione, sca.DataOperazione, sca.FirmaDigitale +into #propedeutica +from +( +select +a.rete, +case +when isnull(a.codman,'') = '' then a.codfis +when a.codman <> '' then 'FF@'+ a.codman +end as codfis, +a.codconf as NumeroContratto, +a.DESPROD as Contratto, +a.IMPORTO as ImportoOperazione, +a.DESCAU as Operazione, +substring(cast(a.DTOPE as varchar),7,2) + '/'+ substring(cast(a.DTope as varchar),5,2) + '/' + substring(cast(a.Dtope as varchar),1,4) as DataOperazione, +w.descrizione_report as FirmaDigitale +from c6stagingPeriodico.w6aput AS a +inner join [dbo].[W6APUT_AnaFirma] as w +on a.firma = w.firma +where a.dttrim = (select max(dttrim) from c6stagingPeriodico.w6aput) +--AND @datacongelamento +) sca + + +--- aggiunta del CF e rete per entrare nella SP successiva + +insert into [C6StampeCentralizzate].[C6STAGINGPERIODICO].AM_OperazioniUltimoTrimestre +SELECT RETE, + codfis AS CodiceFiscale + ,DataOperazione + ,Contratto + ,NumeroContratto + ,Operazione + ,ImportoOperazione + ,FirmaDigitale +FROM #propedeutica +order by rete,codicefiscale, CONVERT(DATETIME, DataOperazione, 103) + + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre_old.sql b/sql/storedCollaudo/C6MartPeriodico_DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre_old.sql new file mode 100644 index 00000000..70594b09 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre_old.sql @@ -0,0 +1,96 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre_old + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +create PROCEDURE [C6MartPeriodico].[DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre_old] + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +-- settaggio variabili del trimestre + +declare @datacongelamento as datetime +declare @dataInizioTrimestre as datetime + +set @datacongelamento = C6MartPeriodico.getDataCongelamento() + +set @dataInizioTrimestre = DATEADD(m,-3,DATEADD(mm, DATEDIFF(m,0,@datacongelamento), 0)) + +--print @datacongelamento +--print @dataInizioTrimestre + +-- storicizzare le operazione dell'ultimo trimestre prima di troncare la tabella + + + --troncare la tabella esistente + +truncate table [C6StampeCentralizzate].[C6STAGINGPERIODICO].AM_OperazioniUltimoTrimestre + +-- step propedeutici al popolamento della tabella svuotata + +select a.NumeroContratto, a.chiaveclientepb, a.Contratto, a.ImportoOperazione, a.Operazione, a.DataOperazione, a.FirmaDigitale +into #propedeutica +from +( +SELECT + distinct pospro.codConf as NumeroContratto + ,pos.chiaveclientepb + ,pn.descrizione as Contratto + --,dop.investi + --,dop.disinvesti + ,isnull(dop.investi, (dop.disinvesti * - 1)) as ImportoOperazione + ,dto.descrizione as Operazione + ,Convert(VARCHAR, dop.dtAggiornamento, 103) AS DataOperazione + --, null as Firma + ,CASE + WHEN sca.WSMOV_FIRMA_DIGITALE = 'G' then 'Grafometrica' + WHEN sca.WSMOV_FIRMA_DIGITALE = 'N' then 'Olografa' + WHEN sca.WSMOV_FIRMA_DIGITALE = 'S' then 'Elettronica' + ELSE 'Olografa' + END AS FirmaDigitale +FROM Consuni_Periodico.ConsulenzaUnica.dbo.ST_DettaglioOperazione dop +LEFT JOIN Consuni.ConsulenzaUnica.dbo.PosizioniProposta pospro ON dop.chiavePosizionePro = pospro.chiavePosizionePro +LEFT JOIN Consuni_Periodico.ConsulenzaUnica.dbo.DTipoOperazione dto ON dto.codTipoOperazione = dop.codTipoOperazione +LEFT JOIN Consuni.CatalogoProdotti.dbo.ProdottiNucleo pn ON pn.codinterno = substring(pospro.codConf, 7, 2) +LEFT JOIN Consuni.CatalogoProdotti.dbo.CatalogoProdotti cat ON --posport.chiaveProdotto = cat.ChiaveProdotto AND +CAT.CODINTERNO = PN.codinterno AND pn.tipoprodotto = cat.tipoprodotto +LEFT JOIN Consuni_Periodico.ConsulenzaUnica.dbo.Proposta pos ON pos.chiaveProposta = dop.chiaveProposta +--LEFT JOIN (SELECT cod_fiscale+rete from [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport]) rp ON rp.chiaveclientePB = pos.chiaveclientePB +--LEFT JOIN Consuni_Periodico.ConsulenzaUnica.dbo.vInfoCliente vi ON vi.chiavePB = pos.chiaveClientePB +--LEFT JOIN WSMOV_CONTRATTO_scarico sca ON sca.WSMOV_CONTRATTO = posport.codConf +LEFT JOIN (select wsmov_data_eseguito,WSMOV_FIRMA_DIGITALE,wsmov_contratto, wsmov_operazione from [C6StagingPeriodico].WSMOV_CONTRATTO_SCARICO + where CONVERT(DATETIME, CONVERT(VARCHAR, wsmov_data_eseguito, 103),103) --between +>= @dataInizioTrimestre +--AND @datacongelamento +) sca + ON sca.wsmov_contratto = pospro.codConf + AND substring(dop.codTipoOperazione, 1, 1) = sca.wsmov_operazione +WHERE dop.chiaveProposta-- = '32255229' +IN (select chiaveProposta from Consuni_Periodico.ConsulenzaUnica.dbo.Proposta where chiaveclientepb in (select distinct chiaveclientepb from [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport]) +AND status not in ('VA', 'EX', 'BO')) +AND pospro.chiavePosizionePro <> '0' +AND dop.dtAggiornamento between @dataInizioTrimestre AND @datacongelamento + + + union all + +SELECT + distinct posport.codConf as NumeroContratto + ,pos.chiaveclientepb + ,pn.descrizione as Contratto + --,dop.investi + --,dop.disinvesti + ,isnull(dop.investi, (dop.disinvesti * - 1)) as ImportoOperazione + ,dto.descrizione as Operazione + ,Convert(VARCHAR, dop.dtAggiornamento, 103) AS DataOperazione + --, null as Firma + ,CASE + WHEN sca.WSMOV_FIRMA_DIGITALE = 'G' then 'Grafometrica' + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_PROVENTI.sql b/sql/storedCollaudo/C6MartPeriodico_DM_PROVENTI.sql new file mode 100644 index 00000000..bf59306f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_PROVENTI.sql @@ -0,0 +1,107 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_PROVENTI + + + + +CREATE procedure [C6MartPeriodico].[DM_PROVENTI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @DTMAX INT + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEIPR + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_PROVENTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[PROVENTI] +--select * from [C6MartPeriodico].[PROVENTI] + INSERT INTO [C6MartPeriodico].[PROVENTI] ( + WSEIPR.RETE, + DTTRIM, + COD_FISCALE, + COD_INTERNO , + COD_SOTTOPRODOTTO , + DESPROD , + DTRIFE, + TIPMOV, + IMPORTO + ) + SELECT + WSEIPR.RETE, + convert(datetime,convert(varchar,WSEIPR.[DTTRIM]),100) as [DT_TRIM], + WSEIPR.CODFIS, + COD_INTERNO = CASE + -- WHEN WSEIPR.FAMPROD <> 'DT' THEN WSEIPR.CODPROD + -- ELSE WSEIPR.CODABI + WHEN LTRIM(RTRIM(isnull(WSEIPR.CODABI,''))) = '' THEN WSEIPR.CODPROD + ELSE LTRIM(RTRIM(WSEIPR.CODABI)) + END, + COD_SOTTOPRODOTTO = CASE + WHEN LTRIM(RTRIM(isnull(WSEIPR.SUBPROD,''))) = '' THEN '' + ELSE LTRIM(RTRIM(WSEIPR.SUBPROD)) + END, + --[C6MartPeriodico].[getDESPRODCAT](CODPROD,SUBPROD) as DESPROD , + [C6MartPeriodico].[getDESPRODCAT] + (CASE + WHEN LTRIM(RTRIM(isnull(WSEIPR.CODABI,''))) = '' THEN WSEIPR.CODPROD + ELSE LTRIM(RTRIM(WSEIPR.CODABI)) + END, + CASE + WHEN LTRIM(RTRIM(isnull(WSEIPR.SUBPROD,''))) = '' THEN NULL + ELSE LTRIM(RTRIM(WSEIPR.SUBPROD)) + END) as DESPROD , + convert(datetime,convert(varchar,WSEIPR.[DTRIFE]),100) as DTRIFE, + WSEIPR.TIPMOV, + WSEIPR.IMPORTO + FROM c6StagingPeriodico.WSEIPR WSEIPR + WHERE + WSEIPR.[DTTRIM] = @DTMAX + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PROVENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_PROVENTI' + ) + +-- FC 22/01/2014 +-- Verifica e scarto prodotti + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT a.RETE, a.COD_FISCALE, 'PROVENTI.DESPROD IS NULL' + FROM [C6MartPeriodico].[PROVENTI] a --WHERE ISNULL(DesProd,'') ='' + INNER JOIN c6stagingperiodico.appo_contratti_v b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and b.tip_contratto=2 + WHERE ISNULL(DesProd,'') ='' + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_PROVENTI_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_PROVENTI_pre_selective.sql new file mode 100644 index 00000000..9c50fdf1 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_PROVENTI_pre_selective.sql @@ -0,0 +1,105 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_PROVENTI_pre_selective + + + +CREATE PROCEDURE [C6MartPeriodico].[DM_PROVENTI_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @DTMAX INT + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEIPR + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PROVENTI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[PROVENTI] +--select * from [C6MartPeriodico].[PROVENTI] + INSERT INTO [C6MartPeriodico].[PROVENTI] ( + WSEIPR.RETE, + DTTRIM, + COD_FISCALE, + COD_INTERNO , + COD_SOTTOPRODOTTO , + DESPROD , + DTRIFE, + TIPMOV, + IMPORTO + ) + SELECT + WSEIPR.RETE, + convert(datetime,convert(varchar,WSEIPR.[DTTRIM]),100) as [DT_TRIM], + WSEIPR.CODFIS, + COD_INTERNO = CASE + -- WHEN WSEIPR.FAMPROD <> 'DT' THEN WSEIPR.CODPROD + -- ELSE WSEIPR.CODABI + WHEN LTRIM(RTRIM(isnull(WSEIPR.CODABI,''))) = '' THEN WSEIPR.CODPROD + ELSE LTRIM(RTRIM(WSEIPR.CODABI)) + END, + COD_SOTTOPRODOTTO = CASE + WHEN LTRIM(RTRIM(isnull(WSEIPR.SUBPROD,''))) = '' THEN '' + ELSE LTRIM(RTRIM(WSEIPR.SUBPROD)) + END, + --[C6MartPeriodico].[getDESPRODCAT](CODPROD,SUBPROD) as DESPROD , + [C6MartPeriodico].[getDESPRODCAT] + (CASE + WHEN LTRIM(RTRIM(isnull(WSEIPR.CODABI,''))) = '' THEN WSEIPR.CODPROD + ELSE LTRIM(RTRIM(WSEIPR.CODABI)) + END, + CASE + WHEN LTRIM(RTRIM(isnull(WSEIPR.SUBPROD,''))) = '' THEN NULL + ELSE LTRIM(RTRIM(WSEIPR.SUBPROD)) + END) as DESPROD , + convert(datetime,convert(varchar,WSEIPR.[DTRIFE]),100) as DTRIFE, + WSEIPR.TIPMOV, + WSEIPR.IMPORTO + FROM c6StagingPeriodico.WSEIPR WSEIPR + WHERE + WSEIPR.[DTTRIM] = @DTMAX + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PROVENTI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PROVENTI_pre_selective' + ) + +-- FC 22/01/2014 +-- Verifica e scarto prodotti + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT a.RETE, a.COD_FISCALE, 'PROVENTI.DESPROD IS NULL' + FROM [C6MartPeriodico].[PROVENTI] a --WHERE ISNULL(DesProd,'') ='' + INNER JOIN c6stagingperiodico.appo_contratti b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and b.tip_contratto=2 + WHERE ISNULL(DesProd,'') ='' + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIOEMITTENTI.sql b/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIOEMITTENTI.sql new file mode 100644 index 00000000..c98355cc --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIOEMITTENTI.sql @@ -0,0 +1,20 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_RISCHIOEMITTENTI + +CREATE procedure [C6MartPeriodico].[DM_RISCHIOEMITTENTI] +as +begin + +truncate table C6MARTperiodico.[RischioEmittenti] +INSERT INTO [C6StampeCentralizzate].C6MARTperiodico.[RischioEmittenti] + ([Classe] + ,[Min] + ,[Max] + ,[Ordine]) + SELECT [Classe] + ,[MinVal] + ,[MaxVal] + ,[Ordine] + FROM [C6StampeCentralizzate].[C6Stagingperiodico].[RiskEmit] +end + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO.sql b/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO.sql new file mode 100644 index 00000000..0b1a4bc4 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO.sql @@ -0,0 +1,117 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_RISCHIO_AGGREGATO + + + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_RISCHIO_AGGREGATO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.RISCHIO_AGGREGATO + + INSERT INTO C6MartPeriodico.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + case when PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO >= 99.99 then 99.99 + when PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO <= 0.0 then 0.0 + else CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) end AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + -- Modifica del 27/6/2018 - per errore cast + --CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(12,3)) AS BENEFICIO, + -- fine Modifica del 27/6/2018 + + + CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + c6martperiodico.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + FROM + C6martPERIODICO.brsvarallaggr PROMETEIA_AGGR + +--begin transaction +update c6martperiodico.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_20180627_preNewInd.sql b/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_20180627_preNewInd.sql new file mode 100644 index 00000000..2508e28e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_20180627_preNewInd.sql @@ -0,0 +1,110 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_RISCHIO_AGGREGATO_20180627_preNewInd + + + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_RISCHIO_AGGREGATO_20180627_preNewInd] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.RISCHIO_AGGREGATO + + INSERT INTO C6MartPeriodico.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + c6martperiodico.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + FROM + C6STAGINGPERIODICO.PROMETEIA_AGGR + +--begin transaction +update c6martperiodico.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_OLD2.sql b/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_OLD2.sql new file mode 100644 index 00000000..c90812ca --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_OLD2.sql @@ -0,0 +1,114 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_RISCHIO_AGGREGATO_OLD2 + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_RISCHIO_AGGREGATO_OLD2] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.RISCHIO_AGGREGATO + + INSERT INTO C6MartPeriodico.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(10,2)) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + --CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + --V il CC deve avere sempre copertura = 100 + CASE + WHEN PORTAFOGLIO = 'COMPLESSIVO|BF|CC' THEN 100 + ELSE CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) + END AS COPERTURA, + --CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(10,2)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + --nuovo + C6martperiodico.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISK_EMIT + FROM + C6STAGINGPERIODICO.PROMETEIA_AGGR + +--begin transaction +update c6martperiodico.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_old.sql b/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_old.sql new file mode 100644 index 00000000..fe258c10 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_old.sql @@ -0,0 +1,107 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_RISCHIO_AGGREGATO_old + + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_RISCHIO_AGGREGATO_old] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.RISCHIO_AGGREGATO + + INSERT INTO C6MartPeriodico.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(10,2)) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC + FROM + C6STAGINGPERIODICO.PROMETEIA_AGGR + +--begin transaction +update c6martperiodico.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_preAladdin.sql b/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_preAladdin.sql new file mode 100644 index 00000000..c25cb4bd --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_preAladdin.sql @@ -0,0 +1,116 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_RISCHIO_AGGREGATO_preAladdin + + + + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_RISCHIO_AGGREGATO_preAladdin] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.RISCHIO_AGGREGATO + + INSERT INTO C6MartPeriodico.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + -- Modifica del 27/6/2018 - per errore cast + --CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(12,3)) AS BENEFICIO, + -- fine Modifica del 27/6/2018 + + + CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + c6martperiodico.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + FROM + C6STAGINGPERIODICO.PROMETEIA_AGGR + +--begin transaction +update c6martperiodico.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective.sql new file mode 100644 index 00000000..27646bf8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective.sql @@ -0,0 +1,107 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_RISCHIO_AGGREGATO_pre_selective + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_RISCHIO_AGGREGATO_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.RISCHIO_AGGREGATO + + INSERT INTO C6MartPeriodico.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + c6martperiodico.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + FROM + C6martPERIODICO.brsvarallaggr PROMETEIA_AGGR + +--begin transaction +update c6martperiodico.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO_pre_selective' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective_preAladdin.sql b/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective_preAladdin.sql new file mode 100644 index 00000000..9a90956a --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective_preAladdin.sql @@ -0,0 +1,108 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_RISCHIO_AGGREGATO_pre_selective_preAladdin + + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_RISCHIO_AGGREGATO_pre_selective_preAladdin] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.RISCHIO_AGGREGATO + + INSERT INTO C6MartPeriodico.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + c6martperiodico.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + FROM + C6STAGINGPERIODICO.PROMETEIA_AGGR + +--begin transaction +update c6martperiodico.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO_pre_selective' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_SCADENZE.sql b/sql/storedCollaudo/C6MartPeriodico_DM_SCADENZE.sql new file mode 100644 index 00000000..b60b3b71 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_SCADENZE.sql @@ -0,0 +1,108 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_SCADENZE + + + +CREATE procedure [C6MartPeriodico].[DM_SCADENZE] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @DTMAX INT + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEISC + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_SCADENZE', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[SCADENZE] +--select * from [C6MartPeriodico].[[SCADENZE]] + INSERT INTO [C6MartPeriodico].[SCADENZE] ( + WSEIPR.RETE, + DTTRIM, + COD_FISCALE, + COD_INTERNO , + COD_SOTTOPRODOTTO, + DESPROD, + DTSCAD, + TIPMOV + ) + SELECT + WSEISC.RETE, + convert(datetime,convert(varchar,WSEISC.[DTTRIM]),100) as [DT_TRIM], + WSEISC.CODFIS, + COD_INTERNO = CASE + -- WHEN WSEISC.FAMPROD <> 'DT' THEN WSEISC.CODPROD + -- ELSE WSEISC.CODABI + WHEN LTRIM(RTRIM(isnull(WSEISC.CODABI,''))) = '' THEN WSEISC.CODPROD + ELSE LTRIM(RTRIM(WSEISC.CODABI)) + END, + COD_SOTTOPRODOTTO = CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.SUBPROD,''))) = '' THEN '' + ELSE LTRIM(RTRIM(WSEISC.SUBPROD)) + END, + -- [C6MartPeriodico].[getDESPRODCAT](CODPROD,SUBPROD) as DESPROD , + [C6MartPeriodico].[getDESPRODCAT] + (CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.CODABI,''))) = '' THEN WSEISC.CODPROD + ELSE LTRIM(RTRIM(WSEISC.CODABI)) + END, + CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.SUBPROD,''))) = '' THEN NULL + ELSE LTRIM(RTRIM(WSEISC.SUBPROD)) + END) as DESPROD , + convert(datetime,convert(varchar,WSEISC.DTSCAD),100) as DTSCAD, + WSEISC.TIPMOV + FROM c6StagingPeriodico.WSEISC WSEISC + -- modifica del 28/4/2017 per s&m selective + inner join c6StagingPeriodico.appo_contratti_v appo + on wseisc.rete = appo.rete and + wseisc.codfis = appo.cod_fiscale + --fine modifica del 28/4/2017 per s&m selective + WHERE + WSEISC.[DTTRIM] = @DTMAX + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_SCADENZE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_SCADENZE' + ) + +-- FC 22/01/2014 +-- Verifica e scarto prodotti + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'SCADENZE.DESPROD IS NULL' + FROM [C6MartPeriodico].[SCADENZE] WHERE ISNULL(DesProd,'') ='' + + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_SCADENZE_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_DM_SCADENZE_pre_selective.sql new file mode 100644 index 00000000..13dac0ae --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_SCADENZE_pre_selective.sql @@ -0,0 +1,99 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_SCADENZE_pre_selective + +CREATE procedure [C6MartPeriodico].[DM_SCADENZE_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @DTMAX INT + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEISC + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_SCADENZE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[SCADENZE] +--select * from [C6MartPeriodico].[[SCADENZE]] + INSERT INTO [C6MartPeriodico].[SCADENZE] ( + WSEIPR.RETE, + DTTRIM, + COD_FISCALE, + COD_INTERNO , + COD_SOTTOPRODOTTO, + DESPROD, + DTSCAD, + TIPMOV + ) + SELECT + WSEISC.RETE, + convert(datetime,convert(varchar,WSEISC.[DTTRIM]),100) as [DT_TRIM], + WSEISC.CODFIS, + COD_INTERNO = CASE + -- WHEN WSEISC.FAMPROD <> 'DT' THEN WSEISC.CODPROD + -- ELSE WSEISC.CODABI + WHEN LTRIM(RTRIM(isnull(WSEISC.CODABI,''))) = '' THEN WSEISC.CODPROD + ELSE LTRIM(RTRIM(WSEISC.CODABI)) + END, + COD_SOTTOPRODOTTO = CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.SUBPROD,''))) = '' THEN '' + ELSE LTRIM(RTRIM(WSEISC.SUBPROD)) + END, + -- [C6MartPeriodico].[getDESPRODCAT](CODPROD,SUBPROD) as DESPROD , + [C6MartPeriodico].[getDESPRODCAT] + (CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.CODABI,''))) = '' THEN WSEISC.CODPROD + ELSE LTRIM(RTRIM(WSEISC.CODABI)) + END, + CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.SUBPROD,''))) = '' THEN NULL + ELSE LTRIM(RTRIM(WSEISC.SUBPROD)) + END) as DESPROD , + convert(datetime,convert(varchar,WSEISC.DTSCAD),100) as DTSCAD, + WSEISC.TIPMOV + FROM c6StagingPeriodico.WSEISC WSEISC + WHERE + WSEISC.[DTTRIM] = @DTMAX + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_SCADENZE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_SCADENZE_pre_selective' + ) + +-- FC 22/01/2014 +-- Verifica e scarto prodotti + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'SCADENZE.DESPROD IS NULL' + FROM [C6MartPeriodico].[SCADENZE] WHERE ISNULL(DesProd,'') ='' + + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_SCADENZE_pre_selective_luca.sql b/sql/storedCollaudo/C6MartPeriodico_DM_SCADENZE_pre_selective_luca.sql new file mode 100644 index 00000000..9c352179 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_SCADENZE_pre_selective_luca.sql @@ -0,0 +1,101 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_SCADENZE_pre_selective_luca + + +CREATE procedure [C6MartPeriodico].[DM_SCADENZE_pre_selective_luca] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @DTMAX INT + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEISC + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_SCADENZE', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[SCADENZE] +--select * from [C6MartPeriodico].[[SCADENZE]] + INSERT INTO [C6MartPeriodico].[SCADENZE] ( + WSEIPR.RETE, + DTTRIM, + COD_FISCALE, + COD_INTERNO , + COD_SOTTOPRODOTTO, + DESPROD, + DTSCAD, + TIPMOV + ) + SELECT + WSEISC.RETE, + convert(datetime,convert(varchar,WSEISC.[DTTRIM]),100) as [DT_TRIM], + WSEISC.CODFIS, + COD_INTERNO = CASE + -- WHEN WSEISC.FAMPROD <> 'DT' THEN WSEISC.CODPROD + -- ELSE WSEISC.CODABI + WHEN LTRIM(RTRIM(isnull(WSEISC.CODABI,''))) = '' THEN WSEISC.CODPROD + ELSE LTRIM(RTRIM(WSEISC.CODABI)) + END, + COD_SOTTOPRODOTTO = CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.SUBPROD,''))) = '' THEN '' + ELSE LTRIM(RTRIM(WSEISC.SUBPROD)) + END, + -- [C6MartPeriodico].[getDESPRODCAT](CODPROD,SUBPROD) as DESPROD , + [C6MartPeriodico].[getDESPRODCAT] + (CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.CODABI,''))) = '' THEN WSEISC.CODPROD + ELSE LTRIM(RTRIM(WSEISC.CODABI)) + END, + CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.SUBPROD,''))) = '' THEN NULL + ELSE LTRIM(RTRIM(WSEISC.SUBPROD)) + END) as DESPROD , + convert(datetime,convert(varchar,WSEISC.DTSCAD),100) as DTSCAD, + WSEISC.TIPMOV + FROM c6StagingPeriodico.WSEISC WSEISC + WHERE + WSEISC.[DTTRIM] = @DTMAX + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_SCADENZE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_SCADENZE' + ) + +-- FC 22/01/2014 +-- Verifica e scarto prodotti + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'SCADENZE.DESPROD IS NULL' + FROM [C6MartPeriodico].[SCADENZE] WHERE ISNULL(DesProd,'') ='' + + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_STORICO_CAPPROT_FVI.sql b/sql/storedCollaudo/C6MartPeriodico_DM_STORICO_CAPPROT_FVI.sql new file mode 100644 index 00000000..91da1075 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_STORICO_CAPPROT_FVI.sql @@ -0,0 +1,118 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_STORICO_CAPPROT_FVI + + + + + +-- ============================================= +-- Description: 'S' + and LP.DTTRIM = @DataFineTrim and cs.dttrim = @DataFineTrim + + +-------------------------------------------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_STORICO_CAPPROT_FVI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_STORICO_CAPPROT_FVI' + ) + +END + + + + + + + + + + + + + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_TEST_QUALITY.sql b/sql/storedCollaudo/C6MartPeriodico_DM_TEST_QUALITY.sql new file mode 100644 index 00000000..1d1d3104 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_TEST_QUALITY.sql @@ -0,0 +1,115 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_TEST_QUALITY + + +CREATE PROCEDURE [C6MartPeriodico].[DM_TEST_QUALITY] +AS +BEGIN + +declare @date datetime +declare @trimestre datetime + +set @date = getdate() +set @trimestre = [C6MartPeriodico].[getTrimestre] (@date, 0) +SELECT 'TESTING FOR TRIMESTRALE = ' + cast( @trimestre as NVARCHAR(20)) +--set @trimestre = '2017-06-30' +SELECT 'TESTING DATA_MONIT' + +;with dd as +( +SELECT + CONO.ID_AREA AS NEED_AREA, + CASE + WHEN CONO.NOME_PROGETTO = 'XXX' THEN '' + ELSE CONO.NOME_PROGETTO + END AS NOME_PROGETTO, + CONO.RETE, + CONO.COD_FISCALE, + CONO.DATA_CONO, + MONIT.DATA_CTV as DATA_MONIT +FROM + C6MartPeriodico.CONO_PIANIFICAZIONE AS CONO + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE AS MONIT + ON CONO.RETE = MONIT.RETE + AND CONO.COD_FISCALE = MONIT.COD_FISCALE + AND CONO.ID_AREA = MONIT.ID_AREA + AND CONO.NOME_PROGETTO = MONIT.NOME_PROGETTO + AND cono.ordinamento_progetto=monit.ordinamento_progetto +),reduced_data as +( +select distinct d.* +from dd d + inner join (select * from dd where data_cono = @trimestre) x on d.need_area = x.need_area and d.nome_progetto = x.nome_progetto + and x.rete = d.rete and x.cod_fiscale = d.cod_fiscale +), +correct_data as +( +select * from reduced_data d where data_cono = data_monit +) +select d.RETE, d.COD_FISCALE, 'missing data for DATA_MONIT for NOME_PROGETTO = ' + d.nome_progetto + ' NEED_AREA = '+ d.need_area as MOTIVO +from reduced_data d + left join correct_data x on d.need_area = x.need_area and d.nome_progetto = x.nome_progetto + and x.rete = d.rete and x.cod_fiscale = d.cod_fiscale +where x.need_area is null +group by d.rete, d.cod_fiscale, d.need_area, d.nome_progetto + +SELECT 'TESTING data_perf in c6mart.vcontratti' +DECLARE @dtrim VARCHAR(8) + set @dtrim = c6martperiodico.getPreviousTrimestre(getDate(),0) + + + SELECT codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim,rank INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' and dttrim = @dtrim + )X + +select * from wh.Maledetti m inner join #WSEIAN_1 wse + on wse.codfis = m.i_codiceFiscale and wse.rete = m.i_rete left join [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC +on vc.cod_fiscale = i_codiceFiscale and vc.rete = i_rete +where data_perf is null and wse.FLGPROF = 'S' + +SELECT 'TESTING SCARTO PER PIRAMIDE MODELLO' + +SELECT RETE, COD_FISCALE, + CASE + WHEN PMOD.PRC > 100 THEN 'SCARTO PER PIRAMIDE MODELLO SUPERIORE A 100' + WHEN PMOD.PRC < 1 THEN 'SCARTO PER PIRAMIDE MODELLO BELOW 1' + ELSE 'SCARTO PER PIRAMIDE MODELLO INFERIORE A 100' +END AS MOTIVO +FROM C6MARTPeriodico.VCONTRATTI VC + INNER JOIN + (SELECT chiaveclientepb, sum(percentualeprogetto) AS PRC FROM c6stagingperiodico.rp_progettipiramidemodello + WHERE 1=1 + AND ((area = 'Inv' and tipoProgetto = 1) OR (area <> 'Inv' and tipoProgetto = 0)) + AND DtFineValidita > getdate() + GROUP BY chiaveclientepb + ) AS PMOD + ON VC.chiaveclientepb = PMOD.chiaveclientepb +WHERE PMOD.PRC < 1 or PMOD.PRC > 100 + +DECLARE @d nvarchar(8) +set @d = c6martperiodico.getTrimestre(getdate(), 1) + +;with alldata as +( +select * from [C6StagingPeriodico].[WSEIAN2] WHERE codfis not like 'FF%' and DTTRIM=@d +), moddata as +( SELECT an.* + FROM [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis not like 'FF%' and DTTRIM=@d +) +select * from alldata d left join moddata m on m.rete = d.rete and m.codfis = d.codfis and m.dttrim = d.dttrim +where m.codfis is null + + +;with alldata diff --git a/sql/storedCollaudo/C6MartPeriodico_DM_dettaglio_MOV.sql b/sql/storedCollaudo/C6MartPeriodico_DM_dettaglio_MOV.sql new file mode 100644 index 00000000..2a5b2674 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DM_dettaglio_MOV.sql @@ -0,0 +1,31 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DM_dettaglio_MOV + +CREATE procedure [C6MartPeriodico].[DM_dettaglio_MOV] +AS BEGIN +--INSERT INTO C6MartPeriodico.Dettaglio_MOV + +SELECT + [RETE], + + CASE + WHEN CODMAN ='' + THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS, + + sum(APPORTI) - sum(PRELIEVI) as dettaglio + +FROM + [C6StagingPeriodico].[W6APTR] + +WHERE + DTTRIM =(select max(dttrim) from [C6StagingPeriodico].[W6APTR]) + +GROUP BY + RETE, + CASE WHEN CODMAN ='' THEN CODFIS ELSE 'FF@'+CODMAN END + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_Decodifica_Concentrazione_Prodotti_Complessi.sql b/sql/storedCollaudo/C6MartPeriodico_Decodifica_Concentrazione_Prodotti_Complessi.sql new file mode 100644 index 00000000..883415ff --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Decodifica_Concentrazione_Prodotti_Complessi.sql @@ -0,0 +1,125 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Decodifica_Concentrazione_Prodotti_Complessi + + + + + + + + + +--[C6MartPeriodico].[PL_D_S180ProdottiComplessitaAlta] 'f', 'ff@9225' +CREATE procedure [C6MartPeriodico].[Decodifica_Concentrazione_Prodotti_Complessi] --'F','SPNTTR67T20F205D' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +declare @adeguato char(1) +select @adeguato= flgconc from C6MartPeriodico.WSEIAN2 where RETE=@Rete and CODFIS=@CodiceFiscale + +if(@adeguato='N') +begin + + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @TotalePatrimonio decimal(12,2) + + -- acquisiamo il totale patrimonio del cliente + SELECT @TotalePatrimonio = ctv + FROM + C6MartPeriodico.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +-- + SELECT + 1 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi + into #temp +FROM + [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 3 + + union all + SELECT + 2 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 2 + + union all + SELECT + 3 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 1 + + -- --20180905 Fine modifica + order by ordine,Compl_Base desc + + delete from #temp where ordine=1 and SommaPesi<20 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta <20 + delete from #temp where ordine=2 and SommaPesi<30 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta <30 + delete from #temp where ordine=3 and SommaPesi<50 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta e medio-bassa <50 + +DECLARE @countLimMax VARCHAR(50) +SELECT @countLimMax = count(*) FROM #temp + +DECLARE @maxCompl VARCHAR(50) +select @maxCompl = max(compl_base) from [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] where rete=@rete and Cod_fiscale=@Codice diff --git a/sql/storedCollaudo/C6MartPeriodico_DeleteGruppo_ExcludedList.sql b/sql/storedCollaudo/C6MartPeriodico_DeleteGruppo_ExcludedList.sql new file mode 100644 index 00000000..3363c1ee --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DeleteGruppo_ExcludedList.sql @@ -0,0 +1,15 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DeleteGruppo_ExcludedList + + + +CREATE procedure [C6MartPeriodico].[DeleteGruppo_ExcludedList] + @motivo varchar(200) +AS +BEGIN + +Delete FROM [C6StampeCentralizzate].[C6MartPeriodico].[ExcludedList_testing] + WHERE [DescrErr] = @motivo + + +END diff --git a/sql/storedCollaudo/C6MartPeriodico_DistinctGruppo_ExcludedList.sql b/sql/storedCollaudo/C6MartPeriodico_DistinctGruppo_ExcludedList.sql new file mode 100644 index 00000000..fcb5d330 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_DistinctGruppo_ExcludedList.sql @@ -0,0 +1,14 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: DistinctGruppo_ExcludedList + + + +CREATE procedure [C6MartPeriodico].[DistinctGruppo_ExcludedList] +AS +BEGIN + +SELECT distinct [DescrErr] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[ExcludedList_testing] + + +END diff --git a/sql/storedCollaudo/C6MartPeriodico_Estrazione_Campione.sql b/sql/storedCollaudo/C6MartPeriodico_Estrazione_Campione.sql new file mode 100644 index 00000000..fd98ad29 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Estrazione_Campione.sql @@ -0,0 +1,44 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Estrazione_Campione + + + + + +CREATE procedure [C6MartPeriodico].[Estrazione_Campione] +AS +BEGIN +drop table if exists C6MartPeriodico.TB_Estrazione_Campione +select top(1) rete_acn,codice_fiscale,'Cliente W Retail (Non Professionale) con solo Monitoraggio' as Nota into C6MartPeriodico.TB_Estrazione_Campione from C6MartPeriodico.tabellone where rete_acn='W' and segmento<>'PRIVATE' and freq_diagnosi<>'T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente W Private (Non Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='W' and segmento='PRIVATE' and freq_diagnosi<>'T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente W Retail (Non Professionale) con Monitoraggio e Diagnosi'as Nota from C6MartPeriodico.tabellone where rete_acn='W' and segmento='PRIVATE' and freq_diagnosi='T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente S Retail (Non Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='S' and segmento<>'PRIVATE' and freq_diagnosi<>'T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente S Retail (Non Professionale) con Monitoraggio e Diagnosi'as Nota from C6MartPeriodico.tabellone where rete_acn='S' and segmento<>'PRIVATE' and freq_diagnosi='T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente S Private (Non Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='S' and segmento='PRIVATE' and freq_diagnosi<>'T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente F Retail (Non Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='F' and segmento<>'PRIVATE' and freq_diagnosi<>'T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente F Retail (Non Professionale) con Monitoraggio e Diagnosi'as Nota from C6MartPeriodico.tabellone where rete_acn='F' and segmento<>'PRIVATE' and freq_diagnosi='T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente F Private (Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='F' and segmento='PRIVATE' and freq_diagnosi<>'T' and flgprof='S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente F Private (Non Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='F' and segmento='PRIVATE' and freq_diagnosi<>'T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente F Retail (Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='F' and segmento<>'PRIVATE' and freq_diagnosi<>'T' and flgprof='S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente F Retail (Professionale) con Monitoraggio e Diagnosi'as Nota from C6MartPeriodico.tabellone where rete_acn='F' and segmento<>'PRIVATE' and freq_diagnosi='T' and flgprof='S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente F Private (Non Professionale) con Monitoraggio e Diagnosi'as Nota from C6MartPeriodico.tabellone where rete_acn='F' and segmento='PRIVATE' and freq_diagnosi='T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente S Retail (Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='S' and segmento<>'PRIVATE' and freq_diagnosi<>'T' and flgprof='S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente S Private (Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='S' and segmento='PRIVATE' and freq_diagnosi<>'T' and flgprof='S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente S Private (Non Professionale) con Monitoraggio e Diagnosi'as Nota from C6MartPeriodico.tabellone where rete_acn='S' and segmento='PRIVATE' and freq_diagnosi='T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente W Retail (Professionale) con solo Monitoraggio' as Not diff --git a/sql/storedCollaudo/C6MartPeriodico_Estrazione_Campione_Cruscotto.sql b/sql/storedCollaudo/C6MartPeriodico_Estrazione_Campione_Cruscotto.sql new file mode 100644 index 00000000..fc5b5b56 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Estrazione_Campione_Cruscotto.sql @@ -0,0 +1,43 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Estrazione_Campione_Cruscotto + + + + + + +CREATE procedure [C6MartPeriodico].[Estrazione_Campione_Cruscotto] +AS +BEGIN +drop table if exists C6MartPeriodico.TB_Estrazione_Campione_Cruscotto +select top(1) rete,codice_fiscale,'Cliente W Retail (Non Professionale) con solo Monitoraggio' as Nota into C6MartPeriodico.TB_Estrazione_Campione_Cruscotto from c6martperiodico.rp_tb_tipologia_campione where rete='W' and segmento<>'PRIVATE' and Diagnosi<>'SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente W Private (Non Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='W' and segmento='PRIVATE' and Diagnosi<>'SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente W Retail (Non Professionale) con Monitoraggio e Diagnosi'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='W' and segmento='PRIVATE' and Diagnosi='SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente S Retail (Non Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='S' and segmento<>'PRIVATE' and Diagnosi<>'SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente S Retail (Non Professionale) con Monitoraggio e Diagnosi'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='S' and segmento<>'PRIVATE' and Diagnosi='SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente S Private (Non Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='S' and segmento='PRIVATE' and Diagnosi<>'SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente F Retail (Non Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='F' and segmento<>'PRIVATE' and Diagnosi<>'SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente F Retail (Non Professionale) con Monitoraggio e Diagnosi'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='F' and segmento<>'PRIVATE' and Diagnosi='SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente F Private (Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='F' and segmento='PRIVATE' and Diagnosi<>'SI' and Professionale='SI' +union all +select top(1) rete,codice_fiscale,'Cliente F Private (Non Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='F' and segmento='PRIVATE' and Diagnosi<>'SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente F Retail (Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='F' and segmento<>'PRIVATE' and Diagnosi<>'SI' and Professionale='SI' +union all +select top(1) rete,codice_fiscale,'Cliente F Retail (Professionale) con Monitoraggio e Diagnosi'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='F' and segmento<>'PRIVATE' and Diagnosi='SI' and Professionale='SI' +union all +select top(1) rete,codice_fiscale,'Cliente F Private (Non Professionale) con Monitoraggio e Diagnosi'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='F' and segmento='PRIVATE' and Diagnosi='SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente S Retail (Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='S' and segmento<>'PRIVATE' and Diagnosi<>'SI' and Professionale='SI' +union all +select top(1) rete,codice_fiscale,'Cliente S Private (Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='S' and segmento='PRIVATE' and Diagnosi<>'SI' and Professionale='SI' +union all +select top(1) rete,codice_fiscale,'Cliente S Private (Non Professionale) con Monitoraggio e Diagnosi'as Nota from c6martperiodico.rp_tb_tipologia_campione w diff --git a/sql/storedCollaudo/C6MartPeriodico_GC_CONVALIDAREPORTSELECT.sql b/sql/storedCollaudo/C6MartPeriodico_GC_CONVALIDAREPORTSELECT.sql new file mode 100644 index 00000000..90f0fbb8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GC_CONVALIDAREPORTSELECT.sql @@ -0,0 +1,147 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GC_CONVALIDAREPORTSELECT + + +-- ============================================= +-- Author: Berni Francesco +-- Create date: 24 Aprile 2009 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[GC_CONVALIDAREPORTSELECT] +CREATE procedure [C6MartPeriodico].[GC_CONVALIDAREPORTSELECT] + +AS +BEGIN +Declare @DiagnosiVerificati as int +Declare @DiagnosiNonVerificati as int +Declare @DiagnosiOK as int +Declare @DiagnosiKO as int +Declare @MonitoraggioVerificati as int +Declare @MonitoraggioNonVerificati as int +Declare @MonitoraggioOK as int +Declare @MonitoraggioKO as int +-- Totali +Declare @TotaleDiagnosi as int +Declare @TotaleMonitoraggio as int + +Declare @TotaleVerificati as int +Declare @TotaleNonVerificati as int +Declare @TotaleOK as int +Declare @TotaleKO as int + + +-- Diagnosi + + +-- Diagnosi Verificati +SELECT @DiagnosiVerificati = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fiscale = B.CodiceFiscale + + Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C + ON B.IDREPORT = C.IDREPORT + WHERE + B.[TipoReport] = 'D' + AND ISNULL(B.FlagInvio,'N') = 'N' + AND ISNULL(B.DEFINITIVO, 0) = 0 + AND C.datafine is null + AND ISNULL(C.Verifica, 0) = 1 + + +-- Diagnosi Non Verificati +SELECT @DiagnosiNonVerificati = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fiscale = B.CodiceFiscale + Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C + ON B.IDREPORT = C.IDREPORT + WHERE + B.[TipoReport] = 'D' + AND ISNULL(B.FlagInvio,'N') = 'N' + AND ISNULL(B.DEFINITIVO, 0) = 0 + AND C.datafine is null + AND ISNULL(C.Verifica, 0) = 0 + +-- Diagnosi OK +SELECT @DiagnosiOK = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fiscale = B.CodiceFiscale + Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C + ON B.IDREPORT = C.IDREPORT + WHERE + B.[TipoReport] = 'D' + AND ISNULL(B.FlagInvio,'N') = 'N' + AND ISNULL(B.DEFINITIVO, 0) = 0 + AND C.datafine is null + and ISNULL(C.Esito,'-') = 'OK' + + +-- Diagnosi KO +SELECT @DiagnosiKO = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fiscale = B.CodiceFiscale + Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C + ON B.IDREPORT = C.IDREPORT + WHERE + B.[TipoReport] = 'D' + AND ISNULL(B.FlagInvio,'N') = 'N' + AND ISNULL(B.DEFINITIVO, 0) = 0 + AND C.datafine is null + and ISNULL(C.Esito,'-') = 'KO' + +-- Monitoraggio + + +-- Monitoraggio Verificati +SELECT @MonitoraggioVerificati = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fiscale = B.CodiceFiscale + + Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C + ON B.IDREPORT = C.IDREPORT + WHERE + B.[TipoReport] = 'M' + AND ISNULL(B.FlagInvio,'N') = 'N' + AND ISNULL(B.DEFINITIVO, 0) = 0 + AND C.datafine is null + AND ISNULL(C.Verifica, 0) = 1 + + +-- Monitoraggio Non Verificati +SELECT @MonitoraggioNonVerificati = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fiscale = B.CodiceFiscale + + Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C + ON B.IDREPORT = C.IDREPORT + WHERE + B.[TipoReport] = 'M' + AND ISNULL(B.FlagInvio,'N') = 'N' + AND ISNULL(B.DEFINITIVO, 0) = 0 + AND C.datafine is null + AND ISNULL(C.Verifica, 0) = 0 + +-- Monitoraggio OK +SELECT @MonitoraggioOK = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fisc diff --git a/sql/storedCollaudo/C6MartPeriodico_GC_DELETE_CONVALIDA_ANNULLA.sql b/sql/storedCollaudo/C6MartPeriodico_GC_DELETE_CONVALIDA_ANNULLA.sql new file mode 100644 index 00000000..82366a03 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GC_DELETE_CONVALIDA_ANNULLA.sql @@ -0,0 +1,84 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GC_DELETE_CONVALIDA_ANNULLA + +-- ============================================= +-- Author: Francesco Berni +-- Create date: 28/04/2009 +-- Description: Stored Procedure inserimento dati varifiche campione +-- ============================================= +CREATE procedure [C6MartPeriodico].[GC_DELETE_CONVALIDA_ANNULLA] + @Idreports varchar(3000) = 'NODELETE', + @Delimiter char(1) = '|', + @TipoOperazione char(1) +AS +BEGIN + + + +IF (@Idreports <> 'NODELETE') +BEGIN + Declare @contatore as int + -- Inizio Log + CREATE TABLE #ConvalidaReport( + riga int NULL, + Report varchar(100) NULL, + Diagnosi int NULL, + UrlDiagnosi varchar(100) NULL, + Monitoraggio int NULL, + UrlMonitoraggio varchar(100) NULL, + UrlTotale varchar(100) NULL, + Totale int NULL + ) + + + INSERT INTO #ConvalidaReport + EXEC + [C6MartPeriodico].[GC_CONVALIDAREPORTSELECT] + + + insert into [C6MartPeriodico].LogOperazioniConvalidaAnnulla + select + getdate() as data, + case @TipoOperazione when 'A' then 'ANNULLA' else + case @TipoOperazione when 'C' then 'CONVALIDA' End End AS TIPO_OPERAZIONE, + Report , + Diagnosi , + Monitoraggio , + Totale + from #ConvalidaReport + + + drop table #ConvalidaReport + -- Fine Log + + + -- Cancella tutti i report su GESTIONE_PDF_FTP + DELETE C6MartPeriodico.GESTIONE_PDF_FTP + from C6MartPeriodico.GESTIONE_PDF_FTP + inner join (select [value] from dbo.Split(@Delimiter, @Idreports)) as tab + on C6MartPeriodico.GESTIONE_PDF_FTP.idreport = tab.[value] + + set @contatore = @@rowcount + + -- Convalida + if (@TipoOperazione = 'C') + Begin + UPDATE C6MartPeriodico.GESTIONE_PDF_FTP + SET Definitivo = 1 + WHERE --Secondo berni: isnull(Definitivo, 0) = 0 + --V + codicefiscale in(SELECT codiceFiscale FROM c6martperiodico.VERIFICHECAMPIONE where esito = 'OK' and DATAFINE is null) + End + + -- Storicizzo anche i record cancellati + UPDATE [C6MartPeriodico].[VERIFICHECAMPIONE] + SET datafine = GETDATE() + WHERE datafine is null + + return @contatore +END +ELSE + return -1 +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GC_INSERT_VERIFICHE_CAMPIONE.sql b/sql/storedCollaudo/C6MartPeriodico_GC_INSERT_VERIFICHE_CAMPIONE.sql new file mode 100644 index 00000000..da65c56e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GC_INSERT_VERIFICHE_CAMPIONE.sql @@ -0,0 +1,54 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GC_INSERT_VERIFICHE_CAMPIONE + +-- ============================================= +-- Author: Francesco Berni +-- Create date: 28/04/2009 +-- Description: Stored Procedure inserimento dati varifiche campione +-- ============================================= +CREATE procedure [C6MartPeriodico].[GC_INSERT_VERIFICHE_CAMPIONE] + @IdReport int, + @Rete char(1) = '', + @CodicePB varchar(6) = '', + @CodiceFiscale varchar(16) = '', + @UserModify varchar(7) = '', + @TipoReport varchar(2) = '', + @Verifica bit = null, + @Esito varchar(2) = '-' + +AS +BEGIN + + SET NOCOUNT ON; + + + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[VERIFICHECAMPIONE] + SET datafine = getdate() + WHERE IdReport = @IdReport and datafine is null + + INSERT INTO [C6StampeCentralizzate].[C6MartPeriodico].[VERIFICHECAMPIONE] + ([Rete] + ,[CodiceFiscale] + ,[CodAgente] + ,[UserModify] + ,[TipoReport] + ,[Verifica] + ,[Esito] + ,[IdReport] + ,[datainizio] + ,[datafine]) + VALUES + (@Rete + ,@CodiceFiscale + ,@CodicePB + ,@UserModify + ,@TipoReport + ,@Verifica + ,@Esito + ,@IdReport + , GetDate() + , null + ) + END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GC_REPORTDACANCELLARESELECT.sql b/sql/storedCollaudo/C6MartPeriodico_GC_REPORTDACANCELLARESELECT.sql new file mode 100644 index 00000000..1e9332c8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GC_REPORTDACANCELLARESELECT.sql @@ -0,0 +1,34 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GC_REPORTDACANCELLARESELECT + + +-- ============================================= +-- Author: Berni Francesco +-- Create date: 24 Aprile 2009 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[GC_REPORTDACANCELLARESELECT] +CREATE procedure [C6MartPeriodico].[GC_REPORTDACANCELLARESELECT] + -- Add the parameters for the stored procedure here + @flag char(1) + +AS +BEGIN + +if (@flag = 'A') + -- ANNULLA REPORT + Select distinct IdReport from C6MartPeriodico.GESTIONE_PDF_FTP + where isnull(FlagInvio,'N') = 'N' + +else if (@flag = 'C') + -- CONVALIDA REPORT + Select distinct C6MartPeriodico.GESTIONE_PDF_FTP.IdReport + FROM C6MartPeriodico.GESTIONE_PDF_FTP + INNER JOIN C6MartPeriodico.VERIFICHECAMPIONE + ON C6MartPeriodico.GESTIONE_PDF_FTP.IdReport = C6MartPeriodico.VERIFICHECAMPIONE.IdReport + where isnull(C6MartPeriodico.GESTIONE_PDF_FTP.FlagInvio,'N') = 'N' + AND isnull(C6MartPeriodico.GESTIONE_PDF_FTP.Definitivo, 0) = 0 + AND C6MartPeriodico.VERIFICHECAMPIONE.Esito = 'KO' + AND C6MartPeriodico.VERIFICHECAMPIONE.datafine IS NULL +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_GC_VerificheCampioneSelect.sql b/sql/storedCollaudo/C6MartPeriodico_GC_VerificheCampioneSelect.sql new file mode 100644 index 00000000..cae74262 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GC_VerificheCampioneSelect.sql @@ -0,0 +1,93 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GC_VerificheCampioneSelect + + +-- ============================================= +-- Author: Berni Francesco +-- Create date: 24 Aprile 2009 +-- Description: +-- ============================================= +-- C6MartPeriodico.[GC_VerificheCampioneSelect] 'F', '011717' +CREATE procedure [C6MartPeriodico].[GC_VerificheCampioneSelect] + + + -- Add the parameters for the stored procedure here + @Rete char(1) = null, + @CodicePB varchar(6) = null, + @CodiceFiscale varchar(16) = null, + @NomeCliente varchar(50) = null, + @CognomeCliente varchar(50) = null, + @DataSottDA datetime = null, + @DataSottA datetime = null, + @RFADA decimal = null, + @RFAA decimal = null, + @VaRDA decimal = null, + @VaRA decimal = null, + @Delimiter char(1) = '|', + @Profilo varchar(50) = null, + @Diagnosi bit = 0, + @Monitoraggio bit = 0, + @NonVerificato bit = 0, + @Verificato bit = 0, + @OK bit = 0, + @KO bit = 0, + @pdfC6 int = 1 + +AS +BEGIN + +SELECT distinct C6MartPeriodico.GESTIONE_PDF_FTP.IdReport, + C6Mart.CONTRATTOSEI.Rete, + Case C6Mart.CONTRATTOSEI.Rete when 'F' then 'Fideuram' else + Case C6Mart.CONTRATTOSEI.Rete when 'S' then 'San Paolo' End End + as Rete, + C6Mart.CONTRATTOSEI.Cod_Agente, + CASE + WHEN C6Mart.CONTRATTOSEI.Cod_Fiscale LIKE '%@%' THEN C6MartPeriodico.ANAG_CLIENTI.COGNOME + ' ' + REPLACE(C6MartPeriodico.ANAG_CLIENTI.NOME,'$','') + ' - ' + SUBSTRING(C6Mart.CONTRATTOSEI.Cod_Fiscale, CHARINDEX('@',C6Mart.CONTRATTOSEI.Cod_Fiscale) + 1 , LEN(C6Mart.CONTRATTOSEI.Cod_Fiscale) - CHARINDEX('@',C6Mart.CONTRATTOSEI.Cod_Fiscale) + 1) + ELSE C6MartPeriodico.ANAG_CLIENTI.COGNOME + ' ' + C6MartPeriodico.ANAG_CLIENTI.NOME + END AS NOMINATIVOCLIENTE, + Case C6MartPeriodico.GESTIONE_PDF_FTP.TipoReport when 'D' then 'Diagnosi' else + Case C6MartPeriodico.GESTIONE_PDF_FTP.TipoReport when 'M' then 'Monitoraggio' End End + as TipoReport, + C6MartPeriodico.VERIFICHECAMPIONE.UserModify, + ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Verifica, 0) AS VERIFICA, + ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Esito, '-') AS Esito, + + C6Mart.CONTRATTOSEI.Cod_Fiscale, + @pdfC6 as pdfC6 + +-- From + FROM C6Mart.CONTRATTOSEI INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP ON + C6Mart.CONTRATTOSEI.Rete = C6MartPeriodico.GESTIONE_PDF_FTP.Rete AND + C6Mart.CONTRATTOSEI.Cod_Fiscale = C6MartPeriodico.GESTIONE_PDF_FTP.CodiceFiscale + --INNER JOIN + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO + ON C6Mart.CONTRATTOSEI.Rete = C6MartPeriodico.RISCHIO_AGGREGATO.RETE + AND C6Mart.CONTRATTOSEI.Cod_Fiscale = C6MartPeriodico.RISCHIO_AGGREGATO.COD_FISCALE + --AND C6MartPeriodico.RISCHIO_AGGREGATO.COD_AGGREG = 'COMPLESSIVO|BF' + INNER JOIN + + C6MartPeriodico.MIFID + ON C6Mart.CONTRATTOSEI.Rete = C6MartPeriodico.MIFID.RETE + AND C6Mart.CONTRATTOSEI.Cod_Fiscale = C6MartPeriodico.MIFID.COD_FISCALE + INNER JOIN + C6MartPeriodico.ANAG_CLIENTI ON + C6Mart.CONTRATTOSEI.Rete = C6MartPeriodico.ANAG_CLIENTI.RETE + AND C6Mart.CONTRATTOSEI.Cod_Fiscale = C6MartPeriodico.ANAG_CLIENTI.COD_FISCALE + INNER JOIN + C6MartPeriodico.vPatrimonioBFAggregato ON + C6Mart.CONTRATTOSEI.Rete = C6MartPeriodico.vPatrimonioBFAggregato.RETE + AND C6Mart.CONTRATTOSEI.Cod_Fiscale = C6MartPeriodico.vPatrimonioBFAggregato.COD_FISCALE + LEFT OUTER JOIN + C6MartPeriodico.VERIFICHECAMPIONE ON + C6MartPeriodico.GESTIONE_PDF_FTP.IdReport = C6MartPeriodico.VERIFICHECAMPIONE.IdReport + + WHERE 1=1 + -- rete + AND (@Rete is null OR @Rete = '-' OR C6Mart.CONTRATTOSEI.Rete = @Rete) + AND (@CodicePB is null OR C6Mart.CONTRATTOSEI.Cod_Agente = @CodicePB) + --AND (@CodiceFiscale is null OR C6Mart.CONTRATTOSEI.Cod_Fiscale = @CodiceFiscale) + AND (@CodiceFiscale is null OR C6Mart.CONTRATTOSEI.Cod_Fiscale like @CodiceFiscale + '%') + AND (@NomeCliente is diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_C6_S_Generator.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_C6_S_Generator.sql new file mode 100644 index 00000000..ddb20d9e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_C6_S_Generator.sql @@ -0,0 +1,88 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_C6_S_Generator + + + + + + + + + + + + + +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 4, 14, 'T' PPVV +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 4, 6, 'T' Direct Advisory +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 1, 5, 'T' Diagnosi +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 4, 13, 'T' (monitoraggio,private,trim) +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 4, 12, 'T' (monitoraggio,old/affluent,trim) + +CREATE procedure [C6MartPeriodico].[GESTIONE_C6_S_Generator] +@idReport as int, +@idModello as int, +@periodicita as varchar(1) = 'T' +AS +BEGIN + SET NOCOUNT ON; + + +if (@idModello=12) +begin +select * from C6MartPeriodico.generator_monitoraggio order BY ordineCapitolo,ordineParagrafo,ordineSezione +end + +if (@idModello=13) +begin +select * from C6MartPeriodico.generator_monitoraggio_private +--where codiceSezione not in ('S182') +order BY ordineCapitolo,ordineParagrafo,ordineSezione +end + + +if (@idModello=5) +begin +select * from C6MartPeriodico.generator_diagnosi order BY ordineCapitolo,ordineParagrafo,ordineSezione +end + +if (@idModello=6) +begin +select * from C6MartPeriodico.generator_direct +--where codiceSezione not in ('FD182','FD185') +--where codiceSezione not in ('FD187','FD188','FD182','FD185') +order BY ordineCapitolo,ordineParagrafo,ordineSezione +end + +if (@idModello=14) +begin +select * from C6MartPeriodico.generator_PPVV order BY ordineCapitolo,ordineParagrafo,ordineSezione +end + +END + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_C6_S_Generator_OLD.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_C6_S_Generator_OLD.sql new file mode 100644 index 00000000..f814f292 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_C6_S_Generator_OLD.sql @@ -0,0 +1,103 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_C6_S_Generator_OLD + + + + + + +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 1, 4, 'T' +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 1, 5, 'T' diagnosi +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 4, 13, 'T' (monitoraggio,private,trim) +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 4, 12, 'T' (monitoraggio,old/affluent,trim) + +CREATE procedure [C6MartPeriodico].[GESTIONE_C6_S_Generator_OLD] +@idReport as int, +@idModello as int, +@periodicita as varchar(1) = 'T' +AS +BEGIN + SET NOCOUNT ON; + + + + + +-- CREO LA TABELLA #R6Capitolopdf +SELECT dboPeriodico.R6Capitolo.id, + dboPeriodico.R6Capitolo.titolo, + dboPeriodico.R6Capitolo.testo, + dboPeriodico.R6Capitolo.testoAlternativo, + dboPeriodico.R6Capitolo.nuovapagina, + dboPeriodico.R6Capitolo.queryOracle, + dboPeriodico.R6Capitolo.querySql, + dboPeriodico.R6Capitolo.querySqlPeriodico +into #R6CAPITOLOPDF +FROM +dboPeriodico.ReportSezionePers AS a INNER JOIN +dboPeriodico.R6_SezioneR6Capitolo AS b ON a.IdSezione = b.IdSezione INNER JOIN +dboPeriodico.R6Capitolo ON b.IdCapitoloPDF = dboPeriodico.R6Capitolo.id +where a.idreport = @idModello + +-- CREO LA TABELLA #R6ParagrafoPDF + +SELECT dboPeriodico.R6Paragrafo.id, + dboPeriodico.R6Paragrafo.titolo, + dboPeriodico.R6Paragrafo.testo, + dboPeriodico.R6Paragrafo.queryOracle, + dboPeriodico.R6Paragrafo.querySql, + dboPeriodico.R6Paragrafo.querySqlPeriodico, + dboPeriodico.R6Paragrafo.SottoTitoloQuery, + dboPeriodico.R6Paragrafo.SpazioNecessarioSezioneSuccessiva + +into #R6PARAGRAFOPDF +FROM dboPeriodico.ReportSezionePers AS a INNER JOIN + dboPeriodico.R6_SezioneR6Paragrafo AS b ON a.IdSezione = b.IdSezione INNER JOIN + dboPeriodico.R6Paragrafo ON b.IdParagrafoPDF = dboPeriodico.R6Paragrafo.id + where a.idreport = @idModello + + +-- CREO LA TABELLA #R6SEZIONEPDF +SELECT + dboPeriodico.R6Sezione.id, + dboPeriodico.R6Sezione.codice, + dboPeriodico.R6Sezione.queryOracle, + dboPeriodico.R6Sezione.querySql, + dboPeriodico.R6Sezione.querySqlPeriodico, + dboPeriodico.R6Sezione.ordineQueryOracle, + dboPeriodico.R6Sezione.ordineQuerySql + --R6Sezione.nuovaPaginaDopo +into #R6SEZIONEPDF +FROM dboPeriodico.ReportSezionePers AS a INNER JOIN + dboPeriodico.R6_SezioneR6Sezione AS b ON a.IdSezione = b.idFkSezione INNER JOIN + dboPeriodico.R6Sezione ON b.idFkC6Sezione = dboPeriodico.R6Sezione.id +WHERE (a.IdReport = @idModello) + + +SELECT DISTINCT #R6CAPITOLOPDF.id as idCapitolo + ,dboPeriodico.R6ReportR6Capitolo.ordineCapitolo as ordineCapitolo + ,#R6CAPITOLOPDF.titolo as titoloCapitolo + ,#R6CAPITOLOPDF.testo as testoCapitolo + ,#R6CAPITOLOPDF.testoAlternativo as testoCapitoloAlternativo + ,#R6CAPITOLOPDF.nuovapagina as nuovaPaginaCapitolo +-- ,#R6CAPITOLOPDF.queryOracle as queryOracleCapitolo +,Case when @periodicita = 'G' then isnull(#R6CAPITOLOPDF.querySql,'') else + Case when @periodicita = 'T' then isnull(#R6CAPITOLOPDF.querySqlPeriodico,'') + END END as querySqlCapitolo + ,#R6PARAGRAFOPDF.id as idParagrafo + ,dboPeriodico.R6CapitoloR6Paragrafo.ordineParagrafo as ordineParagrafo + ,#R6PARAGRAFOPDF.titolo as titoloParagrafo + ,#R6PARAGRAFOPDF.sottoTitoloQuery as sottoTitoloParagrafo + ,#R6PARAGRAFOPDF.testo as testoParagrafo + ,#R6PARAGRAFOPDF.spazioNecessarioSezioneSuccessiva as spazioNecessarioSezioneSuccessiva +-- ,isnull(#R6PARAGRAFOPDF.queryOracle,'') as queryOracleParagrafo +,Case when @periodicita = 'G' then isnull(#R6PARAGRAFOPDF.querySql,'') else + Case when @periodicita = 'T' then isnull(#R6PARAGRAFOPDF.querySqlPeriodico,'') + END END as querySqlParagrafo + ,dboPeriodico.R6CapitoloR6Paragrafo.indicizzato as indicizzatoParagrafo + ,dboPeriodico.R6ParagrafoR6Sezione.ordineSezione as ordineSezione + ,#R6SEZIONEPDF.id as idSezione + ,#R6SEZIONEPDF.codice as codiceSezione +-- ,isnull(#R6SEZIONEPDF.queryOracle,'') as queryOracleSezione +,Case when @periodicita = 'G' then isnull(#R6SEZIONEPDF.querySql,'') else + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE.sql new file mode 100644 index 00000000..e801a99f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE.sql @@ -0,0 +1,48 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[GESTIONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE] 'leggi','flag_archiviazione',2 +CREATE procedure [C6MartPeriodico].[GESTIONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE] +@tipoOperazione nvarchar(30) +--@tipoFlag nvarchar(30), +--@valoreFlag int + +as + +IF @tipoOperazione = 'leggi' + + begin + select * from dbo.Cruscotto_Applicazione_Simulazione + end + +ELSE IF @tipoOperazione = 'truncate' + begin + truncate table dbo.Cruscotto_Applicazione_Simulazione + select * from dbo.dbo.Cruscotto_Applicazione_Simulazione; + end + +ELSE IF @tipoOperazione = 'updateFlag' + begin + + + --EXECUTE ('update dbo.Cruscotto_Archiviazione set ' + @tipoFlag + '=' + @valoreFlag); + + select * from dbo.Cruscotto_Archiviazione; + end + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_CUSTOMER_ERROR.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_CUSTOMER_ERROR.sql new file mode 100644 index 00000000..836de484 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_CUSTOMER_ERROR.sql @@ -0,0 +1,37 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_INSERT_CUSTOMER_ERROR + +-- Stored procedure + +-- ============================================= +-- Author: Marian Zaki +-- Create date: 18/08/2010 +-- Description: Insert the exception raised for a customer +-- while generating the diagnosis or the monitoring reports. +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_CUSTOMER_ERROR] + @rete as char(1), + @cod_fiscale as varchar(16), + @tipoReport as char(1), + @errorText as text +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + INSERT INTO [C6MartPeriodico].[Scarti] + ([Rete] + ,[Cod_fiscale] + ,[TipoReport] + ,[ErrorText]) + + VALUES + (@rete + ,@cod_fiscale + ,@tipoReport + ,@errorText) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP.sql new file mode 100644 index 00000000..8fbeb8e8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP.sql @@ -0,0 +1,39 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_INSERT_ELABORAZIONE_ZIP + + + +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_ELABORAZIONE_ZIP] +AS +BEGIN + DECLARE @IDElaborazioneZip int + + -- Controllo se esiste un'ultima elaborazione zip non terminata. + SELECT @IDElaborazioneZip = IDElaborazioneZip + FROM [C6MartPeriodico].ELABORAZIONI_ZIP + WHERE IDElaborazioneZip = (SELECT MAX(IDElaborazioneZip) + FROM [C6MartPeriodico].ELABORAZIONI_ZIP) + AND DataFine IS NULL + + IF @IDElaborazioneZip IS NULL + BEGIN + BEGIN TRY + BEGIN TRANSACTION INSERT_ELABORAZIONE_ZIP + INSERT INTO [C6MartPeriodico].[ELABORAZIONI_ZIP] + ([DataInizio]) + VALUES + (GETDATE()) + COMMIT TRANSACTION INSERT_ELABORAZIONE_ZIP + SELECT SCOPE_IDENTITY() AS IDElaborazioneZIP + END TRY + BEGIN CATCH + ROLLBACK TRANSACTION INSERT_ELABORAZIONE_ZIP + SELECT 0 AS IDElaborazioneZIP + END CATCH + END + ELSE + SELECT @IDElaborazioneZip AS IDElaborazioneZIP +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP_20170328.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP_20170328.sql new file mode 100644 index 00000000..908404af --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP_20170328.sql @@ -0,0 +1,39 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_INSERT_ELABORAZIONE_ZIP_20170328 + + + +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_ELABORAZIONE_ZIP_20170328] +AS +BEGIN + DECLARE @IDElaborazioneZip int + + -- Controllo se esiste un'ultima elaborazione zip non terminata. + SELECT @IDElaborazioneZip = IDElaborazioneZip + FROM [C6MartPeriodico].ELABORAZIONI_ZIP + WHERE IDElaborazioneZip = (SELECT MAX(IDElaborazioneZip) + FROM [C6MartPeriodico].ELABORAZIONI_ZIP) + AND DataFine IS NULL + + IF @IDElaborazioneZip IS NULL + BEGIN + BEGIN TRY + BEGIN TRANSACTION INSERT_ELABORAZIONE_ZIP + INSERT INTO [C6StampeCentralizzate].[C6MartPeriodico].[ELABORAZIONI_ZIP] + ([DataInizio]) + VALUES + (GETDATE()) + COMMIT TRANSACTION INSERT_ELABORAZIONE_ZIP + SELECT SCOPE_IDENTITY() AS IDElaborazioneZIP + END TRY + BEGIN CATCH + ROLLBACK TRANSACTION INSERT_ELABORAZIONE_ZIP + SELECT 0 AS IDElaborazioneZIP + END CATCH + END + ELSE + SELECT @IDElaborazioneZip AS IDElaborazioneZIP +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONI_EMAIL_RNA.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONI_EMAIL_RNA.sql new file mode 100644 index 00000000..c79b4648 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONI_EMAIL_RNA.sql @@ -0,0 +1,27 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_INSERT_ELABORAZIONI_EMAIL_RNA + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_ELABORAZIONI_EMAIL_RNA] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + + INSERT INTO [C6StampeCentralizzate].[C6MartPeriodico].[ELABORAZIONI_EMAIL_RNA] + ([Data_Elaborazione] + ,[ID_ELAB]) + VALUES + (getdate() + ,@ID_ELAB) + END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_EMAIL_DA_INVIARE.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_EMAIL_DA_INVIARE.sql new file mode 100644 index 00000000..477a1732 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_EMAIL_DA_INVIARE.sql @@ -0,0 +1,126 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_INSERT_EMAIL_DA_INVIARE + + + + +--[C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE] +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_EMAIL_DA_INVIARE] +AS + +--INSERT INTO C6MartPeriodico.Gestione_EmailBCK +--SELECT * FROM C6MartPeriodico.GESTIONE_EMAIL +--WHERE Data_Generazione < '20130613' + +--UPDATE STATISTICS C6MartPeriodico.GESTIONE_EMAIL + + + +--select * from c6martperiodico.anag_promotori where id_promotore = '014890' +--select * from c6storico.anag_promotori where id_promotore = '014890' +--update c6martperiodico.anag_promotori set e_mail = 'LBATTISTI2@bancafideuram.it' where id_promotore = '014890' +--drop table temp_mail +-- +--select * +--from temp_mail +--where testo not like '%' + + +BEGIN + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'GESTIONE_INSERT_EMAIL_DA_INVIARE', + GETDATE(), + 'Elaborazione trimestrale' + ) + + + +--recupero la percentuale limite di risorse non associate + +DECLARE @Ambiente varchar(20) +select @Ambiente= dbo.getParametro('Ambiente') +DECLARE @DestinatarioEmail varchar(255) +select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail') + +DECLARE @SERVIZI_OPERATIVI as varchar(50) +select @SERVIZI_OPERATIVI= dbo.getParametro('EmailServiziOperativi') + +DECLARE @RESPONSABILE_PROCESSO as varchar(50) +select @RESPONSABILE_PROCESSO= dbo.getParametro('EmailResponsabileProcesso') + +-- Cancellazione delle email non inviate, da rigenerare + +DELETE from C6MartPeriodico.MailAvvisoTrimestraleAiPB +WHERE email_id in ( +SELECT m.email_id +from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +inner join [C6MartPeriodico].[GESTIONE_EMAIL] + ON GESTIONE_EMAIL.email_id = m.email_id +WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N') + +INSERT INTO C6MartPeriodico.MailAvvisoTrimestraleAiPB +SELECT --top 800 + GESTIONE_EMAIL.[ID_ELAB] + ,GESTIONE_EMAIL.rete + ,GESTIONE_EMAIL.codICEPB cod_agente + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,'' Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,@SERVIZI_OPERATIVI,@RESPONSABILE_PROCESSO) + else + @DestinatarioEmail + end as [E_To] + ,'' E_Ccn + ,'' E_Cc + , case + when + @Ambiente = 'Produzione' + then + /* 20161206 solo per periodico */ + dbo.Replace_Subject_Email_Periodico(TIPO_EMAIL.[E_Subject],'','',ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + else + dbo.Replace_Subject_Email_Periodico(TIPO_EMAIL.[E_Subject],'','',ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '---' + end as E_Subject + ,dbo.Replace_Testo_Email_Periodico(GESTIONE_EMAIL.RETE,GESTIONE_EMAIL.[CodicePB],GESTIONE_EMAIL.TIPO,TIPO_EMAIL.[Testo]) Testo +--drop table temp_mail +--into temp_mail +FROM [C6MartPeriodico].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6MartPeriodico].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + AND GESTIONE_EMAIL.[Tipo] <> 'LC_REP_GEN' +-- INNER JOIN [C6Mart].[CONTRATTOSEI] CONTRATTOSEI +-- ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] +-- AND CONTRATTOSEI.Cod_Agente = GESTIONE_EMAIL.CodicePB +-- INNER JOIN [C6MartPeriodico].[ANAG_CLIENTI] ANAG_CLIENTI +-- ON ANAG_CLIENTI.Rete = CONTRATTOSEI.[Rete] +-- AND ANAG_CLIENTI.Cod_Fiscale = CONTRATTOSEI.Cod_Fiscale + INNER JOIN [C6MartPeriodico].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = GESTIONE_EMAIL.[CodicePB] + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' + --AND GESTIONE_EMAIL.rete = 's' + +--da inserire su select +-- and testo like '%' + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'GESTI diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP.sql new file mode 100644 index 00000000..a31886ef --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP.sql @@ -0,0 +1,170 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_INSERT_PDF_FTP + + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_PDF_FTP] + @Rete char(1), + @CodiceFiscale varchar(16), + @IDReport int, + @NomeFile varchar(50), + @TipoReport varchar(1), + @NumeroPagine int, + @RFA decimal(18,2) = 0, + @CodiceContratto varchar(11) + +AS +BEGIN + +BEGIN TRY + +BEGIN TRANSACTION + + declare @step varchar(20) + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6Martperiodico.GETIDELAB() + + set @step='Step 1' + DECLARE @isDelete int +declare @appIdReport int + + select @isDelete=count(*) + from C6MartPeriodico.GESTIONE_PDF_FTP WITH (TABLOCKX) WHERE + rete=@Rete and codicefiscale=@CodiceFiscale + and TipoReport = @TipoReport + and IDReport = identityReport + +IF @isDelete > 0 + BEGIN + +set @step='Step 2' + DELETE C6MartPeriodico.GESTIONE_PDF_FTP WITH (TABLOCKX) WHERE + rete=@Rete and codicefiscale=@CodiceFiscale + and TipoReport = @TipoReport + and IDReport = identityReport + end + set @step='Step 3' + DECLARE @isUpdate int + + + select @isUpdate=count(*) + from C6MartPeriodico.GESTIONE_PDF_FTP WITH (TABLOCKX) WHERE + rete=@Rete and codicefiscale=@CodiceFiscale + and TipoReport = @TipoReport + and IDReport <> identityReport + +IF @isUpdate = 0 + BEGIN + set @step='Step 4' + +while exists(select 1 from C6MartPeriodico.GESTIONE_PDF_FTP where IDReport = @IDReport) +begin +set @IDReport = @IDReport+ 1 +end + + insert into C6MartPeriodico.GESTIONE_PDF_FTP + ( + Rete, + CodiceFiscale, + IDReport, + DataGenerazione, + DataInvio, + FlagInvio, + NomeFile, + TipoReport, + numeroPagine, + RFA, + id_Fk_zip, + ID_ELAB, + Definitivo, + codicecontratto + ) + values + ( + @Rete, + @CodiceFiscale, + @IDReport, + Getdate(), + null, + 'N', + @NomeFile, + @TipoReport, + @NumeroPagine, + @RFA, + -1, + @ID_ELAB, + 0, + @CodiceContratto + ) + + -- ToDo ...togliere la select e gestire la variabile @@identity + + -- Recupero id appena creato + --where condition per nomefile ( r e cf possono dare id sbagliati ( Mon-Diag) ) + set @step='Step 5' + select @appIdReport=identityReport + from C6MartPeriodico.GESTIONE_PDF_FTP WITH (TABLOCKX) + where rete=@Rete and codicefiscale=@CodiceFiscale + and tiporeport=@TipoReport + --where nomefile=@NomeFile; + + + if @appIDReport > 0 Begin + + set @step='Step 6' + --aggiorno id report per mantenere la gestione in tutto il progetto + update C6MartPeriodico.GESTIONE_PDF_FTP + set idReport=@appIdReport + where rete=@Rete and codicefiscale=@CodiceFiscale + and identityReport=@appIdReport and tiporeport=@TipoReport + + END + + + END +ELSE + BEGIN + set @step='Step 7' + UPdate C6martperiodico.Gestione_pdf_ftp + SET + DataGenerazione=Getdate(), + DataInvio=null, + FlagInvio='N', + NomeFile=@NomeFile, + TipoReport=@TipoReport, + numeroPagine=@NumeroPagine, + RFA=@RFA, + id_Fk_zip=-1, + ID_ELAB=@ID_ELAB, + Definitivo=0, + codicecontratto=@CodiceContratto + where RETE = @Rete and CodiceFiscale=@CodiceFiscale + and idReport=@IDReport + + set @step='Step 8' + select @appIdReport=identityReport + from C6MartPeriodico.GESTIONE_PDF_FTP WITH (TABLOCKX) + where rete=@Rete and codicefiscale=@CodiceFiscale + and tiporeport=@TipoReport + END + + +set @IdReport = @appIdReport +-- FC 05022015 +-- IdReport temporaneo per gestione Parallelizzazione +-- L'idReport verr aggiornato una volta generato in fase di inserimento del PDF su ReportManager + +-- ToDo ...togliere la select e gestire la variabile @@identity + + -- declare @appIdReport int + -- -- Recupero id appena creato + -- --where condition per nomefile ( r e cf possono dare id sbagliati ( Mon-Diag) ) + -- diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_04082015.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_04082015.sql new file mode 100644 index 00000000..6bec2b05 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_04082015.sql @@ -0,0 +1,163 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_INSERT_PDF_FTP_04082015 + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_PDF_FTP_04082015] + @Rete char(1), + @CodiceFiscale varchar(16), + @IDReport int, + @NomeFile varchar(50), + @TipoReport varchar(1), + @NumeroPagine int, + @RFA decimal(18,2) = 0, + @CodiceContratto varchar(11) + +AS +BEGIN + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6Martperiodico.GETIDELAB() +BEGIN TRY + + DELETE C6MartPeriodico.GESTIONE_PDF_FTP WHERE + rete=@Rete and codicefiscale=@CodiceFiscale + and TipoReport = @TipoReport + --IDReport = @IDReport + + insert into C6MartPeriodico.GESTIONE_PDF_FTP + ( + Rete, + CodiceFiscale, + IDReport, + DataGenerazione, + DataInvio, + FlagInvio, + NomeFile, + TipoReport, + numeroPagine, + RFA, + id_Fk_zip, + ID_ELAB, + Definitivo, + codicecontratto + ) + values + ( + @Rete, + @CodiceFiscale, + @IDReport, + Getdate(), + null, + 'N', + @NomeFile, + @TipoReport, + @NumeroPagine, + @RFA, + -1, + @ID_ELAB, + 0, + @CodiceContratto + ) + + +-- FC 05022015 +-- IdReport temporaneo per gestione Parallelizzazione +-- L'idReport verr aggiornato una volta generato in fase di inserimento del PDF su ReportManager + +-- ToDo ...togliere la select e gestire la variabile @@identity + + declare @appIdReport int + -- Recupero id appena creato + --where condition per nomefile ( r e cf possono dare id sbagliati ( Mon-Diag) ) + select @appIdReport=identityReport + from C6MartPeriodico.GESTIONE_PDF_FTP + where rete=@Rete and codicefiscale=@CodiceFiscale + and tiporeport=@TipoReport + --where nomefile=@NomeFile; + + if @appIDReport > 0 Begin + + + --aggiorno id report per mantenere la gestione in tutto il progetto + update C6MartPeriodico.GESTIONE_PDF_FTP + set idReport=@appIdReport + where rete=@Rete and codicefiscale=@CodiceFiscale + and identityReport=@appIdReport and tiporeport=@TipoReport + + + + + set @IdReport = @appIdReport + + + +-- COLAIANNI-CONSOLI - 28.06.2011 +-- SETTA NELLA CONTROLLO_TRIMESTRALE LO STATO REPORT CORRISPONDENTE ALLA PRODUZIONE DEL REPORT: +-- DI DIAGNOSI (STATO: SEMILAVORATO) O DI MONITORAGGIO (STATO: STAMPATO) + + IF (@TipoReport = 'D') + BEGIN + UPDATE c6martperiodico.controllo_trimestrale + SET stato_report=10, id_report_d=@IDReport, DATA_TRANSIZIONE=GETDATE() + WHERE stato_report = 1 + AND Rete = @Rete + AND Cod_Fiscale = @CodiceFiscale + + END + ELSE IF (@TipoReport = 'M') + BEGIN + UPDATE c6martperiodico.controllo_trimestrale + SET stato_report=4, id_report_m=@IDReport, DATA_TRANSIZIONE=GETDATE() + WHERE ( (stato_report = 1 and flag_diagnosi=0) OR (stato_report = 10) ) + AND Rete = @Rete + AND Cod_Fiscale = @CodiceFiscale + + END + + --return @numeroRighe + -- return @@ROWCOUNT + + + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = getdate() + ,elab = 10 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + where Rete = @Rete + AND CodiceFiscale = @CodiceFiscale + + END +-- FC 05022015 +-- IdReport temporaneo per gestione Parallelizzazione +-- L'idReport verr aggiornato una volta generato in fase di inserimento del PDF su ReportManager + + if @IDReport > 0 Begin + select @IdReport + from C6MartPeriodico.GESTIONE_PDF_FTP + where rete=@Rete and codicefiscale=@CodiceFiscale + and tiporeport=@TipoReport + end + else + Begin + set @IDReport=-1 + select @IDReport + END + +END TRY + +BEGIN CATCH + Declare @CodiceErrore int + Declare @DescirzioneErrore varchar + declare @dataTime datetime + Declare @nomePackage varchar + + select @CodiceErrore=error_number(), + @nomePackage=ERROR_PROCEDURE() , diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_GET_ID.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_GET_ID.sql new file mode 100644 index 00000000..eb395729 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_GET_ID.sql @@ -0,0 +1,25 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_INSERT_PDF_FTP_GET_ID + + +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_PDF_FTP_GET_ID] +( + @Rete char(1), + @CodiceFiscale varchar(16), + @TipoReport varchar(1) +) +AS +BEGIN +if exists ( select 1 from C6MartPeriodico.GESTIONE_PDF_FTP + where rete=@Rete and codicefiscale=@CodiceFiscale + and tiporeport=@TipoReport) + + select top(1) IdReport + from C6MartPeriodico.GESTIONE_PDF_FTP + where rete=@Rete and codicefiscale=@CodiceFiscale + and tiporeport=@TipoReport + + else + select -1 +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql new file mode 100644 index 00000000..a68a210f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql @@ -0,0 +1,51 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_INSERT_PDF_FTP_RISTAMPA + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22/12/2008 +-- Description: Per gestione richieste di reinvio PDF da parte di utenti HD o US +-- ============================================= +--[C6MartPeriodico].[GESTIONE_INSERT_PDF_FTP_RISTAMPA]1055,1081 +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_PDF_FTP_RISTAMPA] + @Id INT, + @IdNuovo INT +AS +BEGIN + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + + INSERT INTO C6MartPeriodico.GESTIONE_PDF_FTP + ( + Rete, + CodiceFiscale, + IDReport, + DataGenerazione, + DataInvio, + FlagInvio, + NomeFile, + TipoReport, + numeroPagine, + RFA, + id_Fk_zip, + ID_ELAB + ) + SELECT + Rete, + CodiceFiscale, + @IdNuovo, + Getdate(), + null, + 'N', + NomeFile, + 'LR', + numeroPagine + 1, + RFA, + -1, + @ID_ELAB + FROM C6MartPeriodico.GESTIONE_PDF_FTP + WHERE IdReport = @Id + RETURN @@ROWCOUNT +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_ZIP.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_ZIP.sql new file mode 100644 index 00000000..4812b7d6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_ZIP.sql @@ -0,0 +1,67 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_INSERT_ZIP + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- Inserimento nuovo [C6Mart].[GESTIONE_INSERT_ZIP] -1,'NomeFileOk','NomeFileOk' +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_ZIP] +@NomeFile as varchar(255), +@NomeCartella as varchar(255), +@FKIDElaborazioneZip as int +AS +BEGIN +BEGIN TRANSACTION +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6Martperiodico.GETIDELAB() +declare @IdZip as int +set @IdZip = -1 +--recupero idzip se Esiste insieme al NomeCartella +SELECT @IdZip=id,@NomeCartella=NomeCartella +FROM + C6MartPeriodico.GESTIONE_ZIP_FTP +WHERE + FlagInvio = 'N' + AND DateCopyToSend IS NULL + +IF(@IDZIP = -1)--NON ESISTE + BEGIN + INSERT INTO [C6MartPeriodico].[GESTIONE_ZIP_FTP] + ( [NOMEFILE] + ,[DATAINVIO] + ,[FLAGINVIO] + ,[NOMECARTELLA] + ,[ID_ELAB] + ,[FKIDElaborazioneZip]) + VALUES + ( @NOMEFILE + ,NULL + ,'N' + ,@NOMECARTELLA + ,@ID_ELAB + ,@FKIDElaborazioneZip) + SET @IDZIP = SCOPE_IDENTITY() + END +ELSE --ESISTE + BEGIN + UPDATE [C6MartPeriodico].[GESTIONE_ZIP_FTP] + SET [NOMEFILE] = @NOMEFILE + WHERE ID = @IDZIP + END +IF @@error <> 0 + begin + rollback + end +else + begin + commit + select @IdZip IdZip,@NomeFile NomeFile,@NomeCartella NomeCartella + end + + +end + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_ZIP_IDX_NOINSERT.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_ZIP_IDX_NOINSERT.sql new file mode 100644 index 00000000..ea95c470 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_INSERT_ZIP_IDX_NOINSERT.sql @@ -0,0 +1,30 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_INSERT_ZIP_IDX_NOINSERT + + +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_ZIP_IDX_NOINSERT] +@NomeCartella as varchar(255) +AS +bEGIN +--select id IdZip, NomeFile, NomeCartella +--from [C6MartPeriodico].[GESTIONE_ZIP_FTP_idx] where nomecartella = @NomeCartella + + +declare @c as varchar(1) +set @c = '[' + +declare @path as varchar(max) +set @path = @NomeCartella +declare @nomefile as varchar(100) +declare @id as int +set @nomefile = substring(@path, 0, charindex('_LOTTO',@path)) +set @id = cast( substring(@path, charindex('_PACK_',@path)+6, charindex(@c,@path)-(charindex('_PACK_',@path)+6)) as int) + +select id IdZip, @NomeCartella as NomeFile, NomeCartella +from [C6MartPeriodico].[GESTIONE_ZIP_FTP] +where nomefile = @nomefile and id = @id + +end + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_PDF_REVERT_FISCAL_CODE.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_PDF_REVERT_FISCAL_CODE.sql new file mode 100644 index 00000000..3f2f8592 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_PDF_REVERT_FISCAL_CODE.sql @@ -0,0 +1,17 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_PDF_REVERT_FISCAL_CODE + +CREATE procedure [C6MartPeriodico].[GESTIONE_PDF_REVERT_FISCAL_CODE] +( + @FiscalCode nvarchar(max), + @Rete nvarchar(max) +) +AS +BEGIN + + update [C6MartPeriodico].[cruscotto_contrattisei] set elab=1 where codicefiscale = @FiscalCode and rete=@rete + update [C6MartPeriodico].[CONTROLLO_TRIMESTRALE] set stato_report=1, flag_diagnosi = 0 where cod_fiscale = @FiscalCode and rete=@rete + delete from [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] where codicefiscale = @FiscalCode and rete=@rete + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SCARTI_CRUSCOTTO.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SCARTI_CRUSCOTTO.sql new file mode 100644 index 00000000..93d3a953 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SCARTI_CRUSCOTTO.sql @@ -0,0 +1,25 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SCARTI_CRUSCOTTO + + + +CREATE procedure [C6MartPeriodico].[GESTIONE_SCARTI_CRUSCOTTO] + @codicefiscale as varchar(16), + @rete as varchar(1), + @stato as int, + @errormessage as varchar(1000) + +AS +BEGIN + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = @stato where codicefiscale = @codicefiscale and rete = @rete and elab = 3 + + IF @@ROWCOUNT <> 0 AND @stato < -1 + INSERT INTO [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] VALUES (@codicefiscale,@rete,getdate(),@errormessage) +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_ELABORAZIONI_EMAIL_RNA.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_ELABORAZIONI_EMAIL_RNA.sql new file mode 100644 index 00000000..11e6d201 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_ELABORAZIONI_EMAIL_RNA.sql @@ -0,0 +1,18 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_ELABORAZIONI_EMAIL_RNA + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_ELABORAZIONI_EMAIL_RNA] +AS +BEGIN + + SET NOCOUNT ON; + + select C6MartPeriodico.getNumeroElaborazioniEmailAlMese() as righe + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql new file mode 100644 index 00000000..074c9038 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql @@ -0,0 +1,60 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_EMAIL_DA_INVIARE + + + + + + + +--[C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE] +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE] +AS + + +BEGIN + +--*********************** Modifica del 13-14/09/2016 per inserire gli eventuali errori nella nuova tabella +insert into [C6MartPeriodico].MailAvvisoTrimestraleAiPB__ERR_EMAIL_TO (ID_ELAB,rete,cod_agente,TIPO,Email_Id,Cod_Fiscale,E_From,E_To,E_Ccn,E_Cc,E_Subject,Testo,codicePB,data_generazione,Inviata,Data_Invio) +SELECT m.*, e.codicePB, e.data_generazione, e.Inviata, e.Data_Invio +from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +inner join [C6MartPeriodico].[GESTIONE_EMAIL] e + ON e.email_id = m.email_id +left join C6MartPeriodico.MailAvvisoTrimestraleAiPB__ERR_EMAIL_TO err +on err.cod_agente = m.cod_agente and err.cod_fiscale = m.cod_fiscale +WHERE isnull(e.Inviata,'N')='N' +and m.testo like '%' +and m.e_subject is not null +and e.email_id NOT IN ('14383','2176','137') +and (m.e_to is null or m.e_to = '') +and err.cod_agente is null + + +--SELECT top 800 * +--from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +--inner join [C6MartPeriodico].[GESTIONE_EMAIL] +-- ON GESTIONE_EMAIL.email_id = m.email_id +--WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' +--and testo like '%' +--and e_subject is not null +--and GESTIONE_EMAIL.email_id NOT IN ('14383','2176','137') + + +SELECT top 800 * +from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +inner join [C6MartPeriodico].[GESTIONE_EMAIL] e + ON e.email_id = m.email_id +WHERE isnull(e.Inviata,'N')='N' +and testo like '%' +and e_subject is not null +and e.email_id NOT IN ('14383','2176','137') +and (e_to is not null and e_to <> '') +--*********************** Fine Modifica del 13-14/09/2016 + +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_20160913.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_20160913.sql new file mode 100644 index 00000000..d4e5fe41 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_20160913.sql @@ -0,0 +1,30 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_EMAIL_DA_INVIARE_20160913 + + + + + + +--[C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE] +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE_20160913] +AS + + +BEGIN + +SELECT top 800 * +from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +inner join [C6MartPeriodico].[GESTIONE_EMAIL] + ON GESTIONE_EMAIL.email_id = m.email_id +WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' +and testo like '%' +and e_subject is not null +and GESTIONE_EMAIL.email_id NOT IN ('14383','2176','137') + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_bk.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_bk.sql new file mode 100644 index 00000000..c12dc354 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_bk.sql @@ -0,0 +1,62 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_EMAIL_DA_INVIARE_bk + + + + + + + + +--[C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE] +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE_bk] +AS + + +BEGIN + +--*********************** Modifica del 13-14/09/2016 per inserire gli eventuali errori nella nuova tabella +insert into [C6MartPeriodico].MailAvvisoTrimestraleAiPB__ERR_EMAIL_TO (ID_ELAB,rete,cod_agente,TIPO,Email_Id,Cod_Fiscale,E_From,E_To,E_Ccn,E_Cc,E_Subject,Testo,codicePB,data_generazione,Inviata,Data_Invio) +SELECT m.*, e.codicePB, e.data_generazione, e.Inviata, e.Data_Invio +from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +inner join [C6MartPeriodico].[GESTIONE_EMAIL] e + ON e.email_id = m.email_id +left join C6MartPeriodico.MailAvvisoTrimestraleAiPB__ERR_EMAIL_TO err +on err.cod_agente = m.cod_agente and err.cod_fiscale = m.cod_fiscale +WHERE isnull(e.Inviata,'N')='N' +and m.testo like '%' +and m.e_subject is not null +and e.email_id NOT IN ('14383','2176','137') +and (m.e_to is null or m.e_to = '') +and err.cod_agente is null + + +--SELECT top 800 * +--from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +--inner join [C6MartPeriodico].[GESTIONE_EMAIL] +-- ON GESTIONE_EMAIL.email_id = m.email_id +--WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' +--and testo like '%' +--and e_subject is not null +--and GESTIONE_EMAIL.email_id NOT IN ('14383','2176','137') + + +SELECT top 800 * +from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +inner join [C6MartPeriodico].[GESTIONE_EMAIL] e + ON e.email_id = m.email_id +WHERE isnull(e.Inviata,'N')='N' +and testo like '%' +and e_subject is not null +and e.email_id NOT IN ('14383','2176','137') +and (e_to is not null and e_to <> '') +--*********************** Fine Modifica del 13-14/09/2016 + +END + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE.sql new file mode 100644 index 00000000..024b8352 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE.sql @@ -0,0 +1,62 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_FTP_DA_INVIARE + + + +CREATE PROCEDURE [C6MartPeriodico].[GESTIONE_SELECT_FTP_DA_INVIARE] + @isLotto1 int = 0 +AS +BEGIN + SELECT + GESTIONE_PDF_FTP.Rete, + GESTIONE_PDF_FTP.CodiceFiscale , + --GESTIONE_PDF_FTP.IdReport + GESTIONE_PDF_FTP.identityreport as IdReport +-- ,(NomeFile + '_' + (Case TipoReport when 'D' then 'DP' WHEN 'M' THEN 'MP' else TipoReport end)) as NomeFile + ,( + NomeFile + '_' + + ( + CASE GESTIONE_PDF_FTP.TipoReport WHEN 'D' THEN 'DP' + WHEN 'M' THEN ( + CASE CONTRATTOSEI.TIP_CONTRATTO + WHEN 2 THEN 'PP' + ELSE 'MP' + END + ) + ELSE GESTIONE_PDF_FTP.TipoReport + END + ) + ) as NomeFile + ,TipoReport + --,convert(varchar,GESTIONE_PDF_FTP.IdReport)+ '_' + NomeFile NomeFilelocale + ,convert(varchar,GESTIONE_PDF_FTP.identityreport)+ '_' + NomeFile NomeFilelocale + FROM C6MartPeriodico.GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN c6martperiodico.controllo_trimestrale + on controllo_trimestrale.Rete = GESTIONE_PDF_FTP.Rete + and controllo_trimestrale.Cod_Fiscale = GESTIONE_PDF_FTP.CodiceFiscale + LEFT JOIN (SELECT [Cod_Fiscale],[Rete] FROM [C6MartPeriodico].[WHITELIST_ZIP] + WHERE [Pacchetto_Zip] iS null) WHITELIST_ZIP + on WHITELIST_ZIP.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + and WHITELIST_ZIP.Rete = CONTRATTOSEI.RETE + left join [C6MartPeriodico].[ExcludedList] on GESTIONE_PDF_FTP.Rete = [ExcludedList].Rete and GESTIONE_PDF_FTP.codicefiscale = [ExcludedList].codicefiscale + WHERE + FlagInvio = 'N' + -- and GESTIONE_PDF_FTP.Rete = null and GESTIONE_PDF_FTP.codicefiscale = null + and ExcludedList.Rete is null + ---- AND Definitivo = 0 Il FLag non piu gestito per la generazione Zip + and dataGenerazione > c6martperiodico.gettrimestre(getdate(),0) + --and stato_report=4 + and (WHITELIST_ZIP.rete is not null or @isLotto1 = 0 or 0 = ( SELECT count(*) + FROM [C6MartPeriodico].[WHITELIST_ZIP] + WHERE [Pacchetto_Zip] iS null + )) + --EN20170706 - output ordered by CAP demand from SELECTA + --order by rete,codiceFiscale,identityreport --idreport + order by rete,CAP, codiceFiscale,identityreport --idreport +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170413_b4_NewZipFtpProcess.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170413_b4_NewZipFtpProcess.sql new file mode 100644 index 00000000..5657958e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170413_b4_NewZipFtpProcess.sql @@ -0,0 +1,64 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_FTP_DA_INVIARE_20170413_b4_NewZipFtpProcess + + + + +CREATE PROCEDURE [C6MartPeriodico].[GESTIONE_SELECT_FTP_DA_INVIARE_20170413_b4_NewZipFtpProcess] + @isLotto1 int = 0 +AS +BEGIN + SELECT + GESTIONE_PDF_FTP.Rete, + GESTIONE_PDF_FTP.CodiceFiscale , + --GESTIONE_PDF_FTP.IdReport + GESTIONE_PDF_FTP.identityreport as IdReport +-- ,(NomeFile + '_' + (Case TipoReport when 'D' then 'DP' WHEN 'M' THEN 'MP' else TipoReport end)) as NomeFile + ,( + NomeFile + '_' + + ( + CASE GESTIONE_PDF_FTP.TipoReport WHEN 'D' THEN 'DP' + WHEN 'M' THEN ( + CASE CONTRATTOSEI.TIP_CONTRATTO + WHEN 2 THEN 'PP' + ELSE 'MP' + END + ) + ELSE GESTIONE_PDF_FTP.TipoReport + END + ) + ) as NomeFile + ,TipoReport + --,convert(varchar,GESTIONE_PDF_FTP.IdReport)+ '_' + NomeFile NomeFilelocale + ,convert(varchar,GESTIONE_PDF_FTP.identityreport)+ '_' + NomeFile NomeFilelocale + +-- ,Case TipoReport when 'D' then 'DW' else TipoReport end +-- ,dp mp +-- DataGenerazione, +-- DataInvio, +-- FlagInvio, +-- NomeFile + FROM C6MartPeriodico.GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN c6martperiodico.controllo_trimestrale + on controllo_trimestrale.Rete = GESTIONE_PDF_FTP.Rete + and controllo_trimestrale.Cod_Fiscale = GESTIONE_PDF_FTP.CodiceFiscale + LEFT JOIN (SELECT [Cod_Fiscale],[Rete] FROM [C6MartPeriodico].[WHITELIST_ZIP] + WHERE [Pacchetto_Zip] iS null) WHITELIST_ZIP + on WHITELIST_ZIP.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + and WHITELIST_ZIP.Rete = CONTRATTOSEI.RETE + WHERE + FlagInvio = 'N' + ---- AND Definitivo = 0 Il FLag non piu gestito per la generazione Zip + and dataGenerazione > c6martperiodico.gettrimestre(getdate(),0) + and stato_report=4 + and (WHITELIST_ZIP.rete is not null or @isLotto1 = 0 or 0 = ( SELECT count(*) + FROM [C6MartPeriodico].[WHITELIST_ZIP] + WHERE [Pacchetto_Zip] iS null + )) + + order by rete,codiceFiscale,identityreport --idreport +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170712_b4_OrderedByCAP.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170712_b4_OrderedByCAP.sql new file mode 100644 index 00000000..f812a878 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170712_b4_OrderedByCAP.sql @@ -0,0 +1,59 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_FTP_DA_INVIARE_20170712_b4_OrderedByCAP + + +CREATE PROCEDURE [C6MartPeriodico].[GESTIONE_SELECT_FTP_DA_INVIARE_b4_GroupByCAP] + @isLotto1 int = 0 +AS +BEGIN + SELECT + GESTIONE_PDF_FTP.Rete, + GESTIONE_PDF_FTP.CodiceFiscale , + --GESTIONE_PDF_FTP.IdReport + GESTIONE_PDF_FTP.identityreport as IdReport +-- ,(NomeFile + '_' + (Case TipoReport when 'D' then 'DP' WHEN 'M' THEN 'MP' else TipoReport end)) as NomeFile + ,( + NomeFile + '_' + + ( + CASE GESTIONE_PDF_FTP.TipoReport WHEN 'D' THEN 'DP' + WHEN 'M' THEN ( + CASE CONTRATTOSEI.TIP_CONTRATTO + WHEN 2 THEN 'PP' + ELSE 'MP' + END + ) + ELSE GESTIONE_PDF_FTP.TipoReport + END + ) + ) as NomeFile + ,TipoReport + --,convert(varchar,GESTIONE_PDF_FTP.IdReport)+ '_' + NomeFile NomeFilelocale + ,convert(varchar,GESTIONE_PDF_FTP.identityreport)+ '_' + NomeFile NomeFilelocale + FROM C6MartPeriodico.GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN c6martperiodico.controllo_trimestrale + on controllo_trimestrale.Rete = GESTIONE_PDF_FTP.Rete + and controllo_trimestrale.Cod_Fiscale = GESTIONE_PDF_FTP.CodiceFiscale + LEFT JOIN (SELECT [Cod_Fiscale],[Rete] FROM [C6MartPeriodico].[WHITELIST_ZIP] + WHERE [Pacchetto_Zip] iS null) WHITELIST_ZIP + on WHITELIST_ZIP.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + and WHITELIST_ZIP.Rete = CONTRATTOSEI.RETE + left join [C6MartPeriodico].[ExcludedList] on GESTIONE_PDF_FTP.Rete = [ExcludedList].Rete and GESTIONE_PDF_FTP.codicefiscale = [ExcludedList].codicefiscale + WHERE + FlagInvio = 'N' + -- and GESTIONE_PDF_FTP.Rete = null and GESTIONE_PDF_FTP.codicefiscale = null + and ExcludedList.Rete is null + ---- AND Definitivo = 0 Il FLag non piu gestito per la generazione Zip + and dataGenerazione > c6martperiodico.gettrimestre(getdate(),0) + --and stato_report=4 + and (WHITELIST_ZIP.rete is not null or @isLotto1 = 0 or 0 = ( SELECT count(*) + FROM [C6MartPeriodico].[WHITELIST_ZIP] + WHERE [Pacchetto_Zip] iS null + )) + + order by rete,codiceFiscale,identityreport --idreport +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI.sql new file mode 100644 index 00000000..2bb4af95 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI.sql @@ -0,0 +1,58 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_FTP_INVIATI + + + +--exec [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI] +-- ============================================= +-- Author: +-- Create date: <2018/03/06> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI] +@idFkzip int +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Estrazione dei record + SELECT DISTINCT + C6MartPeriodico.GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale + into #t + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip + + -- Conteggio dei report generati per ciascuna coppia Rete-CodiceFiscale (Se uno solo di tipo M oppure due, di tipo D + tipo M) + select + #t.Rete, + #t.CodiceFiscale, + count(*) as cont + into #t1 + from #t inner join C6MartPeriodico.GESTIONE_PDF_FTP + on #t.Rete = C6MartPeriodico.GESTIONE_PDF_FTP.Rete + and #t.CodiceFiscale = C6MartPeriodico.GESTIONE_PDF_FTP.CodiceFiscale + group by #t.Rete, #t.CodiceFiscale + + -- Composizione della riga da scrivere nel file IDX + select + [C6MartPeriodico].CONCATENA(#t.Rete, #t.CodiceFiscale) as Riga, + #t1.cont as Tipo + from #t inner join #t1 + on #t.Rete = #t1.Rete + and #t.CodiceFiscale = #t1.CodiceFiscale + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180214_bonifica.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180214_bonifica.sql new file mode 100644 index 00000000..9df8074b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180214_bonifica.sql @@ -0,0 +1,37 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_FTP_INVIATI_20180214_bonifica + + + +--exec sp_recompile '[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI]' +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_20180214_bonifica] +@idFkzip int +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + SELECT DISTINCT + [C6MartPeriodico].CONCATENA_20180214_bonifica(C6MartPeriodico.GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale, + @idFkzip) AS riga + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180308_PreIDX2.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180308_PreIDX2.sql new file mode 100644 index 00000000..cc7c147d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180308_PreIDX2.sql @@ -0,0 +1,35 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_FTP_INVIATI_20180308_PreIDX2 + + + +--exec sp_recompile '[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI]' +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_20180308_PreIDX2] +@idFkzip int +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + SELECT DISTINCT + [C6MartPeriodico].CONCATENA(C6MartPeriodico.GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale) AS riga + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180420.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180420.sql new file mode 100644 index 00000000..2963d1f8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180420.sql @@ -0,0 +1,58 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_FTP_INVIATI_20180420 + + + +--exec [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI] +-- ============================================= +-- Author: +-- Create date: <2018/03/06> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_20180420] +@idFkzip int +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Estrazione dei record + SELECT DISTINCT + C6MartPeriodico.GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale + into #t + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip + + -- Conteggio dei report generati per ciascuna coppia Rete-CodiceFiscale (Se uno solo di tipo M oppure due, di tipo D + tipo M) + select + #t.Rete, + #t.CodiceFiscale, + count(*) as cont + into #t1 + from #t inner join C6MartPeriodico.GESTIONE_PDF_FTP + on #t.Rete = C6MartPeriodico.GESTIONE_PDF_FTP.Rete + and #t.CodiceFiscale = C6MartPeriodico.GESTIONE_PDF_FTP.CodiceFiscale + group by #t.Rete, #t.CodiceFiscale + + -- Composizione della riga da scrivere nel file IDX + select + #t1.cont as Tipo, + [C6MartPeriodico].CONCATENA(#t.Rete, #t.CodiceFiscale) as Riga + from #t inner join #t1 + on #t.Rete = #t1.Rete + and #t.CodiceFiscale = #t1.CodiceFiscale + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20240225.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20240225.sql new file mode 100644 index 00000000..e18be05d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20240225.sql @@ -0,0 +1,58 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_FTP_INVIATI_20240225 + + + + +--exec [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI] +-- ============================================= +-- Author: +-- Create date: <2018/03/06> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_20240225] --'' +@idFkzip int +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Estrazione dei record + SELECT DISTINCT + C6MartPeriodico.GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale + into #t + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + + + -- Conteggio dei report generati per ciascuna coppia Rete-CodiceFiscale (Se uno solo di tipo M oppure due, di tipo D + tipo M) + select + #t.Rete, + #t.CodiceFiscale, + count(*) as cont + into #t1 + from #t inner join C6MartPeriodico.GESTIONE_PDF_FTP + on #t.Rete = C6MartPeriodico.GESTIONE_PDF_FTP.Rete + and #t.CodiceFiscale = C6MartPeriodico.GESTIONE_PDF_FTP.CodiceFiscale + group by #t.Rete, #t.CodiceFiscale + + -- Composizione della riga da scrivere nel file IDX + select + [C6MartPeriodico].CONCATENA_20240225(#t.Rete, #t.CodiceFiscale) as Riga, + #t1.cont as Tipo + from #t inner join #t1 + on #t.Rete = #t1.Rete + and #t.CodiceFiscale = #t1.CodiceFiscale + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME.sql new file mode 100644 index 00000000..8cbb1def --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME.sql @@ -0,0 +1,59 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME + + + +--exec [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME] +-- ============================================= +-- Author: +-- Create date: <2018/03/06> +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME] +@idFkzip int +AS +BEGIN + + SET NOCOUNT ON; + + SELECT DISTINCT + [C6MartPeriodico].GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale, + (case when tiporeport = 'D' then '' else NomeFile end) as NomeFile + into #t + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip + + -- Conteggio dei report generati per ciascuna coppia Rete-CodiceFiscale (Se uno solo di tipo M oppure due, di tipo D + tipo M) + select + #t.Rete, + #t.CodiceFiscale, + count(*) as cont + into #t1 + from #t inner join C6MartPeriodico.GESTIONE_PDF_FTP + on #t.Rete = C6MartPeriodico.GESTIONE_PDF_FTP.Rete + and #t.CodiceFiscale = C6MartPeriodico.GESTIONE_PDF_FTP.CodiceFiscale + group by #t.Rete, #t.CodiceFiscale + + -- Composizione della riga da scrivere nel file IDX + select + [C6MartPeriodico].CONCATENA(#t.Rete, #t.CodiceFiscale) as Riga, + #t.NomeFile, + #t1.cont as Tipo + from #t inner join #t1 + on #t.Rete = #t1.Rete + and #t.CodiceFiscale = #t1.CodiceFiscale + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180308_PreIDX2.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180308_PreIDX2.sql new file mode 100644 index 00000000..f01e9a98 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180308_PreIDX2.sql @@ -0,0 +1,26 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180308_PreIDX2 + + + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180308_PreIDX2] +@idFkzip int +AS +BEGIN + SET NOCOUNT ON; + + SELECT DISTINCT + [C6MartPeriodico].CONCATENA(C6MartPeriodico.GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale) AS riga , (case when tiporeport = 'D' then '' else NomeFile end) as NomeFile + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180420.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180420.sql new file mode 100644 index 00000000..4c8a74d8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180420.sql @@ -0,0 +1,59 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180420 + + + +--exec [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME] +-- ============================================= +-- Author: +-- Create date: <2018/03/06> +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180420] +@idFkzip int +AS +BEGIN + + SET NOCOUNT ON; + + SELECT DISTINCT + [C6MartPeriodico].GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale, + (case when tiporeport = 'D' then '' else NomeFile end) as NomeFile + into #t + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip + + -- Conteggio dei report generati per ciascuna coppia Rete-CodiceFiscale (Se uno solo di tipo M oppure due, di tipo D + tipo M) + select + #t.Rete, + #t.CodiceFiscale, + count(*) as cont + into #t1 + from #t inner join C6MartPeriodico.GESTIONE_PDF_FTP + on #t.Rete = C6MartPeriodico.GESTIONE_PDF_FTP.Rete + and #t.CodiceFiscale = C6MartPeriodico.GESTIONE_PDF_FTP.CodiceFiscale + group by #t.Rete, #t.CodiceFiscale + + -- Composizione della riga da scrivere nel file IDX + select + #t1.cont as Tipo, + [C6MartPeriodico].CONCATENA(#t.Rete, #t.CodiceFiscale) as Riga, + #t.NomeFile + from #t inner join #t1 + on #t.Rete = #t1.Rete + and #t.CodiceFiscale = #t1.CodiceFiscale + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_prova_20141223.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_prova_20141223.sql new file mode 100644 index 00000000..ebd79caa --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_prova_20141223.sql @@ -0,0 +1,74 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_FTP_INVIATI_prova_20141223 + + + + + + + +--exec sp_recompile '[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI]' +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_prova_20141223] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @idFkzip int + + select @idFkzip = max(id_fk_zip) + from c6martperiodico.gestione_pdf_ftp_prova_20141223 + + + +print @idFkzip +-- Facciate(6)CppBollettini(2)IDENTIFICATIVODOCUMENTO(50)NOMINATIVODESTINATARIO(50)VIA(50)CAP(5)LOCALITA(50)PROVINCIA(2)NAZIONE(1)TIPOPOSTALIZZAZIONE(2)FILESPOOL(50)ALLEGATO1(1)ALLEGATO1(2)NAZIONEESTERA(30) +--FacciateXXXXX(6)00CodiceFiscale(50)NOMINATIVODESTINATARIO(50)VIA(50)CAP(5)LOCALITA(50)PROVINCIA(2)IoE(1)PE(2)NOMEFILE(50)0(1)0(2)NAZIONEESTERA(30) +-- (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) +-- + '00' --CppBollettini(2) +-- + ' ' --IDENTIFICATIVODOCUMENTO(50) +-- + LEFT(isnull(ANAG_CLIENTI.Cognome,'COGNOME') + ' ' + ISNULL(ANAG_CLIENTI.Nome,'NOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) +-- + LEFT(CONTRATTOSEI.Indirizzo + ' ',50) --VIA(50) +-- + LEFT(CONTRATTOSEI.CAP + ' ',5) --CAP(5) +-- + LEFT(CONTRATTOSEI.Citta + ' ',50) --LOCALITA(50) +-- + LEFT(CONTRATTOSEI.Prov + ' ',2)--PROVINCIA(2) +-- + (CASE UPPER(CONTRATTOSEI.Nazione) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) +-- + 'PE' --TIPOPOSTALIZZAZIONE(2) +-- + LEFT(GESTIONE_PDF_FTP.NomeFile + ' ',50)--NOMEFILE(50) +-- + '0' --0(1) +-- + '0' --0(2) +-- + LEFT((CASE UPPER(CONTRATTOSEI.Nazione) WHEN 'ITALIA' THEN '' ELSE CONTRATTOSEI.Nazione END) + ' ',30)) -- NAZIONEESTERA(30) +-- + SELECT DISTINCT + --codiceFiscale, + --id_fk_zip, + [C6MartPeriodico].CONCATENA_prova_20141223(C6MartPeriodico.GESTIONE_PDF_FTP_prova_20141223.Rete, C6MartPeriodico.GESTIONE_PDF_FTP_prova_20141223.CodiceFiscale) AS riga + + FROM C6MartPeriodico.GESTIONE_PDF_FTP_prova_20141223 + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP_prova_20141223.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP_prova_20141223.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP_prova_20141223.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP_prova_20141223.CodiceFiscale + WHERE --DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 +-- OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0 + GESTIONE_PDF_FTP_prova_20141223.id_fk_zip = @idFkzip -- 351 + --(select max(id_fk_zip) + -- from c6martperiodico.gestione_pdf_ftp + --) + --order by codiceFiscale +END + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_WHITELIST.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_WHITELIST.sql new file mode 100644 index 00000000..15e413c8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_FTP_WHITELIST.sql @@ -0,0 +1,62 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_FTP_WHITELIST + +-- Stored procedure + +--[C6MartPeriodico].[GESTIONE_SELECT_FTP_WHITELIST]343 +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_WHITELIST] +@IdZip as INT +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + SELECT DISTINCT + contrattosei.cod_fiscale,contrattosei.rete, + [C6MartPeriodico].[CONCATENA_WHITELIST](C6MartPeriodico.GESTIONE_PDF_FTP.Rete, C6MartPeriodico.GESTIONE_PDF_FTP.CodiceFiscale, @IdZip) AS riga + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + + GESTIONE_PDF_FTP.id_fk_zip = @IdZip + AND + contrattosei.rete+CONTRATTOSEI.COD_FISCALE NOT IN (SELECT rete+CodiceFiscale FROM C6MartPeriodico.ExcludedList where bloccato = 1) + + UPDATE C6MARTPERIODICO.CONTROLLO_TRIMESTRALE SET + STATO_REPORT = 8, + DATA_TRANSIZIONE=GETDATE() + WHERE STATO_REPORT=6 + AND + cod_fiscale+rete in + (select codicefiscale+rete + from c6martperiodico.gestione_pdf_ftp + where id_fk_zip=@idZIP + ) + AND + RETE+cod_fiscale NOT IN (SELECT rete+CodiceFiscale FROM C6MartPeriodico.ExcludedList where bloccato = 1) + + + UPDATE C6MARTPERIODICO.CONTROLLO_TRIMESTRALE SET + STATO_REPORT = 7, + DATA_TRANSIZIONE=GETDATE() + WHERE STATO_REPORT=9 + AND + cod_fiscale+rete in + (select codicefiscale+rete + from c6martperiodico.gestione_pdf_ftp + where id_fk_zip=@idZIP + ) + AND + RETE+cod_fiscale IN (SELECT rete+CodiceFiscale FROM C6MartPeriodico.ExcludedList where bloccato = 1) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_HOST.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_HOST.sql new file mode 100644 index 00000000..61218a77 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_HOST.sql @@ -0,0 +1,66 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_HOST + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_HOST] + AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --FTP + SELECT +-- null idFtp, +-- null idEmail, +--C6Mart.GESTIONE_PDF_FTP.*, + ([C6MartPeriodico].GESTIONE_PDF_FTP.Rete + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale + right('00000000000' + + --C6Mart.CONTRATTOSEI.CodiceContratto,11 + v.CodiceContratto,11 + ) + + 'C' + + + (Case TipoReport when 'D' then 'LD' + when 'LR' then 'LR' + when 'M' then 'LM' + else TipoReport end) + + + (Case TipoReport when 'D' then CONVERT(VARCHAR(10), [C6MartPeriodico].GESTIONE_PDF_FTP.DataInvio, 112) + when 'LR' then CONVERT(VARCHAR(10), [C6MartPeriodico].GESTIONE_PDF_FTP.DataInvioRistampa, 112) + when 'M' then CONVERT(VARCHAR(10), [C6MartPeriodico].GESTIONE_PDF_FTP.DataInvio, 112) else null end)) as riga + + + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MartPeriodico.vContrattiPerGenerazioneReport v --C6Mart.VCONTRATTOSEI + ON v.Rete = [C6MartPeriodico].GESTIONE_PDF_FTP.Rete + and v.COD_FISCALE = [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON [C6MartPeriodico].ANAG_CLIENTI.Rete = [C6MartPeriodico].GESTIONE_PDF_FTP.Rete + and [C6MartPeriodico].ANAG_CLIENTI.COD_FISCALE = [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale +-- WHERE DAY(C6Mart.GESTIONE_PDF_FTP.DataInvio) = DAY(GETDATE()) +-- AND MONTH(GETDATE()) = MONTH(C6Mart.GESTIONE_PDF_FTP.DataInvio) +-- AND YEAR(GETDATE()) = YEAR(C6Mart.GESTIONE_PDF_FTP.DataInvio) + WHERE DATEDIFF(DAY,isnull([C6MartPeriodico].GESTIONE_PDF_FTP.DataInvio,[C6MartPeriodico].GESTIONE_PDF_FTP.DataInvioRistampa),GETDATE()) = 0 + and isnull(data_fineAvanzato,cast('99991231' as datetime)) > c6martperiodico.getTrimestre(getDate(),0) +-- UNION ALL +-- --EMAIL +-- SELECT +-- null idFtp, +-- C6Mart.GESTIONE_EMAIL.Email_Id idEmail, +-- ('Rete:' + isnull(C6Mart.GESTIONE_EMAIL.Rete,'') + ';' + 'CodiceFiscale:' + isnull(C6Mart.GESTIONE_EMAIL.Cod_Fiscale,'') + ';' + 'Codice Contratto:' + isnull(C6Mart.CONTRATTOSEI.CodiceContratto,'') + ';' + 'Tipo Invio:' + 'E' + ';' + 'Tipo Comunicazione:' + 'EI' + ';' + 'Data Invio al Cliente:' + isnull(CONVERT(VARCHAR(10), C6Mart.GESTIONE_EMAIL.Data_Invio, 112),'')) as riga +-- FROM C6Mart.GESTIONE_EMAIL +-- INNER JOIN C6Mart.CONTRATTOSEI +-- ON C6Mart.CONTRATTOSEI.Rete = C6Mart.GESTIONE_EMAIL.Rete +-- and C6Mart.CONTRATTOSEI.COD_FISCALE = C6Mart.GESTIONE_EMAIL.Cod_Fiscale +-- INNER JOIN C6Mart.ANAG_CLIENTI +-- ON C6Mart.ANAG_CLIENTI.Rete = C6Mart.GESTIONE_EMAIL.Rete +-- and C6Mart.ANAG_CLIENTI.COD_FISCALE = C6Mart.GESTIONE_EMAIL.Cod_Fiscale +-- WHERE Data_Comunicazione_Host is null +-- and C6Mart.GESTIONE_EMAIL.Data_Invio is not null + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_LAST_ELAB_ZIP.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_LAST_ELAB_ZIP.sql new file mode 100644 index 00000000..68bd5ae3 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_LAST_ELAB_ZIP.sql @@ -0,0 +1,16 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_LAST_ELAB_ZIP + + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_LAST_ELAB_ZIP] +AS +BEGIN + + SELECT IDElaborazioneZip, DataFine + FROM [C6MartPeriodico].ELABORAZIONI_ZIP + WHERE IDElaborazioneZip = (SELECT MAX(IDElaborazioneZip) + FROM [C6MartPeriodico].ELABORAZIONI_ZIP) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_LAST_ZIP.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_LAST_ZIP.sql new file mode 100644 index 00000000..47f90f27 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_LAST_ZIP.sql @@ -0,0 +1,43 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_LAST_ZIP + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- Inserimento nuovo [C6Mart].[GESTIONE_INSERT_ZIP] -1,'NomeFileOk','NomeFileOk' +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_LAST_ZIP] +AS +BEGIN + + DECLARE @IdZip AS INT + SET @IdZip = -1 + + DECLARE @NomeCartella AS VARCHAR(255) + Declare @NomeFile as varchar(50) + Declare @NumeroCFZip as int + --recupero idzip se Esiste insieme al NomeCartella + + SELECT @IdZip=id,@NomeCartella=NomeCartella,@NomeFile =NomeFile + FROM + C6MartPeriodico.GESTIONE_ZIP_FTP + WHERE + FlagInvio = 'N' + AND DateCopyToSend IS NULL + + -- Se la generazione file Zip in fase di ripartenza ( FlagInvio = 'N' + -- AND DateCopyToSend IS NULL ) conto il Numero dei Clienti relativo ai report gi copiati + -- nella cartella di appoggio(NomeCartella) + IF @IdZip > -1 Begin + select @NumeroCFZip=count( *) + from ( + select distinct rete,codicefiscale + from c6martperiodico.gestione_pdf_ftp + where id_fk_zip=@IdZip) a + end + --SELECT @IdZip IdZip, @NomeCartella NomeCartella,@NomeFile + select @IdZip IdZip,@NomeFile NomeFile,@NomeCartella NomeCartella,@NumeroCFZip NumeroCFZip + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql new file mode 100644 index 00000000..5a01edd9 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql @@ -0,0 +1,133 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_LETTERE_DA_INVIARE + + + + + + +--[C6MartPeriodico].[GESTIONE_SELECT_LETTERE_DA_INVIARE]'F','CSCGPP34A03L050L',106,-1,'Monitoraggio' + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_LETTERE_DA_INVIARE] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' + + +AS +BEGIN + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() + --Modifica per la variazione di testo nella lettera di accompagnamento nel caso di diagnosi + + IF @codiceLettera in (7,8) AND @tipoReport = 'DIAGNOSI' + SET @codiceLettera = @codiceLettera + 2 + + --aggiunto controllo per clienti speciali in data 21/09/2020 + + IF @rete+@cf in (select rete+codFis from [C6MartPeriodico].[GESTIONE_TESTO_PARTICOLARE_LETTERE_DA_INVIARE] where flagAttivo = 1) AND @tipoReport = 'DIAGNOSI' + begin + IF @rete = 'F' + begin + SET @codiceLettera = 110 + print @codiceLettera + end + IF @rete = 'S' + begin + SET @codiceLettera = 111 + print @codiceLettera + end + end + + SELECT + c6martperiodico.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + + + + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, + + + + +csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.prov end as provincia, + case when (upper(csei.nazione) <> 'ITALIA') then '' else csei.cap end as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + + c6martperiodico.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_Monitor, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.Data_Sott, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) as testo, + + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma, + 0 as pagina + + FROM + [C6MartPeriodico].[TESTO_LETTERA_ACCETTAZIONE] tla, + [C6MartPeriodico].[CONTRATTOSEI] csei + INNER JOIN + [C6MartPeriodico].[ANAG_CLIENTI] aclie + on + csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + LEFT OUTER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP gpdf + on + gpdf.rete = csei.rete and + gpdf.codiceFiscale = csei.cod_fiscale + + + WHERE + csei.rete = @rete and + csei.cod_Fiscale = @cf and + tla.id = @codiceLettera and + (gpdf.idReport = @idReport or @idreport = -1) + AND isnull(csei.data_fineavanzato,'99991231') > c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getDate(),-1),0) + +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql new file mode 100644 index 00000000..ec971594 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql @@ -0,0 +1,126 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina + + + + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' + + +AS +BEGIN + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() + --Modifica per la variazione di testo nella lettera di accompagnamento nel caso di diagnosi + + IF @codiceLettera in (7,8) AND @tipoReport = 'DIAGNOSI' + SET @codiceLettera = @codiceLettera + 2 + + --aggiunto controllo per clienti speciali in data 21/09/2020 + + IF @rete+@cf in (select rete+codFis from [C6MartPeriodico].[GESTIONE_TESTO_PARTICOLARE_LETTERE_DA_INVIARE] where flagAttivo = 1) AND @tipoReport = 'DIAGNOSI' + begin + IF @rete = 'F' + begin + SET @codiceLettera = 110 + print @codiceLettera + end + IF @rete = 'S' + begin + SET @codiceLettera = 111 + print @codiceLettera + end + end + + SELECT + c6martperiodico.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + + + + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, + + + + +csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.prov end as provincia, + case when (upper(csei.nazione) <> 'ITALIA') then '' else csei.cap end as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + + c6martperiodico.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_Monitor, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.Data_Sott, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) as testo, + + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma, + 0 as pagina + + FROM + [C6MartPeriodico].[TESTO_LETTERA_ACCETTAZIONE_Rosaspina] tla, + [C6MartPeriodico].[CONTRATTOSEI] csei + INNER JOIN + [C6MartPeriodico].[ANAG_CLIENTI] aclie + on + csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + LEFT OUTER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP gpdf + on + gpdf.rete = csei.rete and + gpdf.codiceFiscale = csei.cod_fiscale + + + WHERE + csei.rete = @rete and + csei.cod_Fiscale = @cf and + tla.id = @codiceLettera and + (gpdf.idReport = @idReport or @idreport = -1) + -- AND isnull(csei.data_fineavanzato,'99991231') > c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getDate(),-1),0) + -- 22/12/2022 commentata la condizione di sopra che per me non ha senso di esistere in quanto in trim sono presenti solo clienti che devono avere il report + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_NUM_MAX_ELABORAZIONI_EMAIL_RNA.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_NUM_MAX_ELABORAZIONI_EMAIL_RNA.sql new file mode 100644 index 00000000..a8524926 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_NUM_MAX_ELABORAZIONI_EMAIL_RNA.sql @@ -0,0 +1,18 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_NUM_MAX_ELABORAZIONI_EMAIL_RNA + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_NUM_MAX_ELABORAZIONI_EMAIL_RNA] +AS +BEGIN + + SET NOCOUNT ON; + + select CAST(dbo.getParametro('MaxInvioSoll_Periodico') AS INT) as numMaxSolleciti + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql new file mode 100644 index 00000000..24fba119 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql @@ -0,0 +1,27 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22/12/2008 +-- Description: Per gestione richieste di reinvio PDF da parte di utenti HD o US +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO] + @IdReport INT +AS +BEGIN + + declare @ritorno as int + set @ritorno = 1 + + select @ritorno = 0 + from C6MartPeriodico.GESTIONE_PDF_FTP A + inner join (select Rete, CodiceFiscale FROM C6MartPeriodico.GESTIONE_PDF_FTP WHERE IdReport = @IdReport) B + on A.Rete = B.Rete + and A.CodiceFiscale = B.CodiceFiscale + and TipoReport = 'LR' + and FlagInvio = 'N' + + select @ritorno +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql new file mode 100644 index 00000000..3595513b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql @@ -0,0 +1,112 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE + + + + + + + + + + + + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + + DECLARE @dtrim VARCHAR(8) + set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + --set @dtrim = '20230331' + + + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6stagingPeriodico].[WSEIAN2] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6stagingPeriodico].[WSEIAN2] + WHERE codman <> '' and dttrim = @dtrim + )X + + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + and flag_stampa=1 + and tip_contratto<>3 --prendo quelli SEI + + update t set flag_stampa=2 + from c6martperiodico.TB_Campione t where cod_fiscale in diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA.sql new file mode 100644 index 00000000..2bfdcf87 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA.sql @@ -0,0 +1,108 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA + + + + + + + + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + + DECLARE @dtrim VARCHAR(8) + set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + --set @dtrim = '20230331' + + + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6MartPeriodico].[WSEIAN2] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6MartPeriodico].[WSEIAN2] + WHERE codman <> '' and dttrim = @dtrim + )X + + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione_DA Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + and flag_stampa=1 + and tip_contratto=3 --prendo quelli Fideuram Direct\ Direct Advisory + + update t set flag_stampa=2 + from c6martperiodico.TB_Campione_DA diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_Francesco.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_Francesco.sql new file mode 100644 index 00000000..f73e1cc0 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_Francesco.sql @@ -0,0 +1,106 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_Francesco + + + + + + + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_Francesco] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + + DECLARE @dtrim VARCHAR(8) + --set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + set @dtrim = '20240229' + + + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' and dttrim = @dtrim + )X + + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione_DA Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + and flag_stampa=1 + and tip_contratto=3 --prendo quelli Fideuram Direct\ Direct Advisory + + --update t set flag_stampa=2 + -- from c6martperiodico.TB_Campione_DA t wher diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FOR_STATISTICS.obs.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FOR_STATISTICS.obs.sql new file mode 100644 index 00000000..e4d18df0 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FOR_STATISTICS.obs.sql @@ -0,0 +1,100 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FOR_STATISTICS.obs + + + + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FOR_STATISTICS] +(@VolThreads int = 100000) +AS +BEGIN + SET NOCOUNT ON; + declare @dataTrimestre as datetime + declare @dataTrimestrePRec as datetime + +SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0), +@dataTrimestrePRec=c6martperiodico.getPreviousTrimestre(getDate(),0) + + + SELECT DISTINCT + + contratti.Cod_Fiscale CodiceFiscale + + FROM [C6MartPeriodico].contrattoSEI contratti + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF +--left join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --modificata da Valerio 12 marzo 2012 + --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6martperiodico.monitoraggio_attuale monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + left join c6martperiodico.monitoraggio_iniziale monitInit + on patrimonioBF.rete = monitInit.rete + and patrimonioBF.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport + on patrimonioBF.rete = monitReport.rete + and patrimonioBF.cod_fiscale = monitReport.cod_fiscale + + + inner join c6martperiodico.TB_Campione Campione + on contratti.rete= Campione.rete and contratti.cod_fiscale= Campione.cod_fiscale + and flag_stampa=1 + WHERE 1=1 +-- DA ELIMINARE .... IL CAMPIONE DEVE ESSERE INSERITO E GESTITO NELLA TABELLA c6martperiodico.TB_CAMPIONE + --and contratti.rete+contratti.cod_fiscale in + --( + --select rete+cod_fiscale from c6martperiodico.TB_CAMPIONE + --) + + +--and contratti.rete+contratti.cod_fiscale in +--( +--'FGSPLSN31B26E648J', +--'FVSNPTR31L14B402B', +--'FBRGFBA61P09B639N' + + + +--) + + + +--insert into c6martperi diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Francesco.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Francesco.sql new file mode 100644 index 00000000..c05aac93 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Francesco.sql @@ -0,0 +1,109 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Francesco + + + + + + + + + + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Francesco] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + + DECLARE @dtrim VARCHAR(8) + --set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + --set @dtrim = '20231130' --simulazione + set @dtrim = '20240229' + + + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' and dttrim = @dtrim + )X + + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + and flag_stampa=1 + --and CodiceFiscale = 'SVNPTR37B21D725U' + --and tip_contratto<>3 --prendo quelli diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_PK.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_PK.sql new file mode 100644 index 00000000..8ada3c01 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_PK.sql @@ -0,0 +1,102 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_PK + + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_PK] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + + DECLARE @dtrim VARCHAR(8) + set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman <> '' and dttrim = @dtrim + )X + + SELECT Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + --and rank=1 + --and flag_stampa=1 + and Maledetti.[CodiceFiscale] = 'MSATTL51L23E648U' + +select * from #result +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Pino.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Pino.sql new file mode 100644 index 00000000..ff2fcac8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Pino.sql @@ -0,0 +1,104 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Pino + + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Pino] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + + DECLARE @dtrim VARCHAR(8) + set @dtrim = c6martperiodico.gettrimestre(getDate(),0)-201 + + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' and dttrim = @dtrim + )X + + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + and flag_stampa=1 + + update t set flag_stampa=2 + from c6martperiodico.TB_Campione t where cod_fiscale in (select CodiceFiscale from #result) + +select * from #result +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_NonOptimized.obs.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_NonOptimized.obs.sql new file mode 100644 index 00000000..0f914c44 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_NonOptimized.obs.sql @@ -0,0 +1,96 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_NonOptimized.obs + + + + + + + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_NonOptimized] --10 +(@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + declare @dataTrimestre as datetime + declare @dataTrimestrePRec as datetime + +SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0), +@dataTrimestrePRec=c6martperiodico.getPreviousTrimestre(getDate(),0) + + + + + Select distinct top (@volThreads) contratti.Cod_Fiscale + into #ct + FROM [C6MartPeriodico].contrattoSEI contratti + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF +--left join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --modificata da Valerio 12 marzo 2012 + --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6martperiodico.monitoraggio_attuale monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + left join c6martperiodico.monitoraggio_iniziale monitInit + on patrimonioBF.rete = monitInit.rete + and patrimonioBF.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport + on patrimonioBF.rete = monitReport.rete + and patrimonioBF.cod_fiscale = monitReport.cod_fiscale + + + inner join c6martperiodico.TB_Campione Campione + on contratti.rete= Campione.rete and contratti.cod_fiscale= Campione.cod_fiscale + and flag_stampa=1 + + + + + + SELECT DISTINCT + --DATI COMUNI + --RETE + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_ONDEMAND_OPT_EN.obs.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_ONDEMAND_OPT_EN.obs.sql new file mode 100644 index 00000000..70050a85 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_ONDEMAND_OPT_EN.obs.sql @@ -0,0 +1,83 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_ONDEMAND_OPT_EN.obs + + + + + + + + + + +CREATE PROCEDURE [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_ONDEMAND_OPT_EN] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + + + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio + into #result + FROM wh.Maledetti Maledetti + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale +---- inner join c6martperiodico.TB_Campione_ONDEMAND Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale +---- and flag_stampa=1 + WHERE 1=1 +and codiceFiscale in ( +'LCRTMS53A29A271R' +) +---- +---- update t set flag_stampa=2 +---- from c6martperiodico.TB_Campione_ONDEMAND t where cod_fiscale in (select CodiceFiscale from #result) +---- +select * from #result +END + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_luca.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_luca.sql new file mode 100644 index 00000000..96106f81 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_luca.sql @@ -0,0 +1,108 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_luca + + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_luca] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + + DECLARE @dtrim VARCHAR(8) + set @dtrim = '20201231' + + + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman <> '' and dttrim = @dtrim + )X + + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + and flag_stampa=1 + + update t set flag_stampa=2 + from c6martperiodico.TB_Campione t where cod_fiscale in (select CodiceFiscale from #result) + +select * from #result +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano.sql new file mode 100644 index 00000000..e1283222 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano.sql @@ -0,0 +1,110 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano + + + + + + + + +--[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano] 10 +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + + DECLARE @dtrim VARCHAR(8) + set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + --set @dtrim = '20180630' + + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman <> '' and dttrim = @dtrim + )X + + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE 1=1 + and rank=1 + and codiceFiscale in ( +'TMPFDN42P05B648Q' + ) + + + +select * from #result +END + + +--exec [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano] 1000 + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano_PROVAPROF.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano_PROVAPROF.sql new file mode 100644 index 00000000..36cda890 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano_PROVAPROF.sql @@ -0,0 +1,121 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano_PROVAPROF + + + + + + +--[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano] 10 +create procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano_PROVAPROF] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + + DECLARE @dtrim VARCHAR(8) + --set @dtrim = select c6martperiodico.gettrimestre(getDate(),0) + set @dtrim = '20180531' + + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman <> '' and dttrim = @dtrim + )X + + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +--,Maledetti.[idModelloDiagnosi] +,5 as idModelloDiagnosi +--,Maledetti.[idReportDiagnosi] +,1 as idReportDiagnosi +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + + --CASE + -- WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + -- ELSE wse.FLGPROF + --END as 'FLGPROF' + 'S' as FLGPROF + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE 1=1 + + + +and codiceFiscale in ( + +'BDCGNN45T31H223V' + +) + +select * from #result +END + + + + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_EN.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_EN.sql new file mode 100644 index 00000000..9624aca8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_EN.sql @@ -0,0 +1,126 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_EN + + + + + + + + + + + + + + + + + + + + + + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_EN] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + + DECLARE @dtrim VARCHAR(8) + set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman <> '' and dttrim = @dtrim + )X + + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE 1=1 + and rank=1 + and codiceFiscale in ( +'BZZDNL44P18G927I', --con /rend + --'FRRFBA63P19D704L' -- sostituisce TC TMSRRT59R13L967T +'TRNLRT63C18L826X', -- on page 16 black spot isnt aligned on chart of chapter Piani d'Accumulo +--'TTVNNA39S64H935H', +'STTLNZ56R58L781G' --nota sovrascrive linea rosso, perch spazio sotto tabella non disponibile +--------'02477630582' --suore problema con sezione Dettaglio Prodotti +--, --suore: mancano progetti delle are Inv e Ris +--'GRSRRT58A28E379O', --- PL_S85RendimentoPortafoglioCono Ris Default orizzonte_mesi=0 +--'GSNMDL32E57I470S', --- PL_S85RendimentoPortafoglioCono Ris Default orizzonte_mesi=0, ma non monitorato +--'TMSRRT59R13L967T', --per nota spazio disponibile sotto tabella +--'CSLLFA49H25F004M', +--'MTTGLG26T01F205L' + +--'MRTVNT41H17C740W', +--'DNDG diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca.sql new file mode 100644 index 00000000..7a6c3837 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca.sql @@ -0,0 +1,104 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca + +-- [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca] 10 +CREATE PROCEDURE [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca] +@volThreads int = 10000 +WITH EXEC AS CALLER +AS +BEGIN + SET NOCOUNT ON; + + DECLARE @dtrim VARCHAR(8) + --set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + set @dtrim = '20200630' + + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman <> '' and dttrim = @dtrim + )X + + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +--,5 as [idModelloDiagnosi] +--,1 as [idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE 1=1 + and rank=1 + --and codiceFiscale = '02477630582'-- 'BTTMRS67A69F839N'-- + --and codiceFiscale = '80002590711' -- HA 4+4 CON PROTEZIONE ED E' SEI PRIVATE + --and codiceFiscale in ('BBNLSN51E27D612T') --HA INTERFUND CON PROTEZIONE ED E' SEI + --and codiceFiscale in ('BCCFNC79H62F205H') --HA FONDITALIA CON PROTEZIONE ED E' SEI + --and codiceFiscale in ('CHTDRA58S17D969J') --HA 4+4 CON PROTEZIONE ED E' SEI PRIVATE + --and codiceFiscale in ('MRNNMR31D50D969T') --HA 4+4 CON PROTEZIONE ED E' SEI PRIVATE + --and codiceFiscale in ('TZZMGB41H57F241X') --HA 4+4 CON PROTEZIONE ED E' SEI + + --and codiceFiscale in ('BCCRRT43T09H449J') -- HA INTERFUND E FONDIT diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO.sql new file mode 100644 index 00000000..e5294867 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO.sql @@ -0,0 +1,112 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO + + + + + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO] (@volThreads int) +AS +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED + +BEGIN TRANSACTION + +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 + +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + + + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab = @elab + + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab = @elab + END + + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_DA.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_DA.sql new file mode 100644 index 00000000..0fa347b7 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_DA.sql @@ -0,0 +1,112 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_DA + + + + + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_DA] (@volThreads int) +AS +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED + +BEGIN TRANSACTION + +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 + +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + + + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab = @elab + + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab = @elab + END + + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + + CASE + WHEN wse.FLGPROF IS NULL or wse.FLG diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti.sql new file mode 100644 index 00000000..3d076a16 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti.sql @@ -0,0 +1,87 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti + + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti] +(@volThreads int) +AS +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED + +BEGIN TRANSACTION + +declare @dataTrimestre as datetime +SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + +----EN20170712: begin +-- ;with WSEIAN_1 as +-- ( +-- select codfis, rete, flagnqp, flgprlrde, FLAGPG, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank +-- from [C6StagingPeriodico].[WSEIAN] +-- WHERE codman = '' +-- UNION ALL +-- select 'FF@'+ codman as codfis, rete, 'N' as flagnqp, null as flgprlrde, null asFLAGPG, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank +-- from [C6StagingPeriodico].[WSEIAN] +-- WHERE codman <> '' +-- ) +----EN20170712: end +--EN20171024: begin + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) +--EN20171024: end +SELECT DISTINCT TOP(@volThreads) + --DATI COMUNI + --RETE + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --*********************************************************************************************** + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + --***************************************************************************************************** + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,0 AS NoMonitoraggio + ,'Diagnosi' as descrizioneDiagnosi + ,-1 idModelloDiagnosi + ,-1 AS idReportDiagnosi + ,'Monitoraggio' as descrizioneMonitoraggio + ,4 as idReportMonitoraggio + ,14 AS idModelloMonitoraggio + --************************************************* + ,0 A diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_CAMPIONE.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_CAMPIONE.sql new file mode 100644 index 00000000..c6b98814 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_CAMPIONE.sql @@ -0,0 +1,87 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_CAMPIONE + + + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_CAMPIONE] +(@volThreads int = 10000) +AS +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED + +BEGIN TRANSACTION + +declare @dataTrimestre as datetime +SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + +----EN20170712: begin +-- ;with WSEIAN_1 as +-- ( +-- select codfis, rete, flagnqp, flgprlrde, FLAGPG, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank +-- from [C6StagingPeriodico].[WSEIAN] +-- WHERE codman = '' +-- UNION ALL +-- select 'FF@'+ codman as codfis, rete, 'N' as flagnqp, null as flgprlrde, null asFLAGPG, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank +-- from [C6StagingPeriodico].[WSEIAN] +-- WHERE codman <> '' +-- ) +----EN20170712: end +--EN20171024: begin + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) +--EN20171024: end +SELECT DISTINCT TOP(@volThreads) + --DATI COMUNI + --RETE + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --*********************************************************************************************** + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + --***************************************************************************************************** + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,0 AS NoMonitoraggio + ,'Diagnosi' as descrizioneDiagnosi + ,-1 idModelloDiagnosi + ,-1 AS idReportDiagnosi + ,'Monitoraggio' as descrizioneMonitoraggio + ,4 as idReportMonitoraggio + ,14 AS idModelloMonitoraggio + --**************************************** diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano.sql new file mode 100644 index 00000000..8ee81054 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano.sql @@ -0,0 +1,85 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano + + +-- exec [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano] 10 +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano] +(@volThreads int) +AS +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED + +BEGIN TRANSACTION + +declare @dataTrimestre as datetime +SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + +----EN20170712: begin +-- ;with WSEIAN_1 as +-- ( +-- select codfis, rete, flagnqp, flgprlrde, FLAGPG, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank +-- from [C6StagingPeriodico].[WSEIAN] +-- WHERE codman = '' +-- UNION ALL +-- select 'FF@'+ codman as codfis, rete, 'N' as flagnqp, null as flgprlrde, null asFLAGPG, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank +-- from [C6StagingPeriodico].[WSEIAN] +-- WHERE codman <> '' +-- ) +----EN20170712: end +--EN20171024: begin + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman <> '' + ) +--EN20171024: end +SELECT DISTINCT TOP(@volThreads) + --DATI COMUNI + --RETE + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --*********************************************************************************************** + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + --***************************************************************************************************** + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,0 AS NoMonitoraggio + ,'Diagnosi' as descrizioneDiagnosi + ,-1 idModelloDiagnosi + ,-1 AS idReportDiagnosi + ,'Monitoraggio' as descrizioneMonitoraggio + ,4 as idRep diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE.sql new file mode 100644 index 00000000..f7c6d9a2 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE.sql @@ -0,0 +1,66 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_REPORTS_ERRATACORRIGE + +--[C6MartPeriodico].[GESTIONE_SELECT_REPORTS_ERRATACORRIGE] + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_REPORTS_ERRATACORRIGE] + +as +begin + + select + b.Rete, + b.CodiceFiscale, + b.IdReport, + b.TipoReport, + b.DataGenerazione, + b.DataInvio, + b.DataInvioRistampa, + b.FlagInvio, + b.NomeFile, + b.numeroPagine, + b.ID_ELAB, + b.id_Fk_zip, + b.Definitivo, + b.CodiceContratto, + b.identityReport, + convert(varchar(10), IdReport) + '_' + NomeFile + '.pdf' as nomeFileReportGenerato + from [C6MartPeriodico].[clienti_brochure] a + inner join C6MartPeriodico.Gestione_PDF_FTP b + on a.rete = b.rete + and a.cod_fiscale = b.codicefiscale + + -- TEST + + --create table #clienti_brochure ( + --[rete] [char](1), + --[cod_fiscale] [varchar](16)) + + --insert into #clienti_brochure + --select 'F', '85005130159' union + --select 'S', '03844111009' + + --select + -- b.Rete, + -- b.CodiceFiscale, + -- b.IdReport, + -- b.TipoReport, + -- b.DataGenerazione, + -- b.DataInvio, + -- b.DataInvioRistampa, + -- b.FlagInvio, + -- b.NomeFile, + -- b.numeroPagine, + -- b.ID_ELAB, + -- b.id_Fk_zip, + -- b.Definitivo, + -- b.CodiceContratto, + -- b.identityReport, + -- convert(varchar(10), IdReport) + '_' + NomeFile + '.pdf' as nomeFileReportGenerato + ----from [C6MartPeriodico].[clienti_brochure] a + --from #clienti_brochure a + -- inner join C6MartPeriodico.Gestione_PDF_FTP b + -- on a.rete = b.rete + -- and a.cod_fiscale = b.codicefiscale + +end diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE_test.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE_test.sql new file mode 100644 index 00000000..22e066fb --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE_test.sql @@ -0,0 +1,71 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_REPORTS_ERRATACORRIGE_test + + + +--[C6MartPeriodico].[GESTIONE_SELECT_REPORTS_ERRATACORRIGE] + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_REPORTS_ERRATACORRIGE_test] + +as +begin + + select + b.Rete, + b.CodiceFiscale, + b.IdReport, + b.TipoReport, + b.DataGenerazione, + b.DataInvio, + b.DataInvioRistampa, + b.FlagInvio, + b.NomeFile, + b.numeroPagine, + b.ID_ELAB, + b.id_Fk_zip, + b.Definitivo, + b.CodiceContratto, + b.identityReport, + convert(varchar(10), IdReport) + '_' + NomeFile + '.pdf' as nomeFileReportGenerato + from [C6MartPeriodico].[clienti_brochure] a + inner join C6MartPeriodico.Gestione_PDF_FTP b + on a.rete = b.rete + and a.cod_fiscale = b.codicefiscale + + where b.identityreport = 91 + + -- TEST + + --create table #clienti_brochure ( + --[rete] [char](1), + --[cod_fiscale] [varchar](16)) + + --insert into #clienti_brochure + --select 'F', '85005130159' union + --select 'S', '03844111009' + + --select + -- b.Rete, + -- b.CodiceFiscale, + -- b.IdReport, + -- b.TipoReport, + -- b.DataGenerazione, + -- b.DataInvio, + -- b.DataInvioRistampa, + -- b.FlagInvio, + -- b.NomeFile, + -- b.numeroPagine, + -- b.ID_ELAB, + -- b.id_Fk_zip, + -- b.Definitivo, + -- b.CodiceContratto, + -- b.identityReport, + -- convert(varchar(10), IdReport) + '_' + NomeFile + '.pdf' as nomeFileReportGenerato + ----from [C6MartPeriodico].[clienti_brochure] a + --from #clienti_brochure a + -- inner join C6MartPeriodico.Gestione_PDF_FTP b + -- on a.rete = b.rete + -- and a.cod_fiscale = b.codicefiscale + +end + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV.sql new file mode 100644 index 00000000..d87349c2 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV.sql @@ -0,0 +1,73 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_S80_EVOLUZIONE_CTV + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[GESTIONE_SELECT_S80_EVOLUZIONE_CTV] '31/12/2015' +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_EVOLUZIONE_CTV] + @datafase varchar(10) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + SELECT + a.rete, + a.cod_fiscale, + @datafase as DataFase, + EXTRARENDIMENTO, + INVESTIMENTO, + PREVIDENZA, + RISERVA, + LIQUIDITA, + RisorseNonAllocate, + contocorrente, + PARTVIA_DISINV + isnull(b.importo,0) AS Partita_viaggiante, + --sum(case Upper(a.id_area) when 'CC' then 0 else a.ctv end ) as risorseFinanziarie, + a.CTV + isnull(b.importo,0)+ PARTVIA_DISINV AS Totale, + + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 ELSE ROUND(RA.VAR_PERC_PTF,2) END AS VarComplessivo, + isnull(RA.COPERTURA,0) AS Copertura, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + -- TRINGALI MODIFICARE + ra.creditrisk as RISKCLASS, + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' else null end as RiskClassString, + case when mifid.riskclass is null then 'n.a.' else null end as RiskClassMaxString +FROM + (SELECT + rete, + cod_fiscale, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) AS EXTRARENDIMENTO, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) AS INVESTIMENTO, + sum(case when Upper(id_area) IN ('PRE1', 'PRE2') then ctv else 0 end ) AS PREVIDENZA, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) AS RISERVA, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS LIQUIDITA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS RisorseNonAllocate, + sum(case Upper(id_area) when 'CC' then ctv else 0 end ) as contocorrente, + sum((isnull(PARTVIA_DISINV,0))) as PARTVIA_DISINV, + sum(CTV) as CTV + FROM + [C6MartPeriodico].PATRIMONIO_BF + GROUP BY rete, cod_fiscale) a +LEFT JOIN c6martperiodico.partite_viaggianti b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON a.RETE = MIFID.RETE + AND a.COD_FISCALE = MIFID.COD_FISCALE +INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO +LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = a.RETE + AND RA.COD_FISCALE = a.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart.sql new file mode 100644 index 00000000..de57aab2 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart.sql @@ -0,0 +1,56 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + +SELECT + INI.rete AS Rete, + INI.cod_fiscale AS [Codice fiscale], + convert(varchar(8), rep.DATA_INVIO, 112) AS [Data fase], + rep.ctv_ext as Extrarendimento, + rep.ctv_inv as Investimento, + rep.ctv_pre as Previdenza, + rep.ctv_ris as Riserva, + rep.ctv_liq as Liquidit, + rep.CTV_NA AS [Risorse non allocate], + rep.CTV_CC AS [Conto Corrente], + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS [Partita viaggiante], + --CTV_TOTALE + CTV_CC + CTV_NA + ISNULL(PARTITA_VIAGGIANTE,0) AS ControvaloreComplessivo --V aggiunto il cc e na per coerenza con le altre fasi + rep.CTV_TOTALE + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS [Totale CTV], --V tolto il cc e na in quanto gia conteggiati + rep.VAR_COMPLESSIVO AS [Var complessivo], +rep.VAR_COPERTURA AS [Var copertura], +rep.VAR_MAX_PROFILO AS [Var MAX profilo finanziario], +isnull(rep.RISKCLASS, 0) as RisksClass, --0 al posto di n.a. altrimenti rompeva +rep.RISKCLASSMAX AS RisksClassMax +--,case when ra.creditrisk is null then 'n.a.' else null end as RiskClassString, +-- case when mifid.riskclass is null then 'n.a.' else null end as RiskClassMaxString + + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE +-- WHERE 1=1 +-- +-- and INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) +-- and ISNULL(DATA_INVIO,cast('29991231' as datetime))<'20110331' +-- +-- AND rep.rete is not null + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2.sql new file mode 100644 index 00000000..900ac8af --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2.sql @@ -0,0 +1,130 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_S80_FASE2 + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_FASE2] +AS +BEGIN + +SET NOCOUNT ON; + +DECLARE @DataFase datetime +DECLARE @DataFineAvanzato datetime +SET @DataFase = CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) --'20130930' +SET @DataFineAvanzato = getdate() --'20130731' + + +insert into [CONSEVO].ConsulenzaEvoluta.dbo.REP_S80_EVOL_STAMPA_C6 +SELECT + A.ChiaveClientePB, + UPPER(AREA) as AREA, + CASE + WHEN AREA = 'Inv' THEN 2 + WHEN AREA = 'Pre' THEN 3 + WHEN AREA = 'Ris' THEN 4 + WHEN AREA = 'Ext' THEN 1 + WHEN AREA = 'Liq' THEN 5 + WHEN AREA = 'Na' THEN 6 + WHEN AREA = 'Cc' THEN 7 + WHEN AREA = 'Self' THEN 8 + ELSE 0 + END AS ORDINE, + FASE, + @DataFase AS DATA_FASE, + CONTROVALORE, + SUM(RISORSEALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSEALLOCATE, + SUM(RISORSENONALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSENONALLOCATE, + SUM(CONTOCORRENTE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS CONTOCORRENTE, + SUM(PVDISINV) over (partition by A.cod_fiscale,A.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + RA.COPERTURA, + MFD.PROFILO_ASS AS PROFILO, + COD_AGENTE AS AGENTE, + case + when isnull(ra.CREDITRISK,0) > 0 + then cast(ra.CREDITRISK as varchar(5)) + --else 'n.a.' + else '5' + end AS RISKCLASS, + MFD.RISKCLASS AS RISKCLASSMAX, + CASE WHEN AREA IN ('Self') THEN CONTROVALORE ELSE 0 END AS LineaSelf +FROM + (SELECT + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END AS AREA, + 2 AS FASE, + SUM(CTV) AS CONTROVALORE, + sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, + max(isnull(PVIA.IMPORTO,0)) AS PVINV, + SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE PBF.CTV END) AS RISORSEALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Na') THEN PBF.CTV ELSE 0 END) AS RISORSENONALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Cc') THEN PBF.CTV ELSE 0 END) AS CONTOCORRENTE + FROM + C6MART.VCONTRATTI VC + INNER JOIN + C6MARTPERIODICO.PATRIMONIO_BF PBF + ON VC.rete = PBF.rete + AND VC.cod_Fiscale = PBF.cod_fiscale + LEFT OUTER JOIN + C6MARTPERIODICO.PARTITE_VIAGGIANTI PVIA + ON + PBF.COD_FISCALE=PVIA.COD_FISCALE + AND PBF.RETE=PVIA.RETE + INNER JOIN + C6MARTPERIODICO.GESTIONE_PDF_FTP PDFFTP + ON + VC.COD_FISCALE=PDFFTP.CODICEFISCALE + AND VC.RETE=PDFFTP.RETE + WHERE 1=1 + AND TIPOREPORT = 'M' + AND FLAGINVIO='S' +-- AND DEFINITIVO=1 + AND ISNULL(VC.DATA_FINEAVANZATO, '99991231') > @DataFineAvanzato + GROUP BY + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END + ) A + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON A.RETE = RA.RETE + AND A.COD_FISCALE = RA.COD_FISCALE + INNER JOIN C6MartPeriodico.MIFID AS MFD + ON A.RETE = MFD.RETE + AND A.COD_FISCALE = MFD.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MFD.PROFILO_ASS = CR.PROFILO + WHERE COD_AGGREG = 'COMPLESSIVO|BF' + +--------------------------------------------------------------------------------------- +--SELECT +-- H.ChiaveClientePB, +---- ltrim(rtrim(H.COD_FISCALE)) as COD_FISCALE, +---- H.RETE, +-- +-- UPPER(AREA) as AREA, +-- CASE +-- WHEN AREA = 'Inv' THEN 2 +-- WHEN AREA = 'Pre' THEN 3 +-- WHEN AREA = 'Ris' THEN 4 +-- WHEN AREA = 'Ext' THEN 1 +-- WHEN AREA = 'Liq' THEN 5 +-- WHEN AREA = 'Na' THEN 6 +-- WHEN AREA = 'Cc' THEN 7 +-- ELSE 0 +-- END AS ORDINE, +-- FASE, +-- --Cast('20110930' as datetime) AS DATA_FASE, +-- --'20091231' AS DATA_FASE, +-- --CONVERT(DATETIME, C6MARTPERIODICO.GETPREVIOUSTRIMESTRE(getdate(),0), 103) AS DATA_FASE, +-- --CONVERT(varchar(8), C6MARTPERIODICO.GETPREVIOUSTRI diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU.sql new file mode 100644 index 00000000..88bce70f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU.sql @@ -0,0 +1,128 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_S80_FASE2_CU + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_FASE2_CU] +AS +BEGIN + +SET NOCOUNT ON; + +DECLARE @DataFase datetime +DECLARE @DataFineAvanzato datetime +SET @DataFase = CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) --'20130930' +SET @DataFineAvanzato = getdate() --'20130731' + +insert into [CONSUNI].ConsulenzaUnica.dbo.REP_S80_EVOL_STAMPA_C6 +SELECT + A.ChiaveClientePB, + -- 20190206 + CASE + WHEN AREA IN ('SELFXY', 'SELFFO') THEN 'SELF' + ELSE UPPER(AREA) + END as AREA, + --UPPER(AREA) as AREA, + --/20190206 + CASE + WHEN AREA = 'Inv' THEN 2 + WHEN AREA = 'Pre' THEN 3 + WHEN AREA = 'Ris' THEN 4 + WHEN AREA = 'Ext' THEN 1 + WHEN AREA = 'Liq' THEN 5 + WHEN AREA = 'Na' THEN 6 + WHEN AREA = 'Cc' THEN 7 + -- 20190206 nella subquery c' stato bisogno di differenziare l'Area Self tra XY e FO, quindi adesso bisogna gestire le aree come SELFXY e SELFFO + WHEN AREA = 'SelfXY' THEN 8 + WHEN AREA = 'SelfFO' THEN 9 + --WHEN AREA = 'Self' THEN 8 + --/20190206 + ELSE 0 + END AS ORDINE, + FASE, + @DataFase AS DATA_FASE, + CONTROVALORE, + SUM(RISORSEALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSEALLOCATE, + SUM(RISORSENONALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSENONALLOCATE, + SUM(CONTOCORRENTE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS CONTOCORRENTE, + SUM(PVDISINV) over (partition by A.cod_fiscale,A.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, + VAR_PERC_PTF, + CASE WHEN ISNULL(W.flgprof,'A')='P' THEN 0.00 ELSE MAX_VAR END AS MAX_VAR, + RA.COPERTURA, + MFD.PROFILO_ASS AS PROFILO, + COD_AGENTE AS AGENTE, + case + when isnull(ra.CREDITRISK,0) > 0 + then cast(ra.CREDITRISK as varchar(5)) + --else 'n.a.' + else '5' + end AS RISKCLASS, + MFD.RISKCLASS AS RISKCLASSMAX, + -- 20190206 in base al cod_interno (XY/FO) l'Area restituita dalla subquery su Patrimonio_BF come SELFXY e SELFFO, una restituisce il controvalore della LineaSelf e l'altra il controvalore della LineaSelfFogli + CASE WHEN AREA IN ('SelfXY') THEN CONTROVALORE ELSE 0 END AS LineaSelf, + CASE WHEN AREA IN ('SelfFO') THEN CONTROVALORE ELSE 0 END AS LineaSelfFoglio + --CASE WHEN AREA IN ('Self') THEN CONTROVALORE ELSE 0 END AS LineaSelf + --/20190206 +FROM + (SELECT + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + + -- 20190206 + CASE + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'XY' THEN 'SELFXY' + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'FO' THEN 'SELFFO' + ELSE LEFT(PBF.ID_AREA,3) + END as AREA, + + --CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END AS AREA, + --/20190206 + + + 2 AS FASE, + SUM(CTV) AS CONTROVALORE, + sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, + max(isnull(PVIA.IMPORTO,0)) AS PVINV, + SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE PBF.CTV END) AS RISORSEALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Na') THEN PBF.CTV ELSE 0 END) AS RISORSENONALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Cc') THEN PBF.CTV ELSE 0 END) AS CONTOCORRENTE + FROM + C6MART.VCONTRATTI VC + INNER JOIN + C6MARTPERIODICO.PATRIMONIO_BF PBF + ON VC.rete = PBF.rete + AND VC.cod_Fiscale = PBF.cod_fiscale + LEFT OUTER JOIN + C6MARTPERIODICO.PARTITE_VIAGGIANTI PVIA + ON + PBF.COD_FISCALE=PVIA.COD_FISCALE + AND PBF.RETE=PVIA.RETE + INNER JOIN + C6MARTPERIODICO.GESTIONE_PDF_FTP PDFFTP + ON + VC.COD_FISCALE=PDFFTP.CODICEFISCALE + AND VC.RETE=PDFFTP.RETE + WHERE 1=1 + AND TIPOREPORT = 'M' + AND FLAGINVIO='S' +-- AND DEFINITIVO=1 + AND ISNULL(VC.DATA_FINEAVANZATO, '99991231') > @DataFineAvanzato + GROUP BY + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + -- 20190206 + CASE + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'XY' THEN 'SELFXY' + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_20190206_preMioFoglio.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_20190206_preMioFoglio.sql new file mode 100644 index 00000000..4bfa0d9f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_20190206_preMioFoglio.sql @@ -0,0 +1,132 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_S80_FASE2_CU_20190206_preMioFoglio + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_FASE2_CU_20190206_preMioFoglio] +AS +BEGIN + +SET NOCOUNT ON; + +DECLARE @DataFase datetime +DECLARE @DataFineAvanzato datetime +SET @DataFase = CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) --'20130930' +SET @DataFineAvanzato = getdate() --'20130731' + + +insert into [CONSUNI].ConsulenzaUnica.dbo.REP_S80_EVOL_STAMPA_C6 +SELECT + A.ChiaveClientePB, + UPPER(AREA) as AREA, + CASE + WHEN AREA = 'Inv' THEN 2 + WHEN AREA = 'Pre' THEN 3 + WHEN AREA = 'Ris' THEN 4 + WHEN AREA = 'Ext' THEN 1 + WHEN AREA = 'Liq' THEN 5 + WHEN AREA = 'Na' THEN 6 + WHEN AREA = 'Cc' THEN 7 + WHEN AREA = 'Self' THEN 8 + ELSE 0 + END AS ORDINE, + FASE, + @DataFase AS DATA_FASE, + CONTROVALORE, + SUM(RISORSEALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSEALLOCATE, + SUM(RISORSENONALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSENONALLOCATE, + SUM(CONTOCORRENTE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS CONTOCORRENTE, + SUM(PVDISINV) over (partition by A.cod_fiscale,A.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + RA.COPERTURA, + MFD.PROFILO_ASS AS PROFILO, + COD_AGENTE AS AGENTE, + case + when isnull(ra.CREDITRISK,0) > 0 + then cast(ra.CREDITRISK as varchar(5)) + --else 'n.a.' + else '5' + end AS RISKCLASS, + MFD.RISKCLASS AS RISKCLASSMAX, + CASE WHEN AREA IN ('Self') THEN CONTROVALORE ELSE 0 END AS LineaSelf +FROM + (SELECT + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END AS AREA, + 2 AS FASE, + SUM(CTV) AS CONTROVALORE, + sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, + max(isnull(PVIA.IMPORTO,0)) AS PVINV, + SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE PBF.CTV END) AS RISORSEALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Na') THEN PBF.CTV ELSE 0 END) AS RISORSENONALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Cc') THEN PBF.CTV ELSE 0 END) AS CONTOCORRENTE + FROM + C6MART.VCONTRATTI VC + INNER JOIN + C6MARTPERIODICO.PATRIMONIO_BF PBF + ON VC.rete = PBF.rete + AND VC.cod_Fiscale = PBF.cod_fiscale + LEFT OUTER JOIN + C6MARTPERIODICO.PARTITE_VIAGGIANTI PVIA + ON + PBF.COD_FISCALE=PVIA.COD_FISCALE + AND PBF.RETE=PVIA.RETE + INNER JOIN + C6MARTPERIODICO.GESTIONE_PDF_FTP PDFFTP + ON + VC.COD_FISCALE=PDFFTP.CODICEFISCALE + AND VC.RETE=PDFFTP.RETE + WHERE 1=1 + AND TIPOREPORT = 'M' + AND FLAGINVIO='S' +-- AND DEFINITIVO=1 + AND ISNULL(VC.DATA_FINEAVANZATO, '99991231') > @DataFineAvanzato + GROUP BY + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END + ) A + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON A.RETE = RA.RETE + AND A.COD_FISCALE = RA.COD_FISCALE + INNER JOIN C6MartPeriodico.MIFID AS MFD + ON A.RETE = MFD.RETE + AND A.COD_FISCALE = MFD.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MFD.PROFILO_ASS = CR.PROFILO + WHERE COD_AGGREG = 'COMPLESSIVO|BF' + +--------------------------------------------------------------------------------------- +--SELECT +-- H.ChiaveClientePB, +---- ltrim(rtrim(H.COD_FISCALE)) as COD_FISCALE, +---- H.RETE, +-- +-- UPPER(AREA) as AREA, +-- CASE +-- WHEN AREA = 'Inv' THEN 2 +-- WHEN AREA = 'Pre' THEN 3 +-- WHEN AREA = 'Ris' THEN 4 +-- WHEN AREA = 'Ext' THEN 1 +-- WHEN AREA = 'Liq' THEN 5 +-- WHEN AREA = 'Na' THEN 6 +-- WHEN AREA = 'Cc' THEN 7 +-- ELSE 0 +-- END AS ORDINE, +-- FASE, +-- --Cast('20110930' as datetime) AS DATA_FASE, +-- --'20091231' AS DATA_FASE, +-- --CONVERT(DATETIME, C6MARTPERIODICO.GETPREVIOUSTRIMESTRE(getdate(),0), 103) AS DATA_FASE, +-- --CONVERT(varchar(8), C6M diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_POST_RAFFORZAMENTO.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_POST_RAFFORZAMENTO.sql new file mode 100644 index 00000000..8a09e7e7 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_POST_RAFFORZAMENTO.sql @@ -0,0 +1,127 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_S80_FASE2_CU_POST_RAFFORZAMENTO + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_FASE2_CU_POST_RAFFORZAMENTO] +AS +BEGIN + +SET NOCOUNT ON; + +DECLARE @DataFase datetime +DECLARE @DataFineAvanzato datetime +SET @DataFase = CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) --'20130930' +SET @DataFineAvanzato = getdate() --'20130731' + +insert into [CONSUNI].ConsulenzaUnica.dbo.REP_S80_EVOL_STAMPA_C6 +SELECT + A.ChiaveClientePB, + -- 20190206 + CASE + WHEN AREA IN ('SELFXY', 'SELFFO') THEN 'SELF' + ELSE UPPER(AREA) + END as AREA, + --UPPER(AREA) as AREA, + --/20190206 + CASE + WHEN AREA = 'Inv' THEN 2 + WHEN AREA = 'Pre' THEN 3 + WHEN AREA = 'Ris' THEN 4 + WHEN AREA = 'Ext' THEN 1 + WHEN AREA = 'Liq' THEN 5 + WHEN AREA = 'Na' THEN 6 + WHEN AREA = 'Cc' THEN 7 + -- 20190206 nella subquery c' stato bisogno di differenziare l'Area Self tra XY e FO, quindi adesso bisogna gestire le aree come SELFXY e SELFFO + WHEN AREA = 'SelfXY' THEN 8 + WHEN AREA = 'SelfFO' THEN 9 + --WHEN AREA = 'Self' THEN 8 + --/20190206 + ELSE 0 + END AS ORDINE, + FASE, + @DataFase AS DATA_FASE, + CONTROVALORE, + SUM(RISORSEALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSEALLOCATE, + SUM(RISORSENONALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSENONALLOCATE, + SUM(CONTOCORRENTE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS CONTOCORRENTE, + SUM(PVDISINV) over (partition by A.cod_fiscale,A.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, + VAR_PERC_PTF, + CASE WHEN ISNULL(W.flgprof,'A')='P' THEN 0.00 ELSE MAX_VAR END AS MAX_VAR, + RA.COPERTURA, + MFD.PROFILO_ASS AS PROFILO, + COD_AGENTE AS AGENTE, + case + when isnull(ra.CREDITRISK,0) > 0 + then cast(ra.CREDITRISK as varchar(5)) + --else 'n.a.' + else '5' + end AS RISKCLASS, + MFD.RISKCLASS AS RISKCLASSMAX, + -- 20190206 in base al cod_interno (XY/FO) l'Area restituita dalla subquery su Patrimonio_BF come SELFXY e SELFFO, una restituisce il controvalore della LineaSelf e l'altra il controvalore della LineaSelfFogli + CASE WHEN AREA IN ('SelfXY') THEN CONTROVALORE ELSE 0 END AS LineaSelf, + CASE WHEN AREA IN ('SelfFO') THEN CONTROVALORE ELSE 0 END AS LineaSelfFoglio + --CASE WHEN AREA IN ('Self') THEN CONTROVALORE ELSE 0 END AS LineaSelf + --/20190206 +FROM + (SELECT + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + + -- 20190206 + CASE + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'XY' THEN 'SELFXY' + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'FO' THEN 'SELFFO' + ELSE LEFT(PBF.ID_AREA,3) + END as AREA, + + --CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END AS AREA, + --/20190206 + + + 2 AS FASE, + SUM(CTV) AS CONTROVALORE, + sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, + max(isnull(PVIA.IMPORTO,0)) AS PVINV, + SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE PBF.CTV END) AS RISORSEALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Na') THEN PBF.CTV ELSE 0 END) AS RISORSENONALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Cc') THEN PBF.CTV ELSE 0 END) AS CONTOCORRENTE + FROM + C6MART.VCONTRATTI VC + INNER JOIN + C6MARTPERIODICO.PATRIMONIO_BF PBF + ON VC.rete = PBF.rete + AND VC.cod_Fiscale = PBF.cod_fiscale + LEFT OUTER JOIN + C6MARTPERIODICO.PARTITE_VIAGGIANTI PVIA + ON + PBF.COD_FISCALE=PVIA.COD_FISCALE + AND PBF.RETE=PVIA.RETE + INNER JOIN + C6MARTPERIODICO.GESTIONE_PDF_FTP PDFFTP + ON + VC.COD_FISCALE=PDFFTP.CODICEFISCALE + AND VC.RETE=PDFFTP.RETE + WHERE 1=1 + AND TIPOREPORT = 'M' + AND FLAGINVIO='S' +-- AND DEFINITIVO=1 + AND ISNULL(VC.DATA_FINEAVANZATO, '99991231') > @DataFineAvanzato + GROUP BY + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + -- 20190206 + CASE + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'XY' diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_PRE_RAFFORZAMENTO.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..6970a129 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,129 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_S80_FASE2_CU_PRE_RAFFORZAMENTO + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_FASE2_CU_PRE_RAFFORZAMENTO] +AS +BEGIN + +SET NOCOUNT ON; + +DECLARE @DataFase datetime +DECLARE @DataFineAvanzato datetime +SET @DataFase = CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) --'20130930' +SET @DataFineAvanzato = getdate() --'20130731' + + +insert into [CONSUNI].ConsulenzaUnica.dbo.REP_S80_EVOL_STAMPA_C6 +SELECT + A.ChiaveClientePB, + -- 20190206 + CASE + WHEN AREA IN ('SELFXY', 'SELFFO') THEN 'SELF' + ELSE UPPER(AREA) + END as AREA, + --UPPER(AREA) as AREA, + --/20190206 + CASE + WHEN AREA = 'Inv' THEN 2 + WHEN AREA = 'Pre' THEN 3 + WHEN AREA = 'Ris' THEN 4 + WHEN AREA = 'Ext' THEN 1 + WHEN AREA = 'Liq' THEN 5 + WHEN AREA = 'Na' THEN 6 + WHEN AREA = 'Cc' THEN 7 + -- 20190206 nella subquery c' stato bisogno di differenziare l'Area Self tra XY e FO, quindi adesso bisogna gestire le aree come SELFXY e SELFFO + WHEN AREA = 'SelfXY' THEN 8 + WHEN AREA = 'SelfFO' THEN 9 + --WHEN AREA = 'Self' THEN 8 + --/20190206 + ELSE 0 + END AS ORDINE, + FASE, + @DataFase AS DATA_FASE, + CONTROVALORE, + SUM(RISORSEALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSEALLOCATE, + SUM(RISORSENONALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSENONALLOCATE, + SUM(CONTOCORRENTE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS CONTOCORRENTE, + SUM(PVDISINV) over (partition by A.cod_fiscale,A.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + RA.COPERTURA, + MFD.PROFILO_ASS AS PROFILO, + COD_AGENTE AS AGENTE, + case + when isnull(ra.CREDITRISK,0) > 0 + then cast(ra.CREDITRISK as varchar(5)) + --else 'n.a.' + else '5' + end AS RISKCLASS, + MFD.RISKCLASS AS RISKCLASSMAX, + -- 20190206 in base al cod_interno (XY/FO) l'Area restituita dalla subquery su Patrimonio_BF come SELFXY e SELFFO, una restituisce il controvalore della LineaSelf e l'altra il controvalore della LineaSelfFogli + CASE WHEN AREA IN ('SelfXY') THEN CONTROVALORE ELSE 0 END AS LineaSelf, + CASE WHEN AREA IN ('SelfFO') THEN CONTROVALORE ELSE 0 END AS LineaSelfFoglio + --CASE WHEN AREA IN ('Self') THEN CONTROVALORE ELSE 0 END AS LineaSelf + --/20190206 +FROM + (SELECT + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + + -- 20190206 + CASE + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'XY' THEN 'SELFXY' + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'FO' THEN 'SELFFO' + ELSE LEFT(PBF.ID_AREA,3) + END as AREA, + + --CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END AS AREA, + --/20190206 + + + 2 AS FASE, + SUM(CTV) AS CONTROVALORE, + sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, + max(isnull(PVIA.IMPORTO,0)) AS PVINV, + SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE PBF.CTV END) AS RISORSEALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Na') THEN PBF.CTV ELSE 0 END) AS RISORSENONALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Cc') THEN PBF.CTV ELSE 0 END) AS CONTOCORRENTE + FROM + C6MART.VCONTRATTI VC + INNER JOIN + C6MARTPERIODICO.PATRIMONIO_BF PBF + ON VC.rete = PBF.rete + AND VC.cod_Fiscale = PBF.cod_fiscale + LEFT OUTER JOIN + C6MARTPERIODICO.PARTITE_VIAGGIANTI PVIA + ON + PBF.COD_FISCALE=PVIA.COD_FISCALE + AND PBF.RETE=PVIA.RETE + INNER JOIN + C6MARTPERIODICO.GESTIONE_PDF_FTP PDFFTP + ON + VC.COD_FISCALE=PDFFTP.CODICEFISCALE + AND VC.RETE=PDFFTP.RETE + WHERE 1=1 + AND TIPOREPORT = 'M' + AND FLAGINVIO='S' +-- AND DEFINITIVO=1 + AND ISNULL(VC.DATA_FINEAVANZATO, '99991231') > @DataFineAvanzato + GROUP BY + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + -- 20190206 + CASE + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'XY' THEN 'SELFXY' + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_mariano.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_mariano.sql new file mode 100644 index 00000000..e14acd5e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_mariano.sql @@ -0,0 +1,122 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_S80_FASE2_CU_mariano + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_FASE2_CU_mariano] +AS +BEGIN + +SET NOCOUNT ON; + +DECLARE @DataFase datetime +DECLARE @DataFineAvanzato datetime +SET @DataFase = CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) --'20130930' +SET @DataFineAvanzato = getdate() --'20130731' + + +insert into [CONSUNI].ConsulenzaUnica.dbo.REP_S80_EVOL_STAMPA_C6 +SELECT + A.ChiaveClientePB, + -- 20190206 + CASE + WHEN AREA IN ('SELFXY', 'SELFFO') THEN 'SELF' + ELSE UPPER(AREA) + END as AREA, + --UPPER(AREA) as AREA, + --/20190206 + CASE + WHEN AREA = 'Inv' THEN 2 + WHEN AREA = 'Pre' THEN 3 + WHEN AREA = 'Ris' THEN 4 + WHEN AREA = 'Ext' THEN 1 + WHEN AREA = 'Liq' THEN 5 + WHEN AREA = 'Na' THEN 6 + WHEN AREA = 'Cc' THEN 7 + -- 20190206 nella subquery c' stato bisogno di differenziare l'Area Self tra XY e FO, quindi adesso bisogna gestire le aree come SELFXY e SELFFO + WHEN AREA = 'SelfXY' THEN 8 + WHEN AREA = 'SelfFO' THEN 9 + --WHEN AREA = 'Self' THEN 8 + --/20190206 + ELSE 0 + END AS ORDINE, + FASE, + @DataFase AS DATA_FASE, + CONTROVALORE, + SUM(RISORSEALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSEALLOCATE, + SUM(RISORSENONALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSENONALLOCATE, + SUM(CONTOCORRENTE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS CONTOCORRENTE, + SUM(PVDISINV) over (partition by A.cod_fiscale,A.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + RA.COPERTURA, + MFD.PROFILO_ASS AS PROFILO, + COD_AGENTE AS AGENTE, + case + when isnull(ra.CREDITRISK,0) > 0 + then cast(ra.CREDITRISK as varchar(5)) + --else 'n.a.' + else '5' + end AS RISKCLASS, + MFD.RISKCLASS AS RISKCLASSMAX, + -- 20190206 in base al cod_interno (XY/FO) l'Area restituita dalla subquery su Patrimonio_BF come SELFXY e SELFFO, una restituisce il controvalore della LineaSelf e l'altra il controvalore della LineaSelfFogli + CASE WHEN AREA IN ('SelfXY') THEN CONTROVALORE ELSE 0 END AS LineaSelf, + CASE WHEN AREA IN ('SelfFO') THEN CONTROVALORE ELSE 0 END AS LineaSelfFoglio + --CASE WHEN AREA IN ('Self') THEN CONTROVALORE ELSE 0 END AS LineaSelf + --/20190206 +FROM + (SELECT + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + + -- 20190206 + CASE + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'XY' THEN 'SELFXY' + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'FO' THEN 'SELFFO' + ELSE LEFT(PBF.ID_AREA,3) + END as AREA, + + --CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END AS AREA, + --/20190206 + + + 2 AS FASE, + SUM(CTV) AS CONTROVALORE, + sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, + max(isnull(PVIA.IMPORTO,0)) AS PVINV, + SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE PBF.CTV END) AS RISORSEALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Na') THEN PBF.CTV ELSE 0 END) AS RISORSENONALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Cc') THEN PBF.CTV ELSE 0 END) AS CONTOCORRENTE + FROM + C6MART.VCONTRATTI VC + INNER JOIN + C6MARTPERIODICO.PATRIMONIO_BF PBF + ON VC.rete = PBF.rete + AND VC.cod_Fiscale = PBF.cod_fiscale + LEFT OUTER JOIN + C6MARTPERIODICO.PARTITE_VIAGGIANTI PVIA + ON + PBF.COD_FISCALE=PVIA.COD_FISCALE + AND PBF.RETE=PVIA.RETE + INNER JOIN + ( +select codicefiscale,rete,tiporeport,flaginvio from C6MartPeriodico.gestione_pdf_ftp_bk2510_1stlotto +union +select codicefiscale,rete,tiporeport,flaginvio from C6MartPeriodico.gestione_pdf_ftp_bk2810_2ndlotto +union +select codicefiscale,rete,tiporeport,flaginvio from C6MartPeriodico.gestione_pdf_ftp_bk2910 +union +select codicefiscale,rete,tiporeport,flaginvio from C6MartPeriodico.gestione_pdf_ftp_bk2910b) PDFFTP + ON + VC.COD_FISCALE=PDFFTP.CODICEFISCALE + AND VC.RETE=PDFFTP.RETE + WHE diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE.sql new file mode 100644 index 00000000..9ec3c425 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE.sql @@ -0,0 +1,131 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_S80_FASE2_SELECTIVE + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_FASE2_SELECTIVE] +AS +BEGIN + +SET NOCOUNT ON; + +DECLARE @DataFase datetime +DECLARE @DataFineAvanzato datetime +SET @DataFase = CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) --'20130930' +SET @DataFineAvanzato = getdate() --'20130731' + + +insert into c6martperiodico.RP_REP_S80_EVOL_STAMPA_C6_TMP +SELECT + A.ChiaveClientePB, + UPPER(AREA) as AREA, + CASE + WHEN AREA = 'Inv' THEN 2 + WHEN AREA = 'Pre' THEN 3 + WHEN AREA = 'Ris' THEN 4 + WHEN AREA = 'Ext' THEN 1 + WHEN AREA = 'Liq' THEN 5 + WHEN AREA = 'Na' THEN 6 + WHEN AREA = 'Cc' THEN 7 + WHEN AREA = 'Self' THEN 8 + ELSE 0 + END AS ORDINE, + FASE, + @DataFase AS DATA_FASE, + CONTROVALORE, + SUM(RISORSEALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSEALLOCATE, + SUM(RISORSENONALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSENONALLOCATE, + SUM(CONTOCORRENTE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS CONTOCORRENTE, + SUM(PVDISINV) over (partition by A.cod_fiscale,A.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + RA.COPERTURA, + MFD.PROFILO_ASS AS PROFILO, + COD_AGENTE AS AGENTE, + case + when isnull(ra.CREDITRISK,0) > 0 + then cast(ra.CREDITRISK as varchar(5)) + --else 'n.a.' + else '5' + end AS RISKCLASS, + MFD.RISKCLASS AS RISKCLASSMAX, + CASE WHEN AREA IN ('Self') THEN CONTROVALORE ELSE 0 END AS LineaSelf +FROM + (SELECT + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END AS AREA, + 2 AS FASE, + SUM(CTV) AS CONTROVALORE, + sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, + max(isnull(PVIA.IMPORTO,0)) AS PVINV, + SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE PBF.CTV END) AS RISORSEALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Na') THEN PBF.CTV ELSE 0 END) AS RISORSENONALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Cc') THEN PBF.CTV ELSE 0 END) AS CONTOCORRENTE + FROM + C6MART.VCONTRATTI VC + INNER JOIN + C6MARTPERIODICO.PATRIMONIO_BF PBF + ON VC.rete = PBF.rete + AND VC.cod_Fiscale = PBF.cod_fiscale + LEFT OUTER JOIN + C6MARTPERIODICO.PARTITE_VIAGGIANTI PVIA + ON + PBF.COD_FISCALE=PVIA.COD_FISCALE + AND PBF.RETE=PVIA.RETE + INNER JOIN + C6MARTPERIODICO.GESTIONE_PDF_FTP PDFFTP + ON + VC.COD_FISCALE=PDFFTP.CODICEFISCALE + AND VC.RETE=PDFFTP.RETE + WHERE 1=1 + AND TIPOREPORT = 'M' + AND FLAGINVIO='S' +-- AND DEFINITIVO=1 + AND ISNULL(VC.DATA_FINEAVANZATO, '99991231') > @DataFineAvanzato + GROUP BY + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END + ) A + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON A.RETE = RA.RETE + AND A.COD_FISCALE = RA.COD_FISCALE + INNER JOIN C6MartPeriodico.MIFID AS MFD + ON A.RETE = MFD.RETE + AND A.COD_FISCALE = MFD.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MFD.PROFILO_ASS = CR.PROFILO + WHERE COD_AGGREG = 'COMPLESSIVO|BF' + +--------------------------------------------------------------------------------------- +--SELECT +-- H.ChiaveClientePB, +---- ltrim(rtrim(H.COD_FISCALE)) as COD_FISCALE, +---- H.RETE, +-- +-- UPPER(AREA) as AREA, +-- CASE +-- WHEN AREA = 'Inv' THEN 2 +-- WHEN AREA = 'Pre' THEN 3 +-- WHEN AREA = 'Ris' THEN 4 +-- WHEN AREA = 'Ext' THEN 1 +-- WHEN AREA = 'Liq' THEN 5 +-- WHEN AREA = 'Na' THEN 6 +-- WHEN AREA = 'Cc' THEN 7 +-- ELSE 0 +-- END AS ORDINE, +-- FASE, +-- --Cast('20110930' as datetime) AS DATA_FASE, +-- --'20091231' AS DATA_FASE, +-- --CONVERT(DATETIME, C6MARTPERIODICO.GETPREVIOUSTRIMESTRE(getdate(),0), 103) AS DATA_FASE, +-- --CONVERT(varchar(8), C6MARTPERIODICO.GETPREVIOUS diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE_FINAL.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE_FINAL.sql new file mode 100644 index 00000000..85a26ed2 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE_FINAL.sql @@ -0,0 +1,22 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_S80_FASE2_SELECTIVE_FINAL + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_FASE2_SELECTIVE_FINAL] +AS +BEGIN + +SET NOCOUNT ON; + +insert into Consuni.ConsulenzaUnica.dbo.REP_S80_EVOL_STAMPA_C6 +select * from c6martperiodico.RP_REP_S80_EVOL_STAMPA_C6_TMP + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_PARZIALE_FASE2_CU.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_PARZIALE_FASE2_CU.sql new file mode 100644 index 00000000..b5d163cc --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_S80_PARZIALE_FASE2_CU.sql @@ -0,0 +1,117 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_S80_PARZIALE_FASE2_CU + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_PARZIALE_FASE2_CU] +AS +BEGIN + +SET NOCOUNT ON; + +DECLARE @DataFase datetime +DECLARE @DataFineAvanzato datetime +SET @DataFase = CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) --'20130930' +SET @DataFineAvanzato = getdate() --'20130731' + + +insert into [dbo].[REP_S80_EVOL_STAMPA_C6_PARZIALE] +SELECT + A.ChiaveClientePB, + UPPER(AREA) as AREA, + CASE + WHEN AREA = 'Inv' THEN 2 + WHEN AREA = 'Pre' THEN 3 + WHEN AREA = 'Ris' THEN 4 + WHEN AREA = 'Ext' THEN 1 + WHEN AREA = 'Liq' THEN 5 + WHEN AREA = 'Na' THEN 6 + WHEN AREA = 'Cc' THEN 7 + WHEN AREA = 'Self' THEN 8 + ELSE 0 + END AS ORDINE, + FASE, + @DataFase AS DATA_FASE, + CONTROVALORE, + SUM(RISORSEALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSEALLOCATE, + SUM(RISORSENONALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSENONALLOCATE, + SUM(CONTOCORRENTE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS CONTOCORRENTE, + SUM(PVDISINV) over (partition by A.cod_fiscale,A.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + RA.COPERTURA, + MFD.PROFILO_ASS AS PROFILO, + COD_AGENTE AS AGENTE, + case + when isnull(ra.CREDITRISK,0) > 0 + then cast(ra.CREDITRISK as varchar(5)) + --else 'n.a.' + else '5' + end AS RISKCLASS, + MFD.RISKCLASS AS RISKCLASSMAX, + CASE WHEN AREA IN ('Self') THEN CONTROVALORE ELSE 0 END AS LineaSelf +FROM + (SELECT + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END AS AREA, + 2 AS FASE, + SUM(CTV) AS CONTROVALORE, + sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, + max(isnull(PVIA.IMPORTO,0)) AS PVINV, + SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE PBF.CTV END) AS RISORSEALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Na') THEN PBF.CTV ELSE 0 END) AS RISORSENONALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Cc') THEN PBF.CTV ELSE 0 END) AS CONTOCORRENTE + FROM + C6MART.VCONTRATTI VC + INNER JOIN + C6MARTPERIODICO.PATRIMONIO_BF PBF + ON VC.rete = PBF.rete + AND VC.cod_Fiscale = PBF.cod_fiscale + LEFT OUTER JOIN + C6MARTPERIODICO.PARTITE_VIAGGIANTI PVIA + ON + PBF.COD_FISCALE=PVIA.COD_FISCALE + AND PBF.RETE=PVIA.RETE + INNER JOIN + C6MARTPERIODICO.GESTIONE_PDF_FTP PDFFTP + ON + VC.COD_FISCALE=PDFFTP.CODICEFISCALE + AND VC.RETE=PDFFTP.RETE + WHERE 1=1 + AND TIPOREPORT = 'M' + AND FLAGINVIO='S' +-- AND DEFINITIVO=1 + AND ISNULL(VC.DATA_FINEAVANZATO, '99991231') > @DataFineAvanzato + GROUP BY + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END + ) A + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON A.RETE = RA.RETE + AND A.COD_FISCALE = RA.COD_FISCALE + INNER JOIN C6MartPeriodico.MIFID AS MFD + ON A.RETE = MFD.RETE + AND A.COD_FISCALE = MFD.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MFD.PROFILO_ASS = CR.PROFILO + WHERE COD_AGGREG = 'COMPLESSIVO|BF' + + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_SPECIFIC_ZIP.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_SPECIFIC_ZIP.sql new file mode 100644 index 00000000..a0b8b06e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_SPECIFIC_ZIP.sql @@ -0,0 +1,35 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_SPECIFIC_ZIP + + +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_SPECIFIC_ZIP] +(@CARTELLA as VARCHAR(255)) +as +BEGIN + + DECLARE @IdZip AS INT + SET @IdZip = -1 + + DECLARE @NomeCartella AS VARCHAR(255) + Declare @NomeFile as varchar(50) + Declare @NumeroCFZip as int + + + SELECT @IdZip=id,@NomeCartella=NomeCartella,@NomeFile =NomeFile + FROM + C6MartPeriodico.GESTIONE_ZIP_FTP_IDX + WHERE + NomeCartella = @CARTELLA + + IF @IdZip > -1 Begin + select @NumeroCFZip=count( *) + from ( + select distinct rete,codicefiscale + from c6martperiodico.GESTIONE_PDF_FTP_IDX + where id_fk_zip=@IdZip) a + end + select @IdZip IdZip,@NomeFile NomeFile,@NomeCartella NomeCartella,@NumeroCFZip NumeroCFZip + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_ZIP_DA_INVIARE.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_ZIP_DA_INVIARE.sql new file mode 100644 index 00000000..12f7ec64 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_ZIP_DA_INVIARE.sql @@ -0,0 +1,33 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_ZIP_DA_INVIARE + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_ZIP_DA_INVIARE] +@FKIDElaborazioneZip int +AS +BEGIN + SELECT +-- Rete, +-- CodiceFiscale, + id IdZip + ,NomeFile +-- , +-- TipoReport, +-- DataGenerazione, +-- DataInvio, +-- FlagInvio, +-- NomeFile SELECT * + FROM + [C6MartPeriodico].GESTIONE_ZIP_FTP + WHERE + FlagInvio = 'N' + AND DateCopyToSend IS NOT NULL + AND FKIDElaborazioneZip = @FKIDElaborazioneZip + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_ZIP_WHITELIST.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_ZIP_WHITELIST.sql new file mode 100644 index 00000000..5413f5eb --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_SELECT_ZIP_WHITELIST.sql @@ -0,0 +1,37 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_SELECT_ZIP_WHITELIST + + + + +-- ============================================= +-- Author: Hazem +-- Create date: 09/06/2010 +-- Description: Selecta white list packages +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_ZIP_WHITELIST] +AS +BEGIN + + declare @lotto as smallint + select @lotto = max(IDElaborazioneZIP) FROM C6MartPeriodico.ELABORAZIONI_ZIP WHERE DataFine IS NOT NULL + + SELECT + id as IdZip, + @lotto as lotto, + nomeFile + + FROM + C6MartPeriodico.GESTIONE_ZIP_FTP + WHERE + --DataInvio >= C6MartPeriodico.getTrimestre(GETDATE(),0) + --AND + --id = 998 and + fkIDElaborazioneZIP = @lotto--(SELECT max(IDElaborazioneZIP) FROM C6MartPeriodico.ELABORAZIONI_ZIP WHERE DataFine IS NOT NULL) + + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_S_Intermediari.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_S_Intermediari.sql new file mode 100644 index 00000000..6249f2e8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_S_Intermediari.sql @@ -0,0 +1,31 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_S_Intermediari + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[GESTIONE_S_Intermediari] 'S','GHGRTI63T44L219D' +--[C6MartPeriodico].[GESTIONE_S_Intermediari] 'F','BGLSRG61E30L702A' +CREATE procedure [C6MartPeriodico].[GESTIONE_S_Intermediari] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceCliente varchar(16) +AS + +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + SELECT DISTINCT INTERMEDIARIO + FROM C6MartPeriodico.PATRIMONIO_TERZI + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceCliente +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP.sql new file mode 100644 index 00000000..30db201d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP.sql @@ -0,0 +1,25 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_UPDATE_ELABORAZIONE_ZIP + + + +CREATE procedure [C6MartPeriodico].[GESTIONE_UPDATE_ELABORAZIONE_ZIP] +@IDElaborazioneZip int +AS +BEGIN + + BEGIN TRY + BEGIN TRANSACTION INSERT_ELABORAZIONE_ZIP + UPDATE [C6MartPeriodico].[ELABORAZIONI_ZIP] + SET [DataFine] = GETDATE() + WHERE IDElaborazioneZip = @IDElaborazioneZip + COMMIT TRANSACTION INSERT_ELABORAZIONE_ZIP + END TRY + BEGIN CATCH + ROLLBACK TRANSACTION INSERT_ELABORAZIONE_ZIP + END CATCH + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP_20170328.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP_20170328.sql new file mode 100644 index 00000000..c579cc56 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP_20170328.sql @@ -0,0 +1,25 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_UPDATE_ELABORAZIONE_ZIP_20170328 + + + +CREATE procedure [C6MartPeriodico].[GESTIONE_UPDATE_ELABORAZIONE_ZIP_20170328] +@IDElaborazioneZip int +AS +BEGIN + + BEGIN TRY + BEGIN TRANSACTION INSERT_ELABORAZIONE_ZIP + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[ELABORAZIONI_ZIP] + SET [DataFine] = GETDATE() + WHERE IDElaborazioneZip = @IDElaborazioneZip + COMMIT TRANSACTION INSERT_ELABORAZIONE_ZIP + END TRY + BEGIN CATCH + ROLLBACK TRANSACTION INSERT_ELABORAZIONE_ZIP + END CATCH + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_HOST.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_HOST.sql new file mode 100644 index 00000000..2fc3b3d8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_HOST.sql @@ -0,0 +1,20 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_UPDATE_EMAIL_HOST + +--exec [C6Mart].[Gestione_EMAIL_Inviate] @Email_Id=7,@DataInvio='2008-11-17 18:10:43:603' +CREATE procedure [C6MartPeriodico].[GESTIONE_UPDATE_EMAIL_HOST] + @Email_Id int +AS +BEGIN + SET NOCOUNT ON; + UPDATE [C6MartPeriodico].GESTIONE_EMAIL + SET Data_Comunicazione_Host = getdate() + WHERE Email_Id = @Email_Id + RETURN @@ROWCOUNT +END + + +SELECT * +FROM [C6MartPeriodico].GESTIONE_EMAIL + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_INVIATE.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_INVIATE.sql new file mode 100644 index 00000000..c2219635 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_INVIATE.sql @@ -0,0 +1,18 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_UPDATE_EMAIL_INVIATE + +--exec [C6Mart].[Gestione_EMAIL_Inviate] @Email_Id=7,@DataInvio='2008-11-17 18:10:43:603' +CREATE procedure [C6MartPeriodico].[GESTIONE_UPDATE_EMAIL_INVIATE] + @Email_Id int, + @DataInvio datetime +AS +BEGIN + SET NOCOUNT ON; + UPDATE [C6MartPeriodico].GESTIONE_EMAIL + SET Data_Invio = @DataInvio, + Inviata = 'S' + WHERE Email_Id = @Email_Id + RETURN @@ROWCOUNT +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_FTP.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_FTP.sql new file mode 100644 index 00000000..688616ea --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_FTP.sql @@ -0,0 +1,42 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_UPDATE_FTP + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- 22/12/2008 MODIFICA PER GESTIONE RISTAMPE +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_UPDATE_FTP] + @Id INT, + @TipoReport varchar(2), + @IdZip INT +AS +BEGIN + + + + + + IF @TipoReport <> 'LR' -- INVIO NORMALE + BEGIN + UPDATE [C6MartPeriodico].GESTIONE_PDF_FTP + SET + DataInvio = GetDate(), + FlagInvio = 'S', + Id_fk_Zip = @IdZip + WHERE + IdReport = @Id + END + ELSE -- INVIO DI UNA RISTAMPA. TENGO TRACCIA SOLO DELL'ULTIMA DATA DI RISTAMPA + BEGIN + UPDATE [C6MartPeriodico].GESTIONE_PDF_FTP + SET + DataInvioRistampa = GetDate(), + FlagInvio = 'S', + Id_fk_Zip = @IdZip + WHERE + IdReport = @Id + END +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_ZIP.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_ZIP.sql new file mode 100644 index 00000000..8d24fcae --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_ZIP.sql @@ -0,0 +1,47 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_UPDATE_ZIP + + +CREATE PROCEDURE [C6MartPeriodico].[GESTIONE_UPDATE_ZIP] + @Id int +AS +BEGIN + +Begin try + + UPDATE [C6MartPeriodico].GESTIONE_ZIP_FTP + SET + DataInvio = GetDate(), + FlagInvio = 'S' + WHERE + Id = @Id; + +update t +SET + t.STATO_REPORT = 6, + t.PACCHETTO_ZIP = @Id, + t.DATA_TRANSIZIONE=GETDATE() +from C6MartPeriodico.CONTROLLO_TRIMESTRALE t +inner join C6MARTPERIODICO.GESTIONE_PDF_FTP g +on t.rete=g.rete and t.cod_fiscale = g.codicefiscale +and ID_FK_ZIP = @Id +where STATO_REPORT = 4 + + +update t +SET + t.[Pacchetto_Zip] = @Id, + t.DATA_TRANSIZIONE=GETDATE() +from [C6MartPeriodico].[WHITELIST_ZIP] t +inner join C6MARTPERIODICO.GESTIONE_PDF_FTP g +on t.rete=g.rete and t.cod_fiscale = g.codicefiscale + + + end try + begin catch + + end catch + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_ZIP_COPY.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_ZIP_COPY.sql new file mode 100644 index 00000000..78f423a8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_ZIP_COPY.sql @@ -0,0 +1,49 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_UPDATE_ZIP_COPY + + +-- [C6MartPeriodico].[GESTIONE_UPDATE_ZIP_COPY] 811 +CREATE procedure [C6MartPeriodico].[GESTIONE_UPDATE_ZIP_COPY] + @Id int +AS +BEGIN + UPDATE [C6MartPeriodico].GESTIONE_ZIP_FTP + SET + DateCopyToSend = GetDate() + WHERE + Id = @Id; + + +-- COLAIANNI-CONSOLI - 28.06.2011 +-- SETTA NELLA CONTROLLO_REPORT LO STATO 6 (INVIATO) +-- PER TUTTI I REPORT CHE SI TROVANO NELLO STATO 4 (STAMPATO) + --UPDATE [C6MartPeriodico].CONTROLLO_TRIMESTRALE + --SET + -- STATO_REPORT = 6, + -- PACCHETTO_ZIP = @Id, + -- DATA_TRANSIZIONE=GETDATE() + --WHERE + -- STATO_REPORT = 4 + -- AND COD_FISCALE+RETE IN + -- ( + -- SELECT CODICEFISCALE+RETE + -- FROM C6MARTPERIODICO.GESTIONE_PDF_FTP + -- WHERE ID_FK_ZIP = @id + -- ); + +-- Caruso-Verdecchia 17/04/2014 +--Sostituita per time-out +update t +SET + t.STATO_REPORT = 6, + t.PACCHETTO_ZIP = @Id, + t.DATA_TRANSIZIONE=GETDATE() +from C6MartPeriodico.CONTROLLO_TRIMESTRALE t +inner join C6MARTPERIODICO.GESTIONE_PDF_FTP g +on t.rete=g.rete and t.cod_fiscale = g.codicefiscale +and ID_FK_ZIP = @Id +where STATO_REPORT = 4 + + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_ZIP_SENT_FTP.sql b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_ZIP_SENT_FTP.sql new file mode 100644 index 00000000..c121256f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GESTIONE_UPDATE_ZIP_SENT_FTP.sql @@ -0,0 +1,40 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GESTIONE_UPDATE_ZIP_SENT_FTP + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_UPDATE_ZIP_SENT_FTP] + @Id int +AS +BEGIN + UPDATE [C6MartPeriodico].GESTIONE_ZIP_FTP + SET + DataInvio = GetDate(), + FlagInvio = 'S' + WHERE + Id = @Id + + + + +-- COLAIANNI-CONSOLI - 28.06.2011 +-- SETTA NELLA CONTROLLO_REPORT LO STATO 6 (INVIATO) +-- PER TUTTI I REPORT CHE SI TROVANO NELLO STATO 4 (STAMPATO) + UPDATE [C6MartPeriodico].CONTROLLO_TRIMESTRALE + SET + STATO_REPORT = 6, + PACCHETTO_ZIP = @Id, + DATA_TRANSIZIONE=GETDATE() + WHERE + STATO_REPORT = 4 + AND COD_FISCALE+RETE IN + ( + SELECT CODICEFISCALE+RETE + FROM C6MARTPERIODICO.GESTIONE_PDF_FTP + WHERE ID_FK_ZIP = @id + ); +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_Genera_Cruscotto_ContrattoSei.sql b/sql/storedCollaudo/C6MartPeriodico_Genera_Cruscotto_ContrattoSei.sql new file mode 100644 index 00000000..33ab0434 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Genera_Cruscotto_ContrattoSei.sql @@ -0,0 +1,77 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Genera_Cruscotto_ContrattoSei + + +CREATE procedure [C6MartPeriodico].[Genera_Cruscotto_ContrattoSei] + +AS +BEGIN + +-- INSERIMNETO NELLA TABELLA [C6MartPeriodico].Cruscotto_ContrattoSei dei contratti da elaborare +-- nel processo GeneraPDF +-- ELAB 0 DA ELABORARE PRIORITA ALTA' +-- ELAB 1 DA ELABORARE PRIORITA MEDIA' +-- ELAB 2 DA ELABORARE PRIORITA NORMALE' +-- ELAB 3 IN ELABORAZIONE' +-- ELAB 4 DA NON ELABORARE' +-- ELAB 10 ELABORATO' +-- ELAB -1 SCARTO DA DATATHREAD' +-- ELAB -2 ERRORE APPLICATIVO' +-- ELAB -3 ERRORE APPLICATIVO generatorpdf' +-- ELAB < -3 ERRORE APPLICATIVO non assegnati' + + + +-- truncate Tabella [C6MartPeriodico].Cruscotto_ContrattoSei ( Elaborazione Precendete) +-- Lista Contratti da Elaborare in Processo GeneraPDF +truncate table C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + +-- truncate Tabella [C6MartPeriodico].CRUSCOTTO_SCARTI_PDFGENERATOR ( Elaborazione Precendete) +-- Tabella Degli Scarti Processi PRecedenti +truncate table C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR + +-- Aggiornamento Tabella C6MartPeriodico].[CRUSCOTTOSWITCH] +-- Flag di Elaborazione Processo GeneraPDf +-- 0 = Stop esecuzione Processo +-- 1 = Ok esecuzione processo +update [C6MartPeriodico].[CRUSCOTTOSWITCH] set elab = 1 + + +-- Inserimenti in Tabella Cruscotto di tutti i contratti da elaborare +insert into C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +select cod_fiscale as codice_fiscale, + rete as rete , + 2 as elab, -- Flag Elaborazione + null, + null, + null as dtstamp +-- Modifica del 27/3/2017 - Staging e Mart selettivo + --from C6StagingPeriodico.APPO_CONTRATTI +from C6stagingPERIODICO.appo_contratti_v +-- Fine Modifica del 27/3/2017 - Staging e Mart selettivo + + +-- Aggiornamento Dei Contratti da "non elaborare" + +-- Non elaborare i contratti Scartati dal Mart ( Tabella Data Quality C6MartPeriodico.tb_SegnalazioniDataQuality ) + + +Update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +set Elab=4 +from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI Cr inner join C6MartPeriodico.tb_SegnalazioniDataQuality Dq +on Cr.Rete=Dq.Rete and Cr.CodiceFiscale=Dq.CodiceFiscale + + +-- Non elaborare i contratti Scartati x Disallineamenti +--Update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +--set Elab=4 +--from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI Cr inner join dbo.disallineati2 Di +--on Cr.Rete=Di.Rete and Cr.CodiceFiscale=Di.Cod_Fiscale + +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_Genera_Cruscotto_ContrattoSei_20170407.SAVE.sql b/sql/storedCollaudo/C6MartPeriodico_Genera_Cruscotto_ContrattoSei_20170407.SAVE.sql new file mode 100644 index 00000000..ce7ba043 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Genera_Cruscotto_ContrattoSei_20170407.SAVE.sql @@ -0,0 +1,75 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Genera_Cruscotto_ContrattoSei_20170407.SAVE + + + + +CREATE procedure [C6MartPeriodico].[Genera_Cruscotto_ContrattoSei_20170407.SAVE] + +AS +BEGIN + +-- INSERIMNETO NELLA TABELLA [C6MartPeriodico].Cruscotto_ContrattoSei dei contratti da elaborare +-- nel processo GeneraPDF +-- ELAB 0 DA ELABORARE PRIORITA ALTA' +-- ELAB 1 DA ELABORARE PRIORITA MEDIA' +-- ELAB 2 DA ELABORARE PRIORITA NORMALE' +-- ELAB 3 IN ELABORAZIONE' +-- ELAB 4 DA NON ELABORARE' +-- ELAB 10 ELABORATO' +-- ELAB -1 SCARTO DA DATATHREAD' +-- ELAB -2 ERRORE APPLICATIVO' +-- ELAB -3 ERRORE APPLICATIVO generatorpdf' +-- ELAB < -3 ERRORE APPLICATIVO non assegnati' + + + +-- truncate Tabella [C6MartPeriodico].Cruscotto_ContrattoSei ( Elaborazione Precendete) +-- Lista Contratti da Elaborare in Processo GeneraPDF +truncate table C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + +-- truncate Tabella [C6MartPeriodico].CRUSCOTTO_SCARTI_PDFGENERATOR ( Elaborazione Precendete) +-- Tabella Degli Scarti Processi PRecedenti +truncate table C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR + +-- Aggiornamento Tabella C6MartPeriodico].[CRUSCOTTOSWITCH] +-- Flag di Elaborazione Processo GeneraPDf +-- 0 = Stop esecuzione Processo +-- 1 = Ok esecuzione processo +update [C6MartPeriodico].[CRUSCOTTOSWITCH] set elab = 1 + + +-- Inserimenti in Tabella Cruscotto di tutti i contratti da elaborare +insert into C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +select cod_fiscale as codice_fiscale, + rete as rete , + 2 as elab, -- Flag Elaborazione + null, + null, + null as dtstamp +from C6StagingPeriodico.APPO_CONTRATTI + + +-- Aggiornamento Dei Contratti da "non elaborare" + +-- Non elaborare i contratti Scartati dal Mart ( Tabella Data Quality C6MartPeriodico.tb_SegnalazioniDataQuality ) + + +Update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +set Elab=4 +from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI Cr inner join C6MartPeriodico.tb_SegnalazioniDataQuality Dq +on Cr.Rete=Dq.Rete and Cr.CodiceFiscale=Dq.CodiceFiscale + + +-- Non elaborare i contratti Scartati x Disallineamenti +--Update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +--set Elab=4 +--from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI Cr inner join dbo.disallineati2 Di +--on Cr.Rete=Di.Rete and Cr.CodiceFiscale=Di.Cod_Fiscale + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_Gestione_Bonus.sql b/sql/storedCollaudo/C6MartPeriodico_Gestione_Bonus.sql new file mode 100644 index 00000000..756eecec --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Gestione_Bonus.sql @@ -0,0 +1,26 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Gestione_Bonus + + + + +--[C6MartPeriodico].[Gestione_Bonus] 'S', 'CHTDRA58S17D969J' +CREATE procedure [C6MartPeriodico].[Gestione_Bonus] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS + +BEGIN + select COD_FISCALE as CodiceFiscale + from [C6MartPeriodico].Bonus + where + RETE = @Rete + AND COD_FISCALE = @CodiceFiscale +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_Gestione_ProdottiProtetti.sql b/sql/storedCollaudo/C6MartPeriodico_Gestione_ProdottiProtetti.sql new file mode 100644 index 00000000..271a49e8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Gestione_ProdottiProtetti.sql @@ -0,0 +1,124 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Gestione_ProdottiProtetti + + + + + + + + + +--[C6MartPeriodico].[Gestione_ProdottiProtetti] 'F', 'BBNLSN51E27D612T' +CREATE procedure [C6MartPeriodico].[Gestione_ProdottiProtetti] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS + +declare @isinInterfund80 varchar(20) + +set @isinInterfund80 = 'LU1106988527' + +BEGIN + +declare @OrdineRiga int +declare @conta int + +set @conta = 0 +set @OrdineRiga = 0 + + -- 1 LINEA MULTIRAMO + SELECT + @CodiceFiscale as CodiceFiscale + ,'FV Sintonia Linea Protezione 85' as DescrizioneProdotto + ,COD_CONF as Contratto + ,'TipoParagrafo1' as TipoParagrafo + ,'TipoProdotto1' as TipoProdotto + ,ROW_NUMBER() OVER(order by @CodiceFiscale) as OrdineRiga + into #LineaMultiramo + from [C6MartPeriodico].[CAPPROT_FVI] + where rete = @Rete + and codfis = @CodiceFiscale + and codprod = 'RF' and subprod = 'MP' + + select @conta = count(*) from #LineaMultiramo + + if @conta > 0 + select @OrdineRiga = max(OrdineRiga) from #LineaMultiramo + + -- 2 BLUE AND WHITE + SELECT + @CodiceFiscale as CodiceFiscale + ,DES_PROD_TIT as DescrizioneProdotto + ,COD_CONF as Contratto + ,'TipoParagrafo2' as TipoParagrafo + , + case + when SUBPROD = 'CS80' then 'TipoProdotto2' + when SUBPROD = 'CT80' then 'TipoProdotto3' + end as TipoProdotto + ,ROW_NUMBER() OVER(order by somma_ctv desc, controvalore_riferimento desc) + @OrdineRiga AS OrdineRiga + into #BlueWhite + from [C6MartPeriodico].[CAPPROT_FVI] + where SUBPROD in ('CS80', 'CT80') + and Rete = @Rete + and CODFIS = @CodiceFiscale + order by somma_ctv desc, controvalore_riferimento desc + + select @conta = count(*) from #BlueWhite + + if @conta > 0 + select @OrdineRiga = max(OrdineRiga) from #BlueWhite + + --3 INTERFUND + SELECT + a.CODFIS as CodiceFiscale + ,a.des_prod_tit as DescrizioneProdotto + ,'' as Contratto + ,'TipoParagrafo3' as TipoParagrafo + ,'TipoProdotto1' as TipoProdotto + ,@OrdineRiga + 1 AS OrdineRiga + into #Interfund80 + FROM C6MartPeriodico.capprot a + WHERE 1=1 + AND a.RETE = @Rete + AND a.CODFIS = @CodiceFiscale + + select @conta = count(*) from #Interfund80 + + if @conta > 0 + select @OrdineRiga = max(OrdineRiga) from #Interfund80 + + -- 4 FONDITALIA + SELECT + a.CODFIS as CodiceFiscale + ,a.desprodtit as DescrizioneProdotto + ,'' as Contratto + ,'TipoParagrafo3' as TipoParagrafo + ,'TipoProdotto2' as TipoProdotto + ,@OrdineRiga + 1 AS OrdineRiga + into #Fonditalia80 + FROM c6martperiodico.foi80 a + WHERE 1=1 + AND a.RETE = @Rete + AND a.CODFIS = @CodiceFiscale + + select * from #LineaMultiramo + union + select * from #BlueWhite + union + select * from #Interfund80 + union + select * from #Fonditalia80 + order by OrdineRiga +END + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_Gestione_ProdottiProtetti_20171215.sql b/sql/storedCollaudo/C6MartPeriodico_Gestione_ProdottiProtetti_20171215.sql new file mode 100644 index 00000000..35674a90 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Gestione_ProdottiProtetti_20171215.sql @@ -0,0 +1,123 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Gestione_ProdottiProtetti_20171215 + + + + + + + + +--[C6MartPeriodico].[Gestione_ProdottiProtetti] 'F', 'TTVNNA39S64H935H' +CREATE procedure [C6MartPeriodico].[Gestione_ProdottiProtetti_20171215] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS + +declare @isinInterfund80 varchar(20) + +set @isinInterfund80 = 'LU1106988527' + +BEGIN + +declare @OrdineRiga int +declare @conta int + +set @conta = 0 +set @OrdineRiga = 0 + + -- 1 LINEA MULTIRAMO + SELECT + @CodiceFiscale as CodiceFiscale + ,'Polizza Multiramo con protezione Linea Protetta' as DescrizioneProdotto + ,COD_CONF as Contratto + ,'TipoParagrafo1' as TipoParagrafo + ,'TipoProdotto1' as TipoProdotto + ,ROW_NUMBER() OVER(order by @CodiceFiscale) as OrdineRiga + into #LineaMultiramo + from [C6MartPeriodico].[CAPPROT_FVI] + where rete = @Rete + and codfis = @CodiceFiscale + and codprod = 'RF' and subprod = 'MP' + + select @conta = count(*) from #LineaMultiramo + + if @conta > 0 + select @OrdineRiga = max(OrdineRiga) from #LineaMultiramo + + -- 2 BLUE AND WHITE + SELECT + @CodiceFiscale as CodiceFiscale + ,DES_PROD_TIT as DescrizioneProdotto + ,COD_CONF as Contratto + ,'TipoParagrafo2' as TipoParagrafo + , + case + when SUBPROD = 'CS80' then 'TipoProdotto2' + when SUBPROD = 'CT80' then 'TipoProdotto3' + end as TipoProdotto + ,ROW_NUMBER() OVER(order by somma_ctv desc, controvalore_riferimento desc) + @OrdineRiga AS OrdineRiga + into #BlueWhite + from [C6MartPeriodico].[CAPPROT_FVI] + where SUBPROD in ('CS80', 'CT80') + and Rete = @Rete + and CODFIS = @CodiceFiscale + order by somma_ctv desc, controvalore_riferimento desc + + select @conta = count(*) from #BlueWhite + + if @conta > 0 + select @OrdineRiga = max(OrdineRiga) from #BlueWhite + + --3 INTERFUND + SELECT + a.CODFIS as CodiceFiscale + ,a.des_prod_tit as DescrizioneProdotto + ,'' as Contratto + ,'TipoParagrafo3' as TipoParagrafo + ,'TipoProdotto1' as TipoProdotto + ,ROW_NUMBER() OVER(order by controvalore desc) + @OrdineRiga AS OrdineRiga + into #Interfund80 + FROM C6MartPeriodico.capprot a + WHERE 1=1 + AND a.RETE = @Rete + AND a.CODFIS = @CodiceFiscale + + select @conta = count(*) from #Interfund80 + + if @conta > 0 + select @OrdineRiga = max(OrdineRiga) from #Interfund80 + + -- 4 FONDITALIA + SELECT + a.CODFIS as CodiceFiscale + ,a.desprodtit as DescrizioneProdotto + ,'' as Contratto + ,'TipoParagrafo3' as TipoParagrafo + ,'TipoProdotto2' as TipoProdotto + ,ROW_NUMBER() OVER(order by ctv desc) + @OrdineRiga AS OrdineRiga + into #Fonditalia80 + FROM c6martperiodico.foi80 a + WHERE 1=1 + AND a.RETE = @Rete + AND a.CODFIS = @CodiceFiscale + + select * from #LineaMultiramo + union + select * from #BlueWhite + union + select * from #Interfund80 + union + select * from #Fonditalia80 + order by OrdineRiga +END + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GetFilesForSendingByFTP.sql b/sql/storedCollaudo/C6MartPeriodico_GetFilesForSendingByFTP.sql new file mode 100644 index 00000000..36f2a04d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GetFilesForSendingByFTP.sql @@ -0,0 +1,13 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GetFilesForSendingByFTP + + +CREATE procedure [C6MartPeriodico].[GetFilesForSendingByFTP] + +AS +BEGIN + select id, nomefile from [C6MartPeriodico].[GESTIONE_ZIP_FTP] where datecopytosend is null + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_GetQueryContratti.sql b/sql/storedCollaudo/C6MartPeriodico_GetQueryContratti.sql new file mode 100644 index 00000000..2aae927f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GetQueryContratti.sql @@ -0,0 +1,21 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GetQueryContratti + + +CREATE procedure [C6MartPeriodico].[GetQueryContratti] + +as + + SELECT + '[' + s.name + '].[' + p.Name + ']' as QueryContratti, + SchemaName = s.name, + ProcedureName = p.name, + s.* + FROM + sys.procedures p + INNER JOIN sys.schemas s + ON p.schema_id = s.schema_id + where (s.name = 'C6MartPeriodico' or s.name = 'C6Mart') + and p.name like '%GESTIONE_SELECT_PDF_GETDATATHREADS%' + order by p.name + diff --git a/sql/storedCollaudo/C6MartPeriodico_GetRiskArea.sql b/sql/storedCollaudo/C6MartPeriodico_GetRiskArea.sql new file mode 100644 index 00000000..ea095e14 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_GetRiskArea.sql @@ -0,0 +1,34 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: GetRiskArea + + + + +--[C6MartPeriodico].[GetRiskArea] 'S', 'GLLRFL52L02L219D' +CREATE procedure [C6MartPeriodico].[GetRiskArea] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + select + + case + when b.profilo is null then -1 + else b.profilo + end as profiloCode + + FROM + C6MartPeriodico.mifid a + left outer join C6MartPeriodico.CODIFICA_RISCHIO b + on A.PROFILO_ASS=B.PROFILO + WHERE + + a.COD_FISCALE = @CodiceFiscale + and a.RETE= @Rete + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_INSERISCI_FASE2_PER_CAMBIO_RETE.sql b/sql/storedCollaudo/C6MartPeriodico_INSERISCI_FASE2_PER_CAMBIO_RETE.sql new file mode 100644 index 00000000..a834106e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_INSERISCI_FASE2_PER_CAMBIO_RETE.sql @@ -0,0 +1,123 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: INSERISCI_FASE2_PER_CAMBIO_RETE + + + + + +CREATE procedure [C6MartPeriodico].[INSERISCI_FASE2_PER_CAMBIO_RETE] +AS + +--Creo un cursore per ciclare sui cf per i quali devo ri-creare la fase2 +DECLARE Cur_CF CURSOR FOR + SELECT [RETE_C],[RETE_R],[CODFIS],[FLAG_ELAB],DT_ELAB FROM [C6StampeCentralizzate].[C6MartPeriodico].[ANAG_CAMBIO_RETE] + +--creo la tabella temporanea dove inserire la riga letta +declare @t_DTCHRETE as datetime +declare @t_COGNOME as varchar(50) +declare @t_RETE_C [varchar](1) +declare @t_RETE_R [varchar](1) +declare @t_CODFIS [varchar](16) +declare @t_CODAGE_C [varchar](6) +declare @t_CODAGE_R [varchar](6) +declare @t_FLAG_ELAB [varchar](1) +declare @t_DT_ELAB [datetime] + + +---------------------------------------------------------- +DECLARE @DataFase datetime +DECLARE @DataFineAvanzato datetime +SET @DataFase = CONVERT(DATETIME, [c6newcu].C6MARTPERIODICO.GETTRIMESTRE2('2019-02-14',0), 103) +SET @DataFineAvanzato = '2019-02-14' --IMPOSTO LA DATA DEL BACKUP DEL DB TRIMESTRALE + + +---------------------------------------------------------- +--ATTIVARE il CURSORE +OPEN Cur_CF + +--PRELEVO la prossima riga +FETCH NEXT FROM Cur_CF into @t_RETE_C,@t_RETE_R,@t_CODFIS,@t_FLAG_ELAB,@t_DT_ELAB + + +--Finch trovo nuove righe... +WHILE @@FETCH_STATUS = 0 +begin + + --print @t_RETE_R + '/' + @t_CODFIS + ' <' + @t_FLAG_ELAB + '>' + + if @t_FLAG_ELAB = 'S' + + begin + + + -- inserisco nella tabella di log + INSERT INTO [C6MartPeriodico].[LOG_CAMBIO_RETE] VALUES (getdate(),@t_RETE_C,@t_RETE_R,@t_CODFIS, 'GIA'' ELABORATO IN DATA '+LEFT(CONVERT(VARCHAR, @t_DT_ELAB, 120), 10)); + + end + + + ELSE + + begin + + --********************************************************************************************** + -- inserimento in [consulenzaUnica].dbo.REP_S80_EVOL_STAMPA_C6 + -- query estratta dalla sp di ribaltamento dei dati in post trimestrale + -- + --********************************************************************************************** + insert into [CONSUNI].[consulenzaUnica].dbo.REP_S80_EVOL_STAMPA_C6 + SELECT + A.ChiaveClientePB, + CASE + WHEN AREA IN ('SELFXY', 'SELFFO') THEN 'SELF' + ELSE UPPER(AREA) + END as AREA, + CASE + WHEN AREA = 'Inv' THEN 2 + WHEN AREA = 'Pre' THEN 3 + WHEN AREA = 'Ris' THEN 4 + WHEN AREA = 'Ext' THEN 1 + WHEN AREA = 'Liq' THEN 5 + WHEN AREA = 'Na' THEN 6 + WHEN AREA = 'Cc' THEN 7 + WHEN AREA = 'SelfXY' THEN 8 + WHEN AREA = 'SelfFO' THEN 9 + ELSE 0 + END AS ORDINE, + FASE, + @DataFase AS DATA_FASE, + CONTROVALORE, + SUM(RISORSEALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSEALLOCATE, + SUM(RISORSENONALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSENONALLOCATE, + SUM(CONTOCORRENTE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS CONTOCORRENTE, + SUM(PVDISINV) over (partition by A.cod_fiscale,A.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + RA.COPERTURA, + MFD.PROFILO_ASS AS PROFILO, + COD_AGENTE AS AGENTE, + case + when isnull(ra.CREDITRISK,0) > 0 + then cast(ra.CREDITRISK as varchar(5)) + --else 'n.a.' + else '5' + end AS RISKCLASS, + MFD.RISKCLASS AS RISKCLASSMAX, + CASE WHEN AREA IN ('SelfXY') THEN CONTROVALORE ELSE 0 END AS LineaSelf, + CASE WHEN AREA IN ('SelfFO') THEN CONTROVALORE ELSE 0 END AS LineaSelfFoglio + FROM + (SELECT + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'XY' THEN 'SELFXY' + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'FO' THEN 'SELFFO' + ELSE LEFT(PBF.ID_AREA,3) + END as AREA, + 2 AS FASE, + SUM(CTV) AS CONTROVALORE, + sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, + max(isnull(PVIA.IMPORTO,0)) AS PVINV, + SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE PBF.CTV END) AS RISORSEALLOCA diff --git a/sql/storedCollaudo/C6MartPeriodico_Inizializzazione_tabellone.sql b/sql/storedCollaudo/C6MartPeriodico_Inizializzazione_tabellone.sql new file mode 100644 index 00000000..1a64b4ba --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Inizializzazione_tabellone.sql @@ -0,0 +1,108 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Inizializzazione_tabellone + + + + + + + + + + + + + + + + + + +CREATE procedure [C6MartPeriodico].[Inizializzazione_tabellone] +AS +BEGIN + + SET NOCOUNT ON; + + TRUNCATE TABLE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + --drop index if exists [IDX_TABELLONE_RETE_ACN] on [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + + + + + INSERT INTO [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + ([rete_acn] + ,[chiave_acn] + ,[indirizzo] + ,[cap] + ,[citta] + ,[provincia] + ,[nazione] + ,[codconf] + ,[codman] + ,rete + ,[chiave_cap] + ,[Tipo_cliente] + ) +select rete,rete+COD_FISCALE,INDIRIZZO,cap,CITTA,PROVINCIA,NAZIONE,codiceContratto,COD_MANDATO,rete, +case when COD_FISCALE not like '%@%' then rete+COD_FISCALE+isnull(PIVA_FIDUCIARIA,'')+isnull(COD_MANDATO,'') +else rete+isnull(PIVA_FIDUCIARIA,'')+isnull(COD_MANDATO,'') end, case when TIP_CONTRATTO=3 then 'Direct' else 'Sei' end as Tipo_Cliente +FROM [C6StampeCentralizzate].[C6StagingPeriodico].[APPO_CONTRATTI] + --select * from consuni_periodico.ConsulenzaUnica.dbo.Cliente where codfis is null + +-- create NONCLUSTERED INDEX [IDX_TABELLONE_RETE_ACN] ON [C6MartPeriodico].[tabellone] +--( [chiave_acn] ASC ) +--WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] + + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set DTTRIM=[C6MartPeriodico].[getTrimestre2](getdate(),0) + +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set nome = tab.NOME , cognome = tab.COGNOME ,dtnasci=tab.dtNascita,codfis=tab.codfis + from consuni_periodico.ConsulenzaUnica.dbo.Cliente tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on substring(a.chiave_acn,2,17)= tab.codfis + --select * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[APPO_CONTRATTI] + +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set nome = tab.NOME , cognome = tab.COGNOME ,dtnasci=tab.dtNascita,codfis=tab.piva + from consuni_periodico.ConsulenzaUnica.dbo.Cliente tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on substring(a.chiave_acn,2,17)= tab.piva + + + +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set nome = tab.NOME , cognome = tab.COGNOME ,dtnasci=tab.dtNascita,codfis=tab.piva + from consuni_periodico.ConsulenzaUnica.dbo.Cliente tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on substring(a.chiave_acn,5,11)= tab.codman + where len(chiave_acn) <= 10 + +--problema nome, cognome +if((select COUNT(*) from C6MartPeriodico.tabellone where cognome is null)>0) +begin +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set nome = tab.NOME , cognome = tab.COGNOME ,dtnasci=tab.DATA_NASCITA + from c6mart.anag_clienti tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on a.chiave_acn=tab.rete+tab.cod_fiscale + where a.cognome is null +end + + +update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] +set cognome =codman+' - '+'SOCIETA'' ITALIANA DI REVISIONE E FIDUCIARIA' ,nome='' +where +cognome like '%SOCIETA'' ITALIANA DI RE%' + + +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set codice_agente= w.Codice_Agente,nominativo_pb=trim(w.[Nominativo_ Agente]) ,codice_fiscale=w.CodiceFiscale, + freq_monitoraggio=w.Freq_Monitoraggio,freq_diagnosi=w.[Freq_ Diagnosi],data_revoca=try_CONVERT(date,cast(w.Data_Revoca as varchar) ,23), + tipo_contratto=w.TipoContratto,tipo_riattivazione=w.TipoRiattivazione,rol_effettiva=isnull(w.ROL,'S') + from [dbo].[W6TRCLI] w + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on w.Rete+w.CodiceFiscale=a.chiave_acn + +--data sottoscrizione (faccio due update per qualcuno che ha delle problematiche, per preferenza meglio il diff --git a/sql/storedCollaudo/C6MartPeriodico_Inserimento_TrimestraleScarti_ExcludedList.sql b/sql/storedCollaudo/C6MartPeriodico_Inserimento_TrimestraleScarti_ExcludedList.sql new file mode 100644 index 00000000..904da617 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Inserimento_TrimestraleScarti_ExcludedList.sql @@ -0,0 +1,19 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Inserimento_TrimestraleScarti_ExcludedList + + + + + + + + +CREATE procedure [C6MartPeriodico].[Inserimento_TrimestraleScarti_ExcludedList] +as + + -- Log esecuzione + INSERT INTO [C6MartPeriodico].[ExcludedList] + select rete,codfis,blacklist,datainsert,bloccato=1 from C6StagingPeriodico.TRIMESTRALE_SCARTI + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_Inserimento_TrimestraleScarti_SegnalazioneDataQuality.sql b/sql/storedCollaudo/C6MartPeriodico_Inserimento_TrimestraleScarti_SegnalazioneDataQuality.sql new file mode 100644 index 00000000..ab449ab1 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Inserimento_TrimestraleScarti_SegnalazioneDataQuality.sql @@ -0,0 +1,26 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Inserimento_TrimestraleScarti_SegnalazioneDataQuality + + + + + + + + +CREATE procedure [C6MartPeriodico].[Inserimento_TrimestraleScarti_SegnalazioneDataQuality] +as + + +SELECT idTipoControllo,RETE,CODFIS,DescSegnalazione,idElaborazione=(select max(id_elab) from c6martperiodico.elaborazioni ),idFaseElaborazione=2,datainsert + into #appoggio1 + FROM [C6StagingPeriodico].[Trimestrale_Scarti] q + left join [C6MartPeriodico].[tb_TipoControllo] a + on a.DescTipoControllo like q.BLACKLIST + + + INSERT INTO [C6MartPeriodico].[tb_SegnalazioniDataQuality] (idTipoControllo,rete,codiceFiscale,descSegnalazione,idElaborazione,idFaseElaborazione,dataInserimento) + select * from #appoggio1 + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_Monitoraggio_Giornaliero.sql b/sql/storedCollaudo/C6MartPeriodico_Monitoraggio_Giornaliero.sql new file mode 100644 index 00000000..d7347621 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Monitoraggio_Giornaliero.sql @@ -0,0 +1,38 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Monitoraggio_Giornaliero + + + + + + +CREATE PROCEDURE [C6MartPeriodico].[Monitoraggio_Giornaliero] + +AS + + + +BEGIN + +declare @id1 as int +select @id1 = MAX (id) from consuni.[ConsulenzaUnicaFL].[dbo].semaforo where nomebatch='Giornaliero' + +declare @conta2 as int +set @conta2 = 0 + + +while ( @conta2 = 0 ) +begin + +waitfor delay '00:00:30'; + +select @conta2 = flsemaforo from consuni.[ConsulenzaUnicaFL].[dbo].semaforo where id=@id1 + +end + + + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_Motivo_ExcludedList.sql b/sql/storedCollaudo/C6MartPeriodico_Motivo_ExcludedList.sql new file mode 100644 index 00000000..ab940292 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Motivo_ExcludedList.sql @@ -0,0 +1,21 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Motivo_ExcludedList + + + +CREATE procedure [C6MartPeriodico].[Motivo_ExcludedList] + @motivo varchar(200) +AS +BEGIN + +SELECT [Rete] + ,[codicefiscale] + ,[DescrErr] + ,[DataIns] + ,[Bloccato] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[ExcludedList_testing] + WHERE [DescrErr] = @motivo + + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate.sql b/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate.sql new file mode 100644 index 00000000..9ffdeacf --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate.sql @@ -0,0 +1,150 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_AreeMonitorate + + + + + + + + + + + +-- Stored procedure + +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate] --'F','BCCMLS56L57F257O' + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS + +BEGIN + +declare @tip_contratto int + +select @tip_contratto=tip_contratto from wh.Maledetti where rete=@Rete and CodiceFiscale=@CodiceFiscale + +--set @tip_contratto=3 --forzatura per FD + +if(@tip_contratto=3) +begin +SELECT +NEED_AREA, +NEED_ESTESA, +--NOME_PROGETTO, + CASE + WHEN ROW_NUMBER() OVER (PARTITION BY NOME_PROGETTO ORDER BY MAX(ORDINE), ORDINAMENTO_PROGETTO) > 1 + THEN NOME_PROGETTO + ' (' + CAST(ROW_NUMBER() OVER (PARTITION BY NOME_PROGETTO ORDER BY MAX(ORDINE), ORDINAMENTO_PROGETTO) - 1 AS NVARCHAR(10)) + ')' + ELSE NOME_PROGETTO + END AS Nome_Progetto, +--CONTROLLO NOME PROGETTO DUPLICATO, TOLTO IL MAX, AGGIUNTO NEL GROUP BY +ORDINAMENTO_PROGETTO, +--MAX(ORDINAMENTO_PROGETTO) AS ORDINAMENTO_PROGETTO, +MAX(ORDINE) AS ORDINE, +--rimettere il min e commentare il ctv=0 +max(AREAPROGETTOSOTTOMONITORAGGIO) AS AREAPROGETTOSOTTOMONITORAGGIO +into #temp +FROM +( + --1.1 liq sotto monit + SELECT + 'Inv' AS Need_Area, + 'Investimento' AS Need_Estesa, + CASE WHEN PIRMOD.NOME_PROGETTO is null and pirmod.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PIRMOD.NOME_PROGETTO)) + END AS Nome_Progetto, + PIRMOD.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PIRMOD.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 6 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + (SELECT + RETE, + COD_FISCALE, + case when ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else id_area end as Id_area, + NOME_PROGETTO, + TIPO_PROGETTO, + PERC_AREA, + CTV_PROGETTO, + CTV_AREA, + ORIZZ_TEMP_NUM, + ORIZZ_TEMP, + CTV_TOTALE, + STATO_CONSULENZA, + DATA_STATO_CONS, + DATA_MIGR_CONS, + DATA_PIANIF, + ID_CONTRATTO, ---LEVARE??? + ORDINAMENTO_PROGETTO + FROM + C6MartPeriodico.CONS_ATTIVAGGIORNATA + WHERE + COD_FISCALE=@CodiceFiscale + and rete= @Rete + ) PIRMOD + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PIRMOD.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PIRMOD.COD_FISCALE + AND MONIT.RETE=PIRMOD.RETE + AND MONIT.ID_AREA= PIRMOD.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PIRMOD.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PIRMOD.ORDINAMENTO_PROGETTO + --inner join C6StagingPeriodico.RP_Progetto_Robo rob ON rob.chiaveProgetto=monit.ORDINAMENTO_PROGETTO + WHERE + PIRMOD.RETE= @Rete + AND PIRMOD.COD_FISCALE = @CodiceFiscale + AND PIRMOD.CTV_PROGETTO > 0 + +------------------------ MIFID2 - MAGGIO 2018 + --AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc', 'LIGHT') + -- and pirmod.Id_area in ('Inv','Liq') --aggiunta per fideuram Direct +------------------------- FINE MIFID2 - MAGGIO 2018 + + +) A + +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + + ORDER BY + MAX(ORDINE), + ORDINAMENTO_PROGETTO + + update #temp + set ORDINE=4 + where Need_Area='Inv' + + select * from #temp + + +end + +else +begin +SELECT +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +--CONTROLLO NOME PROGETTO DUPLICATO, TOLTO IL MAX, AGGIUNTO NEL GROUP BY +ORDINAMENTO_PROGETTO, +--MAX(ORDINAMENTO_PROGETT diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_20180604_PreMifid2.sql b/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_20180604_PreMifid2.sql new file mode 100644 index 00000000..6f4b6f69 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_20180604_PreMifid2.sql @@ -0,0 +1,128 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_AreeMonitorate_20180604_PreMifid2 + + + + + + +-- Stored procedure + +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_20180604_PreMifid2] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS + +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT + +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog + +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +and b.dtfine 0 + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + + + --V ordine cambiato da 5 a 6 inquanto 5 lo stesso di ext, na passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + + SELECT DISTINCT + 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOM diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_20180927_PreOttimizzazione.sql b/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_20180927_PreOttimizzazione.sql new file mode 100644 index 00000000..6407f564 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_20180927_PreOttimizzazione.sql @@ -0,0 +1,128 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_AreeMonitorate_20180927_PreOttimizzazione + + + + + + + +-- Stored procedure + +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_20180927_PreOttimizzazione] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS + +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT + +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog + +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +and b.dtfine 0 + +------------------------ MIFID2 - MAGGIO 2018 + --AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc', 'LIGHT') +------------------------- FINE MIFID2 - MAGGIO 2018 + + + --V ordine cambiato da 5 a 6 inquanto 5 lo stesso di ext, na passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + + SELECT DISTINCT + 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS N diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_20181214_PreMioFoglio.sql b/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..b25d4f94 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_20181214_PreMioFoglio.sql @@ -0,0 +1,125 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_AreeMonitorate_20181214_PreMioFoglio + + + + + + + +-- Stored procedure + +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_20181214_PreMioFoglio] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS + +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT + +-- 20180927 COMMENTATO PERCHE' QUESTE DUE TABELLE TEMPORANEE NON VENGONO UTILIZZATE +--select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +--into #tcptab_aggr_dt +--from c6stagingperiodico.tcptab +--where ctvatt>0 +--group by rete,codfis,codarea,codprog + +--select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +--into #dis_dt +--from c6stagingperiodico.tanab a full join +--#tcptab_aggr_dt b +--on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +--where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +--and b.dtfine 0 + +------------------------ MIFID2 - MAGGIO 2018 + --AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc', 'LIGHT') +------------------------- FINE MIFID2 - MAGGIO 2018 + + + --V ordine cambiato da 5 a 6 inquanto 5 lo stesso di ext, na passato a 7 + --Bido Added for diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_85.sql b/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_85.sql new file mode 100644 index 00000000..833200bc --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_85.sql @@ -0,0 +1,128 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_AreeMonitorate_85 + + + +-- Stored procedure + +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'F','DNERNZ56P01A757W' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_85] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS + +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT + +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog + +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +and b.dtfine 0 + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + + + --V ordine cambiato da 5 a 6 inquanto 5 lo stesso di ext, na passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + + SELECT DISTINCT + 'CC' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 +-- End Of Bido Added for diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_BK_eligoTitoli.sql b/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_BK_eligoTitoli.sql new file mode 100644 index 00000000..8a61d5da --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_BK_eligoTitoli.sql @@ -0,0 +1,129 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_AreeMonitorate_BK_eligoTitoli + + + + + +-- Stored procedure + +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS + +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT + +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog + +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +and b.dtfine 0 + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + + + --V ordine cambiato da 5 a 6 inquanto 5 lo stesso di ext, na passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + + SELECT DISTINCT + 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_PRESBAGLIATA.sql b/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_PRESBAGLIATA.sql new file mode 100644 index 00000000..b3c184d2 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_PRESBAGLIATA.sql @@ -0,0 +1,128 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_AreeMonitorate_PRESBAGLIATA + + +-- +--select * from c6martperiodico.patrimonio_bf +--where id_area like 'Pre%' +-- + + + +-- Stored procedure + +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'S','BLTRNZ48M02F269I' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_PRESBAGLIATA] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS + +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT + +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog + +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where + (b.dtfine 0 + AND PIRMOD.ID_AREA NOT IN ('Pre','Pre1', 'Pre2', 'Cc') + + + --V ordine cambiato da 5 a 6 inquanto 5 lo stesso di ext, na passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + + SELECT DISTINCT + 'CC' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + 999999 as ORDINAMENTO_PROGETTO, + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_SIMULAZIONE.sql b/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_SIMULAZIONE.sql new file mode 100644 index 00000000..9a74edd0 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_SIMULAZIONE.sql @@ -0,0 +1,129 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_AreeMonitorate_SIMULAZIONE + + + + + + +-- Stored procedure + +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'F','DNGMRA56E66D542Z' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_SIMULAZIONE] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS + +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT + +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog + +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +and b.dtfine 0 + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + + + --V ordine cambiato da 5 a 6 inquanto 5 lo stesso di ext, na passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + + SELECT DISTINCT + 'CC' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + 999999 as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_bck201204.sql b/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_bck201204.sql new file mode 100644 index 00000000..0cfe15fd --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_bck201204.sql @@ -0,0 +1,128 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_AreeMonitorate_bck201204 + + + + + + +-- Stored procedure + +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate_SIMULAZIONE] 'S','CZZLRD57R07I982G' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_bck201204] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS + +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT + +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog + +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +and b.dtfine 0 + AND PIRMOD.ID_AREA NOT IN ('Pre','Pre1', 'Pre2', 'Cc') + + + --V ordine cambiato da 5 a 6 inquanto 5 lo stesso di ext, na passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + + SELECT DISTINCT + 'CC' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + 999999 as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_ diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_bkup_20120101.sql b/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_bkup_20120101.sql new file mode 100644 index 00000000..119819e6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_bkup_20120101.sql @@ -0,0 +1,127 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_AreeMonitorate_bkup_20120101 + + + + +-- Stored procedure + +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'F','BRGNRC55E09H223U' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_bkup_20120101] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS + +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT + +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog + +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +and b.dtfine 0 + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + + + --V ordine cambiato da 5 a 6 inquanto 5 lo stesso di ext, na passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + + SELECT DISTINCT + 'CC' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + 999999 as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @Codi diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_preFD.sql b/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_preFD.sql new file mode 100644 index 00000000..90dcf395 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_AreeMonitorate_preFD.sql @@ -0,0 +1,125 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_AreeMonitorate_preFD + + + + + + + +-- Stored procedure + +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_preFD] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS + +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT + +-- 20180927 COMMENTATO PERCHE' QUESTE DUE TABELLE TEMPORANEE NON VENGONO UTILIZZATE +--select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +--into #tcptab_aggr_dt +--from c6stagingperiodico.tcptab +--where ctvatt>0 +--group by rete,codfis,codarea,codprog + +--select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +--into #dis_dt +--from c6stagingperiodico.tanab a full join +--#tcptab_aggr_dt b +--on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +--where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +--and b.dtfine 0 + +------------------------ MIFID2 - MAGGIO 2018 + --AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc', 'LIGHT') +------------------------- FINE MIFID2 - MAGGIO 2018 + + + --V ordine cambiato da 5 a 6 inquanto 5 lo stesso di ext, na passato a 7 + --Bido Added for 'SN' Saldo Negat diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_FD152Patrimonio.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_FD152Patrimonio.sql new file mode 100644 index 00000000..bff84542 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_FD152Patrimonio.sql @@ -0,0 +1,98 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_FD152Patrimonio + + + + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S152Patrimonio] 'f','BNLSRG42S13E666Q' +CREATE procedure [C6MartPeriodico].[PL_D2_FD152Patrimonio] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + DECLARE @PatrimonioRibilanciato DECIMAL(15,2) -- Portafoglio Ribilanciato + DECLARE @PatrimonioBase DECIMAL(15,2) --Portafoglio Base + + + + SELECT @PatrimonioBF = SUM(CTV) + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area not in ('CC','SELF') + + SELECT @Part_viaggianti = SUM(IMPORTO) + FROM + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Martperiodico.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) T + + select POSITION_ID + FROM C6MartPeriodico.PATRIMONIO_BF patrBF inner join + C6StagingPeriodico.RP_Progetto_Robo robo on patrBF.CHIAVE_PROGETTO=robo.chiaveProgetto + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + + select @PatrimonioBase= sum(CTV) + from C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.position_id not in ( + select POSITION_ID + FROM C6MartPeriodico.PATRIMONIO_BF patrBF inner join + C6StagingPeriodico.RP_Progetto_Robo robo on patrBF.CHIAVE_PROGETTO=robo.chiaveProgetto + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale) + + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioRibilanciato =coalesce(@PatrimonioRibilanciato,0) + SET @PatrimonioBase =coalesce(@PatrimonioBase,0) + + SELECT + @PatrimonioBF AS PatrimonioTotaleCTV, + @PatrimonioRibilanciato AS PatrimonioRibilanciatoCTV, + CONVERT(decimal(6,2),((case @PatrimonioRibilanciato when 0.00 then 0.00 else (@PatrimonioRibilanciato)/ @PatrimonioBF end) * 100.00)) AS RibilanciatoPerc, + @PatrimonioBase AS PatrimonioBaseCTV, + CONVERT(decimal(6,2),((case @PatrimonioBase when 0.00 then 0.00 else @PatrimonioBase/@PatrimonioBF end ) *100.00)) AS BasePerc + + +END + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_FD160DettaglioProdottiBF.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_FD160DettaglioProdottiBF.sql new file mode 100644 index 00000000..e59ef7b1 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_FD160DettaglioProdottiBF.sql @@ -0,0 +1,108 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_FD160DettaglioProdottiBF + + + + +-- Stored procedure + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'SLLLMN44E29A176G' +-- [C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF] 'F', 'SPNTTR67T20F205D' +create procedure [C6MartPeriodico].[PL_D2_FD160DettaglioProdottiBF] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT +distinct + + CASE + when robo.isProgettoRobo='S' then 'Rob' + else 'ASF' + END AS needarea, +CASE + when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + --WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + --ELSE AREA.NOME_AREA + END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY robo.isProgettoRobo) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY robo.isProgettoRobo) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY robo.isProgettoRobo) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY robo.isProgettoRobo) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY robo.isProgettoRobo, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY robo.isProgettoRobo, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY robo.isProgettoRobo, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY robo.isProgettoRobo, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY robo.isProgettoRobo, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WH diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_FD170RischioDiversificazione.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_FD170RischioDiversificazione.sql new file mode 100644 index 00000000..6f455123 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_FD170RischioDiversificazione.sql @@ -0,0 +1,130 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_FD170RischioDiversificazione + + + + + + + + + + +-- [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] 'W','MLAMRA61P03G337F' +CREATE procedure [C6MartPeriodico].[PL_D2_FD170RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + + + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + and id_area not in ('LIGHT', 'VOID') + -- modifica del 5/2/2019 per escludere i record del patr non rappresentabile (commentata ed eventualmente utilizzata ad hoc) + --and (rend_non_rappr = 0 or (id_area = 'Liq' and rend_non_rappr = 1)) + --fine modifica del 5/2/2019 + + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + + ------------------------ MIFID2 - MAGGIO 2018 + + DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + declare @maxComplessita as int + + + if @CodiceFiscale like '%FF@%' + + select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2] + where + codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; commentata per MUA + else + select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2] + where + codfis= @CodiceFiscale + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; commentata per MUA + + +SELECT +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, + +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, + +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (6,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, + +-- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi +beneficio as diversificazione, +--case +--when cod_Aggreg = 'COMPLESSIVO' then null +--when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then null +--END AS diversificazione, + +-- fine modifica del 19/6/2018 + + +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' when k.rete = 'S' then 'Sanpaolo Invest' else 'IW Private Investments' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, + +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +isnull(b.max_var, 0) as var_profilo, + +------------------------ MIFID2 - MAGGIO 2018 +case @maxComplessita + whe diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S150Anagrafica.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S150Anagrafica.sql new file mode 100644 index 00000000..05210d64 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S150Anagrafica.sql @@ -0,0 +1,40 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S150Anagrafica + + +CREATE procedure [C6MartPeriodico].[PL_D2_S150Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT [Cliente] + ,[DatadiNascita] + ,[ETA] + ,[Professione] + ,[StatoCivile] + ,[NucleoFamiliare] + ,[Residenza] + ,[CodiceFiscale] + ,[CodicePB] + ,[CodiceRete] + ,[CodiceContratto] + ,[StatoContratto] + ,[DataSottoscrizione] + ,[DataPerfezionamento] + ,[FasciaCPP] + ,[IndirizzoEmail] + ,[ProduzioneReport] + ,[Indirizzo] + ,[CAP] + ,[Citta] + ,[Provincia] + ,[Nazione] + ,[PRESSO] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S25Anagrafica] + WHERE [CodiceRete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S150Anagrafica_BkUpParall.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S150Anagrafica_BkUpParall.sql new file mode 100644 index 00000000..8a82cd13 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S150Anagrafica_BkUpParall.sql @@ -0,0 +1,97 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S150Anagrafica_BkUpParall + +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S150Anagrafica] 'F', 'NCLGDE26B18L388P' +CREATE procedure [C6MartPeriodico].[PL_D2_S150Anagrafica_BkUpParall] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, + +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, + +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + + --V Indirizzo Secondo AULETTA + --CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + -- THEN + -- REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + -- + ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') + -- ELSE + -- REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + -- + ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') + --END AS Residenza, + + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') else '' end + ' ' + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') else '' end + ' ' + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + END AS Residenza, + + + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_SOTT) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + NULL AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + + CONTRATTOSEI.[Prov] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.contrattosei as CONTRATTOSEI + INNER JOIN + C6MARTPERIODICO.ANAG_CLIENTI + ON + ANAG_C diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S151ProfiloDiRischio.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S151ProfiloDiRischio.sql new file mode 100644 index 00000000..d0662611 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S151ProfiloDiRischio.sql @@ -0,0 +1,62 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S151ProfiloDiRischio + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S95ProfiloDiRischio]F,00247580970 +CREATE procedure [C6MartPeriodico].[PL_D2_S151ProfiloDiRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + + + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskclass, + @experience as experince + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S152Patrimonio.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S152Patrimonio.sql new file mode 100644 index 00000000..1c4e8bac --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S152Patrimonio.sql @@ -0,0 +1,121 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S152Patrimonio + + + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S152Patrimonio] 'f','BNLSRG42S13E666Q' +CREATE procedure [C6MartPeriodico].[PL_D2_S152Patrimonio] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + -- modifica del 05/02/2019 per il ProQuota + declare @PatrimonioImmobiliareProQuota decimal(15,2) + -- fine modifica del 05/02/2019 per il ProQuota + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + + SELECT @PatrimonioBF = SUM(CTV) + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area not in ('CC','SELF') + + SELECT @Part_viaggianti = SUM(IMPORTO) + FROM + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Martperiodico.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) T + + SELECT @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + + + SELECT @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + + -- modifica del 05/02/2019 per il ProQuota + SELECT + @PatrimonioImmobiliareProQuota = isnull(SUM(patrImm.VALORE_STIMATO_PROQUOTA), 0) + FROM + C6MARTPeriodico.PATRIMONIO_IMMOBILIARE_ProQuota patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + -- fine modifica del 05/02/2019 per il ProQuota + + + SELECT @PatrimonioAltro = SUM(patrAltro.ctv) + FROM C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + + + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + + + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV + -- modifica del 05/02/2019 per il ProQuota + ,@PatrimonioImmobiliareProQuota as ImmobiliarePQCTV + -- fine modifica del 05/02/2019 per il ProQuota + +END + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S152Patrimonio_20190225__ori.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S152Patrimonio_20190225__ori.sql new file mode 100644 index 00000000..612db0b5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S152Patrimonio_20190225__ori.sql @@ -0,0 +1,103 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S152Patrimonio_20190225__ori + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S152Patrimonio] 'S','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodico].[PL_D2_S152Patrimonio] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + + SELECT @PatrimonioBF = SUM(CTV) + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area not in ('CC','SELF') + + SELECT @Part_viaggianti = SUM(IMPORTO) + FROM + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Martperiodico.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) T + + SELECT @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + + + SELECT @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + + + SELECT @PatrimonioAltro = SUM(patrAltro.ctv) + FROM C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + + + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + + + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV + +END + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S152Patrimonio_20190225_preProquota.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S152Patrimonio_20190225_preProquota.sql new file mode 100644 index 00000000..9ef4ca32 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S152Patrimonio_20190225_preProquota.sql @@ -0,0 +1,104 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S152Patrimonio_20190225_preProquota + + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S152Patrimonio] 'S','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodico].[PL_D2_S152Patrimonio_20190225_preProquota] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + + SELECT @PatrimonioBF = SUM(CTV) + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area not in ('CC','SELF') + + SELECT @Part_viaggianti = SUM(IMPORTO) + FROM + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Martperiodico.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) T + + SELECT @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + + + SELECT @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + + + SELECT @PatrimonioAltro = SUM(patrAltro.ctv) + FROM C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + + + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + + + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV + +END + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S153PatrimonioFinanziario.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S153PatrimonioFinanziario.sql new file mode 100644 index 00000000..e6222122 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S153PatrimonioFinanziario.sql @@ -0,0 +1,141 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S153PatrimonioFinanziario + + +-- [C6MartPeriodico].[PL_D2_S153PatrimonioFinanziario] 's','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodico].[PL_D2_S153PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Intermediario, + Ordine, + CASE @Rete WHEN 'F' THEN 'Fideuram' WHEN 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS Banca, + SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine)) / + (SUM(ctv) over (partition by 'Totale')) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + CASE @Rete WHEN 'F' THEN 'Fideuram' WHEN 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE 1 = 1 + AND patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + and patrBF.id_area not in ('CC','SELF') + + UNION ALL + + SELECT + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + AND patrTerzi.Rete = @Rete + AND patrTerzi.Cod_Fiscale = @CodiceFiscale + GROUP BY patrTerzi.Intermediario + + ) PATR + + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine + +END + + + + + + + + + + + + +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S153PatrimonioFinanziario] Script Date: 09/02/2022 11:23:41 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO + +---- [C6MartPeriodico].[PL_D2_S153PatrimonioFinanziario] 's','LMNFNC40L14L219U' +--ALTER procedure [C6MartPeriodico].[PL_D2_S153PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN + +-- SELECT +-- Intermediario, +-- Ordine, +-- Banca, +-- Controvalore, +-- round(Percentuale,2) as Percentuale +-- FROM +-- ( +-- SELECT DISTINCT +-- Intermediario, +-- Ordine, +-- CASE @Rete WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS Banca, +-- SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, +-- ( +-- (SUM(ctv) over (partition by Intermediario,Ordine)) / +-- (SUM(ctv) over (partition by 'Totale')) +-- ) * 100 AS PERCENTUALE +-- FROM +-- ( +-- SELECT +-- CASE @Rete WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 1 AS ordine +-- FROM C6MartPeriodico.PATRIMONIO_BF patrBF +-- WHERE 1 = 1 +-- AND patrBF.Rete = @Rete +-- AND patrBF.Cod_Fiscale = @CodiceFiscale +-- and patrBF.id_area not in ('CC','SELF') + +-- UNION ALL + +-- SELECT +-- Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 2 AS ordine +-- FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi +-- WHERE 1 = 1 +-- AND patrTerzi.Rete = @Rete +-- AND patrTerzi.Cod_Fiscale = @CodiceFiscale +-- GROUP BY patrTerzi.Intermediario + +-- ) PATR + +-- ) A +-- WHERE CONTROVALORE IS NOT NULL +-- ORDER BY Ordine + +--END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S154PatrimonioFinanziario.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S154PatrimonioFinanziario.sql new file mode 100644 index 00000000..0536bf16 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S154PatrimonioFinanziario.sql @@ -0,0 +1,160 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S154PatrimonioFinanziario + + + + +--[C6MartPeriodico].[PL_D2_S154PatrimonioFinanziario] 'S','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodico].[PL_D2_S154PatrimonioFinanziario] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + + SELECT DISTINCT + CASE @Rete WHEN 'S' THEN 'Sanpaolo Invest' WHEN 'F' THEN 'Fideuram' ELSE 'IW Private Investments' END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + + + SELECT --PRODOTTI BF ESCLUSI GLI ASUL + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO NOT IN ('ASUL') + AND PATRBF.ID_AREA not in ('CC','SELF') + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + + UNION ALL + + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT + + + + + + + + + + + + + + + + + + + + + + + + + + + +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL + +-- UNION ALL + --DETTAGLIO ASUL SENZA SKANDIA + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + UNION ALL + --CON SKANDIA + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + + UNION ALL + + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + + UNION ALL + + --PRODOTTI TERZI NON A CATALOGO + SELE diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare.sql new file mode 100644 index 00000000..f14b7842 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare.sql @@ -0,0 +1,56 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S155PatrimonioImmobiliare + + + + + +CREATE procedure [C6MartPeriodico].[PL_D2_S155PatrimonioImmobiliare] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + + -- modifica del 05/02/2019 per il ProQuota + select + Descrizione, + Tipologia, + Localita, + AffittoPercepito, + Valore_stimato as Valore, + sum(Valore_stimato) OVER (PARTITION BY 'Valore_stimato') as Totale, + sum(AffittoPercepito) OVER (PARTITION BY 'AffittoPercepito') as TotaleAffitto, + + + Tipologia_Diritto as TipologiaDiritto, + ProQuota, + + Valore_Stimato_ProQuota as Valore_ProQuota, + sum(Valore_Stimato_ProQuota) over (partition by 'Valore_Stimato_ProQuota') as TotaleProQuota + + + from C6MARTPERIODICO.PATRIMONIO_IMMOBILIARE_ProQuota + where Rete = @Rete + and COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC + -- fine modifica del 05/02/2019 per il ProQuota + + --SELECT + -- PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + -- PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + -- PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + -- isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + -- PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + -- SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + -- SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + --FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + --WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + -- AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + --ORDER BY 5 DESC +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190225_preProquota.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190225_preProquota.sql new file mode 100644 index 00000000..15a5696d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190225_preProquota.sql @@ -0,0 +1,29 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S155PatrimonioImmobiliare_20190225_preProquota + + + +CREATE procedure [C6MartPeriodico].[PL_D2_S155PatrimonioImmobiliare] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + SELECT + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190502_ProQuota.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190502_ProQuota.sql new file mode 100644 index 00000000..e4e91a1e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190502_ProQuota.sql @@ -0,0 +1,55 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S155PatrimonioImmobiliare_20190502_ProQuota + + + + +CREATE procedure [C6MartPeriodico].[PL_D2_S155PatrimonioImmobiliare_20190502_ProQuota] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + + -- modifica del 05/02/2019 per il ProQuota + select + Descrizione, + Tipologia, + Localita, + AffittoPercepito, + Valore_stimato as Valore, + sum(Valore_stimato) OVER (PARTITION BY 'Valore_stimato') as Totale, + sum(AffittoPercepito) OVER (PARTITION BY 'AffittoPercepito') as TotaleAffitto, + + + Tipologia_Diritto as TipologiaDiritto, + ProQuota, + + Valore_Stimato_ProQuota as Valore_ProQuota, + sum(Valore_Stimato_ProQuota) over (partition by 'Valore_Stimato_ProQuota') as TotaleProQuota + + + from C6MARTPERIODICO.PATRIMONIO_IMMOBILIARE_ProQuota + where Rete = @Rete + and COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC + -- fine modifica del 05/02/2019 per il ProQuota + + --SELECT + -- PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + -- PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + -- PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + -- isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + -- PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + -- SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + -- SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + --FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + --WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + -- AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + --ORDER BY 5 DESC +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S156ALtroPatrimonio.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S156ALtroPatrimonio.sql new file mode 100644 index 00000000..7d72e88a --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S156ALtroPatrimonio.sql @@ -0,0 +1,32 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S156ALtroPatrimonio + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_D2_S156ALtroPatrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + SELECT + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM + C6MartPeriodico.PATRIMONIO_ALTRO + WHERE + PATRIMONIO_ALTRO.RETE = @Rete + AND PATRIMONIO_ALTRO.COD_FISCALE = @CodiceFiscale + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi.sql new file mode 100644 index 00000000..d42e325a --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi.sql @@ -0,0 +1,49 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S157ConfrontoPiramidi + + +CREATE procedure [C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S133_S157DatiPiramide] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql new file mode 100644 index 00000000..78badd07 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql @@ -0,0 +1,128 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi] 'F','NDRRRT54L20D869S' +CREATE procedure [C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + + + IF(@@ROWCOUNT>0) + BEGIN + + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + AND ID_AREA not in ('Na', 'Cc','Self') + + DECLARE @TOTCCSELF AS INT + SELECT @TOTCCSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND (TIPO_PRODOTTO = 'Cc' OR ISIN = 'EURO00000009' ) + +--INIZIO INTERVENTI OMNIA quiii2 + DECLARE @TOTSELF AS INT + SELECT @TOTSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' +--FINE INTERVENTI OMNIA quiii2 + + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + + + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BkUpParall.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BkUpParall.sql new file mode 100644 index 00000000..6f3804e0 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BkUpParall.sql @@ -0,0 +1,125 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S157ConfrontoPiramidi_BkUpParall + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi] 'F','NDRRRT54L20D869S' +CREATE procedure [C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + + + IF(@@ROWCOUNT>0) + BEGIN + + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + AND ID_AREA not in ('Na', 'Cc','Self') + + DECLARE @TOTCCSELF AS INT + SELECT @TOTCCSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND (TIPO_PRODOTTO = 'Cc' OR ISIN in('EURO00000009', 'EURO10000007')) + +--INIZIO INTERVENTI OMNIA quiii2 + DECLARE @TOTSELF AS INT + SELECT @TOTSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in ('EURO00000009', 'EURO10000007') +--FINE INTERVENTI OMNIA quiii2 + + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + + + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_testFc.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_testFc.sql new file mode 100644 index 00000000..2986d496 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_testFc.sql @@ -0,0 +1,128 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S157ConfrontoPiramidi_testFc + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi] 'F','NDRRRT54L20D869S' +CREATE procedure [C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi_testFc] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + + + IF(@@ROWCOUNT>0) + BEGIN + + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + AND ID_AREA not in ('Na', 'Cc','Self') + + DECLARE @TOTCCSELF AS INT + SELECT @TOTCCSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND (TIPO_PRODOTTO = 'Cc' OR ISIN = 'EURO00000009' ) + +--INIZIO INTERVENTI OMNIA quiii2 + DECLARE @TOTSELF AS INT + SELECT @TOTSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' +--FINE INTERVENTI OMNIA quiii2 + + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + + + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTCont diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S158PiramideModello.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S158PiramideModello.sql new file mode 100644 index 00000000..3fd26b23 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S158PiramideModello.sql @@ -0,0 +1,65 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S158PiramideModello + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D_S158PiramideModello] 'F','CLRLCU75R04B573X' +CREATE procedure [C6MartPeriodico].[PL_D2_S158PiramideModello] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT BF.NOME_PROGETTO AS NomePrg, + PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + AGGR.VAR_PERC_PTF as VarPrg, + SUM(BF.CTV)AS ControvalorePrg + FROM C6MartPeriodico.PATRIMONIO_BF BF + INNER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AGGR + ON BF.RETE= AGGR.RETE + AND BF.COD_FISCALE= AGGR.COD_FISCALE + AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO +'|'+cast(BF.ORDINAMENTO_PROGETTO as char) --per Aladdin stato aggiunta la concatenazione --> cast(BF.ORDINAMENTO_PROGETTO as char) + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD + ON BF.RETE= PIRMOD.RETE + AND BF.COD_FISCALE= PIRMOD.COD_FISCALE + AND BF.ID_AREA = PIRMOD.ID_AREA + AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'inv' + AND BF.RETE = @Rete + AND BF.COD_FISCALE = @CodiceFiscale + AND BF.CTV > 0 + group BY BF.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,AGGR.VAR_PERC_PTF + + + + + --SELECT + -- AREA_BISOGNO.ID_AREA AS Need_Breve, -- NOME BREVE DELL'AREA DI BISOGNO + -- PIRMOD.NOME_PROGETTO AS Nome_Progetto, -- NOME DEL PROGETTO (AREA INV) + -- ISNULL(PIRMOD.PERC_AREA,0) AS Perc_Need, -- PERCENTUALE DI ALLOCAZIONE SULL'AREA DI BISOGNO + -- PIRMOD.ORIZZ_TEMP AS Orizz_Temp, -- ORIZZONTE TEMPORALE DEL PROGETTO + -- PIRMOD.CTV_PROGETTO AS Controvalore, -- Controvalore Progetto + -- SUM(ISNULL(PIRMOD.PERC_AREA,0)) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE, AREA_BISOGNO.ID_AREA) AS Totale_Percentuale, -- PERCENTUALE DI ALLOCAZIONE DEI PROGETTI + -- SUM(ISNULL(PIRMOD.PERC_AREA,0)) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE) AS Totale, + -- COUNT(CASE WHEN AREA_BISOGNO.ID_AREA = 'INV' AND PIRMOD.NOME_PROGETTO IS NOT NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE) AS NumeroProgettiInv, + -- AREA_BISOGNO.ORDINAMENTO AS Ordinamento + --FROM C6MartPeriodico.AREA_BISOGNO + --LEFT JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD + -- ON PIRMOD.ID_AREA = AREA_BISOGNO.ID_AREA + -- AND((PIRMOD.ID_AREA = 'INV' AND PIRMOD.NOME_PROGETTO IS NOT NULL )--OR PIRAMIDE_MOD.tipo_progetto<>'Default' + -- OR PIRMOD.ID_AREA IN ('RIS','EXT','LIQ','PRE')) + -- AND PIRMOD.RETE = @Rete + -- AND PIRMOD.COD_FISCALE = @CodiceFiscale + --WHERE AREA_BISOGNO.ORDINAMENTO < 6 + --ORDER BY AREA_BISOGNO.ORDINAMENTO + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S159PatrimonioFinanziario.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S159PatrimonioFinanziario.sql new file mode 100644 index 00000000..c4555cb6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S159PatrimonioFinanziario.sql @@ -0,0 +1,129 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S159PatrimonioFinanziario + + + + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +-- [C6MartPeriodico].[PL_DT_S159PatrimonioFinanziario] 'F','BSHLRI69R13Z100Y' +CREATE procedure [C6MartPeriodico].[PL_D2_S159PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(19,5)) AS Controvalore, + cast(A.Percentuale as decimal(19,5)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) + END + ) * 100 AS Percentuale + FROM ( + + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area not in ('CC','Self') + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + + UNION ALL + + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL + +-- UNION ALL + + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + UNION ALL + + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFis diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF.sql new file mode 100644 index 00000000..84508694 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF.sql @@ -0,0 +1,108 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S160DettaglioProdottiBF + + + +-- Stored procedure + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'SLLLMN44E29A176G' +-- [C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF] 'F', 'SPNTTR67T20F205D' +CREATE procedure [C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT +distinct + +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF A diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_20151222.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_20151222.sql new file mode 100644 index 00000000..0dd91cb8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_20151222.sql @@ -0,0 +1,108 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S160DettaglioProdottiBF_BK_20151222 + + + + +-- Stored procedure + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'SLLLMN44E29A176G' +-- [C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF] 'F', 'MRNMNG53P46H294F' +CREATE procedure [C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF_BK_20151222] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT + +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_P diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql new file mode 100644 index 00000000..57deb5b9 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql @@ -0,0 +1,109 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli + + + + +-- Stored procedure + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'SLLLMN44E29A176G' +-- [C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF] 'F', 'NDRRRT54L20D869S' +CREATE procedure [C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT + +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OV diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S162DettaglioProdotti.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S162DettaglioProdotti.sql new file mode 100644 index 00000000..7f94f74b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S162DettaglioProdotti.sql @@ -0,0 +1,97 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S162DettaglioProdotti + + + +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S162DettaglioProdotti] 'S', 'VNZGPL53M04L781P' +CREATE procedure [C6MartPeriodico].[PL_D2_S162DettaglioProdotti] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + SELECT + + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPP diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..e5e2e631 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,85 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S163PatrimonioFinanziarioMAssetClass + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_D2_S163PatrimonioFinanziarioMAssetClass] 'S', 'SLLVTI76H02A176H' +CREATE procedure [C6MartPeriodico].[PL_D2_S163PatrimonioFinanziarioMAssetClass] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT DISTINCT + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + case SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + when 0 then 1 + else SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + end +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + + UNION ALL + + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + + ) VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + where Controvalore <> 0 + ORDER BY + ASSETCLASS.ORDINAMENTO + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S164PolizzeAltriIstituti.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S164PolizzeAltriIstituti.sql new file mode 100644 index 00000000..7ca90930 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S164PolizzeAltriIstituti.sql @@ -0,0 +1,44 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S164PolizzeAltriIstituti + + +-- ============================================= +-- Author: Marco Gentilezza +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_DT_S164PolizzeAltriIstituti]'S', 'MRTRRT57T17E758I' +CREATE procedure [C6MartPeriodico].[PL_D2_S164PolizzeAltriIstituti] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + SELECT + + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' + WHERE PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S165FondiAltriIstituti.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S165FondiAltriIstituti.sql new file mode 100644 index 00000000..1f533844 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S165FondiAltriIstituti.sql @@ -0,0 +1,75 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S165FondiAltriIstituti + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S165FondiAltriIstituti] 'S', 'MRTRRT57T17E758I' +CREATE procedure [C6MartPeriodico].[PL_D2_S165FondiAltriIstituti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + WHERE + PATRTERZI.rete = @Rete + and PATRTERZI.cod_fiscale = @CodiceFiscale + --AND PATRTERZI.TIPO_PRODOTTO = 'Fondi pensione' + + + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S166ContoCorrenteAI.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S166ContoCorrenteAI.sql new file mode 100644 index 00000000..8b4f41ee --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S166ContoCorrenteAI.sql @@ -0,0 +1,36 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S166ContoCorrenteAI + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_D2_S166ContoCorrenteAI] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + SELECT + CCTerzi.INTERMEDIARIO AS Intermediario, + CCTerzi.COD_CC AS ContoCorrente, + CCTerzi.SALDO AS Saldo, + null as creditrisk, + 'n.a.' as creditriskstring, + 0.00 as var + FROM + C6MartPeriodico.ANAG_CC_Terzi CCTerzi + WHERE + CCTerzi.rete= @Rete + AND CCTerzi.cod_fiscale= @CodiceFiscale + and CCTerzi.SALDO != 0 + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito.sql new file mode 100644 index 00000000..ca57e528 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito.sql @@ -0,0 +1,108 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S167DistribuzioneRischioCredito + + + + +-- Stored procedure + +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S167DistribuzioneRischioCredito] 'F','GGGNNA41E59G687E' + +-- N.B. Questa importante per le note presenti nel macro asset class S10 +CREATE procedure [C6MartPeriodico].[PL_D2_S167DistribuzioneRischioCredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + + +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest', 'IW Private Investments') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, + +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' WHEN PATRBF.RETE ='S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @Cod diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito_PatrimonioNonRapp.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito_PatrimonioNonRapp.sql new file mode 100644 index 00000000..befc4b23 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito_PatrimonioNonRapp.sql @@ -0,0 +1,114 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S167DistribuzioneRischioCredito_PatrimonioNonRapp + + + + +-- Stored procedure + +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S167DistribuzioneRischioCredito] 'F','GGGNNA41E59G687E' +CREATE procedure [C6MartPeriodico].[PL_D2_S167DistribuzioneRischioCredito_PatrimonioNonRapp] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + + +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, + +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +into #rapp +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S168TabellaEmittenti.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S168TabellaEmittenti.sql new file mode 100644 index 00000000..299d66b8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S168TabellaEmittenti.sql @@ -0,0 +1,146 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S168TabellaEmittenti + + + + + +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6Mart].[PL_D_S168TabellaEmittenti] 'F','FF@7181' +CREATE procedure [C6MartPeriodico].[PL_D2_S168TabellaEmittenti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + +declare @patr_compl decimal(18,3) + + +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 + +SELECT + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( + + +-- PER INTERMEDIARIO + + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATI diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S168TabellaEmittenti_BK_20151222.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S168TabellaEmittenti_BK_20151222.sql new file mode 100644 index 00000000..01c48d8f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S168TabellaEmittenti_BK_20151222.sql @@ -0,0 +1,147 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S168TabellaEmittenti_BK_20151222 + + + + + + +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6Mart].[PL_D_S168TabellaEmittenti] 'F','MRNMNG53P46H294F' +CREATE procedure [C6MartPeriodico].[PL_D2_S168TabellaEmittenti_BK_20151222] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + +declare @patr_compl decimal(18,3) + + +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 + +SELECT + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( + + +-- PER INTERMEDIARIO + + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' TH diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..b4c80304 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito.sql @@ -0,0 +1,144 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S169RischiomercatoRischiocredito + + + + + + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] 'S','BLDMCL41L09L378V' +CREATE procedure [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + + + -- 16/7/2018 + into #appo + -- fine 16/7/2018 + + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' then 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' then 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.cod_fiscale = @codiceFiscale + and PATRBF.rete= @rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' then 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' then 'Patrimonio IW Private Inv.' END + + + UNION + + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.cod_fiscale =@codiceFiscale + and TERZI.rete=@rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEF diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito_20180716.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito_20180716.sql new file mode 100644 index 00000000..30d75186 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito_20180716.sql @@ -0,0 +1,143 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S169RischiomercatoRischiocredito_20180716 + + + + + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_S96RischiomercatoRischiocredito] 'F','GZZSLD52E20G869L' +CREATE procedure [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito_20180716] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.cod_fiscale = @codiceFiscale + and PATRBF.rete= @rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + + + UNION + + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.cod_fiscale =@codiceFiscale + and TERZI.rete=@rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'CO diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S170RischioDiversificazione.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S170RischioDiversificazione.sql new file mode 100644 index 00000000..c14b7cfd --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S170RischioDiversificazione.sql @@ -0,0 +1,129 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S170RischioDiversificazione + + + + + + + + + + +-- [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] 'W','MLAMRA61P03G337F' +CREATE procedure [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] --'S','BCCNDR69P21A462P' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + + + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + and id_area not in ('LIGHT', 'VOID') + -- modifica del 5/2/2019 per escludere i record del patr non rappresentabile (commentata ed eventualmente utilizzata ad hoc) + --and (rend_non_rappr = 0 or (id_area = 'Liq' and rend_non_rappr = 1)) + --fine modifica del 5/2/2019 + + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + + ------------------------ MIFID2 - MAGGIO 2018 + + DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim = c6martperiodico.getTrimestre(getDate(),0) + declare @maxComplessita as int + + + if @CodiceFiscale like '%FF@%' + + select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2] + where + codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; commentata per MUA + else + select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2] + where + codfis= @CodiceFiscale + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; commentata per MUA + + +SELECT +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, + +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, + +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (6,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, + +-- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi +beneficio as diversificazione, +--case +--when cod_Aggreg = 'COMPLESSIVO' then null +--when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then null +--END AS diversificazione, + +-- fine modifica del 19/6/2018 + + +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' when k.rete = 'S' then 'Sanpaolo Invest' else 'IW Private Investments' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, + +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +isnull(b.max_var, 0) as var_profilo, + +------------------------ MIFID2 - MAGGIO 2018 +case @ diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S170RischioDiversificazione_NoLight.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S170RischioDiversificazione_NoLight.sql new file mode 100644 index 00000000..fc107d63 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S170RischioDiversificazione_NoLight.sql @@ -0,0 +1,128 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S170RischioDiversificazione_NoLight + + + + + +-- [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] 's','ff@G81D1' +CREATE procedure [C6MartPeriodico].[PL_D2_S170RischioDiversificazione_NoLight] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + + + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + and id_area not in ('LIGHT', 'VOID') + + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + + ------------------------ MIFID2 - MAGGIO 2018 + + DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + declare @maxComplessita as int + + + if @CodiceFiscale like '%FF@%' + + select @maxComplessita = MAXCOMPL from [C6StagingPeriodico].[WSEIAN2] + where + -- codfis like + -- CASE when @CodiceFiscale like '%FF@%'THEN '%%' + -- ELSE @CodiceFiscale + -- END + --and codman = + -- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + -- ELSE '' + -- END + codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; + + else + + select @maxComplessita = MAXCOMPL from [C6StagingPeriodico].[WSEIAN2] + where + -- codfis like + -- CASE when @CodiceFiscale like '%FF@%'THEN '%%' + -- ELSE @CodiceFiscale + -- END + --and codman = + -- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + -- ELSE '' + -- END + codfis= @CodiceFiscale + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; + + +SELECT +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, + +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, + +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, + +-- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi +beneficio as diversificazione, +--case +--when cod_Aggreg = 'COMPLESSIVO' then null +--when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then null +--END AS diversificazione, + +-- fine modifica del 19/6/2018 + + +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' when k.rete = 'S' then 'Sanpaolo Invest' else 'IW Private Investments' end) +when cod_Aggreg = 'COMPL diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..e638ef4e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,132 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D2_S171PatrimonioNonRappresentabileAssettClass + + +-- ============================================= +-- Author: +-- Create date: 30/08/2013 +-- Description: uguale a S76 +-- ============================================= +--[C6MartPeriodico].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BLNMTN60L53L736R' +CREATE procedure [C6MartPeriodico].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + DECLARE @NOMERETE VARCHAR(30) + IF @RETE = 'F' + SET @NOMERETE = 'Fideuram' + ELSE IF @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL +--INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <> 0.00 +--INIZIO INTERVENTI OMNIA + + UNION ALL + + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO , + --savingmap - Novembre 2019 + patrbf.tipo_prodotto + ORDER BY CONTROVALORE DESC + +END + + + + + + + + + +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] Script Date: 09/02/2022 11:46:31 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: 30/08/2013 +---- Description: uguale a S76 +---- ============================================= +----[C6MartPeriodico].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BLNMTN60L53L736R' +--ALTER procedure [C6MartPeriodico].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) + +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. + +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @RETE = 'F' +-- SET @NOMERETE = 'Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' + +-- SELECT +-- PATRBF.I diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D3_S151ProfiloDiRischio.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D3_S151ProfiloDiRischio.sql new file mode 100644 index 00000000..104a4699 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D3_S151ProfiloDiRischio.sql @@ -0,0 +1,115 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D3_S151ProfiloDiRischio + + + + + + + + +-- ============================================= +-- Author: +-- Create date: <05/04/2018> +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_D3_S151ProfiloDiRischio] 'F', 'DVTMRA58B09F839W' +CREATE procedure [C6MartPeriodico].[PL_D3_S151ProfiloDiRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenzaProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @descrizioneProfilo VARCHAR(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza VARCHAR(100) + DECLARE @riserva decimal(13,2) + DECLARE @inv_l_p decimal(5,2) + + + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + --DA DEFINIRE: + @dataScadenzaProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + else '-' + end + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + + -- RICERCA DATA FINE VALIDITA' + declare @dtfinval decimal(9,0) + + declare @codman varchar(6) + set @codman = '' + + if upper(left(@CodiceFiscale,3)) = 'FF@' + begin + set @codman = substring(@CodiceFiscale,4,len(@CodiceFiscale)-3) + select @dtfinval = dtfinval,@riserva=IMP_RISERVA,@inv_l_p=PERC_ILP from C6StagingPeriodico.WSEIAN2 + where codman = @codman and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice mandato' + end + else + begin + select @dtfinval = dtfinval,@riserva=IMP_RISERVA,@inv_l_p=PERC_ILP from C6StagingPeriodico.WSEIAN2 + where codfis = @CodiceFiscale and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice fiscale' + end + -- + + if @dtfinval <> 0 and @dtfinval is not null and ltrim(rtrim(@dtfinval)) <> '' + set @dataScadenzaProfilo = CONVERT(datetime, CONVERT(varchar,CONVERT(int,@dtfinval)), 0) + else + set @dataScadenzaProfilo = null + + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (convert(datetime, @dataScadenzaProfilo)) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as descrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as descrizioneEsperienza, + @riserva as Riserva, + @inv_l_p as Inv_L_P + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql new file mode 100644 index 00000000..0870ef4a --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql @@ -0,0 +1,113 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_FD177ProfiloDiRischio_Adeguatezza + + + + + + + + + + +--[C6MartPeriodico].[PL_D_S177ProfiloDiRischio_Adeguatezza] 'F', 'DVTMRA58B09F839W' +CREATE procedure [C6MartPeriodico].[PL_D_FD177ProfiloDiRischio_Adeguatezza]-- 'F', 'SPNTTR67T20F205D' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + + + SET NOCOUNT ON; + + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenza DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + declare @descrizioneProfilo varchar(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @riskclassDescr VARCHAR(250) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza varchar(20) + DECLARE @riserva decimal(13,2) + DECLARE @inv_l_p decimal(5,2) + + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenza = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + --when 5 then 'Alta' + else '-' + end + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + + + -- RICERCA DATA FINE VALIDITA' + declare @dtfinval decimal(9,0) + + declare @codman varchar(6) + set @codman = '' + + if upper(left(@CodiceFiscale,3)) = 'FF@' + begin + set @codman = substring(@CodiceFiscale,4,len(@CodiceFiscale)-3) + select @dtfinval = dtfinval,@riserva=isnull(IMP_RISERVA,0.00),@inv_l_p=isnull(PERC_ILP,0.00) from C6StagingPeriodico.WSEIAN2 + where codman = @codman and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice mandato' + end + else + begin + select @dtfinval = dtfinval,@riserva=isnull(IMP_RISERVA,0.00),@inv_l_p=isnull(PERC_ILP,0.00) from C6StagingPeriodico.WSEIAN2 + where codfis = @CodiceFiscale and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice fiscale' + end + -- + + if @dtfinval <> 0 and @dtfinval is not null and ltrim(rtrim(@dtfinval)) <> '' + set @dataScadenza = CONVERT(datetime, CONVERT(varchar,CONVERT(int,@dtfinval)), 0) + else + set @dataScadenza = null + + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (@dataScadenza) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as DescrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as descrizioneEsperienza, + @riserva as riserva, + @inv_l_p as investimento_l_periodo + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza.sql new file mode 100644 index 00000000..e8bd1ec0 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza.sql @@ -0,0 +1,128 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_FD178IndicatoriEsitoAdeguatezza + + + + + + + + + + + + + + + + + +--[C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza] 's', 'LMZGNN35M47F205W' +CREATE procedure [C6MartPeriodico].[PL_D_FD178IndicatoriEsitoAdeguatezza] --'W','DRNSNT51B44H090Q' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + +--*************************************************************************** SOLO per test +--drop table @appo,#wseian,@TABELLAINDICATORI +--declare @Rete char(1),@CodiceFiscale varchar(16) +--set @Rete = 'f' +--set @CodiceFiscale = 'BTTFST43C42B300A'--'LNGLGU49D23F587Z'--'BRSDRN64E24D749H'--'00703420968'-- +--set @DataFineTrim = 20180430 +--*************************************************************************** + +select * +into #WSEIAN2 +from C6MartPeriodico.WSEIAN2 +where RETE=@Rete +and CODFIS=@CodiceFiscale + + +DECLARE @adeguato [varchar](5) +DECLARE @descrizione [varchar](1000) + + +-- ************************** creo la tabella iniziale con tutti gli indicatori +declare @TABELLAINDICATORI table +( + TI_Ordine [smallint] null, + TI_Indicatore [varchar](80) null, + TI_Adeguato [varchar](5) null, + TI_Descrizione [varchar](1000) null +) + +insert into @TABELLAINDICATORI values (1,'Rischio','-1','Non applicabile') +insert into @TABELLAINDICATORI values (2,'Riserva','-1','Non applicabile') +insert into @TABELLAINDICATORI values (3,'Investimento di Lungo Periodo','-1','Non applicabile') +insert into @TABELLAINDICATORI values (4,'Complessit','-1','Non applicabile') +insert into @TABELLAINDICATORI values (5,'Concentrazione in prodotti complessi','-1','Non applicabile') +insert into @TABELLAINDICATORI values (6,'Frequenza delle operazioni','-1','Non applicabile') +insert into @TABELLAINDICATORI values (7,'Concentrazione emittenti','-1','Non applicabile') +insert into @TABELLAINDICATORI values (8,'Concentrazione valutaria','-1','Non applicabile') + +-- ***************************************************************************** + +declare @appo table +( + RETE [varchar](1) null, + COD_FISCALE [varchar](16) null, + PATRIMONIO [varchar](255) NOT NULL, + CTV_AGGREG [decimal](12, 2) null, + profiloCode [smallint] null, + var_profilo [decimal](5, 2) null, + [VAR] [decimal](12, 3) NULL, + varString [varchar](16) null,--[decimal](12, 3) NULL, + CREDITRISK [int] NULL, + RISKCLASSSTRING [varchar](10) null, + coperturaString [varchar](16) null,--[decimal](12, 3) NULL, + COVERAGESTRING [varchar](10) null, + RISKCLASSMAX [varchar](50) null, + [PERCENTAGE] [decimal](12, 6) null, + Ordine [smallint] null, + ULLY_PERC [decimal](10, 2) NULL + + +) +--creo le tabelle di appoggio +insert into @appo exec [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] @Rete,@CodiceFiscale + + + + + + +--*************************************************************************** INDICATORE DI VALUTAZIONE: RISCHIO + +select @adeguato = +case + when var <= var_profilo then '1' + when var > var_profilo then '0' + else -1 +end, +@descrizione = case + when var <= var_profilo then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '1') + when var > var_profilo then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '-1') + +end +from @appo where ordine = 1 --patrimonio fideuram + + +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 1; + + +--**************** diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza_preMUA.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza_preMUA.sql new file mode 100644 index 00000000..60d2f677 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza_preMUA.sql @@ -0,0 +1,122 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_FD178IndicatoriEsitoAdeguatezza_preMUA + + + + + + + + + + + +--[C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza] 's', 'LMZGNN35M47F205W' +CREATE procedure [C6MartPeriodico].[PL_D_FD178IndicatoriEsitoAdeguatezza_preMUA] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + +--*************************************************************************** SOLO per test +--drop table @appo,#wseian,@TABELLAINDICATORI +--declare @Rete char(1),@CodiceFiscale varchar(16) +--set @Rete = 'f' +--set @CodiceFiscale = 'BTTFST43C42B300A'--'LNGLGU49D23F587Z'--'BRSDRN64E24D749H'--'00703420968'-- +--set @DataFineTrim = 20180430 +--*************************************************************************** + + +DECLARE @adeguato [varchar](5) +DECLARE @descrizione [varchar](1000) + + +-- ************************** creo la tabella iniziale con tutti gli indicatori +declare @TABELLAINDICATORI table +( + TI_Ordine [smallint] null, + TI_Indicatore [varchar](80) null, + TI_Adeguato [varchar](5) null, + TI_Descrizione [varchar](1000) null +) + +insert into @TABELLAINDICATORI values (1,'Rischio','-1','Non applicabile') +insert into @TABELLAINDICATORI values (2,'Riserva','-1','Non applicabile') +insert into @TABELLAINDICATORI values (3,'Investimento di Lungo Periodo','-1','Non applicabile') +insert into @TABELLAINDICATORI values (4,'Complessit','-1','Non applicabile') +insert into @TABELLAINDICATORI values (5,'Concentrazione in prodotti complessi','-1','Non applicabile') +insert into @TABELLAINDICATORI values (6,'Frequenza delle operazioni','-1','Non applicabile') +insert into @TABELLAINDICATORI values (7,'Concentrazione emittenti','-1','Non applicabile') +insert into @TABELLAINDICATORI values (8,'Concentrazione valutaria','-1','Non applicabile') + +-- ***************************************************************************** + +declare @appo table +( + RETE [varchar](1) null, + COD_FISCALE [varchar](16) null, + PATRIMONIO [varchar](255) NOT NULL, + CTV_AGGREG [decimal](12, 2) null, + profiloCode [smallint] null, + var_profilo [decimal](5, 2) null, + [VAR] [decimal](12, 3) NULL, + varString [varchar](16) null,--[decimal](12, 3) NULL, + CREDITRISK [int] NULL, + RISKCLASSSTRING [varchar](10) null, + coperturaString [varchar](16) null,--[decimal](12, 3) NULL, + COVERAGESTRING [varchar](10) null, + RISKCLASSMAX [varchar](50) null, + [PERCENTAGE] [decimal](12, 6) null, + Ordine [smallint] null, + ULLY_PERC [decimal](10, 2) NULL + + +) +--creo le tabelle di appoggio +insert into @appo exec [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] @Rete,@CodiceFiscale + +declare @WSEIAN_S170 table +( + [DTTRIM] [decimal](9, 0) NOT NULL, + [RETE] [varchar](1) NOT NULL, + [CODFIS] [varchar](16) NOT NULL, + [NOME] [varchar](25) NULL, + [COGNOME] [varchar](25) NULL, + [DTNASCI] [decimal](9, 0) NULL, + [INDIRIZZO] [varchar](44) NULL, + [CAP] [varchar](5) NULL, + [CITTA] [varchar](35) NULL, + [PROVINCIA] [varchar](2) NULL, + [NAZIONE] [varchar](35) NULL, + [CODPROF] [smallint] NULL, + [DTINVAL] [decimal](9, 0) NOT NULL, + [CODMAN] [varchar](6) NULL, + [CLASSERC] [decimal](5, 0) NULL, + [COD_PROFEC] [decimal](5, 0) NULL, + [FLAGPG] [decimal](1, 0) NULL, + [CLCOMPL] [char](1) NOT NULL, + [FLGCONC] [char](1) NOT NULL, + [FLAGNQP] [char](1) NULL, + [FLGPRLRDE] [char](1) NULL, + [FLGPROF] [char](1) NULL, + [DTFINVAL] [decimal](9, 0) NULL, + [CONCEMI] [char](1) NULL, + [FREQ] [char](1) NULL, + [LLIQUID] [char](1) NULL, + [PREFSOST] [char](1) NULL, + [FLAGAMB] [char](1) NULL, + [FLAGSOC] [char](1) NULL, + [FLAGGOV] [char](1) NULL, + [ADEGCONC_VALUT] [char](1) NULL, + [SOGLIAESG] [decimal](5, 2) NULL, + [COERENZA] [char](1) NULL, + [RISERVA] [char](1) NULL, + [INVL_PERIOD] [char]( diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S150Anagrafica.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S150Anagrafica.sql new file mode 100644 index 00000000..d38be802 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S150Anagrafica.sql @@ -0,0 +1,99 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S150Anagrafica + + + + + +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S150Anagrafica] 'F', 'NCLGDE26B18L388P' +CREATE procedure [C6MartPeriodico].[PL_D_S150Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, + +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, + +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + + --V Indirizzo Secondo AULETTA + --CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + -- THEN + -- REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + -- + ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') + -- ELSE + -- REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + -- + ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') + --END AS Residenza, + -- + + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') else '' end + ' ' + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') else '' end + ' ' + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + END AS Residenza, + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_SOTT) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + NULL AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + + CONTRATTOSEI.[Prov] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.contrattosei as CONTRATTOSEI + INNER JOIN + C6MARTPERIODICO.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S151ProfiloDiRischio.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S151ProfiloDiRischio.sql new file mode 100644 index 00000000..9adb9307 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S151ProfiloDiRischio.sql @@ -0,0 +1,60 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S151ProfiloDiRischio + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S95ProfiloDiRischio]F,00247580970 +CREATE procedure [C6MartPeriodico].[PL_D_S151ProfiloDiRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + + + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskclass, + @experience as experince + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S152Patrimonio.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S152Patrimonio.sql new file mode 100644 index 00000000..72a58ff3 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S152Patrimonio.sql @@ -0,0 +1,115 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S152Patrimonio + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_DT_S152Patrimonio] 'F','MRSPLA53H24D643J' +CREATE procedure [C6MartPeriodico].[PL_D_S152Patrimonio] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + + SELECT + @PatrimonioBF = SUM(CTV) + FROM + C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area <> 'CC' --escludo il cc negativo + +-- SELECT @Part_viaggianti=SUM(IMPORTO) +-- FROM C6MartPeriodico.PARTITE_VIAGGIANTI partvia +-- WHERE +-- partvia.Rete = @Rete +-- and partvia.Cod_Fiscale = @CodiceFiscale + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Martperiodico.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + + + SELECT + @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM + C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + + + SELECT + @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM + C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + + + SELECT + @PatrimonioAltro = SUM(patrAltro.ctv) + FROM + C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + + + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + + + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV + +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S153PatrimonioFinanziario.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S153PatrimonioFinanziario.sql new file mode 100644 index 00000000..d9682094 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S153PatrimonioFinanziario.sql @@ -0,0 +1,159 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S153PatrimonioFinanziario + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S153PatrimonioFinanziario] 'F','GZZSLD52E20G869L' +CREATE procedure [C6MartPeriodico].[PL_D_S153PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + + DECLARE @NOMERETE VARCHAR(30) + + IF @Rete = 'F' + SET @NOMERETE = 'Fideuram' + ELSE if @Rete = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + + SELECT + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Intermediario, + Ordine, + @NOMERETE AS Banca, + -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv + SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine)) / + (SUM(ctv) over (partition by 'Totale')) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + @NOMERETE AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MartPeriodico.PATRIMONIO_BF patrBF +-- LEFT JOIN C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- AND PATRBF.TIPO_PRODOTTO = 'CC' + WHERE 1 = 1 + AND patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO + and patrBF.id_area <> 'cc' + UNION ALL + + + + SELECT + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + AND patrTerzi.Rete = @Rete + AND patrTerzi.Cod_Fiscale = @CodiceFiscale + GROUP BY patrTerzi.Intermediario + + ) PATR + + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine + +END + + + + + + + + + + + + + + +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D_S153PatrimonioFinanziario] Script Date: 09/02/2022 11:00:54 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO + +---- Stored procedure + +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +---- [C6MartPeriodico].[PL_DT_S153PatrimonioFinanziario] 'F','GZZSLD52E20G869L' +--ALTER procedure [C6MartPeriodico].[PL_D_S153PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from + +-- DECLARE @NOMERETE VARCHAR(20) + +-- IF @Rete = 'F' +-- SET @NOMERETE = 'Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' + +-- SELECT +-- Intermediario, +-- Ordine, +-- Banca, +-- Controvalore, +-- round(Percentuale,2) as Percentuale +-- FROM +-- ( +-- SELECT DISTINCT +-- Intermediario, +-- Ordine, +-- @NOMERETE AS Banca, +-- -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv +-- SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, +-- ( +-- (SUM(ctv) over (partition by Intermediario,Ordine)) / +-- (SUM(ctv) over (partition by 'Totale')) +-- ) * 100 AS PERCENTUALE +-- FROM +-- ( +-- SELECT +-- @NOMERETE AS Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 1 AS ordine +-- FROM C6MartPeriodico.PATRIMONIO_BF patrBF +---- LEFT JOIN C6MartPeriodico.ClientiConCCNegativo CCNegativo +---- ON PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- AND PATRBF.TIPO_PRODOTTO = 'CC' +-- WHERE 1 = 1 +-- AND diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S154PatrimonioFinanziario.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S154PatrimonioFinanziario.sql new file mode 100644 index 00000000..b60662bb --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S154PatrimonioFinanziario.sql @@ -0,0 +1,161 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S154PatrimonioFinanziario + + +-- Stored procedure + + +-- ============================================= +-- Author: Luca De Lisio +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_DT_S154PatrimonioFinanziario] 'F','LNTNNE59L06F205C' +CREATE procedure [C6MartPeriodico].[PL_D_S154PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + +SELECT + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + + --PRODOTTI BF ESCLUSI GLI ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + + UNION ALL + + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT + + + + + + + + + + + + + + + + + + + + + + + + + + + +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL + +-- UNION ALL + --DETTAGLIO ASUL SENZA SKANDIA + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + UNION ALL + --CON SKANDIA + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + + UNION ALL + + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*I diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S155PatrimonioImmobiliare.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S155PatrimonioImmobiliare.sql new file mode 100644 index 00000000..c0cbb7c9 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S155PatrimonioImmobiliare.sql @@ -0,0 +1,27 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S155PatrimonioImmobiliare + + +CREATE procedure [C6MartPeriodico].[PL_D_S155PatrimonioImmobiliare] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + SELECT + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S156ALtroPatrimonio.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S156ALtroPatrimonio.sql new file mode 100644 index 00000000..f20b7a5c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S156ALtroPatrimonio.sql @@ -0,0 +1,30 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S156ALtroPatrimonio + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_D_S156ALtroPatrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + SELECT + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM + C6MartPeriodico.PATRIMONIO_ALTRO + WHERE + PATRIMONIO_ALTRO.RETE = @Rete + AND PATRIMONIO_ALTRO.COD_FISCALE = @CodiceFiscale + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S157ConfrontoPiramidi.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S157ConfrontoPiramidi.sql new file mode 100644 index 00000000..5d35f495 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S157ConfrontoPiramidi.sql @@ -0,0 +1,119 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S157ConfrontoPiramidi + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S157ConfrontoPiramidi] 'F','BNNDRC23B44E689L' +CREATE procedure [C6MartPeriodico].[PL_D_S157ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + LEFT(ID_AREA,3) AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + + + IF(@@ROWCOUNT>0) + BEGIN + + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc') + --V + DECLARE @TOTCC AS INT + SELECT @TOTCC = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND TIPO_PRODOTTO = 'Cc' + + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + + + + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCC = @TOT THEN 0.00 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S158PiramideModello.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S158PiramideModello.sql new file mode 100644 index 00000000..05acb357 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S158PiramideModello.sql @@ -0,0 +1,63 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S158PiramideModello + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D_S158PiramideModello] 'F','CLRLCU75R04B573X' +CREATE procedure [C6MartPeriodico].[PL_D_S158PiramideModello] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT BF.NOME_PROGETTO AS NomePrg, + PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + AGGR.VAR_PERC_PTF as VarPrg, + SUM(BF.CTV)AS ControvalorePrg + FROM C6MartPeriodico.PATRIMONIO_BF BF + INNER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AGGR + ON BF.RETE= AGGR.RETE + AND BF.COD_FISCALE= AGGR.COD_FISCALE + AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD + ON BF.RETE= PIRMOD.RETE + AND BF.COD_FISCALE= PIRMOD.COD_FISCALE + AND BF.ID_AREA = PIRMOD.ID_AREA + AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'inv' + AND BF.RETE = @Rete + AND BF.COD_FISCALE = @CodiceFiscale + AND BF.CTV > 0 + group BY BF.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,AGGR.VAR_PERC_PTF + + + + + --SELECT + -- AREA_BISOGNO.ID_AREA AS Need_Breve, -- NOME BREVE DELL'AREA DI BISOGNO + -- PIRMOD.NOME_PROGETTO AS Nome_Progetto, -- NOME DEL PROGETTO (AREA INV) + -- ISNULL(PIRMOD.PERC_AREA,0) AS Perc_Need, -- PERCENTUALE DI ALLOCAZIONE SULL'AREA DI BISOGNO + -- PIRMOD.ORIZZ_TEMP AS Orizz_Temp, -- ORIZZONTE TEMPORALE DEL PROGETTO + -- PIRMOD.CTV_PROGETTO AS Controvalore, -- Controvalore Progetto + -- SUM(ISNULL(PIRMOD.PERC_AREA,0)) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE, AREA_BISOGNO.ID_AREA) AS Totale_Percentuale, -- PERCENTUALE DI ALLOCAZIONE DEI PROGETTI + -- SUM(ISNULL(PIRMOD.PERC_AREA,0)) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE) AS Totale, + -- COUNT(CASE WHEN AREA_BISOGNO.ID_AREA = 'INV' AND PIRMOD.NOME_PROGETTO IS NOT NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE) AS NumeroProgettiInv, + -- AREA_BISOGNO.ORDINAMENTO AS Ordinamento + --FROM C6MartPeriodico.AREA_BISOGNO + --LEFT JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD + -- ON PIRMOD.ID_AREA = AREA_BISOGNO.ID_AREA + -- AND((PIRMOD.ID_AREA = 'INV' AND PIRMOD.NOME_PROGETTO IS NOT NULL )--OR PIRAMIDE_MOD.tipo_progetto<>'Default' + -- OR PIRMOD.ID_AREA IN ('RIS','EXT','LIQ','PRE')) + -- AND PIRMOD.RETE = @Rete + -- AND PIRMOD.COD_FISCALE = @CodiceFiscale + --WHERE AREA_BISOGNO.ORDINAMENTO < 6 + --ORDER BY AREA_BISOGNO.ORDINAMENTO + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S159PatrimonioFinanziario.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S159PatrimonioFinanziario.sql new file mode 100644 index 00000000..4595fb3d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S159PatrimonioFinanziario.sql @@ -0,0 +1,130 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S159PatrimonioFinanziario + + + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +-- [C6MartPeriodico].[PL_DT_S159PatrimonioFinanziario] 'F','BSHLRI69R13Z100Y' +CREATE procedure [C6MartPeriodico].[PL_D_S159PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(19,5)) AS Controvalore, + cast(A.Percentuale as decimal(19,5)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) + END + ) * 100 AS Percentuale + FROM ( + + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + + UNION ALL + + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL + +-- UNION ALL + + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + UNION ALL + + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + ) VALOR diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S160DettaglioProdottiBF.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S160DettaglioProdottiBF.sql new file mode 100644 index 00000000..7ac53f28 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S160DettaglioProdottiBF.sql @@ -0,0 +1,103 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S160DettaglioProdottiBF + + +-- Stored procedure + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'SLLLMN44E29A176G' +-- [C6MartPeriodico].[PL_DT_S160DettaglioProdottiBF] 'S', 'GSTMGS42D51L833Z' +CREATE procedure [C6MartPeriodico].[PL_D_S160DettaglioProdottiBF] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +SELECT + +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +E diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S162DettaglioProdotti.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S162DettaglioProdotti.sql new file mode 100644 index 00000000..2ba1b9b9 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S162DettaglioProdotti.sql @@ -0,0 +1,96 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S162DettaglioProdotti + + +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D_S162DettaglioProdotti] 'F', 'BLDRST50M28C556X' +CREATE procedure [C6MartPeriodico].[PL_D_S162DettaglioProdotti] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + SELECT + + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PR diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S163PatrimonioFinanziarioMAssetClass.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S163PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..a6fc041c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S163PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,78 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S163PatrimonioFinanziarioMAssetClass + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_DT_S163PatrimonioFinanziarioMAssetClass] 'F', 'BRCRRT70L21A390C' +CREATE procedure [C6MartPeriodico].[PL_D_S163PatrimonioFinanziarioMAssetClass] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT DISTINCT + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + isnull(( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + NULLIF(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'),0) + ) * 100,0) AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + + UNION ALL + + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + + ) VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + ORDER BY + ASSETCLASS.ORDINAMENTO + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S164PolizzeAltriIstituti.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S164PolizzeAltriIstituti.sql new file mode 100644 index 00000000..74c33728 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S164PolizzeAltriIstituti.sql @@ -0,0 +1,42 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S164PolizzeAltriIstituti + +-- ============================================= +-- Author: Marco Gentilezza +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_DT_S164PolizzeAltriIstituti]'S', 'MRTRRT57T17E758I' +CREATE procedure [C6MartPeriodico].[PL_D_S164PolizzeAltriIstituti] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + SELECT + + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' + WHERE PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S165FondiAltriIstituti.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S165FondiAltriIstituti.sql new file mode 100644 index 00000000..56d013cd --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S165FondiAltriIstituti.sql @@ -0,0 +1,73 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S165FondiAltriIstituti + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S165FondiAltriIstituti] 'S', 'MRTRRT57T17E758I' +CREATE procedure [C6MartPeriodico].[PL_D_S165FondiAltriIstituti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + WHERE + PATRTERZI.rete = @Rete + and PATRTERZI.cod_fiscale = @CodiceFiscale + --AND PATRTERZI.TIPO_PRODOTTO = 'Fondi pensione' + + + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S166ContoCorrenteAI.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S166ContoCorrenteAI.sql new file mode 100644 index 00000000..83116e45 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S166ContoCorrenteAI.sql @@ -0,0 +1,35 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S166ContoCorrenteAI + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_D_S166ContoCorrenteAI] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + SELECT + CCTerzi.INTERMEDIARIO AS Intermediario, + CCTerzi.COD_CC AS ContoCorrente, + CCTerzi.SALDO AS Saldo, + null as creditrisk, + 'n.a.' as creditriskstring, + 0.00 as var + FROM + C6MartPeriodico.ANAG_CC_Terzi CCTerzi + WHERE + CCTerzi.rete= @Rete + AND CCTerzi.cod_fiscale= @CodiceFiscale + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S167DistribuzioneRischioCredito.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S167DistribuzioneRischioCredito.sql new file mode 100644 index 00000000..f84ce359 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S167DistribuzioneRischioCredito.sql @@ -0,0 +1,115 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S167DistribuzioneRischioCredito + + +-- Stored procedure + +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D_S167DistribuzioneRischioCredito] 'F','GGGNNA41E59G687E' +CREATE procedure [C6MartPeriodico].[PL_D_S167DistribuzioneRischioCredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + + +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest', 'IW Private Investments') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, + +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' WHEN PATRBF.RETE='S' then 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S168TabellaEmittenti.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S168TabellaEmittenti.sql new file mode 100644 index 00000000..18e32bad --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S168TabellaEmittenti.sql @@ -0,0 +1,145 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S168TabellaEmittenti + + + + +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6Mart].[PL_D_S168TabellaEmittenti] 'F','FF@7181' +CREATE procedure [C6MartPeriodico].[PL_D_S168TabellaEmittenti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + +declare @patr_compl decimal(18,3) + + +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 + +SELECT + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( + + +-- PER INTERMEDIARIO + + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_ diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S169RischiomercatoRischiocredito.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S169RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..204d4fee --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S169RischiomercatoRischiocredito.sql @@ -0,0 +1,136 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S169RischiomercatoRischiocredito + + + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_S96RischiomercatoRischiocredito] 'F','GZZSLD52E20G869L' +CREATE procedure [C6MartPeriodico].[PL_D_S169RischiomercatoRischiocredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.cod_fiscale = @codiceFiscale + and PATRBF.rete= @rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END + + + UNION + + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.cod_fiscale =@codiceFiscale + and TERZI.rete=@rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AG diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S170RischioDiversificazione.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S170RischioDiversificazione.sql new file mode 100644 index 00000000..f8482592 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S170RischioDiversificazione.sql @@ -0,0 +1,150 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S170RischioDiversificazione + + +-- [C6MartPeriodico].[PL_D_S170RischioDiversificazione] 'F','FF@7181' +CREATE procedure [C6MartPeriodico].[PL_D_S170RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + + + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + + +SELECT +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, + +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, + +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, + +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' WHEN k.rete ='S' then 'Sanpaolo Invest' ELSE 'IW Private Inv.' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, + +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine + + +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine + + +END + + + + + + + + + + + + + + + +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D_S170RischioDiversificazione] Script Date: 09/02/2022 11:10:20 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO + +---- [C6MartPeriodico].[PL_D_S170RischioDiversificazione] 'F','FF@7181' +--ALTER procedure [C6MartPeriodico].[PL_D_S170RischioDiversificazione] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) + +--AS +--BEGIN + + +-- declare @contaCC as int +-- select @contaCC = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + + +-- declare @contaPOS as int +-- select @contaPOS = count(*) +-- from c6martperiodico.patrimonio_Bf + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..106b0bd2 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,127 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S171PatrimonioNonRappresentabileAssettClass + + +-- ============================================= +-- Author: +-- Create date: 30/08/2013 +-- Description: uguale a S76 +-- ============================================= +--[C6MartPeriodico].[PL_D_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +CREATE procedure [C6MartPeriodico].[PL_D_S171PatrimonioNonRappresentabileAssettClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Fideuram' + ELSE if @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + + UNION ALL + + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO + ORDER BY CONTROVALORE DESC + +END + + + + + + + + + +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D_S171PatrimonioNonRappresentabileAssettClass] Script Date: 09/02/2022 11:19:57 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO + +---- ============================================= +---- Author: +---- Create date: 30/08/2013 +---- Description: uguale a S76 +---- ============================================= +----[C6MartPeriodico].[PL_D_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +--ALTER procedure [C6MartPeriodico].[PL_D_S171PatrimonioNonRappresentabileAssettClass] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) + +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. + +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @RETE = 'F' +-- SET @NOMERETE = 'Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' + +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- PATRBF.CTV as Controvalore, +-- PATRBF.CTV as controvalore_contratto, +-- PATRBF.PARTVIA_DISINV as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM C6MARTPERIODICO.PATRIMONIO_BF P diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza.sql new file mode 100644 index 00000000..e8c37dad --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza.sql @@ -0,0 +1,113 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S177ProfiloDiRischio_Adeguatezza + + + + + + + + + + +--[C6MartPeriodico].[PL_D_S177ProfiloDiRischio_Adeguatezza] 'F', 'DVTMRA58B09F839W' +CREATE procedure [C6MartPeriodico].[PL_D_S177ProfiloDiRischio_Adeguatezza_BKP_20231114_PRE_RAFFORZAMENTO]-- 'F', 'SPNTTR67T20F205D' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + + + SET NOCOUNT ON; + + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenza DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + declare @descrizioneProfilo varchar(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @riskclassDescr VARCHAR(250) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza varchar(20) + DECLARE @riserva decimal(13,2) + DECLARE @inv_l_p decimal(5,2) + + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenza = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + --when 5 then 'Alta' + else '-' + end + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + + + -- RICERCA DATA FINE VALIDITA' + declare @dtfinval decimal(9,0) + + declare @codman varchar(6) + set @codman = '' + + if upper(left(@CodiceFiscale,3)) = 'FF@' + begin + set @codman = substring(@CodiceFiscale,4,len(@CodiceFiscale)-3) + select @dtfinval = dtfinval,@riserva=isnull(IMP_RISERVA,0.00),@inv_l_p=isnull(PERC_ILP,0.00) from C6StagingPeriodico.WSEIAN2 + where codman = @codman and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice mandato' + end + else + begin + select @dtfinval = dtfinval,@riserva=isnull(IMP_RISERVA,0.00),@inv_l_p=isnull(PERC_ILP,0.00) from C6StagingPeriodico.WSEIAN2 + where codfis = @CodiceFiscale and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice fiscale' + end + -- + + if @dtfinval <> 0 and @dtfinval is not null and ltrim(rtrim(@dtfinval)) <> '' + set @dataScadenza = CONVERT(datetime, CONVERT(varchar,CONVERT(int,@dtfinval)), 0) + else + set @dataScadenza = null + + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (@dataScadenza) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as DescrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as descrizioneEsperienza, + @riserva as riserva, + @inv_l_p as investimento_l_periodo + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza_20180706_PreCRNapolitano.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza_20180706_PreCRNapolitano.sql new file mode 100644 index 00000000..766758cc --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza_20180706_PreCRNapolitano.sql @@ -0,0 +1,91 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S177ProfiloDiRischio_Adeguatezza_20180706_PreCRNapolitano + + + + +--[C6MartPeriodico].[PL_D_S177ProfiloDiRischio_Adeguatezza] 'F', 'DVTMRA58B09F839W' +CREATE procedure [C6MartPeriodico].[PL_D_S177ProfiloDiRischio_Adeguatezza_20180706_PreCRNapolitano] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + + + SET NOCOUNT ON; + + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenza DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + declare @descrizioneProfilo varchar(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @riskclassDescr VARCHAR(250) + DECLARE @experience SMALLINT + + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenza = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + + + -- RICERCA DATA FINE VALIDITA' + declare @dtfinval decimal(9,0) + + declare @codman varchar(6) + set @codman = '' + + if upper(left(@CodiceFiscale,3)) = 'FF@' + begin + set @codman = substring(@CodiceFiscale,4,len(@CodiceFiscale)-3) + select @dtfinval = dtfinval from C6StagingPeriodico.WSEIAN + where codman = @codman and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN) + print 'codice mandato' + end + else + begin + select @dtfinval = dtfinval from C6StagingPeriodico.WSEIAN + where codfis = @CodiceFiscale and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN) + print 'codice fiscale' + end + -- + + if @dtfinval <> 0 and @dtfinval is not null and ltrim(rtrim(@dtfinval)) <> '' + set @dataScadenza = CONVERT(datetime, CONVERT(varchar,CONVERT(int,@dtfinval)), 0) + else + set @dataScadenza = null + + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (@dataScadenza) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as DescrizioneProfilo, + @riskclass as riskclass, + @experience as experince + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S178CasiParticolari.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S178CasiParticolari.sql new file mode 100644 index 00000000..a961dd50 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S178CasiParticolari.sql @@ -0,0 +1,148 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S178CasiParticolari + + + + + + + + + + + +-- [C6MartPeriodico].[PL_D_S178CasiParticolari] 'F','BLRDNC73D12B925K' +CREATE procedure [C6MartPeriodico].[PL_D_S178CasiParticolari] --'S','02708090580' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + declare @Copertura decimal(10,2) + declare @SoloProdottiSenzaAdeguatezza int + + declare @SoloCC int + declare @SoloProdottiSenzaAdeguatezzaOrSoloCC int + + declare @Scaduti_Retail varchar + declare @Scaduti_Prof varchar + + declare @IDTesto int + + declare @isDirect varchar + + set @IDTesto = 0 + +------------------------------------------------------------------------------ CASO 1 COPERTURA = 0 + + select @isDirect = case when TIP_CONTRATTO=3 then 'S' else 'N' end from C6StagingPeriodico.APPO_CONTRATTI where rete=@Rete and COD_FISCALE=@CodiceFiscale + + select @Copertura=copertura + from C6MartPeriodico.RISCHIO_AGGREGATO + -- 'COMPLESSIVO|BF' come viene fatto nella PL_D_S157ConfrontoPiramidi per la copertura_tot, campo per l'esposizione della nota sulla coperura sotto la piramide + where cod_aggreg='COMPLESSIVO|BF' + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE + +------------------------------------------------------------------------------ FINE CASO 1 + +------------------------------------------------------------------------------ CASO 2 SENZA PRODOTTI IN ADEGUATEZZA E/O SOLO CC IN PORTAFOGLIO + + -- Controllo se nel Portafoglio c' solo CC + + select rete, cod_fiscale, id_area + into #t1 + from c6martperiodico.patrimonio_bf + where rete = @Rete and cod_fiscale = @CodiceFiscale + group by rete,cod_fiscale, id_area + + select rete, cod_fiscale, count(*) as numero + into #t2 + from #t1 + group by rete, cod_fiscale having count(*) = 1 + + if exists( + select p.rete, p.cod_fiscale + from c6martperiodico.patrimonio_bf p + inner join #t2 + on p.rete = #t2.rete + and p.cod_fiscale = #t2.cod_fiscale + --where rete + cod_fiscale in (select rete + cod_fiscale from #t2) + where p.id_area = 'liq' + and p.tipo_prodotto = 'cc' + ) + + set @soloCC = 1 + else + set @soloCC = 0 + + drop table #t1 + drop table #t2 + + + -- Se le count torna 0 record significa che in ptf ci sono solo prodotti senza adeguatezza + + select @SoloProdottiSenzaAdeguatezza = count(*) + from c6martperiodico.patrimonio_bf patr + left join [C6StagingPeriodico].[Prodotti_Fuori_Adeguatezza] senza + on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto + where patr.rete = @rete + and patr.cod_fiscale = @codicefiscale + and senza.codinterno is null + + -- Se si verifica uno dei due casi, imposto la variabile a 1 + if @SoloProdottiSenzaAdeguatezza = 0 or @SoloCC = 1 + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 1 + else + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 0 + + +----------------------------------------------------------------------------- FINE CASO 2 + +-- CASO 3 COPERTURA = 0 + e ptf con solo PRODOTTI senza ADEGUATEZZA +-- FINE CASO 3 + +--4 Scaduti Retail +select @Scaduti_Retail = RPF.FLGPROF +from C6MartPeriodico.wseirpf RPF +left join C6StagingPeriodico.WSEIAN2 w +on w.RETE=RPF.Rete and w.CODFIS=RPF.CODFIS +where RPF.FLGPROF='P' and W.FLGPROF='N' +AND RPF.CODFIS = @COdiceFISCALE +and RPF.RETE= @RETE + + + +--5 Scaduti Prof +select @Scaduti_Prof = RPF.FLGPROF +from C6MartPeriodico.wseirpf RPF +left join C6StagingPeriodico.WSEIAN2 w +on w.RETE=RPF.Rete and w.CODFIS=RPF.CODFIS +where RPF.FLGPROF='P' and W.FLGPROF='S' +AND RPF.CODFIS = @COdiceFISCALE +and RPF.RETE= @RETE + + +-- RISULTATO FINALE + + if(@Copertura = 0) + begin + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 3 + end + else + begin + set @IDTesto = 1 + end + end + else + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 2 + end + if (@Scaduti_Retail) ='P' and (@isDirect= diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S178CasiParticolari_20181220.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S178CasiParticolari_20181220.sql new file mode 100644 index 00000000..6ab8b932 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S178CasiParticolari_20181220.sql @@ -0,0 +1,79 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S178CasiParticolari_20181220 + + + + + + + + +-- [C6MartPeriodico].[PL_D_S178CasiParticolari] 'F','DVTMRA58B09F839W' +CREATE procedure [C6MartPeriodico].[PL_D_S178CasiParticolari_20181220] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------ CASO 1 COPERTURA = 0 + declare @Copertura decimal(10,2) + declare @SoloProdottiSenzaAdeguatezza int + + declare @IDTesto int + + set @IDTesto = 0 + + select @Copertura=copertura + from C6MartPeriodico.RISCHIO_AGGREGATO + -- 'COMPLESSIVO|BF' come viene fatto nella PL_D_S157ConfrontoPiramidi per la copertura_tot, campo per l'esposizione della nota sulla coperura sotto la piramide + where cod_aggreg='COMPLESSIVO|BF' + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE + + +------------------------------------------------------------------------------ FINE CASO 1 + +------------------------------------------------------------------------------ CASO 2 SENZA PRODOTTI IN ADEGUATEZZA + -- Se le count torna 0 record significa che in ptf ci sono solo prodotti senza adeguatezza + + select @SoloProdottiSenzaAdeguatezza= count(*) + from c6martperiodico.patrimonio_bf patr + left join [C6StagingPeriodico].[Prodotti_Fuori_Adeguatezza] senza + on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto + where patr.rete = @rete + and patr.cod_fiscale = @codicefiscale + and senza.codinterno is null + +----------------------------------------------------------------------------- FINE CASO 2 + +-- CASO 3 COPERTURA = 0 + e ptf con solo PRODOTTI senza ADEGUATEZZA +-- FINE CASO 3 + +-- RISULTATO FINALE + + if(@Copertura = 0) + begin + if(@SoloProdottiSenzaAdeguatezza=0) + begin + set @IDTesto = 3 + end + else + begin + set @IDTesto = 1 + end + end + else + if(@SoloProdottiSenzaAdeguatezza=0) + begin + set @IDTesto = 2 + end + + select ID, Testo + from [C6MartPeriodico].[TB_S178CasiParticolari_Testi] + where ID = @IDTesto + + +end + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S178CasiParticolari_BKP_20231114_PRE_RAFFORZAMENTO.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S178CasiParticolari_BKP_20231114_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..2e7327cb --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S178CasiParticolari_BKP_20231114_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,126 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S178CasiParticolari_BKP_20231114_PRE_RAFFORZAMENTO + + + + + + + + + + +-- [C6MartPeriodico].[PL_D_S178CasiParticolari] 'F','BLRDNC73D12B925K' +CREATE procedure [C6MartPeriodico].[PL_D_S178CasiParticolari_BKP_20231114_PRE_RAFFORZAMENTO] --'S','02708090580' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + declare @Copertura decimal(10,2) + declare @SoloProdottiSenzaAdeguatezza int + + declare @SoloCC int + declare @SoloProdottiSenzaAdeguatezzaOrSoloCC int + + declare @IDTesto int + + set @IDTesto = 0 + +------------------------------------------------------------------------------ CASO 1 COPERTURA = 0 + + select @Copertura=copertura + from C6MartPeriodico.RISCHIO_AGGREGATO + -- 'COMPLESSIVO|BF' come viene fatto nella PL_D_S157ConfrontoPiramidi per la copertura_tot, campo per l'esposizione della nota sulla coperura sotto la piramide + where cod_aggreg='COMPLESSIVO|BF' + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE + +------------------------------------------------------------------------------ FINE CASO 1 + +------------------------------------------------------------------------------ CASO 2 SENZA PRODOTTI IN ADEGUATEZZA E/O SOLO CC IN PORTAFOGLIO + + -- Controllo se nel Portafoglio c' solo CC + + select rete, cod_fiscale, id_area + into #t1 + from c6martperiodico.patrimonio_bf + where rete = @Rete and cod_fiscale = @CodiceFiscale + group by rete,cod_fiscale, id_area + + select rete, cod_fiscale, count(*) as numero + into #t2 + from #t1 + group by rete, cod_fiscale having count(*) = 1 + + if exists( + select p.rete, p.cod_fiscale + from c6martperiodico.patrimonio_bf p + inner join #t2 + on p.rete = #t2.rete + and p.cod_fiscale = #t2.cod_fiscale + --where rete + cod_fiscale in (select rete + cod_fiscale from #t2) + where p.id_area = 'liq' + and p.tipo_prodotto = 'cc' + ) + + set @soloCC = 1 + else + set @soloCC = 0 + + drop table #t1 + drop table #t2 + + + -- Se le count torna 0 record significa che in ptf ci sono solo prodotti senza adeguatezza + + select @SoloProdottiSenzaAdeguatezza = count(*) + from c6martperiodico.patrimonio_bf patr + left join [C6StagingPeriodico].[Prodotti_Fuori_Adeguatezza] senza + on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto + where patr.rete = @rete + and patr.cod_fiscale = @codicefiscale + and senza.codinterno is null + + -- Se si verifica uno dei due casi, imposto la variabile a 1 + if @SoloProdottiSenzaAdeguatezza = 0 or @SoloCC = 1 + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 1 + else + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 0 + + +----------------------------------------------------------------------------- FINE CASO 2 + +-- CASO 3 COPERTURA = 0 + e ptf con solo PRODOTTI senza ADEGUATEZZA +-- FINE CASO 3 + +-- RISULTATO FINALE + + if(@Copertura = 0) + begin + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 3 + end + else + begin + set @IDTesto = 1 + end + end + else + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 2 + end + + select ID, Testo + from [C6MartPeriodico].[TB_S178CasiParticolari_Testi] + where ID = @IDTesto + + +end + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S178CasiParticolari_old.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S178CasiParticolari_old.sql new file mode 100644 index 00000000..ad5f5e08 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S178CasiParticolari_old.sql @@ -0,0 +1,126 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S178CasiParticolari_old + + + + + + + + + + +-- [C6MartPeriodico].[PL_D_S178CasiParticolari] 'F','BLRDNC73D12B925K' +CREATE procedure [C6MartPeriodico].[PL_D_S178CasiParticolari_old] --'S','02708090580' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + declare @Copertura decimal(10,2) + declare @SoloProdottiSenzaAdeguatezza int + + declare @SoloCC int + declare @SoloProdottiSenzaAdeguatezzaOrSoloCC int + + declare @IDTesto int + + set @IDTesto = 0 + +------------------------------------------------------------------------------ CASO 1 COPERTURA = 0 + + select @Copertura=copertura + from C6MartPeriodico.RISCHIO_AGGREGATO + -- 'COMPLESSIVO|BF' come viene fatto nella PL_D_S157ConfrontoPiramidi per la copertura_tot, campo per l'esposizione della nota sulla coperura sotto la piramide + where cod_aggreg='COMPLESSIVO|BF' + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE + +------------------------------------------------------------------------------ FINE CASO 1 + +------------------------------------------------------------------------------ CASO 2 SENZA PRODOTTI IN ADEGUATEZZA E/O SOLO CC IN PORTAFOGLIO + + -- Controllo se nel Portafoglio c' solo CC + + select rete, cod_fiscale, id_area + into #t1 + from c6martperiodico.patrimonio_bf + where rete = @Rete and cod_fiscale = @CodiceFiscale + group by rete,cod_fiscale, id_area + + select rete, cod_fiscale, count(*) as numero + into #t2 + from #t1 + group by rete, cod_fiscale having count(*) = 1 + + if exists( + select p.rete, p.cod_fiscale + from c6martperiodico.patrimonio_bf p + inner join #t2 + on p.rete = #t2.rete + and p.cod_fiscale = #t2.cod_fiscale + --where rete + cod_fiscale in (select rete + cod_fiscale from #t2) + where p.id_area = 'liq' + and p.tipo_prodotto = 'cc' + ) + + set @soloCC = 1 + else + set @soloCC = 0 + + drop table #t1 + drop table #t2 + + + -- Se le count torna 0 record significa che in ptf ci sono solo prodotti senza adeguatezza + + select @SoloProdottiSenzaAdeguatezza = count(*) + from c6martperiodico.patrimonio_bf patr + left join [C6StagingPeriodico].[Prodotti_Fuori_Adeguatezza] senza + on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto + where patr.rete = @rete + and patr.cod_fiscale = @codicefiscale + and senza.codinterno is null + + -- Se si verifica uno dei due casi, imposto la variabile a 1 + if @SoloProdottiSenzaAdeguatezza = 0 or @SoloCC = 1 + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 1 + else + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 0 + + +----------------------------------------------------------------------------- FINE CASO 2 + +-- CASO 3 COPERTURA = 0 + e ptf con solo PRODOTTI senza ADEGUATEZZA +-- FINE CASO 3 + +-- RISULTATO FINALE + + if(@Copertura = 0) + begin + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 3 + end + else + begin + set @IDTesto = 1 + end + end + else + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 2 + end + + select ID, Testo + from [C6MartPeriodico].[TB_S178CasiParticolari_Testi] + where ID = @IDTesto + + +end + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S178CasiParticolari_report_ridotto.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S178CasiParticolari_report_ridotto.sql new file mode 100644 index 00000000..9855e4b1 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S178CasiParticolari_report_ridotto.sql @@ -0,0 +1,125 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S178CasiParticolari_report_ridotto + + + + + + + + + +-- [C6MartPeriodico].[PL_D_S178CasiParticolari] 'F','BLRDNC73D12B925K' +CREATE procedure [C6MartPeriodico].[PL_D_S178CasiParticolari] --'S','02708090580' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + declare @Copertura decimal(10,2) + declare @SoloProdottiSenzaAdeguatezza int + + declare @SoloCC int + declare @SoloProdottiSenzaAdeguatezzaOrSoloCC int + + declare @IDTesto int + + set @IDTesto = 0 + +------------------------------------------------------------------------------ CASO 1 COPERTURA = 0 + + select @Copertura=copertura + from C6MartPeriodico.RISCHIO_AGGREGATO + -- 'COMPLESSIVO|BF' come viene fatto nella PL_D_S157ConfrontoPiramidi per la copertura_tot, campo per l'esposizione della nota sulla coperura sotto la piramide + where cod_aggreg='COMPLESSIVO|BF' + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE + +------------------------------------------------------------------------------ FINE CASO 1 + +------------------------------------------------------------------------------ CASO 2 SENZA PRODOTTI IN ADEGUATEZZA E/O SOLO CC IN PORTAFOGLIO + + -- Controllo se nel Portafoglio c' solo CC + + select rete, cod_fiscale, id_area + into #t1 + from c6martperiodico.patrimonio_bf + where rete = @Rete and cod_fiscale = @CodiceFiscale + group by rete,cod_fiscale, id_area + + select rete, cod_fiscale, count(*) as numero + into #t2 + from #t1 + group by rete, cod_fiscale having count(*) = 1 + + if exists( + select p.rete, p.cod_fiscale + from c6martperiodico.patrimonio_bf p + inner join #t2 + on p.rete = #t2.rete + and p.cod_fiscale = #t2.cod_fiscale + --where rete + cod_fiscale in (select rete + cod_fiscale from #t2) + where p.id_area = 'liq' + and p.tipo_prodotto = 'cc' + ) + + set @soloCC = 1 + else + set @soloCC = 0 + + drop table #t1 + drop table #t2 + + + -- Se le count torna 0 record significa che in ptf ci sono solo prodotti senza adeguatezza + + select @SoloProdottiSenzaAdeguatezza = count(*) + from c6martperiodico.patrimonio_bf patr + left join [C6StagingPeriodico].[Prodotti_Fuori_Adeguatezza] senza + on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto + where patr.rete = @rete + and patr.cod_fiscale = @codicefiscale + and senza.codinterno is null + + -- Se si verifica uno dei due casi, imposto la variabile a 1 + if @SoloProdottiSenzaAdeguatezza = 0 or @SoloCC = 1 + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 1 + else + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 0 + + +----------------------------------------------------------------------------- FINE CASO 2 + +-- CASO 3 COPERTURA = 0 + e ptf con solo PRODOTTI senza ADEGUATEZZA +-- FINE CASO 3 + +-- RISULTATO FINALE + + if(@Copertura = 0) + begin + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 3 + end + else + begin + set @IDTesto = 1 + end + end + else + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 2 + end + + select ID, Testo + from [C6MartPeriodico].[TB_S178CasiParticolari_Testi] + where ID = 1 + + +end + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza.sql new file mode 100644 index 00000000..945f5454 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza.sql @@ -0,0 +1,128 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S178IndicatoriEsitoAdeguatezza + + + + + + + + + + + + + + + + + +--[C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza] 'F', 'FF@P08202' +CREATE procedure [C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza] --'S','MLNPFR59L04I138DS' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + +--*************************************************************************** SOLO per test +--drop table @appo,#wseian,@TABELLAINDICATORI +--declare @Rete char(1),@CodiceFiscale varchar(16) +--set @Rete = 'f' +--set @CodiceFiscale = 'BTTFST43C42B300A'--'LNGLGU49D23F587Z'--'BRSDRN64E24D749H'--'00703420968'-- +--set @DataFineTrim = 20180430 +--*************************************************************************** + +select * +into #WSEIAN2 +from C6MartPeriodico.WSEIAN2 +where RETE=@Rete +and CODFIS=@CodiceFiscale + + +DECLARE @adeguato [varchar](5) +DECLARE @descrizione [varchar](1000) + + +-- ************************** creo la tabella iniziale con tutti gli indicatori +declare @TABELLAINDICATORI table +( + TI_Ordine [smallint] null, + TI_Indicatore [varchar](80) null, + TI_Adeguato [varchar](5) null, + TI_Descrizione [varchar](1000) null +) + +insert into @TABELLAINDICATORI values (1,'Rischio','-1','Non applicabile') +insert into @TABELLAINDICATORI values (2,'Riserva','-1','Non applicabile') +insert into @TABELLAINDICATORI values (3,'Investimento di lungo periodo','-1','Non applicabile') +insert into @TABELLAINDICATORI values (4,'Complessit','-1','Non applicabile') +insert into @TABELLAINDICATORI values (5,'Concentrazione in prodotti complessi','-1','Non applicabile') +insert into @TABELLAINDICATORI values (6,'Frequenza delle operazioni','-1','Non applicabile') +insert into @TABELLAINDICATORI values (7,'Concentrazione emittenti','-1','Non applicabile') +insert into @TABELLAINDICATORI values (8,'Concentrazione valutaria','-1','Non applicabile') + +-- ***************************************************************************** + +declare @appo table +( + RETE [varchar](1) null, + COD_FISCALE [varchar](16) null, + PATRIMONIO [varchar](255) NOT NULL, + CTV_AGGREG [decimal](12, 2) null, + profiloCode [smallint] null, + var_profilo [decimal](5, 2) null, + [VAR] [decimal](12, 3) NULL, + varString [varchar](16) null,--[decimal](12, 3) NULL, + CREDITRISK [int] NULL, + RISKCLASSSTRING [varchar](10) null, + coperturaString [varchar](16) null,--[decimal](12, 3) NULL, + COVERAGESTRING [varchar](10) null, + RISKCLASSMAX [varchar](50) null, + [PERCENTAGE] [decimal](12, 6) null, + Ordine [smallint] null, + ULLY_PERC [decimal](10, 2) NULL + + +) +--creo le tabelle di appoggio +insert into @appo exec [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] @Rete,@CodiceFiscale + + + + + + +--*************************************************************************** INDICATORE DI VALUTAZIONE: RISCHIO + +select @adeguato = +case + when var <= var_profilo then '1' + when var > var_profilo then '0' + else -1 +end, +@descrizione = case + when var <= var_profilo then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '1') + when var > var_profilo then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '-1') + +end +from @appo where ordine = 1 --patrimonio fideuram + + +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 1; + + +--************************ diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza_preMUA.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza_preMUA.sql new file mode 100644 index 00000000..096f7d11 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza_preMUA.sql @@ -0,0 +1,122 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S178IndicatoriEsitoAdeguatezza_preMUA + + + + + + + + + + + +--[C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza] 's', 'LMZGNN35M47F205W' +CREATE procedure [C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza_preMUA] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + +--*************************************************************************** SOLO per test +--drop table @appo,#wseian,@TABELLAINDICATORI +--declare @Rete char(1),@CodiceFiscale varchar(16) +--set @Rete = 'f' +--set @CodiceFiscale = 'BTTFST43C42B300A'--'LNGLGU49D23F587Z'--'BRSDRN64E24D749H'--'00703420968'-- +--set @DataFineTrim = 20180430 +--*************************************************************************** + + +DECLARE @adeguato [varchar](5) +DECLARE @descrizione [varchar](1000) + + +-- ************************** creo la tabella iniziale con tutti gli indicatori +declare @TABELLAINDICATORI table +( + TI_Ordine [smallint] null, + TI_Indicatore [varchar](80) null, + TI_Adeguato [varchar](5) null, + TI_Descrizione [varchar](1000) null +) + +insert into @TABELLAINDICATORI values (1,'Rischio','-1','Non applicabile') +insert into @TABELLAINDICATORI values (2,'Riserva','-1','Non applicabile') +insert into @TABELLAINDICATORI values (3,'Investimento di Lungo Periodo','-1','Non applicabile') +insert into @TABELLAINDICATORI values (4,'Complessit','-1','Non applicabile') +insert into @TABELLAINDICATORI values (5,'Concentrazione in prodotti complessi','-1','Non applicabile') +insert into @TABELLAINDICATORI values (6,'Frequenza delle operazioni','-1','Non applicabile') +insert into @TABELLAINDICATORI values (7,'Concentrazione emittenti','-1','Non applicabile') +insert into @TABELLAINDICATORI values (8,'Concentrazione valutaria','-1','Non applicabile') + +-- ***************************************************************************** + +declare @appo table +( + RETE [varchar](1) null, + COD_FISCALE [varchar](16) null, + PATRIMONIO [varchar](255) NOT NULL, + CTV_AGGREG [decimal](12, 2) null, + profiloCode [smallint] null, + var_profilo [decimal](5, 2) null, + [VAR] [decimal](12, 3) NULL, + varString [varchar](16) null,--[decimal](12, 3) NULL, + CREDITRISK [int] NULL, + RISKCLASSSTRING [varchar](10) null, + coperturaString [varchar](16) null,--[decimal](12, 3) NULL, + COVERAGESTRING [varchar](10) null, + RISKCLASSMAX [varchar](50) null, + [PERCENTAGE] [decimal](12, 6) null, + Ordine [smallint] null, + ULLY_PERC [decimal](10, 2) NULL + + +) +--creo le tabelle di appoggio +insert into @appo exec [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] @Rete,@CodiceFiscale + +declare @WSEIAN_S170 table +( + [DTTRIM] [decimal](9, 0) NOT NULL, + [RETE] [varchar](1) NOT NULL, + [CODFIS] [varchar](16) NOT NULL, + [NOME] [varchar](25) NULL, + [COGNOME] [varchar](25) NULL, + [DTNASCI] [decimal](9, 0) NULL, + [INDIRIZZO] [varchar](44) NULL, + [CAP] [varchar](5) NULL, + [CITTA] [varchar](35) NULL, + [PROVINCIA] [varchar](2) NULL, + [NAZIONE] [varchar](35) NULL, + [CODPROF] [smallint] NULL, + [DTINVAL] [decimal](9, 0) NOT NULL, + [CODMAN] [varchar](6) NULL, + [CLASSERC] [decimal](5, 0) NULL, + [COD_PROFEC] [decimal](5, 0) NULL, + [FLAGPG] [decimal](1, 0) NULL, + [CLCOMPL] [char](1) NOT NULL, + [FLGCONC] [char](1) NOT NULL, + [FLAGNQP] [char](1) NULL, + [FLGPRLRDE] [char](1) NULL, + [FLGPROF] [char](1) NULL, + [DTFINVAL] [decimal](9, 0) NULL, + [CONCEMI] [char](1) NULL, + [FREQ] [char](1) NULL, + [LLIQUID] [char](1) NULL, + [PREFSOST] [char](1) NULL, + [FLAGAMB] [char](1) NULL, + [FLAGSOC] [char](1) NULL, + [FLAGGOV] [char](1) NULL, + [ADEGCONC_VALUT] [char](1) NULL, + [SOGLIAESG] [decimal](5, 2) NULL, + [COERENZA] [char](1) NULL, + [RISERVA] [char](1) NULL, + [INVL_PERIOD] [char](1 diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S179EmittentiConcentrazioneAlta.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S179EmittentiConcentrazioneAlta.sql new file mode 100644 index 00000000..9ddb06d5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S179EmittentiConcentrazioneAlta.sql @@ -0,0 +1,40 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S179EmittentiConcentrazioneAlta + + + + +--[C6MartPeriodico].[PL_D_S179EmittentiConcentrazioneAlta] 'F', 'DVTMRA58B09F839W' +CREATE procedure [C6MartPeriodico].[PL_D_S179EmittentiConcentrazioneAlta] --'W','DRNSNT51B44H090Q' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + declare @PROF VARCHAR(1) + SET @PROF = (select FLGPROF from C6MartPeriodico.WSEIAN2 WHERE RETE=@Rete AND CODFIS= @CodiceFiscale) + + +SELECT [RETE] + ,[COD_FISCALE] + ,[Ordine] + ,[Emittente] + ,[ctv] + ,[flagAdeguatezza] + ,[franchigia] + ,[percConcentrazione] * 100 as percConcentrazione + ,case when rating='' then 'n.d.' else rating end as rating + ,[sogliaConcentrazione] * 100 as sogliaConcentrazione + FROM [C6MartPeriodico].[TB_S179EmittentiConcentrazioneAlta] + where rete = @Rete + and Cod_Fiscale = @CodiceFiscale + and @PROF='N' + order by emittente + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta.sql new file mode 100644 index 00000000..6d2e683f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta.sql @@ -0,0 +1,130 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S180ProdottiComplessitaAlta + + + + + + + + + + + + + + + +--[c6MartPeriodico].[PL_D_S180ProdottiComplessitaAlta] 'f', 'ff@9225' +CREATE procedure [C6MartPeriodico].[PL_D_S180ProdottiComplessitaAlta] --'F','LPPLBR69L11L833P' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @TotalePatrimonio decimal(12,2) + + -- acquisiamo il totale patrimonio del cliente + SELECT @TotalePatrimonio = ctv + FROM + c6MartPeriodico.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +-- + SELECT + 1 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + --((controvalore * 100) / @TotalePatrimonio) as Peso, + percentuale_CTV as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + -- SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi + SUM(Percentuale_CTV) OVER () as SommaPesi + into #temp +FROM + [c6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 3 + + union all + SELECT + 2 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + --((controvalore * 100) / @TotalePatrimonio) as Peso, + percentuale_CTV as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + -- SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi + SUM(Percentuale_CTV) OVER () as SommaPesi +FROM + [c6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 2 + + union all + SELECT + 3 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + --((controvalore * 100) / @TotalePatrimonio) as Peso, + percentuale_CTV as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + -- SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi + SUM(Percentuale_CTV) OVER () as SommaPesi +FROM + [c6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 1 + + -- --20180905 Fine modifica + order by ordine,Compl_Base desc + + delete from #temp where ordine=1 and SommaPesi<20 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta <20 + delete from #temp where ordine=2 and SommaPesi<30 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta <30 + delete from #temp where ordine=3 and SommaPesi<50 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta e medio-bassa <50 + +-- select * from #temp --order by ordine,Complessita + + DECLARE @ordineConcatenato VARCHAR(4) + +SELECT @ordineConcatenato = COALESCE(@ordineConcatenato + '', '' diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta_20180715.sql b/sql/storedCollaudo/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta_20180715.sql new file mode 100644 index 00000000..921151a2 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta_20180715.sql @@ -0,0 +1,52 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_D_S180ProdottiComplessitaAlta_20180715 + + + + +--[C6MartPeriodico].[PL_D_S180ProdottiComplessitaAlta] 'f', 'ff@9225' +CREATE procedure [C6MartPeriodico].[PL_D_S180ProdottiComplessitaAlta_20180715] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @TotalePatrimonio decimal(12,2) + + -- acquisiamo il totale patrimonio del cliente + SELECT @TotalePatrimonio = ctv + FROM + C6MartPeriodico.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +-- + select + 1 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + ((controvalore*100)/@TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio + from [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] + where + rete = @Rete + -- modifica del 4/7/2018 + and cod_fiscale like + CASE when @CodiceFiscale like '%FF@%'THEN '%%' + ELSE @CodiceFiscale + END + and codman = + CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + ELSE '' + END + --fine modifica del 4/7/2018 + order by controvalore desc + + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_FD10PatrimonioFinanziario.sql b/sql/storedCollaudo/C6MartPeriodico_PL_FD10PatrimonioFinanziario.sql new file mode 100644 index 00000000..c1d0cd1d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_FD10PatrimonioFinanziario.sql @@ -0,0 +1,26 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_FD10PatrimonioFinanziario + + + +CREATE procedure [C6MartPeriodico].[PL_FD10PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT [Banca] + ,[Ordinamento] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_S10PatrimonioFinanziario] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_FD181PreferenzeESG.sql b/sql/storedCollaudo/C6MartPeriodico_PL_FD181PreferenzeESG.sql new file mode 100644 index 00000000..0626df39 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_FD181PreferenzeESG.sql @@ -0,0 +1,74 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_FD181PreferenzeESG + + + + + + + + + + + + + + +-- Stored procedure + +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'BCCNDR69P21A462P' +CREATE procedure [C6MartPeriodico].[PL_FD181PreferenzeESG]--'F','BBLCMS66M11F960M' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +DECLARE @SCADUTO_PARZIALE varchar(16) +SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) + +SELECT esg.[rete] + ,[cod_fiscale] + --,case + --when @SCADUTO_PARZIALE='P' then 0 else [Preferenza_esg_cliente] + --end as + ,[Preferenza_esg_cliente] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,CAST(ROUND(ISNULL(obiettivo_ESG_minimo, 0.00), 2) AS decimal(6, 2)) AS obiettivo_ESG_minimo + ,[ESG_Rating] + ,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_E_perc + ,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_S_perc + ,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_G_perc + ,case when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=25 and isnull(ind.SOGLIAESG,'0.00')<50 then 'Almeno pari al 25%' + when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=50 and isnull(ind.SOGLIAESG,'0.00')<75 then 'Almeno pari al 50%' + when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=75 then 'Almeno pari al 75%' else '-' end as Pref_Sost + ,case when cle.U_PREFSOST='S' then 'Y' + when cle.U_PREFSOST='N' then 'N' else 'N' end as U_PREFSOST --Ulteriori Preferenze di Sostenibilit ----decommenta per ESG 2024 + ,case when cle.FLAGSFDR='S' then replace(cast(cle.SFDR_PERC as varchar(12)),'.00','')+'%' else '-' end as SFDR_PERC ----decommenta per ESG 2024 + ,case when cle.FLAGTAXO='S' then replace(cast(cle.TAXO_PERC as varchar(12)),'.00','')+'%' else '-' end as TAXO_PERC ----decommenta per ESG 2024 + ,case when isnull(cle.PAI_A,'')='' then '-' else cle.PAI_A end as PAI_A + ,case when isnull(cle.PAI_S,'')='' then '-' else cle.PAI_S end as PAI_S + ,case when ESG_E='Y' then cle.PERCAMB_OK ELSE NULL END AS E_PERC_OK--,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS E_PERC_OK ----decommenta per ESG 2024 + ,case when ESG_S='Y' then cle.PERCSOC_OK ELSE NULL END AS S_PERC_OK--,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS S_PERC_OK ----decommenta per ESG 2024 + ,case when ESG_G='Y' then cle.PERCGOV_OK ELSE NULL END AS G_PERC_OK--,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS G_PERC_OK ----decommenta per ESG 2024 + FROM [C6StampeCentralizzate].[C6MartPeriodico].[BrsClienteESG] esg + left join C6MartPeriodico.wseian2 ind + on ind.rete=esg.rete and ind.CODFIS=esg.cod_fiscale + left join C6MartPeriodico.W6CLIESG cle + on ind.rete=cle.rete and ind.CODFIS=cle.CODFIS +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale + --AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' non valida x i direct + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_FD182BISDettaglioProdottiESG.sql b/sql/storedCollaudo/C6MartPeriodico_PL_FD182BISDettaglioProdottiESG.sql new file mode 100644 index 00000000..ac6066a7 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_FD182BISDettaglioProdottiESG.sql @@ -0,0 +1,139 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_FD182BISDettaglioProdottiESG + + + + + +--se nella generazione del report da errore molto probabilmente ci sta una chiaveclientePB diversa sulla appocontratti dalla vinfocliente +--cambiala sull'appo contratti e contrattipretrimestrale + + + + + +-- Stored procedure + +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S182BISDettaglioProdottiESG] 'F', '98196710176' +CREATE procedure [C6MartPeriodico].[PL_FD182BISDettaglioProdottiESG] --'S','DGSMHL70H08Z404F' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +--- + SELECT distinct + [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + into #temp + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S133_S157DatiPiramide] + WHERE [Rete] = @rete + AND [CodiceFiscale] = @codicefiscale + order by ordinamento + + declare @totale_risorse_finanziarie decimal(38,3) + declare @totale_patrimonio decimal(38,3) + declare @partite_viaggianti decimal(38,3) + + select @totale_risorse_finanziarie = SUM(controvaloreAttuale) from #temp where needarea in ('Ext','Inv','Pre','Ris','Liq','Na') + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + + select @totale_patrimonio = SUM(controvaloreAttuale) from #temp + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + + select @partite_viaggianti= PartiteViaggiantiInv from wh.Maledetti + where i_Rete=@Rete and i_CodiceFiscale=@CodiceFiscale + + set @totale_patrimonio=@totale_patrimonio + @partite_viaggianti + + + + select + case when @totale_risorse_finanziarie=@totale_patrimonio then 'Tot_P' else 'Tot_F' end as needarea, + case when @totale_risorse_finanziarie=@totale_patrimonio then 'TOTALE PATRIMONIO' else 'TOTALE RISORSE FINANZIARIE' end as needareades, + '100' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + '' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + SUM(controvaloreattuale) as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto +from #temp +where needarea in ('Ext','Inv','Pre','Ris','Liq','Na') +having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + + union all + + select + 'Tot_F' as needarea, + '' as needareades, + '101' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + 'C/C a saldo negativo' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + SUM(controvaloreattuale) as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from #temp + where needarea in ('CC') + having SUM(controvaloreAttuale) is not null and SUM(contr diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_FD182DettaglioProdottiESG.sql b/sql/storedCollaudo/C6MartPeriodico_PL_FD182DettaglioProdottiESG.sql new file mode 100644 index 00000000..11b276d5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_FD182DettaglioProdottiESG.sql @@ -0,0 +1,122 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_FD182DettaglioProdottiESG + + + + + + + + + + + + + + + + + + + + + +-- Stored procedure + +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S182DettaglioProdottiESG] 'F', 'GLLGZN62T06H501I' +CREATE procedure [C6MartPeriodico].[PL_FD182DettaglioProdottiESG]-- 'F','BBLCMS66M11F960M' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT + + +CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Rob'--when robo.isProgettoRobo='S' then 'Rob' + else 'ASF' + END AS needarea, + CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + --WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + --ELSE AREA.NOME_AREA + END AS needareades, +CASE + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + --ELSE AREA.ORDINAMENTO + -- WHEN robo.isProgettoRobo='S' THEN 1 + --ELSE 2 + WHEN ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 1 + ELSE 2 +END + AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + when isnull(trim(PATRBF.NOME_PROGETTO),'') not like '%Direct EVO%' then 'Default' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') + +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV ) OVER (PARTITION BY CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' end) AS somma_controval_needarea, + + SUM(PATRBF.CTV ) OVER (PARTITION BY CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' end)--, PATRBF.ordinamento_progetto) + AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY --robo.isProgettoRobo, + PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 +-- THEN 'n.d.' +-- ELSE NULL +--END AS versato_need_progString, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) +-- ELSE NULL +--END AS MinusPlusValenza_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 +-- THEN 'n.d.' +-- ELSE NULL +--END AS MinusPlusValenza_need_progString, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF +-- ELSE NULL +--END AS somma_var_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA +-- diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_FD185UCaratteristicheESG.sql b/sql/storedCollaudo/C6MartPeriodico_PL_FD185UCaratteristicheESG.sql new file mode 100644 index 00000000..118ae58f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_FD185UCaratteristicheESG.sql @@ -0,0 +1,113 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_FD185UCaratteristicheESG + + + + + + + + + + + + + + + + +CREATE procedure [C6MartPeriodico].[PL_FD185UCaratteristicheESG]-- 'F','BBLCMS66M11F960M' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT + CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Rob'--when robo.isProgettoRobo='S' then 'Rob' + else 'ASF' + END AS needarea, + CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + --WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + --ELSE AREA.NOME_AREA + END AS needareades, +CASE + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + --ELSE AREA.ORDINAMENTO + -- WHEN robo.isProgettoRobo='S' THEN 1 + --ELSE 2 + WHEN ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 1 + ELSE 2 +END + AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + when isnull(trim(PATRBF.NOME_PROGETTO),'') not like '%Direct EVO%' then 'Default' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') + +END AS nome_progetto, +SUM(PATRBF.CTV ) OVER (PARTITION BY CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' end) + + AS somma_controval_need_prog, + + + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + +--CASE +-- WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 +-- THEN '-' +-- ELSE +-- REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',')-- + '%' +--END AS PERC_INVESTIMENTO_SFDR, + +--CASE +-- WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 ----decommenta per ESG 2024 +-- THEN '-' ----decommenta per ESG 2024 +-- ELSE ----decommenta per ESG 2024 +-- REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',')-- + '%' ----decommenta per ESG 2024 +--END AS PERC_INVESTIMENTO_SFDR_AMB, ----decommenta per ESG 2024 +-- --decommenta per ESG 2024 +-- --decommenta per ESG 2024 +--CASE ----decommenta per ESG 2024 +-- WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 ----decommenta per ESG 2024 +-- THEN '-' ----decommenta per ESG 2024 +-- ELSE ----decommenta per ESG 2024 +-- REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',')-- + '%' ----decommenta per ESG 2024 +--END AS PERC_INVESTIMENTO_SFDR_SOC, ----decommenta per ESG 2024 +CASE + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_SFDR, + +CASE + WHEN isnull(esg.PERC_INVEST_SFDR_MIN_SUST_E,0.00) diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_FD187SfdrTaxESG.sql b/sql/storedCollaudo/C6MartPeriodico_PL_FD187SfdrTaxESG.sql new file mode 100644 index 00000000..b9730fed --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_FD187SfdrTaxESG.sql @@ -0,0 +1,127 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_FD187SfdrTaxESG + + + + + + + + + + + + + + + + + +--select * from wh.Maledetti + + + +CREATE procedure [C6MartPeriodico].[PL_FD187SfdrTaxESG] --'F','00545400483' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6MartPeriodico.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale + +declare @U_PREFSOST varchar(2) +select @U_PREFSOST=U_PREFSOST from [C6MartPeriodico].[W6CliESG] where rete=@Rete and codfis=@CodiceFiscale + +if(@pref_esg='1' AND @U_PREFSOST='S') +begin + select + 1 as ID, + 'Prodotti sostenibili SFDR' as Descrizione, + replace(cast(cli.SFDR_PERCT as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union + select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilit' as Descrizione, + replace(cast(cli.SFDR_PERC_OK as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,case when cli.FLAGSFDR='N' then 'Y' + else 'N' end as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 3 as ID, + 'Prodotti non sostenibili' as Descrizione, + replace(cast((100-cli.SFDR_PERCT)as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 5 as ID, + 'Prodotti ecosostenibili Taxonomy' as Descrizione, + replace(cast(cli.TAXO_PERCT as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilit' as Descrizione, + replace(cast (cli.TAXO_PERC_OK as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,case when cli.FLAGTAXO='N' then 'Y' + else 'N' end as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 7 as ID, + 'Prodotti non ecosostenibili' as Descrizione, + replace(cast((100-cli.TAXO_PERCT) as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from C6MartPeriodico.[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +end + + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_FD188PaiESG.sql b/sql/storedCollaudo/C6MartPeriodico_PL_FD188PaiESG.sql new file mode 100644 index 00000000..d2ac97ec --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_FD188PaiESG.sql @@ -0,0 +1,118 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_FD188PaiESG + + + + + + + + + + + + + + +--select * from wh.Maledetti + + + +CREATE procedure [C6MartPeriodico].[PL_FD188PaiESG] --'F','00545400483' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + + +AS +BEGIN + +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6MartPeriodico.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale + +declare @U_PREFSOST varchar(2) +select @U_PREFSOST=U_PREFSOST from [C6MartPeriodico].[W6CliESG] where rete=@Rete and codfis=@CodiceFiscale + +if(@pref_esg='1' and @U_PREFSOST='S') +begin + +select 1 as ID, + 'Prodotti che considerano almeno un PAI ambientale' as Descrizione, + replace(cast(cli.PAIA_PERCT as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilit' as Descrizione, + replace(cast(cli.PAIA_PERC_OK as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,case when isnull(cli.PAI_A,'')='' then 'Y' + else 'N' end as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 3 as ID, + 'Prodotti che non considerano PAI ambientali' as Descrizione, + replace(cast((100-cli.PAIA_PERCT) as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + union +select 5 as ID, + 'Prodotti che considerano almeno un PAI sociale' as Descrizione, + replace(cast(cli.PAIS_PERCT as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilit' as Descrizione, + replace(cast(cli.PAIS_PERC_OK as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,case when isnull(cli.PAI_S,'')='' then 'Y' + else 'N' end as isNA +from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 7 as ID, + 'Prodotti che non considerano PAI sociali' as Descrizione, + replace(cast((100-cli.PAIS_PERCT) as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA + + + end + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_FD190BisPatrimonioFinanziario_Modello.sql b/sql/storedCollaudo/C6MartPeriodico_PL_FD190BisPatrimonioFinanziario_Modello.sql new file mode 100644 index 00000000..0e43d890 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_FD190BisPatrimonioFinanziario_Modello.sql @@ -0,0 +1,26 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_FD190BisPatrimonioFinanziario_Modello + + + + + +create procedure [C6MartPeriodico].[PL_FD190BisPatrimonioFinanziario_Modello] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @mia_chiaveptfmod int +SELECT + @mia_chiaveptfmod=ChiavePtfMod + + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_fd190PatrimonioFinanziario_PTFRibilanciato] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + + select * from C6StagingPeriodico.RP_DistribuzionePtfModello_Tattici_MacroAssetClass where chiavePtfMod=@mia_chiaveptfmod + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_FD190PatrimonioFinanziario_PTFRibilanciato.sql b/sql/storedCollaudo/C6MartPeriodico_PL_FD190PatrimonioFinanziario_PTFRibilanciato.sql new file mode 100644 index 00000000..3e17f0ae --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_FD190PatrimonioFinanziario_PTFRibilanciato.sql @@ -0,0 +1,80 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_FD190PatrimonioFinanziario_PTFRibilanciato + + + + + + + + + + +CREATE procedure [C6MartPeriodico].[PL_FD190PatrimonioFinanziario_PTFRibilanciato] --'F','VGNMRA68C64F205S' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT [Banca] + ,[Ordinamento] + ,[AssetClassId] + ,[AssetClassName] + ,chiaveptfmod + ,[Controvalore] + ,[Percentuale] + ,[Totale] + ,percentuale_modello + ,var_prog + into #ptf + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_fd190PatrimonioFinanziario_PTFRibilanciato] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + + --aggiunta + +declare @mia_chiaveptfmod int +SELECT + @mia_chiaveptfmod=ChiavePtfMod + + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_fd190PatrimonioFinanziario_PTFRibilanciato] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + + select * + into #ptf_mod + from C6StagingPeriodico.RP_DistribuzionePtfModello_Tattici_MacroAssetClass where chiavePtfMod=@mia_chiaveptfmod + + select Banca,Ordinamento,AssetClassId,AssetClassName,ChiavePtfMod,Controvalore,Percentuale,Totale,Percentuale_Modello*100 as percentuale_modello,var_prog as var_prog + into #tot + from #ptf + union all + select 'Fideuram', + ordinamento, + asset, + descrizione, + chiavePtfMod, + NULL, + 0.00000, + NULL, + percentuale*100, + NULL as var_prog from #ptf_mod where asset not in (select ASSETCLASSID from #ptf) + order by Ordinamento + + DECLARE @Totale [decimal](19, 5); + DECLARE @var_prog [decimal](19, 5); + + SELECT @Totale = Totale, @var_prog = var_prog +FROM #ptf; + + update #tot + set Totale=@Totale, var_prog=@var_prog + + + select * from #tot + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_FD200BisDistribuzioneAssetClass_Modello.sql b/sql/storedCollaudo/C6MartPeriodico_PL_FD200BisDistribuzioneAssetClass_Modello.sql new file mode 100644 index 00000000..50c8cc45 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_FD200BisDistribuzioneAssetClass_Modello.sql @@ -0,0 +1,26 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_FD200BisDistribuzioneAssetClass_Modello + + + + + +create procedure [C6MartPeriodico].[PL_FD200BisDistribuzioneAssetClass_Modello] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @mia_chiaveptfmod int +SELECT + @mia_chiaveptfmod=ChiavePtfMod + + FROM c6martperiodico.TB_FD200DistribuzioneAssetClass_PTFRibilanciato + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + + select * from C6StagingPeriodico.RP_DistribuzionePtfModello_Tattici_AssetClass where chiavePtfMod=@mia_chiaveptfmod + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_FD25Anagrafica.sql b/sql/storedCollaudo/C6MartPeriodico_PL_FD25Anagrafica.sql new file mode 100644 index 00000000..48a3fcfa --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_FD25Anagrafica.sql @@ -0,0 +1,42 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_FD25Anagrafica + + + +CREATE procedure [C6MartPeriodico].[PL_FD25Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT [Cliente] + ,[DatadiNascita] + ,[ETA] + ,[Professione] + ,[StatoCivile] + ,[NucleoFamiliare] + ,[Residenza] + ,[CodiceFiscale] + ,[CodicePB] + ,[CodiceRete] + ,[CodiceContratto] + ,[StatoContratto] + ,[DataSottoscrizione] + ,[DataPerfezionamento] + ,[FasciaCPP] + ,[IndirizzoEmail] + ,[ProduzioneReport] + ,[Indirizzo] + ,[CAP] + ,[Citta] + ,[Provincia] + ,[Nazione] + ,[PRESSO] + FROM [C6MartPeriodico].[TB_S25Anagrafica] + WHERE [CodiceRete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_FD43BISDettaglioProdottiBF.sql b/sql/storedCollaudo/C6MartPeriodico_PL_FD43BISDettaglioProdottiBF.sql new file mode 100644 index 00000000..2011615c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_FD43BISDettaglioProdottiBF.sql @@ -0,0 +1,123 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_FD43BISDettaglioProdottiBF + + + + + + + + + + + + + + + +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) + +-- [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] 'F', 'SPNTTR67T20F205D' +CREATE procedure [C6MartPeriodico].[PL_FD43BISDettaglioProdottiBF] --'F','RBSMRC82S17F205N' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +select * +into #patr_bf +from C6MartPeriodico.PATRIMONIO_BF + + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + +update #patr_bf +set NOME_PROGETTO='Default' +where isnull(trim(NOME_PROGETTO),'') not like '%Direct EVO%' + +SELECT +distinct + +CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Rob'--when robo.isProgettoRobo='S' then 'Rob' + else 'ASF' + END AS needarea, + CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + --WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + --ELSE AREA.NOME_AREA + END AS needareades, +CASE + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + --ELSE AREA.ORDINAMENTO + -- WHEN robo.isProgettoRobo='S' THEN 1 + --ELSE 2 + WHEN ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 1 + ELSE 2 +END + AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + when isnull(trim(PATRBF.NOME_PROGETTO),'') not like '%Direct EVO%' then 'Default' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') + +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, + + +--Bido +--SUM(PATRBF.CTV ) OVER (PARTITION BY PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) AS somma_controval_needarea, +SUM(PATRBF.CTV ) OVER (PARTITION BY PATRBF.NOME_PROGETTO) AS somma_controval_needarea, + + +--SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) AS versato_needarea, +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY PATRBF.NOME_PROGETTO) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY robo.isProgettoRobo) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY robo.isProgettoRobo) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN + --SUM(PATRBF.CTV) OVER (PARTITION BY --robo.isProgettoRobo, + --PATRBF.NOME_PROGETTO, + --PATRBF.ordinamento_progetto) + --SUM(PATRBF.CTV) OVER (PARTITION BY PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + SUM(PATRBF.CTV) OVER (PARTITION BY PATRBF.NOME_PROGETTO)--, PATRBF.ordinamento_progetto) + AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY --robo.isProgettoRobo, + PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS ver diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_FD43DettaglioProdottiBF.sql b/sql/storedCollaudo/C6MartPeriodico_PL_FD43DettaglioProdottiBF.sql new file mode 100644 index 00000000..8d755896 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_FD43DettaglioProdottiBF.sql @@ -0,0 +1,107 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_FD43DettaglioProdottiBF + + + + + + + + + +-- Stored procedure + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'BNDCRN60H52A181P' +-- [C6MartPeriodico].[PL_S43DettaglioProdottiBF] 'F','BNDCRN60H52A181P' +CREATE procedure [C6MartPeriodico].[PL_FD43DettaglioProdottiBF] --'F','MRLSLV83E60D912U' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT +distinct +CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Rob'--when robo.isProgettoRobo='S' then 'Rob' + else 'ASF' + END AS needarea, + CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + --WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + --ELSE AREA.NOME_AREA + END AS needareades, +CASE + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + WHEN ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 1 + ELSE 2 + --ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE +--WHEN AREA.ID_AREA = 'Pre' THEN 'Default' +-- WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + -- 20161219 - mod per far uscire il nome progetto sulle risorse na +-- WHEN AREA.ID_AREA = 'Na' THEN 'Default' + when trim(PATRBF.NOME_PROGETTO) not like '%Direct EVO%' then 'Default' + -- fine 20161219 - mod per far uscire il nome progetto sulle risorse na + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY --AREA.ID_AREA, + PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_GetClientNegativeCurrentAccountsValue.sql b/sql/storedCollaudo/C6MartPeriodico_PL_GetClientNegativeCurrentAccountsValue.sql new file mode 100644 index 00000000..e072531e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_GetClientNegativeCurrentAccountsValue.sql @@ -0,0 +1,37 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_GetClientNegativeCurrentAccountsValue + +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_GetClientNegativeCurrentAccountsValue] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodico].[PL_GetClientNegativeCurrentAccountsValue] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @PatrimonioBF DECIMAL(15,2) + + -- Insert statements for procedure here + SELECT + --@PatrimonioBF = case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + + FROM + C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND ID_AREA = 'CC' + and CTV < 0 + --Return @PatrimonioBF +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_GetClientNegativeGPEligo.sql b/sql/storedCollaudo/C6MartPeriodico_PL_GetClientNegativeGPEligo.sql new file mode 100644 index 00000000..6a42f65e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_GetClientNegativeGPEligo.sql @@ -0,0 +1,44 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_GetClientNegativeGPEligo + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_GetClientNegativeGPEligo] 'S','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodico].[PL_GetClientNegativeGPEligo] + @Rete char(1), + @CodiceFiscale varchar(16), + @Codsottoprodotto varchar(10) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + SELECT + --CodInterno, + --case + --when Codsottoprodotto = 'L191' then '"GP Eligo Fondi"' + --when Codsottoprodotto = 'L192' then '"GP Eligo Titoli"' + --end as Descrizione, + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + LS.rete = @Rete + AND LS.codfis = @CodiceFiscale + AND LS.CodSottoprodotto = @Codsottoprodotto + AND Ls.codinterno = 'XY' + AND ctv < 0 + --group by CodInterno,codsottoprodotto +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_GetClientSelfNegCurrentAccountValue.sql b/sql/storedCollaudo/C6MartPeriodico_PL_GetClientSelfNegCurrentAccountValue.sql new file mode 100644 index 00000000..b74a00de --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_GetClientSelfNegCurrentAccountValue.sql @@ -0,0 +1,35 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_GetClientSelfNegCurrentAccountValue + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_GetClientSelfNegCurrentAccountValue] 'S','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodico].[PL_GetClientSelfNegCurrentAccountValue] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --DECLARE @PatrimonioBF DECIMAL(15,2) + + SELECT + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND ctv < 0 + + --Return @PatrimonioBF +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_GetClientSelfNegative.sql b/sql/storedCollaudo/C6MartPeriodico_PL_GetClientSelfNegative.sql new file mode 100644 index 00000000..96e0db90 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_GetClientSelfNegative.sql @@ -0,0 +1,40 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_GetClientSelfNegative + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_GetClientSelfNegative] 'S','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodico].[PL_GetClientSelfNegative] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + SELECT + CodInterno, + case + when CodInterno = 'XY' then '"Linee GP Eligo"' + when CodInterno = 'FO' then '"IL MF - Liquidita"' + end as Descrizione, + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + LS.rete = @Rete + AND LS.codfis = @CodiceFiscale + AND ctv < 0 + group by CodInterno +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_Intermediari.sql b/sql/storedCollaudo/C6MartPeriodico_PL_Intermediari.sql new file mode 100644 index 00000000..8325bca6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_Intermediari.sql @@ -0,0 +1,34 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_Intermediari + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- DECLARE @num int +-- EXEC C6MartPeriodico.PL_Intermediari 'F', 'DLRGCM55A14A669Q' , @num OUTPUT +-- SELECT @num AS NumIntermediari +CREATE procedure [C6MartPeriodico].[PL_Intermediari] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16), + @numeroRighe as int OUTPUT +AS + +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + SET @numeroRighe = + (SELECT + COUNT(DISTINCT INTERMEDIARIO) + FROM C6MartPeriodico.PATRIMONIO_TERZI + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + ) + RETURN @numeroRighe +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_FD133BISPrincipaliProdotti.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_FD133BISPrincipaliProdotti.sql new file mode 100644 index 00000000..34ce8bca --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_FD133BISPrincipaliProdotti.sql @@ -0,0 +1,69 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_FD133BISPrincipaliProdotti + + + + + +-- ============================================= +-- Author: +-- Create date: <07/05/2013> +-- Description: +-- ============================================= + +-- [C6martPeriodico].[PL_MP_S133BISPrincipaliProdotti] F,CLSPLA43D08H501B + +CREATE procedure [C6MartPeriodico].[PL_MP_FD133BISPrincipaliProdotti] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +SELECT + ANAGPROD.DESCR_PRODOTTO AS descrProdotto + ,PATRBF.CTV AS Controvalore + ,CASE + WHEN patrbf.tipo_prodotto = 'CC' THEN 0.00 + ELSE isnull(RISCHIO_PROD.VAR_PERC_PTF,0.00) + END AS VaRprodotto + ,((CASE + WHEN ((PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100) is null then 0.00 + ELSE(PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100 + END) / (CASE + WHEN sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') = 0 THEN 1 + ELSE sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') + END))*100 as rischioRelativo + ,(PATRBF.CTV/(sum(PATRBF.CTV) over (partition by 'totale')))*100 AS pesoRelativo + ,PATRBF.ID_AREA AS codAreaBisogno + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO + INNER JOIN C6MartPeriodico.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.ordinamento_progetto as varchar),'') + '|' + WHEN LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END + + PATRBF.POSITION_ID + WHERE PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 + AND PATRBF.ID_AREA <> 'Cc' + ORDER BY rischioRelativo DESC + + + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_FD134BISMonitoraggioLiqInv.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_FD134BISMonitoraggioLiqInv.sql new file mode 100644 index 00000000..5fa27547 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_FD134BISMonitoraggioLiqInv.sql @@ -0,0 +1,74 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_FD134BISMonitoraggioLiqInv + + + + + + + + + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S134BISMonitoraggioLiqInv] 'F','CNTGCR68T31D458G' +CREATE procedure [C6MartPeriodico].[PL_MP_FD134BISMonitoraggioLiqInv] --'F','LCNGNZ82P14H163B' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + SELECT + 'Inv' AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE mon + --inner join C6StagingPeriodico.RP_Progetto_Robo robo + --on mon.ordinamento_progetto=robo.chiaveProgetto + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + and NOME_PROGETTO like '%Direct EVO%' + --and APPORTO_INIZIALE<>'0.00'--- aggiunta 20221219 per + + UNION + + SELECT + 'Inv', + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO st + --inner join C6StagingPeriodico.RP_Progetto_Robo robo + --on st.ordinamento_progetto=robo.chiaveProgetto + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + and NOME_PROGETTO like '%Direct EVO%' + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_FD134MonitoraggioLiquidita.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_FD134MonitoraggioLiquidita.sql new file mode 100644 index 00000000..b7aad7da --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_FD134MonitoraggioLiquidita.sql @@ -0,0 +1,102 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_FD134MonitoraggioLiquidita + + + + + + + + + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S134MonitoraggioLiquidita] 'F','CNTGCR68T31D458G' +CREATE procedure [C6MartPeriodico].[PL_MP_FD134MonitoraggioLiquidita] --'F','SMNLSN83B41C101E' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +-- DECLARE @RendimNonRappr BIT + +SELECT + case when RENDIMNONRAPPR=1 then 1 else 0 end AS cf_rendim_non_rappr, + 'Inv' AS Need_Area, + CASE + WHEN MONIT.NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(MONIT.NOME_PROGETTO)) + END AS Nome_Progetto, + monit.ordinamento_progetto, + dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, + CTV_MONITORATO AS ControvaloreMonitorato, + APPORTO_INIZIALE AS ApportoIniziale, + APPORTO_SUCCESSIVO AS ApportoSuccessivo, + LIQUIDAZIONI, + CEDOLE_DIVIDENDI AS CedoleEDividendi, + MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, + RENDIMENTO_CUMULATO AS Rendimento_Attuale, + RISORSE_ASSOCIATE AS RisorseApportate, + dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, + RENDIMENTO_ANNUALIZZATO + FROM + C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT + LEFT OUTER JOIN + ( + SELECT + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end as NOME_PROGETTO, + patr_bf.ordinamento_progetto, + 1 as RENDIMNONRAPPR + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + LEFT OUTER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + WHERE + PATR_BF.RETE = @Rete + AND PATR_BF.COD_FISCALE = @CodiceFiscale + AND PATR_BF.REND_NON_RAPPR = 1 + group by + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end, + patr_bf.ordinamento_progetto + ) PATR_BF + ON PATR_BF.COD_FISCALE=MONIT.COD_FISCALE + AND PATR_BF.RETE= MONIT.RETE + AND left(PATR_BF.ID_AREA,3)=left(MONIT.ID_AREA,3) + AND isnull(PATR_BF.NOME_PROGETTO,'XXX')=isnull(MONIT.NOME_PROGETTO,'XXX') + And monit.ordinamento_progetto=patr_bf.ordinamento_progetto + -- inner join C6StagingPeriodico.RP_Progetto_Robo rob ON rob.chiaveProgetto=monit.ORDINAMENTO_PROGETTO + WHERE + MONIT.RETE = @Rete AND + MONIT.COD_FISCALE = @CodiceFiscale + and monit.NOME_PROGETTO like '%Direct EVO%' + -- and CTV_MONITORATO<>'0.00' -- aggiunta 20221219 + + +END + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_FD147SintesiValute.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_FD147SintesiValute.sql new file mode 100644 index 00000000..d00e587a --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_FD147SintesiValute.sql @@ -0,0 +1,72 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_FD147SintesiValute + + + + + + +--[C6MartPeriodico].[PL_MP_FD147SintesiValute] 'F','PLKHNJ76R09H514E' +CREATE procedure [C6MartPeriodico].[PL_MP_FD147SintesiValute] + +@Rete char(1), +@CodiceFiscale varchar(16) +as +begin + + + +declare @ctvNoCoperto as decimal(18,3) +declare @ctvCoperto as decimal(18,3) +declare @copertura as decimal(18,3) + +SELECT @ctvNoCoperto = isnull(sum(ctv),0) + + FROM c6martperiodico.ANAG_PRODOTTI_VALUTE a + RIGHT JOIN c6martperiodico.patrimonio_bf c + ON a.cod_prodotto = c.cod_prodotto + WHERE + + cod_fiscale = @CodiceFiscale + and rete = @Rete + and a.cod_prodotto is null + and id_area <> 'Cc' + +select @copertura = (patrimonioSenzaCC - @ctvNoCoperto)/patrimonioSenzaCC , + @ctvCoperto = patrimonioSenzaCC - @ctvNoCoperto +from c6martperiodico.vPatrimonioBfAggregato +where + cod_fiscale = @CodiceFiscale + and rete = @Rete + +--select @copertura +--FC 16/04/20104 +--Inserito controllo per evitare problemi di divid by zero nella select successiva + +IF @ctvCoperto < 1 +begin + set @ctvCoperto =1 +End + + + +SELECT + sum(peso*ctv) / @ctvCoperto as percentuale, + abs(sum(peso*ctv)) as valoreAssoluto, + a.Divisa, + @copertura as copertura +FROM c6martperiodico.ANAG_PRODOTTI_VALUTE a +join c6martperiodico.patrimonio_bf c +ON a.cod_prodotto = c.cod_prodotto +where + cod_fiscale = @CodiceFiscale + and rete = @Rete + group by a.Divisa +order by valoreAssoluto desc + + +end + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_FD148DistribuzioneAssetClass.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_FD148DistribuzioneAssetClass.sql new file mode 100644 index 00000000..c885f6f1 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_FD148DistribuzioneAssetClass.sql @@ -0,0 +1,27 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_FD148DistribuzioneAssetClass + + + +CREATE procedure [C6MartPeriodico].[PL_MP_FD148DistribuzioneAssetClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT [Banca] + ,[ORDINAMENTO] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S148DistribuzioneAssetClass] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_FD200DistribuzioneAssetClass_PTFRibilanciato.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_FD200DistribuzioneAssetClass_PTFRibilanciato.sql new file mode 100644 index 00000000..fec6c0f9 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_FD200DistribuzioneAssetClass_PTFRibilanciato.sql @@ -0,0 +1,69 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_FD200DistribuzioneAssetClass_PTFRibilanciato + + + + + + + + + +CREATE procedure [C6MartPeriodico].[PL_MP_FD200DistribuzioneAssetClass_PTFRibilanciato] --'F','VGNMRA68C64F205S' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT[Banca] + ,[Ordinamento] + ,[AssetClassId] + ,[AssetClassName] + ,chiaveptfmod + ,[Controvalore] + ,[Percentuale] + ,[Totale] + ,percentuale_modello + ,var_prog + into #ptf + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_FD200DistribuzioneAssetClass_PTFRibilanciato] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + + declare @mia_chiaveptfmod int +SELECT + @mia_chiaveptfmod=ChiavePtfMod + + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_FD200DistribuzioneAssetClass_PTFRibilanciato] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + + select * + into #ptf_mod + from C6StagingPeriodico.RP_DistribuzionePtfModello_Tattici_AssetClass where chiavePtfMod=@mia_chiaveptfmod + + select Banca,Ordinamento,AssetClassId,AssetClassName,ChiavePtfMod,Controvalore,Percentuale,Totale,Percentuale_Modello*100 as percentuale_modello,var_prog + into #tot + from #ptf + union all + select 'Fideuram',ordinamento,asset,descrizione,chiavePtfMod,NULL,0.00000,NULL,percentuale*100,NULL as var_prog from #ptf_mod where asset not in (select ASSETCLASSID from #ptf) + ORDER BY ORDINAMENTO + + + DECLARE @Totale [decimal](19, 5); + DECLARE @var_prog [decimal](19, 5); + + SELECT @Totale = Totale, @var_prog = var_prog +FROM #ptf; + + update #tot + set Totale=@Totale, var_prog=@var_prog + + select * from #tot + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza.sql new file mode 100644 index 00000000..74a1805f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza.sql @@ -0,0 +1,135 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S128ProfiloRischioAdeguatezza + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] 'F', 'PVRPGS53C25G388A' +CREATE procedure [C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] --'S','FGGMSM57H28G999D' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + +/************* BF *****************/ + DECLARE @varPatrBF DECIMAL(12,2) + DECLARE @riskClassBF VARCHAR(50) + + DECLARE @FLAGPROF varchar(16) + SET @FLAGPROF= (select distinct FLGPROF from C6MartPeriodico.WSEIAN2 where rete=@rete and CODFIS=@CodiceFiscale) + + DECLARE @SCADUTO_PARZIALE varchar(16) + SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) + + + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + + +/* RECUPERO Rischio Mercaro e Rischio Credito BAnca Fideuram */ + + declare @contaCC as int + + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + + + declare @contaPOS as int + + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + + + SELECT + @varPatrBF = CASE WHEN (@contaPOS - @contaCC) = 0 THEN 0.00 + ELSE RISK_AGG.VAR_PERC_PTF + END, + @riskClassBF = RISK_AGG.CREDITRISK + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE ' Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale = @codiceFiscale + and rete= @rete + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE 'Patrimonio IW Private Inv.' END + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + left outer join C6MartPeriodico.COMPLESSITA cmp + on + CMP.COD_FISCALE=PATRBF.COD_FISCALE + AND + CMP.RETE=PATRBF.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + ) + +------------------------ MIFID2 - MAGGIO 2018 + select @coperturaBF=copertura + from C6MartPeriodico.RISCHIO_AGGREGATO + -- modifica del 17/10/2018 - Va' preso il compleesivoBF come avviene nella d2_s170_RischioDiversificazione + --where cod_aggreg='comp diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza_BKP_PRE_RAFFORZAMENTO.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza_BKP_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..869a93cb --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza_BKP_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,140 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S128ProfiloRischioAdeguatezza_BKP_PRE_RAFFORZAMENTO + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] 's', 'GRTDNL49D01I531Z' +CREATE procedure [C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza_BKP_PRE_RAFFORZAMENTO] --'S','FGGMSM57H28G999D' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + +/************* BF *****************/ + DECLARE @varPatrBF DECIMAL(12,2) + DECLARE @riskClassBF VARCHAR(50) + + DECLARE @FLAGPROF varchar(16) +SET @FLAGPROF= (select distinct FLGPROF from C6MartPeriodico.WSEIAN2 where rete=@rete and CODFIS=@CodiceFiscale) + + + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + + +/* RECUPERO Rischio Mercaro e Rischio Credito BAnca Fideuram */ + + declare @contaCC as int + + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + + + declare @contaPOS as int + + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + + + SELECT + @varPatrBF = CASE WHEN (@contaPOS - @contaCC) = 0 THEN 0.00 + ELSE RISK_AGG.VAR_PERC_PTF + END, + @riskClassBF = RISK_AGG.CREDITRISK + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE ' Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale = @codiceFiscale + and rete= @rete + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE 'Patrimonio IW Private Inv.' END + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + left outer join C6MartPeriodico.COMPLESSITA cmp + on + CMP.COD_FISCALE=PATRBF.COD_FISCALE + AND + CMP.RETE=PATRBF.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + ) + +------------------------ MIFID2 - MAGGIO 2018 + select @coperturaBF=copertura + from C6MartPeriodico.RISCHIO_AGGREGATO + -- modifica del 17/10/2018 - Va' preso il compleesivoBF come avviene nella d2_s170_RischioDiversificazione + --where cod_aggreg='complessivo' + where cod_aggreg='COMPLESSIVO|BF' + -- fine modifica del 17/10/2018 + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S129Patrimonio.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S129Patrimonio.sql new file mode 100644 index 00000000..fe76677b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S129Patrimonio.sql @@ -0,0 +1,36 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S129Patrimonio + +CREATE procedure [C6MartPeriodico].[PL_MP_S129Patrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +SELECT [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS129] DettMov + ,[NumeroAsterischiNota] + ,sommaproventi + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] + WHERE [Rete] = @Rete + AND [Cod_Fiscale] = @CodiceFiscale + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S129Patrimonio_BkUpParall.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S129Patrimonio_BkUpParall.sql new file mode 100644 index 00000000..3664722b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S129Patrimonio_BkUpParall.sql @@ -0,0 +1,141 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S129Patrimonio_BkUpParall + +-- Stored procedure + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_MP_S129Patrimonio] 'S','VNDMRZ60L23G702B' + + +CREATE procedure [C6MartPeriodico].[PL_MP_S129Patrimonio_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Recupero data congelamento SEI + + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + DECLARE @SommaProventi money + + + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + -- Inserimento Dati Scirocco + --SELECT @DettMovPrec = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM < '20111231' + SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_TRIMESTRE_PREC + --modifica rleboffe 20130617 + --@DettMovCorr = DETT_MOV_CORR + FROM C6MartPeriodico.DettaglioMovimenti + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale + --SELECT @DettMovCorr = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM = '20111231' + + IF @DettMovPrec is null + SET @AppoDettMovPrec = 'n.d.' + ELSE + SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + + IF @DettMovCorr is null + SET @AppoDettMovCorr = 'n.d.' + ELSE + SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + + --query per asterischi situazione precedente + IF EXISTS(SELECT * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICS] + WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + AND RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + + IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + ----------------------------------------- + + --query per asterischi situazione corrente + IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + WHERE COD_INTERNO IN ('37', 'GP') + AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + SET @NumAsterischiCorr = 1 + ----------------------------------------- + + SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + + SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + + + IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) + BEGIN + + -- Attivazione monitoraggio + +--versione nuova da testare + +--select @SommaProventi= sum(IMPORTO) +--from [C6StagingPeriodico].[WSEIPR] +--WHERE Rete = @Rete +-- AND codfis = @CodiceFiscale + +SELECT @SommaProventi= sum(IMPORTO) + FROM [C6MartPeriodico].proventi + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + + SELECT + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Pa diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S129Patrimonio_bkp_fc.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S129Patrimonio_bkp_fc.sql new file mode 100644 index 00000000..19f4c6d7 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S129Patrimonio_bkp_fc.sql @@ -0,0 +1,141 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S129Patrimonio_bkp_fc + +-- Stored procedure + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_MP_S129Patrimonio] 'S','VNDMRZ60L23G702B' + + +CREATE procedure [C6MartPeriodico].[PL_MP_S129Patrimonio_bkp_fc] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Recupero data congelamento SEI + + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + DECLARE @SommaProventi money + + + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + -- Inserimento Dati Scirocco + --SELECT @DettMovPrec = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM < '20111231' + SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_TRIMESTRE_PREC + --modifica rleboffe 20130617 + --@DettMovCorr = DETT_MOV_CORR + FROM C6MartPeriodico.DettaglioMovimenti + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale + --SELECT @DettMovCorr = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM = '20111231' + + IF @DettMovPrec is null + SET @AppoDettMovPrec = 'n.d.' + ELSE + SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + + IF @DettMovCorr is null + SET @AppoDettMovCorr = 'n.d.' + ELSE + SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + + --query per asterischi situazione precedente + IF EXISTS(SELECT * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICS] + WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + AND RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + + IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + ----------------------------------------- + + --query per asterischi situazione corrente + IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + WHERE COD_INTERNO IN ('37', 'GP') + AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + SET @NumAsterischiCorr = 1 + ----------------------------------------- + + SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + + SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + + + IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) + BEGIN + + -- Attivazione monitoraggio + +--versione nuova da testare + +--select @SommaProventi= sum(IMPORTO) +--from [C6StagingPeriodico].[WSEIPR] +--WHERE Rete = @Rete +-- AND codfis = @CodiceFiscale + +SELECT @SommaProventi= sum(IMPORTO) + FROM [C6MartPeriodico].proventi + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + + SELECT + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partit diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S130PrincipaliPosizioni.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S130PrincipaliPosizioni.sql new file mode 100644 index 00000000..c74264f5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S130PrincipaliPosizioni.sql @@ -0,0 +1,57 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S130PrincipaliPosizioni + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +--[C6martPeriodico].PL_MP_S130PrincipaliPosizioni 'F','GSTGPL59P03B586G' + +CREATE procedure [C6MartPeriodico].[PL_MP_S130PrincipaliPosizioni] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + + + +select top 3 ANAGPROD.DESCR_PRODOTTO as Prodotto, +CAST ((PATRBF.CTV) AS DECIMAL (12,2)) AS Controvalore, +CAST(((PATRBF.CTV/(select distinct sum(PATRBF.CTV) +from C6MartPeriodico.PATRIMONIO_BF PATRBF +where PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale +--INIZIO INTRVENTI OMNIA +--AND PATRBF.ID_AREA <> 'Cc'))*100) AS DECIMAL (12,2)) as PesoRelativo + AND PATRBF.ID_AREA not in ('Cc','self')))*100) AS DECIMAL (12,2)) as PesoRelativo +--FINE INTRVENTI OMNIA +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +WHERE PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +--INIZIO INTRVENTI OMNIA +-- AND PATRBF.ID_AREA <> 'Cc' + AND PATRBF.ID_AREA not in ('Cc','self') +--FINE INTRVENTI OMNIA +ORDER BY +Controvalore desc + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S131ContributoARischio.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S131ContributoARischio.sql new file mode 100644 index 00000000..dd9ea371 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S131ContributoARischio.sql @@ -0,0 +1,83 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S131ContributoARischio + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +--[C6martPeriodico].[PL_MP_S131ContributoARischio] F,BRZGLI88S43F839A + +CREATE procedure [C6MartPeriodico].[PL_MP_S131ContributoARischio] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +SELECT +top 3 ANAGPROD.DESCR_PRODOTTO as descrizioneProdotto, +PATRBF.CTV AS controvalore, +case when (patrbf.tipo_prodotto ='CC') then 0.00 + else RISCHIO_PROD.VAR_PERC_PTF +end AS rischioMercato, + +( + ( + case + when ((PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100) is null then 0.00 + ELSE (PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100 + END + ) +/ + ( + case + when (sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0) )/100) over (partition by 'totale')) =0 then 1 + else sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0) )/100) over (partition by 'totale') + end + ) +) +* +100 +as rischioRelativo +--Controvalore prodotto * VaR% prodotto +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.ordinamento_progetto as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END + + PATRBF.POSITION_ID +WHERE PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY +rischioRelativo desc + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza.sql new file mode 100644 index 00000000..e1e1b685 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza.sql @@ -0,0 +1,39 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S132ProfiloRischioAdeguatezza + + +CREATE procedure [C6MartPeriodico].[PL_MP_S132ProfiloRischioAdeguatezza] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT [RETE] + ,[COD_FISCALE] + ,[INSTITUTENAME] + ,[CTV] + ,[CODICEPROFILO] + ,[DATAINIZIOVALIDITA] + ,[VARMAX] + ,[NOMEPROFILO] + ,[VAR] + ,[VARSTRING] + ,[RISKCLASS] + ,[RISKCLASSSTRING] + ,[COVERAGE] + ,[COVERAGESTRING] + ,[RISKCLASSMAX] + ,[PERCENTAGE] + ,[VarIsOk] + ,[RiskClassIsOk] + ,[ComplexityIsOk] + ,[Ully_perc] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S132ProfiloRischioAdeguatezza] + WHERE [RETE] = @Rete + AND [COD_FISCALE] = @CodiceFiscale + + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza_BkUpParall.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza_BkUpParall.sql new file mode 100644 index 00000000..df6afba5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza_BkUpParall.sql @@ -0,0 +1,122 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S132ProfiloRischioAdeguatezza_BkUpParall + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6martPeriodico].[PL_MP_S132ProfiloRischioAdeguatezza]F,BRZGLI88S43F839A +CREATE procedure [C6MartPeriodico].[PL_MP_S132ProfiloRischioAdeguatezza_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +-- DECLARE @varBF DECIMAL(12,2) +-- DECLARE @coperturaBF DECIMAL(12,2) +-- DECLARE @codiceProfilo SMALLINT +-- DECLARE @dataProfilo DATETIME +-- DECLARE @varProfilo DECIMAL(5,2) +-- DECLARE @nomeProfilo VARCHAR(50) +-- DECLARE @riskclass VARCHAR(50) +-- DECLARE @experience SMALLINT +-- +-- +-- SELECT +-- @codiceProfilo = M.PROFILO_ASS, +-- @dataProfilo = M.DATA_INIZIO_VAL, +-- @varProfilo = CR.MAX_VAR, +-- @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, +-- @riskclass = m.riskclass, +-- @experience = m.experience +-- FROM +-- C6MartPERIODICO.MIFID AS M +-- INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio +-- ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO +-- WHERE +-- M.RETE = @Rete AND +-- M.COD_FISCALE = @CodiceFiscale +-- +-- SELECT +-- @codiceProfilo as codiceProfilo, +-- DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, +-- @varProfilo as varMassimo, +-- ISNULL(@varBF,0) as varBF, +-- ISNULL(@coperturaBF,0) as coperturaBF, +-- @nomeProfilo as nomeProfilo, +-- @riskclass as riskclass, +-- @experience as experince + + + declare @contaCC as int + + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + + + declare @contaPOS as int + + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + + + + + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, +--CONVERT(DATETIME,M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + DBO.TOSHORTDATESTRING(M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + CR.MAX_VAR AS VARMAX, + ProfiliDiRischio.NOMEPROFILO as NOMEPROFILO, + --V Imposizione VaR a 0 nel caso di presenza di solo cc + CASE + WHEN (@contaPOS - @contaCC) = 0 THEN 0.00 + ELSE RISK_AGG.VAR_PERC_PTF + END AS VAR, + + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 AND (@contaPOS - @contaCC) <> 0 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.a.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + CASE + WHEN (@contaPOS - @contaCC) = 0 THEN 100 + ELSE ISNULL(RISK_AGG.COPERTURA,0.00) + END AS COVERAGE, +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE + NULL AS COVERAGESTRING, + --V changed from string value (descrizione) to the numeric (profilo) + M.RISKCLASS AS RISKCLASSMAX, + (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI-CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) + END ) + *100 AS PERCENTAGE, + case when RISK_AGG.VAR_PERC_PTF > CR.MAX_VAR then 0 else 1 end as VarIsOk, + case when isnull(RISK_AGG.CREDITRISK,0) > Ck.PROFILO then 0 else 1 end as RiskClassIsOk, + CASE WHEN CMP.COMPLESSITA > M.EXPERIENCE THEN 0 ELSE 1 END as ComplexityIsOk, + RISK_AGG.Ully_perc + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd.sql new file mode 100644 index 00000000..08152252 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd.sql @@ -0,0 +1,50 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S133AreeBisognoPrincProd + + +CREATE procedure [C6MartPeriodico].[PL_MP_S133AreeBisognoPrincProd] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S133_S157DatiPiramide] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BK_eligoTitoli.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BK_eligoTitoli.sql new file mode 100644 index 00000000..45b64811 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BK_eligoTitoli.sql @@ -0,0 +1,134 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S133AreeBisognoPrincProd_BK_eligoTitoli + + + +-- ============================================= +-- Author: Davide Moccia +-- Create date: 06/05/2013 +-- Description: +-- ============================================= +-- [C6martPeriodico].[PL_MP_S133AreeBisognoPrincProd] 'F', 'DPRPLA46E25G888K' +CREATE procedure [C6MartPeriodico].[PL_MP_S133AreeBisognoPrincProd_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +--INIZIO INTERVENTI OMNIA +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, +--INIZIO INTERVENTI OMNIA + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY +--INIZIO INTERVENTI OMNIA +-- RETE, COD_FISCALE, LEFT(ID_AREA,3) + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END +--FINE INTERVENTI OMNIA + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') +--INIZIO INTERVENTI OMNIA +-- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC', 'SELF') +--FINE INTERVENTI OMNIA + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + + + IF(@@ROWCOUNT>0) + BEGIN + + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V +--INIZIO INTERVENTI OMNIA +-- AND ID_AREA not in ('Na', 'Cc') + AND ID_AREA not in ('Na', 'Cc', 'Self') +--FINE INTERVENTI OMNIA + --V +--INIZIO INTERVENTI OMNIA +-- DECLARE @TOTCC AS INT +-- SELECT @TOTCC = COUNT(*) + DECLARE @TOTCCSELF AS INT + SELECT @TOTCCSELF = COUNT(*) +--FINE INTERVENTI OMNIA + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale +--INIZIO INTERVENTI OMNIA +-- AND TIPO_PRODOTTO = 'Cc' + AND (TIPO_PRODOTTO = 'Cc' OR ISIN = 'EURO00000009' ) +--FINE INTERVENTI OMNIA + +--INIZIO INTERVENTI OMNIA quiii2 + DECLARE @TOTSELF AS INT + SELECT @TOTSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' +--FINE INTERVENTI OMNIA quiii2 + + + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LI diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BkUpParall.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BkUpParall.sql new file mode 100644 index 00000000..95dcedc9 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BkUpParall.sql @@ -0,0 +1,131 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S133AreeBisognoPrincProd_BkUpParall + +-- ============================================= +-- Author: Davide Moccia +-- Create date: 06/05/2013 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +-- [C6martPeriodico].[PL_MP_S133AreeBisognoPrincProd] 'F', 'DPRPLA46E25G888K' +CREATE procedure [C6MartPeriodico].[PL_MP_S133AreeBisognoPrincProd_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +--INIZIO INTERVENTI OMNIA +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, +--INIZIO INTERVENTI OMNIA + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY +--INIZIO INTERVENTI OMNIA +-- RETE, COD_FISCALE, LEFT(ID_AREA,3) + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END +--FINE INTERVENTI OMNIA + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') +--INIZIO INTERVENTI OMNIA +-- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC', 'SELF') +--FINE INTERVENTI OMNIA + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + + + IF(@@ROWCOUNT>0) + BEGIN + + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V +--INIZIO INTERVENTI OMNIA +-- AND ID_AREA not in ('Na', 'Cc') + AND ID_AREA not in ('Na', 'Cc', 'Self') +--FINE INTERVENTI OMNIA + --V +--INIZIO INTERVENTI OMNIA +-- DECLARE @TOTCC AS INT +-- SELECT @TOTCC = COUNT(*) + DECLARE @TOTCCSELF AS INT + SELECT @TOTCCSELF = COUNT(*) +--FINE INTERVENTI OMNIA + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale +--INIZIO INTERVENTI OMNIA +-- AND TIPO_PRODOTTO = 'Cc' + AND (TIPO_PRODOTTO = 'Cc' OR ISIN in ('EURO00000009', 'EURO10000007')) +--FINE INTERVENTI OMNIA + +--INIZIO INTERVENTI OMNIA quiii2 + DECLARE @TOTSELF AS INT + SELECT @TOTSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009','EURO10000007') +--FINE INTERVENTI OMNIA quiii2 + + + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + W diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S133BISPrincipaliProdotti.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S133BISPrincipaliProdotti.sql new file mode 100644 index 00000000..daf8ba5d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S133BISPrincipaliProdotti.sql @@ -0,0 +1,67 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S133BISPrincipaliProdotti + + + +-- ============================================= +-- Author: +-- Create date: <07/05/2013> +-- Description: +-- ============================================= + +-- [C6martPeriodico].[PL_MP_S133BISPrincipaliProdotti] F,CLSPLA43D08H501B + +CREATE procedure [C6MartPeriodico].[PL_MP_S133BISPrincipaliProdotti] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +SELECT TOP 10 + ANAGPROD.DESCR_PRODOTTO AS descrProdotto + ,PATRBF.CTV AS Controvalore + ,CASE + WHEN patrbf.tipo_prodotto = 'CC' THEN 0.00 + ELSE RISCHIO_PROD.VAR_PERC_PTF + END AS VaRprodotto + ,((CASE + WHEN ((PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100) is null then 0.00 + ELSE(PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100 + END) / (CASE + WHEN sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') = 0 THEN 1 + ELSE sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') + END))*100 as rischioRelativo + ,(PATRBF.CTV/(sum(PATRBF.CTV) over (partition by 'totale')))*100 AS pesoRelativo + ,PATRBF.ID_AREA AS codAreaBisogno + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO + INNER JOIN C6MartPeriodico.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.ordinamento_progetto as varchar),'') + '|' + WHEN LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END + + PATRBF.POSITION_ID + WHERE PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 + AND PATRBF.ID_AREA <> 'Cc' + ORDER BY rischioRelativo DESC + + + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S134BISMonitoraggioLiqInv.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S134BISMonitoraggioLiqInv.sql new file mode 100644 index 00000000..88e6078f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S134BISMonitoraggioLiqInv.sql @@ -0,0 +1,63 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S134BISMonitoraggioLiqInv + + + + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S134BISMonitoraggioLiqInv] 'F','CNTGCR68T31D458G' +CREATE procedure [C6MartPeriodico].[PL_MP_S134BISMonitoraggioLiqInv] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + SELECT + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + --and APPORTO_INIZIALE<>'0.00'--- aggiunta 20221219 per + + UNION + + SELECT + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S134MonitoraggioLiquidita.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S134MonitoraggioLiquidita.sql new file mode 100644 index 00000000..fb4fc5aa --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S134MonitoraggioLiquidita.sql @@ -0,0 +1,97 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S134MonitoraggioLiquidita + + + + + + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S134MonitoraggioLiquidita] 'F','CNTGCR68T31D458G' +CREATE procedure [C6MartPeriodico].[PL_MP_S134MonitoraggioLiquidita] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +-- DECLARE @RendimNonRappr BIT + +SELECT + case when RENDIMNONRAPPR=1 then 1 else 0 end AS cf_rendim_non_rappr, + MONIT.id_Area AS Need_Area, + CASE + WHEN MONIT.NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(MONIT.NOME_PROGETTO)) + END AS Nome_Progetto, + monit.ordinamento_progetto, + dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, + CTV_MONITORATO AS ControvaloreMonitorato, + APPORTO_INIZIALE AS ApportoIniziale, + APPORTO_SUCCESSIVO AS ApportoSuccessivo, + LIQUIDAZIONI, + CEDOLE_DIVIDENDI AS CedoleEDividendi, + MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, + RENDIMENTO_CUMULATO AS Rendimento_Attuale, + RISORSE_ASSOCIATE AS RisorseApportate, + dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, + RENDIMENTO_ANNUALIZZATO + FROM + C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT + LEFT OUTER JOIN + ( + SELECT + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end as NOME_PROGETTO, + patr_bf.ordinamento_progetto, + 1 as RENDIMNONRAPPR + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + LEFT OUTER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + WHERE + PATR_BF.RETE = @Rete + AND PATR_BF.COD_FISCALE = @CodiceFiscale + AND PATR_BF.REND_NON_RAPPR = 1 + group by + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end, + patr_bf.ordinamento_progetto + ) PATR_BF + ON PATR_BF.COD_FISCALE=MONIT.COD_FISCALE + AND PATR_BF.RETE= MONIT.RETE + AND left(PATR_BF.ID_AREA,3)=left(MONIT.ID_AREA,3) + AND isnull(PATR_BF.NOME_PROGETTO,'XXX')=isnull(MONIT.NOME_PROGETTO,'XXX') + And monit.ordinamento_progetto=patr_bf.ordinamento_progetto + WHERE + MONIT.RETE = @Rete AND + MONIT.COD_FISCALE = @CodiceFiscale + -- and CTV_MONITORATO<>'0.00' -- aggiunta 20221219 + + +END + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S135MonitoraggioInvestimento.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S135MonitoraggioInvestimento.sql new file mode 100644 index 00000000..4503b0ff --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S135MonitoraggioInvestimento.sql @@ -0,0 +1,62 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S135MonitoraggioInvestimento + + + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S135MonitoraggioInvestimento] 'F','BDTMSS49A43F502I' +CREATE procedure [C6MartPeriodico].[PL_MP_S135MonitoraggioInvestimento] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + SELECT + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + + UNION + + SELECT + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S137BISCapitaleProtetto.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S137BISCapitaleProtetto.sql new file mode 100644 index 00000000..901e417a --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S137BISCapitaleProtetto.sql @@ -0,0 +1,63 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S137BISCapitaleProtetto + + + + +-- ============================================= +-- Author: +-- Create date: <19/11/2014, Pomezia> +-- Description: +-- ============================================= + +-- [C6MartPeriodico].[PL_MP_S137BISCapitaleProtetto] 'F','QRCRLR38P10G999N' +CREATE procedure [C6MartPeriodico].[PL_MP_S137BISCapitaleProtetto] + ---- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + --SELECT top 1 + -- 'Interfund Capital Protection' AS DES_PROD, + -- '001234.RS.S678' AS COD_CONF, + -- '120,1040' AS QUOTA, + -- '100,1234' AS NUMEROQUOTE, + -- '12.025,22' AS CONTROVALORE, + -- '31/03/2014' AS DATARIF, + -- 'Quota massima' AS DES_MAX, + -- '125,4573' AS QUOTA_MAX, + -- '80' AS QUOTA_MAX_PERC, + -- '31/03/2013' AS DATARIF_MAX, + -- 'Quota e controvalore protetti*' AS DES_PROT, + -- '100,3658' AS QUOTA_PROT, + -- '100,1234' AS NUMEROQUOTE_PROT, + -- '10.048,97' AS CONTROVALORE_PROT + SELECT + DES_PROD + ,COD_CONF + ,QUOTA + ,NUMEROQUOTE + ,CONTROVALORE + ,DATARIF + ,DES_MAX + ,QUOTA_MAX + ,QUOTA_MAX_PERC + ,DATARIF_MAX + ,DES_PROT + ,QUOTA_PROT + ,NUMEROQUOTE_PROT + ,CONTROVALORE_PROT + ,DES_PROD_TIT -- Aggiunta per E-FOI80 + FROM C6MartPeriodico.CAPPROT + + WHERE 1=1 + AND RETE = @Rete + AND CODFIS = @CodiceFiscale + +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S137BIS_FOI80.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S137BIS_FOI80.sql new file mode 100644 index 00000000..08331d4d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S137BIS_FOI80.sql @@ -0,0 +1,76 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S137BIS_FOI80 + + + + + + + + +-- ============================================= +-- Description: +-- ============================================= + +-- [C6MartPeriodico].[PL_MP_S137BIS_FOI80] 'F','QRCRLR38P10G999N' +CREATE procedure [C6MartPeriodico].[PL_MP_S137BIS_FOI80] + ---- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + --SELECT top 1 + -- 'Interfund Capital Protection' AS DES_PROD, + -- '001234.RS.S678' AS COD_CONF, + -- '120,1040' AS QUOTA, + -- '100,1234' AS NUMEROQUOTE, + -- '12.025,22' AS CONTROVALORE, + -- '31/03/2014' AS DATARIF, + -- 'Quota massima' AS DES_MAX, + -- '125,4573' AS QUOTA_MAX, + -- '80' AS QUOTA_MAX_PERC, + -- '31/03/2013' AS DATARIF_MAX, + -- 'Quota e controvalore protetti*' AS DES_PROT, + -- '100,3658' AS QUOTA_PROT, + -- '100,1234' AS NUMEROQUOTE_PROT, + -- '10.048,97' AS CONTROVALORE_PROT + SELECT + DTTRIM, + DTRIFE, + RETE, + CODFIS, + DESPROD, + CODMAN, + CODCONF, + CODPROD, + SUBPROD, + ISIN, + CTV, + PREZZO, + QUOTE, + PREZZOMAX, + DTPREZZOMAX, + DESMAX, + PREZZOPROT, + CTRVIMPPROT, + DESPROT, + DESPRODTIT, + QUOTA_MAX_PERC + + FROM C6MartPeriodico.FOI80 + + WHERE 1=1 + AND RETE = @Rete + AND CODFIS = @CodiceFiscale + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S137Bonus.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S137Bonus.sql new file mode 100644 index 00000000..62d606bd --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S137Bonus.sql @@ -0,0 +1,41 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S137Bonus + + +--[C6MartPeriodico].[PL_MP_S137Bonus] 'F','QRCRLR38P10G999N' +CREATE procedure [C6MartPeriodico].[PL_MP_S137Bonus] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT [RETE], + bonus.[COD_FISCALE], + [DES_PROD] = CASE + WHEN desrc.descrizione is null THEN '' + ELSE desrc.descrizione + END, + bonus.[COD_CONF], + bonus.[CTV], + bonus.[DT_TRIM], + 'Bonus Maturato' as [DESBONUS_M], + bonus.[BONUS_M], + bonus.[DTDEC_M], + 'Bonus a scadenza 5 anni' as [DESBONUS_5], + bonus.[BONUS_5], + bonus.[DTDEC_5], + 'Bonus a scadenza 10 anni' as [DESBONUS_10], + bonus.[BONUS_10], + bonus.[DTDEC_10], + bonus.[COD_PROD] + FROM [C6MartPeriodico].[BONUS] bonus + Left Join c6martperiodico.descrizione_bonus desrc + on desrc.cod_prod = bonus.cod_prod + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S138Proventi.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S138Proventi.sql new file mode 100644 index 00000000..52e3f4bb --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S138Proventi.sql @@ -0,0 +1,41 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S138Proventi + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S138Proventi] 'F','ZZZRSO40P44B042U' +CREATE procedure [C6MartPeriodico].[PL_MP_S138Proventi] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + SELECT + DTRIFE + ,DESPROD + ,TIPMOV + ,IMPORTO + FROM [C6MartPeriodico].proventi proventi + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + and importo>0.00 --fix 20240701 +END + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S139Scadenze.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S139Scadenze.sql new file mode 100644 index 00000000..8eaa13aa --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S139Scadenze.sql @@ -0,0 +1,36 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S139Scadenze + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_MP_S139Scadenze] 'F','00164770307' +CREATE procedure [C6MartPeriodico].[PL_MP_S139Scadenze] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + DESPROD, + TIPMOV , + DTSCAD + + FROM [C6MartPeriodico].scadenze + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +END + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts.sql new file mode 100644 index 00000000..3efd1555 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts.sql @@ -0,0 +1,109 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S140AnalisiRisparmioCharts + + + +-- [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts_NoLight] 'S','BRNGDI72S69L219Y' +CREATE procedure [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + +--QUERY PER INTERMEDIARIO +SELECT + RETE, + COD_FISCALE, + INTERMEDIARIO, + CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest', 'IW Private Investments') THEN 1 + ELSE 2 END AS ORDINE, + SUM(CTV) AS CTV_TOT, + SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, + SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, + SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, + --CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, + CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) + )*100 END AS PERC_CreditRisk, + + CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE + END AS RISKCLASS, + CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' WHEN PATRBF.RETE = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS INTERMEDIARIO, + --SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV + --INIZIO INTERVENTI OMNIA + --SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv + SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS ctv + --FINE INTERVENTI OMNIA + FROM + [C6MartPeriodico].[patrimonio_bf] PATRBF + ---Per calcolare la somma algebrica dei cc + LEFT OUTER JOIN + (select cod_fiscale, rete, sum(ctv) as cc_ctv + from + [C6MartPeriodico].[patrimonio_bf] + where id_Area='Cc' + group by cod_fiscale, rete + ) ctvcc + on + patrbf.cod_fiscale=ctvcc.cod_fiscale + and + patrbf.rete=ctvcc.rete + --fine calcolo somma cc + --INIZIO INTERVENTI OMNIA + ---Per calcolare la somma algebrica dei self negativi + LEFT OUTER JOIN + (select cod_fiscale, rete, sum(ctv) as self_ctv + from + [C6MartPeriodico].[patrimonio_bf] + where id_Area='Self' + group by cod_fiscale, rete + ) ctvself + on + patrbf.cod_fiscale=ctvself.cod_fiscale + and + patrbf.rete=ctvself.rete + --fine calcolo somma self negativi + --FINE INTERVENTI OMNIA + LEFT OUTER JOIN + [C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD + ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID + --INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR + LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR + ON RISCHIO_PROD.CREDITRISK = cr.p diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_20190123_PreLIGHT.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_20190123_PreLIGHT.sql new file mode 100644 index 00000000..42fa7881 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_20190123_PreLIGHT.sql @@ -0,0 +1,122 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S140AnalisiRisparmioCharts_20190123_PreLIGHT + + + + + +-- [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts] 'S','RTRRLF23S12Z105V' +CREATE procedure [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts_20190123_PreLIGHT] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + + + +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, + +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS ctv +--FINE INTERVENTI OMNIA +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +--INIZIO INTERVENTI OMNIA +---Per calcolare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine calcolo somma self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHI diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_NoLight.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_NoLight.sql new file mode 100644 index 00000000..87d9225b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_NoLight.sql @@ -0,0 +1,111 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S140AnalisiRisparmioCharts_NoLight + + +-- [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts_NoLight] 'S','BRNGDI72S69L219Y' +CREATE procedure [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts_NoLight] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + +--QUERY PER INTERMEDIARIO +SELECT + RETE, + COD_FISCALE, + INTERMEDIARIO, + CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, + SUM(CTV) AS CTV_TOT, + SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, + SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, + SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, + --CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, + CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) + )*100 END AS PERC_CreditRisk, + + CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE + END AS RISKCLASS, + CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, + --SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV + --INIZIO INTERVENTI OMNIA + --SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv + SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS ctv + --FINE INTERVENTI OMNIA + FROM + [C6MartPeriodico].[patrimonio_bf] PATRBF + ---Per calcolare la somma algebrica dei cc + LEFT OUTER JOIN + (select cod_fiscale, rete, sum(ctv) as cc_ctv + from + [C6MartPeriodico].[patrimonio_bf] + where id_Area='Cc' + group by cod_fiscale, rete + ) ctvcc + on + patrbf.cod_fiscale=ctvcc.cod_fiscale + and + patrbf.rete=ctvcc.rete + --fine calcolo somma cc + --INIZIO INTERVENTI OMNIA + ---Per calcolare la somma algebrica dei self negativi + LEFT OUTER JOIN + (select cod_fiscale, rete, sum(ctv) as self_ctv + from + [C6MartPeriodico].[patrimonio_bf] + where id_Area='Self' + group by cod_fiscale, rete + ) ctvself + on + patrbf.cod_fiscale=ctvself.cod_fiscale + and + patrbf.rete=ctvself.rete + --fine calcolo somma self negativi + --FINE INTERVENTI OMNIA + LEFT OUTER JOIN + [C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD + ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID + --INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR + LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR + ON RISCHIO_PROD.CREDITRISK = cr.profilo + --V + WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RE diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable.sql new file mode 100644 index 00000000..3eb27367 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable.sql @@ -0,0 +1,142 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S141AnalisiRisparmioTable + + + +--EXEC [C6martPeriodico].PL_MP_S141AnalisiRisparmioTable 'F','FTSVSL35E25Z115H' +CREATE procedure [C6MartPeriodico].[PL_MP_S141AnalisiRisparmioTable] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + + +declare @patr_compl decimal(18,3) + + +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 + +SELECT --U.* + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +FROM ( + + +-- PER INTERMEDIARIO + + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + --RATING AS RATING, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, +--EN 26012016: solo se per un emittente nessun prodotto riporta nessuna copertura +-- viene impostato nc=1 (non classificato) e si assume che nessuna riskclass +-- sia valorizzato. +-- sum(case when copertura > 0 then 0 else 1 end) as nc + min(case when copertura > 0 then 0 else 1 end) as nc + FROM + (SELECT --Y.* + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + --RATING AS RATING, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable_test.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable_test.sql new file mode 100644 index 00000000..ed025274 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable_test.sql @@ -0,0 +1,146 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S141AnalisiRisparmioTable_test + + + + +--EXEC [C6martPeriodico].PL_MP_S141AnalisiRisparmioTable_test 'S','BNOSDR61T03F205W' +CREATE procedure [C6MartPeriodico].[PL_MP_S141AnalisiRisparmioTable_test] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + + +declare @patr_compl decimal(18,3) + + +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 + +SELECT --U.* + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC + + into #tabtemp + +FROM ( + + +-- PER INTERMEDIARIO + + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + --RATING AS RATING, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, +--EN 26012016: solo se per un emittente nessun prodotto riporta nessuna copertura +-- viene impostato nc=1 (non classificato) e si assume che nessuna riskclass +-- sia valorizzato. +-- sum(case when copertura > 0 then 0 else 1 end) as nc + min(case when copertura > 0 then 0 else 1 end) as nc + FROM + (SELECT --Y.* + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + --RATING AS RATING, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S142DistibuzionePerRating.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S142DistibuzionePerRating.sql new file mode 100644 index 00000000..83044e1f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S142DistibuzionePerRating.sql @@ -0,0 +1,95 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S142DistibuzionePerRating + + + +-- [C6martPeriodico].PL_MP_S142DistibuzionePerRating 'f','MSCLRT46H15A565B' + + CREATE procedure [C6MartPeriodico].[PL_MP_S142DistibuzionePerRating] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + + +SELECT + RATING, + isnull(sum(T.CONTROVALORE),0) as CONTROVALORE , + isnull(sum(T.CONTROVALORE) / ((SELECT sum(BF.ctv) + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' )/100),0) + AS Percentage, + CASE RATING + WHEN 'Da AAA a A-' THEN 93 + WHEN 'Da BBB+ a BBB-' THEN 171 + WHEN 'Da BB+ a B-' THEN 174 + WHEN 'Da CCC+ a D' THEN 193 + ELSE 235 + END AS Red, + CASE RATING + WHEN 'Da AAA a A-' THEN 138 + WHEN 'Da BBB+ a BBB-' THEN 196 + WHEN 'Da BB+ a B-' THEN 135 + WHEN 'Da CCC+ a D' THEN 174 + ELSE 235 + END AS Green, + CASE RATING + WHEN 'Da AAA a A-' THEN 153 + WHEN 'Da BBB+ a BBB-' THEN 150 + WHEN 'Da BB+ a B-' THEN 88 + WHEN 'Da CCC+ a D' THEN 149 + ELSE 236 + END AS Blue +FROM ( + SELECT + CASE ANAG.rating + WHEN 'AAA' THEN 'Da AAA a A-' + WHEN 'AA+' THEN 'Da AAA a A-' + WHEN 'AA' THEN 'Da AAA a A-' + WHEN 'AA-' THEN 'Da AAA a A-' + WHEN 'A+' THEN 'Da AAA a A-' + WHEN 'A' THEN 'Da AAA a A-' + WHEN 'A-' THEN 'Da AAA a A-' + WHEN 'BBB+' THEN 'Da BBB+ a BBB-' + WHEN 'BBB' THEN 'Da BBB+ a BBB-' + WHEN 'BBB-' THEN 'Da BBB+ a BBB-' + WHEN 'BB+' THEN 'Da BB+ a B-' + WHEN 'BB' THEN 'Da BB+ a B-' + WHEN 'BB-' THEN 'Da BB+ a B-' + WHEN 'B+' THEN 'Da BB+ a B-' + WHEN 'B' THEN 'Da BB+ a B-' + WHEN 'B-' THEN 'Da BB+ a B-' + WHEN 'CCC+' THEN 'Da CCC+ a D' + WHEN 'CCC' THEN 'Da CCC+ a D' + WHEN 'CCC-' THEN 'Da CCC+ a D' + WHEN 'CC' THEN 'Da CCC+ a D' + WHEN 'C' THEN 'Da CCC+ a D' + WHEN 'D' THEN 'Da CCC+ a D' + ELSE 'Non classificato' + END AS RATING, + isnull(sum(BF.ctv),0) as CONTROVALORE + + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' + GROUP BY ANAG.rating +) T +GROUP BY T.RATING +ORDER BY T.RATING + + + + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S143DistibuzionePerEmittente.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S143DistibuzionePerEmittente.sql new file mode 100644 index 00000000..4d4610ff --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S143DistibuzionePerEmittente.sql @@ -0,0 +1,73 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S143DistibuzionePerEmittente + + + + +-- [C6martPeriodico].PL_MP_S143DistibuzionePerEmittente 'f','SLBBRT27A42Z127N' + +CREATE procedure [C6MartPeriodico].[PL_MP_S143DistibuzionePerEmittente] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; +-- Fc17/12/2013 Ridistribuita la percentuale +SELECT + isnull(ANAG.TIPO_EMITTENTE,'') as TIPOEMITTENTE, + isnull(sum(BF.ctv),0) as CONTROVALORE, + CASE + when ANAG.TIPO_EMITTENTE is null then 0 + else + isnull(sum(BF.ctv) / ((SELECT sum(BF.ctv) + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND NOT ANAG.TIPO_EMITTENTE is null + AND ANAG.FLG_OB='S')/100),0) + End + AS Percentage, + CASE ANAG.TIPO_EMITTENTE + WHEN 'Agency' THEN 93 + WHEN 'Governativo' THEN 123 + WHEN 'Emergente' THEN 200 + WHEN 'Sovranazionale' THEN 221 + WHEN 'Corporate' THEN 255 + ELSE 235 + END AS Red, + CASE ANAG.TIPO_EMITTENTE + WHEN 'Agency' THEN 132 + WHEN 'Governativo' THEN 168 + WHEN 'Emergente' THEN 126 + WHEN 'Sovranazionale' THEN 192 + WHEN 'Corporate' THEN 245 + ELSE 235 + END AS Green, + CASE ANAG.TIPO_EMITTENTE + WHEN 'Agency' THEN 111 + WHEN 'Governativo' THEN 145 + WHEN 'Emergente' THEN 99 + WHEN 'Sovranazionale' THEN 115 + WHEN 'Corporate' THEN 210 + ELSE 236 + END AS Blue + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' +GROUP BY ANAG.TIPO_EMITTENTE +ORDER BY TIPOEMITTENTE + + + + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S144DistibuzionePerScadenze.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S144DistibuzionePerScadenze.sql new file mode 100644 index 00000000..7b995ce8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S144DistibuzionePerScadenze.sql @@ -0,0 +1,118 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S144DistibuzionePerScadenze + + + +-- [C6martPeriodico].PL_MP_S144DistibuzionePerScadenze 'f','00164770307' +CREATE procedure [C6MartPeriodico].[PL_MP_S144DistibuzionePerScadenze] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + + +DECLARE @DTTRIM datetime +SET @DTTRIM = c6martperiodico.gettrimestre2(getdate(),0) + +SELECT + T.SCADENZA, + T.CONTROVALORE , + ISNULL(sum(CONTROVALORE) / ((SELECT sum(BF.ctv) + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' + AND ANAG.DT_SCADENZA >= @DTTRIM)/100),0) + AS Percentage, + CASE T.SCADENZA + WHEN 'Meno di 1 anno' THEN 128 + WHEN 'Da 1 a 3 anni' THEN 161 + WHEN 'Da 3 a 7 anni' THEN 193 + WHEN 'Pi di 7 anni' THEN 224 + ELSE 255 + END AS Red, + CASE T.SCADENZA + WHEN 'Meno di 1 anno' THEN 153 + WHEN 'Da 1 a 3 anni' THEN 177 + WHEN 'Da 3 a 7 anni' THEN 202 + WHEN 'Pi di 7 anni' THEN 228 + ELSE 255 + END AS Green, + CASE T.SCADENZA + WHEN 'Meno di 1 anno' THEN 136 + WHEN 'Da 1 a 3 anni' THEN 163 + WHEN 'Da 3 a 7 anni' THEN 193 + WHEN 'Pi di 7 anni' THEN 223 + ELSE 255 + END AS Blue + +FROM ( + SELECT + 'Meno di 1 anno' as SCADENZA, + ISNULL(sum(BF.ctv),0) as CONTROVALORE, + 1 AS ORDINE + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND DATEDIFF(d, GETDATE(),ANAG.DT_SCADENZA) <= 365 + AND ANAG.FLG_OB='S' + AND ANAG.DT_SCADENZA >= @DTTRIM + + UNION + + SELECT + 'Da 1 a 3 anni' as SCADENZA, + ISNULL(sum(BF.ctv),0) as CONTROVALORE, + 2 AS ORDINE + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND DATEDIFF(d, GETDATE(),ANAG.DT_SCADENZA) BETWEEN 365+1 and 365*3 + AND ANAG.FLG_OB='S' + AND ANAG.DT_SCADENZA >= @DTTRIM + + UNION + + SELECT + 'Da 3 a 7 anni' as SCADENZA, + ISNULL(sum(BF.ctv),0) as CONTROVALORE, + 3 AS ORDINE + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND DATEDIFF(d, GETDATE(),ANAG.DT_SCADENZA) BETWEEN 365*3+1 and 365*7 + AND ANAG.FLG_OB='S' + AND ANAG.DT_SCADENZA >= @DTTRIM + + UNION + + SELECT + 'Pi di 7 anni' as SCADENZA, + ISNULL(sum(BF.ctv),0) as CONTROVALORE, + 4 AS ORDINE + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND DATEDIFF(d, GETDATE(),ANAG.DT_SCADENZA) >= 365*7+1 + AND ANAG.FLG_OB='S' + AND ANAG.DT_SCADENZA >= @DTTRIM +) T +WHERE T.CONTROVALORE > 0 +GROUP BY T.SCADENZA,T.CONTROVALORE,T.ORDINE +ORDER BY T.ORDINE +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S145DistibuzionePerTassoRendimento.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S145DistibuzionePerTassoRendimento.sql new file mode 100644 index 00000000..14323604 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S145DistibuzionePerTassoRendimento.sql @@ -0,0 +1,67 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S145DistibuzionePerTassoRendimento + + + + +-- [C6martPeriodico].PL_MP_S145DistibuzionePerTassoRendimento 'f','00164770307' +CREATE procedure [C6MartPeriodico].[PL_MP_S145DistibuzionePerTassoRendimento] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + +SELECT + ISNULL(ANAG.TIPO_TASSO,'') as TIPOTASSO, + ISNULL(sum(BF.ctv),0) as CONTROVALORE, + CASE + when ANAG.TIPO_TASSO is null then 0 + else + ISNULL(sum(BF.ctv) / ((SELECT sum(BF.ctv) + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + and not ANAG.TIPO_TASSO is null + AND ANAG.FLG_OB='S')/100) ,0) + END + AS Percentage, + CASE ANAG.TIPO_TASSO + WHEN 'Fisso' THEN 153 + WHEN 'Variabile' THEN 207 + WHEN 'Zero Coupon' THEN 193 + ELSE 235 + END AS Red, + CASE ANAG.TIPO_TASSO + WHEN 'Fisso' THEN 185 + WHEN 'Variabile' THEN 220 + WHEN 'Zero Coupon' THEN 174 + ELSE 235 + END AS Green, + CASE ANAG.TIPO_TASSO + WHEN 'Fisso' THEN 166 + WHEN 'Variabile' THEN 210 + WHEN 'Zero Coupon' THEN 149 + ELSE 236 + END AS Blue + +FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' +GROUP BY ANAG.TIPO_TASSO +ORDER BY TIPOTASSO + + + + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S146RischioDiversificazione.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S146RischioDiversificazione.sql new file mode 100644 index 00000000..a7507692 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S146RischioDiversificazione.sql @@ -0,0 +1,93 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S146RischioDiversificazione + + +--[C6martPeriodico].[PL_MP_S146RischioDiversificazione] 'S','CPPBRN41H45C773S' +CREATE procedure [C6MartPeriodico].[PL_MP_S146RischioDiversificazione] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + + declare @contaCC as int + + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + + + declare @contaPOS as int + + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + + + +SELECT +K.COD_FISCALE, +K.RETE, + +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, + +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, + +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, + +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine + + +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY 11 + + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S147SintesiValute.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S147SintesiValute.sql new file mode 100644 index 00000000..59fc637b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S147SintesiValute.sql @@ -0,0 +1,71 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S147SintesiValute + + + + + +--[C6martPeriodico].[PL_MP_S147SintesiValute] 'F','DCSCRJ80H24Z602C' +CREATE procedure [C6MartPeriodico].[PL_MP_S147SintesiValute] + +@Rete char(1), +@CodiceFiscale varchar(16) +as +begin + + + +declare @ctvNoCoperto as decimal(18,3) +declare @ctvCoperto as decimal(18,3) +declare @copertura as decimal(18,3) + +SELECT @ctvNoCoperto = isnull(sum(ctv),0) + + FROM c6martperiodico.ANAG_PRODOTTI_VALUTE a + RIGHT JOIN c6martperiodico.patrimonio_bf c + ON a.cod_prodotto = c.cod_prodotto + WHERE + + cod_fiscale = @CodiceFiscale + and rete = @Rete + and a.cod_prodotto is null + and id_area <> 'Cc' + +select @copertura = (patrimonioSenzaCC - @ctvNoCoperto)/patrimonioSenzaCC , + @ctvCoperto = patrimonioSenzaCC - @ctvNoCoperto +from c6martperiodico.vPatrimonioBfAggregato +where + cod_fiscale = @CodiceFiscale + and rete = @Rete + +--select @copertura +--FC 16/04/20104 +--Inserito controllo per evitare problemi di divid by zero nella select successiva + +IF @ctvCoperto < 1 +begin + set @ctvCoperto =1 +End + + + +SELECT + sum(peso*ctv) / @ctvCoperto as percentuale, + abs(sum(peso*ctv)) as valoreAssoluto, + a.DIVISA, + @copertura as copertura +FROM c6martperiodico.ANAG_PRODOTTI_VALUTE a +join c6martperiodico.patrimonio_bf c +ON a.cod_prodotto = c.cod_prodotto +where + cod_fiscale = @CodiceFiscale + and rete = @Rete +group by a.DIVISA +order by valoreAssoluto desc + + +end + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass.sql new file mode 100644 index 00000000..cc91459f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass.sql @@ -0,0 +1,26 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S148DistribuzioneAssetClass + + +CREATE procedure [C6MartPeriodico].[PL_MP_S148DistribuzioneAssetClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT [Banca] + ,[ORDINAMENTO] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S148DistribuzioneAssetClass] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass_BkUpParall.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass_BkUpParall.sql new file mode 100644 index 00000000..34a90c7d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass_BkUpParall.sql @@ -0,0 +1,116 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S148DistribuzioneAssetClass_BkUpParall + +--[C6martPeriodico].[PL_MP_S148DistribuzioneAssetClass] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[PL_MP_S148DistribuzioneAssetClass_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Banca Fideuram' + END AS Banca, + ORDINAMENTO, + AssetClassId, + AssetClassName, + SUM(Controvalore) As Controvalore, + --SUM(CONTROVALORE) / Totale As Percentuale, + SUM(CONTROVALORE) / Totale * 100 As Percentuale, + Totale +FROM +( + + +SELECT + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, + --ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'Totale') * 100, 2) AS Percentuale, + cast(ROUND(SUM(Controvalore) OVER (PARTITION BY 'Totale'),2) as decimal(19,5)) AS Totale + FROM ( + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE +--inizio interventi OMNIA +-- PATR_BF.ID_AREA NOT IN ('Cc','Pre1','Pre2','Pre') + PATR_BF.ID_AREA NOT IN ('SELF','Cc','Pre1','Pre2','Pre') +--fine interventi OMNIA + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + AND PATR_BF.COD_FISCALE= @CodiceFiscale + AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + AND PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + WHERE + ASUL.RETE =@Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + AND ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA NOT IN ('Pre1','Pre2','Pre') + ) val + where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS + + UNION ALL + /* nuovo */ + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S149DettaglioProdottiAffluent.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S149DettaglioProdottiAffluent.sql new file mode 100644 index 00000000..b5c30e7e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S149DettaglioProdottiAffluent.sql @@ -0,0 +1,20 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S149DettaglioProdottiAffluent + +-- [C6MartPeriodico].[PL_MP_S149DettaglioProdottiAffluent] 'F', 'FF@7181' +CREATE procedure [C6MartPeriodico].[PL_MP_S149DettaglioProdottiAffluent] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +SELECT ISNULL(SUM(ctv),0) +FROM C6MartPeriodico.PATRIMONIO_BF + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S173.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S173.sql new file mode 100644 index 00000000..6997804c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S173.sql @@ -0,0 +1,19 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S173 + + + + +--[C6MartPeriodico].[PL_MP_S137Bonus] 'F','QRCRLR38P10G999N' +CREATE procedure [C6MartPeriodico].[PL_MP_S173] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT 1 +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S173CapitaleProtetto.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S173CapitaleProtetto.sql new file mode 100644 index 00000000..f8d99d04 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S173CapitaleProtetto.sql @@ -0,0 +1,88 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S173CapitaleProtetto + + + + + + + + +-- ============================================= +-- Author: +-- Create date: <19/11/2014, Pomezia> +-- Description: +-- ============================================= + +-- [C6MartPeriodico].[PL_MP_S173CapitaleProtetto] 'F','VCCLNI27H65L483J' +CREATE procedure [C6MartPeriodico].[PL_MP_S173CapitaleProtetto] + ---- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + --SELECT top 1 + -- 'Interfund Capital Protection' AS DES_PROD, + -- '001234.RS.S678' AS COD_CONF, + -- '120,1040' AS QUOTA, + -- '100,1234' AS NUMEROQUOTE, + -- '12.025,22' AS CONTROVALORE, + -- '31/03/2014' AS DATARIF, + -- 'Quota massima' AS DES_MAX, + -- '125,4573' AS QUOTA_MAX, + -- '80' AS QUOTA_MAX_PERC, + -- '31/03/2013' AS DATARIF_MAX, + -- 'Quota e controvalore protetti*' AS DES_PROT, + -- '100,3658' AS QUOTA_PROT, + -- '100,1234' AS NUMEROQUOTE_PROT, + -- '10.048,97' AS CONTROVALORE_PROT + SELECT + DES_PROD + ,COD_CONF + ,QUOTA + ,NUMEROQUOTE + ,CONTROVALORE + ,DATARIF + ,DES_MAX + ,QUOTA_MAX + ,QUOTA_MAX_PERC + ,DATARIF_MAX + ,DES_PROT + ,QUOTA_PROT + ,NUMEROQUOTE_PROT + ,CONTROVALORE_PROT + ,case + when p.cod_interno = 'XY' and p.cod_sottoprodotto = 'L191' then 'GP Eligo Fondi' + when p.cod_interno = 'RS' then 'Fideuram Vita Insieme' + when p.cod_interno = 'RM' then 'Fideuram Vita Insieme Facile' + when p.cod_interno = 'RB' then 'Fideuram Vita Insieme Premium' + when p.cod_interno = 'RV' then 'Fideuram Vita Insieme Private' + else 'Interfund Crescita Protetta 80' + end as DES_PROD_TIT -- Aggiunta per E-FOI80 + FROM C6MartPeriodico.CAPPROT cap + + inner join + + c6martperiodico.patrimonio_bf p + + on cap.rete = p.rete and cap.codfis = p.cod_fiscale and cap.cod_conf = p.id_contratto + + + WHERE 1=1 + AND cap.RETE = @Rete + AND cap.CODFIS = @CodiceFiscale + and p.isin = 'LU1106988527' + + order by controvalore desc + + +END + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S173FOI80.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S173FOI80.sql new file mode 100644 index 00000000..03f03e6f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S173FOI80.sql @@ -0,0 +1,83 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S173FOI80 + + + + + + + + + + + +-- ============================================= +-- Description: +-- ============================================= + +-- [C6MartPeriodico].[PL_MP_S173FOI80] 'F','VCCLNI27H65L483J' +CREATE procedure [C6MartPeriodico].[PL_MP_S173FOI80] + ---- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + --SELECT top 1 + -- 'Interfund Capital Protection' AS DES_PROD, + -- '001234.RS.S678' AS COD_CONF, + -- '120,1040' AS QUOTA, + -- '100,1234' AS NUMEROQUOTE, + -- '12.025,22' AS CONTROVALORE, + -- '31/03/2014' AS DATARIF, + -- 'Quota massima' AS DES_MAX, + -- '125,4573' AS QUOTA_MAX, + -- '80' AS QUOTA_MAX_PERC, + -- '31/03/2013' AS DATARIF_MAX, + -- 'Quota e controvalore protetti*' AS DES_PROT, + -- '100,3658' AS QUOTA_PROT, + -- '100,1234' AS NUMEROQUOTE_PROT, + -- '10.048,97' AS CONTROVALORE_PROT + SELECT + DTTRIM, + DTRIFE, + RETE, + CODFIS, + DESPROD, + CODMAN, + CODCONF, + CODPROD, + SUBPROD, + ISIN, + CTV, + PREZZO, + QUOTE, + PREZZOMAX, + DTPREZZOMAX, + DESMAX, + PREZZOPROT, + CTRVIMPPROT, + DESPROT, + DESPRODTIT, + QUOTA_MAX_PERC + + FROM C6MartPeriodico.FOI80 + + WHERE 1=1 + AND RETE = @Rete + AND CODFIS = @CodiceFiscale + + order by ctv desc + +END + + + + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S174Bonus.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S174Bonus.sql new file mode 100644 index 00000000..4f4388b8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S174Bonus.sql @@ -0,0 +1,48 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S174Bonus + + + + + +--[C6MartPeriodico].[PL_MP_S174Bonus] 'F','80002590711' +CREATE procedure [C6MartPeriodico].[PL_MP_S174Bonus] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT [RETE], + bonus.[COD_FISCALE], + [DES_PROD] = CASE + WHEN desrc.descrizione is null THEN '' + ELSE desrc.descrizione + END, + bonus.[COD_CONF], + bonus.[CTV], + bonus.[DT_TRIM], + 'Bonus Maturato' as [DESBONUS_M], + bonus.[BONUS_M], + bonus.[DTDEC_M], + 'Bonus a scadenza 5 anni' as [DESBONUS_5], + bonus.[BONUS_5], + bonus.[DTDEC_5], + 'Bonus a scadenza 10 anni' as [DESBONUS_10], + bonus.[BONUS_10], + bonus.[DTDEC_10], + bonus.[COD_PROD] + FROM [C6MartPeriodico].[BONUS] bonus + Left Join c6martperiodico.descrizione_bonus desrc + on desrc.cod_prod = bonus.cod_prod + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + order by bonus.[CTV] desc + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S175BlueProtection.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S175BlueProtection.sql new file mode 100644 index 00000000..e33f2f63 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S175BlueProtection.sql @@ -0,0 +1,38 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S175BlueProtection + + + + +-- [C6MartPeriodico].[PL_MP_S175BlueProtection] 'F','BBNLSN51E27D612T' +CREATE procedure [C6MartPeriodico].[PL_MP_S175BlueProtection] + ---- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + Controvalore_Riferimento as ControvaloreRiferimento, + Componente_Performance as ComponentePerformance, + Componente_Protezione as ComponenteProtezione, + Controvalore_Prot as ControvaloreProtetto, + DataRif as DataRiferimento, + Des_Prod_Tit as DescrizioneProdotto, + Cod_Conf as Contratto + from [C6MartPeriodico].[CAPPROT_FVI] + where 1 = 1 + and RETE = @Rete + and CODFIS = @CodiceFiscale + and SubProd = 'CS80' +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S175LineaProtettaMultiramo.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S175LineaProtettaMultiramo.sql new file mode 100644 index 00000000..fd38be2d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S175LineaProtettaMultiramo.sql @@ -0,0 +1,40 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S175LineaProtettaMultiramo + + + + +-- [C6MartPeriodico].[PL_MP_S175LineaProtettaMultiramo] 'F','QRCRLR38P10G999N' +CREATE procedure [C6MartPeriodico].[PL_MP_S175LineaProtettaMultiramo] + ---- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + Controvalore_Riferimento as ControvaloreRiferimento, + Componente_Performance as ComponentePerformance, + Componente_Protezione as ComponenteProtezione, + Controvalore_Prot as ControvaloreProtetto, + DataRif as DataRiferimento, + Des_Prod as DescrizioneProdotto, + Cod_Conf as Contratto + from [C6MartPeriodico].[CAPPROT_FVI] + where rete = @Rete + and codfis = @CodiceFiscale + and codprod = 'RF' and subprod = 'MP' + + + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S175WhiteProtection.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S175WhiteProtection.sql new file mode 100644 index 00000000..4bc31e5e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S175WhiteProtection.sql @@ -0,0 +1,38 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S175WhiteProtection + + + + +-- [C6MartPeriodico].[PL_MP_S175WhiteProtection] 'F','QRCRLR38P10G999N' +CREATE procedure [C6MartPeriodico].[PL_MP_S175WhiteProtection] + ---- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + Controvalore_Riferimento as ControvaloreRiferimento, + Componente_Performance as ComponentePerformance, + Componente_Protezione as ComponenteProtezione, + Controvalore_Prot as ControvaloreProtetto, + DataRif as DataRiferimento, + Des_Prod_Tit as DescrizioneProdotto, + Cod_Conf as Contratto + from [C6MartPeriodico].[CAPPROT_FVI] + where 1 = 1 + and RETE = @Rete + and CODFIS = @CodiceFiscale + and SubProd = 'CT80' +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S176EvoluzioneLineaProtettaMultiramo.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S176EvoluzioneLineaProtettaMultiramo.sql new file mode 100644 index 00000000..e5285525 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S176EvoluzioneLineaProtettaMultiramo.sql @@ -0,0 +1,49 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S176EvoluzioneLineaProtettaMultiramo + + + + + + +-- [C6MartPeriodico].[PL_MP_S176EvoluzioneLineaProtettaMultiramo] 'f','BTTMRS67A69F839N' +CREATE procedure [C6MartPeriodico].[PL_MP_S176EvoluzioneLineaProtettaMultiramo] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + SELECT + + 'FV Polizza Multiramo con protezione' as DescrizioneProdotto, + COD_CONF as Contratto, + --DTSOTTOS AS DataSottoscrizione, + --DTRIFE AS DATARIFERIMENTO, + --DTTRIM AS DATATRIM, + convert(datetime, convert(varchar(8), DTRIFE)) AS DATASOTTOSCRIZIONE, + convert(datetime, convert(varchar(8),DTRIFE)) AS DATARIFERIMENTO, + convert(datetime, convert(varchar(8),DTTRIM)) AS DATATRIM, + + CTV as CONTROVALORE, + CTVPROT as CONTROVALOREPROTETTO, + CTVMON as CONTROVALOREMONITORATO + + + FROM [C6MartPeriodico].[STORICO_CAPPROT_FVI] + WHERE RETE = @Rete + AND CODFIS = @CodiceFiscale + + order by dtrife + +END + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_MP_S44OperazioniUltimoTrimestre.sql b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S44OperazioniUltimoTrimestre.sql new file mode 100644 index 00000000..6d530fe0 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_MP_S44OperazioniUltimoTrimestre.sql @@ -0,0 +1,33 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_MP_S44OperazioniUltimoTrimestre + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[PL_MP_S44OperazioniUltimoTrimestre] + +@rete as varchar(1), +@codiceFiscale as varchar(16) + +AS +BEGIN + + SET NOCOUNT ON; + + SELECT CodiceFiscale, + Rete, + DataOperazione, + Contratto, + NumeroContratto as CodiceContratto, + Operazione as Descrizione, + ImportoOperazione as Importo, + FirmaDigitale as Firma + FROM [C6StampeCentralizzate].[C6STAGINGPERIODICO].AM_OperazioniUltimoTrimestre + WHERE CodiceFiscale = @codiceFiscale and + Rete = @rete ; + + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_Prodotti_Non_Associati_Area_Inv.sql b/sql/storedCollaudo/C6MartPeriodico_PL_Prodotti_Non_Associati_Area_Inv.sql new file mode 100644 index 00000000..30a223a4 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_Prodotti_Non_Associati_Area_Inv.sql @@ -0,0 +1,63 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_Prodotti_Non_Associati_Area_Inv + + + + +-- ============================================= +-- AUTHOR: ALESSANDRO TRINGALI +-- CREATE DATE: 24 SETTEMBRE 2009 +-- DESCRIPTION: +-- ============================================= +-- [C6MartPeriodico].[PL_Prodotti_Non_Associati_Area_Inv] 'F', 'RLPRCL54P61Z116S' +CREATE procedure [C6MartPeriodico].[PL_Prodotti_Non_Associati_Area_Inv] + -- ADD THE PARAMETERS FOR THE STORED PROCEDURE HERE + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') AS NOME_PROGETTO, +ID_AREA as NEED_AREA, +SUM(CTV) AS CONTROVALOREATTUALE, +MAX(ISNULL(RISK.VAR_PERC_PTF,0)) AS var_needarea, +--PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString +FROM +C6MARTPERIODICO.PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +C6MARTPERIODICO.RISCHIO_AGGREGATO RISK +ON PATRBF.RETE = RISK.RETE + AND PATRBF.COD_FISCALE = RISK.COD_FISCALE + AND RISK.COD_AGGREG = 'PIRAMIDE|Inv|'+ ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.id_AREA = 'Inv' + AND PATRBF.NOME_PROGETTO='Prodotti non associati a progetti' +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti'), +ID_AREA, +CHIAVE_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S102DistribuzioneRischioCredito.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S102DistribuzioneRischioCredito.sql new file mode 100644 index 00000000..bb4ba76b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S102DistribuzioneRischioCredito.sql @@ -0,0 +1,115 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S102DistribuzioneRischioCredito + + +-- Stored procedure + +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S102DistribuzioneRischioCredito] 'F','94009110068' +CREATE procedure [C6MartPeriodico].[PL_S102DistribuzioneRischioCredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + + +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest', 'IW Private Investments') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, + +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' WHEN PATRBF.RETE = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN ' diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S102DistribuzioneRischioCredito_OLD.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S102DistribuzioneRischioCredito_OLD.sql new file mode 100644 index 00000000..1080ffe2 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S102DistribuzioneRischioCredito_OLD.sql @@ -0,0 +1,101 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S102DistribuzioneRischioCredito_OLD + + +-- Stored procedure + +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S102DistribuzioneRischioCredito] 'F','94009110068' +CREATE procedure [C6MartPeriodico].[PL_S102DistribuzioneRischioCredito_OLD] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + + +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Banca Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe 1' THEN CTV ELSE 0 END) AS CTV_Class1, +SUM(CASE WHEN RISKCLASS = 'Classe 2' THEN CTV ELSE 0 END) AS CTV_Class2, +SUM(CASE WHEN RISKCLASS = 'Classe 3' THEN CTV ELSE 0 END) AS CTV_Class3, +SUM(CASE WHEN RISKCLASS = 'Oltre Classe 3' THEN CTV ELSE 0 END) AS CTV_overClass3, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe 1' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class1, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe 2' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class2, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe 3' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class3, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Oltre Classe 3' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS perc_overClass3, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(ctv))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA = 0 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|'+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S103TabellaEmittenti.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S103TabellaEmittenti.sql new file mode 100644 index 00000000..bac892d0 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S103TabellaEmittenti.sql @@ -0,0 +1,132 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S103TabellaEmittenti + + + + +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6MartPeriodico].[PL_S103TabellaEmittenti] 'S','RTRRLF23S12Z105V' +CREATE procedure [C6MartPeriodico].[PL_S103TabellaEmittenti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + +declare @patr_compl decimal(18,3) + + +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 + +SELECT +COD_FISCALE, +RETE, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +INTERMEDIARIO, +ISSUER, +STOCKSCounterValue, +bondsCounterValue, +CONCENTRATION_ISSUER, +CONCENTRATION, +NC +FROM +( + + +-- PER INTERMEDIARIO + + SELECT + COD_FISCALE, + RETE, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +FROM +( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS +) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC + + +UNION + +--COMPLESSIVO + + SELECT + COD_FISCAL diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S103TabellaEmittenti_OLD.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S103TabellaEmittenti_OLD.sql new file mode 100644 index 00000000..8a3aad2b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S103TabellaEmittenti_OLD.sql @@ -0,0 +1,142 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S103TabellaEmittenti_OLD + + + + + +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6MartPeriodico].[PL_S103TabellaEmittenti] 'S','RTRRLF23S12Z105V' +CREATE procedure [C6MartPeriodico].[PL_S103TabellaEmittenti_OLD] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + +declare @patr_compl decimal(18,3) + + +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 + +SELECT +COD_FISCALE, +RETE, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4 , +INTERMEDIARIO, +ISSUER, +STOCKSCounterValue, +bondsCounterValue, +CONCENTRATION_ISSUER, +CONCENTRATION, +NC +FROM +( + + +-- PER INTERMEDIARIO + + SELECT + COD_FISCALE, + RETE, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4 , + --V nel caso sia null BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +FROM +( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN CREDITRISKCLASS ='Classe 1' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Classe 2' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Classe 3' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Oltre Classe 3' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS +) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC + + +UNION + +--COMPLESSIVO + + SELECT + COD_FISCALE, + RETE, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4 , + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCoun diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S10PatrimonioFinanziario.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S10PatrimonioFinanziario.sql new file mode 100644 index 00000000..a0a1c794 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S10PatrimonioFinanziario.sql @@ -0,0 +1,25 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S10PatrimonioFinanziario + + +CREATE procedure [C6MartPeriodico].[PL_S10PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT [Banca] + ,[Ordinamento] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_S10PatrimonioFinanziario] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S10PatrimonioFinanziario_BkUpParall.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S10PatrimonioFinanziario_BkUpParall.sql new file mode 100644 index 00000000..d09503e6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S10PatrimonioFinanziario_BkUpParall.sql @@ -0,0 +1,127 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S10PatrimonioFinanziario_BkUpParall + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +-- [C6MartPeriodico].[PL_S10PatrimonioFinanziario] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[PL_S10PatrimonioFinanziario_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(19,5)) AS Controvalore, + cast(A.Percentuale as decimal(19,5)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Banca Fideuram' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) + END + ) * 100 AS Percentuale + FROM ( + + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- inizio interventi OMNIA +-- and patrbf.id_area <> 'CC' + and patrbf.id_area not in ('CC', 'SELF') +-- inizio interventi OMNIA + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + + UNION ALL + + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL + +-- UNION ALL + + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + UNION ALL + + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RE diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S170LimitiMassimi.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S170LimitiMassimi.sql new file mode 100644 index 00000000..431a1071 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S170LimitiMassimi.sql @@ -0,0 +1,80 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S170LimitiMassimi + + + + + + + + + + + +-- [C6MartPeriodico].[PL_S170LimitiMassimi] 'f', 'PVRPGS53C25G388A' +CREATE procedure [C6MartPeriodico].[PL_S170LimitiMassimi] --'S','FGGMSM57H28G999D' + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +DECLARE @FLAGPROF varchar(16) +SET @FLAGPROF= (select distinct FLGPROF from C6MartPeriodico.WSEIAN2 where rete=@rete and CODFIS=@CodiceFiscale) + +DECLARE @SCADUTO_PARZIALE varchar(16) +SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) + +-- 2/7/2018 - CR NAPOLITANO CASI 11-14 -> Persona Giuridica Retail con Nuovo questionario di profilatura (Legali Rappresentanti/Delegati NON Profilati) + +DECLARE @newLimiteProfilo varchar(20) +if ltrim(rtrim([C6MartPeriodico].[getIndicatoreValutazione] (@Rete,@CodiceFiscale,default))) = '-1' + set @newLimiteProfilo = 'n.d.' +else + select @newLimiteProfilo = + case experience + when 0 then 'Minima' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + --when 5 then 'Alta' + else '-' + end + from C6MartPERIODICO.MIFID + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + + +select 'Limite massimo profilo', + '-' as Controvalore, + case when @SCADUTO_PARZIALE='P' then '-' else isnull(risk.descr, 0) + end as rischioCreditoMassimo, + case when @SCADUTO_PARZIALE='P' then '-' else + cast(isnull(CR.MAX_VAR, 0) as varchar(20)) + end + as varMassimo, + '-' as Diversificazione, + case when @SCADUTO_PARZIALE='P' then '-' + when @FLAGPROF='S' then 'n.a.' --per i clienti Professionali + else @newLimiteProfilo end as Complessita + +from C6MartPERIODICO.MIFID AS M +left JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR +ON M.PROFILO_ASS = CR.PROFILO +left join [C6StagingPeriodico].[RISKCLASS] risk +ON m.riskclass = risk.cod +WHERE +M.RETE = @Rete AND +M.COD_FISCALE = @CodiceFiscale + + +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S170LimitiMassimi_20180612.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S170LimitiMassimi_20180612.sql new file mode 100644 index 00000000..1de7dc0d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S170LimitiMassimi_20180612.sql @@ -0,0 +1,46 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S170LimitiMassimi_20180612 + + + + +-- [C6MartPeriodico].[PL_S170LimitiMassimi] 'F','DTARSR51M26F839O' +CREATE procedure [C6MartPeriodico].[PL_S170LimitiMassimi_20180612] + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +select 'Limite massimo profilo', + '-' as Controvalore, + risk.descr as rischioCreditoMassimo, + CR.MAX_VAR as varMassimo, + '-' as Diversificazione, + case m.experience + when 0 then '-' + when 1 then 'Minima' + when 2 then 'Bassa' + when 3 then 'Media' + when 4 then 'Alta' + when 5 then 'Molto alta' + else '-' + end as Complessita + +from C6MartPERIODICO.MIFID AS M +INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR +ON M.PROFILO_ASS = CR.PROFILO +inner join [C6StagingPeriodico].[RISKCLASS] risk +ON m.riskclass = risk.cod +WHERE +M.RETE = @Rete AND +M.COD_FISCALE = @CodiceFiscale + + +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S170LimitiMassimi_20180702.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S170LimitiMassimi_20180702.sql new file mode 100644 index 00000000..96214b29 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S170LimitiMassimi_20180702.sql @@ -0,0 +1,47 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S170LimitiMassimi_20180702 + + + + + +-- [C6MartPeriodico].[PL_S170LimitiMassimi] 'F','DTARSR51M26F839O' +CREATE procedure [C6MartPeriodico].[PL_S170LimitiMassimi_20180702] + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +select 'Limite massimo profilo', + '-' as Controvalore, + isnull(risk.descr, 0) as rischioCreditoMassimo, + isnull(CR.MAX_VAR, 0) as varMassimo, + '-' as Diversificazione, + case m.experience + when 0 then '-' + when 1 then 'Minima' + when 2 then 'Bassa' + when 3 then 'Media' + when 4 then 'Alta' + when 5 then 'Molto alta' + else '-' + end as Complessita + +from C6MartPERIODICO.MIFID AS M +left JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR +ON M.PROFILO_ASS = CR.PROFILO +left join [C6StagingPeriodico].[RISKCLASS] risk +ON m.riskclass = risk.cod +WHERE +M.RETE = @Rete AND +M.COD_FISCALE = @CodiceFiscale + + +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S170LimitiMassimi_BKP_20231115_PRE_RAFFORZAMENTO.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S170LimitiMassimi_BKP_20231115_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..4564dc64 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S170LimitiMassimi_BKP_20231115_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,71 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S170LimitiMassimi_BKP_20231115_PRE_RAFFORZAMENTO + + + + + + + + + + +-- [C6MartPeriodico].[PL_S170LimitiMassimi] 'f', '00247580970' +CREATE procedure [C6MartPeriodico].[PL_S170LimitiMassimi_BKP_20231115_PRE_RAFFORZAMENTO] --'S','FGGMSM57H28G999D' + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +DECLARE @FLAGPROF varchar(16) +SET @FLAGPROF= (select distinct FLGPROF from C6MartPeriodico.WSEIAN2 where rete=@rete and CODFIS=@CodiceFiscale) + +-- 2/7/2018 - CR NAPOLITANO CASI 11-14 -> Persona Giuridica Retail con Nuovo questionario di profilatura (Legali Rappresentanti/Delegati NON Profilati) + +DECLARE @newLimiteProfilo varchar(20) +if ltrim(rtrim([C6MartPeriodico].[getIndicatoreValutazione] (@Rete,@CodiceFiscale,default))) = '-1' + set @newLimiteProfilo = 'n.d.' +else + select @newLimiteProfilo = + case experience + when 0 then 'Minima' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + --when 5 then 'Alta' + else '-' + end + from C6MartPERIODICO.MIFID + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + + +select 'Limite massimo profilo', + '-' as Controvalore, + isnull(risk.descr, 0) as rischioCreditoMassimo, + isnull(CR.MAX_VAR, 0) as varMassimo, + '-' as Diversificazione, + case when @FLAGPROF='S' then 'n.a.' --per i clienti Professionali + else @newLimiteProfilo end as Complessita + +from C6MartPERIODICO.MIFID AS M +left JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR +ON M.PROFILO_ASS = CR.PROFILO +left join [C6StagingPeriodico].[RISKCLASS] risk +ON m.riskclass = risk.cod +WHERE +M.RETE = @Rete AND +M.COD_FISCALE = @CodiceFiscale + + +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno.sql new file mode 100644 index 00000000..9885bc11 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno.sql @@ -0,0 +1,109 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S172ProtezioneCapitaleAreeBisogno + + + +--[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno] 'f', '01913040406' +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT -- PER DIVERSI DA CC ************************ + case + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --when (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (Isin = 'LU1106988527' ) then 'INTERFUND 80' -- INTERFUND 80 + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + when (tipo_prodotto = 'fi' and cod_sottoprodotto = 'f43' and cod_interno = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (cod_sottoprodotto = 'cs80') then 'My Blue Protection 80' + when (cod_sottoprodotto = 'ct80') then 'My White Protection 80' + when (cod_interno = 'rf') then 'Linea Multiramo' + else '' + + end as nomeprod, + + RETE AS RETE, + cod_fiscale AS COD_FISCALE, + POSITION_ID AS POSITIONID, + SUBSTRING(POSITION_ID,1,57) AS COD_PRODOTTO, + ID_CONTRATTO AS ID_CONTRATTO, + CASE WHEN ISDATE(data_sottoscrizione) = 0 THEN NULL + ELSE CAST(data_sottoscrizione AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + NUM_POLIZZA AS NUM_POLIZZA, + COD_MAF AS COD_MAF, + COD_INTERNO AS COD_INTERNO, + COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + TIPO_PRODOTTO AS TIPO_PRODOTTO, + id_area AS ID_AREA, + CTV AS ctv, + ISIN, + --CON.chiaveClientePB, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + --CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CHIAVE_PROGETTO, + --fix 17/7/2019 per problemi di arrotondamento + --convert(decimal(12,2),0) as controvalore_protetto + convert(decimal(12,4),0) as controvalore_protetto + --fine fix 17/7/2019 per problemi di arrotondamento + + INTO #PATR_BF + + from c6martperiodico.patrimonio_bf + + WHERE + cod_fiscale = @CodiceFiscale + and rete = @rete + + and + ( + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --(Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + (Isin = 'LU1106988527' ) -- INTERFUND 80/CAPPROT + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + + + or + + (tipo_prodotto = 'fi' -- FONDITALIA 80/FOI80 + and cod_sottoprodotto = 'f43' + and cod_interno = '01') + + or + cod_sottoprodotto in ('cs80', 'ct80') -- myblue, mywhite + + or + (cod_interno = 'RF') -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + + ) + --aggiunta 20240509 + and CTV>0.1 +--------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') + +-------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf + +----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171201_ori.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171201_ori.sql new file mode 100644 index 00000000..0ef4b28a --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171201_ori.sql @@ -0,0 +1,128 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S172ProtezioneCapitaleAreeBisogno_20171201_ori + + + + + + +--[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno] 'f','BCCRRT43T09H449J' +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20171201_ori] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +-------------- recupero i totali dei prodotti a capitale protetto raggruppati per area di bisogno +SELECT -- PER DIVERSI DA CC ************************ + case + when (SPB.Isin = 'LU1106988527' and codprod in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (spb.tipprod = 'fi' and spb.subprod = 'f43' and spb.codint = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (spb.subprod = 'cs80') then 'My Blue Protection 80' + when (spb.subprod = 'ct80') then 'My White Protection 80' + else '' + + end as nomeprod, + + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE replace (LTRIM(RTRIM(CON.nomeProgetto)), ';', '') + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + SPB.CTV AS CAPPROT, + SPB.ISIN, + CON.chiaveClientePB, + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO + + INTO #PATR_BF + + FROM C6StagingPeriodico.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE + spb.CODFIS = @CodiceFiscale and + SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' + + and + ((SPB.Isin = 'LU1106988527' and codprod in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + or + (spb.tipprod = 'fi' -- FONDITALIA 80/FOI80 + and spb.subprod = 'f43' + and spb.codint = '01') + + or + spb.subprod in ('cs80', 'ct80') -- myblue, mywhite + + ) + + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + CONS.CodIsin, + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + + C6StagingPeriodico.TSCABP AS TSCA + + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD + AND TCP.SUBPROD=TSCA.SUBPROD + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171215.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171215.sql new file mode 100644 index 00000000..72178073 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171215.sql @@ -0,0 +1,110 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S172ProtezioneCapitaleAreeBisogno_20171215 + + + + + + + +--[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno] 'f','BCCRRT43T09H449J' +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20171215] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +-------------- recupero i totali dei prodotti a capitale protetto raggruppati per area di bisogno +SELECT -- PER DIVERSI DA CC ************************ + case + when (SPB.Isin = 'LU1106988527' and codprod in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (spb.tipprod = 'fi' and spb.subprod = 'f43' and spb.codint = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (spb.subprod = 'cs80') then 'My Blue Protection 80' + when (spb.subprod = 'ct80') then 'My White Protection 80' + else '' + + end as nomeprod, + + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE replace (LTRIM(RTRIM(CON.nomeProgetto)), ';', '') + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + SPB.CTV AS ctv, + SPB.ISIN, + CON.chiaveClientePB, + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO, + convert(decimal(12,2),0) as controvalore_protetto + + INTO #PATR_BF + + FROM C6StagingPeriodico.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE + spb.CODFIS = @CodiceFiscale and + SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' + + and + ((SPB.Isin = 'LU1106988527' and codprod in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + or + (spb.tipprod = 'fi' -- FONDITALIA 80/FOI80 + and spb.subprod = 'f43' + and spb.codint = '01') + + or + spb.subprod in ('cs80', 'ct80') -- myblue, mywhite + + or + (spb.codprod = 'RF' -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + and spb.subprod = 'MP') + + ) + + --------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') + + + -------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrim diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171220.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171220.sql new file mode 100644 index 00000000..454f6931 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171220.sql @@ -0,0 +1,119 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S172ProtezioneCapitaleAreeBisogno_20171220 + + + + + + + + +--[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno] 'f','BCCRRT43T09H449J' +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20171220] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT -- PER DIVERSI DA CC ************************ + case + when (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (tipo_prodotto = 'fi' and cod_sottoprodotto = 'f43' and cod_interno = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (cod_sottoprodotto = 'cs80') then 'My Blue Protection 80' + when (cod_sottoprodotto = 'ct80') then 'My White Protection 80' + when (cod_interno = 'rf') then 'Linea Multiramo' + else '' + + end as nomeprod, + + RETE AS RETE, + cod_fiscale AS COD_FISCALE, + POSITION_ID AS POSITIONID, + SUBSTRING(POSITION_ID,1,57) AS COD_PRODOTTO, + ID_CONTRATTO AS ID_CONTRATTO, + CASE WHEN ISDATE(data_sottoscrizione) = 0 THEN NULL + ELSE CAST(CAST(data_sottoscrizione AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + NUM_POLIZZA AS NUM_POLIZZA, + COD_MAF AS COD_MAF, + COD_INTERNO AS COD_INTERNO, + COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + TIPO_PRODOTTO AS TIPO_PRODOTTO, + id_area AS ID_AREA, + CTV AS ctv, + ISIN, + --CON.chiaveClientePB, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + --CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CHIAVE_PROGETTO, + convert(decimal(12,2),0) as controvalore_protetto + + INTO #PATR_BF + + from c6martperiodico.patrimonio_bf + + WHERE + cod_fiscale = @CodiceFiscale + and rete = @rete + + and + ( + (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + + + or + + (tipo_prodotto = 'fi' -- FONDITALIA 80/FOI80 + and cod_sottoprodotto = 'f43' + and cod_interno = '01') + + or + cod_sottoprodotto in ('cs80', 'ct80') -- myblue, mywhite + + or + (cod_interno = 'RF') -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + + ) + +--------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') + +-------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf + +----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + + UPDATE patrimonio + set patrimonio.controvalore_protetto = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where patrimonio.id_contratto = foi.codconf + +----------------------------------------- aggiorno il capitale protetto della linea multiramo protetta + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171221.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171221.sql new file mode 100644 index 00000000..3d74f10d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171221.sql @@ -0,0 +1,119 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S172ProtezioneCapitaleAreeBisogno_20171221 + + + + + + + + + +--[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno] 'f','BCCRRT43T09H449J' +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20171221] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT -- PER DIVERSI DA CC ************************ + case + when (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (tipo_prodotto = 'fi' and cod_sottoprodotto = 'f43' and cod_interno = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (cod_sottoprodotto = 'cs80') then 'My Blue Protection 80' + when (cod_sottoprodotto = 'ct80') then 'My White Protection 80' + when (cod_interno = 'rf') then 'Linea Multiramo' + else '' + + end as nomeprod, + + RETE AS RETE, + cod_fiscale AS COD_FISCALE, + POSITION_ID AS POSITIONID, + SUBSTRING(POSITION_ID,1,57) AS COD_PRODOTTO, + ID_CONTRATTO AS ID_CONTRATTO, + CASE WHEN ISDATE(data_sottoscrizione) = 0 THEN NULL + ELSE CAST(CAST(data_sottoscrizione AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + NUM_POLIZZA AS NUM_POLIZZA, + COD_MAF AS COD_MAF, + COD_INTERNO AS COD_INTERNO, + COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + TIPO_PRODOTTO AS TIPO_PRODOTTO, + id_area AS ID_AREA, + CTV AS ctv, + ISIN, + --CON.chiaveClientePB, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + --CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CHIAVE_PROGETTO, + convert(decimal(12,2),0) as controvalore_protetto + + INTO #PATR_BF + + from c6martperiodico.patrimonio_bf + + WHERE + cod_fiscale = @CodiceFiscale + and rete = @rete + + and + ( + (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + + + or + + (tipo_prodotto = 'fi' -- FONDITALIA 80/FOI80 + and cod_sottoprodotto = 'f43' + and cod_interno = '01') + + or + cod_sottoprodotto in ('cs80', 'ct80') -- myblue, mywhite + + or + (cod_interno = 'RF') -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + + ) + +--------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') + +-------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf + +----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + + UPDATE patrimonio + set patrimonio.controvalore_protetto = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where patrimonio.id_contratto = foi.codconf + +----------------------------------------- aggiorno il capitale protetto della linea multiramo protetta + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180119.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180119.sql new file mode 100644 index 00000000..43b66a0c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180119.sql @@ -0,0 +1,109 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S172ProtezioneCapitaleAreeBisogno_20180119 + + +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20180119] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT -- PER DIVERSI DA CC ************************ + case + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --when (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (Isin = 'LU1106988527' ) then 'INTERFUND 80' -- INTERFUND 80 + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + when (tipo_prodotto = 'fi' and cod_sottoprodotto = 'f43' and cod_interno = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (cod_sottoprodotto = 'cs80') then 'My Blue Protection 80' + when (cod_sottoprodotto = 'ct80') then 'My White Protection 80' + when (cod_interno = 'rf') then 'Linea Multiramo' + else '' + + end as nomeprod, + + RETE AS RETE, + cod_fiscale AS COD_FISCALE, + POSITION_ID AS POSITIONID, + SUBSTRING(POSITION_ID,1,57) AS COD_PRODOTTO, + ID_CONTRATTO AS ID_CONTRATTO, + CASE WHEN ISDATE(data_sottoscrizione) = 0 THEN NULL + ELSE CAST(CAST(data_sottoscrizione AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + NUM_POLIZZA AS NUM_POLIZZA, + COD_MAF AS COD_MAF, + COD_INTERNO AS COD_INTERNO, + COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + TIPO_PRODOTTO AS TIPO_PRODOTTO, + id_area AS ID_AREA, + CTV AS ctv, + ISIN, + --CON.chiaveClientePB, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + --CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CHIAVE_PROGETTO, + convert(decimal(12,2),0) as controvalore_protetto + + INTO #PATR_BF + + from c6martperiodico.patrimonio_bf + + WHERE + cod_fiscale = @CodiceFiscale + and rete = @rete + + and + ( + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --(Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + (Isin = 'LU1106988527' ) -- INTERFUND 80/CAPPROT + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + + + or + + (tipo_prodotto = 'fi' -- FONDITALIA 80/FOI80 + and cod_sottoprodotto = 'f43' + and cod_interno = '01') + + or + cod_sottoprodotto in ('cs80', 'ct80') -- myblue, mywhite + + or + (cod_interno = 'RF') -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + + ) + +--------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') + +-------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf + +----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + + UPDATE patrimonio + set patrimonio.controvalore_protetto = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where pat diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180717_PrePre1Pre2.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180717_PrePre1Pre2.sql new file mode 100644 index 00000000..3f2abddc --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180717_PrePre1Pre2.sql @@ -0,0 +1,110 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S172ProtezioneCapitaleAreeBisogno_20180717_PrePre1Pre2 + + + +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20180717_PrePre1Pre2] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT -- PER DIVERSI DA CC ************************ + case + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --when (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (Isin = 'LU1106988527' ) then 'INTERFUND 80' -- INTERFUND 80 + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + when (tipo_prodotto = 'fi' and cod_sottoprodotto = 'f43' and cod_interno = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (cod_sottoprodotto = 'cs80') then 'My Blue Protection 80' + when (cod_sottoprodotto = 'ct80') then 'My White Protection 80' + when (cod_interno = 'rf') then 'Linea Multiramo' + else '' + + end as nomeprod, + + RETE AS RETE, + cod_fiscale AS COD_FISCALE, + POSITION_ID AS POSITIONID, + SUBSTRING(POSITION_ID,1,57) AS COD_PRODOTTO, + ID_CONTRATTO AS ID_CONTRATTO, + CASE WHEN ISDATE(data_sottoscrizione) = 0 THEN NULL + ELSE CAST(data_sottoscrizione AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + NUM_POLIZZA AS NUM_POLIZZA, + COD_MAF AS COD_MAF, + COD_INTERNO AS COD_INTERNO, + COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + TIPO_PRODOTTO AS TIPO_PRODOTTO, + id_area AS ID_AREA, + CTV AS ctv, + ISIN, + --CON.chiaveClientePB, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + --CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CHIAVE_PROGETTO, + convert(decimal(12,2),0) as controvalore_protetto + + INTO #PATR_BF + + from c6martperiodico.patrimonio_bf + + WHERE + cod_fiscale = @CodiceFiscale + and rete = @rete + + and + ( + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --(Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + (Isin = 'LU1106988527' ) -- INTERFUND 80/CAPPROT + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + + + or + + (tipo_prodotto = 'fi' -- FONDITALIA 80/FOI80 + and cod_sottoprodotto = 'f43' + and cod_interno = '01') + + or + cod_sottoprodotto in ('cs80', 'ct80') -- myblue, mywhite + + or + (cod_interno = 'RF') -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + + ) + +--------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') + +-------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf + +----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + + UPDATE patrimonio + set patrimonio.controvalore_protetto = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where patrimoni diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20190717_preFixArrotondamento.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20190717_preFixArrotondamento.sql new file mode 100644 index 00000000..3530b3cd --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20190717_preFixArrotondamento.sql @@ -0,0 +1,110 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S172ProtezioneCapitaleAreeBisogno_20190717_preFixArrotondamento + + + +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20190717_preFixArrotondamento] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT -- PER DIVERSI DA CC ************************ + case + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --when (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (Isin = 'LU1106988527' ) then 'INTERFUND 80' -- INTERFUND 80 + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + when (tipo_prodotto = 'fi' and cod_sottoprodotto = 'f43' and cod_interno = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (cod_sottoprodotto = 'cs80') then 'My Blue Protection 80' + when (cod_sottoprodotto = 'ct80') then 'My White Protection 80' + when (cod_interno = 'rf') then 'Linea Multiramo' + else '' + + end as nomeprod, + + RETE AS RETE, + cod_fiscale AS COD_FISCALE, + POSITION_ID AS POSITIONID, + SUBSTRING(POSITION_ID,1,57) AS COD_PRODOTTO, + ID_CONTRATTO AS ID_CONTRATTO, + CASE WHEN ISDATE(data_sottoscrizione) = 0 THEN NULL + ELSE CAST(data_sottoscrizione AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + NUM_POLIZZA AS NUM_POLIZZA, + COD_MAF AS COD_MAF, + COD_INTERNO AS COD_INTERNO, + COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + TIPO_PRODOTTO AS TIPO_PRODOTTO, + id_area AS ID_AREA, + CTV AS ctv, + ISIN, + --CON.chiaveClientePB, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + --CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CHIAVE_PROGETTO, + convert(decimal(12,2),0) as controvalore_protetto + + INTO #PATR_BF + + from c6martperiodico.patrimonio_bf + + WHERE + cod_fiscale = @CodiceFiscale + and rete = @rete + + and + ( + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --(Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + (Isin = 'LU1106988527' ) -- INTERFUND 80/CAPPROT + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + + + or + + (tipo_prodotto = 'fi' -- FONDITALIA 80/FOI80 + and cod_sottoprodotto = 'f43' + and cod_interno = '01') + + or + cod_sottoprodotto in ('cs80', 'ct80') -- myblue, mywhite + + or + (cod_interno = 'RF') -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + + ) + +--------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') + +-------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf + +----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + + UPDATE patrimonio + set patrimonio.controvalore_protetto = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_pktest.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_pktest.sql new file mode 100644 index 00000000..811220b6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_pktest.sql @@ -0,0 +1,109 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S172ProtezioneCapitaleAreeBisogno_pktest + + +create procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_pktest] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT -- PER DIVERSI DA CC ************************ + case + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --when (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (Isin = 'LU1106988527' ) then 'INTERFUND 80' -- INTERFUND 80 + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + when (tipo_prodotto = 'fi' and cod_sottoprodotto = 'f43' and cod_interno = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (cod_sottoprodotto = 'cs80') then 'My Blue Protection 80' + when (cod_sottoprodotto = 'ct80') then 'My White Protection 80' + when (cod_interno = 'rf') then 'Linea Multiramo' + else '' + + end as nomeprod, + + RETE AS RETE, + cod_fiscale AS COD_FISCALE, + POSITION_ID AS POSITIONID, + SUBSTRING(POSITION_ID,1,57) AS COD_PRODOTTO, + ID_CONTRATTO AS ID_CONTRATTO, + CASE WHEN ISDATE(data_sottoscrizione) = 0 THEN NULL + ELSE CAST(data_sottoscrizione AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + NUM_POLIZZA AS NUM_POLIZZA, + COD_MAF AS COD_MAF, + COD_INTERNO AS COD_INTERNO, + COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + TIPO_PRODOTTO AS TIPO_PRODOTTO, + id_area AS ID_AREA, + CTV AS ctv, + ISIN, + --CON.chiaveClientePB, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + --CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CHIAVE_PROGETTO, + convert(decimal(12,2),0) as controvalore_protetto + + INTO #PATR_BF + + from c6martperiodico.patrimonio_bf + + WHERE + cod_fiscale = @CodiceFiscale + and rete = @rete + + and + ( + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --(Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + (Isin = 'LU1106988527' ) -- INTERFUND 80/CAPPROT + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + + + or + + (tipo_prodotto = 'fi' -- FONDITALIA 80/FOI80 + and cod_sottoprodotto = 'f43' + and cod_interno = '01') + + or + cod_sottoprodotto in ('cs80', 'ct80') -- myblue, mywhite + + or + (cod_interno = 'RF') -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + + ) + +--------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') + +-------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf + +----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + + UPDATE patrimonio + set patrimonio.controvalore_protetto = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where patrimonio.id_contratto = diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleLineeProdotti.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleLineeProdotti.sql new file mode 100644 index 00000000..0dab4557 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S172ProtezioneCapitaleLineeProdotti.sql @@ -0,0 +1,126 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S172ProtezioneCapitaleLineeProdotti + + + + + + +--[C6MartPeriodico].[PL_S172ProtezioneCapitaleLineeProdotti] 's','VCCGRL39E57E356Q' +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleLineeProdotti] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS + +declare @isinInterfund80 varchar(20) + +set @isinInterfund80 = 'LU1106988527' + +BEGIN + + +---------------------- LINEA PROTETTA (RF/MP) +select Linea + ,Contratto + ,VersatoNetto + ,Controvalore + ,ComponentePerformance + ,ComponenteProtezione + ,ControvaloreProtetto + ,DataRiferimento + ,PercentualePerformance + ,PercentualeProtezione + ,ordine + from + (SELECT + a.des_prod_tit as Linea + ,a.cod_conf as Contratto + ,0 as VersatoNetto + ,a.controvalore_riferimento as Controvalore + ,0 as ComponentePerformance + ,a.componente_protezione as ComponenteProtezione + ,a.controvalore_prot as ControvaloreProtetto + ,convert(varchar(4), year(datarif)) + convert(varchar(2), month(datarif)) + convert(varchar(2), day(datarif)) as DataRiferimento + ,0 as PercentualePerformance + ,0 as PercentualeProtezione + ,1 as ordine + from [C6MartPeriodico].[CAPPROT_FVI] a + where SUBPROD in ('MP') + and CODFIS = @CodiceFiscale + and rete = @Rete + +union + + ---------------------- MY BLUE/MY WHITE + SELECT + a.des_prod_tit as Linea + ,a.cod_conf as Contratto + ,0 as VersatoNetto + ,a.controvalore_riferimento as Controvalore + ,0 as ComponentePerformance + ,a.componente_protezione as ComponenteProtezione + ,a.controvalore_prot as ControvaloreProtetto + ,convert(varchar(4), year(datarif)) + convert(varchar(2), month(datarif)) + convert(varchar(2), day(datarif)) as DataRiferimento + ,0 as PercentualePerformance + ,0 as PercentualeProtezione + ,2 as ordine + from [C6MartPeriodico].[CAPPROT_FVI] a + where SUBPROD in ('CS80', 'CT80') + and CODFIS = @CodiceFiscale + and rete = @Rete + +union + +-- INTERFUND 80 + SELECT + a.des_prod_tit as Linea + ,a.Cod_Conf as Contratto + ,0 as VersatoNetto + ,a.Controvalore as Controvalore + ,0 as ComponentePerformance + ,0 as ComponenteProtezione + ,a.Controvalore_prot as ControvaloreProtetto + --,datarif as DataRiferimento + ,convert(varchar(4), year(datarif)) + convert(varchar(2), month(datarif)) + convert(varchar(2), day(datarif)) as DataRiferimento + ,0 as PercentualePerformance + ,0 as PercentualeProtezione + ,3 as ordine + --into #tInterfund80 + FROM C6MartPeriodico.capprot a + WHERE 1=1 + AND a.RETE = @Rete + AND a.CODFIS = @CodiceFiscale + --and dttrim + + union + ---------------------- FONDITALIA 80 + SELECT + a.desprodtit as Linea + ,a.codconf as Contratto + ,0 as VersatoNetto + ,a.ctv as Controvalore + ,0 as ComponentePerformance + ,a.prezzoprot as ComponenteProtezione + ,a.ctrvimpprot as ControvaloreProtetto + ,dtrife as DataRiferimento + ,0 as PercentualePerformance + ,0 as PercentualeProtezione + ,4 as ordine + FROM c6martperiodico.foi80 a + WHERE 1=1 + AND a.RETE = @Rete + AND a.CODFIS = @CodiceFiscale) as int + order by ordine asc,controvalore desc + + + +END + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S181PreferenzeESG.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S181PreferenzeESG.sql new file mode 100644 index 00000000..4084581f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S181PreferenzeESG.sql @@ -0,0 +1,68 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S181PreferenzeESG + + +-- Stored procedure + +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'BCCNDR69P21A462P' +CREATE procedure [C6MartPeriodico].[PL_S181PreferenzeESG] --'F','MRTDRJ66P03G283W' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +DECLARE @SCADUTO_PARZIALE varchar(16) +SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) + +SELECT esg.[rete] + ,[cod_fiscale] + --,case + --when @SCADUTO_PARZIALE='P' then 0 else [Preferenza_esg_cliente] + --end as + ,[Preferenza_esg_cliente] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,CAST(ROUND(ISNULL(obiettivo_ESG_minimo, 0.00), 2) AS decimal(6, 2)) AS obiettivo_ESG_minimo + ,[ESG_Rating] + ,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_E_perc + ,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_S_perc + ,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_G_perc + ,case when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=25 and isnull(ind.SOGLIAESG,'0.00')<50 then 'Almeno pari al 25%' + when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=50 and isnull(ind.SOGLIAESG,'0.00')<75 then 'Almeno pari al 50%' + when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=75 then 'Almeno pari al 75%' else '-' end as Pref_Sost + ,case when cle.U_PREFSOST='S' then 'Y' + when cle.U_PREFSOST='N' then 'N' + else '-' end as U_PREFSOST --Ulteriori Preferenze di Sostenibilit modifica 10122024 Scapellato ----decommenta per ESG 2024 + --else 'N' end as U_PREFSOST --Ulteriori Preferenze di Sostenibilit ----decommenta per ESG 2024 + ,case when cle.FLAGSFDR='S' then replace(cast(cle.SFDR_PERC as varchar(12)),'.00','')+'%' else '-' end as SFDR_PERC ----decommenta per ESG 2024 + ,case when cle.FLAGTAXO='S' then replace(cast(cle.TAXO_PERC as varchar(12)),'.00','')+'%' else '-' end as TAXO_PERC ----decommenta per ESG 2024 + ,case when cle.PAI_NO_DETT = 'S' then 'Preferisco non dettagliare' --modifica 10122024 Scapellato + when isnull(cle.PAI_A,'')='' then '-' else cle.PAI_A end as PAI_A + ,case when cle.PAI_NO_DETT = 'S' then 'Preferisco non dettagliare' --modifica 10122024 Scapellato + when isnull(cle.PAI_S,'')='' then '-' else cle.PAI_S end as PAI_S + --,'Emissioni gas serra, Biodiversit, Acqua, Rifiuti, Governativi di tipo Ambientale, Settore immobiliare' as PAI_A ----decommenta per ESG 2024 + --,'Questioni Sociali e dei Dipendenti, Governativi di tipo Sociale' as PAI_S ----decommenta per ESG 2024 + ,case when ESG_E='Y' then cle.PERCAMB_OK ELSE NULL END AS E_PERC_OK--,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS E_PERC_OK ----decommenta per ESG 2024 + ,case when ESG_S='Y' then cle.PERCSOC_OK ELSE NULL END AS S_PERC_OK--,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS S_PERC_OK ----decommenta per ESG 2024 + ,case when ESG_G='Y' then cle.PERCGOV_OK ELSE NULL END AS G_PERC_OK--,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS G_PERC_OK ----decommenta per ESG 2024 + FROM [C6StampeCentralizzate].[C6MartPeriodico].[BrsClienteESG] esg + left join C6MartPeriodico.wseian2 ind + on ind.rete=esg.rete and ind.CODFIS=esg.cod_fiscale + left join C6MartPeriodico.W6CLIESG cle + on ind.rete=cle.rete and ind.CODFIS=cle.CODFIS +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale + AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S181PreferenzeESG_BKP_20231116_PRE_RAFFORZAMENTO.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S181PreferenzeESG_BKP_20231116_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..5dee61c6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S181PreferenzeESG_BKP_20231116_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,52 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S181PreferenzeESG_BKP_20231116_PRE_RAFFORZAMENTO + + + + + + + + + +-- Stored procedure + +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'BCCNDR69P21A462P' +CREATE procedure [C6MartPeriodico].[PL_S181PreferenzeESG_BKP_20231116_PRE_RAFFORZAMENTO] --'S','95196860100' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + +SELECT esg.[rete] + ,[cod_fiscale] + ,[Preferenza_esg_cliente] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,CAST(ROUND(ISNULL(obiettivo_ESG_minimo, 0.00), 2) AS decimal(6, 2)) AS obiettivo_ESG_minimo + ,[ESG_Rating] + ,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_E_perc + ,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_S_perc + ,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_G_perc + ,case when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=25 and isnull(ind.SOGLIAESG,'0.00')<50 then 'Almeno pari al 25%' + when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=50 and isnull(ind.SOGLIAESG,'0.00')<75 then 'Almeno pari al 50%' + when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=75 then 'Almeno pari al 75%' else '-' end as Pref_Sost + FROM [C6StampeCentralizzate].[C6MartPeriodico].[BrsClienteESG] esg + left join C6MartPeriodico.wseian2 ind + on ind.rete=esg.rete and ind.CODFIS=esg.cod_fiscale +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S182BISDettaglioProdottiESG.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S182BISDettaglioProdottiESG.sql new file mode 100644 index 00000000..66db47ed --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S182BISDettaglioProdottiESG.sql @@ -0,0 +1,138 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S182BISDettaglioProdottiESG + + + + +--se nella generazione del report da errore molto probabilmente ci sta una chiaveclientePB diversa sulla appocontratti dalla vinfocliente +--cambiala sull'appo contratti e contrattipretrimestrale + + + + + +-- Stored procedure + +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S182BISDettaglioProdottiESG] 'F', '98196710176' +CREATE procedure [C6MartPeriodico].[PL_S182BISDettaglioProdottiESG] --'S','DGSMHL70H08Z404F' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +--- + SELECT distinct + [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + into #temp + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S133_S157DatiPiramide] + WHERE [Rete] = @rete + AND [CodiceFiscale] = @codicefiscale + order by ordinamento + + declare @totale_risorse_finanziarie decimal(38,3) + declare @totale_patrimonio decimal(38,3) + declare @partite_viaggianti decimal(38,3) + + select @totale_risorse_finanziarie = SUM(controvaloreAttuale) from #temp where needarea in ('Ext','Inv','Pre','Ris','Liq','Na') + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + + select @totale_patrimonio = SUM(controvaloreAttuale) from #temp + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + + select @partite_viaggianti= PartiteViaggiantiInv from wh.Maledetti + where i_Rete=@Rete and i_CodiceFiscale=@CodiceFiscale + + set @totale_patrimonio=@totale_patrimonio + @partite_viaggianti + + + + select + case when @totale_risorse_finanziarie=@totale_patrimonio then 'Tot_P' else 'Tot_F' end as needarea, + case when @totale_risorse_finanziarie=@totale_patrimonio then 'TOTALE PATRIMONIO' else 'TOTALE RISORSE FINANZIARIE' end as needareades, + '100' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + '' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + SUM(controvaloreattuale) as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto +from #temp +where needarea in ('Ext','Inv','Pre','Ris','Liq','Na') +having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + + union all + + select + 'Tot_F' as needarea, + '' as needareades, + '101' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + 'C/C a saldo negativo' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + SUM(controvaloreattuale) as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from #temp + where needarea in ('CC') + having SUM(controvaloreAttuale) is not null and SUM(controva diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S182BISDettaglioProdottiESG_Mon.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S182BISDettaglioProdottiESG_Mon.sql new file mode 100644 index 00000000..93f48af6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S182BISDettaglioProdottiESG_Mon.sql @@ -0,0 +1,147 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S182BISDettaglioProdottiESG_Mon + + + + + + + + + + +-- Stored procedure + +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S182BISDettaglioProdottiESG] 'F', '98196710176' +CREATE procedure [C6MartPeriodico].[PL_S182BISDettaglioProdottiESG_Mon] --'S','DGSMHL70H08Z404F' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +--- + SELECT distinct + [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + into #temp + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S133_S157DatiPiramide] + WHERE [Rete] = @rete + AND [CodiceFiscale] = @codicefiscale + order by ordinamento + + declare @totale_risorse_finanziarie decimal(38,3) + declare @totale_patrimonio decimal(38,3) + declare @partite_viaggianti decimal(38,3) + + select @totale_risorse_finanziarie = SUM(controvaloreAttuale) from #temp where needarea in ('Ext','Inv','Pre','Ris','Liq','Na') + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + + select @totale_patrimonio = SUM(controvaloreAttuale) from #temp + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + + select @partite_viaggianti= PartiteViaggiantiInv from wh.Maledetti + where i_Rete=@Rete and i_CodiceFiscale=@CodiceFiscale + + set @totale_patrimonio=@totale_patrimonio + @partite_viaggianti + + + + select + case when @totale_risorse_finanziarie=@totale_patrimonio then 'Tot_P' else 'Tot_F' end as needarea, + case when @totale_risorse_finanziarie=@totale_patrimonio then 'TOTALE PATRIMONIO' else 'TOTALE RISORSE FINANZIARIE' end as needareades, + '100' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + '' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + SUM(controvaloreattuale) as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto +from #temp +where needarea in ('Ext','Inv','Pre','Ris','Liq','Na') +having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + + union all + + select + 'Tot_F' as needarea, + '' as needareades, + '101' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + 'C/C a saldo negativo' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + SUM(controvaloreattuale) as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from #temp + where needarea in ('CC') + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + + union all + + select + 'Tot_F' as needarea, + '' as needareades, + '102' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_contr diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S182DettaglioProdottiESG.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S182DettaglioProdottiESG.sql new file mode 100644 index 00000000..8f4059b3 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S182DettaglioProdottiESG.sql @@ -0,0 +1,121 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S182DettaglioProdottiESG + + + + + + + + + + + + + + + + + +-- Stored procedure + +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S182DettaglioProdottiESG] 'F', 'GLLGZN62T06H501I' +CREATE procedure [C6MartPeriodico].[PL_S182DettaglioProdottiESG] --'F','CVLDVD73P22C415X' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT + +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +--SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +--CASE +-- WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' +-- ELSE NULL +--END as versato_needareaString, +--SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +--CASE +-- WHEN COUNT( CASE +-- WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 +-- ELSE NULL +-- END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' +-- ELSE NULL +--END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 +-- THEN 'n.d.' +-- ELSE NULL +--END AS versato_need_progString, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) +-- ELSE NULL +--END AS MinusPlusValenza_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 +-- THEN 'n.d.' +-- ELSE NULL +--END AS MinusPlusValenza_need_progString, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF +-- ELSE NULL +--END AS somma_var_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA +-- ELSE NULL +--END AS somma_copertura_need_prog, +--RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +--CASE +-- WHEN ISNULL(SUM diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S183iCapital.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S183iCapital.sql new file mode 100644 index 00000000..5127c10e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S183iCapital.sql @@ -0,0 +1,92 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S183iCapital + + + + + + + + + + + +-- Stored procedure + +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[PL_S183iCapital] --'F','GSSGLI67A52F205P' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + + SELECT +distinct +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS Codarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS NomeArea, +--CASE +-- WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 +-- ELSE AREA.ORDINAMENTO +--END AS OrdineArea, +iCap.codconf as CodiceContratto, +iCap.sgr as ContrattoSGR, +iCap.descprod as NomeProdotto, +iCap.dtiniz as DataInizio, +iCap.dtfine as DataFine, +iCap.CTV_COMMIT as Totale, +iCap.impvers as ImportoVersato, +iCap.impres as ImportoDaVersare +from C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +inner join C6MartPeriodico.WSEICAP iCap +on icap.codconf=PATRBF.ID_CONTRATTO +and icap.subprod=PATRBF.COD_SOTTOPRODOTTO +--and icap.isin=patrbf.ISIN +where icap.RETE=@Rete +and icap.COD_FISCALE=@CodiceFiscale + +--select Codarea,NomeArea,CodiceContratto,ContrattoSGR,NomeProdotto,DataInizio,DataFine, +--cast(Totale as decimal(15,2))as Totale, +--cast(ImportoVersato as decimal(15,2))as ImportoVersato , +--cast(ImportoDaVersare as decimal(15,2)) as ImportoDaVersare +--from C6MartPeriodico.test_icapital +--where rete=@rete and CODiceFISCALE=@CodiceFiscale + + + + + + --SELECT + -- 'Inv' as CodArea, + -- 'Investimento' as NomeArea, + -- '954572CO210' as CodiceContratto, + -- 'BlackRock' as ContrattoSGR, + -- 'Prodotto di Test' as NomeProdotto, + -- '05/04/2022' as DataInizio, + -- '15/01/2023' as DataFine, + -- '23468.230' as Totale, + -- '632.234' as ImportoVersato, + -- '326.263' as ImportoDaVersare + + + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S184CoerenzaESG.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S184CoerenzaESG.sql new file mode 100644 index 00000000..a698eff6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S184CoerenzaESG.sql @@ -0,0 +1,72 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S184CoerenzaESG + + + + + + + + + + + + + + + + +--Inv Investimento 021233XY004 BLACK ROCK EQT X 20230215 99999999 300000.000 0.000 300000.000 + +-- Stored procedure + +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[PL_S184CoerenzaESG] --'F','RSSLRA62M47C573M' + + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN +select w.Rete, + w.CODFIS, + case when w.COERENZA='Z' then '-' + when w.SOGLIAESG=25.00 then 'Almeno pari al 25%' + when w.SOGLIAESG=50.00 then 'Almeno pari al 50%' + when w.SOGLIAESG=75.00 then 'Almeno pari al 75%' + else '-' end as percESG, + CAST(ROUND(ISNULL(b.obiettivo_ESG_minimo, 0.00), 2) AS decimal(10, 2)) AS pesoSostESG, + -- ROUND(isnull(b.obiettivo_ESG_minimo,0.00),2) as pesoSostESG, + case when w.COERENZA='S' then 'S' + when w.COERENZA='X' and ISNULL(b.obiettivo_ESG_minimo, 0.00)>w.SOGLIAESG then 'S' + when w.COERENZA='Z' then 'Z' + else 'N' end as Coerenza + -- case when RISERVA='N' or invl_period='N' Or clcompl='N' Or flgconc='N' or freq='N' Or concemi='N' or ADEGCONC_VALUT='N' or COERENZA='N' then 'N' else 'S' end as Nota_Adeguatezza + from C6MartPeriodico.WSEIAN2 w left join + C6MartPeriodico.BrsClienteESG b on w.rete=b.rete and w.CODFIS=b.cod_fiscale +where w.Rete=@Rete and w.CODFIS=@CodiceFiscale +and w.PREFSOST = 'S' -- questa tabella deve apparire solo per chi ha espresso la preferenza di sostenibilit +--and b.Preferenza_esg_cliente=1 +--and w.COERENZA<>'X' -- questa condizione serve per i clienti professional che non hanno questo indicatore +--and w.FLGPROF='N' + + + +--COERENZA = 'S' SI +--COERENZA = 'N' NO +--COERENZA = 'X' Errore di R4 +--COERENZA = 'Z' con ESG senza soglia di sostenibilita ( deve apparire n.a.) + +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S184CoerenzaESG_BKP_20231013.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S184CoerenzaESG_BKP_20231013.sql new file mode 100644 index 00000000..de930d0b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S184CoerenzaESG_BKP_20231013.sql @@ -0,0 +1,55 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S184CoerenzaESG_BKP_20231013 + + + + + + + + + + +--Inv Investimento 021233XY004 BLACK ROCK EQT X 20230215 99999999 300000.000 0.000 300000.000 + +-- Stored procedure + +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[PL_S184CoerenzaESG] --'F','TVRNRC51H06L665B' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN +select w.Rete, + w.CODFIS, + case when w.SOGLIAESG=25.00 then 'Almeno pari al 25%' + when w.SOGLIAESG=50.00 then 'Almeno pari al 50%' + when w.SOGLIAESG=75.00 then 'Almeno pari al 75%' + else '-' end as percESG, + CAST(ROUND(ISNULL(b.obiettivo_ESG_minimo, 0.00), 2) AS decimal(10, 2)) AS pesoSostESG, + -- ROUND(isnull(b.obiettivo_ESG_minimo,0.00),2) as pesoSostESG, + case when w.COERENZA='S' then 'S' + when w.COERENZA='X' and ISNULL(b.obiettivo_ESG_minimo, 0.00)>w.SOGLIAESG then 'S' + else 'N' end as Coerenza + from C6MartPeriodico.WSEIAN2 w left join + C6MartPeriodico.BrsClienteESG b on w.rete=b.rete and w.CODFIS=b.cod_fiscale +where w.Rete=@Rete and w.CODFIS=@CodiceFiscale +and w.PREFSOST = 'S' -- questa tabella deve apparire solo per chi ha espresso la preferenza di sostenibilit +--and b.Preferenza_esg_cliente=1 +--and w.COERENZA<>'X' -- questa condizione serve per i clienti professional che non hanno questo indicatore + +--COERENZA = 'S' SI +--COERENZA = 'N' NO +--COERENZA = 'X' Errore di R4 +--COERENZA = 'Z' con ESG senza soglia di sostenibilita ( deve apparire n.a.) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S185UCaratteristicheESG.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S185UCaratteristicheESG.sql new file mode 100644 index 00000000..614b7251 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S185UCaratteristicheESG.sql @@ -0,0 +1,114 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S185UCaratteristicheESG + + + + + + + + + + + +CREATE procedure [C6MartPeriodico].[PL_S185UCaratteristicheESG] -- 'F','TRCDZN57A44I284J' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + + + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + + +CASE + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_SFDR, + +CASE + WHEN isnull(esg.PERC_INVEST_SFDR_MIN_SUST_E,0.00) = 0.00 ----decommenta per ESG 2024 + THEN '-' ----decommenta per ESG 2024 + ELSE ----decommenta per ESG 2024 + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVEST_SFDR_MIN_SUST_E), '.', ',')-- + '%' ----decommenta per ESG 2024 +END AS PERC_INVESTIMENTO_SFDR_AMB, ----decommenta per ESG 2024 + --decommenta per ESG 202 --decommenta per ESG 2024 +CASE ----decommenta per ESG 2024 + WHEN isnull(esg.PERC_INVEST_SFDR_MIN_SUST_S,0.00) = 0.00 ----decommenta per ESG 2024 + THEN '-' ----decommenta per ESG 2024 + ELSE ----decommenta per ESG 2024 + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVEST_SFDR_MIN_SUST_S), '.', ',')-- + '%' ----decommenta per ESG 2024 +END AS PERC_INVESTIMENTO_SFDR_SOC, ----decommenta per ESG 2024 + + CASE + WHEN ISNULL(esg.PERC_INVESTIMENTO_TAXONOMY, 0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_TAXONOMY), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_TAXONOMY, + + isnull(esg.label_PAI_A,'-') as label_PAI_A, + isnull(esg.Label_PAI_S,'-') as label_PAI_S, + isnull(esg.Label_U_INFO_ESG,'-') as label_U_INFO_ESG, + PATRBF.CTV AS Controvalore, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +left join [C6StagingPeriodico].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6MartPeri diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S186DettaglioPortafoglioSei.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S186DettaglioPortafoglioSei.sql new file mode 100644 index 00000000..34634f43 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S186DettaglioPortafoglioSei.sql @@ -0,0 +1,118 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S186DettaglioPortafoglioSei + + + + + + +CREATE procedure [C6MartPeriodico].[PL_S186DettaglioPortafoglioSei] --'F','00545400483' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +declare @appo table +( + [BFCTV] [decimal](15, 2) NULL, + [PatrimonioTerziCTV] [decimal](15, 2) NULL, + [FinanziarioCTV] [decimal](16, 2) NULL, + [FinanziarioPerc] [decimal](6, 2) NULL, + [ImmobiliareCTV] [decimal](15, 2) NULL, + [ImmobiliarePerc] [decimal](6, 2) NULL, + [AltroCTV] [decimal](15, 2) NULL, + [AltroPerc] [decimal](6, 2) NULL, + [TotaleCTV] [decimal](15, 2) NULL, + [ImmobiliarePQCTV] [decimal](15, 2) NULL + +) +--creo le tabelle di appoggio +insert into @appo exec [C6MartPeriodico].[PL_D2_S152Patrimonio] @Rete,@CodiceFiscale + +declare @TotCTV [decimal](15, 2) =(select [BFCTV] from @appo) + + + +SELECT +--distinct + +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, + +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, + +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido + +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +--SUM(PATRBF.CTV) OVER() AS SommaProdottiEsclusi, +SUM(CASE + WHEN PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV < 0 THEN 0 + ELSE PATRBF.CTV + END) OVER() AS SommaProdottiEsclusi, --per escludere i CC a Saldo Negativo +@TotCTV as PatrimonioFideuram, +@TotCTV-SUM(CASE + WHEN PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV < 0 THEN 0 + ELSE PATRBF.CTV + END) OVER() AS PortafoglioSei +--@TotCTV-SUM(PATRBF.CTV) OVER() as PortafoglioSei + +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +--INNER JOIN +--C6MartPeriodico.AREA_BISOGNO AREA +--ON +-- --LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +-- (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +--LEFT JOIN +--C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ +-- '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') + '|' +-- when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' +-- ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- END +---- END + PATRBF.POSITION_ID +-- + PATRBF.POSITION_ID +--LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG +-- ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE +-- AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +-- + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') +--LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA +-- ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + + +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = case +-- when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' +-- else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) +-- end +---- AND RISCHIO_AGGR_AREA.COD_AGGREG = +---- CASE AREA.ID_AREA +---- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +---- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +---- END +--LEFT JOIN +--C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +--ON +-- PATRBF.RETE = MONIT.RETE +-- AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE +-- AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA +-- AND CASE WHEN PAT diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S187SfdrTaxESG.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S187SfdrTaxESG.sql new file mode 100644 index 00000000..10672ffa --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S187SfdrTaxESG.sql @@ -0,0 +1,129 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S187SfdrTaxESG + + + + + + + + + + + + +CREATE procedure [C6MartPeriodico].[PL_S187SfdrTaxESG]-- 'F','00936710151' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +DECLARE @SCADUTO_PARZIALE varchar(16) +SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6MartPeriodico.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale + +declare @U_PREFSOST varchar(2) +select @U_PREFSOST=U_PREFSOST from [C6MartPeriodico].[W6CliESG] where rete=@Rete and codfis=@CodiceFiscale + +if(@pref_esg='1' AND @U_PREFSOST='S') +begin + select + 1 as ID, + 'Prodotti sostenibili SFDR' as Descrizione, + replace(cast(cli.SFDR_PERCT as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union + select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilit' as Descrizione, + replace(cast(cli.SFDR_PERC_OK as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,case when cli.FLAGSFDR='N' then 'Y' + else 'N' end as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 3 as ID, + 'Prodotti non sostenibili' as Descrizione, + replace(cast((100-cli.SFDR_PERCT)as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 5 as ID, + 'Prodotti ecosostenibili Taxonomy' as Descrizione, + replace(cast(cli.TAXO_PERCT as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilit' as Descrizione, + replace(cast (cli.TAXO_PERC_OK as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,case when cli.FLAGTAXO='N' then 'Y' + else 'N' end as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 7 as ID, + 'Prodotti non ecosostenibili' as Descrizione, + replace(cast((100-cli.TAXO_PERCT) as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from C6MartPeriodico.[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + +-- select * from [C6MartPeriodico].[W6CliESG] cli +end + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S188PaiESG.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S188PaiESG.sql new file mode 100644 index 00000000..c8c82b3c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S188PaiESG.sql @@ -0,0 +1,122 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S188PaiESG + + + + + + + + + + + + +--select distinct u_prefsost from [C6MartPeriodico].[W6CliESG] cli + +--select * from wh.Maledetti + +CREATE procedure [C6MartPeriodico].[PL_S188PaiESG] --'F','BNDDDM46C12B967J' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +DECLARE @SCADUTO_PARZIALE varchar(16) +SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6MartPeriodico.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale + +declare @U_PREFSOST varchar(2) +select @U_PREFSOST=U_PREFSOST from [C6MartPeriodico].[W6CliESG] where rete=@Rete and codfis=@CodiceFiscale + +if(@pref_esg='1' and @U_PREFSOST='S') +begin + +select 1 as ID, + 'Prodotti che considerano almeno un PAI ambientale' as Descrizione, + replace(cast(cli.PAIA_PERCT as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilit' as Descrizione, + replace(cast(cli.PAIA_PERC_OK as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,case when isnull(cli.PAI_A,'')='' then 'Y' + else 'N' end as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 3 as ID, + 'Prodotti che non considerano PAI ambientali' as Descrizione, + replace(cast((100-cli.PAIA_PERCT) as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + union +select 5 as ID, + 'Prodotti che considerano almeno un PAI sociale' as Descrizione, + replace(cast(cli.PAIS_PERCT as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilit' as Descrizione, + replace(cast(cli.PAIS_PERC_OK as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,case when isnull(cli.PAI_S,'')='' then 'Y' + else 'N' end as isNA +from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 7 as ID, + 'Prodotti che non considerano PAI sociali' as Descrizione, + replace(cast((100-cli.PAIS_PERCT) as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA + +end + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S18PatrimonioFinanziarioRischio.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S18PatrimonioFinanziarioRischio.sql new file mode 100644 index 00000000..643c3f27 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S18PatrimonioFinanziarioRischio.sql @@ -0,0 +1,97 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S18PatrimonioFinanziarioRischio + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S18PatrimonioFinanziarioRischio] 'F','GRZDSG43E11D193N' +CREATE procedure [C6MartPeriodico].[PL_S18PatrimonioFinanziarioRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + DECLARE @varComplessivo DECIMAL(12,3) + DECLARE @varBF DECIMAL(12,3) + DECLARE @varTerzi DECIMAL(12,3) + DECLARE @coperturaBF DECIMAL(12,3) + DECLARE @coperturaTERZI DECIMAL(12,3) + DECLARE @coperturaCOMPLESSIVO DECIMAL(12,3) + DECLARE @codiceProfilo SMALLINT + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + + SELECT + @varComplessivo = VAR_PERC_PTF, + @coperturaCOMPLESSIVO = COPERTURA + FROM + C6MartPeriodico.RISCHIO_AGGREGATO AS RA + WHERE + RA.RETE = @Rete AND + RA.COD_FISCALE = @CodiceFiscale AND + RA.COD_AGGREG = 'COMPLESSIVO' + + SELECT + @varBF = VAR_PERC_PTF, + @coperturaBF = COPERTURA + FROM + C6MartPeriodico.RISCHIO_AGGREGATO AS RA + WHERE + RA.RETE = @Rete AND + RA.COD_FISCALE = @CodiceFiscale AND + RA.COD_AGGREG = 'COMPLESSIVO|BF' + + SELECT + @varTerzi = VAR_PERC_PTF, + @coperturaTERZI = COPERTURA + FROM + C6MartPeriodico.RISCHIO_AGGREGATO AS RA + WHERE + RA.RETE = @Rete AND + RA.COD_FISCALE = @CodiceFiscale AND + RA.COD_AGGREG = 'COMPLESSIVO|TERZI' + + SELECT + @codiceProfilo = M.PROFILO_ASS, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = CR.DESCRIZIONE + FROM + C6MartPeriodico.MIFID AS M + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + + SELECT + @codiceProfilo as codiceProfilo, + @varProfilo as varProfilo, +-- isnull(@varComplessivo,0) as varComplessivo, +-- isnull(@varBF,0) as varBF, +-- isnull(@varTerzi,0) as varTerzi, + @varComplessivo as varComplessivo, + @varBF as varBF, + @varTerzi as varTerzi, + CASE + WHEN @coperturaCOMPLESSIVO IS NULL THEN 'n.c.' + WHEN @coperturaCOMPLESSIVO = 0 THEN 'n.c.' + ELSE NULL + END AS varComplessivoString, + CASE + WHEN @coperturaBF IS NULL THEN 'n.c.' + WHEN @coperturaBF = 0 THEN 'n.c.' + ELSE NULL + END AS varBFString, + CASE + WHEN @coperturaTERZI IS NULL THEN 'n.c.' + WHEN @coperturaTERZI = 0 THEN 'n.c.' + ELSE NULL + END AS varTerziString, + isnull(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S1Patrimonio.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S1Patrimonio.sql new file mode 100644 index 00000000..390df172 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S1Patrimonio.sql @@ -0,0 +1,110 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S1Patrimonio + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S1Patrimonio] 'F','MRSPLA53H24D643J' +CREATE procedure [C6MartPeriodico].[PL_S1Patrimonio] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + + SELECT + @PatrimonioBF = SUM(CTV) + FROM + C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area <> 'CC' --escludo il cc negativo + +-- SELECT @Part_viaggianti=SUM(IMPORTO) +-- FROM C6MartPeriodico.PARTITE_VIAGGIANTI partvia +-- WHERE +-- partvia.Rete = @Rete +-- and partvia.Cod_Fiscale = @CodiceFiscale + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Martperiodico.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + + + SELECT + @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM + C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + + + SELECT + @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM + C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + + + SELECT + @PatrimonioAltro = SUM(patrAltro.ctv) + FROM + C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + + + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + + + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S23DettaglioRischio.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S23DettaglioRischio.sql new file mode 100644 index 00000000..4c831346 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S23DettaglioRischio.sql @@ -0,0 +1,91 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S23DettaglioRischio + +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S23DettaglioRischio] 'F','BRNDRA65B04B300I' +CREATE procedure [C6MartPeriodico].[PL_S23DettaglioRischio] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT DISTINCT + isnull(MIFID.PROFILO_ASS,0) as codiceProfilo, + + CASE + WHEN (CODRISCHIO.MAX_VAR is null) THEN 'n.c' + ELSE null + END as varProfiloMaxString, + + CODRISCHIO.MAX_VAR as varProfiloMax, + + MIFID.RISKCLASS AS CreditRiskMax, + CASE + WHEN MIFID.RISKCLASS IS NULL THEN 'n.c.' + ELSE NULL + END AS CreditRiskMaxString, + PT.INTERMEDIARIO AS Intermediario, + ISNULL(RISCHIO.VAR_PERC_PTF,0) as varIntermediario, + CASE + WHEN RISCHIO.COPERTURA = 0 THEN 'n.c.' + WHEN RISCHIO.COPERTURA IS NULL THEN 'n.c.' + ELSE NULL + END AS varIntermediarioString, + rischio.copertura as coperturaBF, + CASE + WHEN RISCHIO.COPERTURA = 0 THEN 'n.c.' + WHEN RISCHIO.COPERTURA IS NULL THEN 'n.c.' + ELSE NULL + END AS coperturaBFString, + + CASE + -- WHEN RISCHIO.COPERTURA > 0 AND RISCHIO.VAR_PERC_PTF <= CODRISCHIO.MAX_VAR THEN 1 + -- modified by mzaki + WHEN RISCHIO.COPERTURA > 0 AND RISCHIO.VAR_PERC_PTF <= CODRISCHIO.MAX_VAR + AND isnull(RISCHIO.CREDITRISK,0) <= MIFID.RISKCLASS THEN 1 + -- + WHEN RISCHIO.COPERTURA = 0 THEN -1 + ELSE 0 + END AS rispetto, + + ----------------------- + RISCHIO.CREDITRISK as creditRisk, + CASE + WHEN RISCHIO.CREDITRISK is null and RISCHIO.COPERTURA = 0 THEN 'n.c.' + WHEN RISCHIO.CREDITRISK is null and RISCHIO.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIO.CREDITRISK is null then 'n.a.' + ELSE null + END as creditRiskString + FROM + C6MartPeriodico.PATRIMONIO_TERZI PT + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO + ON + RISCHIO.RETE = PT.RETE + AND RISCHIO.COD_FISCALE = PT.COD_FISCALE + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|TERZI|' + PT.INTERMEDIARIO + LEFT OUTER JOIN + C6MartPeriodico.MIFID MIFID + ON + MIFID.RETE = PT.RETE + AND MIFID.COD_FISCALE = PT.COD_FISCALE + LEFT OUTER JOIN + C6MartPeriodico.CODIFICA_RISCHIO CODRISCHIO + ON + MIFID.PROFILO_ASS = CODRISCHIO.PROFILO + + WHERE 1 = 1 + --V we take into account CC --AND PT.TIPO_PRODOTTO <> 'Conti correnti' + AND PT.RETE = @Rete + AND PT.cod_fiscale = @CodiceFiscale + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S25Anagrafica.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S25Anagrafica.sql new file mode 100644 index 00000000..85b932b5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S25Anagrafica.sql @@ -0,0 +1,41 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S25Anagrafica + + +CREATE procedure [C6MartPeriodico].[PL_S25Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT [Cliente] + ,[DatadiNascita] + ,[ETA] + ,[Professione] + ,[StatoCivile] + ,[NucleoFamiliare] + ,[Residenza] + ,[CodiceFiscale] + ,[CodicePB] + ,[CodiceRete] + ,[CodiceContratto] + ,[StatoContratto] + ,[DataSottoscrizione] + ,[DataPerfezionamento] + ,[FasciaCPP] + ,[IndirizzoEmail] + ,[ProduzioneReport] + ,[Indirizzo] + ,[CAP] + ,[Citta] + ,[Provincia] + ,[Nazione] + ,[PRESSO] + FROM [C6MartPeriodico].[TB_S25Anagrafica] + WHERE [CodiceRete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S25Anagrafica_BkUpParall.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S25Anagrafica_BkUpParall.sql new file mode 100644 index 00000000..d790a42e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S25Anagrafica_BkUpParall.sql @@ -0,0 +1,101 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S25Anagrafica_BkUpParall + +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S25Anagrafica] 'F', 'CSCGPP34A03L050L' +CREATE procedure [C6MartPeriodico].[PL_S25Anagrafica_BkUpParall] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + + + END + END AS NucleoFamiliare, + +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, + +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + + --V Indirizzo Secondo AULETTA + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') + ' ' else '' end + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') + ' ' else '' end + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_SOTT) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + CONTRATTOSEI.FASCIA_CPP AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + + --ANAG_CLIENTI.CAP AS CAP, + -- CONTRATTOSEI.[CAP] AS CAP, + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' + then isnull(CONTRATTOSEI.CAP,'') + else '' + end as CAP, + + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + + --CONTRATTOSEI.[Prov] AS Provincia, + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' + then isnull(CONTRATTOSEI.[Prov],'') + else CONTRATTOSEI.[NAZIONE] + end as Provincia, + + --ANAG_CLIENTI.PROVINCIA AS Provincia, + + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + + CONTRATTOSEI.[Presso] AS PRESSO + FROM + [C6MartPeriodico].CONTRATTOSEI -- TABELLA BASE + INNER JOIN + C6MARTPERIODICO.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MARTPERIODICO.ANAG_PROMOTORI + O diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S26PatrimonioImmobiliare.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S26PatrimonioImmobiliare.sql new file mode 100644 index 00000000..eb19753b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S26PatrimonioImmobiliare.sql @@ -0,0 +1,27 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S26PatrimonioImmobiliare + + +CREATE procedure [C6MartPeriodico].[PL_S26PatrimonioImmobiliare] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + SELECT + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S27ALtroPatrimonio.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S27ALtroPatrimonio.sql new file mode 100644 index 00000000..0c534450 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S27ALtroPatrimonio.sql @@ -0,0 +1,30 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S27ALtroPatrimonio + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_S27ALtroPatrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + SELECT + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM + C6MartPeriodico.PATRIMONIO_ALTRO + WHERE + PATRIMONIO_ALTRO.RETE = @Rete + AND PATRIMONIO_ALTRO.COD_FISCALE = @CodiceFiscale + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S2PatrimonioFinanziario.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S2PatrimonioFinanziario.sql new file mode 100644 index 00000000..f7b1bb6b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S2PatrimonioFinanziario.sql @@ -0,0 +1,161 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S2PatrimonioFinanziario + + +-- Stored procedure + + +-- ============================================= +-- Author: Luca De Lisio +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S2PatrimonioFinanziario] 'F','LNTNNE59L06F205C' +CREATE procedure [C6MartPeriodico].[PL_S2PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + +SELECT + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + + --PRODOTTI BF ESCLUSI GLI ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + + UNION ALL + + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT + + + + + + + + + + + + + + + + + + + + + + + + + + + +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL + +-- UNION ALL + --DETTAGLIO ASUL SENZA SKANDIA + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + UNION ALL + --CON SKANDIA + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + + UNION ALL + + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSET diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S31PatrimonioFinanziarioIntermediario.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S31PatrimonioFinanziarioIntermediario.sql new file mode 100644 index 00000000..31c60b39 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S31PatrimonioFinanziarioIntermediario.sql @@ -0,0 +1,35 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S31PatrimonioFinanziarioIntermediario + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S31PatrimonioFinanziarioIntermediario] 'F','BRTVTR64T13L219G' +CREATE procedure [C6MartPeriodico].[PL_S31PatrimonioFinanziarioIntermediario] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + SELECT DISTINCT + PATRIMONIO_TERZI.INTERMEDIARIO as Intermediario, + SUM(ROUND(PATRIMONIO_TERZI.CTV,2)) OVER (PARTITION BY PATRIMONIO_TERZI.INTERMEDIARIO) as Controvalore, + (SUM(PATRIMONIO_TERZI.CTV) OVER (PARTITION BY PATRIMONIO_TERZI.INTERMEDIARIO)/ + SUM(PATRIMONIO_TERZI.CTV) OVER (PARTITION BY 'Totale'))*100 as Percentuale, + SUM(PATRIMONIO_TERZI.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM + C6MartPeriodico.PATRIMONIO_TERZI + WHERE + PATRIMONIO_TERZI.RETE = @Rete + AND PATRIMONIO_TERZI.COD_FISCALE = @CodiceFiscale + ORDER BY + PATRIMONIO_TERZI.INTERMEDIARIO + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S32PatrimonioFinanziarioMAssetClass.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S32PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..69d30789 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S32PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,78 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S32PatrimonioFinanziarioMAssetClass + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_S32PatrimonioFinanziarioMAssetClass] 'F', 'BRCRRT70L21A390C' +CREATE procedure [C6MartPeriodico].[PL_S32PatrimonioFinanziarioMAssetClass] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT DISTINCT + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + + UNION ALL + + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + + ) VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + ORDER BY + ASSETCLASS.ORDINAMENTO + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S36ProfiloRischio.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S36ProfiloRischio.sql new file mode 100644 index 00000000..30bac128 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S36ProfiloRischio.sql @@ -0,0 +1,37 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S36ProfiloRischio + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S36ProfiloRischio] 'F','GRNNTN55B07I158D' +CREATE procedure [C6MartPeriodico].[PL_S36ProfiloRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS + +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + SELECT + MIFID.PROFILO_ASS AS codiceProfilo, + PROFILIDIRISCHIO.NOMEPROFILO as nomeProfilo, + DBO.TOSHORTDATESTRING(MIFID.DATA_INIZIO_VAL) AS dataInizioValidita, + CODIFICA_RISCHIO.MAX_VAR as varMassimo + FROM + C6MARTPERIODICO.MIFID AS MIFID + INNER JOIN C6MARTPERIODICO.CODIFICA_RISCHIO AS CODIFICA_RISCHIO + ON MIFID.PROFILO_ASS = CODIFICA_RISCHIO.PROFILO + INNER JOIN DBO.ProfiliDiRischio_preMUA AS PROFILIDIRISCHIO + ON PROFILIDIRISCHIO.CODICEPROFILO = CODIFICA_RISCHIO.PROFILO + WHERE 1 = 1 + AND MIFID.RETE = @Rete + AND MIFID.COD_FISCALE = @CodiceFiscale + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S37PiramideModello.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S37PiramideModello.sql new file mode 100644 index 00000000..8aea00c3 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S37PiramideModello.sql @@ -0,0 +1,37 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S37PiramideModello + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S37PiramideModello] 'F','BCCLVI34M18F335J' +CREATE procedure [C6MartPeriodico].[PL_S37PiramideModello] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + AREA_BISOGNO.ID_AREA AS Need_Breve, -- NOME BREVE DELL'AREA DI BISOGNO + PIRAMIDE_MOD.NOME_PROGETTO AS Nome_Progetto, -- NOME DEL PROGETTO (AREA INV) + ISNULL(PIRAMIDE_MOD.PERC_AREA,0) AS Perc_Need, -- PERCENTUALE DI ALLOCAZIONE SULL'AREA DI BISOGNO + PIRAMIDE_MOD.ORIZZ_TEMP AS Orizz_Temp, -- ORIZZONTE TEMPORALE DEL PROGETTO + SUM(ISNULL(PIRAMIDE_MOD.PERC_AREA,0)) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE, AREA_BISOGNO.ID_AREA) AS Totale_Percentuale, -- PERCENTUALE DI ALLOCAZIONE DEI PROGETTI + SUM(ISNULL(PIRAMIDE_MOD.PERC_AREA,0)) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE) AS Totale, + COUNT(CASE WHEN AREA_BISOGNO.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NOT NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE) AS NumeroProgettiInv, + AREA_BISOGNO.ORDINAMENTO AS Ordinamento + FROM C6MartPeriodico.AREA_BISOGNO + LEFT JOIN C6MartPeriodico.PIRAMIDE_MOD + ON PIRAMIDE_MOD.ID_AREA = AREA_BISOGNO.ID_AREA + AND((PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NOT NULL) + OR PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE')) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + WHERE AREA_BISOGNO.ORDINAMENTO < 6 + ORDER BY AREA_BISOGNO.ORDINAMENTO + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S42RischioDiversificazione.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S42RischioDiversificazione.sql new file mode 100644 index 00000000..9fcc996d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S42RischioDiversificazione.sql @@ -0,0 +1,155 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S42RischioDiversificazione + + +-- [C6MartPeriodico].[PL_S42RischioDiversificazione] 'F','BNNDRC23B44E689L' +CREATE procedure [C6MartPeriodico].[PL_S42RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + + declare @contaCC as int + + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + + + declare @contaPOS as int + + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + + + +SELECT +K.COD_FISCALE, +K.RETE, + +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, + +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, + +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' when k.rete = 'S' then 'Sanpaolo Invest' else 'IW Private Inv.' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, + +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine + + +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY 11 + + +END + + + + + + + + + + + + + + +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_S42RischioDiversificazione] Script Date: 10/02/2022 15:59:33 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO + +---- [C6MartPeriodico].[PL_S42RischioDiversificazione] 'F','BNNDRC23B44E689L' +--ALTER procedure [C6MartPeriodico].[PL_S42RischioDiversificazione] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) + +--AS +--BEGIN + + +-- declare @contaCC as int + +-- select @contaCC = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + + +-- declare @contaPOS as int + +-- select @contaPOS = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where cod_fiscale = @codiceFiscale and rete = @rete + + + +--SELECT +--K.COD_FISCALE, +--K.RETE, + +--CASE +-- WHEN (@contaPOS - @contacc = 0) THEN 0 +-- ELSE VAR_PERC_PTF +--END AS VAR, +--CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, + +--CASE +-- WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 +-- --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' +-- ELSE null +--END AS coperturaString, +- diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S43BISDettaglioProdottiBF.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S43BISDettaglioProdottiBF.sql new file mode 100644 index 00000000..ff22c505 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S43BISDettaglioProdottiBF.sql @@ -0,0 +1,115 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S43BISDettaglioProdottiBF + + + + + +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) + +-- [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] 'F', 'SPNTTR67T20F205D' +CREATE procedure [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] --'S','MNSLNZ44A58F351Y' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + + +SELECT +--distinct + +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') + +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, + + +--Bido +SUM(PATRBF.CTV ) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, + + +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +---------------------------------------------------------- diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20160118.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20160118.sql new file mode 100644 index 00000000..276a3929 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20160118.sql @@ -0,0 +1,114 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S43BISDettaglioProdottiBF_20160118 + + + + + +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) + +-- [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] 'S', 'CLCLNE41M47H434D' +CREATE PROCEDURE [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF_20160118] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + + +SELECT + +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, + + +--Bido +SUM(PATRBF.CTV ) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, + + +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA Q diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215.sql new file mode 100644 index 00000000..daa5d735 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215.sql @@ -0,0 +1,117 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S43BISDettaglioProdottiBF_20161215 + + + + + + + + +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) + +-- [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] 'S', 'CLCLNE41M47H434D' +CREATE PROCEDURE [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF_20161215] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + + +SELECT + +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, + + +--Bido +SUM(PATRBF.CTV ) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, + + +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI O diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215_B.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215_B.sql new file mode 100644 index 00000000..307dd80d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215_B.sql @@ -0,0 +1,118 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S43BISDettaglioProdottiBF_20161215_B + + + + + + + + + +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) + +-- [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] 'F', 'DGHDNC78R19C623G' +CREATE PROCEDURE [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF_20161215_B] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + + +SELECT + +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, + + +--Bido +SUM(PATRBF.CTV ) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, + + +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVEN diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S43ContoCorrenteBF.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S43ContoCorrenteBF.sql new file mode 100644 index 00000000..21ce4099 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S43ContoCorrenteBF.sql @@ -0,0 +1,56 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S43ContoCorrenteBF + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_S43ContoCorrenteBF] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + distinct + dbo.ToShortDateString(ANAG_CC.DATA_APERTURA) AS datadiSottoscrizione, + ANAG_CC.COD_CC AS conto, + cast(ANAG_CC.SALDOCONTABILE as decimal(15,2)) as Controvalore, + cast(ANAG_CC.SALDODISPONIBILE as decimal(15,2)) as SALDO_DISPONIBILE, + null as creditrisk , + 'n.a.' as creditriskstring, + 0 as var, + null as varString, + 0 as totaleVar, + null as totaleVarString, + apc.is_APC as isAPC + -- spb.CODCONF as CodiceContratto + FROM + C6MartPeriodico.ANAG_CC + + left join C6StagingPeriodico.SPB_CONTR_SINTESI spb + on spb.rete=@rete + and spb.CODFIS=@CodiceFiscale + and spb.conto=anag_cc.cod_cc + --aggiunta apc103 + left join C6MartPeriodico.WSEICC apc +on + apc.RETE=@Rete + and apc.cod_fiscale=@CodiceFiscale + and spb.CODCONF = apc.CODCONFC + --(case when PATRBF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) + --fine aggiunta apc103 + WHERE + ANAG_CC.rete= @Rete + AND ANAG_CC.cod_fiscale= @CodiceFiscale + AND ANAG_CC.SALDOCONTABILE < 0 +-- ORDER BY ANAG_CC.SALDOCONTABILE DESC + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S43DettaglioProdottiBF.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S43DettaglioProdottiBF.sql new file mode 100644 index 00000000..6b5ba916 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S43DettaglioProdottiBF.sql @@ -0,0 +1,105 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S43DettaglioProdottiBF + + + + +-- Stored procedure + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'BNDCRN60H52A181P' +-- [C6MartPeriodico].[PL_S43DettaglioProdottiBF] 'F','BNDCRN60H52A181P' +CREATE procedure [C6MartPeriodico].[PL_S43DettaglioProdottiBF] --'S','MNSLNZ44A58F351Y' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT +--distinct +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE +--WHEN AREA.ID_AREA = 'Pre' THEN 'Default' + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + -- 20161219 - mod per far uscire il nome progetto sulle risorse na + WHEN AREA.ID_AREA = 'Na' THEN 'Default' + -- fine 20161219 - mod per far uscire il nome progetto sulle risorse na + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + W diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161215.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161215.sql new file mode 100644 index 00000000..e5b8bf69 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161215.sql @@ -0,0 +1,107 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S43DettaglioProdottiBF_20161215 + + + +-- Stored procedure + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'BNDCRN60H52A181P' +-- [C6MartPeriodico].[PL_S43DettaglioProdottiBF] 'F','DGHDNC78R19C623G' +CREATE procedure [C6MartPeriodico].[PL_S43DettaglioProdottiBF_20161215] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT + +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE +--WHEN AREA.ID_AREA = 'Pre' THEN 'Default' + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161219.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161219.sql new file mode 100644 index 00000000..3d498a28 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161219.sql @@ -0,0 +1,108 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S43DettaglioProdottiBF_20161219 + + + + +-- Stored procedure + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'BNDCRN60H52A181P' +-- [C6MartPeriodico].[PL_S43DettaglioProdottiBF] 'F','BRTMRA27P42Z126N' +CREATE procedure [C6MartPeriodico].[PL_S43DettaglioProdottiBF_20161219] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT + +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE +--WHEN AREA.ID_AREA = 'Pre' THEN 'Default' + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_pro diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql new file mode 100644 index 00000000..b91cf624 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql @@ -0,0 +1,108 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S43DettaglioProdottiBF_BK_eligoTitoli + + + +-- Stored procedure + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'BNDCRN60H52A181P' +-- [C6MartPeriodico].[PL_S43DettaglioProdottiBF] 'F','CRORLF58C02L219Y' +CREATE procedure [C6MartPeriodico].[PL_S43DettaglioProdottiBF_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT + +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITI diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S43LineaSelfBF.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S43LineaSelfBF.sql new file mode 100644 index 00000000..14cf9c83 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S43LineaSelfBF.sql @@ -0,0 +1,45 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S43LineaSelfBF + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S43LineaSelfBF] 'F','GSTGPL59P03B586G' +CREATE procedure [C6MartPeriodico].[PL_S43LineaSelfBF] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + distinct + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(cast(datasott as varchar)) as DataSott, + CodInterno, + CodSottoProdotto, + apc.is_APC as isAPC + FROM + C6MartPeriodico.ANAG_SELF LS + --aggiunta apc103 + left join C6MartPeriodico.WSEICC apc +on + apc.RETE=@Rete + and apc.cod_fiscale=@CodiceFiscale + and ls.CodConf = apc.CODCONFPR + --(case when PATRBF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) + --fine aggiunta apc103 + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND isnull(ctv,0) < 0 +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..29f38b28 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql @@ -0,0 +1,35 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S43LineaSelfBF_20181214_PreMioFoglio + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S43LineaSelfBF] 'F','GSTGPL59P03B586G' +CREATE procedure [C6MartPeriodico].[PL_S43LineaSelfBF_20181214_PreMioFoglio] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(cast(datasott as varchar)) as DataSott + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND isnull(ctv,0) < 0 +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S47ContoCorrenteBF.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S47ContoCorrenteBF.sql new file mode 100644 index 00000000..afca5a85 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S47ContoCorrenteBF.sql @@ -0,0 +1,40 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S47ContoCorrenteBF + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[PL_S47ContoCorrenteBF] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + + SELECT + dbo.ToShortDateString(ANAG_CC.DATA_APERTURA) AS datadiSottoscrizione, + ANAG_CC.COD_CC AS conto, + cast(ANAG_CC.SALDO as decimal(15,2)) as Controvalore, + null as creditrisk , + 'n.a.' as creditriskstring, + 0 as var, + null as varString, + 0 as totaleVar, + null as totaleVarString + FROM + C6MartPeriodico.ANAG_CC + WHERE + ANAG_CC.rete= @Rete + AND ANAG_CC.cod_fiscale= @CodiceFiscale + ORDER BY + ANAG_CC.SALDO DESC + + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S48DettaglioProdotti.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S48DettaglioProdotti.sql new file mode 100644 index 00000000..954e2cbf --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S48DettaglioProdotti.sql @@ -0,0 +1,97 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S48DettaglioProdotti + + +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S48DettaglioProdotti] 'F', 'LNTNNE59L06F205C' +CREATE procedure [C6MartPeriodico].[PL_S48DettaglioProdotti] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + SELECT + + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGR diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S49PolizzeAltriIstituti.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S49PolizzeAltriIstituti.sql new file mode 100644 index 00000000..934185ee --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S49PolizzeAltriIstituti.sql @@ -0,0 +1,42 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S49PolizzeAltriIstituti + +-- ============================================= +-- Author: Marco Gentilezza +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S49PolizzeAltriIstituti]'S', 'MRTRRT57T17E758I' +CREATE procedure [C6MartPeriodico].[PL_S49PolizzeAltriIstituti] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + SELECT + + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' + WHERE PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S50FondiAltriIstituti.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S50FondiAltriIstituti.sql new file mode 100644 index 00000000..a1c54f59 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S50FondiAltriIstituti.sql @@ -0,0 +1,73 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S50FondiAltriIstituti + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S50FondiAltriIstituti] 'S', 'MRTRRT57T17E758I' +CREATE procedure [C6MartPeriodico].[PL_S50FondiAltriIstituti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + WHERE + PATRTERZI.rete = @Rete + and PATRTERZI.cod_fiscale = @CodiceFiscale + --AND PATRTERZI.TIPO_PRODOTTO = 'Fondi pensione' + + + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S51ContoCorrenteAI.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S51ContoCorrenteAI.sql new file mode 100644 index 00000000..136d07d4 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S51ContoCorrenteAI.sql @@ -0,0 +1,35 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S51ContoCorrenteAI + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_S51ContoCorrenteAI] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + SELECT + CCTerzi.INTERMEDIARIO AS Intermediario, + CCTerzi.COD_CC AS ContoCorrente, + CCTerzi.SALDO AS Saldo, + null as creditrisk, + 'n.a.' as creditriskstring, + 0.00 as var + FROM + C6MartPeriodico.ANAG_CC_Terzi CCTerzi + WHERE + CCTerzi.rete= @Rete + AND CCTerzi.cod_fiscale= @CodiceFiscale + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S56PatrimonioBFAreeBisogno.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S56PatrimonioBFAreeBisogno.sql new file mode 100644 index 00000000..e9edb620 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S56PatrimonioBFAreeBisogno.sql @@ -0,0 +1,71 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S56PatrimonioBFAreeBisogno + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S56PatrimonioBFAreeBisogno] 'F','TNNLGU58R01B259Y' +CREATE procedure [C6MartPeriodico].[PL_S56PatrimonioBFAreeBisogno] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + COALESCE(PIRAMIDE_VERT.CTV_AREA, 0.00) AS ControValore, + COALESCE( + CAST(100*(PIRAMIDE_VERT.CTV_AREA / + SUM(COALESCE(PIRAMIDE_VERT.CTV_AREA,0)) OVER (PARTITION BY PIRAMIDE_VERT.RETE, PIRAMIDE_VERT.COD_FISCALE)) AS DECIMAL(5,2)) + , 0.00) AS Peso, + COALESCE(RISCHIO_AGGREGATO.VAR_PERC_PTF, 0.00) AS Var_NeedArea, + NULL AS Var_NeedAreaString, + COALESCE(RISCHIO_AGGREGATO.COPERTURA, 0) AS Copertura_NeedArea, + CASE + WHEN RISCHIO_AGGREGATO.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIO_AGGREGATO.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS Copertura_NeedAreaString, + NULL AS RischioRelativo, -- TODO: CHIEDERE + NULL AS Nota, -- TODO: CHIEDERE + SUM(COALESCE(PIRAMIDE_VERT.CTV_AREA,0)) OVER (PARTITION BY 'Totale') AS Somma_Controval, + RISCHIO_TOTALE.VAR_PERC_PTF AS Var_tot, + RISCHIO_TOTALE.COPERTURA AS Copertura_tot, + CASE + WHEN RISCHIO_TOTALE.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIO_TOTALE.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS Copertura_totString + FROM C6MartPeriodico.AREA_BISOGNO + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT RETE, COD_FISCALE, LEFT(ID_AREA,3) AS ID_AREA, SUM(COALESCE(CTV_AREA,0)) AS CTV_AREA + FROM C6MartPeriodico.PIRAMIDE_VERT + WHERE PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + GROUP BY RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT ON PIRAMIDE_VERT.ID_AREA = AREA_BISOGNO.ID_AREA +-- LEFT JOIN C6MartPeriodico.PIRAMIDE_VERT +-- ON LEFT(PIRAMIDE_VERT.ID_AREA,3) = AREA_BISOGNO.ID_AREA +-- AND PIRAMIDE_VERT.RETE = @Rete +-- AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO + ON RISCHIO_AGGREGATO.COD_AGGREG = 'PIRAMIDE|' + LEFT(AREA_BISOGNO.ID_AREA,3) + AND RISCHIO_AGGREGATO.RETE = @Rete + AND RISCHIO_AGGREGATO.COD_FISCALE = @CodiceFiscale + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIO_TOTALE + ON RISCHIO_TOTALE.COD_AGGREG = 'PIRAMIDE' + AND RISCHIO_TOTALE.RETE = @Rete + AND RISCHIO_TOTALE.COD_FISCALE = @CodiceFiscale + WHERE AREA_BISOGNO.ORDINAMENTO < 6 + ORDER BY AREA_BISOGNO.ORDINAMENTO + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S57ConfrontoPiramidi.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S57ConfrontoPiramidi.sql new file mode 100644 index 00000000..05a4cce2 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S57ConfrontoPiramidi.sql @@ -0,0 +1,119 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S57ConfrontoPiramidi + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S57ConfrontoPiramidi] 'F','BNNDRC23B44E689L' +CREATE procedure [C6MartPeriodico].[PL_S57ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + LEFT(ID_AREA,3) AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + + + IF(@@ROWCOUNT>0) + BEGIN + + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc') + --V + DECLARE @TOTCC AS INT + SELECT @TOTCC = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND TIPO_PRODOTTO = 'Cc' + + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + + + + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCC = @TOT THEN 0.00 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_ diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S57ConfrontoPiramidi_OLD.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S57ConfrontoPiramidi_OLD.sql new file mode 100644 index 00000000..81332676 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S57ConfrontoPiramidi_OLD.sql @@ -0,0 +1,120 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S57ConfrontoPiramidi_OLD + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S57ConfrontoPiramidi] 'S','CCRPTR55A08H501P' +CREATE procedure [C6MartPeriodico].[PL_S57ConfrontoPiramidi_OLD] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + LEFT(ID_AREA,3) AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + + + IF(@@ROWCOUNT>0) + BEGIN + + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc') + --V + DECLARE @TOTCC DECIMAL (20,2) + SELECT @TOTCC = ISNULL(CONTROVALORE,0) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'Cc' + + --V + DECLARE @TOT DECIMAL (20,2) + SELECT @TOT = SUM(ISNULL(CONTROVALORE,0)) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + + + + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S6PatrimonioFinanziario.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S6PatrimonioFinanziario.sql new file mode 100644 index 00000000..f3c4c212 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S6PatrimonioFinanziario.sql @@ -0,0 +1,160 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S6PatrimonioFinanziario + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S6PatrimonioFinanziario] 'F','GZZSLD52E20G869L' +CREATE procedure [C6MartPeriodico].[PL_S6PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + + DECLARE @NOMERETE VARCHAR(20) + + IF @Rete = 'F' + SET @NOMERETE = 'Fideuram' + ELSE IF @Rete = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + + SELECT + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Intermediario, + Ordine, + @NOMERETE AS Banca, + -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv + SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine)) / + (SUM(ctv) over (partition by 'Totale')) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + @NOMERETE AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MartPeriodico.PATRIMONIO_BF patrBF +-- LEFT JOIN C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- AND PATRBF.TIPO_PRODOTTO = 'CC' + WHERE 1 = 1 + AND patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO + and patrBF.id_area <> 'cc' + UNION ALL + + + + SELECT + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + AND patrTerzi.Rete = @Rete + AND patrTerzi.Cod_Fiscale = @CodiceFiscale + GROUP BY patrTerzi.Intermediario + + ) PATR + + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine + +END + + + + + + + + + + + + + + +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_S6PatrimonioFinanziario] Script Date: 10/02/2022 15:58:38 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO + +---- Stored procedure + +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +---- [C6MartPeriodico].[PL_S6PatrimonioFinanziario] 'F','GZZSLD52E20G869L' +--ALTER procedure [C6MartPeriodico].[PL_S6PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from + +-- DECLARE @NOMERETE VARCHAR(20) + +-- IF @Rete = 'F' +-- SET @NOMERETE = 'Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' + +-- SELECT +-- Intermediario, +-- Ordine, +-- Banca, +-- Controvalore, +-- round(Percentuale,2) as Percentuale +-- FROM +-- ( +-- SELECT DISTINCT +-- Intermediario, +-- Ordine, +-- @NOMERETE AS Banca, +-- -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv +-- SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, +-- ( +-- (SUM(ctv) over (partition by Intermediario,Ordine)) / +-- (SUM(ctv) over (partition by 'Totale')) +-- ) * 100 AS PERCENTUALE +-- FROM +-- ( +-- SELECT +-- @NOMERETE AS Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 1 AS ordine +-- FROM C6MartPeriodico.PATRIMONIO_BF patrBF +---- LEFT JOIN C6MartPeriodico.ClientiConCCNegativo CCNegativo +---- ON PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- AND PATRBF.TIPO_PRODOTTO = 'CC' +-- WHERE 1 = 1 +-- AND patrBF.Rete = @Rete + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S75GradoCopertura.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S75GradoCopertura.sql new file mode 100644 index 00000000..768fb1e1 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S75GradoCopertura.sql @@ -0,0 +1,134 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S75GradoCopertura + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S75GradoCopertura] 'F','GRNNTN55B07I158D' +CREATE procedure [C6MartPeriodico].[PL_S75GradoCopertura] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + DECLARE @varCompl decimal(15,3) + DECLARE @coperturaCompl decimal(15,3) + DECLARE @ctvCompl decimal(15,3) + DECLARE @saldoCC decimal(15,3) + + --CALCOLO PATRIMONI E ESTRAZIONE VAR + SELECT + @Rete AS Rete, + @CodiceFiscale as CodiceFiscale, + CASE @Rete + WHEN 'F' THEN 'Patrimonio Fideuram' + WHEN 'S' THEN 'Patrimonio San Paolo Invest' + ELSE ' Patrimonio IW Private Inv.' + END AS NomePatrimonio, +-- MAX(patrBF.CTV - patrBF.ContoCorrente) AS Controvalore, +-- MAX(patrBF.ContoCorrente) AS ControvaloreCC, +-- MAX(RISCHIO.VAR_PERC_PTF) AS VarPatrimonio, +-- MAX(RISCHIO.COPERTURA) AS Copertura, + patrBF.PatrimonioSenzaCC AS Controvalore, + --patrBF.CTV - patrBF.ContoCorrente AS Controvalore, + patrBF.ContoCorrente AS ControvaloreCC, + RISCHIO.VAR_PERC_PTF AS VarPatrimonio, + RISCHIO.COPERTURA AS Copertura, + 1 AS ORDINE INTO #TEMP75 + + FROM + C6MartPeriodico.vPatrimoniobfAggregato patrBF + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO + ON + RISCHIO.RETE = patrBF.RETE + AND RISCHIO.COD_FISCALE = patrBF.COD_FISCALE + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|BF' + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + + UNION ALL + + SELECT + A.Rete, + A.CodiceFiscale, + A.NomePatrimonio, + A.Controvalore, + A.ControvaloreCC, + A.VarPatrimonio, + A.Copertura, + A.ORDINE + FROM( + SELECT + @Rete AS Rete, + @CodiceFiscale as CodiceFiscale, + 'Patrimonio Altri Istituti' AS NomePatrimonio, + SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END,2)) AS Controvalore, + SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN patrTerzi.CTV ELSE 0 END,2)) AS ControvaloreCC, + MAX(RISCHIO.VAR_PERC_PTF) as VarPatrimonio, + MAX(RISCHIO.COPERTURA) as Copertura, + 2 AS ORDINE + FROM + C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO + ON + RISCHIO.RETE = patrTerzi.RETE + AND RISCHIO.COD_FISCALE = patrTerzi.COD_FISCALE + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|TERZI' + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.COD_FISCALE = @CodiceFiscale + ) A + WHERE ISNULL(A.CONTROVALORE,0)>0 + + -- SE IL PATRIMONIO SOLO 1 NON VA CALCOLATO IL COMPLESSIVO + IF @@ROWCOUNT > 1 + BEGIN + + --CALCOLO IL PATRIMONIO COMPLESSIVO ED ESTRAGGO IL VAR + SELECT + @ctvCompl=SUM(patr.CONTROVALORE), + @saldoCC=SUM(patr.CONTROVALORECC), + @varCompl=MAX(RISCHIO.VAR_PERC_PTF), + @coperturaCompl=MAX(RISCHIO.COPERTURA) + FROM + #TEMP75 patr + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO + ON + RISCHIO.RETE = patr.RETE + AND RISCHIO.COD_FISCALE = patr.CodiceFiscale + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO' + + --RESTITUISCO I PATRIMONI + SELECT + Ordine, + Nomepatrimonio, + Controvalore, + CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END AS CCPresente, + (CONTROVALORE/@CTVCompl)*100 AS Percentuale, + VARPATRIMONIO AS VAR, + Copertura, + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS varString, + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS coperturaString, + + -- aggiunta per valutare la presenza di controcorrente + CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto + -- fine aggiunta per valutare la presenza diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S75GradoCoperturaCompl.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S75GradoCoperturaCompl.sql new file mode 100644 index 00000000..7ab3c5e1 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S75GradoCoperturaCompl.sql @@ -0,0 +1,27 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S75GradoCoperturaCompl + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S75GradoCopertura] 'F','GRNNTN55B07I158D' +CREATE procedure [C6MartPeriodico].[PL_S75GradoCoperturaCompl] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +select copertura from c6martperiodico.RISCHIO_AGGREGATO where COD_FISCALE=@CodiceFiscale and rete=@rete and cod_aggreg='COMPLESSIVO' + + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S75GradoCoperturaInterno.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S75GradoCoperturaInterno.sql new file mode 100644 index 00000000..2774fe2c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S75GradoCoperturaInterno.sql @@ -0,0 +1,28 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S75GradoCoperturaInterno + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S75GradoCopertura] 'F','GRNNTN55B07I158D' +CREATE procedure [C6MartPeriodico].[PL_S75GradoCoperturaInterno] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +select copertura from c6martperiodico.RISCHIO_AGGREGATO where COD_FISCALE=@CodiceFiscale and rete=@rete and cod_aggreg='COMPLESSIVO|BF' + + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S75GradoCoperturaTerzi.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S75GradoCoperturaTerzi.sql new file mode 100644 index 00000000..7f0252df --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S75GradoCoperturaTerzi.sql @@ -0,0 +1,28 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S75GradoCoperturaTerzi + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S75GradoCopertura] 'F','GRNNTN55B07I158D' +CREATE procedure [C6MartPeriodico].[PL_S75GradoCoperturaTerzi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +select copertura from c6martperiodico.RISCHIO_AGGREGATO where COD_FISCALE=@CodiceFiscale and rete=@rete and cod_aggreg='COMPLESSIVO|TERZI' + + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S75GradoCopertura_check.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S75GradoCopertura_check.sql new file mode 100644 index 00000000..839b23f0 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S75GradoCopertura_check.sql @@ -0,0 +1,133 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S75GradoCopertura_check + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- exec [C6MartPeriodico].[PL_S75GradoCopertura_check] 'F','LBRRMN81R48L388B' +CREATE procedure [C6MartPeriodico].[PL_S75GradoCopertura_check] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + DECLARE @varCompl decimal(15,3) + DECLARE @coperturaCompl decimal(15,3) + DECLARE @ctvCompl decimal(15,3) + DECLARE @saldoCC decimal(15,3) + + --CALCOLO PATRIMONI E ESTRAZIONE VAR + SELECT + @Rete AS Rete, + @CodiceFiscale as CodiceFiscale, + CASE @Rete + WHEN 'F' THEN 'Patrimonio Fideuram' + ELSE 'Patrimonio San Paolo Invest' + END AS NomePatrimonio, +-- MAX(patrBF.CTV - patrBF.ContoCorrente) AS Controvalore, +-- MAX(patrBF.ContoCorrente) AS ControvaloreCC, +-- MAX(RISCHIO.VAR_PERC_PTF) AS VarPatrimonio, +-- MAX(RISCHIO.COPERTURA) AS Copertura, +---MODIFICA TRINGALI inserisco cc + patrBF.CTV AS Controvalore, + --patrBF.PatrimonioSenzaCC AS Controvalore, + --patrBF.CTV - patrBF.ContoCorrente AS Controvalore, + patrBF.ContoCorrente AS ControvaloreCC, + RISCHIO.VAR_PERC_PTF AS VarPatrimonio, + RISCHIO.COPERTURA AS Copertura, + 1 AS ORDINE + INTO #TEMP75 + + FROM + C6MartPeriodico.vPatrimoniobfAggregato patrBF + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO + ON + RISCHIO.RETE = patrBF.RETE + AND RISCHIO.COD_FISCALE = patrBF.COD_FISCALE + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|BF' + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + --and patrBF.CTV > 0 +-- UNION ALL +-- +-- SELECT +-- A.Rete, +-- A.CodiceFiscale, +-- A.NomePatrimonio, +-- A.Controvalore, +-- A.ControvaloreCC, +-- A.VarPatrimonio, +-- A.Copertura, +-- A.ORDINE +-- FROM( +-- SELECT +-- @Rete AS Rete, +-- @CodiceFiscale as CodiceFiscale, +-- 'Patrimonio Altri Istituti' AS NomePatrimonio, +-- SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END,2)) AS Controvalore, +-- SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN patrTerzi.CTV ELSE 0 END,2)) AS ControvaloreCC, +-- MAX(RISCHIO.VAR_PERC_PTF) as VarPatrimonio, +-- MAX(RISCHIO.COPERTURA) as Copertura, +-- 2 AS ORDINE +-- FROM +-- C6MartPeriodico.PATRIMONIO_TERZI patrTerzi +-- LEFT JOIN +-- C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO +-- ON +-- RISCHIO.RETE = patrTerzi.RETE +-- AND RISCHIO.COD_FISCALE = patrTerzi.COD_FISCALE +-- AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|TERZI' +-- WHERE +-- patrTerzi.Rete = @Rete +-- and patrTerzi.COD_FISCALE = @CodiceFiscale +-- ) A +-- WHERE ISNULL(A.CONTROVALORE,0)>0 +-- +-- -- SE IL PATRIMONIO SOLO 1 NON VA CALCOLATO IL COMPLESSIVO +-- IF @@ROWCOUNT > 1 +-- BEGIN +-- +-- --CALCOLO IL PATRIMONIO COMPLESSIVO ED ESTRAGGO IL VAR +-- SELECT +-- @ctvCompl=SUM(patr.CONTROVALORE), +-- @saldoCC=SUM(patr.CONTROVALORECC), +-- @varCompl=MAX(RISCHIO.VAR_PERC_PTF), +-- @coperturaCompl=MAX(RISCHIO.COPERTURA) +-- FROM +-- #TEMP75 patr +-- LEFT JOIN +-- C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO +-- ON +-- RISCHIO.RETE = patr.RETE +-- AND RISCHIO.COD_FISCALE = patr.CodiceFiscale +-- AND RISCHIO.COD_AGGREG = 'COMPLESSIVO' +-- +-- --RESTITUISCO I PATRIMONI +-- SELECT +-- Ordine, +-- Nomepatrimonio, +-- Controvalore, +-- CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END AS CCPresente, +-- (CONTROVALORE/@CTVCompl)*100 AS Percentuale, +-- VARPATRIMONIO AS VAR, +-- Copertura, +-- CASE +-- WHEN COPERTURA IS NULL THEN 'n.c.' +-- WHEN COPERTURA = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS varString, +-- CASE +-- WHEN COPERTURA IS NULL THEN 'n.c.' +-- WHEN COPERTURA = 0 THEN 'n.c diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..e7012725 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,132 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S76AlternativaPatrimonioNonRappresentabileAssettClass + + + + +--exec [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] 'F' ,'GSPNGL31C04B157Q' + +-- ============================================= +-- Author: Luca De Lisio +-- Create date: 04/12/2008 +-- Description: +-- ============================================= +-- +-- [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] 'F', 'BLNMTN60L53L736R' +-- +CREATE procedure [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] -- 'S','GLLLCN29H16I829A' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Fideuram' + ELSE IF @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + + SELECT + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario, + --patrbf.ordinamento_progetto + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL +--INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <>0.00 +--INIZIO INTERVENTI OMNIA +-- UNION ALL + +--ASUL NO SKANDIA +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, +-- CASE +-- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +-- ELSE area.ID_AREA end as NEEDAREA, +-- PATRBF.NOME_PROGETTO as Progetto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- sum(ASUL.CTV) as Controvalore, +-- sum(ASUL.CTV) as controvalore_contratto, +-- Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.AREA_BISOGNO AREA +-- ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- INNER JOIN +-- C6MartPeriodico.ANAG_PRODOTTI ANAGP +-- ON +-- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- ON +-- PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- +-- ------ NEW +-- LEFT OUTER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 + + + -------------OLD + ----LEFT OUTER JOIN + ---- C6MartPeriodico.ASSET_PERC ASSETPERC + ---- ON + ---- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- +-- +-- GROUP BY +-- PATRBF.ID diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S76PatrimonioNonRappresentabileAssettClass.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S76PatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..195ad882 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S76PatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,138 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S76PatrimonioNonRappresentabileAssettClass + + + + +-- ============================================= +-- Author: Luca De Lisio +-- Create date: 04/12/2008 +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S76PatrimonioNonRappresentabileAssettClass] 'F','GSPNGL31C04B157Q' +CREATE procedure [C6MartPeriodico].[PL_S76PatrimonioNonRappresentabileAssettClass] --'S','GLLLCN29H16I829A' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Fideuram' + ELSE IF @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + + + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + --INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <>0.00 +--INIZIO INTERVENTI OMNIA + +UNION ALL + +SELECT + PATRBF.ID_CONTRATTO as Contratto, + -- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, +-- CASE +-- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +-- ELSE area.ID_AREA end as NEEDAREA, +-- PATRBF.NOME_PROGETTO as Progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + sum(ASUL.CTV) as Controvalore, + sum(ASUL.CTV) as controvalore_contratto, + Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN + C6MartPeriodico.DETTAGLIO_ASUL ASUL + ON + PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + left JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + ASSETPERC.COD_PRODOTTO IS NULL + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + + GROUP BY + PATRBF.ID_CONTRATTO, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end, + PATRBF.NOME_PROGETTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE), + ANAGP.DESCR_PRODOTTO, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto + + + +--union all +--SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.T diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa.sql new file mode 100644 index 00000000..0dc6bae4 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa.sql @@ -0,0 +1,99 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S80Alternativa + + + +-- [C6MartPeriodico].[PL_S80Alternativa]'S','CRBRNN54R23H509R' + --[C6MartPeriodico].[PL_S80Alternativa] 'F','BRCLRT62R29I690L' +CREATE procedure [C6MartPeriodico].[PL_S80Alternativa] --'F','BNBLPL51M05F965Y' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + +IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) +BEGIN + +SELECT [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,replace([DettMovS80],'.',',') DettMov + ,[NumeroAsterischiNota] + -- MIOFOGLIO 2018106 + ,[CTVSelfFoglio] + -- fine MIOFOGLIO 20181206 + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] + WHERE [Rete] = @Rete + AND [Cod_Fiscale] = @CodiceFiscale + +END + +ELSE + +BEGIN + +SELECT [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + -- MIOFOGLIO 2018106 + ,[CTVSelfFoglio] + -- fine MIOFOGLIO 20181206 + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] + WHERE + 1=2 + +END + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_20181214_PreMioFoglio.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..55898e29 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_20181214_PreMioFoglio.sql @@ -0,0 +1,93 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S80Alternativa_20181214_PreMioFoglio + + + +-- [C6MartPeriodico].[PL_S80Alternativa]'S','CRBRNN54R23H509R' + +CREATE procedure [C6MartPeriodico].[PL_S80Alternativa_20181214_PreMioFoglio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + +IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) +BEGIN + +SELECT [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] + WHERE [Rete] = @Rete + AND [Cod_Fiscale] = @CodiceFiscale + +END + +ELSE + +BEGIN + +SELECT [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] + WHERE + 1=2 + +END + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_BkUpParall.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_BkUpParall.sql new file mode 100644 index 00000000..7ccfa99f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_BkUpParall.sql @@ -0,0 +1,133 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S80Alternativa_BkUpParall + +-- Stored procedure + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S80Alternativa]'F','GSTGPL59P03B586G' + + +CREATE procedure [C6MartPeriodico].[PL_S80Alternativa_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Recupero data congelamento SEI + + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + -- Inserimento Dati Scirocco + --SELECT @DettMovPrec = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM < '20111231' + SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + FROM C6MartPeriodico.DettaglioMovimenti + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale + --SELECT @DettMovCorr = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM = '20111231' + + IF @DettMovPrec is null + SET @AppoDettMovPrec = 'n.d.' + ELSE + SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + + IF @DettMovCorr is null + SET @AppoDettMovCorr = 'n.d.' + ELSE + SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + + --query per asterischi situazione precedente + IF EXISTS(SELECT * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICS] + WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + AND RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + + IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + ----------------------------------------- + + --query per asterischi situazione corrente + IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + WHERE COD_INTERNO IN ('37', 'GP') + AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + SET @NumAsterischiCorr = 1 + ----------------------------------------- + + SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + + SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + + + IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) + BEGIN + + -- Attivazione monitoraggio + +--versione nuova da testare + + + SELECT + 1 AS Fase, + isnull(INI.DATA_FOTO,0) AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + isnull(INI.CTV_EXT,0) as CTV_EXT, + isnull(INI.CTV_INV,0) as CTV_INV, + isnull(INI.CTV_PRE,0) as CTV_PRE, + isnull(INI.CTV_RIS,0) as CTV_RIS, + isnull(INI.CTV_LIQ,0) as CTV_LIQ, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) AS RisorseAllocate, + isnull(INI.CTV_NA,0) AS RisorseNon diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_DidascalieNote.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_DidascalieNote.sql new file mode 100644 index 00000000..ce975aca --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_DidascalieNote.sql @@ -0,0 +1,12 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S80Alternativa_DidascalieNote + + + +CREATE procedure [C6MartPeriodico].[PL_S80Alternativa_DidascalieNote] +as + +select * +from [C6MartPeriodico].[S80Alternativa_DidascalieNote] + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_OLD.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_OLD.sql new file mode 100644 index 00000000..3bb500ef --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_OLD.sql @@ -0,0 +1,148 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S80Alternativa_OLD + +-- Stored procedure + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80Alternativa]'S','LLAMGH27A43M058H' +--DROP PROCEDURE [C6MartPeriodico].[PL_S80BisEvoluzioneRischio] + +CREATE procedure [C6MartPeriodico].[PL_S80Alternativa_OLD] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Recupero data congelamento SEI + + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + -- Inserimento Dati Scirocco + --SELECT @DettMovPrec = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM < '20111231' + +/* SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + FROM C6MartPeriodico.DettaglioMovimenti + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale +*/ + SELECT @DettMovCorr = DETT_MOV + FROM C6MartPeriodico.DettaglioMovimenti_old + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale + AND + FLAG_TRIM = 1 + + SELECT @DettMovPrec = DETT_MOV + FROM C6MartPeriodico.DettaglioMovimenti_old + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale + AND + FLAG_TRIM = 0 + + --SELECT @DettMovCorr = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM = '20111231' + + IF @DettMovPrec is null + SET @AppoDettMovPrec = 'n.d.' + ELSE + SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + + IF @DettMovCorr is null + SET @AppoDettMovCorr = 'n.d.' + ELSE + SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + + --query per asterischi situazione precedente + IF EXISTS(SELECT * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICS] + WHERE CODPROD IN ('37', 'GP') AND DTTRIM = '20111231' + AND RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + + IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + ----------------------------------------- + + --query per asterischi situazione corrente + IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + WHERE COD_INTERNO IN ('37', 'GP') + AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + SET @NumAsterischiCorr = 1 + ----------------------------------------- + + SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + + SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + + + IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) + BEGIN + + -- Attivazione monitoraggio + +--versione nuova da testare + + + SELECT + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + INI.CTV_EXT, + INI.CTV diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_bkp_FC.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_bkp_FC.sql new file mode 100644 index 00000000..670ecbe6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_bkp_FC.sql @@ -0,0 +1,133 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S80Alternativa_bkp_FC + +-- Stored procedure + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S80Alternativa_bkp_FC]'F','CRRLSN52T45I274L' + + +CREATE procedure [C6MartPeriodico].[PL_S80Alternativa_bkp_FC] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Recupero data congelamento SEI + + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + -- Inserimento Dati Scirocco + --SELECT @DettMovPrec = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM < '20111231' + SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + FROM C6MartPeriodico.DettaglioMovimenti + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale + --SELECT @DettMovCorr = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM = '20111231' + + IF @DettMovPrec is null + SET @AppoDettMovPrec = 'n.d.' + ELSE + SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + + IF @DettMovCorr is null + SET @AppoDettMovCorr = 'n.d.' + ELSE + SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + + --query per asterischi situazione precedente + IF EXISTS(SELECT * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICS] + WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + AND RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + + IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + ----------------------------------------- + + --query per asterischi situazione corrente + IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + WHERE COD_INTERNO IN ('37', 'GP') + AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + SET @NumAsterischiCorr = 1 + ----------------------------------------- + + SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + + SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + + + IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) + BEGIN + + -- Attivazione monitoraggio + +--versione nuova da testare + + + SELECT + 1 AS Fase, + isnull(INI.DATA_FOTO,0) AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + isnull(INI.CTV_EXT,0) as CTV_EXT, + isnull(INI.CTV_INV,0) as CTV_INV, + isnull(INI.CTV_PRE,0) as CTV_PRE, + isnull(INI.CTV_RIS,0) as CTV_RIS, + isnull(INI.CTV_LIQ,0) as CTV_LIQ, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) AS RisorseAllocate, + isnull(INI.CTV_NA,0) AS Risorse diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_perc.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_perc.sql new file mode 100644 index 00000000..8210648e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S80Alternativa_perc.sql @@ -0,0 +1,108 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S80Alternativa_perc + + +-- [C6MartPeriodico].[PL_S80Alternativa]'S','CRBRNN54R23H509R' + +Create procedure [C6MartPeriodico].[PL_S80Alternativa_perc] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + +IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) +BEGIN + +SELECT [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[PERC_EXT] + ,[PERC_INV] + ,[PERC_PRE] + ,[PERC_RIS] + ,[PERC_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + -- MIOFOGLIO 2018106 + ,[CTVSelfFoglio] + -- fine MIOFOGLIO 20181206 + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio_perc] + WHERE [Rete] = @Rete + AND [Cod_Fiscale] = @CodiceFiscale + +END + +ELSE + +BEGIN + +SELECT [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[PERC_EXT] + ,[PERC_INV] + ,[PERC_PRE] + ,[PERC_RIS] + ,[PERC_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + -- MIOFOGLIO 2018106 + ,[CTVSelfFoglio] + -- fine MIOFOGLIO 20181206 + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio_perc] + WHERE + 1=2 + +END + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S80BisEvoluzioneRischio.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S80BisEvoluzioneRischio.sql new file mode 100644 index 00000000..0615136e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S80BisEvoluzioneRischio.sql @@ -0,0 +1,29 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S80BisEvoluzioneRischio + + + +CREATE procedure [C6MartPeriodico].[PL_S80BisEvoluzioneRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT + Fase + ,DataFase + ,VarMassimoProfiloFinanziario + ,VarComplessivo + ,Copertura + ,RISKCLASS + ,RISKCLASSMAX + ,RiskClassString + ,RiskClassMaxString + FROM [C6MartPeriodico].[TB_S80BisEvoluzioneRischio] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S80BisEvoluzioneRischio_20170413_RM_DBname.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S80BisEvoluzioneRischio_20170413_RM_DBname.sql new file mode 100644 index 00000000..b600d27d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S80BisEvoluzioneRischio_20170413_RM_DBname.sql @@ -0,0 +1,29 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S80BisEvoluzioneRischio_20170413_RM_DBname + + + +CREATE procedure [C6MartPeriodico].[PL_S80BisEvoluzioneRischio_20170413_RM_DBname] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT + Fase + ,DataFase + ,VarMassimoProfiloFinanziario + ,VarComplessivo + ,Copertura + ,RISKCLASS + ,RISKCLASSMAX + ,RiskClassString + ,RiskClassMaxString + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S80BisEvoluzioneRischio] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S80BisEvoluzioneRischio_BkUpParall.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S80BisEvoluzioneRischio_BkUpParall.sql new file mode 100644 index 00000000..711a71ef --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S80BisEvoluzioneRischio_BkUpParall.sql @@ -0,0 +1,166 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S80BisEvoluzioneRischio_BkUpParall + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80BisEvoluzioneRischio]'F','02392500605S' +--DROP PROCEDURE [C6MartPeriodico].[PL_S80EvoluzioneControvalore] + +CREATE procedure [C6MartPeriodico].[PL_S80BisEvoluzioneRischio_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Recupero data congelamento SEI + DECLARE @MONIT_INIT INT + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + --V VAriabile usata per verificare la presenza di righe nella rischio_aggregato, se non ho righe non + --faccio uscire la sezione + DECLARE @AGGR INT + + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + + + + declare @contaCC as int + + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + + + declare @contaPOS as int + + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + + + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + SELECT @AGGR=COUNT(*) + FROM + C6MARTPERIODICO.RISCHIO_AGGREGATO + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + + IF (@MONIT_ATTIV > 0 AND @AGGR > 0 AND @MONIT_INIT > 0) + + + BEGIN + + + + + -- Attivazione monitoraggio + +-- nuova versione da testare + + SELECT + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO + ELSE ROUND(INI.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + INI.VAR_COPERTURA AS Copertura, + INI.RISKCLASS, + INI.RISKCLASSMAX, + case + when INI.RISKCLASS is null then 'n.d.' + when INI.RISKCLASS = 0 then 'n.a.' + else null + end as RiskClassString, + + case + when INI.RISKCLASSMAX is null then 'n.d.' + when INI.RISKCLASSMAX = 0 then 'n.a.' + else null + end as RiskClassMaxString + + + + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + LEFT OUTER join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.RETE = @Rete AND + INI.COD_FISCALE = @CodiceFiscale + +-- SELECT +-- 1 AS Fase, +-- INI.DATA_FOTO AS DataFase, +-- INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, +-- --V +-- CASE +-- WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO +-- ELSE ROUND(INI.VAR_COMPLESSIVO,2) +-- END AS VarComplessivo, +-- INI.VAR_COPERTURA AS Copertura +-- FROM +-- C6MartPeriodico.MONITORAGGIO_INIZIALE INI +-- +-- WHERE +-- INI.RETE = @Rete AND +-- INI.COD_FISCALE = @CodiceFiscale + + + UNION ALL + + -- Precedente invio report + + SELECT + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN rep.VAR_COMPLESSIVO IS NULL THEN rep.VAR_COMPLESSIVO + ELSE ROUND(rep.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + rep.VAR_COPERTURA AS Copertura, + rep.RISKCLASS, + rep.RISKCLASSMAX, + case when rep.RISKCLASS is null then 'n.a.' + else null + end as RiskClassString, + case when rep.RISKCLASSMAX is null then 'n.a.' + else null + end as RiskClassMaxString + + FROM diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S80EvoluzioneControvalore.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S80EvoluzioneControvalore.sql new file mode 100644 index 00000000..985f2f11 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S80EvoluzioneControvalore.sql @@ -0,0 +1,160 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S80EvoluzioneControvalore + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80EvoluzioneControvalore]'F','GSTGPL59P03B586G' +--DROP PROCEDURE [C6MartPeriodico].[PL_S80BisEvoluzioneRischio] + +CREATE procedure [C6MartPeriodico].[PL_S80EvoluzioneControvalore] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Recupero data congelamento SEI + + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + + + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + IF @MONIT_ATTIV > 0 + + + BEGIN + + + + + + -- Attivazione monitoraggio + +--versione nuova da testare + SELECT + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.CTV_NA AS RisorseNonAllocate, + INI.CTV_CC AS Contocorrente, +--INIZIO INTERVENTI OMNIA + INI.CTVSELF AS Ctvself, +--FINE INTERVENTI OMNIA + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + INI.CTV_TOTALE AS ControvaloreComplessivo + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.RETE = @Rete +AND + INI.COD_FISCALE = @CodiceFiscale + +-- SELECT +-- 1 AS Fase, +-- INI.DATA_FOTO AS DataFase, +-- INI.CTV_NA AS RisorseNonAllocate, +-- INI.CTV_CC AS Contocorrente, +-- ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, +-- INI.CTV_TOTALE AS ControvaloreComplessivo +-- FROM +-- C6MartPeriodico.MONITORAGGIO_INIZIALE INI +-- WHERE +-- INI.RETE = @Rete AND +-- INI.COD_FISCALE = @CodiceFiscale + + UNION ALL + + -- Precedente invio report + + SELECT + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_CC AS Contocorrente, +--INIZIO INTERVENTI OMNIA + rep.CTV_SELF AS Ctvself, +--FINE INTERVENTI OMNIA + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + --CTV_TOTALE + CTV_CC + CTV_NA + ISNULL(PARTITA_VIAGGIANTE,0) AS ControvaloreComplessivo --V aggiunto il cc e na per coerenza con le altre fasi + rep.CTV_TOTALE + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS ControvaloreComplessivo --V tolto il cc e na in quanto gia conteggiati + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + rep.RETE = @Rete AND + rep.COD_FISCALE = @CodiceFiscale + AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + + UNION ALL + + -- Situazione corrente + + SELECT + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + PatrimonioNonAssociato AS RisorseNonAllocate, + ContoCorrente, +--INIZIO INTERVENTI OMNIA + CTVSelf AS Ctvself, +--FINE INTERVENTI OMNIA + PartiteViaggiantiDisinv AS Partita_viaggiante, + CTV AS ControvaloreComplessivo + FROM + C6MartPeriodico.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + +END + +ELSE + +BEGIN + + SELECT + 1 AS Fase, + DATA_FOTO AS DataFase, + CTV_NA AS RisorseNonAllocate, + CTV_CC AS Contocorrente, + ISNULL(PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + CTV_TOTALE AS ControvaloreComplessivo + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE + WHERE + 1=2 + + +END diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S82BisDatiSintetici.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S82BisDatiSintetici.sql new file mode 100644 index 00000000..f63ca690 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S82BisDatiSintetici.sql @@ -0,0 +1,107 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S82BisDatiSintetici + + + +-- Stored procedure + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: vista ORACLE S82BIS_DATI_SINTET_RIS_E_INV tradotta su SQLSERVER. +-- Punto di partenza per lo sviluppo futuro. +-- ============================================= +-- [C6MartPeriodico].[PL_S82BisDatiSintetici] 'F','DNGMRA56E66D542Z' +CREATE procedure [C6MartPeriodico].[PL_S82BisDatiSintetici] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + /*DECLARE @TOTRischio DECIMAL(20,2) + + SELECT + @TOTRischio = SUM(ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV) + FROM + C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA INNER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAREA ON + PATRAREA.RETE = RISCHIOAREA.RETE AND + PATRAREA.COD_FISCALE = RISCHIOAREA.COD_FISCALE + WHERE + PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE','INV') AND + PATRAREA.RETE = @Rete AND + PATRAREA.COD_FISCALE = @CodiceFiscale*/ + + SELECT DISTINCT + BF.ORDINAMENTO_PROGETTO, + 'Inv' AS need_area, + ltrim(rtrim(ISNULL(PIRMOD.NOME_PROGETTO,BF.NOME_PROGETTO))) AS NOME_PROGETTO, + ISNULL(RA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RA.COPERTURA IS NULL THEN 'n.c.' + WHEN RA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + + ISNULL(RA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RA.COPERTURA IS NULL THEN 'n.c.' + WHEN RA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PIRMOD.ORIZZ_TEMP AS orizzonte_Pianificato, + --C6MartPeriodico.getDescFromDate(DATEDIFF(m,(DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM,PIRMOD.DATA_PIANIF)) ,GETDATE()) + 1) AS durataResidua, + --DATEDIFF(m,DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM, PIRMOD.DATA_PIANIF) ,GETDATE()) + 1 AS durataResidua, + C6MartPeriodico.getDescFromDate(DATEDIFF(m,C6MartPeriodico.getTrimestre(GETDATE(),0),(DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM,PIRMOD.DATA_PIANIF)) )) AS durataResidua, + + /*V Calcolato a livello di codice + CASE + WHEN BFAggr.CTV = 0 THEN 0 + ELSE SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO) / BFAggr.CTV * 100 + END AS pesoPerc,*/ + SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO, bf.ordinamento_progetto) AS ControvaloreAttuale + /*V Calcolato a livello di codice + CASE + WHEN @TOTRischio = 0 THEN 0 + ELSE ISNULL(RA.VAR_PERC_PTF,0) * SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO) / @TOTRischio * 100 + END AS rischioRelativo*/ + FROM + C6MartPeriodico.PATRIMONIO_BF AS BF + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON BF.RETE = RA.RETE + AND BF.COD_FISCALE = RA.COD_FISCALE + --V AND RA.COD_AGGREG = 'PIRAMIDE|Inv' + AND RA.COD_AGGREG = 'RISFIN|PIRAMIDE|Inv|'+ BF.NOME_PROGETTO + '|' + cast(bf.ordinamento_progetto as varchar) + -- + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD + ON BF.RETE = PIRMOD.RETE + AND BF.COD_FISCALE = PIRMOD.COD_FISCALE + --AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + AND BF.ORDINAMENTO_PROGETTO = PIRMOD.ORDINAMENTO_PROGETTO + AND PIRMOD.ID_AREA = 'Inv' + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS BFAggr + ON BF.RETE = BFAggr.RETE + AND BF.COD_FISCALE = BFAggr.COD_FISCALE + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE AS MONIT + ON BF.RETE = MONIT.RETE + AND BF.COD_FISCALE = MONIT.COD_FISCALE + AND BF.ID_AREA = MONIT.ID_AREA + AND BF.NOME_PROGETTO = MONIT.NOME_PROGETTO + AND BF.ORDINAMENTO_PROGETTO = MONIT.ORDINAMENTO_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'Inv' + AND BF.RETE = @Rete + AND BF.COD_FISCALE = @CodiceFiscale + --AND BF.ORDINAMENTO_PROGETTO=1521667 +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S82DatiSintetici.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S82DatiSintetici.sql new file mode 100644 index 00000000..31ceab56 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S82DatiSintetici.sql @@ -0,0 +1,83 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S82DatiSintetici + + +-- Stored procedure + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_S82DatiSintetici] 'S','MRCGST50D02H223T' +CREATE procedure [C6MartPeriodico].[PL_S82DatiSintetici] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + /*DECLARE @TOTRischio DECIMAL(20,2) + + SELECT + @TOTRischio = SUM(ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV) + FROM + C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA INNER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAREA ON + PATRAREA.RETE = RISCHIOAREA.RETE AND + PATRAREA.COD_FISCALE = RISCHIOAREA.COD_FISCALE + WHERE + PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE','INV') AND + PATRAREA.RETE = @Rete AND + PATRAREA.COD_FISCALE = @CodiceFiscale*/ + + SELECT + PATRAREA.ID_AREA AS need_area, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PATRAREA.ORDINAMENTO_PROGETTO, + /*V Calcolato a livello di codice + CASE + WHEN PATRAGGR.CTV = 0 THEN 0 + ELSE PATRAREA.CTV / PATRAGGR.CTV * 100 + END AS pesoPerc,*/ + PATRAREA.CTV AS ControvaloreAttuale + /* Calcolato a livello di codice + CASE + WHEN @TOTRischio = 0 THEN 0 + ELSE ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV / @TOTRischio * 100 + END AS rischioRelativo*/ + FROM C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS PATRAGGR + ON PATRAGGR.RETE = PATRAREA.Rete + AND PATRAGGR.COD_FISCALE = PATRAREA.COD_FISCALE + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON RISCHIOAREA.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRAREA.ID_AREA,3) + AND RISCHIOAREA.RETE = PATRAREA.Rete + AND RISCHIOAREA.COD_FISCALE = PATRAREA.COD_FISCALE + WHERE 1=1 + AND PATRAREA.RETE = @Rete + AND PATRAREA.COD_FISCALE = @CodiceFiscale + AND PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE') + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S83DatiRendimento.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S83DatiRendimento.sql new file mode 100644 index 00000000..98f08ab7 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S83DatiRendimento.sql @@ -0,0 +1,122 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S83DatiRendimento + + + + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_S83DatiRendimento] 'F','DNERNZ56P01A757W' +CREATE procedure [C6MartPeriodico].[PL_S83DatiRendimento] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +-- DECLARE @RendimNonRappr BIT + +-- IF EXISTS ( +-- SELECT +-- PATR_BF.ID_AREA AS Need_Area, +-- PATR_BF.ID_CONTRATTO AS Contratto, +-- CASE +-- WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA +-- ELSE PATR_BF.NOME_PROGETTO +-- END AS Area_O_Nome_Progetto, +-- PRODOTTI.DESCR_PRODOTTO AS Descrizione, +-- PATR_BF.PARTVIA_INV AS PartitaViaggiante, +-- SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.COD_PRODOTTO) AS Controvalore, +-- dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF AS PATR_BF +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- PATR_BF.ID_AREA = AREA.ID_AREA +-- INNER JOIN C6MartPeriodico.ANAG_PRODOTTI AS PRODOTTI ON +-- PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO +-- WHERE +-- PATR_BF.RETE = @Rete +-- AND PATR_BF.COD_FISCALE = @CodiceFiscale +-- AND PATR_BF.REND_NON_RAPPR = 1 +-- ) +-- SET @RendimNonRappr = 1 +-- +-- ELSE +-- SET @RendimNonRappr = 0 +-- +-- SELECT +-- @RendimNonRappr AS cf_rendim_non_rappr, +-- ID_AREA AS Need_Area, +-- CASE +-- WHEN NOME_PROGETTO = 'XXX' THEN '' +-- ELSE NOME_PROGETTO +-- END AS Nome_Progetto, +-- dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, +-- CTV_MONITORATO AS ControvaloreMonitorato, +-- APPORTO_INIZIALE AS ApportoIniziale, +-- APPORTO_SUCCESSIVO AS ApportoSuccessivo, +-- LIQUIDAZIONI, +-- CEDOLE_DIVIDENDI AS CedoleEDividendi, +-- MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, +-- RENDIMENTO_CUMULATO AS Rendimento_Attuale, +-- RISORSE_ASSOCIATE AS RisorseApportate, +-- dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, +-- RENDIMENTO_ANNUALIZZATO +-- FROM +-- C6MartPeriodico.MONITORAGGIO_ATTUALE +-- WHERE +-- RETE = @Rete AND +-- COD_FISCALE = @CodiceFiscale +-- --AND RISORSE_ASSOCIATE > 0 + +SELECT + case when RENDIMNONRAPPR=1 then 1 else 0 end AS cf_rendim_non_rappr, + MONIT.id_Area AS Need_Area, + CASE + WHEN MONIT.NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(MONIT.NOME_PROGETTO)) + END AS Nome_Progetto, + monit.ordinamento_progetto, + dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, + CTV_MONITORATO AS ControvaloreMonitorato, + APPORTO_INIZIALE AS ApportoIniziale, + APPORTO_SUCCESSIVO AS ApportoSuccessivo, + LIQUIDAZIONI, + CEDOLE_DIVIDENDI AS CedoleEDividendi, + MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, + RENDIMENTO_CUMULATO AS Rendimento_Attuale, + RISORSE_ASSOCIATE AS RisorseApportate, + dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, + RENDIMENTO_ANNUALIZZATO + FROM + C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT + LEFT OUTER JOIN + ( + SELECT + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end as NOME_PROGETTO, + patr_bf.ordinamento_progetto, + 1 as RENDIMNONRAPPR + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + LEFT OUTER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + WHERE + PATR_BF.RETE = @Rete + AND PATR_BF.COD_FISCALE = @CodiceFiscale + AND PATR_BF.REND_NON_RAPPR = 1 + group by + PATR diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S83DatiRendimento_85.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S83DatiRendimento_85.sql new file mode 100644 index 00000000..95e4f3e8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S83DatiRendimento_85.sql @@ -0,0 +1,121 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S83DatiRendimento_85 + + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_S83DatiRendimento] 'F','DNERNZ56P01A757W' +CREATE procedure [C6MartPeriodico].[PL_S83DatiRendimento_85] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +-- DECLARE @RendimNonRappr BIT + +-- IF EXISTS ( +-- SELECT +-- PATR_BF.ID_AREA AS Need_Area, +-- PATR_BF.ID_CONTRATTO AS Contratto, +-- CASE +-- WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA +-- ELSE PATR_BF.NOME_PROGETTO +-- END AS Area_O_Nome_Progetto, +-- PRODOTTI.DESCR_PRODOTTO AS Descrizione, +-- PATR_BF.PARTVIA_INV AS PartitaViaggiante, +-- SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.COD_PRODOTTO) AS Controvalore, +-- dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF AS PATR_BF +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- PATR_BF.ID_AREA = AREA.ID_AREA +-- INNER JOIN C6MartPeriodico.ANAG_PRODOTTI AS PRODOTTI ON +-- PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO +-- WHERE +-- PATR_BF.RETE = @Rete +-- AND PATR_BF.COD_FISCALE = @CodiceFiscale +-- AND PATR_BF.REND_NON_RAPPR = 1 +-- ) +-- SET @RendimNonRappr = 1 +-- +-- ELSE +-- SET @RendimNonRappr = 0 +-- +-- SELECT +-- @RendimNonRappr AS cf_rendim_non_rappr, +-- ID_AREA AS Need_Area, +-- CASE +-- WHEN NOME_PROGETTO = 'XXX' THEN '' +-- ELSE NOME_PROGETTO +-- END AS Nome_Progetto, +-- dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, +-- CTV_MONITORATO AS ControvaloreMonitorato, +-- APPORTO_INIZIALE AS ApportoIniziale, +-- APPORTO_SUCCESSIVO AS ApportoSuccessivo, +-- LIQUIDAZIONI, +-- CEDOLE_DIVIDENDI AS CedoleEDividendi, +-- MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, +-- RENDIMENTO_CUMULATO AS Rendimento_Attuale, +-- RISORSE_ASSOCIATE AS RisorseApportate, +-- dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, +-- RENDIMENTO_ANNUALIZZATO +-- FROM +-- C6MartPeriodico.MONITORAGGIO_ATTUALE +-- WHERE +-- RETE = @Rete AND +-- COD_FISCALE = @CodiceFiscale +-- --AND RISORSE_ASSOCIATE > 0 + +SELECT + case when RENDIMNONRAPPR=1 then 1 else 0 end AS cf_rendim_non_rappr, + MONIT.id_Area AS Need_Area, + CASE + WHEN MONIT.NOME_PROGETTO = 'XXX' THEN '' + ELSE MONIT.NOME_PROGETTO + END AS Nome_Progetto, + dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, + CTV_MONITORATO AS ControvaloreMonitorato, + APPORTO_INIZIALE AS ApportoIniziale, + APPORTO_SUCCESSIVO AS ApportoSuccessivo, + LIQUIDAZIONI, + CEDOLE_DIVIDENDI AS CedoleEDividendi, + MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, + RENDIMENTO_CUMULATO AS Rendimento_Attuale, + RISORSE_ASSOCIATE AS RisorseApportate, + dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, + RENDIMENTO_ANNUALIZZATO + FROM + C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT + LEFT OUTER JOIN + ( + SELECT + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end as NOME_PROGETTO, + 1 as RENDIMNONRAPPR + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + LEFT OUTER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + WHERE + PATR_BF.RETE = @Rete + AND PATR_BF.COD_FISCALE = @CodiceFiscale + AND PATR_BF.REND_NON_RAPPR = 1 + group by + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CAS diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S84ControvaloreRisorseApportate.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S84ControvaloreRisorseApportate.sql new file mode 100644 index 00000000..d0ec80f7 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S84ControvaloreRisorseApportate.sql @@ -0,0 +1,58 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S84ControvaloreRisorseApportate + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_S84ControvaloreRisorseApportate] 'F','BDTMSS49A43F502I' +CREATE procedure [C6MartPeriodico].[PL_S84ControvaloreRisorseApportate] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + SELECT + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + + UNION + + SELECT + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S85RendimentoPortafoglioCono.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S85RendimentoPortafoglioCono.sql new file mode 100644 index 00000000..91e453df --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S85RendimentoPortafoglioCono.sql @@ -0,0 +1,106 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S85RendimentoPortafoglioCono + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S85RendimentoPortafoglioCono] 'F','CNTGCR68T31D458G' +CREATE procedure [C6MartPeriodico].[PL_S85RendimentoPortafoglioCono] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + + + +SELECT [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,isnull([NOME_PROGETTO],'XXX') as NOME_PROGETTO + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB] +into #pir_mod_xxx + FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] + WHERE cod_fiscale = @CodiceFiscale AND rete = @rete + +--select * from #pir_mod_xxx where cod_fiscale = 'FF@7181' + + SELECT + CONO.ID_AREA AS NEED_AREA, + CASE + WHEN CONO.NOME_PROGETTO = 'XXX' THEN '' + ELSE CONO.NOME_PROGETTO + END AS NOME_PROGETTO, + cono.ordinamento_progetto, + CONO.DATA_CONO, + CONO.SCENARIO_OTTIMISTICO AS OTTIMISTICO, + CONO.SCENARIO_PESSIMISTICO AS PESSIMISTICO, + isnull(PIRMOD.ORIZZ_TEMP_NUM,0) * 12 AS ORIZZONTE_MESI, + MONIT.RENDIMENTO_CUMULATO AS RENDIMENTO, + MONIT.DATA_CTV AS DATA_MONIT + + -- into #test --aggiunta 20221219 + FROM + C6MartPeriodico.CONO_PIANIFICAZIONE AS CONO + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE AS MONIT + ON CONO.RETE = MONIT.RETE + AND CONO.COD_FISCALE = MONIT.COD_FISCALE + AND CONO.ID_AREA = MONIT.ID_AREA + AND CONO.NOME_PROGETTO = MONIT.NOME_PROGETTO + And cono.ordinamento_progetto=monit.ordinamento_progetto --l'ordinamento progetto sempre pari alla chiaveprogetto e non idmonitoraggio + + INNER JOIN #pir_mod_xxx as PIRMOD + ON CONO.RETE = PIRMOD.RETE + AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE + AND CONO.ID_AREA = PIRMOD.ID_AREA + AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + And cono.ordinamento_progetto=pirmod.ordinamento_progetto + +-- INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD +-- ON CONO.RETE = PIRMOD.RETE +-- AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE +-- AND CONO.ID_AREA = PIRMOD.ID_AREA +-- AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + WHERE + CONO.RETE = @Rete AND + CONO.COD_FISCALE = @CodiceFiscale + --and DATA_CTV is not null + ORDER BY CONO.DATA_CONO + + --aggiunta 20221219 + --select * + --from #test + --where DATA_MONIT is not null and RENDIMENTO<>'0.00' + + drop table #pir_mod_xxx +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S86PatrimonioFinanziarioMAssetClass.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S86PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..7c867da4 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S86PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,111 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S86PatrimonioFinanziarioMAssetClass + + +--select * +--from c6martperiodico.patrimonio_bf +--where cod_fiscale = 'GNGFRZ63H17D810C' +--and id_area = 'Liq' +-- +--begin tran commit +--update +--c6martperiodico.patrimonio_bf +--set ordinamento_progetto = 527950 +--where cod_fiscale = 'GNGFRZ63H17D810C' +--and id_area = 'Liq' +--and ordinamento_progetto is null + + +-- Stored procedure + +-- ============================================= +-- Author: Paolo Giovanetti -- Alessandro Tringali +-- Create date: 15 gennaio 2009 -- 19/09/2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_S86PatrimonioFinanziarioMAssetClass] 'S','GNGFRZ63H17D810C' +CREATE procedure [C6MartPeriodico].[PL_S86PatrimonioFinanziarioMAssetClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +SELECT + VALORIASSET.ID_AREA AS Need_Area, + VALORIASSET.NOME_PROGETTO, + VALORIASSET.ord_progetto, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + --ROUND(VALORIASSET.CONTROVALORE, 2) AS Controvalore, + CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, + ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_AREA, VALORIASSET.NOME_PROGETTO) * 100, 2) AS Percentuale + FROM ( + + SELECT + VAL.RETE, + VAL.COD_FISCALE, + VAL.ID_AREA, + VAL.NOME_PROGETTO, + val.ord_progetto, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + CASE + WHEN PATR_BF.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE PATR_BF.ID_AREA + END AS ID_AREA, + ltrim(rtrim(PATR_BF.NOME_PROGETTO)) NOME_PROGETTO , + patr_bf.ordinamento_progetto ord_progetto, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE + PATR_BF.ID_AREA NOT IN ('Cc', 'Na','Pre1','Pre2','Pre') + AND ASSETPERC.LIVELLO = 1 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + AND PATR_BF.COD_FISCALE=@CodiceFiscale + AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + CASE + WHEN PATR_BF.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE PATR_BF.ID_AREA + END AS ID_AREA, + PATR_BF.NOME_PROGETTO, + patr_bf.ordinamento_progetto ord_progetto, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + AND PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + CASE + WHEN ASUL.ID_AREA IN ('Pre1', 'Pre2 diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql new file mode 100644 index 00000000..a3aa8840 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql @@ -0,0 +1,96 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento + + + + +-- Stored procedure + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 18 febbraio 2009 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento] 'F','BLNMTN60L53L736R' +CREATE procedure [C6MartPeriodico].[PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento] --'F','BLDRLF57A17F632H' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + SELECT distinct + PATR_BF.ID_AREA AS Need_Area, + PATR_BF.ID_CONTRATTO AS Contratto, + CASE + WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA + ELSE ltrim(rtrim(PATR_BF.NOME_PROGETTO)) + END AS Area_O_Nome_Progetto, + --PRODOTTI.DESCR_PRODOTTO AS Descrizione, + CASE WHEN PATR_BF.TIPO_PRODOTTO <> 'CC' THEN PRODOTTI.DESCR_PRODOTTO + ELSE PRODOTTI.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + + PATR_BF.PARTVIA_DISINV AS PartitaViaggiante, + SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.POSITION_ID) AS Controvalore, + dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + + -- savingmap - Novembre 2019 + PATR_BF.tipo_prodotto as Tipo_Prodotto , + apc.is_APC as isAPC + + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI AS PRODOTTI ON + PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO + + --V La sezione deve uscire soltanto per aree monitorate + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE M ON + PATR_BF.RETE = M.RETE AND PATR_BF.COD_FISCALE = M.COD_FISCALE + AND( + (PATR_BF.ID_AREA = M.ID_AREA AND PATR_BF.ID_AREA <> 'INV') + OR + (PATR_BF.ID_AREA = 'INV' AND PATR_BF.ID_AREA = M.ID_AREA AND PATR_BF.ORDINAMENTO_PROGETTO = M.ORDINAMENTO_PROGETTO) + ) + + LEFT OUTER JOIN C6MartPeriodico.ANAG_CC ON + ANAG_CC.COD_FISCALE = PATR_BF.COD_FISCALE + AND ANAG_CC.RETE = PATR_BF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATR_BF.position_id,72,9) + left join C6MartPeriodico.WSEICC apc +on + apc.RETE=PATR_BF.RETE + and apc.cod_fiscale=patr_bf.cod_fiscale + and PATR_BF.ID_CONTRATTO = --apc.CODCONFPR + (case when PATR_BF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) + WHERE + PATR_BF.RETE = @Rete + AND PATR_BF.COD_FISCALE = @CodiceFiscale + AND PATR_BF.REND_NON_RAPPR = 1 + ORDER BY + Area_O_Nome_Progetto + -- select [Need_Area] + -- ,[Contratto] + -- ,[Area_O_Nome_Progetto] + -- ,[Descrizione] + -- ,[PartitaViaggiante] + -- ,[Controvalore] + -- ,[DataSottoscrizione] + -- ,[Tipo_Prodotto] + --from [C6StampeCentralizzate].[dbo].[pezzotto_2022] + --WHERE + -- RETE = @Rete + -- AND COD_FISCALE = @CodiceFiscale + -- --AND REND_NON_RAPPR = 1 + --ORDER BY + -- Area_O_Nome_Progetto + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S94Rischio.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S94Rischio.sql new file mode 100644 index 00000000..9cc83510 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S94Rischio.sql @@ -0,0 +1,60 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S94Rischio + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S94Rischio] 'F','GRZDSG43E11D193N' +CREATE procedure [C6MartPeriodico].[PL_S94Rischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + + SELECT + @varBF = VAR_PERC_PTF, + @coperturaBF = COPERTURA + FROM + C6MartPeriodico.RISCHIO_AGGREGATO + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale AND + COD_AGGREG = 'COMPLESSIVO|BF' + + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = CR.DESCRIZIONE + FROM + C6MartPeriodico.MIFID AS M + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + + SELECT + @codiceProfilo as codiceProfilo, + @dataProfilo as dataProfilo, + @varProfilo as varProfilo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S95ProfiloDiRischio.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S95ProfiloDiRischio.sql new file mode 100644 index 00000000..d5efe3a5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S95ProfiloDiRischio.sql @@ -0,0 +1,106 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S95ProfiloDiRischio + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S95ProfiloDiRischio]'F', 'VNCLNI44T60G388L' +CREATE procedure [C6MartPeriodico].[PL_S95ProfiloDiRischio] --'F','BRDCNZ69P44E783R' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenza DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + declare @descrizioneProfilo varchar(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @riskclassDescr VARCHAR(250) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza varchar(20) + + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenza = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + else '-' + end + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + + + -- RICERCA DATA FINE VALIDITA' + declare @dtfinval decimal(9,0) + + declare @codman varchar(6) + set @codman = '' + + if upper(left(@CodiceFiscale,3)) = 'FF@' + begin + set @codman = substring(@CodiceFiscale,4,len(@CodiceFiscale)-3) + select @dtfinval = dtfinval from C6StagingPeriodico.WSEIAN2 + where codman = @codman and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice mandato' + end + else + begin + select @dtfinval = dtfinval from C6StagingPeriodico.WSEIAN2 + where codfis = @CodiceFiscale and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice fiscale' + end + -- + + if @dtfinval <> 0 and @dtfinval is not null and ltrim(rtrim(@dtfinval)) <> '' + set @dataScadenza = CONVERT(datetime, CONVERT(varchar,CONVERT(int,@dtfinval)), 0) + else + set @dataScadenza = null + + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (@dataScadenza) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as DescrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as descrizioneEsperienza + + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S95ProfiloDiRischio_20190204_PreMIFID2.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S95ProfiloDiRischio_20190204_PreMIFID2.sql new file mode 100644 index 00000000..e9ed346e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S95ProfiloDiRischio_20190204_PreMIFID2.sql @@ -0,0 +1,61 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S95ProfiloDiRischio_20190204_PreMIFID2 + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S95ProfiloDiRischio]F,00247580970 +CREATE procedure [C6MartPeriodico].[PL_S95ProfiloDiRischio_20190204_PreMIFID2] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + + + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskclass, + @experience as experince + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S96BisRischioMercatoRischioCredito.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S96BisRischioMercatoRischioCredito.sql new file mode 100644 index 00000000..386d077d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S96BisRischioMercatoRischioCredito.sql @@ -0,0 +1,143 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S96BisRischioMercatoRischioCredito + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_S96BisRischiomercatoRischiocredito] 'F','BSHLRI69R13Z100Y' +CREATE procedure [C6MartPeriodico].[PL_S96BisRischioMercatoRischioCredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + declare @contaCC as int + + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + + + declare @contaPOS as int + + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + + + + + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + --V Imposizione VaR a 0 nel caso di presenza di solo cc + CASE + WHEN (@contaPOS - @contaCC) = 0 THEN 0.00 + ELSE RISK_AGG.VAR_PERC_PTF + END AS VAR, + + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 AND (@contaPOS - @contaCC) <> 0 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.a.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + CASE + WHEN (@contaPOS - @contaCC) = 0 THEN 100 + ELSE ISNULL(RISK_AGG.COPERTURA,0.00) + END AS COVERAGE, +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE + NULL AS COVERAGESTRING, + --V changed from string value (descrizione) to the numeric (profilo) + M.RISKCLASS AS RISKCLASSMAX, + (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI-CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) + END ) + *100 AS PERCENTAGE, + case when RISK_AGG.VAR_PERC_PTF > CR.MAX_VAR then 0 else 1 end as VarIsOk, + case when isnull(RISK_AGG.CREDITRISK,0) > Ck.PROFILO then 0 else 1 end as RiskClassIsOk, + CASE WHEN CMP.COMPLESSITA > M.EXPERIENCE THEN 0 ELSE 1 END as ComplexityIsOk, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE ' Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale = @codiceFiscale + and rete= @rete + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE ' Patrimonio IW Private Inv.' END + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + left outer join C6MartPeriodico.COMPLESSITA cmp + on + CMP.COD_FISCALE=PATRBF.COD_FISCALE + AND + CMP.RETE=PATRBF.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + ) + + +END + + + + + + + + + + + + + + +--US diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_S96RischiomercatoRischiocredito.sql b/sql/storedCollaudo/C6MartPeriodico_PL_S96RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..f8495caf --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_S96RischiomercatoRischiocredito.sql @@ -0,0 +1,141 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_S96RischiomercatoRischiocredito + + + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_S96RischiomercatoRischiocredito] 'F','GZZSLD52E20G869L' +CREATE procedure [C6MartPeriodico].[PL_S96RischiomercatoRischiocredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.cod_fiscale = @codiceFiscale + and PATRBF.rete= @rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + + + UNION + + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.cod_fiscale =@codiceFiscale + and TERZI.rete=@rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and diff --git a/sql/storedCollaudo/C6MartPeriodico_PL_SavingMap.sql b/sql/storedCollaudo/C6MartPeriodico_PL_SavingMap.sql new file mode 100644 index 00000000..9b015b64 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PL_SavingMap.sql @@ -0,0 +1,34 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PL_SavingMap + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_SavingMap] 'S','BCCNCL47B10H769B','507112FO702' --'000001VP001' +create procedure [C6MartPeriodico].[PL_SavingMap] + + @rete varchar(1), + @codfis varchar(16), + @codConf varchar(11) + + +AS + +BEGIN + + declare @ris as int + declare @ritorno as int + + -- viene passato il contratto di un foglio: verifico se su questo attivo saving map L'informazione contenuta nella colonna MAF del cc + + select @ritorno = (select count(*) from c6martperiodico.patrimonio_bf where + cod_fiscale = @codfis and rete = @rete and cod_maf = @codConf ) + + + select @ritorno + + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza.sql b/sql/storedCollaudo/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza.sql new file mode 100644 index 00000000..de069c5a --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza.sql @@ -0,0 +1,119 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: POPOLA_S132ProfiloRischioAdeguatezza + + + + + + +CREATE procedure [C6MartPeriodico].[POPOLA_S132ProfiloRischioAdeguatezza] + +AS +BEGIN +-------------------------------------------------------- +--***************************************************** +-- Replat della Sp PL_MP_S132ProfiloRischioAdeguatezza +-- Attenzione : la insert sulla tabella TB_S132ProfiloRischioAdeguatezza inserisci su alcuni campi valori +-- che successivamente sono aggiornati con un UPD ( vedi fine SP ) +--***************************************************** + + + SET NOCOUNT ON; + +truncate table C6MartPeriodico.TB_S132ProfiloRischioAdeguatezza + +insert into C6MartPeriodico.TB_S132ProfiloRischioAdeguatezza + SELECT distinct + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, +--CONVERT(DATETIME,M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + DBO.TOSHORTDATESTRING(M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + CR.MAX_VAR AS VARMAX, + ProfiliDiRischio.NOMEPROFILO as NOMEPROFILO, + RISK_AGG.VAR_PERC_PTF,-- VAR, + null VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.a.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) COVERAGE, + NULL AS COVERAGESTRING, + --V changed from string value (descrizione) to the numeric (profilo) + M.RISKCLASS AS RISKCLASSMAX, + (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI-CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) + END ) + *100 AS PERCENTAGE, + case when RISK_AGG.VAR_PERC_PTF > CR.MAX_VAR then 0 else 1 end as VarIsOk, + case when isnull(RISK_AGG.CREDITRISK,0) > Ck.PROFILO then 0 else 1 end as RiskClassIsOk, + CASE WHEN CMP.COMPLESSITA > M.EXPERIENCE THEN 0 ELSE 1 END as ComplexityIsOk, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + -- and cod_fiscale = @codiceFiscale + -- and rete= @rete + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE 'Patrimonio IW Private Inv.' END + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + left outer join C6MartPeriodico.COMPLESSITA cmp + on + CMP.COD_FISCALE=PATRBF.COD_FISCALE + AND + CMP.RETE=PATRBF.RETE +INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + ) + + + + +update s132 + set var = ( CASE + WHEN (nocc - CC = 0 ) THEN 0.00 + else var + END ), + COVERAGE = ( CASE + WHEN (nocc - CC = 0 ) THEN 100 + else COVERAGE + END ) + --, + --VARST diff --git a/sql/storedCollaudo/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_PROVVISORIA.sql b/sql/storedCollaudo/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_PROVVISORIA.sql new file mode 100644 index 00000000..ccd378ff --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_PROVVISORIA.sql @@ -0,0 +1,129 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: POPOLA_S132ProfiloRischioAdeguatezza_PROVVISORIA + + + + + + + +CREATE procedure [C6MartPeriodico].[POPOLA_S132ProfiloRischioAdeguatezza_PROVVISORIA] + +AS +BEGIN +-------------------------------------------------------- +--***************************************************** +-- Replat della Sp PL_MP_S132ProfiloRischioAdeguatezza +-- Attenzione : la insert sulla tabella TB_S132ProfiloRischioAdeguatezza inserisci su alcuni campi valori +-- che successivamente sono aggiornati con un UPD ( vedi fine SP ) +--***************************************************** + + + SET NOCOUNT ON; + +--truncate table C6MartPeriodico.TB_S132ProfiloRischioAdeguatezza + +insert into C6MartPeriodico.TB_S132ProfiloRischioAdeguatezza + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, +--CONVERT(DATETIME,M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + DBO.TOSHORTDATESTRING(M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + CR.MAX_VAR AS VARMAX, + ProfiliDiRischio.NOMEPROFILO as NOMEPROFILO, + RISK_AGG.VAR_PERC_PTF,-- VAR, + null VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.a.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) COVERAGE, + NULL AS COVERAGESTRING, + --V changed from string value (descrizione) to the numeric (profilo) + M.RISKCLASS AS RISKCLASSMAX, + (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI-CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) + END ) + *100 AS PERCENTAGE, + case when RISK_AGG.VAR_PERC_PTF > CR.MAX_VAR then 0 else 1 end as VarIsOk, + case when isnull(RISK_AGG.CREDITRISK,0) > Ck.PROFILO then 0 else 1 end as RiskClassIsOk, + CASE WHEN CMP.COMPLESSITA > M.EXPERIENCE THEN 0 ELSE 1 END as ComplexityIsOk, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale = 'DLLPLG43L04I625G' + and rete= 'F' + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + left outer join C6MartPeriodico.COMPLESSITA cmp + on + CMP.COD_FISCALE=PATRBF.COD_FISCALE + AND + CMP.RETE=PATRBF.RETE +INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + ) + + + + +update s132 + set var = ( CASE + WHEN (nocc - CC = 0 ) THEN 0.00 + else var + END ), + COVERAGE = ( CASE + WHEN (nocc - CC = 0 ) THEN 100 + else COVERAGE + END ) + --, + --VARSTRING=( CASE + -- WHEN VARSTRING = 0.00 AND (nocc - CC <> 0 ) THEN 'n.c.' + --END ) + from c6martperiodico.TB_S132ProfiloRischioAdeguatezza s132 + inner join ( + select rete,cod_fiscale + ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc + ,sum ( tot ) as nocc + from + ( select rete,cod_fiscale,tipo_prodotto,co diff --git a/sql/storedCollaudo/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_pre_selective.sql new file mode 100644 index 00000000..b753c5d0 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_pre_selective.sql @@ -0,0 +1,127 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: POPOLA_S132ProfiloRischioAdeguatezza_pre_selective + + + + + +CREATE procedure [C6MartPeriodico].[POPOLA_S132ProfiloRischioAdeguatezza_pre_selective] + +AS +BEGIN +-------------------------------------------------------- +--***************************************************** +-- Replat della Sp PL_MP_S132ProfiloRischioAdeguatezza +-- Attenzione : la insert sulla tabella TB_S132ProfiloRischioAdeguatezza inserisci su alcuni campi valori +-- che successivamente sono aggiornati con un UPD ( vedi fine SP ) +--***************************************************** + + + SET NOCOUNT ON; + +truncate table C6MartPeriodico.TB_S132ProfiloRischioAdeguatezza + +insert into C6MartPeriodico.TB_S132ProfiloRischioAdeguatezza + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, +--CONVERT(DATETIME,M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + DBO.TOSHORTDATESTRING(M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + CR.MAX_VAR AS VARMAX, + ProfiliDiRischio.NOMEPROFILO as NOMEPROFILO, + RISK_AGG.VAR_PERC_PTF,-- VAR, + null VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.a.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) COVERAGE, + NULL AS COVERAGESTRING, + --V changed from string value (descrizione) to the numeric (profilo) + M.RISKCLASS AS RISKCLASSMAX, + (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI-CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) + END ) + *100 AS PERCENTAGE, + case when RISK_AGG.VAR_PERC_PTF > CR.MAX_VAR then 0 else 1 end as VarIsOk, + case when isnull(RISK_AGG.CREDITRISK,0) > Ck.PROFILO then 0 else 1 end as RiskClassIsOk, + CASE WHEN CMP.COMPLESSITA > M.EXPERIENCE THEN 0 ELSE 1 END as ComplexityIsOk, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + -- and cod_fiscale = @codiceFiscale + -- and rete= @rete + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + left outer join C6MartPeriodico.COMPLESSITA cmp + on + CMP.COD_FISCALE=PATRBF.COD_FISCALE + AND + CMP.RETE=PATRBF.RETE +INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + ) + + + + +update s132 + set var = ( CASE + WHEN (nocc - CC = 0 ) THEN 0.00 + else var + END ), + COVERAGE = ( CASE + WHEN (nocc - CC = 0 ) THEN 100 + else COVERAGE + END ) + --, + --VARSTRING=( CASE + -- WHEN VARSTRING = 0.00 AND (nocc - CC <> 0 ) THEN 'n.c.' + --END ) + from c6martperiodico.TB_S132ProfiloRischioAdeguatezza s132 + inner join ( + select rete,cod_fiscale + ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc + ,sum ( tot ) as nocc + from + ( select rete,cod_fiscale,tipo_prodotto,coun diff --git a/sql/storedCollaudo/C6MartPeriodico_PROM_TuttiIPortafogli.sql b/sql/storedCollaudo/C6MartPeriodico_PROM_TuttiIPortafogli.sql new file mode 100644 index 00000000..00ef097d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_PROM_TuttiIPortafogli.sql @@ -0,0 +1,69 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: PROM_TuttiIPortafogli + +-- Stored procedure +-- Stored procedure + + +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[PROM_TuttiIPortafogli] + -- Add the parameters for the stored procedure here +AS +BEGIN + +SELECT + -- descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] +FROM ( + + SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[vTuttiIPortafogli] + + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[vTuttiIPortafogli_ccLiq] +) T +--where t.codicefiscale = 'RNZFNC33H06Z404A' +order by rete,codiceFiscale,Portafoglio + + + + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_D2_S150Anagrafica.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_D2_S150Anagrafica.sql new file mode 100644 index 00000000..142d6297 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_D2_S150Anagrafica.sql @@ -0,0 +1,95 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_D2_S150Anagrafica + +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S150Anagrafica] 'F', 'NCLGDE26B18L388P' +CREATE procedure [C6MartPeriodico].[Popola_D2_S150Anagrafica] +AS +BEGIN + insert into c6martperiodico.tb_D2_S150Anagrafica + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, + +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, + +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + + --V Indirizzo Secondo AULETTA + --CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + -- THEN + -- REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + -- + ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') + -- ELSE + -- REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + -- + ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') + --END AS Residenza, + + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') else '' end + ' ' + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') else '' end + ' ' + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + END AS Residenza, + + + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_SOTT) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + NULL AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + + CONTRATTOSEI.[Prov] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.contrattosei as CONTRATTOSEI + INNER JOIN + C6MARTPERIODICO.ANAG_CLIENTI + ON + ANAG_CLIEN diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_FD190PatrimonioFinanziario_PTFRibilanciato.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_FD190PatrimonioFinanziario_PTFRibilanciato.sql new file mode 100644 index 00000000..2e4e22fa --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_FD190PatrimonioFinanziario_PTFRibilanciato.sql @@ -0,0 +1,120 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_FD190PatrimonioFinanziario_PTFRibilanciato + + + + + + + + +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= + +-- [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[Popola_FD190PatrimonioFinanziario_PTFRibilanciato] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN + +truncate table C6MartPeriodico.TB_FD190PatrimonioFinanziario_PTFRibilanciato +INSERT INTO C6MartPeriodico.TB_FD190PatrimonioFinanziario_PTFRibilanciato + +SELECT --top 1 + Rete, + cod_fiscale as CodiceFiscale, + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + a.ChiavePtfMod, + A.Controvalore, + A.percentuale, + ROUND(SUM(A.Controvalore) OVER (PARTITION BY RETE,COD_FISCALE),2) as Totale, + isnull(ptf.percentuale,0.00) as Percentuale_Modello, + A.VAR_PROG + + --cast(A.Controvalore as decimal(19,5)) AS Controvalore, + --cast(A.Percentuale as decimal(19,5)) AS Percentuale, + --cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) + END + ) * 100 AS Percentuale , + ChiavePtfMod, + VAR_PERC_PTF as VAR_PROG + FROM ( + + SELECT + PATRBF.rete, + PATRBF.COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore , + PATRBF.ChiavePtfMod, + RISCHIO_AGGR_PROG.VAR_PERC_PTF + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 +-- inner join +-- C6StagingPeriodico.RP_Progetto_Robo robo +-- on robo.chiaveProgetto=patrbf.CHIAVE_PROGETTO +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area not in ('CC', 'SELF') + and patrbf.NOME_PROGETTO like '%Direct Evo%' + -- AND PATRBF.RETE = @Rete + -- AND PATRBF.COD_FISCALE = @CodiceFiscale + + UNION ALL + + SELECT + Asul.rete, + asul.cod_fiscale, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore , + patrbf.chiaveptfmod, + RISCHIO_AGGR_PROG.VAR_PERC_PTF + + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_FD190PatrimonioFinanziario_PTFRibilanciato_OLD.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_FD190PatrimonioFinanziario_PTFRibilanciato_OLD.sql new file mode 100644 index 00000000..579053ad --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_FD190PatrimonioFinanziario_PTFRibilanciato_OLD.sql @@ -0,0 +1,126 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_FD190PatrimonioFinanziario_PTFRibilanciato_OLD + + + + + + + + +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= + +-- [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[Popola_FD190PatrimonioFinanziario_PTFRibilanciato_OLD] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN + +truncate table C6MartPeriodico.TB_FD190PatrimonioFinanziario_PTFRibilanciato +INSERT INTO C6MartPeriodico.TB_FD190PatrimonioFinanziario_PTFRibilanciato + +SELECT --top 1 + Rete, + cod_fiscale as CodiceFiscale, + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + a.ChiavePtfMod, + A.Controvalore, + A.percentuale, + ROUND(SUM(A.Controvalore) OVER (PARTITION BY RETE,COD_FISCALE),2) as Totale, + isnull(ptf.percentuale,0.00) as Percentuale_Modello + + --cast(A.Controvalore as decimal(19,5)) AS Controvalore, + --cast(A.Percentuale as decimal(19,5)) AS Percentuale, + --cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) + END + ) * 100 AS Percentuale , + ChiavePtfMod + FROM ( + + SELECT + PATRBF.rete, + PATRBF.COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore , + PATRBF.ChiavePtfMod + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 +-- inner join +-- C6StagingPeriodico.RP_Progetto_Robo robo +-- on robo.chiaveProgetto=patrbf.CHIAVE_PROGETTO + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area not in ('CC', 'SELF') + and patrbf.NOME_PROGETTO like '%Direct Evo%' + -- AND PATRBF.RETE = @Rete + -- AND PATRBF.COD_FISCALE = @CodiceFiscale + + UNION ALL + + SELECT + Asul.rete, + asul.cod_fiscale, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore , + patrbf.chiaveptfmod + + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + inner join + C6MartPeriodico.PATRIMONIO_BF PATRBF + on patrbf.chiave_progetto=ASUL.CHIAVEPROGETTO + where patrbf.NOME_PROGETTO like '%Direct Evo%' + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=ASUL.CHIAVEPROGETTO + -- WHERE + -- ASUL.RETE = @Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + + UNION ALL + + SELECT Asul.rete, + asul.cod_fiscale, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_FD200DistribuzioneAssetClass_PTFRibilanciato.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_FD200DistribuzioneAssetClass_PTFRibilanciato.sql new file mode 100644 index 00000000..22f5ead8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_FD200DistribuzioneAssetClass_PTFRibilanciato.sql @@ -0,0 +1,112 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_FD200DistribuzioneAssetClass_PTFRibilanciato + + + + + + + + + + +--[C6martPeriodico].[Popola_S148DistribuzioneAssetClass] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[Popola_FD200DistribuzioneAssetClass_PTFRibilanciato] + -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN + +truncate table c6martperiodico.TB_FD200DistribuzioneAssetClass_PTFRibilanciato +INSERT INTO c6martperiodico.TB_FD200DistribuzioneAssetClass_PTFRibilanciato + select rete, + cod_fiscale, + CASE rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + a.ORDINAMENTO, + AssetClassId, + AssetClassName, + a.chiaveptfmod, + SUM(Controvalore) As Controvalore, + --SUM(CONTROVALORE) / Totale As Percentuale, + SUM(CONTROVALORE) / Totale * 100 As Percentuale, + Totale, + isnull(ptf.percentuale ,0.00) as Percentuale_Modello, + VAR_PROG + +FROM +( + + +SELECT rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, + --ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'Totale') * 100, 2) AS Percentuale, + cast(ROUND(SUM(Controvalore) OVER (PARTITION BY 'Totale',rete,cod_fiscale),2) as decimal(19,5)) AS Totale , + chiaveptfmod, + VAR_PROG + FROM ( + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS , + chiaveptfmod, + VAR_PROG + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS , + chiaveptfmod, + RISCHIO_AGGR_PROG.VAR_PERC_PTF as var_prog + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATR_BF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATR_BF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATR_BF.ID_AREA,3) + '|' + PATR_BF.NOME_PROGETTO + '|' + + cast (Patr_BF.ordinamento_progetto as varchar) + -- inner join + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=PATR_BF.CHIAVE_PROGETTO + WHERE +--inizio interventi OMNIA +-- PATR_BF.ID_AREA NOT IN ('Cc','Pre1','Pre2','Pre') + PATR_BF.ID_AREA NOT IN ('SELF','Cc','Pre1','Pre2','Pre') +--fine interventi OMNIA + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + and PATR_BF.NOME_PROGETTO like '%Direct Evo%' + --AND PATR_BF.COD_FISCALE= @CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS , + patr_bf.chiaveptfmod, + RISCHIO_AGGR_PROG.VAR_PERC_PTF as var_prog + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + LEFT J diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_FD200DistribuzioneAssetClass_PTFRibilanciato_OLD.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_FD200DistribuzioneAssetClass_PTFRibilanciato_OLD.sql new file mode 100644 index 00000000..91edbe98 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_FD200DistribuzioneAssetClass_PTFRibilanciato_OLD.sql @@ -0,0 +1,115 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_FD200DistribuzioneAssetClass_PTFRibilanciato_OLD + + + + + + + + + +--[C6martPeriodico].[Popola_S148DistribuzioneAssetClass] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[Popola_FD200DistribuzioneAssetClass_PTFRibilanciato_OLD] + -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN + +truncate table c6martperiodico.TB_FD200DistribuzioneAssetClass_PTFRibilanciato +INSERT INTO c6martperiodico.TB_FD200DistribuzioneAssetClass_PTFRibilanciato + select rete, + cod_fiscale, + CASE rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + a.ORDINAMENTO, + AssetClassId, + AssetClassName, + a.chiaveptfmod, + SUM(Controvalore) As Controvalore, + --SUM(CONTROVALORE) / Totale As Percentuale, + SUM(CONTROVALORE) / Totale * 100 As Percentuale, + Totale, + isnull(ptf.percentuale ,0.00) as Percentuale_Modello + +FROM +( + + +SELECT rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, + --ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'Totale') * 100, 2) AS Percentuale, + cast(ROUND(SUM(Controvalore) OVER (PARTITION BY 'Totale',rete,cod_fiscale),2) as decimal(19,5)) AS Totale , + chiaveptfmod + FROM ( + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS , + chiaveptfmod + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS , + chiaveptfmod + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + -- inner join + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=PATR_BF.CHIAVE_PROGETTO + WHERE +--inizio interventi OMNIA +-- PATR_BF.ID_AREA NOT IN ('Cc','Pre1','Pre2','Pre') + PATR_BF.ID_AREA NOT IN ('SELF','Cc','Pre1','Pre2','Pre') +--fine interventi OMNIA + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + and PATR_BF.NOME_PROGETTO like '%Direct Evo%' + --AND PATR_BF.COD_FISCALE= @CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS , + patr_bf.chiaveptfmod + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + inner join + C6StagingPeriodico.RP_Progetto_Robo robo + on robo.chiaveProgetto=PATR_BF.CHIAVE_PROGETTO + WHERE + --ASUL.RETE = @Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS , + asul.chiaveptfmod + FROM C6MartPe diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S10PatrimonioFinanziario.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S10PatrimonioFinanziario.sql new file mode 100644 index 00000000..0e713110 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S10PatrimonioFinanziario.sql @@ -0,0 +1,123 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S10PatrimonioFinanziario + + + +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= + +-- [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN + +truncate table C6MartPeriodico.TB_S10PatrimonioFinanziario +INSERT INTO C6MartPeriodico.TB_S10PatrimonioFinanziario + +SELECT --top 1 + Rete, + cod_fiscale as CodiceFiscale, + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + A.Controvalore, + A.percentuale, + ROUND(SUM(A.Controvalore) OVER (PARTITION BY RETE,COD_FISCALE),2) + + --cast(A.Controvalore as decimal(19,5)) AS Controvalore, + --cast(A.Percentuale as decimal(19,5)) AS Percentuale, + --cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) + END + ) * 100 AS Percentuale + FROM ( + + SELECT + PATRBF.rete, + PATRBF.COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area not in ('CC', 'SELF') + -- AND PATRBF.RETE = @Rete + -- AND PATRBF.COD_FISCALE = @CodiceFiscale + + UNION ALL + + SELECT + Asul.rete, + asul.cod_fiscale, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + -- WHERE + -- ASUL.RETE = @Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + + UNION ALL + + SELECT Asul.rete, + asul.cod_fiscale, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + -- WHERE + -- ASUL.RETE = @Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLA diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S10PatrimonioFinanziario_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S10PatrimonioFinanziario_pre_selective.sql new file mode 100644 index 00000000..eabc1316 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S10PatrimonioFinanziario_pre_selective.sql @@ -0,0 +1,137 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S10PatrimonioFinanziario_pre_selective + + + +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= + +-- [C6MartPeriodico].[Popola_S10PatrimonioFinanziario_pre_selective] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[Popola_S10PatrimonioFinanziario_pre_selective] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN + +truncate table C6MartPeriodico.TB_S10PatrimonioFinanziario +INSERT INTO C6MartPeriodico.TB_S10PatrimonioFinanziario + +SELECT --top 1 + Rete, + cod_fiscale as CodiceFiscale, + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + A.Controvalore, + A.percentuale, + ROUND(SUM(A.Controvalore) OVER (PARTITION BY RETE,COD_FISCALE),2) + + --cast(A.Controvalore as decimal(19,5)) AS Controvalore, + --cast(A.Percentuale as decimal(19,5)) AS Percentuale, + --cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE Rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Fideuram' + END AS Banca, + rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) + END + ) * 100 AS Percentuale + FROM ( + + SELECT + PATRBF.rete, + PATRBF.COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area not in ('CC', 'SELF') + -- AND PATRBF.RETE = @Rete + -- AND PATRBF.COD_FISCALE = @CodiceFiscale + + UNION ALL + + SELECT + Asul.rete, + asul.cod_fiscale, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + -- WHERE + -- ASUL.RETE = @Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + + UNION ALL + + SELECT Asul.rete, + asul.cod_fiscale, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + -- WHERE + -- ASUL.RETE = @Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A + + + + + +END + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S133_S157DatiPiramide.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S133_S157DatiPiramide.sql new file mode 100644 index 00000000..0c837d00 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S133_S157DatiPiramide.sql @@ -0,0 +1,42 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S133_S157DatiPiramide + + + + + + + + +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) + +CREATE procedure [C6MartPeriodico].[Popola_S133_S157DatiPiramide] +AS +BEGIN + + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT_TEMP + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + GROUP BY + RETE, COD_FISCALE, + CASE diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161202.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161202.sql new file mode 100644 index 00000000..71d919de --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161202.sql @@ -0,0 +1,37 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S133_S157DatiPiramide_20161202 + + + +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) + +CREATE procedure [C6MartPeriodico].[Popola_S133_S157DatiPiramide_20161202] +AS +BEGIN + + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + GROUP BY + RETE, COD_FISCALE, + CASE diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161214.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161214.sql new file mode 100644 index 00000000..c548de52 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161214.sql @@ -0,0 +1,41 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S133_S157DatiPiramide_20161214 + + + + + + + +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) + +CREATE procedure [C6MartPeriodico].[Popola_S133_S157DatiPiramide_20161214] +AS +BEGIN + + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + GROUP BY + RETE, COD_FISCALE, + CASE diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S133_S157DatiPiramide_20170113_ORIG.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S133_S157DatiPiramide_20170113_ORIG.sql new file mode 100644 index 00000000..63531601 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S133_S157DatiPiramide_20170113_ORIG.sql @@ -0,0 +1,43 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S133_S157DatiPiramide_20170113_ORIG + + + + + + + + + +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) + +CREATE PROCEDURE [C6MartPeriodico].[Popola_S133_S157DatiPiramide_20170113_ORIG] +AS +BEGIN + + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT_TEMP + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + GROUP BY + RETE, COD_FISCALE, + CASE diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S133_S157DatiPiramide_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S133_S157DatiPiramide_pre_selective.sql new file mode 100644 index 00000000..697b1527 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S133_S157DatiPiramide_pre_selective.sql @@ -0,0 +1,42 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S133_S157DatiPiramide_pre_selective + + + + + + + + +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) + +CREATE procedure [C6MartPeriodico].[Popola_S133_S157DatiPiramide_pre_selective] +AS +BEGIN + + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT_TEMP + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + GROUP BY + RETE, COD_FISCALE, + CASE diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S148DistribuzioneAssetClass.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S148DistribuzioneAssetClass.sql new file mode 100644 index 00000000..aef7d426 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S148DistribuzioneAssetClass.sql @@ -0,0 +1,106 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S148DistribuzioneAssetClass + + + + +--[C6martPeriodico].[Popola_S148DistribuzioneAssetClass] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[Popola_S148DistribuzioneAssetClass] + -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN + +truncate table c6martperiodico.TB_S148DistribuzioneAssetClass +INSERT INTO c6martperiodico.TB_S148DistribuzioneAssetClass +--SELECT @Rete as Rete, @CodiceFiscale as CodiceFiscale, +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Banca Fideuram' +-- END AS Banca, + select rete, + cod_fiscale, + CASE rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ORDINAMENTO, + AssetClassId, + AssetClassName, + SUM(Controvalore) As Controvalore, + --SUM(CONTROVALORE) / Totale As Percentuale, + SUM(CONTROVALORE) / Totale * 100 As Percentuale, + Totale +FROM +( + + +SELECT rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, + --ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'Totale') * 100, 2) AS Percentuale, + cast(ROUND(SUM(Controvalore) OVER (PARTITION BY 'Totale',rete,cod_fiscale),2) as decimal(19,5)) AS Totale + FROM ( + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE +--inizio interventi OMNIA +-- PATR_BF.ID_AREA NOT IN ('Cc','Pre1','Pre2','Pre') + PATR_BF.ID_AREA NOT IN ('SELF','Cc','Pre1','Pre2','Pre') +--fine interventi OMNIA + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + --AND PATR_BF.COD_FISCALE= @CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + --ASUL.RETE = @Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_P diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S148DistribuzioneAssetClass_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S148DistribuzioneAssetClass_pre_selective.sql new file mode 100644 index 00000000..e0d6d4ff --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S148DistribuzioneAssetClass_pre_selective.sql @@ -0,0 +1,110 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S148DistribuzioneAssetClass_pre_selective + + + + +--[C6martPeriodico].[Popola_S148DistribuzioneAssetClass_pre_selective] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[Popola_S148DistribuzioneAssetClass_pre_selective] + -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN + +truncate table c6martperiodico.TB_S148DistribuzioneAssetClass +INSERT INTO c6martperiodico.TB_S148DistribuzioneAssetClass +--SELECT @Rete as Rete, @CodiceFiscale as CodiceFiscale, +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Banca Fideuram' +-- END AS Banca, + select rete, + cod_fiscale, + CASE rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Fideuram' + END AS Banca, + ORDINAMENTO, + AssetClassId, + AssetClassName, + SUM(Controvalore) As Controvalore, + --SUM(CONTROVALORE) / Totale As Percentuale, + SUM(CONTROVALORE) / Totale * 100 As Percentuale, + Totale +FROM +( + + +SELECT rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, + --ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'Totale') * 100, 2) AS Percentuale, + cast(ROUND(SUM(Controvalore) OVER (PARTITION BY 'Totale',rete,cod_fiscale),2) as decimal(19,5)) AS Totale + FROM ( + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE +--inizio interventi OMNIA +-- PATR_BF.ID_AREA NOT IN ('Cc','Pre1','Pre2','Pre') + PATR_BF.ID_AREA NOT IN ('SELF','Cc','Pre1','Pre2','Pre') +--fine interventi OMNIA + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + --AND PATR_BF.COD_FISCALE= @CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + --ASUL.RETE = @Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + WHERE + --ASUL.RETE =@Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta.sql new file mode 100644 index 00000000..55134a06 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta.sql @@ -0,0 +1,81 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S179EmittentiConcentrazioneAlta + + + + + + + +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[Popola_S179EmittentiConcentrazioneAlta] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN + +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +--print @DataFineTrim + +truncate table C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta + +INSERT INTO C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta +SELECT + ce.[RETE] + , + case + when(isnull(ltrim(rtrim(ce.codman)),'') <> '') + then 'FF@'+ce.codman + when (isnull(ce.codfis,'') <> '') + then ce.codfis + else + ce.codfis + end as Codfis + ,1 as Ordine + ,[DESCEMI] as Emittente + ,ce.totctv as ctv + ,1 as flagAdeguatezza + ,ce.SOGLIACTV_CONC as Franchigia + ,ce.conc as percConcentrazione + ,ce.rating as Rating + ,ce.limite_conc as SogliaConcenrazione + +FROM [C6StagingPeriodico].[WSEICE2] ce + +inner join [C6MartPeriodico].[WSEIAN2] an + on ce.rete = an.rete and + ce.codfis= an.codfis + -- 26/6/2018 - Certificazione campione - Segnalazione Napolitano - Creazione riga duplicata nella tabella emittenti a concentrazione alta + and an.dttrim = ce.dttrim + -- 26/6/2018 - Fine +left join C6MartPeriodico.wseirpf rpf + on ce.RETE=RPF.Rete and + ce.CODFIS=RPF.CODFIS + + WHERE 1=1 + + -- and ce.DTTRIM = @DataFineTrim + and an.concemi = 'N' --estraggo solo quelli che non sono adeguati per concentrazione emittenti sulla wseian + and ce.flgconc = '0' -- e solo gli emittenti non adeguati (perch sulla wseice arrivano tutti gli emittenti, adeguati e non) prima era N + and ISNULL( RPF.FLGPROF,'A')<>'P' + + + + --select * from C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta + +END + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_20180626.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_20180626.sql new file mode 100644 index 00000000..9b6f1975 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_20180626.sql @@ -0,0 +1,89 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S179EmittentiConcentrazioneAlta_20180626 + + + + + + + + +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[Popola_S179EmittentiConcentrazioneAlta_20180626] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN + +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + +truncate table C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta + +INSERT INTO C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta +SELECT + ce.[RETE] + , + case + when(isnull(ltrim(rtrim(ce.codman)),'') <> '') + then 'FF@'+ce.codman + when (isnull(ce.codfis,'') <> '') + then ce.codfis + else + ce.codfis + end as Codfis + ,1 as Ordine + ,[DESCEMI] + , + case + when upper(asset) = 'O' then [TOTCTV] + else 0 + end as ObbligazioniControvalore + , + case + when upper(asset) = 'O' then [CONC] + else 0 + end as ObbligazioniConcentrazione + , + case + when upper(asset) = 'A' then [TOTCTV] + else 0 + end as AzioniControvalore + , + case + when upper(asset) = 'A' then [CONC] + else 0 + end as AzioniConcentrazione + + +FROM [C6StagingPeriodico].[WSEICE] ce + +inner join [C6StagingPeriodico].[WSEIAN] an + on ce.rete = an.rete and + ce.codfis= an.codfis + + WHERE 1=1 + + and ce.DTTRIM = @DataFineTrim + and an.concemi = 'N' --estraggo solo quelli che non sono adeguati per concentrazione emittenti sulla wseian + and ce.flgconc = 'N' -- e solo gli emittenti non adeguati (perch sulla wseice arrivano tutti gli emittenti, adeguati e non) + + + + + +END + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_BKP_20231115_PRE_RAFFORZAMENTO.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_BKP_20231115_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..bea08202 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_BKP_20231115_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,78 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S179EmittentiConcentrazioneAlta_BKP_20231115_PRE_RAFFORZAMENTO + + + + + + + + +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[Popola_S179EmittentiConcentrazioneAlta_BKP_20231115] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN + +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +--print @DataFineTrim + +truncate table C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta + +INSERT INTO C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta +SELECT + ce.[RETE] + , + case + when(isnull(ltrim(rtrim(ce.codman)),'') <> '') + then 'FF@'+ce.codman + when (isnull(ce.codfis,'') <> '') + then ce.codfis + else + ce.codfis + end as Codfis + ,1 as Ordine + ,[DESCEMI] as Emittente + ,ce.totctv as ctv + ,1 as flagAdeguatezza + ,ce.SOGLIACTV_CONC as Franchigia + ,ce.conc as percConcentrazione + ,ce.rating as Rating + ,ce.limite_conc as SogliaConcenrazione + +FROM [C6StagingPeriodico].[WSEICE2] ce + +inner join [C6MartPeriodico].[WSEIAN2] an + on ce.rete = an.rete and + ce.codfis= an.codfis + -- 26/6/2018 - Certificazione campione - Segnalazione Napolitano - Creazione riga duplicata nella tabella emittenti a concentrazione alta + and an.dttrim = ce.dttrim + -- 26/6/2018 - Fine + + WHERE 1=1 + + -- and ce.DTTRIM = @DataFineTrim + and an.concemi = 'N' --estraggo solo quelli che non sono adeguati per concentrazione emittenti sulla wseian + and ce.flgconc = '0' -- e solo gli emittenti non adeguati (perch sulla wseice arrivano tutti gli emittenti, adeguati e non) prima era N + + + + --select * from C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta + +END + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S25Anagrafica.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S25Anagrafica.sql new file mode 100644 index 00000000..0d3eba81 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S25Anagrafica.sql @@ -0,0 +1,100 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S25Anagrafica + + + + + + + + +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S25Anagrafica] 'F', 'CSCGPP34A03L050L' +CREATE procedure [C6MartPeriodico].[Popola_S25Anagrafica] +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN + +truncate table c6martperiodico.TB_S25Anagrafica + insert into c6martperiodico.TB_S25Anagrafica + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + + + END + END AS NucleoFamiliare, + +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, + +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + + --V Indirizzo Secondo AULETTA + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') + ' ' else '' end + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') + ' ' else '' end + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_SOTT) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + CONTRATTOSEI.FASCIA_CPP AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + + --ANAG_CLIENTI.CAP AS CAP, + -- CONTRATTOSEI.[CAP] AS CAP, + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' + then isnull(CONTRATTOSEI.CAP,'') + else '' + end as CAP, + + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + + --CONTRATTOSEI.[Prov] AS Provincia, + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' + then isnull(CONTRATTOSEI.[Prov],'') + else CONTRATTOSEI.[NAZIONE] + end as Provincia, + + --ANAG_CLIENTI.PROVINCIA AS Provincia, + + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + + CONTRATTO diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S25Anagrafica_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S25Anagrafica_pre_selective.sql new file mode 100644 index 00000000..c47c5652 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S25Anagrafica_pre_selective.sql @@ -0,0 +1,106 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S25Anagrafica_pre_selective + + + + + + + + +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S25Anagrafica] 'F', 'CSCGPP34A03L050L' +CREATE procedure [C6MartPeriodico].[Popola_S25Anagrafica_pre_selective] +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN + +truncate table c6martperiodico.TB_S25Anagrafica + insert into c6martperiodico.TB_S25Anagrafica + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + + + END + END AS NucleoFamiliare, + +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, + +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + + --V Indirizzo Secondo AULETTA + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') + ' ' else '' end + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') + ' ' else '' end + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_SOTT) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + CONTRATTOSEI.FASCIA_CPP AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + + --ANAG_CLIENTI.CAP AS CAP, + -- CONTRATTOSEI.[CAP] AS CAP, + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' + then isnull(CONTRATTOSEI.CAP,'') + else '' + end as CAP, + + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + + --CONTRATTOSEI.[Prov] AS Provincia, + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' + then isnull(CONTRATTOSEI.[Prov],'') + else CONTRATTOSEI.[NAZIONE] + end as Provincia, + + --ANAG_CLIENTI.PROVINCIA AS Provincia, + + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + + CONTRATTOSEI.[Presso] AS PRESSO + FROM + [C6MartPeriodico].CONTRATTOSEI -- TABELLA BASE + INNER JOIN + C6MARTPERIODICO.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S80BisEvoluzioneRischio.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S80BisEvoluzioneRischio.sql new file mode 100644 index 00000000..ba3e9597 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S80BisEvoluzioneRischio.sql @@ -0,0 +1,143 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S80BisEvoluzioneRischio + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80BisEvoluzioneRischio]'F','02392500605S' + + +CREATE procedure [C6MartPeriodico].[Popola_S80BisEvoluzioneRischio] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @DataCongelamento DATETIME + + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + select @DataCongelamento + + +truncate table c6martperiodico.tb_S80BisEvoluzioneRischio +insert into c6martperiodico.tb_S80BisEvoluzioneRischio + SELECT + ini.rete, + ini.COD_FISCALE, + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO + ELSE ROUND(INI.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + INI.VAR_COPERTURA AS Copertura, + INI.RISKCLASS, + INI.RISKCLASSMAX, + case + when INI.RISKCLASS is null then 'n.d.' + when INI.RISKCLASS = 0 then 'n.a.' + else null + end as RiskClassString, + + case + when INI.RISKCLASSMAX is null then 'n.d.' + when INI.RISKCLASSMAX = 0 then 'n.a.' + else null + end as RiskClassMaxString + + + + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + LEFT OUTER join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + + + + UNION ALL + + -- Precedente invio report + + SELECT + rep.RETE , + rep.COD_FISCALE , + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN rep.VAR_COMPLESSIVO IS NULL THEN rep.VAR_COMPLESSIVO + ELSE ROUND(rep.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + rep.VAR_COPERTURA AS Copertura, + rep.RISKCLASS, + rep.RISKCLASSMAX, + case when rep.RISKCLASS is null then 'n.a.' + else null + end as RiskClassString, + case when rep.RISKCLASSMAX is null then 'n.a.' + else null + end as RiskClassMaxString + + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + -- modifica del 24/7/2017 per gestire le situazioni limite dell'avvio monitoraggio a cavallo tra 2 trim (vedi segnalazione + -- del qc su cf F/TRRLDA52D04G190A) + --INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + CONVERT(varchar,ini.data_foto,112) <= convert(varchar,ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)),112) + -- fine modifica del 24/7/2017 + + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + + + UNION ALL + + -- Situazione corrente + + SELECT + BF.RETE , + BF.COD_FISCALE, + 3 fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + --CASE + -- WHEN (@contaPOS - @contaCC = 0 ) THEN 100 + -- ELSE isnull(RA.COPERTURA,0) + --END AS Copertura, + isnull(RA.COPERTURA,0) as copertura, +-- TRINGALI MODIFICARE + ra.creditrisk as RISKCLASS, + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' + else null end as RiskClassString, + case when mifid.riskclass is null then 'n.a.' + else null end as RiskClassMaxString + F diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20170724_preCR_fasi1e2.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20170724_preCR_fasi1e2.sql new file mode 100644 index 00000000..663d37d0 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20170724_preCR_fasi1e2.sql @@ -0,0 +1,141 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S80BisEvoluzioneRischio_20170724_preCR_fasi1e2 + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80BisEvoluzioneRischio]'F','02392500605S' + + +CREATE procedure [C6MartPeriodico].[Popola_S80BisEvoluzioneRischio_20170724_preCR_fasi1e2] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @DataCongelamento DATETIME + + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + + +truncate table c6martperiodico.tb_S80BisEvoluzioneRischio +insert into c6martperiodico.tb_S80BisEvoluzioneRischio + SELECT + ini.rete, + ini.COD_FISCALE, + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO + ELSE ROUND(INI.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + INI.VAR_COPERTURA AS Copertura, + INI.RISKCLASS, + INI.RISKCLASSMAX, + case + when INI.RISKCLASS is null then 'n.d.' + when INI.RISKCLASS = 0 then 'n.a.' + else null + end as RiskClassString, + + case + when INI.RISKCLASSMAX is null then 'n.d.' + when INI.RISKCLASSMAX = 0 then 'n.a.' + else null + end as RiskClassMaxString + + + + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + LEFT OUTER join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + + UNION ALL + + -- Precedente invio report + + SELECT + rep.RETE , + rep.COD_FISCALE , + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN rep.VAR_COMPLESSIVO IS NULL THEN rep.VAR_COMPLESSIVO + ELSE ROUND(rep.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + rep.VAR_COPERTURA AS Copertura, + rep.RISKCLASS, + rep.RISKCLASSMAX, + case when rep.RISKCLASS is null then 'n.a.' + else null + end as RiskClassString, + case when rep.RISKCLASSMAX is null then 'n.a.' + else null + end as RiskClassMaxString + + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + + + UNION ALL + + -- Situazione corrente + + SELECT + BF.RETE , + BF.COD_FISCALE, + 3 fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + --CASE + -- WHEN (@contaPOS - @contaCC = 0 ) THEN 100 + -- ELSE isnull(RA.COPERTURA,0) + --END AS Copertura, + isnull(RA.COPERTURA,0) as copertura, +-- TRINGALI MODIFICARE + ra.creditrisk as RISKCLASS, + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' + else null end as RiskClassString, + case when mifid.riskclass is null then 'n.a.' + else null end as RiskClassMaxString + FROM + C6MartPeriodico.vPatrimonioBFAggregato AS BF + INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON BF.RETE = MIFID.RETE + AND BF.COD_FISCALE = MIFID.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RE diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20171222.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20171222.sql new file mode 100644 index 00000000..c4b3faad --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20171222.sql @@ -0,0 +1,140 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S80BisEvoluzioneRischio_20171222 + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80BisEvoluzioneRischio]'F','02392500605S' + + +CREATE procedure [C6MartPeriodico].[Popola_S80BisEvoluzioneRischio_20171222] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @DataCongelamento DATETIME + + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + + +truncate table c6martperiodico.tb_S80BisEvoluzioneRischio +insert into c6martperiodico.tb_S80BisEvoluzioneRischio + SELECT + ini.rete, + ini.COD_FISCALE, + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO + ELSE ROUND(INI.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + INI.VAR_COPERTURA AS Copertura, + INI.RISKCLASS, + INI.RISKCLASSMAX, + case + when INI.RISKCLASS is null then 'n.d.' + when INI.RISKCLASS = 0 then 'n.a.' + else null + end as RiskClassString, + + case + when INI.RISKCLASSMAX is null then 'n.d.' + when INI.RISKCLASSMAX = 0 then 'n.a.' + else null + end as RiskClassMaxString + + + + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + LEFT OUTER join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + + UNION ALL + + -- Precedente invio report + + SELECT + rep.RETE , + rep.COD_FISCALE , + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN rep.VAR_COMPLESSIVO IS NULL THEN rep.VAR_COMPLESSIVO + ELSE ROUND(rep.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + rep.VAR_COPERTURA AS Copertura, + rep.RISKCLASS, + rep.RISKCLASSMAX, + case when rep.RISKCLASS is null then 'n.a.' + else null + end as RiskClassString, + case when rep.RISKCLASSMAX is null then 'n.a.' + else null + end as RiskClassMaxString + + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + -- modifica del 24/7/2017 per gestire le situazioni limite dell'avvio monitoraggio a cavallo tra 2 trim (vedi segnalazione + -- del qc su cf F/TRRLDA52D04G190A) + --INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + CONVERT(varchar,ini.data_foto,112) <= convert(varchar,ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)),112) + -- fine modifica del 24/7/2017 + + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + + + UNION ALL + + -- Situazione corrente + + SELECT + BF.RETE , + BF.COD_FISCALE, + 3 fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + --CASE + -- WHEN (@contaPOS - @contaCC = 0 ) THEN 100 + -- ELSE isnull(RA.COPERTURA,0) + --END AS Copertura, + isnull(RA.COPERTURA,0) as copertura, +-- TRINGALI MODIFICARE + ra.creditrisk as RISKCLASS, + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' + else null end as RiskClassString, + case when mifid.riskclass is null then 'n.a.' + else null end as RiskClassMaxString + FROM + C6MartPerio diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_BKP_20231116_PRE_RAFFORZAMENTO.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_BKP_20231116_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..f3d24ee5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_BKP_20231116_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,142 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S80BisEvoluzioneRischio_BKP_20231116_PRE_RAFFORZAMENTO + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80BisEvoluzioneRischio]'F','02392500605S' + + +CREATE procedure [C6MartPeriodico].[Popola_S80BisEvoluzioneRischio_BKP_20231116_PRE_RAFFORZAMENTO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @DataCongelamento DATETIME + + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + select @DataCongelamento + + +truncate table c6martperiodico.tb_S80BisEvoluzioneRischio +insert into c6martperiodico.tb_S80BisEvoluzioneRischio + SELECT + ini.rete, + ini.COD_FISCALE, + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO + ELSE ROUND(INI.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + INI.VAR_COPERTURA AS Copertura, + INI.RISKCLASS, + INI.RISKCLASSMAX, + case + when INI.RISKCLASS is null then 'n.d.' + when INI.RISKCLASS = 0 then 'n.a.' + else null + end as RiskClassString, + + case + when INI.RISKCLASSMAX is null then 'n.d.' + when INI.RISKCLASSMAX = 0 then 'n.a.' + else null + end as RiskClassMaxString + + + + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + LEFT OUTER join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + + + + UNION ALL + + -- Precedente invio report + + SELECT + rep.RETE , + rep.COD_FISCALE , + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN rep.VAR_COMPLESSIVO IS NULL THEN rep.VAR_COMPLESSIVO + ELSE ROUND(rep.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + rep.VAR_COPERTURA AS Copertura, + rep.RISKCLASS, + rep.RISKCLASSMAX, + case when rep.RISKCLASS is null then 'n.a.' + else null + end as RiskClassString, + case when rep.RISKCLASSMAX is null then 'n.a.' + else null + end as RiskClassMaxString + + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + -- modifica del 24/7/2017 per gestire le situazioni limite dell'avvio monitoraggio a cavallo tra 2 trim (vedi segnalazione + -- del qc su cf F/TRRLDA52D04G190A) + --INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + CONVERT(varchar,ini.data_foto,112) <= convert(varchar,ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)),112) + -- fine modifica del 24/7/2017 + + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + + + UNION ALL + + -- Situazione corrente + + SELECT + BF.RETE , + BF.COD_FISCALE, + 3 fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + --CASE + -- WHEN (@contaPOS - @contaCC = 0 ) THEN 100 + -- ELSE isnull(RA.COPERTURA,0) + --END AS Copertura, + isnull(RA.COPERTURA,0) as copertura, +-- TRINGALI MODIFICARE + ra.creditrisk as RISKCLASS, + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' + else null end as RiskClassString, + case when mifid.riskclass is null then 'n.a.' + else null diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_pre_selective.sql new file mode 100644 index 00000000..16319f4c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_pre_selective.sql @@ -0,0 +1,153 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S80BisEvoluzioneRischio_pre_selective + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80BisEvoluzioneRischio]'F','02392500605S' + + +CREATE procedure [C6MartPeriodico].[Popola_S80BisEvoluzioneRischio_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @DataCongelamento DATETIME + + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + + +truncate table c6martperiodico.tb_S80BisEvoluzioneRischio +insert into c6martperiodico.tb_S80BisEvoluzioneRischio + SELECT + ini.rete, + ini.COD_FISCALE, + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO + ELSE ROUND(INI.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + INI.VAR_COPERTURA AS Copertura, + INI.RISKCLASS, + INI.RISKCLASSMAX, + case + when INI.RISKCLASS is null then 'n.d.' + when INI.RISKCLASS = 0 then 'n.a.' + else null + end as RiskClassString, + + case + when INI.RISKCLASSMAX is null then 'n.d.' + when INI.RISKCLASSMAX = 0 then 'n.a.' + else null + end as RiskClassMaxString + + + + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + LEFT OUTER join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + + UNION ALL + + -- Precedente invio report + + SELECT + rep.RETE , + rep.COD_FISCALE , + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN rep.VAR_COMPLESSIVO IS NULL THEN rep.VAR_COMPLESSIVO + ELSE ROUND(rep.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + rep.VAR_COPERTURA AS Copertura, + rep.RISKCLASS, + rep.RISKCLASSMAX, + case when rep.RISKCLASS is null then 'n.a.' + else null + end as RiskClassString, + case when rep.RISKCLASSMAX is null then 'n.a.' + else null + end as RiskClassMaxString + + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + + + UNION ALL + + -- Situazione corrente + + SELECT + BF.RETE , + BF.COD_FISCALE, + 3 fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + --CASE + -- WHEN (@contaPOS - @contaCC = 0 ) THEN 100 + -- ELSE isnull(RA.COPERTURA,0) + --END AS Copertura, + isnull(RA.COPERTURA,0) as copertura, +-- TRINGALI MODIFICARE + ra.creditrisk as RISKCLASS, + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' + else null end as RiskClassString, + case when mifid.riskclass is null then 'n.a.' + else null end as RiskClassMaxString + FROM + C6MartPeriodico.vPatrimonioBFAggregato AS BF + INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON BF.RETE = MIFID.RETE + AND BF.COD_FISCALE = MIFID.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = BF.RETE + AND RA.COD_FISCALE = BF.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' + + + +-- Aggiornamento Copertura + +update s80 + set copertura = ( CASE + WHEN (nocc - CC = 0 ) THEN 100 + ELSE copertura + END ) + from c6martperiodico.tb_S80BisEvoluzioneRisch diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio.sql new file mode 100644 index 00000000..1c876f6b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio.sql @@ -0,0 +1,125 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S80_S129_EvoluzioneCTVPatrimonio + + + + + + + + + + + + +-- Stored procedure + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio]'F','GSTGPL59P03B586G' + + +CREATE procedure [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Recupero data congelamento SEI + + DECLARE @DataCongelamento DATETIME + + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + + + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + + + + -- -- Inserimento Dati Scirocco + -- SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + --FROM C6MartPeriodico.DettaglioMovimenti + --WHERE + -- RETE = @Rete + --AND + -- COD_FIS = @CodiceFiscale + + --IF @DettMovPrec is null + -- SET @AppoDettMovPrec = 'n.d.' + --ELSE + -- SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + + --IF @DettMovCorr is null + -- SET @AppoDettMovCorr = 'n.d.' + --ELSE + -- SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + + ----query per asterischi situazione precedente + --IF EXISTS(SELECT * FROM [C6StagingPeriodico].[WSEICS] + -- WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + -- AND RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + + --IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + -- WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + ------------------------------------------- + + ----query per asterischi situazione corrente + --IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + -- WHERE COD_INTERNO IN ('37', 'GP') + -- AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + -- SET @NumAsterischiCorr = 1 + ------------------------------------------- + + --SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale + + --SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale + + +truncate table C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + + -- Attivazione monitoraggio + insert into C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + SELECT + INI.RETE, + INI.Cod_Fiscale, + 1 AS Fase, + isnull(INI.DATA_FOTO,0) AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + isnull(INI.CTV_EXT,0) as CTV_EXT, + isnull(INI.CTV_INV,0) as CTV_INV, + isnull(INI.CTV_PRE,0) as CTV_PRE, + isnull(INI.CTV_RIS,0) as CTV_RIS, + isnull(INI.CTV_LIQ,0) as CTV_LIQ, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) AS RisorseAllocate, + isnull(INI.CTV_NA,0) AS RisorseNonAllocate, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) AS RisorseFinanziarie, + isnull(INI.CTV_CC,0) AS Contocorrente, +--INIZIO INTERVENTI OMNIA + isnull(INI.CTVSELF,0) AS ctvself, + -- 20181206 MIOFOGLIO + --isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20170724_preCR_fasi1e2.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20170724_preCR_fasi1e2.sql new file mode 100644 index 00000000..0579b61c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20170724_preCR_fasi1e2.sql @@ -0,0 +1,117 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S80_S129_EvoluzioneCTVPatrimonio_20170724_preCR_fasi1e2 + + + + + +-- Stored procedure + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio]'F','GSTGPL59P03B586G' + + +CREATE procedure [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio_20170724_preCR_fasi1e2] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Recupero data congelamento SEI + + DECLARE @DataCongelamento DATETIME + + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + + + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + + + + -- -- Inserimento Dati Scirocco + -- SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + --FROM C6MartPeriodico.DettaglioMovimenti + --WHERE + -- RETE = @Rete + --AND + -- COD_FIS = @CodiceFiscale + + --IF @DettMovPrec is null + -- SET @AppoDettMovPrec = 'n.d.' + --ELSE + -- SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + + --IF @DettMovCorr is null + -- SET @AppoDettMovCorr = 'n.d.' + --ELSE + -- SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + + ----query per asterischi situazione precedente + --IF EXISTS(SELECT * FROM [C6StagingPeriodico].[WSEICS] + -- WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + -- AND RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + + --IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + -- WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + ------------------------------------------- + + ----query per asterischi situazione corrente + --IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + -- WHERE COD_INTERNO IN ('37', 'GP') + -- AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + -- SET @NumAsterischiCorr = 1 + ------------------------------------------- + + --SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale + + --SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale + + +truncate table C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + + -- Attivazione monitoraggio + insert into C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + SELECT + INI.RETE, + INI.Cod_Fiscale, + 1 AS Fase, + isnull(INI.DATA_FOTO,0) AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + isnull(INI.CTV_EXT,0) as CTV_EXT, + isnull(INI.CTV_INV,0) as CTV_INV, + isnull(INI.CTV_PRE,0) as CTV_PRE, + isnull(INI.CTV_RIS,0) as CTV_RIS, + isnull(INI.CTV_LIQ,0) as CTV_LIQ, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) AS RisorseAllocate, + isnull(INI.CTV_NA,0) AS RisorseNonAllocate, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) AS RisorseFinanziarie, + isnull(INI.CTV_CC,0) AS Contocorrente, +--INIZIO INTERVENTI OMNIA + isnull(INI.CTVSELF,0) AS ctvself, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LI diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20180108.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20180108.sql new file mode 100644 index 00000000..453bb21e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20180108.sql @@ -0,0 +1,118 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S80_S129_EvoluzioneCTVPatrimonio_20180108 + + + + + + +-- Stored procedure + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio]'F','GSTGPL59P03B586G' + + +CREATE procedure [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio_20180108] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Recupero data congelamento SEI + + DECLARE @DataCongelamento DATETIME + + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + + + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + + + + -- -- Inserimento Dati Scirocco + -- SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + --FROM C6MartPeriodico.DettaglioMovimenti + --WHERE + -- RETE = @Rete + --AND + -- COD_FIS = @CodiceFiscale + + --IF @DettMovPrec is null + -- SET @AppoDettMovPrec = 'n.d.' + --ELSE + -- SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + + --IF @DettMovCorr is null + -- SET @AppoDettMovCorr = 'n.d.' + --ELSE + -- SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + + ----query per asterischi situazione precedente + --IF EXISTS(SELECT * FROM [C6StagingPeriodico].[WSEICS] + -- WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + -- AND RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + + --IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + -- WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + ------------------------------------------- + + ----query per asterischi situazione corrente + --IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + -- WHERE COD_INTERNO IN ('37', 'GP') + -- AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + -- SET @NumAsterischiCorr = 1 + ------------------------------------------- + + --SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale + + --SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale + + +truncate table C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + + -- Attivazione monitoraggio + insert into C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + SELECT + INI.RETE, + INI.Cod_Fiscale, + 1 AS Fase, + isnull(INI.DATA_FOTO,0) AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + isnull(INI.CTV_EXT,0) as CTV_EXT, + isnull(INI.CTV_INV,0) as CTV_INV, + isnull(INI.CTV_PRE,0) as CTV_PRE, + isnull(INI.CTV_RIS,0) as CTV_RIS, + isnull(INI.CTV_LIQ,0) as CTV_LIQ, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) AS RisorseAllocate, + isnull(INI.CTV_NA,0) AS RisorseNonAllocate, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) AS RisorseFinanziarie, + isnull(INI.CTV_CC,0) AS Contocorrente, +--INIZIO INTERVENTI OMNIA + isnull(INI.CTVSELF,0) AS ctvself, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnul diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20181214_PreMioFoglio.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..4269f8a9 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20181214_PreMioFoglio.sql @@ -0,0 +1,118 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S80_S129_EvoluzioneCTVPatrimonio_20181214_PreMioFoglio + + + + + + +-- Stored procedure + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio]'F','GSTGPL59P03B586G' + + +CREATE procedure [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Recupero data congelamento SEI + + DECLARE @DataCongelamento DATETIME + + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + + + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + + + + -- -- Inserimento Dati Scirocco + -- SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + --FROM C6MartPeriodico.DettaglioMovimenti + --WHERE + -- RETE = @Rete + --AND + -- COD_FIS = @CodiceFiscale + + --IF @DettMovPrec is null + -- SET @AppoDettMovPrec = 'n.d.' + --ELSE + -- SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + + --IF @DettMovCorr is null + -- SET @AppoDettMovCorr = 'n.d.' + --ELSE + -- SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + + ----query per asterischi situazione precedente + --IF EXISTS(SELECT * FROM [C6StagingPeriodico].[WSEICS] + -- WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + -- AND RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + + --IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + -- WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + ------------------------------------------- + + ----query per asterischi situazione corrente + --IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + -- WHERE COD_INTERNO IN ('37', 'GP') + -- AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + -- SET @NumAsterischiCorr = 1 + ------------------------------------------- + + --SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale + + --SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale + + +truncate table C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + + -- Attivazione monitoraggio + insert into C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + SELECT + INI.RETE, + INI.Cod_Fiscale, + 1 AS Fase, + isnull(INI.DATA_FOTO,0) AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + isnull(INI.CTV_EXT,0) as CTV_EXT, + isnull(INI.CTV_INV,0) as CTV_INV, + isnull(INI.CTV_PRE,0) as CTV_PRE, + isnull(INI.CTV_RIS,0) as CTV_RIS, + isnull(INI.CTV_LIQ,0) as CTV_LIQ, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) AS RisorseAllocate, + isnull(INI.CTV_NA,0) AS RisorseNonAllocate, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) AS RisorseFinanziarie, + isnull(INI.CTV_CC,0) AS Contocorrente, +--INIZIO INTERVENTI OMNIA + isnull(INI.CTVSELF,0) AS ctvself, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale.sql new file mode 100644 index 00000000..cd7324dc --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale.sql @@ -0,0 +1,129 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale + + + + + + + + + + + + + + + +-- Stored procedure + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio]'F','GSTGPL59P03B586G' + + +CREATE procedure [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Recupero data congelamento SEI + + DECLARE @DataCongelamento DATETIME + + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + + +--select * from #riga_nuova + + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + + + + -- -- Inserimento Dati Scirocco + -- SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + --FROM C6MartPeriodico.DettaglioMovimenti + --WHERE + -- RETE = @Rete + --AND + -- COD_FIS = @CodiceFiscale + + --IF @DettMovPrec is null + -- SET @AppoDettMovPrec = 'n.d.' + --ELSE + -- SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + + --IF @DettMovCorr is null + -- SET @AppoDettMovCorr = 'n.d.' + --ELSE + -- SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + + ----query per asterischi situazione precedente + --IF EXISTS(SELECT * FROM [C6StagingPeriodico].[WSEICS] + -- WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + -- AND RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + + --IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + -- WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + ------------------------------------------- + + ----query per asterischi situazione corrente + --IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + -- WHERE COD_INTERNO IN ('37', 'GP') + -- AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + -- SET @NumAsterischiCorr = 1 + ------------------------------------------- + + --SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale + + --SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale + + +truncate table C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc + + -- Attivazione monitoraggio + insert into C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc + SELECT + INI.RETE, + INI.Cod_Fiscale, + 1 AS Fase, + isnull(INI.DATA_FOTO,0) AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + isnull(INI.CTV_EXT,0) as CTV_EXT, + isnull(INI.CTV_INV,0) as CTV_INV, + isnull(INI.CTV_PRE,0) as CTV_PRE, + isnull(INI.CTV_RIS,0) as CTV_RIS, + isnull(INI.CTV_LIQ,0) as CTV_LIQ, + + -- aggiunta del 19-10-2020 per il calcolo delle percentuali delle varie aree della piramide + + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](INI.Cod_Fiscale,INI.RETE,'Ext'),0.00) as PERC_EXT, + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](INI.Cod_Fiscale,INI.RETE,'Inv'),0.00) as PERC_INV, + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](INI.Cod_Fiscale,INI.RETE,'Pre'),0.00) as PERC_PRE, + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](INI.Cod_Fiscale,INI.RETE,'Ris'),0.00) as PERC_RIS, diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3.sql new file mode 100644 index 00000000..f244922d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3.sql @@ -0,0 +1,86 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3 + + + + + + + + + + + +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +CREATE procedure [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3] +-- Add the parameters for the stored procedure here + + +AS +begin +DECLARE @DataCongelamento DATETIME + + --DECLARE @DettMovPrec money + --DECLARE @DettMovCorr money + --DECLARE @AppoDettMovPrec varchar(50) + --DECLARE @AppoDettMovCorr varchar(50) + --DECLARE @NumAsterischiPrec int + --DECLARE @NumAsterischiCorr int + + + --SET @NumAsterischiPrec = 0 + --SET @NumAsterischiCorr = 0 + + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + +drop table if exists c6martperiodico.TB_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3 + + + +SELECT + rete, + cod_fiscale, + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + --Get the sum Operazioni in corso + --sum((isnull(IMPORTO,0))) as Partita_viaggiante, + 0 as Partita_viaggiante, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) as CTV_EXT, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) as CTV_INV, + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) as CTV_PRE, + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end ) as CTV_PRE, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) as CTV_RIS, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) as CTV_LIQ, + + -- aggiunta del 19-10-2020 per il calcolo delle percentuali delle varie aree della piramide + -- case + -- when (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) = 0 + -- then 0.0 + -- else + -- sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) / (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) * 100 + --end as PERC_EXT, + --case + -- when (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) = 0 + -- then 0.0 + -- else + -- sum(case Upper(id_area) when 'INV' then ctv else 0 end ) / (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) * 100 + --end as PERC_INV, + --case + -- when (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) = 0 + -- then + -- 0.0 + -- else + -- sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) / (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv el diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_pre_selective.sql new file mode 100644 index 00000000..a83cc438 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_pre_selective.sql @@ -0,0 +1,119 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_S80_S129_EvoluzioneCTVPatrimonio_pre_selective + + + + +-- Stored procedure + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio_pre_selective]'F','GSTGPL59P03B586G' + + +CREATE procedure [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Recupero data congelamento SEI + + DECLARE @DataCongelamento DATETIME + + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + + + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + + + + -- -- Inserimento Dati Scirocco + -- SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + --FROM C6MartPeriodico.DettaglioMovimenti + --WHERE + -- RETE = @Rete + --AND + -- COD_FIS = @CodiceFiscale + + --IF @DettMovPrec is null + -- SET @AppoDettMovPrec = 'n.d.' + --ELSE + -- SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + + --IF @DettMovCorr is null + -- SET @AppoDettMovCorr = 'n.d.' + --ELSE + -- SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + + ----query per asterischi situazione precedente + --IF EXISTS(SELECT * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICS] + -- WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + -- AND RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + + --IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + -- WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + ------------------------------------------- + + ----query per asterischi situazione corrente + --IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + -- WHERE COD_INTERNO IN ('37', 'GP') + -- AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + -- SET @NumAsterischiCorr = 1 + ------------------------------------------- + + --SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale + + --SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale + + +truncate table C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + + -- Attivazione monitoraggio + insert into C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + SELECT + INI.RETE, + INI.Cod_Fiscale, + 1 AS Fase, + isnull(INI.DATA_FOTO,0) AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + isnull(INI.CTV_EXT,0) as CTV_EXT, + isnull(INI.CTV_INV,0) as CTV_INV, + isnull(INI.CTV_PRE,0) as CTV_PRE, + isnull(INI.CTV_RIS,0) as CTV_RIS, + isnull(INI.CTV_LIQ,0) as CTV_LIQ, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) AS RisorseAllocate, + isnull(INI.CTV_NA,0) AS RisorseNonAllocate, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) AS RisorseFinanziarie, + isnull(INI.CTV_CC,0) AS Contocorrente, +--INIZIO INTERVENTI OMNIA + isnull(INI.CTVSELF,0) AS ctvself, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) + isnull(INI.CTV_CC,0) + isnull(INI.CTVSELF,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + ,null as DettMovS80 + ,null as DettM diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_TB_S180ProdottiComplessitaAlta.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_TB_S180ProdottiComplessitaAlta.sql new file mode 100644 index 00000000..d8ea0374 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_TB_S180ProdottiComplessitaAlta.sql @@ -0,0 +1,66 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_TB_S180ProdottiComplessitaAlta + + + + + + + +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[Popola_TB_S180ProdottiComplessitaAlta] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN + +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + +truncate table C6MartPeriodico.TB_S180ProdottiComplessitaAlta + +INSERT INTO [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] + ([Rete] + ,[Cod_fiscale] + ,[Codman] + ,[Ordine] + ,[CodiceContratto] + ,[NomeProdotto] + ,[Controvalore] + ,[Compl_Base] + ,Percentuale_CTV) +SELECT distinct + rete, + case when codman<>'' then 'FF@'+trim(codman) else trim(codfis) end as Cod_Fiscale, + trim(codman), + 1, --ordine viene impostato a un valore fisso perch al momento non lo gestiamo + trim(codconf), + trim(descprod), + ctv, + case when compl='H' then 4 + when compl='MH' then 3 + when compl='ML' then 2 end as Complessita, + PERCCTV + +FROM +[C6StagingPeriodico].[WSEIAD2] wsei + + + +WHERE 1=1 + + and DTTRIM = @DataFineTrim + +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_W6ASSETPERC.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_W6ASSETPERC.sql new file mode 100644 index 00000000..a67a3019 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_W6ASSETPERC.sql @@ -0,0 +1,76 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_W6ASSETPERC + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[Popola_W6ASSETPERC_newJoin] +AS +BEGIN + + SET NOCOUNT ON; + + + delete from [consuni].consulenzaunica.[dbo].[W6ASSETPERC] + + INSERT INTO [consuni].consulenzaunica.[dbo].[W6ASSETPERC] + ( + [COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[COD_ISIN] + ,[COD_MAF] + ,[ID_ASSETCLASS] + ,[CATALOGUENAME] + ,[ASSETCLASSNAME] + ,[BDPERCENTAGE] + ----------modifica del 24/6/2019 + ,[Visibilita] + ----------FINE modifica del 24/6/2019 + + ) + +-- modifica richiesta il 25-26/6/2019 (Tesi/Scirocco) - modificata la join tra le tabelle per caricare anche i prodotti che non sono mappati + +SELECT DISTINCT + isnull(cat.CodInterno,'') AS COD_INTERNO, + isnull(cat.CodSottoprodotto,'') AS COD_SOTTOPRODOTTO, + isnull(cat.CodIsin,'') AS COD_ISIN, + isnull(cat.CodMaf,'') AS COD_MAF, + isnull(LTRIM(RTRIM(map.Asset)),'') AS ID_ASSETCLASS, + isnull(cat.NomeProdotto,'') as CATALOGUENAME, + isnull(map.Descrizione,'') as ASSETCLASSNAME, + isnull(LTRIM(RTRIM(map.Percentuale)),0) AS BDPERCENTAGE, + --map.Percentuale AS BDPERCENTAGE, + -- ----------modifica del 24/6/2019 + --isnull(cat.visibilita,'') AS VISIBILITA + cat.visibilita AS VISIBILITA + ----------FINE modifica del 24/6/2019 + + +FROM C6StagingPeriodico.RP_CatalogoProdotti cat + + left join (select m.chiaveprodotto,a.Asset,a.Descrizione,m.Percentuale from C6StagingPeriodico.RP_Mappatura m + inner join C6StagingPeriodico.RP_AssetClass a + ON a.Asset = m.Asset and a.Livello = 2 + + ) AS map ON map.ChiaveProdotto = cat.ChiaveProdotto + + +WHERE 1=1 + and cat.CodInterno is not null + + + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_W6ASSETPERC_20190624.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_W6ASSETPERC_20190624.sql new file mode 100644 index 00000000..9db9d482 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_W6ASSETPERC_20190624.sql @@ -0,0 +1,92 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_W6ASSETPERC_20190624 + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[Popola_W6ASSETPERC_20190624] +AS +BEGIN + + SET NOCOUNT ON; + + --DECLARE @ID_ELAB INT + --DECLARE @TIPO_ELAB VARCHAR(1) + + --SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + --SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + ---- Log esecuzione + --INSERT INTO LOG_ESECUZIONE_PERIODICO + -- (Nome, Inizio, Nota) + --VALUES ( + -- 'W6ASSETPERC', + -- GETDATE(), + -- 'Elaborazione trimestrale' + --) + + delete from [consuni].consulenzaunica.[dbo].[W6ASSETPERC] + + INSERT INTO [consuni].consulenzaunica.[dbo].[W6ASSETPERC] + ( + [COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[COD_ISIN] + ,[COD_MAF] + ,[ID_ASSETCLASS] + ,[CATALOGUENAME] + ,[ASSETCLASSNAME] + ,[BDPERCENTAGE] + ) + +SELECT DISTINCT + isnull(cat.CodInterno,'') AS COD_INTERNO, + isnull(cat.CodSottoprodotto,'') AS COD_SOTTOPRODOTTO, + isnull(cat.CodIsin,'') AS COD_ISIN, + isnull(cat.CodMaf,'') AS COD_MAF, + isnull(LTRIM(RTRIM(ac.Asset)),'') AS ID_ASSETCLASS, + isnull(cat.NomeProdotto,'') as CATALOGUENAME, + isnull(ac.Descrizione,'') as ASSETCLASSNAME, + isnull(LTRIM(RTRIM(map.Percentuale)),'') AS BDPERCENTAGE +FROM C6StagingPeriodico.RP_Mappatura AS map + INNER JOIN C6StagingPeriodico.RP_AssetClass AS ac + ON map.Asset = ac.Asset + INNER JOIN C6StagingPeriodico.RP_CatalogoProdotti cat + ON map.ChiaveProdotto = cat.ChiaveProdotto +WHERE Livello = 2 +-- ----------modifica del 30/5/2019 + and cat.CodInterno is not null +-- ----------fire modifica del 30/5/2019 +-- ----------modifica del 21/6/2019 + -- and cat.visibilita = 1 +-- ----------fire modifica del 21/6/2019 + + + + + -- Log esecuzione + --UPDATE + -- LOG_ESECUZIONE_PERIODICO + --SET + -- Fine = GETDATE(), + -- Tipo = 'INSERT', + -- Righe = @@ROWCOUNT + --WHERE + -- Nome = 'W6ASSETPERC' AND + -- Inizio = ( + -- SELECT + -- MAX(Inizio) + -- FROM + -- LOG_ESECUZIONE_PERIODICO + -- WHERE + -- Nome = 'W6ASSETPERC' + -- ) + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_Popola_W6ASSETPERC_20190701.sql b/sql/storedCollaudo/C6MartPeriodico_Popola_W6ASSETPERC_20190701.sql new file mode 100644 index 00000000..88dda833 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popola_W6ASSETPERC_20190701.sql @@ -0,0 +1,67 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popola_W6ASSETPERC_20190701 + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[Popola_W6ASSETPERC_20190626] +AS +BEGIN + + SET NOCOUNT ON; + + + delete from [consuni].consulenzaunica.[dbo].[W6ASSETPERC] + + INSERT INTO [consuni].consulenzaunica.[dbo].[W6ASSETPERC] + ( + [COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[COD_ISIN] + ,[COD_MAF] + ,[ID_ASSETCLASS] + ,[CATALOGUENAME] + ,[ASSETCLASSNAME] + ,[BDPERCENTAGE] + ----------modifica del 24/6/2019 + ,[Visibilita] + ----------FINE modifica del 24/6/2019 + + ) + +SELECT DISTINCT + isnull(cat.CodInterno,'') AS COD_INTERNO, + isnull(cat.CodSottoprodotto,'') AS COD_SOTTOPRODOTTO, + isnull(cat.CodIsin,'') AS COD_ISIN, + isnull(cat.CodMaf,'') AS COD_MAF, + isnull(LTRIM(RTRIM(ac.Asset)),'') AS ID_ASSETCLASS, + isnull(cat.NomeProdotto,'') as CATALOGUENAME, + isnull(ac.Descrizione,'') as ASSETCLASSNAME, + isnull(LTRIM(RTRIM(map.Percentuale)),'') AS BDPERCENTAGE, + -- ----------modifica del 24/6/2019 + isnull(cat.visibilita,'') AS VISIBILITA + ----------FINE modifica del 24/6/2019 + +FROM C6StagingPeriodico.RP_Mappatura AS map + INNER JOIN C6StagingPeriodico.RP_AssetClass AS ac + ON map.Asset = ac.Asset + INNER JOIN C6StagingPeriodico.RP_CatalogoProdotti cat + ON map.ChiaveProdotto = cat.ChiaveProdotto +WHERE Livello = 2 +-- ----------modifica del 30/5/2019 + and cat.CodInterno is not null +-- ----------fire modifica del 30/5/2019 + + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_Popolamento_RP_W6CLIREP.sql b/sql/storedCollaudo/C6MartPeriodico_Popolamento_RP_W6CLIREP.sql new file mode 100644 index 00000000..61a044e9 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popolamento_RP_W6CLIREP.sql @@ -0,0 +1,148 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popolamento_RP_W6CLIREP + + + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[Popolamento_RP_W6CLIREP] + +AS +BEGIN + + SET NOCOUNT ON; + + --dichiaro variabile data di trimestrale + DECLARE @dttrim int + + --valorizzo la data di trimestrale al giorno del congelamento + set @dttrim = CAST(CONVERT(varchar, CAST(C6MartPeriodico.getDataCongelamento() as DATETIME),112) as int) + --print @dttrim + + --Tronchiamo la tabella RP_vTuttiIPortafogli_Aladdin_tab e la ripopoliamo + --a partire dalla vista RP_vTuttiIPortafogli_Aladdin + + Truncate table C6StampeCentralizzate.C6MartPeriodico.w6clirep + -- + insert into C6StampeCentralizzate.C6MartPeriodico.w6clirep + select + '6' as FLGCLI , + 'M' as FLGBL , + 'A' as TIPOELA, + @dttrim as DTTRIM, + rete, + codfis, + piva, + codman, + '' as CODFID, + '' as CODAGE, + CASE + WHEN cod_interno not in ('SINT3MEUR','SINT6MEUR','09560690') and famprodt = 'DT' THEN isnull(cod_interno,'') --aggiunta SINT6MEUR 10/03/2023 + ELSE '' + END as CODABI, + ISNULL(termid,00000000), + cast(annos as int) as anno , + case when famprodt='GE' then 00000000 --aggiunta con else sotto + else cast(progs as int) end as prog , + 0 as quote, + cast(ctvreale as float) as CTV, + codconf, --17 + rubr, + custgar, + ISNULL(cod_interno,''), + '' as codana, + CASE + WHEN cast(annos as int) <> 0 and cast(progs as int) <> 0 then 'S' + ELSE 'N' + END as FLAGPCT, + --CASE + -- WHEN famprodt <> 'DT' and famprodt <> 'CC' THEN isnull(cod_interno,'') + -- ELSE '' + --END + '' as codprod, + ISNULL(cod_sottoprodotto,''), + ISNULL(cod_isin,''), + '' as codlinea, + tipoptf, + area, + progetto, + codprj, + ISNULL(chiave_prodotto_terzi,''), + ISNULL(assetterzi,''), + ISNULL(famprodt,''), + ISNULL(intermediario,''), + ISNULL(codiceadeguatezza,''), + ISNULL(cod_maf,''), + conto, + numpolizza, + position_id, + --aggiunta 08/06/2022 + '' as PREFSOST, + '' as FLAGAMB, + '' as FLAGSOC, + '' as FLAGGOV, + Prodotto_id + from [C6StampeCentralizzate].[C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin] + + + --aggiunta informazioni codabi per i prodotti PCT + +SELECT [DTTRIM] + ,[DTRIFE] + ,ltrim(rtrim([RETE])) as rete + ,ltrim(rtrim([CODFIS])) as codfis + ,ltrim(rtrim([CODCONF])) as codconf + ,[NUMPOL] + ,ltrim(rtrim([CONTO])) as conto + ,[RUBR] + ,[CUSTGAR] + ,ltrim(rtrim([TIPPROD])) as tipprod + ,ltrim(rtrim([CODINT])) as codint + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[QUOTE] + ,ltrim(rtrim([CODMAN])) as codman + ,[SALRISC] + ,[ATTIVO] + into #PCT --selezioniamo dalla wseics i soli clienti possessori di un pct in portafoglio + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[wseics] WHERE CODABI <> '' + and pctKey <> '' + and dttrim = (Select Max(dttrim) from [C6StampeCentralizzate].[C6StagingPeriodico].[wseics]) + + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + set codabi = pct.codabi + --select w6.rete,pct.rete,w6.codfis,w6.piva,pct.codfis,w6.codman,pct.codman,w6.conto,pct.conto,w6.codconf,pct.codconf,pct.codabi + --, pct.tipprod,w6.famprodt + from #PCT pct + left join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] as w6 + on w6.rete=pct.rete and w6.codfis+w6.piva+w6.codman = ltrim(rtrim(pct.codfis))+ltrim(rtrim(pct.codman)) + and w6.codconf=ltrim(rtrim(pct.codconf)) and w6.conto=ltrim(rtrim(pct.conto)) and w6.famprodt = ltrim(rtrim(pct.tipprod)) + where w6.flagpct = 'S' + -- Aggiungiamo le informazioni mancanti per il codman piva_fiduciaria + + select b.cod_mandato diff --git a/sql/storedCollaudo/C6MartPeriodico_Popolamento_RP_vTuttiIPortafogli_Aladdin_tab.sql b/sql/storedCollaudo/C6MartPeriodico_Popolamento_RP_vTuttiIPortafogli_Aladdin_tab.sql new file mode 100644 index 00000000..cc41befb --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Popolamento_RP_vTuttiIPortafogli_Aladdin_tab.sql @@ -0,0 +1,95 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Popolamento_RP_vTuttiIPortafogli_Aladdin_tab + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[Popolamento_RP_vTuttiIPortafogli_Aladdin_tab] + +AS +BEGIN + + SET NOCOUNT ON; + + --dichiaro variabile data di trimestrale + DECLARE @dttrim int + + --valorizzo la data di trimestrale al giorno del congelamento + set @dttrim = CAST(CONVERT(varchar, CAST(C6MartPeriodico.getDataCongelamento() as DATETIME),112) as int) + + + --Tronchiamo la tabella RP_vTuttiIPortafogli_Aladdin_tab e la ripopoliamo + --a partire dalla vista RP_vTuttiIPortafogli_Aladdin + + Truncate table C6StampeCentralizzate.C6MartPeriodico.RP_vTuttiIPortafogli_Aladdin_tab + -- + insert into C6StampeCentralizzate.C6MartPeriodico.RP_vTuttiIPortafogli_Aladdin_tab + select + '6' as FLGCLI , + 'M' as FLGBL , + 'B' as TIPOELA, + @dttrim as DTTRIM, + rete, + codfis, + piva, + codman, + '' as CODFID, + '' as CODAGE, + CASE + WHEN cod_interno <> 'SINT3MEUR' and famprodt = 'DT' THEN isnull(cod_interno,'') + ELSE '' + END as CODABI, + ISNULL(termid,00000000), + cast(annos as int) as anno , + cast(progs as int) as prog , + 0 as quote, + cast(ctvreale as float) as CTV, + codconf, --17 + rubr, + custgar, + ISNULL(cod_interno,''), + '' as codana, + '' as FLAGPCT, + --CASE + -- WHEN famprodt <> 'DT' and famprodt <> 'CC' THEN isnull(cod_interno,'') + -- ELSE '' + --END + '' as codprod, + ISNULL(cod_sottoprodotto,''), + ISNULL(cod_isin,''), + '' as codlinea, + tipoptf, + area, + progetto, + codprj, + ISNULL(chiave_prodotto_terzi,''), + ISNULL(assetterzi,''), + ISNULL(famprodt,''), + ISNULL(intermediario,''), + ISNULL(codiceadeguatezza,''), + ISNULL(cod_maf,''), + conto, + numpolizza, + position_id + from [C6StampeCentralizzate].[C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin] + + -- Aggiungiamo le informazioni mancanti per il codman piva_fiduciaria + + select b.cod_mandato,b.rete,b.piva_fiduciaria into + #tab + FROM + [C6StampeCentralizzate].[C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin_tab] a + inner join (select distinct rete,cod_mandato,piva_fiduciaria from [C6StampeCentralizzate].[C6StagingPeriodico].[APPO_CONTRATTI_V] where cod_mandato<>'') b + on a.rete= b.rete and isnull(a.codman,'')=isnull(b.cod_mandato,'') + + + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin_tab] + set piva = piva_fiduciaria + from #tab tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin_tab] as a + on a.rete= tab.rete and isnull(a.codman,'')=isnull(tab.cod_mandato,'') + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_ProfiloScaduto_Campione.sql b/sql/storedCollaudo/C6MartPeriodico_ProfiloScaduto_Campione.sql new file mode 100644 index 00000000..3fcb58e7 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_ProfiloScaduto_Campione.sql @@ -0,0 +1,27 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: ProfiloScaduto_Campione + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[ProfiloScaduto_Campione] + -- Add the parameters for the stored procedure here + +AS +BEGIN + + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT c.rete as Rete, c.cod_fiscale as [Codice Fiscale], flag_stampa +FROM [C6MartPeriodico].[TB_Campione] c +INNER JOIN C6MartPERIODICO.MIFID m +ON c.cod_fiscale = m.COD_FISCALE +WHERE m.SCADUTO <> 0 + -- Insert statements for procedure here + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_RESTART_CONTROLLO_TRIMESTRALE.sql b/sql/storedCollaudo/C6MartPeriodico_RESTART_CONTROLLO_TRIMESTRALE.sql new file mode 100644 index 00000000..052f8e93 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RESTART_CONTROLLO_TRIMESTRALE.sql @@ -0,0 +1,34 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RESTART_CONTROLLO_TRIMESTRALE + +-- Stored procedure +CREATE procedure [C6MartPeriodico].[RESTART_CONTROLLO_TRIMESTRALE] +AS +BEGIN + +INSERT INTO C6MARTPERIODICO.CONTROLLO_TRIMESTRALE + --SELECT DISTINCT COD_FISCALE, RETE, FLAG_DIAGNOSI, NULL, NULL, 1, NULL, getdate() FROM C6MARTPERIODICO.CONTROLLO_TRIMESTRALE WHERE STATO_REPORT=7 + +select distinct cod_Fiscale,b.rete, flag_diagnosi,null,null,1,null,getdate() +from --c6martperiodico.gestione_pdf_ftp a +--join +c6martperiodico.controllo_trimestrale b +--on a.rete=b.rete and a.codiceFiscale = b.cod_fiscale +--where id_fk_zip = 353 +--and +where b.rete+b.cod_Fiscale in (select distinct rete + codiceFiscale from c6martperiodico.excludedlist where bloccato = 0) +--where bloccato = 1) +and stato_report < 20 and stato_report >= 4 + + +END +-- +--select count(*),stato_report +--from c6martperiodico.controllo_trimestrale +--group by stato_report +-- +--select * from c6martperiodico.controllo_trimestrale +--where cod_fiscale = 'BBBRFL74M50C573M' +--where stato_report = 7 + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RFA_SEGNALATI_SP.sql b/sql/storedCollaudo/C6MartPeriodico_RFA_SEGNALATI_SP.sql new file mode 100644 index 00000000..59a5f413 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RFA_SEGNALATI_SP.sql @@ -0,0 +1,33 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RFA_SEGNALATI_SP + + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: Aggiunta chiave primaria autoincrement su tabella di staging +-- per eliminazione duplicati. +-- ============================================= +CREATE procedure [C6MartPeriodico].[RFA_SEGNALATI_SP] +AS +BEGIN + + +SET NOCOUNT ON; +INSERT INTO [C6MartPeriodico].[ExcludedList] +(Rete,codicefiscale,DescrErr,DataIns,Bloccato) +select rfa.rete,rfa.codfis,'DESCR_ANOM_VP',getdate(),'1' +from [C6MartPeriodico].RFA_SEGNALATI as rfa + + + + + +END + + +--select count(*) from c6martperiodico.mifid + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RM_Sintesi_Cliente.sql b/sql/storedCollaudo/C6MartPeriodico_RM_Sintesi_Cliente.sql new file mode 100644 index 00000000..6bb6f0cc --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RM_Sintesi_Cliente.sql @@ -0,0 +1,48 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RM_Sintesi_Cliente + + +-- [C6Mart].[RM_Sintesi_Cliente] 179 +CREATE procedure [C6MartPeriodico].[RM_Sintesi_Cliente] + + @IdReport INT + +AS +BEGIN + SET NOCOUNT ON; + + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS NomeCognome, + ANAG_CLIENTI.DATA_NASCITA AS DataNascita, + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + ISNULL(CONTRATTOSEI.INDIRIZZO,'') + ' ' + + ISNULL(CONTRATTOSEI.CAP,'') + ' ' + + ISNULL(CONTRATTOSEI.CITTA,'') + + CASE + WHEN CONTRATTOSEI.PROV IS NULL THEN '' + ELSE ' (' + CONTRATTOSEI.PROV + ')' + END AS IndirizzoDiContratto, + isnull(CONTRATTOSEI.PRESSO,'') AS Presso + FROM C6MARTPERIODICO.GESTIONE_PDF_FTP + INNER JOIN C6MART.CONTRATTOSEI + ON CONTRATTOSEI.RETE = GESTIONE_PDF_FTP.RETE + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CODICEFISCALE + INNER JOIN C6MARTPERIODICO.ANAG_CLIENTI + ON ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + WHERE GESTIONE_PDF_FTP.IDREPORT = @IdReport + +END + + + + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_AggiornaFlagContratto.sql b/sql/storedCollaudo/C6MartPeriodico_RP_AggiornaFlagContratto.sql new file mode 100644 index 00000000..74ef3bb2 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_AggiornaFlagContratto.sql @@ -0,0 +1,144 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_AggiornaFlagContratto + +--select * from C6MartPeriodico.CONTRATTOSEI_METADATI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[RP_AggiornaFlagContratto] +AS +BEGIN +-- SET NOCOUNT ON added to prevent extra result sets from +-- interfering with SELECT statements. +-- SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_AggiornaFlagContratto', + GETDATE(), + 'Elaborazione giornaliera' + ) +/* +select top 1 * +from C6MartPeriodico.CONTRATTOSEI_METADATI where risorseNa is null +*/ + --AGGIORNAMENTO TABELLA CONTRATTOSEI + --FLAG RISORSE NON ASSOCIATE + --SOLO PER I CLIENTI A CUI ANDREBBE INVIATO IL REPORT + UPDATE C6MartPeriodico.CONTRATTOSEI_METADATI + SET + RisorseNA = + CASE + WHEN CLIENTIRISNA.percRisorseNA >= CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2)) THEN 'S' + ELSE 'N' + END + --AGGIUNTA perch mancava, FABRIZIO E VALERIO per Azzeramento numero solleciti email + ,NumSolleciti = + CASE + WHEN (C6.ClienteMigrato = 'S') and (CLIENTIRISNA.percRisorseNA < CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2))) THEN 0 + ELSE NumSolleciti + END + FROM C6MartPeriodico.CONTRATTOSEI_METADATI C6 + JOIN + C6MartPeriodico.VCONTRATTI VCONTR + + ON + C6.CHIAVECLIENTEPB = VCONTR.CHIAVECLIENTEPB + LEFT JOIN ( + + SELECT + NA.RETE, + NA.COD_FISCALE, + CASE + WHEN TOT.CTVTOTALE = 0 THEN 0 + ELSE 100 * NA.CTVNA / TOT.CTVTOTALE + END AS percRisorseNA + FROM ( + SELECT + ISNULL(SUM(PATRBF.CTV),0) AS CTVNA, + PATRBF.RETE, PATRBF.COD_FISCALE + + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + --INNER JOIN C6MartPeriodico.RP_vTuttiIContratti VCONTRATTIPERSEI + -- ON PATRBF.RETE = VCONTRATTIPERSEI.RETE + -- AND PATRBF.COD_FISCALE = VCONTRATTIPERSEI.COD_FISCALE + WHERE ID_AREA = 'Na' + GROUP BY + + PATRBF.RETE, PATRBF.COD_FISCALE + ) NA + INNER JOIN ( + SELECT + SUM(PATRBF.CTV) AS CTVTOTALE, + PATRBF.RETE, PATRBF.COD_FISCALE + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + + WHERE ID_AREA <> 'Cc' + GROUP BY + PATRBF.RETE, PATRBF.COD_FISCALE + ) TOT + ON TOT.RETE = NA.RETE AND TOT.COD_FISCALE = NA.COD_FISCALE + + + ) CLIENTIRISNA + + ON VCONTR.RETE = CLIENTIRISNA.RETE + AND VCONTR.COD_FISCALE = CLIENTIRISNA.COD_FISCALE + + WHERE C6.InvioBenvenuto = 'N' + + --V Aggiorna il flag Profilo Attivo per i clienti che non hanno ricevuto il report + UPDATE C6MartPeriodico.CONTRATTOSEI_METADATI + SET profiloAttivo = CASE WHEN (ISNULL(MIFID.SCADUTO,1) = 1) THEN 0 ELSE 1 end + FROM C6MartPeriodico.CONTRATTOSEI_METADATI + JOIN C6MartPeriodico.VCONTRATTI + ON VCONTRATTI.CHIAVECLIENTEPB = CONTRATTOSEI_METADATI.CHIAVECLIENTEPB + LEFT JOIN C6MartPeriodico.MIFID + --ON CONTRATTOSEI_METADATI.chiaveClientePB = MIFID.chiaveClientePB + ON MIFID.RETE = VCONTRATTI.RETE + AND MIFID.COD_FISCALE = VCONTRATTI.COD_FISCALE + WHERE InvioBenvenuto = 'N' + +--select * from C6MartPeriodico.VCONTRATTI + + --V Aggiorna i dati di migrazione + UPDATE C6MartPeriodico.CONTRATTOSEI_METADATI + SET clienteMigrato = + case when (C6Staging.RP_Migraz_Pianificazione.chiaveClientePB is null) then 'N' + else 'S' + END + FROM C6MartPeriodico.CONTRATTOSEI_METADATI + LEFT JOIN C6Staging.RP_Migraz_Pianificazione + ON CONTRATTOSEI_METADATI.chiaveClientePB = C6Staging.RP_Migraz_Pianificazione.chiaveClientePb + + + WHERE InvioBenvenuto = 'N' + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_AggiornaFlagContratto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_AggiornaFlagContratto' + ) + + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CC_TERZI.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CC_TERZI.sql new file mode 100644 index 00000000..e9b835a2 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CC_TERZI.sql @@ -0,0 +1,122 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ANAG_CC_TERZI + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CC_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + --DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + --SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CC_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ANAG_CC_TERZI + + INSERT INTO [C6MartPeriodico].[ANAG_CC_TERZI] + ( +-- chiaveClientePB +-- , + [RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDO] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB]) + + --Tutti i ContiCorrenti Terzi non a catalogo + SELECT +-- VCONTRATTI.chiaveclientepb, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + dettProdT.nomeIntermediario AS INTERMEDIARIO, + NULL AS COINTEST, + patrT.nomeProdotto AS COD_CC, + NULL AS FASCIA_CPP, + patrT.ctv AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + --INTO C6MartPeriodico.ANAG_CC_TERZI + FROM + C6StagingPeriodico.RP_PatrimonioTerzi patrT, + C6StagingPeriodico.RP_DettProdottiTerzi dettProdT, + C6StagingPeriodico.RP_AnAlberatura alber, + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] as VCONTRATTI + WHERE + dettProdT.Alberatura = alber.Alberatura + AND dettProdT.chiaveProdotto IS NULL + AND patrT.chiaveProdottoTerzi = dettProdT.chiaveProdottoTerzi + AND patrT.chiaveClientePB = VCONTRATTI.chiaveClientePB + AND alber.Livello3= 'Conti correnti' + AND patrT.tipoProd= 'Assets.FinancialAssets.CurrentAccount' + UNION ALL + --'Conti Correnti Terzi in catalogo' + SELECT +-- VCONTRATTI.chiaveclientepb, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + dettProdT.nomeIntermediario AS INTERMEDIARIO, + NULL AS COINTEST, + patrT.nomeProdotto AS COD_CC, + NULL AS FASCIA_CPP, + patrT.ctv AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + FROM + C6StagingPeriodico.RP_PatrimonioTerzi patrT, + C6StagingPeriodico.RP_DettProdottiTerzi dettProdT, + C6StagingPeriodico.RP_CatalogoProdotti catprod, + C6Mart.VCONTRATTI + WHERE + patrT.chiaveProdottoTerzi = dettprodT.chiaveProdottoTerzi + AND patrT.chiaveClientePB = VCONTRATTI.chiaveClientePB + AND dettprodT.ChiaveProdotto IS NOT NULL + AND catprod.ChiaveProdotto = dettprodT.ChiaveProdotto + AND catprod.TipoProdotto = 'CC' + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ANAG_CC_TERZI' + ) + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CC_TERZI_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CC_TERZI_pre_selective.sql new file mode 100644 index 00000000..d284a58e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CC_TERZI_pre_selective.sql @@ -0,0 +1,120 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ANAG_CC_TERZI_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CC_TERZI_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + --DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + --SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CC_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ANAG_CC_TERZI + + INSERT INTO [C6MartPeriodico].[ANAG_CC_TERZI] + ( +-- chiaveClientePB +-- , + [RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDO] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB]) + + --Tutti i ContiCorrenti Terzi non a catalogo + SELECT +-- VCONTRATTI.chiaveclientepb, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + dettProdT.nomeIntermediario AS INTERMEDIARIO, + NULL AS COINTEST, + patrT.nomeProdotto AS COD_CC, + NULL AS FASCIA_CPP, + patrT.ctv AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + --INTO C6MartPeriodico.ANAG_CC_TERZI + FROM + C6StagingPeriodico.RP_PatrimonioTerzi patrT, + C6StagingPeriodico.RP_DettProdottiTerzi dettProdT, + C6StagingPeriodico.RP_AnAlberatura alber, + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] as VCONTRATTI + WHERE + dettProdT.Alberatura = alber.Alberatura + AND dettProdT.chiaveProdotto IS NULL + AND patrT.chiaveProdottoTerzi = dettProdT.chiaveProdottoTerzi + AND patrT.chiaveClientePB = VCONTRATTI.chiaveClientePB + AND alber.Livello3= 'Conti correnti' + AND patrT.tipoProd= 'Assets.FinancialAssets.CurrentAccount' + UNION ALL + --'Conti Correnti Terzi in catalogo' + SELECT +-- VCONTRATTI.chiaveclientepb, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + dettProdT.nomeIntermediario AS INTERMEDIARIO, + NULL AS COINTEST, + patrT.nomeProdotto AS COD_CC, + NULL AS FASCIA_CPP, + patrT.ctv AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + FROM + C6StagingPeriodico.RP_PatrimonioTerzi patrT, + C6StagingPeriodico.RP_DettProdottiTerzi dettProdT, + C6StagingPeriodico.RP_CatalogoProdotti catprod, + C6Mart.VCONTRATTI + WHERE + patrT.chiaveProdottoTerzi = dettprodT.chiaveProdottoTerzi + AND patrT.chiaveClientePB = VCONTRATTI.chiaveClientePB + AND dettprodT.ChiaveProdotto IS NOT NULL + AND catprod.ChiaveProdotto = dettprodT.ChiaveProdotto + AND catprod.TipoProdotto = 'CC' + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CC_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CC_TERZI_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI.sql new file mode 100644 index 00000000..2acbdef1 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI.sql @@ -0,0 +1,155 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ANAG_CLIENTI + + + + + + + + +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CLIENTI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE AS RETE, + [dbo].[FFCODICEFISCALE] (AL.CODFIS,AL.CODMAN,AL.PIVA)AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOMECLIENTE)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOMECLIENTE)) AS COGNOME, + ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + NULL AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + [dbo].[FFPIVA] (AL.CODMAN, AL.PIVA) AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODFIS,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_InfoCliente AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN2 CL + ON CL.RETE = AL.RETE + AND ( ltrim(rtrim(CL.CODFIS)) = CASE WHEN ISNULL(AL.CODFIS, '') = '' THEN AL.PIVA ELSE AL.CODFIS END ) + AND (ISNULL(CL.CODMAN, '') = ISNULL(AL.CODMAN, '')) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2) +--and al.codfis not in +--( +--'FF@8464', +--'LBRMRA73H15H501A', +--'FF@5134' +--) +------------------------------- +/* 20170409 rete + cf duplicato +--S SFRCLD60E12Z110N +--F TTLVNT44H04L746B +*/ + and AL.AGENTE is not null + and AL.chiaveclientePB != 2898828 + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'R diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409.sql new file mode 100644 index 00000000..c75fffdf --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409.sql @@ -0,0 +1,159 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ANAG_CLIENTI_20170409 + + + +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CLIENTI_20170409] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE AS RETE, + [dbo].[FFCODICEFISCALE] (AL.CODFIS,AL.CODMAN,AL.PIVA)AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOMECLIENTE)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOMECLIENTE)) AS COGNOME, + ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + NULL AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + [dbo].[FFPIVA] (AL.CODMAN, AL.PIVA) AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODFIS,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_InfoCliente AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN CL + ON CL.RETE = AL.RETE + AND ( ltrim(rtrim(CL.CODFIS)) = CASE WHEN ISNULL(AL.CODFIS, '') = '' THEN AL.PIVA ELSE AL.CODFIS END ) + AND (ISNULL(CL.CODMAN, '') = ISNULL(AL.CODMAN, '')) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN) +--and al.codfis not in +--( +--'FF@8464', +--'LBRMRA73H15H501A', +--'FF@5134' +--) + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' + ) + +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409_AGENTEisNotNull.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409_AGENTEisNotNull.sql new file mode 100644 index 00000000..4a127fb8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409_AGENTEisNotNull.sql @@ -0,0 +1,152 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ANAG_CLIENTI_20170409_AGENTEisNotNull + + + + +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CLIENTI_20170409_AGENTEisNotNull] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE AS RETE, + [dbo].[FFCODICEFISCALE] (AL.CODFIS,AL.CODMAN,AL.PIVA)AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOMECLIENTE)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOMECLIENTE)) AS COGNOME, + ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + NULL AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + [dbo].[FFPIVA] (AL.CODMAN, AL.PIVA) AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODFIS,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_InfoCliente AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN CL + ON CL.RETE = AL.RETE + AND ( ltrim(rtrim(CL.CODFIS)) = CASE WHEN ISNULL(AL.CODFIS, '') = '' THEN AL.PIVA ELSE AL.CODFIS END ) + AND (ISNULL(CL.CODMAN, '') = ISNULL(AL.CODMAN, '')) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN) +--and al.codfis not in +--( +--'FF@8464', +--'LBRMRA73H15H501A', +--'FF@5134' +--) +/* 20170409 rete + cf duplicato +--S SFRCLD60E12Z110N +--F TTLVNT44H04L746B +*/ + and AL.AGENTE is not null + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' AND + Inizio = ( + SELECT + MAX(Inizio) diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql new file mode 100644 index 00000000..359e07a3 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql @@ -0,0 +1,139 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL + + + + + + +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ( + [RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + distinct +-- tabNucleo.chiaveCliente, +-- tabNucleo.clienteConParentela AS chiaveClientePB, + VCONTRATTI.RETE AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + ISNULL(SPB_CLIENTI.NOME,CLI.nome) AS NOME, + ISNULL(SPB_CLIENTI.COGNOME,CLI.cognome) AS COGNOME, + ISNULL(tabNucleo.dtNascita,SPB_CLIENTI.DATADINASCITA) AS DATA_NASCITA, + --CASE + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Married' THEN 'Coniugato' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Single' THEN 'Libero' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Married' THEN 'Coniugata' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Single' THEN 'Libera' + -- ELSE NULL + --END AS STATO_CIVILE, + NULL AS STATO_CIVILE, + tabNucleo.componentiNucleo AS NUM_COMPONENTI, + tabFigli.numFigli AS NUM_FIGLI, + FLOOR(DateDiff(Day, ISNULL(tabNucleo.dtNascita,SPB_CLIENTI.DATADINASCITA), GetDate()) / 365.25) AS ETA, + NULL AS PARTITA_IVA, + SPB_CLIENTI.CITTADINANZA AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(SPB_INDIRIZZI.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(SPB_INDIRIZZI.CITTA, '') AS LOCALITA, + ISNULL(SPB_INDIRIZZI.PROVINCIA, '') AS PROVINCIA, + ISNULL(SPB_INDIRIZZI.CAP, '') AS CAP, + ISNULL(SPB_INDIRIZZI.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + VCONTRATTI.EMAIL AS E_MAIL, + SPB_CLIENTI.DATAATTIVAZIONECLIENTE AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + CASE + WHEN SUBSTRING(VCONTRATTI.COD_FISCALE,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + VCONTRATTI.COD_AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO [C6MartPeriodico].[RP_ANAG_CLIENTI] + FROM + C6Martperiodico.rp_VCONTRATTIpergenerazionereport VCONTRATTI + LEFT JOIN + (select + COUNT(*) as componentiNucleo, + chiaveClientePB1 as clienteConParentela, + cl.chiaveCliente, + cl.nome, + cl.cognome, + cl.dtNascita + from + C6staging.RP_Parentela p + inner join C6staging.RP_GradoParentela g + on p.idparentela = g.idparentela + inner join C6Staging.RP_ClientePB c + on c.chiaveClientePB = p.chiaveClientePB1 + inner join C6Staging.RP_Cliente cl + on c.chiaveCliente = cl.chiaveCliente + group by + chiaveClientePB1, cl.chiaveCliente, cl.nome, cl.cognome, cl.dtNascita) ta diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL_20190612.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL_20190612.sql new file mode 100644 index 00000000..58ee7732 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL_20190612.sql @@ -0,0 +1,139 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL_20190612 + + + + + + +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL_20190612] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ( + [RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + distinct +-- tabNucleo.chiaveCliente, +-- tabNucleo.clienteConParentela AS chiaveClientePB, + VCONTRATTI.RETE AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + ISNULL(SPB_CLIENTI.NOME,CLI.nome) AS NOME, + ISNULL(SPB_CLIENTI.COGNOME,CLI.cognome) AS COGNOME, + ISNULL(tabNucleo.dtNascita,SPB_CLIENTI.DATADINASCITA) AS DATA_NASCITA, + --CASE + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Married' THEN 'Coniugato' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Single' THEN 'Libero' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Married' THEN 'Coniugata' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Single' THEN 'Libera' + -- ELSE NULL + --END AS STATO_CIVILE, + NULL AS STATO_CIVILE, + tabNucleo.componentiNucleo AS NUM_COMPONENTI, + tabFigli.numFigli AS NUM_FIGLI, + FLOOR(DateDiff(Day, ISNULL(tabNucleo.dtNascita,SPB_CLIENTI.DATADINASCITA), GetDate()) / 365.25) AS ETA, + NULL AS PARTITA_IVA, + SPB_CLIENTI.CITTADINANZA AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(SPB_INDIRIZZI.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(SPB_INDIRIZZI.CITTA, '') AS LOCALITA, + ISNULL(SPB_INDIRIZZI.PROVINCIA, '') AS PROVINCIA, + ISNULL(SPB_INDIRIZZI.CAP, '') AS CAP, + ISNULL(SPB_INDIRIZZI.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + VCONTRATTI.EMAIL AS E_MAIL, + SPB_CLIENTI.DATAATTIVAZIONECLIENTE AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + CASE + WHEN SUBSTRING(VCONTRATTI.COD_FISCALE,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + VCONTRATTI.COD_AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO [C6MartPeriodico].[RP_ANAG_CLIENTI] + FROM + C6Martperiodico.rp_VCONTRATTIpergenerazionereport VCONTRATTI + LEFT JOIN + (select + COUNT(*) as componentiNucleo, + chiaveClientePB1 as clienteConParentela, + cl.chiaveCliente, + cl.nome, + cl.cognome, + cl.dtNascita + from + C6staging.RP_Parentela p + inner join C6staging.RP_GradoParentela g + on p.idparentela = g.idparentela + inner join C6Staging.RP_ClientePB c + on c.chiaveClientePB = p.chiaveClientePB1 + inner join C6Staging.RP_Cliente cl + on c.chiaveCliente = cl.chiaveCliente + group by + chiaveClientePB1, cl.chiaveCliente, cl.nome, cl.cognome, cl.dtNa diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI_pre_selective.sql new file mode 100644 index 00000000..66282ea7 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_CLIENTI_pre_selective.sql @@ -0,0 +1,157 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ANAG_CLIENTI_pre_selective + + +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CLIENTI_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE AS RETE, + [dbo].[FFCODICEFISCALE] (AL.CODFIS,AL.CODMAN,AL.PIVA)AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOMECLIENTE)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOMECLIENTE)) AS COGNOME, + ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + NULL AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + [dbo].[FFPIVA] (AL.CODMAN, AL.PIVA) AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODFIS,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_InfoCliente AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN2 CL + ON CL.RETE = AL.RETE + AND ( ltrim(rtrim(CL.CODFIS)) = CASE WHEN ISNULL(AL.CODFIS, '') = '' THEN AL.PIVA ELSE AL.CODFIS END ) + AND (ISNULL(CL.CODMAN, '') = ISNULL(AL.CODMAN, '')) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2) +--and al.codfis not in +--( +--'FF@8464', +--'LBRMRA73H15H501A', +--'FF@5134' +--) + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CLIENTI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CLIENTI_pre_selective' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI.sql new file mode 100644 index 00000000..7c6eabb6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI.sql @@ -0,0 +1,109 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ANAG_PRODOTTI + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PRODOTTI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ANAG_PRODOTTI + + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI] + (--ChiaveProdotto, + [COD_PRODOTTO] + ,[COD_ISIN] + ,[PAESE] + ,[ID_AREA] + ,[CAT_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[COD_MAF] + ,[RATING] + ,[COD_ADEGUATEZZA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[DT_SCADENZA] + ,[TIPO_EMITTENTE] + ,[TIPO_TASSO] + ,[FLG_OB]) + SELECT + --ChiaveProdotto, + CatalogueID AS COD_PRODOTTO, + ISNULL(CodIsin, '') AS COD_ISIN, + NULL AS PAESE, + '' AS ID_AREA, + (SELECT CASE + WHEN a.Livello1 like '%Assicurativo%' THEN 'Gestito Finanziario' + else a.Livello1 + END) AS CAT_PRODOTTO, + TipoProdotto AS TIPO_PRODOTTO, + NomeProdotto AS DESCR_PRODOTTO, + PrezzoValuta AS DIV_QUOTAZIONE, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + CodMaf AS COD_MAF, + case when LTRIM(RTRIM(RATINGobbligazioni)) = '' THEN null ELSE RATINGobbligazioni end AS RATING, + CodAdeguatezza AS COD_ADEGUATEZZA, + CodSottoprodotto AS COD_SOTTOPRODOTTO, + ISNULL(CodInterno, '') AS COD_INTERNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + DtScadenza, + TIP_EMITTENTE, + TIP_TASSO, + CASE WHEN c.Alberatura = 98 THEN 'S' ELSE 'N' END AS FLG_OB + FROM C6StagingPeriodico.RP_CatalogoProdotti c +Inner Join C6StagingPeriodico.RP_AnAlberatura a + ON c.Alberatura = a.Alberatura + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI' + ) + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI.sql new file mode 100644 index 00000000..d5d47efc --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI.sql @@ -0,0 +1,97 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ANAG_PRODOTTI_TERZI + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ANAG_PRODOTTI_TERZI + + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_TERZI] + ([COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[NOME_PRODOTTO] + ,[ALBERO_PRODOTTI] + ,[COD_ISIN] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[INTERMEDIARIO] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[PAESE] + ,[RATING] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT + --C6MartPeriodico.VCONTRATTI.chiaveClientePB AS chiaveClientePB, + C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdotto AS COD_PRODOTTO, + ISNULL(Mapping.Temp_oidProd ,C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, + C6StagingPeriodico.RP_PatrimonioTerzi.nomeProdotto AS NOME_PRODOTTO, + NULL AS ALBERO_PRODOTTI, + NULL AS COD_ISIN, + C6StagingPeriodico.RP_PatrimonioTerzi.tipoprod AS DESCR_PRODOTTO, + NULL AS DIV_QUOTAZIONE, + C6StagingPeriodico.RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + NULL AS PAESE, + NULL AS RATING, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + + FROM C6StagingPeriodico.RP_DettProdottiTerzi + INNER JOIN C6StagingPeriodico.RP_PatrimonioTerzi + ON C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdottoTerzi = C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCONTRATTI + ON C6StagingPeriodico.RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + LEFT JOIN C6StagingPeriodico.RP_MappingTerzi Mapping + ON C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdottoTerzi = Mapping.chiaveProdottoTerzi + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI' + ) + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql new file mode 100644 index 00000000..86869992 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql @@ -0,0 +1,95 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ANAG_PRODOTTI_TERZI_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_TERZI_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ANAG_PRODOTTI_TERZI + + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_TERZI] + ([COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[NOME_PRODOTTO] + ,[ALBERO_PRODOTTI] + ,[COD_ISIN] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[INTERMEDIARIO] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[PAESE] + ,[RATING] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT + --C6MartPeriodico.VCONTRATTI.chiaveClientePB AS chiaveClientePB, + C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdotto AS COD_PRODOTTO, + ISNULL(Mapping.Temp_oidProd ,C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, + C6StagingPeriodico.RP_PatrimonioTerzi.nomeProdotto AS NOME_PRODOTTO, + NULL AS ALBERO_PRODOTTI, + NULL AS COD_ISIN, + C6StagingPeriodico.RP_PatrimonioTerzi.tipoprod AS DESCR_PRODOTTO, + NULL AS DIV_QUOTAZIONE, + C6StagingPeriodico.RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + NULL AS PAESE, + NULL AS RATING, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + + FROM C6StagingPeriodico.RP_DettProdottiTerzi + INNER JOIN C6StagingPeriodico.RP_PatrimonioTerzi + ON C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdottoTerzi = C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCONTRATTI + ON C6StagingPeriodico.RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + LEFT JOIN C6StagingPeriodico.RP_MappingTerzi Mapping + ON C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdottoTerzi = Mapping.chiaveProdottoTerzi + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE.sql new file mode 100644 index 00000000..0f335ab6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE.sql @@ -0,0 +1,72 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ANAG_PRODOTTI_VALUTE + + + + +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_VALUTE] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_VALUTE', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].ANAG_PRODOTTI_VALUTE + + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_VALUTE] + + SELECT DISTINCT --added by pk 20160506 + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + VALUTE.DIVISA, + CAST (VALUTE.PESO AS DECIMAL (6,3)), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + + FROM C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(ChiaveProdotto) AS ChiaveProdotto + FROM C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.ChiaveProdotto = DOPPICATITEMREF.ChiaveProdotto + INNER JOIN + [C6StagingPeriodico].[RP_RDR_VALUTE_DB_DTGIORNALIERI] VALUTE + ON VALUTE.CHIAVEPRODOTTO = CATITEMREF.ChiaveProdotto + where VALUTE.PESO >= -999.099 and VALUTE.PESO <= 999.099 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK.sql new file mode 100644 index 00000000..7edf6dd5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK.sql @@ -0,0 +1,69 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK + + + +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_VALUTE', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].ANAG_PRODOTTI_VALUTE + + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_VALUTE] + + SELECT /*pkDISTINCTpk*/ --added by pk 20160506 + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + VALUTE.DIVISA, + CAST (VALUTE.PESO AS DECIMAL (6,3)), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + + FROM C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(ChiaveProdotto) AS ChiaveProdotto + FROM C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.ChiaveProdotto = DOPPICATITEMREF.ChiaveProdotto + INNER JOIN + [C6StagingPeriodico].[RP_RDR_VALUTE_DB_DTGIORNALIERI] VALUTE + ON VALUTE.CHIAVEPRODOTTO = CATITEMREF.ChiaveProdotto + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql new file mode 100644 index 00000000..2b9aae4c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql @@ -0,0 +1,69 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective + + + +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].ANAG_PRODOTTI_VALUTE + + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_VALUTE] + + SELECT DISTINCT --added by pk 20160506 + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + VALUTE.DIVISA, + CAST (VALUTE.PESO AS DECIMAL (6,3)), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + + FROM C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(ChiaveProdotto) AS ChiaveProdotto + FROM C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.ChiaveProdotto = DOPPICATITEMREF.ChiaveProdotto + INNER JOIN + [C6StagingPeriodico].[RP_RDR_VALUTE_DB_DTGIORNALIERI] VALUTE + ON VALUTE.CHIAVEPRODOTTO = CATITEMREF.ChiaveProdotto + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_pre_selective.sql new file mode 100644 index 00000000..b620dcb6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_pre_selective.sql @@ -0,0 +1,107 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ANAG_PRODOTTI_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ANAG_PRODOTTI + + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI] + (--ChiaveProdotto, + [COD_PRODOTTO] + ,[COD_ISIN] + ,[PAESE] + ,[ID_AREA] + ,[CAT_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[COD_MAF] + ,[RATING] + ,[COD_ADEGUATEZZA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[DT_SCADENZA] + ,[TIPO_EMITTENTE] + ,[TIPO_TASSO] + ,[FLG_OB]) + SELECT + --ChiaveProdotto, + CatalogueID AS COD_PRODOTTO, + ISNULL(CodIsin, '') AS COD_ISIN, + NULL AS PAESE, + '' AS ID_AREA, + (SELECT CASE + WHEN a.Livello1 like '%Assicurativo%' THEN 'Gestito Finanziario' + else a.Livello1 + END) AS CAT_PRODOTTO, + TipoProdotto AS TIPO_PRODOTTO, + NomeProdotto AS DESCR_PRODOTTO, + PrezzoValuta AS DIV_QUOTAZIONE, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + CodMaf AS COD_MAF, + case when LTRIM(RTRIM(RATINGobbligazioni)) = '' THEN null ELSE RATINGobbligazioni end AS RATING, + CodAdeguatezza AS COD_ADEGUATEZZA, + CodSottoprodotto AS COD_SOTTOPRODOTTO, + ISNULL(CodInterno, '') AS COD_INTERNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + DtScadenza, + TIP_EMITTENTE, + TIP_TASSO, + CASE WHEN c.Alberatura = 98 THEN 'S' ELSE 'N' END AS FLG_OB + FROM C6StagingPeriodico.RP_CatalogoProdotti c +Inner Join C6StagingPeriodico.RP_AnAlberatura a + ON c.Alberatura = a.Alberatura + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PROMOTORI.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PROMOTORI.sql new file mode 100644 index 00000000..6a80cfa9 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PROMOTORI.sql @@ -0,0 +1,143 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ANAG_PROMOTORI + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PROMOTORI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PROMOTORI', + GETDATE(), + 'Elaborazione trimestrale' + ); +--aggiunta 11/07/2022 per problema ai pb + --select * + --into #email_unico + --from C6MartPeriodico.EMAIL_PB where email is not null + --fine aggiunta 11/07/2022 per problema ai pb + + --aggiunta 12/12/2023 per problema ai pb + WITH CTE AS ( + SELECT + *, + ROW_NUMBER() OVER (PARTITION BY codice,rete ORDER BY id_elab DESC) AS RowNum + FROM + C6MartPeriodico.EMAIL_PB + WHERE + email IS NOT NULL +) +SELECT * +INTO #email_unico +FROM CTE +WHERE RowNum = 1 +--fine 12/12/2023 per problema ai pb + + TRUNCATE TABLE C6MartPeriodico.ANAG_PROMOTORI + + INSERT INTO [C6MartPeriodico].[ANAG_PROMOTORI] + ([RETE] + ,[ID_PROMOTORE] + ,[LIVELLO] + ,[COD_FISCALE] + ,[PARTITA_IVA] + ,[COGNOME] + ,[NOME] + ,[RAG_SOC] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[COD_ABI] + ,[COD_CAB] + ,[COD_CIN] + ,[COD_CC] + ,[STATO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + PB.RETE AS RETE, + PB.codage AS ID_PROMOTORE, + 'PB' AS LIVELLO, + --SPB_NAC.LIVELLONELLAGERARCHIA AS LIVELLO, + NULL AS COD_FISCALE, + NULL AS PARTITA_IVA, + rtrim(ltrim(PB.COGNOME)) AS COGNOME, + rtrim(ltrim(PB.NOME)) AS NOME, + NULL AS RAG_SOC, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + --CASE WHEN PB.DataInizioCollaborazione=0 THEN NULL ELSE + --CAST(CAST(PB.DataInizioCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_INIZIO, + --CASE WHEN PB.DataFineCollaborazione=0 THEN NULL ELSE + --CAST(CAST(PB.DataFineCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_FINE, + rtrim(ltrim(PB.INDIRIZZO)) AS INDIRIZZO, + rtrim(ltrim(PB.CITTA)) AS LOCALITA, + rtrim(ltrim(PB.PROVINCIA)) AS PROVINCIA, + rtrim(ltrim(PB.CAP)) AS CAP, + NULL AS NAZIONE, + rtrim(ltrim(PB.PREFISSO + PB.TELEFONO1)) AS TEL_RECAPITO, + NULL AS TEL_CELL, + rtrim(ltrim(EMAIL_PB.EMAIL)) AS E_MAIL, + NULL AS COD_ABI, + NULL AS COD_CAB, + NULL AS COD_CIN, + NULL AS COD_CC, + --CASE + -- WHEN SPB_NAC.CODICEAGENTE IS NULL THEN 'TERMINATO' + -- ELSE + CASE + WHEN PF.RETE IS NULL THEN 'ATTIVO' + ELSE 'FITTIZIO' + END + --END + AS STATO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + + FROM C6StagingPeriodico.RP_anagrafica_promotori PB + LEFT JOIN #email_unico EMAIL_PB --11/07/2022 prima c'era C6MartPeriodico.EMAIL_PB + ON PB.RETE = EMAIL_PB.RETE + AND PB.codage = EMAIL_PB.CODICE +-- LEFT JOIN C6STAGING.SPB_NAC SPB_NAC +-- ON PB.RETE = SPB_NAC.CODICERETE +-- AND PB.codage = SPB_NAC.CODICEAGENTE + LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON (PB.codage BETWEEN PF.CODICEDA AND PF.CODICEA) + AND PB.RETE = PF.RETE + +WHERE + PB.stato = 'A' and + EMAIL_PB.EMAIL <> 'andrea.novaro1@fideuram.it' --FORZATURA DEL 14-12-2022 CHIAVE DUPLICATA + + --Aggiunta Valerio non inserisco in anagrafica pb terminati in quanto non hanno il livello +-- and SPB_NAC.CODICEAGENTE is not null + --AND ADS4WS_PROMOTORI.CODICE NOT IN ('009202')--,'014908') +---eliminato il filtro su '005772' 04/ diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PROMOTORI_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PROMOTORI_pre_selective.sql new file mode 100644 index 00000000..0a92cc91 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ANAG_PROMOTORI_pre_selective.sql @@ -0,0 +1,146 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ANAG_PROMOTORI_pre_selective + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PROMOTORI_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PROMOTORI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ANAG_PROMOTORI + + INSERT INTO [C6MartPeriodico].[ANAG_PROMOTORI] + ([RETE] + ,[ID_PROMOTORE] + ,[LIVELLO] + ,[COD_FISCALE] + ,[PARTITA_IVA] + ,[COGNOME] + ,[NOME] + ,[RAG_SOC] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[COD_ABI] + ,[COD_CAB] + ,[COD_CIN] + ,[COD_CC] + ,[STATO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + PB.RETE AS RETE, + PB.codage AS ID_PROMOTORE, + 'PB' AS LIVELLO, + --SPB_NAC.LIVELLONELLAGERARCHIA AS LIVELLO, + NULL AS COD_FISCALE, + NULL AS PARTITA_IVA, + rtrim(ltrim(PB.COGNOME)) AS COGNOME, + rtrim(ltrim(PB.NOME)) AS NOME, + NULL AS RAG_SOC, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + --CASE WHEN PB.DataInizioCollaborazione=0 THEN NULL ELSE + --CAST(CAST(PB.DataInizioCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_INIZIO, + --CASE WHEN PB.DataFineCollaborazione=0 THEN NULL ELSE + --CAST(CAST(PB.DataFineCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_FINE, + rtrim(ltrim(PB.INDIRIZZO)) AS INDIRIZZO, + rtrim(ltrim(PB.CITTA)) AS LOCALITA, + rtrim(ltrim(PB.PROVINCIA)) AS PROVINCIA, + rtrim(ltrim(PB.CAP)) AS CAP, + NULL AS NAZIONE, + rtrim(ltrim(PB.PREFISSO + PB.TELEFONO1)) AS TEL_RECAPITO, + NULL AS TEL_CELL, + rtrim(ltrim(EMAIL_PB.EMAIL)) AS E_MAIL, + NULL AS COD_ABI, + NULL AS COD_CAB, + NULL AS COD_CIN, + NULL AS COD_CC, + --CASE + -- WHEN SPB_NAC.CODICEAGENTE IS NULL THEN 'TERMINATO' + -- ELSE + CASE + WHEN PF.RETE IS NULL THEN 'ATTIVO' + ELSE 'FITTIZIO' + END + --END + AS STATO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + + FROM C6StagingPeriodico.RP_anagrafica_promotori PB + LEFT JOIN C6MartPeriodico.EMAIL_PB EMAIL_PB + ON PB.RETE = EMAIL_PB.RETE + AND PB.codage = EMAIL_PB.CODICE +-- LEFT JOIN C6STAGING.SPB_NAC SPB_NAC +-- ON PB.RETE = SPB_NAC.CODICERETE +-- AND PB.codage = SPB_NAC.CODICEAGENTE + LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON (PB.codage BETWEEN PF.CODICEDA AND PF.CODICEA) + AND PB.RETE = PF.RETE + +WHERE + PB.stato = 'A' + --Aggiunta Valerio non inserisco in anagrafica pb terminati in quanto non hanno il livello +-- and SPB_NAC.CODICEAGENTE is not null + --AND ADS4WS_PROMOTORI.CODICE NOT IN ('009202')--,'014908') +---eliminato il filtro su '005772' 04/08/2010 +---eliminato il filtro su'003064' 12/08/2010 +---eliminato il filtro su '010712' + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PROMOTORI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PROMOTORI_pre_selective' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_AREA_BISOGNO.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_AREA_BISOGNO.sql new file mode 100644 index 00000000..1dee320b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_AREA_BISOGNO.sql @@ -0,0 +1,62 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_AREA_BISOGNO + + +CREATE procedure [C6MartPeriodico].[RP_DM_AREA_BISOGNO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + + TRUNCATE TABLE C6MartPeriodico.AREA_BISOGNO + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_AREA_BISOGNO', + GETDATE(), + 'Elaborazione trimestrale' + ) + + INSERT INTO C6MartPeriodico.[AREA_BISOGNO] + ([ID_AREA] + ,[NOME_AREA] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(Area)) AS ID_AREA, + LTRIM(RTRIM(Descrizione)) AS NOME_AREA, + Ordinamento AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.RP_NEEDAREA + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_AREA_BISOGNO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_AREA_BISOGNO' + ) + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_AREA_BISOGNO_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_AREA_BISOGNO_pre_selective.sql new file mode 100644 index 00000000..481042a7 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_AREA_BISOGNO_pre_selective.sql @@ -0,0 +1,60 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_AREA_BISOGNO_pre_selective + +CREATE procedure [C6MartPeriodico].[RP_DM_AREA_BISOGNO_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + + TRUNCATE TABLE C6MartPeriodico.AREA_BISOGNO + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_AREA_BISOGNO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + INSERT INTO C6MartPeriodico.[AREA_BISOGNO] + ([ID_AREA] + ,[NOME_AREA] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(Area)) AS ID_AREA, + LTRIM(RTRIM(Descrizione)) AS NOME_AREA, + Ordinamento AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.RP_NEEDAREA + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_AREA_BISOGNO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_AREA_BISOGNO_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSETCLASS.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSETCLASS.sql new file mode 100644 index 00000000..a8662351 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSETCLASS.sql @@ -0,0 +1,76 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ASSETCLASS + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from C6MartPeriodico.assetclass +CREATE procedure [C6MartPeriodico].[RP_DM_ASSETCLASS] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ASSETCLASS + + INSERT INTO [C6MartPeriodico].[ASSETCLASS] + ([ID_ASSETCLASS] + ,[DESCRIZIONE] + ,[LIVELLO] + ,[ORDINAMENTO] + ,[ID_ELAB]) + + SELECT + A.ASSET AS ID_ASSETCLASS, + A.DESCRIZIONE AS DESCRIZIONE, + A.LIVELLO AS LIVELLO, + B.ORDINAMENTO_ASSET AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.RP_ASSETCLASS A + JOIN + C6STAGINGPERIODICO.RP_REP_ASSET_1_E_2_ORDINATE B + ON A.ASSET = B.CODICE_ASSET_CLASS_INGRESSO + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ASSETCLASS' + ) + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI.sql new file mode 100644 index 00000000..df168602 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI.sql @@ -0,0 +1,75 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ASSETCLASS_TERZI + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +--select * from [C6MartPeriodico].[ASSETCLASS_TERZI] +--[C6MartPeriodico].[DM_ASSETCLASS_TERZI] +CREATE procedure [C6MartPeriodico].[RP_DM_ASSETCLASS_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ASSETCLASS_TERZI + + INSERT INTO [C6MartPeriodico].[ASSETCLASS_TERZI] + ([ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_ADEGUATEZZA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT + B.CODICE_ASSET_CLASS_INGRESSO, + B.CODICE_ISIN, + B.CODICE_MAF, + ISNULL(B.CODICE_ADEGUATEZZA,'$'), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.RP_REP_ASSET_1_E_2_ORDINATE B + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI' + ) + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI_pre_selective.sql new file mode 100644 index 00000000..4e87b89f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI_pre_selective.sql @@ -0,0 +1,73 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ASSETCLASS_TERZI_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +--select * from [C6MartPeriodico].[ASSETCLASS_TERZI] +--[C6MartPeriodico].[DM_ASSETCLASS_TERZI] +CREATE procedure [C6MartPeriodico].[RP_DM_ASSETCLASS_TERZI_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ASSETCLASS_TERZI + + INSERT INTO [C6MartPeriodico].[ASSETCLASS_TERZI] + ([ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_ADEGUATEZZA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT + B.CODICE_ASSET_CLASS_INGRESSO, + B.CODICE_ISIN, + B.CODICE_MAF, + ISNULL(B.CODICE_ADEGUATEZZA,'$'), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.RP_REP_ASSET_1_E_2_ORDINATE B + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSETCLASS_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSETCLASS_pre_selective.sql new file mode 100644 index 00000000..ee89c3e0 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSETCLASS_pre_selective.sql @@ -0,0 +1,74 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ASSETCLASS_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from C6MartPeriodico.assetclass +CREATE procedure [C6MartPeriodico].[RP_DM_ASSETCLASS_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ASSETCLASS + + INSERT INTO [C6MartPeriodico].[ASSETCLASS] + ([ID_ASSETCLASS] + ,[DESCRIZIONE] + ,[LIVELLO] + ,[ORDINAMENTO] + ,[ID_ELAB]) + + SELECT + A.ASSET AS ID_ASSETCLASS, + A.DESCRIZIONE AS DESCRIZIONE, + A.LIVELLO AS LIVELLO, + B.ORDINAMENTO_ASSET AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.RP_ASSETCLASS A + JOIN + C6STAGINGPERIODICO.RP_REP_ASSET_1_E_2_ORDINATE B + ON A.ASSET = B.CODICE_ASSET_CLASS_INGRESSO + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSETCLASS_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSET_PERC.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSET_PERC.sql new file mode 100644 index 00000000..288fa6c0 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSET_PERC.sql @@ -0,0 +1,89 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ASSET_PERC + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ASSET_PERC] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ASSET_PERC + + INSERT INTO [C6MartPeriodico].[ASSET_PERC] + ([COD_PRODOTTO] + ,[ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[LIVELLO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT DISTINCT + cat.CatalogueID AS COD_PRODOTTO, + LTRIM(RTRIM(ac.Asset)) AS ID_ASSETCLASS, + cat.CodIsin AS COD_ISIN, + cat.CodMaf AS COD_MAF, + cat.CodInterno AS COD_INTERNO, + cat.CodSottoprodotto AS COD_SOTTOPRODOTTO, + ac.Livello AS LIVELLO, + LTRIM(RTRIM(map.Percentuale)) AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.RP_Mappatura AS map + INNER JOIN + C6StagingPeriodico.RP_AssetClass AS ac + ON + map.Asset = ac.Asset + INNER JOIN + C6StagingPeriodico.RP_CatalogoProdotti cat + ON + map.ChiaveProdotto = cat.ChiaveProdotto + where map.Percentuale >= -999.099 and map.Percentuale <= 999.099 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ASSET_PERC' + ) + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI.sql new file mode 100644 index 00000000..129fb6a9 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI.sql @@ -0,0 +1,97 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ASSET_PERC_TERZI + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ASSET_PERC_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ASSET_PERC_TERZI + + INSERT INTO [C6MartPeriodico].[ASSET_PERC_TERZI] + ([COD_PRODOTTO_TERZI] -- + ,[ID_ASSETCLASS] -- + ,[LIVELLO] -- + ,[NOME_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[PERC] -- + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ISNULL(Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, + RP_AssetClass.Asset AS ID_ASSETCLASS, + RP_AssetClass.Livello AS LIVELLO, + NULL AS NOME_PRODOTTO, + NULL AS TIPO_PRODOTTO, + RP_MappaturaPT.percentuale / 100 AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.RP_PatrimonioTerzi + INNER JOIN + C6StagingPeriodico.RP_DettProdottiTerzi + ON + C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + ON + C6StagingPeriodico.RP_DettProdottiTerzi.alberatura = C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + INNER JOIN + C6StagingPeriodico.RP_MappaturaPT + ON + C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6StagingPeriodico.RP_MappaturaPT.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodico.RP_AssetClass + ON + C6StagingPeriodico.RP_MappaturaPT.asset = C6StagingPeriodico.RP_AssetClass.Asset + LEFT JOIN + C6StagingPeriodico.RP_MappingTerzi Mapping + ON + C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi = Mapping.chiaveProdottoTerzi + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI' + ) + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI_pre_selective.sql new file mode 100644 index 00000000..4bbdd67c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI_pre_selective.sql @@ -0,0 +1,95 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ASSET_PERC_TERZI_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ASSET_PERC_TERZI_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ASSET_PERC_TERZI + + INSERT INTO [C6MartPeriodico].[ASSET_PERC_TERZI] + ([COD_PRODOTTO_TERZI] -- + ,[ID_ASSETCLASS] -- + ,[LIVELLO] -- + ,[NOME_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[PERC] -- + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ISNULL(Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, + RP_AssetClass.Asset AS ID_ASSETCLASS, + RP_AssetClass.Livello AS LIVELLO, + NULL AS NOME_PRODOTTO, + NULL AS TIPO_PRODOTTO, + RP_MappaturaPT.percentuale / 100 AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.RP_PatrimonioTerzi + INNER JOIN + C6StagingPeriodico.RP_DettProdottiTerzi + ON + C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + ON + C6StagingPeriodico.RP_DettProdottiTerzi.alberatura = C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + INNER JOIN + C6StagingPeriodico.RP_MappaturaPT + ON + C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6StagingPeriodico.RP_MappaturaPT.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodico.RP_AssetClass + ON + C6StagingPeriodico.RP_MappaturaPT.asset = C6StagingPeriodico.RP_AssetClass.Asset + LEFT JOIN + C6StagingPeriodico.RP_MappingTerzi Mapping + ON + C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi = Mapping.chiaveProdottoTerzi + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSET_PERC_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSET_PERC_pre_selective.sql new file mode 100644 index 00000000..748fd24d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ASSET_PERC_pre_selective.sql @@ -0,0 +1,86 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ASSET_PERC_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ASSET_PERC_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.ASSET_PERC + + INSERT INTO [C6MartPeriodico].[ASSET_PERC] + ([COD_PRODOTTO] + ,[ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[LIVELLO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT DISTINCT + cat.CatalogueID AS COD_PRODOTTO, + LTRIM(RTRIM(ac.Asset)) AS ID_ASSETCLASS, + cat.CodIsin AS COD_ISIN, + cat.CodMaf AS COD_MAF, + cat.CodInterno AS COD_INTERNO, + cat.CodSottoprodotto AS COD_SOTTOPRODOTTO, + ac.Livello AS LIVELLO, + LTRIM(RTRIM(map.Percentuale)) AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.RP_Mappatura AS map + INNER JOIN + C6StagingPeriodico.RP_AssetClass AS ac + ON + map.Asset = ac.Asset + INNER JOIN + C6StagingPeriodico.RP_CatalogoProdotti cat + ON + map.ChiaveProdotto = cat.ChiaveProdotto + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSET_PERC_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_BONIFICA_DTRIF0_TSCABP.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_BONIFICA_DTRIF0_TSCABP.sql new file mode 100644 index 00000000..b6a30e12 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_BONIFICA_DTRIF0_TSCABP.sql @@ -0,0 +1,42 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_BONIFICA_DTRIF0_TSCABP + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_BONIFICA_DTRIF0_TSCABP] +AS + + +BEGIN + +select * +into #dtrif_zero +from C6StagingPeriodico.TSCABP t where dtrif=0 + + +select distinct rete,CODAREA,CODPROG,CODFIS,CODCONF,DTRIF +into #dtrif_tcptab +from C6stagingPeriodico.tcptab +where rete+codfis+CODPROG+codconf in (select rete+CODFIS+codprog+codconf from #dtrif_zero) + + +update a +set a.dtrif=b.dtrif +from C6StagingPeriodico.TSCABP a +inner join #dtrif_tcptab b on a.rete=b.RETE +and +a.codfis=b.codfis and +a.CODPROG=b.CODPROG and +a.CODCONF=b.CODCONF and +a.CODAREA=b.CODAREA +where a.dtrif=0 + + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_BONIFICA_PATRIMONIO_IMMOBILIARE_ProQuota.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_BONIFICA_PATRIMONIO_IMMOBILIARE_ProQuota.sql new file mode 100644 index 00000000..a06fe4a2 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_BONIFICA_PATRIMONIO_IMMOBILIARE_ProQuota.sql @@ -0,0 +1,80 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_BONIFICA_PATRIMONIO_IMMOBILIARE_ProQuota + + + + + +--select * from C6MartPeriodicO.PATRIMONIO_IMMOBILIARE_ProQuota +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_BONIFICA_PATRIMONIO_IMMOBILIARE_ProQuota] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_BONIFICA_PATRIMONIO_IMMOBILIARE_PROQUOTA', + GETDATE(), + 'Elaborazione Trimestrale' + ) + +delete from C6MartPeriodico.Patrimonio_Immobiliare_ProQuota where cod_fiscale in ( +select distinct vinfo.codfis from ( select distinct con.chiaveClientePBProprietario,con.chiaveprodottoterzi,condett.tipologiadiritto ,condett.quotaDiritto, condett.moltiplicatorediritto + from [CONSUNI_PERIODICO].consulenzaunica.dbo.cointestatari con + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.CointestatariDettaglioDiritto condett + on condett.chiavecointestatari = con.chiavecointestatari + and condett.chiaveprodottoterzi = con.chiaveprodottoterzi + where con.chiaveclientepb=con.chiaveClientePBProprietario + ) tCoin + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.dettImmobiliare dett + on tCoin.chiaveProdottoTerzi = dett.chiaveProdottoTerzi + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.PatrimonioTerzi pt + on dett.chiaveProdottoTerzi = pt.chiaveProdottoTerzi + left join [CONSUNI_PERIODICO].consulenzaunica.dbo.dfinalita fin + on fin.codfinalita=dett.codfinalita + left join [CONSUNI_PERIODICO].consulenzaunica.dbo.dtipoimmobile dti + on dti.codtipologia=dett.codtipologia + left join [CONSUNI_PERIODICO].consulenzaunica.dbo.DNazioneEstera dne + on dne.codNazioneEstera = dett.codNazioneEstera + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.vInfoCliente vInfo + on pt.chiaveClientePB = vInfo.chiaveClientePB +where pt.dtfinevalidita<>'9999-12-31 00:00:00.000' +and not exists (select 1 from [CONSUNI_PERIODICO].consulenzaunica.dbo.PatrimonioTerzi pt2 where dtfinevalidita = '9999-12-31 00:00:00.000' AND pt.chiaveClientePB=pt2.chiaveClientePB) +) + + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_BONIFICA_PATRIMONIO_IMMOBILIARE_PROQUOTA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_BONIFICA_PATRIMONIO_IMMOBILIARE_PROQUOTA' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_BrsClienteESG.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_BrsClienteESG.sql new file mode 100644 index 00000000..03850d2d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_BrsClienteESG.sql @@ -0,0 +1,105 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_BrsClienteESG + + + + + + + + + + +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_BrsClienteESG] +AS +BEGIN + + SET NOCOUNT ON; + + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_BrsClienteESG', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- declare @data varchar(8) + +--set @data= [C6MartPeriodico].[getTrimestre2](getdate(),0) + +truncate table C6MartPeriodico.BrsClienteESG + +insert into [C6StampeCentralizzate].[C6MartPeriodico].[BrsClienteESG] +SELECT ws.[rete] + ,ws.[codfis] + ,case when PREFSOST='S' then 1 + when PREFSOST='N' then 0 + else 0 end as [Preferenza_esg_cliente] + ,case when FLAGAMB='S' then 'Y' + when FLAGAMB='N' then 'N' + else 'N' end as + [ESG_E] + ,case when FLAGSOC='S' then 'Y' + when FLAGSOC='N' then 'N' + else 'N' end as + [ESG_S] + ,case when FLAGGOV='S' then 'Y' + when FLAGGOV='N' then 'N' + else 'N' end as [ESG_G] + ,esg.PERC1ESG as [obiettivo_ESG_minimo] + ,NULL as [ESG_Rating] + ,esg.PERCAMB as [ESG_E_perc] + ,esg.PERCSOC as [ESG_S_perc] + ,esg.PERCGOV as [ESG_G_perc] + FROM C6martPeriodico.wseian2 ws + left join C6MartPeriodico.W6CLIESG esg + on ws.rete=esg.rete and ws.codfis=esg.CODFIS + + --SELECT [rete] + -- -- ,[codfis] + -- ,[Preferenza_esg_cliente] + -- ,[ESG_E] + -- ,[ESG_S] + -- ,[ESG_G] + -- ,[obiettivo_ESG_minimo] + -- ,[ESG_Rating] + -- ,[ESG_E_perc] + -- ,[ESG_S_perc] + -- ,[ESG_G_perc] + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[ESG_Metriche_Cliente_IL] + + + --select * from [C6StampeCentralizzate].[C6StagingPeriodico].[ESG_Metriche_Cliente_IL] + --select * from C6StagingPeriodico.wseian2 + --select * from C6MartPeriodico.W6CLIESG + + + + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_BrsClienteESG' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_W6CATESG' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_CLIENTI_RISORSE_NA.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_CLIENTI_RISORSE_NA.sql new file mode 100644 index 00000000..435c394d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_CLIENTI_RISORSE_NA.sql @@ -0,0 +1,103 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_CLIENTI_RISORSE_NA + + + +-- [C6MartPeriodico].[RP_DM_CLIENTI_RISORSE_NA] +CREATE procedure [C6MartPeriodico].[RP_DM_CLIENTI_RISORSE_NA] +AS +BEGIN + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CLIENTI_RISORSE_NA', + GETDATE(), + 'Elaborazione trimestrale' + ) + +--------------------------------------------------------------------------- + TRUNCATE TABLE [C6MartPeriodico].[CLIENTI_RISORSE_NA] + + INSERT INTO [C6MartPeriodico].[CLIENTI_RISORSE_NA] + select + [RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[ID_AREA] + ,[CTV] + ,[ORDINAMENTO_PROGETTO] + ,[TIPO_PROGETTO] + ,[EMITTENTE] + ,[ISIN] + ,[CHIAVE_PROGETTO] + from C6MartPeriodico.PATRIMONIO_BF + where 1=1 + and ID_AREA = 'NA' + and ctv <> 0 --se zero potrebbero essere ppvv + and partvia_disinv = 0 + +--------------------------- + +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CLIENTI_RISORSE_NA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_CLIENTI_RISORSE_NA' + ) + + + +END + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_COMPLESSITA.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_COMPLESSITA.sql new file mode 100644 index 00000000..a20d85d2 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_COMPLESSITA.sql @@ -0,0 +1,115 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_COMPLESSITA + + + + +-- ============================================= +-- Author: +-- Create date: <08/08/2013> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_COMPLESSITA] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_COMPLESSITA', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].COMPLESSITA + + INSERT INTO [C6MartPeriodico].[COMPLESSITA] + ( + [RETE] + ,[COD_FISCALE] + ,[COMPLESSITA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLESSITA]) AS [COMPLESSITA], + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM +( + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLEX]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf + where tipo_prodOTTO <>'ASUL' + GROUP BY + [RETE], + [COD_FISCALE] + + union all + + SELECT + m.[RETE], + m.[COD_FISCALE], + MAX(c.[COMPLESSITA]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf m, + c6martperiodico.dettaglio_asul k, + c6stagingperiodico.RP_CatalogoProdotti c + where m.cod_fiscale= k.cod_fiscale + and m.rete=k.rete + and k.id_contratto=m.id_contratto + and k.cod_prodotto= c.catalogueid + and m.tipo_prodotto='ASUL' + group by + m.[RETE], + m.[COD_FISCALE] + ) H + group by + [RETE], + [COD_FISCALE] + + + + + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_COMPLESSITA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_COMPLESSITA' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_COMPLESSITA_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_COMPLESSITA_pre_selective.sql new file mode 100644 index 00000000..9246db7d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_COMPLESSITA_pre_selective.sql @@ -0,0 +1,113 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_COMPLESSITA_pre_selective + + + +-- ============================================= +-- Author: +-- Create date: <08/08/2013> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_COMPLESSITA_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_COMPLESSITA_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].COMPLESSITA + + INSERT INTO [C6MartPeriodico].[COMPLESSITA] + ( + [RETE] + ,[COD_FISCALE] + ,[COMPLESSITA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLESSITA]) AS [COMPLESSITA], + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM +( + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLEX]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf + where tipo_prodOTTO <>'ASUL' + GROUP BY + [RETE], + [COD_FISCALE] + + union all + + SELECT + m.[RETE], + m.[COD_FISCALE], + MAX(c.[COMPLESSITA]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf m, + c6martperiodico.dettaglio_asul k, + c6stagingperiodico.RP_CatalogoProdotti c + where m.cod_fiscale= k.cod_fiscale + and m.rete=k.rete + and k.id_contratto=m.id_contratto + and k.cod_prodotto= c.catalogueid + and m.tipo_prodotto='ASUL' + group by + m.[RETE], + m.[COD_FISCALE] + ) H + group by + [RETE], + [COD_FISCALE] + + + + + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_COMPLESSITA_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_COMPLESSITA_pre_selective' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE.sql new file mode 100644 index 00000000..596205d4 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE.sql @@ -0,0 +1,124 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_CONO_PIANIFICAZIONE + + + + + + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 08/08/2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_CONO_PIANIFICAZIONE] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CONO_PIANIFICAZIONE', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[CONO_PIANIFICAZIONE] + + INSERT INTO [C6MartPeriodico].[CONO_PIANIFICAZIONE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CONO] + ,[SCENARIO_PESSIMISTICO] + ,[SCENARIO_MEDIO] + ,[SCENARIO_OTTIMISTICO] + ,[ID_ELAB] + ,ordinamento_progetto) + + SELECT + WANAB.RETE AS RETE, + VC.COD_FISCALE AS COD_FISCALE, + CASE + WHEN WANAB.CODAREA = 'INV' THEN 'Inv' + WHEN WANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN WANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN WANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CS.nomeProgetto, 'XXX') AS NOME_PROGETTO, + CONO.dtRiferimento AS DATA_CONO, + CONO.quantileInf * 100 AS SCENARIO_PESSIMISTICO, + CONO.quantileInter * 100 AS SCENARIO_MEDIO, + CONO.quantileSup * 100 AS SCENARIO_OTTIMISTICO, + @ID_ELAB, + PR.chiaveProgetto -- wanab.codprog--, + -- count(*) + FROM C6StagingPeriodico.TANAB AS WANAB + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON WANAB.CODPROG = CM.idmonitoraggio + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON WANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN VC.COD_FISCALE ELSE VC.COD_MANDATO + END + AND WANAB.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + INNER JOIN C6StagingPeriodico.RP_CONO CONO + ON CONO.CHIAVEPROGETTO = CM.chiaveProgetto + + WHERE 1 = 1 + AND WANAB.DTFINE = '99991231' + --AND ((WANAB.CODAREA = 'Inv' AND CS.nomeProgetto = 'Progetto investimento') OR WANAB.CODAREA = 'Ris') + AND (WANAB.CODAREA = 'Inv' OR WANAB.CODAREA = 'Ris') + + --modifiche Luca per errore mart simulazione 16/12/2015 + --and WANAB.CODFIS not in ('GRPGLI71R45L407D','MRTGRL59B60H501T') + --------------------------------------------------------------------------- + + + -- formula commentata in trimestrale di luglio 2015 perch impediva la genenerazione del grafico del rendimento cumulato per importi + -- negativi (vedi segnalazione di FOGA' del 15/7/2015) + --AND (WANAB.APP_INI + WANAB.NTOT_APP - WANAB.NTOT_LIQ - (WANAB.TOT_CED + WANAB.TOT_DIV))>0 -- per escludere tutto quello che ha risorse associate =0 + + --AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 + --and wanab.codfis <> 'GRVMRZ63C14L566J' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CONO_PIANIFICAZIONE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_CONO_PIANIFICAZIONE' + ) + +END + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE_pre_selective.sql new file mode 100644 index 00000000..60b97cdc --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE_pre_selective.sql @@ -0,0 +1,122 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_CONO_PIANIFICAZIONE_pre_selective + + + + + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 08/08/2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_CONO_PIANIFICAZIONE_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CONO_PIANIFICAZIONE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[CONO_PIANIFICAZIONE] + + INSERT INTO [C6MartPeriodico].[CONO_PIANIFICAZIONE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CONO] + ,[SCENARIO_PESSIMISTICO] + ,[SCENARIO_MEDIO] + ,[SCENARIO_OTTIMISTICO] + ,[ID_ELAB] + ,ordinamento_progetto) + + SELECT + WANAB.RETE AS RETE, + VC.COD_FISCALE AS COD_FISCALE, + CASE + WHEN WANAB.CODAREA = 'INV' THEN 'Inv' + WHEN WANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN WANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN WANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CS.nomeProgetto, 'XXX') AS NOME_PROGETTO, + CONO.dtRiferimento AS DATA_CONO, + CONO.quantileInf * 100 AS SCENARIO_PESSIMISTICO, + CONO.quantileInter * 100 AS SCENARIO_MEDIO, + CONO.quantileSup * 100 AS SCENARIO_OTTIMISTICO, + @ID_ELAB, + PR.chiaveProgetto -- wanab.codprog--, + -- count(*) + FROM C6StagingPeriodico.TANAB AS WANAB + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON WANAB.CODPROG = CM.idmonitoraggio + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON WANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN VC.COD_FISCALE ELSE VC.COD_MANDATO + END + AND WANAB.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + INNER JOIN C6StagingPeriodico.RP_CONO CONO + ON CONO.CHIAVEPROGETTO = CM.chiaveProgetto + + WHERE 1 = 1 + AND WANAB.DTFINE = '99991231' + --AND ((WANAB.CODAREA = 'Inv' AND CS.nomeProgetto = 'Progetto investimento') OR WANAB.CODAREA = 'Ris') + AND (WANAB.CODAREA = 'Inv' OR WANAB.CODAREA = 'Ris') + + --modifiche Luca per errore mart simulazione 16/12/2015 + --and WANAB.CODFIS not in ('GRPGLI71R45L407D','MRTGRL59B60H501T') + --------------------------------------------------------------------------- + + + -- formula commentata in trimestrale di luglio 2015 perch impediva la genenerazione del grafico del rendimento cumulato per importi + -- negativi (vedi segnalazione di FOGA' del 15/7/2015) + --AND (WANAB.APP_INI + WANAB.NTOT_APP - WANAB.NTOT_LIQ - (WANAB.TOT_CED + WANAB.TOT_DIV))>0 -- per escludere tutto quello che ha risorse associate =0 + + --AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 + --and wanab.codfis <> 'GRVMRZ63C14L566J' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CONO_PIANIFICAZIONE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_CONO_PIANIFICAZIONE_pre_selective' + ) + +END + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_CONTRATTOSEI.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_CONTRATTOSEI.sql new file mode 100644 index 00000000..c77c0ae6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_CONTRATTOSEI.sql @@ -0,0 +1,144 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_CONTRATTOSEI + + + + + +----------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodico].[RP_DM_CONTRATTOSEI] +AS + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CONTRATTOSEI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + +TRUNCATE TABLE C6MartPERIODICO.CONTRATTOSEI +INSERT INTO C6MartPERIODICO.CONTRATTOSEI +SELECT + r.[Rete], + r.[Cod_Fiscale], + r.[PIva_Fiduciaria], + r.[DATA_INZIOAVANZATO] as [Data_Sott], + r.[CodiceContratto], + r.[Cod_Agente], + r.[Data_Perf_Base], + r.[Data_Perf], + null as [Fascia_CPP], + null as [Email], + r.[Indirizzo], + r.[CAP], + r.[Citta], + r.[Provincia], + r.[Nazione], + r.[Presso], + null as[Data_Inizio], + r.[Freq_Diagnosi], + r.[FREQ_MONITORAGGIO], + null as [Freq_DiagnosiPrec], + null as [Freq_MonitorPrec], + null as [Data_InizioConsInv], + r.[Data_InizioBase], + r.[Data_FineBase], + r.[DATA_INZIOAVANZATO], + r.[Data_FineAvanzato], + null as [ProgressivoInvio], + 'N', + 'N', + null as [DataUltimoInvio], + r.[ClienteMigrato], + r.[RisorseNA], + null as [PartViaDisinv], + r.[NumSolleciti], + r.[Data_UltimoSollecito], + r.[NumRevoche], + r.[Data_UltimaRevoca], + null as [Note], + null as [Data_Invio_Diagnosi_Trimestrale], + null as [Data_Invio_Monitoraggio_Trimestrale], + r.[ProfiloAttivo], + null as [Rol], + r.[TIP_CONTRATTO], + r.[TIP_RIATTIVAZIONE] + +FROM + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] r +left join C6MartPeriodico.ANAG_CLIENTI a +on a.RETE=r.rete and a.COD_FISCALE=r.COD_FISCALE + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CONTRATTOSEI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_CONTRATTOSEI' + ) + + + +UPDATE c6martperiodico.contrattosei + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,prov = a.Provincia + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITOR = a.FREQ_MONITORAGGIO +from c6mart.vcontratti a +inner join c6martperiodico.contrattosei b +on a.codicecontratto = b.codicecontratto + + +UPDATE contr + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,provincia = a.Prov + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITORAGGIO = a.FREQ_MONITOR +from c6martperiodico.contrattosei a +inner join [C6StagingPeriodico].[APPO_CONTRATTI] contr on a.codicecontratto = contr.codicecontratto +left join [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] lim on lim.COD_FISCALE = contr.COD_FISCALE and lim.rete = contr.rete +where lim.cod_fiscale is not null or 0 = (select count(*) from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] with (nolock)) + + + +-- Allineamento Flag Rol su contratto sei + +Update C6MartPeriodico.ContrattoSei +Set Rol = Case D.statorol + When 'S' then D.statorol + Else 'N' + End, + EmAil = Case d.alertrol + When 'S' then D.Email + End +from C6MartPeriodico.ContrattoSei C inner join C6StagingPeriodico.datiRol2 D +on d.codContratto = c.codiceContratto + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_CONTRATTOSEI_20170407.SAVE.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_CONTRATTOSEI_20170407.SAVE.sql new file mode 100644 index 00000000..43b9cfe1 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_CONTRATTOSEI_20170407.SAVE.sql @@ -0,0 +1,166 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_CONTRATTOSEI_20170407.SAVE + + + + + + + + + +CREATE procedure [C6MartPeriodico].[RP_DM_CONTRATTOSEI_20170407.SAVE] +AS + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CONTRATTOSEI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + +TRUNCATE TABLE C6MartPERIODICO.CONTRATTOSEI +INSERT INTO C6MartPERIODICO.CONTRATTOSEI +SELECT + [Rete], + [Cod_Fiscale], + [PIva_Fiduciaria], + [DATA_INZIOAVANZATO] as [Data_Sott], + [CodiceContratto], + [Cod_Agente], + [Data_Perf_Base], + [Data_Perf], + null as [Fascia_CPP], + null as [Email], + [Indirizzo], + [CAP], + [Citta], + [Provincia], + [Nazione], + [Presso], + null as[Data_Inizio], + [Freq_Diagnosi], + [FREQ_MONITORAGGIO], + null as [Freq_DiagnosiPrec], + null as [Freq_MonitorPrec], + null as [Data_InizioConsInv], + [Data_InizioBase], + [Data_FineBase], + [DATA_INZIOAVANZATO], + [Data_FineAvanzato], + null as [ProgressivoInvio], + 'N', + 'N', + null as [DataUltimoInvio], + [ClienteMigrato], + [RisorseNA], + null as [PartViaDisinv], + [NumSolleciti], + [Data_UltimoSollecito], + [NumRevoche], + [Data_UltimaRevoca], + null as [Note], + null as [Data_Invio_Diagnosi_Trimestrale], + null as [Data_Invio_Monitoraggio_Trimestrale], + [ProfiloAttivo], + null as [Rol], + [TIP_CONTRATTO], + [TIP_RIATTIVAZIONE] + +FROM + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CONTRATTOSEI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_CONTRATTOSEI' + ) + + + +UPDATE c6martperiodico.contrattosei + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,prov = a.Provincia + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITOR = a.FREQ_MONITORAGGIO +from c6mart.vcontratti a +inner join c6martperiodico.contrattosei b +on a.codicecontratto = b.codicecontratto + + +UPDATE contr +set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,provincia = a.Prov + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITORAGGIO = a.FREQ_MONITOR +from c6martperiodico.contrattosei a +inner join [C6StagingPeriodico].[APPO_CONTRATTI] contr +on a.codicecontratto = contr.codicecontratto +left join [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] lim on lim.COD_FISCALE = contr.COD_FISCALE +and lim.rete = contr.rete + + +--INIZIO INTERVENTO TEMPORANEO +--ELIMINARE LE SUCCESSIVE DUE UPDATE DOPO LA TRIMESTRALE DI LUGLIO 2015 + +--UPDATE c6martperiodico.contrattosei +-- set +-- indirizzo = a.bindirizzo +-- ,cap = a.bcap +-- ,citta = a.bcitta +-- ,prov = a.bProvincia +-- ,presso = a.bPresso +--from cambio_tot a +--inner join c6martperiodico.contrattosei b +--on a.codicecontratto = b.codicecontratto + + +--UPDATE C6StagingPeriodico.appo_contratti +-- set +-- indirizzo = a.bindirizzo +-- ,cap = a.bcap +-- ,citta = a.bcitta +-- ,provincia = a.bProvincia +-- ,presso = a.bPresso +--from cambio_tot a +--inner join C6StagingPeriodico.appo_contratti_v b +--on a.codicecontratto = b.codicecontratto +--FINE INTERVENTO TEMPORANEO + + +-- Allineamento Flag Rol su contratto sei + +Update C6MartPeriodico.ContrattoSei +Set Rol = Case D.statorol + When 'S' then D.statorol + Else 'N' + End, + EmAil = Case d. diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_CONTRATTOSEI_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_CONTRATTOSEI_pre_selective.sql new file mode 100644 index 00000000..01c15f3e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_CONTRATTOSEI_pre_selective.sql @@ -0,0 +1,172 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_CONTRATTOSEI_pre_selective + + + + + + + + +CREATE procedure [C6MartPeriodico].[RP_DM_CONTRATTOSEI_pre_selective] +AS + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CONTRATTOSEI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + +TRUNCATE TABLE C6MartPERIODICO.CONTRATTOSEI +INSERT INTO C6MartPERIODICO.CONTRATTOSEI +SELECT + [Rete], + [Cod_Fiscale], + [PIva_Fiduciaria], + [DATA_INZIOAVANZATO] as [Data_Sott], + [CodiceContratto], + [Cod_Agente], + [Data_Perf_Base], + [Data_Perf], + null as [Fascia_CPP], + null as [Email], + [Indirizzo], + [CAP], + [Citta], + [Provincia], + [Nazione], + [Presso], + null as[Data_Inizio], + [Freq_Diagnosi], + [FREQ_MONITORAGGIO], + null as [Freq_DiagnosiPrec], + null as [Freq_MonitorPrec], + null as [Data_InizioConsInv], + [Data_InizioBase], + [Data_FineBase], + [DATA_INZIOAVANZATO], + [Data_FineAvanzato], + null as [ProgressivoInvio], + 'N', + 'N', + null as [DataUltimoInvio], + [ClienteMigrato], + [RisorseNA], + null as [PartViaDisinv], + [NumSolleciti], + [Data_UltimoSollecito], + [NumRevoche], + [Data_UltimaRevoca], + null as [Note], + null as [Data_Invio_Diagnosi_Trimestrale], + null as [Data_Invio_Monitoraggio_Trimestrale], + [ProfiloAttivo], + null as [Rol], + [TIP_CONTRATTO], + [TIP_RIATTIVAZIONE] + +FROM + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CONTRATTOSEI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_CONTRATTOSEI_pre_selective' + ) + + + +UPDATE c6martperiodico.contrattosei + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,prov = a.Provincia + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITOR = a.FREQ_MONITORAGGIO +from c6mart.vcontratti a +inner join c6martperiodico.contrattosei b +on a.codicecontratto = b.codicecontratto + + +UPDATE C6StagingPeriodico.appo_contratti + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,provincia = a.Prov + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITORAGGIO = a.FREQ_MONITOR +from c6martperiodico.contrattosei a +inner join c6stagingperiodico.appo_contratti b +on a.codicecontratto = b.codicecontratto + + +--INIZIO INTERVENTO TEMPORANEO +--ELIMINARE LE SUCCESSIVE DUE UPDATE DOPO LA TRIMESTRALE DI LUGLIO 2015 + +--UPDATE c6martperiodico.contrattosei +-- set +-- indirizzo = a.bindirizzo +-- ,cap = a.bcap +-- ,citta = a.bcitta +-- ,prov = a.bProvincia +-- ,presso = a.bPresso +--from cambio_tot a +--inner join c6martperiodico.contrattosei b +--on a.codicecontratto = b.codicecontratto + + +--UPDATE C6StagingPeriodico.appo_contratti +-- set +-- indirizzo = a.bindirizzo +-- ,cap = a.bcap +-- ,citta = a.bcitta +-- ,provincia = a.bProvincia +-- ,presso = a.bPresso +--from cambio_tot a +--inner join C6StagingPeriodico.appo_contratti b +--on a.codicecontratto = b.codicecontratto +--FINE INTERVENTO TEMPORANEO + + +-- Allineamento Flag Rol su contratto sei + +Update C6MartPeriodico.ContrattoSei +Set Rol = Case D.statorol + When 'S' then D.statorol + Else 'N' + End, + EmAil = Case d.alertrol + When 'S' then D.Email + End +from C6MartPeriodico.ContrattoSei C inner join C6StagingPeriodico.datiRol2 D +on d.codContratto = c.codiceContratto + + +----INIZIO INTERVENTO TEMPORANEO +---- Aggiornamento rol per 59 fiduciare FScirocco _VERIFICARE POST TRIM SE L'INTERVENTO DEVE RIMANERE A REGIME O MENO (chiedere ogni trimestrale) +--UPDATE C6MARTPERIODICO.CONT diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE.sql new file mode 100644 index 00000000..73290c23 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE.sql @@ -0,0 +1,30 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_CONTROLLO_TRIMESTRALE + +-- Stored procedure + +-- ===================================================== +-- Author: colaianni-consoli +-- Create date: 28/06/2011 +-- Description: CARICA LA TABELLA CONTROLLO_TRIMESTRALE +-- CON TUTTI I REPORT OGGETTO DI STAMPA +-- ===================================================== + +CREATE procedure [C6MartPeriodico].[RP_DM_CONTROLLO_TRIMESTRALE] +AS BEGIN + +TRUNCATE TABLE C6MARTPERIODICO.CONTROLLO_TRIMESTRALE + +INSERT INTO + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SELECT + COD_FISCALE, RETE, CASE WHEN FREQ_DIAGNOSI IS NULL THEN 0 ELSE 1 END, NULL, NULL, 1, NULL, GETDATE() +FROM +-- Modifica MV 18/04/2015 +-- C6MARTPERIODICO.RP_vContrattiPerGenerazioneReport + C6stagingPERIODICO.appo_contratti_v + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE_pre_selective.sql new file mode 100644 index 00000000..bbd290b4 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE_pre_selective.sql @@ -0,0 +1,30 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_CONTROLLO_TRIMESTRALE_pre_selective + +-- Stored procedure + +-- ===================================================== +-- Author: colaianni-consoli +-- Create date: 28/06/2011 +-- Description: CARICA LA TABELLA CONTROLLO_TRIMESTRALE +-- CON TUTTI I REPORT OGGETTO DI STAMPA +-- ===================================================== + +CREATE procedure [C6MartPeriodico].[RP_DM_CONTROLLO_TRIMESTRALE_pre_selective] +AS BEGIN + +TRUNCATE TABLE C6MARTPERIODICO.CONTROLLO_TRIMESTRALE + +INSERT INTO + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SELECT + COD_FISCALE, RETE, CASE WHEN FREQ_DIAGNOSI IS NULL THEN 0 ELSE 1 END, NULL, NULL, 1, NULL, GETDATE() +FROM +-- Modifica MV 18/04/2015 +-- C6MARTPERIODICO.RP_vContrattiPerGenerazioneReport + C6stagingPERIODICO.appo_contratti + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_Confronto_IndicatoreRischio.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_Confronto_IndicatoreRischio.sql new file mode 100644 index 00000000..f9e91eb0 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_Confronto_IndicatoreRischio.sql @@ -0,0 +1,118 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_Confronto_IndicatoreRischio + + + + + + + + + + + + + +--select * from C6MartPeriodico.CONFRONTO_RISCHIO + +CREATE procedure [C6MartPeriodico].[RP_DM_Confronto_IndicatoreRischio] +AS +BEGIN + + +DECLARE @PERC_SCARTO AS DECIMAL (5,2) + +SET @PERC_SCARTO= 1 + +TRUNCATE TABLE[C6martPeriodico].[CONFRONTO_RISCHIO] + + + +INSERT INTO [C6martPeriodico].[CONFRONTO_RISCHIO] +SELECT + qd.rete as Rete, + qd.codfis as Codfis, + qd.piva as Piva, + qd.codman as Codman, + qd.chiave_acn as Chiave_acn, + ABS(qd.isp_total_risk) AS Rischio_Adeguatezza , + ra.VAR_PERC_PTF AS Rischio_IL, + ABS(ABS(qd.isp_total_risk) - ABS(ra.VAR_PERC_PTF)) AS Dif_rischio, + --ABS(qd.isp_total_risk) * + @PERC_SCARTO AS Val_Tol_Scarto, + CASE + WHEN ABS(ABS(qd.isp_total_risk) - ABS(ra.VAR_PERC_PTF)) > --(ABS(qd.isp_total_risk) * + @PERC_SCARTO THEN 'KO' + ELSE 'OK' + END AS Confronto_Ind_Rischio, + trim(qd.flag_risk) AS Flag_Rischio_Adeguatezza, + CASE + WHEN ade.Adeg_Rischio = 'S' THEN 'Y' + WHEN ade.Adeg_Rischio = 'N' THEN '' + ELSE ade.Adeg_Rischio + END AS Flag_Rischio_IL, + CASE + WHEN trim(qd.flag_risk) <> + CASE + WHEN ade.Adeg_Rischio in ('S','NA') THEN 'Y' + WHEN ade.Adeg_Rischio = 'N' THEN '' + ELSE ade.Adeg_Rischio + END + THEN 'KO' + ELSE 'OK' END AS Confronto_Flag_Ind_Rischio + ,NULL as Perc_Var_KO + ,NULL as Perc_Ind_Adeg_KO + +FROM [C6martPeriodico].[QD_VAR_RISK_WEEK2] qd +LEFT JOIN [C6martPeriodico].RISCHIO_AGGREGATO ra + ON qd.rete = ra.rete AND qd.chiave_acn = ra.COD_FISCALE +LEFT JOIN [C6MartPeriodico].[W6CKADEG] ade + ON qd.rete = ade.Rete AND qd.chiave_acn = ade.Chiave_Acn +WHERE ra.COD_AGGREG = 'COMPLESSIVO' + +DECLARE @NUM_C_RISCHIO INT +DECLARE @NUM_C_RISCHIO_KO INT + +DECLARE @NUM_F_RISCHIO INT +DECLARE @NUM_F_RISCHIO_KO INT + + +select @NUM_C_RISCHIO=COUNT(*) from [C6martPeriodico].[CONFRONTO_RISCHIO] +select @NUM_C_RISCHIO_KO=COUNT(*) from [C6martPeriodico].[CONFRONTO_RISCHIO] where Confronto_Ind_Rischio='KO' + +select @NUM_F_RISCHIO=COUNT(*) from [C6martPeriodico].[CONFRONTO_RISCHIO] +select @NUM_F_RISCHIO_KO=COUNT(*) from [C6martPeriodico].[CONFRONTO_RISCHIO] where Confronto_Flag_Ind_Rischio='KO' + + -- FerAcu 20240913 - Ovviare a problema di divisione per zero quando la tabella vuota + if (@NUM_C_RISCHIO != 0 and @NUM_F_RISCHIO != 0) + begin + declare @PERC_C_RISCHIO DECIMAL(18,2) + DECLARE @PERC_F_RISCHIO DECIMAL(18,2) + + --Confronto_Perc_Rischio Perc_Var_KO + SET @PERC_C_RISCHIO = (CAST(@NUM_C_RISCHIO_KO AS DECIMAL(18,2)) * 100) / CAST(@NUM_C_RISCHIO AS DECIMAL(18,2)); + + --Confronto_Ind_Rischio Perc_Ind_Adeg_KO + SET @PERC_F_RISCHIO = (CAST(@NUM_F_RISCHIO_KO AS DECIMAL(18,2)) * 100) / CAST(@NUM_F_RISCHIO AS DECIMAL(18,2)); + + + + update [C6martPeriodico].[CONFRONTO_RISCHIO] + set Perc_Var_KO=@PERC_C_RISCHIO + + update [C6martPeriodico].[CONFRONTO_RISCHIO] + set Perc_Ind_Adeg_KO=@PERC_F_RISCHIO + end + +END + + + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.20170320.OBS.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.20170320.OBS.sql new file mode 100644 index 00000000..5c8d7478 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.20170320.OBS.sql @@ -0,0 +1,126 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_DETTAGLIO_ASUL.20170320.OBS + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[TEMP_RP_DM_DETTAGLIO_ASUL] +CREATE procedure [C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + + DECLARE @MaxDTTrim AS decimal(9,0) + SELECT @MaxDTTrim = MAX(DTTRIM) FROM C6STAGINGPERIODICO.WSEIUL + + TRUNCATE TABLE C6MartPeriodico.DETTAGLIO_ASUL + + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + --ISNULL( + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + -- SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + CAST('' AS VARCHAR(255)) AS COD_PRODOTTO, + --ISNULL(SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57), + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD) + -- ) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + SPB_CONTR_SINTESI.POSITIONID AS SPB_POSITIONID + INTO #TEMP_DETTAGLIO_ASUL + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGINGPERIODICO.RP_CatalogoProdotti CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.CodInterno + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.CodSottoprodotto + --AND CATITEMREF.Visibilita = 1 + AND (SPB_ASS_UNIT.ISIN = '' --and CATITEMREF.CodIsin is null --= '$' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.CodAdeguatezza + AND + SPB_ASS_UNIT.MAF = CATITEMREF.CodMaf) + + ) +WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = @MaxDTTrim + AND CATITEMREF.Visibilita = 1 + and SPB_CONTR_SINTESI.CTV <> 0 + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' + ) + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + + + declare @visible int + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + INNER JOIN diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.sql new file mode 100644 index 00000000..a3ed6efa --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.sql @@ -0,0 +1,134 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_DETTAGLIO_ASUL + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[TEMP_RP_DM_DETTAGLIO_ASUL] +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + + DECLARE @MaxDTTrim AS decimal(9,0) + SELECT @MaxDTTrim = MAX(DTTRIM) FROM C6STAGINGPERIODICO.WSEIUL + + TRUNCATE TABLE C6MartPeriodico.DETTAGLIO_ASUL + + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + --ISNULL( + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + -- SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + CAST('' AS VARCHAR(255)) AS COD_PRODOTTO, + --ISNULL(SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57), + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD) + -- ) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + SPB_CONTR_SINTESI.POSITIONID AS SPB_POSITIONID + INTO #TEMP_DETTAGLIO_ASUL + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGINGPERIODICO.RP_CatalogoProdotti CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.CodInterno + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.CodSottoprodotto + -------------------> Mod del 23/1/2017 - ripristinata and sulla visibilit precedentemente commentata + AND CATITEMREF.Visibilita = 1 + -------------------> Fine Mod del 23/1/2017 + AND (SPB_ASS_UNIT.ISIN = '' --and CATITEMREF.CodIsin is null --= '$' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.CodAdeguatezza + AND + SPB_ASS_UNIT.MAF = CATITEMREF.CodMaf) + + ) +WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = @MaxDTTrim + -------------------> Mod del 23/1/2017 -Commentata and sulla visibilit + --AND CATITEMREF.Visibilita = 1 + -------------------> Fine Mod del 23/1/2017 + and SPB_CONTR_SINTESI.CTV <> 0 + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' + ) + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + + + declare @visible int + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --*************************** diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_20170123.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_20170123.sql new file mode 100644 index 00000000..0b32f6e8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_20170123.sql @@ -0,0 +1,134 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_DETTAGLIO_ASUL_20170123 + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[TEMP_RP_DM_DETTAGLIO_ASUL] +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL_20170123] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + + DECLARE @MaxDTTrim AS decimal(9,0) + SELECT @MaxDTTrim = MAX(DTTRIM) FROM C6STAGINGPERIODICO.WSEIUL + + TRUNCATE TABLE C6MartPeriodico.DETTAGLIO_ASUL + + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + --ISNULL( + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + -- SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + CAST('' AS VARCHAR(255)) AS COD_PRODOTTO, + --ISNULL(SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57), + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD) + -- ) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + SPB_CONTR_SINTESI.POSITIONID AS SPB_POSITIONID + INTO #TEMP_DETTAGLIO_ASUL + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGINGPERIODICO.RP_CatalogoProdotti CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.CodInterno + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.CodSottoprodotto + --AND CATITEMREF.Visibilita = 1 + AND (SPB_ASS_UNIT.ISIN = '' --and CATITEMREF.CodIsin is null --= '$' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.CodAdeguatezza + AND + SPB_ASS_UNIT.MAF = CATITEMREF.CodMaf) + + ) +WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = @MaxDTTrim + AND CATITEMREF.Visibilita = 1 + and SPB_CONTR_SINTESI.CTV <> 0 + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' + ) + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + + + declare @visible int + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + INNER JOIN + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = 1 + )CAT + on + --caso 1 + (COD_SOTTOPRODOTTO not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,' diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_TEMP.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_TEMP.sql new file mode 100644 index 00000000..5d09a817 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_TEMP.sql @@ -0,0 +1,122 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_DETTAGLIO_ASUL_TEMP + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL_TEMP] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL', + GETDATE(), + 'Elaborazione trimestrale' + ) + + --TRUNCATE TABLE C6MartPeriodico.DETTAGLIO_ASUL +--delete C6MartPeriodico.DETTAGLIO_ASUL where cod_fiscale = 'RNGBCM56E61D612I' + INSERT INTO [C6MartPeriodico].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + ISNULL( + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + --ISNULL(SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57), + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD) + -- ) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGINGPERIODICO.RP_CatalogoProdotti CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.CodInterno + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.CodSottoprodotto + --AND CATITEMREF.Visibilita = 1 + AND (SPB_ASS_UNIT.ISIN = '' --and CATITEMREF.CodIsin is null --= '$' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.CodAdeguatezza + AND + SPB_ASS_UNIT.MAF = CATITEMREF.CodMaf) + + ) +WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = ( + SELECT + MAX(DTTRIM) + FROM + C6STAGINGPERIODICO.WSEIUL + ) + AND CATITEMREF.Visibilita = 1 + and SPB_CONTR_SINTESI.CTV <> 0 +and SPB_CONTR_SINTESI.CODFIS = 'RNGBCM56E61D612I' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_luca.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_luca.sql new file mode 100644 index 00000000..7dfdb942 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_luca.sql @@ -0,0 +1,123 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_DETTAGLIO_ASUL_luca + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[TEMP_RP_DM_DETTAGLIO_ASUL] +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL_luca] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + + DECLARE @MaxDTTrim AS decimal(9,0) + SELECT @MaxDTTrim = MAX(DTTRIM) FROM C6STAGINGPERIODICO.WSEIUL + + + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + --ISNULL( + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + -- SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + CAST('' AS VARCHAR(255)) AS COD_PRODOTTO, + --ISNULL(SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57), + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD) + -- ) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + SPB_CONTR_SINTESI.POSITIONID AS SPB_POSITIONID + INTO #TEMP_DETTAGLIO_ASUL + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGINGPERIODICO.RP_CatalogoProdotti CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.CodInterno + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.CodSottoprodotto + --AND CATITEMREF.Visibilita = 1 + AND (SPB_ASS_UNIT.ISIN = '' --and CATITEMREF.CodIsin is null --= '$' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.CodAdeguatezza + AND + SPB_ASS_UNIT.MAF = CATITEMREF.CodMaf) + + ) +WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = @MaxDTTrim + AND CATITEMREF.Visibilita = 1 + and SPB_CONTR_SINTESI.CTV <> 0 + + + AND SPB_CONTR_SINTESI.CODFIS = 'MLSVNC68S45D612E' + + + SELECT * from #TEMP_DETTAGLIO_ASUL + + + declare @visible int + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + INNER JOIN + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = 1 + )CAT + on + --caso 1 + (COD_SOTTOPRODOTTO not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'')) + or + --else caso 1 + (COD_SOTTOPRODOTTO in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'') + and cat.TIPOPRODOTTO = 'ASUL') + --*********************************************************************************** + WHERE COD_PRODOTTO = '' + + set @visible = @visible - 1 + end + + + + + + UPDATE #TEM diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_pre_selective.sql new file mode 100644 index 00000000..a2dcc634 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_pre_selective.sql @@ -0,0 +1,132 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_DETTAGLIO_ASUL_pre_selective + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[TEMP_RP_DM_DETTAGLIO_ASUL_pre_selective] +CREATE procedure [C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_pre_selective_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + + DECLARE @MaxDTTrim AS decimal(9,0) + SELECT @MaxDTTrim = MAX(DTTRIM) FROM C6STAGINGPERIODICO.WSEIUL + + TRUNCATE TABLE C6MartPeriodico.DETTAGLIO_ASUL + + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + --ISNULL( + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + -- SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + CAST('' AS VARCHAR(255)) AS COD_PRODOTTO, + --ISNULL(SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57), + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD) + -- ) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + SPB_CONTR_SINTESI.POSITIONID AS SPB_POSITIONID + INTO #TEMP_DETTAGLIO_ASUL + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGINGPERIODICO.RP_CatalogoProdotti CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.CodInterno + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.CodSottoprodotto + --AND CATITEMREF.Visibilita = 1 + AND (SPB_ASS_UNIT.ISIN = '' --and CATITEMREF.CodIsin is null --= '$' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.CodAdeguatezza + AND + SPB_ASS_UNIT.MAF = CATITEMREF.CodMaf) + + ) +WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = @MaxDTTrim + AND CATITEMREF.Visibilita = 1 + and SPB_CONTR_SINTESI.CTV <> 0 + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_pre_selective_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_pre_selective_1' + ) + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_pre_selective_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + + + declare @visible int + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + INNER JOIN + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = 1 + )CAT + on + --caso 1 + (COD_SOTTOPRODOTTO not diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_ESG_ANAG_METRICHE.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ESG_ANAG_METRICHE.sql new file mode 100644 index 00000000..664d84c4 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_ESG_ANAG_METRICHE.sql @@ -0,0 +1,114 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_ESG_ANAG_METRICHE + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from C6MartPeriodico.assetclass +CREATE procedure [C6MartPeriodico].[RP_DM_ESG_ANAG_METRICHE] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ESG_ANAG_METRICHE', + GETDATE(), + 'Elaborazione giornaliera' + ) + +TRUNCATE TABLE c6StagingPeriodico.ESG_ANAG_METRICHE + + INSERT INTO [c6StagingPeriodico].ESG_ANAG_METRICHE + ( [COD_PRODOTTO] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[CatSFDR] + ,[ESGRating] + ,[TrendESGRating] + ,[LABEL_Green_Bond] + ,[LABEL_Social_Bond] + ,[LABEL_Sustainability_Bond] + ,[LABEL_Transition_Bond] + ,[LABEL_Sust_linked_bond] + ,LABEL_EU_GREEN_BOND_STANDARD + ,[PERC_INVESTIMENTO_TAXONOMY] + ,[PERC_INVESTIMENTO_SFDR] + ,[PERC_INVEST_SFDR_MIN_SUST_E] + ,[PERC_INVEST_SFDR_MIN_SUST_S] + ,[PAI_LAB_A_Emissioni_Gas_Serra] + ,[PAI_LAB_A_Biodiversita] + ,[PAI_LAB_A_Acqua] + ,[PAI_LAB_A_Rifiuti] + ,[PAI_LAB_A_Gov_Ambientale] + ,[PAI_LAB_A_Comb_Fossili] + ,[PAI_LAB_A_Eff_energetica] + ,[PAI_LAB_A_Settore_Immobiliare] + ,[PAI_LAB_S_Questioni_Soc_Dip] + ,[PAI_LAB_S_Gov_Sociali] + ,[U_INFO_ESG] + ,[ID_ELAB] + ,[TIPO_ELAB] + ) + SELECT + --ChiaveProdotto, + CatalogueID AS COD_PRODOTTO, + C.CodSottoprodotto AS COD_SOTTOPRODOTTO, + ISNULL(C.CodInterno, '') AS COD_INTERNO, + C.CodMaf AS COD_MAF, + C.CodAdeguatezza AS COD_ADEGUATEZZA, + ISNULL(C.CodIsin, '') AS COD_ISIN, + case when Ltrim(rtrim(ESG_E)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_E)) = 'N' then 'NO' + else 'NO' end as ESG_E, + case when Ltrim(rtrim(ESG_S)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_S)) = 'N' then 'NO' + else 'NO' end as ESG_S, + case when Ltrim(rtrim(ESG_G)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_G)) = 'N' then 'NO' + else 'NO' end as ESG_G, + case when CatSFDR='-' then '' else CatSFDR end as CatSFDR, + Ltrim(rtrim(ESGRating)) as ESGRating , + Ltrim(rtrim(TrendESGRating)) as TrendESGRating, + case when LABEL_Green_Bond<> '-' then 'Green Bond' else '' end as LABEL_Green_Bond, + case when LABEL_Social_Bond<> '-' then 'Social Bond' else '' end as LABEL_Social_Bond, + case when LABEL_Sustainability_Bond<> '-' then 'Sustainability Bond' else '' end as LABEL_Sustainability_Bond, + case when LABEL_Transition_Bond<> '-' then 'Transition Bond' else '' end as LABEL_Transition_Bond, + case when LABEL_Sust_linked_bond<> '-' then 'Sustainability Linked Bond' else '' end as LABEL_Sust_linked_bond, + case when LABEL_EU_GREEN_BOND_STANDARD<> '-' then 'EU Green Bond Standard' else '' end as LABEL_EU_GREEN_BOND_STANDARD, + PERC_INVESTIMENTO_TAXONOMY *100 as PERC_INVESTIMENTO_TAXONOMY, + PERC_INVESTIMENTO_SFDR * 100 as PERC_INVESTIMENTO_SFDR, + [PERC_INVEST_SFDR_MIN_SUST_E] * 100 as PERC_INVEST_SFDR_MIN_SUST_E , + [PERC_INVEST_SFDR_MIN_SUST_S] * 100 as PERC_INVEST_SFDR_MIN_SUST_S, + case when PAI_LAB_A_Emissioni_Gas_Serra<>'-' then 'Emissioni Gas Serra' else '' end as PAI_LAB_A_Emissioni_Gas_Serra, + case when PAI_LAB_A_Biodiversita<>'-' then 'Biodiversit' else '' end as PAI_LAB_A_Biodiversita, + case when PAI_LAB_A_Acqua<>'-' then 'Acqua' else '' end as PAI_LAB_A_Acqua, + case when PAI_LAB_A_Rifiuti<>'-' then 'Rifiuti' else '' end as PAI_LAB_A_Rifiuti, + case when PAI_LAB_A_Gov_Ambientale<>'-' then 'Governativi di tipo Amb diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql new file mode 100644 index 00000000..277035f8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql @@ -0,0 +1,133 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE + + + + + +-- ============================================= +-- Author: +-- Create date: <13/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE] +AS +BEGIN + +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT + +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + +DECLARE @GETDATE AS DATETIME +SELECT @GETDATE = GETDATE() + +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) +VALUES ( + 'RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE', + GETDATE(), + 'Elaborazione trimestrale' +) + --1. INSERIMENTO MAIL "LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- NON PRESENTI SU GESTIONE_EMAIL + +DECLARE @TIPOEMAIL AS VARCHAR(50) +SET @TIPOEMAIL = 'LC_REP_DA_GEN' + +--Cancellazione delle eventuali mail che non sono ancora state inviate e che stanno per essere rigenerate + + DELETE from C6MartPeriodico.MailAvvisoTrimestraleAiPB + WHERE email_id in ( + SELECT m.email_id + from C6MartPeriodico.MailAvvisoTrimestraleAiPB m + inner join [C6MartPeriodico].[GESTIONE_EMAIL] + ON GESTIONE_EMAIL.email_id = m.email_id + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N') + + DELETE + FROM [C6MartPeriodico].[GESTIONE_EMAIL] + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' + + + INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,CodicePB,Tipo,Data_Generazione, ID_ELAB) + SELECT + DISTINCT + C6.Rete, + C6.Cod_Agente as CodicePB, + @TIPOEMAIL as TipoEmail, + @GETDATE AS DataGenerazione, + @ID_ELAB as ID_ELAB + FROM C6MartPeriodico.RP_vContrattiPerGenerazioneReport C6 + LEFT OUTER JOIN C6MartPeriodico.GESTIONE_EMAIL EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_Agente = EMAIL.CodicePB + AND EMAIL.TIPO = @TIPOEMAIL + AND YEAR(EMAIL.Data_Generazione) = YEAR(@GETDATE) + AND MONTH(EMAIL.Data_Generazione) = MONTH(@GETDATE) +-- AND ISNULL(EMAIL.[Inviata],'N') = 'N' + LEFT OUTER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.CodicePB IS NULL + AND PF.RETE IS NULL + +/* +DECLARE @id_periodiodo as int + select @id_periodiodo = max(id_periodo) from [MIFD_ADEGUATEZZA].controllodata.dbo.clientiAdeguatezza_ALL + + INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,CodicePB,Tipo,Data_Generazione, ID_ELAB) + SELECT + DISTINCT + C6.Rete, + C6.Cod_Agente as CodicePB, + @TIPOEMAIL as TipoEmail, + @GETDATE AS DataGenerazione, + @ID_ELAB as ID_ELAB + --FROM C6MartPeriodico.vContrattiPerGenerazioneReport C6 --V cambiata la vista + FROM + (select * from C6MartPeriodico.RP_vContrattiPerGenerazioneReport + where rete + cod_agente in +( +select + a.rete+ cod_agente + from + C6MartPeriodico.RP_vContrattiPerGenerazioneReport a + left outer join + [MIFD_ADEGUATEZZA].controllodata.dbo.clientiAdeguatezza_ALL b + on + (case + when len("codice mandato") = 0 + then b."codice fiscale" + else 'FF@'+ "codice mandato" + end) = a.cod_fiscale + and a.rete=b.rete + and a.cod_agente = substring(b.codagente, 2, len(b.codagente)- 1) + where + b.id_periodo= @id_periodiodo--- chiedi ad antonio il periodo + --and a.data_fineavanzato is null + and profilo > 0 + and dtprofilo is null + +)) C6 + LEFT OUTER JOIN C6MartPeriodico.GESTIONE_EMAIL EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_Agente = EMAIL.CodicePB + AND EMAIL.TIPO = @TIPOEMAIL + AND YEAR(EMAIL.Data_Generazione) = YEAR(@GETDATE) + AND MONTH(EMAIL.Data_Generazione) = MONTH(@GETDATE) + AND ISNULL(EMAIL.[Inviata],'N') = 'N' + LEFT OUTER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.CodicePB IS NULL + AND PF.RETE IS NULL + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_GestioneEmail.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_GestioneEmail.sql new file mode 100644 index 00000000..04733c21 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_GestioneEmail.sql @@ -0,0 +1,104 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_GestioneEmail + +--delete from C6MartPeriodico.gestione_Email where data_Generazione > getDate()-1 +--truncate table log_esecuzione +--select * from log_esecuzione +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_GestioneEmail] +AS +BEGIN + +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- PERFEZIONAMENTO; +-- MANCATA MIGRAZIONE; +-- REINVIO SOLLECITO MANCATA MIGRAZIONE. + +--LA GESTIONE DELLE EMAIL PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO O +--PER REINVIO DEL SOLLECITO PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO +--VIENE FATTA DOPO L'ALLINEAMENTO CON I DATI DEL SIMPB + + +--ESTRAZIONE EMAIL PERFEZIONAMENTO +--TIPO EMAIL: "PERF" +--L'EMAIL VIENE INVIATA PER TUTTI I CLIENTI CHE HANNO DATA DI PERFEZIONAMENTO VALORIZZATA +--IL CONTROLLO SULLA DATA DI GENERAZIONE >= DELLA DATA DI PERFEZIONAMENTO E' DOVUTO AL +--FATTO CHE IL CONTRATTO PUO` ESSERE CHIUSO E RIAPERTO ED IN QUESTO CASO LA MAIL DI PERFEZIONAMENTO +--DEVE ESSERE REINVIATA + +-- EMAIL DI ADESIONE AL SERVIZIO SEI +-- TIPO EMAIL 'PERF' +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @ID_ELAB INT +DECLARE @MaxInvioSoll as SMALLINT + +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') as smallint) +SET @ID_ELAB = C6MartPeriodico.GETIDELAB() +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) --7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint) --7 + +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - Mail Perf',GETDATE(),'Elaborazione giornaliera') +--0. MODIFICO I RECORD IN GESTIONE EMAIL CON TIPO = PERF PER EVITARE IL REINVIO MULTIPLO A SEGUITO DELLA RIATTIVAZIONE +UPDATE C6MartPeriodico.GESTIONE_EMAIL +SET TIPO = 'OLD' +FROM C6MartPeriodico.Gestione_EMAIL EMAIL + INNER JOIN C6MartPeriodico.VCONTRATTI VC + ON VC.COD_FISCALE = EMAIL.COD_FISCALE + AND VC.rete = EMAIL.RETE + AND EMAIL.TIPO = 'PERF' + INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MC + ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB + AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO = '9999-12-31 00:00:00.000' + AND MC.Tip_riattivazione = 1 + + +--1. INSERIMENTO MAIL DI "PERFEZIONAMENTO" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- NON PRESENTI SU GESTIONE_EMAIL + +INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione, ID_ELAB) +SELECT + VC.Rete, + VC.Cod_Fiscale, + 'PERF' as TipoEmail, + GETDATE() AS DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6MartPeriodico.VCONTRATTI VC +INNER JOIN C6MartPeriodico.CONTRATTOSEI_METADATI MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb +LEFT JOIN C6MartPeriodico.GESTIONE_EMAIL EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + AND EMAIL.TIPO = 'PERF' + AND EMAIL.Data_Generazione >= VC.Data_Perf -- CONDIZIONE PER ESCLUDERE DAL JOIN UN CONTRATTO CHIUSO E RIAPERTO. +LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF -- IN QUESTO MODO LO INSERIAMO NUOVAMENTE IN GESTIONE_MAIL. + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + --AND VC.InvioBenvenuto = 'N' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND EMAIL.COD_FISCALE IS NULL + AND PF.RETE IS NULL + + +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'INSERT',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf' AND + Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf') + +INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - SollecitiNOMIG',GETDATE(),'Elaborazione giornaliera') + +-- 2. INSERIMENTO MAIL "SOLLECITI" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE +-- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO NULL -> CONSIDERIAMO DATA_PERF + +INSERT INTO C6MartPeriodico.GESTIONE_EMAIL diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_GestioneEmailNA.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_GestioneEmailNA.sql new file mode 100644 index 00000000..fb087bec --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_GestioneEmailNA.sql @@ -0,0 +1,141 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_GestioneEmailNA + +-- ============================================= +-- Author: +-- Create date: <17/11/2008,,> +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_GestioneEmailNA] +AS +BEGIN + +BEGIN TRANSACTION + +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT + +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT) +SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'RP_DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' +) + +-- 1. INSERIMENTO MAIL "SOLLECITI" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA EFFETTUATO L'ASSOCIAZIONE DELLE RISORSE + -- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO NULL -> CONSIDERIAMO DATA_PERF + + INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + VC.rete, + VC.cod_fiscale, + CASE + WHEN ISNULL(numSolleciti,0) = 0 THEN '1_SOLL_NOASS' + WHEN numSolleciti = 1 THEN '2_SOLL_NOASS' + WHEN numSolleciti = 2 THEN '3_SOLL_NOASS' + ELSE 'S_SOLL_NOASS' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM C6MartPeriodico.vcontratti VC + INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'S' + AND MD.risorseNA = 'S' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNA' + ) + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' + ) + +-- 1.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" + -- AUMENTIAMO IL NUMERO numSolleciti + -- AGGIORNIAMO LA DATA Data_UltimoSollecito + + UPDATE + C6MartPeriodico.CONTRATTOSEI_METADATI + SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() + FROM C6MartPeriodico.vcontratti VC + INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'S' + AND MD.risorseNA = 'S' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_GestioneEmailNOPRO.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_GestioneEmailNOPRO.sql new file mode 100644 index 00000000..4ac5c6ca --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_GestioneEmailNOPRO.sql @@ -0,0 +1,134 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_GestioneEmailNOPRO + +--select * from C6MartPeriodico.gestione_Email where data_Generazione > getDate()-1 and tipo like '%pro%' +-- ============================================= +-- Author: +-- Create date: <19/14/2011,,> -1 ai -2! +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_GestioneEmailNOPRO] +AS +BEGIN + +BEGIN TRANSACTION + +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT + +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT) +SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'RP_DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' +) + +-- 1. INSERIMENTO MAIL "SOLLECITI" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA ATTIVATO UN PROFILO VALIDO AL CLIENTE + -- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO NULL -> CONSIDERIAMO DATA_PERF + + INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + VC.rete, + VC.cod_fiscale, + CASE + WHEN ISNULL(MD.numSolleciti,0) = 0 THEN '1_SOLL_NOPRO' + WHEN MD.numSolleciti = 1 THEN '2_SOLL_NOPRO' + WHEN MD.numSolleciti = 2 THEN '3_SOLL_NOPRO' + ELSE 'S_SOLL_NOPRO' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM C6MartPeriodico.vcontratti VC + INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'S' + AND MD.risorseNA = 'N' + AND MD.profiloAttivo = 0 + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' + ) + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' + ) + +-- 1.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" + -- AUMENTIAMO IL NUMERO numSolleciti + -- AGGIORNIAMO LA DATA Data_UltimoSollecito + + UPDATE + C6MartPeriodico.CONTRATTOSEI_METADATI + SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() + FROM C6MartPeriodico.vcontratti VC + INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'S' + AND MD.risorseNA = 'N' + AND MD.profiloAttivo = 0 + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_IndicatoreRischio.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_IndicatoreRischio.sql new file mode 100644 index 00000000..8e37a773 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_IndicatoreRischio.sql @@ -0,0 +1,150 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_IndicatoreRischio + + + + + + + + +CREATE procedure [C6MartPeriodico].[RP_DM_IndicatoreRischio] + +as +begin + +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +print(@DataFineTrim) + +DECLARE @DataTab VARCHAR(8) +SELECT TOP 1 @DataTab = dttrim FROM C6MartPeriodico.Indicatore_Rischio +print(@DataTab) + +drop table if exists #appo +drop table if exists #NoCFPatrCasa +drop table if exists #NoPatrCasa +drop table if exists #NoPatrCasaFin +drop table if exists #tot +drop table if exists #finale + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, + +NULL + +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + + + -- 16/7/2018 + into #appo + -- fine 16/7/2018 + + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' then 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' then 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' then 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' then 'Patrimonio IW Private Inv.' END + + + UNION + + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'W' then 'Patrimonio IW Private Inv.' + else 'Patrimon diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_MAIL_PROFILI_RISCHIO.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MAIL_PROFILI_RISCHIO.sql new file mode 100644 index 00000000..96670b9b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MAIL_PROFILI_RISCHIO.sql @@ -0,0 +1,40 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_MAIL_PROFILI_RISCHIO + +-- Stored procedure +CREATE procedure [C6MartPeriodico].[RP_DM_MAIL_PROFILI_RISCHIO] +AS +BEGIN + +truncate table [C6MartPeriodico].[MAIL_PROFILI_RISCHIO] + +insert into [C6MartPeriodico].[MAIL_PROFILI_RISCHIO] +SELECT [rete] + ,[cod_fiscale] + ,[codicecontratto] + ,[cod_agente] + ,[data_sott] + ,[data_perf] + ,[flag_invio_report] + ,[profilo] + ,[dt_creazione_profilo] + ,case + when profilo = 0 then 1 + else 0 + end as flagScaduto + + ,case + when datediff(dd,dt_creazione_profilo,c6martperiodico.gettrimestre2(getdate(),0)) / 365.25 < 3 then 0 + else 1 + end as flagScadenzaTrim + + ,case + when datediff(dd,dt_creazione_profilo,c6martperiodico.getNexttrimestre(getdate(),0)) / 365.25 < 3 then 0 + else 1 + end as flagScadenzaNextTrim + + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[RP_MAIL_PROFILI_RISCHIO] + +end + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE.sql new file mode 100644 index 00000000..456d2b1a --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE.sql @@ -0,0 +1,110 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_MONITORAGGIO_ATTUALE + + + + + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_ATTUALE] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_ATTUALE', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_ATTIVAZIONE] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[APPORTO_INIZIALE] + ,[APPORTO_SUCCESSIVO] + ,[LIQUIDAZIONI] + ,[CEDOLE_DIVIDENDI] + ,[MINUS_PLUSVALENZA] + ,[RISORSE_ASSOCIATE] + ,[RENDIMENTO_CUMULATO] + ,[RENDIMENTO_ANNUALIZZATO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB]) + + SELECT + TANAB.RETE, + VC.COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CS.nomeProgetto, 'XXX') AS NOME_PROGETTO, + CASE + WHEN ISDATE(TANAB.DTRIF) = 0 THEN NULL + ELSE CAST(CAST(TANAB.DTRIF AS VARCHAR(8)) AS DATETIME) + END AS DATA_ATTIVAZIONE, + + --CAST(CAST(TANAB.DTRIF AS VARCHAR(8)) AS DATETIME) AS DATA_ATTIVAZIONE, + CASE + WHEN ISDATE(TANAB.DTCTV) = 0 THEN NULL + ELSE CAST(CAST(TANAB.DTCTV AS VARCHAR(8)) AS DATETIME) + END AS DATA_CTV, + TANAB.CTV AS CTV_MONITORATO, + TANAB.APP_INI AS APPORTO_INIZIALE, + TANAB.NTOT_APP AS APPORTO_SUCCESSIVO, + TANAB.NTOT_LIQ AS LIQUIDAZIONI, + TANAB.TOT_CED + TANAB.TOT_DIV AS CEDOLE_DIVIDENDI, + TANAB.CTV - (TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ) AS MINUS_PLUSVALENZA, + -- TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ - TANAB.TOT_CED - TANAB.TOT_DIV AS RISORSE_ASSOCIATE, + TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ AS RISORSE_ASSOCIATE, + cast(TANAB.RENDATT as decimal(15,2)) AS RENDIMENTO_CUMULATO, + TANAB.RENDATTANN AS RENDIMENTO_ANNUALIZZATO, + CM.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB + + FROM C6StagingPeriodico.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON TANAB.CODPROG = CM.idmonitoraggio +-- INNER JOIN C6StagingPeriodico.RP_Consulenza CS +-- ON CM.chiaveprogetto = CS.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND TANAB.RETE = VC.RETE + --AND VC.DATA_FINEAVANZATO > getDate() + WHERE 1 = 1 + AND TANAB.DTFINE = 99991231 + +-- modifica di Luca per errore Mart simulazione 16/12/2015 + and TANAB.CODFIS not in ('BRTDIA49E49L219N','GRPGLI71R45L407D' diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE_pre_selective.sql new file mode 100644 index 00000000..e9fd3306 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE_pre_selective.sql @@ -0,0 +1,113 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_MONITORAGGIO_ATTUALE_pre_selective + + + + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_ATTUALE_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_ATTUALE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_ATTIVAZIONE] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[APPORTO_INIZIALE] + ,[APPORTO_SUCCESSIVO] + ,[LIQUIDAZIONI] + ,[CEDOLE_DIVIDENDI] + ,[MINUS_PLUSVALENZA] + ,[RISORSE_ASSOCIATE] + ,[RENDIMENTO_CUMULATO] + ,[RENDIMENTO_ANNUALIZZATO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB]) + + SELECT + TANAB.RETE, + VC.COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CS.nomeProgetto, 'XXX') AS NOME_PROGETTO, + CASE + WHEN ISDATE(TANAB.DTRIF) = 0 THEN NULL + ELSE CAST(CAST(TANAB.DTRIF AS VARCHAR(8)) AS DATETIME) + END AS DATA_ATTIVAZIONE, + + --CAST(CAST(TANAB.DTRIF AS VARCHAR(8)) AS DATETIME) AS DATA_ATTIVAZIONE, + CASE + WHEN ISDATE(TANAB.DTCTV) = 0 THEN NULL + ELSE CAST(CAST(TANAB.DTCTV AS VARCHAR(8)) AS DATETIME) + END AS DATA_CTV, + TANAB.CTV AS CTV_MONITORATO, + TANAB.APP_INI AS APPORTO_INIZIALE, + TANAB.NTOT_APP AS APPORTO_SUCCESSIVO, + TANAB.NTOT_LIQ AS LIQUIDAZIONI, + TANAB.TOT_CED + TANAB.TOT_DIV AS CEDOLE_DIVIDENDI, + TANAB.CTV - (TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ) AS MINUS_PLUSVALENZA, + -- TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ - TANAB.TOT_CED - TANAB.TOT_DIV AS RISORSE_ASSOCIATE, + TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ AS RISORSE_ASSOCIATE, + cast(TANAB.RENDATT as decimal(15,2)) AS RENDIMENTO_CUMULATO, + TANAB.RENDATTANN AS RENDIMENTO_ANNUALIZZATO, + CM.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB + + FROM C6StagingPeriodico.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON TANAB.CODPROG = CM.idmonitoraggio +-- INNER JOIN C6StagingPeriodico.RP_Consulenza CS +-- ON CM.chiaveprogetto = CS.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND TANAB.RETE = VC.RETE + --AND VC.DATA_FINEAVANZATO > getDate() + WHERE 1 = 1 + AND TANAB.DTFINE = 99991231 + +-- modifica di Luca per errore Mart simulazione 16/12/2015 + and TANAB.CODFIS not in ('BRTDIA49E49L219N','GRPGLI71R45L407D','GSTMGS42D51L833Z','MLSRNT54M12B354E','MRTGRL59B60H501T','RMNFNC40R14H501K') +--------------------------------------------------------------------------------------- + + + -- Log esecuzione diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO.sql new file mode 100644 index 00000000..7b2d21a3 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO.sql @@ -0,0 +1,125 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_MONITORAGGIO_DETTAGLIO + + + + + + + + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_DETTAGLIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + +-- begin try + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + + SELECT distinct -- aggiunta distinct 20231212 per duplicati + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + CASE WHEN A.TIPPROD='CC' and data_associazione < '20110211' + THEN cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + VC.COD_FISCALE AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON ANA.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND ANA.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20161220.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20161220.sql new file mode 100644 index 00000000..66688495 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20161220.sql @@ -0,0 +1,129 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_MONITORAGGIO_DETTAGLIO_20161220 + + + + + + + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20161220] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_DETTAGLIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + +-- begin try + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + CASE WHEN A.TIPPROD='CC' and data_associazione < '20110211' + THEN cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + VC.COD_FISCALE AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON ANA.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND ANA.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CUSTGAR is null OR LTRIM(RTRIM(a.CUSTGAR)) = '') then '0' else A.CUSTGAR end)=B.CUSTGAR +-- AND A.MAF=B.MAF + --V Modifica skandia di tipo ASU2 +--Intervento OMNIA Last +-- AND b.isin = case when (a.tipprod = 'ASU2') then a.i diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20171218_preRFMP.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20171218_preRFMP.sql new file mode 100644 index 00000000..79bfb654 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20171218_preRFMP.sql @@ -0,0 +1,120 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_MONITORAGGIO_DETTAGLIO_20171218_preRFMP + + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20171218_preRFMP] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_DETTAGLIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + +-- begin try + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + CASE WHEN A.TIPPROD='CC' and data_associazione < '20110211' + THEN cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + VC.COD_FISCALE AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON ANA.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND ANA.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20181213.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20181213.sql new file mode 100644 index 00000000..add17108 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20181213.sql @@ -0,0 +1,121 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_MONITORAGGIO_DETTAGLIO_20181213 + + + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20181213] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_DETTAGLIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + +-- begin try + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + CASE WHEN A.TIPPROD='CC' and data_associazione < '20110211' + THEN cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + VC.COD_FISCALE AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON ANA.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND ANA.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CU diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190112.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190112.sql new file mode 100644 index 00000000..fae034f1 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190112.sql @@ -0,0 +1,123 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_MONITORAGGIO_DETTAGLIO_20190112 + + + + + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20190112] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_DETTAGLIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + +-- begin try + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + CASE WHEN A.TIPPROD='CC' and data_associazione < '20110211' + THEN cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + VC.COD_FISCALE AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON ANA.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND ANA.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and ( diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190314_preMioFoglio.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190314_preMioFoglio.sql new file mode 100644 index 00000000..160e1077 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190314_preMioFoglio.sql @@ -0,0 +1,125 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_MONITORAGGIO_DETTAGLIO_20190314_preMioFoglio + + + + + + + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20190314_preMioFoglio] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_DETTAGLIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + +-- begin try + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + CASE WHEN A.TIPPROD='CC' and data_associazione < '20110211' + THEN cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + VC.COD_FISCALE AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON ANA.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND ANA.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.T diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql new file mode 100644 index 00000000..e7a45f73 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql @@ -0,0 +1,129 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective + + + + + + + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + +-- begin try + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + CASE WHEN A.TIPPROD='CC' and data_associazione < '20110211' + THEN cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + VC.COD_FISCALE AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON ANA.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND ANA.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CUSTGAR is null OR LTRIM(RTRIM(a.CUSTGAR)) = '') then '0' else A.CUSTGAR end)=B.CUSTGAR +-- AND A.MAF=B.MAF + --V Modifica skandia di tipo ASU2 +--Intervento OMNIA Last +-- AND b.isin = case when (a.tipprod diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE.sql new file mode 100644 index 00000000..336b5a91 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE.sql @@ -0,0 +1,132 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_MONITORAGGIO_INIZIALE + + + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 15 luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_INIZIALE] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_INIZIALE_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + ([RETE] + ,[COD_FISCALE] + ,[DATA_FOTO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] + ,[RISKCLASS] + , [RISKCLASSMAX] + ,[ID_ELAB] + ,ctvself) + + SELECT + V.rete AS RETE, + V.COD_FISCALE AS COD_FISCALE, + M.dtSalvataggio AS DATA_FOTO, + isnull(ctvExt,0) + isnull(ctvInv,0) + isnull(ctvRis,0) + isnull(ctvLiq,0) + + isnull(ctvPre,0) + isnull(ctvNa,0) + isnull(ctvCC,0) AS CTV_TOTALE, + ctvExt AS CTV_EXT, + ctvInv AS CTV_INV, + ctvRis AS CTV_RIS, + ctvPre AS CTV_PRE, + ctvLiq AS CTV_LIQ, + ctvCC AS CTV_CC, + ctvNa AS CTV_NA, + partiteViaggianti AS PARTITA_VIAGGIANTE, + [var] AS VAR_COMPLESSIVO, + copertura AS VAR_COPERTURA, + codiceProfilo AS PROFILO, + var_max_profilo AS VAR_MAX_PROFILO, +-- c6martperiodico.Codifica_CRisk_PhotoData(rischioCredito), +-- c6martperiodico.Codifica_CRisk_PhotoData(classe_rischio_max), + --rischioCredito, + --classe_rischio_max, + case when rischioCredito = 5 then 0 + when rischioCredito = 6 then null + else rischioCredito end as rischioCredito, + case when classe_rischio_max = 5 then 0 + when classe_rischio_max = 6 then null + else classe_rischio_max end as classe_rischio_max, + @ID_ELAB AS ID_ELAB, + ctvself AS CTVSELF + FROM [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V + INNER JOIN C6STAGINGPERIODICO.RP_MonitoraggioStorico M + ON V.chiaveClientePB = M.chiaveClientePB + WHERE 1 = 1 + --AND SUBSTRING(TYPE__TYPE_7CAB6, 1, 1) = '1' + AND stato = '2' + AND M.dtSalvataggio IS NOT NULL + +-- modifica di Luca per errore mart in simulazione 16/12/2015 +-- riabilito 21/7/2017 + --and V.COD_FISCALE not in ('GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') +---------------------------------------------------------------------------------------- + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_INIZIALE_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_INIZIALE_1' + ) + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_INIZIALE_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MartPeriodico.Test_Quality + SELECT + V.rete AS RETE, + V.COD_FISCALE AS COD_FISCALE, + 'dtSalvataggio is null' + FROM [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V + INNER JOIN C6STAGINGPERI diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE_pre_selective.sql new file mode 100644 index 00000000..558f3fba --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE_pre_selective.sql @@ -0,0 +1,139 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_MONITORAGGIO_INIZIALE_pre_selective + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 15 luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_INIZIALE_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_INIZIALE_pre_selective_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + ([RETE] + ,[COD_FISCALE] + ,[DATA_FOTO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] + ,[RISKCLASS] + , [RISKCLASSMAX] + ,[ID_ELAB] + ,ctvself) + + SELECT + V.rete AS RETE, + V.COD_FISCALE AS COD_FISCALE, + M.dtSalvataggio AS DATA_FOTO, + isnull(ctvExt,0) + isnull(ctvInv,0) + isnull(ctvRis,0) + isnull(ctvLiq,0) + + isnull(ctvPre,0) + isnull(ctvNa,0) + isnull(ctvCC,0) AS CTV_TOTALE, + ctvExt AS CTV_EXT, + ctvInv AS CTV_INV, + ctvRis AS CTV_RIS, + ctvPre AS CTV_PRE, + ctvLiq AS CTV_LIQ, + ctvCC AS CTV_CC, + ctvNa AS CTV_NA, + partiteViaggianti AS PARTITA_VIAGGIANTE, + [var] AS VAR_COMPLESSIVO, + copertura AS VAR_COPERTURA, + codiceProfilo AS PROFILO, + var_max_profilo AS VAR_MAX_PROFILO, +-- c6martperiodico.Codifica_CRisk_PhotoData(rischioCredito), +-- c6martperiodico.Codifica_CRisk_PhotoData(classe_rischio_max), + --rischioCredito, + --classe_rischio_max, + case when rischioCredito = 5 then 0 + when rischioCredito = 6 then null + else rischioCredito end as rischioCredito, + case when classe_rischio_max = 5 then 0 + when classe_rischio_max = 6 then null + else classe_rischio_max end as classe_rischio_max, + @ID_ELAB AS ID_ELAB, + ctvself AS CTVSELF + FROM [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V + INNER JOIN C6STAGINGPERIODICO.RP_MonitoraggioStorico M + ON V.chiaveClientePB = M.chiaveClientePB + WHERE 1 = 1 + --AND SUBSTRING(TYPE__TYPE_7CAB6, 1, 1) = '1' + AND stato = '2' + AND M.dtSalvataggio IS NOT NULL + +-- modifica di Luca per errore mart in simulazione 16/12/2015 + and V.COD_FISCALE not in ('GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') +---------------------------------------------------------------------------------------- + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_INIZIALE_pre_selective_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_MONITORAGGIO_INIZIALE_pre_selective_1' + ) + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_INIZIALE_pre_selective_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MartPeriodico.Test_Quality + SELECT + V.rete AS RETE, + V.COD_FISCALE AS COD_FISCALE, + 'dtSalvataggio is null' + FROM [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V + INNER JOIN C6STAGINGPERIODICO.RP_MonitoraggioStorico M + ON V.chiaveClientePB = M.chiaveClientePB + WHERE 1 = 1 + --AND SUBSTRING(TYPE__TYPE_7CAB6, 1, 1) = '1' + AND stato = '2' + AND M.dtSalvataggio IS NULL + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT.sql new file mode 100644 index 00000000..ef5e9efb --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT.sql @@ -0,0 +1,121 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_MONITORAGGIO_REPORT + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 Luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_REPORT] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_REPORT', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_REPORT] + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[DATA_INVIO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] + ,riskclass + ,riskclassmax +--INIZIO INTERVENTI OMNIA +-- ,[ID_ELAB]) + ,[ID_ELAB] + ,[CTV_SELF] + -- MIOFOGLIO 20181206 + ,[CTV_SELF_FOGLIO] + -- fine MIOFOGLIO 20181206 + ) +--FINE INTERVENTI OMNIA + SELECT + V.RETE, + V.COD_FISCALE, + S.DATA_FASE AS DATA_INVIO, + SUM(S.CONTROVALORE) as CTV_TOTALE, + SUM(CASE WHEN S.AREA= 'EXT' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_EXT, + SUM(CASE WHEN S.AREA= 'INV' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_INV, + SUM(CASE WHEN S.AREA= 'RIS' THEN S.CONTROVALORE ELSE 0 END )AS CTV_RIS, + SUM(CASE WHEN S.AREA= 'PRE' THEN S.CONTROVALORE ELSE 0 END )AS CTV_PRE, + SUM(CASE WHEN S.AREA= 'LIQ' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_LIQ, + Max(S.CONTOCORRENTE )AS CTV_CC, + Max(S.RISORSENONALLOCATE) AS CTV_NA, + MAX(S.INVESTIMENTIINCORSO) AS PARTITA_VIAGGIANTE, + MAX(S.VAR_PERC_PTF) AS VAR_COMPLESSIVO, + MAX(S.COPERTURA) as VAR_COPERTURA, + mAX(S.PROFILO) AS PROFILO, + MAX(S.MAX_VAR) AS VAR_MAX_PROFILO, + CASE WHEN MAX(CRISK) = 'n.a.' THEN null ELSE MAX(CRISK) END AS RISKCLASS, + --MAX(CRISK) AS RISKCLASS, + MAX(CRISKMAX) AS RISKCLASSMAX, + @ID_ELAB AS ID_ELAB +--INIZIO INTERVENTI OMNIA + ,Max(S.lineaself)AS CTV_SELF + -- MIOFOGLIO 20181206 + ,Max(S.lineaselfFoglio)AS CTV_SELF_FOGLIO + -- fine MIOFOGLIO 20181206 + +--FINE INTERVENTI OMNIA + FROM [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V INNER JOIN C6STAGINGPERIODICO.RP_REP_S80_EVOL_STAMPA_C6 S + ON V.chiaveClientePB = S.chiaveClientePB + GROUP BY + V.RETE, + V.COD_FISCALE, + S.DATA_FASE + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_REPORT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_REPORT' + ) + +END + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_20181214_PreMioFoglio.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..57d13578 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_20181214_PreMioFoglio.sql @@ -0,0 +1,115 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_MONITORAGGIO_REPORT_20181214_PreMioFoglio + + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 Luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_REPORT_20181214_PreMioFoglio] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_REPORT', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_REPORT] + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[DATA_INVIO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] + ,riskclass + ,riskclassmax +--INIZIO INTERVENTI OMNIA +-- ,[ID_ELAB]) + ,[ID_ELAB] + ,[CTV_SELF]) +--FINE INTERVENTI OMNIA + SELECT + V.RETE, + V.COD_FISCALE, + S.DATA_FASE AS DATA_INVIO, + SUM(S.CONTROVALORE) as CTV_TOTALE, + SUM(CASE WHEN S.AREA= 'EXT' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_EXT, + SUM(CASE WHEN S.AREA= 'INV' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_INV, + SUM(CASE WHEN S.AREA= 'RIS' THEN S.CONTROVALORE ELSE 0 END )AS CTV_RIS, + SUM(CASE WHEN S.AREA= 'PRE' THEN S.CONTROVALORE ELSE 0 END )AS CTV_PRE, + SUM(CASE WHEN S.AREA= 'LIQ' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_LIQ, + Max(S.CONTOCORRENTE )AS CTV_CC, + Max(S.RISORSENONALLOCATE) AS CTV_NA, + MAX(S.INVESTIMENTIINCORSO) AS PARTITA_VIAGGIANTE, + MAX(S.VAR_PERC_PTF) AS VAR_COMPLESSIVO, + MAX(S.COPERTURA) as VAR_COPERTURA, + mAX(S.PROFILO) AS PROFILO, + MAX(S.MAX_VAR) AS VAR_MAX_PROFILO, + CASE WHEN MAX(CRISK) = 'n.a.' THEN null ELSE MAX(CRISK) END AS RISKCLASS, + --MAX(CRISK) AS RISKCLASS, + MAX(CRISKMAX) AS RISKCLASSMAX, + @ID_ELAB AS ID_ELAB +--INIZIO INTERVENTI OMNIA + ,Max(S.lineaself)AS CTV_SELF +--FINE INTERVENTI OMNIA + FROM [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V INNER JOIN C6STAGINGPERIODICO.RP_REP_S80_EVOL_STAMPA_C6 S + ON V.chiaveClientePB = S.chiaveClientePB + GROUP BY + V.RETE, + V.COD_FISCALE, + S.DATA_FASE + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_REPORT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_REPORT' + ) + +END + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_pre_selective.sql new file mode 100644 index 00000000..70933819 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_pre_selective.sql @@ -0,0 +1,112 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_MONITORAGGIO_REPORT_pre_selective + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 Luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_REPORT_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_REPORT_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_REPORT] + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[DATA_INVIO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] + ,riskclass + ,riskclassmax +--INIZIO INTERVENTI OMNIA +-- ,[ID_ELAB]) + ,[ID_ELAB] + ,[CTV_SELF]) +--FINE INTERVENTI OMNIA + SELECT + V.RETE, + V.COD_FISCALE, + S.DATA_FASE AS DATA_INVIO, + SUM(S.CONTROVALORE) as CTV_TOTALE, + SUM(CASE WHEN S.AREA= 'EXT' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_EXT, + SUM(CASE WHEN S.AREA= 'INV' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_INV, + SUM(CASE WHEN S.AREA= 'RIS' THEN S.CONTROVALORE ELSE 0 END )AS CTV_RIS, + SUM(CASE WHEN S.AREA= 'PRE' THEN S.CONTROVALORE ELSE 0 END )AS CTV_PRE, + SUM(CASE WHEN S.AREA= 'LIQ' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_LIQ, + Max(S.CONTOCORRENTE )AS CTV_CC, + Max(S.RISORSENONALLOCATE) AS CTV_NA, + MAX(S.INVESTIMENTIINCORSO) AS PARTITA_VIAGGIANTE, + MAX(S.VAR_PERC_PTF) AS VAR_COMPLESSIVO, + MAX(S.COPERTURA) as VAR_COPERTURA, + mAX(S.PROFILO) AS PROFILO, + MAX(S.MAX_VAR) AS VAR_MAX_PROFILO, + CASE WHEN MAX(CRISK) = 'n.a.' THEN null ELSE MAX(CRISK) END AS RISKCLASS, + --MAX(CRISK) AS RISKCLASS, + MAX(CRISKMAX) AS RISKCLASSMAX, + @ID_ELAB AS ID_ELAB +--INIZIO INTERVENTI OMNIA + ,Max(S.lineaself)AS CTV_SELF +--FINE INTERVENTI OMNIA + FROM [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V INNER JOIN C6STAGINGPERIODICO.RP_REP_S80_EVOL_STAMPA_C6 S + ON V.chiaveClientePB = S.chiaveClientePB + GROUP BY + V.RETE, + V.COD_FISCALE, + S.DATA_FASE + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_REPORT_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_MONITORAGGIO_REPORT_pre_selective' + ) + +END + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO.sql new file mode 100644 index 00000000..132aba8c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO.sql @@ -0,0 +1,131 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_MONITORAGGIO_STORICO + + + + + + +-- Stored procedure +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_STORICO] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_STORICO_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_STORICO] + +begin try + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_STORICO] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[RISORSE_ASSOCIATE] + ,[ID_ELAB] + ,CEDOLE_DIV + ,ordinamento_progetto) + + SELECT + TANAB.RETE AS RETE, + VC.COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CS.nomeProgetto, 'XXX') AS NOME_PROGETTO, + CASE WHEN ISDATE(WRENAB.DTVALORIZ) = 0 THEN NULL + ELSE + CAST(CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) AS DATETIME) END AS DATA_CTV, + WRENAB.CTV AS CTV_MONITORATO, + WRENAB.CVN AS RISORSE_ASSOCIATE, + @ID_ELAB AS ID_ELAB, + (TANAB.TOT_CED + TANAB.TOT_DIV) AS CEDOLE_DIV, + CM.ChiaveProgetto -- tanab.codprog + FROM C6STAGINGPERIODICO.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB + ON TANAB.CODPROG = WRENAB.CODPROG + AND TANAB.DTRIF = WRENAB.DTRIF + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON TANAB.CODPROG = CM.idmonitoraggio +-- INNER JOIN C6StagingPeriodico.RP_Consulenza CS +-- ON CM.chiaveprogetto = CS.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND TANAB.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE 1 = 1 + AND TANAB.DTFINE = '99991231' + AND ISDATE(WRENAB.DTVALORIZ) = 1 + --intervento di Luca per errore mart simulazione 16/12/2015 + and tanab.codfis not in ('GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') + ---------------------------------------------------------------------------------- + end try + begin catch + select @@error + end catch + + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_STORICO_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_STORICO_1') + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_STORICO_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + + + INSERT INTO C6MartPeriodico.Test_Quality + SELECT + TANAB.RETE AS RETE, + VC.COD_FISC diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO_pre_selective.sql new file mode 100644 index 00000000..f57827e4 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO_pre_selective.sql @@ -0,0 +1,136 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_MONITORAGGIO_STORICO_pre_selective + + + + + +-- Stored procedure +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_STORICO_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_STORICO_pre_selective_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_STORICO] + +begin try + + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_STORICO] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[RISORSE_ASSOCIATE] + ,[ID_ELAB] + ,CEDOLE_DIV + ,ordinamento_progetto) + + SELECT + TANAB.RETE AS RETE, + VC.COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CS.nomeProgetto, 'XXX') AS NOME_PROGETTO, + CASE WHEN ISDATE(WRENAB.DTVALORIZ) = 0 THEN NULL + ELSE + CAST(CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) AS DATETIME) END AS DATA_CTV, + WRENAB.CTV AS CTV_MONITORATO, + WRENAB.CVN AS RISORSE_ASSOCIATE, + @ID_ELAB AS ID_ELAB, + (TANAB.TOT_CED + TANAB.TOT_DIV) AS CEDOLE_DIV, + CM.ChiaveProgetto -- tanab.codprog + FROM C6STAGINGPERIODICO.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB + ON TANAB.CODPROG = WRENAB.CODPROG + AND TANAB.DTRIF = WRENAB.DTRIF + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON TANAB.CODPROG = CM.idmonitoraggio +-- INNER JOIN C6StagingPeriodico.RP_Consulenza CS +-- ON CM.chiaveprogetto = CS.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND TANAB.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE 1 = 1 + AND TANAB.DTFINE = '99991231' + AND ISDATE(WRENAB.DTVALORIZ) = 1 + --intervento di Luca per errore mart simulazione 16/12/2015 + and tanab.codfis not in ('GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') + ---------------------------------------------------------------------------------- + end try + begin catch + select @@error + end catch + + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_STORICO_pre_selective_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_MONITORAGGIO_STORICO_pre_selective_1') + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_STORICO_pre_selective_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + + + INSERT INTO C6MartPeriodico.Test_Quality + SELECT + TANAB.RETE AS RETE, + VC.COD_FISCALE, + 'DTVALORIZZ non valida - Area: ' + + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO.sql new file mode 100644 index 00000000..0023a507 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO.sql @@ -0,0 +1,105 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PATRIMONIO_ALTRO + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_ALTRO] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_ALTRO', + GETDATE(), + 'Elaborazione trimestrale' + ) + +TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_ALTRO + +INSERT INTO [C6MartPeriodico].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) + +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb, dettPatrAz.denominazione) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6StagingPeriodico.RP_DettPatrAziendale dettPatrAz, + C6StagingPeriodico.RP_PatrimonioTerzi patrTerzi, + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + +UNION ALL + +SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb, dettAltriProd.descrizione) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6StagingPeriodico.RP_DettAltriProdotti dettAltriProd, + C6StagingPeriodico.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' + ) + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO_pre_selective.sql new file mode 100644 index 00000000..e7906176 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO_pre_selective.sql @@ -0,0 +1,103 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PATRIMONIO_ALTRO_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_ALTRO_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_ALTRO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + +TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_ALTRO + +INSERT INTO [C6MartPeriodico].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) + +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb, dettPatrAz.denominazione) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6StagingPeriodico.RP_DettPatrAziendale dettPatrAz, + C6StagingPeriodico.RP_PatrimonioTerzi patrTerzi, + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + +UNION ALL + +SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb, dettAltriProd.descrizione) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6StagingPeriodico.RP_DettAltriProdotti dettAltriProd, + C6StagingPeriodico.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF.sql new file mode 100644 index 00000000..006379e1 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF.sql @@ -0,0 +1,130 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PATRIMONIO_BF + + + + + + + + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +--------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF + +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT distinct-- PER DIVERSI DA CC ************************ --distinct aggiunta il 23/02/2024 + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + -- 20170421 elimina char ; dal nome progetto che causa errore 2000 durante elaborazione prometeia exe + --ELSE LTRIM(RTRIM(CON.nomeProgetto)) + ELSE replace (LTRIM(RTRIM(CON.nomeProgetto)), ';', '') + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170407.SAVE.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170407.SAVE.sql new file mode 100644 index 00000000..8c6a29ba --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170407.SAVE.sql @@ -0,0 +1,123 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PATRIMONIO_BF_20170407.SAVE + + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_20170407.SAVE] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF + +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170421_4b_prometeria_err_fix.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170421_4b_prometeria_err_fix.sql new file mode 100644 index 00000000..eaf5e294 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170421_4b_prometeria_err_fix.sql @@ -0,0 +1,128 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PATRIMONIO_BF_20170421_4b_prometeria_err_fix + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +--------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_20170421_4b_prometeria_err_fix] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF + +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20171019_err.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20171019_err.sql new file mode 100644 index 00000000..b1cf4871 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20171019_err.sql @@ -0,0 +1,127 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PATRIMONIO_BF_20171019_err + + + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +--------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_20171019_err] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF + +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + -- 20170421 elimina char ; dal nome progetto che causa errore 2000 durante elaborazione prometeia exe + --ELSE LTRIM(RTRIM(CON.nomeProgetto)) + ELSE replace (LTRIM(RTRIM(CON.nomeProgetto)), ';', '') + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Comp diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BKP_20231017.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BKP_20231017.sql new file mode 100644 index 00000000..c9e66b1b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BKP_20231017.sql @@ -0,0 +1,134 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PATRIMONIO_BF_BKP_20231017 + + + + + + + + + + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +--------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_MODIFICATA] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF + +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + -- 20170421 elimina char ; dal nome progetto che causa errore 2000 durante elaborazione prometeia exe + --ELSE LTRIM(RTRIM(CON.nomeProgetto)) + ELSE replace (LTRIM(RTRIM(CON.nomeProgetto)), ';', '') + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BK_eligoTitoli.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BK_eligoTitoli.sql new file mode 100644 index 00000000..a3bdacaf --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BK_eligoTitoli.sql @@ -0,0 +1,131 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PATRIMONIO_BF_BK_eligoTitoli + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF + +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, + +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiavePr diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_DaCancellare.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_DaCancellare.sql new file mode 100644 index 00000000..e82b0157 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_DaCancellare.sql @@ -0,0 +1,129 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PATRIMONIO_BF_DaCancellare + + + + + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +--------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF + +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + -- 20170421 elimina char ; dal nome progetto che causa errore 2000 durante elaborazione prometeia exe + --ELSE LTRIM(RTRIM(CON.nomeProgetto)) + ELSE replace (LTRIM(RTRIM(CON.nomeProgetto)), ';', '') + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita A diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_FC.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_FC.sql new file mode 100644 index 00000000..88258de9 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_FC.sql @@ -0,0 +1,131 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PATRIMONIO_BF_FC + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_FC] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF + +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, + +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS O diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_TEST.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_TEST.sql new file mode 100644 index 00000000..43b285bc --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_TEST.sql @@ -0,0 +1,129 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PATRIMONIO_BF_TEST + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_TEST] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF + +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, + +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORD diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_pre_selective.sql new file mode 100644 index 00000000..94f14b84 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_BF_pre_selective.sql @@ -0,0 +1,131 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PATRIMONIO_BF_pre_selective + + + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_pre_selective] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_pre_selective_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF + +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, + +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE.sql new file mode 100644 index 00000000..a6789cf7 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE.sql @@ -0,0 +1,98 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PATRIMONIO_IMMOBILIARE + + + +--select * from C6MartPeriodico.patrimonio_immobiliare +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_IMMOBILIARE] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_IMMOBILIARE + + + INSERT INTO [C6MartPeriodico].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + C.RETE, --ALL_PATR_TERZI.RETE_PB AS RETE, + C.COD_FISCALE, --ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + B.DESCRIZIONE, --ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, --b.descrizione + B.TIPOLOGIA, + B.COMUNE AS COMUNE, --ALL_PATR_TERZI.LOCALITA AS LOCALITA, --comune null verificare se corretto + B.codProvincia AS PROVINCIA, --NULL AS PROVINCIA, --provincia + NULL AS CAP, + NULL AS NAZIONE, + B.VALOREIMMOBILETOTALE, + B.RENDITAANNUA, --ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, --renditaAnnua + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + + FROM C6STAGINGPERIODICO.RP_PATRIMONIOTERZI A + JOIN C6STAGINGPERIODICO.RP_DETTIMMOBILIARE B + ON A.CHIAVEPRODOTTOTERZI = B.CHIAVEPRODOTTOTERZI + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] C + ON A.CHIAVECLIENTEPB = C.CHIAVECLIENTEPB + WHERE A.IDTIPOPRODOTTO = 'IM' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql new file mode 100644 index 00000000..825722e7 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql @@ -0,0 +1,109 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota + + + + +--select * from C6MartPeriodico.patrimonio_immobiliare +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_IMMOBILIARE_20190205_ProQuota + + + INSERT INTO [C6MartPeriodico].[PATRIMONIO_IMMOBILIARE_20190205_ProQuota] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB] + -- modifica del 05/02/2019 per il ProQuota + ,[VALORE_STIMATO_PROQUOTA] + ,[PROQUOTA] + -- fine modifica del 05/02/2019 per il ProQuota + + ) + SELECT + C.RETE, --ALL_PATR_TERZI.RETE_PB AS RETE, + C.COD_FISCALE, --ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + B.DESCRIZIONE, --ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, --b.descrizione + B.TIPOLOGIA, + B.COMUNE AS COMUNE, --ALL_PATR_TERZI.LOCALITA AS LOCALITA, --comune null verificare se corretto + B.codProvincia AS PROVINCIA, --NULL AS PROVINCIA, --provincia + NULL AS CAP, + NULL AS NAZIONE, + B.VALOREIMMOBILETOTALE, + B.RENDITAANNUA, --ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, --renditaAnnua + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + -- modifica del 05/02/2019 per il ProQuota + ,B.valoreImmobileProQuota, + B.ProQuota + -- fine modifica del 05/02/2019 per il ProQuota + + FROM C6STAGINGPERIODICO.RP_PATRIMONIOTERZI A + JOIN C6STAGINGPERIODICO.RP_DETTIMMOBILIARE_20190205_ProQuota B + ON A.CHIAVEPRODOTTOTERZI = B.CHIAVEPRODOTTOTERZI + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] C + ON A.CHIAVECLIENTEPB = C.CHIAVECLIENTEPB + WHERE A.IDTIPOPRODOTTO = 'IM' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql new file mode 100644 index 00000000..2988c1a6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql @@ -0,0 +1,127 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota + + + + +--select * from C6MartPeriodicO.PATRIMONIO_IMMOBILIARE_ProQuota +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE_PROQUOTA', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_IMMOBILIARE_ProQuota + + INSERT INTO [C6MartPeriodico].[PATRIMONIO_IMMOBILIARE_ProQuota]( + [RETE], + [COD_FISCALE], + Descrizione, + Tipologia, + Localita, + AffittoPercepito, + [VALORE_STIMATO], + Totale, + TotaleAffitto, + [TIPOLOGIA_DIRITTO], + [PROQUOTA], + [VALORE_STIMATO_PROQUOTA], + TotaleProQuota + ) + + select + vp.Rete, + vp.Cod_Fiscale, + vp.Descrizione , + vp.Tipologia, + vp.Localita, + vp.AffittoPercepito, + vp.Valore, + vp.Totale, + vp.TotaleAffitto, + vp.TipologiaDiritto, + vp.ProQuota, + vp.Valore_ProQuota, + vp.TotaleProQuota + from + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] vc + inner join C6MartPeriodico.vPatrimonioImmobiliare vp + on vc.rete = vp.rete + and vc.cod_fiscale = vp.cod_fiscale + + --select vContratti.Rete, + -- vContratti.Cod_Fiscale, + -- dett.valoreImmobileTotale as Valore_Stimato, + -- coin.moltiplicatoreDiritto * dett.valoreImmobileTotale as Valore_Stimato_ProQuota, + -- coin.moltiplicatoreDiritto * 100 as ProQuota, + -- dett.TipologiaDiritto + --from + -- C6MartPeriodico.vContrattiPerGenerazioneReport vContratti + -- --(select top 100 rete, cod_fiscale from C6MartPeriodico.vContratti where Cod_Fiscale = 'BRNVLM35H61L407Q') vContratti + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.vInfoCliente vInfo + -- on vContratti.Cod_Fiscale = vInfo.CodFis + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.Cointestatari coin + -- on vInfo.chiaveClientePB = coin.chiaveClientePB + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.DettImmobiliare dett + -- on dett.chiaveProdottoTerzi = coin.chiaveProdottoTerzi + --union + + --select vContratti.Rete, + -- vContratti.Cod_Fiscale, + -- dett.valoreImmobileTotale as Valore_Stimato, + -- dett.valoreImmobileTotale as Valore_Stimato_ProQuota, + -- 100 as ProQuota, + -- isnull(dett.TipologiaDiritto, 'Propriet') as TipologiaDiritto + --from + -- C6MartPeriodico.vContrattiPerGenerazioneReport vContratti + -- --(select top 100 rete, cod_fiscale from C6MartPeriodico.vContratti where Cod_Fiscale = 'BRNVLM35H61L407Q') vContratti + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.vInfoCliente vInfo + -- on vContratti.Cod_Fiscale = vInfo.CodFis + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.PatrimonioTerzi coin + -- on vInfo.chiaveClientePB = coin.chiaveClientePB + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.DettImmobiliare dett + -- on dett.chiaveProdottoTerzi = coin.chiaveProdottoTerzi + -- Log esecuzione + + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE_PROQUOTA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE_PROQUOTA' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql new file mode 100644 index 00000000..8bbaa72b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql @@ -0,0 +1,96 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective + + +--select * from C6MartPeriodico.patrimonio_immobiliare +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_IMMOBILIARE + + + INSERT INTO [C6MartPeriodico].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + C.RETE, --ALL_PATR_TERZI.RETE_PB AS RETE, + C.COD_FISCALE, --ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + B.DESCRIZIONE, --ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, --b.descrizione + B.TIPOLOGIA, + B.COMUNE AS COMUNE, --ALL_PATR_TERZI.LOCALITA AS LOCALITA, --comune null verificare se corretto + B.codProvincia AS PROVINCIA, --NULL AS PROVINCIA, --provincia + NULL AS CAP, + NULL AS NAZIONE, + B.VALOREIMMOBILETOTALE, + B.RENDITAANNUA, --ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, --renditaAnnua + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + + FROM C6STAGINGPERIODICO.RP_PATRIMONIOTERZI A + JOIN C6STAGINGPERIODICO.RP_DETTIMMOBILIARE B + ON A.CHIAVEPRODOTTOTERZI = B.CHIAVEPRODOTTOTERZI + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] C + ON A.CHIAVECLIENTEPB = C.CHIAVECLIENTEPB + WHERE A.IDTIPOPRODOTTO = 'IM' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective' + ) + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI.sql new file mode 100644 index 00000000..395bf355 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI.sql @@ -0,0 +1,123 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PATRIMONIO_TERZI + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_TERZI + + INSERT INTO [C6MartPeriodico].[PATRIMONIO_TERZI] + ( + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(MAPPING.Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + + --------------------- intervento del 15/03/2018 per gestire ctv e capitale_investito pi grandi del consentito + --RP_PatrimonioTerzi.ctv AS CTV, + --RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + case + when RP_PatrimonioTerzi.ctv > 999999999999.00 then 999999999999.00 + else RP_PatrimonioTerzi.ctv + end AS CTV, + + case + when RP_DettProdottiTerzi.capitaleInvestito > 999999999999.00 then 999999999999.00 + else RP_DettProdottiTerzi.capitaleInvestito + end AS VERSATO_NETTO, + + + --------------------- fine intervento del 15/3/2018 + + + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20170427_Patr3.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20170427_Patr3.sql new file mode 100644 index 00000000..a0456142 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20170427_Patr3.sql @@ -0,0 +1,110 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PATRIMONIO_TERZI_20170427_Patr3 + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_TERZI_20170427_Patr3] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_TERZI + + INSERT INTO [C6MartPeriodico].[PATRIMONIO_TERZI] + ( + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(MAPPING.Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + RP_PatrimonioTerzi.ctv AS CTV, + RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3 diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20180315.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20180315.sql new file mode 100644 index 00000000..6133a836 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20180315.sql @@ -0,0 +1,113 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PATRIMONIO_TERZI_20180315 + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_TERZI_20180315] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_TERZI + + INSERT INTO [C6MartPeriodico].[PATRIMONIO_TERZI] + ( + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(MAPPING.Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + RP_PatrimonioTerzi.ctv AS CTV, + RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (RP_S4_S5_S13_TRAD_ diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_pre_selective.sql new file mode 100644 index 00000000..a993035f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_pre_selective.sql @@ -0,0 +1,111 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PATRIMONIO_TERZI_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_TERZI_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_TERZI + + INSERT INTO [C6MartPeriodico].[PATRIMONIO_TERZI] + ( + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(MAPPING.Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + RP_PatrimonioTerzi.ctv AS CTV, + RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_g diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PIRAMIDE_MOD.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PIRAMIDE_MOD.sql new file mode 100644 index 00000000..01e02f69 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PIRAMIDE_MOD.sql @@ -0,0 +1,133 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PIRAMIDE_MOD + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_PIRAMIDE_MOD] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PIRAMIDE_MOD', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PIRAMIDE_MOD + + INSERT INTO [C6MartPeriodico].[PIRAMIDE_MOD] + ( + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT + VCONTRATTI.rete AS RETE, + ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE, + rp_pirmod.area AS ID_AREA, + -- 2016-12-02: nomeProgetto sempre presente e differente da NULL + --case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then rp_pirmod.nomeProgetto + -- ELSE NULL END + -- fine + rp_pirmod.nomeProgetto AS NOME_PROGETTO, + case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' + else 'Default' + end AS TIPO_PROGETTO, + rp_pirmod.percentualeProgetto AS PERC_AREA, + ISNULL(Progetto.CTVPROGETTO, MigrazProgetto.CTVPROGETTO) AS CTV_PROGETTO, + NULL AS CTV_AREA, + --convert(int,REPLACE(durata,'anni','')) AS ORIZZ_TEMP_NUM, + Progetto.orizzonteTemporale AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(Progetto.orizzonteTemporale, 0) = 0 THEN '' ELSE + cast(Progetto.orizzonteTemporale as varchar(2)) + ' anni' END AS ORIZZ_TEMP, + --rp_pirmod.durata AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + ISNULL(Progetto.ChiaveProgetto, MigrazProgetto.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_ProgettiPiramideModello AS rp_pirmod +INNER JOIN + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] vCONTRATTI + ON + rp_pirmod.chiaveClientePB = vCONTRATTI.chiaveClientePB + LEFT JOIN + C6StagingPeriodico.RP_Progetto Progetto + on rp_pirmod.chiaveprogettomod = Progetto.chiaveprogettomod + LEFT JOIN + C6StagingPeriodico.RP_Migraz_Progetto MigrazProgetto + on rp_pirmod.chiaveprogettomod = MigrazProgetto.chiaveprogettomod + AND Progetto.chiaveprogettomod is null + WHERE 1=1 + and rp_pirmod.DtFineValidita > getdate() + -- modifica del 30/11/2016 - il tipoProgetto non pi un campo significativo; ecludo le aree light e void + --and ((rp_pirmod.area = 'Inv') OR (rp_pirmod.area <> 'Inv' and rp_pirmod.tipoProgetto = 0)) + and rp_pirmod.area not in ('LIGHT', 'VOID') + -- fine -- modifica del 30/11/2016 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' + ) + + + +-------------------------------------> modifica del 19/1/2017 per inserire il record di aggregazione per l'area 'Pre' + + + /* + PER OGNI CF MI ESTRAGGO SOLO I RECORD DELL'AREA 'PRE1' E 'PRE2' RINOMINANDOLI COME 'PRE' + PER POTERLI POI AGGREGARE + */ + + SELECT + VCONTRATTI.r diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20161202.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20161202.sql new file mode 100644 index 00000000..e6f3d304 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20161202.sql @@ -0,0 +1,122 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PIRAMIDE_MOD_20161202 + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PIRAMIDE_MOD_20161202] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PIRAMIDE_MOD', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PIRAMIDE_MOD + + INSERT INTO [C6MartPeriodico].[PIRAMIDE_MOD] + ( + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT + VCONTRATTI.rete AS RETE, + ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE, + rp_pirmod.area AS ID_AREA, + case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then rp_pirmod.nomeProgetto + ELSE NULL END + AS NOME_PROGETTO, + case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' + else 'Default' + end AS TIPO_PROGETTO, + rp_pirmod.percentualeProgetto AS PERC_AREA, + ISNULL(Progetto.CTVPROGETTO, MigrazProgetto.CTVPROGETTO) AS CTV_PROGETTO, + NULL AS CTV_AREA, + --convert(int,REPLACE(durata,'anni','')) AS ORIZZ_TEMP_NUM, + Progetto.orizzonteTemporale AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(Progetto.orizzonteTemporale, 0) = 0 THEN '' ELSE + cast(Progetto.orizzonteTemporale as varchar(2)) + ' anni' END AS ORIZZ_TEMP, + --rp_pirmod.durata AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + ISNULL(Progetto.ChiaveProgetto, MigrazProgetto.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_ProgettiPiramideModello AS rp_pirmod +INNER JOIN + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] vCONTRATTI + ON + rp_pirmod.chiaveClientePB = vCONTRATTI.chiaveClientePB + LEFT JOIN + C6StagingPeriodico.RP_Progetto Progetto + on rp_pirmod.chiaveprogettomod = Progetto.chiaveprogettomod + LEFT JOIN + C6StagingPeriodico.RP_Migraz_Progetto MigrazProgetto + on rp_pirmod.chiaveprogettomod = MigrazProgetto.chiaveprogettomod + AND Progetto.chiaveprogettomod is null + WHERE 1=1 + and rp_pirmod.DtFineValidita > getdate() + -- modifica del 30/11/2016 - il tipoProgetto non pi un campo significativo; ecludo le aree light e void + --and ((rp_pirmod.area = 'Inv') OR (rp_pirmod.area <> 'Inv' and rp_pirmod.tipoProgetto = 0)) + and rp_pirmod.area not in ('LIGHT', 'VOID') + -- fine -- modifica del 30/11/2016 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' + ) + +END +-- select durata, convert(int,REPLACE(durata,'anni','')) FROM C6StagingPeriodico.RP_ProgettiPiramideModello where durata is not null + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20170119.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20170119.sql new file mode 100644 index 00000000..3fa57c2b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20170119.sql @@ -0,0 +1,129 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PIRAMIDE_MOD_20170119 + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_PIRAMIDE_MOD_20170119] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PIRAMIDE_MOD', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PIRAMIDE_MOD + + INSERT INTO [C6MartPeriodico].[PIRAMIDE_MOD] + ( + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT + VCONTRATTI.rete AS RETE, + ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE, + rp_pirmod.area AS ID_AREA, + -- 2016-12-02: nomeProgetto sempre presente e differente da NULL + --case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then rp_pirmod.nomeProgetto + -- ELSE NULL END + -- fine + rp_pirmod.nomeProgetto AS NOME_PROGETTO, + case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' + else 'Default' + end AS TIPO_PROGETTO, + rp_pirmod.percentualeProgetto AS PERC_AREA, + ISNULL(Progetto.CTVPROGETTO, MigrazProgetto.CTVPROGETTO) AS CTV_PROGETTO, + NULL AS CTV_AREA, + --convert(int,REPLACE(durata,'anni','')) AS ORIZZ_TEMP_NUM, + Progetto.orizzonteTemporale AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(Progetto.orizzonteTemporale, 0) = 0 THEN '' ELSE + cast(Progetto.orizzonteTemporale as varchar(2)) + ' anni' END AS ORIZZ_TEMP, + --rp_pirmod.durata AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + ISNULL(Progetto.ChiaveProgetto, MigrazProgetto.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_ProgettiPiramideModello AS rp_pirmod +INNER JOIN + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] vCONTRATTI + ON + rp_pirmod.chiaveClientePB = vCONTRATTI.chiaveClientePB + LEFT JOIN + C6StagingPeriodico.RP_Progetto Progetto + on rp_pirmod.chiaveprogettomod = Progetto.chiaveprogettomod + LEFT JOIN + C6StagingPeriodico.RP_Migraz_Progetto MigrazProgetto + on rp_pirmod.chiaveprogettomod = MigrazProgetto.chiaveprogettomod + AND Progetto.chiaveprogettomod is null + WHERE 1=1 + and rp_pirmod.DtFineValidita > getdate() + -- modifica del 30/11/2016 - il tipoProgetto non pi un campo significativo; ecludo le aree light e void + --and ((rp_pirmod.area = 'Inv') OR (rp_pirmod.area <> 'Inv' and rp_pirmod.tipoProgetto = 0)) + and rp_pirmod.area not in ('LIGHT', 'VOID') + -- fine -- modifica del 30/11/2016 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' + ) + +END +-- select durata, convert(int,REPLACE(durata,'anni','')) FROM C6StagingPeriodico.RP_ProgettiPiramideModello where durata is not null + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_pre_selective.sql new file mode 100644 index 00000000..f1fde7ed --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_pre_selective.sql @@ -0,0 +1,128 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PIRAMIDE_MOD_pre_selective + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PIRAMIDE_MOD_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PIRAMIDE_MOD_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PIRAMIDE_MOD + + INSERT INTO [C6MartPeriodico].[PIRAMIDE_MOD] + ( + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT + VCONTRATTI.rete AS RETE, + ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE, + rp_pirmod.area AS ID_AREA, + -- 2016-12-02: nomeProgetto sempre presente e differente da NULL + --case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then rp_pirmod.nomeProgetto + -- ELSE NULL END + -- fine + rp_pirmod.nomeProgetto AS NOME_PROGETTO, + case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' + else 'Default' + end AS TIPO_PROGETTO, + rp_pirmod.percentualeProgetto AS PERC_AREA, + ISNULL(Progetto.CTVPROGETTO, MigrazProgetto.CTVPROGETTO) AS CTV_PROGETTO, + NULL AS CTV_AREA, + --convert(int,REPLACE(durata,'anni','')) AS ORIZZ_TEMP_NUM, + Progetto.orizzonteTemporale AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(Progetto.orizzonteTemporale, 0) = 0 THEN '' ELSE + cast(Progetto.orizzonteTemporale as varchar(2)) + ' anni' END AS ORIZZ_TEMP, + --rp_pirmod.durata AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + ISNULL(Progetto.ChiaveProgetto, MigrazProgetto.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_ProgettiPiramideModello AS rp_pirmod +INNER JOIN + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] vCONTRATTI + ON + rp_pirmod.chiaveClientePB = vCONTRATTI.chiaveClientePB + LEFT JOIN + C6StagingPeriodico.RP_Progetto Progetto + on rp_pirmod.chiaveprogettomod = Progetto.chiaveprogettomod + LEFT JOIN + C6StagingPeriodico.RP_Migraz_Progetto MigrazProgetto + on rp_pirmod.chiaveprogettomod = MigrazProgetto.chiaveprogettomod + AND Progetto.chiaveprogettomod is null + WHERE 1=1 + and rp_pirmod.DtFineValidita > getdate() + -- modifica del 30/11/2016 - il tipoProgetto non pi un campo significativo; ecludo le aree light e void + --and ((rp_pirmod.area = 'Inv') OR (rp_pirmod.area <> 'Inv' and rp_pirmod.tipoProgetto = 0)) + and rp_pirmod.area not in ('LIGHT', 'VOID') + -- fine -- modifica del 30/11/2016 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD_pre_selective' + ) + +END +-- select durata, convert(int,REPLACE(durata,'anni','')) FROM C6StagingPeriodico.RP_ProgettiPiramideModello where durata is not null + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_PIRAMIDE_VERT.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PIRAMIDE_VERT.sql new file mode 100644 index 00000000..0679c3a5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_PIRAMIDE_VERT.sql @@ -0,0 +1,79 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_PIRAMIDE_VERT + +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 09/08/2008 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PIRAMIDE_VERT] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + SET @TIPO_ELAB = [C6MartPeriodico].GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PIRAMIDE_VERT', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6MartPeriodico].[PIRAMIDE_VERT] + + + + INSERT INTO [C6MartPeriodico].[PIRAMIDE_VERT] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[CTV_AREA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + V.rete AS RETE, + ISNULL(V.COD_FISCALE, '') AS COD_FISCALE, + CASE WHEN A.AREA IS NULL THEN M_A.AREA ELSE A.AREA END AS ID_AREA, + CASE WHEN A.ctvArea IS NULL THEN M_A.ctvArea ELSE A.ctvArea END AS CTV_AREA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V Left Join + (C6StagingPeriodico.RP_Pianificazione P + INNER JOIN C6StagingPeriodico.RP_Area A + ON P.CHIAVECONSULENZA = A.CHIAVECONSULENZA) + ON V.CHIAVECLIENTEPB = P.CHIAVECLIENTEPB + Left Join + (C6StagingPeriodico.RP_Migraz_Pianificazione M + INNER JOIN C6StagingPeriodico.RP_Migraz_Area M_A + ON M.CHIAVECONSULENZA = M_A.CHIAVECONSULENZA) + ON V.CHIAVECLIENTEPB = M.CHIAVECLIENTEPB + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PIRAMIDE_VERT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PIRAMIDE_VERT' + ) + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_POPOLACONTRATTI.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_POPOLACONTRATTI.sql new file mode 100644 index 00000000..4bf74ece --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_POPOLACONTRATTI.sql @@ -0,0 +1,135 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_POPOLACONTRATTI + +--create view as + +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_POPOLACONTRATTI] AS +BEGIN + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + +SELECT a.chiaveclientepb as ChiaveClientePb + INTO #CAMBIOCONTRATTO + FROM + [CONSEVO_PERIODICO].[consulenzaBase].dbo.Contratto a +JOIN [CONSEVO_PERIODICO].[consulenzaBase].dbo.ClientePB b + ON b.chiaveClientePB = a.chiaveClientePB + and a.status in ('SEI','AVANZATOBASE','REVOCASEI') +JOIN [CONSEVO_PERIODICO].[consulenzaBase].dbo.Cliente c + ON b.chiaveCliente = c.chiaveCliente +JOIN [CONSEVO_PERIODICO].[consulenzaBase].dbo.PromotoreBancario d + ON b.chiavePB = d.chiavePB +JOIN [CONSEVO_PERIODICO].[consulenzaBaseFL].dbo.cbs_dbcontrattosei e + ON a.codiceContratto = e.cod_conf +JOIN [CONSEVO_PERIODICO].[consulenzaBaseFL].dbo.cbs_dbcontrattobase f + ON a.codiceContratto = f.cod_conf +JOIN [C6MartPeriodico].[vcontratti] vc + ON b.chiaveClientePB = vc.chiaveClientePB + WHERE a.codicecontratto<>vc.codicecontratto + +INSERT INTO [C6MartPeriodico].[CONTRATTOSEI_METADATI_ST] + SELECT * FROM [C6MartPeriodico].[CONTRATTOSEI_METADATI] + WHERE ChiaveClientePb in(SELECT ChiaveClientePb FROM #CAMBIOCONTRATTO) + +INSERT INTO [C6MartPeriodico].[VCONTRATTI_ST] + SELECT * FROM [C6MartPeriodico].[VCONTRATTI] + WHERE ChiaveClientePb in(SELECT ChiaveClientePb FROM #CAMBIOCONTRATTO) + +DELETE [C6MartPeriodico].[CONTRATTOSEI_METADATI] + WHERE ChiaveClientePb in(SELECT ChiaveClientePb FROM #CAMBIOCONTRATTO) + +--DROP TABLE #CAMBIOCONTRATTO + + + +TRUNCATE TABLE C6MartPeriodico.VCONTRATTI + +INSERT INTO C6MartPeriodico.VCONTRATTI +SELECT DISTINCT + b.chiaveClientePB, + + --FFCODICEFISCALE(codfis,codman,c.piva) as Cod_fiscale + --c.codMan AS COD_MANDATO, + --FFPIVA(codman,c.piva) as PIVA_FIDUCIARIA + + case + when(isnull(ltrim(rtrim(codman)),'') <> '') + then 'FF@'+codman + when (isnull(codfis,'') <> '') + then codfis + else + c.piva + end as Cod_fiscale, + + c.codMan AS COD_MANDATO, + + case + when(isnull(ltrim(rtrim(codman)),'') <> '') + then c.piva + else + '' + END AS PIVA_FIDUCIARIA, + + f.pb AS COD_AGENTE, + d.rete, + a.codiceContratto, + a.flagRol, + a.address AS INDIRIZZO, + a.cap, + a.city AS CITTA, + a.province AS PROVINCIA, + a.nation AS NAZIONE, + a.presso, + a.email, + a.freqRepDia AS FREQ_DIAGNOSI, + a.freqRepMon AS FREQ_MONITORAGGIO, + a.genReport AS GENERAZIONEREPORT, + a.dtFirmaBase AS DATA_INIZIOBASE, + a.dtEndBase AS DATA_FINEBASE, + a.dtProcBase as DATA_PERF_BASE, + a.dtProcAv as DATA_PERF, + a.dtFirmaSei AS DATA_INZIOAVANZATO, + a.dtEndSei AS DATA_FINEAVANZATO, + CASE e.tipcontratto + WHEN 'A' THEN 1 + WHEN 'P' THEN 2 + ELSE 0 + END AS TIP_CONTRATTO, + CASE + WHEN e.riattivazione is null THEN 0 + ELSE 1 + END AS RIATTIVAZIONE + +FROM + [CONSEVO_PERIODICO].[consulenzaBase].dbo.Contratto a +JOIN + [CONSEVO_PERIODICO].[consulenzaBase].dbo.ClientePB b + ON b.chiaveClientePB = a.chiaveClientePB + and a.status in ('SEI','AVANZATOBASE','REVOCASEI') +JOIN [CONSEVO_PERIODICO].[consulenzaBase].dbo.Cliente c + ON b.chiaveCliente = c.chiaveCliente +JOIN [CONSEVO_PERIODICO].[consulenzaBase].dbo.PromotoreBancario d + ON b.chiavePB = d.chiavePB +JOIN [CONSEVO_PERIODICO].[consulenzaBaseFL].dbo.cbs_dbcontrattosei e + ON a.codiceContratto = e.cod_conf +JOIN [CONSEVO_PERIODICO].[consulenzaBaseFL].dbo.cbs_dbcontrattobase f + ON a.codiceContratto = f.cod_conf + +INSERT INTO [C6MartPeriodico].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazi diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_QD_VAR_RISK_WEEK2.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_QD_VAR_RISK_WEEK2.sql new file mode 100644 index 00000000..6bcd0964 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_QD_VAR_RISK_WEEK2.sql @@ -0,0 +1,53 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_QD_VAR_RISK_WEEK2 + + + + + + + + +CREATE procedure [C6MartPeriodico].[RP_DM_QD_VAR_RISK_WEEK2] +AS +BEGIN + + +TRUNCATE TABLE [C6MARTPeriodico].[QD_VAR_RISK_WEEK2] + +INSERT INTO [C6MARTPeriodico].[QD_VAR_RISK_WEEK2] + ([banca], + [rete], + [codfis], + [piva], + [codfid], + [codman], + [chiave_acn], + [isp_total_risk], + [flag_risk]) + SELECT + [banca], + [rete], + [codfis], + [piva], + [codfid], + [codman], + CASE WHEN ISNULL(LTRIM(RTRIM(piva)), '') <> '' AND ISNULL(LTRIM(RTRIM(codman)), '') = '' THEN piva + WHEN ISNULL(LTRIM(RTRIM(piva)), '') <> '' AND ISNULL(LTRIM(RTRIM(codman)), '') <> '' THEN 'FF@' + codman + ELSE codfis + END AS chiave_acn, + [isp_total_risk], + [flag_risk] + FROM [C6StagingPeriodico].[QD_VAR_RISK_WEEK2] + + +END + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_W6CATESG.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_W6CATESG.sql new file mode 100644 index 00000000..436f4834 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_W6CATESG.sql @@ -0,0 +1,88 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_W6CATESG + + + + + + + + + +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_W6CATESG] +AS +BEGIN + + SET NOCOUNT ON; + + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_W6CATESG', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- declare @data varchar(8) + +--set @data= [C6MartPeriodico].[getTrimestre2](getdate(),0) + +truncate table C6MartPeriodico.W6CATESG + + INSERT INTO [C6MartPeriodico].[W6CATESG] + ( + [dttrim] + ,[banca] + ,[rete] + ,[codfis] + ,[codman] + ,[esg_e_prod_cli] + ,[esg_s_prod_cli] + ,[esg_g_prod_cli] + ,[prodotto_id] + ,[position_id]) + SELECT distinct + [DTTRIM] + ,[BANCA] + ,[RETE] + ,case when CODMAN<>'' then 'FF@'+CODMAN + else CODFIS end as COD_FISCALE + ,isnull([codman],'') + ,isnull([esg_e_prod_cli],'') + ,isnull([esg_s_prod_cli],'') + ,isnull([esg_g_prod_cli],'') + ,isnull([prodotto_id],'') + ,isnull([position_id],'') + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6CATESG] + --where + --DTTRIM=@data + -- Log esecuzione + + + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_W6CATESG' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_W6CATESG' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_W6CKADEG.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_W6CKADEG.sql new file mode 100644 index 00000000..2c18bc38 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_W6CKADEG.sql @@ -0,0 +1,138 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_W6CKADEG + + + + + + + +CREATE procedure [C6MartPeriodico].[RP_DM_W6CKADEG] + +as +begin + +drop table if exists #tot + +truncate table C6MartPeriodico.W6CKADEG + +select wsei.rete as Rete, +wsei.codfis as Chiave_Acn, +case when wsei.CODFIS like '%@%' then wsei.piva else wsei.CODFIS end as Codfis, +wsei.CODMAN as Codman, +wsei.DTTRIM as Dttrim, +case when ris.Ind_Rischio='S' then 'S' + when ris.Ind_Rischio='N' then 'N' else 'NA' end as Adeg_Rischio, + case when wsei.RISERVA='S' then 'S' + when wsei.RISERVA='N' then 'N' + else 'NA' end as Adeg_Riserva, +case when wsei.INVL_PERIOD='S' then 'S' + when wsei.INVL_PERIOD='N' then 'N' + else 'NA' end as Adeg_Invl_Period, + case + when wsei.flgprof = 'S' then 'NR' + when wsei.flagpg = 1 and wsei.flgprof = 'N' and wsei.flagnqp = 'S' and wsei.flgprlrde = 'N' then 'NA' --Massimiliano dice che va messo prima di tutti senza testare altri flag 17/5/2018 + when upper(wsei.clcompl) = 'N' and wsei.nocompl = 'S' then 'N' + when upper(wsei.clcompl) = 'N' and wsei.flagpg = 0 then 'N' + + when upper(wsei.clcompl) = 'N' and wsei.flagpg = 1 and wsei.flgprlrde = 'S' then 'S' + when upper(wsei.clcompl) = 'S' then 'S' + else 'NA' end as Adeg_Compl, + case + when wsei.flgprof = 'S' then 'NR' + when upper(wsei.flgconc) = 'S' then 'S' + when upper(wsei.flgconc) in ('N') then 'N' + else 'NA' end as Adeg_Conc_ProdCompl, + case + when wsei.flgprof = 'S' then 'NR' + when upper(wsei.freq) = 'S' then 'S' + when upper(wsei.freq) = 'N' then 'N' + else 'NA' +end as Adeg_Freq_Oper, +case + when wsei.flgprof = 'S' then 'NR' + when upper(wsei.concemi) = 'S' then 'S' + when upper(wsei.concemi) = 'N' then 'N' + else 'NA' end as Adeg_Conc_Emitt, + case + when wsei.flgprof = 'S' then 'NR' + when upper(wsei.ADEGCONC_VALUT) = 'S' then 'S' + when upper(wsei.ADEGCONC_VALUT) = 'N' then 'N' + else 'NA'end as Adeg_Conc_Valut, + vbf.ctv as Rfa_tot, + nob.CTV as Rfa_sei, + wsei.IMP_RISERVA as Riserva, + wsei.CODPROF as Profilo, + wsei.COD_PROFEC AS Profilo_EC, + wsei.CLCOMPL as Indicatore_ChiamataR4 + into #tot + + from C6MartPeriodico.WSEIAN2 wsei +left join C6MartPeriodico.Indicatore_Rischio ris on RIS.rete=wsei.RETE and RIS.cod_fiscale=wsei.CODFIS +left join [C6MartPeriodico].[vPatrimonioBFAggregato] vbf on vbf.RETE=wsei.RETE and wsei.CODFIS=vbf.COD_FISCALE +left join [C6MartPeriodico].[vPatrimonioBFAggregato_SenzaNobPrez] nob on nob.RETE=wsei.RETE and wsei.CODFIS=nob.COD_FISCALE +--select Rete, +-- Chiave_Acn, +-- Codfis, +-- Codman, +-- Dttrim, +-- Adeg_Rischio, +-- Adeg_Riserva, +-- Adeg_Invl_Period, +-- Adeg_Compl, +-- Adeg_Conc_ProdCompl, +-- Adeg_Freq_Oper, +-- Adeg_Conc_Emitt, +-- Adeg_Conc_Valut +-- from #tot +insert into C6MartPeriodico.W6CKADEG +SELECT + Rete, + Chiave_Acn, + Codfis, + Codman, + Dttrim, + CASE + WHEN 'N' IN (Adeg_Rischio, Adeg_Riserva, Adeg_Invl_Period, Adeg_Compl, Adeg_Conc_ProdCompl, Adeg_Freq_Oper, Adeg_Conc_Emitt, Adeg_Conc_Valut) THEN 'N' + ELSE 'S' + END AS Adeg_Check, + Adeg_Rischio, + Adeg_Riserva, + Adeg_Invl_Period, + Adeg_Compl, + Adeg_Conc_ProdCompl, + Adeg_Freq_Oper, + Adeg_Conc_Emitt, + Adeg_Conc_Valut, + Rfa_tot, + Rfa_sei, + Riserva, + Profilo, + Profilo_EC, + Indicatore_ChiamataR4 + --into C6MartPeriodico.W6CKADEG + +FROM #tot; + +--casi particolari + +update C6MartPeriodico.W6CKADEG +set Adeg_Check='N' +where Indicatore_ChiamataR4='Z' --clcompl=Z +and Profilo=0 -- profilo Scaduto +--and isnull(Rfa_sei,0.00)=0.00 -- Rfa_sei = 0 e >0 adeg_check deve essere comunque = N + +update C6MartPeriodico.W6CKADEG +set Adeg_Check='S' +where Indicatore_ChiamataR4='Z' --clcompl=Z +and Profilo>0 -- profilo non scaduto +and isnull(Rfa_tot,0.00)=0.00 --rfa totale =0 +and isnull(Riserva,0.00)=0.00 -- riserva =0 + + +update C6MartPeriodico.W6CKADEG +set Adeg_Check='N' +where Indicatore_ChiamataR4='Z' --clcompl=Z +and Profilo>0 -- profilo non scaduto +and isnull(Rfa_tot,0.00)=0.00 --rfa totale =0 +and isnull(Riserv diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_W6CLIESG.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_W6CLIESG.sql new file mode 100644 index 00000000..2e149e2d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_W6CLIESG.sql @@ -0,0 +1,138 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_W6CLIESG + + + + + + + + + +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_W6CLIESG] +AS +BEGIN + + SET NOCOUNT ON; + + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_W6CLIESG', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- declare @data varchar(8) + +--set @data= [C6MartPeriodico].[getTrimestre2](getdate(),0) + + TRUNCATE TABLE C6MartPeriodico.W6CLIESG + + INSERT INTO [C6MartPeriodico].[W6CliESG] + ( + [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[U_PREFSOST] + ,[FLAGSFDR] + ,[FLAGTAXO] + ,[FLAGPAI] + ,[SFDR_PERC] + ,[TAXO_PERC] + ,[PAI_A01] + ,[PAI_A02] + ,[PAI_A03] + ,[PAI_A04] + ,[PAI_A05] + ,[PAI_A07] + ,[PAI_A08] + ,[PAI_S01] + ,[PAI_S02] + ,[PAI_A1] + ,[PAI_A2] + ,[PAI_A3] + ,[PAI_A4] + ,[PAI_A5] + ,[PAI_A7] + ,[PAI_A8] + ,[PAI_S1] + ,[PAI_S2] + ,[PAI_A] + ,[PAI_S] + ,[PAI_NO_DETT] + ,[PERC1ESG] + ,[PERCAMB] + ,[PERCSOC] + ,[PERCGOV] + ,[PERCAMB_OK] + ,[PERCSOC_OK] + ,[PERCGOV_OK] + ,[SFDR_PERCT] + ,[SFDR_PERC_OK] + ,[TAXO_PERCT] + ,[TAXO_PERC_OK] + ,[PAIA_PERCT] + ,[PAIA_PERC_OK] + ,[PAIS_PERCT] + ,[PAIS_PERC_OK]) + SELECT distinct + [DTTRIM] + ,[RETE] + ,case when CODMAN<>'' then 'FF@'+CODMAN + else CODFIS end as COD_FISCALE + ,[CODMAN] + ,[U_PREFSOST] + ,[FLAGSFDR] + ,[FLAGTAXO] + ,[FLAGPAI] + ,[SFDR_PERC] + ,[TAXO_PERC] + ,[PAI_A01] + ,[PAI_A02] + ,[PAI_A03] + ,[PAI_A04] + ,[PAI_A05] + ,[PAI_A07] + ,[PAI_A08] + ,[PAI_S01] + ,[PAI_S02] + ,CASE WHEN PAI_A01 = 'S' THEN 'Emissioni gas serra' ELSE '' END AS PAI_A1, + CASE WHEN PAI_A02 = 'S' THEN 'Biodiversita''' ELSE '' END AS PAI_A2, + CASE WHEN PAI_A03 = 'S' THEN 'Acqua' ELSE '' END AS PAI_A3, + CASE WHEN PAI_A04 = 'S' THEN 'Rifiuti' ELSE '' END AS PAI_A4, + CASE WHEN PAI_A05 = 'S' THEN 'Governativi di tipo Ambientale' ELSE '' END AS PAI_A5, + --CASE + -- WHEN PAI_A06 = 'S' THEN 'Combustibili Fossili' + -- ELSE '' + --END AS PAI_A06, + CASE WHEN PAI_A07 = 'S' THEN 'Settore Immobiliare' ELSE '' END AS PAI_A7,-- prima era Efficienza energetica ma deprecato + CASE WHEN PAI_A08 = 'S' THEN 'Settore Immobiliare' ELSE '' END AS PAI_A8, + CASE WHEN PAI_S01 = 'S' THEN 'Questioni Sociali e dei Dipendenti' ELSE '' END AS PAI_S1, + CASE WHEN PAI_S02 = 'S' THEN 'Governativi di tipo Sociale' ELSE '' END AS PAI_S2, + CONCAT_WS(', ', + NULLIF(CASE WHEN PAI_A01 = 'S' THEN 'Emissioni gas serra' ELSE '' END, ''), + NULLIF(CASE WHEN PAI_A02 = 'S' THEN 'Biodiversita''' ELSE '' END, ''), + NULLIF(CASE WHEN PAI_A03 = 'S' THEN 'Acqua' ELSE '' END, ''), + NULLIF(CASE WHEN PAI_A04 = 'S' THEN 'Rifiuti' ELSE '' END, ''), + --NULLIF(CASE WHEN PAI_A06 = 'S' THEN 'Combustibili Fossili' ELSE '' END, ''), -- Commentato + NULLIF(CASE WHEN PAI_A07 = 'S' THEN 'Settore Immobiliare' ELSE '' END, ''),-- prima era Efficienza energetica + NULLIF(CASE WHEN PAI_A08 = 'S' THEN 'Settore Immobiliare' ELSE '' END, ''), + NULLIF(CASE WHEN PAI_A05 = 'S' THEN 'Governativi di tipo Ambientale' ELSE '' END, '') + + ) AS PAI_A, + + -- Concatenazione del campo PAI_S (ritorna '' se tutti i campi sono vuoti) + CONCAT_WS(', ', + NULLIF(CASE WHEN PAI_S01 = 'S' THEN 'Questioni Sociali e dei Dipendenti' ELSE '' END, ''), + NULLIF(CASE WHEN PAI_S02 = 'S' THEN 'Governativi di tipo Sociale' ELSE '' END, '') + ) AS PAI_S, + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_W6IndPtf.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_W6IndPtf.sql new file mode 100644 index 00000000..8f86da9f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_W6IndPtf.sql @@ -0,0 +1,106 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_W6IndPtf + + + + + + + + + +CREATE procedure [C6MartPeriodico].[RP_DM_W6IndPtf] + +as +begin + +declare @countAppoLimiter int + +select @countAppoLimiter= count(*) from C6StagingPeriodico.APPO_CONTRATTI_LIMITER + +drop table if exists #tot + +if(@countAppoLimiter=0) +begin + +truncate table C6MartPeriodico.W6IndPtf + +INSERT INTO [C6MartPeriodico].[W6IndPtf] + ([DTTRIM] + ,[RETE] + ,[CHIAVE_ACN] + ,[CODFIS] + ,[CODMAN] + ,[PTF_DIVERSIFICATO] + ,[PTF_ADEGUATO] + ,[BLACKLIST] + ,[DATA_ORA_INSE] + ,[DATA_ORA_AGGI]) +select +ad.Dttrim, +ad.Rete, +ad.Chiave_Acn as Chiave_Acn, +ad.Codfis, +ad.Codman, +case when isnull(ptf.flg_NonDiv,'N')='S' then 'N' else 'S' end as flg_NonDiv, +ad.adeg_check, +case when e.rete IS not null then 'S' else 'N' end as Blacklist, +NULL as DATA_ORA_INSE, +NULL as DATA_ORA_AGGI +from C6MartPeriodico.W6CKADEG ad +inner join C6StagingPeriodico.appo_contratti appo +on appo.rete=ad.Rete and appo.cod_fiscale=ad.Codfis +left join C6MartPeriodico.RP_ClientiPtfNonDiv ptf +on ad.Rete=ptf.rete and ad.Chiave_Acn=ptf.chiave_acn +left join (select distinct rete,codicefiscale from C6MartPeriodico.ExcludedList) e on ad.Rete=e.Rete and ad.Chiave_Acn=e.codicefiscale +WHERE appo.tip_contratto<>'3' +end +--select distinct * from C6MartPeriodico.W6IndPtf +else +delete from [C6MartPeriodico].[W6IndPtf] where rete+CHIAVE_ACN in (select rete+cod_fiscale from C6StagingPeriodico.APPO_CONTRATTI_LIMITER) + +INSERT INTO [C6MartPeriodico].[W6IndPtf] + ([DTTRIM] + ,[RETE] + ,[CHIAVE_ACN] + ,[CODFIS] + ,[CODMAN] + ,[PTF_DIVERSIFICATO] + ,[PTF_ADEGUATO] + ,[BLACKLIST] + ,[DATA_ORA_INSE] + ,[DATA_ORA_AGGI]) +select +ad.Dttrim, +ad.Rete, +ad.Chiave_Acn as Chiave_Acn, +ad.Codfis, +ad.Codman, +case when isnull(ptf.flg_NonDiv,'N')='S' then 'N' else 'S' end as flg_NonDiv, +ad.adeg_check, +case when e.rete IS not null then 'S' else 'N' end as Blacklist, +NULL as DATA_ORA_INSE, +NULL as DATA_ORA_AGGI +from C6MartPeriodico.W6CKADEG ad +inner join C6StagingPeriodico.APPO_CONTRATTI_LIMITER appo_lim +on appo_lim.rete=ad.Rete and appo_lim.cod_fiscale=ad.Codfis +left join C6StagingPeriodico.APPO_CONTRATTI appo +on appo.rete=ad.Rete and appo.cod_fiscale=ad.Codfis +left join C6MartPeriodico.RP_ClientiPtfNonDiv ptf +on ad.Rete=ptf.rete and ad.Chiave_Acn=ptf.chiave_acn +left join (select distinct rete,codicefiscale from C6MartPeriodico.ExcludedList) e on ad.Rete=e.Rete and ad.Chiave_Acn=e.codicefiscale +WHERE appo.tip_contratto<>'3' + + + +--SI +--NO +--NA Non Applicabile +--NR Non restituito, Professionale + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_WSEIAN2.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_WSEIAN2.sql new file mode 100644 index 00000000..b2a9a612 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_WSEIAN2.sql @@ -0,0 +1,114 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_WSEIAN2 + + + + + + + + + +CREATE procedure [C6MartPeriodico].[RP_DM_WSEIAN2] + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + +truncate table c6martperiodico.wseian2 + +INSERT INTO [C6MartPeriodico].[wseian2] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[PIVA] + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF] + ,[DTINVAL] + ,[CODMAN] + ,[CLASSERC] + ,[COD_PROFEC] + ,[FLAGPG] + ,[CLCOMPL] + ,[FLGCONC] + ,[FLAGNQP] + ,[FLGPRLRDE] + ,[FLGPROF] + ,[DTFINVAL] + ,[CONCEMI] + ,[FREQ] + ,[LLIQUID] + ,[PREFSOST] + ,[FLAGAMB] + ,[FLAGSOC] + ,[FLAGGOV] + ,[ADEGCONC_VALUT] + ,[SOGLIAESG] + ,[COERENZA] + ,[RISERVA] + ,[INVL_PERIOD] + ,[MAXCOMPL] + ,[NOCOMPL] + ,[SPESA_FORZATA] + ,[PERC_ILP] + ,[IMP_RISERVA]) + +SELECT [DTTRIM] + ,[RETE] + ,case when codman<>'' then 'FF@'+codman else [CODFIS] end as CODFIS + ,case when LEN(codfis)<16 then codfis else '' end as PIVA + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF] + ,[DTINVAL] + ,[CODMAN] + ,[CLASSERC] + ,[COD_PROFEC] + ,[FLAGPG] + ,[CLCOMPL] + ,[FLGCONC] + ,[FLAGNQP] + ,[FLGPRLRDE] + ,[FLGPROF] + ,[DTFINVAL] + ,[CONCEMI] + ,[FREQ] + ,[LLIQUID] + ,[PREFSOST] + ,[FLAGAMB] + ,[FLAGSOC] + ,[FLAGGOV] + ,[ADEGCONC_VALUT] + ,[SOGLIAESG] + ,[COERENZA] + ,[RISERVA] + ,[INVL_PERIOD] + ,[MAXCOMPL] + ,[NOCOMPL] + ,[SPESA_FORZATA] + ,[PERC_ILP] + ,[IMP_RISERVA] + FROM [C6StagingPeriodico].[WSEIAN2] + where DTTRIM=@DataFineTrim + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_WSEICAP.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_WSEICAP.sql new file mode 100644 index 00000000..05467275 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_WSEICAP.sql @@ -0,0 +1,92 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_WSEICAP + + + + + +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_WSEICAP] +AS +BEGIN + + SET NOCOUNT ON; + + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_WSEICAP', + GETDATE(), + 'Elaborazione trimestrale' + ) + declare @data varchar(8) + +set @data= [C6MartPeriodico].[getTrimestre2](getdate(),0) + + TRUNCATE TABLE C6MartPeriodico.WSEICAP + + INSERT INTO C6MartPeriodico.[WSEICAP] + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[COD_FISCALE] + ,[CODCONF] + ,[SUBPROD] + ,[ISIN] + ,[DTINIZ] + ,[DTFINE] + ,[CTV_COMMIT] + ,[IMPVERS] + ,[IMPRES] + ,[DESCPROD] + ,[SGR]) + + SELECT distinct [DTTRIM] + ,[DTRIFE] + ,[RETE] + ,case when CODMAN<>'' then 'FF@'+CODMAN + else CODFIS end as COD_FISCALE + ,[CODCONF] + ,[SUBPROD] + ,CASE + WHEN ISIN IS NULL OR ISIN = '' THEN 'NA' + ELSE ISIN + END AS ISIN + ,[DTINIZ] + ,[DTFINE] + ,[CTV_COMMIT] + ,[IMPVERS] + ,[IMPRES] + ,[DESCPROD] + ,[SGR] + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICAP] + where + DTTRIM=@data + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_WSEICAP' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_WSEICAP' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_WSEICC.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_WSEICC.sql new file mode 100644 index 00000000..a82824ed --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_WSEICC.sql @@ -0,0 +1,72 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_WSEICC + + + + +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_WSEICC] +AS +BEGIN + + SET NOCOUNT ON; + + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_WSEICC', + GETDATE(), + 'Elaborazione trimestrale' + ) + declare @data varchar(8) + +set @data= [C6MartPeriodico].[getTrimestre2](getdate(),0) + + TRUNCATE TABLE C6MartPeriodico.WSEICC + + INSERT INTO C6MartPeriodico.[WSEICC] + ([DTTRIM] + ,[RETE] + ,[COD_FISCALE] + ,[CODCONFC] + ,[CODCONFPR] + ,[is_APC]) + + SELECT distinct [DTTRIM] + ,[RETE] + ,case when CODMAN<>'' then 'FF@'+CODMAN + else CODFIS end + ,[CODCONFC] + ,[CODCONFPR] + ,'S' + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICC] + where + DTTRIM=@data + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_WSEICC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_WSEICC' + ) + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_DM_WSEIRPF.sql b/sql/storedCollaudo/C6MartPeriodico_RP_DM_WSEIRPF.sql new file mode 100644 index 00000000..03362a64 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_DM_WSEIRPF.sql @@ -0,0 +1,133 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_DM_WSEIRPF + + + + + + + + + +CREATE procedure [C6MartPeriodico].[RP_DM_WSEIRPF] + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + + + SELECT + rpf.[dttrim] + ,rpf.[rete] + ,case when rpf.codman <>'' then 'FF@'+rpf.codman else rpf.codfis end as chiave_acn + ,rpf.[codfis] + ,rpf.[codman] + ,rpf.[flgprof] + ,rpf.[flgec] + ,rpf.[data_ora_refresh] + ,rpf.[data_ora_inse] + ,rpf.[data_ora_aggi] + into #WSEIRPF_temp + FROM [C6StagingPeriodico].[WSEIRPF] rpf + where rpf.flgprof in ('P','S') and rpf.dttrim=@DataFineTrim + + + SELECT + rpf.[dttrim] + ,rpf.[rete] + ,rpf.chiave_acn + ,rpf.[codfis] + ,rpf.[codman] + ,rpf.[flgprof] + ,rpf.[flgec] + ,rpf.[data_ora_refresh] + ,rpf.[data_ora_inse] + ,rpf.[data_ora_aggi] + ,case when ac.TIP_CONTRATTO=3 then 'S' else 'N' end as isDirect + into #WSEIRPF + from #WSEIRPF_temp rpf + inner join C6StagingPeriodico.APPO_CONTRATTI AC + on rpf.rete=AC.rete and rpf.chiave_acn=AC.COD_FISCALE + + + + SELECT + rpf.[dttrim] + ,rpf.[rete] + ,rpf.chiave_acn + ,rpf.[codfis] + ,rpf.[codman] + ,rpf.[flgprof] + ,rpf.[flgec] + ,rpf.[data_ora_refresh] + ,rpf.[data_ora_inse] + ,rpf.[data_ora_aggi] + ,rpf.isDirect + into #WSEI + FROM #WSEIRPF rpf + inner join C6MartPeriodico.wseian2 an2 on rpf.rete+rpf.chiave_acn=an2.rete+an2.codfis + where rpf.flgprof='P' and rpf.dttrim=@DataFineTrim and CODPROF='0' and isDirect='N' + + union all + + SELECT + rpf.[dttrim] + ,rpf.[rete] + ,rpf.chiave_acn + ,rpf.[codfis] + ,rpf.[codman] + ,rpf.[flgprof] + ,rpf.[flgec] + ,rpf.[data_ora_refresh] + ,rpf.[data_ora_inse] + ,rpf.[data_ora_aggi] + ,rpf.isDirect + FROM #WSEIRPF rpf + inner join C6MartPeriodico.wseian2 an2 on rpf.rete+rpf.chiave_acn=an2.rete+an2.codfis + inner join C6MartPeriodico.vPatrimonioBFAggregato patr on patr.rete=rpf.rete and patr.cod_fiscale=rpf.chiave_acn + where rpf.flgprof='P' and rpf.dttrim=@DataFineTrim and CODPROF='0' and isDirect='S' and ctv>=100000 + + + + +truncate table c6martperiodico.wseirpf + + +INSERT INTO [C6MartPeriodico].[wseirpf]( + [dttrim] + ,[rete] + ,[chiave_acn] + ,[codfis] + ,[codman] + ,[flgprof] + ,[flgec] + ,[data_ora_refresh] + ,[data_ora_inse] + ,[data_ora_aggi]) + + SELECT + ws.[dttrim] + ,ws.[rete] + ,WS.chiave_acn + ,ws.[codfis] + ,ws.[codman] + ,ws.[flgprof] + ,ws.[flgec] + ,ws.[data_ora_refresh] + ,ws.[data_ora_inse] + ,ws.[data_ora_aggi] + FROM #WSEI WS + inner join C6StagingPeriodico.APPO_CONTRATTI AC + on WS.rete=AC.rete and WS.chiave_acn=AC.COD_FISCALE + + drop table if exists #WSEIRPF + drop table if exists #WSEI + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql b/sql/storedCollaudo/C6MartPeriodico_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql new file mode 100644 index 00000000..10e61638 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql @@ -0,0 +1,108 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_GESTIONE_SELECT_LETTERE_DA_INVIARE + +--SELECT TOP 1 * FROM C6MartPeriodico.VCONTRATTI +--[C6MartPeriodico].[GESTIONE_SELECT_LETTERE_DA_INVIARE]'F','AA@55670',1,-1 +CREATE procedure [C6MartPeriodico].[RP_GESTIONE_SELECT_LETTERE_DA_INVIARE] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' + + +AS +BEGIN + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() + +--declare @prova as varchar(10) +--select @prova = 'AA@55670' +--select @prova +--select charindex('@',@prova) + + SELECT + dbo.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, + + --aclie.cognome as cognome, + csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.PROVINCIA end as provincia, + csei.cap as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + + dbo.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_MONITORAGGIO, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.DATA_INZIOAVANZATO, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) as testo, + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma + + FROM + [C6MartPeriodico].[TESTO_LETTERA_ACCETTAZIONE] tla, + [C6MartPeriodico].[VCONTRATTI] csei + JOIN + C6MartPeriodico.CONTRATTOSEI_METADATI META + ON + META.CHIAVECLIENTEPB= CSEI.CHIAVECLIENTEPB + INNER JOIN + [C6MartPeriodico].[ANAG_CLIENTI] aclie + on + csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + LEFT OUTER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP gpdf + on + gpdf.rete = csei.rete and + gpdf.codiceFiscale = csei.cod_fiscale + + + WHERE + csei.rete = @rete and + csei.cod_Fiscale = @cf and + csei.data_fineAvanzato > getDate() and + tla.id = @codiceLettera and + (gpdf.idReport = @idReport or @idreport = -1) + + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli.sql b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli.sql new file mode 100644 index 00000000..887dabec --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli.sql @@ -0,0 +1,99 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_PROM_TuttiIPortafogli + + + +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +--[C6MartPeriodico].[PROM_TuttiIPortafogli] +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli] + -- Add the parameters for the stored procedure here +AS +BEGIN + +SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,cast([CtvNominale] as varchar) as CtvNominale + ,cast([CtvReale] as varchar) as CtvReale + + + +FROM ( + + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6MartPeriodico].[RP_vTuttiIPortafogli] + + + union all + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6MartPeriodico].[RP_vTuttiIPortafogli_ccLiq] +) T + +order by rete,codiceFiscale,Portafoglio + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2.sql b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2.sql new file mode 100644 index 00000000..5a054335 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2.sql @@ -0,0 +1,92 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_PROM_TuttiIPortafogli2 + + + + + + + + + + +-- Stored procedure +-- Stored procedure + + +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2] + -- Add the parameters for the stored procedure here +AS +BEGIN + +SELECT + -- descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] +FROM ( + + SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + + + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_ccLiq] + +) T +--where t.codicefiscale <> 'MNTGFR35R06G337T' +--where ((t.rete = 'F' +--and t.codicefiscale > 'KRLPBL79L31Z107U') +--or (t.rete = 'S')) +---------------------------------------------------------------- +-- excluded for T2_L1 and T2_L2 to bypass Prometeia dtsx failure +--where T.codicefiscale <> 'RNLRLD71D19G492V' +---------------------------------------------------------------- + +order by rete,codiceFiscale,Portafoglio + +END + + + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170409_TEST.sql b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170409_TEST.sql new file mode 100644 index 00000000..15a88bc5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170409_TEST.sql @@ -0,0 +1,91 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_PROM_TuttiIPortafogli2_20170409_TEST + + + + + + +-- Stored procedure +-- Stored procedure + + +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20170409_TEST] + -- Add the parameters for the stored procedure here +AS +BEGIN + + +select *, row_number() over(order by CodiceFiscale, Rete, Portafoglio) as myrank into #tmp from +( + +SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Martperiodico].[RP_vTuttiIPortafogli] + + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Martperiodico].[RP_vTuttiIPortafogli_ccLiq] + )x + + +SELECT + CodiceFiscale, rete + into #ranking + from #tmp + +group by CodiceFiscale, rete +having max(myrank) <= 1600000 + + CREATE INDEX IDX_ranking_CodiceFiscale ON #ranking(CodiceFiscale, Rete) + CREATE INDEX IDX_temp_CodiceFiscale ON #tmp(CodiceFiscale, Rete) + +select t.[Rete] + ,t.[CodiceFiscale] + ,t.[Portafoglio] + ,t.[CodiceProdotto] + ,t.[Piazza] + ,t.[CodiceValuta] + ,t.[Classe] + ,t.[CtvNominale] + ,t.[CtvReale] + from +#tmp t inner join #ranking r on r.Rete = t.rete and r.CodiceFiscale = t.CodiceFiscale + + + +END + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410.sql b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410.sql new file mode 100644 index 00000000..5ef4366f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410.sql @@ -0,0 +1,75 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_PROM_TuttiIPortafogli2_20170410 + + +-- Stored procedure +-- Stored procedure + + +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20170410] + -- Add the parameters for the stored procedure here +AS +BEGIN + +SELECT + -- descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] +FROM ( + + SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_ccLiq] +) T +--where t.codicefiscale <> 'MNTGFR35R06G337T' +--where ((t.rete = 'F' +--and t.codicefiscale > 'KRLPBL79L31Z107U') +--or (t.rete = 'S')) + +order by rete,codiceFiscale,Portafoglio + + + + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410_EXCLCF.sql b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410_EXCLCF.sql new file mode 100644 index 00000000..cce58cd4 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410_EXCLCF.sql @@ -0,0 +1,72 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_PROM_TuttiIPortafogli2_20170410_EXCLCF + + +-- Stored procedure +-- Stored procedure + + +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_2070410_EXCLCF] + -- Add the parameters for the stored procedure here +AS +BEGIN + +SELECT + -- descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] +FROM ( + + SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_ccLiq] +) T +where t.codicefiscale <> 'RNLRLD71D19G42V' + +order by rete,codiceFiscale,Portafoglio + + + + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170421_EXCL_CF.sql b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170421_EXCL_CF.sql new file mode 100644 index 00000000..02ac8db5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170421_EXCL_CF.sql @@ -0,0 +1,83 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_PROM_TuttiIPortafogli2_20170421_EXCL_CF + + + + + + + +-- Stored procedure +-- Stored procedure + + +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20170421_EXCL_CF] + -- Add the parameters for the stored procedure here +AS +BEGIN + +SELECT + -- descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] +FROM ( + + SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_ccLiq] +) T +--where t.codicefiscale <> 'MNTGFR35R06G337T' +--where ((t.rete = 'F' +--and t.codicefiscale > 'KRLPBL79L31Z107U') +--or (t.rete = 'S')) +where T.codicefiscale <> 'RNLRLD71D19G492V' + +order by rete,codiceFiscale,Portafoglio + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20180615_NewMotorePrometeia.sql b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20180615_NewMotorePrometeia.sql new file mode 100644 index 00000000..25e90b66 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20180615_NewMotorePrometeia.sql @@ -0,0 +1,110 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_PROM_TuttiIPortafogli2_20180615_NewMotorePrometeia + + + + + + + + + + + + +-- Stored procedure +-- Stored procedure + + +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20180615_NewMotorePrometeia] + -- Add the parameters for the stored procedure here +AS +BEGIN + +SELECT + -- descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + +FROM ( + + SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_ccLiq] +) T +--esclusioni per errore nuovo servizio indicatori del 14-15/6/2018 +where t.rete+t.codicefiscale not in +('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', +'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', +'SPCFMRA79D52I197L','SSNTLGU56A23L334O' + +) + +--where t.codicefiscale <> 'MNTGFR35R06G337T' +--where ((t.rete = 'F' +--and t.codicefiscale > 'KRLPBL79L31Z107U') +--or (t.rete = 'S')) +---------------------------------------------------------------- +-- excluded for T2_L1 and T2_L2 to bypass Prometeia dtsx failure +--where T.codicefiscale = 'BGIRUI39M03G687X' +---------------------------------------------------------------- + +order by rete,codiceFiscale,Portafoglio + +END + + + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore.sql b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore.sql new file mode 100644 index 00000000..59c28c70 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore.sql @@ -0,0 +1,117 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_PROM_TuttiIPortafogli2_Indicatore + + + +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore] + -- Add the parameters for the stored procedure here +AS +BEGIN + +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + -- ,case + --when [CtvNominale] < 0 then '0.00' + --else convert(varchar(20),[CtvNominale]) + -- end as [CtvNominale] + -- ,case + --when [CtvReale] < 0 then '0.00' + --else convert(varchar(20),[CtvReale]) + -- end as [CtvReale] + --orig: + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + +FROM + +( + + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore_newkey]-- where codicefiscale='MCHMNP63R51A794U' + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + -- and rete+codicefiscale not in + --('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + --'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + --'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--and rete+codicefiscale<>'FMCHMNP63R51A794U' +--********************ELIMINARE***************** + --and rete+codicefiscale <> 'FMCHMNP63R51A794U' +--********************ELIMINARE***************** + --and rete+codicefiscale <> 'SFRGMGH37R50G778A' +and portafoglio not like '%||%' + UNION + + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore_newkey] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + -- and rete+codicefiscale not in + --('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + --'FTMBCST76M67M082T','FVLIMLL56P45I480C','FV diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180711_AZZERARE_CTV_NEGATIVI.sql b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180711_AZZERARE_CTV_NEGATIVI.sql new file mode 100644 index 00000000..8df7c3af --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180711_AZZERARE_CTV_NEGATIVI.sql @@ -0,0 +1,140 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_PROM_TuttiIPortafogli2_Indicatore_20180711_AZZERARE_CTV_NEGATIVI + + + +--ELIMINARE WHERE CONDITION SUL CODICE FISCALE NELLE SELECT INTERNE + + + +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_20180711_AZZERARE_CTV_NEGATIVI] + -- Add the parameters for the stored procedure here +AS +BEGIN + +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + -- ,case + --when [CtvNominale] < 0 then '0.00' + --else convert(varchar(20),[CtvNominale]) + -- end as [CtvNominale] + -- ,case + --when [CtvReale] < 0 then '0.00' + --else convert(varchar(20),[CtvReale]) + -- end as [CtvReale] + --orig: + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + +FROM + +( + + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') + +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + + + UNION + + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') + +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + + UNION + + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180719_preAzzeramentoCCNeg.sql b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180719_preAzzeramentoCCNeg.sql new file mode 100644 index 00000000..8e84b63b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180719_preAzzeramentoCCNeg.sql @@ -0,0 +1,111 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_PROM_TuttiIPortafogli2_Indicatore_20180719_preAzzeramentoCCNeg + + + + + +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_20180719_preAzzeramentoCCNeg] + -- Add the parameters for the stored procedure here +AS +BEGIN + +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + + +FROM + +( + + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') + + + UNION + + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') + + + UNION + + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where ([Portafoglio] like '%COMPLESSIVO|TERZI%' or [Portafoglio] like '%COMPLESSIVO|BF%') + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') + + + +) T + +order by rete,codiceFiscale,Portafoglio + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018.sql b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018.sql new file mode 100644 index 00000000..b8339d69 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018.sql @@ -0,0 +1,142 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_PROM_TuttiIPortafogli2_Indicatore_20181018 + + + + +--ELIMINARE WHERE CONDITION SUL CODICE FISCALE NELLE SELECT INTERNE + + + +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_20181018] + -- Add the parameters for the stored procedure here +AS +BEGIN + +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + -- ,case + --when [CtvNominale] < 0 then '0.00' + --else convert(varchar(20),[CtvNominale]) + -- end as [CtvNominale] + -- ,case + --when [CtvReale] < 0 then '0.00' + --else convert(varchar(20),[CtvReale]) + -- end as [CtvReale] + --orig: + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + +FROM + +( + + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') + +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + + + UNION + + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') + +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + + UNION + + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018_SingoloCF.sql b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018_SingoloCF.sql new file mode 100644 index 00000000..96035394 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018_SingoloCF.sql @@ -0,0 +1,142 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_PROM_TuttiIPortafogli2_Indicatore_20181018_SingoloCF + + + + + +--ELIMINARE WHERE CONDITION SUL CODICE FISCALE NELLE SELECT INTERNE + + + +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore] + -- Add the parameters for the stored procedure here +AS +BEGIN + +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + -- ,case + --when [CtvNominale] < 0 then '0.00' + --else convert(varchar(20),[CtvNominale]) + -- end as [CtvNominale] + -- ,case + --when [CtvReale] < 0 then '0.00' + --else convert(varchar(20),[CtvReale]) + -- end as [CtvReale] + --orig: + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + +FROM + +( + + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale = 'FTMRSNN57T52L424E' + +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + + + UNION + + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale = 'FTMRSNN57T52L424E' + + + +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + + UNION + + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else conv diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_IN.sql b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_IN.sql new file mode 100644 index 00000000..c83a2bd8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_IN.sql @@ -0,0 +1,127 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_PROM_TuttiIPortafogli2_Indicatore_IN + + + + + + +--ELIMINARE WHERE CONDITION SUL CODICE FISCALE NELLE SELECT INTERNE + + + +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_IN] + -- Add the parameters for the stored procedure here +AS +BEGIN + +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + -- ,case + --when [CtvNominale] < 0 then '0.00' + --else convert(varchar(20),[CtvNominale]) + -- end as [CtvNominale] + -- ,case + --when [CtvReale] < 0 then '0.00' + --else convert(varchar(20),[CtvReale]) + -- end as [CtvReale] + --orig: + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + +FROM + +( + + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') + +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + + + UNION + + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') + +--************ diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_ORIGINALE.sql b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_ORIGINALE.sql new file mode 100644 index 00000000..031770ab --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_ORIGINALE.sql @@ -0,0 +1,127 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_PROM_TuttiIPortafogli2_Indicatore_ORIGINALE + + + + + + +--ELIMINARE WHERE CONDITION SUL CODICE FISCALE NELLE SELECT INTERNE + + + +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_ORIGINALE] + -- Add the parameters for the stored procedure here +AS +BEGIN + +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + -- ,case + --when [CtvNominale] < 0 then '0.00' + --else convert(varchar(20),[CtvNominale]) + -- end as [CtvNominale] + -- ,case + --when [CtvReale] < 0 then '0.00' + --else convert(varchar(20),[CtvReale]) + -- end as [CtvReale] + --orig: + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + +FROM + +( + + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') + +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + + + UNION + + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') + +- diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli_pre_selective.sql new file mode 100644 index 00000000..a77f11e2 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_PROM_TuttiIPortafogli_pre_selective.sql @@ -0,0 +1,97 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_PROM_TuttiIPortafogli_pre_selective + +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +--[C6MartPeriodico].[PROM_TuttiIPortafogli] +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli_pre_selective] + -- Add the parameters for the stored procedure here +AS +BEGIN + +SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,cast([CtvNominale] as varchar) as CtvNominale + ,cast([CtvReale] as varchar) as CtvReale + + + +FROM ( + + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6MartPeriodico].[RP_vTuttiIPortafogli] + + + union all + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6MartPeriodico].[RP_vTuttiIPortafogli_ccLiq] +) T + +order by rete,codiceFiscale,Portafoglio + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_SRV_CHECK_C6_GIORNALIERO.sql b/sql/storedCollaudo/C6MartPeriodico_RP_SRV_CHECK_C6_GIORNALIERO.sql new file mode 100644 index 00000000..3c733a2d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_SRV_CHECK_C6_GIORNALIERO.sql @@ -0,0 +1,130 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_SRV_CHECK_C6_GIORNALIERO + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_SRV_CHECK_C6_GIORNALIERO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + --V Esegue la procedura di estrazione dei CC + EXEC [C6MartPeriodico].[RP_SRV_ESTRAZ_GIORNALIERA_CC] + + -- Report generati + SELECT + C.Rete, + C.Cod_Agente, + case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else C.Cod_Fiscale end as Cod_fiscale, + C.Data_Perf + INTO #ReportGenerati + FROM + C6MartPeriodico.GESTIONE_PDF_FTP AS GPF + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] AS C + ON GPF.RETE = C.Rete + AND GPF.CODICEFISCALE = C.Cod_Fiscale + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND Data_FineAvanzato > getDate() + ORDER BY + C.Rete, + C.Cod_Agente, + C.Cod_Fiscale + + -- Report non generati + SELECT + Rete, + Cod_Agente, + case when Cod_Fiscale like '%@%' then piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else Cod_Fiscale end as Cod_fiscale, + Data_Perf, + 'Ragione:' + CASE + WHEN ClienteMigrato = 'N' THEN ' Cliente non migrato' + ELSE '' + END + + CASE + WHEN RisorseNA = 'S' THEN ' Risorse non associate' + ELSE '' + END + + CASE + WHEN RisorseNA = 'N' and ClienteMigrato = 'S' and profiloAttivo = 0 THEN ' Profilo non attivo' + ELSE '' + END + /*+ CASE + WHEN PartViaDisinv = 'S' THEN ' Partite viaggianti disinvestimento' + ELSE '' + END*/ AS Ragione + INTO #ReportNonGenerati + FROM + C6MartPeriodico.vcontratti as CONTRATTOSEI + INNER JOIN C6MartPeriodico.ContrattoSEI_metadati AS M + on CONTRATTOSEI.chiaveclientepb = M.chiaveclientepb + WHERE + M.InvioBenvenuto = 'N' + AND DATEDIFF(d, Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND (ClienteMigrato = 'N' + OR RisorseNA = 'S' + --V Condizione per non generazione a causa di profilo non attivo + OR ProfiloAttivo = 0 + -- + /*OR PartViaDisinv = 'S'*/) + AND Data_FineAvanzato > getDate() + ORDER BY + Rete, + Cod_Agente, + Cod_Fiscale + + + + + -- Email + SELECT + CASE Tipo + WHEN 'PERF' THEN 'perfezionamento' + WHEN '1_SOLL_NOASS' THEN '1 sollecito risorse non associate' + WHEN '2_SOLL_NOASS' THEN '2 sollecito risorse non associate' + WHEN '3_SOLL_NOASS' THEN '3 sollecito risorse non associate' + WHEN 'S_SOLL_NOASS' THEN 'pi di 3 solleciti risorse non associate' + WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + WHEN '1_SOLL_NOMIG' THEN '1 sollecito cliente non migrato' + WHEN '2_SOLL_NOMIG' THEN '2 sollecito cliente non migrato' + WHEN '3_SOLL_NOMIG' THEN '3 sollecito cliente non migrato' + WHEN 'S_SOLL_NOMIG' THEN 'pi di 3 solleciti cliente non migrato' + WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + --V aggiunta tipo mail profilo non attivo + WHEN '1_SOLL_NOPRO' THEN '1 sollecito profilo non attivo' + WHEN '2_SOLL_NOPRO' THEN '2 sollecito profilo non attivo' + WHEN '3_SOLL_NOPRO' THEN '3 sollecito profilo non attivo' + WHEN 'S_SOLL_NOPRO' THEN 'pi di 3 solleciti profilo non attivo' + WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + + END AS Tipo, + COUNT(Tipo) AS Totale + INTO #EmailInviate + FROM + C6MartPeriodico.GESTIONE_EMAIL + WHERE + Inviata = 'S' + AND dbo.toShortDateString(Data_Invio) = dbo.toShortDateString(GETDATE()) + GROUP BY + Tipo + ORDER BY TIPO + -- Indirizzi pi lunghi di 36 caratteri + SELECT + C.Rete, + Cod_Agente, + Cod_Fiscale, + Indirizzo, + LEN(Indirizzo) AS LunghezzaIndirizzo + INTO #IndirizziLunghi + FROM + C6MartPeriodico.vcontratti AS C + INNER JOIN C6MartPeriodico.GESTIONE_PDF_FTP AS GPF + ON C.Rete = GPF.RETE + AND diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql b/sql/storedCollaudo/C6MartPeriodico_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql new file mode 100644 index 00000000..88f7d279 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql @@ -0,0 +1,108 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_SRV_ESTRAZ_GIORNALIERA_CC + + + + +-- ============================================= +-- Author: alessandro Tringali +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_SRV_ESTRAZ_GIORNALIERA_CC] +AS +BEGIN + + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_ESTRAZ_GIORNALIERA_CC', + GETDATE(), + 'Elaborazione giornaliera' + ) + +--V Cancellazione delle tuple inserite nel giorno corrente, pu accadere che la procedura viene +-- lanciata pi di una volta, in quel caso inserirei righe doppie. +DELETE FROM C6MartPeriodico.ESTRAZ_GIORNALIERA_CC +WHERE DATEDIFF(dd,dataGenerazione,getDate()) = 0 + + + +INSERT INTO C6MartPeriodico.ESTRAZ_GIORNALIERA_CC +SELECT +a.COD_FISCALE, +A.RETE, +A.CODICECONTRATTO, +DATAGENERAZIONE, +NUMERO_CC, +C.CTV_CC, +D.TOT_CTV, +D.TOT_CTV_NO_CC +FROM +[C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] A, +C6MartPeriodico.GESTIONE_PDF_FTP B, +( + SELECT + COD_FISCALE, + RETE, + COD_CC AS NUMERO_CC, + SUM(SALDOCONTABILE) AS CTV_CC + FROM C6MartPeriodico.ANAG_CC + GROUP BY + COD_FISCALE, + RETE, + COD_CC + ) C, +( SELECT COD_FISCALE, RETE, + SUM(CTV) AS TOT_CTV, + SUM(CASE WHEN TIPO_PRODOTTO='CC' THEN 0 ELSE CTV END) AS TOT_CTV_NO_CC FROM C6MartPeriodico.PATRIMONIO_BF + GROUP BY COD_FISCALE, RETE +)D +WHERE +A.COD_FISCALE=B.CODICEFISCALE +AND A.RETE=B.RETE +AND A.COD_FISCALE=C.COD_FISCALE +AND A.RETE=C.RETE +AND A.COD_FISCALE=D.COD_FISCALE +AND A.RETE=D.RETE +ORDER BY 1,2,3,5 + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'DELETE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_ESTRAZ_GIORNALIERA_CC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_ESTRAZ_GIORNALIERA_CC' + ) + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_ESTRAZ_GIORNALIERA_CC', + GETDATE(), + 'Elaborazione giornaliera' + ) + + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_ST_ClientiPtfNonDiv.sql b/sql/storedCollaudo/C6MartPeriodico_RP_ST_ClientiPtfNonDiv.sql new file mode 100644 index 00000000..9c913a0a --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_ST_ClientiPtfNonDiv.sql @@ -0,0 +1,118 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_ST_ClientiPtfNonDiv + + + + + +CREATE PROCEDURE [C6MartPeriodico].[RP_ST_ClientiPtfNonDiv] +AS +BEGIN + + -- Drop the #temp table if it exists + IF OBJECT_ID('tempdb..#temp') IS NOT NULL + DROP TABLE #temp; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ClientiPtfNonDiv', + GETDATE(), + 'Elaborazione Trimestrale' + ); + +-- DECLARE @appo_contratti_l INT; + -- SELECT @appo_contratti_l = ISNULL(COUNT(*), 0) FROM [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER]; + + DECLARE @DataFineTrim VARCHAR(8); + SET @DataFineTrim = c6martperiodico.getTrimestre2(GETDATE(), 0); + + + DECLARE @DataClientiPtf VARCHAR(8); + select @DataClientiPtf = MAX(DTTrim) from [C6MartPeriodico].[RP_ClientiPtfNonDiv] + + if(@DataFineTrim<>@DataClientiPtf) + begin + truncate table [C6MartPeriodico].[RP_ClientiPtfNonDiv] + end + + -- IF (@appo_contratti_l = 0) + -- BEGIN + SELECT Rete, COD_FISCALE AS Cod_Fiscale, 0.0000 AS Somma_credito + INTO #temp + FROM C6StagingPeriodico.APPO_CONTRATTI + EXCEPT + SELECT rete, cod_fiscale, 0.0000 FROM C6MartPeriodico.PATRIMONIO_BF + UNION + SELECT rete, cod_fiscale, SUM(credito) AS Somma_credito + FROM C6MartPeriodico.PATRIMONIO_BF bf + INNER JOIN [C6StagingPeriodico].[RP_CatDivPtf] c ON bf.COD_PRODOTTO = c.CatalogueID + GROUP BY rete, cod_fiscale + HAVING SUM(credito) < 3.00; + -- END + --ELSE + --BEGIN + -- SELECT rete, COD_FISCALE AS Cod_Fiscale, 0.0000 AS Somma_credito + ---- INTO #temp + -- FROM C6StagingPeriodico.APPO_CONTRATTI_LIMITER + -- EXCEPT + -- SELECT rete, cod_fiscale, 0.0000 FROM C6MartPeriodico.PATRIMONIO_BF + -- UNION + -- SELECT rete, cod_fiscale, SUM(credito) AS Somma_credito + -- FROM C6MartPeriodico.PATRIMONIO_BF bf + -- INNER JOIN [C6StagingPeriodico].[RP_CatDivPtf] c ON bf.COD_PRODOTTO = c.CatalogueID + -- GROUP BY rete, cod_fiscale + -- HAVING SUM(credito) < 3.00; + --END; + --select * from [C6MartPeriodico].[RP_ClientiPtfNonDiv] + INSERT INTO [C6MartPeriodico].[RP_ClientiPtfNonDiv] + ([Rete] + ,[Chiave_Acn] + ,[Codfis] + ,[Codman] + ,[Dttrim] + ,[Credito] + ,[Flg_NonDiv]) + SELECT t.RETE, + t.Cod_Fiscale AS Chiave_ACN, + CASE WHEN LEN(t.COD_FISCALE) = 16 THEN t.Cod_Fiscale ELSE '' END AS Codfis, + a.COD_MANDATO AS Codman, + @DataFineTrim as Dttrim, + t.Somma_credito as Credito, + 'S' AS Flg_NonDiv + -- into #nuovatab + FROM #temp t + INNER JOIN C6StagingPeriodico.APPO_CONTRATTI a ON t.RETE = a.rete AND t.Cod_Fiscale = a.COD_FISCALE; + + +-- -- Utilizziamo il comando MERGE per sincronizzare i dati tra le due tabelle +--MERGE INTO [C6MartPeriodico].[RP_ClientiPtfNonDiv] AS dest +--USING #nuovatab AS src +--ON dest.rete = src.rete and dest.chiave_ACN= src.chiave_ACN and dest.dttrim=src.dttrim +--WHEN MATCHED THEN +-- UPDATE SET dest.credito = src.credito, dest.flg_NonDiv = src.flg_NonDiv, dest.AzioneMerge='UPDATE/NO VAR' +--WHEN NOT MATCHED BY TARGET THEN +-- INSERT (AzioneMerge,Rete, Chiave_ACN, Codfis, Codman, Dttrim, Credito, Flg_NonDiv) VALUES +-- ('INSERT',src.Rete, src.Chiave_ACN, src.Codfis, src.Codman, src.Dttrim, src.Credito, src.Flg_NonDiv); + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ClientiPtfNonDiv' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_ClientiPtfNonDiv' + ); +END; + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_TCPTAB.sql b/sql/storedCollaudo/C6MartPeriodico_RP_TCPTAB.sql new file mode 100644 index 00000000..32661d19 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_TCPTAB.sql @@ -0,0 +1,68 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_TCPTAB + + +CREATE procedure [C6MartPeriodico].[RP_TCPTAB] +AS +BEGIN +-- -- Log esecuzione +-- INSERT INTO LOG_ESECUZIONE +-- (Nome, Inizio, Nota) +-- VALUES ( +-- 'RP_CREA_POSITIONID_CONSULENZA', +-- GETDATE(), +-- 'Elaborazione Trimestrale' +-- ) + +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, + CODSOTTOPRODOTTO, + position_id +INTO #TAB1 +FROM #tcptab + +UPDATE #TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) + + UPDATE #tcptab + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, + '', + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM #tcptab c + left join #TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null + + +drop table #TAB1 + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_Tipologia_Campione.sql b/sql/storedCollaudo/C6MartPeriodico_RP_Tipologia_Campione.sql new file mode 100644 index 00000000..224aca35 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_Tipologia_Campione.sql @@ -0,0 +1,93 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_Tipologia_Campione + + + + + + + +--Verifica tutti i clienti della APPO_CONTRATTI se hanno la nota fai +--per il singolo cliente [C6StagingPeriodico].[ClienteProdottiAssicurativiVita] 'F','BBNNLL48T52E730L' + +CREATE procedure [C6MartPeriodico].[RP_Tipologia_Campione] +as +drop table if exists c6martperiodico.RP_TB_Tipologia_Campione +--per assicurativi +drop table if exists #assicurativi +SELECT distinct rete,cod_fiscale,count(*) as conta +into #assicurativi +from C6MartPeriodico.PATRIMONIO_BF bf +inner join C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT +on bf.COD_PRODOTTO = kat.CatalogueID +where kat.Alberatura in (7,8,9) and + bf.rete+bf.cod_fiscale in (select rete+COD_FISCALE from C6StagingPeriodico.APPO_CONTRATTI) +group by rete,COD_FISCALE + + select a.rete,a.COD_FISCALE, + case when f.conta is null then 'NO' + else 'SI' end as ASSICURATIVI + into #assicurativiS + from C6stagingPeriodico.APPO_CONTRATTI a + left join #assicurativi f on a.rete+a.COD_FISCALE=f.RETE+f.COD_FISCALE + +--fine assicurativi + +--inizio colonna fai +drop table if exists #fai +SELECT distinct rete,COD_FISCALE, count(*) as Conta +into #fai +FROM [C6MartPeriodico].[PATRIMONIO_BF] +WHERE rtrim(ltrim(cod_interno)) + rtrim(ltrim(cod_sottoprodotto)) IN ( + 'IA3364S' + ,'ID8562S' + ,'PE1772S' + ,'IA3447S' + ,'IA3448S' + ) + and rete+COD_FISCALE in (select rete+COD_FISCALE from C6StagingPeriodico.APPO_CONTRATTI) + group by rete,COD_FISCALE + + select a.rete,a.COD_FISCALE, + case when f.conta is null then 'NO' + else 'SI' end as FAI + into #faiS + from C6stagingPeriodico.APPO_CONTRATTI a left join #fai f on a.rete+a.COD_FISCALE=f.RETE+f.COD_FISCALE +--fine colonna fai + + select t.rete, + t.codice_fiscale, + c.flag_stampa, + case when t.freq_diagnosi='' then 'NO' else 'SI' end as Diagnosi, + t.segmento as Segmento, + case when t.flgprof='N' then 'NO' else 'SI' end as Professionale, + case when t.ESG='N' then 'NO' else 'SI' end as ESG, + a.ASSICURATIVI, + f.FAI--, +-- t.rete+' '+t.codice_fiscale+' '+'Diagnosi='+Diagnosi+'Segmento='--+t.segmento+'Professionale='+t.flgprof+'ESG='+t.ESG+'ASSICURATIVI='+a.ASSICURATIVI+'FAI='+f.FAI + --as commento + into #tipologia_Campione--c6martperiodico.RP_TB_Tipologia_Campione +from C6MartPeriodico.tabellone t inner join C6MartPeriodico.TB_Campione c +on t.chiave_acn=c.rete+c.cod_fiscale +left join #assicurativiS a on t.chiave_acn=a.rete+a.COD_FISCALE +left join #FaiS f on t.chiave_acn=f.rete+f.COD_FISCALE +order by t.codice_fiscale + +select +rete, +codice_fiscale, +flag_stampa, +Diagnosi, +Segmento, +Professionale, +ESG, +ASSICURATIVI, +FAI, +rete+' '+codice_fiscale+' '+'Diagnosi='+Diagnosi+' '+'Segmento='+segmento+' '+'Professionale='+Professionale+' '+'ESG='+ESG+' '+'ASSICURATIVI='+ASSICURATIVI+' '+'FAI='+FAI as commento +into C6MartPeriodico.RP_TB_Tipologia_Campione +from #tipologia_Campione + +select * from C6MartPeriodico.RP_TB_Tipologia_Campione order by codice_fiscale + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_Tipologia_Tabellone.sql b/sql/storedCollaudo/C6MartPeriodico_RP_Tipologia_Tabellone.sql new file mode 100644 index 00000000..44b69596 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_Tipologia_Tabellone.sql @@ -0,0 +1,76 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_Tipologia_Tabellone + + + + + + + +--Verifica tutti i clienti della APPO_CONTRATTI se hanno la nota fai +--per il singolo cliente [C6StagingPeriodico].[ClienteProdottiAssicurativiVita] 'F','BBNNLL48T52E730L' + +CREATE procedure [C6MartPeriodico].[RP_Tipologia_Tabellone] +as +drop table if exists c6martperiodico.RP_TB_Tipologia_Tabellone +--per assicurativi +drop table if exists #assicurativi +SELECT distinct rete,cod_fiscale,count(*) as conta +into #assicurativi +from C6MartPeriodico.PATRIMONIO_BF bf +inner join C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT +on bf.COD_PRODOTTO = kat.CatalogueID +where kat.Alberatura in (7,8,9) and + bf.rete+bf.cod_fiscale in (select rete+COD_FISCALE from C6StagingPeriodico.APPO_CONTRATTI) +group by rete,COD_FISCALE + + select a.rete,a.COD_FISCALE, + case when f.conta is null then 'NO' + else 'SI' end as ASSICURATIVI + into #assicurativiS + from C6stagingPeriodico.APPO_CONTRATTI a + left join #assicurativi f on a.rete+a.COD_FISCALE=f.RETE+f.COD_FISCALE + +--fine assicurativi + +--inizio colonna fai +drop table if exists #fai +SELECT distinct rete,COD_FISCALE, count(*) as Conta +into #fai +FROM [C6MartPeriodico].[PATRIMONIO_BF] +WHERE rtrim(ltrim(cod_interno)) + rtrim(ltrim(cod_sottoprodotto)) IN ( + 'IA3364S' + ,'ID8562S' + ,'PE1772S' + ,'IA3447S' + ,'IA3448S' + ) + and rete+COD_FISCALE in (select rete+COD_FISCALE from C6StagingPeriodico.APPO_CONTRATTI) + group by rete,COD_FISCALE + + select a.rete,a.COD_FISCALE, + case when f.conta is null then 'NO' + else 'SI' end as FAI + into #faiS + from C6stagingPeriodico.APPO_CONTRATTI a left join #fai f on a.rete+a.COD_FISCALE=f.RETE+f.COD_FISCALE +--fine colonna fai + + select t.rete, + t.codice_fiscale, + --c.flag_stampa, + case when t.freq_diagnosi='' then 'NO' else 'SI' end as Diagnosi, + t.segmento as Segmento, + case when t.flgprof='N' then 'NO' else 'SI' end as Professionale, + case when t.ESG='N' then 'NO' else 'SI' end as ESG, + a.ASSICURATIVI, + f.FAI + into c6martperiodico.RP_TB_Tipologia_Tabellone +from C6MartPeriodico.tabellone t +left join #assicurativiS a on t.chiave_acn=a.rete+a.COD_FISCALE +left join #FaiS f on t.chiave_acn=f.rete+f.COD_FISCALE +order by t.codice_fiscale + +select * from C6MartPeriodico.RP_TB_Tipologia_Tabellone order by codice_fiscale + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_RP_controlla100_PiramideModello.sql b/sql/storedCollaudo/C6MartPeriodico_RP_controlla100_PiramideModello.sql new file mode 100644 index 00000000..3fd7dff3 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_RP_controlla100_PiramideModello.sql @@ -0,0 +1,105 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: RP_controlla100_PiramideModello + + + +CREATE procedure [C6MartPeriodico].[RP_controlla100_PiramideModello] +AS +BEGIN +drop table if exists dbo.piramidemodello_da_agg_manualmente +drop table if exists #conta +drop table if exists #conta_b +drop table if exists #conta_agg + +select a.rete,a.cod_fiscale, fase, sum(a.perc) as somma +into #conta +from +(select rete,cod_fiscale,perc_ext as perc, fase from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase in (1,2,3) +union all +select rete,cod_fiscale,perc_inv as perc, fase from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase in (1,2,3) +union all +select rete,cod_fiscale,perc_pre as perc, fase from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase in (1,2,3) +union all +select rete,cod_fiscale,perc_liq as perc, fase from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase in (1,2,3) +union all +select rete,cod_fiscale,perc_ris as perc, fase from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase in (1,2,3) +) a +--where cod_fiscale not in ('DNTNDA68P53D458Y','FLSGRL63S17L872V') +group by rete,cod_fiscale, fase +having sum(a.perc) <> '100.00' +order by cod_fiscale, rete, fase + +--select * from #conta + +select ChiaveCliente, c.* +into #conta_b +from #conta c + inner join consuni.consulenzaunica.dbo.Cliente cli + on cli.codFis = c.cod_fiscale +UNION ALL +select chiavecliente, c.* +from #conta c + inner join consuni.consulenzaunica.dbo.Cliente cli + on cli.Piva = c.cod_fiscale +UNION ALL +select chiavecliente, c.* +from #conta c + inner join consuni.consulenzaunica.dbo.Cliente cli + on c.cod_fiscale like 'FF@%' and cli.codman = substring(c.cod_fiscale, 4, len(c.cod_fiscale)-3) + +--select * from #conta_b -- 155194 + +-- 181778 +select clipb.chiaveclientepb, clipb.chiavePB, clipb.flagpbprimario, pb.codage agente, pb.Rete pb_Rete, cb.* +into #conta_agg +from #conta_b cb + inner join consuni.consulenzaunica.dbo.ClientePB clipb + ON clipb.ChiaveCliente = cb.ChiaveCliente + INNER JOIN consuni.consulenzaunica.dbo.PromotoreBancario pb + ON pb.chiavePB = clipb.chiavePB + +-- Per eliminare i criteri poco performanti nella creazione di #conta_agg (and clipb.flagpbprimario is null pb.Rete = cd.Rete ) +Delete #conta_agg where rete != pb_Rete or flagpbprimario is not null + +--select * from #conta_agg order by chiaveclientepb -- 155182 + +---- OLD +-- select chiaveclientepb, agente, c.* +-- into #conta_agg +-- from #conta c +-- inner join consuni.consulenzaunica.dbo.vinfocliente v +-- on c.rete+c.cod_fiscale = v.rete+v.codfis or +-- c.rete+c.cod_fiscale = v.rete+v.piva or +-- c.rete+c.cod_fiscale = v.rete+'FF@'+v.codman +-- where flagpbprimario is null +-- +-- select * from #conta_agg order by 4 + + select sum(percentualeprogetto) as somma, a.area, cod_fiscale, rete, p.chiaveclientepb, con.fase + into dbo.piramidemodello_da_agg_manualmente + from consuni.ConsulenzaUnica.dbo.ProgettiPiramideModello pir + inner join consuni.ConsulenzaUnica.dbo.areamodello a + on a.chiaveareamod = pir.chiaveareamod + inner join consuni.ConsulenzaUnica.dbo.PiramideModello p + on p.chiavepiramidemod = a.chiavepiramidemod + inner join #conta_agg con + on con.chiaveclientepb = p.chiaveclientepb + where a.area in ('Ext', 'Liq', 'Inv', 'Ris', 'Pre') + group by a.area, cod_fiscale, rete, p.chiaveclientepb, con.fase + order by 3, 2 + + --select * from dbo.piramidemodello_da_agg_manualmente -- 775865 + + --select * from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where Cod_Fiscale = 'DNTNDA68P53D458Y' + + update ctv + set perc_ext = cast(isnull(somma, '0.00') as decimal(5,2)) + from piramidemodello_da_agg_manualmente agg + inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv + on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete + where agg.area = 'Ext' + and ctv.Fase = agg.Fase + + update ctv + set perc_inv = cast(isnull(somma, '0.00') as decimal(5,2)) + f diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_BonificaDati.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_BonificaDati.sql new file mode 100644 index 00000000..d687b699 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_BonificaDati.sql @@ -0,0 +1,95 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_BonificaDati + + + + + +CREATE procedure [C6MartPeriodico].[SP_DQ_BonificaDati] +AS +BEGIN + +-- select count(*) from C6MartPeriodico.contrattosei + +-- BONIFICA CARATTERI ANOMALI +update c6martperiodico.contrattosei +set indirizzo = 'VIA CONTRA'' BARONA, 52' +where rete = 'F' +and cod_fiscale = 'CRCMHL70M62I531H' +and indirizzo ='VIA CONTR BARONA, 52' + +update c6martperiodico.anag_clienti +set indirizzo = 'VIA CONTRA'' BARONA, 52' +where rete = 'F' +and cod_fiscale = 'CRCMHL70M62I531H' +and indirizzo ='VIA CONTR BARONA, 52' + +update c6martperiodico.contrattosei +set indirizzo = 'STRADA MONTA'' DA LANZA 48' +where rete = 'S' +and cod_fiscale = 'VLIPLA63H56L741Q' +and indirizzo ='STRADA MONT DA LANZA 48' + +update c6martperiodico.contrattosei set indirizzo ='VIA FRANGIPANE, TR.2, N.6' where cod_fiscale ='BRGGNN32A02H224F' and INDIRIZZO= 'VIA FRANGIPANE, TR.2^, N.6' +update c6martperiodico.contrattosei set indirizzo ='VIA POSTIERLA N 31/C' where cod_fiscale ='CCCRNI39T54I381U' and INDIRIZZO= 'VIA POSTIERLA N 31/C' +update c6martperiodico.contrattosei set indirizzo ='VIA DEGLI OPERAI N 25' where cod_fiscale ='DTNNZR56M23D653T' and INDIRIZZO= 'VIA DEGLI OPERAI N 25' +update c6martperiodico.contrattosei set indirizzo ='VIA F.SICILIANI N 1' where cod_fiscale ='FRRTDR64M26A638Q' and INDIRIZZO= 'VIA F.SICILIANI N 1' +update c6martperiodico.contrattosei set Citta ='VALLA'' DI RIESE PIO X' where cod_fiscale ='NDRTZN81A03C111N' and Citta= 'VALLA'' DI RIESE PIO X' +update c6martperiodico.contrattosei set indirizzo ='VIA A.MOTTA N 61' where cod_fiscale ='TRRCRL47S28L667C' and INDIRIZZO= 'VIA A.MOTTA N 61' +update c6martperiodico.contrattosei set indirizzo ='VIA RIOMAGGIORE N 1' where cod_fiscale ='CRPDNC37C69L689V' and INDIRIZZO= 'VIA RIOMAGGIORE N1' +update c6martperiodico.contrattosei set indirizzo ='VIA SANTI N 17' where cod_fiscale ='RNALRT64R05G337D' and INDIRIZZO= 'VIA SANTI N 17' +update c6martperiodico.contrattosei set indirizzo ='VIA M.DELLA LIBERT'' 13' where cod_fiscale ='GLPMRA71A16G856Z' and INDIRIZZO= 'VIA M.DELLA LIBERT 13' +update c6martperiodico.contrattosei set indirizzo ='LOCALITA'' MONETA' where cod_fiscale ='VLLCNZ58P47L219Z' and INDIRIZZO= 'LOCALIT MONETA' +update c6martperiodico.contrattosei set Citta ='FORLI''' where cod_fiscale ='GHTDNC38S29D704K' and Citta= 'FORL' + + +update c6martperiodico.contrattosei +set presso = 'KOSTORIS e ASSOC.-STUDIO LEGALE' +where rete = 'F' +and cod_fiscale = 'KSTLRT60R14L424G' +and presso = 'KOSTORIS & ASSOC.-STUDIO LEGALE' + +update c6martperiodico.contrattosei +set indirizzo = 'VIA VINCENZO CIARDO N. 3' +where rete = 'S' +and cod_fiscale = 'CNGMTR43S59E506C' +and indirizzo = 'VIA VINCENZO CIARDO N 3' + +update c6martperiodico.contrattosei +set indirizzo = 'VIA VINCENZO CIARDO N. 3' +where rete = 'S' +and cod_fiscale = 'CNGRSO46T44E506U' +and indirizzo = 'VIA VINCENZO CIARDO N 3' + +update c6martperiodico.contrattosei +set indirizzo = 'VIA VINCENZO BELLINI N.6' +where rete = 'S' +and cod_fiscale = 'CRBMLD59M69C351S' +and indirizzo = 'VIA VINCENZO BELLINI N6' + +update c6martperiodico.contrattosei +set indirizzo = 'VIA SS 18 I TR. N. 11' +where rete = 'S' +and cod_fiscale = 'LZZCRC51P41B666S' +and indirizzo = 'VIA SS 18 I TR. N 11' + +update c6martperiodico.contrattosei +set indirizzo = 'VIA DELL''IMPRUNETA N. 26' +where rete = 'S' +and cod_fiscale = 'RMNMRA69D13C351J' +and indirizzo = 'VIA DELL''IMPRUNETA N 26' + +update c6martperiodico.contrattosei +set indirizzo = 'LOCALITA'' MALTRAVERSO, 13' +where rete = 'F' +and cod_fiscale = 'PRSRNZ59B21C847E' +and indirizzo = 'LOCALIT MALTRAVERSO, 13' + +update c6martperiodico.contrattosei +set citta = 'CITTA'' SANTANGELO' +where rete = 'S' +and cod_fiscale = 'DFRNTN56D20A120O' +and citta = 'CITT SANTANGELO' + +update c6martperiodico.contrattosei +set indirizzo = diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_BonificaDati_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_BonificaDati_pre_selective.sql new file mode 100644 index 00000000..139d8355 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_BonificaDati_pre_selective.sql @@ -0,0 +1,104 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_BonificaDati_pre_selective + + + + + + + + + + +CREATE procedure [C6MartPeriodico].[SP_DQ_BonificaDati_pre_selective] +AS +BEGIN + +-- select count(*) from C6MartPeriodico.contrattosei + +-- BONIFICA CARATTERI ANOMALI + +update c6martperiodico.contrattosei set indirizzo ='VIA FRANGIPANE, TR.2, N.6' where cod_fiscale ='BRGGNN32A02H224F' and INDIRIZZO= 'VIA FRANGIPANE, TR.2^, N.6' +update c6martperiodico.contrattosei set indirizzo ='VIA POSTIERLA N 31/C' where cod_fiscale ='CCCRNI39T54I381U' and INDIRIZZO= 'VIA POSTIERLA N 31/C' +update c6martperiodico.contrattosei set indirizzo ='VIA DEGLI OPERAI N 25' where cod_fiscale ='DTNNZR56M23D653T' and INDIRIZZO= 'VIA DEGLI OPERAI N 25' +update c6martperiodico.contrattosei set indirizzo ='VIA F.SICILIANI N 1' where cod_fiscale ='FRRTDR64M26A638Q' and INDIRIZZO= 'VIA F.SICILIANI N 1' +update c6martperiodico.contrattosei set Citta ='VALLA'' DI RIESE PIO X' where cod_fiscale ='NDRTZN81A03C111N' and Citta= 'VALLA'' DI RIESE PIO X' +update c6martperiodico.contrattosei set indirizzo ='VIA A.MOTTA N 61' where cod_fiscale ='TRRCRL47S28L667C' and INDIRIZZO= 'VIA A.MOTTA N 61' +update c6martperiodico.contrattosei set indirizzo ='VIA RIOMAGGIORE N 1' where cod_fiscale ='CRPDNC37C69L689V' and INDIRIZZO= 'VIA RIOMAGGIORE N1' +update c6martperiodico.contrattosei set indirizzo ='VIA SANTI N 17' where cod_fiscale ='RNALRT64R05G337D' and INDIRIZZO= 'VIA SANTI N 17' +update c6martperiodico.contrattosei set indirizzo ='VIA M.DELLA LIBERT'' 13' where cod_fiscale ='GLPMRA71A16G856Z' and INDIRIZZO= 'VIA M.DELLA LIBERT 13' +update c6martperiodico.contrattosei set indirizzo ='LOCALITA'' MONETA' where cod_fiscale ='VLLCNZ58P47L219Z' and INDIRIZZO= 'LOCALIT MONETA' +update c6martperiodico.contrattosei set Citta ='FORLI''' where cod_fiscale ='GHTDNC38S29D704K' and Citta= 'FORL' + + +update c6martperiodico.contrattosei +set presso = 'KOSTORIS e ASSOC.-STUDIO LEGALE' +where rete = 'F' +and cod_fiscale = 'KSTLRT60R14L424G' +and presso = 'KOSTORIS & ASSOC.-STUDIO LEGALE' + +update c6martperiodico.contrattosei +set indirizzo = 'VIA VINCENZO CIARDO N. 3' +where rete = 'S' +and cod_fiscale = 'CNGMTR43S59E506C' +and indirizzo = 'VIA VINCENZO CIARDO N 3' + +update c6martperiodico.contrattosei +set indirizzo = 'VIA VINCENZO CIARDO N. 3' +where rete = 'S' +and cod_fiscale = 'CNGRSO46T44E506U' +and indirizzo = 'VIA VINCENZO CIARDO N 3' + +update c6martperiodico.contrattosei +set indirizzo = 'VIA VINCENZO BELLINI N.6' +where rete = 'S' +and cod_fiscale = 'CRBMLD59M69C351S' +and indirizzo = 'VIA VINCENZO BELLINI N6' + +update c6martperiodico.contrattosei +set indirizzo = 'VIA SS 18 I TR. N. 11' +where rete = 'S' +and cod_fiscale = 'LZZCRC51P41B666S' +and indirizzo = 'VIA SS 18 I TR. N 11' + +update c6martperiodico.contrattosei +set indirizzo = 'VIA DELL''IMPRUNETA N. 26' +where rete = 'S' +and cod_fiscale = 'RMNMRA69D13C351J' +and indirizzo = 'VIA DELL''IMPRUNETA N 26' + +update c6martperiodico.contrattosei +set indirizzo = 'LOCALITA'' MALTRAVERSO, 13' +where rete = 'F' +and cod_fiscale = 'PRSRNZ59B21C847E' +and indirizzo = 'LOCALIT MALTRAVERSO, 13' + +update c6martperiodico.contrattosei +set citta = 'CITTA'' SANTANGELO' +where rete = 'S' +and cod_fiscale = 'DFRNTN56D20A120O' +and citta = 'CITT SANTANGELO' + +update c6martperiodico.contrattosei +set indirizzo = 'VIA MICHELE PIETRAVALLE 85 R' +where rete = 'F' +and cod_fiscale = 'DLLGST40D14B963Q' +and indirizzo = 'VIA MICHELE PIETRAVALLE 85 R' + +update c6martperiodico.contrattosei +set indirizzo = 'VIA MICHELE PIETRAVALLE 85 B' +where rete = 'F' +and cod_fiscale = 'NZZSRA43S52F839U' +and indirizzo = 'VIA MICHELE PIETRAVALLE 85 B' + +update c6martperiodico.contrattosei +set indirizzo = 'VIA TRENTO 14 - 27 SC D' +where rete = 'S' +and cod_fiscale = 'BOXFNC95S22D969G' +and indirizzo = 'VIA TRENTO 14 27 SC D' + +update c6martperiodico.contrattosei +set indirizzo = 'VCLO POME'' 14' +where rete = 'F' +and cod_fiscale = 'PRNNRC48D09E801B' +and indirizzo = 'VCLO POM 1 diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_CaratteriAnomali.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_CaratteriAnomali.sql new file mode 100644 index 00000000..42f9966b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_CaratteriAnomali.sql @@ -0,0 +1,87 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_CaratteriAnomali + + + + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano in Anagrafica caratteri anomali nei campi che formano lindirizzo di +-- domiciliazione del contratto di consulenza +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= + + +-- [C6MartPeriodico].[SP_DQ_CaratteriAnomali] 2 +CREATE procedure [C6MartPeriodico].[SP_DQ_CaratteriAnomali] +@idFaseElaborazione int +AS +BEGIN + +drop table if exists C6MartPeriodico.TB_ClienticonCaratteriAnomali + +--drop table #tab_temp + +--drop table #TbErrori + +Declare @idTipoControllo int + + +set @idTipoControllo=7 + + + +CREATE TABLE #tab_temp( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL) + + +insert into #tab_temp +exec [C6MartPeriodico].[CercaCaratteriAnomali] + +select val_Ascii,Val_Char,Rete,Cod_Fiscale,Nome_Campo,Val_Campo +into C6MartPeriodico.TB_ClienticonCaratteriAnomali +from #tab_temp + +select *,@idTipoControllo idTipoControllo + into #TbErrori +from #tab_temp + + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +--select * from c6martperiodico.tb_tipocontrollo + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale, +Replace(replace(DescSegnalazione,'campo$',tbErr.Nome_Campo),'carattere$',tbErr.Val_Char) ,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo + + +end + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_CaratteriAnomali_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_CaratteriAnomali_pre_selective.sql new file mode 100644 index 00000000..1a8997ae --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_CaratteriAnomali_pre_selective.sql @@ -0,0 +1,80 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_CaratteriAnomali_pre_selective + + + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano in Anagrafica caratteri anomali nei campi che formano lindirizzo di +-- domiciliazione del contratto di consulenza +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= + + +-- [C6MartPeriodico].[SP_DQ_CaratteriAnomali_pre_selective] 2 +CREATE procedure [C6MartPeriodico].[SP_DQ_CaratteriAnomali_pre_selective] +@idFaseElaborazione int +AS +BEGIN + +--drop table #tab_temp + +--drop table #TbErrori + +Declare @idTipoControllo int + + +set @idTipoControllo=7 + + + +CREATE TABLE #tab_temp( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL) + + +insert into #tab_temp +exec [C6MartPeriodico].[CercaCaratteriAnomali] + +select *,@idTipoControllo idTipoControllo + into #TbErrori +from #tab_temp + + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +--select * from c6martperiodico.tb_tipocontrollo + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale, +Replace(replace(DescSegnalazione,'campo$',tbErr.Nome_Campo),'carattere$',tbErr.Val_Char) ,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo + + +end + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio.sql new file mode 100644 index 00000000..244a8827 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio.sql @@ -0,0 +1,64 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_DataAvvioMonitoraggio + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo Data Avvio del Monitoraggio ( dtSalvataggio ) sulla tabella +-- [C6MartPeriodico].[MONITORAGGIO_INIZIALE] +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= + +CREATE procedure [C6MartPeriodico].[SP_DQ_DataAvvioMonitoraggio] +@idFaseElaborazione int +AS +BEGIN + + +Declare @idTipoControllo int + +set @idTipoControllo=3 + +SELECT + V.rete AS RETE, + V.COD_FISCALE AS COD_FISCALE, + @idTipoControllo idtipocontrollo +into #TbErrori +FROM C6StagingPeriodico.appo_contratti_v V + INNER JOIN C6STAGINGPERIODICO.RP_MonitoraggioStorico M + ON V.chiaveClientePB = M.chiaveClientePB + WHERE stato = '2' + AND M.dtSalvataggio IS NULL + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +--select * from c6martperiodico.tb_tipocontrollo + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,COD_FISCALE,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo + + +end + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio_pre_selective.sql new file mode 100644 index 00000000..e5e5d4f0 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio_pre_selective.sql @@ -0,0 +1,64 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_DataAvvioMonitoraggio_pre_selective + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo Data Avvio del Monitoraggio ( dtSalvataggio ) sulla tabella +-- [C6MartPeriodico].[MONITORAGGIO_INIZIALE] +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= + +CREATE procedure [C6MartPeriodico].[SP_DQ_DataAvvioMonitoraggio_pre_selective] +@idFaseElaborazione int +AS +BEGIN + + +Declare @idTipoControllo int + +set @idTipoControllo=3 + +SELECT + V.rete AS RETE, + V.COD_FISCALE AS COD_FISCALE, + @idTipoControllo idtipocontrollo +into #TbErrori +FROM C6StagingPeriodico.APPO_CONTRATTI V + INNER JOIN C6STAGINGPERIODICO.RP_MonitoraggioStorico M + ON V.chiaveClientePB = M.chiaveClientePB + WHERE stato = '2' + AND M.dtSalvataggio IS NULL + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +--select * from c6martperiodico.tb_tipocontrollo + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,COD_FISCALE,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo + + +end + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab.sql new file mode 100644 index 00000000..70bab3cd --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab.sql @@ -0,0 +1,96 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_DataValorizzazioneTRenab + + + + + + +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 17/09/2014 +-- Description: +-- TODO --- Da ottimizzare per Data Quality +-- ============================================= + +CREATE procedure [C6MartPeriodico].[SP_DQ_DataValorizzazioneTRenab] +@idFaseElaborazione int +AS +BEGIN + +Declare @idTipoControllo int + +set @idTipoControllo=10 + + SELECT @idTipoControllo as idtipocontrollo, + TANAB.RETE AS RETE, + VC.COD_FISCALE as codfis, + 'DTVALORIZZ non valida - Area: ' + + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END + ' Nome Progetto: ' + + ISNULL(CS.nomeProgetto, 'XXX') + ' - DTVALORIZZ: ' + + CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) + + ' - CTV_MONITORATO: ' + ltrim(rtrim(cast(WRENAB.CTV AS VARCHAR(20)))) + + ' - RISORSE_ASSOCIATE: ' + ltrim(rtrim(cast(WRENAB.CVN AS VARCHAR(20)))) + + ' - CEDOLE_DIV: ' + ltrim(rtrim(cast((TANAB.TOT_CED + TANAB.TOT_DIV) AS VARCHAR(20)))) + + ' - ChiaveProgetto: ' + cast(isnull(CM.ChiaveProgetto, '') as varchar(10)) as descerror + into #TbErrori + FROM C6STAGINGPERIODICO.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB + ON TANAB.CODPROG = WRENAB.CODPROG + AND TANAB.DTRIF = WRENAB.DTRIF + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON TANAB.CODPROG = CM.idmonitoraggio +-- INNER JOIN C6StagingPeriodico.RP_Consulenza CS +-- ON CM.chiaveprogetto = CS.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + + INNER JOIN C6stagingperiodico.appo_contratti_v VC + ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND TANAB.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE 1 = 1 + AND TANAB.DTFINE = '99991231' + AND ISDATE(WRENAB.DTVALORIZ) = 0 + + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,descerror,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo + +end + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab_pre_selective.sql new file mode 100644 index 00000000..fa359dd5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab_pre_selective.sql @@ -0,0 +1,96 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_DataValorizzazioneTRenab_pre_selective + + + + + + +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 17/09/2014 +-- Description: +-- TODO --- Da ottimizzare per Data Quality +-- ============================================= + +CREATE procedure [C6MartPeriodico].[SP_DQ_DataValorizzazioneTRenab_pre_selective] +@idFaseElaborazione int +AS +BEGIN + +Declare @idTipoControllo int + +set @idTipoControllo=10 + + SELECT @idTipoControllo as idtipocontrollo, + TANAB.RETE AS RETE, + VC.COD_FISCALE as codfis, + 'DTVALORIZZ non valida - Area: ' + + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END + ' Nome Progetto: ' + + ISNULL(CS.nomeProgetto, 'XXX') + ' - DTVALORIZZ: ' + + CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) + + ' - CTV_MONITORATO: ' + ltrim(rtrim(cast(WRENAB.CTV AS VARCHAR(20)))) + + ' - RISORSE_ASSOCIATE: ' + ltrim(rtrim(cast(WRENAB.CVN AS VARCHAR(20)))) + + ' - CEDOLE_DIV: ' + ltrim(rtrim(cast((TANAB.TOT_CED + TANAB.TOT_DIV) AS VARCHAR(20)))) + + ' - ChiaveProgetto: ' + cast(isnull(CM.ChiaveProgetto, '') as varchar(10)) as descerror + into #TbErrori + FROM C6STAGINGPERIODICO.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB + ON TANAB.CODPROG = WRENAB.CODPROG + AND TANAB.DTRIF = WRENAB.DTRIF + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON TANAB.CODPROG = CM.idmonitoraggio +-- INNER JOIN C6StagingPeriodico.RP_Consulenza CS +-- ON CM.chiaveprogetto = CS.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + + INNER JOIN C6stagingperiodico.appo_contratti VC + ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND TANAB.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE 1 = 1 + AND TANAB.DTFINE = '99991231' + AND ISDATE(WRENAB.DTVALORIZ) = 0 + + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,descerror,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo + +end + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DeleteSegnalazioni.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DeleteSegnalazioni.sql new file mode 100644 index 00000000..5cfda4d5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DeleteSegnalazioni.sql @@ -0,0 +1,65 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_DeleteSegnalazioni + + + + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Cancellazione Segnalazioni/Scarti su tabella DATA QUALITY +-- ============================================= + + + +CREATE procedure [C6MartPeriodico].[SP_DQ_DeleteSegnalazioni] +@idFaseElaborazione int +AS +BEGIN + + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'SP_DQ_DeleteSegnalazioni', + GETDATE(), + 'Elaborazione Trimestrale ' + ) + +if ( @idFaseElaborazione > 0 ) +begin + delete + from C6MartPeriodico.tb_SegnalazioniDataQuality + where idFaseElaborazione =@idFaseElaborazione +end +else + truncate table C6MartPeriodico.tb_SegnalazioniDataQuality + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SP_DQ_DeleteSegnalazioni' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'SP_DQ_DeleteSegnalazioni' + ) + + + + +end + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DeleteSegnalazioni_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DeleteSegnalazioni_pre_selective.sql new file mode 100644 index 00000000..81087c00 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DeleteSegnalazioni_pre_selective.sql @@ -0,0 +1,63 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_DeleteSegnalazioni_pre_selective + + + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Cancellazione Segnalazioni/Scarti su tabella DATA QUALITY +-- ============================================= + + + +CREATE procedure [C6MartPeriodico].[SP_DQ_DeleteSegnalazioni_pre_selective] +@idFaseElaborazione int +AS +BEGIN + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SP_DQ_DeleteSegnalazioni_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + +if ( @idFaseElaborazione > 0 ) +begin + delete + from C6MartPeriodico.tb_SegnalazioniDataQuality + where idFaseElaborazione =@idFaseElaborazione +end +else + truncate table C6MartPeriodico.tb_SegnalazioniDataQuality + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SP_DQ_DeleteSegnalazioni_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SP_DQ_DeleteSegnalazioni_pre_selective' + ) + + + + +end + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze.sql new file mode 100644 index 00000000..73195f82 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze.sql @@ -0,0 +1,58 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_DescCatalogoProdottiScadenze + + + + + + +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 17/09/2014 +-- Description: +-- TODO --- Da ottimizzare per Data Quality +-- ============================================= + +CREATE procedure [C6MartPeriodico].[SP_DQ_DescCatalogoProdottiScadenze] +@idFaseElaborazione int +AS +BEGIN + +Declare @idTipoControllo int + +set @idTipoControllo=11 + + SELECT @idTipoControllo idTipoControllo,RETE, COD_FISCALE as codfis + into #TbErrori + FROM [C6MartPeriodico].[SCADENZE] WHERE ISNULL(DesProd,'') ='' + + + + + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,descSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo + +end + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze_pre_selective.sql new file mode 100644 index 00000000..3fdd1fa9 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze_pre_selective.sql @@ -0,0 +1,58 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_DescCatalogoProdottiScadenze_pre_selective + + + + + + +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 17/09/2014 +-- Description: +-- TODO --- Da ottimizzare per Data Quality +-- ============================================= + +CREATE procedure [C6MartPeriodico].[SP_DQ_DescCatalogoProdottiScadenze_pre_selective] +@idFaseElaborazione int +AS +BEGIN + +Declare @idTipoControllo int + +set @idTipoControllo=11 + + SELECT @idTipoControllo idTipoControllo,RETE, COD_FISCALE as codfis + into #TbErrori + FROM [C6MartPeriodico].[SCADENZE] WHERE ISNULL(DesProd,'') ='' + + + + + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,descSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo + +end + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DescProdottoProventi.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DescProdottoProventi.sql new file mode 100644 index 00000000..cc87172a --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DescProdottoProventi.sql @@ -0,0 +1,68 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_DescProdottoProventi + + + + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo Descrizione Prodotto ( DescProd ) sulla tabella +-- C6MartPeriodico.PROVENTI +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= + + + +CREATE procedure [C6MartPeriodico].[SP_DQ_DescProdottoProventi] +@idFaseElaborazione int +AS +BEGIN + + + +Declare @idTipoControllo int + +set @idTipoControllo=2 + + +SELECT a.RETE, a.COD_FISCALE,@idTipoControllo idtipocontrollo +into #TbErrori +FROM [C6MartPeriodico].[PROVENTI] a + INNER JOIN c6stagingperiodico.appo_contratti_v b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and b.tip_contratto=2 +WHERE ISNULL(a.DesProd,'') ='' +group by a.RETE, a.COD_FISCALE + + + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + + + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,COD_FISCALE,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo + + +end + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DescProdottoProventi_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DescProdottoProventi_pre_selective.sql new file mode 100644 index 00000000..bc9b9de6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_DescProdottoProventi_pre_selective.sql @@ -0,0 +1,68 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_DescProdottoProventi_pre_selective + + + + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo Descrizione Prodotto ( DescProd ) sulla tabella +-- C6MartPeriodico.PROVENTI +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= + + + +CREATE procedure [C6MartPeriodico].[SP_DQ_DescProdottoProventi_pre_selective] +@idFaseElaborazione int +AS +BEGIN + + + +Declare @idTipoControllo int + +set @idTipoControllo=2 + + +SELECT a.RETE, a.COD_FISCALE,@idTipoControllo idtipocontrollo +into #TbErrori +FROM [C6MartPeriodico].[PROVENTI] a + INNER JOIN c6stagingperiodico.appo_contratti b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and b.tip_contratto=2 +WHERE ISNULL(a.DesProd,'') ='' +group by a.RETE, a.COD_FISCALE + + + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + + + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,COD_FISCALE,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo + + +end + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_PiramideAreeDuplicate.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_PiramideAreeDuplicate.sql new file mode 100644 index 00000000..c9e5df7c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_PiramideAreeDuplicate.sql @@ -0,0 +1,103 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_PiramideAreeDuplicate + + + + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano nella piramide modello una o pi +-- aree/progetti duplicati +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= + + + +CREATE procedure [C6MartPeriodico].[SP_DQ_PiramideAreeDuplicate] +@idFaseElaborazione int +AS +BEGIN + + + +Declare @idTipoControllo int + +set @idTipoControllo=6 + + + + +SELECT DISTINCT + d.rete, + case when(isnull(ltrim(rtrim(codman)),'') <> '') then 'FF@'+codman + when (isnull(codfis,'') <> '') then codfis + else c.piva + end as Codicefiscale, + @idTipoControllo idtipocontrollo + into #TbErrori + FROM [CONSUNI_PERIODICO].[consulenzaunica].dbo.Contratto a + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.ClientePB b + ON b.chiaveClientePB = a.chiaveClientePB + AND a.status in ('SEI','AVANZATOBASE','REVOCASEI') + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.Cliente c + ON b.chiaveCliente = c.chiaveCliente + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.PromotoreBancario d + ON b.chiavePB = d.chiavePB + WHERE + A.chiaveclientepb in ( + select distinct chiaveclientepb + FROM + ( + --SELECT chiaveclientepb,area,tipoprogetto,COUNT(*) as c FROM + --[CONSUNI_PERIODICO].[consulenzaunica].dbo.ProgettiPiramideModello + --where tipoprogetto =0 and area <> 'na' and isnull(dtFineValidita,'99991231')>GETDATE() + --group by chiaveclientepb,area,tipoprogetto + --having COUNT(*)<>1 + + SELECT chiaveclientepb,area,COUNT(*) as c + FROM [CONSUNI_PERIODICO].consulenzaunica.dbo.piramidemodello pirmod + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.areamodello areamod + on pirmod.chiavePiramideMod = areamod.chiaveAreaMod + inner join [CONSUNI_PERIODICO].[consulenzaunica].dbo.ProgettiPiramideModello progmod + on progmod.chiaveAreaMod = areamod.chiaveAreaMod + where area <> 'na' + group by chiaveclientepb,area + having COUNT(*)<>1 + + ) t + ) + + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +--select * from c6martperiodico.tb_tipocontrollo + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,tbErr.rete,Codicefiscale,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +inner join c6stagingperiodico.appo_contratti_v Contr +on tbErr.rete = contr.rete +and tbErr.CodiceFiscale = contr.cod_fiscale + + +end + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_PiramideAreeDuplicate_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_PiramideAreeDuplicate_pre_selective.sql new file mode 100644 index 00000000..40c91a21 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_PiramideAreeDuplicate_pre_selective.sql @@ -0,0 +1,103 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_PiramideAreeDuplicate_pre_selective + + + + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano nella piramide modello una o pi +-- aree/progetti duplicati +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= + + + +CREATE procedure [C6MartPeriodico].[SP_DQ_PiramideAreeDuplicate_pre_selective] +@idFaseElaborazione int +AS +BEGIN + + + +Declare @idTipoControllo int + +set @idTipoControllo=6 + + + + +SELECT DISTINCT + d.rete, + case when(isnull(ltrim(rtrim(codman)),'') <> '') then 'FF@'+codman + when (isnull(codfis,'') <> '') then codfis + else c.piva + end as Codicefiscale, + @idTipoControllo idtipocontrollo + into #TbErrori + FROM [CONSUNI_PERIODICO].[consulenzaunica].dbo.Contratto a + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.ClientePB b + ON b.chiaveClientePB = a.chiaveClientePB + AND a.status in ('SEI','AVANZATOBASE','REVOCASEI') + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.Cliente c + ON b.chiaveCliente = c.chiaveCliente + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.PromotoreBancario d + ON b.chiavePB = d.chiavePB + WHERE + A.chiaveclientepb in ( + select distinct chiaveclientepb + FROM + ( + --SELECT chiaveclientepb,area,tipoprogetto,COUNT(*) as c FROM + --[CONSUNI_PERIODICO].[consulenzaunica].dbo.ProgettiPiramideModello + --where tipoprogetto =0 and area <> 'na' and isnull(dtFineValidita,'99991231')>GETDATE() + --group by chiaveclientepb,area,tipoprogetto + --having COUNT(*)<>1 + + SELECT chiaveclientepb,area,COUNT(*) as c + FROM [CONSUNI_PERIODICO].consulenzaunica.dbo.piramidemodello pirmod + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.areamodello areamod + on pirmod.chiavePiramideMod = areamod.chiaveAreaMod + inner join [CONSUNI_PERIODICO].[consulenzaunica].dbo.ProgettiPiramideModello progmod + on progmod.chiaveAreaMod = areamod.chiaveAreaMod + where area <> 'na' + group by chiaveclientepb,area + having COUNT(*)<>1 + + ) t + ) + + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +--select * from c6martperiodico.tb_tipocontrollo + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,tbErr.rete,Codicefiscale,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +inner join c6stagingperiodico.appo_contratti Contr +on tbErr.rete = contr.rete +and tbErr.CodiceFiscale = contr.cod_fiscale + + +end + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_PositionID.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_PositionID.sql new file mode 100644 index 00000000..04a841e1 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_PositionID.sql @@ -0,0 +1,62 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_PositionID + + + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo POSITION ID sulla tabella +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= + + + +CREATE procedure [C6MartPeriodico].[SP_DQ_PositionID] +@idFaseElaborazione int +AS +BEGIN + + + +Declare @idTipoControllo int + +set @idTipoControllo=1 + + +SELECT RETE, codfis,@idTipoControllo idtipocontrollo +into #TbErrori +FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE ISNULL(POSITIONID,'') ='' +GROUP BY RETE, codfis + + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +--select * from c6martperiodico.tb_tipocontrollo + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo + + +end + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_PositionIDConsulenza.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_PositionIDConsulenza.sql new file mode 100644 index 00000000..7aec249a --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_PositionIDConsulenza.sql @@ -0,0 +1,61 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_PositionIDConsulenza + + + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo POSITION ID sulla tabella +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= + + + +CREATE procedure [C6MartPeriodico].[SP_DQ_PositionIDConsulenza] +@idFaseElaborazione int +AS +BEGIN + + + +Declare @idTipoControllo int + +set @idTipoControllo=12 + + +SELECT RETE, cod_fiscale codfis,@idTipoControllo idtipocontrollo +into #TbErrori +FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') = '' +GROUP BY RETE, cod_fiscale + + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +--select * from c6martperiodico.tb_tipocontrollo + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo + +end + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_PositionIDConsulenza_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_PositionIDConsulenza_pre_selective.sql new file mode 100644 index 00000000..7a7ece3d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_PositionIDConsulenza_pre_selective.sql @@ -0,0 +1,61 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_PositionIDConsulenza_pre_selective + + + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo POSITION ID sulla tabella +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= + + + +CREATE procedure [C6MartPeriodico].[SP_DQ_PositionIDConsulenza_pre_selective] +@idFaseElaborazione int +AS +BEGIN + + + +Declare @idTipoControllo int + +set @idTipoControllo=12 + + +SELECT RETE, cod_fiscale codfis,@idTipoControllo idtipocontrollo +into #TbErrori +FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') = '' +GROUP BY RETE, cod_fiscale + + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +--select * from c6martperiodico.tb_tipocontrollo + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo + +end + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_PositionID_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_PositionID_pre_selective.sql new file mode 100644 index 00000000..8dc4604e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_PositionID_pre_selective.sql @@ -0,0 +1,62 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_PositionID_pre_selective + + + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo POSITION ID sulla tabella +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= + + + +CREATE procedure [C6MartPeriodico].[SP_DQ_PositionID_pre_selective] +@idFaseElaborazione int +AS +BEGIN + + + +Declare @idTipoControllo int + +set @idTipoControllo=1 + + +SELECT RETE, codfis,@idTipoControllo idtipocontrollo +into #TbErrori +FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE ISNULL(POSITIONID,'') ='' +GROUP BY RETE, codfis + + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +--select * from c6martperiodico.tb_tipocontrollo + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo + + +end + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_PosizioniDuplicate.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_PosizioniDuplicate.sql new file mode 100644 index 00000000..2038cf32 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_PosizioniDuplicate.sql @@ -0,0 +1,123 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_PosizioniDuplicate + + + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano una o pi posizioni duplicate +-- nel proprio patrimonio finanziario +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +-- ATTENZIONE !!! +-- La SP che carica la Patrimonio BF effettua un controllo dopo una prima elaborazione e scarta +-- i record "duplicati". Riporto la query di INPUT per poter effetturare il test e lo scarto + + +CREATE procedure [C6MartPeriodico].[SP_DQ_PosizioniDuplicate] +@idFaseElaborazione int +AS +BEGIN + + + +Declare @idTipoControllo int + +set @idTipoControllo=4 + +-- Selezione in Tabella Temporanea Verifica_CAMPIONE dei record "doppi" + +SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + + CON.chiaveClientePB, + +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo +--*************************************** + INTO #Verifica_CAMPIONE +--************************* diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_ProgettoDuplicatoArea.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_ProgettoDuplicatoArea.sql new file mode 100644 index 00000000..ad36b4d5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_ProgettoDuplicatoArea.sql @@ -0,0 +1,70 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_ProgettoDuplicatoArea + + + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Record Aventi per Ordinamento Progetto Aree Duplicate + +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= + + + +CREATE procedure [C6MartPeriodico].[SP_DQ_ProgettoDuplicatoArea] +@idFaseElaborazione int +AS +BEGIN + + + + +Declare @idTipoControllo int + +set @idTipoControllo=5 + + +select distinct a.rete, a.cod_fiscale,@idTipoControllo idtipocontrollo +into #TbErrori +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto + + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +--select * from c6martperiodico.tb_tipocontrollo + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,COD_FISCALE,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo + + +end + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_ScartiAPI.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_ScartiAPI.sql new file mode 100644 index 00000000..d17988c6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_ScartiAPI.sql @@ -0,0 +1,67 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_ScartiAPI + + + + + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano in Anagrafica caratteri anomali nei campi che formano lindirizzo di +-- domiciliazione del contratto di consulenza +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= + + +-- [C6MartPeriodico].[SP_DQ_CaratteriAnomali] 2 +CREATE procedure [C6MartPeriodico].[SP_DQ_ScartiAPI] +@idFaseElaborazione int +AS +BEGIN + + + +Declare @idTipoControllo int + + +set @idTipoControllo=16 + + +--select * from C6MartPeriodico.TB_SegnalazioniDataQuality where idTipoControllo=16 + + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +--select * from c6martperiodico.tb_tipocontrollo + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select @idTipoControllo,rete,case when codman<>'' then 'FF@'+codman + when piva<>'' then piva +else codfis end as codicefiscale, +tipo.descSegnalazione+ ' IGNORA L''ERRORE verra recuperato al giro successivo automaticamente' ,@idelab,'',@idFaseElaborazione +from C6StagingPeriodico.TRIMESTRALE_SCARTI tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on @idTipoControllo = tipo.idTipoControllo +where BLACKLIST='in errore API Sei' + +end + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_ScriviDisallineati.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_ScriviDisallineati.sql new file mode 100644 index 00000000..a6b4f952 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_ScriviDisallineati.sql @@ -0,0 +1,74 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_ScriviDisallineati + + + + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano un disallineamento tra limporto associato ad una determinata +-- area di bisogno e leventuale importo che risulta nei dati di Monitoraggio per la medesima Area di Bisogno +-- (per ogni cliente si prevede linserimento di un record di segnalazione per ciascuna area di bisogno che risulta +-- disallineata con lindicazione, nel campo descrizione, dellarea a cui si riferisce il disallineamento) +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= + +CREATE procedure [C6MartPeriodico].[SP_DQ_ScriviDisallineati] +@idFaseElaborazione int +AS +BEGIN + +--drop table #tab_temp + +--drop table #TbErrori + +Declare @idTipoControllo int + +set @idTipoControllo=9 + + +select *,@idTipoControllo idTipoControllo + into #TbErrori +from dbo.disallineati2 + +--INIZIO Forzatura Trimestre 1 trimestre 2015 +--where cod_fiscale <> 'MTTMRT38A04H407S' +--FINE Forzatura Trimestre 1 trimestre 2015 + + + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +--select * from c6martperiodico.tb_tipocontrollo + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale, +Replace(Replace(replace(DescSegnalazione,'area$',tbErr.mon_area),'ctv$',tbErr.CTV_MONIT),'delta$',tbErr.delta) +,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo + + +end + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_ScriviDisallineati_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_ScriviDisallineati_pre_selective.sql new file mode 100644 index 00000000..387369c8 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_ScriviDisallineati_pre_selective.sql @@ -0,0 +1,74 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_ScriviDisallineati_pre_selective + + + + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano un disallineamento tra limporto associato ad una determinata +-- area di bisogno e leventuale importo che risulta nei dati di Monitoraggio per la medesima Area di Bisogno +-- (per ogni cliente si prevede linserimento di un record di segnalazione per ciascuna area di bisogno che risulta +-- disallineata con lindicazione, nel campo descrizione, dellarea a cui si riferisce il disallineamento) +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= + +CREATE procedure [C6MartPeriodico].[SP_DQ_ScriviDisallineati_pre_selective] +@idFaseElaborazione int +AS +BEGIN + +--drop table #tab_temp + +--drop table #TbErrori + +Declare @idTipoControllo int + +set @idTipoControllo=9 + + +select *,@idTipoControllo idTipoControllo + into #TbErrori +from dbo.disallineati2 + +--INIZIO Forzatura Trimestre 1 trimestre 2015 +--where cod_fiscale <> 'MTTMRT38A04H407S' +--FINE Forzatura Trimestre 1 trimestre 2015 + + + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +--select * from c6martperiodico.tb_tipocontrollo + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale, +Replace(Replace(replace(DescSegnalazione,'area$',tbErr.mon_area),'ctv$',tbErr.CTV_MONIT),'delta$',tbErr.delta) +,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo + + +end + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_SelezioneDisallineati.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_SelezioneDisallineati.sql new file mode 100644 index 00000000..b4666d2f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_SelezioneDisallineati.sql @@ -0,0 +1,171 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_SelezioneDisallineati + + + + + + +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 17/09/2014 +-- Description: Copia della SP [C6MartPeriodico].[SRV_LISTA_DISALLINEAMENTI_MONIT] +-- TODO --- Da ottimizzare per Data Quality +-- ============================================= + +CREATE procedure [C6MartPeriodico].[SP_DQ_SelezioneDisallineati] + +AS +BEGIN + + + +SELECT +RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4) AS ID_AREA, +isnull(ORDINAMENTO_PROGETTO,0) as ordinamento_progetto, +SUM(CTV) AS SUM_CTV +INTO #TEMP_PATRIMONIO_BF_AGGR +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE ID_AREA NOT IN ('CC','NA') +AND REND_NON_RAPPR=0 +GROUP BY RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4), +isnull(ORDINAMENTO_PROGETTO,0) + + +--SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +--WHERE CODFIS IN +--(SELECT DISTINCT COD_FISCALE FROM #TEMP_PATRIMONIO_BF_AGGR) + +SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +WHERE CODFIS IN +-- Modifica del 28/4/2017 per staging e mart selective + -- (select cod_fiscale from c6stagingperiodico.appo_contratti) + (select cod_fiscale from c6stagingperiodico.appo_contratti_v) +-- Fine modifica del 28/4/2017 per staging e mart selective + + +SELECT * +FROM +( +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO as bf_ordprorg, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog as mon_codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +AND S.chiaveprogetto=isnull(P.ORDINAMENTO_PROGETTO,0) +AND M.CODPROG = S.idmonitoraggio +and id_area ='Inv' + +union all + +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +and id_area <>'Inv' + +union all + +-------------------------------------------- +-- SOLO MONITORAGGIO +-------------------------------------------- + +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +--#TEMP_PATRIMONIO_BF_AGGR P +(select T.*,S.idmonitoraggio from +#TEMP_PATRIMONIO_BF_AGGR T +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +where S.chiaveprogetto=isnull(T.ORDINAMENTO_PROGETTO,0) +)P +on +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND M.CODPROG = P.idmonitoraggio +AND DTFINE ='99991231' +where +m.ctv > 0 +and p.cod_fiscale is null +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +--and id_area ='Inv' +and m.codarea ='Inv' + +union all + +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +p.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +#TEMP_PATRIMONIO_BF_AGGR P +on +M.RETE = P.RETE +--AND M.CODFIS = P.COD_FISCALE +AND case when len(m.CODFIS) =4 then 'FF@'+m.codfis else m.codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +where +DTFINE ='99991231' +and m.ctv > 0 +and p.cod_fiscale is null +and codarea <>'Inv' +) k +order by 2,1 + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_SelezioneDisallineati_pre_selective_luca.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_SelezioneDisallineati_pre_selective_luca.sql new file mode 100644 index 00000000..c445a6ad --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_SelezioneDisallineati_pre_selective_luca.sql @@ -0,0 +1,178 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_SelezioneDisallineati_pre_selective_luca + + + + + + +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 17/09/2014 +-- Description: Copia della SP [C6MartPeriodico].[SRV_LISTA_DISALLINEAMENTI_MONIT] +-- TODO --- Da ottimizzare per Data Quality +-- ============================================= + +CREATE procedure [C6MartPeriodico].[SP_DQ_SelezioneDisallineati_pre_selective_luca] + +AS +BEGIN + + + +SELECT +RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4) AS ID_AREA, +isnull(ORDINAMENTO_PROGETTO,0) as ordinamento_progetto, +SUM(CTV) AS SUM_CTV +INTO #TEMP_PATRIMONIO_BF_AGGR +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE ID_AREA NOT IN ('CC','NA') +AND REND_NON_RAPPR=0 +GROUP BY RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4), +isnull(ORDINAMENTO_PROGETTO,0) + + +--SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +--WHERE CODFIS IN +--(SELECT DISTINCT COD_FISCALE FROM #TEMP_PATRIMONIO_BF_AGGR) + +SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +WHERE CODFIS IN +(select cod_fiscale from c6stagingperiodico.appo_contratti) + + +SELECT * +FROM +( +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO as bf_ordprorg, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog as mon_codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +AND S.chiaveprogetto=isnull(P.ORDINAMENTO_PROGETTO,0) +AND M.CODPROG = S.idmonitoraggio +and id_area ='Inv' + +union all + +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +and id_area <>'Inv' + +union all + +-------------------------------------------- +-- SOLO MONITORAGGIO +-------------------------------------------- + +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +--#TEMP_PATRIMONIO_BF_AGGR P +(select T.*,S.idmonitoraggio from +#TEMP_PATRIMONIO_BF_AGGR T +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +where S.chiaveprogetto=isnull(T.ORDINAMENTO_PROGETTO,0) +)P +on +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND M.CODPROG = P.idmonitoraggio +AND DTFINE ='99991231' +where +m.ctv > 0 +and p.cod_fiscale is null +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +--and id_area ='Inv' +and m.codarea ='Inv' + +union all + +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +p.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +#TEMP_PATRIMONIO_BF_AGGR P +on +M.RETE = P.RETE +--AND M.CODFIS = P.COD_FISCALE +AND case when len(m.CODFIS) =4 then 'FF@'+m.codfis else m.codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +where +DTFINE ='99991231' +and m.ctv > 0 +and p.cod_fiscale is null +and codarea <>'Inv' +) k +order by 2,1 + + + +end + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_VerificaDisallineati.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_VerificaDisallineati.sql new file mode 100644 index 00000000..ea496a7b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_VerificaDisallineati.sql @@ -0,0 +1,84 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_VerificaDisallineati + + + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano un disallineamento tra limporto associato ad una determinata +-- area di bisogno e leventuale importo che risulta nei dati di Monitoraggio per la medesima Area di Bisogno +-- (per ogni cliente si prevede linserimento di un record di segnalazione per ciascuna area di bisogno che risulta +-- disallineata con lindicazione, nel campo descrizione, dellarea a cui si riferisce il disallineamento) +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= + + + +CREATE procedure [C6MartPeriodico].[SP_DQ_VerificaDisallineati] +@idFaseElaborazione int +AS +BEGIN + +--drop table #tab_temp + +--drop table #TbErrori + +Declare @idTipoControllo int + +set @idTipoControllo=9 + + + +CREATE TABLE #tab_temp( + [Rete] varchar(1) NOT NULL, + [Cod_Fiscale] varchar(16) NOT NULL, + id_Area varchar(10) NULL, + mon_area varchar(10) NULL, + bf_ordprorg int NULL, + CTV_MONIT decimal(12,2) NULL, + SUM_CTV decimal(12,2) NULL, + delta decimal(12,2) null, + CodProg int) + + +insert into #tab_temp +exec [C6MartPeriodico].[SP_DQ_SelezioneDisallineati] + +select *,@idTipoControllo idTipoControllo + into #TbErrori +from #tab_temp + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +--select * from c6martperiodico.tb_tipocontrollo + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale, +Replace(Replace(replace(DescSegnalazione,'area$',tbErr.mon_area),'ctv$',tbErr.CTV_MONIT),'delta$',tbErr.delta) +,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo + + +end + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_VerificaDisallineati_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_VerificaDisallineati_pre_selective.sql new file mode 100644 index 00000000..c812e8b1 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_VerificaDisallineati_pre_selective.sql @@ -0,0 +1,84 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_VerificaDisallineati_pre_selective + + + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano un disallineamento tra limporto associato ad una determinata +-- area di bisogno e leventuale importo che risulta nei dati di Monitoraggio per la medesima Area di Bisogno +-- (per ogni cliente si prevede linserimento di un record di segnalazione per ciascuna area di bisogno che risulta +-- disallineata con lindicazione, nel campo descrizione, dellarea a cui si riferisce il disallineamento) +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= + + + +CREATE procedure [C6MartPeriodico].[SP_DQ_VerificaDisallineati_pre_selective] +@idFaseElaborazione int +AS +BEGIN + +--drop table #tab_temp + +--drop table #TbErrori + +Declare @idTipoControllo int + +set @idTipoControllo=9 + + + +CREATE TABLE #tab_temp( + [Rete] varchar(1) NOT NULL, + [Cod_Fiscale] varchar(16) NOT NULL, + id_Area varchar(10) NULL, + mon_area varchar(10) NULL, + bf_ordprorg int NULL, + CTV_MONIT decimal(12,2) NULL, + SUM_CTV decimal(12,2) NULL, + delta decimal(12,2) null, + CodProg int) + + +insert into #tab_temp +exec [C6MartPeriodico].[SP_DQ_SelezioneDisallineati] + +select *,@idTipoControllo idTipoControllo + into #TbErrori +from #tab_temp + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +--select * from c6martperiodico.tb_tipocontrollo + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale, +Replace(Replace(replace(DescSegnalazione,'area$',tbErr.mon_area),'ctv$',tbErr.CTV_MONIT),'delta$',tbErr.delta) +,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo + + +end + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_VerificaEmail.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_VerificaEmail.sql new file mode 100644 index 00000000..d57ff45d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_VerificaEmail.sql @@ -0,0 +1,69 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_VerificaEmail + + + + + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano in Anagrafica un indirizzo email +-- formalmente errato +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= + + + +CREATE procedure [C6MartPeriodico].[SP_DQ_VerificaEmail] +@idFaseElaborazione int +AS +BEGIN + + + +Declare @idTipoControllo int + +set @idTipoControllo=8 + + + + + + +SELECT RETE, cod_fiscale,@idTipoControllo idtipocontrollo +into #TbErrori +from c6martperiodico.contrattosei +where dbo.RegExIsMatch('^([\w\-\+\.]+)@([\w\-\+\.]+).([\w\-\+\.]+)$',isNull(email,'aa@aa.it'),0) = 0 +and email <> '' -- 10/10/2016 Aggiunta questa condizione per gestire i campi email a '' + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +--select * from c6martperiodico.tb_tipocontrollo + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo + + +end + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_VerificaEmail_20161010.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_VerificaEmail_20161010.sql new file mode 100644 index 00000000..496dea66 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_VerificaEmail_20161010.sql @@ -0,0 +1,69 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_VerificaEmail_20161010 + + + + + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano in Anagrafica un indirizzo email +-- formalmente errato +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= + + + +CREATE procedure [C6MartPeriodico].[SP_DQ_VerificaEmail_20161010] +@idFaseElaborazione int +AS +BEGIN + + + +Declare @idTipoControllo int + +set @idTipoControllo=8 + + + + + + +SELECT RETE, cod_fiscale,@idTipoControllo idtipocontrollo +into #TbErrori +from c6martperiodico.contrattosei +where dbo.RegExIsMatch('^([\w\-\+\.]+)@([\w\-\+\.]+).([\w\-\+\.]+)$',isNull(email,'aa@aa.it'),0) = 0 + + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +--select * from c6martperiodico.tb_tipocontrollo + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo + + +end + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_DQ_VerificaEmail_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_VerificaEmail_pre_selective.sql new file mode 100644 index 00000000..a8ab2e5a --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_DQ_VerificaEmail_pre_selective.sql @@ -0,0 +1,69 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_DQ_VerificaEmail_pre_selective + + + + + + +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano in Anagrafica un indirizzo email +-- formalmente errato +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= + + + +CREATE procedure [C6MartPeriodico].[SP_DQ_VerificaEmail_pre_selective] +@idFaseElaborazione int +AS +BEGIN + + + +Declare @idTipoControllo int + +set @idTipoControllo=8 + + + + + + +SELECT RETE, cod_fiscale,@idTipoControllo idtipocontrollo +into #TbErrori +from c6martperiodico.contrattosei +where dbo.RegExIsMatch('^([\w\-\+\.]+)@([\w\-\+\.]+).([\w\-\+\.]+)$',isNull(email,'aa@aa.it'),0) = 0 +and email <> '' -- 10/10/2016 Aggiunta questa condizione per gestire i campi email a '' + +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni + +--select * from c6martperiodico.tb_tipocontrollo + +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo + + +end + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_Patrimonio_BF_Percentuale_Piramide.sql b/sql/storedCollaudo/C6MartPeriodico_SP_Patrimonio_BF_Percentuale_Piramide.sql new file mode 100644 index 00000000..4904a276 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_Patrimonio_BF_Percentuale_Piramide.sql @@ -0,0 +1,91 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_Patrimonio_BF_Percentuale_Piramide + + + + + + + + + +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_Patrimonio_BF_Percentuale_Piramide] +-- Add the parameters for the stored procedure here + + +AS +BEGIN +drop table if exists #liq +drop table if exists #ris +drop table if exists #pre +drop table if exists #inv +drop table if exists #ext +drop table if exists [C6MartPeriodico].[TB_Patrimonio_BF_Percentuale_Piramide] + + SELECT pmod.rete,pmod.COD_FISCALE,isnull(sum(pmod.Perc_Area),0.00) as PERC_LIQ + into #liq + FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] pmod + inner join [C6StampeCentralizzate].[C6MartPeriodico].Area_Bisogno ar on pmod.id_area=ar.Id_area + where pmod.rete+pmod.COD_FISCALE in (select distinct b.RETE+b.COD_FISCALE from C6MartPeriodico.PATRIMONIO_BF b) + and ar.Id_area in ('Liq') + group by pmod.RETE,pmod.COD_FISCALE + + SELECT pmod.rete,pmod.COD_FISCALE,isnull(sum(pmod.Perc_Area),0.00) as PERC_RIS + into #ris + FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] pmod + inner join [C6StampeCentralizzate].[C6MartPeriodico].Area_Bisogno ar on pmod.id_area=ar.Id_area + where pmod.rete+pmod.COD_FISCALE in (select distinct RETE+COD_FISCALE from C6MartPeriodico.PATRIMONIO_BF) + and ar.Id_area in ('Ris') + group by pmod.RETE,pmod.COD_FISCALE + + SELECT pmod.rete,pmod.COD_FISCALE,isnull(sum(pmod.Perc_Area),0.00) as PERC_PRE + into #pre + FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] pmod + inner join [C6StampeCentralizzate].[C6MartPeriodico].Area_Bisogno ar on pmod.id_area=ar.Id_area + where pmod.rete+pmod.COD_FISCALE in (select distinct RETE+COD_FISCALE from C6MartPeriodico.PATRIMONIO_BF) + and ar.Id_area in ('Pre') + group by pmod.RETE,pmod.COD_FISCALE + + SELECT pmod.rete,pmod.COD_FISCALE,isnull(sum(pmod.Perc_Area),0.00) as PERC_INV + into #inv + FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] pmod + inner join [C6StampeCentralizzate].[C6MartPeriodico].Area_Bisogno ar on pmod.id_area=ar.Id_area + where pmod.rete+pmod.COD_FISCALE in (select distinct RETE+COD_FISCALE from C6MartPeriodico.PATRIMONIO_BF) + and ar.Id_area in ('Inv') + group by pmod.RETE,pmod.COD_FISCALE + + SELECT pmod.rete,pmod.COD_FISCALE,isnull(sum(pmod.Perc_Area),0.000) as PERC_EXT + into #ext + FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] pmod + inner join [C6StampeCentralizzate].[C6MartPeriodico].Area_Bisogno ar on pmod.id_area=ar.Id_area + where pmod.rete+pmod.COD_FISCALE in (select distinct RETE+COD_FISCALE from C6MartPeriodico.PATRIMONIO_BF) + and ar.Id_area in ('Ext') + group by pmod.RETE,pmod.COD_FISCALE + + select e.rete,e.cod_fiscale,e.PERC_EXT,i.PERC_INV,p.PERC_PRE,r.PERC_RIS,l.PERC_LIQ + into [C6MartPeriodico].[TB_Patrimonio_BF_Percentuale_Piramide] + from + #ext e inner join #inv i on e.rete+e.COD_FISCALE=i.RETE+i.COD_FISCALE + inner join #pre p on e.rete+e.COD_FISCALE=p.RETE+p.COD_FISCALE + inner join #ris r on e.rete+e.COD_FISCALE=r.RETE+r.COD_FISCALE + inner join #liq l on e.rete+e.COD_FISCALE=l.RETE+l.COD_FISCALE + + --select * from [C6MartPeriodico].[TB_Patrimonio_BF_Percentuale_Piramide] + + + insert into [C6MartPeriodico].[TB_Patrimonio_BF_Percentuale_Piramide] + select distinct rete,cod_fiscale,0.00 as PERC_EXT,0.00 as PERC_INV,0.00 as PERC_PRE,0.00 as PERC_RIS, 0.00 as PERC_LIQ from C6MartPeriodico.PATRIMONIO_BF + except + select rete,cod_fiscale,0.00 as PERC_EXT,0.00 as PERC_INV,0.00 as PERC_PRE,0.00 as PERC_RIS, 0.00 as PERC_LIQ from #liq + + + + --select distinct rete,cod_fiscale from c6martperiodico.PATRIMONIO_BF +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip.sql b/sql/storedCollaudo/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip.sql new file mode 100644 index 00000000..82a28837 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip.sql @@ -0,0 +1,132 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_PreTotaliReportGenerazioneZip + + + + +--exec C6MartPeriodico.SP_PreTotaliReportGenerazioneZip 960, 1 + +CREATE procedure [C6MartPeriodico].[SP_PreTotaliReportGenerazioneZip] + @reportPerZip int, + @isLotto1 int = 0 +AS + + set nocount on + + create table #result ( + totReportGenerati int, + isUltimoZip int + ) + + declare @totReportGenerati int + declare @isUltimoZip int + + declare @KO int + set @KO = 0 + declare @err varchar(500) + set @err = '' + + --exec [C6MartPeriodico].[SP_TotaliReportGenerazioneZip] 960, 1 + + insert into #result exec [C6MartPeriodico].[SP_TotaliReportGenerazioneZip] @reportPerZip, @isLotto1 + + select @totReportGenerati = totReportGenerati, @isUltimoZip = isUltimoZip from #result + + if @isLotto1 = 1 + begin + if @isUltimoZip = 2 + begin + if (select count(*) from [C6MartPeriodico].WHITELIST_ZIP WHERE Pacchetto_Zip is null) = 0 + begin + set @KO = 1 + set @err = 'Nel primo lotto non c'' da fare il file Approval, ma la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato 2' + end + end + if @isUltimoZip = 1 + begin + if (select count(*) from [C6MartPeriodico].WHITELIST_ZIP WHERE Pacchetto_Zip is null) > 0 + begin + set @KO = 1 + set @err = 'Nel primo lotto c'' da fare il file Approval, ma la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato 1' + end + end + if @isUltimoZip not in (1, 2) + begin + set @KO = 1 + set @err = 'Nel primo lotto, la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato inconsistente ' + convert(varchar(10), @isUltimoZip) + end + end + else + begin + if @isUltimoZip <> 1 + begin + set @KO = 1 + set @err = 'Per il lotto successivo, la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato inconsistente ' + convert(varchar(10), @isUltimoZip) + end + end + + print '@isLotto1 = ' + convert(varchar(10), @isLotto1) + print '@isUltimoZip = ' + convert(varchar(10), @isUltimoZip) + print '@KO = ' + convert(varchar(10), @KO) + print '@err = ''' + @err + '''' + + if @KO = 0 + begin + + if @isUltimoZip in (1, 2) + begin + declare @num_stato_report_1 int + declare @num_elab_4 int + + select @num_stato_report_1 = COUNT(*) + from C6MartPeriodico.controllo_trimestrale + where stato_report in (1) --1 + + select @num_elab_4 = COUNT(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + where elab in(4) + + if @num_stato_report_1 <> @num_elab_4 + begin + set @KO = 1 + set @err = 'Controllare gli stati: Controllo_Trimestrale ha ' + convert(varchar(100), @num_stato_report_1) + ' report con stato_report = 1, Cruscotto_ContrattiSEI ha ' + convert(varchar(100), @num_elab_4) + ' con elab = 4' + end + end + end + + if @KO = 0 + begin + + print 'Controllo su tabella C6MartPeriodico.Gestione_Zip_FTP' + declare @maxIdElaborazione int + + select @maxIdElaborazione = max(FkIdElaborazioneZip) from [C6MartPeriodico].[gestione_zip_ftp] + + if( select count(*) + from ( + SELECT TOP (1) [id] + ,[nomefile] + ,[dataInvio] + ,[flagInvio] + ,[nomeCartella] + ,[ID_ELAB] + ,[DateCopyToSend] + ,[FKIDElaborazioneZIP] + FROM [C6MartPeriodico].[gestione_zip_ftp] + where + FkIdElaborazioneZip = @maxIdElaborazione + and + DateCopyToSend is null + order by 1 desc, 3 desc) a + ) > 0 + begin + set @KO = 1 + set @err = 'Situazione incongruente sulla tabella ''[C6MartPeriodico].[gestione_zip_ftp]''' + end + end + + if @KO = 0 + begin + print 'Controllo su tabella C6MartPeriodico.Elaborazioni_ZIP' + + --modifica del 17/10/2018 per gestire il caso in cui il file di approval stato inviato ma l'intero diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip_20181017.sql b/sql/storedCollaudo/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip_20181017.sql new file mode 100644 index 00000000..c8f84324 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip_20181017.sql @@ -0,0 +1,135 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_PreTotaliReportGenerazioneZip_20181017 + + + + +--exec C6MartPeriodico.SP_PreTotaliReportGenerazioneZip 960, 1 + +CREATE procedure [C6MartPeriodico].[SP_PreTotaliReportGenerazioneZip_20181017] + @reportPerZip int, + @isLotto1 int = 0 +AS + + set nocount on + + create table #result ( + totReportGenerati int, + isUltimoZip int + ) + + declare @totReportGenerati int + declare @isUltimoZip int + + declare @KO int + set @KO = 0 + declare @err varchar(500) + set @err = '' + + --exec [C6MartPeriodico].[SP_TotaliReportGenerazioneZip] 960, 1 + + insert into #result exec [C6MartPeriodico].[SP_TotaliReportGenerazioneZip] @reportPerZip, @isLotto1 + + select @totReportGenerati = totReportGenerati, @isUltimoZip = isUltimoZip from #result + + if @isLotto1 = 1 + begin + if @isUltimoZip = 2 + begin + if (select count(*) from [C6MartPeriodico].WHITELIST_ZIP WHERE Pacchetto_Zip is null) = 0 + begin + set @KO = 1 + set @err = 'Nel primo lotto non c'' da fare il file Approval, ma la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato 2' + end + end + if @isUltimoZip = 1 + begin + if (select count(*) from [C6MartPeriodico].WHITELIST_ZIP WHERE Pacchetto_Zip is null) > 0 + begin + set @KO = 1 + set @err = 'Nel primo lotto c'' da fare il file Approval, ma la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato 1' + end + end + if @isUltimoZip not in (1, 2) + begin + set @KO = 1 + set @err = 'Nel primo lotto, la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato inconsistente ' + convert(varchar(10), @isUltimoZip) + end + end + else + begin + if @isUltimoZip <> 1 + begin + set @KO = 1 + set @err = 'Per il lotto successivo, la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato inconsistente ' + convert(varchar(10), @isUltimoZip) + end + end + + print '@isLotto1 = ' + convert(varchar(10), @isLotto1) + print '@isUltimoZip = ' + convert(varchar(10), @isUltimoZip) + print '@KO = ' + convert(varchar(10), @KO) + print '@err = ''' + @err + '''' + + if @KO = 0 + begin + + if @isUltimoZip in (1, 2) + begin + declare @num_stato_report_1 int + declare @num_elab_4 int + + select @num_stato_report_1 = COUNT(*) + from C6MartPeriodico.controllo_trimestrale + where stato_report in (1) --1 + + select @num_elab_4 = COUNT(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + where elab in(4) + + if @num_stato_report_1 <> @num_elab_4 + begin + set @KO = 1 + set @err = 'Controllare gli stati: Controllo_Trimestrale ha ' + convert(varchar(100), @num_stato_report_1) + ' report con stato_report = 1, Cruscotto_ContrattiSEI ha ' + convert(varchar(100), @num_elab_4) + ' con elab = 4' + end + end + end + + if @KO = 0 + begin + + print 'Controllo su tabella C6MartPeriodico.Gestione_Zip_FTP' + declare @maxIdElaborazione int + + select @maxIdElaborazione = max(FkIdElaborazioneZip) from [C6MartPeriodico].[gestione_zip_ftp] + + if( select count(*) + from ( + SELECT TOP (1) [id] + ,[nomefile] + ,[dataInvio] + ,[flagInvio] + ,[nomeCartella] + ,[ID_ELAB] + ,[DateCopyToSend] + ,[FKIDElaborazioneZIP] + FROM [C6MartPeriodico].[gestione_zip_ftp] + where + FkIdElaborazioneZip = @maxIdElaborazione + and + DateCopyToSend is null + order by 1 desc, 3 desc) a + ) > 0 + begin + set @KO = 1 + set @err = 'Situazione incongruente sulla tabella ''[C6MartPeriodico].[gestione_zip_ftp]''' + end + end + + if @KO = 0 + begin + print 'Controllo su tabella C6MartPeriodico.Elaborazioni_ZIP' + + if( select count(*) + from ( + SELECT TOP (1) [IDElaborazioneZIP] + ,[D diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_TROVA_REPORT_DA_RIGENERARE.sql b/sql/storedCollaudo/C6MartPeriodico_SP_TROVA_REPORT_DA_RIGENERARE.sql new file mode 100644 index 00000000..227c68fc --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_TROVA_REPORT_DA_RIGENERARE.sql @@ -0,0 +1,34 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_TROVA_REPORT_DA_RIGENERARE + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +CREATE procedure [C6MartPeriodico].[SP_TROVA_REPORT_DA_RIGENERARE] + @Rete char(1), + @CodiceFiscale varchar(16), + @TipoReport varchar(1) +AS +BEGIN + + SELECT IDReport from C6MartPeriodico.GESTIONE_PDF_FTP + WHERE rete=@Rete + and codicefiscale=@CodiceFiscale + and TipoReport=@TipoReport + +END + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_TotaliReportGenerazioneZip.sql b/sql/storedCollaudo/C6MartPeriodico_SP_TotaliReportGenerazioneZip.sql new file mode 100644 index 00000000..e656b05b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_TotaliReportGenerazioneZip.sql @@ -0,0 +1,60 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_TotaliReportGenerazioneZip + + + + +--[C6MartPeriodico].[SP_TotaliReportGenerazioneZip] 960,1 +CREATE PROCEDURE [C6MartPeriodico].[SP_TotaliReportGenerazioneZip] +@reportPerZip int, @isLotto1 int = 0 +AS +BEGIN + +IF @isLotto1 = 1 and 0 < (select count(*) from [C6MartPeriodico].WHITELIST_ZIP WHERE Pacchetto_Zip is null) + + BEGIN + + select count(*) totReportGenerati, + 2 as isUltimoZip + from [C6MartPeriodico].WHITELIST_ZIP WHERE Pacchetto_Zip is null + + END + +ELSE + + BEGIN + + Declare @totReportDaGenerareCT int + Declare @totReportGenerati int + declare @totReportDaNonGenerareCCS int + + + if @reportPerZip = 0 + set @reportPerZip = 960 + + select @totReportGenerati =COUNT(*) + from C6MartPeriodico.controllo_trimestrale + where stato_report in (4) --1 + + select @totReportDaGenerareCT =COUNT(*) + from C6MartPeriodico.controllo_trimestrale + where stato_report in (1) --1 + + select @totReportDaNonGenerareCCS=COUNT(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + where elab in(4) + + --select @totReportGenerati,@totReportDaGenerareCT,@totReportDaNonGenerareCCS + + select @totReportGenerati totReportGenerati, + case when(@totReportDaGenerareCT - @totReportDaNonGenerareCCS) = 0 then + 1 + else + 0 + End as isUltimoZip + + END +End + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_Valorizza_Stati_semaforo_TRIM.sql b/sql/storedCollaudo/C6MartPeriodico_SP_Valorizza_Stati_semaforo_TRIM.sql new file mode 100644 index 00000000..b8becbab --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_Valorizza_Stati_semaforo_TRIM.sql @@ -0,0 +1,124 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_Valorizza_Stati_semaforo_TRIM + + + + + + + + + + + + +-- flag_stato=1 completato (verde) +-- flag_stato=2 in esecuzione (giallo) +-- flag_stato=3 non lavorato (rosso) + +--truncate table C6MartPeriodico.tab_semaforo + +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM quad_end,SEI + + --select * from C6MartPeriodico.tab_semaforo +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_Valorizza_Stati_semaforo_TRIM] @param1 varchar(20),@tipo varchar(20) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + declare + @intero int, + @trimestrale varchar(3), + @lotto_zero varchar(3), + @quadratura varchar(3), + @lotto varchar(3), + @congelamento varchar(3), + @sm1 varchar(3), + @position varchar(3), + @adeguatezza varchar(3), + @post_ade varchar(3), + @sm2 varchar(3), + @certificazione varchar(3), + @zipping varchar(3), + @approval varchar(3), + @invio varchar(3), + @postalizzazione varchar(3), + + --descrizioni + @desc_trimestrale varchar(256), + @desc_lotto_zero varchar(256), + @desc_quadratura varchar(256), + @desc_lotto varchar(256), + @desc_congelamento varchar(256), + @desc_sm1 varchar(256), + @desc_position varchar(256), + @desc_adeguatezza varchar(256), + @desc_post_ade varchar(256), + @desc_sm2 varchar(256), + @desc_certificazione varchar(256), + @desc_zipping varchar(256), + @desc_approval varchar(256), + @desc_invio varchar(256), + @desc_postalizzazione varchar(256) + + set @intero='0' + set @trimestrale='1' + set @lotto_zero='2' + set @quadratura='3' + set @lotto='2' + set @congelamento='4' + set @sm1='5' + set @position='6' + --set @adeguatezza='7' + --set @post_ade='8' + set @sm2='7' + set @certificazione='8' + set @zipping='9' + set @approval='10' + set @invio='11' + set @postalizzazione='12' + + set @desc_trimestrale='Rendicontazioni sugli investimenti per i clienti con contratto di consulenza "SEI". ' + set @lotto_zero='' + set @desc_quadratura='Fase di Quadratura per i clienti tra le varie fonti db.' + set @desc_lotto='Preparazione delle rendicontazioni in corso.' + set @desc_congelamento='Fase di congelamento per il database di marketing.' + set @desc_sm1='Preparazione ed elaborazione dati da Staging & Mart Fase 1.' + set @desc_position='Elaborazione Position Data ed Adeguatezza.' + --set @adeguatezza='7' + --set @post_ade='8' + set @desc_sm2='Preparazione ed elaborazione dati da Staging & Mart Fase 2.' + set @desc_certificazione='Certificazione sul campione dei PDF dei Clienti.' + set @desc_zipping='Fase di zip per l''invio dei report.' + set @desc_approval='Approvazione del lotto corrente.' + set @desc_invio='Invio dei file generati.' + set @desc_postalizzazione='Conferma di avvenuta postalizzazione dei PDF dei clienti.' + + + + --select * from C6MartPeriodico.tab_semaforo + + --inserimento + --select * from C6MartPeriodico.tab_semaforo + --insert into C6MartPeriodico.tab_semaforo values + --avvio_trimestre + + --update C6MartPeriodico.tab_semaforo + --set descrizione='Fase di congelamento per il database di marketing' + --from C6MartPeriodico.tab_semaforo + --where id_milestone=4 +if ((select COUNT(*) from C6MartPeriodico.tab_semaforo)=0) +begin +insert into C6MartPeriodico.tab_semaforo values +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@trimestrale,'TRIMESTRALE',@desc_trimestrale,'','',3,@intero,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@lotto_zero,'LOTTO 0','','','',3,@intero,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@quadratura,'QUADRATURA',@desc_quadratura,'','',3,@intero,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@lotto,'LOTTO'+' '+ cast(@intero+1 as varchar),@desc_lotto,'','',3,@intero+1,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@congelamento,'CONGELAMEN diff --git a/sql/storedCollaudo/C6MartPeriodico_SP_statistiche_app_rendicontazione.sql b/sql/storedCollaudo/C6MartPeriodico_SP_statistiche_app_rendicontazione.sql new file mode 100644 index 00000000..7740068e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SP_statistiche_app_rendicontazione.sql @@ -0,0 +1,94 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SP_statistiche_app_rendicontazione + + + + + + + + + + + +--select * from dbo.w6trcli where [Freq_ Diagnosi]='S' + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_statistiche_app_rendicontazione] +as +begin +declare + +--NUMERI +@nr_clientiinperimetro int, +@nr_clientiRFA0 int, +@nr_clientiRFAMinus int, +@nr_clientiProfiloScaduto int, +@nr_clientiBlacklist int, +@nr_clientiinviati int, +@nr_clientidainviare int, +@nr_letteraSostitutiva int, +@nr_clientiImmobiliari int, +@nr_clientiInPerimentroSenzaImmobiliare int, +@nr_Blacklistdiversi int, +@nr_soloClientiImmobiliari int, +@nr_diagnosi int, +@nr_clientirendicontati int, +@nr_lotto1 int, +@nr_lotto2 int, +@nr_lotto3 int, +@nr_lotto4 int, +@nr_lotto5 int, +@nr_lotto6 int, +@nr_lotto7 int, +@nr_lotto8 int, +@nr_lotto9 int, +@nr_lotto10 int, +@nr_clientiinviati_IMM int, +@nr_clientidainviare_IMM int, +@nr_clientiBlacklist_IMM int, +@nr_clientirendicontati_IMM int, +@nr_lotto1_IMM int, +@nr_clientiDiagnosiInviati int, +@nr_clientiDiagnosidaInviare int, +@nr_clienticonMonitoraggio int, +@nr_clientiConImmESei int, +@nr_clientiConSoloImm int, +@nr_letteraSostitutivaImm int, +@nr_clientiRFAMinusImm int, +@nr_clientiProfiloEC int + + + + +select @nr_clientiInPerimetro= COUNT(*) from C6MartPeriodico.tabellone where solo_rend_imm='N' or solo_rend_imm is NULL--clienti in perimetro +select @nr_clientiRFA0 = COUNT(*) from C6MartPeriodico.tabellone where blacklist like '%RFA=0%' --clienti con RFA0 +select @nr_clientiRFAMinus = COUNT(*) from C6MartPeriodico.tabellone where blacklist like '%RFA Minus%' --clienti con RFA0 +select @nr_clientiProfiloScaduto= COUNT(*) from C6MartPeriodico.tabellone where blacklist like '%Profilo Scaduto%' and (blacklist not like '%RFA=0%' and blacklist not like '%RFA Minus%') --clienti con il profilo scaduto +select @nr_clientiBlacklist= COUNT(*) from C6MartPeriodico.tabellone where blacklist is not null +select @nr_letteraSostitutiva= COUNT(*) from C6MartPeriodico.tabellone where blacklist like '%RFA=0%' or blacklist like '%profilo%' or blacklist like '%RFA Minus%' +--select @nr_clientiBlacklist= COUNT(*) from C6MartPeriodico.tabellone where blacklist is not null --clienti in blacklist +select @nr_clientiinviati= COUNT(*) from C6MartPeriodico.tabellone where lotto is not null --clienti con report gia inviato +set @NR_clientidainviare= @nr_clientiinperimetro-@nr_clientiinviati-@nr_letteraSostitutiva--@nr_clientiBlacklist --clienti con report da inviare +--select @nr_letteraSostitutiva= COUNT(*) from C6MartPeriodico.tabellone where blacklist like '%sostitutiva%'--like '%RFA%' or blacklist like '%profilo%' +select @nr_clientiImmobiliari = COUNT(*) from C6MartPeriodico.tabellone where flgpe_perimetro_semestr='S' +set @nr_clientiInPerimentroSenzaImmobiliare=@nr_clientiinperimetro-@nr_clientiImmobiliari +select @nr_Blacklistdiversi=@nr_clientiBlacklist-@nr_letteraSostitutiva +select @nr_soloClientiImmobiliari= COUNT(*) from C6MartPeriodico.tabellone where solo_rend_imm='S' +select @nr_diagnosi= COUNT(*) from C6MartPeriodico.tabellone where freq_diagnosi <> '' +set @nr_clientirendicontati=@nr_clientiinperimetro-@nr_letteraSostitutiva--@nr_clientiBlacklist +select @nr_lotto1= count(*) from c6martperiodico.tabellone where lotto=1 +select @nr_lotto2= count(*) from c6martperiodico.tabellone where lotto=2 +select @nr_lotto3= count(*) from c6martperiodico.tabellone where lotto=3 +select @nr_lotto4= count(*) from c6martperiodico.tabellone where lotto=4 +select @nr_lotto5= count(*) from c6martperiodico.tabellone where lotto=5 +select @nr_lotto6= count(*) from c6martperiodico.tabellone where lotto=6 +select @nr_lotto7= count(*) from c6martperiodico.tabellone where lotto=7 +select @nr_lotto8= count(*) from c6martperiodico.tabellone where lotto=8 +select @nr_lotto9= count(*) from c6martperiodico.tabellone where lotto=9 +sel diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio.sql new file mode 100644 index 00000000..1ac05a10 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio.sql @@ -0,0 +1,139 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_Allineamento_Pianificazione_Monitoraggio + + + + + + + +-- ============================================= +-- Author: Marianna Coletta +-- Create date: +-- Description: riconciliazione posizioni disallineati tra pianificazione e monitoraggio +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_Allineamento_Pianificazione_Monitoraggio] + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_Allineamento_Pianificazione_Monitoraggio', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + +--DROP TABLE #TCPTAB +--drop table #ciao + +--tcptab filtrata per i disallineati e con position_id + SELECT + tcp.RETE AS TCP_RETE, + dis.COD_FISCALE AS TCP_CODFIS, + tcp.codprog, + case when isnull(dis.id_area,mon_area)='exr' then 'ext' else isnull(dis.id_area,mon_area) end as id_area, + C6StagingPeriodico.rp_Info_DaProdottoCSaCatalogo( + TCp.TIPPROD, + tcp.CODINT, + tcp.MAF, + tcp.ISIN, + tcp.SUBPROD + ) + + + dbo.Crea_positionID( + tcp.TIPPROD, + tcp.CODINT, + tcp.MAF, + tcp.ISIN, + tcp.SUBPROD, + tcp.CODCONF, + tcp.NUMPOL, + tcp.CONTO, + tcp.RUBR, + tcp.CUSTGAR, + tcp.TERMID, + tcp.ANNO, + tcp.PROG + ) AS POS_ID +-- '' AS POS_ID + into #tcptab + FROM + C6StagingPeriodico.tcptab as TCP + INNER JOIN + disallineati2 AS DIS + ON DIS.RETE = TCP.RETE + AND DIS.COD_FISCALE = + CASE WHEN(SUBSTRING(DIS.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+TCP.CODFIS + ELSE TCP.CODFIS + END + AND DIS.mon_AREA=TCP.CODAREA + AND DIS.mon_codprog=TCP.CODPROG + WHERE 1=1 + and ctvatt>0 + and dtuscita='99991231' + +--exec [C6MartPeriodico].[RP_TCPTAB] + + +--tutte le posizioni della patrimonio_bf in esubero sulle aree monitorate vengono spostate in na +-- UPDATE C6MARTPERIODICO.PATRIMONIO_BF +-- set id_area='Na', +-- nome_progetto=null, tipo_progetto=null, +-- ordinamento_progetto=null +-- FROM +-- C6MARTPERIODICO.PATRIMONIO_BF as PATBF +-- inner join +-- disallineati2 as dis +-- on patbf.rete=dis.rete +-- and patbf.cod_fiscale=dis.cod_fiscale +-- and patbf.id_area=case when dis.id_area='exr' then 'ext' else dis.id_area end +-- and patbf.ordinamento_progetto=dis.bf_ordprorg +-- left join #TCPTAB as TCP +-- ON TCP_RETE=PATBF.RETE +-- AND TCP_CODFIS=PATBF.COD_FISCALE +-- AND TCP.POS_ID=PATBF.POSITION_ID +-- AND TCP.CODPROG=isnull(PATBF.ORDINAMENTO_PROGETTO,0) +-- AND TCP.id_area=PATBF.ID_AREA +-- where 1=1 +-- and tcp_rete is null + + + +--seleziono le posizioni monitorate sull'area ma non presenti sulla stessa area nella patrimonio_bf + select tcp_rete, + tcp_codfis, + TCP.CODPROG, + TCP.id_area, + TCP.POS_ID + into #ciao + FROM + C6MARTPERIODICO.PATRIMONIO_BF as PATBF + inner join + disallineati2 as dis + on patbf.rete=dis.rete + and patbf.cod_fiscale=dis.cod_fiscale + and patbf.id_area=dis.id_area + and patbf.ordinamento_progetto=dis.bf_ordprorg + left join C6StagingPeriodico.RP_ChiaviMonitoraggio ch --dopo rp +on ch.chiaveprogetto=patbf.ordinamento_progetto and ch.stato=1 --dopo rp + RIGHT join #TCPTAB as TCP + ON TCP_RETE=PATBF.RETE + AND TCP_CODFIS=PATBF.COD_FISCALE + AND TCP.POS_ID=PATBF.POSITION_ID + --AND TCP.CODPROG=isnull(DIS.BF_ORDPRORG,0) dopo rp + AND TCP.CODPROG=isnull(ch.idmonitoraggio,0) --dopo rp + AND TCP.id_area=DIS.ID_AREA + where patbf.rete is null + + + + update C6MARTPERIODICO.PATRIMONIO_BF + set C6MARTPERIODICO.PATRIMONIO_BF.ordinamento_progetto = mod.ordinamento_progetto, + C6MARTPERIODICO.PATRIMONIO_BF.orizz_temp_nu diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective.sql new file mode 100644 index 00000000..e818d725 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective.sql @@ -0,0 +1,143 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective + + + + + + + +-- ============================================= +-- Author: Marianna Coletta +-- Create date: +-- Description: riconciliazione posizioni disallineati tra pianificazione e monitoraggio +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective] + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + +--DROP TABLE #TCPTAB +--drop table #ciao + +--tcptab filtrata per i disallineati e con position_id + SELECT + tcp.RETE AS TCP_RETE, + dis.COD_FISCALE AS TCP_CODFIS, + tcp.codprog, + case when isnull(dis.id_area,mon_area)='exr' then 'ext' else isnull(dis.id_area,mon_area) end as id_area, + C6StagingPeriodico.rp_Info_DaProdottoCSaCatalogo( + TCp.TIPPROD, + tcp.CODINT, + tcp.MAF, + tcp.ISIN, + tcp.SUBPROD + ) + + + dbo.Crea_positionID( + tcp.TIPPROD, + tcp.CODINT, + tcp.MAF, + tcp.ISIN, + tcp.SUBPROD, + tcp.CODCONF, + tcp.NUMPOL, + tcp.CONTO, + tcp.RUBR, + tcp.CUSTGAR, + tcp.TERMID, + tcp.ANNO, + tcp.PROG + ) AS POS_ID +-- '' AS POS_ID + into #tcptab + FROM + C6StagingPeriodico.tcptab as TCP + INNER JOIN + disallineati2 AS DIS + ON DIS.RETE = TCP.RETE + AND DIS.COD_FISCALE = + CASE WHEN(SUBSTRING(DIS.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+TCP.CODFIS + ELSE TCP.CODFIS + END + AND DIS.mon_AREA=TCP.CODAREA + AND DIS.mon_codprog=TCP.CODPROG + WHERE 1=1 + and ctvatt>0 + and dtuscita='99991231' + +--exec [C6MartPeriodico].[RP_TCPTAB] + + +--tutte le posizioni della patrimonio_bf in esubero sulle aree monitorate vengono spostate in na +-- UPDATE C6MARTPERIODICO.PATRIMONIO_BF +-- set id_area='Na', +-- nome_progetto=null, tipo_progetto=null, +-- ordinamento_progetto=null +-- FROM +-- C6MARTPERIODICO.PATRIMONIO_BF as PATBF +-- inner join +-- disallineati2 as dis +-- on patbf.rete=dis.rete +-- and patbf.cod_fiscale=dis.cod_fiscale +-- and patbf.id_area=case when dis.id_area='exr' then 'ext' else dis.id_area end +-- and patbf.ordinamento_progetto=dis.bf_ordprorg +-- left join #TCPTAB as TCP +-- ON TCP_RETE=PATBF.RETE +-- AND TCP_CODFIS=PATBF.COD_FISCALE +-- AND TCP.POS_ID=PATBF.POSITION_ID +-- AND TCP.CODPROG=isnull(PATBF.ORDINAMENTO_PROGETTO,0) +-- AND TCP.id_area=PATBF.ID_AREA +-- where 1=1 +-- and tcp_rete is null + + + +--seleziono le posizioni monitorate sull'area ma non presenti sulla stessa area nella patrimonio_bf + select tcp_rete, + tcp_codfis, + TCP.CODPROG, + TCP.id_area, + TCP.POS_ID + into #ciao + FROM + C6MARTPERIODICO.PATRIMONIO_BF as PATBF + inner join + disallineati2 as dis + on patbf.rete=dis.rete + and patbf.cod_fiscale=dis.cod_fiscale + and patbf.id_area=dis.id_area + and patbf.ordinamento_progetto=dis.bf_ordprorg + left join C6StagingPeriodico.RP_ChiaviMonitoraggio ch --dopo rp +on ch.chiaveprogetto=patbf.ordinamento_progetto and ch.stato=1 --dopo rp + RIGHT join #TCPTAB as TCP + ON TCP_RETE=PATBF.RETE + AND TCP_CODFIS=PATBF.COD_FISCALE + AND TCP.POS_ID=PATBF.POSITION_ID + --AND TCP.CODPROG=isnull(DIS.BF_ORDPRORG,0) dopo rp + AND TCP.CODPROG=isnull(ch.idmonitoraggio,0) --dopo rp + AND TCP.id_area=DIS.ID_AREA + where patbf.rete is null + + + + update C6MARTPERIODICO.PATRIMONIO_BF + set C6MARTPERIODICO.PATRIMONIO_BF.ordinamento_progetto = mod.ordinamento_progetto, + C6MARTPERIODICO.PATRIMONIO_BF.orizz_temp_num=mod.orizz_temp_num, + C6MARTPERIODICO.PATRIMONIO_BF.orizz_temp=mod.orizz_temp, + C6MARTPERIODICO.PATRIMONIO_BF.tipo_progetto=mod.tipo_progetto, + C6MARTPERIODICO.PATRIMONIO_BF.nome_progetto=mod.nome_progetto, + C6MARTPERIODICO.PATRIMONI diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_CALCOLA_BILANCIAMENTO_GENERATOR.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_CALCOLA_BILANCIAMENTO_GENERATOR.sql new file mode 100644 index 00000000..401a58d6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_CALCOLA_BILANCIAMENTO_GENERATOR.sql @@ -0,0 +1,33 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_CALCOLA_BILANCIAMENTO_GENERATOR + +CREATE procedure [C6MartPeriodico].[SRV_CALCOLA_BILANCIAMENTO_GENERATOR] +AS +declare @generatorParalleli int +set @generatorParalleli = 12 + +declare @numeroMedioReport int + +select @numeroMedioReport = count(*) / @generatorParalleli +from c6martperiodico.vcontrattipergenerazionereport + +select @numeroMedioReport + +select substring(cod_fiscale,1,1), + count(*), + count(*) - @numeroMedioReport as residui +from c6martperiodico.vcontrattipergenerazionereport +group by substring(cod_fiscale,1,1) +order by 1 + + +select substring(cod_fiscale,1,2), + count(*)--, + --count(*) - @numeroMedioReport as residui +from c6martperiodico.vcontrattipergenerazionereport +where substring(cod_fiscale,1,1) in ('B','C','M','P') +group by substring(cod_fiscale,1,2) +order by 1 + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_CHECK_INDIRIZZI.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_CHECK_INDIRIZZI.sql new file mode 100644 index 00000000..30c5ddb7 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_CHECK_INDIRIZZI.sql @@ -0,0 +1,77 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_CHECK_INDIRIZZI + + + + + +-- ============================================= +-- Author: Alessandro Tringali +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_CHECK_INDIRIZZI] +AS + +BEGIN + + +-- 1 indirizzi + +SELECT +nome, +cognome, +cod_fiscale, +indirizzo, +localita, +provincia, +cap +FROM +C6MARTPERIODICO.ANAG_CLIENTI +WHERE +( +NOME IS NULL +OR +COGNOME IS NULL +OR +INDIRIZZO IS NULL +OR +LOCALITA IS NULL +OR +PROVINCIA IS NULL +OR +CAP IS NULL +) + + + + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'Update', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_CHECK_INDIRIZZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_CHECK_INDIRIZZI' + ) + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_CHECK_INDIRIZZI', + GETDATE(), + 'Elaborazione MARKETING' + ) + + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_ESTRAZIONE_FASE_2_PRE_MART.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_ESTRAZIONE_FASE_2_PRE_MART.sql new file mode 100644 index 00000000..90b315c9 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_ESTRAZIONE_FASE_2_PRE_MART.sql @@ -0,0 +1,67 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_ESTRAZIONE_FASE_2_PRE_MART + +CREATE procedure [C6MartPeriodico].[SRV_ESTRAZIONE_FASE_2_PRE_MART] + +as + +declare @dataFase as varchar(30) +select @dataFase = dbo.ToShortDateString(c6martperiodico.getPreviousTrimestre(getDate(),0)) + + +SELECT + a.rete, + a.cod_fiscale, + @dataFase as datafase, + EXTRARENDIMENTO, + INVESTIMENTO, + PREVIDENZA, + RISERVA, + LIQUIDITA, + RisorseNonAllocate, + contocorrente, + PARTVIA_DISINV + isnull(b.importo,0) AS Partita_viaggiante, + --sum(case Upper(a.id_area) when 'CC' then 0 else a.ctv end ) as risorseFinanziarie, + a.CTV + isnull(b.importo,0)+ PARTVIA_DISINV AS Totale, + + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + isnull(RA.COPERTURA,0) AS Copertura, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + -- TRINGALI MODIFICARE ---MODIFICATO! + case when ra.creditrisk is null then 'n.a.' + else cast(ra.creditrisk as varchar) end as RISKCLASS, + mifid.riskclass as RISKCLASSMAX + +FROM + (select + rete, + cod_fiscale, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) AS EXTRARENDIMENTO, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) AS INVESTIMENTO, + sum(case when Upper(id_area) = 'PRE1' or Upper(id_area) ='PRE2' then ctv else 0 end ) AS PREVIDENZA, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) AS RISERVA, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS LIQUIDITA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS RisorseNonAllocate, + sum(case Upper(id_area) when 'CC' then ctv else 0 end ) as contocorrente, + sum((isnull(PARTVIA_DISINV,0))) as PARTVIA_DISINV, + SUM(CTV) as CTV + from + [C6MartPeriodico].PATRIMONIO_BF + group by rete, cod_fiscale + ) a +left join c6martperiodico.partite_viaggianti b +on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON a.RETE = MIFID.RETE + AND a.COD_FISCALE = MIFID.COD_FISCALE +INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO +LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = a.RETE + AND RA.COD_FISCALE = a.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_LISTA_CLIENTI_FASE2.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_LISTA_CLIENTI_FASE2.sql new file mode 100644 index 00000000..699b6d9f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_LISTA_CLIENTI_FASE2.sql @@ -0,0 +1,55 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_LISTA_CLIENTI_FASE2 + + +-- ============================================= +-- Author: alessandro Tringali +-- Create date: 06 luglio 2010 +-- Description: estrae la lista dei clienti per fase II +-- ============================================= +-- [C6MartPeriodico].[SRV_LISTA_CLIENTI_FASE2] '20110301', '20101231' +CREATE procedure [C6MartPeriodico].[SRV_LISTA_CLIENTI_FASE2] + @DTTRIM int , + @DTTRIM_PREC DATETIME +AS +BEGIN + + + +select +C6.Rete, +C6.Cod_Agente, +C6.Cod_Fiscale, +C6.CodiceContratto, +C6.Freq_Monitor, C6.Freq_Diagnosi, data_perf, +pdf.datagenerazione, +data_fineavanzato as data_revoca, +case when w.codfis is null then 0 else 1 end as flg_monit +FROM C6Mart.CONTRATTOSEI AS C6 INNER JOIN + C6Mart.GESTIONE_PDF_FTP AS PDF + ON C6.Rete = PDF.Rete + AND C6.Cod_Fiscale = PDF.CodiceFiscale + AND C6.CodiceContratto = SUBSTRING(PDF.NomeFile, 1, 11) + left outer join + (select distinct codfis, rete from c6stagingperiodico.wanab w where dtfine='99991231' and dtrif <= CAST(@DTTRIM AS int) ) w + on w.codfis=c6.cod_fiscale + and w.rete=c6.rete +WHERE (1 = 1) + AND (ISNULL(C6.Data_FineAvanzato, CAST('99991231' AS datetime)) > CAST(@DTTRIM_PREC AS datetime)) + AND (PDF.DataGenerazione < '20110601') + AND c6.INVIOBENVENUTO='S' + --AND isnull(C6.Data_Invio_Monitoraggio_Trimestrale,cast('20091231' as datetime)) < cast(C6MartPeriodico.getTrimestre(GETDATE(), 0) as datetime) + + + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT.sql new file mode 100644 index 00000000..0b62b9fd --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT.sql @@ -0,0 +1,161 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_LISTA_DISALLINEAMENTI_MONIT + + + + + +-- ============================================= +-- Author: alessandro Tringali +-- Create date: 16 ottobre 2010 +-- Description: estrae la lista dei clienti per fase Ii +-- ============================================= +-- exec [C6MartPeriodico].[SRV_LISTA_DISALLINEAMENTI_MONIT] +CREATE procedure [C6MartPeriodico].[SRV_LISTA_DISALLINEAMENTI_MONIT] + +AS +BEGIN + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'SRV_LISTA_DISALLINEAMENTI_MONIT', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + +SELECT +RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4) AS ID_AREA, +isnull(ORDINAMENTO_PROGETTO,0) as ordinamento_progetto, +SUM(CTV) AS SUM_CTV +INTO #TEMP_PATRIMONIO_BF_AGGR +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE ID_AREA NOT IN ('CC','NA') +AND REND_NON_RAPPR=0 +GROUP BY RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4), +isnull(ORDINAMENTO_PROGETTO,0) + + +--SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +--WHERE CODFIS IN +--(SELECT DISTINCT COD_FISCALE FROM #TEMP_PATRIMONIO_BF_AGGR) + +SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +WHERE CODFIS IN +(select cod_fiscale from c6stagingperiodico.appo_contratti_v) + + +drop table disallineati2 +SELECT * +into disallineati2 +FROM +( +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO as bf_ordprorg, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog as mon_codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +AND S.chiaveprogetto=isnull(P.ORDINAMENTO_PROGETTO,0) +AND M.CODPROG = S.idmonitoraggio +and id_area ='Inv' + +union all + +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +and id_area <>'Inv' + +union all + +-------------------------------------------- +-- SOLO MONITORAGGIO +-------------------------------------------- + +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +--#TEMP_PATRIMONIO_BF_AGGR P +(select T.*,S.idmonitoraggio from +#TEMP_PATRIMONIO_BF_AGGR T +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +where S.chiaveprogetto=isnull(T.ORDINAMENTO_PROGETTO,0) +)P +on +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND M.CODPROG = P.idmonitoraggio +AND DTFINE ='99991231' +where +m.ctv > 0 +and p.cod_fiscale is null +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +--and id_area ='Inv' +and m.codarea ='Inv' + +union all + +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +p.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FRO diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective.sql new file mode 100644 index 00000000..94d86c1e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective.sql @@ -0,0 +1,172 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective + + + + +-- ============================================= +-- Author: alessandro Tringali +-- Create date: 16 ottobre 2010 +-- Description: estrae la lista dei clienti per fase Ii +-- ============================================= +-- exec [C6MartPeriodico].[SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective] +CREATE procedure [C6MartPeriodico].[SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective] + +AS +BEGIN + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + +SELECT +RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4) AS ID_AREA, +isnull(ORDINAMENTO_PROGETTO,0) as ordinamento_progetto, +SUM(CTV) AS SUM_CTV +INTO #TEMP_PATRIMONIO_BF_AGGR +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE ID_AREA NOT IN ('CC','NA') +AND REND_NON_RAPPR=0 +GROUP BY RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4), +isnull(ORDINAMENTO_PROGETTO,0) + + +--SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +--WHERE CODFIS IN +--(SELECT DISTINCT COD_FISCALE FROM #TEMP_PATRIMONIO_BF_AGGR) + +SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +WHERE CODFIS IN +(select cod_fiscale from c6stagingperiodico.appo_contratti) + + +drop table disallineati2 +SELECT * +into disallineati2 +FROM +( +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO as bf_ordprorg, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog as mon_codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +AND S.chiaveprogetto=isnull(P.ORDINAMENTO_PROGETTO,0) +AND M.CODPROG = S.idmonitoraggio +and id_area ='Inv' + +union all + +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +and id_area <>'Inv' + +union all + +-------------------------------------------- +-- SOLO MONITORAGGIO +-------------------------------------------- + +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +--#TEMP_PATRIMONIO_BF_AGGR P +(select T.*,S.idmonitoraggio from +#TEMP_PATRIMONIO_BF_AGGR T +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +where S.chiaveprogetto=isnull(T.ORDINAMENTO_PROGETTO,0) +)P +on +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND M.CODPROG = P.idmonitoraggio +AND DTFINE ='99991231' +where +m.ctv > 0 +and p.cod_fiscale is null +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +--and id_area ='Inv' +and m.codarea ='Inv' + +union all + +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +p.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +#TEMP_PATRIMONIO_BF_AGGR P +on +M.RETE = P.RETE +--AND M.CODFIS = P.COD_FISCALE +AND case when len(m.CODFIS) =4 then 'FF@'+m.codfis else m.codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +where +DTFINE ='99991231' +and m.ctv > 0 +and p.cod_fisc diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE.sql new file mode 100644 index 00000000..3990b5a5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE.sql @@ -0,0 +1,28 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_NUOVA_ELABORAZIONE + + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22 gennaio 2009 +-- Description: PER GESTIONE TIPOLOGIA ELABORAZIONE +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_NUOVA_ELABORAZIONE] + @TIPO_ELAB varchar(1) = 'T' +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + INSERT INTO C6MARTPERIODICO.ELABORAZIONI(TIPO_ELAB) + VALUES (@TIPO_ELAB) + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_20151009.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_20151009.sql new file mode 100644 index 00000000..ce0938df --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_20151009.sql @@ -0,0 +1,31 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_NUOVA_ELABORAZIONE_20151009 + + + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22 gennaio 2009 +-- Description: PER GESTIONE TIPOLOGIA ELABORAZIONE +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_NUOVA_ELABORAZIONE_20151009] + @TIPO_ELAB varchar(1) = 'T' + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + INSERT INTO C6MARTPERIODICO.ELABORAZIONI_BK_20151008(TIPO_ELAB, DATA_OPERAZIONE) + VALUES (@TIPO_ELAB, '2015-10-09 19:37:21.913') + +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_bk_test_20151014.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_bk_test_20151014.sql new file mode 100644 index 00000000..ce590252 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_bk_test_20151014.sql @@ -0,0 +1,30 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_NUOVA_ELABORAZIONE_bk_test_20151014 + + + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22 gennaio 2009 +-- Description: PER GESTIONE TIPOLOGIA ELABORAZIONE +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_NUOVA_ELABORAZIONE_bk_test_20151014] + @TIPO_ELAB varchar(1) = 'T' +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + INSERT INTO C6MARTPERIODICO.ELABORAZIONI_bk_20151014(TIPO_ELAB) + VALUES (@TIPO_ELAB) + +END + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_pre_selective.sql new file mode 100644 index 00000000..df03b09f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_pre_selective.sql @@ -0,0 +1,28 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_NUOVA_ELABORAZIONE_pre_selective + + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22 gennaio 2009 +-- Description: PER GESTIONE TIPOLOGIA ELABORAZIONE +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_NUOVA_ELABORAZIONE_pre_selective] + @TIPO_ELAB varchar(1) = 'T' +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + INSERT INTO C6MARTPERIODICO.ELABORAZIONI(TIPO_ELAB) + VALUES (@TIPO_ELAB) + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_QUANTO_MANCA.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_QUANTO_MANCA.sql new file mode 100644 index 00000000..4fb87e49 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_QUANTO_MANCA.sql @@ -0,0 +1,9 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_QUANTO_MANCA + +CREATE procedure [C6MartPeriodico].[SRV_QUANTO_MANCA] +as + +exec [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_QUINDICESIMO] +select @@rowcount + diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE.sql new file mode 100644 index 00000000..f05428d0 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE.sql @@ -0,0 +1,112 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_SELEZIONA_CAMPIONE + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE] + +AS +BEGIN +--procedura di caricamento campione + +DECLARE @appoDataInizioTrimestre varchar(8) + +SET @appoDataInizioTrimestre = [C6MartPeriodico].[getDateTrimestre](0, 0, 0) + +--SET @appoDataInizioTrimestre = '20190101' + +--SET @appoDataInizioTrimestre = '20181001' +--SET @appoDataInizioTrimestre = '20180701' +--SET @appoDataInizioTrimestre = '20180401' +--SET @appoDataInizioTrimestre = '20180101' +--SET @appoDataInizioTrimestre = '20171001' +--SET @appoDataInizioTrimestre = '20170701' +--SET @appoDataInizioTrimestre = '20170401' +--SET @appoDataInizioTrimestre = '20170101' +--SET @appoDataInizioTrimestre = '20161001' +--SET @appoDataInizioTrimestre = '20160701' +--SET @appoDataInizioTrimestre = '20160401' +--SET @appoDataInizioTrimestre = '20160101' +--SET @appoDataInizioTrimestre = '20151001' +--SET @appoDataInizioTrimestre = '20150701' + +DECLARE @appoDataFineTrimestre varchar(8) + +SET @appoDataFineTrimestre = [C6MartPeriodico].[getDateTrimestre](0, 1, 0) + +--SET @appoDataFineTrimestre = '20181231' + +--SET @appoDataFineTrimestre = '20180930' +--SET @appoDataFineTrimestre = '20180630' +--SET @appoDataFineTrimestre = '20180331' +--SET @appoDataFineTrimestre = '20171231' +--SET @appoDataFineTrimestre = '20170930' +--SET @appoDataFineTrimestre = '20170630' +--SET @appoDataFineTrimestre = '20170331' +--SET @appoDataFineTrimestre = '20161231' +--SET @appoDataFineTrimestre = '20160930' +--SET @appoDataFineTrimestre = '20160630' +--SET @appoDataFineTrimestre = '20160331' +--SET @appoDataFineTrimestre = '20151231' +--SET @appoDataFineTrimestre = '20150930' + +DECLARE @appoDataInizioTrimPrec varchar(8) + +SET @appoDataInizioTrimPrec = [C6MartPeriodico].[getDateTrimestre](1, 0, 0) + +--SET @appoDataInizioTrimPrec = '20181001' + +--SET @appoDataInizioTrimPrec = '20180701' +--SET @appoDataInizioTrimPrec = '20180401' +--SET @appoDataInizioTrimPrec = '20180101' +--SET @appoDataInizioTrimPrec = '20171001' +--SET @appoDataInizioTrimPrec = '20170701' +--SET @appoDataInizioTrimPrec = '20170401' +--SET @appoDataInizioTrimPrec = '20170101' +--SET @appoDataInizioTrimPrec = '20161001' +--SET @appoDataInizioTrimPrec = '20160701' +--SET @appoDataInizioTrimPrec = '20160401' +--SET @appoDataInizioTrimPrec = '20160101' +--SET @appoDataInizioTrimPrec = '20151001' +--SET @appoDataInizioTrimPrec = '20150701' +--SET @appoDataInizioTrimPrec = '20150401' + +DECLARE @appoDataFineTrimPrec varchar(8) + +SET @appoDataFineTrimPrec = [C6MartPeriodico].[getDateTrimestre](1, 1, 0) + +--SET @appoDataFineTrimPrec = '20180930' + +--SET @appoDataFineTrimPrec = '20180630' +--SET @appoDataFineTrimPrec = '20180331' +--SET @appoDataFineTrimPrec = '20171231' +--SET @appoDataFineTrimPrec = '20170930' +--SET @appoDataFineTrimPrec = '20170630' +--SET @appoDataFineTrimPrec = '20170331' +--SET @appoDataFineTrimPrec = '20161231' +--SET @appoDataFineTrimPrec = '20160930' +--SET @appoDataFineTrimPrec = '20160630' +--SET @appoDataFineTrimPrec = '20160331' +--SET @appoDataFineTrimPrec = '20151231' +--SET @appoDataFineTrimPrec = '20150930' +--SET @appoDataFineTrimPrec = '20150630' + +-- QUI VA SPECIFICATO IL PERIODO DI EFFETTIVA GENERAZIONE DEI REPORT CHE, IN GENERE, E' IL MESE SUCCESSIVO +-- A QUELLO DI FINE TRIMESTRE +DECLARE @appoDataGenerazioneTrimPrecDa varchar(8) + +SET @appoDataGenerazioneTrimPrecDa = [C6MartPeriodico].[getDateTrimestre](1, 0, 0) + +--SET @appoDataGenerazioneTrimPrecDa = '20181001' + +--SET @appoDataGenerazioneTrimPrecDa = '20180701' +--SET @appoDataGenerazioneTrimPrecDa = '20180401' +--SET @appoDataGenerazioneTrimPrecDa = '20180101' +--SET @appoDataGenerazioneTrimPrecDa = '20171001' +--SET @appoDataGenerazioneTrimPrecDa = '20170701' +--SET @appoDataGenerazioneTrimPrecDa = '20170401' +--SET @appoDataGe diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20160412.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20160412.sql new file mode 100644 index 00000000..bfce0e7c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20160412.sql @@ -0,0 +1,207 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_SELEZIONA_CAMPIONE_20160412 + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20160412] + +AS +BEGIN +--procedura di caricamento campione + +DECLARE @appoDataInizioTrimestre varchar(8) +SET @appoDataInizioTrimestre = '20160101' +--SET @appoDataInizioTrimestre = '20151001' +--SET @appoDataInizioTrimestre = '20150701' + +DECLARE @appoDataFineTrimestre varchar(8) +SET @appoDataFineTrimestre = '20160331' +--SET @appoDataFineTrimestre = '20151231' +--SET @appoDataFineTrimestre = '20150930' + +DECLARE @appoDataInizioTrimPrec varchar(8) +SET @appoDataInizioTrimPrec = '20151001' +--SET @appoDataInizioTrimPrec = '20150701' +--SET @appoDataInizioTrimPrec = '20150401' + +DECLARE @appoDataFineTrimPrec varchar(8) +SET @appoDataFineTrimPrec = '20151231' +--SET @appoDataFineTrimPrec = '20150930' +--SET @appoDataFineTrimPrec = '20150630' + +-- QUI VA SPECIFICATO IL PERIODO DI EFFETTIVA GENERAZIONE DEI REPORT CHE, IN GENERE, E' IL MESE SUCCESSIVO +-- A QUELLO DI FINE TRIMESTRE +DECLARE @appoDataGenerazioneTrimPrecDa varchar(8) +SET @appoDataGenerazioneTrimPrecDa = '20160101' +--SET @appoDataGenerazioneTrimPrecDa = '20151001' +--SET @appoDataGenerazioneTrimPrecDa = '20150701' + +DECLARE @appoDataGenerazioneTrimPrecA varchar(8) +SET @appoDataGenerazioneTrimPrecA = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perch in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecA = '20151031' +--SET @appoDataGenerazioneTrimPrecA = '20150731' + +DECLARE @appoDataGenerazioneTrimPrecX2Da varchar(8) +SET @appoDataGenerazioneTrimPrecX2Da = '20151001' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150701' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150401' + +DECLARE @appoDataGenerazioneTrimPrecX2A varchar(8) +SET @appoDataGenerazioneTrimPrecX2A = '20151031' +--SET @appoDataGenerazioneTrimPrecX2A = '20150731' +--SET @appoDataGenerazioneTrimPrecX2A = '20150430' + + +TRUNCATE TABLE C6MARTPERIODICO.SELEZIONECAMPIONE +--select * into c6martperiodico.appo_selezione_campione from C6MARTPERIODICO.SELEZIONECAMPIONE +--0 tutta la popolazione + + +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +select distinct bf.cod_fiscale, bf.rete +from +C6MartPeriodico.rp_vcontrattipergenerazionereport bf +) bf + + +--1 UNA MACRO ASSET + +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'UNA MACRO ASSET ' AS DESCRIZIONE, +1 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20161012.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20161012.sql new file mode 100644 index 00000000..c5b00c90 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20161012.sql @@ -0,0 +1,156 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_SELEZIONA_CAMPIONE_20161012 + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20161012] + +AS +BEGIN +--procedura di caricamento campione + +DECLARE @appoDataInizioTrimestre varchar(8) +SET @appoDataInizioTrimestre = '20160701' +--SET @appoDataInizioTrimestre = '20160401' +--SET @appoDataInizioTrimestre = '20160101' +--SET @appoDataInizioTrimestre = '20151001' +--SET @appoDataInizioTrimestre = '20150701' + +DECLARE @appoDataFineTrimestre varchar(8) +SET @appoDataFineTrimestre = '20160930' +--SET @appoDataFineTrimestre = '20160630' +--SET @appoDataFineTrimestre = '20160331' +--SET @appoDataFineTrimestre = '20151231' +--SET @appoDataFineTrimestre = '20150930' + +DECLARE @appoDataInizioTrimPrec varchar(8) +SET @appoDataInizioTrimPrec = '20160401' +--SET @appoDataInizioTrimPrec = '20160101' +--SET @appoDataInizioTrimPrec = '20151001' +--SET @appoDataInizioTrimPrec = '20150701' +--SET @appoDataInizioTrimPrec = '20150401' + +DECLARE @appoDataFineTrimPrec varchar(8) +SET @appoDataFineTrimPrec = '20160630' +--SET @appoDataFineTrimPrec = '20160331' +--SET @appoDataFineTrimPrec = '20151231' +--SET @appoDataFineTrimPrec = '20150930' +--SET @appoDataFineTrimPrec = '20150630' + +-- QUI VA SPECIFICATO IL PERIODO DI EFFETTIVA GENERAZIONE DEI REPORT CHE, IN GENERE, E' IL MESE SUCCESSIVO +-- A QUELLO DI FINE TRIMESTRE +DECLARE @appoDataGenerazioneTrimPrecDa varchar(8) +SET @appoDataGenerazioneTrimPrecDa = '20160701' +--SET @appoDataGenerazioneTrimPrecDa = '20160401' +--SET @appoDataGenerazioneTrimPrecDa = '20160101' +--SET @appoDataGenerazioneTrimPrecDa = '20151001' +--SET @appoDataGenerazioneTrimPrecDa = '20150701' + +DECLARE @appoDataGenerazioneTrimPrecA varchar(8) +SET @appoDataGenerazioneTrimPrecA = '20160731' +--SET @appoDataGenerazioneTrimPrecA = '20160430' +--SET @appoDataGenerazioneTrimPrecA = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perch in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecA = '20151031' +--SET @appoDataGenerazioneTrimPrecA = '20150731' + +DECLARE @appoDataGenerazioneTrimPrecX2Da varchar(8) +SET @appoDataGenerazioneTrimPrecA = '20160401' +--SET @appoDataGenerazioneTrimPrecA = '20160101' +--SET @appoDataGenerazioneTrimPrecX2Da = '20151001' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150701' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150401' + +DECLARE @appoDataGenerazioneTrimPrecX2A varchar(8) +SET @appoDataGenerazioneTrimPrecX2A = '20160430' +--SET @appoDataGenerazioneTrimPrecX2A = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perch in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecX2A = '20151031' +--SET @appoDataGenerazioneTrimPrecX2A = '20150731' +--SET @appoDataGenerazioneTrimPrecX2A = '20150430' + + +TRUNCATE TABLE C6MARTPERIODICO.SELEZIONECAMPIONE +--select * into c6martperiodico.appo_selezione_campione from C6MARTPERIODICO.SELEZIONECAMPIONE +--0 tutta la popolazione + + +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +select distinct bf.cod_fiscale, bf.rete +from +C6MartPeriodico.rp_vcon diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20180711_preExcludedList.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20180711_preExcludedList.sql new file mode 100644 index 00000000..09f47045 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20180711_preExcludedList.sql @@ -0,0 +1,112 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_SELEZIONA_CAMPIONE_20180711_preExcludedList + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20180711_preExcludedList] + +AS +BEGIN +--procedura di caricamento campione + +DECLARE @appoDataInizioTrimestre varchar(8) +SET @appoDataInizioTrimestre = '20180701' + +--SET @appoDataInizioTrimestre = '20180401' +--SET @appoDataInizioTrimestre = '20180101' +--SET @appoDataInizioTrimestre = '20171001' +--SET @appoDataInizioTrimestre = '20170701' +--SET @appoDataInizioTrimestre = '20170401' +--SET @appoDataInizioTrimestre = '20170101' +--SET @appoDataInizioTrimestre = '20161001' +--SET @appoDataInizioTrimestre = '20160701' +--SET @appoDataInizioTrimestre = '20160401' +--SET @appoDataInizioTrimestre = '20160101' +--SET @appoDataInizioTrimestre = '20151001' +--SET @appoDataInizioTrimestre = '20150701' + +DECLARE @appoDataFineTrimestre varchar(8) +SET @appoDataFineTrimestre = '20180630' + +--SET @appoDataFineTrimestre = '20180331' +--SET @appoDataFineTrimestre = '20171231' +--SET @appoDataFineTrimestre = '20170930' +--SET @appoDataFineTrimestre = '20170630' +--SET @appoDataFineTrimestre = '20170331' +--SET @appoDataFineTrimestre = '20161231' +--SET @appoDataFineTrimestre = '20160930' +--SET @appoDataFineTrimestre = '20160630' +--SET @appoDataFineTrimestre = '20160331' +--SET @appoDataFineTrimestre = '20151231' +--SET @appoDataFineTrimestre = '20150930' + +DECLARE @appoDataInizioTrimPrec varchar(8) +SET @appoDataInizioTrimPrec = '20180401' + +--SET @appoDataInizioTrimPrec = '20180101' +--SET @appoDataInizioTrimPrec = '20171001' +--SET @appoDataInizioTrimPrec = '20170701' +--SET @appoDataInizioTrimPrec = '20170401' +--SET @appoDataInizioTrimPrec = '20170101' +--SET @appoDataInizioTrimPrec = '20161001' +--SET @appoDataInizioTrimPrec = '20160701' +--SET @appoDataInizioTrimPrec = '20160401' +--SET @appoDataInizioTrimPrec = '20160101' +--SET @appoDataInizioTrimPrec = '20151001' +--SET @appoDataInizioTrimPrec = '20150701' +--SET @appoDataInizioTrimPrec = '20150401' + +DECLARE @appoDataFineTrimPrec varchar(8) +SET @appoDataFineTrimPrec = '20180331' + +--SET @appoDataFineTrimPrec = '20171231' +--SET @appoDataFineTrimPrec = '20170930' +--SET @appoDataFineTrimPrec = '20170630' +--SET @appoDataFineTrimPrec = '20170331' +--SET @appoDataFineTrimPrec = '20161231' +--SET @appoDataFineTrimPrec = '20160930' +--SET @appoDataFineTrimPrec = '20160630' +--SET @appoDataFineTrimPrec = '20160331' +--SET @appoDataFineTrimPrec = '20151231' +--SET @appoDataFineTrimPrec = '20150930' +--SET @appoDataFineTrimPrec = '20150630' + +-- QUI VA SPECIFICATO IL PERIODO DI EFFETTIVA GENERAZIONE DEI REPORT CHE, IN GENERE, E' IL MESE SUCCESSIVO +-- A QUELLO DI FINE TRIMESTRE +DECLARE @appoDataGenerazioneTrimPrecDa varchar(8) +SET @appoDataGenerazioneTrimPrecDa = '20180401' + +--SET @appoDataGenerazioneTrimPrecDa = '20180101' +--SET @appoDataGenerazioneTrimPrecDa = '20171001' +--SET @appoDataGenerazioneTrimPrecDa = '20170701' +--SET @appoDataGenerazioneTrimPrecDa = '20170401' +--SET @appoDataGenerazioneTrimPrecDa = '20170101' +--SET @appoDataGenerazioneTrimPrecDa = '20161001' +--SET @appoDataGenerazioneTrimPrecDa = '20160701' +--SET @appoDataGenerazioneTrimPrecDa = '20160401' +--SET @appoDataGenerazioneTrimPrecDa = '20160101' +--SET @appoDataGenerazioneTrimPrecDa = '20151001' +--SET @appoDataGenerazioneTrimPrecDa = '20150701' + +DECLARE @appoDataGenerazioneTrimPrecA varchar(8) +SET @appoDataGenerazioneTrimPrecA = '20180430' + +--SET @appoDataGenerazioneTrimPrecA = '20180131' +--SET @appoDataGenerazioneTrimPrecA = '20171031' +--SET @appoDataGenerazioneTrimPrecA = '20170731' +--SET @appoDataGenerazioneTrimPrecA = '20170430' +--SET @appoDataGenerazioneTrimPrecA = '20170131' +--SET @appoDataGenerazioneTrimPrecA = '20161031' +--SET @appoDataGenerazioneTrimPrecA = '20160731' +--SET @appoDataGenerazioneTrimPrecA = ' diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20190116_PreNewFunction.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20190116_PreNewFunction.sql new file mode 100644 index 00000000..051a7f1e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20190116_PreNewFunction.sql @@ -0,0 +1,111 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_SELEZIONA_CAMPIONE_20190116_PreNewFunction + + + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20190116_PreNewFunction] + +AS +BEGIN +--procedura di caricamento campione + +DECLARE @appoDataInizioTrimestre varchar(8) +SET @appoDataInizioTrimestre = '20190101' + +--SET @appoDataInizioTrimestre = '20181001' +--SET @appoDataInizioTrimestre = '20180701' +--SET @appoDataInizioTrimestre = '20180401' +--SET @appoDataInizioTrimestre = '20180101' +--SET @appoDataInizioTrimestre = '20171001' +--SET @appoDataInizioTrimestre = '20170701' +--SET @appoDataInizioTrimestre = '20170401' +--SET @appoDataInizioTrimestre = '20170101' +--SET @appoDataInizioTrimestre = '20161001' +--SET @appoDataInizioTrimestre = '20160701' +--SET @appoDataInizioTrimestre = '20160401' +--SET @appoDataInizioTrimestre = '20160101' +--SET @appoDataInizioTrimestre = '20151001' +--SET @appoDataInizioTrimestre = '20150701' + +DECLARE @appoDataFineTrimestre varchar(8) +SET @appoDataFineTrimestre = '20181231' +--SET @appoDataFineTrimestre = '20180930' +--SET @appoDataFineTrimestre = '20180630' +--SET @appoDataFineTrimestre = '20180331' +--SET @appoDataFineTrimestre = '20171231' +--SET @appoDataFineTrimestre = '20170930' +--SET @appoDataFineTrimestre = '20170630' +--SET @appoDataFineTrimestre = '20170331' +--SET @appoDataFineTrimestre = '20161231' +--SET @appoDataFineTrimestre = '20160930' +--SET @appoDataFineTrimestre = '20160630' +--SET @appoDataFineTrimestre = '20160331' +--SET @appoDataFineTrimestre = '20151231' +--SET @appoDataFineTrimestre = '20150930' + +DECLARE @appoDataInizioTrimPrec varchar(8) +SET @appoDataInizioTrimPrec = '20181001' +--SET @appoDataInizioTrimPrec = '20180701' +--SET @appoDataInizioTrimPrec = '20180401' +--SET @appoDataInizioTrimPrec = '20180101' +--SET @appoDataInizioTrimPrec = '20171001' +--SET @appoDataInizioTrimPrec = '20170701' +--SET @appoDataInizioTrimPrec = '20170401' +--SET @appoDataInizioTrimPrec = '20170101' +--SET @appoDataInizioTrimPrec = '20161001' +--SET @appoDataInizioTrimPrec = '20160701' +--SET @appoDataInizioTrimPrec = '20160401' +--SET @appoDataInizioTrimPrec = '20160101' +--SET @appoDataInizioTrimPrec = '20151001' +--SET @appoDataInizioTrimPrec = '20150701' +--SET @appoDataInizioTrimPrec = '20150401' + +DECLARE @appoDataFineTrimPrec varchar(8) +SET @appoDataFineTrimPrec = '20180930' +--SET @appoDataFineTrimPrec = '20180630' +--SET @appoDataFineTrimPrec = '20180331' +--SET @appoDataFineTrimPrec = '20171231' +--SET @appoDataFineTrimPrec = '20170930' +--SET @appoDataFineTrimPrec = '20170630' +--SET @appoDataFineTrimPrec = '20170331' +--SET @appoDataFineTrimPrec = '20161231' +--SET @appoDataFineTrimPrec = '20160930' +--SET @appoDataFineTrimPrec = '20160630' +--SET @appoDataFineTrimPrec = '20160331' +--SET @appoDataFineTrimPrec = '20151231' +--SET @appoDataFineTrimPrec = '20150930' +--SET @appoDataFineTrimPrec = '20150630' + +-- QUI VA SPECIFICATO IL PERIODO DI EFFETTIVA GENERAZIONE DEI REPORT CHE, IN GENERE, E' IL MESE SUCCESSIVO +-- A QUELLO DI FINE TRIMESTRE +DECLARE @appoDataGenerazioneTrimPrecDa varchar(8) +SET @appoDataGenerazioneTrimPrecDa = '20181001' +--SET @appoDataGenerazioneTrimPrecDa = '20180701' +--SET @appoDataGenerazioneTrimPrecDa = '20180401' +--SET @appoDataGenerazioneTrimPrecDa = '20180101' +--SET @appoDataGenerazioneTrimPrecDa = '20171001' +--SET @appoDataGenerazioneTrimPrecDa = '20170701' +--SET @appoDataGenerazioneTrimPrecDa = '20170401' +--SET @appoDataGenerazioneTrimPrecDa = '20170101' +--SET @appoDataGenerazioneTrimPrecDa = '20161001' +--SET @appoDataGenerazioneTrimPrecDa = '20160701' +--SET @appoDataGenerazioneTrimPrecDa = '20160401' +--SET @appoDataGenerazioneTrimPrecDa = '20160101' +--SET @appoDataGenerazioneTrimPrecDa = '20151001' +--SET @appoDataGenerazioneTrimPrecDa = '20150701' + +DECLARE @appoDataGenerazioneTrimPrecA varc diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20230915.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20230915.sql new file mode 100644 index 00000000..e1e03b6e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20230915.sql @@ -0,0 +1,113 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_SELEZIONA_CAMPIONE_20230915 + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20230915] + +AS +BEGIN +--procedura di caricamento campione + +DECLARE @appoDataInizioTrimestre varchar(8) + +SET @appoDataInizioTrimestre = [C6MartPeriodico].[getDateTrimestre](0, 0, 0) + +--SET @appoDataInizioTrimestre = '20190101' + +--SET @appoDataInizioTrimestre = '20181001' +--SET @appoDataInizioTrimestre = '20180701' +--SET @appoDataInizioTrimestre = '20180401' +--SET @appoDataInizioTrimestre = '20180101' +--SET @appoDataInizioTrimestre = '20171001' +--SET @appoDataInizioTrimestre = '20170701' +--SET @appoDataInizioTrimestre = '20170401' +--SET @appoDataInizioTrimestre = '20170101' +--SET @appoDataInizioTrimestre = '20161001' +--SET @appoDataInizioTrimestre = '20160701' +--SET @appoDataInizioTrimestre = '20160401' +--SET @appoDataInizioTrimestre = '20160101' +--SET @appoDataInizioTrimestre = '20151001' +--SET @appoDataInizioTrimestre = '20150701' + +DECLARE @appoDataFineTrimestre varchar(8) + +SET @appoDataFineTrimestre = [C6MartPeriodico].[getDateTrimestre](0, 1, 0) + +--SET @appoDataFineTrimestre = '20181231' + +--SET @appoDataFineTrimestre = '20180930' +--SET @appoDataFineTrimestre = '20180630' +--SET @appoDataFineTrimestre = '20180331' +--SET @appoDataFineTrimestre = '20171231' +--SET @appoDataFineTrimestre = '20170930' +--SET @appoDataFineTrimestre = '20170630' +--SET @appoDataFineTrimestre = '20170331' +--SET @appoDataFineTrimestre = '20161231' +--SET @appoDataFineTrimestre = '20160930' +--SET @appoDataFineTrimestre = '20160630' +--SET @appoDataFineTrimestre = '20160331' +--SET @appoDataFineTrimestre = '20151231' +--SET @appoDataFineTrimestre = '20150930' + +DECLARE @appoDataInizioTrimPrec varchar(8) + +SET @appoDataInizioTrimPrec = [C6MartPeriodico].[getDateTrimestre](1, 0, 0) + +--SET @appoDataInizioTrimPrec = '20181001' + +--SET @appoDataInizioTrimPrec = '20180701' +--SET @appoDataInizioTrimPrec = '20180401' +--SET @appoDataInizioTrimPrec = '20180101' +--SET @appoDataInizioTrimPrec = '20171001' +--SET @appoDataInizioTrimPrec = '20170701' +--SET @appoDataInizioTrimPrec = '20170401' +--SET @appoDataInizioTrimPrec = '20170101' +--SET @appoDataInizioTrimPrec = '20161001' +--SET @appoDataInizioTrimPrec = '20160701' +--SET @appoDataInizioTrimPrec = '20160401' +--SET @appoDataInizioTrimPrec = '20160101' +--SET @appoDataInizioTrimPrec = '20151001' +--SET @appoDataInizioTrimPrec = '20150701' +--SET @appoDataInizioTrimPrec = '20150401' + +DECLARE @appoDataFineTrimPrec varchar(8) + +SET @appoDataFineTrimPrec = [C6MartPeriodico].[getDateTrimestre](1, 1, 0) + +--SET @appoDataFineTrimPrec = '20180930' + +--SET @appoDataFineTrimPrec = '20180630' +--SET @appoDataFineTrimPrec = '20180331' +--SET @appoDataFineTrimPrec = '20171231' +--SET @appoDataFineTrimPrec = '20170930' +--SET @appoDataFineTrimPrec = '20170630' +--SET @appoDataFineTrimPrec = '20170331' +--SET @appoDataFineTrimPrec = '20161231' +--SET @appoDataFineTrimPrec = '20160930' +--SET @appoDataFineTrimPrec = '20160630' +--SET @appoDataFineTrimPrec = '20160331' +--SET @appoDataFineTrimPrec = '20151231' +--SET @appoDataFineTrimPrec = '20150930' +--SET @appoDataFineTrimPrec = '20150630' + +-- QUI VA SPECIFICATO IL PERIODO DI EFFETTIVA GENERAZIONE DEI REPORT CHE, IN GENERE, E' IL MESE SUCCESSIVO +-- A QUELLO DI FINE TRIMESTRE +DECLARE @appoDataGenerazioneTrimPrecDa varchar(8) + +SET @appoDataGenerazioneTrimPrecDa = [C6MartPeriodico].[getDateTrimestre](1, 0, 0) + +--SET @appoDataGenerazioneTrimPrecDa = '20181001' + +--SET @appoDataGenerazioneTrimPrecDa = '20180701' +--SET @appoDataGenerazioneTrimPrecDa = '20180401' +--SET @appoDataGenerazioneTrimPrecDa = '20180101' +--SET @appoDataGenerazioneTrimPrecDa = '20171001' +--SET @appoDataGenerazioneTrimPrecDa = '20170701' +--SET @appoDataGenerazioneTrimPrecDa = '20170401' +--SET diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_STORICIZZAZIONE.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_STORICIZZAZIONE.sql new file mode 100644 index 00000000..1db6d547 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_STORICIZZAZIONE.sql @@ -0,0 +1,67 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_STORICIZZAZIONE + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 21 gennaio 2009 +-- Description: Effettua una storicizzazione del DataMart prima dell'import di nuovi dati. +-- ============================================= +-- [C6MartPeriodico].[SRV_STORICIZZAZIONE] 'GESTIONE_EMAIL' +CREATE PROCEDURE [C6MartPeriodico].[SRV_STORICIZZAZIONE] + @NomeTabella AS VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico + + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MARTPERIODICO.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX TABELLA SPECIALE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --XXXXXXXXXXXXXXXXXXXXXXXX CONTRATTOSEI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONTRATTOSEI') + BEGIN + DELETE FROM C6StoricoPeriodico.CONTRATTOSEI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.CONTRATTOSEI + (Rete, Cod_Fiscale, Data_Sott, CodiceContratto, Cod_Agente, Data_Perf_Base, Data_Perf, Fascia_CPP, Email, Indirizzo, CAP, Citta, Prov, Nazione, Presso, Data_Inizio, Freq_Diagnosi, Freq_Monitor, Freq_DiagnosiPrec, Freq_MonitorPrec, Data_InizioConsInv, Data_InizioBase, Data_FineBase, Data_InizioAvanzato, Data_FineAvanzato, ProgressivoInvio, GenerazioneReport, InvioBenvenuto, DataUltimoInvio, ClienteMigrato, RisorseNA, PartViaDisinv, NumSolleciti, Data_UltimoSollecito, NumRevoche, Data_UltimaRevoca, Note, Data_Invio_Diagnosi_Trimestrale, Data_Invio_Monitoraggio_Trimestrale, ID_ELAB) + SELECT + C.Rete, C.Cod_Fiscale, C.Data_Sott, C.CodiceContratto, C.Cod_Agente, C.Data_Perf_Base, C.Data_Perf, C.Fascia_CPP, C.Email, C.Indirizzo, C.CAP, C.Citta, C.Prov, C.Nazione, C.Presso, C.Data_Inizio, C.Freq_Diagnosi, C.Freq_Monitor, C.Freq_DiagnosiPrec, C.Freq_MonitorPrec, C.Data_InizioConsInv, C.Data_InizioBase, C.Data_FineBase, C.Data_InizioAvanzato, C.Data_FineAvanzato, C.ProgressivoInvio, C.GenerazioneReport, C.InvioBenvenuto, C.DataUltimoInvio, C.ClienteMigrato, C.RisorseNA, C.PartViaDisinv, C.NumSolleciti, C.Data_UltimoSollecito, C.NumRevoche, C.Data_UltimaRevoca, C.Note, C.Data_Invio_Diagnosi_Trimestrale, C.Data_Invio_Monitoraggio_Trimestrale, @ID_ELAB + FROM C6Mart.CONTRATTOSEI C--WHERE ID_ELAB = @ID_ELAB + LEFT OUTER JOIN C6StoricoPeriodico.CONTRATTOSEI SC + ON C.Rete = SC.Rete + AND C.Cod_Fiscale = SC.Cod_Fiscale + AND C.CodiceContratto = SC.CodiceContratto + WHERE SC.Rete IS NULL + END +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX FINE TABELLA SPECIALE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CC XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CC') + BEGIN + DELETE FROM C6StoricoPeriodico.ANAG_CC WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ANAG_CC + (RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB, TIPO_ELAB) + SELECT + AC.RETE, AC.COD_FISCALE, AC.INTERMEDIARIO, AC.COINTEST, AC.COD_CC, AC.FASCIA_CPP, AC.SALDO, AC.DATA_APERTURA, AC.DATA_CHIUSURA, AC.ID_ELAB, AC.TIPO_ELAB + FROM C6MartPeriodico.ANAG_CC AC + LEFT OUTER JOIN C6StoricoPeriodico.ANAG_CC SAC + ON AC.RETE = SAC.RETE + AND AC.COD_FISCALE = SAC.COD_FISCALE + AND AC.COD_CC = SAC.COD_CC + WHERE AC.ID_ELAB = @ID_ELAB AND SAC.RETE IS NULL + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CC_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabell diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql new file mode 100644 index 00000000..9e5320a5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql @@ -0,0 +1,63 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_STORICIZZAZIONE_GLOBAL_ERROR + +CREATE procedure [C6MartPeriodico].[SRV_STORICIZZAZIONE_GLOBAL_ERROR] + @NomeTabella AS VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico + + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_STORICIZZAZIONE_GLOBAL_ERROR', + GETDATE(), + 'Elaborazione trimestrale' + ) + + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MARTPERIODICO.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + + DELETE FROM C6StoricoPeriodico.GLOBAL_ERROR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + + INSERT INTO C6StoricoPeriodico.GLOBAL_ERROR + (ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB) + SELECT + ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB + FROM dbo.GLOBAL_ERROR WHERE ID_ELAB = @ID_ELAB + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR' + ) + + TRUNCATE TABLE dbo.GLOBAL_ERROR + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective.sql new file mode 100644 index 00000000..f07a593b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective.sql @@ -0,0 +1,63 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective + +CREATE procedure [C6MartPeriodico].[SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective] + @NomeTabella AS VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico + + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MARTPERIODICO.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + + DELETE FROM C6StoricoPeriodico.GLOBAL_ERROR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + + INSERT INTO C6StoricoPeriodico.GLOBAL_ERROR + (ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB) + SELECT + ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB + FROM dbo.GLOBAL_ERROR WHERE ID_ELAB = @ID_ELAB + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective' + ) + + TRUNCATE TABLE dbo.GLOBAL_ERROR + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_STORICIZZAZIONE_OLD.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_STORICIZZAZIONE_OLD.sql new file mode 100644 index 00000000..62ac393c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_STORICIZZAZIONE_OLD.sql @@ -0,0 +1,69 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_STORICIZZAZIONE_OLD + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 21 gennaio 2009 +-- Description: Effettua una storicizzazione del DataMart prima dell'import di nuovi dati. +-- ============================================= +-- [C6MartPeriodico].[SRV_STORICIZZAZIONE] 'GESTIONE_EMAIL' +CREATE PROCEDURE [C6MartPeriodico].[SRV_STORICIZZAZIONE_OLD] + @NomeTabella AS VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico + + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MARTPERIODICO.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX TABELLA SPECIALE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --XXXXXXXXXXXXXXXXXXXXXXXX CONTRATTOSEI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONTRATTOSEI') + BEGIN + DELETE FROM C6StoricoPeriodico.CONTRATTOSEI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.CONTRATTOSEI + (Rete, Cod_Fiscale, Data_Sott, CodiceContratto, Cod_Agente, Data_Perf_Base, Data_Perf, Fascia_CPP, Email, Indirizzo, CAP, Citta, Prov, Nazione, Presso, Data_Inizio, Freq_Diagnosi, Freq_Monitor, Freq_DiagnosiPrec, Freq_MonitorPrec, Data_InizioConsInv, Data_InizioBase, Data_FineBase, Data_InizioAvanzato, Data_FineAvanzato, ProgressivoInvio, GenerazioneReport, InvioBenvenuto, DataUltimoInvio, ClienteMigrato, RisorseNA, NumSolleciti, Data_UltimoSollecito, NumRevoche, Data_UltimaRevoca, Note, ID_ELAB) + SELECT + Rete, Cod_Fiscale, Data_Sott, CodiceContratto, Cod_Agente, Data_Perf_Base, Data_Perf, Fascia_CPP, Email, Indirizzo, CAP, Citta, Prov, Nazione, Presso, Data_Inizio, Freq_Diagnosi, Freq_Monitor, Freq_DiagnosiPrec, Freq_MonitorPrec, Data_InizioConsInv, Data_InizioBase, Data_FineBase, Data_InizioAvanzato, Data_FineAvanzato, ProgressivoInvio, GenerazioneReport, InvioBenvenuto, DataUltimoInvio, ClienteMigrato, RisorseNA, NumSolleciti, Data_UltimoSollecito, NumRevoche, Data_UltimaRevoca, Note, @ID_ELAB + FROM C6Mart.CONTRATTOSEI --WHERE ID_ELAB = @ID_ELAB + END +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX FINE TABELLA SPECIALE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CC XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CC') + BEGIN + DELETE FROM C6StoricoPeriodico.ANAG_CC WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ANAG_CC + (RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB, TIPO_ELAB + FROM C6MartPeriodico.ANAG_CC WHERE ID_ELAB = @ID_ELAB + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CC_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CC_TERZI') + BEGIN + DELETE FROM C6StoricoPeriodico.ANAG_CC_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ANAG_CC_TERZI + (RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB) + SELECT + RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB + FROM C6MartPeriodico.ANAG_CC_TERZI WHERE ID_ELAB = @ID_ELAB + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CLIENTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CLIENTI') + BEG diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_TABELLE_IN_MART.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_TABELLE_IN_MART.sql new file mode 100644 index 00000000..54f94cd3 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_TABELLE_IN_MART.sql @@ -0,0 +1,109 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_TABELLE_IN_MART + +CREATE procedure [C6MartPeriodico].[SRV_TABELLE_IN_MART] +AS +BEGIN + + DECLARE @tabella AS VARCHAR(50) + SET @tabella = NULL + + SELECT TOP 1 @tabella = A.tabella + FROM( + SELECT tables.name tabella + FROM sys.tables tables + INNER JOIN sys.schemas schemas + ON tables.schema_id = schemas.schema_id + WHERE schemas.name = 'C6MartPeriodico' + AND tables.name NOT IN ('TabelleStoricizzate','VerificheCampione','GLOBAL_ERROR') + ) A + WHERE A.tabella NOT IN ( + SELECT Nome + FROM C6MartPeriodico.TabelleStoricizzate + ) + ORDER BY A.tabella + + -- vedi stessa sp di Staging + /*INSERT INTO [C6MartPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella)*/ + + DECLARE @tabellaMartDaStoricizzare AS SMALLINT + IF @tabella IS NOT NULL + BEGIN + INSERT INTO [C6MartPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella) + EXEC [C6MartPeriodico].[SRV_STORICIZZAZIONE] @tabella + SET @tabellaMartDaStoricizzare = 1 + END + ELSE + SET @tabellaMartDaStoricizzare = 0 + + SELECT @tabellaMartDaStoricizzare tabella, @tabella nome + +-- DECLARE @tabella AS VARCHAR(50) +-- SET @tabella = NULL +-- +-- -- AGGIORNAMENTO TABELLA C6MartPeriodico.TabelleStoricizzate: +-- --> CANCELLO LE VECCHIE +-- DELETE C6MartPeriodico.TabelleStoricizzate +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- RIGHT JOIN C6MartPeriodico.TabelleStoricizzate +-- ON tables.name = TabelleStoricizzate.NOME +-- WHERE schemas.name = 'C6MartPeriodico' +-- AND tables.name IS NULL +-- AND tables.name <> 'CONTRATTOSEI' +-- +-- --> INSERISCO LE NUOVE TABELLE +-- INSERT INTO C6MartPeriodico.TabelleStoricizzate (NOME, STORICIZZATA) +-- SELECT A.NOME, A.STORICIZZATA +-- FROM ( +-- SELECT tables.name AS NOME, 0 AS STORICIZZATA +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- WHERE schemas.name = 'C6MartPeriodico' +-- UNION +-- SELECT 'CONTRATTOSEI', 0 +-- ) A +-- LEFT JOIN C6MartPeriodico.TabelleStoricizzate +-- ON TabelleStoricizzate.NOME = A.NOME +-- WHERE TabelleStoricizzate.NOME IS NULL +-- -- FINE AGGIORNAMENTO TABELLA +-- +-- BEGIN TRANSACTION +-- +-- -- SELEZIONE TABELLA +-- SELECT TOP 1 @tabella = NOME +-- FROM C6MartPeriodico.TabelleStoricizzate +-- WHERE STORICIZZATA = 0 +-- ORDER BY DURATA DESC +-- +-- -- MARCATURA TABELLA SELEZIONATA +-- UPDATE C6MartPeriodico.TabelleStoricizzate +-- SET +-- STORICIZZATA = 1, +-- VECCHIA_DURATA = DURATA, +-- INIZIO = GETDATE() +-- WHERE NOME = @tabella +-- +-- COMMIT TRANSACTION +-- +-- DECLARE @tabellaMartDaStoricizzare AS SMALLINT +-- IF @tabella IS NOT NULL +-- BEGIN +-- EXEC C6MartPeriodico.SRV_STORICIZZAZIONE @tabella +-- SET @tabellaMartDaStoricizzare = 1 +-- END +-- ELSE +-- SET @tabellaMartDaStoricizzare = 0 +-- +-- SELECT @tabellaMartDaStoricizzare tabella, @tabella nome + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_TABELLE_IN_MART_pre_selective.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_TABELLE_IN_MART_pre_selective.sql new file mode 100644 index 00000000..8a518897 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_TABELLE_IN_MART_pre_selective.sql @@ -0,0 +1,109 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_TABELLE_IN_MART_pre_selective + +CREATE procedure [C6MartPeriodico].[SRV_TABELLE_IN_MART_pre_selective] +AS +BEGIN + + DECLARE @tabella AS VARCHAR(50) + SET @tabella = NULL + + SELECT TOP 1 @tabella = A.tabella + FROM( + SELECT tables.name tabella + FROM sys.tables tables + INNER JOIN sys.schemas schemas + ON tables.schema_id = schemas.schema_id + WHERE schemas.name = 'C6MartPeriodico' + AND tables.name NOT IN ('TabelleStoricizzate','VerificheCampione','GLOBAL_ERROR') + ) A + WHERE A.tabella NOT IN ( + SELECT Nome + FROM C6MartPeriodico.TabelleStoricizzate + ) + ORDER BY A.tabella + + -- vedi stessa sp di Staging + /*INSERT INTO [C6MartPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella)*/ + + DECLARE @tabellaMartDaStoricizzare AS SMALLINT + IF @tabella IS NOT NULL + BEGIN + INSERT INTO [C6MartPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella) + EXEC [C6MartPeriodico].[SRV_STORICIZZAZIONE] @tabella + SET @tabellaMartDaStoricizzare = 1 + END + ELSE + SET @tabellaMartDaStoricizzare = 0 + + SELECT @tabellaMartDaStoricizzare tabella, @tabella nome + +-- DECLARE @tabella AS VARCHAR(50) +-- SET @tabella = NULL +-- +-- -- AGGIORNAMENTO TABELLA C6MartPeriodico.TabelleStoricizzate: +-- --> CANCELLO LE VECCHIE +-- DELETE C6MartPeriodico.TabelleStoricizzate +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- RIGHT JOIN C6MartPeriodico.TabelleStoricizzate +-- ON tables.name = TabelleStoricizzate.NOME +-- WHERE schemas.name = 'C6MartPeriodico' +-- AND tables.name IS NULL +-- AND tables.name <> 'CONTRATTOSEI' +-- +-- --> INSERISCO LE NUOVE TABELLE +-- INSERT INTO C6MartPeriodico.TabelleStoricizzate (NOME, STORICIZZATA) +-- SELECT A.NOME, A.STORICIZZATA +-- FROM ( +-- SELECT tables.name AS NOME, 0 AS STORICIZZATA +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- WHERE schemas.name = 'C6MartPeriodico' +-- UNION +-- SELECT 'CONTRATTOSEI', 0 +-- ) A +-- LEFT JOIN C6MartPeriodico.TabelleStoricizzate +-- ON TabelleStoricizzate.NOME = A.NOME +-- WHERE TabelleStoricizzate.NOME IS NULL +-- -- FINE AGGIORNAMENTO TABELLA +-- +-- BEGIN TRANSACTION +-- +-- -- SELEZIONE TABELLA +-- SELECT TOP 1 @tabella = NOME +-- FROM C6MartPeriodico.TabelleStoricizzate +-- WHERE STORICIZZATA = 0 +-- ORDER BY DURATA DESC +-- +-- -- MARCATURA TABELLA SELEZIONATA +-- UPDATE C6MartPeriodico.TabelleStoricizzate +-- SET +-- STORICIZZATA = 1, +-- VECCHIA_DURATA = DURATA, +-- INIZIO = GETDATE() +-- WHERE NOME = @tabella +-- +-- COMMIT TRANSACTION +-- +-- DECLARE @tabellaMartDaStoricizzare AS SMALLINT +-- IF @tabella IS NOT NULL +-- BEGIN +-- EXEC C6MartPeriodico.SRV_STORICIZZAZIONE @tabella +-- SET @tabellaMartDaStoricizzare = 1 +-- END +-- ELSE +-- SET @tabellaMartDaStoricizzare = 0 +-- +-- SELECT @tabellaMartDaStoricizzare tabella, @tabella nome + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_TRUNCATE_RP_STAGING.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_TRUNCATE_RP_STAGING.sql new file mode 100644 index 00000000..3813dcd3 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_TRUNCATE_RP_STAGING.sql @@ -0,0 +1,62 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_TRUNCATE_RP_STAGING + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_TRUNCATE_RP_STAGING] + -- Add the parameters for the stored procedure here +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- *** TABELLE GESTIONE ERRORE *** -- + -- TRUNCATE TABLE dbo.GLOBAL_ERROR; + -- *** FINE TABELLE GESTIONE ERRORE *** -- + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_Staging SEI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6Staging.RP_Proposta; + TRUNCATE TABLE C6Staging.RP_DettaglioOperazione; + TRUNCATE TABLE C6Staging.RP_PatrimonioTerzi; + TRUNCATE TABLE C6Staging.RP_DettAltriProdotti; + TRUNCATE TABLE C6Staging.RP_DettPatrAziendale; + TRUNCATE TABLE C6Staging.RP_MappaturaPT; + TRUNCATE TABLE C6Staging.RP_REP_ASSET_1_E_2_ORDINATE; + TRUNCATE TABLE C6Staging.RP_DettImmobiliare; + TRUNCATE TABLE C6Staging.RP_DettProdottiTerzi; + TRUNCATE TABLE C6Staging.RP_AssetClass; + TRUNCATE TABLE C6Staging.RP_Mappatura; + TRUNCATE TABLE C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3; + TRUNCATE TABLE C6Staging.RP_PosizioniProposta; + TRUNCATE TABLE C6Staging.RP_AnAlberatura; + TRUNCATE TABLE C6Staging.RP_Cliente; + TRUNCATE TABLE C6Staging.RP_PromotoreBancario; + TRUNCATE TABLE C6Staging.RP_PosizioniPortafoglio; + TRUNCATE TABLE C6Staging.RP_ProgettiPiramideModello; + TRUNCATE TABLE C6Staging.RP_Progetto; + TRUNCATE TABLE C6Staging.RP_DettaglioPosizionePortafoglio; + TRUNCATE TABLE C6Staging.RP_GradoParentela; + TRUNCATE TABLE C6Staging.RP_Migraz_Pianificazione; + TRUNCATE TABLE C6Staging.RP_Parentela; + TRUNCATE TABLE C6Staging.RP_Migraz_Progetto; + TRUNCATE TABLE C6Staging.RP_Migraz_Posizioni; + TRUNCATE TABLE C6Staging.RP_CatalogoProdotti; + TRUNCATE TABLE C6Staging.RP_ClientePB; + TRUNCATE TABLE C6Staging.RP_AnEmittente; + TRUNCATE TABLE C6Staging.RP_Pianificazione; + + +END + diff --git a/sql/storedCollaudo/C6MartPeriodico_SRV_Verifica_DISALLINEAMENTI_MONIT.sql b/sql/storedCollaudo/C6MartPeriodico_SRV_Verifica_DISALLINEAMENTI_MONIT.sql new file mode 100644 index 00000000..c7ec2d68 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SRV_Verifica_DISALLINEAMENTI_MONIT.sql @@ -0,0 +1,168 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SRV_Verifica_DISALLINEAMENTI_MONIT + + + + + +-- ============================================= +-- Author: alessandro Tringali +-- Create date: 16 ottobre 2010 +-- Description: estrae la lista dei clienti per fase Ii +-- ============================================= +-- exec [C6MartPeriodico].[SRV_Verifica_DISALLINEAMENTI_MONIT] 'F','BLFLSU65M55A470K' +CREATE procedure [C6MartPeriodico].[SRV_Verifica_DISALLINEAMENTI_MONIT] + @rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + + +--DROP TABLE #TEMP_PATRIMONIO_BF_AGGR +SELECT +RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4) AS ID_AREA, +isnull(ORDINAMENTO_PROGETTO,0) as ordinamento_progetto, +SUM(CTV) AS SUM_CTV +INTO #TEMP_PATRIMONIO_BF_AGGR +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE ID_AREA NOT IN ('CC','NA') +AND REND_NON_RAPPR=0 +and rete=@Rete and COD_FISCALE =@CodiceFiscale +GROUP BY RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4), +isnull(ORDINAMENTO_PROGETTO,0) + + +SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +WHERE CODFIS IN +(SELECT DISTINCT COD_FISCALE FROM #TEMP_PATRIMONIO_BF_AGGR) + + + + +SELECT * +FROM +( +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO as bf_ordprorg, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog as mon_codprog, +'Disallineati Inv' as descContr +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +and id_area ='Inv' +union all +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog, +'Disallineati non Inv' as descContr +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +and id_area <>'Inv' +union all +-------------------------------------------- +-- SOLO MONITORAGGIO +-------------------------------------------- + +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog, +'Disalinneati Solo Monit Inv' as descContr +FROM +#TANAB M +left outer join +#TEMP_PATRIMONIO_BF_AGGR P +on +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +where +--AND M.CTV <> P.SUM_CTV +--and m.dtrif= c6martperiodico.gettrimestre2(getdate(),0) +m.ctv > 0 +and p.cod_fiscale is null +AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +and id_area ='Inv' + +union all + +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +p.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog, +'Disallineati Solo Monit non Inv' as descContr +FROM +#TANAB M +left outer join +#TEMP_PATRIMONIO_BF_AGGR P +on +M.RETE = P.RETE +AND M.CODFIS = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +where +DTFINE ='99991231' +-- M.CTV <> P.SUM_CTV +and m.ctv > 0 +and p.cod_fiscale is null +and codarea <>'Inv' + +) k +order by 2,1 + +end + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_Segnala_Disallineamenti.sql b/sql/storedCollaudo/C6MartPeriodico_Segnala_Disallineamenti.sql new file mode 100644 index 00000000..0fd05f3e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Segnala_Disallineamenti.sql @@ -0,0 +1,51 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Segnala_Disallineamenti + + + + + +-- exec [C6MartPeriodico].[Segnala_Disallineamenti] +CREATE procedure [C6MartPeriodico].[Segnala_Disallineamenti] +as + + set nocount on + + declare @Rete varchar(1) + declare @CodFis varchar(20) + declare @descSegnalazione varchar(200) + + --create table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim varchar(8), rete varchar(1), codiceFiscale varchar(20), TIPPROD varchar(100), CODINT varchar(100), CODPROD varchar(100), SUBPROD varchar(100), MAF varchar(100), CODABI varchar(100), ISIN varchar(100)) + + declare @dtTrim varchar(8) + + set @dtTrim = [C6MartPeriodico].[getTrimestre](getdate(),0) + + exec dbo.CreaTabellaBackUp 'tSegnala_Disallineamenti_Result', 'C6MartPeriodico' + + declare @contaLimiter int + + select @contaLimiter = count(*) from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] + + truncate table C6MartPeriodico.tSegnala_Disallineamenti_Result + + if @contaLimiter = 0 + begin + insert into C6MartPeriodico.tSegnala_Disallineamenti_Result (rete, codicefiscale, descrizione) + SELECT rete, codiceFiscale, descSegnalazione + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] + where idTipoControllo = 9 + end + else + begin + insert into C6MartPeriodico.tSegnala_Disallineamenti_Result (rete, codicefiscale, descrizione) + SELECT a.rete, a.codiceFiscale, a.descSegnalazione + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] a + inner join [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] b + on a.rete = b.rete + and a.codiceFiscale = b.cod_fiscale + where a.idTipoControllo = 9 + end + + select * from C6MartPeriodico.tSegnala_Disallineamenti_Result + diff --git a/sql/storedCollaudo/C6MartPeriodico_Segnala_Disallineamenti_20190129.sql b/sql/storedCollaudo/C6MartPeriodico_Segnala_Disallineamenti_20190129.sql new file mode 100644 index 00000000..b02517b6 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Segnala_Disallineamenti_20190129.sql @@ -0,0 +1,42 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Segnala_Disallineamenti_20190129 + + + + + +-- exec [C6MartPeriodico].[Segnala_Disallineamenti] +CREATE procedure [C6MartPeriodico].[Segnala_Disallineamenti_20190129] +as + + set nocount on + + declare @Rete varchar(1) + declare @CodFis varchar(20) + declare @descSegnalazione varchar(200) + + --create table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim varchar(8), rete varchar(1), codiceFiscale varchar(20), TIPPROD varchar(100), CODINT varchar(100), CODPROD varchar(100), SUBPROD varchar(100), MAF varchar(100), CODABI varchar(100), ISIN varchar(100)) + + declare @dtTrim varchar(8) + + set @dtTrim = [C6MartPeriodico].[getTrimestre](getdate(),0) + + exec dbo.CreaTabellaBackUp 'tSegnala_Disallineamenti_Result', 'C6MartPeriodico' + + truncate table C6MartPeriodico.tSegnala_Disallineamenti_Result + + insert into C6MartPeriodico.tSegnala_Disallineamenti_Result (rete, codicefiscale, descrizione) + + SELECT rete, codiceFiscale, descSegnalazione + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] + where idTipoControllo = 9 + + --SELECT a.rete, a.codiceFiscale, a.descSegnalazione + --FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] a + -- inner join [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] b + -- on a.rete = b.rete + -- and a.codiceFiscale = b.cod_fiscale + --where a.idTipoControllo = 9 + + select * from C6MartPeriodico.tSegnala_Disallineamenti_Result + diff --git a/sql/storedCollaudo/C6MartPeriodico_Segnala_ProdottiNonCensiti.sql b/sql/storedCollaudo/C6MartPeriodico_Segnala_ProdottiNonCensiti.sql new file mode 100644 index 00000000..3cf31130 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Segnala_ProdottiNonCensiti.sql @@ -0,0 +1,118 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Segnala_ProdottiNonCensiti + + + + + +-- exec [C6MartPeriodico].[Segnala_ProdottiNonCensiti] +CREATE procedure [C6MartPeriodico].[Segnala_ProdottiNonCensiti] +as + + set nocount on + + declare @Rete varchar(1) + declare @CodFis varchar(20) + declare @idTipoControllo int + + declare @tipprod varchar(100) + declare @codint varchar(100) + declare @codprod varchar(100) + declare @subprod varchar(100) + declare @maf varchar(100) + declare @codabi varchar(100) + declare @isin varchar(100) + + --create table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim varchar(8), rete varchar(1), codiceFiscale varchar(20), TIPPROD varchar(100), CODINT varchar(100), CODPROD varchar(100), SUBPROD varchar(100), MAF varchar(100), CODABI varchar(100), ISIN varchar(100)) + + declare @dtTrim varchar(8) + + set @dtTrim = [C6MartPeriodico].[getTrimestre](getdate(),0) + + exec dbo.CreaTabellaBackUp 'tSegnala_ProdottiNonCensiti_Result', 'C6MartPeriodico' + + truncate table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result + + declare @contaLimiter int + + select @contaLimiter = count(*) from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] + + if @contaLimiter = 0 + begin + declare cur cursor for + SELECT rete, codiceFiscale, idTipoControllo + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] + where idTipoControllo in (1, 2) + end + else + begin + declare cur cursor for + SELECT a.rete, a.codiceFiscale, a.idTipoControllo + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] a + inner join [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] b + on a.rete = b.rete + and a.codiceFiscale = b.cod_fiscale + where a.idTipoControllo in (1, 2) + end + --and codiceFiscale = 'VNTGNN63D16D704Q' + + open cur + + fetch next from cur into @Rete, @CodFis, @idTipoControllo + + while @@fetch_status = 0 + begin + + select @tipprod = tipprod, + @codint = codint, + @codprod = codprod, + @subprod = subprod, + @maf = maf, + @codabi = codabi, + @isin = isin + from C6StagingPeriodico.SPB_CONTR_SINTESI SPB + where + SPB.rete = @Rete and SPB.codfis = @CodFis + and positionid is NULL + order by tipprod, codint, subprod + + if @maf = '' + set @maf = null + + + if @idTipoControllo = 1 + begin + -- 1. TipProd + declare @TipoProdotto varchar(100) + + select distinct @TipoProdotto = TipoProdotto + from C6StagingPeriodico.RP_CatalogoProdotti + where TipoProdotto = @tipprod -- and codsottoprodotto = 'LSEL' and TipoProdotto = 'ASU2'-- AND CODMAF = '1499131' and codIsin = 'LU1829331989' + + --if @@rowcount = 0 + if @TipoProdotto is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODPROD, MAF, CODABI ) values (@dtTrim, @Rete, @CodFis, @tipprod, @codprod, @maf, @codabi) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod --+ ', CodInterno = ' + @codint + ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin + end + else + begin + -- 2. CodInt + declare @CodInterno varchar(100) + + select distinct @CodInterno = codinterno + from C6StagingPeriodico.RP_CatalogoProdotti + where + TipoProdotto = @tipprod + and + codinterno = @codint -- and codsottoprodotto = 'LSEL' and TipoProdotto = 'ASU2'-- AND CODMAF = '1499131' and codIsin = 'LU1829331989' + + --if @@rowcount = 0 + if @CodInterno is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODINT, CODPROD, MAF, CODABI) values (@dtTrim, @Rete, @CodFis, @tipprod, @codint, @codprod, @maf, @codabi) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod + ', CodInterno = ' + @codint --+ ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin + end + else + begin + -- 3 diff --git a/sql/storedCollaudo/C6MartPeriodico_Segnala_ProdottiNonCensiti_20190129.sql b/sql/storedCollaudo/C6MartPeriodico_Segnala_ProdottiNonCensiti_20190129.sql new file mode 100644 index 00000000..dc7a207f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Segnala_ProdottiNonCensiti_20190129.sql @@ -0,0 +1,116 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Segnala_ProdottiNonCensiti_20190129 + + + + + +-- exec [C6MartPeriodico].[Segnala_ProdottiNonCensiti] +CREATE procedure [C6MartPeriodico].[Segnala_ProdottiNonCensiti_20190129] +as + + set nocount on + + declare @Rete varchar(1) + declare @CodFis varchar(20) + declare @idTipoControllo int + + declare @tipprod varchar(100) + declare @codint varchar(100) + declare @codprod varchar(100) + declare @subprod varchar(100) + declare @maf varchar(100) + declare @codabi varchar(100) + declare @isin varchar(100) + + --create table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim varchar(8), rete varchar(1), codiceFiscale varchar(20), TIPPROD varchar(100), CODINT varchar(100), CODPROD varchar(100), SUBPROD varchar(100), MAF varchar(100), CODABI varchar(100), ISIN varchar(100)) + + declare @dtTrim varchar(8) + + set @dtTrim = [C6MartPeriodico].[getTrimestre](getdate(),0) + + exec dbo.CreaTabellaBackUp 'tSegnala_ProdottiNonCensiti_Result', 'C6MartPeriodico' + + truncate table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result + + declare cur cursor for + + SELECT rete, codiceFiscale, idTipoControllo + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] + where idTipoControllo in (1, 2) + + --SELECT a.rete, a.codiceFiscale, a.idTipoControllo + --FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] a + -- inner join [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] b + -- on a.rete = b.rete + -- and a.codiceFiscale = b.cod_fiscale + --where a.idTipoControllo in (1, 2) + + --and codiceFiscale = 'VNTGNN63D16D704Q' + + open cur + + fetch next from cur into @Rete, @CodFis, @idTipoControllo + + while @@fetch_status = 0 + begin + + select @tipprod = tipprod, + @codint = codint, + @codprod = codprod, + @subprod = subprod, + @maf = maf, + @codabi = codabi, + @isin = isin + from C6StagingPeriodico.SPB_CONTR_SINTESI SPB + where + SPB.rete = @Rete and SPB.codfis = @CodFis + and positionid is NULL + order by tipprod, codint, subprod + + if @maf = '' + set @maf = null + + + if @idTipoControllo = 1 + begin + -- 1. TipProd + declare @TipoProdotto varchar(100) + + select distinct @TipoProdotto = TipoProdotto + from C6StagingPeriodico.RP_CatalogoProdotti + where TipoProdotto = @tipprod -- and codsottoprodotto = 'LSEL' and TipoProdotto = 'ASU2'-- AND CODMAF = '1499131' and codIsin = 'LU1829331989' + + --if @@rowcount = 0 + if @TipoProdotto is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODPROD, MAF, CODABI ) values (@dtTrim, @Rete, @CodFis, @tipprod, @codprod, @maf, @codabi) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod --+ ', CodInterno = ' + @codint + ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin + end + else + begin + -- 2. CodInt + declare @CodInterno varchar(100) + + select distinct @CodInterno = codinterno + from C6StagingPeriodico.RP_CatalogoProdotti + where + TipoProdotto = @tipprod + and + codinterno = @codint -- and codsottoprodotto = 'LSEL' and TipoProdotto = 'ASU2'-- AND CODMAF = '1499131' and codIsin = 'LU1829331989' + + --if @@rowcount = 0 + if @CodInterno is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODINT, CODPROD, MAF, CODABI) values (@dtTrim, @Rete, @CodFis, @tipprod, @codint, @codprod, @maf, @codabi) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod + ', CodInterno = ' + @codint --+ ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin + end + else + begin + -- 3. SubProd + declare @CodSottoProdotto varchar(100) + + select distinct @CodSottoProdotto = codsottoprodotto + from C6StagingPeriodico.RP_CatalogoProdotti + where + Ti diff --git a/sql/storedCollaudo/C6MartPeriodico_SetDocumentMissing.sql b/sql/storedCollaudo/C6MartPeriodico_SetDocumentMissing.sql new file mode 100644 index 00000000..4b410e29 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_SetDocumentMissing.sql @@ -0,0 +1,13 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: SetDocumentMissing + + + CREATE procedure [C6MartPeriodico].[SetDocumentMissing] + ( @idReport bigint ) + as + begin + + update c6MartPeriodico.GESTIONE_PDF_FTP set FlagInvio = 'X' where identityreport = @idReport and FLagInvio = 'N' + + end + diff --git a/sql/storedCollaudo/C6MartPeriodico_UPDATE_TABELLE_CAMBIO_RETE.sql b/sql/storedCollaudo/C6MartPeriodico_UPDATE_TABELLE_CAMBIO_RETE.sql new file mode 100644 index 00000000..9406108a --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_UPDATE_TABELLE_CAMBIO_RETE.sql @@ -0,0 +1,87 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: UPDATE_TABELLE_CAMBIO_RETE + + + +CREATE procedure [C6MartPeriodico].[UPDATE_TABELLE_CAMBIO_RETE] +AS + +begin + +--------------------------------------- Recupero dalla Puc l'elenco dei cf sui quali stato fatto il cambio rete + +select v.codfis, v.piva, v.codman, v.codicecontratto, v.statocontratto, v.rete as retenew, v.agente as agentenew, c.rete as reteold, c.pb as agenteold + +into #elenco + +from [consuni].consulenzaunicafl.dbo.ClienteCambioReteContratto c +inner join [consuni].consulenzaunica.dbo.vinfocliente v +on v.codicecontratto=c.cod_conf +where flag_cli_fittizio='N' +and statocontratto in ('SEI','AVANZATOBASE') + +---------------------------------------- Aggiorno la rete sulle tabelle del giornaliero per evitare un nuovo invio di lettere ed email + +exec dbo.CreaTabellaBackUp 'gestione_pdf_ftp', 'c6mart', 'preCambioRete' +--select pdf.codicefiscale,pdf.rete as reteAttuale, elenco.retenew as nuovaRete +update pdf set pdf.rete = elenco.retenew +from c6mart.gestione_pdf_ftp pdf +inner join #elenco elenco +on pdf.codicefiscale = elenco.codfis + +exec dbo.CreaTabellaBackUp 'gestione_email', 'c6mart', 'preCambioRete' +--select email.cod_fiscale,email.rete as reteAttuale,elenco.retenew as nuovaRete +update email set email.rete = elenco.retenew +from c6mart.gestione_email email +inner join #elenco elenco +on email.cod_fiscale = elenco.codfis + + +---------------------------------------- Aggiorno la rete sulle tabelle della Trimestrale + +exec dbo.CreaTabellaBackUp 'APPO_CONTRATTI', 'C6StagingPeriodico', 'preCambioRete' +--select appo.cod_fiscale,appo.rete as reteAttuale,elenco.retenew as nuovaRete +update appo set appo.rete = elenco.retenew +from [C6StagingPeriodico].[APPO_CONTRATTI] appo +inner join #elenco elenco +on appo.cod_fiscale = elenco.codfis + + + + + +-- Log esecuzione + --INSERT INTO LOG_ESECUZIONE_PERIODICO + -- (Nome, Inizio, Nota) + --VALUES ( + -- 'UPDATE_TABELLE_CAMBIO_RETE', + -- GETDATE(), + -- 'Elaborazione trimestrale' + --) + + + + + -- Log esecuzione + --UPDATE + -- LOG_ESECUZIONE_PERIODICO + --SET + -- Fine = GETDATE(), + -- Tipo = 'UPDATE', + -- Righe = @@ROWCOUNT + --WHERE + -- Nome = 'UPDATE_TABELLE_CAMBIO_RETE' AND + -- Inizio = ( + -- SELECT + -- MAX(Inizio) + -- FROM + -- LOG_ESECUZIONE_PERIODICO + -- WHERE + -- Nome = 'UPDATE_TABELLE_CAMBIO_RETE' + -- ) + + + +end + + diff --git a/sql/storedCollaudo/C6MartPeriodico_UpdateStatoReport.sql b/sql/storedCollaudo/C6MartPeriodico_UpdateStatoReport.sql new file mode 100644 index 00000000..4b1fef5a --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_UpdateStatoReport.sql @@ -0,0 +1,18 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: UpdateStatoReport + +CREATE procedure [C6MartPeriodico].[UpdateStatoReport](@FiscalCode nvarchar(max), @Rete nvarchar(max)) +as +begin + +insert into dbo.logn(message, level, logged, application) +select 'UpdateStatoReport:'+@fiscalCode+@Rete, 'Info', getdate(), 'Trimestrale' + +update C6MartPeriodico.controllo_trimestrale +set stato_report = 4 +where COALESCE(cod_fiscale,'R')=COALESCE(@FiscalCode,'R') and COALESCE(rete,'R') =COALESCE(@Rete,'R') + +end + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_Util_Test_PL.sql b/sql/storedCollaudo/C6MartPeriodico_Util_Test_PL.sql new file mode 100644 index 00000000..2065169d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Util_Test_PL.sql @@ -0,0 +1,112 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Util_Test_PL + +CREATE procedure [C6MartPeriodico].[Util_Test_PL] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT 'C6MartPeriodico.PL_Intermediari' + DECLARE @num int + EXEC C6MartPeriodico.PL_Intermediari @Rete , @CodiceFiscale , @num OUTPUT + SELECT @num AS NumIntermediari + + SELECT 'PL_S10PatrimonioFinanziario' + EXEC C6MartPeriodico.PL_S10PatrimonioFinanziario @Rete , @CodiceFiscale + + SELECT 'PL_S18PatrimonioFinanziarioRischio' + EXEC C6MartPeriodico.PL_S18PatrimonioFinanziarioRischio @Rete,@CodiceFiscale + + SELECT 'PL_S1Patrimonio' + EXEC C6MartPeriodico.PL_S1Patrimonio @Rete,@CodiceFiscale + + SELECT 'PL_S23DettaglioRischio' + EXEC C6MartPeriodico.PL_S23DettaglioRischio @Rete,@CodiceFiscale + + SELECT 'PL_S25Anagrafica' + EXEC C6MartPeriodico.PL_S25Anagrafica @Rete,@CodiceFiscale + + SELECT 'PL_S26PatrimonioImmobiliare' + EXEC C6MartPeriodico.PL_S26PatrimonioImmobiliare @Rete,@CodiceFiscale + + SELECT 'PL_S27ALtroPatrimonio' + EXEC C6MartPeriodico.PL_S27ALtroPatrimonio @Rete,@CodiceFiscale + + SELECT 'PL_S2PatrimonioFinanziario' + EXEC C6MartPeriodico.PL_S2PatrimonioFinanziario @Rete,@CodiceFiscale + + SELECT 'PL_S31PatrimonioFinanziarioIntermediario' + EXEC C6MartPeriodico.PL_S31PatrimonioFinanziarioIntermediario @Rete,@CodiceFiscale + + SELECT 'PL_S32PatrimonioFinanziarioMAssetClass' + EXEC C6MartPeriodico.PL_S32PatrimonioFinanziarioMAssetClass @Rete,@CodiceFiscale + + SELECT 'PL_S36ProfiloRischio' + EXEC C6MartPeriodico.PL_S36ProfiloRischio @Rete,@CodiceFiscale + + SELECT 'PL_S37PiramideModello' + EXEC C6MartPeriodico.PL_S37PiramideModello @Rete,@CodiceFiscale + + SELECT 'PL_S43DettaglioProdottiBF' + EXEC C6MartPeriodico.PL_S43DettaglioProdottiBF @Rete,@CodiceFiscale + + SELECT 'PL_S47ContoCorrenteBF' + EXEC C6MartPeriodico.PL_S47ContoCorrenteBF @Rete,@CodiceFiscale + + SELECT 'PL_S48DettaglioProdotti' + EXEC C6MartPeriodico.PL_S48DettaglioProdotti @Rete,@CodiceFiscale + + SELECT 'PL_S49PolizzeAltriIstituti' + EXEC C6MartPeriodico.PL_S49PolizzeAltriIstituti @Rete,@CodiceFiscale + + SELECT 'PL_S50FondiAltriIstituti' + EXEC C6MartPeriodico.PL_S50FondiAltriIstituti @Rete,@CodiceFiscale + + SELECT 'PL_S51ContoCorrenteAI' + EXEC C6MartPeriodico.PL_S51ContoCorrenteAI @Rete,@CodiceFiscale + + SELECT 'PL_S56PatrimonioBFAreeBisogno' + EXEC C6MartPeriodico.PL_S56PatrimonioBFAreeBisogno @Rete,@CodiceFiscale + + SELECT 'PL_S57ConfrontoPiramidi' + EXEC C6MartPeriodico.PL_S57ConfrontoPiramidi @Rete,@CodiceFiscale + + SELECT 'PL_S6PatrimonioFinanziario' + EXEC C6MartPeriodico.PL_S6PatrimonioFinanziario @Rete,@CodiceFiscale + + SELECT 'PL_S75GradoCopertura' + EXEC C6MartPeriodico.PL_S75GradoCopertura @Rete,@CodiceFiscale + + SELECT 'PL_S76AlternativaPatrimonioNonRappresentabileAssettClass' + EXEC C6MartPeriodico.PL_S76AlternativaPatrimonioNonRappresentabileAssettClass @Rete,@CodiceFiscale + + SELECT 'PL_S76PatrimonioNonRappresentabileAssettClass' + EXEC C6MartPeriodico.PL_S76PatrimonioNonRappresentabileAssettClass @Rete,@CodiceFiscale + + SELECT 'PL_S80BisEvoluzioneRischio' + EXEC C6MartPeriodico.PL_S80BisEvoluzioneRischio @Rete,@CodiceFiscale + + SELECT 'PL_S80EvoluzioneControvalore' + EXEC C6MartPeriodico.PL_S80EvoluzioneControvalore @Rete,@CodiceFiscale + + SELECT 'PL_S82BisDatiSintetici' + EXEC C6MartPeriodico.PL_S82BisDatiSintetici @Rete,@CodiceFiscale + + SELECT 'PL_S82DatiSintetici' + EXEC C6MartPeriodico.PL_S82DatiSintetici @Rete,@CodiceFiscale + + SELECT 'PL_S83DatiRendimento' + EXEC C6MartPeriodico.PL_S83DatiRendimento @Rete,@CodiceFiscale + + SELECT 'PL_S84ControvaloreRisorseApportate' + EXEC C6MartPeriodico.PL_S84ControvaloreRisorseApportate @Rete,@CodiceFiscale + + SELECT 'PL_S85RendimentoPortafoglioCono' + EXEC C6MartPeriodico.PL_S85RendimentoPortafoglioCono @Rete,@CodiceFiscale + + SELECT 'PL_S86PatrimonioFinanziarioMAssetClass' + EXEC C6MartPeriodico.PL_S86PatrimonioFinanziarioMAssetClass @Rete,@CodiceFiscale + + SELECT 'P diff --git a/sql/storedCollaudo/C6MartPeriodico_Verifica_esecuzione_API_Trimestrale.sql b/sql/storedCollaudo/C6MartPeriodico_Verifica_esecuzione_API_Trimestrale.sql new file mode 100644 index 00000000..c6158cc2 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_Verifica_esecuzione_API_Trimestrale.sql @@ -0,0 +1,27 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: Verifica_esecuzione_API_Trimestrale + + + + + + +CREATE procedure [C6MartPeriodico].[Verifica_esecuzione_API_Trimestrale] as + +begin + + if( (SELECT TOP (1) +[flattivo] +FROM consuni.[ConsulenzaUnicaFL].[dbo].[Semaforo] +where nomebatch='Trimestrale Sei' +order by id desc)<>0) +begin +WAITFOR DELAY '00:03:00'; +exec [C6MartPeriodico].[Verifica_esecuzione_API_Trimestrale] +end +else +print('OK') +end + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_inserisci_promotori_fittizi.sql b/sql/storedCollaudo/C6MartPeriodico_inserisci_promotori_fittizi.sql new file mode 100644 index 00000000..ab46b6cf --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_inserisci_promotori_fittizi.sql @@ -0,0 +1,23 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: inserisci_promotori_fittizi + +CREATE procedure [C6MartPeriodico].[inserisci_promotori_fittizi] as +begin +insert into [C6StagingPeriodico].[ADS4WS_PROMOTORI] (rete,codice,prefisso,firma) +SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM C6MartPeriodico.RP_vContrattiPerGenerazioneReport C6 + INNER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE +end + diff --git a/sql/storedCollaudo/C6MartPeriodico_rp_aggiornaDataValidazione.sql b/sql/storedCollaudo/C6MartPeriodico_rp_aggiornaDataValidazione.sql new file mode 100644 index 00000000..42358225 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_rp_aggiornaDataValidazione.sql @@ -0,0 +1,64 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: rp_aggiornaDataValidazione + +CREATE PROCEDURE [C6MartPeriodico].[rp_aggiornaDataValidazione] +-- Serve all'applicativo da scaricare one shot, a regime modificare il linked server con CONSEVO +as + +--select count(*) from [10.10.32.220].ConsulenzaBaseFL.[dbo].CBS_STAMPAREPORT + +begin + + + +BEGIN TRANSACTION + BEGIN TRY + + --SELECT COUNT(*) FROM [CONSEVO].ConsulenzaBaseFL.[dbo].CBS_STAMPAREPORT + delete from [CONSEVO_PERIODICO].ConsulenzaBaseFL.[dbo].CBS_STAMPAREPORT + + insert into [CONSEVO_PERIODICO].ConsulenzaBaseFL.[dbo].CBS_STAMPAREPORT + + select + DataGenerazione as data, + SUBSTRING(NomeFile, 1, 11) as codiceContratto, --SUBSTRING(NomeFile, 0, 12) + case + when (id_fk_zip = -1) then 0 + else 1 + end as definitivo, + getDate() as dataAggiornamento + from + ( + select + datagenerazione, nomefile,id_fk_zip, + row_number() over (partition by SUBSTRING(NomeFile, 1, 11) order by datagenerazione desc) pippo from --SUBSTRING(NomeFile, 0, 12) + C6MartPeriodico.gestione_pdf_ftp + )l where pippo =1 + + + COMMIT TRANSACTION + +END TRY + +BEGIN CATCH + ROLLBACK TRANSACTION +END CATCH + + +--non esegue RPC vedere come farlo +--exec [10.10.32.220].consulenzabasefl.[dbo].CBS_STREPORT + +/* +la procedura consulenzabasefl.[dbo].CBS_STREPORT +[12:41:32] Veronica: tabella: +[12:41:52] Veronica: ConsulenzaBaseFL.[dbo].[CBS_StampaReport]( + [DATA] [datetime] NULL, + [CODICECONTRATTO] [varchar](11) NULL, + [DEFINITIVO] [int] NULL, + [DATAAGGIORNAMENTO] [datetime] NULL +) + + +*/ + +end diff --git a/sql/storedCollaudo/C6MartPeriodico_sp_BlackList_GetAll.sql b/sql/storedCollaudo/C6MartPeriodico_sp_BlackList_GetAll.sql new file mode 100644 index 00000000..e02612fd --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_sp_BlackList_GetAll.sql @@ -0,0 +1,21 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: sp_BlackList_GetAll + + +CREATE PROCEDURE [C6MartPeriodico].[sp_BlackList_GetAll] + @DataInserimento datetime +AS +BEGIN + +select * from [C6MartPeriodico].[ExcludedList] +where DataInserimento = @DataInserimento + + +END + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_sp_BlackList_GetBlockedNumber.sql b/sql/storedCollaudo/C6MartPeriodico_sp_BlackList_GetBlockedNumber.sql new file mode 100644 index 00000000..ca8942fc --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_sp_BlackList_GetBlockedNumber.sql @@ -0,0 +1,27 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: sp_BlackList_GetBlockedNumber + + +-- Stored procedure + +CREATE PROCEDURE [C6MartPeriodico].[sp_BlackList_GetBlockedNumber] + @DataInserimento datetime +AS +BEGIN + +select A.Bloccato, B.NonBloccato +from +(select Count(*) As Bloccato +from [C6MartPeriodico].[ExcludedList] +where DataInserimento = @DataInserimento + and Bloccato = 1) A, +(select Count(*) As NonBloccato +from [C6MartPeriodico].[ExcludedList] +where DataInserimento = @DataInserimento + and Bloccato = 0) B + + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_sp_BlackList_Ricerca_GetAll.sql b/sql/storedCollaudo/C6MartPeriodico_sp_BlackList_Ricerca_GetAll.sql new file mode 100644 index 00000000..48ff6717 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_sp_BlackList_Ricerca_GetAll.sql @@ -0,0 +1,21 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: sp_BlackList_Ricerca_GetAll + + +-- Stored procedure + +CREATE PROCEDURE [C6MartPeriodico].[sp_BlackList_Ricerca_GetAll] + @DataRicerca datetime +AS +BEGIN + +select * from [C6MartPeriodico].[ExcludedList] +where year(DataInserimento) = year(@DataRicerca) and + month(DataInserimento) = month(@DataRicerca) and + day(DataInserimento) = day(@DataRicerca) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_sp_BlackList_Save_Row.sql b/sql/storedCollaudo/C6MartPeriodico_sp_BlackList_Save_Row.sql new file mode 100644 index 00000000..1134a826 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_sp_BlackList_Save_Row.sql @@ -0,0 +1,24 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: sp_BlackList_Save_Row + + +-- Stored procedure + + +CREATE PROCEDURE [C6MartPeriodico].[sp_BlackList_Save_Row] + @Rete char(1), + @CodiceFiscale varchar(16), + @DescrizioneErrore varchar(8000), + @DataInserimento datetime, + @Bloccato bit +AS +BEGIN + +insert into [C6MartPeriodico].[ExcludedList]([RETE] ,[CodiceFiscale] ,[DescrizioneErrore], [DataInserimento], [Bloccato]) +VALUES (@Rete, @CodiceFiscale, @DescrizioneErrore, @DataInserimento, @Bloccato) + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_sp_BlackList_Update_Row.sql b/sql/storedCollaudo/C6MartPeriodico_sp_BlackList_Update_Row.sql new file mode 100644 index 00000000..e7c96e52 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_sp_BlackList_Update_Row.sql @@ -0,0 +1,26 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: sp_BlackList_Update_Row + + +-- Stored procedure + +CREATE PROCEDURE [C6MartPeriodico].[sp_BlackList_Update_Row] + @Rete char(1), + @CodiceFiscale varchar(16), + @DataInserimento datetime, + @Bloccato bit +AS +BEGIN + +update [C6MartPeriodico].[ExcludedList] +set [Bloccato] = @Bloccato +where [RETE] = @Rete and + [CodiceFiscale] = @CodiceFiscale and + [DataInserimento] = @DataInserimento + +END + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_sp_GetNumeroZipProdotti.sql b/sql/storedCollaudo/C6MartPeriodico_sp_GetNumeroZipProdotti.sql new file mode 100644 index 00000000..984fb525 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_sp_GetNumeroZipProdotti.sql @@ -0,0 +1,36 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: sp_GetNumeroZipProdotti + + +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 21/01/2015 +-- Description: Calcolo su Totali Report per gestione generazione Zip +-- ============================================= +CREATE procedure [C6MartPeriodico].[sp_GetNumeroZipProdotti] +AS +BEGIN + +Declare @Return int + +select @Return =count(*) +from [C6MartPeriodico].[GESTIONE_ZIP_FTP] ZipFtp +inner join ( select max(idElaborazioneZip) id_elab_zip + from [C6MartPeriodico].[ELABORAZIONI_ZIP] + ) Elab_Zip +on ZipFtp.FKIdElaborazioneZip = id_elab_zip +order by 1 desc + +select @Return + +End + + + + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_sp_UpdateIdReportPDF.sql b/sql/storedCollaudo/C6MartPeriodico_sp_UpdateIdReportPDF.sql new file mode 100644 index 00000000..93ca3c69 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_sp_UpdateIdReportPDF.sql @@ -0,0 +1,25 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: sp_UpdateIdReportPDF + +-- ============================================= +-- Author: +-- Description: Parallelizzazione PRocessi Trimestrale +-- 23/02/2014 Gestione Allineamento IdReport +-- con IdInRepository(ReportManager) di SeiReport.C6reportFisisco +-- ============================================= +CREATE procedure [C6MartPeriodico].[sp_UpdateIdReportPDF] + @IdReportC6 INT, + @IdReportManager int +AS +BEGIN + + +Update C6martperiodico.Gestione_PDF_FTP +Set idReport=@IdReportManager +where idReport=@IdReportC6; + + + +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_sp_caricaBlacklist.sql b/sql/storedCollaudo/C6MartPeriodico_sp_caricaBlacklist.sql new file mode 100644 index 00000000..edc17596 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_sp_caricaBlacklist.sql @@ -0,0 +1,90 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: sp_caricaBlacklist + + + + + + + + + + +-- Stored procedure + +CREATE PROCEDURE [C6MartPeriodico].[sp_caricaBlacklist] + +AS +BEGIN + +exec [C6StagingPeriodico].[REPTRIM_WSEIDC] +exec [C6StagingPeriodico].[REPTRIM_WSEIPS] + + Declare @dtTrime as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + + --truncate table C6MartPeriodico.ExcludedList + + drop table if exists #blacklist + drop table if exists #riunisco_blacklist + drop table if exists #rimuovi_duplicati + + update C6MartPeriodico.tabellone +set lettera_sost='N' --nel caso dovesse essere rilanciata e ci fossero problemi sulla wseidc e wseips + + + select distinct rete + ,case when codman <> '' then 'FF@' + CODMAN else codfis end as codiceFiscale, + case when tipolett = '0' then 'RFA=0'--'BLACKLIST RFA=0' + when tipolett = '6' then 'RFA Minus'--'BLACKLIST RFA MINUS CLIENTE SEI' + when tipolett = '2' then 'BLACKLIST RFA MINUS CLIENTE SEI E IMMOBILIARE' + when TIPOLETT='A' then 'Profilo EC' + END AS DescrErr + --when tipolett = 1 then 'BLACKLIST RFA MINUS CLIENTE IMMOBILIARE' + into #blacklist + from C6stagingPeriodico.wseidc + where TIPOLETT not in ('R','S') and dttrim = @dtTrime + +insert into #blacklist +select distinct rete, + case when codman <> '' then 'FF@' + CODMAN else codfis end as codiceFiscale, + 'Profilo Scaduto' as DescrErr + from c6stagingPeriodico.wseips + where dttrim = @dtTrime + + + + +insert into C6MartPeriodico.ExcludedList +select rete,codiceFiscale,DescrErr,getdate() as DataIns,'1' as Bloccato from #blacklist--#riunisco_blacklist + + +SELECT rete,codicefiscale,STRING_AGG( ISNULL(DescrErr, ' '), ',') As descrerr,getdate() as DataIns,'1' as Bloccato + into #riunisco_blacklist + From #blacklist group by rete,codicefiscale -- a causa del frontend non posso mettere piu motivazioni per lo stesso cf ma mi serve per il tabellone per la lettera sostitutiva + +update C6MartPeriodico.tabellone +set lettera_sost='S' +where chiave_acn in (select rete+codicefiscale from #riunisco_blacklist) + + +--rimuove duplicati nel caso questa sp dovesse essere lanciata piu volte + +select distinct rete,codicefiscale,descrerr +into #rimuovi_duplicati +from C6MartPeriodico.ExcludedList + +delete from C6MartPeriodico.ExcludedList +where rete+codicefiscale+DescrErr in (select rete+codicefiscale+DescrErr from #rimuovi_duplicati) + +insert into C6MartPeriodico.ExcludedList +select rete,codiceFiscale,DescrErr,getdate() as DataIns,'1' as Bloccato from #rimuovi_duplicati + +--fine rimozione duplicati + +exec [C6MartPeriodico].[Blacklist_Blocco_Tabellone] 'blocco' --aggiorna tabellone + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_sp_caricaBlacklist_RFAMinus_old.sql b/sql/storedCollaudo/C6MartPeriodico_sp_caricaBlacklist_RFAMinus_old.sql new file mode 100644 index 00000000..f783536f --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_sp_caricaBlacklist_RFAMinus_old.sql @@ -0,0 +1,47 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: sp_caricaBlacklist_RFAMinus_old + + +-- Stored procedure + +CREATE PROCEDURE [C6MartPeriodico].[sp_caricaBlacklist_RFAMinus] + +AS +BEGIN + + + Declare @dtTrime as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + + + + insert into c6martPeriodico.ExcludedList + select + [Rete] + ,case when codman <> '' then 'FF@' + CODMAN else codfis end as codiceFiscale + ,case when tipolett = 0 then 'BLACKLIST RFA=0' + when tipolett = 6 then 'BLACKLIST RFA MINUS CLIENTE SEI' + when tipolett = 2 then 'BLACKLIST RFA MINUS CLIENTE SEI E IMMOBILIARE' + when tipolett = 1 then 'BLACKLIST RFA MINUS CLIENTE IMMOBILIARE' END AS DescrErr + ,getdate() as [DataIns] + ,1 as [Bloccato] +from c6stagingPeriodico.wseidc +where dttrim = @dtTrime + + + + insert into c6martPeriodico.ExcludedList + select + [Rete] + ,case when codman <> '' then 'FF@' + CODMAN else codfis end as CODFIS + ,'BLACKLIST PROFILO SCADUTO' as DescrErr + ,getdate() as [DataIns] + ,1 as [Bloccato] +from c6stagingPeriodico.wseips +where dttrim = @dtTrime + + +END + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_sp_getDatiReport.sql b/sql/storedCollaudo/C6MartPeriodico_sp_getDatiReport.sql new file mode 100644 index 00000000..291763df --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_sp_getDatiReport.sql @@ -0,0 +1,65 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: sp_getDatiReport + + + + + +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 21/02/2015 +-- Description: Calcolo su Totali Report per gestione generazione Zip +-- ============================================= +CREATE procedure [C6MartPeriodico].[sp_getDatiReport] +AS +BEGIN + +select top 400 pdf.codicecontratto as codiceContratto , +pdf.rete as rete , +pdf.codicefiscale as codiceFiscale , +clienti.nome as nomeCliente , +clienti.cognome as cognomeCliente, +pdf.TipoReport as TipoReport, +pdf.idReport as IdReport , +contratti.cod_agente as codAgente , +isnull(promot.nome,'') as nomeAgente , +isnull(promot.Cognome,'') as cognomeAgente , +pdf.numeropagine as numeroPagine , +pdf.NomeFile as NomeFile, +contratti.tip_contratto tipoContratto, +id_fk_zip, +pdf.identityreport +from [C6MartPeriodico].[GESTIONE_PDF_FTP] PDF +inner join C6MartPeriodico.controllo_trimestrale contr +on pdf.rete = contr.rete and pdf.codicefiscale=contr.cod_fiscale +inner join [C6MartPeriodico].[ANAG_CLIENTI] Clienti +on pdf.rete=clienti.rete and pdf.codicefiscale=clienti.COD_FISCALE +inner join [C6StagingPeriodico].Appo_Contratti Contratti +on contratti.rete=pdf.rete and contratti.cod_fiscale= pdf.codicefiscale +left join [C6MartPeriodico].[ANAG_Promotori] promot +on contratti.rete=promot.rete and contratti.cod_agente= promot.id_promotore +left join C6martperiodico.ExcludedList ex +on pdf.rete=ex.rete and pdf.codicefiscale = ex.codicefiscale +where stato_report=8 -- Se gi generata la WhiteList -- 6 Se ancora non generata + +and IDReport=IdentityReport -- Utilizzare Questa Condizione in fase di generazione massiva + + +-- 27/10/2015 FCianfa commento cdz +-- Utilizzare questa condizione in fase di recupero report +--and IDReport in +--(select identificativo from dbo.reportDainserire_recupero) + +--order by IdentityReport + + + + + +End + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti.sql b/sql/storedCollaudo/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti.sql new file mode 100644 index 00000000..ce031e2b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti.sql @@ -0,0 +1,69 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: sp_getDatiReport_checkFileCorrotti + + + + + + +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 21/02/2015 +-- Description: Calcolo su Totali Report per gestione generazione Zip +-- ============================================= +CREATE procedure [C6MartPeriodico].[sp_getDatiReport_checkFileCorrotti] +AS +BEGIN + +select --top 10 + pdf.codicecontratto as codiceContratto , +pdf.rete as rete , +pdf.codicefiscale as codiceFiscale , +clienti.nome as nomeCliente , +clienti.cognome as cognomeCliente, +pdf.TipoReport as TipoReport, +--pdf.idReport as IdReport , +pdf.identityreport as IdReport , +contratti.cod_agente as codAgente , +isnull(promot.nome,'') as nomeAgente , +isnull(promot.Cognome,'') as cognomeAgente , +pdf.numeropagine as numeroPagine , +pdf.NomeFile as NomeFile, +contratti.tip_contratto tipoContratto, +id_fk_zip, +pdf.identityreport +from [C6MartPeriodico].[GESTIONE_PDF_FTP] PDF +inner join C6MartPeriodico.controllo_trimestrale contr +on pdf.rete = contr.rete and pdf.codicefiscale=contr.cod_fiscale +inner join [C6MartPeriodico].[ANAG_CLIENTI] Clienti +on pdf.rete=clienti.rete and pdf.codicefiscale=clienti.COD_FISCALE +inner join [C6StagingPeriodico].Appo_Contratti Contratti +on contratti.rete=pdf.rete and contratti.cod_fiscale= pdf.codicefiscale +left join [C6MartPeriodico].[ANAG_Promotori] promot +on contratti.rete=promot.rete and contratti.cod_agente= promot.id_promotore +left join C6martperiodico.ExcludedList ex +on pdf.rete=ex.rete and pdf.codicefiscale = ex.codicefiscale +where stato_report=8 -- 8 Se gi generata la WhiteList -- 6 Se ancora non generata + +--and IDReport=IdentityReport -- Utilizzare Questa Condizione in fase di generazione massiva + + +-- 27/10/2015 FCianfa commento cdz +-- Utilizzare questa condizione in fase di recupero report +--and IDReport in +--(select identificativo from dbo.reportDainserire_recupero) + +--order by IdentityReport + + + + + +End + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti_Griffin.sql b/sql/storedCollaudo/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti_Griffin.sql new file mode 100644 index 00000000..a059218e --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti_Griffin.sql @@ -0,0 +1,69 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: sp_getDatiReport_checkFileCorrotti_Griffin + + + + + + +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 21/02/2015 +-- Description: Calcolo su Totali Report per gestione generazione Zip +-- ============================================= +CREATE procedure [C6MartPeriodico].[sp_getDatiReport_checkFileCorrotti_Griffin] +AS +BEGIN + +select --top 10 + pdf.codicecontratto as codiceContratto , +pdf.rete as rete , +pdf.codicefiscale as codiceFiscale , +clienti.nome as nomeCliente , +clienti.cognome as cognomeCliente, +pdf.TipoReport as TipoReport, +--pdf.idReport as IdReport , +pdf.identityreport as IdReport , +contratti.cod_agente as codAgente , +isnull(promot.nome,'') as nomeAgente , +isnull(promot.Cognome,'') as cognomeAgente , +pdf.numeropagine as numeroPagine , +pdf.NomeFile as NomeFile, +contratti.tip_contratto tipoContratto, +id_fk_zip, +pdf.identityreport +from [C6MartPeriodico].[GESTIONE_PDF_FTP] PDF +inner join C6MartPeriodico.controllo_trimestrale contr +on pdf.rete = contr.rete and pdf.codicefiscale=contr.cod_fiscale +inner join [C6MartPeriodico].[ANAG_CLIENTI] Clienti +on pdf.rete=clienti.rete and pdf.codicefiscale=clienti.COD_FISCALE +inner join [C6StagingPeriodico].Appo_Contratti Contratti +on contratti.rete=pdf.rete and contratti.cod_fiscale= pdf.codicefiscale +left join [C6MartPeriodico].[ANAG_Promotori] promot +on contratti.rete=promot.rete and contratti.cod_agente= promot.id_promotore +left join C6martperiodico.ExcludedList ex +on pdf.rete=ex.rete and pdf.codicefiscale = ex.codicefiscale +where stato_report=8 -- 8 Se gi generata la WhiteList -- 6 Se ancora non generata +and pdf.codicecontratto = '519345CO803' +--and IDReport=IdentityReport -- Utilizzare Questa Condizione in fase di generazione massiva + + +-- 27/10/2015 FCianfa commento cdz +-- Utilizzare questa condizione in fase di recupero report +--and IDReport in +--(select identificativo from dbo.reportDainserire_recupero) + +--order by IdentityReport + + + + + +End + + + + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_sp_getIDReport.sql b/sql/storedCollaudo/C6MartPeriodico_sp_getIDReport.sql new file mode 100644 index 00000000..e1aae1c7 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_sp_getIDReport.sql @@ -0,0 +1,19 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: sp_getIDReport + +--[C6MartPeriodico].sp_getIDReport '232126CO200_20150418' +CREATE procedure [C6MartPeriodico].[sp_getIDReport] +@nomeFile varchar(100) +AS + +BEGIN + + + SELECT IDReport + FROM + C6MartPeriodico.GESTIONE_PDF_FTP + WHERE + nomefile=@nomeFile +END + + diff --git a/sql/storedCollaudo/C6MartPeriodico_srv_excel_zip.sql b/sql/storedCollaudo/C6MartPeriodico_srv_excel_zip.sql new file mode 100644 index 00000000..c2d92565 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_srv_excel_zip.sql @@ -0,0 +1,12 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: srv_excel_zip + +CREATE procedure [C6MartPeriodico].[srv_excel_zip] as +begin + +select cast(rete as nvarchar) as rete , cast(codicefiscale as nvarchar) as codicefiscale, cast(tiporeport as nvarchar) as tiporeport, id_fk_zip +from c6martperiodico.gestione_pdf_ftp +where datagenerazione>c6martperiodico.gettrimestre2(getdate(),0) +order by id_fk_zip asc +end + diff --git a/sql/storedCollaudo/C6MartPeriodico_start_ConvertiExcel_tabellone.sql b/sql/storedCollaudo/C6MartPeriodico_start_ConvertiExcel_tabellone.sql new file mode 100644 index 00000000..a1997d2a --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_start_ConvertiExcel_tabellone.sql @@ -0,0 +1,22 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: start_ConvertiExcel_tabellone + + + + + + +CREATE procedure [C6MartPeriodico].[start_ConvertiExcel_tabellone] as +begin + +--if((DATEDIFF(second, select top 1 data_avvio from C6MartPeriodico.selettore where id_richiesta=1 order by data_avvio desc, getdate() )<5) +insert into C6MartPeriodico.selettore values +(10,getdate(),'Conversione Tabellone da xlsx su db') + +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; + +end + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_start_email_Approval_tabellone.sql b/sql/storedCollaudo/C6MartPeriodico_start_email_Approval_tabellone.sql new file mode 100644 index 00000000..966117fa --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_start_email_Approval_tabellone.sql @@ -0,0 +1,19 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: start_email_Approval_tabellone + + + + + +create procedure [C6MartPeriodico].[start_email_Approval_tabellone] as +begin +insert into C6MartPeriodico.selettore values +(7,getdate(),'Invio Email Fase Approval') + +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; + +end + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_start_email_Certificazione_tabellone.sql b/sql/storedCollaudo/C6MartPeriodico_start_email_Certificazione_tabellone.sql new file mode 100644 index 00000000..0bdcaa8a --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_start_email_Certificazione_tabellone.sql @@ -0,0 +1,19 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: start_email_Certificazione_tabellone + + + + + +create procedure [C6MartPeriodico].[start_email_Certificazione_tabellone] as +begin +insert into C6MartPeriodico.selettore values +(6,getdate(),'Invio Email Fase Certificazione') + +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; + +end + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_start_email_ConfermaPostalizzazione_tabellone.sql b/sql/storedCollaudo/C6MartPeriodico_start_email_ConfermaPostalizzazione_tabellone.sql new file mode 100644 index 00000000..dd6c87d3 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_start_email_ConfermaPostalizzazione_tabellone.sql @@ -0,0 +1,18 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: start_email_ConfermaPostalizzazione_tabellone + + + + +create procedure [C6MartPeriodico].[start_email_ConfermaPostalizzazione_tabellone] as +begin +insert into C6MartPeriodico.selettore values +(4,getdate(),'Invio Segnalazione Conferma Postalizzazione') + +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; + +end + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_start_email_CongelamentoDB_tabellone.sql b/sql/storedCollaudo/C6MartPeriodico_start_email_CongelamentoDB_tabellone.sql new file mode 100644 index 00000000..dfd5281c --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_start_email_CongelamentoDB_tabellone.sql @@ -0,0 +1,18 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: start_email_CongelamentoDB_tabellone + + + + +create procedure [C6MartPeriodico].[start_email_CongelamentoDB_tabellone] as +begin +insert into C6MartPeriodico.selettore values +(3,getdate(),'Invio Segnalazione Congelamento DB MK') + +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; + +end + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_start_email_position_tabellone.sql b/sql/storedCollaudo/C6MartPeriodico_start_email_position_tabellone.sql new file mode 100644 index 00000000..344d4f3b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_start_email_position_tabellone.sql @@ -0,0 +1,17 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: start_email_position_tabellone + + + +create procedure [C6MartPeriodico].[start_email_position_tabellone] as +begin +insert into C6MartPeriodico.selettore values +(2,getdate(),'Invio Segnalazione Position') + +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; + +end + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_start_esportazione_tabellone.sql b/sql/storedCollaudo/C6MartPeriodico_start_esportazione_tabellone.sql new file mode 100644 index 00000000..7c161499 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_start_esportazione_tabellone.sql @@ -0,0 +1,35 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: start_esportazione_tabellone + + + + + +CREATE procedure [C6MartPeriodico].[start_esportazione_tabellone] as +begin + +----if((DATEDIFF(second, select top 1 data_avvio from C6MartPeriodico.selettore where id_richiesta=1 order by data_avvio desc, getdate() )<5) +insert into C6MartPeriodico.selettore values +(1,getdate(),'Invio Tabellone via E-Mail') + +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; + +waitfor delay '00:00:50' + +insert into C6MartPeriodico.selettore values +(10,getdate(),'Conversione Tabellone da xlsx su db') + +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; + +waitfor delay '00:00:05' + +--EXEC msdb.dbo.sp_stop_job +-- N'Esportazione_Tabellone' ; + +waitfor delay '00:00:01' + +end + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_temp_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql b/sql/storedCollaudo/C6MartPeriodico_temp_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql new file mode 100644 index 00000000..234faf7b --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_temp_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql @@ -0,0 +1,89 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: temp_GESTIONE_SELECT_EMAIL_DA_INVIARE + + +--[C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE] +CREATE PROCEDURE [C6MartPeriodico].[temp_GESTIONE_SELECT_EMAIL_DA_INVIARE] +AS + +--INSERT INTO C6MartPeriodico.Gestione_EmailBCK +--SELECT * FROM C6MartPeriodico.GESTIONE_EMAIL +--WHERE Data_Generazione < '20130613' + +--UPDATE STATISTICS C6MartPeriodico.GESTIONE_EMAIL + + + +--select * from c6martperiodico.anag_promotori where id_promotore = '014890' +--select * from c6storico.anag_promotori where id_promotore = '014890' +--update c6martperiodico.anag_promotori set e_mail = 'LBATTISTI2@bancafideuram.it' where id_promotore = '014890' +--drop table temp_mail +-- +--select * +--from temp_mail +--where testo like '%BSSSVT62L13H243Z%' +--where testo not like '%' + + +BEGIN + +--recupero la percentuale limite di risorse non associate + +DECLARE @Ambiente varchar(20) +select @Ambiente= dbo.getParametro('Ambiente') +DECLARE @DestinatarioEmail varchar(255) +select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail') + +DECLARE @SERVIZI_OPERATIVI as varchar(50) +select @SERVIZI_OPERATIVI= dbo.getParametro('EmailServiziOperativi') + +DECLARE @RESPONSABILE_PROCESSO as varchar(50) +select @RESPONSABILE_PROCESSO= dbo.getParametro('EmailResponsabileProcesso') + +SELECT top 800 + anag_promotori.*, + GESTIONE_EMAIL.[ID_ELAB] + ,GESTIONE_EMAIL.rete + ,GESTIONE_EMAIL.codICEPB cod_agente + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,'' Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,@SERVIZI_OPERATIVI,@RESPONSABILE_PROCESSO) + else + @DestinatarioEmail + end as [E_To] + ,'' E_Ccn + ,'' E_Cc + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],'','',ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + else + dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],'','',ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '---' + end as E_Subject + ,dbo.Replace_Testo_Email_Periodico(GESTIONE_EMAIL.RETE,GESTIONE_EMAIL.[CodicePB],GESTIONE_EMAIL.TIPO,TIPO_EMAIL.[Testo]) Testo +--drop table temp_mail +--into temp_mail +FROM [C6MartPeriodico].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6MartPeriodico].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + AND GESTIONE_EMAIL.[Tipo] <> 'LC_REP_GEN' +-- INNER JOIN [C6Mart].[CONTRATTOSEI] CONTRATTOSEI +-- ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] +-- AND CONTRATTOSEI.Cod_Agente = GESTIONE_EMAIL.CodicePB +-- INNER JOIN [C6MartPeriodico].[ANAG_CLIENTI] ANAG_CLIENTI +-- ON ANAG_CLIENTI.Rete = CONTRATTOSEI.[Rete] +-- AND ANAG_CLIENTI.Cod_Fiscale = CONTRATTOSEI.Cod_Fiscale + INNER JOIN [C6MartPeriodico].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = GESTIONE_EMAIL.[CodicePB] +-- WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' + --AND GESTIONE_EMAIL.rete = 's' +where ANAG_PROMOTORI.cognome = 'MILANESE' and nome = 'GIuSTINO' +END diff --git a/sql/storedCollaudo/C6MartPeriodico_temp_RP_DM_GestioneEmail.sql b/sql/storedCollaudo/C6MartPeriodico_temp_RP_DM_GestioneEmail.sql new file mode 100644 index 00000000..e6f64267 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_temp_RP_DM_GestioneEmail.sql @@ -0,0 +1,104 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: temp_RP_DM_GestioneEmail + +--delete from C6MartPeriodico.gestione_Email where data_Generazione > getDate()-1 +--truncate table log_esecuzione +--select * from log_esecuzione +CREATE PROCEDURE [C6MartPeriodico].[temp_RP_DM_GestioneEmail] +AS +BEGIN + +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- PERFEZIONAMENTO; +-- MANCATA MIGRAZIONE; +-- REINVIO SOLLECITO MANCATA MIGRAZIONE. + +--LA GESTIONE DELLE EMAIL PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO O +--PER REINVIO DEL SOLLECITO PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO +--VIENE FATTA DOPO L'ALLINEAMENTO CON I DATI DEL SIMPB + + +--ESTRAZIONE EMAIL PERFEZIONAMENTO +--TIPO EMAIL: "PERF" +--L'EMAIL VIENE INVIATA PER TUTTI I CLIENTI CHE HANNO DATA DI PERFEZIONAMENTO VALORIZZATA +--IL CONTROLLO SULLA DATA DI GENERAZIONE >= DELLA DATA DI PERFEZIONAMENTO E' DOVUTO AL +--FATTO CHE IL CONTRATTO PUO` ESSERE CHIUSO E RIAPERTO ED IN QUESTO CASO LA MAIL DI PERFEZIONAMENTO +--DEVE ESSERE REINVIATA + +-- EMAIL DI ADESIONE AL SERVIZIO SEI +-- TIPO EMAIL 'PERF' +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @ID_ELAB INT +DECLARE @MaxInvioSoll as SMALLINT + +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') as smallint) +SET @ID_ELAB = C6MartPeriodico.GETIDELAB() +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) --7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint) --7 + +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - Mail Perf',GETDATE(),'Elaborazione giornaliera') +--0. MODIFICO I RECORD IN GESTIONE EMAIL CON TIPO = PERF PER EVITARE IL REINVIO MULTIPLO A SEGUITO DELLA RIATTIVAZIONE +UPDATE C6MartPeriodico.GESTIONE_EMAIL +SET TIPO = 'OLD' +FROM C6MartPeriodico.Gestione_EMAIL EMAIL + INNER JOIN C6MartPeriodico.VCONTRATTI VC + ON VC.COD_FISCALE = EMAIL.COD_FISCALE + AND VC.rete = EMAIL.RETE + AND EMAIL.TIPO = 'PERF' + INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MC + ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB + AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO = '9999-12-31 00:00:00.000' + AND MC.Tip_riattivazione = 1 + + +--1. INSERIMENTO MAIL DI "PERFEZIONAMENTO" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- NON PRESENTI SU GESTIONE_EMAIL + +INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione, ID_ELAB) +SELECT + VC.Rete, + VC.Cod_Fiscale, + 'PERF' as TipoEmail, + GETDATE() AS DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6MartPeriodico.VCONTRATTI VC +INNER JOIN C6MartPeriodico.CONTRATTOSEI_METADATI MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb +LEFT JOIN C6MartPeriodico.GESTIONE_EMAIL EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + AND EMAIL.TIPO = 'PERF' + AND EMAIL.Data_Generazione >= VC.Data_Perf -- CONDIZIONE PER ESCLUDERE DAL JOIN UN CONTRATTO CHIUSO E RIAPERTO. +LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF -- IN QUESTO MODO LO INSERIAMO NUOVAMENTE IN GESTIONE_MAIL. + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + --AND VC.InvioBenvenuto = 'N' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND EMAIL.COD_FISCALE IS NULL + AND PF.RETE IS NULL + + +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'INSERT',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf' AND + Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf') + +INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - SollecitiNOMIG',GETDATE(),'Elaborazione giornaliera') + +-- 2. INSERIMENTO MAIL "SOLLECITI" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE +-- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO NULL -> CONSIDERIAMO DATA_PERF + +INSERT INTO C6MartPeriodico.GESTIONE_E diff --git a/sql/storedCollaudo/C6MartPeriodico_temp_RP_DM_PATRIMONIO_BF.sql b/sql/storedCollaudo/C6MartPeriodico_temp_RP_DM_PATRIMONIO_BF.sql new file mode 100644 index 00000000..648ad9a5 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_temp_RP_DM_PATRIMONIO_BF.sql @@ -0,0 +1,136 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: temp_RP_DM_PATRIMONIO_BF + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[temp_RP_DM_PATRIMONIO_BF] + -- Add the parameters for the stored procedure here + --select * from C6MartPeriodico.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_BF + + + + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND +-- SPB.DTSOTTOS IS NOT NULL THEN null +-- ELSE SPB.DTSOTTOS + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE SPB.DTRIFE --CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + SPB.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB + INTO #PATRIMONIO + FROM C6StagingPeriodico.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + + + UNION ALL + + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPR diff --git a/sql/storedCollaudo/C6MartPeriodico_test_CaricamentoPL_fc.sql b/sql/storedCollaudo/C6MartPeriodico_test_CaricamentoPL_fc.sql new file mode 100644 index 00000000..4c0b853d --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_test_CaricamentoPL_fc.sql @@ -0,0 +1,36 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: test_CaricamentoPL_fc + +CREATE procedure [C6MartPeriodico].[test_CaricamentoPL_fc] + -- Add the parameters for the stored procedure here + +AS +BEGIN + +DECLARE @rete char (1) +Declare @CodiceFiscale varchar(16) + +SELECT rete, + cod_fiscale +into #Clienti +FROM c6martperiodico.vcontrattipergenerazionereport + +SELECT TOP 1 @rete=rete,@CodiceFiscale=cod_fiscale FROM #Clienti + +while @@ROWCOUNT <> 0 +BEGIN +EXECUTE [C6MartPeriodico].[POPOLA_D2_S157ConfrontoPiramidi_SVIL] @Rete,@CodiceFiscale + + DELETE From #Clienti where rete=@rete and cod_fiscale=@CodiceFiscale + +SELECT TOP 1 @rete=rete,@CodiceFiscale=cod_fiscale FROM #Clienti + +END + +DROP TABLE #Clienti + +END + + + + diff --git a/sql/storedCollaudo/C6MartPeriodico_zzzPL_S80Alternativa.sql b/sql/storedCollaudo/C6MartPeriodico_zzzPL_S80Alternativa.sql new file mode 100644 index 00000000..efeb0093 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_zzzPL_S80Alternativa.sql @@ -0,0 +1,135 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: zzzPL_S80Alternativa + +-- Stored procedure + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80Alternativa]'F','PZZFCS50L28E092G' +--DROP PROCEDURE [C6MartPeriodico].[PL_S80BisEvoluzioneRischio] + +CREATE procedure [C6MartPeriodico].[zzzPL_S80Alternativa] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Recupero data congelamento SEI + + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + -- Inserimento Dati Scirocco + --SELECT @DettMovPrec = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM < '20111231' + SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + FROM C6MartPeriodico.DettaglioMovimenti + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale + --SELECT @DettMovCorr = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM = '20111231' + + IF @DettMovPrec is null + SET @AppoDettMovPrec = 'n.d.' + ELSE + SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + + IF @DettMovCorr is null + SET @AppoDettMovCorr = 'n.d.' + ELSE + SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + + --query per asterischi situazione precedente + IF EXISTS(SELECT * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICS] + WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + AND RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + + IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + ----------------------------------------- + + --query per asterischi situazione corrente + IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + WHERE COD_INTERNO IN ('37', 'GP') + AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + SET @NumAsterischiCorr = 1 + ----------------------------------------- + + SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + + SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + + + IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) + BEGIN + + -- Attivazione monitoraggio + +--versione nuova da testare + + + SELECT + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + INI.CTV_EXT, + INI.CTV_INV, + INI.CTV_PRE, + INI.CTV_RIS, + INI.CTV_LIQ, + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ AS RisorseAllocate, + INI.CTV_NA AS RisorseNonAllocate, + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA AS RisorseFinanziarie, + IN diff --git a/sql/storedCollaudo/C6MartPeriodico_zzzRP_DM_EMAIL_PB.sql b/sql/storedCollaudo/C6MartPeriodico_zzzRP_DM_EMAIL_PB.sql new file mode 100644 index 00000000..c7b2ba21 --- /dev/null +++ b/sql/storedCollaudo/C6MartPeriodico_zzzRP_DM_EMAIL_PB.sql @@ -0,0 +1,105 @@ +-- Schema: C6MartPeriodico +-- Stored Procedure: zzzRP_DM_EMAIL_PB + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 26 gennaio 2009 +-- Description: Recupera PB, RM, DM, AM le cui email non sono ancora valorizzate. +-- ============================================= +CREATE procedure [C6MartPeriodico].[zzzRP_DM_EMAIL_PB] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_EMAIL_PB', + GETDATE(), + 'Elaborazione trimestrale' + ) + + SELECT DISTINCT + CODICI_PB.RETE AS RETE, + CODICI_PB.CODICE AS CODICE, + + (CASE CODICI_PB.RETE WHEN 'F' THEN 'R' ELSE 'P' END) AS PREFISSO, + (CASE CODICI_PB.RETE WHEN 'F' THEN 'R' ELSE 'P' END) + CODICI_PB.CODICE AS FIRMA +--, +-- CODICI_PB.LIVELLO AS LIVELLO, +-- CODICI_PB.LIV_ORD AS LIV_ORD + FROM + ( + SELECT STRUTTURA.RETE, STRUTTURA.PB CODICE--, 'PB' as LIVELLO, 1 AS LIV_ORD + FROM C6MartPeriodico.VCONTRATTI PB + INNER JOIN C6MartPeriodico.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + + UNION + + SELECT STRUTTURA.RETE, STRUTTURA.RM CODICE--, 'RM' as LIVELLO, 2 AS LIV_ORD + FROM C6MartPeriodico.VCONTRATTI PB + INNER JOIN C6MartPeriodico.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + + UNION + + SELECT STRUTTURA.RETE, STRUTTURA.DM CODICE--, 'DM' as LIVELLO, 3 AS LIV_ORD + FROM C6MartPeriodico.VCONTRATTI PB + INNER JOIN C6MartPeriodico.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + + UNION + + SELECT STRUTTURA.RETE, STRUTTURA.AM CODICE--, 'AM' as LIVELLO, 4 AS LIV_ORD + FROM C6MartPeriodico.VCONTRATTI PB + INNER JOIN C6MartPeriodico.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + + ) CODICI_PB + LEFT JOIN C6MartPeriodico.EMAIL_PB EMAIL_PB_ESISTENTI + ON EMAIL_PB_ESISTENTI.RETE = CODICI_PB.RETE + AND EMAIL_PB_ESISTENTI.CODICE = CODICI_PB.CODICE + LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON (CODICI_PB.CODICE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND CODICI_PB.RETE = PF.RETE + WHERE + --CODICI_PB.CODICE = '014777' and + EMAIL_PB_ESISTENTI.EMAIL IS NULL + AND PF.RETE IS NULL + + +--togliere + --and CODICI_PB.CODICE not in ('010712','015115','015117','015091','015182','006167','015125','015126','015185','006154','006200') +and CODICI_PB.CODICE not in ('015185') +---eliminato il filtro '010712' +---eliminato il filtro su '015089'--,'015163', 12/08 + --ORDER BY CODICI_PB.LIV_ORD + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_EMAIL_PB' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_EMAIL_PB' + ) +END + + diff --git a/sql/storedCollaudo/C6Mart_AL_AggiornaPortafoglioCliente.sql b/sql/storedCollaudo/C6Mart_AL_AggiornaPortafoglioCliente.sql new file mode 100644 index 00000000..010a092d --- /dev/null +++ b/sql/storedCollaudo/C6Mart_AL_AggiornaPortafoglioCliente.sql @@ -0,0 +1,172 @@ +-- Schema: C6Mart +-- Stored Procedure: AL_AggiornaPortafoglioCliente + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[AL_AggiornaPortafoglioCliente] +AS +BEGIN +-- SET NOCOUNT ON added to prevent extra result sets from +-- interfering with SELECT statements. +-- SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'AL_AggiornaPortafoglioCliente', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6Mart.PIRAMIDE_VERT + + --RICALCOLO AGGREGATI + INSERT INTO C6Mart.PIRAMIDE_VERT + ( + RETE, + COD_FISCALE, + ID_AREA, + CTV_AREA + ) + SELECT + PATR.RETE, + PATR.COD_FISCALE, + PATR.ID_AREA, + SUM(CTV) + FROM C6Mart.PATRIMONIO_BF PATR + GROUP BY + PATR.RETE, + PATR.COD_FISCALE, + PATR.ID_AREA + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'AL_AggiornaPortafoglioCliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'AL_AggiornaPortafoglioCliente' + ) + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'AL_AggiornaPortafoglioCliente', + GETDATE(), + 'Elaborazione giornaliera' + ) + + --AGGIORNAMENTO TABELLA CONTRATTOSEI + --FLAG RISORSE NON ASSOCIATE + --SOLO PER I CLIENTI A CUI ANDREBBE INVIATO IL REPORT + UPDATE C6Mart.ContrattoSEI + SET + RisorseNA = + CASE + WHEN CLIENTIRISNA.percRisorseNA >= CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2)) THEN 'S' + ELSE 'N' + END + --AGGIUNTA perch mancava, FABRIZIO E VALERIO per Azzeramento numero solleciti email + ,NumSolleciti = + CASE + WHEN (C6.ClienteMigrato = 'S') and (CLIENTIRISNA.percRisorseNA < CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2))) THEN 0 + ELSE NumSolleciti + END + FROM C6Mart.ContrattoSEI C6 + LEFT JOIN ( + + SELECT + NA.RETE, + NA.COD_FISCALE, + CASE + WHEN TOT.CTVTOTALE = 0 THEN 0 + ELSE 100 * NA.CTVNA / TOT.CTVTOTALE + END AS percRisorseNA + FROM ( + SELECT + ISNULL(SUM(PATRBF.CTV),0) AS CTVNA, + PATRBF.RETE, + PATRBF.COD_FISCALE + FROM C6Mart.PATRIMONIO_BF PATRBF + INNER JOIN C6Mart.vTuttiIContratti VCONTRATTIPERSEI + ON PATRBF.RETE = VCONTRATTIPERSEI.RETE + AND PATRBF.COD_FISCALE = VCONTRATTIPERSEI.COD_FISCALE + WHERE ID_AREA = 'Na' + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + ) NA + INNER JOIN ( + SELECT + SUM(PATRBF.CTV) AS CTVTOTALE, + PATRBF.RETE, + PATRBF.COD_FISCALE + FROM C6Mart.PATRIMONIO_BF PATRBF + INNER JOIN C6Mart.vTuttiIContratti VCONTRATTIPERSEI + ON PATRBF.RETE = VCONTRATTIPERSEI.RETE + AND PATRBF.COD_FISCALE = VCONTRATTIPERSEI.COD_FISCALE + WHERE ID_AREA <> 'Cc' + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + ) TOT + ON TOT.RETE = NA.RETE + AND TOT.COD_FISCALE = NA.COD_FISCALE + + ) CLIENTIRISNA + ON C6.RETE = CLIENTIRISNA.RETE + AND C6.COD_FISCALE = CLIENTIRISNA.COD_FISCALE + + + --V Aggiorna il flag Profilo Attivo per i clienti che non hanno ricevuto il report + UPDATE C6MART.CONTRATTOSEI + SET profiloAttivo = CASE WHEN (ISNULL(MIFID.SCADUTO,1) = 1) THEN 0 ELSE 1 end + FROM C6MART.CONTRATTOSEI + LEFT JOIN C6MART.MIFID + ON CONTRATTOSEI.RETE = MIFID.RETE + AND CONTRATTOSEI.COD_FISCALE = MIFID.COD_FISCALE + WHERE InvioBenvenuto = 'N' + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'AL_AggiornaPortafoglioCliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'AL_AggiornaPortafoglioCliente' + ) + + /*INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'AL_AggiornaPortafoglioCliente', + GETDATE(), + 'Elaborazione giornaliera' + )*/ + + --FLAG PARTITE VIAGGIANTI DISINVESTIMENTO + --SOLO PER I CLIENTI A CUI ANDREBBE IN diff --git a/sql/storedCollaudo/C6Mart_CercaCaratteriAnomali.sql b/sql/storedCollaudo/C6Mart_CercaCaratteriAnomali.sql new file mode 100644 index 00000000..7d34b50d --- /dev/null +++ b/sql/storedCollaudo/C6Mart_CercaCaratteriAnomali.sql @@ -0,0 +1,122 @@ +-- Schema: C6Mart +-- Stored Procedure: CercaCaratteriAnomali + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +CREATE procedure [C6Mart].[CercaCaratteriAnomali] +AS +BEGIN + + +declare @num int +set @num = 1 + +CREATE TABLE #tab_temp( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL) + + +set @num = 1 +while @num < 150 + +begin +insert into #tab_temp +SELECT ascii(substring(email,@num,1)), + substring(email,@num,1), + rete, + Cod_Fiscale, + 'EMAIL', + email +FROM C6Mart.vcontratti +WHERE + ascii(substring(email,@num,len(email))) not between 64 and 90 +and ascii(substring(email,@num,len(email))) not between 97 and 122 +and ascii(substring(email,@num,len(email))) not between 48 and 57 +and ascii(substring(email,@num,len(email))) <> 32 +and ascii(substring(email,@num,len(email))) <> 40 +and ascii(substring(email,@num,len(email))) <> 41 +and ascii(substring(email,@num,len(email))) <> 43 +and ascii(substring(email,@num,len(email))) <> 44 +and ascii(substring(email,@num,len(email))) <> 45 +and ascii(substring(email,@num,len(email))) <> 46 +and ascii(substring(email,@num,len(email))) <> 95 +and ascii(substring(email,@num,len(email))) <> 39 +and ascii(substring(email,@num,len(email))) <> 47 +and ascii(substring(email,@num,len(email))) <> 63 + + +set @num = @num + 1 +end + +--inizio intervento: 05/02/2015 FCianfa Controllo caratteriAnomali su campi Nome e Cognome della tb c6mart.ANAG_CLIENTI +set @num = 1 +while @num < 150 + +begin +insert into #tab_temp +SELECT ascii(substring(Nome+Cognome,@num,1)), + substring(Nome+Cognome,@num,1), + rete, + Cod_Fiscale, + 'Nome+Cognome', + Nome+Cognome +FROM C6Mart.ANAG_CLIENTI +WHERE + ascii(substring(Nome+Cognome,@num,len(Nome))) not between 64 and 90 +and ascii(substring(Nome+Cognome,@num,len(Nome))) not between 97 and 122 +and ascii(substring(Nome+Cognome,@num,len(Nome))) not between 48 and 57 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 32 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 40 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 41 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 43 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 44 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 45 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 46 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 95 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 39 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 38 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 47 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 63 + + +set @num = @num + 1 + +end +--fine intervento: 05/02/2015 FCianfa Controllo caratteriAnomali su campi Nome e Cognome della tb c6mart.ANAG_CLIENTI + +set @num = 1 +while @num < 150 + +begin +insert into #tab_temp +SELECT ascii(substring(Indirizzo,@num,1)), + substring(Indirizzo,@num,1), + rete, + Cod_Fiscale, + 'INDIRIZZO', + Indirizzo +FROM C6Mart.vcontratti +WHERE + ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 64 and 90 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 97 and 122 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 48 and 57 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 32 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 40 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 41 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 43 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 44 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 45 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 46 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 95 +and ascii(substring(Ind diff --git a/sql/storedCollaudo/C6Mart_Controlli_RepGiornaliera.sql b/sql/storedCollaudo/C6Mart_Controlli_RepGiornaliera.sql new file mode 100644 index 00000000..98c4856c --- /dev/null +++ b/sql/storedCollaudo/C6Mart_Controlli_RepGiornaliera.sql @@ -0,0 +1,132 @@ +-- Schema: C6Mart +-- Stored Procedure: Controlli_RepGiornaliera + + + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +CREATE procedure [C6Mart].[Controlli_RepGiornaliera] +AS +BEGIN + +-------------------------- +--prima parte +-------------------------- + + drop table if exists C6Mart.clientidasistemare + drop table if exists c6mart.TB_ClienticonCaratteriAnomali + drop table if exists #tab_temp + declare @num int + set @num = 1 + + CREATE TABLE #tab_temp( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL) + + + set @num = 1 + while @num < 150 + + begin + insert into #tab_temp + SELECT ascii(substring(email,@num,1)), + substring(email,@num,1), + rete, + Cod_Fiscale, + 'EMAIL', + email + FROM C6Mart.vcontratti + WHERE + ascii(substring(email,@num,len(email))) not between 64 and 90 + and ascii(substring(email,@num,len(email))) not between 97 and 122 + and ascii(substring(email,@num,len(email))) not between 48 and 57 + and ascii(substring(email,@num,len(email))) <> 32 + and ascii(substring(email,@num,len(email))) <> 40 + and ascii(substring(email,@num,len(email))) <> 41 + and ascii(substring(email,@num,len(email))) <> 43 + and ascii(substring(email,@num,len(email))) <> 44 + and ascii(substring(email,@num,len(email))) <> 45 + and ascii(substring(email,@num,len(email))) <> 46 + and ascii(substring(email,@num,len(email))) <> 95 + and ascii(substring(email,@num,len(email))) <> 39 + and ascii(substring(email,@num,len(email))) <> 47 + and ascii(substring(email,@num,len(email))) <> 63 + + + set @num = @num + 1 + end + + --inizio intervento: 05/02/2015 FCianfa Controllo caratteriAnomali su campi Nome e Cognome della tb c6mart.ANAG_CLIENTI + set @num = 1 + while @num < 150 + + begin + insert into #tab_temp + SELECT ascii(substring(Nome,@num,1)), + substring(Nome,@num,1), + rete, + Cod_Fiscale, + 'Nome', + Nome + FROM C6Mart.ANAG_CLIENTI + WHERE + ascii(substring(Nome,@num,len(Nome))) not between 64 and 90 + and ascii(substring(Nome,@num,len(Nome))) not between 97 and 122 + and ascii(substring(Nome,@num,len(Nome))) not between 48 and 57 + and ascii(substring(Nome,@num,len(Nome))) <> 32 + and ascii(substring(Nome,@num,len(Nome))) <> 40 + and ascii(substring(Nome,@num,len(Nome))) <> 41 + and ascii(substring(Nome,@num,len(Nome))) <> 43 + and ascii(substring(Nome,@num,len(Nome))) <> 44 + and ascii(substring(Nome,@num,len(Nome))) <> 45 + and ascii(substring(Nome,@num,len(Nome))) <> 46 + and ascii(substring(Nome,@num,len(Nome))) <> 95 + and ascii(substring(Nome,@num,len(Nome))) <> 39 + and ascii(substring(Nome,@num,len(Nome))) <> 38 + and ascii(substring(Nome,@num,len(Nome))) <> 47 + and ascii(substring(Nome,@num,len(Nome))) <> 63 + + + set @num = @num + 1 + + end + --aggiunta 30/07/2022 per il cognome + set @num = 1 + while @num < 150 + begin + insert into #tab_temp + SELECT ascii(substring(Cognome,@num,1)), + substring(Cognome,@num,1), + rete, + Cod_Fiscale, + 'Cognome', + Cognome + FROM C6Mart.ANAG_CLIENTI + WHERE + ascii(substring(Cognome,@num,len(Cognome))) not between 64 and 90 + and ascii(substring(Cognome,@num,len(Cognome))) not between 97 and 122 + and ascii(substring(Cognome,@num,len(Cognome))) not between 48 and 57 + and ascii(substring(Cognome,@num,len(Cognome))) <> 32 + and ascii(substring(Cognome,@num,len(Cognome))) <> 40 + and ascii(substring(Cognome,@num,len(Cognome))) <> 41 + and ascii(substring(Cognome,@num,len(Cognome))) <> 43 + and ascii(substring(Cognome,@num,len(Cognome))) <> 44 + and ascii(substring(Cognome,@num,len(Cognome))) <> 45 + and ascii(substring(Cognome,@num,len(Cognome))) < diff --git a/sql/storedCollaudo/C6Mart_DM_AGGIORNA_CLIENTE.sql b/sql/storedCollaudo/C6Mart_DM_AGGIORNA_CLIENTE.sql new file mode 100644 index 00000000..eeb32642 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_AGGIORNA_CLIENTE.sql @@ -0,0 +1,54 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_AGGIORNA_CLIENTE + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_AGGIORNA_CLIENTE] + @Rete char(1), + @CodiceFiscale varchar(16), + @Nome varchar(50), + @Cognome varchar(50), + @DataNascita datetime=NULL, + @Cittadinanza varchar(150), + @Indirizzo varchar(150), + @Localita varchar(100), + @Provincia varchar(2), + @CAP varchar(5), + @Nazione varchar(50), + @DataInizio datetime=NULL, + @Sesso varchar(1) +AS +BEGIN + +declare @eta smallint + + +set @eta = CASE + when @DataNascita IS NULL then null + ELSE DATEDIFF(YY, @DataNascita, GETDATE()) + END + + UPDATE C6MART.ANAG_CLIENTI + SET + NOME = @Nome, + COGNOME = @Cognome, + DATA_NASCITA = @DataNascita, + ETA =@eta, + CITTADINANZA = @Cittadinanza, + INDIRIZZO = @Indirizzo, + LOCALITA = @Localita, + PROVINCIA = @Provincia, + CAP = @CAP, + NAZIONE = @Nazione, + DATA_INIZIO = @DataInizio, + SESSO = @Sesso + WHERE + RETE = @Rete AND COD_FISCALE = @CodiceFiscale +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_ALBERO_PRODOTTI.sql b/sql/storedCollaudo/C6Mart_DM_ALBERO_PRODOTTI.sql new file mode 100644 index 00000000..04125c04 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_ALBERO_PRODOTTI.sql @@ -0,0 +1,63 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_ALBERO_PRODOTTI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ALBERO_PRODOTTI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = C6MART.GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ALBERO_PRODOTTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.ALBERO_PRODOTTI + + INSERT INTO [C6Mart].[ALBERO_PRODOTTI] + ([DESCRIZIONE_ORIGINALE] + ,[ALBERO_GERARCHIA_1] + ,[ALBERO_GERARCHIA_2] + ,[ALBERO_GERARCHIA_3] + ,[ID_ELAB]) + SELECT [DESCRIZIONE_ORIGINALE] + ,[ALBERO_GERARCHIA_1] + ,[ALBERO_GERARCHIA_2] + ,[ALBERO_GERARCHIA_3] + , @ID_ELAB AS ID_ELAB + FROM [C6Staging].[S4_S5_S13_TRAD_UNTIL_LIV3] + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ALBERO_PRODOTTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ALBERO_PRODOTTI' + ) +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_ALL_PATRIMONIO.sql b/sql/storedCollaudo/C6Mart_DM_ALL_PATRIMONIO.sql new file mode 100644 index 00000000..61706710 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_ALL_PATRIMONIO.sql @@ -0,0 +1,123 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_ALL_PATRIMONIO + + + + +-- ============================================= +-- AUTHOR: ALESSANDRO TRINGALI +-- CREATE DATE: 18 SETTEMBRE 2009 +-- DESCRIPTION: +-- ============================================= +CREATE procedure [C6Mart].[DM_ALL_PATRIMONIO] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = [C6Mart].GETIDELAB() + + -- LOG ESECUZIONE + INSERT INTO LOG_ESECUZIONE + (NOME, INIZIO, NOTA) + VALUES ( + 'DM_ALL_PATRIMONIO', + GETDATE(), + 'ELABORAZIONE TRIMESTRALE' + ) + + + TRUNCATE TABLE [C6Mart].[ALL_PATRIMONIO] + + INSERT INTO [C6Mart].[ALL_PATRIMONIO] + + ( + [CODICE_FISCALE] + ,[RETE] + ,[POSITIONID] + ,[CATALOGUENAME] + ,[CATALOGUEID] + ,[COD_ADEGUATEZZA] + ,[INTERMEDIARIO] + ,[PATRIMONIO_INTERMEDIARIO] + ,[EMITTENTE] + ,[PATRIMONIO_EMITTENTE] + ,[COMPLESSITA] + ,[TIPO_PRODOTTO] + ,[CONTROVALORE_PRODOTTO] + ,[AZ_OB] + ,[PATRIMONIO_AZ_OB_EMIT] + ,[PATRIM_AZ_OB_EMIT_INTER] + ,[PATRIMONIO_COMPLESSIVO] + ,[CHIAVE_THR] + ) + +SELECT + CODICE_FISCALE, + RETE, + POSITIONID, + DATI.CATALOGUENAME, + CAT.CATALOGUEID, + CASE + WHEN ADEGUATEZZA IS NULL + THEN CAT.COD_ADEGUATEZZA + ELSE ADEGUATEZZA + END AS COD_ADEGUATEZZA, + INTERMEDIARIO, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,INTERMEDIARIO) AS PATRIMONIO_INTERMEDIARIO, + EMIT.DESCR AS EMITTENTE, + CASE + WHEN EMIT.DESCR IS NULL THEN NULL + ELSE SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,EMIT.DESCR) + END AS PATRIMONIO_EMITTENTE, + CAT.COMPLEX AS COMPLESSITA, + CAT.TIPOPRODOTTO, + CONTROVALORE AS CONTROVALORE_PRODOTTO, + CASE WHEN CAT.STRTYPE IS NULL + THEN AZ_OB + ELSE CAT.STRTYPE + END AS AZ_OB, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,CASE WHEN CAT.STRTYPE IS NULL THEN AZ_OB ELSE CAT.STRTYPE END,EMIT.DESCR) AS PATRIMONIO_AZ_OB_EMIT, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,INTERMEDIARIO,CASE WHEN CAT.STRTYPE IS NULL THEN AZ_OB ELSE CAT.STRTYPE END,EMIT.DESCR, POSITIONID) AS PATRIM_AZ_OB_EMIT_INTER, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE) AS PATRIMONIO_COMPLESSIVO, + CHIAVE_THR + + FROM ( + + SELECT NULL AS AGENTE, + C.RETE, + C.CODICE_FISCALE, + C.CATALOGUENAME, + C.CONTROVALORE, + 'BF' AS INTERMEDIARIO, + SUBSTRING(C.STRINGONA_POS, 1, 57) AS CATALOGUEID, + C.STRINGONA_POS AS POSITIONID, + NULL AS ADEGUATEZZA, + 'BF' AS PROVENIENZA, + NULL AZ_OB, + '' AS CHIAVE_THR + FROM C6STAGING.ALL_CONSUL_ASUL C + + union all + SELECT agente, + substring(agente,1,1) as rete, + codicefiscale as codice_FISCALE, + nome_prodotto as cataloguename, + SUM(controvalore) AS controvalore, + intermediario, + case when codiceisin = '' then '############' else codiceisin + replicate(' ', 12-len(codiceisin)) end + + + case when codicemaf = '' then '###############' else codicemaf + replicate(' ', 15-len(codicemaf)) end + + + case when codiceinterno = '' then '###############' else codiceinterno + replicate(' ', 15-len(codiceinterno)) end + + + case when codicesottoprodotto = '' then '###############' else codicesottoprodotto + replicate(' ', 15-len(codicesottoprodotto)) end + + as catalogueid, + null as positionid, + codiceadeguatezza as ADEGUATEZZA , + 'PPT' as provenienza, + --alberatura, + diff --git a/sql/storedCollaudo/C6Mart_DM_ANAG_CC.sql b/sql/storedCollaudo/C6Mart_DM_ANAG_CC.sql new file mode 100644 index 00000000..61b098ac --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_ANAG_CC.sql @@ -0,0 +1,95 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_ANAG_CC + + +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_CC] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CC', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.ANAG_CC + + INSERT INTO [C6Mart].[ANAG_CC] + ([RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDOCONTABILE] + ,[SALDODISPONIBILE] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + 'BANCA FIDEURAM' AS INTERMEDIARIO, + NULL AS COINTEST, + SPB_CONTR_SINTESI.CONTO AS COD_CC, + CONTRATTOSEI.FASCIA_CPP AS FASCIA_CPP, + SPB_CONTR_SINTESI.CTV AS SALDOCONTABILE, + -- diverso da quello restituito dalla contratto sintesi CC.SALDOCONTABILE AS SALDOCONTABILE, + CC.SALDODISPONIBILE AS SALDODISPONIBILE, + SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.SPB_CONTR_SINTESI + LEFT JOIN C6MART.CONTRATTOSEI ON CONTRATTOSEI.CODICECONTRATTO = SPB_CONTR_SINTESI.CODICECONTRATTO + --V Aggiunta del saldo contabile e disponibile + JOIN C6STAGING.SPB_CONTOCORRENTE CC + ON SPB_CONTR_SINTESI.CONTO = CC.CONTO + AND SPB_CONTR_SINTESI.RETE = CC.RETE + AND SPB_CONTR_SINTESI.CODICEFISCALE = CC.CODICEFISCALE + + WHERE SPB_CONTR_SINTESI.TIPOPRODOTTO = 'Cc' AND CONTRATTOSEI.DATA_FINEAVANZATO is null + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CC' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6Mart_DM_ANAG_CC_TERZI.sql b/sql/storedCollaudo/C6Mart_DM_ANAG_CC_TERZI.sql new file mode 100644 index 00000000..37736765 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_ANAG_CC_TERZI.sql @@ -0,0 +1,102 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_ANAG_CC_TERZI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_CC_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + --DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + --SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CC_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.ANAG_CC_TERZI + + INSERT INTO [C6Mart].[ANAG_CC_TERZI] + ([RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDO] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB]) + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + NULL AS COINTEST, + ALL_PATR_TERZI.NOMEPRODOTTO AS COD_CC, + CONTRATTOSEI.FASCIA_CPP AS FASCIA_CPP, + ALL_PATR_TERZI.PATRIMONIO_TERZI AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + FROM C6STAGING.ALL_PATR_TERZI + LEFT JOIN C6MART.CONTRATTOSEI + ON CONTRATTOSEI.COD_FISCALE =ALL_PATR_TERZI.CODICE_FISCALE + AND CONTRATTOSEI.RETE = ALL_PATR_TERZI.RETE_PB + WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_FNC + AND DESCRIZIONE_PRODOTTO LIKE '%CURRENTACCOUNT%' + AND DESCRIZIONE_ALBERATURA LIKE '%CONTICORRENTI%' + AND CONTRATTOSEI.DATA_FINEAVANZATO is null + +-- SELECT +-- ALL_PATR_TERZI.RETE_PB AS RETE, +-- ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, +-- ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, +-- NULL AS COINTEST, +-- ALL_PATR_TERZI.NOMEPRODOTTO AS COD_CC, +-- CONTRATTOSEI.FASCIA_CPP AS FASCIA_CPP, +-- ALL_PATR_TERZI.PATRIMONIO_TERZI AS SALDO, +-- NULL AS DATA_APERTURA, +-- NULL AS DATA_CHIUSURA, +-- @ID_ELAB AS ID_ELAB +-- FROM C6STAGING.ALL_PATR_TERZI +-- INNER JOIN C6STAGING.S4_S5_S13_TRAD_UNTIL_LIV3 +-- ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA +-- LEFT JOIN C6MART.CONTRATTOSEI +-- ON CONTRATTOSEI.COD_FISCALE =ALL_PATR_TERZI.CODICE_FISCALE +-- AND CONTRATTOSEI.RETE = ALL_PATR_TERZI.RETE_PB +-- WHERE S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 = 'Conti correnti' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CC_TERZI' + ) + +END + + diff --git a/sql/storedCollaudo/C6Mart_DM_ANAG_CLIENTI.sql b/sql/storedCollaudo/C6Mart_DM_ANAG_CLIENTI.sql new file mode 100644 index 00000000..3f6963e0 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_ANAG_CLIENTI.sql @@ -0,0 +1,155 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_ANAG_CLIENTI + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_CLIENTI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + DELETE C6MART.ANAG_CLIENTI + FROM C6MART.ANAG_CLIENTI + INNER JOIN C6STAGING.ALL_CF_PB + ON ANAG_CLIENTI.RETE = ALL_CF_PB.RETE_PB + AND ANAG_CLIENTI.COD_FISCALE = ALL_CF_PB.CODICEFISCALE + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'DELETE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CLIENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CLIENTI' + ) + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + INSERT INTO [C6Mart].[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + distinct + CONTRATTOSEI.RETE AS RETE, + CONTRATTOSEI.COD_FISCALE AS COD_FISCALE, + ISNULL(SPB_CLIENTI.NOME,ALL_CF_PB.NOME) AS NOME, + ISNULL(SPB_CLIENTI.COGNOME,ALL_CF_PB.COGNOME) AS COGNOME, + ISNULL(ALL_CF_PB.DATA_NASCITA,SPB_CLIENTI.DATADINASCITA) AS DATA_NASCITA, + CASE + WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + AND ALL_CF_PB.MARITALSTATUS = 'Married' THEN 'Coniugato' + WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + AND ALL_CF_PB.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + AND ALL_CF_PB.MARITALSTATUS = 'Single' THEN 'Libero' + WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + AND ALL_CF_PB.MARITALSTATUS = 'Married' THEN 'Coniugata' + WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + AND ALL_CF_PB.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + AND ALL_CF_PB.MARITALSTATUS = 'Single' THEN 'Libera' + ELSE NULL + END AS STATO_CIVILE, + S25.NUMEROCOMPONENTI AS NUM_COMPONENTI, + S25.NUMEROFIGLI AS NUM_FIGLI, + S25.ETA AS ETA, + NULL AS PARTITA_IVA, + SPB_CLIENTI.CITTADINANZA AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(SPB_INDIRIZZI.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(SPB_INDIRIZZI.CITTA, '') AS LOCALITA, + ISNULL(SPB_INDIRIZZI.PROVINCIA, '') AS PROVINCIA, + ISNULL(SPB_INDIRIZZI.CAP, '') AS CAP, + ISNULL(SPB_INDIRIZZI.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + CONTRATTOSEI.EMAIL AS E_MAIL, + SPB_CLIENTI.DATAATTIVAZIONECLIENTE AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + CASE + WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + ALL_CF_PB.CODICE_PB AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6MART.CONTRATTOSEI + INNER JOIN + C6STAGING.ALL_CF_PB + ON + CONTRATTOSEI.RETE = ALL_CF_PB.RETE_PB + AND CONTRATTOSEI.COD_FISCALE = ALL_CF_PB.CODICEFISCALE + LEFT OUTER JOIN + C6STAGING.S25_CLI_CLIENTE S25 + ON + S25.CODICEFISCALE = CONTRATTOSEI.COD_FISCALE + AND S25.RETE = CONTRATTOSEI.RETE + LEFT OUTER JOIN + C6STAGI diff --git a/sql/storedCollaudo/C6Mart_DM_ANAG_CLIENTI_PREV.sql b/sql/storedCollaudo/C6Mart_DM_ANAG_CLIENTI_PREV.sql new file mode 100644 index 00000000..dc0ecf4d --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_ANAG_CLIENTI_PREV.sql @@ -0,0 +1,72 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_ANAG_CLIENTI_PREV + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_CLIENTI_PREV] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + TRUNCATE TABLE C6MART.ANAG_CLIENTI_PREV; + + INSERT INTO [C6Mart].[ANAG_CLIENTI_PREV] + ([RETE] + ,[COD_FISCALE] + ,[STATO_LAVORATIVO] + ,[PROFESSIONE] + ,[CAT_PROFESSIONALE] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[RETRIB_LORDA] + ,[PROFESSIONE_SEC] + ,[CAT_PROFESSIONALE_SEC] + ,[DATA_INIZIO_SEC] + ,[DATA_FINE_SEC] + ,[RETRIB_LORDA_SEC] + ,[PROFESSIONE_PREC] + ,[CAT_PROFESSIONALE_PREC] + ,[DATA_INIZIO_PREC] + ,[DATA_FINE_PREC] + ,[RETRIB_LORDA_PREC] + ,[RICONGIUNZIONE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SUBSTRING(C6STAGING.ALL_CF_PB.RETE_PB,1,1) AS RETE, + SUBSTRING(C6STAGING.ALL_CF_PB.CODICE_FISCALE,1,16) AS COD_FISCALE, + NULL AS STATO_LAVORATIVO, + NULL AS PROFESSIONE, + NULL AS CAT_PROFESSIONALE, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS RETRIB_LORDA, + NULL AS PROFESSIONE_SEC, + NULL AS CAT_PROFESSIONALE_SEC, + NULL AS DATA_INIZIO_SEC, + NULL AS DATA_FINE_SEC, + NULL AS RETRIB_LORDA_SEC, + NULL AS PROFESSIONE_PREC, + NULL AS CAT_PROFESSIONALE_PREC, + NULL AS DATA_INIZIO_PREC, + NULL AS DATA_FINE_PREC, + NULL AS RETRIB_LORDA_PREC, + NULL AS RICONGIUNZIONE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_CF_PB + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_ANAG_CONTRATTI.sql b/sql/storedCollaudo/C6Mart_DM_ANAG_CONTRATTI.sql new file mode 100644 index 00000000..ca384045 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_ANAG_CONTRATTI.sql @@ -0,0 +1,93 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_ANAG_CONTRATTI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_CONTRATTI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.ANAG_CONTRATTI + + INSERT INTO [C6Mart].[ANAG_CONTRATTI] + ([ID_CONTRATTO] + ,[RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_PERF] + ,[DATA_CHIUSURA] + ,[STATO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[COD_INTERNO] + ,[COD_MANDATO] + ,[COD_CC] + ,[RUBRICATO] + ,[CUSTODIA_GAR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + CAST(ROW_NUMBER() OVER (ORDER BY SPB_CONTR_SINTESI.CODICEFISCALE) AS VARCHAR(64)) AS COD_PRODOTTO, + NULL AS INTERMEDIARIO, + SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE AS DATA_SOTTOSCRIZIONE, + NULL AS DATA_PERF, + NULL AS DATA_CHIUSURA, + SPB_CONTR_SINTESI.CODICESTATO AS STATO, + SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO, + SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, + NULL AS COD_MANDATO, + SPB_CONTR_SINTESI.CONTO AS COD_CC, + SPB_CONTR_SINTESI.RUBRICATO AS RUBRICATO, + SPB_CONTR_SINTESI.CUSTODIAGARANZIA AS CUSTODIA_GAR, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.SPB_CONTR_SINTESI + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CONTRATTI' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_ANAG_CONTRATTI_ASS.sql b/sql/storedCollaudo/C6Mart_DM_ANAG_CONTRATTI_ASS.sql new file mode 100644 index 00000000..541d81f4 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_ANAG_CONTRATTI_ASS.sql @@ -0,0 +1,100 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_ANAG_CONTRATTI_ASS + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_CONTRATTI_ASS] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CONTRATTI_ASS', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.ANAG_CONTRATTI_ASS + + INSERT INTO [C6Mart].[ANAG_CONTRATTI_ASS] + ([RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[ID_CONTRATTO] + ,[TIPO_PRODOTTO] + ,[PREMIO] + ,[IMPORTO_RATA] + ,[FREQ_RATA] + ,[IMPORTO_ASSICURATO] + ,[DURATA_POLIZZA] + ,[ALIQUOTA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[INTERMEDIARIO] + ,[STATO] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + SPB_CONTR_SINTESI.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, + SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO, + NULL AS PREMIO, + NULL AS IMPORTO_RATA, + NULL AS FREQ_RATA, + SPB_CONTR_SINTESI.CTV AS IMPORTO_ASSICURATO, + NULL AS DURATA_POLIZZA, + NULL AS ALIQUOTA, + SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, + CONVERT(DATETIME, SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE,103) AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + NULL AS INTERMEDIARIO, + SPB_CONTR_SINTESI.CODICESTATO AS STATO, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.SPB_CONTR_SINTESI + WHERE TIPOPRODOTTO LIKE 'AS%' AND NUMEROPOLIZZA <> '' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CONTRATTI_ASS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CONTRATTI_ASS' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_ANAG_EMITTENTI.sql b/sql/storedCollaudo/C6Mart_DM_ANAG_EMITTENTI.sql new file mode 100644 index 00000000..cbf14f12 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_ANAG_EMITTENTI.sql @@ -0,0 +1,36 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_ANAG_EMITTENTI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_EMITTENTI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MART.GETIDELAB() + + TRUNCATE TABLE C6MART.ANAG_EMITTENTI + + INSERT INTO [C6Mart].[ANAG_EMITTENTI] + ([ID_EMITTENTE] + ,[DESCRIZIONE] + ,[NOTE] + ,[ID_ELAB]) + SELECT DISTINCT + NULL AS ID_EMITTENTE, + NULL AS DESCRIZIONE, + NULL AS NOTE, + @ID_ELAB AS ID_ELAB + FROM C6STAGING.ALL_CF_PB + WHERE 1 = 0 + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_ANAG_PRODOTTI.sql b/sql/storedCollaudo/C6Mart_DM_ANAG_PRODOTTI.sql new file mode 100644 index 00000000..e186fc47 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_ANAG_PRODOTTI.sql @@ -0,0 +1,102 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_ANAG_PRODOTTI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_PRODOTTI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.ANAG_PRODOTTI + + INSERT INTO [C6Mart].[ANAG_PRODOTTI] + ([COD_PRODOTTO] + ,[COD_ISIN] + ,[PAESE] + ,[ID_AREA] + ,[CAT_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[COD_MAF] + ,[RATING] + ,[COD_ADEGUATEZZA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + CATITEMREF.COD_ISIN AS COD_ISIN, + CATITEMREF.COUNTRY AS PAESE, + '' AS ID_AREA, + (SELECT CASE SUBSTRING(CATITEMREF.TYPE$_BCATAL_FC317,64,3) + WHEN 'Ges' THEN 'Gestito Finanziario' + WHEN 'Amm' THEN 'Amministrato' + WHEN 'Ass' THEN 'Assicurativo' + END) AS CAT_PRODOTTO, + CATITEMREF.TIPOPRODOTTO AS TIPO_PRODOTTO, + CATITEMREF.CATALOGUENAME AS DESCR_PRODOTTO, + CATITEMREF.PRODUCTCURRENCY AS DIV_QUOTAZIONE, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + CATITEMREF.PIAZZA AS MERCATO_CONTRATT, + CATITEMREF.COD_MAF AS COD_MAF, + CATITEMREF.RATOBBLIG AS RATING, + CATITEMREF.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + CATITEMREF.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + CATITEMREF.COD_INTERNO AS COD_INTERNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(OID$) AS OID + FROM C6STAGING.CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.OID$ = DOPPICATITEMREF.OID + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_ANAG_PRODOTTI_TERZI.sql b/sql/storedCollaudo/C6Mart_DM_ANAG_PRODOTTI_TERZI.sql new file mode 100644 index 00000000..6538668c --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_ANAG_PRODOTTI_TERZI.sql @@ -0,0 +1,87 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_ANAG_PRODOTTI_TERZI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_PRODOTTI_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.ANAG_PRODOTTI_TERZI + + INSERT INTO [C6Mart].[ANAG_PRODOTTI_TERZI] + ([COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[NOME_PRODOTTO] + ,[ALBERO_PRODOTTI] + ,[COD_ISIN] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[INTERMEDIARIO] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[PAESE] + ,[RATING] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO AS COD_PRODOTTO, + ALL_PATR_TERZI.CHIAVE_THR AS COD_PRODOTTO_TERZI, + ALL_PATR_TERZI.NOMEPRODOTTO AS NOME_PRODOTTO, + ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA AS ALBERO_PRODOTTI, + NULL AS COD_ISIN, + ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO AS DESCR_PRODOTTO, + NULL AS DIV_QUOTAZIONE, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + NULL AS PAESE, + NULL AS RATING, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_PATR_TERZI + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI_TERZI' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_ANAG_PROMOTORI.sql b/sql/storedCollaudo/C6Mart_DM_ANAG_PROMOTORI.sql new file mode 100644 index 00000000..f41a9698 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_ANAG_PROMOTORI.sql @@ -0,0 +1,156 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_ANAG_PROMOTORI + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_PROMOTORI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PROMOTORI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.ANAG_PROMOTORI + + INSERT INTO [C6Mart].[ANAG_PROMOTORI] + ([RETE] + ,[ID_PROMOTORE] + ,[LIVELLO] + ,[COD_FISCALE] + ,[PARTITA_IVA] + ,[COGNOME] + ,[NOME] + ,[RAG_SOC] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[COD_ABI] + ,[COD_CAB] + ,[COD_CIN] + ,[COD_CC] + ,[STATO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ADS4WS_PROMOTORI.RETE AS RETE, + ADS4WS_PROMOTORI.CODICE AS ID_PROMOTORE, + SPB_NAC.LIVELLONELLAGERARCHIA AS LIVELLO, + NULL AS COD_FISCALE, + NULL AS PARTITA_IVA, + rtrim(ltrim(ADS4WS_PROMOTORI.COGNOME)) AS COGNOME, + rtrim(ltrim(ADS4WS_PROMOTORI.NOME)) AS NOME, + NULL AS RAG_SOC, + CASE WHEN ADS4WS_PROMOTORI.DataInizioCollaborazione=0 THEN NULL ELSE + CAST(CAST(ADS4WS_PROMOTORI.DataInizioCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_INIZIO, + CASE WHEN ADS4WS_PROMOTORI.DataFineCollaborazione=0 THEN NULL ELSE + CAST(CAST(ADS4WS_PROMOTORI.DataFineCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_FINE, + rtrim(ltrim(ADS4WS_PROMOTORI.INDIRIZZO)) AS INDIRIZZO, + rtrim(ltrim(ADS4WS_PROMOTORI.CITTA)) AS LOCALITA, + rtrim(ltrim(ADS4WS_PROMOTORI.PROVINCIA)) AS PROVINCIA, + rtrim(ltrim(ADS4WS_PROMOTORI.CAP)) AS CAP, + NULL AS NAZIONE, + rtrim(ltrim(ADS4WS_PROMOTORI.prefissotelefono + ADS4WS_PROMOTORI.TelefonoAgenzia1)) AS TEL_RECAPITO, + NULL AS TEL_CELL, + rtrim(ltrim(EMAIL_PB.EMAIL)) AS E_MAIL, + NULL AS COD_ABI, + NULL AS COD_CAB, + NULL AS COD_CIN, + NULL AS COD_CC, + --CASE + -- WHEN SPB_NAC.CODICEAGENTE IS NULL THEN 'TERMINATO' + -- ELSE + CASE + WHEN PF.RETE IS NULL THEN 'ATTIVO' + ELSE 'FITTIZIO' + END + --END + AS STATO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ADS4WS_PROMOTORI ADS4WS_PROMOTORI + LEFT JOIN C6MART.EMAIL_PB EMAIL_PB + ON ADS4WS_PROMOTORI.RETE = EMAIL_PB.RETE + AND ADS4WS_PROMOTORI.CODICE = EMAIL_PB.CODICE + LEFT JOIN C6STAGING.SPB_NAC SPB_NAC + ON ADS4WS_PROMOTORI.RETE = SPB_NAC.CODICERETE + AND ADS4WS_PROMOTORI.CODICE = SPB_NAC.CODICEAGENTE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (ADS4WS_PROMOTORI.CODICE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND ADS4WS_PROMOTORI.RETE = PF.RETE + +WHERE + ADS4WS_PROMOTORI.STATO = 'A' + --Aggiunta Valerio non inserisco in anagrafica pb terminati in quanto non hanno il livello + and SPB_NAC.CODICEAGENTE is not null + --AND ADS4WS_PROMOTORI.CODICE NOT IN ('009202')--,'014908') +---eliminato il filtro su '005772' 04/08/2010 +---eliminato il filtro su'003064' 12/08/2010 +---eliminato il filtro su '010712' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PROMOTORI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PROMOTORI' + ) + +END + + + + + + + + + + + + + + + + + + + + + + diff --git a/sql/storedCollaudo/C6Mart_DM_ANAG_SELF.sql b/sql/storedCollaudo/C6Mart_DM_ANAG_SELF.sql new file mode 100644 index 00000000..a4bc2868 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_ANAG_SELF.sql @@ -0,0 +1,89 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_ANAG_SELF + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_SELF] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6Mart.GETIDELAB() + SET @TIPO_ELAB = C6Mart.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE [C6Mart].[ANAG_SELF] + + INSERT INTO [C6Mart].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,NOMEPRODOTTO + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB] + ,CodInterno + ,CodSottoprodotto) + SELECT + SPB.RETE + ,SPB.CODICEFISCALE + ,SPB.CODICECONTRATTO + ,CAT.NomeProdotto + ,SPB.CTV + ,SPB.DATADISOTTOSCRIZIONE + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + ,CodInterno + ,CodSottoprodotto + FROM + C6Staging.SPB_CONTR_SINTESI SPB + inner join C6Staging.RP_CatalogoProdotti CAT + on SPB.isin = CAT.codisin and CAT.visibilita = 1 + -- aggiunta il 17/12/2018 per gestire l'ambiguit tra GP e FO a parit di Isin + and SPB.CodiceInterno = CAT.CodInterno + -- fine modifica + WHERE isin in('EURO00000009', 'EURO10000007') + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_SELF' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_ANAG_SELF_20181129_PreMioFoglio.sql b/sql/storedCollaudo/C6Mart_DM_ANAG_SELF_20181129_PreMioFoglio.sql new file mode 100644 index 00000000..463d1172 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_ANAG_SELF_20181129_PreMioFoglio.sql @@ -0,0 +1,84 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_ANAG_SELF_20181129_PreMioFoglio + + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_SELF_20181129_PreMioFoglio] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6Mart.GETIDELAB() + SET @TIPO_ELAB = C6Mart.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE [C6Mart].[ANAG_SELF] + + INSERT INTO [C6Mart].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,NOMEPRODOTTO + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SPB.RETE + ,SPB.CODICEFISCALE + ,SPB.CODICECONTRATTO + ,CAT.NomeProdotto + ,SPB.CTV + ,SPB.DATADISOTTOSCRIZIONE + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + FROM + C6Staging.SPB_CONTR_SINTESI SPB + inner join C6Staging.RP_CatalogoProdotti CAT + on SPB.isin = CAT.codisin and CAT.visibilita = 1 + + WHERE isin in('EURO00000009', 'EURO10000007') + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_SELF' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_ANAG_SELF_BK_eligoTitoli.sql b/sql/storedCollaudo/C6Mart_DM_ANAG_SELF_BK_eligoTitoli.sql new file mode 100644 index 00000000..8a29ffb0 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_ANAG_SELF_BK_eligoTitoli.sql @@ -0,0 +1,77 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_ANAG_SELF_BK_eligoTitoli + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_SELF_BK_eligoTitoli] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6Mart.GETIDELAB() + SET @TIPO_ELAB = C6Mart.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE [C6Mart].[ANAG_SELF] + + INSERT INTO [C6Mart].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + RETE + ,CODICEFISCALE + ,CODICECONTRATTO + ,CTV + ,DATADISOTTOSCRIZIONE + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + FROM + C6Staging.SPB_CONTR_SINTESI + WHERE isin = 'EURO00000009' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_SELF' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_AREA_BISOGNO.sql b/sql/storedCollaudo/C6Mart_DM_AREA_BISOGNO.sql new file mode 100644 index 00000000..49c51bd7 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_AREA_BISOGNO.sql @@ -0,0 +1,68 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_AREA_BISOGNO + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_AREA_BISOGNO] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + + SET @ID_ELAB = C6MART.GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_AREA_BISOGNO', + GETDATE(), + 'Elaborazione giornaliera' + ) + + DELETE FROM [C6Mart].[AREA_BISOGNO] --truncate + + INSERT INTO [C6Mart].[AREA_BISOGNO] --insert from CONSUNI, avoiding staging + select *, 58 from CONSUNI.[CatalogoProdotti].dbo.NeedArea + + --TRUNCATE TABLE C6MART.AREA_BISOGNO + + --INSERT INTO [C6Mart].[AREA_BISOGNO] + -- ([ID_AREA] + -- ,[NOME_AREA] + -- ,[ORDINAMENTO] + -- ,[ID_ELAB]) + --SELECT + -- LTRIM(RTRIM(NEEDAREA.OID_)) AS ID_AREA, + -- LTRIM(RTRIM(NEEDAREA.AREANAME)) AS NOME_AREA, + -- NEEDAREA.AREASORTORDER AS ORDINAMENTO, + -- @ID_ELAB AS ID_ELAB + --FROM C6STAGING.NEEDAREA + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_AREA_BISOGNO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_AREA_BISOGNO' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_ASSETCLASS.sql b/sql/storedCollaudo/C6Mart_DM_ASSETCLASS.sql new file mode 100644 index 00000000..2393b082 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_ASSETCLASS.sql @@ -0,0 +1,65 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_ASSETCLASS + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ASSETCLASS] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MART.GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSETCLASS', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.ASSETCLASS + + INSERT INTO [C6Mart].[ASSETCLASS] + ([ID_ASSETCLASS] + ,[DESCRIZIONE] + ,[LIVELLO] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(ASSETCLASS.OID_)) AS ID_ASSETCLASS, + LTRIM(RTRIM(ASSETCLASS.ASSETCLASSDESCR)) AS DESCRIZIONE, + ASSETCLASS.ASSETCLASSLEV AS LIVELLO, + ASSETCLASS.ORDINE AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6STAGING.ASSETCLASS + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSETCLASS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSETCLASS' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_ASSETCLASS_TERZI.sql b/sql/storedCollaudo/C6Mart_DM_ASSETCLASS_TERZI.sql new file mode 100644 index 00000000..5ef8c34d --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_ASSETCLASS_TERZI.sql @@ -0,0 +1,69 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_ASSETCLASS_TERZI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ASSETCLASS_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSETCLASS_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.ASSETCLASS_TERZI + + INSERT INTO [C6Mart].[ASSETCLASS_TERZI] + ([ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_ADEGUATEZZA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + LTRIM(RTRIM(ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO)) AS ID_ASSETCLASS, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN,'$'))) AS COD_ISIN, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF,'$'))) AS COD_MAF, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA,'$'))) AS COD_ADEGUATEZZA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_ASSET_CLASS_PER_PROMET + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSETCLASS_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSETCLASS_TERZI' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_ASSET_PERC.sql b/sql/storedCollaudo/C6Mart_DM_ASSET_PERC.sql new file mode 100644 index 00000000..a1a688af --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_ASSET_PERC.sql @@ -0,0 +1,84 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_ASSET_PERC + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ASSET_PERC] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSET_PERC', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.ASSET_PERC + + INSERT INTO [C6Mart].[ASSET_PERC] + ([COD_PRODOTTO] + ,[ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[LIVELLO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + LTRIM(RTRIM(ACBDENTRY.F_OID__PASSE_B8A1E)) AS ID_ASSETCLASS, + CATITEMREF.COD_ISIN AS COD_ISIN, + CATITEMREF.COD_MAF AS COD_MAF, + CATITEMREF.COD_INTERNO AS COD_INTERNO, + CATITEMREF.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + LTRIM(RTRIM(ASSETCLASS.ASSETCLASSLEV)) AS LIVELLO, + LTRIM(RTRIM(ACBDENTRY.BDPERCENTAGE)) AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6STAGING.CATITEMREF + INNER JOIN C6STAGING.INSTRBDS + ON INSTRBDS.F_OID__PCATA_5DDA6 = CATITEMREF.OID$ + INNER JOIN C6STAGING.ACBDENTRY + ON ACBDENTRY.F_PINSTRUMEN_FBCDE = INSTRBDS.OID_ + INNER JOIN C6STAGING.ASSETCLASS + ON ASSETCLASS.OID_ = ACBDENTRY.F_OID__PASSE_B8A1E + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSET_PERC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSET_PERC' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_ASSET_PERC_TERZI.sql b/sql/storedCollaudo/C6Mart_DM_ASSET_PERC_TERZI.sql new file mode 100644 index 00000000..2ae33839 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_ASSET_PERC_TERZI.sql @@ -0,0 +1,93 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_ASSET_PERC_TERZI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ASSET_PERC_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSET_PERC_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.ASSET_PERC_TERZI + + INSERT INTO [C6Mart].[ASSET_PERC_TERZI] + ([COD_PRODOTTO_TERZI] + ,[ID_ASSETCLASS] + ,[LIVELLO] + ,[NOME_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + PATR_TP.CHIAVE_THR AS COD_PRODOTTO_TERZI, + ASS.OID_ AS ID_ASSETCLASS, + ASS.ASSETCLASSLEV AS LIVELLO, + PATR_TP.NOMEPRODOTTO AS NOME_PRODOTTO, + ALBERO.ALBERO_GERARCHIA_3 AS TIPO_PRODOTTO, + ACB.BDPERCENTAGE AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6STAGING.ALL_PATR_TERZI PATR_TP, + C6STAGING.ACBDENOTH ACB, + C6STAGING.ASSETCLASS ASS, + C6STAGING.S4_S5_S13_TRAD_UNTIL_LIV3 ALBERO + WHERE 1 = 1 + AND PATR_TP.CHIAVE_FNC IS NOT NULL + AND ALBERO.DESCRIZIONE_ORIGINALE = PATR_TP.DESCRIZIONE_ALBERATURA + AND ACB.F_PFINANCIAL_815C0 = PATR_TP.CHIAVE_FNC + AND ACB.F_OID__PASSE_CDF1A = ASS.OID_ + AND ASS.ASSETCLASSLEV IN (1,2) + AND PATR_TP.PRODOTTO_IN_CATALOGO IS NULL + GROUP BY + PATR_TP.CHIAVE_THR, + PATR_TP.NOMEPRODOTTO, + ASS.OID_, + ASS.ASSETCLASSLEV, + ALBERO.ALBERO_GERARCHIA_3, + ACB.BDPERCENTAGE, + ACB.OID_ + ORDER BY 2,4 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSET_PERC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSET_PERC_TERZI' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_CATEGORIE_PRODOTTO.sql b/sql/storedCollaudo/C6Mart_DM_CATEGORIE_PRODOTTO.sql new file mode 100644 index 00000000..f2b2d4e4 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_CATEGORIE_PRODOTTO.sql @@ -0,0 +1,61 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_CATEGORIE_PRODOTTO + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_CATEGORIE_PRODOTTO] +AS +BEGIN + + SET NOCOUNT ON; + DECLARE @righe INT + SET @righe = 0 + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CATEGORIE_PRODOTTO', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.CATEGORIE_PRODOTTO; + + INSERT INTO C6Mart.CATEGORIE_PRODOTTO(CAT_PRODOTTO,DESCRIZIONE,ORDINAMENTO) + VALUES('Ges','Gestito finanziario',1); + SET @righe = @righe + 1 + + INSERT INTO C6Mart.CATEGORIE_PRODOTTO(CAT_PRODOTTO,DESCRIZIONE,ORDINAMENTO) + VALUES('Ass','Gestito assicurativo previdenziale',2); + SET @righe = @righe + 1 + + INSERT INTO C6Mart.CATEGORIE_PRODOTTO(CAT_PRODOTTO,DESCRIZIONE,ORDINAMENTO) + VALUES('Amm','Amministrato',3); + SET @righe = @righe + 1 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @righe + WHERE + Nome = 'DM_CATEGORIE_PRODOTTO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CATEGORIE_PRODOTTO' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_CLIENTI_NON_MIGRATI.sql b/sql/storedCollaudo/C6Mart_DM_CLIENTI_NON_MIGRATI.sql new file mode 100644 index 00000000..944342ca --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_CLIENTI_NON_MIGRATI.sql @@ -0,0 +1,17 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_CLIENTI_NON_MIGRATI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_CLIENTI_NON_MIGRATI] +AS +BEGIN + SELECT RETE, COD_FISCALE, ID_PROMOTORE + FROM C6Mart.ANAG_CLIENTI + WHERE (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') +END + + diff --git a/sql/storedCollaudo/C6Mart_DM_CODIFICA_CREDITRISK.sql b/sql/storedCollaudo/C6Mart_DM_CODIFICA_CREDITRISK.sql new file mode 100644 index 00000000..293c7b52 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_CODIFICA_CREDITRISK.sql @@ -0,0 +1,67 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_CODIFICA_CREDITRISK + + +-- ============================================= +-- Author: Valerio Colaianni +-- Create date: 17 marzo 2009 + +-- ============================================= +CREATE procedure [C6Mart].[DM_CODIFICA_CREDITRISK] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6Mart.GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_CREDITRISK', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6Mart.CODIFICA_CREDITRISK + + INSERT INTO C6Mart.[CODIFICA_CREDITRISK] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAL] + ,[MAX_VAL] + ,[ID_ELAB]) + SELECT + COD, + DESCR, + MINVAL, + MAXVAL, + @ID_ELAB AS ID_ELAB + FROM C6STAGING.RISKCLASS + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'CODIFICA_CREDITRISK' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'CODIFICA_CREDITRISK' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6Mart_DM_CODIFICA_PIRAMIDI.sql b/sql/storedCollaudo/C6Mart_DM_CODIFICA_PIRAMIDI.sql new file mode 100644 index 00000000..dfbf5263 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_CODIFICA_PIRAMIDI.sql @@ -0,0 +1,36 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_CODIFICA_PIRAMIDI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_CODIFICA_PIRAMIDI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MART.GETIDELAB() + + TRUNCATE TABLE C6MART.CODIFICA_PIRAMIDI + + INSERT INTO [C6Mart].[CODIFICA_PIRAMIDI] + ([ID_PIRAMIDE] + ,[DESCRIZIONE] + ,[NOTE] + ,[ID_ELAB]) + SELECT + NULL AS ID_PIRAMIDE, + NULL AS DESCRIZIONE, + NULL AS NOTE, + @ID_ELAB AS ID_ELAB + FROM C6STAGING.CATITEMREF + WHERE 1=0 + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_CODIFICA_RISCHIO.sql b/sql/storedCollaudo/C6Mart_DM_CODIFICA_RISCHIO.sql new file mode 100644 index 00000000..0e932372 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_CODIFICA_RISCHIO.sql @@ -0,0 +1,69 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_CODIFICA_RISCHIO + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: NOTA BENE: I JOIN NON DOVREBBERO MAI ESSERE FATTI COME SOTTO, TRATTASI DI WORK AROUND +-- ============================================= +CREATE procedure [C6Mart].[DM_CODIFICA_RISCHIO] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MART.GETIDELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_RISCHIO', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.CODIFICA_RISCHIO + + INSERT INTO [C6Mart].[CODIFICA_RISCHIO] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAR] + ,[MAX_VAR] + ,[ID_ELAB]) + SELECT + SPB_PROF_RISCHIO.CODICEPROFILO AS PROFILO, + SPB_PROF_RISCHIO.DESCRIZIONEPROFILO AS DESCRIZIONE, + ISNULL(SPB_MIN.VARTRIMESTRALE,-0.01) + 0.01 AS MIN_VAR, + SPB_PROF_RISCHIO.VARTRIMESTRALE AS MAX_VAR, + @ID_ELAB AS ID_ELAB + FROM + C6STAGING.SPB_PROF_RISCHIO + LEFT JOIN + C6STAGING.SPB_PROF_RISCHIO SPB_MIN + ON + SPB_MIN.CODICEPROFILO + 1 = SPB_PROF_RISCHIO.CODICEPROFILO + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CODIFICA_RISCHIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CODIFICA_RISCHIO' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_CREA_POSITIONID.sql b/sql/storedCollaudo/C6Mart_DM_CREA_POSITIONID.sql new file mode 100644 index 00000000..f873b597 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_CREA_POSITIONID.sql @@ -0,0 +1,90 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_CREA_POSITIONID + +-- ============================================= +-- AUTHOR: +-- CREATE DATE: 10/05/2010 +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_CREA_POSITIONID] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CREA_POSITIONID', + GETDATE(), + 'Elaborazione giornaliera' + ) + + UPDATE +C6Staging.SPB_CONTR_SINTESI + + SET + POSITIONID = + [C6STAGING].[INFO_DAPRODOTTOCSACATALOGO] --DBO.INFO_DAPRODOTTOCSACATALOGO + ( + TIPOPRODOTTO, + CODICEINTERNO, + CODICEMAF, + --V ISIN per ASU2 + ISNULL(ISIN,''), + CODICESOTTOPRODOTTO + ) + --END + + + DBO.CREA_POSITIONID + ( + TIPOPRODOTTO, + CODICEINTERNO, + CODICEMAF, + '', + CODICESOTTOPRODOTTO, + CODICECONTRATTO, -- VERIFICARNE LA CORRETTEZZA + NUMEROPOLIZZA, + CONTO, + RUBRICATO, + CUSTODIAGARANZIA, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CREA_POSITIONID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CREA_POSITIONID' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6Mart_DM_DATI_REPORT.sql b/sql/storedCollaudo/C6Mart_DM_DATI_REPORT.sql new file mode 100644 index 00000000..baaf9927 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_DATI_REPORT.sql @@ -0,0 +1,59 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_DATI_REPORT + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_DATI_REPORT] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + TRUNCATE TABLE C6MART.DATI_REPORT + + INSERT INTO [C6Mart].[DATI_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[FLAG_REPORT] + ,[REPORT_DIAGN] + ,[REPORT_MONIT] + ,[DATA_REPORT] + ,[REPORT_FREQ] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + NULL AS RETE, + NULL AS COD_FISCALE, + NULL AS INDIRIZZO, + NULL AS LOCALITA, + NULL AS PROVINCIA, + NULL AS CAP, + NULL AS NAZIONE, + NULL AS FLAG_REPORT, + NULL AS REPORT_DIAGN, + NULL AS REPORT_MONIT, + NULL AS DATA_REPORT, + NULL AS REPORT_FREQ, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.CATITEMREF + WHERE 1=0 + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_DETTAGLIO_ASUL.sql b/sql/storedCollaudo/C6Mart_DM_DETTAGLIO_ASUL.sql new file mode 100644 index 00000000..d292262e --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_DETTAGLIO_ASUL.sql @@ -0,0 +1,119 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_DETTAGLIO_ASUL + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_DETTAGLIO_ASUL] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_DETTAGLIO_ASUL', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.DETTAGLIO_ASUL + + INSERT INTO [C6Mart].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + ISNULL( + dbo.Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPOPRODOTTO, SPB_ASS_UNIT.CODICEINTERNO, SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE, SPB_ASS_UNIT.CODICEISINSOTTOSTANTE, SPB_ASS_UNIT.CODICESOTTOPRODOTTO), + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODICECONTRATTO AS ID_CONTRATTO, + SPB_ASS_UNIT.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODICEINTERNO AS COD_INTERNO, + SPB_ASS_UNIT.CONTROVALORE AS CTV, + SPB_ASS_UNIT.DATADIRIFERIMENTO AS DATA_RIF, + SPB_ASS_UNIT.ISINFITTIZIO AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.CODICEISINSOTTOSTANTE AS COD_ISIN_SOTT, + SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6STAGING.SPB_CONTR_SINTESI + INNER JOIN + C6STAGING.SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODICECONTRATTO = SPB_ASS_UNIT.CODICECONTRATTO + LEFT OUTER JOIN + C6STAGING.RP_CATALOGOPRODOTTI CAT + ON SPB_ASS_UNIT.CODICEINTERNO = CAT.CODINTERNO + AND SPB_ASS_UNIT.CODICESOTTOPRODOTTO = CAT.CODSOTTOPRODOTTO + AND VISIBILITA=1 + AND (SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = ''and codisin='$' OR ( + SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = CAT.CODADEGUATEZZA AND + SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE = CAT.CODMAF + ) + ) + /* + C6STAGING.CATITEMREF + ON SPB_ASS_UNIT.CODICEINTERNO = CATITEMREF.COD_INTERNO + AND SPB_ASS_UNIT.CODICESOTTOPRODOTTO = CATITEMREF.COD_SOTTOPRODOTTO + AND isvisible=1 + AND (SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = ''and cod_isin='$' OR ( + SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = CATITEMREF.COD_ADEGUATEZZA AND + SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE = CATITEMREF.COD_MAF + ) + )*/ + WHERE + SPB_CONTR_SINTESI.CTV <> 0 + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_DETTAGLIO_ASUL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_DETTAGLIO_ASUL' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6Mart_DM_EMAIL_PB.sql b/sql/storedCollaudo/C6Mart_DM_EMAIL_PB.sql new file mode 100644 index 00000000..065c44c4 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_EMAIL_PB.sql @@ -0,0 +1,125 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_EMAIL_PB + + + + + + + + + + + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 26 gennaio 2009 +-- Description: Recupera PB, RM, DM, AM le cui email non sono ancora valorizzate. +-- ============================================= +CREATE procedure [C6Mart].[DM_EMAIL_PB] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_EMAIL_PB', + GETDATE(), + 'Elaborazione giornaliera' + ) + + SELECT DISTINCT + CODICI_PB.RETE AS RETE, + CODICI_PB.CODICE AS CODICE, + (CASE CODICI_PB.RETE WHEN 'F' THEN 'R' ELSE 'P' END) AS PREFISSO, + (CASE CODICI_PB.RETE WHEN 'F' THEN 'R' ELSE 'P' END) + CODICI_PB.CODICE AS FIRMA +--, +-- CODICI_PB.LIVELLO AS LIVELLO, +-- CODICI_PB.LIV_ORD AS LIV_ORD + FROM + ( + SELECT STRUTTURA.RETE, STRUTTURA.PB CODICE--, 'PB' as LIVELLO, 1 AS LIV_ORD + FROM C6MART.CONTRATTOSEI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + + UNION + + SELECT STRUTTURA.RETE, STRUTTURA.RM CODICE--, 'RM' as LIVELLO, 2 AS LIV_ORD + FROM C6MART.CONTRATTOSEI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + + UNION + + SELECT STRUTTURA.RETE, STRUTTURA.DM CODICE--, 'DM' as LIVELLO, 3 AS LIV_ORD + FROM C6MART.CONTRATTOSEI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + + UNION + + SELECT STRUTTURA.RETE, STRUTTURA.AM CODICE--, 'AM' as LIVELLO, 4 AS LIV_ORD + FROM C6MART.CONTRATTOSEI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + + ) CODICI_PB + LEFT JOIN C6MART.EMAIL_PB EMAIL_PB_ESISTENTI + ON EMAIL_PB_ESISTENTI.RETE = CODICI_PB.RETE + AND EMAIL_PB_ESISTENTI.CODICE = CODICI_PB.CODICE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (CODICI_PB.CODICE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND CODICI_PB.RETE = PF.RETE + WHERE EMAIL_PB_ESISTENTI.EMAIL IS NULL + AND PF.RETE IS NULL +--togliere + --and CODICI_PB.CODICE not in ('010712','015115','015117','015091','015182','006167','015125','015126','015185','006154','006200') +and CODICI_PB.CODICE not in ('015185') +---eliminato il filtro '010712' +---eliminato il filtro su '015089'--,'015163', 12/08 + --ORDER BY CODICI_PB.LIV_ORD + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_EMAIL_PB' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_EMAIL_PB' + ) +END + + + + + + + + + + + + + + + diff --git a/sql/storedCollaudo/C6Mart_DM_ESITI_CARICAMENTI.sql b/sql/storedCollaudo/C6Mart_DM_ESITI_CARICAMENTI.sql new file mode 100644 index 00000000..94b48d89 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_ESITI_CARICAMENTI.sql @@ -0,0 +1,40 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_ESITI_CARICAMENTI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ESITI_CARICAMENTI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MART.GETIDELAB() + + TRUNCATE TABLE C6MART.ESITI_CARICAMENTI + + INSERT INTO [C6Mart].[ESITI_CARICAMENTI] + ([PROGR] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[ESITO] + ,[NOTE] + ,[ID_ELAB]) + SELECT + NULL AS PROGR, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS ESITO, + NULL AS NOTE, + @ID_ELAB AS ID_ELAB + FROM C6STAGING.CATITEMREF + WHERE 1=0 + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_GER_PROMOTORI.sql b/sql/storedCollaudo/C6Mart_DM_GER_PROMOTORI.sql new file mode 100644 index 00000000..a9f7c928 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_GER_PROMOTORI.sql @@ -0,0 +1,42 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_GER_PROMOTORI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_GER_PROMOTORI] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MART.GETIDELAB() + + -- Insert statements for procedure here + TRUNCATE TABLE C6MART.GER_PROMOTORI + + SELECT DISTINCT + +---- INFO TABELLA PER GESTIONE ERRORE +-- 'GER_PROMOTORI' AS TABLENAME, +-- 'RETE - ID_PROMOTORE' AS KEYCOLUMN, +-- SPB_NAC.CODICERETE + ' - ' + SPB_NAC.CODICEAGENTE AS KEYVALUE, +---- FINE INFO TABELLA PER GESTIONE ERRORE + + SPB_NAC.CODICERETE AS RETE, + SPB_NAC.CODICEAGENTE AS ID_PROMOTORE, + SPB_NAC.LIVELLONELLAGERARCHIA AS LIVELLO, + SPB_NAC.CODICEMANAGER AS ID_MANAGER, + SPB_NAC.SUBORDINATI AS SUBORDINATI, + @ID_ELAB AS ID_ELAB, + 'D' AS TIPO_ELAB + FROM C6STAGING.SPB_NAC + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_GestioneEmail.sql b/sql/storedCollaudo/C6Mart_DM_GestioneEmail.sql new file mode 100644 index 00000000..2f4cbff0 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_GestioneEmail.sql @@ -0,0 +1,136 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_GestioneEmail + + + +-- ============================================= +-- Author: +-- Create date: <13/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_GestioneEmail] +AS +BEGIN + +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- PERFEZIONAMENTO; +-- MANCATA MIGRAZIONE; +-- REINVIO SOLLECITO MANCATA MIGRAZIONE. + +--LA GESTIONE DELLE EMAIL PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO O +--PER REINVIO DEL SOLLECITO PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO +--VIENE FATTA DOPO L'ALLINEAMENTO CON I DATI DEL SIMPB + + +--ESTRAZIONE EMAIL PERFEZIONAMENTO +--TIPO EMAIL: "PERF" +--L'EMAIL VIENE INVIATA PER TUTTI I CLIENTI CHE HANNO DATA DI PERFEZIONAMENTO VALORIZZATA +--IL CONTROLLO SULLA DATA DI GENERAZIONE >= DELLA DATA DI PERFEZIONAMENTO E' DOVUTO AL +--FATTO CHE IL CONTRATTO PUO` ESSERE CHIUSO E RIAPERTO ED IN QUESTO CASO LA MAIL DI PERFEZIONAMENTO +--DEVE ESSERE REINVIATA + +-- EMAIL DI ADESIONE AL SERVIZIO SEI +-- TIPO EMAIL 'PERF' +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @ID_ELAB INT +DECLARE @MaxInvioSoll as SMALLINT + +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') as smallint) +SET @ID_ELAB = C6MART.GETIDELAB() +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) --7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint) --7 + +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_GestioneEmail', + GETDATE(), + 'Elaborazione giornaliera' +) +--1. INSERIMENTO MAIL DI "PERFEZIONAMENTO" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- NON PRESENTI SU GESTIONE_EMAIL + +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione, ID_ELAB) +SELECT + C6.Rete, + C6.Cod_Fiscale, + 'PERF' as TipoEmail, + GETDATE() AS DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6Mart.ContrattoSEI C6 +LEFT JOIN C6Mart.GESTIONE_EMAIL EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_FISCALE = EMAIL.COD_FISCALE + AND EMAIL.TIPO = 'PERF' + AND EMAIL.Data_Generazione >= C6.Data_Perf -- CONDIZIONE PER ESCLUDERE DAL JOIN UN CONTRATTO CHIUSO E RIAPERTO. +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF -- IN QUESTO MODO LO INSERIAMO NUOVAMENTE IN GESTIONE_MAIL. + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE +WHERE 1 = 1 + --AND C6.InvioBenvenuto = 'N' + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND EMAIL.COD_FISCALE IS NULL + AND PF.RETE IS NULL + + +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT +WHERE + Nome = 'DM_GestioneEmail' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmail' + ) + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_GestioneEmail', + GETDATE(), + 'Elaborazione giornaliera' +) + +-- 2. INSERIMENTO MAIL "SOLLECITI" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE +-- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO NULL -> CONSIDERIAMO DATA_PERF + +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT + C6.rete, + C6.cod_fiscale, + CASE + WHEN ISNULL(numSolleciti,0) = 0 THEN '1_SOLL_NOMIG' + WHEN numSolleciti = 1 THEN '2_SOLL_NOMIG' + WHEN numSolleciti = 2 THEN '3_SOLL_NOMIG' + ELSE 'S_SOLL_NOMIG' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM c6mart.contrattosei C6 +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE +WHERE 1 = 1 + AND numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(numSolleciti,0) = 0 AND DATEDIFF(DAY,C6.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(C6.Data_Ul diff --git a/sql/storedCollaudo/C6Mart_DM_GestioneEmailNA.sql b/sql/storedCollaudo/C6Mart_DM_GestioneEmailNA.sql new file mode 100644 index 00000000..c3e2cf36 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_GestioneEmailNA.sql @@ -0,0 +1,153 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_GestioneEmailNA + + + +-- ============================================= +-- Author: +-- Create date: <17/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_GestioneEmailNA] +AS +BEGIN + +BEGIN TRANSACTION + +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT + +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT) +SET @ID_ELAB = C6MART.GETIDELAB() + +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' +) + +-- 1. INSERIMENTO MAIL "SOLLECITI" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA EFFETTUATO L'ASSOCIAZIONE DELLE RISORSE + -- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO NULL -> CONSIDERIAMO DATA_PERF + + INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + C6.rete, + C6.cod_fiscale, + CASE + WHEN ISNULL(numSolleciti,0) = 0 THEN '1_SOLL_NOASS' + WHEN numSolleciti = 1 THEN '2_SOLL_NOASS' + WHEN numSolleciti = 2 THEN '3_SOLL_NOASS' + ELSE 'S_SOLL_NOASS' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM c6mart.contrattosei C6 + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(numSolleciti,0) = 0 AND DATEDIFF(DAY,C6.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(C6.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND c6.clienteMigrato = 'S' + AND c6.risorseNA = 'S' + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND PF.RETE IS NULL + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmailNA' + ) + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' + ) + +-- 1.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" + -- AUMENTIAMO IL NUMERO numSolleciti + -- AGGIORNIAMO LA DATA Data_UltimoSollecito + + UPDATE + c6mart.contrattosei + SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() + FROM c6mart.contrattosei C6 + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(numSolleciti,0) = 0 AND DATEDIFF(DAY,C6.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(C6.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND c6.clienteMigrato = 'S' + AND c6.risorseNA = 'S' + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND PF.RETE IS NULL + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmailNA' + ) + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' + ) + +-- 2. INSERIMENTO MAIL "REVOCA" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA EFFETTUATO L'ASS diff --git a/sql/storedCollaudo/C6Mart_DM_GestioneEmailNOPRO.sql b/sql/storedCollaudo/C6Mart_DM_GestioneEmailNOPRO.sql new file mode 100644 index 00000000..7a05ccbb --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_GestioneEmailNOPRO.sql @@ -0,0 +1,152 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_GestioneEmailNOPRO + +-- ============================================= +-- Author: +-- Create date: <19/14/2011,,> -1 ai -2! +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_GestioneEmailNOPRO] +AS +BEGIN + +BEGIN TRANSACTION + +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT + +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT) +SET @ID_ELAB = C6MART.GETIDELAB() + +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' +) + +-- 1. INSERIMENTO MAIL "SOLLECITI" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA ATTIVATO UN PROFILO VALIDO AL CLIENTE + -- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO NULL -> CONSIDERIAMO DATA_PERF + + INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + C6.rete, + C6.cod_fiscale, + CASE + WHEN ISNULL(numSolleciti,0) = 0 THEN '1_SOLL_NOPRO' + WHEN numSolleciti = 1 THEN '2_SOLL_NOPRO' + WHEN numSolleciti = 2 THEN '3_SOLL_NOPRO' + ELSE 'S_SOLL_NOPRO' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM c6mart.contrattosei C6 + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(numSolleciti,0) = 0 AND DATEDIFF(DAY,C6.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(C6.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND c6.clienteMigrato = 'S' + AND c6.risorseNA = 'N' + AND c6.profiloAttivo = 0 + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND PF.RETE IS NULL + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmailNOPRO' + ) + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' + ) + +-- 1.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" + -- AUMENTIAMO IL NUMERO numSolleciti + -- AGGIORNIAMO LA DATA Data_UltimoSollecito + + UPDATE + c6mart.contrattosei + SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() + FROM c6mart.contrattosei C6 + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(numSolleciti,0) = 0 AND DATEDIFF(DAY,C6.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(C6.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND c6.clienteMigrato = 'S' + AND c6.risorseNA = 'N' + AND c6.profiloAttivo = 0 + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND PF.RETE IS NULL + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmailNOPRO' + ) + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' + ) + +-- 2. INSERIMENTO MAIL "REVOCA" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIO diff --git a/sql/storedCollaudo/C6Mart_DM_MIFID.sql b/sql/storedCollaudo/C6Mart_DM_MIFID.sql new file mode 100644 index 00000000..cf22c1c6 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_MIFID.sql @@ -0,0 +1,145 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_MIFID + + + + + + +-- Stored procedure + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: Aggiunta chiave primaria autoincrement su tabella di staging +-- per eliminazione duplicati. +-- ============================================= +CREATE procedure [C6Mart].[DM_MIFID] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MIFID', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.MIFID + + INSERT INTO [C6Mart].[MIFID] + ([RETE] + ,[COD_FISCALE] + ,[COMPILAZIONE] + ,[PROFILO_ASS] + ,[PROFILO_CALC] + ,[DATA_INIZIO_VAL] + ,[DATA_FINE_VAL] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[RISKCLASS] + ,[EXPERIENCE] + ,[SCADUTO] + ,[COMPLESSITA] + ,[CSP] + ,[IMPORTOSPESA] + ,[IMPORTORISERVA] + ,[PERCLUNGOPERIODO] + ,[ESIGENZEASS] + ) + + -- modifica del 4/10/2018 per gestire l'errore dovuto ad un cliente duplicato sulla C6STAGING.SPB_MIFID MIFID + --SELECT + SELECT DISTINCT + -- fine modifica del 4/10/2018 + MIFID.RETE AS RETE, + MIFID.CODICEFISCALE AS COD_FISCALE, + NULL AS COMPILAZIONE, + MIFID.CODICEPROFILOASSEGNATO AS PROFILO_ASS, + NULL AS PROFILO_CALC, + MIFID.DATAINIZIOVALIDITA AS DATA_INIZIO_VAL, + MIFID.DATAFINEVALIDITA AS DATA_FINE_VAL, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + RISK.CODICECLASSERC, + EXPERIENCE, + CASE + --WHEN datediff(dd,DATAINIZIOVALIDITA,getdate())/365.25<3 THEN 0 + WHEN DATAFINEVALIDITA >= getdate() THEN 0 + ELSE 1 + END AS SCADUTO, + MIFID.[COMPLESSITA] + ,MIFID.[CSP] + ,MIFID.[IMPORTOSPESA] + ,MIFID.[IMPORTORISERVA] + ,MIFID.[PERCLUNGOPERIODO] + ,MIFID.[ESIGENZEASS] + + FROM C6STAGING.SPB_MIFID MIFID JOIN + C6STAGING.SPB_PROF_RISCHIO RISK + ON MIFID.CODICEPROFILOASSEGNATO = RISK.CODICEPROFILO + WHERE MIFID.STATUS in (1) --Se prendo anche lo storico potrei avere duplicazione,2) +-- INNER JOIN ( -- PER ELIMINARE DUPLICAZIONE DATI +-- SELECT SPB_MIFID.RETE, SPB_MIFID.CODICEFISCALE, MAX(OID) AS OID +-- FROM C6STAGING.SPB_MIFID +-- GROUP BY SPB_MIFID.RETE, SPB_MIFID.CODICEFISCALE +-- ) DOPPI ON SPB_MIFID.OID = DOPPI.OID + + +-- CONSOLI - UPDATE PER CLIENTI EX BANCA SARA IN ATTESA DELLA SISTEMAZIONE COMPLETA. +/*UPDATE C6MART.MIFID +SET SCADUTO=0 +WHERE +COD_FISCALE in +( +'BOILSN65T54B354J' +,'FRIVLR69D27H501F' +,'CTLTZN59B49F717O' +,'FNFLSS62L03D612C' +,'FRNGCR42D07G999O' +,'GRMGRL41T17D612L' +,'MTTMND35P14H791O' +,'FCCMRT41A29H501J' +)*/ + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MIFID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MIFID' + ) + +END + + +--select * from c6mart.mifid where scaduto = 1 +-- +--select * from +--C6STAGING.SPB_MIFID +--where dataInizioValidita < '20080401' + + + + diff --git a/sql/storedCollaudo/C6Mart_DM_MIFID_20181004.sql b/sql/storedCollaudo/C6Mart_DM_MIFID_20181004.sql new file mode 100644 index 00000000..aedb0886 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_MIFID_20181004.sql @@ -0,0 +1,123 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_MIFID_20181004 + + +-- Stored procedure + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: Aggiunta chiave primaria autoincrement su tabella di staging +-- per eliminazione duplicati. +-- ============================================= +CREATE procedure [C6Mart].[DM_MIFID_20181004] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MIFID', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.MIFID + + INSERT INTO [C6Mart].[MIFID] + ([RETE] + ,[COD_FISCALE] + ,[COMPILAZIONE] + ,[PROFILO_ASS] + ,[PROFILO_CALC] + ,[DATA_INIZIO_VAL] + ,[DATA_FINE_VAL] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[RISKCLASS] + ,[EXPERIENCE] + ,[SCADUTO]) + SELECT + MIFID.RETE AS RETE, + MIFID.CODICEFISCALE AS COD_FISCALE, + MIFID.ACCETTACOMPILAZIONE AS COMPILAZIONE, + MIFID.CODICEPROFILOASSEGNATO AS PROFILO_ASS, + MIFID.CODICEPROFILOCALCOLATO AS PROFILO_CALC, + MIFID.DATAINIZIOVALIDITA AS DATA_INIZIO_VAL, + MIFID.DATAFINEVALIDITA AS DATA_FINE_VAL, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + RISK.CODICECLASSERC, + EXPERIENCE, + CASE + --WHEN datediff(dd,DATAINIZIOVALIDITA,getdate())/365.25<3 THEN 0 + WHEN DATAFINEVALIDITA >= getdate() THEN 0 + ELSE 1 + END AS SCADUTO + FROM C6STAGING.SPB_MIFID MIFID JOIN + C6STAGING.SPB_PROF_RISCHIO RISK + ON MIFID.CODICEPROFILOASSEGNATO = RISK.CODICEPROFILO + WHERE MIFID.STATUS in (1) --Se prendo anche lo storico potrei avere duplicazione,2) +-- INNER JOIN ( -- PER ELIMINARE DUPLICAZIONE DATI +-- SELECT SPB_MIFID.RETE, SPB_MIFID.CODICEFISCALE, MAX(OID) AS OID +-- FROM C6STAGING.SPB_MIFID +-- GROUP BY SPB_MIFID.RETE, SPB_MIFID.CODICEFISCALE +-- ) DOPPI ON SPB_MIFID.OID = DOPPI.OID + + +-- CONSOLI - UPDATE PER CLIENTI EX BANCA SARA IN ATTESA DELLA SISTEMAZIONE COMPLETA. +/*UPDATE C6MART.MIFID +SET SCADUTO=0 +WHERE +COD_FISCALE in +( +'BOILSN65T54B354J' +,'FRIVLR69D27H501F' +,'CTLTZN59B49F717O' +,'FNFLSS62L03D612C' +,'FRNGCR42D07G999O' +,'GRMGRL41T17D612L' +,'MTTMND35P14H791O' +,'FCCMRT41A29H501J' +)*/ + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MIFID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MIFID' + ) + +END + + +--select * from c6mart.mifid where scaduto = 1 +-- +--select * from +--C6STAGING.SPB_MIFID +--where dataInizioValidita < '20080401' + + + + diff --git a/sql/storedCollaudo/C6Mart_DM_PARTITE_VIAGGIANTI.sql b/sql/storedCollaudo/C6Mart_DM_PARTITE_VIAGGIANTI.sql new file mode 100644 index 00000000..c5ad8d42 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_PARTITE_VIAGGIANTI.sql @@ -0,0 +1,94 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_PARTITE_VIAGGIANTI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PARTITE_VIAGGIANTI] +AS +BEGIN + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PARTITE_VIAGGIANTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.PARTITE_VIAGGIANTI + + INSERT INTO C6Mart.PARTITE_VIAGGIANTI + (RETE + ,COD_FISCALE + ,IMPORTO + ,ID_ELAB + ,TIPO_ELAB) + +SELECT + RETE, + COD_FISCALE, + SUM(IMPORTO) AS IMPORTO, + @ID_ELAB, + @TIPO_ELAB +FROM +( + SELECT + SPB_PARTITE_VIAGG.RETE AS RETE, + SPB_PARTITE_VIAGG.CODICEFISCALE AS COD_FISCALE, + SUM(IMPORTOVERSATO) AS IMPORTO + FROM + C6Staging.SPB_PARTITE_VIAGG + GROUP BY + SPB_PARTITE_VIAGG.RETE, + SPB_PARTITE_VIAGG.CODICEFISCALE + + UNION ALL +--- inserimento partite viaggianti in disinvestimento + + SELECT + SPB_PARTITE_VIAGG_DISINV.RETE AS RETE, + SPB_PARTITE_VIAGG_DISINV.CODICEFISCALE AS COD_FISCALE, + SUM(IMPORTOVERSATO) AS IMPORTO + FROM + C6Staging.SPB_PARTITE_VIAGG_DISINV + GROUP BY + SPB_PARTITE_VIAGG_DISINV.RETE, + SPB_PARTITE_VIAGG_DISINV.CODICEFISCALE +) k +GROUP BY + RETE, + COD_FISCALE + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_PATRIMONIO_AGG.sql b/sql/storedCollaudo/C6Mart_DM_PATRIMONIO_AGG.sql new file mode 100644 index 00000000..e6a3e498 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_PATRIMONIO_AGG.sql @@ -0,0 +1,73 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_PATRIMONIO_AGG + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PATRIMONIO_AGG] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_AGG', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.PATRIMONIO_AGG + + INSERT INTO [C6Mart].[PATRIMONIO_AGG] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[LIQUIDATO] + ,[INVESTITO] + ,[ID_AREA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_POS_CONS_CAT.RETE AS RETE, + ALL_POS_CONS_CAT.CODICE_FISCALE AS COD_FISCALE, + SUBSTRING(ALL_POS_CONS_CAT.STRINGONA_POS,1,57) AS COD_PRODOTTO, + ALL_POS_CONS_CAT.C_OUTCTV_B4FB8 AS LIQUIDATO, + ALL_POS_CONS_CAT.C_RISORSELIQ_DF807 AS INVESTITO, + ALL_POS_CONS_CAT.NEED_AREA_ABBR_DI_AREA AS ID_AREA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_POS_CONS_CAT + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_AGG' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_AGG' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_PATRIMONIO_ALTRO.sql b/sql/storedCollaudo/C6Mart_DM_PATRIMONIO_ALTRO.sql new file mode 100644 index 00000000..b0e61750 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_PATRIMONIO_ALTRO.sql @@ -0,0 +1,85 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_PATRIMONIO_ALTRO + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PATRIMONIO_ALTRO] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_ALTRO', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.PATRIMONIO_ALTRO + + INSERT INTO [C6Mart].[PATRIMONIO_ALTRO] + ([RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.NUMEROQUOTE AS QUANTITA, + SUBSTRING(ALL_PATR_TERZI.DENOMINAZIONE,1,50) AS DESCRIZIONE, + ALL_PATR_TERZI.PATRIMONIO_ALTRO_PB_E6F18 AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_PATR_TERZI + WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_E6F18 + + UNION + + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + NULL AS QUANTITA, + SUBSTRING(ALL_PATR_TERZI.DENOMINAZIONE_PN_F87B4,1,50) AS DESCRIZIONE, + ALL_PATR_TERZI.PATRIMONIO_ALTRO_PN_F87B4 AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_PATR_TERZI + WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_F87B4 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_ALTRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_ALTRO' + ) + +END + + diff --git a/sql/storedCollaudo/C6Mart_DM_PATRIMONIO_BF.sql b/sql/storedCollaudo/C6Mart_DM_PATRIMONIO_BF.sql new file mode 100644 index 00000000..63a99162 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_PATRIMONIO_BF.sql @@ -0,0 +1,118 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_PATRIMONIO_BF + +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna / Valerio +-- Create date: 10 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PATRIMONIO_BF] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.PATRIMONIO_BF + + SELECT + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + SPB_CONTR_SINTESI.POSITIONID AS POSITIONID, + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ('DT', 'FI') AND SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO + ELSE SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB_CONTR_SINTESI.CODICESTATO AS COD_STATO, + SPB_CONTR_SINTESI.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB_CONTR_SINTESI.CODICEMAF AS COD_MAF, + SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, + SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO, + CASE + WHEN CONSAREA.C_NEEDAREA_V_46360 = 'Inv' AND PRCONSUL.C_PROJECTNAM_11D1A IS NULL THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + END AS NOME_PROGETTO, + --POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + SPB_CONTR_SINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB_CONTR_SINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB_CONTR_SINTESI.QUOTE AS QUANTITA, + SPB_CONTR_SINTESI.PREZZO AS PREZZO, + SPB_CONTR_SINTESI.CTV AS CTV, + SPB_CONTR_SINTESI.VALORE AS CTV_NOMINALE, + + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE SPB_CONTR_SINTESI.CVN + END AS VERSATO_NETTO, + + + SPB_CONTR_SINTESI.PARTVIA AS PARTVIA_DISINV, + + SPB_CONTR_SINTESI.PARTVIAAL AS DATA_PARTVIA_DISINV, + + + + --SPB_PARTITE_VIAGG.IMPORTOVERSATO AS PARTVIA_INV, + NULL AS PARTVIA_INV, + + + + + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE + END AS REND_SOTTOSCRIZIONE, +-- SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE AS REND_SOTTOSCRIZIONE, + + + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE + END AS REND_TRIMESTRE, +-- SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, diff --git a/sql/storedCollaudo/C6Mart_DM_PATRIMONIO_BF_old.sql b/sql/storedCollaudo/C6Mart_DM_PATRIMONIO_BF_old.sql new file mode 100644 index 00000000..65a7f59c --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_PATRIMONIO_BF_old.sql @@ -0,0 +1,127 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_PATRIMONIO_BF_old + + + + +-- Stored Procedure + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 10 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PATRIMONIO_BF_old] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.PATRIMONIO_BF + + SELECT + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + SPB_CONTR_SINTESI.POSITIONID AS POSITIONID, + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ('DT', 'FI') AND SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO + ELSE SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB_CONTR_SINTESI.CODICESTATO AS COD_STATO, + SPB_CONTR_SINTESI.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB_CONTR_SINTESI.CODICEMAF AS COD_MAF, + SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, + SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO, + CASE + WHEN CONSAREA.C_NEEDAREA_V_46360 = 'Inv' AND PRCONSUL.C_PROJECTNAM_11D1A IS NULL THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + END AS NOME_PROGETTO, + --POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + SPB_CONTR_SINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB_CONTR_SINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB_CONTR_SINTESI.QUOTE AS QUANTITA, + SPB_CONTR_SINTESI.PREZZO AS PREZZO, + SPB_CONTR_SINTESI.CTV AS CTV, + SPB_CONTR_SINTESI.VALORE AS CTV_NOMINALE, + + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE SPB_CONTR_SINTESI.CVN + END AS VERSATO_NETTO, + + + SPB_CONTR_SINTESI.PARTVIA AS PARTVIA_DISINV, + + SPB_CONTR_SINTESI.PARTVIAAL AS DATA_PARTVIA_DISINV, + + + + --SPB_PARTITE_VIAGG.IMPORTOVERSATO AS PARTVIA_INV, + NULL AS PARTVIA_INV, + + + + + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE + END AS REND_SOTTOSCRIZIONE, +-- SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE AS REND_SOTTOSCRIZIONE, + + + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE + END AS REND_TRIMESTRE, +-- SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + + + + CASE diff --git a/sql/storedCollaudo/C6Mart_DM_PATRIMONIO_EMITTENTI.sql b/sql/storedCollaudo/C6Mart_DM_PATRIMONIO_EMITTENTI.sql new file mode 100644 index 00000000..dd661442 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_PATRIMONIO_EMITTENTI.sql @@ -0,0 +1,127 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_PATRIMONIO_EMITTENTI + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +CREATE procedure [C6Mart].[DM_PATRIMONIO_EMITTENTI] + + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_EMITTENTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.PATRIMONIO_EMITTENTI + +INSERT INTO +[C6MART].[PATRIMONIO_EMITTENTI] +( + +COD_FISCALE, +RETE, +POSITION_ID, +COD_PRODOTTO, +COD_ADEGUATEZZA, +INTERMEDIARIO, +CTV_INTERMEDIARIO, +CTV_INTER_NOCC_NEG, +EMITTENTE, +COMPLESSITA, +CTV_EMITTENTE, +CTV_PRODOTTO, +FLG_AZ_OB, +CREDITRISKCLASS, +CTV_AZIONARIO, +CTV_OBBLIGAZIONARIO, +CTV_AZ_OB_EMIT, +CTV_AZ_OB_EMIT_INTER, +CTV_COMPLESSIVO, +CTV_COMPL_NOCC_NEG, +CONC_EMITTENTE, +CONC_EMIT_INTERM, +COPERTURA +) + + SELECT H.COD_FISCALE, + H.RETE, + H.POSITION_ID, + H.COD_PRODOTTO AS CATALOGUENAME, + '' AS COD_ADEGUATEZZA, + 'BF' AS INTERMEDIARIO, + sum(h.ctv) over (partition by h.cod_fiscale, h.rete) AS PATRIMONIO_INTERMEDIARIO, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END ) over (partition by h.cod_fiscale, h.rete) AS PATRIMONIO_INTER_nocc_neg, + H.EMITTENTE, + H.COMPLEX AS COMPLESSITA, + sum(h.ctv) over (partition by h.cod_fiscale, H.rete, H.EMITTENTE) AS PATRIMONIO_EMITTENTE, + h.ctv as CONTROVALORE_PRODOTTO, + CASE WHEN H.STRTYPE IN ('AZ', 'OB') THEN H.STRTYPE ELSE NULL END AS AZ_OB, + K.classe AS CREDITRISKCLASS, + SUM( case when STRTYPE = 'AZ' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE, H.POSITION_ID) AS CTV_AZIONARIO, + SUM(case when STRTYPE = 'OB' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE, H.POSITION_ID) AS CTV_OBBLIGAZIONARIO, + SUM( case when STRTYPE IN ( 'AZ','OB') then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE) PATRIMONIO_AZ_OB_EMIT, + SUM( case when STRTYPE IN ( 'AZ','OB') then h.ctv else 0 end ) OVER( PARTITION BY H.COd_FISCALE,H.RETE,EMITTENTE) PATRIM_AZ_OB_EMIT_INTER, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPLESSIVO, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPL_nocc_neg, + 0 as concentrazione_emittente, + 0 AS concentraz_emit_interm, + r.copertura + FROM C6MART.PATRIMONIO_BF H + LEFT OUTER join + C6MART.RISCHIO_AGGREGATO R + on + H.COD_FISCALE=R.COD_FISCALE + AND H.RETE=R.RETE + AND r.COD_AGGREG = + CASE + WHEN (h.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(h.ID_AREA,3) + '|' + h.NOME_PROGETTO+ '|' + when LEFT(h.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(h.ID_AREA,3) + '|' + END + + ltrim(rtrim(h.POSITION_ID)) + + left outer join +-- +--select * from c6mart.rischioEmittenti +--select * from c6mart.rischio_aggregato +C6Mart.RISCHIOEMITTENTI K + on + R.CREDITRISKEMIT=ORDINE + +---- PATRIMONIO TERZI +UNION all + +SELECT DISTINCT h.COD_FISCALE, + h.RETE, + '' AS POSITION_ID, + H.COD_PRODOTTO AS CATALOGUENAME, + diff --git a/sql/storedCollaudo/C6Mart_DM_PATRIMONIO_IMMOBILIARE.sql b/sql/storedCollaudo/C6Mart_DM_PATRIMONIO_IMMOBILIARE.sql new file mode 100644 index 00000000..f209fa7f --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_PATRIMONIO_IMMOBILIARE.sql @@ -0,0 +1,100 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_PATRIMONIO_IMMOBILIARE + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PATRIMONIO_IMMOBILIARE] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.PATRIMONIO_IMMOBILIARE + + INSERT INTO [C6Mart].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + -- DISTINCT Atringali 12012010 + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, + CASE ALL_PATR_TERZI.TIPOLOGIA_RDESCR + WHEN 'Civil' THEN 'Civile' + WHEN 'Economic' THEN 'Economica' + WHEN 'Posh' THEN 'Signorile' + ELSE '' + END AS TIPOLOGIA, + ALL_PATR_TERZI.LOCALITA AS LOCALITA, + NULL AS PROVINCIA, + NULL AS CAP, + NULL AS NAZIONE, + ALL_PATR_TERZI.PATRIMONIO_IMMOBILIARE AS VALORE_STIMATO, + ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_PATR_TERZI + WHERE ALL_PATR_TERZI.CHIAVE_PR_31921 IS NOT NULL + --V Dal passaggio in prod del 21/10/2010 su oracle questo campo sempre null AND ALL_PATR_TERZI.CHIAVE_RDESC IS NOT NULL + AND ALL_PATR_TERZI.DESCRIZIONE_RDESCR IS NOT NULL + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_IMMOBILIARE' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6Mart_DM_PATRIMONIO_TERZI.sql b/sql/storedCollaudo/C6Mart_DM_PATRIMONIO_TERZI.sql new file mode 100644 index 00000000..7a379673 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_PATRIMONIO_TERZI.sql @@ -0,0 +1,114 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_PATRIMONIO_TERZI + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PATRIMONIO_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.PATRIMONIO_TERZI + + INSERT INTO [C6Mart].[PATRIMONIO_TERZI] + ([RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + ALL_PATR_TERZI.TIPO_POLIZZA_BT_97BEE AS TIPO_POLIZZA, + --COALESCE(PRODOTTI_A_CATALOGO.TIPO_PRODOTTO, PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO) AS TIPO_PRODOTTO, + CASE + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' AND S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 = 'Conti correnti' + THEN 'Altro' + ELSE + COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) + END AS TIPO_PRODOTTO, + PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO2 AS TIPO_PRODOTTO2, + ISNULL(ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO,'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(ALL_PATR_TERZI.CHIAVE_THR,'PRODOTTO IN CATALOGO') AS COD_PRODOTTO_TERZI, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + --ALL_PATR_TERZI.DATA_INIZIO_INV AS DATA_SOTTOSCRIZIONE, + --ISNULL(ALL_PATR_TERZI.DATA_INIZIO_INV, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ) AS DATA_SOTTOSCRIZIONE, + --ALL_PATR_TERZI.BALANCEDATETIME_DI_THR AS DATA_SOTTOSCRIZIONE, + CASE + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.PolizzeRivalutabili') -- PRODOTTI S49 + THEN ISNULL(ALL_PATR_TERZI.DATA_SOTTOSCRIZIONE, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ) + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.ProdottiPrevidenziali') -- PRODOTTI S50 + THEN ALL_PATR_TERZI.BALANCEDATETIME_DI_THR -- EQUIVALENTE A ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ + ELSE -- PRODOTTI S48 + ALL_PATR_TERZI.DATA_INIZIO_INV + END AS DATA_SOTTOSCRIZIONE, + ALL_PATR_TERZI.DATA_SCADENZA AS DATA_SCADENZA, + ALL_PATR_TERZI.TIPO_VERSAMENTO_BT_6797 AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + ALL_PATR_TERZI.PREMIO_VERSAMENTO AS PREMIO, + NULL AS ALIQUOTA, + ALL_PATR_TERZI.BALANCEDATETIME_DI_THR AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + ALL_PATR_TERZI.PATRIMONIO_TERZI AS CTV, + ALL_PATR_TERZI.CAPITALE_INVESTITO AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (e diff --git a/sql/storedCollaudo/C6Mart_DM_PIRAMIDE_MOD.sql b/sql/storedCollaudo/C6Mart_DM_PIRAMIDE_MOD.sql new file mode 100644 index 00000000..3724fc84 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_PIRAMIDE_MOD.sql @@ -0,0 +1,99 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_PIRAMIDE_MOD + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PIRAMIDE_MOD] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PIRAMIDE_MOD', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.PIRAMIDE_MOD + + INSERT INTO [C6Mart].[PIRAMIDE_MOD] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_CF_PB.RETE_PB AS RETE, + ALL_CF_PB.CODICE_FISCALE AS COD_FISCALE, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + PRCONSUL.C_PROJECTNAM_11D1A AS NOME_PROGETTO, + PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO, + PRCONSUL.C_PERCENTUAL_69019 AS PERC_AREA, + PRCONSUL.C_PROJECTCTV_39520 AS CTV_PROGETTO, + CONSAREA.C_CTVNEEDARE_EA4FB AS CTV_AREA, + C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA, + ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + CONSUL.C_DATAMIGRAZ_BF705 AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_CF_PB + INNER JOIN C6STAGING.CONSUL + ON CONSUL.INSTID = ALL_CF_PB.RETE_PB + AND CONSUL.ADBKID = ALL_CF_PB.CODICEFISCALE + AND CONSUL.TYPE$_TIPOCO_1EA7C = 'Bozza' --'AttivaAggiornata' + INNER JOIN C6STAGING.CONSAREA + ON CONSAREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6STAGING.PRCONSUL + ON PRCONSUL.F_PCONSULENZ_B69E4 = CONSAREA.OID$ + LEFT JOIN C6STAGING.C_BO_453FB + ON C_BO_453FB.PK_PRC = PRCONSUL.OID$ + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PIRAMIDE_MOD' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PIRAMIDE_MOD' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_PIRAMIDE_VERT.sql b/sql/storedCollaudo/C6Mart_DM_PIRAMIDE_VERT.sql new file mode 100644 index 00000000..9bec2e24 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_PIRAMIDE_VERT.sql @@ -0,0 +1,75 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_PIRAMIDE_VERT + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 25/11/2008 +-- Description: Modificate le tabelle da cui pescare i dati (non pi la all_pos_cons_cat) +-- ============================================= +CREATE procedure [C6Mart].[DM_PIRAMIDE_VERT] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PIRAMIDE_VERT', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.PIRAMIDE_VERT + + INSERT INTO [C6Mart].[PIRAMIDE_VERT] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[CTV_AREA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ALL_CF_PB.RETE_PB AS RETE, + ALL_CF_PB.CODICE_FISCALE AS COD_FISCALE, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + CONSAREA.C_CTVNEEDARE_EA4FB AS CTV_AREA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_CF_PB + INNER JOIN C6STAGING.CONSUL + ON CONSUL.INSTID = ALL_CF_PB.RETE_PB + AND CONSUL.ADBKID = ALL_CF_PB.CODICEFISCALE + AND CONSUL.TYPE$_TIPOCO_1EA7C = 'Bozza' --'AttivaAggiornata' + INNER JOIN C6STAGING.CONSAREA + ON CONSAREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PIRAMIDE_VERT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PIRAMIDE_VERT' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_PREVIDENZIALE.sql b/sql/storedCollaudo/C6Mart_DM_PREVIDENZIALE.sql new file mode 100644 index 00000000..384be8a5 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_PREVIDENZIALE.sql @@ -0,0 +1,102 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_PREVIDENZIALE + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PREVIDENZIALE] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PREVIDENZIALE', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.PREVIDENZIALE + + INSERT INTO [C6Mart].[PREVIDENZIALE] + ([RETE] + ,[COD_FISCALE] + ,[ANNO_PENSIONE] + ,[ETA_PENSIONE] + ,[TOT_CONSUMI_ATTESI] + ,[TOT_REDDITO_ANNUO] + ,[REDDITO_CONSUMI_ESS] + ,[PENSIONE_ATTESA_] + ,[RENDITA_PREV_COMPL] + ,[RENDITA_ASS] + ,[REDDITO_CONSUMI_SEC] + ,[RENDITA_ASS_TRAD] + ,[RENDITA_ASS_UNIT] + ,[RENDITA_IMMOB] + ,[ALTRE_RENDITE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SUBSTRING(C6STAGING.ALL_CF_PB.RETE_PB,1,1) AS RETE, + SUBSTRING(C6STAGING.ALL_CF_PB.CODICE_FISCALE,1,16) AS COD_FISCALE, + YEAR(DATEADD(YY, QUANTIF.RETIREMENTYEARS, ALL_CF_PB.DATA_NASCITA)) AS ANNO_PENSIONE, + QUANTIF.RETIREMENTYEARS AS ETA_PENSIONE, + QUANTIF.EXPNEEDSAMT AS TOT_CONSUMI_ATTESI, + QUANTIF.GROSSINPRIMAMT + QUANTIF.GROSSINSECAMT AS TOT_REDDITO_ANNUO, + QUANTIF.GROSSINPRIMAMT AS REDDITO_CONSUMI_ESS, + QUANTIF.STATEPENSIONAMT AS PENSIONE_ATTESA_, + QUANTIF.PRIVATEPENSIONAMT AS RENDITA_PREV_COMPL, + QUANTIF.LIFEINTERESTAMT AS RENDITA_ASS, + QUANTIF.GROSSINSECAMT AS REDDITO_CONSUMI_SEC, + QUANTIF.INSINTERESTAMT AS RENDITA_ASS_TRAD, + QUANTIF.INVINTERESTAMT AS RENDITA_ASS_UNIT, + QUANTIF.REINTERESTAMT AS RENDITA_IMMOB, + ESTRAZIONE_OTHINTRST.ALTRE_RENDITE AS ALTRE_RENDITE, + QUANTIF.EXPNEEDSCUR AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_CF_PB + INNER JOIN C6STAGING.QUANTIF ON ALL_CF_PB.ID_CLI = QUANTIF.F_OID__ADDRE_81D21 + LEFT JOIN ( + SELECT F_PQUANTIFIC_76FF6, SUM(INTERESTAMT) AS ALTRE_RENDITE + FROM C6STAGING.OTHINTRST + GROUP BY F_PQUANTIFIC_76FF6 + ) ESTRAZIONE_OTHINTRST + ON ESTRAZIONE_OTHINTRST.F_PQUANTIFIC_76FF6 = QUANTIF.OID_ + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PREVIDENZIALE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PREVIDENZIALE' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_PopolaContratti.sql b/sql/storedCollaudo/C6Mart_DM_PopolaContratti.sql new file mode 100644 index 00000000..eb9515bd --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_PopolaContratti.sql @@ -0,0 +1,119 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_PopolaContratti + +----- not used in mart +CREATE procedure [C6Mart].[DM_PopolaContratti] +AS +BEGIN + + DECLARE @ULTIMOPROGRINVIO int--SMALLINT + DECLARE @ORDINEELAB int--SMALLINT + DECLARE @RIATTIVAZIONE int--SMALLINT + DECLARE @inizio DATETIME + DECLARE @fine DATETIME + DECLARE @righeUpdate INT + DECLARE @righeInsert INT + + SET @inizio = GETDATE() + SET @righeUpdate = 0 + SET @righeInsert = 0 + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('DM_PopolaContratti',@inizio,'Elaborazione giornaliera') + + --AGGIORNAMENTO CONTRATTI + --I RECORD PRESENTI NELLA VARIAZIONE_CONTRSEI POTREBBERO ESSERE + --POPOLATI IN ELABORAZIONI DIFFERENTI. VANNO ESEGUITI IN ORDINE + --DICHIARAZIONE CURSORE PER ESTRARRE LE ELABORAZIONI + + DECLARE ELABORAZIONI CURSOR LOCAL FORWARD_ONLY + FOR + SELECT ULTIMO_PROGRESSIVO_INVIO, ORDINE_DI_ELABORAZIONE_RIGA, RIATTIVAZIONE + FROM C6STAGING.VARIAZIONE_CONTRSEI + ORDER BY ULTIMO_PROGRESSIVO_INVIO, ORDINE_DI_ELABORAZIONE_RIGA + + --APERTURA CURSORE + OPEN ELABORAZIONI + FETCH NEXT FROM ELABORAZIONI INTO @ULTIMOPROGRINVIO, @ORDINEELAB, @RIATTIVAZIONE + WHILE @@FETCH_STATUS = 0 + BEGIN + + --AGGIORNAMENTO CONTRATTI ESISTENTI + UPDATE C6Mart.CONTRATTOSEI + SET + Cod_Fiscale = VARC6.CODICE_FISCALE + ,Data_Sott = VARC6.DATA_SOTTOSCRIZIONE_C6 + ,Cod_Agente = VARC6.PB + ,Data_Perf_Base = VARC6.DATA_PERFEZIONAMENTO_BASE + ,Data_Perf = VARC6.DATA_PERFEZIONAMENTO_C6 + ,Fascia_CPP = VARC6.CPP + ,Email = VARC6.EMAIL + ,Indirizzo = VARC6.INDIRIZZO + ,CAP = VARC6.CAP + ,Citta = VARC6.CITTA + ,Prov = VARC6.PROVINCIA + ,Nazione = VARC6.NAZIONE + ,Presso = VARC6.PRESSO + ,Freq_Diagnosi = VARC6.FREQUENZA_DIAGNOSI + ,Freq_Monitor = isnull(VARC6.FREQUENZA_MONITORAGGIO,'T') + ,Data_InizioBase = VARC6.DATA_SOTTOSCRIZIONE_BASE + ,Data_FineBase = VARC6.DATA_CHIUSURA_BASE + ,Data_FineAvanzato = VARC6.DATA_CHIUSURA_C6 + ,ProgressivoInvio = VARC6.ULTIMO_PROGRESSIVO_INVIO + ,GenerazioneReport = VARC6.FLAG_STAMPA_REPORT + ,Rol = isnull(VARC6.Flag_Rol,'N') + ,tip_Contratto = CASE + WHEN VARC6.tip_Contratto = 'A' THEN 1 + WHEN VARC6.tip_Contratto = 'P' THEN 2 + ELSE 0 + END + ,tip_Riattivazione = @RIATTIVAZIONE + ,numRevoche = CASE + WHEN @RIATTIVAZIONE = 0 THEN numRevoche + ELSE 0 + END + ,data_UltimaRevoca = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_UltimaRevoca + ELSE NULL + END + ,invioBenvenuto = CASE + WHEN @RIATTIVAZIONE = 0 THEN invioBenvenuto + ELSE 'N' + END + ,numSolleciti = CASE + WHEN (C6.Rete <> VARC6.Rete_PB OR C6.Cod_Agente <> VARC6.PB) THEN 0 + WHEN @RIATTIVAZIONE = 0 THEN numSolleciti + ELSE 0 + END + ,data_UltimoSollecito = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_UltimoSollecito + ELSE NULL + END + ,data_Invio_Monitoraggio_Trimestrale = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_Invio_Monitoraggio_Trimestrale + ELSE NULL + END + ,data_Invio_Diagnosi_Trimestrale = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_Invio_Diagnosi_Trimestrale + ELSE NULL + END + FROM C6MART.CONTRATTOSEI C6 + INNER JOIN C6STAGING.VARIAZIONE_CONTRSEI VARC6 + ON C6.RETE = VARC6.RETE_PB + AND C6.CODICECONTRATTO = VARC6.CODICE_CONTRATTO + AND VARC6.ULTIMO_PROGRESSIVO_INVIO = @ULTIMOPROGRINVIO + AND VARC6.ORDINE_DI_ELABORAZIONE_RIGA = @ORDINEELAB + + SET @righeUpdate = @righeUpdate + @@ROWCOUNT + + IF @@ROWCOUNT > 0 + IF @RIATTIVAZIONE = 1 + BEGIN + UPDATE C6MART.Gestione_EMAIL + SET TIPO = 'OLD' + FROM C6MART.Gestione_EMAIL EMAIL + INNER JOIN C6STAGING.VARIAZIONE_CONTRSEI VARC6 + ON VARC6.CODICE_FISCALE = EMAIL.COD_FISCALE + AND VARC6.rete_pb = EMAIL.RETE + AND VARC6.ULTIMO_PROGR diff --git a/sql/storedCollaudo/C6Mart_DM_PopolaContratti_20161026.sql b/sql/storedCollaudo/C6Mart_DM_PopolaContratti_20161026.sql new file mode 100644 index 00000000..c1888fa3 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_PopolaContratti_20161026.sql @@ -0,0 +1,121 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_PopolaContratti_20161026 + + + +-- ============================================= +-- Author: Luca +-- Create date: 13/11/2008 +-- Description: Aggiornamento tabella contratti +-- ============================================= +CREATE procedure [C6Mart].[DM_PopolaContratti_20161026] +AS +BEGIN + + DECLARE @ULTIMOPROGRINVIO int--SMALLINT + DECLARE @ORDINEELAB int--SMALLINT + DECLARE @RIATTIVAZIONE int--SMALLINT + DECLARE @inizio DATETIME + DECLARE @fine DATETIME + DECLARE @righeUpdate INT + DECLARE @righeInsert INT + + SET @inizio = GETDATE() + SET @righeUpdate = 0 + SET @righeInsert = 0 + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('DM_PopolaContratti',@inizio,'Elaborazione giornaliera') + + --AGGIORNAMENTO CONTRATTI + --I RECORD PRESENTI NELLA VARIAZIONE_CONTRSEI POTREBBERO ESSERE + --POPOLATI IN ELABORAZIONI DIFFERENTI. VANNO ESEGUITI IN ORDINE + --DICHIARAZIONE CURSORE PER ESTRARRE LE ELABORAZIONI + + DECLARE ELABORAZIONI CURSOR LOCAL FORWARD_ONLY + FOR + SELECT ULTIMO_PROGRESSIVO_INVIO, ORDINE_DI_ELABORAZIONE_RIGA, RIATTIVAZIONE + FROM C6STAGING.VARIAZIONE_CONTRSEI + ORDER BY ULTIMO_PROGRESSIVO_INVIO, ORDINE_DI_ELABORAZIONE_RIGA + + --APERTURA CURSORE + OPEN ELABORAZIONI + FETCH NEXT FROM ELABORAZIONI INTO @ULTIMOPROGRINVIO, @ORDINEELAB, @RIATTIVAZIONE + WHILE @@FETCH_STATUS = 0 + BEGIN + + --AGGIORNAMENTO CONTRATTI ESISTENTI + UPDATE C6Mart.CONTRATTOSEI + SET + Cod_Fiscale = VARC6.CODICE_FISCALE + ,Data_Sott = VARC6.DATA_SOTTOSCRIZIONE_C6 + ,Cod_Agente = VARC6.PB + ,Data_Perf_Base = VARC6.DATA_PERFEZIONAMENTO_BASE + ,Data_Perf = VARC6.DATA_PERFEZIONAMENTO_C6 + ,Fascia_CPP = VARC6.CPP + ,Email = VARC6.EMAIL + ,Indirizzo = VARC6.INDIRIZZO + ,CAP = VARC6.CAP + ,Citta = VARC6.CITTA + ,Prov = VARC6.PROVINCIA + ,Nazione = VARC6.NAZIONE + ,Presso = VARC6.PRESSO + ,Freq_Diagnosi = VARC6.FREQUENZA_DIAGNOSI + ,Freq_Monitor = isnull(VARC6.FREQUENZA_MONITORAGGIO,'T') + ,Data_InizioBase = VARC6.DATA_SOTTOSCRIZIONE_BASE + ,Data_FineBase = VARC6.DATA_CHIUSURA_BASE + ,Data_FineAvanzato = VARC6.DATA_CHIUSURA_C6 + ,ProgressivoInvio = VARC6.ULTIMO_PROGRESSIVO_INVIO + ,GenerazioneReport = VARC6.FLAG_STAMPA_REPORT + ,Rol = isnull(VARC6.Flag_Rol,'N') + ,tip_Contratto = CASE + WHEN VARC6.tip_Contratto = 'A' THEN 1 + WHEN VARC6.tip_Contratto = 'P' THEN 2 + ELSE 0 + END + ,tip_Riattivazione = @RIATTIVAZIONE + ,numRevoche = CASE + WHEN @RIATTIVAZIONE = 0 THEN numRevoche + ELSE 0 + END + ,data_UltimaRevoca = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_UltimaRevoca + ELSE NULL + END + ,invioBenvenuto = CASE + WHEN @RIATTIVAZIONE = 0 THEN invioBenvenuto + ELSE 'N' + END + ,numSolleciti = CASE + WHEN (C6.Rete <> VARC6.Rete_PB OR C6.Cod_Agente <> VARC6.PB) THEN 0 + WHEN @RIATTIVAZIONE = 0 THEN numSolleciti + ELSE 0 + END + ,data_UltimoSollecito = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_UltimoSollecito + ELSE NULL + END + ,data_Invio_Monitoraggio_Trimestrale = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_Invio_Monitoraggio_Trimestrale + ELSE NULL + END + ,data_Invio_Diagnosi_Trimestrale = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_Invio_Diagnosi_Trimestrale + ELSE NULL + END + FROM C6MART.CONTRATTOSEI C6 + INNER JOIN C6STAGING.VARIAZIONE_CONTRSEI VARC6 + ON C6.RETE = VARC6.RETE_PB + AND C6.CODICECONTRATTO = VARC6.CODICE_CONTRATTO + AND VARC6.ULTIMO_PROGRESSIVO_INVIO = @ULTIMOPROGRINVIO + AND VARC6.ORDINE_DI_ELABORAZIONE_RIGA = @ORDINEELAB + + SET @righeUpdate = @righeUpdate + @@ROWCOUNT + + IF @@ROWCOUNT > 0 + IF @RIATTIVAZIONE = 1 + BEGIN + UPDATE C6MART.Gestione_EMAIL + SET TIPO = 'OLD' + FROM C6MART.Gestione_EMAIL diff --git a/sql/storedCollaudo/C6Mart_DM_PopolaContratti_old240213.sql b/sql/storedCollaudo/C6Mart_DM_PopolaContratti_old240213.sql new file mode 100644 index 00000000..467f310d --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_PopolaContratti_old240213.sql @@ -0,0 +1,117 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_PopolaContratti_old240213 + + +-- ============================================= +-- Author: Luca +-- Create date: 13/11/2008 +-- Description: Aggiornamento tabella contratti +-- ============================================= +CREATE procedure [C6Mart].[DM_PopolaContratti_old240213] +AS +BEGIN + + DECLARE @ULTIMOPROGRINVIO int--SMALLINT + DECLARE @ORDINEELAB int--SMALLINT + DECLARE @inizio DATETIME + DECLARE @fine DATETIME + DECLARE @righeUpdate INT + DECLARE @righeInsert INT + + SET @inizio = GETDATE() + SET @righeUpdate = 0 + SET @righeInsert = 0 + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PopolaContratti', + @inizio, + 'Elaborazione giornaliera' + ) + + --AGGIORNAMENTO CONTRATTI + + --I RECORD PRESENTI NELLA VARIAZIONE_CONTRSEI POTREBBERO ESSERE + --POPOLATI IN ELABORAZIONI DIFFERENTI. VANNO ESEGUITI IN ORDINE + --DICHIARAZIONE CURSORE PER ESTRARRE LE ELABORAZIONI + + DECLARE ELABORAZIONI CURSOR LOCAL FORWARD_ONLY + FOR + SELECT ULTIMO_PROGRESSIVO_INVIO, ORDINE_DI_ELABORAZIONE_RIGA + FROM C6STAGING.VARIAZIONE_CONTRSEI + --where ORDINE_DI_ELABORAZIONE_RIGA < 10000 and ULTIMO_PROGRESSIVO_INVIO > 1000 + ORDER BY ULTIMO_PROGRESSIVO_INVIO, ORDINE_DI_ELABORAZIONE_RIGA + + --APERTURA CURSORE + OPEN ELABORAZIONI + FETCH NEXT FROM ELABORAZIONI INTO @ULTIMOPROGRINVIO, @ORDINEELAB + WHILE @@FETCH_STATUS = 0 + BEGIN + + --AGGIORNAMENTO CONTRATTI ESISTENTI + UPDATE C6Mart.CONTRATTOSEI + SET + --Rete = VARC6.RETE_PB + Cod_Fiscale = VARC6.CODICE_FISCALE + ,Data_Sott = VARC6.DATA_SOTTOSCRIZIONE_C6 + --,CodiceContratto = + ,Cod_Agente = VARC6.PB + ,Data_Perf_Base = VARC6.DATA_PERFEZIONAMENTO_BASE + ,Data_Perf = VARC6.DATA_PERFEZIONAMENTO_C6 + ,Fascia_CPP = VARC6.CPP + ,Email = VARC6.EMAIL + ,Indirizzo = VARC6.INDIRIZZO + ,CAP = VARC6.CAP + ,Citta = VARC6.CITTA + ,Prov = VARC6.PROVINCIA + ,Nazione = VARC6.NAZIONE + ,Presso = VARC6.PRESSO + --,Data_Inizio = + ,Freq_Diagnosi = VARC6.FREQUENZA_DIAGNOSI + ,Freq_Monitor = ISNULL(VARC6.FREQUENZA_MONITORAGGIO,'T') + --,Freq_DiagnosiPrec = + --,Freq_MonitorPrec = + --,Data_InizioConsInv = + ,Data_InizioBase = VARC6.DATA_SOTTOSCRIZIONE_BASE + ,Data_FineBase = VARC6.DATA_CHIUSURA_BASE + --,Data_InizioAvanzato = + ,Data_FineAvanzato = VARC6.DATA_CHIUSURA_C6 + ,ProgressivoInvio = VARC6.ULTIMO_PROGRESSIVO_INVIO + ,GenerazioneReport = VARC6.FLAG_STAMPA_REPORT + --,InvioBenvenuto = + --,DataUltimoInvio = + --,ClienteMigrato = ISNULL(LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1),'N') + --,RisorseNA = + ,NumSolleciti = CASE + WHEN (C6.Rete <> VARC6.Rete_PB OR C6.Cod_Agente <> VARC6.PB) THEN 0 + --WHEN (LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1)='S' AND ISNULL(C6.RisorseNA,'N')='N') THEN 0 + ELSE NumSolleciti + END + --,Data_UltimoSollecito = + --,Note = + ,Rol = isnull(VARC6.Flag_Rol,'N') + ,tip_Contratto = CASE + WHEN VARC6.tip_Contratto = 'A' THEN 1 + WHEN VARC6.tip_Contratto = 'P' THEN 2 + ELSE 0 + END + FROM C6MART.CONTRATTOSEI C6 + INNER JOIN C6STAGING.VARIAZIONE_CONTRSEI VARC6 + ON -- no join sul codice fiscale poich, in caso di sua variazione, verrebbe trattato come nuovo contratto + C6.RETE = VARC6.RETE_PB + --AND C6.COD_FISCALE = VARC6.CODICE_FISCALE + AND C6.CODICECONTRATTO = VARC6.CODICE_CONTRATTO + AND VARC6.ULTIMO_PROGRESSIVO_INVIO = @ULTIMOPROGRINVIO + AND VARC6.ORDINE_DI_ELABORAZIONE_RIGA = @ORDINEELAB + + SET @righeUpdate = @righeUpdate + @@ROWCOUNT + + --INSERIMENTO NUOVI CONTRATTI + INSERT INTO C6Mart.CONTRATTOSEI + (Rete + ,Cod_Fiscale + ,Piva_Fiduciaria + ,Data_Sott + , diff --git a/sql/storedCollaudo/C6Mart_DM_RISCHIOEMITTENTI.sql b/sql/storedCollaudo/C6Mart_DM_RISCHIOEMITTENTI.sql new file mode 100644 index 00000000..5385f979 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_RISCHIOEMITTENTI.sql @@ -0,0 +1,20 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_RISCHIOEMITTENTI + +CREATE procedure [C6Mart].[DM_RISCHIOEMITTENTI] +as +begin +truncate table [C6Mart].[RischioEmittenti] +INSERT INTO [C6Mart].[RischioEmittenti] --C6StampeCentralizzate + ([Classe] + ,[Min] + ,[Max] + ,[Ordine]) + SELECT [Classe] + ,[MinVal] + ,[MaxVal] + ,[Ordine] + FROM [C6Staging].[RiskEmit] --[C6StampeCentralizzate] +end + + diff --git a/sql/storedCollaudo/C6Mart_DM_RISCHIO_AGGREGATO.sql b/sql/storedCollaudo/C6Mart_DM_RISCHIO_AGGREGATO.sql new file mode 100644 index 00000000..89623323 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_RISCHIO_AGGREGATO.sql @@ -0,0 +1,125 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_RISCHIO_AGGREGATO + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_RISCHIO_AGGREGATO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione giornaliera' + ) + + -- Insert statements for procedure here + TRUNCATE TABLE C6MART.RISCHIO_AGGREGATO + + INSERT INTO C6MART.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, +-- ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,3)),2) AS VAR_ASSOLUTO_PTF, +-- ROUND(CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,3)),2) AS VAR_PERC_PTF, + ROUND(CAST(cast(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO as float) AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(cast(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO as float) AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(cast(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO as float) AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(cast(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO as float) AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(cast(PROMETEIA_AGGR.MCVAR as float) AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(cast(PROMETEIA_AGGR.MCVARP as float) AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + --V il CC deve avere sempre copertura = 100 + CASE + WHEN PORTAFOGLIO = 'COMPLESSIVO|BF|CC' THEN 100 + --intervento correttivo per mancata conversione da varchar a int dell'08/04/22 + --ELSE CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) + ELSE CAST(cast(PROMETEIA_AGGR.COPERTURA as float) AS DECIMAL(10,2)) + --fine intervento correttivo per mancata conversione da varchar a int dell'08/04/22 + END AS COPERTURA, + CAST(cast(PROMETEIA_AGGR.TOTALE as float) AS DECIMAL(30,20)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + + -- modifica del 3/10/2018 per gestire i casi in cui numtitrc contiene caratteri speciali (cr e lf) + --c6mart.getCreditRiskClass(Ully_perc,numtitrc) as CREDITRISKCLASS, + c6mart.getCreditRiskClass(Ully_perc,REPLACE(REPLACE(numtitrc, CHAR(13),''), CHAR(10),'')) as CREDITRISKCLASS, + -- fine modifica del 3/10/2018 + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + + -- modifica del 3/10/2018 per gestire i casi in cui numtitrc contiene caratteri speciali (cr e lf) + --c6mart.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + c6mart.getCreditRiskClassEmit(Ully_perc,REPLACE(REPLACE(numtitrc, CHAR(13),''), CHAR(10),'')) as CREDITRISKCLASS_EMIT + -- fine modifica del 3/10/2018 + + FROM C6STAGING.PROMETEIA_AGGR + + --modifica per percentuali congruenti su PdC 23/07/2023 con adeguatezza + update VC + set VC.VAR_COMPLESSIVO_BF=RA.VAR_PERC_PTF + FROM + C6Mart.RISCHIO_AGGREGATO AS RA + INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE + where RA.COD_AGGREG = 'COMPLESSIVO|BF' + + --fine modifica + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AG diff --git a/sql/storedCollaudo/C6Mart_DM_RISCHIO_AGGREGATO_20181003.sql b/sql/storedCollaudo/C6Mart_DM_RISCHIO_AGGREGATO_20181003.sql new file mode 100644 index 00000000..add4fea1 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_RISCHIO_AGGREGATO_20181003.sql @@ -0,0 +1,108 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_RISCHIO_AGGREGATO_20181003 + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_RISCHIO_AGGREGATO_20181003] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione giornaliera' + ) + + -- Insert statements for procedure here + TRUNCATE TABLE C6MART.RISCHIO_AGGREGATO + + INSERT INTO C6MART.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, +-- ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,3)),2) AS VAR_ASSOLUTO_PTF, +-- ROUND(CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,3)),2) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + --V il CC deve avere sempre copertura = 100 + CASE + WHEN PORTAFOGLIO = 'COMPLESSIVO|BF|CC' THEN 100 + ELSE CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) + END AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(30,20)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + c6mart.getCreditRiskClass(Ully_perc,numtitrc) as CREDITRISKCLASS, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + c6mart.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + FROM C6STAGING.PROMETEIA_AGGR + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) + +END + + + + + + diff --git a/sql/storedCollaudo/C6Mart_DM_RISCHIO_AGGREGATO_old.sql b/sql/storedCollaudo/C6Mart_DM_RISCHIO_AGGREGATO_old.sql new file mode 100644 index 00000000..ada98ec5 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_RISCHIO_AGGREGATO_old.sql @@ -0,0 +1,95 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_RISCHIO_AGGREGATO_old + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_RISCHIO_AGGREGATO_old] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione giornaliera' + ) + + -- Insert statements for procedure here + TRUNCATE TABLE C6MART.RISCHIO_AGGREGATO + + INSERT INTO C6MART.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(10,2)) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + --V il CC deve avere sempre copertura = 100 + CASE + WHEN PORTAFOGLIO = 'COMPLESSIVO|BF|CC' THEN 100 + ELSE CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) + END AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(10,2)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + c6mart.getCreditRiskClass(Ully_perc,numtitrc) as CREDITRISKCLASS + FROM C6STAGING.PROMETEIA_AGGR + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_RISCHIO_AGGREGATO_pre_selective.sql b/sql/storedCollaudo/C6Mart_DM_RISCHIO_AGGREGATO_pre_selective.sql new file mode 100644 index 00000000..a0cac07f --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_RISCHIO_AGGREGATO_pre_selective.sql @@ -0,0 +1,107 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_RISCHIO_AGGREGATO_pre_selective + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_RISCHIO_AGGREGATO_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO_pre_selective', + GETDATE(), + 'Elaborazione giornaliera' + ) + + -- Insert statements for procedure here + TRUNCATE TABLE C6MART.RISCHIO_AGGREGATO + + INSERT INTO C6MART.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, +-- ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,3)),2) AS VAR_ASSOLUTO_PTF, +-- ROUND(CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,3)),2) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + --V il CC deve avere sempre copertura = 100 + CASE + WHEN PORTAFOGLIO = 'COMPLESSIVO|BF|CC' THEN 100 + ELSE CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) + END AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(30,20)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + c6mart.getCreditRiskClass(Ully_perc,numtitrc) as CREDITRISKCLASS, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + c6mart.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + FROM C6STAGING.PROMETEIA_AGGR + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO_pre_selective' + ) + +END + + + + + + diff --git a/sql/storedCollaudo/C6Mart_DM_RISCHIO_DETTAGLIO.sql b/sql/storedCollaudo/C6Mart_DM_RISCHIO_DETTAGLIO.sql new file mode 100644 index 00000000..f4f3818f --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_RISCHIO_DETTAGLIO.sql @@ -0,0 +1,54 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_RISCHIO_DETTAGLIO + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_RISCHIO_DETTAGLIO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + TRUNCATE TABLE C6MART.RISCHIO_DETTAGLIO + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + SELECT + +---- INFO TABELLA PER GESTIONE ERRORE +-- 'RISCHIO_DETTAGLIO' AS TABLENAME, +-- 'RETE - COD_FISCALE - COD_PROD' AS KEYCOLUMN, +-- PROMETEIA_DETT.RETE + ' - ' + PROMETEIA_DETT.CODICEFISCALE + ' - ' + PROMETEIA_DETT.CODICEPRODOTTO AS KEYVALUE, +---- FINE INFO TABELLA PER GESTIONE ERRORE + + PROMETEIA_DETT.RETE AS RETE, + PROMETEIA_DETT.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_DETT.PORTAFOGLIO AS COD_AGGREG, + PROMETEIA_DETT.CODICEPRODOTTO AS CHIAVE_PRODOTTO, + PROMETEIA_DETT.VARASSOLUTO AS VAR_ASSOLUTO_PTF, + PROMETEIA_DETT.VARPERCENTUALE AS VAR_PERC_PTF, + PROMETEIA_DETT.CVARASSOLUTO AS CVAR_ASSOLUTO_PTF, + PROMETEIA_DETT.CVARPERCENTUALE AS CVAR_PERC_PTF, + PROMETEIA_DETT.MCVAR AS MCVAR, + PROMETEIA_DETT.MCVARP AS MCVARP, + PROMETEIA_DETT.TIPOCOPERTURA AS TIPO_COPERTURA, + PROMETEIA_DETT.CTVNOMINALE AS CTV_AGGREG, + PROMETEIA_DETT.PIAZZA AS MERCATO_CONTRATT, + PROMETEIA_DETT.CODVAL AS DIV_CONTRATT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.PROMETEIA_DETT + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_RISCHIO_DETTAGLIO_pre_selective.sql b/sql/storedCollaudo/C6Mart_DM_RISCHIO_DETTAGLIO_pre_selective.sql new file mode 100644 index 00000000..09394a2c --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_RISCHIO_DETTAGLIO_pre_selective.sql @@ -0,0 +1,54 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_RISCHIO_DETTAGLIO_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_RISCHIO_DETTAGLIO_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + TRUNCATE TABLE C6MART.RISCHIO_DETTAGLIO + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + SELECT + +---- INFO TABELLA PER GESTIONE ERRORE +-- 'RISCHIO_DETTAGLIO' AS TABLENAME, +-- 'RETE - COD_FISCALE - COD_PROD' AS KEYCOLUMN, +-- PROMETEIA_DETT.RETE + ' - ' + PROMETEIA_DETT.CODICEFISCALE + ' - ' + PROMETEIA_DETT.CODICEPRODOTTO AS KEYVALUE, +---- FINE INFO TABELLA PER GESTIONE ERRORE + + PROMETEIA_DETT.RETE AS RETE, + PROMETEIA_DETT.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_DETT.PORTAFOGLIO AS COD_AGGREG, + PROMETEIA_DETT.CODICEPRODOTTO AS CHIAVE_PRODOTTO, + PROMETEIA_DETT.VARASSOLUTO AS VAR_ASSOLUTO_PTF, + PROMETEIA_DETT.VARPERCENTUALE AS VAR_PERC_PTF, + PROMETEIA_DETT.CVARASSOLUTO AS CVAR_ASSOLUTO_PTF, + PROMETEIA_DETT.CVARPERCENTUALE AS CVAR_PERC_PTF, + PROMETEIA_DETT.MCVAR AS MCVAR, + PROMETEIA_DETT.MCVARP AS MCVARP, + PROMETEIA_DETT.TIPOCOPERTURA AS TIPO_COPERTURA, + PROMETEIA_DETT.CTVNOMINALE AS CTV_AGGREG, + PROMETEIA_DETT.PIAZZA AS MERCATO_CONTRATT, + PROMETEIA_DETT.CODVAL AS DIV_CONTRATT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.PROMETEIA_DETT + +END + + + diff --git a/sql/storedCollaudo/C6Mart_DM_STRUTTURA_RETE.sql b/sql/storedCollaudo/C6Mart_DM_STRUTTURA_RETE.sql new file mode 100644 index 00000000..6695412e --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_STRUTTURA_RETE.sql @@ -0,0 +1,147 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_STRUTTURA_RETE + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_STRUTTURA_RETE] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --SET NOCOUNT ON; +DECLARE @righe INT + +SET @righe = 0 + +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_STRUTTURA_RETE', + GETDATE(), + 'Elaborazione giornaliera' +) + +--codice per forzare l'exit in caso di delay delle risposte dal SIMPB +if (select count(*) from log_esecuzione where nome='SIM_PB' and abs(datediff(minute,getdate(),inizio))>350)>=1 + begin RAISERROR ('Risposte in ritardo dai WSDL del SIMPB',16,10); + select * from blablabla; + end + +--V Utilizzato per mandare avanti la procedura, al momento non ho clienti associati al pb +delete from C6Staging.SPB_NAC +where +codiceRete = 'S' +and codiceAgente = '008521' +and codiceManager = 'I03128' + +--EN20160427: Eliminare agenti con codici maggiore delal capienza della tabella destinaria (varchr(6), per mandare avanti la procedura +-- per ora riguarda solo l'agente 'AM Fittizio di Agente Speciale Firenze' +delete from C6Staging.SPB_NAC +where LEN(codiceagente) > 6 +and codicemanager = '' + +--SVUOTAMENTO STRUTTURA +TRUNCATE TABLE C6Mart.STRUTTURA_RETE + +--INSERIMENTO PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT + AM.codicerete as Rete, + dbo.CodiceAgenteDirettiDi(PB.codiceagente) as PB, PB.cognomeNome as cognomeNomePB, + dbo.CodiceAgenteDirettiDi(SPV.codiceagente) as SPV, SPV.cognomeNome as cognomeNomeSPV, + dbo.CodiceAgenteDirettiDi(RM.codiceagente) as RM, RM.cognomeNome as cognomeNomeRM, + dbo.CodiceAgenteDirettiDi(DM.codiceagente) as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + PB.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' +INNER JOIN C6Staging.SPB_NAC RM +ON + RM.codicerete = DM.codicerete + AND + RM.codicemanager = DM.codiceagente + AND + RM.LivelloNellaGerarchia = 'RM' +INNER JOIN C6Staging.SPB_NAC SPV +ON + SPV.codicerete = RM.codicerete + AND + SPV.codicemanager = RM.codiceagente + AND + SPV.LivelloNellaGerarchia like 'SPV%' +INNER JOIN C6Staging.SPB_NAC PB +ON + PB.codicerete = SPV.codicerete + AND + PB.codicemanager = SPV.codiceagente + AND + PB.LivelloNellaGerarchia = 'PB' + AND + PB.cognomeNome not LIKE 'I FITTIZI DI%' +WHERE AM.codicemanager = '' +AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4,6,8,10 + +SET @righe = @righe + @@ROWCOUNT + +--INSERIMENTO AM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + AM.codiceagente as PB, AM.cognomeNome as cognomeNomePB, + AM.codiceagente as SPV, AM.cognomeNome as cognomeNomeSPV, + AM.codiceagente as RM, AM.cognomeNome as cognomeNomeRM, + AM.codiceagente as DM, AM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + AM.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +WHERE AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2 + +SET @righe = @righe + @@ROWCOUNT + +--INSERIMENTO DM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNome diff --git a/sql/storedCollaudo/C6Mart_DM_STRUTTURA_RETE_20160427.sql b/sql/storedCollaudo/C6Mart_DM_STRUTTURA_RETE_20160427.sql new file mode 100644 index 00000000..faf67f1e --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_STRUTTURA_RETE_20160427.sql @@ -0,0 +1,156 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_STRUTTURA_RETE_20160427 + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_STRUTTURA_RETE_20160427] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --SET NOCOUNT ON; +DECLARE @righe INT + +SET @righe = 0 + +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_STRUTTURA_RETE', + GETDATE(), + 'Elaborazione giornaliera' +) + +--V Utilizzato per mandare avanti la procedura, al momento non ho clienti associati al pb +delete from C6Staging.SPB_NAC +where +codiceRete = 'S' +and codiceAgente = '008521' +and codiceManager = 'I03128' + + +--SVUOTAMENTO STRUTTURA +TRUNCATE TABLE C6Mart.STRUTTURA_RETE + +--INSERIMENTO PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT + AM.codicerete as Rete, + dbo.CodiceAgenteDirettiDi(PB.codiceagente) as PB, PB.cognomeNome as cognomeNomePB, + dbo.CodiceAgenteDirettiDi(SPV.codiceagente) as SPV, SPV.cognomeNome as cognomeNomeSPV, + dbo.CodiceAgenteDirettiDi(RM.codiceagente) as RM, RM.cognomeNome as cognomeNomeRM, + dbo.CodiceAgenteDirettiDi(DM.codiceagente) as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + PB.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' +INNER JOIN C6Staging.SPB_NAC RM +ON + RM.codicerete = DM.codicerete + AND + RM.codicemanager = DM.codiceagente + AND + RM.LivelloNellaGerarchia = 'RM' +INNER JOIN C6Staging.SPB_NAC SPV +ON + SPV.codicerete = RM.codicerete + AND + SPV.codicemanager = RM.codiceagente + AND + SPV.LivelloNellaGerarchia like 'SPV%' +INNER JOIN C6Staging.SPB_NAC PB +ON + PB.codicerete = SPV.codicerete + AND + PB.codicemanager = SPV.codiceagente + AND + PB.LivelloNellaGerarchia = 'PB' + AND + PB.cognomeNome not LIKE 'I FITTIZI DI%' +WHERE AM.codicemanager = '' +AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4,6,8,10 + +SET @righe = @righe + @@ROWCOUNT + +--INSERIMENTO AM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + AM.codiceagente as PB, AM.cognomeNome as cognomeNomePB, + AM.codiceagente as SPV, AM.cognomeNome as cognomeNomeSPV, + AM.codiceagente as RM, AM.cognomeNome as cognomeNomeRM, + AM.codiceagente as DM, AM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + AM.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +WHERE AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2 + +SET @righe = @righe + @@ROWCOUNT + +--INSERIMENTO DM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT + +AM.codicerete as Rete, + DM.codiceagente as PB, DM.cognomeNome as cognomeNomePB, + DM.codiceagente as SPV, DM.cognomeNome as cognomeNomeSPV, + DM.codiceagente as RM, DM.cognomeNome as cognomeNomeRM, + DM.codiceagente as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + DM.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = diff --git a/sql/storedCollaudo/C6Mart_DM_STRUTTURA_RETE_20161024.sql b/sql/storedCollaudo/C6Mart_DM_STRUTTURA_RETE_20161024.sql new file mode 100644 index 00000000..09e460e5 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_STRUTTURA_RETE_20161024.sql @@ -0,0 +1,157 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_STRUTTURA_RETE_20161024 + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_STRUTTURA_RETE_20161024] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --SET NOCOUNT ON; +DECLARE @righe INT + +SET @righe = 0 + +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_STRUTTURA_RETE', + GETDATE(), + 'Elaborazione giornaliera' +) + +--V Utilizzato per mandare avanti la procedura, al momento non ho clienti associati al pb +delete from C6Staging.SPB_NAC +where +codiceRete = 'S' +and codiceAgente = '008521' +and codiceManager = 'I03128' + + +--SVUOTAMENTO STRUTTURA +TRUNCATE TABLE C6Mart.STRUTTURA_RETE + +--INSERIMENTO PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT + AM.codicerete as Rete, + dbo.CodiceAgenteDirettiDi(PB.codiceagente) as PB, PB.cognomeNome as cognomeNomePB, + dbo.CodiceAgenteDirettiDi(SPV.codiceagente) as SPV, SPV.cognomeNome as cognomeNomeSPV, + dbo.CodiceAgenteDirettiDi(RM.codiceagente) as RM, RM.cognomeNome as cognomeNomeRM, + dbo.CodiceAgenteDirettiDi(DM.codiceagente) as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + PB.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' +INNER JOIN C6Staging.SPB_NAC RM +ON + RM.codicerete = DM.codicerete + AND + RM.codicemanager = DM.codiceagente + AND + RM.LivelloNellaGerarchia = 'RM' +INNER JOIN C6Staging.SPB_NAC SPV +ON + SPV.codicerete = RM.codicerete + AND + SPV.codicemanager = RM.codiceagente + AND + SPV.LivelloNellaGerarchia like 'SPV%' +INNER JOIN C6Staging.SPB_NAC PB +ON + PB.codicerete = SPV.codicerete + AND + PB.codicemanager = SPV.codiceagente + AND + PB.LivelloNellaGerarchia = 'PB' + AND + PB.cognomeNome not LIKE 'I FITTIZI DI%' +WHERE AM.codicemanager = '' +AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4,6,8,10 + +SET @righe = @righe + @@ROWCOUNT + +--INSERIMENTO AM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + AM.codiceagente as PB, AM.cognomeNome as cognomeNomePB, + AM.codiceagente as SPV, AM.cognomeNome as cognomeNomeSPV, + AM.codiceagente as RM, AM.cognomeNome as cognomeNomeRM, + AM.codiceagente as DM, AM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + AM.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +WHERE AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2 + +SET @righe = @righe + @@ROWCOUNT + +--INSERIMENTO DM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT + +AM.codicerete as Rete, + DM.codiceagente as PB, DM.cognomeNome as cognomeNomePB, + DM.codiceagente as SPV, DM.cognomeNome as cognomeNomeSPV, + DM.codiceagente as RM, DM.cognomeNome as cognomeNomeRM, + DM.codiceagente as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + DM.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager diff --git a/sql/storedCollaudo/C6Mart_DM_TEST_QUALITY.sql b/sql/storedCollaudo/C6Mart_DM_TEST_QUALITY.sql new file mode 100644 index 00000000..7a16c91e --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_TEST_QUALITY.sql @@ -0,0 +1,97 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_TEST_QUALITY + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_TEST_QUALITY] +AS +BEGIN + SET NOCOUNT ON; + +update c6mart.email_pb set email = 'fabio.consoli@hp.com' where codice = '015312' +update c6mart.anag_promotori set e_mail = 'fabio.consoli@hp.com' where id_promotore = '015312' +--*********************************************************************************************************** + --*********************************************************************************************************** + + +--*********************************************************************************************************** +--*********************************************************************************************************** + + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.2' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO --SUBSTRING(PDF.NomeFile, 0, 12) + WHERE + -- modifica del 3/10/2018 per gestire i valori 'date' del campo e che mandano in errore di conversione la sp + --VC.INVIOBENVENUTO = 'S' + cast(VC.InvioBenvenuto as varchar) = 'S' + -- fine modifica del 3/10/2018 + + AND PDF.CODICEFISCALE IS NULL +--*********************************************************************************************************** + --*********************************************************************************************************** + + INSERT INTO C6MART.TEST_QUALITY + SELECT + RETE, + COD_FISCALE, + CASE WHEN PMOD.PRC > 100 + THEN 'SCARTO PER PIRAMIDE MODELLO SUPERIORE A 100' + ELSE 'SCARTO PER PIRAMIDE MODELLO INFERIORE A 100' + END AS MOTIVO + --FROM C6MART.VCONTRATTISEI VC + FROM C6MART.VCONTRATTI VC + INNER JOIN + (SELECT chiaveclientepb, sum(percentualeprogetto) AS PRC FROM c6staging.rp_progettipiramidemodello + WHERE 1=1 + AND ((area = 'Inv' and tipoProgetto = 1) OR (area <> 'Inv' and tipoProgetto = 0)) + AND DtFineValidita > getdate() + group by chiaveclientepb + having sum(percentualeprogetto) <> 0 AND sum(percentualeprogetto) <> 100 + ) AS PMOD + ON VC.chiaveclientepb = PMOD.chiaveclientepb + WHERE PMOD.PRC <> 0 AND PMOD.PRC <> 100 + --AND ISNULL(VC.INVIOBENVENUTO,'N') = 'N' + + +--INSERT INTO C6MART.TEST_QUALITY +--SELECT DISTINCT RETE,COD_FISCALE,'DATO ERRATO C6MART.ASSET_PERC' FROM C6MART.PATRIMONIO_BF WHERE COD_PRODOTTO IN + --(select COD_PRODOTTO from C6MART.ASSET_PERC WHERE PERC < 0 OR PERC > 100) + + + +END + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sql/storedCollaudo/C6Mart_DM_TEST_QUALITY_20181003.sql b/sql/storedCollaudo/C6Mart_DM_TEST_QUALITY_20181003.sql new file mode 100644 index 00000000..46e4358a --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_TEST_QUALITY_20181003.sql @@ -0,0 +1,91 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_TEST_QUALITY_20181003 + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_TEST_QUALITY_20181003] +AS +BEGIN + SET NOCOUNT ON; + +update c6mart.email_pb set email = 'fabio.consoli@hp.com' where codice = '015312' +update c6mart.anag_promotori set e_mail = 'fabio.consoli@hp.com' where id_promotore = '015312' +--*********************************************************************************************************** + --*********************************************************************************************************** + + +--*********************************************************************************************************** +--*********************************************************************************************************** + + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.2' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO --SUBSTRING(PDF.NomeFile, 0, 12) + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +--*********************************************************************************************************** + --*********************************************************************************************************** + + INSERT INTO C6MART.TEST_QUALITY + SELECT + RETE, + COD_FISCALE, + CASE WHEN PMOD.PRC > 100 + THEN 'SCARTO PER PIRAMIDE MODELLO SUPERIORE A 100' + ELSE 'SCARTO PER PIRAMIDE MODELLO INFERIORE A 100' + END AS MOTIVO + --FROM C6MART.VCONTRATTISEI VC + FROM C6MART.VCONTRATTI VC + INNER JOIN + (SELECT chiaveclientepb, sum(percentualeprogetto) AS PRC FROM c6staging.rp_progettipiramidemodello + WHERE 1=1 + AND ((area = 'Inv' and tipoProgetto = 1) OR (area <> 'Inv' and tipoProgetto = 0)) + AND DtFineValidita > getdate() + group by chiaveclientepb + having sum(percentualeprogetto) <> 0 AND sum(percentualeprogetto) <> 100 + ) AS PMOD + ON VC.chiaveclientepb = PMOD.chiaveclientepb + WHERE PMOD.PRC <> 0 AND PMOD.PRC <> 100 + --AND ISNULL(VC.INVIOBENVENUTO,'N') = 'N' + + +INSERT INTO C6MART.TEST_QUALITY +SELECT DISTINCT RETE,COD_FISCALE,'DATO ERRATO C6MART.ASSET_PERC' FROM C6MART.PATRIMONIO_BF WHERE COD_PRODOTTO IN + (select COD_PRODOTTO from C6MART.ASSET_PERC WHERE PERC < 0 OR PERC > 100) + + + +END + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sql/storedCollaudo/C6Mart_DM_VAR_ADEGUATEZZA.sql b/sql/storedCollaudo/C6Mart_DM_VAR_ADEGUATEZZA.sql new file mode 100644 index 00000000..159d12d4 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_DM_VAR_ADEGUATEZZA.sql @@ -0,0 +1,54 @@ +-- Schema: C6Mart +-- Stored Procedure: DM_VAR_ADEGUATEZZA + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_VAR_ADEGUATEZZA] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_VAR_ADEGUATEZZA', + GETDATE(), + 'Elaborazione giornaliera' + ) + +truncate table C6Staging.VAR_ADEGUATEZZA + + insert into C6Staging.VAR_ADEGUATEZZA + select RETE,CODICE_FISCALE,0.00 as VAR_COMPLESSIO_BF,'N' from C6Staging.VAR_ADEGUATEZZA_INDICATORI + + -- il VAR_COMPLESSIVO BF VERRA POI POPOLATA IN [C6Mart].[DM_RISCHIO_AGGREGATO] + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_VAR_ADEGUATEZZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_VAR_ADEGUATEZZA' + ) + +END + + diff --git a/sql/storedCollaudo/C6Mart_Decodifica_Concentrazione_Prodotti_Complessi.sql b/sql/storedCollaudo/C6Mart_Decodifica_Concentrazione_Prodotti_Complessi.sql new file mode 100644 index 00000000..e2a93021 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_Decodifica_Concentrazione_Prodotti_Complessi.sql @@ -0,0 +1,126 @@ +-- Schema: C6Mart +-- Stored Procedure: Decodifica_Concentrazione_Prodotti_Complessi + + + + + + + + +--[C6Mart].[PL_D_S180ProdottiComplessitaAlta] 'f', 'ff@9225' +CREATE procedure [C6Mart].[Decodifica_Concentrazione_Prodotti_Complessi] --'W','PSTFNC40D10I992T' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +declare @adeguato int +select @adeguato=cc_adeguatezza_indicatore from c6staging.VAR_ADEGUATEZZA_INDICATORI where RETE=@Rete and CODICE_FISCALE=@CodiceFiscale + +if(@adeguato=0) +begin + + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @TotalePatrimonio decimal(12,2) + + -- acquisiamo il totale patrimonio del cliente + SELECT @TotalePatrimonio = ctv + FROM + C6Mart.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +-- + SELECT + 1 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi + into #temp +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 3 + + union all + SELECT + 2 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 2 + + union all + SELECT + 3 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 1 + + -- --20180905 Fine modifica + order by ordine,Compl_Base desc + + delete from #temp where ordine=1 and SommaPesi<20 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta <20 + delete from #temp where ordine=2 and SommaPesi<30 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta <30 + delete from #temp where ordine=3 and SommaPesi<50 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta e medio-bassa <50 + +DECLARE @countLimMax VARCHAR(50) +SELECT @countLimMax = count(*) FROM #temp + +DECLARE @maxCompl VARCHAR(50) +select @maxCompl = max(compl_base) from [C6Mart].[TB_S180ProdottiComplessitaAlta] where rete=@rete and Cod_fiscale=@CodiceFiscale + +declare @IndPatrimonio diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_C6_S_Generator.sql b/sql/storedCollaudo/C6Mart_GESTIONE_C6_S_Generator.sql new file mode 100644 index 00000000..8d1d004b --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_C6_S_Generator.sql @@ -0,0 +1,65 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_C6_S_Generator + + + + + + + + + + + +-- [C6Mart].[GESTIONE_C6_S_Generator] 1, 4, 'T' +-- [C6Mart].[GESTIONE_C6_S_Generator] 4, 13, 'T' (monitoraggio,private,trim) +-- [C6Mart].[GESTIONE_C6_S_Generator] 4, 12, 'T' (monitoraggio,old/affluent,trim) +CREATE procedure [C6Mart].[GESTIONE_C6_S_Generator] +@idReport as int, +@idModello as int, +@periodicita as varchar(1) = 'G' +AS +BEGIN + SET NOCOUNT ON; + + if (@idModello=6) +begin +select * from C6Mart.generator_direct where codicesezione not like 'S%' and codiceSezione not in('FD147','FD133Bis') order BY ordineCapitolo,ordineParagrafo,ordineSezione +end + +if (@idModello=5) +begin +SELECT * +from C6Mart.Generator_Diagnosi +--where codiceSezione not in('S187','S188') + ORDER BY ordineCapitolo,ordineParagrafo,ordineSezione + +end + +END + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_C6_S_Generator_AND.sql b/sql/storedCollaudo/C6Mart_GESTIONE_C6_S_Generator_AND.sql new file mode 100644 index 00000000..0f636d48 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_C6_S_Generator_AND.sql @@ -0,0 +1,110 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_C6_S_Generator_AND + + +-- [C6Mart].[GESTIONE_C6_S_Generator] 1, 4, 'T' +CREATE procedure [C6Mart].[GESTIONE_C6_S_Generator_AND] +@idReport as int, +@idModello as int, +@periodicita as varchar(1) = 'G' +AS +BEGIN + SET NOCOUNT ON; +-- CREO LA TABELLA #R6Capitolopdf +SELECT R6Capitolo.id, + R6Capitolo.titolo, + R6Capitolo.testo, + R6Capitolo.testoAlternativo, + R6Capitolo.nuovapagina, + R6Capitolo.queryOracle, + R6Capitolo.querySql, + R6Capitolo.querySqlPeriodico +into #R6CAPITOLOPDF +FROM +ReportSezionePers AS a INNER JOIN +R6_SezioneR6Capitolo AS b ON a.IdSezione = b.IdSezione INNER JOIN +R6Capitolo ON b.IdCapitoloPDF = R6Capitolo.id +where a.idreport = @idModello + +-- CREO LA TABELLA #R6ParagrafoPDF + +SELECT R6Paragrafo.id, + R6Paragrafo.titolo, + R6Paragrafo.testo, + R6Paragrafo.queryOracle, + R6Paragrafo.querySql, + R6Paragrafo.querySqlPeriodico, + R6Paragrafo.SottoTitoloQuery, + R6Paragrafo.SpazioNecessarioSezioneSuccessiva + +into #R6PARAGRAFOPDF +FROM ReportSezionePers AS a INNER JOIN + R6_SezioneR6Paragrafo AS b ON a.IdSezione = b.IdSezione INNER JOIN + R6Paragrafo ON b.IdParagrafoPDF = R6Paragrafo.id + where a.idreport = @idModello + + +-- CREO LA TABELLA #R6SEZIONEPDF +SELECT + R6Sezione.id, + R6Sezione.codice, + R6Sezione.queryOracle, + R6Sezione.querySql, + R6Sezione.querySqlPeriodico, + R6Sezione.ordineQueryOracle, + R6Sezione.ordineQuerySql + --R6Sezione.nuovaPaginaDopo +into #R6SEZIONEPDF +FROM ReportSezionePers AS a INNER JOIN + R6_SezioneR6Sezione AS b ON a.IdSezione = b.idFkSezione INNER JOIN + R6Sezione ON b.idFkC6Sezione = R6Sezione.id +WHERE (a.IdReport = @idModello) + + +SELECT DISTINCT [#R6CAPITOLOPDF].id as idCapitolo + ,[R6ReportR6Capitolo].[ordineCapitolo] as ordineCapitolo + ,[#R6CAPITOLOPDF].[titolo] as titoloCapitolo + ,[#R6CAPITOLOPDF].[testo] as testoCapitolo + ,[#R6CAPITOLOPDF].[testoAlternativo] as testoCapitoloAlternativo + ,[#R6CAPITOLOPDF].[nuovapagina] as nuovaPaginaCapitolo +-- ,[#R6CAPITOLOPDF].[queryOracle] as queryOracleCapitolo + + + ,isnull([#R6CAPITOLOPDF].[querySqlPeriodico],'') as querySqlCapitoloT + ,isnull([#R6CAPITOLOPDF].[querySql],'') as querySqlCapitoloG + + + + ,[#R6PARAGRAFOPDF].[id] as idParagrafo + ,[R6CapitoloR6Paragrafo].[ordineParagrafo] as ordineParagrafo + ,[#R6PARAGRAFOPDF].[titolo] as titoloParagrafo + ,[#R6PARAGRAFOPDF].[sottoTitoloQuery] as sottoTitoloParagrafo + ,[#R6PARAGRAFOPDF].[testo] as testoParagrafo + ,[#R6PARAGRAFOPDF].spazioNecessarioSezioneSuccessiva as spazioNecessarioSezioneSuccessiva +-- ,isnull([#R6PARAGRAFOPDF].[queryOracle],'') as queryOracleParagrafo + + ,isnull([#R6PARAGRAFOPDF].[querySql],'') as querySqlParagrafoG +,isnull([#R6PARAGRAFOPDF].[querySqlPeriodico],'') as querySqlParagrafoT + + ,[R6CapitoloR6Paragrafo].[indicizzato] as indicizzatoParagrafo + ,[R6ParagrafoR6Sezione].[ordineSezione] as ordineSezione + ,[#R6SEZIONEPDF].[id] as idSezione + ,[#R6SEZIONEPDF].[codice] as codiceSezione +-- ,isnull([#R6SEZIONEPDF].[queryOracle],'') as queryOracleSezione + + ,isnull([#R6SEZIONEPDF].[querySql],'') as querySqlSezioneG + ,isnull([#R6SEZIONEPDF].[querySqlPeriodico],'') as querySqlSezioneT + + ,[R6ParagrafoR6Sezione].indicizzato as indicizzatoSezione + ,[R6ParagrafoR6Sezione].[filtroDataView] as filtroSezione + ,[R6ParagrafoR6Sezione].[titolo] as titoloSezione + ,isnull([R6ParagrafoR6Sezione].[testo],'') as testoSezione + ,isnull([R6ParagrafoR6Sezione].[testo1] ,'') as testoSezioneAlternativo + ,isnull([R6ParagrafoR6Sezione].[nota],'') as notaSezione + ,isnull([R6ParagrafoR6Sezione].[nota1],'') as notaSezioneAlternativo, + [R6ParagrafoR6Sezione].[nuovaPaginaDopo] as nuovaPaginaDopo + --,[#R6SEZIONEPDF].nuovaPaginaDopo as nuovaPaginaDopo +into #tab +FROM #R6SEZIONEPDF +INNER JOIN R6ParagrafoR6Sezione ON #R6SEZIONEPDF.id = R6ParagrafoR6Sezione.idFkSezione +INNER JOIN #R6PARAGRAFOPDF ON R6ParagrafoR6Sezione.idFkParag diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_C6_S_Generator_EN.sql b/sql/storedCollaudo/C6Mart_GESTIONE_C6_S_Generator_EN.sql new file mode 100644 index 00000000..ea72e86c --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_C6_S_Generator_EN.sql @@ -0,0 +1,109 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_C6_S_Generator_EN + + + + + +-- [C6Mart].[GESTIONE_C6_S_Generator] 1, 4, 'T' +-- [C6Mart].[GESTIONE_C6_S_Generator] 4, 13, 'T' -- (monitoraggio,private,trim) +-- [C6Mart].[GESTIONE_C6_S_Generator] 4, 12, 'T' -- (monitoraggio,old/affluent,trim) +-- [C6Mart].[GESTIONE_C6_S_Generator] 1, 5, 'T' -- (trimestrale/Diagnosi 'G',old) + +CREATE procedure [C6Mart].[GESTIONE_C6_S_Generator_EN] +@idReport as int, +@idModello as int, +@periodicita as varchar(1) = 'G' +AS +BEGIN + SET NOCOUNT ON; + + + + + +-- CREO LA TABELLA #R6Capitolopdf +SELECT R6Capitolo.id, + R6Capitolo.titolo, + R6Capitolo.testo, + R6Capitolo.testoAlternativo, + R6Capitolo.nuovapagina, + R6Capitolo.queryOracle, + R6Capitolo.querySql, + R6Capitolo.querySqlPeriodico +into #R6CAPITOLOPDF +FROM +ReportSezionePers AS a INNER JOIN +R6_SezioneR6Capitolo AS b ON a.IdSezione = b.IdSezione INNER JOIN +R6Capitolo ON b.IdCapitoloPDF = R6Capitolo.id +where a.idreport = @idModello + +-- CREO LA TABELLA #R6ParagrafoPDF + +SELECT R6Paragrafo.id, + R6Paragrafo.titolo, + R6Paragrafo.testo, + R6Paragrafo.queryOracle, + R6Paragrafo.querySql, + R6Paragrafo.querySqlPeriodico, + R6Paragrafo.SottoTitoloQuery, + R6Paragrafo.SpazioNecessarioSezioneSuccessiva + +into #R6PARAGRAFOPDF +FROM ReportSezionePers AS a INNER JOIN + R6_SezioneR6Paragrafo AS b ON a.IdSezione = b.IdSezione INNER JOIN + R6Paragrafo ON b.IdParagrafoPDF = R6Paragrafo.id + where a.idreport = @idModello + + +-- CREO LA TABELLA #R6SEZIONEPDF +SELECT + R6Sezione.id, + R6Sezione.codice, + R6Sezione.queryOracle, + R6Sezione.querySql, + R6Sezione.querySqlPeriodico, + R6Sezione.ordineQueryOracle, + R6Sezione.ordineQuerySql + --R6Sezione.nuovaPaginaDopo +into #R6SEZIONEPDF +FROM ReportSezionePers AS a INNER JOIN + R6_SezioneR6Sezione AS b ON a.IdSezione = b.idFkSezione INNER JOIN + R6Sezione ON b.idFkC6Sezione = R6Sezione.id +WHERE (a.IdReport = @idModello) + + +SELECT DISTINCT [#R6CAPITOLOPDF].id as idCapitolo + ,[R6ReportR6Capitolo].[ordineCapitolo] as ordineCapitolo + ,[#R6CAPITOLOPDF].[titolo] as titoloCapitolo + ,[#R6CAPITOLOPDF].[testo] as testoCapitolo + ,[#R6CAPITOLOPDF].[testoAlternativo] as testoCapitoloAlternativo + ,[#R6CAPITOLOPDF].[nuovapagina] as nuovaPaginaCapitolo +-- ,[#R6CAPITOLOPDF].[queryOracle] as queryOracleCapitolo +,Case when @periodicita = 'G' then isnull([#R6CAPITOLOPDF].[querySql],'') else + Case when @periodicita = 'T' then isnull([#R6CAPITOLOPDF].[querySqlPeriodico],'') + END END as querySqlCapitolo + ,[#R6PARAGRAFOPDF].[id] as idParagrafo + ,[R6CapitoloR6Paragrafo].[ordineParagrafo] as ordineParagrafo + ,[#R6PARAGRAFOPDF].[titolo] as titoloParagrafo + ,[#R6PARAGRAFOPDF].[sottoTitoloQuery] as sottoTitoloParagrafo + ,[#R6PARAGRAFOPDF].[testo] as testoParagrafo + ,[#R6PARAGRAFOPDF].spazioNecessarioSezioneSuccessiva as spazioNecessarioSezioneSuccessiva +-- ,isnull([#R6PARAGRAFOPDF].[queryOracle],'') as queryOracleParagrafo +,Case when @periodicita = 'G' then isnull([#R6PARAGRAFOPDF].[querySql],'') else + Case when @periodicita = 'T' then isnull([#R6PARAGRAFOPDF].[querySqlPeriodico],'') + END END as querySqlParagrafo + ,[R6CapitoloR6Paragrafo].[indicizzato] as indicizzatoParagrafo + ,[R6ParagrafoR6Sezione].[ordineSezione] as ordineSezione + ,[#R6SEZIONEPDF].[id] as idSezione + ,[#R6SEZIONEPDF].[codice] as codiceSezione +-- ,isnull([#R6SEZIONEPDF].[queryOracle],'') as queryOracleSezione +,Case when @periodicita = 'G' then isnull([#R6SEZIONEPDF].[querySql],'') else + Case when @periodicita = 'T' then isnull([#R6SEZIONEPDF].[querySqlPeriodico],'') + END END as querySqlSezione + ,[R6ParagrafoR6Sezione].indicizzato as indicizzatoSezione + ,[R6ParagrafoR6Sezione].[filtroDataView] as filtroSezione + ,[R6ParagrafoR6Sezione].[titolo] as titoloSezione + ,isnull([R6ParagrafoR6Sezione].[testo],'') as testoSezione + ,isnull([R6ParagrafoR6Sezione].[testo1] ,'') as testoSezioneAlternativo + ,is diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_C6_S_Generator_OLD.sql b/sql/storedCollaudo/C6Mart_GESTIONE_C6_S_Generator_OLD.sql new file mode 100644 index 00000000..1dd5daa5 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_C6_S_Generator_OLD.sql @@ -0,0 +1,112 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_C6_S_Generator_OLD + + + + + + +-- [C6Mart].[GESTIONE_C6_S_Generator] 1, 4, 'T' +-- [C6Mart].[GESTIONE_C6_S_Generator] 4, 13, 'T' (monitoraggio,private,trim) +-- [C6Mart].[GESTIONE_C6_S_Generator] 4, 12, 'T' (monitoraggio,old/affluent,trim) + +CREATE procedure [C6Mart].[GESTIONE_C6_S_Generator_OLD] +@idReport as int, +@idModello as int, +@periodicita as varchar(1) = 'G' +AS +BEGIN + SET NOCOUNT ON; + + if (@idModello=6) +begin +select * from C6Mart.generator_direct where codicesezione not like 'S%' and codiceSezione not in('FD147','FD133Bis') order BY ordineCapitolo,ordineParagrafo,ordineSezione +end +else +begin + + + +-- CREO LA TABELLA #R6Capitolopdf +SELECT R6Capitolo.id, + R6Capitolo.titolo, + R6Capitolo.testo, + R6Capitolo.testoAlternativo, + R6Capitolo.nuovapagina, + R6Capitolo.queryOracle, + R6Capitolo.querySql, + R6Capitolo.querySqlPeriodico +into #R6CAPITOLOPDF +FROM +ReportSezionePers AS a INNER JOIN +R6_SezioneR6Capitolo AS b ON a.IdSezione = b.IdSezione INNER JOIN +R6Capitolo ON b.IdCapitoloPDF = R6Capitolo.id +where a.idreport = @idModello + +-- CREO LA TABELLA #R6ParagrafoPDF + +SELECT R6Paragrafo.id, + R6Paragrafo.titolo, + R6Paragrafo.testo, + R6Paragrafo.queryOracle, + R6Paragrafo.querySql, + R6Paragrafo.querySqlPeriodico, + R6Paragrafo.SottoTitoloQuery, + R6Paragrafo.SpazioNecessarioSezioneSuccessiva + +into #R6PARAGRAFOPDF +FROM ReportSezionePers AS a INNER JOIN + R6_SezioneR6Paragrafo AS b ON a.IdSezione = b.IdSezione INNER JOIN + R6Paragrafo ON b.IdParagrafoPDF = R6Paragrafo.id + where a.idreport = @idModello + + +-- CREO LA TABELLA #R6SEZIONEPDF +SELECT + R6Sezione.id, + R6Sezione.codice, + R6Sezione.queryOracle, + R6Sezione.querySql, + R6Sezione.querySqlPeriodico, + R6Sezione.ordineQueryOracle, + R6Sezione.ordineQuerySql + --R6Sezione.nuovaPaginaDopo +into #R6SEZIONEPDF +FROM ReportSezionePers AS a INNER JOIN + R6_SezioneR6Sezione AS b ON a.IdSezione = b.idFkSezione INNER JOIN + R6Sezione ON b.idFkC6Sezione = R6Sezione.id +WHERE (a.IdReport = @idModello) + + +SELECT DISTINCT [#R6CAPITOLOPDF].id as idCapitolo + ,[R6ReportR6Capitolo].[ordineCapitolo] as ordineCapitolo + ,[#R6CAPITOLOPDF].[titolo] as titoloCapitolo + ,[#R6CAPITOLOPDF].[testo] as testoCapitolo + ,[#R6CAPITOLOPDF].[testoAlternativo] as testoCapitoloAlternativo + ,[#R6CAPITOLOPDF].[nuovapagina] as nuovaPaginaCapitolo +-- ,[#R6CAPITOLOPDF].[queryOracle] as queryOracleCapitolo +,Case when @periodicita = 'G' then isnull([#R6CAPITOLOPDF].[querySql],'') else + Case when @periodicita = 'T' then isnull([#R6CAPITOLOPDF].[querySqlPeriodico],'') + END END as querySqlCapitolo + ,[#R6PARAGRAFOPDF].[id] as idParagrafo + ,[R6CapitoloR6Paragrafo].[ordineParagrafo] as ordineParagrafo + ,[#R6PARAGRAFOPDF].[titolo] as titoloParagrafo + ,[#R6PARAGRAFOPDF].[sottoTitoloQuery] as sottoTitoloParagrafo + ,[#R6PARAGRAFOPDF].[testo] as testoParagrafo + ,[#R6PARAGRAFOPDF].spazioNecessarioSezioneSuccessiva as spazioNecessarioSezioneSuccessiva +-- ,isnull([#R6PARAGRAFOPDF].[queryOracle],'') as queryOracleParagrafo +,Case when @periodicita = 'G' then isnull([#R6PARAGRAFOPDF].[querySql],'') else + Case when @periodicita = 'T' then isnull([#R6PARAGRAFOPDF].[querySqlPeriodico],'') + END END as querySqlParagrafo + ,[R6CapitoloR6Paragrafo].[indicizzato] as indicizzatoParagrafo + ,[R6ParagrafoR6Sezione].[ordineSezione] as ordineSezione + ,[#R6SEZIONEPDF].[id] as idSezione + ,[#R6SEZIONEPDF].[codice] as codiceSezione +-- ,isnull([#R6SEZIONEPDF].[queryOracle],'') as queryOracleSezione +,Case when @periodicita = 'G' then isnull([#R6SEZIONEPDF].[querySql],'') else + Case when @periodicita = 'T' then isnull([#R6SEZIONEPDF].[querySqlPeriodico],'') + END END as querySqlSezione + ,[R6ParagrafoR6Sezione].indicizzato as indicizzatoSezione + ,[R6ParagrafoR6Sezione].[filtroDataView] as filtroSezione + ,[R6ParagrafoR6Sezione].[titolo] as titoloSezione + ,isnull([R6Pa diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_C6_S_QueryDatiComuniSql.sql b/sql/storedCollaudo/C6Mart_GESTIONE_C6_S_QueryDatiComuniSql.sql new file mode 100644 index 00000000..cb19fa6e --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_C6_S_QueryDatiComuniSql.sql @@ -0,0 +1,28 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_C6_S_QueryDatiComuniSql + + +--[C6_S_QueryDatiComuniSql] 4 +CREATE procedure [C6Mart].[GESTIONE_C6_S_QueryDatiComuniSql] +@idReport as int +AS +BEGIN + SET NOCOUNT ON; + +SELECT + isnull(GESTIONE_C6SezioneDatiComuni.querySql,'') as querySqlSezione + ,isnull(GESTIONE_C6SezioneDatiComuni.ordineQuerySql,-1) as ordineQuerySqlSezione +from GESTIONE_C6SezioneDatiComuni +where idReport = @idReport or isnull(idReport,0) = 0 +order by ordineQuerySqlSezione desc +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_C6_S_Vincoli.sql b/sql/storedCollaudo/C6Mart_GESTIONE_C6_S_Vincoli.sql new file mode 100644 index 00000000..9d6a6dc8 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_C6_S_Vincoli.sql @@ -0,0 +1,38 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_C6_S_Vincoli + + + + +--[C6Mart].[GESTIONE_C6_S_Vincoli] 3 +CREATE procedure [C6Mart].[GESTIONE_C6_S_Vincoli] +@idModello as int +AS +BEGIN + SET NOCOUNT ON; + +SELECT DISTINCT a.IDVincoloSezioneFisica, + R6_Vincolo_SezioneFisica.SezioneFisica, + a.cardinalita AS Cardinalita, + c.CodiceVincoloApplicativo, + c.VincoloApplicativo +FROM +( + SELECT R6Sezione_Vincolo.IDVincolo, + COUNT(*) AS cardinalita, + R6Sezione_Vincolo.IDVincoloSezioneFisica + FROM ReportSezionePers + INNER JOIN R6Sezione_Vincolo ON ReportSezionePers.IdSezione = R6Sezione_Vincolo.IDSezione + WHERE ReportSezionePers.IdReport = @idModello + GROUP BY R6Sezione_Vincolo.IDVincolo, R6Sezione_Vincolo.IDVincoloSezioneFisica +) AS a +INNER JOIN R6CardinalitaVincolo AS b ON a.IDVincolo = b.IDVincolo AND a.cardinalita = b.Cardinalita +INNER JOIN R6Cardinalita_VincoloApplicativo AS c ON b.id = c.IDCardinalita +INNER JOIN R6_Vincolo_SezioneFisica ON a.IDVincoloSezioneFisica = R6_Vincolo_SezioneFisica.IDVincoloSezioneFisica + + +END + + + + diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_CRUSCOTTO_ARCHIVIAZIONE.sql b/sql/storedCollaudo/C6Mart_GESTIONE_CRUSCOTTO_ARCHIVIAZIONE.sql new file mode 100644 index 00000000..4ae1fed2 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_CRUSCOTTO_ARCHIVIAZIONE.sql @@ -0,0 +1,45 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_CRUSCOTTO_ARCHIVIAZIONE + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[GESTIONE_CRUSCOTTO_ARCHIVIAZIONE] 'updateFlag','flag_archiviazione',2 +CREATE procedure [C6Mart].[GESTIONE_CRUSCOTTO_ARCHIVIAZIONE] +@tipoOperazione nvarchar(30), +@tipoFlag nvarchar(30), +@valoreFlag int + +as + +IF @tipoOperazione = 'leggi' + + begin + select * from dbo.Cruscotto_Archiviazione + end + +ELSE IF @tipoOperazione = 'truncate' + begin + update dbo.Cruscotto_Archiviazione + set flag_archiviazione = 1,flag_nastro=0,flag_canc=0,num_report_da_elab = 0,num_report_su_nastro = 0,num_report_canc_da_db = 0; + + select * from dbo.Cruscotto_Archiviazione; + end + +ELSE IF @tipoOperazione = 'updateFlag' + begin + + + EXECUTE ('update dbo.Cruscotto_Archiviazione set ' + @tipoFlag + '=' + @valoreFlag); + + select * from dbo.Cruscotto_Archiviazione; + end + + + + + + diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_INSERT_PDF_FTP.sql b/sql/storedCollaudo/C6Mart_GESTIONE_INSERT_PDF_FTP.sql new file mode 100644 index 00000000..36d483a1 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_INSERT_PDF_FTP.sql @@ -0,0 +1,74 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_INSERT_PDF_FTP + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_INSERT_PDF_FTP] + @Rete char(1), + @CodiceFiscale varchar(16), + @IDReport int, + @NomeFile varchar(50), + @TipoReport varchar(1), + @NumeroPagine int +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --SET NOCOUNT ON; +--begin tran + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @COD_AGENTE VARCHAR(6) + SET @ID_ELAB = C6Mart.GETIDELAB() + + + SELECT @COD_AGENTE = COD_AGENTE + FROM [C6Mart].[VCONTRATTI] WHERE COD_FISCALE = @CodiceFiscale AND RETE=@RETE + + insert into C6Mart.GESTIONE_PDF_FTP + ( + Rete, + CodiceFiscale, + IDReport, + DataGenerazione, + DataInvio, + FlagInvio, + NomeFile, + TipoReport, + numeroPagine, + id_Fk_zip, + ID_ELAB + ) + values + ( + @Rete, + @CodiceFiscale, + @IDReport, + Getdate(), + CASE WHEN @COD_AGENTE = '015312' THEN Getdate() ELSE null END, + CASE WHEN @COD_AGENTE = '015312' THEN 'S' ELSE 'N' END, + @NomeFile, + @TipoReport, + @NumeroPagine, + CASE WHEN @COD_AGENTE = '015312' THEN 0 ELSE -1 END, + @ID_ELAB + ) + + UPDATE [C6Mart].[CONTRATTOSEI_METADATI] + SET InvioBenvenuto = 'S' + FROM [C6Mart].[VCONTRATTI] VC + INNER JOIN [C6Mart].[CONTRATTOSEI_metadati] CM + ON VC.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + WHERE VC.Rete = @Rete + AND VC.Cod_Fiscale = @CodiceFiscale + + return @@rowcount + + +END + + + diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql b/sql/storedCollaudo/C6Mart_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql new file mode 100644 index 00000000..29bab212 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql @@ -0,0 +1,49 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_INSERT_PDF_FTP_RISTAMPA + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22/12/2008 +-- Description: Per gestione richieste di reinvio PDF da parte di utenti HD o US +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_INSERT_PDF_FTP_RISTAMPA] + @Id INT, + @IdNuovo INT +AS +BEGIN + + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6Mart.GETIDELAB() + + INSERT INTO C6Mart.GESTIONE_PDF_FTP + ( + Rete, + CodiceFiscale, + IDReport, + DataGenerazione, + DataInvio, + FlagInvio, + NomeFile, + TipoReport, + numeroPagine, + id_Fk_zip, + ID_ELAB + ) + SELECT + Rete, + CodiceFiscale, + @IdNuovo, + Getdate(), + null, + 'N', + NomeFile, + 'LR', + numeroPagine + 1, + -1, + @ID_ELAB + FROM C6Mart.GESTIONE_PDF_FTP + WHERE IdReport = @Id + RETURN @@ROWCOUNT +END + + diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_INSERT_PDF_FTP_TEST.sql b/sql/storedCollaudo/C6Mart_GESTIONE_INSERT_PDF_FTP_TEST.sql new file mode 100644 index 00000000..d5e2b2e0 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_INSERT_PDF_FTP_TEST.sql @@ -0,0 +1,80 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_INSERT_PDF_FTP_TEST + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_INSERT_PDF_FTP_TEST] + @Rete char(1), + @CodiceFiscale varchar(16), + @IDReport int, + @NomeFile varchar(50), + @TipoReport varchar(1), + @NumeroPagine int +AS +BEGIN + + RETURN 1 + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --SET NOCOUNT ON; +--begin tran + -- Insert statements for procedure here + --DECLARE @ID_ELAB INT + --DECLARE @COD_AGENTE VARCHAR(6) + -- SET @ID_ELAB = C6Mart.GETIDELAB() + + + -- SELECT @COD_AGENTE = COD_AGENTE + -- FROM [C6Mart].[VCONTRATTI] WHERE COD_FISCALE = @CodiceFiscale AND RETE=@RETE + + --insert into C6Mart.GESTIONE_PDF_FTP + --( + -- Rete, + -- CodiceFiscale, + -- IDReport, + -- DataGenerazione, + -- DataInvio, + -- FlagInvio, + -- NomeFile, + -- TipoReport, + -- numeroPagine, + -- id_Fk_zip, + -- ID_ELAB + --) + --values + --( + -- @Rete, + -- @CodiceFiscale, + -- @IDReport, + -- Getdate(), + -- CASE WHEN @COD_AGENTE = '015312' THEN Getdate() ELSE null END, + -- CASE WHEN @COD_AGENTE = '015312' THEN 'S' ELSE 'N' END, + -- @NomeFile, + -- @TipoReport, + -- @NumeroPagine, + -- CASE WHEN @COD_AGENTE = '015312' THEN 0 ELSE -1 END, + -- @ID_ELAB + -- ) + + --UPDATE [C6Mart].[CONTRATTOSEI_METADATI] + --SET InvioBenvenuto = 'S' + -- FROM [C6Mart].[VCONTRATTI] VC + -- INNER JOIN [C6Mart].[CONTRATTOSEI_metadati] CM + -- ON VC.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + --WHERE VC.Rete = @Rete + --AND VC.Cod_Fiscale = @CodiceFiscale + + --return @@rowcount + + +END + + + + + diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_INSERT_ZIP.sql b/sql/storedCollaudo/C6Mart_GESTIONE_INSERT_ZIP.sql new file mode 100644 index 00000000..fa902f8e --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_INSERT_ZIP.sql @@ -0,0 +1,62 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_INSERT_ZIP + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- Inserimento nuovo [C6Mart].[GESTIONE_INSERT_ZIP] -1,'NomeFileOk','NomeFileOk' +CREATE procedure [C6Mart].[GESTIONE_INSERT_ZIP] +@NomeFile as varchar(255), +@NomeCartella as varchar(255) +AS +BEGIN +BEGIN TRANSACTION +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6Mart.GETIDELAB() +declare @IdZip as int +set @IdZip = -1 +--recupero idzip se Esiste insieme al NomeCartella +SELECT @IdZip=id,@NomeCartella=NomeCartella +FROM + C6Mart.GESTIONE_ZIP_FTP +WHERE + FlagInvio = 'N' + +IF(@IDZIP = -1)--NON ESISTE + BEGIN + INSERT INTO [C6MART].[GESTIONE_ZIP_FTP] + ([NOMEFILE] + ,[DATAINVIO] + ,[FLAGINVIO] + ,[NOMECARTELLA] + ,[ID_ELAB]) + VALUES + (@NOMEFILE + ,NULL + ,'N' + ,@NOMECARTELLA + ,@ID_ELAB) + SET @IDZIP = SCOPE_IDENTITY() + END +ELSE --ESISTE + BEGIN + UPDATE [C6MART].[GESTIONE_ZIP_FTP] + SET [NOMEFILE] = @NOMEFILE + WHERE ID = @IDZIP + END +IF @@error <> 0 + begin + rollback + end +else + begin + commit + select @IdZip IdZip,@NomeFile NomeFile,@NomeCartella NomeCartella + end + + +end + + diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.old.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.old.sql new file mode 100644 index 00000000..ecfe43d9 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.old.sql @@ -0,0 +1,108 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_EMAIL_DA_INVIARE.old + + + +--select * from #temp_email + +CREATE PROCEDURE [C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE] +AS + + +BEGIN + +execute [C6Mart].[RP_DM_CheckEmail] + +--recupero la percentuale limite di risorse non associate +DECLARE @RNA varchar(3) +select @RNA= dbo.getParametro('PERCMAXRISORSENA') + '%' +DECLARE @Ambiente varchar(20) +select @Ambiente= dbo.getParametro('Ambiente') +DECLARE @DestinatarioEmail varchar(255) +select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail') + + +TRUNCATE TABLE c6mart.test_Quality_Email + +INSERT INTO c6mart.test_Quality_Email +SELECT +data_perf, +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) as DATA_PERF_REV + ,CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + + @Ambiente = 'Produzione' + + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + + then + dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + else + dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + end as Testo +--into c6mart.test_Quality_Email +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMO diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql new file mode 100644 index 00000000..4052d725 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql @@ -0,0 +1,107 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_EMAIL_DA_INVIARE + + + + + + +--select * from #temp_email + +CREATE procedure [C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE] +AS + + +BEGIN + + + +execute [C6Mart].[RP_DM_CheckEmail] + +--recupero la percentuale limite di risorse non associate +DECLARE @RNA varchar(3) +select @RNA= dbo.getParametro('PERCMAXRISORSENA') + '%' +DECLARE @Ambiente varchar(20) +select @Ambiente= dbo.getParametro('Ambiente') +DECLARE @DestinatarioEmail varchar(255) +select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail') + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'GESTIONE_SELECT_EMAIL_DA_INVIARE', + GETDATE(), + 'Elaborazione giornaliera' + ) + + +TRUNCATE TABLE c6mart.test_Quality_Email + +INSERT INTO c6mart.test_Quality_Email +SELECT +data_perf, +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) as DATA_PERF_REV + ,CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + + @Ambiente = 'Produzione' + + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + + then + -------------------------en 2061025 - parameter chenged for functions Replace_Subject_Email Replace_Testo_Email*/ + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + ----else + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + ----end as E_Subject + ---- , case + ----when + ---- len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + ----then + ---- --persone giuridiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + ----else + ---- --persone fisiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_ag diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.test_e.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.test_e.sql new file mode 100644 index 00000000..463a9a65 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.test_e.sql @@ -0,0 +1,100 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_EMAIL_DA_INVIARE.test_e + + + + + +--select * from #temp_email + +CREATE procedure [C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE_EN_20170925] +AS + + +BEGIN + +execute [C6Mart].[RP_DM_CheckEmail] + +--recupero la percentuale limite di risorse non associate +DECLARE @RNA varchar(3) +select @RNA= dbo.getParametro('PERCMAXRISORSENA') + '%' +DECLARE @Ambiente varchar(20) +select @Ambiente= dbo.getParametro('Ambiente') +DECLARE @DestinatarioEmail varchar(255) +select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail') + + +TRUNCATE TABLE c6mart.test_Quality_Email + +INSERT INTO c6mart.test_Quality_Email +SELECT +data_perf, +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) as DATA_PERF_REV + ,CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + + @Ambiente = 'Produzione' + + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + + then + -------------------------en 2061025 - parameter chenged for functions Replace_Subject_Email Replace_Testo_Email*/ + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + ----else + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + ----end as E_Subject + ---- , case + ----when + ---- len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + ----then + ---- --persone giuridiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + ----else + ---- --persone fisiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_20190802.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_20190802.sql new file mode 100644 index 00000000..b0cfc3c4 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_20190802.sql @@ -0,0 +1,100 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_EMAIL_DA_INVIARE_20190802 + + + + + +--select * from #temp_email + +CREATE procedure [C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE_20190802] +AS + + +BEGIN + +execute [C6Mart].[RP_DM_CheckEmail] + +--recupero la percentuale limite di risorse non associate +DECLARE @RNA varchar(3) +select @RNA= dbo.getParametro('PERCMAXRISORSENA') + '%' +DECLARE @Ambiente varchar(20) +select @Ambiente= dbo.getParametro('Ambiente') +DECLARE @DestinatarioEmail varchar(255) +select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail') + + +TRUNCATE TABLE c6mart.test_Quality_Email + +INSERT INTO c6mart.test_Quality_Email +SELECT +data_perf, +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) as DATA_PERF_REV + ,CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + + @Ambiente = 'Produzione' + + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + + then + -------------------------en 2061025 - parameter chenged for functions Replace_Subject_Email Replace_Testo_Email*/ + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + ----else + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + ----end as E_Subject + ---- , case + ----when + ---- len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + ----then + ---- --persone giuridiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + ----else + ---- --persone fisiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_CU.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_CU.sql new file mode 100644 index 00000000..881f197a --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_CU.sql @@ -0,0 +1,105 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_EMAIL_DA_INVIARE_CU + + + + + +CREATE procedure [C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE_CU] +AS + + +BEGIN + +execute [C6Mart].[RP_DM_CheckEmail] + +--recupero la percentuale limite di risorse non associate +DECLARE @RNA varchar(3) +select @RNA= dbo.getParametro('PERCMAXRISORSENA') + '%' +DECLARE @Ambiente varchar(20) +select @Ambiente= dbo.getParametro('Ambiente') +DECLARE @DestinatarioEmail varchar(255) +select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail') + + +TRUNCATE TABLE c6mart.test_Quality_Email + +INSERT INTO c6mart.test_Quality_Email +SELECT +data_perf, +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) as DATA_PERF_REV + ,CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , + case + when + + @Ambiente = 'Produzione' + + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end + as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + + then + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + end as Testo +--into c6mart.test_Quality_Email +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAI diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_new.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_new.sql new file mode 100644 index 00000000..13710b1c --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_new.sql @@ -0,0 +1,100 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_EMAIL_DA_INVIARE_new + + + + +--select * from #temp_email + +CREATE procedure [C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE_new] +AS + + +BEGIN + +execute [C6Mart].[RP_DM_CheckEmail] + +--recupero la percentuale limite di risorse non associate +DECLARE @RNA varchar(3) +select @RNA= dbo.getParametro('PERCMAXRISORSENA') + '%' +DECLARE @Ambiente varchar(20) +select @Ambiente= dbo.getParametro('Ambiente') +DECLARE @DestinatarioEmail varchar(255) +select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail') + + +TRUNCATE TABLE c6mart.test_Quality_Email + +INSERT INTO c6mart.test_Quality_Email +SELECT +data_perf, +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) as DATA_PERF_REV + ,CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + + @Ambiente = 'Produzione' + + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + + then + -------------------------en 2061025 - parameter chenged for functions Replace_Subject_Email Replace_Testo_Email*/ + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + ----else + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + ----end as E_Subject + ---- , case + ----when + ---- len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + ----then + ---- --persone giuridiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + ----else + ---- --persone fisiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + the diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_FTP_DA_INVIARE.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_FTP_DA_INVIARE.sql new file mode 100644 index 00000000..db210b42 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_FTP_DA_INVIARE.sql @@ -0,0 +1,42 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_FTP_DA_INVIARE + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_SELECT_FTP_DA_INVIARE] +AS +BEGIN + +insert into GLOBAL_ERROR (ErrorDescription) values ('ingresso') + + SELECT + Rete, + CodiceFiscale, + IdReport + ,(NomeFile + '_' + (Case TipoReport when 'D' then 'DW' else TipoReport end)) as NomeFile + ,TipoReport +-- ,Case TipoReport when 'D' then 'DW' else TipoReport end +-- , +-- DataGenerazione, +-- DataInvio, +-- FlagInvio, +-- NomeFile + FROM + C6Mart.GESTIONE_PDF_FTP + WHERE + FlagInvio = 'N' + AND CODICEFISCALE + RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality) + + +insert into GLOBAL_ERROR (ErrorDescription) values ('uscita') + +END + + + + + diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_FTP_INVIATI.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_FTP_INVIATI.sql new file mode 100644 index 00000000..1de51ad1 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_FTP_INVIATI.sql @@ -0,0 +1,64 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_FTP_INVIATI + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_SELECT_FTP_INVIATI] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +-- Facciate(6)CppBollettini(2)IDENTIFICATIVODOCUMENTO(50)NOMINATIVODESTINATARIO(50)VIA(50)CAP(5)LOCALITA(50)PROVINCIA(2)NAZIONE(1)TIPOPOSTALIZZAZIONE(2)FILESPOOL(50)ALLEGATO1(1)ALLEGATO1(2)NAZIONEESTERA(30) +--FacciateXXXXX(6)00CodiceFiscale(50)NOMINATIVODESTINATARIO(50)VIA(50)CAP(5)LOCALITA(50)PROVINCIA(2)IoE(1)PE(2)NOMEFILE(50)0(1)0(2)NAZIONEESTERA(30) +-- (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) +-- + '00' --CppBollettini(2) +-- + ' ' --IDENTIFICATIVODOCUMENTO(50) +-- + LEFT(isnull(ANAG_CLIENTI.Cognome,'COGNOME') + ' ' + ISNULL(ANAG_CLIENTI.Nome,'NOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) +-- + LEFT(CONTRATTOSEI.Indirizzo + ' ',50) --VIA(50) +-- + LEFT(CONTRATTOSEI.CAP + ' ',5) --CAP(5) +-- + LEFT(CONTRATTOSEI.Citta + ' ',50) --LOCALITA(50) +-- + LEFT(CONTRATTOSEI.Prov + ' ',2)--PROVINCIA(2) +-- + (CASE UPPER(CONTRATTOSEI.Nazione) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) +-- + 'PE' --TIPOPOSTALIZZAZIONE(2) +-- + LEFT(GESTIONE_PDF_FTP.NomeFile + ' ',50)--NOMEFILE(50) +-- + '0' --0(1) +-- + '0' --0(2) +-- + LEFT((CASE UPPER(CONTRATTOSEI.Nazione) WHEN 'ITALIA' THEN '' ELSE CONTRATTOSEI.Nazione END) + ' ',30)) -- NAZIONEESTERA(30) +-- + + + +-- FC 24/02/2014 +-- MOdifica accesso tabella C6MART.ContrattoSei NON PIU GESTITA con tabella C6Mart.VContratti +-- Gestione Data FineAvanzato ( datat chiusura contratto ) con valore convenzionale 9999/12/31 + + SELECT DISTINCT C6MART.CONCATENA(C6Mart.GESTIONE_PDF_FTP.Rete, C6Mart.GESTIONE_PDF_FTP.CodiceFiscale) AS riga + FROM C6MART.GESTIONE_PDF_FTP + INNER JOIN C6MART.vcontratti V + ON v.Rete = GESTIONE_PDF_FTP.Rete + AND v.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN C6MART.ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE (DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 + OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0) + AND convert(varchar(10),v.data_fineAvanzato,112) = '99991231' + + +END + + + + + + + + diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_FTP_INVIATI_TEST_NEW.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_FTP_INVIATI_TEST_NEW.sql new file mode 100644 index 00000000..2379f4f5 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_FTP_INVIATI_TEST_NEW.sql @@ -0,0 +1,64 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_FTP_INVIATI_TEST_NEW + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_SELECT_FTP_INVIATI_TEST_NEW] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +-- Facciate(6)CppBollettini(2)IDENTIFICATIVODOCUMENTO(50)NOMINATIVODESTINATARIO(50)VIA(50)CAP(5)LOCALITA(50)PROVINCIA(2)NAZIONE(1)TIPOPOSTALIZZAZIONE(2)FILESPOOL(50)ALLEGATO1(1)ALLEGATO1(2)NAZIONEESTERA(30) +--FacciateXXXXX(6)00CodiceFiscale(50)NOMINATIVODESTINATARIO(50)VIA(50)CAP(5)LOCALITA(50)PROVINCIA(2)IoE(1)PE(2)NOMEFILE(50)0(1)0(2)NAZIONEESTERA(30) +-- (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) +-- + '00' --CppBollettini(2) +-- + ' ' --IDENTIFICATIVODOCUMENTO(50) +-- + LEFT(isnull(ANAG_CLIENTI.Cognome,'COGNOME') + ' ' + ISNULL(ANAG_CLIENTI.Nome,'NOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) +-- + LEFT(CONTRATTOSEI.Indirizzo + ' ',50) --VIA(50) +-- + LEFT(CONTRATTOSEI.CAP + ' ',5) --CAP(5) +-- + LEFT(CONTRATTOSEI.Citta + ' ',50) --LOCALITA(50) +-- + LEFT(CONTRATTOSEI.Prov + ' ',2)--PROVINCIA(2) +-- + (CASE UPPER(CONTRATTOSEI.Nazione) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) +-- + 'PE' --TIPOPOSTALIZZAZIONE(2) +-- + LEFT(GESTIONE_PDF_FTP.NomeFile + ' ',50)--NOMEFILE(50) +-- + '0' --0(1) +-- + '0' --0(2) +-- + LEFT((CASE UPPER(CONTRATTOSEI.Nazione) WHEN 'ITALIA' THEN '' ELSE CONTRATTOSEI.Nazione END) + ' ',30)) -- NAZIONEESTERA(30) +-- + + + +-- FC 24/02/2014 +-- MOdifica accesso tabella C6MART.ContrattoSei NON PIU GESTITA con tabella C6Mart.VContratti +-- Gestione Data FineAvanzato ( datat chiusura contratto ) con valore convenzionale 9999/12/31 + + SELECT DISTINCT C6MART.CONCATENA_TEST_NEW(C6Mart.GESTIONE_PDF_FTP.Rete, C6Mart.GESTIONE_PDF_FTP.CodiceFiscale) AS riga + FROM C6MART.GESTIONE_PDF_FTP + INNER JOIN C6MART.vcontratti V + ON v.Rete = GESTIONE_PDF_FTP.Rete + AND v.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN C6MART.ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE (DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 + OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0) + AND convert(varchar(10),v.data_fineAvanzato,112) = '99991231' + + +END + + + + + + + + diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_HOST.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_HOST.sql new file mode 100644 index 00000000..19457d52 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_HOST.sql @@ -0,0 +1,36 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_HOST + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_SELECT_HOST] + AS +BEGIN + + SET NOCOUNT ON; + + SELECT + (C6Mart.GESTIONE_PDF_FTP.Rete + C6Mart.GESTIONE_PDF_FTP.CodiceFiscale + right('00000000000' + C6Mart.VCONTRATTI.CodiceContratto,11) + 'C' + + (Case TipoReport when 'D' then 'LD' when 'LR' then 'LR' else TipoReport end) + + (Case TipoReport when 'D' then CONVERT(VARCHAR(10), C6Mart.GESTIONE_PDF_FTP.DataInvio, 112) + when 'LR' then CONVERT(VARCHAR(10), C6Mart.GESTIONE_PDF_FTP.DataInvioRistampa, 112) else null end)) as riga + FROM C6Mart.GESTIONE_PDF_FTP + INNER JOIN C6Mart.VCONTRATTI + ON C6Mart.VCONTRATTI.Rete = C6Mart.GESTIONE_PDF_FTP.Rete + and C6Mart.VCONTRATTI.COD_FISCALE = C6Mart.GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN C6Mart.ANAG_CLIENTI + ON C6Mart.ANAG_CLIENTI.Rete = C6Mart.GESTIONE_PDF_FTP.Rete + and C6Mart.ANAG_CLIENTI.COD_FISCALE = C6Mart.GESTIONE_PDF_FTP.CodiceFiscale + WHERE DATEDIFF(DAY,isnull(C6Mart.GESTIONE_PDF_FTP.DataInvio,C6Mart.GESTIONE_PDF_FTP.DataInvioRistampa),GETDATE()) = 0 + AND C6Mart.VCONTRATTI.Data_FineAvanzato > getDate() + AND C6Mart.VCONTRATTI.Cod_Fiscale + C6Mart.VCONTRATTI.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + AND C6Mart.VCONTRATTI.COD_AGENTE <> '015312' +END + + + + diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_HOST_GIORNALIERO.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_HOST_GIORNALIERO.sql new file mode 100644 index 00000000..7b0f08ec --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_HOST_GIORNALIERO.sql @@ -0,0 +1,50 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_HOST_GIORNALIERO + + +-- ============================================= +-- Author: MOdified TRINGALI per FIDUCIARIA +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_SELECT_HOST_GIORNALIERO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --FTP + SELECT + (gpf.Rete + + case when gpf.CodiceFiscale like '%@%' then right(vc.piva_fiduciaria+' ',16) + when len(gpf.CodiceFiscale) = 11 then right(gpf.CodiceFiscale+' ',16) + else gpf.CodiceFiscale end + right('00000000000' + vc.CodiceContratto,11) + 'LD' + CONVERT(VARCHAR(10), gpf.DataGenerazione, 112)) as riga + FROM C6Mart.GESTIONE_PDF_FTP gpf + INNER JOIN C6Mart.VCONTRATTI vc + ON vc.Rete = gpf.Rete + and vc.COD_FISCALE = gpf.CodiceFiscale + INNER JOIN C6Mart.ANAG_CLIENTI + ON C6Mart.ANAG_CLIENTI.Rete = gpf.Rete + and C6Mart.ANAG_CLIENTI.COD_FISCALE = gpf.CodiceFiscale + where 1=1 + AND gpf.tiporeport = 'D' + + AND DATEDIFF(DAY,gpf.DataGenerazione,GETDATE()) = 0 + --Aggiunta Emanuele per inserire nel file delle commissioni + --contratti da un determinato giorno + --AND DataGenerazione > '20140127' + ----------------------------------------- + --AND gpf.DataGenerazione BETWEEN '20140124' and '20140125' + --Fine Aggiunta Emanuele + + AND vc.Data_FineAvanzato > getDate() + AND vc.Cod_Fiscale + vc.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + AND vc.COD_AGENTE <> '015312' + + + --Aggiunta Emanuele + --ORDER BY DataGenerazione, gpf.Rete, gpf.CodiceFiscale + --Fine Aggiunta Emanuele +END + + diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql new file mode 100644 index 00000000..3db4f26a --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql @@ -0,0 +1,127 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_LETTERE_DA_INVIARE + +--SELECT TOP 1 * FROM C6MART.VCONTRATTI +--[C6Mart].[GESTIONE_SELECT_LETTERE_DA_INVIARE]'F','AA@55670',1,-1 +CREATE procedure [C6Mart].[GESTIONE_SELECT_LETTERE_DA_INVIARE] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' + + +AS +BEGIN + + + + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() + +--declare @prova as varchar(10) +--select @prova = 'AA@55670' +--select @prova +--select charindex('@',@prova) + + SELECT distinct + C6Mart.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, + + --aclie.cognome as cognome, + csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.PROVINCIA end as provincia, + csei.cap as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + + --20180912 AC: su richiesta di Flavia Scirocco / Maria Napolitano, per i clienti professionali, la data di sottoscrizione quella del campo DATA_INIZIOBASE + --C6Mart.Replace_Testo_Lettera_Benvenuto( + -- csei.CodiceContratto, + -- csei.freq_Diagnosi, + -- csei.freq_MONITORAGGIO, + -- aclie.cognome, + -- aclie.nome, + -- @tipoReport, + -- csei.indirizzo, + -- csei.DATA_INZIOAVANZATO, + -- @dataRichiestaRistampa, + -- gpdf.DataGenerazione, + -- tla.[TESTO] + -- ) as testo, + case + when csei.TipoConsulenza = 'P' then + C6Mart.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_MONITORAGGIO, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.DATA_INIZIOBASE, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) + else + C6Mart.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_MONITORAGGIO, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.DATA_INZIOAVANZATO, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) + end as testo, + + --20180912 AC + + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma, + pagina + + FROM + [C6Mart].[TESTO_LETTERA_ACCETTAZIONE] tla, + [C6Mart].[VCONTRATTI] csei JOIN + C6MART.CONTRATTOSEI_METADATI META + ON META.CHIAVECLIENTEPB = CSEI.CHIAVECLIENTEPB + INNER JOIN + [C6Mart].[ANAG_CLIENTI] aclie + on csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + LEFT OUTER JOIN + C6Mart.GESTIONE_PD diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql new file mode 100644 index 00000000..5908b49a --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql @@ -0,0 +1,128 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina + + +--SELECT TOP 1 * FROM C6MART.VCONTRATTI +--[C6Mart].[GESTIONE_SELECT_LETTERE_DA_INVIARE]'F','AA@55670',1,-1 +CREATE procedure [C6Mart].[GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' + + +AS +BEGIN + + + + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() + +--declare @prova as varchar(10) +--select @prova = 'AA@55670' +--select @prova +--select charindex('@',@prova) + + SELECT distinct + C6Mart.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, + + --aclie.cognome as cognome, + csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.PROVINCIA end as provincia, + csei.cap as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + + --20180912 AC: su richiesta di Flavia Scirocco / Maria Napolitano, per i clienti professionali, la data di sottoscrizione quella del campo DATA_INIZIOBASE + --C6Mart.Replace_Testo_Lettera_Benvenuto( + -- csei.CodiceContratto, + -- csei.freq_Diagnosi, + -- csei.freq_MONITORAGGIO, + -- aclie.cognome, + -- aclie.nome, + -- @tipoReport, + -- csei.indirizzo, + -- csei.DATA_INZIOAVANZATO, + -- @dataRichiestaRistampa, + -- gpdf.DataGenerazione, + -- tla.[TESTO] + -- ) as testo, + case + when csei.TipoConsulenza = 'P' then + C6Mart.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_MONITORAGGIO, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.DATA_INIZIOBASE, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) + else + C6Mart.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_MONITORAGGIO, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.DATA_INZIOAVANZATO, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) + end as testo, + + --20180912 AC + + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma, + pagina + + FROM + [C6Mart].[TESTO_LETTERA_ACCETTAZIONE_Rosaspina] tla, + [C6Mart].[VCONTRATTI] csei JOIN + C6MART.CONTRATTOSEI_METADATI META + ON META.CHIAVECLIENTEPB = CSEI.CHIAVECLIENTEPB + INNER JOIN + [C6Mart].[ANAG_CLIENTI] aclie + on csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + LEFT OUTER JOIN + diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql new file mode 100644 index 00000000..403995ed --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql @@ -0,0 +1,27 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22/12/2008 +-- Description: Per gestione richieste di reinvio PDF da parte di utenti HD o US +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO] + @IdReport INT +AS +BEGIN + + declare @ritorno as int + set @ritorno = 1 + + select @ritorno = 0 + from C6Mart.GESTIONE_PDF_FTP A + inner join (select Rete, CodiceFiscale FROM C6Mart.GESTIONE_PDF_FTP WHERE IdReport = @IdReport) B + on A.Rete = B.Rete + and A.CodiceFiscale = B.CodiceFiscale + and TipoReport = 'LR' + and FlagInvio = 'N' + + select @ritorno +END + diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS.sql new file mode 100644 index 00000000..b24c4292 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS.sql @@ -0,0 +1,93 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS + + + +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS] + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --- inizio intervento RFAMinus + declare @sogliaRfa as decimal (18,0) + set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + --- fine intervento RFAMinus + + SELECT DISTINCT + --top 80 + --DATI COMUNI + --RETE + contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto --DA REINSERIRE QUANDO REPLATTATA + --REPORT + --Modello Diagnosi pre modifiche OMNIA +-- ,4 as idModelloDiagnosi + --Modello Diagnosi post modifiche OMNIA + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio + + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.C diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano.sql new file mode 100644 index 00000000..e227cc6d --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano.sql @@ -0,0 +1,97 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano + +--select * from global_error +--[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano] 1000 +CREATE PROCEDURE [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano] +@volThreads int = 1 +WITH EXEC AS CALLER +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + + SELECT DISTINCT + --top 80 + --DATI COMUNI + --RETE + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto --DA REINSERIRE QUANDO REPLATTATA + --REPORT + --Modello Diagnosi pre modifiche OMNIA +-- ,4 as idModelloDiagnosi + --Modello Diagnosi post modifiche OMNIA + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + case TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + --'S' as Flgprof + --,C6Mart.EsistonoServiziAggiuntivi (contratti.rete, contratti.Cod_Fiscale) as FlagServiziAggiuntivi + from [C6Mart].[RP_vContrattiPerGenerazioneReport_OnDemand_Adriano] contratti + + left join C6Mart.ANAG_PROMOTORI promoto diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql new file mode 100644 index 00000000..78ceaeb1 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql @@ -0,0 +1,86 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE + + + + + + + +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + +-- [C6Mart].[RP_Selettore_GetDataThreads] 'SEI' +-- [C6Mart].[RP_Selettore_GetDataThreads] 'DIRECT' + + truncate table C6Mart.tbNotAllocatedResources + + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + + declare @sogliaRfa as decimal (18,0) + declare @sogliaRfaDB as decimal (18,0) + declare @data_perf as datetime + declare @nomeRep as varchar(32) + + set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + set @data_perf = '20200401' + + set @sogliaRfaDB=0 + + set @nomeRep = (select Reportistica from [C6Mart].[TB_Selettore_GetDataThreads]) + +--if (@nomeRep='SEI') + SELECT distinct top (@volThreads) + contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto--,2 as tip_contratto-- + ,case when contratti.tip_contratto=3 then 6 else 5 end as idModelloDiagnosi --5 as idModelloDiagnosi aggiunta per Fideuram Direct / Direct Banker + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto.sql new file mode 100644 index 00000000..5f86d3c1 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto.sql @@ -0,0 +1,103 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto + + + + + + + + + +--select * from global_error +--[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto] 1000 +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto] (@volThreads int = 1) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + + SELECT DISTINCT + --top 80 + --DATI COMUNI + --RETE + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto --DA REINSERIRE QUANDO REPLATTATA + --REPORT + --Modello Diagnosi pre modifiche OMNIA +-- ,4 as idModelloDiagnosi + --Modello Diagnosi post modifiche OMNIA + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + case TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + --'S' as Flgprof + --,C6Mart.EsistonoServiziAggiuntivi (contratti.rete, contratti.Cod_Fiscale) as FlagServiziAggiuntivi + from [C6Mart].[RP_vContrattiPerGenerazioneReport_OnDemand_Adriano] contratti + + left join C6Mart.ANAG_PROMOTORI promoto diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Luca.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Luca.sql new file mode 100644 index 00000000..195290cd --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Luca.sql @@ -0,0 +1,105 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_Luca + + + + + + + + + + + + +--select * from global_error + +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Luca] (@volThreads int = 9999) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + + SELECT DISTINCT + --top 80 + --DATI COMUNI + --RETE + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto --DA REINSERIRE QUANDO REPLATTATA + --REPORT + --Modello Diagnosi pre modifiche OMNIA +-- ,4 as idModelloDiagnosi + --Modello Diagnosi post modifiche OMNIA + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + 0 as Flgprof + --,C6Mart.EsistonoServiziAggiuntivi (contratti.rete, contratti.Cod_Fiscale) as FlagServiziAggiuntivi + from C6Mart.[RP_vContrattiPerGenerazioneReport_OnDemand_Adriano] contratti + + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clien diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA.sql new file mode 100644 index 00000000..f1df9a4a --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA.sql @@ -0,0 +1,83 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_NA + + +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA] +AS +BEGIN + SET NOCOUNT ON; + + SELECT DISTINCT contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join c6Mart.NotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.TEMP.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.TEMP.sql new file mode 100644 index 00000000..c4160501 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.TEMP.sql @@ -0,0 +1,85 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.TEMP + + + +CREATE PROCEDURE [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + + truncate table C6Mart.tbNotAllocatedResources + + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + + + SELECT distinct TOP (@volThreads) contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promot diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.sql new file mode 100644 index 00000000..76b137ff --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.sql @@ -0,0 +1,83 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A + + +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + +-- [C6Mart].[RP_Selettore_GetDataThreads] 'SEI' +-- [C6Mart].[RP_Selettore_GetDataThreads] 'DIRECT' + + truncate table C6Mart.tbNotAllocatedResources + + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + + declare @sogliaRfa as decimal (18,0) + declare @sogliaRfaDB as decimal (18,0) + declare @data_perf as datetime + declare @nomeRep as varchar(32) + + set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + set @data_perf = '20200401' + + set @sogliaRfaDB=0 + + set @nomeRep = (select Reportistica from [C6Mart].[TB_Selettore_GetDataThreads]) + +if (@nomeRep='SEI') +BEGIN + SELECT distinct top (@volThreads) + contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto--,2 as tip_contratto-- + ,case when contratti.tip_contratto=3 then 6 else 5 end as idModelloDiagnosi --5 as idModelloDiagnosi aggiunta per Fideuram Direct / Direct Banker + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180309_PreServizi.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180309_PreServizi.sql new file mode 100644 index 00000000..236240e8 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180309_PreServizi.sql @@ -0,0 +1,85 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180309_PreServizi + + + +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180309_PreServizi] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + + truncate table C6Mart.tbNotAllocatedResources + + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + + + SELECT distinct TOP (@volThreads) contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180928_OLD.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180928_OLD.sql new file mode 100644 index 00000000..5e38e383 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180928_OLD.sql @@ -0,0 +1,86 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180928_OLD + + + + + +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180928_OLD] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + + truncate table C6Mart.tbNotAllocatedResources + + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + + + SELECT distinct TOP (@volThreads) contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio , + ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_ diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20240412.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20240412.sql new file mode 100644 index 00000000..b34cd97f --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20240412.sql @@ -0,0 +1,91 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20240412 + + + + + + + + + + + +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20240412] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + +-- [C6Mart].[RP_Selettore_GetDataThreads] 'SEI' +-- [C6Mart].[RP_Selettore_GetDataThreads] 'DIRECT' + + truncate table C6Mart.tbNotAllocatedResources + + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + + declare @sogliaRfa as decimal (18,0) + declare @sogliaRfaDB as decimal (18,0) + declare @data_perf as datetime + declare @nomeRep as varchar(32) + + set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + set @data_perf = '20200401' + + set @sogliaRfaDB=0 + + set @nomeRep = (select Reportistica from [C6Mart].[TB_Selettore_GetDataThreads]) + +if (@nomeRep='SEI') +BEGIN + SELECT distinct top (@volThreads) + contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto--,2 as tip_contratto-- + ,case when contratti.tip_contratto=3 then 6 else 5 end as idModelloDiagnosi --5 as idModelloDiagnosi aggiunta per Fideuram Direct / Direct Banker + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTUR diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_ESG.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_ESG.sql new file mode 100644 index 00000000..080f4c5d --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_ESG.sql @@ -0,0 +1,87 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_ESG + + + + + +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_ESG] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + + declare @sogliaRfa as decimal (18,0) + declare @data_perf as datetime + + set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + set @data_perf = '20200401' + + truncate table C6Mart.tbNotAllocatedResources + + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + + + SELECT distinct TOP (@volThreads) contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.G diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_Pino.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_Pino.sql new file mode 100644 index 00000000..ca5d0f26 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_Pino.sql @@ -0,0 +1,86 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_Pino + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_Pino] + -- Add the parameters for the stored procedure here + @volThreads int = 9999 +AS +BEGIN +SET NOCOUNT ON; + + declare @sogliaRfa as decimal (18,0) + declare @data_perf as datetime + + set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + set @data_perf = '20200401' + + truncate table C6Mart.tbNotAllocatedResources + + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + + + SELECT distinct TOP (@volThreads) contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinan diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST.sql new file mode 100644 index 00000000..f3644708 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST.sql @@ -0,0 +1,99 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST + + + + + + + +--[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST] 10 + +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST] (@volThreads int = 9999) +AS +BEGIN + + SET NOCOUNT ON; + + + + SELECT distinct TOP 1000 contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio , + ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + 0 as Flgprof, + 0 as flagpg + ----------------------------------------------------- fine 09/3/2018 + , + case TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Ag diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P.sql new file mode 100644 index 00000000..faa2ecba --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P.sql @@ -0,0 +1,85 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P + + + +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + + truncate table C6Mart.tbNotAllocatedResources + + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + + + SELECT distinct TOP (@volThreads) contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_Test2.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_Test2.sql new file mode 100644 index 00000000..eebc787d --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_Test2.sql @@ -0,0 +1,87 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_Test2 + + + + + +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_Test2] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + + declare @sogliaRfa as decimal (18,0) + declare @data_perf as datetime + + set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + set @data_perf = '20200401' + + truncate table C6Mart.tbNotAllocatedResources + + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + + + SELECT distinct TOP (@volThreads) contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_TEST_ANDREA.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_TEST_ANDREA.sql new file mode 100644 index 00000000..747055c3 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_TEST_ANDREA.sql @@ -0,0 +1,83 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_NA_TEST_ANDREA + + +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_TEST_ANDREA] +AS +BEGIN + SET NOCOUNT ON; + + SELECT DISTINCT contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join c6Mart.NotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimoni diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_orig.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_orig.sql new file mode 100644 index 00000000..9f410e65 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_orig.sql @@ -0,0 +1,86 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_PDF_GETDATATHREADS_NA_orig + + + +create PROCEDURE [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_orig] +AS +BEGIN + SET NOCOUNT ON; + + SELECT DISTINCT contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join c6Mart.NotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_ZIP_DA_INVIARE.sql b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_ZIP_DA_INVIARE.sql new file mode 100644 index 00000000..51941026 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_SELECT_ZIP_DA_INVIARE.sql @@ -0,0 +1,34 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_SELECT_ZIP_DA_INVIARE + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_SELECT_ZIP_DA_INVIARE] +AS +BEGIN + SELECT +-- Rete, +-- CodiceFiscale, + id IdZip + ,NomeFile +-- , +-- TipoReport, +-- DataGenerazione, +-- DataInvio, +-- FlagInvio, +-- NomeFile + FROM + C6Mart.GESTIONE_ZIP_FTP + WHERE + FlagInvio = 'N' + + +END + + + + + diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_S_Intermediari.sql b/sql/storedCollaudo/C6Mart_GESTIONE_S_Intermediari.sql new file mode 100644 index 00000000..0da44fe1 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_S_Intermediari.sql @@ -0,0 +1,32 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_S_Intermediari + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[GESTIONE_S_Intermediari] 'S','GHGRTI63T44L219D' +--[C6Mart].[GESTIONE_S_Intermediari] 'F','BRTVTR64T13L219G' +CREATE procedure [C6Mart].[GESTIONE_S_Intermediari] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceCliente varchar(16) +AS + +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + SELECT DISTINCT INTERMEDIARIO + FROM C6Mart.PATRIMONIO_TERZI + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceCliente +END + + + + diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_UPDATE_EMAIL_HOST.sql b/sql/storedCollaudo/C6Mart_GESTIONE_UPDATE_EMAIL_HOST.sql new file mode 100644 index 00000000..64c30e0b --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_UPDATE_EMAIL_HOST.sql @@ -0,0 +1,17 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_UPDATE_EMAIL_HOST + +--exec [C6Mart].[Gestione_EMAIL_Inviate] @Email_Id=7,@DataInvio='2008-11-17 18:10:43:603' +CREATE procedure [C6Mart].[GESTIONE_UPDATE_EMAIL_HOST] + @Email_Id int +AS +BEGIN + SET NOCOUNT ON; + UPDATE [C6Mart].GESTIONE_EMAIL + SET Data_Comunicazione_Host = getdate() + WHERE Email_Id = @Email_Id + RETURN @@ROWCOUNT +END + + + diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_UPDATE_EMAIL_INVIATE.sql b/sql/storedCollaudo/C6Mart_GESTIONE_UPDATE_EMAIL_INVIATE.sql new file mode 100644 index 00000000..aab2b20d --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_UPDATE_EMAIL_INVIATE.sql @@ -0,0 +1,46 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_UPDATE_EMAIL_INVIATE + +--exec [C6Mart].[Gestione_EMAIL_Inviate] @Email_Id=7,@DataInvio='2008-11-17 18:10:43:603' +CREATE procedure [C6Mart].[GESTIONE_UPDATE_EMAIL_INVIATE] + @Email_Id int, + @DataInvio datetime +AS +BEGIN + SET NOCOUNT ON; + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'GESTIONE_UPDATE_EMAIL_INVIATE', + GETDATE(), + 'Elaborazione giornaliera' + ) + + UPDATE [C6Mart].GESTIONE_EMAIL + SET Data_Invio = @DataInvio, + Inviata = 'S' + WHERE Email_Id = @Email_Id + RETURN @@ROWCOUNT + + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'GESTIONE_UPDATE_EMAIL_INVIATE' --AND + --Inizio = ( + -- SELECT + -- MAX(Inizio) + -- FROM + -- LOG_ESECUZIONE + -- WHERE + -- Nome = 'GESTIONE_UPDATE_EMAIL_INVIATE' + --) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_UPDATE_FTP.sql b/sql/storedCollaudo/C6Mart_GESTIONE_UPDATE_FTP.sql new file mode 100644 index 00000000..56b9f66a --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_UPDATE_FTP.sql @@ -0,0 +1,43 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_UPDATE_FTP + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- 22/12/2008 MODIFICA PER GESTIONE RISTAMPE +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_UPDATE_FTP] + @Id INT, + @TipoReport varchar(2), + @IdZip INT +AS +BEGIN + + + + + + IF @TipoReport <> 'LR' -- INVIO NORMALE + BEGIN + UPDATE C6Mart.GESTIONE_PDF_FTP + SET + DataInvio = GetDate(), + FlagInvio = 'S', + Id_fk_Zip = @IdZip + WHERE + IdReport = @Id + END + ELSE -- INVIO DI UNA RISTAMPA. TENGO TRACCIA SOLO DELL'ULTIMA DATA DI RISTAMPA + BEGIN + UPDATE C6Mart.GESTIONE_PDF_FTP + SET + DataInvioRistampa = GetDate(), + FlagInvio = 'S', + Id_fk_Zip = @IdZip + WHERE + IdReport = @Id + END +END + + diff --git a/sql/storedCollaudo/C6Mart_GESTIONE_UPDATE_ZIP.sql b/sql/storedCollaudo/C6Mart_GESTIONE_UPDATE_ZIP.sql new file mode 100644 index 00000000..a56da6ef --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GESTIONE_UPDATE_ZIP.sql @@ -0,0 +1,21 @@ +-- Schema: C6Mart +-- Stored Procedure: GESTIONE_UPDATE_ZIP + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_UPDATE_ZIP] + @Id int +AS +BEGIN + UPDATE C6Mart.GESTIONE_ZIP_FTP + SET + DataInvio = GetDate(), + FlagInvio = 'S' + WHERE + Id = @Id +END + + diff --git a/sql/storedCollaudo/C6Mart_GetRiskArea.sql b/sql/storedCollaudo/C6Mart_GetRiskArea.sql new file mode 100644 index 00000000..103f2b70 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_GetRiskArea.sql @@ -0,0 +1,34 @@ +-- Schema: C6Mart +-- Stored Procedure: GetRiskArea + + + + +--[C6Mart].[GetRiskArea] 'S', 'GLLRFL52L02L219D' +CREATE procedure [C6Mart].[GetRiskArea] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + select + + case + when b.profilo is null then -1 + else b.profilo + end as profiloCode + + FROM + c6mart.mifid a + left outer join C6Mart.CODIFICA_RISCHIO b + on A.PROFILO_ASS=B.PROFILO + WHERE + + a.COD_FISCALE = @CodiceFiscale + and a.RETE= @Rete + +END + + diff --git a/sql/storedCollaudo/C6Mart_InvioLetteraBenvenuto_ExcludedListApply.sql b/sql/storedCollaudo/C6Mart_InvioLetteraBenvenuto_ExcludedListApply.sql new file mode 100644 index 00000000..e24ff93f --- /dev/null +++ b/sql/storedCollaudo/C6Mart_InvioLetteraBenvenuto_ExcludedListApply.sql @@ -0,0 +1,49 @@ +-- Schema: C6Mart +-- Stored Procedure: InvioLetteraBenvenuto_ExcludedListApply + +CREATE procedure [C6Mart].[InvioLetteraBenvenuto_ExcludedListApply] +as +begin + +begin transaction +begin try + +--taking documents to update +select distinct rete, codicefiscale, idreport +into #tmp +from [C6Mart].[GESTIONE_PDF_FTP] p +where p.[DataInvio] is NULL and p.[FlagInvio] = 'N' and p.id_fk_zip = -1 + and CodiceFiscale in (select distinct CodiceFiscale from [C6Mart].[InvioLetteraBenvenuto_excludedlist] ) + +--'excluding' records from GESTIONE_PDF_FTP +update p +set p.[DataInvio] = getdate() + ,p.[FlagInvio] = 'S' + ,p.[id_fk_zip] = 999999 +from [C6Mart].[GESTIONE_PDF_FTP] p + inner join #tmp c on c.codicefiscale = p.codicefiscale + and c.rete = p.rete + and c.idreport = p.idreport + +--updating excludedlist, setting data_aggriogamento for records affected +update e +set e.Data_aggiornamento = getdate() +from [C6Mart].[InvioLetteraBenvenuto_excludedlist] e + inner join #tmp c on c.codicefiscale = e.codicefiscale + +commit transaction +end try + +begin catch + + DECLARE @Msg NVARCHAR(MAX) + SELECT @Msg=ERROR_MESSAGE() + + rollback transaction + + RAISERROR('Error Occured: %s', 20, 101,@msg) --WITH LOG + +end catch + +end + diff --git a/sql/storedCollaudo/C6Mart_PL_D2_FD150Anagrafica.sql b/sql/storedCollaudo/C6Mart_PL_D2_FD150Anagrafica.sql new file mode 100644 index 00000000..ee4e46a0 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_FD150Anagrafica.sql @@ -0,0 +1,119 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_FD150Anagrafica + + + + + + +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_FD150Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + null AS Professione, --ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, + +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, + +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + + --V Indirizzo Secondo AULETTA + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_INZIOAVANZATO) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + null AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + null AS ProduzioneReport,--DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + + CONTRATTOSEI.[Provincia] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.VCONTRATTI AS CONTRATTOSEI -- TABELLA BASE + INNER JOIN + C6MART.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MART.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + --LEFT JOIN + -- C6MART.ANAG_CLIENTI_PREV + -- ON + -- ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + -- AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + --LEFT JOIN + -- C6MART.DATI_REPORT + -- ON + -- ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + -- AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + WHERE 1 = 1 + AND ANAG_CLIENTI.RETE = @RETE + AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE + +END + + + + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D2_FD159PatrimonioFinanziario.sql b/sql/storedCollaudo/C6Mart_PL_D2_FD159PatrimonioFinanziario.sql new file mode 100644 index 00000000..a8852ae4 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_FD159PatrimonioFinanziario.sql @@ -0,0 +1,134 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_FD159PatrimonioFinanziario + + + + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_D2_S159PatrimonioFinanziario] 'F','02477630582' + CREATE procedure [C6Mart].[PL_D2_FD159PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(19,5)) AS Controvalore, + cast(A.Percentuale as decimal(19,5)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + --ELSE 'Banca Fideuram' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) + END + ) * 100 AS Percentuale + FROM ( + + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.PATRIMONIO_BF PATRBF + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + --and patrbf.id_area <> 'CC' + and patrbf.id_area not in ('CC','Self') + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + + UNION ALL + + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MART.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL + +-- UNION ALL + + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + UNION ALL + + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + ) VALORIASSET + INNER JOIN + C6M diff --git a/sql/storedCollaudo/C6Mart_PL_D2_FD160DettaglioProdottiBF.sql b/sql/storedCollaudo/C6Mart_PL_D2_FD160DettaglioProdottiBF.sql new file mode 100644 index 00000000..522c07d6 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_FD160DettaglioProdottiBF.sql @@ -0,0 +1,102 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_FD160DettaglioProdottiBF + + + + + + + + + + + + + + +create procedure [C6Mart].[PL_D2_FD160DettaglioProdottiBF] --'F','CHRMNL86P18H657Z' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT +PATRBF.NOME_PROGETTO AS EE, PATRBF.ID_AREA, +CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID AS TMP, + CASE + when robo.isProgettoRobo='S' then 'Rob' + else 'ASF' + END AS needarea, + CASE + when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + --WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + --ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + WHEN patrbf.tipo_prodotto='CC' THEN 10 -- lo setto ad un valore alto in modo che si trova in basso come ordinamento + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY robo.isProgettoRobo) AS somma_controval_needarea, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY robo.isProgettoRobo) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY robo.isProgettoRobo) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY robo.isProgettoRobo) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS versato_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' + THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS MinusPlusValenza_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' diff --git a/sql/storedCollaudo/C6Mart_PL_D2_FD170RischioDiversificazione.sql b/sql/storedCollaudo/C6Mart_PL_D2_FD170RischioDiversificazione.sql new file mode 100644 index 00000000..0382a495 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_FD170RischioDiversificazione.sql @@ -0,0 +1,142 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_FD170RischioDiversificazione + + + + +-- [C6Mart].[PL_D_S170RischioDiversificazione] 'S','02148400126' + +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) + +CREATE procedure [C6Mart].[PL_D2_FD170RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + + declare @contaCCSelf as int + + select @contaCCSelf = count(*) + from C6MART.patrimonio_Bf + where tipo_prodotto = 'CC' or isin in('EURO00000009', 'EURO10000007' ) and cod_fiscale = @codiceFiscale and rete = @rete + + + declare @contaPOS as int + + select @contaPOS = count(*) + from C6MART.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6mart.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6mart.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + + -- Complessit + declare @maxComplessita as int + select @maxComplessita = max(compl_base) from [C6Mart].[TB_S180ProdottiComplessitaAlta] + where + cod_fiscale like + CASE when @CodiceFiscale like '%FF@%'THEN '%%' + ELSE @CodiceFiscale + END + and codman = + CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + ELSE '' + END + + and rete= @Rete + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + and compl_base <> 10 + -- + +SELECT + K.COD_FISCALE, + K.RETE, + CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 + END AS CTV_AGGREG, + K.CREDITRISK, + +CASE + WHEN (@contaPOS - @contaCCSelf = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, + +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contaCCSelf <> 0 THEN 'n.c.' ELSE NULL END +as varString, + +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contaCCSelf <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, + +beneficio as diversificazione, + +CASE + WHEN (@contaPOS - @contaCCSelf = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, + +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' when k.rete = 'S' then 'Sanpaolo Invest' else 'IW Private Inv.' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, + +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, + +b.max_var as var_profilo, + +------------------------ MIFID2 - 20180711 +case @maxComplessita + when 0 then 'Non complesso' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + else 'n.c.' +end +as complessita, +------------------------- FINE MIFID2 - 20180711 + + +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM C6MART.RISCHIO_AGGREGATO K +left outer JOIN C6MART.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete +left outer join C6MART.CODIFICA_RISCHIO b + ON A.PROFILO_ASS=B.PROFILO + +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG I diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S150Anagrafica.sql b/sql/storedCollaudo/C6Mart_PL_D2_S150Anagrafica.sql new file mode 100644 index 00000000..6e56a315 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S150Anagrafica.sql @@ -0,0 +1,118 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S150Anagrafica + + + + + +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S150Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + null AS Professione, --ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, + +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, + +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + + --V Indirizzo Secondo AULETTA + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_INZIOAVANZATO) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + null AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + null AS ProduzioneReport,--DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + + CONTRATTOSEI.[Provincia] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.VCONTRATTI AS CONTRATTOSEI -- TABELLA BASE + INNER JOIN + C6MART.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MART.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + --LEFT JOIN + -- C6MART.ANAG_CLIENTI_PREV + -- ON + -- ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + -- AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + --LEFT JOIN + -- C6MART.DATI_REPORT + -- ON + -- ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + -- AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + WHERE 1 = 1 + AND ANAG_CLIENTI.RETE = @RETE + AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE + +END + + + + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S151ProfiloDiRischio.sql b/sql/storedCollaudo/C6Mart_PL_D2_S151ProfiloDiRischio.sql new file mode 100644 index 00000000..23967eef --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S151ProfiloDiRischio.sql @@ -0,0 +1,62 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S151ProfiloDiRischio + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S151ProfiloDiRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + + + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MART.MIFID AS M + INNER JOIN C6MART.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskclass, + @experience as experince + +END + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S152Patrimonio.sql b/sql/storedCollaudo/C6Mart_PL_D2_S152Patrimonio.sql new file mode 100644 index 00000000..114089c0 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S152Patrimonio.sql @@ -0,0 +1,130 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S152Patrimonio + + + + + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S152Patrimonio] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + declare @PatrimonioImmobiliareProQuota decimal(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + + SELECT + @PatrimonioBF = SUM(CTV) + FROM + C6MART.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area NOT IN ('CC','self') --escludo il cc negativo + +-- SELECT @Part_viaggianti=SUM(IMPORTO) +-- FROM C6MART.PARTITE_VIAGGIANTI partvia +-- WHERE +-- partvia.Rete = @Rete +-- and partvia.Cod_Fiscale = @CodiceFiscale + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6MART.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6MART.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + + + SELECT + @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM + C6MART.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + + + SELECT + @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM + C6MART.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + + SELECT + @PatrimonioImmobiliareProQuota = isnull(SUM(patrImm.VALORE_STIMATO_PROQUOTA), 0) + FROM + C6MART.PATRIMONIO_IMMOBILIARE_ProQuota patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + + SELECT + @PatrimonioAltro = SUM(patrAltro.ctv) + FROM + C6MART.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + + + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + + + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV, + @PatrimonioImmobiliareProQuota as ImmobiliarePQCTV + +END + + + + + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S152Patrimonio_20190107_ProQuota.sql b/sql/storedCollaudo/C6Mart_PL_D2_S152Patrimonio_20190107_ProQuota.sql new file mode 100644 index 00000000..867ddab1 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S152Patrimonio_20190107_ProQuota.sql @@ -0,0 +1,128 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S152Patrimonio_20190107_ProQuota + + + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S152Patrimonio_20190107_ProQuota] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + declare @PatrimonioImmobiliareProQuota decimal(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + + SELECT + @PatrimonioBF = SUM(CTV) + FROM + C6MART.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area NOT IN ('CC','self') --escludo il cc negativo + +-- SELECT @Part_viaggianti=SUM(IMPORTO) +-- FROM C6MART.PARTITE_VIAGGIANTI partvia +-- WHERE +-- partvia.Rete = @Rete +-- and partvia.Cod_Fiscale = @CodiceFiscale + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6MART.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6MART.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + + + SELECT + @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM + C6MART.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + + + SELECT + @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM + C6MART.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + + SELECT + @PatrimonioImmobiliareProQuota = SUM(patrImm.VALORE_STIMATO_PROQUOTA) + FROM + C6MART.PATRIMONIO_IMMOBILIARE_ProQuota patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + + SELECT + @PatrimonioAltro = SUM(patrAltro.ctv) + FROM + C6MART.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + + + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + + + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV, + @PatrimonioImmobiliareProQuota as ImmobiliarePQCTV + +END + + + + + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S152Patrimonio_20190111.sql b/sql/storedCollaudo/C6Mart_PL_D2_S152Patrimonio_20190111.sql new file mode 100644 index 00000000..4e9cbcea --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S152Patrimonio_20190111.sql @@ -0,0 +1,118 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S152Patrimonio_20190111 + + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S152Patrimonio_20190111] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + + SELECT + @PatrimonioBF = SUM(CTV) + FROM + C6MART.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area NOT IN ('CC','self') --escludo il cc negativo + +-- SELECT @Part_viaggianti=SUM(IMPORTO) +-- FROM C6MART.PARTITE_VIAGGIANTI partvia +-- WHERE +-- partvia.Rete = @Rete +-- and partvia.Cod_Fiscale = @CodiceFiscale + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6MART.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6MART.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + + + SELECT + @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM + C6MART.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + + + SELECT + @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM + C6MART.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + + + SELECT + @PatrimonioAltro = SUM(patrAltro.ctv) + FROM + C6MART.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + + + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + + + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV + +END + + + + + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S153PatrimonioFinanziario.sql b/sql/storedCollaudo/C6Mart_PL_D2_S153PatrimonioFinanziario.sql new file mode 100644 index 00000000..21a75433 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S153PatrimonioFinanziario.sql @@ -0,0 +1,164 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S153PatrimonioFinanziario + + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S153PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + + DECLARE @NOMERETE VARCHAR(30) + + IF @Rete = 'F' + SET @NOMERETE = 'Fideuram' + ELSE IF @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + + SELECT + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Intermediario, + Ordine, + @NOMERETE AS Banca, + -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv + SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine)) / + (SUM(ctv) over (partition by 'Totale')) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + @NOMERETE AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MART.PATRIMONIO_BF patrBF +-- LEFT JOIN C6MART.ClientiConCCNegativo CCNegativo +-- ON PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- AND PATRBF.TIPO_PRODOTTO = 'CC' + WHERE 1 = 1 + AND patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO + and patrBF.id_area not in ('cc','self') + UNION ALL + + + + SELECT + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MART.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + AND patrTerzi.Rete = @Rete + AND patrTerzi.Cod_Fiscale = @CodiceFiscale + GROUP BY patrTerzi.Intermediario + + ) PATR + + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine + +END + + + + + + + + + + + + + + + + +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D2_S153PatrimonioFinanziario] Script Date: 08/02/2022 17:25:02 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO + +---- Stored procedure + +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +--ALTER procedure [C6Mart].[PL_D2_S153PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from + +-- DECLARE @NOMERETE VARCHAR(20) + +-- IF @Rete = 'F' +-- SET @NOMERETE = 'Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' + +-- SELECT +-- Intermediario, +-- Ordine, +-- Banca, +-- Controvalore, +-- round(Percentuale,2) as Percentuale +-- FROM +-- ( +-- SELECT DISTINCT +-- Intermediario, +-- Ordine, +-- @NOMERETE AS Banca, +-- -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv +-- SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, +-- ( +-- (SUM(ctv) over (partition by Intermediario,Ordine)) / +-- (SUM(ctv) over (partition by 'Totale')) +-- ) * 100 AS PERCENTUALE +-- FROM +-- ( +-- SELECT +-- @NOMERETE AS Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 1 AS ordine +-- FROM C6MART.PATRIMONIO_BF patrBF +---- LEFT JOIN C6MART.ClientiConCCNegativo CCNegativo +---- ON PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- AND PATRBF.TIPO_PRODOTTO = 'CC' +-- WHERE 1 = 1 +-- AND patrBF.Rete = @Rete +-- AND patrBF.Cod_Fiscale = @CodiceFiscale +-- --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO +-- and patrBF.id_area not in ('cc','self') +-- UNION ALL + diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S154PatrimonioFinanziario.sql b/sql/storedCollaudo/C6Mart_PL_D2_S154PatrimonioFinanziario.sql new file mode 100644 index 00000000..5a15d8db --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S154PatrimonioFinanziario.sql @@ -0,0 +1,164 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S154PatrimonioFinanziario + + +-- Stored procedure + + +-- ============================================= +-- Author: Luca De Lisio +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_DT_S154PatrimonioFinanziario] 'F','LNTNNE59L06F205C' +CREATE procedure [C6Mart].[PL_D2_S154PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + +SELECT + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + + --PRODOTTI BF ESCLUSI GLI ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.PATRIMONIO_BF PATRBF + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + + UNION ALL + + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT + + + + + + + + + + + + + + + + + + + + + + + + + + + +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MART.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL + +-- UNION ALL + --DETTAGLIO ASUL SENZA SKANDIA + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + UNION ALL + --CON SKANDIA + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + + UNION ALL + + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTE diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S155PatrimonioImmobiliare.sql b/sql/storedCollaudo/C6Mart_PL_D2_S155PatrimonioImmobiliare.sql new file mode 100644 index 00000000..6af3b07f --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S155PatrimonioImmobiliare.sql @@ -0,0 +1,57 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S155PatrimonioImmobiliare + + + + + + +CREATE procedure [C6Mart].[PL_D2_S155PatrimonioImmobiliare] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + + select + Descrizione, + Tipologia, + Localita, + AffittoPercepito, + Valore_stimato as Valore, + sum(Valore_stimato) OVER (PARTITION BY 'Valore_stimato') as Totale, + sum(AffittoPercepito) OVER (PARTITION BY 'AffittoPercepito') as TotaleAffitto, + + + Tipologia_Diritto as TipologiaDiritto, + ProQuota, + + Valore_Stimato_ProQuota as Valore_ProQuota, + sum(Valore_Stimato_ProQuota) over (partition by 'Valore_Stimato_ProQuota') as TotaleProQuota + + + from C6MART.PATRIMONIO_IMMOBILIARE_ProQuota + where Rete = @Rete + and COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC + + + --SELECT + -- PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + -- PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + -- PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + -- isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + -- PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + -- SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + -- SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + --FROM C6MART.PATRIMONIO_IMMOBILIARE + --WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + -- AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + --ORDER BY 5 DESC +END + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190107_ProQuota.sql b/sql/storedCollaudo/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190107_ProQuota.sql new file mode 100644 index 00000000..3654ba13 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190107_ProQuota.sql @@ -0,0 +1,40 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S155PatrimonioImmobiliare_20190107_ProQuota + + + + + + +CREATE procedure [C6Mart].[PL_D2_S155PatrimonioImmobiliare_20190107_ProQuota] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + SELECT + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto, + PATRIMONIO_IMMOBILIARE_PROQUOTA.Valore_Stimato_ProQuota AS ValoreProQuota, + PATRIMONIO_IMMOBILIARE_PROQUOTA.Tipologia_Diritto as TipologiaDiritto, + PATRIMONIO_IMMOBILIARE_PROQUOTA.ProQuota as ProQuota, + SUM(PATRIMONIO_IMMOBILIARE_PROQUOTA.VALORE_STIMATO_PROQUOTA) OVER (PARTITION BY 'TotaleProQuota') as TotaleProQuota + from C6MART.PATRIMONIO_IMMOBILIARE PATRIMONIO_IMMOBILIARE + left join C6Mart.Patrimonio_Immobiliare_ProQuota PATRIMONIO_IMMOBILIARE_PROQUOTA + on PATRIMONIO_IMMOBILIARE.RETE = PATRIMONIO_IMMOBILIARE_PROQUOTA.RETE + and PATRIMONIO_IMMOBILIARE.COD_FISCALE = PATRIMONIO_IMMOBILIARE_PROQUOTA.COD_FISCALE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +END + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190111.sql b/sql/storedCollaudo/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190111.sql new file mode 100644 index 00000000..6558178a --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190111.sql @@ -0,0 +1,31 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S155PatrimonioImmobiliare_20190111 + + + + +CREATE procedure [C6Mart].[PL_D2_S155PatrimonioImmobiliare_20190111] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + SELECT + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + FROM C6MART.PATRIMONIO_IMMOBILIARE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +END + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S156ALtroPatrimonio.sql b/sql/storedCollaudo/C6Mart_PL_D2_S156ALtroPatrimonio.sql new file mode 100644 index 00000000..14365b49 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S156ALtroPatrimonio.sql @@ -0,0 +1,33 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S156ALtroPatrimonio + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S156ALtroPatrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + SELECT + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM + C6MART.PATRIMONIO_ALTRO + WHERE + PATRIMONIO_ALTRO.RETE = @Rete + AND PATRIMONIO_ALTRO.COD_FISCALE = @CodiceFiscale + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +END + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S157ConfrontoPiramidi.sql b/sql/storedCollaudo/C6Mart_PL_D2_S157ConfrontoPiramidi.sql new file mode 100644 index 00000000..643e2177 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S157ConfrontoPiramidi.sql @@ -0,0 +1,130 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S157ConfrontoPiramidi + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +-- ============================================= +-- [C6MART].[PL_D2_S157ConfrontoPiramidi] 'F','ZCCLNR58P49H501R' +CREATE procedure [C6Mart].[PL_D2_S157ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + SUM (isnull(PIRAMIDE_MOD.PERC_AREA,0)) as PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MART.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + --LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MART.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + --RETE, COD_FISCALE, LEFT(ID_AREA,3) + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','CC','NA','SELF','INV') + + -- OR (PIRAMIDE_MOD.ID_AREA = 'INV')) --AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) --- 16/09 ** DA VERIFICARE + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + group by PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_VERT.CTV_AREA + + + IF(@@ROWCOUNT>0) + BEGIN + + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc','Self','LIGHT','VOID') + --V + DECLARE @TOTCCSELF AS INT + SELECT @TOTCCSELF = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + --AND TIPO_PRODOTTO = 'Cc' + AND (TIPO_PRODOTTO = 'Cc' OR ISIN in('EURO00000009', 'EURO10000007') ) + +--INIZIO INTERVENTI OMNIA quiii2 + DECLARE @TOTSELF AS INT + SELECT @TOTSELF = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') +--FINE INTERVENTI OMNIA quiii2 + + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql b/sql/storedCollaudo/C6Mart_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql new file mode 100644 index 00000000..efde19b9 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql @@ -0,0 +1,128 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6MART].[PL_D_S157ConfrontoPiramidi] 'F','PGGFNC33S27H861U' +CREATE procedure [C6Mart].[PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MART.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + --LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MART.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + --RETE, COD_FISCALE, LEFT(ID_AREA,3) + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + + + IF(@@ROWCOUNT>0) + BEGIN + + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc','Self') + --V + DECLARE @TOTCCSELF AS INT + SELECT @TOTCCSELF = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + --AND TIPO_PRODOTTO = 'Cc' + AND (TIPO_PRODOTTO = 'Cc' OR ISIN = 'EURO00000009' ) + +--INIZIO INTERVENTI OMNIA quiii2 + DECLARE @TOTSELF AS INT + SELECT @TOTSELF = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' +--FINE INTERVENTI OMNIA quiii2 + + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreA diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S158PiramideModello.sql b/sql/storedCollaudo/C6Mart_PL_D2_S158PiramideModello.sql new file mode 100644 index 00000000..196752d5 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S158PiramideModello.sql @@ -0,0 +1,65 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S158PiramideModello + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_D2_S158PiramideModello] 'S','MRCMRA47C26A241D' +CREATE procedure [C6Mart].[PL_D2_S158PiramideModello] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + --SELECT BF.NOME_PROGETTO AS NomePrg, + -- PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + -- AGGR.VAR_PERC_PTF as VarPrg, + -- SUM(BF.CTV)AS ControvalorePrg + --FROM C6Mart.PATRIMONIO_BF BF + --INNER JOIN C6Mart.RISCHIO_AGGREGATO AGGR + -- ON BF.RETE= AGGR.RETE + -- AND BF.COD_FISCALE= AGGR.COD_FISCALE + -- AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO + --INNER JOIN C6Mart.PIRAMIDE_MOD PIRMOD + -- ON BF.RETE= PIRMOD.RETE + -- AND BF.COD_FISCALE= PIRMOD.COD_FISCALE + -- AND BF.ID_AREA = PIRMOD.ID_AREA + -- AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + --WHERE 1=1 + --AND BF.ID_AREA = 'inv' + --AND BF.RETE = @Rete + --AND BF.COD_FISCALE = @CodiceFiscale + --AND BF.CTV > 0 + --group BY BF.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,AGGR.VAR_PERC_PTF + + SELECT + PIRMOD.NOME_PROGETTO AS NomePrg, + PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + ISNULL(T.VAR_PERC_PTF,0) as VarPrg, + ISNULL(SUM(T.CTV),0) AS ControvalorePrg + FROM C6Mart.PIRAMIDE_MOD PIRMOD + LEFT JOIN + (SELECT BF.RETE, BF.COD_FISCALE,BF.ID_AREA,BF.NOME_PROGETTO,AGGR.VAR_PERC_PTF,BF.CTV FROM C6Mart.PATRIMONIO_BF BF + INNER JOIN C6Mart.RISCHIO_AGGREGATO AGGR + ON BF.RETE= AGGR.RETE + AND BF.COD_FISCALE= AGGR.COD_FISCALE + AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO) T + ON PIRMOD.ID_AREA = T.ID_AREA + AND PIRMOD.COD_FISCALE = T.COD_FISCALE + AND PIRMOD.RETE = T.RETE + AND PIRMOD.NOME_PROGETTO = T.NOME_PROGETTO + WHERE + PIRMOD.ID_AREA = 'inv' + AND T.CTV > 0 + AND PIRMOD.RETE = @Rete + AND PIRMOD.COD_FISCALE = @CodiceFiscale + GROUP BY PIRMOD.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,T.VAR_PERC_PTF + + +END + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S159PatrimonioFinanziario.sql b/sql/storedCollaudo/C6Mart_PL_D2_S159PatrimonioFinanziario.sql new file mode 100644 index 00000000..cbeb1b63 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S159PatrimonioFinanziario.sql @@ -0,0 +1,133 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S159PatrimonioFinanziario + + + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_D2_S159PatrimonioFinanziario] 'F','02477630582' + CREATE procedure [C6Mart].[PL_D2_S159PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(19,5)) AS Controvalore, + cast(A.Percentuale as decimal(19,5)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + --ELSE 'Banca Fideuram' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) + END + ) * 100 AS Percentuale + FROM ( + + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.PATRIMONIO_BF PATRBF + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + --and patrbf.id_area <> 'CC' + and patrbf.id_area not in ('CC','Self') + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + + UNION ALL + + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MART.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL + +-- UNION ALL + + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + UNION ALL + + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + ) VALORIASSET + INNER JOIN + C6MART diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S160DettaglioProdottiBF.sql b/sql/storedCollaudo/C6Mart_PL_D2_S160DettaglioProdottiBF.sql new file mode 100644 index 00000000..ac5f681b --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S160DettaglioProdottiBF.sql @@ -0,0 +1,93 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S160DettaglioProdottiBF + + + +CREATE procedure [C6Mart].[PL_D2_S160DettaglioProdottiBF] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT +PATRBF.NOME_PROGETTO AS EE, PATRBF.ID_AREA, +CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID AS TMP, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA + END AS needarea, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS versato_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' + THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS MinusPlusValenza_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenza_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AG diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql b/sql/storedCollaudo/C6Mart_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql new file mode 100644 index 00000000..8b342d02 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql @@ -0,0 +1,98 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli + + + + + +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- cast(C6Mart.ANAG_CC.SALDO as decimal(15,2)) as Controvalore +-- C6Mart.PL_D2_S160DettaglioProdottiBF 'F', 'GSTGPL59P03B586G' +--SELECT * FROM PATR1 + +CREATE procedure [C6Mart].[PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT +PATRBF.NOME_PROGETTO AS EE, PATRBF.ID_AREA, +CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID AS TMP, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA + END AS needarea, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS versato_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' + THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS MinusPlusValenza_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NE diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S162DettaglioProdotti.sql b/sql/storedCollaudo/C6Mart_PL_D2_S162DettaglioProdotti.sql new file mode 100644 index 00000000..ec9dc118 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S162DettaglioProdotti.sql @@ -0,0 +1,100 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S162DettaglioProdotti + + + +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S162DettaglioProdotti] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + SELECT + + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6MART.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOAGGREG + ON + PATRTERZI.RETE = RISCHIOAGGREG.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGREG.COD_FI diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql b/sql/storedCollaudo/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..2c659617 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,79 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S163PatrimonioFinanziarioMAssetClass + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S163PatrimonioFinanziarioMAssetClass] +( @Rete char(1), + @CodiceFiscale varchar(16) + )as + begin + SELECT DISTINCT + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + ( + case when SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') = 0 then 1 else + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + end + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + + UNION ALL + + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + + ) VALORIASSET + INNER JOIN C6MART.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + ORDER BY + ASSETCLASS.ORDINAMENTO + +END + + + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass_NEW_20160908.sql b/sql/storedCollaudo/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass_NEW_20160908.sql new file mode 100644 index 00000000..c201a10d --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass_NEW_20160908.sql @@ -0,0 +1,68 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S163PatrimonioFinanziarioMAssetClass_NEW_20160908 + + +CREATE procedure [C6Mart].[PL_D2_S163PatrimonioFinanziarioMAssetClass_NEW_20160908] +( @Rete char(1), + @CodiceFiscale varchar(16) + )as + begin + SELECT DISTINCT + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + ( + case when SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') = 0 then 0 else + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + end + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + + UNION ALL + + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + + ) VALORIASSET + INNER JOIN C6MART.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + ORDER BY + ASSETCLASS.ORDINAMENTO + +END + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S164PolizzeAltriIstituti.sql b/sql/storedCollaudo/C6Mart_PL_D2_S164PolizzeAltriIstituti.sql new file mode 100644 index 00000000..f542caec --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S164PolizzeAltriIstituti.sql @@ -0,0 +1,44 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S164PolizzeAltriIstituti + + +-- ============================================= +-- Author: Marco Gentilezza +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S164PolizzeAltriIstituti] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + SELECT + + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + + FROM + C6MART.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MART.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' + WHERE PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + +END + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S165FondiAltriIstituti.sql b/sql/storedCollaudo/C6Mart_PL_D2_S165FondiAltriIstituti.sql new file mode 100644 index 00000000..d4f5a7af --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S165FondiAltriIstituti.sql @@ -0,0 +1,75 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S165FondiAltriIstituti + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S165FondiAltriIstituti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + + FROM + C6MART.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MART.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + WHERE + PATRTERZI.rete = @Rete + and PATRTERZI.cod_fiscale = @CodiceFiscale + --AND PATRTERZI.TIPO_PRODOTTO = 'Fondi pensione' + + + +END + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S166ContoCorrenteAI.sql b/sql/storedCollaudo/C6Mart_PL_D2_S166ContoCorrenteAI.sql new file mode 100644 index 00000000..dde8c62b --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S166ContoCorrenteAI.sql @@ -0,0 +1,38 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S166ContoCorrenteAI + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S166ContoCorrenteAI] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + SELECT + CCTerzi.INTERMEDIARIO AS Intermediario, + CCTerzi.COD_CC AS ContoCorrente, + CCTerzi.SALDO AS Saldo, + null as creditrisk, + 'n.a.' as creditriskstring, + 0.00 as var + FROM + C6MART.ANAG_CC_Terzi CCTerzi + WHERE + CCTerzi.rete= @Rete + AND CCTerzi.cod_fiscale= @CodiceFiscale + +END + + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S167DistribuzioneRischioCredito.sql b/sql/storedCollaudo/C6Mart_PL_D2_S167DistribuzioneRischioCredito.sql new file mode 100644 index 00000000..bdad8f6a --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S167DistribuzioneRischioCredito.sql @@ -0,0 +1,117 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S167DistribuzioneRischioCredito + + + + +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= + + +-- [C6Mart].[PL_D_S167DistribuzioneRischioCredito] 'F','BRGGRL48H52G096C' +CREATE procedure [C6Mart].[PL_D2_S167DistribuzioneRischioCredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest', 'IW Private Investments') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, + +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, + +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' WHEN PATRBF.RETE = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS INTERMEDIARIO, +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS ctv + +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +--where id_Area='Cc' +where id_Area in ('Cc','Self') + +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MART.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MART.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE D diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S168TabellaEmittenti.sql b/sql/storedCollaudo/C6Mart_PL_D2_S168TabellaEmittenti.sql new file mode 100644 index 00000000..b9872820 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S168TabellaEmittenti.sql @@ -0,0 +1,147 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S168TabellaEmittenti + + + + + +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6Mart].[PL_D_S168TabellaEmittenti] 'F','FF@7181' +CREATE procedure [C6Mart].[PL_D2_S168TabellaEmittenti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + +declare @patr_compl decimal(18,3) + + +select @patr_compl=sum(ctv_prodotto) from +C6Mart.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 + +SELECT + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( + + +-- PER INTERMEDIARIO + + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S169RischiomercatoRischiocredito.sql b/sql/storedCollaudo/C6Mart_PL_D2_S169RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..ccc252fc --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S169RischiomercatoRischiocredito.sql @@ -0,0 +1,135 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S169RischiomercatoRischiocredito + + + + +CREATE procedure [C6Mart].[PL_D2_S169RischiomercatoRischiocredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + C6MART.patrimonio_bf PATRBF,C6MART.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.cod_fiscale = @codiceFiscale + and PATRBF.rete= @rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END + + + UNION + + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + C6MART.PATRIMONIO_TERZI TERZI,C6MART.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.cod_fiscale =@codiceFiscale + and TERZI.rete=@rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + + ) PATRBF + LEFT OUTER JOIN + C6MART.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN C6MART.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + C6MART.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'W' t diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S170RischioDiversificazione.sql b/sql/storedCollaudo/C6Mart_PL_D2_S170RischioDiversificazione.sql new file mode 100644 index 00000000..aee7e287 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S170RischioDiversificazione.sql @@ -0,0 +1,143 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S170RischioDiversificazione + + + + + +-- [C6Mart].[PL_D_S170RischioDiversificazione] 'S','02148400126' + +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) + +CREATE procedure [C6Mart].[PL_D2_S170RischioDiversificazione]--'F','05228020268' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + + declare @contaCCSelf as int + + select @contaCCSelf = count(*) + from C6MART.patrimonio_Bf + where tipo_prodotto = 'CC' or isin in('EURO00000009', 'EURO10000007' ) and cod_fiscale = @codiceFiscale and rete = @rete + + + declare @contaPOS as int + + select @contaPOS = count(*) + from C6MART.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6mart.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6mart.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + + -- Complessit + declare @maxComplessita as int + select @maxComplessita = max(compl_base) from [C6Mart].[TB_S180ProdottiComplessitaAlta] + where + cod_fiscale like + CASE when @CodiceFiscale like '%FF@%'THEN '%%' + ELSE @CodiceFiscale + END + and codman = + CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + ELSE '' + END + + and rete= @Rete + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + and compl_base <> 10 + -- + +SELECT + K.COD_FISCALE, + K.RETE, + CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 + END AS CTV_AGGREG, + K.CREDITRISK, + +CASE + WHEN (@contaPOS - @contaCCSelf = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, + +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contaCCSelf <> 0 THEN 'n.c.' ELSE NULL END +as varString, + +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contaCCSelf <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, + +beneficio as diversificazione, + +CASE + WHEN (@contaPOS - @contaCCSelf = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, + +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' when k.rete = 'S' then 'Sanpaolo Invest' else 'IW Private Inv.' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, + +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, + +b.max_var as var_profilo, + +------------------------ MIFID2 - 20180711 +case @maxComplessita + + when 0 then 'Non complesso' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + else 'n.c.' +end +as complessita, +------------------------- FINE MIFID2 - 20180711 + + +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM C6MART.RISCHIO_AGGREGATO K +left outer JOIN C6MART.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete +left outer join C6MART.CODIFICA_RISCHIO b + ON A.PROFILO_ASS=B.PROFILO + +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD diff --git a/sql/storedCollaudo/C6Mart_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql b/sql/storedCollaudo/C6Mart_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..05c4a650 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,134 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D2_S171PatrimonioNonRappresentabileAssettClass + + + +-- ============================================= +-- Author: +-- Create date: 30/08/2013 +-- Description: uguale a S76 +-- ============================================= +--[C6Mart].[PL_D_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +CREATE procedure [C6Mart].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Fideuram' + ELSE if @RETE ='S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario, + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + --INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <> 0.00 + --INIZIO INTERVENTI OMNIA + UNION ALL + + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario, + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MART.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO , + patrbf.tipo_prodotto --as Tipo_Prodotto + ORDER BY CONTROVALORE DESC + +END + + + + + + + + + +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] Script Date: 08/02/2022 16:46:45 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO + +---- ============================================= +---- Author: +---- Create date: 30/08/2013 +---- Description: uguale a S76 +---- ============================================= +----[C6Mart].[PL_D_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +--ALTER procedure [C6Mart].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) + +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. + +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @RETE = 'F' +-- SET @NOMERETE = 'Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' + +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- PATRBF.CTV as Controvalore, +-- diff --git a/sql/storedCollaudo/C6Mart_PL_D3_FD151ProfiloDiRischio.sql b/sql/storedCollaudo/C6Mart_PL_D3_FD151ProfiloDiRischio.sql new file mode 100644 index 00000000..8430ea55 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D3_FD151ProfiloDiRischio.sql @@ -0,0 +1,88 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D3_FD151ProfiloDiRischio + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D3_FD151ProfiloDiRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenzaProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @descrizioneProfilo VARCHAR(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza VARCHAR(100) + DECLARE @riserva decimal(13,2) + DECLARE @inv_l_p decimal(5,2) + + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenzaProfilo = M.DATA_FINE_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + else '-' + end, + @riserva=m.importoriserva, + @inv_l_p=m.perclungoperiodo + FROM + C6MART.MIFID AS M + INNER JOIN C6MART.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (convert(datetime, @dataScadenzaProfilo)) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as descrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as DescrizioneEsperienza, + @riserva as Riserva, + @inv_l_p as Inv_L_P +END + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D3_S151ProfiloDiRischio.sql b/sql/storedCollaudo/C6Mart_PL_D3_S151ProfiloDiRischio.sql new file mode 100644 index 00000000..da256b6d --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D3_S151ProfiloDiRischio.sql @@ -0,0 +1,92 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D3_S151ProfiloDiRischio + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D3_S151ProfiloDiRischio] --'F','LVTPLA70C62C523L' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenzaProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @descrizioneProfilo VARCHAR(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza VARCHAR(100) + DECLARE @riserva decimal(13,2) + DECLARE @inv_l_p decimal(5,2) + + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenzaProfilo = M.DATA_FINE_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + --when 5 then 'Alta' + else '-' + end, + @riserva=m.importoriserva, + @inv_l_p=m.perclungoperiodo + FROM + C6MART.MIFID AS M + INNER JOIN C6MART.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (convert(datetime, @dataScadenzaProfilo)) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as descrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as DescrizioneEsperienza, + @riserva as Riserva, + @inv_l_p as Inv_L_P + +END + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql b/sql/storedCollaudo/C6Mart_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql new file mode 100644 index 00000000..a6e7da4d --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql @@ -0,0 +1,88 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_FD177ProfiloDiRischio_Adeguatezza + + + + + + + + +--[C6Mart].[PL_D_S177ProfiloDiRischio_Adeguatezza] 'F', 'DVTMRA58B09F839W' +CREATE procedure [C6Mart].[PL_D_FD177ProfiloDiRischio_Adeguatezza] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + + SET NOCOUNT ON; + + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenza DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + declare @descrizioneProfilo varchar(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @riskclassDescr VARCHAR(250) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza varchar(20) + DECLARE @riserva decimal(13,2) + DECLARE @inv_l_p decimal(5,2) + + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenza = M.DATA_FINE_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + else '-' + end, + @riserva=isnull(importoriserva,0.00), + @inv_l_p=isnull(perclungoperiodo,0.00)--@inv_l_p='58.00' + FROM + C6Mart.MIFID AS M + INNER JOIN C6Mart.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + + + -- RICERCA DATA FINE VALIDITA' + declare @dtfinval decimal(9,0) + + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (@dataScadenza) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as DescrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as descrizioneEsperienza, + @riserva as riserva, + @inv_l_p as investimento_l_periodo + +END + + diff --git a/sql/storedCollaudo/C6Mart_PL_D_FD178IndicatoriEsitoAdeguatezza.sql b/sql/storedCollaudo/C6Mart_PL_D_FD178IndicatoriEsitoAdeguatezza.sql new file mode 100644 index 00000000..14e991f0 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_FD178IndicatoriEsitoAdeguatezza.sql @@ -0,0 +1,115 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_FD178IndicatoriEsitoAdeguatezza + + + + + + + + +--[C6Mart].[PL_D_S178IndicatoriEsitoAdeguatezza] 'F', 'MTTSRA00H61D704A' +CREATE procedure [C6Mart].[PL_D_FD178IndicatoriEsitoAdeguatezza] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +------- PARTE FINTA DA ELIMINARE + +--declare @flagProf varchar(1) + +--select @flagProf = TipoConsulenza from c6mart.vContratti where Rete = @Rete and Cod_Fiscale = @CodiceFiscale + +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Il livello di concentrazione degli emittenti presenti nel suo portafoglio ADEGUATO in quanto tutti gli emittenti sono presenti in misura inferiore rispetto ai limiti stabiliti dalla Banca.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 3; + +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'La complessit dei singoli strumenti detenuti nel suo portafoglio ADEGUATA in quanto coerente con il suo livello di esperienza e conoscenza in materia di investimenti.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 4; + +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Il livello di concentrazione di prodotti complessi nel suo portafoglio ADEGUATO in quanto inferiore al limite massimo stabilito dalla Banca e coerente rispetto al patrimonio minimo di portafoglio amministrato.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 5; + +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Il numero delle operazioni effettuate ADEGUATO in quanto inferiore rispetto ai limiti stabiliti dalla Banca in base allentit del portafoglio amministrato e al suo livello di esperienza e conoscenza in materia dinvestimenti.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 6; + +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Le caratteristiche di durata e liquidit dei prodotti presenti nel suo portafoglio sono ADEGUATE in quanto coerenti con la ripartizione del patrimonio negli orizzonti temporali indicata nel questionario di profilatura.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 7; + +--if @flagProf = 'P' +-- begin +-- select +-- ti_ordine as Ordine, +-- ti_indicatore as Indicatore, +-- ti_adeguato as Adeguato, +-- ti_descrizione as DescrizioneEsito +-- from #TABELLAINDICATORI +-- where ti_ordine in (1, 2, 3, 7) +-- end +--else +-- begin +-- select +-- ti_ordine as Ordine, +-- ti_indicatore as Indicatore, +-- ti_adeguato as Adeguato, +-- ti_descrizione as DescrizioneEsito +-- from #TABELLAINDICATORI +-- end +exec [C6Mart].[Decodifica_Concentrazione_Prodotti_Complessi] @rete,@codicefiscale + + declare @flagProf varchar(1) + + select @flagProf = TipoConsulenza from c6mart.vContratti where Rete = @Rete and Cod_Fiscale = @CodiceFiscale + + select * + into #res + from ( + select + 1 as Ordine, + 'Rischio' as Indicatore, + convert(varchar(5), RM_ADEGUATEZZA_INDICATORE) as Adeguato, + RM_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + + union + + select + 2 as Ordine, + 'Riserva' as Indicatore, + convert(varchar(5), RS_ADEGUATEZZA_INDICATORE) as Adeguato, + RS_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + + union + + select + 3 as Ordine, + 'Investimento di Lungo Periodo' as Indicatore, + convert(varchar(5), TH_ADEGUATEZZA_INDICATORE) as Adeguato, + TH_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + + union + + select + 4 as Ordine, + 'Complessit' as Indicatore, + convert(varchar(5), CM_ADEGUATEZZA_INDICATORE) as Adeguato, + CM_ADEGUA diff --git a/sql/storedCollaudo/C6Mart_PL_D_S150Anagrafica.sql b/sql/storedCollaudo/C6Mart_PL_D_S150Anagrafica.sql new file mode 100644 index 00000000..8c742585 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S150Anagrafica.sql @@ -0,0 +1,115 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S150Anagrafica + + + + +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S150Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, + +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, + +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + + --V Indirizzo Secondo AULETTA + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_INZIOAVANZATO) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + null AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + + CONTRATTOSEI.[Provincia] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.VCONTRATTI AS CONTRATTOSEI -- TABELLA BASE + INNER JOIN + C6MART.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MART.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + LEFT JOIN + C6MART.ANAG_CLIENTI_PREV + ON + ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + LEFT JOIN + C6MART.DATI_REPORT + ON + ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + WHERE 1 = 1 + AND ANAG_CLIENTI.RETE = @RETE + AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE + +END + + + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D_S151ProfiloDiRischio.sql b/sql/storedCollaudo/C6Mart_PL_D_S151ProfiloDiRischio.sql new file mode 100644 index 00000000..704dbe82 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S151ProfiloDiRischio.sql @@ -0,0 +1,60 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S151ProfiloDiRischio + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S151ProfiloDiRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + + + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MART.MIFID AS M + INNER JOIN C6MART.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskclass, + @experience as experince + +END + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D_S152Patrimonio.sql b/sql/storedCollaudo/C6Mart_PL_D_S152Patrimonio.sql new file mode 100644 index 00000000..629db6c0 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S152Patrimonio.sql @@ -0,0 +1,115 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S152Patrimonio + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S152Patrimonio] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + + SELECT + @PatrimonioBF = SUM(CTV) + FROM + C6MART.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area <> 'CC' --escludo il cc negativo + +-- SELECT @Part_viaggianti=SUM(IMPORTO) +-- FROM C6MART.PARTITE_VIAGGIANTI partvia +-- WHERE +-- partvia.Rete = @Rete +-- and partvia.Cod_Fiscale = @CodiceFiscale + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6MART.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6MART.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + + + SELECT + @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM + C6MART.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + + + SELECT + @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM + C6MART.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + + + SELECT + @PatrimonioAltro = SUM(patrAltro.ctv) + FROM + C6MART.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + + + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + + + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV + +END + + + + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D_S153PatrimonioFinanziario.sql b/sql/storedCollaudo/C6Mart_PL_D_S153PatrimonioFinanziario.sql new file mode 100644 index 00000000..31dc6934 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S153PatrimonioFinanziario.sql @@ -0,0 +1,165 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S153PatrimonioFinanziario + +-- Stored procedure + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S153PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + + DECLARE @NOMERETE VARCHAR(30) + + --IF @Rete = 'F' + --SET @NOMERETE = 'Banca Fideuram' + --ELSE + --SET @NOMERETE = 'Sanpaolo Invest' + + IF @Rete = 'F' + SET @NOMERETE = 'Banca Fideuram' + ELSE IF @Rete = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE + SET @NOMERETE = 'IW Private Investments' + + SELECT + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Intermediario, + Ordine, + @NOMERETE AS Banca, + -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv + SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine)) / + (SUM(ctv) over (partition by 'Totale')) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + @NOMERETE AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MART.PATRIMONIO_BF patrBF +-- LEFT JOIN C6MART.ClientiConCCNegativo CCNegativo +-- ON PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- AND PATRBF.TIPO_PRODOTTO = 'CC' + WHERE 1 = 1 + AND patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO + and patrBF.id_area <> 'cc' + UNION ALL + + + + SELECT + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MART.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + AND patrTerzi.Rete = @Rete + AND patrTerzi.Cod_Fiscale = @CodiceFiscale + GROUP BY patrTerzi.Intermediario + + ) PATR + + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine + +END + + + + + + + + + + + + + + + + +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D_S153PatrimonioFinanziario] Script Date: 08/02/2022 17:19:22 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure + +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +--ALTER procedure [C6Mart].[PL_D_S153PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from + +-- DECLARE @NOMERETE VARCHAR(20) + +-- IF @Rete = 'F' +-- SET @NOMERETE = 'Banca Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' + +-- SELECT +-- Intermediario, +-- Ordine, +-- Banca, +-- Controvalore, +-- round(Percentuale,2) as Percentuale +-- FROM +-- ( +-- SELECT DISTINCT +-- Intermediario, +-- Ordine, +-- @NOMERETE AS Banca, +-- -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv +-- SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, +-- ( +-- (SUM(ctv) over (partition by Intermediario,Ordine)) / +-- (SUM(ctv) over (partition by 'Totale')) +-- ) * 100 AS PERCENTUALE +-- FROM +-- ( +-- SELECT +-- @NOMERETE AS Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 1 AS ordine +-- FROM C6MART.PATRIMONIO_BF patrBF +---- LEFT JOIN C6MART.ClientiConCCNegativo CCNegativo +---- ON PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- AND PATRBF.TIPO_PRODOTTO = 'CC' +-- WHERE 1 = 1 +-- AND patrBF.Rete = @Rete +-- AND patrBF.Cod_Fiscale = @CodiceFiscale +-- --AND CCNegativo.Cod_Fiscale IS NUL diff --git a/sql/storedCollaudo/C6Mart_PL_D_S154PatrimonioFinanziario.sql b/sql/storedCollaudo/C6Mart_PL_D_S154PatrimonioFinanziario.sql new file mode 100644 index 00000000..463332ff --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S154PatrimonioFinanziario.sql @@ -0,0 +1,164 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S154PatrimonioFinanziario + +-- Stored procedure + + +-- ============================================= +-- Author: Luca De Lisio +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_DT_S154PatrimonioFinanziario] 'F','LNTNNE59L06F205C' +CREATE procedure [C6Mart].[PL_D_S154PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + +SELECT + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + + SELECT DISTINCT + --CASE @Rete + --WHEN 'S' THEN 'Sanpaolo Invest' + --ELSE 'Banca Fideuram' + --END AS Banca, + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Banca Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + + --PRODOTTI BF ESCLUSI GLI ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.PATRIMONIO_BF PATRBF + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + + UNION ALL + + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT + + + + + + + + + + + + + + + + + + + + + + + + + + + +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MART.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL + +-- UNION ALL + --DETTAGLIO ASUL SENZA SKANDIA + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + UNION ALL + --CON SKANDIA + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + + UNION ALL + + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI diff --git a/sql/storedCollaudo/C6Mart_PL_D_S155PatrimonioImmobiliare.sql b/sql/storedCollaudo/C6Mart_PL_D_S155PatrimonioImmobiliare.sql new file mode 100644 index 00000000..cee18181 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S155PatrimonioImmobiliare.sql @@ -0,0 +1,28 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S155PatrimonioImmobiliare + + +CREATE procedure [C6Mart].[PL_D_S155PatrimonioImmobiliare] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + SELECT + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + FROM C6MART.PATRIMONIO_IMMOBILIARE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +END + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D_S156ALtroPatrimonio.sql b/sql/storedCollaudo/C6Mart_PL_D_S156ALtroPatrimonio.sql new file mode 100644 index 00000000..14167a2e --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S156ALtroPatrimonio.sql @@ -0,0 +1,31 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S156ALtroPatrimonio + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S156ALtroPatrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + SELECT + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM + C6MART.PATRIMONIO_ALTRO + WHERE + PATRIMONIO_ALTRO.RETE = @Rete + AND PATRIMONIO_ALTRO.COD_FISCALE = @CodiceFiscale + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +END + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D_S157ConfrontoPiramidi.sql b/sql/storedCollaudo/C6Mart_PL_D_S157ConfrontoPiramidi.sql new file mode 100644 index 00000000..30dabc74 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S157ConfrontoPiramidi.sql @@ -0,0 +1,121 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S157ConfrontoPiramidi + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6MART].[PL_D_S157ConfrontoPiramidi] 'F','FSLMSV46E05G999S' +CREATE procedure [C6Mart].[PL_D_S157ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MART.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + LEFT(ID_AREA,3) AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MART.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + + + IF(@@ROWCOUNT>0) + BEGIN + + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc') + --V + DECLARE @TOTCC AS INT + SELECT @TOTCC = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND TIPO_PRODOTTO = 'Cc' + + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + + + + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCC = @TOT THEN 0.00 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + WHEN (@TOTCC <> @TOT) AND( diff --git a/sql/storedCollaudo/C6Mart_PL_D_S158PiramideModello.sql b/sql/storedCollaudo/C6Mart_PL_D_S158PiramideModello.sql new file mode 100644 index 00000000..345cd67a --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S158PiramideModello.sql @@ -0,0 +1,64 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S158PiramideModello + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_D_S158PiramideModello] 'F','DGSNNZ38T22E435S' +CREATE procedure [C6Mart].[PL_D_S158PiramideModello] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + --SELECT BF.NOME_PROGETTO AS NomePrg, + -- PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + -- AGGR.VAR_PERC_PTF as VarPrg, + -- SUM(BF.CTV)AS ControvalorePrg + --FROM C6Mart.PATRIMONIO_BF BF + --INNER JOIN C6Mart.RISCHIO_AGGREGATO AGGR + -- ON BF.RETE= AGGR.RETE + -- AND BF.COD_FISCALE= AGGR.COD_FISCALE + -- AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO + --INNER JOIN C6Mart.PIRAMIDE_MOD PIRMOD + -- ON BF.RETE= PIRMOD.RETE + -- AND BF.COD_FISCALE= PIRMOD.COD_FISCALE + -- AND BF.ID_AREA = PIRMOD.ID_AREA + -- AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + --WHERE 1=1 + --AND BF.ID_AREA = 'inv' + --AND BF.RETE = @Rete + --AND BF.COD_FISCALE = @CodiceFiscale + --AND BF.CTV > 0 + --group BY BF.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,AGGR.VAR_PERC_PTF + + SELECT + PIRMOD.NOME_PROGETTO AS NomePrg, + PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + ISNULL(T.VAR_PERC_PTF,0) as VarPrg, + ISNULL(SUM(T.CTV),0) AS ControvalorePrg + FROM C6Mart.PIRAMIDE_MOD PIRMOD + LEFT JOIN + (SELECT BF.RETE, BF.COD_FISCALE,BF.ID_AREA,BF.NOME_PROGETTO,AGGR.VAR_PERC_PTF,BF.CTV FROM C6Mart.PATRIMONIO_BF BF + INNER JOIN C6Mart.RISCHIO_AGGREGATO AGGR + ON BF.RETE= AGGR.RETE + AND BF.COD_FISCALE= AGGR.COD_FISCALE + AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO) T + ON PIRMOD.ID_AREA = T.ID_AREA + AND PIRMOD.COD_FISCALE = T.COD_FISCALE + AND PIRMOD.RETE = T.RETE + AND PIRMOD.NOME_PROGETTO = T.NOME_PROGETTO + WHERE + PIRMOD.ID_AREA = 'inv' + AND T.CTV > 0 + AND PIRMOD.RETE = @Rete + AND PIRMOD.COD_FISCALE = @CodiceFiscale + GROUP BY PIRMOD.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,T.VAR_PERC_PTF + + +END + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D_S159PatrimonioFinanziario.sql b/sql/storedCollaudo/C6Mart_PL_D_S159PatrimonioFinanziario.sql new file mode 100644 index 00000000..5be7ded6 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S159PatrimonioFinanziario.sql @@ -0,0 +1,142 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S159PatrimonioFinanziario + + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + + CREATE procedure [C6Mart].[PL_D_S159PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(19,5)) AS Controvalore, + cast(A.Percentuale as decimal(19,5)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Banca Fideuram' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) + END + ) * 100 AS Percentuale + FROM ( + + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.PATRIMONIO_BF PATRBF + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + + UNION ALL + + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MART.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL + +-- UNION ALL + + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + UNION ALL + + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + ) VALORIASSET + INNER JOIN + C6MART.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A + +ORDER BY A.ORDINAMENTO + +END + + + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D_S160DettaglioProdottiBF.sql b/sql/storedCollaudo/C6Mart_PL_D_S160DettaglioProdottiBF.sql new file mode 100644 index 00000000..d3526591 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S160DettaglioProdottiBF.sql @@ -0,0 +1,91 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S160DettaglioProdottiBF + + + +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- cast(C6Mart.ANAG_CC.SALDO as decimal(15,2)) as Controvalore +-- [C6Mart].[PL_S43DettaglioProdottiBF] 'F', 'GFFSLL50T44F205Z' +--SELECT * FROM PATR1 + +CREATE procedure [C6Mart].[PL_D_S160DettaglioProdottiBF] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +SELECT +PATRBF.NOME_PROGETTO AS EE, PATRBF.ID_AREA, +CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID AS TMP, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA + END AS needarea, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS versato_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' + THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS MinusPlusValenza_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenza_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL + END AS somma_var_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL + END AS somma_copertura_need_prog, + cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c. diff --git a/sql/storedCollaudo/C6Mart_PL_D_S162DettaglioProdotti.sql b/sql/storedCollaudo/C6Mart_PL_D_S162DettaglioProdotti.sql new file mode 100644 index 00000000..26a5bb06 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S162DettaglioProdotti.sql @@ -0,0 +1,99 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S162DettaglioProdotti + + +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S162DettaglioProdotti] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + SELECT + + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6MART.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOAGGREG + ON + PATRTERZI.RETE = RISCHIOAGGREG.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGREG.COD_FISCA diff --git a/sql/storedCollaudo/C6Mart_PL_D_S163PatrimonioFinanziarioMAssetClass.sql b/sql/storedCollaudo/C6Mart_PL_D_S163PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..e1afdb21 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S163PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,78 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S163PatrimonioFinanziarioMAssetClass + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S163PatrimonioFinanziarioMAssetClass] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT DISTINCT + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + + UNION ALL + + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + + ) VALORIASSET + INNER JOIN C6MART.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + ORDER BY + ASSETCLASS.ORDINAMENTO + +END + + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D_S164PolizzeAltriIstituti.sql b/sql/storedCollaudo/C6Mart_PL_D_S164PolizzeAltriIstituti.sql new file mode 100644 index 00000000..8e5185fb --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S164PolizzeAltriIstituti.sql @@ -0,0 +1,43 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S164PolizzeAltriIstituti + +-- ============================================= +-- Author: Marco Gentilezza +-- Create date: +-- Description: +-- ============================================= +--C6Mart.PL_D_S164PolizzeAltriIstituti 'S', 'VGNVLR52C31G702Z' +CREATE procedure [C6Mart].[PL_D_S164PolizzeAltriIstituti] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + SELECT + + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + isnull(PATRTERZI.VERSATO_NETTO, 0) AS AmmontareVersamento + + FROM + C6MART.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MART.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' + WHERE PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + +END + + diff --git a/sql/storedCollaudo/C6Mart_PL_D_S165FondiAltriIstituti.sql b/sql/storedCollaudo/C6Mart_PL_D_S165FondiAltriIstituti.sql new file mode 100644 index 00000000..f95558df --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S165FondiAltriIstituti.sql @@ -0,0 +1,73 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S165FondiAltriIstituti + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S165FondiAltriIstituti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + + FROM + C6MART.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MART.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + WHERE + PATRTERZI.rete = @Rete + and PATRTERZI.cod_fiscale = @CodiceFiscale + --AND PATRTERZI.TIPO_PRODOTTO = 'Fondi pensione' + + + +END + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D_S166ContoCorrenteAI.sql b/sql/storedCollaudo/C6Mart_PL_D_S166ContoCorrenteAI.sql new file mode 100644 index 00000000..7cf0ca59 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S166ContoCorrenteAI.sql @@ -0,0 +1,36 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S166ContoCorrenteAI + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S166ContoCorrenteAI] + + @Rete char(1), + @CodiceFiscale varchar(16) + +AS + +BEGIN + + SELECT + CCTerzi.INTERMEDIARIO AS Intermediario, + CCTerzi.COD_CC AS ContoCorrente, + CCTerzi.SALDO AS Saldo, + null as creditrisk, + 'n.a.' as creditriskstring, + 0.00 as var + FROM + C6MART.ANAG_CC_Terzi CCTerzi + WHERE + CCTerzi.rete= @Rete + AND CCTerzi.cod_fiscale= @CodiceFiscale + +END + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D_S167DistribuzioneRischioCredito.sql b/sql/storedCollaudo/C6Mart_PL_D_S167DistribuzioneRischioCredito.sql new file mode 100644 index 00000000..8821008d --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S167DistribuzioneRischioCredito.sql @@ -0,0 +1,122 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S167DistribuzioneRischioCredito + + + +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= + + +-- [C6Mart].[PL_D_S167DistribuzioneRischioCredito] 'F','BRGGRL48H52G096C' +CREATE procedure [C6Mart].[PL_D_S167DistribuzioneRischioCredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Banca Fideuram', 'Sanpaolo Invest', 'IW Private Investments') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, + +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, + +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' WHEN PATRBF.RETE = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS INTERMEDIARIO, +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MART.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MART.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' WHEN PATRBF.RETE = 'S' THEN 'SANPAOLO' ELSE 'IWPRIVATEINVESTMENTS' END + +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + diff --git a/sql/storedCollaudo/C6Mart_PL_D_S168TabellaEmittenti.sql b/sql/storedCollaudo/C6Mart_PL_D_S168TabellaEmittenti.sql new file mode 100644 index 00000000..909c747a --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S168TabellaEmittenti.sql @@ -0,0 +1,146 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S168TabellaEmittenti + + + + +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6Mart].[PL_D_S168TabellaEmittenti] 'F','FF@7181' +CREATE procedure [C6Mart].[PL_D_S168TabellaEmittenti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + +declare @patr_compl decimal(18,3) + + +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 + +SELECT + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( + + +-- PER INTERMEDIARIO + + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + diff --git a/sql/storedCollaudo/C6Mart_PL_D_S169RischiomercatoRischiocredito.sql b/sql/storedCollaudo/C6Mart_PL_D_S169RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..b7e1878c --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S169RischiomercatoRischiocredito.sql @@ -0,0 +1,134 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S169RischiomercatoRischiocredito + + + +CREATE procedure [C6Mart].[PL_D_S169RischiomercatoRischiocredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + C6MART.patrimonio_bf PATRBF,C6MART.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.cod_fiscale = @codiceFiscale + and PATRBF.rete= @rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END + + + UNION + + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + C6MART.PATRIMONIO_TERZI TERZI,C6MART.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.cod_fiscale =@codiceFiscale + and TERZI.rete=@rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + + ) PATRBF + LEFT OUTER JOIN + C6MART.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN C6MART.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + C6MART.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Banca Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and diff --git a/sql/storedCollaudo/C6Mart_PL_D_S170RischioDiversificazione.sql b/sql/storedCollaudo/C6Mart_PL_D_S170RischioDiversificazione.sql new file mode 100644 index 00000000..2aff162e --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S170RischioDiversificazione.sql @@ -0,0 +1,117 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S170RischioDiversificazione + +-- [C6Mart].[PL_D_S170RischioDiversificazione] 'S','02148400126' +CREATE procedure [C6Mart].[PL_D_S170RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + + declare @contaCC as int + + select @contaCC = count(*) + from C6MART.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + + + declare @contaPOS as int + + select @contaPOS = count(*) + from C6MART.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6mart.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6mart.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + +SELECT + K.COD_FISCALE, + K.RETE, + CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 + END AS CTV_AGGREG, + K.CREDITRISK, + +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, + +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END +as varString, + +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, + +beneficio as diversificazione, + +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, + +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Banca Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, + +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, + +b.max_var as var_profilo, + +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM C6MART.RISCHIO_AGGREGATO K +left outer JOIN C6MART.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete +left outer join C6MART.CODIFICA_RISCHIO b + ON A.PROFILO_ASS=B.PROFILO + +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine + + +END + + + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql b/sql/storedCollaudo/C6Mart_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..85c606fe --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,127 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S171PatrimonioNonRappresentabileAssettClass + +-- ============================================= +-- Author: +-- Create date: 30/08/2013 +-- Description: uguale a S76 +-- ============================================= +--[C6Mart].[PL_D_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +CREATE procedure [C6Mart].[PL_D_S171PatrimonioNonRappresentabileAssettClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Banca Fideuram' + ELSE IF @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + + UNION ALL + + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MART.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO + ORDER BY CONTROVALORE DESC + +END + + + + + + + + +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D_S171PatrimonioNonRappresentabileAssettClass] Script Date: 08/02/2022 16:31:51 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: 30/08/2013 +---- Description: uguale a S76 +---- ============================================= +----[C6Mart].[PL_D_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +--ALTER procedure [C6Mart].[PL_D_S171PatrimonioNonRappresentabileAssettClass] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) + +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. + +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @RETE = 'F' +-- SET @NOMERETE = 'Banca Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' + +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- PATRBF.CTV as Controvalore, +-- PATRBF.CTV as controvalore_contratto, +-- PATRBF.PARTVIA_DISINV as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- LEFT OUTER diff --git a/sql/storedCollaudo/C6Mart_PL_D_S177ProfiloDiRischio_Adeguatezza.sql b/sql/storedCollaudo/C6Mart_PL_D_S177ProfiloDiRischio_Adeguatezza.sql new file mode 100644 index 00000000..0bee9654 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S177ProfiloDiRischio_Adeguatezza.sql @@ -0,0 +1,93 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S177ProfiloDiRischio_Adeguatezza + + + + + + + + + + + + +--[C6Mart].[PL_D_S177ProfiloDiRischio_Adeguatezza] 'F', 'DVTMRA58B09F839W' +CREATE procedure [C6Mart].[PL_D_S177ProfiloDiRischio_Adeguatezza] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + + SET NOCOUNT ON; + + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenza DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + declare @descrizioneProfilo varchar(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @riskclassDescr VARCHAR(250) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza varchar(20) + DECLARE @riserva decimal(13,2) + DECLARE @inv_l_p decimal(5,2) + + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenza = M.DATA_FINE_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + --when 5 then 'Alta' + else '-' + end, + @riserva=isnull(importoriserva,0.00), + @inv_l_p=isnull(perclungoperiodo,0.00)--@inv_l_p='58.00' + FROM + C6Mart.MIFID AS M + INNER JOIN C6Mart.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + + + -- RICERCA DATA FINE VALIDITA' + declare @dtfinval decimal(9,0) + + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (@dataScadenza) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as DescrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as descrizioneEsperienza, + @riserva as riserva, + @inv_l_p as investimento_l_periodo + +END + + diff --git a/sql/storedCollaudo/C6Mart_PL_D_S178CasiParticolari.sql b/sql/storedCollaudo/C6Mart_PL_D_S178CasiParticolari.sql new file mode 100644 index 00000000..b71e9e94 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S178CasiParticolari.sql @@ -0,0 +1,127 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S178CasiParticolari + + + + + + +-- [C6Mart].[PL_D_S178CasiParticolari] 'F','MTTSRA00H61D704A' +CREATE procedure [C6Mart].[PL_D_S178CasiParticolari] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + declare @Copertura decimal(10,2) + declare @SoloProdottiSenzaAdeguatezza int + + declare @SoloCC int + declare @SoloProdottiSenzaAdeguatezzaOrSoloCC int + + declare @IDTesto int + + set @IDTesto = 0 + + ------------------------------------------------------------------------------ CASO 1 COPERTURA = 0 + + select @Copertura=copertura + from C6Mart.RISCHIO_AGGREGATO + -- 'COMPLESSIVO|BF' come viene fatto nella PL_D_S157ConfrontoPiramidi per la copertura_tot, campo per l'esposizione della nota sulla coperura sotto la piramide + where cod_aggreg='COMPLESSIVO|BF' + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE + + +------------------------------------------------------------------------------ FINE CASO 1 + +------------------------------------------------------------------------------ CASO 2 SENZA PRODOTTI IN ADEGUATEZZA + + -- Controllo se nel Portafoglio c' solo CC + + select rete, cod_fiscale, id_area + into #t1 + from c6mart.patrimonio_bf + where rete = @Rete and cod_fiscale = @CodiceFiscale + group by rete,cod_fiscale, id_area + + select rete, cod_fiscale, count(*) as numero + into #t2 + from #t1 + group by rete, cod_fiscale having count(*) = 1 + + if exists( + select p.rete, p.cod_fiscale + from c6mart.patrimonio_bf p + inner join #t2 + on p.rete = #t2.rete + and p.cod_fiscale = #t2.cod_fiscale + --where rete + cod_fiscale in (select rete + cod_fiscale from #t2) + where p.id_area = 'liq' + and p.tipo_prodotto = 'cc' + ) + + set @soloCC = 1 + else + set @soloCC = 0 + + drop table #t1 + drop table #t2 + + -- Se le count torna 0 record significa che in ptf ci sono solo prodotti senza adeguatezza + + select @SoloProdottiSenzaAdeguatezza= count(*) + from c6mart.patrimonio_bf patr + left join [C6Staging].[Prodotti_Fuori_Adeguatezza] senza + on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto + where patr.rete = @rete + and patr.cod_fiscale = @codicefiscale + and senza.codinterno is null + + -- Se si verifica uno dei due casi, imposto la variabile a 1 + if @SoloProdottiSenzaAdeguatezza = 0 or @SoloCC = 1 + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 1 + else + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 0 + +----------------------------------------------------------------------------- FINE CASO 2 + +-- CASO 3 COPERTURA = 0 + e ptf con solo PRODOTTI senza ADEGUATEZZA +-- FINE CASO 3 + +-- RISULTATO FINALE + + if(@Copertura = 0) + begin + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 3 + end + else + begin + set @IDTesto = 1 + end + end + else + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 2 + end + + select ID, Testo + from [C6Mart].[TB_S178CasiParticolari_Testi] + where ID = @IDTesto + + +-- ********************* PARTE FINTA + +--select ID, Testo +-- from [C6Mart].[TB_S178CasiParticolari_Testi] +-- where ID = 0 + +end + diff --git a/sql/storedCollaudo/C6Mart_PL_D_S178CasiParticolari_20181220.sql b/sql/storedCollaudo/C6Mart_PL_D_S178CasiParticolari_20181220.sql new file mode 100644 index 00000000..2df3a5bf --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S178CasiParticolari_20181220.sql @@ -0,0 +1,83 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S178CasiParticolari_20181220 + + + + + + +-- [C6Mart].[PL_D_S178CasiParticolari] 'F','MTTSRA00H61D704A' +CREATE procedure [C6Mart].[PL_D_S178CasiParticolari_20181220] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------ CASO 1 COPERTURA = 0 + declare @Copertura decimal(10,2) + declare @SoloProdottiSenzaAdeguatezza int + + declare @IDTesto int + + set @IDTesto = 0 + + select @Copertura=copertura + from C6Mart.RISCHIO_AGGREGATO + -- 'COMPLESSIVO|BF' come viene fatto nella PL_D_S157ConfrontoPiramidi per la copertura_tot, campo per l'esposizione della nota sulla coperura sotto la piramide + where cod_aggreg='COMPLESSIVO|BF' + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE + + +------------------------------------------------------------------------------ FINE CASO 1 + +------------------------------------------------------------------------------ CASO 2 SENZA PRODOTTI IN ADEGUATEZZA + -- Se le count torna 0 record significa che in ptf ci sono solo prodotti senza adeguatezza + + select @SoloProdottiSenzaAdeguatezza= count(*) + from c6mart.patrimonio_bf patr + left join [C6Staging].[Prodotti_Fuori_Adeguatezza] senza + on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto + where patr.rete = @rete + and patr.cod_fiscale = @codicefiscale + and senza.codinterno is null + +----------------------------------------------------------------------------- FINE CASO 2 + +-- CASO 3 COPERTURA = 0 + e ptf con solo PRODOTTI senza ADEGUATEZZA +-- FINE CASO 3 + +-- RISULTATO FINALE + + if(@Copertura = 0) + begin + if(@SoloProdottiSenzaAdeguatezza=0) + begin + set @IDTesto = 3 + end + else + begin + set @IDTesto = 1 + end + end + else + if(@SoloProdottiSenzaAdeguatezza=0) + begin + set @IDTesto = 2 + end + + select ID, Testo + from [C6Mart].[TB_S178CasiParticolari_Testi] + where ID = @IDTesto + + +-- ********************* PARTE FINTA + +--select ID, Testo +-- from [C6Mart].[TB_S178CasiParticolari_Testi] +-- where ID = 0 + +end + diff --git a/sql/storedCollaudo/C6Mart_PL_D_S178IndicatoriEsitoAdeguatezza.sql b/sql/storedCollaudo/C6Mart_PL_D_S178IndicatoriEsitoAdeguatezza.sql new file mode 100644 index 00000000..f173c601 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S178IndicatoriEsitoAdeguatezza.sql @@ -0,0 +1,115 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S178IndicatoriEsitoAdeguatezza + + + + + + + + +--[C6Mart].[PL_D_S178IndicatoriEsitoAdeguatezza] 'F', 'MTTSRA00H61D704A' +CREATE procedure [C6Mart].[PL_D_S178IndicatoriEsitoAdeguatezza] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +------- PARTE FINTA DA ELIMINARE + +--declare @flagProf varchar(1) + +--select @flagProf = TipoConsulenza from c6mart.vContratti where Rete = @Rete and Cod_Fiscale = @CodiceFiscale + +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Il livello di concentrazione degli emittenti presenti nel suo portafoglio ADEGUATO in quanto tutti gli emittenti sono presenti in misura inferiore rispetto ai limiti stabiliti dalla Banca.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 3; + +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'La complessit dei singoli strumenti detenuti nel suo portafoglio ADEGUATA in quanto coerente con il suo livello di esperienza e conoscenza in materia di investimenti.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 4; + +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Il livello di concentrazione di prodotti complessi nel suo portafoglio ADEGUATO in quanto inferiore al limite massimo stabilito dalla Banca e coerente rispetto al patrimonio minimo di portafoglio amministrato.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 5; + +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Il numero delle operazioni effettuate ADEGUATO in quanto inferiore rispetto ai limiti stabiliti dalla Banca in base allentit del portafoglio amministrato e al suo livello di esperienza e conoscenza in materia dinvestimenti.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 6; + +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Le caratteristiche di durata e liquidit dei prodotti presenti nel suo portafoglio sono ADEGUATE in quanto coerenti con la ripartizione del patrimonio negli orizzonti temporali indicata nel questionario di profilatura.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 7; + +--if @flagProf = 'P' +-- begin +-- select +-- ti_ordine as Ordine, +-- ti_indicatore as Indicatore, +-- ti_adeguato as Adeguato, +-- ti_descrizione as DescrizioneEsito +-- from #TABELLAINDICATORI +-- where ti_ordine in (1, 2, 3, 7) +-- end +--else +-- begin +-- select +-- ti_ordine as Ordine, +-- ti_indicatore as Indicatore, +-- ti_adeguato as Adeguato, +-- ti_descrizione as DescrizioneEsito +-- from #TABELLAINDICATORI +-- end + + declare @flagProf varchar(1) + + select @flagProf = TipoConsulenza from c6mart.vContratti where Rete = @Rete and Cod_Fiscale = @CodiceFiscale + + select * + into #res + from ( + select + 1 as Ordine, + 'Rischio' as Indicatore, + convert(varchar(5), RM_ADEGUATEZZA_INDICATORE) as Adeguato, + RM_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + + union + + select + 2 as Ordine, + 'Riserva' as Indicatore, + convert(varchar(5), RS_ADEGUATEZZA_INDICATORE) as Adeguato, + RS_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + + union + + select + 3 as Ordine, + 'Investimento di Lungo Periodo' as Indicatore, + convert(varchar(5), TH_ADEGUATEZZA_INDICATORE) as Adeguato, + TH_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + + union + + select + 4 as Ordine, + 'Complessit' as Indicatore, + convert(varchar(5), CM_ADEGUATEZZA_INDICATORE) as Adeguato, + CM_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDIC diff --git a/sql/storedCollaudo/C6Mart_PL_D_S179EmittentiConcentrazioneAlta.sql b/sql/storedCollaudo/C6Mart_PL_D_S179EmittentiConcentrazioneAlta.sql new file mode 100644 index 00000000..04045314 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S179EmittentiConcentrazioneAlta.sql @@ -0,0 +1,31 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S179EmittentiConcentrazioneAlta + + + + + + +--[C6Mart].[PL_D_S179EmittentiConcentrazioneAlta] 'F', 'GNSMRN59L62L219S' +CREATE procedure [C6Mart].[PL_D_S179EmittentiConcentrazioneAlta]--'F','GNSMRN59L62L219S' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + select a.RETE,a.COD_FISCALE,a.Ordine,a.Emittente,a.ctv,a.flagAdeguatezza,a.franchigia,a.percConcentrazione,a.rating,a.sogliaConcentrazione + from C6Mart.TB_S179EmittentiConcentrazioneAlta a + inner join C6Staging.VAR_ADEGUATEZZA_INDICATORI i on + a.RETE=i.RETE and a.COD_FISCALE=i.CODICE_FISCALE + where a.rete = @Rete + and a.Cod_Fiscale = @CodiceFiscale + and i.CE_ADEGUATEZZA_INDICATORE=0 + order by emittente + +END + + diff --git a/sql/storedCollaudo/C6Mart_PL_D_S180ProdottiComplessitaAlta.sql b/sql/storedCollaudo/C6Mart_PL_D_S180ProdottiComplessitaAlta.sql new file mode 100644 index 00000000..3ccb6a94 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_D_S180ProdottiComplessitaAlta.sql @@ -0,0 +1,119 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_D_S180ProdottiComplessitaAlta + + + + + +--[C6Mart].[PL_D_S180ProdottiComplessitaAlta] 'f', 'ff@9225' +CREATE procedure [C6Mart].[PL_D_S180ProdottiComplessitaAlta] --'W','BRGDNT48P60D612V' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @TotalePatrimonio decimal(12,2) + + -- acquisiamo il totale patrimonio del cliente + SELECT @TotalePatrimonio = ctv + FROM + C6Mart.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +-- + SELECT + 1 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi + into #temp +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 3 + + union all + SELECT + 2 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 2 + + union all + SELECT + 3 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 1 + + -- --20180905 Fine modifica + order by ordine,Compl_Base desc + + delete from #temp where ordine=1 and SommaPesi<20 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta <20 + delete from #temp where ordine=2 and SommaPesi<30 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta <30 + delete from #temp where ordine=3 and SommaPesi<50 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta e medio-bassa <50 + +-- select * from #temp --order by ordine,Complessita + + DECLARE @ordineConcatenato VARCHAR(4) + +SELECT @ordineConcatenato = COALESCE(@ordineConcatenato + '', '') + CAST(ordine AS VARCHAR) +FROM (SELECT DISTINCT ordine FROM #temp) AS subquery +-- @ordineConcatenato conterr i valori distinti concatenati della colonna 'ordine' + + +SELECT Ordine,CodiceContratto,NomeProdotto,Controvalore,Complessita,Peso,TotalePatrimonio,SommaControvalore,SommaPesi,@ordineConcatenato AS O diff --git a/sql/storedCollaudo/C6Mart_PL_FD181PreferenzeESG.sql b/sql/storedCollaudo/C6Mart_PL_FD181PreferenzeESG.sql new file mode 100644 index 00000000..04b02cc8 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_FD181PreferenzeESG.sql @@ -0,0 +1,60 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_FD181PreferenzeESG + + + + + + + +-- Stored procedure + +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'VNZGPL53M04L781P' +CREATE procedure [C6Mart].[PL_FD181PreferenzeESG] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + +SELECT esg.[rete] + ,esg.[cod_fiscale] + ,esg.[Preferenza_esg_cliente] + ,esg.[ESG_E] + ,esg.[ESG_S] + ,esg.[ESG_G] + ,esg.[obiettivo_ESG_minimo] + ,esg.[ESG_Rating] + ,esg.[ESG_E_perc] + ,esg.[ESG_S_perc] + ,esg.[ESG_G_perc] + ,case when isnull(ind.percESG,'0.00')>=25 and isnull(ind.percESG,'0.00')<50 then 'Almeno pari al 25%' + when isnull(ind.percESG,'0.00')>=50 and isnull(ind.percESG,'0.00')<75 then 'Almeno pari al 50%' + when isnull(ind.percESG,'0.00')>=75 then 'Almeno pari al 75%' else 'n.d.' end as Pref_Sost + ,'Y' as U_PREFSOST --Ulteriori Preferenze di Sostenibilit ----decommenta per ESG 2024 + ,'20,00%' as SFDR_PERC ----decommenta per ESG 2024 + ,'50,00%' as TAXO_PERC ----decommenta per ESG 2024 + ,'-' as PAI_A + ,'-' as PAI_S + --,'Emissioni gas serra, Biodiversit, Acqua, Settore immobiliare' as PAI_A ----decommenta per ESG 2024 + --,'Questioni Sociali e dei Dipendenti' as PAI_S ----decommenta per ESG 2024 + ,case when esg.[ESG_E]='Y' then '24.21' else '-' end AS E_PERC_OK--,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS E_PERC_OK ----decommenta per ESG 2024 + ,case when esg.[ESG_S]='Y' then '21.32' else '-' end AS S_PERC_OK--,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS S_PERC_OK ----decommenta per ESG 2024 + ,case when esg.[ESG_G]='Y' then '44.32' else '-' end AS G_PERC_OK--,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS G_PERC_OK ----decommenta per ESG 2024 + FROM [C6StampeCentralizzate].[C6Mart].[BrsClienteESG] esg + left join c6staging.VAR_ADEGUATEZZA_INDICATORI ind + on ind.rete=esg.rete and ind.CODICE_FISCALE=esg.cod_fiscale +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale + +END + + diff --git a/sql/storedCollaudo/C6Mart_PL_FD182BISDettaglioProdottiESG.sql b/sql/storedCollaudo/C6Mart_PL_FD182BISDettaglioProdottiESG.sql new file mode 100644 index 00000000..d34ea861 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_FD182BISDettaglioProdottiESG.sql @@ -0,0 +1,103 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_FD182BISDettaglioProdottiESG + + + + + + + + +CREATE procedure [C6Mart].[PL_FD182BISDettaglioProdottiESG] --'S','SNTCHR80A61D612V' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +0 as ORDINAMENTO_PROGETTO, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + --CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + + + --SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + --CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + + + + + + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + --CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS versato_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' +-- THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) +-- ELSE NULL +-- END AS MinusPlusValenza_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS MinusPlusValenza_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF +-- ELSE NULL +-- END AS somma_var_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA +-- diff --git a/sql/storedCollaudo/C6Mart_PL_FD182DettaglioProdottiESG.sql b/sql/storedCollaudo/C6Mart_PL_FD182DettaglioProdottiESG.sql new file mode 100644 index 00000000..ab974fa7 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_FD182DettaglioProdottiESG.sql @@ -0,0 +1,101 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_FD182DettaglioProdottiESG + + + + + + + + +CREATE procedure [C6Mart].[PL_FD182DettaglioProdottiESG] --'F','CTTDNY84M09F966M' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT + CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Rob'--when robo.isProgettoRobo='S' then 'Rob' + else 'ASF' + END AS needarea, + CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + --WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + --ELSE AREA.NOME_AREA + END AS needareades, +CASE + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + --ELSE AREA.ORDINAMENTO + -- WHEN robo.isProgettoRobo='S' THEN 1 + --ELSE 2 + WHEN ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 1 + ELSE 2 +END + AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + when isnull(trim(PATRBF.NOME_PROGETTO),'') not like '%Direct EVO%' then 'Default' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') + +END AS nome_progetto, + + SUM(PATRBF.CTV ) OVER (PARTITION BY CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' end) AS somma_controval_needarea, +0 as ORDINAMENTO_PROGETTO, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, + SUM(PATRBF.CTV ) OVER (PARTITION BY CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' end)--, PATRBF.ordinamento_progetto) + AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY --robo.isProgettoRobo, + PATRBF.NOME_PROGETTO) + ELSE NULL +END AS versato_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + + + case when ESG_E = 'SI' then 'S' else 'No' end as ESG_E, + case when ESG_S = 'SI' then 'S' else 'No' end as ESG_S, + case when ESG_G = 'SI' then 'S' else 'No' end as ESG_G, + case when CatSFDR <> '' then esg.CatSFDR else '-' end as CatSFDR, + case when ESGRating <> '' then esg.esgrating else '-' end as ESGRating, + case when TrendESGRating <> '' then esg.TrendESGRating else '-' end as TrendESGRating, + + + PATRBF.CTV AS Controvalore, +-- PATRBF.VERSATO_NETTO AS VersatoNetto, +-- CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +-- PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, +-- CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, + --RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, --commentata per assenza o,oo per i cc diff --git a/sql/storedCollaudo/C6Mart_PL_FD185UCaratteristicheESG.sql b/sql/storedCollaudo/C6Mart_PL_FD185UCaratteristicheESG.sql new file mode 100644 index 00000000..ca8cac02 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_FD185UCaratteristicheESG.sql @@ -0,0 +1,116 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_FD185UCaratteristicheESG + + + + + + + + + + + + + +CREATE procedure [C6Mart].[PL_FD185UCaratteristicheESG] --'F','DCRCRL47S11D612N' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT + patrbf.cod_prodotto as COD_PRODOTTO, + CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Rob'--when robo.isProgettoRobo='S' then 'Rob' + else 'ASF' + END AS needarea, + CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + --WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + --ELSE AREA.NOME_AREA + END AS needareades, +CASE + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + --ELSE AREA.ORDINAMENTO + -- WHEN robo.isProgettoRobo='S' THEN 1 + --ELSE 2 + WHEN ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 1 + ELSE 2 +END + AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + when isnull(trim(PATRBF.NOME_PROGETTO),'') not like '%Direct EVO%' then 'Default' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') + +END AS nome_progetto, +SUM(PATRBF.CTV ) OVER (PARTITION BY CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' end) + + AS somma_controval_need_prog, + + + + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + + +CASE + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',') --+ '%' +END AS PERC_INVESTIMENTO_SFDR, + +--aggiunta ESG 2024 +CASE + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 ----decommenta per ESG 2024 + THEN '-' ----decommenta per ESG 2024 + ELSE ----decommenta per ESG 2024 + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',')-- + '%' ----decommenta per ESG 2024 +END AS PERC_INVESTIMENTO_SFDR_AMB, ----decommenta per ESG 2024 + --decommenta per ESG 2024 + --decommenta per ESG 2024 +CASE ----decommenta per ESG 2024 + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 ----decommenta per ESG 2024 + THEN '-' ----decommenta per ESG 2024 + ELSE ----decommenta per ESG 2024 + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',')-- + '%' ----decommenta per ESG 2024 +END AS PERC_INVESTIMENTO_SFDR_SOC, ----decommenta per ESG 2024 + + + CASE + WHEN ISNULL(esg.PERC_INVESTIMENTO_TAXONOMY, 0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_TAXONOMY), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_TAXONOMY, + + isnull(esg.label_PAI_A,'-') as label_PAI_A, + isnull(e diff --git a/sql/storedCollaudo/C6Mart_PL_FD187SfdrTaxESG.sql b/sql/storedCollaudo/C6Mart_PL_FD187SfdrTaxESG.sql new file mode 100644 index 00000000..1254b4fd --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_FD187SfdrTaxESG.sql @@ -0,0 +1,87 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_FD187SfdrTaxESG + + + + + + + + + + + + + + + +--select * from wh.Maledetti + + + +CREATE procedure [C6Mart].[PL_FD187SfdrTaxESG] --'F','00545400483' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6Mart.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale + + +if(@pref_esg='1') +begin +select 1 as ID, + 'Prodotti sostenibili SFDR' as Descrizione, + REPLACE(CAST(CAST(ABS(CHECKSUM(NEWID())) % 10000 AS FLOAT) / 100 AS VARCHAR(10)), '.', ',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + union +select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilit' as Descrizione, + REPLACE(CAST(CAST(ABS(CHECKSUM(NEWID())) % 10000 AS FLOAT) / 100 AS VARCHAR(10)), '.', ',') as Peso, + 'SFDR' as Tabella + ,'Y' as isNA + union +select 3 as ID, + 'Prodotti non sostenibili' as Descrizione, + REPLACE(CAST(CAST(ABS(CHECKSUM(NEWID())) % 10000 AS FLOAT) / 100 AS VARCHAR(10)), '.', ',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + union +select 4 as ID, + 'TOTALE' as Descrizione, + REPLACE(CAST(CAST(ABS(CHECKSUM(NEWID())) % 10000 AS FLOAT) / 100 AS VARCHAR(10)), '.', ',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + union +select 5 as ID, + 'Prodotti ecosostenibili Taxonomy' as Descrizione, + REPLACE(CAST(CAST(ABS(CHECKSUM(NEWID())) % 10000 AS FLOAT) / 100 AS VARCHAR(10)), '.', ',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilit' as Descrizione, + REPLACE(CAST(CAST(ABS(CHECKSUM(NEWID())) % 10000 AS FLOAT) / 100 AS VARCHAR(10)), '.', ',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + union +select 7 as ID, + 'Prodotti non ecosostenibili' as Descrizione, + REPLACE(CAST(CAST(ABS(CHECKSUM(NEWID())) % 10000 AS FLOAT) / 100 AS VARCHAR(10)), '.', ',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + union +select 8 as ID, + 'TOTALE' as Descrizione, + REPLACE(CAST(CAST(ABS(CHECKSUM(NEWID())) % 10000 AS FLOAT) / 100 AS VARCHAR(10)), '.', ',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + + +end +END + + diff --git a/sql/storedCollaudo/C6Mart_PL_FD188PaiESG.sql b/sql/storedCollaudo/C6Mart_PL_FD188PaiESG.sql new file mode 100644 index 00000000..ec2467e3 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_FD188PaiESG.sql @@ -0,0 +1,85 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_FD188PaiESG + + + + + + + + + + + + + +--select * from wh.Maledetti + + + +CREATE procedure [C6Mart].[PL_FD188PaiESG] --'F','00545400483' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6Mart.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale + + +if(@pref_esg='1') +begin +select 1 as ID, + 'Prodotti che considerano almeno un PAI ambientale' as Descrizione, + '73,65' as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + union +select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilit' as Descrizione, + '40,00' as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + union +select 3 as ID, + 'Prodotti che non considerano PAI ambientali' as Descrizione, + '26,35' as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + union +select 5 as ID, + 'Prodotti che considerano almeno un PAI sociale' as Descrizione, + '5,00' as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilit' as Descrizione, + '10,00' as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA + union +select 7 as ID, + 'Prodotti che non considerano PAI sociali' as Descrizione, + '95,00' as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA + +end + +END + + diff --git a/sql/storedCollaudo/C6Mart_PL_GetClientNegativeCurrentAccountsValue.sql b/sql/storedCollaudo/C6Mart_PL_GetClientNegativeCurrentAccountsValue.sql new file mode 100644 index 00000000..ec46f1b6 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_GetClientNegativeCurrentAccountsValue.sql @@ -0,0 +1,37 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_GetClientNegativeCurrentAccountsValue + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_GetClientNegativeCurrentAccountsValue] 'F','LCNRLA67L28F520L' +CREATE procedure [C6Mart].[PL_GetClientNegativeCurrentAccountsValue] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @PatrimonioBF DECIMAL(15,2) + + -- Insert statements for procedure here + SELECT + --@PatrimonioBF = case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + + FROM + C6Mart.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + and CTV < 0 and ID_AREA = 'CC' + --Return @PatrimonioBF +END + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_GetClientSelfNegCurrentAccountValue.sql b/sql/storedCollaudo/C6Mart_PL_GetClientSelfNegCurrentAccountValue.sql new file mode 100644 index 00000000..2883f39f --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_GetClientSelfNegCurrentAccountValue.sql @@ -0,0 +1,36 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_GetClientSelfNegCurrentAccountValue + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_GetClientSelfNegCurrentAccountValue] 'S','LMNFNC40L14L219U' +CREATE procedure [C6Mart].[PL_GetClientSelfNegCurrentAccountValue] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --DECLARE @PatrimonioBF DECIMAL(15,2) + + SELECT + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6Mart.ANAG_SELF LS + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND ctv < 0 + + --Return @PatrimonioBF +END + + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_GetClientSelfNegative.sql b/sql/storedCollaudo/C6Mart_PL_GetClientSelfNegative.sql new file mode 100644 index 00000000..5fba61f1 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_GetClientSelfNegative.sql @@ -0,0 +1,40 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_GetClientSelfNegative + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_GetClientSelfNegative] 'S','LMNFNC40L14L219U' +CREATE procedure [C6Mart].[PL_GetClientSelfNegative] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + SELECT + CodInterno, + case + when CodInterno = 'XY' then '"Linee GP Eligo"' + when CodInterno = 'FO' then '"IL MF - Liquidita"' + end as Descrizione, + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6Mart.ANAG_SELF LS + WHERE + LS.rete = @Rete + AND LS.codfis = @CodiceFiscale + AND ctv < 0 + group by CodInterno +END + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_Intermediari.sql b/sql/storedCollaudo/C6Mart_PL_Intermediari.sql new file mode 100644 index 00000000..1a70e822 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_Intermediari.sql @@ -0,0 +1,32 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_Intermediari + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_Intermediari] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16), + @numeroRighe as int OUTPUT +AS + +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + SET @numeroRighe = + (SELECT + COUNT(DISTINCT INTERMEDIARIO) + FROM C6Mart.PATRIMONIO_TERZI + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + ) + RETURN @numeroRighe +END + + + diff --git a/sql/storedCollaudo/C6Mart_PL_MP_FD133BISPrincipaliProdotti.sql b/sql/storedCollaudo/C6Mart_PL_MP_FD133BISPrincipaliProdotti.sql new file mode 100644 index 00000000..00c16c60 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_MP_FD133BISPrincipaliProdotti.sql @@ -0,0 +1,71 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_MP_FD133BISPrincipaliProdotti + + + + +-- ============================================= +-- Author: +-- Create date: <07/05/2013> +-- Description: +-- ============================================= + +-- [c6mart].[PL_MP_S133BISPrincipaliProdotti] F,CLSPLA43D08H501B + +CREATE procedure [c6mart].[PL_MP_FD133BISPrincipaliProdotti] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +SELECT TOP 10 + ANAGPROD.DESCR_PRODOTTO AS descrProdotto + ,PATRBF.CTV AS Controvalore + ,CASE + WHEN patrbf.tipo_prodotto = 'CC' THEN 0.00 + ELSE RISCHIO_PROD.VAR_PERC_PTF + END AS VaRprodotto + ,((CASE + WHEN ((PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100) is null then 0.00 + ELSE(PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100 + END) / (CASE + WHEN sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') = 0 THEN 1 + ELSE sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') + END))*100 as rischioRelativo + ,(PATRBF.CTV/(sum(PATRBF.CTV) over (partition by 'totale')))*100 AS pesoRelativo + ,PATRBF.ID_AREA AS codAreaBisogno + FROM C6Mart.PATRIMONIO_BF PATRBF + INNER JOIN C6Mart.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO + INNER JOIN c6mart.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + LEFT JOIN c6mart.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + --AND RISCHIO_PROD.COD_AGGREG = CASE + -- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + -- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + -- '|' + isnull(cast(patrbf.ordinamento_progetto as varchar),'') + '|' + -- WHEN LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + -- ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- END + -- + PATRBF.POSITION_ID + WHERE + PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND + PATRBF.CTV <>0 + AND PATRBF.ID_AREA <> 'Cc' + ORDER BY rischioRelativo DESC + + + + +END + + diff --git a/sql/storedCollaudo/C6Mart_PL_MP_FD147SintesiValute.sql b/sql/storedCollaudo/C6Mart_PL_MP_FD147SintesiValute.sql new file mode 100644 index 00000000..e25a1900 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_MP_FD147SintesiValute.sql @@ -0,0 +1,72 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_MP_FD147SintesiValute + + + + + + +--[c6mart].[PL_MP_S147SintesiValute] 'F','DCSCRJ80H24Z602C' +CREATE procedure [C6Mart].[PL_MP_FD147SintesiValute] + +@Rete char(1), +@CodiceFiscale varchar(16) +as +begin + + + +declare @ctvNoCoperto as decimal(18,3) +declare @ctvCoperto as decimal(18,3) +declare @copertura as decimal(18,3) + +SELECT @ctvNoCoperto = isnull(sum(ctv),0) + + FROM c6mart.ANAG_PRODOTTI_VALUTE a + RIGHT JOIN c6mart.patrimonio_bf c + ON a.cod_prodotto = c.cod_prodotto + WHERE + + cod_fiscale = @CodiceFiscale + and rete = @Rete + and a.cod_prodotto is null + and id_area <> 'Cc' + +select @copertura = (patrimonioSenzaCC - @ctvNoCoperto)/patrimonioSenzaCC , + @ctvCoperto = patrimonioSenzaCC - @ctvNoCoperto +from c6mart.vPatrimonioBfAggregato +where + cod_fiscale = @CodiceFiscale + and rete = @Rete + +--select @copertura +--FC 16/04/20104 +--Inserito controllo per evitare problemi di divid by zero nella select successiva + +IF @ctvCoperto < 1 +begin + set @ctvCoperto =1 +End + + + +SELECT + sum(peso*ctv) / @ctvCoperto as percentuale, + abs(sum(peso*ctv)) as valoreAssoluto, + divisa, + @copertura as copertura +FROM c6mart.ANAG_PRODOTTI_VALUTE a +join c6mart.patrimonio_bf c +ON a.cod_prodotto = c.cod_prodotto +where + cod_fiscale = @CodiceFiscale + and rete = @Rete +group by divisa +order by valoreAssoluto desc + + +end + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_MP_FD148DistribuzioneAssetClass.sql b/sql/storedCollaudo/C6Mart_PL_MP_FD148DistribuzioneAssetClass.sql new file mode 100644 index 00000000..bcf47f08 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_MP_FD148DistribuzioneAssetClass.sql @@ -0,0 +1,27 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_MP_FD148DistribuzioneAssetClass + + + +CREATE procedure [C6Mart].[PL_MP_FD148DistribuzioneAssetClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT [Banca] + ,[ORDINAMENTO] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6StampeCentralizzate].[C6Mart].[TB_S148DistribuzioneAssetClass] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + +END + + diff --git a/sql/storedCollaudo/C6Mart_PL_S102DistribuzioneRischioCredito.sql b/sql/storedCollaudo/C6Mart_PL_S102DistribuzioneRischioCredito.sql new file mode 100644 index 00000000..cbfdad75 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S102DistribuzioneRischioCredito.sql @@ -0,0 +1,122 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S102DistribuzioneRischioCredito + + + +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= + + +-- [C6Mart].[PL_S102DistribuzioneRischioCredito] 'F','BRGGRL48H52G096C' +CREATE procedure [C6Mart].[PL_S102DistribuzioneRischioCredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Banca Fideuram', 'Sanpaolo Invest', 'IW Private Investments') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, + +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, + +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' WHEN PATRBF.RETE = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS INTERMEDIARIO, +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MART.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MART.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' WHEN PATRBF.RETE = 'S' THEN 'SANPAOLO' ELSE 'IWPRIVATEINVESTMENTS'END + +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NO diff --git a/sql/storedCollaudo/C6Mart_PL_S102DistribuzioneRischioCredito_OLD.sql b/sql/storedCollaudo/C6Mart_PL_S102DistribuzioneRischioCredito_OLD.sql new file mode 100644 index 00000000..0a5e5006 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S102DistribuzioneRischioCredito_OLD.sql @@ -0,0 +1,114 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S102DistribuzioneRischioCredito_OLD + + + +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S102DistribuzioneRischioCredito] 'F','BRZGPP39H08C352F' +CREATE procedure [C6Mart].[PL_S102DistribuzioneRischioCredito_OLD] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + + +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Banca Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' THEN CTV ELSE 0 END) AS CTV_Class1, +SUM(CASE WHEN RISKCLASS = 'Classe B' THEN CTV ELSE 0 END) AS CTV_Class2, +SUM(CASE WHEN RISKCLASS = 'Classe C' THEN CTV ELSE 0 END) AS CTV_Class3, +SUM(CASE WHEN RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) AS CTV_overClass3, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class1, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe B' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class2, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe C' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class3, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe D' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS perc_overClass3, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(ctv))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MART.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MART.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END + +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTER diff --git a/sql/storedCollaudo/C6Mart_PL_S102DistribuzioneRischioCredito_OLD2.sql b/sql/storedCollaudo/C6Mart_PL_S102DistribuzioneRischioCredito_OLD2.sql new file mode 100644 index 00000000..400ad390 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S102DistribuzioneRischioCredito_OLD2.sql @@ -0,0 +1,135 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S102DistribuzioneRischioCredito_OLD2 + + + + +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= + + +-- [C6Mart].[PL_S102DistribuzioneRischioCredito] 'F','GGGNNA41E59G687E' +CREATE procedure [C6Mart].[PL_S102DistribuzioneRischioCredito_OLD2] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Banca Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, + +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CTV))*100 END AS PERC_CreditRisk, + +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(ctv))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MART.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MART.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END + +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +--SUM(CTV) AS CTV +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MART].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_te diff --git a/sql/storedCollaudo/C6Mart_PL_S103TabellaEmittenti.sql b/sql/storedCollaudo/C6Mart_PL_S103TabellaEmittenti.sql new file mode 100644 index 00000000..987b4841 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S103TabellaEmittenti.sql @@ -0,0 +1,133 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S103TabellaEmittenti + + + +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [c6mart].[PL_S103TabellaEmittenti] 'F','BRGGRL48H52G096C' + +--select distinct creditriskclass from c6mart.patrimonio_emittenti + +CREATE procedure [C6Mart].[PL_S103TabellaEmittenti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + +declare @patr_compl decimal(18,3) +----Issuer +--CreditRisk +select @patr_compl=sum(ctv_prodotto) from +c6mart.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 + +SELECT +COD_FISCALE, +RETE, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +INTERMEDIARIO, +ISSUER, +STOCKSCounterValue, +bondsCounterValue, +CONCENTRATION_ISSUER, +CONCENTRATION, +NC +FROM +( + + +-- PER INTERMEDIARIO + + SELECT + COD_FISCALE, + RETE, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + case when sum(copertura) > 0 then 0 else 1 end as nc +FROM +( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + SUM(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + FROM c6mart.PATRIMONIO_EMITTENTI V + + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS +) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE + + UNION + SELECT + COD_FISCALE, + RETE, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FL diff --git a/sql/storedCollaudo/C6Mart_PL_S10PatrimonioFinanziario.sql b/sql/storedCollaudo/C6Mart_PL_S10PatrimonioFinanziario.sql new file mode 100644 index 00000000..fc9998f9 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S10PatrimonioFinanziario.sql @@ -0,0 +1,134 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S10PatrimonioFinanziario + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_S10PatrimonioFinanziario] 'S','LCRGPR67H19Z326U' +--[C6Mart].[PL_S10PatrimonioFinanziario] 'F','CTTCRL43E45H720U' +CREATE procedure [C6Mart].[PL_S10PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +SELECT + A.BANCA, + A.ORDINAMENTO, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,5)) Controvalore, + cast(A.Percentuale as decimal(19,5)) Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Banca Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + + UNION ALL + + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN C6Mart.ClientiConCCNegativo CCNegativo +---- ON PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- --PATRBF.TIPO_PRODOTTO = 'CC' +-- PATRBF.ID_AREA = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- --AND CCNegativo.Cod_Fiscale IS NULL + +-- UNION ALL + + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + UNION ALL + + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + ) VALORIASSET + INNER JOIN C6Mart.ASSETCLASS ASSETCLASS + ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +--V Aggiunto controllo che il cvt sia maggiore di zero, altrimenti +-- viene visualizzato sul report una riga con 0 +WHERE A.CONTROVALORE > 0 +ORDER BY A.ORDINAMENTO + +END + + + + + + + + + + + + +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_S10PatrimonioFinanziario] Script Date: 08/02/2022 16:50:06 ******/ diff --git a/sql/storedCollaudo/C6Mart_PL_S170LimitiMassimi.sql b/sql/storedCollaudo/C6Mart_PL_S170LimitiMassimi.sql new file mode 100644 index 00000000..e9a74a5b --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S170LimitiMassimi.sql @@ -0,0 +1,65 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S170LimitiMassimi + + + + + + +-- [C6Mart].[PL_S170LimitiMassimi] 'S', 'MRVGRG34L25A984D' +CREATE procedure [C6Mart].[PL_S170LimitiMassimi]--'F','CNCDNL73M56B300U' + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +-- 2/7/2018 - CR NAPOLITANO CASI 11-14 -> Persona Giuridica Retail con Nuovo questionario di profilatura (Legali Rappresentanti/Delegati NON Profilati) + +DECLARE @newLimiteProfilo varchar(20) + +if [C6Mart].[getIndicatoreValutazione] (@Rete,@CodiceFiscale, 4) = -1 + set @newLimiteProfilo = 'n.d.' +else + select @newLimiteProfilo = + case experience + when 0 then 'Minima' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + else '-' + + + end + from C6Mart.MIFID + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + + +select 'Limite massimo profilo', + '-' as Controvalore, + isnull(risk.descr, 0) as rischioCreditoMassimo, + isnull(CR.MAX_VAR, 0) as varMassimo, + '-' as Diversificazione, + @newLimiteProfilo as Complessita + +from C6Mart.MIFID AS M +left JOIN C6Mart.CODIFICA_RISCHIO AS CR +ON M.PROFILO_ASS = CR.PROFILO +left join [C6Staging].[RISKCLASS] risk +ON m.riskclass = risk.cod +WHERE +M.RETE = @Rete AND +M.COD_FISCALE = @CodiceFiscale + + +END + + + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_S181PreferenzeESG.sql b/sql/storedCollaudo/C6Mart_PL_S181PreferenzeESG.sql new file mode 100644 index 00000000..449cef51 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S181PreferenzeESG.sql @@ -0,0 +1,65 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S181PreferenzeESG + + + + + + + + + + + +-- Stored procedure + +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'VNZGPL53M04L781P' +CREATE procedure [C6Mart].[PL_S181PreferenzeESG] --'W','MLDDND66M21B967S' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + +SELECT esg.[rete] + ,esg.[cod_fiscale] + ,esg.[Preferenza_esg_cliente] + ,esg.[ESG_E] + ,esg.[ESG_S] + ,esg.[ESG_G] + ,CAST(ROUND(ISNULL(obiettivo_ESG_minimo, 0.00), 2) AS decimal(6, 2)) AS obiettivo_ESG_minimo + ,esg.[ESG_Rating] + ,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_E_perc + ,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_S_perc + ,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_G_perc + ,case when isnull(ind.percESG,'0.00')>=25 and isnull(ind.percESG,'0.00')<50 then 'Almeno pari al 25%' + when isnull(ind.percESG,'0.00')>=50 and isnull(ind.percESG,'0.00')<75 then 'Almeno pari al 50%' + when isnull(ind.percESG,'0.00')>=75 then 'Almeno pari al 75%' else 'n.d.' end as Pref_Sost + ,case when cle.U_PREFSOST='S' then 'Y' + when cle.U_PREFSOST='N' then 'N' else 'N' end as U_PREFSOST --Ulteriori Preferenze di Sostenibilit ----decommenta per ESG 2024 + ,case when cle.FLAGSFDR='S' then replace(cast(cle.SFDR_PERC as varchar(12)),'.00','')+'%' else '-' end as SFDR_PERC ----decommenta per ESG 2024 + ,case when cle.FLAGTAXO='S' then replace(cast(cle.TAXO_PERC as varchar(12)),'.00','')+'%' else '-' end as TAXO_PERC ----decommenta per ESG 2024 + ,case when isnull(cle.PAI_A,'')='' then '-' else cle.PAI_A end as PAI_A ----decommenta per ESG 2024 + ,case when isnull(cle.PAI_S,'')='' then '-' else cle.PAI_S end as PAI_S + ,case when ESG_E='Y' then cle.PERCAMB_OK ELSE NULL END AS E_PERC_OK--,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS E_PERC_OK ----decommenta per ESG 2024 + ,case when ESG_S='Y' then cle.PERCSOC_OK ELSE NULL END AS S_PERC_OK--,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS S_PERC_OK ----decommenta per ESG 2024 + ,case when ESG_G='Y' then cle.PERCGOV_OK ELSE NULL END AS G_PERC_OK--,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS G_PERC_OK ----decommenta per ESG 2024 + FROM [C6StampeCentralizzate].[C6Mart].[BrsClienteESG] esg + left join c6staging.VAR_ADEGUATEZZA_INDICATORI ind + on ind.rete=esg.rete and ind.CODICE_FISCALE=esg.cod_fiscale + left join C6Mart.W6CLIESG cle + on ind.rete=cle.rete and ind.CODICE_FISCALE=cle.CODFIS +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale + +END + + diff --git a/sql/storedCollaudo/C6Mart_PL_S182BISDettaglioProdottiESG.sql b/sql/storedCollaudo/C6Mart_PL_S182BISDettaglioProdottiESG.sql new file mode 100644 index 00000000..00b3b981 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S182BISDettaglioProdottiESG.sql @@ -0,0 +1,104 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S182BISDettaglioProdottiESG + + + + + + + + + +CREATE procedure [C6Mart].[PL_S182BISDettaglioProdottiESG] --'S','SNTCHR80A61D612V' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +0 as ORDINAMENTO_PROGETTO, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + --CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + + + --SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + --CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + + + + + + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + --CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS versato_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' +-- THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) +-- ELSE NULL +-- END AS MinusPlusValenza_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS MinusPlusValenza_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF +-- ELSE NULL +-- END AS somma_var_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA +-- diff --git a/sql/storedCollaudo/C6Mart_PL_S182DettaglioProdottiESG.sql b/sql/storedCollaudo/C6Mart_PL_S182DettaglioProdottiESG.sql new file mode 100644 index 00000000..22819e84 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S182DettaglioProdottiESG.sql @@ -0,0 +1,104 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S182DettaglioProdottiESG + + + + + + + + +CREATE procedure [C6Mart].[PL_S182DettaglioProdottiESG] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +0 as ORDINAMENTO_PROGETTO, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + --CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + + + --SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + --CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + + + + + + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + --CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS versato_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' +-- THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) +-- ELSE NULL +-- END AS MinusPlusValenza_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS MinusPlusValenza_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF +-- ELSE NULL +-- END AS somma_var_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA +-- ELSE NULL +-- END AS somma_c diff --git a/sql/storedCollaudo/C6Mart_PL_S183iCapital.sql b/sql/storedCollaudo/C6Mart_PL_S183iCapital.sql new file mode 100644 index 00000000..ada1d4c8 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S183iCapital.sql @@ -0,0 +1,120 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S183iCapital + + + + + + + + + + + + + +--Inv Investimento 021233XY004 BLACK ROCK EQT X 20230215 99999999 300000.000 0.000 300000.000 + +-- Stored procedure + +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= + +CREATE procedure [C6Mart].[PL_S183iCapital] --'S','DGSMHL70H08Z404F' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +--SELECT +-- 'Inv' as CodArea, +-- 'Investimento' as NomeArea, +-- '954572CO210' as CodiceContratto, +-- 'BlackRock' as ContrattoSGR, +-- 'Prodotto di Test' as NomeProdotto, +-- cast('05/04/2022' as varchar) as DataInizio, +-- cast('15/01/2023' as varchar) as DataFine, +-- cast('23468.230' as varchar) as Totale, +-- cast('632.234' as varchar) as ImportoVersato, +-- cast('326.263' as varchar) as ImportoDaVersare + +-- union all + +-- SELECT +-- 'Inv' as CodArea, +-- 'Investimento' as NomeArea, +-- '954572CO210' as CodiceContratto, +-- 'Fideuram' as ContrattoSGR, +-- 'Test con stesso NomeProdotto' as NomeProdotto, +-- cast('05/03/2022' as varchar) as DataInizio, +-- cast('15/02/2023' as varchar) as DataFine, +-- cast('238.230' as varchar) as Totale, +-- cast('2.234' as varchar) as ImportoVersato, +-- cast('36.263' as varchar) as ImportoDaVersare + +-- union all + +-- SELECT +-- 'Ris' as CodArea, +-- 'Riserva' as NomeArea, +-- '000000CO111' as CodiceContratto, +-- 'Fideuram' as ContrattoSGR, +-- 'Prodotto con codice diverso' as NomeProdotto, +-- cast('05/12/2020' as varchar) as DataInizio, +-- cast('15/01/2012' as varchar) as DataFine, +-- cast('23328.230' as varchar) as Totale, +-- cast('2123.234' as varchar) as ImportoVersato, +-- cast('362.263' as varchar) as ImportoDaVersare + + + SELECT +distinct +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS Codarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS NomeArea, +--CASE + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + --ELSE AREA.ORDINAMENTO +--END AS OrdineArea, +iCap.codconf as CodiceContratto, +iCap.sgr as ContrattoSGR, +iCap.descprod as NomeProdotto, +iCap.dtiniz as DataInizio, +iCap.dtfine as DataFine, +iCap.CTV_COMMIT as Totale, +iCap.impvers as ImportoVersato, +iCap.impres as ImportoDaVersare +from C6Mart.PATRIMONIO_BF PATRBF +INNER JOIN +C6Mart.AREA_BISOGNO AREA +ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +inner join C6Mart.WSEICAP iCap +on icap.codconf=PATRBF.ID_CONTRATTO +and icap.subprod=PATRBF.COD_SOTTOPRODOTTO +and icap.isin=patrbf.ISIN +where patrbf.RETE=@Rete +and patrbf.COD_FISCALE=@CodiceFiscale + +--select top(1) Codarea,NomeArea,CodiceContratto,ContrattoSGR,NomeProdotto,DataInizio,DataFine, +--cast(Totale as decimal(15,2))as Totale, +--cast(ImportoVersato as decimal(15,2))as ImportoVersato , +--cast(ImportoDaVersare as decimal(15,2)) as ImportoDaVersare +--from C6MartPeriodico.test_icapital +--where rete=@rete and CODiceFISCALE=@CodiceFiscale + + + +END + + diff --git a/sql/storedCollaudo/C6Mart_PL_S184CoerenzaESG.sql b/sql/storedCollaudo/C6Mart_PL_S184CoerenzaESG.sql new file mode 100644 index 00000000..0f3f3975 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S184CoerenzaESG.sql @@ -0,0 +1,40 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S184CoerenzaESG + + + + + + +--Inv Investimento 021233XY004 BLACK ROCK EQT X 20230215 99999999 300000.000 0.000 300000.000 + +-- Stored procedure + +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= + +create procedure [C6Mart].[PL_S184CoerenzaESG] --'S','DGSMHL70H08Z404F' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN +select Rete, + Codice_Fiscale, + case when percESG=25.00 then 'Almeno pari al 25%' + when percESG=50.00 then 'Almeno pari al 50%' + when percESG=75.00 then 'Almeno pari al 75%' + else 'n.d.' end as percESG, + pesoSostESG, + case when pesoSostESG>=percESG then 'S' else 'N' end as Coerenza +from C6Staging.VAR_ADEGUATEZZA_INDICATORI +where Rete=@Rete and CODICE_FISCALE=@CodiceFiscale + + +END + + diff --git a/sql/storedCollaudo/C6Mart_PL_S185UCaratteristicheESG.sql b/sql/storedCollaudo/C6Mart_PL_S185UCaratteristicheESG.sql new file mode 100644 index 00000000..53cf4c83 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S185UCaratteristicheESG.sql @@ -0,0 +1,130 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S185UCaratteristicheESG + + + + + + + + + + + + +CREATE procedure [C6Mart].[PL_S185UCaratteristicheESG] --'F','DCRCRL47S11D612N' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT + patrbf.cod_prodotto as COD_PRODOTTO, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + + + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + + +CASE + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',') --+ '%' +END AS PERC_INVESTIMENTO_SFDR, + +--aggiunta ESG 2024 +CASE + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 ----decommenta per ESG 2024 + THEN '-' ----decommenta per ESG 2024 + ELSE ----decommenta per ESG 2024 + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVEST_SFDR_MIN_SUST_E), '.', ',')-- + '%' ----decommenta per ESG 2024 +END AS PERC_INVESTIMENTO_SFDR_AMB, ----decommenta per ESG 2024 + --decommenta per ESG 2024 + --decommenta per ESG 2024 +CASE ----decommenta per ESG 2024 + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 ----decommenta per ESG 2024 + THEN '-' ----decommenta per ESG 2024 + ELSE ----decommenta per ESG 2024 + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVEST_SFDR_MIN_SUST_S), '.', ',')-- + '%' ----decommenta per ESG 2024 +END AS PERC_INVESTIMENTO_SFDR_SOC, ----decommenta per ESG 2024 + + + CASE + WHEN ISNULL(esg.PERC_INVESTIMENTO_TAXONOMY, 0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_TAXONOMY), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_TAXONOMY, + + isnull(esg.label_PAI_A,'-') as label_PAI_A, + isnull(esg.Label_PAI_S,'-') as label_PAI_S, + isnull(esg.Label_U_INFO_ESG,'-') as Label_U_INFO_ESG, + PATRBF.CTV AS Controvalore, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea + + + + + + + + --V + + + + +FROM +C6MART.PATRIMONIO_BF PATRBF +INNER JOIN +C6MART.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +left join [C6Staging].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = diff --git a/sql/storedCollaudo/C6Mart_PL_S186DettaglioPortafoglioSei.sql b/sql/storedCollaudo/C6Mart_PL_S186DettaglioPortafoglioSei.sql new file mode 100644 index 00000000..9f42a15a --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S186DettaglioPortafoglioSei.sql @@ -0,0 +1,102 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S186DettaglioPortafoglioSei + + + + + + + + + + + + + + + +CREATE procedure [C6Mart].[PL_S186DettaglioPortafoglioSei] --'F','RMNFNC55T03A783I' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +declare @appo table +( + [BFCTV] [decimal](15, 2) NULL, + [PatrimonioTerziCTV] [decimal](15, 2) NULL, + [FinanziarioCTV] [decimal](16, 2) NULL, + [FinanziarioPerc] [decimal](6, 2) NULL, + [ImmobiliareCTV] [decimal](15, 2) NULL, + [ImmobiliarePerc] [decimal](6, 2) NULL, + [AltroCTV] [decimal](15, 2) NULL, + [AltroPerc] [decimal](6, 2) NULL, + [TotaleCTV] [decimal](15, 2) NULL, + [ImmobiliarePQCTV] [decimal](15, 2) NULL + +) +--creo le tabelle di appoggio +insert into @appo exec [C6Mart].[PL_D2_S152Patrimonio] @Rete,@CodiceFiscale + +declare @TotCTV [decimal](15, 2) =(select [FinanziarioCTV] from @appo) + + + + +SELECT + + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + + PATRBF.CTV AS Controvalore, + SUM(PATRBF.CTV) OVER() AS SommaProdottiEsclusi, + --@TotCTV as PatrimonioFideuram, + SUM(CASE + WHEN PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV < 0 THEN 0 + ELSE PATRBF.CTV + END) OVER() AS SommaProdottiEsclusi, --per escludere i CC a Saldo Negativo +@TotCTV as PatrimonioFideuram, +@TotCTV-SUM(CASE + WHEN PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV < 0 THEN 0 + ELSE PATRBF.CTV + END) OVER() AS PortafoglioSei + --@TotCTV-SUM(PATRBF.CTV) OVER() as PortafoglioSei + +FROM C6MART.PATRIMONIO_BF PATRBF +INNER JOIN C6MART.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + + +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) + + +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + --AND ( + -- (PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV > 0) OR --per eliminare i CC a saldo Negativo + -- (PATRBF.TIPO_PRODOTTO <> 'CC' AND PATRBF.CTV <> 0) + -- ) + and PATRBF.Nob_Prez='S' + order by PATRBF.CTV desc + + + +END + + diff --git a/sql/storedCollaudo/C6Mart_PL_S187SfdrTaxESG.sql b/sql/storedCollaudo/C6Mart_PL_S187SfdrTaxESG.sql new file mode 100644 index 00000000..63386040 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S187SfdrTaxESG.sql @@ -0,0 +1,131 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S187SfdrTaxESG + + + + + + + + + + + + + + + + + +--select * from wh.Maledetti + + + +CREATE procedure [C6Mart].[PL_S187SfdrTaxESG]-- 'F','FRDGGN27C43L194Y' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6Mart.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale +declare @U_PREFSOST varchar(2) +select @U_PREFSOST=U_PREFSOST from [C6Mart].[W6CliESG] where rete=@Rete and codfis=@CodiceFiscale + + +if(@pref_esg='1' AND @U_PREFSOST='S') +begin + + select + 1 as ID, + 'Prodotti sostenibili SFDR' as Descrizione, + replace(cast(isnull(cli.SFDR_PERCT,0.00) as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union + select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilit' as Descrizione, + replace(cast(isnull(cli.SFDR_PERC_OK,000) as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,case when cli.FLAGSFDR='N' then 'Y' + else 'N' end as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 3 as ID, + 'Prodotti non sostenibili' as Descrizione, + replace(cast((100-isnull(cli.SFDR_PERCT,0.00))as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 5 as ID, + 'Prodotti ecosostenibili Taxonomy' as Descrizione, + replace(cast(isnull(cli.TAXO_PERCT,0.00) as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilit' as Descrizione, + replace(cast (isnull(cli.TAXO_PERC_OK,0.00) as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,case when cli.FLAGTAXO='N' then 'Y' + else 'N' end as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 7 as ID, + 'Prodotti non ecosostenibili' as Descrizione, + replace(cast((100-isnull(cli.TAXO_PERCT,0.00)) as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + + +-- select * from [C6Mart].[W6CliESG] cli + +end + +END + + diff --git a/sql/storedCollaudo/C6Mart_PL_S188PaiESG.sql b/sql/storedCollaudo/C6Mart_PL_S188PaiESG.sql new file mode 100644 index 00000000..93404cfc --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S188PaiESG.sql @@ -0,0 +1,116 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S188PaiESG + + + + + + + + + + + + + + + +--select * from wh.Maledetti + + + +CREATE procedure [C6Mart].[PL_S188PaiESG]-- 'F','FRDGGN27C43L194Y' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6Mart.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale +declare @U_PREFSOST varchar(2) +select @U_PREFSOST=U_PREFSOST from [C6Mart].[W6CliESG] where rete=@Rete and codfis=@CodiceFiscale + +if(@pref_esg='1' and @U_PREFSOST='S') +begin + +select 1 as ID, + 'Prodotti che considerano almeno un PAI ambientale' as Descrizione, + replace(cast(isnull(cli.PAIA_PERCT,0.00) as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilit' as Descrizione, + replace(cast(isnull(cli.PAIA_PERC_OK,0.00) as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,case when isnull(cli.PAI_A,'')='' then 'Y' + else 'N' end as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 3 as ID, + 'Prodotti che non considerano PAI ambientali' as Descrizione, + replace(cast((100-isnull(cli.PAIA_PERCT,0.00)) as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + union +select 5 as ID, + 'Prodotti che considerano almeno un PAI sociale' as Descrizione, + replace(cast(isnull(cli.PAIS_PERCT,0.00) as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilit' as Descrizione, + replace(cast(isnull(cli.PAIS_PERC_OK,0.00) as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,case when isnull(cli.PAI_S,'')='' then 'Y' + else 'N' end as isNA +from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 7 as ID, + 'Prodotti che non considerano PAI sociali' as Descrizione, + replace(cast((100-isnull(cli.PAIS_PERCT,0.00)) as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA + + +end +END + + diff --git a/sql/storedCollaudo/C6Mart_PL_S18PatrimonioFinanziarioRischio.sql b/sql/storedCollaudo/C6Mart_PL_S18PatrimonioFinanziarioRischio.sql new file mode 100644 index 00000000..36a79bef --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S18PatrimonioFinanziarioRischio.sql @@ -0,0 +1,98 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S18PatrimonioFinanziarioRischio + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S18PatrimonioFinanziarioRischio] 'F','SMPSMN76C26L157Y' +CREATE procedure [C6Mart].[PL_S18PatrimonioFinanziarioRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + DECLARE @varComplessivo DECIMAL(12,3) + DECLARE @varBF DECIMAL(12,3) + DECLARE @varTerzi DECIMAL(12,3) + DECLARE @coperturaBF DECIMAL(12,3) + DECLARE @coperturaTERZI DECIMAL(12,3) + DECLARE @coperturaCOMPLESSIVO DECIMAL(12,3) + DECLARE @codiceProfilo SMALLINT + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + + SELECT + @varComplessivo = VAR_PERC_PTF, + @coperturaCOMPLESSIVO = COPERTURA + FROM + C6Mart.RISCHIO_AGGREGATO AS RA + WHERE + RA.RETE = @Rete AND + RA.COD_FISCALE = @CodiceFiscale AND + RA.COD_AGGREG = 'COMPLESSIVO' + + SELECT + @varBF = VAR_PERC_PTF, + @coperturaBF = COPERTURA + FROM + C6Mart.RISCHIO_AGGREGATO AS RA + WHERE + RA.RETE = @Rete AND + RA.COD_FISCALE = @CodiceFiscale AND + RA.COD_AGGREG = 'COMPLESSIVO|BF' + + SELECT + @varTerzi = VAR_PERC_PTF, + @coperturaTERZI = COPERTURA + FROM + C6Mart.RISCHIO_AGGREGATO AS RA + WHERE + RA.RETE = @Rete AND + RA.COD_FISCALE = @CodiceFiscale AND + RA.COD_AGGREG = 'COMPLESSIVO|TERZI' + + SELECT + @codiceProfilo = M.PROFILO_ASS, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = CR.DESCRIZIONE + FROM + C6Mart.MIFID AS M + INNER JOIN C6Mart.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + + SELECT + @codiceProfilo as codiceProfilo, + @varProfilo as varProfilo, +-- isnull(@varComplessivo,0) as varComplessivo, +-- isnull(@varBF,0) as varBF, +-- isnull(@varTerzi,0) as varTerzi, + @varComplessivo as varComplessivo, + @varBF as varBF, + @varTerzi as varTerzi, + CASE + WHEN @coperturaCOMPLESSIVO IS NULL THEN 'n.c.' + WHEN @coperturaCOMPLESSIVO = 0 THEN 'n.c.' + ELSE NULL + END AS varComplessivoString, + CASE + WHEN @coperturaBF IS NULL THEN 'n.c.' + WHEN @coperturaBF = 0 THEN 'n.c.' + ELSE NULL + END AS varBFString, + CASE + WHEN @coperturaTERZI IS NULL THEN 'n.c.' + WHEN @coperturaTERZI = 0 THEN 'n.c.' + ELSE NULL + END AS varTerziString, + isnull(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo + +END + + diff --git a/sql/storedCollaudo/C6Mart_PL_S1Patrimonio.sql b/sql/storedCollaudo/C6Mart_PL_S1Patrimonio.sql new file mode 100644 index 00000000..3e1273c2 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S1Patrimonio.sql @@ -0,0 +1,116 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S1Patrimonio + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].PL_S1Patrimonio 'F','BRTVTR64T13L219G' +CREATE procedure [C6Mart].[PL_S1Patrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + + SELECT @PatrimonioBF=SUM(CTV) + FROM C6Mart.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + and patrBF.Cod_Fiscale = @CodiceFiscale + and patrBF.id_area <> 'CC' + + --select '@PaRT_VIAGGIANTI' + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Mart.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Mart.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + + + --select '@PatrimonioBF',@PatrimonioBF + + SELECT @PatrimonioTerzi=SUM(ROUND(CTV,2)) + FROM C6Mart.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + + --select '@PatrimonioTerzi',@PatrimonioTerzi + + SELECT @PatrimonioImmobiliare=SUM(patrImm.VALORE_STIMATO) + FROM C6Mart.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + + --select '@PatrimonioImmobiliare',@PatrimonioImmobiliare + +-- SELECT @CCBF=SUM(ccBB.saldo) +-- FROM C6Mart.ANAG_CC ccBB +-- WHERE +-- ccBB.Rete = @Rete +-- and ccBB.Cod_Fiscale = @CodiceFiscale + + --select '@CCBF',@CCBF + + SELECT @PatrimonioAltro=SUM(patrAltro.ctv) + FROM C6Mart.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + and patrAltro.Cod_Fiscale = @CodiceFiscale + + --select '@PatrimonioAltro',@PatrimonioAltro + + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF+ @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + --SET @CCBF = coalesce(@CCBF,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + +-- SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro+@CCBF,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + + + --select '@PatrimonioTotale',@PatrimonioTotale + +-- SELECT @PatrimonioBF + @CCBF as BFCTV, +-- @PatrimonioTerzi as PatrimonioTerziCTV, +-- @PatrimonioBF + @CCBF +@PatrimonioTerzi as FinanziarioCTV, +-- cast((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @CCBF + @PatrimonioTerzi)/ @PatrimonioTotale end) as Decimal(15,2)) * 100.00 as FinanziarioPerc, +-- @PatrimonioImmobiliare as ImmobiliareCTV, +-- cast(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end as Decimal(15,2)) *100.00 as ImmobiliarePerc, +-- @PatrimonioAltro as AltroCTV, +-- cast(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end as Decimal(15,2)) *100.00 as AltroPerc, +-- @PatrimonioTotale as TotaleCTV + + SELECT @PatrimonioBF as BFCTV, + @PatrimonioTerzi as PatrimonioTerziCTV, + @PatrimonioBF + @PatrimonioTerzi as FinanziarioCTV, + --cast((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) as Decimal(15,2)) * 100.00 as FinanziarioPerc, + convert(decimal(6,2),((c diff --git a/sql/storedCollaudo/C6Mart_PL_S23DettaglioRischio.sql b/sql/storedCollaudo/C6Mart_PL_S23DettaglioRischio.sql new file mode 100644 index 00000000..b2b82fc8 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S23DettaglioRischio.sql @@ -0,0 +1,82 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S23DettaglioRischio + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S23DettaglioRischio] 'F','BRDMRZ48E28D612K' +CREATE procedure [C6Mart].[PL_S23DettaglioRischio] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT DISTINCT + isnull(MIFID.PROFILO_ASS,0) as codiceProfilo, + + CASE + WHEN (CODRISCHIO.MAX_VAR is null) THEN 'n.c' + ELSE null + END as varProfiloMaxString, + + CODRISCHIO.MAX_VAR as varProfiloMax, + + MIFID.RISKCLASS AS CreditRiskMax, + CASE + WHEN MIFID.RISKCLASS IS NULL THEN 'n.c.' + ELSE NULL + END AS CreditRiskMaxString, + PT.INTERMEDIARIO AS Intermediario, + ISNULL(RISCHIO.VAR_PERC_PTF,0) as varIntermediario, + CASE + WHEN RISCHIO.COPERTURA = 0 THEN 'n.c.' + WHEN RISCHIO.COPERTURA IS NULL THEN 'n.c.' + ELSE NULL + END AS varIntermediarioString, + rischio.copertura as coperturaBF, + CASE + WHEN RISCHIO.COPERTURA = 0 THEN 'n.c.' + WHEN RISCHIO.COPERTURA IS NULL THEN 'n.c.' + ELSE NULL + END AS coperturaBFString, + + CASE + -- WHEN RISCHIO.COPERTURA > 0 AND RISCHIO.VAR_PERC_PTF <= CODRISCHIO.MAX_VAR THEN 1 + -- modified by mzaki + WHEN RISCHIO.COPERTURA > 0 AND RISCHIO.VAR_PERC_PTF <= CODRISCHIO.MAX_VAR + AND isnull(RISCHIO.CREDITRISK,0) <= MIFID.RISKCLASS THEN 1 + -- + WHEN RISCHIO.COPERTURA = 0 THEN -1 + ELSE 0 + END AS rispetto, + + ----------------------- + RISCHIO.CREDITRISK as creditRisk, + CASE + WHEN RISCHIO.CREDITRISK is null and RISCHIO.COPERTURA = 0 THEN 'n.c.' + WHEN RISCHIO.CREDITRISK is null and RISCHIO.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIO.CREDITRISK is null then 'n.a.' + ELSE null + END as creditRiskString + FROM C6MART.PATRIMONIO_TERZI PT + LEFT OUTER JOIN C6MART.RISCHIO_AGGREGATO RISCHIO + ON RISCHIO.RETE = PT.RETE + AND RISCHIO.COD_FISCALE = PT.COD_FISCALE + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|TERZI|' + PT.INTERMEDIARIO + LEFT JOIN C6MART.MIFID MIFID + ON MIFID.RETE = PT.RETE + AND MIFID.COD_FISCALE = PT.COD_FISCALE + LEFT JOIN C6MART.CODIFICA_RISCHIO CODRISCHIO + ON MIFID.PROFILO_ASS = CODRISCHIO.PROFILO + WHERE 1 = 1 +-- AND PT.TIPO_PRODOTTO <> 'Conti correnti' + AND PT.RETE = @Rete + AND PT.cod_fiscale = @CodiceFiscale + +END + + diff --git a/sql/storedCollaudo/C6Mart_PL_S25Anagrafica.sql b/sql/storedCollaudo/C6Mart_PL_S25Anagrafica.sql new file mode 100644 index 00000000..aeeb4069 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S25Anagrafica.sql @@ -0,0 +1,96 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S25Anagrafica + +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S25Anagrafica] 'F', 'FSTMRA69D23A501O' +CREATE procedure [C6Mart].[PL_S25Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + + + END + END AS NucleoFamiliare, + +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, + + REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + ISNULL(CONTRATTOSEI.CAP, '') + ' ' + CONTRATTOSEI.[Citta] + + ISNULL(' (' + CONTRATTOSEI.PROVINCIA + ')', '') AS Residenza, + + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_INZIOAVANZATO) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + null AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + + CONTRATTOSEI.[Provincia] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.vCONTRATTI AS CONTRATTOSEI --SEI -- TABELLA BASE + INNER JOIN + C6MART.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + INNER JOIN + C6MART.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + LEFT JOIN + C6MART.ANAG_CLIENTI_PREV + ON + ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + LEFT JOIN + C6MART.DATI_REPORT + ON + ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + WHERE 1 = 1 + AND ANAG_CLIENTI.RETE = @RETE + AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE + +END + + diff --git a/sql/storedCollaudo/C6Mart_PL_S26PatrimonioImmobiliare.sql b/sql/storedCollaudo/C6Mart_PL_S26PatrimonioImmobiliare.sql new file mode 100644 index 00000000..d5104b1a --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S26PatrimonioImmobiliare.sql @@ -0,0 +1,33 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S26PatrimonioImmobiliare + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_S26PatrimonioImmobiliare] 'F','PLZMRA41S41H501Z' +CREATE procedure [C6Mart].[PL_S26PatrimonioImmobiliare] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + SELECT + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + FROM C6MART.PATRIMONIO_IMMOBILIARE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +END + + + diff --git a/sql/storedCollaudo/C6Mart_PL_S27ALtroPatrimonio.sql b/sql/storedCollaudo/C6Mart_PL_S27ALtroPatrimonio.sql new file mode 100644 index 00000000..2a9756fb --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S27ALtroPatrimonio.sql @@ -0,0 +1,28 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S27ALtroPatrimonio + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_S27ALtroPatrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + SELECT + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM C6MART.PATRIMONIO_ALTRO + WHERE PATRIMONIO_ALTRO.RETE = @Rete + AND PATRIMONIO_ALTRO.COD_FISCALE = @CodiceFiscale + ORDER BY PATRIMONIO_ALTRO.CTV DESC +END + + + diff --git a/sql/storedCollaudo/C6Mart_PL_S2PatrimonioFinanziario.sql b/sql/storedCollaudo/C6Mart_PL_S2PatrimonioFinanziario.sql new file mode 100644 index 00000000..9fe9630b --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S2PatrimonioFinanziario.sql @@ -0,0 +1,135 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S2PatrimonioFinanziario + +-- ============================================= +-- Author: Luca De Lisio +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_S2PatrimonioFinanziario] 'S','LCRGPR67H19Z326U' +CREATE procedure [C6Mart].[PL_S2PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + +SELECT + A.BANCA, + A.ORDINAMENTO, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Banca Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + + --PRODOTTI BF ESCLUSI GLI ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + + UNION ALL + +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- +-- --V per i cc negativi vado sull'area della patrimonio bf essendo i pos in liq +-- --LEFT JOIN +-- -- C6Mart.ClientiConCCNegativo CCNegativo +-- -- ON +-- -- PATRBF.RETE = CCNegativo.Rete +-- -- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- --PATRBF.TIPO_PRODOTTO = 'CC' +-- PATRBF.ID_AREA <> 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- --AND CCNegativo.Cod_Fiscale IS NULL + +-- UNION ALL + + --DETTAGLIO ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + + UNION ALL + + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + + UNION ALL + + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT JOIN + C6MART.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_ diff --git a/sql/storedCollaudo/C6Mart_PL_S31PatrimonioFinanziarioIntermediario.sql b/sql/storedCollaudo/C6Mart_PL_S31PatrimonioFinanziarioIntermediario.sql new file mode 100644 index 00000000..5067ef5f --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S31PatrimonioFinanziarioIntermediario.sql @@ -0,0 +1,33 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S31PatrimonioFinanziarioIntermediario + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S31PatrimonioFinanziarioIntermediario] 'F','BRTVTR64T13L219G' +CREATE procedure [C6Mart].[PL_S31PatrimonioFinanziarioIntermediario] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + SELECT DISTINCT + PATRIMONIO_TERZI.INTERMEDIARIO as Intermediario, + SUM(ROUND(PATRIMONIO_TERZI.CTV,2)) OVER (PARTITION BY PATRIMONIO_TERZI.INTERMEDIARIO) as Controvalore, + (SUM(PATRIMONIO_TERZI.CTV) OVER (PARTITION BY PATRIMONIO_TERZI.INTERMEDIARIO)/ + SUM(PATRIMONIO_TERZI.CTV) OVER (PARTITION BY 'Totale'))*100 as Percentuale, + SUM(PATRIMONIO_TERZI.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM C6MART.PATRIMONIO_TERZI + WHERE PATRIMONIO_TERZI.RETE = @Rete + AND PATRIMONIO_TERZI.COD_FISCALE = @CodiceFiscale + ORDER BY PATRIMONIO_TERZI.INTERMEDIARIO + +END + + diff --git a/sql/storedCollaudo/C6Mart_PL_S32PatrimonioFinanziarioMAssetClass.sql b/sql/storedCollaudo/C6Mart_PL_S32PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..12b88e0a --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S32PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,77 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S32PatrimonioFinanziarioMAssetClass + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +--[C6Mart].[PL_S32PatrimonioFinanziarioMAssetClass] 'F','QGLLND58R42E897H' +--[C6Mart].[PL_S32PatrimonioFinanziarioMAssetClass] 'F','BRTVTR64T13L219G' +--[C6Mart].[PL_S32PatrimonioFinanziarioMAssetClass] 'F','LNTNNE59L06F205C' +--[C6Mart].[PL_S32PatrimonioFinanziarioMAssetClass] 'S', 'GHGGPP32M04L219F' +--[C6Mart].[PL_S32PatrimonioFinanziarioMAssetClass] 'S','GHGRTI63T44L219D' +CREATE procedure [C6Mart].[PL_S32PatrimonioFinanziarioMAssetClass] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT DISTINCT + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + CASE + WHEN SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') = 0 THEN 1 + ELSE SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + END + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + + UNION ALL + + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN C6MART.ASSET_PERC_TERZI ASSETPERC + ON PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + + ) VALORIASSET + INNER JOIN C6Mart.ASSETCLASS ASSETCLASS + ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + ORDER BY ASSETCLASS.ORDINAMENTO + +END + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_S36ProfiloRischio.sql b/sql/storedCollaudo/C6Mart_PL_S36ProfiloRischio.sql new file mode 100644 index 00000000..cb42f92d --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S36ProfiloRischio.sql @@ -0,0 +1,36 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S36ProfiloRischio + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S36ProfiloRischio] 'F','GRNNTN55B07I158D' +CREATE procedure [C6Mart].[PL_S36ProfiloRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + SELECT + M.PROFILO_ASS AS codiceProfilo, +-- CR.DESCRIZIONE AS nomeProfilo, + PR.NomeProfilo as nomeProfilo, + dbo.ToShortDateString(M.DATA_INIZIO_VAL) AS dataInizioValidita, + CR.MAX_VAR as varMassimo + FROM + C6Mart.MIFID AS M INNER JOIN + C6Mart.CODIFICA_RISCHIO AS CR ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN + dbo.ProfiliDiRischio as pr on + pr.CodiceProfilo = cr.profilo + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale +END + + diff --git a/sql/storedCollaudo/C6Mart_PL_S37PiramideModello.sql b/sql/storedCollaudo/C6Mart_PL_S37PiramideModello.sql new file mode 100644 index 00000000..4dd37eb2 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S37PiramideModello.sql @@ -0,0 +1,55 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S37PiramideModello + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S37PiramideModello] 'F','RSSGPL33R01L219K' +CREATE procedure [C6Mart].[PL_S37PiramideModello] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +-- VECCHIA VERSIONE CON UNA RIGA DI TROPPO PER L'AREA INV +-- SELECT +-- AREA_BISOGNO.ID_AREA AS Need_Breve, -- NOME BREVE DELL'AREA DI BISOGNO +-- PIRAMIDE_MOD.NOME_PROGETTO AS Nome_Progetto, -- NOME DEL PROGETTO (AREA INV) +-- ISNULL(PIRAMIDE_MOD.PERC_AREA,0) AS Perc_Need, -- PERCENTUALE DI ALLOCAZIONE SULL'AREA DI BISOGNO +-- PIRAMIDE_MOD.ORIZZ_TEMP AS Orizz_Temp, -- ORIZZONTE TEMPORALE DEL PROGETTO +-- SUM(CASE WHEN PIRAMIDE_MOD.NOME_PROGETTO IS NULL THEN ISNULL(PIRAMIDE_MOD.PERC_AREA,0) ELSE 0 END) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE, AREA_BISOGNO.ID_AREA) AS Totale_Percentuale, -- PERCENTUALE DI ALLOCAZIONE DEI PROGETTI +-- SUM(CASE WHEN PIRAMIDE_MOD.NOME_PROGETTO IS NULL THEN ISNULL(PIRAMIDE_MOD.PERC_AREA,0) ELSE 0 END) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE) AS Totale, +-- COUNT(CASE WHEN AREA_BISOGNO.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NOT NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE) AS NumeroProgettiInv, +-- AREA_BISOGNO.ORDINAMENTO +-- FROM C6MART.AREA_BISOGNO +-- LEFT JOIN C6MART.PIRAMIDE_MOD ON PIRAMIDE_MOD.ID_AREA = AREA_BISOGNO.ID_AREA +-- AND PIRAMIDE_MOD.RETE = @Rete +-- AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale +-- WHERE AREA_BISOGNO.ORDINAMENTO < 6 +-- ORDER BY AREA_BISOGNO.ORDINAMENTO + + SELECT + AREA_BISOGNO.ID_AREA AS Need_Breve, -- NOME BREVE DELL'AREA DI BISOGNO + PIRAMIDE_MOD.NOME_PROGETTO AS Nome_Progetto, -- NOME DEL PROGETTO (AREA INV) + ISNULL(PIRAMIDE_MOD.PERC_AREA,0) AS Perc_Need, -- PERCENTUALE DI ALLOCAZIONE SULL'AREA DI BISOGNO + PIRAMIDE_MOD.ORIZZ_TEMP AS Orizz_Temp, -- ORIZZONTE TEMPORALE DEL PROGETTO + SUM(ISNULL(PIRAMIDE_MOD.PERC_AREA,0)) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE, AREA_BISOGNO.ID_AREA) AS Totale_Percentuale, -- PERCENTUALE DI ALLOCAZIONE DEI PROGETTI + SUM(ISNULL(PIRAMIDE_MOD.PERC_AREA,0)) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE) AS Totale, + COUNT(CASE WHEN AREA_BISOGNO.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NOT NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE) AS NumeroProgettiInv, + AREA_BISOGNO.ORDINAMENTO + FROM C6MART.AREA_BISOGNO + LEFT JOIN C6MART.PIRAMIDE_MOD + ON PIRAMIDE_MOD.ID_AREA = AREA_BISOGNO.ID_AREA + AND((PIRAMIDE_MOD.ID_AREA = 'INV' AND (PIRAMIDE_MOD.NOME_PROGETTO IS NOT NULL OR PIRAMIDE_MOD.NOME_PROGETTO = 'Default')) + OR PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE')) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + WHERE AREA_BISOGNO.ORDINAMENTO < 6 + ORDER BY AREA_BISOGNO.ORDINAMENTO + +END + + + diff --git a/sql/storedCollaudo/C6Mart_PL_S42RischioDiversificazione.sql b/sql/storedCollaudo/C6Mart_PL_S42RischioDiversificazione.sql new file mode 100644 index 00000000..690ea024 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S42RischioDiversificazione.sql @@ -0,0 +1,96 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S42RischioDiversificazione + + + + + + +-- [C6Mart].[PL_S42RischioDiversificazione] 'F', 'RSSRRT43L14E591E' +CREATE procedure [C6Mart].[PL_S42RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +--V VARIABILI DI APPOGGIO PER LA VERIFICA SE IL CLIENTE HA SOLO CC + DECLARE @ESISTECC INT + DECLARE @NUMPOSIZIONI INT + + SELECT @ESISTECC = COUNT(DISTINCT COD_FISCALE) + FROM C6MART.PATRIMONIO_BF + WHERE ID_AREA = 'CC' + AND COD_FISCALE = @CodiceFiscale + GROUP BY ID_AREA + + SELECT @NUMPOSIZIONI = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE ID_AREA <> 'CC' + AND COD_FISCALE = @CodiceFiscale + + +SELECT +K.COD_FISCALE, +K.RETE, +VAR_PERC_PTF AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as varString, + CASE + WHEN (ISNULL(copertura,100) < 100) + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +--V solo CC allora la copertura 100 +CASE + WHEN (@ESISTECC - @NUMPOSIZIONI) > 0 THEN 100 + ELSE ISNULL(COPERTURA,0.00) +END AS COPERTURA, + + +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Banca Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine + +FROM +C6MART.RISCHIO_AGGREGATO K left outer JOIN c6mart.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Mart.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY 11 + + +END + + + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_S43ContoCorrenteBF.sql b/sql/storedCollaudo/C6Mart_PL_S43ContoCorrenteBF.sql new file mode 100644 index 00000000..08f6f91f --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S43ContoCorrenteBF.sql @@ -0,0 +1,38 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S43ContoCorrenteBF + + + +--[C6Mart].[PL_S43ContoCorrenteBF] 'F','QDRFNC49E21A367Z' +CREATE procedure [C6Mart].[PL_S43ContoCorrenteBF] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + dbo.ToShortDateString(ANAG_CC.DATA_APERTURA) AS datadiSottoscrizione, + ANAG_CC.COD_CC AS conto, + cast(ANAG_CC.SALDOCONTABILE as decimal(15,2)) as Controvalore, + cast(ANAG_CC.SALDODISPONIBILE as decimal(15,2)) as SALDO_DISPONIBILE, + null as creditrisk , + 'n.a.' as creditriskstring, + 0 as var, + null as varString, + 0 as totaleVar, + null as totaleVarString + + FROM + C6Mart.ANAG_CC + WHERE + ANAG_CC.rete= @Rete + AND ANAG_CC.cod_fiscale= @CodiceFiscale + AND ANAG_CC.SALDOCONTABILE < 0 + ORDER BY + ANAG_CC.SALDOCONTABILE DESC + +END + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_S43DettaglioProdottiBF.sql b/sql/storedCollaudo/C6Mart_PL_S43DettaglioProdottiBF.sql new file mode 100644 index 00000000..9cc5c8bb --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S43DettaglioProdottiBF.sql @@ -0,0 +1,96 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S43DettaglioProdottiBF + + + +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +-- ============================================= +-- cast(C6Mart.ANAG_CC.SALDO as decimal(15,2)) as Controvalore +-- [C6Mart].[PL_S43DettaglioProdottiBF] 'F', 'NDRRRT54L20D869S' +--SELECT * FROM PATR1 + +CREATE procedure [C6Mart].[PL_S43DettaglioProdottiBF] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009','EURO10000007') + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT +PATRBF.NOME_PROGETTO AS EE, PATRBF.ID_AREA, +CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID AS TMP, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA + END AS needarea, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS versato_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' + THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS MinusPlusValenza_need_prog, + C diff --git a/sql/storedCollaudo/C6Mart_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql b/sql/storedCollaudo/C6Mart_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql new file mode 100644 index 00000000..1c5d04f3 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql @@ -0,0 +1,98 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S43DettaglioProdottiBF_BK_eligoTitoli + + + + +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: + +-- ============================================= +-- cast(C6Mart.ANAG_CC.SALDO as decimal(15,2)) as Controvalore +-- [C6Mart].[PL_S43DettaglioProdottiBF] 'F', 'NDRRRT54L20D869S' +--SELECT * FROM PATR1 + +CREATE procedure [C6Mart].[PL_S43DettaglioProdottiBF_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + +SELECT +PATRBF.NOME_PROGETTO AS EE, PATRBF.ID_AREA, +CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID AS TMP, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA + END AS needarea, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS versato_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' + THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS MinusPlusValenza_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PAT diff --git a/sql/storedCollaudo/C6Mart_PL_S43LineaSelfBF.sql b/sql/storedCollaudo/C6Mart_PL_S43LineaSelfBF.sql new file mode 100644 index 00000000..cdfa5c01 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S43LineaSelfBF.sql @@ -0,0 +1,37 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S43LineaSelfBF + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S43LineaSelfBF] '','' +CREATE procedure [C6Mart].[PL_S43LineaSelfBF] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(datasott) as DataSott, + CodInterno, + CodSottoprodotto + FROM + C6Mart.ANAG_SELF LS + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND isnull(ctv,0) < 0 +END + + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql b/sql/storedCollaudo/C6Mart_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..23574300 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql @@ -0,0 +1,35 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S43LineaSelfBF_20181214_PreMioFoglio + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S43LineaSelfBF] '','' +CREATE procedure [C6Mart].[PL_S43LineaSelfBF_20181214_PreMioFoglio] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(datasott) as DataSott + FROM + C6Mart.ANAG_SELF LS + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND isnull(ctv,0) < 0 +END + + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_S47ContoCorrenteBF.sql b/sql/storedCollaudo/C6Mart_PL_S47ContoCorrenteBF.sql new file mode 100644 index 00000000..615f733e --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S47ContoCorrenteBF.sql @@ -0,0 +1,41 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S47ContoCorrenteBF + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6Mart].[PL_S47ContoCorrenteBF] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + + SELECT + dbo.ToShortDateString(ANAG_CC.DATA_APERTURA) AS datadiSottoscrizione, + ANAG_CC.COD_CC AS conto, + cast(ANAG_CC.SALDO as decimal(15,2)) as Controvalore, + null as creditrisk , + 'n.a.' as creditriskstring, + 0 as var, + null as varString, + 0 as totaleVar, + null as totaleVarString + FROM + C6Mart.ANAG_CC + WHERE + ANAG_CC.rete= @Rete + AND ANAG_CC.cod_fiscale= @CodiceFiscale + ORDER BY + ANAG_CC.SALDO DESC + + +END + diff --git a/sql/storedCollaudo/C6Mart_PL_S48DettaglioProdotti.sql b/sql/storedCollaudo/C6Mart_PL_S48DettaglioProdotti.sql new file mode 100644 index 00000000..9550d0a4 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S48DettaglioProdotti.sql @@ -0,0 +1,97 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S48DettaglioProdotti + + + +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S48DettaglioProdotti] 'f', 'BLLDRA53P28C894B' +CREATE procedure [C6Mart].[PL_S48DettaglioProdotti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + SELECT + + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK is NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6Mart.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6Mart.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6Mart.RISCHIO_AGG diff --git a/sql/storedCollaudo/C6Mart_PL_S49PolizzeAltriIstituti.sql b/sql/storedCollaudo/C6Mart_PL_S49PolizzeAltriIstituti.sql new file mode 100644 index 00000000..0eed1420 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S49PolizzeAltriIstituti.sql @@ -0,0 +1,72 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S49PolizzeAltriIstituti + +-- ============================================= +-- Author: Marco Gentilezza +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_S49PolizzeAltriIstituti] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +--SELECT +-- PATRTERZI..INTERMEDIARIO, +-- dbo.toShortDateString(PATRTERZI.DATA_sottoscrizione) AS DataDiSottoscrizione, +-- dbo.toShortDateString(PATRTERZI.DATA_scadenza) AS DataDiScadenza, +-- PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, +-- C6Mart.ANAG_PRODOTTi.NOME_PRODOTTO as Descrizione, +-- NULL AS Aggiornamento, +-- PATRTERZI.PREMIO AS PRESTAZIONEASSICURATA, +-- PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, +-- PATRTERZI.VERSATO_FP AS AmmontareVersamento +-- FROM +-- C6Mart.PATRIMONIO_TERZI PATRTERZI. +-- INNER JOIN ANAG_PRODOTTI_TERZI ANAGTERZI +-- ON +-- C6Mart.ANAG_PRODOTTI_TERZI.COD_PRODOTTO = PATRTERZI.COD_PRODOTTO +-- +-- left JOIN +-- C6Mart.Rischio_aggregato +-- ON PATRTERZI.RETE = C6Mart.Rischio_aggregato.RETE +-- and c6mart.RISCHIO_AggrEGATO.cod_aggrEG ='COMPLESSIVO|TERZI|' + PATRTERZI.COD_PRODOTTO +-- and PATRTERZI.cod_fiscale = C6Mart.Rischio_aggregato.cod_fiscale +-- +-- where PATRTERZI.RETE = @Rete +-- and PATRTERZI.COD_FISCALE = @CodiceFiscale +-- --and C6Mart.PATRIMONIO_BF.position_id =@PositionID +-- --AND coalesce(PATRTERZI.NUM_POLIZZA, '') <> '' +-- AND C6Mart.ANAG_PRODOTTI.DESCR_PRODOTTO = 'ASUL' +-- +-- +-- union +-- + + SELECT + + PATRTERZI.INTERMEDIARIO AS INTERMEDIARIO, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PRESTAZIONEASSICURATA, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + + FROM C6Mart.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6Mart.ANAG_PRODOTTI_TERZI ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' + WHERE PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + +END + + diff --git a/sql/storedCollaudo/C6Mart_PL_S50FondiAltriIstituti.sql b/sql/storedCollaudo/C6Mart_PL_S50FondiAltriIstituti.sql new file mode 100644 index 00000000..80e7bcc2 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S50FondiAltriIstituti.sql @@ -0,0 +1,73 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S50FondiAltriIstituti + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S50FondiAltriIstituti] 'F','BLLDRA53P28C894B' +CREATE procedure [C6Mart].[PL_S50FondiAltriIstituti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + PATRTERZI.INTERMEDIARIO, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DATASOTTOSCRIZIONE, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END as creditriskstring + + FROM + C6Mart.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6Mart.ANAG_PRODOTTI_terzi ANAGPRODTERZI + ON + PATRTERZI.cod_prodotto_terzi=ANAGPRODTERZI.cod_prodotto_terzi + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6Mart.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6Mart.RISCHIO_AGGREGATO RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + WHERE + PATRTERZI.rete = @Rete + and PATRTERZI.cod_fiscale = @CodiceFiscale + --AND PATRTERZI.TIPO_PRODOTTO = 'Fondi pensione' + + + +END + + + diff --git a/sql/storedCollaudo/C6Mart_PL_S51ContoCorrenteAI.sql b/sql/storedCollaudo/C6Mart_PL_S51ContoCorrenteAI.sql new file mode 100644 index 00000000..91708058 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S51ContoCorrenteAI.sql @@ -0,0 +1,36 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S51ContoCorrenteAI + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S51ContoCorrenteAI] 'F', 'SMPSMN76C26L157Y' +CREATE procedure [C6Mart].[PL_S51ContoCorrenteAI] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + CCTerzi.INTERMEDIARIO, + CCTerzi.COD_CC AS ContoCorrente, + CCTerzi.SALDO, + null as creditrisk, + 'n.a.' as creditriskstring, + 0.00 as var + FROM + C6Mart.ANAG_CC_Terzi CCTerzi + WHERE + CCTerzi.rete= @Rete + AND CCTerzi.cod_fiscale= @CodiceFiscale + +END + + + + diff --git a/sql/storedCollaudo/C6Mart_PL_S56PatrimonioBFAreeBisogno.sql b/sql/storedCollaudo/C6Mart_PL_S56PatrimonioBFAreeBisogno.sql new file mode 100644 index 00000000..8ad01af2 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S56PatrimonioBFAreeBisogno.sql @@ -0,0 +1,72 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S56PatrimonioBFAreeBisogno + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_S56PatrimonioBFAreeBisogno] 'F','TNNLGU58R01B259Y' +CREATE procedure [C6Mart].[PL_S56PatrimonioBFAreeBisogno] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + COALESCE(PIRAMIDE_VERT.CTV_AREA, 0.00) AS ControValore, + COALESCE( + CAST(100*(PIRAMIDE_VERT.CTV_AREA / + SUM(COALESCE(PIRAMIDE_VERT.CTV_AREA,0)) OVER (PARTITION BY PIRAMIDE_VERT.RETE, PIRAMIDE_VERT.COD_FISCALE)) AS DECIMAL(5,2)) + , 0.00) AS Peso, + COALESCE(RISCHIO_AGGREGATO.VAR_PERC_PTF, 0.00) AS Var_NeedArea, + NULL AS Var_NeedAreaString, + COALESCE(RISCHIO_AGGREGATO.COPERTURA, 0) AS Copertura_NeedArea, + CASE + WHEN RISCHIO_AGGREGATO.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIO_AGGREGATO.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS Copertura_NeedAreaString, + NULL AS RischioRelativo, -- TODO: CHIEDERE + NULL AS Nota, -- TODO: CHIEDERE + SUM(COALESCE(PIRAMIDE_VERT.CTV_AREA,0)) OVER (PARTITION BY 'Totale') AS Somma_Controval, + RISCHIO_TOTALE.VAR_PERC_PTF AS Var_tot, + RISCHIO_TOTALE.COPERTURA AS Copertura_tot, + CASE + WHEN RISCHIO_TOTALE.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIO_TOTALE.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS Copertura_totString + FROM C6MART.AREA_BISOGNO + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT RETE, COD_FISCALE, LEFT(ID_AREA,3) AS ID_AREA, SUM(COALESCE(CTV_AREA,0)) AS CTV_AREA + FROM C6MART.PIRAMIDE_VERT + WHERE PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + GROUP BY RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT ON PIRAMIDE_VERT.ID_AREA = AREA_BISOGNO.ID_AREA +-- LEFT JOIN C6MART.PIRAMIDE_VERT +-- ON LEFT(PIRAMIDE_VERT.ID_AREA,3) = AREA_BISOGNO.ID_AREA +-- AND PIRAMIDE_VERT.RETE = @Rete +-- AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + LEFT JOIN C6MART.RISCHIO_AGGREGATO + ON RISCHIO_AGGREGATO.COD_AGGREG = 'PIRAMIDE|' + LEFT(AREA_BISOGNO.ID_AREA,3) + AND RISCHIO_AGGREGATO.RETE = @Rete + AND RISCHIO_AGGREGATO.COD_FISCALE = @CodiceFiscale + LEFT JOIN C6MART.RISCHIO_AGGREGATO AS RISCHIO_TOTALE + ON RISCHIO_TOTALE.COD_AGGREG = 'PIRAMIDE' + AND RISCHIO_TOTALE.RETE = @Rete + AND RISCHIO_TOTALE.COD_FISCALE = @CodiceFiscale + WHERE AREA_BISOGNO.ORDINAMENTO < 6 + ORDER BY AREA_BISOGNO.ORDINAMENTO + +END + + + diff --git a/sql/storedCollaudo/C6Mart_PL_S57ConfrontoPiramidi.sql b/sql/storedCollaudo/C6Mart_PL_S57ConfrontoPiramidi.sql new file mode 100644 index 00000000..9a688f87 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S57ConfrontoPiramidi.sql @@ -0,0 +1,127 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S57ConfrontoPiramidi + + +-- Stored procedure + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6Mart].PL_S57ConfrontoPiramidi 'F','BCCPRZ62A58G713Y' +-- CHIEDERE A FABRIZIO, case @TOTControvaloreModello when 0 .... +CREATE procedure [C6Mart].[PL_S57ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +-- DECLARE @minGradoCoperura AS INT +-- SET @minGradoCoperura = CAST(dbo.getParametro('MINGRADOCOPERTURA') AS INT) + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + (SELECT PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + SUM(PIRAMIDE_MOD.PERC_AREA) AS PERC_AREA + FROM C6MART.PIRAMIDE_MOD + WHERE + PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC', 'INV' ) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + GROUP BY PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA) AS PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + LEFT(ID_AREA,3) AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MART.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + OR ( + PIRAMIDE_MOD.ID_AREA = 'INV' + -- AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL + )) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + + IF(@@ROWCOUNT>0) + + BEGIN + + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc') + + + --V + DECLARE @TOTCC DECIMAL (20,2) + SELECT @TOTCC = ISNULL(CONTROVALORE,0) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'Cc' + + --V +-- DECLARE @TOTNA DECIMAL (20,2) +-- SELECT @TOTCC = ISNULL(CONTROVALORE,0) +-- FROM #PIRAMIDE_VERT ATTUALE +-- WHERE ATTUALE.RETE = @Rete +-- AND ATTUALE.COD_FISCALE = @CodiceFiscale +-- AND ID_AREA = 'Na' + + --V + DECLARE @TOT DECIMAL (20,2) + SELECT @TOT = SUM(ISNULL(CONTROVALORE,0)) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + + + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + -- V D S + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE I diff --git a/sql/storedCollaudo/C6Mart_PL_S6PatrimonioFinanziario.sql b/sql/storedCollaudo/C6Mart_PL_S6PatrimonioFinanziario.sql new file mode 100644 index 00000000..b190414f --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S6PatrimonioFinanziario.sql @@ -0,0 +1,172 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S6PatrimonioFinanziario + + +-- Stored procedure + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S6PatrimonioFinanziario] 'S','LCRGPR67H19Z326U' +CREATE procedure [C6Mart].[PL_S6PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + + DECLARE @NOMERETE VARCHAR(20) + + IF @Rete = 'F' + SET @NOMERETE = 'Banca Fideuram' + ELSE IF @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + + SELECT + Intermediario, + Ordine, + Banca, + Controvalore, + Percentuale + FROM + ( + SELECT DISTINCT + Intermediario, + Ordine, + @NOMERETE AS Banca, + -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv + SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine)) / + (SUM(ctv) over (partition by 'Totale')) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + @NOMERETE AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6Mart.PATRIMONIO_BF patrBF + /*LEFT JOIN C6Mart.ClientiConCCNegativo CCNegativo + ON PATRBF.RETE = CCNegativo.Rete + AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale + AND PATRBF.TIPO_PRODOTTO = 'CC'*/ + + + WHERE 1 = 1 + AND patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO + AND patrBF.CTV > = 0 + and patrBF.id_area <> 'cc' --essendo in liquidit ci sono solo i negativi + + UNION ALL + + SELECT + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6Mart.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + AND patrTerzi.Rete = @Rete + AND patrTerzi.Cod_Fiscale = @CodiceFiscale + GROUP BY patrTerzi.Intermediario + + ) PATR + + ) A + WHERE CONTROVALORE IS NOT NULL + + ORDER BY Ordine + +END + + + + + + + + + + + + + + + + + + + +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_S6PatrimonioFinanziario] Script Date: 08/02/2022 16:56:07 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO + +---- Stored procedure + + +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +---- [C6Mart].[PL_S6PatrimonioFinanziario] 'S','LCRGPR67H19Z326U' +--ALTER procedure [C6Mart].[PL_S6PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from + +-- DECLARE @NOMERETE VARCHAR(20) + +-- IF @Rete = 'F' +-- SET @NOMERETE = 'Banca Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' + +-- SELECT +-- Intermediario, +-- Ordine, +-- Banca, +-- Controvalore, +-- Percentuale +-- FROM +-- ( +-- SELECT DISTINCT +-- Intermediario, +-- Ordine, +-- @NOMERETE AS Banca, +-- -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv +-- SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, +-- ( +-- (SUM(ctv) over (partition by Intermediario,Ordine)) / +-- (SUM(ctv) over (partition by 'Totale')) +-- ) * 100 AS PERCENTUALE +-- FROM +-- ( +-- SELECT +-- @NOMERETE AS Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 1 AS ordine +-- FROM C6Mart.PATRIMONIO_BF patrBF +-- /*LEFT JOIN C6Mart.ClientiConCCNegativo CCNegativo +-- ON PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- AND PATRBF.TIPO_PRODOTTO = 'CC'*/ + + +-- WHERE 1 = 1 +-- AND patrBF.Rete = @Rete +-- AND patrBF.Cod_Fiscale = @Codice diff --git a/sql/storedCollaudo/C6Mart_PL_S75GradoCopertura.sql b/sql/storedCollaudo/C6Mart_PL_S75GradoCopertura.sql new file mode 100644 index 00000000..fc4e7088 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S75GradoCopertura.sql @@ -0,0 +1,117 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S75GradoCopertura + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S75GradoCopertura] 'F','SMPSMN76C26L157Y' +CREATE procedure [C6Mart].[PL_S75GradoCopertura] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + DECLARE @varCompl decimal(15,3) + DECLARE @coperturaCompl decimal(15,3) + DECLARE @ctvCompl decimal(15,3) + DECLARE @saldoCC decimal(15,3) + + --CALCOLO PATRIMONI E ESTRAZIONE VAR + SELECT + @Rete AS Rete, + @CodiceFiscale as CodiceFiscale, + CASE @Rete + WHEN 'F' THEN 'Patrimonio Banca Fideuram' + WHEN 'S' THEN 'Patrimonio Sanpaolo Invest' + ELSE 'Patrimonio IW Private Inv.' + END AS NomePatrimonio, +-- MAX(patrBF.CTV - patrBF.ContoCorrente) AS Controvalore, +-- MAX(patrBF.ContoCorrente) AS ControvaloreCC, +-- MAX(RISCHIO.VAR_PERC_PTF) AS VarPatrimonio, +-- MAX(RISCHIO.COPERTURA) AS Copertura, + patrBF.PatrimonioSenzaCC AS Controvalore, + --patrBF.CTV - patrBF.ContoCorrente AS Controvalore, + patrBF.ContoCorrente AS ControvaloreCC, + RISCHIO.VAR_PERC_PTF AS VarPatrimonio, + RISCHIO.COPERTURA AS Copertura, + 1 AS ORDINE INTO #TEMP75 + + FROM C6Mart.vPatrimoniobfAggregato patrBF + LEFT OUTER JOIN C6Mart.RISCHIO_AGGREGATO RISCHIO + ON RISCHIO.RETE = patrBF.RETE + AND RISCHIO.Cod_Fiscale = patrBF.Cod_Fiscale + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|BF' + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + --AND patrBF.PatrimonioSenzaCC > 0 + + UNION ALL + + SELECT A.Rete,A.CodiceFiscale,A.NomePatrimonio,A.Controvalore,A.ControvaloreCC,A.VarPatrimonio,A.Copertura,A.ORDINE + FROM( + SELECT + @Rete AS Rete, + @CodiceFiscale as CodiceFiscale, + 'Patrimonio altri Istituti' AS NomePatrimonio, + SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END,2)) AS Controvalore, + SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN patrTerzi.CTV ELSE 0 END,2)) AS ControvaloreCC, + MAX(RISCHIO.VAR_PERC_PTF) as VarPatrimonio, + MAX(RISCHIO.COPERTURA) as Copertura, + 2 AS ORDINE + FROM C6Mart.PATRIMONIO_TERZI patrTerzi + LEFT OUTER JOIN C6Mart.RISCHIO_AGGREGATO RISCHIO + ON RISCHIO.RETE = patrTerzi.RETE + AND RISCHIO.COD_FISCALE = patrTerzi.COD_FISCALE + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|TERZI' + WHERE + patrTerzi.Rete = @Rete + AND patrTerzi.COD_FISCALE = @CodiceFiscale + ) A + WHERE ISNULL(A.CONTROVALORE,0)>0 + + -- SE IL PATRIMONIO SOLO 1 NON VA CALCOLATO IL COMPLESSIVO + IF @@ROWCOUNT > 1 + BEGIN + + --CALCOLO IL PATRIMONIO COMPLESSIVO ED ESTRAGGO IL VAR + SELECT + @ctvCompl=SUM(patr.CONTROVALORE), + @saldoCC=SUM(patr.CONTROVALORECC), + @varCompl=MAX(RISCHIO.VAR_PERC_PTF), + @coperturaCompl=MAX(RISCHIO.COPERTURA) + FROM #TEMP75 patr + LEFT OUTER JOIN C6Mart.RISCHIO_AGGREGATO RISCHIO + ON RISCHIO.RETE = patr.RETE + AND RISCHIO.COD_FISCALE = patr.CodiceFiscale + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO' + + --RESTITUISCO I PATRIMONI + SELECT + ORDINE, + NOMEPATRIMONIO, + CONTROVALORE, + CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END as CCPRESENTE, + (CONTROVALORE/@CTVCompl)*100 as PERCENTUALE, + VARPATRIMONIO AS VAR, + COPERTURA, +-- CASE COPERTURA WHEN 0 THEN 'n.c.' ELSE NULL END AS varString, +-- CASE COPERTURA WHEN 0 THEN 'n.c.' ELSE NULL END AS coperturaString + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS varString, + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS coperturaString, + + -- aggiunta per valutare la presenza di controcorrente + CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as No diff --git a/sql/storedCollaudo/C6Mart_PL_S76PatrimonioNonRappresentabileAssettClass.sql b/sql/storedCollaudo/C6Mart_PL_S76PatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..cc8e84d4 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S76PatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,129 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S76PatrimonioNonRappresentabileAssettClass + +-- ============================================= +-- Author: Luca De Lisio +-- Create date: 04/12/2008 +-- Description: +-- ============================================= +--[C6Mart].[PL_S76PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +CREATE procedure [C6Mart].[PL_S76PatrimonioNonRappresentabileAssettClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Banca Fideuram' + ELSE IF @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + + UNION ALL + + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MART.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO + ORDER BY CONTROVALORE DESC + +END + + + + + + + + + + + +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_S76PatrimonioNonRappresentabileAssettClass] Script Date: 08/02/2022 17:04:40 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: Luca De Lisio +---- Create date: 04/12/2008 +---- Description: +---- ============================================= +----[C6Mart].[PL_S76PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +--ALTER procedure [C6Mart].[PL_S76PatrimonioNonRappresentabileAssettClass] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) + +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. + +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @RETE = 'F' +-- SET @NOMERETE = 'Banca Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' + +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- PATRBF.CTV as Controvalore, +-- PATRBF.CTV as controvalore_contratto, +-- PATRBF.PARTVIA_DISINV as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PR diff --git a/sql/storedCollaudo/C6Mart_PL_S95ProfiloDiRischio.sql b/sql/storedCollaudo/C6Mart_PL_S95ProfiloDiRischio.sql new file mode 100644 index 00000000..97948759 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S95ProfiloDiRischio.sql @@ -0,0 +1,61 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S95ProfiloDiRischio + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S95ProfiloDiRischio] 'F','BBBPSN44E20B041U' +CREATE procedure [C6Mart].[PL_S95ProfiloDiRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + + + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6Mart.MIFID AS M + INNER JOIN C6Mart.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskClass, + @experience as experince + +END + + + diff --git a/sql/storedCollaudo/C6Mart_PL_S96RischiomercatoRischiocredito.sql b/sql/storedCollaudo/C6Mart_PL_S96RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..bf86ce73 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S96RischiomercatoRischiocredito.sql @@ -0,0 +1,134 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S96RischiomercatoRischiocredito + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6Mart].[PL_S96RischiomercatoRischiocredito] 'S','92004630635' +CREATE procedure [C6Mart].[PL_S96RischiomercatoRischiocredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + + --V La copertura viene valorizzata con un valore da 0 da 100 + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + -- ELSE NULL + -- END AS COVERAGESTRING, + NULL AS COVERAGESTRING, + + + M.RISKCLASS AS RISKCLASSMAX, + (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) )*100 AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6mart.patrimonio_bf PATRBF,C6Mart.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.cod_fiscale = @codiceFiscale + and PATRBF.rete= @rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END + + + UNION + + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6mart.PATRIMONIO_TERZI TERZI,C6Mart.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.cod_fiscale =@codiceFiscale + and TERZI.rete=@rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + + ) PATRBF + LEFT OUTER JOIN + c6mart.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6mart.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6mart.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6mart.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Banca Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= ' diff --git a/sql/storedCollaudo/C6Mart_PL_S96RischiomercatoRischiocredito_old.sql b/sql/storedCollaudo/C6Mart_PL_S96RischiomercatoRischiocredito_old.sql new file mode 100644 index 00000000..bd10d1e5 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_S96RischiomercatoRischiocredito_old.sql @@ -0,0 +1,139 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_S96RischiomercatoRischiocredito_old + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6Mart].[PL_S96RischiomercatoRischiocredito] 'F','BRNDRA65B04B300I' +CREATE procedure [C6Mart].[PL_S96RischiomercatoRischiocredito_old] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + --V VARIABILI DI APPOGGIO PER LA VERIFICA SE IL CLIENTE HA SOLO CC + DECLARE @ESISTECC INT + DECLARE @NUMPOSIZIONI INT + + SELECT @ESISTECC = COUNT(DISTINCT COD_FISCALE) + FROM C6MART.PATRIMONIO_BF + WHERE ID_AREA = 'CC' + AND COD_FISCALE = @CodiceFiscale + GROUP BY ID_AREA + + SELECT @NUMPOSIZIONI = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE ID_AREA <> 'CC' + AND COD_FISCALE = @CodiceFiscale + + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + + CASE WHEN (@ESISTECC - @NUMPOSIZIONI) > 0 and institutename in ('Patrimonio Banca Fideuram','Patrimonio Sanpaolo Invest') THEN 0 + ELSE RISK_AGG.VAR_PERC_PTF + END AS VAR , + + CASE + WHEN (@ESISTECC - @NUMPOSIZIONI) > 0 THEN NULL + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN (@ESISTECC - @NUMPOSIZIONI) > 0 THEN 'n.a.' + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + CASE + WHEN (@ESISTECC - @NUMPOSIZIONI) > 0 THEN 100 + ELSE ISNULL(RISK_AGG.COPERTURA,0.00) + END AS COVERAGE, + CASE + WHEN (@ESISTECC - @NUMPOSIZIONI) > 0 THEN NULL + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) )*100 AS PERCENTAGE, + ORDINE + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + 1 as ORDINE + from + c6mart.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale = @codiceFiscale + and rete= @rete + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + + UNION + + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + --SUM(TERZI.CTV) AS CTV, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + 2 as ORDINE + FROM + C6MART.PATRIMONIO_TERZI TERZI + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + + ) PATRBF + LEFT OUTER JOIN + C6Mart.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN C6Mart.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6mart.CODIFICA_CREDITRISK CK + ON +-- tringali + M.riskclass=CK.PROFILO + -- M.PROFILO_ASS=CK.PROFILO + LEFT OUTER JOIN + c6mart.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Banca Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPL diff --git a/sql/storedCollaudo/C6Mart_PL_SavingMap.sql b/sql/storedCollaudo/C6Mart_PL_SavingMap.sql new file mode 100644 index 00000000..65b9a775 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PL_SavingMap.sql @@ -0,0 +1,34 @@ +-- Schema: C6Mart +-- Stored Procedure: PL_SavingMap + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_SavingMap] 'S','BCCNCL47B10H769B','507112FO702' --'000001VP001' +create procedure [C6Mart].[PL_SavingMap] + + @rete varchar(1), + @codfis varchar(16), + @codConf varchar(11) + + +AS + +BEGIN + + declare @ris as int + declare @ritorno as int + + -- viene passato il contratto di un foglio: verifico se su questo attivo saving map L'informazione contenuta nella colonna MAF del cc + + select @ritorno = (select count(*) from c6mart.patrimonio_bf where + cod_fiscale = @codfis and rete = @rete and cod_maf = @codConf ) + + + select @ritorno + + +END + diff --git a/sql/storedCollaudo/C6Mart_PROM_TuttiIPortafogli.sql b/sql/storedCollaudo/C6Mart_PROM_TuttiIPortafogli.sql new file mode 100644 index 00000000..5a92dd75 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PROM_TuttiIPortafogli.sql @@ -0,0 +1,99 @@ +-- Schema: C6Mart +-- Stored Procedure: PROM_TuttiIPortafogli + +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +--[C6Mart].[PROM_TuttiIPortafogli] +CREATE procedure [C6Mart].[PROM_TuttiIPortafogli] + -- Add the parameters for the stored procedure here +AS +BEGIN + +SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,cast([CtvNominale] as varchar) as CtvNominale + ,cast([CtvReale] as varchar) as CtvReale + + + +FROM ( + + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Mart].[vTuttiIPortafogli] --[C6StampeCentralizzate] + + union all + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Mart].[vTuttiIPortafogli_ccLiq] --[C6StampeCentralizzate] +) T + +order by rete,codiceFiscale,Portafoglio + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +END + + + + + diff --git a/sql/storedCollaudo/C6Mart_PROM_TuttiIPortafogli_old.sql b/sql/storedCollaudo/C6Mart_PROM_TuttiIPortafogli_old.sql new file mode 100644 index 00000000..24d6f72f --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PROM_TuttiIPortafogli_old.sql @@ -0,0 +1,74 @@ +-- Schema: C6Mart +-- Stored Procedure: PROM_TuttiIPortafogli_old + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +--[C6Mart].[PROM_TuttiIPortafogli] +CREATE procedure [C6Mart].[PROM_TuttiIPortafogli_old] + -- Add the parameters for the stored procedure here +AS +BEGIN + +SELECT + + A.Rete, + A.CodiceFiscale, + A.Portafoglio, + A.CodiceProdotto, + A.Piazza, + A.CodiceValuta, + A.Classe, + CAST(A.CtvNominale AS VARCHAR(50)) AS CtvNominale, + CAST(A.CtvReale AS VARCHAR(50))AS CtvReale + +FROM( + + SELECT + Rete, + CodiceFiscale, + Portafoglio, + CodiceProdotto, + Piazza, + CodiceValuta, + Classe, + --V Gestione CC negativo + CASE + when CtvNominale < 0 then 0 + else CtvNominale + END AS CtvNominale, + CASE + when CtvReale < 0 then 0 + else CtvReale + END AS CtvReale + FROM [C6Mart].[vTuttiIPortafogli] + + + UNION + + SELECT + Rete, + CodiceFiscale, + REPLACE(Portafoglio,'COMPLESSIVO|BF|RISFIN|','PIRAMIDE|'), + CodiceProdotto, + Piazza, + CodiceValuta, + Classe, + CtvNominale, + CtvReale + FROM [C6Mart].[vTuttiIPortafogli] + where PORTAFOGLIO LIKE 'COMPLESSIVO|BF|RISFIN%' + AND PORTAFOGLIO NOT LIKE 'COMPLESSIVO|BF|RISFIN|NA%' + AND PORTAFOGLIO NOT LIKE 'COMPLESSIVO|BF|CC|%' + +) A +--WHERE RTRIM(LTRIM(ISNULL(A.CodiceProdotto,'$'))) <> '$' +ORDER BY 1,2,3 + +END + + + diff --git a/sql/storedCollaudo/C6Mart_Popola_S133_S157DatiPiramide.sql b/sql/storedCollaudo/C6Mart_Popola_S133_S157DatiPiramide.sql new file mode 100644 index 00000000..34e5aecf --- /dev/null +++ b/sql/storedCollaudo/C6Mart_Popola_S133_S157DatiPiramide.sql @@ -0,0 +1,44 @@ +-- Schema: C6Mart +-- Stored Procedure: Popola_S133_S157DatiPiramide + + + + + + + + + +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) + +CREATE procedure [c6mart].[Popola_S133_S157DatiPiramide] +AS +BEGIN + + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT_TEMP + FROM + C6Mart.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MART.PATRIMONIO_BF PIRAMIDE_VERT + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_ARE diff --git a/sql/storedCollaudo/C6Mart_Popola_S148DistribuzioneAssetClass.sql b/sql/storedCollaudo/C6Mart_Popola_S148DistribuzioneAssetClass.sql new file mode 100644 index 00000000..3faf3941 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_Popola_S148DistribuzioneAssetClass.sql @@ -0,0 +1,110 @@ +-- Schema: C6Mart +-- Stored Procedure: Popola_S148DistribuzioneAssetClass + + + + + +--[c6mart].[Popola_S148DistribuzioneAssetClass] 'F','LRNRMR33D51C166I' +CREATE procedure [C6Mart].[Popola_S148DistribuzioneAssetClass] + -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN + +truncate table c6mart.TB_S148DistribuzioneAssetClass +INSERT INTO c6mart.TB_S148DistribuzioneAssetClass +--SELECT @Rete as Rete, @CodiceFiscale as CodiceFiscale, +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Banca Fideuram' +-- END AS Banca, + select rete, + cod_fiscale, + CASE rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ORDINAMENTO, + AssetClassId, + AssetClassName, + SUM(Controvalore) As Controvalore, + --SUM(CONTROVALORE) / Totale As Percentuale, + SUM(CONTROVALORE) / Totale * 100 As Percentuale, + Totale +FROM +( + + +SELECT rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, + --ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'Totale') * 100, 2) AS Percentuale, + cast(ROUND(SUM(Controvalore) OVER (PARTITION BY 'Totale',rete,cod_fiscale),2) as decimal(19,5)) AS Totale + FROM ( + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM c6mart.PATRIMONIO_BF AS PATR_BF + INNER JOIN c6mart.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE +--inizio interventi OMNIA +-- PATR_BF.ID_AREA NOT IN ('Cc','Pre1','Pre2','Pre') + PATR_BF.ID_AREA NOT IN ('SELF','Cc','Pre1','Pre2','Pre') +--fine interventi OMNIA + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + --AND PATR_BF.COD_FISCALE= @CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM c6mart.DETTAGLIO_ASUL ASUL + INNER JOIN c6mart.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN c6mart.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + --ASUL.RETE = @Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM c6mart.PATRIMONIO_BF ASUL + INNER JOIN c6mart.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + WHERE + --ASUL.RET diff --git a/sql/storedCollaudo/C6Mart_Popolamento_RP_W6DAILY.sql b/sql/storedCollaudo/C6Mart_Popolamento_RP_W6DAILY.sql new file mode 100644 index 00000000..54cd1d12 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_Popolamento_RP_W6DAILY.sql @@ -0,0 +1,126 @@ +-- Schema: C6Mart +-- Stored Procedure: Popolamento_RP_W6DAILY + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6Mart].[Popolamento_RP_W6DAILY] + +AS +BEGIN + + SET NOCOUNT ON; + + --dichiaro variabile data di trimestrale + DECLARE @dttrim int + + --valorizzo la data di trimestrale al giorno del congelamento + set @dttrim = CAST(CONVERT(varchar, CAST(getdate() as DATETIME),112) as int) + --print @dttrim + + --Tronchiamo la tabella RP_vTuttiIPortafogli_Aladdin_tab e la ripopoliamo + --a partire dalla vista RP_vTuttiIPortafogli_Aladdin + + Truncate table C6StampeCentralizzate.C6Mart.w6daily + -- + insert into C6StampeCentralizzate.C6Mart.w6daily + select + 'G' as FLGCLI , + 'M' as FLGBL , + 'A' as TIPOELA, + @dttrim as DTTRIM, + rete, + codfis, + piva, + codman, + '' as CODFID, + '' as CODAGE, + CASE + --WHEN cod_interno <> 'SINT3MEUR' and famprodt = 'DT' THEN isnull(cod_interno,'') + WHEN ((cod_interno <> 'SINT3MEUR' and cod_interno <> 'SINT6MEUR') and famprodt = 'DT') THEN isnull(cod_interno,'') + ELSE '' + END as CODABI, + ISNULL(termid,00000000), + cast(annos as int) as anno , + cast(progs as int) as prog , + 0 as quote, + cast(ctvreale as float) as CTV, + codconf, --17 + rubr, + custgar, + ISNULL(cod_interno,''), + '' as codana, + CASE + WHEN cast(annos as int) <> 0 and cast(progs as int) <> 0 then 'S' + ELSE 'N' + END as FLAGPCT, + --CASE + -- WHEN famprodt <> 'DT' and famprodt <> 'CC' THEN isnull(cod_interno,'') + -- ELSE '' + --END + '' as codprod, + ISNULL(cod_sottoprodotto,''), + ISNULL(cod_isin,''), + '' as codlinea, + tipoptf, + area, + progetto, + isnull(codprj,'') as codprj, + ISNULL(chiave_prodotto_terzi,''), + ISNULL(assetterzi,''), + ISNULL(famprodt,''), + ISNULL(intermediario,''), + ISNULL(codiceadeguatezza,''), + ISNULL(cod_maf,''), + conto, + numpolizza, + position_id, + '' as PREFSOST, + '' as FLAGAMB, + '' as FLAGSOC, + '' as FLAGGOV + from [C6StampeCentralizzate].[C6Mart].[RP_vTuttiIPortafogli_Aladdin] + + -- Aggiungiamo le informazioni mancanti per il codman piva_fiduciaria + update C6StampeCentralizzate.C6Mart.w6daily + set codprj = '' + where codprj = 0 + + select substring(b.codicefiscale,4,len(b.codicefiscale)) as codman,b.rete,b.pivafiduciaria into + #tab + from C6StampeCentralizzate.C6Mart.w6daily a + inner join (select distinct rete,codicefiscale,pivafiduciaria from [C6StampeCentralizzate].[C6Staging].[SPB_CONTR_SINTESI] where pivafiduciaria is not null ) b + on a.rete=b.rete and isnull(a.codman,'')=isnull(substring(b.codicefiscale,4,len(b.codicefiscale)),'') + + + --select b.cod_mandato,b.rete,b.piva_fiduciaria into + -- #tab + -- FROM + -- [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] a + -- inner join (select distinct rete,cod_mandato,piva_fiduciaria from [C6StampeCentralizzate].[C6StagingPeriodico].[APPO_CONTRATTI_V] where cod_mandato<>'') b + -- on a.rete= b.rete and isnull(a.codman,'')=isnull(b.cod_mandato,'') + + update C6StampeCentralizzate.C6Mart.w6daily + set piva = pivafiduciaria + from #tab tab + inner join C6StampeCentralizzate.C6Mart.w6daily as a + on a.rete= tab.rete and isnull(a.codman,'')=isnull(tab.codman,'') + + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + -- set piva = piva_fiduciaria + -- from #tab tab + -- inner join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] as a + -- on a.rete= tab.rete and isnull(a.codman,'')=isnull(tab.cod_mandato,'') + + update C6StampeCentralizzate.C6Mart.w6daily + set codage = isnull(appo.CODAGENTE,'') + from C6StampeCentralizzate.C6Mart.w6daily w + left join (select distinct [RETE],[CODAGENTE],[CODICEFISCALE],[PIVAFIDUCIARIA] from [C6StampeCentralizzate].[C6Staging].[SPB_CONTR_SINTESI] ) appo + on w.rete= appo.rete and isnull(w.codfis,'') = isnull(appo.CODICEFISCALE,'') + + ----1 update per CF + --u diff --git a/sql/storedCollaudo/C6Mart_PreCheckIDX.sql b/sql/storedCollaudo/C6Mart_PreCheckIDX.sql new file mode 100644 index 00000000..37a56cf1 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_PreCheckIDX.sql @@ -0,0 +1,74 @@ +-- Schema: C6Mart +-- Stored Procedure: PreCheckIDX + +CREATE procedure C6Mart.PreCheckIDX + +as +begin + declare @Rete varchar(1) + declare @CodiceFiscale varchar(20) + declare @idReport int + + declare @Riga varchar(2000) + declare @id int + + declare @flagRigaOk int + + declare @dataGenerazione datetime + declare @dataVenerdi datetime + + declare @giorniDietro int + + set @Riga = '' + set @id = 0 + + set @dataVenerdi = getdate() + + set @giorniDietro = + case DATEPART(dw, @dataVenerdi) + when 2 then 0 + when 3 then 1 + when 4 then 2 + when 5 then 3 + when 6 then 4 + when 7 then 5 + when 1 then 6 + end + + set @dataVenerdi = convert(varchar(4), year(@dataVenerdi)) + right('0' + convert(varchar(2), month(@dataVenerdi)), 2) + right('0' + convert(varchar(2), day(@dataVenerdi)), 2) + + set @dataGenerazione = dateadd(d, -@giorniDietro, @dataVenerdi) + + create table #tIdx (id int, Riga varchar(2000), flagOk int) + + declare cur cursor for + select Rete, CodiceFiscale, idReport from c6mart.gestione_pdf_ftp where datagenerazione >= @dataGenerazione + --and id_Fk_zip = -1 + + open cur + + fetch next from cur into @Rete, @CodiceFiscale, @idReport + + while @@fetch_status = 0 + begin + set @id = @id + 1 + set @Riga = C6Mart.Concatena_Check(@Rete, @CodiceFiscale, @idReport) + + if isnull(@Riga, '') = '' + set @flagRigaOk = 0 + else + set @flagRigaOk = 1 + + insert into #tIdx (id, Riga, flagOk) values (@id, @Riga, @flagRigaOk) + + fetch next from cur into @Rete, @CodiceFiscale, @idReport + + end + + close cur + deallocate cur + + select * from #tIdx + + drop table #tIdx +end diff --git a/sql/storedCollaudo/C6Mart_RM_Sintesi_Cliente.sql b/sql/storedCollaudo/C6Mart_RM_Sintesi_Cliente.sql new file mode 100644 index 00000000..81659d62 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RM_Sintesi_Cliente.sql @@ -0,0 +1,38 @@ +-- Schema: C6Mart +-- Stored Procedure: RM_Sintesi_Cliente + +-- [C6Mart].[RM_Sintesi_Cliente] 179 +CREATE procedure [C6Mart].[RM_Sintesi_Cliente] + + @IdReport INT + +AS +BEGIN + SET NOCOUNT ON; + + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS NomeCognome, + ANAG_CLIENTI.DATA_NASCITA AS DataNascita, + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + ISNULL(CONTRATTOSEI.INDIRIZZO,'') + ' ' + + ISNULL(CONTRATTOSEI.CAP,'') + ' ' + + ISNULL(CONTRATTOSEI.CITTA,'') + + CASE + WHEN CONTRATTOSEI.PROV IS NULL THEN '' + ELSE ' (' + CONTRATTOSEI.PROV + ')' + END AS IndirizzoDiContratto, + isnull(CONTRATTOSEI.PRESSO,'') AS Presso + FROM C6MART.GESTIONE_PDF_FTP + INNER JOIN C6MART.CONTRATTOSEI + ON CONTRATTOSEI.RETE = GESTIONE_PDF_FTP.RETE + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CODICEFISCALE + INNER JOIN C6MART.ANAG_CLIENTI + ON ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + WHERE GESTIONE_PDF_FTP.IDREPORT = @IdReport + +END + + + diff --git a/sql/storedCollaudo/C6Mart_RP_AggiornaFlagContratto.sql b/sql/storedCollaudo/C6Mart_RP_AggiornaFlagContratto.sql new file mode 100644 index 00000000..aaac8c29 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_AggiornaFlagContratto.sql @@ -0,0 +1,140 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_AggiornaFlagContratto + + + + + + + +--select * from C6Mart.CONTRATTOSEI_METADATI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6Mart].[RP_AggiornaFlagContratto] +AS +BEGIN +-- SET NOCOUNT ON added to prevent extra result sets from +-- interfering with SELECT statements. +-- SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_AggiornaFlagContratto', + GETDATE(), + 'Elaborazione giornaliera' + ) +/* +select top 1 * +from C6Mart.CONTRATTOSEI_METADATI where risorseNa is null +*/ + --AGGIORNAMENTO TABELLA CONTRATTOSEI + --FLAG RISORSE NON ASSOCIATE + --SOLO PER I CLIENTI A CUI ANDREBBE INVIATO IL REPORT + UPDATE C6Mart.CONTRATTOSEI_METADATI + SET + RisorseNA = + CASE + WHEN CLIENTIRISNA.percRisorseNA >= CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2)) THEN 'S' + ELSE 'N' + END + --AGGIUNTA perch mancava, FABRIZIO E VALERIO per Azzeramento numero solleciti email + --,NumSolleciti = + -- CASE + -- WHEN (C6.ClienteMigrato = 'S') and (CLIENTIRISNA.percRisorseNA < CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2))) THEN 0 + -- ELSE NumSolleciti + -- END + FROM C6Mart.CONTRATTOSEI_METADATI C6 + JOIN + C6MART.VCONTRATTI VCONTR + + ON + C6.CHIAVECLIENTEPB = VCONTR.CHIAVECLIENTEPB + LEFT JOIN ( + + SELECT + NA.RETE, + NA.COD_FISCALE, + CASE + WHEN TOT.CTVTOTALE = 0 THEN 0 + ELSE 100 * NA.CTVNA / TOT.CTVTOTALE + END AS percRisorseNA + FROM ( + SELECT + ISNULL(SUM(PATRBF.CTV),0) AS CTVNA, + PATRBF.RETE, PATRBF.COD_FISCALE + + FROM C6Mart.PATRIMONIO_BF PATRBF + --INNER JOIN C6Mart.RP_vTuttiIContratti VCONTRATTIPERSEI + -- ON PATRBF.RETE = VCONTRATTIPERSEI.RETE + -- AND PATRBF.COD_FISCALE = VCONTRATTIPERSEI.COD_FISCALE + WHERE ID_AREA = 'Na' + GROUP BY + + PATRBF.RETE, PATRBF.COD_FISCALE + ) NA + INNER JOIN ( + SELECT + SUM(PATRBF.CTV) AS CTVTOTALE, + PATRBF.RETE, PATRBF.COD_FISCALE + FROM C6Mart.PATRIMONIO_BF PATRBF + + WHERE ID_AREA <> 'Cc' + GROUP BY + PATRBF.RETE, PATRBF.COD_FISCALE + ) TOT + ON TOT.RETE = NA.RETE AND TOT.COD_FISCALE = NA.COD_FISCALE + + + ) CLIENTIRISNA + + ON VCONTR.RETE = CLIENTIRISNA.RETE + AND VCONTR.COD_FISCALE = CLIENTIRISNA.COD_FISCALE + + WHERE C6.InvioBenvenuto = 'N' + + --V Aggiorna il flag Profilo Attivo per i clienti che non hanno ricevuto il report + UPDATE C6MART.CONTRATTOSEI_METADATI + SET profiloAttivo = CASE WHEN (ISNULL(MIFID.SCADUTO,1) = 1) THEN 0 ELSE 1 end + FROM C6MART.CONTRATTOSEI_METADATI + JOIN C6MART.VCONTRATTI + ON VCONTRATTI.CHIAVECLIENTEPB = CONTRATTOSEI_METADATI.CHIAVECLIENTEPB + LEFT JOIN C6MART.MIFID + --ON CONTRATTOSEI_METADATI.chiaveClientePB = MIFID.chiaveClientePB + ON MIFID.RETE = VCONTRATTI.RETE + AND MIFID.COD_FISCALE = VCONTRATTI.COD_FISCALE + WHERE InvioBenvenuto = 'N' + +--select * from C6MART.VCONTRATTI + + --V Aggiorna i dati di migrazione + UPDATE C6MART.CONTRATTOSEI_METADATI + -------------en 20161026 clienti automaticamente migrati + SET clienteMigrato = 'S' + --case when (C6Staging.RP_Migraz_Pianificazione.chiaveClientePB is null) then 'N' + --else 'S' + --END + FROM C6MART.CONTRATTOSEI_METADATI + LEFT JOIN C6Staging.RP_Pianificazione + ON CONTRATTOSEI_METADATI.chiaveClientePB = C6Staging.RP_Pianificazione.chiaveClientePb + --LEFT JOIN C6Staging.RP_Migraz_Pianificazione + --ON CONTRATTOSEI_METADATI.chiaveClientePB = C6Staging.RP_Migraz_Pianificazione.chiaveClientePb + + + WHERE InvioBenvenuto = 'N' + +-- Profilo Esperienze e Conoscenze EC aggiunto 30/06/2022 + +update C6MART.CONTRATTOSEI_METADATI +set PROFILO_EC= case when MIFID.EXPERIENCE>=1 then 1 + when MIFID.EXPERIENCE<1 then 0 + else NULL end +from C6MART.CONTRATTOSEI_METADATI +JOIN C6MART.VCONTRATTI +ON VCONTRATTI.CHIAVECLIENTEPB = CONTRATTOSEI_METADATI.CHIAVECLIENTEPB +LE diff --git a/sql/storedCollaudo/C6Mart_RP_AggiornaFlagContratto_20161026.sql b/sql/storedCollaudo/C6Mart_RP_AggiornaFlagContratto_20161026.sql new file mode 100644 index 00000000..e4fffdc1 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_AggiornaFlagContratto_20161026.sql @@ -0,0 +1,147 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_AggiornaFlagContratto_20161026 + + +--select * from C6Mart.CONTRATTOSEI_METADATI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6Mart].[RP_AggiornaFlagContratto_20161026] +AS +BEGIN +-- SET NOCOUNT ON added to prevent extra result sets from +-- interfering with SELECT statements. +-- SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_AggiornaFlagContratto', + GETDATE(), + 'Elaborazione giornaliera' + ) +/* +select top 1 * +from C6Mart.CONTRATTOSEI_METADATI where risorseNa is null +*/ + --AGGIORNAMENTO TABELLA CONTRATTOSEI + --FLAG RISORSE NON ASSOCIATE + --SOLO PER I CLIENTI A CUI ANDREBBE INVIATO IL REPORT + UPDATE C6Mart.CONTRATTOSEI_METADATI + SET + RisorseNA = + CASE + WHEN CLIENTIRISNA.percRisorseNA >= CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2)) THEN 'S' + ELSE 'N' + END + --AGGIUNTA perch mancava, FABRIZIO E VALERIO per Azzeramento numero solleciti email + --,NumSolleciti = + -- CASE + -- WHEN (C6.ClienteMigrato = 'S') and (CLIENTIRISNA.percRisorseNA < CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2))) THEN 0 + -- ELSE NumSolleciti + -- END + FROM C6Mart.CONTRATTOSEI_METADATI C6 + JOIN + C6MART.VCONTRATTI VCONTR + + ON + C6.CHIAVECLIENTEPB = VCONTR.CHIAVECLIENTEPB + LEFT JOIN ( + + SELECT + NA.RETE, + NA.COD_FISCALE, + CASE + WHEN TOT.CTVTOTALE = 0 THEN 0 + ELSE 100 * NA.CTVNA / TOT.CTVTOTALE + END AS percRisorseNA + FROM ( + SELECT + ISNULL(SUM(PATRBF.CTV),0) AS CTVNA, + PATRBF.RETE, PATRBF.COD_FISCALE + + FROM C6Mart.PATRIMONIO_BF PATRBF + --INNER JOIN C6Mart.RP_vTuttiIContratti VCONTRATTIPERSEI + -- ON PATRBF.RETE = VCONTRATTIPERSEI.RETE + -- AND PATRBF.COD_FISCALE = VCONTRATTIPERSEI.COD_FISCALE + WHERE ID_AREA = 'Na' + GROUP BY + + PATRBF.RETE, PATRBF.COD_FISCALE + ) NA + INNER JOIN ( + SELECT + SUM(PATRBF.CTV) AS CTVTOTALE, + PATRBF.RETE, PATRBF.COD_FISCALE + FROM C6Mart.PATRIMONIO_BF PATRBF + + WHERE ID_AREA <> 'Cc' + GROUP BY + PATRBF.RETE, PATRBF.COD_FISCALE + ) TOT + ON TOT.RETE = NA.RETE AND TOT.COD_FISCALE = NA.COD_FISCALE + + + ) CLIENTIRISNA + + ON VCONTR.RETE = CLIENTIRISNA.RETE + AND VCONTR.COD_FISCALE = CLIENTIRISNA.COD_FISCALE + + WHERE C6.InvioBenvenuto = 'N' + + --V Aggiorna il flag Profilo Attivo per i clienti che non hanno ricevuto il report + UPDATE C6MART.CONTRATTOSEI_METADATI + SET profiloAttivo = CASE WHEN (ISNULL(MIFID.SCADUTO,1) = 1) THEN 0 ELSE 1 end + FROM C6MART.CONTRATTOSEI_METADATI + JOIN C6MART.VCONTRATTI + ON VCONTRATTI.CHIAVECLIENTEPB = CONTRATTOSEI_METADATI.CHIAVECLIENTEPB + LEFT JOIN C6MART.MIFID + --ON CONTRATTOSEI_METADATI.chiaveClientePB = MIFID.chiaveClientePB + ON MIFID.RETE = VCONTRATTI.RETE + AND MIFID.COD_FISCALE = VCONTRATTI.COD_FISCALE + WHERE InvioBenvenuto = 'N' + +--select * from C6MART.VCONTRATTI + + --V Aggiorna i dati di migrazione + UPDATE C6MART.CONTRATTOSEI_METADATI + SET clienteMigrato = + case when (C6Staging.RP_Migraz_Pianificazione.chiaveClientePB is null) then 'N' + else 'S' + END + FROM C6MART.CONTRATTOSEI_METADATI + LEFT JOIN C6Staging.RP_Migraz_Pianificazione + ON CONTRATTOSEI_METADATI.chiaveClientePB = C6Staging.RP_Migraz_Pianificazione.chiaveClientePb + + + WHERE InvioBenvenuto = 'N' + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_AggiornaFlagContratto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_AggiornaFlagContratto' + ) + + +END + + + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_ANAG_CC.sql b/sql/storedCollaudo/C6Mart_RP_DM_ANAG_CC.sql new file mode 100644 index 00000000..4b74aa29 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_ANAG_CC.sql @@ -0,0 +1,104 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_ANAG_CC + + +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ANAG_CC] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CC', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.ANAG_CC + + INSERT INTO [C6Mart].[ANAG_CC] + ( +--chiaveClientePB +-- , + [RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDOCONTABILE] + ,[SALDODISPONIBILE] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + -- 20170421 elimina duplicati + --SELECT + SELECT DISTINCT +-- VCONTRATTI.chiaveclientepb, + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + 'BANCA FIDEURAM' AS INTERMEDIARIO, + NULL AS COINTEST, + SPB_CONTR_SINTESI.CONTO AS COD_CC, + NULL AS FASCIA_CPP, + SPB_CONTR_SINTESI.CTV AS SALDOCONTABILE, + -- diverso da quello restituito dalla contratto sintesi CC.SALDOCONTABILE AS SALDOCONTABILE, + CC.SALDODISPONIBILE AS SALDODISPONIBILE, + SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO C6MART.ANAG_CC + FROM C6STAGING.SPB_CONTR_SINTESI + LEFT JOIN C6MART.VCONTRATTI ON VCONTRATTI.CODICECONTRATTO = SPB_CONTR_SINTESI.CODICECONTRATTO + --V Aggiunta del saldo contabile e disponibile + JOIN C6STAGING.SPB_CONTOCORRENTE CC + ON SPB_CONTR_SINTESI.CONTO = CC.CONTO + AND SPB_CONTR_SINTESI.RETE = CC.RETE + AND SPB_CONTR_SINTESI.CODICEFISCALE = CC.CODICEFISCALE + + WHERE SPB_CONTR_SINTESI.TIPOPRODOTTO = 'Cc' AND VCONTRATTI.DATA_FINEAVANZATO is null + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CC' + ) + +END + + +--select * from c6mart.RP_vContrattiNonGenerati + + + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_ANAG_CC_20170421.sql b/sql/storedCollaudo/C6Mart_RP_DM_ANAG_CC_20170421.sql new file mode 100644 index 00000000..29ac7b9a --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_ANAG_CC_20170421.sql @@ -0,0 +1,102 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_ANAG_CC_20170421 + + +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ANAG_CC_20170421] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CC', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.ANAG_CC + + INSERT INTO [C6Mart].[ANAG_CC] + ( +--chiaveClientePB +-- , + [RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDOCONTABILE] + ,[SALDODISPONIBILE] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT +-- VCONTRATTI.chiaveclientepb, + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + 'BANCA FIDEURAM' AS INTERMEDIARIO, + NULL AS COINTEST, + SPB_CONTR_SINTESI.CONTO AS COD_CC, + NULL AS FASCIA_CPP, + SPB_CONTR_SINTESI.CTV AS SALDOCONTABILE, + -- diverso da quello restituito dalla contratto sintesi CC.SALDOCONTABILE AS SALDOCONTABILE, + CC.SALDODISPONIBILE AS SALDODISPONIBILE, + SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO C6MART.ANAG_CC + FROM C6STAGING.SPB_CONTR_SINTESI + LEFT JOIN C6MART.VCONTRATTI ON VCONTRATTI.CODICECONTRATTO = SPB_CONTR_SINTESI.CODICECONTRATTO + --V Aggiunta del saldo contabile e disponibile + JOIN C6STAGING.SPB_CONTOCORRENTE CC + ON SPB_CONTR_SINTESI.CONTO = CC.CONTO + AND SPB_CONTR_SINTESI.RETE = CC.RETE + AND SPB_CONTR_SINTESI.CODICEFISCALE = CC.CODICEFISCALE + + WHERE SPB_CONTR_SINTESI.TIPOPRODOTTO = 'Cc' AND VCONTRATTI.DATA_FINEAVANZATO is null + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CC' + ) + +END + + +--select * from c6mart.RP_vContrattiNonGenerati + + + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_ANAG_CC_TERZI.sql b/sql/storedCollaudo/C6Mart_RP_DM_ANAG_CC_TERZI.sql new file mode 100644 index 00000000..1b5033c6 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_ANAG_CC_TERZI.sql @@ -0,0 +1,126 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_ANAG_CC_TERZI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ANAG_CC_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + --DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + --SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CC_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.ANAG_CC_TERZI + + INSERT INTO [C6Mart].[ANAG_CC_TERZI] + ( +-- chiaveClientePB +-- , + [RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDO] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB]) + + --conticorrenti.Saldo, + --conticorrenti.Contocorrente, + --sum (conticorrenti.Saldo) over (partition by conticorrenti.chiaveclientepb) as totalesaldo, + --conticorrenti.Intermediario + + --Tutti i ContiCorrenti Terzi non a catalogo + SELECT +-- VCONTRATTI.chiaveclientepb, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + dettProdT.nomeIntermediario AS INTERMEDIARIO, + NULL AS COINTEST, + patrT.nomeProdotto AS COD_CC, + NULL AS FASCIA_CPP, + patrT.ctv AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + --INTO C6MART.ANAG_CC_TERZI + FROM + C6Staging.RP_PatrimonioTerzi patrT, + C6Staging.RP_DettProdottiTerzi dettProdT, + c6staging.RP_AnAlberatura alber, + C6Mart.VCONTRATTI + WHERE + dettProdT.Alberatura = alber.Alberatura + AND dettProdT.chiaveProdotto IS NULL + AND patrT.chiaveProdottoTerzi = dettProdT.chiaveProdottoTerzi + AND patrT.chiaveClientePB = VCONTRATTI.chiaveClientePB + AND alber.Livello3= 'Conti correnti' + AND patrT.tipoProd= 'Assets.FinancialAssets.CurrentAccount' + UNION ALL + --'Conti Correnti Terzi in catalogo' + SELECT +-- VCONTRATTI.chiaveclientepb, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + dettProdT.nomeIntermediario AS INTERMEDIARIO, + NULL AS COINTEST, + patrT.nomeProdotto AS COD_CC, + NULL AS FASCIA_CPP, + patrT.ctv AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + FROM + C6Staging.RP_PatrimonioTerzi patrT, + C6Staging.RP_DettProdottiTerzi dettProdT, + C6Staging.RP_CatalogoProdotti catprod, + C6Mart.VCONTRATTI + WHERE + patrT.chiaveProdottoTerzi = dettprodT.chiaveProdottoTerzi + AND patrT.chiaveClientePB = VCONTRATTI.chiaveClientePB + AND dettprodT.ChiaveProdotto IS NOT NULL + AND catprod.ChiaveProdotto = dettprodT.ChiaveProdotto + AND catprod.TipoProdotto = 'CC' + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CC_TERZI' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_ANAG_CLIENTI.sql b/sql/storedCollaudo/C6Mart_RP_DM_ANAG_CLIENTI.sql new file mode 100644 index 00000000..ed3d4b61 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_ANAG_CLIENTI.sql @@ -0,0 +1,166 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_ANAG_CLIENTI + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= + +--select count(*) from c6mart.anag_clienti + +CREATE procedure [C6Mart].[RP_DM_ANAG_CLIENTI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + +-- DELETE C6MART.ANAG_CLIENTI +-- FROM C6MART.ANAG_CLIENTI +-- INNER JOIN c6staging.RP_Cliente +-- ON ANAG_CLIENTI.chiaveCliente = RP_Cliente.chiaveCliente +-- --ON RP_ANAG_CLIENTI.RETE = RP_Cliente.RETE_PB +-- --AND RP_ANAG_CLIENTI.COD_FISCALE = RP_Cliente.codFis + + truncate table C6MART.ANAG_CLIENTI + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'DELETE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' + ) + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + INSERT INTO [C6Mart].[ANAG_CLIENTI] + ( + [RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + distinct + VCONTRATTI.RETE AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + ISNULL(SPB_CLIENTI.NOME,CLI.nome) AS NOME, + ISNULL(SPB_CLIENTI.COGNOME,CLI.cognome) AS COGNOME, + ISNULL(tabNucleo.dtNascita,SPB_CLIENTI.DATADINASCITA) AS DATA_NASCITA, + NULL AS STATO_CIVILE, + tabNucleo.componentiNucleo AS NUM_COMPONENTI, + tabFigli.numFigli AS NUM_FIGLI, + FLOOR(DateDiff(Day, ISNULL(tabNucleo.dtNascita,SPB_CLIENTI.DATADINASCITA), GetDate()) / 365.25) AS ETA, + NULL AS PARTITA_IVA, + SPB_CLIENTI.CITTADINANZA AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(SPB_INDIRIZZI.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(SPB_INDIRIZZI.CITTA, '') AS LOCALITA, + ISNULL(SPB_INDIRIZZI.PROVINCIA, '') AS PROVINCIA, + ISNULL(SPB_INDIRIZZI.CAP, '') AS CAP, + ISNULL(SPB_INDIRIZZI.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + VCONTRATTI.EMAIL AS E_MAIL, + SPB_CLIENTI.DATAATTIVAZIONECLIENTE AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + CASE + WHEN SUBSTRING(VCONTRATTI.COD_FISCALE,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + VCONTRATTI.COD_AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO [C6Mart].[RP_ANAG_CLIENTI] + FROM + C6Mart.VCONTRATTI + LEFT JOIN + (select + COUNT(*) as componentiNucleo, + chiaveClientePB1 as clienteConParentela, + cl.chiaveCliente, + cl.nome, + cl.cognome, + cl.dtNascita + from + C6staging.RP_Parentela p + inner join C6staging.RP_GradoParentela g + on p.idparentela = g.idparentela + inner join C6Staging.RP_ClientePB c + on c.chiaveClientePB = p.chiaveClientePB1 + inner join C6Staging.RP_Cliente cl + on c.chiaveCliente = cl.chiaveCliente + and p.dtfine>getdate() + group by + chiaveClientePB1, cl.chiaveCliente, cl.nome, cl.cognome, cl.dtNascita) tabNucleo + ON + VCONTRATTI.chiaveClientePB = tabNucleo.clienteConParentela + LEFT JOIN + (select + COUNT(*) as numFigli, + chiaveClientePB1 as clienteConParentela, + cl.chiaveCliente, + cl.nome, + cl.cognome, + cl.dtNascita + from + C6staging.RP_Parentela p + inner join C6staging.RP_Gra diff --git a/sql/storedCollaudo/C6Mart_RP_DM_ANAG_PRODOTTI.sql b/sql/storedCollaudo/C6Mart_RP_DM_ANAG_PRODOTTI.sql new file mode 100644 index 00000000..4c5d5567 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_ANAG_PRODOTTI.sql @@ -0,0 +1,99 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_ANAG_PRODOTTI + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ANAG_PRODOTTI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.ANAG_PRODOTTI + + INSERT INTO [C6Mart].[ANAG_PRODOTTI] + ( + [COD_PRODOTTO] + ,[COD_ISIN] + ,[PAESE] + ,[ID_AREA] + ,[CAT_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[COD_MAF] + ,[RATING] + ,[COD_ADEGUATEZZA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,DESCR_SGR) + SELECT + CatalogueID AS COD_PRODOTTO, + ISNULL(CodIsin, '') AS COD_ISIN, + NULL AS PAESE, + '' AS ID_AREA, + NULL AS CAT_PRODOTTO, + TipoProdotto AS TIPO_PRODOTTO, + NomeProdotto AS DESCR_PRODOTTO, + PrezzoValuta AS DIV_QUOTAZIONE, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + CodMaf AS COD_MAF, + NULL AS RATING, + CodAdeguatezza AS COD_ADEGUATEZZA, + CodSottoprodotto AS COD_SOTTOPRODOTTO, + ISNULL(CodInterno, '') AS COD_INTERNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + DESCR_SGR as DESCR_SGR + FROM C6Staging.RP_CatalogoProdotti + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_ANAG_PRODOTTI_TERZI.sql b/sql/storedCollaudo/C6Mart_RP_DM_ANAG_PRODOTTI_TERZI.sql new file mode 100644 index 00000000..890ad731 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_ANAG_PRODOTTI_TERZI.sql @@ -0,0 +1,95 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_ANAG_PRODOTTI_TERZI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ANAG_PRODOTTI_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.ANAG_PRODOTTI_TERZI + + INSERT INTO [C6Mart].[ANAG_PRODOTTI_TERZI] + ([COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[NOME_PRODOTTO] + ,[ALBERO_PRODOTTI] + ,[COD_ISIN] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[INTERMEDIARIO] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[PAESE] + ,[RATING] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + + SELECT + --C6Mart.VCONTRATTI.chiaveClientePB AS chiaveClientePB, + C6Staging.RP_DettProdottiTerzi.chiaveProdotto AS COD_PRODOTTO, + C6Staging.RP_PatrimonioTerzi.chiaveProdottoTerzi AS COD_PRODOTTO_TERZI, + C6Staging.RP_PatrimonioTerzi.nomeProdotto AS NOME_PRODOTTO, + NULL AS ALBERO_PRODOTTI, + NULL AS COD_ISIN, + C6Staging.RP_PatrimonioTerzi.tipoprod AS DESCR_PRODOTTO, + NULL AS DIV_QUOTAZIONE, + NULL AS INTERMEDIARIO, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + NULL AS PAESE, + NULL AS RATING, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO C6MART.ANAG_PRODOTTI_TERZI + FROM C6Staging.RP_DettProdottiTerzi + INNER JOIN C6Staging.RP_PatrimonioTerzi + ON C6Staging.RP_DettProdottiTerzi.chiaveProdottoTerzi = C6Staging.RP_PatrimonioTerzi.chiaveProdottoTerzi + INNER JOIN C6Mart.VCONTRATTI + ON C6Staging.RP_PatrimonioTerzi.chiaveClientePB = C6Mart.VCONTRATTI.chiaveClientePB + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_ANAG_PRODOTTI_VALUTE.sql b/sql/storedCollaudo/C6Mart_RP_DM_ANAG_PRODOTTI_VALUTE.sql new file mode 100644 index 00000000..51875ed3 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_ANAG_PRODOTTI_VALUTE.sql @@ -0,0 +1,73 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_ANAG_PRODOTTI_VALUTE + + + + + +CREATE procedure [c6mart].[RP_DM_ANAG_PRODOTTI_VALUTE] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_VALUTE', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [c6mart].ANAG_PRODOTTI_VALUTE + + INSERT INTO [c6mart].[ANAG_PRODOTTI_VALUTE] + + SELECT DISTINCT --added by pk 20160506 + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + VALUTE.DIVISA, + CAST (VALUTE.PESO AS DECIMAL (6,3)), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + + FROM c6staging.RP_CATALOGOPRODOTTI CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(ChiaveProdotto) AS ChiaveProdotto + FROM c6staging.RP_CATALOGOPRODOTTI CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.ChiaveProdotto = DOPPICATITEMREF.ChiaveProdotto + INNER JOIN + [c6staging].[RP_RDR_VALUTE_DB_DTGIORNALIERI] VALUTE + ON VALUTE.CHIAVEPRODOTTO = CATITEMREF.ChiaveProdotto + where VALUTE.PESO >= -999.099 and VALUTE.PESO <= 999.099 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_ANAG_PROMOTORI.sql b/sql/storedCollaudo/C6Mart_RP_DM_ANAG_PROMOTORI.sql new file mode 100644 index 00000000..339df09b --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_ANAG_PROMOTORI.sql @@ -0,0 +1,123 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_ANAG_PROMOTORI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ANAG_PROMOTORI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PROMOTORI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.ANAG_PROMOTORI + + INSERT INTO [C6Mart].[ANAG_PROMOTORI] + ([RETE] + ,[ID_PROMOTORE] + ,[LIVELLO] + ,[COD_FISCALE] + ,[PARTITA_IVA] + ,[COGNOME] + ,[NOME] + ,[RAG_SOC] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[COD_ABI] + ,[COD_CAB] + ,[COD_CIN] + ,[COD_CC] + ,[STATO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + PB.RETE AS RETE, + PB.codage AS ID_PROMOTORE, + SPB_NAC.LIVELLONELLAGERARCHIA AS LIVELLO, + NULL AS COD_FISCALE, + NULL AS PARTITA_IVA, + rtrim(ltrim(PB.COGNOME)) AS COGNOME, + rtrim(ltrim(PB.NOME)) AS NOME, + NULL AS RAG_SOC, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + rtrim(ltrim(PB.INDIRIZZO)) AS INDIRIZZO, + rtrim(ltrim(PB.CITTA)) AS LOCALITA, + rtrim(ltrim(PB.PROVINCIA)) AS PROVINCIA, + rtrim(ltrim(PB.CAP)) AS CAP, + NULL AS NAZIONE, + rtrim(ltrim(PB.PREFISSO + PB.TELEFONO1)) AS TEL_RECAPITO, + NULL AS TEL_CELL, + rtrim(ltrim(EMAIL_PB.EMAIL)) AS E_MAIL, + NULL AS COD_ABI, + NULL AS COD_CAB, + NULL AS COD_CIN, + NULL AS COD_CC, + CASE WHEN PF.RETE IS NULL THEN 'ATTIVO' ELSE 'FITTIZIO' END + AS STATO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO C6MART.ANAG_PROMOTORI + FROM C6Staging.RP_anagrafica_promotori PB + LEFT JOIN C6MART.EMAIL_PB EMAIL_PB + ON PB.RETE = EMAIL_PB.RETE + AND PB.codage = EMAIL_PB.CODICE + LEFT JOIN C6STAGING.SPB_NAC SPB_NAC + ON PB.RETE = SPB_NAC.CODICERETE + AND PB.codage = SPB_NAC.CODICEAGENTE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (PB.codage BETWEEN PF.CODICEDA AND PF.CODICEA) + AND PB.RETE = PF.RETE + +WHERE + PB.stato = 'A' + --Aggiunta Valerio non inserisco in anagrafica pb terminati in quanto non hanno il livello + and SPB_NAC.CODICEAGENTE is not null + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PROMOTORI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PROMOTORI' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_ASSETCLASS.sql b/sql/storedCollaudo/C6Mart_RP_DM_ASSETCLASS.sql new file mode 100644 index 00000000..4a3546c0 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_ASSETCLASS.sql @@ -0,0 +1,84 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_ASSETCLASS + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from c6mart.assetclass +CREATE procedure [C6Mart].[RP_DM_ASSETCLASS] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.ASSETCLASS + + SELECT + A.ASSET AS ID_ASSETCLASS, + A.DESCRIZIONE AS DESCRIZIONE, + A.LIVELLO AS LIVELLO, + B.ORDINAMENTO_ASSET AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + + --SELECT * + into #temp + FROM C6STAGING.RP_ASSETCLASS A + JOIN + C6Staging.RP_REP_ASSET_1_E_2_ORDINATE B + ON A.ASSET = B.CODICE_ASSET_CLASS_INGRESSO + order by B.ORDINAMENTO_ASSET desc + + INSERT INTO [C6Mart].[ASSETCLASS] + ([ID_ASSETCLASS] + ,[DESCRIZIONE] + ,[LIVELLO] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + ID_ASSETCLASS, + DESCRIZIONE, + LIVELLO, + ORDINAMENTO, + ID_ELAB + from #temp order by ORDINAMENTO desc + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSETCLASS' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_ASSETCLASS_TERZI.sql b/sql/storedCollaudo/C6Mart_RP_DM_ASSETCLASS_TERZI.sql new file mode 100644 index 00000000..e5c577bb --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_ASSETCLASS_TERZI.sql @@ -0,0 +1,86 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_ASSETCLASS_TERZI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +--select * from [C6Mart].[ASSETCLASS_TERZI] +--[C6Mart].[DM_ASSETCLASS_TERZI] +CREATE procedure [C6Mart].[RP_DM_ASSETCLASS_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.ASSETCLASS_TERZI + + INSERT INTO [C6Mart].[ASSETCLASS_TERZI] + ([ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_ADEGUATEZZA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT + B.CODICE_ASSET_CLASS_INGRESSO, + B.CODICE_ISIN, + B.CODICE_MAF, + ISNULL(B.CODICE_ADEGUATEZZA,'$'), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM --C6STAGING.RP_ASSETCLASS A + --JOIN + C6Staging.RP_REP_ASSET_1_E_2_ORDINATE B + --ON A.ASSET = B.CODICE_ASSET_CLASS_INGRESSO + + + --LTRIM(RTRIM(ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO)) AS ID_ASSETCLASS, + --LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN,'$'))) AS COD_ISIN, + --LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF,'$'))) AS COD_MAF, + --LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA,'$'))) AS COD_ADEGUATEZZA + --, + --@ID_ELAB AS ID_ELAB, + --@TIPO_ELAB AS TIPO_ELAB + --FROM C6STAGING.ALL_ASSET_CLASS_PER_PROMET + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_ASSET_PERC.sql b/sql/storedCollaudo/C6Mart_RP_DM_ASSET_PERC.sql new file mode 100644 index 00000000..370a4cc7 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_ASSET_PERC.sql @@ -0,0 +1,110 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_ASSET_PERC + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ASSET_PERC] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.ASSET_PERC + + INSERT INTO [C6Mart].[ASSET_PERC] + ( + [COD_PRODOTTO] + ,[ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[LIVELLO] + ,[PERC] + ,[ID_ELAB] +,[TIPO_ELAB] +) + + SELECT DISTINCT + --SUBSTRING(con.position_id,1,57) AS COD_PRODOTTO, + --dbo.Crea_positionID(con.codConf, con.conto, con.rubricato, con.custGar, pospor.numPolizza, con.termId, con.anno, con.prog) AS COD_PRODOTTO + cat.CatalogueID AS COD_PRODOTTO + ,LTRIM(RTRIM(ac.Asset)) AS ID_ASSETCLASS + ,cat.CodIsin AS COD_ISIN + ,cat.CodMaf AS COD_MAF + ,cat.CodInterno AS COD_INTERNO + ,cat.CodSottoprodotto AS COD_SOTTOPRODOTTO + ,ac.Livello AS LIVELLO + ,map.Percentuale AS PERC + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + + --INTO C6MART.ASSET_PERC + FROM + /* + C6Staging.RP_CONSULENZA AS con + INNER JOIN + C6Staging.RP_PosizioniPortafoglio AS pospor + ON + con.chiaveProgetto = pospor.chiaveProgetto + INNER JOIN*/ + C6Staging.RP_Mappatura AS map + /*ON + pospor.chiaveProdotto = map.ChiaveProdotto*/ + INNER JOIN + C6Staging.RP_AssetClass AS ac + ON + map.Asset = ac.Asset + INNER JOIN + C6Staging.RP_CatalogoProdotti cat + ON + map.ChiaveProdotto = cat.ChiaveProdotto + +--WHERE SUBSTRING(con.position_id,1,57) IS NOT NULL --togliere + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSET_PERC' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_ASSET_PERC_TERZI.sql b/sql/storedCollaudo/C6Mart_RP_DM_ASSET_PERC_TERZI.sql new file mode 100644 index 00000000..e3831f96 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_ASSET_PERC_TERZI.sql @@ -0,0 +1,124 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_ASSET_PERC_TERZI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ASSET_PERC_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.ASSET_PERC_TERZI + + INSERT INTO [C6Mart].[ASSET_PERC_TERZI] + ([COD_PRODOTTO_TERZI] -- + ,[ID_ASSETCLASS] -- + ,[LIVELLO] -- + ,[NOME_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[PERC] -- + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + RP_PatrimonioTerzi.chiaveProdottoTerzi AS COD_PRODOTTO_TERZI, + RP_AssetClass.Asset AS ID_ASSETCLASS, + RP_AssetClass.Livello AS LIVELLO, + NULL AS NOME_PRODOTTO, + NULL AS TIPO_PRODOTTO, + RP_MappaturaPT.percentuale / 100 AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO C6MART.ASSET_PERC_TERZI + FROM + C6Staging.RP_PatrimonioTerzi + INNER JOIN + C6Staging.RP_DettProdottiTerzi + ON + C6Staging.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6Staging.RP_DettProdottiTerzi.chiaveProdottoTerzi + INNER JOIN + C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + ON + C6Staging.RP_DettProdottiTerzi.alberatura = C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + INNER JOIN + C6Staging.RP_MappaturaPT + ON + C6Staging.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6Staging.RP_MappaturaPT.chiaveProdottoTerzi + INNER JOIN + C6Staging.RP_AssetClass + ON + C6Staging.RP_MappaturaPT.asset = C6Staging.RP_AssetClass.Asset + + --SELECT DISTINCT + -- PATR_TP.CHIAVE_THR AS COD_PRODOTTO_TERZI, + -- ASS.OID_ AS ID_ASSETCLASS, + -- ASS.ASSETCLASSLEV AS LIVELLO, + -- PATR_TP.NOMEPRODOTTO AS NOME_PRODOTTO, + -- ALBERO.ALBERO_GERARCHIA_3 AS TIPO_PRODOTTO, + -- ACB.BDPERCENTAGE AS PERC, + -- @ID_ELAB AS ID_ELAB, + -- @TIPO_ELAB AS TIPO_ELAB + + --FROM + -- C6STAGING.ALL_PATR_TERZI PATR_TP, + -- C6STAGING.ACBDENOTH ACB, + -- C6STAGING.ASSETCLASS ASS, + -- C6STAGING.S4_S5_S13_TRAD_UNTIL_LIV3 ALBERO + --WHERE 1 = 1 + -- AND PATR_TP.CHIAVE_FNC IS NOT NULL + -- AND ALBERO.DESCRIZIONE_ORIGINALE = PATR_TP.DESCRIZIONE_ALBERATURA + -- AND ACB.F_PFINANCIAL_815C0 = PATR_TP.CHIAVE_FNC + -- AND ACB.F_OID__PASSE_CDF1A = ASS.OID_ + -- AND ASS.ASSETCLASSLEV IN (1,2) + -- AND PATR_TP.PRODOTTO_IN_CATALOGO IS NULL + --GROUP BY + -- PATR_TP.CHIAVE_THR, + -- PATR_TP.NOMEPRODOTTO, + -- ASS.OID_, + -- ASS.ASSETCLASSLEV, + -- ALBERO.ALBERO_GERARCHIA_3, + -- ACB.BDPERCENTAGE, + -- ACB.OID_ + --ORDER BY 2,4 + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_BrsClienteESG.sql b/sql/storedCollaudo/C6Mart_RP_DM_BrsClienteESG.sql new file mode 100644 index 00000000..0d531387 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_BrsClienteESG.sql @@ -0,0 +1,102 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_BrsClienteESG + + + + + + + + + + + +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_BrsClienteESG] +AS +BEGIN + + SET NOCOUNT ON; + + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_BrsClienteESG', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- declare @data varchar(8) + +--set @data= [C6MartPeriodico].[getTrimestre2](getdate(),0) + +truncate table C6Mart.BrsClienteESG + +insert into [C6StampeCentralizzate].[C6Mart].[BrsClienteESG] +SELECT esg.[rete] + ,esg.[Codice_Fiscale] + ,case when isnull(Sost_E,'N')='N' and isnull(Sost_S,'N')='N' and isnull(Sost_G,'N')='N' then 0 else 1 end as [Preferenza_esg_cliente] + ,case when Sost_E='S' then 'Y' + when Sost_E='N' then 'N' + else 'N' end as + [ESG_E] + ,case when Sost_S='S' then 'Y' + when Sost_S='N' then 'N' + else 'N' end as + [ESG_S] + ,case when Sost_G='S' then 'Y' + when Sost_G='N' then 'N' + else 'N' end as [ESG_G] + ,esg.PesoSostESG as [obiettivo_ESG_minimo] + ,NULL as [ESG_Rating] + ,esg.SostPercE as [ESG_E_perc] + ,esg.SostPercS as [ESG_S_perc] + ,esg.SostPercG as [ESG_G_perc] + FROM C6Mart.SPB_W6CLIESG esg + + --SELECT [rete] + -- -- ,[codfis] + -- ,[Preferenza_esg_cliente] + -- ,[ESG_E] + -- ,[ESG_S] + -- ,[ESG_G] + -- ,[obiettivo_ESG_minimo] + -- ,[ESG_Rating] + -- ,[ESG_E_perc] + -- ,[ESG_S_perc] + -- ,[ESG_G_perc] + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[ESG_Metriche_Cliente_IL] + + + --select * from [C6StampeCentralizzate].[C6StagingPeriodico].[ESG_Metriche_Cliente_IL] + --select * from C6StagingPeriodico.wseian2 + --select * from C6MartPeriodico.W6CLIESG + + + + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_BrsClienteESG' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_W6CATESG' + ) + +END + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_CHECK_RFA_MINUS.sql b/sql/storedCollaudo/C6Mart_RP_DM_CHECK_RFA_MINUS.sql new file mode 100644 index 00000000..9778ef71 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_CHECK_RFA_MINUS.sql @@ -0,0 +1,99 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_CHECK_RFA_MINUS + + + + + + + + + + + +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_CHECK_RFA_MINUS] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + + + SET NOCOUNT ON; + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CHECK_RFA_MINUS', + GETDATE(), + 'Elaborazione giornaliera' + ) + + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + declare @sogliaRfa as decimal (18,0) + declare @sogliaRfaDB as decimal (18,0) + declare @data_perf as datetime + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + SET @data_perf = '20200401' + + SET @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + SET @sogliaRfaDB=0 --SOGLIA RFA per i Fideuram Direct + -- Log esecuzione + + + + -- update consuni.consulenzaUnica.dbo.dettaglioClientePB + -- set flagRfaMinus = 1 + SELECT contratti.rete, vinfo.cod_agente, contratti.Cod_Fiscale, contratti.Piva_Fiduciaria, contratti.CodiceContratto, vinfo.chiaveclientepb,'NSAA' as Decod_Cososp + INTO #flagRfaMinusUno + FROM C6Mart.RP_vTuttiIContratti AS contratti + INNER join C6Mart.vPatrimoniobfAggregato_SenzaNobPrez patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + inner join --consuni.consulenzaUnica.dbo.vinfocliente vinfo + c6mart.vcontratti vinfo + on vinfo.cod_Fiscale = contratti.cod_fiscale + and vinfo.rete = contratti.rete + inner join consuni.consulenzaUnica.dbo.dettaglioClientePB dett + on dett.chiaveclientepb = vinfo.chiaveclientePb + WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + --AND (ISNULL(RisorseNa, 'N') = 'N') + --AND (ISNULL(NumRevoche, 0) = 0) + AND ((DATEDIFF(d,vinfo.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR vinfo.cod_agente='015312') + --AND contratti.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) + AND (((case when patrimonioBF.contocorrente<0 then patrimoniobf.patrimoniosenzacc else patrimoniobf.ctv end) < @sogliaRfa and vinfo.data_perf >= @data_perf and vinfo.DATA_INZIOAVANZATO >= '20240412') + OR ((case when patrimonioBF.contocorrente<0 then patrimoniobf.patrimoniosenzacc else patrimoniobf.ctv end) < '25000' and vinfo.DATA_INZIOAVANZATO < '20240412')) --modificata il 04012020 la fonte del ctv da patrimoniobf.ctv con la case when per escludere i cc negativi dal conto + AND vinfo.TIP_CONTRATTO<>3 --per escludere i fideuram direct che hanno una soglia RFA diversa + +union all + +SELECT contratti.rete, vinfo.cod_agente, contratti.Cod_Fiscale, contratti.Piva_Fiduciaria, contratti.CodiceContratto, vinfo.chiaveclientepb,'NSAA' --NSAA + FROM C6Mart.RP_vTuttiIContratti AS contratti + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + inner join --consuni.consulenzaUnica.dbo.vinfocliente vinfo + c6mart.vcontratti vinfo + on vinfo.cod_Fiscale = contratti.cod_fiscale + and vinfo.rete = contratti.rete + inner join consuni.consulenzaUnica.dbo.dettaglioClientePB dett + on dett.chiaveclientepb = vinfo.chiaveclientePb + WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + --AND (ISNULL(RisorseNa, 'N') = 'N') + --AND (ISNULL(NumRevoche, 0) = 0) + AND ((DATEDIFF(d,vinfo.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR vinfo.cod_agente='015312') + --AND contratti.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) + AND (case when patrimonioBF.contocorrente<0 then patrimoniobf.patrimoniosenzacc else patrimoniobf.ctv end) < @sogliaRfaDB and vinfo.data_perf >= @data_perf --modificata il 04012020 la fonte del c diff --git a/sql/storedCollaudo/C6Mart_RP_DM_CHECK_RFA_MINUS_20240412.sql b/sql/storedCollaudo/C6Mart_RP_DM_CHECK_RFA_MINUS_20240412.sql new file mode 100644 index 00000000..495305fa --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_CHECK_RFA_MINUS_20240412.sql @@ -0,0 +1,99 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_CHECK_RFA_MINUS_20240412 + + + + + + + + + +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_CHECK_RFA_MINUS_20240412] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + + + SET NOCOUNT ON; + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CHECK_RFA_MINUS', + GETDATE(), + 'Elaborazione giornaliera' + ) + + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + declare @sogliaRfa as decimal (18,0) + declare @sogliaRfaDB as decimal (18,0) + declare @data_perf as datetime + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + SET @data_perf = '20200401' + + SET @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + SET @sogliaRfaDB=0 --SOGLIA RFA per i Fideuram Direct + -- Log esecuzione + + + + -- update consuni.consulenzaUnica.dbo.dettaglioClientePB + -- set flagRfaMinus = 1 + SELECT contratti.rete, vinfo.cod_agente, contratti.Cod_Fiscale, contratti.Piva_Fiduciaria, contratti.CodiceContratto, vinfo.chiaveclientepb + INTO #flagRfaMinusUno + FROM C6Mart.RP_vTuttiIContratti AS contratti + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + inner join --consuni.consulenzaUnica.dbo.vinfocliente vinfo + c6mart.vcontratti vinfo + on vinfo.cod_Fiscale = contratti.cod_fiscale + and vinfo.rete = contratti.rete + inner join consuni.consulenzaUnica.dbo.dettaglioClientePB dett + on dett.chiaveclientepb = vinfo.chiaveclientePb + WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + --AND (ISNULL(RisorseNa, 'N') = 'N') + --AND (ISNULL(NumRevoche, 0) = 0) + --AND ((DATEDIFF(d,vinfo.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR vinfo.cod_agente='015312') + --AND contratti.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) + AND ((case when patrimonioBF.contocorrente<0 then patrimoniobf.patrimoniosenzacc else patrimoniobf.ctv end) < @sogliaRfa or Profilo_EC<=1) and vinfo.data_perf >= @data_perf --modificata il 04012020 la fonte del ctv da patrimoniobf.ctv con la case when per escludere i cc negativi dal conto + AND vinfo.TIP_CONTRATTO<>3 --per escludere i fideuram direct che hanno una soglia RFA diversa + +union all + +SELECT contratti.rete, vinfo.cod_agente, contratti.Cod_Fiscale, contratti.Piva_Fiduciaria, contratti.CodiceContratto, vinfo.chiaveclientepb + FROM C6Mart.RP_vTuttiIContratti AS contratti + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + inner join --consuni.consulenzaUnica.dbo.vinfocliente vinfo + c6mart.vcontratti vinfo + on vinfo.cod_Fiscale = contratti.cod_fiscale + and vinfo.rete = contratti.rete + inner join consuni.consulenzaUnica.dbo.dettaglioClientePB dett + on dett.chiaveclientepb = vinfo.chiaveclientePb + WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + --AND (ISNULL(RisorseNa, 'N') = 'N') + --AND (ISNULL(NumRevoche, 0) = 0) + --AND ((DATEDIFF(d,vinfo.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR vinfo.cod_agente='015312') + --AND contratti.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) + AND (case when patrimonioBF.contocorrente<0 then patrimoniobf.patrimoniosenzacc else patrimoniobf.ctv end) < @sogliaRfaDB and vinfo.data_perf >= @data_perf --modificata il 04012020 la fonte del ctv da patrimoniobf.ctv con la case when per escludere i cc negativi dal conto + AND vinfo.TIP_CONTRATTO=3 --per escludere i fideuram direct che hanno una soglia RFA diversa + + update consuni.consulenzaUnica.dbo.dettaglioClienteP diff --git a/sql/storedCollaudo/C6Mart_RP_DM_CHECK_RFA_MINUS_preRafforzamento.sql b/sql/storedCollaudo/C6Mart_RP_DM_CHECK_RFA_MINUS_preRafforzamento.sql new file mode 100644 index 00000000..f3ab1297 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_CHECK_RFA_MINUS_preRafforzamento.sql @@ -0,0 +1,99 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_CHECK_RFA_MINUS_preRafforzamento + + + + + + + + + +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_CHECK_RFA_MINUS_preRafforzamento] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + + + SET NOCOUNT ON; + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CHECK_RFA_MINUS', + GETDATE(), + 'Elaborazione giornaliera' + ) + + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + declare @sogliaRfa as decimal (18,0) + declare @sogliaRfaDB as decimal (18,0) + declare @data_perf as datetime + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + SET @data_perf = '20200401' + + SET @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + SET @sogliaRfaDB=0 --SOGLIA RFA per i Fideuram Direct + -- Log esecuzione + + + + -- update consuni.consulenzaUnica.dbo.dettaglioClientePB + -- set flagRfaMinus = 1 + SELECT contratti.rete, vinfo.cod_agente, contratti.Cod_Fiscale, contratti.Piva_Fiduciaria, contratti.CodiceContratto, vinfo.chiaveclientepb + INTO #flagRfaMinusUno + FROM C6Mart.RP_vTuttiIContratti AS contratti + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + inner join --consuni.consulenzaUnica.dbo.vinfocliente vinfo + c6mart.vcontratti vinfo + on vinfo.cod_Fiscale = contratti.cod_fiscale + and vinfo.rete = contratti.rete + inner join consuni.consulenzaUnica.dbo.dettaglioClientePB dett + on dett.chiaveclientepb = vinfo.chiaveclientePb + WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + --AND (ISNULL(RisorseNa, 'N') = 'N') + --AND (ISNULL(NumRevoche, 0) = 0) + --AND ((DATEDIFF(d,vinfo.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR vinfo.cod_agente='015312') + --AND contratti.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) + AND ((case when patrimonioBF.contocorrente<0 then patrimoniobf.patrimoniosenzacc else patrimoniobf.ctv end) < @sogliaRfa or Profilo_EC<=1) and vinfo.data_perf >= @data_perf --modificata il 04012020 la fonte del ctv da patrimoniobf.ctv con la case when per escludere i cc negativi dal conto + AND vinfo.TIP_CONTRATTO<>3 --per escludere i fideuram direct che hanno una soglia RFA diversa + +union all + +SELECT contratti.rete, vinfo.cod_agente, contratti.Cod_Fiscale, contratti.Piva_Fiduciaria, contratti.CodiceContratto, vinfo.chiaveclientepb + FROM C6Mart.RP_vTuttiIContratti AS contratti + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + inner join --consuni.consulenzaUnica.dbo.vinfocliente vinfo + c6mart.vcontratti vinfo + on vinfo.cod_Fiscale = contratti.cod_fiscale + and vinfo.rete = contratti.rete + inner join consuni.consulenzaUnica.dbo.dettaglioClientePB dett + on dett.chiaveclientepb = vinfo.chiaveclientePb + WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + --AND (ISNULL(RisorseNa, 'N') = 'N') + --AND (ISNULL(NumRevoche, 0) = 0) + --AND ((DATEDIFF(d,vinfo.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR vinfo.cod_agente='015312') + --AND contratti.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) + AND (case when patrimonioBF.contocorrente<0 then patrimoniobf.patrimoniosenzacc else patrimoniobf.ctv end) < @sogliaRfaDB and vinfo.data_perf >= @data_perf --modificata il 04012020 la fonte del ctv da patrimoniobf.ctv con la case when per escludere i cc negativi dal conto + AND vinfo.TIP_CONTRATTO=3 --per escludere i fideuram direct che hanno una soglia RFA diversa + + update consuni.consulenzaUnica.dbo.dettaglio diff --git a/sql/storedCollaudo/C6Mart_RP_DM_CheckEmail.sql b/sql/storedCollaudo/C6Mart_RP_DM_CheckEmail.sql new file mode 100644 index 00000000..08d30098 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_CheckEmail.sql @@ -0,0 +1,85 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_CheckEmail + + +CREATE procedure [C6Mart].[RP_DM_CheckEmail] +AS +BEGIN + +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @ID_ELAB INT +DECLARE @MaxInvioSoll as SMALLINT + +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') as smallint) +SET @ID_ELAB = C6MART.GETIDELAB() +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) --7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint) --7 + +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) + VALUES ('RP_DM_CheckEmail',GETDATE(),'Elaborazione giornaliera') + + +SELECT E.Email_Id,E.Tipo,E.Data_Generazione,E.Inviata,E.Data_Invio,E.Data_Comunicazione_Host,E.ID_ELAB,C.* +INTO #EMAILCK +FROM C6MART.GESTIONE_EMAIL E INNER JOIN C6MART.VCONTRATTISEI C +ON E.COD_FISCALE=C.COD_FISCALE AND E.RETE=C.RETE +WHERE ISNULL(E.Inviata,'N') <> 'S' + +DELETE c6mart.test_logmd WHERE CMD = 'GENERATO GIORNO PRECEDENTE' +INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE) +SELECT 'GENERATO GIORNO PRECEDENTE',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE +Data_Generazione < convert(varchar, GetDate(), 101) + +INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE) +SELECT 'EMAIL NOMIG NON CONGRUENTE',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE +Data_Generazione >= convert(varchar, GetDate(), 101) +AND SUBSTRING(TIPO,2,11) = '_SOLL_NOMIG' AND CLIENTEMIGRATO = 'S' + +INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE) +SELECT 'EMAIL NOASS NON CONGRUENTE',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE +Data_Generazione >= convert(varchar, GetDate(), 101) +AND SUBSTRING(TIPO,2,11) = '_SOLL_NOASS' AND RISORSENA = 'N' + +INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE) +SELECT 'EMAIL NOPRO NON CONGRUENTE',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE +Data_Generazione >= convert(varchar, GetDate(), 101) +AND SUBSTRING(TIPO,2,11) = '_SOLL_NOPRO' AND PROFILOATTIVO = 1 + +INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE) +SELECT 'SUPERATO PERIODO DI PERF',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE +Data_Generazione >= convert(varchar, GetDate(), 101) +AND SUBSTRING(TIPO,2,11) IN ('_SOLL_NOMIG','_SOLL_NOASS','_SOLL_NOPRO') +AND DATEDIFF(d,DATA_PERF, GETDATE()) > (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) + +INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE) +SELECT 'BLOCCATO CF 01484040488',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE +Data_Generazione >= convert(varchar, GetDate(), 101) +AND COD_FISCALE = '01484040488' + + +-- Log esecuzione +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CheckEmail' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_CheckEmail' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_Check_GestioneEmailNOPRO.sql b/sql/storedCollaudo/C6Mart_RP_DM_Check_GestioneEmailNOPRO.sql new file mode 100644 index 00000000..403b1a48 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_Check_GestioneEmailNOPRO.sql @@ -0,0 +1,45 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_Check_GestioneEmailNOPRO + + + +CREATE PROCEDURE [C6Mart].[RP_DM_Check_GestioneEmailNOPRO] +( + @MaxCount INT +) +AS +BEGIN + SET NOCOUNT ON; + + -- Inizializza la variabile che conterr la count della query + DECLARE @CountResult INT; + + -- Esegui la query e ottieni la count + SELECT @CountResult = COUNT(*) + FROM C6Mart.gestione_email gest + WHERE id_elab = (SELECT MAX(id_elab) FROM C6Mart.GESTIONE_EMAIL) + AND tipo LIKE '%SOLL%'; + + -- Controlla se la count maggiore del valore massimo consentito e restituisci l'errore in caso affermativo + IF @CountResult > @MaxCount + BEGIN + -- Concatenate the error message with the exact count value + DECLARE @ErrorMessage NVARCHAR(200); + SET @ErrorMessage = CONCAT('Errore: La count maggiore di ', CAST(@MaxCount AS NVARCHAR(10)), + '. Il valore corrente ', CAST(@CountResult AS NVARCHAR(10)), '.'); + + -- Raise the error + RAISERROR (@ErrorMessage, 16, 1); + RETURN; + END + ELSE + BEGIN + -- Display a message indicating no error and include the current count value + PRINT 'Count <= ' + CAST(@MaxCount AS NVARCHAR(10)) + '. Valore corrente: ' + CAST(@CountResult AS NVARCHAR(10)) + '.'; + -- Or if you prefer, you can use the SELECT statement to return the message as a result set + -- SELECT 'Count <= ' + CAST(@MaxCount AS NVARCHAR(10)) + '. Valore corrente: ' + CAST(@CountResult AS NVARCHAR(10)) + '.' AS Message; + END + + +END + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_DETTAGLIO_ASUL.sql b/sql/storedCollaudo/C6Mart_RP_DM_DETTAGLIO_ASUL.sql new file mode 100644 index 00000000..5988f66e --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_DETTAGLIO_ASUL.sql @@ -0,0 +1,119 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_DETTAGLIO_ASUL + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_DETTAGLIO_ASUL] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_DETTAGLIO_ASUL', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.DETTAGLIO_ASUL + + INSERT INTO [C6Mart].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + ISNULL( + dbo.Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPOPRODOTTO, SPB_ASS_UNIT.CODICEINTERNO, SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE, SPB_ASS_UNIT.CODICEISINSOTTOSTANTE, SPB_ASS_UNIT.CODICESOTTOPRODOTTO), + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODICECONTRATTO AS ID_CONTRATTO, + SPB_ASS_UNIT.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODICEINTERNO AS COD_INTERNO, + SPB_ASS_UNIT.CONTROVALORE AS CTV, + SPB_ASS_UNIT.DATADIRIFERIMENTO AS DATA_RIF, + SPB_ASS_UNIT.ISINFITTIZIO AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.CODICEISINSOTTOSTANTE AS COD_ISIN_SOTT, + SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6STAGING.SPB_CONTR_SINTESI + INNER JOIN + C6STAGING.SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODICECONTRATTO = SPB_ASS_UNIT.CODICECONTRATTO + LEFT OUTER JOIN + C6STAGING.RP_CATALOGOPRODOTTI CAT + ON SPB_ASS_UNIT.CODICEINTERNO = CAT.CODINTERNO + AND SPB_ASS_UNIT.CODICESOTTOPRODOTTO = CAT.CODSOTTOPRODOTTO + AND VISIBILITA=1 + AND (SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = ''and codisin='$' OR ( + SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = CAT.CODADEGUATEZZA AND + SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE = CAT.CODMAF + ) + ) + /* + C6STAGING.CATITEMREF + ON SPB_ASS_UNIT.CODICEINTERNO = CATITEMREF.COD_INTERNO + AND SPB_ASS_UNIT.CODICESOTTOPRODOTTO = CATITEMREF.COD_SOTTOPRODOTTO + AND isvisible=1 + AND (SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = ''and cod_isin='$' OR ( + SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = CATITEMREF.COD_ADEGUATEZZA AND + SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE = CATITEMREF.COD_MAF + ) + )*/ + WHERE + SPB_CONTR_SINTESI.CTV <> 0 + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_DETTAGLIO_ASUL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_DETTAGLIO_ASUL' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_EMAIL_PB.sql b/sql/storedCollaudo/C6Mart_RP_DM_EMAIL_PB.sql new file mode 100644 index 00000000..958da957 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_EMAIL_PB.sql @@ -0,0 +1,108 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_EMAIL_PB + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 26 gennaio 2009 +-- Description: Recupera PB, RM, DM, AM le cui email non sono ancora valorizzate. +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_EMAIL_PB] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_EMAIL_PB', + GETDATE(), + 'Elaborazione giornaliera' + ) + + SELECT DISTINCT + CODICI_PB.RETE AS RETE, + CODICI_PB.CODICE AS CODICE, + + (CASE CODICI_PB.RETE WHEN 'F' THEN 'R' when 'W' then 'W' ELSE 'P' END) AS PREFISSO, + (CASE CODICI_PB.RETE WHEN 'F' THEN 'R' when 'W' then 'W' ELSE 'P' END) + CODICI_PB.CODICE AS FIRMA +--, +-- CODICI_PB.LIVELLO AS LIVELLO, +-- CODICI_PB.LIV_ORD AS LIV_ORD + + FROM + ( + SELECT STRUTTURA.RETE, STRUTTURA.PB CODICE--, 'PB' as LIVELLO, 1 AS LIV_ORD + FROM C6Mart.VCONTRATTI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + + UNION + + SELECT STRUTTURA.RETE, STRUTTURA.RM CODICE--, 'RM' as LIVELLO, 2 AS LIV_ORD + FROM C6Mart.VCONTRATTI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + + UNION + + SELECT STRUTTURA.RETE, STRUTTURA.DM CODICE--, 'DM' as LIVELLO, 3 AS LIV_ORD + FROM C6Mart.VCONTRATTI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + + UNION + + SELECT STRUTTURA.RETE, STRUTTURA.AM CODICE--, 'AM' as LIVELLO, 4 AS LIV_ORD + FROM C6Mart.VCONTRATTI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + + ) CODICI_PB + LEFT JOIN C6MART.EMAIL_PB EMAIL_PB_ESISTENTI + ON EMAIL_PB_ESISTENTI.RETE = CODICI_PB.RETE + AND EMAIL_PB_ESISTENTI.CODICE = CODICI_PB.CODICE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (CODICI_PB.CODICE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND CODICI_PB.RETE = PF.RETE + WHERE + + --CODICI_PB.CODICE = '014777' and + isnull(EMAIL_PB_ESISTENTI.EMAIL, '') = '' + --AND PF.RETE IS NULL + + +--togliere + --and CODICI_PB.CODICE not in ('010712','015115','015117','015091','015182','006167','015125','015126','015185','006154','006200') +and CODICI_PB.CODICE not in ('015185') +---eliminato il filtro '010712' +---eliminato il filtro su '015089'--,'015163', 12/08 + --ORDER BY CODICI_PB.LIV_ORD + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_EMAIL_PB' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_EMAIL_PB' + ) +END + + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_ESG_ANAG_METRICHE.sql b/sql/storedCollaudo/C6Mart_RP_DM_ESG_ANAG_METRICHE.sql new file mode 100644 index 00000000..134b036c --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_ESG_ANAG_METRICHE.sql @@ -0,0 +1,113 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_ESG_ANAG_METRICHE + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from c6mart.assetclass +CREATE procedure [C6Mart].[RP_DM_ESG_ANAG_METRICHE] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ESG_ANAG_METRICHE', + GETDATE(), + 'Elaborazione giornaliera' + ) + +TRUNCATE TABLE C6STAGING.ESG_ANAG_METRICHE + + INSERT INTO [C6STAGING].ESG_ANAG_METRICHE + ( [COD_PRODOTTO] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[CatSFDR] + ,[ESGRating] + ,[TrendESGRating] + ,[LABEL_Green_Bond] + ,[LABEL_Social_Bond] + ,[LABEL_Sustainability_Bond] + ,[LABEL_Transition_Bond] + ,[LABEL_Sust_linked_bond] + ,LABEL_EU_GREEN_BOND_STANDARD + ,[PERC_INVESTIMENTO_TAXONOMY] + ,[PERC_INVESTIMENTO_SFDR] + ,[PERC_INVEST_SFDR_MIN_SUST_E] + ,[PERC_INVEST_SFDR_MIN_SUST_S] + ,[PAI_LAB_A_Emissioni_Gas_Serra] + ,[PAI_LAB_A_Biodiversita] + ,[PAI_LAB_A_Acqua] + ,[PAI_LAB_A_Rifiuti] + ,[PAI_LAB_A_Gov_Ambientale] + ,[PAI_LAB_A_Comb_Fossili] + ,[PAI_LAB_A_Eff_energetica] + ,[PAI_LAB_S_Questioni_Soc_Dip] + ,[PAI_LAB_S_Gov_Sociali] + ,[U_INFO_ESG] + ,[ID_ELAB] + ,[TIPO_ELAB] + ) + SELECT + --ChiaveProdotto, + CatalogueID AS COD_PRODOTTO, + C.CodSottoprodotto AS COD_SOTTOPRODOTTO, + ISNULL(C.CodInterno, '') AS COD_INTERNO, + C.CodMaf AS COD_MAF, + C.CodAdeguatezza AS COD_ADEGUATEZZA, + ISNULL(C.CodIsin, '') AS COD_ISIN, + case when Ltrim(rtrim(ESG_E)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_E)) = 'N' then 'NO' + else 'NO' end as ESG_E, + case when Ltrim(rtrim(ESG_S)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_S)) = 'N' then 'NO' + else 'NO' end as ESG_S, + case when Ltrim(rtrim(ESG_G)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_G)) = 'N' then 'NO' + else 'NO' end as ESG_G, + case when CatSFDR='-' then '' else substring(CatSFDR,1,5) +' SFDR' end as CatSFDR, + Ltrim(rtrim(ESGRating)) as ESGRating , + Ltrim(rtrim(TrendESGRating)) as TrendESGRating, + case when LABEL_Green_Bond<> '-' then 'Green Bond' else '' end as LABEL_Green_Bond, + case when LABEL_Social_Bond<> '-' then 'Social Bond' else '' end as LABEL_Social_Bond, + case when LABEL_Sustainability_Bond<> '-' then 'Sustainability Bond' else '' end as LABEL_Sustainability_Bond, + case when LABEL_Transition_Bond<> '-' then 'Transition Bond' else '' end as LABEL_Transition_Bond, + case when LABEL_Sust_linked_bond<> '-' then 'Sustainability Linked Bond' else '' end as LABEL_Sust_linked_bond, + case when LABEL_EU_GREEN_BOND_STANDARD<> '-' then 'EU Green Bond Standard' else '' end as LABEL_EU_GREEN_BOND_STANDARD, + PERC_INVESTIMENTO_TAXONOMY *100 as PERC_INVESTIMENTO_TAXONOMY, + PERC_INVESTIMENTO_SFDR * 100 as PERC_INVESTIMENTO_SFDR, + [PERC_INVEST_SFDR_MIN_SUST_E] * 100 as PERC_INVEST_SFDR_MIN_SUST_E , + [PERC_INVEST_SFDR_MIN_SUST_S] * 100 as PERC_INVEST_SFDR_MIN_SUST_S, + case when PAI_LAB_A_Emissioni_Gas_Serra<>'-' then 'Emissioni Gas Serra' else '' end as PAI_LAB_A_Emissioni_Gas_Serra, + case when PAI_LAB_A_Biodiversita<>'-' then 'Biodiversit' else '' end as PAI_LAB_A_Biodiversita, + case when PAI_LAB_A_Acqua<>'-' then 'Acqua' else '' end as PAI_LAB_A_Acqua, + case when PAI_LAB_A_Rifiuti<>'-' then 'Rifiuti' else '' end as PAI_LAB_A_Rifiuti, + case when PAI_LAB_A_Gov_Ambientale<>'-' then 'Governativi Ambientali' else '' end as PAI_LAB_A_Gov_Ambientale, + case when PAI_LAB_A_C diff --git a/sql/storedCollaudo/C6Mart_RP_DM_GestioneEmail.sql b/sql/storedCollaudo/C6Mart_RP_DM_GestioneEmail.sql new file mode 100644 index 00000000..d31e1038 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_GestioneEmail.sql @@ -0,0 +1,105 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_GestioneEmail + + + +--delete from c6mart.gestione_Email where data_Generazione > getDate()-1 +--truncate table log_esecuzione +--select * from log_esecuzione +CREATE procedure [C6Mart].[RP_DM_GestioneEmail] +AS +BEGIN + +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- PERFEZIONAMENTO; +-- MANCATA MIGRAZIONE; +-- REINVIO SOLLECITO MANCATA MIGRAZIONE. + +--LA GESTIONE DELLE EMAIL PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO O +--PER REINVIO DEL SOLLECITO PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO +--VIENE FATTA DOPO L'ALLINEAMENTO CON I DATI DEL SIMPB + + +--ESTRAZIONE EMAIL PERFEZIONAMENTO +--TIPO EMAIL: "PERF" +--L'EMAIL VIENE INVIATA PER TUTTI I CLIENTI CHE HANNO DATA DI PERFEZIONAMENTO VALORIZZATA +--IL CONTROLLO SULLA DATA DI GENERAZIONE >= DELLA DATA DI PERFEZIONAMENTO E' DOVUTO AL +--FATTO CHE IL CONTRATTO PUO` ESSERE CHIUSO E RIAPERTO ED IN QUESTO CASO LA MAIL DI PERFEZIONAMENTO +--DEVE ESSERE REINVIATA + +-- EMAIL DI ADESIONE AL SERVIZIO SEI +-- TIPO EMAIL 'PERF' +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @ID_ELAB INT +DECLARE @MaxInvioSoll as SMALLINT + +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') as smallint) +SET @ID_ELAB = C6MART.GETIDELAB() +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) --7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint) --7 + +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - Mail Perf',GETDATE(),'Elaborazione giornaliera') + + +--0. MODIFICO I RECORD IN GESTIONE EMAIL CON TIPO = PERF PER EVITARE IL REINVIO MULTIPLO A SEGUITO DELLA RIATTIVAZIONE +--UPDATE C6MART.GESTIONE_EMAIL +--SET TIPO = 'OLD' +--FROM C6MART.Gestione_EMAIL EMAIL +-- INNER JOIN C6MART.VCONTRATTI VC +-- ON VC.COD_FISCALE = EMAIL.COD_FISCALE +-- AND VC.rete = EMAIL.RETE +-- AND EMAIL.TIPO = 'PERF' +-- INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC +-- ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +-- AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO = '9999-12-31 00:00:00.000' +-- AND MC.Tip_riattivazione = 1 + + +--1. INSERIMENTO MAIL DI "PERFEZIONAMENTO" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- NON PRESENTI SU GESTIONE_EMAIL + +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione, ID_ELAB) +-------------------------------------------------------------------------CLIENTI SEI-------------------------------------------------------------------------------- +SELECT + VC.Rete, + VC.Cod_Fiscale, + 'PERF' as TipoEmail, + GETDATE() AS DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6Mart.VCONTRATTI VC +INNER JOIN C6Mart.CONTRATTOSEI_METADATI MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb +LEFT JOIN C6Mart.GESTIONE_EMAIL EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + AND EMAIL.TIPO = 'PERF' + AND EMAIL.Data_Generazione >= VC.Data_Perf -- CONDIZIONE PER ESCLUDERE DAL JOIN UN CONTRATTO CHIUSO E RIAPERTO. +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF -- IN QUESTO MODO LO INSERIAMO NUOVAMENTE IN GESTIONE_MAIL. + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + --AND VC.InvioBenvenuto = 'N' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND EMAIL.COD_FISCALE IS NULL + AND PF.RETE IS NULL + and vc.TIP_CONTRATTO<>3 + ---------------------------------------------------------------------FINE CLIENTI SEI------------------------------------------------------------ +union all + ---------------------------------------------------------------------CLIENTI REMOTE ADVISORY-------------------------------------------------------- +SELECT + VC.Rete, + VC.Cod_Fiscale, + 'PERF_DA' as TipoEmail, + GETDATE() AS DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6Mart.VCONTRATTI VC +INNER JOIN C6Mart.CONTRATTOSEI_METADATI MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb +LEFT JOIN C6Mar diff --git a/sql/storedCollaudo/C6Mart_RP_DM_GestioneEmailNA.sql b/sql/storedCollaudo/C6Mart_RP_DM_GestioneEmailNA.sql new file mode 100644 index 00000000..1c9b89b2 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_GestioneEmailNA.sql @@ -0,0 +1,122 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_GestioneEmailNA + + +CREATE PROCEDURE [C6Mart].[RP_DM_GestioneEmailNA] +AS +BEGIN + + + +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT + +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)--7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT)--12 +SET @ID_ELAB = C6MART.GETIDELAB() + + INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmailNA_AND',GETDATE(),'Elaborazione giornaliera') + +BEGIN TRANSACTION + + + SELECT DISTINCT ChiaveClientePB + INTO #CaricamentoMassivoC6SC + FROM [CONSUNI].ConsulenzaUnicaFL.dbo.CaricamentoMassivoC6SC WHERE ESITO = 0 AND CHIUSO = 'N' + + SELECT + vc.rete, + vc.cod_fiscale, + VC.ChiaveClientePb, + CASE + WHEN ISNULL(numSolleciti,0) = 0 THEN '1_SOLL_NOASS' + WHEN numSolleciti = 1 THEN '2_SOLL_NOASS' + WHEN numSolleciti = 2 THEN '3_SOLL_NOASS' + ELSE 'S_SOLL_NOASS' + END as tipoEmail, + getDate() as DataGenerazione, + CASE WHEN RSES.chiaveclientepb IS NULL THEN 'N' ELSE 'S' END AS ContrRSES, + @ID_ELAB AS ID_ELAB + INTO #CLIENTINA + FROM C6Mart.vcontrattisei VC + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + LEFT JOIN #CaricamentoMassivoC6SC RSES + ON RSES.chiaveclientepb = VC.chiaveclientepb + WHERE 1 = 1 + AND VC.numSolleciti < @MaxInvioSoll + + -- modifica del 3/10/2018 per gestire i casi in cui VC.Data_UltimoSollecito = 0 e che manda in errore + -- la sp (Error: Implicit conversion from data type datetime to smallint is not allowed. Use the CONVERT function to run this query) + + --AND ((ISNULL(VC.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + -- OR + -- (DATEDIFF(DAY,isnull(VC.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO)) + + AND ((ISNULL(VC.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull( + case when isdate(VC.Data_UltimoSollecito) = 1 + then VC.Data_UltimoSollecito + else + GETDATE() + end + ,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO)) + --fine modifica del 3/10/2018 + + -- modifica del 3/10/2018 per gestire i valori 'date' del campo e che mandano in errore di conversione la sp + --AND VC.InvioBenvenuto = 'N' + AND cast(VC.InvioBenvenuto as varchar) = 'N' + -- fine modifica del 3/10/2018 + + AND VC.clienteMigrato = 'S' + AND VC.risorseNA = 'S' + AND VC.Data_FineAvanzato > getDate() + AND PF.RETE IS NULL + --AND VC.COD_FISCALE + VC.RETE IN (SELECT COD_FISCALE+RETE FROM C6MART.TestEmailAnd) + + + INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + rete, + cod_fiscale, + tipoEmail, + DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM #CLIENTINA + WHERE ContrRSES = 'S' + + UPDATE c6mart.CONTRATTOSEI_METADATI + SET numSolleciti = isnull(numSolleciti,0) + 1, Data_UltimoSollecito = getDate() + where chiaveclientepb in ( + select chiaveclientepb FROM #CLIENTINA + WHERE ContrRSES = 'S') + + + + + INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOASS' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOASS','REVOCA_NOASS') + AND ( + (MD.numRevoche> 0) diff --git a/sql/storedCollaudo/C6Mart_RP_DM_GestioneEmailNA_20181003.sql b/sql/storedCollaudo/C6Mart_RP_DM_GestioneEmailNA_20181003.sql new file mode 100644 index 00000000..0807c329 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_GestioneEmailNA_20181003.sql @@ -0,0 +1,120 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_GestioneEmailNA_20181003 + + +CREATE PROCEDURE [C6Mart].[RP_DM_GestioneEmailNA_20181003] +AS +BEGIN + + + +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT + +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)--7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT)--12 +SET @ID_ELAB = C6MART.GETIDELAB() + + INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmailNA_AND',GETDATE(),'Elaborazione giornaliera') + +BEGIN TRANSACTION + + + SELECT DISTINCT ChiaveClientePB + INTO #CaricamentoMassivoC6SC + FROM [CONSUNI].ConsulenzaUnicaFL.dbo.CaricamentoMassivoC6SC WHERE ESITO = 0 AND CHIUSO = 'N' + + SELECT + vc.rete, + vc.cod_fiscale, + VC.ChiaveClientePb, + CASE + WHEN ISNULL(numSolleciti,0) = 0 THEN '1_SOLL_NOASS' + WHEN numSolleciti = 1 THEN '2_SOLL_NOASS' + WHEN numSolleciti = 2 THEN '3_SOLL_NOASS' + ELSE 'S_SOLL_NOASS' + END as tipoEmail, + getDate() as DataGenerazione, + CASE WHEN RSES.chiaveclientepb IS NULL THEN 'N' ELSE 'S' END AS ContrRSES, + @ID_ELAB AS ID_ELAB + INTO #CLIENTINA + FROM C6Mart.vcontrattisei VC + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + LEFT JOIN #CaricamentoMassivoC6SC RSES + ON RSES.chiaveclientepb = VC.chiaveclientepb + WHERE 1 = 1 + AND VC.numSolleciti < @MaxInvioSoll + AND ((ISNULL(VC.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(VC.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO)) + AND VC.InvioBenvenuto = 'N' + AND VC.clienteMigrato = 'S' + AND VC.risorseNA = 'S' + AND VC.Data_FineAvanzato > getDate() + AND PF.RETE IS NULL + --AND VC.COD_FISCALE + VC.RETE IN (SELECT COD_FISCALE+RETE FROM C6MART.TestEmailAnd) + + + INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + rete, + cod_fiscale, + tipoEmail, + DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM #CLIENTINA + WHERE ContrRSES = 'S' + + UPDATE c6mart.CONTRATTOSEI_METADATI + SET numSolleciti = isnull(numSolleciti,0) + 1, Data_UltimoSollecito = getDate() + where chiaveclientepb in ( + select chiaveclientepb FROM #CLIENTINA + WHERE ContrRSES = 'S') + + + + + INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOASS' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOASS','REVOCA_NOASS') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.risorseNA = 'S')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + --AND VC.COD_FISCALE + VC.RETE IN (SELECT COD_FISCALE+RETE FROM C6MART.TestEmailAnd) + GROUP BY email.rete, email.cod_fiscale + + + UPDATE c6mart.[CONTRATTOSEI_METADATI] SET numRevoche = isnull(numRevoche,0) + 1, data_UltimaRevoca = getDate() + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C diff --git a/sql/storedCollaudo/C6Mart_RP_DM_GestioneEmailNA_Fc.sql b/sql/storedCollaudo/C6Mart_RP_DM_GestioneEmailNA_Fc.sql new file mode 100644 index 00000000..88d6cb75 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_GestioneEmailNA_Fc.sql @@ -0,0 +1,122 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_GestioneEmailNA_Fc + + +-- ============================================= +-- Author: +-- Create date: <17/11/2008,,> +-- Description: +-- ============================================= +CREATE PROCEDURE [C6Mart].[RP_DM_GestioneEmailNA_Fc] +AS +BEGIN + + + +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT + +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)--7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT)--12 +SET @ID_ELAB = C6MART.GETIDELAB() + + + + SELECT DISTINCT ChiaveClientePB + INTO #CaricamentoMassivoC6SC + FROM [CONSEVO].ConsulenzaEvolutaFL.dbo.CaricamentoMassivoC6SC WHERE ESITO = 0 AND CHIUSO = 'N' + + SELECT + vc.rete, + vc.cod_fiscale, + VC.ChiaveClientePb, + CASE + WHEN ISNULL(numSolleciti,0) = 0 THEN '1_SOLL_NOASS' + WHEN numSolleciti = 1 THEN '2_SOLL_NOASS' + WHEN numSolleciti = 2 THEN '3_SOLL_NOASS' + ELSE 'S_SOLL_NOASS' + END as tipoEmail, + getDate() as DataGenerazione, + CASE WHEN RSES.chiaveclientepb IS NULL THEN 'N' ELSE 'S' END AS ContrRSES, + @ID_ELAB AS ID_ELAB + INTO #CLIENTINA + FROM C6Mart.vcontrattisei VC + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + LEFT JOIN #CaricamentoMassivoC6SC RSES + ON RSES.chiaveclientepb = VC.chiaveclientepb + WHERE 1 = 1 + AND VC.numSolleciti < @MaxInvioSoll + AND ((ISNULL(VC.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(VC.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO)) + AND VC.InvioBenvenuto = 'N' + AND VC.clienteMigrato = 'S' + AND VC.risorseNA = 'S' + AND VC.Data_FineAvanzato > getDate() + AND PF.RETE IS NULL + AND VC.COD_FISCALE + VC.RETE IN (SELECT COD_FISCALE+RETE FROM C6MART.TestEmail_Fc) + + + --INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + rete, + cod_fiscale, + tipoEmail tipo, + DataGenerazione Data_Generazione, + @ID_ELAB AS ID_ELAB + into Gestione_Email_FC + FROM #CLIENTINA + WHERE ContrRSES = 'S' + + --UPDATE c6mart.CONTRATTOSEI_METADATI + --SET numSolleciti = isnull(numSolleciti,0) + 1, Data_UltimoSollecito = getDate() + --where chiaveclientepb in ( + --select chiaveclientepb FROM #CLIENTINA + --WHERE ContrRSES = 'S') + + + + + INSERT INTO Gestione_Email_FC (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOASS' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOASS','REVOCA_NOASS') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.risorseNA = 'S')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + AND VC.COD_FISCALE + VC.RETE IN (SELECT COD_FISCALE+RETE FROM C6MART.TestEmail_FC) + GROUP BY email.rete, email.cod_fiscale + + + + + + +END + + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_GestioneEmailNOPRO.sql b/sql/storedCollaudo/C6Mart_RP_DM_GestioneEmailNOPRO.sql new file mode 100644 index 00000000..1e91a3c4 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_GestioneEmailNOPRO.sql @@ -0,0 +1,137 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_GestioneEmailNOPRO + + +--select * from c6mart.gestione_Email where data_Generazione > getDate()-1 and tipo like '%pro%' +-- ============================================= +-- Author: +-- Create date: <19/14/2011,,> -1 ai -2! +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_GestioneEmailNOPRO] +AS +BEGIN + +BEGIN TRANSACTION + +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT + +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT) +SET @ID_ELAB = C6MART.GETIDELAB() + +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'RP_DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' +) + +-- 1. INSERIMENTO MAIL "SOLLECITI" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA ATTIVATO UN PROFILO VALIDO AL CLIENTE + -- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO NULL -> CONSIDERIAMO DATA_PERF + + INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + VC.rete, + VC.cod_fiscale, + CASE + WHEN ISNULL(MD.numSolleciti,0) = 0 THEN '1_SOLL_NOPRO' + WHEN MD.numSolleciti = 1 THEN '2_SOLL_NOPRO' + WHEN MD.numSolleciti = 2 THEN '3_SOLL_NOPRO' + ELSE 'S_SOLL_NOPRO' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'S' + AND MD.risorseNA = 'N' + AND MD.profiloAttivo = 0 + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + and vc.TIP_CONTRATTO<>3 + + union + + SELECT + VC.rete, + VC.cod_fiscale, + CASE + WHEN ISNULL(MD.numSolleciti,0) = 0 THEN '1_SOLL_NOPRO_DA' + WHEN MD.numSolleciti = 1 THEN '2_SOLL_NOPRO_DA' + WHEN MD.numSolleciti = 2 THEN '3_SOLL_NOPRO_DA' + ELSE 'S_SOLL_NOPRO_DA' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'S' + AND MD.risorseNA = 'N' + AND MD.profiloAttivo = 0 + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + and vc.TIP_CONTRATTO=3 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' + ) + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' + ) + +-- 1.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" + -- AUMENTIAMO IL N diff --git a/sql/storedCollaudo/C6Mart_RP_DM_GestioneEmailSessione.sql b/sql/storedCollaudo/C6Mart_RP_DM_GestioneEmailSessione.sql new file mode 100644 index 00000000..68ac665e --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_GestioneEmailSessione.sql @@ -0,0 +1,83 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_GestioneEmailSessione + +-- ============================================= +-- Author: +-- Create date: <17/11/2008,,> +-- Description: +-- ============================================= +CREATE PROCEDURE [C6Mart].[RP_DM_GestioneEmailSessione] +AS +BEGIN + + + +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT + +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) - 1 --7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) - 1 --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT)--12 +SET @ID_ELAB = C6MART.GETIDELAB() + + INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmailSessione',GETDATE(),'Elaborazione giornaliera') + + --select * from [CONSEVO].ConsulenzaEvolutaFL.dbo.CaricamentoMassivoC6SC + --where DataGenerazione < convert(datetime,convert (varchar, getdate(), 112)) + + update [CONSEVO].ConsulenzaEvolutaFL.dbo.CaricamentoMassivoC6SC set chiuso = 'S' + where DataGenerazione < convert(datetime,convert (varchar, getdate(), 112)) + + SELECT * + INTO #CaricamentoMassivoC6SC + FROM [CONSEVO].ConsulenzaEvolutaFL.dbo.CaricamentoMassivoC6SC WHERE CHIUSO = 'N' + + INSERT INTO [CONSEVO].ConsulenzaEvolutaFL.dbo.CaricamentoMassivoC6SC + SELECT DISTINCT VC.chiaveclientepb,GETDATE(),-2,'N' + FROM C6Mart.vcontrattisei VC + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + LEFT JOIN #CaricamentoMassivoC6SC RSES + ON RSES.chiaveclientepb = VC.chiaveclientepb + WHERE 1 = 1 + AND VC.numSolleciti < @MaxInvioSoll + AND ((ISNULL(VC.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(VC.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO)) + AND VC.InvioBenvenuto = 'N' + --AND (VC.clienteMigrato = 'N' OR VC.risorseNA = 'S' OR VC.PROFILOATTIVO = 0) + AND VC.clienteMigrato = 'S' + AND VC.risorseNA = 'S' + AND VC.Data_FineAvanzato > getDate() + AND PF.RETE IS NULL + AND RSES.chiaveclientepb IS NULL + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailSessione' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailSessione' + ) + + + + + +END + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_GestioneEmail_20161028.sql b/sql/storedCollaudo/C6Mart_RP_DM_GestioneEmail_20161028.sql new file mode 100644 index 00000000..21c21443 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_GestioneEmail_20161028.sql @@ -0,0 +1,111 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_GestioneEmail_20161028 + + +--delete from c6mart.gestione_Email where data_Generazione > getDate()-1 +--truncate table log_esecuzione +--select * from log_esecuzione +CREATE procedure [C6Mart].[RP_DM_GestioneEmail_20161028] +AS +BEGIN + +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- PERFEZIONAMENTO; +-- MANCATA MIGRAZIONE; +-- REINVIO SOLLECITO MANCATA MIGRAZIONE. + +--LA GESTIONE DELLE EMAIL PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO O +--PER REINVIO DEL SOLLECITO PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO +--VIENE FATTA DOPO L'ALLINEAMENTO CON I DATI DEL SIMPB + + +--ESTRAZIONE EMAIL PERFEZIONAMENTO +--TIPO EMAIL: "PERF" +--L'EMAIL VIENE INVIATA PER TUTTI I CLIENTI CHE HANNO DATA DI PERFEZIONAMENTO VALORIZZATA +--IL CONTROLLO SULLA DATA DI GENERAZIONE >= DELLA DATA DI PERFEZIONAMENTO E' DOVUTO AL +--FATTO CHE IL CONTRATTO PUO` ESSERE CHIUSO E RIAPERTO ED IN QUESTO CASO LA MAIL DI PERFEZIONAMENTO +--DEVE ESSERE REINVIATA + +-- EMAIL DI ADESIONE AL SERVIZIO SEI +-- TIPO EMAIL 'PERF' +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @ID_ELAB INT +DECLARE @MaxInvioSoll as SMALLINT + +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') as smallint) +SET @ID_ELAB = C6MART.GETIDELAB() +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) --7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint) --7 + +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - Mail Perf',GETDATE(),'Elaborazione giornaliera') + + +--0. MODIFICO I RECORD IN GESTIONE EMAIL CON TIPO = PERF PER EVITARE IL REINVIO MULTIPLO A SEGUITO DELLA RIATTIVAZIONE +--UPDATE C6MART.GESTIONE_EMAIL +--SET TIPO = 'OLD' +--FROM C6MART.Gestione_EMAIL EMAIL +-- INNER JOIN C6MART.VCONTRATTI VC +-- ON VC.COD_FISCALE = EMAIL.COD_FISCALE +-- AND VC.rete = EMAIL.RETE +-- AND EMAIL.TIPO = 'PERF' +-- INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC +-- ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +-- AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO = '9999-12-31 00:00:00.000' +-- AND MC.Tip_riattivazione = 1 + + +--1. INSERIMENTO MAIL DI "PERFEZIONAMENTO" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- NON PRESENTI SU GESTIONE_EMAIL + +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione, ID_ELAB) +SELECT + VC.Rete, + VC.Cod_Fiscale, + 'PERF' as TipoEmail, + GETDATE() AS DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6Mart.VCONTRATTI VC +INNER JOIN C6Mart.CONTRATTOSEI_METADATI MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb +LEFT JOIN C6Mart.GESTIONE_EMAIL EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + AND EMAIL.TIPO = 'PERF' + AND EMAIL.Data_Generazione >= VC.Data_Perf -- CONDIZIONE PER ESCLUDERE DAL JOIN UN CONTRATTO CHIUSO E RIAPERTO. +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF -- IN QUESTO MODO LO INSERIAMO NUOVAMENTE IN GESTIONE_MAIL. + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + --AND VC.InvioBenvenuto = 'N' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND EMAIL.COD_FISCALE IS NULL + AND PF.RETE IS NULL + + +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'INSERT',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf' AND + Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf') + +INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - SollecitiNOMIG',GETDATE(),'Elaborazione giornaliera') + +-- 2. INSERIMENTO MAIL "SOLLECITI" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE +-- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO NULL -> CONSIDERIAMO DATA_PERF + +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT + VC.rete, + VC.co diff --git a/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_ALTRO.sql b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_ALTRO.sql new file mode 100644 index 00000000..5c1107b7 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_ALTRO.sql @@ -0,0 +1,148 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_PATRIMONIO_ALTRO + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_ALTRO] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_ALTRO', + GETDATE(), + 'Elaborazione giornaliera' + ) + +TRUNCATE TABLE C6MART.PATRIMONIO_ALTRO + +INSERT INTO [C6Mart].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) + +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +--INTO C6MART.RP_PATRIMONIO_ALTRO +FROM + C6Staging.RP_DettPatrAziendale dettPatrAz, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + -- AC: Modifica del 11/10/2018 in seguito ad errore su CF: GLBGDU58B07F712V + --and VCONTRATTI.COD_FISCALE <> 'LRNLCU73D28I470U' + and VCONTRATTI.COD_FISCALE NOT IN ('LRNLCU73D28I470U', 'GLBGDU58B07F712V') + -- AC: Fine Modifica + +UNION ALL + +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + --(dettAltriProd.valoreStimato) as valore, + SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + + +FROM + C6Staging.RP_DettAltriProdotti dettAltriProd, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + -- AC: Modifica del 11/10/2018 in seguito ad errore su CF: GLBGDU58B07F712V + --and VCONTRATTI.COD_FISCALE <> 'LRNLCU73D28I470U' + and VCONTRATTI.COD_FISCALE NOT IN ('LRNLCU73D28I470U', 'GLBGDU58B07F712V') + -- AC: Fine Modifica + + + --inizio intervento + --Fcianfa 25/08/2015 intervento segnalato da ticket n4t4, per calcolare il ctv viene erroneamente effettuata una somma che fa si che sul report per ogni riga viene riportato il totale. + + INSERT INTO [C6Mart].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) + +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + + + dettPatrAz.valoreStimato AS CTV, + --SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +--INTO C6MART.RP_PATRIMONIO_ALTRO +FROM + C6Staging.RP_DettPatrAziendale dettPatrAz, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + -- AC: Modifica del 11/10/2018 in seguito ad errore su CF: GLBGDU58B07F712V + --and VCONTRATTI.COD_FISCALE <> 'LRNLCU73D28I470U' + and VCONTRATTI.COD_FISCALE NOT IN ('LRNLCU73D28I470U', 'GLBGDU58B07F712V') + -- AC: Fine Modifica + +UNION ALL + +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + dettAltriProd.valoreStimato AS CTV, + --S diff --git a/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_ALTRO_20150825.sql b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_ALTRO_20150825.sql new file mode 100644 index 00000000..6e14cc8a --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_ALTRO_20150825.sql @@ -0,0 +1,147 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_PATRIMONIO_ALTRO_20150825 + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_ALTRO_20150825] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_ALTRO', + GETDATE(), + 'Elaborazione giornaliera' + ) + +TRUNCATE TABLE C6MART.PATRIMONIO_ALTRO + +INSERT INTO [C6Mart].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) + +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +--INTO C6MART.RP_PATRIMONIO_ALTRO +FROM + C6Staging.RP_DettPatrAziendale dettPatrAz, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + +UNION ALL + +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + --(dettAltriProd.valoreStimato) as valore, + SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + + +FROM + C6Staging.RP_DettAltriProdotti dettAltriProd, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + +--SELECT +-- VCONTRATTI.chiaveClientePB, +-- VCONTRATTI.rete AS RETE, +-- VCONTRATTI.COD_FISCALE, +-- RP_DettProdottiTerzi.numQuote AS QUANTITA, +-- --SUBSTRING(ALL_PATR_TERZI.DENOMINAZIONE,1,50) AS DESCRIZIONE, (sembra non essere utilizzato) +-- NULL AS DESCRIZIONE, +-- --ALL_PATR_TERZI.PATRIMONIO_ALTRO_PB_E6F18 AS CTV, (sto vedendo con Serena) +-- NULL AS CTV, +-- @ID_ELAB AS ID_ELAB, +-- @TIPO_ELAB AS TIPO_ELAB +--FROM C6Staging.RP_PatrimonioTerzi +--INNER JOIN VCONTRATTI +--ON RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +--INNER JOIN C6Staging.RP_DettProdottiTerzi +--ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi +----WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_E6F18 + +--UNION + +--SELECT +-- VCONTRATTI.chiaveClientePB, +-- VCONTRATTI.rete AS RETE, +-- VCONTRATTI.COD_FISCALE, +-- NULL AS QUANTITA, +-- --SUBSTRING(ALL_PATR_TERZI.DENOMINAZIONE_PN_F87B4,1,50) AS DESCRIZIONE, (sembra non essere utilizzato) +-- NULL AS DESCRIZIONE, +-- --ALL_PATR_TERZI.PATRIMONIO_ALTRO_PN_F87B4 AS CTV, (sto vedendo con Serena) +-- NULL AS CTV, +-- @ID_ELAB AS ID_ELAB, +-- @TIPO_ELAB AS TIPO_ELAB +--FROM C6Staging.RP_PatrimonioTerzi +--INNER JOIN VCONTRATTI +--ON RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +----WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_F87B4 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_ALTRO_20160615.sql b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_ALTRO_20160615.sql new file mode 100644 index 00000000..917809dc --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_ALTRO_20160615.sql @@ -0,0 +1,164 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_PATRIMONIO_ALTRO_20160615 + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_ALTRO_20160615] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_ALTRO', + GETDATE(), + 'Elaborazione giornaliera' + ) + +TRUNCATE TABLE C6MART.PATRIMONIO_ALTRO + +INSERT INTO [C6Mart].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) + +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +--INTO C6MART.RP_PATRIMONIO_ALTRO +FROM + C6Staging.RP_DettPatrAziendale dettPatrAz, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + and VCONTRATTI.COD_FISCALE <> 'LRNLCU73D28I470U' + +UNION ALL + +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + --(dettAltriProd.valoreStimato) as valore, + SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + + +FROM + C6Staging.RP_DettAltriProdotti dettAltriProd, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + and VCONTRATTI.COD_FISCALE <> 'LRNLCU73D28I470U' + + + --inizio intervento + --Fcianfa 25/08/2015 intervento segnalato da ticket n4t4, per calcolare il ctv viene erroneamente effettuata una somma che fa si che sul report per ogni riga viene riportato il totale. + + INSERT INTO [C6Mart].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) + +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + + + dettPatrAz.valoreStimato AS CTV, + --SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +--INTO C6MART.RP_PATRIMONIO_ALTRO +FROM + C6Staging.RP_DettPatrAziendale dettPatrAz, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + and VCONTRATTI.COD_FISCALE = 'LRNLCU73D28I470U' + +UNION ALL + +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + dettAltriProd.valoreStimato AS CTV, + --SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + + +FROM + C6Staging.RP_DettAltriProdotti dettAltriProd, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + and VCONTRATTI.COD_FISCALE = 'LRNLCU73D28I470U' +--fine intervento + + + + +--SELECT +-- VCONTRATTI.chiaveClientePB, +-- diff --git a/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_BF.sql b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_BF.sql new file mode 100644 index 00000000..11630982 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_BF.sql @@ -0,0 +1,145 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_PATRIMONIO_BF + + + + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_BF] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf where nob_prez is null +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + +--delete TEMPORANEA per superare un problema del WS che restituisce una riga doppia + +--delete from c6staging.spb_contr_sintesi +--where codicefiscale = 'MNTMRC82C08I608Y' +--and CODICEMAF = '1362945' +--and ISIN = 'IE00B42Z5J44' + +--delete from c6staging.spb_contr_sintesi +--where codicefiscale = 'FZAMRA55C50H501E' +--and CODICEMAF = '1362945' +--and ISIN = 'IE00B42Z5J44' + + + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione giornaliera' + ) + + --TRUNCATE TABLE C6MART.PATRIMONIO_BF + DELETE FROM C6MART.PATRIMONIO_BF + + + TRUNCATE TABLE C6Staging.RP_Consulenza + + +--Ricerco dati da Pianificazione + SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + --,pian.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,PosPor.conto + ,PosPor.rubricato + ,PosPor.codConf + ,PosPor.numPolizza + ,PosPor.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,'' as position_id + ,termId + ,anno + ,prog + ,case when nob.CODCONF_ES is null then 'N' else 'S' end as nob_prez + +INTO #TempPianif +FROM + C6Staging.RP_Pianificazione AS pian + INNER JOIN C6Staging.RP_Progetto AS pro + ON pian.chiaveConsulenza = pro.chiaveConsulenza + INNER JOIN C6Staging.RP_ProgettiPiramideModello pirmod + ON pro.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6Staging.RP_PosizioniPortafoglio AS pospor + ON pro.chiaveProgetto = pospor.chiaveProgetto + INNER JOIN C6Staging.RP_DettaglioPosizionePortafoglio AS dettposport + ON pospor.chiavePosizionePtf = dettposport.chiavePosizionePtf + INNER JOIN C6Staging.RP_CatalogoProdotti AS catprod + ON pospor.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6Staging.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6Mart.VCONTRATTI contr + ON pian.chiaveClientePB = contr.chiaveClientePB + JOIN C6mart.contrattosei_metadati meta + ON contr.chiaveClientePB = meta.chiaveClientePB + LEFT JOIN [C6Staging].[RP_NobPrez] nob + ON PosPor.CODCONF=nob.CODCONF_ES + and contr.chiaveClientePB=nob.CHIAVECLIENTEPB + and catprod.dossier=nob.dossier + + WHERE + pospor.dtFineValidita > getdate() + AND pro.dtfinevalidita='9999-12-31 00:00:00.000' + AND pirmod.dtfinevalidita='9999-12-31 00:00:00.000' + AND INVIOBENVENUTO = 'N' + + +INSERT INTO C6Staging.RP_Consulenza + SELECT * + FROM #TempPianif + +--UNION ALL +----ricerco dati da Migrazione +--SELECT +-- contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza +-- ,contr.rete +-- ,contr.cod_fiscale +-- ,pirmod.nomeProgetto +-- --,mig.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza +-- ,promig.chiaveProgetto +-- ,promig.area +-- ,promig.tipoProgetto +-- ,catprod.azob as StrType +-- ,catprod.Complessita +-- ,emit.Descrizione AS Desc diff --git a/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_BF_20180201.sql b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_BF_20180201.sql new file mode 100644 index 00000000..9ef5a648 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_BF_20180201.sql @@ -0,0 +1,144 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_PATRIMONIO_BF_20180201 + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_BF_20180201] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + +--delete TEMPORANEA per superare un problema del WS che restituisce una riga doppia + +--delete from c6staging.spb_contr_sintesi +--where codicefiscale = 'MNTMRC82C08I608Y' +--and CODICEMAF = '1362945' +--and ISIN = 'IE00B42Z5J44' + +--delete from c6staging.spb_contr_sintesi +--where codicefiscale = 'FZAMRA55C50H501E' +--and CODICEMAF = '1362945' +--and ISIN = 'IE00B42Z5J44' + + + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione giornaliera' + ) + + --TRUNCATE TABLE C6MART.PATRIMONIO_BF + DELETE FROM C6MART.PATRIMONIO_BF + + + TRUNCATE TABLE C6Staging.RP_Consulenza + + +--Ricerco dati da Pianificazione + SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + --,pian.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,PosPor.conto + ,PosPor.rubricato + ,PosPor.codConf + ,PosPor.numPolizza + ,PosPor.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,'' as position_id + ,termId + ,anno + ,prog + +INTO #TempPianif +FROM + C6Staging.RP_Pianificazione AS pian + INNER JOIN C6Staging.RP_Progetto AS pro + ON pian.chiaveConsulenza = pro.chiaveConsulenza + INNER JOIN C6Staging.RP_ProgettiPiramideModello pirmod + ON pro.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6Staging.RP_PosizioniPortafoglio AS pospor + ON pro.chiaveProgetto = pospor.chiaveProgetto + INNER JOIN C6Staging.RP_DettaglioPosizionePortafoglio AS dettposport + ON pospor.chiavePosizionePtf = dettposport.chiavePosizionePtf + INNER JOIN C6Staging.RP_CatalogoProdotti AS catprod + ON pospor.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6Staging.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6Mart.VCONTRATTI contr + ON pian.chiaveClientePB = contr.chiaveClientePB + JOIN C6mart.contrattosei_metadati meta + ON contr.chiaveClientePB = meta.chiaveClientePB + + WHERE + pospor.dtFineValidita > getdate() + AND pro.dtfinevalidita='9999-12-31 00:00:00.000' + AND pirmod.dtfinevalidita='9999-12-31 00:00:00.000' + AND INVIOBENVENUTO = 'N' + + +INSERT INTO C6Staging.RP_Consulenza + SELECT * + FROM #TempPianif + +--UNION ALL +----ricerco dati da Migrazione +--SELECT +-- contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza +-- ,contr.rete +-- ,contr.cod_fiscale +-- ,pirmod.nomeProgetto +-- --,mig.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza +-- ,promig.chiaveProgetto +-- ,promig.area +-- ,promig.tipoProgetto +-- ,catprod.azob as StrType +-- ,catprod.Complessita +-- ,emit.Descrizione AS DescrizioneEmittente +-- ,MigPos.conto +-- ,MigPos.rubricato +-- ,MigPos.codConf +-- ,MigPos.numPolizza +-- ,MigPos.custGar +-- ,catprod.TipoProdotto +-- ,catprod.CodSottoprodotto +-- ,catprod.CodInterno +-- ,catprod.CodMaf +-- ,catprod.CodIsin +-- ,'' as position_i diff --git a/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE.sql b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE.sql new file mode 100644 index 00000000..1153ad34 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE.sql @@ -0,0 +1,115 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_PATRIMONIO_IMMOBILIARE + + +--select * from c6mart.patrimonio_immobiliare +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_IMMOBILIARE] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.PATRIMONIO_IMMOBILIARE + + + INSERT INTO [C6Mart].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + -- DISTINCT Atringali 12012010 + C.RETE, --ALL_PATR_TERZI.RETE_PB AS RETE, + C.COD_FISCALE, --ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + B.DESCRIZIONE, --ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, --b.descrizione + B.TIPOLOGIA, + /* + CASE ALL_PATR_TERZI.TIPOLOGIA_RDESCR --tipologia? cos' il codice Tipologia + WHEN 'Civil' THEN 'Civile' + WHEN 'Economic' THEN 'Economica' + WHEN 'Posh' THEN 'Signorile' + ELSE '' + END AS TIPOLOGIA, + Verificare il tipo tipologia sul nuovo per mettere la giusta case + verificato con alessia la descrizione tipologia pu finire sul report + */ + B.COMUNE AS COMUNE, --ALL_PATR_TERZI.LOCALITA AS LOCALITA, --comune null verificare se corretto + B.codProvincia AS PROVINCIA, --NULL AS PROVINCIA, --provincia + NULL AS CAP, + NULL AS NAZIONE, + B.VALOREIMMOBILETOTALE, --ALL_PATR_TERZI.PATRIMONIO_IMMOBILIARE AS VALORE_STIMATO,--valore immobile + B.RENDITAANNUA, --ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, --renditaAnnua + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + + FROM C6STAGING.RP_PATRIMONIOTERZI A + JOIN C6STAGING.RP_DETTIMMOBILIARE B + ON A.CHIAVEPRODOTTOTERZI = B.CHIAVEPRODOTTOTERZI + JOIN C6MART.VCONTRATTI C + ON A.CHIAVECLIENTEPB = C.CHIAVECLIENTEPB + WHERE A.IDTIPOPRODOTTO = 'IM' + + + /* + FROM C6STAGING.ALL_PATR_TERZI + WHERE ALL_PATR_TERZI.CHIAVE_PR_31921 IS NOT NULL + --V Dal passaggio in prod del 21/10/2010 su oracle questo campo sempre null AND ALL_PATR_TERZI.CHIAVE_RDESC IS NOT NULL + AND ALL_PATR_TERZI.DESCRIZIONE_RDESCR IS NOT NULL + */ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_20190107_ProQuota.sql b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_20190107_ProQuota.sql new file mode 100644 index 00000000..164b0bbc --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_20190107_ProQuota.sql @@ -0,0 +1,121 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_PATRIMONIO_IMMOBILIARE_20190107_ProQuota + + + + +--select * from c6mart.patrimonio_immobiliare +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_IMMOBILIARE_20190107_ProQuota] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.PATRIMONIO_IMMOBILIARE_20190107_ProQuota + + + INSERT INTO [C6Mart].[PATRIMONIO_IMMOBILIARE_20190107_ProQuota] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[VALORE_STIMATO_PROQUOTA] + ,[PROQUOTA]) + SELECT + -- DISTINCT Atringali 12012010 + C.RETE, --ALL_PATR_TERZI.RETE_PB AS RETE, + C.COD_FISCALE, --ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + B.DESCRIZIONE, --ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, --b.descrizione + B.TIPOLOGIA, + /* + CASE ALL_PATR_TERZI.TIPOLOGIA_RDESCR --tipologia? cos' il codice Tipologia + WHEN 'Civil' THEN 'Civile' + WHEN 'Economic' THEN 'Economica' + WHEN 'Posh' THEN 'Signorile' + ELSE '' + END AS TIPOLOGIA, + Verificare il tipo tipologia sul nuovo per mettere la giusta case + verificato con alessia la descrizione tipologia pu finire sul report + */ + B.COMUNE AS COMUNE, --ALL_PATR_TERZI.LOCALITA AS LOCALITA, --comune null verificare se corretto + B.codProvincia AS PROVINCIA, --NULL AS PROVINCIA, --provincia + NULL AS CAP, + NULL AS NAZIONE, + B.VALOREIMMOBILETOTALE, --ALL_PATR_TERZI.PATRIMONIO_IMMOBILIARE AS VALORE_STIMATO,--valore immobile + B.RENDITAANNUA, --ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, --renditaAnnua + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + B.valoreImmobileProQuota, + B.ProQuota + + FROM C6STAGING.RP_PATRIMONIOTERZI A + JOIN C6STAGING.RP_DETTIMMOBILIARE_20190107_ProQuota B + ON A.CHIAVEPRODOTTOTERZI = B.CHIAVEPRODOTTOTERZI + JOIN C6MART.VCONTRATTI C + ON A.CHIAVECLIENTEPB = C.CHIAVECLIENTEPB + WHERE A.IDTIPOPRODOTTO = 'IM' + + + /* + FROM C6STAGING.ALL_PATR_TERZI + WHERE ALL_PATR_TERZI.CHIAVE_PR_31921 IS NOT NULL + --V Dal passaggio in prod del 21/10/2010 su oracle questo campo sempre null AND ALL_PATR_TERZI.CHIAVE_RDESC IS NOT NULL + AND ALL_PATR_TERZI.DESCRIZIONE_RDESCR IS NOT NULL + */ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql new file mode 100644 index 00000000..02b499d3 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql @@ -0,0 +1,129 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota + + + + + + +--select * from c6mart.PATRIMONIO_IMMOBILIARE_ProQuota +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE_PROQUOTA', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.PATRIMONIO_IMMOBILIARE_ProQuota + + INSERT INTO [C6Mart].[PATRIMONIO_IMMOBILIARE_ProQuota]( + [RETE], + [COD_FISCALE], + Descrizione, + Tipologia, + Localita, + AffittoPercepito, + [VALORE_STIMATO], + Totale, + TotaleAffitto, + [TIPOLOGIA_DIRITTO], + [PROQUOTA], + [VALORE_STIMATO_PROQUOTA], + TotaleProQuota + ) + + select + vp.Rete, + vp.Cod_Fiscale, + vp.Descrizione , + vp.Tipologia, + vp.Localita, + vp.AffittoPercepito, + vp.Valore, + vp.Totale, + vp.TotaleAffitto, + vp.TipologiaDiritto, + vp.ProQuota, + vp.Valore_ProQuota, + vp.TotaleProQuota + from + [C6Mart].[RP_vContrattiPerGenerazioneReport] vc + inner join C6Mart.vPatrimonioImmobiliare vp + on vc.rete = vp.rete + and vc.cod_fiscale = vp.cod_fiscale + + --select vContratti.Rete, + -- vContratti.Cod_Fiscale, + -- dett.valoreImmobileTotale as Valore_Stimato, + -- coin.moltiplicatoreDiritto * dett.valoreImmobileTotale as Valore_Stimato_ProQuota, + -- coin.moltiplicatoreDiritto * 100 as ProQuota, + -- dett.TipologiaDiritto + --from + -- C6Mart.vContrattiPerGenerazioneReport vContratti + -- --(select top 100 rete, cod_fiscale from c6mart.vContratti where Cod_Fiscale = 'BRNVLM35H61L407Q') vContratti + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.vInfoCliente vInfo + -- on vContratti.Cod_Fiscale = vInfo.CodFis + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.Cointestatari coin + -- on vInfo.chiaveClientePB = coin.chiaveClientePB + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.DettImmobiliare dett + -- on dett.chiaveProdottoTerzi = coin.chiaveProdottoTerzi + --union + + --select vContratti.Rete, + -- vContratti.Cod_Fiscale, + -- dett.valoreImmobileTotale as Valore_Stimato, + -- dett.valoreImmobileTotale as Valore_Stimato_ProQuota, + -- 100 as ProQuota, + -- isnull(dett.TipologiaDiritto, 'Propriet') as TipologiaDiritto + --from + -- C6Mart.vContrattiPerGenerazioneReport vContratti + -- --(select top 100 rete, cod_fiscale from c6mart.vContratti where Cod_Fiscale = 'BRNVLM35H61L407Q') vContratti + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.vInfoCliente vInfo + -- on vContratti.Cod_Fiscale = vInfo.CodFis + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.PatrimonioTerzi coin + -- on vInfo.chiaveClientePB = coin.chiaveClientePB + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.DettImmobiliare dett + -- on dett.chiaveProdottoTerzi = coin.chiaveProdottoTerzi + -- Log esecuzione + + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE_PROQUOTA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE_PROQUOTA' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_TERZI.sql b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_TERZI.sql new file mode 100644 index 00000000..28c9b671 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_TERZI.sql @@ -0,0 +1,134 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_PATRIMONIO_TERZI + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_TERZI] +AS +BEGIN + + SET NOCOUNT ON; + + SET ARITHABORT OFF + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.PATRIMONIO_TERZI + + INSERT INTO [C6Mart].[PATRIMONIO_TERZI] + ( +--chiaveClientePB, + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + + + + SELECT + + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + RP_PatrimonioTerzi.chiaveProdottoTerzi AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6Staging.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6Staging.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + + --------------------- intervento del 19/2/2018 per gestire ctv e capitale_investito pi grandi del consentito + --RP_PatrimonioTerzi.ctv AS CTV, + --RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + case + when RP_PatrimonioTerzi.ctv > 999999999999.00 then 999999999999.00 + else RP_PatrimonioTerzi.ctv + end AS CTV, + + case + when RP_DettProdottiTerzi.capitaleInvestito > 999999999999.00 then 999999999999.00 + else RP_DettProdottiTerzi.capitaleInvestito + end AS VERSATO_NETTO, + + + --------------------- fine intervento del 19/2/2018 + + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.A diff --git a/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_TERZI_20180219.sql b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_TERZI_20180219.sql new file mode 100644 index 00000000..de58db74 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_TERZI_20180219.sql @@ -0,0 +1,122 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_PATRIMONIO_TERZI_20180219 + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_TERZI_20180219] +AS +BEGIN + + SET NOCOUNT ON; + + SET ARITHABORT OFF + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6MART.PATRIMONIO_TERZI + + INSERT INTO [C6Mart].[PATRIMONIO_TERZI] + ( +--chiaveClientePB, + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + + +--select +--ALL_PATR_TERZI.RETE_PB AS RETE, -- +-- ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, -- +-- NULL AS NUM_POLIZZA, +-- ALL_PATR_TERZI.TIPO_POLIZZA_BT_97BEE AS TIPO_POLIZZA, +-- --COALESCE(PRODOTTI_A_CATALOGO.TIPO_PRODOTTO, PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO) AS TIPO_PRODOTTO, +-- CASE +-- WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' AND S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 = 'Conti correnti' +-- THEN 'Altro' +-- ELSE +-- COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) +-- END AS TIPO_PRODOTTO, +-- PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO2 AS TIPO_PRODOTTO2, +-- ISNULL(ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO,'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, -- +-- ISNULL(ALL_PATR_TERZI.CHIAVE_THR,'PRODOTTO IN CATALOGO') AS COD_PRODOTTO_TERZI, -- +-- ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, -- +-- --ALL_PATR_TERZI.DATA_INIZIO_INV AS DATA_SOTTOSCRIZIONE, -- +-- --ISNULL(ALL_PATR_TERZI.DATA_INIZIO_INV, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ) AS DATA_SOTTOSCRIZIONE, +-- --ALL_PATR_TERZI.BALANCEDATETIME_DI_THR AS DATA_SOTTOSCRIZIONE, +-- CASE +-- WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.PolizzeRivalutabili') -- PRODOTTI S49 +-- THEN ISNULL(ALL_PATR_TERZI.DATA_SOTTOSCRIZIONE, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ) +-- WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.ProdottiPrevidenziali') -- PRODOTTI S50 +-- THEN ALL_PATR_TERZI.BALANCEDATETIME_DI_THR -- EQUIVALENTE A ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ +-- ELSE -- PRODOTTI S48 +-- ALL_PATR_TERZI.DATA_INIZIO_INV +-- END AS DATA_SOTTOSCRIZIONE, +-- ALL_PATR_TERZI.DATA_SCADENZA AS DATA_SCADENZA, +-- ALL_PATR_TERZI.TIPO_VERSAMENTO_BT_6797 AS FREQ_RATA, -- +-- NULL AS DURATA_POLIZZA, +-- ALL_PATR_TERZI.PREMIO_VERSAMENTO AS PREMIO, +-- NULL AS ALIQUOTA, +-- ALL_PATR_TERZI.BALANCEDATETIME_DI_THR AS DATA_SOTT_FP, +-- NULL AS DATA_REGOLAMENTO, +-- NULL AS QUANTITA, +-- NULL AS PREZZO, +-- ALL_PATR_TERZI.PATRIMONIO_TERZI AS CTV, -- +-- ALL_PATR_TERZI.CAPITALE_INVESTITO AS VERSATO_NETTO, -- +-- NULL AS DIV_REGOLAMENTO, +-- NULL AS CAMBIO, +-- CASE +-- WHEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' +-- THEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 +-- WHEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' +-- THEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 +-- WHEN (S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' +-- AND diff --git a/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_TERZI_Param.sql b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_TERZI_Param.sql new file mode 100644 index 00000000..05a8b6ee --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_TERZI_Param.sql @@ -0,0 +1,121 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_PATRIMONIO_TERZI_Param + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_TERZI_Param]( + @Rete varchar(1), + @CodiceFiscale varchar(20) +) +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + --INSERT INTO LOG_ESECUZIONE + -- (Nome, Inizio, Nota) + --VALUES ( + -- 'RP_DM_PATRIMONIO_TERZI', + -- GETDATE(), + -- 'Elaborazione giornaliera' + --) + + --TRUNCATE TABLE C6MART.PATRIMONIO_TERZI + + INSERT INTO [C6Mart].[PATRIMONIO_TERZI] + ( +--chiaveClientePB, + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT + +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere +-- CASE +-- WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' AND S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 = 'Conti correnti' +-- THEN 'Altro' +-- ELSE +-- COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) +-- END AS TIPO_PRODOTTO, + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + RP_PatrimonioTerzi.chiaveProdottoTerzi AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6Staging.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6Staging.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + RP_PatrimonioTerzi.ctv AS CTV, + RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_P diff --git a/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_TERZI_luca.sql b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_TERZI_luca.sql new file mode 100644 index 00000000..d1048a82 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_PATRIMONIO_TERZI_luca.sql @@ -0,0 +1,130 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_PATRIMONIO_TERZI_luca + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_TERZI_luca] +AS +BEGIN + + SET NOCOUNT ON; + + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + + + + + TRUNCATE TABLE C6MART.PATRIMONIO_TERZI + + INSERT INTO [C6Mart].[PATRIMONIO_TERZI] + ( +--chiaveClientePB, + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + + + + SELECT + + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + --(CASE RP_DettProdottiTerzi.tipoPolizza + -- WHEN 'CapitaleDifferito' THEN 'Capitale differito' + -- WHEN 'MistaImmediata' THEN 'Mista immediata' + -- WHEN 'VitaIntera' THEN 'Vita intera' + -- WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + -- WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + -- ELSE RP_DettProdottiTerzi.tipoPolizza + -- END) AS TIPO_POLIZZA, + null AS TIPO_POLIZZA, + --COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere + null AS TIPO_PRODOTTO, + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + RP_PatrimonioTerzi.chiaveProdottoTerzi AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + --RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + null AS INTERMEDIARIO, + --case when C6Staging.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + -- then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + -- when C6Staging.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + -- then RP_PatrimonioTerzi.DATACTV + -- else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + --end AS DATA_SOTTOSCRIZIONE, + null AS DATA_SOTTOSCRIZIONE, + --RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + null AS DATA_SCADENZA, + --RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + null AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + + case + when RP_PatrimonioTerzi.ctv > 999999999999.00 then 999999999999.00 + else RP_PatrimonioTerzi.ctv + end AS CTV, + + case + when RP_DettProdottiTerzi.capitaleInvestito > 999999999999.00 then 999999999999.00 + else RP_DettProdottiTerzi.capitaleInvestito + end AS VERSATO_NETTO, + --RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, --mod + + + + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti diff --git a/sql/storedCollaudo/C6Mart_RP_DM_PIRAMIDE_MOD.sql b/sql/storedCollaudo/C6Mart_RP_DM_PIRAMIDE_MOD.sql new file mode 100644 index 00000000..ee6475e8 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_PIRAMIDE_MOD.sql @@ -0,0 +1,115 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_PIRAMIDE_MOD + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PIRAMIDE_MOD] +AS +BEGIN + + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PIRAMIDE_MOD', + GETDATE(), + 'Elaborazione giornaliera' + ) + + --TRUNCATE TABLE C6MART.PIRAMIDE_MOD + DELETE FROM C6MART.PIRAMIDE_MOD + INSERT INTO [C6Mart].[PIRAMIDE_MOD] + ( +--chiaveClientePB +-- , + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + + SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE, + rp_pirmod.area AS ID_AREA, + + --case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then rp_pirmod.nomeProgetto + -- ELSE NULL END + -- AS NOME_PROGETTO, + + rp_pirmod.nomeProgetto AS NOME_PROGETTO, --- NUOVO + + --en-20160916 + --case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' + -- else 'Default' + -- end AS TIPO_PROGETTO, + null AS TIPO_PROGETTO, + rp_pirmod.percentualeProgetto AS PERC_AREA, + NULL AS CTV_PROGETTO, + NULL AS CTV_AREA, + rp_pirmod.durata AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + + + FROM C6Staging.RP_ProgettiPiramideModello AS rp_pirmod + INNER JOIN + C6Mart.VCONTRATTI + ON + rp_pirmod.chiaveClientePB = C6Mart.VCONTRATTI.chiaveClientePB + + WHERE + DtFineValidita > getdate() + --en-201616 and ((area = 'Inv') OR (area <> 'Inv' and tipoProgetto = 0)) + and area not in ('VOID','LIGHT') --- AGGIUNTO 19/09 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI.sql b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI.sql new file mode 100644 index 00000000..e1e30647 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI.sql @@ -0,0 +1,128 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_POPOLACONTRATTI + + + + + + + + +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI] AS +BEGIN + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + + +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** + + + +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) + + +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] + +-- Modifica del 27/11/2018 per la gestione del doppio pb - +-- Nel caso di doppio pb, con pb primario diverso dal precedente (CHIAVECLIENTEPB nuova), dobbiamo evitare di far stampare un nuovo +-- report di benvenuto, creando una occorrenza sulla CONTRATTOSEI_METADATI CON INVIOBENVENUTO = 'S' + + + INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + 'S', + 'N', + 1, + 0, + 0, + NULL, + NULL, + 'S', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + inner joiN [C6mart].[GESTIONE_PDF_FTP] B + ON A.RETE= B.RETE AND A.COD_FISCALE = B.CODICEFISCALE + AND A.CODICECONTRATTO = LEFT(B.NOMEFILE,LEN(A.CODICECONTRATTO)) + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] c + ON A.chiaveClientePB = C.CHIAVECLIENTEPB + WHERE C.CHIAVECLIENTEPB IS NULL + + +-- Fine Modifica del 27/11/2018 per la gestione del doppio pb - + + +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL + +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA + +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore stata generata una nuo diff --git a/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_2011026.sql b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_2011026.sql new file mode 100644 index 00000000..1e04a2aa --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_2011026.sql @@ -0,0 +1,129 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_POPOLACONTRATTI_2011026 + + + + + + + + + + + + + + + + + + + +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_2011026] AS +BEGIN + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + + +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** + + + +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) + + +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] + + +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL + +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' + +----FINE FORZATURA + + + +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti profession diff --git a/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20160315.sql b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20160315.sql new file mode 100644 index 00000000..4f5d7381 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20160315.sql @@ -0,0 +1,126 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_POPOLACONTRATTI_20160315 + + + + + + + + + + + + +--create view as + +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20160315] AS +BEGIN + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + + +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** + + + + + + + +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) + + +INSERT INTO C6MART.VCONTRATTI + SELECT * FROM [C6Mart].[vContrattiC6] + + +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL + +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non censito in C6Mart.ANAG_CLIENTI + +-- DELETE from C6MART.VCONTRATTI +-- where rete+cod_fiscale = 'FFF@9700' + +----FINE FORZATURA + + + + +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB + + +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClien diff --git a/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_201700302_ripristino_del_20170127.sql b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_201700302_ripristino_del_20170127.sql new file mode 100644 index 00000000..51a6b24a --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_201700302_ripristino_del_20170127.sql @@ -0,0 +1,111 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_POPOLACONTRATTI_201700302_ripristino_del_20170127 + + + + + + + + +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_201700302_ripristino_del_20170127] AS +BEGIN + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + + +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** + + + +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) + + +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] + + +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL + +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' + +----FINE FORZATURA + + + +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'FMRTRND45C07F930Z' + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'FVNARRT65S64Z326I' +----FINE FORZATURA--------------------------------------------------------------------------------------------- + + + +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_M diff --git a/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170127.sql b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170127.sql new file mode 100644 index 00000000..ad5c083b --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170127.sql @@ -0,0 +1,112 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_POPOLACONTRATTI_20170127 + + + + + + + + +CREATE PROCEDURE [C6Mart].[RP_DM_POPOLACONTRATTI_20170127] AS +BEGIN + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + + +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** + + + +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) + + +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] + + +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL + +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' + +----FINE FORZATURA + + + +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'FMRTRND45C07F930Z' + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'FVNARRT65S64Z326I' +----FINE FORZATURA--------------------------------------------------------------------------------------------- + + + +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170322.sql b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170322.sql new file mode 100644 index 00000000..103a8001 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170322.sql @@ -0,0 +1,112 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_POPOLACONTRATTI_20170322 + + + + + + + + + +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20170322] AS +BEGIN + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + + +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** + + + +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) + + +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] + + +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL + +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' + +----FINE FORZATURA + + + +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' +----FINE FORZATURA--------------------------------------------------------------------------------------------- + + + +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI diff --git a/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170524.sql b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170524.sql new file mode 100644 index 00000000..0a597b4b --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170524.sql @@ -0,0 +1,117 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_POPOLACONTRATTI_20170524 + + + + + + + + + + + + + +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20170524] AS +BEGIN + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + + +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** + + + +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) + + +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] + + +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL + +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' + +----FINE FORZATURA + + + +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per errore del giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' +----FINE FORZATURA--------------------------------------------------------------------------------------------- + + + +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRAT diff --git a/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170607_mifid.sql b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170607_mifid.sql new file mode 100644 index 00000000..c9b85d25 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170607_mifid.sql @@ -0,0 +1,119 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_POPOLACONTRATTI_20170607_mifid + + + + + + + + + + + + + + +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20170607_mifid] AS +BEGIN + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + + +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** + + + +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) + + +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] + + +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL + +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' + +----FINE FORZATURA + + + +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' +----FINE FORZATURA--------------------------------------------------------------------------------------------- + + + +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,V diff --git a/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170613.sql b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170613.sql new file mode 100644 index 00000000..dd311784 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170613.sql @@ -0,0 +1,126 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_POPOLACONTRATTI_20170613 + + + + + + + + + + + + + + + + +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20170613] AS +BEGIN + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + + +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** + + + +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) + + +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] + + +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL + +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' + +----FINE FORZATURA + + + +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) +----FINE FORZATURA-------------- diff --git a/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170727_VarAdeguatezza.sql b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170727_VarAdeguatezza.sql new file mode 100644 index 00000000..09123d56 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20170727_VarAdeguatezza.sql @@ -0,0 +1,128 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_POPOLACONTRATTI_20170727_VarAdeguatezza + + + + + + + + + + + + + + + + + + +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20170727_VarAdeguatezza] AS +BEGIN + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + + +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** + + + +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) + + +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] + + +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL + +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' + +----FINE FORZATURA + + + +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clie diff --git a/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20171113.sql b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20171113.sql new file mode 100644 index 00000000..f3e1dfa6 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20171113.sql @@ -0,0 +1,130 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_POPOLACONTRATTI_20171113 + + + + + + + + + + + + + + + + + + + + +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20171113] AS +BEGIN + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + + +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** + + + +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) + + +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] + + +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL + +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' + +----FINE FORZATURA + + + +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti profess diff --git a/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20171205.sql b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20171205.sql new file mode 100644 index 00000000..2e4054e2 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20171205.sql @@ -0,0 +1,116 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_POPOLACONTRATTI_20171205 + + + + + + +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20171205] AS +BEGIN + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + + +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** + + + +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) + + +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] + + +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL + +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' + +----FINE FORZATURA + + + +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti professionali esclusi dal giornalie diff --git a/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20171222.sql b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20171222.sql new file mode 100644 index 00000000..42231a7a --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20171222.sql @@ -0,0 +1,117 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_POPOLACONTRATTI_20171222 + + + + + + + +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20171222] AS +BEGIN + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + + +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** + + + +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) + + +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] + + +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL + +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' + +----FINE FORZATURA + + + +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti professionali esclusi dal giornal diff --git a/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20180102.sql b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20180102.sql new file mode 100644 index 00000000..e5ddc8b0 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20180102.sql @@ -0,0 +1,119 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_POPOLACONTRATTI_20180102 + + + + + + + + + +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20180102] AS +BEGIN + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + + +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** + + + +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) + + +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] + + +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL + +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' + +----FINE FORZATURA + + + +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti professionali esclusi dal gio diff --git a/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20180103.sql b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20180103.sql new file mode 100644 index 00000000..ca300b98 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20180103.sql @@ -0,0 +1,121 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_POPOLACONTRATTI_20180103 + + + + + + + + + + + +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20180103] AS +BEGIN + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + + +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** + + + +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) + + +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] + + +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL + +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' + +----FINE FORZATURA + + + +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti professionali esclusi dal diff --git a/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20180104.sql b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20180104.sql new file mode 100644 index 00000000..7ecb9902 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20180104.sql @@ -0,0 +1,122 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_POPOLACONTRATTI_20180104 + + + + + + + + + + + + +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20180104] AS +BEGIN + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + + +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** + + + +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) + + +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] + + +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL + +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' + +----FINE FORZATURA + + + +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti professionali esclusi d diff --git a/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20181003.sql b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20181003.sql new file mode 100644 index 00000000..c78a0c6e --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20181003.sql @@ -0,0 +1,112 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_POPOLACONTRATTI_20181003 + + + + + +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20181003] AS +BEGIN + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + + +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** + + + +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) + + +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] + + +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL + +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA + +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + --Clienti professionali esclusi dal giornaliero 13/06/2017 diff --git a/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20181127.sql b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20181127.sql new file mode 100644 index 00000000..36e890f9 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_POPOLACONTRATTI_20181127.sql @@ -0,0 +1,113 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_POPOLACONTRATTI_20181127 + + + + + + +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20181127] AS +BEGIN + +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + + +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** + + + +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) + + +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] + + +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL + +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA + +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + --Clienti professionali esclusi dal giornaliero 13/06/20 diff --git a/sql/storedCollaudo/C6Mart_RP_DM_W6CLIESG.sql b/sql/storedCollaudo/C6Mart_RP_DM_W6CLIESG.sql new file mode 100644 index 00000000..d6ccb781 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_W6CLIESG.sql @@ -0,0 +1,174 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_W6CLIESG + + + + + + + + + + + +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_W6CLIESG] +AS +BEGIN + + SET NOCOUNT ON; + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_W6CLIESG', + GETDATE(), + 'Elaborazione Lettere di Benvenuto' + ) + + TRUNCATE TABLE C6Mart.SPB_W6CLIESG + TRUNCATE TABLE C6Mart.W6CLIESG + + INSERT INTO C6Mart.SPB_W6CLIESG + ( + [Rete] + ,[Codice_Agente] + ,[Codice_Fiscale] + ,[Piva_Fiduciaria] + ,[Codman] + ,[BeneficioDiversificazione] + ,[ValoreVaR] + ,[Riserva] + ,[PesoSostESG] + ,[CSP] + ,[ConcLungoPeriodo] + ,[Liquidita] + ,[NoSostESG] + ,[SostPercE] + ,[SostPercS] + ,[SostPercG] + ,[SostESGInLinea] + ,[SostPercEInLinea] + ,[SostPercSInLinea] + ,[SostPercGInLinea] + ,[NoSostSFDR] + ,[SostSFDR] + ,[SostSFDRInLinea] + ,[NoSostTaxonomy] + ,[SostTaxonomy] + ,[SostTaxonomyInLinea] + ,[NoSostPaiE] + ,[SostPaiE] + ,[SostPaiEInLinea] + ,[NoSostPaiS] + ,[SostPaiS] + ,[SostPaiSInLinea] + ,[Sost_E] + ,[Sost_S] + ,[Sost_G] + ,[percESG] + ,[UlterioriPrefSost] + ,[PercSFDR] + ,[PercTaxonomy] + ,[PAI_E] + ,[PAI_S] + ,[ListPAI_E] + ,[ListPAI_S]) + SELECT distinct + [Rete] + ,[Codice_Agente] + ,case when ISNULL(CODMAN,'')<>'' then 'FF@'+CODMAN + else Codice_Fiscale end as Codice_Fiscale + ,[Piva_Fiduciaria] + ,[Codman] + ,[BeneficioDiversificazione] + ,[ValoreVaR] + ,[Riserva] + ,[PesoSostESG] + ,[CSP] + ,[ConcLungoPeriodo] + ,[Liquidita] + ,[NoSostESG] + ,[SostPercE] + ,[SostPercS] + ,[SostPercG] + ,[SostESGInLinea] + ,[SostPercEInLinea] + ,[SostPercSInLinea] + ,[SostPercGInLinea] + ,[NoSostSFDR] + ,[SostSFDR] + ,[SostSFDRInLinea] + ,[NoSostTaxonomy] + ,[SostTaxonomy] + ,[SostTaxonomyInLinea] + ,[NoSostPaiE] + ,[SostPaiE] + ,[SostPaiEInLinea] + ,[NoSostPaiS] + ,[SostPaiS] + ,[SostPaiSInLinea] + ,[Sost_E] + ,[Sost_S] + ,[Sost_G] + ,[percESG] + ,[UlterioriPrefSost] + ,[PercSFDR] + ,[PercTaxonomy] + ,isnull([PAI_E],'') + ,isnull([PAI_S],'') + ,[ListPAI_E] + ,[ListPAI_S] +FROM [C6StampeCentralizzate].[C6Staging].[SPB_W6CliESG] + +drop table if exists #st_split_E +drop table if exists #st_split_S +drop table if exists #st_split_ES + +-- Step 1: Creazione delle tabelle temporanee +SELECT + value AS ListPAI_E, + [Rete], + [Codice_Agente], + CASE + WHEN CODMAN <> '' THEN 'FF@' + CODMAN + ELSE Codice_Fiscale + END AS COD_FISCALE +INTO #st_split_E +FROM C6Mart.SPB_W6CLIESG +CROSS APPLY STRING_SPLIT(ListPAI_E, '|') + +SELECT + value AS ListPAI_S, + [Rete], + [Codice_Agente], + CASE + WHEN CODMAN <> '' THEN 'FF@' + CODMAN + ELSE Codice_Fiscale + END AS COD_FISCALE +INTO #st_split_S +FROM C6Mart.SPB_W6CLIESG +CROSS APPLY STRING_SPLIT(ListPAI_S, '|') + +--select * from C6Mart.SPB_W6CLIESG +--select * from #st_split_E +--select * from #st_split_S + +-- Step 2: Aggregare le descrizioni in un'unica query +SELECT + [Rete], + [COD_FISCALE], + STRING_AGG(CASE + WHEN ListPAI_E = 'PAI_A01' THEN 'Emissioni gas serra' + WHEN ListPAI_E = 'PAI_A02' THEN 'Biodiversit' + WHEN ListPAI_E = 'PAI_A03' THEN 'Acqua' + WHEN ListPAI_E = 'PAI_A04' THEN 'Rifiuti' + WHEN ListPAI_E = 'PAI_A05' THEN 'Governativi di tipo Ambientale' + WHEN ListPAI_E = 'PAI_A07' THEN 'Efficienza energetica' + WHEN ListPAI_E = 'PAI_A0 diff --git a/sql/storedCollaudo/C6Mart_RP_DM_W6CatESG.sql b/sql/storedCollaudo/C6Mart_RP_DM_W6CatESG.sql new file mode 100644 index 00000000..46c11c97 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_W6CatESG.sql @@ -0,0 +1,149 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_W6CatESG + + + + + + +CREATE procedure [C6Mart].[RP_DM_W6CatESG] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_SPB_W6CatESG', + GETDATE(), + 'Elaborazione giornaliera' + ) +--drop table c6staging.RP_CatalogoProdotti + truncate table [C6StampeCentralizzate].[C6Mart].[SPB_W6CatESG] + truncate table [C6StampeCentralizzate].[C6Mart].[W6CatESG] + +INSERT INTO [C6Mart].[SPB_W6CatESG] + ([Rete] + ,[Codice_Agente] + ,[Codice_Fiscale] + ,[Piva_Fiduciaria] + ,[CodiceContratto] + ,[FamigliaProdotto] + ,[CodiceProdotto] + ,[DescrizioneProdotto] + ,[CodiceTitolo] + ,[Conto] + ,[Custgar] + ,[Asset] + ,[Pct] + ,[CodiceSottoprodotto] + ,[DescrizioneSottoprodotto] + ,[Isin] + ,[IsinProxy] + ,[TipoFondo] + ,[Controvalore] + ,[Importo] + ,[QuantitaValoreNominale] + ,[VarComparto] + ,[CodiceLinea] + ,[Sost_E] + ,[Sost_S] + ,[Sost_G] + ,[ClasseComplessita] + ,[DescrizioneClasseComplessita] + ,[OrizzonteTemporale] + ,[FlagRiserva]) +SELECT [Rete] + ,[Codice_Agente] + ,[Codice_Fiscale] + ,[Piva_Fiduciaria] + ,[CodiceContratto] + ,case when [FamigliaProdotto]='AS' then 'ASU1' + when [FamigliaProdotto]='OF' then 'GE' + else [FamigliaProdotto] end as [FamigliaProdotto] + ,[CodiceProdotto] + ,[DescrizioneProdotto] + ,[CodiceTitolo] + ,[Conto] + ,[Custgar] + ,[Asset] + ,[Pct] + ,case when [CodiceLinea]='FP' then 'FP' else [CodiceSottoprodotto] end as [CodiceSottoprodotto] + ,[DescrizioneSottoprodotto] + ,[Isin] + ,[IsinProxy] + ,[TipoFondo] + ,[Controvalore] + ,[Importo] + ,[QuantitaValoreNominale] + ,[VarComparto] + ,[CodiceLinea] + ,[Sost_E] + ,[Sost_S] + ,[Sost_G] + ,[ClasseComplessita] + ,[DescrizioneClasseComplessita] + ,[OrizzonteTemporale] + ,[FlagRiserva] + FROM [C6StampeCentralizzate].[C6Staging].[SPB_W6CatESG] + + update b + set b.positionID=a.POSITIONID --, b.catalogueID=a.catalogueID + from [C6Mart].[SPB_W6CatESG] b + left join C6Staging.SPB_CONTR_SINTESI a + on a.RETE=b.rete + and a.CODICEFISCALE=b.codice_fiscale + and a.CODICECONTRATTO=b.codicecontratto + and a.CTV = b.controvalore + + update b + set b.positionID=a.POSITIONID --, b.catalogueID=a.catalogueID + from [C6Mart].[SPB_W6CatESG] b + left join C6Staging.SPB_CONTR_SINTESI a + on a.RETE=b.rete + and a.CODICEFISCALE=b.codice_fiscale + and a.CODICECONTRATTO=b.codicecontratto + and a.CODICEINTERNO = b.CodiceProdotto + and a.CODICESOTTOPRODOTTO=b.CodiceSottoprodotto + where b.PositionID is null + + insert into [C6Mart].[W6CATESG] + select GETDATE() as dttrim, + '03296' as Banca, + Rete , + Codice_Fiscale as codfis, + '' as codman, + case when Sost_E='Y' then 'Y' else 'N' end as esg_e_prod_cli, + case when Sost_S='Y' then 'Y' else 'N' end as esg_s_prod_cli, + case when Sost_G='Y' then 'Y' else 'N' end as esg_g_prod_cli, + SUBSTRING(POSITIONID,1,57) as prodotto_id, + PositionID as position_id + from C6Mart.SPB_W6CatESG + +-- select * from C6Staging.SPB_CONTR_SINTESI --where CODICEFISCALE='BCCSHR68B66H433Z' +-- select * from [C6Mart].[SPB_W6CatESG] --where Codice_Fiscale='BCCSHR68B66H433Z' + + + --- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_SPB_W6CatESG' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_SPB_W6CatESG' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Mart_RP_DM_WSEICAP.sql b/sql/storedCollaudo/C6Mart_RP_DM_WSEICAP.sql new file mode 100644 index 00000000..ce8d7528 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_DM_WSEICAP.sql @@ -0,0 +1,89 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_DM_WSEICAP + + + + + + +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_WSEICAP] +AS +BEGIN + + SET NOCOUNT ON; + + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_WSEICAP', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE C6Mart.WSEICAP + + INSERT INTO C6Mart.[WSEICAP] + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[COD_FISCALE] + ,[CODCONF] + ,[SUBPROD] + ,[ISIN] + ,[DTINIZ] + ,[DTFINE] + ,[CTV_COMMIT] + ,[IMPVERS] + ,[IMPRES] + ,[DESCPROD] + ,[SGR]) + + select + '99999999' as DTTRIM, + '99999999' as DTRIFE, +PATRBF.rete as RETE, +PATRBF.COD_FISCALE as COD_FISCALE, +PATRBF.ID_CONTRATTO as CODCONF, +PATRBF.COD_SOTTOPRODOTTO as SUBPROD, +PATRBF.ISIN as ISIN, +ICAP.dataInizioCommitment as DTINIZ, +ICAP.dataFineCommitment as DTFINE, +ICAP.totaleCommitment as CTV_COMMIT, +ICAP.importoVersato as IMPVERS, +ICAP.importoDaVersare as IMPRES, +ANAG.DESCR_PRODOTTO as DESCPROD, +ANAG.DESCR_SGR as SGR +from C6Mart.PATRIMONIO_BF PATRBF +inner join C6Staging.SPB_wseicap ICAP on PATRBF.ID_CONTRATTO=ICAP.codicecontratto +and PATRBF.ISIN=ICAP.isin +left join C6MART.ANAG_PRODOTTI ANAG +ON ANAG.COD_PRODOTTO = PATRBF.COD_PRODOTTO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_WSEICAP' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_WSEICAP' + ) + +END + + diff --git a/sql/storedCollaudo/C6Mart_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql b/sql/storedCollaudo/C6Mart_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql new file mode 100644 index 00000000..f0eee910 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql @@ -0,0 +1,109 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_GESTIONE_SELECT_LETTERE_DA_INVIARE + +--SELECT TOP 1 * FROM C6MART.VCONTRATTI +--[C6Mart].[GESTIONE_SELECT_LETTERE_DA_INVIARE]'F','AA@55670',1,-1 +CREATE procedure [C6Mart].[RP_GESTIONE_SELECT_LETTERE_DA_INVIARE] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' + + +AS +BEGIN + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() + +--declare @prova as varchar(10) +--select @prova = 'AA@55670' +--select @prova +--select charindex('@',@prova) + + SELECT + dbo.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, + + --aclie.cognome as cognome, + csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.PROVINCIA end as provincia, + csei.cap as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + + dbo.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_MONITORAGGIO, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.DATA_INZIOAVANZATO, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) as testo, + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma + + FROM + [C6Mart].[TESTO_LETTERA_ACCETTAZIONE] tla, + [C6Mart].[VCONTRATTI] csei + JOIN + C6MART.CONTRATTOSEI_METADATI META + ON + META.CHIAVECLIENTEPB= CSEI.CHIAVECLIENTEPB + INNER JOIN + [C6Mart].[ANAG_CLIENTI] aclie + on + csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + LEFT OUTER JOIN + C6Mart.GESTIONE_PDF_FTP gpdf + on + gpdf.rete = csei.rete and + gpdf.codiceFiscale = csei.cod_fiscale + + + WHERE + csei.rete = @rete and + csei.cod_Fiscale = @cf and + csei.data_fineAvanzato > getDate() and + tla.id = @codiceLettera and + (gpdf.idReport = @idReport or @idreport = -1) + + +END + + + diff --git a/sql/storedCollaudo/C6Mart_RP_PROM_TuttiIPortafogli.sql b/sql/storedCollaudo/C6Mart_RP_PROM_TuttiIPortafogli.sql new file mode 100644 index 00000000..e6863271 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_PROM_TuttiIPortafogli.sql @@ -0,0 +1,103 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_PROM_TuttiIPortafogli + + + + + +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +--[C6Mart].[PROM_TuttiIPortafogli] +CREATE procedure [C6Mart].[RP_PROM_TuttiIPortafogli] + -- Add the parameters for the stored procedure here +AS +BEGIN + +SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,cast([CtvNominale] as varchar) as CtvNominale + ,cast([CtvReale] as varchar) as CtvReale + + + +FROM ( + + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Mart].[RP_vTuttiIPortafogli] + + + union all + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Mart].[RP_vTuttiIPortafogli_ccLiq] +) T + +order by rete,codiceFiscale,Portafoglio + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +END + + + + diff --git a/sql/storedCollaudo/C6Mart_RP_PROM_TuttiIPortafogli2_Indicatore.sql b/sql/storedCollaudo/C6Mart_RP_PROM_TuttiIPortafogli2_Indicatore.sql new file mode 100644 index 00000000..b54097b8 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_PROM_TuttiIPortafogli2_Indicatore.sql @@ -0,0 +1,124 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_PROM_TuttiIPortafogli2_Indicatore + + +CREATE procedure [C6Mart].[RP_PROM_TuttiIPortafogli2_Indicatore] + -- Add the parameters for the stored procedure here +AS +BEGIN + +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + + +FROM + +( + + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + FROM [C6Mart].[RP_vTuttiIPortafogli_newkey] + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O','FVTTTZN76R63A940M','SMLZFLV47S49H501Z') + + + UNION + + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + FROM [C6Mart].[RP_vTuttiIPortafogli_newkey] + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O','FVTTTZN76R63A940M','SMLZFLV47S49H501Z') + + + UNION + + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + FROM [C6Mart].[RP_vTuttiIPortafogli_newkey] + where ([Portafoglio] like '%COMPLESSIVO|TERZI%' or [Portafoglio] like '%COMPLESSIVO|BF%') + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O','FVTTTZN76R63A940M','SMLZFLV47S49H501Z') + +) T + +order by rete,codiceFiscale,Portafoglio + +END + + diff --git a/sql/storedCollaudo/C6Mart_RP_PROM_TuttiIPortafogli_20180612_NewMotorePrometeia.sql b/sql/storedCollaudo/C6Mart_RP_PROM_TuttiIPortafogli_20180612_NewMotorePrometeia.sql new file mode 100644 index 00000000..641496ed --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_PROM_TuttiIPortafogli_20180612_NewMotorePrometeia.sql @@ -0,0 +1,73 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_PROM_TuttiIPortafogli_20180612_NewMotorePrometeia + + + + +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +--[C6Mart].[PROM_TuttiIPortafogli] +CREATE procedure [C6Mart].[RP_PROM_TuttiIPortafogli_20180612_NewMotorePrometeia] + -- Add the parameters for the stored procedure here +AS +BEGIN + +--COMMENTATA PERCH LA CREAZIONE VA IN ERRORE A CAUSA DEI CAMPI MANCANTI NELLE VISTE: ELIMINARE IL COMMENTO QUANDO SI UTILIZZA QUESTA NUOVA VERSIONE + +--SELECT [Rete] +-- ,[CodiceFiscale] +-- ,[Portafoglio] +-- ,[CodiceProdotto] +-- -- 23/5/2018 --------- +-- ,[CodiceAdeguatezza] +-- ----------------------- +-- ,[Piazza] +-- ,[CodiceValuta] +-- ,[Classe] +-- ,cast([CtvNominale] as varchar) as CtvNominale +-- ,cast([CtvReale] as varchar) as CtvReale + + + +--FROM ( + +-- SELECT [Rete] +-- ,[CodiceFiscale] +-- ,[Portafoglio] +-- ,[CodiceProdotto] +-- -- 23/5/2018 --------- +-- ,[CodiceAdeguatezza] +-- ----------------------- +-- ,[Piazza] +-- ,[CodiceValuta] +-- ,[Classe] +-- ,[CtvNominale] +-- ,[CtvReale] +-- FROM [C6Mart].[RP_vTuttiIPortafogli] + + +-- union all +-- SELECT [Rete] +-- ,[CodiceFiscale] +-- ,[Portafoglio] +-- ,[CodiceProdotto] +-- -- 23/5/2018 --------- +-- ,[CodiceAdeguatezza] +-- ----------------------- +-- ,[Piazza] +-- ,[CodiceValuta] +-- ,[Classe] +-- ,[CtvNominale] +-- ,[CtvReale] +-- FROM [C6Mart].[RP_vTuttiIPortafogli_ccLiq] +--) T + +--order by rete,codiceFiscale,Portafoglio + +select 1 + +END + diff --git a/sql/storedCollaudo/C6Mart_RP_PROM_TuttiIPortafogli_20180612_PreMotorePrometeia.sql b/sql/storedCollaudo/C6Mart_RP_PROM_TuttiIPortafogli_20180612_PreMotorePrometeia.sql new file mode 100644 index 00000000..7026790d --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_PROM_TuttiIPortafogli_20180612_PreMotorePrometeia.sql @@ -0,0 +1,102 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_PROM_TuttiIPortafogli_20180612_PreMotorePrometeia + + + + +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +--[C6Mart].[PROM_TuttiIPortafogli] +CREATE procedure [C6Mart].[RP_PROM_TuttiIPortafogli_20180612_PreMotorePrometeia] + -- Add the parameters for the stored procedure here +AS +BEGIN + +SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,cast([CtvNominale] as varchar) as CtvNominale + ,cast([CtvReale] as varchar) as CtvReale + + + +FROM ( + + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Mart].[RP_vTuttiIPortafogli] + + + union all + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Mart].[RP_vTuttiIPortafogli_ccLiq] +) T + +order by rete,codiceFiscale,Portafoglio + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +END + + + + diff --git a/sql/storedCollaudo/C6Mart_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql b/sql/storedCollaudo/C6Mart_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql new file mode 100644 index 00000000..4c17196b --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql @@ -0,0 +1,103 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_SRV_ESTRAZ_GIORNALIERA_CC + + + + +-- ============================================= +-- Author: alessandro Tringali +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_SRV_ESTRAZ_GIORNALIERA_CC] +AS +BEGIN + + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_SRV_ESTRAZ_GIORNALIERA_CC', + GETDATE(), + 'Elaborazione giornaliera' + ) + +--V Cancellazione delle tuple inserite nel giorno corrente, pu accadere che la procedura viene +-- lanciata pi di una volta, in quel caso inserirei righe doppie. +DELETE FROM C6MART.ESTRAZ_GIORNALIERA_CC +WHERE DATEDIFF(dd,dataGenerazione,getDate()) = 0 + + + +INSERT INTO C6MART.ESTRAZ_GIORNALIERA_CC +SELECT +a.COD_FISCALE, +A.RETE, +CODICECONTRATTO, +DATAGENERAZIONE, +NUMERO_CC, +C.CTV_CC, +D.TOT_CTV, +D.TOT_CTV_NO_CC +FROM +C6MART.VCONTRATTI A, +C6MART.GESTIONE_PDF_FTP B, +( + SELECT + COD_FISCALE, + RETE, + COD_CC AS NUMERO_CC, + SUM(SALDOCONTABILE) AS CTV_CC + FROM C6MART.ANAG_CC + GROUP BY + COD_FISCALE, + RETE, + COD_CC + ) C, +( SELECT COD_FISCALE, RETE, + SUM(CTV) AS TOT_CTV, + SUM(CASE WHEN TIPO_PRODOTTO='CC' THEN 0 ELSE CTV END) AS TOT_CTV_NO_CC FROM C6MART.PATRIMONIO_BF + GROUP BY COD_FISCALE, RETE +)D +WHERE +A.COD_FISCALE=B.CODICEFISCALE +AND A.RETE=B.RETE +AND A.COD_FISCALE=C.COD_FISCALE +AND A.RETE=C.RETE +AND A.COD_FISCALE=D.COD_FISCALE +AND A.RETE=D.RETE +ORDER BY 1,2,3,5 + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'DELETE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_SRV_ESTRAZ_GIORNALIERA_CC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_SRV_ESTRAZ_GIORNALIERA_CC' + ) + + + + +END + + + + + + diff --git a/sql/storedCollaudo/C6Mart_RP_Selettore_GetDataThreads.sql b/sql/storedCollaudo/C6Mart_RP_Selettore_GetDataThreads.sql new file mode 100644 index 00000000..6387a0fd --- /dev/null +++ b/sql/storedCollaudo/C6Mart_RP_Selettore_GetDataThreads.sql @@ -0,0 +1,18 @@ +-- Schema: C6Mart +-- Stored Procedure: RP_Selettore_GetDataThreads + + +CREATE PROCEDURE [C6Mart].[RP_Selettore_GetDataThreads] + @BatchName NVARCHAR(100) +AS +BEGIN +truncate table [C6Mart].[TB_Selettore_GetDataThreads] + + +insert into [C6Mart].[TB_Selettore_GetDataThreads] values (@BatchName,'Verr stampata la Reportistica '+ @BatchName +' Giornaliera',getdate()) + + + + +END; + diff --git a/sql/storedCollaudo/C6Mart_SRV_CHECK_C6_GIORNALIERO.sql b/sql/storedCollaudo/C6Mart_SRV_CHECK_C6_GIORNALIERO.sql new file mode 100644 index 00000000..6d686737 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_SRV_CHECK_C6_GIORNALIERO.sql @@ -0,0 +1,102 @@ +-- Schema: C6Mart +-- Stored Procedure: SRV_CHECK_C6_GIORNALIERO + +CREATE procedure [C6Mart].[SRV_CHECK_C6_GIORNALIERO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @DataOggiPerVar VARCHAR(8) + SET @DataOggiPerVar = convert(VARCHAR(8), getdate(), 112) + + --V Esegue la procedura di estrazione dei CC + EXEC [C6Mart].[SRV_ESTRAZ_GIORNALIERA_CC] + + -- Report generati + SELECT + C.Rete, + C.Cod_Agente, + case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else C.Cod_Fiscale end as Cod_fiscale, + C.Data_Perf + INTO #ReportGenerati + FROM + C6Mart.GESTIONE_PDF_FTP AS GPF + INNER JOIN C6Mart.VCONTRATTI AS C + ON GPF.RETE = C.Rete + AND GPF.CODICEFISCALE = C.Cod_Fiscale + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on C.chiaveclientepb = M.chiaveclientepb + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND Data_FineAvanzato > getDate() + ORDER BY + C.Rete, + C.Cod_Agente, + C.Cod_Fiscale + + -- Report non generati + SELECT + Rete, + Cod_Agente, + case when Cod_Fiscale like '%@%' then piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else Cod_Fiscale end as Cod_fiscale, + Data_Perf, + ClienteMigrato, + RisorseNA, + profiloAttivo, + 'Ragione:' + ---------------en_20161026 eliminated NA + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Cliente non migrato ' --/ Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato ' --/ Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Cliente non migrato / Profilo non attivo ' --/ Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato / Profilo non attivo ' --/ Risorse non associate ' + -- ELSE '' + --END + ------------------en_20161026 ClienteMigrato always S + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Cliente non migrato / Profilo non attivo ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato / Profilo non attivo ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Cliente non migrato ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato ' + -- ELSE '' + --END + -------------------en_20161026 eliminated NA + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Risorse non associate / Profilo non attivo ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate / Profilo non attivo ' + -- ELSE '' + --END + + --+ CASE + -- WHEN ClienteMigrato = 'S' A diff --git a/sql/storedCollaudo/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026.sql b/sql/storedCollaudo/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026.sql new file mode 100644 index 00000000..a2fbefa6 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026.sql @@ -0,0 +1,104 @@ +-- Schema: C6Mart +-- Stored Procedure: SRV_CHECK_C6_GIORNALIERO_20161026 + + + +CREATE procedure [C6Mart].[SRV_CHECK_C6_GIORNALIERO_20161026] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @DataOggiPerVar VARCHAR(8) + SET @DataOggiPerVar = convert(VARCHAR(8), getdate(), 112) + + --V Esegue la procedura di estrazione dei CC + EXEC [C6Mart].[SRV_ESTRAZ_GIORNALIERA_CC] + + -- Report generati + SELECT + C.Rete, + C.Cod_Agente, + case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else C.Cod_Fiscale end as Cod_fiscale, + C.Data_Perf + INTO #ReportGenerati + FROM + C6Mart.GESTIONE_PDF_FTP AS GPF + INNER JOIN C6Mart.VCONTRATTI AS C + ON GPF.RETE = C.Rete + AND GPF.CODICEFISCALE = C.Cod_Fiscale + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on C.chiaveclientepb = M.chiaveclientepb + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND Data_FineAvanzato > getDate() + ORDER BY + C.Rete, + C.Cod_Agente, + C.Cod_Fiscale + + -- Report non generati + SELECT + Rete, + Cod_Agente, + case when Cod_Fiscale like '%@%' then piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else Cod_Fiscale end as Cod_fiscale, + Data_Perf, + ClienteMigrato, + RisorseNA, + profiloAttivo, + 'Ragione:' + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Cliente non migrato ' --/ Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato ' --/ Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Cliente non migrato / Profilo non attivo ' --/ Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato / Profilo non attivo ' --/ Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Cliente non migrato / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Cliente non migrato ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Risorse non associate / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THE diff --git a/sql/storedCollaudo/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026_2.sql b/sql/storedCollaudo/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026_2.sql new file mode 100644 index 00000000..3bd5fca4 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026_2.sql @@ -0,0 +1,105 @@ +-- Schema: C6Mart +-- Stored Procedure: SRV_CHECK_C6_GIORNALIERO_20161026_2 + + + + +CREATE procedure [C6Mart].[SRV_CHECK_C6_GIORNALIERO_20161026_2] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @DataOggiPerVar VARCHAR(8) + SET @DataOggiPerVar = convert(VARCHAR(8), getdate(), 112) + + --V Esegue la procedura di estrazione dei CC + EXEC [C6Mart].[SRV_ESTRAZ_GIORNALIERA_CC] + + -- Report generati + SELECT + C.Rete, + C.Cod_Agente, + case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else C.Cod_Fiscale end as Cod_fiscale, + C.Data_Perf + INTO #ReportGenerati + FROM + C6Mart.GESTIONE_PDF_FTP AS GPF + INNER JOIN C6Mart.VCONTRATTI AS C + ON GPF.RETE = C.Rete + AND GPF.CODICEFISCALE = C.Cod_Fiscale + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on C.chiaveclientepb = M.chiaveclientepb + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND Data_FineAvanzato > getDate() + ORDER BY + C.Rete, + C.Cod_Agente, + C.Cod_Fiscale + + -- Report non generati + SELECT + Rete, + Cod_Agente, + case when Cod_Fiscale like '%@%' then piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else Cod_Fiscale end as Cod_fiscale, + Data_Perf, + ClienteMigrato, + RisorseNA, + profiloAttivo, + 'Ragione:' + ---------------en 20161026 eliminated NA + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Cliente non migrato ' --/ Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato ' --/ Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Cliente non migrato / Profilo non attivo ' --/ Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato / Profilo non attivo ' --/ Risorse non associate ' + -- ELSE '' + --END + ------------------en 20161026 + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Cliente non migrato / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Cliente non migrato ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato ' + ELSE '' + END + -------------------en 20161026 eliminated NA + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Risorse non associate / Profilo non attivo ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate / Profilo non attivo ' + -- ELSE '' + --END + -------------------en 20161026 + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA diff --git a/sql/storedCollaudo/C6Mart_SRV_CHECK_C6_GIORNALIERO_AND.sql b/sql/storedCollaudo/C6Mart_SRV_CHECK_C6_GIORNALIERO_AND.sql new file mode 100644 index 00000000..3f6685d8 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_SRV_CHECK_C6_GIORNALIERO_AND.sql @@ -0,0 +1,122 @@ +-- Schema: C6Mart +-- Stored Procedure: SRV_CHECK_C6_GIORNALIERO_AND + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[SRV_CHECK_C6_GIORNALIERO_AND] +AS +BEGIN + SET NOCOUNT ON; + + + + +SELECT DISTINCT * INTO #TEST_QUALITY FROM ( + +SELECT *,12 AS ISLOG FROM C6MART.TEST_QUALITY + +UNION + +SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'Cliente con VaR discordante '+ convert(varchar,RA.VAR_PERC_PTF) + ' ' + convert(varchar,VC.VAR_COMPLESSIVO_BF) AS MOTIVO,0 +FROM + C6Mart.RISCHIO_AGGREGATO AS RA + INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE +WHERE + RA.COD_AGGREG = 'COMPLESSIVO|BF' + AND ABS(RA.VAR_PERC_PTF - VC.VAR_COMPLESSIVO_BF) > 0.02 + AND (VC.FiduMulitMand = 'N') + +UNION + +SELECT DISTINCT RETE,COD_FISCALE,'Indirizzo pi lunghi di 36 caratteri' AS MOTIVO,6 +FROM C6Mart.vcontrattisei +WHERE data_fineavanzato > GETDATE() + AND isnull(numrevoche,0) = 0 + AND inviobenvenuto = 'N' + AND LEN(Indirizzo) > 36 + +UNION + + SELECT DISTINCT RETE,CODICEFISCALE + ,'Prodotto non a catalogo ' + isnull(codiceContratto,'') +', '+ ltrim(rtrim(isnull(codiceinterno,''))) + '/'+ ltrim(rtrim(isnull(codicesottoprodotto,''))) + '/'+ ltrim(rtrim(isnull(codicemaf,''))) + '/'+ ltrim(rtrim(isnull(isin,''))) As motivo ,7 +FROM C6Staging.SPB_CONTR_SINTESI WHERE POSITIONID IS NULL + + + +UNION + +SELECT DISTINCT CM.Rete,CM.Cod_Fiscale,'Cliente senza righe Contratto Sintesi' AS MOTIVO,8 +FROM C6Mart.RP_VContrattiMigrati CM +LEFT JOIN C6Staging.SPB_CONTR_SINTESI CS +ON CM.Cod_Fiscale = CS.CODICEFISCALE AND CM.RETE = CS.RETE +WHERE CS.CODICEFISCALE IS NULL + +UNION + +SELECT DISTINCT PB.RETE,PB.COD_FISCALE,'Cliente senza data sottoscrizione ' + dbo.toShortDateString(PB.ID_CONTRATTO) AS MOTIVO,9 + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.PATRIMONIO_BF AS PB + ON C.Rete = PB.RETE + AND C.Cod_Fiscale = PB.COD_FISCALE + INNER JOIN C6Mart.RISCHIO_AGGREGATO AS RA + ON PB.RETE = RA.RETE + AND PB.COD_FISCALE = RA.COD_FISCALE + WHERE + PB.DATA_SOTTOSCRIZIONE IS NULL + AND PB.TIPO_PRODOTTO = 'DT' + + +UNION + +SELECT DISTINCT VC.Rete,VC.Cod_Fiscale,'Cliente senza piramide modello' AS MOTIVO,10 +FROM C6Mart.vcontrattiSEI VC + LEFT JOIN C6Mart.PIRAMIDE_MOD PM + ON VC.Cod_Fiscale=PM.Cod_Fiscale AND VC.RETE=PM.RETE +WHERE + VC.Data_FineAvanzato > getDate() + AND VC.inviobenvenuto = 'N' + AND VC.clientemigrato = 'S' + AND VC.risorseNA = 'N' + AND VC.profiloAttivo = 1 + AND DATEDIFF(d, VC.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND ISNULL(VC.NUMREVOCHE,0) = 0 + AND PM.Cod_Fiscale IS NULL + +UNION + +SELECT DISTINCT CM.RETE,CM.Cod_Fiscale,'Cliente senza righe profilo MIFID' AS MOTIVO,11 +FROM C6Mart.RP_VContrattiMigrati CM +LEFT JOIN C6Staging.SPB_MIFID MD +ON CM.Cod_Fiscale = MD.CODICEFISCALE AND CM.RETE = MD.RETE +WHERE MD.CODICEFISCALE IS NULL + + + +) T + +INSERT INTO #TEST_QUALITY +SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'Cliente con VaR discordante '+ convert(varchar,RA.VAR_PERC_PTF) + ' ' + convert(varchar,VC.VAR_COMPLESSIVO_BF) + CASE WHEN VC.FiduMulitMand = 'S' THEN ' FiduMulitMand' ELSE ' ' END AS MOTIVO,5 +FROM + C6Mart.RISCHIO_AGGREGATO AS RA + INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE +WHERE + RA.COD_AGGREG = 'COMPLESSIVO|BF' + AND ABS(RA.VAR_PERC_PTF - VC.VAR_COMPLESSIVO_BF) <> 0.00 + +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in EMAIL' AS MOTIVO,12 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](email) = 'S' and data_fineavanzato > getdate() + +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in INDIRIZZO' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](Indirizzo) = 'S' and data_fineavanzato > getdate() diff --git a/sql/storedCollaudo/C6Mart_SRV_ESTRAZ_GIORNALIERA_CC.sql b/sql/storedCollaudo/C6Mart_SRV_ESTRAZ_GIORNALIERA_CC.sql new file mode 100644 index 00000000..a5a3fdd6 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_SRV_ESTRAZ_GIORNALIERA_CC.sql @@ -0,0 +1,103 @@ +-- Schema: C6Mart +-- Stored Procedure: SRV_ESTRAZ_GIORNALIERA_CC + + + + +-- ============================================= +-- Author: alessandro Tringali +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[SRV_ESTRAZ_GIORNALIERA_CC] +AS +BEGIN + + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_ESTRAZ_GIORNALIERA_CC', + GETDATE(), + 'Elaborazione giornaliera' + ) + +--V Cancellazione delle tuple inserite nel giorno corrente, pu accadere che la procedura viene +-- lanciata pi di una volta, in quel caso inserirei righe doppie. +DELETE FROM C6MART.ESTRAZ_GIORNALIERA_CC +WHERE DATEDIFF(dd,dataGenerazione,getDate()) = 0 + + + +INSERT INTO C6MART.ESTRAZ_GIORNALIERA_CC +SELECT +a.COD_FISCALE, +A.RETE, +CODICECONTRATTO, +DATAGENERAZIONE, +NUMERO_CC, +C.CTV_CC, +D.TOT_CTV, +D.TOT_CTV_NO_CC +FROM +C6MART.VCONTRATTI A, +C6MART.GESTIONE_PDF_FTP B, +( + SELECT + COD_FISCALE, + RETE, + COD_CC AS NUMERO_CC, + SUM(SALDOCONTABILE) AS CTV_CC + FROM C6MART.ANAG_CC + GROUP BY + COD_FISCALE, + RETE, + COD_CC + ) C, +( SELECT COD_FISCALE, RETE, + SUM(CTV) AS TOT_CTV, + SUM(CASE WHEN TIPO_PRODOTTO='CC' THEN 0 ELSE CTV END) AS TOT_CTV_NO_CC FROM C6MART.PATRIMONIO_BF + GROUP BY COD_FISCALE, RETE +)D +WHERE +A.COD_FISCALE=B.CODICEFISCALE +AND A.RETE=B.RETE +AND A.COD_FISCALE=C.COD_FISCALE +AND A.RETE=C.RETE +AND A.COD_FISCALE=D.COD_FISCALE +AND A.RETE=D.RETE +ORDER BY 1,2,3,5 + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'DELETE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_ESTRAZ_GIORNALIERA_CC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_ESTRAZ_GIORNALIERA_CC' + ) + + + + +END + + + + + + diff --git a/sql/storedCollaudo/C6Mart_SRV_SELECT_EMAIL_BY_ISODATE.sql b/sql/storedCollaudo/C6Mart_SRV_SELECT_EMAIL_BY_ISODATE.sql new file mode 100644 index 00000000..47d1f23f --- /dev/null +++ b/sql/storedCollaudo/C6Mart_SRV_SELECT_EMAIL_BY_ISODATE.sql @@ -0,0 +1,36 @@ +-- Schema: C6Mart +-- Stored Procedure: SRV_SELECT_EMAIL_BY_ISODATE + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[SRV_SELECT_EMAIL_BY_ISODATE] + @date VARCHAR(8) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + IF ISDATE(@date) = 0 + RETURN + SELECT + Email_Id, + Rete, + Cod_Fiscale, + Tipo, + Data_Generazione, + Inviata, + Data_Invio, + Data_Comunicazione_Host, + ID_ELAB + FROM + C6Mart.GESTIONE_EMAIL + WHERE + DATEPART(yy, Data_Generazione) = DATEPART(yy, @date) AND + DATEPART(m, Data_Generazione) = DATEPART(m, @date) AND + DATEPART(d, Data_Generazione) = DATEPART(d, @date) +END + + diff --git a/sql/storedCollaudo/C6Mart_SRV_STORICIZZAZIONE.sql b/sql/storedCollaudo/C6Mart_SRV_STORICIZZAZIONE.sql new file mode 100644 index 00000000..9636d941 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_SRV_STORICIZZAZIONE.sql @@ -0,0 +1,87 @@ +-- Schema: C6Mart +-- Stored Procedure: SRV_STORICIZZAZIONE + + +-- ============================================= +-- Author: paolo giovanetti +-- Create date: 23 gennaio 2009 +-- Description: - rimossa la transazione inutile +-- - aggiunta la storicizzazione delle elaborazioni e del global_error +-- - la storicizzazione di GESTIONE_ZIP_FTP prevede la sua pulizia sul MART !! +-- ============================================= +CREATE procedure [C6Mart].[SRV_STORICIZZAZIONE] + @NomeTabella VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico espresso in giorni + + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MART.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + + SET @ID_ELAB = C6MART.GETIDELAB() + +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX INIZIO TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + + --XXXXXXXXXXXXXXXXXXXXXXXX ALBERO_PRODOTTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALBERO_PRODOTTI') + BEGIN + DELETE FROM C6Storico.ALBERO_PRODOTTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ALBERO_PRODOTTI + (DESCRIZIONE_ORIGINALE, ALBERO_GERARCHIA_1, ALBERO_GERARCHIA_2, ALBERO_GERARCHIA_3, ID_ELAB) + SELECT + AP.DESCRIZIONE_ORIGINALE, AP.ALBERO_GERARCHIA_1, AP.ALBERO_GERARCHIA_2, AP.ALBERO_GERARCHIA_3, AP.ID_ELAB + FROM C6Mart.ALBERO_PRODOTTI AP + LEFT OUTER JOIN C6Storico.ALBERO_PRODOTTI SAP + ON AP.DESCRIZIONE_ORIGINALE = SAP.DESCRIZIONE_ORIGINALE + WHERE AP.ID_ELAB = @ID_ELAB AND AP.DESCRIZIONE_ORIGINALE IS NULL + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CC XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CC') + BEGIN + DELETE FROM C6Storico.ANAG_CC WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_CC + (RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDOCONTABILE,SALDODISPONIBILE, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB, TIPO_ELAB) + SELECT + AC.RETE, AC.COD_FISCALE, AC.INTERMEDIARIO, AC.COINTEST, AC.COD_CC, AC.FASCIA_CPP, AC.SALDOCONTABILE, AC.SALDODISPONIBILE, AC.DATA_APERTURA, AC.DATA_CHIUSURA, AC.ID_ELAB, AC.TIPO_ELAB + FROM C6Mart.ANAG_CC AC + LEFT OUTER JOIN C6Storico.ANAG_CC SAC + ON AC.RETE = SAC.RETE + AND AC.COD_FISCALE = SAC.COD_FISCALE + AND AC.COD_CC = SAC.COD_CC + WHERE AC.ID_ELAB = @ID_ELAB AND SAC.RETE IS NULL + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CC_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CC_TERZI') + BEGIN + DELETE FROM C6Storico.ANAG_CC_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_CC_TERZI + (RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB) + SELECT + ACT.RETE, ACT.COD_FISCALE, ACT.INTERMEDIARIO, ACT.COINTEST, ACT.COD_CC, ACT.FASCIA_CPP, ACT.SALDO, ACT.DATA_APERTURA, ACT.DATA_CHIUSURA, ACT.ID_ELAB + FROM C6Mart.ANAG_CC_TERZI ACT + LEFT OUTER JOIN C6Storico.ANAG_CC_TERZI SACT + ON ACT.RETE = SACT.RETE + AND ACT.COD_FISCALE = SACT.COD_FISCALE + AND ACT.INTERMEDIARIO = SACT.INTERMEDIARIO + AND ACT.COD_CC = SACT.COD_CC + WHERE ACT.ID_ELAB = @ID_ELAB AND SACT.RETE IS NULL + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CLIENTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CLIENTI') + BEGIN + DELETE FROM C6Storico.ANAG_CLIENTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_CLIENTI + (RETE, COD_FISCALE, NOME, COGNOME, DATA_NASCITA, STATO_CIVILE, NUM_COMPONENTI, NUM_FIGLI, ETA, PARTITA_IVA, CITTADI diff --git a/sql/storedCollaudo/C6Mart_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql b/sql/storedCollaudo/C6Mart_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql new file mode 100644 index 00000000..4c85a90c --- /dev/null +++ b/sql/storedCollaudo/C6Mart_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql @@ -0,0 +1,93 @@ +-- Schema: C6Mart +-- Stored Procedure: SRV_STORICIZZAZIONE_GLOBAL_ERROR + + +CREATE procedure [C6Mart].[SRV_STORICIZZAZIONE_GLOBAL_ERROR] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico espresso in giorni + + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_STORICIZZAZIONE_GLOBAL_ERROR', + GETDATE(), + 'Elaborazione giornaliera' + ) + + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MART.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + + SET @ID_ELAB = C6MART.GETIDELAB() + + DELETE FROM C6STORICO.GLOBAL_ERROR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'DELETE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR' + ) + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_STORICIZZAZIONE_GLOBAL_ERROR', + GETDATE(), + 'Elaborazione giornaliera' + ) + + INSERT INTO C6STORICO.GLOBAL_ERROR + (ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB) + SELECT + ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB + FROM dbo.GLOBAL_ERROR WHERE ID_ELAB = @ID_ELAB + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR' + ) + + TRUNCATE TABLE dbo.GLOBAL_ERROR + +END + + + + + diff --git a/sql/storedCollaudo/C6Mart_SRV_STORICIZZAZIONE_OLD.sql b/sql/storedCollaudo/C6Mart_SRV_STORICIZZAZIONE_OLD.sql new file mode 100644 index 00000000..5058f31e --- /dev/null +++ b/sql/storedCollaudo/C6Mart_SRV_STORICIZZAZIONE_OLD.sql @@ -0,0 +1,81 @@ +-- Schema: C6Mart +-- Stored Procedure: SRV_STORICIZZAZIONE_OLD + +-- Stored procedure + +-- ============================================= +-- Author: paolo giovanetti +-- Create date: 23 gennaio 2009 +-- Description: - rimossa la transazione inutile +-- - aggiunta la storicizzazione delle elaborazioni e del global_error +-- - la storicizzazione di GESTIONE_ZIP_FTP prevede la sua pulizia sul MART !! +-- ============================================= +CREATE PROCEDURE [C6Mart].[SRV_STORICIZZAZIONE_OLD] + @NomeTabella VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico espresso in giorni + + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MART.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + + SET @ID_ELAB = C6MART.GETIDELAB() + +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX INIZIO TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + + --XXXXXXXXXXXXXXXXXXXXXXXX ALBERO_PRODOTTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALBERO_PRODOTTI') + BEGIN + DELETE FROM C6Storico.ALBERO_PRODOTTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ALBERO_PRODOTTI + (DESCRIZIONE_ORIGINALE, ALBERO_GERARCHIA_1, ALBERO_GERARCHIA_2, ALBERO_GERARCHIA_3, ID_ELAB) + SELECT + DESCRIZIONE_ORIGINALE, ALBERO_GERARCHIA_1, ALBERO_GERARCHIA_2, ALBERO_GERARCHIA_3, ID_ELAB + FROM C6Mart.ALBERO_PRODOTTI WHERE ID_ELAB = @ID_ELAB + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CC XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CC') + BEGIN + DELETE FROM C6Storico.ANAG_CC WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_CC + (RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB, TIPO_ELAB + FROM C6Mart.ANAG_CC WHERE ID_ELAB = @ID_ELAB + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CC_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CC_TERZI') + BEGIN + DELETE FROM C6Storico.ANAG_CC_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_CC_TERZI + (RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB) + SELECT + RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB + FROM C6Mart.ANAG_CC_TERZI WHERE ID_ELAB = @ID_ELAB + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CLIENTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CLIENTI') + BEGIN + DELETE FROM C6Storico.ANAG_CLIENTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_CLIENTI + (RETE, COD_FISCALE, NOME, COGNOME, DATA_NASCITA, STATO_CIVILE, NUM_COMPONENTI, NUM_FIGLI, ETA, PARTITA_IVA, CITTADINANZA, PERSONA_FIS_GIUR, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, PRESSO, TEL_RECAPITO, TEL_CELL, E_MAIL, DATA_INIZIO, DATA_FINE, STATO, RAG_SOC, SESSO, ID_PROMOTORE, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, NOME, COGNOME, DATA_NASCITA, STATO_CIVILE, NUM_COMPONENTI, NUM_FIGLI, ETA, PARTITA_IVA, CITTADINANZA, PERSONA_FIS_GIUR, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, PRESSO, TEL_RECAPITO, TEL_CELL, E_MAIL, DATA_INIZIO, DATA_FINE, STATO, RAG_SOC, SESSO, ID_PROMOTORE, ID_ELAB, TIPO_ELAB + FROM C6Mart.ANAG_CLIENTI WHERE ID_ELAB = @ID_ELAB + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CLIENTI_PREV XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL O diff --git a/sql/storedCollaudo/C6Mart_SRV_SVUOTAMART.sql b/sql/storedCollaudo/C6Mart_SRV_SVUOTAMART.sql new file mode 100644 index 00000000..f59d9cb8 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_SRV_SVUOTAMART.sql @@ -0,0 +1,75 @@ +-- Schema: C6Mart +-- Stored Procedure: SRV_SVUOTAMART + +CREATE procedure [C6Mart].[SRV_SVUOTAMART] +AS +BEGIN + SET NOCOUNT ON; + + TRUNCATE TABLE [C6Mart].[ALBERO_PRODOTTI] + + TRUNCATE TABLE [C6Mart].[ANAG_CC] + + TRUNCATE TABLE [C6Mart].[ANAG_CC_TERZI] + + DELETE C6MART.ANAG_CLIENTI + FROM C6MART.ANAG_CLIENTI + INNER JOIN C6STAGING.ALL_CF_PB + ON ANAG_CLIENTI.RETE = ALL_CF_PB.RETE_PB + AND ANAG_CLIENTI.COD_FISCALE = ALL_CF_PB.CODICEFISCALE + + TRUNCATE TABLE [C6Mart].[ANAG_CONTRATTI] + + TRUNCATE TABLE [C6Mart].[ANAG_CONTRATTI_ASS] + + TRUNCATE TABLE [C6Mart].[ANAG_PRODOTTI] + + TRUNCATE TABLE [C6Mart].[ANAG_PRODOTTI_TERZI] + + TRUNCATE TABLE [C6Mart].[ANAG_PROMOTORI] + + TRUNCATE TABLE [C6Mart].[AREA_BISOGNO] + + TRUNCATE TABLE [C6Mart].[ASSET_PERC] + + TRUNCATE TABLE [C6Mart].[ASSET_PERC_TERZI] + + TRUNCATE TABLE [C6Mart].[ASSETCLASS] + + TRUNCATE TABLE [C6Mart].[ASSETCLASS_TERZI] + + TRUNCATE TABLE [C6Mart].[CATEGORIE_PRODOTTO] + + TRUNCATE TABLE [C6Mart].[CODIFICA_RISCHIO] + + TRUNCATE TABLE [C6Mart].[DETTAGLIO_ASUL] + + TRUNCATE TABLE [C6Mart].[EMAIL_PB] + + TRUNCATE TABLE [C6Mart].[MIFID] + + TRUNCATE TABLE [C6Mart].[PARTITE_VIAGGIANTI] + + TRUNCATE TABLE [C6Mart].[PATRIMONIO_AGG] + + TRUNCATE TABLE [C6Mart].[PATRIMONIO_ALTRO] + + TRUNCATE TABLE [C6Mart].[PATRIMONIO_BF] + + TRUNCATE TABLE [C6Mart].[PATRIMONIO_IMMOBILIARE] + + TRUNCATE TABLE [C6Mart].[PATRIMONIO_TERZI] + + TRUNCATE TABLE [C6Mart].[PIRAMIDE_MOD] + + TRUNCATE TABLE [C6Mart].[PIRAMIDE_VERT] + + TRUNCATE TABLE [C6Mart].[PREVIDENZIALE] + + TRUNCATE TABLE [C6Mart].[RISCHIO_AGGREGATO] + + TRUNCATE TABLE [C6Mart].[STRUTTURA_RETE] +END + + + diff --git a/sql/storedCollaudo/C6Mart_SRV_TABELLE_IN_MART.sql b/sql/storedCollaudo/C6Mart_SRV_TABELLE_IN_MART.sql new file mode 100644 index 00000000..6fc39a50 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_SRV_TABELLE_IN_MART.sql @@ -0,0 +1,49 @@ +-- Schema: C6Mart +-- Stored Procedure: SRV_TABELLE_IN_MART + +CREATE procedure [C6Mart].[SRV_TABELLE_IN_MART] +AS +BEGIN + + DECLARE @tabella AS VARCHAR(50) + SET @tabella = NULL + + SELECT TOP 1 @tabella = A.tabella + FROM( + SELECT tables.name tabella + FROM sys.tables tables + INNER JOIN sys.schemas schemas + ON tables.schema_id = schemas.schema_id + WHERE schemas.name = 'C6Mart' + AND tables.name <> 'TabelleStoricizzate' + ) A + WHERE A.tabella NOT IN ( + SELECT Nome + FROM C6Mart.TabelleStoricizzate + ) + ORDER BY A.tabella + + -- vedi stessa sp di Staging + /*INSERT INTO [C6Mart].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella)*/ + + DECLARE @tabellaMartDaStoricizzare AS SMALLINT + IF @tabella IS NOT NULL + BEGIN + INSERT INTO [C6Mart].[TabelleStoricizzate] + ([Nome], [Inizio]) + VALUES + (@tabella, GETDATE()) + EXEC [C6Mart].[SRV_STORICIZZAZIONE] @tabella + SET @tabellaMartDaStoricizzare = 1 + END + ELSE + SET @tabellaMartDaStoricizzare = 0 + + SELECT @tabellaMartDaStoricizzare tabella, @tabella nome + +END + + diff --git a/sql/storedCollaudo/C6Mart_SRV_TRUNCATE_STAGING.sql b/sql/storedCollaudo/C6Mart_SRV_TRUNCATE_STAGING.sql new file mode 100644 index 00000000..71372f4f --- /dev/null +++ b/sql/storedCollaudo/C6Mart_SRV_TRUNCATE_STAGING.sql @@ -0,0 +1,62 @@ +-- Schema: C6Mart +-- Stored Procedure: SRV_TRUNCATE_STAGING + + +CREATE procedure [C6Mart].[SRV_TRUNCATE_STAGING] + -- Add the parameters for the stored procedure here +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- *** TABELLE GESTIONE ERRORE *** -- + -- TRUNCATE TABLE dbo.GLOBAL_ERROR; + -- *** FINE TABELLE GESTIONE ERRORE *** -- + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'Staging SEI', + GETDATE(), + 'Elaborazione giornaliera' + ) + + TRUNCATE TABLE C6Staging.ALL_CF_PB; + TRUNCATE TABLE C6Staging.ALL_CF_STATO; + TRUNCATE TABLE C6Staging.ALL_CONSUL_ASUL; + TRUNCATE TABLE C6Staging.ALL_PATR_TERZI; + TRUNCATE TABLE C6Staging.ALL_PATRBF; + TRUNCATE TABLE C6Staging.ALL_POS_CONS_CAT; + TRUNCATE TABLE C6Staging.ALL_PROPOSTA; + TRUNCATE TABLE C6Staging.ACBDENOTH; + TRUNCATE TABLE C6Staging.ACBDENTRY; + TRUNCATE TABLE C6Staging.ADBKRELAT; + TRUNCATE TABLE C6Staging.ASSETCLASS; + TRUNCATE TABLE C6Staging.C_BO_453FB; + TRUNCATE TABLE C6Staging.CATINAREA; + --TRUNCATE TABLE C6Staging.CATITEMREF; GESTITA SEPARATAMENTE + TRUNCATE TABLE C6Staging.COMPTYPE; + TRUNCATE TABLE C6Staging.CONO; + TRUNCATE TABLE C6Staging.CONSAREA; + TRUNCATE TABLE C6Staging.CONSUL; + TRUNCATE TABLE C6Staging.INDREND; + TRUNCATE TABLE C6Staging.INSTRBDS; + TRUNCATE TABLE C6Staging.MACROASSETCLASS; + TRUNCATE TABLE C6Staging.NEEDAREA; + TRUNCATE TABLE C6Staging.OTHINTRST; + TRUNCATE TABLE C6Staging.PORTMOD; + TRUNCATE TABLE C6Staging.POSITION; + TRUNCATE TABLE C6Staging.PRCONSUL; + TRUNCATE TABLE C6Staging.QUANTIF; + TRUNCATE TABLE C6Staging.S4_S5_S13_TRAD_UNTIL_LIV3; + TRUNCATE TABLE C6Staging.WANAB; + TRUNCATE TABLE C6Staging.WRENAB; + TRUNCATE TABLE C6Staging.WSCABP; + + +END + + + + diff --git a/sql/storedCollaudo/C6Mart_TabellaCaratteriAnomali.sql b/sql/storedCollaudo/C6Mart_TabellaCaratteriAnomali.sql new file mode 100644 index 00000000..27d9eb90 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_TabellaCaratteriAnomali.sql @@ -0,0 +1,47 @@ +-- Schema: C6Mart +-- Stored Procedure: TabellaCaratteriAnomali + +-- 1. Caratteri Anomali + + +CREATE procedure C6Mart.TabellaCaratteriAnomali +as +begin + + create table #TableCaratteriAnomali ( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL + ) + + INSERT INTO #TableCaratteriAnomali + exec [C6Mart].[CercaCaratteriAnomali] + + select a.*, + c.Indirizzo as Indirizzo_vContratti, + d.indirizzo as indirizzo_Anag, + d.localita as localita_Anag, + d.Provincia as provincia_anag, + d.nazione as nazione_anag, + d.presso as presso_anag + --into #RecordDaModificare + from #TableCaratteriAnomali a + inner join c6mart.gestione_pdf_ftp b + on a.rete = b.rete + and + a.cod_fiscale = b.codicefiscale + inner join C6Mart.VCONTRATTI c + on a.rete = c.rete + and + a.cod_fiscale = c.cod_fiscale + inner join C6Mart.ANAG_CLIENTI d + on a.rete = d.rete + and + a.cod_fiscale = d.cod_fiscale + where b.DataInvio is null + + drop table #TableCaratteriAnomali +end diff --git a/sql/storedCollaudo/C6Mart_UT_INSERT_ERROR.sql b/sql/storedCollaudo/C6Mart_UT_INSERT_ERROR.sql new file mode 100644 index 00000000..10637f8b --- /dev/null +++ b/sql/storedCollaudo/C6Mart_UT_INSERT_ERROR.sql @@ -0,0 +1,42 @@ +-- Schema: C6Mart +-- Stored Procedure: UT_INSERT_ERROR + + +CREATE procedure [C6Mart].[UT_INSERT_ERROR] + @codiceErrore as int, + @descrizioErrore as text, + @dataTime as datetime, + @localeId as int, + @descrizionePackage as text, + @nomePackage as varchar(50) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + INSERT INTO [dbo].[GLOBAL_ERROR] + ([Cancel] + ,[ErrorCode] + ,[ErrorDescription] + ,[EventHandlerStartTime] + ,[LocaleID] + ,[Propagate] + ,[SourceDescription] + ,[SourceID] + ,[SourceName] + ,[Time]) + VALUES + (null + ,@codiceErrore + ,@descrizioErrore + ,@dataTime + ,@localeId + ,null + ,@descrizionePackage + ,null + ,@nomePackage + ,@dataTime) +END + + diff --git a/sql/storedCollaudo/C6Mart_Util_Test_PL.sql b/sql/storedCollaudo/C6Mart_Util_Test_PL.sql new file mode 100644 index 00000000..b995a373 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_Util_Test_PL.sql @@ -0,0 +1,111 @@ +-- Schema: C6Mart +-- Stored Procedure: Util_Test_PL + +CREATE procedure [C6Mart].[Util_Test_PL] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT 'PL_S10PatrimonioFinanziario' + + exec C6Mart.PL_S10PatrimonioFinanziario @Rete , @CodiceFiscale + +--select 1 + + SELECT 'PL_S18PatrimonioFinanziarioRischio' +-- +-- + exec C6Mart.PL_S18PatrimonioFinanziarioRischio @Rete,@CodiceFiscale +-- + SELECT 'PL_S1Patrimonio' +-- +-- + exec C6Mart.PL_S1Patrimonio @Rete,@CodiceFiscale +-- +-- + SELECT 'PL_S23DettaglioRischio' + + exec C6Mart.PL_S23DettaglioRischio @Rete,@CodiceFiscale + + SELECT 'PL_S25Anagrafica' + + exec C6Mart.PL_S25Anagrafica @Rete,@CodiceFiscale + + SELECT 'PL_S26PatrimonioImmobiliare' + + exec C6Mart.PL_S26PatrimonioImmobiliare @Rete,@CodiceFiscale + + SELECT 'PL_S27ALtroPatrimonio' + + exec C6Mart.PL_S27ALtroPatrimonio @Rete,@CodiceFiscale + + SELECT 'PL_S2PatrimonioFinanziario' + + exec C6Mart.PL_S2PatrimonioFinanziario @Rete,@CodiceFiscale + + SELECT 'PL_S31PatrimonioFinanziarioIntermediario' + + exec C6Mart.PL_S31PatrimonioFinanziarioIntermediario @Rete,@CodiceFiscale + + SELECT 'PL_S32PatrimonioFinanziarioMAssetClass' + + exec C6Mart.PL_S32PatrimonioFinanziarioMAssetClass @Rete,@CodiceFiscale + + SELECT 'PL_S36ProfiloRischio' + + exec C6Mart.PL_S36ProfiloRischio @Rete,@CodiceFiscale + + SELECT 'PL_S37PiramideModello' + + exec C6Mart.PL_S37PiramideModello @Rete,@CodiceFiscale + + SELECT 'PL_S43DettaglioProdottiBF' + + exec C6Mart.PL_S43DettaglioProdottiBF @Rete,@CodiceFiscale + + SELECT 'PL_S47ContoCorrenteBF' + + exec C6Mart.PL_S47ContoCorrenteBF @Rete,@CodiceFiscale + + SELECT 'PL_S48DettaglioProdotti' + + exec C6Mart.PL_S48DettaglioProdotti @Rete,@CodiceFiscale + + SELECT 'PL_S49PolizzeAltriIstituti' + + exec C6Mart.PL_S49PolizzeAltriIstituti @Rete,@CodiceFiscale + + SELECT 'PL_S50FondiAltriIstituti' + + exec C6Mart.PL_S50FondiAltriIstituti @Rete,@CodiceFiscale + + SELECT 'PL_S51ContoCorrenteAI' + + exec C6Mart.PL_S51ContoCorrenteAI @Rete,@CodiceFiscale + + SELECT 'PL_S56PatrimonioBFAreeBisogno' + + exec C6Mart.PL_S56PatrimonioBFAreeBisogno @Rete,@CodiceFiscale + + SELECT 'PL_S57ConfrontoPiramidi' + + exec C6Mart.PL_S57ConfrontoPiramidi @Rete,@CodiceFiscale + + SELECT 'PL_S6PatrimonioFinanziario' + + exec C6Mart.PL_S6PatrimonioFinanziario @Rete,@CodiceFiscale + + SELECT 'PL_S75GradoCopertura' + + exec C6Mart.PL_S75GradoCopertura @Rete,@CodiceFiscale + + SELECT 'PL_S76PatrimonioNonRappresentabileAssettClass' + + exec C6Mart.PL_S76PatrimonioNonRappresentabileAssettClass @Rete,@CodiceFiscale + +END + + + diff --git a/sql/storedCollaudo/C6Mart_Verifica_Lancio_Giornaliero.sql b/sql/storedCollaudo/C6Mart_Verifica_Lancio_Giornaliero.sql new file mode 100644 index 00000000..97bbcbc7 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_Verifica_Lancio_Giornaliero.sql @@ -0,0 +1,45 @@ +-- Schema: C6Mart +-- Stored Procedure: Verifica_Lancio_Giornaliero + +CREATE procedure [C6Mart].[Verifica_Lancio_Giornaliero] + + + +AS +BEGIN + + declare @lancia_giornaliero as int + --declare @data_inizio as datetime + --select max(inizio) from log_esecuzione + --where nota like '%Elaborazione giornaliera%' + + if datediff(day,(select max(inizio) from log_esecuzione where nota like '%Elaborazione giornaliera%'),getdate()) <= 0 + + begin + insert into LOG_ESECUZIONE values ( + 'C6Mart.Verifica_Lancio_Giornaliero', + GETDATE(), + GETDATE(), + 'LANCIO DOPPIO', + 1,'Errore elaborazione giornaliero') + + RAISERROR (50000,-1,-1, 'Lancio giornaliero'); + --set @lancia_giornaliero = 0 + end + + --else + + -- begin + -- insert into LOG_ESECUZIONE values ( + -- 'C6Mart.Verifica_Lancio_Giornaliero', + -- GETDATE(),GETDATE(),'LANCIO OK',1,'elaborazione giornaliero ok') + -- end + + + +END + + + + + diff --git a/sql/storedCollaudo/C6Mart_aggiornaDataValidazione.sql b/sql/storedCollaudo/C6Mart_aggiornaDataValidazione.sql new file mode 100644 index 00000000..273cfe9e --- /dev/null +++ b/sql/storedCollaudo/C6Mart_aggiornaDataValidazione.sql @@ -0,0 +1,27 @@ +-- Schema: C6Mart +-- Stored Procedure: aggiornaDataValidazione + +CREATE procedure [C6Mart].[aggiornaDataValidazione] as +begin + +select + DataGenerazione as data, + SUBSTRING(NomeFile, 1, 11) as codiceContratto, --SUBSTRING(NomeFile, 0, 12) + case + when (id_fk_zip = -1) then 0 + else 1 + end as definitivo, + getDate() as dataAggiornamento +from +( +select +datagenerazione, nomefile,id_fk_zip, +row_number() over (partition by SUBSTRING(NomeFile, 1, 11) order by datagenerazione desc ) pippo from --SUBSTRING(NomeFile, 0, 12) +c6mart.gestione_pdf_ftp +)l where pippo =1 + +end + + + + diff --git a/sql/storedCollaudo/C6Mart_getCodiceContratto.sql b/sql/storedCollaudo/C6Mart_getCodiceContratto.sql new file mode 100644 index 00000000..92e6e42d --- /dev/null +++ b/sql/storedCollaudo/C6Mart_getCodiceContratto.sql @@ -0,0 +1,49 @@ +-- Schema: C6Mart +-- Stored Procedure: getCodiceContratto + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[getCodiceContratto] + @codiceFiscale as varchar(16), + @rete as varchar(1), + @codicePB as varchar(6) + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT DISTINCT + CodiceContratto + FROM + C6Mart.contrattoSEI c6 +-- JOIN +-- C6Mart.anag_clienti ac +-- ON +-- c6.cod_fiscale = ac.cod_fiscale AND +-- c6.rete = ac.rete +-- JOIN +-- C6Mart.anag_promotori ap +-- ON +-- c6.cod_agente = ap.id_promotore + + WHERE c6.rete = @rete AND + c6.cod_fiscale = @codiceFiscale AND + c6.cod_agente = @codicePB + + +-- WHERE +-- ((@rete is null) or (c6.rete = @rete)) AND +-- ((@CodicePB is null) or (c6.Cod_Agente like @codicePB + '%')) AND +-- ((@cod_fiscale is null) or (c6.cod_fiscale like @cod_fiscale + '%')) AND +-- ((@nomeCliente is null) or (ac.nome like @nomeCliente + '%')) AND +-- ((@cognomeCliente is null) or (ac.cognome like @cognomeCliente + '%')) AND +-- ((@cognomePB is null) or (ap.cognome like @cognomePB + '%')) AND +-- ((@nomePB is null) or (ap.nome like @nomePB + '%')) + +END + + diff --git a/sql/storedCollaudo/C6Mart_rp_aggiornaDataValidazione.sql b/sql/storedCollaudo/C6Mart_rp_aggiornaDataValidazione.sql new file mode 100644 index 00000000..b1dc4a32 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_rp_aggiornaDataValidazione.sql @@ -0,0 +1,128 @@ +-- Schema: C6Mart +-- Stored Procedure: rp_aggiornaDataValidazione + + + + + + +CREATE procedure [C6Mart].[rp_aggiornaDataValidazione] +AS + + +begin +/* +delete from [CONSUNI].ConsulenzaUnicaFL.[dbo].CBS_STAMPAREPORT_TEST +insert into [CONSUNI].ConsulenzaUnicaFL.[dbo].CBS_STAMPAREPORT_TEST +select + DataGenerazione as data, + SUBSTRING(NomeFile, 1, 11) as codiceContratto, --SUBSTRING(NomeFile, 0, 12) + case + when (id_fk_zip = -1) then 0 + else 1 + end as definitivo, + getDate() as dataAggiornamento +from +( + select + datagenerazione, nomefile,id_fk_zip, + row_number() over (partition by SUBSTRING(NomeFile, 1, 11) order by datagenerazione desc ) pippo from --SUBSTRING(NomeFile, 0, 12) + c6mart.gestione_pdf_ftp + --where SUBSTRING(NomeFile, 1, 11) in ('001771CO205') --SUBSTRING(NomeFile, 0, 12) +)l where pippo =1 +*/ + + +--delete from [CONSUNI].ConsulenzaUnicaFL.[dbo].CBS_STAMPAREPORT +--insert into [CONSUNI].ConsulenzaUnicaFL.[dbo].CBS_STAMPAREPORT +--select +-- DataGenerazione as data, +-- SUBSTRING(NomeFile, 1, 11) as codiceContratto, --SUBSTRING(NomeFile, 0, 12) +-- case +-- when (id_fk_zip = -1) then 0 +-- else 1 +-- end as definitivo, +-- getDate() as dataAggiornamento +--from +--( +-- select +-- datagenerazione, +-- nomefile, +-- id_fk_zip, +-- row_number() over (partition by SUBSTRING(NomeFile, 1, 11) order by datagenerazione desc ) as ordine, --SUBSTRING(NomeFile, 0, 12) +-- upgrade +-- from (select pdf.*,case when md.TIP_riattivazione = 2 then 1 else 0 end upgrade +-- from c6mart.gestione_pdf_ftp pdf +-- left join c6mart.vcontratti vc +-- on SUBSTRING(pdf.NomeFile, 1, 11) = vc.codicecontratto --SUBSTRING(pdf.NomeFile, 0, 12) +-- left join c6mart.contrattosei_metadati md +-- on md.chiaveclientepb = vc.chiaveclientepb) pdf2 +--) l +--where ( ordine = 1 and upgrade = 0 ) or (ordine = 2 and upgrade = 1) + + + +--BEGIN TRANSACTION +-- BEGIN TRY + + DELETE FROM [CONSUNI].ConsulenzaUnicaFL.[dbo].CBS_STAMPAREPORT + INSERT INTO [CONSUNI].ConsulenzaUnicaFL.[dbo].CBS_STAMPAREPORT + SELECT + DataGenerazione AS data, + SUBSTRING(NomeFile, 1, 11) AS codiceContratto, --SUBSTRING(NomeFile, 0, 12) + CASE + WHEN (id_fk_zip = -1) THEN 0 + ELSE 1 + END AS definitivo, + getDate() AS dataAggiornamento + FROM + ( + SELECT + datagenerazione, + nomefile, + id_fk_zip, + row_number() over (partition by SUBSTRING(NomeFile, 1, 11) order by datagenerazione desc ) as ordine, --SUBSTRING(NomeFile, 0, 12) + upgrade, + InvioBenvenuto, + DataFineAvanzato + FROM ( + SELECT pdf.*,CASE WHEN md.TIP_riattivazione = 2 THEN 1 ELSE 0 END upgrade ,md.inviobenvenuto AS InvioBenvenuto,data_fineavanzato as DataFineAvanzato + FROM c6mart.gestione_pdf_ftp pdf + left join c6mart.vcontratti vc + ON SUBSTRING(pdf.NomeFile, 1, 11) = vc.codicecontratto + left join c6mart.contrattosei_metadati md + ON md.chiaveclientepb = vc.chiaveclientepb + --WHERE md.inviobenvenuto = 'S' and data_fineavanzato > getdate() + ------where datagenerazione<='2016-08-19 12:44:37.497' --en 20160922 temporaneo + ) pdf2 + ) l + WHERE ( ordine = 1 and upgrade = 0 and InvioBenvenuto='S' and DataFineAvanzato > getdate() ) + OR + ( ordine = 2 and upgrade = 1 ) +-- EN20160405-start: Soluzione per Ticket T-1396128-M1Y0 + OR + ( ordine = 1 and upgrade = 1 and SUBSTRING(NomeFile, 1, 11)='013614CO205' ) + --forzatura per CRVRRT74P02L675V + --union all + + --select '2013-10-18 13:54:50.883' as data,'002249CB000' as codiceContratto,'1' as definitivo,getDate() AS dataAggiornamento + + --fine forzatura per CRVRRT74P02L675V +-- EN20160405-end: +-- COMMIT TRANSACTION +-- +--END TRY +-- +--BEGIN CATCH +-- ROLLBACK TRANSACTION +-- DECLARE @Msg NVARCHAR(MAX) +-- SELECT @Msg=ERROR_MESSAGE() +-- RAISERROR('Descrizione errore: %s', 20, 101,@msg) WITH LOG +--END CATCH + +end + + + + + diff --git a/sql/storedCollaudo/C6Mart_rp_aggiornaDataValidazione_20160405.sql b/sql/storedCollaudo/C6Mart_rp_aggiornaDataValidazione_20160405.sql new file mode 100644 index 00000000..cb8e96c7 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_rp_aggiornaDataValidazione_20160405.sql @@ -0,0 +1,111 @@ +-- Schema: C6Mart +-- Stored Procedure: rp_aggiornaDataValidazione_20160405 + + +CREATE procedure [C6Mart].[rp_aggiornaDataValidazione_20160405] +AS + + +begin +/* +delete from [CONSEVO].ConsulenzaBaseFL.[dbo].CBS_STAMPAREPORT_TEST +insert into [CONSEVO].ConsulenzaBaseFL.[dbo].CBS_STAMPAREPORT_TEST +select + DataGenerazione as data, + SUBSTRING(NomeFile, 1, 11) as codiceContratto, --SUBSTRING(NomeFile, 0, 12) + case + when (id_fk_zip = -1) then 0 + else 1 + end as definitivo, + getDate() as dataAggiornamento +from +( + select + datagenerazione, nomefile,id_fk_zip, + row_number() over (partition by SUBSTRING(NomeFile, 1, 11) order by datagenerazione desc ) pippo from --SUBSTRING(NomeFile, 0, 12) + c6mart.gestione_pdf_ftp + --where SUBSTRING(NomeFile, 1, 11) in ('001771CO205') --SUBSTRING(NomeFile, 0, 12) +)l where pippo =1 +*/ + + +--delete from [CONSEVO].ConsulenzaBaseFL.[dbo].CBS_STAMPAREPORT +--insert into [CONSEVO].ConsulenzaBaseFL.[dbo].CBS_STAMPAREPORT +--select +-- DataGenerazione as data, +-- SUBSTRING(NomeFile, 1, 11) as codiceContratto, --SUBSTRING(NomeFile, 0, 12) +-- case +-- when (id_fk_zip = -1) then 0 +-- else 1 +-- end as definitivo, +-- getDate() as dataAggiornamento +--from +--( +-- select +-- datagenerazione, +-- nomefile, +-- id_fk_zip, +-- row_number() over (partition by SUBSTRING(NomeFile, 1, 11) order by datagenerazione desc ) as ordine, --SUBSTRING(NomeFile, 0, 12) +-- upgrade +-- from (select pdf.*,case when md.TIP_riattivazione = 2 then 1 else 0 end upgrade +-- from c6mart.gestione_pdf_ftp pdf +-- left join c6mart.vcontratti vc +-- on SUBSTRING(pdf.NomeFile, 1, 11) = vc.codicecontratto --SUBSTRING(pdf.NomeFile, 0, 12) +-- left join c6mart.contrattosei_metadati md +-- on md.chiaveclientepb = vc.chiaveclientepb) pdf2 +--) l +--where ( ordine = 1 and upgrade = 0 ) or (ordine = 2 and upgrade = 1) + + + +--BEGIN TRANSACTION +-- BEGIN TRY + + DELETE FROM [CONSEVO].ConsulenzaBaseFL.[dbo].CBS_STAMPAREPORT + INSERT INTO [CONSEVO].ConsulenzaBaseFL.[dbo].CBS_STAMPAREPORT + SELECT + DataGenerazione AS data, + SUBSTRING(NomeFile, 1, 11) AS codiceContratto, --SUBSTRING(NomeFile, 0, 12) + CASE + WHEN (id_fk_zip = -1) THEN 0 + ELSE 1 + END AS definitivo, + getDate() AS dataAggiornamento + FROM + ( + SELECT + datagenerazione, + nomefile, + id_fk_zip, + row_number() over (partition by SUBSTRING(NomeFile, 1, 11) order by datagenerazione desc ) as ordine, --SUBSTRING(NomeFile, 0, 12) + upgrade, + InvioBenvenuto, + DataFineAvanzato + FROM ( + SELECT pdf.*,CASE WHEN md.TIP_riattivazione = 2 THEN 1 ELSE 0 END upgrade ,md.inviobenvenuto AS InvioBenvenuto,data_fineavanzato as DataFineAvanzato + FROM c6mart.gestione_pdf_ftp pdf + left join c6mart.vcontratti vc + ON SUBSTRING(pdf.NomeFile, 1, 11) = vc.codicecontratto + left join c6mart.contrattosei_metadati md + ON md.chiaveclientepb = vc.chiaveclientepb + --WHERE md.inviobenvenuto = 'S' and data_fineavanzato > getdate() + ) pdf2 + ) l + WHERE ( ordine = 1 and upgrade = 0 and InvioBenvenuto='S' and DataFineAvanzato > getdate() ) + OR + ( ordine = 2 and upgrade = 1 ) + +-- COMMIT TRANSACTION +-- +--END TRY +-- +--BEGIN CATCH +-- ROLLBACK TRANSACTION +-- DECLARE @Msg NVARCHAR(MAX) +-- SELECT @Msg=ERROR_MESSAGE() +-- RAISERROR('Descrizione errore: %s', 20, 101,@msg) WITH LOG +--END CATCH + +end + + diff --git a/sql/storedCollaudo/C6Mart_sp_getDatiReport.sql b/sql/storedCollaudo/C6Mart_sp_getDatiReport.sql new file mode 100644 index 00000000..38dca897 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_sp_getDatiReport.sql @@ -0,0 +1,43 @@ +-- Schema: C6Mart +-- Stored Procedure: sp_getDatiReport + + + +CREATE procedure [C6Mart].[sp_getDatiReport] +AS +BEGIN + +select + Contratti.codicecontratto as codiceContratto , + pdf.rete as rete , + pdf.codicefiscale as codiceFiscale , + clienti.nome as nomeCliente , + clienti.cognome as cognomeCliente, + pdf.TipoReport as TipoReport, + pdf.idReport as IdReport , + contratti.cod_agente as codAgente , + isnull(promot.nome,'') as nomeAgente , + isnull(promot.Cognome,'') as cognomeAgente , + pdf.numeropagine as numeroPagine , + pdf.NomeFile as NomeFile, + contratti.tip_contratto tipoContratto, + id_fk_zip, + pdf.IDReport as identityReport +from [C6Mart].[GESTIONE_PDF_FTP] PDF + inner join [C6Mart].[ANAG_CLIENTI] Clienti + on pdf.rete=clienti.rete and pdf.codicefiscale=clienti.COD_FISCALE + inner join c6mart.vContratti Contratti + on contratti.rete=pdf.rete and contratti.cod_fiscale= pdf.codicefiscale + left join [C6Mart].[ANAG_Promotori] promot + on contratti.rete=promot.rete and contratti.cod_agente= promot.id_promotore + inner join dbo.reportDainserire_recupero rep + on pdf.IDReport = rep.identificativo +where + pdf.DataGenerazione = rep.Data + +--order by IdentityReport + +End + + + diff --git a/sql/storedCollaudo/C6Mart_temp_RP_DM_GestioneEmail.sql b/sql/storedCollaudo/C6Mart_temp_RP_DM_GestioneEmail.sql new file mode 100644 index 00000000..721a813f --- /dev/null +++ b/sql/storedCollaudo/C6Mart_temp_RP_DM_GestioneEmail.sql @@ -0,0 +1,110 @@ +-- Schema: C6Mart +-- Stored Procedure: temp_RP_DM_GestioneEmail + +--delete from c6mart.gestione_Email where data_Generazione > getDate()-1 +--truncate table log_esecuzione +--select * from log_esecuzione +CREATE procedure [C6Mart].[temp_RP_DM_GestioneEmail] +AS +BEGIN + +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- PERFEZIONAMENTO; +-- MANCATA MIGRAZIONE; +-- REINVIO SOLLECITO MANCATA MIGRAZIONE. + +--LA GESTIONE DELLE EMAIL PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO O +--PER REINVIO DEL SOLLECITO PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO +--VIENE FATTA DOPO L'ALLINEAMENTO CON I DATI DEL SIMPB + + +--ESTRAZIONE EMAIL PERFEZIONAMENTO +--TIPO EMAIL: "PERF" +--L'EMAIL VIENE INVIATA PER TUTTI I CLIENTI CHE HANNO DATA DI PERFEZIONAMENTO VALORIZZATA +--IL CONTROLLO SULLA DATA DI GENERAZIONE >= DELLA DATA DI PERFEZIONAMENTO E' DOVUTO AL +--FATTO CHE IL CONTRATTO PUO` ESSERE CHIUSO E RIAPERTO ED IN QUESTO CASO LA MAIL DI PERFEZIONAMENTO +--DEVE ESSERE REINVIATA + +-- EMAIL DI ADESIONE AL SERVIZIO SEI +-- TIPO EMAIL 'PERF' +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @ID_ELAB INT +DECLARE @MaxInvioSoll as SMALLINT + +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') as smallint) +SET @ID_ELAB = C6MART.GETIDELAB() +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) --7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint) --7 + +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - Mail Perf',GETDATE(),'Elaborazione giornaliera') +--0. MODIFICO I RECORD IN GESTIONE EMAIL CON TIPO = PERF PER EVITARE IL REINVIO MULTIPLO A SEGUITO DELLA RIATTIVAZIONE +UPDATE C6MART.GESTIONE_EMAIL +SET TIPO = 'OLD' +FROM C6MART.Gestione_EMAIL EMAIL + INNER JOIN C6MART.VCONTRATTI VC + ON VC.COD_FISCALE = EMAIL.COD_FISCALE + AND VC.rete = EMAIL.RETE + AND EMAIL.TIPO = 'PERF' + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC + ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB + AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO = '9999-12-31 00:00:00.000' + AND MC.Tip_riattivazione = 1 + + +--1. INSERIMENTO MAIL DI "PERFEZIONAMENTO" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- NON PRESENTI SU GESTIONE_EMAIL + +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione, ID_ELAB) +SELECT + VC.Rete, + VC.Cod_Fiscale, + 'PERF' as TipoEmail, + GETDATE() AS DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6Mart.VCONTRATTI VC +INNER JOIN C6Mart.CONTRATTOSEI_METADATI MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb +LEFT JOIN C6Mart.GESTIONE_EMAIL EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + AND EMAIL.TIPO = 'PERF' + AND EMAIL.Data_Generazione >= VC.Data_Perf -- CONDIZIONE PER ESCLUDERE DAL JOIN UN CONTRATTO CHIUSO E RIAPERTO. +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF -- IN QUESTO MODO LO INSERIAMO NUOVAMENTE IN GESTIONE_MAIL. + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + --AND VC.InvioBenvenuto = 'N' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND EMAIL.COD_FISCALE IS NULL + AND PF.RETE IS NULL + + +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'INSERT',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf' AND + Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf') + +INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - SollecitiNOMIG',GETDATE(),'Elaborazione giornaliera') + +-- 2. INSERIMENTO MAIL "SOLLECITI" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE +-- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO NULL -> CONSIDERIAMO DATA_PERF + +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT + VC.rete, + VC.cod_fiscale, + CASE + WHEN ISNULL( diff --git a/sql/storedCollaudo/C6Mart_zzzPL_D2_S150Anagrafica.sql b/sql/storedCollaudo/C6Mart_zzzPL_D2_S150Anagrafica.sql new file mode 100644 index 00000000..b457c4aa --- /dev/null +++ b/sql/storedCollaudo/C6Mart_zzzPL_D2_S150Anagrafica.sql @@ -0,0 +1,116 @@ +-- Schema: C6Mart +-- Stored Procedure: zzzPL_D2_S150Anagrafica + + + + + +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[zzzPL_D2_S150Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, + +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, + +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + + --V Indirizzo Secondo AULETTA + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_INZIOAVANZATO) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + null AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + + CONTRATTOSEI.[Provincia] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.VCONTRATTI AS CONTRATTOSEI -- TABELLA BASE + INNER JOIN + C6MART.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MART.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + LEFT JOIN + C6MART.ANAG_CLIENTI_PREV + ON + ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + LEFT JOIN + C6MART.DATI_REPORT + ON + ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + WHERE 1 = 1 + AND ANAG_CLIENTI.RETE = @RETE + AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE + +END + + + + + + diff --git a/sql/storedCollaudo/C6Mart_zzzPL_D2_S168TabellaEmittenti.sql b/sql/storedCollaudo/C6Mart_zzzPL_D2_S168TabellaEmittenti.sql new file mode 100644 index 00000000..b9be5f63 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_zzzPL_D2_S168TabellaEmittenti.sql @@ -0,0 +1,146 @@ +-- Schema: C6Mart +-- Stored Procedure: zzzPL_D2_S168TabellaEmittenti + + + + + +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6Mart].[PL_D_S168TabellaEmittenti] 'F','FF@7181' +CREATE procedure [C6Mart].[zzzPL_D2_S168TabellaEmittenti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + +declare @patr_compl decimal(18,3) + + +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 + +SELECT + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( + + +-- PER INTERMEDIARIO + + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBB diff --git a/sql/storedCollaudo/C6Mart_zzzPL_D_S157ConfrontoPiramidi.sql b/sql/storedCollaudo/C6Mart_zzzPL_D_S157ConfrontoPiramidi.sql new file mode 100644 index 00000000..3e9993b2 --- /dev/null +++ b/sql/storedCollaudo/C6Mart_zzzPL_D_S157ConfrontoPiramidi.sql @@ -0,0 +1,121 @@ +-- Schema: C6Mart +-- Stored Procedure: zzzPL_D_S157ConfrontoPiramidi + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6Mart].[PL_D_S157ConfrontoPiramidi] 'F','CMRCST54E45B300G' +CREATE procedure [C6Mart].[zzzPL_D_S157ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MART.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + LEFT(ID_AREA,3) AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MART.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + OR (PIRAMIDE_MOD.ID_AREA = 'INV')) -- AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + + + IF(@@ROWCOUNT>0) + BEGIN + + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc') + --V + DECLARE @TOTCC AS INT + SELECT @TOTCC = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND TIPO_PRODOTTO = 'Cc' + + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + + + + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCC = @TOT THEN 0.00 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + WHEN (@TOT diff --git a/sql/storedCollaudo/C6Mart_zzzPL_D_S170RischioDiversificazione.sql b/sql/storedCollaudo/C6Mart_zzzPL_D_S170RischioDiversificazione.sql new file mode 100644 index 00000000..781d768e --- /dev/null +++ b/sql/storedCollaudo/C6Mart_zzzPL_D_S170RischioDiversificazione.sql @@ -0,0 +1,104 @@ +-- Schema: C6Mart +-- Stored Procedure: zzzPL_D_S170RischioDiversificazione + +CREATE procedure [C6Mart].[zzzPL_D_S170RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + + declare @contaCC as int + + select @contaCC = count(*) + from C6MART.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + + + declare @contaPOS as int + + select @contaPOS = count(*) + from C6MART.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + + + +SELECT + K.COD_FISCALE, + K.RETE, + K.CTV_AGGREG, + K.CREDITRISK, + +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, + +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END +as varString, + +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, + +beneficio as diversificazione, + +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, + +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Banca Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, + +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, + +b.max_var as var_profilo, + +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine + + +FROM C6MART.RISCHIO_AGGREGATO K +left outer JOIN C6MART.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete +left outer join C6MART.CODIFICA_RISCHIO b + ON A.PROFILO_ASS=B.PROFILO + +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine + + + + +END + + + + + diff --git a/sql/storedCollaudo/C6Mart_zzzQUALITY_CARATTERIVCONTRATTI.sql b/sql/storedCollaudo/C6Mart_zzzQUALITY_CARATTERIVCONTRATTI.sql new file mode 100644 index 00000000..f601805a --- /dev/null +++ b/sql/storedCollaudo/C6Mart_zzzQUALITY_CARATTERIVCONTRATTI.sql @@ -0,0 +1,131 @@ +-- Schema: C6Mart +-- Stored Procedure: zzzQUALITY_CARATTERIVCONTRATTI + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + +CREATE procedure [C6Mart].[zzzQUALITY_CARATTERIVCONTRATTI] +AS +BEGIN + + +declare @num int +set @num = 1 + +CREATE TABLE #tab_temp( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL) + + +set @num = 1 +while @num < 150 + +begin + insert into #tab_temp + SELECT ascii(substring(email,@num,1)), + substring(email,@num,1), + rete, + Cod_Fiscale, + 'EMAIL', + email + FROM C6Mart.vcontratti + WHERE + ascii(substring(email,@num,len(email))) not between 64 and 90 + and ascii(substring(email,@num,len(email))) not between 97 and 122 + and ascii(substring(email,@num,len(email))) not between 48 and 57 + and ascii(substring(email,@num,len(email))) <> 32 + and ascii(substring(email,@num,len(email))) <> 40 + and ascii(substring(email,@num,len(email))) <> 41 + and ascii(substring(email,@num,len(email))) <> 43 + and ascii(substring(email,@num,len(email))) <> 44 + and ascii(substring(email,@num,len(email))) <> 45 + and ascii(substring(email,@num,len(email))) <> 46 + and ascii(substring(email,@num,len(email))) <> 95 + and ascii(substring(email,@num,len(email))) <> 39 + and ascii(substring(email,@num,len(email))) <> 47 + and ascii(substring(email,@num,len(email))) <> 63 + set @num = @num + 1 +end + + +set @num = 1 +while @num < 150 + +begin + insert into #tab_temp + SELECT ascii(substring(Indirizzo,@num,1)), + substring(Indirizzo,@num,1), + rete, + Cod_Fiscale, + 'INDIRIZZO', + Indirizzo + FROM C6Mart.vcontratti + WHERE + ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 64 and 90 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 97 and 122 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 48 and 57 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 32 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 40 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 41 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 43 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 44 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 45 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 46 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 95 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 39 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 47 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 63 + set @num = @num + 1 +end + + +set @num = 1 +while @num < 150 + +begin + insert into #tab_temp + SELECT ascii(substring(CAP,@num,1)), + substring(CAP,@num,1), + rete, + Cod_Fiscale, + 'CAP', + CAP + FROM C6Mart.vcontratti + WHERE + ascii(substring(CAP,@num,len(CAP))) not between 64 and 90 + and ascii(substring(CAP,@num,len(CAP))) not between 97 and 122 + and ascii(substring(CAP,@num,len(CAP))) not between 48 and 57 + and ascii(substring(CAP,@num,len(CAP))) <> 32 + and ascii(substring(CAP,@num,len(CAP))) <> 40 + and ascii(substring(CAP,@num,len(CAP))) <> 41 + and ascii(substring(CAP,@num,len(CAP))) <> 43 + and ascii(substring(CAP,@num,len(CAP))) <> 44 + and ascii(substring(CAP,@num,len(CAP))) <> 45 + and ascii(substring(CAP,@num,len(CAP))) <> 46 + and ascii(substring(CAP,@num,len(CAP))) <> 95 + and ascii(substring(CAP,@num,len(CAP))) <> 39 + and ascii(substring(CAP,@num,len(CAP))) <> 47 + and ascii(substring(CAP,@num,len(CAP))) <> 63 + set @num = @num + 1 +end + + +set @num = 1 +while @num < 150 + +begin + insert into #tab_temp + SELECT ascii(substring(Citta,@num,1)), + substring(Citta,@num,1), + rete, + Cod_Fiscale, + 'Citta', + Citta + diff --git a/sql/storedCollaudo/C6Mart_zzzRP_DM_GestioneEmailNA.sql b/sql/storedCollaudo/C6Mart_zzzRP_DM_GestioneEmailNA.sql new file mode 100644 index 00000000..e01cf4ed --- /dev/null +++ b/sql/storedCollaudo/C6Mart_zzzRP_DM_GestioneEmailNA.sql @@ -0,0 +1,132 @@ +-- Schema: C6Mart +-- Stored Procedure: zzzRP_DM_GestioneEmailNA + +-- ============================================= +-- Author: +-- Create date: <17/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[zzzRP_DM_GestioneEmailNA] +AS +BEGIN + +--INSERT INTO C6MART.LogVcontrattiseiAnd +-- select getdate()as dtstamp,* from c6mart.vcontrattisei where cod_fiscale + rete in (SELECT COD_FISCALE+RETE FROM C6MART.TestEmailAnd) + +--EXECUTE C6Mart.RP_DM_GestioneEmailNA_AND + + +BEGIN TRANSACTION + +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT + +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)--7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT)--12 +SET @ID_ELAB = C6MART.GETIDELAB() + +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'RP_DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' +) + +-- 1. INSERIMENTO MAIL "SOLLECITI" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA EFFETTUATO L'ASSOCIAZIONE DELLE RISORSE + -- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO NULL -> CONSIDERIAMO DATA_PERF + + INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + VC.rete, + VC.cod_fiscale, + CASE + WHEN ISNULL(numSolleciti,0) = 0 THEN '1_SOLL_NOASS' + WHEN numSolleciti = 1 THEN '2_SOLL_NOASS' + WHEN numSolleciti = 2 THEN '3_SOLL_NOASS' + ELSE 'S_SOLL_NOASS' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'S' + AND MD.risorseNA = 'S' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + AND VC.COD_FISCALE + VC.RETE NOT IN (SELECT COD_FISCALE+RETE FROM C6MART.TestEmailAnd) + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNA' + ) + + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' + ) + +-- 1.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" + -- AUMENTIAMO IL NUMERO numSolleciti + -- AGGIORNIAMO LA DATA Data_UltimoSollecito + + UPDATE + c6mart.CONTRATTOSEI_METADATI + SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'S' + AND MD.risorseNA = 'S' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + AND diff --git a/sql/storedCollaudo/C6Mart_zzzSRV_CHECK_C6_GIORNALIERO_AND.sql b/sql/storedCollaudo/C6Mart_zzzSRV_CHECK_C6_GIORNALIERO_AND.sql new file mode 100644 index 00000000..a17ceb5b --- /dev/null +++ b/sql/storedCollaudo/C6Mart_zzzSRV_CHECK_C6_GIORNALIERO_AND.sql @@ -0,0 +1,122 @@ +-- Schema: C6Mart +-- Stored Procedure: zzzSRV_CHECK_C6_GIORNALIERO_AND + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[zzzSRV_CHECK_C6_GIORNALIERO_AND] +AS +BEGIN + SET NOCOUNT ON; + + + + +SELECT DISTINCT * INTO #TEST_QUALITY FROM ( + +SELECT *,12 AS ISLOG FROM C6MART.TEST_QUALITY + +UNION + +SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'Cliente con VaR discordante '+ convert(varchar,RA.VAR_PERC_PTF) + ' ' + convert(varchar,VC.VAR_COMPLESSIVO_BF) AS MOTIVO,0 +FROM + C6Mart.RISCHIO_AGGREGATO AS RA + INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE +WHERE + RA.COD_AGGREG = 'COMPLESSIVO|BF' + AND ABS(RA.VAR_PERC_PTF - VC.VAR_COMPLESSIVO_BF) > 0.02 + AND (VC.FiduMulitMand = 'N') + +UNION + +SELECT DISTINCT RETE,COD_FISCALE,'Indirizzo pi lunghi di 36 caratteri' AS MOTIVO,6 +FROM C6Mart.vcontrattisei +WHERE data_fineavanzato > GETDATE() + AND isnull(numrevoche,0) = 0 + AND inviobenvenuto = 'N' + AND LEN(Indirizzo) > 36 + +UNION + + SELECT DISTINCT RETE,CODICEFISCALE + ,'Prodotto non a catalogo ' + isnull(codiceContratto,'') +', '+ ltrim(rtrim(isnull(codiceinterno,''))) + '/'+ ltrim(rtrim(isnull(codicesottoprodotto,''))) + '/'+ ltrim(rtrim(isnull(codicemaf,''))) + '/'+ ltrim(rtrim(isnull(isin,''))) As motivo ,7 +FROM C6Staging.SPB_CONTR_SINTESI WHERE POSITIONID IS NULL + + + +UNION + +SELECT DISTINCT CM.Rete,CM.Cod_Fiscale,'Cliente senza righe Contratto Sintesi' AS MOTIVO,8 +FROM C6Mart.RP_VContrattiMigrati CM +LEFT JOIN C6Staging.SPB_CONTR_SINTESI CS +ON CM.Cod_Fiscale = CS.CODICEFISCALE AND CM.RETE = CS.RETE +WHERE CS.CODICEFISCALE IS NULL + +UNION + +SELECT DISTINCT PB.RETE,PB.COD_FISCALE,'Cliente senza data sottoscrizione ' + dbo.toShortDateString(PB.ID_CONTRATTO) AS MOTIVO,9 + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.PATRIMONIO_BF AS PB + ON C.Rete = PB.RETE + AND C.Cod_Fiscale = PB.COD_FISCALE + INNER JOIN C6Mart.RISCHIO_AGGREGATO AS RA + ON PB.RETE = RA.RETE + AND PB.COD_FISCALE = RA.COD_FISCALE + WHERE + PB.DATA_SOTTOSCRIZIONE IS NULL + AND PB.TIPO_PRODOTTO = 'DT' + + +UNION + +SELECT DISTINCT VC.Rete,VC.Cod_Fiscale,'Cliente senza piramide modello' AS MOTIVO,10 +FROM C6Mart.vcontrattiSEI VC + LEFT JOIN C6Mart.PIRAMIDE_MOD PM + ON VC.Cod_Fiscale=PM.Cod_Fiscale AND VC.RETE=PM.RETE +WHERE + VC.Data_FineAvanzato > getDate() + AND VC.inviobenvenuto = 'N' + AND VC.clientemigrato = 'S' + AND VC.risorseNA = 'N' + AND VC.profiloAttivo = 1 + AND DATEDIFF(d, VC.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND ISNULL(VC.NUMREVOCHE,0) = 0 + AND PM.Cod_Fiscale IS NULL + +UNION + +SELECT DISTINCT CM.RETE,CM.Cod_Fiscale,'Cliente senza righe profilo MIFID' AS MOTIVO,11 +FROM C6Mart.RP_VContrattiMigrati CM +LEFT JOIN C6Staging.SPB_MIFID MD +ON CM.Cod_Fiscale = MD.CODICEFISCALE AND CM.RETE = MD.RETE +WHERE MD.CODICEFISCALE IS NULL + + + +) T + +INSERT INTO #TEST_QUALITY +SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'Cliente con VaR discordante '+ convert(varchar,RA.VAR_PERC_PTF) + ' ' + convert(varchar,VC.VAR_COMPLESSIVO_BF) + CASE WHEN VC.FiduMulitMand = 'S' THEN ' FiduMulitMand' ELSE ' ' END AS MOTIVO,5 +FROM + C6Mart.RISCHIO_AGGREGATO AS RA + INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE +WHERE + RA.COD_AGGREG = 'COMPLESSIVO|BF' + AND ABS(RA.VAR_PERC_PTF - VC.VAR_COMPLESSIVO_BF) <> 0.00 + +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in EMAIL' AS MOTIVO,12 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](email) = 'S' and data_fineavanzato > getdate() + +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in INDIRIZZO' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](Indirizzo) = 'S' and data_fineavanzato > getdat diff --git a/sql/storedCollaudo/C6Mart_zzzzPL_D_S157ConfrontoPiramidi.sql b/sql/storedCollaudo/C6Mart_zzzzPL_D_S157ConfrontoPiramidi.sql new file mode 100644 index 00000000..4340a7cd --- /dev/null +++ b/sql/storedCollaudo/C6Mart_zzzzPL_D_S157ConfrontoPiramidi.sql @@ -0,0 +1,126 @@ +-- Schema: C6Mart +-- Stored Procedure: zzzzPL_D_S157ConfrontoPiramidi + + +-- Stored procedure + + + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6Mart].[PL_D_S157ConfrontoPiramidi] 'S','CSLMCR54P48H501U' +-- CHIEDERE A FABRIZIO, case @TOTControvaloreModello when 0 .... +CREATE procedure [C6Mart].[zzzzPL_D_S157ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + +-- DECLARE @minGradoCoperura AS INT +-- SET @minGradoCoperura = CAST(dbo.getParametro('MINGRADOCOPERTURA') AS INT) + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + (SELECT PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + SUM(PIRAMIDE_MOD.PERC_AREA) AS PERC_AREA + FROM C6MART.PIRAMIDE_MOD + WHERE + PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC', 'INV' ) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + GROUP BY PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA) AS PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + LEFT(ID_AREA,3) AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MART.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + OR ( + PIRAMIDE_MOD.ID_AREA = 'INV' + -- AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL + )) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + + IF(@@ROWCOUNT>0) + + BEGIN + + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc') + + + --V + DECLARE @TOTCC DECIMAL (20,2) + SELECT @TOTCC = ISNULL(CONTROVALORE,0) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'Cc' + + --V +-- DECLARE @TOTNA DECIMAL (20,2) +-- SELECT @TOTCC = ISNULL(CONTROVALORE,0) +-- FROM #PIRAMIDE_VERT ATTUALE +-- WHERE ATTUALE.RETE = @Rete +-- AND ATTUALE.COD_FISCALE = @CodiceFiscale +-- AND ID_AREA = 'Na' + + --V + DECLARE @TOT DECIMAL (20,2) + SELECT @TOT = SUM(ISNULL(CONTROVALORE,0)) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + + + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + -- V D S + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA diff --git a/sql/storedCollaudo/C6Mart_zzzzRP_SRV_CHECK_C6_GIORNALIERO.sql b/sql/storedCollaudo/C6Mart_zzzzRP_SRV_CHECK_C6_GIORNALIERO.sql new file mode 100644 index 00000000..7a2a059a --- /dev/null +++ b/sql/storedCollaudo/C6Mart_zzzzRP_SRV_CHECK_C6_GIORNALIERO.sql @@ -0,0 +1,132 @@ +-- Schema: C6Mart +-- Stored Procedure: zzzzRP_SRV_CHECK_C6_GIORNALIERO + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[zzzzRP_SRV_CHECK_C6_GIORNALIERO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + --V Esegue la procedura di estrazione dei CC + EXEC [C6Mart].[RP_SRV_ESTRAZ_GIORNALIERA_CC] + + -- Report generati + SELECT + C.Rete, + C.Cod_Agente, + case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else C.Cod_Fiscale end as Cod_fiscale, + C.Data_Perf + INTO #ReportGenerati + FROM + C6Mart.GESTIONE_PDF_FTP AS GPF + INNER JOIN C6Mart.VCONTRATTI AS C + ON GPF.RETE = C.Rete + AND GPF.CODICEFISCALE = C.Cod_Fiscale + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on C.chiaveclientepb = M.chiaveclientepb + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND Data_FineAvanzato > getDate() + ORDER BY + C.Rete, + C.Cod_Agente, + C.Cod_Fiscale + + -- Report non generati + SELECT + Rete, + Cod_Agente, + case when Cod_Fiscale like '%@%' then piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else Cod_Fiscale end as Cod_fiscale, + Data_Perf, + 'Ragione:' + CASE + WHEN ClienteMigrato = 'N' THEN ' Cliente non migrato' + ELSE '' + END + + CASE + WHEN RisorseNA = 'S' THEN ' Risorse non associate' + ELSE '' + END + + CASE + WHEN RisorseNA = 'N' and ClienteMigrato = 'S' and profiloAttivo = 0 THEN ' Profilo non attivo' + ELSE '' + END + /*+ CASE + WHEN PartViaDisinv = 'S' THEN ' Partite viaggianti disinvestimento' + ELSE '' + END*/ AS Ragione + INTO #ReportNonGenerati + FROM + C6Mart.vcontratti as CONTRATTOSEI + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on CONTRATTOSEI.chiaveclientepb = M.chiaveclientepb + WHERE + M.InvioBenvenuto = 'N' + AND DATEDIFF(d, Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND (ClienteMigrato = 'N' + OR RisorseNA = 'S' + --V Condizione per non generazione a causa di profilo non attivo + OR ProfiloAttivo = 0 + -- + /*OR PartViaDisinv = 'S'*/) + AND Data_FineAvanzato > getDate() + ORDER BY + Rete, + Cod_Agente, + Cod_Fiscale + + + + + -- Email + SELECT + CASE Tipo + WHEN 'PERF' THEN 'perfezionamento' + WHEN '1_SOLL_NOASS' THEN '1 sollecito risorse non associate' + WHEN '2_SOLL_NOASS' THEN '2 sollecito risorse non associate' + WHEN '3_SOLL_NOASS' THEN '3 sollecito risorse non associate' + WHEN 'S_SOLL_NOASS' THEN 'pi di 3 solleciti risorse non associate' + WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + WHEN '1_SOLL_NOMIG' THEN '1 sollecito cliente non migrato' + WHEN '2_SOLL_NOMIG' THEN '2 sollecito cliente non migrato' + WHEN '3_SOLL_NOMIG' THEN '3 sollecito cliente non migrato' + WHEN 'S_SOLL_NOMIG' THEN 'pi di 3 solleciti cliente non migrato' + WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + --V aggiunta tipo mail profilo non attivo + WHEN '1_SOLL_NOPRO' THEN '1 sollecito profilo non attivo' + WHEN '2_SOLL_NOPRO' THEN '2 sollecito profilo non attivo' + WHEN '3_SOLL_NOPRO' THEN '3 sollecito profilo non attivo' + WHEN 'S_SOLL_NOPRO' THEN 'pi di 3 solleciti profilo non attivo' + WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + + END AS Tipo, + COUNT(Tipo) AS Totale + INTO #EmailInviate + FROM + C6Mart.GESTIONE_EMAIL + WHERE + Inviata = 'S' + AND dbo.toShortDateString(Data_Invio) = dbo.toShortDateString(GETDATE()) + GROUP BY + Tipo + ORDER BY TIPO + -- Indirizzi pi lunghi di 36 caratteri + SELECT + C.Rete, + Cod_Agente, + Cod_Fiscale, + Indirizzo, + LEN(Indirizzo) AS LunghezzaIndirizzo + INTO #IndirizziLunghi + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.GESTIONE_PDF_FTP AS GPF + ON C.Rete = GPF.RETE + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_Popola_APPO_CONTRATTI.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_Popola_APPO_CONTRATTI.sql new file mode 100644 index 00000000..16117af4 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_Popola_APPO_CONTRATTI.sql @@ -0,0 +1,24 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: Popola_APPO_CONTRATTI + + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[Popola_APPO_CONTRATTI] +AS +BEGIN + + + truncate table C6StagingPeriodicoImmobiliare.APPO_CONTRATTI + + insert into C6StagingPeriodicoImmobiliare.APPO_CONTRATTI + select * from C6StagingPeriodico.APPO_CONTRATTI + + + + +END + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_CREA_POSITIONID_CONSULENZA.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_CREA_POSITIONID_CONSULENZA.sql new file mode 100644 index 00000000..e71fadfa --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_CREA_POSITIONID_CONSULENZA.sql @@ -0,0 +1,113 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_CREA_POSITIONID_CONSULENZA + + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_CREA_POSITIONID_CONSULENZA] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_immobiliare + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Trimestrale Immobiliare' + ) + +truncate table TAB1 + +insert into TAB1 +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB','RE','RF','IE') THEN ISNULL(CODISIN,'') + ELSE '' END AS CODISIN, + CODSOTTOPRODOTTO, + position_id +--INTO TAB1 +FROM C6StagingPeriodicoImmobiliare.RP_CONSULENZA + +UPDATE TAB1 + SET position_id = + C6STAGINGPERIODICOIMMOBILIARE.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) + +DECLARE @CNTNULL as int +SELECT @CNTNULL = COUNT(*) FROM TAB1 WHERE isnull(position_id,'') = '' + +--SET @CNTNULL = 0 +IF @CNTNULL = 0 + UPDATE C6StagingPeriodicoImmobiliare.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, + CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB','RE','RF','IE') THEN ISNULL(c.CODISIN,'') + ELSE '' END, + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6StagingPeriodicoImmobiliare.RP_CONSULENZA c + left join TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB','RE','RF','IE') + THEN ISNULL(c.CODISIN,'') + ELSE '' END + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null + + +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6StagingPeriodicoImmobiliare.RP_CONSULENZA WHERE isnull(position_id,'') <> '' + +-- Log esecuzione +UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) + +--drop table TAB1 + +IF @CNTNULL = 0 + SELECT @CNTNULL = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') = '' + +if @CNTNULL > 0 + RAISERROR ('Scarti position_id null', 16, 1 ) + + +END + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql new file mode 100644 index 00000000..022a82ac --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql @@ -0,0 +1,62 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE + + + + +-- Questa sp aggiorna il campo 'beneficio' della [PROMETEIA_AGGR] con il valore del nuovo indicatore dalla nuova tabella PROMETEIA_AGGR_IndDiv +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE] + +AS +BEGIN + +-- *********************************************** 10/7/2018 ********************************************** +-- BONIFICA DELLA TABELLA PER I VALORI NON CALCOLATI (Nan) TORNATI DAL SERVIZIO PER ALCUNI CF/PTF +-- NECESSARIA PER NON MANDARE IN ERRORE LA UPDATE + +update a set indicatore = '0.0' + FROM [C6StampeCentralizzate].[C6StagingPeriodicoImmobiliare].[PROMETEIA_AGGR_IndDiv] a + where + not indicatore like '%[0-9]%' + + + +-- ********************************************* FINE BONIFICA ******************************************** + + --aggiorna il beneficio per il COMPLESSIVO +--UPDATE aggr set aggr.beneficio = CAST(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) AS DECIMAL(12,3)) +--con le replace sostituisco i caratteri speciali a fine testo che mandano in errore il cast quando l'indicatore = 0.0 - CHAR(13) = cr, CHAR(10) = lf +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodicoImmobiliare].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodicoImmobiliare].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale +where aggr.portafoglio = 'COMPLESSIVO' + +--aggiorna il beneficio per il COMPLESSIVO|BF +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodicoImmobiliare].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodicoImmobiliare].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_BF' +where aggr.portafoglio = 'COMPLESSIVO|BF' + +--aggiorna il beneficio per il COMPLESSIVO|TERZI +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodicoImmobiliare].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodicoImmobiliare].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_TERZI' +where aggr.portafoglio = 'COMPLESSIVO|TERZI' + + + + +END + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_AnAlberatura.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_AnAlberatura.sql new file mode 100644 index 00000000..e4a8f12e --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_AnAlberatura.sql @@ -0,0 +1,57 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_AnAlberatura + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_AnAlberatura] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AnAlberatura', + GETDATE(), + 'Elaborazione Trimestrale Immobiliare' + ) + + truncate table C6StagingPeriodicoImmobiliare.RP_AnAlberatura + + insert into C6StagingPeriodicoImmobiliare.RP_AnAlberatura + + --select * into C6StagingPeriodicoImmobiliare.RP_AnAlberatura from [CONSEVO].CatalogoProdotti.dbo.AnAlberatura + select + [Alberatura] + ,[Livello1] + ,[Livello2] + ,[Livello3] + ,[Livello4] + ,[Livello5] + + from [CONSUNI_PERIODICO].CatalogoProdotti.dbo.AnAlberatura + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AnAlberatura' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_AnAlberatura' + ) + +end + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_AnEmittente.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_AnEmittente.sql new file mode 100644 index 00000000..1c64e7c0 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_AnEmittente.sql @@ -0,0 +1,55 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_AnEmittente + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_AnEmittente] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AnEmittente', + GETDATE(), + 'Staging Immobiliare' + ) + + truncate table C6StagingPeriodicoImmobiliare.RP_AnEmittente + + insert into C6StagingPeriodicoImmobiliare.RP_AnEmittente ( + [Emittente] + ,[Descrizione] ) + + select + + [Emittente] + ,[Descrizione] + from [CONSUNI].CatalogoProdotti.dbo.AnEmittente + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AnEmittente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_AnEmittente' + ) + +end + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_AssetClass.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_AssetClass.sql new file mode 100644 index 00000000..f26ff52f --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_AssetClass.sql @@ -0,0 +1,55 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_AssetClass + + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_AssetClass] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AssetClass', + GETDATE(), + 'Staging Immobiliare' + ) + + truncate table C6StagingPeriodicoImmobiliare.RP_AssetClass + + insert into C6StagingPeriodicoImmobiliare.RP_AssetClass + --select * into C6StagingPeriodicoImmobiliare.RP_AssetClass from [CONSEVO].[CatalogoProdotti].dbo.AssetClass + -- 21/12/2016 mod puntamento + --select * from [CONSEVO].[CatalogoProdotti].dbo.AssetClass + select asset,madre,livello,descrizione,codicergb,isresidual from [CONSUNI].[CatalogoProdotti].dbo.AssetClass + -- 21/12/2016 FINE mod puntamento + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AssetClass' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_AssetClass' + ) + +end + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_BonificaClientiDoppi.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_BonificaClientiDoppi.sql new file mode 100644 index 00000000..69f2c8a6 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_BonificaClientiDoppi.sql @@ -0,0 +1,132 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_BonificaClientiDoppi + + + + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_BonificaClientiDoppi] +AS + +BEGIN + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_BonificaClientiDoppi', + GETDATE(), + 'Elaborazione Trimestrale Immobiliare' + ) + + + +----------------------------------------------------------------- +drop table if exists #doppiCF +drop table if exists #ClientiDoppiInAppoCF +drop table if exists #ClientiNONInAppoCF +drop table if exists #ClientiChiaveClienteGiustaCF +drop table if exists #ClientiChiaveClienteGiustaESbagliataCF +drop table if exists #ClientiChiaveSbagliataCF + +drop table if exists #doppiPIVA +drop table if exists #ClientiDoppiInAppoPIVA +drop table if exists #ClientiNONInAppoPIVA +drop table if exists #ClientiChiaveClienteGiustaPIVA +drop table if exists #ClientiChiaveClienteGiustaESbagliataPIVA +drop table if exists #ClientiChiaveSbagliataPIVA + + + +----Individuo i cf doppi + select rete,codfis,count(*) as numero + into #doppiCF + FROM C6StagingPeriodicoImmobiliare.RP_InfoCliente + where codfis is not null and codfis <> '' + group by rete,codfis + having count(*)>1 + + + --if + + select rete,COD_FISCALE + into #ClientiDoppiInAppoCF + from C6StagingPeriodicoImmobiliare.APPO_CONTRATTI a + where a.rete+a.COD_FISCALE in (select rete+codfis from #doppiCF) + + select rete,codfis + into #ClientiNONInAppoCF + from #doppiCF where rete+codfis not in (select rete+cod_fiscale from #ClientiDoppiInAppoCF) + + delete from C6StagingPeriodicoImmobiliare.RP_InfoCliente where rete+codFis in (select rete+codfis from #ClientiNONInAppoCF) + + --else + + select distinct appo.rete,appo.COD_FISCALE,appo.chiaveclientepb + into #ClientiChiaveClienteGiustaCF + from C6StagingPeriodicoImmobiliare.RP_InfoCliente info inner join + C6StagingPeriodicoImmobiliare.appo_contratti appo on info.rete = appo.rete and info.codfis=appo.cod_fiscale +where info.rete + info.codfis in (select rete+cod_fiscale from #ClientiDoppiInAppoCF) + + +select rete,codfis,chiaveClientePB + into #ClientiChiaveClienteGiustaESbagliataCF +FROM C6StagingPeriodicoImmobiliare.RP_InfoCliente +where rete+codfis in (select rete+cod_fiscale from #ClientiChiaveClienteGiustaCF) + +--select * from #ClientiChiaveClienteGiustaESbagliataCF order by codfis + +select rete,codfis,chiaveclientePB +into #ClientiChiaveSbagliataCF +from #ClientiChiaveClienteGiustaESbagliataCF where +rete+codFis in (select rete+cod_fiscale from #ClientiChiaveClienteGiustaCF) +and chiaveClientePB not in (select chiaveClientePB from #ClientiChiaveClienteGiustaCF) + +--create table #ClientiChiaveSbagliataCF( +--rete char(1), +--codfis varchar(16), +--chiaveClientePB int) + +--insert into #ClientiChiaveSbagliataCF +-- SELECT * FROM #ClientiChiaveClienteGiustaESbagliataCF +-- EXCEPT +-- SELECT * FROM #ClientiChiaveClienteGiustaCF + +-- select * from #ClientiChiaveSbagliataCF + +delete from C6StagingPeriodicoImmobiliare.RP_InfoCliente +where rete+codfis+cast(chiaveClientePB as varchar) in (select rete+codfis+cast(chiaveClientePB as varchar) from #ClientiChiaveSbagliataCF) + +--select * from C6StagingPeriodicoImmobiliare.RP_InfoCliente +--where rete+codfis+chiaveClientePB in (select rete+codfis+chiaveClientePB from #ClientiChiaveClienteGiustaCF) + + + +----------------------------------------------------------------- + + +--Individuo le PIVA doppie + select rete,piva,count(*) as numero + into #doppiPIVA + FROM C6StagingPeriodicoImmobiliare.RP_InfoCliente + where isnull(codman,'')= '' + and piva is not null and piva <> '' + group by rete,piva + having count(*)>1 + +-- select * from #doppiPIVA where piva in ( +-- '02477630582', +--'05267780962') + + --if + + select rete,COD_FISCALE + into #ClientiDoppiInAppoPIVA + from C6StagingPeriodicoImmobiliare.APPO_CONTRATTI a + where a.rete+a.COD_FISCALE in (select rete+piva from #doppiPIVA) + + select rete,piva + into #ClientiNONInAppoPIVA + from # diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_CONSULENZA.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_CONSULENZA.sql new file mode 100644 index 00000000..fb2da29a --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_CONSULENZA.sql @@ -0,0 +1,122 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_CONSULENZA + + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_CONSULENZA] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CONSULENZA', + GETDATE(), + 'Staging Immobiliare' + ) + +TRUNCATE TABLE C6StagingPeriodicoImmobiliare.[RP_CONSULENZA] + +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,PosPor.conto + ,PosPor.rubricato + ,PosPor.codConf + ,PosPor.numPolizza + ,PosPor.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,POSITION_ID = '' + ,termId + ,anno + ,prog + ,orizzonteTemporale + INTO #ConsulenzaPianificazione +FROM + C6StagingPeriodicoImmobiliare.RP_Pianificazione AS pian + INNER JOIN C6StagingPeriodicoImmobiliare.RP_Progetto AS pro + ON pian.chiaveConsulenza = pro.chiaveConsulenza + INNER JOIN C6StagingPeriodicoImmobiliare.RP_ProgettiPiramideModello pirmod + ON pro.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6StagingPeriodicoImmobiliare.RP_PosizioniPortafoglio AS pospor + ON pro.chiaveProgetto = pospor.chiaveProgetto + INNER JOIN C6StagingPeriodicoImmobiliare.RP_DettaglioPosizionePortafoglio AS dettposport + ON pospor.chiavePosizionePtf = dettposport.chiavePosizionePtf + INNER JOIN C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti AS catprod + ON pospor.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6StagingPeriodicoImmobiliare.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport contr + ON pian.chiaveClientePB = contr.chiaveClientePB + + + WHERE + pospor.dtFineValidita > getdate() + AND pro.dtfinevalidita='99991231' + AND pirmod.dtfinevalidita='99991231' + --AND INVIOBENVENUTO = 'N' + + +--ricerco dati da Migrazione +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + --,mig.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,promig.chiaveProgetto + ,promig.area + ,promig.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,MigPos.conto + ,MigPos.rubricato + ,MigPos.codConf + ,MigPos.numPolizza + ,MigPos.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,POSITION_ID = '' + ,migpos.termId + ,migpos.anno + ,migpos.prog + ,null as orizzonteTemporale +INTO #ConsulenzaMigrazione +FROM + C6StagingPeriodicoImmobiliare.RP_Migraz_Pianificazione AS mig + INNER JOIN C6StagingPeriodicoImmobiliare.RP_Migraz_Progetto AS promig + ON mig.chiaveconsulenza = promig.chiaveconsulenza + INNER JOIN C6StagingPeriodicoImmobiliare.RP_ProgettiPiramideModello pirmod + ON promig.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6StagingPeriodicoImmobiliare.RP_Migraz_Posizioni AS migpos + ON promig.chiaveprogetto = migpos.chiaveprogetto + INNER JOIN C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti AS catprod + ON migpos.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6StagingPeriodicoImmobiliare.RP_AnEmittente emit diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_CREA_POSITIONID.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_CREA_POSITIONID.sql new file mode 100644 index 00000000..26cbd50e --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_CREA_POSITIONID.sql @@ -0,0 +1,116 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_CREA_POSITIONID + + + + + + + + +-- +--select * from C6StagingPeriodicoImmobiliare.spb_contr_sintesi +--where positionId is null + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_CREA_POSITIONID] +AS +BEGIN + + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_1', + GETDATE(), + 'Staging Immobiliare' + ) + + --******************************************************************************************** +--select * from C6StagingPeriodicoImmobiliare.rp_catalogoprodotti + +-- FC 05052014 +-- Interventi : + -- Eliminata ( commentata ) where condition spb.positionid is null + -- Eliminato ( commentato ) ciclo While @Visible + +update C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI +set positionid = null + + declare @visible int + set @visible = 1 +-- while @visible >= 0 +-- begin + + update C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI + set positionid = catalogueid + FROM + C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI SPB inner join + ( + select * from C6StagingPeriodicoImmobiliare.rp_catalogoprodotti where visibilita = @visible + )CAT + on + --caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192','V301','V302') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161213 + --and spb.CODINT not in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + --and spb.CODINT not in ('RS','RB','RM','RV','RE') + and spb.CODINT not in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --fine INTERVENTO 'RF/MP' - 20171204 +--fine INTERVENTO 'RE' - 20161213 + +--fine intervento MIGRAZIONE ASU3 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) +--inizio intervento MIGRAZIONE ASU3 + or + --caso 1a +--inizio INTERVENTO 'RE' - 20161213 + --(spb.CODINT in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + -- (spb.CODINT in ('RS','RB','RM','RV','RE') + + (spb.CODINT in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --fine INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 + + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +--fine intervento MIGRAZIONE ASU3 + or + --else caso 1b + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192','V301','V302') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and cat.TIPOPRODOTTO = SPB.TipProd + ) + or + --caso 2 +-- (SPB.TipProd in ('ASU2') + (SPB.TipProd in ('ASU2','GP') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end + ) + or + --caso 3 + (SPB.TipProd in ('DT','ASD') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + ) + or + --caso 4 + (SPB.TipProd in ('GES') + and isnu diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_CatalogoProdotti.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_CatalogoProdotti.sql new file mode 100644 index 00000000..fedd514d --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_CatalogoProdotti.sql @@ -0,0 +1,147 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_CatalogoProdotti + + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_CatalogoProdotti] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti', + GETDATE(), + 'Staging Immobiliare' + ) +--drop table C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti + truncate table C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti + +INSERT INTO [C6StagingPeriodicoImmobiliare].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_ChiaviMonitoraggio.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_ChiaviMonitoraggio.sql new file mode 100644 index 00000000..085b0c8a --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_ChiaviMonitoraggio.sql @@ -0,0 +1,59 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_ChiaviMonitoraggio + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_ChiaviMonitoraggio] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ChiaviMonitoraggio', + GETDATE(), + 'Staging Immobiliare' + ) + truncate table C6StagingPeriodicoImmobiliare.[RP_ChiaviMonitoraggio] +INSERT INTO [C6StagingPeriodicoImmobiliare].[RP_ChiaviMonitoraggio] + ( + [IdMonitoraggio], + [ChiaveProgetto], + [DtCreazione], + [stato], + [dtFineMonitoraggio], + [flagVisualizzaStor] + ) + select * + + from [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.ChiaviMonitoraggio + --filtro per non prendere le righe duplicate + WHERE stato = 1 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ChiaviMonitoraggio' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_ChiaviMonitoraggio' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_DettAltriProdotti.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_DettAltriProdotti.sql new file mode 100644 index 00000000..096fe0ff --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_DettAltriProdotti.sql @@ -0,0 +1,72 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_DettAltriProdotti + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_DettAltriProdotti] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettAltriProdotti', + GETDATE(), + 'Staging Immobiliare' + ) + + truncate table C6StagingPeriodicoImmobiliare.RP_DettAltriProdotti + + insert into C6StagingPeriodicoImmobiliare.RP_DettAltriProdotti + + + /* 21/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non pi utilizzati per l'evolutiva patrimonio immobiliare. + select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.DettAltriProdotti + */ + select [chiaveProdottoTerzi], + [idTipoExtra], + [descrizione], + NULL, + [valoreStimato], + NULL, + NULL, + NULL, + [flagAssicurativo], + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettAltriProdotti + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettAltriProdotti' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_DettAltriProdotti' + ) + +end + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_DettImmobiliare.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_DettImmobiliare.sql new file mode 100644 index 00000000..f2700ef9 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_DettImmobiliare.sql @@ -0,0 +1,84 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_DettImmobiliare + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_DettImmobiliare] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettImmobiliare', + GETDATE(), + 'Staging Immobiliare' + ) + + truncate table C6StagingPeriodicoImmobiliare.RP_DettImmobiliare + + insert into C6StagingPeriodicoImmobiliare.RP_DettImmobiliare + + /* 21/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non pi utilizzati. + Sostituzione del campo valore immobile con valoreimmobiletotale per l'evolutiva patrimonio immobiliare. + select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.DettImmobiliare*/ + + select + [chiaveProdottoTerzi], + [descrizione], + [codProvincia], + [provincia], + [codComune], + [comune], + [codZona], + [zona], + [superficie], + NULL, + NULL, + NULL, + --[valoreImmobile], + [valoreImmobileTotale], + NULL, + [renditaAnnua], + NULL, + NULL, + NULL, + NULL, + NULL, + [codTipologia], + [tipologia] + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettImmobiliare + + + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettImmobiliare' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_DettImmobiliare' + ) + +end + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_DettPatrAziendale.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_DettPatrAziendale.sql new file mode 100644 index 00000000..e36d0545 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_DettPatrAziendale.sql @@ -0,0 +1,75 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_DettPatrAziendale + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_DettPatrAziendale] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettPatrAziendale', + GETDATE(), + 'Staging Immobiliare' + ) + + truncate table C6StagingPeriodicoImmobiliare.RP_DettPatrAziendale + + insert into C6StagingPeriodicoImmobiliare.RP_DettPatrAziendale + + + +/* 20/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non pi utilizzati per l'evolutiva patrimonio immobiliare. +select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.DettPatrAziendale */ + select [chiaveProdottoTerzi], + NULL, + [denominazione], + [codTipoCompagnia], + [patrimonio], + NULL, + NULL, + NULL, + [idTipoAzienda], + NULL, + NULL, + [numQuote], + [valoreStimato], + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettPatrAziendale + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettPatrAziendale' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_DettPatrAziendale' + ) + +end + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_DettProdottiTerzi.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_DettProdottiTerzi.sql new file mode 100644 index 00000000..ee4321d9 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_DettProdottiTerzi.sql @@ -0,0 +1,88 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_DettProdottiTerzi + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_DettProdottiTerzi] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettProdottiTerzi', + GETDATE(), + 'Staging Immobiliare' + ) + + truncate table C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi + +--drop table C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi +--select * into C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi from [CONSEVO].[consulenzaEvoluta].dbo.DettProdottiTerzi + + insert into C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi + select +chiaveProdottoTerzi, +idIntermediario, +alberatura, +nomeIntermediario, +dtInizioInvest, +totVersato, +totPrelevato, +valutaTotPrelevato, +chiaveProdotto, +numQuote, +divQuoteProd, +dtSottoscrizione, +valutaPremioVers, +tipoPolizza, +tipoVersamento, +tipoFormaPensionistica, +capitaleInvestito, +valutaCapInvestito, +contoPrincipale, +addebitoUtenze, +accreditoStipPens, +cartaCredito, +addebitoMutuo, +isin, +lineaFinanziaria, +fabbisognoPrev, +dtDecorrenza, +modalitaUso, +ctvUltimaPrestNota, +dtUltimaPrestNota, +flgPrestazioneScad, +dtTermineVers, +dtUltimoPremioNoto, +nomeCompagnia, +valutaCtvUltPrestNota +from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettProdottiTerzi + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettProdottiTerzi' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_DettProdottiTerzi' + ) + +end + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_DettaglioPosizionePortafoglio.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_DettaglioPosizionePortafoglio.sql new file mode 100644 index 00000000..d419c3d2 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_DettaglioPosizionePortafoglio.sql @@ -0,0 +1,75 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_DettaglioPosizionePortafoglio + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_DettaglioPosizionePortafoglio] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettaglioPosizionePortafoglio', + GETDATE(), + 'Staging Immobiliare' + ) + + truncate table C6StagingPeriodicoImmobiliare.RP_DettaglioPosizionePortafoglio + + insert into C6StagingPeriodicoImmobiliare.RP_DettaglioPosizionePortafoglio ( + + [chiavePosizionePtf] + ,[ctv] + ,[rischioCredito] + ,[rischioMercato] + ,[copertura] + ,[isAttivoRC] + ,[ctvNonAllocabile] + ,[quantitaNominale] + ,[partitaViaggiante] + ,[ctvOut] + ,[ctvIni] + ,[dtSaldo] + ) + select + [chiavePosizionePtf], + [ctv], + null as [rischioCredito], --- Da verificare + null as [rischioMercato], + [copertura], + null as [isAttivoRC], --- Da verificare + [ctvNonAllocabile], + [quantitaNominale], + [partitaViaggiante], + [ctvOut], + [ctvIni], + [dtSaldo] + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioPosizionePortafoglio + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettaglioPosizionePortafoglio' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_DettaglioPosizionePortafoglio' + ) + +end + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_InfoCliente.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_InfoCliente.sql new file mode 100644 index 00000000..47ef56e2 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_InfoCliente.sql @@ -0,0 +1,104 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_InfoCliente + + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_InfoCliente] +AS + +BEGIN + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_InfoCliente', + GETDATE(), + 'Elaborazione Trimestrale Immobiliare' + ) + + truncate table C6StagingPeriodicoImmobiliare.RP_InfoCliente + + insert into C6StagingPeriodicoImmobiliare.RP_InfoCliente + --select * into C6StagingPeriodicoImmobiliare.RP_Cliente from [CONSEVO].consulenzaUnica.dbo.Cliente + select + [chiaveClientePB] + ,[chiaveCliente] + ,[codFis] + ,[pIva] + ,[codMan] + ,[NomeCliente] + --,[CognomeCliente] + ,SUBSTRING([CognomeCliente], 1, 50) -- TOPPA INSERITA PERCH MODIFCA NON COMUNICATA A REPORTISTA BATCH per errore staging_f1_main in data 08/07/2015 + ,[tipologia] + ,[dtScadQuest] + ,[profilo] + ,[dtQuestionario] + ,[frequenza] + ,[Agente] + ,[NomePb] + ,[CognomePb] + ,[StatoPb] + ,[rete] + ,[codiceContratto] + ,[StatoContratto] + ,[dtFirmaBase] + ,[dtEndBase] + ,[dtFirmaSei] + ,[dtEndSei] + ,[rendicSemestrale] + ,[dtNascita] + ,[sesso] + ,[TipContratto] + ,[ModPagamento] + ,[chiavePB] + ,[flagrol] + from [CONSUNI_PERIODICO].consulenzaUnica.dbo.vInfoCliente + --EN20160428: clienti di tipologia catastali non sono presenti sul sistema + -- sistema SEI e quindi da escludere ma quelli con tipologia NULL + -- son da includere. (senza modifica per FF@9133 non viene caricata l'anagrafica) + --where tipologia != 'c' + where ISNULL(tipologia,'') != 'c' + + ----------- Modifica del 15/9/2017 per escluedere i seguenti cf doppi senza toccare il db del congelato + --chiaveClientePB(giusta) COD_FISCALE COD_MANDATO PIVA_FIDUCIARIA COD_AGENTE rete codiceContratto + --615359 BRDRRT69R21L378Q 005861 S 503566CO806 + --1667717 CSTPLA70M67F952U 006473 S 621961CO810 + --674782 CHRGLL44C55Z112E NULL 006302 S 696334CO810 + ---- da escludere perch doppi sulla cliente + --chiaveClientePB chiaveCliente codFis + --1830328 1648328 BRDRRT69R21L378Q + --1830432 1452802 CSTPLA70M67F952U NULL NULL PAOLA + --1818279 1636055 CHRGLL44C55Z112E NULL GISELA ELISABETH WILHELMI + --EN20171031 -- ricodifica da cf CHRGSL44C55Z112M in CHRGLL44C55Z112E effettuqto con successo e l'esclusione eliminata + --and [chiaveClientePB] not in (1830328,1830432,1818279) + and [chiaveClientePB] not in (1830328,1830432) + + ----------- FINE Modifica del 15/9/2017 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_InfoCliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_InfoCliente' + ) + +END + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Mappatura.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Mappatura.sql new file mode 100644 index 00000000..e2c9c514 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Mappatura.sql @@ -0,0 +1,51 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_Mappatura + + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_Mappatura] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Mappatura', + GETDATE(), + 'Staging Immobiliare' + ) + + truncate table C6StagingPeriodicoImmobiliare.RP_Mappatura + + insert into C6StagingPeriodicoImmobiliare.RP_Mappatura + + select * from [CONSUNI].CatalogoProdotti.dbo.Mappatura + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Mappatura' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_Mappatura' + ) + +end + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_MappaturaPT.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_MappaturaPT.sql new file mode 100644 index 00000000..30708e56 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_MappaturaPT.sql @@ -0,0 +1,49 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_MappaturaPT + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_MappaturaPT] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_MappaturaPT', + GETDATE(), + 'Staging Immobiliare' + ) + + truncate table C6StagingPeriodicoImmobiliare.RP_MappaturaPT + + insert into C6StagingPeriodicoImmobiliare.RP_MappaturaPT + --select * into C6StagingPeriodicoImmobiliare.RP_MappaturaPT from [CONSEVO].[consulenzaUnica].dbo.MappaturaPT + select * from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.MappaturaPT + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_MappaturaPT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_MappaturaPT' + ) + +end + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Pianificazione.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Pianificazione.sql new file mode 100644 index 00000000..476c9cd4 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Pianificazione.sql @@ -0,0 +1,124 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_Migraz_Pianificazione + + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_Migraz_Pianificazione] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Pianificazione', + GETDATE(), + 'Staging Immobiliare' + ) + + truncate table C6StagingPeriodicoImmobiliare.RP_Migraz_Pianificazione + + insert into C6StagingPeriodicoImmobiliare.RP_Migraz_Pianificazione ( + chiaveConsulenza + ,chiaveClientePB + ,dtUltimoAggiornamento + ,risorseFinanziarieBF + ,risorseFinanziarieTerzi + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,diversificazione + ,copertura + ,isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,token + ,lineaself + ) + SELECT + chiaveConsulenza + ,pian.chiaveClientePB + ,pian.dtAggiornamento + ,null as risorseFinanziarieBF + ,null as risorseFinanziarieTerzi + ,null as contoCorrente + ,case when (rischioCreditoDecodificatoRisAll like '%n.a.%') or (rischioCreditoDecodificatoRisAll like '%n.c.%') + or (rischioCreditoDecodificatoRisAll like '%classe%') then null else rischioCreditoDecodificatoRisAll end as rischioMercato + ,null as rischioCredito + ,coperturaRFA as diversificazione + ,coperturaRisAll as copertura + ,null as isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,tok.value as Token + ,null AS lineaself + +FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.Pianificazione pian +left join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.token tok +on pian.chiaveToken = tok.chiavetoken +inner join [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.eventiCliente ev +on ev.chiaveclientePb = pian.chiaveclientepb +where ev.flagPianificazione = 0 + + + + +/* POPOLO RISORSE FINANZIARIE BF */ + + +SELECT SUM(dett.ctv) as RisorseFinanziareBF,pian.chiaveclientePB +into #APPO + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Pianificazione pian + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveconsulenza = pian.chiaveconsulenza + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + group by pian.chiaveclientePB + + + UPDATE C6StagingPeriodicoImmobiliare.RP_Pianificazione + SET risorseFinanziarieBF = a.RisorseFinanziareBF + from #APPO a + inner join C6StagingPeriodicoImmobiliare.RP_Pianificazione rpPian + on rpPian.chiaveclientePB = a.chiaveClientePB + + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Pianificazione' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_Migraz_Pianificazione' + ) + +end + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Posizioni.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Posizioni.sql new file mode 100644 index 00000000..d0163439 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Posizioni.sql @@ -0,0 +1,94 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_Migraz_Posizioni + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_Migraz_Posizioni] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Posizioni', + GETDATE(), + 'Staging Immobiliare' + ) + + truncate table C6StagingPeriodicoImmobiliare.RP_Migraz_Posizioni + + insert into C6StagingPeriodicoImmobiliare.RP_Migraz_Posizioni +SELECT + ptf.[chiavePosizioneptf] + ,[chiaveProgetto] + ,[chiaveProdotto] + ,ptf.[dtInizioValidita] + ,'99991231' as dtFineValidita + ,[conto] + ,[rubricato] + ,[codConf] + ,[numPolizza] + ,[custGar] + ,[codAbi] + ,[termId] + ,[anno] + ,[prog] + ,null as Ctv + FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.PosizioniPortafoglio ptf + + + select sum(ctv) as Ctv,chiaveprodotto,pospor.chiaveposizionePtf,pospor.chiaveprogetto,codconf + into #appo + from [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.PosizioniPortafoglio pospor + inner join [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.dettaglioPosizionePortafoglio dett + on pospor.chiavePosizionePtf = dett.chiaveposizionePtf + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + on prog.chiaveprogetto = pospor.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Pianificazione pian + on a.chiaveconsulenza = pian.chiaveconsulenza + + group by pospor.chiavePosizionePtf,pospor.chiaveprogetto,pospor.chiaveprodotto,codconf + + + + UPDATE C6StagingPeriodicoImmobiliare.RP_Migraz_Posizioni + SET Ctv = a.Ctv + from #APPO a + inner join C6StagingPeriodicoImmobiliare.RP_Migraz_Posizioni migraz + on migraz.chiavePosizione = a.chiavePosizionePtf + and migraz.chiaveprogetto = a.chiaveProgetto + and migraz.chiaveprodotto = a.chiaveprodotto + and migraz.codconf = a.codconf + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Posizioni' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_Migraz_Posizioni' + ) + +end + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Progetto.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Progetto.sql new file mode 100644 index 00000000..9ec2b855 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Progetto.sql @@ -0,0 +1,94 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_Migraz_Progetto + + + + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_Migraz_Progetto] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Progetto', + GETDATE(), + 'Staging Immobiliare' + ) + + truncate table C6StagingPeriodicoImmobiliare.RP_Migraz_Progetto + + insert into C6StagingPeriodicoImmobiliare.RP_Migraz_Progetto( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,varProgetto + ,coperturaProgetto + ,ctvProgetto + ,chiaveProgettoMod ) + + + select + prog.chiaveProgetto + -------------------------> modifica del 18/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non pi distinta tra pre1 e pre2 + --,a.area + ,CASE + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + -------------------------> fine modifica del 16/1/2017 + else a.area END AS area + -------------------------> FINE modifica del 18/1/2017 + ,chiaveConsulenza + ,null as tipoProgetto -- NUOVO 16/09 + ,null as dtCreazione + ,null as varProgetto + ,coperturaProgetto + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_Migraz_Progetto' + ) + +end + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_NeedArea.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_NeedArea.sql new file mode 100644 index 00000000..0d238725 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_NeedArea.sql @@ -0,0 +1,52 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_NeedArea + + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_NeedArea] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_NeedArea', + GETDATE(), + 'Staging Immobiliare' + ) + + truncate table C6StagingPeriodicoImmobiliare.RP_NeedArea + + insert into C6StagingPeriodicoImmobiliare.RP_NeedArea + /* 20161222 */ + --select * from [CONSEVO].[CatalogoProdotti].dbo.NeedArea + select * from [CONSUNI].[CatalogoProdotti].dbo.NeedArea + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_NeedArea' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_NeedArea' + ) + +end + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_PROGETTICLIENTE.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_PROGETTICLIENTE.sql new file mode 100644 index 00000000..70c55f93 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_PROGETTICLIENTE.sql @@ -0,0 +1,106 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_PROGETTICLIENTE + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_PROGETTICLIENTE] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PROGETTICLIENTE', + GETDATE(), + 'Staging Immobiliare' + ) + +TRUNCATE TABLE C6StagingPeriodicoImmobiliare.[RP_PROGETTICLIENTE] + +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto + +INTO #ProgettiPianificazione +FROM + C6StagingPeriodicoImmobiliare.RP_Pianificazione AS pian + INNER JOIN C6StagingPeriodicoImmobiliare.RP_Progetto AS pro + ON pian.chiaveconsulenza = pro.chiaveconsulenza + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON pian.chiaveClientePB = contr.chiaveClientePB + WHERE + (pro.dtfinevalidita='99991231' or pro.dtfinevalidita is null) + + + +--ricerco dati da Migrazione +SELECT + contr.chiaveClientePB + ,contr.rete + ,contr.cod_fiscale + ,promig.chiaveProgetto + ,promig.area + ,promig.tipoProgetto + +INTO #ProgettiMigrazione +FROM + C6StagingPeriodicoImmobiliare.RP_Migraz_Pianificazione AS mig + INNER JOIN C6StagingPeriodicoImmobiliare.RP_Migraz_Progetto AS promig + ON mig.chiaveconsulenza = promig.chiaveconsulenza + LEFT JOIN #ProgettiPianificazione tc + ON mig.chiaveClientePB = tc.chiaveClientePB + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON mig.chiaveClientePB = contr.chiaveClientePB + WHERE + tc.chiaveClientePB IS NULL + +INSERT INTO C6StagingPeriodicoImmobiliare.RP_PROGETTICLIENTE + SELECT * FROM #ProgettiPianificazione + UNION + SELECT * FROM #ProgettiMigrazione + + + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PROGETTICLIENTE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_PROGETTICLIENTE' + ) + + + + + +END + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_PatrimonioTerzi.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_PatrimonioTerzi.sql new file mode 100644 index 00000000..04edcdaf --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_PatrimonioTerzi.sql @@ -0,0 +1,68 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_PatrimonioTerzi + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_PatrimonioTerzi] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PatrimonioTerzi', + GETDATE(), + 'Staging Immobiliare' + ) + + truncate table C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi + + +/* 20/05/2015FCianfa e LM: aggiunta della where condition e valorizzazione a NULL di campi non pi utilizzati per l'evolutiva patrimonio immobiliare. +*/ + insert into C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi + SELECT [chiaveProdottoTerzi] + ,[chiaveClientePB] + ,[idTipoProdotto] + ,[nomeProdotto] + ,NULL + ,[valutaCtv] + ,[ctv] + ,NULL + ,[dataCtv] + ,[prezzoMedioCarico] + ,[tipoProd] + ,[dtFine] + ,[divisa] + ,[ultimoPrezzo] + + + FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].[dbo].[PatrimonioTerzi] + where dtFineValidita >getdate() + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PatrimonioTerzi' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_PatrimonioTerzi' + ) + +end + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Pianificazione.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Pianificazione.sql new file mode 100644 index 00000000..c880cfc4 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Pianificazione.sql @@ -0,0 +1,134 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_Pianificazione + + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_Pianificazione] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Pianificazione', + GETDATE(), + 'Staging Immobiliare' + ) + + truncate table C6StagingPeriodicoImmobiliare.RP_Pianificazione + + insert into C6StagingPeriodicoImmobiliare.RP_Pianificazione ( + + chiaveConsulenza + ,chiaveClientePB + ,dtUltimoAggiornamento + ,risorseFinanziarieBF + ,risorseFinanziarieTerzi + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,diversificazione + ,copertura + ,isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,dtPianificazioneOrizzontale + ,dtPianificazioneVerticale + ,token + ,varRisorseAllocate + ,coperturaRisorseAllocate + ,lineaself + ) + + + SELECT + chiaveConsulenza + ,pian.chiaveClientePB + ,pian.dtAggiornamento as dtUltimoAggiornamento + ,Null as risorseFinanziarieBF + ,Null as risorseFinanziarieTerzi + ,Null as contoCorrente + ,null as rischioCredito + ,case when (rischioCreditoDecodificatoRisAll like '%n.a.%') or (rischioCreditoDecodificatoRisAll like '%n.c.%') + or (rischioCreditoDecodificatoRisAll like '%classe%') then null else rischioCreditoDecodificatoRisAll end as rischioMercato + --rischioCreditoDecodificatoRFA as rischioCredito + ,coperturaRFA as diversificazione + ,coperturaRisAll as copertura + ,null as isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,dtPianificazioneOrizzontale + ,dtPianificazioneVerticale + ,tok.value as Token + ,null as varRisorseAllocate + ,coperturaRisorseAllocate + ,null AS lineaself +FROM [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Pianificazione pian +--------------------- modifica del 13/1/2017 (inner join cambiata con left) +left join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.token tok +--------------------- fine modifica del 13/1/2017 (inner join cambiata con left) +on pian.chiaveToken = tok.chiavetoken +inner join [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.eventiCliente ev +on ev.chiaveclientePb = pian.chiaveclientepb +--------------------- modifica del 13/1/2017 (flag pianificazione non pi gestito; tutti pianificati) +--where ev.flagPianificazione = 1 +--------------------- fine modifica del 13/1/2017 + + +/* POPOLO RISORSE FINANZIARIE BF */ + + +SELECT SUM(dett.ctv) as RisorseFinanziareBF,pian.chiaveclientePB +into #APPO + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Pianificazione pian + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveconsulenza = pian.chiaveconsulenza + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + group by pian.chiaveclientePB + + + UPDATE C6StagingPeriodicoImmobiliare.RP_Pianificazione + SET risorseFinanziarieBF = a.RisorseFinanziareBF + from #APPO a + inner join C6StagingPeriodicoImmobiliare.RP_Pianificazione rpPian + on rpPian.chiaveclientePB = a.chiaveClientePB + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Pianificazione' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_Pianificazione' + ) + +end + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_PosizioniPortafoglio.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_PosizioniPortafoglio.sql new file mode 100644 index 00000000..d8faaaf7 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_PosizioniPortafoglio.sql @@ -0,0 +1,64 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_PosizioniPortafoglio + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_PosizioniPortafoglio] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PosizioniPortafoglio', + GETDATE(), + 'Staging Immobiliare' + ) + + truncate table C6StagingPeriodicoImmobiliare.RP_PosizioniPortafoglio + + insert into C6StagingPeriodicoImmobiliare.RP_PosizioniPortafoglio + + select +chiavePosizionePtf, +chiaveProgetto, +dtInizioValidita, +'99991231' as[dtFineValidita], +chiaveProdotto, +conto, +rubricato, +codConf, +numPolizza, +custGar, +codAbi, +termId, +anno, +prog + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniPortafoglio + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PosizioniPortafoglio' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_PosizioniPortafoglio' + ) + +end + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_ProgettiPiramideModello.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_ProgettiPiramideModello.sql new file mode 100644 index 00000000..5a518054 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_ProgettiPiramideModello.sql @@ -0,0 +1,118 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_ProgettiPiramideModello + + + + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_ProgettiPiramideModello] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ProgettiPiramideModello', + GETDATE(), + 'Staging IMMOBILIARE' + ) + + --INSERT INTO C6MARTPERIODICO.TEST_QUALITY + --SELECT DISTINCT + -- d.rete, + --case when(isnull(ltrim(rtrim(codman)),'') <> '') then 'FF@'+codman + -- when (isnull(codfis,'') <> '') then codfis + -- else c.piva + --end as Cod_fiscale, + -- 'SCARTO PER PIRAMIDE MODELLO tipoprogetto > 1' AS MOTIVO + --FROM [CONSUNI_PERIODICO].[consulenzaunica].dbo.Contratto a + --JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.ClientePB b + -- ON b.chiaveClientePB = a.chiaveClientePB + -- AND a.status in ('SEI','AVANZATOBASE','REVOCASEI') + --JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.Cliente c + -- ON b.chiaveCliente = c.chiaveCliente + --JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.PromotoreBancario d + -- ON b.chiavePB = d.chiavePB + --WHERE + -- A.chiaveclientepb in ( + -- select distinct chiaveclientepb + -- FROM + -- ( + -- --SELECT chiaveclientepb,area,tipoprogetto,COUNT(*) as c FROM + -- --[CONSUNI_PERIODICO].[consulenzaEvoluta].dbo.ProgettiPiramideModello + -- --where tipoprogetto =0 and area <> 'na' and isnull(dtFineValidita,'99991231')>GETDATE() + -- --group by chiaveclientepb,area,tipoprogetto + -- --having COUNT(*)<>1 + -- SELECT chiaveclientepb,area,COUNT(*) as c + -- FROM [CONSUNI_PERIODICO].consulenzaunica.dbo.piramidemodello pirmod + -- inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.areamodello areamod + -- on pirmod.chiavePiramideMod = areamod.chiaveAreaMod + -- inner join [CONSUNI_PERIODICO].[consulenzaunica].dbo.ProgettiPiramideModello progmod + -- on progmod.chiaveAreaMod = areamod.chiaveAreaMod + -- where area <> 'na' + -- group by chiaveclientepb,area + -- having COUNT(*)<>1 + + -- ) t + --) + + --drop table C6StagingPeriodicoImmobiliare.RP_ProgettiPiramideModello + truncate table C6StagingPeriodicoImmobiliare.RP_ProgettiPiramideModello + + + + + insert into C6StagingPeriodicoImmobiliare.RP_ProgettiPiramideModello + +select + prog.chiaveProgettoMod + ,pian.chiaveClientePB + -------------------------> modifica del 18/1/2017 per correggere le anomalie dovute al nome area 'pre1'e 'pre2' + --,am.area + ,CASE + WHEN pirMod.nomeProgetto = 'Previdenza Essenziale' and am.area = 'Pre' THEN 'Pre1' + WHEN pirMod.nomeProgetto = 'Previdenza Secondaria' and am.area = 'Pre' THEN 'Pre2' + ELSE AM.AREA + END AS area + -------------------------> fine modifica del 18/1/2017 + ,percentualeProgetto + ,null as tipoProgetto + /* 20161215 imposta per area previdenza il nome progetto a Default */ + --,nomeProgetto + ,case when am.area = 'Pre' + then 'Default' + else nomeProgetto + end AS nomeProgetto + /* 20161215 fine */ + ,[durata] + ,[note] + ,'99991231' as dtFineValidita + ,null as [dtCreazione] + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.ProgettiPiramideModello pirmod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on prog.chiaveprogettoMod = pirmod.chiaveProgettoMod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.AreaModello am + on am.chiaveAreaMod = pirmod.ChiaveAreaMod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + on a.chiaveArea = prog.chiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Pianificazione pian + on pian.chiaveconsulenza = a.chiaveconsulenza + + --update C6StagingPeriodicoImmobiliare.RP_ProgettiPiramideModello set nomeProgetto = null where tipoprogetto = 0 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ProgettiPiramideModello' AND + Inizio = ( + SELECT + MAX(Ini diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Progetto.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Progetto.sql new file mode 100644 index 00000000..5370bc60 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_Progetto.sql @@ -0,0 +1,131 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_Progetto + + + + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_Progetto] as + +BEGIN + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto', + GETDATE(), + 'Staging Immobiliare' + ) + + truncate table C6StagingPeriodicoImmobiliare.RP_Progetto + + insert into C6StagingPeriodicoImmobiliare.RP_Progetto + ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,varProgetto + ,coperturaProgetto + ,profiloProgetto + ,orizzonteTemporale + ,ctvProgetto + ,chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,percProgetto + ,ctvPianificato + ,chiavePtfMod + ,dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset ) + + select + prog.chiaveProgetto + -------------------------> modifica del 13/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non pi distinta tra pre1 e pre2 + --,a.area + ,CASE + -------------------------> modifica del 16/1/2017 per correggere le anomalie dovute al nome progetto 'previdenza' sulle aree inv + --WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' THEN 'Pre1' + --WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' THEN 'Pre2' + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + -------------------------> fine modifica del 16/1/2017 + else a.area END AS area + -------------------------> FINE modifica del 13/1/2017 + ,chiaveConsulenza + ,null as tipoProgetto -- NULL 16/09 + ,propirMod.dtInizioValidita as dtCreazione + ,prog.dtaggiornamento as dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,Null as varProgetto + ,coperturaProgetto + ,null as profiloProgetto + /* 20170117 durata > 9 anni */ + ,SUBSTRING (propirMod.durata,1,2) as orizzonteTemporale + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,null as percProgetto + ,ctvPianificato + ,chiavePtfMod + ,'99991231' as dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset + + ------------------> MODIFICA DEL 17/1/2017 -- SI DEVE PUNTARE AL CONGELATO E NON ALL'ONLINE + --from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + --inner join CONSUNI.ConsulenzaUnica.dbo.area a + --on a.chiaveArea = prog.chiavearea + --inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + --on propirMod.chiaveprogettomod = prog.chiaveprogettomod + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + ------------------> fine MODIFICA DEL 17/1/2017 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_Progetto' + ) + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto_2', + GETDATE(), + 'Staging Immobiliare' + ) + + ------------------> MODIFICA DEL 06/11/2017 -- inzio -- durata progetto da PortafoglioModello.orizzontetemporale + select prog.chiaveprogettomod , pm.orizzonteTemporale + into #temp_orizzonteTemporale_ok + from C6StagingPeriodicoImmobiliare.RP_Progetto prog + inner join [consuni_periodico].consulenzauni diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql new file mode 100644 index 00000000..f7396255 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql @@ -0,0 +1,51 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_REP_ASSET_1_E_2_ORDINATE + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_REP_ASSET_1_E_2_ORDINATE] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_REP_ASSET_1_E_2_ORDINATE', + GETDATE(), + 'Staging Immobiliare' + ) + --drop table C6StagingPeriodicoImmobiliare.RP_REP_ASSET_1_E_2_ORDINATE + truncate table C6StagingPeriodicoImmobiliare.RP_REP_ASSET_1_E_2_ORDINATE + + insert into C6StagingPeriodicoImmobiliare.RP_REP_ASSET_1_E_2_ORDINATE + + select * + --into C6StagingPeriodicoImmobiliare.RP_REP_ASSET_1_E_2_ORDINATE + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.REP_ASSET_1_E_2_ORDINATE + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_REP_ASSET_1_E_2_ORDINATE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_REP_ASSET_1_E_2_ORDINATE' + ) + +end + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql new file mode 100644 index 00000000..57a1297c --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql @@ -0,0 +1,49 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3 + + + + +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3', + GETDATE(), + 'Staging Immobiliare' + ) + + truncate table C6StagingPeriodicoImmobiliare.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + + insert into C6StagingPeriodicoImmobiliare.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + + select * from [CONSUNI_PERIODICO].[consulenzaUnica].[dbo].[REP_S4_S5_S13_TRAD_UNTIL_LIV3] + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3' + ) + +end + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI.sql new file mode 100644 index 00000000..d2aba81d --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI.sql @@ -0,0 +1,139 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_SPB_CONTR_SINTESI + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- Aggiunta GESTIONE Fogli V301 (Colaneri, 31/01/2019) +-- ============================================= +--select count(*) from C6StagingPeriodicoImmobiliare.spb_contr_sintesi +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_SPB_CONTR_SINTESI] +AS +BEGIN + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Mart Immobiliare' + ) + +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + + Declare @dtTrime as decimal; + + Declare @dtTrimePrec as decimal; + + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + + TRUNCATE TABLE [C6StagingPeriodicoImmobiliare].[SPB_CONTR_SINTESI] + + INSERT INTO [C6StagingPeriodicoImmobiliare].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + + --V I KE, KS LI RECUPERO DALLA WSEIUL + diff --git a/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql new file mode 100644 index 00000000..317666bf --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql @@ -0,0 +1,133 @@ +-- Schema: C6StagingPeriodicoImmobiliare +-- Stored Procedure: RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select count(*) from C6StagingPeriodicoImmobiliare.spb_contr_sintesi +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio] +AS +BEGIN + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Staging Immobiliare' + ) + +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = C6MartPeriodicoImmobiliare.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,C6MartPeriodicoImmobiliare.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,C6MartPeriodicoImmobiliare.gettrimestre2(getdate(),0)) ) + + Declare @dtTrime as decimal; + + Declare @dtTrimePrec as decimal; + + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + + TRUNCATE TABLE [C6StagingPeriodicoImmobiliare].[SPB_CONTR_SINTESI] + + INSERT INTO [C6StagingPeriodicoImmobiliare].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SU diff --git a/sql/storedCollaudo/C6StagingPeriodico_AGGIORNA_DATAFINEVALIDITAPROFILO.sql b/sql/storedCollaudo/C6StagingPeriodico_AGGIORNA_DATAFINEVALIDITAPROFILO.sql new file mode 100644 index 00000000..b4802fe7 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_AGGIORNA_DATAFINEVALIDITAPROFILO.sql @@ -0,0 +1,26 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: AGGIORNA_DATAFINEVALIDITAPROFILO + + +-- Questa sp aggiorna la data fine validit del profilo del cliente aggiungendo tre anni alla data di inizio validit +CREATE procedure [C6StagingPeriodico].[AGGIORNA_DATAFINEVALIDITAPROFILO] + +AS +BEGIN + + update a set [DTFINVAL] = + case when [DTINVAL] = 0 then 0 + else CONVERT(VARCHAR(10),dateadd(year,3,convert(datetime,convert(varchar,DTINVAL))),112) end + from + + [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] a + + where dttrim = c6martperiodico.getTrimestre2(getDate(),0) + +END + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_AGGIORNA_TANAB_CTV.sql b/sql/storedCollaudo/C6StagingPeriodico_AGGIORNA_TANAB_CTV.sql new file mode 100644 index 00000000..9a5f0016 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_AGGIORNA_TANAB_CTV.sql @@ -0,0 +1,30 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: AGGIORNA_TANAB_CTV + + +-- Questa sp martella i clienti che risultano disallineati, query in cui ctv = 0 +CREATE procedure [C6StagingPeriodico].[AGGIORNA_TANAB_CTV] + +AS +BEGIN + + declare @dttrim varchar(10) + set @dttrim = c6martperiodico.getTrimestre2(getDate(),0) + update a set a.ctv = 0.00 + from c6stagingperiodico.tanab a + inner join c6stagingperiodico.appo_contratti b + on a.rete=b.rete and a.codfis=b.cod_fiscale + where dtctv <> @dttrim + and dtctv <> '0' + and ctv <> 0 + + + + +END + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_AGGIORNA_WSEIAN_FLAGPERPROF.sql b/sql/storedCollaudo/C6StagingPeriodico_AGGIORNA_WSEIAN_FLAGPERPROF.sql new file mode 100644 index 00000000..7b919852 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_AGGIORNA_WSEIAN_FLAGPERPROF.sql @@ -0,0 +1,22 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: AGGIORNA_WSEIAN_FLAGPERPROF + + +-- Forzatura sulla WSEIAN per i clienti professionali: forzare a 'S' nella WSEIAN i campi CLCOMPL, FLGCONC +CREATE procedure [C6StagingPeriodico].[AGGIORNA_WSEIAN_FLAGPERPROF] + +AS +BEGIN + + update a set CLCOMPL = 'S', FLGCONC = 'S' + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] a + where flgprof = 'S' + and dttrim = c6martperiodico.getTrimestre2(getDate(),0) + +END + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_AggiornaContrattiPretrimestrale.sql b/sql/storedCollaudo/C6StagingPeriodico_AggiornaContrattiPretrimestrale.sql new file mode 100644 index 00000000..2162467b --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_AggiornaContrattiPretrimestrale.sql @@ -0,0 +1,86 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: AggiornaContrattiPretrimestrale + + +CREATE procedure [C6StagingPeriodico].[AggiornaContrattiPretrimestrale] +AS + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'AggiornaContrattiPretrimestrale', + GETDATE(), + 'Elaborazione trimestrale' + ) + +INSERT INTO C6StagingPeriodico.ContrattiPreTrimestrale +SELECT + v.chiaveclientepb, + [Cod_Fiscale], + [Cod_Mandato], + [PIva_Fiduciaria], + [Cod_Agente], + [Rete], + [CodiceContratto], + [FlagROL], + [Indirizzo], + [CAP], + [Citta], + [Provincia], + [Nazione], + [Presso], + [Email], + [Freq_Diagnosi], + [FREQ_MONITORAGGIO], + GENERAZIONEREPORT, + DATA_INIZIOBASE, + DATA_FINEBASE, + DATA_PERF_BASE, + DATA_PERF, + DATA_INZIOAVANZATO, + DATA_FINEAVANZATO, + RIATTIVAZIONE, + m.TIP_CONTRATTO, + TIP_RIATTIVAZIONE, + ClienteMIGRATO, + RISORSENA, + PROFILOATTIVO, + NumSolleciti, + NumRevoche, + Data_ultimoSollecito, + Data_ultimaRevoca, + InvioBenvenuto +FROM + [C6Mart].[vContratti] v + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] m + ON v.chiaveclientepb = m.chiaveclientepb +WHERE rete+cod_fiscale+codicecontratto IN +(SELECT rete+codfis+codcontratto FROM ScartiQuadratura WHERE bloccato = 0 and gestito = 0) + +UPDATE + ScartiQuadratura +SET + gestito = 1 +WHERE + bloccato = 0 and gestito = 0 + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'AggiornaContrattiPretrimestrale' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'AggiornaContrattiPretrimestrale' + ) + diff --git a/sql/storedCollaudo/C6StagingPeriodico_CheckDisallineati.sql b/sql/storedCollaudo/C6StagingPeriodico_CheckDisallineati.sql new file mode 100644 index 00000000..f041fac0 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_CheckDisallineati.sql @@ -0,0 +1,61 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: CheckDisallineati + +CREATE procedure C6StagingPeriodico.CheckDisallineati as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'CheckDisallineati', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + DECLARE @NumRec Int; + Select @NumRec = count(*) from + consevo_periodico.ConsulenzaEvoluta.dbo.Pianificazione pian + INNER JOIN + consevo_periodico.ConsulenzaEvoluta.dbo.Progetto prg + ON prg.chiaveConsulenza=pian.chiaveConsulenza + INNER JOIN + consevo_periodico.ConsulenzaEvoluta.dbo.PosizioniPortafoglio ptf + ON ptf.chiaveProgetto=prg.chiaveProgetto + LEFT JOIN + consevo_periodico.ConsulenzaEvoluta.dbo.PosizioniMonitorate moni + ON moni.chiaveposizioneptf=ptf.chiaveposizioneptf + INNER JOIN + consevo_periodico.CatalogoProdotti.dbo.CatalogoProdotti cat + ON cat.ChiaveProdotto=ptf.chiaveProdotto + WHERE prg.flagAvviatoMonitoraggio=1 + AND ptf.dtFineValidita>GETDATE() + AND (moni.dtFineValidita>GETDATE() or moni.dtFineValidita is null) + AND moni.chiaveposizioneptf is null + if @NumRec > 0 + RAISERROR (N'Errore', -- Message text. + 10, -- Severity, + 1, -- State, + N'number', -- First argument. + 5); -- Secon + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'Check', + Righe = @@ROWCOUNT + WHERE + Nome = 'CheckDisallineati' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Proposta' + ) + +end + diff --git a/sql/storedCollaudo/C6StagingPeriodico_ClienteProdottiAssicurativiVita.sql b/sql/storedCollaudo/C6StagingPeriodico_ClienteProdottiAssicurativiVita.sql new file mode 100644 index 00000000..94835429 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_ClienteProdottiAssicurativiVita.sql @@ -0,0 +1,42 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: ClienteProdottiAssicurativiVita + + + + +CREATE procedure [C6StagingPeriodico].[ClienteProdottiAssicurativiVita] + +@Rete as varchar(1), +@CodiceFiscale as varchar(16) + +as + +declare @tblFlagNota table +( + FlagAssVita char(1) + +) + + +DECLARE @conta INT + +SELECT @conta = count(*) +from C6MartPeriodico.PATRIMONIO_BF bf +inner join C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT +on bf.COD_PRODOTTO = kat.CatalogueID +where kat.Alberatura in (7,8,9) + AND bf.cod_fiscale = @CodiceFiscale + AND bf.rete = @Rete + +if @conta >= 1 +begin + insert into @tblFlagNota (FlagAssVita) Values ('S') +end +else + insert into @tblFlagNota (FlagAssVita) Values ('N') + +Select FlagAssVita from @tblFlagNota + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_ClienteProdottiAssicurativiVita_Totali.sql b/sql/storedCollaudo/C6StagingPeriodico_ClienteProdottiAssicurativiVita_Totali.sql new file mode 100644 index 00000000..09c1859e --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_ClienteProdottiAssicurativiVita_Totali.sql @@ -0,0 +1,27 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: ClienteProdottiAssicurativiVita_Totali + + + + +--Verifica tutti i clienti della APPO_CONTRATTI se hanno la nota fai +--per il singolo cliente [C6StagingPeriodico].[ClienteProdottiAssicurativiVita] 'F','BBNNLL48T52E730L' + +CREATE procedure [C6StagingPeriodico].[ClienteProdottiAssicurativiVita_Totali] +as +drop table if exists #assicurativi +SELECT distinct rete,cod_fiscale,count(*) as conta +into #assicurativi +from C6MartPeriodico.PATRIMONIO_BF bf +inner join C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT +on bf.COD_PRODOTTO = kat.CatalogueID +where kat.Alberatura in (7,8,9) and + bf.rete+bf.cod_fiscale in (select rete+COD_FISCALE from C6StagingPeriodico.APPO_CONTRATTI) +group by rete,COD_FISCALE + + select a.rete,a.COD_FISCALE, + case when f.conta is null then 'NO' + else 'SI' end as ASSICURATIVI + from C6stagingPeriodico.APPO_CONTRATTI a left join #assicurativi f on a.rete+a.COD_FISCALE=f.RETE+f.COD_FISCALE + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_ClienteProdottiFAI.sql b/sql/storedCollaudo/C6StagingPeriodico_ClienteProdottiFAI.sql new file mode 100644 index 00000000..997fb5ad --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_ClienteProdottiFAI.sql @@ -0,0 +1,55 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: ClienteProdottiFAI + + + + + +CREATE procedure [C6StagingPeriodico].[ClienteProdottiFAI] + +@Rete as varchar(1), +@CodiceFiscale as varchar(16) + +as + +declare @tblFlagNota table +( + FlagFAI char(1), + DataFAI varchar(10) +) + + --DECLARE @dtrim VARCHAR(8) + --set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + --print @dtrim + + Declare @dtrimFAI varchar(10) + set @dtrimFAI = Convert(varchar(10), Cast(c6martperiodico.getPreviousTrimestre(getDate(),0) as Datetime),103) + print @dtrimFAI + + +DECLARE @conta INT + +SELECT @conta = count(*) +FROM [C6MartPeriodico].[PATRIMONIO_BF] +WHERE rtrim(ltrim(cod_interno)) IN ( + 'IA', + 'IP', + 'IC', + 'ID', + 'PE' + ) + AND cod_fiscale = @CodiceFiscale + AND rete = @Rete + +if @conta >= 1 +begin + insert into @tblFlagNota (FlagFAI,DataFAI) Values ('S',@dtrimFAI) +end +else + insert into @tblFlagNota (FlagFAI,DataFAI) Values ('N',@dtrimFAI) + +Select FlagFAI,DataFAI from @tblFlagNota + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_ClienteProdottiFAI_Totali.sql b/sql/storedCollaudo/C6StagingPeriodico_ClienteProdottiFAI_Totali.sql new file mode 100644 index 00000000..0c77baf0 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_ClienteProdottiFAI_Totali.sql @@ -0,0 +1,33 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: ClienteProdottiFAI_Totali + + + + +--Verifica tutti i clienti della APPO_CONTRATTI se hanno la nota fai +--per il singolo cliente [C6StagingPeriodico].[ClienteProdottiFAI] 'F','BBNNLL48T52E730L' + +CREATE procedure [C6StagingPeriodico].[ClienteProdottiFAI_Totali] +as +drop table if exists #fai +SELECT distinct rete,COD_FISCALE, count(*) as Conta +into #fai +FROM [C6MartPeriodico].[PATRIMONIO_BF] +WHERE rtrim(ltrim(cod_interno)) IN ( + 'IA', + 'IP', + 'IC', + 'ID', + 'PE' + ) + and rete+COD_FISCALE in (select rete+COD_FISCALE from C6StagingPeriodico.APPO_CONTRATTI) + group by rete,COD_FISCALE + + select a.rete,a.COD_FISCALE, + case when f.conta is null then 'NO' + else 'SI' end as FAI + from C6stagingPeriodico.APPO_CONTRATTI a left join #fai f on a.rete+a.COD_FISCALE=f.RETE+f.COD_FISCALE + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_CopiaTabelleDiReplica.sql b/sql/storedCollaudo/C6StagingPeriodico_CopiaTabelleDiReplica.sql new file mode 100644 index 00000000..359c094f --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_CopiaTabelleDiReplica.sql @@ -0,0 +1,96 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: CopiaTabelleDiReplica + + +CREATE procedure [C6StagingPeriodico].[CopiaTabelleDiReplica] + +AS + +set nocount on + + begin try + + insert into LOG_ESECUZIONE_periodico values ( + 'CopiaTabelleDiReplica', + GETDATE(), + null, + 'Copia', + null,'Elaborazione trimestrale') + + declare @KO int + set @KO = 0 + declare @err varchar(500) + set @err = '' + + -- Modifica del 29/01/2019 + --declare @query nvarchar(max) + --declare @today datetime + --declare @sToday varchar(10) + -- Fine modifica del 29/01/2019 + + declare @res table (tablename varchar(100)) + --SET FMTONLY ON + + -- Modifica del 29/01/2019 + --set @today = getdate() + + --set @sToday = convert(varchar(4), datepart(yyyy, @today)) + right('0' + convert(varchar(2), datepart(mm, @today)), 2) + right('0' + convert(varchar(2), datepart(dd, @today)), 2) + + -------------------------------------- TANAB + --set @query = 'select * into C6Stagingperiodico.TANAB_' + @sToday + '_preUpdate from C6Stagingperiodico.TANAB' + --insert @res + --exec sys.sp_executesql @query + + -------------------------------------- WSEIAN + --set @query = 'select * into C6Stagingperiodico.WSEIAN_' + @sToday + '_preUpdate from C6Stagingperiodico.WSEIAN' + --insert @res + --exec sys.sp_executesql @query + -- Fine modifica del 29/01/2019 + + exec dbo.CreaTabellaBackUp 'TANAB', 'C6Stagingperiodico', 'preUpdate' + exec dbo.CreaTabellaBackUp 'WSEIAN2', 'C6Stagingperiodico', 'preUpdate' + + ----------------------------------- + UPDATE + LOG_ESECUZIONE_periodico + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'CopiaTabelleDiReplica' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_periodico + WHERE + Nome = 'CopiaTabelleDiReplica' + ) + + + end try + + begin catch + set @KO = 1 + set @err = ERROR_MESSAGE() + + + + RAISERROR (50000,-1,-1, 'Lancio Trimestrale - Errore C6MartPeriodico.CopiaTabelleDiReplica'); + + + return + end catch + + + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_CopiaTabelleDiReplica_20190129.sql b/sql/storedCollaudo/C6StagingPeriodico_CopiaTabelleDiReplica_20190129.sql new file mode 100644 index 00000000..be673839 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_CopiaTabelleDiReplica_20190129.sql @@ -0,0 +1,91 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: CopiaTabelleDiReplica_20190129 + + + +CREATE procedure [C6StagingPeriodico].[CopiaTabelleDiReplica_20190129] + +AS + +set nocount on + + begin try + + insert into LOG_ESECUZIONE_periodico values ( + 'CopiaTabelleDiReplica', + GETDATE(), + null, + 'Copia', + null,'Elaborazione trimestrale') + + declare @KO int + set @KO = 0 + declare @err varchar(500) + set @err = '' + declare @query nvarchar(max) + declare @today datetime + declare @sToday varchar(10) + + declare @res table (tablename varchar(100)) + --SET FMTONLY ON + + set @today = getdate() + + set @sToday = convert(varchar(4), datepart(yyyy, @today)) + right('0' + convert(varchar(2), datepart(mm, @today)), 2) + right('0' + convert(varchar(2), datepart(dd, @today)), 2) + + ------------------------------------ TANAB + set @query = 'select * into C6Stagingperiodico.TANAB_' + @sToday + '_preUpdate from C6Stagingperiodico.TANAB' + insert @res + exec sys.sp_executesql @query + + ------------------------------------ WSEIAN + set @query = 'select * into C6Stagingperiodico.WSEIAN_' + @sToday + '_preUpdate from C6Stagingperiodico.WSEIAN' + insert @res + exec sys.sp_executesql @query + + + + ----------------------------------- + UPDATE + LOG_ESECUZIONE_periodico + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'CopiaTabelleDiReplica' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_periodico + WHERE + Nome = 'CopiaTabelleDiReplica' + ) + + + end try + + begin catch + set @KO = 1 + set @err = ERROR_MESSAGE() + + + + RAISERROR (50000,-1,-1, 'Lancio Trimestrale - Errore C6MartPeriodico.CopiaTabelleDiReplica'); + + + return + end catch + + + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_EstrazioneProfiliInScadenza.sql b/sql/storedCollaudo/C6StagingPeriodico_EstrazioneProfiliInScadenza.sql new file mode 100644 index 00000000..587a3863 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_EstrazioneProfiliInScadenza.sql @@ -0,0 +1,79 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: EstrazioneProfiliInScadenza + + +--EXEC EstrazioneProfiliInScadenza 20110509 +CREATE procedure [C6StagingPeriodico].[EstrazioneProfiliInScadenza] + +as +BEGIN + + + DECLARE @id_periodiodo as int + select @id_periodiodo = max(id_periodo) from [10.10.32.84].SEIAlertDW.[dbo].[Vis_Mifid_Report] + + TRUNCATE TABLE C6STAGINGPERIODICO.MAIL_PROFILI_RISCHIO + + INSERT INTO C6STAGINGPERIODICO.MAIL_PROFILI_RISCHIO + + + select + a.rete, cod_fiscale, codicecontratto, cod_agente, data_sott, data_perf, + inviobenvenuto as flag_invio_report, profiloAss As Profilo, + dtprofilo as dt_creazione_profilo + from + c6mart.contrattosei a + left outer join + [10.10.32.84].SEIAlertDW.[dbo].[Vis_Mifid_Report] b + on + (case + when len(CodMan) = 0 + then b.CodFiscale + else 'FF@'+ CodMan + end) = a.cod_fiscale + and a.rete=b.rete + and a.cod_agente = substring(b.codagente, 2, len(b.codagente)- 1) + where + b.id_periodo= @id_periodiodo--- chiedi ad antonio il periodo + and a.data_fineavanzato is null + + --CONDIZIONE FILTRO PER I PROSSIMI 3 MESI + --And datediff(dd,dtprofilo,dateadd(mm,3,getdate()))/365.25>3 + --And datediff(dd,dtprofilo,getdate())/365.25>3 +-- +-- union +-- +-- select +-- a.rete, cod_fiscale, codicecontratto, cod_agente, data_sott, data_perf, +-- inviobenvenuto as flag_invio_report, profilo, dtprofilo as dt_creazione_profilo +-- from +-- c6mart.contrattosei a +-- left outer join +-- [10.10.32.84].controllodata.dbo.clientiAdeguatezza_ALL b +-- on +-- (case +-- when len("codice mandato") = 0 +-- then b."codice fiscale" +-- else 'FF@'+"codice mandato" +-- end) = a.cod_fiscale +-- and a.rete=b.rete +-- where +-- b.id_periodo= @id_periodiodo +-- and a.data_fineavanzato is null +-- +-- --CONDIZIONE FILTRO PER scaduti +-- And profiloscaduto='S' + +--order by dt_creazione_profilo + + + + + +end + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale.sql b/sql/storedCollaudo/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale.sql new file mode 100644 index 00000000..f48bc7e8 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale.sql @@ -0,0 +1,35 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: PopolaW6TRCLIdavListaClientiTrimestrale + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6StagingPeriodico].[PopolaW6TRCLIdavListaClientiTrimestrale] + + -- Add the parameters for the stored procedure here +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + insert into [dbo].[W6TRCLI] ([Rete],[Codice_Agente],[Nominativo_ Agente],[CodiceFiscale],[CodiceContratto],[Freq_Monitoraggio],[Freq_ Diagnosi],[Data_Revoca],[TipoContratto],[TipoRiattivazione],[ROL],[ClienteDB]) + select isnull([Rete],''), + isnull([Codice Agente],''), + '', + isnull([Codice Fiscale],''), + isnull([Codice Contratto],''), + isnull([Freq Monitoraggio],''), + isnull([Freq Diagnosi],''), + isnull([Data Revoca],''), + isnull([Tipo Contratto],''), + isnull([Tipo Riattivazione],''), + '', + clienteDB + from [C6StagingPeriodico].[vListaClientiTrimestrale]; +END + diff --git a/sql/storedCollaudo/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale_anag_pb.sql b/sql/storedCollaudo/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale_anag_pb.sql new file mode 100644 index 00000000..88abf8a0 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale_anag_pb.sql @@ -0,0 +1,36 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: PopolaW6TRCLIdavListaClientiTrimestrale_anag_pb + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6StagingPeriodico].[PopolaW6TRCLIdavListaClientiTrimestrale_anag_pb] + -- Add the parameters for the stored procedure here + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + insert into [dbo].[W6TRCLI] ([Rete],[Codice_Agente],[Nominativo_ Agente],[CodiceFiscale],[CodiceContratto],[Freq_Monitoraggio],[Freq_ Diagnosi],[Data_Revoca],[TipoContratto],[TipoRiattivazione],[ROL],[ClienteDB]) + select isnull([Rete],''), + isnull([Codice Agente],''), + isnull([Nominativo],''), + isnull([Codice Fiscale],''), + isnull([Codice Contratto],''), + isnull([Freq Monitoraggio],''), + isnull([Freq Diagnosi],''), + isnull([Data Revoca],0), + isnull([Tipo Contratto],''), + isnull([Tipo Riattivazione],''), + isnull([ROL],''), + clienteDB + from [C6StagingPeriodico].[vListaClientiTrimestrale_anag_pb]; + +END + diff --git a/sql/storedCollaudo/C6StagingPeriodico_Popola_Prodotti_Fuori_Adeguatezza.sql b/sql/storedCollaudo/C6StagingPeriodico_Popola_Prodotti_Fuori_Adeguatezza.sql new file mode 100644 index 00000000..9abfcca1 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_Popola_Prodotti_Fuori_Adeguatezza.sql @@ -0,0 +1,86 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: Popola_Prodotti_Fuori_Adeguatezza + + + + + + + + +-- [C6StagingPeriodico].[Popola_Prodotti_Fuori_Adeguatezza] +CREATE procedure [C6StagingPeriodico].[Popola_Prodotti_Fuori_Adeguatezza] +AS +BEGIN + + truncate table [C6StagingPeriodico].Prodotti_Fuori_Adeguatezza + + insert into [C6StagingPeriodico].Prodotti_Fuori_Adeguatezza + + select + cat.[CatalogueID], + cat.[ChiaveProdotto], + cat.[CodSottoprodotto], + cat.[CodInterno], + cat.[CodMaf], + cat.[CodIsin], + cat.[NomeProdotto], + cat.[TipoProdotto] + from [C6StagingPeriodico].[RP_CatalogoProdotti] cat + + where + cat.suitability_perimeter='N' --prodotti fuori adeguatezza + and cat.TipoProdotto<>'DT' + + + + + + --PRE_MUA + --select + --cat.[CatalogueID], + --cat.[ChiaveProdotto], + --cat.[CodSottoprodotto], + --cat.[CodInterno], + --cat.[CodMaf], + --cat.[CodIsin], + --cat.[NomeProdotto], + --cat.[TipoProdotto] + --from [C6StagingPeriodico].WADPRNA W + --inner join [C6StagingPeriodico].[RP_CatalogoProdotti] cat + --on w.[CODPROD] = cat.[CodInterno] + --where w.[DTFINVAL] = '99991231' -- prendo solo i prodotti validi + --and isnull(w.SUBPROD,'') = '' --se il subprod non valorizzato vado in join sul catalogo solo per codprod + + --union + + --select + --cat.[CatalogueID], + --cat.[ChiaveProdotto], + --cat.[CodSottoprodotto], + --cat.[CodInterno], + --cat.[CodMaf], + --cat.[CodIsin], + --cat.[NomeProdotto], + --cat.[TipoProdotto] + --from [C6StagingPeriodico].WADPRNA W + --inner join [C6StagingPeriodico].[RP_CatalogoProdotti] cat + --on w.[CODPROD] = cat.[CodInterno] and w.subprod = cat.[CodSottoprodotto] + --where w.[DTFINVAL] = '99991231' -- prendo solo i prodotti validi + --and isnull(w.SUBPROD,'') <> '' --se il subprod valorizzato vado in join sul catalogo anche per subprod + + + + + + +END + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_QD_VAR_RISK_WEEK2.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_QD_VAR_RISK_WEEK2.sql new file mode 100644 index 00000000..feddd767 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_QD_VAR_RISK_WEEK2.sql @@ -0,0 +1,50 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_QD_VAR_RISK_WEEK2 + + + + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_QD_VAR_RISK_WEEK2] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica QD_VAR_RISK_WEEK2' + +TRUNCATE TABLE [C6StagingPeriodico].[QD_VAR_RISK_WEEK2] + +INSERT INTO [C6StagingPeriodico].[QD_VAR_RISK_WEEK2] + ([banca], + [rete], + [codfis], + [piva], + [codfid], + [codman], + [isp_total_risk], + [flag_risk]) + SELECT + [banca], + [rete], + [codfis], + [piva], + [codfid], + [codman], + [isp_total_risk], + [flag_risk] + FROM FSEI0.sfsei0.[fsei0_pdc].[qd_var_risk_week] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica QD_VAR_RISK_WEEK2' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_TANAB.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_TANAB.sql new file mode 100644 index 00000000..834a7abd --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_TANAB.sql @@ -0,0 +1,97 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_TANAB + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_TANAB] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica TANAB' + +TRUNCATE TABLE [C6StagingPeriodico].[TANAB] + +INSERT INTO [C6StagingPeriodico].[TANAB] + ([RETE] + ,[CODAREA] + ,[CODPROG] + ,[CODFIS] + ,[DTRIF] + ,[DTFINE] + ,[DTINI] + ,[CTVINI] + ,[DTRENDMAX] + ,[RENDMAX] + ,[DTRENDMIN] + ,[RENDMIN] + ,[DTCTV] + ,[CTV] + ,[RENDATT] + ,[DTCTVMAX] + ,[CTVMAX] + ,[DTCTVMIN] + ,[CTVMIN] + ,[CVN] + ,[CVN_IA] + ,[CVN_IT] + ,[APP_INI] + ,[TOT_APP] + ,[TOT_LIQ] + ,[TOT_CED] + ,[TOT_DIV] + ,[DCD] + ,[DCVN] + ,[SCARTO] + ,[NTOT_APP] + ,[NTOT_LIQ] + ,[RENDATTANN]) + +SELECT [RETE] + ,[CODAREA] + ,[CODPROG] + ,[CODFIS] + ,[DTRIF] + ,[DTFINE] + ,[DTINI] + ,[CTVINI] + ,[DTRENDMAX] + ,[RENDMAX] + ,[DTRENDMIN] + ,[RENDMIN] + ,[DTCTV] + ,[CTV] + ,[RENDATT] + ,[DTCTVMAX] + ,[CTVMAX] + ,[DTCTVMIN] + ,[CTVMIN] + ,[CVN] + ,[CVN_IA] + ,[CVN_IT] + ,[APP_INI] + ,[TOT_APP] + ,[TOT_LIQ] + ,[TOT_CED] + ,[TOT_DIV] + ,[DCD] + ,[DCVN] + ,[SCARTO] + ,[NTOT_APP] + ,[NTOT_LIQ] + ,[RENDATTANN] + FROM FSEI0.sfsei0.[fsei0_pdc].[tanab] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica TANAB' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_TCPTAB.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_TCPTAB.sql new file mode 100644 index 00000000..36bd9f48 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_TCPTAB.sql @@ -0,0 +1,159 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_TCPTAB + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_TCPTAB] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica TCPTAB' + +TRUNCATE TABLE [C6StagingPeriodico].[TCPTAB] + +INSERT INTO [C6StagingPeriodico].[TCPTAB] + ([RETE] + ,[CODAREA] + ,[CODPROG] + ,[CODFIS] + ,[DTRIF] + ,[TIPPROD] + ,[ISIN] + ,[ID_WADEG] + ,[MAF] + ,[CODCONF] + ,[SUBPROD] + ,[CODPROD] + ,[NUMPOL] + ,[CONTO] + ,[CUSTGAR] + ,[RUBR] + ,[CODABI] + ,[TERMID] + ,[ANNO] + ,[PROG] + ,[SPROG] + ,[DTUSCITA] + ,[DTSOTT] + ,[CTVATT] + ,[DTINGRESSO] + ,[CTVINGRESSO] + ,[DTTRIM] + ,[RENDTRIM] + ,[DTANNO] + ,[RENDANNO] + ,[DTINIZ] + ,[RENDINIZ] + ,[DTININAC] + ,[RENDNAC] + ,[CTVVP] + ,[CVNTRIM] + ,[CVNANNO] + ,[CVNINIZ] + ,[CVNNAC] + ,[CODINT] + ,[VALORE] + ,[STLIQ] + ,[DTVALORIZ]) + +SELECT RETE + ,CODAREA + ,CODPROG + ,CODFIS + ,DTRIF + ,TIPPROD + ,ISIN + ,ID_WADEG + ,MAF + ,CODCONF + ,SUBPROD + ,CODPROD + ,NUMPOL + ,CONTO + ,CUSTGAR + ,RUBR + ,CODABI + ,TERMID + ,ANNO + ,PROG + ,SPROG + ,DTUSCITA + ,DTSOTT + ,CTVATT + ,DTINGRESSO + ,CTVINGRESSO + ,DTTRIM + ,RENDTRIM + ,DTANNO + ,RENDANNO + ,DTINIZ + ,RENDINIZ + ,DTININAC + ,RENDNAC + ,CTVVP + ,CVNTRIM + ,CVNANNO + ,CVNINIZ + ,CVNNAC + ,CODINT + ,VALORE + ,STLIQ + ,DTVALORIZ +FROM OPENQUERY(FSEI0, 'SELECT RETE + ,CODAREA + ,CODPROG + ,CODFIS + ,DTRIF + ,TIPPROD + ,ISIN + ,ID_WADEG + ,MAF + ,CODCONF + ,SUBPROD + ,CODPROD + ,NUMPOL + ,CONTO + ,CUSTGAR + ,RUBR + ,CODABI + ,TERMID + ,ANNO + ,PROG + ,SPROG + ,DTUSCITA + ,DTSOTT + ,CTVATT + ,DTINGRESSO + ,CTVINGRESSO + ,DTTRIM + ,RENDTRIM + ,DTANNO + ,RENDANNO + ,DTINIZ + ,RENDINIZ + ,DTININAC + ,RENDNAC + ,CTVVP + ,CVNTRIM + ,CVNANNO + ,CVNINIZ + ,CVNNAC + ,CODINT + ,VALORE + ,STLIQ + ,DTVALORIZ +FROM fsei0_pdc.tcptab') + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica TCPTAB' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_TRENAB.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_TRENAB.sql new file mode 100644 index 00000000..f4b032cd --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_TRENAB.sql @@ -0,0 +1,112 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_TRENAB + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_TRENAB] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica TRENAB' + +TRUNCATE TABLE [C6StagingPeriodico].[TRENAB] + +INSERT INTO [C6StagingPeriodico].[TRENAB] + ([RETE] + ,[CODAREA] + ,[CODPROG] + ,[CODFIS] + ,[DTRIF] + ,[DTVALORIZ] + ,[CTV] + ,[DTINIZ] + ,[RENDINIZ] + ,[DTTRIM] + ,[RENDTRIM] + ,[DTANNO] + ,[RENDANNO] + ,[CVN] + ,[CVN_IA] + ,[CVN_IT] + ,[APP_INI] + ,[TOT_APP] + ,[TOT_LIQ] + ,[TOT_CED] + ,[TOT_DIV] + ,[DCD] + ,[DCVN] + ,[SCARTO] + ,[NTOT_APP] + ,[NTOT_LIQ] + ,[RENDATTANN]) + + +SELECT [RETE] + ,[CODAREA] + ,[CODPROG] + ,[CODFIS] + ,[DTRIF] + ,[DTVALORIZ] + ,[CTV] + ,[DTINIZ] + ,[RENDINIZ] + ,[DTTRIM] + ,[RENDTRIM] + ,[DTANNO] + ,[RENDANNO] + ,[CVN] + ,[CVN_IA] + ,[CVN_IT] + ,[APP_INI] + ,[TOT_APP] + ,[TOT_LIQ] + ,[TOT_CED] + ,[TOT_DIV] + ,[DCD] + ,[DCVN] + ,[SCARTO] + ,[NTOT_APP] + ,[NTOT_LIQ] + ,[RENDATTANN] +FROM OPENQUERY(FSEI0, 'SELECT RETE + ,CODAREA + ,CODPROG + ,CODFIS + ,DTRIF + ,DTVALORIZ + ,CTV + ,DTINIZ + ,RENDINIZ + ,DTTRIM + ,RENDTRIM + ,DTANNO + ,RENDANNO + ,CVN + ,CVN_IA + ,CVN_IT + ,APP_INI + ,TOT_APP + ,TOT_LIQ + ,TOT_CED + ,TOT_DIV + ,DCD + ,DCVN + ,SCARTO + ,NTOT_APP + ,NTOT_LIQ + ,RENDATTANN +FROM fsei0_pdc.trenab') + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica TRENAB' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_TSCABP.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_TSCABP.sql new file mode 100644 index 00000000..9d112bde --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_TSCABP.sql @@ -0,0 +1,98 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_TSCABP + + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_TSCABP] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica TSCABP' + +TRUNCATE TABLE [C6StagingPeriodico].[TSCABP] + +INSERT INTO [C6StagingPeriodico].[TSCABP] + ([RETE] + ,[CODAREA] + ,[CODPROG] + ,[CODFIS] + ,[DTRIF] + ,[TIPPROD] + ,[CODCONF] + ,[SUBPROD] + ,[CODPROD] + ,[CONTO] + ,[CUSTGAR] + ,[RUBR] + ,[CODABI] + ,[TERMID] + ,[ANNO] + ,[PROG] + ,[DTINGRESSO] + ,[ISTITUTO] + ,[TIPO_PRODOTT] + ,[CONTO_OP] + ,[STRUM_FIN] + ,[ID_MOVIM] + ,[TIPO_OP] + ,[RESTART] + ,[DT_ING_USC] + ,[ING_USC] + ,[COD_ERR] + ,[DESCR_ERR] + ,[DT_ELAB] + ,[DT_INS] + ,[PCT] + ,[PROVENIENZA] + ,[isin]) + +SELECT [RETE] + ,[CODAREA] + ,[CODPROG] + ,[CODFIS] + ,[DTRIF] + ,[TIPPROD] + ,[CODCONF] + ,[SUBPROD] + ,[CODPROD] + ,[CONTO] + ,[CUSTGAR] + ,[RUBR] + ,[CODABI] + ,[TERMID] + ,[ANNO] + ,[PROG] + ,[DTINGRESSO] + ,[ISTITUTO] + ,[TIPO_PRODOTT] + ,[CONTO_OP] + ,[STRUM_FIN] + ,[ID_MOVIM] + ,[TIPO_OP] + ,[RESTART] + ,[DT_ING_USC] + ,[ING_USC] + ,[COD_ERR] + ,[DESCR_ERR] + ,[DT_ELAB] + ,[DT_INS] + ,[PCT] + ,[PROVENIENZA] + ,[isin] + FROM FSEI0.sfsei0.[fsei0_pdc].[tscabp] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica TSCABP' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_W6APAG.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_W6APAG.sql new file mode 100644 index 00000000..0a182d4d --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_W6APAG.sql @@ -0,0 +1,44 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_W6APAG + + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_W6APAG] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica W6APAG' + +TRUNCATE TABLE [C6StagingPeriodico].[W6APAG] + +INSERT INTO [C6StagingPeriodico].[W6APAG] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[APPORTI] + ,[PRELIEVI]) + +SELECT [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[APPORTI] + ,[PRELIEVI] + FROM FSEI0.sfsei0.[fsei0_pdc].[w6apag] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica W6APAG' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_W6APUT.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_W6APUT.sql new file mode 100644 index 00000000..2c7266b7 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_W6APUT.sql @@ -0,0 +1,58 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_W6APUT + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_W6APUT] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica W6APUT' + +TRUNCATE TABLE [C6StagingPeriodico].[W6APUT] + + +INSERT INTO [C6StagingPeriodico].[W6APUT] + ([RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[DTOPE] + ,[DESPROD] + ,[PROGMOV] + ,[CODCAU] + ,[CODSCAU] + ,[DESCAU] + ,[IMPORTO] + ,[FIRMA]) + +SELECT [RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[DTOPE] + ,[DESPROD] + ,[PROGMOV] + ,[CODCAU] + ,[CODSCAU] + ,[DESCAU] + ,[IMPORTO] + ,[FIRMA] + FROM FSEI0.sfsei0.[fsei0_pdc].[w6aput] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica W6APUT' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_W6CLIESG.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_W6CLIESG.sql new file mode 100644 index 00000000..ce9576e2 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_W6CLIESG.sql @@ -0,0 +1,109 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_W6CLIESG + + + + + + + + + + + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_W6CLIESG] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica W6CLIESG' + +TRUNCATE TABLE [C6StagingPeriodico].[W6CLIESG] +INSERT INTO [C6StagingPeriodico].[W6CLIESG] + ( [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[U_PREFSOST] + ,[FLAGSFDR] + ,[FLAGTAXO] + ,[FLAGPAI] + ,[SFDR_PERC] + ,[TAXO_PERC] + ,[PAI_A01] + ,[PAI_A02] + ,[PAI_A03] + ,[PAI_A04] + ,[PAI_A05] + ,[PAI_A07] + ,[PAI_A08] + ,[PAI_S01] + ,[PAI_S02] + ,[PAI_NO_DETT] + ,[PERC1ESG] + ,[PERCAMB] + ,[PERCSOC] + ,[PERCGOV] + ,[PERCAMB_OK] + ,[PERCSOC_OK] + ,[PERCGOV_OK] + ,[SFDR_PERCT] + ,[SFDR_PERC_OK] + ,[TAXO_PERCT] + ,[TAXO_PERC_OK] + ,[PAIA_PERCT] + ,[PAIA_PERC_OK] + ,[PAIS_PERCT] + ,[PAIS_PERC_OK]) +SELECT [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[U_PREFSOST] + ,[FLAGSFDR] + ,[FLAGTAXO] + ,[FLAGPAI] + ,[SFDR_PERC] + ,[TAXO_PERC] + ,[PAI_A01] + ,[PAI_A02] + ,[PAI_A03] + ,[PAI_A04] + ,[PAI_A05] + ,[PAI_A07] + ,[PAI_A08] + ,[PAI_S01] + ,[PAI_S02] + ,[PAI_NO_DETT] + ,[PERC1ESG] + ,[PERCAMB] + ,[PERCSOC] + ,[PERCGOV] + ,[PERCAMB_OK] + ,[PERCSOC_OK] + ,[PERCGOV_OK] + ,[SFDR_PERCT] + ,[SFDR_PERC_OK] + ,[TAXO_PERCT] + ,[TAXO_PERC_OK] + ,[PAIA_PERCT] + ,[PAIA_PERC_OK] + ,[PAIS_PERCT] + ,[PAIS_PERC_OK] + FROM FSEI0.sfsei0.[fsei0_pdc].[w6cliesg] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica W6CLIESG' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_W6CLIREP_B.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_W6CLIREP_B.sql new file mode 100644 index 00000000..82cd007e --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_W6CLIREP_B.sql @@ -0,0 +1,135 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_W6CLIREP_B + + + + + + + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_W6CLIREP_B] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica W6CLIREP_B' + +TRUNCATE TABLE [C6MartPeriodico].[W6CLIREP_B] + + +INSERT INTO [C6MartPeriodico].[W6CLIREP_B] + ( [FLGCLI] + ,[FLGBL] + ,[TIPOELA] + ,[DTTRIM] + ,[rete] + ,[codfis] + ,[piva] + ,[codman] + ,[CODFID] + ,[CODAGE] + ,[CODABI] + ,[termid] + ,[anno] + ,[prog] + ,[quote] + ,[CTV] + ,[codconf] + ,[rubr] + ,[custgar] + ,[cod_interno] + ,[codana] + ,[FLAGPCT] + ,[codprod] + ,[cod_sottoprodotto] + ,[cod_isin] + ,[codlinea] + ,[tipoptf] + ,[area] + ,[progetto] + ,[codprj] + ,[chiave_prodotto_terzi] + ,[assetterzi] + ,[famprodt] + ,[intermediario] + ,[codiceadeguatezza] + ,[cod_maf] + ,[conto] + ,[numpolizza] + ,[position_id] + ,[PREFSOST] + ,[FLAGAMB] + ,[FLAGSOC] + ,[FLAGGOV]) +SELECT + TRIM([FLGCLI]) AS FLGCLI, + TRIM([FLGBL]) AS FLGBL, + TRIM([TIPOELA]) AS TIPOELA, + [DTTRIM] AS DTTRIM, + TRIM([rete]) AS rete, + TRIM([codfis]) AS codfis, + TRIM([piva]) AS piva, + TRIM([codman]) AS codman, + TRIM([CODFID]) AS CODFID, + TRIM([CODAGE]) AS CODAGE, + TRIM([CODABI]) AS CODABI, + TRIM([termid]) AS termid, + [anno] AS anno, + [prog] AS prog, + [quote] AS quote, + [CTV] AS CTV, + TRIM([codconf]) AS codconf, + TRIM([rubr]) AS rubr, + TRIM([custgar]) AS custgar, + TRIM([codint]) AS codint, + TRIM([codana]) AS codana, + TRIM([FLAGPCT]) AS FLAGPCT, + TRIM([codprod]) AS codprod, + TRIM([subprod]) AS subprod, + TRIM([isin]) AS isin, + TRIM([codlinea]) AS codlinea, + TRIM([tipoptf]) AS tipoptf, + TRIM([area]) AS area, + TRIM([progetto]) AS progetto, + TRIM([codprj]) AS codprj, + TRIM([keyprd]) AS keyprd, + TRIM([assettrz]) AS assettrz, + TRIM([famprd]) AS famprd, + TRIM([interm]) AS interm, + TRIM([codade]) AS codade, + TRIM([codmaf]) AS codmaf, + TRIM([conto]) AS conto, + TRIM([numpol]) AS numpol, + TRIM([posid]) AS posid, + TRIM([PREFSOST]) AS PREFSOST, + TRIM([FLAGAMB]) AS FLAGAMB, + TRIM([FLAGSOC]) AS FLAGSOC, + TRIM([FLAGGOV]) AS FLAGGOV +FROM + FSEI0.sfsei0.[fsei0_pdc].[w6clirep] + + DECLARE @DtTrim varchar(9); + +SET @DtTrim = dbo.VerificaFestivo((SELECT MAX(dttrim) FROM [C6MartPeriodico].[W6CLIREP_B])); + +update [C6MartPeriodico].[W6CLIREP_B] +set DTTRIM=@DtTrim + + + + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica W6CLIREP_B' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WANVIPS.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WANVIPS.sql new file mode 100644 index 00000000..8c75c003 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WANVIPS.sql @@ -0,0 +1,50 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_WANVIPS + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_WANVIPS] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WANVIPS' + +TRUNCATE TABLE [C6StagingPeriodico].[WANVIPS] + + +INSERT INTO [C6StagingPeriodico].[WANVIPS] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODANA] + ,[FLAG6KC] + ,[CODMAN] + ,[CODCONF] + ,[FLGORIG] + ,[FLGIMM]) + +SELECT [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODANA] + ,[FLAG6KC] + ,[CODMAN] + ,[CODCONF] + ,[FLGORIG] + ,[FLGIMM] + FROM FSEI0.sfsei0.[fsei0_pdc].[wanvips] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WANVIPS' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIAD2.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIAD2.sql new file mode 100644 index 00000000..92175a53 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIAD2.sql @@ -0,0 +1,50 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_WSEIAD2 + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIAD2] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIAD2' + +TRUNCATE TABLE [C6StagingPeriodico].[WSEIAD2] + + +INSERT INTO [C6StagingPeriodico].[WSEIAD2] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[DESCPROD] + ,[CTV] + ,[PERCCTV] + ,[COMPL]) + +SELECT [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[DESCPROD] + ,[CTV] + ,[PERCCTV] + ,[COMPL] + FROM FSEI0.sfsei0.[fsei0_pdc].[wseiad] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIAD2' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIAN2.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIAN2.sql new file mode 100644 index 00000000..16dec662 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIAN2.sql @@ -0,0 +1,118 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_WSEIAN2 + + + + + + + + + + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIAN2] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIAN2' + +TRUNCATE TABLE [C6StagingPeriodico].[WSEIAN2] +INSERT INTO [C6StagingPeriodico].[WSEIAN2] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF] + ,[DTINVAL] + ,[CODMAN] + ,[CLASSERC] + ,[COD_PROFEC] + ,[FLAGPG] + ,[CLCOMPL] + ,[FLGCONC] + ,[FLAGNQP] + ,[FLGPRLRDE] + ,[FLGPROF] + ,[DTFINVAL] + ,[CONCEMI] + ,[FREQ] + ,[LLIQUID] + ,[PREFSOST] + ,[FLAGAMB] + ,[FLAGSOC] + ,[FLAGGOV] + ,[ADEGCONC_VALUT] + ,[SOGLIAESG] + ,[COERENZA] + ,[RISERVA] + ,[INVL_PERIOD] + ,[MAXCOMPL] + ,[NOCOMPL] + ,[SPESA_FORZATA] + ,[PERC_ILP] + ,[IMP_RISERVA]) +SELECT [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF] + ,[DTINVAL] + ,[CODMAN] + ,[CLASSERC] + ,[CODPROFEC] + ,[FLAGPG] + ,[CLCOMPL] + ,[FLGCONC] + ,[FLAGNQP] + ,[FLGPRLRDE] + ,[FLGPROF] + ,[DTFINVAL] + ,[CONCEMI] + ,[FREQ] + ,[LLIQUID] + ,[PREFSOST] + ,[FLAGAMB] + ,[FLAGSOC] + ,[FLAGGOV] + ,[ADEGCONC_VALUT] + ,[SOGLIAESG] + ,[COERENZA] + ,[RISERVA] + ,[INVL_PERIOD] + ,[MAXCOMPL] + ,[NOCOMPL] + ,[SPESA_FORZATA] + ,[PERC_ILP] + ,[IMP_RISERVA] + FROM FSEI0.sfsei0.[fsei0_pdc].[wseian] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIAN2' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIBO.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIBO.sql new file mode 100644 index 00000000..805a6f73 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIBO.sql @@ -0,0 +1,61 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_WSEIBO + + + + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIBO] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIBO' + +TRUNCATE TABLE [C6StagingPeriodico].[WSEIBO] + +INSERT INTO [C6StagingPeriodico].[WSEIBO] + ([RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[CODPROD] + ,[NUMPOL] + ,[CTV] + ,[BONUSM] + ,[DTDECM] + ,[BONUS5] + ,[DTDEC5] + ,[BONUS10] + ,[DTDEC10]) +SELECT [RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[CODPROD] + ,[NUMPOL] + ,[CTV] + ,[BONUSM] + ,[DTDECM] + ,[BONUS5] + ,[DTDEC5] + ,[BONUS10] + ,[DTDEC10] + FROM FSEI0.sfsei0.[fsei0_pdc].[wseibo] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIBO' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEICAP.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEICAP.sql new file mode 100644 index 00000000..22978be9 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEICAP.sql @@ -0,0 +1,62 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_WSEICAP + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEICAP] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEICAP' + +TRUNCATE TABLE [C6StagingPeriodico].[WSEICAP] + + +INSERT INTO [C6StagingPeriodico].[WSEICAP] + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[SUBPROD] + ,[ISIN] + ,[DTINIZ] + ,[DTFINE] + ,[CTV_COMMIT] + ,[IMPVERS] + ,[IMPRES] + ,[DESCPROD] + ,[SGR]) + +SELECT [DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[SUBPROD] + ,[ISIN] + ,[DTINIZ] + ,[DTFINE] + ,[CTV_COMMIT] + ,[IMPVERS] + ,[IMPRES] + ,[DESCPROD] + ,[SGR] + FROM FSEI0.sfsei0.[fsei0_pdc].[wseicap] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEICAP' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEICC.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEICC.sql new file mode 100644 index 00000000..33d24934 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEICC.sql @@ -0,0 +1,44 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_WSEICC + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEICC] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEICC' + +TRUNCATE TABLE [C6StagingPeriodico].[WSEICC] + + +INSERT INTO [C6StagingPeriodico].[WSEICC] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONFC] + ,[CODCONFPR]) + +SELECT [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONFC] + ,[CODCONFPR] + FROM FSEI0.sfsei0.[fsei0_pdc].[wseicc] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEICC' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEICE2.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEICE2.sql new file mode 100644 index 00000000..e1bea3ff --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEICE2.sql @@ -0,0 +1,56 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_WSEICE2 + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEICE2] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEICE2' + +TRUNCATE TABLE [C6StagingPeriodico].[WSEICE2] + + +INSERT INTO [C6StagingPeriodico].[WSEICE2] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODEMI] + ,[TOTCTV] + ,[DESCEMI] + ,[SOGLIACTV_CONC] + ,[RATING] + ,[CONC] + ,[LIMITE_CONC] + ,[FLGCONC]) + +SELECT [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODEMI] + ,[TOTCTV] + ,[DESCEMI] + ,[SOGLIACTV_CONC] + ,[RATING] + ,[CONC] + ,[LIMITE_CONC] + ,[FLGCONC] + FROM FSEI0.sfsei0.[fsei0_pdc].[wseice] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEICE2' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEICS.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEICS.sql new file mode 100644 index 00000000..389bc2b2 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEICS.sql @@ -0,0 +1,105 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_WSEICS + + + + + + + + + + + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEICS] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEICS' + +TRUNCATE TABLE [C6StagingPeriodico].[WSEICS] +INSERT INTO [C6StagingPeriodico].[wseics] + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[QUOTE] + ,[CODMAN] + ,[SALRISC] + ,[ATTIVO] + ,[PREZZO] + ,[DIVISA] + ,[BASE_PREZZ]) +SELECT [DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[QUOTE] + ,[CODMAN] + ,[SALRISC] + ,[ATTIVO] + ,[PREZZO] + ,[DIVISA] + ,[BASE_PREZZ] + FROM FSEI0.sfsei0.[fsei0_pdc].[wseics] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEICS' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIDC.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIDC.sql new file mode 100644 index 00000000..8d211bda --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIDC.sql @@ -0,0 +1,98 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_WSEIDC + + + + + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIDC] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIDC' + +TRUNCATE TABLE [C6StagingPeriodico].[WSEIDC] + +INSERT INTO [C6StagingPeriodico].[WSEIDC] + ([RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODANA] + ,[CODMAN] + ,[CODAGE] + ,[INTEST] + ,[CODCONF] + ,[SUBPROD] + ,[DTLETT] + ,[SEX] + ,[INDIR] + ,[CAP] + ,[CITTA] + ,[PROV] + ,[NAZION] + ,[PRESSO] + ,[TIPCONTR] + ,[TEMPLATE] + ,[TIPOLETT] + ) + +SELECT [RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODANA] + ,[CODMAN] + ,[CODAGE] + ,[INTEST] + ,[CODCONF] + ,[SUBPROD] + ,[DTLETT] + ,[SEX] + ,[INDIR] + ,[CAP] + ,[CITTA] + ,[PROV] + ,[NAZION] + ,[PRESSO] + ,[TIPCONTR] + ,[TEMPLATE] + ,[TIPOLETT] + FROM FSEI0.sfsei0.[fsei0_pdc].[wseidc] + + --UNION + + --SELECT [RETE] + -- ,[DTTRIM] + -- ,[CODFIS] + -- ,[CODANA] + -- ,[CODMAN] + -- ,[CODAGE] + -- ,[INTEST] + -- ,[CODCONF] + -- ,[SUBPROD] + -- ,[DTLETT] + -- ,[SEX] + -- ,[INDIR] + -- ,[CAP] + -- ,[CITTA] + -- ,[PROV] + -- ,[NAZION] + -- ,[PRESSO] + -- ,[TIPCONTR] + --FROM FSEI0.FSEI0.[fsei0_pdc].[w6dbdc] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIDC' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIFP.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIFP.sql new file mode 100644 index 00000000..a08d05a0 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIFP.sql @@ -0,0 +1,67 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_WSEIFP + + + + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIFP] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIFP' + +TRUNCATE TABLE [C6StagingPeriodico].[WSEIFP] + + + +INSERT INTO [C6StagingPeriodico].[WSEIFP] + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[CODPROD] + ,[SUBPROD] + ,[ISIN] + ,[CTV] + ,[PREZZO] + ,[QUOTE] + ,[PREZZOMAX] + ,[DTPREZZOMAX] + ,[PREZZOPROT] + ,[CTRVIMPPROT]) +SELECT [DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[CODPROD] + ,[SUBPROD] + ,[ISIN] + ,[CTV] + ,[PREZZO] + ,[QUOTE] + ,[PREZZOMAX] + ,[DTPREZZOMAX] + ,[PREZZOPROT] + ,[CTRVIMPPROT] + FROM FSEI0.sfsei0.[fsei0_pdc].[wseifp] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIFP' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIGP.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIGP.sql new file mode 100644 index 00000000..9c05d8ac --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIGP.sql @@ -0,0 +1,80 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_WSEIGP + + + + + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIGP] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIGP' + +TRUNCATE TABLE [C6StagingPeriodico].[WSEIGP] + +INSERT INTO [C6StagingPeriodico].[WSEIGP] + ([RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[SUBPROG] + ,[AREAFIN] + ,[DTRIFE] + ,[ISIN] + ,[MAF] + ,[MERCATO] + ,[CODLINEA] + ,[CTV] + ,[QUOTE] + ,[FLAGTRIM] + ,[ATTIVO] + ,[PREZZOMAX] + ,[DTPREZZOMAX] + ,[PREZZOPROT] + ,[CTRVIMPPROT] + ,[PREZZO] + ,[DIVISA] + ,[BASE_PREZZ]) +SELECT [RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[SUBPROG] + ,[AREAFIN] + ,[DTRIFE] + ,[ISIN] + ,[MAF] + ,[MERCATO] + ,[CODLINEA] + ,[CTV] + ,[QUOTE] + ,[FLAGTRIM] + ,[ATTIVO] + ,[PREZZOMAX] + ,[DTPREZZOMAX] + ,[PREZZOPROT] + ,[CTRVIMPPROT] + ,[PREZZO] + ,[DIVISA] + ,[BASE_PREZZ] + FROM FSEI0.sfsei0.[fsei0_pdc].[wseigp] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIGP' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEILP.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEILP.sql new file mode 100644 index 00000000..497eecb6 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEILP.sql @@ -0,0 +1,58 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_WSEILP + + + + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEILP] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEILP' + +TRUNCATE TABLE [C6StagingPeriodico].[WSEILP] + + +INSERT INTO [C6StagingPeriodico].[WSEILP] + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[CODPROD] + ,[CODLINEA] + ,[CTV] + ,[CTV_PROT] + ,[CTVMON] + ,[FLAGTRIM]) +SELECT [DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[CODPROD] + ,[CODLINEA] + ,[CTV] + ,[CTVPROT] + ,[CTVMON] + ,[FLAGTRIM] + FROM FSEI0.sfsei0.[fsei0_pdc].[wseilp] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEILP' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIMM_POS_SQL.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIMM_POS_SQL.sql new file mode 100644 index 00000000..7c6d1eb9 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIMM_POS_SQL.sql @@ -0,0 +1,53 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_WSEIMM_POS_SQL + + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIMM_POS_SQL] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIMM_POS_SQL' + +truncate table [C6MartPeriodicoImmobiliare].[W6IMM] + + +INSERT INTO [C6MartPeriodicoImmobiliare].[W6IMM] + ([RETE] + ,[CODFIS] + ,[CONTRATTO] + ,[CONSULENZA] + ,[SERVIZIO_AGGIUNTIVO] + ,[STATO_ADD_IMMOBILIARE] + ,[STATO_IMPORTAZIONE] + ,[FLAG_IN_PERIMETRO] + ,[RENDICONTO_SEI] + ,[RENDICONTO_IMM]) +SELECT [RETE] + ,[CODFIS] + ,[CODCONF] + ,[TIPCONS] + ,[SERVAGG] + ,[ADDIMM] + ,[STAIMP] + ,[FLAGPE] + ,[RENDSEI] + ,[RENDIMM] + FROM FSEI0.sfsei0.[fsei0_pdc].[w6imm] + + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIMM_POS_SQL' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIMM_SQL_POS.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIMM_SQL_POS.sql new file mode 100644 index 00000000..19378e19 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIMM_SQL_POS.sql @@ -0,0 +1,53 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_WSEIMM_SQL_POS + + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIMM_SQL_POS] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIMM_SQL_POS' + +delete from FSEI0.sfsei0.[fsei0_pdc].[w6imm] + + +INSERT INTO FSEI0.sfsei0.[fsei0_pdc].[w6imm] + ([RETE] + ,[CODFIS] + ,[CODCONF] + ,[TIPCONS] + ,[SERVAGG] + ,[ADDIMM] + ,[STAIMP] + ,[FLAGPE] + ,[RENDSEI] + ,[RENDIMM]) +SELECT [RETE] + ,[CODFIS] + ,[CONTRATTO] + ,[CONSULENZA] + ,[SERVIZIO_AGGIUNTIVO] + ,[STATO_ADD_IMMOBILIARE] + ,[STATO_IMPORTAZIONE] + ,[FLAG_IN_PERIMETRO] + ,[RENDICONTO_SEI] + ,[RENDICONTO_IMM] + FROM [C6MartPeriodicoImmobiliare].[W6IMM] + + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIMM_SQL_POS' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIPR.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIPR.sql new file mode 100644 index 00000000..1e2d03ff --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIPR.sql @@ -0,0 +1,61 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_WSEIPR + + + + + + + + + + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIPR] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIPR' + +TRUNCATE TABLE [C6StagingPeriodico].[WSEIPR] + +INSERT INTO [C6StagingPeriodico].[WSEIPR] + ([RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODMAN] + ,[FAMPROD] + ,[CODPROD] + ,[SUBPROD] + ,[CODABI] + ,[DTRIFE] + ,[TIPMOV] + ,[IMPORTO]) +SELECT [RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODMAN] + ,[FAMPROD] + ,[CODPROD] + ,[SUBPROD] + ,[CODABI] + ,[DTRIFE] + ,[TIPMOV] + ,[IMPORTO] + FROM FSEI0.sfsei0.[fsei0_pdc].[wseipr] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIPR' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIPS.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIPS.sql new file mode 100644 index 00000000..ac2124e4 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIPS.sql @@ -0,0 +1,92 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_WSEIPS + + + + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIPS] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIPS' + +TRUNCATE TABLE [C6StagingPeriodico].[WSEIPS] + +INSERT INTO [C6StagingPeriodico].[WSEIPS] + ([RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODANA] + ,[CODMAN] + ,[CODAGE] + ,[INTEST] + ,[CODCONF] + ,[SUBPROD] + ,[DTLETT] + ,[SEX] + ,[INDIR] + ,[CAP] + ,[CITTA] + ,[PROV] + ,[NAZION] + ,[PRESSO] + ,[TIPCONTR]) + +SELECT [RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODANA] + ,[CODMAN] + ,[CODAGE] + ,[INTEST] + ,[CODCONF] + ,[SUBPROD] + ,[DTLETT] + ,[SEX] + ,[INDIR] + ,[CAP] + ,[CITTA] + ,[PROV] + ,[NAZION] + ,[PRESSO] + ,[TIPCONTR] + FROM FSEI0.sfsei0.[fsei0_pdc].[wseips] + + UNION + + SELECT [RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODANA] + ,[CODMAN] + ,[CODAGE] + ,[INTEST] + ,[CODCONF] + ,[SUBPROD] + ,[DTLETT] + ,[SEX] + ,[INDIR] + ,[CAP] + ,[CITTA] + ,[PROV] + ,[NAZION] + ,[PRESSO] + ,[TIPCONTR] + FROM FSEI0.sfsei0.[fsei0_pdc].[w6dbps] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIPS' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIPV.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIPV.sql new file mode 100644 index 00000000..ae5e4ab0 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIPV.sql @@ -0,0 +1,58 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_WSEIPV + + + + + + + + + + + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIPV] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIPV' + +TRUNCATE TABLE [C6StagingPeriodico].[WSEIPV] + +INSERT INTO [C6StagingPeriodico].[WSEIPV] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[IMPVER] + ,[DTRIFE] + ,[SUBSET] + ,[CODMAN] + ,[BASE_PREZZ]) +SELECT [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[IMPVER] + ,[DTRIFE] + ,[SUBSET] + ,[CODMAN] + ,[BASE_PREZZ] + FROM FSEI0.sfsei0.[fsei0_pdc].[wseipv] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIPV' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIRP.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIRP.sql new file mode 100644 index 00000000..c842b022 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIRP.sql @@ -0,0 +1,39 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_WSEIRP + + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIRP] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIRP' + +TRUNCATE TABLE [C6StagingPeriodico].[WSEIRP] + +INSERT INTO [C6StagingPeriodico].[WSEIRP] + ([NOMETAB] + ,[PROCEDURA] + ,[TSP_AGGIOR]) + +SELECT [NOMETAB] + ,[PROCEDURA] + ,[TSP_AGGIOR] + FROM FSEI0.sfsei0.[fsei0_pdc].[wseirp] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIRP' + + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIRPF.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIRPF.sql new file mode 100644 index 00000000..85035327 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIRPF.sql @@ -0,0 +1,47 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_WSEIRPF + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIRPF] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIRPF' + +TRUNCATE TABLE [C6StagingPeriodico].[WSEIRPF] +INSERT INTO [C6StagingPeriodico].[WSEIRPF] + ( [dttrim] + ,[rete] + ,[codfis] + ,[codman] + ,[flgprof] + ,[flgec] + ,[data_ora_refresh] + ,[data_ora_inse] + ,[data_ora_aggi]) +SELECT [dttrim] + ,[rete] + ,[codfis] + ,[codman] + ,[flgprof] + ,[flgec] + ,[data_ora_refresh] + ,[data_ora_inse] + ,[data_ora_aggi] + FROM FSEI0.FSEI0.[fsei0_pdc].[wseirpf] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIRPF' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEISC.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEISC.sql new file mode 100644 index 00000000..ea3e49ee --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEISC.sql @@ -0,0 +1,53 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_WSEISC + + + + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEISC] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEISC' + +TRUNCATE TABLE [C6StagingPeriodico].[WSEISC] + +INSERT INTO [C6StagingPeriodico].[WSEISC] + ([RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODMAN] + ,[FAMPROD] + ,[CODPROD] + ,[SUBPROD] + ,[CODABI] + ,[DTSCAD] + ,[TIPMOV]) +SELECT [RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODMAN] + ,[FAMPROD] + ,[CODPROD] + ,[SUBPROD] + ,[CODABI] + ,[DTSCAD] + ,[TIPMOV] + FROM FSEI0.sfsei0.[fsei0_pdc].[wseisc] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEISC' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIUL.sql b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIUL.sql new file mode 100644 index 00000000..61a59605 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_REPTRIM_WSEIUL.sql @@ -0,0 +1,82 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: REPTRIM_WSEIUL + + + + + + + + + + + + + + +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIUL] +AS +BEGIN + +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIUL' + +TRUNCATE TABLE [C6StagingPeriodico].[WSEIUL] + +INSERT INTO [C6StagingPeriodico].[wseiul] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[CODINT] + ,[SUBPROD] + ,[CTV] + ,[DTRIFE] + ,[ISINFIT] + ,[ISIN] + ,[MAF] + ,[SUBSET] + ,[CODMAN] + ,[PREZZOMAX] + ,[DTPREZZOMAX] + ,[PREZZOPROT] + ,[CTRVIMPPROT] + ,[PREZZO] + ,[QUOTE] + ,[DIVISA] + ,[BASE_PREZZ]) +SELECT [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[CODINT] + ,[SUBPROD] + ,[CTV] + ,[DTRIFE] + ,[ISINFIT] + ,[ISIN] + ,[MAF] + ,[SUBSET] + ,[CODMAN] + ,[PREZZOMAX] + ,[DTPREZZOMAX] + ,[PREZZOPROT] + ,[CTRVIMPPROT] + ,[PREZZO] + ,[QUOTE] + ,[DIVISA] + ,[BASE_PREZZ] + FROM FSEI0.sfsei0.[fsei0_pdc].[wseiul] + + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIUL' + +END + + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_AGGIORNA_SPB_PROF_RISCHIO.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_AGGIORNA_SPB_PROF_RISCHIO.sql new file mode 100644 index 00000000..7cd823fb --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_AGGIORNA_SPB_PROF_RISCHIO.sql @@ -0,0 +1,24 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_AGGIORNA_SPB_PROF_RISCHIO + + + + + + + +CREATE procedure [C6StagingPeriodico].[RP_AGGIORNA_SPB_PROF_RISCHIO] + +AS +BEGIN + +update C6StagingPeriodico.SPB_PROF_RISCHIO +set VARTRIMESTRALE=d.varmax +from consuni.consulenzaunica.dbo.dprofilo d +inner join C6StagingPeriodico.SPB_PROF_RISCHIO s +on d.profilo=s.CODICEPROFILO + + + +END + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA.sql new file mode 100644 index 00000000..a5d5aba1 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA.sql @@ -0,0 +1,108 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_CREA_POSITIONID_CONSULENZA + + + + + + +CREATE procedure [C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Trimestrale' + ) + +truncate table TAB1 + +insert into TAB1 +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, +--***INIZIO INTERVENTI OMNIA*** +-- CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + --inizio INTERVENTO 'RF/MP' - 20171204 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(CODISIN,'') + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') THEN ISNULL(CODISIN,'') + --fine INTERVENTO 'RF/MP' - 20171204 + ELSE '' END AS CODISIN, +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + CODSOTTOPRODOTTO, + position_id +--INTO TAB1 +FROM C6StagingPeriodico.RP_CONSULENZA + +UPDATE TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) + +DECLARE @CNTNULL as int +SELECT @CNTNULL = COUNT(*) FROM TAB1 WHERE isnull(position_id,'') = '' + +--SET @CNTNULL = 0 +IF @CNTNULL = 0 + UPDATE C6StagingPeriodico.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + --inizio INTERVENTO 'RF/MP' - 20171204 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(c.CODISIN,'') + CASE WHEN C.CODINTERNO in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') THEN ISNULL(c.CODISIN,'') + --fine INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6StagingPeriodico.RP_CONSULENZA c + left join TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') +--***INIZIO INTERVENTI OMNIA*** +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(c.CODISIN,'') ELSE '' END +--inizio INTERVENTO 'RE' - 20161213 + --inizio INTERVENTO 'RF/MP' - 20171204 + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB','RE') + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --fine INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 + THEN ISNULL(c.CODISIN,'') + ELSE ' diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20161213.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20161213.sql new file mode 100644 index 00000000..05c0079a --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20161213.sql @@ -0,0 +1,125 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_CREA_POSITIONID_CONSULENZA_20161213 + + + +CREATE procedure [C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA_20161213] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Trimestrale' + ) + +truncate table TAB1 + +insert into TAB1 +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, +--***INIZIO INTERVENTI OMNIA*** +-- CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + ELSE '' END AS CODISIN, +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + CODSOTTOPRODOTTO, + position_id +--INTO TAB1 +FROM C6StagingPeriodico.RP_CONSULENZA + +UPDATE TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) + +DECLARE @CNTNULL as int +SELECT @CNTNULL = COUNT(*) FROM TAB1 WHERE isnull(position_id,'') = '' + +--SET @CNTNULL = 0 +IF @CNTNULL = 0 + UPDATE C6StagingPeriodico.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', + CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6StagingPeriodico.RP_CONSULENZA c + left join TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') +--***INIZIO INTERVENTI OMNIA*** +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(c.CODISIN,'') ELSE '' END + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB') + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null + + +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') <> '' + +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) + +--drop table TAB1 + +IF @CNTNULL = 0 + SELECT @CNTNULL = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') = '' + +if @CNTNULL > 0 + RAISERROR ('Scarti position_id null', 16, 1 ) + + +END + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20171204_preRFMP.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20171204_preRFMP.sql new file mode 100644 index 00000000..855e8d28 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20171204_preRFMP.sql @@ -0,0 +1,125 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_CREA_POSITIONID_CONSULENZA_20171204_preRFMP + + + + +CREATE procedure [C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA_20171204_preRFMP] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Trimestrale' + ) + +truncate table TAB1 + +insert into TAB1 +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, +--***INIZIO INTERVENTI OMNIA*** +-- CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(CODISIN,'') + ELSE '' END AS CODISIN, +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + CODSOTTOPRODOTTO, + position_id +--INTO TAB1 +FROM C6StagingPeriodico.RP_CONSULENZA + +UPDATE TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) + +DECLARE @CNTNULL as int +SELECT @CNTNULL = COUNT(*) FROM TAB1 WHERE isnull(position_id,'') = '' + +--SET @CNTNULL = 0 +IF @CNTNULL = 0 + UPDATE C6StagingPeriodico.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(c.CODISIN,'') +--FINE INTERVENTO 'RE' - 20161213 + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6StagingPeriodico.RP_CONSULENZA c + left join TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') +--***INIZIO INTERVENTI OMNIA*** +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(c.CODISIN,'') ELSE '' END +--inizio INTERVENTO 'RE' - 20161213 + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB','RE') +--FINE INTERVENTO 'RE' - 20161213 + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null + + +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') <> '' + +-- Log esecuzione +UPDATE + LOG_ESECUZIONE_PERIODICO +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) + +--drop table TAB1 + +IF @CNTNULL = 0 + SELECT @CNTNULL = COUNT(*) FROM C6StagingPeriod diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20190725.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20190725.sql new file mode 100644 index 00000000..3b23de84 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20190725.sql @@ -0,0 +1,108 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_CREA_POSITIONID_CONSULENZA_20190725 + + + + + +CREATE procedure [C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA_20190725] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Trimestrale' + ) + +truncate table TAB1 + +insert into TAB1 +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, +--***INIZIO INTERVENTI OMNIA*** +-- CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + --inizio INTERVENTO 'RF/MP' - 20171204 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(CODISIN,'') + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB','RE','RF') THEN ISNULL(CODISIN,'') + --fine INTERVENTO 'RF/MP' - 20171204 + ELSE '' END AS CODISIN, +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + CODSOTTOPRODOTTO, + position_id +--INTO TAB1 +FROM C6StagingPeriodico.RP_CONSULENZA + +UPDATE TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) + +DECLARE @CNTNULL as int +SELECT @CNTNULL = COUNT(*) FROM TAB1 WHERE isnull(position_id,'') = '' + +--SET @CNTNULL = 0 +IF @CNTNULL = 0 + UPDATE C6StagingPeriodico.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + --inizio INTERVENTO 'RF/MP' - 20171204 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(c.CODISIN,'') + CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB','RE','RF') THEN ISNULL(c.CODISIN,'') + --fine INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6StagingPeriodico.RP_CONSULENZA c + left join TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') +--***INIZIO INTERVENTI OMNIA*** +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(c.CODISIN,'') ELSE '' END +--inizio INTERVENTO 'RE' - 20161213 + --inizio INTERVENTO 'RF/MP' - 20171204 + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB','RE') + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB','RE','RF') + --fine INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.positi diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_pre_selective.sql new file mode 100644 index 00000000..f3780302 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_pre_selective.sql @@ -0,0 +1,133 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_CREA_POSITIONID_CONSULENZA_pre_selective + + + +CREATE procedure [C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA_pre_selective] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + +truncate table TAB1 + +insert into TAB1 +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, +--***INIZIO INTERVENTI OMNIA*** +-- CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(CODISIN,'') + ELSE '' END AS CODISIN, +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + CODSOTTOPRODOTTO, + position_id +--INTO TAB1 +FROM C6StagingPeriodico.RP_CONSULENZA + +UPDATE TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) + +DECLARE @CNTNULL as int +SELECT @CNTNULL = COUNT(*) FROM TAB1 WHERE isnull(position_id,'') = '' + +--SET @CNTNULL = 0 +IF @CNTNULL = 0 + UPDATE C6StagingPeriodico.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(c.CODISIN,'') +--FINE INTERVENTO 'RE' - 20161213 + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6StagingPeriodico.RP_CONSULENZA c + left join TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') +--***INIZIO INTERVENTI OMNIA*** +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(c.CODISIN,'') ELSE '' END +--inizio INTERVENTO 'RE' - 20161213 + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB','RE') +--FINE INTERVENTO 'RE' - 20161213 + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null + + +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') <> '' + +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA_pre_selective' + ) + +--drop table TAB1 + +IF @CNTNULL = 0 + SELECT @CNTNULL = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') = '' + +if @CNTNULL > 0 + RAISERROR ('Scarti position_id null', 16, 1 ) + + +END + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza.sql new file mode 100644 index 00000000..9ea7dea5 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza.sql @@ -0,0 +1,118 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_EstrazioneProfiliInScadenza + + + + + + + +CREATE procedure [C6StagingPeriodico].[RP_EstrazioneProfiliInScadenza] + +as +BEGIN + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_EstrazioneProfiliInScadenza', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + DECLARE @id_periodiodo as int + select @id_periodiodo = max(id_periodo) from [CONSUNI].SEIAlertDW.[dbo].[Vis_Mifid_Report] + + --select * into #TempVisMifidReport from [CONSUNI].SEIAlertDW.[dbo].[Vis_Mifid_Report] + + select* +into #TempVisMifidReport +from openquery(CONSUNI, +'SELECT + Mifid.Id_Controllo, Mifid.Id_periodo, Mifid.Rete, + Mifid.CodAgente, Mifid.CodFiscale, Mifid.CodMan, + Cli.Cognome, Cli.Nome, Mifid.DtProfilo, + Mifid.ProfiloAss, Mifid.VarMin, Mifid.VarMax, Mifid.VAR_PTFBF, + --dbo.Calcola_ProfiloDaVar(Mifid.VAR_PTFBF) AS ProfiloPTF, + Mifid.PrioritaAdeg, + Mifid.NumGPAdeguate, Mifid.NumGPNonAdeguate, Mifid.PrioritaProfilatura, + Mifid.RFA_BF, Mifid.CTV_BFCC, Mifid.RifQuest, Mifid.TpQuest, + Mifid.PrioritaAzione, Mifid.Codana, Mifid.Faif, Cli.Sesso, Mifid.ProdNoMifid, + Cli.FlagGp, Cli.DtFirmaConsulenza, Cli.DtUltimoMov, + Mifid.ProfiloCalc, + --Mifid.CodFid, + Mifid.ProfiloScadenza, Mifid.NumGPRevocate, + mifid.dtfirmaconsulenzasei, mifid.tipoconsulenzasei, + Mifid.grado_copertura, Mifid.CodProfiloRischioCredito, + Mifid.CodProfEC, Mifid.ClasseRischioCreditoPTF + + --into #TempVisMifidReport + +FROM (SELECT Profilo, Descrizione, DtInizioValidita, DtFineValidita, VarMin, VarMax, DescrizioneRid + FROM SEIAlertFL.dbo.Profilo AS Profilo_1 + WHERE (YEAR(DtFineValidita) = 9999)) AS Profilo +RIGHT OUTER JOIN ControlloData.dbo.FLSimPB_CodFiscaleProf AS Prof + ON Profilo.Profilo = Prof.ProfiloAss +RIGHT OUTER JOIN SEIALERTDW.dbo.Fact_Mifid AS Mifid +INNER JOIN ControlloData.dbo.FLSimpb_Cliente AS Cli + ON Mifid.CodAgente = Cli.CodAgente + AND Mifid.CodFiscale = Cli.CodFiscale + AND Mifid.CodMan = Cli.CodMan or (Mifid.CodMan is null and Cli.CodMan is null) + ON Prof.Rete = Cli.Rete + AND Prof.codAgente = Cli.CodAgente + AND Prof.CodFiscale = Cli.CodFiscale + AND Prof.CodMan = Cli.CodMan or (Prof.CodMan is null and Cli.CodMan is null) +INNER JOIN SEIalertDW.dbo.ControlloDaElaborareSis co + on Mifid.id_periodo = co.id_periodo + and co.id_controllo = 2') + + + + TRUNCATE TABLE C6STAGINGPERIODICO.RP_MAIL_PROFILI_RISCHIO + + INSERT INTO C6STAGINGPERIODICO.RP_MAIL_PROFILI_RISCHIO + + + select + a.rete, cod_fiscale, codicecontratto, cod_agente, null as data_sott, data_perf, + b.inviobenvenuto as flag_invio_report, profiloAss As Profilo, + dtprofilo as dt_creazione_profilo + from + C6Mart.vcontratti a + inner join C6Mart.contrattosei_metadati b + on a.chiaveclientepb = b.chiaveclientepb + left outer join + --[MIFD_ADEGUATEZZA].SEIAlertDW.[dbo].[Vis_Mifid_Report] c + #TempVisMifidReport c + on + (case + when len(CodMan) = 0 + then c.CodFiscale + else 'FF@'+ CodMan + end) = a.cod_fiscale + and a.rete=c.rete + and a.cod_agente = substring(c.codagente, 2, len(c.codagente)- 1) + where + c.id_periodo= @id_periodiodo--- chiedi ad antonio il periodo + and a.data_fineavanzato > getDate() + + --CONDIZIONE FILTRO PER I PROSSIMI 3 MESI + --And datediff(dd,dtprofilo,dateadd(mm,3,getdate()))/365.25>3 + --And datediff(dd,dtprofilo,getdate())/365.25>3 +-- +-- union +-- +-- select +-- a.rete, cod_fiscale, codicecontratto, cod_agente, data_sott, data_perf, +-- inviobenvenuto as flag_invio_report, profilo, dtprofilo as dt_creazione_profilo +-- from +-- c6mart.contrattosei a +-- left outer join +-- [10.10.32.84].controllodata.dbo.clientiAdeguatezza_ALL b +-- on +-- (case +-- when len("codice mandato") = 0 +-- then b."codice fiscale" +-- else 'FF@'+"codice mandato" +-- end) = a.cod_fiscale diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_20161221.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_20161221.sql new file mode 100644 index 00000000..45c96a42 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_20161221.sql @@ -0,0 +1,112 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_EstrazioneProfiliInScadenza_20161221 + + + + +CREATE procedure [C6StagingPeriodico].[RP_EstrazioneProfiliInScadenza_20161221] + +as +BEGIN + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_EstrazioneProfiliInScadenza', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + DECLARE @id_periodiodo as int + select @id_periodiodo = max(id_periodo) from [MIFD_ADEGUATEZZA].SEIAlertDW.[dbo].[Vis_Mifid_Report] + + select * into #TempVisMifidReport from [MIFD_ADEGUATEZZA].SEIAlertDW.[dbo].[Vis_Mifid_Report] + + + TRUNCATE TABLE C6STAGINGPERIODICO.RP_MAIL_PROFILI_RISCHIO + + INSERT INTO C6STAGINGPERIODICO.RP_MAIL_PROFILI_RISCHIO + + + select + a.rete, cod_fiscale, codicecontratto, cod_agente, null as data_sott, data_perf, + b.inviobenvenuto as flag_invio_report, profiloAss As Profilo, + dtprofilo as dt_creazione_profilo + from + C6Mart.vcontratti a + inner join C6Mart.contrattosei_metadati b + on a.chiaveclientepb = b.chiaveclientepb + left outer join + --[MIFD_ADEGUATEZZA].SEIAlertDW.[dbo].[Vis_Mifid_Report] c + #TempVisMifidReport c + on + (case + when len(CodMan) = 0 + then c.CodFiscale + else 'FF@'+ CodMan + end) = a.cod_fiscale + and a.rete=c.rete + and a.cod_agente = substring(c.codagente, 2, len(c.codagente)- 1) + where + c.id_periodo= @id_periodiodo--- chiedi ad antonio il periodo + and a.data_fineavanzato > getDate() + + --CONDIZIONE FILTRO PER I PROSSIMI 3 MESI + --And datediff(dd,dtprofilo,dateadd(mm,3,getdate()))/365.25>3 + --And datediff(dd,dtprofilo,getdate())/365.25>3 +-- +-- union +-- +-- select +-- a.rete, cod_fiscale, codicecontratto, cod_agente, data_sott, data_perf, +-- inviobenvenuto as flag_invio_report, profilo, dtprofilo as dt_creazione_profilo +-- from +-- c6mart.contrattosei a +-- left outer join +-- [10.10.32.84].controllodata.dbo.clientiAdeguatezza_ALL b +-- on +-- (case +-- when len("codice mandato") = 0 +-- then b."codice fiscale" +-- else 'FF@'+"codice mandato" +-- end) = a.cod_fiscale +-- and a.rete=b.rete +-- where +-- b.id_periodo= @id_periodiodo +-- and a.data_fineavanzato is null +-- +-- --CONDIZIONE FILTRO PER scaduti +-- And profiloscaduto='S' + +--order by dt_creazione_profilo + +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_EstrazioneProfiliInScadenza' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_EstrazioneProfiliInScadenza' + ) + + + +end + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_20180720.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_20180720.sql new file mode 100644 index 00000000..f185eab8 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_20180720.sql @@ -0,0 +1,115 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_EstrazioneProfiliInScadenza_20180720 + + + + + + +CREATE procedure [C6StagingPeriodico].[RP_EstrazioneProfiliInScadenza_20180720] + +as +BEGIN + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_EstrazioneProfiliInScadenza', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + DECLARE @id_periodiodo as int + select @id_periodiodo = max(id_periodo) from [CONSUNI].SEIAlertDW.[dbo].[Vis_Mifid_Report] + + select * into #TempVisMifidReport from [CONSUNI].SEIAlertDW.[dbo].[Vis_Mifid_Report] + + + TRUNCATE TABLE C6STAGINGPERIODICO.RP_MAIL_PROFILI_RISCHIO + + INSERT INTO C6STAGINGPERIODICO.RP_MAIL_PROFILI_RISCHIO + + + select + a.rete, cod_fiscale, codicecontratto, cod_agente, null as data_sott, data_perf, + b.inviobenvenuto as flag_invio_report, profiloAss As Profilo, + dtprofilo as dt_creazione_profilo + from + C6Mart.vcontratti a + inner join C6Mart.contrattosei_metadati b + on a.chiaveclientepb = b.chiaveclientepb + left outer join + --[MIFD_ADEGUATEZZA].SEIAlertDW.[dbo].[Vis_Mifid_Report] c + #TempVisMifidReport c + on + (case + when len(CodMan) = 0 + then c.CodFiscale + else 'FF@'+ CodMan + end) = a.cod_fiscale + and a.rete=c.rete + and a.cod_agente = substring(c.codagente, 2, len(c.codagente)- 1) + where + c.id_periodo= @id_periodiodo--- chiedi ad antonio il periodo + and a.data_fineavanzato > getDate() + + --CONDIZIONE FILTRO PER I PROSSIMI 3 MESI + --And datediff(dd,dtprofilo,dateadd(mm,3,getdate()))/365.25>3 + --And datediff(dd,dtprofilo,getdate())/365.25>3 +-- +-- union +-- +-- select +-- a.rete, cod_fiscale, codicecontratto, cod_agente, data_sott, data_perf, +-- inviobenvenuto as flag_invio_report, profilo, dtprofilo as dt_creazione_profilo +-- from +-- c6mart.contrattosei a +-- left outer join +-- [10.10.32.84].controllodata.dbo.clientiAdeguatezza_ALL b +-- on +-- (case +-- when len("codice mandato") = 0 +-- then b."codice fiscale" +-- else 'FF@'+"codice mandato" +-- end) = a.cod_fiscale +-- and a.rete=b.rete +-- where +-- b.id_periodo= @id_periodiodo +-- and a.data_fineavanzato is null +-- +-- --CONDIZIONE FILTRO PER scaduti +-- And profiloscaduto='S' + +--order by dt_creazione_profilo + +-- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_EstrazioneProfiliInScadenza' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_EstrazioneProfiliInScadenza' + ) + + + +end + + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_new.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_new.sql new file mode 100644 index 00000000..0de929a9 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_new.sql @@ -0,0 +1,109 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_EstrazioneProfiliInScadenza_new + + + +CREATE procedure [C6StagingPeriodico].[RP_EstrazioneProfiliInScadenza_new] + +as +BEGIN + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_EstrazioneProfiliInScadenza2', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + DECLARE @id_periodiodo as int + declare @date as datetime; + select @id_periodiodo = max(id_periodo) from [MIFD_ADEGUATEZZA].SEIAlertDW.[dbo].[Vis_Mifid_Report] + + select * into #TempVisMifidReport from [MIFD_ADEGUATEZZA].SEIAlertDW.[dbo].[Vis_Mifid_Report] + + TRUNCATE TABLE C6STAGINGPERIODICO.RP_MAIL_PROFILI_RISCHIO_TEST + + INSERT INTO C6STAGINGPERIODICO.RP_MAIL_PROFILI_RISCHIO_TEST + + + select + a.rete, cod_fiscale, codicecontratto, cod_agente, null as data_sott, data_perf, + b.inviobenvenuto as flag_invio_report, profiloAss As Profilo, + dtprofilo as dt_creazione_profilo + from + C6Mart.vcontratti a + inner join C6Mart.contrattosei_metadati b + on a.chiaveclientepb = b.chiaveclientepb + left outer join + #TempVisMifidReport c + on + (case + when len(CodMan) = 0 + then c.CodFiscale + else 'FF@'+ CodMan + end) = a.cod_fiscale + and a.rete=c.rete + and a.cod_agente = substring(c.codagente, 2, len(c.codagente)- 1) + where + c.id_periodo= @id_periodiodo--- chiedi ad antonio il periodo + and a.data_fineavanzato > getDate() + + --CONDIZIONE FILTRO PER I PROSSIMI 3 MESI + --And datediff(dd,dtprofilo,dateadd(mm,3,getdate()))/365.25>3 + --And datediff(dd,dtprofilo,getdate())/365.25>3 +-- +-- union +-- +-- select +-- a.rete, cod_fiscale, codicecontratto, cod_agente, data_sott, data_perf, +-- inviobenvenuto as flag_invio_report, profilo, dtprofilo as dt_creazione_profilo +-- from +-- c6mart.contrattosei a +-- left outer join +-- [10.10.32.84].controllodata.dbo.clientiAdeguatezza_ALL b +-- on +-- (case +-- when len("codice mandato") = 0 +-- then b."codice fiscale" +-- else 'FF@'+"codice mandato" +-- end) = a.cod_fiscale +-- and a.rete=b.rete +-- where +-- b.id_periodo= @id_periodiodo +-- and a.data_fineavanzato is null +-- +-- --CONDIZIONE FILTRO PER scaduti +-- And profiloscaduto='S' + +--order by dt_creazione_profilo + +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_EstrazioneProfiliInScadenza2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_EstrazioneProfiliInScadenza' + ) + + + +end + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_pre_selective.sql new file mode 100644 index 00000000..8265954c --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_pre_selective.sql @@ -0,0 +1,112 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_EstrazioneProfiliInScadenza_pre_selective + + + + +CREATE procedure [C6StagingPeriodico].[RP_EstrazioneProfiliInScadenza_pre_selective] + +as +BEGIN + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_EstrazioneProfiliInScadenza_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + DECLARE @id_periodiodo as int + select @id_periodiodo = max(id_periodo) from [CONSUNI].SEIAlertDW.[dbo].[Vis_Mifid_Report] + + select * into #TempVisMifidReport from [CONSUNI].SEIAlertDW.[dbo].[Vis_Mifid_Report] + + + TRUNCATE TABLE C6STAGINGPERIODICO.RP_MAIL_PROFILI_RISCHIO + + INSERT INTO C6STAGINGPERIODICO.RP_MAIL_PROFILI_RISCHIO + + + select + a.rete, cod_fiscale, codicecontratto, cod_agente, null as data_sott, data_perf, + b.inviobenvenuto as flag_invio_report, profiloAss As Profilo, + dtprofilo as dt_creazione_profilo + from + C6Mart.vcontratti a + inner join C6Mart.contrattosei_metadati b + on a.chiaveclientepb = b.chiaveclientepb + left outer join + --[MIFD_ADEGUATEZZA].SEIAlertDW.[dbo].[Vis_Mifid_Report] c + #TempVisMifidReport c + on + (case + when len(CodMan) = 0 + then c.CodFiscale + else 'FF@'+ CodMan + end) = a.cod_fiscale + and a.rete=c.rete + and a.cod_agente = substring(c.codagente, 2, len(c.codagente)- 1) + where + c.id_periodo= @id_periodiodo--- chiedi ad antonio il periodo + and a.data_fineavanzato > getDate() + + --CONDIZIONE FILTRO PER I PROSSIMI 3 MESI + --And datediff(dd,dtprofilo,dateadd(mm,3,getdate()))/365.25>3 + --And datediff(dd,dtprofilo,getdate())/365.25>3 +-- +-- union +-- +-- select +-- a.rete, cod_fiscale, codicecontratto, cod_agente, data_sott, data_perf, +-- inviobenvenuto as flag_invio_report, profilo, dtprofilo as dt_creazione_profilo +-- from +-- c6mart.contrattosei a +-- left outer join +-- [10.10.32.84].controllodata.dbo.clientiAdeguatezza_ALL b +-- on +-- (case +-- when len("codice mandato") = 0 +-- then b."codice fiscale" +-- else 'FF@'+"codice mandato" +-- end) = a.cod_fiscale +-- and a.rete=b.rete +-- where +-- b.id_periodo= @id_periodiodo +-- and a.data_fineavanzato is null +-- +-- --CONDIZIONE FILTRO PER scaduti +-- And profiloscaduto='S' + +--order by dt_creazione_profilo + +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_EstrazioneProfiliInScadenza_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_EstrazioneProfiliInScadenza_pre_selective' + ) + + + +end + + + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_POPOLAMENTO_WSMOV_CONTRATTO_SCARICO.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_POPOLAMENTO_WSMOV_CONTRATTO_SCARICO.sql new file mode 100644 index 00000000..6ddfe90e --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_POPOLAMENTO_WSMOV_CONTRATTO_SCARICO.sql @@ -0,0 +1,41 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_POPOLAMENTO_WSMOV_CONTRATTO_SCARICO + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6StagingPeriodico].[RP_POPOLAMENTO_WSMOV_CONTRATTO_SCARICO] + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + + + --troncare la tabella esistente + + truncate table [C6StagingPeriodico].WSMOV_CONTRATTO_SCARICO + + + -- popolamento tabella + + insert into [C6StagingPeriodico].WSMOV_CONTRATTO_SCARICO + select + [WSMOV_PRODOTTO] + ,[WSMOV_OPERAZIONE] + ,[WSMOV_FIRMA_DIGITALE] + ,[WSMOV_CONTRATTO] + ,[WSMOV_PROGRESSIVO] + ,[WSMOV_DATA_ESEGUITO] + from [SYSC].[ITIMISYSCDSN].[F].[WSMOV] + where WSMOV_DATA_ESEGUITO >= '20150708' + and wsmov_data_eseguito not like '99%' + + + +END + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql new file mode 100644 index 00000000..db03d2cd --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql @@ -0,0 +1,61 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE + + + + + + +-- Questa sp aggiorna il campo 'beneficio' della [PROMETEIA_AGGR] con il valore del nuovo indicatore dalla nuova tabella PROMETEIA_AGGR_IndDiv +CREATE procedure [C6StagingPeriodico].[RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE] + +AS +BEGIN + +-- *********************************************** 10/7/2018 ********************************************** +-- BONIFICA DELLA TABELLA PER I VALORI NON CALCOLATI (Nan) TORNATI DAL SERVIZIO PER ALCUNI CF/PTF +-- NECESSARIA PER NON MANDARE IN ERRORE LA UPDATE + +update a set indicatore = '0.0' + FROM [C6StampeCentralizzate].[C6martPeriodico].[brsinddiv] a + where + not indicatore like '%[0-9]%' + + + +-- ********************************************* FINE BONIFICA ******************************************** + + --aggiorna il beneficio per il COMPLESSIVO +--UPDATE aggr set aggr.beneficio = CAST(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) AS DECIMAL(12,3)) +--con le replace sostituisco i caratteri speciali a fine testo che mandano in errore il cast quando l'indicatore = 0.0 - CHAR(13) = cr, CHAR(10) = lf +UPDATE aggr set aggr.beneficio = CAST(inddiv.indicatore AS DECIMAL(12,3)) +from +[C6martPeriodico].[brsvarallaggr] aggr +inner join +[C6martPeriodico].[brsinddiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale +where aggr.portafoglio = 'COMPLESSIVO' + +--aggiorna il beneficio per il COMPLESSIVO|BF +UPDATE aggr set aggr.beneficio = CAST(inddiv.indicatore AS DECIMAL(12,3)) +from +[C6martPeriodico].[brsvarallaggr] aggr +inner join +[C6martPeriodico].[brsinddiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_BF' +where aggr.portafoglio = 'COMPLESSIVO|BF' + +--aggiorna il beneficio per il COMPLESSIVO|TERZI +UPDATE aggr set aggr.beneficio = CAST(inddiv.indicatore AS DECIMAL(12,3)) +from +[C6martPeriodico].[brsvarallaggr] aggr +inner join +[C6martPeriodico].[brsinddiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_TERZI' +where aggr.portafoglio = 'COMPLESSIVO|TERZI' + + + + +END + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_20180710.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_20180710.sql new file mode 100644 index 00000000..366e5030 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_20180710.sql @@ -0,0 +1,63 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_20180710 + + + + + + +-- Questa sp aggiorna il campo 'beneficio' della [PROMETEIA_AGGR] con il valore del nuovo indicatore dalla nuova tabella PROMETEIA_AGGR_IndDiv +CREATE procedure [C6StagingPeriodico].[RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_20180710] + +AS +BEGIN + + + --update + --[C6StagingPeriodico].[PROMETEIA_AGGR] + --set Beneficio = b.indicatore + --from [C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] b + --where + --([C6StagingPeriodico].[PROMETEIA_AGGR].rete = b.rete + -- and [C6StagingPeriodico].[PROMETEIA_AGGR].CodiceFiscale = b.cod_fiscale) + --and + --[C6StagingPeriodico].[PROMETEIA_AGGR].Portafoglio = 'COMPLESSIVO|BF' + + + --aggiorna il beneficio per il COMPLESSIVO +--UPDATE aggr set aggr.beneficio = CAST(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) AS DECIMAL(12,3)) +--con le replace sostituisco i caratteri speciali a fine testo che mandano in errore il cast quando l'indicatore = 0.0 - CHAR(13) = cr, CHAR(10) = lf +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodico].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale +where aggr.portafoglio = 'COMPLESSIVO' + +--aggiorna il beneficio per il COMPLESSIVO|BF +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodico].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_BF' +where aggr.portafoglio = 'COMPLESSIVO|BF' + +--aggiorna il beneficio per il COMPLESSIVO|TERZI +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodico].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_TERZI' +where aggr.portafoglio = 'COMPLESSIVO|TERZI' + + + + +END + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_preAladdin.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_preAladdin.sql new file mode 100644 index 00000000..79e0cd0b --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_preAladdin.sql @@ -0,0 +1,65 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_preAladdin + + + + + + + +-- Questa sp aggiorna il campo 'beneficio' della [PROMETEIA_AGGR] con il valore del nuovo indicatore dalla nuova tabella PROMETEIA_AGGR_IndDiv +CREATE procedure [C6StagingPeriodico].[RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_preAladdin] + +AS +BEGIN + +-- *********************************************** 10/7/2018 ********************************************** +-- BONIFICA DELLA TABELLA PER I VALORI NON CALCOLATI (Nan) TORNATI DAL SERVIZIO PER ALCUNI CF/PTF +-- NECESSARIA PER NON MANDARE IN ERRORE LA UPDATE + +update a set indicatore = '0.0' + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] a + where + not indicatore like '%[0-9]%' + + + +-- ********************************************* FINE BONIFICA ******************************************** + + --aggiorna il beneficio per il COMPLESSIVO +--UPDATE aggr set aggr.beneficio = CAST(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) AS DECIMAL(12,3)) +--con le replace sostituisco i caratteri speciali a fine testo che mandano in errore il cast quando l'indicatore = 0.0 - CHAR(13) = cr, CHAR(10) = lf +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodico].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale +where aggr.portafoglio = 'COMPLESSIVO' + +--aggiorna il beneficio per il COMPLESSIVO|BF +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodico].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_BF' +where aggr.portafoglio = 'COMPLESSIVO|BF' + +--aggiorna il beneficio per il COMPLESSIVO|TERZI +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodico].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_TERZI' +where aggr.portafoglio = 'COMPLESSIVO|TERZI' + + + + +END + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI.20171120_New_en.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI.20171120_New_en.sql new file mode 100644 index 00000000..f3ffb3bc --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI.20171120_New_en.sql @@ -0,0 +1,143 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_APPO_CONTRATTI.20171120_New_en + + + + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_APPO_CONTRATTI.20171120_New_en] +AS + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_APPO_CONTRATTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + declare @dtold datetime + declare @dtpre datetime + declare @dttrim datetime + + + set @dttrim = cast(c6martperiodico.getTrimestre2(getDate(), 1) as datetime) + --INIZIO INTERVENTO MAU + --set @dtpre = DATEADD(month, -1,@dttrim) + --set @dtold = DATEADD(month, -3,@dttrim) + set @dtold = DATEADD(month, -2,@dttrim) + --FINE INTERVENTO MAU + + + print @dttrim + print @dtpre + print @dtold + + +TRUNCATE TABLE ScartiQuadratura + + SELECT DISTINCT + CASE WHEN CF IS NULL THEN PIVA + WHEN CF IS NOT NULL AND PIVA IS NOT NULL THEN 'FF@'+CF + ELSE CF + END COD_FISCALE, + RETE, + CODICECONTRATTO, + DATACHIUSURAAVANZATO AS DATA_FINEAVANZATO + INTO #DFA + FROM + [CONSUNI].consulenzaUnica.dbo.VCONTRATTIFINEAVANZATO + + --ESTRAIAMO TUTTI I CF CHE HANNO RICEVUTO IL REPORT DI BENVENUTO ENTRO L'ULTIMO GIORNO DEL MESE PRECEDENTE + --AL MESE DI FINE TRIMESTRE (ES: PER IL 4 TRIMESTRE 01/10 - 31/12 REPORT DI BENVENUTO RICEVUTO ENTRO IL 30/11) + SELECT + PDF1.CODICEFISCALE AS CF,PDF1.RETE AS R,SUBSTRING(PDF1.NOMEFILE,0,12) AS C,PDF1.DATAGENERAZIONE AS D + INTO #pdf1 + FROM c6mart.gestione_PDF_ftp PDF1 + WHERE 1=1 + AND DATAGENERAZIONE < @dttrim + + + + select a.* + into #DFA1 + from #DFA a + inner join ( + select c.*,max(data_fineavanzato) over (partition by rete,cod_fiscale) as data_max + from #DFA c + inner join #pdf1 d + on c.rete=d.R and c.cod_fiscale=d.CF and c.codicecontratto=d.C + ) b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and a.data_fineavanzato=b.data_fineavanzato + and a.data_fineavanzato=data_max + +---- 2017-11-20 inizio +---- gestire i clienti professionali a cui assegnato un nuovo contratto per i quali non previsto l'invio della lettera di benvenuto + UNION + select a.* + --into #DFA2 + from #DFA a + inner join ( + select c.*,max(data_fineavanzato) over (partition by rete,cod_fiscale) as data_max + from #DFA c + left join #pdf1 d + on c.rete=d.R and c.cod_fiscale=d.CF and c.codicecontratto=d.C where d.C is null + ) b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and a.data_fineavanzato=b.data_fineavanzato + and a.data_fineavanzato=data_max + + inner join C6StagingPeriodico.ClientIProfessionali cp + on a.rete=cp.rete and a.cod_fiscale=cp.codiceFiscale and a.codiceContratto=cp.codiceContratto +----verificare clienti profiessionali +----select * from #DFA1 +----where cod_fiscale in ( +----'MGNGPP55B25G224T', +----'FF@5844', +----'BTTFST43C42B300A', +----'TMSRRT59R13L967T', +----'RSCFNC43M09A965T', +----'NDRMRA39D15C623K', +----'PDRPLA72H21C623T' +----) +-------------------------------------------------------------------------------------------------------------------------- +---- 2017-11-21 fine + + --ESTRAIAMO TUTTI I CONTRATTI NON REVOCATI (DATA REVOCA IMPOSTATA CON DEFAULT 99990131) E QUELLI CHE + --SONO STATI REVOCATI DURANTE IL TRIMESTRE OGGETTO DI TRIMESTRALE + --(ES: PER IL 4 TRIMESTRE 01/10 - 31/12 TUTTI I CONTRATTI CHE RISULTANO NON REVOCATI + QUELLI CHE SONO STATI + --REVOCATO DOPO IL 30/09) + SELECT DISTINCT P.* + INTO #PDF + FROM #PDF1 P + INNER JOIN #DFA1 VC + ON P.CF = VC.COD_FISCALE AND P.R=VC.RETE AND P.C=VC.CODICECONTRATTO + WHERE DATA_FINEAVANZATO >= @dtold + + +select C.* +INTO #CONGELATI +from +#PDF P +INNER JOIN + C6StagingPeriodico.ContrattiPreTrimestrale c +ON P.R = C.RETE +AND P.CF = C.COD_FISCALE +AND P.C = C.CODICECONTRATTO + + + +select C.* +INTO #CONGELATICHIUSI +from +#PDF P +INNER JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + c6martperiodico.getTrimestre(getDAte(), 0)) c +ON + P.R = c.RETE +AND diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI.sql new file mode 100644 index 00000000..e0ec7b4f --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI.sql @@ -0,0 +1,146 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_APPO_CONTRATTI + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_APPO_CONTRATTI] +AS + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_APPO_CONTRATTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + declare @dtold datetime + declare @dtpre datetime + declare @dttrim datetime + + + set @dttrim = cast(c6martperiodico.getTrimestre2(getDate(), 1) as datetime) + --INIZIO INTERVENTO MAU + --set @dtpre = DATEADD(month, -1,@dttrim) + --set @dtold = DATEADD(month, -3,@dttrim) + set @dtold = DATEADD(month, -2,@dttrim) + --FINE INTERVENTO MAU + + + print @dttrim + print @dtpre + print @dtold + + +TRUNCATE TABLE ScartiQuadratura + + SELECT DISTINCT + CASE WHEN CF IS NULL THEN PIVA + WHEN CF IS NOT NULL AND PIVA IS NOT NULL THEN 'FF@'+CF + ELSE CF + END COD_FISCALE, + RETE, + CODICECONTRATTO, + DATACHIUSURAAVANZATO AS DATA_FINEAVANZATO + INTO #DFA + FROM + [CONSUNI].consulenzaUnica.dbo.VCONTRATTIFINEAVANZATO + + --ESTRAIAMO TUTTI I CF CHE HANNO RICEVUTO IL REPORT DI BENVENUTO ENTRO L'ULTIMO GIORNO DEL MESE PRECEDENTE + --AL MESE DI FINE TRIMESTRE (ES: PER IL 4 TRIMESTRE 01/10 - 31/12 REPORT DI BENVENUTO RICEVUTO ENTRO IL 30/11) + SELECT + PDF1.CODICEFISCALE AS CF,PDF1.RETE AS R,SUBSTRING(PDF1.NOMEFILE,0,12) AS C,PDF1.DATAGENERAZIONE AS D + INTO #pdf1 + FROM c6mart.gestione_PDF_ftp PDF1 + WHERE 1=1 + AND DATAGENERAZIONE < @dttrim + + + select a.* + into #DFA1 + from #DFA a + inner join ( + select c.*,max(data_fineavanzato) over (partition by rete,cod_fiscale) as data_max + from #DFA c + inner join #pdf1 d + on c.rete=d.R and c.cod_fiscale=d.CF and c.codicecontratto=d.C + ) b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and a.data_fineavanzato=b.data_fineavanzato + and a.data_fineavanzato=data_max + + + --ESTRAIAMO TUTTI I CONTRATTI NON REVOCATI (DATA REVOCA IMPOSTATA CON DEFAULT 99990131) E QUELLI CHE + --SONO STATI REVOCATI DURANTE IL TRIMESTRE OGGETTO DI TRIMESTRALE + --(ES: PER IL 4 TRIMESTRE 01/10 - 31/12 TUTTI I CONTRATTI CHE RISULTANO NON REVOCATI + QUELLI CHE SONO STATI + --REVOCATO DOPO IL 30/09) + SELECT DISTINCT P.* + INTO #PDF + FROM #PDF1 P + INNER JOIN #DFA1 VC + ON P.CF = VC.COD_FISCALE AND P.R=VC.RETE AND P.C=VC.CODICECONTRATTO + WHERE DATA_FINEAVANZATO >= @dtold + + +select C.* +INTO #CONGELATI +from +#PDF P +INNER JOIN + C6StagingPeriodico.ContrattiPreTrimestrale c +ON P.R = C.RETE +AND P.CF = C.COD_FISCALE +AND P.C = C.CODICECONTRATTO + + + +select C.* +INTO #CONGELATICHIUSI +from +#PDF P +INNER JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + c6martperiodico.getTrimestre(getDAte(), 0)) c +ON + P.R = c.RETE +AND + p.CF = case when len(c.CF) < 16 then 'FF@' + c.CF + when c.CF is null then c.PIVA + else c.CF END +AND P.C = C.COD_CONF +LEFT JOIN #CONGELATI CONG +ON P.R = CONG.RETE +AND P.CF = CONG.COD_FISCALE +AND P.C = CONG.CODICECONTRATTO +WHERE CONG.RETE IS NULL + +TRUNCATE TABLE C6StagingPERIODICO.APPO_CONTRATTI +INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI +SELECT + * +FROM + #CONGELATI +-- modifica del 1/12/2016 - contratto non pi esistente - query inutile +-- modifica del 5/12/2016 - segnalata squadratura con capgemini: quindi sembra un agente fittizio; ripristino +WHERE codicecontratto <> '390026CO101' and cod_agente <> '015312' --MRRRRT78S30L219K cliente di prova +-- fine modifica del 5/12/2016 +-- fine modifica del 1/12/2016 +and codicecontratto not in +( +select codicecontratto from EsclusioneContrattiPerQuadratura +) +UNION +SELECT +chiaveClientePB, +--case when len(CF) < 16 then 'FF@' + CF else CF END as COD_FISCALE, +case when len(CF) < 16 then 'FF@' + CF + when CF is null then PIVA + else CF END as COD_FISCALE, +NULL as COD_MANDATO, +PIVA as PIVA_FIDUCIARIA, +PB as COD_AGENTE, +RETE, +COD_CONF as codice diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20160902.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20160902.sql new file mode 100644 index 00000000..cb3317c9 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20160902.sql @@ -0,0 +1,151 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_APPO_CONTRATTI_20160902 + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_APPO_CONTRATTI_20160902] +AS + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_APPO_CONTRATTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + declare @dtold datetime + declare @dtpre datetime + declare @dttrim datetime + + + set @dttrim = cast(c6martperiodico.getTrimestre2(getDate(), 1) as datetime) + --INIZIO INTERVENTO MAU + --set @dtpre = DATEADD(month, -1,@dttrim) + --set @dtold = DATEADD(month, -3,@dttrim) + set @dtold = DATEADD(month, -2,@dttrim) + --FINE INTERVENTO MAU + + + print @dttrim + print @dtpre + print @dtold + + +TRUNCATE TABLE ScartiQuadratura + + SELECT DISTINCT + CASE WHEN CF IS NULL THEN PIVA + WHEN CF IS NOT NULL AND PIVA IS NOT NULL THEN 'FF@'+CF + ELSE CF + END COD_FISCALE, + RETE, + CODICECONTRATTO, + DATACHIUSURAAVANZATO AS DATA_FINEAVANZATO + INTO #DFA + FROM + [CONSEVO].consulenzaEvoluta.dbo.VCONTRATTIFINEAVANZATO + + --ESTRAIAMO TUTTI I CF CHE HANNO RICEVUTO IL REPORT DI BENVENUTO ENTRO L'ULTIMO GIORNO DEL MESE PRECEDENTE + --AL MESE DI FINE TRIMESTRE (ES: PER IL 4 TRIMESTRE 01/10 - 31/12 REPORT DI BENVENUTO RICEVUTO ENTRO IL 30/11) + SELECT + PDF1.CODICEFISCALE AS CF,PDF1.RETE AS R,SUBSTRING(PDF1.NOMEFILE,0,12) AS C,PDF1.DATAGENERAZIONE AS D + INTO #pdf1 + FROM c6mart.gestione_PDF_ftp PDF1 + WHERE 1=1 + AND DATAGENERAZIONE < @dttrim + + + select a.* + into #DFA1 + from #DFA a + inner join ( + select c.*,max(data_fineavanzato) over (partition by rete,cod_fiscale) as data_max + from #DFA c + inner join #pdf1 d + on c.rete=d.R and c.cod_fiscale=d.CF and c.codicecontratto=d.C + ) b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and a.data_fineavanzato=b.data_fineavanzato + and a.data_fineavanzato=data_max + + + --ESTRAIAMO TUTTI I CONTRATTI NON REVOCATI (DATA REVOCA IMPOSTATA CON DEFAULT 99990131) E QUELLI CHE + --SONO STATI REVOCATI DURANTE IL TRIMESTRE OGGETTO DI TRIMESTRALE + --(ES: PER IL 4 TRIMESTRE 01/10 - 31/12 TUTTI I CONTRATTI CHE RISULTANO NON REVOCATI + QUELLI CHE SONO STATI + --REVOCATO DOPO IL 30/09) + SELECT DISTINCT P.* + INTO #PDF + FROM #PDF1 P + INNER JOIN #DFA1 VC + ON P.CF = VC.COD_FISCALE AND P.R=VC.RETE AND P.C=VC.CODICECONTRATTO + WHERE DATA_FINEAVANZATO >= @dtold + + +select C.* +INTO #CONGELATI +from +#PDF P +INNER JOIN + C6StagingPeriodico.ContrattiPreTrimestrale c +ON P.R = C.RETE +AND P.CF = C.COD_FISCALE +AND P.C = C.CODICECONTRATTO + + + +select C.* +INTO #CONGELATICHIUSI +from +#PDF P +INNER JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + c6martperiodico.getTrimestre(getDAte(), 0)) c +ON + P.R = c.RETE +AND + p.CF = case when len(c.CF) < 16 then 'FF@' + c.CF + when c.CF is null then c.PIVA + else c.CF END +AND P.C = C.COD_CONF +LEFT JOIN #CONGELATI CONG +ON P.R = CONG.RETE +AND P.CF = CONG.COD_FISCALE +AND P.C = CONG.CODICECONTRATTO +WHERE CONG.RETE IS NULL + +TRUNCATE TABLE C6StagingPERIODICO.APPO_CONTRATTI +INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI +SELECT + * +FROM + #CONGELATI +WHERE codicecontratto <> '390026CO101' and cod_agente <> '015312' --MRRRRT78S30L219K cliente di prova +AND codicecontratto not in +( +select codicecontratto from EsclusioneContrattiPerQuadratura +) +UNION +SELECT +chiaveClientePB, +--case when len(CF) < 16 then 'FF@' + CF else CF END as COD_FISCALE, +case when len(CF) < 16 then 'FF@' + CF + when CF is null then PIVA + else CF END as COD_FISCALE, +NULL as COD_MANDATO, +PIVA as PIVA_FIDUCIARIA, +PB as COD_AGENTE, +RETE, +COD_CONF as codiceContratto, +NULL as flagRol, +INDIRIZZO, +CAP, +CITTA, +PROV as PROVINCIA, +NAZIONE, +null as PRESSO, +EMAIL, +FREQUENZA_DIAGNOSI as FREQ_DIAGNOSI, +FREQUENZA_MONITORAGGIO as FREQ_MONITORAGGIO, +FLAG_STAMPA_REPORT as GENERAZIONEREPORT, diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20161205.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20161205.sql new file mode 100644 index 00000000..5fb2b0cf --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20161205.sql @@ -0,0 +1,151 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_APPO_CONTRATTI_20161205 + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_APPO_CONTRATTI_20161205] +AS + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_APPO_CONTRATTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + declare @dtold datetime + declare @dtpre datetime + declare @dttrim datetime + + + set @dttrim = cast(c6martperiodico.getTrimestre2(getDate(), 1) as datetime) + --INIZIO INTERVENTO MAU + --set @dtpre = DATEADD(month, -1,@dttrim) + --set @dtold = DATEADD(month, -3,@dttrim) + set @dtold = DATEADD(month, -2,@dttrim) + --FINE INTERVENTO MAU + + + print @dttrim + print @dtpre + print @dtold + + +TRUNCATE TABLE ScartiQuadratura + + SELECT DISTINCT + CASE WHEN CF IS NULL THEN PIVA + WHEN CF IS NOT NULL AND PIVA IS NOT NULL THEN 'FF@'+CF + ELSE CF + END COD_FISCALE, + RETE, + CODICECONTRATTO, + DATACHIUSURAAVANZATO AS DATA_FINEAVANZATO + INTO #DFA + FROM + [CONSUNI].consulenzaUnica.dbo.VCONTRATTIFINEAVANZATO + + --ESTRAIAMO TUTTI I CF CHE HANNO RICEVUTO IL REPORT DI BENVENUTO ENTRO L'ULTIMO GIORNO DEL MESE PRECEDENTE + --AL MESE DI FINE TRIMESTRE (ES: PER IL 4 TRIMESTRE 01/10 - 31/12 REPORT DI BENVENUTO RICEVUTO ENTRO IL 30/11) + SELECT + PDF1.CODICEFISCALE AS CF,PDF1.RETE AS R,SUBSTRING(PDF1.NOMEFILE,0,12) AS C,PDF1.DATAGENERAZIONE AS D + INTO #pdf1 + FROM c6mart.gestione_PDF_ftp PDF1 + WHERE 1=1 + AND DATAGENERAZIONE < @dttrim + + + select a.* + into #DFA1 + from #DFA a + inner join ( + select c.*,max(data_fineavanzato) over (partition by rete,cod_fiscale) as data_max + from #DFA c + inner join #pdf1 d + on c.rete=d.R and c.cod_fiscale=d.CF and c.codicecontratto=d.C + ) b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and a.data_fineavanzato=b.data_fineavanzato + and a.data_fineavanzato=data_max + + + --ESTRAIAMO TUTTI I CONTRATTI NON REVOCATI (DATA REVOCA IMPOSTATA CON DEFAULT 99990131) E QUELLI CHE + --SONO STATI REVOCATI DURANTE IL TRIMESTRE OGGETTO DI TRIMESTRALE + --(ES: PER IL 4 TRIMESTRE 01/10 - 31/12 TUTTI I CONTRATTI CHE RISULTANO NON REVOCATI + QUELLI CHE SONO STATI + --REVOCATO DOPO IL 30/09) + SELECT DISTINCT P.* + INTO #PDF + FROM #PDF1 P + INNER JOIN #DFA1 VC + ON P.CF = VC.COD_FISCALE AND P.R=VC.RETE AND P.C=VC.CODICECONTRATTO + WHERE DATA_FINEAVANZATO >= @dtold + + +select C.* +INTO #CONGELATI +from +#PDF P +INNER JOIN + C6StagingPeriodico.ContrattiPreTrimestrale c +ON P.R = C.RETE +AND P.CF = C.COD_FISCALE +AND P.C = C.CODICECONTRATTO + + + +select C.* +INTO #CONGELATICHIUSI +from +#PDF P +INNER JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + c6martperiodico.getTrimestre(getDAte(), 0)) c +ON + P.R = c.RETE +AND + p.CF = case when len(c.CF) < 16 then 'FF@' + c.CF + when c.CF is null then c.PIVA + else c.CF END +AND P.C = C.COD_CONF +LEFT JOIN #CONGELATI CONG +ON P.R = CONG.RETE +AND P.CF = CONG.COD_FISCALE +AND P.C = CONG.CODICECONTRATTO +WHERE CONG.RETE IS NULL + +TRUNCATE TABLE C6StagingPERIODICO.APPO_CONTRATTI +INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI +SELECT + * +FROM + #CONGELATI +-- modifica del 1/12/2016 - contratto non pi esistente - query inutile +--WHERE codicecontratto <> '390026CO101' and cod_agente <> '015312' --MRRRRT78S30L219K cliente di prova +-- fine modifica del 1/12/2016 +where codicecontratto not in +( +select codicecontratto from EsclusioneContrattiPerQuadratura +) +UNION +SELECT +chiaveClientePB, +--case when len(CF) < 16 then 'FF@' + CF else CF END as COD_FISCALE, +case when len(CF) < 16 then 'FF@' + CF + when CF is null then PIVA + else CF END as COD_FISCALE, +NULL as COD_MANDATO, +PIVA as PIVA_FIDUCIARIA, +PB as COD_AGENTE, +RETE, +COD_CONF as codiceContratto, +NULL as flagRol, +INDIRIZZO, +CAP, +CITTA, +PROV as PROVINCIA, +NAZIONE, +null as PRESSO, +EMAIL, +FREQUENZA_DIAGNOSI diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20171120.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20171120.sql new file mode 100644 index 00000000..4d5637b8 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20171120.sql @@ -0,0 +1,145 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_APPO_CONTRATTI_20171120 + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_APPO_CONTRATTI_20171120] +AS + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_APPO_CONTRATTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + declare @dtold datetime + declare @dtpre datetime + declare @dttrim datetime + + + set @dttrim = cast(c6martperiodico.getTrimestre2(getDate(), 1) as datetime) + --INIZIO INTERVENTO MAU + --set @dtpre = DATEADD(month, -1,@dttrim) + --set @dtold = DATEADD(month, -3,@dttrim) + set @dtold = DATEADD(month, -2,@dttrim) + --FINE INTERVENTO MAU + + + print @dttrim + print @dtpre + print @dtold + + +TRUNCATE TABLE ScartiQuadratura + + SELECT DISTINCT + CASE WHEN CF IS NULL THEN PIVA + WHEN CF IS NOT NULL AND PIVA IS NOT NULL THEN 'FF@'+CF + ELSE CF + END COD_FISCALE, + RETE, + CODICECONTRATTO, + DATACHIUSURAAVANZATO AS DATA_FINEAVANZATO + INTO #DFA + FROM + [CONSUNI].consulenzaUnica.dbo.VCONTRATTIFINEAVANZATO + + --ESTRAIAMO TUTTI I CF CHE HANNO RICEVUTO IL REPORT DI BENVENUTO ENTRO L'ULTIMO GIORNO DEL MESE PRECEDENTE + --AL MESE DI FINE TRIMESTRE (ES: PER IL 4 TRIMESTRE 01/10 - 31/12 REPORT DI BENVENUTO RICEVUTO ENTRO IL 30/11) + SELECT + PDF1.CODICEFISCALE AS CF,PDF1.RETE AS R,SUBSTRING(PDF1.NOMEFILE,0,12) AS C,PDF1.DATAGENERAZIONE AS D + INTO #pdf1 + FROM c6mart.gestione_PDF_ftp PDF1 + WHERE 1=1 + AND DATAGENERAZIONE < @dttrim + + + select a.* + into #DFA1 + from #DFA a + inner join ( + select c.*,max(data_fineavanzato) over (partition by rete,cod_fiscale) as data_max + from #DFA c + inner join #pdf1 d + on c.rete=d.R and c.cod_fiscale=d.CF and c.codicecontratto=d.C + ) b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and a.data_fineavanzato=b.data_fineavanzato + and a.data_fineavanzato=data_max + + + --ESTRAIAMO TUTTI I CONTRATTI NON REVOCATI (DATA REVOCA IMPOSTATA CON DEFAULT 99990131) E QUELLI CHE + --SONO STATI REVOCATI DURANTE IL TRIMESTRE OGGETTO DI TRIMESTRALE + --(ES: PER IL 4 TRIMESTRE 01/10 - 31/12 TUTTI I CONTRATTI CHE RISULTANO NON REVOCATI + QUELLI CHE SONO STATI + --REVOCATO DOPO IL 30/09) + SELECT DISTINCT P.* + INTO #PDF + FROM #PDF1 P + INNER JOIN #DFA1 VC + ON P.CF = VC.COD_FISCALE AND P.R=VC.RETE AND P.C=VC.CODICECONTRATTO + WHERE DATA_FINEAVANZATO >= @dtold + + +select C.* +INTO #CONGELATI +from +#PDF P +INNER JOIN + C6StagingPeriodico.ContrattiPreTrimestrale c +ON P.R = C.RETE +AND P.CF = C.COD_FISCALE +AND P.C = C.CODICECONTRATTO + + + +select C.* +INTO #CONGELATICHIUSI +from +#PDF P +INNER JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + c6martperiodico.getTrimestre(getDAte(), 0)) c +ON + P.R = c.RETE +AND + p.CF = case when len(c.CF) < 16 then 'FF@' + c.CF + when c.CF is null then c.PIVA + else c.CF END +AND P.C = C.COD_CONF +LEFT JOIN #CONGELATI CONG +ON P.R = CONG.RETE +AND P.CF = CONG.COD_FISCALE +AND P.C = CONG.CODICECONTRATTO +WHERE CONG.RETE IS NULL + +TRUNCATE TABLE C6StagingPERIODICO.APPO_CONTRATTI +INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI +SELECT + * +FROM + #CONGELATI +-- modifica del 1/12/2016 - contratto non pi esistente - query inutile +-- modifica del 5/12/2016 - segnalata squadratura con capgemini: quindi sembra un agente fittizio; ripristino +WHERE codicecontratto <> '390026CO101' and cod_agente <> '015312' --MRRRRT78S30L219K cliente di prova +-- fine modifica del 5/12/2016 +-- fine modifica del 1/12/2016 +and codicecontratto not in +( +select codicecontratto from EsclusioneContrattiPerQuadratura +) +UNION +SELECT +chiaveClientePB, +--case when len(CF) < 16 then 'FF@' + CF else CF END as COD_FISCALE, +case when len(CF) < 16 then 'FF@' + CF + when CF is null then PIVA + else CF END as COD_FISCALE, +NULL as COD_MANDATO, +PIVA as PIVA_FIDUCIARIA, +PB as COD_AGENTE, +RETE, +COD_CONF as diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_BKP20141204.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_BKP20141204.sql new file mode 100644 index 00000000..bafe8640 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_BKP20141204.sql @@ -0,0 +1,146 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_APPO_CONTRATTI_BKP20141204 + + +CREATE procedure [C6StagingPeriodico].[RP_ST_APPO_CONTRATTI_BKP20141204] +AS + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_APPO_CONTRATTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + declare @dtold datetime + declare @dtpre datetime + declare @dttrim datetime + + + set @dttrim = cast(c6martperiodico.getTrimestre2(getDate(), 1) as datetime) + --INIZIO INTERVENTO MAU + --set @dtpre = DATEADD(month, -1,@dttrim) + --set @dtold = DATEADD(month, -3,@dttrim) + set @dtold = DATEADD(month, -2,@dttrim) + --FINE INTERVENTO MAU + + + print @dttrim + print @dtpre + print @dtold + + +TRUNCATE TABLE ScartiQuadratura + + SELECT DISTINCT + CASE WHEN CF IS NULL THEN PIVA + WHEN CF IS NOT NULL AND PIVA IS NOT NULL THEN 'FF@'+CF + ELSE CF + END COD_FISCALE, + RETE, + CODICECONTRATTO, + DATACHIUSURAAVANZATO AS DATA_FINEAVANZATO + INTO #DFA + FROM + [CONSEVO].consulenzaEvoluta.dbo.VCONTRATTIFINEAVANZATO + + --ESTRAIAMO TUTTI I CF CHE HANNO RICEVUTO IL REPORT DI BENVENUTO ENTRO L'ULTIMO GIORNO DEL MESE PRECEDENTE + --AL MESE DI FINE TRIMESTRE (ES: PER IL 4 TRIMESTRE 01/10 - 31/12 REPORT DI BENVENUTO RICEVUTO ENTRO IL 30/11) + SELECT + PDF1.CODICEFISCALE AS CF,PDF1.RETE AS R,SUBSTRING(PDF1.NOMEFILE,0,12) AS C,PDF1.DATAGENERAZIONE AS D + INTO #pdf1 + FROM c6mart.gestione_PDF_ftp PDF1 INNER JOIN + (SELECT CODICEFISCALE ,RETE ,MAX(DATAGENERAZIONE) AS DATAGENERAZIONE + FROM c6mart.gestione_PDF_ftp --54491 +--INIZIO INTERVENTI MAU +-- WHERE 1=1 AND DATAGENERAZIONE < @dtpre + WHERE 1=1 AND DATAGENERAZIONE < @dttrim +--INIZIO INTERVENTI MAU + GROUP BY CODICEFISCALE,RETE) PDF2 + ON PDF1.CODICEFISCALE=PDF2.CODICEFISCALE + AND PDF1.RETE=PDF2.RETE + AND PDF1.DATAGENERAZIONE=PDF2.DATAGENERAZIONE + WHERE 1=1 + + + --ESTRAIAMO TUTTI I CONTRATTI NON REVOCATI (DATA REVOCA IMPOSTATA CON DEFAULT 99990131) E QUELLI CHE + --SONO STATI REVOCATI DURANTE IL TRIMESTRE OGGETTO DI TRIMESTRALE + --(ES: PER IL 4 TRIMESTRE 01/10 - 31/12 TUTTI I CONTRATTI CHE RISULTANO NON REVOCATI + QUELLI CHE SONO STATI + --REVOCATO DOPO IL 30/09) + SELECT DISTINCT P.* + INTO #PDF + FROM #PDF1 P + INNER JOIN #DFA VC + ON P.CF = VC.COD_FISCALE AND P.R=VC.RETE AND P.C=VC.CODICECONTRATTO + WHERE DATA_FINEAVANZATO >= @dtold + + +select C.* +INTO #CONGELATI +from +#PDF P +INNER JOIN + C6StagingPeriodico.ContrattiPreTrimestrale c +ON P.R = C.RETE +AND P.CF = C.COD_FISCALE +AND P.C = C.CODICECONTRATTO + + + +select C.* +INTO #CONGELATICHIUSI +from +#PDF P +INNER JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + c6martperiodico.getTrimestre(getDAte(), 0)) c +ON + P.R = c.RETE +AND + p.CF = case when len(c.CF) < 16 then 'FF@' + c.CF + when c.CF is null then c.PIVA + else c.CF END +AND P.C = C.COD_CONF +LEFT JOIN #CONGELATI CONG +ON P.R = CONG.RETE +AND P.CF = CONG.COD_FISCALE +AND P.C = CONG.CODICECONTRATTO +WHERE CONG.RETE IS NULL + +TRUNCATE TABLE C6StagingPERIODICO.APPO_CONTRATTI +INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI +SELECT + * +FROM + #CONGELATI +WHERE codicecontratto <> '390026CO101' and cod_agente <> '015312' --MRRRRT78S30L219K cliente di prova +AND codicecontratto not in +( +select codicecontratto from EsclusioneContrattiPerQuadratura +) +UNION +SELECT +chiaveClientePB, +--case when len(CF) < 16 then 'FF@' + CF else CF END as COD_FISCALE, +case when len(CF) < 16 then 'FF@' + CF + when CF is null then PIVA + else CF END as COD_FISCALE, +NULL as COD_MANDATO, +PIVA as PIVA_FIDUCIARIA, +PB as COD_AGENTE, +RETE, +COD_CONF as codiceContratto, +NULL as flagRol, +INDIRIZZO, +CAP, +CITTA, +PROV as PROVINCIA, +NAZIONE, +null as PRESSO, +EMAIL, +FREQUENZA_DIAGNOSI as FREQ_DIAGNOSI, +FREQUENZA_MONITORAGGIO as FREQ_MONITORAGGIO, +FLAG_STAMPA_REP diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_LUCA.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_LUCA.sql new file mode 100644 index 00000000..eb5a73d4 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_LUCA.sql @@ -0,0 +1,158 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_APPO_CONTRATTI_LUCA + + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_APPO_CONTRATTI_LUCA] +AS + +---- Log esecuzione +-- INSERT INTO LOG_ESECUZIONE +-- (Nome, Inizio, Nota) +-- VALUES ( +-- 'RP_ST_APPO_CONTRATTI', +-- GETDATE(), +-- 'Elaborazione trimestrale' +-- ) + + declare @dtold datetime + declare @dtpre datetime + declare @dttrim datetime + + + set @dttrim = cast(c6martperiodico.getTrimestre2(getDate(), 1) as datetime) + --INIZIO INTERVENTO MAU + --set @dtpre = DATEADD(month, -1,@dttrim) + --set @dtold = DATEADD(month, -3,@dttrim) + set @dtold = DATEADD(month, -2,@dttrim) + --FINE INTERVENTO MAU + + + print @dttrim + print @dtpre + print @dtold + + +TRUNCATE TABLE ScartiQuadratura + + SELECT DISTINCT + CASE WHEN CF IS NULL THEN PIVA + WHEN CF IS NOT NULL AND PIVA IS NOT NULL THEN 'FF@'+CF + ELSE CF + END COD_FISCALE, + RETE, + CODICECONTRATTO, + DATACHIUSURAAVANZATO AS DATA_FINEAVANZATO + INTO #DFA + FROM + [CONSEVO].consulenzaEvoluta.dbo.VCONTRATTIFINEAVANZATO + + --ESTRAIAMO TUTTI I CF CHE HANNO RICEVUTO IL REPORT DI BENVENUTO ENTRO L'ULTIMO GIORNO DEL MESE PRECEDENTE + --AL MESE DI FINE TRIMESTRE (ES: PER IL 4 TRIMESTRE 01/10 - 31/12 REPORT DI BENVENUTO RICEVUTO ENTRO IL 30/11) + SELECT + PDF1.CODICEFISCALE AS CF,PDF1.RETE AS R,SUBSTRING(PDF1.NOMEFILE,0,12) AS C,PDF1.DATAGENERAZIONE AS D + INTO #pdf1 + FROM c6mart.gestione_PDF_ftp PDF1 + WHERE 1=1 + AND DATAGENERAZIONE < @dttrim + + + select a.* + into #DFA1 + from #DFA a + inner join ( + select c.*,max(data_fineavanzato) over (partition by rete,cod_fiscale) as data_max + from #DFA c + inner join #pdf1 d + on c.rete=d.R and c.cod_fiscale=d.CF and c.codicecontratto=d.C + ) b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and a.data_fineavanzato=b.data_fineavanzato + and a.data_fineavanzato=data_max + +-- insert into #DFA1 +-- select a.* +-- from #DFA a +-- inner join ( +-- select c.*,data_fineavanzato as data_max +-- from #DFA c + +-- inner join #pdf1 d +-- on c.rete=d.R and c.cod_fiscale=d.CF and c.codicecontratto=d.C +-- and c.codicecontratto +-- in +-- ( +-- '143422CO107' +--,'103587CO104' +--,'113740CO104' +--,'732251CO101' +--,'113741CO105' +-- ) +-- ) b +-- on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and a.data_fineavanzato=b.data_fineavanzato +-- and a.data_fineavanzato=data_max + + + + --ESTRAIAMO TUTTI I CONTRATTI NON REVOCATI (DATA REVOCA IMPOSTATA CON DEFAULT 99990131) E QUELLI CHE + --SONO STATI REVOCATI DURANTE IL TRIMESTRE OGGETTO DI TRIMESTRALE + --(ES: PER IL 4 TRIMESTRE 01/10 - 31/12 TUTTI I CONTRATTI CHE RISULTANO NON REVOCATI + QUELLI CHE SONO STATI + --REVOCATO DOPO IL 30/09) + SELECT DISTINCT P.* + INTO #PDF + FROM #PDF1 P + INNER JOIN #DFA1 VC + ON P.CF = VC.COD_FISCALE AND P.R=VC.RETE AND P.C=VC.CODICECONTRATTO + WHERE DATA_FINEAVANZATO >= @dtold + + +select C.* +INTO #CONGELATI +from +#PDF P +INNER JOIN + C6StagingPeriodico.ContrattiPreTrimestrale c +ON P.R = C.RETE +AND P.CF = C.COD_FISCALE +AND P.C = C.CODICECONTRATTO + + + +select C.* +INTO #CONGELATICHIUSI +from +#PDF P +INNER JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + c6martperiodico.getTrimestre(getDAte(), 0)) c +ON + P.R = c.RETE +AND + p.CF = case when len(c.CF) < 16 then 'FF@' + c.CF + when c.CF is null then c.PIVA + else c.CF END +AND P.C = C.COD_CONF +LEFT JOIN #CONGELATI CONG +ON P.R = CONG.RETE +AND P.CF = CONG.COD_FISCALE +AND P.C = CONG.CODICECONTRATTO +WHERE CONG.RETE IS NULL + +insert +INTO #CONGELATICHIUSI +select C.* +from +#PDF P +INNER JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + '20151230') c +ON + P.R = c.RETE +AND + p.CF = case when len(c.CF) < 16 then 'FF@' + c.CF + when c.CF is null then c.PIVA + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_OLD.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_OLD.sql new file mode 100644 index 00000000..d4b55737 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_OLD.sql @@ -0,0 +1,156 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_APPO_CONTRATTI_OLD + + +CREATE procedure [C6StagingPeriodico].[RP_ST_APPO_CONTRATTI_OLD] +AS + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_APPO_CONTRATTI', + GETDATE(), + 'Elaborazione trimestrale' + ) +SELECT C.COD_FISCALE, C.RETE +INTO #CONTRATTI_DA_CONSIDERARE_ATTIVI +FROM + C6StagingPeriodico.ContrattiPreTrimestrale c +INNER JOIN + C6Mart.Gestione_PDF_FTP g +ON + c.cod_fiscale = g.CodiceFiscale +AND + c.rete = g.Rete +AND + g.NomeFile like '%' + c.codiceContratto + '%' +WHERE + ISNULL(Data_FineAvanzato, CAST('99991231' AS datetime)) > C6MartPeriodico.GetPreviousTrimestre(getdate(), 0) /*Precedente Trimestrale*/ +AND g.DataGenerazione < C6MartPeriodico.GetTrimestre2(getdate(),1) +AND c.InvioBenvenuto = 'S' +GROUP BY C.COD_FISCALE, C.RETE + + +SELECT * +INTO #CONTRATTI_DA_CONSIDERARE +FROM #CONTRATTI_DA_CONSIDERARE_ATTIVI +UNION +SELECT case when len(c.CF) < 16 then 'FF@' + c.CF else c.CF END AS CF, C.RETE +FROM + #CONTRATTI_DA_CONSIDERARE_ATTIVI a +RIGHT JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + C6MartPeriodico.getPreviousTrimestre(getDate(), 0), + c6martperiodico.getTrimestre(getDAte(), 0)) c +ON + a.cod_fiscale = case when len(c.CF) < 16 then 'FF@' + c.CF else c.CF END +AND + a.RETE = c.RETE +INNER JOIN + C6Mart.Gestione_PDF_FTP g +ON + case when len(c.CF) < 16 then 'FF@' + c.CF else c.CF end = g.CodiceFiscale +AND + C.rete = g.Rete +AND + g.NomeFile like '%' + c.COD_CONF + '%' +WHERE + a.Rete is null + AND ISNULL(c.DATA_CHIUSURA_C6, CAST('99991231' AS datetime)) > C6MartPeriodico.GetPreviousTrimestre(getdate(), 0) /*Precedente Trimestrale*/ +AND g.DataGenerazione < C6MartPeriodico.GetTrimestre2(getdate(),1) +GROUP BY C.CF, C.RETE + + + +TRUNCATE TABLE C6StagingPERIODICO.APPO_CONTRATTI +--INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI_TEST select * from C6StagingPERIODICO.APPO_CONTRATTI +INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI +SELECT + C.* +FROM + C6StagingPeriodico.ContrattiPreTrimestrale c +INNER JOIN + #CONTRATTI_DA_CONSIDERARE D +ON + C.RETE = D.RETE +AND + C.COD_FISCALE = D.COD_FISCALE +UNION +SELECT +c.chiaveClientePB, +case when len(c.CF) < 16 then 'FF@' + c.CF else c.CF END as COD_FISCALE, +NULL as COD_MANDATO, +PIVA as PIVA_FIDUCIARIA, +PB as COD_AGENTE, +c.RETE, +COD_CONF as codiceContratto, +NULL as flagRol, +c.INDIRIZZO, +c.CAP, +c.CITTA, +PROV as PROVINCIA, +c.NAZIONE, +null as PRESSO, +c.EMAIL, +FREQUENZA_DIAGNOSI as FREQ_DIAGNOSI, +FREQUENZA_MONITORAGGIO as FREQ_MONITORAGGIO, +FLAG_STAMPA_REPORT as GENERAZIONEREPORT, +DATA_SOTTOSCRIZIONE_CB as DATA_INIZIOBASE, +DATA_CHIUSURA_CB as DATA_FINEBASE, +DATA_PERFEZIONAMENTO_CB as DATA_PERF_BASE, +DATA_PERFEZIONAMENTO_C6 as DATA_PERF, +DATA_SOTTOSCRIZIONE_C6 as DATA_INZIOAVANZATO, +DATA_CHIUSURA_C6 as DATA_FINEAVANZATO, +null as RIATTIVAZIONE, +null as TIP_CONTRATTO, +null as TIP_RIATTIVAZIONE, +'S' as ClienteMIGRATO, +'N' as RISORSENA, +1 as PROFILOATTIVO, +0 as NumSolleciti, +0 as NumRevoche, +null as Data_ultimoSollecito, +null as Data_ultimaRevoca, +'S' as InvioBenvenuto +FROM +C6StagingPeriodico.ContrattiPreTrimestrale t +RIGHT JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + c6martperiodico.getTrimestre(getDAte(), 0)) c +ON + t.RETE = c.RETE +AND + t.Cod_Fiscale = case when len(c.CF) < 16 then 'FF@' + c.CF else c.CF END +INNER JOIN + #CONTRATTI_DA_CONSIDERARE D +ON + C.RETE = D.RETE +AND + case when len(c.CF) < 16 then 'FF@' + c.CF else c.CF END = D.COD_FISCALE +WHERE + t.rete is null + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' + ) + + + + +--select count(*) from C6StagingPERIODICO. diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_TEMP.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_TEMP.sql new file mode 100644 index 00000000..7d0cde37 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_TEMP.sql @@ -0,0 +1,156 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_APPO_CONTRATTI_TEMP + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_APPO_CONTRATTI_TEMP] +AS + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_APPO_CONTRATTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + declare @dtold datetime + declare @dtpre datetime + declare @dttrim datetime + + + set @dttrim = cast(c6martperiodico.getTrimestre2(getDate(), 1) as datetime) + --INIZIO INTERVENTO MAU + --set @dtpre = DATEADD(month, -1,@dttrim) + --set @dtold = DATEADD(month, -3,@dttrim) + set @dtold = DATEADD(month, -2,@dttrim) + --FINE INTERVENTO MAU + + + print @dttrim + print @dtpre + print @dtold + + +TRUNCATE TABLE ScartiQuadratura + + SELECT DISTINCT + CASE WHEN CF IS NULL THEN PIVA + WHEN CF IS NOT NULL AND PIVA IS NOT NULL THEN 'FF@'+CF + ELSE CF + END COD_FISCALE, + RETE, + CODICECONTRATTO, + DATACHIUSURAAVANZATO AS DATA_FINEAVANZATO + INTO #DFA + FROM + [CONSEVO].consulenzaEvoluta.dbo.VCONTRATTIFINEAVANZATO + + --ESTRAIAMO TUTTI I CF CHE HANNO RICEVUTO IL REPORT DI BENVENUTO ENTRO L'ULTIMO GIORNO DEL MESE PRECEDENTE + --AL MESE DI FINE TRIMESTRE (ES: PER IL 4 TRIMESTRE 01/10 - 31/12 REPORT DI BENVENUTO RICEVUTO ENTRO IL 30/11) + SELECT + PDF1.CODICEFISCALE AS CF,PDF1.RETE AS R,SUBSTRING(PDF1.NOMEFILE,0,12) AS C,PDF1.DATAGENERAZIONE AS D + INTO #pdf1 + FROM c6mart.gestione_PDF_ftp PDF1 + WHERE 1=1 + AND DATAGENERAZIONE < @dttrim + + + select a.* + into #DFA1 + from #DFA a + inner join ( + select c.*,max(data_fineavanzato) over (partition by rete,cod_fiscale) as data_max + from #DFA c + inner join #pdf1 d + on c.rete=d.R and c.cod_fiscale=d.CF and c.codicecontratto=d.C + ) b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and a.data_fineavanzato=b.data_fineavanzato + and a.data_fineavanzato=data_max + +-- insert into #DFA1 +-- select a.* +-- from #DFA a +-- inner join ( +-- select c.*,data_fineavanzato as data_max +-- from #DFA c + +-- inner join #pdf1 d +-- on c.rete=d.R and c.cod_fiscale=d.CF and c.codicecontratto=d.C +-- and c.codicecontratto +-- in +-- ( +-- '143422CO107' +--,'103587CO104' +--,'113740CO104' +--,'732251CO101' +--,'113741CO105' +-- ) +-- ) b +-- on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and a.data_fineavanzato=b.data_fineavanzato +-- and a.data_fineavanzato=data_max + + + + --ESTRAIAMO TUTTI I CONTRATTI NON REVOCATI (DATA REVOCA IMPOSTATA CON DEFAULT 99990131) E QUELLI CHE + --SONO STATI REVOCATI DURANTE IL TRIMESTRE OGGETTO DI TRIMESTRALE + --(ES: PER IL 4 TRIMESTRE 01/10 - 31/12 TUTTI I CONTRATTI CHE RISULTANO NON REVOCATI + QUELLI CHE SONO STATI + --REVOCATO DOPO IL 30/09) + SELECT DISTINCT P.* + INTO #PDF + FROM #PDF1 P + INNER JOIN #DFA1 VC + ON P.CF = VC.COD_FISCALE AND P.R=VC.RETE AND P.C=VC.CODICECONTRATTO + WHERE DATA_FINEAVANZATO >= @dtold + + +select C.* +INTO #CONGELATI +from +#PDF P +INNER JOIN + C6StagingPeriodico.ContrattiPreTrimestrale c +ON P.R = C.RETE +AND P.CF = C.COD_FISCALE +AND P.C = C.CODICECONTRATTO + + + +select C.* +INTO #CONGELATICHIUSI +from +#PDF P +INNER JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + c6martperiodico.getTrimestre(getDAte(), 0)) c +ON + P.R = c.RETE +AND + p.CF = case when len(c.CF) < 16 then 'FF@' + c.CF + when c.CF is null then c.PIVA + else c.CF END +AND P.C = C.COD_CONF +LEFT JOIN #CONGELATI CONG +ON P.R = CONG.RETE +AND P.CF = CONG.COD_FISCALE +AND P.C = CONG.CODICECONTRATTO +WHERE CONG.RETE IS NULL + +insert +INTO #CONGELATICHIUSI +select C.* +from +#PDF P +INNER JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + '20151230') c +ON + P.R = c.RETE +AND + p.CF = case when len(c.CF) < 16 then 'FF@' + c.CF + when c.CF is null then c.PIVA + else c.CF END +AND diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AnAlberatura.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AnAlberatura.sql new file mode 100644 index 00000000..cd5a9132 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AnAlberatura.sql @@ -0,0 +1,55 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_AnAlberatura + + +CREATE procedure [C6StagingPeriodico].[RP_ST_AnAlberatura] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AnAlberatura', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_AnAlberatura + + insert into C6StagingPeriodico.RP_AnAlberatura + + --select * into C6StagingPeriodico.RP_AnAlberatura from [CONSEVO].CatalogoProdotti.dbo.AnAlberatura + select + [Alberatura] + ,[Livello1] + ,[Livello2] + ,[Livello3] + ,[Livello4] + ,[Livello5] + + from [CONSUNI_PERIODICO].CatalogoProdotti.dbo.AnAlberatura + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AnAlberatura' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_AnAlberatura' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AnAlberatura_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AnAlberatura_pre_selective.sql new file mode 100644 index 00000000..1166ee42 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AnAlberatura_pre_selective.sql @@ -0,0 +1,53 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_AnAlberatura_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_AnAlberatura_pre_selective] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AnAlberatura_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_AnAlberatura + + insert into C6StagingPeriodico.RP_AnAlberatura + + --select * into C6StagingPeriodico.RP_AnAlberatura from [CONSEVO].CatalogoProdotti.dbo.AnAlberatura + select + [Alberatura] + ,[Livello1] + ,[Livello2] + ,[Livello3] + ,[Livello4] + ,[Livello5] + + from [CONSUNI_PERIODICO].CatalogoProdotti.dbo.AnAlberatura + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AnAlberatura_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_AnAlberatura_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AnEmittente.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AnEmittente.sql new file mode 100644 index 00000000..09eed641 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AnEmittente.sql @@ -0,0 +1,51 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_AnEmittente + + +CREATE procedure [C6StagingPeriodico].[RP_ST_AnEmittente] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AnEmittente', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_AnEmittente + + insert into C6StagingPeriodico.RP_AnEmittente ( + [Emittente] + ,[Descrizione] ) + + select + + [Emittente] + ,[Descrizione] + from [CONSUNI].CatalogoProdotti.dbo.AnEmittente + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AnEmittente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_AnEmittente' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AnEmittente_originale.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AnEmittente_originale.sql new file mode 100644 index 00000000..63d8c0b5 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AnEmittente_originale.sql @@ -0,0 +1,44 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_AnEmittente_originale + + +CREATE procedure [C6StagingPeriodico].[RP_ST_AnEmittente_originale] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AnEmittente', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_AnEmittente + + insert into C6StagingPeriodico.RP_AnEmittente + + select * from [CONSEVO_PERIODICO].CatalogoProdotti.dbo.AnEmittente + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AnEmittente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_AnEmittente' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AnEmittente_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AnEmittente_pre_selective.sql new file mode 100644 index 00000000..bd6dc1ce --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AnEmittente_pre_selective.sql @@ -0,0 +1,49 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_AnEmittente_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_AnEmittente_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AnEmittente_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_AnEmittente + + insert into C6StagingPeriodico.RP_AnEmittente ( + [Emittente] + ,[Descrizione] ) + + select + + [Emittente] + ,[Descrizione] + from [CONSUNI].CatalogoProdotti.dbo.AnEmittente + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AnEmittente_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_AnEmittente_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Area.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Area.sql new file mode 100644 index 00000000..61b24e65 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Area.sql @@ -0,0 +1,84 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Area + + + + +-- Procedure +CREATE procedure [C6StagingPeriodico].[RP_ST_Area] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Area', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Area + + insert into C6StagingPeriodico.RP_Area ( + [Area] + ,[chiaveConsulenza] + ,[percArea] + ,[coperturaArea] + ,[ctvArea] + ,[varArea] + ) + + select + + -------------------------> modifica del 18/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non pi distinta tra pre1 e pre2 + --, [Area] + CASE + + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + else a.area + END AS [Area] + -------------------------> FINE modifica del 13/1/2017 + ,[chiaveConsulenza] + , null as percArea + ,dpos.Copertura as coperturaArea + ,dpos.ctv as ctvArea + ,null as varArea + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on a.chiaveArea = prog.ChiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniPortafoglio pos + on pos.chiaveProgetto = prog.chiaveProgetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioPosizionePortafoglio dpos + on pos.chiavePosizionePtf = dpos.chiavePosizionePtf + --- Modifica del 18/1/2017 per reperire la descrizione del progetto per la case di cui sopra + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + group by area,chiaveconsulenza,dpos.copertura,dpos.ctv ,propirMod.nomeProgetto + --------------------------------------------------------------------------------------------- + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Area' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Area' + ) + +end + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Area_20170118.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Area_20170118.sql new file mode 100644 index 00000000..aaa0c70e --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Area_20170118.sql @@ -0,0 +1,68 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Area_20170118 + + +-- Procedure +CREATE procedure [C6StagingPeriodico].[RP_ST_Area_20170118] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Area', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Area + + insert into C6StagingPeriodico.RP_Area ( + [Area] + ,[chiaveConsulenza] + ,[percArea] + ,[coperturaArea] + ,[ctvArea] + ,[varArea] + ) + + select + [Area] + ,[chiaveConsulenza] + , null as percArea + ,dpos.Copertura as coperturaArea + ,dpos.ctv as ctvArea + ,null as varArea + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on a.chiaveArea = prog.ChiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniPortafoglio pos + on pos.chiaveProgetto = prog.chiaveProgetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioPosizionePortafoglio dpos + on pos.chiavePosizionePtf = dpos.chiavePosizionePtf + + group by area,chiaveconsulenza,dpos.copertura,dpos.ctv + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Area' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Area' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Area_20170320.OBS.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Area_20170320.OBS.sql new file mode 100644 index 00000000..ffd27c45 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Area_20170320.OBS.sql @@ -0,0 +1,67 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Area_20170320.OBS + +-- Procedure +CREATE procedure [C6StagingPeriodico].[RP_ST_Area] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Area', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Area + + insert into C6StagingPeriodico.RP_Area ( + [Area] + ,[chiaveConsulenza] + ,[percArea] + ,[coperturaArea] + ,[ctvArea] + ,[varArea] + ) + + select + [Area] + ,[chiaveConsulenza] + , null as percArea + ,dpos.Copertura as coperturaArea + ,dpos.ctv as ctvArea + ,null as varArea + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on a.chiaveArea = prog.ChiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniPortafoglio pos + on pos.chiaveProgetto = prog.chiaveProgetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioPosizionePortafoglio dpos + on pos.chiavePosizionePtf = dpos.chiavePosizionePtf + + group by area,chiaveconsulenza,dpos.copertura,dpos.ctv + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Area' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Area' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Area_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Area_pre_selective.sql new file mode 100644 index 00000000..df08dcef --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Area_pre_selective.sql @@ -0,0 +1,67 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Area_pre_selective + +-- Procedure +CREATE procedure [C6StagingPeriodico].[RP_ST_Area_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Area_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Area + + insert into C6StagingPeriodico.RP_Area ( + [Area] + ,[chiaveConsulenza] + ,[percArea] + ,[coperturaArea] + ,[ctvArea] + ,[varArea] + ) + + select + [Area] + ,[chiaveConsulenza] + , null as percArea + ,dpos.Copertura as coperturaArea + ,dpos.ctv as ctvArea + ,null as varArea + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on a.chiaveArea = prog.ChiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniPortafoglio pos + on pos.chiaveProgetto = prog.chiaveProgetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioPosizionePortafoglio dpos + on pos.chiavePosizionePtf = dpos.chiavePosizionePtf + + group by area,chiaveconsulenza,dpos.copertura,dpos.ctv + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Area_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Area_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AssetClass.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AssetClass.sql new file mode 100644 index 00000000..1f913d87 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AssetClass.sql @@ -0,0 +1,51 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_AssetClass + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_AssetClass] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AssetClass', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_AssetClass + + insert into C6StagingPeriodico.RP_AssetClass + --select * into C6StagingPeriodico.RP_AssetClass from [CONSEVO].[CatalogoProdotti].dbo.AssetClass + -- 21/12/2016 mod puntamento + --select * from [CONSEVO].[CatalogoProdotti].dbo.AssetClass + select asset,madre,livello,descrizione,codicergb,isresidual from [CONSUNI].[CatalogoProdotti].dbo.AssetClass + -- 21/12/2016 FINE mod puntamento + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AssetClass' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_AssetClass' + ) + +end + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AssetClass_20161221.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AssetClass_20161221.sql new file mode 100644 index 00000000..54e4b091 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AssetClass_20161221.sql @@ -0,0 +1,46 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_AssetClass_20161221 + + +CREATE procedure [C6StagingPeriodico].[RP_ST_AssetClass_20161221] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AssetClass', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_AssetClass + + insert into C6StagingPeriodico.RP_AssetClass + --select * into C6StagingPeriodico.RP_AssetClass from [CONSEVO].[CatalogoProdotti].dbo.AssetClass + select * from [CONSEVO].[CatalogoProdotti].dbo.AssetClass + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AssetClass' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_AssetClass' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AssetClass_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AssetClass_pre_selective.sql new file mode 100644 index 00000000..64f16332 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_AssetClass_pre_selective.sql @@ -0,0 +1,49 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_AssetClass_pre_selective + + +CREATE procedure [C6StagingPeriodico].[RP_ST_AssetClass_pre_selective] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AssetClass_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_AssetClass + + insert into C6StagingPeriodico.RP_AssetClass + --select * into C6StagingPeriodico.RP_AssetClass from [CONSEVO].[CatalogoProdotti].dbo.AssetClass + -- 21/12/2016 mod puntamento + --select * from [CONSEVO].[CatalogoProdotti].dbo.AssetClass + select asset,madre,livello,descrizione,codicergb,isresidual from [CONSUNI].[CatalogoProdotti].dbo.AssetClass + -- 21/12/2016 FINE mod puntamento + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AssetClass_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_AssetClass_pre_selective' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_BonificaClientiDoppi.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_BonificaClientiDoppi.sql new file mode 100644 index 00000000..2b2fa5ec --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_BonificaClientiDoppi.sql @@ -0,0 +1,132 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_BonificaClientiDoppi + + + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_BonificaClientiDoppi] +AS + +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_BonificaClientiDoppi', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + +----------------------------------------------------------------- +drop table if exists #doppiCF +drop table if exists #ClientiDoppiInAppoCF +drop table if exists #ClientiNONInAppoCF +drop table if exists #ClientiChiaveClienteGiustaCF +drop table if exists #ClientiChiaveClienteGiustaESbagliataCF +drop table if exists #ClientiChiaveSbagliataCF + +drop table if exists #doppiPIVA +drop table if exists #ClientiDoppiInAppoPIVA +drop table if exists #ClientiNONInAppoPIVA +drop table if exists #ClientiChiaveClienteGiustaPIVA +drop table if exists #ClientiChiaveClienteGiustaESbagliataPIVA +drop table if exists #ClientiChiaveSbagliataPIVA + + + +----Individuo i cf doppi + select rete,codfis,count(*) as numero + into #doppiCF + FROM C6STAGINGPERIODICO.RP_InfoCliente + where codfis is not null and codfis <> '' + group by rete,codfis + having count(*)>1 + + + --if + + select rete,COD_FISCALE + into #ClientiDoppiInAppoCF + from C6stagingPeriodico.APPO_CONTRATTI a + where a.rete+a.COD_FISCALE in (select rete+codfis from #doppiCF) + + select rete,codfis + into #ClientiNONInAppoCF + from #doppiCF where rete+codfis not in (select rete+cod_fiscale from #ClientiDoppiInAppoCF) + + delete from C6STAGINGPERIODICO.RP_InfoCliente where rete+codFis in (select rete+codfis from #ClientiNONInAppoCF) + + --else + + select distinct appo.rete,appo.COD_FISCALE,appo.chiaveclientepb + into #ClientiChiaveClienteGiustaCF + from C6STAGINGPERIODICO.RP_InfoCliente info inner join + C6StagingPeriodico.appo_contratti appo on info.rete = appo.rete and info.codfis=appo.cod_fiscale +where info.rete + info.codfis in (select rete+cod_fiscale from #ClientiDoppiInAppoCF) + + +select rete,codfis,chiaveClientePB + into #ClientiChiaveClienteGiustaESbagliataCF +FROM C6STAGINGPERIODICO.RP_InfoCliente +where rete+codfis in (select rete+cod_fiscale from #ClientiChiaveClienteGiustaCF) + +--select * from #ClientiChiaveClienteGiustaESbagliataCF order by codfis + +select rete,codfis,chiaveclientePB +into #ClientiChiaveSbagliataCF +from #ClientiChiaveClienteGiustaESbagliataCF where +rete+codFis in (select rete+cod_fiscale from #ClientiChiaveClienteGiustaCF) +and chiaveClientePB not in (select chiaveClientePB from #ClientiChiaveClienteGiustaCF) + +--create table #ClientiChiaveSbagliataCF( +--rete char(1), +--codfis varchar(16), +--chiaveClientePB int) + +--insert into #ClientiChiaveSbagliataCF +-- SELECT * FROM #ClientiChiaveClienteGiustaESbagliataCF +-- EXCEPT +-- SELECT * FROM #ClientiChiaveClienteGiustaCF + +-- select * from #ClientiChiaveSbagliataCF + +delete from C6STAGINGPERIODICO.RP_InfoCliente +where rete+codfis+cast(chiaveClientePB as varchar) in (select rete+codfis+cast(chiaveClientePB as varchar) from #ClientiChiaveSbagliataCF) + +--select * from C6STAGINGPERIODICO.RP_InfoCliente +--where rete+codfis+chiaveClientePB in (select rete+codfis+chiaveClientePB from #ClientiChiaveClienteGiustaCF) + + + +----------------------------------------------------------------- + + +--Individuo le PIVA doppie + select rete,piva,count(*) as numero + into #doppiPIVA + FROM C6STAGINGPERIODICO.RP_InfoCliente + where isnull(codman,'')= '' + and piva is not null and piva <> '' + group by rete,piva + having count(*)>1 + +-- select * from #doppiPIVA where piva in ( +-- '02477630582', +--'05267780962') + + --if + + select rete,COD_FISCALE + into #ClientiDoppiInAppoPIVA + from C6stagingPeriodico.APPO_CONTRATTI a + where a.rete+a.COD_FISCALE in (select rete+piva from #doppiPIVA) + + select rete,piva + into #ClientiNONInAppoPIVA + from #doppiPIVA where rete+piva not in (select rete+COD_FISCALE from #ClientiDoppiInAppoPIVA) + + delete from C6STAGINGPERIODICO.RP_InfoCliente where rete+p diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CATINAREA.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CATINAREA.sql new file mode 100644 index 00000000..a7a4a28e --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CATINAREA.sql @@ -0,0 +1,46 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CATINAREA + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_CATINAREA] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CATINAREA', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_CATINAREA + + insert into C6StagingPeriodico.RP_CATINAREA + select * from CONSUNI.[CatalogoProdotti].dbo.CATINAREA + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CATINAREA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CATINAREA' + ) + +end + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CATINAREA_20161222.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CATINAREA_20161222.sql new file mode 100644 index 00000000..67bcd817 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CATINAREA_20161222.sql @@ -0,0 +1,44 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CATINAREA_20161222 + + +CREATE procedure [C6StagingPeriodico].[RP_ST_CATINAREA_20161222] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CATINAREA', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_CATINAREA + + insert into C6StagingPeriodico.RP_CATINAREA + select * from [CONSEVO].[CatalogoProdotti].dbo.CATINAREA + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CATINAREA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CATINAREA' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CATINAREA_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CATINAREA_pre_selective.sql new file mode 100644 index 00000000..e940761a --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CATINAREA_pre_selective.sql @@ -0,0 +1,44 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CATINAREA_pre_selective + + +CREATE procedure [C6StagingPeriodico].[RP_ST_CATINAREA_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CATINAREA_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_CATINAREA + + insert into C6StagingPeriodico.RP_CATINAREA + select * from CONSUNI.[CatalogoProdotti].dbo.CATINAREA + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CATINAREA_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CATINAREA_pre_selective' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CONSULENZA.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CONSULENZA.sql new file mode 100644 index 00000000..77a11ac7 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CONSULENZA.sql @@ -0,0 +1,128 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CONSULENZA + + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_CONSULENZA] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CONSULENZA', + GETDATE(), + 'Elaborazione Trimestrale' + ) + +TRUNCATE TABLE C6StagingPeriodico.[RP_CONSULENZA] + +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,PosPor.conto + ,PosPor.rubricato + ,PosPor.codConf + ,PosPor.numPolizza + ,PosPor.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,POSITION_ID = '' + ,termId + ,anno + ,prog + ,pro.chiavePtfMod + ,orizzonteTemporale + INTO #ConsulenzaPianificazione +FROM + C6StagingPeriodico.RP_Pianificazione AS pian + INNER JOIN C6StagingPeriodico.RP_Progetto AS pro + ON pian.chiaveConsulenza = pro.chiaveConsulenza + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello pirmod + ON pro.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6StagingPeriodico.RP_PosizioniPortafoglio AS pospor + ON pro.chiaveProgetto = pospor.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_DettaglioPosizionePortafoglio AS dettposport + ON pospor.chiavePosizionePtf = dettposport.chiavePosizionePtf + INNER JOIN C6StagingPeriodico.RP_CatalogoProdotti AS catprod + ON pospor.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6StagingPeriodico.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON pian.chiaveClientePB = contr.chiaveClientePB + + + WHERE + pospor.dtFineValidita > getdate() + AND pro.dtfinevalidita='99991231' + AND pirmod.dtfinevalidita='99991231' + --AND INVIOBENVENUTO = 'N' + + +--ricerco dati da Migrazione +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + --,mig.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,promig.chiaveProgetto + ,promig.area + ,promig.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,MigPos.conto + ,MigPos.rubricato + ,MigPos.codConf + ,MigPos.numPolizza + ,MigPos.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,POSITION_ID = '' + ,migpos.termId + ,migpos.anno + ,migpos.prog + ,null as orizzonteTemporale + ,promig.chiavePtfMod +INTO #ConsulenzaMigrazione +FROM + C6StagingPeriodico.RP_Migraz_Pianificazione AS mig + INNER JOIN C6StagingPeriodico.RP_Migraz_Progetto AS promig + ON mig.chiaveconsulenza = promig.chiaveconsulenza + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello pirmod + ON promig.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6StagingPeriodico.RP_Migraz_Posizioni AS migpos + ON promig.chiaveprogetto = migpos.chiaveprogetto + INNER JOIN C6StagingPeriodico.RP_CatalogoProdotti AS catprod + ON migpos.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6StagingPeriodico.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON mig.chiaveClie diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CONSULENZA_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CONSULENZA_pre_selective.sql new file mode 100644 index 00000000..acd54d7e --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CONSULENZA_pre_selective.sql @@ -0,0 +1,132 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CONSULENZA_pre_selective + + +CREATE procedure [C6StagingPeriodico].[RP_ST_CONSULENZA_pre_selective] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CONSULENZA_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + +TRUNCATE TABLE C6StagingPeriodico.[RP_CONSULENZA] + +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,PosPor.conto + ,PosPor.rubricato + ,PosPor.codConf + ,PosPor.numPolizza + ,PosPor.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,POSITION_ID = '' + ,termId + ,anno + ,prog + ,orizzonteTemporale + INTO #ConsulenzaPianificazione +FROM + C6StagingPeriodico.RP_Pianificazione AS pian + INNER JOIN C6StagingPeriodico.RP_Progetto AS pro + ON pian.chiaveConsulenza = pro.chiaveConsulenza + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello pirmod + ON pro.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6StagingPeriodico.RP_PosizioniPortafoglio AS pospor + ON pro.chiaveProgetto = pospor.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_DettaglioPosizionePortafoglio AS dettposport + ON pospor.chiavePosizionePtf = dettposport.chiavePosizionePtf + INNER JOIN C6StagingPeriodico.RP_CatalogoProdotti AS catprod + ON pospor.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6StagingPeriodico.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON pian.chiaveClientePB = contr.chiaveClientePB + + + WHERE + pospor.dtFineValidita > getdate() + AND pro.dtfinevalidita='99991231' + AND pirmod.dtfinevalidita='99991231' + --AND INVIOBENVENUTO = 'N' + + +--ricerco dati da Migrazione +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + --,mig.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,promig.chiaveProgetto + ,promig.area + ,promig.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,MigPos.conto + ,MigPos.rubricato + ,MigPos.codConf + ,MigPos.numPolizza + ,MigPos.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,POSITION_ID = '' + ,migpos.termId + ,migpos.anno + ,migpos.prog + ,null as orizzonteTemporale +INTO #ConsulenzaMigrazione +FROM + C6StagingPeriodico.RP_Migraz_Pianificazione AS mig + INNER JOIN C6StagingPeriodico.RP_Migraz_Progetto AS promig + ON mig.chiaveconsulenza = promig.chiaveconsulenza + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello pirmod + ON promig.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6StagingPeriodico.RP_Migraz_Posizioni AS migpos + ON promig.chiaveprogetto = migpos.chiaveprogetto + INNER JOIN C6StagingPeriodico.RP_CatalogoProdotti AS catprod + ON migpos.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6StagingPeriodico.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON mig.chiaveClientePB = contr.chiaveClientePB + LEFT JOIN #ConsulenzaPianificazione tc + ON mig.chiaveClientePB = tc.chiaveClientePB + WHERE + pirmod.dtfinevalidita='99991231' + AND migpos.dtFineValidita > getdate() + AND tc.chiaveClientePB IS NULL + --AND INVIOBENVENUTO = 'N' + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALE.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALE.sql new file mode 100644 index 00000000..a62b1dac --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALE.sql @@ -0,0 +1,98 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CONTRATTIPRETRIMESTRALE + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_CONTRATTIPRETRIMESTRALE] +AS + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CONTRATTIPRETRIMESTRALE', + GETDATE(), + 'Elaborazione trimestrale' + ) + +TRUNCATE TABLE EsclusioneContrattiPerQuadratura +TRUNCATE TABLE C6StagingPeriodico.ContrattiPreTrimestrale +INSERT INTO C6StagingPeriodico.ContrattiPreTrimestrale + +SELECT + v.chiaveclientepb, + [Cod_Fiscale], + [Cod_Mandato], + [PIva_Fiduciaria], + [Cod_Agente], + [Rete], + [CodiceContratto], + [FlagROL], + [Indirizzo], + [CAP], + [Citta], + [Provincia], + [Nazione], + [Presso], + [Email], + NULL AS Freq_Diagnosi, -- Il diagnosi non esiste pi per il Pricing + [FREQ_MONITORAGGIO], + GENERAZIONEREPORT, + DATA_INIZIOBASE, + DATA_FINEBASE, + DATA_PERF_BASE, + DATA_PERF, + DATA_INZIOAVANZATO, + DATA_FINEAVANZATO, + RIATTIVAZIONE, + CASE WHEN m.TIP_CONTRATTO=3 THEN 3 ELSE 2 END AS TIP_CONTRATTO,-- Tutti i report di MOnitoraggio sostituiti con il Monitoraggio Private + TIP_RIATTIVAZIONE, + ClienteMIGRATO, + RISORSENA, + PROFILOATTIVO, + NumSolleciti, + NumRevoche, + Data_ultimoSollecito, + Data_ultimaRevoca, + InvioBenvenuto +FROM + [C6Mart].[vContratti] v + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] m + ON v.chiaveclientepb = m.chiaveclientepb +-- Modifica del 1/12/2016 - non esiste pi il contratto di quel pb. Lasciare la where causa uno scarto nella generazione della appo_contratti +-- modifica del 5/12/2016 - segnalata squadratura con capgemini: quindi sembra un agente fittizio; ripristino +WHERE + codicecontratto <> '390026CO101' and cod_agente <> '015312' --MRRRRT78S30L219K cliente di prova +-- fine modifica del 5/12/2016 +-- Fine Modifica del 1/12/2016 + +--aggiornamento 28/11/2022 + +update C6StagingPeriodico.ContrattiPreTrimestrale +set COD_MANDATO='' +where COD_MANDATO is null + +--fine aggiornamento 28/11/2022 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CONTRATTIPRETRIMESTRALE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CONTRATTIPRETRIMESTRALE' + ) + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALEFINETRIMESTRE.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALEFINETRIMESTRE.sql new file mode 100644 index 00000000..b664d389 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALEFINETRIMESTRE.sql @@ -0,0 +1,84 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CONTRATTIPRETRIMESTRALEFINETRIMESTRE + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_CONTRATTIPRETRIMESTRALEFINETRIMESTRE] +AS + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CONTRATTIPRETRIMESTRALEFINETRIMESTRE', + GETDATE(), + 'Elaborazione trimestrale' + ) + +--TRUNCATE TABLE EsclusioneContrattiPerQuadratura +TRUNCATE TABLE C6StagingPeriodico.ContrattiPreTrimestraleFineTrimestre +INSERT INTO C6StagingPeriodico.ContrattiPreTrimestraleFineTrimestre + +SELECT + v.chiaveclientepb, + [Cod_Fiscale], + [Cod_Mandato], + [PIva_Fiduciaria], + [Cod_Agente], + [Rete], + [CodiceContratto], + [FlagROL], + [Indirizzo], + [CAP], + [Citta], + [Provincia], + [Nazione], + [Presso], + [Email], + [Freq_Diagnosi], + [FREQ_MONITORAGGIO], + GENERAZIONEREPORT, + DATA_INIZIOBASE, + DATA_FINEBASE, + DATA_PERF_BASE, + DATA_PERF, + DATA_INZIOAVANZATO, + DATA_FINEAVANZATO, + RIATTIVAZIONE, + m.TIP_CONTRATTO, + TIP_RIATTIVAZIONE, + ClienteMIGRATO, + RISORSENA, + PROFILOATTIVO, + NumSolleciti, + NumRevoche, + Data_ultimoSollecito, + Data_ultimaRevoca, + InvioBenvenuto +FROM + [C6Mart].[vContratti] v + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] m + ON v.chiaveclientepb = m.chiaveclientepb +WHERE + codicecontratto <> '390026CO101' and cod_agente <> '015312' --MRRRRT78S30L219K cliente di prova + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CONTRATTIPRETRIMESTRALE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CONTRATTIPRETRIMESTRALE' + ) + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID.sql new file mode 100644 index 00000000..ad039a18 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID.sql @@ -0,0 +1,115 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CREA_POSITIONID + + + + + + +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6StagingPeriodico].[RP_ST_CREA_POSITIONID] +AS +BEGIN + + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + + --******************************************************************************************** +--select * from c6stagingperiodico.rp_catalogoprodotti + +-- FC 05052014 +-- Interventi : + -- Eliminata ( commentata ) where condition spb.positionid is null + -- Eliminato ( commentato ) ciclo While @Visible + +update C6StagingPeriodico.SPB_CONTR_SINTESI +set positionid = null + + declare @visible int + set @visible = 1 +-- while @visible >= 0 +-- begin + + update C6StagingPeriodico.SPB_CONTR_SINTESI + set positionid = catalogueid + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB inner join + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = @visible + )CAT + on + --caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192','V301','V302') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161213 + --and spb.CODINT not in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + --and spb.CODINT not in ('RS','RB','RM','RV','RE') + and spb.CODINT not in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --fine INTERVENTO 'RF/MP' - 20171204 +--fine INTERVENTO 'RE' - 20161213 + +--fine intervento MIGRAZIONE ASU3 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) +--inizio intervento MIGRAZIONE ASU3 + or + --caso 1a +--inizio INTERVENTO 'RE' - 20161213 + --(spb.CODINT in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + -- (spb.CODINT in ('RS','RB','RM','RV','RE') + + (spb.CODINT in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --fine INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 + + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +--fine intervento MIGRAZIONE ASU3 + or + --else caso 1b + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192','V301','V302') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and cat.TIPOPRODOTTO = SPB.TipProd + ) + or + --caso 2 +-- (SPB.TipProd in ('ASU2') + (SPB.TipProd in ('ASU2','GP') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end + ) + or + --caso 3 + (SPB.TipProd in ('DT','ASD') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + ) + or + --caso 4 + (SPB.TipProd in ('GES') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODMAF,'') = isnull(spb diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20161213.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20161213.sql new file mode 100644 index 00000000..d67da90e --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20161213.sql @@ -0,0 +1,136 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CREA_POSITIONID_20161213 + + + + + +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6StagingPeriodico].[RP_ST_CREA_POSITIONID_20161213] +AS +BEGIN + + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + + --******************************************************************************************** +--select * from c6stagingperiodico.rp_catalogoprodotti + +-- FC 05052014 +-- Interventi : + -- Eliminata ( commentata ) where condition spb.positionid is null + -- Eliminato ( commentato ) ciclo While @Visible + +update C6StagingPeriodico.SPB_CONTR_SINTESI +set positionid = null + + declare @visible int + set @visible = 1 +-- while @visible >= 0 +-- begin + + update C6StagingPeriodico.SPB_CONTR_SINTESI + set positionid = catalogueid + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB inner join + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = @visible + )CAT + on + --caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') +--inizio intervento MIGRAZIONE ASU3 + and spb.CODINT not in ('RS','RB','RM','RV') +--fine intervento MIGRAZIONE ASU3 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) +--inizio intervento MIGRAZIONE ASU3 + or + --caso 1a + (spb.CODINT in ('RS','RB','RM','RV') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +--fine intervento MIGRAZIONE ASU3 + or + --else caso 1b + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and cat.TIPOPRODOTTO = SPB.TipProd + ) + or + --caso 2 +-- (SPB.TipProd in ('ASU2') + (SPB.TipProd in ('ASU2','GP') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end + ) + or + --caso 3 + (SPB.TipProd in ('DT','ASD') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + ) + or + --caso 4 + (SPB.TipProd in ('GES') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODMAF,'') = isnull(spb.MAF,'') + ) +-- --caso 5 +-- or +-- (SPB.isin = 'EURO00000009' +-- and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') +-- and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') +-- and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +-- ) + + +-- where spb.positionid is null +-- set @visible = @visible - 1 +-- end + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' + ) + --******************************************************************************************** + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_2', diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20171204_preRFMP.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20171204_preRFMP.sql new file mode 100644 index 00000000..84f55f21 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20171204_preRFMP.sql @@ -0,0 +1,121 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CREA_POSITIONID_20171204_preRFMP + + + + + + + +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6StagingPeriodico].[RP_ST_CREA_POSITIONID_20171204_preRFMP] +AS +BEGIN + + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + + --******************************************************************************************** +--select * from c6stagingperiodico.rp_catalogoprodotti + +-- FC 05052014 +-- Interventi : + -- Eliminata ( commentata ) where condition spb.positionid is null + -- Eliminato ( commentato ) ciclo While @Visible + +update C6StagingPeriodico.SPB_CONTR_SINTESI +set positionid = null + + declare @visible int + set @visible = 1 +-- while @visible >= 0 +-- begin + + update C6StagingPeriodico.SPB_CONTR_SINTESI + set positionid = catalogueid + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB inner join + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = @visible + )CAT + on + --caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161213 + --and spb.CODINT not in ('RS','RB','RM','RV') + and spb.CODINT not in ('RS','RB','RM','RV','RE') +--fine INTERVENTO 'RE' - 20161213 + +--fine intervento MIGRAZIONE ASU3 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) +--inizio intervento MIGRAZIONE ASU3 + or + --caso 1a +--inizio INTERVENTO 'RE' - 20161213 + --(spb.CODINT in ('RS','RB','RM','RV') + (spb.CODINT in ('RS','RB','RM','RV','RE') +--FINE INTERVENTO 'RE' - 20161213 + + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +--fine intervento MIGRAZIONE ASU3 + or + --else caso 1b + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and cat.TIPOPRODOTTO = SPB.TipProd + ) + or + --caso 2 +-- (SPB.TipProd in ('ASU2') + (SPB.TipProd in ('ASU2','GP') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end + ) + or + --caso 3 + (SPB.TipProd in ('DT','ASD') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + ) + or + --caso 4 + (SPB.TipProd in ('GES') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODMAF,'') = isnull(spb.MAF,'') + ) +-- --caso 5 +-- or +-- (SPB.isin = 'EURO00000009' +-- and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') +-- and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') +-- and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +-- ) + + +-- where spb.positionid is null +-- set @visible = @visible - 1 + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20190725.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20190725.sql new file mode 100644 index 00000000..5804a104 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20190725.sql @@ -0,0 +1,120 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CREA_POSITIONID_20190725 + + + + + + + + +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6StagingPeriodico].[RP_ST_CREA_POSITIONID_20190725] +AS +BEGIN + + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + + --******************************************************************************************** +--select * from c6stagingperiodico.rp_catalogoprodotti + +-- FC 05052014 +-- Interventi : + -- Eliminata ( commentata ) where condition spb.positionid is null + -- Eliminato ( commentato ) ciclo While @Visible + +update C6StagingPeriodico.SPB_CONTR_SINTESI +set positionid = null + + declare @visible int + set @visible = 1 +-- while @visible >= 0 +-- begin + + update C6StagingPeriodico.SPB_CONTR_SINTESI + set positionid = catalogueid + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB inner join + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = @visible + )CAT + on + --caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161213 + --and spb.CODINT not in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + --and spb.CODINT not in ('RS','RB','RM','RV','RE') + and spb.CODINT not in ('RS','RB','RM','RV','RE','RF') + --fine INTERVENTO 'RF/MP' - 20171204 +--fine INTERVENTO 'RE' - 20161213 + +--fine intervento MIGRAZIONE ASU3 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) +--inizio intervento MIGRAZIONE ASU3 + or + --caso 1a +--inizio INTERVENTO 'RE' - 20161213 + --(spb.CODINT in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + -- (spb.CODINT in ('RS','RB','RM','RV','RE') + + (spb.CODINT in ('RS','RB','RM','RV','RE','RF') + --fine INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 + + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +--fine intervento MIGRAZIONE ASU3 + or + --else caso 1b + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and cat.TIPOPRODOTTO = SPB.TipProd + ) + or + --caso 2 +-- (SPB.TipProd in ('ASU2') + (SPB.TipProd in ('ASU2','GP') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end + ) + or + --caso 3 + (SPB.TipProd in ('DT','ASD') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + ) + or + --caso 4 + (SPB.TipProd in ('GES') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODMAF,'') = isnull(spb.MAF,'') + ) +-- --caso 5 +-- or +-- (SPB.isin = 'EURO00000009' +-- and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID_BK_eligoTitoli.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID_BK_eligoTitoli.sql new file mode 100644 index 00000000..bf3da709 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID_BK_eligoTitoli.sql @@ -0,0 +1,151 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CREA_POSITIONID_BK_eligoTitoli + + + + +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[RP_ST_CREA_POSITIONID_BK_eligoTitoli] +AS +BEGIN + + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + + --******************************************************************************************** +--select * from c6stagingperiodico.rp_catalogoprodotti + +-- FC 05052014 +-- Interventi : + -- Eliminata ( commentata ) where condition spb.positionid is null + -- Eliminato ( commentato ) ciclo While @Visible + +update C6StagingPeriodico.SPB_CONTR_SINTESI +set positionid = null + + declare @visible int + set @visible = 1 +-- while @visible >= 0 +-- begin + + update C6StagingPeriodico.SPB_CONTR_SINTESI + set positionid = catalogueid + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB inner join + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = @visible + )CAT + on + --caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) + or + --else caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and cat.TIPOPRODOTTO = SPB.TipProd + ) + or + --caso 2 +-- (SPB.TipProd in ('ASU2') + (SPB.TipProd in ('ASU2','GP') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end + ) + or + --caso 3 + (SPB.TipProd in ('DT','ASD') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + ) + or + --caso 4 + (SPB.TipProd in ('GES') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODMAF,'') = isnull(spb.MAF,'') + ) +-- --caso 5 +-- or +-- (SPB.isin = 'EURO00000009' +-- and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') +-- and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') +-- and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +-- ) + + +-- where spb.positionid is null +-- set @visible = @visible - 1 +-- end + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' + ) + --******************************************************************************************** + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + -- drop table #TAB1 + SELECT distinct + TIPPROD, + CODINT, + MAF, + CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END AS CODISIN, + SUBPROD, + POSITIONID, + RETE, + codfis + INTO #TAB1 + FROM C6StagingPeriodico.SPB_CONTR_SINTESI where POSITIONID IS NULL + + UPDATE #TAB1 + SET POSITIONID = C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPPROD, + CODINT, + MAF, + CODISIN, + SUBPROD + ) + + + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = t.POSIT diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID_pre_selective.sql new file mode 100644 index 00000000..458868b1 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CREA_POSITIONID_pre_selective.sql @@ -0,0 +1,133 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CREA_POSITIONID_pre_selective + + + + + +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6StagingPeriodico].[RP_ST_CREA_POSITIONID_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_pre_selective_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + + --******************************************************************************************** +--select * from c6stagingperiodico.rp_catalogoprodotti + +-- FC 05052014 +-- Interventi : + -- Eliminata ( commentata ) where condition spb.positionid is null + -- Eliminato ( commentato ) ciclo While @Visible + +update C6StagingPeriodico.SPB_CONTR_SINTESI +set positionid = null + + declare @visible int + set @visible = 1 +-- while @visible >= 0 +-- begin + + update C6StagingPeriodico.SPB_CONTR_SINTESI + set positionid = catalogueid + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB inner join + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = @visible + )CAT + on + --caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161213 + --and spb.CODINT not in ('RS','RB','RM','RV') + and spb.CODINT not in ('RS','RB','RM','RV','RE') +--fine INTERVENTO 'RE' - 20161213 + +--fine intervento MIGRAZIONE ASU3 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) +--inizio intervento MIGRAZIONE ASU3 + or + --caso 1a +--inizio INTERVENTO 'RE' - 20161213 + --(spb.CODINT in ('RS','RB','RM','RV') + (spb.CODINT in ('RS','RB','RM','RV','RE') +--FINE INTERVENTO 'RE' - 20161213 + + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +--fine intervento MIGRAZIONE ASU3 + or + --else caso 1b + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and cat.TIPOPRODOTTO = SPB.TipProd + ) + or + --caso 2 +-- (SPB.TipProd in ('ASU2') + (SPB.TipProd in ('ASU2','GP') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end + ) + or + --caso 3 + (SPB.TipProd in ('DT','ASD') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + ) + or + --caso 4 + (SPB.TipProd in ('GES') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODMAF,'') = isnull(spb.MAF,'') + ) +-- --caso 5 +-- or +-- (SPB.isin = 'EURO00000009' +-- and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') +-- and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') +-- and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +-- ) + + +-- where spb.positionid is null +-- set @visible = @visible - 1 +-- end + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_pre_selective_1' AND + Inizio = ( + SELECT + MAX(Inizio) + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatDivPtf.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatDivPtf.sql new file mode 100644 index 00000000..b656a27a --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatDivPtf.sql @@ -0,0 +1,152 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CatDivPtf + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_CatDivPtf] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatDivPtf', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatDivPtf + truncate table C6StagingPeriodico.RP_CatDivPtf + +INSERT INTO [C6StagingPeriodico].[RP_CatDivPtf] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[Credito] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore] + ,[TIP_TASSO] + ,[Suitability_Perimeter] + ) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[Credito] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti.sql new file mode 100644 index 00000000..7a7b1393 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti.sql @@ -0,0 +1,160 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CatalogoProdotti + + + + + + + + + + + + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_CatalogoProdotti] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_CatalogoProdotti + +INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore] + ,[TIP_TASSO] + ,[TIP_EMITTENTE] + ,[Suitability_Perimeter] + ) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20160505.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20160505.sql new file mode 100644 index 00000000..57387727 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20160505.sql @@ -0,0 +1,146 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CatalogoProdotti_20160505 + + +CREATE procedure [C6StagingPeriodico].[RP_ST_CatalogoProdotti_20160505] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_CatalogoProdotti + +INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20160506_LM.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20160506_LM.sql new file mode 100644 index 00000000..fead743f --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20160506_LM.sql @@ -0,0 +1,147 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CatalogoProdotti_20160506_LM + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_CatalogoProdotti_20160506_LM] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_CatalogoProdotti + +INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170120.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170120.sql new file mode 100644 index 00000000..e8e19721 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170120.sql @@ -0,0 +1,146 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CatalogoProdotti_20170120 + + +CREATE procedure [C6StagingPeriodico].[RP_ST_CatalogoProdotti_20170120] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_CatalogoProdotti + +INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170616_Vis1.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170616_Vis1.sql new file mode 100644 index 00000000..81302bac --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170616_Vis1.sql @@ -0,0 +1,148 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CatalogoProdotti_20170616_Vis1 + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_CatalogoProdotti_20170616_Vis1] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_CatalogoProdotti + +INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170720.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170720.sql new file mode 100644 index 00000000..11fa4350 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170720.sql @@ -0,0 +1,150 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CatalogoProdotti_20170720 + + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_CatalogoProdotti_20170720] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_CatalogoProdotti + +INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170925.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170925.sql new file mode 100644 index 00000000..47d8343c --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170925.sql @@ -0,0 +1,151 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CatalogoProdotti_20170925 + + + + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_CatalogoProdotti_20170925] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_CatalogoProdotti + +INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[Class diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20171026.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20171026.sql new file mode 100644 index 00000000..13ac8e6d --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20171026.sql @@ -0,0 +1,152 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CatalogoProdotti_20171026 + + + + + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_CatalogoProdotti_20171026] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_CatalogoProdotti + +INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[Cla diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20180117.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20180117.sql new file mode 100644 index 00000000..e1901f18 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_20180117.sql @@ -0,0 +1,153 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CatalogoProdotti_20180117 + + + + + + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_CatalogoProdotti_20180117] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_CatalogoProdotti + +INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[C diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_pre_selective.sql new file mode 100644 index 00000000..9af81848 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_CatalogoProdotti_pre_selective.sql @@ -0,0 +1,144 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_CatalogoProdotti_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_CatalogoProdotti_pre_selective] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_CatalogoProdotti + +INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPr diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ChiaviMonitoraggio.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ChiaviMonitoraggio.sql new file mode 100644 index 00000000..5fc7f54e --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ChiaviMonitoraggio.sql @@ -0,0 +1,55 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_ChiaviMonitoraggio + + +CREATE procedure [C6StagingPeriodico].[RP_ST_ChiaviMonitoraggio] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ChiaviMonitoraggio', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.[RP_ChiaviMonitoraggio] +INSERT INTO [C6StagingPeriodico].[RP_ChiaviMonitoraggio] + ( + [IdMonitoraggio], + [ChiaveProgetto], + [DtCreazione], + [stato], + [dtFineMonitoraggio], + [flagVisualizzaStor] + ) + select * + + from [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.ChiaviMonitoraggio + --filtro per non prendere le righe duplicate + WHERE stato = 1 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ChiaviMonitoraggio' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_ChiaviMonitoraggio' + ) + +END + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ChiaviMonitoraggio_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ChiaviMonitoraggio_pre_selective.sql new file mode 100644 index 00000000..94eea6d2 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ChiaviMonitoraggio_pre_selective.sql @@ -0,0 +1,53 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_ChiaviMonitoraggio_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_ChiaviMonitoraggio_pre_selective] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ChiaviMonitoraggio_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.[RP_ChiaviMonitoraggio] +INSERT INTO [C6StagingPeriodico].[RP_ChiaviMonitoraggio] + ( + [IdMonitoraggio], + [ChiaveProgetto], + [DtCreazione], + [stato], + [dtFineMonitoraggio], + [flagVisualizzaStor] + ) + select * + + from [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.ChiaviMonitoraggio + --filtro per non prendere le righe duplicate + WHERE stato = 1 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ChiaviMonitoraggio_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_ChiaviMonitoraggio_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cliente.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cliente.sql new file mode 100644 index 00000000..6b344854 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cliente.sql @@ -0,0 +1,86 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Cliente + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Cliente] +AS + +BEGIN + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Cliente', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Cliente + + insert into C6StagingPeriodico.RP_Cliente + + select + cli.chiaveCliente + ,codFis + ,pIva + ,codMan + ,nome + ,SUBSTRING(cognome, 1, 50) -- TOPPA INSERITA PERCH MODIFCA NON COMUNICATA A REPORTISTA BATCH + ,tipologia --CHIEDERE AD ALESSIA SU CLIENTEPB + ,dtNascita + ,indirizzo + ,numCivico + ,c.NomeComune as citta + ,cap + ,n.descrizioneNazione as nazione + ,idQuestionario + ,null--,dtQuestionario + ,null -- ,dtScadQuest + ,profilo + ,cli.frequenza + ,rendicSemestrale + ,codStatoCivile + ,genere as sesso + ,codTitoloStudio + ,flagCanOnLine + ,numFigli + ,codProvNasc + ,codComNasc + ,codNazNasc + ,fonte + ,pinCode + ,cli.cittadinanza + ,null as provincia + + from [CONSUNI_PERIODICO].consulenzaUnica.dbo.Cliente cli + LEFT JOIN [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.ClientePB clipb + on clipb.chiavecliente = cli.chiavecliente + left join [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.DComune c + on c.codcomune = cli.codcomRes + left join [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.Dnazione n + on n.codNazione = cli.CodNazRes + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Cliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Cliente' + ) + +END + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ClientePB.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ClientePB.sql new file mode 100644 index 00000000..38ffe0c3 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ClientePB.sql @@ -0,0 +1,62 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_ClientePB + + +CREATE procedure [C6StagingPeriodico].[RP_ST_ClientePB] +AS + +BEGIN + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ClientePB', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_ClientePB + + insert into C6StagingPeriodico.RP_ClientePB + + select + chiaveClientePB, + chiaveCliente, + chiavePB, + idQuestionario, + profilo, + frequenza, + null, + null, + tipologia, + null + + from [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.ClientePB + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ClientePB' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_ClientePB' + ) + +END + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ClientePB_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ClientePB_pre_selective.sql new file mode 100644 index 00000000..7bd1995b --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ClientePB_pre_selective.sql @@ -0,0 +1,60 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_ClientePB_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_ClientePB_pre_selective] +AS + +BEGIN + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ClientePB_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_ClientePB + + insert into C6StagingPeriodico.RP_ClientePB + + select + chiaveClientePB, + chiaveCliente, + chiavePB, + idQuestionario, + profilo, + frequenza, + null, + null, + tipologia, + null + + from [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.ClientePB + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ClientePB_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_ClientePB_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cliente_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cliente_pre_selective.sql new file mode 100644 index 00000000..4d4be9db --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cliente_pre_selective.sql @@ -0,0 +1,84 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Cliente_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_Cliente_pre_selective] +AS + +BEGIN + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Cliente_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Cliente + + insert into C6StagingPeriodico.RP_Cliente + + select + cli.chiaveCliente + ,codFis + ,pIva + ,codMan + ,nome + ,SUBSTRING(cognome, 1, 50) -- TOPPA INSERITA PERCH MODIFCA NON COMUNICATA A REPORTISTA BATCH + ,tipologia --CHIEDERE AD ALESSIA SU CLIENTEPB + ,dtNascita + ,indirizzo + ,numCivico + ,c.NomeComune as citta + ,cap + ,n.descrizioneNazione as nazione + ,idQuestionario + ,null--,dtQuestionario + ,null -- ,dtScadQuest + ,profilo + ,cli.frequenza + ,rendicSemestrale + ,codStatoCivile + ,genere as sesso + ,codTitoloStudio + ,flagCanOnLine + ,numFigli + ,codProvNasc + ,codComNasc + ,codNazNasc + ,fonte + ,pinCode + ,cli.cittadinanza + ,null as provincia + + from [CONSUNI_PERIODICO].consulenzaUnica.dbo.Cliente cli + LEFT JOIN [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.ClientePB clipb + on clipb.chiavecliente = cli.chiavecliente + left join [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.DComune c + on c.codcomune = cli.codcomRes + left join [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.Dnazione n + on n.codNazione = cli.CodNazRes + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Cliente_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Cliente_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cono.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cono.sql new file mode 100644 index 00000000..531bb886 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cono.sql @@ -0,0 +1,75 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Cono + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Cono] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Cono', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_CONO + + insert into C6StagingPeriodico.RP_CONO + + select + prog.chiaveprogetto, + dtriferimento, + a.chiaveConsulenza, + --a.Area, + -------------------------> modifica del 18/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non pi distinta tra pre1 e pre2 + --, [Area] + CASE + + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + else a.area + END AS [Area], + -------------------------> FINE modifica del 13/1/2017 + quantileSup, + quantileInf, + quantileInter + + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Cono c + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.progetto prog + on c.chiaveprogetto = prog.chiaveprogetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + on prog.chiaveArea = a.ChiaveArea + --- Modifica del 18/1/2017 per reperire la descrizione del progetto per la case di cui sopra + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + -------------------------------------------------------------------------------------------- + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Cono' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Cono' + ) + +end + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cono_20170118.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cono_20170118.sql new file mode 100644 index 00000000..d178c945 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cono_20170118.sql @@ -0,0 +1,59 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Cono_20170118 + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Cono_20170118] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Cono', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_CONO + + insert into C6StagingPeriodico.RP_CONO + + select + prog.chiaveprogetto, + dtriferimento, + a.chiaveConsulenza, + a.Area, + quantileSup, + quantileInf, + quantileInter + + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Cono c + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.progetto prog + on c.chiaveprogetto = prog.chiaveprogetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + on prog.chiaveArea = a.ChiaveArea + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Cono' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Cono' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cono_20170320_OBS.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cono_20170320_OBS.sql new file mode 100644 index 00000000..3e114acc --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cono_20170320_OBS.sql @@ -0,0 +1,58 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Cono_20170320_OBS + +CREATE procedure [C6StagingPeriodico].[RP_ST_Cono] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Cono', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_CONO + + insert into C6StagingPeriodico.RP_CONO + + select + prog.chiaveprogetto, + dtriferimento, + a.chiaveConsulenza, + a.Area, + quantileSup, + quantileInf, + quantileInter + + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Cono c + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.progetto prog + on c.chiaveprogetto = prog.chiaveprogetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + on prog.chiaveArea = a.ChiaveArea + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Cono' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Cono' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cono_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cono_pre_selective.sql new file mode 100644 index 00000000..441ff3e5 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Cono_pre_selective.sql @@ -0,0 +1,58 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Cono_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_Cono_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Cono_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_CONO + + insert into C6StagingPeriodico.RP_CONO + + select + prog.chiaveprogetto, + dtriferimento, + a.chiaveConsulenza, + a.Area, + quantileSup, + quantileInf, + quantileInter + + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Cono c + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.progetto prog + on c.chiaveprogetto = prog.chiaveprogetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + on prog.chiaveArea = a.ChiaveArea + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Cono_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Cono_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettAltriProdotti.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettAltriProdotti.sql new file mode 100644 index 00000000..16388843 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettAltriProdotti.sql @@ -0,0 +1,68 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_DettAltriProdotti + + +CREATE procedure [C6StagingPeriodico].[RP_ST_DettAltriProdotti] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettAltriProdotti', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_DettAltriProdotti + + insert into C6StagingPeriodico.RP_DettAltriProdotti + + + /* 21/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non pi utilizzati per l'evolutiva patrimonio immobiliare. + select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.DettAltriProdotti + */ + select [chiaveProdottoTerzi], + [idTipoExtra], + [descrizione], + NULL, + [valoreStimato], + NULL, + NULL, + NULL, + [flagAssicurativo], + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettAltriProdotti + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettAltriProdotti' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_DettAltriProdotti' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettAltriProdotti_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettAltriProdotti_pre_selective.sql new file mode 100644 index 00000000..a52456dd --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettAltriProdotti_pre_selective.sql @@ -0,0 +1,66 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_DettAltriProdotti_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_DettAltriProdotti_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettAltriProdotti_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_DettAltriProdotti + + insert into C6StagingPeriodico.RP_DettAltriProdotti + + + /* 21/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non pi utilizzati per l'evolutiva patrimonio immobiliare. + select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.DettAltriProdotti + */ + select [chiaveProdottoTerzi], + [idTipoExtra], + [descrizione], + NULL, + [valoreStimato], + NULL, + NULL, + NULL, + [flagAssicurativo], + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettAltriProdotti + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettAltriProdotti_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettAltriProdotti_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettImmobiliare.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettImmobiliare.sql new file mode 100644 index 00000000..06fee27a --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettImmobiliare.sql @@ -0,0 +1,80 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_DettImmobiliare + + +CREATE procedure [C6StagingPeriodico].[RP_ST_DettImmobiliare] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettImmobiliare', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_DettImmobiliare + + insert into C6StagingPeriodico.RP_DettImmobiliare + + /* 21/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non pi utilizzati. + Sostituzione del campo valore immobile con valoreimmobiletotale per l'evolutiva patrimonio immobiliare. + select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.DettImmobiliare*/ + + select + [chiaveProdottoTerzi], + [descrizione], + [codProvincia], + [provincia], + [codComune], + [comune], + [codZona], + [zona], + [superficie], + NULL, + NULL, + NULL, + --[valoreImmobile], + [valoreImmobileTotale], + NULL, + [renditaAnnua], + NULL, + NULL, + NULL, + NULL, + NULL, + [codTipologia], + [tipologia] + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettImmobiliare + + + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettImmobiliare' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_DettImmobiliare' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettImmobiliare_20190205_ProQuota.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettImmobiliare_20190205_ProQuota.sql new file mode 100644 index 00000000..44434d04 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettImmobiliare_20190205_ProQuota.sql @@ -0,0 +1,79 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_DettImmobiliare_20190205_ProQuota + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_DettImmobiliare_20190205_ProQuota] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettImmobiliare', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_DettImmobiliare_20190205_ProQuota + + insert into C6StagingPeriodico.RP_DettImmobiliare_20190205_ProQuota + + /* 21/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non pi utilizzati. + Sostituzione del campo valore immobile con valoreimmobiletotale per l'evolutiva patrimonio immobiliare. + select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.DettImmobiliare*/ + + select + [chiaveProdottoTerzi], + [descrizione], + [codProvincia], + [provincia], + [codComune], + [comune], + [codZona], + [zona], + [superficie], + NULL, + NULL, + NULL, + --[valoreImmobile], + [valoreImmobileTotale], + NULL, + [renditaAnnua], + NULL, + NULL, + NULL, + NULL, + NULL, + [codTipologia], + [tipologia] + -- modifica del 05/02/2019 per il ProQuota + ,[valoreImmobile], + [TipologiaDiritto], + [QuotaProprieta] + -- fine modifica del 05/02/2019 per il ProQuota + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettImmobiliare + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettImmobiliare' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_DettImmobiliare' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettImmobiliare_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettImmobiliare_pre_selective.sql new file mode 100644 index 00000000..d78feb36 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettImmobiliare_pre_selective.sql @@ -0,0 +1,78 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_DettImmobiliare_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_DettImmobiliare_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettImmobiliare_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_DettImmobiliare + + insert into C6StagingPeriodico.RP_DettImmobiliare + + /* 21/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non pi utilizzati. + Sostituzione del campo valore immobile con valoreimmobiletotale per l'evolutiva patrimonio immobiliare. + select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.DettImmobiliare*/ + + select + [chiaveProdottoTerzi], + [descrizione], + [codProvincia], + [provincia], + [codComune], + [comune], + [codZona], + [zona], + [superficie], + NULL, + NULL, + NULL, + --[valoreImmobile], + [valoreImmobileTotale], + NULL, + [renditaAnnua], + NULL, + NULL, + NULL, + NULL, + NULL, + [codTipologia], + [tipologia] + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettImmobiliare + + + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettImmobiliare_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettImmobiliare_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettPatrAziendale.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettPatrAziendale.sql new file mode 100644 index 00000000..a2fb199e --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettPatrAziendale.sql @@ -0,0 +1,71 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_DettPatrAziendale + + +CREATE procedure [C6StagingPeriodico].[RP_ST_DettPatrAziendale] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettPatrAziendale', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_DettPatrAziendale + + insert into C6StagingPeriodico.RP_DettPatrAziendale + + + +/* 20/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non pi utilizzati per l'evolutiva patrimonio immobiliare. +select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.DettPatrAziendale */ + select [chiaveProdottoTerzi], + NULL, + [denominazione], + [codTipoCompagnia], + [patrimonio], + NULL, + NULL, + NULL, + [idTipoAzienda], + NULL, + NULL, + [numQuote], + [valoreStimato], + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettPatrAziendale + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettPatrAziendale' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_DettPatrAziendale' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettPatrAziendale_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettPatrAziendale_pre_selective.sql new file mode 100644 index 00000000..30aa1298 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettPatrAziendale_pre_selective.sql @@ -0,0 +1,69 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_DettPatrAziendale_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_DettPatrAziendale_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettPatrAziendale_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_DettPatrAziendale + + insert into C6StagingPeriodico.RP_DettPatrAziendale + + + +/* 20/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non pi utilizzati per l'evolutiva patrimonio immobiliare. +select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.DettPatrAziendale */ + select [chiaveProdottoTerzi], + NULL, + [denominazione], + [codTipoCompagnia], + [patrimonio], + NULL, + NULL, + NULL, + [idTipoAzienda], + NULL, + NULL, + [numQuote], + [valoreStimato], + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettPatrAziendale + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettPatrAziendale_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettPatrAziendale_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettProdottiTerzi.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettProdottiTerzi.sql new file mode 100644 index 00000000..72fda421 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettProdottiTerzi.sql @@ -0,0 +1,84 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_DettProdottiTerzi + + +CREATE procedure [C6StagingPeriodico].[RP_ST_DettProdottiTerzi] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettProdottiTerzi', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_DettProdottiTerzi + +--drop table C6StagingPeriodico.RP_DettProdottiTerzi +--select * into C6StagingPeriodico.RP_DettProdottiTerzi from [CONSEVO].[consulenzaEvoluta].dbo.DettProdottiTerzi + + insert into C6StagingPeriodico.RP_DettProdottiTerzi + select +chiaveProdottoTerzi, +idIntermediario, +alberatura, +nomeIntermediario, +dtInizioInvest, +totVersato, +totPrelevato, +valutaTotPrelevato, +chiaveProdotto, +numQuote, +divQuoteProd, +dtSottoscrizione, +valutaPremioVers, +tipoPolizza, +tipoVersamento, +tipoFormaPensionistica, +capitaleInvestito, +valutaCapInvestito, +contoPrincipale, +addebitoUtenze, +accreditoStipPens, +cartaCredito, +addebitoMutuo, +isin, +lineaFinanziaria, +fabbisognoPrev, +dtDecorrenza, +modalitaUso, +ctvUltimaPrestNota, +dtUltimaPrestNota, +flgPrestazioneScad, +dtTermineVers, +dtUltimoPremioNoto, +nomeCompagnia, +valutaCtvUltPrestNota +from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettProdottiTerzi + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettProdottiTerzi' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_DettProdottiTerzi' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettProdottiTerzi_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettProdottiTerzi_pre_selective.sql new file mode 100644 index 00000000..33e17845 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettProdottiTerzi_pre_selective.sql @@ -0,0 +1,82 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_DettProdottiTerzi_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_DettProdottiTerzi_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettProdottiTerzi_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_DettProdottiTerzi + +--drop table C6StagingPeriodico.RP_DettProdottiTerzi +--select * into C6StagingPeriodico.RP_DettProdottiTerzi from [CONSEVO].[consulenzaEvoluta].dbo.DettProdottiTerzi + + insert into C6StagingPeriodico.RP_DettProdottiTerzi + select +chiaveProdottoTerzi, +idIntermediario, +alberatura, +nomeIntermediario, +dtInizioInvest, +totVersato, +totPrelevato, +valutaTotPrelevato, +chiaveProdotto, +numQuote, +divQuoteProd, +dtSottoscrizione, +valutaPremioVers, +tipoPolizza, +tipoVersamento, +tipoFormaPensionistica, +capitaleInvestito, +valutaCapInvestito, +contoPrincipale, +addebitoUtenze, +accreditoStipPens, +cartaCredito, +addebitoMutuo, +isin, +lineaFinanziaria, +fabbisognoPrev, +dtDecorrenza, +modalitaUso, +ctvUltimaPrestNota, +dtUltimaPrestNota, +flgPrestazioneScad, +dtTermineVers, +dtUltimoPremioNoto, +nomeCompagnia, +valutaCtvUltPrestNota +from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettProdottiTerzi + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettProdottiTerzi_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettProdottiTerzi_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettaglioOperazione.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettaglioOperazione.sql new file mode 100644 index 00000000..dcf3991a --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettaglioOperazione.sql @@ -0,0 +1,48 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_DettaglioOperazione + + +CREATE procedure [C6StagingPeriodico].[RP_ST_DettaglioOperazione] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettaglioOperazione', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_DettaglioOperazione + --drop table C6StagingPeriodico.RP_DettaglioOperazione + insert into C6StagingPeriodico.RP_DettaglioOperazione + + + select + chiaveProposta,codTipoOperazione,chiavePosizionePtf,chiavePosizionePro,chiaveContratto,ctv,ptfIniziale,quantitaNominale,ctvNonRappresentabile,investi,disinvesti,rischioCredito,rischioMercato,copertura,percOperazione,gestPO,relOperazione,opEseguita,posRiallocata,nomeProgettoProp,areaProp,isAttivoRC + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioOperazione + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettaglioOperazione' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_DettaglioOperazione' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettaglioOperazione_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettaglioOperazione_pre_selective.sql new file mode 100644 index 00000000..c8720bca --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettaglioOperazione_pre_selective.sql @@ -0,0 +1,46 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_DettaglioOperazione_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_DettaglioOperazione_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettaglioOperazione_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_DettaglioOperazione + --drop table C6StagingPeriodico.RP_DettaglioOperazione + insert into C6StagingPeriodico.RP_DettaglioOperazione + + + select + chiaveProposta,codTipoOperazione,chiavePosizionePtf,chiavePosizionePro,chiaveContratto,ctv,ptfIniziale,quantitaNominale,ctvNonRappresentabile,investi,disinvesti,rischioCredito,rischioMercato,copertura,percOperazione,gestPO,relOperazione,opEseguita,posRiallocata,nomeProgettoProp,areaProp,isAttivoRC + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioOperazione + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettaglioOperazione_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettaglioOperazione_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettaglioPosizionePortafoglio.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettaglioPosizionePortafoglio.sql new file mode 100644 index 00000000..ca7a9dc4 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettaglioPosizionePortafoglio.sql @@ -0,0 +1,71 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_DettaglioPosizionePortafoglio + + +CREATE procedure [C6StagingPeriodico].[RP_ST_DettaglioPosizionePortafoglio] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettaglioPosizionePortafoglio', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_DettaglioPosizionePortafoglio + + insert into C6StagingPeriodico.RP_DettaglioPosizionePortafoglio ( + + [chiavePosizionePtf] + ,[ctv] + ,[rischioCredito] + ,[rischioMercato] + ,[copertura] + ,[isAttivoRC] + ,[ctvNonAllocabile] + ,[quantitaNominale] + ,[partitaViaggiante] + ,[ctvOut] + ,[ctvIni] + ,[dtSaldo] + ) + select + [chiavePosizionePtf], + [ctv], + null as [rischioCredito], --- Da verificare + null as [rischioMercato], + [copertura], + null as [isAttivoRC], --- Da verificare + [ctvNonAllocabile], + [quantitaNominale], + [partitaViaggiante], + [ctvOut], + [ctvIni], + [dtSaldo] + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioPosizionePortafoglio + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettaglioPosizionePortafoglio' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_DettaglioPosizionePortafoglio' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettaglioPosizionePortafoglio_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettaglioPosizionePortafoglio_pre_selective.sql new file mode 100644 index 00000000..c0825fff --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DettaglioPosizionePortafoglio_pre_selective.sql @@ -0,0 +1,69 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_DettaglioPosizionePortafoglio_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_DettaglioPosizionePortafoglio_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettaglioPosizionePortafoglio_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_DettaglioPosizionePortafoglio + + insert into C6StagingPeriodico.RP_DettaglioPosizionePortafoglio ( + + [chiavePosizionePtf] + ,[ctv] + ,[rischioCredito] + ,[rischioMercato] + ,[copertura] + ,[isAttivoRC] + ,[ctvNonAllocabile] + ,[quantitaNominale] + ,[partitaViaggiante] + ,[ctvOut] + ,[ctvIni] + ,[dtSaldo] + ) + select + [chiavePosizionePtf], + [ctv], + null as [rischioCredito], --- Da verificare + null as [rischioMercato], + [copertura], + null as [isAttivoRC], --- Da verificare + [ctvNonAllocabile], + [quantitaNominale], + [partitaViaggiante], + [ctvOut], + [ctvIni], + [dtSaldo] + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioPosizionePortafoglio + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettaglioPosizionePortafoglio_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettaglioPosizionePortafoglio_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DistribuzionePtfModello_Tattici_AssetClass.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DistribuzionePtfModello_Tattici_AssetClass.sql new file mode 100644 index 00000000..b39bd25f --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DistribuzionePtfModello_Tattici_AssetClass.sql @@ -0,0 +1,71 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_DistribuzionePtfModello_Tattici_AssetClass + + + + + +create procedure [C6StagingPeriodico].[RP_ST_DistribuzionePtfModello_Tattici_AssetClass] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DistribuzionePtfModello_Tattici', + GETDATE(), + 'Elaborazione periodica' + ) + --drop table c6staging.RP_Progetto + truncate table [C6StagingPeriodico].[RP_DistribuzionePtfModello_Tattici_AssetClass] + + SELECT [chiavePtfMod], Asset, SUM([percentuale]) AS Totale_Percentuale +into #asset_no_desc +FROM CONSUNI.ConsulenzaUnica.dbo.[DistribuzionePtfModello_Tattici] ptf +GROUP BY [chiavePtfMod],asset +order by chiaveptfmod + + insert into [C6StagingPeriodico].[RP_DistribuzionePtfModello_Tattici_AssetClass] ( + [chiavePtfMod] + ,ordinamento + ,[asset] + ,[descrizione] + ,[percentuale] ) + + select de.[chiavePtfMod],rep.ordinamento_asset,de.[Asset],ass.descrizione,de.Totale_Percentuale + from #asset_no_desc de + left join [CONSUNI].[CatalogoProdotti].dbo.AssetClass ass + on de.Asset=ass.asset + left join [CONSUNI].[consulenzaUnica].dbo.REP_ASSET_1_E_2_ORDINATE rep + on de.asset=rep.codice_asset_class_ingresso + + + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DistribuzionePtfModello_Tattici' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DistribuzionePtfModello_Tattici' + ) + +end + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DistribuzionePtfModello_Tattici_MacroAssetClass.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DistribuzionePtfModello_Tattici_MacroAssetClass.sql new file mode 100644 index 00000000..b466dd19 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_DistribuzionePtfModello_Tattici_MacroAssetClass.sql @@ -0,0 +1,77 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_DistribuzionePtfModello_Tattici_MacroAssetClass + + + + + + + +create procedure [C6StagingPeriodico].[RP_ST_DistribuzionePtfModello_Tattici_MacroAssetClass] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DistribuzionePtfModello_Tattici', + GETDATE(), + 'Elaborazione periodica' + ) + --drop table c6staging.RP_Progetto + truncate table [C6StagingPeriodico].[RP_DistribuzionePtfModello_Tattici_MacroAssetClass] + + +SELECT [chiavePtfMod], SUBSTRING([asset], 1, 2) AS MacroAsset, SUM([percentuale]) AS Totale_Percentuale +into #asset_no_desc +FROM CONSUNI.ConsulenzaUnica.dbo.[DistribuzionePtfModello_Tattici] ptf +GROUP BY [chiavePtfMod], SUBSTRING([asset], 1, 2) +order by chiaveptfmod + + insert into [C6StagingPeriodico].[RP_DistribuzionePtfModello_Tattici_MacroAssetClass] ( + [chiavePtfMod] + ,ordinamento + ,[asset] + ,[descrizione] + ,[percentuale] ) + + select de.[chiavePtfMod],rep.ordinamento_asset,de.[MacroAsset],ass.descrizione,de.Totale_Percentuale + from #asset_no_desc de + left join [CONSUNI].[CatalogoProdotti].dbo.AssetClass ass + on de.MacroAsset=ass.asset + left join [CONSUNI].[consulenzaUnica].dbo.REP_ASSET_1_E_2_ORDINATE rep + on de.macroasset=rep.codice_asset_class_ingresso + + + + + + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DistribuzionePtfModello_Tattici' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DistribuzionePtfModello_Tattici' + ) + +end + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_GradoParentela.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_GradoParentela.sql new file mode 100644 index 00000000..d624334f --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_GradoParentela.sql @@ -0,0 +1,46 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_GradoParentela + + +CREATE procedure [C6StagingPeriodico].[RP_ST_GradoParentela] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_GradoParentela', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_GradoParentela + + insert into C6StagingPeriodico.RP_GradoParentela + --select * into C6StagingPeriodico.RP_GradoParentela from [CONSEVO].[consulenzaUnica].dbo.GradoParentela + select * from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.GradoParentela + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_GradoParentela' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_GradoParentela' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_GradoParentela_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_GradoParentela_pre_selective.sql new file mode 100644 index 00000000..83d54547 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_GradoParentela_pre_selective.sql @@ -0,0 +1,44 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_GradoParentela_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_GradoParentela_pre_selective] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_GradoParentela_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_GradoParentela + + insert into C6StagingPeriodico.RP_GradoParentela + --select * into C6StagingPeriodico.RP_GradoParentela from [CONSEVO].[consulenzaUnica].dbo.GradoParentela + select * from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.GradoParentela + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_GradoParentela_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_GradoParentela_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_InfoCliente.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_InfoCliente.sql new file mode 100644 index 00000000..54d5f5f5 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_InfoCliente.sql @@ -0,0 +1,105 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_InfoCliente + + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_InfoCliente] +AS + +BEGIN + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_InfoCliente', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_InfoCliente + + insert into C6StagingPeriodico.RP_InfoCliente + --select * into C6StagingPeriodico.RP_Cliente from [CONSEVO].consulenzaUnica.dbo.Cliente + select + [chiaveClientePB] + ,[chiaveCliente] + ,[codFis] + ,[pIva] + ,[codMan] + ,[NomeCliente] + --,[CognomeCliente] + ,SUBSTRING([CognomeCliente], 1, 50) -- TOPPA INSERITA PERCH MODIFCA NON COMUNICATA A REPORTISTA BATCH per errore staging_f1_main in data 08/07/2015 + ,[tipologia] + ,[dtScadQuest] + ,[profilo] + ,[dtQuestionario] + ,[frequenza] + ,[Agente] + ,[NomePb] + ,[CognomePb] + ,[StatoPb] + ,[rete] + ,[codiceContratto] + ,[StatoContratto] + ,[dtFirmaBase] + ,[dtEndBase] + ,[dtFirmaSei] + ,[dtEndSei] + ,[rendicSemestrale] + ,[dtNascita] + ,[sesso] + ,[TipContratto] + ,[ModPagamento] + ,[chiavePB] + ,[flagrol] + from [CONSUNI_PERIODICO].consulenzaUnica.dbo.vInfoCliente + --EN20160428: clienti di tipologia catastali non sono presenti sul sistema + -- sistema SEI e quindi da escludere ma quelli con tipologia NULL + -- son da includere. (senza modifica per FF@9133 non viene caricata l'anagrafica) + --where tipologia != 'c' + where ISNULL(tipologia,'') != 'c' + + ----------- Modifica del 15/9/2017 per escluedere i seguenti cf doppi senza toccare il db del congelato + --chiaveClientePB(giusta) COD_FISCALE COD_MANDATO PIVA_FIDUCIARIA COD_AGENTE rete codiceContratto + --615359 BRDRRT69R21L378Q 005861 S 503566CO806 + --1667717 CSTPLA70M67F952U 006473 S 621961CO810 + --674782 CHRGLL44C55Z112E NULL 006302 S 696334CO810 + ---- da escludere perch doppi sulla cliente + --chiaveClientePB chiaveCliente codFis + --1830328 1648328 BRDRRT69R21L378Q + --1830432 1452802 CSTPLA70M67F952U NULL NULL PAOLA + --1818279 1636055 CHRGLL44C55Z112E NULL GISELA ELISABETH WILHELMI + --EN20171031 -- ricodifica da cf CHRGSL44C55Z112M in CHRGLL44C55Z112E effettuqto con successo e l'esclusione eliminata + --and [chiaveClientePB] not in (1830328,1830432,1818279) + and [chiaveClientePB] not in (1830328,1830432) + + ----------- FINE Modifica del 15/9/2017 + -----------Modifica del 03/05/2023 rimossa chiaveclientepb nella condizione 'not in' (1381534) + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_InfoCliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_InfoCliente' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_InfoCliente_20160428.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_InfoCliente_20160428.sql new file mode 100644 index 00000000..db21f00a --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_InfoCliente_20160428.sql @@ -0,0 +1,82 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_InfoCliente_20160428 + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_InfoCliente_20160428] +AS + +BEGIN + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_InfoCliente', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_InfoCliente + + insert into C6StagingPeriodico.RP_InfoCliente + --select * into C6StagingPeriodico.RP_Cliente from [CONSEVO].ConsulenzaBase.dbo.Cliente + select + [chiaveClientePB] + ,[chiaveCliente] + ,[codFis] + ,[pIva] + ,[codMan] + ,[NomeCliente] + --,[CognomeCliente] + ,SUBSTRING([CognomeCliente], 1, 50) -- TOPPA INSERITA PERCH MODIFCA NON COMUNICATA A REPORTISTA BATCH per errore staging_f1_main in data 08/07/2015 + ,[tipologia] + ,[dtScadQuest] + ,[profilo] + ,[dtQuestionario] + ,[frequenza] + ,[Agente] + ,[NomePb] + ,[CognomePb] + ,[StatoPb] + ,[rete] + ,[codiceContratto] + ,[StatoContratto] + ,[dtFirmaBase] + ,[dtEndBase] + ,[dtFirmaSei] + ,[dtEndSei] + ,[rendicSemestrale] + ,[dtNascita] + ,[sesso] + ,[TipContratto] + ,[ModPagamento] + ,[chiavePB] + ,[flagrol] + from [CONSEVO_PERIODICO].ConsulenzaBase.dbo.vInfoCliente + where tipologia != 'c' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_InfoCliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_InfoCliente' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_InfoCliente_20170915.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_InfoCliente_20170915.sql new file mode 100644 index 00000000..ee8a1c5e --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_InfoCliente_20170915.sql @@ -0,0 +1,85 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_InfoCliente_20170915 + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_InfoCliente_20170915] +AS + +BEGIN + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_InfoCliente', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_InfoCliente + + insert into C6StagingPeriodico.RP_InfoCliente + --select * into C6StagingPeriodico.RP_Cliente from [CONSEVO].consulenzaUnica.dbo.Cliente + select + [chiaveClientePB] + ,[chiaveCliente] + ,[codFis] + ,[pIva] + ,[codMan] + ,[NomeCliente] + --,[CognomeCliente] + ,SUBSTRING([CognomeCliente], 1, 50) -- TOPPA INSERITA PERCH MODIFCA NON COMUNICATA A REPORTISTA BATCH per errore staging_f1_main in data 08/07/2015 + ,[tipologia] + ,[dtScadQuest] + ,[profilo] + ,[dtQuestionario] + ,[frequenza] + ,[Agente] + ,[NomePb] + ,[CognomePb] + ,[StatoPb] + ,[rete] + ,[codiceContratto] + ,[StatoContratto] + ,[dtFirmaBase] + ,[dtEndBase] + ,[dtFirmaSei] + ,[dtEndSei] + ,[rendicSemestrale] + ,[dtNascita] + ,[sesso] + ,[TipContratto] + ,[ModPagamento] + ,[chiavePB] + ,[flagrol] + from [CONSUNI_PERIODICO].consulenzaUnica.dbo.vInfoCliente + --EN20160428: clienti di tipologia catastali non sono presenti sul sistema + -- sistema SEI e quindi da escludere ma quelli con tipologia NULL + -- son da includere. (senza modifica per FF@9133 non viene caricata l'anagrafica) + --where tipologia != 'c' + where ISNULL(tipologia,'') != 'c' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_InfoCliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_InfoCliente' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_InfoCliente_20171031.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_InfoCliente_20171031.sql new file mode 100644 index 00000000..93c3aba5 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_InfoCliente_20171031.sql @@ -0,0 +1,101 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_InfoCliente_20171031 + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_InfoCliente_20171031] +AS + +BEGIN + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_InfoCliente', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_InfoCliente + + insert into C6StagingPeriodico.RP_InfoCliente + --select * into C6StagingPeriodico.RP_Cliente from [CONSEVO].consulenzaUnica.dbo.Cliente + select + [chiaveClientePB] + ,[chiaveCliente] + ,[codFis] + ,[pIva] + ,[codMan] + ,[NomeCliente] + --,[CognomeCliente] + ,SUBSTRING([CognomeCliente], 1, 50) -- TOPPA INSERITA PERCH MODIFCA NON COMUNICATA A REPORTISTA BATCH per errore staging_f1_main in data 08/07/2015 + ,[tipologia] + ,[dtScadQuest] + ,[profilo] + ,[dtQuestionario] + ,[frequenza] + ,[Agente] + ,[NomePb] + ,[CognomePb] + ,[StatoPb] + ,[rete] + ,[codiceContratto] + ,[StatoContratto] + ,[dtFirmaBase] + ,[dtEndBase] + ,[dtFirmaSei] + ,[dtEndSei] + ,[rendicSemestrale] + ,[dtNascita] + ,[sesso] + ,[TipContratto] + ,[ModPagamento] + ,[chiavePB] + ,[flagrol] + from [CONSUNI_PERIODICO].consulenzaUnica.dbo.vInfoCliente + --EN20160428: clienti di tipologia catastali non sono presenti sul sistema + -- sistema SEI e quindi da escludere ma quelli con tipologia NULL + -- son da includere. (senza modifica per FF@9133 non viene caricata l'anagrafica) + --where tipologia != 'c' + where ISNULL(tipologia,'') != 'c' + + ----------- Modifica del 15/9/2017 per escluedere i seguenti cf doppi senza toccare il db del congelato + --chiaveClientePB(giusta) COD_FISCALE COD_MANDATO PIVA_FIDUCIARIA COD_AGENTE rete codiceContratto + --615359 BRDRRT69R21L378Q 005861 S 503566CO806 + --1667717 CSTPLA70M67F952U 006473 S 621961CO810 + --674782 CHRGLL44C55Z112E NULL 006302 S 696334CO810 + ---- da escludere perch doppi sulla cliente + --chiaveClientePB chiaveCliente codFis + --1830328 1648328 BRDRRT69R21L378Q + --1830432 1452802 CSTPLA70M67F952U NULL NULL PAOLA + --1818279 1636055 CHRGLL44C55Z112E NULL GISELA ELISABETH WILHELMI + + and [chiaveClientePB] not in (1830328,1830432,1818279) + + ----------- FINE Modifica del 15/9/2017 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_InfoCliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_InfoCliente' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_InfoCliente_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_InfoCliente_pre_selective.sql new file mode 100644 index 00000000..02a7dd3e --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_InfoCliente_pre_selective.sql @@ -0,0 +1,81 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_InfoCliente_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_InfoCliente_pre_selective] +AS + +BEGIN + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_InfoCliente_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_InfoCliente + + insert into C6StagingPeriodico.RP_InfoCliente + --select * into C6StagingPeriodico.RP_Cliente from [CONSEVO].consulenzaUnica.dbo.Cliente + select + [chiaveClientePB] + ,[chiaveCliente] + ,[codFis] + ,[pIva] + ,[codMan] + ,[NomeCliente] + --,[CognomeCliente] + ,SUBSTRING([CognomeCliente], 1, 50) -- TOPPA INSERITA PERCH MODIFCA NON COMUNICATA A REPORTISTA BATCH per errore staging_f1_main in data 08/07/2015 + ,[tipologia] + ,[dtScadQuest] + ,[profilo] + ,[dtQuestionario] + ,[frequenza] + ,[Agente] + ,[NomePb] + ,[CognomePb] + ,[StatoPb] + ,[rete] + ,[codiceContratto] + ,[StatoContratto] + ,[dtFirmaBase] + ,[dtEndBase] + ,[dtFirmaSei] + ,[dtEndSei] + ,[rendicSemestrale] + ,[dtNascita] + ,[sesso] + ,[TipContratto] + ,[ModPagamento] + ,[chiavePB] + ,[flagrol] + from [CONSUNI_PERIODICO].consulenzaUnica.dbo.vInfoCliente + --EN20160428: clienti di tipologia catastali non sono presenti sul sistema + -- sistema SEI e quindi da escludere ma quelli con tipologia NULL + -- son da includere. (senza modifica per FF@9133 non viene caricata l'anagrafica) + --where tipologia != 'c' + where ISNULL(tipologia,'') != 'c' + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_InfoCliente_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_InfoCliente_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Mappatura.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Mappatura.sql new file mode 100644 index 00000000..1c6c1887 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Mappatura.sql @@ -0,0 +1,47 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Mappatura + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Mappatura] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Mappatura', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Mappatura + + insert into C6StagingPeriodico.RP_Mappatura + + select * from [CONSUNI].CatalogoProdotti.dbo.Mappatura + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Mappatura' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Mappatura' + ) + +end + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_MappaturaPT.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_MappaturaPT.sql new file mode 100644 index 00000000..40dd9216 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_MappaturaPT.sql @@ -0,0 +1,45 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_MappaturaPT + + +CREATE procedure [C6StagingPeriodico].[RP_ST_MappaturaPT] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_MappaturaPT', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_MappaturaPT + + insert into C6StagingPeriodico.RP_MappaturaPT + --select * into C6StagingPeriodico.RP_MappaturaPT from [CONSEVO].[consulenzaUnica].dbo.MappaturaPT + select * from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.MappaturaPT + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_MappaturaPT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_MappaturaPT' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_MappaturaPT_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_MappaturaPT_pre_selective.sql new file mode 100644 index 00000000..ad4ed6ad --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_MappaturaPT_pre_selective.sql @@ -0,0 +1,43 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_MappaturaPT_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_MappaturaPT_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_MappaturaPT_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_MappaturaPT + + insert into C6StagingPeriodico.RP_MappaturaPT + --select * into C6StagingPeriodico.RP_MappaturaPT from [CONSEVO].[consulenzaUnica].dbo.MappaturaPT + select * from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.MappaturaPT + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_MappaturaPT_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_MappaturaPT_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Mappatura_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Mappatura_pre_selective.sql new file mode 100644 index 00000000..a920c7bb --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Mappatura_pre_selective.sql @@ -0,0 +1,45 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Mappatura_pre_selective + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Mappatura_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Mappatura_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Mappatura + + insert into C6StagingPeriodico.RP_Mappatura + + select * from [CONSUNI].CatalogoProdotti.dbo.Mappatura + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Mappatura_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Mappatura_pre_selective' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Area.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Area.sql new file mode 100644 index 00000000..80db8c67 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Area.sql @@ -0,0 +1,85 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Migraz_Area + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Area] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Area', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Migraz_Area + + insert into C6StagingPeriodico.RP_Migraz_Area ( + [Area] + ,[chiaveConsulenza] + ,[percArea] + ,[ctvArea] + ,[varArea] + ) + + select + --[Area] + -------------------------> modifica del 18/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non pi distinta tra pre1 e pre2 + CASE + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + else a.area + END AS [Area] + -------------------------> FINE modifica del 13/1/2017 + ,[chiaveConsulenza] + , null as percArea + ,dpos.ctv as ctvArea + ,null as varArea + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on a.chiaveArea = prog.ChiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniPortafoglio pos + on pos.chiaveProgetto = prog.chiaveProgetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioPosizionePortafoglio dpos + on pos.chiavePosizionePtf = dpos.chiavePosizionePtf + + --- Modifica del 18/1/2017 per reperire la descrizione del progetto per la case di cui sopra + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + group by area,chiaveconsulenza,dpos.ctv ,propirMod.nomeProgetto + --group by area,chiaveconsulenza,dpos.ctv + --------------------------------------------------------------------------------------------- + + + +-- select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.Migraz_Area + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Area' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Migraz_Area' + ) + +end + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Area_20170118.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Area_20170118.sql new file mode 100644 index 00000000..3c1d6978 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Area_20170118.sql @@ -0,0 +1,69 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Migraz_Area_20170118 + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Area_20170118] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Area', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Migraz_Area + + insert into C6StagingPeriodico.RP_Migraz_Area ( + [Area] + ,[chiaveConsulenza] + ,[percArea] + ,[ctvArea] + ,[varArea] + ) + + select + [Area] + ,[chiaveConsulenza] + , null as percArea + ,dpos.ctv as ctvArea + ,null as varArea + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on a.chiaveArea = prog.ChiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniPortafoglio pos + on pos.chiaveProgetto = prog.chiaveProgetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioPosizionePortafoglio dpos + on pos.chiavePosizionePtf = dpos.chiavePosizionePtf + + group by area,chiaveconsulenza,dpos.ctv + + + +-- select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.Migraz_Area + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Area' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Area' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Area_20170320_OBS.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Area_20170320_OBS.sql new file mode 100644 index 00000000..ded04018 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Area_20170320_OBS.sql @@ -0,0 +1,68 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Migraz_Area_20170320_OBS + +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Area] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Area', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Migraz_Area + + insert into C6StagingPeriodico.RP_Migraz_Area ( + [Area] + ,[chiaveConsulenza] + ,[percArea] + ,[ctvArea] + ,[varArea] + ) + + select + [Area] + ,[chiaveConsulenza] + , null as percArea + ,dpos.ctv as ctvArea + ,null as varArea + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on a.chiaveArea = prog.ChiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniPortafoglio pos + on pos.chiaveProgetto = prog.chiaveProgetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioPosizionePortafoglio dpos + on pos.chiavePosizionePtf = dpos.chiavePosizionePtf + + group by area,chiaveconsulenza,dpos.ctv + + + +-- select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.Migraz_Area + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Area' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Area' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Area_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Area_pre_selective.sql new file mode 100644 index 00000000..6ab1fa5d --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Area_pre_selective.sql @@ -0,0 +1,68 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Migraz_Area_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Area_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Area_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Migraz_Area + + insert into C6StagingPeriodico.RP_Migraz_Area ( + [Area] + ,[chiaveConsulenza] + ,[percArea] + ,[ctvArea] + ,[varArea] + ) + + select + [Area] + ,[chiaveConsulenza] + , null as percArea + ,dpos.ctv as ctvArea + ,null as varArea + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on a.chiaveArea = prog.ChiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniPortafoglio pos + on pos.chiaveProgetto = prog.chiaveProgetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioPosizionePortafoglio dpos + on pos.chiavePosizionePtf = dpos.chiavePosizionePtf + + group by area,chiaveconsulenza,dpos.ctv + + + +-- select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.Migraz_Area + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Area_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Area_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Pianificazione.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Pianificazione.sql new file mode 100644 index 00000000..0538aa55 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Pianificazione.sql @@ -0,0 +1,120 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Migraz_Pianificazione + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Pianificazione] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Pianificazione', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Migraz_Pianificazione + + insert into C6StagingPeriodico.RP_Migraz_Pianificazione ( + chiaveConsulenza + ,chiaveClientePB + ,dtUltimoAggiornamento + ,risorseFinanziarieBF + ,risorseFinanziarieTerzi + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,diversificazione + ,copertura + ,isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,token + ,lineaself + ) + SELECT + chiaveConsulenza + ,pian.chiaveClientePB + ,pian.dtAggiornamento + ,null as risorseFinanziarieBF + ,null as risorseFinanziarieTerzi + ,null as contoCorrente + ,case when (rischioCreditoDecodificatoRisAll like '%n.a.%') or (rischioCreditoDecodificatoRisAll like '%n.c.%') + or (rischioCreditoDecodificatoRisAll like '%classe%') then null else rischioCreditoDecodificatoRisAll end as rischioMercato + ,null as rischioCredito + ,coperturaRFA as diversificazione + ,coperturaRisAll as copertura + ,null as isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,tok.value as Token + ,null AS lineaself + +FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.Pianificazione pian +left join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.token tok +on pian.chiaveToken = tok.chiavetoken +inner join [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.eventiCliente ev +on ev.chiaveclientePb = pian.chiaveclientepb +where ev.flagPianificazione = 0 + + + + +/* POPOLO RISORSE FINANZIARIE BF */ + + +SELECT SUM(dett.ctv) as RisorseFinanziareBF,pian.chiaveclientePB +into #APPO + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Pianificazione pian + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveconsulenza = pian.chiaveconsulenza + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + group by pian.chiaveclientePB + + + UPDATE C6StagingPeriodico.RP_Pianificazione + SET risorseFinanziarieBF = a.RisorseFinanziareBF + from #APPO a + inner join C6StagingPeriodico.RP_Pianificazione rpPian + on rpPian.chiaveclientePB = a.chiaveClientePB + + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Pianificazione' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Migraz_Pianificazione' + ) + +end + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Pianificazione_OLD.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Pianificazione_OLD.sql new file mode 100644 index 00000000..443f5fdf --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Pianificazione_OLD.sql @@ -0,0 +1,59 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Migraz_Pianificazione_OLD + +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Pianificazione] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Pianificazione', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Migraz_Pianificazione + + insert into C6StagingPeriodico.RP_Migraz_Pianificazione + SELECT + chiaveConsulenza + ,chiaveClientePB + ,dtUltimoAggiornamento + ,risorseFinanziarieBF + ,risorseFinanziarieTerzi + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,diversificazione + ,copertura + ,isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,token + ,lineaself + --,null AS lineaself + FROM [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.Migraz_Pianificazione + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Pianificazione' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Pianificazione' + ) + +end + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Pianificazione_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Pianificazione_pre_selective.sql new file mode 100644 index 00000000..77d7a049 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Pianificazione_pre_selective.sql @@ -0,0 +1,118 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Migraz_Pianificazione_pre_selective + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Pianificazione_pre_selective] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Pianificazione_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Migraz_Pianificazione + + insert into C6StagingPeriodico.RP_Migraz_Pianificazione ( + chiaveConsulenza + ,chiaveClientePB + ,dtUltimoAggiornamento + ,risorseFinanziarieBF + ,risorseFinanziarieTerzi + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,diversificazione + ,copertura + ,isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,token + ,lineaself + ) + SELECT + chiaveConsulenza + ,pian.chiaveClientePB + ,pian.dtAggiornamento + ,null as risorseFinanziarieBF + ,null as risorseFinanziarieTerzi + ,null as contoCorrente + ,case when (rischioCreditoDecodificatoRisAll like '%n.a.%') or (rischioCreditoDecodificatoRisAll like '%n.c.%') + or (rischioCreditoDecodificatoRisAll like '%classe%') then null else rischioCreditoDecodificatoRisAll end as rischioMercato + ,null as rischioCredito + ,coperturaRFA as diversificazione + ,coperturaRisAll as copertura + ,null as isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,tok.value as Token + ,null AS lineaself + +FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.Pianificazione pian +left join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.token tok +on pian.chiaveToken = tok.chiavetoken +inner join [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.eventiCliente ev +on ev.chiaveclientePb = pian.chiaveclientepb +where ev.flagPianificazione = 0 + + + + +/* POPOLO RISORSE FINANZIARIE BF */ + + +SELECT SUM(dett.ctv) as RisorseFinanziareBF,pian.chiaveclientePB +into #APPO + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Pianificazione pian + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveconsulenza = pian.chiaveconsulenza + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + group by pian.chiaveclientePB + + + UPDATE C6StagingPeriodico.RP_Pianificazione + SET risorseFinanziarieBF = a.RisorseFinanziareBF + from #APPO a + inner join C6StagingPeriodico.RP_Pianificazione rpPian + on rpPian.chiaveclientePB = a.chiaveClientePB + + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Pianificazione_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Pianificazione_pre_selective' + ) + +end + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Posizioni.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Posizioni.sql new file mode 100644 index 00000000..5b51e0b3 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Posizioni.sql @@ -0,0 +1,90 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Migraz_Posizioni + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Posizioni] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Posizioni', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Migraz_Posizioni + + insert into C6StagingPeriodico.RP_Migraz_Posizioni +SELECT + ptf.[chiavePosizioneptf] + ,[chiaveProgetto] + ,[chiaveProdotto] + ,ptf.[dtInizioValidita] + ,'99991231' as dtFineValidita + ,[conto] + ,[rubricato] + ,[codConf] + ,[numPolizza] + ,[custGar] + ,[codAbi] + ,[termId] + ,[anno] + ,[prog] + ,null as Ctv + FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.PosizioniPortafoglio ptf + + + select sum(ctv) as Ctv,chiaveprodotto,pospor.chiaveposizionePtf,pospor.chiaveprogetto,codconf + into #appo + from [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.PosizioniPortafoglio pospor + inner join [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.dettaglioPosizionePortafoglio dett + on pospor.chiavePosizionePtf = dett.chiaveposizionePtf + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + on prog.chiaveprogetto = pospor.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Pianificazione pian + on a.chiaveconsulenza = pian.chiaveconsulenza + + group by pospor.chiavePosizionePtf,pospor.chiaveprogetto,pospor.chiaveprodotto,codconf + + + + UPDATE C6StagingPeriodico.RP_Migraz_Posizioni + SET Ctv = a.Ctv + from #APPO a + inner join C6StagingPeriodico.RP_Migraz_Posizioni migraz + on migraz.chiavePosizione = a.chiavePosizionePtf + and migraz.chiaveprogetto = a.chiaveProgetto + and migraz.chiaveprodotto = a.chiaveprodotto + and migraz.codconf = a.codconf + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Posizioni' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Migraz_Posizioni' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Posizioni_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Posizioni_pre_selective.sql new file mode 100644 index 00000000..142de905 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Posizioni_pre_selective.sql @@ -0,0 +1,88 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Migraz_Posizioni_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Posizioni_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Posizioni_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Migraz_Posizioni + + insert into C6StagingPeriodico.RP_Migraz_Posizioni +SELECT + ptf.[chiavePosizioneptf] + ,[chiaveProgetto] + ,[chiaveProdotto] + ,ptf.[dtInizioValidita] + ,'99991231' as dtFineValidita + ,[conto] + ,[rubricato] + ,[codConf] + ,[numPolizza] + ,[custGar] + ,[codAbi] + ,[termId] + ,[anno] + ,[prog] + ,null as Ctv + FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.PosizioniPortafoglio ptf + + + select sum(ctv) as Ctv,chiaveprodotto,pospor.chiaveposizionePtf,pospor.chiaveprogetto,codconf + into #appo + from [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.PosizioniPortafoglio pospor + inner join [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.dettaglioPosizionePortafoglio dett + on pospor.chiavePosizionePtf = dett.chiaveposizionePtf + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + on prog.chiaveprogetto = pospor.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Pianificazione pian + on a.chiaveconsulenza = pian.chiaveconsulenza + + group by pospor.chiavePosizionePtf,pospor.chiaveprogetto,pospor.chiaveprodotto,codconf + + + + UPDATE C6StagingPeriodico.RP_Migraz_Posizioni + SET Ctv = a.Ctv + from #APPO a + inner join C6StagingPeriodico.RP_Migraz_Posizioni migraz + on migraz.chiavePosizione = a.chiavePosizionePtf + and migraz.chiaveprogetto = a.chiaveProgetto + and migraz.chiaveprodotto = a.chiaveprodotto + and migraz.codconf = a.codconf + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Posizioni_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Posizioni_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Progetto.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Progetto.sql new file mode 100644 index 00000000..eb69b1e9 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Progetto.sql @@ -0,0 +1,92 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Migraz_Progetto + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Progetto] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Progetto', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Migraz_Progetto + + insert into C6StagingPeriodico.RP_Migraz_Progetto( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,varProgetto + ,coperturaProgetto + ,ctvProgetto + ,chiaveProgettoMod + ,chiavePtfMod + ) + + + select + prog.chiaveProgetto + -------------------------> modifica del 18/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non pi distinta tra pre1 e pre2 + --,a.area + ,CASE + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + -------------------------> fine modifica del 16/1/2017 + else a.area END AS area + -------------------------> FINE modifica del 18/1/2017 + ,chiaveConsulenza + ,null as tipoProgetto -- NUOVO 16/09 + ,null as dtCreazione + ,null as varProgetto + ,coperturaProgetto + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,prog.chiaveptfmod + + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Migraz_Progetto' + ) + +end + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Progetto_20170113.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Progetto_20170113.sql new file mode 100644 index 00000000..d14f3bb3 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Progetto_20170113.sql @@ -0,0 +1,78 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Migraz_Progetto_20170113 + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Progetto_20170113] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Progetto', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Migraz_Progetto + + insert into C6StagingPeriodico.RP_Migraz_Progetto( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,varProgetto + ,coperturaProgetto + ,ctvProgetto + ,chiaveProgettoMod ) + + + select + prog.chiaveProgetto + ,a.area + ,chiaveConsulenza + ,null as tipoProgetto -- NUOVO 16/09 + ,null as dtCreazione + ,null as varProgetto + ,coperturaProgetto + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Progetto' + ) + +end + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Progetto_20170118.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Progetto_20170118.sql new file mode 100644 index 00000000..cbfdaed2 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Progetto_20170118.sql @@ -0,0 +1,78 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Migraz_Progetto_20170118 + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Progetto_20170118] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Progetto', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Migraz_Progetto + + insert into C6StagingPeriodico.RP_Migraz_Progetto( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,varProgetto + ,coperturaProgetto + ,ctvProgetto + ,chiaveProgettoMod ) + + + select + prog.chiaveProgetto + ,a.area + ,chiaveConsulenza + ,null as tipoProgetto -- NUOVO 16/09 + ,null as dtCreazione + ,null as varProgetto + ,coperturaProgetto + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Progetto' + ) + +end + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Progetto_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Progetto_pre_selective.sql new file mode 100644 index 00000000..52e49bb4 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Migraz_Progetto_pre_selective.sql @@ -0,0 +1,77 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Migraz_Progetto_pre_selective + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Progetto_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Progetto_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Migraz_Progetto + + insert into C6StagingPeriodico.RP_Migraz_Progetto( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,varProgetto + ,coperturaProgetto + ,ctvProgetto + ,chiaveProgettoMod ) + + + select + prog.chiaveProgetto + ,a.area + ,chiaveConsulenza + ,null as tipoProgetto -- NUOVO 16/09 + ,null as dtCreazione + ,null as varProgetto + ,coperturaProgetto + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Progetto_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Progetto_pre_selective' + ) + +end + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_MonitoraggioStorico.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_MonitoraggioStorico.sql new file mode 100644 index 00000000..45119c21 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_MonitoraggioStorico.sql @@ -0,0 +1,71 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_MonitoraggioStorico + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_MonitoraggioStorico] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_MonitoraggioStorico', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_MonitoraggioStorico + INSERT INTO [C6StagingPeriodico].[RP_MonitoraggioStorico] + SELECT + idMonitoraggio, + chiaveClientePB, + dtAvvio, + ctvExt, + ctvInv, + ctvRis, + ctvLiq, + ctvPre, + ctvNa, + ctvCC, + partiteViaggianti, + [var], + copertura, + rischioCredito, + codiceProfilo, + stato, + dtSalvataggio, + classe_rischio_max, + var_max_profilo, + ctvself + --null AS ctvself + -- MIOFOGLIO 1/3/2019 ex 20181206 + , ctvSelfFoglio AS CTVSelfFoglio + -- fine MIOFOGLIO 1/3/2019 ex 20181206 + FROM [CONSUNI_PERIODICO].consulenzaUnica.dbo.MonitoraggioStorico + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_MonitoraggioStorico' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_MonitoraggioStorico' + ) + +END + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_MonitoraggioStorico_20181214_PreMioFoglio.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_MonitoraggioStorico_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..ff5956a6 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_MonitoraggioStorico_20181214_PreMioFoglio.sql @@ -0,0 +1,65 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_MonitoraggioStorico_20181214_PreMioFoglio + + +CREATE procedure [C6StagingPeriodico].[RP_ST_MonitoraggioStorico] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_MonitoraggioStorico', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_MonitoraggioStorico + INSERT INTO [C6StagingPeriodico].[RP_MonitoraggioStorico] + SELECT + idMonitoraggio, + chiaveClientePB, + dtAvvio, + ctvExt, + ctvInv, + ctvRis, + ctvLiq, + ctvPre, + ctvNa, + ctvCC, + partiteViaggianti, + [var], + copertura, + rischioCredito, + codiceProfilo, + stato, + dtSalvataggio, + classe_rischio_max, + var_max_profilo, + ctvself + --null AS ctvself + FROM [CONSUNI_PERIODICO].consulenzaUnica.dbo.MonitoraggioStorico + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_MonitoraggioStorico' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_MonitoraggioStorico' + ) + +END + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_MonitoraggioStorico_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_MonitoraggioStorico_pre_selective.sql new file mode 100644 index 00000000..bf95127b --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_MonitoraggioStorico_pre_selective.sql @@ -0,0 +1,63 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_MonitoraggioStorico_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_MonitoraggioStorico_pre_selective] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_MonitoraggioStorico_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_MonitoraggioStorico + INSERT INTO [C6StagingPeriodico].[RP_MonitoraggioStorico] + SELECT + idMonitoraggio, + chiaveClientePB, + dtAvvio, + ctvExt, + ctvInv, + ctvRis, + ctvLiq, + ctvPre, + ctvNa, + ctvCC, + partiteViaggianti, + [var], + copertura, + rischioCredito, + codiceProfilo, + stato, + dtSalvataggio, + classe_rischio_max, + var_max_profilo, + ctvself + --null AS ctvself + FROM [CONSUNI_PERIODICO].consulenzaUnica.dbo.MonitoraggioStorico + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_MonitoraggioStorico_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_MonitoraggioStorico_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_NeedArea.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_NeedArea.sql new file mode 100644 index 00000000..7159051c --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_NeedArea.sql @@ -0,0 +1,48 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_NeedArea + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_NeedArea] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_NeedArea', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_NeedArea + + insert into C6StagingPeriodico.RP_NeedArea + /* 20161222 */ + --select * from [CONSEVO].[CatalogoProdotti].dbo.NeedArea + select * from [CONSUNI].[CatalogoProdotti].dbo.NeedArea + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_NeedArea' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_NeedArea' + ) + +end + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_NeedArea_20161222.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_NeedArea_20161222.sql new file mode 100644 index 00000000..a6b6eee8 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_NeedArea_20161222.sql @@ -0,0 +1,44 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_NeedArea_20161222 + + +CREATE procedure [C6StagingPeriodico].[RP_ST_NeedArea_20161222] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_NeedArea', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_NeedArea + + insert into C6StagingPeriodico.RP_NeedArea + select * from [CONSEVO].[CatalogoProdotti].dbo.NeedArea + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_NeedArea' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_NeedArea' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_NeedArea_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_NeedArea_pre_selective.sql new file mode 100644 index 00000000..fff5ba2b --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_NeedArea_pre_selective.sql @@ -0,0 +1,46 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_NeedArea_pre_selective + + +CREATE procedure [C6StagingPeriodico].[RP_ST_NeedArea_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_NeedArea_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_NeedArea + + insert into C6StagingPeriodico.RP_NeedArea + /* 20161222 */ + --select * from [CONSEVO].[CatalogoProdotti].dbo.NeedArea + select * from [CONSUNI].[CatalogoProdotti].dbo.NeedArea + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_NeedArea_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_NeedArea_pre_selective' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_NobPrez.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_NobPrez.sql new file mode 100644 index 00000000..77c288a9 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_NobPrez.sql @@ -0,0 +1,68 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_NobPrez + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_NobPrez] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_NobPrez', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_NobPrez + + insert into C6StagingPeriodico.RP_NobPrez ( + [CHIAVECLIENTEPB] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[CODCONF_ES] + ,[DTINI] + ,[DTFIN] + ,DT_AGGIORNAMENTO ) + + select + +[CHIAVECLIENTEPB] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[CODCONF_ES] + ,[DTINI] + ,[DTFIN] + ,DT_AGGIORNAMENTO + + from [CONSUNI].[ConsulenzaUnica].[dbo].[PRAM_NOBPREZ] + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_NobPrez' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_NobPrez' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PROGETTICLIENTE.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PROGETTICLIENTE.sql new file mode 100644 index 00000000..5fd1d84e --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PROGETTICLIENTE.sql @@ -0,0 +1,107 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_PROGETTICLIENTE + + + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_PROGETTICLIENTE] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PROGETTICLIENTE', + GETDATE(), + 'Elaborazione Trimestrale' + ) + +TRUNCATE TABLE C6StagingPeriodico.[RP_PROGETTICLIENTE] + +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto + +INTO #ProgettiPianificazione +FROM + C6StagingPeriodico.RP_Pianificazione AS pian + INNER JOIN C6StagingPeriodico.RP_Progetto AS pro + ON pian.chiaveconsulenza = pro.chiaveconsulenza + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON pian.chiaveClientePB = contr.chiaveClientePB + WHERE + (pro.dtfinevalidita='99991231' or pro.dtfinevalidita is null) + + + +--ricerco dati da Migrazione +SELECT + contr.chiaveClientePB + ,contr.rete + ,contr.cod_fiscale + ,promig.chiaveProgetto + ,promig.area + ,promig.tipoProgetto + +INTO #ProgettiMigrazione +FROM + C6StagingPeriodico.RP_Migraz_Pianificazione AS mig + INNER JOIN C6StagingPeriodico.RP_Migraz_Progetto AS promig + ON mig.chiaveconsulenza = promig.chiaveconsulenza + LEFT JOIN #ProgettiPianificazione tc + ON mig.chiaveClientePB = tc.chiaveClientePB + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON mig.chiaveClientePB = contr.chiaveClientePB + WHERE + tc.chiaveClientePB IS NULL + +INSERT INTO C6StagingPeriodico.RP_PROGETTICLIENTE + SELECT * FROM #ProgettiPianificazione + UNION + SELECT * FROM #ProgettiMigrazione + + + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PROGETTICLIENTE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_PROGETTICLIENTE' + ) + + + + + +END + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_TEST_FC.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_TEST_FC.sql new file mode 100644 index 00000000..32456a3f --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_TEST_FC.sql @@ -0,0 +1,84 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_PROGETTICLIENTE_TEST_FC + + + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_PROGETTICLIENTE_TEST_FC] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + + + + +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto + +INTO #ProgettiPianificazione +FROM + C6StagingPeriodico.RP_Pianificazione AS pian + INNER JOIN C6StagingPeriodico.RP_Progetto AS pro + ON pian.chiaveconsulenza = pro.chiaveconsulenza + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON pian.chiaveClientePB = contr.chiaveClientePB + WHERE + (pro.dtfinevalidita='99991231' or pro.dtfinevalidita is null) + + + +--ricerco dati da Migrazione +SELECT + contr.chiaveClientePB + ,contr.rete + ,contr.cod_fiscale + ,promig.chiaveProgetto + ,promig.area + ,promig.tipoProgetto + +INTO #ProgettiMigrazione +FROM + C6StagingPeriodico.RP_Migraz_Pianificazione AS mig + INNER JOIN C6StagingPeriodico.RP_Migraz_Progetto AS promig + ON mig.chiaveconsulenza = promig.chiaveconsulenza + LEFT JOIN #ProgettiPianificazione tc + ON mig.chiaveClientePB = tc.chiaveClientePB + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON mig.chiaveClientePB = contr.chiaveClientePB + WHERE + tc.chiaveClientePB IS NULL + +insert into C6StagingPeriodico.RP_PROGETTICLIENTE_TEST_FC + SELECT * FROM #ProgettiPianificazione + UNION + SELECT * FROM #ProgettiMigrazione + + + + + + + +END + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_pre_selective.sql new file mode 100644 index 00000000..e33aef1f --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_pre_selective.sql @@ -0,0 +1,105 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_PROGETTICLIENTE_pre_selective + + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_PROGETTICLIENTE_pre_selective] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PROGETTICLIENTE_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + +TRUNCATE TABLE C6StagingPeriodico.[RP_PROGETTICLIENTE] + +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto + +INTO #ProgettiPianificazione +FROM + C6StagingPeriodico.RP_Pianificazione AS pian + INNER JOIN C6StagingPeriodico.RP_Progetto AS pro + ON pian.chiaveconsulenza = pro.chiaveconsulenza + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON pian.chiaveClientePB = contr.chiaveClientePB + WHERE + (pro.dtfinevalidita='99991231' or pro.dtfinevalidita is null) + + + +--ricerco dati da Migrazione +SELECT + contr.chiaveClientePB + ,contr.rete + ,contr.cod_fiscale + ,promig.chiaveProgetto + ,promig.area + ,promig.tipoProgetto + +INTO #ProgettiMigrazione +FROM + C6StagingPeriodico.RP_Migraz_Pianificazione AS mig + INNER JOIN C6StagingPeriodico.RP_Migraz_Progetto AS promig + ON mig.chiaveconsulenza = promig.chiaveconsulenza + LEFT JOIN #ProgettiPianificazione tc + ON mig.chiaveClientePB = tc.chiaveClientePB + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON mig.chiaveClientePB = contr.chiaveClientePB + WHERE + tc.chiaveClientePB IS NULL + +INSERT INTO C6StagingPeriodico.RP_PROGETTICLIENTE + SELECT * FROM #ProgettiPianificazione + UNION + SELECT * FROM #ProgettiMigrazione + + + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PROGETTICLIENTE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_PROGETTICLIENTE_pre_selective' + ) + + + + + +END + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Parentela.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Parentela.sql new file mode 100644 index 00000000..eb51e1cb --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Parentela.sql @@ -0,0 +1,54 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Parentela + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Parentela] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Parentela', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Parentela + + --insert into C6StagingPeriodico.RP_Parentela + + --select + --chiaveClientePB1, + --chiaveClientePB2, + --idParentela , + --dtMatrimonio , + --aCarico , + --dtCensimento , + --dtFine + -- from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Parentela + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Parentela' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Parentela' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Parentela_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Parentela_pre_selective.sql new file mode 100644 index 00000000..43d6f94b --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Parentela_pre_selective.sql @@ -0,0 +1,52 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Parentela_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_Parentela_pre_selective] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Parentela_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Parentela + + --insert into C6StagingPeriodico.RP_Parentela + + --select + --chiaveClientePB1, + --chiaveClientePB2, + --idParentela , + --dtMatrimonio , + --aCarico , + --dtCensimento , + --dtFine + -- from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Parentela + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Parentela_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Parentela_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PatrimonioTerzi.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PatrimonioTerzi.sql new file mode 100644 index 00000000..17b0efd2 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PatrimonioTerzi.sql @@ -0,0 +1,64 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_PatrimonioTerzi + + +CREATE procedure [C6StagingPeriodico].[RP_ST_PatrimonioTerzi] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PatrimonioTerzi', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_PatrimonioTerzi + + +/* 20/05/2015FCianfa e LM: aggiunta della where condition e valorizzazione a NULL di campi non pi utilizzati per l'evolutiva patrimonio immobiliare. +*/ + insert into C6StagingPeriodico.RP_PatrimonioTerzi + SELECT [chiaveProdottoTerzi] + ,[chiaveClientePB] + ,[idTipoProdotto] + ,[nomeProdotto] + ,NULL + ,[valutaCtv] + ,[ctv] + ,NULL + ,[dataCtv] + ,[prezzoMedioCarico] + ,[tipoProd] + ,[dtFine] + ,[divisa] + ,[ultimoPrezzo] + + + FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].[dbo].[PatrimonioTerzi] + where dtFineValidita >getdate() + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PatrimonioTerzi' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_PatrimonioTerzi' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PatrimonioTerzi_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PatrimonioTerzi_pre_selective.sql new file mode 100644 index 00000000..96ccc5f9 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PatrimonioTerzi_pre_selective.sql @@ -0,0 +1,62 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_PatrimonioTerzi_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_PatrimonioTerzi_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PatrimonioTerzi_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_PatrimonioTerzi + + +/* 20/05/2015FCianfa e LM: aggiunta della where condition e valorizzazione a NULL di campi non pi utilizzati per l'evolutiva patrimonio immobiliare. +*/ + insert into C6StagingPeriodico.RP_PatrimonioTerzi + SELECT [chiaveProdottoTerzi] + ,[chiaveClientePB] + ,[idTipoProdotto] + ,[nomeProdotto] + ,NULL + ,[valutaCtv] + ,[ctv] + ,NULL + ,[dataCtv] + ,[prezzoMedioCarico] + ,[tipoProd] + ,[dtFine] + ,[divisa] + ,[ultimoPrezzo] + + + FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].[dbo].[PatrimonioTerzi] + where dtFineValidita >getdate() + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PatrimonioTerzi_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_PatrimonioTerzi_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Pianificazione.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Pianificazione.sql new file mode 100644 index 00000000..a17fc784 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Pianificazione.sql @@ -0,0 +1,130 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Pianificazione + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Pianificazione] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Pianificazione', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Pianificazione + + insert into C6StagingPeriodico.RP_Pianificazione ( + + chiaveConsulenza + ,chiaveClientePB + ,dtUltimoAggiornamento + ,risorseFinanziarieBF + ,risorseFinanziarieTerzi + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,diversificazione + ,copertura + ,isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,dtPianificazioneOrizzontale + ,dtPianificazioneVerticale + ,token + ,varRisorseAllocate + ,coperturaRisorseAllocate + ,lineaself + ) + + + SELECT + chiaveConsulenza + ,pian.chiaveClientePB + ,pian.dtAggiornamento as dtUltimoAggiornamento + ,Null as risorseFinanziarieBF + ,Null as risorseFinanziarieTerzi + ,Null as contoCorrente + ,null as rischioCredito + ,case when (rischioCreditoDecodificatoRisAll like '%n.a.%') or (rischioCreditoDecodificatoRisAll like '%n.c.%') + or (rischioCreditoDecodificatoRisAll like '%classe%') then null else rischioCreditoDecodificatoRisAll end as rischioMercato + --rischioCreditoDecodificatoRFA as rischioCredito + ,coperturaRFA as diversificazione + ,coperturaRisAll as copertura + ,null as isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,dtPianificazioneOrizzontale + ,dtPianificazioneVerticale + ,tok.value as Token + ,null as varRisorseAllocate + ,coperturaRisorseAllocate + ,null AS lineaself +FROM [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Pianificazione pian +--------------------- modifica del 13/1/2017 (inner join cambiata con left) +left join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.token tok +--------------------- fine modifica del 13/1/2017 (inner join cambiata con left) +on pian.chiaveToken = tok.chiavetoken +inner join [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.eventiCliente ev +on ev.chiaveclientePb = pian.chiaveclientepb +--------------------- modifica del 13/1/2017 (flag pianificazione non pi gestito; tutti pianificati) +--where ev.flagPianificazione = 1 +--------------------- fine modifica del 13/1/2017 + + +/* POPOLO RISORSE FINANZIARIE BF */ + + +SELECT SUM(dett.ctv) as RisorseFinanziareBF,pian.chiaveclientePB +into #APPO + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Pianificazione pian + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveconsulenza = pian.chiaveconsulenza + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + group by pian.chiaveclientePB + + + UPDATE C6StagingPeriodico.RP_Pianificazione + SET risorseFinanziarieBF = a.RisorseFinanziareBF + from #APPO a + inner join C6StagingPeriodico.RP_Pianificazione rpPian + on rpPian.chiaveclientePB = a.chiaveClientePB + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Pianificazione' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Pianificazione' + ) + +end + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Pianificazione_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Pianificazione_pre_selective.sql new file mode 100644 index 00000000..c73d72d1 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Pianificazione_pre_selective.sql @@ -0,0 +1,121 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Pianificazione_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_Pianificazione_pre_selective] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Pianificazione_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Pianificazione + + insert into C6StagingPeriodico.RP_Pianificazione ( + + chiaveConsulenza + ,chiaveClientePB + ,dtUltimoAggiornamento + ,risorseFinanziarieBF + ,risorseFinanziarieTerzi + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,diversificazione + ,copertura + ,isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,dtPianificazioneOrizzontale + ,dtPianificazioneVerticale + ,token + ,varRisorseAllocate + ,coperturaRisorseAllocate + ,lineaself + ) + + + SELECT + chiaveConsulenza + ,pian.chiaveClientePB + ,pian.dtAggiornamento as dtUltimoAggiornamento + ,Null as risorseFinanziarieBF + ,Null as risorseFinanziarieTerzi + ,Null as contoCorrente + ,null as rischioCredito + ,case when (rischioCreditoDecodificatoRisAll like '%n.a.%') or (rischioCreditoDecodificatoRisAll like '%n.c.%') + or (rischioCreditoDecodificatoRisAll like '%classe%') then null else rischioCreditoDecodificatoRisAll end as rischioMercato + --rischioCreditoDecodificatoRFA as rischioCredito + ,coperturaRFA as diversificazione + ,coperturaRisAll as copertura + ,null as isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,dtPianificazioneOrizzontale + ,dtPianificazioneVerticale + ,tok.value as Token + ,null as varRisorseAllocate + ,coperturaRisorseAllocate + ,null AS lineaself +FROM [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Pianificazione pian +inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.token tok +on pian.chiaveToken = tok.chiavetoken +inner join [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.eventiCliente ev +on ev.chiaveclientePb = pian.chiaveclientepb +where ev.flagPianificazione = 1 + + +/* POPOLO RISORSE FINANZIARIE BF */ + + +SELECT SUM(dett.ctv) as RisorseFinanziareBF,pian.chiaveclientePB +into #APPO + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Pianificazione pian + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveconsulenza = pian.chiaveconsulenza + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + group by pian.chiaveclientePB + + + UPDATE C6StagingPeriodico.RP_Pianificazione + SET risorseFinanziarieBF = a.RisorseFinanziareBF + from #APPO a + inner join C6StagingPeriodico.RP_Pianificazione rpPian + on rpPian.chiaveclientePB = a.chiaveClientePB + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Pianificazione_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Pianificazione_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PosizioniPortafoglio.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PosizioniPortafoglio.sql new file mode 100644 index 00000000..3d5be0a1 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PosizioniPortafoglio.sql @@ -0,0 +1,60 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_PosizioniPortafoglio + + +CREATE procedure [C6StagingPeriodico].[RP_ST_PosizioniPortafoglio] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PosizioniPortafoglio', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_PosizioniPortafoglio + + insert into C6StagingPeriodico.RP_PosizioniPortafoglio + + select +chiavePosizionePtf, +chiaveProgetto, +dtInizioValidita, +'99991231' as[dtFineValidita], +chiaveProdotto, +conto, +rubricato, +codConf, +numPolizza, +custGar, +codAbi, +termId, +anno, +prog + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniPortafoglio + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PosizioniPortafoglio' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_PosizioniPortafoglio' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PosizioniPortafoglio_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PosizioniPortafoglio_pre_selective.sql new file mode 100644 index 00000000..9fbacf56 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PosizioniPortafoglio_pre_selective.sql @@ -0,0 +1,58 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_PosizioniPortafoglio_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_PosizioniPortafoglio_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PosizioniPortafoglio_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_PosizioniPortafoglio + + insert into C6StagingPeriodico.RP_PosizioniPortafoglio + + select +chiavePosizionePtf, +chiaveProgetto, +dtInizioValidita, +'99991231' as[dtFineValidita], +chiaveProdotto, +conto, +rubricato, +codConf, +numPolizza, +custGar, +codAbi, +termId, +anno, +prog + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniPortafoglio + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PosizioniPortafoglio_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_PosizioniPortafoglio_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PosizioniProposta.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PosizioniProposta.sql new file mode 100644 index 00000000..c0f944da --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PosizioniProposta.sql @@ -0,0 +1,58 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_PosizioniProposta + + +CREATE procedure [C6StagingPeriodico].[RP_ST_PosizioniProposta] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PosizioniProposta', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_PosizioniProposta + + insert into C6StagingPeriodico.RP_PosizioniProposta + + select chiavePosizionePro, + chiaveProgetto, + chiaveProdotto, + conto, + rubricato, + codConf, + numPolizza, + custGar, + codAbi, + termId, + anno, + prog + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniProposta + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PosizioniProposta' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_PosizioniProposta' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PosizioniProposta_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PosizioniProposta_pre_selective.sql new file mode 100644 index 00000000..fb366b97 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PosizioniProposta_pre_selective.sql @@ -0,0 +1,56 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_PosizioniProposta_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_PosizioniProposta_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PosizioniProposta_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_PosizioniProposta + + insert into C6StagingPeriodico.RP_PosizioniProposta + + select chiavePosizionePro, + chiaveProgetto, + chiaveProdotto, + conto, + rubricato, + codConf, + numPolizza, + custGar, + codAbi, + termId, + anno, + prog + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniProposta + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PosizioniProposta_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_PosizioniProposta_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ProgettiPiramideModello.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ProgettiPiramideModello.sql new file mode 100644 index 00000000..50bbf85b --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ProgettiPiramideModello.sql @@ -0,0 +1,114 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_ProgettiPiramideModello + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_ProgettiPiramideModello] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ProgettiPiramideModello', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT DISTINCT + d.rete, + case when(isnull(ltrim(rtrim(codman)),'') <> '') then 'FF@'+codman + when (isnull(codfis,'') <> '') then codfis + else c.piva + end as Cod_fiscale, + 'SCARTO PER PIRAMIDE MODELLO tipoprogetto > 1' AS MOTIVO + FROM [CONSUNI_PERIODICO].[consulenzaunica].dbo.Contratto a + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.ClientePB b + ON b.chiaveClientePB = a.chiaveClientePB + AND a.status in ('SEI','AVANZATOBASE','REVOCASEI') + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.Cliente c + ON b.chiaveCliente = c.chiaveCliente + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.PromotoreBancario d + ON b.chiavePB = d.chiavePB + WHERE + A.chiaveclientepb in ( + select distinct chiaveclientepb + FROM + ( + --SELECT chiaveclientepb,area,tipoprogetto,COUNT(*) as c FROM + --[CONSUNI_PERIODICO].[consulenzaEvoluta].dbo.ProgettiPiramideModello + --where tipoprogetto =0 and area <> 'na' and isnull(dtFineValidita,'99991231')>GETDATE() + --group by chiaveclientepb,area,tipoprogetto + --having COUNT(*)<>1 + SELECT chiaveclientepb,area,COUNT(*) as c + FROM [CONSUNI_PERIODICO].consulenzaunica.dbo.piramidemodello pirmod + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.areamodello areamod + on pirmod.chiavePiramideMod = areamod.chiaveAreaMod + inner join [CONSUNI_PERIODICO].[consulenzaunica].dbo.ProgettiPiramideModello progmod + on progmod.chiaveAreaMod = areamod.chiaveAreaMod + where area <> 'na' + group by chiaveclientepb,area + having COUNT(*)<>1 + + ) t + ) + + --drop table C6StagingPeriodico.RP_ProgettiPiramideModello + truncate table C6StagingPeriodico.RP_ProgettiPiramideModello + + + + + insert into C6StagingPeriodico.RP_ProgettiPiramideModello + +select + prog.chiaveProgettoMod + ,pian.chiaveClientePB + -------------------------> modifica del 18/1/2017 per correggere le anomalie dovute al nome area 'pre1'e 'pre2' + --,am.area + ,CASE + WHEN pirMod.nomeProgetto = 'Previdenza Essenziale' and am.area = 'Pre' THEN 'Pre1' + WHEN pirMod.nomeProgetto = 'Previdenza Secondaria' and am.area = 'Pre' THEN 'Pre2' + ELSE AM.AREA + END AS area + -------------------------> fine modifica del 18/1/2017 + ,percentualeProgetto + ,null as tipoProgetto + /* 20161215 imposta per area previdenza il nome progetto a Default */ + --,nomeProgetto + ,case when am.area = 'Pre' + then 'Default' + else nomeProgetto + end AS nomeProgetto + /* 20161215 fine */ + ,isnull(orizzontetemporale,0) durata + --,[durata] + ,[note] + ,'99991231' as dtFineValidita + ,null as [dtCreazione] + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.ProgettiPiramideModello pirmod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on prog.chiaveprogettoMod = pirmod.chiaveProgettoMod + left join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.portafogliomodello pormod --modifica inserita il 29/04 per orizzontetemporale non congruente con la PUC online + on prog.chiaveptfmod=pormod.chiaveptfmod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.AreaModello am + on am.chiaveAreaMod = pirmod.ChiaveAreaMod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + on a.chiaveArea = prog.chiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Pianificazione pian + on pian.chiaveconsulenza = a.chiaveconsulenza + + --update C6StagingPeriodico.RP_ProgettiPiramideModello set nomeProgetto = null where tipoprogetto = 0 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + R diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_20170118.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_20170118.sql new file mode 100644 index 00000000..415b4c61 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_20170118.sql @@ -0,0 +1,117 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_ProgettiPiramideModello_20170118 + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_ProgettiPiramideModello_20170118] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ProgettiPiramideModello', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT DISTINCT + d.rete, + case when(isnull(ltrim(rtrim(codman)),'') <> '') then 'FF@'+codman + when (isnull(codfis,'') <> '') then codfis + else c.piva + end as Cod_fiscale, + 'SCARTO PER PIRAMIDE MODELLO tipoprogetto > 1' AS MOTIVO + FROM [CONSUNI_PERIODICO].[consulenzaunica].dbo.Contratto a + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.ClientePB b + ON b.chiaveClientePB = a.chiaveClientePB + AND a.status in ('SEI','AVANZATOBASE','REVOCASEI') + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.Cliente c + ON b.chiaveCliente = c.chiaveCliente + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.PromotoreBancario d + ON b.chiavePB = d.chiavePB + WHERE + A.chiaveclientepb in ( + select distinct chiaveclientepb + FROM + ( + --SELECT chiaveclientepb,area,tipoprogetto,COUNT(*) as c FROM + --[CONSUNI_PERIODICO].[consulenzaEvoluta].dbo.ProgettiPiramideModello + --where tipoprogetto =0 and area <> 'na' and isnull(dtFineValidita,'99991231')>GETDATE() + --group by chiaveclientepb,area,tipoprogetto + --having COUNT(*)<>1 + SELECT chiaveclientepb,area,COUNT(*) as c + FROM [CONSUNI_PERIODICO].consulenzaunica.dbo.piramidemodello pirmod + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.areamodello areamod + on pirmod.chiavePiramideMod = areamod.chiaveAreaMod + inner join [CONSUNI_PERIODICO].[consulenzaunica].dbo.ProgettiPiramideModello progmod + on progmod.chiaveAreaMod = areamod.chiaveAreaMod + where area <> 'na' + group by chiaveclientepb,area + having COUNT(*)<>1 + + ) t + ) + + --drop table C6StagingPeriodico.RP_ProgettiPiramideModello + truncate table C6StagingPeriodico.RP_ProgettiPiramideModello + + + + + insert into C6StagingPeriodico.RP_ProgettiPiramideModello + +select + prog.chiaveProgettoMod + ,pian.chiaveClientePB + ,am.area + ,percentualeProgetto + ,null as tipoProgetto + /* 20161215 imposta per area previdenza il nome progetto a Default */ + --,nomeProgetto + ,case when am.area = 'Pre' + then 'Default' + else nomeProgetto + end AS nomeProgetto + /* 20161215 fine */ + ,[durata] + ,[note] + ,'99991231' as dtFineValidita + ,null as [dtCreazione] + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.ProgettiPiramideModello pirmod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on prog.chiaveprogettoMod = pirmod.chiaveProgettoMod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.AreaModello am + on am.chiaveAreaMod = pirmod.ChiaveAreaMod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + on a.chiaveArea = prog.chiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Pianificazione pian + on pian.chiaveconsulenza = a.chiaveconsulenza + + --update C6StagingPeriodico.RP_ProgettiPiramideModello set nomeProgetto = null where tipoprogetto = 0 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ProgettiPiramideModello' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_ProgettiPiramideModello' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_20171106.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_20171106.sql new file mode 100644 index 00000000..203f6ae2 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_20171106.sql @@ -0,0 +1,129 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_ProgettiPiramideModello_20171106 + + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_ProgettiPiramideModello_20171106] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ProgettiPiramideModello', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT DISTINCT + d.rete, + case when(isnull(ltrim(rtrim(codman)),'') <> '') then 'FF@'+codman + when (isnull(codfis,'') <> '') then codfis + else c.piva + end as Cod_fiscale, + 'SCARTO PER PIRAMIDE MODELLO tipoprogetto > 1' AS MOTIVO + FROM [CONSUNI_PERIODICO].[consulenzaunica].dbo.Contratto a + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.ClientePB b + ON b.chiaveClientePB = a.chiaveClientePB + AND a.status in ('SEI','AVANZATOBASE','REVOCASEI') + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.Cliente c + ON b.chiaveCliente = c.chiaveCliente + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.PromotoreBancario d + ON b.chiavePB = d.chiavePB + WHERE + A.chiaveclientepb in ( + select distinct chiaveclientepb + FROM + ( + --SELECT chiaveclientepb,area,tipoprogetto,COUNT(*) as c FROM + --[CONSUNI_PERIODICO].[consulenzaEvoluta].dbo.ProgettiPiramideModello + --where tipoprogetto =0 and area <> 'na' and isnull(dtFineValidita,'99991231')>GETDATE() + --group by chiaveclientepb,area,tipoprogetto + --having COUNT(*)<>1 + SELECT chiaveclientepb,area,COUNT(*) as c + FROM [CONSUNI_PERIODICO].consulenzaunica.dbo.piramidemodello pirmod + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.areamodello areamod + on pirmod.chiavePiramideMod = areamod.chiaveAreaMod + inner join [CONSUNI_PERIODICO].[consulenzaunica].dbo.ProgettiPiramideModello progmod + on progmod.chiaveAreaMod = areamod.chiaveAreaMod + where area <> 'na' + group by chiaveclientepb,area + having COUNT(*)<>1 + + ) t + ) + + --drop table C6StagingPeriodico.RP_ProgettiPiramideModello + truncate table C6StagingPeriodico.RP_ProgettiPiramideModello + + + + + insert into C6StagingPeriodico.RP_ProgettiPiramideModello + +select + prog.chiaveProgettoMod + ,pian.chiaveClientePB + -------------------------> modifica del 18/1/2017 per correggere le anomalie dovute al nome area 'pre1'e 'pre2' + --,am.area + ,CASE + WHEN pirMod.nomeProgetto = 'Previdenza Essenziale' and am.area = 'Pre' THEN 'Pre1' + WHEN pirMod.nomeProgetto = 'Previdenza Secondaria' and am.area = 'Pre' THEN 'Pre2' + ELSE AM.AREA + END AS area + -------------------------> fine modifica del 18/1/2017 + ,percentualeProgetto + ,null as tipoProgetto + /* 20161215 imposta per area previdenza il nome progetto a Default */ + --,nomeProgetto + ,case when am.area = 'Pre' + then 'Default' + else nomeProgetto + end AS nomeProgetto + /* 20161215 fine */ + ,[durata] + ,[note] + ,'99991231' as dtFineValidita + ,null as [dtCreazione] + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.ProgettiPiramideModello pirmod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on prog.chiaveprogettoMod = pirmod.chiaveProgettoMod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.AreaModello am + on am.chiaveAreaMod = pirmod.ChiaveAreaMod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + on a.chiaveArea = prog.chiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Pianificazione pian + on pian.chiaveconsulenza = a.chiaveconsulenza + + --update C6StagingPeriodico.RP_ProgettiPiramideModello set nomeProgetto = null where tipoprogetto = 0 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ProgettiPiramideModello' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_ProgettiPiramideModello' + ) + +end + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_pre_selective.sql new file mode 100644 index 00000000..457fa238 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_pre_selective.sql @@ -0,0 +1,116 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_ProgettiPiramideModello_pre_selective + + +CREATE procedure [C6StagingPeriodico].[RP_ST_ProgettiPiramideModello_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ProgettiPiramideModello_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT DISTINCT + d.rete, + case when(isnull(ltrim(rtrim(codman)),'') <> '') then 'FF@'+codman + when (isnull(codfis,'') <> '') then codfis + else c.piva + end as Cod_fiscale, + 'SCARTO PER PIRAMIDE MODELLO tipoprogetto > 1' AS MOTIVO + FROM [CONSUNI_PERIODICO].[consulenzaunica].dbo.Contratto a + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.ClientePB b + ON b.chiaveClientePB = a.chiaveClientePB + AND a.status in ('SEI','AVANZATOBASE','REVOCASEI') + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.Cliente c + ON b.chiaveCliente = c.chiaveCliente + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.PromotoreBancario d + ON b.chiavePB = d.chiavePB + WHERE + A.chiaveclientepb in ( + select distinct chiaveclientepb + FROM + ( + --SELECT chiaveclientepb,area,tipoprogetto,COUNT(*) as c FROM + --[CONSUNI_PERIODICO].[consulenzaEvoluta].dbo.ProgettiPiramideModello + --where tipoprogetto =0 and area <> 'na' and isnull(dtFineValidita,'99991231')>GETDATE() + --group by chiaveclientepb,area,tipoprogetto + --having COUNT(*)<>1 + SELECT chiaveclientepb,area,COUNT(*) as c + FROM [CONSUNI_PERIODICO].consulenzaunica.dbo.piramidemodello pirmod + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.areamodello areamod + on pirmod.chiavePiramideMod = areamod.chiaveAreaMod + inner join [CONSUNI_PERIODICO].[consulenzaunica].dbo.ProgettiPiramideModello progmod + on progmod.chiaveAreaMod = areamod.chiaveAreaMod + where area <> 'na' + group by chiaveclientepb,area + having COUNT(*)<>1 + + ) t + ) + + --drop table C6StagingPeriodico.RP_ProgettiPiramideModello + truncate table C6StagingPeriodico.RP_ProgettiPiramideModello + + + + + insert into C6StagingPeriodico.RP_ProgettiPiramideModello + +select + prog.chiaveProgettoMod + ,pian.chiaveClientePB + ,am.area + ,percentualeProgetto + ,null as tipoProgetto + /* 20161215 imposta per area previdenza il nome progetto a Default */ + --,nomeProgetto + ,case when am.area = 'Pre' + then 'Default' + else nomeProgetto + end AS nomeProgetto + /* 20161215 fine */ + ,[durata] + ,[note] + ,'99991231' as dtFineValidita + ,null as [dtCreazione] + + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.ProgettiPiramideModello pirmod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on prog.chiaveprogettoMod = pirmod.chiaveProgettoMod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.AreaModello am + on am.chiaveAreaMod = pirmod.ChiaveAreaMod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + on a.chiaveArea = prog.chiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Pianificazione pian + on pian.chiaveconsulenza = a.chiaveconsulenza + + --update C6StagingPeriodico.RP_ProgettiPiramideModello set nomeProgetto = null where tipoprogetto = 0 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ProgettiPiramideModello_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_ProgettiPiramideModello_pre_selective' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto.new.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto.new.sql new file mode 100644 index 00000000..863fba68 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto.new.sql @@ -0,0 +1,128 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Progetto.new + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Progetto] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto', + GETDATE(), + 'Elaborazione Trimestrale' + ) + --drop table C6StagingPeriodico.RP_Progetto + truncate table C6StagingPeriodico.RP_Progetto + + insert into C6StagingPeriodico.RP_Progetto + ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,varProgetto + ,coperturaProgetto + ,profiloProgetto + ,orizzonteTemporale + ,ctvProgetto + ,chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,percProgetto + ,ctvPianificato + ,chiavePtfMod + ,dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset ) + + select + prog.chiaveProgetto + -------------------------> modifica del 13/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non pi distinta tra pre1 e pre2 + --,a.area + ,CASE + -------------------------> modifica del 16/1/2017 per correggere le anomalie dovute al nome progetto 'previdenza' sulle aree inv + --WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' THEN 'Pre1' + --WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' THEN 'Pre2' + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + -------------------------> fine modifica del 16/1/2017 + else a.area END AS area + -------------------------> FINE modifica del 13/1/2017 + ,chiaveConsulenza + ,null as tipoProgetto -- NULL 16/09 + ,propirMod.dtInizioValidita as dtCreazione + ,prog.dtaggiornamento as dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,Null as varProgetto + ,coperturaProgetto + ,null as profiloProgetto + + /* durata progetto da PortafoglioModello.orizzontetemporale + /* 20170117 durata > 9 anni */ + ,SUBSTRING (propirMod.durata,1,2) as orizzonteTemporale + */ + ,orizzontetemporale + + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,null as percProgetto + ,ctvPianificato + ,prog.chiavePtfMod + ,'99991231' as dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset + + ------------------> MODIFICA DEL 17/1/2017 -- SI DEVE PUNTARE AL CONGELATO E NON ALL'ONLINE + --from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + --inner join CONSUNI.ConsulenzaUnica.dbo.area a + --on a.chiaveArea = prog.chiavearea + --inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + --on propirMod.chiaveprogettomod = prog.chiaveprogettomod + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + ------------------> MODIFICA DEL 06/11/2017 -- inzio -- durata progetto da PortafoglioModello.orizzontetemporale + inner join [consuni_periodico].consulenzaunica.[dbo].PortafoglioModello pm + on prog.chiaveptfMod=pm.chiaveptfMod + ------------------> MODIFICA DEL 06/11/2017 -- fine + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + ------------------> fine MODIFICA DEL 17/1/2017 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Progetto' + ) + +end + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto.sql new file mode 100644 index 00000000..45c37d8f --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto.sql @@ -0,0 +1,131 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Progetto + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Progetto] as + +BEGIN + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Progetto + + insert into C6StagingPeriodico.RP_Progetto + ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,varProgetto + ,coperturaProgetto + ,profiloProgetto + ,orizzonteTemporale + ,ctvProgetto + ,chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,percProgetto + ,ctvPianificato + ,chiavePtfMod + ,dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset ) + + select + prog.chiaveProgetto + -------------------------> modifica del 13/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non pi distinta tra pre1 e pre2 + --,a.area + ,CASE + -------------------------> modifica del 16/1/2017 per correggere le anomalie dovute al nome progetto 'previdenza' sulle aree inv + --WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' THEN 'Pre1' + --WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' THEN 'Pre2' + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + -------------------------> fine modifica del 16/1/2017 + else a.area END AS area + -------------------------> FINE modifica del 13/1/2017 + ,chiaveConsulenza + ,null as tipoProgetto -- NULL 16/09 + ,propirMod.dtInizioValidita as dtCreazione + ,prog.dtaggiornamento as dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,Null as varProgetto + ,coperturaProgetto + ,null as profiloProgetto + /* 20170117 durata > 9 anni */ + ,SUBSTRING (propirMod.durata,1,2) as orizzonteTemporale + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,null as percProgetto + ,ctvPianificato + ,chiavePtfMod + ,'99991231' as dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset + + ------------------> MODIFICA DEL 17/1/2017 -- SI DEVE PUNTARE AL CONGELATO E NON ALL'ONLINE + --from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + --inner join CONSUNI.ConsulenzaUnica.dbo.area a + --on a.chiaveArea = prog.chiavearea + --inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + --on propirMod.chiaveprogettomod = prog.chiaveprogettomod + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + ------------------> fine MODIFICA DEL 17/1/2017 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Progetto' + ) + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto_2', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + ------------------> MODIFICA DEL 06/11/2017 -- inzio -- durata progetto da PortafoglioModello.orizzontetemporale + select prog.chiaveprogettomod , pm.orizzonteTemporale + into #temp_orizzonteTemporale_ok + from C6StagingPeriodico.RP_Progetto prog + inner join [consuni_periodico].consulenzaunica.[dbo].PortafoglioModello pm + on prog.chiaveptfMod=pm.chiaveptfMod + inner join CO diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20170113.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20170113.sql new file mode 100644 index 00000000..7c29a828 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20170113.sql @@ -0,0 +1,97 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Progetto_20170113 + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Progetto_20170113] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto', + GETDATE(), + 'Elaborazione Trimestrale' + ) + --drop table C6StagingPeriodico.RP_Progetto + truncate table C6StagingPeriodico.RP_Progetto + + insert into C6StagingPeriodico.RP_Progetto + ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,varProgetto + ,coperturaProgetto + ,profiloProgetto + ,orizzonteTemporale + ,ctvProgetto + ,chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,percProgetto + ,ctvPianificato + ,chiavePtfMod + ,dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset ) + + select + prog.chiaveProgetto + ,a.area + ,chiaveConsulenza + ,null as tipoProgetto -- NULL 16/09 + ,propirMod.dtInizioValidita as dtCreazione + ,prog.dtaggiornamento as dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,Null as varProgetto + ,coperturaProgetto + ,null as profiloProgetto + ,SUBSTRING (propirMod.durata,1,1) as orizzonteTemporale + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,null as percProgetto + ,ctvPianificato + ,chiavePtfMod + ,'99991231' as dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset + + from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Progetto' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20170116.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20170116.sql new file mode 100644 index 00000000..e7bf42be --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20170116.sql @@ -0,0 +1,105 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Progetto_20170116 + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Progetto_20170116] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto', + GETDATE(), + 'Elaborazione Trimestrale' + ) + --drop table C6StagingPeriodico.RP_Progetto + truncate table C6StagingPeriodico.RP_Progetto + + insert into C6StagingPeriodico.RP_Progetto + ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,varProgetto + ,coperturaProgetto + ,profiloProgetto + ,orizzonteTemporale + ,ctvProgetto + ,chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,percProgetto + ,ctvPianificato + ,chiavePtfMod + ,dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset ) + + select + prog.chiaveProgetto + -------------------------> modifica del 13/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non pi distinta tra pre1 e pre2 + --,a.area + ,CASE + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' THEN 'Pre2' + else a.area END AS area + -------------------------> FINE modifica del 13/1/2017 + ,chiaveConsulenza + ,null as tipoProgetto -- NULL 16/09 + ,propirMod.dtInizioValidita as dtCreazione + ,prog.dtaggiornamento as dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,Null as varProgetto + ,coperturaProgetto + ,null as profiloProgetto + ,SUBSTRING (propirMod.durata,1,1) as orizzonteTemporale + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,null as percProgetto + ,ctvPianificato + ,chiavePtfMod + ,'99991231' as dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset + + from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Progetto' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20170117.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20170117.sql new file mode 100644 index 00000000..3e52d7dd --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20170117.sql @@ -0,0 +1,111 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Progetto_20170117 + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Progetto_20170117] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto', + GETDATE(), + 'Elaborazione Trimestrale' + ) + --drop table C6StagingPeriodico.RP_Progetto + truncate table C6StagingPeriodico.RP_Progetto + + insert into C6StagingPeriodico.RP_Progetto + ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,varProgetto + ,coperturaProgetto + ,profiloProgetto + ,orizzonteTemporale + ,ctvProgetto + ,chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,percProgetto + ,ctvPianificato + ,chiavePtfMod + ,dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset ) + + select + prog.chiaveProgetto + -------------------------> modifica del 13/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non pi distinta tra pre1 e pre2 + --,a.area + ,CASE + -------------------------> modifica del 16/1/2017 per correggere le anomalie dovute al nome progetto 'previdenza' sulle aree inv + --WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' THEN 'Pre1' + --WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' THEN 'Pre2' + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + -------------------------> fine modifica del 16/1/2017 + else a.area END AS area + -------------------------> FINE modifica del 13/1/2017 + ,chiaveConsulenza + ,null as tipoProgetto -- NULL 16/09 + ,propirMod.dtInizioValidita as dtCreazione + ,prog.dtaggiornamento as dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,Null as varProgetto + ,coperturaProgetto + ,null as profiloProgetto + ,SUBSTRING (propirMod.durata,1,1) as orizzonteTemporale + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,null as percProgetto + ,ctvPianificato + ,chiavePtfMod + ,'99991231' as dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset + + from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Progetto' + ) + +end + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20170117_2.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20170117_2.sql new file mode 100644 index 00000000..91fff391 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20170117_2.sql @@ -0,0 +1,120 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Progetto_20170117_2 + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Progetto_20170117_2] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto', + GETDATE(), + 'Elaborazione Trimestrale' + ) + --drop table C6StagingPeriodico.RP_Progetto + truncate table C6StagingPeriodico.RP_Progetto + + insert into C6StagingPeriodico.RP_Progetto + ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,varProgetto + ,coperturaProgetto + ,profiloProgetto + ,orizzonteTemporale + ,ctvProgetto + ,chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,percProgetto + ,ctvPianificato + ,chiavePtfMod + ,dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset ) + + select + prog.chiaveProgetto + -------------------------> modifica del 13/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non pi distinta tra pre1 e pre2 + --,a.area + ,CASE + -------------------------> modifica del 16/1/2017 per correggere le anomalie dovute al nome progetto 'previdenza' sulle aree inv + --WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' THEN 'Pre1' + --WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' THEN 'Pre2' + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + -------------------------> fine modifica del 16/1/2017 + else a.area END AS area + -------------------------> FINE modifica del 13/1/2017 + ,chiaveConsulenza + ,null as tipoProgetto -- NULL 16/09 + ,propirMod.dtInizioValidita as dtCreazione + ,prog.dtaggiornamento as dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,Null as varProgetto + ,coperturaProgetto + ,null as profiloProgetto + ,SUBSTRING (propirMod.durata,1,2) as orizzonteTemporale + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,null as percProgetto + ,ctvPianificato + ,chiavePtfMod + ,'99991231' as dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset + + ------------------> MODIFICA DEL 17/1/2017 -- SI DEVE PUNTARE AL CONGELATO E NON ALL'ONLINE + --from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + --inner join CONSUNI.ConsulenzaUnica.dbo.area a + --on a.chiaveArea = prog.chiavearea + --inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + --on propirMod.chiaveprogettomod = prog.chiaveprogettomod + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + ------------------> fine MODIFICA DEL 17/1/2017 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Progetto' + ) + +end + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20170419.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20170419.sql new file mode 100644 index 00000000..f327bcd8 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20170419.sql @@ -0,0 +1,119 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Progetto_20170419 + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Progetto_20170419] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto', + GETDATE(), + 'Elaborazione Trimestrale' + ) + --drop table C6StagingPeriodico.RP_Progetto + truncate table C6StagingPeriodico.RP_Progetto + + insert into C6StagingPeriodico.RP_Progetto + ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,varProgetto + ,coperturaProgetto + ,profiloProgetto + ,orizzonteTemporale + ,ctvProgetto + ,chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,percProgetto + ,ctvPianificato + ,chiavePtfMod + ,dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset ) + + select + prog.chiaveProgetto + -------------------------> modifica del 13/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non pi distinta tra pre1 e pre2 + --,a.area + ,CASE + -------------------------> modifica del 16/1/2017 per correggere le anomalie dovute al nome progetto 'previdenza' sulle aree inv + --WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' THEN 'Pre1' + --WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' THEN 'Pre2' + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + -------------------------> fine modifica del 16/1/2017 + else a.area END AS area + -------------------------> FINE modifica del 13/1/2017 + ,chiaveConsulenza + ,null as tipoProgetto -- NULL 16/09 + ,propirMod.dtInizioValidita as dtCreazione + ,prog.dtaggiornamento as dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,Null as varProgetto + ,coperturaProgetto + ,null as profiloProgetto + /* 20170117 durata > 9 anni */ + ,SUBSTRING (propirMod.durata,1,2) as orizzonteTemporale + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,null as percProgetto + ,ctvPianificato + ,chiavePtfMod + ,'99991231' as dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset + + ------------------> MODIFICA DEL 17/1/2017 -- SI DEVE PUNTARE AL CONGELATO E NON ALL'ONLINE + --from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + --inner join CONSUNI.ConsulenzaUnica.dbo.area a + --on a.chiaveArea = prog.chiavearea + --inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + --on propirMod.chiaveprogettomod = prog.chiaveprogettomod + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + ------------------> fine MODIFICA DEL 17/1/2017 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Progetto' + ) + +end + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20171106.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20171106.sql new file mode 100644 index 00000000..40f84958 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_20171106.sql @@ -0,0 +1,120 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Progetto_20171106 + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Progetto_20171106] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto', + GETDATE(), + 'Elaborazione Trimestrale' + ) + --drop table C6StagingPeriodico.RP_Progetto + truncate table C6StagingPeriodico.RP_Progetto + + insert into C6StagingPeriodico.RP_Progetto + ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,varProgetto + ,coperturaProgetto + ,profiloProgetto + ,orizzonteTemporale + ,ctvProgetto + ,chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,percProgetto + ,ctvPianificato + ,chiavePtfMod + ,dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset ) + + select + prog.chiaveProgetto + -------------------------> modifica del 13/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non pi distinta tra pre1 e pre2 + --,a.area + ,CASE + -------------------------> modifica del 16/1/2017 per correggere le anomalie dovute al nome progetto 'previdenza' sulle aree inv + --WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' THEN 'Pre1' + --WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' THEN 'Pre2' + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + -------------------------> fine modifica del 16/1/2017 + else a.area END AS area + -------------------------> FINE modifica del 13/1/2017 + ,chiaveConsulenza + ,null as tipoProgetto -- NULL 16/09 + ,propirMod.dtInizioValidita as dtCreazione + ,prog.dtaggiornamento as dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,Null as varProgetto + ,coperturaProgetto + ,null as profiloProgetto + /* 20170117 durata > 9 anni */ + ,SUBSTRING (propirMod.durata,1,2) as orizzonteTemporale + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,null as percProgetto + ,ctvPianificato + ,chiavePtfMod + ,'99991231' as dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset + + ------------------> MODIFICA DEL 17/1/2017 -- SI DEVE PUNTARE AL CONGELATO E NON ALL'ONLINE + --from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + --inner join CONSUNI.ConsulenzaUnica.dbo.area a + --on a.chiaveArea = prog.chiavearea + --inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + --on propirMod.chiaveprogettomod = prog.chiaveprogettomod + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + ------------------> fine MODIFICA DEL 17/1/2017 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Progetto' + ) + +end + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_Robo.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_Robo.sql new file mode 100644 index 00000000..941bf5a1 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_Robo.sql @@ -0,0 +1,86 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Progetto_Robo + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Progetto_Robo] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto_Robo', + GETDATE(), + 'Elaborazione giornaliera' + ) + --drop table c6staging.RP_Progetto + truncate table c6stagingperiodico.RP_Progetto_Robo + + insert into C6StagingPeriodico.RP_Progetto_Robo ( + [chiaveProgetto] + ,[flagUtilizzoLiquidita] + ,[Iban_codiceContrattoCC] + ,[ctvSogliaCC] + ,[minimoMantenimentoSuCC] + ,[listTagFondiDaUtilizzare] + ,[percentualeFogli] + ,[percentualeFondi] + ,[chiaveclientepb] + ,[dt_inserimento] + ,[dt_aggiornamento] + ,[FlagCsv] + ,[ChiavePtfMod] + ,[isProgettoRobo] ) + + select + + robo.[chiaveProgetto] + ,robo.[flagUtilizzoLiquidita] + ,robo.[Iban_codiceContrattoCC] + ,robo.[ctvSogliaCC] + ,robo.[minimoMantenimentoSuCC] + ,robo.[listTagFondiDaUtilizzare] + ,robo.[percentualeFogli] + ,robo.[percentualeFondi] + ,robo.[chiaveclientepb] + ,robo.[dt_inserimento] + ,robo.[dt_aggiornamento] + ,robo.[FlagCsv] + ,p.chiaveptfmod + ,'S' + + + from CONSUNI.ConsulenzaUnica.dbo.[Robo_ProgettoRobo] robo + inner join CONSUNI.ConsulenzaUnica.dbo.[Progetto] p on p.chiaveProgetto=robo.chiaveProgetto + + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto_Robo' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Progetto_Robo' + ) + +end + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_pre_selective.sql new file mode 100644 index 00000000..8653dfce --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Progetto_pre_selective.sql @@ -0,0 +1,96 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Progetto_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_Progetto_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + --drop table C6StagingPeriodico.RP_Progetto + truncate table C6StagingPeriodico.RP_Progetto + + insert into C6StagingPeriodico.RP_Progetto + ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,varProgetto + ,coperturaProgetto + ,profiloProgetto + ,orizzonteTemporale + ,ctvProgetto + ,chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,percProgetto + ,ctvPianificato + ,chiavePtfMod + ,dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset ) + + select + prog.chiaveProgetto + ,a.area + ,chiaveConsulenza + ,null as tipoProgetto -- NULL 16/09 + ,propirMod.dtInizioValidita as dtCreazione + ,prog.dtaggiornamento as dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,Null as varProgetto + ,coperturaProgetto + ,null as profiloProgetto + ,SUBSTRING (propirMod.durata,1,1) as orizzonteTemporale + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,null as percProgetto + ,ctvPianificato + ,chiavePtfMod + ,'99991231' as dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset + + from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Progetto_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PromotoreBancario.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PromotoreBancario.sql new file mode 100644 index 00000000..c6855ce9 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PromotoreBancario.sql @@ -0,0 +1,87 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_PromotoreBancario + + +CREATE procedure [C6StagingPeriodico].[RP_ST_PromotoreBancario] + +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PromotoreBancario', + GETDATE(), + 'Elaborazione Trimestrale' + ) + +truncate table C6StagingPeriodico.RP_PromotoreBancario + +insert into C6StagingPeriodico.RP_PromotoreBancario +( +chiavePB +,codage +,nome +,cognome +,[status] +,livello +,rete +,indirizzo +,numCivico +,citta +,prov +,cap +,nazione +,ptel +,tel +,tipologia +,grado +,codManager +) + select + chiavePB + ,codage + ,nome + ,cognome + ,[status] + ,livello + ,rete + ,indirizzo + ,numCivico + ,citta + ,prov + ,cap + ,nazione + ,ptel + ,tel + ,tipologia + ,grado + ,null --codManager + from [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.PromotoreBancario + + + + ---- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PromotoreBancario' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_PromotoreBancario' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PromotoreBancario_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PromotoreBancario_pre_selective.sql new file mode 100644 index 00000000..648db92f --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_PromotoreBancario_pre_selective.sql @@ -0,0 +1,85 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_PromotoreBancario_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_PromotoreBancario_pre_selective] + +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PromotoreBancario_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + +truncate table C6StagingPeriodico.RP_PromotoreBancario + +insert into C6StagingPeriodico.RP_PromotoreBancario +( +chiavePB +,codage +,nome +,cognome +,[status] +,livello +,rete +,indirizzo +,numCivico +,citta +,prov +,cap +,nazione +,ptel +,tel +,tipologia +,grado +,codManager +) + select + chiavePB + ,codage + ,nome + ,cognome + ,[status] + ,livello + ,rete + ,indirizzo + ,numCivico + ,citta + ,prov + ,cap + ,nazione + ,ptel + ,tel + ,tipologia + ,grado + ,null --codManager + from [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.PromotoreBancario + + + + ---- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PromotoreBancario_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_PromotoreBancario_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Proposta.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Proposta.sql new file mode 100644 index 00000000..7595104f --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Proposta.sql @@ -0,0 +1,82 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Proposta + + +CREATE procedure [C6StagingPeriodico].[RP_ST_Proposta] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Proposta', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Proposta + + INSERT INTO C6StagingPeriodico.RP_Proposta + SELECT + chiaveProposta + ,chiaveConsulenza + ,[status] + ,chiaveClientePB + ,nomeProposta + ,dtProposta + ,dtValidazione + ,dtUltimoAgg + ,dtScadenza + ,risorseFinanziarieBF + ,risorseFinanziarieBT + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,adeguatezza + ,discesaRegime + ,diversificazione + ,copertura + ,codValidazione + ,urlValidazione + ,urlSimulazione + ,urlReport + ,apporti + ,prelievi + ,flgScadenza + ,flgInadRischioCredito + ,flgInadRischioMercato + ,flgInadComplessita + ,flgInadFrequenza + ,flgInadConcentrazione + ,flgInadLiquidita + ,isAttivoRC + ,token + ,flagNuovoFlusso + ,lineaself + --,null AS lineaself + FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.Proposta + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Proposta' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Proposta' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Proposta_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Proposta_pre_selective.sql new file mode 100644 index 00000000..30f0f422 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_Proposta_pre_selective.sql @@ -0,0 +1,80 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_Proposta_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_Proposta_pre_selective] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Proposta_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_Proposta + + INSERT INTO C6StagingPeriodico.RP_Proposta + SELECT + chiaveProposta + ,chiaveConsulenza + ,[status] + ,chiaveClientePB + ,nomeProposta + ,dtProposta + ,dtValidazione + ,dtUltimoAgg + ,dtScadenza + ,risorseFinanziarieBF + ,risorseFinanziarieBT + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,adeguatezza + ,discesaRegime + ,diversificazione + ,copertura + ,codValidazione + ,urlValidazione + ,urlSimulazione + ,urlReport + ,apporti + ,prelievi + ,flgScadenza + ,flgInadRischioCredito + ,flgInadRischioMercato + ,flgInadComplessita + ,flgInadFrequenza + ,flgInadConcentrazione + ,flgInadLiquidita + ,isAttivoRC + ,token + ,flagNuovoFlusso + ,lineaself + --,null AS lineaself + FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.Proposta + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Proposta_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Proposta_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI.sql new file mode 100644 index 00000000..d8a3a3e7 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI.sql @@ -0,0 +1,63 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_RDR_VALUTE_DB_DTGIORNALIERI + + +CREATE procedure [C6StagingPeriodico].[RP_ST_RDR_VALUTE_DB_DTGIORNALIERI] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI + + insert into C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI + +-- 2015/03/17 FCianfa inserimento cast per problemi di lettura dati + + SELECT DT1.ChiaveProdotto, DT1.Divisa, cast(DT1.Peso as numeric(18,7)) + FROM [CONSUNI_PERIODICO].[consulenzaUnicaFL].dbo.RDR_VALUTE_DB_DTGIORNALIERI DT1 + INNER JOIN + (SELECT chiaveProdotto, divisa, MAX(dtRiferimento) AS MAXDATE + FROM [CONSUNI_PERIODICO].[consulenzaUnicaFL].dbo.RDR_VALUTE_DB_DTGIORNALIERI + GROUP BY chiaveProdotto, divisa) DT2 + ON DT1.chiaveProdotto = DT2.chiaveProdotto + AND DT1.DIVISA= DT2.DIVISA + AND DT1.dtRiferimento = DT2.MAXDATE + ORDER BY DT1.CHIAVEPRODOTTO, dt1.divisa + + /*pk 20160506 + insert into C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI +select 9276460, divisa, peso +from C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI +where ChiaveProdotto = 261831 +pk 20160506*/ + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_20160506_Pk.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_20160506_Pk.sql new file mode 100644 index 00000000..8eb74daf --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_20160506_Pk.sql @@ -0,0 +1,64 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_20160506_Pk + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_20160506_Pk] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI + + insert into C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI + +-- 2015/03/17 FCianfa inserimento cast per problemi di lettura dati + + SELECT DT1.ChiaveProdotto, DT1.Divisa, cast(DT1.Peso as numeric(18,7)) + FROM [CONSEVO_PERIODICO].[consulenzaEvolutaFL].dbo.RDR_VALUTE_DB_DTGIORNALIERI DT1 + INNER JOIN + (SELECT chiaveProdotto, divisa, MAX(dtRiferimento) AS MAXDATE + FROM [CONSEVO_PERIODICO].[consulenzaEvolutaFL].dbo.RDR_VALUTE_DB_DTGIORNALIERI + GROUP BY chiaveProdotto, divisa) DT2 + ON DT1.chiaveProdotto = DT2.chiaveProdotto + AND DT1.DIVISA= DT2.DIVISA + AND DT1.dtRiferimento = DT2.MAXDATE + ORDER BY DT1.CHIAVEPRODOTTO, dt1.divisa + + /*pk 20160506*/ + insert into C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI +select 9276460, divisa, peso +from C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI +where ChiaveProdotto = 261831 +/*pk 20160506*/ + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_pre_selective.sql new file mode 100644 index 00000000..652499f2 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_pre_selective.sql @@ -0,0 +1,61 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI + + insert into C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI + +-- 2015/03/17 FCianfa inserimento cast per problemi di lettura dati + + SELECT DT1.ChiaveProdotto, DT1.Divisa, cast(DT1.Peso as numeric(18,7)) + FROM [CONSUNI_PERIODICO].[consulenzaUnicaFL].dbo.RDR_VALUTE_DB_DTGIORNALIERI DT1 + INNER JOIN + (SELECT chiaveProdotto, divisa, MAX(dtRiferimento) AS MAXDATE + FROM [CONSUNI_PERIODICO].[consulenzaUnicaFL].dbo.RDR_VALUTE_DB_DTGIORNALIERI + GROUP BY chiaveProdotto, divisa) DT2 + ON DT1.chiaveProdotto = DT2.chiaveProdotto + AND DT1.DIVISA= DT2.DIVISA + AND DT1.dtRiferimento = DT2.MAXDATE + ORDER BY DT1.CHIAVEPRODOTTO, dt1.divisa + + /*pk 20160506 + insert into C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI +select 9276460, divisa, peso +from C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI +where ChiaveProdotto = 261831 +pk 20160506*/ + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql new file mode 100644 index 00000000..570dd54e --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql @@ -0,0 +1,47 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_REP_ASSET_1_E_2_ORDINATE + + +CREATE procedure [C6StagingPeriodico].[RP_ST_REP_ASSET_1_E_2_ORDINATE] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_REP_ASSET_1_E_2_ORDINATE', + GETDATE(), + 'Elaborazione Trimestrale' + ) + --drop table C6StagingPeriodico.RP_REP_ASSET_1_E_2_ORDINATE + truncate table C6StagingPeriodico.RP_REP_ASSET_1_E_2_ORDINATE + + insert into C6StagingPeriodico.RP_REP_ASSET_1_E_2_ORDINATE + + select * + --into C6StagingPeriodico.RP_REP_ASSET_1_E_2_ORDINATE + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.REP_ASSET_1_E_2_ORDINATE + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_REP_ASSET_1_E_2_ORDINATE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_REP_ASSET_1_E_2_ORDINATE' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_REP_ASSET_1_E_2_ORDINATE_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_REP_ASSET_1_E_2_ORDINATE_pre_selective.sql new file mode 100644 index 00000000..310cb52f --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_REP_ASSET_1_E_2_ORDINATE_pre_selective.sql @@ -0,0 +1,45 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_REP_ASSET_1_E_2_ORDINATE_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_REP_ASSET_1_E_2_ORDINATE_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_REP_ASSET_1_E_2_ORDINATE_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + --drop table C6StagingPeriodico.RP_REP_ASSET_1_E_2_ORDINATE + truncate table C6StagingPeriodico.RP_REP_ASSET_1_E_2_ORDINATE + + insert into C6StagingPeriodico.RP_REP_ASSET_1_E_2_ORDINATE + + select * + --into C6StagingPeriodico.RP_REP_ASSET_1_E_2_ORDINATE + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.REP_ASSET_1_E_2_ORDINATE + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_REP_ASSET_1_E_2_ORDINATE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_REP_ASSET_1_E_2_ORDINATE_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6.sql new file mode 100644 index 00000000..768e73a4 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6.sql @@ -0,0 +1,86 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_REP_S80_EVOL_STAMPA_C6 + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_REP_S80_EVOL_STAMPA_C6] + +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_REP_S80_EVOL_STAMPA_C6', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.[RP_REP_S80_EVOL_STAMPA_C6] + + INSERT INTO [C6StagingPeriodico].[RP_REP_S80_EVOL_STAMPA_C6] + SELECT + chiaveclientepb, + area, + ORDINE, + FASE, + DATA_FASE, + CONTROVALORE, + RISORSEALLOCATE, + RISORSENONALLOCATE, + CONTOCORRENTE, + INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + COPERTURA, + PROFILO, + AGENTE, + CRISK, + CRISKMAX, + lineaself, + --null AS lineaself + -- Modifica del 1/3/2019 ex 11/1/2019 - Nuovo campo che deve tornare dalla puc e relativo al nuovo prodotto mio foglio per la corretta gestione della evoluzione del controvalore + -- fino alla modifica della PUC forziamo il ritorno a 0 + lineaSelfFoglio + -- fine modifica del 1/3/2019 ex 11/1/2019 + + FROM [CONSUNI_PERIODICO].[consulenzaUnica].dbo.REP_S80_EVOL_STAMPA_C6 + + + -- MODIFICA "TEMP" per GESTIONE CLASSE DI RISCHIO. + -- Vedi FoglioInterventi codice 1 + -- Fc 14/01/2014 + -- In Fase di Caricamento della tabella C6STAGINGPERIODICO.S80_EVOL_STAMPA_C6 il valore del + -- Campo CRISK deve essere codificato a NULL se = a 5 + + -- FC START + update [C6StagingPeriodico].[RP_REP_S80_EVOL_STAMPA_C6] + set CRISK = Null + where crisk = 5; + -- FC END + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_REP_S80_EVOL_STAMPA_C6' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_REP_S80_EVOL_STAMPA_C6' + ) + +END + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6_20190111_preMioFoglio.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6_20190111_preMioFoglio.sql new file mode 100644 index 00000000..14fdfbac --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6_20190111_preMioFoglio.sql @@ -0,0 +1,79 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_REP_S80_EVOL_STAMPA_C6_20190111_preMioFoglio + + +CREATE procedure [C6StagingPeriodico].[RP_ST_REP_S80_EVOL_STAMPA_C6] + +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_REP_S80_EVOL_STAMPA_C6', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.[RP_REP_S80_EVOL_STAMPA_C6] + + INSERT INTO [C6StagingPeriodico].[RP_REP_S80_EVOL_STAMPA_C6] + SELECT + chiaveclientepb, + area, + ORDINE, + FASE, + DATA_FASE, + CONTROVALORE, + RISORSEALLOCATE, + RISORSENONALLOCATE, + CONTOCORRENTE, + INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + COPERTURA, + PROFILO, + AGENTE, + CRISK, + CRISKMAX, + lineaself + --null AS lineaself + FROM [CONSUNI_PERIODICO].[consulenzaUnica].dbo.REP_S80_EVOL_STAMPA_C6 + + + -- MODIFICA "TEMP" per GESTIONE CLASSE DI RISCHIO. + -- Vedi FoglioInterventi codice 1 + -- Fc 14/01/2014 + -- In Fase di Caricamento della tabella C6STAGINGPERIODICO.S80_EVOL_STAMPA_C6 il valore del + -- Campo CRISK deve essere codificato a NULL se = a 5 + + -- FC START + update [C6StagingPeriodico].[RP_REP_S80_EVOL_STAMPA_C6] + set CRISK = Null + where crisk = 5; + -- FC END + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_REP_S80_EVOL_STAMPA_C6' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_REP_S80_EVOL_STAMPA_C6' + ) + +END + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6_pre_selective.sql new file mode 100644 index 00000000..3a870b86 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6_pre_selective.sql @@ -0,0 +1,77 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_REP_S80_EVOL_STAMPA_C6_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_REP_S80_EVOL_STAMPA_C6_pre_selective] + +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_REP_S80_EVOL_STAMPA_C6_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.[RP_REP_S80_EVOL_STAMPA_C6] + + INSERT INTO [C6StagingPeriodico].[RP_REP_S80_EVOL_STAMPA_C6] + SELECT + chiaveclientepb, + area, + ORDINE, + FASE, + DATA_FASE, + CONTROVALORE, + RISORSEALLOCATE, + RISORSENONALLOCATE, + CONTOCORRENTE, + INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + COPERTURA, + PROFILO, + AGENTE, + CRISK, + CRISKMAX, + lineaself + --null AS lineaself + FROM [CONSUNI_PERIODICO].[consulenzaUnica].dbo.REP_S80_EVOL_STAMPA_C6 + + + -- MODIFICA "TEMP" per GESTIONE CLASSE DI RISCHIO. + -- Vedi FoglioInterventi codice 1 + -- Fc 14/01/2014 + -- In Fase di Caricamento della tabella C6STAGINGPERIODICO.S80_EVOL_STAMPA_C6 il valore del + -- Campo CRISK deve essere codificato a NULL se = a 5 + + -- FC START + update [C6StagingPeriodico].[RP_REP_S80_EVOL_STAMPA_C6] + set CRISK = Null + where crisk = 5; + -- FC END + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_REP_S80_EVOL_STAMPA_C6_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_REP_S80_EVOL_STAMPA_C6_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql new file mode 100644 index 00000000..fe60351b --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql @@ -0,0 +1,45 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3 + + +CREATE procedure [C6StagingPeriodico].[RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3', + GETDATE(), + 'Elaborazione Trimestale' + ) + + truncate table C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + + insert into C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + + select * from [CONSUNI_PERIODICO].[consulenzaUnica].[dbo].[REP_S4_S5_S13_TRAD_UNTIL_LIV3] + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3_pre_selective.sql new file mode 100644 index 00000000..9d7c7536 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3_pre_selective.sql @@ -0,0 +1,43 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3_pre_selective', + GETDATE(), + 'Elaborazione Trimestale' + ) + + truncate table C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + + insert into C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + + select * from [CONSUNI_PERIODICO].[consulenzaUnica].[dbo].[REP_S4_S5_S13_TRAD_UNTIL_LIV3] + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI.sql new file mode 100644 index 00000000..7c0aca71 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI.sql @@ -0,0 +1,141 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_SPB_CONTR_SINTESI + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- Aggiunta GESTIONE Fogli V301 (Colaneri, 31/01/2019) +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI] +AS +BEGIN + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) + +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + + Declare @dtTrime as decimal; + + Declare @dtTrimePrec as decimal; + + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN] + ,[DIVISA] + ,[BASE_PREZZ]) + + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + ,[DIVISA] + ,[BASE_PREZZ] + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND S diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI2.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI2.sql new file mode 100644 index 00000000..6ebba5bf --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI2.sql @@ -0,0 +1,155 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_SPB_CONTR_SINTESI2 + + +--select count(*) from c6stagingperiodico.spb_contr_sintesi2 +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI2] +AS +BEGIN + + + --TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI2] + + --INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI2] + -- ([POSITIONID] + -- ,[DTTRIM] + -- ,[DTRIFE] + -- ,[RETE] + -- ,[CODFIS] + -- ,[CODCONF] + -- ,[NUMPOL] + -- ,[CONTO] + -- ,[RUBR] + -- ,[CUSTGAR] + -- ,[TIPPROD] + -- ,[CODINT] + -- ,[CODPROD] + -- ,[SUBPROD] + -- ,[MAF] + -- ,[CODABI] + -- ,[PCTKEY] + -- ,[DESTIT] + -- ,[CTV] + -- ,[PARTVIA] + -- ,[PARTVIAAL] + -- ,[DTSOTTOS] + -- ,[RENDINIZ] + -- ,[RENDANNO] + -- ,[VALORE] + -- ,[SUBSET] + -- ,[CVN] + -- ,[SALRISC] + -- ,[ISIN]) + + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,C6.cod_fiscale AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + INTO #CS_MENO_K_L191 + FROM C6StagingPeriodico.WSEICS CS + JOIN C6StagingPeriodico.appo_contratti C6 + ON (case when cs.codman <> '' then 'FF@'+ cs.codman else cs.codfis end) = C6.COd_fiscale + AND CS.RETE = C6.RETE + AND CS.SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191') + AND CS.DTTRIM = c6martperiodico.gettrimestre2(getdate(),0) + + + SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,C6.cod_fiscale AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' else CUSTGAR end as custgar + ,CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + INTO #UL_1 + FROM C6StagingPeriodico.WSEICS CS + join C6StagingPeriodico.appo_contratti C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND CS.[DTTRIM] = c6martperiodico.gettrimestre2(getdate(),0) + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE + CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') + + + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,C6.COd_fiscale AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' else CUSTGAR end as custgar + ,'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20161213.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20161213.sql new file mode 100644 index 00000000..c7afb05c --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20161213.sql @@ -0,0 +1,144 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_SPB_CONTR_SINTESI_20161213 + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20161213] +AS +BEGIN + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) + +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + + Declare @dtTrime as decimal; + + Declare @dtTrimePrec as decimal; + + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192') +--INIZIO INTERVENTO MIGRAZIONE ASU3 + AND CODINT NOT IN ('RS','RB','RV','RM') +--FINE INTERVENTO MIGRAZIONE ASU3 + +AND C6.UltimoAperto = 1 + +--trimestrale Aprile 2013 +--and diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20170407.SAVE.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20170407.SAVE.sql new file mode 100644 index 00000000..22c7ad2e --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20170407.SAVE.sql @@ -0,0 +1,136 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_SPB_CONTR_SINTESI_20170407.SAVE + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20170407.SAVE] +AS +BEGIN + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) + +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + + Declare @dtTrime as decimal; + + Declare @dtTrimePrec as decimal; + + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20171204_preRFMP.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20171204_preRFMP.sql new file mode 100644 index 00000000..f77a21c1 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20171204_preRFMP.sql @@ -0,0 +1,137 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_SPB_CONTR_SINTESI_20171204_preRFMP + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20171204_preRFMP] +AS +BEGIN + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) + +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + + Declare @dtTrime as decimal; + + Declare @dtTrimePrec as decimal; + + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanu diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql new file mode 100644 index 00000000..787a790e --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql @@ -0,0 +1,138 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI] +AS +BEGIN + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) + +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + + Declare @dtTrime as decimal; + + Declare @dtTrimePrec as decimal; + + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190725.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190725.sql new file mode 100644 index 00000000..4e2e409f --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190725.sql @@ -0,0 +1,132 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_SPB_CONTR_SINTESI_20190725 + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- Aggiunta GESTIONE Fogli V301 (Colaneri, 31/01/2019) +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20190725] +AS +BEGIN + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) + +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + + Declare @dtTrime as decimal; + + Declare @dtTrimePrec as decimal; + + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6',' diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli.sql new file mode 100644 index 00000000..4047e1bc --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli.sql @@ -0,0 +1,149 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli] +AS +BEGIN + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) + +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + + Declare @dtTrime as decimal; + + Declare @dtTrimePrec as decimal; + + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191') + +AND C6.UltimoAperto = 1 + +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' + +UNION ALL + + + + +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_pre_selective.sql new file mode 100644 index 00000000..6c24fd0c --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_pre_selective.sql @@ -0,0 +1,141 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_SPB_CONTR_SINTESI_pre_selective + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) + +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + + Declare @dtTrime as decimal; + + Declare @dtTrimePrec as decimal; + + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192') +--INIZIO INTERVENTO MIGRAZIONE ASU3 +--INIZIO INTERVENTO 'RE' - 20161213 + --AND CODINT NOT IN ('RS','RB','RV','RM') + AND CODINT NOT IN ('RS','RB','RV','RM','RE') +--FINE diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_TB_ESG_ANAG_STRUM.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_TB_ESG_ANAG_STRUM.sql new file mode 100644 index 00000000..c74da3aa --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_TB_ESG_ANAG_STRUM.sql @@ -0,0 +1,144 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_TB_ESG_ANAG_STRUM + + + + + + + + +CREATE procedure [C6StagingPeriodico].[RP_ST_TB_ESG_ANAG_STRUM] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_TB_ESG_ANAG_STRUM', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_TB_ESG_ANAG_STRUM + +INSERT INTO [C6StagingPeriodico].[RP_TB_ESG_ANAG_STRUM] + ( [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[CatSFDR] + ,[ESGRating] + ,[TrendESGRating] + ,[TrendESGRating_val] + ,[dtInserimento] + ,[dtAggiornamento] + ,[UserIns] + ,[CLIENT_ID] + ,[C_TIPO_STRUMENTO] + ,[LABEL_Green_Bond] + ,[LABEL_Social_Bond] + ,[LABEL_Sustainability_Bond] + ,[LABEL_Transition_Bond] + ,[LABEL_Sust_linked_bond] + ,[LABEL_EU_GREEN_BOND_STANDARD] + ,[SDG_06_NET_ALIGNMENT_SCORE] + ,[SDG_07_NET_ALIGNMENT_SCORE] + ,[SDG_12_NET_ALIGNMENT_SCORE] + ,[SDG_13_NET_ALIGNMENT_SCORE] + ,[SDG_14_NET_ALIGNMENT_SCORE] + ,[SDG_15_NET_ALIGNMENT_SCORE] + ,[SDG_01_NET_ALIGNMENT_SCORE] + ,[SDG_02_NET_ALIGNMENT_SCORE] + ,[SDG_03_NET_ALIGNMENT_SCORE] + ,[SDG_04_NET_ALIGNMENT_SCORE] + ,[SDG_05_NET_ALIGNMENT_SCORE] + ,[SDG_08_NET_ALIGNMENT_SCORE] + ,[SDG_09_NET_ALIGNMENT_SCORE] + ,[SDG_10_NET_ALIGNMENT_SCORE] + ,[SDG_11_NET_ALIGNMENT_SCORE] + ,[SDG_16_NET_ALIGNMENT_SCORE] + ,[SDG_17_NET_ALIGNMENT_SCORE] + ,[PERC_INVESTIMENTO_TAXONOMY] + ,[PERC_INVESTIMENTO_SFDR] + ,[PERC_INVEST_OTHER_E_NO_TAX] + ,[PERC_INVEST_SFDR_MIN_SUST_E] + ,[PERC_INVEST_SFDR_MIN_SUST_S] + ,[PAI_LAB_A_Emissioni_Gas_Serra] + ,[PAI_LAB_A_Biodiversita] + ,[PAI_LAB_A_Acqua] + ,[PAI_LAB_A_Rifiuti] + ,[PAI_LAB_A_Gov_Ambientale] + ,[PAI_LAB_A_Comb_Fossili] + ,[PAI_LAB_A_Eff_energetica] + ,[PAI_LAB_A_Settore_Immobiliare] + ,[PAI_LAB_S_Questioni_Soc_Dip] + ,[PAI_LAB_S_Gov_Sociali] + ,[U_INFO_ESG] + ,[AGGREG_PAI_LAB_A] + ,[AGGREG_PAI_LAB_S] + ,[AGGREG_BOND] + ,[REF_DATE]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[CatSFDR] + ,[ESGRating] + ,[TrendESGRating] + ,[TrendESGRating_val] + ,[dtInserimento] + ,[dtAggiornamento] + ,[UserIns] + ,[CLIENT_ID] + ,[C_TIPO_STRUMENTO] + ,[LABEL_Green_Bond] + ,[LABEL_Social_Bond] + ,[LABEL_Sustainability_Bond] + ,[LABEL_Transition_Bond] + ,[LABEL_Sust_linked_bond] + ,[LABEL_EU_GREEN_BOND_STANDARD] + ,[SDG_06_NET_ALIGNMENT_SCORE] + ,[SDG_07_NET_ALIGNMENT_SCORE] + ,[SDG_12_NET_ALIGNMENT_SCORE] + ,[SDG_13_NET_ALIGNMENT_SCORE] + ,[SDG_14_NET_ALIGNMENT_SCORE] + ,[SDG_15_NET_ALIGNMENT_SCORE] + ,[SDG_01_NET_ALIGNMENT_SCORE] + ,[SDG_02_NET_ALIGNMENT_SCORE] + ,[SDG_03_NET_ALIGNMENT_SCORE] + ,[SDG_04_NET_ALIGNMENT_SCORE] + ,[SDG_05_NET_ALIGNMENT_SCORE] + ,[SDG_08_NET_ALIGNMENT_SCORE] + ,[SDG_09_NET_ALIGNMENT_SCORE] + ,[SDG_10_NET_ALIGNMENT_SCORE] + ,[SDG_11_NET_ALIGNMENT_SCORE] + ,[SDG_16_NET_ALIGNMENT_SCORE] + ,[SDG_17_NET_ALIGNMENT_SCORE] + ,[PERC_INVESTIMENTO_TAXONOMY] + ,[PERC_INVESTIMENTO_SFDR] + ,[PERC_INVEST_OTHER_E_NO_TAX] + ,[PERC_INVEST_SFDR_MIN_SUST_E] + ,[PERC_INVEST_SFDR_MIN_SUST_S] + ,[PAI_LAB_A_Emissioni_Gas_Serra] + ,[PAI_LAB_A_Biodiversita] + ,[PAI_LAB_A_Acqua] + ,[PAI_LAB_A_Rifiuti] + ,[PAI_LAB_A_Gov_Ambientale] + ,[PAI_LAB_A_Comb_Fossili] + ,[PAI_LAB_A_Eff_energetica] + ,[PAI_LAB_A_Settore_Immobiliare] + ,[PAI_LAB_S_Questioni_Soc_Dip] + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_anagrafica_promotori.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_anagrafica_promotori.sql new file mode 100644 index 00000000..2ab71d3e --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_anagrafica_promotori.sql @@ -0,0 +1,61 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_anagrafica_promotori + + +CREATE procedure [C6StagingPeriodico].[RP_ST_anagrafica_promotori] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_anagrafica_promotori', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_anagrafica_promotori + + insert into C6StagingPeriodico.RP_anagrafica_promotori + + --select * into C6StagingPeriodico.RP_anagrafica_promotori from [CONSEVO].ConsulenzaEvoluta.dbo.anagrafica_promotori + select * from [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.anagrafica_promotori + + -- UPDATE INSERITA IL 26/01/2016 PER RISOLVERE LA SEGNALAZIONE DI FOGA' (ID 152) + update C6StagingPeriodico.RP_anagrafica_promotori + set provincia = a.provincia, + telefono1 = a.telefono1, + indirizzo = a.indirizzo, + cap = a.cap, + prefisso = a.prefisso, + citta_nascita = a.citta_nascita, + citta = a.citta + from [CONSUNI].ConsulenzaUnica.dbo.anagrafica_promotori a + inner join C6StagingPeriodico.RP_anagrafica_promotori b + on a.rete = b.rete and a.codage=b.codage + where a.stato = b.stato + ----------------------------------------------------------------------------------------------------------------- + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_anagrafica_promotori' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_anagrafica_promotori' + ) + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_anagrafica_promotori_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_anagrafica_promotori_pre_selective.sql new file mode 100644 index 00000000..556c7fbb --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_anagrafica_promotori_pre_selective.sql @@ -0,0 +1,59 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_anagrafica_promotori_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_ST_anagrafica_promotori_pre_selective] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_anagrafica_promotori_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table C6StagingPeriodico.RP_anagrafica_promotori + + insert into C6StagingPeriodico.RP_anagrafica_promotori + + --select * into C6StagingPeriodico.RP_anagrafica_promotori from [CONSEVO].ConsulenzaEvoluta.dbo.anagrafica_promotori + select * from [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.anagrafica_promotori + + -- UPDATE INSERITA IL 26/01/2016 PER RISOLVERE LA SEGNALAZIONE DI FOGA' (ID 152) + update C6StagingPeriodico.RP_anagrafica_promotori + set provincia = a.provincia, + telefono1 = a.telefono1, + indirizzo = a.indirizzo, + cap = a.cap, + prefisso = a.prefisso, + citta_nascita = a.citta_nascita, + citta = a.citta + from [CONSUNI].ConsulenzaUnica.dbo.anagrafica_promotori a + inner join C6StagingPeriodico.RP_anagrafica_promotori b + on a.rete = b.rete and a.codage=b.codage + where a.stato = b.stato + ----------------------------------------------------------------------------------------------------------------- + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_anagrafica_promotori_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_anagrafica_promotori_pre_selective' + ) + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_ST_vNewPositionProposta.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_vNewPositionProposta.sql new file mode 100644 index 00000000..20d68128 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_ST_vNewPositionProposta.sql @@ -0,0 +1,38 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_ST_vNewPositionProposta + +CREATE procedure [C6StagingPeriodico].[RP_ST_vNewPositionProposta] +as +begin + +truncate table [C6StagingPeriodico].[RP_vNewPositionProposta] + +insert into [C6StagingPeriodico].[RP_vNewPositionProposta] + +select + pro.chiaveClientePB, + ope.nomeProgettoProp, + ope.areaProp, + pospro.chiaveProgetto, + cat.codSottoprodotto, + cat.codInterno, + cat.codMaf, + cat.codIsin, + cat.tipoProdotto, + null as positionIdProposta +from + C6StagingPeriodico.RP_Proposta pro, + C6StagingPeriodico.RP_DettaglioOperazione ope, + C6StagingPeriodico.RP_PosizioniProposta pospro, + C6StagingPeriodico.RP_catalogoprodotti cat +where + pro.chiaveproposta=ope.chiaveproposta + and ope.chiaveposizionepro=pospro.chiaveposizionepro + and pospro.chiaveprodotto=cat.chiaveprodotto + and ope.chiaveposizioneptf=0--ISANEWPOSITION = 1 + and ope.posriallocata=0--RICONCILIATA = 0 + and pro.status in ('PE','ES')--STATO_PROPOSTA in ('InEsecuzione', 'ParzialmenteEseguita') + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_APPO_CONTRATTI.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_APPO_CONTRATTI.sql new file mode 100644 index 00000000..67998f23 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_APPO_CONTRATTI.sql @@ -0,0 +1,146 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_UPDATE_APPO_CONTRATTI + + +CREATE procedure [C6StagingPeriodico].[RP_UPDATE_APPO_CONTRATTI] +AS + +begin + + + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_APPO_CONTRATTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + +TRUNCATE TABLE C6StagingPERIODICO.APPO_CONTRATTI_BACKUP +INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI_BACKUP +SELECT * FROM C6StagingPERIODICO.APPO_CONTRATTI +----TRUNCATE TABLE C6StagingPERIODICO.APPO_CONTRATTI +--UPDATE C6StagingPERIODICO.APPO_CONTRATTI +--SET codiceContratto = v.codiceContratto, +--TIP_CONTRATTO = 2 +--FROM +-- C6StagingPERIODICO.APPO_CONTRATTI c +-- INNER JOIN +-- [C6Mart].[vContratti] v +---- dbo.vcontrattiCong011013 v +-- ON c.chiaveclientepb = v.chiaveclientepb +--WHERE +-- c.codiceContratto <> v.codiceContratto +--AND c.TIP_CONTRATTO <> v.TIP_CONTRATTO +--AND v.TIP_CONTRATTO = 2 + +declare @firstDayMonthPreTrimestrale datetime +declare @lastDayMonthPreTrimestralePiuUno datetime + +set @firstDayMonthPreTrimestrale = c6martperiodico.getTrimestre(getDate(), 1) +set @lastDayMonthPreTrimestralePiuUno = dateadd(day,1,c6martperiodico.getTrimestre(getDate(), 0)) + +--set @firstDayMonthPreTrimestrale = '20131201' +--set @lastDayMonthPreTrimestralePiuUno = '20140101' + +UPDATE C6StagingPERIODICO.APPO_CONTRATTI +SET codiceContratto = CNTPRI.C, + TIP_CONTRATTO = 2 + ,freq_diagnosi = null + ,data_iniziobase = CNTPRI.data_iniziobase + ,data_finebase = CNTPRI.data_finebase + ,data_perf = CNTPRI.data_perf + ,data_perf_base = CNTPRI.data_perf_base + ,DATA_INZIOAVANZATO = CNTPRI.DATA_INZIOAVANZATO + ,data_fineavanzato = CNTPRI.data_fineavanzato +FROM + (SELECT TT.CF,TT.R,TT.C, VC.TIP_CONTRATTO + ,vc.data_iniziobase + ,vc.data_finebase + ,vc.data_perf + ,vc.data_perf_base + ,VC.DATA_INZIOAVANZATO + ,vc.data_fineavanzato + FROM C6MART.VCONTRATTI VC INNER JOIN + (SELECT + PDF1.CODICEFISCALE AS CF, + PDF1.RETE AS R, + SUBSTRING(PDF1.NOMEFILE,0,12) AS C, + PDF1.DATAGENERAZIONE AS D + FROM c6mart.gestione_PDF_ftp PDF1 INNER JOIN + (SELECT + CODICEFISCALE, + RETE, + MAX(DATAGENERAZIONE) AS DATAGENERAZIONE + FROM c6mart.gestione_PDF_ftp + WHERE 1=1 AND DATAGENERAZIONE >= @firstDayMonthPreTrimestrale and DATAGENERAZIONE < @lastDayMonthPreTrimestralePiuUno + GROUP BY CODICEFISCALE,RETE) PDF2 + ON PDF1.CODICEFISCALE=PDF2.CODICEFISCALE + AND PDF1.RETE=PDF2.RETE + AND PDF1.DATAGENERAZIONE=PDF2.DATAGENERAZIONE + WHERE 1=1 + ) TT + ON TT.CF = VC.COD_FISCALE AND TT.R = VC.RETE + WHERE TIP_CONTRATTO = 2 + ) CNTPRI + inner join C6StagingPERIODICO.APPO_CONTRATTI t + on t.cod_fiscale = CNTPRI.CF AND t.Rete = CNTPRI.R + where t.tip_contratto <> CNTPRI.tip_contratto and CNTPRI.tip_contratto = 2 + + + +UPDATE C6StagingPERIODICO.APPO_CONTRATTI +set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,provincia = a.Provincia + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITORAGGIO = a.FREQ_MONITORAGGIO + ,data_fineavanzato = a.data_fineavanzato +from c6mart.vcontratti a +inner join C6StagingPERIODICO.APPO_CONTRATTI b +on a.codicecontratto = b.codicecontratto + +--aggiornamento 28/11/2022 + +update C6StagingPeriodico.APPO_CONTRATTI +set COD_MANDATO='' +where COD_MANDATO is null + + +update C6StagingPeriodico.APPO_CONTRATTI +set PIVA_FIDUCIARIA='' +where PIVA_FIDUCIARIA is null + +--fine aggiornamento 28/11/2022 + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' + ) + + + +end + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_COMPLESSITA.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_COMPLESSITA.sql new file mode 100644 index 00000000..a22366ef --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_COMPLESSITA.sql @@ -0,0 +1,216 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_UPDATE_COMPLESSITA + + + + + +CREATE procedure [C6StagingPeriodico].[RP_UPDATE_COMPLESSITA] + +as +begin +/********************FOGLIO 1 UNIT LINKED************************************************************/ +--begin transaction + +UPDATE C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +SET COMPLESSITA=1 +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX = 1 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'18', +'19', +'29', +'35', +'37', +'38', +'48', +'49', +'60', +'BT', +'ES', +'FR', +'FS', +'FT', +'FU', +--'GP', +'KP', +'OA', +'PO', +'PY', +'SB', +--'PR', +--'PX', +'SE', +'SF', +--'SI', +'ST', +'SU', +'K1', +'K2', +'K3', +'K4', +'K5', +'K6', +'K7') + + +/**************************FOGLIO 1 UNIT LINKED*******************INSERITA LA CONDIZIONE PER I SOTTOPRODOTTI DA ESCLUDERE ********************************/ +SELECT * FROM C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +UPDATE C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +SET COMPLESSITA=2 +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=2 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'S1', +'S2', +'S3', +'S4', +'S5', +'S6', +'S7', +'S8' +) +and +--cod_sottoprodotto not in +CodSottoprodotto not in +('20001','20002','20005','20008') + + + +update C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +set complessita = 1 +--UPDATE c6martperiodico.patrimonio_bf +--set complex = 1 +where +--cod_interno in +CodInterno in +('S1','S2','S4','S5','S8') +--and cod_sottoprodotto in +and CodSottoprodotto in +('20001','20002','20005','20008') + + +/******************************FOGLIO 1 UNIT LINKED**********************************************************/ +UPDATE C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'A7', +'A8') + +/**************************************FOGLIO 2 FONDI*************************************************/ + +UPDATE C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +CodSottoprodotto IN +( + '7149S' +,'7145S' +,'9968S' +) + + +/************************************FOGLIO 2 FONDI****************************************************/ + + +UPDATE C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_SOTTOPRODOTTO = '7146S' +CodSottoprodotto = '7146S' + + +/***********************************FOGLIO 3 CERTIFICATES************GIOVANNI HA DETTO CHE VANNO UPDATATI A 1 *****************************************/ + +UPDATE C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_ISIN IN +CodIsin IN +( + 'DE000A0LJ552' +,'DE000A0MG8R0' +,'IT0004189368' +,'GB00B1WVWP64' +,'GB00B1Y3ZZ16' +,'XS0354254111' +,'GB00B2QM7Y61' +,'XS0235278982' +,'XS0179585186' +) +AND +CodInterno IN +( + '00101740' +,'09139480' +,'09161420' +,'00830060' +,'09205930' +,'00168130' +,'08525040' +,'08556110' +,'09201230' +) + + + + + + +--update c6martperiodico.patrimonio_bf +--set complex = 1 +-- +--where cod_prodotto in( +-- +-- +-- +--select cod_prodotto +--from +--c6martperiodico.anag_prodotti b +--where cod_isin in ( +-- 'DE000A0LJ552' +--,'DE000A0MG8R0' +--,'IT0004189368' +--,'GB00B1WVWP64' +--,'GB00B1Y3ZZ16' +--,'XS0354254111' +--,'GB00B2QM7Y61' +--,'XS0235278982' +--,'XS0179585186' +--) +--AND +--COD_INTERNO IN +--( +-- '00101740' +--,'09139480' +--,'09161420' +--,'00830060' +--,'09205930' +--,'00168130' +--,'08525040' +--,'08556110' +--,'09201230' +--)) +-- +--commit +end + + +--exec c6mar diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_20161213.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_20161213.sql new file mode 100644 index 00000000..a455195a --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_20161213.sql @@ -0,0 +1,219 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_UPDATE_COMPLESSITA_20161213 + + + + + + +CREATE procedure [C6StagingPeriodico].[RP_UPDATE_COMPLESSITA_20161213] + +as +begin +/********************FOGLIO 1 UNIT LINKED************************************************************/ +--begin transaction + +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +SET COMPLESSITA=1 +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX = 1 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'18', +'19', +'29', +'35', +'37', +'38', +'48', +'49', +'60', +'BT', +'ES', +'FR', +'FS', +'FT', +'FU', +--'GP', +'KP', +'OA', +'PO', +'PY', +'SB', +--'PR', +--'PX', +'SE', +'SF', +--'SI', +'ST', +'SU', +'K1', +'K2', +'K3', +'K4', +'K5', +'K6', +'K7') + + +/**************************FOGLIO 1 UNIT LINKED*******************INSERITA LA CONDIZIONE PER I SOTTOPRODOTTI DA ESCLUDERE ********************************/ +SELECT * FROM [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +SET COMPLESSITA=2 +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=2 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'S1', +'S2', +'S3', +'S4', +'S5', +'S6', +'S7', +'S8' +) +and +--cod_sottoprodotto not in +CodSottoprodotto not in +('20001','20002','20005','20008') + + + +update C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +set complessita = 1 +--UPDATE c6martperiodico.patrimonio_bf +--set complex = 1 +where +--cod_interno in +CodInterno in +('S1','S2','S4','S5','S8') +--and cod_sottoprodotto in +and CodSottoprodotto in +('20001','20002','20005','20008') + + +/******************************FOGLIO 1 UNIT LINKED**********************************************************/ +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'A7', +'A8') + +/**************************************FOGLIO 2 FONDI*************************************************/ + +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +CodSottoprodotto IN +( + '7149S' +,'7145S' +,'9968S' +) + + +/************************************FOGLIO 2 FONDI****************************************************/ + + +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_SOTTOPRODOTTO = '7146S' +CodSottoprodotto = '7146S' + + +/***********************************FOGLIO 3 CERTIFICATES************GIOVANNI HA DETTO CHE VANNO UPDATATI A 1 *****************************************/ + +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_ISIN IN +CodIsin IN +( + 'DE000A0LJ552' +,'DE000A0MG8R0' +,'IT0004189368' +,'GB00B1WVWP64' +,'GB00B1Y3ZZ16' +,'XS0354254111' +,'GB00B2QM7Y61' +,'XS0235278982' +,'XS0179585186' +) +AND +CodInterno IN +( + '00101740' +,'09139480' +,'09161420' +,'00830060' +,'09205930' +,'00168130' +,'08525040' +,'08556110' +,'09201230' +) + + + + + + +--update c6martperiodico.patrimonio_bf +--set complex = 1 +-- +--where cod_prodotto in( +-- +-- +-- +--select cod_prodotto +--from +--c6martperiodico.anag_prodotti b +--where cod_isin in ( +-- 'DE000A0LJ552' +--,'DE000A0MG8R0' +--,'IT0004189368' +--,'GB00B1WVWP64' +--,'GB00B1Y3ZZ16' +--,'XS0354254111' +--,'GB00B2QM7Y61' +--,'XS0235278982' +--,'XS0179585186' +--) +--AND +--COD_INTERNO IN +--( +-- '00101740' +--,'09139480' +--,'09161420' +--,'00830060' +--,'09205930' +--,'00168130' +--,'08525040' +--,'08556110' +--,'09201230' +--)) +-- +--commit +end + + +--exec c6martperiodico.dm_complessita + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_pre_selective.sql new file mode 100644 index 00000000..064016d3 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_pre_selective.sql @@ -0,0 +1,217 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_UPDATE_COMPLESSITA_pre_selective + + + + + +CREATE procedure [C6StagingPeriodico].[RP_UPDATE_COMPLESSITA_pre_selective] + +as +begin +/********************FOGLIO 1 UNIT LINKED************************************************************/ +--begin transaction + +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +SET COMPLESSITA=1 +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX = 1 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'18', +'19', +'29', +'35', +'37', +'38', +'48', +'49', +'60', +'BT', +'ES', +'FR', +'FS', +'FT', +'FU', +--'GP', +'KP', +'OA', +'PO', +'PY', +'SB', +--'PR', +--'PX', +'SE', +'SF', +--'SI', +'ST', +'SU', +'K1', +'K2', +'K3', +'K4', +'K5', +'K6', +'K7') + + +/**************************FOGLIO 1 UNIT LINKED*******************INSERITA LA CONDIZIONE PER I SOTTOPRODOTTI DA ESCLUDERE ********************************/ +SELECT * FROM [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +SET COMPLESSITA=2 +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=2 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'S1', +'S2', +'S3', +'S4', +'S5', +'S6', +'S7', +'S8' +) +and +--cod_sottoprodotto not in +CodSottoprodotto not in +('20001','20002','20005','20008') + + + +update C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +set complessita = 1 +--UPDATE c6martperiodico.patrimonio_bf +--set complex = 1 +where +--cod_interno in +CodInterno in +('S1','S2','S4','S5','S8') +--and cod_sottoprodotto in +and CodSottoprodotto in +('20001','20002','20005','20008') + + +/******************************FOGLIO 1 UNIT LINKED**********************************************************/ +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'A7', +'A8') + +/**************************************FOGLIO 2 FONDI*************************************************/ + +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +CodSottoprodotto IN +( + '7149S' +,'7145S' +,'9968S' +) + + +/************************************FOGLIO 2 FONDI****************************************************/ + + +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_SOTTOPRODOTTO = '7146S' +CodSottoprodotto = '7146S' + + +/***********************************FOGLIO 3 CERTIFICATES************GIOVANNI HA DETTO CHE VANNO UPDATATI A 1 *****************************************/ + +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_ISIN IN +CodIsin IN +( + 'DE000A0LJ552' +,'DE000A0MG8R0' +,'IT0004189368' +,'GB00B1WVWP64' +,'GB00B1Y3ZZ16' +,'XS0354254111' +,'GB00B2QM7Y61' +,'XS0235278982' +,'XS0179585186' +) +AND +CodInterno IN +( + '00101740' +,'09139480' +,'09161420' +,'00830060' +,'09205930' +,'00168130' +,'08525040' +,'08556110' +,'09201230' +) + + + + + + +--update c6martperiodico.patrimonio_bf +--set complex = 1 +-- +--where cod_prodotto in( +-- +-- +-- +--select cod_prodotto +--from +--c6martperiodico.anag_prodotti b +--where cod_isin in ( +-- 'DE000A0LJ552' +--,'DE000A0MG8R0' +--,'IT0004189368' +--,'GB00B1WVWP64' +--,'GB00B1Y3ZZ16' +--,'XS0354254111' +--,'GB00B2QM7Y61' +--,'XS0235278982' +--,'XS0179585186' +--) +--AND +--COD_INTERNO IN +--( +-- '00101740' +--,'09139480' +--,'09161420' +--,'00830060' +--,'09205930' +--,'00168130' +--,'08525040' +--,'08556110' +--,'09201230' +--)) +-- +--commit +end + + +--exec c6martperiodico.dm_complessita + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI.sql new file mode 100644 index 00000000..de2f971b --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI.sql @@ -0,0 +1,25 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_UPDATE_RP_CATALOGOPRODOTTI + +CREATE procedure [C6StagingPeriodico].[RP_UPDATE_RP_CATALOGOPRODOTTI] as +begin + + + + update c6stagingperiodico.RP_CATALOGOPRODOTTI + set + tip_Emittente = B.tipoemittente, + tip_Tasso = B.tipoTasso + from + c6stagingperiodico.RP_CATALOGOPRODOTTI A + join + c6stagingperiodico.decodEmittente B + ON + A.CODISIN = B.ISIN + +END + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI_pre_selective.sql new file mode 100644 index 00000000..497b8f9c --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI_pre_selective.sql @@ -0,0 +1,25 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_UPDATE_RP_CATALOGOPRODOTTI_pre_selective + +CREATE procedure [C6StagingPeriodico].[RP_UPDATE_RP_CATALOGOPRODOTTI_pre_selective] as +begin + + + + update c6stagingperiodico.RP_CATALOGOPRODOTTI + set + tip_Emittente = B.tipoemittente, + tip_Tasso = B.tipoTasso + from + c6stagingperiodico.RP_CATALOGOPRODOTTI A + join + c6stagingperiodico.decodEmittente B + ON + A.CODISIN = B.ISIN + +END + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_W6LogBatch.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_W6LogBatch.sql new file mode 100644 index 00000000..215afafb --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_W6LogBatch.sql @@ -0,0 +1,45 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_W6LogBatch + +CREATE PROCEDURE C6StagingPeriodico.RP_W6LogBatch + @BatchName NVARCHAR(100) +AS +BEGIN + DECLARE @BatchID INT; + + -- Trova l'ultimo batch in esecuzione con lo stesso nome + SELECT TOP 1 @BatchID = BatchID + FROM C6StagingPeriodico.W6LogBatch + WHERE BatchName = @BatchName AND EndDate IS NULL + ORDER BY BatchID DESC; + + IF @BatchID IS NOT NULL + BEGIN + -- la fine del batch + -- Aggiorna la data di fine, lo status e calcola il delta in minuti + UPDATE C6StagingPeriodico.W6LogBatch + SET EndDate = GETDATE(), + Status = 'OK', + DeltaMinutes = DATEDIFF(MINUTE, StartDate, GETDATE()) + WHERE BatchID = @BatchID; + + -- Output o messaggio di conferma per la fine del batch + SELECT 'Log entry updated for BatchID ' + CAST(@BatchID AS NVARCHAR(20)) + '.' + + ' Batch "' + @BatchName + '" ended.'; + END + ELSE + BEGIN + -- l'inizio del batch + -- Inserisci i dati relativi al log nella tabella C6StagingPeriodico.W6LogBatch + INSERT INTO C6StagingPeriodico.W6LogBatch (BatchName, Status, StartDate) + VALUES (@BatchName, 'In esecuzione', GETDATE()); + + -- Ottieni l'ID del batch appena inserito + SET @BatchID = SCOPE_IDENTITY(); + + -- Output o messaggio di conferma per l'inizio del batch + SELECT 'Log entry added for BatchID ' + CAST(@BatchID AS NVARCHAR(20)) + '.' + + ' Batch "' + @BatchName + '" started.'; + END +END; + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_clientiConMigrazione.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_clientiConMigrazione.sql new file mode 100644 index 00000000..ecd555d7 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_clientiConMigrazione.sql @@ -0,0 +1,33 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_clientiConMigrazione + + +CREATE procedure [C6StagingPeriodico].[RP_clientiConMigrazione] +as +begin +truncate table [C6StagingPeriodico].[RP_V_clienti_contrsei_con_migraz] + +INSERT INTO [C6StagingPeriodico].[RP_V_clienti_contrsei_con_migraz] + ([chiaveClientePb] + ,[rete] + ,[cod_fiscale] + ,[dtprimaMigrazione]) + +select + a.chiaveClientePb, + b.rete, + b.cod_fiscale, + a.dtprimaMigrazione + +from + +C6StagingPeriodico.RP_MIGRAZ_PIANIFICAZIONE a +join +C6MartPeriodico.RP_vContrattiPerGenerazioneReport b +on a.chiaveClientePb = b.chiaveClientePb + + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_RP_clientiConMigrazione_20170413_RM_nomeDB.sql b/sql/storedCollaudo/C6StagingPeriodico_RP_clientiConMigrazione_20170413_RM_nomeDB.sql new file mode 100644 index 00000000..3698a5c7 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_RP_clientiConMigrazione_20170413_RM_nomeDB.sql @@ -0,0 +1,33 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: RP_clientiConMigrazione_20170413_RM_nomeDB + + +CREATE procedure [C6StagingPeriodico].[RP_clientiConMigrazione_20170413_RM_nomeDB] +as +begin +truncate table [C6StagingPeriodico].[RP_V_clienti_contrsei_con_migraz] + +INSERT INTO [C6StampeCentralizzate].[C6StagingPeriodico].[RP_V_clienti_contrsei_con_migraz] + ([chiaveClientePb] + ,[rete] + ,[cod_fiscale] + ,[dtprimaMigrazione]) + +select + a.chiaveClientePb, + b.rete, + b.cod_fiscale, + a.dtprimaMigrazione + +from + +C6StagingPeriodico.RP_MIGRAZ_PIANIFICAZIONE a +join +C6MartPeriodico.RP_vContrattiPerGenerazioneReport b +on a.chiaveClientePb = b.chiaveClientePb + + +end + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_Recupero_Trimestrale_Scarti.sql b/sql/storedCollaudo/C6StagingPeriodico_Recupero_Trimestrale_Scarti.sql new file mode 100644 index 00000000..ef865c53 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_Recupero_Trimestrale_Scarti.sql @@ -0,0 +1,55 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: Recupero_Trimestrale_Scarti + + + + + + + + + + +CREATE procedure [C6StagingPeriodico].[Recupero_Trimestrale_Scarti] +as + + drop table if exists c6stagingperiodico.BRS_AGGR_OUT_ALADDIN_appoggio + + --select * + --into c6stagingperiodico.BRS_AGGR_OUT_ALADDIN_appoggio + --from c6stagingperiodico.BRS_AGGR_OUT_ALADDIN + + exec [dbo].[CreaTabellaBackUp] 'W6CLIREP','C6MartPeriodico' + exec [dbo].[CreaTabellaBackUp] 'trimestrale_scarti','c6stagingperiodico' + exec [dbo].[CreaTabellaBackUp] 'BRS_AGGR_OUT_ALADDIN','C6stagingPeriodico' + exec [dbo].[CreaTabellaBackUp] 'ESG_Metriche_Cliente_IL','c6stagingperiodico' + + drop table if exists #temp + drop table if exists c6stagingperiodico.BRS_AGGR_OUT_ALADDIN_appoggio + + --preleva tutti i cf e piva che NON hanno avuto problemi e li mette in BRS_AGGR_OUT_ALADDIN_appoggio + select distinct * +into c6stagingperiodico.BRS_AGGR_OUT_ALADDIN_appoggio + from c6stagingperiodico.BRS_AGGR_OUT_ALADDIN + where Rete+CodiceFiscale+PIva+codman not in (select +Rete+codfis+PIva+codman from c6stagingperiodico.trimestrale_scarti) + --preleva tutti i cf e piva che hanno avuto problemi e li mette in una tabella temporanea per poi metterli nella w6clirep + select * + into #temp + from C6MartPeriodico.W6CLIREP where rete+codfis+piva+codman in (select +Rete+codfis+piva+codman from c6stagingperiodico.trimestrale_scarti) +truncate table C6MartPeriodico.W6CLIREP + +insert into C6MartPeriodico.W6CLIREP +select * from #temp + + +Truncate table c6stagingperiodico.trimestrale_scarti + +--update C6MartPeriodico.tab_semaforo +--set inizio_milestone=inizio_lotto +--where id_milestone=5 + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_SRV_CREA_QUERY_STORICO.sql b/sql/storedCollaudo/C6StagingPeriodico_SRV_CREA_QUERY_STORICO.sql new file mode 100644 index 00000000..60b27e22 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_SRV_CREA_QUERY_STORICO.sql @@ -0,0 +1,75 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: SRV_CREA_QUERY_STORICO + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 marzo 2009 +-- Description: SP FAKE per popolare le tabelle host del SIMPB in modo da avere qualche dato in pi +-- quando si eseguono le SP del Presentation Layer +-- ============================================= +CREATE procedure [C6StagingPeriodico].[SRV_CREA_QUERY_STORICO] +AS +BEGIN + + DECLARE @SCHEMA AS VARCHAR(50) + DECLARE @SCHEMASTORICO AS VARCHAR(50) + DECLARE @TABLE AS VARCHAR(50) + DECLARE @CAMPI VARCHAR(MAX) + DECLARE @CONDITION AS VARCHAR(50) + + SET @SCHEMA = 'C6StagingPeriodico' + SET @SCHEMASTORICO = 'C6StoricoPeriodico' + + DECLARE tabelle CURSOR FOR + + SELECT UPPER(TABLE_NAME) + FROM INFORMATION_SCHEMA.TABLES + WHERE TABLE_TYPE = 'BASE TABLE' + AND TABLE_SCHEMA = @SCHEMA + ORDER BY TABLE_SCHEMA, TABLE_NAME + + OPEN tabelle + + FETCH NEXT FROM tabelle + INTO @TABLE + + WHILE @@FETCH_STATUS = 0 + BEGIN + + SET @CAMPI = '' + SELECT @CAMPI = @CAMPI + ', ' + COLUMN_NAME + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_NAME = @TABLE + AND TABLE_SCHEMA = @SCHEMA + + SET @CAMPI = RIGHT(@CAMPI, LEN(@CAMPI) -2 ) + SET @CONDITION = ' WHERE ID_ELAB = @ID_ELAB' + + IF CHARINDEX('ID_ELAB', @CAMPI) = 0 -- CAMPO ID_ELAB NON PRESENTE + BEGIN + SET @CAMPI = @CAMPI + ', @ID_ELAB' + SET @CONDITION = '' + END + + PRINT ' --XXXXXXXXXXXXXXXXXXXXXXXX ' + @TABLE + ' XXXXXXXXXXXXXXXXXXXXXXXX--' + PRINT ' IF(@NomeTabella IS NULL OR @NomeTabella = ''' + @TABLE + ''')' + PRINT ' BEGIN' + PRINT ' DELETE FROM ' + @SCHEMASTORICO + '.ST_' + @TABLE + ' WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB' + PRINT ' INSERT INTO ' + @SCHEMASTORICO + '.ST_' + @TABLE + PRINT ' (' + REPLACE(@CAMPI,'@','') + ')' + PRINT ' SELECT ' + PRINT ' ' + @CAMPI + PRINT ' FROM ' + @SCHEMA + '.' + @TABLE + @CONDITION + PRINT ' END' + PRINT '' + + FETCH NEXT FROM tabelle + INTO @TABLE + + END + + CLOSE tabelle + DEALLOCATE tabelle + +END + diff --git a/sql/storedCollaudo/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP.sql b/sql/storedCollaudo/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP.sql new file mode 100644 index 00000000..5124ca83 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP.sql @@ -0,0 +1,139 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: SRV_PopolaTabelleSIMPB_TEMP + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 marzo 2009 +-- Description: SP FAKE per popolare le tabelle host del SIMPB in modo da avere qualche dato in pi +-- quando si eseguono le SP del Presentation Layer +-- ============================================= +CREATE procedure [C6StagingPeriodico].[SRV_PopolaTabelleSIMPB_TEMP] +AS +BEGIN + + -- [C6StagingPeriodico].[WSEIAN] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEIAN2] + INSERT INTO [C6StagingPeriodico].[WSEIAN2] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF]) + SELECT + CAST ( CONVERT( VARCHAR, GETDATE(), 112) AS DECIMAL(9,0) ) + ,CL.[CODICERETE] + ,CL.[CODICEFISCALE] + ,CL.[NOME] + ,CL.[COGNOME] + ,CAST ( CONVERT( VARCHAR, CL.[DATADINASCITA], 112) AS DECIMAL(9,0) ) AS [DATADINASCITA] + ,IND.[INDIRIZZO] + ,IND.[CAP] + ,IND.[CITTA] + ,IND.[PROVINCIA] + ,IND.[NAZIONE] + ,NULL AS [CODICEPROFILOASSEGNATO] + FROM + [C6Staging].[SPB_CLIENTI] AS CL + INNER JOIN + [C6Staging].[SPB_INDIRIZZI] AS IND + ON + CL.CODICERETE = IND.RETE + AND CL.CODICEFISCALE = IND.CODICEFISCALE + + + -- [C6StagingPeriodico].[WSEICS] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEICS] + INSERT INTO [C6StagingPeriodico].[WSEICS] + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN]) + SELECT + CAST ( CONVERT( VARCHAR, GETDATE(), 112) AS DECIMAL(9,0) ) + ,CAST ( CONVERT( VARCHAR, [DATADIRIFERIMENTO], 112) AS DECIMAL(9,0) ) AS [DATASALDO] + ,[RETE] + ,[CODICEFISCALE] + ,[CODICECONTRATTO] + ,[NUMEROPOLIZZA] + ,[CONTO] + ,[RUBRICATO] + ,[CUSTODIAGARANZIA] + ,[TIPOPRODOTTO] + ,[CODICEINTERNO] + ,NULL AS [CODICEPRODOTTO] + ,[CODICESOTTOPRODOTTO] + ,[CODICEMAF] + ,'CODABI' AS [CODABI] + ,[PCTKEY] + ,[PCTDESCRIZIONTETITOLOCOLLEGATO] + ,[CTV] + ,[PARTVIA] + ,CAST ( CONVERT( VARCHAR, [PARTVIAAL], 112) AS DECIMAL(9,0) ) AS [PARTVIAAL] + ,CAST ( CONVERT( VARCHAR, [DATAINIZIORENDIMENTO], 112) AS DECIMAL(9,0) ) AS [DATAINIZIORENDIMENTO] + ,[RENDIMENTODASOTTOSCRIZIONE] + ,[RENDIMENTODAINIZIOANNO] + ,[VALORE] + ,NULL AS [SUBSET] + ,[CVN] + FROM + [C6Staging].[SPB_CONTR_SINTESI] CS + + + -- [C6StagingPeriodico].[WSEIPV] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEIPV] + INSERT INTO [C6StagingPeriodico].[WSEIPV] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[IMPVER] + ,[DTRIFE] + ,[SUBSET]) + SELECT + CAST ( CONVERT( VARCHAR, GETDATE(), 112) AS DECIMAL(9,0) ) + ,C6.[RETE] + ,C6.[COD_FISCALE] + ,C6.[CODICECONTRATTO] + ,[IMPORTOVERSATO] + ,CAST ( CONVERT( VARCHAR, [DATAACQUISIZIONE], 112) AS DECIMAL(9,0) ) AS [DATAACQUISIZIONE] + ,LEFT([NOTA],10) + FROM + [C6Staging].[SPB_PARTITE_VIAGG] PV + INNER JOIN C6Mart.CONTRATTOSEI C6 + ON + C6.RETE = PV.RETE + AND C6.COD_FISCALE = PV.CODICEFISCALE + + -- [C6StagingPeriodico].[WSEIUL] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEIUL] + INSERT INTO [C6StagingPeriodico].[WSEIUL] + ( diff --git a/sql/storedCollaudo/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP_pre_selective.sql new file mode 100644 index 00000000..2d8c9d5d --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP_pre_selective.sql @@ -0,0 +1,152 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: SRV_PopolaTabelleSIMPB_TEMP_pre_selective + +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 marzo 2009 +-- Description: SP FAKE per popolare le tabelle host del SIMPB in modo da avere qualche dato in pi +-- quando si eseguono le SP del Presentation Layer +-- ============================================= +CREATE procedure [C6StagingPeriodico].[SRV_PopolaTabelleSIMPB_TEMP_pre_selective] +AS +BEGIN + + -- [C6StagingPeriodico].[WSEIAN] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEIAN2] + INSERT INTO [C6StagingPeriodico].[WSEIAN2] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF]) + SELECT + CAST ( CONVERT( VARCHAR, GETDATE(), 112) AS DECIMAL(9,0) ) + ,CL.[CODICERETE] + ,CL.[CODICEFISCALE] + ,CL.[NOME] + ,CL.[COGNOME] + ,CAST ( CONVERT( VARCHAR, CL.[DATADINASCITA], 112) AS DECIMAL(9,0) ) AS [DATADINASCITA] + ,IND.[INDIRIZZO] + ,IND.[CAP] + ,IND.[CITTA] + ,IND.[PROVINCIA] + ,IND.[NAZIONE] + ,NULL AS [CODICEPROFILOASSEGNATO] + FROM + [C6Staging].[SPB_CLIENTI] AS CL + INNER JOIN + [C6Staging].[SPB_INDIRIZZI] AS IND + ON + CL.CODICERETE = IND.RETE + AND CL.CODICEFISCALE = IND.CODICEFISCALE + + + -- [C6StagingPeriodico].[WSEICS] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEICS] + INSERT INTO [C6StagingPeriodico].[WSEICS] + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN]) + SELECT + CAST ( CONVERT( VARCHAR, GETDATE(), 112) AS DECIMAL(9,0) ) + ,CAST ( CONVERT( VARCHAR, [DATADIRIFERIMENTO], 112) AS DECIMAL(9,0) ) AS [DATASALDO] + ,[RETE] + ,[CODICEFISCALE] + ,[CODICECONTRATTO] + ,[NUMEROPOLIZZA] + ,[CONTO] + ,[RUBRICATO] + ,[CUSTODIAGARANZIA] + ,[TIPOPRODOTTO] + ,[CODICEINTERNO] + ,NULL AS [CODICEPRODOTTO] + ,[CODICESOTTOPRODOTTO] + ,[CODICEMAF] + ,'CODABI' AS [CODABI] + ,[PCTKEY] + ,[PCTDESCRIZIONTETITOLOCOLLEGATO] + ,[CTV] + ,[PARTVIA] + ,CAST ( CONVERT( VARCHAR, [PARTVIAAL], 112) AS DECIMAL(9,0) ) AS [PARTVIAAL] + ,CAST ( CONVERT( VARCHAR, [DATAINIZIORENDIMENTO], 112) AS DECIMAL(9,0) ) AS [DATAINIZIORENDIMENTO] + ,[RENDIMENTODASOTTOSCRIZIONE] + ,[RENDIMENTODAINIZIOANNO] + ,[VALORE] + ,NULL AS [SUBSET] + ,[CVN] + FROM + [C6Staging].[SPB_CONTR_SINTESI] CS + + + -- [C6StagingPeriodico].[WSEIPV] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEIPV] + INSERT INTO [C6StagingPeriodico].[WSEIPV] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[IMPVER] + ,[DTRIFE] + ,[SUBSET]) + SELECT + CAST ( CONVERT( VARCHAR, GETDATE(), 112) AS DECIMAL(9,0) ) + ,C6.[RETE] + ,C6.[COD_FISCALE] + ,C6.[CODICECONTRATTO] + ,[IMPORTOVERSATO] + ,CAST ( CONVERT( VARCHAR, [DATAACQUISIZIONE], 112) AS DECIMAL(9,0) ) AS [DATAACQUISIZIONE] + ,LEFT([NOTA],10) + FROM + [C6Staging].[SPB_PARTITE_VIAGG] PV + INNER JOIN C6Mart.CONTRATTOSEI C6 + ON + C6.RETE = PV.RETE + AND C6.COD_FISCALE = PV.CODICEFISCALE + + -- [C6StagingPeriodico].[WSEIUL] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEIUL] + INSERT INTO [C6StagingPeriodico].[WSEIUL] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[CODINT] + ,[SUBPROD] + ,[CTV] + ,[DTRIFE] + ,[ISINFIT] + ,[ISIN] + ,[MAF] + ,[SUBSET]) + SELECT + diff --git a/sql/storedCollaudo/C6StagingPeriodico_SRV_STORICIZZAZIONE.sql b/sql/storedCollaudo/C6StagingPeriodico_SRV_STORICIZZAZIONE.sql new file mode 100644 index 00000000..067c63ab --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_SRV_STORICIZZAZIONE.sql @@ -0,0 +1,68 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: SRV_STORICIZZAZIONE + + +-- ============================================= +-- Author: paolo giovanetti +-- Create date: 6 marzo 2009 +-- Description: storicizzazione STAGING +-- ============================================= +CREATE procedure [C6StagingPeriodico].[SRV_STORICIZZAZIONE] + @NomeTabella VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico espresso in giorni + + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MartPeriodico.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENOTH XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENOTH') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ACBDENOTH WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ACBDENOTH + (OID$, VERSION$, BDPERCENTAGE, BDBETA, F_OID$_PASSE_CDF1A, F_PFINANCIAL_815C0, ID_ELAB) + SELECT + ACBDENOTH.OID$, ACBDENOTH.VERSION$, ACBDENOTH.BDPERCENTAGE, ACBDENOTH.BDBETA, ACBDENOTH.F_OID$_PASSE_CDF1A, ACBDENOTH.F_PFINANCIAL_815C0, @ID_ELAB + FROM C6StagingPeriodico.ACBDENOTH + LEFT OUTER JOIN C6StoricoPeriodico.ST_ACBDENOTH + ON ACBDENOTH.OID$ = ST_ACBDENOTH.OID$ + WHERE ST_ACBDENOTH.OID$ IS NULL + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENTRY XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENTRY') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ACBDENTRY WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ACBDENTRY + (OID$, VERSION$, F_PINDEXBREA_08079, F_PINSTRUMEN_FBCDE, BDPERCENTAGE, BDBETA, F_OID$_PASSE_B8A1E, F_PFINANCIAL_65EBB, F_PFINANCIAL_C2FD3, ID_ELAB) + SELECT + ACBDENTRY.OID$, ACBDENTRY.VERSION$, ACBDENTRY.F_PINDEXBREA_08079, ACBDENTRY.F_PINSTRUMEN_FBCDE, ACBDENTRY.BDPERCENTAGE, ACBDENTRY.BDBETA, ACBDENTRY.F_OID$_PASSE_B8A1E, ACBDENTRY.F_PFINANCIAL_65EBB, ACBDENTRY.F_PFINANCIAL_C2FD3, @ID_ELAB + FROM C6StagingPeriodico.ACBDENTRY + LEFT OUTER JOIN C6StoricoPeriodico.ST_ACBDENTRY + ON ACBDENTRY.OID$ = ST_ACBDENTRY.OID$ + WHERE ST_ACBDENTRY.OID$ IS NULL + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ADBKBASE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ADBKBASE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ADBKBASE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ADBKBASE + (OID$, VERSION$, ADBKID, INSTID, C_ADBKBASE_L_69013, TYPE$_ADBKST_AC419, C_CLIENTNAME_1A67C, C_CLIENTNAME_1E844, F_OID$_PERSO_06FCB, C_CLIENTNAME_8B1DB, C_CLIENTNAME_B4F69, C_CLIENTNAME_EA63A, C_ADBKBASE_D_C669E, C_ADBKBASE_L_1DD83, C_ADBKBASE_L_F8E21, C_ADBKBASE_L_2805C, C_ADBKBASE_T_C94F1, F_OID$_PROFI_98D05, F_OID$_TAXRE_4AC4C, C_CURRENCYSY_36ED7, F_OID$_REFER_66AC8, C_ADBKBASE_M_AE5A8, C_ADBKBASE_A_36B89, C_CURRENCYSY_0483B, C_VALUE_506AF, F_OID$_SOURC_E66C5, F_OID$_QUALI_027C5, F_OID$_BLOCK_A4386, F_OID$_SOURC_3AA10, TYPE$_ADBKTY_20093, F_PCUSTOMGRO_9BC08, F_PENTITY_AD_29FE1, ID_ELAB) + SELECT + ADBKBASE.OID$, ADBKBASE.VERSION$, ADBKBASE.ADBKID, ADBKBASE.INSTID, ADBKBASE.C_ADBKBASE_L_69013, ADBKBASE.TYPE$_ADBKST_AC419, ADBKBASE.C_CLIENTNAME_1A67C, ADBKBASE.C_CLIENTNAME_1E844, ADBKBASE.F_OID$_PERSO_06FCB, ADBKBASE.C_CLIENTNAME_8B1DB, ADBKBASE.C_CLIENTNAME_B4F69, ADBKBASE.C_CLIENTNAME_EA63A, ADBKBASE.C_ADBKBASE_D_C669E, ADBKBASE.C_ADBKBASE_L_1DD83, ADBKBASE.C_ADBKBASE_L_F8E21, ADBKBASE.C_ADBKBASE_L_2805C, ADBKBASE.C_ADBKBASE_T_C94F1, ADBKBASE.F_OID$_PROFI_98D05, diff --git a/sql/storedCollaudo/C6StagingPeriodico_SRV_STORICIZZAZIONE_OLD.sql b/sql/storedCollaudo/C6StagingPeriodico_SRV_STORICIZZAZIONE_OLD.sql new file mode 100644 index 00000000..f70db10e --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_SRV_STORICIZZAZIONE_OLD.sql @@ -0,0 +1,68 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: SRV_STORICIZZAZIONE_OLD + +-- ============================================= +-- Author: paolo giovanetti +-- Create date: 6 marzo 2009 +-- Description: storicizzazione STAGING +-- ============================================= +CREATE PROCEDURE [C6StagingPeriodico].[SRV_STORICIZZAZIONE_OLD] + @NomeTabella VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico espresso in giorni + + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MartPeriodico.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENOTH XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENOTH') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ACBDENOTH WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ACBDENOTH + (OID$, VERSION$, BDPERCENTAGE, BDBETA, F_OID$_PASSE_CDF1A, F_PFINANCIAL_815C0, ID_ELAB) + SELECT + OID$, VERSION$, BDPERCENTAGE, BDBETA, F_OID$_PASSE_CDF1A, F_PFINANCIAL_815C0, @ID_ELAB + FROM C6StagingPeriodico.ACBDENOTH + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENTRY XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENTRY') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ACBDENTRY WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ACBDENTRY + (OID$, VERSION$, F_PINDEXBREA_08079, F_PINSTRUMEN_FBCDE, BDPERCENTAGE, BDBETA, F_OID$_PASSE_B8A1E, F_PFINANCIAL_65EBB, F_PFINANCIAL_C2FD3, ID_ELAB) + SELECT + OID$, VERSION$, F_PINDEXBREA_08079, F_PINSTRUMEN_FBCDE, BDPERCENTAGE, BDBETA, F_OID$_PASSE_B8A1E, F_PFINANCIAL_65EBB, F_PFINANCIAL_C2FD3, @ID_ELAB + FROM C6StagingPeriodico.ACBDENTRY + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ADBKBASE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ADBKBASE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ADBKBASE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ADBKBASE + (OID$, VERSION$, ADBKID, INSTID, C_ADBKBASE_L_69013, TYPE$_ADBKST_AC419, C_CLIENTNAME_1A67C, C_CLIENTNAME_1E844, F_OID$_PERSO_06FCB, C_CLIENTNAME_8B1DB, C_CLIENTNAME_B4F69, C_CLIENTNAME_EA63A, C_ADBKBASE_D_C669E, C_ADBKBASE_L_1DD83, C_ADBKBASE_L_F8E21, C_ADBKBASE_L_2805C, C_ADBKBASE_T_C94F1, F_OID$_PROFI_98D05, F_OID$_TAXRE_4AC4C, C_CURRENCYSY_36ED7, F_OID$_REFER_66AC8, C_ADBKBASE_M_AE5A8, C_ADBKBASE_A_36B89, C_CURRENCYSY_0483B, C_VALUE_506AF, F_OID$_SOURC_E66C5, F_OID$_QUALI_027C5, F_OID$_BLOCK_A4386, F_OID$_SOURC_3AA10, TYPE$_ADBKTY_20093, F_PCUSTOMGRO_9BC08, F_PENTITY_AD_29FE1, ID_ELAB) + SELECT + OID$, VERSION$, ADBKID, INSTID, C_ADBKBASE_L_69013, TYPE$_ADBKST_AC419, C_CLIENTNAME_1A67C, C_CLIENTNAME_1E844, F_OID$_PERSO_06FCB, C_CLIENTNAME_8B1DB, C_CLIENTNAME_B4F69, C_CLIENTNAME_EA63A, C_ADBKBASE_D_C669E, C_ADBKBASE_L_1DD83, C_ADBKBASE_L_F8E21, C_ADBKBASE_L_2805C, C_ADBKBASE_T_C94F1, F_OID$_PROFI_98D05, F_OID$_TAXRE_4AC4C, C_CURRENCYSY_36ED7, F_OID$_REFER_66AC8, C_ADBKBASE_M_AE5A8, C_ADBKBASE_A_36B89, C_CURRENCYSY_0483B, C_VALUE_506AF, F_OID$_SOURC_E66C5, F_OID$_QUALI_027C5, F_OID$_BLOCK_A4386, F_OID$_SOURC_3AA10, TYPE$_ADBKTY_20093, F_PCUSTOMGRO_9BC08, F_PENTITY_AD_29FE1, @ID_ELAB + FROM C6StagingPeriodico.ADBKBASE + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ADS4WS_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ADS4WS_PROMOTORI') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ADS4WS_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB diff --git a/sql/storedCollaudo/C6StagingPeriodico_SRV_STORICIZZAZIONE_preAladdin.sql b/sql/storedCollaudo/C6StagingPeriodico_SRV_STORICIZZAZIONE_preAladdin.sql new file mode 100644 index 00000000..d65d128b --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_SRV_STORICIZZAZIONE_preAladdin.sql @@ -0,0 +1,69 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: SRV_STORICIZZAZIONE_preAladdin + + + +-- ============================================= +-- Author: paolo giovanetti +-- Create date: 6 marzo 2009 +-- Description: storicizzazione STAGING +-- ============================================= +CREATE procedure [C6StagingPeriodico].[SRV_STORICIZZAZIONE_preAladdin] + @NomeTabella VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico espresso in giorni + + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MartPeriodico.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENOTH XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENOTH') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ACBDENOTH WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ACBDENOTH + (OID$, VERSION$, BDPERCENTAGE, BDBETA, F_OID$_PASSE_CDF1A, F_PFINANCIAL_815C0, ID_ELAB) + SELECT + ACBDENOTH.OID$, ACBDENOTH.VERSION$, ACBDENOTH.BDPERCENTAGE, ACBDENOTH.BDBETA, ACBDENOTH.F_OID$_PASSE_CDF1A, ACBDENOTH.F_PFINANCIAL_815C0, @ID_ELAB + FROM C6StagingPeriodico.ACBDENOTH + LEFT OUTER JOIN C6StoricoPeriodico.ST_ACBDENOTH + ON ACBDENOTH.OID$ = ST_ACBDENOTH.OID$ + WHERE ST_ACBDENOTH.OID$ IS NULL + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENTRY XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENTRY') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ACBDENTRY WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ACBDENTRY + (OID$, VERSION$, F_PINDEXBREA_08079, F_PINSTRUMEN_FBCDE, BDPERCENTAGE, BDBETA, F_OID$_PASSE_B8A1E, F_PFINANCIAL_65EBB, F_PFINANCIAL_C2FD3, ID_ELAB) + SELECT + ACBDENTRY.OID$, ACBDENTRY.VERSION$, ACBDENTRY.F_PINDEXBREA_08079, ACBDENTRY.F_PINSTRUMEN_FBCDE, ACBDENTRY.BDPERCENTAGE, ACBDENTRY.BDBETA, ACBDENTRY.F_OID$_PASSE_B8A1E, ACBDENTRY.F_PFINANCIAL_65EBB, ACBDENTRY.F_PFINANCIAL_C2FD3, @ID_ELAB + FROM C6StagingPeriodico.ACBDENTRY + LEFT OUTER JOIN C6StoricoPeriodico.ST_ACBDENTRY + ON ACBDENTRY.OID$ = ST_ACBDENTRY.OID$ + WHERE ST_ACBDENTRY.OID$ IS NULL + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ADBKBASE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ADBKBASE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ADBKBASE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ADBKBASE + (OID$, VERSION$, ADBKID, INSTID, C_ADBKBASE_L_69013, TYPE$_ADBKST_AC419, C_CLIENTNAME_1A67C, C_CLIENTNAME_1E844, F_OID$_PERSO_06FCB, C_CLIENTNAME_8B1DB, C_CLIENTNAME_B4F69, C_CLIENTNAME_EA63A, C_ADBKBASE_D_C669E, C_ADBKBASE_L_1DD83, C_ADBKBASE_L_F8E21, C_ADBKBASE_L_2805C, C_ADBKBASE_T_C94F1, F_OID$_PROFI_98D05, F_OID$_TAXRE_4AC4C, C_CURRENCYSY_36ED7, F_OID$_REFER_66AC8, C_ADBKBASE_M_AE5A8, C_ADBKBASE_A_36B89, C_CURRENCYSY_0483B, C_VALUE_506AF, F_OID$_SOURC_E66C5, F_OID$_QUALI_027C5, F_OID$_BLOCK_A4386, F_OID$_SOURC_3AA10, TYPE$_ADBKTY_20093, F_PCUSTOMGRO_9BC08, F_PENTITY_AD_29FE1, ID_ELAB) + SELECT + ADBKBASE.OID$, ADBKBASE.VERSION$, ADBKBASE.ADBKID, ADBKBASE.INSTID, ADBKBASE.C_ADBKBASE_L_69013, ADBKBASE.TYPE$_ADBKST_AC419, ADBKBASE.C_CLIENTNAME_1A67C, ADBKBASE.C_CLIENTNAME_1E844, ADBKBASE.F_OID$_PERSO_06FCB, ADBKBASE.C_CLIENTNAME_8B1DB, ADBKBASE.C_CLIENTNAME_B4F69, ADBKBASE.C_CLIENTNAME_EA63A, ADBKBASE.C_ADBKBASE_D_C669E, ADBKBASE.C_ADBKBASE_L_1DD83, ADBKBASE.C_ADBKBASE_L_F8E21, ADBKBASE.C_ADBKBASE_L_2805C, ADBKBASE.C_ADBKBASE_T_C94F1, ADBKBASE.F_OID$ diff --git a/sql/storedCollaudo/C6StagingPeriodico_SRV_TABELLE_IN_STAGING.sql b/sql/storedCollaudo/C6StagingPeriodico_SRV_TABELLE_IN_STAGING.sql new file mode 100644 index 00000000..4238c6ca --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_SRV_TABELLE_IN_STAGING.sql @@ -0,0 +1,101 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: SRV_TABELLE_IN_STAGING + +CREATE procedure [C6StagingPeriodico].[SRV_TABELLE_IN_STAGING] +AS +BEGIN +DECLARE @tabella AS VARCHAR(50) + SET @tabella = NULL + + SELECT TOP 1 @tabella = A.tabella + FROM( + SELECT tables.name tabella + FROM sys.tables tables + INNER JOIN sys.schemas schemas + ON tables.schema_id = schemas.schema_id + WHERE schemas.name = 'C6StagingPeriodico' + AND tables.name NOT IN ('TabelleStoricizzate','WSEIAN','WSEICS','WSEIPV','WSEIUL','CONGELAMENTO_SEI','PROMETEIA_AGGR') + ) A + WHERE A.tabella NOT IN ( + SELECT Nome + FROM C6StagingPeriodico.TabelleStoricizzate + ) + ORDER BY A.tabella + + -- inserisce dei NULL in TabelleStoricizzate!!! + /*INSERT INTO [C6StagingPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella)*/ + + DECLARE @tabellaStagingDaStoricizzare AS SMALLINT + IF @tabella IS NOT NULL + BEGIN + INSERT INTO [C6StagingPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella) + EXEC [C6StagingPeriodico].[SRV_STORICIZZAZIONE] @tabella + SET @tabellaStagingDaStoricizzare = 1 + END + ELSE + SET @tabellaStagingDaStoricizzare = 0 + + SELECT @tabellaStagingDaStoricizzare tabella, @tabella nome +-- DECLARE @tabella AS VARCHAR(50) +-- SET @tabella = NULL +-- +-- -- AGGIORNAMENTO TABELLA C6StagingPeriodico.TabelleStoricizzate: +-- --> CANCELLO LE VECCHIE +-- DELETE C6StagingPeriodico.TabelleStoricizzate +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- RIGHT JOIN C6StagingPeriodico.TabelleStoricizzate +-- ON tables.name = TabelleStoricizzate.NOME +-- WHERE schemas.name = 'C6StagingPeriodico' +-- AND tables.name IS NULL +-- +-- --> INSERISCO LE NUOVE TABELLE +-- INSERT INTO C6StagingPeriodico.TabelleStoricizzate (NOME, STORICIZZATA) +-- SELECT tables.name, 0 +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- LEFT JOIN C6StagingPeriodico.TabelleStoricizzate +-- ON tables.name = TabelleStoricizzate.NOME +-- WHERE schemas.name = 'C6StagingPeriodico' +-- AND TabelleStoricizzate.NOME IS NULL +-- -- FINE AGGIORNAMENTO TABELLA +-- +-- -- SELEZIONE TABELLA +-- SELECT TOP 1 @tabella = NOME +-- FROM C6StagingPeriodico.TabelleStoricizzate +-- WHERE STORICIZZATA = 0 +-- ORDER BY DURATA DESC +-- +-- -- MARCATURA TABELLA SELEZIONATA +-- UPDATE C6StagingPeriodico.TabelleStoricizzate +-- SET +-- STORICIZZATA = 1, +-- VECCHIA_DURATA = DURATA, +-- INIZIO = GETDATE() +-- WHERE NOME = @tabella +-- +---- select @tabella +---- return +-- +-- DECLARE @tabellaDaStoricizzare AS SMALLINT +-- +-- IF @tabella IS NOT NULL +-- BEGIN +-- --EXEC C6StagingPeriodico.SRV_STORICIZZAZIONE @tabella +-- SET @tabellaDaStoricizzare = 1 +-- END +-- ELSE +-- SET @tabellaDaStoricizzare = 0 +-- +-- SELECT @tabellaDaStoricizzare tabella , @tabella nome + +END + diff --git a/sql/storedCollaudo/C6StagingPeriodico_SRV_TABELLE_IN_STAGING_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_SRV_TABELLE_IN_STAGING_pre_selective.sql new file mode 100644 index 00000000..65f81b4f --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_SRV_TABELLE_IN_STAGING_pre_selective.sql @@ -0,0 +1,101 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: SRV_TABELLE_IN_STAGING_pre_selective + +CREATE procedure [C6StagingPeriodico].[SRV_TABELLE_IN_STAGING_pre_selective] +AS +BEGIN +DECLARE @tabella AS VARCHAR(50) + SET @tabella = NULL + + SELECT TOP 1 @tabella = A.tabella + FROM( + SELECT tables.name tabella + FROM sys.tables tables + INNER JOIN sys.schemas schemas + ON tables.schema_id = schemas.schema_id + WHERE schemas.name = 'C6StagingPeriodico' + AND tables.name NOT IN ('TabelleStoricizzate','WSEIAN','WSEICS','WSEIPV','WSEIUL','CONGELAMENTO_SEI','PROMETEIA_AGGR') + ) A + WHERE A.tabella NOT IN ( + SELECT Nome + FROM C6StagingPeriodico.TabelleStoricizzate + ) + ORDER BY A.tabella + + -- inserisce dei NULL in TabelleStoricizzate!!! + /*INSERT INTO [C6StagingPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella)*/ + + DECLARE @tabellaStagingDaStoricizzare AS SMALLINT + IF @tabella IS NOT NULL + BEGIN + INSERT INTO [C6StagingPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella) + EXEC [C6StagingPeriodico].[SRV_STORICIZZAZIONE] @tabella + SET @tabellaStagingDaStoricizzare = 1 + END + ELSE + SET @tabellaStagingDaStoricizzare = 0 + + SELECT @tabellaStagingDaStoricizzare tabella, @tabella nome +-- DECLARE @tabella AS VARCHAR(50) +-- SET @tabella = NULL +-- +-- -- AGGIORNAMENTO TABELLA C6StagingPeriodico.TabelleStoricizzate: +-- --> CANCELLO LE VECCHIE +-- DELETE C6StagingPeriodico.TabelleStoricizzate +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- RIGHT JOIN C6StagingPeriodico.TabelleStoricizzate +-- ON tables.name = TabelleStoricizzate.NOME +-- WHERE schemas.name = 'C6StagingPeriodico' +-- AND tables.name IS NULL +-- +-- --> INSERISCO LE NUOVE TABELLE +-- INSERT INTO C6StagingPeriodico.TabelleStoricizzate (NOME, STORICIZZATA) +-- SELECT tables.name, 0 +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- LEFT JOIN C6StagingPeriodico.TabelleStoricizzate +-- ON tables.name = TabelleStoricizzate.NOME +-- WHERE schemas.name = 'C6StagingPeriodico' +-- AND TabelleStoricizzate.NOME IS NULL +-- -- FINE AGGIORNAMENTO TABELLA +-- +-- -- SELEZIONE TABELLA +-- SELECT TOP 1 @tabella = NOME +-- FROM C6StagingPeriodico.TabelleStoricizzate +-- WHERE STORICIZZATA = 0 +-- ORDER BY DURATA DESC +-- +-- -- MARCATURA TABELLA SELEZIONATA +-- UPDATE C6StagingPeriodico.TabelleStoricizzate +-- SET +-- STORICIZZATA = 1, +-- VECCHIA_DURATA = DURATA, +-- INIZIO = GETDATE() +-- WHERE NOME = @tabella +-- +---- select @tabella +---- return +-- +-- DECLARE @tabellaDaStoricizzare AS SMALLINT +-- +-- IF @tabella IS NOT NULL +-- BEGIN +-- --EXEC C6StagingPeriodico.SRV_STORICIZZAZIONE @tabella +-- SET @tabellaDaStoricizzare = 1 +-- END +-- ELSE +-- SET @tabellaDaStoricizzare = 0 +-- +-- SELECT @tabellaDaStoricizzare tabella , @tabella nome + +END + diff --git a/sql/storedCollaudo/C6StagingPeriodico_ST_CREA_POSITIONID.sql b/sql/storedCollaudo/C6StagingPeriodico_ST_CREA_POSITIONID.sql new file mode 100644 index 00000000..e516c484 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_ST_CREA_POSITIONID.sql @@ -0,0 +1,93 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: ST_CREA_POSITIONID + + +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[ST_CREA_POSITIONID] +AS +BEGIN + + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_CREA_POSITIONID', + GETDATE(), + 'Elaborazione trimestrale' + ) + + UPDATE + C6StagingPeriodico.SPB_CONTR_SINTESI + SET + POSITIONID = +-- CASE +-- WHEN TIPPROD = 'CC' THEN '' --MODIFICA TRINGALI +-- ELSE + [C6StagingPeriodico].[Info_DaProdottoCSaCatalogo] --dbo.Info_DaProdottoCSaCatalogo + ( + TIPPROD, + CODINT, + MAF, + --V ISIN per ASU2 + CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END, + SUBPROD + ) + --END + + + dbo.Crea_positionID + ( + TIPPROD, + CODINT, + MAF, + '', + SUBPROD, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + NUMPOL, + CONTO, + RUBR, + CUSTGAR, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_CREA_POSITIONID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_CREA_POSITIONID' + ) + +END + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_ST_CREA_POSITIONID_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_ST_CREA_POSITIONID_pre_selective.sql new file mode 100644 index 00000000..b4eef890 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_ST_CREA_POSITIONID_pre_selective.sql @@ -0,0 +1,93 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: ST_CREA_POSITIONID_pre_selective + + +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[ST_CREA_POSITIONID_pre_selective] +AS +BEGIN + + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_CREA_POSITIONID_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + UPDATE + C6StagingPeriodico.SPB_CONTR_SINTESI + SET + POSITIONID = +-- CASE +-- WHEN TIPPROD = 'CC' THEN '' --MODIFICA TRINGALI +-- ELSE + [C6StagingPeriodico].[Info_DaProdottoCSaCatalogo] --dbo.Info_DaProdottoCSaCatalogo + ( + TIPPROD, + CODINT, + MAF, + --V ISIN per ASU2 + CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END, + SUBPROD + ) + --END + + + dbo.Crea_positionID + ( + TIPPROD, + CODINT, + MAF, + '', + SUBPROD, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + NUMPOL, + CONTO, + RUBR, + CUSTGAR, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_CREA_POSITIONID_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_CREA_POSITIONID_pre_selective' + ) + +END + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI.sql b/sql/storedCollaudo/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI.sql new file mode 100644 index 00000000..9a116e6f --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI.sql @@ -0,0 +1,46 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: ST_DATA_CONGELAMENTO_SEI + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[ST_DATA_CONGELAMENTO_SEI] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +-- FC 11/07/2014 +-- Cmbiata valorizzazione della data congelamento +-- deve essere sempre uguale all'effettivo congelamento ( ultimo gg trimestre ) + + --IF NOT EXISTS ( + --SELECT + -- DATA_CONGELAMENTO + --FROM + -- C6StagingPeriodico.CONGELAMENTO_SEI + --) + -- INSERT INTO + -- C6StagingPeriodico.CONGELAMENTO_SEI + -- VALUES ( + -- GETDATE() + -- ) + + + truncate table C6StagingPeriodico.CONGELAMENTO_SEI + + + INSERT INTO + C6StagingPeriodico.CONGELAMENTO_SEI + VALUES ( + C6MartPeriodico.getTrimestre(getdate(),0) + ) + +END + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI_pre_selective.sql new file mode 100644 index 00000000..4dee965c --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI_pre_selective.sql @@ -0,0 +1,46 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: ST_DATA_CONGELAMENTO_SEI_pre_selective + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[ST_DATA_CONGELAMENTO_SEI_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + +-- FC 11/07/2014 +-- Cmbiata valorizzazione della data congelamento +-- deve essere sempre uguale all'effettivo congelamento ( ultimo gg trimestre ) + + --IF NOT EXISTS ( + --SELECT + -- DATA_CONGELAMENTO + --FROM + -- C6StagingPeriodico.CONGELAMENTO_SEI + --) + -- INSERT INTO + -- C6StagingPeriodico.CONGELAMENTO_SEI + -- VALUES ( + -- GETDATE() + -- ) + + + truncate table C6StagingPeriodico.CONGELAMENTO_SEI + + + INSERT INTO + C6StagingPeriodico.CONGELAMENTO_SEI + VALUES ( + C6MartPeriodico.getTrimestre(getdate(),0) + ) + +END + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS.sql b/sql/storedCollaudo/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS.sql new file mode 100644 index 00000000..907f6d55 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS.sql @@ -0,0 +1,97 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: ST_SELECT_FOR_ADS4WS + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6StagingPeriodico].[ST_SELECT_FOR_ADS4WS] 1 +CREATE procedure [C6StagingPeriodico].[ST_SELECT_FOR_ADS4WS] + @Tipo AS INTEGER +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SELECT_FOR_ADS4WS', + GETDATE(), + 'Elaborazione trimestrale' + ) + + IF @Tipo = 1 + + BEGIN + -- ELIMINIAMO I CODICI FITTIZI + SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM C6MartPeriodico.RP_vContrattiPerGenerazioneReport C6 + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE + WHERE PF.RETE IS NULL + -- Porcata per risolvere il problema del promotore non associato --vecchia trimestrale '008636','013917', + AND C6.COD_AGENTE NOT IN ('006003','012192') --,'014504','008392','005087') -- --('008636','013917','010790','012192','014597','004038') + END + + ELSE + + BEGIN + -- PRENDO I CODICI FITTIZI + SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM C6MartPeriodico.RP_vContrattiPerGenerazioneReport C6 + INNER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE + END + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SELECT_FOR_ADS4WS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_SELECT_FOR_ADS4WS' + ) +END + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS_EMAIL.sql b/sql/storedCollaudo/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS_EMAIL.sql new file mode 100644 index 00000000..f6ad591c --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS_EMAIL.sql @@ -0,0 +1,89 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: ST_SELECT_FOR_ADS4WS_EMAIL + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Staging].[ST_SELECT_FOR_ADS4WS] 1 +CREATE procedure [C6StagingPeriodico].[ST_SELECT_FOR_ADS4WS_EMAIL] + @Tipo AS INTEGER +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SELECT_FOR_ADS4WS_EMAIL', + GETDATE(), + 'Elaborazione trimestrale' + ) + + IF @Tipo = 1 + + BEGIN + -- ELIMINIAMO I CODICI FITTIZI + SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM C6MartPeriodico.vContrattiPerGenerazioneReportEmail C6 + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE + WHERE PF.RETE IS NULL + END + + ELSE + + BEGIN + -- PRENDO I CODICI FITTIZI + SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM C6MartPeriodico.vContrattiPerGenerazioneReportEmail C6 + INNER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE + END + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SELECT_FOR_ADS4WS_EMAIL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_SELECT_FOR_ADS4WS_EMAIL' + ) +END + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_ST_SPB_CONTR_SINTESI.sql b/sql/storedCollaudo/C6StagingPeriodico_ST_SPB_CONTR_SINTESI.sql new file mode 100644 index 00000000..355b84db --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_ST_SPB_CONTR_SINTESI.sql @@ -0,0 +1,149 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: ST_SPB_CONTR_SINTESI + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[ST_SPB_CONTR_SINTESI] +AS +BEGIN + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM [C6StagingPeriodico].[WSEICS] AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6Mart.CONTRATTOSEI) C6 + +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] = c6martperiodico.gettrimestre2(getdate(),0) + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + + --V I KE, KS LI RECUPERO DALLA WSEIUL + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + +AND C6.UltimoAperto = 1 + +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' + +UNION ALL + + + + +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + , diff --git a/sql/storedCollaudo/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_asu2.sql b/sql/storedCollaudo/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_asu2.sql new file mode 100644 index 00000000..2d42ef5d --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_asu2.sql @@ -0,0 +1,131 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: ST_SPB_CONTR_SINTESI_asu2 + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[ST_SPB_CONTR_SINTESI_asu2] +AS +BEGIN + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC]) + + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + FROM [C6StagingPeriodico].[WSEICS] AS CS INNER JOIN + [C6Mart].[CONTRATTOSEI] AS C6 ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] = c6martperiodico.gettrimestre2(getdate(),0) +--V Bisogna inserire una funzione che calcoli il trimestre precedente getPreviousTrim() + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > + --select c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + '20110331' + + + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_pre_selective.sql new file mode 100644 index 00000000..c5d7f375 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_pre_selective.sql @@ -0,0 +1,161 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: ST_SPB_CONTR_SINTESI_pre_selective + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[ST_SPB_CONTR_SINTESI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM [C6StagingPeriodico].[WSEICS] AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6Mart.CONTRATTOSEI) C6 + +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] = c6martperiodico.gettrimestre2(getdate(),0) + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + + --V I KE, KS LI RECUPERO DALLA WSEIUL + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + +AND C6.UltimoAperto = 1 + +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' + +UNION ALL + + + + +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[REND diff --git a/sql/storedCollaudo/C6StagingPeriodico_ST_SVUOTASIMPB.sql b/sql/storedCollaudo/C6StagingPeriodico_ST_SVUOTASIMPB.sql new file mode 100644 index 00000000..3a1bb8da --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_ST_SVUOTASIMPB.sql @@ -0,0 +1,28 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: ST_SVUOTASIMPB + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[ST_SVUOTASIMPB] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + TRUNCATE TABLE C6StagingPeriodico.WSEIAN + + TRUNCATE TABLE C6StagingPeriodico.WSEICS + + TRUNCATE TABLE C6StagingPeriodico.WSEILG + + TRUNCATE TABLE C6StagingPeriodico.WSEIPV + + TRUNCATE TABLE C6StagingPeriodico.WSEIUL + +END + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_ST_SVUOTASIMPB_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_ST_SVUOTASIMPB_pre_selective.sql new file mode 100644 index 00000000..90da22f6 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_ST_SVUOTASIMPB_pre_selective.sql @@ -0,0 +1,28 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: ST_SVUOTASIMPB_pre_selective + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[ST_SVUOTASIMPB_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + TRUNCATE TABLE C6StagingPeriodico.WSEIAN + + TRUNCATE TABLE C6StagingPeriodico.WSEICS + + TRUNCATE TABLE C6StagingPeriodico.WSEILG + + TRUNCATE TABLE C6StagingPeriodico.WSEIPV + + TRUNCATE TABLE C6StagingPeriodico.WSEIUL + +END + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_UPDATE_CATITEMREF.sql b/sql/storedCollaudo/C6StagingPeriodico_UPDATE_CATITEMREF.sql new file mode 100644 index 00000000..d409060b --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_UPDATE_CATITEMREF.sql @@ -0,0 +1,25 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: UPDATE_CATITEMREF + +CREATE procedure [C6StagingPeriodico].[UPDATE_CATITEMREF] as +begin + + + + update c6stagingperiodico.catitemref + set + tip_Emittente = B.tipoemittente, + tip_Tasso = B.tipoTasso + from + c6stagingperiodico.catitemref A + join + c6stagingperiodico.decodEmittente B + ON + A.COD_ISIN = B.ISIN + +END + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_UPDATE_CATITEMREF_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_UPDATE_CATITEMREF_pre_selective.sql new file mode 100644 index 00000000..688c8a5e --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_UPDATE_CATITEMREF_pre_selective.sql @@ -0,0 +1,25 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: UPDATE_CATITEMREF_pre_selective + +CREATE procedure [C6StagingPeriodico].[UPDATE_CATITEMREF_pre_selective] as +begin + + + + update c6stagingperiodico.catitemref + set + tip_Emittente = B.tipoemittente, + tip_Tasso = B.tipoTasso + from + c6stagingperiodico.catitemref A + join + c6stagingperiodico.decodEmittente B + ON + A.COD_ISIN = B.ISIN + +END + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_UPDATE_COMPLESSITA.sql b/sql/storedCollaudo/C6StagingPeriodico_UPDATE_COMPLESSITA.sql new file mode 100644 index 00000000..0374b51e --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_UPDATE_COMPLESSITA.sql @@ -0,0 +1,197 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: UPDATE_COMPLESSITA + + + + + +CREATE procedure [C6StagingPeriodico].[UPDATE_COMPLESSITA] + +as +begin +/********************FOGLIO 1 UNIT LINKED************************************************************/ +--begin transaction +UPDATE [C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_INTERNO IN +( +'18', +'19', +'29', +'35', +'37', +'38', +'48', +'49', +'60', +'BT', +'ES', +'FR', +'FS', +'FT', +'FU', +--'GP', +'KP', +'OA', +'PO', +'PY', +'SB', +--'PR', +--'PX', +'SE', +'SF', +--'SI', +'ST', +'SU', +'K1', +'K2', +'K3', +'K4', +'K5', +'K6', +'K7') + + +/**************************FOGLIO 1 UNIT LINKED*******************INSERITA LA CONDIZIONE PER I SOTTOPRODOTTI DA ESCLUDERE ********************************/ + +UPDATE [C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=2 +WHERE +COD_INTERNO IN +( +'S1', +'S2', +'S3', +'S4', +'S5', +'S6', +'S7', +'S8' +) +and cod_sottoprodotto not in ('20001','20002','20005','20008') + + + +update c6stagingperiodico.catitemref +--UPDATE c6martperiodico.patrimonio_bf +set complex = 1 +where cod_interno in ('S1','S2','S4','S5','S8') +and cod_sottoprodotto in ('20001','20002','20005','20008') + + +/******************************FOGLIO 1 UNIT LINKED**********************************************************/ + +UPDATE [C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_INTERNO IN +( +'A7', +'A8') + +/**************************************FOGLIO 2 FONDI*************************************************/ + +UPDATE [C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_SOTTOPRODOTTO IN +( + '7149S' +,'7145S' +,'9968S' +) + + +/************************************FOGLIO 2 FONDI****************************************************/ + + +UPDATE [C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_SOTTOPRODOTTO = '7146S' + + +/***********************************FOGLIO 3 CERTIFICATES************GIOVANNI HA DETTO CHE VANNO UPDATATI A 1 *****************************************/ + +UPDATE [C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_ISIN IN +( + 'DE000A0LJ552' +,'DE000A0MG8R0' +,'IT0004189368' +,'GB00B1WVWP64' +,'GB00B1Y3ZZ16' +,'XS0354254111' +,'GB00B2QM7Y61' +,'XS0235278982' +,'XS0179585186' +) +AND +COD_INTERNO IN +( + '00101740' +,'09139480' +,'09161420' +,'00830060' +,'09205930' +,'00168130' +,'08525040' +,'08556110' +,'09201230' +) + + + + + + +--update c6martperiodico.patrimonio_bf +--set complex = 1 +-- +--where cod_prodotto in( +-- +-- +-- +--select cod_prodotto +--from +--c6martperiodico.anag_prodotti b +--where cod_isin in ( +-- 'DE000A0LJ552' +--,'DE000A0MG8R0' +--,'IT0004189368' +--,'GB00B1WVWP64' +--,'GB00B1Y3ZZ16' +--,'XS0354254111' +--,'GB00B2QM7Y61' +--,'XS0235278982' +--,'XS0179585186' +--) +--AND +--COD_INTERNO IN +--( +-- '00101740' +--,'09139480' +--,'09161420' +--,'00830060' +--,'09205930' +--,'00168130' +--,'08525040' +--,'08556110' +--,'09201230' +--)) +-- +--commit +end + + +--exec c6martperiodico.dm_complessita + diff --git a/sql/storedCollaudo/C6StagingPeriodico_UPDATE_COMPLESSITA_pre_selective.sql b/sql/storedCollaudo/C6StagingPeriodico_UPDATE_COMPLESSITA_pre_selective.sql new file mode 100644 index 00000000..d92a894f --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_UPDATE_COMPLESSITA_pre_selective.sql @@ -0,0 +1,197 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: UPDATE_COMPLESSITA_pre_selective + + + + + +CREATE procedure [C6StagingPeriodico].[UPDATE_COMPLESSITA_pre_selective] + +as +begin +/********************FOGLIO 1 UNIT LINKED************************************************************/ +--begin transaction +UPDATE [C6StampeCentralizzate].[C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_INTERNO IN +( +'18', +'19', +'29', +'35', +'37', +'38', +'48', +'49', +'60', +'BT', +'ES', +'FR', +'FS', +'FT', +'FU', +--'GP', +'KP', +'OA', +'PO', +'PY', +'SB', +--'PR', +--'PX', +'SE', +'SF', +--'SI', +'ST', +'SU', +'K1', +'K2', +'K3', +'K4', +'K5', +'K6', +'K7') + + +/**************************FOGLIO 1 UNIT LINKED*******************INSERITA LA CONDIZIONE PER I SOTTOPRODOTTI DA ESCLUDERE ********************************/ + +UPDATE [C6StampeCentralizzate].[C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=2 +WHERE +COD_INTERNO IN +( +'S1', +'S2', +'S3', +'S4', +'S5', +'S6', +'S7', +'S8' +) +and cod_sottoprodotto not in ('20001','20002','20005','20008') + + + +update c6stagingperiodico.catitemref +--UPDATE c6martperiodico.patrimonio_bf +set complex = 1 +where cod_interno in ('S1','S2','S4','S5','S8') +and cod_sottoprodotto in ('20001','20002','20005','20008') + + +/******************************FOGLIO 1 UNIT LINKED**********************************************************/ + +UPDATE [C6StampeCentralizzate].[C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_INTERNO IN +( +'A7', +'A8') + +/**************************************FOGLIO 2 FONDI*************************************************/ + +UPDATE [C6StampeCentralizzate].[C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_SOTTOPRODOTTO IN +( + '7149S' +,'7145S' +,'9968S' +) + + +/************************************FOGLIO 2 FONDI****************************************************/ + + +UPDATE [C6StampeCentralizzate].[C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_SOTTOPRODOTTO = '7146S' + + +/***********************************FOGLIO 3 CERTIFICATES************GIOVANNI HA DETTO CHE VANNO UPDATATI A 1 *****************************************/ + +UPDATE [C6StampeCentralizzate].[C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_ISIN IN +( + 'DE000A0LJ552' +,'DE000A0MG8R0' +,'IT0004189368' +,'GB00B1WVWP64' +,'GB00B1Y3ZZ16' +,'XS0354254111' +,'GB00B2QM7Y61' +,'XS0235278982' +,'XS0179585186' +) +AND +COD_INTERNO IN +( + '00101740' +,'09139480' +,'09161420' +,'00830060' +,'09205930' +,'00168130' +,'08525040' +,'08556110' +,'09201230' +) + + + + + + +--update c6martperiodico.patrimonio_bf +--set complex = 1 +-- +--where cod_prodotto in( +-- +-- +-- +--select cod_prodotto +--from +--c6martperiodico.anag_prodotti b +--where cod_isin in ( +-- 'DE000A0LJ552' +--,'DE000A0MG8R0' +--,'IT0004189368' +--,'GB00B1WVWP64' +--,'GB00B1Y3ZZ16' +--,'XS0354254111' +--,'GB00B2QM7Y61' +--,'XS0235278982' +--,'XS0179585186' +--) +--AND +--COD_INTERNO IN +--( +-- '00101740' +--,'09139480' +--,'09161420' +--,'00830060' +--,'09205930' +--,'00168130' +--,'08525040' +--,'08556110' +--,'09201230' +--)) +-- +--commit +end + + +--exec c6martperiodico.dm_complessita + diff --git a/sql/storedCollaudo/C6StagingPeriodico_UTIL_popolaPromotoriDaGiornaliero.sql b/sql/storedCollaudo/C6StagingPeriodico_UTIL_popolaPromotoriDaGiornaliero.sql new file mode 100644 index 00000000..3c258c04 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_UTIL_popolaPromotoriDaGiornaliero.sql @@ -0,0 +1,16 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: UTIL_popolaPromotoriDaGiornaliero + +CREATE procedure [C6StagingPeriodico].[UTIL_popolaPromotoriDaGiornaliero] +as +begin + +--V +--Recupera le info dallo scarico del giornaliero, bisognerebbe rifare il pacchetto..... +truncate table C6StagingPeriodico.ADS4WS_PROMOTORI + +insert into C6StagingPeriodico.ADS4WS_PROMOTORI +select * from C6Staging.ADS4WS_PROMOTORI + +end + diff --git a/sql/storedCollaudo/C6StagingPeriodico_agg_codana_tabellone.sql b/sql/storedCollaudo/C6StagingPeriodico_agg_codana_tabellone.sql new file mode 100644 index 00000000..8ce16426 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_agg_codana_tabellone.sql @@ -0,0 +1,92 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: agg_codana_tabellone + + + + + + + + + +--select * from c6martperiodico.gestione_pdf_ftp where ID_fk_zip=3302 +--select * from c6martperiodico.gestione_zip_ftp where id=3302 + +CREATE procedure [C6StagingPeriodico].[agg_codana_tabellone] + as + begin + if( (select count(*) from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER]) > 0) + begin + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set codana=tab.CODANA,flag6kc=tab.FLAG6KC,flgorig=tab.FLGORIG,flgimm=tab.FLGIMM + from [C6StagingPeriodico].[WANVIPS] tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on tab.rete+tab.CODFIS= a.chiave_acn + where a.chiave_acn not like '%@%' and a.chiave_acn in (select rete+COD_FISCALE from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER]) + + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set codana=tab.CODANA,flag6kc=tab.FLAG6KC,flgorig=tab.FLGORIG,flgimm=tab.FLGIMM + from [C6StagingPeriodico].[WANVIPS] tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on tab.rete+'FF@'+tab.CODMAN= a.chiave_acn + where tab.codman <> '' and a.chiave_acn in (select rete+COD_FISCALE from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER]) + +--UPDATE [C6StampeCentralizzate].[C6MartPeriodico].tabellone +-- set zip=zip.nomefile+'_LOTTO_'+rtrim(cast(fkidelaborazionezip as char))+'_PACK_'+rtrim(cast(id as char))+'.7z' +--from c6martperiodico.gestione_pdf_ftp pdf inner join c6martperiodico.gestione_zip_ftp zip on id_fk_zip=id +--inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a +--on pdf.rete+pdf.codicefiscale=a.chiave_acn +--where a.chiave_acn in (select rete+COD_FISCALE from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER]) + +--if ((select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc) is NULL) +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null +--end +--else +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=(select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc)+1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null and lotto is null +--end + +end +else +begin +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set codana=tab.CODANA,flag6kc=tab.FLAG6KC,flgorig=tab.FLGORIG,flgimm=tab.FLGIMM + from [C6StagingPeriodico].[WANVIPS] tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on tab.rete+tab.CODFIS= a.chiave_acn + where a.chiave_acn not like '%@%' + + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set codana=tab.CODANA,flag6kc=tab.FLAG6KC,flgorig=tab.FLGORIG,flgimm=tab.FLGIMM + from [C6StagingPeriodico].[WANVIPS] tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on tab.rete+'FF@'+tab.CODMAN= a.chiave_acn + where tab.codman <> '' + +--UPDATE [C6StampeCentralizzate].[C6MartPeriodico].tabellone +-- set zip=zip.nomefile+'_LOTTO_'+rtrim(cast(fkidelaborazionezip as char))+'_PACK_'+rtrim(cast(id as char))+'.7z' +--from c6martperiodico.gestione_pdf_ftp pdf inner join c6martperiodico.gestione_zip_ftp zip on id_fk_zip=id +--inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a +--on pdf.rete+pdf.codicefiscale=a.chiave_acn +--select * from [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] where zip is not null +-- +--if ((select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc) is NULL) +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null +--end +--else +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=(select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc)+1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null and lotto is diff --git a/sql/storedCollaudo/C6StagingPeriodico_agg_lotto_tabellone.sql b/sql/storedCollaudo/C6StagingPeriodico_agg_lotto_tabellone.sql new file mode 100644 index 00000000..6838e67a --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_agg_lotto_tabellone.sql @@ -0,0 +1,114 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: agg_lotto_tabellone + + + + + + + + + + +--select * from c6martperiodico.gestione_pdf_ftp where ID_fk_zip=3302 +--select * from c6martperiodico.gestione_zip_ftp where id=3302 + +CREATE procedure [C6StagingPeriodico].[agg_lotto_tabellone] + as + begin + if( (select count(*) from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER]) > 0) + begin + +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].tabellone + set zip=zip.nomefile+'_LOTTO_'+rtrim(cast(fkidelaborazionezip as char))+'_PACK_'+rtrim(cast(id as char))+'.7z' +from c6martperiodico.gestione_pdf_ftp pdf inner join c6martperiodico.gestione_zip_ftp zip on id_fk_zip=id +inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a +on pdf.rete+pdf.codicefiscale=a.chiave_acn +where a.chiave_acn in (select rete+COD_FISCALE from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER]) + +--if ((select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc) is NULL) +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null +--end +--else +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=(select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc)+1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null and lotto is null +--end + +end +else +begin + + +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].tabellone + set zip=zip.nomefile+'_LOTTO_'+rtrim(cast(fkidelaborazionezip as char))+'_PACK_'+rtrim(cast(id as char))+'.7z' +from c6martperiodico.gestione_pdf_ftp pdf inner join c6martperiodico.gestione_zip_ftp zip on id_fk_zip=id +inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a +on pdf.rete+pdf.codicefiscale=a.chiave_acn +--select * from [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] where zip is not null +-- +--if ((select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc) is NULL) +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null +--end +--else +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=(select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc)+1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null and lotto is null +--end + + + +----select distinct SUBSTRING ( convert(varchar, DataInvio, 112) ,1 , 11) as DataInvio from c6martperiodico.gestione_pdf_ftp where DataInvio is not null order by DataInvio + +--insert into #test +--select distinct SUBSTRING ( convert(varchar, DataInvio, 112) ,1 , 11) as DataInvio from c6martperiodico.gestione_pdf_ftp where DataInvio is not null order by DataInvio + +----select * from #test + +--update C6MartPeriodico.tabellone +--set lotto=t.id +--from C6MartPeriodico.tabellone a left join #test t on a.zip like '%'+t.datainvio+'%' + +----select * from C6MartPeriodico.tabellone where lotto='3' + +----select a.rete,a.chiave_acn,t.id from C6MartPeriodico.tabellone a left join #test t on a.zip like '%'+t.datainvio+'%' + +----select distinct Rete,CodiceFiscale from c6martperiodico.gestione_pdf_ftp where DataInvio is not null + + +end +drop table if exists #test +create table #test ( +datainvio varchar(8), +id int identity + +) +insert into #test +select distinct SUBSTRING ( convert(varchar, DataInvio, 112) ,1 , 11) as DataInvio from c6martperiodico.gestione_pdf_ftp where DataInvio is not null order by DataInvio + +--select * from #test + +update C6MartPeriodico.tabellone +set lotto=t.id +from C6MartPeriodico.tabellone a left join #test t on a.zip like '%'+t.datainvio+'%' +end + + +truncate table C6MartPeriodico.APPREND_DTSX_Tabellone + +insert into C6MartPeriodico.APPREND_DTSX_Tabellone +select * from C6MartPeriodico.vTabellone + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_agg_wh_tabellone.sql b/sql/storedCollaudo/C6StagingPeriodico_agg_wh_tabellone.sql new file mode 100644 index 00000000..17572fdd --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_agg_wh_tabellone.sql @@ -0,0 +1,141 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: agg_wh_tabellone + + + + + + + + +CREATE procedure [C6StagingPeriodico].[agg_wh_tabellone] + as + begin + + drop table if exists #appo + drop table if exists #appo1 + + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + + + -- 16/7/2018 + into #appo + -- fine 16/7/2018 + + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' then 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' then 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + + and PATRBF.rete+ PATRBF.cod_fiscale in (select chiave_acn from c6martperiodico.tabellone) + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' then 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' then 'Patrimonio IW Private Inv.' END + + + UNION + + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and terzi.rete+ terzi.cod_fiscale in (select chiave_acn from c6martperiodico.tabellone) + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and diff --git a/sql/storedCollaudo/C6StagingPeriodico_agg_wseian2_tabellone.sql b/sql/storedCollaudo/C6StagingPeriodico_agg_wseian2_tabellone.sql new file mode 100644 index 00000000..f148bebc --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_agg_wseian2_tabellone.sql @@ -0,0 +1,86 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: agg_wseian2_tabellone + + + + + + + +--select * from [C6StagingPeriodico].[WSEIAN2] where dttrim='20220531' order by 1 desc +--select * from [C6StagingPeriodico].[WSEIDC] +--select * from [C6StagingPeriodico].[WSEIPS] +--select * from [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] where flgprof='s' and cfm_tipo_consul='retail' +CREATE procedure [C6StagingPeriodico].[agg_wseian2_tabellone] + as + begin + declare @data_ultimo_trimestre varchar(10) + + set @data_ultimo_trimestre= [C6MartPeriodico].[getTrimestre2](getdate(),0) + + --print @data_ultimo_trimestre + + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set dtinval=try_CONVERT(date,cast(ws.dtinval as varchar) ,23),dtfinval=try_CONVERT(date,cast(ws.dtinval+30000 as varchar) ,23), + classerc=ws.CLASSERC,codprofec=ws.COD_PROFEC,flagpg=ws.FLAGPG,clcompl=ws.CLCOMPL, + flgconc=ws.FLGCONC,flagnqp=ws.FLAGNQP,flgprlrde=ws.FLGPRLRDE,flgprof=ws.FLGPROF,codprof=ws.CODPROF, + concemi=ws.CONCEMI,freq=ws.FREQ,lliquid=ws.LLIQUID,ESG=ws.PREFSOST,Environmental=ws.FLAGAMB,Social=ws.FLAGSOC,Governance=ws.FLAGGOV, + Riserva=ws.RISERVA,INVL_PERIOD=ws.INVL_PERIOD,ADEGCONC_VALUT=ws.ADEGCONC_VALUT,Coerenza=ws.COERENZA + from [C6StagingPeriodico].[WSEIAN2] ws + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on ws.Rete+ws.CodFis=a.chiave_acn + where ws.codfis<> '' and ws.DTTRIM =@data_ultimo_trimestre + + + + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set dtinval=try_CONVERT(date,cast(ws.dtinval as varchar) ,23),dtfinval=try_CONVERT(date,cast(ws.dtinval+30000 as varchar) ,23), + classerc=ws.CLASSERC,codprofec=ws.COD_PROFEC,flagpg=ws.FLAGPG,clcompl=ws.CLCOMPL, + flgconc=ws.FLGCONC,flagnqp=ws.FLAGNQP,flgprlrde=ws.FLGPRLRDE,flgprof=ws.FLGPROF,codprof=ws.CODPROF, + concemi=ws.CONCEMI,freq=ws.FREQ,lliquid=ws.LLIQUID,ESG=ws.PREFSOST,Environmental=ws.FLAGAMB,Social=ws.FLAGSOC,Governance=ws.FLAGGOV, + Riserva=ws.RISERVA,INVL_PERIOD=ws.INVL_PERIOD,ADEGCONC_VALUT=ws.ADEGCONC_VALUT,Coerenza=ws.COERENZA + from [C6StagingPeriodico].[WSEIAN2] ws + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on ws.Rete+'FF@'+ws.CODMAN=a.chiave_acn + where ws.codman <> '' and ws.DTTRIM =@data_ultimo_trimestre + + --ws.DTTRIM in (select max(DTTRIM) from C6StagingPeriodico.WSEIAN2) + + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + --set dtfinval=a.dtinval+30000 --aggiungo 3 anni + --from [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + --where dtinval<>0 + + update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set wseidc_tipolett=d.TIPOLETT,wseidc_stato=d.STATO + from C6StagingPeriodico.WSEIDC d inner join C6MartPeriodico.tabellone t + on d.Rete+d.CodFis=t.chiave_acn + where d.codfis<> '' and d.DTTRIM =@data_ultimo_trimestre + + update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set wseidc_tipolett=d.TIPOLETT,wseidc_stato=d.stato + from C6StagingPeriodico.WSEIDC d inner join C6MartPeriodico.tabellone t + on d.Rete+'FF@'+d.CODMAN=t.chiave_acn + where d.codman <> '' and d.DTTRIM =@data_ultimo_trimestre + + update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set wseips_flag='S' + from C6StagingPeriodico.WSEIPS d inner join C6MartPeriodico.tabellone t + on d.Rete+d.CodFis=t.chiave_acn + where d.codfis<> '' and d.DTTRIM =@data_ultimo_trimestre + + update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set wseips_flag='S' + from C6StagingPeriodico.WSEIPS d inner join C6MartPeriodico.tabellone t + on d.Rete+'FF@'+d.CODMAN=t.chiave_acn + where d.codman <> '' and d.DTTRIM =@data_ultimo_trimestre + + + + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + --set corfa_rfa=w.Patrimoniobancafideuramctv + --from wh.Maledetti w inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a on w.rete+w.CodiceContratto=a.rete_acn + + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].tabellone + --set cfm_tipo_consul=(case + -- whe diff --git a/sql/storedCollaudo/C6StagingPeriodico_get_testo_sezione_adeg_PG_Compl_Conc_CDTTRIM.sql b/sql/storedCollaudo/C6StagingPeriodico_get_testo_sezione_adeg_PG_Compl_Conc_CDTTRIM.sql new file mode 100644 index 00000000..f3ba6200 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_get_testo_sezione_adeg_PG_Compl_Conc_CDTTRIM.sql @@ -0,0 +1,91 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: get_testo_sezione_adeg_PG_Compl_Conc_CDTTRIM + + + + +--exec [C6StagingPeriodico].[get_testo_sezione_adeg_PG_Compl_Conc_CDTTRIM] 'F', 'MGNGPP55B25G224T' +CREATE procedure [C6StagingPeriodico].[get_testo_sezione_adeg_PG_Compl_Conc_CDTTRIM] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +DECLARE @d nvarchar(8) +DECLARE @isPG integer +DECLARE @isPG_NQ char(1) +DECLARE @dtrim nvarchar(8) +set @dtrim = c6martperiodico.getTrimestre(getdate(), 0) + +if @CodiceFiscale not like 'FF@%' + BEGIN + select @isPG = FLAGPG from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + + if @isPG = 0 + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + END + + ELSE /* isPG = 1 */ + BEGIN + select @isPG_NQ = + CASE + WHEN FLAGNQP IS NULL or FLAGNQP ='' THEN 'N' + ELSE FLAGNQP + END + from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + + if @isPG_NQ = 'S' + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + END + + ELSE /* isPG_NQ = N */ + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and adeg.[FLAGNQP]=@isPG_NQ + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + --and an.[FLAGNQP]='N' and coalesce(adeg.[FLGPRLRDE],'yn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + END + END + END + +ELSE /* Mandatario - Fiduciaria */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + + /* case PG = 0 forced, dont' considerate flags FLAGPG, FLAGNQP, FLGPRLRDE */ + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@dtrim + END +END + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_immobiliare_tabellone.sql b/sql/storedCollaudo/C6StagingPeriodico_immobiliare_tabellone.sql new file mode 100644 index 00000000..74535221 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_immobiliare_tabellone.sql @@ -0,0 +1,34 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: immobiliare_tabellone + + + + + + + + + + +--select * from [C6StagingPeriodico].[WSEIAN2] where cod_profec is null +--select * from [C6StagingPeriodico].[WSEIDC] +--select * from [C6StagingPeriodico].[WSEIPS] +--select * from [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] where flgprof='s' and cfm_tipo_consul='retail' +CREATE procedure [C6StagingPeriodico].[immobiliare_tabellone] + as + begin + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set flgpe_perimetro_semestr=i.FLAG_IN_PERIMETRO,solo_rend_imm=isnull(i.RENDICONTO_IMM,'N'),anche_rend_sei=i.RENDICONTO_SEI + from [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] t inner join [C6MartPeriodicoImmobiliare].[W6IMM] i on i.RETE+i.CODFIS=t.chiave_acn + + truncate table C6MartPeriodico.APPREND_DTSX_Tabellone + +insert into C6MartPeriodico.APPREND_DTSX_Tabellone +select * from C6MartPeriodico.vTabellone + +end + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_sp_quadratura.sql b/sql/storedCollaudo/C6StagingPeriodico_sp_quadratura.sql new file mode 100644 index 00000000..9fef7bf0 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_sp_quadratura.sql @@ -0,0 +1,48 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: sp_quadratura + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE c6stagingperiodico.sp_quadratura + -- Add the parameters for the stored procedure here +AS +BEGIN +DROP TABLE if exists #excel +DROP TABLE if exists #txt +drop table if exists #differenze +drop table if exists [C6MartPeriodico].[anag_prelievi_excel_txt_differenze] + +SELECT substring(cf,17,1)+ltrim(rtrim(substring(cf,1,16)))+substring(cf,18,4)+substring(cf,23,2)+substring(cf,26,2) as cf +into #txt + FROM [C6MartPeriodico].[anag_prelievi_txt] + + select rete+ltrim(rtrim(codfis))+dtavmon as cf2 +into #excel +from [C6MartPeriodico].[anag_prelievi_excel] + + + +select * +into #differenze +from( +select cf from #txt +except +select cf2 from #excel +) t + + + + + +select cf as CodiceFiscale +into [C6MartPeriodico].[anag_prelievi_excel_txt_differenze] +from #differenze +where cf not like '%00000000000%' + +select * from [C6MartPeriodico].[anag_prelievi_excel_txt_differenze] + +END + diff --git a/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg.sql b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg.sql new file mode 100644 index 00000000..04f5c563 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg.sql @@ -0,0 +1,105 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: test_compl_testo_sezione_adeg + + +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg] 'f', 'BLDMRA59E22G999d', '2015-06-01' + +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg] + @Rete nvarchar(1), + @CodiceFiscale varchar(16), + @DTTRIM datetime = null + +AS +BEGIN + +DECLARE @d nvarchar(8) +set @d = cast(year(@DTTRIM) as nvarchar(4)) + RIGHT('0'+cast(month(@DTTRIM) as nvarchar(2)), 2) + + RIGHT('0'+cast(day(@DTTRIM) as nvarchar(2)),2) + +print @d + +if @DTTRIM is null + +begin + +if @CodiceFiscale not like 'FF@%' BEGIN + +select @d = max(DTTRIM) from +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete + +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +and DTTRIM=@d + +END +ELSE + +BEGIN + +DECLARE @CF as nvarchar(max) +set @CF = replace(@CodiceFiscale, 'FF@', '') + +select @d = max(DTTRIM) from +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CF + +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CF +and DTTRIM=@d + +END + +end +else +begin + +if @CodiceFiscale not like 'FF@%' BEGIN + + + +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +and DTTRIM=@DTTRIM + +END +ELSE + +BEGIN + +DECLARE @CFF as nvarchar(max) +set @CFF = replace(@CodiceFiscale, 'FF@', '') + +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CFF +and DTTRIM=@DTTRIM + +END + + +end + + + + + + +END + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM.sql b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM.sql new file mode 100644 index 00000000..3b6c4cbe --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM.sql @@ -0,0 +1,90 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM + + + +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM] 'F', 'MGNGPP55B25G224T' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +DECLARE @d nvarchar(8) +DECLARE @isPG integer +DECLARE @isPG_NQ char(1) +DECLARE @dtrim nvarchar(8) +set @dtrim = c6martperiodico.getTrimestre(getdate(), 0) + +if @CodiceFiscale not like 'FF@%' + BEGIN + select @isPG = FLAGPG from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + + if @isPG = 0 + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + END + + ELSE /* isPG = 1 */ + BEGIN + select @isPG_NQ = + CASE + WHEN FLAGNQP IS NULL or FLAGNQP ='' THEN 'N' + ELSE FLAGNQP + END + from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + + if @isPG_NQ = 'S' + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + END + + ELSE /* isPG_NQ = N */ + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and adeg.[FLAGNQP]=@isPG_NQ + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + --and an.[FLAGNQP]='N' and coalesce(adeg.[FLGPRLRDE],'yn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + END + END + END + +ELSE /* Mandatario - Fiduciaria */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + + /* case PG = 0 forced, dont' considerate flags FLAGPG, FLAGNQP, FLGPRLRDE */ + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@dtrim + END +END + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN.sql b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN.sql new file mode 100644 index 00000000..c382a000 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN.sql @@ -0,0 +1,92 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN + + + + + +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN] 'F', 'MGNGPP55B25G224T' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +DECLARE @d nvarchar(8) +DECLARE @isPG integer +DECLARE @isPG_NQ char(1) +DECLARE @dtrim nvarchar(8) +set @dtrim = c6martperiodico.getPreviousTrimestre(getdate(), 0) --c6martperiodico.getTrimestre(getdate(), 0) + +if @CodiceFiscale not like 'FF@%' + BEGIN + select @isPG = FLAGPG from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + + if @isPG = 0 + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + END + + ELSE /* isPG = 1 */ + BEGIN + select @isPG_NQ = + CASE + WHEN FLAGNQP IS NULL or FLAGNQP ='' THEN 'N' + ELSE FLAGNQP + END + from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + + if @isPG_NQ = 'S' + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + END + + ELSE /* isPG_NQ = N */ + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and adeg.[FLAGNQP]=@isPG_NQ + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + --and an.[FLAGNQP]='N' and coalesce(adeg.[FLGPRLRDE],'yn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + END + END + END + +ELSE /* Mandatario - Fiduciaria */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + + /* case PG = 0 forced, dont' considerate flags FLAGPG, FLAGNQP, FLGPRLRDE */ + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@dtrim + END +END + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.obs.sql b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.obs.sql new file mode 100644 index 00000000..4734e1e5 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.obs.sql @@ -0,0 +1,68 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: test_compl_testo_sezione_adeg_PG_QPROF.obs + + + + + + +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '97080600154' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'SGHDMN66M07G920Z' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '00118220524' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', 'ZZLLNI57B06D245V' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'LTTGRG68T04I324Z' + +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF.obs] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +DECLARE @d nvarchar(8) + +if @CodiceFiscale not like 'FF@%' + BEGIN + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + and an.[FLAGPG]=0 + or ( + an.[FLAGPG]=1 and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + ) + END +ELSE /* Mandatario */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = @CF + + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF + and DTTRIM=@d + and an.[FLAGPG]=0 + or ( + an.[FLAGPG]=1 and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + ) + END + +END + + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.rigen.20170620.sql b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.rigen.20170620.sql new file mode 100644 index 00000000..6fe3fa89 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.rigen.20170620.sql @@ -0,0 +1,118 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: test_compl_testo_sezione_adeg_PG_QPROF.rigen.20170620 + + + + + + + + + + + + + +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '97080600154' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'SGHDMN66M07G920Z' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '00118220524' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', 'ZZLLNI57B06D245V' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '96711600013' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '01689841003' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF.rigen.20170620] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +DECLARE @d nvarchar(8) +DECLARE @isPG integer +DECLARE @isPG_NQ char(1) + +if @CodiceFiscale not like 'FF@%' + BEGIN + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + + select @isPG = FLAGPG from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + + if @isPG = 0 + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + END + ELSE /* isPG = 1 */ + BEGIN + select @isPG_NQ = + CASE + WHEN FLAGNQP IS NULL or FLAGNQP ='' THEN 'N' + ELSE FLAGNQP + END + from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + + if @isPG_NQ = 'S' + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + END + ELSE /* isPG_NQ = N */ + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and adeg.[FLAGNQP]=@isPG_NQ + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + --and an.[FLAGNQP]='N' and coalesce(adeg.[FLGPRLRDE],'yn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + END + END + END +ELSE /* Mandatario */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = @CF + + select @isPG = FLAGPG from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@d + + if @isPG = 0 + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@d + END + ELSE + + /* isPG_NQ = N MANCA !!! */ + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] + WHERE codman = @CF and RETE = @Rete diff --git a/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.sql b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.sql new file mode 100644 index 00000000..2c9d9f81 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.sql @@ -0,0 +1,107 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: test_compl_testo_sezione_adeg_PG_QPROF + + + + + +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '97080600154' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'SGHDMN66M07G920Z' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '00118220524' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', 'ZZLLNI57B06D245V' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '96711600013' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '01689841003' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', 'FF@1214' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', 'FF@10005' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '97080600154' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', '00489340455' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +DECLARE @d nvarchar(8) +DECLARE @isPG integer +DECLARE @isPG_NQ char(1) + +if @CodiceFiscale not like 'FF@%' + BEGIN + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + + select @isPG = FLAGPG from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + + if @isPG = 0 + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + END + + ELSE /* isPG = 1 */ + BEGIN + select @isPG_NQ = + CASE + WHEN FLAGNQP IS NULL or FLAGNQP ='' THEN 'N' + ELSE FLAGNQP + END + from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + + if @isPG_NQ = 'S' + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + END + + ELSE /* isPG_NQ = N */ + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and adeg.[FLAGNQP]=@isPG_NQ + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + --and an.[FLAGNQP]='N' and coalesce(adeg.[FLGPRLRDE],'yn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + END + END + END + +ELSE /* Mandatario - Fiduciaria */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = @CF + + /* case PG = 0 forced, dont' considerate flags FLAGPG, FLAGNQP, FLGPRLRDE */ + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@d + END +END + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620.sql b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620.sql new file mode 100644 index 00000000..b999db8e --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620.sql @@ -0,0 +1,66 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: test_compl_testo_sezione_adeg_PG_QPROF_20170620 + + + + + +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '97080600154' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'SGHDMN66M07G920Z' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '00118220524' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', 'ZZLLNI57B06D245V' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'LTTGRG68T04I324Z' + +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF_20170620] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +DECLARE @d nvarchar(8) + +if @CodiceFiscale not like 'FF@%' + BEGIN + select @d = max(DTTRIM) from + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + END +ELSE /* Mandatario */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + + select @d = max(DTTRIM) from + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF + + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF + and DTTRIM=@d + END + +END + + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620_consegnato.sql b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620_consegnato.sql new file mode 100644 index 00000000..7846bc9f --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620_consegnato.sql @@ -0,0 +1,70 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: test_compl_testo_sezione_adeg_PG_QPROF_20170620_consegnato + + + + + + + +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '01634240160' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'SGHDMN66M07G920Z' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '00118220524' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', 'ZZLLNI57B06D245V' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'LTTGRG68T04I324Z' + +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF_20170620_consegnato] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +DECLARE @d nvarchar(8) + +if @CodiceFiscale not like 'FF@%' + BEGIN + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d +and ( an.[FLAGPG]=0 + or ( + an.[FLAGPG]=1 and an.[FLAGNQP]=adeg.[FLAGNQP] and coalesce(adeg.[FLGPRLRDE],'sn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + ) + ) + END +ELSE /* Mandatario */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = @CF + + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF + and DTTRIM=@d + and an.[FLAGPG]=0 + or ( + an.[FLAGPG]=1 and an.[FLAGNQP]=adeg.[FLAGNQP] and coalesce(adeg.[FLGPRLRDE],'sn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + ) + END + +END + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_trim.sql b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_trim.sql new file mode 100644 index 00000000..32056c5c --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_trim.sql @@ -0,0 +1,59 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: test_compl_testo_sezione_adeg_PG_QPROF_trim + + +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF_trim] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + + +DECLARE @d nvarchar(8) +declare @da datetime +set @d = c6martperiodico.getTrimestre(getdate(), 0) + +if @CodiceFiscale not like 'FF@%' + BEGIN + --select @d = max(DTTRIM) from + --[C6StagingPeriodico].[WSEIAN] an + --INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + --ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + --WHERE codfis = @CodiceFiscale and RETE = @Rete + + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + END +ELSE /* Mandatario */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + + --select @d = max(DTTRIM) from + --[C6StagingPeriodico].[WSEIAN] an + --INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + --ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and adeg.[FLAGPG]=0 and adeg.[FLAGNQP]='N' and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + --WHERE codman = @CF and RETE = @Rete + + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and adeg.[FLAGPG]=0 and adeg.[FLAGNQP]='N' and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@d + END + +END + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.1.0.sql b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.1.0.sql new file mode 100644 index 00000000..251a76ea --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.1.0.sql @@ -0,0 +1,39 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: test_compl_testo_sezione_adeg_V.1.0 + + +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg] 'f', 'BLDMRA59E22G999d', '2015-06-01' + +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_V.1.0] + @Rete nvarchar(1), + @CodiceFiscale varchar(16), + @DTTRIM datetime = null + +AS +BEGIN + +DECLARE @d nvarchar(8) +set @d = cast(year(@DTTRIM) as nvarchar(4)) + RIGHT('0'+cast(month(@DTTRIM) as nvarchar(2)), 2) + + RIGHT('0'+cast(day(@DTTRIM) as nvarchar(2)),2) + +print @d + +if @DTTRIM is null + +select @d = max(DTTRIM) from +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete + + +SELECT top(1) [TESTO_NOTA] FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +and DTTRIM=@d + +END + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.2.0.sql b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.2.0.sql new file mode 100644 index 00000000..a9187ed6 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.2.0.sql @@ -0,0 +1,107 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: test_compl_testo_sezione_adeg_V.2.0 + + + +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg] 'f', 'BLDMRA59E22G999d', '2015-06-01' + +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_V.2.0] + @Rete nvarchar(1), + @CodiceFiscale varchar(16), + @DTTRIM datetime = null + +AS +BEGIN + +DECLARE @d nvarchar(8) +set @d = cast(year(@DTTRIM) as nvarchar(4)) + RIGHT('0'+cast(month(@DTTRIM) as nvarchar(2)), 2) + + RIGHT('0'+cast(day(@DTTRIM) as nvarchar(2)),2) + +print @d + +if @DTTRIM is null + +begin + +if @CodiceFiscale not like 'FF@%' BEGIN + +select @d = max(DTTRIM) from +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete + +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +and DTTRIM=@d + +END +ELSE + +BEGIN + +DECLARE @CF as nvarchar(max) +set @CF = replace(@CodiceFiscale, 'FF@', '') + +select @d = max(DTTRIM) from +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CF + +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CF +and DTTRIM=@d + +END + +end +else +begin + +if @CodiceFiscale not like 'FF@%' BEGIN + + + +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +and DTTRIM=@DTTRIM + +END +ELSE + +BEGIN + +DECLARE @CFF as nvarchar(max) +set @CFF = replace(@CodiceFiscale, 'FF@', '') + +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CFF +and DTTRIM=@DTTRIM + +END + + +end + + + + + + +END + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.3.0.sql b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.3.0.sql new file mode 100644 index 00000000..f4545fc4 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.3.0.sql @@ -0,0 +1,107 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: test_compl_testo_sezione_adeg_V.3.0 + + + + +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg] 'f', 'BLDMRA59E22G999d', '2015-06-01' + +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_V.3.0] + @Rete nvarchar(1), + @CodiceFiscale varchar(16), + @DTTRIM datetime = null + +AS +BEGIN + +DECLARE @d nvarchar(8) +set @d = cast(year(@DTTRIM) as nvarchar(4)) + RIGHT('0'+cast(month(@DTTRIM) as nvarchar(2)), 2) + + RIGHT('0'+cast(day(@DTTRIM) as nvarchar(2)),2) + +print @d + +if @DTTRIM is null + +begin + +if left(@CodiceFiscale,3) <> 'FF@' BEGIN + +select @d = max(DTTRIM) from +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete + +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +and DTTRIM=@d + +END +ELSE + +BEGIN + +DECLARE @CF as nvarchar(max) +set @CF = replace(@CodiceFiscale, 'FF@', '') + +select @d = max(DTTRIM) from +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CF + +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CF +and DTTRIM=@d + +END + +end +else +begin + +if left(@CodiceFiscale,3) <> 'FF@' BEGIN + +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +and DTTRIM=@DTTRIM + +END +ELSE + +BEGIN + +DECLARE @CFF as nvarchar(max) +set @CFF = replace(@CodiceFiscale, 'FF@', '') + +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CFF +and DTTRIM=@DTTRIM + +END + + +end + + + + + + +END + + + + diff --git a/sql/storedCollaudo/C6StagingPeriodico_zzzRP_CREA_POSITIONID_CONSULENZA.sql b/sql/storedCollaudo/C6StagingPeriodico_zzzRP_CREA_POSITIONID_CONSULENZA.sql new file mode 100644 index 00000000..99ab7434 --- /dev/null +++ b/sql/storedCollaudo/C6StagingPeriodico_zzzRP_CREA_POSITIONID_CONSULENZA.sql @@ -0,0 +1,102 @@ +-- Schema: C6StagingPeriodico +-- Stored Procedure: zzzRP_CREA_POSITIONID_CONSULENZA + +-- ============================================= +-- AUTHOR: +-- alter DATE: 10/05/2010 +-- Description: +-- ============================================= + + +CREATE procedure [C6StagingPeriodico].[zzzRP_CREA_POSITIONID_CONSULENZA] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione giornaliera' + ) +--select top 1 * from C6StagingPeriodico.consulenza + + UPDATE +C6StagingPeriodico.RP_CONSULENZA + + SET + POSITION_ID = + [C6StagingPeriodico].[RP_INFO_DAPRODOTTOCSACATALOGO] --DBO.INFO_DAPRODOTTOCSACATALOGO + ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + --V ISIN per ASU2 + --controllare se gli ASU2 vengono gestiti bene + CASE + WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') + ELSE '' + END, + CODSOTTOPRODOTTO + ) + --END + + + DBO.CREA_POSITIONID + ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + '', + CODSOTTOPRODOTTO, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + NUMPOLIZZA, + CONTO, + RUBRICATO, + CUSTGAR, + TERMID, + cast(ANNO as decimal(3,0)), + cast(PROG as decimal(9,0)) + --'',0,0 + /* decommentare dopo che nello ci da le regole per la ricostruzione del pctkey => anno + prog + termid + , + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + +*/ + ) + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) + +END + + diff --git a/sql/storedCollaudo/C6Staging_CREA_FIRMA_PROMOTORE.sql b/sql/storedCollaudo/C6Staging_CREA_FIRMA_PROMOTORE.sql new file mode 100644 index 00000000..72edee07 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_CREA_FIRMA_PROMOTORE.sql @@ -0,0 +1,17 @@ +-- Schema: C6Staging +-- Stored Procedure: CREA_FIRMA_PROMOTORE + + +CREATE procedure [C6Staging].[CREA_FIRMA_PROMOTORE] as +begin +update [C6Staging].[ADS4WS_PROMOTORI] +set firma = case when rete = 'F' then 'R'+codice + else 'P'+codice end, + +prefisso = case when rete = 'F' then 'R' + else 'P'end + + +end + + diff --git a/sql/storedCollaudo/C6Staging_CheckScartiMIFID.sql b/sql/storedCollaudo/C6Staging_CheckScartiMIFID.sql new file mode 100644 index 00000000..9682e216 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_CheckScartiMIFID.sql @@ -0,0 +1,55 @@ +-- Schema: C6Staging +-- Stored Procedure: CheckScartiMIFID + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Staging].[CheckScartiMIFID] + -- Add the parameters for the stored procedure here +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + /*-- Insert statements for procedure here + DECLARE @iScarti INT + + SELECT @iScarti = count(rete+codiceFiscale) + FROM C6STAGING.SPB_SCARTI SPB + WHERE pacchettoSSIS = 'SPB_MIFID' +select @iScarti + IF @iScarti > 0 + RAISERROR ('Scarti MIFID presenti.', -- Message text. + 16, -- Severity. + 1 -- State. + ); + */ + + declare @iScarti INT + + select @iscarti = + count(*) + from + c6mart.vContrattiMigrati n + left join + C6STAGING.SPB_MIFID m + on + n.rete = m.rete and + n.cod_fiscale = m.codiceFiscale + where + m.rete is null + + if @iScarti > 0 + RAISERROR ('Scarti MIFID presenti.', -- Message text. + 16, -- Severity. + 1 -- State. + ); + + +END + + + diff --git a/sql/storedCollaudo/C6Staging_DecodificaIndicatoriAdeguatezza.sql b/sql/storedCollaudo/C6Staging_DecodificaIndicatoriAdeguatezza.sql new file mode 100644 index 00000000..14b179a9 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_DecodificaIndicatoriAdeguatezza.sql @@ -0,0 +1,112 @@ +-- Schema: C6Staging +-- Stored Procedure: DecodificaIndicatoriAdeguatezza + + + + + +CREATE procedure [C6Staging].[DecodificaIndicatoriAdeguatezza] + +as + +begin + +--1. RM - Rischio Mercato + update a + set [RM_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + on a.RM_ADEGUATEZZA_INDICATORE = b.Adeguato + where b.Ordine = 1 + +--2. RC - Rischio Credito + -- 20180821 CR Rischio Credito adeguato se non si riesce a calcolarlo + --update a + --set [RC_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + --from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + -- inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + -- on a.RC_ADEGUATEZZA_INDICATORE = b.Adeguato + --where b.Ordine = 2 + + update a + set [RS_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + on a.RS_ADEGUATEZZA_INDICATORE = b.Adeguato + where b.Ordine = 2 + and a.RS_ADEGUATEZZA_INDICATORE in (0, 1) + + update a + set + a.RS_ADEGUATEZZA_INDICATORE = 1, + a.RS_ADEGUATEZZA_DESCRIZIONE = (select b.DescrizioneEsito from [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b where b.Ordine = 2 and b.Adeguato = 1) + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + where a.RS_ADEGUATEZZA_INDICATORE = -1 + + -- FINE 20180821 CR + +--3. CE - Concentrazione emittenti + update a + set [TH_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + on a.TH_ADEGUATEZZA_INDICATORE = b.Adeguato + where b.Ordine = 3 + +--4. CM - Complessita + --update a + --set [CM_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + --from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + -- inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + -- on a.CM_ADEGUATEZZA_INDICATORE = b.Adeguato + --where b.Ordine = 4 + + update a + set [CM_ADEGUATEZZA_DESCRIZIONE] = (select DescrizioneEsito from [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] where Ordine = 4 and Adeguato = '1') + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + where a.CM_ADEGUATEZZA_INDICATORE = 1 + + update a + set [CM_ADEGUATEZZA_DESCRIZIONE] = (select DescrizioneEsito from [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] where Ordine = 4 and Adeguato = '-1') + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + where a.CM_ADEGUATEZZA_INDICATORE = -1 + + update a + set [CM_ADEGUATEZZA_DESCRIZIONE] = (select DescrizioneEsito from [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] where Ordine = 4 and Adeguato = '0A') + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + where a.CM_ADEGUATEZZA_INDICATORE = 0 + +--5. CC - Concentrazione prodotti complessi + update a + set [CC_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + on a.CC_ADEGUATEZZA_INDICATORE = b.Adeguato + where b.Ordine = 5 + +--6. FQ - Frequenza delle operazioni + update a + set [FQ_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + on a.FQ_ADEGUATEZZA_INDICATORE = b.Adeguato + where b.Ordine = 6 + +--7. LQ - Liquidit/liquidabilit (Orizzonti temporali degli investimenti) + update a + set [CE_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + on a.CE_ADEGUATEZZA_INDICATORE = b.Adeguato + where b.Ordine = 7 + + update a + set [CV_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + on a.CV_ADEGUATEZZA_INDICATORE = b.Adeguato + where b.Ordine = 8 + +end + + diff --git a/sql/storedCollaudo/C6Staging_RP_AGGIORNA_SPB_PROF_RISCHIO.sql b/sql/storedCollaudo/C6Staging_RP_AGGIORNA_SPB_PROF_RISCHIO.sql new file mode 100644 index 00000000..6a9af07d --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_AGGIORNA_SPB_PROF_RISCHIO.sql @@ -0,0 +1,24 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_AGGIORNA_SPB_PROF_RISCHIO + + + + + + + +CREATE procedure [C6Staging].[RP_AGGIORNA_SPB_PROF_RISCHIO] + +AS +BEGIN + +update C6Staging.SPB_PROF_RISCHIO +set VARTRIMESTRALE=d.varmax +from consuni.consulenzaunica.dbo.dprofilo d +inner join C6Staging.SPB_PROF_RISCHIO s +on d.profilo=s.CODICEPROFILO + + + +END + diff --git a/sql/storedCollaudo/C6Staging_RP_CREA_POSITIONID.sql b/sql/storedCollaudo/C6Staging_RP_CREA_POSITIONID.sql new file mode 100644 index 00000000..51a7dd79 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_CREA_POSITIONID.sql @@ -0,0 +1,96 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_CREA_POSITIONID + + +-- ============================================= +-- AUTHOR: +-- alter DATE: 10/05/2010 +-- Description: +-- ============================================= +CREATE procedure [C6Staging].[RP_CREA_POSITIONID] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID', + GETDATE(), + 'Elaborazione giornaliera' + ) + + UPDATE +C6Staging.SPB_CONTR_SINTESI + + SET + POSITIONID = + [C6STAGING].[RP_INFO_DAPRODOTTOCSACATALOGO] --DBO.INFO_DAPRODOTTOCSACATALOGO + ( + TIPOPRODOTTO, + CODICEINTERNO, + CODICEMAF, + --V ISIN per ASU2 + ISNULL(ISIN,''), + CODICESOTTOPRODOTTO + ) + --END + + + DBO.CREA_POSITIONID + ( + TIPOPRODOTTO, + CODICEINTERNO, + CODICEMAF, + '', + CODICESOTTOPRODOTTO, + CODICECONTRATTO, -- VERIFICARNE LA CORRETTEZZA + NUMEROPOLIZZA, + CONTO, + RUBRICATO, + CUSTODIAGARANZIA, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + + update C6Staging.SPB_CONTR_SINTESI + SET CATALOGUEID = + CASE WHEN isin = '$' or isin is null then '############' else CONVERT(char(12),isin) END + + CASE WHEN CODICEMAF = '$' or CODICEMAF is null then '###############' else CONVERT(char(15),CODICEMAF) END + + CASE WHEN CODICEINTERNO = '$' or CODICEINTERNO is null then '###############' else CONVERT(char(15),CODICEINTERNO) END + + CASE WHEN CODICESOTTOPRODOTTO = '$' or CODICESOTTOPRODOTTO is null then '###############' else CONVERT(char(15),CODICESOTTOPRODOTTO) END + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_CREA_POSITIONID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Staging_RP_CREA_POSITIONID_2011113.sql b/sql/storedCollaudo/C6Staging_RP_CREA_POSITIONID_2011113.sql new file mode 100644 index 00000000..98a92922 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_CREA_POSITIONID_2011113.sql @@ -0,0 +1,90 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_CREA_POSITIONID_2011113 + + +-- ============================================= +-- AUTHOR: +-- alter DATE: 10/05/2010 +-- Description: +-- ============================================= +CREATE procedure [C6Staging].[RP_CREA_POSITIONID_2011113] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID', + GETDATE(), + 'Elaborazione giornaliera' + ) + + UPDATE +C6Staging.SPB_CONTR_SINTESI + + SET + POSITIONID = + [C6STAGING].[RP_INFO_DAPRODOTTOCSACATALOGO] --DBO.INFO_DAPRODOTTOCSACATALOGO + ( + TIPOPRODOTTO, + CODICEINTERNO, + CODICEMAF, + --V ISIN per ASU2 + ISNULL(ISIN,''), + CODICESOTTOPRODOTTO + ) + --END + + + DBO.CREA_POSITIONID + ( + TIPOPRODOTTO, + CODICEINTERNO, + CODICEMAF, + '', + CODICESOTTOPRODOTTO, + CODICECONTRATTO, -- VERIFICARNE LA CORRETTEZZA + NUMEROPOLIZZA, + CONTO, + RUBRICATO, + CUSTODIAGARANZIA, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_CREA_POSITIONID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Staging_RP_CREA_POSITIONID_CONSULENZA.sql b/sql/storedCollaudo/C6Staging_RP_CREA_POSITIONID_CONSULENZA.sql new file mode 100644 index 00000000..b45d93c0 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_CREA_POSITIONID_CONSULENZA.sql @@ -0,0 +1,136 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_CREA_POSITIONID_CONSULENZA + + + + + + + + +CREATE procedure [C6Staging].[RP_CREA_POSITIONID_CONSULENZA] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Giornaliero' + ) + +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + --Inizio intervento Omnia + --CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--inizio INTERVENTO 'RE' - 20161223 + 'RF' - 20171113 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') THEN ISNULL(CODISIN,'') +--fine INTERVENTO 'RE' - 20161223 + ELSE '' END AS CODISIN, +--FINE INTERVENTO MIGRAZIONE ASU3 + --Fine intervento Omnia + CODSOTTOPRODOTTO, + position_id +INTO #TAB1 +FROM C6Staging.RP_CONSULENZA + +UPDATE #TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGING.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) + +--DECLARE @CNTNULL as int +--SELECT @CNTNULL = COUNT(*) FROM #TAB1 WHERE isnull(position_id,'') = '' +-- +-- +--IF @CNTNULL = 0 + + UPDATE C6Staging.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', +--inizio INTERVENTO 'RE' - 20161223 + 'RF' - 20171113 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + CASE WHEN C.CODINTERNO in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') THEN ISNULL(c.CODISIN,'') +--fine INTERVENTO 'RE' - 20161223 + 'RF' - 20171113 + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6Staging.RP_CONSULENZA c + left join #TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') + --Inizio intervento Omnia +--INIZIO INTERVENTO MIGRAZIONE ASU3 + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2', 'GP') THEN ISNULL(c.CODISIN,'') ELSE '' END +--inizio INTERVENTO 'RE' - 20161223 + 'RF' - 20171113 + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB') + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') +--fine INTERVENTO 'RE' - 20161223 + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 + --Fine intervento Omnia + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null + + +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6Staging.RP_CONSULENZA WHERE isnull(position_id,'') <> '' + +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) + +drop table #TAB1 + + + +END + + + + diff --git a/sql/storedCollaudo/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20161223.sql b/sql/storedCollaudo/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20161223.sql new file mode 100644 index 00000000..fb50aee1 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20161223.sql @@ -0,0 +1,118 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_CREA_POSITIONID_CONSULENZA_20161223 + + +CREATE procedure [C6Staging].[RP_CREA_POSITIONID_CONSULENZA_20161223] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Giornaliero' + ) + +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + --Inizio intervento Omnia + --CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + ELSE '' END AS CODISIN, +--FINE INTERVENTO MIGRAZIONE ASU3 + --Fine intervento Omnia + CODSOTTOPRODOTTO, + position_id +INTO #TAB1 +FROM C6Staging.RP_CONSULENZA + +UPDATE #TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGING.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) + +--DECLARE @CNTNULL as int +--SELECT @CNTNULL = COUNT(*) FROM #TAB1 WHERE isnull(position_id,'') = '' +-- +-- +--IF @CNTNULL = 0 + + UPDATE C6Staging.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', + CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6Staging.RP_CONSULENZA c + left join #TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') + --Inizio intervento Omnia +--INIZIO INTERVENTO MIGRAZIONE ASU3 + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2', 'GP') THEN ISNULL(c.CODISIN,'') ELSE '' END + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB') + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 + --Fine intervento Omnia + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null + + +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6Staging.RP_CONSULENZA WHERE isnull(position_id,'') <> '' + +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) + +drop table #TAB1 + + + +END + + + + diff --git a/sql/storedCollaudo/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20171113_orig.sql b/sql/storedCollaudo/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20171113_orig.sql new file mode 100644 index 00000000..b741fcd5 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20171113_orig.sql @@ -0,0 +1,127 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_CREA_POSITIONID_CONSULENZA_20171113_orig + + +CREATE procedure [C6Staging].[RP_CREA_POSITIONID_CONSULENZA] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Giornaliero' + ) + +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + --Inizio intervento Omnia + --CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--inizio INTERVENTO 'RE' - 20161223 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(CODISIN,'') +--fine INTERVENTO 'RE' - 20161223 + ELSE '' END AS CODISIN, +--FINE INTERVENTO MIGRAZIONE ASU3 + --Fine intervento Omnia + CODSOTTOPRODOTTO, + position_id +INTO #TAB1 +FROM C6Staging.RP_CONSULENZA + +UPDATE #TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGING.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) + +--DECLARE @CNTNULL as int +--SELECT @CNTNULL = COUNT(*) FROM #TAB1 WHERE isnull(position_id,'') = '' +-- +-- +--IF @CNTNULL = 0 + + UPDATE C6Staging.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', +--inizio INTERVENTO 'RE' - 20161223 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(c.CODISIN,'') +--fine INTERVENTO 'RE' - 20161223 + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6Staging.RP_CONSULENZA c + left join #TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') + --Inizio intervento Omnia +--INIZIO INTERVENTO MIGRAZIONE ASU3 + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2', 'GP') THEN ISNULL(c.CODISIN,'') ELSE '' END +--inizio INTERVENTO 'RE' - 20161223 + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB') + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB','RE') +--fine INTERVENTO 'RE' - 20161223 + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 + --Fine intervento Omnia + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null + + +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6Staging.RP_CONSULENZA WHERE isnull(position_id,'') <> '' + +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) + +drop table #TAB1 + + + +END + + + + diff --git a/sql/storedCollaudo/C6Staging_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql b/sql/storedCollaudo/C6Staging_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql new file mode 100644 index 00000000..1001799c --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql @@ -0,0 +1,53 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE + + +-- Questa sp aggiorna il campo 'beneficio' della [PROMETEIA_AGGR] con il valore del nuovo indicatore dalla nuova tabella PROMETEIA_AGGR_IndDiv +CREATE procedure [C6Staging].[RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE] + +AS +BEGIN + +update [C6Staging].[PROMETEIA_AGGR_IndDiv] +set indicatore = '0.0' where indicatore = '0' + +update [C6Staging].[PROMETEIA_AGGR_IndDiv] +set indicatore = '100.0' where indicatore = '100' + + --aggiorna il beneficio per il COMPLESSIVO +--UPDATE aggr set aggr.beneficio = CAST(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) AS DECIMAL(12,3)) +--con le replace sostituisco i caratteri speciali a fine testo che mandano in errore il cast quando l'indicatore = 0.0 - CHAR(13) = cr, CHAR(10) = lf +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6Staging].[PROMETEIA_AGGR] aggr +inner join +[C6Staging].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale +where aggr.portafoglio = 'COMPLESSIVO' + +--aggiorna il beneficio per il COMPLESSIVO|BF +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6Staging].[PROMETEIA_AGGR] aggr +inner join +[C6Staging].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_BF' +where aggr.portafoglio = 'COMPLESSIVO|BF' + +--aggiorna il beneficio per il COMPLESSIVO|TERZI +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6Staging].[PROMETEIA_AGGR] aggr +inner join +[C6Staging].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_TERZI' +where aggr.portafoglio = 'COMPLESSIVO|TERZI' + + + + +END + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_AnAlberatura.sql b/sql/storedCollaudo/C6Staging_RP_ST_AnAlberatura.sql new file mode 100644 index 00000000..ae18e0ab --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_AnAlberatura.sql @@ -0,0 +1,59 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_AnAlberatura + +CREATE procedure [C6Staging].[RP_ST_AnAlberatura] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AnAlberatura', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_AnAlberatura + + insert into c6staging.RP_AnAlberatura ( + Alberatura, + Livello1, + Livello2, + Livello3, + Livello4, + Livello5 +) + select + Alberatura, + Livello1, + Livello2, + Livello3, + Livello4, + Livello5 + + from [CONSUNI].CatalogoProdotti.dbo.AnAlberatura + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AnAlberatura' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_AnAlberatura' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_AnEmittente.sql b/sql/storedCollaudo/C6Staging_RP_ST_AnEmittente.sql new file mode 100644 index 00000000..e7b9f580 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_AnEmittente.sql @@ -0,0 +1,53 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_AnEmittente + +CREATE procedure [C6Staging].[RP_ST_AnEmittente] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AnEmittente', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_AnEmittente + + insert into c6staging.RP_AnEmittente ( + [Emittente] + ,[Descrizione] ) + + select + + [Emittente] + ,[Descrizione] + + + + from [CONSUNI].CatalogoProdotti.dbo.AnEmittente + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AnEmittente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_AnEmittente' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_AssetClass.sql b/sql/storedCollaudo/C6Staging_RP_ST_AssetClass.sql new file mode 100644 index 00000000..b5d190ff --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_AssetClass.sql @@ -0,0 +1,61 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_AssetClass + +CREATE procedure [C6Staging].[RP_ST_AssetClass] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AssetClass', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_AssetClass + + insert into c6staging.RP_AssetClass ( + Asset, + Madre, + Livello, + Descrizione, + codicergb, + isresidual ) + + select + Asset, + Madre, + Livello, + Descrizione, + codicergb, + isresidual + + + + from [CONSUNI].[CatalogoProdotti].dbo.AssetClass + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AssetClass' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_AssetClass' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_CatalogoProdotti.sql b/sql/storedCollaudo/C6Staging_RP_ST_CatalogoProdotti.sql new file mode 100644 index 00000000..2cd0fce4 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_CatalogoProdotti.sql @@ -0,0 +1,144 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_CatalogoProdotti + + + +CREATE procedure [C6Staging].[RP_ST_CatalogoProdotti] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti', + GETDATE(), + 'Elaborazione giornaliera' + ) +--drop table c6staging.RP_CatalogoProdotti + truncate table c6staging.RP_CatalogoProdotti + +INSERT INTO [C6Staging].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + , [TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore] + ,[DESCR_SGR] + ,[Dossier] + ,[SottoProdottoSelf]) + select cat.[ChiaveProdotto] + ,cat.[CodSottoprodotto] + ,cat.[CodInterno] + ,cat.[CodMaf] + ,cat.[CodAdeguatezza] + ,cat.[CodIsin] + ,cat.[TipoVersamento] + ,cat.[RischioPrSc] + ,cat.[StatoProdotto] + ,cat.[TipoPolizza] + ,cat.[NomeProdotto] + ,cat.[Visibilita] + ,cat.[PrezzoInEuro] + ,cat.[Alberatura] + ,cat.[DtScadenza] + ,cat.[Categoria] + ,cat.[Istituto] + ,cat.[Piazza] + ,cat.[PrezzoInValuta] + ,cat.[PrezzoValuta] + ,cat.[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN cat.[TipoProdotto] = 'ASU3' then 'ASU1' else cat.[TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,cat.[RatingObbligazioni] + ,cat.[RischioMinimo] + ,cat.[CapRisparmio] + ,cat.[CapMinimo] + ,cat.[CapMinimoValuta] + ,cat.[CapMinSucc] + ,cat.[CapMinSuccValuta] + ,cat.[MinRispContr] + ,cat.[MinRispContrValuta] + ,cat.[SuccRispContr] + ,cat.[SuccRispContrValuta] + ,cat.[MinComm] + ,cat.[MinCommValuta] + ,cat.[Delega diff --git a/sql/storedCollaudo/C6Staging_RP_ST_Cliente.sql b/sql/storedCollaudo/C6Staging_RP_ST_Cliente.sql new file mode 100644 index 00000000..ab74cbb1 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_Cliente.sql @@ -0,0 +1,129 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_Cliente + + +CREATE procedure [C6Staging].[RP_ST_Cliente] +AS + +BEGIN + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Cliente', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_Cliente + + --insert into c6staging.RP_Cliente + ----select * into c6staging.RP_Cliente from CONSUNI.ConsulenzaUnica.dbo.Cliente + --select chiaveCliente + -- ,codFis + -- ,pIva + -- ,codMan + -- ,nome + -- ,SUBSTRING(cognome, 1, 50) -- TOPPA INSERITA PERCH MODIFCA NON COMUNICATA A REPORTISTA BATCH + -- ,tipologia + -- ,dtNascita + -- ,indirizzo + -- ,numCivico + -- ,citta + -- ,cap + -- ,nazione + -- ,idQuestionario + -- ,dtQuestionario + -- ,dtScadQuest + -- ,profilo + -- ,frequenza + -- ,rendicSemestrale + -- ,codStatoCivile + -- ,sesso + -- ,codTitoloStudio + -- ,flagCanOnLine + -- ,numFigli + -- ,codProvNasc + -- ,codComNasc + -- ,codNazNasc + -- ,fonte + -- ,pinCode + -- ,cittadinanza + -- ,provincia from CONSUNI.ConsulenzaUnica.dbo.Cliente + + /* NUOVA PER SEMPLIFICAZIONE */ + + insert into c6staging.RP_Cliente + select + cli.chiaveCliente + ,codFis + ,pIva + ,codMan + ,nome + ,SUBSTRING(cognome, 1, 50) -- TOPPA INSERITA PERCH MODIFCA NON COMUNICATA A REPORTISTA BATCH + ,tipologia --CHIEDERE AD ALESSIA SU CLIENTEPB + ,dtNascita + ,indirizzo + ,numCivico + ,c.NomeComune as citta + ,cap + ,n.descrizioneNazione as nazione + ,idQuestionario + ,null--,dtQuestionario + ,null -- ,dtScadQuest + ,profilo + ,cli.frequenza + ,rendicSemestrale + ,codStatoCivile + ,genere as sesso + ,codTitoloStudio + ,flagCanOnLine + ,numFigli + ,codProvNasc + ,codComNasc + ,codNazNasc + ,fonte + ,pinCode + ,cli.cittadinanza + ,null as provincia + from CONSUNI.ConsulenzaUnica.dbo.Cliente cli + -- Modifica del 14/6/2017 per evitare di caricare sulla tabella cliente dei cf duplicati che non hanno riferimenti sulla clientePB + --LEFT JOIN CONSUNI.ConsulenzaUnica.dbo.ClientePB clipb + INNER JOIN CONSUNI.ConsulenzaUnica.dbo.ClientePB clipb + -- fine Modifica del 14/6/2017 + on clipb.chiavecliente = cli.chiavecliente + left join CONSUNI.ConsulenzaUnica.dbo.DComune c + on c.codcomune = cli.codcomRes + left join CONSUNI.ConsulenzaUnica.dbo.Dnazione n + on n.codNazione = cli.CodNazRes + + + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Cliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Cliente' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_ClientePB.sql b/sql/storedCollaudo/C6Staging_RP_ST_ClientePB.sql new file mode 100644 index 00000000..237bea9c --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_ClientePB.sql @@ -0,0 +1,68 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_ClientePB + +CREATE procedure [C6Staging].[RP_ST_ClientePB] +AS + +BEGIN + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ClientePB', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_ClientePB + + insert into c6staging.RP_ClientePB ( + chiaveClientePB, + chiaveCliente, + chiavePB, + idQuestionario, + profilo, + frequenza, + pirModAuto, + fonte, + tipologia, + pirModModif ) + + select + chiaveClientePB, + chiaveCliente, + chiavePB, + idQuestionario, + profilo, + frequenza, + null, + null, + tipologia, + null + + from [CONSUNI].ConsulenzaUnica.dbo.ClientePB + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ClientePB' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_ClientePB' + ) + +END + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_Cliente_20170614.sql b/sql/storedCollaudo/C6Staging_RP_ST_Cliente_20170614.sql new file mode 100644 index 00000000..2646a55a --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_Cliente_20170614.sql @@ -0,0 +1,126 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_Cliente_20170614 + + +CREATE procedure [C6Staging].[RP_ST_Cliente_20170614] +AS + +BEGIN + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Cliente', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_Cliente + + --insert into c6staging.RP_Cliente + ----select * into c6staging.RP_Cliente from CONSUNI.ConsulenzaUnica.dbo.Cliente + --select chiaveCliente + -- ,codFis + -- ,pIva + -- ,codMan + -- ,nome + -- ,SUBSTRING(cognome, 1, 50) -- TOPPA INSERITA PERCH MODIFCA NON COMUNICATA A REPORTISTA BATCH + -- ,tipologia + -- ,dtNascita + -- ,indirizzo + -- ,numCivico + -- ,citta + -- ,cap + -- ,nazione + -- ,idQuestionario + -- ,dtQuestionario + -- ,dtScadQuest + -- ,profilo + -- ,frequenza + -- ,rendicSemestrale + -- ,codStatoCivile + -- ,sesso + -- ,codTitoloStudio + -- ,flagCanOnLine + -- ,numFigli + -- ,codProvNasc + -- ,codComNasc + -- ,codNazNasc + -- ,fonte + -- ,pinCode + -- ,cittadinanza + -- ,provincia from CONSUNI.ConsulenzaUnica.dbo.Cliente + + /* NUOVA PER SEMPLIFICAZIONE */ + + insert into c6staging.RP_Cliente + select + cli.chiaveCliente + ,codFis + ,pIva + ,codMan + ,nome + ,SUBSTRING(cognome, 1, 50) -- TOPPA INSERITA PERCH MODIFCA NON COMUNICATA A REPORTISTA BATCH + ,tipologia --CHIEDERE AD ALESSIA SU CLIENTEPB + ,dtNascita + ,indirizzo + ,numCivico + ,c.NomeComune as citta + ,cap + ,n.descrizioneNazione as nazione + ,idQuestionario + ,null--,dtQuestionario + ,null -- ,dtScadQuest + ,profilo + ,cli.frequenza + ,rendicSemestrale + ,codStatoCivile + ,genere as sesso + ,codTitoloStudio + ,flagCanOnLine + ,numFigli + ,codProvNasc + ,codComNasc + ,codNazNasc + ,fonte + ,pinCode + ,cli.cittadinanza + ,null as provincia + from CONSUNI.ConsulenzaUnica.dbo.Cliente cli + LEFT JOIN CONSUNI.ConsulenzaUnica.dbo.ClientePB clipb + on clipb.chiavecliente = cli.chiavecliente + left join CONSUNI.ConsulenzaUnica.dbo.DComune c + on c.codcomune = cli.codcomRes + left join CONSUNI.ConsulenzaUnica.dbo.Dnazione n + on n.codNazione = cli.CodNazRes + + + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Cliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Cliente' + ) + +END + + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_DettAltriProdotti.sql b/sql/storedCollaudo/C6Staging_RP_ST_DettAltriProdotti.sql new file mode 100644 index 00000000..b2c2ff26 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_DettAltriProdotti.sql @@ -0,0 +1,67 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_DettAltriProdotti + +CREATE procedure [C6Staging].[RP_ST_DettAltriProdotti] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettAltriProdotti', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_DettAltriProdotti + + +/* 11/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non pi utilizzati per l'evolutiva patrimonio immobiliare. +*/ + insert into c6staging.RP_DettAltriProdotti + --select * into c6staging.RP_DettAltriProdotti from [CONSUNI].[ConsulenzaUnica].dbo.DettAltriProdotti + --select * from [CONSUNI].[ConsulenzaUnica].dbo.DettAltriProdotti + select [chiaveProdottoTerzi], + [idTipoExtra], + [descrizione], + NULL, + [valoreStimato], + NULL, + NULL, + NULL, + [flagAssicurativo], + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + + from [CONSUNI].[ConsulenzaUnica].dbo.DettAltriProdotti + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettAltriProdotti' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettAltriProdotti' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_DettImmobiliare.sql b/sql/storedCollaudo/C6Staging_RP_ST_DettImmobiliare.sql new file mode 100644 index 00000000..cfb13b2a --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_DettImmobiliare.sql @@ -0,0 +1,75 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_DettImmobiliare + +CREATE procedure [C6Staging].[RP_ST_DettImmobiliare] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettImmobiliare', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_DettImmobiliare + --drop table c6staging.RP_DettImmobiliare + + /* 08/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non pi utilizzati. + Sostituzione del campo valore immobile con valoreimmobiletotale per l'evolutiva patrimonio immobiliare. +*/ + insert into c6staging.RP_DettImmobiliare + + --select * + --into c6staging.RP_DettImmobiliare + select + [chiaveProdottoTerzi], + [descrizione], + [codProvincia], + [provincia], + [codComune], + [comune], + [codZona], + [zona], + [superficie], + NULL, + NULL, + NULL, + --[valoreImmobile], + [valoreImmobileTotale], + NULL, + [renditaAnnua], + NULL, + NULL, + NULL, + NULL, + NULL, + [codTipologia], + [tipologia] + --into c6staging.RP_DettImmobiliare + from [CONSUNI].[ConsulenzaUnica].dbo.DettImmobiliare + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettImmobiliare' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettImmobiliare' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_DettImmobiliare_20190107_ProQuota.sql b/sql/storedCollaudo/C6Staging_RP_ST_DettImmobiliare_20190107_ProQuota.sql new file mode 100644 index 00000000..7f2f2be0 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_DettImmobiliare_20190107_ProQuota.sql @@ -0,0 +1,80 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_DettImmobiliare_20190107_ProQuota + + +CREATE procedure [C6Staging].[RP_ST_DettImmobiliare_20190107_ProQuota] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettImmobiliare', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_DettImmobiliare_20190107_ProQuota + --drop table c6staging.RP_DettImmobiliare + + /* 08/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non pi utilizzati. + Sostituzione del campo valore immobile con valoreimmobiletotale per l'evolutiva patrimonio immobiliare. +*/ + insert into c6staging.RP_DettImmobiliare_20190107_ProQuota + + --select * + --into c6staging.RP_DettImmobiliare + select + [chiaveProdottoTerzi], + [descrizione], + [codProvincia], + [provincia], + [codComune], + [comune], + [codZona], + [zona], + [superficie], + NULL, + NULL, + NULL, + --[valoreImmobile], + [valoreImmobileTotale], + NULL, + [renditaAnnua], + NULL, + NULL, + NULL, + NULL, + NULL, + [codTipologia], + [tipologia], + + [valoreImmobile], + [TipologiaDiritto], + [QuotaProprieta] + --into c6staging.RP_DettImmobiliare +from [CONSUNI].[ConsulenzaUnica].dbo.DettImmobiliare + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettImmobiliare' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettImmobiliare' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_DettPatrAziendale.sql b/sql/storedCollaudo/C6Staging_RP_ST_DettPatrAziendale.sql new file mode 100644 index 00000000..f9598dfc --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_DettPatrAziendale.sql @@ -0,0 +1,68 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_DettPatrAziendale + +CREATE procedure [C6Staging].[RP_ST_DettPatrAziendale] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettPatrAziendale', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_DettPatrAziendale + + insert into c6staging.RP_DettPatrAziendale +/* 11/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non pi utilizzati per l'evolutiva patrimonio immobiliare. +*/ + + --select * from [CONSUNI].[ConsulenzaUnica].dbo.DettPatrAziendale + select [chiaveProdottoTerzi], + NULL, + [denominazione], + [codTipoCompagnia], + [patrimonio], + NULL, + NULL, + NULL, + [idTipoAzienda], + NULL, + NULL, + [numQuote], + [valoreStimato], + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + + from [CONSUNI].[ConsulenzaUnica].dbo.DettPatrAziendale + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettPatrAziendale' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettPatrAziendale' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_DettProdottiTerzi.sql b/sql/storedCollaudo/C6Staging_RP_ST_DettProdottiTerzi.sql new file mode 100644 index 00000000..a4f8d255 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_DettProdottiTerzi.sql @@ -0,0 +1,83 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_DettProdottiTerzi + +CREATE procedure [C6Staging].[RP_ST_DettProdottiTerzi] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettProdottiTerzi', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_DettProdottiTerzi + +--drop table c6staging.RP_DettProdottiTerzi +--select * into c6staging.RP_DettProdottiTerzi from [CONSUNI].[ConsulenzaUnica].dbo.DettProdottiTerzi + + insert into c6staging.RP_DettProdottiTerzi + select + [chiaveProdottoTerzi] + ,[idIntermediario] + ,[alberatura] + ,[nomeIntermediario] + ,[dtInizioInvest] + ,[totVersato] + ,[totPrelevato] + ,[valutaTotPrelevato] + ,[chiaveProdotto] + ,[numQuote] + ,[divQuoteProd] + ,[dtSottoscrizione] + ,[valutaPremioVers] + ,[tipoPolizza] + ,[tipoVersamento] + ,[tipoFormaPensionistica] + ,[capitaleInvestito] + ,[valutaCapInvestito] + ,[contoPrincipale] + ,[addebitoUtenze] + ,[accreditoStipPens] + ,[cartaCredito] + ,[addebitoMutuo] + ,[isin] + ,[lineaFinanziaria] + ,[fabbisognoPrev] + ,[dtDecorrenza] + ,[modalitaUso] + ,[ctvUltimaPrestNota] + ,[dtUltimaPrestNota] + ,[flgPrestazioneScad] + ,[dtTermineVers] + ,[dtUltimoPremioNoto] + ,[nomeCompagnia] + ,[valutaCtvUltPrestNota] + from [CONSUNI].[ConsulenzaUnica].dbo.DettProdottiTerzi + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettProdottiTerzi' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettProdottiTerzi' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_DettaglioOperazione.sql b/sql/storedCollaudo/C6Staging_RP_ST_DettaglioOperazione.sql new file mode 100644 index 00000000..a653779f --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_DettaglioOperazione.sql @@ -0,0 +1,66 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_DettaglioOperazione + +CREATE procedure [C6Staging].[RP_ST_DettaglioOperazione] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettaglioOperazione', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_DettaglioOperazione + --drop table c6staging.RP_DettaglioOperazione + insert into c6staging.RP_DettaglioOperazione + --select * into c6staging.RP_DettaglioOperazione from [CONSUNI].[ConsulenzaUnica].dbo.DettaglioOperazione + select [chiaveProposta] + ,[codTipoOperazione] + ,[chiavePosizionePtf] + ,[chiavePosizionePro] + ,[chiaveContratto] + ,[ctv] + ,[ptfIniziale] + ,[quantitaNominale] + ,[ctvNonRappresentabile] + ,[investi] + ,[disinvesti] + ,[rischioCredito] + ,[rischioMercato] + ,[copertura] + ,[percOperazione] + ,[gestPO] + ,[relOperazione] + ,[opEseguita] + ,[posRiallocata] + ,[nomeProgettoProp] + ,[areaProp] + ,[isAttivoRC] + from [CONSUNI].[ConsulenzaUnica].dbo.DettaglioOperazione + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettaglioOperazione' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettaglioOperazione' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_DettaglioPosizionePortafoglio.sql b/sql/storedCollaudo/C6Staging_RP_ST_DettaglioPosizionePortafoglio.sql new file mode 100644 index 00000000..eecaf5cf --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_DettaglioPosizionePortafoglio.sql @@ -0,0 +1,65 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_DettaglioPosizionePortafoglio + +CREATE procedure [C6Staging].[RP_ST_DettaglioPosizionePortafoglio] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettaglioPosizionePortafoglio', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_DettaglioPosizionePortafoglio + + insert into c6staging.RP_DettaglioPosizionePortafoglio ( + [chiavePosizionePtf] + ,[ctv] + ,[copertura] + ,[ctvNonAllocabile] + ,[quantitaNominale] + ,[partitaViaggiante] + ,[ctvOut] + ,[ctvIni] + ,[dtSaldo] + ) + + select + [chiavePosizionePtf] + ,[ctv] + ,[copertura] + ,[ctvNonAllocabile] + ,[quantitaNominale] + ,[partitaViaggiante] + ,[ctvOut] + ,[ctvIni] + ,[dtSaldo] + + from [CONSUNI].[ConsulenzaUnica].dbo.DettaglioPosizionePortafoglio + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettaglioPosizionePortafoglio' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettaglioPosizionePortafoglio' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_GradoParentela.sql b/sql/storedCollaudo/C6Staging_RP_ST_GradoParentela.sql new file mode 100644 index 00000000..12811cd8 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_GradoParentela.sql @@ -0,0 +1,45 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_GradoParentela + +CREATE procedure [C6Staging].[RP_ST_GradoParentela] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_GradoParentela', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_GradoParentela + + insert into c6staging.RP_GradoParentela + --select * into c6staging.RP_GradoParentela from [CONSUNI].[ConsulenzaUnica].dbo.GradoParentela + select * from [CONSUNI].[ConsulenzaUnica].dbo.GradoParentela + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_GradoParentela' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_GradoParentela' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_Mappatura.sql b/sql/storedCollaudo/C6Staging_RP_ST_Mappatura.sql new file mode 100644 index 00000000..2a3beec8 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_Mappatura.sql @@ -0,0 +1,46 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_Mappatura + +CREATE procedure [C6Staging].[RP_ST_Mappatura] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Mappatura', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_Mappatura + + insert into c6staging.RP_Mappatura + + select * from [CONSUNI].CatalogoProdotti.dbo.Mappatura + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Mappatura' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Mappatura' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_MappaturaPT.sql b/sql/storedCollaudo/C6Staging_RP_ST_MappaturaPT.sql new file mode 100644 index 00000000..7c27b49b --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_MappaturaPT.sql @@ -0,0 +1,44 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_MappaturaPT + +CREATE procedure [C6Staging].[RP_ST_MappaturaPT] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_MappaturaPT', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_MappaturaPT + + insert into c6staging.RP_MappaturaPT + --select * into c6staging.RP_MappaturaPT from [CONSUNI].[ConsulenzaUnica].dbo.MappaturaPT + select * from [CONSUNI].[ConsulenzaUnica].dbo.MappaturaPT + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_MappaturaPT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_MappaturaPT' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_Migraz_Pianificazione.sql b/sql/storedCollaudo/C6Staging_RP_ST_Migraz_Pianificazione.sql new file mode 100644 index 00000000..ca0121f5 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_Migraz_Pianificazione.sql @@ -0,0 +1,83 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_Migraz_Pianificazione + +CREATE procedure [C6Staging].[RP_ST_Migraz_Pianificazione] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Pianificazione', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_Migraz_Pianificazione + + insert into c6staging.RP_Migraz_Pianificazione( + chiaveConsulenza + ,chiaveClientePB + ,dtUltimoAggiornamento + ,risorseFinanziarieBF + ,risorseFinanziarieTerzi + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,diversificazione + ,copertura + ,isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,token + ,lineaself + ) + SELECT + chiaveConsulenza + ,pian.chiaveClientePB + ,pian.dtAggiornamento + ,null as risorseFinanziarieBF + ,null as risorseFinanziarieTerzi + ,null as contoCorrente + ,case when (rischioCreditoDecodificatoRisAll like '%n.a.%') or (rischioCreditoDecodificatoRisAll like '%n.c.%') + or (rischioCreditoDecodificatoRisAll like '%classe%') then null else rischioCreditoDecodificatoRisAll end as rischioCredito + + ,null as rischioMercato + ,null as diversificazione + ,coperturaRisAll as copertura + ,null as isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,tok.value as Token + ,null AS lineaself + +FROM [CONSUNI].[ConsulenzaUnica].dbo.Pianificazione pian +left join [CONSUNI].[consulenzaUnica].dbo.token tok +on pian.chiaveToken = tok.chiavetoken +inner join [CONSUNI].[ConsulenzaUnica].dbo.eventiCliente ev +on ev.chiaveclientePb = pian.chiaveclientepb +--where ev.flagPianificazione = 0 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Pianificazione' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Pianificazione' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_Migraz_Posizioni.sql b/sql/storedCollaudo/C6Staging_RP_ST_Migraz_Posizioni.sql new file mode 100644 index 00000000..ab107409 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_Migraz_Posizioni.sql @@ -0,0 +1,60 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_Migraz_Posizioni + +CREATE procedure [C6Staging].[RP_ST_Migraz_Posizioni] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Posizioni', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_Migraz_Posizioni + + insert into c6staging.RP_Migraz_Posizioni + +select +chiavePosizionePtf , +chiaveProgetto , +chiaveProdotto , +dtInizioValidita, +'99991231' as dtFineValidita, +conto , +rubricato , +codConf , +numPolizza , +custGar , +codAbi , +termId , +anno , +prog , +null as ctv + from [CONSUNI].[ConsulenzaUnica].dbo.PosizioniPortafoglio + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Posizioni' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Posizioni' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_Migraz_Progetto.sql b/sql/storedCollaudo/C6Staging_RP_ST_Migraz_Progetto.sql new file mode 100644 index 00000000..c55dc44c --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_Migraz_Progetto.sql @@ -0,0 +1,74 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_Migraz_Progetto + +CREATE procedure [C6Staging].[RP_ST_Migraz_Progetto] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Progetto', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_Migraz_Progetto + + insert into c6staging.RP_Migraz_Progetto ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,varProgetto + ,coperturaProgetto + ,ctvProgetto + ,chiaveProgettoMod ) + + + select + prog.chiaveProgetto + ,a.area + ,chiaveConsulenza + ,null as tipoProgetto --- SETTATO A NULL 16/09 + ,null as dtCreazione + ,null as varProgetto + ,coperturaProgetto + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + + from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Progetto' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_NobPrez.sql b/sql/storedCollaudo/C6Staging_RP_ST_NobPrez.sql new file mode 100644 index 00000000..31844200 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_NobPrez.sql @@ -0,0 +1,86 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_NobPrez + + + + + + + + +CREATE procedure [C6Staging].[RP_ST_NobPrez] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_NobPrez', + GETDATE(), + 'Elaborazione giornaliera' + ) +truncate table C6Staging.RP_NobPrez + +INSERT INTO [C6Staging].[RP_NobPrez] + ([CHIAVECLIENTEPB] + ,[RETE] + ,[COD_AGENTE] + ,[CODFIS] + ,[PIVA] + ,[CODMAN] + ,[CODCONF] + ,[CODCONF_ES] + ,[DOSSIER] + ,[DTINI] + ,[DTFIN] + ,[CC] + ,[DT_AGGIORNAMENTO] + ,[DT_FIRMASEI] + ,[DTEFFINI] + ,[DTEFFFIN] + ) + +SELECT p.[CHIAVECLIENTEPB] + ,p.[RETE] + ,p.[COD_AGENTE] + ,p.[CODFIS] + ,p.[PIVA] + ,p.[CODMAN] + ,p.[CODCONF] + ,p.[CODCONF_ES] + ,case when isnull(p.[DOSSIER],'')='' then '' else 'DT' end + ,p.[DTINI] + ,p.[DTFIN] + ,p.[CC] + ,p.[DT_AGGIORNAMENTO] + ,CONVERT(varchar(8), v.dtfirmaSEI, 112) as DT_FirmaSei + ,p.[DTEFFINI] + ,p.[DTEFFFIN] + from [Consuni].[ConsulenzaUnica].[dbo].[PRAM_NOBPREZ] p + left join [Consuni].[ConsulenzaUnica].[dbo].[vinfocliente] v + on p.chiaveclientePB=v.chiaveclientePB + where CONVERT(varchar(8), v.dtfirmaSEI, 112) between p.DTEFFINI and p.DTEFFFIN + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_NobPrez' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_NobPrez' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_Parentela.sql b/sql/storedCollaudo/C6Staging_RP_ST_Parentela.sql new file mode 100644 index 00000000..e16e5337 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_Parentela.sql @@ -0,0 +1,52 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_Parentela + +CREATE procedure [C6Staging].[RP_ST_Parentela] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Parentela', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_Parentela + +-- insert into c6staging.RP_Parentela +-- --select * into c6staging.RP_Parentela from [CONSUNI].[consulenzaEvoluta].dbo.Parentela +-- select chiaveClientePB1, +--chiaveClientePB2, +--idParentela , +--dtMatrimonio , +--aCarico , +--dtCensimento , +--dtFine +-- from [CONSUNI].[consulenzaEvoluta].dbo.Parentela + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Parentela' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Parentela' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_PatrimonioTerzi.sql b/sql/storedCollaudo/C6Staging_RP_ST_PatrimonioTerzi.sql new file mode 100644 index 00000000..e1bd7d86 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_PatrimonioTerzi.sql @@ -0,0 +1,62 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_PatrimonioTerzi + +CREATE procedure [C6Staging].[RP_ST_PatrimonioTerzi] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PatrimonioTerzi', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_PatrimonioTerzi + +--drop table c6staging.RP_PatrimonioTerzi +--select * into c6staging.RP_PatrimonioTerzi from [CONSUNI].[ConsulenzaUnica].dbo.PatrimonioTerzi +/* 11/05/2015FCianfa e LM: aggiunta della where condition e valorizzazione a NULL di campi non pi utilizzati per l'evolutiva patrimonio immobiliare. +*/ + insert into c6staging.RP_PatrimonioTerzi + select chiaveProdottoTerzi , +chiaveClientePB , +idTipoProdotto , +nomeProdotto , +NULL , +valutaCtv , +ctv , +NULL , +dataCtv , +prezzoMedioCarico , +tipoProd , +dtFine , +divisa , +ultimoPrezzo +from [CONSUNI].[ConsulenzaUnica].dbo.PatrimonioTerzi +where dtFineValidita >getdate() + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PatrimonioTerzi' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_PatrimonioTerzi' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_Pianificazione.sql b/sql/storedCollaudo/C6Staging_RP_ST_Pianificazione.sql new file mode 100644 index 00000000..183ea6a6 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_Pianificazione.sql @@ -0,0 +1,139 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_Pianificazione + + + + + +CREATE procedure [C6Staging].[RP_ST_Pianificazione] as + +begin + + +declare @diff_giorni as datetime +declare @data_diff as int + +set @diff_giorni = (SELECT MAX(dtInizioValidita) From CONSUNI.ConsulenzaUnica.DBO.Token) + +set @data_diff = (SELECT DATEDIFF(day, @diff_giorni,getdate())+1) + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Pianificazione', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_Pianificazione + + insert into c6staging.RP_Pianificazione ( + chiaveConsulenza + ,chiaveClientePB + ,dtUltimoAggiornamento + ,risorseFinanziarieBF + ,risorseFinanziarieTerzi + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,diversificazione + ,copertura + ,isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,dtPianificazioneOrizzontale + ,dtPianificazioneVerticale + ,token + ,varRisorseAllocate + ,coperturaRisorseAllocate + ,lineaself + ) +select chiaveConsulenza +,pian.chiaveClientePB +,pian.dtAggiornamento as dtUltimoAggiornamento +,Null as risorseFinanziarieBF +,Null as risorseFinanziarieTerzi +,Null as contoCorrente +,null as rischioCredito +,case when (rischioCreditoDecodificatoRisAll like '%n.a.%') or (rischioCreditoDecodificatoRisAll like '%n.c.%') +or (rischioCreditoDecodificatoRisAll like '%classe%') then null else rischioCreditoDecodificatoRisAll end as rischioMercato +--rischioCreditoDecodificatoRFA as rischioCredito +,coperturaRFA as diversificazione +,coperturaRisAll as copertura +,null as isAttivoRC +,partiteViaggianti +,dtPrimaMigrazione +,dtPianificazioneOrizzontale +,dtPianificazioneVerticale +,tok.value as Token +,null as varRisorseAllocate +,coperturaRisorseAllocate +,null AS lineaself +-----------------------> MODIFICA DEL 28/11/2016 SU INDICAZIONE DI ALESSIA PER UNA CORRETTA JOIN +--FROM [CONSUNI].[consulenzaUnica].dbo.Pianificazione pian +--inner join [CONSUNI].[consulenzaUnica].dbo.token tok +--on pian.chiaveToken = tok.chiavetoken +--inner join [CONSUNI].[ConsulenzaUnica].dbo.eventiCliente ev +FROM [CONSUNI].[consulenzaUnica].dbo.Pianificazione pian +inner join [CONSUNI].[consulenzaUnica].dbo.Clientepb clipb +on pian.chiaveclientepb = clipb.chiaveclientepb +inner join [CONSUNI].[consulenzaUnica].dbo.token tok +on clipb.chiaveToken = tok.chiavetoken +inner join [CONSUNI].[ConsulenzaUnica].dbo.eventiCliente ev +on ev.chiaveclientePb = pian.chiaveclientepb +and CONVERT(VARCHAR,DATEADD(d, @data_diff,CONVERT(DATETIME,tok.dtiniziovalidita, 112) ),112)= CONVERT(VARCHAR,DATEADD(d, 1,CONVERT(DATETIME,getdate(), 112) ),112) + + +/* 6/9/2016 Condizione non pi necessaria nella nuova CU: il significato di pianificazione mutato */ +--where ev.flagPianificazione = 1 + + + + +/* POPOLO RISORSE FINANZIARIE BF */ + + +SELECT SUM(dett.ctv) as RisorseFinanziareBF,pian.chiaveclientePB +into #APPO + from CONSUNI.ConsulenzaUnica.dbo.Pianificazione pian + inner join CONSUNI.ConsulenzaUnica.dbo.area a + on a.chiaveconsulenza = pian.chiaveconsulenza + inner join CONSUNI.ConsulenzaUnica.dbo.Progetto prog + on a.chiaveArea = prog.chiavearea + inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + group by pian.chiaveclientePB + + + UPDATE C6StagingPeriodico.RP_Pianificazione + SET risorseFinanziarieBF = a.RisorseFinanziareBF + from #APPO a + inner join C6StagingPeriodico.RP_Pianificazione rpPian + on rpPian.chiaveclientePB = a.chiaveClientePB + + + + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Pianificazione' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG diff --git a/sql/storedCollaudo/C6Staging_RP_ST_Pianificazione_20161128_ORI.sql b/sql/storedCollaudo/C6Staging_RP_ST_Pianificazione_20161128_ORI.sql new file mode 100644 index 00000000..851e9990 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_Pianificazione_20161128_ORI.sql @@ -0,0 +1,135 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_Pianificazione_20161128_ORI + + + + +CREATE procedure [C6Staging].[RP_ST_Pianificazione_20161128_ORI] as + +begin + + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Pianificazione', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_Pianificazione + + insert into c6staging.RP_Pianificazione ( + chiaveConsulenza + ,chiaveClientePB + ,dtUltimoAggiornamento + ,risorseFinanziarieBF + ,risorseFinanziarieTerzi + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,diversificazione + ,copertura + ,isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,dtPianificazioneOrizzontale + ,dtPianificazioneVerticale + ,token + ,varRisorseAllocate + ,coperturaRisorseAllocate + ,lineaself + ) + + + SELECT + chiaveConsulenza + ,pian.chiaveClientePB + ,pian.dtAggiornamento as dtUltimoAggiornamento + ,Null as risorseFinanziarieBF + ,Null as risorseFinanziarieTerzi + ,Null as contoCorrente + ,null as rischioCredito + ,case when (rischioCreditoDecodificatoRisAll like '%n.a.%') or (rischioCreditoDecodificatoRisAll like '%n.c.%') + or (rischioCreditoDecodificatoRisAll like '%classe%') then null else rischioCreditoDecodificatoRisAll end as rischioMercato + --rischioCreditoDecodificatoRFA as rischioCredito + ,coperturaRFA as diversificazione + ,coperturaRisAll as copertura + ,null as isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,dtPianificazioneOrizzontale + ,dtPianificazioneVerticale + ,tok.value as Token + ,null as varRisorseAllocate + ,coperturaRisorseAllocate + ,null AS lineaself +FROM [CONSUNI].[consulenzaUnica].dbo.Pianificazione pian +inner join [CONSUNI].[consulenzaUnica].dbo.token tok +on pian.chiaveToken = tok.chiavetoken +inner join [CONSUNI].[ConsulenzaUnica].dbo.eventiCliente ev +on ev.chiaveclientePb = pian.chiaveclientepb +/* 6/9/2016 Condizione non pi necessaria nella nuova CU: il significato di pianificazione mutato */ +--where ev.flagPianificazione = 1 + + + + +/* POPOLO RISORSE FINANZIARIE BF */ + + +SELECT SUM(dett.ctv) as RisorseFinanziareBF,pian.chiaveclientePB +into #APPO + from CONSUNI.ConsulenzaUnica.dbo.Pianificazione pian + inner join CONSUNI.ConsulenzaUnica.dbo.area a + on a.chiaveconsulenza = pian.chiaveconsulenza + inner join CONSUNI.ConsulenzaUnica.dbo.Progetto prog + on a.chiaveArea = prog.chiavearea + inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + group by pian.chiaveclientePB + + + UPDATE C6StagingPeriodico.RP_Pianificazione + SET risorseFinanziarieBF = a.RisorseFinanziareBF + from #APPO a + inner join C6StagingPeriodico.RP_Pianificazione rpPian + on rpPian.chiaveclientePB = a.chiaveClientePB + + + + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Pianificazione' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Pianificazione' + ) + +end + + + + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_PosizioniPortafoglio.sql b/sql/storedCollaudo/C6Staging_RP_ST_PosizioniPortafoglio.sql new file mode 100644 index 00000000..fff9ce66 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_PosizioniPortafoglio.sql @@ -0,0 +1,60 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_PosizioniPortafoglio + +CREATE procedure [C6Staging].[RP_ST_PosizioniPortafoglio] +as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PosizioniPortafoglio', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_PosizioniPortafoglio + + insert into c6staging.RP_PosizioniPortafoglio + + select + [chiavePosizionePtf] + ,[chiaveProgetto] + ,[dtInizioValidita] + ,'99991231' as[dtFineValidita] + ,[chiaveProdotto] + ,[conto] + ,[rubricato] + ,[codConf] + ,[numPolizza] + ,[custGar] + ,[codAbi] + ,[termId] + ,[anno] + ,[prog] + from [CONSUNI].[ConsulenzaUnica].dbo.PosizioniPortafoglio + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PosizioniPortafoglio' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_PosizioniPortafoglio' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_PosizioniProposta.sql b/sql/storedCollaudo/C6Staging_RP_ST_PosizioniProposta.sql new file mode 100644 index 00000000..24dc2143 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_PosizioniProposta.sql @@ -0,0 +1,55 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_PosizioniProposta + +CREATE procedure [C6Staging].[RP_ST_PosizioniProposta] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PosizioniProposta', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_PosizioniProposta + + insert into c6staging.RP_PosizioniProposta + + SELECT [chiavePosizionePro] + ,[chiaveProgetto] + ,[chiaveProdotto] + ,[conto] + ,[rubricato] + ,[codConf] + ,[numPolizza] + ,[custGar] + ,[codAbi] + ,[termId] + ,[anno] + ,[prog] from [CONSUNI].[ConsulenzaUnica].dbo.PosizioniProposta + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PosizioniProposta' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_PosizioniProposta' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_ProgettiPiramideModello.sql b/sql/storedCollaudo/C6Staging_RP_ST_ProgettiPiramideModello.sql new file mode 100644 index 00000000..b6ca76e5 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_ProgettiPiramideModello.sql @@ -0,0 +1,99 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_ProgettiPiramideModello + +CREATE procedure [C6Staging].[RP_ST_ProgettiPiramideModello] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ProgettiPiramideModello', + GETDATE(), + 'Elaborazione giornaliera' + ) + + --INSERT INTO C6MART.TEST_QUALITY + + --SELECT DISTINCT + -- d.rete, + -- case when(isnull(ltrim(rtrim(codman)),'') <> '') then 'FF@'+codman + -- when (isnull(codfis,'') <> '') then codfis + -- else c.piva + -- end as Cod_fiscale, + -- 'ProgettiPiramideModello AREE DUPLICATE' AS MOTIVO + --FROM [CONSUNI].[consulenzaUnica].dbo.Contratto a + --JOIN [CONSUNI].[consulenzaUnica].dbo.ClientePB b + -- ON b.chiaveClientePB = a.chiaveClientePB + -- AND a.status in ('SEI','AVANZATOBASE','REVOCASEI') + --JOIN [CONSUNI].[consulenzaUnica].dbo.Cliente c + -- ON b.chiaveCliente = c.chiaveCliente + --JOIN [CONSUNI].[consulenzaUnica].dbo.PromotoreBancario d + -- ON b.chiavePB = d.chiavePB + --WHERE + -- A.chiaveclientepb in ( + -- select distinct chiaveclientepb + -- FROM + -- ( + -- SELECT chiaveclientepb,area,tipoprogetto,COUNT(*) as c FROM + -- [CONSUNI].[consulenzaUnica].dbo.ProgettiPiramideModello + -- where tipoprogetto =0 and area <> 'na' and isnull(dtFineValidita,'99991231')>GETDATE() + -- group by chiaveclientepb,area,tipoprogetto + -- having COUNT(*)<>1 + -- ) t + --) + --drop table c6staging.RP_ProgettiPiramideModello + + truncate table c6staging.RP_ProgettiPiramideModello + + insert into c6staging.RP_ProgettiPiramideModello + + select + prog.chiaveProgettoMod + ,pian.chiaveClientePB + ,am.area + ,percentualeProgetto + ,null as tipoProgetto + ,nomeProgetto + ,isnull(orizzontetemporale,0) durata + ,[note] + ,'99991231' as dtFineValidita + ,null as [dtCreazione] + + from [CONSUNI].[consulenzaUnica].dbo.ProgettiPiramideModello pirmod + inner join [CONSUNI].[consulenzaUnica].dbo.Progetto prog + on prog.chiaveprogettoMod = pirmod.chiaveProgettoMod + left join [CONSUNI].[consulenzaUnica].dbo.portafogliomodello pormod --modifica inserita il 24/04 per orizzontetemporale non congruente con la PUC online + on prog.chiaveptfmod=pormod.chiaveptfmod + inner join [CONSUNI].[consulenzaUnica].dbo.AreaModello am + on am.chiaveAreaMod = pirmod.ChiaveAreaMod + inner join [CONSUNI].[consulenzaUnica].dbo.Area a + on a.chiaveArea = prog.chiaveArea + inner join [CONSUNI].[consulenzaUnica].dbo.Pianificazione pian + on pian.chiaveconsulenza = a.chiaveconsulenza + + -- update c6staging.RP_ProgettiPiramideModello set nomeProgetto = null where tipoprogetto = 0 + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ProgettiPiramideModello' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_ProgettiPiramideModello' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_Progetto.sql b/sql/storedCollaudo/C6Staging_RP_ST_Progetto.sql new file mode 100644 index 00000000..96294b11 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_Progetto.sql @@ -0,0 +1,127 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_Progetto + + +CREATE procedure [C6Staging].[RP_ST_Progetto] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto', + GETDATE(), + 'Elaborazione giornaliera' + ) + --drop table c6staging.RP_Progetto + truncate table c6staging.RP_Progetto + + insert into c6staging.RP_Progetto ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,varProgetto + ,coperturaProgetto + ,profiloProgetto + ,orizzonteTemporale + ,ctvProgetto + ,chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,percProgetto + ,ctvPianificato + ,chiavePtfMod + ,dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset ) + + select + prog.chiaveProgetto + ,a.area + ,chiaveConsulenza + ,null as tipoProgetto -- sulla Progetto dovrebbero essere gi stati filtrati in questo modo + ,propirMod.dtInizioValidita as dtCreazione + ,prog.dtaggiornamento as dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,Null as varProgetto + ,coperturaProgetto + ,null as profiloProgetto + ,SUBSTRING (propirMod.durata,1,1) as orizzonteTemporale + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,null as percProgetto + ,ctvPianificato + ,chiavePtfMod + ,'99991231' as dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset + + from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + + + + -- AGGREGO E VALORIZZO IL CTV DI PROGETTO + + select prog.chiaveprogetto, SUM(ctv) as ctvProgetto + INTO #APPO + from CONSUNI.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + inner join CONSUNI.ConsulenzaUnica.dbo.posizioniportafoglio pos + on dett.chiaveposizioneptf = pos.chiaveposizioneptf + inner join CONSUNI.ConsulenzaUnica.dbo.progetto prog + on prog.chiaveprogetto = pos.chiaveprogetto + + group by prog.chiaveprogetto + + + UPDATE c6staging.RP_Progetto + SET ctvProgetto = ap.ctvProgetto + from #APPO ap + inner join c6staging.RP_Progetto pr + on ap.chiaveprogetto = pr.chiaveprogetto + + + + + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Progetto' + ) + +end + + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_Progetto_Robo.sql b/sql/storedCollaudo/C6Staging_RP_ST_Progetto_Robo.sql new file mode 100644 index 00000000..a192aa5c --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_Progetto_Robo.sql @@ -0,0 +1,81 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_Progetto_Robo + + + +CREATE procedure [C6Staging].[RP_ST_Progetto_Robo] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto_Robo', + GETDATE(), + 'Elaborazione giornaliera' + ) + --drop table c6staging.RP_Progetto + truncate table c6staging.RP_Progetto_Robo + + insert into c6staging.RP_Progetto_Robo ( + [chiaveProgetto] + ,[flagUtilizzoLiquidita] + ,[Iban_codiceContrattoCC] + ,[ctvSogliaCC] + ,[minimoMantenimentoSuCC] + ,[listTagFondiDaUtilizzare] + ,[percentualeFogli] + ,[percentualeFondi] + ,[chiaveclientepb] + ,[dt_inserimento] + ,[dt_aggiornamento] + ,[FlagCsv] + ,[isProgettoRobo] ) + + select + [chiaveProgetto] + ,[flagUtilizzoLiquidita] + ,[Iban_codiceContrattoCC] + ,[ctvSogliaCC] + ,[minimoMantenimentoSuCC] + ,[listTagFondiDaUtilizzare] + ,[percentualeFogli] + ,[percentualeFondi] + ,[chiaveclientepb] + ,[dt_inserimento] + ,[dt_aggiornamento] + ,[FlagCsv] + ,'S' + + from CONSUNI.ConsulenzaUnica.dbo.[Robo_ProgettoRobo] + + + + + + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto_Robo' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Progetto_Robo' + ) + +end + + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_PromotoreBancario.sql b/sql/storedCollaudo/C6Staging_RP_ST_PromotoreBancario.sql new file mode 100644 index 00000000..5ac1f4f4 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_PromotoreBancario.sql @@ -0,0 +1,83 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_PromotoreBancario + +CREATE procedure [C6Staging].[RP_ST_PromotoreBancario] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PromotoreBancario', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_PromotoreBancario + + insert into c6staging.RP_PromotoreBancario ( + [chiavePB] + ,[codage] + ,[nome] + ,[cognome] + ,[status] + ,[livello] + ,[rete] + ,[indirizzo] + ,[numCivico] + ,[citta] + ,[prov] + ,[cap] + ,[nazione] + ,[ptel] + ,[tel] + ,[tipologia] + ,[grado] + ,[codManager] + +) + select + [chiavePB] + ,[codage] + ,[nome] + ,[cognome] + ,[status] + ,[livello] + ,[rete] + ,[indirizzo] + ,[numCivico] + ,[citta] + ,[prov] + ,[cap] + ,[nazione] + ,[ptel] + ,[tel] + ,[tipologia] + ,[grado] + ,[codManager] + + from [CONSUNI].ConsulenzaUnica.dbo.PromotoreBancario + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PromotoreBancario' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_PromotoreBancario' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_Proposta.sql b/sql/storedCollaudo/C6Staging_RP_ST_Proposta.sql new file mode 100644 index 00000000..41a4a9f0 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_Proposta.sql @@ -0,0 +1,79 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_Proposta + +CREATE procedure [C6Staging].[RP_ST_Proposta] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Proposta', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_Proposta + + INSERT INTO c6staging.RP_Proposta + SELECT + chiaveProposta + ,chiaveConsulenza + ,[status] + ,chiaveClientePB + ,nomeProposta + ,dtProposta + ,dtValidazione + ,dtUltimoAgg + ,dtScadenza + ,risorseFinanziarieBF + ,risorseFinanziarieBT + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,adeguatezza + ,discesaRegime + ,diversificazione + ,copertura + ,codValidazione + ,urlValidazione + ,urlSimulazione + ,urlReport + ,apporti + ,prelievi + ,flgScadenza + ,flgInadRischioCredito + ,flgInadRischioMercato + ,flgInadComplessita + ,flgInadFrequenza + ,flgInadConcentrazione + ,flgInadLiquidita + ,isAttivoRC + ,token + ,flagNuovoFlusso + ,null AS lineaself + FROM [CONSUNI].[ConsulenzaUnica].dbo.Proposta + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Proposta' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Proposta' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI.sql b/sql/storedCollaudo/C6Staging_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI.sql new file mode 100644 index 00000000..21d94bf3 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI.sql @@ -0,0 +1,64 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_RDR_VALUTE_DB_DTGIORNALIERI + + + +CREATE procedure [C6Staging].[RP_ST_RDR_VALUTE_DB_DTGIORNALIERI] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI', + GETDATE(), + 'Elaborazione Trimestrale' + ) + + truncate table c6staging.RP_RDR_VALUTE_DB_DTGIORNALIERI + + insert into c6staging.RP_RDR_VALUTE_DB_DTGIORNALIERI + +-- 2015/03/17 FCianfa inserimento cast per problemi di lettura dati + + SELECT DT1.ChiaveProdotto, DT1.Divisa, cast(DT1.Peso as numeric(18,7)) + FROM [consuni].[consulenzaUnicaFL].dbo.RDR_VALUTE_DB_DTGIORNALIERI DT1 + INNER JOIN + (SELECT chiaveProdotto, divisa, MAX(dtRiferimento) AS MAXDATE + FROM [consuni].[consulenzaUnicaFL].dbo.RDR_VALUTE_DB_DTGIORNALIERI + GROUP BY chiaveProdotto, divisa) DT2 + ON DT1.chiaveProdotto = DT2.chiaveProdotto + AND DT1.DIVISA= DT2.DIVISA + AND DT1.dtRiferimento = DT2.MAXDATE + ORDER BY DT1.CHIAVEPRODOTTO, dt1.divisa + + /*pk 20160506 + insert into c6staging.RP_RDR_VALUTE_DB_DTGIORNALIERI +select 9276460, divisa, peso +from c6staging.RP_RDR_VALUTE_DB_DTGIORNALIERI +where ChiaveProdotto = 261831 +pk 20160506*/ + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql b/sql/storedCollaudo/C6Staging_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql new file mode 100644 index 00000000..76566a4d --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql @@ -0,0 +1,46 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_REP_ASSET_1_E_2_ORDINATE + +CREATE procedure [C6Staging].[RP_ST_REP_ASSET_1_E_2_ORDINATE] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_REP_ASSET_1_E_2_ORDINATE', + GETDATE(), + 'Elaborazione giornaliera' + ) + --drop table c6staging.RP_REP_ASSET_1_E_2_ORDINATE + truncate table c6staging.RP_REP_ASSET_1_E_2_ORDINATE + + insert into c6staging.RP_REP_ASSET_1_E_2_ORDINATE + + select * + --into c6staging.RP_REP_ASSET_1_E_2_ORDINATE + from [CONSUNI].[ConsulenzaUnica].dbo.REP_ASSET_1_E_2_ORDINATE + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_REP_ASSET_1_E_2_ORDINATE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_REP_ASSET_1_E_2_ORDINATE' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql b/sql/storedCollaudo/C6Staging_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql new file mode 100644 index 00000000..4194eb08 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql @@ -0,0 +1,44 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3 + +CREATE procedure [C6Staging].[RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + + insert into c6staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + + select * from [CONSUNI].[ConsulenzaUnica].[dbo].[REP_S4_S5_S13_TRAD_UNTIL_LIV3] + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_TB_ESG_ANAG_STRUM.sql b/sql/storedCollaudo/C6Staging_RP_ST_TB_ESG_ANAG_STRUM.sql new file mode 100644 index 00000000..eeb70e1a --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_TB_ESG_ANAG_STRUM.sql @@ -0,0 +1,144 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_TB_ESG_ANAG_STRUM + + + + + +CREATE procedure [C6Staging].[RP_ST_TB_ESG_ANAG_STRUM] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_TB_ESG_ANAG_STRUM', + GETDATE(), + 'Elaborazione giornaliera' + ) + +truncate table C6Staging.RP_TB_ESG_ANAG_STRUM + +INSERT INTO [C6Staging].[RP_TB_ESG_ANAG_STRUM] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[CatSFDR] + ,[ESGRating] + ,[TrendESGRating] + ,[TrendESGRating_Val] + ,[dtInserimento] + ,[dtAggiornamento] + ,[UserIns] + ,[CLIENT_ID] + ,[C_TIPO_STRUMENTO] + ,[LABEL_Green_Bond] + ,[LABEL_Social_Bond] + ,[LABEL_Sustainability_Bond] + ,[LABEL_Transition_Bond] + ,[LABEL_Sust_linked_bond] + ,[LABEL_EU_GREEN_BOND_STANDARD] + ,[SDG_06_NET_ALIGNMENT_SCORE] + ,[SDG_07_NET_ALIGNMENT_SCORE] + ,[SDG_12_NET_ALIGNMENT_SCORE] + ,[SDG_13_NET_ALIGNMENT_SCORE] + ,[SDG_14_NET_ALIGNMENT_SCORE] + ,[SDG_15_NET_ALIGNMENT_SCORE] + ,[SDG_01_NET_ALIGNMENT_SCORE] + ,[SDG_02_NET_ALIGNMENT_SCORE] + ,[SDG_03_NET_ALIGNMENT_SCORE] + ,[SDG_04_NET_ALIGNMENT_SCORE] + ,[SDG_05_NET_ALIGNMENT_SCORE] + ,[SDG_08_NET_ALIGNMENT_SCORE] + ,[SDG_09_NET_ALIGNMENT_SCORE] + ,[SDG_10_NET_ALIGNMENT_SCORE] + ,[SDG_11_NET_ALIGNMENT_SCORE] + ,[SDG_16_NET_ALIGNMENT_SCORE] + ,[SDG_17_NET_ALIGNMENT_SCORE] + ,[PERC_INVESTIMENTO_TAXONOMY] + ,[PERC_INVESTIMENTO_SFDR] + ,[PERC_INVEST_OTHER_E_NO_TAX] + ,[PERC_INVEST_SFDR_MIN_SUST_E] + ,[PERC_INVEST_SFDR_MIN_SUST_S] + ,[PAI_LAB_A_Emissioni_Gas_Serra] + ,[PAI_LAB_A_Biodiversita] + ,[PAI_LAB_A_Acqua] + ,[PAI_LAB_A_Rifiuti] + ,[PAI_LAB_A_Gov_Ambientale] + ,[PAI_LAB_A_Comb_Fossili] + ,[PAI_LAB_A_Eff_energetica] + ,[PAI_LAB_S_Questioni_Soc_Dip] + ,[PAI_LAB_S_Gov_Sociali] + ,[U_INFO_ESG] + ,[AGGREG_PAI_LAB_A] + ,[AGGREG_PAI_LAB_S] + ,[AGGREG_BOND] + ,[REF_DATE]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,case when [ESG_E]='0' then 'N' else ESG_E end + ,[ESG_S] + ,[ESG_G] + ,[CatSFDR] + ,[ESGRating] + ,[TrendESGRating] + ,[TrendESGRating_Val] + ,[dtInserimento] + ,[dtAggiornamento] + ,[UserIns] + ,[CLIENT_ID] + ,[C_TIPO_STRUMENTO] + ,[LABEL_Green_Bond] + ,[LABEL_Social_Bond] + ,[LABEL_Sustainability_Bond] + ,[LABEL_Transition_Bond] + ,[LABEL_Sust_linked_bond] + ,[LABEL_EU_GREEN_BOND_STANDARD] + ,[SDG_06_NET_ALIGNMENT_SCORE] + ,[SDG_07_NET_ALIGNMENT_SCORE] + ,[SDG_12_NET_ALIGNMENT_SCORE] + ,[SDG_13_NET_ALIGNMENT_SCORE] + ,[SDG_14_NET_ALIGNMENT_SCORE] + ,[SDG_15_NET_ALIGNMENT_SCORE] + ,[SDG_01_NET_ALIGNMENT_SCORE] + ,[SDG_02_NET_ALIGNMENT_SCORE] + ,[SDG_03_NET_ALIGNMENT_SCORE] + ,[SDG_04_NET_ALIGNMENT_SCORE] + ,[SDG_05_NET_ALIGNMENT_SCORE] + ,[SDG_08_NET_ALIGNMENT_SCORE] + ,[SDG_09_NET_ALIGNMENT_SCORE] + ,[SDG_10_NET_ALIGNMENT_SCORE] + ,[SDG_11_NET_ALIGNMENT_SCORE] + ,[SDG_16_NET_ALIGNMENT_SCORE] + ,[SDG_17_NET_ALIGNMENT_SCORE] + ,[PERC_INVESTIMENTO_TAXONOMY] + ,[PERC_INVESTIMENTO_SFDR] + ,[PERC_INVEST_OTHER_E_NO_TAX] + ,[PERC_INVEST_SFDR_MIN_SUST_E] + ,[PERC_INVEST_SFDR_MIN_SUST_S] + ,[PAI_LAB_A_Emissioni_Gas_Serra] + ,[PAI_LAB_A_Biodiversita] + ,[PAI_LAB_A_Acqua] + ,[PAI_LAB_A_Rifiuti] + ,[PAI_LAB_A_Gov_Ambientale] + ,[PAI_LAB_A_Comb_Fossili] + ,[PAI_LAB_A_Eff_energetica] + ,[PAI_LAB_S_Questioni_Soc_Dip] + ,[PAI_LAB_S_Gov_Sociali] + ,[U_INFO_ESG] + ,[AGGREG_PAI_LAB_A] + ,[AGGREG_PAI_LAB_S] + ,[AGGREG_BOND] + ,[REF_DATE] + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_anagrafica_promotori.sql b/sql/storedCollaudo/C6Staging_RP_ST_anagrafica_promotori.sql new file mode 100644 index 00000000..27b85720 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_anagrafica_promotori.sql @@ -0,0 +1,45 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_anagrafica_promotori + +CREATE procedure [C6Staging].[RP_ST_anagrafica_promotori] as + +begin + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_anagrafica_promotori', + GETDATE(), + 'Elaborazione giornaliera' + ) + + truncate table c6staging.RP_anagrafica_promotori + + insert into c6staging.RP_anagrafica_promotori + + --select * into c6staging.RP_anagrafica_promotori from [CONSUNI].ConsulenzaUnica.dbo.anagrafica_promotori + select * from [CONSUNI].ConsulenzaUnica.dbo.anagrafica_promotori + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_anagrafica_promotori' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_anagrafica_promotori' + ) + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_ST_vNewPositionProposta.sql b/sql/storedCollaudo/C6Staging_RP_ST_vNewPositionProposta.sql new file mode 100644 index 00000000..19e1ae87 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_ST_vNewPositionProposta.sql @@ -0,0 +1,39 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_ST_vNewPositionProposta + +CREATE procedure [C6Staging].[RP_ST_vNewPositionProposta] +as +begin + +truncate table [C6Staging].[RP_vNewPositionProposta] + +insert into [C6Staging].[RP_vNewPositionProposta] + +select + pro.chiaveClientePB, + ope.nomeProgettoProp, + ope.areaProp, + pospro.chiaveProgetto, + cat.codSottoprodotto, + cat.codInterno, + cat.codMaf, + cat.codIsin, + cat.tipoProdotto, + null as positionIdProposta +from + c6staging.RP_Proposta pro, + c6staging.RP_DettaglioOperazione ope, + c6staging.RP_PosizioniProposta pospro, + c6staging.RP_catalogoprodotti cat +where + pro.chiaveproposta=ope.chiaveproposta + and ope.chiaveposizionepro=pospro.chiaveposizionepro + and pospro.chiaveprodotto=cat.chiaveprodotto + and ope.chiaveposizioneptf=0--ISANEWPOSITION = 1 + and ope.posriallocata=0--RICONCILIATA = 0 + and pro.status in ('PE','ES')--STATO_PROPOSTA in ('InEsecuzione', 'ParzialmenteEseguita') + +end + + + diff --git a/sql/storedCollaudo/C6Staging_RP_W6LogBatch.sql b/sql/storedCollaudo/C6Staging_RP_W6LogBatch.sql new file mode 100644 index 00000000..3b2c6f2e --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_W6LogBatch.sql @@ -0,0 +1,46 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_W6LogBatch + + +CREATE PROCEDURE [C6Staging].[RP_W6LogBatch] + @BatchName NVARCHAR(100) +AS +BEGIN + DECLARE @BatchID INT; + + -- Trova l'ultimo batch in esecuzione con lo stesso nome + SELECT TOP 1 @BatchID = BatchID + FROM C6Staging.W6LogBatch + WHERE BatchName = @BatchName AND EndDate IS NULL + ORDER BY BatchID DESC; + + IF @BatchID IS NOT NULL + BEGIN + -- la fine del batch + -- Aggiorna la data di fine, lo status e calcola il delta in minuti + UPDATE C6Staging.W6LogBatch + SET EndDate = GETDATE(), + Status = 'OK', + DeltaMinutes = DATEDIFF(MINUTE, StartDate, GETDATE()) + WHERE BatchID = @BatchID; + + -- Output o messaggio di conferma per la fine del batch + SELECT 'Log entry updated for BatchID ' + CAST(@BatchID AS NVARCHAR(20)) + '.' + + ' Batch "' + @BatchName + '" ended.'; + END + ELSE + BEGIN + -- l'inizio del batch + -- Inserisci i dati relativi al log nella tabella C6Staging.W6LogBatch + INSERT INTO C6Staging.W6LogBatch (BatchName, Status, StartDate) + VALUES (@BatchName, 'In esecuzione', GETDATE()); + + -- Ottieni l'ID del batch appena inserito + SET @BatchID = SCOPE_IDENTITY(); + + -- Output o messaggio di conferma per l'inizio del batch + SELECT 'Log entry added for BatchID ' + CAST(@BatchID AS NVARCHAR(20)) + '.' + + ' Batch "' + @BatchName + '" started.'; + END +END; + diff --git a/sql/storedCollaudo/C6Staging_RP_clientiConMigrazione.sql b/sql/storedCollaudo/C6Staging_RP_clientiConMigrazione.sql new file mode 100644 index 00000000..503e6551 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_RP_clientiConMigrazione.sql @@ -0,0 +1,32 @@ +-- Schema: C6Staging +-- Stored Procedure: RP_clientiConMigrazione + +CREATE procedure [C6Staging].[RP_clientiConMigrazione] +as +begin +truncate table [C6Staging].[RP_V_clienti_contrsei_con_migraz] + +INSERT INTO [C6Staging].[RP_V_clienti_contrsei_con_migraz] --[C6StampeCentralizzate] + ([chiaveClientePb] + ,[rete] + ,[cod_fiscale] + ,[dtprimaMigrazione]) + +select + a.chiaveClientePb, + b.rete, + b.cod_fiscale, + a.dtprimaMigrazione + +from + +c6staging.RP_MIGRAZ_PIANIFICAZIONE a +join +[C6Mart].[vContratti] b +on a.chiaveClientePb = b.chiaveClientePb + + +end + + + diff --git a/sql/storedCollaudo/C6Staging_SRV_STORICIZZAZIONE.sql b/sql/storedCollaudo/C6Staging_SRV_STORICIZZAZIONE.sql new file mode 100644 index 00000000..4f44c819 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_SRV_STORICIZZAZIONE.sql @@ -0,0 +1,75 @@ +-- Schema: C6Staging +-- Stored Procedure: SRV_STORICIZZAZIONE + + +-- [C6Staging].[SRV_STORICIZZAZIONE] 'ACBDENOTH' +CREATE procedure [C6Staging].[SRV_STORICIZZAZIONE] + @NomeTabella VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico + + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MART.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + + SET @ID_ELAB = C6MART.GETIDELAB() + +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENOTH XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENOTH') + BEGIN + DELETE FROM C6Storico.ST_ACBDENOTH WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ACBDENOTH + (OID_, VERSION_, BDPERCENTAGE, BDBETA, F_OID__PASSE_CDF1A, F_PFINANCIAL_815C0, ID_ELAB) + SELECT ACBDENOTH.OID_, ACBDENOTH.VERSION_, ACBDENOTH.BDPERCENTAGE, ACBDENOTH.BDBETA, ACBDENOTH.F_OID__PASSE_CDF1A, ACBDENOTH.F_PFINANCIAL_815C0, @ID_ELAB + FROM C6Staging.ACBDENOTH + LEFT OUTER JOIN C6Storico.ST_ACBDENOTH + ON ACBDENOTH.OID_ = ST_ACBDENOTH.OID_ + WHERE ST_ACBDENOTH.OID_ IS NULL + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENTRY XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENTRY') + BEGIN + DELETE FROM C6Storico.ST_ACBDENTRY WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ACBDENTRY + (OID_, VERSION_, F_PINDEXBREA_08079, F_PINSTRUMEN_FBCDE, BDPERCENTAGE, BDBETA, F_OID__PASSE_B8A1E, F_PFINANCIAL_65EBB, F_PFINANCIAL_C2FD3, ID_ELAB) + SELECT ACBDENTRY.OID_, ACBDENTRY.VERSION_, ACBDENTRY.F_PINDEXBREA_08079, ACBDENTRY.F_PINSTRUMEN_FBCDE, ACBDENTRY.BDPERCENTAGE, ACBDENTRY.BDBETA, ACBDENTRY.F_OID__PASSE_B8A1E, ACBDENTRY.F_PFINANCIAL_65EBB, ACBDENTRY.F_PFINANCIAL_C2FD3, @ID_ELAB + FROM C6Staging.ACBDENTRY + LEFT OUTER JOIN C6Storico.ST_ACBDENTRY + ON ACBDENTRY.OID_ = ST_ACBDENTRY.OID_ + WHERE ST_ACBDENTRY.OID_ IS NULL + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ADBKRELAT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ADBKRELAT') + BEGIN + DELETE FROM C6Storico.ST_ADBKRELAT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ADBKRELAT + (OID_, VERSION_, TYPE__TYPE_CAB4A, ADBKRELDESCR, ADBKRELNOTE, DEPENDANT, PHONEDECIMAL, F_OID__ADBKR_CBA9A, F_PADDRESSBO_24DA1, ID_ELAB) + SELECT ADBKRELAT.OID_, ADBKRELAT.VERSION_, ADBKRELAT.TYPE__TYPE_CAB4A, ADBKRELAT.ADBKRELDESCR, ADBKRELAT.ADBKRELNOTE, ADBKRELAT.DEPENDANT, ADBKRELAT.PHONEDECIMAL, ADBKRELAT.F_OID__ADBKR_CBA9A, ADBKRELAT.F_PADDRESSBO_24DA1, @ID_ELAB + FROM C6Staging.ADBKRELAT + LEFT OUTER JOIN C6Storico.ST_ADBKRELAT + ON ADBKRELAT.OID_ = ST_ADBKRELAT.OID_ + WHERE ST_ADBKRELAT.OID_ IS NULL + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ADS4WS_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ADS4WS_PROMOTORI') + BEGIN + DELETE FROM C6Storico.ST_ADS4WS_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ADS4WS_PROMOTORI + (Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, PrefissoTelefono, TelefonoAgenzia1, TelefonoAgenzia2, ID_ELAB) + SELECT Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, PrefissoTelefono, TelefonoAgenzia1, TelefonoAgenzia2, @ID_ELAB + FROM C6Staging.AD diff --git a/sql/storedCollaudo/C6Staging_SRV_STORICIZZAZIONE_OLD.sql b/sql/storedCollaudo/C6Staging_SRV_STORICIZZAZIONE_OLD.sql new file mode 100644 index 00000000..08bfe2ef --- /dev/null +++ b/sql/storedCollaudo/C6Staging_SRV_STORICIZZAZIONE_OLD.sql @@ -0,0 +1,78 @@ +-- Schema: C6Staging +-- Stored Procedure: SRV_STORICIZZAZIONE_OLD + +-- [C6Staging].[SRV_STORICIZZAZIONE] 'ACBDENOTH' +CREATE PROCEDURE [C6Staging].[SRV_STORICIZZAZIONE_OLD] + @NomeTabella VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico + + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MART.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + + SET @ID_ELAB = C6MART.GETIDELAB() + +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENOTH XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENOTH') + BEGIN + DELETE FROM C6Storico.ST_ACBDENOTH WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ACBDENOTH + (OID_, VERSION_, BDPERCENTAGE, BDBETA, F_OID__PASSE_CDF1A, F_PFINANCIAL_815C0, ID_ELAB) + SELECT OID_, VERSION_, BDPERCENTAGE, BDBETA, F_OID__PASSE_CDF1A, F_PFINANCIAL_815C0, @ID_ELAB + FROM C6Staging.ACBDENOTH + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENTRY XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENTRY') + BEGIN + DELETE FROM C6Storico.ST_ACBDENTRY WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ACBDENTRY + (OID_, VERSION_, F_PINDEXBREA_08079, F_PINSTRUMEN_FBCDE, BDPERCENTAGE, BDBETA, F_OID__PASSE_B8A1E, F_PFINANCIAL_65EBB, F_PFINANCIAL_C2FD3, ID_ELAB) + SELECT OID_, VERSION_, F_PINDEXBREA_08079, F_PINSTRUMEN_FBCDE, BDPERCENTAGE, BDBETA, F_OID__PASSE_B8A1E, F_PFINANCIAL_65EBB, F_PFINANCIAL_C2FD3, @ID_ELAB + FROM C6Staging.ACBDENTRY + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ADBKRELAT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ADBKRELAT') + BEGIN + DELETE FROM C6Storico.ST_ADBKRELAT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ADBKRELAT + (OID_, VERSION_, TYPE__TYPE_CAB4A, ADBKRELDESCR, ADBKRELNOTE, DEPENDANT, PHONEDECIMAL, F_OID__ADBKR_CBA9A, F_PADDRESSBO_24DA1, ID_ELAB) + SELECT OID_, VERSION_, TYPE__TYPE_CAB4A, ADBKRELDESCR, ADBKRELNOTE, DEPENDANT, PHONEDECIMAL, F_OID__ADBKR_CBA9A, F_PADDRESSBO_24DA1, @ID_ELAB + FROM C6Staging.ADBKRELAT + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ADS4WS_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ADS4WS_PROMOTORI') + BEGIN + DELETE FROM C6Storico.ST_ADS4WS_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ADS4WS_PROMOTORI + (Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, Telefono, TelefonoAgenzia1, TelefonoAgenzia2, ID_ELAB) + SELECT Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, Telefono, TelefonoAgenzia1, TelefonoAgenzia2, @ID_ELAB + FROM C6Staging.ADS4WS_PROMOTORI + END + + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_ASSET_CLASS_PER_PROMET XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_ASSET_CLASS_PER_PROMET') + BEGIN + DELETE FROM C6Storico.ST_ALL_ASSET_CLASS_PER_PROMET WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_ASSET_CLASS_PER_PROMET + (CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ID_ELAB) + SELECT CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, @ID_ELAB + FROM C6Staging.ALL_ASSET_CLASS_PER_PROMET + END + + --XXXXXXXXXXXXXXXXXXX diff --git a/sql/storedCollaudo/C6Staging_SRV_SVUOTASTAGING.sql b/sql/storedCollaudo/C6Staging_SRV_SVUOTASTAGING.sql new file mode 100644 index 00000000..8ad5fca6 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_SRV_SVUOTASTAGING.sql @@ -0,0 +1,106 @@ +-- Schema: C6Staging +-- Stored Procedure: SRV_SVUOTASTAGING + + +CREATE procedure [C6Staging].[SRV_SVUOTASTAGING] +AS +BEGIN + SET NOCOUNT ON; + + TRUNCATE TABLE [C6Staging].[ACBDENOTH] + + TRUNCATE TABLE [C6Staging].[ACBDENTRY] + + TRUNCATE TABLE [C6Staging].[ADBKRELAT] + + TRUNCATE TABLE [C6Staging].[ADS4WS_PROMOTORI] + + TRUNCATE TABLE [C6Staging].[ALL_ASSET_CLASS_PER_PROMET] + + TRUNCATE TABLE [C6Staging].[ALL_CF_PB] + + TRUNCATE TABLE [C6Staging].[ALL_CF_STATO] + + TRUNCATE TABLE [C6Staging].[ALL_CONSUL_ASUL] + + TRUNCATE TABLE [C6Staging].[ALL_PATR_TERZI] + + TRUNCATE TABLE [C6Staging].[ALL_PATRBF] + + TRUNCATE TABLE [C6Staging].[ALL_POS_CONS_CAT] + + TRUNCATE TABLE [C6Staging].[ALL_PROPOSTA] + + TRUNCATE TABLE [C6Staging].[ASSETCLASS] + + TRUNCATE TABLE [C6Staging].[C_BO_453FB] + + TRUNCATE TABLE [C6Staging].[CATINAREA] + + TRUNCATE TABLE [C6Staging].[CATITEMREF] + + TRUNCATE TABLE [C6Staging].[COMPTYPE] + + TRUNCATE TABLE [C6Staging].[CONO] + + TRUNCATE TABLE [C6Staging].[CONSAREA] + + TRUNCATE TABLE [C6Staging].[CONSUL] + + TRUNCATE TABLE [C6Staging].[INDREND] + + TRUNCATE TABLE [C6Staging].[INSTRBDS] + + TRUNCATE TABLE [C6Staging].[MACROASSETCLASS] + + TRUNCATE TABLE [C6Staging].[NEEDAREA] + + TRUNCATE TABLE [C6Staging].[OTHINTRST] + + TRUNCATE TABLE [C6Staging].[PORTMOD] + + TRUNCATE TABLE [C6Staging].[POSITION] + + TRUNCATE TABLE [C6Staging].[PRCONSUL] + + TRUNCATE TABLE [C6Staging].[PROMETEIA_AGGR] + + TRUNCATE TABLE [C6Staging].[PROMETEIA_DETT] + + TRUNCATE TABLE [C6Staging].[QUANTIF] + + TRUNCATE TABLE [C6Staging].[S25_CLI_CLIENTE] + + TRUNCATE TABLE [C6Staging].[S4_S5_S13_TRAD_UNTIL_LIV3] + + TRUNCATE TABLE [C6Staging].[SPB_ASS_UNIT] + + TRUNCATE TABLE [C6Staging].[SPB_CLIENTI] + + TRUNCATE TABLE [C6Staging].[SPB_CONTR_SINTESI] + + TRUNCATE TABLE [C6Staging].[SPB_INDIRIZZI] + + TRUNCATE TABLE [C6Staging].[SPB_MIFID] + + TRUNCATE TABLE [C6Staging].[SPB_NAC] + + TRUNCATE TABLE [C6Staging].[SPB_PARTITE_VIAGG] + + TRUNCATE TABLE [C6Staging].[SPB_PROF_RISCHIO] + + TRUNCATE TABLE [C6Staging].[V_CLIENTI_CONTRSEI_CON_MIGRAZ] + + TRUNCATE TABLE [C6Staging].[VARIAZIONE_CONTRSEI] + + TRUNCATE TABLE [C6Staging].[WANAB] + + TRUNCATE TABLE [C6Staging].[WRENAB] + + TRUNCATE TABLE [C6Staging].[WSCABP] + +END + + + + diff --git a/sql/storedCollaudo/C6Staging_SRV_TABELLE_IN_STAGING.sql b/sql/storedCollaudo/C6Staging_SRV_TABELLE_IN_STAGING.sql new file mode 100644 index 00000000..80ccbf13 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_SRV_TABELLE_IN_STAGING.sql @@ -0,0 +1,48 @@ +-- Schema: C6Staging +-- Stored Procedure: SRV_TABELLE_IN_STAGING + +CREATE procedure [C6Staging].[SRV_TABELLE_IN_STAGING] +AS +BEGIN + DECLARE @tabella AS VARCHAR(50) + SET @tabella = NULL + + SELECT TOP 1 @tabella = A.tabella + FROM( + SELECT tables.name tabella + FROM sys.tables tables + INNER JOIN sys.schemas schemas + ON tables.schema_id = schemas.schema_id + WHERE schemas.name = 'C6Staging' + AND tables.name <> 'TabelleStoricizzate' + ) A + WHERE A.tabella NOT IN ( + SELECT Nome + FROM C6Staging.TabelleStoricizzate + ) + ORDER BY A.tabella + + -- inserisce dei NULL in TabelleStoricizzate!!! + /*INSERT INTO [C6Staging].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella)*/ + + DECLARE @tabellaDaStoricizzare AS SMALLINT + IF @tabella IS NOT NULL + BEGIN + INSERT INTO [C6Staging].[TabelleStoricizzate] + ([Nome], [Inizio]) + VALUES + (@tabella, GETDATE()) + EXEC C6Staging.SRV_STORICIZZAZIONE @tabella + SET @tabellaDaStoricizzare = 1 + END + ELSE + SET @tabellaDaStoricizzare = 0 + + SELECT @tabellaDaStoricizzare tabella, @tabella nome + +END + + diff --git a/sql/storedCollaudo/C6Staging_ST_INSERT_SCARTI_SIMPB.sql b/sql/storedCollaudo/C6Staging_ST_INSERT_SCARTI_SIMPB.sql new file mode 100644 index 00000000..e9add96d --- /dev/null +++ b/sql/storedCollaudo/C6Staging_ST_INSERT_SCARTI_SIMPB.sql @@ -0,0 +1,76 @@ +-- Schema: C6Staging +-- Stored Procedure: ST_INSERT_SCARTI_SIMPB + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Staging].[ST_SELECT_FOR_ADS4WS] 1 + +CREATE procedure [C6Staging].[ST_INSERT_SCARTI_SIMPB] + --@NomePacchetto AS VARCHAR(50) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_INSERT_SCARTI_SIMPB', + GETDATE(), + 'Elaborazione giornaliera2' + ) + + TRUNCATE TABLE [C6Staging].[SPB_SCARTI] + INSERT INTO [C6Staging].[SPB_SCARTI] + ([Rete] + ,[CodiceFiscale] + ,[PacchettoSSIS] + ,[ID_Elab]) + SELECT [Rete] + ,[Cod_Fiscale] + ,'SPB_CONTRSINTESI' AS [PacchettoSSIS] + ,C6Mart.getIdElab() + FROM C6Mart.RP_VContrattiMigrati + WHERE Cod_Fiscale NOT IN (SELECT CODICEFISCALE + FROM C6Staging.SPB_CONTR_SINTESI) + + INSERT INTO [C6Staging].[SPB_SCARTI] + ([Rete] + ,[CodiceFiscale] + ,[PacchettoSSIS] + ,[ID_Elab]) + SELECT [Rete] + ,[Cod_Fiscale] + ,'SPB_MIFID' AS [PacchettoSSIS] + ,C6Mart.getIdElab() + FROM C6Mart.RP_VContrattiMigrati + WHERE Cod_Fiscale NOT IN (SELECT CODICEFISCALE + FROM C6Staging.SPB_MIFID) + + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_INSERT_SCARTI_SIMPB' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_INSERT_SCARTI_SIMPB' + ) +END + + + diff --git a/sql/storedCollaudo/C6Staging_ST_SELECT_FOR_ADS4WS.sql b/sql/storedCollaudo/C6Staging_ST_SELECT_FOR_ADS4WS.sql new file mode 100644 index 00000000..8d2cc2f5 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_ST_SELECT_FOR_ADS4WS.sql @@ -0,0 +1,105 @@ +-- Schema: C6Staging +-- Stored Procedure: ST_SELECT_FOR_ADS4WS + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Staging].[ST_SELECT_FOR_ADS4WS] 1 +CREATE procedure [C6Staging].[ST_SELECT_FOR_ADS4WS] + @Tipo AS INTEGER +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SELECT_FOR_ADS4WS', + GETDATE(), + 'Elaborazione giornaliera' + ) + + IF @Tipo = 1 + + BEGIN + -- ELIMINIAMO I CODICI FITTIZI + SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM c6mart.vTuttiIContratti C6 + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE + WHERE PF.RETE IS NULL + AND C6.COD_AGENTE NOT IN ('009202') + --AND C6.COD_AGENTE NOT IN ('003064','015115','015117','004038') + + END + + ELSE + + BEGIN + -- PRENDO I CODICI FITTIZI + SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM c6mart.vTuttiIContratti C6 + INNER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE + END + + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SELECT_FOR_ADS4WS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_SELECT_FOR_ADS4WS' + ) +END + + + + + + + + + diff --git a/sql/storedCollaudo/C6Staging_inserisci_promotori_fittizi.sql b/sql/storedCollaudo/C6Staging_inserisci_promotori_fittizi.sql new file mode 100644 index 00000000..e1cf62b3 --- /dev/null +++ b/sql/storedCollaudo/C6Staging_inserisci_promotori_fittizi.sql @@ -0,0 +1,28 @@ +-- Schema: C6Staging +-- Stored Procedure: inserisci_promotori_fittizi + + + +CREATE procedure [C6Staging].[inserisci_promotori_fittizi] as +begin +insert into [C6Staging].[ADS4WS_PROMOTORI] (rete,codice,prefisso,firma) +SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM C6Mart.vContrattiPerGenerazioneReport C6 + INNER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE +end + + + + diff --git a/sql/storedCollaudo/dbo_AMB_Cerca.sql b/sql/storedCollaudo/dbo_AMB_Cerca.sql new file mode 100644 index 00000000..f82f2497 --- /dev/null +++ b/sql/storedCollaudo/dbo_AMB_Cerca.sql @@ -0,0 +1,55 @@ +-- Schema: dbo +-- Stored Procedure: AMB_Cerca + + + +CREATE procedure [dbo].[AMB_Cerca] (@word1 varchar(max) = 'DMECST71D10H501E') as +BEGIN + +declare @Datab varchar(50) +declare @query varchar(max) +declare @dbid smallint = 1 +declare @numdb smallint = 1 +select @numdb = max(database_id) from master.sys.databases + +IF OBJECT_ID('tempdb.dbo.#temp1', 'U') IS NOT NULL DROP TABLE #temp1; +create table #temp1 (DatabaseName Varchar(50), NomeOggetto varchar(50), TipoOggetto varchar(max)) + +while (@dbid <= @numdb ) +begin + + SELECT @Datab= name FROM master.sys.databases where database_id = @dbid + + + if @Datab <> 'tempdb' + begin + set @query = + 'Insert Into #temp1 SELECT DISTINCT ''' + @Datab + ''' as DatabaseName, + o.name AS Object_Name, + o.type_desc + FROM ' + @Datab+'.sys.sql_modules m + INNER JOIN ' + @Datab+ '.sys.objects o + ON m.object_id = o.object_id + WHERE upper(m.definition) like ''%' + @word1 + '%''' + + begin try + print @query + exec (@query) + end try + + begin catch + Insert Into #temp1 select name , 'si verificato un errore', + ISNULL( error_message(),'') + FROM master.sys.databases where database_id = @dbid + end catch + end + set @dbid = @dbid + 1 +end + +select * from #temp1 order by 1, 3, 2 + +drop table #temp1 + +END + + diff --git a/sql/storedCollaudo/dbo_Aggiorna_Trimestrale_SEI_Processi.sql b/sql/storedCollaudo/dbo_Aggiorna_Trimestrale_SEI_Processi.sql new file mode 100644 index 00000000..3d190c41 --- /dev/null +++ b/sql/storedCollaudo/dbo_Aggiorna_Trimestrale_SEI_Processi.sql @@ -0,0 +1,34 @@ +-- Schema: dbo +-- Stored Procedure: Aggiorna_Trimestrale_SEI_Processi + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE Aggiorna_Trimestrale_SEI_Processi + -- Add the parameters for the stored procedure here + @Attivita as varchar(30) = NULL, + @Semaforo as varchar(10) = NULL, --Y(ellow) --> in esecuzione, R(ed)= fallita,G(reen) = ok eseguita,W(hite) = mai eseguita + @Datainizio as datetime = NULL, + @DataFine as datetime = NULL, + @Note as text = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + --if (@Attivita is not null) + + + + --update [dbo].[Cruscotto_Trimestrale_SEI_Processi] + --set (semaforo + + --where attivita = @Attivita + + + +END + diff --git a/sql/storedCollaudo/dbo_CERCA.sql b/sql/storedCollaudo/dbo_CERCA.sql new file mode 100644 index 00000000..656d866e --- /dev/null +++ b/sql/storedCollaudo/dbo_CERCA.sql @@ -0,0 +1,69 @@ +-- Schema: dbo +-- Stored Procedure: CERCA + + + +--[CERCA] '%COD%','P','c6martperiodico' +CREATE procedure [dbo].[CERCA] + @testo varchar(500) = '', + @tipo varchar(2) = '', + @schema varchar(500) = '' + + +AS +BEGIN + + +IF @tipo <> '' AND @schema <> '' + SELECT SCHEMA_NAME(schema_id),* FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo) + AND SCHEMA_NAME(schema_id) = @schema + AND type = @tipo + order by 1 + +IF @tipo <> '' AND @schema = '' + SELECT SCHEMA_NAME(schema_id),* FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo) + --AND SCHEMA_NAME(schema_id) = @schema + AND type = @tipo + order by 1 + +IF @tipo = '' AND @schema <> '' + SELECT SCHEMA_NAME(schema_id),* FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo) + AND SCHEMA_NAME(schema_id) = @schema + --AND type = @tipo + order by 1 + +IF @tipo = '' AND @schema = '' + SELECT SCHEMA_NAME(schema_id),* FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo) + --AND SCHEMA_NAME(schema_id) = @schema + --AND type = @tipo + order by 1 +--AF = funzione di aggregazione (CLR) +--C = vincolo CHECK +--D = DEFAULT (vincolo o valore autonomo) +--F = vincolo FOREIGN KEY +--FN = funzione scalare SQL +--FS = funzione scalare di assembly (CLR) +--FT = funzione valutata a livello di tabella assembly (CLR) +--IF = funzione SQL inline valutata a livello di tabella +--IT = tabella interna +--P = stored procedure SQL +--PC = stored procedure di assembly (CLR) +--PG = guida di piano +--PK = vincolo PRIMARY KEY +--R = regola (tipo obsoleto, autonoma) +--RF = procedura-filtro-replica +--S = tabella di base di sistema +--SN = sinonimo +--SO = oggetto sequenza +--SQ = coda di servizio +--TA = trigger DML assembly (CLR) +--TF = funzione valutata a livello di tabella SQL +--TR = trigger DML SQL +--TT = tipo tabella +--U = tabella (definita dall'utente) +--UQ = vincolo UNIQUE +--V = vista +--X = stored procedure estesa + +END + diff --git a/sql/storedCollaudo/dbo_CHECK_INSERT_PRODOTTI_NON_A_CATALOGO.sql b/sql/storedCollaudo/dbo_CHECK_INSERT_PRODOTTI_NON_A_CATALOGO.sql new file mode 100644 index 00000000..e8bafe53 --- /dev/null +++ b/sql/storedCollaudo/dbo_CHECK_INSERT_PRODOTTI_NON_A_CATALOGO.sql @@ -0,0 +1,13 @@ +-- Schema: dbo +-- Stored Procedure: CHECK_INSERT_PRODOTTI_NON_A_CATALOGO + +CREATE procedure [dbo].[CHECK_INSERT_PRODOTTI_NON_A_CATALOGO] + +as + +truncate table c6stagingperiodico.spb_contr_sintesi_prodotti_NO_PID +insert into c6stagingperiodico.spb_contr_sintesi_prodotti_NO_PID +select * +from c6stagingperiodico.spb_contr_sintesi +where positionid is null + diff --git a/sql/storedCollaudo/dbo_CLR_CHECK_CTV_OF_CurrentAccount_PER_CLIENT.sql b/sql/storedCollaudo/dbo_CLR_CHECK_CTV_OF_CurrentAccount_PER_CLIENT.sql new file mode 100644 index 00000000..7f006863 --- /dev/null +++ b/sql/storedCollaudo/dbo_CLR_CHECK_CTV_OF_CurrentAccount_PER_CLIENT.sql @@ -0,0 +1,4 @@ +-- Schema: dbo +-- Stored Procedure: CLR_CHECK_CTV_OF_CurrentAccount_PER_CLIENT + + diff --git a/sql/storedCollaudo/dbo_CLR_CHECK_CTV_PER_NEEDAREA_PER_CLIENT.sql b/sql/storedCollaudo/dbo_CLR_CHECK_CTV_PER_NEEDAREA_PER_CLIENT.sql new file mode 100644 index 00000000..d456def3 --- /dev/null +++ b/sql/storedCollaudo/dbo_CLR_CHECK_CTV_PER_NEEDAREA_PER_CLIENT.sql @@ -0,0 +1,4 @@ +-- Schema: dbo +-- Stored Procedure: CLR_CHECK_CTV_PER_NEEDAREA_PER_CLIENT + + diff --git a/sql/storedCollaudo/dbo_CONTROLLO_COMPLESSITA.sql b/sql/storedCollaudo/dbo_CONTROLLO_COMPLESSITA.sql new file mode 100644 index 00000000..8ebc48e6 --- /dev/null +++ b/sql/storedCollaudo/dbo_CONTROLLO_COMPLESSITA.sql @@ -0,0 +1,50 @@ +-- Schema: dbo +-- Stored Procedure: CONTROLLO_COMPLESSITA + + +CREATE procedure [dbo].[CONTROLLO_COMPLESSITA] + +as + +begin + +declare @cf as varchar(16) +set @cf = 'CSRRNZ50R55I802I' + + +SELECT max(a.complex) as complexMaxInPTF +FROM C6STAGINGPERIODICO.CATITEMREF A INNER JOIN +C6MARTPERIODICO.PATRIMONIO_Bf B +ON A.CATALOGUEID = SUBSTRING(B.POSITION_ID,1,57) +WHERE B.COD_FISCALE=@cf + + +SELECT max(a.complex) as complexMaxInPTFGiorn +FROM C6STAGING.CATITEMREF A INNER JOIN +C6MARTPERIODICO.PATRIMONIO_Bf B +ON A.CATALOGUEID = SUBSTRING(B.POSITION_ID,1,57) +WHERE B.COD_FISCALE=@cf + +SELECT cod_profec as complexProfiloCliente +FROM C6STAGINGPERIODICO.wSEIAN2 +WHERE CODFIS=@cf +AND DTTRIM =20110930 + + + +SELECT * +FROM C6STAGINGPERIODICO.CATITEMREF A INNER JOIN +C6MARTPERIODICO.PATRIMONIO_Bf B +ON A.CATALOGUEID = SUBSTRING(B.POSITION_ID,1,57) +WHERE B.COD_FISCALE=@cf + + +SELECT * +FROM C6STAGING.CATITEMREF A INNER JOIN +C6MARTPERIODICO.PATRIMONIO_Bf B +ON A.CATALOGUEID = SUBSTRING(B.POSITION_ID,1,57) +WHERE B.COD_FISCALE=@cf + +end + + diff --git a/sql/storedCollaudo/dbo_CREA_CAMPIONE.sql b/sql/storedCollaudo/dbo_CREA_CAMPIONE.sql new file mode 100644 index 00000000..b92e3c29 --- /dev/null +++ b/sql/storedCollaudo/dbo_CREA_CAMPIONE.sql @@ -0,0 +1,125 @@ +-- Schema: dbo +-- Stored Procedure: CREA_CAMPIONE + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE] + -- Add the parameters for the stored procedure here +AS +BEGIN + +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- + +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione + + +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select a.rete,a.cod_fiscale +from consuni_periodico.ConsulenzaUnica.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale + + +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto + +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc + + +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport + + + -- mod 11/7/2018 - vogliamo meno report + --select top 220 + --select top 100 + -- fine mod 11/7/2018 +-- mod 16/4/2019 - vogliamo pi report :) +select top 0 + +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto + +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* + +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc + + +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto + +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* + +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fi diff --git a/sql/storedCollaudo/dbo_CREA_CAMPIONE_20160119.sql b/sql/storedCollaudo/dbo_CREA_CAMPIONE_20160119.sql new file mode 100644 index 00000000..2093ff9b --- /dev/null +++ b/sql/storedCollaudo/dbo_CREA_CAMPIONE_20160119.sql @@ -0,0 +1,120 @@ +-- Schema: dbo +-- Stored Procedure: CREA_CAMPIONE_20160119 + + + + + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_20160119] + -- Add the parameters for the stored procedure here +AS +BEGIN + +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- + +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione + + +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select rete,cod_fiscale +from consevo_periodico.ConsulenzaEvoluta.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale + + +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto + +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc + +insert into appocampionereport + +select top 175 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto + +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* + +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc + + +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto + +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* + +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (se diff --git a/sql/storedCollaudo/dbo_CREA_CAMPIONE_20160318.sql b/sql/storedCollaudo/dbo_CREA_CAMPIONE_20160318.sql new file mode 100644 index 00000000..0ea159f2 --- /dev/null +++ b/sql/storedCollaudo/dbo_CREA_CAMPIONE_20160318.sql @@ -0,0 +1,124 @@ +-- Schema: dbo +-- Stored Procedure: CREA_CAMPIONE_20160318 + + + + + + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_20160318] + -- Add the parameters for the stored procedure here +AS +BEGIN + +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- + +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione + + +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select rete,cod_fiscale +from consevo_periodico.ConsulenzaEvoluta.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale + + +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto + +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc + + +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport + +select top 175 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto + +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* + +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc + + +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto + +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* + +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPerio diff --git a/sql/storedCollaudo/dbo_CREA_CAMPIONE_20160414.sql b/sql/storedCollaudo/dbo_CREA_CAMPIONE_20160414.sql new file mode 100644 index 00000000..93bcfb5e --- /dev/null +++ b/sql/storedCollaudo/dbo_CREA_CAMPIONE_20160414.sql @@ -0,0 +1,125 @@ +-- Schema: dbo +-- Stored Procedure: CREA_CAMPIONE_20160414 + + + + + + + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_20160414] + -- Add the parameters for the stored procedure here +AS +BEGIN + +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- + +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione + + +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select rete,cod_fiscale +from consevo_periodico.ConsulenzaEvoluta.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale + + +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto + +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc + + +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport + +select top 175 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto + +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* + +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc + + +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto + +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* + +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPer diff --git a/sql/storedCollaudo/dbo_CREA_CAMPIONE_20161216.sql b/sql/storedCollaudo/dbo_CREA_CAMPIONE_20161216.sql new file mode 100644 index 00000000..e266090d --- /dev/null +++ b/sql/storedCollaudo/dbo_CREA_CAMPIONE_20161216.sql @@ -0,0 +1,118 @@ +-- Schema: dbo +-- Stored Procedure: CREA_CAMPIONE_20161216 + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_20161216] + -- Add the parameters for the stored procedure here +AS +BEGIN + +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- + +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione + + +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select rete,cod_fiscale +from consevo_periodico.ConsulenzaEvoluta.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale + + +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto + +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc + + +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport + +select top 175 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto + +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* + +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc + + +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto + +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* + +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROL diff --git a/sql/storedCollaudo/dbo_CREA_CAMPIONE_20170114.sql b/sql/storedCollaudo/dbo_CREA_CAMPIONE_20170114.sql new file mode 100644 index 00000000..103bbd6f --- /dev/null +++ b/sql/storedCollaudo/dbo_CREA_CAMPIONE_20170114.sql @@ -0,0 +1,120 @@ +-- Schema: dbo +-- Stored Procedure: CREA_CAMPIONE_20170114 + + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE PROCEDURE [dbo].[CREA_CAMPIONE_20170114] + -- Add the parameters for the stored procedure here +AS +BEGIN + +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- + +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione + + +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select a.rete,a.cod_fiscale +from consuni_periodico.ConsulenzaUnica.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale + + +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto + +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc + + +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport + +select top 175 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto + +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* + +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc + + +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto + +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* + +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.C diff --git a/sql/storedCollaudo/dbo_CREA_CAMPIONE_20170321.sql b/sql/storedCollaudo/dbo_CREA_CAMPIONE_20170321.sql new file mode 100644 index 00000000..065e1721 --- /dev/null +++ b/sql/storedCollaudo/dbo_CREA_CAMPIONE_20170321.sql @@ -0,0 +1,121 @@ +-- Schema: dbo +-- Stored Procedure: CREA_CAMPIONE_20170321 + + + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_20170321] + -- Add the parameters for the stored procedure here +AS +BEGIN + +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- + +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione + + +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select a.rete,a.cod_fiscale +from consuni_periodico.ConsulenzaUnica.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale + + +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto + +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc + + +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport + +select top 175 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto + +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* + +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc + + +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto + +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* + +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico diff --git a/sql/storedCollaudo/dbo_CREA_CAMPIONE_20180115_preJoinNewTab.sql b/sql/storedCollaudo/dbo_CREA_CAMPIONE_20180115_preJoinNewTab.sql new file mode 100644 index 00000000..970854d5 --- /dev/null +++ b/sql/storedCollaudo/dbo_CREA_CAMPIONE_20180115_preJoinNewTab.sql @@ -0,0 +1,123 @@ +-- Schema: dbo +-- Stored Procedure: CREA_CAMPIONE_20180115_preJoinNewTab + + + + + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +create procedure [dbo].[CREA_CAMPIONE_20180115_preJoinNewTab] + -- Add the parameters for the stored procedure here +AS +BEGIN + +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- + +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione + + +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select a.rete,a.cod_fiscale +from consuni_periodico.ConsulenzaUnica.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale + + +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto + +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc + + +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport + +select top 220 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto + +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* + +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc + + +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto + +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* + +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale fr diff --git a/sql/storedCollaudo/dbo_CREA_CAMPIONE_20180711.sql b/sql/storedCollaudo/dbo_CREA_CAMPIONE_20180711.sql new file mode 100644 index 00000000..23471a25 --- /dev/null +++ b/sql/storedCollaudo/dbo_CREA_CAMPIONE_20180711.sql @@ -0,0 +1,114 @@ +-- Schema: dbo +-- Stored Procedure: CREA_CAMPIONE_20180711 + + + + + +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_20180711] + -- Add the parameters for the stored procedure here +AS +BEGIN + +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- + +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione + + +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select a.rete,a.cod_fiscale +from consuni_periodico.ConsulenzaUnica.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale + + +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto + +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc + + +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport + +select top 220 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto + +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* + +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc + + +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto + +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* + +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRI diff --git a/sql/storedCollaudo/dbo_CREA_CAMPIONE_20180921.sql b/sql/storedCollaudo/dbo_CREA_CAMPIONE_20180921.sql new file mode 100644 index 00000000..cf41cd46 --- /dev/null +++ b/sql/storedCollaudo/dbo_CREA_CAMPIONE_20180921.sql @@ -0,0 +1,119 @@ +-- Schema: dbo +-- Stored Procedure: CREA_CAMPIONE_20180921 + + + + + + +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_20180921] + -- Add the parameters for the stored procedure here +AS +BEGIN + +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- + +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione + + +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select a.rete,a.cod_fiscale +from consuni_periodico.ConsulenzaUnica.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale + + +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto + +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc + + +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport + + +-- mod 11/7/2018 - vogliamo meno report + --select top 220 +select top 100 +-- fine mod 11/7/2018 + +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto + +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* + +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc + + +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto + +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* + +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) diff --git a/sql/storedCollaudo/dbo_CREA_CAMPIONE_TEST.sql b/sql/storedCollaudo/dbo_CREA_CAMPIONE_TEST.sql new file mode 100644 index 00000000..235ebb74 --- /dev/null +++ b/sql/storedCollaudo/dbo_CREA_CAMPIONE_TEST.sql @@ -0,0 +1,122 @@ +-- Schema: dbo +-- Stored Procedure: CREA_CAMPIONE_TEST + + + + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_TEST] + -- Add the parameters for the stored procedure here +AS +BEGIN + +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- + +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione + + +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select a.rete,a.cod_fiscale +from consuni_periodico.ConsulenzaUnica.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale + + +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto + +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc + + +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport + +select top 220 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto + +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* + +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc + + +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto + +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* + +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.C diff --git a/sql/storedCollaudo/dbo_Controlli_Mattina_PdC.sql b/sql/storedCollaudo/dbo_Controlli_Mattina_PdC.sql new file mode 100644 index 00000000..facc4963 --- /dev/null +++ b/sql/storedCollaudo/dbo_Controlli_Mattina_PdC.sql @@ -0,0 +1,105 @@ +-- Schema: dbo +-- Stored Procedure: Controlli_Mattina_PdC + + + + + +-- ============================================= +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[Controlli_Mattina_PdC] +AS +BEGIN +drop table if exists #batch +create table #batch( +id int identity, +nomeBatch varchar(128) +) + +insert into #batch values('CatalogoProdotti') +insert into #batch values('replicaMarketing') +insert into #batch values('AMPRO') +insert into #batch values('ClassiDiPrezzo') +insert into #batch values('ReplicaWasset') +insert into #batch values('TMD') +insert into #batch values('CalcolaVarNP') +insert into #batch values('FlussoRol') +insert into #batch values('ReplicaBasket') +insert into #batch values('ReplicaNAV') +insert into #batch values('W6CVNA') +insert into #batch values('MAC') +insert into #batch values('CalcolaVarNP_PtfCons') +insert into #batch values('Carica_PTFCONS_DatiFlussoMK') +insert into #batch values('ESEGUITI') +insert into #batch values('Flusso F') +insert into #batch values('FlussoPortafogli') +insert into #batch values('FlussoRol') +insert into #batch values('Perfezionamento') +insert into #batch values('ReplicaWNPTAB_APP') +insert into #batch values('RiallocazioneGuidataNA') +insert into #batch values('RDR') +insert into #batch values('replicaMonitoraggio') +insert into #batch values('AllineamentoMassivo_RiallocazioneGuidataNA') +insert into #batch values('ProdottiEsenti') +insert into #batch values('AllineamentoMassivo') +insert into #batch values('replicaW6LPST') +insert into #batch values('AllineamentoMassivo_RCM') +insert into #batch values('ReplicaClientiMovimentati') +insert into #batch values('CambioReteAmministrato') +insert into #batch values('ContrattoNuclei') +insert into #batch values('Movimentazione_Trimestrale') +insert into #batch values('CaricaListaIntermediari') +insert into #batch values('ContrattoSei') +insert into #batch values('ESTRAZIONE_SIMWEB') +insert into #batch values('ReplicaWassal') +insert into #batch values('ReplicaWKCCAT') +insert into #batch values('ReplicaWNPTAB') +insert into #batch values('ReplicaDichiarazioniPB') + +--select * from #batch +drop table if exists #log_batch +create table #log_batch ( +NomeBatch varchar(128), +Dtesecuzione datetime, +Stato varchar(200), +DtFineElaborazione datetime) + +insert into #log_batch (NomeBatch,DtEsecuzione,Stato,DtFineElaborazione) +(SELECT NomeBatch,DtEsecuzione,Stato,DtFineElaborazione +FROM consuni.[ConsulenzaUnicaFL].[dbo].[logBatchGenerale] +WHERE +CONVERT(DATETIME, CONVERT(DATE, DtEsecuzione))= CONVERT(DATETIME, CONVERT(DATE, GETDATE())) +--ORDER BY DTEsecuzione desc, nomebatch + +Union all + +SELECT NomeBatch,DtEsecuzione,Stato,DtFineElaborazione +FROM consuni.[ConsulenzaUnicaFL].[dbo].[logBatchGenerale] +WHERE +CONVERT(DATETIME, CONVERT(DATE, DtEsecuzione))= CONVERT(DATETIME, CONVERT(DATE, GETDATE()-1)) +and CONVERT(DATETIME, CONVERT(DATETIME, DtEsecuzione))>CONVERT(DATETIME, CONVERT(DATETIME,dateadd(hh,0,GETDATE()-1))) +--ORDER BY DTEsecuzione desc, nomebatch +) + + +--select * from #log_batch + +select id,b.NomeBatch,Dtesecuzione,Stato,DtFineElaborazione +into #def +from #batch b left join #log_batch l on b.nomeBatch=l.NomeBatch order by id + +SELECT DISTINCT + b.id,b.NomeBatch,b.Dtesecuzione,b.Stato,b.DtFineElaborazione +FROM #def b +WHERE b.Dtesecuzione = (SELECT MAX(Dtesecuzione) FROM #def c WHERE c.nomeBatch = b.nomeBatch ) or b.Dtesecuzione is null +ORDER BY b.id + + +END + + + + + diff --git a/sql/storedCollaudo/dbo_CopyObjectFromSchema.sql b/sql/storedCollaudo/dbo_CopyObjectFromSchema.sql new file mode 100644 index 00000000..6b736265 --- /dev/null +++ b/sql/storedCollaudo/dbo_CopyObjectFromSchema.sql @@ -0,0 +1,90 @@ +-- Schema: dbo +-- Stored Procedure: CopyObjectFromSchema + + +--[dbo].[CopyObjectFromSchema] 'C6Mart', 'tt4', 'RP_' +CREATE procedure [dbo].[CopyObjectFromSchema] +@FromSchemaName NVARCHAR(50), +@ToSchemaName NVARCHAR(50), +@LikeName NVARCHAR(MAX) +AS +Begin +DECLARE @ObjCopyName VARCHAR(MAX); +DECLARE @ObjContent nvarchar(MAX); +DECLARE @ObjIDSchemaTo INT +if (@FromSchemaName is null Or @FromSchemaName = '' Or + @ToSchemaName is null Or @ToSchemaName = '') +begin + RAISERROR ('Valorizzare entrambi gli Schema Name!', -- Message text. + 16, -- Severity. + 1 -- State. + ); + return +end + + +IF (NOT EXISTS (SELECT * FROM sys.schemas WHERE name = @ToSchemaName)) +BEGIN + EXEC ('CREATE SCHEMA ' + @ToSchemaName + ' AUTHORIZATION [dbo]') +END +SET @ObjIDSchemaTo = (SELECT SCHEMA_ID FROM sys.schemas WHERE name= @ToSchemaName) + +DECLARE TABLECURSOR CURSOR FOR +SELECT [NAME] FROM sys.objects WHERE [TYPE] in (N'U') and schema_id = (SELECT SCHEMA_ID FROM sys.schemas WHERE name= @FromSchemaName) +AND [NAME] LIKE '%' + @LikeName + '%' + +OPEN TABLECURSOR +FETCH NEXT FROM TABLECURSOR INTO @ObjCopyName +WHILE @@FETCH_STATUS = 0 +BEGIN --STORED PROC LOOP + BEGIN TRY + PRINT @ObjCopyName + IF (EXISTS (SELECT * FROM sys.objects WHERE name = @ObjCopyName and schema_id = (SELECT SCHEMA_ID FROM sys.schemas WHERE name= @ToSchemaName))) + BEGIN + execute dbo.DropObject @ObjCopyName, @ObjIDSchemaTo + END + Declare @statement nvarchar(max) + Set @statement = 'SELECT * INTO ' + @ToSchemaName + '.' + @ObjCopyName + ' FROM ' + @FromSchemaName + '.' + @ObjCopyName + ' WHERE 1=2' + print @statement + execute sp_executeSQL @statement + END TRY + BEGIN CATCH + SELECT ERROR_MESSAGE() + END CATCH + FETCH NEXT FROM TABLECURSOR INTO @ObjCopyName +END +CLOSE TABLECURSOR; +DEALLOCATE TABLECURSOR; + +DECLARE PROCCURSOR CURSOR FOR + SELECT NAME, REPLACE (OBJECT_DEFINITION(OBJECT_ID), @FromSchemaName, @ToSchemaName) + FROM sys.objects WHERE [TYPE] in (N'P', N'PC', N'FN', N'V') and schema_id = (SELECT SCHEMA_ID FROM sys.schemas WHERE name= @FromSchemaName) + AND NAME LIKE '%' + @LikeName + '%' ORDER BY [TYPE] + +OPEN PROCCURSOR +FETCH NEXT FROM PROCCURSOR INTO @ObjCopyName, @ObjContent +WHILE @@FETCH_STATUS = 0 +BEGIN --STORED PROC LOOP + BEGIN TRY + PRINT @ObjCopyName + PRINT @ObjContent + IF (EXISTS (SELECT * FROM sys.objects WHERE name = @ObjCopyName and schema_id = (SELECT SCHEMA_ID FROM sys.schemas WHERE name= @ToSchemaName))) + BEGIN + execute dbo.DropObject @ObjCopyName, @ObjIDSchemaTo + END + execute sp_executeSQL @statement = @ObjContent + END TRY + BEGIN CATCH + + SELECT ERROR_MESSAGE(), @ObjCopyName, @ObjContent + END CATCH + FETCH NEXT FROM PROCCURSOR INTO @ObjCopyName, @ObjContent +END --STORED PROC LOOP +CLOSE PROCCURSOR; +DEALLOCATE PROCCURSOR; + + + +END + + diff --git a/sql/storedCollaudo/dbo_CreaTabellaBackUp.sql b/sql/storedCollaudo/dbo_CreaTabellaBackUp.sql new file mode 100644 index 00000000..a7e8bab3 --- /dev/null +++ b/sql/storedCollaudo/dbo_CreaTabellaBackUp.sql @@ -0,0 +1,39 @@ +-- Schema: dbo +-- Stored Procedure: CreaTabellaBackUp + + + + +CREATE procedure [dbo].[CreaTabellaBackUp]( + + @tableName varchar(100), + @schema varchar(100), + @suffix varchar(100) = '' +) + +as + + declare @data datetime + declare @dataString varchar(20) + + declare @SQL nvarchar(4000) + + set @data = getdate() + set @dataString = convert(varchar(4), year(@data)) + right('0' + convert(varchar(2), month(@data)), 2) + right('0' + convert(varchar(2), day(@data)), 2) + + -- Se stato passato un suffisso per specificare il motivo del backup della tabella (es: PreGenerazione...) + if isnull(@suffix, '') <> '' + set @suffix = '_' + @suffix + + -- Se la tabella con data + suffisso gi presente si aggiunge alla stringa data anche l'orario + IF EXISTS (SELECT 'X' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @tableName + '_' + @dataString + @suffix AND TABLE_SCHEMA = @schema) + begin + + print 'La tabella ' + @schema + '.' + @tableName + '_' + @dataString + @suffix + ' gi esiste nel DB.' + + set @dataString = @dataString + '_' + right('0' + convert(varchar(2), DATEPART(hour, @data)), 2) + right('0' + convert(varchar(2), DATEPART(minute, @data)), 2) + right('0' + convert(varchar(2), DATEPART(second, @data)), 2) + end + + set @SQL = 'select * into ' + @schema + '.' + @tableName + '_' + @dataString + @suffix + ' from ' + @schema + '.' + @tableName + print @SQL + exec sp_executeSql @SQL diff --git a/sql/storedCollaudo/dbo_DropObject.sql b/sql/storedCollaudo/dbo_DropObject.sql new file mode 100644 index 00000000..36027e47 --- /dev/null +++ b/sql/storedCollaudo/dbo_DropObject.sql @@ -0,0 +1,41 @@ +-- Schema: dbo +-- Stored Procedure: DropObject + + +CREATE procedure [dbo].[DropObject] +@objectname varchar(max), +@schemaid int +AS +BEGIN +print @objectname +print @schemaid + DECLARE @ObjectType varchar(max) + Set @ObjectType = (SELECT [type] FROM sys.objects WHERE name = @objectname and schema_id = @schemaid) +print @ObjectType + DECLARE @DropType varchar(max) + Set @DropType = '' + + IF @ObjectType IN ('PC', 'P') + SELECT @DropType = 'PROCEDURE' + + IF @ObjectType IN ('FN', 'FS', 'FT', 'IF', 'TF') + SELECT @DropType = 'FUNCTION' + + IF @ObjectType = 'AF' + SELECT @DropType = 'AGGREGATE' + + IF @ObjectType = 'U' + SELECT @DropType = 'TABLE' + + IF @ObjectType = 'V' + SELECT @DropType = 'VIEW' + + IF @DropType <> '' + begin + DECLARE @schemaName varchar(100) + SET @schemaName = (SELECT name FROM sys.schemas WHERE schema_id = @schemaid) + EXEC('DROP '+ @DropType + ' [' + @schemaName + '].[' + @objectname + ']') + end +END + + diff --git a/sql/storedCollaudo/dbo_ElencoClientiImmobiliareDaStampare.sql b/sql/storedCollaudo/dbo_ElencoClientiImmobiliareDaStampare.sql new file mode 100644 index 00000000..16a64750 --- /dev/null +++ b/sql/storedCollaudo/dbo_ElencoClientiImmobiliareDaStampare.sql @@ -0,0 +1,103 @@ +-- Schema: dbo +-- Stored Procedure: ElencoClientiImmobiliareDaStampare + + +CREATE PROCEDURE [dbo].[ElencoClientiImmobiliareDaStampare] + + @chiaveRichiestaInput VARCHAR(Max), + @DataFineTrimestreCorrente varchar(10) + +AS +BEGIN + + SET NOCOUNT ON; + + +IF OBJECT_ID('tempdb.dbo.#vRichiesteMonitoraggioCatastoCliente', 'U') IS NOT NULL + DROP TABLE #vRichiesteMonitoraggioCatastoCliente; + +SELECT DISTINCT ca.rete + ,ca.codfis +INTO #vRichiesteMonitoraggioCatastoCliente +FROM consuni_periodico.ConsulenzaUnicaFL.dbo.vRichiesteMonitoraggioCatastoCliente ca +EXCEPT +SELECT rete + ,CASE + WHEN len(codicefiscale) <> 16 + AND len(codman) < 4 + THEN piva + WHEN LEN(codicefiscale) = 16 + THEN codicefiscale + WHEN len(CodMan) > 1 + THEN 'FF@' + CodMan + ELSE '' + END AS codicefiscale +FROM [C6MartPeriodicoImmobiliare].[blacklist] + + + +--IF OBJECT_ID('tempdb.dbo.#TempChiaveRichiesta', 'U') IS NOT NULL +-- DROP TABLE #TempChiaveRichiesta; + +--CREATE TABLE #TempChiaveRichiesta (chiaveRichiesta VARCHAR(1000)) + +--WHILE LEN(@chiaveRichiestaInput) > 0 +--BEGIN +-- DECLARE @chiaveRichiesta VARCHAR(1000) + +-- IF CHARINDEX(',', @chiaveRichiestaInput) > 0 +-- SET @chiaveRichiesta = SUBSTRING(@chiaveRichiestaInput, 0, CHARINDEX(',', @chiaveRichiestaInput)) +-- ELSE +-- BEGIN +-- SET @chiaveRichiesta = @chiaveRichiestaInput +-- SET @chiaveRichiestaInput = '' +-- END + +-- INSERT INTO #TempChiaveRichiesta +-- VALUES (@chiaveRichiesta) + +-- SET @chiaveRichiestaInput = REPLACE(@chiaveRichiestaInput, @chiaveRichiesta + ',', '') +--END + +--SELECT chiaveRichiesta +--FROM #TempChiaveRichiesta + +IF len(@chiaveRichiestaInput) > 1 + SELECT DISTINCT vRichiesteMonitoraggioCatastoCliente.* + ,vInfoCliente.chiaveClientePB + ,vInfoCliente.CodiceContratto + ,ContrattoSei.TIPCONTRATTO + FROM consuni_periodico.ConsulenzaUnica.dbo.vInfoCliente vInfoCliente + RIGHT JOIN consuni_periodico.ConsulenzaUnicaFL.dbo.vRichiesteMonitoraggioCatastoCliente vRichiesteMonitoraggioCatastoCliente ON ( + LTRIM(RTRIM(vInfoCliente.codFis)) = LTRIM(RTRIM(vRichiesteMonitoraggioCatastoCliente.codFis)) + OR vInfoCliente.pIva = vRichiesteMonitoraggioCatastoCliente.codFis + ) + AND (vInfoCliente.Agente = vRichiesteMonitoraggioCatastoCliente.agente) + INNER JOIN #vRichiesteMonitoraggioCatastoCliente mc ON mc.codfis = vRichiesteMonitoraggioCatastoCliente.codFis + AND mc.rete = vRichiesteMonitoraggioCatastoCliente.rete + LEFT JOIN consuni_periodico.ConsulenzaUnicaFL.dbo.CBS_DbContrattoSei ContrattoSei ON vInfoCliente.CodiceContratto = ContrattoSei.COD_CONF + WHERE NOT (vRichiesteMonitoraggioCatastoCliente.dtElabRichiestaCatasto IS NULL) + AND NOT (vRichiesteMonitoraggioCatastoCliente.dtElabRicezioneRischio IS NULL) + AND vRichiesteMonitoraggioCatastoCliente.dtRiferimento = @DataFineTrimestreCorrente + AND vRichiesteMonitoraggioCatastoCliente.chiaveRichiesta IN ( + --SELECT chiaveRichiesta + --FROM #TempChiaveRichiesta + select * from string_split(@chiaveRichiestaInput,',') + ) + ORDER BY chiaveRichiesta +ELSE + SELECT DISTINCT vRichiesteMonitoraggioCatastoCliente.* + ,vInfoCliente.chiaveClientePB + ,vInfoCliente.CodiceContratto + ,ContrattoSei.TIPCONTRATTO + FROM consuni_periodico.ConsulenzaUnica.dbo.vInfoCliente vInfoCliente + RIGHT JOIN consuni_periodico.ConsulenzaUnicaFL.dbo.vRichiesteMonitoraggioCatastoCliente vRichiesteMonitoraggioCatastoCliente ON ( + LTRIM(RTRIM(vInfoCliente.codFis)) = LTRIM(RTRIM(vRichiesteMonitoraggioCatastoCliente.codFis)) + OR vInfoCliente.pIva = vRichiesteMonitoraggioCatastoCliente.codFis + ) + AND (vInfoCliente.Agente = vRichiesteMonitoraggioCatastoCliente.agente) + INNER JOIN #vRichiesteMonitoraggioCatastoCliente mc ON mc.codfis = vRichiesteMonitoraggioCatastoCliente.codFis + AND mc.rete = vRichiesteMonitoraggioCatastoCliente.rete + LEFT JOIN consuni_periodico.ConsulenzaUnicaFL.dbo.CBS_DbContrattoSei ContrattoSei ON vInfoCliente.CodiceContratto = ContrattoSei.COD_CONF + WHERE NOT (vRichiesteMonitoraggioCatastoCliente.dtElabRichiestaCatasto IS NULL) + AND NOT (vRichiesteMonitor diff --git a/sql/storedCollaudo/dbo_GetAllTableSize.sql b/sql/storedCollaudo/dbo_GetAllTableSize.sql new file mode 100644 index 00000000..5bc91b32 --- /dev/null +++ b/sql/storedCollaudo/dbo_GetAllTableSize.sql @@ -0,0 +1,59 @@ +-- Schema: dbo +-- Stored Procedure: GetAllTableSize + +CREATE procedure [dbo].[GetAllTableSize] +@schema varchar(50) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @TableName VARCHAR(200) + + -- Insert statements for procedure here + DECLARE tableCursor CURSOR FOR + SELECT DISTINCT @schema+'.'+sys.objects.[name] + FROM sys.schemas INNER JOIN sys.objects ON sys.schemas.schema_id=sys.objects.schema_id + WHERE type='U' AND is_ms_shipped=0 ORDER BY @schema+'.'+sys.objects.[name] -- WHERE is_ms_shipped is Microsoft generated objects + FOR READ ONLY + --A procedure level temp table to store the results + CREATE TABLE #TempTable + ( + tableName varchar(200), + numberofRows varchar(100), + reservedSize varchar(50), + dataSize varchar(50), + indexSize varchar(50), + unusedSize varchar(50) + ) + + --Open the cursor + OPEN tableCursor + + --Get the first Record from the cursor + FETCH NEXT FROM tableCursor INTO @TableName + + --Loop until the cursor was not able to fetch + WHILE (@@Fetch_Status >= 0) + BEGIN + --Insert the results of the sp_spaceused query to the temp table + INSERT #TempTable + EXEC sp_spaceused @TableName + + --Get the next Record + FETCH NEXT FROM tableCursor INTO @TableName + END + + --Close/Deallocate the cursor + CLOSE tableCursor + DEALLOCATE tableCursor + + --Select all records so we can use the reults + SELECT * + FROM #TempTable + ORDER BY CAST(SUBSTRING(dataSize,1,LEN(dataSize) - 3) AS int) DESC + + DROP TABLE #TempTable +END + diff --git a/sql/storedCollaudo/dbo_GetLogs.sql b/sql/storedCollaudo/dbo_GetLogs.sql new file mode 100644 index 00000000..ada965d5 --- /dev/null +++ b/sql/storedCollaudo/dbo_GetLogs.sql @@ -0,0 +1,43 @@ +-- Schema: dbo +-- Stored Procedure: GetLogs + + +-- select * from dbo.logN where Level = 'error' +--[dbo].[GetLogs] +--[dbo].[GetLogs] '2016-04-13 09:36:18.887' +CREATE procedure [dbo].[GetLogs] + @LogsSince DateTime = NULL +AS +BEGIN +print 'a' + ;with raw_data as +( +select logged, ltrim(rtrim(replace(replace(replace(replace(message,'constructing', ''),'of',''), ' does not finished due to the error', ''),'finished',''))) par , +case when message like '%finished' then 'finished' when message like '%not finished%' then 'error' else 'started' end as process_status, message +from [dbo].[LogN] +where + message like '%constructing%' and + ((@LogsSince IS NOT NULL and logged >= @LogsSince) or (@LogsSince IS NULL)) +), r1 as +( +select *, substring(par, 0, charindex(':', par)) as head_1, substring(par, charindex(':', par)+1,1000) as tail_1 + from raw_data + ), r2 as + ( select [message],logged, process_status, head_1, substring(tail_1, 0, charindex(':', tail_1)) as head_2, substring(tail_1, charindex(':', tail_1)+1,1000) as tail_2 + from r1 + ), r3 as + ( + select [message],logged, process_status, head_1, head_2, substring(tail_2, 0, charindex(':', tail_2)) as head_3, substring(tail_2, charindex(':', tail_2)+1,1000) as tail_3 + from r2 + ), r4 as + ( + select [message],logged, process_status, head_1 as CodiceFiscale, head_2 as Rete, head_3 as TipoContratto, substring(tail_3, 2, len(tail_3)) as ReportType + from r3 + ) + select * from r4 where process_status ='error' order by logged desc +END + + + + + diff --git a/sql/storedCollaudo/dbo_GetPDFTemplateConfiguration.sql b/sql/storedCollaudo/dbo_GetPDFTemplateConfiguration.sql new file mode 100644 index 00000000..ec615caa --- /dev/null +++ b/sql/storedCollaudo/dbo_GetPDFTemplateConfiguration.sql @@ -0,0 +1,18 @@ +-- Schema: dbo +-- Stored Procedure: GetPDFTemplateConfiguration + + +CREATE procedure [dbo].[GetPDFTemplateConfiguration](@Rete varchar(1), @Tipo int, @Trimestrale int) +as +begin + +SELECT *,TemplateReportPath, TemplateCopertinaPath, TemplateGlossarioPath, TemplateWelcomeLetterPath, ReportTypeFontColor_R, ReportTypeFontColor_G, ReportTypeFontColor_B, +ChapterBackground_R, ChapterBackground_G, ChapterBackground_B, ChapterFontColor_R, ChapterFontColor_G, ChapterFontColor_B, +TableHeaderFontColor_R, TableHeaderFontColor_G, TableHeaderFontColor_B +FROM dbo.ReportTemplate t inner join dbo.PDFTemplateConfiguration c on c.PDFConfigurationID = t.PDFConfigurationID +WHERE t.Rete = @Rete and t.IsTrimestrale = @Trimestrale and t.ContractType = @Tipo + +end + + + diff --git a/sql/storedCollaudo/dbo_GetPDFTemplateConfiguration_Rosaspina.sql b/sql/storedCollaudo/dbo_GetPDFTemplateConfiguration_Rosaspina.sql new file mode 100644 index 00000000..61b4e9a8 --- /dev/null +++ b/sql/storedCollaudo/dbo_GetPDFTemplateConfiguration_Rosaspina.sql @@ -0,0 +1,20 @@ +-- Schema: dbo +-- Stored Procedure: GetPDFTemplateConfiguration_Rosaspina + + +CREATE procedure [dbo].[GetPDFTemplateConfiguration_Rosaspina](@Rete varchar(1), @Tipo int, @Trimestrale int) +as +begin + +SELECT *,TemplateReportPath, TemplateCopertinaPath, TemplateGlossarioPath, TemplateWelcomeLetterPath, ReportTypeFontColor_R, ReportTypeFontColor_G, ReportTypeFontColor_B, +ChapterBackground_R, ChapterBackground_G, ChapterBackground_B, ChapterFontColor_R, ChapterFontColor_G, ChapterFontColor_B, +TableHeaderFontColor_R, TableHeaderFontColor_G, TableHeaderFontColor_B +FROM dbo.ReportTemplate t inner join dbo.PDFTemplateConfiguration_Rosaspina c on c.PDFConfigurationID = t.PDFConfigurationID +WHERE t.Rete = @Rete and t.IsTrimestrale = @Trimestrale and t.ContractType = @Tipo + +end + + + + + diff --git a/sql/storedCollaudo/dbo_GetStatistics.sql b/sql/storedCollaudo/dbo_GetStatistics.sql new file mode 100644 index 00000000..278ccd72 --- /dev/null +++ b/sql/storedCollaudo/dbo_GetStatistics.sql @@ -0,0 +1,11 @@ +-- Schema: dbo +-- Stored Procedure: GetStatistics + +CREATE procedure [dbo].[GetStatistics] +as +begin +select * from GetStatistics_stato_report +select * from GetStatistics_elab +end + + diff --git a/sql/storedCollaudo/dbo_GetStatistics_Prepare.sql b/sql/storedCollaudo/dbo_GetStatistics_Prepare.sql new file mode 100644 index 00000000..fda7158b --- /dev/null +++ b/sql/storedCollaudo/dbo_GetStatistics_Prepare.sql @@ -0,0 +1,17 @@ +-- Schema: dbo +-- Stored Procedure: GetStatistics_Prepare + + +CREATE procedure [dbo].[GetStatistics_Prepare] +as +begin + +truncate table dbo.GetStatistics_recordsToProcess + +insert into dbo.GetStatistics_recordsToProcess(codiceFiscale) +select codicefiscale FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab in (1,2) + +end + + + diff --git a/sql/storedCollaudo/dbo_GetTextTemplateConfiguration.sql b/sql/storedCollaudo/dbo_GetTextTemplateConfiguration.sql new file mode 100644 index 00000000..f0ffeb6e --- /dev/null +++ b/sql/storedCollaudo/dbo_GetTextTemplateConfiguration.sql @@ -0,0 +1,19 @@ +-- Schema: dbo +-- Stored Procedure: GetTextTemplateConfiguration + + +CREATE procedure [dbo].[GetTextTemplateConfiguration](@Rete varchar(1), @Tipo int, @Trimestrale int, @FieldName varchar(15)) +as +begin + +SELECT top (1) ttc.TextValue +FROM dbo.ReportTemplate rt inner join dbo.TextTemplateConfigurationMapping ttcm on rt.TemplateID = ttcm.TemplateID + inner join dbo.TextTemplateConfiguration ttc on ttc.TextFieldID = ttcm.TextFieldID +WHERE + (@Rete like rt.Rete) and + (@Trimestrale = rt.IsTrimestrale or rt.IsTrimestrale = -1) and + (@Tipo = rt.ContractType or rt.ContractType = -1) and + (@FieldName = ttc.TextFieldName) +END + + diff --git a/sql/storedCollaudo/dbo_GetVariableValue.sql b/sql/storedCollaudo/dbo_GetVariableValue.sql new file mode 100644 index 00000000..7381a853 --- /dev/null +++ b/sql/storedCollaudo/dbo_GetVariableValue.sql @@ -0,0 +1,26 @@ +-- Schema: dbo +-- Stored Procedure: GetVariableValue + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- dbo.GetVariableValue 's132_tempTestoAlt', 'N', null, 1 +create PROCEDURE dbo.GetVariableValue + @VariableName nvarchar(128), + @Flagnqp nvarchar(1) = null, + @Flagprlrde nvarchar(1) = null, + @Flagpg int = null +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + select trv.variableValue from dbo.TextReplacementVariables trv + where + (@Flagnqp is null or @Flagnqp = trv.Flagnqp or trv.Flagnqp is null) and + (@Flagprlrde is null or @Flagprlrde = trv.Flagprlrde or trv.Flagprlrde is null) and + (@Flagpg is null or @Flagpg = trv.Flagpg or trv.Flagpg is null) +END + diff --git a/sql/storedCollaudo/dbo_HexToRGB.sql b/sql/storedCollaudo/dbo_HexToRGB.sql new file mode 100644 index 00000000..e1095190 --- /dev/null +++ b/sql/storedCollaudo/dbo_HexToRGB.sql @@ -0,0 +1,66 @@ +-- Schema: dbo +-- Stored Procedure: HexToRGB + + +CREATE procedure [dbo].[HexToRGB] + -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN + +CREATE TABLE #TempTable(Asset varchar(10), Descrizione varchar(200),CodiceEsa varchar(15),R int,G int,B int) + +--DICHIARO CURSORE +DECLARE curAssetColor CURSOR FOR +select Asset,Descrizione,right(codicergb,6) as HEX FROM [C6StampeCentralizzate].[C6StagingPeriodico].[RP_AssetClass] where livello = 2 + +declare @Asset [varchar](10) +declare @Descrizione [varchar](200) +declare @codiceHex [varchar](15) + + +--ATTIVO IL CURSORE +OPEN curAssetColor +--PRELEVO la prossima riga +FETCH NEXT FROM curAssetColor into @Asset,@Descrizione,@codiceHex + +--Finch trovo nuove righe... +WHILE @@FETCH_STATUS = 0 +begin + DECLARE @temp AS TABLE (hex char(6)) + + INSERT INTO @temp + VALUES (@codiceHex) -- Should convert to Red: Green: Blue: + + insert into #TempTable + SELECT @Asset,@Descrizione,'#' + @codiceHex + ,R + ,G + ,B + FROM @temp + OUTER APPLY dbo.udf_HexToRGB(@codiceHex) + + --Continuo con le operazioni + FETCH NEXT FROM curAssetColor into @Asset,@Descrizione,@codiceHex + + delete from @temp + +end + +--CHIUDO il CURSORE +CLOSE curAssetColor +--RIMUOVO il CURSORE dalla memoria +DEALLOCATE curAssetColor + + + +select * from #TempTable + + + + +end + + + diff --git a/sql/storedCollaudo/dbo_InsertStartIntoLogFromDtsx.sql b/sql/storedCollaudo/dbo_InsertStartIntoLogFromDtsx.sql new file mode 100644 index 00000000..7cd2ee10 --- /dev/null +++ b/sql/storedCollaudo/dbo_InsertStartIntoLogFromDtsx.sql @@ -0,0 +1,32 @@ +-- Schema: dbo +-- Stored Procedure: InsertStartIntoLogFromDtsx + + + +CREATE procedure [dbo].[InsertStartIntoLogFromDtsx] + -- Add the parameters for the stored procedure here + @Nome as varchar(100) + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + INSERT INTO [dbo].[LOG_ESECUZIONE_PERIODICO] + ([Nome] + ,[Inizio] + ,[Nota] + ) + VALUES ( + @nome, + getDate(), + --'Elaborazione giornaliera') + 'Elaborazione trimestrale') + +END + + + + + diff --git a/sql/storedCollaudo/dbo_InsertStartIntoLogFromDtsxImmobiliare.sql b/sql/storedCollaudo/dbo_InsertStartIntoLogFromDtsxImmobiliare.sql new file mode 100644 index 00000000..5e29c489 --- /dev/null +++ b/sql/storedCollaudo/dbo_InsertStartIntoLogFromDtsxImmobiliare.sql @@ -0,0 +1,35 @@ +-- Schema: dbo +-- Stored Procedure: InsertStartIntoLogFromDtsxImmobiliare + + + + + +CREATE procedure [dbo].[InsertStartIntoLogFromDtsxImmobiliare] + -- Add the parameters for the stored procedure here + @Nome as varchar(100) + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + INSERT INTO [dbo].[LOG_ESECUZIONE_PERIODICO_IMMOBILIARE] + ([Nome] + ,[Inizio] + ,[Nota] + ) + VALUES ( + @nome, + getDate(), + --'Elaborazione giornaliera') + 'Elaborazione Trimestrale Immobiliare') + +END + + + + + + diff --git a/sql/storedCollaudo/dbo_InsertStopIntoLogFromDtsx.sql b/sql/storedCollaudo/dbo_InsertStopIntoLogFromDtsx.sql new file mode 100644 index 00000000..56b62bc5 --- /dev/null +++ b/sql/storedCollaudo/dbo_InsertStopIntoLogFromDtsx.sql @@ -0,0 +1,42 @@ +-- Schema: dbo +-- Stored Procedure: InsertStopIntoLogFromDtsx + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[InsertStopIntoLogFromDtsx] + -- Add the parameters for the stored procedure here + @Nome as varchar(100) + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + UPDATE + dbo.LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE() + + WHERE + Nome = @Nome AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = @Nome + ) + +END + + + + diff --git a/sql/storedCollaudo/dbo_InsertStopIntoLogFromDtsxImmobiliare.sql b/sql/storedCollaudo/dbo_InsertStopIntoLogFromDtsxImmobiliare.sql new file mode 100644 index 00000000..25af3bcb --- /dev/null +++ b/sql/storedCollaudo/dbo_InsertStopIntoLogFromDtsxImmobiliare.sql @@ -0,0 +1,44 @@ +-- Schema: dbo +-- Stored Procedure: InsertStopIntoLogFromDtsxImmobiliare + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[InsertStopIntoLogFromDtsxImmobiliare] + -- Add the parameters for the stored procedure here + @Nome as varchar(100) + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + UPDATE + dbo.LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE() + + WHERE + Nome = @Nome AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = @Nome + ) + +END + + + + + diff --git a/sql/storedCollaudo/dbo_JOB_Controlli_View.sql b/sql/storedCollaudo/dbo_JOB_Controlli_View.sql new file mode 100644 index 00000000..3ac57ac9 --- /dev/null +++ b/sql/storedCollaudo/dbo_JOB_Controlli_View.sql @@ -0,0 +1,20 @@ +-- Schema: dbo +-- Stored Procedure: JOB_Controlli_View + + + + +create procedure [dbo].[JOB_Controlli_View] as +begin + +insert into C6MartPeriodico.selettore values +(5,getdate(),'Controlli View') +truncate table [dbo].[TB_Flussi_Mappatura] +truncate table [dbo].[TB_Controlli_Mattina_View] +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; + +end + + + + diff --git a/sql/storedCollaudo/dbo_ListaCampione.sql b/sql/storedCollaudo/dbo_ListaCampione.sql new file mode 100644 index 00000000..67cf3548 --- /dev/null +++ b/sql/storedCollaudo/dbo_ListaCampione.sql @@ -0,0 +1,22 @@ +-- Schema: dbo +-- Stored Procedure: ListaCampione + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[ListaCampione] +AS +BEGIN + + SET NOCOUNT ON; + + SELECT a.* FROM C6MARTPERIODICO.SELEZIONECAMPIONE2 a + INNER JOIN appoCampioneReport b + ON a.rete = b.rete + AND a.cod_fiscale = b.cod_fiscale + ORDER BY rete, cod_fiscale + +END + diff --git a/sql/storedCollaudo/dbo_ListaCampioneDettaglioMovimenti.sql b/sql/storedCollaudo/dbo_ListaCampioneDettaglioMovimenti.sql new file mode 100644 index 00000000..44557cb1 --- /dev/null +++ b/sql/storedCollaudo/dbo_ListaCampioneDettaglioMovimenti.sql @@ -0,0 +1,31 @@ +-- Schema: dbo +-- Stored Procedure: ListaCampioneDettaglioMovimenti + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[ListaCampioneDettaglioMovimenti] +AS +BEGIN + + SET NOCOUNT ON; + + drop table if exists c6martperiodico.TB_ListaCampioneDettaglioMovimenti + + SELECT a.RETE, a.COD_FIS, isnull(a.DETT_MOV_PREC,0) as DETT_MOV_PREC , isnull(a.DETT_MOV_CORR,0) as DETT_MOV_CORR + into c6martperiodico.TB_ListaCampioneDettaglioMovimenti + FROM C6MartPeriodico.DettaglioMovimenti a + INNER JOIN appoCampioneReport b + ON a.RETE = b.rete + AND a.COD_FIS = b.cod_fiscale + ORDER BY a.RETE, a.COD_FIS + + select * from c6martperiodico.TB_ListaCampioneDettaglioMovimenti + +END + + diff --git a/sql/storedCollaudo/dbo_ListaCampioneDettaglioMovimenti_Parziale.sql b/sql/storedCollaudo/dbo_ListaCampioneDettaglioMovimenti_Parziale.sql new file mode 100644 index 00000000..f3239124 --- /dev/null +++ b/sql/storedCollaudo/dbo_ListaCampioneDettaglioMovimenti_Parziale.sql @@ -0,0 +1,89 @@ +-- Schema: dbo +-- Stored Procedure: ListaCampioneDettaglioMovimenti_Parziale + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[ListaCampioneDettaglioMovimenti_Parziale] +AS +BEGIN + + SET NOCOUNT ON; + + drop table if exists c6martperiodico.TB_ListaCampioneDettaglioMovimenti_Parziale + + SELECT a.RETE, a.COD_FIS, substring(b.provenienza,20,3) as CASISTICA, isnull(a.DETT_MOV_PREC,0) as DETT_MOV_PREC , isnull(a.DETT_MOV_CORR,0) as DETT_MOV_CORR + into c6martperiodico.TB_ListaCampioneDettaglioMovimenti_Parziale + FROM C6MartPeriodico.DettaglioMovimenti a + INNER JOIN appoCampioneReport b + ON a.RETE = b.rete + AND a.COD_FIS = b.cod_fiscale + AND provenienza like '%Apporti e Prelievi%' + + ORDER BY a.RETE, a.COD_FIS + + if( (select COUNT(*) from c6martperiodico.TB_ListaCampioneDettaglioMovimenti_Parziale)=0) + begin + +drop table If exists #appo + +select top 1 a.rete,a.cod_fiscale,s.DESCRIZIONE +into #appo +from C6MartPeriodico.selezionecampione s +inner join appoCampioneReport a +on s.rete+s.cod_fiscale=a.rete+a.cod_fiscale +where c39<>0 + +union all + +select top 1 a.rete,a.cod_fiscale,s.DESCRIZIONE from C6MartPeriodico.selezionecampione s +inner join appoCampioneReport a +on s.rete+s.cod_fiscale=a.rete+a.cod_fiscale +where c40<>0 + +union all + +select top 1 a.rete,a.cod_fiscale,s.DESCRIZIONE from C6MartPeriodico.selezionecampione s +inner join appoCampioneReport a +on s.rete+s.cod_fiscale=a.rete+a.cod_fiscale +where c41<>0 + +union all + +select top 1 a.rete,a.cod_fiscale,s.DESCRIZIONE from C6MartPeriodico.selezionecampione s +inner join appoCampioneReport a +on s.rete+s.cod_fiscale=a.rete+a.cod_fiscale +where c42<>0 + +union all + +select top 1 a.rete,a.cod_fiscale,s.DESCRIZIONE from C6MartPeriodico.selezionecampione s +inner join appoCampioneReport a +on s.rete+s.cod_fiscale=a.rete+a.cod_fiscale +where c43<>0 + +union all + +select top 1 a.rete,a.cod_fiscale,s.DESCRIZIONE from C6MartPeriodico.selezionecampione s +inner join appoCampioneReport a +on s.rete+s.cod_fiscale=a.rete+a.cod_fiscale +where c44<>0 + + update a set PROVENIENZA = 'APPORTI E PRELIEVI' + FROM appoCampioneReport a + where cod_fiscale in (select cod_fiscale from #appo) + + exec [dbo].[ListaCampioneDettaglioMovimenti_Parziale] + + end + + + +END + + diff --git a/sql/storedCollaudo/dbo_LogFTP.sql b/sql/storedCollaudo/dbo_LogFTP.sql new file mode 100644 index 00000000..2c5ab473 --- /dev/null +++ b/sql/storedCollaudo/dbo_LogFTP.sql @@ -0,0 +1,35 @@ +-- Schema: dbo +-- Stored Procedure: LogFTP + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[LogFTP] + -- Add the parameters for the stored procedure here + @WelcomeMessage varchar(150), + @BannerMessage varchar(150), + @ResponseURI varchar(150), + @StatusDescription varchar(150), + @StatusCode varchar(150) +AS +BEGIN + INSERT INTO [C6StampeCentralizzate].[dbo].[LOG_FTP] + ([Date] + ,[WelcomeMessage] + ,[BannerMessage] + ,[ResponseURI] + ,[StatusDescription] + ,[StatusCode]) + VALUES + (getDate() + ,@WelcomeMessage + ,@BannerMessage + ,@ResponseURI + ,@StatusDescription + ,@StatusCode + ) +END + + diff --git a/sql/storedCollaudo/dbo_PreGenerationElabCounter.sql b/sql/storedCollaudo/dbo_PreGenerationElabCounter.sql new file mode 100644 index 00000000..b025f270 --- /dev/null +++ b/sql/storedCollaudo/dbo_PreGenerationElabCounter.sql @@ -0,0 +1,9 @@ +-- Schema: dbo +-- Stored Procedure: PreGenerationElabCounter + +create procedure dbo.PreGenerationElabCounter +as +begin +SELECT elab, count(ELAB) as value from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +group by ELAB +end diff --git a/sql/storedCollaudo/dbo_PreGenerationStatoCounter.sql b/sql/storedCollaudo/dbo_PreGenerationStatoCounter.sql new file mode 100644 index 00000000..85530058 --- /dev/null +++ b/sql/storedCollaudo/dbo_PreGenerationStatoCounter.sql @@ -0,0 +1,8 @@ +-- Schema: dbo +-- Stored Procedure: PreGenerationStatoCounter + +create procedure dbo.PreGenerationStatoCounter +as +begin +SELECT [stato_report] as stato ,count([stato_report]) as value from [C6MartPeriodico].[controllo_trimestrale] group by [stato_report] +end diff --git a/sql/storedCollaudo/dbo_RP_Popola_PiramideModello.sql b/sql/storedCollaudo/dbo_RP_Popola_PiramideModello.sql new file mode 100644 index 00000000..cc12341a --- /dev/null +++ b/sql/storedCollaudo/dbo_RP_Popola_PiramideModello.sql @@ -0,0 +1,64 @@ +-- Schema: dbo +-- Stored Procedure: RP_Popola_PiramideModello + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [dbo].[RP_Popola_PiramideModello] + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + declare @datacongelamento as datetime + declare @dataInizioTrimestre as datetime + declare @FineTrimestre as datetime + + set @datacongelamento = C6MartPeriodico.getDataCongelamento() + + set @FineTrimestre = C6MartPeriodico.getDataCongelamento()+1 + --convert (date, DATEADD(month, 0, '2020-10-31 00:00:00.000')) + + --Sostituire la data congelamento con la reale data di congelament tramite la funzione gi esistente + + set @dataInizioTrimestre = DATEADD(m,-3,DATEADD(mm, DATEDIFF(m,0,@datacongelamento), 0)) + + --print @datacongelamento + --print @FineTrimestre + --print @dataInizioTrimestre + -- Insert statements for procedure here + + select Rete, + Cod_fiscale, + Data_foto + into #ClientiPiramideIniziale + from [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + where data_foto between @dataInizioTrimestre and @FineTrimestre + + --select min(data_foto) from [C6MartPeriodico].[MONITORAGGIO_INIZIALE] where data_foto >= '2020-05-30 00:00:00.000' + + + insert into C6StagingPeriodico.Popola_PiramideModello + select Rete, + Cod_fiscale, + Data_foto, + isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Ext'),0.00) as PERC_EXT, + isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Inv'),0.00) as PERC_INV, + isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Pre'),0.00) as PERC_PRE, + isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Ris'),0.00) as PERC_RIS, + isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Liq'),0.00) as PERC_LIQ + from #ClientiPiramideIniziale + where rtrim(ltrim(rete))+rtrim(ltrim(cod_fiscale))+rtrim(ltrim(convert(varchar,data_foto,105))) not in + (select distinct(rtrim(ltrim(rete))+rtrim(ltrim(cod_fiscale))+rtrim(ltrim(convert(varchar,data_foto,105)))) from C6StagingPeriodico.Popola_PiramideModello) + --and rtrim(ltrim(rete))+rtrim(ltrim(cod_fiscale)) not in + --(select distinct(rtrim(ltrim(rete))+rtrim(ltrim(cod_fiscale))) from C6StagingPeriodico.Popola_PiramideModello) + + + +END + + diff --git a/sql/storedCollaudo/dbo_SO_getNewSubscriptions.sql b/sql/storedCollaudo/dbo_SO_getNewSubscriptions.sql new file mode 100644 index 00000000..93c316ba --- /dev/null +++ b/sql/storedCollaudo/dbo_SO_getNewSubscriptions.sql @@ -0,0 +1,27 @@ +-- Schema: dbo +-- Stored Procedure: SO_getNewSubscriptions + +CREATE procedure [dbo].[SO_getNewSubscriptions] + @ultimaDataRilevata_ISODATE as varchar(8) + +AS + +BEGIN + + DECLARE @the_date datetime + SET @the_date = CAST(@ultimaDataRilevata_ISODATE AS DATETIME) + +SELECT + [Cod_Fiscale], + [CodiceContratto], + [Cod_Agente], + [Rete], + dbo.ToShortDateString([Data_Perf]) as data_perfezionamento_C6, + dbo.ToShortDateString([data_fineAvanzato] )as data_chiusura_C6 +FROM [C6Mart].[CONTRATTOSEI] + +WHERE Data_Perf > @the_date +ORDER BY data_perf +END + + diff --git a/sql/storedCollaudo/dbo_SRV_CONTROLLA_FASE1.sql b/sql/storedCollaudo/dbo_SRV_CONTROLLA_FASE1.sql new file mode 100644 index 00000000..eebad02a --- /dev/null +++ b/sql/storedCollaudo/dbo_SRV_CONTROLLA_FASE1.sql @@ -0,0 +1,35 @@ +-- Schema: dbo +-- Stored Procedure: SRV_CONTROLLA_FASE1 + + + + + +CREATE procedure [dbo].[SRV_CONTROLLA_FASE1] +as begin + +select * from log_esecuzione + +select * from global_error + +select * +from c6mart.gestione_pdf_Ftp a +join c6mart.contrattosei b +on a.rete = b.rete and a.codiceFiscale = b.cod_fiscale +and nazione <> 'italia' +and dataGenerazione > getDate() - 1 + +select * +from c6mart.gestione_pdf_Ftp a +join port_errati b +on a.rete = b.rete and a.codiceFiscale = b.cod_fiscale +and dataGenerazione > getDate() - 1 + +end + + + + + + + diff --git a/sql/storedCollaudo/dbo_SRV_ESTRAZIONE_ULTIMO_INVIO_REPORT.sql b/sql/storedCollaudo/dbo_SRV_ESTRAZIONE_ULTIMO_INVIO_REPORT.sql new file mode 100644 index 00000000..2d7d8ea9 --- /dev/null +++ b/sql/storedCollaudo/dbo_SRV_ESTRAZIONE_ULTIMO_INVIO_REPORT.sql @@ -0,0 +1,43 @@ +-- Schema: dbo +-- Stored Procedure: SRV_ESTRAZIONE_ULTIMO_INVIO_REPORT + +CREATE procedure [dbo].[SRV_ESTRAZIONE_ULTIMO_INVIO_REPORT] AS + +SELECT + BF.RETE, + BF.COD_FISCALE, + --Dbo.ToShortDateString( +( SELECT CONVERT(VARCHAR(10),DATA_CONGELAMENTO - 1 , 103) FROM C6MartPeriodico.CONGELAMENTO_SEI) AS DataFase, + --PatrimonioNonAssociato AS RisorseNonAllocate, + ctv - contoCorrente as cvtRisorseFinanziarie, + ContoCorrente, + PartiteViaggiantiDisinv + isnull(pv.importo,0) AS Partita_viaggiante, + CTV + PartiteViaggiantiDisinv + isnull(pv.importo,0) as totalePatrimonio, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + isnull(RA.COPERTURA,0) AS Copertura, +-- TRINGALI MODIFICARE + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' + else cast(ra.creditrisk as varchar) end as RiskClass + FROM + C6MartPeriodico.vPatrimonioBFAggregato AS BF + INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON BF.RETE = MIFID.RETE + AND BF.COD_FISCALE = MIFID.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = BF.RETE + AND RA.COD_FISCALE = BF.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' +left outer join C6MartPeriodico.PARTITE_VIAGGIANTI pv + on bf.rete=pv.rete + and bf.cod_fiscale=pv.cod_fiscale +order by 1,2 + + + diff --git a/sql/storedCollaudo/dbo_SRV_ReportDaCancellare.sql b/sql/storedCollaudo/dbo_SRV_ReportDaCancellare.sql new file mode 100644 index 00000000..5a52e6b2 --- /dev/null +++ b/sql/storedCollaudo/dbo_SRV_ReportDaCancellare.sql @@ -0,0 +1,66 @@ +-- Schema: dbo +-- Stored Procedure: SRV_ReportDaCancellare + +-- ============================================= +-- Author: Atzeri Emanuele +-- Create date: +-- Description: +-- ============================================= + +--select * from c6mart.vcontratti +--where cod_fiscale = 'VNCLDA54H15M109X' +-------------------------------------------- +--insert into ReportDaCancellare +-------------------------------------------- +--select rete, codicefiscale, SUBSTRING(NomeFile, 1, 11), idreport, datagenerazione +--from c6mart.gestione_pdf_ftp +--where SUBSTRING(NomeFile, 1, 11) = '010580CO200' + +CREATE PROCEDURE [dbo].[SRV_ReportDaCancellare] + -- Add the parameters for the stored procedure here + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --SET NOCOUNT ON; + +BEGIN TRANSACTION + BEGIN TRY + + update c6mart.contrattosei_metadati + set invioBenvenuto = 'N' + from c6mart.contrattosei_metadati m + join c6mart.vcontratti v + on m.chiaveClientepb = v.chiaveclientepb + join c6mart.gestione_pdf_ftp p + on v.cod_fiscale = p.codiceFiscale + and v.rete = p.rete + where p.idreport in + ( + select idreport from ReportDaCancellare + ) + + delete from c6mart.gestione_pdf_ftp where idreport in + ( + select idreport from ReportDaCancellare + ) + + + insert into ReportDaCancellareBCK + (rete, codfis, codconf, idreport, dtgenera) + select * from ReportDaCancellare + + truncate table ReportDaCancellare + + COMMIT TRANSACTION +END TRY + +BEGIN CATCH + ROLLBACK TRANSACTION + DECLARE @Msg NVARCHAR(MAX) + SELECT @Msg=ERROR_MESSAGE() + RAISERROR('Descrizione errore: %s', 20, 101,@msg) WITH LOG +END CATCH + +END diff --git a/sql/storedCollaudo/dbo_SRV_SELECT_PROFILI_SCADUTI.sql b/sql/storedCollaudo/dbo_SRV_SELECT_PROFILI_SCADUTI.sql new file mode 100644 index 00000000..d57893c4 --- /dev/null +++ b/sql/storedCollaudo/dbo_SRV_SELECT_PROFILI_SCADUTI.sql @@ -0,0 +1,24 @@ +-- Schema: dbo +-- Stored Procedure: SRV_SELECT_PROFILI_SCADUTI + + +CREATE procedure [dbo].[SRV_SELECT_PROFILI_SCADUTI] AS + +BEGIN + + SELECT * + + FROM C6STAGINGPERIODICO.MAIL_PROFILI_RISCHIO + + WHERE datediff(dd,dt_CREAZIONE_profilo,dateadd(mm,3,getdate()))/365.25>3 + OR PROFILO = 0 + + ORDER BY DT_CREAZIONE_PROFILO + +END + + + + + + diff --git a/sql/storedCollaudo/dbo_SRV_insertLogPreCalcoloDatiGenerator.sql b/sql/storedCollaudo/dbo_SRV_insertLogPreCalcoloDatiGenerator.sql new file mode 100644 index 00000000..45d3b470 --- /dev/null +++ b/sql/storedCollaudo/dbo_SRV_insertLogPreCalcoloDatiGenerator.sql @@ -0,0 +1,29 @@ +-- Schema: dbo +-- Stored Procedure: SRV_insertLogPreCalcoloDatiGenerator + +CREATE procedure [dbo].[SRV_insertLogPreCalcoloDatiGenerator] + +@generator as varchar(60), +@durata as float, +@numeroClientiElaborati as int + +AS +BEGIN +-- +--create table SRV_LOG_PreCalcoloDatiGenerator ( +-- generator varchar(60) null, +-- durata float null, +-- numeroClientiElaborati int null, +-- dataInserimento datetime null +--) +-- + +insert into SRV_LOG_PreCalcoloDatiGenerator values( + @generator, + @durata, + @numeroClientiElaborati, + getDate() +) + +END + diff --git a/sql/storedCollaudo/dbo_SearchAllTables.sql b/sql/storedCollaudo/dbo_SearchAllTables.sql new file mode 100644 index 00000000..94cd610f --- /dev/null +++ b/sql/storedCollaudo/dbo_SearchAllTables.sql @@ -0,0 +1,64 @@ +-- Schema: dbo +-- Stored Procedure: SearchAllTables + +CREATE PROC SearchAllTables +( + @SearchStr nvarchar(100) +) +AS +BEGIN + + CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630)) + + SET NOCOUNT ON + + DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110) + SET @TableName = '' + SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''') + + WHILE @TableName IS NOT NULL + + BEGIN + SET @ColumnName = '' + SET @TableName = + ( + SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)) + FROM INFORMATION_SCHEMA.TABLES + WHERE TABLE_TYPE = 'BASE TABLE' + AND QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName + AND OBJECTPROPERTY( + OBJECT_ID( + QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) + ), 'IsMSShipped' + ) = 0 + ) + + WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL) + + BEGIN + SET @ColumnName = + ( + SELECT MIN(QUOTENAME(COLUMN_NAME)) + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_SCHEMA = PARSENAME(@TableName, 2) + AND TABLE_NAME = PARSENAME(@TableName, 1) + AND DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar', 'int', 'decimal') + AND QUOTENAME(COLUMN_NAME) > @ColumnName + ) + + IF @ColumnName IS NOT NULL + + BEGIN + INSERT INTO #Results + EXEC + ( + 'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630) + FROM ' + @TableName + ' (NOLOCK) ' + + ' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2 + ) + END + END + END + + SELECT ColumnName, ColumnValue FROM #Results +END diff --git a/sql/storedCollaudo/dbo_SelezioneCampione_Fc.sql b/sql/storedCollaudo/dbo_SelezioneCampione_Fc.sql new file mode 100644 index 00000000..71e2cbba --- /dev/null +++ b/sql/storedCollaudo/dbo_SelezioneCampione_Fc.sql @@ -0,0 +1,48 @@ +-- Schema: dbo +-- Stored Procedure: SelezioneCampione_Fc + +CREATE procedure [dbo].[SelezioneCampione_Fc] + -- @NomeTabella as varchar(50), + @NomeChiave as varchar(50) +AS +BEGIN + DECLARE @sql nvarchar(max) + DECLARE @SQLString NVARCHAR(500) + DECLARE @ParmDefinition NVARCHAR(500) + DECLARE @IntVariable INT + DECLARE @Lastlname varchar(30) + DECLARE @LastlnameOUT INT + + Set @IntVariable=1 + + DECLARE @Giorni int, @i int + SET @Giorni = 5 + SET @i = 0 + +--WHILE @IntVariable < 5 +--BEGIN + + SET @SQLString = N'select @LastlnameOUT = count(*) from [C6MartPeriodico].[selezionecampione2] WHERE ' + + quotename(@NomeChiave) + ' > 0 ' + SET @ParmDefinition = N' @LastlnameOUT varchar(30) OUTPUT' + EXECUTE sp_executesql @SQLString,@ParmDefinition,@LastlnameOUT=@Lastlname OUTPUT + + IF @Lastlname>0 + Begin + select @Lastlname + END + -- SET @sql = N'insert into selezionecampione2_fc (rete,cod_fiscale,'+quotename(@NomeChiave)+') ' + + -- ' select top 10 rete,cod_fiscale,'+@NomeChiave+' from [C6MartPeriodico].[selezionecampione2] WHERE ' + + -- quotename(@NomeChiave) + ' > 0 ' + + -- EXEC sp_executesql @sql + -- set @IntVariable=@IntVariable+1; + + --End -- IF + +--END --While + + + +END + diff --git a/sql/storedCollaudo/dbo_SubscribedCustomer_Compare.sql b/sql/storedCollaudo/dbo_SubscribedCustomer_Compare.sql new file mode 100644 index 00000000..309f1e60 --- /dev/null +++ b/sql/storedCollaudo/dbo_SubscribedCustomer_Compare.sql @@ -0,0 +1,37 @@ +-- Schema: dbo +-- Stored Procedure: SubscribedCustomer_Compare + + +CREATE procedure [dbo].[SubscribedCustomer_Compare] +AS +BEGIN + SET NOCOUNT ON; + + TRUNCATE TABLE [C6StampeCentralizzate].[dbo].[SubscribedCustomer_ComparedResults] + + INSERT INTO [C6StampeCentralizzate].[dbo].[SubscribedCustomer_ComparedResults] ([Rete], [FiscalCode], [DateOfMonitoring], [Description]) + SELECT hp.[Rete], hp.[FiscalCode], hp.[DateOfMonitoring], 'Cliente mancante in lista Fideuram' + FROM [C6StampeCentralizzate].[dbo].[SubscribedCustomer_HP] hp + LEFT OUTER JOIN [C6StampeCentralizzate].[dbo].[SubscribedCustomer_Bank] bank + ON hp.[Rete] = bank.[Rete] and + hp.[FiscalCode] = bank.[FiscalCode] and + hp.[DateOfMonitoring] = bank.[DateOfMonitoring] + WHERE + bank.[Rete] IS NULL OR + bank.[FiscalCode] IS NULL OR + bank.[DateOfMonitoring] IS NULL + + INSERT INTO [C6StampeCentralizzate].[dbo].[SubscribedCustomer_ComparedResults] ([Rete], [FiscalCode], [DateOfMonitoring], [Description]) + SELECT bank.[Rete], bank.[FiscalCode], bank.[DateOfMonitoring], 'Cliente mancante in lista HP' + FROM [C6StampeCentralizzate].[dbo].[SubscribedCustomer_Bank] bank + LEFT OUTER JOIN [C6StampeCentralizzate].[dbo].[SubscribedCustomer_HP] hp + ON bank.[Rete] = hp.[Rete] and + bank.[FiscalCode] = hp.[FiscalCode] and + bank.[DateOfMonitoring] = hp.[DateOfMonitoring] + WHERE + hp.[Rete] IS NULL OR + hp.[FiscalCode] IS NULL OR + hp.[DateOfMonitoring] IS NULL +END + + diff --git a/sql/storedCollaudo/dbo_TEST_GETNEXTTRIMESTRE.sql b/sql/storedCollaudo/dbo_TEST_GETNEXTTRIMESTRE.sql new file mode 100644 index 00000000..9c2d3127 --- /dev/null +++ b/sql/storedCollaudo/dbo_TEST_GETNEXTTRIMESTRE.sql @@ -0,0 +1,71 @@ +-- Schema: dbo +-- Stored Procedure: TEST_GETNEXTTRIMESTRE + +-- Stored procedure +CREATE procedure [dbo].[TEST_GETNEXTTRIMESTRE] +AS + +BEGIN + + +--marzo +select c6martperiodico.getNextTrimestre(cast ('20121201' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20121231' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120101' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120131' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120228' as datetime),0) + +--giugno +select c6martperiodico.getNextTrimestre(cast ('20120301' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120331' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120401' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120430' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120531' as datetime),0) + +--settembre +select c6martperiodico.getNextTrimestre(cast ('20120601' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120630' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120701' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120731' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120831' as datetime),0) + +--dicembre +select c6martperiodico.getNextTrimestre(cast ('20120901' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120930' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20121001' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20121031' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20121130' as datetime),0) + + + +--marzo +select c6martperiodico.getNextTrimestre(cast ('20121201' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20121231' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120101' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120131' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120228' as datetime),1) + +--giugno +select c6martperiodico.getNextTrimestre(cast ('20120301' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120331' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120401' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120430' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120531' as datetime),1) + +--settembre +select c6martperiodico.getNextTrimestre(cast ('20120601' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120630' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120701' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120731' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120831' as datetime),1) + +--dicembre +select c6martperiodico.getNextTrimestre(cast ('20120901' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120930' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20121001' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20121031' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20121130' as datetime),1) + +END + + diff --git a/sql/storedCollaudo/dbo_TEST_GETTRIMESTRE2.sql b/sql/storedCollaudo/dbo_TEST_GETTRIMESTRE2.sql new file mode 100644 index 00000000..beebd293 --- /dev/null +++ b/sql/storedCollaudo/dbo_TEST_GETTRIMESTRE2.sql @@ -0,0 +1,71 @@ +-- Schema: dbo +-- Stored Procedure: TEST_GETTRIMESTRE2 + +-- Stored procedure +CREATE procedure [dbo].[TEST_GETTRIMESTRE2] +AS + +BEGIN + + +--dicembre +select c6martperiodico.getTrimestre2(cast ('20121201' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20121231' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120101' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120131' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120228' as datetime),0) + +--marzo +select c6martperiodico.getTrimestre2(cast ('20120301' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120331' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120401' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120430' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120531' as datetime),0) + +--giugno +select c6martperiodico.getTrimestre2(cast ('20120601' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120630' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120701' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120731' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120831' as datetime),0) + +--settembre +select c6martperiodico.getTrimestre2(cast ('20120901' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120930' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20121001' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20121031' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20121130' as datetime),0) + + + +--dicembre +select c6martperiodico.getTrimestre2(cast ('20121201' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20121231' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120101' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120131' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120228' as datetime),1) + +--marzo +select c6martperiodico.getTrimestre2(cast ('20120301' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120331' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120401' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120430' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120531' as datetime),1) + +--giugno +select c6martperiodico.getTrimestre2(cast ('20120601' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120630' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120701' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120731' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120831' as datetime),1) + +--settembre +select c6martperiodico.getTrimestre2(cast ('20120901' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120930' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20121001' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20121031' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20121130' as datetime),1) + +END + + diff --git a/sql/storedCollaudo/dbo_TEST_MERGED_PROCEDURE.sql b/sql/storedCollaudo/dbo_TEST_MERGED_PROCEDURE.sql new file mode 100644 index 00000000..23d2f784 --- /dev/null +++ b/sql/storedCollaudo/dbo_TEST_MERGED_PROCEDURE.sql @@ -0,0 +1,121 @@ +-- Schema: dbo +-- Stored Procedure: TEST_MERGED_PROCEDURE + + +CREATE procedure [dbo].[TEST_MERGED_PROCEDURE] +@Rete char(1), +@CodiceFiscale varchar(16) + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED + +----------------------------------------------- C6MartPeriodico.PL_S43LineaSelfBF +SELECT '' as 'C6MartPeriodico.PL_S43LineaSelfBF', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(cast(datasott as varchar)) as DataSott + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND isnull(ctv,0) < 0 +-------------------------------------------------------------------- + +----------------------------------------------- C6MartPeriodico.PL_D_S333Fonditalia80 +Select + '' as 'C6MartPeriodico.PL_D_S333Fonditalia80', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale + ,[DES_PROD] + ,[COD_CONF] + ,[QUOTA] + ,[NUMEROQUOTE] + ,[CONTROVALORE] + ,[DATARIF] + ,[DES_MAX] + ,[QUOTA_MAX] + ,[QUOTA_MAX_PERC] + ,[DATARIF_MAX] + ,[DES_PROT] + ,[QUOTA_PROT] + ,[NUMEROQUOTE_PROT] + ,[CONTROVALORE_PROT] +from [C6martperiodico].[capprot] + WHERE [Rete] = @Rete + AND [Codfis] = @CodiceFiscale +-------------------------------------------------------------------- + +----------------------------------------------- C6MartPeriodico.PL_S10PatrimonioFinanziario +SELECT '' as 'C6MartPeriodico.PL_S10PatrimonioFinanziario' , @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + A.BANCA, + A.ORDINAMENTO, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,5)) Controvalore, + cast(A.Percentuale as decimal(19,5)) Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Banca Fideuram' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + + UNION ALL + + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN C6Mart.ClientiConCCNegativo CCNegativo +---- ON PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- --PATRBF.TIPO_PRODOTTO = 'CC' +-- PATRBF.ID_AREA = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- --AND CCNegativo.Cod_Fiscale IS NULL + +-- UNION ALL + + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + ON ASS diff --git a/sql/storedCollaudo/dbo_TrimTable.sql b/sql/storedCollaudo/dbo_TrimTable.sql new file mode 100644 index 00000000..7e780ed8 --- /dev/null +++ b/sql/storedCollaudo/dbo_TrimTable.sql @@ -0,0 +1,37 @@ +-- Schema: dbo +-- Stored Procedure: TrimTable + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[TrimTable] + @table VARCHAR(128) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @sql NVARCHAR(MAX) + + SET @sql = 'SELECT * +INTO #Temp +FROM ' + @table + ' +WHERE ID_ELAB = ( + SELECT MAX(ID_ELAB) + FROM ' + @table + +') + +TRUNCATE TABLE ' + @table + +' +INSERT INTO ' + @table + ' +SELECT * +FROM #Temp + +DROP TABLE #Temp' + +EXEC sp_executesql @sql +END + diff --git a/sql/storedCollaudo/dbo_TrimWSEITables.sql b/sql/storedCollaudo/dbo_TrimWSEITables.sql new file mode 100644 index 00000000..bc05adcc --- /dev/null +++ b/sql/storedCollaudo/dbo_TrimWSEITables.sql @@ -0,0 +1,117 @@ +-- Schema: dbo +-- Stored Procedure: TrimWSEITables + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[TrimWSEITables] + @data DECIMAL(9,0) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + DECLARE @ok BIT + + SET @ok = 0 + + BEGIN TRAN + + -- WSEIAN + + SELECT * + INTO #TEMPAN + FROM C6StagingPeriodico.WSEIAN2 + WHERE DTTRIM = @data + + IF @@ROWCOUNT > 0 + BEGIN + TRUNCATE TABLE C6StagingPeriodico.WSEIAN2 + + INSERT INTO C6StagingPeriodico.WSEIAN2 + SELECT * + FROM #TEMPAN + + SET @ok = 1 + END + ELSE + SET @ok = 0 + + DROP TABLE #TEMPAN + + -- WSEICS + + SELECT * + INTO #TEMPCS + FROM C6StagingPeriodico.WSEICS + WHERE DTTRIM = @data + + IF @@ROWCOUNT > 0 + BEGIN + TRUNCATE TABLE C6StagingPeriodico.WSEICS + + INSERT INTO C6StagingPeriodico.WSEICS + SELECT * + FROM #TEMPCS + + SET @ok = 1 + END + ELSE + SET @ok = 0 + + DROP TABLE #TEMPCS + + -- WSEIPV + + SELECT * + INTO #TEMPPV + FROM C6StagingPeriodico.WSEIPV + WHERE DTTRIM = @data + + IF @@ROWCOUNT > 0 + BEGIN + TRUNCATE TABLE C6StagingPeriodico.WSEIPV + + INSERT INTO C6StagingPeriodico.WSEIPV + SELECT * + FROM #TEMPPV + + SET @ok = 1 + END + ELSE + SET @ok = 0 + + DROP TABLE #TEMPPV + + -- WSEIUL + + SELECT * + INTO #TEMPUL + FROM C6StagingPeriodico.WSEIUL + WHERE DTTRIM = @data + + IF @@ROWCOUNT > 0 + BEGIN + TRUNCATE TABLE C6StagingPeriodico.WSEIUL + + INSERT INTO C6StagingPeriodico.WSEIUL + SELECT * + FROM #TEMPUL + + SET @ok = 1 + END + ELSE + SET @ok = 0 + + DROP TABLE #TEMPUL + + IF @ok = 1 + COMMIT TRAN + ELSE + ROLLBACK TRAN +END + + diff --git a/sql/storedCollaudo/dbo_UPDATE_EVASIONE.sql b/sql/storedCollaudo/dbo_UPDATE_EVASIONE.sql new file mode 100644 index 00000000..e7c51696 --- /dev/null +++ b/sql/storedCollaudo/dbo_UPDATE_EVASIONE.sql @@ -0,0 +1,19 @@ +-- Schema: dbo +-- Stored Procedure: UPDATE_EVASIONE + +CREATE procedure [dbo].[UPDATE_EVASIONE] + +@idMetadato as int + + +AS +BEGIN +update dbo.RichiestaPdfStorico +set richiestaEvasa = 1 +where idMetadato = @idMetadato + +--select * from dbo.RichiestaPdfStorico + +END + + diff --git a/sql/storedCollaudo/dbo_UTIL_ESTRAI_COMPLEX_MODIFICATA.sql b/sql/storedCollaudo/dbo_UTIL_ESTRAI_COMPLEX_MODIFICATA.sql new file mode 100644 index 00000000..01e87d6e --- /dev/null +++ b/sql/storedCollaudo/dbo_UTIL_ESTRAI_COMPLEX_MODIFICATA.sql @@ -0,0 +1,132 @@ +-- Schema: dbo +-- Stored Procedure: UTIL_ESTRAI_COMPLEX_MODIFICATA + +CREATE procedure [dbo].[UTIL_ESTRAI_COMPLEX_MODIFICATA] + +as + +select C.RETE,C.COD_FISCALE,D.EXPERIENCE,A.COD_INTERNO,A.COD_SOTTOPRODOTTO,C.TIPO_PRODOTTO,A.COD_ISIN,A.COMPLEX AS NEW_COMPLEX, + B.COMPLEX AS OLD_COMPLEX + +from c6stagingperiodico.catitemref a +join c6staging.catitemref b --catalogo del giornaliero con complessit non modificata +on a.catalogueId = b.catalogueId +join c6martperiodico.patrimonio_bf c +on c.cod_prodotto = a.catalogueId +join c6martperiodico.mifid d +on c.cod_fiscale = d.cod_fiscale and c.rete = d.rete +where + A.COD_INTERNO IN + ( + '18', + '19', + '29', + '35', + '37', + '38', + '48', + '49', + '60', + 'BT', + 'ES', + 'FR', + 'FS', + 'FT', + 'FU', + 'GP', + 'KP', + 'OA', + 'PO', + 'PY', + 'SB', + 'PR', + 'PX', + 'SE', + 'SF', + 'SI', + 'ST', + 'SU', + 'K1', + 'K2', + 'K3', + 'K4', + 'K5', + 'K6', + 'K7' + ) + + OR + + (A.COD_INTERNO IN + ( + 'S1', + 'S2', + 'S3', + 'S4', + 'S5', + 'S6', + 'S7', + 'S8' + ) + and A.cod_sottoprodotto not in ('20001','20002','20005','20008') + ) + + OR + + ( A.cod_interno in ('S1','S2','S4','S5','S8') + and A.cod_sottoprodotto in ('20001','20002','20005','20008') + ) + + OR + + A.COD_INTERNO IN + ( + 'A7', + 'A8' + ) + + OR + + A.COD_SOTTOPRODOTTO IN + ( + '7149S' + ,'7145S' + ,'9968S' + ) + + OR + + A.COD_SOTTOPRODOTTO = '7146S' + + OR + ( + A.COD_ISIN IN + ( + 'DE000A0LJ552' + ,'DE000A0MG8R0' + ,'IT0004189368' + ,'GB00B1WVWP64' + ,'GB00B1Y3ZZ16' + ,'XS0354254111' + ,'GB00B2QM7Y61' + ,'XS0235278982' + ,'XS0179585186' + ) + AND + A.COD_INTERNO IN + ( + '00101740' + ,'09139480' + ,'09161420' + ,'00830060' + ,'09205930' + ,'00168130' + ,'08525040' + ,'08556110' + ,'09201230' + ) + ) + +ORDER BY C.RETE,C.COD_FISCALE,D.EXPERIENCE desc + + diff --git a/sql/storedCollaudo/dbo_Utility_Query_Incrocio.sql b/sql/storedCollaudo/dbo_Utility_Query_Incrocio.sql new file mode 100644 index 00000000..4a23f2e6 --- /dev/null +++ b/sql/storedCollaudo/dbo_Utility_Query_Incrocio.sql @@ -0,0 +1,40 @@ +-- Schema: dbo +-- Stored Procedure: Utility_Query_Incrocio + + + + + + +CREATE procedure [dbo].[Utility_Query_Incrocio] (@cod_fis varchar(16) = '') + +AS +BEGIN + + +declare @codicefiscale varchar(18) +declare @codicecontratto varchar(11) +declare @chiaveclientepb varchar(11) +declare @nomecognome varchar(255) +SET @nomecognome = '' +SET @chiaveclientepb = '' +set @codicecontratto = '' +set @codicefiscale = @cod_fis + +select @codicefiscale=cod_fiscale from c6mart.anag_clienti where nome+cognome = @nomecognome +select @codicefiscale=cod_fiscale from c6mart.vcontratti where codicecontratto = @codicecontratto +select @codicefiscale=cod_fiscale from c6mart.vcontratti where chiaveclientepb = @chiaveclientepb +select CODICECONTRATTO,DATA_PERF,DATA_FINEAVANZATO,CASE TIP_CONTRATTO WHEN 0 THEN 'OLD' WHEN 1 THEN 'AFFLUENT' WHEN 2 THEN 'PRIVATE' ELSE 'ERR' END AS TIPOCONTRATTO,CASE RIATTIVAZIONE WHEN 1 THEN 'RIATTIVAZIONE' WHEN 2 THEN 'UPGRADE' ELSE '' END AS RIATTIVAZIONE,RETE,* from c6mart.vcontratti where cod_fiscale = @codicefiscale +select CHIAVECLIENTEPB, ClienteMIGRATO, RISORSENA, PROFILOATTIVO, InvioBenvenuto, NumSolleciti, NumRevoche, CASE TIP_CONTRATTO WHEN 0 THEN 'OLD' WHEN 1 THEN 'AFFLUENT' WHEN 2 THEN 'PRIVATE' ELSE 'ERR' END AS TIPOCONTRATTO,CASE TIP_RIATTIVAZIONE WHEN 1 THEN 'RIATTIVAZIONE' WHEN 2 THEN 'UPGRADE' ELSE '' END AS RIATTIVAZIONE , Data_ultimoSollecito ,Data_ultimaRevoca from c6mart.contrattosei_metadati where chiaveclientepb = (select chiaveclientepb from c6mart.vcontratti where cod_fiscale = @codicefiscale) +select * from c6mart.gestione_pdf_ftp where codicefiscale = @codicefiscale +select * from c6mart.gestione_email where cod_fiscale = @codicefiscale +select * from [CONSUNI].ConsulenzaUnicaFL.[dbo].CBS_STAMPAREPORT where codicecontratto in (select CODICECONTRATTO from c6mart.vcontratti where cod_fiscale = @codicefiscale) +select * from c6mart.test_quality where cod_fiscale = @codicefiscale +select * from [CONSUNI].ConsulenzaUnicaFL.[dbo].CBS_HistDatiIngresso h where h.TRCOM_CODFISC=@codicefiscale or h.TRCOM_MANDATO=substring(@codicefiscale,4,4) order by 2 +select * from [CONSUNI].ConsulenzaUnicaFL.[dbo].CBS_Scarti h where h.TRCOM_CODFISC=@codicefiscale or h.TRCOM_MANDATO=substring(@codicefiscale,4,4) order by 2 + + + + +End + diff --git a/sql/storedCollaudo/dbo_creaExcelVerificaCampioneS80.sql b/sql/storedCollaudo/dbo_creaExcelVerificaCampioneS80.sql new file mode 100644 index 00000000..edc04932 --- /dev/null +++ b/sql/storedCollaudo/dbo_creaExcelVerificaCampioneS80.sql @@ -0,0 +1,76 @@ +-- Schema: dbo +-- Stored Procedure: creaExcelVerificaCampioneS80 + + + +-- ============================================= +-- Author: +-- Create date: <25/09/2014> +-- Description: +-- ============================================= +CREATE procedure [dbo].[creaExcelVerificaCampioneS80] + +AS +BEGIN + + +SELECT PAT.Rete AS rete, + PAT.Cod_Fiscale AS cf, + --PAT.Fase AS TIPO, + CASE WHEN PAT.Fase = 1 THEN 'Avvio monitoraggio' + WHEN PAT.Fase = 2 THEN 'Precedente invio' + END AS [Type], + PAT.DataFase AS [Data riferimento], + PAT.CTV_EXT AS [Extra rendimento], + PAT.CTV_INV AS Investimento, + PAT.CTV_PRE AS Previdenza, + PAT.CTV_RIS AS Riserva, + PAT.CTV_LIQ AS [Liquidit], + PAT.RisorseAllocate AS [Totale risorse allocate], + PAT.RisorseNonAllocate AS [Risorse non allocate], + PAT.ContoCorrente AS [Scoperto di Conto Corrente], + PAT.Partita_viaggiante AS [Investimenti in corso], + PAT.RisorseAllocate + PAT.RisorseNonAllocate + PAT.ContoCorrente + PAT.Partita_viaggiante AS [Totale patrimonio], + RIS.VarMassimoProfiloFinanziario AS [VaR massimo profilo finanziario], + RIS.VarComplessivo AS [Rischio Mercato (VaR%)], + RIS.Copertura AS Copertura, + --RIS.RISKCLASSMAX AS [Rischio Credito massimo], + CASE WHEN RIS.RISKCLASSMAX IS NULL THEN 0 + ELSE RIS.RISKCLASSMAX + END AS [Rischio Credito massimo], + CASE WHEN RIS.RiskClass = '0' and RIS.RISKclassSTRING ='n.a.' THEN '5' + WHEN RIS.RiskClass is null and RIS.RISKclassSTRING ='n.a.' THEN '0' + WHEN RIS.RiskClass is null AND RIS.RISKclassSTRING ='n.d.' THEN null + --NEL FOGLIO XLS DI ESTRAZIONE DATI S80 PER QC RICORDARSI DI sotituire + --NULL con 'n.d.' + --'5' con 'n.a.' + --'0' con 'n.a.' + ELSE RIS.RiskClass + END AS [Rischio Credito] + + + FROM + C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio PAT + inner join + C6MartPeriodico.TB_S80BisEvoluzioneRischio RIS + on + RIS.RETE=PAT.RETE + AND + RIS.CodiceFiscale=PAT.Cod_Fiscale + AND + RIS.Fase=PAT.Fase + AND + RIS.DataFase=PAT.DataFase + + inner join dbo.appocampionereport CAMP + on CAMP.rete=PAT.Rete and CAMP.cod_fiscale=PAT.Cod_Fiscale + + WHERE PAT.FASE != '3' + ORDER BY PAT.Rete, PAT.Cod_Fiscale, PAT.FASE + + + +END + + + diff --git a/sql/storedCollaudo/dbo_creaExcelVerificaCampioneS80_excel.sql b/sql/storedCollaudo/dbo_creaExcelVerificaCampioneS80_excel.sql new file mode 100644 index 00000000..9779ac16 --- /dev/null +++ b/sql/storedCollaudo/dbo_creaExcelVerificaCampioneS80_excel.sql @@ -0,0 +1,65 @@ +-- Schema: dbo +-- Stored Procedure: creaExcelVerificaCampioneS80_excel + + + + + +-- ============================================= +-- Author: +-- Create date: <25/09/2014> +-- Description: +-- ============================================= +CREATE procedure [dbo].[creaExcelVerificaCampioneS80_excel] + + +AS +BEGIN + +drop table if exists c6martperiodico.VerificaS80Campione + +create table c6martperiodico.VerificaS80Campione( +rete varchar(3), +cf varchar(32), +Type varchar(100), +[Data riferimento] datetime, +[Extra rendimento] varchar (100), +Investimento varchar(100), +Previdenza varchar(100), +Riserva varchar(100), +Liquidit varchar(100), +[Totale risorse allocate] varchar(100), +[Risorse non allocate] varchar(100), +[Scoperto di Conto Corrente] varchar(100), +[Investimenti in corso] varchar (100), +[Totale patrimonio] varchar (100), +[VaR massimo profilo finanziario] varchar (100), +[Rischio Mercato (VaR%)] varchar (100), +Copertura varchar (100), +[Rischio Credito Massimo] varchar(100), +[Rischio Credito] varchar(100) +); + + + +insert into c6martperiodico.VerificaS80Campione +exec [dbo].[creaExcelVerificaCampioneS80]; + +--exec [dbo].[creaExcelVerificaCampioneS80] + +update c6martperiodico.VerificaS80Campione +set [Rischio Credito]='n.a.' +from c6martperiodico.VerificaS80Campione +where [Rischio Credito]='5.000' + +update c6martperiodico.VerificaS80Campione +set [Rischio Credito]='n.d.' +from c6martperiodico.VerificaS80Campione +where [Rischio Credito] is NULL + +select * from c6martperiodico.VerificaS80Campione + +END + + + diff --git a/sql/storedCollaudo/dbo_getListaPdfStorici.sql b/sql/storedCollaudo/dbo_getListaPdfStorici.sql new file mode 100644 index 00000000..cbd76f10 --- /dev/null +++ b/sql/storedCollaudo/dbo_getListaPdfStorici.sql @@ -0,0 +1,49 @@ +-- Schema: dbo +-- Stored Procedure: getListaPdfStorici + + + + +-- ============================================= +-- Author: Valerio Colaianni +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[getListaPdfStorici] + AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here + select 'E:\TSM\ARCHIVE\PDF\'+nomeFile + from RichiestaPdfStorico + where richiestaEvasa = 0 + +--INSERT INTO LOG_ESECUZIONE +-- (Nome, Inizio, Nota) +-- VALUES ( +-- 'getListaPdfStorici', +-- GETDATE(), +-- 'Elaborazione' +--) + +-- Inserimento per recupero manuale di test del 24/05/2016 - DA COMMENTARE UNA VOLTA FATTO + --select + + --'E:\TSM\ARCHIVE\578944.pdf' + --union + --select + --'E:\TSM\ARCHIVE\578980.pdf' + --union + --select + --'E:\TSM\ARCHIVE\579000.pdf' + + +END + + + + + diff --git a/sql/storedCollaudo/dbo_inserisciRichiestaStorico.sql b/sql/storedCollaudo/dbo_inserisciRichiestaStorico.sql new file mode 100644 index 00000000..e3bfcfbe --- /dev/null +++ b/sql/storedCollaudo/dbo_inserisciRichiestaStorico.sql @@ -0,0 +1,29 @@ +-- Schema: dbo +-- Stored Procedure: inserisciRichiestaStorico + +--[dbo].[inserisciRichiestaStorico] 47,'S','SSTLCN46T54L331H','001594' +--select * from RichiestaPdfStorico truncate table RichiestaPdfStorico +CREATE procedure [dbo].[inserisciRichiestaStorico] + +@identificativo as int, +@rete as char(1), +@cod_fiscale as varchar(16), +@cod_agente as varchar(6) + +AS +BEGIN + +declare @idMeta as int +declare @tempNomeFile as varchar(20) + +set @tempNomeFile = cast(@identificativo as varchar)+'.pdf' + +select @idMeta = idMetadato from RichiestaPdfStorico where idMetadato = @identificativo and Richiestaevasa = 0 + +if(isnull(@idMeta,0) <> @identificativo) + insert into dbo.RichiestaPdfStorico(nomeFile,rete,cod_fiscale,cod_agente,richiestaEvasa,idMetadato) + values (@tempNomeFile,@rete,@cod_fiscale,@cod_agente,0,@identificativo) + +END + + diff --git a/sql/storedCollaudo/dbo_spPDFRecovery.sql b/sql/storedCollaudo/dbo_spPDFRecovery.sql new file mode 100644 index 00000000..ec52c450 --- /dev/null +++ b/sql/storedCollaudo/dbo_spPDFRecovery.sql @@ -0,0 +1,28 @@ +-- Schema: dbo +-- Stored Procedure: spPDFRecovery + +-- ============================================= +-- Author: +-- Create date: <27/12/2018> +-- Description: <> +-- ============================================= +CREATE PROCEDURE dbo.spPDFRecovery +( + @id int +) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + select + [Image], + Cliente, + Rete + from [VMBFDSREPSEI01\I1].SEIReport.dbo.C6ReportFisico + where Identificativo = @id + + +END + diff --git a/sql/storedCollaudo/dbo_sp_WhoIsActive.sql b/sql/storedCollaudo/dbo_sp_WhoIsActive.sql new file mode 100644 index 00000000..5578d3ba --- /dev/null +++ b/sql/storedCollaudo/dbo_sp_WhoIsActive.sql @@ -0,0 +1,87 @@ +-- Schema: dbo +-- Stored Procedure: sp_WhoIsActive + +CREATE PROC dbo.sp_WhoIsActive +( +--~ + --Filters--Both inclusive and exclusive + --Set either filter to '' to disable + --Valid filter types are: session, program, database, login, and host + --Session is a session ID, and either 0 or '' can be used to indicate "all" sessions + --All other filter types support % or _ as wildcards + @filter sysname = '', + @filter_type VARCHAR(10) = 'session', + @not_filter sysname = '', + @not_filter_type VARCHAR(10) = 'session', + + --Retrieve data about the calling session? + @show_own_spid BIT = 0, + + --Retrieve data about system sessions? + @show_system_spids BIT = 0, + + --Controls how sleeping SPIDs are handled, based on the idea of levels of interest + --0 does not pull any sleeping SPIDs + --1 pulls only those sleeping SPIDs that also have an open transaction + --2 pulls all sleeping SPIDs + @show_sleeping_spids TINYINT = 1, + + --If 1, gets the full stored procedure or running batch, when available + --If 0, gets only the actual statement that is currently running in the batch or procedure + @get_full_inner_text BIT = 0, + + --Get associated query plans for running tasks, if available + --If @get_plans = 1, gets the plan based on the request's statement offset + --If @get_plans = 2, gets the entire plan based on the request's plan_handle + @get_plans TINYINT = 0, + + --Get the associated outer ad hoc query or stored procedure call, if available + @get_outer_command BIT = 0, + + --Enables pulling transaction log write info and transaction duration + @get_transaction_info BIT = 0, + + --Get information on active tasks, based on three interest levels + --Level 0 does not pull any task-related information + --Level 1 is a lightweight mode that pulls the top non-CXPACKET wait, giving preference to blockers + --Level 2 pulls all available task-based metrics, including: + --number of active tasks, current wait stats, physical I/O, context switches, and blocker information + @get_task_info TINYINT = 1, + + --Gets associated locks for each request, aggregated in an XML format + @get_locks BIT = 0, + + --Get average time for past runs of an active query + --(based on the combination of plan handle, sql handle, and offset) + @get_avg_time BIT = 0, + + --Get additional non-performance-related information about the session or request + --text_size, language, date_format, date_first, quoted_identifier, arithabort, ansi_null_dflt_on, + --ansi_defaults, ansi_warnings, ansi_padding, ansi_nulls, concat_null_yields_null, + --transaction_isolation_level, lock_timeout, deadlock_priority, row_count, command_type + -- + --If a SQL Agent job is running, an subnode called agent_info will be populated with some or all of + --the following: job_id, job_name, step_id, step_name, msdb_query_error (in the event of an error) + -- + --If @get_task_info is set to 2 and a lock wait is detected, a subnode called block_info will be + --populated with some or all of the following: lock_type, database_name, object_id, file_id, hobt_id, + --applock_hash, metadata_resource, metadata_class_id, object_name, schema_name + @get_additional_info BIT = 0, + + --Walk the blocking chain and count the number of + --total SPIDs blocked all the way down by a given session + --Also enables task_info Level 1, if @get_task_info is set to 0 + @find_block_leaders BIT = 0, + + --Pull deltas on various metrics + --Interval in seconds to wait before doing the second data pull + @delta_interval TINYINT = 0, + + --List of desired output columns, in desired order + --Note that the final output will be the intersection of all enabled features and all + --columns in the list. Therefore, only columns associated with enabled features will + --actually appear in the output. Likewise, removing columns from this list may effectively + --disable features, even if they are turned on + -- + --Each element in this list must be one of the valid output column names. Names must be + --delimited by square brackets. White space, formatting, and additio diff --git a/sql/storedCollaudo/dbo_sp_alterdiagram.sql b/sql/storedCollaudo/dbo_sp_alterdiagram.sql new file mode 100644 index 00000000..6f586fcd --- /dev/null +++ b/sql/storedCollaudo/dbo_sp_alterdiagram.sql @@ -0,0 +1,68 @@ +-- Schema: dbo +-- Stored Procedure: sp_alterdiagram + + + CREATE PROCEDURE dbo.sp_alterdiagram + ( + @diagramname sysname, + @owner_id int = null, + @version int, + @definition varbinary(max) + ) + WITH EXECUTE AS 'dbo' + AS + BEGIN + set nocount on + + declare @theId int + declare @retval int + declare @IsDbo int + + declare @UIDFound int + declare @DiagId int + declare @ShouldChangeUID int + + if(@diagramname is null) + begin + RAISERROR ('Invalid ARG', 16, 1) + return -1 + end + + execute as caller; + select @theId = DATABASE_PRINCIPAL_ID(); + select @IsDbo = IS_MEMBER(N'db_owner'); + if(@owner_id is null) + select @owner_id = @theId; + revert; + + select @ShouldChangeUID = 0 + select @DiagId = diagram_id, @UIDFound = principal_id from dbo.sysdiagrams where principal_id = @owner_id and name = @diagramname + + if(@DiagId IS NULL or (@IsDbo = 0 and @theId <> @UIDFound)) + begin + RAISERROR ('Diagram does not exist or you do not have permission.', 16, 1); + return -3 + end + + if(@IsDbo <> 0) + begin + if(@UIDFound is null or USER_NAME(@UIDFound) is null) -- invalid principal_id + begin + select @ShouldChangeUID = 1 ; + end + end + + -- update dds data + update dbo.sysdiagrams set definition = @definition where diagram_id = @DiagId ; + + -- change owner + if(@ShouldChangeUID = 1) + update dbo.sysdiagrams set principal_id = @theId where diagram_id = @DiagId ; + + -- update dds version + if(@version is not null) + update dbo.sysdiagrams set version = @version where diagram_id = @DiagId ; + + return 0 + END + diff --git a/sql/storedCollaudo/dbo_sp_change_codfiscale_SEIReport.sql b/sql/storedCollaudo/dbo_sp_change_codfiscale_SEIReport.sql new file mode 100644 index 00000000..7bed1534 --- /dev/null +++ b/sql/storedCollaudo/dbo_sp_change_codfiscale_SEIReport.sql @@ -0,0 +1,53 @@ +-- Schema: dbo +-- Stored Procedure: sp_change_codfiscale_SEIReport + + +-- D_DTSX 20180511 +-- Esegue l'allineamento sulla SEIReport. +-- Sostituisce la sp_change_codfiscale della SEIReport, per poter eseguire l'allineamento direttamente dalla 203. +-- Viene richiamata dalla nuova stored procedure srv_change_codfiscaleMassiva_CU_SEIReport, che sostituisce la srv_change_codfiscaleMassiva_CU su SEIReport. + +CREATE PROCEDURE [dbo].[sp_change_codfiscale_SEIReport] + -- Add the parameters for the stored procedure here + @nuovo varchar(16), + @vecchio varchar(16) +AS +BEGIN + + SET NOCOUNT ON; + +begin try + begin + transaction update_cf + + update [VMBFDSREPSEI01\I1].SeiReport.dbo.Cliente + set codEsterno = @nuovo, + codFiscale = @nuovo + where codEsterno = @vecchio + + --print @@rowcount + + update [VMBFDSREPSEI01\I1].SeiReport.dbo.C6ReportFisico + set cliente = @nuovo + where cliente = @vecchio + + update [VMBFDSREPSEI01\I1].SeiReport.dbo.C6ReportFisico_CAMPAGNA + set cliente = @nuovo + where cliente = @vecchio + + update [VMBFDSREPSEI01\I1].SeiReport.dbo.LogFilePDF + set codicefiscale= @nuovo + where codicefiscale= @vecchio + + update [VMBFDSREPSEI01\I1].SeiReport.dbo.RepositoryMetadati + set cod_fiscale=@nuovo + where cod_fiscale=@vecchio + + commit transaction update_cf +end try +begin catch + rollback transaction update_cf +end catch + +END + diff --git a/sql/storedCollaudo/dbo_sp_creatediagram.sql b/sql/storedCollaudo/dbo_sp_creatediagram.sql new file mode 100644 index 00000000..b7bd42d6 --- /dev/null +++ b/sql/storedCollaudo/dbo_sp_creatediagram.sql @@ -0,0 +1,61 @@ +-- Schema: dbo +-- Stored Procedure: sp_creatediagram + + + CREATE PROCEDURE dbo.sp_creatediagram + ( + @diagramname sysname, + @owner_id int = null, + @version int, + @definition varbinary(max) + ) + WITH EXECUTE AS 'dbo' + AS + BEGIN + set nocount on + + declare @theId int + declare @retval int + declare @IsDbo int + declare @userName sysname + if(@version is null or @diagramname is null) + begin + RAISERROR (N'E_INVALIDARG', 16, 1); + return -1 + end + + execute as caller; + select @theId = DATABASE_PRINCIPAL_ID(); + select @IsDbo = IS_MEMBER(N'db_owner'); + revert; + + if @owner_id is null + begin + select @owner_id = @theId; + end + else + begin + if @theId <> @owner_id + begin + if @IsDbo = 0 + begin + RAISERROR (N'E_INVALIDARG', 16, 1); + return -1 + end + select @theId = @owner_id + end + end + -- next 2 line only for test, will be removed after define name unique + if EXISTS(select diagram_id from dbo.sysdiagrams where principal_id = @theId and name = @diagramname) + begin + RAISERROR ('The name is already used.', 16, 1); + return -2 + end + + insert into dbo.sysdiagrams(name, principal_id , version, definition) + VALUES(@diagramname, @theId, @version, @definition) ; + + select @retval = @@IDENTITY + return @retval + END + diff --git a/sql/storedCollaudo/dbo_sp_dropdiagram.sql b/sql/storedCollaudo/dbo_sp_dropdiagram.sql new file mode 100644 index 00000000..103f6f67 --- /dev/null +++ b/sql/storedCollaudo/dbo_sp_dropdiagram.sql @@ -0,0 +1,44 @@ +-- Schema: dbo +-- Stored Procedure: sp_dropdiagram + + + CREATE PROCEDURE dbo.sp_dropdiagram + ( + @diagramname sysname, + @owner_id int = null + ) + WITH EXECUTE AS 'dbo' + AS + BEGIN + set nocount on + declare @theId int + declare @IsDbo int + + declare @UIDFound int + declare @DiagId int + + if(@diagramname is null) + begin + RAISERROR ('Invalid value', 16, 1); + return -1 + end + + EXECUTE AS CALLER; + select @theId = DATABASE_PRINCIPAL_ID(); + select @IsDbo = IS_MEMBER(N'db_owner'); + if(@owner_id is null) + select @owner_id = @theId; + REVERT; + + select @DiagId = diagram_id, @UIDFound = principal_id from dbo.sysdiagrams where principal_id = @owner_id and name = @diagramname + if(@DiagId IS NULL or (@IsDbo = 0 and @UIDFound <> @theId)) + begin + RAISERROR ('Diagram does not exist or you do not have permission.', 16, 1) + return -3 + end + + delete from dbo.sysdiagrams where diagram_id = @DiagId; + + return 0; + END + diff --git a/sql/storedCollaudo/dbo_sp_dts_addlogentry.sql b/sql/storedCollaudo/dbo_sp_dts_addlogentry.sql new file mode 100644 index 00000000..d333e96a --- /dev/null +++ b/sql/storedCollaudo/dbo_sp_dts_addlogentry.sql @@ -0,0 +1,4 @@ +-- Schema: dbo +-- Stored Procedure: sp_dts_addlogentry + +CREATE PROCEDURE [dbo].[sp_dts_addlogentry] @event sysname, @computer nvarchar(128), @operator nvarchar(128), @source nvarchar(1024), @sourceid uniqueidentifier, @executionid uniqueidentifier, @starttime datetime, @endtime datetime, @datacode int, @databytes image, @message nvarchar(2048)AS INSERT INTO sysdtslog90 ( event, computer, operator, source, sourceid, executionid, starttime, endtime, datacode, databytes, message ) VALUES ( @event, @computer, @operator, @source, @sourceid, @executionid, @starttime, @endtime, @datacode, @databytes, @message ) RETURN 0 diff --git a/sql/storedCollaudo/dbo_sp_getColors.sql b/sql/storedCollaudo/dbo_sp_getColors.sql new file mode 100644 index 00000000..96898b76 --- /dev/null +++ b/sql/storedCollaudo/dbo_sp_getColors.sql @@ -0,0 +1,24 @@ +-- Schema: dbo +-- Stored Procedure: sp_getColors + +CREATE procedure [dbo].[sp_getColors] + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + -- Insert statements for procedure here +SELECT [Tipo] + ,[Codice] + ,[Ordinamento] + ,[Descrizione breve] + ,[Descrizione estesa] + ,[HexColor] + ,[Red] + ,[Green] + ,[Blue] + FROM [dbo].[Colori] +END + diff --git a/sql/storedCollaudo/dbo_sp_helpdiagramdefinition.sql b/sql/storedCollaudo/dbo_sp_helpdiagramdefinition.sql new file mode 100644 index 00000000..7bfddd7c --- /dev/null +++ b/sql/storedCollaudo/dbo_sp_helpdiagramdefinition.sql @@ -0,0 +1,43 @@ +-- Schema: dbo +-- Stored Procedure: sp_helpdiagramdefinition + + + CREATE PROCEDURE dbo.sp_helpdiagramdefinition + ( + @diagramname sysname, + @owner_id int = null + ) + WITH EXECUTE AS N'dbo' + AS + BEGIN + set nocount on + + declare @theId int + declare @IsDbo int + declare @DiagId int + declare @UIDFound int + + if(@diagramname is null) + begin + RAISERROR (N'E_INVALIDARG', 16, 1); + return -1 + end + + execute as caller; + select @theId = DATABASE_PRINCIPAL_ID(); + select @IsDbo = IS_MEMBER(N'db_owner'); + if(@owner_id is null) + select @owner_id = @theId; + revert; + + select @DiagId = diagram_id, @UIDFound = principal_id from dbo.sysdiagrams where principal_id = @owner_id and name = @diagramname; + if(@DiagId IS NULL or (@IsDbo = 0 and @UIDFound <> @theId )) + begin + RAISERROR ('Diagram does not exist or you do not have permission.', 16, 1); + return -3 + end + + select version, definition FROM dbo.sysdiagrams where diagram_id = @DiagId ; + return 0 + END + diff --git a/sql/storedCollaudo/dbo_sp_helpdiagrams.sql b/sql/storedCollaudo/dbo_sp_helpdiagrams.sql new file mode 100644 index 00000000..79324dc6 --- /dev/null +++ b/sql/storedCollaudo/dbo_sp_helpdiagrams.sql @@ -0,0 +1,34 @@ +-- Schema: dbo +-- Stored Procedure: sp_helpdiagrams + + + CREATE PROCEDURE dbo.sp_helpdiagrams + ( + @diagramname sysname = NULL, + @owner_id int = NULL + ) + WITH EXECUTE AS N'dbo' + AS + BEGIN + DECLARE @user sysname + DECLARE @dboLogin bit + EXECUTE AS CALLER; + SET @user = USER_NAME(); + SET @dboLogin = CONVERT(bit,IS_MEMBER('db_owner')); + REVERT; + SELECT + [Database] = DB_NAME(), + [Name] = name, + [ID] = diagram_id, + [Owner] = USER_NAME(principal_id), + [OwnerID] = principal_id + FROM + sysdiagrams + WHERE + (@dboLogin = 1 OR USER_NAME(principal_id) = @user) AND + (@diagramname IS NULL OR name = @diagramname) AND + (@owner_id IS NULL OR principal_id = @owner_id) + ORDER BY + 4, 5, 1 + END + diff --git a/sql/storedCollaudo/dbo_sp_renamediagram.sql b/sql/storedCollaudo/dbo_sp_renamediagram.sql new file mode 100644 index 00000000..84e10909 --- /dev/null +++ b/sql/storedCollaudo/dbo_sp_renamediagram.sql @@ -0,0 +1,65 @@ +-- Schema: dbo +-- Stored Procedure: sp_renamediagram + + + CREATE PROCEDURE dbo.sp_renamediagram + ( + @diagramname sysname, + @owner_id int = null, + @new_diagramname sysname + + ) + WITH EXECUTE AS 'dbo' + AS + BEGIN + set nocount on + declare @theId int + declare @IsDbo int + + declare @UIDFound int + declare @DiagId int + declare @DiagIdTarg int + declare @u_name sysname + if((@diagramname is null) or (@new_diagramname is null)) + begin + RAISERROR ('Invalid value', 16, 1); + return -1 + end + + EXECUTE AS CALLER; + select @theId = DATABASE_PRINCIPAL_ID(); + select @IsDbo = IS_MEMBER(N'db_owner'); + if(@owner_id is null) + select @owner_id = @theId; + REVERT; + + select @u_name = USER_NAME(@owner_id) + + select @DiagId = diagram_id, @UIDFound = principal_id from dbo.sysdiagrams where principal_id = @owner_id and name = @diagramname + if(@DiagId IS NULL or (@IsDbo = 0 and @UIDFound <> @theId)) + begin + RAISERROR ('Diagram does not exist or you do not have permission.', 16, 1) + return -3 + end + + -- if((@u_name is not null) and (@new_diagramname = @diagramname)) -- nothing will change + -- return 0; + + if(@u_name is null) + select @DiagIdTarg = diagram_id from dbo.sysdiagrams where principal_id = @theId and name = @new_diagramname + else + select @DiagIdTarg = diagram_id from dbo.sysdiagrams where principal_id = @owner_id and name = @new_diagramname + + if((@DiagIdTarg is not null) and @DiagId <> @DiagIdTarg) + begin + RAISERROR ('The name is already used.', 16, 1); + return -2 + end + + if(@u_name is null) + update dbo.sysdiagrams set [name] = @new_diagramname, principal_id = @theId where diagram_id = @DiagId + else + update dbo.sysdiagrams set [name] = @new_diagramname where diagram_id = @DiagId + return 0 + END + diff --git a/sql/storedCollaudo/dbo_sp_upgraddiagrams.sql b/sql/storedCollaudo/dbo_sp_upgraddiagrams.sql new file mode 100644 index 00000000..fce50206 --- /dev/null +++ b/sql/storedCollaudo/dbo_sp_upgraddiagrams.sql @@ -0,0 +1,63 @@ +-- Schema: dbo +-- Stored Procedure: sp_upgraddiagrams + + + CREATE PROCEDURE dbo.sp_upgraddiagrams + AS + BEGIN + IF OBJECT_ID(N'dbo.sysdiagrams') IS NOT NULL + return 0; + + CREATE TABLE dbo.sysdiagrams + ( + name sysname NOT NULL, + principal_id int NOT NULL, -- we may change it to varbinary(85) + diagram_id int PRIMARY KEY IDENTITY, + version int, + + definition varbinary(max) + CONSTRAINT UK_principal_name UNIQUE + ( + principal_id, + name + ) + ); + + + /* Add this if we need to have some form of extended properties for diagrams */ + /* + IF OBJECT_ID(N'dbo.sysdiagram_properties') IS NULL + BEGIN + CREATE TABLE dbo.sysdiagram_properties + ( + diagram_id int, + name sysname, + value varbinary(max) NOT NULL + ) + END + */ + + IF OBJECT_ID(N'dbo.dtproperties') IS NOT NULL + begin + insert into dbo.sysdiagrams + ( + [name], + [principal_id], + [version], + [definition] + ) + select + convert(sysname, dgnm.[uvalue]), + DATABASE_PRINCIPAL_ID(N'dbo'), -- will change to the sid of sa + 0, -- zero for old format, dgdef.[version], + dgdef.[lvalue] + from dbo.[dtproperties] dgnm + inner join dbo.[dtproperties] dggd on dggd.[property] = 'DtgSchemaGUID' and dggd.[objectid] = dgnm.[objectid] + inner join dbo.[dtproperties] dgdef on dgdef.[property] = 'DtgSchemaDATA' and dgdef.[objectid] = dgnm.[objectid] + + where dgnm.[property] = 'DtgSchemaNAME' and dggd.[uvalue] like N'_EA3E6268-D998-11CE-9454-00AA00A3F36E_' + return 2; + end + return 1; + END + diff --git a/sql/storedCollaudo/dbo_srv_change_Professional_Base_CU.sql b/sql/storedCollaudo/dbo_srv_change_Professional_Base_CU.sql new file mode 100644 index 00000000..2370b4fa --- /dev/null +++ b/sql/storedCollaudo/dbo_srv_change_Professional_Base_CU.sql @@ -0,0 +1,29 @@ +-- Schema: dbo +-- Stored Procedure: srv_change_Professional_Base_CU + + + +CREATE procedure [dbo].[srv_change_Professional_Base_CU] + -- Add the parameters for the stored procedure here + @cod_conf varchar(64) +AS +BEGIN + + +declare @cod_conf_old varchar(64) +declare @data_chiusura varchar(128) + +select top 1 @cod_conf_old= cod_conf_old from consulenzaunicafl.dbo.cbs_dbcontrattosei where cod_conf=@cod_conf + +select top 1 @data_chiusura = trcom_dtinvio from consulenzaunicafl.dbo.cbs_histdatiingresso where trcom_codconf=@cod_conf_old and trcom_causale='RS6' +order by TRCOM_PRINVIO desc + +update consulenzaunicafl.dbo.cbs_dbcontrattosei +set COD_CONF=@cod_conf_old , COD_CONF_OLD= null, tipoconsulenza='D', +data_chiusura_c6=@data_chiusura -- data trcom_invio con trcom_causale=RS6 +from consulenzaunicafl.dbo.cbs_dbcontrattosei +where cod_conf=@cod_conf + + +END + diff --git a/sql/storedCollaudo/dbo_srv_change_codfiscale.sql b/sql/storedCollaudo/dbo_srv_change_codfiscale.sql new file mode 100644 index 00000000..e7bdcf66 --- /dev/null +++ b/sql/storedCollaudo/dbo_srv_change_codfiscale.sql @@ -0,0 +1,157 @@ +-- Schema: dbo +-- Stored Procedure: srv_change_codfiscale + + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- RSIMLS46A45B670G RSIMLS46A46B670I +-- RMNVLM40L50H027T RMNWLM40L50H027U +--srv_change_codfiscale 'BRGPNG47C50F382V','FRNNLN53D59A757M',1 +--srv_change_codfiscale '04920830827','04020830827','0',0 +CREATE PROCEDURE [dbo].[srv_change_codfiscale] + -- Add the parameters for the stored procedure here + @nuovo varchar(16), + @vecchio varchar(16) + --FC 03/10/2014 + --Aggiunto Parametro gestione CF o P.I. + -- 1 = CF + -- 0 =P.I. + ,@isCodFis int + ,@retcodErr int output +AS +BEGIN + + --SET NOCOUNT ON; +--toDo FC +begin try +-- begin transaction update_cf + +--------GIORNALIERO--------------------------------------------- + +-- update C6Mart.CONTRATTOSEI +-- set Cod_Fiscale = @nuovo +-- where Cod_Fiscale = @vecchio + + update C6Mart.GESTIONE_PDF_FTP + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + + update c6Mart.gestione_email + set cod_fiscale = @nuovo + where cod_fiscale = @vecchio + +--------TRIMESTRALE--------------------------------------------- + + update C6StagingPeriodico.ContrattiPretrimestrale + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6StagingPeriodico.APPO_CONTRATTI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6MartPeriodico.CONTRATTOSEI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6MartPeriodico.ANAG_CLIENTI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6MartPeriodico.controllo_trimestrale + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6MartPeriodico.GESTIONE_PDF_FTP + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + + + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + +-- Sul Sei tabella Cliente il CF diviso per categoria P.I.V.A. o Cod. Fiscale + IF @isCodFis = 1 + Update C6STAGINGPERIODICO.RP_InfoCliente + set codfis =@nuovo + where codfis = @vecchio + + IF @isCodFis = 0 + Update C6STAGINGPERIODICO.RP_InfoCliente + set piva =@nuovo + where piva = @vecchio + +-- Sul Sei tabella Cliente il CF diviso per categoria P.I.V.A. o Cod. Fiscale + IF @isCodFis = 1 + Update [CONSEVO_PERIODICO].ConsulenzaBase.dbo.Cliente + set codfis =@nuovo + where codfis = @vecchio + + IF @isCodFis = 0 + Update [CONSEVO_PERIODICO].ConsulenzaBase.dbo.Cliente + set piva = @nuovo + where piva = @vecchio + + + + + +--EXEC [VMBFDSREPSEI01\I1].[seireport].dbo.sp_change_codfiscale @NUOVO,@VECCHIO +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.Cliente +-- set codEsterno = @nuovo, +-- codFiscale = @nuovo +-- where codEsterno = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.C6ReportFisico +-- set cliente = @nuovo +-- where cliente = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.C6ReportFisico_CAMPAGNA +-- set cliente = @nuovo +-- where cliente = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.LogFilePDF +-- set codicefiscale= @nuovo +-- where codicefiscale= @vecchio + +--toFC +--commit transaction update_cf +select @retcodErr=0 +--select * from C6Mart.gestione_email where cod_fiscale='VGNLSI31D47D526G' +--select * from C6Mart.CONTRATTOSEI where cod_fiscale=@nuovo + +--toFC +end try +begin catch +-- --print('errore') +-- select 'CF : '+@nuovo CodFiscale,@@error codErr,ERROR_MESSAGE() errMss + --rollback transaction update_cf + select @retcodErr=-1 + +end catch + +END + + + + + + + + + + + diff --git a/sql/storedCollaudo/dbo_srv_change_codfiscaleMassiva.sql b/sql/storedCollaudo/dbo_srv_change_codfiscaleMassiva.sql new file mode 100644 index 00000000..6ffcb023 --- /dev/null +++ b/sql/storedCollaudo/dbo_srv_change_codfiscaleMassiva.sql @@ -0,0 +1,107 @@ +-- Schema: dbo +-- Stored Procedure: srv_change_codfiscaleMassiva + + + +-- ============================================= +-- Author: Atzeri Emanuele +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[srv_change_codfiscaleMassiva] + -- Add the parameters for the stored procedure here + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --SET NOCOUNT ON; + + DECLARE @Vecchio varchar(16) + DECLARE @Nuovo varchar(16) + DECLARE @DataIns datetime + DECLARE @isCodFis int + --DECLARE @UltimaData varchar(8) + + Declare @contErr int + Declare @CodErr int + Declare @retDescErr varchar(500) + + set @CodErr= 1 + set @contErr= 0 +-- SELECT @UltimaData = MAX(convert(varchar(8), DataOperazione, 112)) FROM dbo.RicodificaMassiva + +-- UPDATE [CONSEVO].ConsulenzaBaseFL.dbo.RICODIF_CF_PIVA +-- SET Base = 0 +-- FROM [CONSEVO].ConsulenzaBaseFL.dbo.RICODIF_CF_PIVA a +-- INNER JOIN C6Mart.Gestione_PDF_FTP b +-- ON a.CF_OLD = b.CodiceFiscale +-- WHERE +-- Base is null +-- +-- UPDATE [CONSEVO].ConsulenzaBaseFL.dbo.RICODIF_CF_PIVA +-- SET Base = 1 +-- WHERE +-- Base is null + + + DECLARE Ricodifica_cursor CURSOR FOR + +-- SELECT Vecchio, Nuovo FROM dbo.RicodificaMassiva +-- WHERE DataOperazione > @UltimaData + + SELECT CF_OLD, CF_NEW, DTINSERIMENTO from RICODIF_CF_PIVA + ORDER BY DTINSERIMENTO + + OPEN Ricodifica_cursor + + FETCH NEXT FROM Ricodifica_cursor + INTO @Vecchio, @Nuovo, @DataIns + + WHILE @@FETCH_STATUS = 0 + BEGIN + + + select @isCodfis=dbo.RegExIsMatch ( '\D' , @Nuovo , 1 ) + + EXEC dbo.srv_change_codfiscale @Nuovo, @Vecchio , @isCodFis , @retcodErr=@CodErr output + + + if @CodErr = 0 + begin + UPDATE [CONSEVO].ConsulenzaBaseFL.dbo.RICODIF_CF_PIVA + SET RicodificatoContratto6 = 1 + WHERE + CF_OLD = @Vecchio + AND + CF_NEW = @Nuovo + AND + DTINSERIMENTO = @DataIns + AND + RicodificatoContratto6 is null + + end + else + begin + select @CodErr, 'Errore ' + set @contErr=@contErr+1; + end + FETCH NEXT FROM Ricodifica_cursor + INTO @Vecchio, @Nuovo, @DataIns + + + END + + CLOSE Ricodifica_cursor + DEALLOCATE Ricodifica_cursor + + select @contErr +-- UPDATE [CONSEVO].ConsulenzaBaseFL.dbo.RICODIF_CF_PIVA +-- SET RicodificatoContratto6 = 0 +-- WHERE +-- RicodificatoContratto6 is null + +END + + + diff --git a/sql/storedCollaudo/dbo_srv_change_codfiscaleMassiva_CU.sql b/sql/storedCollaudo/dbo_srv_change_codfiscaleMassiva_CU.sql new file mode 100644 index 00000000..f63786f4 --- /dev/null +++ b/sql/storedCollaudo/dbo_srv_change_codfiscaleMassiva_CU.sql @@ -0,0 +1,89 @@ +-- Schema: dbo +-- Stored Procedure: srv_change_codfiscaleMassiva_CU + + + + + + + +-- ============================================= +-- Author: Atzeri Emanuele +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[srv_change_codfiscaleMassiva_CU] + +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + + DECLARE @Vecchio varchar(16) + DECLARE @Nuovo varchar(16) + DECLARE @DataIns datetime + DECLARE @isCodFis int + + Declare @contErr int + Declare @CodErr int + Declare @retDescErr varchar(500) + + set @CodErr= 1 + set @contErr= 0 + DECLARE Ricodifica_cursor CURSOR FOR + + SELECT CF_OLD, CF_NEW, DTINSERIMENTO from RICODIF_CF_PIVA_CU + ORDER BY DTINSERIMENTO + + OPEN Ricodifica_cursor + + FETCH NEXT FROM Ricodifica_cursor + INTO @Vecchio, @Nuovo, @DataIns + + WHILE @@FETCH_STATUS = 0 + BEGIN + + select @isCodfis=dbo.RegExIsMatch ( '\D' , @Nuovo , 1 ) + + EXEC dbo.srv_change_codfiscale_CU @Nuovo, @Vecchio , @isCodFis , @retcodErr=@CodErr output + + + if @CodErr = 0 + begin + UPDATE [CONSUNI].ConsulenzaUnicaFL.dbo.RICODIF_CF_PIVA + SET RicodificatoContratto6 = 1 + WHERE + CF_OLD = @Vecchio + AND + CF_NEW = @Nuovo + AND + DTINSERIMENTO = @DataIns + AND + RicodificatoContratto6 is null + + end + else + begin + select @CodErr, 'Errore ' + set @contErr=@contErr+1; + end + FETCH NEXT FROM Ricodifica_cursor + INTO @Vecchio, @Nuovo, @DataIns + + + END + + CLOSE Ricodifica_cursor + DEALLOCATE Ricodifica_cursor + + select @contErr as 'result' + return @contErr + +END + + + + + + + diff --git a/sql/storedCollaudo/dbo_srv_change_codfiscaleMassiva_CU_SEIReport.sql b/sql/storedCollaudo/dbo_srv_change_codfiscaleMassiva_CU_SEIReport.sql new file mode 100644 index 00000000..cd0662fe --- /dev/null +++ b/sql/storedCollaudo/dbo_srv_change_codfiscaleMassiva_CU_SEIReport.sql @@ -0,0 +1,47 @@ +-- Schema: dbo +-- Stored Procedure: srv_change_codfiscaleMassiva_CU_SEIReport + + +-- D_DTSX 20180511 +-- Esegue l'allineamento sulla SEIReport. +-- Sostituisce la srv_change_codfiscaleMassiva_CU della SEIReport, per poter eseguire l'allineamento direttamente dalla 203. +-- Richiama la nuova stored procedure sp_change_codfiscale_SEIReport, che sostituisce la sp_change_codfiscale su SEIReport. + +CREATE PROCEDURE [dbo].[srv_change_codfiscaleMassiva_CU_SEIReport] +AS +BEGIN + + DECLARE @Vecchio varchar(16) + DECLARE @Nuovo varchar(16) + --DECLARE @UltimaData varchar(8) + + --SELECT @UltimaData = MAX(convert(varchar(8), DataOperazione, 112)) FROM [10.10.32.203].C6StampeCentralizzate.dbo.RicodificaMassiva + + DECLARE Ricodifica_cursor CURSOR FOR + +-- SELECT Vecchio, Nuovo FROM [10.10.32.203].C6StampeCentralizzate.dbo.RicodificaMassiva +-- WHERE DataOperazione > @UltimaData + + SELECT CF_OLD, CF_NEW FROM RICODIF_CF_PIVA_CU + ORDER BY DTINSERIMENTO + + OPEN Ricodifica_cursor + + FETCH NEXT FROM Ricodifica_cursor + INTO @Vecchio, @Nuovo + + WHILE @@FETCH_STATUS = 0 + BEGIN + + EXEC dbo.[sp_change_codfiscale_SEIReport] @Nuovo, @Vecchio + + FETCH NEXT FROM Ricodifica_cursor + INTO @Vecchio, @Nuovo + + END + + CLOSE Ricodifica_cursor + DEALLOCATE Ricodifica_cursor + +END + diff --git a/sql/storedCollaudo/dbo_srv_change_codfiscale_20161114.sql b/sql/storedCollaudo/dbo_srv_change_codfiscale_20161114.sql new file mode 100644 index 00000000..f50a7597 --- /dev/null +++ b/sql/storedCollaudo/dbo_srv_change_codfiscale_20161114.sql @@ -0,0 +1,159 @@ +-- Schema: dbo +-- Stored Procedure: srv_change_codfiscale_20161114 + + + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- RSIMLS46A45B670G RSIMLS46A46B670I +-- RMNVLM40L50H027T RMNWLM40L50H027U +--srv_change_codfiscale 'BRGPNG47C50F382V','FRNNLN53D59A757M',1 +--srv_change_codfiscale '04920830827','04020830827','0',0 +CREATE PROCEDURE [dbo].[srv_change_codfiscale_20161114] + -- Add the parameters for the stored procedure here + @nuovo varchar(16), + @vecchio varchar(16) + --FC 03/10/2014 + --Aggiunto Parametro gestione CF o P.I. + -- 1 = CF + -- 0 =P.I. + ,@isCodFis int + ,@retcodErr int output +AS +BEGIN + + --SET NOCOUNT ON; +--toDo FC +begin try +-- begin transaction update_cf + +--------GIORNALIERO--------------------------------------------- + +-- update C6Mart.CONTRATTOSEI +-- set Cod_Fiscale = @nuovo +-- where Cod_Fiscale = @vecchio + + update C6Mart.GESTIONE_PDF_FTP + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + + update c6Mart.gestione_email + set cod_fiscale = @nuovo + where cod_fiscale = @vecchio + +--------TRIMESTRALE--------------------------------------------- + + update C6StagingPeriodico.ContrattiPretrimestrale + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6StagingPeriodico.APPO_CONTRATTI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6MartPeriodico.CONTRATTOSEI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6MartPeriodico.ANAG_CLIENTI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6MartPeriodico.controllo_trimestrale + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6MartPeriodico.GESTIONE_PDF_FTP + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + + + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + +-- Sul Sei tabella Cliente il CF diviso per categoria P.I.V.A. o Cod. Fiscale + IF @isCodFis = 1 + Update C6STAGINGPERIODICO.RP_InfoCliente + set codfis =@nuovo + where codfis = @vecchio + + IF @isCodFis = 0 + Update C6STAGINGPERIODICO.RP_InfoCliente + set piva =@nuovo + where piva = @vecchio + +-- Sul Sei tabella Cliente il CF diviso per categoria P.I.V.A. o Cod. Fiscale + IF @isCodFis = 1 + Update [CONSEVO_PERIODICO].ConsulenzaBase.dbo.Cliente + set codfis =@nuovo + where codfis = @vecchio + + IF @isCodFis = 0 + Update [CONSEVO_PERIODICO].ConsulenzaBase.dbo.Cliente + set piva = @nuovo + where piva = @vecchio + + + + + +--EXEC [VMBFDSREPSEI01\I1].[seireport].dbo.sp_change_codfiscale @NUOVO,@VECCHIO +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.Cliente +-- set codEsterno = @nuovo, +-- codFiscale = @nuovo +-- where codEsterno = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.C6ReportFisico +-- set cliente = @nuovo +-- where cliente = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.C6ReportFisico_CAMPAGNA +-- set cliente = @nuovo +-- where cliente = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.LogFilePDF +-- set codicefiscale= @nuovo +-- where codicefiscale= @vecchio + +--toFC +--commit transaction update_cf +select @retcodErr=0 +--select * from C6Mart.gestione_email where cod_fiscale='VGNLSI31D47D526G' +--select * from C6Mart.CONTRATTOSEI where cod_fiscale=@nuovo + +--toFC +end try +begin catch +-- --print('errore') +-- select 'CF : '+@nuovo CodFiscale,@@error codErr,ERROR_MESSAGE() errMss + --rollback transaction update_cf + select @retcodErr=-1 + +end catch + +END + + + + + + + + + + + + diff --git a/sql/storedCollaudo/dbo_srv_change_codfiscale_20161114_OLwhenQready.sql b/sql/storedCollaudo/dbo_srv_change_codfiscale_20161114_OLwhenQready.sql new file mode 100644 index 00000000..143806c6 --- /dev/null +++ b/sql/storedCollaudo/dbo_srv_change_codfiscale_20161114_OLwhenQready.sql @@ -0,0 +1,161 @@ +-- Schema: dbo +-- Stored Procedure: srv_change_codfiscale_20161114_OLwhenQready + + + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- RSIMLS46A45B670G RSIMLS46A46B670I +-- RMNVLM40L50H027T RMNWLM40L50H027U +--srv_change_codfiscale 'BRGPNG47C50F382V','FRNNLN53D59A757M',1 +--srv_change_codfiscale '04920830827','04020830827','0',0 +CREATE procedure [dbo].[srv_change_codfiscale_20161114_OLwhenQready] + -- Add the parameters for the stored procedure here + @nuovo varchar(16), + @vecchio varchar(16) + --FC 03/10/2014 + --Aggiunto Parametro gestione CF o P.I. + -- 1 = CF + -- 0 =P.I. + ,@isCodFis int + ,@retcodErr int output +AS +BEGIN + + --SET NOCOUNT ON; +--toDo FC +begin try +-- begin transaction update_cf + +--------GIORNALIERO--------------------------------------------- + +-- update C6Mart.CONTRATTOSEI +-- set Cod_Fiscale = @nuovo +-- where Cod_Fiscale = @vecchio + + update C6Mart.GESTIONE_PDF_FTP + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + + update c6Mart.gestione_email + set cod_fiscale = @nuovo + where cod_fiscale = @vecchio + +--------TRIMESTRALE--------------------------------------------- + + update C6StagingPeriodico.ContrattiPretrimestrale + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6StagingPeriodico.APPO_CONTRATTI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6MartPeriodico.CONTRATTOSEI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6MartPeriodico.ANAG_CLIENTI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6MartPeriodico.controllo_trimestrale + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6MartPeriodico.GESTIONE_PDF_FTP + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + + + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + +-- Sul Sei tabella Cliente il CF diviso per categoria P.I.V.A. o Cod. Fiscale + IF @isCodFis = 1 + Update C6STAGINGPERIODICO.RP_InfoCliente + set codfis =@nuovo + where codfis = @vecchio + + IF @isCodFis = 0 + Update C6STAGINGPERIODICO.RP_InfoCliente + set piva =@nuovo + where piva = @vecchio + +-- Sul Sei tabella Cliente il CF diviso per categoria P.I.V.A. o Cod. Fiscale +--en20161114 update done in specific SP for Quarterly + ----IF @isCodFis = 1 + ----Update [CONSEVO_PERIODICO].ConsulenzaBase.dbo.Cliente + ----set codfis =@nuovo + ----where codfis = @vecchio + + ----IF @isCodFis = 0 + ----Update [CONSEVO_PERIODICO].ConsulenzaBase.dbo.Cliente + ----set piva = @nuovo + ----where piva = @vecchio + + + + + +--EXEC [VMBFDSREPSEI01\I1].[seireport].dbo.sp_change_codfiscale @NUOVO,@VECCHIO +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.Cliente +-- set codEsterno = @nuovo, +-- codFiscale = @nuovo +-- where codEsterno = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.C6ReportFisico +-- set cliente = @nuovo +-- where cliente = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.C6ReportFisico_CAMPAGNA +-- set cliente = @nuovo +-- where cliente = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.LogFilePDF +-- set codicefiscale= @nuovo +-- where codicefiscale= @vecchio + +--toFC +--commit transaction update_cf +select @retcodErr=0 +--select * from C6Mart.gestione_email where cod_fiscale='VGNLSI31D47D526G' +--select * from C6Mart.CONTRATTOSEI where cod_fiscale=@nuovo + +--toFC +end try +begin catch +-- --print('errore') +-- select 'CF : '+@nuovo CodFiscale,@@error codErr,ERROR_MESSAGE() errMss + --rollback transaction update_cf + select @retcodErr=-1 + +end catch + +END + + + + + + + + + + + + + diff --git a/sql/storedCollaudo/dbo_srv_change_codfiscale_CU.sql b/sql/storedCollaudo/dbo_srv_change_codfiscale_CU.sql new file mode 100644 index 00000000..dd23b281 --- /dev/null +++ b/sql/storedCollaudo/dbo_srv_change_codfiscale_CU.sql @@ -0,0 +1,161 @@ +-- Schema: dbo +-- Stored Procedure: srv_change_codfiscale_CU + + + + + + + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- RSIMLS46A45B670G RSIMLS46A46B670I +-- RMNVLM40L50H027T RMNWLM40L50H027U +--[dbo].[srv_change_codfiscale_CU] 'BRGPNG47C50F382V','FRNNLN53D59A757M',1 +--[dbo].[srv_change_codfiscale_CU] '04920830827','04020830827','0',0 +CREATE procedure [dbo].[srv_change_codfiscale_CU] + -- Add the parameters for the stored procedure here + @nuovo varchar(16), + @vecchio varchar(16) + --FC 03/10/2014 + --Aggiunto Parametro gestione CF o P.I. + -- 1 = CF + -- 0 =P.I. + ,@isCodFis int + ,@retcodErr int output +AS +BEGIN + + --SET NOCOUNT ON; +--toDo FC +begin try +-- begin transaction update_cf + +--------GIORNALIERO--------------------------------------------- + +-- update C6Mart.CONTRATTOSEI +-- set Cod_Fiscale = @nuovo +-- where Cod_Fiscale = @vecchio + + update C6Mart.GESTIONE_PDF_FTP + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + + update c6Mart.gestione_email + set cod_fiscale = @nuovo + where cod_fiscale = @vecchio + +--------TRIMESTRALE--------------------------------------------- + + update C6StagingPeriodico.ContrattiPretrimestrale + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6StagingPeriodico.APPO_CONTRATTI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6MartPeriodico.CONTRATTOSEI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6MartPeriodico.ANAG_CLIENTI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6MartPeriodico.controllo_trimestrale + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6MartPeriodico.GESTIONE_PDF_FTP + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + + + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + + update [C6StagingPeriodico].[Popola_PiramideModello] + set cod_fiscale = @nuovo + where cod_fiscale = @vecchio + --aggiunta 11/07/2022 per app Rendicontazione + update C6MartPeriodico.tabellone + set chiave_acn=rete_acn+@nuovo, codfis=@nuovo + where codfis=@vecchio + + update C6MartPeriodico.tabellone + set codice_fiscale=@nuovo + where codice_fiscale=@vecchio + + update C6StagingPeriodico.datiROL2 + set CODFIS=@nuovo + where CODFIS=@vecchio + --fine aggiunta + +-- Sul Sei tabella Cliente il CF diviso per categoria P.I.V.A. o Cod. Fiscale + IF @isCodFis = 1 + Update C6STAGINGPERIODICO.RP_InfoCliente + set codfis =@nuovo + where codfis = @vecchio + + IF @isCodFis = 0 + Update C6STAGINGPERIODICO.RP_InfoCliente + set piva =@nuovo + where piva = @vecchio + +-- Sul Sei tabella Cliente il CF diviso per categoria P.I.V.A. o Cod. Fiscale + IF @isCodFis = 1 + Update [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.Cliente + set codfis =@nuovo + where codfis = @vecchio + + IF @isCodFis = 0 + Update [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.Cliente + set piva = @nuovo + where piva = @vecchio + +--toFC +--commit transaction update_cf +select @retcodErr=0 +--select * from C6Mart.gestione_email where cod_fiscale='VGNLSI31D47D526G' +--select * from C6Mart.CONTRATTOSEI where cod_fiscale=@nuovo + +--toFC +end try +begin catch +-- --print('errore') +-- select 'CF : '+@nuovo CodFiscale,@@error codErr,ERROR_MESSAGE() errMss + --rollback transaction update_cf + select @retcodErr=-1 + +end catch + +END + + + + + + + + + + + + + + + diff --git a/sql/storedCollaudo/dbo_srv_change_codfiscale_mod.sql b/sql/storedCollaudo/dbo_srv_change_codfiscale_mod.sql new file mode 100644 index 00000000..833f6b08 --- /dev/null +++ b/sql/storedCollaudo/dbo_srv_change_codfiscale_mod.sql @@ -0,0 +1,154 @@ +-- Schema: dbo +-- Stored Procedure: srv_change_codfiscale_mod + + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- RSIMLS46A45B670G RSIMLS46A46B670I +-- RMNVLM40L50H027T RMNWLM40L50H027U +--srv_change_codfiscale 'BRGPNG47C50F382V','FRNNLN53D59A757M',1 +--srv_change_codfiscale '04920830827','04020830827','0',0 +CREATE PROCEDURE [dbo].[srv_change_codfiscale_mod] + -- Add the parameters for the stored procedure here + @nuovo varchar(16), + @vecchio varchar(16) + --FC 03/10/2014 + --Aggiunto Parametro gestione CF o P.I. + -- 1 = CF + -- 0 =P.I. + ,@isCodFis int + ,@retcodErr int output +AS +BEGIN + + --SET NOCOUNT ON; +--toDo FC +begin try +-- begin transaction update_cf + +--------GIORNALIERO--------------------------------------------- + +-- update C6Mart.CONTRATTOSEI +-- set Cod_Fiscale = @nuovo +-- where Cod_Fiscale = @vecchio + + update C6Mart.GESTIONE_PDF_FTP + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + + update c6Mart.gestione_email + set cod_fiscale = @nuovo + where cod_fiscale = @vecchio + +--------TRIMESTRALE--------------------------------------------- + + update C6StagingPeriodico.ContrattiPretrimestrale + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6StagingPeriodico.APPO_CONTRATTI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6MartPeriodico.CONTRATTOSEI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6MartPeriodico.ANAG_CLIENTI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6MartPeriodico.controllo_trimestrale + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + + update C6MartPeriodico.GESTIONE_PDF_FTP + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + + + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + +-- Sul Sei tabella Cliente il CF diviso per categoria P.I.V.A. o Cod. Fiscale + IF @isCodFis = 1 + Update C6STAGINGPERIODICO.RP_InfoCliente + set codfis =@nuovo + where codfis = @vecchio + + IF @isCodFis = 0 + Update C6STAGINGPERIODICO.RP_InfoCliente + set piva =@nuovo + where piva = @vecchio + +-- Sul Sei tabella Cliente il CF diviso per categoria P.I.V.A. o Cod. Fiscale + IF @isCodFis = 1 + Update [CONSEVO_PERIODICO].ConsulenzaBase.dbo.Cliente + set codfis =@nuovo + where codfis = @vecchio + + IF @isCodFis = 0 + Update [CONSEVO_PERIODICO].ConsulenzaBase.dbo.Cliente + set piva = @nuovo + where piva = @vecchio + + +--EXEC [VMBFDSREPSEI01\I1].[seireport].dbo.sp_change_codfiscale @NUOVO,@VECCHIO +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.Cliente +-- set codEsterno = @nuovo, +-- codFiscale = @nuovo +-- where codEsterno = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.C6ReportFisico +-- set cliente = @nuovo +-- where cliente = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.C6ReportFisico_CAMPAGNA +-- set cliente = @nuovo +-- where cliente = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.LogFilePDF +-- set codicefiscale= @nuovo +-- where codicefiscale= @vecchio + +--toFC +--commit transaction update_cf +select @retcodErr=0 +--select * from C6Mart.gestione_email where cod_fiscale='VGNLSI31D47D526G' +--select * from C6Mart.CONTRATTOSEI where cod_fiscale=@nuovo + +--toFC +end try +begin catch +-- --print('errore') +select 'CF : '+@nuovo CodFiscale,@@error codErr,ERROR_MESSAGE() errMss + --rollback transaction update_cf + select @retcodErr=-1 + +end catch + +END + + + + + + + + + + + diff --git a/sql/storedCollaudo/dbo_srv_change_rete_CU.sql b/sql/storedCollaudo/dbo_srv_change_rete_CU.sql new file mode 100644 index 00000000..c3947711 --- /dev/null +++ b/sql/storedCollaudo/dbo_srv_change_rete_CU.sql @@ -0,0 +1,133 @@ +-- Schema: dbo +-- Stored Procedure: srv_change_rete_CU + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[srv_change_rete_CU] + -- Add the parameters for the stored procedure here + @nuovaRete varchar(1), + @vecchiaRete varchar(1), + @CF varchar(16), + --FC 03/10/2014 + --Aggiunto Parametro gestione CF o P.I. + -- 1 = CF + -- 0 =P.I. + -- 2 =CodMan Fiduciarie + @isCodFis int + ,@retcodErr int output +AS +BEGIN + + --SET NOCOUNT ON; +--toDo FC +begin try +-- begin transaction update_cf + +--------GIORNALIERO--------------------------------------------- + +-- update C6Mart.CONTRATTOSEI +-- set Cod_Fiscale = @nuovo +-- where Cod_Fiscale = @vecchio + + update C6Mart.GESTIONE_PDF_FTP + set rete = @nuovaRete + where CodiceFiscale = @CF and Rete=@vecchiaRete + + + + update c6Mart.gestione_email + set rete = @nuovaRete + where Cod_Fiscale = @CF and Rete=@vecchiaRete + +--------TRIMESTRALE--------------------------------------------- + + update C6StagingPeriodico.ContrattiPretrimestrale + set rete = @nuovaRete + where Cod_Fiscale = @CF and Rete=@vecchiaRete + + update C6StagingPeriodico.APPO_CONTRATTI + set rete = @nuovaRete + where Cod_Fiscale = @CF and Rete=@vecchiaRete + + update C6MartPeriodico.CONTRATTOSEI + set rete = @nuovaRete + where Cod_Fiscale = @CF and Rete=@vecchiaRete + + update C6MartPeriodico.ANAG_CLIENTI + set rete = @nuovaRete + where Cod_Fiscale = @CF and Rete=@vecchiaRete + + update C6MartPeriodico.controllo_trimestrale + set rete = @nuovaRete + where Cod_Fiscale = @CF and Rete=@vecchiaRete + + update C6MartPeriodico.GESTIONE_PDF_FTP + set rete = @nuovaRete + where CodiceFiscale = @CF and Rete=@vecchiaRete + + + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set rete = @nuovaRete + where CodiceFiscale = @CF and Rete=@vecchiaRete + + update [C6StagingPeriodico].[Popola_PiramideModello] + set rete = @nuovaRete + where Cod_Fiscale = @CF and Rete=@vecchiaRete + +-- Sul Sei tabella Cliente il CF diviso per categoria P.I.V.A., Cod. Fiscale o CodMan per Fiduciarie + IF @isCodFis = 1 + Update C6STAGINGPERIODICO.RP_InfoCliente + set rete = @nuovaRete + where CodFis = @CF and Rete=@vecchiaRete + + IF @isCodFis = 0 + Update C6STAGINGPERIODICO.RP_InfoCliente + set rete = @nuovaRete + where piva = @CF and Rete=@vecchiaRete + + IF @isCodFis = 2 + Update C6STAGINGPERIODICO.RP_InfoCliente + set rete = @nuovaRete + where CodMan = @CF and Rete=@vecchiaRete + + + +--toFC +--commit transaction update_cf +select @retcodErr=0 +--select * from C6Mart.gestione_email where cod_fiscale='VGNLSI31D47D526G' +--select * from C6Mart.CONTRATTOSEI where cod_fiscale=@nuovo + +--toFC +end try +begin catch +-- --print('errore') +-- select 'CF : '+@nuovo CodFiscale,@@error codErr,ERROR_MESSAGE() errMss + --rollback transaction update_cf + select @retcodErr=-1 + +end catch + +END + + + + + + + + + + + + + + + diff --git a/sql/storedCollaudo/dbo_test_S80All_fc.sql b/sql/storedCollaudo/dbo_test_S80All_fc.sql new file mode 100644 index 00000000..958c44bd --- /dev/null +++ b/sql/storedCollaudo/dbo_test_S80All_fc.sql @@ -0,0 +1,157 @@ +-- Schema: dbo +-- Stored Procedure: test_S80All_fc + +CREATE procedure [dbo].[test_S80All_fc] +AS +BEGIN +/* + Purpose: Calculate the total quantity and sales of the product in + product wise. + Input : No input specified. It will calculate for all the products + in Product Master table. + Output : ProductID,ProductName,Total Quantity and Grand Total of + sale. + Method : The report generated without using the Cursor + +----------------------------------------------------------------------- +********************* Modification History ************************* +----------------------------------------------------------------------- +S.No Name Date Version +----------------------------------------------------------------------- +1. Erode Senthilkumar Sep 01, 2009 1.0 +----------------------------------------------------------------------- +*/ + SET NOCOUNT ON + SET XACT_ABORT ON + + DECLARE @ProductID INT + DECLARE @ProductName VARCHAR(100) + DECLARE @TotalQty INT + DECLARE @Total MONEY + DECLARE @Index INT + DECLARE @RecordCnt INT + + DECLARE @tab TABLE( + id INT IDENTITY(1,1) + ,rete char(1) + ,codicefiscale varchar(16) + ,totCC int + ,totNoCC int + ) + DECLARE @testTab TABLE + ( + id INT IDENTITY(1,1) + ,rete char(1) + ,codicefiscale VARCHAR(100) + ,CountCC INT + ,CountNoCC int + ) + DECLARE @Rete char(1) + DECLARE @CodiceFiscale varchar(16) + + + + -- Recupero data congelamento SEI + DECLARE @MONIT_INIT INT + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + DECLARE @AGGR INT + declare @contaCC as int + declare @contapos as int + + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + + + + SELECT @Index = 1 + + INSERT INTO @tab(rete,codicefiscale,totCC,totNoCC) + select rete,cod_fiscale + ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc + ,sum ( case when tipo_prodotto <>'CC' then tot else 0 end ) as nocc + from + ( select rete,cod_fiscale,tipo_prodotto,count(*) tot + from c6martperiodico.patrimonio_Bf + --where cod_fiscale = @codiceFiscale and rete = @rete + group by rete,cod_fiscale,tipo_prodotto + ) as gr + group by rete,cod_fiscale + + + SELECT @RecordCnt = COUNT(id) FROM @tab + + WHILE (@Index <= @RecordCnt) + BEGIN + SELECT @rete=rete + ,@codicefiscale=codicefiscale + ,@contacc=totCC + ,@contapos=totNoCC + FROM @tab WHERE id = @Index + + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + SELECT @AGGR=COUNT(*) + FROM + C6MARTPERIODICO.RISCHIO_AGGREGATO + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + + + IF (@MONIT_ATTIV > 0 AND @AGGR > 0 AND @MONIT_INIT > 0) + + + BEGIN + + + + + -- Attivazione monitoraggio + +-- nuova versione da testare +insert into c6martperiodico.tb_S80BisEvoluzioneRischio + SELECT + @rete, + @codicefiscale, + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO + ELSE ROUND(INI.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + INI.VAR_COPERTURA AS Copertura, + INI.RISKCLASS, + INI.RISKCLASSMAX, + case + when INI.RISKCLASS is null then 'n.d.' + when INI.RISKCLASS = 0 then 'n.a.' + else null + end as RiskClassString, + + case + when INI.RISKCLASSMAX is null then 'n.d.' + when INI.RISKCLASSMAX = 0 then 'n.a.' + else null + end as RiskClassMaxString + + + + FROM + C6MartPeriodi diff --git a/sql/storedCollaudo/dbo_test_compl_testo_sezione_adeg_obsoleta.sql b/sql/storedCollaudo/dbo_test_compl_testo_sezione_adeg_obsoleta.sql new file mode 100644 index 00000000..08eded4f --- /dev/null +++ b/sql/storedCollaudo/dbo_test_compl_testo_sezione_adeg_obsoleta.sql @@ -0,0 +1,26 @@ +-- Schema: dbo +-- Stored Procedure: test_compl_testo_sezione_adeg_obsoleta + + +-- [dbo].[test_compl_testo_sezione_adeg] 'S', 'BNOSDR61T03F205W' --ok ok +-- [dbo].[test_compl_testo_sezione_adeg] 'F', 'BBOLLN35H65Z110L' --nok nok +CREATE procedure [dbo].[test_compl_testo_sezione_adeg_obsoleta] + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +SELECT TESTO_NOTA + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN_TEST_COMPLESSITA] ancmpl + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] adeg + ON [adeg].[complessita] = [ancmpl].[CLCOMPL] + and [adeg].[concentrazione] = [ancmpl].[FLGCONC] + where rete = @Rete and codfis = @CodiceFiscale + and DTTRIM='20151231' +--'Tutti gli strumenti finanziari nel suo portafoglio risultano avere una complessit coerente con il suo livello di esperienza e conoscenza risultante dal questionario di profilatura' + +END + + + diff --git a/sql/storedCollaudo/dbo_test_fc.sql b/sql/storedCollaudo/dbo_test_fc.sql new file mode 100644 index 00000000..37feb954 --- /dev/null +++ b/sql/storedCollaudo/dbo_test_fc.sql @@ -0,0 +1,14 @@ +-- Schema: dbo +-- Stored Procedure: test_fc + +CREATE procedure [dbo].[test_fc] + @Rete char(1), + @CodiceFiscale varchar(16) + +AS +BEGIN + +select @rete,@codicefiscale + +End + diff --git a/sql/storedCollaudo/dbo_usp_ExportImage.sql b/sql/storedCollaudo/dbo_usp_ExportImage.sql new file mode 100644 index 00000000..0aa2a988 --- /dev/null +++ b/sql/storedCollaudo/dbo_usp_ExportImage.sql @@ -0,0 +1,45 @@ +-- Schema: dbo +-- Stored Procedure: usp_ExportImage + + +CREATE PROCEDURE [dbo].[usp_ExportImage] ( + @PicName NVARCHAR (100) + ,@ImageFolderPath NVARCHAR(1000) + ,@Filename NVARCHAR(1000) + ) +AS +BEGIN + DECLARE @ImageData VARBINARY (max); + DECLARE @Path2OutFile NVARCHAR (2000); + DECLARE @Obj INT + + SET NOCOUNT ON + + SELECT @ImageData = ( + SELECT convert (VARBINARY (max), PictureData, 1) + FROM Pictures + WHERE pictureName = @PicName + ); + + SET @Path2OutFile = CONCAT ( + @ImageFolderPath + ,'\' + , @Filename + ); + BEGIN TRY + EXEC sp_OACreate 'ADODB.Stream' ,@Obj OUTPUT; + EXEC sp_OASetProperty @Obj ,'Type',1; + EXEC sp_OAMethod @Obj,'Open'; + EXEC sp_OAMethod @Obj,'Write', NULL, @ImageData; + EXEC sp_OAMethod @Obj,'SaveToFile', NULL, @Path2OutFile, 2; + EXEC sp_OAMethod @Obj,'Close'; + EXEC sp_OADestroy @Obj; + END TRY + + BEGIN CATCH + EXEC sp_OADestroy @Obj; + END CATCH + + SET NOCOUNT OFF +END + diff --git a/sql/storedCollaudo/dbo_usp_ImportImage.sql b/sql/storedCollaudo/dbo_usp_ImportImage.sql new file mode 100644 index 00000000..2171692e --- /dev/null +++ b/sql/storedCollaudo/dbo_usp_ImportImage.sql @@ -0,0 +1,25 @@ +-- Schema: dbo +-- Stored Procedure: usp_ImportImage + +CREATE PROCEDURE dbo.usp_ImportImage ( + @PicName NVARCHAR (100) + , @ImageFolderPath NVARCHAR (1000) + , @Filename NVARCHAR (1000) + ) +AS +BEGIN + DECLARE @Path2OutFile NVARCHAR (2000); + DECLARE @tsql NVARCHAR (2000); + SET NOCOUNT ON + SET @Path2OutFile = CONCAT ( + @ImageFolderPath + ,'\' + , @Filename + ); + SET @tsql = 'insert into Pictures (pictureName, picFileName, PictureData) ' + + ' SELECT ' + '''' + @PicName + '''' + ',' + '''' + @Filename + '''' + ', * ' + + 'FROM Openrowset( Bulk ' + '''' + @Path2OutFile + '''' + ', Single_Blob) as img' + EXEC (@tsql) + SET NOCOUNT OFF +END + diff --git a/sql/storedCollaudo/dbo_vinfocliente.sql b/sql/storedCollaudo/dbo_vinfocliente.sql new file mode 100644 index 00000000..07650887 --- /dev/null +++ b/sql/storedCollaudo/dbo_vinfocliente.sql @@ -0,0 +1,34 @@ +-- Schema: dbo +-- Stored Procedure: vinfocliente + + + + + + +--[CERCA] '%COD%','P','c6martperiodico' +CREATE procedure [dbo].[vinfocliente] + @cf VARCHAR(16) + + +AS +BEGIN + + SELECT * + FROM consuni.consulenzaunica.dbo.vinfocliente + WHERE codfis = @cf or piva=@cf or codman=SUBSTRING(@cf,4,len(@cf)) or codicecontratto=@cf + + SELECT chiaveclientepb,codicecontratto + into #chpb + FROM consuni.consulenzaunica.dbo.vinfocliente + WHERE codfis = @cf or piva=@cf or codman=SUBSTRING(@cf,4,len(@cf)) or codicecontratto=@cf + +select * from consuni.consulenzaunica.dbo.contratto where chiaveclientepb in (SELECT chiaveclientepb + from #chpb) + + SELECT * + FROM consuni.consulenzaunicafl.dbo.cbs_histdatiingresso where trcom_codconf in (SELECT codicecontratto + from #chpb) order by 1 desc + +END + diff --git a/sql/storedCollaudo/level2martperiodico_DM_PatrimonioBFAggregato.sql b/sql/storedCollaudo/level2martperiodico_DM_PatrimonioBFAggregato.sql new file mode 100644 index 00000000..57c51a5c --- /dev/null +++ b/sql/storedCollaudo/level2martperiodico_DM_PatrimonioBFAggregato.sql @@ -0,0 +1,28 @@ +-- Schema: level2martperiodico +-- Stored Procedure: DM_PatrimonioBFAggregato + +CREATE procedure [level2martperiodico].[DM_PatrimonioBFAggregato] + +AS + +truncate table [level2martperiodico].[PatrimonioBFAggregato] + +insert into [level2martperiodico].[PatrimonioBFAggregato] + +SELECT PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE, + SUM(CTV) as CTV, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as PatrimonioNonAssociato, + sum(case Upper(id_area) when 'CC' then ctv else 0 end ) as ContoCorrente, + sum(case Upper(id_area) when 'CC' then 0 else ctv end ) as PatrimonioSenzaCC, + --MAX((isnull(PART_VIAGG.PARTVIA_INV,0))) as PartiteViaggiantiInv, + sum((isnull([C6MartPeriodico].PATRIMONIO_BF.PARTVIA_DISINV,0))) as PartiteViaggiantiDisinv + + +FROM [C6MartPeriodico].PATRIMONIO_BF + +GROUP BY PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + + + + + diff --git a/sql/storedCollaudo/level2martperiodico_DM_PatrimonioBFAggregato_pre_selective.sql b/sql/storedCollaudo/level2martperiodico_DM_PatrimonioBFAggregato_pre_selective.sql new file mode 100644 index 00000000..dc8f8ba5 --- /dev/null +++ b/sql/storedCollaudo/level2martperiodico_DM_PatrimonioBFAggregato_pre_selective.sql @@ -0,0 +1,28 @@ +-- Schema: level2martperiodico +-- Stored Procedure: DM_PatrimonioBFAggregato_pre_selective + +CREATE procedure [level2martperiodico].[DM_PatrimonioBFAggregato_pre_selective] + +AS + +truncate table [level2martperiodico].[PatrimonioBFAggregato] + +insert into [level2martperiodico].[PatrimonioBFAggregato] + +SELECT PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE, + SUM(CTV) as CTV, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as PatrimonioNonAssociato, + sum(case Upper(id_area) when 'CC' then ctv else 0 end ) as ContoCorrente, + sum(case Upper(id_area) when 'CC' then 0 else ctv end ) as PatrimonioSenzaCC, + --MAX((isnull(PART_VIAGG.PARTVIA_INV,0))) as PartiteViaggiantiInv, + sum((isnull([C6MartPeriodico].PATRIMONIO_BF.PARTVIA_DISINV,0))) as PartiteViaggiantiDisinv + + +FROM [C6MartPeriodico].PATRIMONIO_BF + +GROUP BY PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + + + + + diff --git a/sql/storedCollaudo/level2martperiodico_DM_PatrimonioNonRappresentabileAsset.sql b/sql/storedCollaudo/level2martperiodico_DM_PatrimonioNonRappresentabileAsset.sql new file mode 100644 index 00000000..b8f61116 --- /dev/null +++ b/sql/storedCollaudo/level2martperiodico_DM_PatrimonioNonRappresentabileAsset.sql @@ -0,0 +1,95 @@ +-- Schema: level2martperiodico +-- Stored Procedure: DM_PatrimonioNonRappresentabileAsset + +CREATE procedure [level2martperiodico].[DM_PatrimonioNonRappresentabileAsset] +AS + +truncate table [level2martperiodico].[PatrimonioNonRappresentabileAsset] + + +insert into [level2martperiodico].[PatrimonioNonRappresentabileAsset] + +SELECT + RETE, + COD_FISCALE, + --SUM(Controvalore) as Controvalore + SUM( cast(Controvalore as decimal(15,3))) as Controvalore + + + FROM ( + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.CTV as Controvalore + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND ASSETPERC.COD_PRODOTTO IS NULL + UNION ALL +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- ASUL.CTV as Controvalore +-- FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL +-- ON PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL + + +-- +SELECT ASUL.RETE, + ASUL.COD_FISCALe, + ASUL.CTV*isnull(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + left JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + + ASSETPERC.COD_PRODOTTO IS NULL + + + + + + + + + + + + ) PATR_NO_RAPPR + GROUP BY + RETE, + COD_FISCALE + + diff --git a/sql/storedCollaudo/level2martperiodico_DM_PatrimonioNonRappresentabileAsset_pre_selective.sql b/sql/storedCollaudo/level2martperiodico_DM_PatrimonioNonRappresentabileAsset_pre_selective.sql new file mode 100644 index 00000000..fd3f1197 --- /dev/null +++ b/sql/storedCollaudo/level2martperiodico_DM_PatrimonioNonRappresentabileAsset_pre_selective.sql @@ -0,0 +1,95 @@ +-- Schema: level2martperiodico +-- Stored Procedure: DM_PatrimonioNonRappresentabileAsset_pre_selective + +CREATE procedure [level2martperiodico].[DM_PatrimonioNonRappresentabileAsset_pre_selective] +AS + +truncate table [level2martperiodico].[PatrimonioNonRappresentabileAsset] + + +insert into [level2martperiodico].[PatrimonioNonRappresentabileAsset] + +SELECT + RETE, + COD_FISCALE, + --SUM(Controvalore) as Controvalore + SUM( cast(Controvalore as decimal(15,3))) as Controvalore + + + FROM ( + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.CTV as Controvalore + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND ASSETPERC.COD_PRODOTTO IS NULL + UNION ALL +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- ASUL.CTV as Controvalore +-- FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL +-- ON PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL + + +-- +SELECT ASUL.RETE, + ASUL.COD_FISCALe, + ASUL.CTV*isnull(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + left JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + + ASSETPERC.COD_PRODOTTO IS NULL + + + + + + + + + + + + ) PATR_NO_RAPPR + GROUP BY + RETE, + COD_FISCALE + + diff --git a/sql/storedCollaudo/level2martperiodico_DM_PatrimonioTerziAggregato.sql b/sql/storedCollaudo/level2martperiodico_DM_PatrimonioTerziAggregato.sql new file mode 100644 index 00000000..93723054 --- /dev/null +++ b/sql/storedCollaudo/level2martperiodico_DM_PatrimonioTerziAggregato.sql @@ -0,0 +1,59 @@ +-- Schema: level2martperiodico +-- Stored Procedure: DM_PatrimonioTerziAggregato + + + +CREATE procedure [level2martperiodico].[DM_PatrimonioTerziAggregato] +AS + + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'level2martperiodico.DM_PatrimonioTerziAggregato', + GETDATE(), + 'Elaborazione trimestrale' + ) + +truncate table [level2martperiodico].PatrimonioTerziAggregato + +insert into [level2martperiodico].PatrimonioTerziAggregato + +SELECT + RETE, + COD_FISCALE, + SUM(ROUND(CTV, 2)) AS CTV, + SUM(ROUND(CASE WHEN TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END, 2)) AS ControvaloreSenzaCC, + SUM(ROUND(CASE WHEN TIPO_PRODOTTO = 'Conti correnti' THEN CTV ELSE 0 END, 2)) AS ControvaloreCC, + count(DISTINCT INTERMEDIARIO) as NumeroIntermediari + +FROM + C6MartPeriodico.PATRIMONIO_TERZI +GROUP BY + RETE, + COD_FISCALE + + + + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'level2martperiodico.DM_PatrimonioTerziAggregato' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'level2martperiodico.DM_PatrimonioTerziAggregato' + ) + + + + + diff --git a/sql/storedCollaudo/level2martperiodico_DM_PatrimonioTerziAggregato_pre_selective.sql b/sql/storedCollaudo/level2martperiodico_DM_PatrimonioTerziAggregato_pre_selective.sql new file mode 100644 index 00000000..53917f78 --- /dev/null +++ b/sql/storedCollaudo/level2martperiodico_DM_PatrimonioTerziAggregato_pre_selective.sql @@ -0,0 +1,57 @@ +-- Schema: level2martperiodico +-- Stored Procedure: DM_PatrimonioTerziAggregato_pre_selective + + +CREATE procedure [level2martperiodico].[DM_PatrimonioTerziAggregato_pre_selective] +AS + + +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'level2martperiodico.DM_PatrimonioTerziAggregato_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + +truncate table [level2martperiodico].PatrimonioTerziAggregato + +insert into [level2martperiodico].PatrimonioTerziAggregato + +SELECT + RETE, + COD_FISCALE, + SUM(ROUND(CTV, 2)) AS CTV, + SUM(ROUND(CASE WHEN TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END, 2)) AS ControvaloreSenzaCC, + SUM(ROUND(CASE WHEN TIPO_PRODOTTO = 'Conti correnti' THEN CTV ELSE 0 END, 2)) AS ControvaloreCC, + count(DISTINCT INTERMEDIARIO) as NumeroIntermediari + +FROM + C6MartPeriodico.PATRIMONIO_TERZI +GROUP BY + RETE, + COD_FISCALE + + + + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'level2martperiodico.DM_PatrimonioTerziAggregato_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'level2martperiodico.DM_PatrimonioTerziAggregato_pre_selective' + ) + + + + diff --git a/sql/storedCollaudo/wh_MERGED_PROCEDURE.sql b/sql/storedCollaudo/wh_MERGED_PROCEDURE.sql new file mode 100644 index 00000000..bc658705 --- /dev/null +++ b/sql/storedCollaudo/wh_MERGED_PROCEDURE.sql @@ -0,0 +1,115 @@ +-- Schema: wh +-- Stored Procedure: MERGED_PROCEDURE + + + + + + + + + + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [wh].[MERGED_PROCEDURE] +AS +BEGIN + SET NOCOUNT ON; +--------------------------------------------------------------------- + +---------------------------------------------- +--maledetti +declare @data varchar(8) + +set @data=c6martperiodico.getPreviousTrimestre(getDate(),0) + +begin + +truncate table wh.Maledetti + +insert into wh.Maledetti --70 minutes +( +[i_CodiceFiscale] + ,[i_Rete] + ,[Rete] + ,[NomeRete] + ,[Agente] + ,[CognomeAgente] + ,[NomeAgente] + ,[IndirizzoAgente] + ,[CapAgente] + ,[CittaAgente] + ,[TelefonoAgente] + ,[CodiceFiscale] + ,[CognomeCliente] + ,[NomeCliente] + ,[ProfiloIsAct] + ,[PatrimonioNonRappresentabile] + ,[PartiteViaggiantiDisinv] + ,[PartiteViaggiantiInv] + ,[ContoCorrente] + ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,[RisorseNonAssociate] + ,[Patrimonioaltroctv] + ,[Patrimonioimmobiliarectv] + ,[PatrimonioTerzictv] + ,[PatrimonioTerziCtvAlNettoContoCorrente] + ,[PatrimonioTerziContoCorrente] + ,[Patrimoniobancafideuramctv] + ,[Patrimoniocomplessivototalectv] + ,[NumeroIntermediari] + ,[CodiceContratto] + ,[tip_contratto] + ,[contrattoold] + ,[NoMonitoraggio] + ,[descrizioneDiagnosi] + ,[idModelloDiagnosi] + ,[idReportDiagnosi] + ,[descrizioneMonitoraggio] + ,[idReportMonitoraggio] + ,[idModelloMonitoraggio] + ,[AdesioneSuccessivaAvanzato] + ,[VaRRisorseNonAssociate] + ,[CoperturaRisorseNonAssociate] + ,[VaRTotaleRisorseFinanziarie] + ,[CoperturaTotaleRisorseFinanziarie] + ,[IdReportPDFDiagnosi] + ,[IdReportPDFMonitoraggio] + ,scaduto + ) +SELECT + DISTINCT + contratti.Cod_Fiscale as i_CodiceFiscale + ,contratti.Rete as i_Rete + --DATI COMUNI + --RETE + ,contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Inv.' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.P diff --git a/sql/storedCollaudo/wh_MERGED_PROCEDURE_20160709_byen.sql b/sql/storedCollaudo/wh_MERGED_PROCEDURE_20160709_byen.sql new file mode 100644 index 00000000..7eae1a0c --- /dev/null +++ b/sql/storedCollaudo/wh_MERGED_PROCEDURE_20160709_byen.sql @@ -0,0 +1,97 @@ +-- Schema: wh +-- Stored Procedure: MERGED_PROCEDURE_20160709_byen + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [wh].[MERGED_PROCEDURE_2060709_byen] +AS +BEGIN + SET NOCOUNT ON; +--------------------------------------------------------------------- + + +truncate table wh.pl_s85rendimentoportafogliocono +truncate table wh.pl_areemonitorate +truncate table wh.pl_s43lineaselfbf +truncate table wh.pl_s10patrimoniofinanziario +truncate table wh.pl_prodotti_non_associati_area_inv +truncate table wh.pl_d2_s151profilodirischio +truncate table wh.pl_d2_s152patrimonio +truncate table wh.pl_d2_s153patrimoniofinanziario +truncate table wh.pl_d2_s154patrimoniofinanziario +truncate table wh.pl_d2_s155patrimonioimmobiliare +truncate table wh.pl_d2_s156altropatrimonio +truncate table wh.pl_d2_s157confrontopiramidi +truncate table wh.pl_d2_s158piramidemodello +truncate table wh.pl_d2_s159patrimoniofinanziario +truncate table wh.pl_d2_s160dettaglioprodottibf +truncate table wh.pl_d2_s162dettaglioprodotti +truncate table wh.pl_d2_s163patrimoniofinanziariomassetclass +truncate table wh.pl_d2_s164polizzealtriistituti +truncate table wh.pl_d2_s165fondialtriistituti +truncate table wh.pl_d2_s167distribuzionerischiocredito +truncate table wh.pl_d2_s168tabellaemittenti +truncate table wh.pl_s43dettaglioprodottibf +truncate table wh.pl_d2_s169rischiomercatorischiocredito +truncate table wh.pl_d2_s170rischiodiversificazione +truncate table wh.pl_d2_s171patrimoniononrappresentabileassettclass +truncate table wh.pl_mp_s137bonus +truncate table wh.pl_mp_s135monitoraggioinvestimento +truncate table wh.pl_mp_s134monitoraggioliquidita +truncate table wh.pl_mp_s134bismonitoraggioliqinv +truncate table wh.pl_mp_s133bisprincipaliprodotti +truncate table wh.pl_mp_s133areebisognoprincprod +truncate table wh.pl_mp_s146rischiodiversificazione +truncate table wh.pl_mp_s141analisirisparmiotable +truncate table wh.pl_mp_s140analisirisparmiocharts +truncate table wh.pl_mp_s137biscapitaleprotetto +truncate table wh.pl_s43contocorrentebf +truncate table wh.pl_s43bisdettaglioprodottibf +truncate table wh.pl_s88patrimoniononconsideratonelcalcolodelrendimento +truncate table wh.pl_s82datisintetici +truncate table wh.pl_s82bisdatisintetici +truncate table wh.pl_s76alternativapatrimoniononrappresentabileassettclass +truncate table wh.pl_s80alternativa +truncate table wh.pl_s96rischiomercatorischiocredito +truncate table wh.pl_d_s170rischiodiversificazione +------------------------------------------------------------------------ + +-------------------------------------------PL_S82DatiSintetici +INSERT INTO WH.PL_S82DatiSintetici +SELECT 'C6MartPeriodico.PL_S82DatiSintetici' as ProcedureName, PATRAREA.RETE as i_rete ,PATRAREA.COD_FISCALE as i_codiceFiscale, + PATRAREA.ID_AREA AS need_area, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PATRAREA.ORDINAMENTO_PROGETTO, + /*V Calcolato a livello di codice + CASE + WHEN PATRAGGR.CTV = 0 THEN 0 + ELSE PATRAREA.CTV / PATRAGGR.CTV * 100 + END AS pesoPerc,*/ + PATRAREA.CTV AS ControvaloreAttuale + /* Calcolato a livello di codice + CASE + WHEN @TOTRischio = 0 THEN 0 + ELSE ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV / @TOTRischio * 100 + END AS rischioRelativo*/ + FROM C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS PATRAGGR + ON PATRAGGR.RETE = PATRAREA.Rete + AND PATRAGGR.COD_FISCALE = PATRAREA.COD_FISCALE + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + diff --git a/sql/storedCollaudo/wh_MERGED_PROCEDURE_20161012.sql b/sql/storedCollaudo/wh_MERGED_PROCEDURE_20161012.sql new file mode 100644 index 00000000..f55f3485 --- /dev/null +++ b/sql/storedCollaudo/wh_MERGED_PROCEDURE_20161012.sql @@ -0,0 +1,98 @@ +-- Schema: wh +-- Stored Procedure: MERGED_PROCEDURE_20161012 + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [wh].[MERGED_PROCEDURE_20161012] +AS +BEGIN + SET NOCOUNT ON; +--------------------------------------------------------------------- + + +truncate table wh.pl_s85rendimentoportafogliocono +truncate table wh.pl_areemonitorate +truncate table wh.pl_s43lineaselfbf +truncate table wh.pl_s10patrimoniofinanziario +truncate table wh.pl_prodotti_non_associati_area_inv +truncate table wh.pl_d2_s151profilodirischio +truncate table wh.pl_d2_s152patrimonio +truncate table wh.pl_d2_s153patrimoniofinanziario +truncate table wh.pl_d2_s154patrimoniofinanziario +truncate table wh.pl_d2_s155patrimonioimmobiliare +truncate table wh.pl_d2_s156altropatrimonio +truncate table wh.pl_d2_s157confrontopiramidi +truncate table wh.pl_d2_s158piramidemodello +truncate table wh.pl_d2_s159patrimoniofinanziario +truncate table wh.pl_d2_s160dettaglioprodottibf +truncate table wh.pl_d2_s162dettaglioprodotti +truncate table wh.pl_d2_s163patrimoniofinanziariomassetclass +truncate table wh.pl_d2_s164polizzealtriistituti +truncate table wh.pl_d2_s165fondialtriistituti +truncate table wh.pl_d2_s167distribuzionerischiocredito +truncate table wh.pl_d2_s168tabellaemittenti +truncate table wh.pl_s43dettaglioprodottibf +truncate table wh.pl_d2_s169rischiomercatorischiocredito +truncate table wh.pl_d2_s170rischiodiversificazione +truncate table wh.pl_d2_s171patrimoniononrappresentabileassettclass +truncate table wh.pl_mp_s137bonus +truncate table wh.pl_mp_s135monitoraggioinvestimento +truncate table wh.pl_mp_s134monitoraggioliquidita +truncate table wh.pl_mp_s134bismonitoraggioliqinv +truncate table wh.pl_mp_s133bisprincipaliprodotti +truncate table wh.pl_mp_s133areebisognoprincprod +truncate table wh.pl_mp_s146rischiodiversificazione +truncate table wh.pl_mp_s141analisirisparmiotable +truncate table wh.pl_mp_s140analisirisparmiocharts +truncate table wh.pl_mp_s137biscapitaleprotetto +truncate table wh.pl_s43contocorrentebf +truncate table wh.pl_s43bisdettaglioprodottibf +truncate table wh.pl_s88patrimoniononconsideratonelcalcolodelrendimento +truncate table wh.pl_s82datisintetici +truncate table wh.pl_s82bisdatisintetici +truncate table wh.pl_s76alternativapatrimoniononrappresentabileassettclass +truncate table wh.pl_s80alternativa +truncate table wh.pl_s96rischiomercatorischiocredito +truncate table wh.pl_d_s170rischiodiversificazione +------------------------------------------------------------------------ + +-------------------------------------------PL_S82DatiSintetici +INSERT INTO WH.PL_S82DatiSintetici +SELECT 'C6MartPeriodico.PL_S82DatiSintetici' as ProcedureName, PATRAREA.RETE as i_rete ,PATRAREA.COD_FISCALE as i_codiceFiscale, + PATRAREA.ID_AREA AS need_area, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PATRAREA.ORDINAMENTO_PROGETTO, + /*V Calcolato a livello di codice + CASE + WHEN PATRAGGR.CTV = 0 THEN 0 + ELSE PATRAREA.CTV / PATRAGGR.CTV * 100 + END AS pesoPerc,*/ + PATRAREA.CTV AS ControvaloreAttuale + /* Calcolato a livello di codice + CASE + WHEN @TOTRischio = 0 THEN 0 + ELSE ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV / @TOTRischio * 100 + END AS rischioRelativo*/ + FROM C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS PATRAGGR + ON PATRAGGR.RETE = PATRAREA.Rete + AND PATRAGGR.COD_FISCALE = PATRAREA.COD_FISCALE + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + diff --git a/sql/storedCollaudo/wh_MERGED_PROCEDURE_20170615.sql b/sql/storedCollaudo/wh_MERGED_PROCEDURE_20170615.sql new file mode 100644 index 00000000..3d226803 --- /dev/null +++ b/sql/storedCollaudo/wh_MERGED_PROCEDURE_20170615.sql @@ -0,0 +1,98 @@ +-- Schema: wh +-- Stored Procedure: MERGED_PROCEDURE_20170615 + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [wh].[MERGED_PROCEDURE_20170615] +AS +BEGIN + SET NOCOUNT ON; +--------------------------------------------------------------------- + + +truncate table wh.pl_s85rendimentoportafogliocono +truncate table wh.pl_areemonitorate +truncate table wh.pl_s43lineaselfbf +truncate table wh.pl_s10patrimoniofinanziario +truncate table wh.pl_prodotti_non_associati_area_inv +truncate table wh.pl_d2_s151profilodirischio +truncate table wh.pl_d2_s152patrimonio +truncate table wh.pl_d2_s153patrimoniofinanziario +truncate table wh.pl_d2_s154patrimoniofinanziario +truncate table wh.pl_d2_s155patrimonioimmobiliare +truncate table wh.pl_d2_s156altropatrimonio +truncate table wh.pl_d2_s157confrontopiramidi +truncate table wh.pl_d2_s158piramidemodello +truncate table wh.pl_d2_s159patrimoniofinanziario +truncate table wh.pl_d2_s160dettaglioprodottibf +truncate table wh.pl_d2_s162dettaglioprodotti +truncate table wh.pl_d2_s163patrimoniofinanziariomassetclass +truncate table wh.pl_d2_s164polizzealtriistituti +truncate table wh.pl_d2_s165fondialtriistituti +truncate table wh.pl_d2_s167distribuzionerischiocredito +truncate table wh.pl_d2_s168tabellaemittenti +truncate table wh.pl_s43dettaglioprodottibf +truncate table wh.pl_d2_s169rischiomercatorischiocredito +truncate table wh.pl_d2_s170rischiodiversificazione +truncate table wh.pl_d2_s171patrimoniononrappresentabileassettclass +truncate table wh.pl_mp_s137bonus +truncate table wh.pl_mp_s135monitoraggioinvestimento +truncate table wh.pl_mp_s134monitoraggioliquidita +truncate table wh.pl_mp_s134bismonitoraggioliqinv +truncate table wh.pl_mp_s133bisprincipaliprodotti +truncate table wh.pl_mp_s133areebisognoprincprod +truncate table wh.pl_mp_s146rischiodiversificazione +truncate table wh.pl_mp_s141analisirisparmiotable +truncate table wh.pl_mp_s140analisirisparmiocharts +truncate table wh.pl_mp_s137biscapitaleprotetto +truncate table wh.pl_s43contocorrentebf +truncate table wh.pl_s43bisdettaglioprodottibf +truncate table wh.pl_s88patrimoniononconsideratonelcalcolodelrendimento +truncate table wh.pl_s82datisintetici +truncate table wh.pl_s82bisdatisintetici +truncate table wh.pl_s76alternativapatrimoniononrappresentabileassettclass +truncate table wh.pl_s80alternativa +truncate table wh.pl_s96rischiomercatorischiocredito +truncate table wh.pl_d_s170rischiodiversificazione +------------------------------------------------------------------------ + +-------------------------------------------PL_S82DatiSintetici +INSERT INTO WH.PL_S82DatiSintetici +SELECT 'C6MartPeriodico.PL_S82DatiSintetici' as ProcedureName, PATRAREA.RETE as i_rete ,PATRAREA.COD_FISCALE as i_codiceFiscale, + PATRAREA.ID_AREA AS need_area, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PATRAREA.ORDINAMENTO_PROGETTO, + /*V Calcolato a livello di codice + CASE + WHEN PATRAGGR.CTV = 0 THEN 0 + ELSE PATRAREA.CTV / PATRAGGR.CTV * 100 + END AS pesoPerc,*/ + PATRAREA.CTV AS ControvaloreAttuale + /* Calcolato a livello di codice + CASE + WHEN @TOTRischio = 0 THEN 0 + ELSE ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV / @TOTRischio * 100 + END AS rischioRelativo*/ + FROM C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS PATRAGGR + ON PATRAGGR.RETE = PATRAREA.Rete + AND PATRAGGR.COD_FISCALE = PATRAREA.COD_FISCALE + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + diff --git a/sql/storedCollaudo/wh_MERGED_PROCEDURE_20180619.sql b/sql/storedCollaudo/wh_MERGED_PROCEDURE_20180619.sql new file mode 100644 index 00000000..1e127db6 --- /dev/null +++ b/sql/storedCollaudo/wh_MERGED_PROCEDURE_20180619.sql @@ -0,0 +1,98 @@ +-- Schema: wh +-- Stored Procedure: MERGED_PROCEDURE_20180619 + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [wh].[MERGED_PROCEDURE_20180619] +AS +BEGIN + SET NOCOUNT ON; +--------------------------------------------------------------------- + + +truncate table wh.pl_s85rendimentoportafogliocono +truncate table wh.pl_areemonitorate +truncate table wh.pl_s43lineaselfbf +truncate table wh.pl_s10patrimoniofinanziario +truncate table wh.pl_prodotti_non_associati_area_inv +truncate table wh.pl_d2_s151profilodirischio +truncate table wh.pl_d2_s152patrimonio +truncate table wh.pl_d2_s153patrimoniofinanziario +truncate table wh.pl_d2_s154patrimoniofinanziario +truncate table wh.pl_d2_s155patrimonioimmobiliare +truncate table wh.pl_d2_s156altropatrimonio +truncate table wh.pl_d2_s157confrontopiramidi +truncate table wh.pl_d2_s158piramidemodello +truncate table wh.pl_d2_s159patrimoniofinanziario +truncate table wh.pl_d2_s160dettaglioprodottibf +truncate table wh.pl_d2_s162dettaglioprodotti +truncate table wh.pl_d2_s163patrimoniofinanziariomassetclass +truncate table wh.pl_d2_s164polizzealtriistituti +truncate table wh.pl_d2_s165fondialtriistituti +truncate table wh.pl_d2_s167distribuzionerischiocredito +truncate table wh.pl_d2_s168tabellaemittenti +truncate table wh.pl_s43dettaglioprodottibf +truncate table wh.pl_d2_s169rischiomercatorischiocredito +truncate table wh.pl_d2_s170rischiodiversificazione +truncate table wh.pl_d2_s171patrimoniononrappresentabileassettclass +truncate table wh.pl_mp_s137bonus +truncate table wh.pl_mp_s135monitoraggioinvestimento +truncate table wh.pl_mp_s134monitoraggioliquidita +truncate table wh.pl_mp_s134bismonitoraggioliqinv +truncate table wh.pl_mp_s133bisprincipaliprodotti +truncate table wh.pl_mp_s133areebisognoprincprod +truncate table wh.pl_mp_s146rischiodiversificazione +truncate table wh.pl_mp_s141analisirisparmiotable +truncate table wh.pl_mp_s140analisirisparmiocharts +truncate table wh.pl_mp_s137biscapitaleprotetto +truncate table wh.pl_s43contocorrentebf +truncate table wh.pl_s43bisdettaglioprodottibf +truncate table wh.pl_s88patrimoniononconsideratonelcalcolodelrendimento +truncate table wh.pl_s82datisintetici +truncate table wh.pl_s82bisdatisintetici +truncate table wh.pl_s76alternativapatrimoniononrappresentabileassettclass +truncate table wh.pl_s80alternativa +truncate table wh.pl_s96rischiomercatorischiocredito +truncate table wh.pl_d_s170rischiodiversificazione +------------------------------------------------------------------------ + +-------------------------------------------PL_S82DatiSintetici +INSERT INTO WH.PL_S82DatiSintetici +SELECT 'C6MartPeriodico.PL_S82DatiSintetici' as ProcedureName, PATRAREA.RETE as i_rete ,PATRAREA.COD_FISCALE as i_codiceFiscale, + PATRAREA.ID_AREA AS need_area, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PATRAREA.ORDINAMENTO_PROGETTO, + /*V Calcolato a livello di codice + CASE + WHEN PATRAGGR.CTV = 0 THEN 0 + ELSE PATRAREA.CTV / PATRAGGR.CTV * 100 + END AS pesoPerc,*/ + PATRAREA.CTV AS ControvaloreAttuale + /* Calcolato a livello di codice + CASE + WHEN @TOTRischio = 0 THEN 0 + ELSE ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV / @TOTRischio * 100 + END AS rischioRelativo*/ + FROM C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS PATRAGGR + ON PATRAGGR.RETE = PATRAREA.Rete + AND PATRAGGR.COD_FISCALE = PATRAREA.COD_FISCALE + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + diff --git a/sql/storedCollaudo/wh_MERGED_PROCEDURE_20181010.sql b/sql/storedCollaudo/wh_MERGED_PROCEDURE_20181010.sql new file mode 100644 index 00000000..e0a34478 --- /dev/null +++ b/sql/storedCollaudo/wh_MERGED_PROCEDURE_20181010.sql @@ -0,0 +1,98 @@ +-- Schema: wh +-- Stored Procedure: MERGED_PROCEDURE_20181010 + + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [wh].[MERGED_PROCEDURE] +AS +BEGIN + SET NOCOUNT ON; +--------------------------------------------------------------------- + + +truncate table wh.pl_s85rendimentoportafogliocono +truncate table wh.pl_areemonitorate +truncate table wh.pl_s43lineaselfbf +truncate table wh.pl_s10patrimoniofinanziario +truncate table wh.pl_prodotti_non_associati_area_inv +truncate table wh.pl_d2_s151profilodirischio +truncate table wh.pl_d2_s152patrimonio +truncate table wh.pl_d2_s153patrimoniofinanziario +truncate table wh.pl_d2_s154patrimoniofinanziario +truncate table wh.pl_d2_s155patrimonioimmobiliare +truncate table wh.pl_d2_s156altropatrimonio +truncate table wh.pl_d2_s157confrontopiramidi +truncate table wh.pl_d2_s158piramidemodello +truncate table wh.pl_d2_s159patrimoniofinanziario +truncate table wh.pl_d2_s160dettaglioprodottibf +truncate table wh.pl_d2_s162dettaglioprodotti +truncate table wh.pl_d2_s163patrimoniofinanziariomassetclass +truncate table wh.pl_d2_s164polizzealtriistituti +truncate table wh.pl_d2_s165fondialtriistituti +truncate table wh.pl_d2_s167distribuzionerischiocredito +truncate table wh.pl_d2_s168tabellaemittenti +truncate table wh.pl_s43dettaglioprodottibf +truncate table wh.pl_d2_s169rischiomercatorischiocredito +truncate table wh.pl_d2_s170rischiodiversificazione +truncate table wh.pl_d2_s171patrimoniononrappresentabileassettclass +truncate table wh.pl_mp_s137bonus +truncate table wh.pl_mp_s135monitoraggioinvestimento +truncate table wh.pl_mp_s134monitoraggioliquidita +truncate table wh.pl_mp_s134bismonitoraggioliqinv +truncate table wh.pl_mp_s133bisprincipaliprodotti +truncate table wh.pl_mp_s133areebisognoprincprod +truncate table wh.pl_mp_s146rischiodiversificazione +truncate table wh.pl_mp_s141analisirisparmiotable +truncate table wh.pl_mp_s140analisirisparmiocharts +truncate table wh.pl_mp_s137biscapitaleprotetto +truncate table wh.pl_s43contocorrentebf +truncate table wh.pl_s43bisdettaglioprodottibf +truncate table wh.pl_s88patrimoniononconsideratonelcalcolodelrendimento +truncate table wh.pl_s82datisintetici +truncate table wh.pl_s82bisdatisintetici +truncate table wh.pl_s76alternativapatrimoniononrappresentabileassettclass +truncate table wh.pl_s80alternativa +truncate table wh.pl_s96rischiomercatorischiocredito +truncate table wh.pl_d_s170rischiodiversificazione +------------------------------------------------------------------------ + +-------------------------------------------PL_S82DatiSintetici +INSERT INTO WH.PL_S82DatiSintetici +SELECT 'C6MartPeriodico.PL_S82DatiSintetici' as ProcedureName, PATRAREA.RETE as i_rete ,PATRAREA.COD_FISCALE as i_codiceFiscale, + PATRAREA.ID_AREA AS need_area, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PATRAREA.ORDINAMENTO_PROGETTO, + /*V Calcolato a livello di codice + CASE + WHEN PATRAGGR.CTV = 0 THEN 0 + ELSE PATRAREA.CTV / PATRAGGR.CTV * 100 + END AS pesoPerc,*/ + PATRAREA.CTV AS ControvaloreAttuale + /* Calcolato a livello di codice + CASE + WHEN @TOTRischio = 0 THEN 0 + ELSE ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV / @TOTRischio * 100 + END AS rischioRelativo*/ + FROM C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS PATRAGGR + ON PATRAGGR.RETE = PATRAREA.Rete + AND PATRAGGR.COD_FISCALE = PATRAREA.COD_FISCALE + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON RISCHI diff --git a/sql/storedCollaudo/wh_MERGED_PROCEDURE_NUOVA.sql b/sql/storedCollaudo/wh_MERGED_PROCEDURE_NUOVA.sql new file mode 100644 index 00000000..96f3c29e --- /dev/null +++ b/sql/storedCollaudo/wh_MERGED_PROCEDURE_NUOVA.sql @@ -0,0 +1,122 @@ +-- Schema: wh +-- Stored Procedure: MERGED_PROCEDURE_NUOVA + + +CREATE procedure [wh].[MERGED_PROCEDURE_NUOVA] +AS +BEGIN + SET NOCOUNT ON; +--------------------------------------------------------------------- + + +truncate table wh.pl_s85rendimentoportafogliocono +truncate table wh.pl_areemonitorate +truncate table wh.pl_s43lineaselfbf +truncate table wh.pl_s10patrimoniofinanziario +truncate table wh.pl_prodotti_non_associati_area_inv +truncate table wh.pl_d2_s151profilodirischio +truncate table wh.pl_d2_s152patrimonio +truncate table wh.pl_d2_s153patrimoniofinanziario +truncate table wh.pl_d2_s154patrimoniofinanziario +truncate table wh.pl_d2_s155patrimonioimmobiliare +truncate table wh.pl_d2_s156altropatrimonio +truncate table wh.pl_d2_s157confrontopiramidi +truncate table wh.pl_d2_s158piramidemodello +truncate table wh.pl_d2_s159patrimoniofinanziario +truncate table wh.pl_d2_s160dettaglioprodottibf +truncate table wh.pl_d2_s162dettaglioprodotti +truncate table wh.pl_d2_s163patrimoniofinanziariomassetclass +truncate table wh.pl_d2_s164polizzealtriistituti +truncate table wh.pl_d2_s165fondialtriistituti +truncate table wh.pl_d2_s167distribuzionerischiocredito +truncate table wh.pl_d2_s168tabellaemittenti +truncate table wh.pl_s43dettaglioprodottibf +truncate table wh.PL_D2_S169RischiomercatoRischiocredito +truncate table wh.pl_d2_s170rischiodiversificazione +truncate table wh.pl_d2_s171patrimoniononrappresentabileassettclass +truncate table wh.pl_mp_s137bonus +truncate table wh.pl_mp_s135monitoraggioinvestimento +truncate table wh.pl_mp_s134monitoraggioliquidita +truncate table wh.pl_mp_s134bismonitoraggioliqinv +truncate table wh.pl_mp_s133bisprincipaliprodotti +truncate table wh.pl_mp_s133areebisognoprincprod +truncate table wh.pl_mp_s146rischiodiversificazione +truncate table wh.pl_mp_s141analisirisparmiotable +truncate table wh.pl_mp_s140analisirisparmiocharts +truncate table wh.pl_mp_s137biscapitaleprotetto +truncate table wh.pl_s43contocorrentebf +truncate table wh.pl_s43bisdettaglioprodottibf +truncate table wh.pl_s88patrimoniononconsideratonelcalcolodelrendimento +truncate table wh.pl_s82datisintetici +truncate table wh.pl_s82bisdatisintetici +truncate table wh.pl_s76alternativapatrimoniononrappresentabileassettclass +truncate table wh.pl_s80alternativa +truncate table wh.pl_s96rischiomercatorischiocredito +truncate table wh.pl_d2_s170rischiodiversificazione +truncate table wh.PL_D_S178IndicatoriEsitoAdeguatezza +------------------------------------------------------------------------ + + +---------------------------------------------PL_S85RendimentoPortafoglioCono + + BEGIN + + exec wh.MERGED_PROCEDURE_S85 + + END +--------------------------------------------------------------------------- + +---------------------------------------------PL_S43LineaSelfBF + + BEGIN + + exec wh.MERGED_PROCEDURE_S43 + + END +--------------------------------------------------------------------------- + +---------------------------------------------PL_S10PatrimonioFinanziario + + BEGIN + + exec [wh].[MERGED_PROCEDURE_S10] + + END +--------------------------------------------------------------------------- + +---------------------------------------------PL_Prodotti_Non_Associati_Area_Inv + + BEGIN + + exec [wh].[MERGED_PROCEDURE_PL_Prodotti_Non_Associati_Area_Inv] + + END +--------------------------------------------------------------------------- + +---------------------------------------------PL_D3_S151ProfiloDiRischio + + BEGIN + + exec [wh].[MERGED_PROCEDURE_S151] + END +--------------------------------------------------------------------------- + +---------------------------------------------PL_D2_S169RischiomercatoRischiocredito + + BEGIN + + exec wh.MERGED_PROCEDURE_S169 + + END +--------------------------------------------------------------------------- + +---------------------------------------------PL_D2_S170RischioDiversificazione + + BEGIN + + exec wh.MERGED_PROCEDURE_S170 + + END +--------------------------------------------------------------------------- + +----------------- diff --git a/sql/storedCollaudo/wh_MERGED_PROCEDURE_PL_Prodotti_Non_Associati_Area_Inv.sql b/sql/storedCollaudo/wh_MERGED_PROCEDURE_PL_Prodotti_Non_Associati_Area_Inv.sql new file mode 100644 index 00000000..e202ca15 --- /dev/null +++ b/sql/storedCollaudo/wh_MERGED_PROCEDURE_PL_Prodotti_Non_Associati_Area_Inv.sql @@ -0,0 +1,48 @@ +-- Schema: wh +-- Stored Procedure: MERGED_PROCEDURE_PL_Prodotti_Non_Associati_Area_Inv + + +CREATE procedure [wh].[MERGED_PROCEDURE_PL_Prodotti_Non_Associati_Area_Inv] +AS +BEGIN + SET NOCOUNT ON; + + INSERT INTO WH.PL_Prodotti_Non_Associati_Area_Inv + SELECT 'C6MartPeriodico.PL_Prodotti_Non_Associati_Area_Inv' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.RETE, + PATRBF.COD_FISCALE, + ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') AS NOME_PROGETTO, + ID_AREA as NEED_AREA, + SUM(CTV) AS CONTROVALOREATTUALE, + MAX(ISNULL(RISK.VAR_PERC_PTF,0)) AS var_needarea, + --PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + LEFT OUTER JOIN + C6MARTPERIODICO.RISCHIO_AGGREGATO RISK + ON PATRBF.RETE = RISK.RETE + AND PATRBF.COD_FISCALE = RISK.COD_FISCALE + AND RISK.COD_AGGREG = 'PIRAMIDE|Inv|'+ ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') + WHERE 1 = 1 + AND PATRBF.id_AREA = 'Inv' + AND PATRBF.NOME_PROGETTO='Prodotti non associati a progetti' + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti'), + ID_AREA, + CHIAVE_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END + +END + diff --git a/sql/storedCollaudo/wh_MERGED_PROCEDURE_S10.sql b/sql/storedCollaudo/wh_MERGED_PROCEDURE_S10.sql new file mode 100644 index 00000000..f915e5de --- /dev/null +++ b/sql/storedCollaudo/wh_MERGED_PROCEDURE_S10.sql @@ -0,0 +1,25 @@ +-- Schema: wh +-- Stored Procedure: MERGED_PROCEDURE_S10 + + + +CREATE procedure [wh].[MERGED_PROCEDURE_S10] +AS +BEGIN + SET NOCOUNT ON; + + INSERT INTO WH.PL_S10PatrimonioFinanziario + SELECT 'C6MartPeriodico.PL_S10PatrimonioFinanziario' as ProcedureName, [Rete] as i_rete ,[CodiceFiscale] as i_codiceFiscale, + [Banca] + ,[Ordinamento] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6MartPeriodico].[tb_S10PatrimonioFinanziario] + order by ordinamento + + +END + diff --git a/sql/storedCollaudo/wh_MERGED_PROCEDURE_S151.sql b/sql/storedCollaudo/wh_MERGED_PROCEDURE_S151.sql new file mode 100644 index 00000000..342767af --- /dev/null +++ b/sql/storedCollaudo/wh_MERGED_PROCEDURE_S151.sql @@ -0,0 +1,70 @@ +-- Schema: wh +-- Stored Procedure: MERGED_PROCEDURE_S151 + + + + +CREATE procedure [wh].[MERGED_PROCEDURE_S151] +AS +BEGIN + + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + + declare @DataFineTrim decimal(9, 0) + + select @DataFineTrim = max(dtTrim) from [C6StagingPeriodico].[WSEIAN2] + + create table #WSEIAN (rete varchar(1), CodiceFiscale varchar(20), dtfinval decimal(9, 0)) + + --drop table #WSEIAN + + insert into #WSEIAN + + select rete, 'FF@' + CODMAN as CodiceFiscale, dtfinval + from [C6StagingPeriodico].[WSEIAN2] + where DTTRIM = @DataFineTrim + and isnull(codman, '') <> '' + + union + + select rete, CodFis as CodiceFiscale, dtfinval + from [C6StagingPeriodico].[WSEIAN2] + where DTTRIM = @DataFineTrim + and isnull(codman, '') = '' + + INSERT into wh.PL_D3_S151ProfiloDiRischio + SELECT 'C6MartPeriodico.PL_D3_S151ProfiloDiRischio' as ProcedureName, M.rete as i_rete, M.COD_FISCALE as i_codiceFiscale, + M.PROFILO_ASS as codiceProfilo, + DBO.TOSHORTDATESTRING (M.DATA_INIZIO_VAL) as dataInizioValidita, + case + when #WSEIAN.dtfinval <> 0 and #WSEIAN.dtfinval is not null and ltrim(rtrim(#WSEIAN.dtfinval)) <> '' + then CONVERT(datetime, CONVERT(varchar,CONVERT(int, #WSEIAN.dtfinval)), 0) + else null + end as dataScadenzaProfilo, + CR.MAX_VAR as varMassimo, + ProfiliDiRischio.NOMEPROFILO as nomeProfilo, + ProfiliDiRischio.DescrizioneProfilo as descrizioneProfilo, + m.riskclass, + m.experience as experince, + case m.experience + when 0 then '-' + when 1 then 'Minima' + when 2 then 'Bassa' + when 3 then 'Media' + when 4 then 'Alta' + when 5 then 'Molto alta' + else '-' + end as descrizioneEsperienza + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + inner join #WSEIAN + on M.Rete = #WSEIAN.rete + and M.COD_FISCALE = #WSEIAN.CodiceFiscale +END + diff --git a/sql/storedCollaudo/wh_MERGED_PROCEDURE_S169.sql b/sql/storedCollaudo/wh_MERGED_PROCEDURE_S169.sql new file mode 100644 index 00000000..d57fb786 --- /dev/null +++ b/sql/storedCollaudo/wh_MERGED_PROCEDURE_S169.sql @@ -0,0 +1,139 @@ +-- Schema: wh +-- Stored Procedure: MERGED_PROCEDURE_S169 + + + +CREATE procedure [wh].[MERGED_PROCEDURE_S169] +AS +BEGIN + SET NOCOUNT ON; + + -- QUERY PATRIMONIO CASA E PATRIMONIO TERZI + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, + NULL AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE + WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) * 100, 2) AS PERCENTAGE, + ORDINE, + RISK_AGG.Ully_perc + into #appo + from + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + case + when PATRBF.RETE = 'F' then 'Patrimonio Fideuram' + else 'Patrimonio Sanpaolo Invest' + end AS INSTITUTENAME, + sum(PATRBF.CTV) as CTV, + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF, + C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.CTV > 0 + and RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' + group by + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + case + when PATRBF.RETE = 'F' then 'Patrimonio Fideuram' + else 'Patrimonio Sanpaolo Invest' + end + + union + + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.PATRIMONIO_TERZI TERZI, + C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.CTV > 0 + and RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + group by + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + + ) PATRBF + LEFT OUTER JOIN c6martperiodico.MIFID AS M + ON PATRBF.COD_FISCALE = M.COD_FISCALE + AND PATRBF.RETE = M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN c6martperiodico.CODIFICA_CREDITRISK CK + ON M.riskclass = CK.PROFILO + LEFT OUTER JOIN c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + AND PATRBF.RETE = RISK_AGG.RETE + AND (case + when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE = 'F' then 'Patrimonio Fideuram' + when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE = 'S' then 'Patrimonio Sanpaolo Invest' + else 'Patrimonio altri Istituti' + end) = PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + -- FINE QUERY PER PATRIMONIO CASA E PATRIMONIO TERZI + + -- SEPARAZIONE DEL PATRIMONIO CASA E DEL PATRIMONIO TERZI + select * into #ordine1 from #appo where ordine = 1 + select * into #ordine2 from #appo where ordine = 2 + + -- QUERY PATRIMONIO COMPLESSIVO + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV) AS CTV, + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX(CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX(case + WHE diff --git a/sql/storedCollaudo/wh_MERGED_PROCEDURE_S170.sql b/sql/storedCollaudo/wh_MERGED_PROCEDURE_S170.sql new file mode 100644 index 00000000..da03949c --- /dev/null +++ b/sql/storedCollaudo/wh_MERGED_PROCEDURE_S170.sql @@ -0,0 +1,117 @@ +-- Schema: wh +-- Stored Procedure: MERGED_PROCEDURE_S170 + + + + + + +CREATE procedure [wh].[MERGED_PROCEDURE_S170] +AS +BEGIN + SET NOCOUNT ON; + + -- Appoggio in tabelle temporanee + select rete, cod_fiscale, count(*) as contaCC + into #tContaCC + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' + group by rete, cod_fiscale + + select rete, cod_fiscale, count(*) as contaPos + into #tContaPos + from c6martperiodico.patrimonio_Bf + group by rete, cod_fiscale + + SELECT rete, cod_fiscale, isnull(sum(ctv),0) as CTVBF + into #tCTVBF + FROM c6martperiodico.patrimonio_bf + where CTV > 0 + group by rete, cod_fiscale + + SELECT rete, cod_fiscale, isnull(sum(ctv),0) as CTVTerzi + into #tCTVTerzi + FROM c6martperiodico.patrimonio_terzi + where CTV > 0 + group by rete, cod_fiscale + + -- Calcolo Complessit Massima + DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + + create table #tMaxComplessita (Rete varchar(1), CodiceFiscale varchar(20), MaxComplessita int) + + insert into #tMaxComplessita (Rete, CodiceFiscale, MaxComplessita) + + select rete, 'FF@' + CODMAN as CodiceFiscale, MAXCOMPL as maxComplessita + from [C6StagingPeriodico].[WSEIAN2] + where DTTRIM = @DataFineTrim + -- and compl_base <> 10 + and isnull(codman, '') <> '' + group by rete, 'FF@' + CODMAN,MAXCOMPL + + union + + select rete, CodFis as CodiceFiscale, MAXCOMPL as maxComplessita + from [C6StagingPeriodico].[WSEIAN2] + where DTTRIM = @DataFineTrim + --and compl_base <> 10 + and isnull(codman, '') = '' + group by rete, CodFis,MAXCOMPL + + --select * from #tContaCC where rete = 'F' and cod_Fiscale = 'RSCFNC43M09A965T' + --select * from #tContaPos where rete = 'F' and cod_Fiscale = 'RSCFNC43M09A965T' + --select * from #tCTVBF where rete = 'F' and cod_Fiscale = 'RSCFNC43M09A965T' + --select * from #tCTVTerzi where rete = 'F' and cod_Fiscale = 'RSCFNC43M09A965T' + + insert into wh.PL_D2_S170RischioDiversificazione + SELECT 'C6MartPeriodico.PL_D2_S170RischioDiversificazione' as ProcedureName, K.Rete as i_Rete, K.Cod_Fiscale as i_CodiceFiscale, + K.COD_FISCALE, + K.RETE, + CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then isnull(#tCTVBF.CTVBF, 0) + when cod_Aggreg = 'COMPLESSIVO|TERZI' then isnull(#tCTVTerzi.CTVTerzi, 0) + when cod_Aggreg = 'COMPLESSIVO' then isnull(#tCTVBF.CTVBF, 0) + isnull(#tCTVTerzi.CTVTerzi, 0) + else 0 + END AS CTV_AGGREG, + K.CREDITRISK, + CASE + WHEN (isnull(#tContaPOS.contaPOS, 0) - isnull(#tContaCC.ContaCC, 0) = 0) THEN 0 + ELSE VAR_PERC_PTF + END AS VAR, + CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND isnull(#tContaPOS.contaPOS, 0) - isnull(#tContaCC.ContaCC, 0) <> 0 THEN 'n.c.' ELSE NULL END as varString, + + CASE + WHEN (ISNULL(copertura,100) < 100) AND isnull(#tContaPOS.contaPOS, 0) - isnull(#tContaCC.ContaCC, 0) <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null + END AS coperturaString, + + -- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi + beneficio as diversificazione, + --case + --when cod_Aggreg = 'COMPLESSIVO' then null + --when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio + --when cod_Aggreg = 'COMPLESSIVO|TERZI' then null + --END AS diversificazione, + + -- fine modifica del 19/6/2018 + + + CASE + WHEN (isnull(#tContaPOS.contaPOS, 0) - isnull(#tContaCC.ContaCC, 0) = 0) THEN 100 + ELSE COPERTURA + END AS COPERTURA, + case + when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' + when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) + when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' + ELSE '' + END AS PATRIMONIO, + + case + when b.profilo is null then -1 + else b.profilo + end as profiloCode, + diff --git a/sql/storedCollaudo/wh_MERGED_PROCEDURE_S178.sql b/sql/storedCollaudo/wh_MERGED_PROCEDURE_S178.sql new file mode 100644 index 00000000..4f6e98a6 --- /dev/null +++ b/sql/storedCollaudo/wh_MERGED_PROCEDURE_S178.sql @@ -0,0 +1,83 @@ +-- Schema: wh +-- Stored Procedure: MERGED_PROCEDURE_S178 + + + + +CREATE procedure [wh].[MERGED_PROCEDURE_S178] +AS +BEGIN + SET NOCOUNT ON; + + DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + + --exec [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] 'F', '00158650309' + + --exec [C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza] 'F', '00158650309' + --exec [wh].[p_PL_D_S178IndicatoriEsitoAdeguatezza] 'F', '00158650309' + + insert into [wh].[PL_D_S178IndicatoriEsitoAdeguatezza] + select 'C6MartPeriodico.PL_D_S178IndicatoriEsitoAdeguatezza', a.i_rete, a.i_CodiceFiscale, + + a.i_rete, + a.i_CodiceFiscale, + + -- RISCHIO MERCATO + --var, varmax, + case + when var <= varmax then '1' + when var > varmax then '0' + else -1 + end as RM_Adeguatezza, + case + when var <= varmax then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '1') + when var > varmax then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '-1') + end as RM_Descrizione, + -- FINE RISCHIO MERCATO + + -- RISCHIO CREDITO + --RISKCLASS, RISKCLASSMAX, + case + --20180820 CR su Rischio Credito: quando non stato possibile calcolare il rischio credito (quindi il valore di RISKCLASS restituito dalla PL_D2_S169RischiomercatoRischiocredito NULL) + -- l'indicatore di adeguatezza Rischio Credito 1 (Adeguato) + when RISKCLASS is null then '1' + --20180820 FINE CR su Rischio Credito + when RISKCLASS <= convert(int,RISKCLASSMAX) then '1' + when RISKCLASS > convert(int,RISKCLASSMAX) then '0' + else -1 + end as RC_Adeguatezza, + case + --20180820 CR su Rischio Credito: quando non stato possibile calcolare il rischio credito (quindi il valore di RISKCLASS restituito dalla PL_D2_S169RischiomercatoRischiocredito NULL) + -- l'indicatore di adeguatezza Rischio Credito 1 (Adeguato) + when RISKCLASS is null then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '1') + --20180820 FINE CR su Rischio Credito + when RISKCLASS <= convert(int,RISKCLASSMAX) then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '1') + when RISKCLASS > convert(int,RISKCLASSMAX) then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '-1') + end as RC_Descrizione, + -- FINE RISCHIO CREDITO + + -- CONCENTRAZIONE EMITTENTI + --b.concemi, + case + when upper(b.concemi) = 'S' then '1' + when upper(b.concemi) = 'N' then '0' + else -1 + end as CE_Adeguatezza, + case + when upper(b.concemi) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '1') + when upper(b.concemi) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '-1') + + end as CE_Descrizione, + -- FINE CONCENTRAZIONE EMITTENTI + + -- COMPLESSITA' + --b.flgprof, b.flagpg, b.flagnqp, b.flgprlrde, b.clcompl, + case + when b.flgprof = 'S' then 'prof' + when b.flagpg = 1 and b.flgprof = 'N' and b.flagnqp = 'S' and b.flgprlrde = 'N' then '-1' --Massimiliano dice che va messo prima di tutti senza testare altri flag 17/5/2018 + when upper(b.clcompl) = 'N' and + (select nocompl from [C6 diff --git a/sql/storedCollaudo/wh_MERGED_PROCEDURE_S43.sql b/sql/storedCollaudo/wh_MERGED_PROCEDURE_S43.sql new file mode 100644 index 00000000..1756f652 --- /dev/null +++ b/sql/storedCollaudo/wh_MERGED_PROCEDURE_S43.sql @@ -0,0 +1,24 @@ +-- Schema: wh +-- Stored Procedure: MERGED_PROCEDURE_S43 + + +CREATE procedure [wh].[MERGED_PROCEDURE_S43] +AS +BEGIN + SET NOCOUNT ON; + + INSERT INTO WH.PL_S43LineaSelfBF + SELECT 'C6MartPeriodico.PL_S43LineaSelfBF' as ProcedureName, LS.rete as i_rete ,LS.codfis as i_codiceFiscale, + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(cast(datasott as varchar)) as DataSott + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + isnull(ctv,0) < 0 + +END + diff --git a/sql/storedCollaudo/wh_MERGED_PROCEDURE_S85.sql b/sql/storedCollaudo/wh_MERGED_PROCEDURE_S85.sql new file mode 100644 index 00000000..5af4a218 --- /dev/null +++ b/sql/storedCollaudo/wh_MERGED_PROCEDURE_S85.sql @@ -0,0 +1,79 @@ +-- Schema: wh +-- Stored Procedure: MERGED_PROCEDURE_S85 + + + + +CREATE procedure [wh].[MERGED_PROCEDURE_S85] +AS +BEGIN + SET NOCOUNT ON; + + SELECT + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,isnull([NOME_PROGETTO],'XXX') as NOME_PROGETTO + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB] + into #pir_mod_xxx + FROM [C6MartPeriodico].[PIRAMIDE_MOD] + + --select * from #pir_mod_xxx where cod_fiscale = 'FF@7181' + INSERT INTO WH.PL_S85RendimentoPortafoglioCono + SELECT 'C6MartPeriodico.PL_S85RendimentoPortafoglioCono' as ProcedureName, CONO.RETE as i_rete ,CONO.COD_FISCALE as i_codiceFiscale, + CONO.ID_AREA AS NEED_AREA, + CASE + WHEN CONO.NOME_PROGETTO = 'XXX' THEN '' + ELSE CONO.NOME_PROGETTO + END AS NOME_PROGETTO, + cono.ordinamento_progetto, + CONO.DATA_CONO, + CONO.SCENARIO_OTTIMISTICO AS OTTIMISTICO, + CONO.SCENARIO_PESSIMISTICO AS PESSIMISTICO, + isnull(PIRMOD.ORIZZ_TEMP_NUM,0) * 12 AS ORIZZONTE_MESI, + MONIT.RENDIMENTO_CUMULATO AS RENDIMENTO, + MONIT.DATA_CTV AS DATA_MONIT + + + FROM + C6MartPeriodico.CONO_PIANIFICAZIONE AS CONO + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE AS MONIT + ON CONO.RETE = MONIT.RETE + AND CONO.COD_FISCALE = MONIT.COD_FISCALE + AND CONO.ID_AREA = MONIT.ID_AREA + AND CONO.NOME_PROGETTO = MONIT.NOME_PROGETTO + And cono.ordinamento_progetto=monit.ordinamento_progetto --l'ordinamento progetto sempre pari alla chiaveprogetto e non idmonitoraggio + + INNER JOIN #pir_mod_xxx as PIRMOD + ON CONO.RETE = PIRMOD.RETE + AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE + AND CONO.ID_AREA = PIRMOD.ID_AREA + AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + And cono.ordinamento_progetto=pirmod.ordinamento_progetto + + -- INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD + -- ON CONO.RETE = PIRMOD.RETE + -- AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE + -- AND CONO.ID_AREA = PIRMOD.ID_AREA + -- AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + + ORDER BY CONO.DATA_CONO + + drop table #pir_mod_xxx + + +END + diff --git a/sql/storedCollaudo/wh_MERGED_PROCEDURE_SINGLE.sql b/sql/storedCollaudo/wh_MERGED_PROCEDURE_SINGLE.sql new file mode 100644 index 00000000..1e528030 --- /dev/null +++ b/sql/storedCollaudo/wh_MERGED_PROCEDURE_SINGLE.sql @@ -0,0 +1,97 @@ +-- Schema: wh +-- Stored Procedure: MERGED_PROCEDURE_SINGLE + + +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [wh].[MERGED_PROCEDURE_SINGLE] +AS +BEGIN + SET NOCOUNT ON; +--------------------------------------------------------------------- + + +truncate table wh.pl_s85rendimentoportafogliocono +truncate table wh.pl_areemonitorate +truncate table wh.pl_s43lineaselfbf +truncate table wh.pl_s10patrimoniofinanziario +truncate table wh.pl_prodotti_non_associati_area_inv +truncate table wh.pl_d2_s151profilodirischio +truncate table wh.pl_d2_s152patrimonio +truncate table wh.pl_d2_s153patrimoniofinanziario +truncate table wh.pl_d2_s154patrimoniofinanziario +truncate table wh.pl_d2_s155patrimonioimmobiliare +truncate table wh.pl_d2_s156altropatrimonio +truncate table wh.pl_d2_s157confrontopiramidi +truncate table wh.pl_d2_s158piramidemodello +truncate table wh.pl_d2_s159patrimoniofinanziario +truncate table wh.pl_d2_s160dettaglioprodottibf +truncate table wh.pl_d2_s162dettaglioprodotti +truncate table wh.pl_d2_s163patrimoniofinanziariomassetclass +truncate table wh.pl_d2_s164polizzealtriistituti +truncate table wh.pl_d2_s165fondialtriistituti +truncate table wh.pl_d2_s167distribuzionerischiocredito +truncate table wh.pl_d2_s168tabellaemittenti +truncate table wh.pl_s43dettaglioprodottibf +truncate table wh.pl_d2_s169rischiomercatorischiocredito +truncate table wh.pl_d2_s170rischiodiversificazione +truncate table wh.pl_d2_s171patrimoniononrappresentabileassettclass +truncate table wh.pl_mp_s137bonus +truncate table wh.pl_mp_s135monitoraggioinvestimento +truncate table wh.pl_mp_s134monitoraggioliquidita +truncate table wh.pl_mp_s134bismonitoraggioliqinv +truncate table wh.pl_mp_s133bisprincipaliprodotti +truncate table wh.pl_mp_s133areebisognoprincprod +truncate table wh.pl_mp_s146rischiodiversificazione +truncate table wh.pl_mp_s141analisirisparmiotable +truncate table wh.pl_mp_s140analisirisparmiocharts +truncate table wh.pl_mp_s137biscapitaleprotetto +truncate table wh.pl_s43contocorrentebf +truncate table wh.pl_s43bisdettaglioprodottibf +truncate table wh.pl_s88patrimoniononconsideratonelcalcolodelrendimento +truncate table wh.pl_s82datisintetici +truncate table wh.pl_s82bisdatisintetici +truncate table wh.pl_s76alternativapatrimoniononrappresentabileassettclass +truncate table wh.pl_s80alternativa +truncate table wh.pl_s96rischiomercatorischiocredito +truncate table wh.pl_d_s170rischiodiversificazione +------------------------------------------------------------------------ + +-------------------------------------------PL_S82DatiSintetici +INSERT INTO WH.PL_S82DatiSintetici +SELECT 'C6MartPeriodico.PL_S82DatiSintetici' as ProcedureName, PATRAREA.RETE as i_rete ,PATRAREA.COD_FISCALE as i_codiceFiscale, + PATRAREA.ID_AREA AS need_area, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PATRAREA.ORDINAMENTO_PROGETTO, + /*V Calcolato a livello di codice + CASE + WHEN PATRAGGR.CTV = 0 THEN 0 + ELSE PATRAREA.CTV / PATRAGGR.CTV * 100 + END AS pesoPerc,*/ + PATRAREA.CTV AS ControvaloreAttuale + /* Calcolato a livello di codice + CASE + WHEN @TOTRischio = 0 THEN 0 + ELSE ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV / @TOTRischio * 100 + END AS rischioRelativo*/ + FROM C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS PATRAGGR + ON PATRAGGR.RETE = PATRAREA.Rete + AND PATRAGGR.COD_FISCALE = PATRAREA.COD_FISCALE + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON R diff --git a/sql/storedCollaudo/wh_ProduceMaladetti.sql b/sql/storedCollaudo/wh_ProduceMaladetti.sql new file mode 100644 index 00000000..6928accd --- /dev/null +++ b/sql/storedCollaudo/wh_ProduceMaladetti.sql @@ -0,0 +1,103 @@ +-- Schema: wh +-- Stored Procedure: ProduceMaladetti + +CREATE procedure [wh].[ProduceMaladetti] +as +begin +truncate table wh.Maledetti + +insert into wh.Maledetti --70 minutes +( +[i_CodiceFiscale] + ,[i_Rete] + ,[Rete] + ,[NomeRete] + ,[Agente] + ,[CognomeAgente] + ,[NomeAgente] + ,[IndirizzoAgente] + ,[CapAgente] + ,[CittaAgente] + ,[TelefonoAgente] + ,[CodiceFiscale] + ,[CognomeCliente] + ,[NomeCliente] + ,[ProfiloIsAct] + ,[PatrimonioNonRappresentabile] + ,[PartiteViaggiantiDisinv] + ,[PartiteViaggiantiInv] + ,[ContoCorrente] + ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,[RisorseNonAssociate] + ,[Patrimonioaltroctv] + ,[Patrimonioimmobiliarectv] + ,[PatrimonioTerzictv] + ,[PatrimonioTerziCtvAlNettoContoCorrente] + ,[PatrimonioTerziContoCorrente] + ,[Patrimoniobancafideuramctv] + ,[Patrimoniocomplessivototalectv] + ,[NumeroIntermediari] + ,[CodiceContratto] + ,[tip_contratto] + ,[contrattoold] + ,[NoMonitoraggio] + ,[descrizioneDiagnosi] + ,[idModelloDiagnosi] + ,[idReportDiagnosi] + ,[descrizioneMonitoraggio] + ,[idReportMonitoraggio] + ,[idModelloMonitoraggio] + ,[AdesioneSuccessivaAvanzato] + ,[VaRRisorseNonAssociate] + ,[CoperturaRisorseNonAssociate] + ,[VaRTotaleRisorseFinanziarie] + ,[CoperturaTotaleRisorseFinanziarie] + ,[IdReportPDFDiagnosi] + ,[IdReportPDFMonitoraggio] + ) + SELECT DISTINCT + contratti.Cod_Fiscale as i_CodiceFiscale + ,contratti.Rete as i_Rete + --DATI COMUNI + --RETE + ,contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Inv.' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,CASE WHEN count(monit.id_area) OVER (PARTITION BY monit.rete,monit.cod_fiscale) = 0 + or isnull(monitInit.data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) + or monitReport.cod_fiscale is null + THEN 1 + ELSE 0 + END AS N diff --git a/sql/storedCollaudo/wh_p_PL_AreeMonitorate.sql b/sql/storedCollaudo/wh_p_PL_AreeMonitorate.sql new file mode 100644 index 00000000..33855b01 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_AreeMonitorate.sql @@ -0,0 +1,12 @@ +-- Schema: wh +-- Stored Procedure: p_PL_AreeMonitorate + +CREATE procedure [wh].[p_PL_AreeMonitorate] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NEED_AREA,NEED_ESTESA,NOME_PROGETTO,ORDINAMENTO_PROGETTO,ORDINE,AREAPROGETTOSOTTOMONITORAGGIO from wh.PL_AreeMonitorate + where i_rete = @rete and i_codiceFiscale = @codiceFiscale + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO + + + + diff --git a/sql/storedCollaudo/wh_p_PL_D2_S151ProfiloDiRischio.sql b/sql/storedCollaudo/wh_p_PL_D2_S151ProfiloDiRischio.sql new file mode 100644 index 00000000..12315dce --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_D2_S151ProfiloDiRischio.sql @@ -0,0 +1,7 @@ +-- Schema: wh +-- Stored Procedure: p_PL_D2_S151ProfiloDiRischio + +CREATE procedure [wh].[p_PL_D2_S151ProfiloDiRischio] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,codiceProfilo,dataInizioValidita,varMassimo,varBF,coperturaBF,nomeProfilo,riskclass,experince from wh.PL_D2_S151ProfiloDiRischio where i_rete = @rete and i_codiceFiscale = @codiceFiscale + + + diff --git a/sql/storedCollaudo/wh_p_PL_D2_S152Patrimonio.sql b/sql/storedCollaudo/wh_p_PL_D2_S152Patrimonio.sql new file mode 100644 index 00000000..915027f7 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_D2_S152Patrimonio.sql @@ -0,0 +1,7 @@ +-- Schema: wh +-- Stored Procedure: p_PL_D2_S152Patrimonio + +CREATE procedure [wh].[p_PL_D2_S152Patrimonio] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,BFCTV,PatrimonioTerziCTV,FinanziarioCTV,FinanziarioPerc,ImmobiliareCTV,ImmobiliarePerc,AltroCTV,AltroPerc,TotaleCTV from wh.PL_D2_S152Patrimonio where i_rete = @rete and i_codiceFiscale = @codiceFiscale + + + diff --git a/sql/storedCollaudo/wh_p_PL_D2_S153PatrimonioFinanziario.sql b/sql/storedCollaudo/wh_p_PL_D2_S153PatrimonioFinanziario.sql new file mode 100644 index 00000000..6ec7aab3 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_D2_S153PatrimonioFinanziario.sql @@ -0,0 +1,9 @@ +-- Schema: wh +-- Stored Procedure: p_PL_D2_S153PatrimonioFinanziario + +CREATE procedure [wh].[p_PL_D2_S153PatrimonioFinanziario] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Intermediario,Ordine,Banca,Controvalore,Percentuale from wh.PL_D2_S153PatrimonioFinanziario + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY Ordine + + + + diff --git a/sql/storedCollaudo/wh_p_PL_D2_S154PatrimonioFinanziario.sql b/sql/storedCollaudo/wh_p_PL_D2_S154PatrimonioFinanziario.sql new file mode 100644 index 00000000..96085434 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_D2_S154PatrimonioFinanziario.sql @@ -0,0 +1,9 @@ +-- Schema: wh +-- Stored Procedure: p_PL_D2_S154PatrimonioFinanziario + + CREATE procedure [wh].[p_PL_D2_S154PatrimonioFinanziario] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Banca,Ordinamento,AssetClassId,AssetClassName,Controvalore,Percentuale,PatrimonioFinanziarioCTV from wh.PL_D2_S154PatrimonioFinanziario + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY ORDINAMENTO + + + + diff --git a/sql/storedCollaudo/wh_p_PL_D2_S155PatrimonioImmobiliare.sql b/sql/storedCollaudo/wh_p_PL_D2_S155PatrimonioImmobiliare.sql new file mode 100644 index 00000000..5e016826 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_D2_S155PatrimonioImmobiliare.sql @@ -0,0 +1,10 @@ +-- Schema: wh +-- Stored Procedure: p_PL_D2_S155PatrimonioImmobiliare + +CREATE procedure [wh].[p_PL_D2_S155PatrimonioImmobiliare] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Descrizione,Tipologia,Localita,AffittoPercepito,Valore,Totale,TotaleAffitto from wh.PL_D2_S155PatrimonioImmobiliare +where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY Valore desc + + + + + diff --git a/sql/storedCollaudo/wh_p_PL_D2_S156ALtroPatrimonio.sql b/sql/storedCollaudo/wh_p_PL_D2_S156ALtroPatrimonio.sql new file mode 100644 index 00000000..993d773c --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_D2_S156ALtroPatrimonio.sql @@ -0,0 +1,9 @@ +-- Schema: wh +-- Stored Procedure: p_PL_D2_S156ALtroPatrimonio + +CREATE procedure [wh].[p_PL_D2_S156ALtroPatrimonio] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Denominazione,NumeroQuote,Valore,Totale from wh.PL_D2_S156ALtroPatrimonio +where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY Valore DESC + + + + diff --git a/sql/storedCollaudo/wh_p_PL_D2_S157ConfrontoPiramidi.sql b/sql/storedCollaudo/wh_p_PL_D2_S157ConfrontoPiramidi.sql new file mode 100644 index 00000000..b822c9c6 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_D2_S157ConfrontoPiramidi.sql @@ -0,0 +1,10 @@ +-- Schema: wh +-- Stored Procedure: p_PL_D2_S157ConfrontoPiramidi + + + CREATE procedure [wh].[p_PL_D2_S157ConfrontoPiramidi] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NeedArea,AreaName,PercentualeModello,PercentualeAttuale,ControvaloreAttuale,ControvaloreModello,Totale_Percentuale,DifferenzaEuro,DifferenzaPercentuale,var_needarea,var_needareaString,copertura_needarea,copertura_needareaString,Nota,somma_controvalAttuale,somma_controvalModello,somma_percentualeAttuale,somma_percentualeModello,var_tot,var_totString,var_tot_pir,var_tot_pirString,copertura_tot,copertura_totString,copertura_tot_pir,copertura_tot_pirString,VAR_RISFIN,VAR_RISFINSTRING,copertura_risfin,copertura_risfinString,ordinamento from wh.PL_D2_S157ConfrontoPiramidi + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY ordinamento + + + + diff --git a/sql/storedCollaudo/wh_p_PL_D2_S158PiramideModello.sql b/sql/storedCollaudo/wh_p_PL_D2_S158PiramideModello.sql new file mode 100644 index 00000000..6cde135a --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_D2_S158PiramideModello.sql @@ -0,0 +1,7 @@ +-- Schema: wh +-- Stored Procedure: p_PL_D2_S158PiramideModello + +CREATE procedure [wh].[p_PL_D2_S158PiramideModello] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NomePrg,OrizzTempPrg,VarPrg,ControvalorePrg from wh.PL_D2_S158PiramideModello where i_rete = @rete and i_codiceFiscale = @codiceFiscale + + + diff --git a/sql/storedCollaudo/wh_p_PL_D2_S159PatrimonioFinanziario.sql b/sql/storedCollaudo/wh_p_PL_D2_S159PatrimonioFinanziario.sql new file mode 100644 index 00000000..2e1058da --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_D2_S159PatrimonioFinanziario.sql @@ -0,0 +1,9 @@ +-- Schema: wh +-- Stored Procedure: p_PL_D2_S159PatrimonioFinanziario + +CREATE procedure [wh].[p_PL_D2_S159PatrimonioFinanziario] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Banca,Ordinamento,AssetClassId,AssetClassName,Controvalore,Percentuale,Totale from wh.PL_D2_S159PatrimonioFinanziario +where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY ORDINAMENTO + + + + diff --git a/sql/storedCollaudo/wh_p_PL_D2_S160DettaglioProdottiBF.sql b/sql/storedCollaudo/wh_p_PL_D2_S160DettaglioProdottiBF.sql new file mode 100644 index 00000000..de1ba78c --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_D2_S160DettaglioProdottiBF.sql @@ -0,0 +1,9 @@ +-- Schema: wh +-- Stored Procedure: p_PL_D2_S160DettaglioProdottiBF + +CREATE procedure [wh].[p_PL_D2_S160DettaglioProdottiBF] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,needarea,needareades,areasortorder,nome_progetto,ORDINAMENTO_PROGETTO,somma_controval_needarea,versato_needarea,versato_needareaString,MinusPlusValenza_needarea,MinusPlusValenza_needareaString,somma_controval_need_prog,versato_need_prog,versato_need_progString,MinusPlusValenza_need_prog,MinusPlusValenza_need_progString,somma_var_need_prog,somma_copertura_need_prog,var_needarea,var_needareaString,copertura_needarea,copertura_needareaString,var_need_prog,var_need_progString,copertura_need_prog,dataSottoscrizione,ContrattoDossier,Descrizione,Controvalore,VersatoNetto,VersatoNettoString,MinusPlusValenza,MinusPlusValenzaString,VaRprodotto,varProdottoString,Coperturaprodotto,PerformanceYTD,performanceDS,partitaViaggiante,nota_needarea,creditrisk,creditriskstring,creditriskemit from wh.PL_D2_S160DettaglioProdottiBF + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY AREASORTORDER,ORDINAMENTO_PROGETTO,nome_progetto, Controvalore DESC + + + + diff --git a/sql/storedCollaudo/wh_p_PL_D2_S162DettaglioProdotti.sql b/sql/storedCollaudo/wh_p_PL_D2_S162DettaglioProdotti.sql new file mode 100644 index 00000000..44e074c5 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_D2_S162DettaglioProdotti.sql @@ -0,0 +1,7 @@ +-- Schema: wh +-- Stored Procedure: p_PL_D2_S162DettaglioProdotti + +CREATE procedure [wh].[p_PL_D2_S162DettaglioProdotti] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,TipoProdotto,Intermediario,DataDiSottoscrizioni,Descrizione,Controvalore,VersatoNetto,MinusPlusValenza,VarPerc,VersatoNettoString,MinusPlusValenzaString,VarPercString,TotaleCTV,TotaleVersatoNetto,TotaleVersatoNettoString,TotaleMinus,TotaleMinusString,TotaleVar,TotaleVarString,Copertura_Tot,Aggiornamento,Copertura_Totale,Rete,Cod_Fiscale,Tipo,Note,ProdNonInCatalogo,OrdinamentoProdotti,creditrisk,creditriskstring,creditriskemit from wh.PL_D2_S162DettaglioProdotti where i_rete = @rete and i_codiceFiscale = @codiceFiscale + + + diff --git a/sql/storedCollaudo/wh_p_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql b/sql/storedCollaudo/wh_p_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..29feb034 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,11 @@ +-- Schema: wh +-- Stored Procedure: p_PL_D2_S163PatrimonioFinanziarioMAssetClass + +CREATE procedure [wh].[p_PL_D2_S163PatrimonioFinanziarioMAssetClass] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Ordinamento,AssetClassId,AssetClassName,Controvalore,Percentuale,PatrimonioFinanziarioCTV from wh.PL_D2_S163PatrimonioFinanziarioMAssetClass + where i_rete = @rete and i_codiceFiscale = @codiceFiscale + ORDER BY + ORDINAMENTO + + + + diff --git a/sql/storedCollaudo/wh_p_PL_D2_S164PolizzeAltriIstituti.sql b/sql/storedCollaudo/wh_p_PL_D2_S164PolizzeAltriIstituti.sql new file mode 100644 index 00000000..8572cc9c --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_D2_S164PolizzeAltriIstituti.sql @@ -0,0 +1,7 @@ +-- Schema: wh +-- Stored Procedure: p_PL_D2_S164PolizzeAltriIstituti + +CREATE procedure [wh].[p_PL_D2_S164PolizzeAltriIstituti] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Intermediario,DataDiSottoscrizione,DataDiScadenza,TipologiaPolizza,Descrizione,Aggiornamento,PrestazioneAssicurata,TipoVersamento,AmmontareVersamento from wh.PL_D2_S164PolizzeAltriIstituti where i_rete = @rete and i_codiceFiscale = @codiceFiscale + + + diff --git a/sql/storedCollaudo/wh_p_PL_D2_S165FondiAltriIstituti.sql b/sql/storedCollaudo/wh_p_PL_D2_S165FondiAltriIstituti.sql new file mode 100644 index 00000000..0be93327 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_D2_S165FondiAltriIstituti.sql @@ -0,0 +1,7 @@ +-- Schema: wh +-- Stored Procedure: p_PL_D2_S165FondiAltriIstituti + +CREATE procedure [wh].[p_PL_D2_S165FondiAltriIstituti] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Intermediario,descrizione_prodotto,DataSottoscrizione,tipo_versamento,controvalore,ammontare,somma_controval,Var_Prodotto,Var_ProdottoString,Var_Totale,Var_TotaleString,copertura_totale,Nota,ProdNonInCatalogo,creditrisk,creditriskstring from wh.PL_D2_S165FondiAltriIstituti where i_rete = @rete and i_codiceFiscale = @codiceFiscale + + + diff --git a/sql/storedCollaudo/wh_p_PL_D2_S167DistribuzioneRischioCredito.sql b/sql/storedCollaudo/wh_p_PL_D2_S167DistribuzioneRischioCredito.sql new file mode 100644 index 00000000..8424ee3c --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_D2_S167DistribuzioneRischioCredito.sql @@ -0,0 +1,7 @@ +-- Schema: wh +-- Stored Procedure: p_PL_D2_S167DistribuzioneRischioCredito + +CREATE procedure [wh].[p_PL_D2_S167DistribuzioneRischioCredito] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,RETE,COD_FISCALE,INTERMEDIARIO,ORDINE,CTV_TOT,CTV_notCovered,CTV_CreditRisk,CTV_na,PERC_CreditRisk,PERC_NA from wh.PL_D2_S167DistribuzioneRischioCredito where i_rete = @rete and i_codiceFiscale = @codiceFiscale + + + diff --git a/sql/storedCollaudo/wh_p_PL_D2_S168TabellaEmittenti.sql b/sql/storedCollaudo/wh_p_PL_D2_S168TabellaEmittenti.sql new file mode 100644 index 00000000..dfb58472 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_D2_S168TabellaEmittenti.sql @@ -0,0 +1,9 @@ +-- Schema: wh +-- Stored Procedure: p_PL_D2_S168TabellaEmittenti + +CREATE procedure [wh].[p_PL_D2_S168TabellaEmittenti] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,COD_FISCALE,RETE,RATING_AAA,RATING_AAp,RATING_AA,RATING_AAm,RATING_Ap,RATING_A,RATING_Am,RATING_BBBp,RATING_BBB,RATING_BBBm,RATING_BBp,RATING_BB,RATING_BBm,RATING_Bp,RATING_B,RATING_Bm,RATING_CCCp,RATING_CCC,RATING_CCCm,RATING_CC,RATING_C,RATING_D,RATING_na,FLG_RISKCLASS1,FLG_RISKCLASS2,FLG_RISKCLASS3,FLG_RISKCLASS4,FLG_RISKCLASS5,FLG_RISKCLASS6,FLG_RISKCLASS7,FLG_RISKCLASS8,FLG_RISKCLASS9,FLG_RISKCLASS10,INTERMEDIARIO,ISSUER,STOCKSCounterValue,bondsCounterValue,CONCENTRATION_ISSUER,CONCENTRATION,NC from wh.PL_D2_S168TabellaEmittenti + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC + + + + diff --git a/sql/storedCollaudo/wh_p_PL_D2_S169RischiomercatoRischiocredito.sql b/sql/storedCollaudo/wh_p_PL_D2_S169RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..c8344828 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_D2_S169RischiomercatoRischiocredito.sql @@ -0,0 +1,10 @@ +-- Schema: wh +-- Stored Procedure: p_PL_D2_S169RischiomercatoRischiocredito + +CREATE procedure [wh].[p_PL_D2_S169RischiomercatoRischiocredito] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,RETE,COD_FISCALE,INSTITUTENAME,CTV,CODICEPROFILO,VARMAX,VAR,VARSTRING,RISKCLASS,RISKCLASSSTRING,COVERAGE,COVERAGESTRING,RISKCLASSMAX,PERCENTAGE,ORDINE,Ully_perc from wh.PL_D2_S169RischiomercatoRischiocredito + where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY ordine + + + + diff --git a/sql/storedCollaudo/wh_p_PL_D2_S170RischioDiversificazione.sql b/sql/storedCollaudo/wh_p_PL_D2_S170RischioDiversificazione.sql new file mode 100644 index 00000000..24935266 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_D2_S170RischioDiversificazione.sql @@ -0,0 +1,9 @@ +-- Schema: wh +-- Stored Procedure: p_PL_D2_S170RischioDiversificazione + +CREATE procedure [wh].[p_PL_D2_S170RischioDiversificazione] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,COD_FISCALE,RETE,CTV_AGGREG,CREDITRISK,VAR,varString,coperturaString,diversificazione,COPERTURA,PATRIMONIO,profiloCode,var_profilo,complessita,Ordine from wh.PL_D2_S170RischioDiversificazione + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY ordine + + + + diff --git a/sql/storedCollaudo/wh_p_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql b/sql/storedCollaudo/wh_p_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..ed5c85e7 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,10 @@ +-- Schema: wh +-- Stored Procedure: p_PL_D2_S171PatrimonioNonRappresentabileAssettClass + +CREATE procedure [wh].[p_PL_D2_S171PatrimonioNonRappresentabileAssettClass] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Contratto,DataSottoscrizione,Descrizione,Controvalore,controvalore_contratto,PartitaViaggiante,Intermediario from wh.PL_D2_S171PatrimonioNonRappresentabileAssettClass +where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY CONTROVALORE DESC + + + + diff --git a/sql/storedCollaudo/wh_p_PL_D_S170RischioDiversificazione.sql b/sql/storedCollaudo/wh_p_PL_D_S170RischioDiversificazione.sql new file mode 100644 index 00000000..38bdc1e9 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_D_S170RischioDiversificazione.sql @@ -0,0 +1,9 @@ +-- Schema: wh +-- Stored Procedure: p_PL_D_S170RischioDiversificazione + +CREATE procedure [wh].[p_PL_D_S170RischioDiversificazione] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,COD_FISCALE,RETE,CTV_AGGREG,CREDITRISK,VAR,varString,coperturaString,diversificazione,COPERTURA,PATRIMONIO,profiloCode,var_profilo,Ordine from wh.PL_D_S170RischioDiversificazione + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY ordine + + + + diff --git a/sql/storedCollaudo/wh_p_PL_D_S178IndicatoriEsitoAdeguatezza.sql b/sql/storedCollaudo/wh_p_PL_D_S178IndicatoriEsitoAdeguatezza.sql new file mode 100644 index 00000000..f7229c92 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_D_S178IndicatoriEsitoAdeguatezza.sql @@ -0,0 +1,74 @@ +-- Schema: wh +-- Stored Procedure: p_PL_D_S178IndicatoriEsitoAdeguatezza + + + +CREATE procedure [wh].[p_PL_D_S178IndicatoriEsitoAdeguatezza] (@Rete char(1), @CodiceFiscale varchar(16)) as + +select * into #appo from [wh].[PL_D_S178IndicatoriEsitoAdeguatezza] where i_rete = @rete and i_codiceFiscale = @codiceFiscale + + select + 1 as Ordine, + 'Rischio Mercato' as Indicatore, + RM_Adeguatezza as Adeguato, + RM_Descrizione as DescrizioneEsito + from #appo + + union + + select + 2 as Ordine, + 'Rischio Credito' as Indicatore, + RC_Adeguatezza as Adeguato, + RC_Descrizione as DescrizioneEsito + from #appo + + union + + select + 3 as Ordine, + 'Concentrazione emittenti' as Indicatore, + CE_Adeguatezza as Adeguato, + CE_Descrizione as DescrizioneEsito + from #appo + + union + + select + 4 as Ordine, + 'Complessit' as Indicatore, + CM_Adeguatezza as Adeguato, + CM_Descrizione as DescrizioneEsito + from #appo + where CM_Adeguatezza <> 'prof' + + union + + select + 5 as Ordine, + 'Concentrazione in prodotti complessi' as Indicatore, + CC_Adeguatezza as Adeguato, + CC_Descrizione as DescrizioneEsito + from #appo + where CC_Adeguatezza <> 'prof' + + union + + select + 6 as Ordine, + 'Frequenza delle operazioni' as Indicatore, + FQ_Adeguatezza as Adeguato, + FQ_Descrizione as DescrizioneEsito + from #appo + where FQ_Adeguatezza <> 'prof' + + union + + select + 7 as Ordine, + 'Liquidit/Liquidabilit (Orizzonte temporali degli investimenti)' as Indicatore, + LQ_Adeguatezza as Adeguato, + LQ_Descrizione as DescrizioneEsito + from #appo + + diff --git a/sql/storedCollaudo/wh_p_PL_MP_S133AreeBisognoPrincProd.sql b/sql/storedCollaudo/wh_p_PL_MP_S133AreeBisognoPrincProd.sql new file mode 100644 index 00000000..6d519d99 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_MP_S133AreeBisognoPrincProd.sql @@ -0,0 +1,10 @@ +-- Schema: wh +-- Stored Procedure: p_PL_MP_S133AreeBisognoPrincProd + +CREATE procedure [wh].[p_PL_MP_S133AreeBisognoPrincProd] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NeedArea,AreaName,PercentualeModello,PercentualeAttuale,ControvaloreAttuale,ControvaloreModello,Totale_Percentuale,DifferenzaEuro,DifferenzaPercentuale,var_needarea,var_needareaString,copertura_needarea,copertura_needareaString,Nota,somma_controvalAttuale,somma_controvalModello,somma_percentualeAttuale,somma_percentualeModello,var_tot,var_totString,var_tot_pir,var_tot_pirString,copertura_tot,copertura_totString,copertura_tot_pir,copertura_tot_pirString,VAR_RISFIN,VAR_RISFINSTRING,copertura_risfin,copertura_risfinString,ordinamento +from wh.PL_MP_S133AreeBisognoPrincProd + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY ordinamento + + + + diff --git a/sql/storedCollaudo/wh_p_PL_MP_S133BISPrincipaliProdotti.sql b/sql/storedCollaudo/wh_p_PL_MP_S133BISPrincipaliProdotti.sql new file mode 100644 index 00000000..05939274 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_MP_S133BISPrincipaliProdotti.sql @@ -0,0 +1,10 @@ +-- Schema: wh +-- Stored Procedure: p_PL_MP_S133BISPrincipaliProdotti + +CREATE procedure [wh].[p_PL_MP_S133BISPrincipaliProdotti] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,descrProdotto,Controvalore,VaRprodotto,rischioRelativo,pesoRelativo,codAreaBisogno from wh.PL_MP_S133BISPrincipaliProdotti + where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY rischioRelativo DESC,descrProdotto DESC + + + + diff --git a/sql/storedCollaudo/wh_p_PL_MP_S134BISMonitoraggioLiqInv.sql b/sql/storedCollaudo/wh_p_PL_MP_S134BISMonitoraggioLiqInv.sql new file mode 100644 index 00000000..c85ae91e --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_MP_S134BISMonitoraggioLiqInv.sql @@ -0,0 +1,11 @@ +-- Schema: wh +-- Stored Procedure: p_PL_MP_S134BISMonitoraggioLiqInv + +CREATE procedure [wh].[p_PL_MP_S134BISMonitoraggioLiqInv] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NEED_AREA,NOME_PROGETTO,ordinamento_progetto,DATAVALORIZZAZIONE,CONTROVALORE,RISORSEASSOCIATE from wh.PL_MP_S134BISMonitoraggioLiqInv + where i_rete = @rete and i_codiceFiscale = @codiceFiscale + + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE + + + + diff --git a/sql/storedCollaudo/wh_p_PL_MP_S134MonitoraggioLiquidita.sql b/sql/storedCollaudo/wh_p_PL_MP_S134MonitoraggioLiquidita.sql new file mode 100644 index 00000000..c22e501f --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_MP_S134MonitoraggioLiquidita.sql @@ -0,0 +1,7 @@ +-- Schema: wh +-- Stored Procedure: p_PL_MP_S134MonitoraggioLiquidita + +CREATE procedure [wh].[p_PL_MP_S134MonitoraggioLiquidita] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,cf_rendim_non_rappr,Need_Area,Nome_Progetto,ordinamento_progetto,DataAttivazioneMonitoraggio,ControvaloreMonitorato,ApportoIniziale,ApportoSuccessivo,LIQUIDAZIONI,CedoleEDividendi,MinusPlusAreaProgetto,Rendimento_Attuale,RisorseApportate,DataControvalore,RENDIMENTO_ANNUALIZZATO from wh.PL_MP_S134MonitoraggioLiquidita where i_rete = @rete and i_codiceFiscale = @codiceFiscale + + + diff --git a/sql/storedCollaudo/wh_p_PL_MP_S135MonitoraggioInvestimento.sql b/sql/storedCollaudo/wh_p_PL_MP_S135MonitoraggioInvestimento.sql new file mode 100644 index 00000000..d8d17236 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_MP_S135MonitoraggioInvestimento.sql @@ -0,0 +1,10 @@ +-- Schema: wh +-- Stored Procedure: p_PL_MP_S135MonitoraggioInvestimento + +CREATE procedure [wh].[p_PL_MP_S135MonitoraggioInvestimento] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NEED_AREA,NOME_PROGETTO,ordinamento_progetto,DATAVALORIZZAZIONE,CONTROVALORE,RISORSEASSOCIATE from wh.PL_MP_S135MonitoraggioInvestimento + where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE + + + + diff --git a/sql/storedCollaudo/wh_p_PL_MP_S137BISCapitaleProtetto.sql b/sql/storedCollaudo/wh_p_PL_MP_S137BISCapitaleProtetto.sql new file mode 100644 index 00000000..06b6e427 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_MP_S137BISCapitaleProtetto.sql @@ -0,0 +1,7 @@ +-- Schema: wh +-- Stored Procedure: p_PL_MP_S137BISCapitaleProtetto + +CREATE procedure [wh].[p_PL_MP_S137BISCapitaleProtetto] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,DES_PROD,COD_CONF,QUOTA,NUMEROQUOTE,CONTROVALORE,DATARIF,DES_MAX,QUOTA_MAX,QUOTA_MAX_PERC,DATARIF_MAX,DES_PROT,QUOTA_PROT,NUMEROQUOTE_PROT,CONTROVALORE_PROT,DES_PROD_TIT from wh.PL_MP_S137BISCapitaleProtetto where i_rete = @rete and i_codiceFiscale = @codiceFiscale + + + diff --git a/sql/storedCollaudo/wh_p_PL_MP_S137Bonus.sql b/sql/storedCollaudo/wh_p_PL_MP_S137Bonus.sql new file mode 100644 index 00000000..43421072 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_MP_S137Bonus.sql @@ -0,0 +1,7 @@ +-- Schema: wh +-- Stored Procedure: p_PL_MP_S137Bonus + +CREATE procedure [wh].[p_PL_MP_S137Bonus] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,RETE,COD_FISCALE,DES_PROD,COD_CONF,CTV,DT_TRIM,DESBONUS_M,BONUS_M,DTDEC_M,DESBONUS_5,BONUS_5,DTDEC_5,DESBONUS_10,BONUS_10,DTDEC_10,COD_PROD from wh.PL_MP_S137Bonus where i_rete = @rete and i_codiceFiscale = @codiceFiscale + + + diff --git a/sql/storedCollaudo/wh_p_PL_MP_S140AnalisiRisparmioCharts.sql b/sql/storedCollaudo/wh_p_PL_MP_S140AnalisiRisparmioCharts.sql new file mode 100644 index 00000000..9507f256 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_MP_S140AnalisiRisparmioCharts.sql @@ -0,0 +1,7 @@ +-- Schema: wh +-- Stored Procedure: p_PL_MP_S140AnalisiRisparmioCharts + +CREATE procedure [wh].[p_PL_MP_S140AnalisiRisparmioCharts] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,RETE,COD_FISCALE,INTERMEDIARIO,ORDINE,CTV_TOT,CTV_notCovered,CTV_CreditRisk,CTV_na,PERC_CreditRisk,PERC_NA from wh.PL_MP_S140AnalisiRisparmioCharts where i_rete = @rete and i_codiceFiscale = @codiceFiscale + + + diff --git a/sql/storedCollaudo/wh_p_PL_MP_S141AnalisiRisparmioTable.sql b/sql/storedCollaudo/wh_p_PL_MP_S141AnalisiRisparmioTable.sql new file mode 100644 index 00000000..2cc9a8a9 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_MP_S141AnalisiRisparmioTable.sql @@ -0,0 +1,9 @@ +-- Schema: wh +-- Stored Procedure: p_PL_MP_S141AnalisiRisparmioTable + +CREATE procedure [wh].[p_PL_MP_S141AnalisiRisparmioTable] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,COD_FISCALE,RETE,RATING_AAA,RATING_AAp,RATING_AA,RATING_AAm,RATING_Ap,RATING_A,RATING_Am,RATING_BBBp,RATING_BBB,RATING_BBBm,RATING_BBp,RATING_BB,RATING_BBm,RATING_Bp,RATING_B,RATING_Bm,RATING_CCCp,RATING_CCC,RATING_CCCm,RATING_CC,RATING_C,RATING_D,RATING_na,FLG_RISKCLASS1,FLG_RISKCLASS2,FLG_RISKCLASS3,FLG_RISKCLASS4,FLG_RISKCLASS5,FLG_RISKCLASS6,FLG_RISKCLASS7,FLG_RISKCLASS8,FLG_RISKCLASS9,FLG_RISKCLASS10,INTERMEDIARIO,ISSUER,STOCKSCounterValue,bondsCounterValue,CONCENTRATION_ISSUER,CONCENTRATION,NC from wh.PL_MP_S141AnalisiRisparmioTable + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY CONCENTRATION DESC + + + + diff --git a/sql/storedCollaudo/wh_p_PL_MP_S146RischioDiversificazione.sql b/sql/storedCollaudo/wh_p_PL_MP_S146RischioDiversificazione.sql new file mode 100644 index 00000000..956125d6 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_MP_S146RischioDiversificazione.sql @@ -0,0 +1,10 @@ +-- Schema: wh +-- Stored Procedure: p_PL_MP_S146RischioDiversificazione + +CREATE procedure [wh].[p_PL_MP_S146RischioDiversificazione] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,COD_FISCALE,RETE,VAR,varString,coperturaString,diversificazione,COPERTURA,PATRIMONIO,profiloCode,var_profilo,Ordine from wh.PL_MP_S146RischioDiversificazione +where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY Ordine + + + + diff --git a/sql/storedCollaudo/wh_p_PL_Prodotti_Non_Associati_Area_Inv.sql b/sql/storedCollaudo/wh_p_PL_Prodotti_Non_Associati_Area_Inv.sql new file mode 100644 index 00000000..68378526 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_Prodotti_Non_Associati_Area_Inv.sql @@ -0,0 +1,7 @@ +-- Schema: wh +-- Stored Procedure: p_PL_Prodotti_Non_Associati_Area_Inv + +CREATE procedure [wh].[p_PL_Prodotti_Non_Associati_Area_Inv] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,RETE,COD_FISCALE,NOME_PROGETTO,NEED_AREA,CONTROVALOREATTUALE,var_needarea,ORDINAMENTO_PROGETTO,var_needareaString from wh.PL_Prodotti_Non_Associati_Area_Inv where i_rete = @rete and i_codiceFiscale = @codiceFiscale + + + diff --git a/sql/storedCollaudo/wh_p_PL_S10PatrimonioFinanziario.sql b/sql/storedCollaudo/wh_p_PL_S10PatrimonioFinanziario.sql new file mode 100644 index 00000000..6be77097 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_S10PatrimonioFinanziario.sql @@ -0,0 +1,10 @@ +-- Schema: wh +-- Stored Procedure: p_PL_S10PatrimonioFinanziario + +CREATE procedure [wh].[p_PL_S10PatrimonioFinanziario] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,BANCA,ORDINAMENTO,AssetClassId,AssetClassName,Controvalore,Percentuale,Totale from wh.PL_S10PatrimonioFinanziario + where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY ordinamento + + + + diff --git a/sql/storedCollaudo/wh_p_PL_S43BISDettaglioProdottiBF.sql b/sql/storedCollaudo/wh_p_PL_S43BISDettaglioProdottiBF.sql new file mode 100644 index 00000000..fa1e57e1 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_S43BISDettaglioProdottiBF.sql @@ -0,0 +1,10 @@ +-- Schema: wh +-- Stored Procedure: p_PL_S43BISDettaglioProdottiBF + +CREATE procedure [wh].[p_PL_S43BISDettaglioProdottiBF] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,needarea,needareades,areasortorder,nome_progetto,ORDINAMENTO_PROGETTO,somma_controval_needarea,versato_needarea,versato_needareaString,MinusPlusValenza_needarea,MinusPlusValenza_needareaString,somma_controval_need_prog,versato_need_prog,versato_need_progString,MinusPlusValenza_need_prog,MinusPlusValenza_need_progString,somma_var_need_prog,somma_copertura_need_prog,var_needarea,var_needareaString,copertura_needarea,copertura_needareaString,var_need_prog,var_need_progString,copertura_need_prog,copertura_need_progString,dataAssociazione,ContrattoDossier,Descrizione,Controvalore,VersatoNetto,VersatoNettoString,MinusPlusValenza,MinusPlusValenzaString,VaRprodotto,varProdottoString,Coperturaprodotto,PerformanceYTD,performanceDS,partitaViaggiante,nota_needarea,creditrisk,creditriskstring,creditriskemit from wh.PL_S43BISDettaglioProdottiBF +where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY AREASORTORDER, NOME_PROGETTO, Controvalore DESC -- modifica TRINGALI + + + + diff --git a/sql/storedCollaudo/wh_p_PL_S43ContoCorrenteBF.sql b/sql/storedCollaudo/wh_p_PL_S43ContoCorrenteBF.sql new file mode 100644 index 00000000..e517cc9c --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_S43ContoCorrenteBF.sql @@ -0,0 +1,10 @@ +-- Schema: wh +-- Stored Procedure: p_PL_S43ContoCorrenteBF + + CREATE procedure [wh].[p_PL_S43ContoCorrenteBF] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,datadiSottoscrizione,conto,Controvalore,SALDO_DISPONIBILE,creditrisk,creditriskstring,var,varString,totaleVar,totaleVarString from wh.PL_S43ContoCorrenteBF + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY + Controvalore DESC + + + + diff --git a/sql/storedCollaudo/wh_p_PL_S43DettaglioProdottiBF.sql b/sql/storedCollaudo/wh_p_PL_S43DettaglioProdottiBF.sql new file mode 100644 index 00000000..3efd9629 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_S43DettaglioProdottiBF.sql @@ -0,0 +1,9 @@ +-- Schema: wh +-- Stored Procedure: p_PL_S43DettaglioProdottiBF + +CREATE procedure [wh].[p_PL_S43DettaglioProdottiBF] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,needarea,needareades,areasortorder,nome_progetto,ORDINAMENTO_PROGETTO,somma_controval_needarea,versato_needarea,versato_needareaString,MinusPlusValenza_needarea,MinusPlusValenza_needareaString,somma_controval_need_prog,versato_need_prog,versato_need_progString,MinusPlusValenza_need_prog,MinusPlusValenza_need_progString,somma_var_need_prog,somma_copertura_need_prog,var_needarea,var_needareaString,copertura_needarea,copertura_needareaString,var_need_prog,var_need_progString,copertura_need_prog,dataSottoscrizione,ContrattoDossier,Descrizione,Controvalore,VersatoNetto,VersatoNettoString,MinusPlusValenza,MinusPlusValenzaString,VaRprodotto,varProdottoString,Coperturaprodotto,PerformanceYTD,performanceDS,partitaViaggiante,nota_needarea,creditrisk,creditriskstring,creditriskemit from wh.PL_S43DettaglioProdottiBF + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY AREASORTORDER,ORDINAMENTO_PROGETTO,nome_progetto, Controvalore DESC + + + + diff --git a/sql/storedCollaudo/wh_p_PL_S43LineaSelfBF.sql b/sql/storedCollaudo/wh_p_PL_S43LineaSelfBF.sql new file mode 100644 index 00000000..b305efc9 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_S43LineaSelfBF.sql @@ -0,0 +1,7 @@ +-- Schema: wh +-- Stored Procedure: p_PL_S43LineaSelfBF + +CREATE procedure [wh].[p_PL_S43LineaSelfBF] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NumContratto,Controvalore,NomeProdotto,DataSott from wh.PL_S43LineaSelfBF where i_rete = @rete and i_codiceFiscale = @codiceFiscale + + + diff --git a/sql/storedCollaudo/wh_p_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql b/sql/storedCollaudo/wh_p_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..cd672de2 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,7 @@ +-- Schema: wh +-- Stored Procedure: p_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass + +CREATE procedure [wh].[p_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Contratto,Area,NEEDAREA,Progetto,ord_progetto,DataSottoscrizione,Descrizione,Controvalore,controvalore_contratto,PartitaViaggiante,Intermediario from wh.PL_S76AlternativaPatrimonioNonRappresentabileAssettClass where i_rete = @rete and i_codiceFiscale = @codiceFiscale + + + diff --git a/sql/storedCollaudo/wh_p_PL_S80Alternativa.sql b/sql/storedCollaudo/wh_p_PL_S80Alternativa.sql new file mode 100644 index 00000000..a88b63e3 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_S80Alternativa.sql @@ -0,0 +1,7 @@ +-- Schema: wh +-- Stored Procedure: p_PL_S80Alternativa + +CREATE procedure [wh].[p_PL_S80Alternativa] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,RETE,Cod_Fiscale,Fase,DataFase,Partita_viaggiante,CTV_EXT,CTV_INV,CTV_PRE,CTV_RIS,CTV_LIQ,RisorseAllocate,RisorseNonAllocate,RisorseFinanziarie,Contocorrente,ctvself,TotalePatrimonio,DettMov,NumeroAsterischiNota from wh.PL_S80Alternativa where i_rete = @rete and i_codiceFiscale = @codiceFiscale + + + diff --git a/sql/storedCollaudo/wh_p_PL_S82BisDatiSintetici.sql b/sql/storedCollaudo/wh_p_PL_S82BisDatiSintetici.sql new file mode 100644 index 00000000..76cf86d2 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_S82BisDatiSintetici.sql @@ -0,0 +1,7 @@ +-- Schema: wh +-- Stored Procedure: p_PL_S82BisDatiSintetici + +CREATE procedure [wh].[p_PL_S82BisDatiSintetici] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,ORDINAMENTO_PROGETTO,need_area,NOME_PROGETTO,var_needarea,var_needareaString,copertura_needarea,copertura_needareaString,orizzonte_Pianificato,durataResidua,ControvaloreAttuale from wh.PL_S82BisDatiSintetici where i_rete = @rete and i_codiceFiscale = @codiceFiscale + + + diff --git a/sql/storedCollaudo/wh_p_PL_S82DatiSintetici.sql b/sql/storedCollaudo/wh_p_PL_S82DatiSintetici.sql new file mode 100644 index 00000000..246858b2 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_S82DatiSintetici.sql @@ -0,0 +1,7 @@ +-- Schema: wh +-- Stored Procedure: p_PL_S82DatiSintetici + +CREATE procedure [wh].[p_PL_S82DatiSintetici] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,need_area,var_needarea,var_needareaString,copertura_needarea,copertura_needareaString,ORDINAMENTO_PROGETTO,ControvaloreAttuale from wh.PL_S82DatiSintetici where i_rete = @rete and i_codiceFiscale = @codiceFiscale + + + diff --git a/sql/storedCollaudo/wh_p_PL_S85RendimentoPortafoglioCono.sql b/sql/storedCollaudo/wh_p_PL_S85RendimentoPortafoglioCono.sql new file mode 100644 index 00000000..8bcbaf71 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_S85RendimentoPortafoglioCono.sql @@ -0,0 +1,10 @@ +-- Schema: wh +-- Stored Procedure: p_PL_S85RendimentoPortafoglioCono + +CREATE procedure [wh].[p_PL_S85RendimentoPortafoglioCono] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NEED_AREA,NOME_PROGETTO,ordinamento_progetto,DATA_CONO,OTTIMISTICO,PESSIMISTICO,ORIZZONTE_MESI,RENDIMENTO,DATA_MONIT from wh.PL_S85RendimentoPortafoglioCono +where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY DATA_CONO + + + + diff --git a/sql/storedCollaudo/wh_p_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql b/sql/storedCollaudo/wh_p_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql new file mode 100644 index 00000000..d1e32bca --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql @@ -0,0 +1,11 @@ +-- Schema: wh +-- Stored Procedure: p_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento + + CREATE procedure [wh].[p_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Need_Area,Contratto,Area_O_Nome_Progetto,Descrizione,PartitaViaggiante,Controvalore,DataSottoscrizione from wh.PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento + where i_rete = @rete and i_codiceFiscale = @codiceFiscale + ORDER BY + Area_O_Nome_Progetto + + + + diff --git a/sql/storedCollaudo/wh_p_PL_S96RischiomercatoRischiocredito.sql b/sql/storedCollaudo/wh_p_PL_S96RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..a0cd1a31 --- /dev/null +++ b/sql/storedCollaudo/wh_p_PL_S96RischiomercatoRischiocredito.sql @@ -0,0 +1,9 @@ +-- Schema: wh +-- Stored Procedure: p_PL_S96RischiomercatoRischiocredito + + CREATE procedure [wh].[p_PL_S96RischiomercatoRischiocredito] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,RETE,COD_FISCALE,INSTITUTENAME,CTV,CODICEPROFILO,VARMAX,VAR,VARSTRING,RISKCLASS,RISKCLASSSTRING,COVERAGE,COVERAGESTRING,RISKCLASSMAX,PERCENTAGE,ORDINE,Ully_perc from wh.PL_S96RischiomercatoRischiocredito + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY ordine + + + + diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_Blacklist_Blocco_Tabellone.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_Blacklist_Blocco_Tabellone.sql new file mode 100644 index 00000000..8ea9c793 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_Blacklist_Blocco_Tabellone.sql @@ -0,0 +1,61 @@ +CREATE procedure [C6MartPeriodicoImmobiliare].[Blacklist_Blocco_Tabellone] @param1 varchar(20) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +-- [C6MartPeriodico].[Blacklist_Blocco_Tabellone] Blocco +-- [C6MartPeriodico].[Blacklist_Blocco_Tabellone] SBlocco +--select * from c6martperiodico.tabellone where blacklist is not null +--select * from C6MartPeriodico.ExcludedList +--select * from C6MartPeriodico.ExcludedList_testing +-- +--select * from c6martperiodico.tabellone where codice_fiscale='BBBMRA56T09L736R' +--select * from C6MartPeriodico.ExcludedList where codicefiscale='FRILXA72T04H501R' +--select codicefiscale,COUNT(*) from C6MartPeriodico.ExcludedList group by codicefiscale having COUNT(*)>1 +--insert into C6MartPeriodico.ExcludedList +--values ('F','BBBMRA56T09L736R','TestF',GETDATE(),1), +--('F','BBBMRA56T09L736R','TestB',GETDATE(),1), +--('F','BBBMRA56T09L736R','TestC',GETDATE(),1), +--('F','BBBMRA56T09L736R','TestF',GETDATE(),1) +----delete from C6MartPeriodico.ExcludedList where DescrErr='TestC' +if (@param1='BLOCCO') +begin +drop table if exists #riunisco_imm +drop table if exists #rimuovoduplicati_imm +update C6MartPeriodico.tabellone +set blacklist_imm=NULL +select distinct rete,codicefiscale,DescrErr +into #rimuovoduplicati_imm +from C6MartPeriodicoImmobiliare.ExcludedList +SELECT rete,codicefiscale,STRING_AGG( ISNULL(DescrErr, ' '), ',') As descrerr + into #riunisco_imm + From #rimuovoduplicati_imm group by rete,codicefiscale +update C6MartPeriodico.tabellone +set blacklist_imm=r.descrerr +from #riunisco_imm r inner join C6MartPeriodico.tabellone t +on t.chiave_acn=r.Rete+r.codicefiscale +update C6MartPeriodico.tabellone +set lettera_sost_imm='S' +where blacklist_imm like '%sostitutiva%' +end +if (@param1='SBLOCCO') +begin +update C6MartPeriodico.tabellone +set blacklist_imm=NULL +drop table if exists #riunisco1_imm +drop table if exists #rimuovoduplicati1_imm +select distinct rete,codicefiscale,DescrErr +into #rimuovoduplicati1_imm +from C6MartPeriodicoImmobiliare.ExcludedList +SELECT rete,codicefiscale,STRING_AGG( ISNULL(DescrErr, ' '), ',') As descrerr + into #riunisco1_imm + From #rimuovoduplicati1_imm group by rete,codicefiscale +update C6MartPeriodico.tabellone +set blacklist_imm=r.descrerr +from #riunisco1_imm r inner join C6MartPeriodico.tabellone t +on t.chiave_acn=r.Rete+r.codicefiscale +update C6MartPeriodico.tabellone +set lettera_sost_imm='S' +where blacklist_imm like '%sostitutiva%' +end +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_ANAG_SELF.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_ANAG_SELF.sql new file mode 100644 index 00000000..158896b4 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_ANAG_SELF.sql @@ -0,0 +1,75 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[DM_ANAG_SELF] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + TRUNCATE TABLE [C6MartPeriodicoImmobiliare].[ANAG_SELF] + INSERT INTO [C6MartPeriodicoImmobiliare].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,NOMEPRODOTTO + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB] + -- mio foglio + ,CodInterno + ,CodSottoprodotto) + SELECT + SPB.RETE + ,SPB.CODFIS + ,SPB.CODCONF + ,CAT.NomeProdotto + ,SPB.CTV + ,SPB.DTSOTTOS + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + ,CodInterno + ,CodSottoprodotto + FROM + C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI SPB + inner join C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti CAT + on SPB.isin = CAT.codisin and CAT.visibilita = 1 + -- aggiunto il 17/12/2018 per gestire l'ambiguità tra GP e FO a parità di Isin + and SPB.CodInt = CAT.CodInterno + -- fine modifica + WHERE SPB.isin in ('EURO00000009', 'EURO10000007') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'DM_ANAG_SELF' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_ANAG_SELF_20181214_PreMioFoglio.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_ANAG_SELF_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..812a44cf --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_ANAG_SELF_20181214_PreMioFoglio.sql @@ -0,0 +1,67 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[DM_ANAG_SELF_20181214_PreMioFoglio] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + TRUNCATE TABLE [C6MartPeriodicoImmobiliare].[ANAG_SELF] + INSERT INTO [C6MartPeriodicoImmobiliare].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,NOMEPRODOTTO + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SPB.RETE + ,SPB.CODFIS + ,SPB.CODCONF + ,CAT.NomeProdotto + ,SPB.CTV + ,SPB.DTSOTTOS + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI SPB + inner join C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti CAT + on SPB.isin = CAT.codisin and CAT.visibilita = 1 + WHERE SPB.isin in ('EURO00000009', 'EURO10000007') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'DM_ANAG_SELF' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_CODIFICA_CREDITRISK.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_CODIFICA_CREDITRISK.sql new file mode 100644 index 00000000..922b91e3 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_CODIFICA_CREDITRISK.sql @@ -0,0 +1,50 @@ +-- ============================================= +-- Author: Valerio Colaianni +-- Create date: 17 marzo 2009 +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[DM_CODIFICA_CREDITRISK] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_CREDITRISK', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.CODIFICA_CREDITRISK + INSERT INTO C6MartPeriodicoImmobiliare.[CODIFICA_CREDITRISK] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAL] + ,[MAX_VAL] + ,[ID_ELAB]) + SELECT + COD, + DESCR, + MINVAL, + MAXVAL, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodicoImmobiliare.RISKCLASS + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CODIFICA_CREDITRISK' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'DM_CODIFICA_CREDITRISK' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_CODIFICA_RISCHIO.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_CODIFICA_RISCHIO.sql new file mode 100644 index 00000000..552fa97a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_CODIFICA_RISCHIO.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 marzo 2009 +-- Description: NOTA BENE: I JOIN NON DOVREBBERO MAI ESSERE FATTI COME SOTTO, TRATTASI DI WORK AROUND +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[DM_CODIFICA_RISCHIO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_RISCHIO', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.CODIFICA_RISCHIO + INSERT INTO C6MartPeriodicoImmobiliare.[CODIFICA_RISCHIO] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAR] + ,[MAX_VAR] + ,[ID_ELAB]) + SELECT + SPB_PROF_RISCHIO.CODICEPROFILO AS PROFILO, + SPB_PROF_RISCHIO.DESCRIZIONEPROFILO AS DESCRIZIONE, + ISNULL(SPB_MIN.VARTRIMESTRALE,-0.01) + 0.01 AS MIN_VAR, + SPB_PROF_RISCHIO.VARTRIMESTRALE AS MAX_VAR, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodicoImmobiliare.SPB_PROF_RISCHIO + LEFT JOIN C6StagingPeriodicoImmobiliare.SPB_PROF_RISCHIO SPB_MIN + ON SPB_MIN.CODICEPROFILO + 1 = SPB_PROF_RISCHIO.CODICEPROFILO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CODIFICA_RISCHIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'DM_CODIFICA_RISCHIO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_MIFID.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_MIFID.sql new file mode 100644 index 00000000..46b4a3ad --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_MIFID.sql @@ -0,0 +1,129 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: Aggiunta chiave primaria autoincrement su tabella di staging +-- per eliminazione duplicati. +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[DM_MIFID] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MIFID', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.MIFID + INSERT INTO C6MartPeriodicoImmobiliare.[MIFID] + ([RETE] + ,[COD_FISCALE] + ,[PROFILO_ASS] + ,[DATA_INIZIO_VAL] + ,[ID_ELAB] + ,[RISKCLASS] + ,[EXPERIENCE] + ,SCADUTO ) + SELECT + AN.RETE AS RETE, + AN.CODFIS AS COD_FISCALE, + AN.CODPROF AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + CLASSeRC, + COD_PROFEC, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN + ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + FROM + C6StagingPeriodico.WSEIAN2 AS AN + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + --ON AL.RETE_PB = AN.RETE + --AND AL.CODICEFISCALE = AN.CODFIS + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN='' +UNION +SELECT + AN.RETE AS RETE, + 'FF@' + AN.CODMAN AS COD_FISCALE, --AN.CODFIS AS COD_FISCALE, + AN.CODPROF AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + classErc, + COD_PROFEC, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN + ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + FROM + C6StagingPeriodico.WSEIAN2 AS AN + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + -- ON AL.RETE_PB = AN.RETE + -- AND SUBSTRING(AL.CODICEFISCALE,4,4) = AN.CODMAN + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN <> '' + --AND AL.CODICEFISCALE LIKE '%@%' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MIFID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'DM_MIFID' + ) +END +--select count(*) from c6martperiodico.mifid \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_PARTITE_VIAGGIANTI.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_PARTITE_VIAGGIANTI.sql new file mode 100644 index 00000000..33733cc5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_PARTITE_VIAGGIANTI.sql @@ -0,0 +1,64 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[DM_PARTITE_VIAGGIANTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PARTITE_VIAGGIANTI', + GETDATE(), + 'Mart Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.PARTITE_VIAGGIANTI + INSERT INTO C6MartPeriodicoImmobiliare.PARTITE_VIAGGIANTI + (RETE + ,COD_FISCALE + ,IMPORTO + ,ID_ELAB + ,TIPO_ELAB) + SELECT + WSEIPV.RETE AS RETE, + case when isnull(codman,'') ='' then WSEIPV.CODFIS else 'FF@'+ codman end AS COD_FISCALE, + SUM(IMPVER) AS IMPORTO, + @ID_ELAB, + @TIPO_ELAB + FROM + C6StagingPeriodico.WSEIPV + WHERE + WSEIPV.DTTRIM = ( + SELECT + MAX(DTTRIM) + FROM + C6StagingPeriodico.WSEIPV + ) + GROUP BY + WSEIPV.RETE, + case when isnull(codman,'') ='' then WSEIPV.CODFIS else 'FF@'+ codman end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_RISCHIO_AGGREGATO.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_RISCHIO_AGGREGATO.sql new file mode 100644 index 00000000..d3daea7a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_DM_RISCHIO_AGGREGATO.sql @@ -0,0 +1,96 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[DM_RISCHIO_AGGREGATO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Mart Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.RISCHIO_AGGREGATO + INSERT INTO C6MartPeriodicoImmobiliare.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + -- Modifica del 5/11/2018 - per gestire i casi in cui numtitrc contiene caratteri speciali (cr e lf) + --C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + C6martperiodico.getCreditRiskClass(Ully_perc,REPLACE(REPLACE(numtitrc, CHAR(13),''), CHAR(10),'')) AS CREDITRISK, + -- Fine Modifica del 5/11/2018 + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + -- Modifica del 5/11/2018 - per gestire i casi in cui numtitrc contiene caratteri speciali (cr e lf) + --c6martperiodico.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + c6martperiodico.getCreditRiskClassEmit(Ully_perc,REPLACE(REPLACE(numtitrc, CHAR(13),''), CHAR(10),'')) as CREDITRISKCLASS_EMIT + -- Fine Modifica del 5/11/2018 + FROM + C6StagingPeriodicoImmobiliare.PROMETEIA_AGGR +--begin transaction +update C6MartPeriodicoImmobiliare.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_Delete_Immobiliare_GestionePDF.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_Delete_Immobiliare_GestionePDF.sql new file mode 100644 index 00000000..28fdab79 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_Delete_Immobiliare_GestionePDF.sql @@ -0,0 +1,31 @@ +-- ================================================================================== +-- Author: +-- Create date: <15.02.2019> +-- Description: +-- ================================================================================== +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[Delete_Immobiliare_GestionePDF] + @DataRiferimento varchar(8), + @Return int OUTPUT +/* +SP Parameter Comment +*/ +AS +SET NOCOUNT ON; +/* +SP Body Comment +*/ + BEGIN TRAN + BEGIN TRY + DELETE FROM [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF] + WHERE [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF].[DataRiferimento] = @DataRiferimento + Set @Return=1; + END TRY + BEGIN CATCH + BEGIN + IF @@TRANCOUNT > 0 + ROLLBACK TRANSACTION; + Set @Return=-ERROR_NUMBER(); + END + END CATCH + IF @@TRANCOUNT > 0 + COMMIT TRANSACTION; \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql new file mode 100644 index 00000000..a3a9bd6b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql @@ -0,0 +1,91 @@ +--------rete -> F +-------- tip_contratto = 0 codicelettera= 500 +-------- 1 501 +-------- 2 502 +--------rete --> S +-------- 0 503 +-------- 1 504 +-------- 2 505 +--[C6MartPeriodicoImmobiliare].[GESTIONE_SELECT_LETTERE_DA_INVIARE] 'F','FRCFDN42D13L975I',501,-1,'M' +CREATE procedure [C6MartPeriodicoImmobiliare].[GESTIONE_SELECT_LETTERE_DA_INVIARE] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' +AS +BEGIN + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() + --Modifica per la variazione di testo nella lettera di accompagnamento nel caso di diagnosi + IF @codiceLettera in (7,8) AND @tipoReport = 'DIAGNOSI' + SET @codiceLettera = @codiceLettera + 2 + SELECT + c6martperiodico.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, +csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.prov end as provincia, + case when (upper(csei.nazione) <> 'ITALIA') then '' else csei.cap end as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + c6martperiodico.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_Monitor, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + servizi.dataattivazione, + @dataRichiestaRistampa, + null, + tla.[TESTO] + ) as testo, + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma, + 0 as pagina + FROM + [C6MartPeriodico].[TESTO_LETTERA_ACCETTAZIONE] tla, + [consuni_periodico].[ConsulenzaUnica].[dbo].[v_servizi_aggiuntivi] servizi, + [C6MartPeriodicoImmobiliare].[CONTRATTOSEI] csei + INNER JOIN + [C6MartPeriodicoImmobiliare].[ANAG_CLIENTI] aclie + on + csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + WHERE + csei.rete = @rete and + csei.cod_Fiscale = @cf and + tla.id = @codiceLettera and + (@idreport = -1) + AND isnull(csei.data_fineavanzato,'99991231') > c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getDate(),-1),0) + --and servizi.chiaveclientepb in (select chiaveclientepb from c6mart.vcontratti where cod_fiscale = csei.cod_Fiscale) + and servizi.chiaveclientepb in (select chiaveclientepb from [consuni_periodico].[ConsulenzaUnica].[dbo].[vInfoCliente] where coalesce(codfis,piva) = csei.cod_Fiscale and flagPBPrimario is null) + and servizi.chiaveservizioaggiuntivo = 1 and servizi.flagattivo = 1 --Commentata Andrea per semestrale 2023 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE_BKP28052023.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE_BKP28052023.sql new file mode 100644 index 00000000..36a24570 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE_BKP28052023.sql @@ -0,0 +1,91 @@ +--------rete -> F +-------- tip_contratto = 0 codicelettera= 500 +-------- 1 501 +-------- 2 502 +--------rete --> S +-------- 0 503 +-------- 1 504 +-------- 2 505 +--[C6MartPeriodicoImmobiliare].[GESTIONE_SELECT_LETTERE_DA_INVIARE] 'F','FRCFDN42D13L975I',501,-1,'M' +CREATE procedure [C6MartPeriodicoImmobiliare].[GESTIONE_SELECT_LETTERE_DA_INVIARE_BKP28052023] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' +AS +BEGIN + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() + --Modifica per la variazione di testo nella lettera di accompagnamento nel caso di diagnosi + IF @codiceLettera in (7,8) AND @tipoReport = 'DIAGNOSI' + SET @codiceLettera = @codiceLettera + 2 + SELECT + c6martperiodico.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, +csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.prov end as provincia, + case when (upper(csei.nazione) <> 'ITALIA') then '' else csei.cap end as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + c6martperiodico.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_Monitor, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + servizi.dataattivazione, + @dataRichiestaRistampa, + null, + tla.[TESTO] + ) as testo, + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma, + 0 as pagina + FROM + [C6MartPeriodico].[TESTO_LETTERA_ACCETTAZIONE] tla, + [consuni_periodico].[ConsulenzaUnica].[dbo].[v_servizi_aggiuntivi] servizi, + [C6MartPeriodicoImmobiliare].[CONTRATTOSEI] csei + INNER JOIN + [C6MartPeriodicoImmobiliare].[ANAG_CLIENTI] aclie + on + csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + WHERE + csei.rete = @rete and + csei.cod_Fiscale = @cf and + tla.id = @codiceLettera and + (@idreport = -1) + AND isnull(csei.data_fineavanzato,'99991231') > c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getDate(),-1),0) + --and servizi.chiaveclientepb in (select chiaveclientepb from c6mart.vcontratti where cod_fiscale = csei.cod_Fiscale) + and servizi.chiaveclientepb in (select chiaveclientepb from [consuni_periodico].[ConsulenzaUnica].[dbo].[vInfoCliente] where coalesce(codfis,piva) = csei.cod_Fiscale and flagPBPrimario is null) + and servizi.chiaveservizioaggiuntivo = 1 and servizi.flagattivo = 1 --Commentata Andrea per semestrale 2023 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE_CONSUNI.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE_CONSUNI.sql new file mode 100644 index 00000000..20a2ae0e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_GESTIONE_SELECT_LETTERE_DA_INVIARE_CONSUNI.sql @@ -0,0 +1,90 @@ +--------rete -> F +-------- tip_contratto = 0 codicelettera= 500 +-------- 1 501 +-------- 2 502 +--------rete --> S +-------- 0 503 +-------- 1 504 +-------- 2 505 +--[C6MartPeriodicoImmobiliare].[GESTIONE_SELECT_LETTERE_DA_INVIARE_CONSUNI]'S','MRMRSR55P64L738D',504,-1,'M' +CREATE procedure [C6MartPeriodicoImmobiliare].[GESTIONE_SELECT_LETTERE_DA_INVIARE_CONSUNI] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' +AS +BEGIN + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() + --Modifica per la variazione di testo nella lettera di accompagnamento nel caso di diagnosi + IF @codiceLettera in (7,8) AND @tipoReport = 'DIAGNOSI' + SET @codiceLettera = @codiceLettera + 2 + SELECT + c6martperiodico.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, +csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.prov end as provincia, + case when (upper(csei.nazione) <> 'ITALIA') then '' else csei.cap end as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + c6martperiodico.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_Monitor, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + servizi.dataattivazione, + @dataRichiestaRistampa, + null, + tla.[TESTO] + ) as testo, + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma, + 0 as pagina + FROM + [C6MartPeriodico].[TESTO_LETTERA_ACCETTAZIONE] tla, + [consuni].[ConsulenzaUnica].[dbo].[v_servizi_aggiuntivi] servizi, + [C6MartPeriodicoImmobiliare].[CONTRATTOSEI] csei + INNER JOIN + [C6MartPeriodicoImmobiliare].[ANAG_CLIENTI] aclie + on + csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + WHERE + csei.rete = @rete and + csei.cod_Fiscale = @cf and + tla.id = @codiceLettera and + (@idreport = -1) + AND isnull(csei.data_fineavanzato,'99991231') > c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getDate(),-1),0) + and servizi.chiaveclientepb in (select chiaveclientepb from c6mart.vcontratti where cod_fiscale = csei.cod_Fiscale) + and servizi.chiaveservizioaggiuntivo = 1 and servizi.flagattivo = 1 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_GetDatiPerIDX.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_GetDatiPerIDX.sql new file mode 100644 index 00000000..1bede2c0 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_GetDatiPerIDX.sql @@ -0,0 +1,59 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[GetDatiPerIDX] + -- Add the parameters for the stored procedure here + @cf as varchar(max), + @dtMS as varchar(10), + @dtRif as varchar(10) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --Declare @temptable Table(cf varchar(80)) + --declare @idx int + --declare @slice varchar(8000) + --select @idx = 1 + -- if len(@cf)<1 or @cf is null return + --while @idx!= 0 + --begin + -- set @idx = charindex(',',@cf) + -- if @idx!=0 + -- set @slice = left(@cf,@idx - 1) + -- else + -- set @slice = @cf + -- if(len(@slice)>0) + -- insert into @temptable(cf) values(@slice) + -- set @cf = right(@cf,len(@cf) - @idx) + -- if len(@cf) = 0 break + --end + -- Insert statements for procedure here + SELECT + cat.rete+ + + LEFT(isnull(ANAG_CLIENTI.Nome,'NOME') + ' ' + ISNULL(ANAG_CLIENTI.Cognome,'COGNOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) + + REPLACE(LEFT(isnull(CONTRATTOSEI.Indirizzo,'') + ' ',50),'°','.') --VIA(50) + + LEFT(isnull(CONTRATTOSEI.CAP,'') + ' ',5) --CAP(5) + + LEFT(isnull(CONTRATTOSEI.Citta,'') + ' ',50) --LOCALITA(50) + + LEFT(isnull(CONTRATTOSEI.Prov,'') + ' ',2)--PROVINCIA(2) + + (CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) + + 'PE' --TIPOPOSTALIZZAZIONE(2) + + LEFT(contrattoSEI.COD_FISCALE+'_'+contrattoSEI.rete+ ' ',50) --NOMEFILE(50) + + LEFT((CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN '' ELSE isnull(CONTRATTOSEI.Nazione,'') END) + ' ',30) -- NAZIONEESTERA(30) + + right (' ' + COALESCE(CONTRATTOSEI.Rol, 'N'), 1) + + right (' ' + CONTRATTOSEI.Cod_Fiscale, 16) + + left (coalesce(CONTRATTOSEI.Email, '') + ' ', 50) + + convert(char(8), @dtMS) /** modificare la data alla metà del semestre di interesse */ + + CONTRATTOSEI.COD_AGENTE + + CONTRATTOSEI.codicecontratto as idx + FROM consuni.consulenzaunicafl.dbo.Immobiliare_RichiesteMonitoraggioCatastoCliente cat + INNER JOIN C6MARTPERIODICOimmobiliare.CONTRATTOSEI + ON CONTRATTOSEI.Rete = cat.Rete + AND CONTRATTOSEI.COD_FISCALE = cat.codfis + INNER JOIN C6MARTPERIODICOimmobiliare.ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = cat.Rete + AND ANAG_CLIENTI.COD_FISCALE = cat.codfis +where cat.dtRiferimento=@dtRif AND cat.codfis+'_'+cat.rete IN (Select value from STRING_SPLIT(@cf,',')) --from @temptable) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_Insert_ExcludedList.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_Insert_ExcludedList.sql new file mode 100644 index 00000000..9d135558 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_Insert_ExcludedList.sql @@ -0,0 +1,52 @@ +-- ================================================================================== +-- Author: +-- Create date: <27.02.2019> +-- Description: +-- ================================================================================== +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[Insert_ExcludedList] + @IDReport int, + @Rete varchar(1), + @CodiceFiscale varchar(16), + @DescrizioneErrore varchar(500), + @DataInserimento datetime, + @Bloccato bit, + @DataRiferimento varchar(8), + @Return int OUTPUT +/* +SP Parameter Comment +*/ +WITH EXEC AS CALLER +AS +/* +SP Body Comment +*/ + BEGIN TRANSACTION + BEGIN TRY + INSERT INTO [C6MartPeriodicoImmobiliare].[ExcludedList]( + [IDReport], + [Rete], + [CodiceFiscale], + [DescrizioneErrore], + [DataInserimento], + [Bloccato], + [DataRiferimento]) + VALUES ( + @IDReport, + @Rete, + @CodiceFiscale, + @DescrizioneErrore, + @DataInserimento, + @Bloccato, + @DataRiferimento) + Set @Return=@IDReport; + END TRY + BEGIN CATCH + IF ERROR_NUMBER()=2601 + BEGIN + Set @Return=-2601; + END + IF @@TRANCOUNT > 0 + ROLLBACK TRANSACTION; + END CATCH + IF @@TRANCOUNT > 0 + COMMIT TRANSACTION; \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestionePDF.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestionePDF.sql new file mode 100644 index 00000000..9954a224 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestionePDF.sql @@ -0,0 +1,123 @@ +-- ================================================================================== +-- Author: +-- Create date: <15.02.2019> +-- Description: +-- ================================================================================== +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[Insert_Immobiliare_GestionePDF] + @IDReport int, + @IDReportSemestrale int, + @IDChiaveRichiesta bigint, + @Rete varchar(1), + @ChiaveAgente varchar(8), + @NominativoAgente varchar(255), + @CodiceFiscale varchar(16), + @ChiaveCliente int, + @NominativoCliente varchar(255), + @DataRichiestaCatasto datetime, + @DataRicezioneCatasto datetime, + @DataRichiestaRischio datetime, + @DataRicezioneRischio datetime, + @Utente varchar(50), + @Rfa decimal(19, 7), + @Diversificazione decimal(19, 7), + @Var decimal(19, 7), + @DataRiferimento varchar(8), + @CodiceContratto varchar(11), + @TipoContratto varchar(1), + @TipoReport varchar(2), + @DataReport datetime, + @DataReportUpdate datetime, + @DataZip datetime, + @DataZipUpdate datetime, + @DataInvio datetime, + @DataInvioUpdate datetime, + @FlagInvio varchar(1), + @NomeFile varchar(50), + @IDZip int, + @Return int OUTPUT +/* +SP Parameter Comment +*/ +WITH EXEC AS CALLER +AS +/* +SP Body Comment +*/ + BEGIN TRANSACTION + BEGIN TRY + SELECT @IdReport = (SELECT ISNULL(MAX([IDReport]),0) + 1 FROM [Immobiliare_GestionePDF] with (tablockx, holdlock, updlock)) + SELECT @IdReportSemestrale = (SELECT ISNULL(MAX([IDReportSemestrale]),0) + 1 FROM [Immobiliare_GestionePDF] WHERE [DataRiferimento] = @DataRiferimento) + INSERT INTO [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF]( + [IDReport] + ,[IDReportSemestrale] + ,[IDChiaveRichiesta] + ,[Rete] + ,[ChiaveAgente] + ,[NominativoAgente] + ,[CodiceFiscale] + ,[ChiaveCliente] + ,[NominativoCliente] + ,[DataRichiestaCatasto] + ,[DataRicezioneCatasto] + ,[DataRichiestaRischio] + ,[DataRicezioneRischio] + ,[Utente] + ,[Rfa] + ,[Diversificazione] + ,[Var] + ,[DataRiferimento] + ,[CodiceContratto] + ,[TipoContratto] + ,[TipoReport] + ,[DataReport] + ,[DataReportUpdate] + ,[DataZip] + ,[DataZipUpdate] + ,[DataInvio] + ,[DataInvioUpdate] + ,[FlagInvio] + ,[NomeFile] + ,[IDZip]) + VALUES ( + @IDReport, + @IDReportSemestrale, + @IDChiaveRichiesta, + @Rete, + @ChiaveAgente, + @NominativoAgente, + @CodiceFiscale, + @ChiaveCliente, + @NominativoCliente, + @DataRichiestaCatasto, + @DataRicezioneCatasto, + @DataRichiestaRischio, + @DataRicezioneRischio, + @Utente, + @Rfa, + @Diversificazione, + @Var, + @DataRiferimento, + @CodiceContratto, + @TipoContratto, + @TipoReport, + @DataReport, + @DataReportUpdate, + @DataZip, + @DataZipUpdate, + @DataInvio, + @DataInvioUpdate, + @FlagInvio, + @NomeFile, + @IDZip ) + Set @Return=@IdReport; + END TRY + BEGIN CATCH + IF ERROR_NUMBER()=2601 + BEGIN + Set @Return=-2601; + END + IF @@TRANCOUNT > 0 + ROLLBACK TRANSACTION; + END CATCH + IF @@TRANCOUNT > 0 + COMMIT TRANSACTION; \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestioneZIP.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestioneZIP.sql new file mode 100644 index 00000000..aae62ca7 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestioneZIP.sql @@ -0,0 +1,52 @@ +-- ================================================================================== +-- Author: +-- Create date: <27.02.2019> +-- Description: +-- ================================================================================== +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[Insert_Immobiliare_GestioneZIP] + @IDZip int, + @NomeFile varchar(255), + @DataInvio datetime, + @FlagInvio varchar(1), + @NomeCartella varchar(255), + @IDLottoElaborazione int, + @DataRiferimento varchar(8), + @Return int OUTPUT +/* +SP Parameter Comment +*/ +WITH EXEC AS CALLER +AS +/* +SP Body Comment +*/ + BEGIN TRANSACTION + BEGIN TRY + INSERT INTO [C6MartPeriodicoImmobiliare].[Immobiliare_GestioneZIP]( + [IDZip] + ,[NomeFile] + ,[DataInvio] + ,[FlagInvio] + ,[NomeCartella] + ,[IDLottoElaborazione] + ,[DataRiferimento]) + VALUES ( + @IDZip, + @NomeFile, + @DataInvio, + @FlagInvio, + @NomeCartella, + @IDLottoElaborazione, + @DataRiferimento) + Set @Return=@IdZip; + END TRY + BEGIN CATCH + IF ERROR_NUMBER()=2601 + BEGIN + Set @Return=-2601; + END + IF @@TRANCOUNT > 0 + ROLLBACK TRANSACTION; + END CATCH + IF @@TRANCOUNT > 0 + COMMIT TRANSACTION; \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_MERGED_PROCEDURE.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_MERGED_PROCEDURE.sql new file mode 100644 index 00000000..61eae988 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_MERGED_PROCEDURE.sql @@ -0,0 +1,109 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[MERGED_PROCEDURE] +AS +BEGIN + SET NOCOUNT ON; +truncate table C6MartperiodicoImmobiliare.Maledetti +insert into C6MartperiodicoImmobiliare.Maledetti --70 minutes +( +[i_CodiceFiscale] + ,[i_Rete] + ,[Rete] + ,[NomeRete] + ,[Agente] + ,[CognomeAgente] + ,[NomeAgente] + ,[IndirizzoAgente] + ,[CapAgente] + ,[CittaAgente] + ,[TelefonoAgente] + ,[CodiceFiscale] + ,[CognomeCliente] + ,[NomeCliente] + ,[ProfiloIsAct] + ,[PatrimonioNonRappresentabile] + ,[PartiteViaggiantiDisinv] + ,[PartiteViaggiantiInv] + ,[ContoCorrente] + ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,[RisorseNonAssociate] + ,[Patrimonioaltroctv] + ,[Patrimonioimmobiliarectv] + ,[PatrimonioTerzictv] + ,[PatrimonioTerziCtvAlNettoContoCorrente] + ,[PatrimonioTerziContoCorrente] + ,[Patrimoniobancafideuramctv] + ,[Patrimoniocomplessivototalectv] + ,[NumeroIntermediari] + ,[CodiceContratto] + ,[tip_contratto] + ,[contrattoold] + ,[NoMonitoraggio] + ,[descrizioneDiagnosi] + ,[idModelloDiagnosi] + ,[idReportDiagnosi] + ,[descrizioneMonitoraggio] + ,[idReportMonitoraggio] + ,[idModelloMonitoraggio] + ,[AdesioneSuccessivaAvanzato] + ,[VaRRisorseNonAssociate] + ,[CoperturaRisorseNonAssociate] + ,[VaRTotaleRisorseFinanziarie] + ,[CoperturaTotaleRisorseFinanziarie] + ,[IdReportPDFDiagnosi] + ,[IdReportPDFMonitoraggio] + ,scaduto + ) +SELECT [i_CodiceFiscale] + ,[i_Rete] + ,[Rete] + ,[NomeRete] + ,[Agente] + ,[CognomeAgente] + ,[NomeAgente] + ,[IndirizzoAgente] + ,[CapAgente] + ,[CittaAgente] + ,[TelefonoAgente] + ,[CodiceFiscale] + ,[CognomeCliente] + ,[NomeCliente] + ,[ProfiloIsAct] + ,[PatrimonioNonRappresentabile] + ,[PartiteViaggiantiDisinv] + ,[PartiteViaggiantiInv] + ,[ContoCorrente] + ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,[RisorseNonAssociate] + ,[Patrimonioaltroctv] + ,[Patrimonioimmobiliarectv] + ,[PatrimonioTerzictv] + ,[PatrimonioTerziCtvAlNettoContoCorrente] + ,[PatrimonioTerziContoCorrente] + ,[Patrimoniobancafideuramctv] + ,[Patrimoniocomplessivototalectv] + ,[NumeroIntermediari] + ,[CodiceContratto] + ,[tip_contratto] + ,[contrattoold] + ,[NoMonitoraggio] + ,[descrizioneDiagnosi] + ,[idModelloDiagnosi] + ,[idReportDiagnosi] + ,[descrizioneMonitoraggio] + ,[idReportMonitoraggio] + ,[idModelloMonitoraggio] + ,[AdesioneSuccessivaAvanzato] + ,[VaRRisorseNonAssociate] + ,[CoperturaRisorseNonAssociate] + ,[VaRTotaleRisorseFinanziarie] + ,[CoperturaTotaleRisorseFinanziarie] + ,[IdReportPDFDiagnosi] + ,[IdReportPDFMonitoraggio] + ,[scaduto] + FROM [wh].[Maledetti] +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_D2_S170RischioDiversificazione.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_D2_S170RischioDiversificazione.sql new file mode 100644 index 00000000..dde34416 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_D2_S170RischioDiversificazione.sql @@ -0,0 +1,86 @@ +-- [C6MartPeriodicoImmobiliare].[PL_D2_S170RischioDiversificazione] 'F','FF@7181' +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_D2_S170RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @contaCC as int + select @contaCC = count(*) + from C6MartPeriodicoImmobiliare.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from C6MartPeriodicoImmobiliare.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM C6MartPeriodicoImmobiliare.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM C6MartPeriodicoImmobiliare.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 +SELECT +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MartPeriodicoImmobiliare.RISCHIO_AGGREGATO K left outer JOIN C6MartPeriodicoImmobiliare.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6MartPeriodicoImmobiliare.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_D_S152Patrimonio.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_D_S152Patrimonio.sql new file mode 100644 index 00000000..9765309c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_D_S152Patrimonio.sql @@ -0,0 +1,88 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodicoImmobiliare].[PL_D_S152Patrimonio] 'F','BCHRRT54L12G999R' +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_D_S152Patrimonio] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT + @PatrimonioBF = SUM(CTV) + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area <> 'CC' --escludo il cc negativo +-- SELECT @Part_viaggianti=SUM(IMPORTO) +-- FROM C6MartPeriodicoImmobiliare.PARTITE_VIAGGIANTI partvia +-- WHERE +-- partvia.Rete = @Rete +-- and partvia.Cod_Fiscale = @CodiceFiscale + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6MartPeriodicoImmobiliare.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6MartPeriodicoImmobiliare.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + SELECT + @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioAltro = SUM(patrAltro.ctv) + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_D_S154PatrimonioFinanziario.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_D_S154PatrimonioFinanziario.sql new file mode 100644 index 00000000..32072f0f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_D_S154PatrimonioFinanziario.sql @@ -0,0 +1,152 @@ +-- Stored procedure +-- ============================================= +-- Author: Luca De Lisio +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodicoImmobiliare].[PL_D_S154PatrimonioFinanziario] 'F','BCHRRT54L12G999R' +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_D_S154PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SELECT + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Fideuram' + END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + ISNULL(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + NULLIF(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'), 0),0.00) + ) * 100 AS Percentuale + FROM ( + --PRODOTTI BF ESCLUSI GLI ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodicoImmobiliare.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodicoImmobiliare.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodicoImmobiliare.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MartPeriodicoImmobiliare.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + --DETTAGLIO ASUL SENZA SKANDIA + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodicoImmobiliare.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodicoImmobiliare.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --CON SKANDIA + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodicoImmobiliare.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodicoImmobiliare.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodicoImmobiliare.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodicoImmobiliare.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodicoImmobiliare.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_GetClientNegativeCurrentAccountsValue.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_GetClientNegativeCurrentAccountsValue.sql new file mode 100644 index 00000000..1ebf7fc2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_GetClientNegativeCurrentAccountsValue.sql @@ -0,0 +1,29 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodicoImmobiliare].[PL_GetClientNegativeCurrentAccountsValue] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_GetClientNegativeCurrentAccountsValue] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @PatrimonioBF DECIMAL(15,2) + -- Insert statements for procedure here + SELECT + --@PatrimonioBF = case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND ID_AREA = 'CC' + and CTV < 0 + --Return @PatrimonioBF +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_GetClientSelfNegCurrentAccountValue.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_GetClientSelfNegCurrentAccountValue.sql new file mode 100644 index 00000000..8bda6efc --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_GetClientSelfNegCurrentAccountValue.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodicoImmobiliare].[PL_GetClientSelfNegCurrentAccountValue] 'S','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_GetClientSelfNegCurrentAccountValue] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --DECLARE @PatrimonioBF DECIMAL(15,2) + SELECT + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6MartPeriodicoImmobiliare.ANAG_SELF LS + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND ctv < 0 + --Return @PatrimonioBF +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_MP_S133AreeBisognoPrincProd.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_MP_S133AreeBisognoPrincProd.sql new file mode 100644 index 00000000..86a7f7b6 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_MP_S133AreeBisognoPrincProd.sql @@ -0,0 +1,42 @@ +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_MP_S133AreeBisognoPrincProd] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6StampeCentralizzate].[C6MartPeriodicoImmobiliare].[TB_S133_S157DatiPiramide] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_MP_S140AnalisiRisparmioCharts.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_MP_S140AnalisiRisparmioCharts.sql new file mode 100644 index 00000000..f5896e81 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_MP_S140AnalisiRisparmioCharts.sql @@ -0,0 +1,338 @@ +-- [C6MartPeriodicoImmobiliare].[PL_MP_S140AnalisiRisparmioCharts] 'S','RTRRLF23S12Z105V' +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[PL_MP_S140AnalisiRisparmioCharts] +@Rete char(1), @CodiceFiscale varchar(16) +WITH EXEC AS CALLER +AS +BEGIN + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS ctv +--FINE INTERVENTI OMNIA +FROM +[C6MartPeriodicoImmobiliare].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MartPeriodicoImmobiliare].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +--INIZIO INTERVENTI OMNIA +---Per calcolare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MartPeriodicoImmobiliare].pATRIMONIO_BF +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine calcolo somma self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6MartPeriodicoImmobiliare].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodicoImmobiliare.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodicoImmobiliare.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MartPeriodicoImmobiliare].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MartPeriodicoImmobiliare].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MartPeriodicoImmobiliare].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MartPeriodicoImmobiliare].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS CTV +--FINE INTERVENTI OMNIA +FROM +[C6MartPeriodicoImmobiliare].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MartPeriodicoImmobiliare].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +--INIZIO INTERVENTI OMNIA +--per fare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MartPeriodicoImmobiliare].pATRIMONIO_BF +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine somma Self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6MartPeriodicoImmobiliare].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6MartPeriodicoImmobiliare].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MartPeriodicoImmobiliare].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MartPeriodicoImmobiliare].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MartPeriodicoImmobiliare].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MartPeriodicoImmobiliare].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..61477bfb --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,116 @@ +--[C6MartPeriodicoImmobiliare].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] 's','FLLGRG54H28A479K' +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Fideuram' + ELSE + SET @NOMERETE = 'Sanpaolo Invest' + SELECT + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario + --patrbf.ordinamento_progetto + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodicoImmobiliare.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodicoImmobiliare.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodicoImmobiliare.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL +--INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <> 0.00 +UNION ALL +SELECT + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + sum(ASUL.CTV) as Controvalore, + sum(ASUL.CTV) as controvalore_contratto, + Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario + --patrbf.ordinamento_progetto + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodicoImmobiliare.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodicoImmobiliare.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN + C6MartPeriodicoImmobiliare.DETTAGLIO_ASUL ASUL + ON + PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + left JOIN + C6MartPeriodicoImmobiliare.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + ASSETPERC.COD_PRODOTTO IS NULL + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + GROUP BY + PATRBF.ID_CONTRATTO, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end, + PATRBF.NOME_PROGETTO, + patrbf.chiave_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE), + ANAGP.DESCR_PRODOTTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql new file mode 100644 index 00000000..8612bfb2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql @@ -0,0 +1,62 @@ +-- Stored procedure +-- ============================================= +-- [C6MartPeriodicoImmobiliare].[PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento] 's','FLLGRG54H28A479K' +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --SELECT + -- PATR_BF.ID_AREA AS Need_Area, + -- PATR_BF.ID_CONTRATTO AS Contratto, + -- CASE + -- WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA + -- ELSE ltrim(rtrim(PATR_BF.NOME_PROGETTO)) + -- END AS Area_O_Nome_Progetto, + -- PRODOTTI.DESCR_PRODOTTO AS Descrizione, + -- PATR_BF.PARTVIA_DISINV AS PartitaViaggiante, + -- SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.POSITION_ID) AS Controvalore, + -- dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione + --FROM + -- C6MartPeriodicoImmobiliare.PATRIMONIO_BF AS PATR_BF + -- INNER JOIN C6MartPeriodicoImmobiliare.AREA_BISOGNO AS AREA ON + -- PATR_BF.ID_AREA = AREA.ID_AREA + -- INNER JOIN C6MartPeriodicoImmobiliare.ANAG_PRODOTTI AS PRODOTTI ON + -- PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + --PATR_BF.RETE, + --PATR_BF.COD_FISCALE, + --PATR_BF.ID_AREA AS Need_Area, + --PATR_BF.ID_CONTRATTO AS Contratto, + --CASE + -- WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA + -- ELSE ltrim(rtrim(PATR_BF.NOME_PROGETTO)) + --END AS Area_O_Nome_Progetto, + --PRODOTTI.DESCR_PRODOTTO AS Descrizione, + --CASE WHEN PATR_BF.TIPO_PRODOTTO <> 'CC' THEN PRODOTTI.DESCR_PRODOTTO + -- ELSE PRODOTTI.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + --END AS Descrizione, + --PRODOTTI.DESCR_PRODOTTO AS Descrizione, + --PATR_BF.PARTVIA_DISINV AS PartitaViaggiante, + --SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.POSITION_ID) AS Controvalore, + SUM(PATR_BF.CTV) AS Controvalore + --dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodicoImmobiliare.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + INNER JOIN C6MartPeriodicoImmobiliare.ANAG_PRODOTTI AS PRODOTTI ON + PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO + WHERE + PATR_BF.RETE = @Rete + AND PATR_BF.COD_FISCALE = @CodiceFiscale + and PATR_BF.ID_AREA not in ('Pre1','Pre2') and PATR_BF.TIPO_PRODOTTO <> 'CC' + AND PATR_BF.REND_NON_RAPPR = 1 +GROUP BY PATR_BF.RETE, PATR_BF.COD_FISCALE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_Popola_S133_S157DatiPiramide.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_Popola_S133_S157DatiPiramide.sql new file mode 100644 index 00000000..814f5787 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_Popola_S133_S157DatiPiramide.sql @@ -0,0 +1,291 @@ +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +CREATE procedure [C6MartPeriodicoImmobiliare].[Popola_S133_S157DatiPiramide] +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT_TEMP + FROM + C6MartPeriodicoImmobiliare.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_BF PIRAMIDE_VERT + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + and PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + and PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF','INV') + --OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL) /* 20161202 nome_progetto sempre diverso da null */ + ) +/* 20161214 - aggiunto aggragazione percentuali per area */ + SELECT + RETE, + COD_FISCALE, + ID_AREA, + sum(PERC_AREA) as PERC_AREA, + CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + #PIRAMIDE_VERT_TEMP + group by rete,cod_fiscale, id_area, CONTROVALORE +truncate table C6MartPeriodicoImmobiliare.TB_S133_S157DatiPiramide +insert into C6MartPeriodicoImmobiliare.TB_S133_S157DatiPiramide + SELECT distinct /* 20161202 */ + ATTUALE.RETE, + ATTUALE.COD_FISCALE, + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + ISNULL(ATTUALE.CONTROVALORE,0) PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ISNULL(ATTUALE.PERC_AREA,0) ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ISNULL(ATTUALE.CONTROVALORE,0) DifferenzaEuro, + 0 differenzapercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + --WHEN AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + 0 somma_controvalAttuale, + 0 somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + RISCHIOTOTALE.VAR_PERC_PTF var_tot, + null var_totString, + RISCHIOTOTALE_PIR.VAR_PERC_PTF var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_tot_pirString, + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodicoImmobiliare.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodicoImmobiliare.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + C6MartPeriodicoImmobiliare.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodicoImmobiliare.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodicoImmobiliare.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' +------------------------------------------------------------------ +SELECT rete, cod_fiscale,sum(ATTUALE.CONTROVALORE) TotControvalore +into #temp +FROM #PIRAMIDE_VERT ATTUALE +WHERE ID_AREA not in ('Na', 'Cc','Self') +group by rete,cod_fiscale +update s157 +set s157.PercentualeAttuale =CASE + WHEN vert.TotControvalore = 0 THEN 0 + ELSE (100 * s157.PercentualeAttuale / ISNULL(vert.TotControvalore,1)) + END, +s157.ControvaloreModello=ROUND(ISNULL(s157.ControvaloreModello * vert.TotControvalore / 100 , 0),2) , +s157.DifferenzaEuro = ROUND(ISNULL(s157.DifferenzaEuro,0),2) - ROUND(ISNULL(s157.Totale_Percentuale * vert.TotControvalore / 100 , 0),2), +s157.DifferenzaPercentuale = CASE + WHEN vert.TotControvalore = 0 THEN - s157.Totale_Percentuale + ELSE ISNULL( (100 * ISNULL(s157.ControvaloreAttuale,0) / vert.TotControvalore - s157.Totale_Percentuale) , 0) + END , +s157.somma_controvalAttuale =vert.TotControvalore, +s157.somma_controvalModello=vert.TotControvalore +from C6MartPeriodicoImmobiliare.TB_S133_S157DatiPiramide s157 +inner join #temp vert +on vert.rete = s157.rete and vert.cod_fiscale = s157.codicefiscale +select rete,cod_fiscale,'TOT' as Tipo,count(*) over ( partition by rete,cod_fiscale) TOT + into #TempContatori + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF +union +select rete,cod_fiscale,'TOTCCSELF',count(*) over ( partition by rete,cod_fiscale) TOTCCSELF + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF + where TIPO_PRODOTTO = 'CC' OR ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELF',count(*) over ( partition by rete,cod_fiscale) TOTSELF + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELFLIQ',count(*) over ( partition by rete,cod_fiscale) TOTSELFLIQ + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') AND ID_AREA = 'LIQ' +union +select rete,cod_fiscale,'TOTLIQ',count(*) over ( partition by rete,cod_fiscale) TOTLIQ + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF + where ID_AREA = 'LIQ' + select + totale1.rete, + totale1.cod_fiscale, + ISNULL(totale1.TOT,0) as TOT, + ISNULL(totale2.TOT,0) as TOTCCSELF, + ISNULL(totale3.TOT,0) as TOTSELF, + ISNULL(totale4.TOT,0) as TOTSELFLIQ, + ISNULL(totale5.TOT,0) as TOTLIQ + into #Contatori + from + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOT') as totale1 + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTCCSELF') as totale2 + on totale1.rete=totale2.rete + and totale1.cod_fiscale=totale2.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELF') as totale3 + on totale1.rete=totale3.rete + and totale1.cod_fiscale=totale3.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELFLIQ') as totale4 + on totale1.rete=totale4.rete + and totale1.cod_fiscale=totale4.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTLIQ') as totale5 + on totale1.rete=totale5.rete + and totale1.cod_fiscale=totale5.cod_fiscale +update s157 +set +var_needareaString= CASE + WHEN TOTSELFLIQ = TOTLIQ and needarea = 'LIQ' THEN 'n.c.' + ELSE var_needareaString + END, +var_tot = CASE + WHEN TOTCCSELF = TOT THEN 0.00 + ELSE var_tot + END , +var_totString=CASE + WHEN (TOTCCSELF <> TOT) AND(copertura_tot IS NULL OR copertura_tot = 0) THEN 'n.c.' + WHEN (TOTSELF = TOT) THEN 'n.c.' + ELSE NULL + END , +var_tot_pir =CASE + WHEN TOTCCSELF = TOT THEN 0 + ELSE var_tot_pir +END , +var_tot_pirString=CASE + WHEN var_tot_pirString <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + WHEN TOTSELF = TOT THEN 'n.c.' + ELSE var_tot_pirString + END + ELSE var_tot_pirString + END , +VAR_RISFINSTRING=CASE + WHEN VAR_RISFINSTRING <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + ELSE VAR_RISFINSTRING + END + ELSE VAR_RISFINSTRING + END +from C6MartPeriodicoImmobiliare.TB_S133_S157DatiPiramide s157 +inner join ( select * from #Contatori ) contatori +on contatori.rete = s157.rete and contatori.cod_fiscale = s157.codicefiscale +--and codicefiscale='00247580970' + Drop TABLE #temp + DROP TABLE #PIRAMIDE_VERT + drop table #Contatori + drop table #TempContatori +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ANAG_CLIENTI.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ANAG_CLIENTI.sql new file mode 100644 index 00000000..2ee3fe1f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ANAG_CLIENTI.sql @@ -0,0 +1,143 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ANAG_CLIENTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.ANAG_CLIENTI + INSERT INTO C6MartPeriodicoImmobiliare.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE AS RETE, + [dbo].[FFCODICEFISCALE] (AL.CODFIS,AL.CODMAN,AL.PIVA)AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOMECLIENTE)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOMECLIENTE)) AS COGNOME, + ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + NULL AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + [dbo].[FFPIVA] (AL.CODMAN, AL.PIVA) AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODFIS,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodicoImmobiliare.RP_InfoCliente AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN2 CL + ON CL.RETE = AL.RETE + AND ( ltrim(rtrim(CL.CODFIS)) = CASE WHEN ISNULL(AL.CODFIS, '') = '' THEN AL.PIVA ELSE AL.CODFIS END ) + AND (ISNULL(CL.CODMAN, '') = ISNULL(AL.CODMAN, '')) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2) +--and al.codfis not in +--( +--'FF@8464', +--'LBRMRA73H15H501A', +--'FF@5134' +--) +------------------------------- +/* 20170409 rete + cf duplicato +--S SFRCLD60E12Z110N +--F TTLVNT44H04L746B +*/ + and AL.AGENTE is not null + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI.sql new file mode 100644 index 00000000..523eabcd --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI.sql @@ -0,0 +1,94 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ANAG_PRODOTTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.ANAG_PRODOTTI + INSERT INTO [C6MartPeriodicoImmobiliare].[ANAG_PRODOTTI] + (--ChiaveProdotto, + [COD_PRODOTTO] + ,[COD_ISIN] + ,[PAESE] + ,[ID_AREA] + ,[CAT_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[COD_MAF] + ,[RATING] + ,[COD_ADEGUATEZZA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[DT_SCADENZA] + ,[TIPO_EMITTENTE] + ,[TIPO_TASSO] + ,[FLG_OB]) + SELECT + --ChiaveProdotto, + CatalogueID AS COD_PRODOTTO, + ISNULL(CodIsin, '') AS COD_ISIN, + NULL AS PAESE, + '' AS ID_AREA, + (SELECT CASE + WHEN a.Livello1 like '%Assicurativo%' THEN 'Gestito Finanziario' + else a.Livello1 + END) AS CAT_PRODOTTO, + TipoProdotto AS TIPO_PRODOTTO, + NomeProdotto AS DESCR_PRODOTTO, + PrezzoValuta AS DIV_QUOTAZIONE, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + CodMaf AS COD_MAF, + case when LTRIM(RTRIM(RATINGobbligazioni)) = '' THEN null ELSE RATINGobbligazioni end AS RATING, + CodAdeguatezza AS COD_ADEGUATEZZA, + CodSottoprodotto AS COD_SOTTOPRODOTTO, + ISNULL(CodInterno, '') AS COD_INTERNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + DtScadenza, + TIP_EMITTENTE, + TIP_TASSO, + CASE WHEN c.Alberatura = 98 THEN 'S' ELSE 'N' END AS FLG_OB + FROM C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti c +Inner Join C6StagingPeriodicoImmobiliare.RP_AnAlberatura a + ON c.Alberatura = a.Alberatura + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI_TERZI.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI_TERZI.sql new file mode 100644 index 00000000..7c056556 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI_TERZI.sql @@ -0,0 +1,80 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ANAG_PRODOTTI_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_TERZI', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.ANAG_PRODOTTI_TERZI + INSERT INTO [C6MartPeriodicoImmobiliare].[ANAG_PRODOTTI_TERZI] + ([COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[NOME_PRODOTTO] + ,[ALBERO_PRODOTTI] + ,[COD_ISIN] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[INTERMEDIARIO] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[PAESE] + ,[RATING] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + --C6MartPeriodicoImmobiliare.VCONTRATTI.chiaveClientePB AS chiaveClientePB, + C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.chiaveProdotto AS COD_PRODOTTO, + ISNULL(Mapping.Temp_oidProd ,C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.nomeProdotto AS NOME_PRODOTTO, + NULL AS ALBERO_PRODOTTI, + NULL AS COD_ISIN, + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.tipoprod AS DESCR_PRODOTTO, + NULL AS DIV_QUOTAZIONE, + C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + NULL AS PAESE, + NULL AS RATING, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi + INNER JOIN C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi + ON C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.chiaveProdottoTerzi = C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.chiaveProdottoTerzi + INNER JOIN [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] VCONTRATTI + ON C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + LEFT JOIN C6StagingPeriodicoImmobiliare.RP_MappingTerzi Mapping + ON C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.chiaveProdottoTerzi = Mapping.chiaveProdottoTerzi + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_AREA_BISOGNO.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_AREA_BISOGNO.sql new file mode 100644 index 00000000..c23081e2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_AREA_BISOGNO.sql @@ -0,0 +1,47 @@ +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_AREA_BISOGNO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + TRUNCATE TABLE C6MartPeriodicoImmobiliare.AREA_BISOGNO + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_AREA_BISOGNO', + GETDATE(), + 'Mart Immobiliare' + ) + INSERT INTO C6MartPeriodicoImmobiliare.[AREA_BISOGNO] + ([ID_AREA] + ,[NOME_AREA] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(Area)) AS ID_AREA, + LTRIM(RTRIM(Descrizione)) AS NOME_AREA, + Ordinamento AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodicoImmobiliare.RP_NEEDAREA + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_AREA_BISOGNO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_AREA_BISOGNO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS.sql new file mode 100644 index 00000000..b1dee3ef --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS.sql @@ -0,0 +1,66 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from C6MartPeriodicoImmobiliare.assetclass +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ASSETCLASS] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS', + GETDATE(), + 'Mart Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.ASSETCLASS + SELECT + A.ASSET AS ID_ASSETCLASS, + A.DESCRIZIONE AS DESCRIZIONE, + A.LIVELLO AS LIVELLO, + B.ORDINAMENTO_ASSET AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + into #temp_asset + FROM C6StagingPeriodicoImmobiliare.RP_ASSETCLASS A + JOIN + C6StagingPeriodicoImmobiliare.RP_REP_ASSET_1_E_2_ORDINATE B + ON A.ASSET = B.CODICE_ASSET_CLASS_INGRESSO + INSERT INTO [C6MartPeriodicoImmobiliare].[ASSETCLASS] + ([ID_ASSETCLASS] + ,[DESCRIZIONE] + ,[LIVELLO] + ,[ORDINAMENTO] + ,[ID_ELAB]) + select ID_ASSETCLASS, + DESCRIZIONE, + LIVELLO, + ORDINAMENTO, + ID_ELAB + from #temp_asset + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_ASSETCLASS' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS_TERZI.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS_TERZI.sql new file mode 100644 index 00000000..e53b470a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS_TERZI.sql @@ -0,0 +1,58 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from [C6MartPeriodicoImmobiliare].[ASSETCLASS_TERZI] +--[C6MartPeriodicoImmobiliare].[DM_ASSETCLASS_TERZI] +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ASSETCLASS_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS_TERZI', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.ASSETCLASS_TERZI + INSERT INTO [C6MartPeriodicoImmobiliare].[ASSETCLASS_TERZI] + ([ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_ADEGUATEZZA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + B.CODICE_ASSET_CLASS_INGRESSO, + B.CODICE_ISIN, + B.CODICE_MAF, + ISNULL(B.CODICE_ADEGUATEZZA,'$'), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodicoImmobiliare.RP_REP_ASSET_1_E_2_ORDINATE B + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC.sql new file mode 100644 index 00000000..c81b4b12 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC.sql @@ -0,0 +1,73 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ASSET_PERC] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC', + GETDATE(), + 'Mart Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.ASSET_PERC + INSERT INTO [C6MartPeriodicoImmobiliare].[ASSET_PERC] + ([COD_PRODOTTO] + ,[ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[LIVELLO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + cat.CatalogueID AS COD_PRODOTTO, + LTRIM(RTRIM(ac.Asset)) AS ID_ASSETCLASS, + cat.CodIsin AS COD_ISIN, + cat.CodMaf AS COD_MAF, + cat.CodInterno AS COD_INTERNO, + cat.CodSottoprodotto AS COD_SOTTOPRODOTTO, + ac.Livello AS LIVELLO, + LTRIM(RTRIM(map.Percentuale)) AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodicoImmobiliare.RP_Mappatura AS map + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_AssetClass AS ac + ON + map.Asset = ac.Asset + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti cat + ON + map.ChiaveProdotto = cat.ChiaveProdotto + where map.Percentuale >= -999.099 and map.Percentuale <= 999.099 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_ASSET_PERC' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC_TERZI.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC_TERZI.sql new file mode 100644 index 00000000..96f0600d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC_TERZI.sql @@ -0,0 +1,80 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ASSET_PERC_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC_TERZI', + GETDATE(), + 'Mart Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.ASSET_PERC_TERZI + INSERT INTO [C6MartPeriodicoImmobiliare].[ASSET_PERC_TERZI] + ([COD_PRODOTTO_TERZI] -- + ,[ID_ASSETCLASS] -- + ,[LIVELLO] -- + ,[NOME_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[PERC] -- + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ISNULL(Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, + RP_AssetClass.Asset AS ID_ASSETCLASS, + RP_AssetClass.Livello AS LIVELLO, + NULL AS NOME_PRODOTTO, + NULL AS TIPO_PRODOTTO, + RP_MappaturaPT.percentuale / 100 AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi + ON + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + ON + C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.alberatura = C6StagingPeriodicoImmobiliare.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_MappaturaPT + ON + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6StagingPeriodicoImmobiliare.RP_MappaturaPT.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_AssetClass + ON + C6StagingPeriodicoImmobiliare.RP_MappaturaPT.asset = C6StagingPeriodicoImmobiliare.RP_AssetClass.Asset + LEFT JOIN + C6StagingPeriodicoImmobiliare.RP_MappingTerzi Mapping + ON + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.chiaveProdottoTerzi = Mapping.chiaveProdottoTerzi + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_CONTRATTOSEI.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_CONTRATTOSEI.sql new file mode 100644 index 00000000..068a022e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_CONTRATTOSEI.sql @@ -0,0 +1,117 @@ +----------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_CONTRATTOSEI] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CONTRATTOSEI', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) +TRUNCATE TABLE C6MartPeriodicoImmobiliare.CONTRATTOSEI +INSERT INTO C6MartPeriodicoImmobiliare.CONTRATTOSEI +SELECT + [Rete], + [Cod_Fiscale], + [PIva_Fiduciaria], + [DATA_INZIOAVANZATO] as [Data_Sott], + [CodiceContratto], + [Cod_Agente], + [Data_Perf_Base], + [Data_Perf], + null as [Fascia_CPP], + null as [Email], + [Indirizzo], + [CAP], + [Citta], + [Provincia], + [Nazione], + [Presso], + null as[Data_Inizio], + [Freq_Diagnosi], + [FREQ_MONITORAGGIO], + null as [Freq_DiagnosiPrec], + null as [Freq_MonitorPrec], + null as [Data_InizioConsInv], + [Data_InizioBase], + [Data_FineBase], + [DATA_INZIOAVANZATO], + [Data_FineAvanzato], + null as [ProgressivoInvio], + 'N', + 'N', + null as [DataUltimoInvio], + [ClienteMigrato], + [RisorseNA], + null as [PartViaDisinv], + [NumSolleciti], + [Data_UltimoSollecito], + [NumRevoche], + [Data_UltimaRevoca], + null as [Note], + null as [Data_Invio_Diagnosi_Trimestrale], + null as [Data_Invio_Monitoraggio_Trimestrale], + [ProfiloAttivo], + null as [Rol], + [TIP_CONTRATTO], + [TIP_RIATTIVAZIONE] +FROM + [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CONTRATTOSEI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_CONTRATTOSEI' + ) +UPDATE C6MartPeriodicoImmobiliare.contrattosei + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,prov = a.Provincia + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITOR = a.FREQ_MONITORAGGIO +from c6mart.vcontratti a +inner join C6MartPeriodicoImmobiliare.contrattosei b +on a.codicecontratto = b.codicecontratto +UPDATE contr + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,provincia = a.Prov + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITORAGGIO = a.FREQ_MONITOR +from C6MartPeriodicoImmobiliare.contrattosei a +inner join [C6StagingPeriodico].[APPO_CONTRATTI] contr on a.codicecontratto = contr.codicecontratto +left join [C6StagingPeriodicoImmobiliare].[APPO_CONTRATTI_LIMITER] lim on lim.COD_FISCALE = contr.COD_FISCALE and lim.rete = contr.rete +where lim.cod_fiscale is not null or 0 = (select count(*) from [C6StagingPeriodicoImmobiliare].[APPO_CONTRATTI_LIMITER] with (nolock)) +-- Allineamento Flag Rol su contratto sei +Update C6MartPeriodicoImmobiliare.ContrattoSei +Set Rol = Case D.statorol + When 'S' then D.statorol + Else 'N' + End, + EmAil = Case d.alertrol + When 'S' then D.Email + End +from C6MartPeriodicoImmobiliare.ContrattoSei C inner join C6StagingPeriodico.datiRol2 D +on d.codContratto = c.codiceContratto \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_DETTAGLIO_ASUL.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_DETTAGLIO_ASUL.sql new file mode 100644 index 00000000..636cbff4 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_DETTAGLIO_ASUL.sql @@ -0,0 +1,266 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodicoImmobiliare].[TEMP_RP_DM_DETTAGLIO_ASUL] +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[RP_DM_DETTAGLIO_ASUL] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_1', + GETDATE(), + 'Mart Immobiliare' + ) + DECLARE @MaxDTTrim AS decimal(9,0) + SELECT @MaxDTTrim = MAX(DTTRIM) FROM C6STAGINGPERIODICO.WSEIUL + TRUNCATE TABLE C6MartPeriodicoImmobiliare.DETTAGLIO_ASUL + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + --ISNULL( + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + -- SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + CAST('' AS VARCHAR(255)) AS COD_PRODOTTO, + --ISNULL(SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57), + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD) + -- ) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + SPB_CONTR_SINTESI.POSITIONID AS SPB_POSITIONID + INTO #TEMP_DETTAGLIO_ASUL + FROM + C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.CodInterno + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.CodSottoprodotto + -------------------> Mod del 23/1/2017 - ripristinata and sulla visibilità precedentemente commentata + AND CATITEMREF.Visibilita = 1 + -------------------> Fine Mod del 23/1/2017 + AND (SPB_ASS_UNIT.ISIN = '' --and CATITEMREF.CodIsin is null --= '$' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.CodAdeguatezza + AND + SPB_ASS_UNIT.MAF = CATITEMREF.CodMaf) + ) +WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = @MaxDTTrim + -------------------> Mod del 23/1/2017 -Commentata and sulla visibilità + --AND CATITEMREF.Visibilita = 1 + -------------------> Fine Mod del 23/1/2017 + and SPB_CONTR_SINTESI.CTV <> 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_2', + GETDATE(), + 'Mart Immobiliare' + ) + declare @visible int + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + INNER JOIN + ( + select * from C6StagingPeriodicoImmobiliare.rp_catalogoprodotti where visibilita = 1 + )CAT + on + --caso 1 + (COD_SOTTOPRODOTTO not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'')) + or + --else caso 1 + (COD_SOTTOPRODOTTO in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'') + and cat.TIPOPRODOTTO = 'ASUL') + --*********************************************************************************** + WHERE COD_PRODOTTO = '' + set @visible = @visible - 1 + end + -------------------> Mod del 23/1/2017 + --aggiorno tutti quelli che non hanno almeno un prodotto in catalogo con visibilità 1 + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + INNER JOIN C6StagingPeriodicoImmobiliare.rp_catalogoprodotti cat + on + isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'') + and cat.TIPOPRODOTTO = 'ASUL' + --) + --*********************************************************************************** + WHERE COD_PRODOTTO = '' + set @visible = @visible - 1 + end + -------------------> Fine Mod del 23/1/2017 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_2' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_3', + GETDATE(), + 'Mart Immobiliare' + ) + -------------> modifica del 23/01/2017 - questa update non è corretta - sostituiamo con scarto su data quality + --UPDATE #TEMP_DETTAGLIO_ASUL + --SET COD_PRODOTTO = SPB_POSITIONID + --WHERE COD_PRODOTTO = '' + --select + -- 14 as idTipoCtr, + -- rete as rete, + -- cod_fiscale as codfis, + -- (select DescSegnalazione from C6MartPeriodicoImmobiliare.tb_tipocontrollo where idtipocontrollo = 14) + temp.cod_interno + '/' + temp.cod_sottoprodotto + '/' +temp.id_contratto + -- as descrizione, + -- @ID_ELAB as idelab, + -- '' as richiesta, + -- 0 as idfase, + -- getdate() as dataelab + --into #TbErrori + --from #TEMP_DETTAGLIO_ASUL temp + --WHERE temp.COD_PRODOTTO = '' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_3' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_4', + GETDATE(), + 'Mart Immobiliare' + ) + INSERT INTO [C6MartPeriodicoImmobiliare].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + [RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB] + FROM #TEMP_DETTAGLIO_ASUL + DROP TABLE #TEMP_DETTAGLIO_ASUL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_4' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_4' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_ALTRO.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_ALTRO.sql new file mode 100644 index 00000000..66bad0ee --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_ALTRO.sql @@ -0,0 +1,86 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_PATRIMONIO_ALTRO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_ALTRO', + GETDATE(), + 'Mart Immobiliare' + ) +TRUNCATE TABLE C6MartPeriodicoImmobiliare.PATRIMONIO_ALTRO +INSERT INTO [C6MartPeriodicoImmobiliare].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb, dettPatrAz.denominazione) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6StagingPeriodicoImmobiliare.RP_DettPatrAziendale dettPatrAz, + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi patrTerzi, + [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +UNION ALL +SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb, dettAltriProd.descrizione) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6StagingPeriodicoImmobiliare.RP_DettAltriProdotti dettAltriProd, + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_BF.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_BF.sql new file mode 100644 index 00000000..f84a27b6 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_BF.sql @@ -0,0 +1,747 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +--------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_PATRIMONIO_BF] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() +INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Mart Immobiliare' + ) +TRUNCATE TABLE C6MartPeriodicoImmobiliare.PATRIMONIO_BF +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + -- 20170421 elimina char ; dal nome progetto che causa errore 2000 durante elaborazione prometeia exe + --ELSE LTRIM(RTRIM(CON.nomeProgetto)) + ELSE replace (LTRIM(RTRIM(CON.nomeProgetto)), ';', '') + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + INTO TEMP_PATRIMONIO_CAMPIONE + FROM C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPeriodicoImmobiliare.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodicoImmobiliare.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + --and con.cod_fiscale + CON.RETE IN + --( + --select COD_FISCALE + RETE + --FROM ANDREA_RINO_CODICI_PATRIMONIO + --) + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPPROD = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + --ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + FROM C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPeriodicoImmobiliare.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6StagingPeriodicoImmobiliare.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodicoImmobiliare.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6StagingPeriodicoImmobiliare.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin in ('EURO00000009', 'EURO10000007') + --FINE INTERVENTI OMNIA*** +--and con.cod_fiscale + CON.RETE IN +--( +--select COD_FISCALE + RETE +--FROM ANDREA_RINO_CODICI_PATRIMONIO +--) +UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_1', + GETDATE(), + 'Mart Immobiliare' + ) + --DROP TABLE #PATRIMONIO_DUPLICATI + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM TEMP_PATRIMONIO_CAMPIONE + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + --Scrittura Tabella Data Quality + --id 4 'POSIZIONI DUPLICATE - PATRIMONIO_BF' +--exec C6MartPeriodico.SP_DQ_PosizioniDuplicate 2 +-- INSERT INTO C6MARTPERIODICO.TEST_QUALITY +-- SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' +-- FROM #PATRIMONIO_DUPLICATI +-- GROUP BY RETE, COD_FISCALE +UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_2', + GETDATE(), + 'Mart Immobiliare' + ) + INSERT INTO C6MartPeriodicoImmobiliare.PATRIMONIO_BF +([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] +-- ,[STATO_CONSULENZA] +-- ,[DATA_STATO_CONS] +-- ,[DATA_MIGR_CONS] +-- , [DATA_PIANIF] +-- ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVE_PROGETTO]) + SELECT P.[RETE] + ,P.[COD_FISCALE] + ,P.[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,NULL --[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZONTETEMPORALE] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVEPROGETTO] +FROM +TEMP_PATRIMONIO_CAMPIONE P + LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--select rete, cod_fiscale, positionid, count(*) from #PATRIMONIO group by rete, cod_fiscale, positionid having count(*) > 1 + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, +-- case when isnull(CON.tipoProgetto, '') = '' then 'Default' +-- when CON.tipoProgetto = 0 then 'Default' +-- else 'Progetto investimento' end + '' as TIPO_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + CASE WHEN ORIZZ_TEMP_NUM = 0 THEN NULL ELSE ORIZZ_TEMP_NUM END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + KAT.AzOb As STRTYPE, + KAT.Complessita as COMPLEX, + MIT.DESCRIZIONE AS EMITTENTE, + SPB.ISIN, + @ID_ELAB, + @TIPO_ELAB, + -1 AS CHIAVE_PROGETTO + FROM C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI_v SPB + LEFT JOIN TEMP_PATRIMONIO_CAMPIONE PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + JOIN [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + INNER JOIN C6StagingPeriodicoImmobiliare.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6StagingPeriodicoImmobiliare.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--and SPB.CODFIS + SPB.RETE IN +-- ( +-- select COD_FISCALE + RETE +-- FROM ANDREA_RINO_CODICI_PATRIMONIO +-- ) +UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_3', + GETDATE(), + 'Mart Immobiliare' + ) + --************************************************************************************************* + -- RECUPERO CHIAVE PROGETTO DALLA CONSULENZA PER I PRODOTTI CHE SCENDONO DAL WS MA NON SONO NEL DB + SELECT DISTINCT COD_FISCALE, RETE, NULL AS CHIAVEPROGETTO + INTO #CHIAVEPROGETTONULL + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF + WHERE CHIAVE_PROGETTO = -1 + UPDATE #CHIAVEPROGETTONULL SET CHIAVEPROGETTO = R.CHIAVEPROGETTO + FROM + #CHIAVEPROGETTONULL C INNER JOIN C6StagingPeriodicoImmobiliare.RP_PROGETTICLIENTE R + ON C.COD_FISCALE = R.COD_FISCALE + AND C.RETE = R.RETE + AND R.area = 'Na' + UPDATE C6MartPeriodicoImmobiliare.PATRIMONIO_BF SET + CHIAVE_PROGETTO = T.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = T.CHIAVEPROGETTO + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF P INNER JOIN #CHIAVEPROGETTONULL T + ON P.COD_FISCALE = T.COD_FISCALE + AND P.RETE = T.RETE + WHERE P.CHIAVE_PROGETTO = -1 + --************************************************************************************************* + drop table #CHIAVEPROGETTONULL + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' + ) +--DROP table TEMP_PATRIMONIO_CAMPIONE +INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Mart Immobiliare' + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodicoImmobiliare.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, +--INIZIO INTERVENTO CORRETTIVO 20150130 +-- '', + CONS.CodIsin, +--FINE INTERVENTO CORRETTIVO 20150130 + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND TCP.SUBPROD=TSCA.SUBPROD + AND TCP.ISIN=TSCA.ISIN + AND TCP.dtrif=TSCA.dtrif + AND TCP.dtingresso=TSCA.dtingresso +--FINE INTERVENTO CORRETTIVO 20150130 + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + --C6StagingPeriodicoImmobiliare.RP_CONSULENZA_v AS CONS + C6StagingPeriodicoImmobiliare.RP_CONSULENZA AS CONS + ON + TSCA.CODCONF = CONS.CODCONF +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND (TSCA.CODPROD = CONS.CodInterno + OR TSCA.CODABI = CONS.CodInterno) +--FINE INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.ISIN, '') = ISNULL(CONS.CodIsin, '') +-- AND TCP.CODINT = CONS.CODINTERNO +--FINE INTERVENTO CORRETTIVO 20150130 + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE +--INIZIO INTERVENTO CORRETTIVO 20150130 + TCP.dtuscita = '99991231' +-- TSCA.DTRIF <> 0 +--FINE INTERVENTO CORRETTIVO 20150130 + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN C6MartPeriodicoImmobiliare.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + DROP TABLE #REND_NON_RAPPR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_3', + GETDATE(), + 'Mart Immobiliare' + ) +UPDATE C6MartPeriodicoImmobiliare.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MartPeriodicoImmobiliare.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +C6MartPeriodicoImmobiliare.patrimonio_bf +SET Id_area = 'Liq', +REND_NON_RAPPR=1 +WHERE TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +--AND ID_AREA = 'na' +AND CTV > 0 +UPDATE +C6MartPeriodicoImmobiliare.patrimonio_bf +SET Id_area = 'Cc' +WHERE TIPO_PRODOTTO='CC' +--AND ID_AREA = 'na' +AND CTV < 0 +--***INIZIO INTERVENTI OMNIA*** +UPDATE +C6MartPeriodicoImmobiliare.patrimonio_bf +SET Id_area = 'Self' +--INIZIO INTERVENTO CORRETTIVO 20150130 + ,REND_NON_RAPPR=0 +--FINE INTERVENTO CORRETTIVO 20150130 +WHERE ISIN in ('EURO00000009', 'EURO10000007') +--AND ID_AREA = 'na' +AND CTV < 0 +--***FINE INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I CC DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MartPeriodicoImmobiliare.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF BF + inner join C6StagingPeriodicoImmobiliare.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Cc') + AND BF.id_AREA=R.AREA + WHERE BF.TIPO_PRODOTTO='CC' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***INIZIO INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I SELF GP OMNIA DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MartPeriodicoImmobiliare.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF BF + inner join C6StagingPeriodicoImmobiliare.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Self') + AND BF.id_AREA=R.AREA + WHERE BF.ISIN in ('EURO00000009', 'EURO10000007') + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***FINE INTERVENTI OMNIA*** +--aggiunta Emanuele +UPDATE +C6MartPeriodicoImmobiliare.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +UPDATE C6MartPeriodicoImmobiliare.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' + ) +--insert into c6martperiodico.test_quality +--select distinct a.rete, a.cod_fiscale, 'ORDINAMENTO PROGETTO PER AREA DUPLICATO' +--from +--(SELECT * FRom c6martperiodico.patrimonio_bf ) a +--inner join +--(SELECT * FRom c6martperiodico.patrimonio_bf ) b +--on a.cod_fiscale = b.cod_fiscale +--and a.rete= b.rete +--and a.id_area = b.id_area +--where a.id_area <> 'Inv' +--and a.ordinamento_progetto <> b.ordinamento_progetto +--exec C6MartPeriodico.SP_DQ_ProgettoDuplicatoArea 2 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE.sql new file mode 100644 index 00000000..856891f8 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE.sql @@ -0,0 +1,79 @@ +--select * from C6MartPeriodicoImmobiliare.patrimonio_immobiliare +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_PATRIMONIO_IMMOBILIARE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Mart Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.PATRIMONIO_IMMOBILIARE + INSERT INTO [C6MartPeriodicoImmobiliare].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + C.RETE, --ALL_PATR_TERZI.RETE_PB AS RETE, + C.COD_FISCALE, --ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + B.DESCRIZIONE, --ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, --b.descrizione + B.TIPOLOGIA, + B.COMUNE AS COMUNE, --ALL_PATR_TERZI.LOCALITA AS LOCALITA, --comune è null verificare se è corretto + B.codProvincia AS PROVINCIA, --NULL AS PROVINCIA, --provincia + NULL AS CAP, + NULL AS NAZIONE, + B.VALOREIMMOBILETOTALE, + B.RENDITAANNUA, --ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, --renditaAnnua + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodicoImmobiliare.RP_PATRIMONIOTERZI A + JOIN C6StagingPeriodicoImmobiliare.RP_DETTIMMOBILIARE B + ON A.CHIAVEPRODOTTOTERZI = B.CHIAVEPRODOTTOTERZI + JOIN [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] C + ON A.CHIAVECLIENTEPB = C.CHIAVECLIENTEPB + WHERE A.IDTIPOPRODOTTO = 'IM' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql new file mode 100644 index 00000000..60d157c5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql @@ -0,0 +1,79 @@ +--select * from C6MartPeriodicoImmobiliare.patrimonio_immobiliare +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Mart Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.PATRIMONIO_IMMOBILIARE + INSERT INTO [C6MartPeriodicoImmobiliare].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + C.RETE, --ALL_PATR_TERZI.RETE_PB AS RETE, + C.COD_FISCALE, --ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + B.DESCRIZIONE, --ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, --b.descrizione + B.TIPOLOGIA, + B.COMUNE AS COMUNE, --ALL_PATR_TERZI.LOCALITA AS LOCALITA, --comune è null verificare se è corretto + B.codProvincia AS PROVINCIA, --NULL AS PROVINCIA, --provincia + NULL AS CAP, + NULL AS NAZIONE, + B.VALOREIMMOBILETOTALE, + B.RENDITAANNUA, --ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, --renditaAnnua + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodicoImmobiliare.RP_PATRIMONIOTERZI A + JOIN C6StagingPeriodicoImmobiliare.RP_DETTIMMOBILIARE B + ON A.CHIAVEPRODOTTOTERZI = B.CHIAVEPRODOTTOTERZI + JOIN [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] C + ON A.CHIAVECLIENTEPB = C.CHIAVECLIENTEPB + WHERE A.IDTIPOPRODOTTO = 'IM' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_TERZI.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_TERZI.sql new file mode 100644 index 00000000..e1662386 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_TERZI.sql @@ -0,0 +1,163 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_PATRIMONIO_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_TERZI', + GETDATE(), + 'Mart Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.PATRIMONIO_TERZI + INSERT INTO [C6MartPeriodicoImmobiliare].[PATRIMONIO_TERZI] + ( + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(MAPPING.Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + --------------------- intervento del 2/3/2018 per gestire ctv e capitale_investito più grandi del consentito + ---RP_PatrimonioTerzi.ctv AS CTV, + ----RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + case + when RP_PatrimonioTerzi.ctv > 999999999999.00 then 999999999999.00 + else RP_PatrimonioTerzi.ctv + end AS CTV, + case + when RP_DettProdottiTerzi.capitaleInvestito > 999999999999.00 then 999999999999.00 + else RP_DettProdottiTerzi.capitaleInvestito + end AS VERSATO_NETTO, + --------------------- fine intervento del 2/3/2018 + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + /* 20170427 aggiunto Assets.FinancialAssets.OtherFin e Assets.FinancialAssets.OtherAss al gruppo Portafoglio Generico */ + --WHEN RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.Other' + WHEN RP_PatrimonioTerzi.tipoProd in ('Assets.FinancialAssets.Other', 'Assets.FinancialAssets.OtherFin', 'Assets.FinancialAssets.OtherAss') + THEN 'Portafoglio Generico' + WHEN RP_PatrimonioTerzi.tipoProd IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') + THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + --'' AS DESCR_GRUPPO_PRODOTTO, --se mi dici adesso come si chiama questo campo (ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO) è fatta + RP_CatalogoProdotti.AzOb AS STRTYPE, --manca (farselo dire da Alessia) (obbligazionario o azionario) + RP_CatalogoProdotti.Complessita AS COMPLEX, + RP_AnEmittente.Descrizione AS EMITTENTE, + MAPPING.Temp_oidProd AS chiave_thr, --da rivedere + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] VCONTRATTI + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi + ON VCONTRATTI.chiaveClientePB = RP_PatrimonioTerzi.chiaveClientePB + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi + LEFT JOIN + C6StagingPeriodicoImmobiliare.RP_MappingTerzi MAPPING + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = MAPPING.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_S4_S5_S13_TRAD_UNTIL_LIV3 ON C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.alberatura = C6StagingPeriodicoImmobiliare.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + LEFT JOIN + C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti ON C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.chiaveProdotto = C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti.ChiaveProdotto + LEFT JOIN + C6StagingPeriodicoImmobiliare.RP_AnEmittente ON C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti.Emittente = C6StagingPeriodicoImmobiliare.RP_AnEmittente.Emittente + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PIRAMIDE_MOD.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PIRAMIDE_MOD.sql new file mode 100644 index 00000000..3e8a0a51 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_DM_PIRAMIDE_MOD.sql @@ -0,0 +1,211 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[RP_DM_PIRAMIDE_MOD] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PIRAMIDE_MOD', + GETDATE(), + 'Mart Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.PIRAMIDE_MOD + INSERT INTO [C6MartPeriodicoImmobiliare].[PIRAMIDE_MOD] + ( + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE, + rp_pirmod.area AS ID_AREA, + -- 2016-12-02: nomeProgetto sempre presente e differente da NULL + --case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then rp_pirmod.nomeProgetto + -- ELSE NULL END + -- fine + rp_pirmod.nomeProgetto AS NOME_PROGETTO, + case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' + else 'Default' + end AS TIPO_PROGETTO, + rp_pirmod.percentualeProgetto AS PERC_AREA, + ISNULL(Progetto.CTVPROGETTO, MigrazProgetto.CTVPROGETTO) AS CTV_PROGETTO, + NULL AS CTV_AREA, + --convert(int,REPLACE(durata,'anni','')) AS ORIZZ_TEMP_NUM, + Progetto.orizzonteTemporale AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(Progetto.orizzonteTemporale, 0) = 0 THEN '' ELSE + cast(Progetto.orizzonteTemporale as varchar(2)) + ' anni' END AS ORIZZ_TEMP, + --rp_pirmod.durata AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + ISNULL(Progetto.ChiaveProgetto, MigrazProgetto.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_ProgettiPiramideModello AS rp_pirmod +INNER JOIN + [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] vCONTRATTI + ON + rp_pirmod.chiaveClientePB = vCONTRATTI.chiaveClientePB + LEFT JOIN + C6StagingPeriodico.RP_Progetto Progetto + on rp_pirmod.chiaveprogettomod = Progetto.chiaveprogettomod + LEFT JOIN + C6StagingPeriodico.RP_Migraz_Progetto MigrazProgetto + on rp_pirmod.chiaveprogettomod = MigrazProgetto.chiaveprogettomod + AND Progetto.chiaveprogettomod is null + WHERE 1=1 + and rp_pirmod.DtFineValidita > getdate() + -- modifica del 30/11/2016 - il tipoProgetto non è più un campo significativo; ecludo le aree light e void + --and ((rp_pirmod.area = 'Inv') OR (rp_pirmod.area <> 'Inv' and rp_pirmod.tipoProgetto = 0)) + and rp_pirmod.area not in ('LIGHT', 'VOID') + -- fine -- modifica del 30/11/2016 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' + ) +-------------------------------------> modifica del 19/1/2017 per inserire il record di aggregazione per l'area 'Pre' + /* + PER OGNI CF MI ESTRAGGO SOLO I RECORD DELL'AREA 'PRE1' E 'PRE2' RINOMINANDOLI COME 'PRE' + PER POTERLI POI AGGREGARE + */ + SELECT + VCONTRATTI.rete AS RETE, + ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE, + CASE WHEN rp_pirmod.area IN ('Pre','Pre1','Pre2') THEN 'Pre' + else rp_pirmod.area + END AS ID_AREA, + rp_pirmod.nomeProgetto AS NOME_PROGETTO, + case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' + else 'Default' + end AS TIPO_PROGETTO, + rp_pirmod.percentualeProgetto AS PERC_AREA, + ISNULL(Progetto.CTVPROGETTO, MigrazProgetto.CTVPROGETTO) AS CTV_PROGETTO, + NULL AS CTV_AREA, + Progetto.orizzonteTemporale AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(Progetto.orizzonteTemporale, 0) = 0 THEN '' ELSE + cast(Progetto.orizzonteTemporale as varchar(2)) + ' anni' END AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + ISNULL(Progetto.ChiaveProgetto, MigrazProgetto.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + into #appo + FROM C6StagingPeriodico.RP_ProgettiPiramideModello AS rp_pirmod + INNER JOIN + [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] vCONTRATTI + ON + rp_pirmod.chiaveClientePB = vCONTRATTI.chiaveClientePB + LEFT JOIN + C6StagingPeriodico.RP_Progetto Progetto + on rp_pirmod.chiaveprogettomod = Progetto.chiaveprogettomod + LEFT JOIN + C6StagingPeriodico.RP_Migraz_Progetto MigrazProgetto + on rp_pirmod.chiaveprogettomod = MigrazProgetto.chiaveprogettomod + AND Progetto.chiaveprogettomod is null + WHERE 1=1 + AND rp_pirmod.area in ('Pre','Pre1','Pre2') + and rp_pirmod.DtFineValidita > getdate() + and rp_pirmod.area not in ('LIGHT', 'VOID') + /* + ORA INSERISCO UN SOLO RECORD 'PRE' PER OGNI CF COME AGGREGAZIONE DELL'AREE 'PRE1' E 'PRE2' + DOPO QUESTA INSERT, PER OGNI CF, HO DI NUOVO 'PRE', 'PRE1', E 'PRE2' + */ + insert into [C6MartPeriodicoImmobiliare].[PIRAMIDE_MOD] + ( + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + select + rete, + cod_fiscale, + id_area, + nome_progetto, + tipo_progetto, + sum(perc_area) as perc_area, + sum(ctv_progetto) as ctv_progetto, + sum(ctv_area) as ctv_area, + orizz_temp_num, + orizz_temp, + sum(ctv_totale) as ctv_totale, + stato_consulenza, + data_stato_cons, + data_migr_cons, + id_contratto, + max(ordinamento_progetto), + id_elab, + tipo_elab + from #appo + group by + rete, + cod_fiscale, + id_area, + nome_progetto, + tipo_progetto, + orizz_temp_num, + orizz_temp, + stato_consulenza, + data_stato_cons, + data_migr_cons, + id_contratto,id_elab, + tipo_elab +---------------------------------------------------------------> FINE MODIFICA DEL 19/1/2017 +END +-- select durata, convert(int,REPLACE(durata,'anni','')) FROM C6StagingPeriodico.RP_ProgettiPiramideModello where durata is not null \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2.sql new file mode 100644 index 00000000..a2ff4593 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2.sql @@ -0,0 +1,57 @@ +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_PROM_TuttiIPortafogli2] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT + -- descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] +FROM ( + SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6MartPeriodicoImmobiliare].[RP_vTuttiIPortafogli] + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6MartPeriodicoImmobiliare].[RP_vTuttiIPortafogli_ccLiq] +) T +--where t.codicefiscale <> 'MNTGFR35R06G337T' +--where ((t.rete = 'F' +--and t.codicefiscale > 'KRLPBL79L31Z107U') +--or (t.rete = 'S')) +---------------------------------------------------------------- +-- excluded for T2_L1 and T2_L2 to bypass Prometeia dtsx failure +--where T.codicefiscale = 'BRRNGL37T26F063Y' +---------------------------------------------------------------- +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2_Indicatore.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2_Indicatore.sql new file mode 100644 index 00000000..91b6187a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2_Indicatore.sql @@ -0,0 +1,155 @@ +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_PROM_TuttiIPortafogli2_Indicatore] + -- Add the parameters for the stored procedure here +AS +BEGIN +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + -- ,case + --when [CtvNominale] < 0 then '0.00' + --else convert(varchar(20),[CtvNominale]) + -- end as [CtvNominale] + -- ,case + --when [CtvReale] < 0 then '0.00' + --else convert(varchar(20),[CtvReale]) + -- end as [CtvReale] + --orig: + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 +FROM +( + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6MartperiodicoImmobiliare].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + -- and rete+codicefiscale not in + --('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + --'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + --'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--and rete+codicefiscale in (select rete+codfis from consuni.consulenzaunicafl.dbo.immobiliare_richiestemonitoraggiocatastocliente where dtriferimento is null) +--********************ELIMINARE***************** + --and codicefiscale = 'BRRNGL37T26F063Y' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6MartperiodicoImmobiliare].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + -- and rete+codicefiscale not in + --('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + --'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + --'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--and rete+codicefiscale in (select rete+codfis from consuni.consulenzaunicafl.dbo.immobiliare_richiestemonitoraggiocatastocliente where dtriferimento is null) +--********************ELIMINARE***************** + --and codicefiscale = 'BRRNGL37T26F063Y' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6MartperiodicoImmobiliare].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where ([Portafoglio] like '%COMPLESSIVO|TERZI%' or [Portafoglio] like '%COMPLESSIVO|BF%') + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + -- and rete+codicefiscale not in + --('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + --'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + --'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--and rete+codicefiscale in (select rete+codfis from consuni.consulenzaunicafl.dbo.immobiliare_richiestemonitoraggiocatastocliente where dtriferimento is null) +--********************ELIMINARE***************** + --and codicefiscale = 'BRRNGL37T26F063Y' +--********************ELIMINARE***************** +) T +--where codicefiscale+portafoglio = 'BRRNGL37T26F063YCOMPLESSIVO|BF|Liq|Progetto investimento||EURO000000099000002 FO V301 091343FO10600000000000000000000000000000000000000000000000' +--Da ELIMINARE 13 Apr 2020 --> +where portafoglio not like '%||%' +--Da ELIMINARE 13 Apr 2020 <-- +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_SP_PopolaW6IMM.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_SP_PopolaW6IMM.sql new file mode 100644 index 00000000..2fa439b0 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_SP_PopolaW6IMM.sql @@ -0,0 +1,129 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: Popola la tabella W6IMM per la quadratura semestrale immobiliare +-- ============================================= +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[SP_PopolaW6IMM] + -- Add the parameters for the stored procedure here + @DataUltimoAggiornamento as varchar(10) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + if (Exists (Select * from c6martperiodicoimmobiliare.W6IMM)) + begin + Delete from c6martperiodicoimmobiliare.W6IMM + end + Insert into c6martperiodicoimmobiliare.W6IMM + Select + distinct + isnull(cli.rete,'') as rete, + isnull(coalesce(cli.codFis, cli.pIva),'') as codfis, + isnull(cli.codiceContratto,'') as contratto, + case + when (cli.StatoContratto in ('BASE')) then 'BASE' else 'SEI' end as TIPCONS, + case + when (srv.chiaveservizioAggiuntivo = 1) then 'SI' else 'NO' end as SERVAGG, + case + when (srv.flagattivo=1) then 'ATTIVO' else 'non attivo' END AS ADDIMM, + keyimport.statoImportazione as StatoImportazione, + '', + '', + '' + from [CONSUNI_periodico].[ConsulenzaUnica].dbo.vInfoCliente CLI + left outer join [CONSUNI_periodico].[ConsulenzaUnica].dbo.v_servizi_aggiuntivi srv on CLI.chiaveClientePB=srv.chiaveclientepb and srv.chiaveServizioAggiuntivo = 1 and srv.flagattivo = 1 + inner join ( + select distinct s.chiaveImportazione,i.statoImportazione, s.chiaveClientePB + from [CONSUNI_periodico].[ConsulenzaUnica].[dbo].[PatrimonioImmobiliareStaging] s inner join [CONSUNI_periodico].[ConsulenzaUnicaFL].dbo.Immobiliare_Cliente i on s.chiaveImportazione=i.chiaveImportazione + where chiaveProdottoTerzi IN ( + select chiaveProdottoTerzi from [CONSUNI_periodico].[ConsulenzaUnica].dbo.PatrimonioTerzi where idTipoProdotto='IM' AND idImmobileCatasto IS NOT NULL and dtfinevalidita='9999-12-31 00:00:00.000') + and dtUltimoAggiornamento < convert(datetime,'2025-03-31') ) keyimport on keyimport.chiaveClientePB=cli.chiaveClientePB + where StatoContratto IN ('SEI','AVANZATOBASE','BASE') +--Prima di avviare la proc controllare se non vi siano clienti che abbiano lo statoimportazione a Deleted e l'addimm attivo. In quel caso ricordarsi di lanciare l'update fornito da Giuseppe + /*********** Vecchie Versioni *****************/ + --SELECT + -- distinct + -- isnull(cli.rete,''), + -- isnull(coalesce(cli.codFis, cli.pIva),'') as codfis, + -- isnull(con.codiceContratto,''), + -- case + -- when (cli.StatoContratto in ('BASE')) then 'BASE' else 'SEI' end as TIPCONS, + -- case + -- when (srv.chiaveservizioAggiuntivo = 1) then 'SI' else 'NO' end as SERVAGG, + -- case + -- when (srv.flagattivo=1) then 'ATTIVO' else 'non attivo' END AS ADDIMM, + -- --cli.CognomeCliente, + -- --cli.CognomeCliente, + -- --cli.NomeCliente, + -- --cli.Agente, + -- --cli.CognomePb, + -- --cli.NomePb, + -- --cli.codman, + -- --srv.descrizione, + -- --srv.dataAttivazione, + -- --srv.dataRevoca, + -- --srv.flagattivo, + -- --srv.ctr_immobili AS tot_immobili, + -- --srv.ctr_cli_mon_imm, + -- --(select count(*) count_immobili_da_catasto from PatrimonioTerzi pt where idTipoProdotto='IM' AND idImmobileCatasto IS NOT NULL AND pt.chiaveClientePB=cli.chiaveClientePB AND dtfinevalidita ='9999-12-31 00:00:00.000' GROUP BY chiaveClientePB) Imm_catasto, + -- --(select count(*) count_immobili_manuali from PatrimonioTerzi pt where idTipoProdotto='IM' AND idImmobileCatasto IS NULL AND pt.chiaveClientePB=cli.chiaveClientePB AND dtfinevalidita ='9999-12-31 00:00:00.000' GROUP BY chiaveClientePB) Imm_manuali, + -- isnull((select statoImportazione from [CONSUNI].[ConsulenzaUnicaFL].dbo.Immobiliare_Cliente rpt where rpt.dtUltimoAggiornamento < convert(datetime,'2020-03-01') AND + -- rpt.codFIS=coalesce(cli.codFis,cli.piva) AND chiaveImportazione = (select max(chiaveImportazione) from [CONSUNI].[ConsulenzaUnicaFL].dbo.Immobiliare_Cliente rpt2 where rpt2.dtUltimoAggiornamento < convert(datetime,'2020-03-01') AND + -- rpt2.codFIS=rpt.codFis)),'') AS Evento_Prometeia, + -- '', + -- '', + -- '' + -- from [CONSUNI].[ConsulenzaUnica].dbo.vInfoCliente cli + -- left outer join [CONSUNI].[ConsulenzaUnica].dbo.v_servizi_aggiuntivi srv on srv.chiaveclientepb = cli.chiaveClientePB AND srv.chiaveServizioAggiuntivo = 1 and srv.flagattivo=1 + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.PatrimonioTerzi PT on cli.chiaveClientePB=PT.chiaveClientePB + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.Contratto con on cli.chiaveClientePB = con.chiaveClientePB + -- inner join [CONSUNI].[ConsulenzaUnicaFL].dbo.Immobiliare_Cliente rpt on coalesce(cli.codFis,cli.piva) = rpt.codfis + -- --left outer join + -- --(select distinct s.chiaveImportazione,i.statoImportazione, s.chiaveClientePB + -- -- from [CONSUNI].[ConsulenzaUnica].[dbo].[PatrimonioImmobiliareStaging] s inner join [CONSUNI].[ConsulenzaUnicaFL].dbo.Immobiliare_Cliente i on s.chiaveImportazione=i.chiaveImportazione + -- -- where chiaveProdottoTerzi IN + -- -- (select chiaveProdottoTerzi from [CONSUNI].[ConsulenzaUnica].dbo.PatrimonioTerzi where idTipoProdotto='IM' AND idImmobileCatasto IS NOT NULL)) keyimport + -- -- on keyimport.chiaveClientePB=cli.chiaveClientePB + -- where idTipoProdotto='IM' AND dtfinevalidita='9999-12-31 00:00:00.000' + -- AND StatoContratto IN ('SEI','AVANZATOBASE','BASE') + -- and idImmobileCatasto IS NOT NULL + -- and rpt.dtUltimoAggiornamento < convert(datetime,'2020-03-01') + --SELECT + -- distinct + -- isnull(cli.rete,''), + -- isnull(coalesce(cli.codFis, cli.pIva),'') as codfis, + -- isnull(con.codiceContratto,''), + -- case + -- when (cli.StatoContratto = 'AVANZATOBASE') then 'BASE' else 'SEI' end as TIPCONS, + -- case + -- when (srv.chiaveservizioAggiuntivo = 1) then 'SI' else 'NO' end as SERVAGG, + -- case + -- when (srv.flagattivo=1) then 'ATTIVO' else 'non attivo' END AS ADDIMM, + -- --cli.CognomeCliente, + -- --cli.CognomeCliente, + -- --cli.NomeCliente, + -- --cli.Agente, + -- --cli.CognomePb, + -- --cli.NomePb, + -- --cli.codman, + -- --srv.descrizione, + -- --srv.dataAttivazione, + -- --srv.dataRevoca, + -- --srv.flagattivo, + -- --srv.ctr_immobili AS tot_immobili, + -- --srv.ctr_cli_mon_imm, + -- --(select count(*) count_immobili_da_catasto from PatrimonioTerzi pt where idTipoProdotto='IM' AND idImmobileCatasto IS NOT NULL AND pt.chiaveClientePB=cli.chiaveClientePB AND dtfinevalidita ='9999-12-31 00:00:00.000' GROUP BY chiaveClientePB) Imm_catasto, + -- --(select count(*) count_immobili_manuali from PatrimonioTerzi pt where idTipoProdotto='IM' AND idImmobileCatasto IS NULL AND pt.chiaveClientePB=cli.chiaveClientePB AND dtfinevalidita ='9999-12-31 00:00:00.000' GROUP BY chiaveClientePB) Imm_manuali, + -- isnull((select statoImportazione from [CONSUNI].[ConsulenzaUnicaFL].dbo.Immobiliare_Cliente rpt where rpt.dtUltimoAggiornamento < convert(datetime,'2020-02-27') AND + -- rpt.codFIS=coalesce(cli.codFis,cli.piva) AND chiaveImportazione = (select max(chiaveImportazione) from [CONSUNI].[ConsulenzaUnicaFL].dbo.Immobiliare_Cliente rpt2 where rpt2.dtUltimoAggiornamento < convert(datetime,'2020-02-27') AND + -- rpt2.codFIS=rpt.codFis)),'') AS Evento_Prometeia, + -- '', + -- '', + -- '' + -- from [CONSUNI].[ConsulenzaUnica].dbo.vInfoCliente cli + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.v_servizi_aggiuntivi srv on srv.chiaveclientepb = cli.chiaveClientePB AND srv.chiaveServizioAggiuntivo = 1 + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.Contratto con on cli.chiaveClientePB = con.chiaveClientePB + -- where cli.codman = '' + -- and cli.StatoContratto <> 'REVOCASEI' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_SP_Valorizza_Stati_semaforo_IMM.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_SP_Valorizza_Stati_semaforo_IMM.sql new file mode 100644 index 00000000..d7e1e4f0 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_SP_Valorizza_Stati_semaforo_IMM.sql @@ -0,0 +1,298 @@ +-- flag_stato=1 completato (verde) +-- flag_stato=2 in esecuzione (giallo) +-- flag_stato=3 non lavorato (rosso) +--truncate table C6MartPeriodicoImmobiliare.tab_semaforo +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_TRIM quad_end,SEI + --select * from C6MartPeriodicoImmobiliare.tab_semaforo +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[SP_Valorizza_Stati_semaforo_IMM] @param1 varchar(20),@tipo varchar(20) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + declare + @intero int, + @semestrale varchar(3), + @lotto varchar(3), + @testi_statici varchar(3), + --@lotto_zero varchar(3), + @omi varchar(3), + @richiesta_catasto varchar(3), + @richiesta_rischio varchar(3), + @Generazione_Invio_PDF varchar(3), + --descrizioni + @desc_semestrale varchar(256), + @desc_testi_statici varchar(256), + @desc_lotto varchar(256), + @desc_omi varchar(256), + @desc_richiesta_catasto varchar(256), + @desc_richiesta_rischio varchar(256), + @desc_Generazione_Invio_PDF varchar(256) + set @intero='0' + set @semestrale='1' + --set @lotto='2' + set @testi_statici='2' + set @omi='3' + set @richiesta_catasto='4' + set @richiesta_rischio='5' + --set @adeguatezza='7' + --set @post_ade='8' + set @Generazione_Invio_PDF='6' + set @desc_semestrale='Rendicontazioni sugli investimenti per i clienti con contratto di consulenza "IMMOBILIARI". ' + set @desc_testi_statici='Fase dei testi statici.' + set @desc_lotto='Preparazione delle rendicontazioni in corso.' + set @desc_omi='Fase di omi per il database di marketing.' + set @desc_richiesta_catasto='Fase di Richiesta al Catasto' + set @desc_richiesta_rischio='Fase di Richiesta del Rischio.' + set @desc_Generazione_Invio_PDF='Generazione e Invio PDF.' + --select * from C6MartPeriodicoImmobiliare.tab_semaforo + --inserimento + --select * from C6MartPeriodicoImmobiliare.tab_semaforo + --insert into C6MartPeriodicoImmobiliare.tab_semaforo values + --avvio_trimestre + --update C6MartPeriodicoImmobiliare.tab_semaforo + --set descrizione='Fase di omi per il database di marketing' + --from C6MartPeriodicoImmobiliare.tab_semaforo + --where id_milestone=4 +if ((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo)=0) +begin +insert into C6MartPeriodicoImmobiliare.tab_semaforo values +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@semestrale,'SEMESTRALE',@desc_semestrale,'','',3,@intero,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@lotto_zero,'LOTTO 0','','','',3,@intero,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@lotto,'LOTTO',@desc_lotto,'','',3,@intero+1,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@testi_statici,'TESTI STATICI',@desc_testi_statici,'','',3,@intero,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@omi,'OMI',@desc_omi,'','',3,@intero,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@richiesta_catasto,'RICHIESTA CATASTO',@desc_richiesta_catasto,'','',3,@intero,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@richiesta_rischio,'RICHIESTA RISCHIO',@desc_richiesta_rischio,'','',3,@intero,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@adeguatezza,'ADEGUATEZZA'+' '+ cast(@intero+1 as varchar),'','','',3,@intero+1), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@post_ade,'POST_ADE'+' '+ cast(@intero+1 as varchar),'','','',3,@intero+1), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@Generazione_Invio_PDF,'GENERAZIONE E INVIO PDF',@desc_Generazione_Invio_PDF,'','',3,@intero,'','',0) +end +--insert into C6MartPeriodicoImmobiliare.tab_semaforo values +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@semestrale,'SEMESTRALE',@desc_semestrale,'','',3,@intero,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@lotto_zero,'LOTTO 0','','','',3,@intero,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@testi_statici,'TESTI STATICI',@desc_testi_statici,getdate()+1,getdate()+4,3,@intero,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@lotto,'LOTTO'+' '+ cast(@intero+1 as varchar),@desc_lotto,getdate()+5,getdate()+30,3,@intero+1,getdate()+5,getdate()+30,0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@omi,'OMI',@desc_omi,getdate()+6,getdate()+8,3,@intero+1,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@richiesta_catasto,'RICHIESTA CATASTO'+' '+ cast(@intero+1 as varchar),@desc_richiesta_catasto,getdate()+6,getdate()+8,3,@intero+1,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@richiesta_rischio,'RICHIESTA RISCHIO'+' '+ cast(@intero+1 as varchar),@desc_richiesta_rischio,getdate()+9,getdate()+11,3,@intero+1,'','',0), +----([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@adeguatezza,'ADEGUATEZZA'+' '+ cast(@intero+1 as varchar),'','','',3,@intero+1), +----([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@post_ade,'POST_ADE'+' '+ cast(@intero+1 as varchar),'','','',3,@intero+1), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@Generazione_Invio_PDF,'GENERAZIONE E INVIO PDF'+' '+ cast(@intero+1 as varchar),@desc_Generazione_Invio_PDF,getdate()+12,getdate()+14,3,@intero+1,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@certificazione,'CERTIFICAZIONE',@desc_certificazione,getdate()+13,getdate()+17,3,@intero+1,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@zipping,'ZIPPING'+' '+ cast(@intero+1 as varchar),@desc_zipping,getdate()+18,getdate()+21,3,@intero+1,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@approval,'APPROVAL',@desc_approval,getdate()+23,getdate()+25,3,@intero+1,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@invio,'INVIO PDF'+' '+ cast(@intero+1 as varchar),@desc_invio,getdate()+25,getdate()+27,3,@intero+1,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@postalizzazione,'POSTALIZZAZIONE'+' '+ cast(@intero+1 as varchar),@desc_postalizzazione,getdate()+27,getdate()+30,3,@intero+1,'','',0) +if (@param1='SEM_START') +begin +if ((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='SEMESTRALE' and tipo_reportistica=@tipo and flg_stato=1)>0) +begin +truncate table C6MartPeriodicoImmobiliare.tab_semaforo +--;throw 51014,'Presente una semestrale conclusa, per continuare fai una truncate su questa tabella',0 +end +select @intero= COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='SEMESTRALE' and tipo_reportistica=@tipo +if(@intero>0) +begin +update C6MartPeriodicoImmobiliare.tab_semaforo +set inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end, +trim_corrente=[C6MartPeriodico].[getTrimestre](GETDATE(),0), +--fine_milestone=GETDATE()+50, +--fine_lotto=GETDATE()+50, +flg_stato=2 +where milestone='SEMESTRALE' and tipo_reportistica=@tipo; +--exec C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM LOTTO_START,@tipo +end +--else +--begin +--insert into C6MartPeriodicoImmobiliare.tab_semaforo +--values ([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,'SEMESTRALE','',GETDATE(),GETDATE()+50,2,@intero) +--end +end +--if(@param1='LOTTO_START') +--begin +--if((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='SEMESTRALE' and flg_stato=2 and tipo_reportistica=@tipo)<>0) +--begin +--update C6MartPeriodicoImmobiliare.tab_semaforo +--set inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end, +--inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +--flg_stato=2 +----fine_milestone=GETDATE()+4, +----fine_lotto=GETDATE()+4 +--from C6MartPeriodicoImmobiliare.tab_semaforo +--where milestone='LOTTO' and tipo_reportistica=@tipo +--end +--else +--begin +--;throw 50003,'Nessuna fase di Semestrale in corso',0 +--end +--end +if(@param1='TESTI_START') +begin +if((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='SEMESTRALE' and flg_stato=2 and tipo_reportistica=@tipo)<>0) +begin +update C6MartPeriodicoImmobiliare.tab_semaforo +set inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end, +inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +flg_stato=2 +--fine_milestone=GETDATE()+4, +--fine_lotto=GETDATE()+4 +from C6MartPeriodicoImmobiliare.tab_semaforo +where milestone='TESTI STATICI' and tipo_reportistica=@tipo +end +else +begin +;throw 50003,'Nessuna fase di Lotto in corso',0 +end +end +if(@param1='OMI_START') +begin +if((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='SEMESTRALE' and flg_stato=2 and tipo_reportistica=@tipo)<>0) +begin +update C6MartPeriodicoImmobiliare.tab_semaforo +set inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end, +inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +flg_stato=2 +--fine_milestone=GETDATE()+4, +--fine_lotto=GETDATE()+4 +from C6MartPeriodicoImmobiliare.tab_semaforo +where milestone='OMI' and tipo_reportistica=@tipo +end +else +begin +;throw 50003,'Nessuna fase di Lotto in corso',0 +end +end +if(@param1='CATASTO_START') +begin +if((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='OMI' and flg_stato=1 and tipo_reportistica=@tipo)<>0) +begin +update C6MartPeriodicoImmobiliare.tab_semaforo +set inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end, +inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +flg_stato=2 +--fine_milestone=GETDATE()+4, +--fine_lotto=GETDATE()+4 +from C6MartPeriodicoImmobiliare.tab_semaforo +where milestone='RICHIESTA CATASTO' and tipo_reportistica=@tipo +end +else +begin +;throw 50003,'Fase di OMI non completata',0 +end +end +if(@param1='RISCHIO_START') +begin +if((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='OMI' and flg_stato=1 and tipo_reportistica=@tipo)<>0) +begin +update C6MartPeriodicoImmobiliare.tab_semaforo +set inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end, +inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +flg_stato=2 +--fine_milestone=GETDATE()+4, +--fine_lotto=GETDATE()+4 +from C6MartPeriodicoImmobiliare.tab_semaforo +where milestone='RICHIESTA RISCHIO' and tipo_reportistica=@tipo +end +else +begin +;throw 50003,'Fase di OMI non completata',0 +end +end +if(@param1='ZIPPING_START') +begin +if((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='RICHIESTA RISCHIO' and flg_stato=1 and tipo_reportistica=@tipo)<>0) +begin +update C6MartPeriodicoImmobiliare.tab_semaforo +set inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end, +inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +flg_stato=2 +--fine_milestone=GETDATE()+4, +--fine_lotto=GETDATE()+4 +from C6MartPeriodicoImmobiliare.tab_semaforo +where milestone='GENERAZIONE E INVIO PDF' and tipo_reportistica=@tipo +end +else +begin +;throw 50003,'Fase di Richiesta non completata',0 +end +end +if (@param1='SEM_END') +begin +--select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='SEMESTRALE' and tipo_reportistica=@tipo +--if(@intero>0 and (select flg_stato from C6MartPeriodico.tab_semaforo where milestone='SEMESTRALE' and tipo_reportistica=@tipo) <>0 ) +--begin +--exec C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM lotto_end,IMM +--end +update C6MartPeriodicoImmobiliare.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodicoImmobiliare.tab_semaforo +where milestone='SEMESTRALE' and tipo_reportistica=@tipo +end +--if(@param1='LOTTO_END') +--begin +--if ((select count(*) from C6MartPeriodicoImmobiliare.tab_semaforo where inizio_milestone='GENERAZIONE E INVIO PDF' and flg_stato=2)>0) +--begin +--exec C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM zipping_end,IMM +----end +--update C6MartPeriodico.tab_semaforo +--set fine_milestone=GETDATE(),flg_stato=1 +--from C6MartPeriodico.tab_semaforo +--where milestone = 'LOTTO'and tipo_reportistica=@tipo +--end +--if(@param1='ZIPPING_END') +--begin +--update C6MartPeriodico.tab_semaforo +--set fine_milestone=GETDATE(),flg_stato=1 +--from C6MartPeriodico.tab_semaforo +--where milestone = 'GENERAZIONE E INVIO PDF' and tipo_reportistica=@tipo +--end +if(@param1='RISCHIO_END') +begin +update C6MartPeriodicoImmobiliare.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodicoImmobiliare.tab_semaforo +where milestone = 'RICHIESTA RISCHIO' and tipo_reportistica=@tipo +end +if(@param1='CATASTO_END') +begin +update C6MartPeriodicoImmobiliare.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodicoImmobiliare.tab_semaforo +where milestone = 'RICHIESTA CATASTO' and tipo_reportistica=@tipo +end +if(@param1='OMI_END') +begin +update C6MartPeriodicoImmobiliare.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodicoImmobiliare.tab_semaforo +where milestone = 'OMI' and tipo_reportistica=@tipo +end +if(@param1='TEST_END') +begin +update C6MartPeriodicoImmobiliare.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodicoImmobiliare.tab_semaforo +where milestone = 'TESTI STATICI' and tipo_reportistica=@tipo +end +----truncate table C6MartPeriodicoImmobiliare.tab_semaforo +--select * from C6MartPeriodicoImmobiliare.tab_semaforo order by inizio_milestone desc +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM sem_start,IMM +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM testi_start,IMM +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM omi_start,IMM +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM catasto_start,IMM +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM rischio_start,IMM +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM zipping_start,IMM +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM sem_end,IMM +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM testi_end,IMM +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM omi_end,IMM +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM catasto_end,IMM +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM rischio_end,IMM +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM zipping_end,IMM +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_UpdateDateReport_Immobiliare_GestionePDF.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_UpdateDateReport_Immobiliare_GestionePDF.sql new file mode 100644 index 00000000..22e165a1 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_UpdateDateReport_Immobiliare_GestionePDF.sql @@ -0,0 +1,63 @@ +-- ================================================================================== +-- Author: +-- Create date: <27.02.2019> +-- Description: +-- ================================================================================== +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[UpdateDateReport_Immobiliare_GestionePDF] + @IdReport int , + @DataReport datetime, + @DataReportUpdate datetime, + @DataZip datetime, + @DataZipUpdate datetime, + @DataInvio datetime, + @DataInvioUpdate datetime, + @NomeFile varchar(50), + @IdZip int , + @Return int OUTPUT +WITH EXEC AS CALLER +AS +/* +SP Body Comment +*/ + BEGIN TRANSACTION + BEGIN TRY + IF @IDZip > 0 + BEGIN + UPDATE [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF] + SET + [DataReport] = @DataReport, + [DataReportUpdate] = @DataReportUpdate, + [DataZip] = @DataZip, + [DataZipUpdate] = @DataZipUpdate, + [DataInvio] = @DataInvio, + [DataInvioUpdate] = @DataInvioUpdate, + [NomeFile] = @NomeFile, + [IDZip] = @IdZip + WHERE [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF].[IDReport] = @IdReport + Set @Return=1; + END + ELSE + BEGIN + UPDATE [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF] + SET + [DataReport] = @DataReport, + [DataReportUpdate] = @DataReportUpdate, + [DataZip] = @DataZip, + [DataZipUpdate] = @DataZipUpdate, + [DataInvio] = @DataInvio, + [DataInvioUpdate] = @DataInvioUpdate, + [NomeFile] = @NomeFile + WHERE [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF].[IDReport] = @IdReport + Set @Return=1; + END + END TRY + BEGIN CATCH + IF ERROR_NUMBER()=2601 + BEGIN + IF @@TRANCOUNT > 0 + ROLLBACK TRANSACTION; + Set @Return=-2601; + END + END CATCH + IF @@TRANCOUNT > 0 + COMMIT TRANSACTION; \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_Update_Immobiliare_GestioneZIP.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_Update_Immobiliare_GestioneZIP.sql new file mode 100644 index 00000000..d97b7987 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_Update_Immobiliare_GestioneZIP.sql @@ -0,0 +1,39 @@ +-- ================================================================================== +-- Author: +-- Create date: <27.02.2019> +-- Description: +-- ================================================================================== +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[Update_Immobiliare_GestioneZIP] + @IdZip int , + @DataInvio datetime, + @FlagInvio varchar(1), + @Return int OUTPUT +WITH EXEC AS CALLER +AS +/* +SP Body Comment +*/ + BEGIN TRANSACTION + BEGIN TRY + UPDATE [C6MartPeriodicoImmobiliare].[Immobiliare_GestioneZIP] + SET + [DataInvio] = @DataInvio, + [FlagInvio] = @FlagInvio + WHERE [C6MartPeriodicoImmobiliare].[Immobiliare_GestioneZIP].[IDZip] = @IdZip + UPDATE [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF] + SET + [DataInvio] = @DataInvio, + [FlagInvio] = @FlagInvio + WHERE [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF].[IDZip] = @IdZip + Set @Return=1; + END TRY + BEGIN CATCH + IF ERROR_NUMBER()=2601 + BEGIN + IF @@TRANCOUNT > 0 + ROLLBACK TRANSACTION; + Set @Return=-2601; + END + END CATCH + IF @@TRANCOUNT > 0 + COMMIT TRANSACTION; \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_getRichiesteMonitoraggioCatastoCliente.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_getRichiesteMonitoraggioCatastoCliente.sql new file mode 100644 index 00000000..44e43411 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_getRichiesteMonitoraggioCatastoCliente.sql @@ -0,0 +1,16 @@ +create PROCEDURE [C6MartPeriodicoImmobiliare].[getRichiesteMonitoraggioCatastoCliente] + @rete varchar(1), + @agente varchar(255), + @codFis varchar(16) +AS +BEGIN + declare @exit_status numeric + set @exit_status = 0 + SELECT * FROM CONSUNI.ConsulenzaUnicaFL.dbo.Immobiliare_RichiesteMonitoraggioCatastoCliente + WHERE rete = @rete + AND agente = @agente + AND codFis = @codFis + AND dtRiferimento IS NULL + set @exit_status = @@ROWCOUNT + return @exit_status +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_insertRichiesteMonitoraggioCatastoCliente.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_insertRichiesteMonitoraggioCatastoCliente.sql new file mode 100644 index 00000000..93518d25 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_insertRichiesteMonitoraggioCatastoCliente.sql @@ -0,0 +1,50 @@ +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[insertRichiesteMonitoraggioCatastoCliente] + @rete varchar(1), + @agente varchar(255), + @agenteCognome varchar(255), + @agenteNome varchar(255), + @codFis varchar(16), + @nomeCliente varchar(255), + @cognomeCliente varchar(255) +AS +BEGIN +declare @exit_status numeric +BEGIN TRY +begin transaction +set @exit_status = 0 +INSERT INTO CONSUNI.ConsulenzaUnicaFL.dbo.Immobiliare_RichiesteMonitoraggioCatastoCliente( + rete + ,agente + ,agenteCognome + ,agenteNome + ,codFis + ,cognomeCliente + ,nomeCliente + ,dtElabRichiestaCatasto + ,dtElabRicezioneCatasto + ,dtElabRichiestaRischio + ,dtElabRicezioneRischio + ,utente +) VALUES ( + @rete + ,@agente + ,@agenteCognome + ,@agenteNome + ,@codFis + ,@cognomeCliente + ,@nomeCliente + ,NULL + ,NULL + ,NULL + ,NULL + ,NULL +) +set @exit_status = @@ROWCOUNT +commit transaction +END TRY +BEGIN CATCH +rollback transaction + set @exit_status = 0 +END CATCH + return @exit_status +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_sp_caricaBlacklist.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_sp_caricaBlacklist.sql new file mode 100644 index 00000000..42fa8ced --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_sp_caricaBlacklist.sql @@ -0,0 +1,37 @@ +-- Stored procedure +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[sp_caricaBlacklist] +AS +BEGIN + Declare @dtTrime as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + truncate table C6MartPeriodicoImmobiliare.blacklist + insert into C6MartPeriodicoImmobiliare.blacklist + select distinct + Rete + ,case when codman <> '' then 'FF@' + CODMAN + when len(codfis)=11 then NULL else codfis end as codiceFiscale + ,case when LEN(codfis) =11 and codman='' then codfis else NULL end as Piva + ,case when codman<>'' then codman else NULL end as Codman + ,case when tipolett = '2' then 'BLACKLIST RFA MINUS CLIENTE SEI E IMMOBILIARE' + when tipolett = '1' then 'BLACKLIST RFA MINUS CLIENTE IMMOBILIARE' END AS DescrErr + ,getdate() as [DataIns] + -- ,1 as [Bloccato] +from c6stagingPeriodico.wseidc +where dttrim = @dtTrime and (tipolett='2' or TIPOLETT='1') +insert into C6MartPeriodicoImmobiliare.blacklist +select distinct + ps.Rete + ,case when codman <> '' then 'FF@' + CODMAN + when len(ps.codfis)=11 then NULL else ps.codfis end as codiceFiscale + ,case when LEN(ps.codfis) =11 and codman='' then ps.codfis else NULL end as Piva + ,case when codman<>'' then codman else NULL end as Codman + , 'Profilo Scaduto' as DescrErr + , getdate() as [DataIns] + -- , 1 as [Bloccato] +from c6stagingPeriodico.wseips ps + join c6martperiodicoimmobiliare.w6imm imm on imm.RETE = ps.RETE and imm.CODFIS = ps.CODFIS +where 1=1 + and dttrim = @dtTrime + and imm.flag_in_perimetro='S' +exec [C6MartPeriodicoImmobiliare].[Blacklist_Blocco_Tabellone] 'blocco' --aggiorna tabellone +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_start_email_Testi_Statici_tabellone.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_start_email_Testi_Statici_tabellone.sql new file mode 100644 index 00000000..3abed126 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_start_email_Testi_Statici_tabellone.sql @@ -0,0 +1,6 @@ +CREATE procedure [C6MartPeriodicoImmobiliare].[start_email_Testi_Statici_tabellone] as +begin +insert into C6MartPeriodico.selettore values +(8,getdate(),'Invio Email Testi Statici Immobiliare') +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_start_email_Zipping_tabellone.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_start_email_Zipping_tabellone.sql new file mode 100644 index 00000000..2ce83b04 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_start_email_Zipping_tabellone.sql @@ -0,0 +1,6 @@ +create procedure [C6MartPeriodicoImmobiliare].[start_email_Zipping_tabellone] as +begin +insert into C6MartPeriodico.selettore values +(9,getdate(),'Invio Email Zipping Immobiliare') +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_updateRichiesteMonitoraggioCatastoClienteCong.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_updateRichiesteMonitoraggioCatastoClienteCong.sql new file mode 100644 index 00000000..2b05a2b0 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_updateRichiesteMonitoraggioCatastoClienteCong.sql @@ -0,0 +1,23 @@ +create PROCEDURE [C6MartPeriodicoImmobiliare].[updateRichiesteMonitoraggioCatastoClienteCong] + @chiaveRichiesta int, + @rete varchar(1), + @codFis varchar(16), + @rfa decimal(19,7), + @diversificazione decimal(19,7), + @var decimal(19,7), + @dtRiferimento varchar(8) +AS +BEGIN +declare @exit_status numeric + begin transaction + set @exit_status = 0 + UPDATE CONSUNI.ConsulenzaUnicaFL.dbo.Immobiliare_RichiesteMonitoraggioCatastoCliente + SET + rfa = @rfa + ,diversificazione = @diversificazione + ,[var] = @var + ,dtRiferimento = @dtRiferimento + WHERE rete = @rete AND codfis = @codFis AND chiaveRichiesta = @chiaveRichiesta + set @exit_status = @@ROWCOUNT + commit transaction +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodicoImmobiliare_updateRichiesteMonitoraggioCatastoClienteProd.sql b/sql/storedProduzione/C6MartPeriodicoImmobiliare_updateRichiesteMonitoraggioCatastoClienteProd.sql new file mode 100644 index 00000000..dadc356a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodicoImmobiliare_updateRichiesteMonitoraggioCatastoClienteProd.sql @@ -0,0 +1,28 @@ +create PROCEDURE [C6MartPeriodicoImmobiliare].[updateRichiesteMonitoraggioCatastoClienteProd] + @rete varchar(1), + @codFis varchar(16), + @rfa decimal(19,7), + @diversificazione decimal(19,7), + @var decimal(19,7), + @dtRiferimento varchar(8) +AS +BEGIN +declare @exit_status numeric +BEGIN TRY +begin transaction +set @exit_status = 0 +UPDATE CONSUNI.ConsulenzaUnicaFL.dbo.Immobiliare_RichiesteMonitoraggioCatastoCliente +SET + rfa = @rfa + ,diversificazione = @diversificazione + ,[var] = @var +WHERE rete = @rete AND codfis = @codFis AND dtRiferimento = @dtRiferimento +set @exit_status = @@ROWCOUNT +commit transaction +END TRY +BEGIN CATCH +rollback transaction + set @exit_status = 0 +END CATCH + return @exit_status +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_AGGIORNA_NUMERO_PAGINE.sql b/sql/storedProduzione/C6MartPeriodico_AGGIORNA_NUMERO_PAGINE.sql new file mode 100644 index 00000000..5a0ab4da --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_AGGIORNA_NUMERO_PAGINE.sql @@ -0,0 +1,18 @@ +CREATE procedure [C6MartPeriodico].[AGGIORNA_NUMERO_PAGINE] +( + @rete varchar(1), + @codicefiscale varchar(20), + @idreport int, + @incremento int +) +as +begin + update c6martperiodico.gestione_pdf_ftp + set numeroPagine = numeroPagine + @incremento + where + rete = @rete + and + codicefiscale = @CodiceFiscale + and + IdReport = @IdReport +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_AL_AggiornaPortafoglioCliente.sql b/sql/storedProduzione/C6MartPeriodico_AL_AggiornaPortafoglioCliente.sql new file mode 100644 index 00000000..c721c58f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_AL_AggiornaPortafoglioCliente.sql @@ -0,0 +1,56 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[AL_AggiornaPortafoglioCliente] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'AL_AggiornaPortafoglioCliente', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[PIRAMIDE_VERT] + --CALCOLO AGGREGATI + INSERT INTO [C6MartPeriodico].[PIRAMIDE_VERT] + ( + RETE, + COD_FISCALE, + ID_AREA, + CTV_AREA/*, + ID_ELAB*/ + ) + SELECT + PATR.RETE, + PATR.COD_FISCALE, + PATR.ID_AREA, + SUM(CTV)/*, + ID_ELAB*/ + FROM [C6MartPeriodico].[PATRIMONIO_BF] PATR + GROUP BY + PATR.RETE, + PATR.COD_FISCALE, + PATR.ID_AREA/*, + PATR.ID_ELAB*/ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'AL_AggiornaPortafoglioCliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'AL_AggiornaPortafoglioCliente' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_AL_AggiornaPortafoglioCliente_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_AL_AggiornaPortafoglioCliente_pre_selective.sql new file mode 100644 index 00000000..d999a25c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_AL_AggiornaPortafoglioCliente_pre_selective.sql @@ -0,0 +1,56 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[AL_AggiornaPortafoglioCliente_pre_selective] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'AL_AggiornaPortafoglioCliente_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[PIRAMIDE_VERT] + --CALCOLO AGGREGATI + INSERT INTO [C6MartPeriodico].[PIRAMIDE_VERT] + ( + RETE, + COD_FISCALE, + ID_AREA, + CTV_AREA/*, + ID_ELAB*/ + ) + SELECT + PATR.RETE, + PATR.COD_FISCALE, + PATR.ID_AREA, + SUM(CTV)/*, + ID_ELAB*/ + FROM [C6MartPeriodico].[PATRIMONIO_BF] PATR + GROUP BY + PATR.RETE, + PATR.COD_FISCALE, + PATR.ID_AREA/*, + PATR.ID_ELAB*/ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'AL_AggiornaPortafoglioCliente_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'AL_AggiornaPortafoglioCliente_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_AggiornaFlagRolContrattoSei.sql b/sql/storedProduzione/C6MartPeriodico_AggiornaFlagRolContrattoSei.sql new file mode 100644 index 00000000..f45b407b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_AggiornaFlagRolContrattoSei.sql @@ -0,0 +1,15 @@ +CREATE procedure [C6MartPeriodico].[AggiornaFlagRolContrattoSei] +AS +BEGIN +-- Allineamento Flag Rol su contratto sei +Update C6MartPeriodico.ContrattoSei +Set Rol = Case D.statorol + When 'S' then D.statorol + Else 'N' + End, + EmAil = Case d.alertrol + When 'S' then D.Email + End +from C6MartPeriodico.ContrattoSei C inner join C6StagingPeriodico.datiRol2 D +on d.codContratto = c.codiceContratto +End \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_AggiornamentoDisponibilitaReport.sql b/sql/storedProduzione/C6MartPeriodico_AggiornamentoDisponibilitaReport.sql new file mode 100644 index 00000000..1fa99cfa --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_AggiornamentoDisponibilitaReport.sql @@ -0,0 +1,37 @@ +-- Stored procedure +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 16/01/2014 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[AggiornamentoDisponibilitaReport] +AS +BEGIN + SET NOCOUNT ON; +Update rep +set rep.flagDefinitivo = 1 +from [10.10.33.175\i1].[SEIReport].[dbo].[RepositoryMetadati] rep +inner join + ( +select idReport +from c6martperiodico.gestione_pdf_ftp a +join +c6martperiodico.controllo_trimestrale b +on a.rete = b.rete and a.codiceFiscale = b.cod_fiscale +and idreport<> identityreport +where stato_report = 8 ) pdf +on idInRepository = idreport +and rep.flagDefinitivo = 0 +--old Upd +--Update [10.10.33.175\I1].Seireport.dbo.repositoryMetadati +--set flagDefinitivo = 1 +--where idInRepository in ( +--select idReport +--from c6martperiodico.gestione_pdf_ftp a +--join +--c6martperiodico.controllo_trimestrale b +--on a.rete = b.rete and a.codiceFiscale = b.cod_fiscale +--where stato_report = 8 +--) +--and flagDefinitivo = 0 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_AppRendTabReader.sql b/sql/storedProduzione/C6MartPeriodico_AppRendTabReader.sql new file mode 100644 index 00000000..1829412a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_AppRendTabReader.sql @@ -0,0 +1,14 @@ +CREATE procedure [C6MartPeriodico].[AppRendTabReader] + @ColumnSql varchar(5000), + @whereSql varchar(5000) +AS +BEGIN +DECLARE @mywhere varchar(4000); +DECLARE @myselect varchar(5000); +DECLARE @mystmt varchar(5000); +SET @myselect = ' SELECT '+ @ColumnSql; +--SET @myselect = ' SELECT TOP(3000)* '; +SET @mywhere = ' WHERE '+ @whereSql; +SET @mystmt = @myselect + ' FROM [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] ' + @mywhere + 'order by codice_fiscale'; +EXEC( @mystmt ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_AppRendTabReader_bl.sql b/sql/storedProduzione/C6MartPeriodico_AppRendTabReader_bl.sql new file mode 100644 index 00000000..ed4e9e33 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_AppRendTabReader_bl.sql @@ -0,0 +1,14 @@ +CREATE procedure [C6MartPeriodico].[AppRendTabReader_bl] + @ColumnSql varchar(5000), + @motivo varchar(5000) +AS +BEGIN +DECLARE @mywhere varchar(4000); +DECLARE @myselect varchar(1000); +DECLARE @mystmt varchar(5000); +SET @myselect = ' SELECT '+ @ColumnSql; +SET @mywhere = ' WHERE codice_fiscale in (select codicefiscale FROM [C6StampeCentralizzate].[C6MartPeriodico].[ExcludedList]" + + " WHERE [DescrErr] = '''+@motivo+''')'; +SET @mystmt = @myselect + ' FROM [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] ' + @mywhere ; +EXEC( @mystmt ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_BONIFICA_WSEIUL.sql b/sql/storedProduzione/C6MartPeriodico_BONIFICA_WSEIUL.sql new file mode 100644 index 00000000..5d09afe1 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_BONIFICA_WSEIUL.sql @@ -0,0 +1,53 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- NUOVA STORED PER INTERVENTO MIGRAZIONE ASU3 +CREATE procedure [C6MartPeriodico].[BONIFICA_WSEIUL] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'BONIFICA_WSEIUL', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- Bonifica effettuata nell'ambito della migrazione di alcuni prodotti alla tipologia ASU3: +-- per tali prodotti, nel campo ISIN la replica DB2 fornisce il valore del sottoprodotto +-- in quanto nel campo SUBPROD è stata impostata la Linea (al processo di Trimestrale l'informazione +-- del sottoprodotto non è necessaria mentre è necessario ripulire il campo ISIN utilizzato esclusivamente +-- per i prodotti SKANDIA + UPDATE C6STAGINGPERIODICO.WSEIUL + SET ISIN = '' + /* 20161220 introdotto nuovo prodotto con codint = RE */ + WHERE CODINT in ('RM','RS','RB','RV','RE') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'BONIFICA_WSEIUL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'BONIFICA_WSEIUL' + ) +--grant execute on [C6MartPeriodico].[BONIFICA_WSEIUL] to public +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_BONIFICA_WSEIUL_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_BONIFICA_WSEIUL_pre_selective.sql new file mode 100644 index 00000000..edaeb690 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_BONIFICA_WSEIUL_pre_selective.sql @@ -0,0 +1,53 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- NUOVA STORED PER INTERVENTO MIGRAZIONE ASU3 +CREATE procedure [C6MartPeriodico].[BONIFICA_WSEIUL_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'BONIFICA_WSEIUL_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- Bonifica effettuata nell'ambito della migrazione di alcuni prodotti alla tipologia ASU3: +-- per tali prodotti, nel campo ISIN la replica DB2 fornisce il valore del sottoprodotto +-- in quanto nel campo SUBPROD è stata impostata la Linea (al processo di Trimestrale l'informazione +-- del sottoprodotto non è necessaria mentre è necessario ripulire il campo ISIN utilizzato esclusivamente +-- per i prodotti SKANDIA + UPDATE C6STAGINGPERIODICO.WSEIUL + SET ISIN = '' + /* 20161220 introdotto nuovo prodotto con codint = RE */ + WHERE CODINT in ('RM','RS','RB','RV','RE') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'BONIFICA_WSEIUL_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'BONIFICA_WSEIUL_pre_selective' + ) +--grant execute on [C6MartPeriodico].[BONIFICA_WSEIUL_pre_selective] to public +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Blacklist_Blocco_Tabellone.sql b/sql/storedProduzione/C6MartPeriodico_Blacklist_Blocco_Tabellone.sql new file mode 100644 index 00000000..98053f06 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Blacklist_Blocco_Tabellone.sql @@ -0,0 +1,71 @@ +CREATE procedure [C6MartPeriodico].[Blacklist_Blocco_Tabellone] +@param1 varchar(20) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +-- [C6MartPeriodico].[Blacklist_Blocco_Tabellone] Blocco +-- [C6MartPeriodico].[Blacklist_Blocco_Tabellone] SBlocco +--select * from c6martperiodico.tabellone where blacklist is not null +--select * from C6MartPeriodico.ExcludedList +--select * from C6MartPeriodico.ExcludedList_testing +-- +--select * from c6martperiodico.tabellone where codice_fiscale='BBBMRA56T09L736R' +--select * from C6MartPeriodico.ExcludedList where codicefiscale='FRILXA72T04H501R' +--select codicefiscale,COUNT(*) from C6MartPeriodico.ExcludedList group by codicefiscale having COUNT(*)>1 +--insert into C6MartPeriodico.ExcludedList +--values ('F','BBBMRA56T09L736R','TestF',GETDATE(),1), +--('F','BBBMRA56T09L736R','TestB',GETDATE(),1), +--('F','BBBMRA56T09L736R','TestC',GETDATE(),1), +--('F','BBBMRA56T09L736R','TestF',GETDATE(),1) +----delete from C6MartPeriodico.ExcludedList where DescrErr='TestC' +if (@param1='BLOCCO') +begin +drop table if exists #riunisco +drop table if exists #rimuovoduplicati +update C6MartPeriodico.tabellone +set blacklist=NULL +select distinct rete,codicefiscale,DescrErr +into #rimuovoduplicati +from C6MartPeriodico.ExcludedList +SELECT rete,codicefiscale,STRING_AGG( ISNULL(DescrErr, ' '), ',') As descrerr + into #riunisco + From #rimuovoduplicati group by rete,codicefiscale +update C6MartPeriodico.tabellone +set blacklist=r.descrerr +from #riunisco r inner join C6MartPeriodico.tabellone t +on t.chiave_acn=r.Rete+r.codicefiscale +update C6MartPeriodico.tabellone +set lettera_sost='S' +where blacklist like '%sostitutiva%' +end +if (@param1='SBLOCCO') +begin +update C6MartPeriodico.tabellone +set blacklist=NULL +drop table if exists #riunisco1 +drop table if exists #rimuovoduplicati1 +select distinct rete,codicefiscale,DescrErr +into #rimuovoduplicati1 +from C6MartPeriodico.ExcludedList +SELECT rete,codicefiscale,STRING_AGG( ISNULL(DescrErr, ' '), ',') As descrerr + into #riunisco1 + From #rimuovoduplicati1 group by rete,codicefiscale +update C6MartPeriodico.tabellone +set blacklist=r.descrerr +from #riunisco1 r inner join C6MartPeriodico.tabellone t +on t.chiave_acn=r.Rete+r.codicefiscale +update C6MartPeriodico.tabellone +set lettera_sost='S' +where blacklist like '%sostitutiva%' +end +--update C6MartPeriodico.tabellone +----set inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +--set blacklist=case when blacklist = exc.descrErr then REPLACE(blacklist,exc.DescrErr,'') else blacklist end +--from C6MartPeriodico.ExcludedList_testing exc +--where chiave_acn=exc.rete+exc.codicefiscale and exc.DescrErr<>'SEGNALAZIONE_VP' +--end +--select chiave_acn,value from C6MartPeriodico.tabellone +--CROSS APPLY STRING_SPLIT(blacklist, ',') +--select * from C6MartPeriodico.motivazioni_blacklist +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Blocco_Blacklist_AppRendicontazione.sql b/sql/storedProduzione/C6MartPeriodico_Blocco_Blacklist_AppRendicontazione.sql new file mode 100644 index 00000000..30d1af3a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Blocco_Blacklist_AppRendicontazione.sql @@ -0,0 +1,34 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[Blocco_Blacklist_AppRendicontazione] +as +begin + --select * + --from C6MartPeriodico.ExcludedList_testing + --where DescrErr='Segnalazione_VP' + --select * from C6MartPeriodico.ExcludedList + if((select COUNT(*) from C6MartPeriodico.ExcludedList_sblocco where DescrErr like '%VP%' )<>0) + begin + delete from C6MartPeriodico.ExcludedList where DescrErr like '%VP%' + insert into C6MartPeriodico.ExcludedList + select * from C6MartPeriodico.ExcludedList_sblocco + where DescrErr like '%VP%' + end + delete from C6MartPeriodico.ExcludedList where Rete+codicefiscale+DescrErr in( + select Rete+codicefiscale+DescrErr + from C6MartPeriodico.ExcludedList_sblocco + where DescrErr not like '%Segnalazione_VP%' OR DescrErr not like '%Blacklist VP%' or DescrErr not like '%DESCR_ANOM_VP%' + ) + --aggiunta 23/08/2022 per gestire lo svuotamento di tutti i cf con descrizione='DESCR_ANOM_VP' + if((select count(*) from C6MartPeriodico.ExcludedList_sblocco where DescrErr='XXXXXXXXXXXXXXXX')>0) --cioè se è presente una riga con questa motivazione + begin + delete from C6MartPeriodico.ExcludedList where DescrErr like '%DESCR_ANOM_VP%' + end + --fine aggiunta + insert into C6MartPeriodico.Sblocco_Blacklist + select rete,codicefiscale,DescrErr,DataIns,Bloccato from C6MartPeriodico.ExcludedList_sblocco --serve per avere una storia di tutte le operazioni fatte ma è inutile + truncate table C6MartPeriodico.ExcludedList_sblocco + end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_BonificaDataQuality.sql b/sql/storedProduzione/C6MartPeriodico_BonificaDataQuality.sql new file mode 100644 index 00000000..6984c824 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_BonificaDataQuality.sql @@ -0,0 +1,50 @@ +CREATE procedure [C6MartPeriodico].[BonificaDataQuality] +as + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'BonificaDataQuality', + GETDATE(), + 'Elaborazione trimestrale' + ) +--1) copia +exec [dbo].[CreaTabellaBackUp] 'tb_SegnalazioniDataQuality','C6MartPeriodico','preBonifica' +--SELECT * into [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality_2018mmdd _preBonifica +--FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] +--2) metto in tabella temporanea la nuova tabella bonificata +SELECT q.* +into #appo + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] q + left join c6stagingperiodico.appo_contratti_limiter limit + on limit.cod_fiscale = q.codicefiscale and limit.rete = q.rete + where limit.cod_fiscale is not null or 0 = (select count(*) from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] with (nolock)) +--3) cancello la tabella attuale +truncate table [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] +--4) la ricreo bonificata +insert into [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] + ([idTipoControllo] + ,[rete] + ,[codiceFiscale] + ,[descSegnalazione] + ,[idElaborazione] + ,[richiesta] + ,[idFaseElaborazione] + ,[dataInserimento]) +select [idTipoControllo],[rete],[codiceFiscale],[descSegnalazione],[idElaborazione],[richiesta],[idFaseElaborazione],[dataInserimento] from #appo +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'BonificaDataQuality' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'BonificaDataQuality' + ) \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CHECK_AGGIORNA_ERRORI_GENERAZIONE.sql b/sql/storedProduzione/C6MartPeriodico_CHECK_AGGIORNA_ERRORI_GENERAZIONE.sql new file mode 100644 index 00000000..81968990 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CHECK_AGGIORNA_ERRORI_GENERAZIONE.sql @@ -0,0 +1,11 @@ +CREATE procedure [C6MartPeriodico].[CHECK_AGGIORNA_ERRORI_GENERAZIONE] AS BEGIN + UPDATE + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE + SET + STATO_REPORT = 11, + DATA_TRANSIZIONE = GETDATE() + WHERE + STATO_REPORT IN (1,10) + AND RETE+COD_FISCALE IN + (SELECT RETE+COD_FISCALE FROM C6MARTPERIODICO.SCARTI) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CHECK_CTV_PER_NEEDAREA_PER_CLIENT.sql b/sql/storedProduzione/C6MartPeriodico_CHECK_CTV_PER_NEEDAREA_PER_CLIENT.sql new file mode 100644 index 00000000..b651bac7 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CHECK_CTV_PER_NEEDAREA_PER_CLIENT.sql @@ -0,0 +1,145 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 31 ottobre 2010 +-- Description: Compare the counter value calculated per need area and client between SP of section S57 and section S43 +-- ============================================= +CREATE procedure [C6MartPeriodico].[CHECK_CTV_PER_NEEDAREA_PER_CLIENT] +AS +BEGIN +DECLARE @reteLoop varchar(1) +DECLARE @cod_FiscaleLoop varchar(16) +Create Table #tempDifferenceInCTVPerAreaPerClient ( +RETE varchar(1), +Cod_Fiscale varchar(16), +NeedArea VARCHAR(20), +S57CTV decimal(38,3), +S43CTV decimal(38,3) +) +CREATE TABLE #tempS57Output ( + NeedArea VARCHAR(20), + AreaName VARCHAR(30), + PercentualeModello decimal(38,3), + PercentualeAttuale decimal(38,3), + ControvaloreAttuale decimal(38,3), + ControvaloreModello decimal(38,3), + Totale_Percentuale decimal (15,3), + DifferenzaEuro decimal (15,3), + DifferenzaPercentuale decimal (15,3), + var_needarea decimal (15,3), + var_needareaString varchar(5), + copertura_needarea decimal(38,3), + copertura_needareaString varchar(5), + Nota int, + somma_controvalAttuale decimal(38,3), + somma_controvalModello decimal(38,3), + somma_percentualeAttuale decimal(38,3), + somma_percentualeModello decimal(38,3), + var_tot decimal(38,3), + var_totString varchar(5), + var_tot_pir decimal(38,3), + var_tot_pirString varchar(5), + copertura_tot decimal(38,3), + copertura_totString varchar(5), + copertura_tot_pir decimal(38,3), + copertura_tot_pirString varchar(5), + VAR_RISFIN decimal(38,3), + VAR_RISFINSTRING varchar(5), + copertura_risfin decimal(38,3), + copertura_risfinString varchar(5), + ordinamento int) +CREATE TABLE #tempS43Output ( + NeedArea VARCHAR(20), + AreaName VARCHAR(30), + areasortorder int, + nome_progetto varchar(50), + somma_controval_needarea decimal(38,3), + versato_needarea decimal(38,3), + versato_needareaString varchar(5), + MinusPlusValenza_needarea decimal(38,3), + MinusPlusValenza_needareaString varchar(5), + somma_controval_need_prog decimal(38,3), + versato_need_prog decimal(38,3), + versato_need_progString varchar(5), + MinusPlusValenza_need_prog decimal(38,3), + MinusPlusValenza_need_progString varchar(5), + somma_var_need_prog decimal(38,3), + somma_copertura_need_prog decimal(38,3), + var_needarea decimal (15,3), + var_needareaString varchar(5), + copertura_needarea decimal (15,3), + copertura_needareaString varchar(30), + var_need_prog decimal(38,3), + var_need_progString varchar(5), + copertura_need_prog decimal(38,3), + dataSottoscrizione varchar(10), + ContrattoDossier varchar(11), + Descrizione varchar(128), + Controvalore decimal(38,3), + VersatoNetto decimal(38,3), + VersatoNettoString varchar(5), + MinusPlusValenza decimal(38,3), + MinusPlusValenzaString varchar(5), + VaRprodotto decimal(38,3), + varProdottoString varchar(5), + Coperturaprodotto decimal(38,3), + PerformanceYTD decimal(38,3), + performanceDS decimal(38,3), + partitaViaggiante decimal(38,3), + nota_needarea varchar(1), + creditrisk int, + creditriskstring varchar(5)) +DECLARE allCleints_cursor CURSOR FOR +--SELECT distinct [Rete] +-- ,[Cod_Fiscale] +-- +-- FROM C6MartPeriodico.PATRIMONIO_BF +--where cod_fiscale in (select cod_fiscale from c6mart.contrattosei where cod_Esito=1) +--and cod_fiscale in ( select cod_fiscale from campionereport) +SELECT distinct [Rete] ,[Cod_Fiscale] +FROM C6MartPeriodico.PATRIMONIO_BF +--where cod_fiscale in (select cod_fiscale from c6mart.contrattosei where cod_Esito=1) + Where [Cod_Fiscale] <> 'DNTTMS48E03F205P' +--and [Cod_Fiscale] = 'BRGNNI46T05H555X' +OPEN allCleints_cursor +FETCH NEXT FROM allCleints_cursor INTO @reteLoop, @cod_FiscaleLoop +WHILE @@FETCH_STATUS = 0 +BEGIN + print @reteLoop + print @cod_FiscaleLoop + INSERT INTO #tempS57Output + EXEC C6MartPeriodico.PL_S57ConfrontoPiramidi + @Rete = @reteLoop, + @CodiceFiscale = @cod_FiscaleLoop + INSERT INTO #tempS43Output + EXEC C6MartPeriodico.PL_S43DettaglioProdottiBF + @Rete = @reteLoop, + @CodiceFiscale = @cod_FiscaleLoop +-- select * from #tempS43Output + insert into #tempDifferenceInCTVPerAreaPerClient + select @reteLoop ,@cod_FiscaleLoop , + S57.NeedArea as NeedArea, + SUM(S57.ControvaloreAttuale) as S57TotalCounterValuePerCleint, + case when SUM(tempS43.Controvalore) is null then 0 else SUM(tempS43.Controvalore) end as S43TotalCounterValuePerCleint + from #tempS57Output as S57 + left outer join ( select S43.NeedArea, SUM(S43.Controvalore) as Controvalore + from #tempS43Output as S43 + where S43.NeedArea not in ('Cc','Na') + group by S43.NeedArea) tempS43 + on S57.NeedArea = tempS43.NeedArea + where S57.NeedArea not in ('Cc', 'Na') + group by S57.NeedArea +--select * from #tempDifferenceInCTVPerAreaPerClient + --select * from #tempDifferenceInCTVPerAreaPerClient + delete from #tempS43Output + delete from #tempS57Output + FETCH NEXT FROM allCleints_cursor INTO @reteLoop, @cod_FiscaleLoop +END +CLOSE allCleints_cursor +DEALLOCATE allCleints_cursor +select * from #tempDifferenceInCTVPerAreaPerClient as Diff +where Diff.S43CTV <> Diff.S57CTV +--group by Diff.Rete, Diff.Cod_Fiscale, Diff.NeedArea +DROP TABLE #tempS57output +DROP TABLE #tempS43output +DROP TABLE #tempDifferenceInCTVPerAreaPerClient +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CHECK_GET_CTV_ISSUES.sql b/sql/storedProduzione/C6MartPeriodico_CHECK_GET_CTV_ISSUES.sql new file mode 100644 index 00000000..635f56ad --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CHECK_GET_CTV_ISSUES.sql @@ -0,0 +1,16 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +-- [C6MartPeriodico].[PL_S57ConfrontoPiramidi] 'S','TMOSST58P03L840W' +CREATE procedure [C6MartPeriodico].[CHECK_GET_CTV_ISSUES] +AS +BEGIN +SELECT Rete, Cod_Fiscale , SUM(S57CTV) as S57CTV, SUM(S43_S47CTV) as S43_S47CTV, SUM(S10CTV) as S10CTV , SUM(S75CTV) as S75CTV +FROM Check_DifferenceInCTVPerClient +where S57CTV <> S43_S47CTV +OR S57CTV <> S10CTV +OR S57CTV <> S75CTV +group by Rete, Cod_Fiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CHECK_GET_CTV_ISSUES_PER_AREA.sql b/sql/storedProduzione/C6MartPeriodico_CHECK_GET_CTV_ISSUES_PER_AREA.sql new file mode 100644 index 00000000..48dbd2a2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CHECK_GET_CTV_ISSUES_PER_AREA.sql @@ -0,0 +1,14 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +CREATE procedure [C6MartPeriodico].[CHECK_GET_CTV_ISSUES_PER_AREA] +AS +BEGIN +--SELECT Rete, Cod_Fiscale , NeedArea, SUM(S57CTV) as S57CTV, SUM(S43CTV) as S43CTV +SELECT Rete, Cod_Fiscale , NeedArea, S57CTV, S43CTV +FROM dbo.Check_DifferenceInCTVPerClientPerArea +where S57CTV <> S43CTV +--group by Rete, Cod_Fiscale ,NeedArea +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CHECK_GET_CUSTOMERS_FOR_CHECK.sql b/sql/storedProduzione/C6MartPeriodico_CHECK_GET_CUSTOMERS_FOR_CHECK.sql new file mode 100644 index 00000000..ce7b2a2d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CHECK_GET_CUSTOMERS_FOR_CHECK.sql @@ -0,0 +1,19 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +CREATE procedure [C6MartPeriodico].[CHECK_GET_CUSTOMERS_FOR_CHECK] +-- Add the parameters for the stored procedure here +AS +BEGIN +SELECT distinct [Rete] ,[Cod_Fiscale] +FROM C6MartPeriodico.PATRIMONIO_BF +--where cod_fiscale in (select cod_fiscale from c6mart.contrattosei where cod_Esito=1) +--And [Cod_Fiscale] <> 'DNTTMS48E03F205P' +Where [Cod_Fiscale] <>'CVLGRL50A23C469M' +--AND [Cod_Fiscale] = 'LBRRMN81R48L388B' +--AND [Cod_Fiscale] IN ('BAASFN72B19E472H' ,'BAEMJA43E70Z133C') +--Select distinct [Rete] , [Cod_Fiscale] FROM C6MartPeriodico.PATRIMONIO_BF +--where [Cod_Fiscale] <> 'DNTTMS48E03F205P' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CHECK_GET_NeedAreas.sql b/sql/storedProduzione/C6MartPeriodico_CHECK_GET_NeedAreas.sql new file mode 100644 index 00000000..57cf65e0 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CHECK_GET_NeedAreas.sql @@ -0,0 +1,6 @@ +CREATE procedure [C6MartPeriodico].[CHECK_GET_NeedAreas] +AS +BEGIN +SELECT [ID_AREA] +FROM [C6MartPeriodico].[AREA_BISOGNO] +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CHECK_GET_Perc_ISSUES.sql b/sql/storedProduzione/C6MartPeriodico_CHECK_GET_Perc_ISSUES.sql new file mode 100644 index 00000000..22ca53e6 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CHECK_GET_Perc_ISSUES.sql @@ -0,0 +1,13 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +CREATE procedure [C6MartPeriodico].[CHECK_GET_Perc_ISSUES] +-- Add the parameters for the stored procedure here +AS +BEGIN +select * +from Check_TotalPercPerClient +where S10Perc <> 100 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CHECK_GET_S10_Negative_BankAccount.sql b/sql/storedProduzione/C6MartPeriodico_CHECK_GET_S10_Negative_BankAccount.sql new file mode 100644 index 00000000..22079128 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CHECK_GET_S10_Negative_BankAccount.sql @@ -0,0 +1,35 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +-- C6MartPeriodico].[CHECK_GET_S10_Negative_BankAccount] 'f','LGGRRT61R13L736R' +CREATE PROCEDURE [C6MartPeriodico].[CHECK_GET_S10_Negative_BankAccount] +@Rete char(1), +@CodiceFiscale varchar(16) +AS +BEGIN +SELECT +NOMEPATRIMONIO, +ORDINAMENTO, +ASSETCLASSNAME, +CONTROVALORE, +PERCENTUALE, +TOTALE +FROM +( + SELECT + 'BF' AS NOMEPATRIMONIO, + 9999 AS ORDINAMENTO , + '' AS ASSETCLASSID , + '' AS ASSETCLASSNAME, + sum(saldo) as CONTROVALORE, + 0.00 AS PERCENTUALE , + sum(saldo) as totale + FROM [C6STAMPECENTRALIZZATE].[C6MARTPERIODICO].anag_cc + WHERE + RETE= @Rete + AND COD_FISCALE= @CodiceFiscale +) K +WHERE TOTALE < 0 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET.sql b/sql/storedProduzione/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET.sql new file mode 100644 index 00000000..1720144d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET.sql @@ -0,0 +1,24 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +-- [C6MartPeriodico].[PL_S57ConfrontoPiramidi] 'S','TMOSST58P03L840W' +CREATE procedure [C6MartPeriodico].[CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET] +@Rete char(1), +@CodiceFiscale varchar(16) +AS +BEGIN + SELECT +-- 'BF' AS NOMEPATRIMONIO, +-- 9999 AS ORDINAMENTO , +-- '' AS ASSETCLASSID , +-- '' AS ASSETCLASSNAME, + CONTROVALORE +-- 0.00 AS PERCENTUALE , +-- --CONTROVALORE +-- CONTROVALORE as totale + FROM [C6STAMPECENTRALIZZATE].[C6MARTPERIODICO].[VPATRIMONIONONRAPPRESENTABILEASSET] + WHERE RETE= @Rete + AND COD_FISCALE= @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET_ALL.sql b/sql/storedProduzione/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET_ALL.sql new file mode 100644 index 00000000..825ef4bb --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET_ALL.sql @@ -0,0 +1,16 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +-- [C6MartPeriodico].[PL_S57ConfrontoPiramidi] 'S','TMOSST58P03L840W' +CREATE procedure [C6MartPeriodico].[CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET_ALL] +--@Rete char(1), +--@CodiceFiscale varchar(16) +AS +BEGIN +SELECT [RETE] + ,[COD_FISCALE] + ,[Controvalore] + FROM [C6STAMPECENTRALIZZATE].[C6MartPeriodico].[vPatrimonioNonRappresentabileAsset] +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CHECK_GET_VAR_ISSUES.sql b/sql/storedProduzione/C6MartPeriodico_CHECK_GET_VAR_ISSUES.sql new file mode 100644 index 00000000..e6edac67 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CHECK_GET_VAR_ISSUES.sql @@ -0,0 +1,12 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +-- [C6MartPeriodico].[PL_S57ConfrontoPiramidi] 'S','TMOSST58P03L840W' +CREATE procedure [C6MartPeriodico].[CHECK_GET_VAR_ISSUES] +AS +BEGIN +SELECT Rete, Cod_Fiscale , S57VAR , S75VAR +FROM Check_DifferenceInVARPerClient +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CHECK_INSERT_CTV_PER_AREA.sql b/sql/storedProduzione/C6MartPeriodico_CHECK_INSERT_CTV_PER_AREA.sql new file mode 100644 index 00000000..24ec6751 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CHECK_INSERT_CTV_PER_AREA.sql @@ -0,0 +1,17 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +CREATE procedure [C6MartPeriodico].[CHECK_INSERT_CTV_PER_AREA] +-- Add the parameters for the stored procedure here +@Rete char(1), +@CodiceFiscale varchar(16), +@NeedArea varchar(20), +@S57CTV decimal(38,3), +@S43CTV decimal(38,3) +AS +BEGIN +insert into Check_DifferenceInCTVPerClientPerArea([RETE] ,[Cod_Fiscale] ,[NeedArea] ,[S57CTV] ,[S43CTV]) +VALUES ( @Rete, @CodiceFiscale, @NeedArea,@S57CTV , @S43CTV ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CHECK_INSERT_CTV_PER_SECTION.sql b/sql/storedProduzione/C6MartPeriodico_CHECK_INSERT_CTV_PER_SECTION.sql new file mode 100644 index 00000000..8fa9a6fb --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CHECK_INSERT_CTV_PER_SECTION.sql @@ -0,0 +1,19 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +-- [C6MartPeriodico].[PL_S57ConfrontoPiramidi] 'S','TMOSST58P03L840W' +CREATE procedure [C6MartPeriodico].[CHECK_INSERT_CTV_PER_SECTION] +-- Add the parameters for the stored procedure here +@Rete char(1), +@CodiceFiscale varchar(16), +@S57CTV decimal(38,3), +@S43_S47CTV decimal(38,3), +@S10CTV decimal(38,3), +@S75CTV decimal(38,3) +AS +BEGIN +insert into Check_DifferenceInCTVPerClient ([RETE] ,[Cod_Fiscale] ,[S57CTV] ,[S43_S47CTV] ,[S10CTV] , [S75CTV]) +VALUES ( @Rete, @CodiceFiscale, @S57CTV, @S43_S47CTV, @S10CTV, @S75CTV ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CHECK_INSERT_S10_PERC.sql b/sql/storedProduzione/C6MartPeriodico_CHECK_INSERT_S10_PERC.sql new file mode 100644 index 00000000..9a50357c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CHECK_INSERT_S10_PERC.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +CREATE procedure [C6MartPeriodico].[CHECK_INSERT_S10_PERC] +-- Add the parameters for the stored procedure here +@Rete char(1), +@CodiceFiscale varchar(16), +@S10Perc decimal(38,3) +AS +BEGIN +insert into Check_TotalPercPerClient ([RETE] ,[Cod_Fiscale] ,[S10Perc]) +VALUES ( @Rete, @CodiceFiscale, @S10Perc ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CHECK_INSERT_VAR_PER_SECTION.sql b/sql/storedProduzione/C6MartPeriodico_CHECK_INSERT_VAR_PER_SECTION.sql new file mode 100644 index 00000000..626af1ef --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CHECK_INSERT_VAR_PER_SECTION.sql @@ -0,0 +1,16 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +CREATE procedure [C6MartPeriodico].[CHECK_INSERT_VAR_PER_SECTION] +-- Add the parameters for the stored procedure here +@Rete char(1), +@CodiceFiscale varchar(16), +@S57VAR decimal(38,3), +@S75VAR decimal(38,3) +AS +BEGIN +insert into Check_DifferenceInVARPerClient ([RETE] ,[Cod_Fiscale] ,[S57VAR] , [S75VAR]) +VALUES ( @Rete, @CodiceFiscale, @S57VAR, @S75VAR ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO.sql b/sql/storedProduzione/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO.sql new file mode 100644 index 00000000..4f020c1e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO.sql @@ -0,0 +1,22 @@ +-- Stored procedure +-- =========================================================================== +-- Author: Emanuele atzeri +-- Create date: 28/06/2011 +-- Description: Setta a stato 23 i report con profilo MIFID scaduto e RFA a 0 +-- =========================================================================== +CREATE procedure [C6MartPeriodico].[CHECK_PROFILOSCADUTO_RFAZERO] +AS +BEGIN +UPDATE + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SET + STATO_REPORT = 23, + DATA_TRANSIZIONE = GETDATE() +WHERE RETE+COD_FISCALE IN +( + select a.rete+a.cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO a + inner join C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO b + on a.rete = b.rete + and a.cod_fiscale = b.cod_fiscale +) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO_pre_selective.sql new file mode 100644 index 00000000..a78853ad --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO_pre_selective.sql @@ -0,0 +1,22 @@ +-- Stored procedure +-- =========================================================================== +-- Author: Emanuele atzeri +-- Create date: 28/06/2011 +-- Description: Setta a stato 23 i report con profilo MIFID scaduto e RFA a 0 +-- =========================================================================== +CREATE procedure [C6MartPeriodico].[CHECK_PROFILOSCADUTO_RFAZERO_pre_selective] +AS +BEGIN +UPDATE + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SET + STATO_REPORT = 23, + DATA_TRANSIZIONE = GETDATE() +WHERE RETE+COD_FISCALE IN +( + select a.rete+a.cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO a + inner join C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO b + on a.rete = b.rete + and a.cod_fiscale = b.cod_fiscale +) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CHECK_PROFILO_SCADUTO.sql b/sql/storedProduzione/C6MartPeriodico_CHECK_PROFILO_SCADUTO.sql new file mode 100644 index 00000000..35b9f310 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CHECK_PROFILO_SCADUTO.sql @@ -0,0 +1,42 @@ +-- Stored procedure +-- =============================================================== +-- Author: colaianni-consoli +-- Create date: 28/06/2011 +-- Description: Setta a stato 3 i report con profilo MIFID scaduto +-- =============================================================== +CREATE procedure [C6MartPeriodico].[CHECK_PROFILO_SCADUTO] +AS +BEGIN +TRUNCATE TABLE C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO +INSERT INTO C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO +SELECT a.rete, a.cod_fiscale, a.codicecontratto +from +-- Modifica MV 18/04/2015 +--c6martperiodico.rp_vcontrattipergenerazionereport a +C6stagingPERIODICO.appo_contratti_v a +inner join C6MARTPERIODICO.MIFID b +on a.rete = b.rete +and a.cod_fiscale = b.cod_fiscale +where b.SCADUTO=1 +UPDATE + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SET + STATO_REPORT = 3, + DATA_TRANSIZIONE = GETDATE() +WHERE + RETE+COD_FISCALE IN + ( + SELECT RETE+COD_FISCALE + FROM C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO + ) +--UPDATE +-- C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--SET +-- STATO_REPORT = 3, +-- DATA_TRANSIZIONE = GETDATE() +--WHERE +-- RETE+COD_FISCALE NOT IN +-- ( +-- SELECT * FROM C6MARTPERIODICO.MIFID WHERE SCADUTO=1 +-- ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CHECK_PROFILO_SCADUTO_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_CHECK_PROFILO_SCADUTO_pre_selective.sql new file mode 100644 index 00000000..13962d59 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CHECK_PROFILO_SCADUTO_pre_selective.sql @@ -0,0 +1,42 @@ +-- Stored procedure +-- =============================================================== +-- Author: colaianni-consoli +-- Create date: 28/06/2011 +-- Description: Setta a stato 3 i report con profilo MIFID scaduto +-- =============================================================== +CREATE procedure [C6MartPeriodico].[CHECK_PROFILO_SCADUTO_pre_selective] +AS +BEGIN +TRUNCATE TABLE C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO +INSERT INTO C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO +SELECT a.rete, a.cod_fiscale, a.codicecontratto +from +-- Modifica MV 18/04/2015 +--c6martperiodico.rp_vcontrattipergenerazionereport a +C6stagingPERIODICO.appo_contratti a +inner join C6MARTPERIODICO.MIFID b +on a.rete = b.rete +and a.cod_fiscale = b.cod_fiscale +where b.SCADUTO=1 +UPDATE + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SET + STATO_REPORT = 3, + DATA_TRANSIZIONE = GETDATE() +WHERE + RETE+COD_FISCALE IN + ( + SELECT RETE+COD_FISCALE + FROM C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO + ) +--UPDATE +-- C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--SET +-- STATO_REPORT = 3, +-- DATA_TRANSIZIONE = GETDATE() +--WHERE +-- RETE+COD_FISCALE NOT IN +-- ( +-- SELECT * FROM C6MARTPERIODICO.MIFID WHERE SCADUTO=1 +-- ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CHECK_RFA_ZERO.sql b/sql/storedProduzione/C6MartPeriodico_CHECK_RFA_ZERO.sql new file mode 100644 index 00000000..2d84fc8e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CHECK_RFA_ZERO.sql @@ -0,0 +1,30 @@ +-- Stored procedure +-- ================================================= +-- Author: COLAIANNI-CONSOLI +-- Create date: 28/06/2011 +-- Description: SETTA A STATO 2 I REPORT CON RFA=0 +-- ================================================= +CREATE procedure [C6MartPeriodico].[CHECK_RFA_ZERO] +AS +BEGIN +TRUNCATE TABLE C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO +INSERT INTO C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO +SELECT a.rete, a.cod_fiscale, a.codicecontratto +from +--c6martperiodico.rp_vcontrattipergenerazionereport a +C6stagingPERIODICO.appo_contratti_v a +left join C6MARTPERIODICO.PATRIMONIO_BF b +on a.rete = b.rete +and a.cod_fiscale = b.cod_fiscale +where b.rete is null +UPDATE + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SET + STATO_REPORT = 2, + DATA_TRANSIZIONE = GETDATE() +WHERE + RETE+COD_FISCALE IN + ( + SELECT RETE+COD_FISCALE FROM C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CHECK_RFA_ZERO_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_CHECK_RFA_ZERO_pre_selective.sql new file mode 100644 index 00000000..a54d0ab3 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CHECK_RFA_ZERO_pre_selective.sql @@ -0,0 +1,30 @@ +-- Stored procedure +-- ================================================= +-- Author: COLAIANNI-CONSOLI +-- Create date: 28/06/2011 +-- Description: SETTA A STATO 2 I REPORT CON RFA=0 +-- ================================================= +CREATE procedure [C6MartPeriodico].[CHECK_RFA_ZERO_pre_selective] +AS +BEGIN +TRUNCATE TABLE C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO +INSERT INTO C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO +SELECT a.rete, a.cod_fiscale, a.codicecontratto +from +--c6martperiodico.rp_vcontrattipergenerazionereport a +C6stagingPERIODICO.appo_contratti a +left join C6MARTPERIODICO.PATRIMONIO_BF b +on a.rete = b.rete +and a.cod_fiscale = b.cod_fiscale +where b.rete is null +UPDATE + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SET + STATO_REPORT = 2, + DATA_TRANSIZIONE = GETDATE() +WHERE + RETE+COD_FISCALE IN + ( + SELECT RETE+COD_FISCALE FROM C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CREA_FIRMA_PROMOTORE.sql b/sql/storedProduzione/C6MartPeriodico_CREA_FIRMA_PROMOTORE.sql new file mode 100644 index 00000000..721cac27 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CREA_FIRMA_PROMOTORE.sql @@ -0,0 +1,8 @@ +CREATE procedure [C6MartPeriodico].[CREA_FIRMA_PROMOTORE] as +begin +update [C6StagingPeriodico].[ADS4WS_PROMOTORI] +set firma = case when rete = 'F' then 'R'+codice + else 'P'+codice end, +prefisso = case when rete = 'F' then 'R' + else 'P'end +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CRUSCOTTOTRIMESTRALE.sql b/sql/storedProduzione/C6MartPeriodico_CRUSCOTTOTRIMESTRALE.sql new file mode 100644 index 00000000..896c0971 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CRUSCOTTOTRIMESTRALE.sql @@ -0,0 +1,139 @@ +CREATE procedure [C6MartPeriodico].[CRUSCOTTOTRIMESTRALE] + @codiceFiscale as char(16) = '' +AS +BEGIN + IF @codiceFiscale <> '' + SELECT b.*,a.dtstamp,a.errormessage + FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR a + on a.codicefiscale = b.codicefiscale and a.rete=b.rete where 1=1 + and b.codicefiscale = @codiceFiscale + DECLARE @dt AS DATETIME + DECLARE @dt2 AS DATETIME + DECLARE @QUANTI AS INT + DECLARE @APP AS varchar(100) + PRINT '**********************************************************************' + SELECT @dt = min(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + SELECT @dt2 = max(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + set @APP = 'DataInizio ' + convert(varchar,@dt,103) + ' ' + convert(varchar,@dt,114) + IF (SELECT COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab in(0,1,2,3)) = 0 + SET @APP = @APP + ' tempo totale di elaborazione ' ELSE SET @APP = @APP + ' tempo parziale di elaborazione ' + DECLARE @s bigint; + DECLARE @mi int; + DECLARE @h int; + DECLARE @d int; + SET @d=0 + SET @h=0 + SET @mi=0 + SET @s=0 + SELECT @s = DATEDIFF(second,@dt,getdate()) + IF @s <> 0 BEGIN + SET @mi = @s / 60; + SET @s = @s % 60; + END; + IF @mi <> 0 BEGIN + SET @h = @mi / 60; + SET @mi = @mi % 60; + END; + IF @h <> 0 BEGIN + SET @d = @h / 24; + SET @h = @h % 24; + END; + SET @APP = @APP + 'Giorni:' + CONVERT( VARCHAR(3) , @d ) + ' Ore:' + CONVERT( VARCHAR(2) , @h ) + ' Minuti:' + CONVERT( VARCHAR(2) , @mi ) + ' Secondi:' + CONVERT( VARCHAR(2) , @s ); + IF @APP IS NULL SET @APP = 'STANDBY' + PRINT @APP + PRINT '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab in(0,1,2) + PRINT 'daElaborare ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=3 + PRINT 'inElaborazione ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=10 + PRINT 'Elaborati ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-1 + PRINT 'noElaborabili ( Scartati-1 ) ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=4 + PRINT 'Da NON Elaborare ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) FROM [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] + PRINT 'ScartatiTAB ' + convert(VARCHAR,@QUANTI) + PRINT '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-2 + PRINT 'Scartati-2 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-3 + PRINT 'Scartati-3 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab<-3 + PRINT 'Scartati-n ' + convert(VARCHAR,@QUANTI) + PRINT '**********************************************************************' + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi > -1 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 + PRINT 'ELABORATI ******** ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 0 and isdiagnosi > -1 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 + PRINT 'IN ELABORAZIONE ******** ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2and tipocliente = 0 and isdiagnosi > -1 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 + PRINT 'SCARTATI-2 ******* ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 0 and isdiagnosi > -1 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 + PRINT 'SCARTATI-3 ******* ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 0 and isdiagnosi > -1 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 + PRINT 'SCARTATI-n ******* ' + convert(VARCHAR,@QUANTI) + /* SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-1 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-1 and tipocliente = 0 and isdiagnosi > -1 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-1 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-1 and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-1 + PRINT 'SCARTATI-1 ******* ' + convert(VARCHAR,@QUANTI) */ + PRINT ' ' + PRINT '**********************************************************************' + PRINT 'ELAB 0 DA ELABORARE PRIORITA ALTA'--[C6MartPeriodico].[CRUSCOTTOTRIMESTRALE] + PRINT 'ELAB 1 DA ELABORARE PRIORITA MEDIA' + PRINT 'ELAB 2 DA ELABORARE PRIORITA NORMALE' + PRINT 'ELAB 3 IN ELABORAZIONE' + PRINT 'ELAB 4 DA NON ELABORARE' + PRINT 'ELAB 10 ELABORATO' + PRINT 'ELAB -1 SCARTO DA DATATHREAD' + PRINT 'ELAB -2 ERRORE APPLICATIVO' + PRINT 'ELAB -3 ERRORE APPLICATIVO generatorpdf' + PRINT 'ELAB < -3 ERRORE APPLICATIVO non assegnati' + PRINT '**********************************************************************' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CRUSCOTTOTRIMESTRALEMAU.sql b/sql/storedProduzione/C6MartPeriodico_CRUSCOTTOTRIMESTRALEMAU.sql new file mode 100644 index 00000000..bc348f93 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CRUSCOTTOTRIMESTRALEMAU.sql @@ -0,0 +1,213 @@ +--select count(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +--select top 10 * from global_error order by id desc +-- select count(*) from [C6StagingPeriodico].[datiROL2] +-- [C6MartPeriodico].[CRUSCOTTOTRIMESTRALE] BTTPLA59B25F240A +CREATE procedure [C6MartPeriodico].[CRUSCOTTOTRIMESTRALEMAU] + @codiceFiscale as char(16) = '' +AS +BEGIN + IF @codiceFiscale <> '' + SELECT b.*,a.dtstamp,a.errormessage + FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR a + on a.codicefiscale = b.codicefiscale and a.rete=b.rete where 1=1 + and b.codicefiscale = @codiceFiscale + DECLARE @dt AS DATETIME + DECLARE @dt2 AS DATETIME + DECLARE @QUANTI AS INT + DECLARE @APP AS varchar(100) + PRINT '**********************************************************************' + SELECT @dt = min(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + SELECT @dt2 = max(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + set @APP = 'DataInizio ' + convert(varchar,@dt,103) + ' ' + convert(varchar,@dt,114) + IF (SELECT COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab in(0,1,2,3)) = 0 + SET @APP = @APP + ' tempo totale di elaborazione ' ELSE SET @APP = @APP + ' tempo parziale di elaborazione ' + DECLARE @s bigint; + DECLARE @mi int; + DECLARE @h int; + DECLARE @d int; + SET @d=0 + SET @h=0 + SET @mi=0 + SET @s=0 + SELECT @s = DATEDIFF(second,@dt,getdate()) + IF @s <> 0 BEGIN + SET @mi = @s / 60; + SET @s = @s % 60; + END; + IF @mi <> 0 BEGIN + SET @h = @mi / 60; + SET @mi = @mi % 60; + END; + IF @h <> 0 BEGIN + SET @d = @h / 24; + SET @h = @h % 24; + END; + SET @APP = @APP + 'Giorni:' + CONVERT( VARCHAR(3) , @d ) + ' Ore:' + CONVERT( VARCHAR(2) , @h ) + ' Minuti:' + CONVERT( VARCHAR(2) , @mi ) + ' Secondi:' + CONVERT( VARCHAR(2) , @s ); + IF @APP IS NULL SET @APP = 'STANDBY' + PRINT @APP + PRINT '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab in(0,1,2) + PRINT 'daElaborare ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=3 + PRINT 'inElaborazione ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=10 + PRINT 'Elaborati ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-1 + PRINT 'noElaborabili ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=4 + PRINT 'BLACKLIST ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) FROM [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] + PRINT 'ScartatiTAB ' + convert(VARCHAR,@QUANTI) + PRINT '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-2 + PRINT 'Scartati-2 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-3 + PRINT 'Scartati-3 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab<-3 + PRINT 'Scartati-n ' + convert(VARCHAR,@QUANTI) + PRINT '**********************************************************************' + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi = 4 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 + PRINT 'ELABORATI ******** ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 0 and isdiagnosi = 4 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 + PRINT 'IN ELABORAZIONE ******** ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2and tipocliente = 0 and isdiagnosi = 4 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 + PRINT 'SCARTATI-2 ******* ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3and tipocliente = 0 and isdiagnosi = 4 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 + PRINT 'SCARTATI-3 ******* ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 0 and isdiagnosi = 4 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 + PRINT 'SCARTATI-n ******* ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-1 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-1 and tipocliente = 0 and isdiagnosi = 4 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-1 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-1 and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-1 + PRINT 'SCARTATI-1 ******* ' + convert(VARCHAR,@QUANTI) + PRINT '**********************************************************************' + PRINT 'ELAB 0 DA ELABORARE PRIORITA ALTA'--[C6MartPeriodico].[CRUSCOTTOTRIMESTRALE] + PRINT 'ELAB 1 DA ELABORARE PRIORITA MEDIA' + PRINT 'ELAB 2 DA ELABORARE PRIORITA NORMALE' + PRINT 'ELAB 3 IN ELABORAZIONE' + PRINT 'ELAB 4 IN BLACKLIST' + PRINT 'ELAB 10 ELABORATO' + PRINT 'ELAB -1 SCARTO DA DATATHREAD' + PRINT 'ELAB -2 ERRORE APPLICATIVO' + PRINT 'ELAB -3 ERRORE APPLICATIVO generatorpdf' + PRINT 'ELAB < -3 ERRORE APPLICATIVO non assegnati' + PRINT '**********************************************************************' + -- SELECT b.*,a.dtstamp,a.errormessage + --FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + --left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR a + --on a.codicefiscale = b.codicefiscale and a.rete=b.rete where 1=1 + --and elab< 0 +END +--select time,* from global_error order by id desc DELETE global_error +--SELECT * FROM [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] +--SELECT count(*) FROM [C6MartPeriodico].[CRUSCOTTO_CONTRATTISEI] +--select count(*) from c6martperiodico.contrattosei +--update [C6MartPeriodico].[CRUSCOTTOSWITCH] set elab = 0 +--truncate table [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] +--truncate table C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +--insert into C6MartPeriodico.CRUSCOTTO_CONTRATTISEI select cod_fiscale as codice_fiscale,rete as rete ,4 as elab,null,null,null as dtstamp from c6stagingperiodico.appo_contratti +--update [C6MartPeriodico].[CRUSCOTTOSWITCH] set elab = 1 + --c6stagingperiodico.appo_contratti + --delete C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR where codicefiscale+rete in ( + --select codicefiscale+rete from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + --where elab = -2) + --update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab= 2 where elab = 3 + --update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 400 where elab = -2 +--delete C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR +--where codicefiscale in (select codicefiscale from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab = 4) +--update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 where elab = 400 +--update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 +--where codicefiscale in +--(select cod_fiscale from appoCampioneReport where TipoContratto = 'Affluent') +--update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 +--where codicefiscale in +--(select cod_fiscale from appoCampioneReport where TipoContratto = 'private') +--update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 +--where codicefiscale in +--(select cod_fiscale from appoCampioneReport where TipoContratto = 'old') +-- update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 +--where codicefiscale in +-- ('GSTMGS42D51L833Z') +-- [C6MartPeriodico].[CRUSCOTTOTRIMESTRALE] + --scartati da datathread SE STATO_REPORT != 2 O 3 --problema +--SELECT a.*,B.STATO_REPORT FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI A +--LEFT JOIN C6MartPeriodico.CONTROLLO_TRIMESTRALE B +--ON A.CODICEFISCALE = B.COD_fISCALE and a.RETE=B.RETE +--WHERE A.elab in(0,1,2,-1,4) AND B.STATO_REPORT IN (2,3,23) +--ORDER BY STATO_REPORT + -- delete C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR + --where codicefiscale in (select codicefiscale from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab = -2) + --update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 where elab = -2 +--select * from global_error order by id desc + --SELECT 'update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 5 where codicefiscale+rete = ''' + b.codicefiscale+b.rete+'''' + --FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + --left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR a + --on a.codicefiscale = b.codicefiscale and a.rete=b.rete + --left join disallineati2 d + --on d.rete = b.rete and d.cod_fiscale = b.codicefiscale + --where 1=1 + --and elab =2 + --and tipocliente = 2 + -- SELECT b.*,a.dtstamp,a.errormessage + --FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + --left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR a + --on a.codicefiscale = b.codicefiscale and a.rete=b.rete where 1=1 + --and elab = 4 + --select * from c6mart.contrattosei where cod_fiscale = 'TGLMRA30A04A409N' +-- select * from c6martperiodico.cruscotto_contrattisei +--where elab in (-2,-3,3) +--update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 where elab = -2 +--update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 where elab = 3 + --[C6MartPeriodico].[CRUSCOTTOTRIMESTRALE] CNLMTT75A24C111A +--DGALGO47C44H379A F 1.OLD con Diagnosi 2.Elaborati Da stampare +--DGRMRA70L14H703Z F 1.OLD con Diagnosi 2.Elaborati Da stampare +--DLARNT59S67Z315W F 0.OLD 2.Elaborati Da stampare +--CNLMTT75A24C111A S 0.OLD 2.Elaborati Da stampare + --select 'update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 4 where codicefiscale+rete ='''+ codicefiscale+rete+'''' from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab = 4 \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE.sql b/sql/storedProduzione/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE.sql new file mode 100644 index 00000000..73030543 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE.sql @@ -0,0 +1,107 @@ +CREATE procedure [C6MartPeriodico].[CRUSCOTTOTRIMESTRALE_FILE] +AS +BEGIN + DECLARE @dt AS DATETIME + DECLARE @dt2 AS DATETIME + DECLARE @QUANTI AS INT + DECLARE @APP AS varchar(100) + declare @ooo as VARCHAR (2000) + SET @ooo = '' + set @ooo = @ooo + '\r\n' + '**********************************************************************' + SELECT @dt = min(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + SELECT @dt2 = max(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + -- FC 02/03/2015 Aggiornamento Convert + set @APP = 'DataInizio ' + convert(varchar,@dt,120) + IF (SELECT COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab in(0,1,2,3)) = 0 + SET @APP = @APP + ' tempo totale di elaborazione ' + ELSE + SET @APP = @APP + ' tempo parziale di elaborazione ' + SET @APP = @APP + convert(VARCHAR,DATEADD(second,DATEDIFF(second,@dt,getdate()), convert(varchar,@dt,102)) ,108) + IF @APP IS NULL SET @APP = 'STANDBY' + set @ooo = @ooo + '\r\n ' + @APP + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab in(0,1,2) + set @ooo = @ooo + '\r\n ' + 'daElaborare ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=3 + set @ooo = @ooo + '\r\n ' + 'inElaborazione ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=10 + set @ooo = @ooo + '\r\n ' + 'Elaborati ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-1 + set @ooo = @ooo + '\r\n ' + 'noElaborabili ( Scartati-1 ) ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=4 + set @ooo = @ooo + '\r\n ' + 'Da NON Elaborare ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) FROM [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] + set @ooo = @ooo + '\r\n ' + 'ScartatiTAB ' + convert(VARCHAR,@QUANTI) + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-2 + set @ooo = @ooo + '\r\n ' + 'Scartati-2 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-3 + set @ooo = @ooo + '\r\n ' + 'Scartati-3 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab<-3 + set @ooo = @ooo + '\r\n ' + 'Scartati-n ' + convert(VARCHAR,@QUANTI) + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi = -1 + set @ooo = @ooo + '\r\n ' + 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi > -1 + set @ooo = @ooo + '\r\n ' + 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 1 + set @ooo = @ooo + '\r\n ' + 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 2 + set @ooo = @ooo + '\r\n ' + 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 + set @ooo = @ooo + '\r\n ' + 'ELABORATI ******** ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 0 and isdiagnosi = -1 + set @ooo = @ooo + '\r\n ' + 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 0 and isdiagnosi > -1 + set @ooo = @ooo + '\r\n ' + 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 1 + set @ooo = @ooo + '\r\n ' + 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 2 + set @ooo = @ooo + '\r\n ' + 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 + set @ooo = @ooo + '\r\n ' + 'IN ELABORAZIONE ******** ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 and tipocliente = 0 and isdiagnosi = -1 + set @ooo = @ooo + '\r\n ' + 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2and tipocliente = 0 and isdiagnosi > -1 + set @ooo = @ooo + '\r\n ' + 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 and tipocliente = 1 + set @ooo = @ooo + '\r\n ' + 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 and tipocliente = 2 + set @ooo = @ooo + '\r\n ' + 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 + set @ooo = @ooo + '\r\n ' + 'SCARTATI-2 ******* ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 0 and isdiagnosi = -1 + set @ooo = @ooo + '\r\n ' + 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 0 and isdiagnosi > -1 + set @ooo = @ooo + '\r\n ' + 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 1 + set @ooo = @ooo + '\r\n ' + 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 2 + set @ooo = @ooo + '\r\n ' + 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 + set @ooo = @ooo + '\r\n ' + 'SCARTATI-3 ******* ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 0 and isdiagnosi = -1 + set @ooo = @ooo + '\r\n ' + 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 0 and isdiagnosi > -1 + set @ooo = @ooo + '\r\n ' + 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 1 + set @ooo = @ooo + '\r\n ' + 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 2 + set @ooo = @ooo + '\r\n ' + 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 + set @ooo = @ooo + '\r\n ' + 'SCARTATI-n ******* ' + convert(VARCHAR,@QUANTI) + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + set @ooo = @ooo + '\r\n ' + 'ELAB 0 DA ELABORARE PRIORITA ALTA'--[C6MartPeriodico].[CRUSCOTTOTRIMESTRALE] + set @ooo = @ooo + '\r\n ' + 'ELAB 1 DA ELABORARE PRIORITA MEDIA' + set @ooo = @ooo + '\r\n ' + 'ELAB 2 DA ELABORARE PRIORITA NORMALE' + set @ooo = @ooo + '\r\n ' + 'ELAB 3 IN ELABORAZIONE' + set @ooo = @ooo + '\r\n ' + 'ELAB 4 IN BLACKLIST' + set @ooo = @ooo + '\r\n ' + 'ELAB 10 ELABORATO' + set @ooo = @ooo + '\r\n ' + 'ELAB -1 SCARTO DA DATATHREAD' + set @ooo = @ooo + '\r\n ' + 'ELAB -2 ERRORE APPLICATIVO' + set @ooo = @ooo + '\r\n ' + 'ELAB -3 ERRORE APPLICATIVO generatorpdf' + set @ooo = @ooo + '\r\n ' + 'ELAB < -3 ERRORE APPLICATIVO non assegnati' + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + SELECT @ooo, COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab in(0,1,2) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE_test.sql b/sql/storedProduzione/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE_test.sql new file mode 100644 index 00000000..de3177dd --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE_test.sql @@ -0,0 +1,107 @@ +CREATE procedure [C6MartPeriodico].[CRUSCOTTOTRIMESTRALE_FILE_test] +AS +BEGIN + DECLARE @dt AS DATETIME + DECLARE @dt2 AS DATETIME + DECLARE @QUANTI AS INT + DECLARE @APP AS varchar(100) + declare @ooo as VARCHAR (2000) + SET @ooo = '' + set @ooo = @ooo + '\r\n' + '**********************************************************************' + SELECT @dt = min(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + SELECT @dt2 = max(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + -- FC 02/03/2015 Aggiornamento Convert + set @APP = 'DataInizio ' + convert(varchar,@dt,120) + IF (SELECT COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab in(0,1,2,3)) = 0 + SET @APP = @APP + ' tempo totale di elaborazione ' + ELSE + SET @APP = @APP + ' tempo parziale di elaborazione ' + SET @APP = @APP + convert(VARCHAR,DATEADD(millisecond,DATEDIFF(millisecond,@dt,getdate()), convert(varchar,@dt,102)) ,108) + IF @APP IS NULL SET @APP = 'STANDBY' + set @ooo = @ooo + '\r\n ' + @APP + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab in(0,1,2) + set @ooo = @ooo + '\r\n ' + 'daElaborare ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=3 + set @ooo = @ooo + '\r\n ' + 'inElaborazione ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=10 + set @ooo = @ooo + '\r\n ' + 'Elaborati ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-1 + set @ooo = @ooo + '\r\n ' + 'noElaborabili ( Scartati-1 ) ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=4 + set @ooo = @ooo + '\r\n ' + 'Da NON Elaborare ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) FROM [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] + set @ooo = @ooo + '\r\n ' + 'ScartatiTAB ' + convert(VARCHAR,@QUANTI) + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-2 + set @ooo = @ooo + '\r\n ' + 'Scartati-2 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-3 + set @ooo = @ooo + '\r\n ' + 'Scartati-3 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab<-3 + set @ooo = @ooo + '\r\n ' + 'Scartati-n ' + convert(VARCHAR,@QUANTI) + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi = -1 + set @ooo = @ooo + '\r\n ' + 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi > -1 + set @ooo = @ooo + '\r\n ' + 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 1 + set @ooo = @ooo + '\r\n ' + 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 2 + set @ooo = @ooo + '\r\n ' + 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 + set @ooo = @ooo + '\r\n ' + 'ELABORATI ******** ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 0 and isdiagnosi = -1 + set @ooo = @ooo + '\r\n ' + 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 0 and isdiagnosi > -1 + set @ooo = @ooo + '\r\n ' + 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 1 + set @ooo = @ooo + '\r\n ' + 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 2 + set @ooo = @ooo + '\r\n ' + 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 + set @ooo = @ooo + '\r\n ' + 'IN ELABORAZIONE ******** ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 and tipocliente = 0 and isdiagnosi = -1 + set @ooo = @ooo + '\r\n ' + 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2and tipocliente = 0 and isdiagnosi > -1 + set @ooo = @ooo + '\r\n ' + 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 and tipocliente = 1 + set @ooo = @ooo + '\r\n ' + 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 and tipocliente = 2 + set @ooo = @ooo + '\r\n ' + 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 + set @ooo = @ooo + '\r\n ' + 'SCARTATI-2 ******* ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 0 and isdiagnosi = -1 + set @ooo = @ooo + '\r\n ' + 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 0 and isdiagnosi > -1 + set @ooo = @ooo + '\r\n ' + 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 1 + set @ooo = @ooo + '\r\n ' + 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 2 + set @ooo = @ooo + '\r\n ' + 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 + set @ooo = @ooo + '\r\n ' + 'SCARTATI-3 ******* ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 0 and isdiagnosi = -1 + set @ooo = @ooo + '\r\n ' + 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 0 and isdiagnosi > -1 + set @ooo = @ooo + '\r\n ' + 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 1 + set @ooo = @ooo + '\r\n ' + 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 2 + set @ooo = @ooo + '\r\n ' + 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 + set @ooo = @ooo + '\r\n ' + 'SCARTATI-n ******* ' + convert(VARCHAR,@QUANTI) + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + set @ooo = @ooo + '\r\n ' + 'ELAB 0 DA ELABORARE PRIORITA ALTA'--[C6MartPeriodico].[CRUSCOTTOTRIMESTRALE] + set @ooo = @ooo + '\r\n ' + 'ELAB 1 DA ELABORARE PRIORITA MEDIA' + set @ooo = @ooo + '\r\n ' + 'ELAB 2 DA ELABORARE PRIORITA NORMALE' + set @ooo = @ooo + '\r\n ' + 'ELAB 3 IN ELABORAZIONE' + set @ooo = @ooo + '\r\n ' + 'ELAB 4 IN BLACKLIST' + set @ooo = @ooo + '\r\n ' + 'ELAB 10 ELABORATO' + set @ooo = @ooo + '\r\n ' + 'ELAB -1 SCARTO DA DATATHREAD' + set @ooo = @ooo + '\r\n ' + 'ELAB -2 ERRORE APPLICATIVO' + set @ooo = @ooo + '\r\n ' + 'ELAB -3 ERRORE APPLICATIVO generatorpdf' + set @ooo = @ooo + '\r\n ' + 'ELAB < -3 ERRORE APPLICATIVO non assegnati' + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + SELECT @ooo, COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab in(0,1,2) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Caricamento_TBGEN.sql b/sql/storedProduzione/C6MartPeriodico_Caricamento_TBGEN.sql new file mode 100644 index 00000000..627adc26 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Caricamento_TBGEN.sql @@ -0,0 +1,22 @@ +--[C6martPeriodico].[Caricamento_TBGEN] +CREATE procedure [C6MartPeriodico].[Caricamento_TBGEN] + -- Add the parameters for the stored procedure here +AS +BEGIN +DECLARE @Rete char(1) +DECLARE @CodiceFiscale varchar(16) +DECLARE cursore CURSOR FOR +SELECT --top 100 + rete, + cod_fiscale +FROM c6martperiodico.vcontrattipergenerazionereport +OPEN cursore +FETCH NEXT FROM cursore INTO @Rete,@CodiceFiscale +WHILE @@fetch_status=0 +BEGIN +EXECUTE [C6MartPeriodico].[POPOLA_D2_S157ConfrontoPiramidi_SVIL] @Rete,@CodiceFiscale +--EXECUTE [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] @Rete,@CodiceFiscale +FETCH NEXT FROM cursore INTO @Rete, @CodiceFiscale +END +CLOSE cursore +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CercaCaratteriAnomali.sql b/sql/storedProduzione/C6MartPeriodico_CercaCaratteriAnomali.sql new file mode 100644 index 00000000..22e39f2c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CercaCaratteriAnomali.sql @@ -0,0 +1,356 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[CercaCaratteriAnomali] +AS +BEGIN +declare @num int +set @num = 1 +CREATE TABLE #tab_temp( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL) +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(email,@num,1)), + substring(email,@num,1), + rete, + Cod_Fiscale, + 'EMAIL', + email +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(email,@num,len(email))) not between 64 and 90 +and ascii(substring(email,@num,len(email))) not between 97 and 122 +and ascii(substring(email,@num,len(email))) not between 48 and 57 +and ascii(substring(email,@num,len(email))) <> 32 +and ascii(substring(email,@num,len(email))) <> 40 +and ascii(substring(email,@num,len(email))) <> 41 +and ascii(substring(email,@num,len(email))) <> 43 +and ascii(substring(email,@num,len(email))) <> 44 +and ascii(substring(email,@num,len(email))) <> 45 +and ascii(substring(email,@num,len(email))) <> 46 +and ascii(substring(email,@num,len(email))) <> 95 +and ascii(substring(email,@num,len(email))) <> 39 +and ascii(substring(email,@num,len(email))) <> 47 +and ascii(substring(email,@num,len(email))) <> 63 +set @num = @num + 1 +end +--inizio intervento: 05/02/2015 FCianfa Controllo caratteriAnomali su campi Nome e Cognome della tb c6martperiodico.ANAG_CLIENTI +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Nome+Cognome,@num,1)), + substring(Nome+Cognome,@num,1), + rete, + Cod_Fiscale, + 'Nome+Cognome', + Nome+Cognome +FROM C6MartPeriodico.ANAG_CLIENTI +WHERE + ascii(substring(Nome+Cognome,@num,len(Nome))) not between 64 and 90 +and ascii(substring(Nome+Cognome,@num,len(Nome))) not between 97 and 122 +and ascii(substring(Nome+Cognome,@num,len(Nome))) not between 48 and 57 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 32 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 40 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 41 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 43 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 44 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 45 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 46 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 95 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 39 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 38 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 47 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 63 +set @num = @num + 1 +end +--fine intervento: 05/02/2015 FCianfa Controllo caratteriAnomali su campi Nome e Cognome della tb c6martperiodico.ANAG_CLIENTI +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Indirizzo,@num,1)), + substring(Indirizzo,@num,1), + rete, + Cod_Fiscale, + 'INDIRIZZO', + Indirizzo +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 64 and 90 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 97 and 122 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 48 and 57 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 32 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 40 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 41 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 43 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 44 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 45 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 46 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 95 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 39 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 47 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(CAP,@num,1)), + substring(CAP,@num,1), + rete, + Cod_Fiscale, + 'CAP', + CAP +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(CAP,@num,len(CAP))) not between 64 and 90 +and ascii(substring(CAP,@num,len(CAP))) not between 97 and 122 +and ascii(substring(CAP,@num,len(CAP))) not between 48 and 57 +and ascii(substring(CAP,@num,len(CAP))) <> 32 +and ascii(substring(CAP,@num,len(CAP))) <> 40 +and ascii(substring(CAP,@num,len(CAP))) <> 41 +and ascii(substring(CAP,@num,len(CAP))) <> 43 +and ascii(substring(CAP,@num,len(CAP))) <> 44 +and ascii(substring(CAP,@num,len(CAP))) <> 45 +and ascii(substring(CAP,@num,len(CAP))) <> 46 +and ascii(substring(CAP,@num,len(CAP))) <> 95 +and ascii(substring(CAP,@num,len(CAP))) <> 39 +and ascii(substring(CAP,@num,len(CAP))) <> 47 +and ascii(substring(CAP,@num,len(CAP))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Citta,@num,1)), + substring(Citta,@num,1), + rete, + Cod_Fiscale, + 'Citta', + Citta +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Citta,@num,len(Citta))) not between 64 and 90 +and ascii(substring(Citta,@num,len(Citta))) not between 97 and 122 +and ascii(substring(Citta,@num,len(Citta))) not between 48 and 57 +and ascii(substring(Citta,@num,len(Citta))) <> 32 +and ascii(substring(Citta,@num,len(Citta))) <> 40 +and ascii(substring(Citta,@num,len(Citta))) <> 41 +and ascii(substring(Citta,@num,len(Citta))) <> 43 +and ascii(substring(Citta,@num,len(Citta))) <> 44 +and ascii(substring(Citta,@num,len(Citta))) <> 45 +and ascii(substring(Citta,@num,len(Citta))) <> 46 +and ascii(substring(Citta,@num,len(Citta))) <> 95 +and ascii(substring(Citta,@num,len(Citta))) <> 39 +and ascii(substring(Citta,@num,len(Citta))) <> 47 +and ascii(substring(Citta,@num,len(Citta))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Prov,@num,1)), + substring(Citta,@num,1), + rete, + Cod_Fiscale, + 'Prov', + Prov +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Prov,@num,len(Prov))) not between 64 and 90 +and ascii(substring(Prov,@num,len(Prov))) not between 97 and 122 +and ascii(substring(Prov,@num,len(Prov))) not between 48 and 57 +and ascii(substring(Prov,@num,len(Prov))) <> 32 +and ascii(substring(Prov,@num,len(Prov))) <> 40 +and ascii(substring(Prov,@num,len(Prov))) <> 41 +and ascii(substring(Prov,@num,len(Prov))) <> 43 +and ascii(substring(Prov,@num,len(Prov))) <> 44 +and ascii(substring(Prov,@num,len(Prov))) <> 45 +and ascii(substring(Prov,@num,len(Prov))) <> 46 +and ascii(substring(Prov,@num,len(Prov))) <> 95 +and ascii(substring(Prov,@num,len(Prov))) <> 39 +and ascii(substring(Prov,@num,len(Prov))) <> 47 +and ascii(substring(Prov,@num,len(Prov))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Nazione,@num,1)), + substring(Nazione,@num,1), + rete, + Cod_Fiscale, + 'Nazione', + Nazione +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Nazione,@num,len(Nazione))) not between 64 and 90 +and ascii(substring(Nazione,@num,len(Nazione))) not between 97 and 122 +and ascii(substring(Nazione,@num,len(Nazione))) not between 48 and 57 +and ascii(substring(Nazione,@num,len(Nazione))) <> 32 +and ascii(substring(Nazione,@num,len(Nazione))) <> 40 +and ascii(substring(Nazione,@num,len(Nazione))) <> 41 +and ascii(substring(Nazione,@num,len(Nazione))) <> 43 +and ascii(substring(Nazione,@num,len(Nazione))) <> 44 +and ascii(substring(Nazione,@num,len(Nazione))) <> 45 +and ascii(substring(Nazione,@num,len(Nazione))) <> 46 +and ascii(substring(Nazione,@num,len(Nazione))) <> 95 +and ascii(substring(Nazione,@num,len(Nazione))) <> 39 +and ascii(substring(Nazione,@num,len(Nazione))) <> 47 +and ascii(substring(Nazione,@num,len(Nazione))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Presso,@num,1)), + substring(Presso,@num,1), + rete, + Cod_Fiscale, + 'Presso', + Presso +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Presso,@num,len(Presso))) not between 64 and 90 +and ascii(substring(Presso,@num,len(Presso))) not between 97 and 122 +and ascii(substring(Presso,@num,len(Presso))) not between 48 and 57 +and ascii(substring(Presso,@num,len(Presso))) <> 32 +and ascii(substring(Presso,@num,len(Presso))) <> 40 +and ascii(substring(Presso,@num,len(Presso))) <> 41 +and ascii(substring(Presso,@num,len(Presso))) <> 43 +and ascii(substring(Presso,@num,len(Presso))) <> 44 +and ascii(substring(Presso,@num,len(Presso))) <> 45 +and ascii(substring(Presso,@num,len(Presso))) <> 46 +and ascii(substring(Presso,@num,len(Presso))) <> 95 +and ascii(substring(Presso,@num,len(Presso))) <> 39 +and ascii(substring(Presso,@num,len(Presso))) <> 47 +and ascii(substring(Presso,@num,len(Presso))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Rol,@num,1)), + substring(Rol,@num,1), + rete, + Cod_Fiscale, + 'Rol', + Rol +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Rol,@num,len(Rol))) not between 64 and 90 +and ascii(substring(Rol,@num,len(Rol))) not between 97 and 122 +and ascii(substring(Rol,@num,len(Rol))) not between 48 and 57 +and ascii(substring(Rol,@num,len(Rol))) <> 32 +and ascii(substring(Rol,@num,len(Rol))) <> 40 +and ascii(substring(Rol,@num,len(Rol))) <> 41 +and ascii(substring(Rol,@num,len(Rol))) <> 43 +and ascii(substring(Rol,@num,len(Rol))) <> 44 +and ascii(substring(Rol,@num,len(Rol))) <> 45 +and ascii(substring(Rol,@num,len(Rol))) <> 46 +and ascii(substring(Rol,@num,len(Rol))) <> 95 +and ascii(substring(Rol,@num,len(Rol))) <> 39 +and ascii(substring(Rol,@num,len(Rol))) <> 47 +and ascii(substring(Rol,@num,len(Rol))) <> 63 +set @num = @num + 1 +end +select distinct * from #tab_temp +------------------------------------------------------- +--SELECT * FROM C6MartPeriodico.ContrattoSEI +--WHERE +-- Email like '%¿%' +--OR +-- Indirizzo like '%¿%' +--OR +-- CAP like '%¿%' +--OR +-- Citta like '%¿%' +--OR +-- Prov like '%¿%' +--OR +-- Nazione like '%¿%' +--OR +-- Presso like '%¿%' +--OR +-- Rol like '%¿%' +--OR +-- Email like '%Ç%' +--OR +-- Indirizzo like '%Ç%' +--OR +-- CAP like '%Ç%' +--OR +-- Citta like '%Ç%' +--OR +-- Prov like '%Ç%' +--OR +-- Nazione like '%Ç%' +--OR +-- Presso like '%Ç%' +--OR +-- Rol like '%Ç%' +--OR +-- Email like '%À%' +--OR +-- Indirizzo like '%À%' +--OR +-- CAP like '%À%' +--OR +-- Citta like '%À%' +--OR +-- Prov like '%À%' +--OR +-- Nazione like '%À%' +--OR +-- Presso like '%À%' +--OR +-- Rol like '%À%' +--OR +-- Email like '%É%' +--OR +-- Indirizzo like '%É%' +--OR +-- CAP like '%É%' +--OR +-- Citta like '%É%' +--OR +-- Prov like '%É%' +--OR +-- Nazione like '%É%' +--OR +-- Presso like '%É%' +--OR +-- Rol like '%É%' +--OR +-- Email like '%µ%' +--OR +-- Indirizzo like '%µ%' +--OR +-- CAP like '%µ%' +--OR +-- Citta like '%µ%' +--OR +-- Prov like '%µ%' +--OR +-- Nazione like '%µ%' +--OR +-- Presso like '%µ%' +--OR +-- Rol like '%µ%' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CercaCaratteriAnomali_20150205.sql b/sql/storedProduzione/C6MartPeriodico_CercaCaratteriAnomali_20150205.sql new file mode 100644 index 00000000..6296321f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CercaCaratteriAnomali_20150205.sql @@ -0,0 +1,356 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[CercaCaratteriAnomali_20150205] +AS +BEGIN +declare @num int +set @num = 1 +CREATE TABLE #tab_temp( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL) +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(email,@num,1)), + substring(email,@num,1), + rete, + Cod_Fiscale, + 'EMAIL', + email +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(email,@num,len(email))) not between 64 and 90 +and ascii(substring(email,@num,len(email))) not between 97 and 122 +and ascii(substring(email,@num,len(email))) not between 48 and 57 +and ascii(substring(email,@num,len(email))) <> 32 +and ascii(substring(email,@num,len(email))) <> 40 +and ascii(substring(email,@num,len(email))) <> 41 +and ascii(substring(email,@num,len(email))) <> 43 +and ascii(substring(email,@num,len(email))) <> 44 +and ascii(substring(email,@num,len(email))) <> 45 +and ascii(substring(email,@num,len(email))) <> 46 +and ascii(substring(email,@num,len(email))) <> 95 +and ascii(substring(email,@num,len(email))) <> 39 +and ascii(substring(email,@num,len(email))) <> 47 +and ascii(substring(email,@num,len(email))) <> 63 +set @num = @num + 1 +end +--inizio intervento: 05/02/2015 FCianfa Controllo caratteriAnomali su campi Nome e Cognome della tb c6martperiodico.ANAG_CLIENTI +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Nome+Cognome,@num,1)), + substring(Nome+Cognome,@num,1), + rete, + Cod_Fiscale, + 'Nome+Cognome', + Nome+Cognome +FROM C6MartPeriodico.ANAG_CLIENTI +WHERE + ascii(substring(Nome+Cognome,@num,len(Nome))) not between 64 and 90 +and ascii(substring(Nome+Cognome,@num,len(Nome))) not between 97 and 122 +and ascii(substring(Nome+Cognome,@num,len(Nome))) not between 48 and 57 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 32 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 40 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 41 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 43 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 44 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 45 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 46 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 95 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 39 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 38 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 47 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 63 +set @num = @num + 1 +end +--fine intervento: 05/02/2015 FCianfa Controllo caratteriAnomali su campi Nome e Cognome della tb c6martperiodico.ANAG_CLIENTI +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Indirizzo,@num,1)), + substring(Indirizzo,@num,1), + rete, + Cod_Fiscale, + 'INDIRIZZO', + Indirizzo +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 64 and 90 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 97 and 122 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 48 and 57 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 32 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 40 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 41 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 43 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 44 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 45 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 46 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 95 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 39 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 47 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(CAP,@num,1)), + substring(CAP,@num,1), + rete, + Cod_Fiscale, + 'CAP', + CAP +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(CAP,@num,len(CAP))) not between 64 and 90 +and ascii(substring(CAP,@num,len(CAP))) not between 97 and 122 +and ascii(substring(CAP,@num,len(CAP))) not between 48 and 57 +and ascii(substring(CAP,@num,len(CAP))) <> 32 +and ascii(substring(CAP,@num,len(CAP))) <> 40 +and ascii(substring(CAP,@num,len(CAP))) <> 41 +and ascii(substring(CAP,@num,len(CAP))) <> 43 +and ascii(substring(CAP,@num,len(CAP))) <> 44 +and ascii(substring(CAP,@num,len(CAP))) <> 45 +and ascii(substring(CAP,@num,len(CAP))) <> 46 +and ascii(substring(CAP,@num,len(CAP))) <> 95 +and ascii(substring(CAP,@num,len(CAP))) <> 39 +and ascii(substring(CAP,@num,len(CAP))) <> 47 +and ascii(substring(CAP,@num,len(CAP))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Citta,@num,1)), + substring(Citta,@num,1), + rete, + Cod_Fiscale, + 'Citta', + Citta +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Citta,@num,len(Citta))) not between 64 and 90 +and ascii(substring(Citta,@num,len(Citta))) not between 97 and 122 +and ascii(substring(Citta,@num,len(Citta))) not between 48 and 57 +and ascii(substring(Citta,@num,len(Citta))) <> 32 +and ascii(substring(Citta,@num,len(Citta))) <> 40 +and ascii(substring(Citta,@num,len(Citta))) <> 41 +and ascii(substring(Citta,@num,len(Citta))) <> 43 +and ascii(substring(Citta,@num,len(Citta))) <> 44 +and ascii(substring(Citta,@num,len(Citta))) <> 45 +and ascii(substring(Citta,@num,len(Citta))) <> 46 +and ascii(substring(Citta,@num,len(Citta))) <> 95 +and ascii(substring(Citta,@num,len(Citta))) <> 39 +and ascii(substring(Citta,@num,len(Citta))) <> 47 +and ascii(substring(Citta,@num,len(Citta))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Prov,@num,1)), + substring(Citta,@num,1), + rete, + Cod_Fiscale, + 'Prov', + Prov +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Prov,@num,len(Prov))) not between 64 and 90 +and ascii(substring(Prov,@num,len(Prov))) not between 97 and 122 +and ascii(substring(Prov,@num,len(Prov))) not between 48 and 57 +and ascii(substring(Prov,@num,len(Prov))) <> 32 +and ascii(substring(Prov,@num,len(Prov))) <> 40 +and ascii(substring(Prov,@num,len(Prov))) <> 41 +and ascii(substring(Prov,@num,len(Prov))) <> 43 +and ascii(substring(Prov,@num,len(Prov))) <> 44 +and ascii(substring(Prov,@num,len(Prov))) <> 45 +and ascii(substring(Prov,@num,len(Prov))) <> 46 +and ascii(substring(Prov,@num,len(Prov))) <> 95 +and ascii(substring(Prov,@num,len(Prov))) <> 39 +and ascii(substring(Prov,@num,len(Prov))) <> 47 +and ascii(substring(Prov,@num,len(Prov))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Nazione,@num,1)), + substring(Nazione,@num,1), + rete, + Cod_Fiscale, + 'Nazione', + Nazione +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Nazione,@num,len(Nazione))) not between 64 and 90 +and ascii(substring(Nazione,@num,len(Nazione))) not between 97 and 122 +and ascii(substring(Nazione,@num,len(Nazione))) not between 48 and 57 +and ascii(substring(Nazione,@num,len(Nazione))) <> 32 +and ascii(substring(Nazione,@num,len(Nazione))) <> 40 +and ascii(substring(Nazione,@num,len(Nazione))) <> 41 +and ascii(substring(Nazione,@num,len(Nazione))) <> 43 +and ascii(substring(Nazione,@num,len(Nazione))) <> 44 +and ascii(substring(Nazione,@num,len(Nazione))) <> 45 +and ascii(substring(Nazione,@num,len(Nazione))) <> 46 +and ascii(substring(Nazione,@num,len(Nazione))) <> 95 +and ascii(substring(Nazione,@num,len(Nazione))) <> 39 +and ascii(substring(Nazione,@num,len(Nazione))) <> 47 +and ascii(substring(Nazione,@num,len(Nazione))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Presso,@num,1)), + substring(Presso,@num,1), + rete, + Cod_Fiscale, + 'Presso', + Presso +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Presso,@num,len(Presso))) not between 64 and 90 +and ascii(substring(Presso,@num,len(Presso))) not between 97 and 122 +and ascii(substring(Presso,@num,len(Presso))) not between 48 and 57 +and ascii(substring(Presso,@num,len(Presso))) <> 32 +and ascii(substring(Presso,@num,len(Presso))) <> 40 +and ascii(substring(Presso,@num,len(Presso))) <> 41 +and ascii(substring(Presso,@num,len(Presso))) <> 43 +and ascii(substring(Presso,@num,len(Presso))) <> 44 +and ascii(substring(Presso,@num,len(Presso))) <> 45 +and ascii(substring(Presso,@num,len(Presso))) <> 46 +and ascii(substring(Presso,@num,len(Presso))) <> 95 +and ascii(substring(Presso,@num,len(Presso))) <> 39 +and ascii(substring(Presso,@num,len(Presso))) <> 47 +and ascii(substring(Presso,@num,len(Presso))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Rol,@num,1)), + substring(Rol,@num,1), + rete, + Cod_Fiscale, + 'Rol', + Rol +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Rol,@num,len(Rol))) not between 64 and 90 +and ascii(substring(Rol,@num,len(Rol))) not between 97 and 122 +and ascii(substring(Rol,@num,len(Rol))) not between 48 and 57 +and ascii(substring(Rol,@num,len(Rol))) <> 32 +and ascii(substring(Rol,@num,len(Rol))) <> 40 +and ascii(substring(Rol,@num,len(Rol))) <> 41 +and ascii(substring(Rol,@num,len(Rol))) <> 43 +and ascii(substring(Rol,@num,len(Rol))) <> 44 +and ascii(substring(Rol,@num,len(Rol))) <> 45 +and ascii(substring(Rol,@num,len(Rol))) <> 46 +and ascii(substring(Rol,@num,len(Rol))) <> 95 +and ascii(substring(Rol,@num,len(Rol))) <> 39 +and ascii(substring(Rol,@num,len(Rol))) <> 47 +and ascii(substring(Rol,@num,len(Rol))) <> 63 +set @num = @num + 1 +end +select distinct * from #tab_temp +------------------------------------------------------- +--SELECT * FROM C6MartPeriodico.ContrattoSEI +--WHERE +-- Email like '%¿%' +--OR +-- Indirizzo like '%¿%' +--OR +-- CAP like '%¿%' +--OR +-- Citta like '%¿%' +--OR +-- Prov like '%¿%' +--OR +-- Nazione like '%¿%' +--OR +-- Presso like '%¿%' +--OR +-- Rol like '%¿%' +--OR +-- Email like '%Ç%' +--OR +-- Indirizzo like '%Ç%' +--OR +-- CAP like '%Ç%' +--OR +-- Citta like '%Ç%' +--OR +-- Prov like '%Ç%' +--OR +-- Nazione like '%Ç%' +--OR +-- Presso like '%Ç%' +--OR +-- Rol like '%Ç%' +--OR +-- Email like '%À%' +--OR +-- Indirizzo like '%À%' +--OR +-- CAP like '%À%' +--OR +-- Citta like '%À%' +--OR +-- Prov like '%À%' +--OR +-- Nazione like '%À%' +--OR +-- Presso like '%À%' +--OR +-- Rol like '%À%' +--OR +-- Email like '%É%' +--OR +-- Indirizzo like '%É%' +--OR +-- CAP like '%É%' +--OR +-- Citta like '%É%' +--OR +-- Prov like '%É%' +--OR +-- Nazione like '%É%' +--OR +-- Presso like '%É%' +--OR +-- Rol like '%É%' +--OR +-- Email like '%µ%' +--OR +-- Indirizzo like '%µ%' +--OR +-- CAP like '%µ%' +--OR +-- Citta like '%µ%' +--OR +-- Prov like '%µ%' +--OR +-- Nazione like '%µ%' +--OR +-- Presso like '%µ%' +--OR +-- Rol like '%µ%' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_CheckQuadraturaRfa0Mifid.sql b/sql/storedProduzione/C6MartPeriodico_CheckQuadraturaRfa0Mifid.sql new file mode 100644 index 00000000..759e40a4 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_CheckQuadraturaRfa0Mifid.sql @@ -0,0 +1,47 @@ +-- Stored procedure +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 10/01/2014 +-- Description: Controllo Quadratura Rfa0-Mifid +-- ============================================= +CREATE procedure [C6MartPeriodico].[CheckQuadraturaRfa0Mifid] +AS +BEGIN + truncate TABLE dbo.CheckQuadraturaProfiloRfaMifid +insert into dbo.CheckQuadraturaProfiloRfaMifid + Select a.* + from ( +select rete as Rete,cod_fiscale as Codice_Fiscale,'MIFID-Manca su lista Fideuram' as Tipo_Controllo,getdate() as Data_Operazione +from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO +except +select rete as Rete,codfis as Codice_Fiscale,'MIFID-Manca su lista Fideuram' as Tipo_Controllo ,getdate() as Data_Operazione +from dbo.CheckMifidScirocco +) as a +insert into dbo.CheckQuadraturaProfiloRfaMifid + Select a.* + from ( +select rete as Rete,codfis as Codice_Fiscale,'MIFID-Manca su lista HP' as Tipo_Controllo,getdate() as Data_Operazione +from dbo.CheckMifidScirocco +except +select rete as Rete,cod_fiscale as Codice_Fiscale,'MIFID-Manca su lista HP' as Tipo_Controllo ,getdate() as Data_Operazione +from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO +) as a +insert into dbo.CheckQuadraturaProfiloRfaMifid +Select a.* + from ( +select rete as Rete,cod_fiscale as Codice_Fiscale,'RFA0-Manca su lista Fideuram' as Tipo_Controllo,getdate() as Data_Operazione +from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO +except +select rete as Rete,codfis as Codice_Fiscale,'RFA0-Manca su lista Fideuram' as Tipo_Controllo ,getdate() as Data_Operazione +from dbo.CheckRfaScirocco +) as a +insert into dbo.CheckQuadraturaProfiloRfaMifid +Select a.* + from ( +select rete as Rete,codfis as Codice_Fiscale,'RFA0-Manca su lista HP' as Tipo_Controllo,getdate() as Data_Operazione +from dbo.CheckRfaScirocco +except +select rete as Rete,cod_fiscale as Codice_Fiscale,'RFA0-Manca su lista HP' as Tipo_Controllo ,getdate() as Data_Operazione +from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO +) as a +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Controlla_Stato_Stampa_Cruscotto.sql b/sql/storedProduzione/C6MartPeriodico_Controlla_Stato_Stampa_Cruscotto.sql new file mode 100644 index 00000000..b9b3f9d6 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Controlla_Stato_Stampa_Cruscotto.sql @@ -0,0 +1,39 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[Controlla_Stato_Stampa_Cruscotto] +AS +BEGIN +truncate table [C6MartPeriodico].[TB_Controlla_Stato_Stampa_Cruscotto] +declare @conteggio_prima int +declare @conteggio_dopo int +insert into [C6MartPeriodico].[TB_Controlla_Stato_Stampa_Cruscotto] +select convert(varchar, getdate(), 121) as data_prima,count(*) as conteggio_prima,0 as data_dopo,0 as conteggio_dopo + from c6martperiodico.controllo_trimestrale + where stato_report=4 + group by stato_report + having count(*)> 0 + WAITFOR DELAY '03:00:00' +update [C6MartPeriodico].[TB_Controlla_Stato_Stampa_Cruscotto] +set conteggio_dopo=(select count(*) as conteggio_dopo + from c6martperiodico.controllo_trimestrale + where stato_report=4 + group by stato_report + having count(*)> 0), + data_dopo=convert(varchar, getdate(), 121) + --select * from [C6MartPeriodico].[TB_Controlla_Stato_Stampa_Cruscotto] + select @conteggio_prima = conteggio_prima from [C6MartPeriodico].[TB_Controlla_Stato_Stampa_Cruscotto] + select @conteggio_dopo = conteggio_dopo from [C6MartPeriodico].[TB_Controlla_Stato_Stampa_Cruscotto] + if(@conteggio_prima=@conteggio_dopo) + begin + print('OK') + end + else + begin + insert into [C6MartPeriodico].[TB_ST_Controlla_Stato_Stampa_Cruscotto] + select * from [C6MartPeriodico].[TB_Controlla_Stato_Stampa_Cruscotto] + exec [C6MartPeriodico].[Controlla_Stato_Stampa_Cruscotto] + end +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ALL_PATRIMONIO.sql b/sql/storedProduzione/C6MartPeriodico_DM_ALL_PATRIMONIO.sql new file mode 100644 index 00000000..56e4419b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ALL_PATRIMONIO.sql @@ -0,0 +1,326 @@ +-- ============================================= +-- AUTHOR: ALESSANDRO TRINGALI +-- CREATE DATE: 18 SETTEMBRE 2009 +-- DESCRIPTION: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ALL_PATRIMONIO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MARTPERIODICO].GETIDELAB() + -- LOG ESECUZIONE + INSERT INTO LOG_ESECUZIONE + (NOME, INIZIO, NOTA) + VALUES ( + 'DM_ALL_PATRIMONIO', + GETDATE(), + 'ELABORAZIONE TRIMESTRALE' + ) + TRUNCATE TABLE [C6MartPeriodico].[ALL_PATRIMONIO] + INSERT INTO [C6MARTPERIODICO].[ALL_PATRIMONIO] + ( + [CODICE_FISCALE] + ,[RETE] + ,[POSITIONID] + ,[CATALOGUENAME] + ,[CATALOGUEID] + ,[COD_ADEGUATEZZA] + ,[INTERMEDIARIO] + ,[PATRIMONIO_INTERMEDIARIO] + ,[EMITTENTE] + ,[PATRIMONIO_EMITTENTE] + ,[COMPLESSITA] + ,[TIPO_PRODOTTO] + ,[CONTROVALORE_PRODOTTO] + ,[AZ_OB] + ,[PATRIMONIO_AZ_OB_EMIT] + ,[PATRIM_AZ_OB_EMIT_INTER] + ,[PATRIMONIO_COMPLESSIVO] + ,[CHIAVE_THR] + ) +SELECT + CODICE_FISCALE, + RETE, + POSITIONID, + DATI.CATALOGUENAME, + CAT.CATALOGUEID, + CASE + WHEN ADEGUATEZZA IS NULL + THEN CAT.COD_ADEGUATEZZA + ELSE ADEGUATEZZA + END AS COD_ADEGUATEZZA, + INTERMEDIARIO, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,INTERMEDIARIO) AS PATRIMONIO_INTERMEDIARIO, + EMIT.DESCR AS EMITTENTE, + CASE + WHEN EMIT.DESCR IS NULL THEN NULL + ELSE SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,EMIT.DESCR) + END AS PATRIMONIO_EMITTENTE, + CAT.COMPLEX AS COMPLESSITA, + CAT.TIPOPRODOTTO, + CONTROVALORE AS CONTROVALORE_PRODOTTO, + CASE WHEN CAT.STRTYPE IS NULL + THEN AZ_OB + ELSE CAT.STRTYPE + END AS AZ_OB, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,CASE WHEN CAT.STRTYPE IS NULL THEN AZ_OB ELSE CAT.STRTYPE END,EMIT.DESCR) AS PATRIMONIO_AZ_OB_EMIT, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,INTERMEDIARIO,CASE WHEN CAT.STRTYPE IS NULL THEN AZ_OB ELSE CAT.STRTYPE END,EMIT.DESCR, POSITIONID) AS PATRIM_AZ_OB_EMIT_INTER, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE) AS PATRIMONIO_COMPLESSIVO, + CHIAVE_THR + FROM ( + SELECT NULL AS AGENTE, + C.RETE, + C.CODICE_FISCALE, + C.CATALOGUENAME, + C.CONTROVALORE, + 'BF' AS INTERMEDIARIO, + SUBSTRING(C.STRINGONA_POS, 1, 57) AS CATALOGUEID, + C.STRINGONA_POS AS POSITIONID, + NULL AS ADEGUATEZZA, + 'BF' AS PROVENIENZA, + NULL AZ_OB, + '' AS CHIAVE_THR + FROM C6STAGINGPERIODICO.ALL_CONSUL_ASUL C + union all + SELECT agente, + substring(agente,1,1) as rete, + codicefiscale as codice_FISCALE, + nome_prodotto as cataloguename, + SUM(controvalore) AS controvalore, + intermediario, + case when codiceisin = '' then '############' else codiceisin + replicate(' ', 12-len(codiceisin)) end + + + case when codicemaf = '' then '###############' else codicemaf + replicate(' ', 15-len(codicemaf)) end + + + case when codiceinterno = '' then '###############' else codiceinterno + replicate(' ', 15-len(codiceinterno)) end + + + case when codicesottoprodotto = '' then '###############' else codicesottoprodotto + replicate(' ', 15-len(codicesottoprodotto)) end + as catalogueid, + null as positionid, + codiceadeguatezza as ADEGUATEZZA , + 'PPT' as provenienza, + --alberatura, + case + when substring( alberatura,1,13)='Amm.Titoli.Ob' + OR substring( alberatura,1,15)='Amm.Strutturati' + then 'OB' + when substring( alberatura,1,17)='Amm.Titoli.Azioni' + OR substring( alberatura,1,18)='Amm.Titoli.Diritti' + OR substring( alberatura,1,20)='Amm.Derivati.Warrant' + OR substring( alberatura,1,19)='Amm.Derivati.CovWar' + then 'AZ' + else null + end as az_ob, + CHIAVE_THR + FROM (SELECT cf_e_pb.agente AS agente, + cf_e_pb.codice_fiscale AS codicefiscale, + nome_istituto AS intermediario, + SUM(paTRIMonio) AS controvalore, + REPLACE(codice_isin, '$', '') AS codiceisin, + REPLACE(codice_adeguatezza, '$', '') AS codiceadeguatezza, + REPLACE(codice_maf, '$', '') AS codicemaf, + REPLACE(codice_interno, '$', '') AS codiceinterno, + REPLACE(codice_sottoprodotto, + '$', + '' ) AS codicesottoprodotto, + CASE + WHEN traduz_alberat.albero_gerarchia_3 = + 'Conti correnti' AND + tipo_prodotto = + 'Assets.FinancialAssets.CurrentAccount' THEN + 'Cc' + ELSE + 'xxx' + END AS need_si_o_no_cc, + provenienza, + CASE + WHEN provenienza = 'dati NON in catalogo' THEN + 1 + ELSE + 0 + END AS prodotti_non_in_catalogo, + tipo_prodotto, + nome_prodotto, + alberatura, + CHIAVE_THR + FROM ( + -- asset per dati NON in catalogo + SELECT aa.paTRIMonio, + aa.chiave_cliente, + aa.nome_istituto, + bb.codice_isin, + bb.codice_adeguatezza, + bb.codice_maf, + NULL AS codice_interno, + NULL AS codice_sottoprodotto, + aa.alberatura, + aa.provenienza, + tipo_prodotto, + nomeprodotto AS nome_prodotto, + CHIAVE_THR + FROM (SELECT patr_tp.paTRIMonio_terzi * + acb.bdpercentage AS paTRIMonio, + patr_tp.chiave_per_cliente AS chiave_cliente, + patr_tp.intermediario AS nome_istituto, + ass.assetclassid, + substring(patr_tp.descrizione_alberatura, + 1, + 45) AS alberatura, + 'dati NON in catalogo' AS provenienza, + patr_tp.descrizione_prodotto AS tipo_prodotto, + patr_tp.nomeprodotto, + CHIAVE_THR + FROM c6stagingperiodico.All_patr_terzi_senza_asset patr_tp, + c6stagingperiodico.acbdenoth acb, + c6stagingperiodico.assetclass ass + WHERE ass.assetclasslev = 2 + AND patr_tp.prodotto_in_catalogo IS NULL + AND patr_tp.chiave_fnc IS NOT NULL + AND acb.f_pfinancial_815c0 = patr_tp.chiave_fnc + AND acb.f_oid$_passe_cdf1a = ass.oid$ + ) aa, + c6stagingperiodico.all_asset_class_per_promet bb + WHERE bb.codice_asset_class_ingresso = aa.assetclassid + UNION ALL + -- asset per dati in catalogo che hanno cod_adeguatezza valorizzato + SELECT patr_tp.paTRIMonio_terzi AS paTRIMonio, + patr_tp.chiave_per_cliente AS chiave_cliente, + patr_tp.intermediario AS nome_istituto, + cat.cod_isin, + cat.cod_adeguatezza, + cat.cod_maf, + cat.cod_interno, + cat.cod_sottoprodotto, + substring(cat.type$_bcatal_fc317, 64, 45) AS alberatura, + 'dati in catalogo che hanno cod_adeguatezza valorizzato' AS provenienza, + patr_tp.descrizione_prodotto AS tipo_prodotto, + patr_tp.nomeprodotto, + CHIAVE_THR + FROM c6stagingperiodico.all_patr_terzi_senza_asset patr_tp, + c6stagingperiodico.catitemref cat + WHERE patr_tp.chiave_fnc IS NOT NULL + AND cat.cod_adeguatezza != '$' + AND patr_tp.prodotto_in_catalogo = cat.catalogueid + UNION ALL + SELECT a.paTRIMonio, + a.chiave_cliente, + a.nome_istituto, + b.codice_isin, + b.codice_adeguatezza, + b.codice_maf, + NULL AS codice_interno, + NULL AS codice_sottoprodotto, + a.alberatura, + a.provenienza, + tipo_prodotto, + nomeprodotto AS nome_prodotto, + CHIAVE_THR + FROM ( + -- ASSET ESISTENTI PER DATI DEL CATALOGO CON ADEGUATEZZA A NULL + SELECT PATR_TP.PATRIMONIO_TERZI * + ACB.BDPERCENTAGE AS PATRIMONIO, + PATR_TP.CHIAVE_PER_CLIENTE AS CHIAVE_CLIENTE, + PATR_TP.INTERMEDIARIO AS NOME_ISTITUTO, + LTRIM(ASS.ASSETCLASSID) AS ASSETCLASSID, + ASS.ASSETCLASSLEV, + SUBSTRING(CAT.TYPE$_BCATAL_FC317, 64, 45) AS ALBERATURA, + 'DATI IN CATALOGO CHE HANNO COD_ADEGUATEZZA A NULL E ASSET VALORIZZATO' AS PROVENIENZA, + PATR_TP.DESCRIZIONE_PRODOTTO AS TIPO_PRODOTTO, + PATR_TP.NOMEPRODOTTO, + patr_tp.CHIAVE_THR + FROM C6STAGINGPERIODICO.ASSETCLASS ASS, + C6STAGINGPERIODICO.ALL_PATR_TERZI_SENZA_ASSET PATR_TP, + C6STAGINGPERIODICO.CATITEMREF CAT, + C6STAGINGPERIODICO.INSTRBDS INS, + C6STAGINGPERIODICO.ACBDENTRY ACB + WHERE CAT.COD_ADEGUATEZZA = '$' + AND ASS.ASSETCLASSLEV = 2 + AND PATR_TP.PRODOTTO_IN_CATALOGO = CAT.CATALOGUEID + AND PATR_TP.CHIAVE_FNC IS NOT NULL + AND CAT.OID$ = INS.F_OID$_PCATA_5DDA6 + AND INS.OID$ = ACB.F_PINSTRUMEN_FBCDE + AND ACB.F_OID$_PASSE_B8A1E = ASS.OID$ + UNION ALL + -- ASSET NON ESISTENTI PER DATI DEL CATALOGO CON ADEGUATEZZA A NULL (SETTATI AD ALTRO PER CONVENZIONE) + SELECT PATR_TP.PATRIMONIO_TERZI AS PATRIMONIO, + PATR_TP.CHIAVE_PER_CLIENTE AS CHIAVE_CLIENTE, + PATR_TP.INTERMEDIARIO AS NOME_ISTITUTO, + 'AL1' AS ASSETCLASSID, + 2, + SUBSTRING(CAT.TYPE$_BCATAL_FC317, 64, 45) AS ALBERATURA, + 'DATI IN CATALOGO CHE HANNO COD_ADEGUATEZZA A NULL E ASSET NON VALORIZZATO', + PATR_TP.DESCRIZIONE_PRODOTTO AS TIPO_PRODOTTO, + PATR_TP.NOMEPRODOTTO, + patr_tp.CHIAVE_THR + FROM C6STAGINGPERIODICO.ALL_PATR_TERZI_SENZA_ASSET PATR_TP, + C6STAGINGPERIODICO.CATITEMREF CAT, + C6STAGINGPERIODICO.INSTRBDS INS + WHERE CAT.COD_ADEGUATEZZA = '$' + AND PATR_TP.CHIAVE_FNC IS NOT NULL + AND PATR_TP.PRODOTTO_IN_CATALOGO = CAT.CATALOGUEID + AND CAT.OID$ = INS.F_OID$_PCATA_5DDA6 --(+) + AND INS.F_OID$_PCATA_5DDA6 IS NULL + ) A, + C6STAGINGPERIODICO.ALL_ASSET_CLASS_PER_PROMET B + WHERE B.CODICE_ASSET_CLASS_INGRESSO = A.ASSETCLASSID + ) patrimonio_PT, + C6STAGINGPERIODICO.ALL_CF_PB CF_E_PB, + C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3 TRADUZ_ALBERAT + WHERE CF_E_PB.OID = patrimonio_PT.CHIAVE_CLIENTE + AND TRADUZ_ALBERAT.DESCRIZIONE_ORIGINALE = patrimonio_PT.ALBERATURA + GROUP BY CF_E_PB.AGENTE, + CF_E_PB.CODICE_FISCALE, + NOME_ISTITUTO, + REPLACE(codice_isin, '$', ''), + REPLACE(codice_adeguatezza, + '$', + '' + ), + REPLACE(codice_maf, '$', ''), + REPLACE(codice_interno, '$', ''), + REPLACE(codice_sottoprodotto, + '$', + '' + ), + PROVENIENZA, + TRADUZ_ALBERAT.ALBERO_GERARCHIA_3, + TIPO_PRODOTTO, + NOME_PRODOTTO, + ALBERATURA, + CHIAVE_THR) TUTTO_PPT + GROUP BY AGENTE, + CODICEFISCALE, + INTERMEDIARIO, + NOME_PRODOTTO, + CODICEISIN, + CODICEADEGUATEZZA, + CODICEMAF, + CODICEINTERNO, + CODICESOTTOPRODOTTO, + PRODOTTI_NON_IN_CATALOGO, + ALBERATURA, + CHIAVE_THR + ) DATI, + C6STAGINGPERIODICO.CATITEMREF CAT, + C6STAGINGPERIODICO.EMIT + WHERE CAT.CATALOGUEID = DATI.CATALOGUEID + AND CAT.CODEMI = EMIT.CODEMI + -- LOG ESECUZIONE + UPDATE + LOG_ESECUZIONE + SET + FINE = GETDATE(), + TIPO = 'INSERT', + RIGHE = @@ROWCOUNT + WHERE + NOME = 'DM_ALL_PATRIMONIO' AND + INIZIO = ( + SELECT + MAX(INIZIO) + FROM + LOG_ESECUZIONE + WHERE + NOME = 'DM_ALL_PATRIMONIO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CC.sql b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CC.sql new file mode 100644 index 00000000..9a3cc4e4 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CC.sql @@ -0,0 +1,82 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CC] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CC', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[ANAG_CC] + INSERT INTO [C6MartPeriodico].[ANAG_CC] + ([RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDOCONTABILE] + ,[SALDODISPONIBILE] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + CONTR_SINTESI.RETE AS RETE, + CONTR_SINTESI.CODFIS AS COD_FISCALE, + 'FIDEURAM' AS INTERMEDIARIO, + NULL AS COINTEST, + CONTR_SINTESI.CONTO AS COD_CC, + '' AS FASCIA_CPP, + CONTR_SINTESI.CTV AS SALDOCONTABILE, + CONTR_SINTESI.SALRISC AS SALDODISPONIBILE, + --CONTR_SINTESI.DATADISOTTOSCRIZIONE AS DATA_APERTURA, + CAST(CAST(CONTR_SINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME) AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI AS CONTR_SINTESI + WHERE + CONTR_SINTESI.TIPPROD = 'Cc' + -- FerAcu 20240116 risolvere duplicazioni + and not (CODFIS = 'NFRDNL84L30D612S' and CONTO = '00166487247' and RETE = 'F' and CODINT = 'VP') + and not (CODFIS = 'CRLNTN57R17G273H' and CONTO = '00167278823' and RETE = 'F' and CODINT = '91') + and not (CODFIS = 'CNOGRG38D23A271O' and CONTO = '00166129502' and RETE = 'F' and CODINT = '91') + and not (CODFIS = 'NDRGNN42L59D704K' and CONTO = '00166139788' and RETE = 'F' and CODINT = '91') + and not (CODFIS = 'FRRGRL57M24B885X' and CONTO = '00166050608' and RETE = 'F' and CODINT = '91') + and not (CODFIS = 'LNRFRC79R18F401E' and CONTO = '00167389552' and RETE = 'F' and CODINT = '91') + and not (CODFIS = 'VIEPRZ64D63D612I' and CONTO = '00166403317' and RETE = 'F' and CODINT = '91') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_ANAG_CC' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CC_TERZI.sql b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CC_TERZI.sql new file mode 100644 index 00000000..b977e91a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CC_TERZI.sql @@ -0,0 +1,71 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CC_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CC_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CC_TERZI + INSERT INTO [C6MartPeriodico].[ANAG_CC_TERZI] + ([RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDO] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB]) + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + NULL AS COINTEST, + ALL_PATR_TERZI.NOMEPRODOTTO AS COD_CC, + CONTRATTOSEI.FASCIA_CPP AS FASCIA_CPP, + ALL_PATR_TERZI.PATRIMONIO_TERZI AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + LEFT JOIN + C6Mart.CONTRATTOSEI + ON + CONTRATTOSEI.COD_FISCALE = ALL_PATR_TERZI.CODICE_FISCALE + AND CONTRATTOSEI.RETE = ALL_PATR_TERZI.RETE_PB + WHERE + ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_FNC + AND DESCRIZIONE_PRODOTTO LIKE '%CURRENTACCOUNT%' + AND DESCRIZIONE_ALBERATURA LIKE '%CONTICORRENTI%' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CC_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CC_TERZI_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CC_TERZI_pre_selective.sql new file mode 100644 index 00000000..61871451 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CC_TERZI_pre_selective.sql @@ -0,0 +1,71 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CC_TERZI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CC_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CC_TERZI + INSERT INTO [C6MartPeriodico].[ANAG_CC_TERZI] + ([RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDO] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB]) + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + NULL AS COINTEST, + ALL_PATR_TERZI.NOMEPRODOTTO AS COD_CC, + CONTRATTOSEI.FASCIA_CPP AS FASCIA_CPP, + ALL_PATR_TERZI.PATRIMONIO_TERZI AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + LEFT JOIN + C6Mart.CONTRATTOSEI + ON + CONTRATTOSEI.COD_FISCALE = ALL_PATR_TERZI.CODICE_FISCALE + AND CONTRATTOSEI.RETE = ALL_PATR_TERZI.RETE_PB + WHERE + ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_FNC + AND DESCRIZIONE_PRODOTTO LIKE '%CURRENTACCOUNT%' + AND DESCRIZIONE_ALBERATURA LIKE '%CONTICORRENTI%' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CC_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CC_TERZI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CC_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CC_pre_selective.sql new file mode 100644 index 00000000..0667fe07 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CC_pre_selective.sql @@ -0,0 +1,74 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CC_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CC_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[ANAG_CC] + INSERT INTO [C6MartPeriodico].[ANAG_CC] + ([RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDOCONTABILE] + ,[SALDODISPONIBILE] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + CONTR_SINTESI.RETE AS RETE, + CONTR_SINTESI.CODFIS AS COD_FISCALE, + 'FIDEURAM' AS INTERMEDIARIO, + NULL AS COINTEST, + CONTR_SINTESI.CONTO AS COD_CC, + '' AS FASCIA_CPP, + CONTR_SINTESI.CTV AS SALDOCONTABILE, + CONTR_SINTESI.SALRISC AS SALDODISPONIBILE, + --CONTR_SINTESI.DATADISOTTOSCRIZIONE AS DATA_APERTURA, + CAST(CAST(CONTR_SINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME) AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI AS CONTR_SINTESI + WHERE + CONTR_SINTESI.TIPPROD = 'Cc' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CC_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CC_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CLIENTI.sql b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CLIENTI.sql new file mode 100644 index 00000000..5f724a25 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CLIENTI.sql @@ -0,0 +1,221 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CLIENTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE_PB AS RETE, + AL.CODICEFISCALE AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOME)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOME)) AS COGNOME, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libero' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libera' + ELSE NULL + END AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + NULL AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.CODICE_PB AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN2 CL + ON CL.RETE = AL.RETE_PB + AND ( ltrim(rtrim(CL.CODFIS)) = AL.CODICEFISCALE) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 + ) and Al.codicefiscale not like '%@%' + union + SELECT + AL.RETE_PB AS RETE, + AL.CODICEFISCALE AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOME)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOME)) AS COGNOME, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libero' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libera' + ELSE NULL + END AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + NULL AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.CODICE_PB AS ID_PROMOTORE , + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN2 CL + ON CL.RETE = AL.RETE_PB + AND ( CL.CODMAN = substring(AL.CODICEFISCALE,4,4)) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 + ) and Al.codicefiscale like '%@%' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CLIENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CLIENTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql new file mode 100644 index 00000000..a5469e76 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql @@ -0,0 +1,143 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE_PB AS RETE, + AL.CODICEFISCALE AS COD_FISCALE, + AL.NOME AS NOME, + AL.COGNOME AS COGNOME, + AL.DATA_NASCITA AS DATA_NASCITA, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libero' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libera' + ELSE NULL + END AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(AL.DATA_NASCITA) AS ETA, + NULL AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(C6.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(C6.CITTA, '') AS LOCALITA, + ISNULL(C6.PROV, '') AS PROVINCIA, + ISNULL(C6.CAP, '') AS CAP, + ISNULL(C6.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + NULL AS SESSO, + AL.CODICE_PB AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB AL + LEFT JOIN + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, INDIRIZZO, CITTA, PROV, CAP, NAZIONE, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6Mart.CONTRATTOSEI) C6 + ON AL.RETE_PB = C6.RETE + AND AL.CODICEFISCALE = C6.COD_FISCALE + WHERE + --C6.Data_FINEAvanzato IS NULL + ISNULL(C6.Data_FineAvanzato, CAST('99991231' AS datetime)) > cast(c6martperiodico.getPreviousTrimestre(getDate(),0) as datetime)--CAST('20100930' AS datetime)) + AND C6.UltimoAperto = 1 +/* +LEFT JOIN C6STAGINGPERIODICO.WSEIAN CL + ON CL.RETE = AL.RETE_PB + AND CL.CODFIS = AL.CODICEFISCALE + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN + ) +*/ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CLIENTI_PREV.sql b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CLIENTI_PREV.sql new file mode 100644 index 00000000..e3c7e3f3 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CLIENTI_PREV.sql @@ -0,0 +1,60 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CLIENTI_PREV] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + TRUNCATE TABLE C6MARTPERIODICO.ANAG_CLIENTI_PREV; + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI_PREV] + ([RETE] + ,[COD_FISCALE] + ,[STATO_LAVORATIVO] + ,[PROFESSIONE] + ,[CAT_PROFESSIONALE] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[RETRIB_LORDA] + ,[PROFESSIONE_SEC] + ,[CAT_PROFESSIONALE_SEC] + ,[DATA_INIZIO_SEC] + ,[DATA_FINE_SEC] + ,[RETRIB_LORDA_SEC] + ,[PROFESSIONE_PREC] + ,[CAT_PROFESSIONALE_PREC] + ,[DATA_INIZIO_PREC] + ,[DATA_FINE_PREC] + ,[RETRIB_LORDA_PREC] + ,[RICONGIUNZIONE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SUBSTRING(ALL_CF_PB.RETE_PB,1,1) AS RETE, + SUBSTRING(ALL_CF_PB.CODICE_FISCALE,1,16) AS COD_FISCALE, + NULL AS STATO_LAVORATIVO, + NULL AS PROFESSIONE, + NULL AS CAT_PROFESSIONALE, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS RETRIB_LORDA, + NULL AS PROFESSIONE_SEC, + NULL AS CAT_PROFESSIONALE_SEC, + NULL AS DATA_INIZIO_SEC, + NULL AS DATA_FINE_SEC, + NULL AS RETRIB_LORDA_SEC, + NULL AS PROFESSIONE_PREC, + NULL AS CAT_PROFESSIONALE_PREC, + NULL AS DATA_INIZIO_PREC, + NULL AS DATA_FINE_PREC, + NULL AS RETRIB_LORDA_PREC, + NULL AS RICONGIUNZIONE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CLIENTI_PREV_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CLIENTI_PREV_pre_selective.sql new file mode 100644 index 00000000..3921bae9 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CLIENTI_PREV_pre_selective.sql @@ -0,0 +1,60 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CLIENTI_PREV_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + TRUNCATE TABLE C6MARTPERIODICO.ANAG_CLIENTI_PREV; + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI_PREV] + ([RETE] + ,[COD_FISCALE] + ,[STATO_LAVORATIVO] + ,[PROFESSIONE] + ,[CAT_PROFESSIONALE] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[RETRIB_LORDA] + ,[PROFESSIONE_SEC] + ,[CAT_PROFESSIONALE_SEC] + ,[DATA_INIZIO_SEC] + ,[DATA_FINE_SEC] + ,[RETRIB_LORDA_SEC] + ,[PROFESSIONE_PREC] + ,[CAT_PROFESSIONALE_PREC] + ,[DATA_INIZIO_PREC] + ,[DATA_FINE_PREC] + ,[RETRIB_LORDA_PREC] + ,[RICONGIUNZIONE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SUBSTRING(ALL_CF_PB.RETE_PB,1,1) AS RETE, + SUBSTRING(ALL_CF_PB.CODICE_FISCALE,1,16) AS COD_FISCALE, + NULL AS STATO_LAVORATIVO, + NULL AS PROFESSIONE, + NULL AS CAT_PROFESSIONALE, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS RETRIB_LORDA, + NULL AS PROFESSIONE_SEC, + NULL AS CAT_PROFESSIONALE_SEC, + NULL AS DATA_INIZIO_SEC, + NULL AS DATA_FINE_SEC, + NULL AS RETRIB_LORDA_SEC, + NULL AS PROFESSIONE_PREC, + NULL AS CAT_PROFESSIONALE_PREC, + NULL AS DATA_INIZIO_PREC, + NULL AS DATA_FINE_PREC, + NULL AS RETRIB_LORDA_PREC, + NULL AS RICONGIUNZIONE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CLIENTI_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CLIENTI_pre_selective.sql new file mode 100644 index 00000000..bfeb712c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_CLIENTI_pre_selective.sql @@ -0,0 +1,221 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CLIENTI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CLIENTI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE_PB AS RETE, + AL.CODICEFISCALE AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOME)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOME)) AS COGNOME, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libero' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libera' + ELSE NULL + END AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + NULL AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.CODICE_PB AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN2 CL + ON CL.RETE = AL.RETE_PB + AND ( ltrim(rtrim(CL.CODFIS)) = AL.CODICEFISCALE) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 + ) and Al.codicefiscale not like '%@%' + union + SELECT + AL.RETE_PB AS RETE, + AL.CODICEFISCALE AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOME)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOME)) AS COGNOME, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libero' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libera' + ELSE NULL + END AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + NULL AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.CODICE_PB AS ID_PROMOTORE , + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN2 CL + ON CL.RETE = AL.RETE_PB + AND ( CL.CODMAN = substring(AL.CODICEFISCALE,4,4)) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 + ) and Al.codicefiscale like '%@%' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CLIENTI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CLIENTI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI.sql b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI.sql new file mode 100644 index 00000000..c94b852f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI.sql @@ -0,0 +1,102 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PRODOTTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].ANAG_PRODOTTI + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI] + ([COD_PRODOTTO] + ,[COD_ISIN] + ,[PAESE] + ,[ID_AREA] + ,[CAT_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[COD_MAF] + ,[RATING] + ,[COD_ADEGUATEZZA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[DT_SCADENZA] + ,[TIPO_TASSO] + ,[TIPO_EMITTENTE] + ,[FLG_OB] + ) + SELECT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + CATITEMREF.COD_ISIN AS COD_ISIN, + CATITEMREF.COUNTRY AS PAESE, + '' AS ID_AREA, + (SELECT CASE SUBSTRING(CATITEMREF.TYPE$_BCATAL_FC317,64,3) + WHEN 'Ges' THEN 'Gestito Finanziario' + WHEN 'Amm' THEN 'Amministrato' + WHEN 'Ass' THEN 'Assicurativo' + END) AS CAT_PRODOTTO, + CATITEMREF.TIPOPRODOTTO AS TIPO_PRODOTTO, + CATITEMREF.CATALOGUENAME AS DESCR_PRODOTTO, + CATITEMREF.PRODUCTCURRENCY AS DIV_QUOTAZIONE, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + CATITEMREF.PIAZZA AS MERCATO_CONTRATT, + CATITEMREF.COD_MAF AS COD_MAF, + CATITEMREF.RATOBBLIG AS RATING, + CATITEMREF.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + CATITEMREF.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + CATITEMREF.COD_INTERNO AS COD_INTERNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CATITEMREF.expirationdate AS DT_SCADENZA, + CASE + WHEN CATITEMREF.TIP_TASSO = '0 CPN' THEN 'Zero Coupon' + ELSE CATITEMREF.TIP_TASSO + END AS TIPO_TASSO, + CATITEMREF.TIP_EMITTENTE AS TIPO_EMITTENTE, + CASE WHEN TYPE$_BCATAL_FC317 like '%.Titoli.Ob%' THEN 'S' + ELSE 'N' + END AS FLG_OB + FROM C6STAGINGPERIODICO.CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(OID$) AS OID + FROM C6STAGINGPERIODICO.CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.OID$ = DOPPICATITEMREF.OID + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI.sql b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI.sql new file mode 100644 index 00000000..83339d8b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI.sql @@ -0,0 +1,74 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PRODOTTI_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_PRODOTTI_TERZI + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_TERZI] + ([COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[NOME_PRODOTTO] + ,[ALBERO_PRODOTTI] + ,[COD_ISIN] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[INTERMEDIARIO] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[PAESE] + ,[RATING] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO AS COD_PRODOTTO, + ALL_PATR_TERZI.CHIAVE_THR AS COD_PRODOTTO_TERZI, + ALL_PATR_TERZI.NOMEPRODOTTO AS NOME_PRODOTTO, + ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA AS ALBERO_PRODOTTI, + NULL AS COD_ISIN, + ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO AS DESCR_PRODOTTO, + NULL AS DIV_QUOTAZIONE, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + NULL AS PAESE, + NULL AS RATING, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI ALL_PATR_TERZI + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql new file mode 100644 index 00000000..ede51aa1 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql @@ -0,0 +1,74 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PRODOTTI_TERZI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_PRODOTTI_TERZI + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_TERZI] + ([COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[NOME_PRODOTTO] + ,[ALBERO_PRODOTTI] + ,[COD_ISIN] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[INTERMEDIARIO] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[PAESE] + ,[RATING] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO AS COD_PRODOTTO, + ALL_PATR_TERZI.CHIAVE_THR AS COD_PRODOTTO_TERZI, + ALL_PATR_TERZI.NOMEPRODOTTO AS NOME_PRODOTTO, + ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA AS ALBERO_PRODOTTI, + NULL AS COD_ISIN, + ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO AS DESCR_PRODOTTO, + NULL AS DIV_QUOTAZIONE, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + NULL AS PAESE, + NULL AS RATING, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI ALL_PATR_TERZI + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI_TERZI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE.sql b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE.sql new file mode 100644 index 00000000..0a293f17 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE.sql @@ -0,0 +1,56 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PRODOTTI_VALUTE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI_VALUTE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].ANAG_PRODOTTI_VALUTE + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_VALUTE] + SELECT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + VALUTE.DIVISA, + VALUTE.PESO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(OID$) AS OID + FROM C6STAGINGPERIODICO.CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.OID$ = DOPPICATITEMREF.OID + INNER JOIN --SELECT TOP 1 * FROM + [C6StagingPeriodico].[RDR_VALUTE_DB_DTGIORNALIERI] VALUTE + ON VALUTE.CHIAVEPRODOTTO = CATITEMREF.OID$ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI_VALUTE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI_VALUTE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql new file mode 100644 index 00000000..a8c53762 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql @@ -0,0 +1,56 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PRODOTTI_VALUTE_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI_VALUTE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].ANAG_PRODOTTI_VALUTE + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_VALUTE] + SELECT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + VALUTE.DIVISA, + VALUTE.PESO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(OID$) AS OID + FROM C6STAGINGPERIODICO.CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.OID$ = DOPPICATITEMREF.OID + INNER JOIN --SELECT TOP 1 * FROM + [C6StagingPeriodico].[RDR_VALUTE_DB_DTGIORNALIERI] VALUTE + ON VALUTE.CHIAVEPRODOTTO = CATITEMREF.OID$ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI_VALUTE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI_VALUTE_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI_pre_selective.sql new file mode 100644 index 00000000..687fa7c3 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PRODOTTI_pre_selective.sql @@ -0,0 +1,102 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PRODOTTI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].ANAG_PRODOTTI + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI] + ([COD_PRODOTTO] + ,[COD_ISIN] + ,[PAESE] + ,[ID_AREA] + ,[CAT_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[COD_MAF] + ,[RATING] + ,[COD_ADEGUATEZZA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[DT_SCADENZA] + ,[TIPO_TASSO] + ,[TIPO_EMITTENTE] + ,[FLG_OB] + ) + SELECT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + CATITEMREF.COD_ISIN AS COD_ISIN, + CATITEMREF.COUNTRY AS PAESE, + '' AS ID_AREA, + (SELECT CASE SUBSTRING(CATITEMREF.TYPE$_BCATAL_FC317,64,3) + WHEN 'Ges' THEN 'Gestito Finanziario' + WHEN 'Amm' THEN 'Amministrato' + WHEN 'Ass' THEN 'Assicurativo' + END) AS CAT_PRODOTTO, + CATITEMREF.TIPOPRODOTTO AS TIPO_PRODOTTO, + CATITEMREF.CATALOGUENAME AS DESCR_PRODOTTO, + CATITEMREF.PRODUCTCURRENCY AS DIV_QUOTAZIONE, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + CATITEMREF.PIAZZA AS MERCATO_CONTRATT, + CATITEMREF.COD_MAF AS COD_MAF, + CATITEMREF.RATOBBLIG AS RATING, + CATITEMREF.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + CATITEMREF.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + CATITEMREF.COD_INTERNO AS COD_INTERNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CATITEMREF.expirationdate AS DT_SCADENZA, + CASE + WHEN CATITEMREF.TIP_TASSO = '0 CPN' THEN 'Zero Coupon' + ELSE CATITEMREF.TIP_TASSO + END AS TIPO_TASSO, + CATITEMREF.TIP_EMITTENTE AS TIPO_EMITTENTE, + CASE WHEN TYPE$_BCATAL_FC317 like '%.Titoli.Ob%' THEN 'S' + ELSE 'N' + END AS FLG_OB + FROM C6STAGINGPERIODICO.CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(OID$) AS OID + FROM C6STAGINGPERIODICO.CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.OID$ = DOPPICATITEMREF.OID + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PROMOTORI.sql b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PROMOTORI.sql new file mode 100644 index 00000000..4b8ed463 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PROMOTORI.sql @@ -0,0 +1,111 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PROMOTORI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PROMOTORI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_PROMOTORI + INSERT INTO C6MartPeriodico.[ANAG_PROMOTORI] + ([RETE] + ,[ID_PROMOTORE] + ,[LIVELLO] + ,[COD_FISCALE] + ,[PARTITA_IVA] + ,[COGNOME] + ,[NOME] + ,[RAG_SOC] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[COD_ABI] + ,[COD_CAB] + ,[COD_CIN] + ,[COD_CC] + ,[STATO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ADS4WS_PROMOTORI.RETE AS RETE, + ADS4WS_PROMOTORI.CODICE AS ID_PROMOTORE, + 'PB' AS LIVELLO, -- TODO: DA RIMUOVERE UNA VOLTA IMPORTATI I DATI DAL SIMPB + NULL AS COD_FISCALE, + NULL AS PARTITA_IVA, + rtrim(ltrim(ADS4WS_PROMOTORI.COGNOME)) AS COGNOME, + rtrim(ltrim(ADS4WS_PROMOTORI.NOME)) AS NOME, + NULL AS RAG_SOC, + CASE WHEN ADS4WS_PROMOTORI.DataInizioCollaborazione=0 THEN NULL ELSE + CAST(CAST(ADS4WS_PROMOTORI.DataInizioCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_INIZIO, + CASE WHEN ADS4WS_PROMOTORI.DataFineCollaborazione=0 THEN NULL ELSE + CAST(CAST(ADS4WS_PROMOTORI.DataFineCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_FINE, + rtrim(ltrim(ADS4WS_PROMOTORI.INDIRIZZO)) AS INDIRIZZO, + rtrim(ltrim(ADS4WS_PROMOTORI.CITTA)) AS LOCALITA, + rtrim(ltrim(ADS4WS_PROMOTORI.PROVINCIA)) AS PROVINCIA, + rtrim(ltrim(ADS4WS_PROMOTORI.CAP)) AS CAP, + NULL AS NAZIONE, + rtrim(ltrim(ADS4WS_PROMOTORI.prefissotelefono + ADS4WS_PROMOTORI.TelefonoAgenzia1)) AS TEL_RECAPITO, + NULL AS TEL_CELL, + rtrim(ltrim(EMAIL_PB.EMAIL)) AS E_MAIL, + NULL AS COD_ABI, + NULL AS COD_CAB, + NULL AS COD_CIN, + NULL AS COD_CC, +-- CASE +-- WHEN SPB_NAC.CODICEAGENTE IS NULL THEN 'TERMINATO' +-- ELSE + CASE + WHEN PF.RETE IS NULL THEN 'ATTIVO' + ELSE 'FITTIZIO' + END +-- END + AS STATO +, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ADS4WS_PROMOTORI ADS4WS_PROMOTORI + LEFT JOIN C6MARTPERIODICO.EMAIL_PB EMAIL_PB + ON ADS4WS_PROMOTORI.RETE = EMAIL_PB.RETE + AND ADS4WS_PROMOTORI.CODICE = EMAIL_PB.CODICE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (ADS4WS_PROMOTORI.CODICE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND ADS4WS_PROMOTORI.RETE = PF.RETE + WHERE ADS4WS_PROMOTORI.STATO = 'A' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PROMOTORI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PROMOTORI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PROMOTORI_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PROMOTORI_pre_selective.sql new file mode 100644 index 00000000..03e2f3e8 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_PROMOTORI_pre_selective.sql @@ -0,0 +1,111 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PROMOTORI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PROMOTORI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_PROMOTORI + INSERT INTO C6MartPeriodico.[ANAG_PROMOTORI] + ([RETE] + ,[ID_PROMOTORE] + ,[LIVELLO] + ,[COD_FISCALE] + ,[PARTITA_IVA] + ,[COGNOME] + ,[NOME] + ,[RAG_SOC] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[COD_ABI] + ,[COD_CAB] + ,[COD_CIN] + ,[COD_CC] + ,[STATO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ADS4WS_PROMOTORI.RETE AS RETE, + ADS4WS_PROMOTORI.CODICE AS ID_PROMOTORE, + 'PB' AS LIVELLO, -- TODO: DA RIMUOVERE UNA VOLTA IMPORTATI I DATI DAL SIMPB + NULL AS COD_FISCALE, + NULL AS PARTITA_IVA, + rtrim(ltrim(ADS4WS_PROMOTORI.COGNOME)) AS COGNOME, + rtrim(ltrim(ADS4WS_PROMOTORI.NOME)) AS NOME, + NULL AS RAG_SOC, + CASE WHEN ADS4WS_PROMOTORI.DataInizioCollaborazione=0 THEN NULL ELSE + CAST(CAST(ADS4WS_PROMOTORI.DataInizioCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_INIZIO, + CASE WHEN ADS4WS_PROMOTORI.DataFineCollaborazione=0 THEN NULL ELSE + CAST(CAST(ADS4WS_PROMOTORI.DataFineCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_FINE, + rtrim(ltrim(ADS4WS_PROMOTORI.INDIRIZZO)) AS INDIRIZZO, + rtrim(ltrim(ADS4WS_PROMOTORI.CITTA)) AS LOCALITA, + rtrim(ltrim(ADS4WS_PROMOTORI.PROVINCIA)) AS PROVINCIA, + rtrim(ltrim(ADS4WS_PROMOTORI.CAP)) AS CAP, + NULL AS NAZIONE, + rtrim(ltrim(ADS4WS_PROMOTORI.prefissotelefono + ADS4WS_PROMOTORI.TelefonoAgenzia1)) AS TEL_RECAPITO, + NULL AS TEL_CELL, + rtrim(ltrim(EMAIL_PB.EMAIL)) AS E_MAIL, + NULL AS COD_ABI, + NULL AS COD_CAB, + NULL AS COD_CIN, + NULL AS COD_CC, +-- CASE +-- WHEN SPB_NAC.CODICEAGENTE IS NULL THEN 'TERMINATO' +-- ELSE + CASE + WHEN PF.RETE IS NULL THEN 'ATTIVO' + ELSE 'FITTIZIO' + END +-- END + AS STATO +, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ADS4WS_PROMOTORI ADS4WS_PROMOTORI + LEFT JOIN C6MARTPERIODICO.EMAIL_PB EMAIL_PB + ON ADS4WS_PROMOTORI.RETE = EMAIL_PB.RETE + AND ADS4WS_PROMOTORI.CODICE = EMAIL_PB.CODICE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (ADS4WS_PROMOTORI.CODICE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND ADS4WS_PROMOTORI.RETE = PF.RETE + WHERE ADS4WS_PROMOTORI.STATO = 'A' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PROMOTORI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PROMOTORI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ANAG_SELF.sql b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_SELF.sql new file mode 100644 index 00000000..95e55bbb --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_SELF.sql @@ -0,0 +1,74 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_SELF] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[ANAG_SELF] + INSERT INTO [C6MartPeriodico].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,NOMEPRODOTTO + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB] + ,CodInterno + ,CodSottoprodotto) + SELECT + SPB.RETE + ,SPB.CODFIS + ,SPB.CODCONF + ,CAT.NomeProdotto + ,SPB.CTV + ,SPB.DTSOTTOS + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + ,CodInterno + ,CodSottoprodotto + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB + inner join C6StagingPeriodico.RP_CatalogoProdotti CAT + on SPB.isin = CAT.codisin and CAT.visibilita = 1 + -- aggiunto il 17/12/2018 per gestire l'ambiguità tra GP e FO a parità di Isin + and SPB.CodInt = CAT.CodInterno + -- fine modifica + WHERE SPB.isin in ('EURO00000009', 'EURO10000007') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_ANAG_SELF' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ANAG_SELF_20181214_PreMioFoglio.sql b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_SELF_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..6501426b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_SELF_20181214_PreMioFoglio.sql @@ -0,0 +1,67 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_SELF_20181214_PreMioFoglio] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[ANAG_SELF] + INSERT INTO [C6MartPeriodico].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,NOMEPRODOTTO + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SPB.RETE + ,SPB.CODFIS + ,SPB.CODCONF + ,CAT.NomeProdotto + ,SPB.CTV + ,SPB.DTSOTTOS + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB + inner join C6StagingPeriodico.RP_CatalogoProdotti CAT + on SPB.isin = CAT.codisin and CAT.visibilita = 1 + WHERE SPB.isin in ('EURO00000009', 'EURO10000007') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_ANAG_SELF' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ANAG_SELF_BK_eligoTitoli.sql b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_SELF_BK_eligoTitoli.sql new file mode 100644 index 00000000..b693a385 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_SELF_BK_eligoTitoli.sql @@ -0,0 +1,62 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_SELF_BK_eligoTitoli] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[ANAG_SELF] + INSERT INTO [C6MartPeriodico].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + RETE + ,CODFIS + ,CODCONF + ,CTV + ,DTSOTTOS + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI + WHERE isin = 'EURO00000009' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_SELF' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ANAG_SELF_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_SELF_pre_selective.sql new file mode 100644 index 00000000..a8efbbdf --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ANAG_SELF_pre_selective.sql @@ -0,0 +1,67 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_SELF_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[ANAG_SELF] + INSERT INTO [C6MartPeriodico].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,NOMEPRODOTTO + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SPB.RETE + ,SPB.CODFIS + ,SPB.CODCONF + ,CAT.NomeProdotto + ,SPB.CTV + ,SPB.DTSOTTOS + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB + inner join C6StagingPeriodico.RP_CatalogoProdotti CAT + on SPB.isin = CAT.codisin and CAT.visibilita = 1 + WHERE SPB.isin in ('EURO00000009', 'EURO10000007') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_SELF_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_AREA_BISOGNO.sql b/sql/storedProduzione/C6MartPeriodico_DM_AREA_BISOGNO.sql new file mode 100644 index 00000000..155ade3d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_AREA_BISOGNO.sql @@ -0,0 +1,47 @@ +CREATE procedure [C6MartPeriodico].[DM_AREA_BISOGNO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + TRUNCATE TABLE C6MartPeriodico.AREA_BISOGNO + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_AREA_BISOGNO', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MartPeriodico.[AREA_BISOGNO] + ([ID_AREA] + ,[NOME_AREA] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(NEEDAREA.OID$)) AS ID_AREA, + LTRIM(RTRIM(NEEDAREA.AREANAME)) AS NOME_AREA, + NEEDAREA.AREASORTORDER AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.NEEDAREA + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_AREA_BISOGNO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_AREA_BISOGNO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_AREA_BISOGNO_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_AREA_BISOGNO_pre_selective.sql new file mode 100644 index 00000000..a86a3bc0 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_AREA_BISOGNO_pre_selective.sql @@ -0,0 +1,47 @@ +CREATE procedure [C6MartPeriodico].[DM_AREA_BISOGNO_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + TRUNCATE TABLE C6MartPeriodico.AREA_BISOGNO + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_AREA_BISOGNO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MartPeriodico.[AREA_BISOGNO] + ([ID_AREA] + ,[NOME_AREA] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(NEEDAREA.OID$)) AS ID_AREA, + LTRIM(RTRIM(NEEDAREA.AREANAME)) AS NOME_AREA, + NEEDAREA.AREASORTORDER AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.NEEDAREA + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_AREA_BISOGNO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_AREA_BISOGNO_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ASSETCLASS.sql b/sql/storedProduzione/C6MartPeriodico_DM_ASSETCLASS.sql new file mode 100644 index 00000000..8b1ff7f6 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ASSETCLASS.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSETCLASS] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSETCLASS', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].ASSETCLASS + INSERT INTO [C6MartPeriodico].[ASSETCLASS] + ([ID_ASSETCLASS] + ,[DESCRIZIONE] + ,[LIVELLO] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(ASSETCLASS.OID$)) AS ID_ASSETCLASS, + LTRIM(RTRIM(ASSETCLASS.ASSETCLASSDESCR)) AS DESCRIZIONE, + ASSETCLASS.ASSETCLASSLEV AS LIVELLO, + ASSETCLASS.ORDINE AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodico.ASSETCLASS + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSETCLASS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSETCLASS' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ASSETCLASS_TERZI.sql b/sql/storedProduzione/C6MartPeriodico_DM_ASSETCLASS_TERZI.sql new file mode 100644 index 00000000..f71a75b7 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ASSETCLASS_TERZI.sql @@ -0,0 +1,55 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSETCLASS_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + SET @TIPO_ELAB = [C6MartPeriodico].GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSETCLASS_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].ASSETCLASS_TERZI + INSERT INTO [C6MartPeriodico].[ASSETCLASS_TERZI] + ([ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_ADEGUATEZZA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + LTRIM(RTRIM(ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO)) AS ID_ASSETCLASS, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN,'$'))) AS COD_ISIN, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF,'$'))) AS COD_MAF, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA,'$'))) AS COD_ADEGUATEZZA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.ALL_ASSET_CLASS_PER_PROMET + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSETCLASS_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSETCLASS_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ASSETCLASS_TERZI_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_ASSETCLASS_TERZI_pre_selective.sql new file mode 100644 index 00000000..9a356938 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ASSETCLASS_TERZI_pre_selective.sql @@ -0,0 +1,55 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSETCLASS_TERZI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + SET @TIPO_ELAB = [C6MartPeriodico].GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSETCLASS_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].ASSETCLASS_TERZI + INSERT INTO [C6MartPeriodico].[ASSETCLASS_TERZI] + ([ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_ADEGUATEZZA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + LTRIM(RTRIM(ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO)) AS ID_ASSETCLASS, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN,'$'))) AS COD_ISIN, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF,'$'))) AS COD_MAF, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA,'$'))) AS COD_ADEGUATEZZA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.ALL_ASSET_CLASS_PER_PROMET + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSETCLASS_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSETCLASS_TERZI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ASSETCLASS_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_ASSETCLASS_pre_selective.sql new file mode 100644 index 00000000..f44df965 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ASSETCLASS_pre_selective.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSETCLASS_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSETCLASS_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].ASSETCLASS + INSERT INTO [C6MartPeriodico].[ASSETCLASS] + ([ID_ASSETCLASS] + ,[DESCRIZIONE] + ,[LIVELLO] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(ASSETCLASS.OID$)) AS ID_ASSETCLASS, + LTRIM(RTRIM(ASSETCLASS.ASSETCLASSDESCR)) AS DESCRIZIONE, + ASSETCLASS.ASSETCLASSLEV AS LIVELLO, + ASSETCLASS.ORDINE AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodico.ASSETCLASS + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSETCLASS_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSETCLASS_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ASSET_PERC.sql b/sql/storedProduzione/C6MartPeriodico_DM_ASSET_PERC.sql new file mode 100644 index 00000000..23309dcd --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ASSET_PERC.sql @@ -0,0 +1,76 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSET_PERC] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSET_PERC', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[ASSET_PERC] + INSERT INTO [C6MartPeriodico].[ASSET_PERC] + ([COD_PRODOTTO] + ,[ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[LIVELLO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + LTRIM(RTRIM(ACBDENTRY.F_OID$_PASSE_B8A1E)) AS ID_ASSETCLASS, + CATITEMREF.COD_ISIN AS COD_ISIN, + CATITEMREF.COD_MAF AS COD_MAF, + CATITEMREF.COD_INTERNO AS COD_INTERNO, + CATITEMREF.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + LTRIM(RTRIM(ASSETCLASS.ASSETCLASSLEV)) AS LIVELLO, + LTRIM(RTRIM(ACBDENTRY.BDPERCENTAGE)) AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.CATITEMREF + INNER JOIN + C6StagingPeriodico.INSTRBDS + ON + INSTRBDS.F_OID$_PCATA_5DDA6 = CATITEMREF.OID$ + INNER JOIN + C6StagingPeriodico.ACBDENTRY + ON + ACBDENTRY.F_PINSTRUMEN_FBCDE = INSTRBDS.OID$ + INNER JOIN + C6StagingPeriodico.ASSETCLASS + ON + ASSETCLASS.OID$ = ACBDENTRY.F_OID$_PASSE_B8A1E + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSET_PERC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSET_PERC' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ASSET_PERC_TERZI.sql b/sql/storedProduzione/C6MartPeriodico_DM_ASSET_PERC_TERZI.sql new file mode 100644 index 00000000..caaa3873 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ASSET_PERC_TERZI.sql @@ -0,0 +1,79 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSET_PERC_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + SET @TIPO_ELAB = [C6MartPeriodico].GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSET_PERC_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[ASSET_PERC_TERZI] + INSERT INTO [C6MartPeriodico].[ASSET_PERC_TERZI] + ([COD_PRODOTTO_TERZI] + ,[ID_ASSETCLASS] + ,[LIVELLO] + ,[NOME_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + PATR_TP.CHIAVE_THR AS COD_PRODOTTO_TERZI, + ASS.OID$ AS ID_ASSETCLASS, + ASS.ASSETCLASSLEV AS LIVELLO, + CONVERT( VARCHAR(50),PATR_TP.NOMEPRODOTTO) AS NOME_PRODOTTO, + ALBERO.ALBERO_GERARCHIA_3 AS TIPO_PRODOTTO, + ACB.BDPERCENTAGE AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI PATR_TP, + C6StagingPeriodico.ACBDENOTH ACB, + C6StagingPeriodico.ASSETCLASS ASS, + C6StagingPeriodico.S4_S5_S13_TRAD_UNTIL_LIV3 ALBERO + WHERE 1 = 1 + AND PATR_TP.CHIAVE_FNC IS NOT NULL + AND ALBERO.DESCRIZIONE_ORIGINALE = PATR_TP.DESCRIZIONE_ALBERATURA + AND ACB.F_PFINANCIAL_815C0 = PATR_TP.CHIAVE_FNC + AND ACB.F_OID$_PASSE_CDF1A = ASS.OID$ + AND ASS.ASSETCLASSLEV IN (1,2) + AND PATR_TP.PRODOTTO_IN_CATALOGO IS NULL + GROUP BY + PATR_TP.CHIAVE_THR, + PATR_TP.NOMEPRODOTTO, + ASS.OID$, + ASS.ASSETCLASSLEV, + ALBERO.ALBERO_GERARCHIA_3, + ACB.BDPERCENTAGE, + ACB.OID$ + ORDER BY 2,4 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSET_PERC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSET_PERC_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ASSET_PERC_TERZI_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_ASSET_PERC_TERZI_pre_selective.sql new file mode 100644 index 00000000..0213abcb --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ASSET_PERC_TERZI_pre_selective.sql @@ -0,0 +1,79 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSET_PERC_TERZI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + SET @TIPO_ELAB = [C6MartPeriodico].GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSET_PERC_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[ASSET_PERC_TERZI] + INSERT INTO [C6MartPeriodico].[ASSET_PERC_TERZI] + ([COD_PRODOTTO_TERZI] + ,[ID_ASSETCLASS] + ,[LIVELLO] + ,[NOME_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + PATR_TP.CHIAVE_THR AS COD_PRODOTTO_TERZI, + ASS.OID$ AS ID_ASSETCLASS, + ASS.ASSETCLASSLEV AS LIVELLO, + CONVERT( VARCHAR(50),PATR_TP.NOMEPRODOTTO) AS NOME_PRODOTTO, + ALBERO.ALBERO_GERARCHIA_3 AS TIPO_PRODOTTO, + ACB.BDPERCENTAGE AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI PATR_TP, + C6StagingPeriodico.ACBDENOTH ACB, + C6StagingPeriodico.ASSETCLASS ASS, + C6StagingPeriodico.S4_S5_S13_TRAD_UNTIL_LIV3 ALBERO + WHERE 1 = 1 + AND PATR_TP.CHIAVE_FNC IS NOT NULL + AND ALBERO.DESCRIZIONE_ORIGINALE = PATR_TP.DESCRIZIONE_ALBERATURA + AND ACB.F_PFINANCIAL_815C0 = PATR_TP.CHIAVE_FNC + AND ACB.F_OID$_PASSE_CDF1A = ASS.OID$ + AND ASS.ASSETCLASSLEV IN (1,2) + AND PATR_TP.PRODOTTO_IN_CATALOGO IS NULL + GROUP BY + PATR_TP.CHIAVE_THR, + PATR_TP.NOMEPRODOTTO, + ASS.OID$, + ASS.ASSETCLASSLEV, + ALBERO.ALBERO_GERARCHIA_3, + ACB.BDPERCENTAGE, + ACB.OID$ + ORDER BY 2,4 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSET_PERC_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSET_PERC_TERZI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ASSET_PERC_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_ASSET_PERC_pre_selective.sql new file mode 100644 index 00000000..ba57e59d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ASSET_PERC_pre_selective.sql @@ -0,0 +1,76 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSET_PERC_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSET_PERC_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[ASSET_PERC] + INSERT INTO [C6MartPeriodico].[ASSET_PERC] + ([COD_PRODOTTO] + ,[ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[LIVELLO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + LTRIM(RTRIM(ACBDENTRY.F_OID$_PASSE_B8A1E)) AS ID_ASSETCLASS, + CATITEMREF.COD_ISIN AS COD_ISIN, + CATITEMREF.COD_MAF AS COD_MAF, + CATITEMREF.COD_INTERNO AS COD_INTERNO, + CATITEMREF.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + LTRIM(RTRIM(ASSETCLASS.ASSETCLASSLEV)) AS LIVELLO, + LTRIM(RTRIM(ACBDENTRY.BDPERCENTAGE)) AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.CATITEMREF + INNER JOIN + C6StagingPeriodico.INSTRBDS + ON + INSTRBDS.F_OID$_PCATA_5DDA6 = CATITEMREF.OID$ + INNER JOIN + C6StagingPeriodico.ACBDENTRY + ON + ACBDENTRY.F_PINSTRUMEN_FBCDE = INSTRBDS.OID$ + INNER JOIN + C6StagingPeriodico.ASSETCLASS + ON + ASSETCLASS.OID$ = ACBDENTRY.F_OID$_PASSE_B8A1E + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSET_PERC_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSET_PERC_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_BONUS.sql b/sql/storedProduzione/C6MartPeriodico_DM_BONUS.sql new file mode 100644 index 00000000..847dc091 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_BONUS.sql @@ -0,0 +1,69 @@ +CREATE procedure [C6MartPeriodico].[DM_BONUS] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @DTMAX INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEIBO + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_BONUS', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[BONUS] + INSERT INTO [C6MartPeriodico].[BONUS] + ( + [RETE], + [COD_FISCALE], + [CTV], + [DT_TRIM], + [BONUS_M], + [DTDEC_M], + [BONUS_5], + [DTDEC_5], + [BONUS_10], + [DTDEC_10], + [COD_CONF], + [COD_PROD] + ) + SELECT + WSEIBO.[RETE] as [RETE], + WSEIBO.[CODFIS] as [COD_FISCALE], + WSEIBO.[CTV] as [CTV], + convert(datetime,convert(varchar,WSEIBO.[DTTRIM]),100) as [DT_TRIM], + WSEIBO.[BONUSM] as [BONUS_M], + convert(datetime,convert(varchar,WSEIBO.[DTDECM]),100) as [DTDEC_M], + WSEIBO.[BONUS5] as [BONUS_5], + convert(datetime,convert(varchar,WSEIBO.[DTDEC5]),100) as [DTDEC_5], + WSEIBO.[BONUS10] as [BONUS_10], + convert(datetime,convert(varchar,WSEIBO.[DTDEC10]),100) as [DTDEC_10], + WSEIBO.[CODCONF] as [COD_CONF], + WSEIBO.[CODPROD] as [COD_PROD] + FROM + c6StagingPeriodico.WSEIBO + WHERE + WSEIBO.[DTTRIM] = @DTMAX + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_BONUS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_BONUS' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_BONUS_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_BONUS_pre_selective.sql new file mode 100644 index 00000000..387fbc2e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_BONUS_pre_selective.sql @@ -0,0 +1,69 @@ +CREATE procedure [C6MartPeriodico].[DM_BONUS_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @DTMAX INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEIBO + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_BONUS_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[BONUS] + INSERT INTO [C6MartPeriodico].[BONUS] + ( + [RETE], + [COD_FISCALE], + [CTV], + [DT_TRIM], + [BONUS_M], + [DTDEC_M], + [BONUS_5], + [DTDEC_5], + [BONUS_10], + [DTDEC_10], + [COD_CONF], + [COD_PROD] + ) + SELECT + WSEIBO.[RETE] as [RETE], + WSEIBO.[CODFIS] as [COD_FISCALE], + WSEIBO.[CTV] as [CTV], + convert(datetime,convert(varchar,WSEIBO.[DTTRIM]),100) as [DT_TRIM], + WSEIBO.[BONUSM] as [BONUS_M], + convert(datetime,convert(varchar,WSEIBO.[DTDECM]),100) as [DTDEC_M], + WSEIBO.[BONUS5] as [BONUS_5], + convert(datetime,convert(varchar,WSEIBO.[DTDEC5]),100) as [DTDEC_5], + WSEIBO.[BONUS10] as [BONUS_10], + convert(datetime,convert(varchar,WSEIBO.[DTDEC10]),100) as [DTDEC_10], + WSEIBO.[CODCONF] as [COD_CONF], + WSEIBO.[CODPROD] as [COD_PROD] + FROM + c6StagingPeriodico.WSEIBO + WHERE + WSEIBO.[DTTRIM] = @DTMAX + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_BONUS_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_BONUS_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_CAPPROT.sql b/sql/storedProduzione/C6MartPeriodico_DM_CAPPROT.sql new file mode 100644 index 00000000..3f59be5f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_CAPPROT.sql @@ -0,0 +1,206 @@ +-- ============================================= +-- Author: +-- Create date: <18/11/2014, Pomezia> +-- Description: +-- ============================================= +-- ============================================= +-- +-- MOd: <26/11/2015, Pomezia> +-- Description: Aggiunto il campo 'des_prod_tit' per modifiche E-FOI80 +-- ============================================= +--[C6MartPeriodico].[DM_CAPPROT] +CREATE procedure [C6MartPeriodico].[DM_CAPPROT] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @Par_percentuale INT +SET @Par_percentuale = 80 +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_CAPPROT', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.CAPPROT + INSERT INTO C6MartPeriodico.CAPPROT + ([RETE] + ,[CODFIS] + ,[DES_PROD] + ,[COD_CONF] + ,[QUOTA] + ,[NUMEROQUOTE] + ,[CONTROVALORE] + ,[DATARIF] + ,[DES_MAX] + ,[QUOTA_MAX] + ,[QUOTA_MAX_PERC] + ,[DATARIF_MAX] + ,[DES_PROT] + ,[QUOTA_PROT] + ,[NUMEROQUOTE_PROT] + ,[CONTROVALORE_PROT] + ,[DES_PROD_TIT] + ) + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isin=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isin <> '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isinFIT=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isinFIT <> '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isin = '' + AND UL.isinFIT = '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIGP GP + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on GP.isin=ISNULL(CAT.codisin,'') + and CAT.tipoprodotto = 'GP' + and CAT.visibilita = 1 + WHERE GP.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 +-- lancio il caricamento delle nuove tabelle per la gestione del capitale protetto (My Blue 'CS80', +-- My White 'CT80', Linea Protetta 'RF/FP' ---- +-- Dicembre 2017 +exec [C6MartPeriodico].[DM_CAPPROT_FVI] +exec [C6MartPeriodico].[DM_STORICO_CAPPROT_FVI] +--------------------------------------------------------------------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CAPPROT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_CAPPROT' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_CAPPROT_20171129.sql b/sql/storedProduzione/C6MartPeriodico_DM_CAPPROT_20171129.sql new file mode 100644 index 00000000..0020aa97 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_CAPPROT_20171129.sql @@ -0,0 +1,200 @@ +-- ============================================= +-- Author: +-- Create date: <18/11/2014, Pomezia> +-- Description: +-- ============================================= +-- ============================================= +-- +-- MOd: <26/11/2015, Pomezia> +-- Description: Aggiunto il campo 'des_prod_tit' per modifiche E-FOI80 +-- ============================================= +--[C6MartPeriodico].[DM_CAPPROT] +CREATE procedure [C6MartPeriodico].[DM_CAPPROT_20171129] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @Par_percentuale INT +SET @Par_percentuale = 80 +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_CAPPROT', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.CAPPROT + INSERT INTO C6MartPeriodico.CAPPROT + ([RETE] + ,[CODFIS] + ,[DES_PROD] + ,[COD_CONF] + ,[QUOTA] + ,[NUMEROQUOTE] + ,[CONTROVALORE] + ,[DATARIF] + ,[DES_MAX] + ,[QUOTA_MAX] + ,[QUOTA_MAX_PERC] + ,[DATARIF_MAX] + ,[DES_PROT] + ,[QUOTA_PROT] + ,[NUMEROQUOTE_PROT] + ,[CONTROVALORE_PROT] + ,[DES_PROD_TIT] + ) + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isin=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isin <> '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isinFIT=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isinFIT <> '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isin = '' + AND UL.isinFIT = '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIGP GP + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on GP.isin=ISNULL(CAT.codisin,'') + and CAT.tipoprodotto = 'GP' + and CAT.visibilita = 1 + WHERE GP.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CAPPROT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_CAPPROT' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_CAPPROT_BKP.sql b/sql/storedProduzione/C6MartPeriodico_DM_CAPPROT_BKP.sql new file mode 100644 index 00000000..b05617e0 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_CAPPROT_BKP.sql @@ -0,0 +1,174 @@ +-- ============================================= +-- Author: +-- Create date: <18/11/2014, Pomezia> +-- Description: +-- ============================================= +--[C6MartPeriodico].[DM_CAPPROT] +CREATE procedure [C6MartPeriodico].[DM_CAPPROT_BKP] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @Par_percentuale INT +SET @Par_percentuale = 80 +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CAPPROT', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.CAPPROT + INSERT INTO C6MartPeriodico.CAPPROT + ([RETE] + ,[CODFIS] + ,[DES_PROD] + ,[COD_CONF] + ,[QUOTA] + ,[NUMEROQUOTE] + ,[CONTROVALORE] + ,[DATARIF] + ,[DES_MAX] + ,[QUOTA_MAX] + ,[QUOTA_MAX_PERC] + ,[DATARIF_MAX] + ,[DES_PROT] + ,[QUOTA_PROT] + ,[NUMEROQUOTE_PROT] + ,[CONTROVALORE_PROT] + ) + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + 'Quota e controvalore protetti' AS DES_PROT, + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isin=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isin <> '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + 'Quota e controvalore protetti' AS DES_PROT, + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isinFIT=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isinFIT <> '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + 'Quota e controvalore protetti' AS DES_PROT, + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isin = '' + AND UL.isinFIT = '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + 'Quota e controvalore protetti' AS DES_PROT, + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT + FROM C6StagingPeriodico.WSEIGP GP + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on GP.isin=ISNULL(CAT.codisin,'') + and CAT.tipoprodotto = 'GP' + and CAT.visibilita = 1 + WHERE GP.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CAPPROT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CAPPROT' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_CAPPROT_FVI.sql b/sql/storedProduzione/C6MartPeriodico_DM_CAPPROT_FVI.sql new file mode 100644 index 00000000..c3d3f472 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_CAPPROT_FVI.sql @@ -0,0 +1,152 @@ +-- ============================================= +-- Description: +-- ============================================= +--[C6MartPeriodico].[DM_CAPPROT_FVI] +CREATE procedure [C6MartPeriodico].[DM_CAPPROT_FVI] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_CAPPROT_FVI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.CAPPROT_FVI + INSERT INTO C6MartPeriodico.CAPPROT_FVI + ( +[RETE], +[CODFIS], +[CODPROD], +[SUBPROD], +[DES_PROD], +[COD_CONF], +[CONTROVALORE_RIFERIMENTO], +[COMPONENTE_PERFORMANCE], +[COMPONENTE_PROTEZIONE], +[DES_PROT], +[CONTROVALORE_PROT], +[DATARIF], +[DES_PROD_TIT], +[somma_ctv] + ) + select + RETE, + CODFIS, + CODPROD, + SUBPROD, + DES_PROD, + COD_CONF, + CONTROVALORE_RIFERIMENTO, + COMPONENTE_PERFORMANCE, + COMPONENTE_PROTEZIONE, + DES_PROT, + CONTROVALORE_PROT, + DATARIF, + DES_PROD_TIT , + -- Errore segnalato in certificazione campione ad Aprile 2018 - + -- cf PRNMCD44M17L682S/F - id 4 - verificare a pag 17/24 del report il totale patrimonio controvalore protetto ( non quadra il tot € 28.346,65) che non ritorna con le due linee blue e white pag  18/19 + -- IL TOTALE DELLA LINEA NON DEVE ESSERE RAGGRUPPATO PER CODCONF MA PER LINEA (SUBPROD) + -- + -- sum(CONTROVALORE_RIFERIMENTO) over (partition by COD_CONF ) as tot_controvalore + sum(CONTROVALORE_RIFERIMENTO) over (partition by codfis,COD_CONF,SUBPROD ) as tot_controvalore + -- Fine modifica Aprile 2018 + from( + select + LP.RETE AS RETE, + LP.CODFIS AS CODFIS, + LP.CODPROD AS CODPROD, + LP.CODLINEA AS SUBPROD, + CAT.NOMEPRODOTTO as DES_PROD, + LP.CODCONF AS COD_CONF, + CS.CTV AS CONTROVALORE_RIFERIMENTO, + -- correzione calcolo per errore documento di analisi - 18/12/2017 + --LP.[CTV PROT] - LP.CTVMON AS COMPONENTE_PERFORMANCE, + CS.CTV - LP.CTVMON AS COMPONENTE_PERFORMANCE, + -- fine correzione calcolo per errore documento di analisi - 18/12/2017 + LP.CTVMON AS COMPONENTE_PROTEZIONE, + 'Quota e controvalore protetti *' AS DES_PROT, + LP.[CTV_PROT] AS CONTROVALORE_PROT, + @DataFineTrim AS DATARIF, + case + when lp.codlinea = 'CS80' then 'FV Insieme Linea My Blue Protection 80' + when lp.codlinea = 'CT80' then 'FV Insieme Linea My White Protection 80' + end + AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEILP LP + JOIN [C6StagingPeriodico].[wseics] CS + ON + LP.RETE = CS.RETE + AND LP.CODFIS = CS.CODFIS + AND LP.CODCONF = CS.CODCONF + AND LP.CODLINEA = CS.SUBPROD + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on + cat.codmaf = 'RS_'+lp.codlinea + and CAT.visibilita = 1 +WHERE LP.DTTRIM = @DataFineTrim and cs.dttrim = @DataFineTrim and lp.codlinea in ('CS80','CT80') +union +select + LP.RETE AS RETE, + LP.CODFIS AS CODFIS, + LP.CODPROD AS CODPROD, + LP.CODLINEA AS SUBPROD, + 'FV Sintonia Linea Protezione 85' as DES_PROD, + LP.CODCONF AS COD_CONF, +/* + il controvalore di riferimento deve coincidere con la somma dei controvalori dei singoli fondi + sottostanti alla linea (selezionati dal cliente e monetari movimentati dal Risk Provider) + e della gestione separata “FV Vivadue” +*/ +(select sum(CTV) from [C6StagingPeriodico].[wseics] + where rete = LP.RETE + AND CODFIS = LP.CODFIS and dttrim = @DataFineTrim and CODCONF = LP.CODCONF and codprod = lp.codprod) + AS CONTROVALORE_RIFERIMENTO, + -- correzione calcolo per errore documento di analisi - 18/12/2017 + ---LP.[CTV PROT] - LP.CTVMON AS COMPONENTE_PERFORMANCE, + (select sum(CTV) from [C6StagingPeriodico].[wseics] + where rete = LP.RETE + AND CODFIS = LP.CODFIS and dttrim = @DataFineTrim and CODCONF = LP.CODCONF and codprod = lp.codprod) - LP.CTVMON AS COMPONENTE_PERFORMANCE, + -- fine correzione calcolo per errore documento di analisi - 18/12/2017 + LP.CTVMON AS COMPONENTE_PROTEZIONE, + 'Quota e controvalore protetti *' AS DES_PROT, + LP.[CTV_PROT] AS CONTROVALORE_PROT, + @DataFineTrim AS DATARIF, + 'FV Sintonia Linea Protezione 85' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEILP LP + JOIN [C6StagingPeriodico].[wseics] CS + ON + LP.RETE = CS.RETE + AND LP.CODFIS = CS.CODFIS + AND LP.CODCONF = CS.CODCONF + AND LP.CODLINEA = CS.SUBPROD +WHERE + LP.DTTRIM = @DataFineTrim + and cs.dttrim = @DataFineTrim + and lp.codlinea = 'MP' + and lp.flagtrim = 'S' --creo un record per ogni contratto, prendendo i dati del record con i dati aggregati (flagtrim = 's') + ) a + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CAPPROT_FVI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_CAPPROT_FVI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_CAPPROT_FVI_20180424.sql b/sql/storedProduzione/C6MartPeriodico_DM_CAPPROT_FVI_20180424.sql new file mode 100644 index 00000000..0fb97121 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_CAPPROT_FVI_20180424.sql @@ -0,0 +1,146 @@ +-- ============================================= +-- Description: +-- ============================================= +--[C6MartPeriodico].[DM_CAPPROT_FVI] +CREATE procedure [C6MartPeriodico].[DM_CAPPROT_FVI_20180424] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_CAPPROT_FVI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.CAPPROT_FVI + INSERT INTO C6MartPeriodico.CAPPROT_FVI + ( +[RETE], +[CODFIS], +[CODPROD], +[SUBPROD], +[DES_PROD], +[COD_CONF], +[CONTROVALORE_RIFERIMENTO], +[COMPONENTE_PERFORMANCE], +[COMPONENTE_PROTEZIONE], +[DES_PROT], +[CONTROVALORE_PROT], +[DATARIF], +[DES_PROD_TIT], +[somma_ctv] + ) + select + RETE, + CODFIS, + CODPROD, + SUBPROD, + DES_PROD, + COD_CONF, + CONTROVALORE_RIFERIMENTO, + COMPONENTE_PERFORMANCE, + COMPONENTE_PROTEZIONE, + DES_PROT, + CONTROVALORE_PROT, + DATARIF, + DES_PROD_TIT , + sum(CONTROVALORE_RIFERIMENTO) over (partition by COD_CONF ) as tot_controvalore + from( + select + LP.RETE AS RETE, + LP.CODFIS AS CODFIS, + LP.CODPROD AS CODPROD, + LP.CODLINEA AS SUBPROD, + CAT.NOMEPRODOTTO as DES_PROD, + LP.CODCONF AS COD_CONF, + CS.CTV AS CONTROVALORE_RIFERIMENTO, + -- correzione calcolo per errore documento di analisi - 18/12/2017 + --LP.[CTV PROT] - LP.CTVMON AS COMPONENTE_PERFORMANCE, + CS.CTV - LP.CTVMON AS COMPONENTE_PERFORMANCE, + -- fine correzione calcolo per errore documento di analisi - 18/12/2017 + LP.CTVMON AS COMPONENTE_PROTEZIONE, + 'Quota e controvalore protetti *' AS DES_PROT, + LP.[CTV PROT] AS CONTROVALORE_PROT, + @DataFineTrim AS DATARIF, + case + when lp.codlinea = 'CS80' then 'FV Insieme Linea My Blue Protection 80' + when lp.codlinea = 'CT80' then 'FV Insieme Linea My White Protection 80' + end + AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEILP LP + JOIN [C6StagingPeriodico].[wseics] CS + ON + LP.RETE = CS.RETE + AND LP.CODFIS = CS.CODFIS + AND LP.CODCONF = CS.CODCONF + AND LP.CODLINEA = CS.SUBPROD + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on + cat.codmaf = 'RS_'+lp.codlinea + and CAT.visibilita = 1 +WHERE LP.DTTRIM = @DataFineTrim and cs.dttrim = @DataFineTrim and lp.codlinea in ('CS80','CT80') +union +select + LP.RETE AS RETE, + LP.CODFIS AS CODFIS, + LP.CODPROD AS CODPROD, + LP.CODLINEA AS SUBPROD, + 'FV Sintonia Linea Protezione 85' as DES_PROD, + LP.CODCONF AS COD_CONF, +/* + il controvalore di riferimento deve coincidere con la somma dei controvalori dei singoli fondi + sottostanti alla linea (selezionati dal cliente e monetari movimentati dal Risk Provider) + e della gestione separata “FV Vivadue” +*/ +(select sum(CTV) from [C6StagingPeriodico].[wseics] + where rete = LP.RETE + AND CODFIS = LP.CODFIS and dttrim = @DataFineTrim and CODCONF = LP.CODCONF and codprod = lp.codprod) + AS CONTROVALORE_RIFERIMENTO, + -- correzione calcolo per errore documento di analisi - 18/12/2017 + ---LP.[CTV PROT] - LP.CTVMON AS COMPONENTE_PERFORMANCE, + (select sum(CTV) from [C6StagingPeriodico].[wseics] + where rete = LP.RETE + AND CODFIS = LP.CODFIS and dttrim = @DataFineTrim and CODCONF = LP.CODCONF and codprod = lp.codprod) - LP.CTVMON AS COMPONENTE_PERFORMANCE, + -- fine correzione calcolo per errore documento di analisi - 18/12/2017 + LP.CTVMON AS COMPONENTE_PROTEZIONE, + 'Quota e controvalore protetti *' AS DES_PROT, + LP.[CTV PROT] AS CONTROVALORE_PROT, + @DataFineTrim AS DATARIF, + 'FV Sintonia Linea Protezione 85' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEILP LP + JOIN [C6StagingPeriodico].[wseics] CS + ON + LP.RETE = CS.RETE + AND LP.CODFIS = CS.CODFIS + AND LP.CODCONF = CS.CODCONF + AND LP.CODLINEA = CS.SUBPROD +WHERE + LP.DTTRIM = @DataFineTrim + and cs.dttrim = @DataFineTrim + and lp.codlinea = 'MP' + and lp.flagtrim = 'S' --creo un record per ogni contratto, prendendo i dati del record con i dati aggregati (flagtrim = 's') + ) a + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CAPPROT_FVI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_CAPPROT_FVI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_CAPPROT_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_CAPPROT_pre_selective.sql new file mode 100644 index 00000000..21bba86b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_CAPPROT_pre_selective.sql @@ -0,0 +1,200 @@ +-- ============================================= +-- Author: +-- Create date: <18/11/2014, Pomezia> +-- Description: +-- ============================================= +-- ============================================= +-- +-- MOd: <26/11/2015, Pomezia> +-- Description: Aggiunto il campo 'des_prod_tit' per modifiche E-FOI80 +-- ============================================= +--[C6MartPeriodico].[DM_CAPPROT_pre_selective] +CREATE procedure [C6MartPeriodico].[DM_CAPPROT_pre_selective] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @Par_percentuale INT +SET @Par_percentuale = 80 +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CAPPROT_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.CAPPROT + INSERT INTO C6MartPeriodico.CAPPROT + ([RETE] + ,[CODFIS] + ,[DES_PROD] + ,[COD_CONF] + ,[QUOTA] + ,[NUMEROQUOTE] + ,[CONTROVALORE] + ,[DATARIF] + ,[DES_MAX] + ,[QUOTA_MAX] + ,[QUOTA_MAX_PERC] + ,[DATARIF_MAX] + ,[DES_PROT] + ,[QUOTA_PROT] + ,[NUMEROQUOTE_PROT] + ,[CONTROVALORE_PROT] + ,[DES_PROD_TIT] + ) + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isin=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isin <> '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isinFIT=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isinFIT <> '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isin = '' + AND UL.isinFIT = '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIGP GP + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on GP.isin=ISNULL(CAT.codisin,'') + and CAT.tipoprodotto = 'GP' + and CAT.visibilita = 1 + WHERE GP.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CAPPROT_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CAPPROT_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_CLIENTI_CON_RNA_ALTO.sql b/sql/storedProduzione/C6MartPeriodico_DM_CLIENTI_CON_RNA_ALTO.sql new file mode 100644 index 00000000..8e8dbe23 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_CLIENTI_CON_RNA_ALTO.sql @@ -0,0 +1,37 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CLIENTI_CON_RNA_ALTO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @Rna DECIMAL(19,3) + SET @Rna = CAST(dbo.getParametro('PERCMAXRISORSENA') AS DECIMAL(19,3)) * 0.01 + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + TRUNCATE TABLE [C6MartPeriodico].[CLIENTI_CON_RNA_ALTO] + INSERT INTO [C6MartPeriodico].[CLIENTI_CON_RNA_ALTO] + (Rete, + CodicePB, + CodiceFiscale, + Percentuale, + DataCalcolo, + ID_ELAB, + TIPO_ELAB) + SELECT + Rete, + CodicePB, + CodiceFiscale, + Percentuale, + DataCalcolo, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.CLIENTI_CON_RNA + WHERE Percentuale > @Rna +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI.sql b/sql/storedProduzione/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI.sql new file mode 100644 index 00000000..061dc308 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI.sql @@ -0,0 +1,18 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CLIENTI_NON_MIGRATI] +AS +BEGIN + SELECT + RETE, + COD_FISCALE, + ID_PROMOTORE + FROM + C6MartPeriodico.ANAG_CLIENTI + WHERE + (NOME IS NULL OR NOME = '') + AND (COGNOME IS NULL OR COGNOME = '') +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI_pre_selective.sql new file mode 100644 index 00000000..0a27f7de --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI_pre_selective.sql @@ -0,0 +1,18 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CLIENTI_NON_MIGRATI_pre_selective] +AS +BEGIN + SELECT + RETE, + COD_FISCALE, + ID_PROMOTORE + FROM + C6MartPeriodico.ANAG_CLIENTI + WHERE + (NOME IS NULL OR NOME = '') + AND (COGNOME IS NULL OR COGNOME = '') +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_CODIFICA_CREDITRISK.sql b/sql/storedProduzione/C6MartPeriodico_DM_CODIFICA_CREDITRISK.sql new file mode 100644 index 00000000..ab3dcc13 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_CODIFICA_CREDITRISK.sql @@ -0,0 +1,50 @@ +-- ============================================= +-- Author: Valerio Colaianni +-- Create date: 17 marzo 2009 +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CODIFICA_CREDITRISK] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_CREDITRISK', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.CODIFICA_CREDITRISK + INSERT INTO C6MartPeriodico.[CODIFICA_CREDITRISK] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAL] + ,[MAX_VAL] + ,[ID_ELAB]) + SELECT + COD, + DESCR, + MINVAL, + MAXVAL, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.RISKCLASS + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CODIFICA_CREDITRISK' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_CODIFICA_CREDITRISK' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_CODIFICA_CREDITRISK_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_CODIFICA_CREDITRISK_pre_selective.sql new file mode 100644 index 00000000..d282fbe1 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_CODIFICA_CREDITRISK_pre_selective.sql @@ -0,0 +1,50 @@ +-- ============================================= +-- Author: Valerio Colaianni +-- Create date: 17 marzo 2009 +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CODIFICA_CREDITRISK_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_CREDITRISK_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.CODIFICA_CREDITRISK + INSERT INTO C6MartPeriodico.[CODIFICA_CREDITRISK] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAL] + ,[MAX_VAL] + ,[ID_ELAB]) + SELECT + COD, + DESCR, + MINVAL, + MAXVAL, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.RISKCLASS + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CODIFICA_CREDITRISK_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CODIFICA_CREDITRISK_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_CODIFICA_RISCHIO.sql b/sql/storedProduzione/C6MartPeriodico_DM_CODIFICA_RISCHIO.sql new file mode 100644 index 00000000..0114dee9 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_CODIFICA_RISCHIO.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 marzo 2009 +-- Description: NOTA BENE: I JOIN NON DOVREBBERO MAI ESSERE FATTI COME SOTTO, TRATTASI DI WORK AROUND +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CODIFICA_RISCHIO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_RISCHIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.CODIFICA_RISCHIO + INSERT INTO C6MartPeriodico.[CODIFICA_RISCHIO] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAR] + ,[MAX_VAR] + ,[ID_ELAB]) + SELECT + SPB_PROF_RISCHIO.CODICEPROFILO AS PROFILO, + SPB_PROF_RISCHIO.DESCRIZIONEPROFILO AS DESCRIZIONE, + ISNULL(SPB_MIN.VARTRIMESTRALE,-0.01) + 0.01 AS MIN_VAR, + SPB_PROF_RISCHIO.VARTRIMESTRALE AS MAX_VAR, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.SPB_PROF_RISCHIO + LEFT JOIN C6STAGINGPERIODICO.SPB_PROF_RISCHIO SPB_MIN + ON SPB_MIN.CODICEPROFILO + 1 = SPB_PROF_RISCHIO.CODICEPROFILO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CODIFICA_RISCHIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_CODIFICA_RISCHIO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_CODIFICA_RISCHIO_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_CODIFICA_RISCHIO_pre_selective.sql new file mode 100644 index 00000000..38138dae --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_CODIFICA_RISCHIO_pre_selective.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 marzo 2009 +-- Description: NOTA BENE: I JOIN NON DOVREBBERO MAI ESSERE FATTI COME SOTTO, TRATTASI DI WORK AROUND +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CODIFICA_RISCHIO_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_RISCHIO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.CODIFICA_RISCHIO + INSERT INTO C6MartPeriodico.[CODIFICA_RISCHIO] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAR] + ,[MAX_VAR] + ,[ID_ELAB]) + SELECT + SPB_PROF_RISCHIO.CODICEPROFILO AS PROFILO, + SPB_PROF_RISCHIO.DESCRIZIONEPROFILO AS DESCRIZIONE, + ISNULL(SPB_MIN.VARTRIMESTRALE,-0.01) + 0.01 AS MIN_VAR, + SPB_PROF_RISCHIO.VARTRIMESTRALE AS MAX_VAR, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.SPB_PROF_RISCHIO + LEFT JOIN C6STAGINGPERIODICO.SPB_PROF_RISCHIO SPB_MIN + ON SPB_MIN.CODICEPROFILO + 1 = SPB_PROF_RISCHIO.CODICEPROFILO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CODIFICA_RISCHIO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CODIFICA_RISCHIO_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_COMPLESSITA.sql b/sql/storedProduzione/C6MartPeriodico_DM_COMPLESSITA.sql new file mode 100644 index 00000000..7bb927b2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_COMPLESSITA.sql @@ -0,0 +1,84 @@ +-- ============================================= +-- Author: +-- Create date: <12/05/2010> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_COMPLESSITA] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_COMPLESSITA', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].COMPLESSITA + INSERT INTO [C6MartPeriodico].[COMPLESSITA] + ( + [RETE] + ,[COD_FISCALE] + ,[COMPLESSITA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLESSITA]) AS [COMPLESSITA], + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM +( + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLEx]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf + where tipo_prodOTTO <>'ASUL' + GROUP BY + [RETE], + [COD_FISCALE] + union all + SELECT + m.[RETE], + m.[COD_FISCALE], + MAX(c.[COMPLEX]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf m, + c6martperiodico.dettaglio_asul k, + c6stagingperiodico.catitemref c + where m.cod_fiscale= k.cod_fiscale + and m.rete=k.rete + and k.id_contratto=m.id_contratto + and k.cod_prodotto= c.catalogueid + and m.tipo_prodotto='ASUL' + group by + m.[RETE], + m.[COD_FISCALE] + ) H + group by + [RETE], + [COD_FISCALE] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_COMPLESSITA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_COMPLESSITA' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_COMPLESSITA_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_COMPLESSITA_pre_selective.sql new file mode 100644 index 00000000..7d8d78c8 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_COMPLESSITA_pre_selective.sql @@ -0,0 +1,84 @@ +-- ============================================= +-- Author: +-- Create date: <12/05/2010> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_COMPLESSITA_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_COMPLESSITA_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].COMPLESSITA + INSERT INTO [C6MartPeriodico].[COMPLESSITA] + ( + [RETE] + ,[COD_FISCALE] + ,[COMPLESSITA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLESSITA]) AS [COMPLESSITA], + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM +( + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLEx]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf + where tipo_prodOTTO <>'ASUL' + GROUP BY + [RETE], + [COD_FISCALE] + union all + SELECT + m.[RETE], + m.[COD_FISCALE], + MAX(c.[COMPLEX]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf m, + c6martperiodico.dettaglio_asul k, + c6stagingperiodico.catitemref c + where m.cod_fiscale= k.cod_fiscale + and m.rete=k.rete + and k.id_contratto=m.id_contratto + and k.cod_prodotto= c.catalogueid + and m.tipo_prodotto='ASUL' + group by + m.[RETE], + m.[COD_FISCALE] + ) H + group by + [RETE], + [COD_FISCALE] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_COMPLESSITA_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_COMPLESSITA_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_CONGELAMENTO_SEI.sql b/sql/storedProduzione/C6MartPeriodico_DM_CONGELAMENTO_SEI.sql new file mode 100644 index 00000000..d10a972e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_CONGELAMENTO_SEI.sql @@ -0,0 +1,23 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CONGELAMENTO_SEI] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + TRUNCATE TABLE C6MartPeriodico.CONGELAMENTO_SEI + INSERT INTO C6MartPeriodico.CONGELAMENTO_SEI + ([DATA_CONGELAMENTO] + ,[ID_ELAB]) + SELECT + DATA_CONGELAMENTO, + @ID_ELAB + FROM + C6StagingPeriodico.CONGELAMENTO_SEI +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_CONGELAMENTO_SEI_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_CONGELAMENTO_SEI_pre_selective.sql new file mode 100644 index 00000000..c877b932 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_CONGELAMENTO_SEI_pre_selective.sql @@ -0,0 +1,23 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CONGELAMENTO_SEI_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + TRUNCATE TABLE C6MartPeriodico.CONGELAMENTO_SEI + INSERT INTO C6MartPeriodico.CONGELAMENTO_SEI + ([DATA_CONGELAMENTO] + ,[ID_ELAB]) + SELECT + DATA_CONGELAMENTO, + @ID_ELAB + FROM + C6StagingPeriodico.CONGELAMENTO_SEI +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_CONO_PIANIFICAZIONE.sql b/sql/storedProduzione/C6MartPeriodico_DM_CONO_PIANIFICAZIONE.sql new file mode 100644 index 00000000..40bd5851 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_CONO_PIANIFICAZIONE.sql @@ -0,0 +1,86 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CONO_PIANIFICAZIONE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CONO_PIANIFICAZIONE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[CONO_PIANIFICAZIONE] + INSERT INTO [C6MartPeriodico].[CONO_PIANIFICAZIONE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CONO] + ,[SCENARIO_PESSIMISTICO] + ,[SCENARIO_MEDIO] + ,[SCENARIO_OTTIMISTICO] + ,[ID_ELAB] + ,ordinamento_progetto) + SELECT + CONSUL.INSTID AS RETE, + CONSUL.ADBKID AS COD_FISCALE, + AREA.C_NEEDAREA_v_46360 AS ID_AREA, + ISNULL(CASE + WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN PRCONSUL.C_PROJECTNAM_11D1A + ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO + END, 'XXX') AS NOME_PROGETTO, + CONO.C_DATA_FD2A6 AS DATA_CONO, + CAST(CONO.C_QUANTILE5_BF710 AS DECIMAL(19,7)) * 100 AS SCENARIO_PESSIMISTICO, + CAST(CONO.C_QUANTILE50_C47E0 AS DECIMAL(19,7)) * 100 AS SCENARIO_MEDIO, + CAST(CONO.C_QUANTILE95_0D6CE AS DECIMAL(19,7)) * 100 AS SCENARIO_OTTIMISTICO, + @ID_ELAB, + wanab.codprog + FROM C6StagingPeriodico.TANAB AS WANAB + INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL + ON WANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 + INNER JOIN C6StagingPeriodico.CONSAREA AS AREA + ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ + INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL + ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO + ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE + AND CONSUL.INSTID = SCELTA_STATO.RETE + AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA + INNER JOIN C6StagingPeriodico.C_BO_453FB AS ORIZZ_TEMP + ON PRCONSUL.F_OID$_ORIZZ_4A868 = ORIZZ_TEMP.OID$ + INNER JOIN C6StagingPeriodico.CONO AS CONO + ON PRCONSUL.OID$ = CONO.F_PPROJECT_P_46507 + LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA + ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 + WHERE 1 = 1 + AND WANAB.DTFINE = '99991231' + AND ((PRCONSUL.NEEDAREAID = 'Inv' AND PRCONSUL.TYPE$_PROJEC_14674 = 'ProgettoInvestimento') + OR PRCONSUL.NEEDAREAID = 'Ris') + AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 + --and wanab.codfis <> 'GRVMRZ63C14L566J' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CONO_PIANIFICAZIONE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CONO_PIANIFICAZIONE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_CONO_PIANIFICAZIONE_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_CONO_PIANIFICAZIONE_pre_selective.sql new file mode 100644 index 00000000..132a3f34 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_CONO_PIANIFICAZIONE_pre_selective.sql @@ -0,0 +1,86 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CONO_PIANIFICAZIONE_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CONO_PIANIFICAZIONE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[CONO_PIANIFICAZIONE] + INSERT INTO [C6MartPeriodico].[CONO_PIANIFICAZIONE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CONO] + ,[SCENARIO_PESSIMISTICO] + ,[SCENARIO_MEDIO] + ,[SCENARIO_OTTIMISTICO] + ,[ID_ELAB] + ,ordinamento_progetto) + SELECT + CONSUL.INSTID AS RETE, + CONSUL.ADBKID AS COD_FISCALE, + AREA.C_NEEDAREA_v_46360 AS ID_AREA, + ISNULL(CASE + WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN PRCONSUL.C_PROJECTNAM_11D1A + ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO + END, 'XXX') AS NOME_PROGETTO, + CONO.C_DATA_FD2A6 AS DATA_CONO, + CAST(CONO.C_QUANTILE5_BF710 AS DECIMAL(19,7)) * 100 AS SCENARIO_PESSIMISTICO, + CAST(CONO.C_QUANTILE50_C47E0 AS DECIMAL(19,7)) * 100 AS SCENARIO_MEDIO, + CAST(CONO.C_QUANTILE95_0D6CE AS DECIMAL(19,7)) * 100 AS SCENARIO_OTTIMISTICO, + @ID_ELAB, + wanab.codprog + FROM C6StagingPeriodico.TANAB AS WANAB + INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL + ON WANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 + INNER JOIN C6StagingPeriodico.CONSAREA AS AREA + ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ + INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL + ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO + ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE + AND CONSUL.INSTID = SCELTA_STATO.RETE + AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA + INNER JOIN C6StagingPeriodico.C_BO_453FB AS ORIZZ_TEMP + ON PRCONSUL.F_OID$_ORIZZ_4A868 = ORIZZ_TEMP.OID$ + INNER JOIN C6StagingPeriodico.CONO AS CONO + ON PRCONSUL.OID$ = CONO.F_PPROJECT_P_46507 + LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA + ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 + WHERE 1 = 1 + AND WANAB.DTFINE = '99991231' + AND ((PRCONSUL.NEEDAREAID = 'Inv' AND PRCONSUL.TYPE$_PROJEC_14674 = 'ProgettoInvestimento') + OR PRCONSUL.NEEDAREAID = 'Ris') + AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 + --and wanab.codfis <> 'GRVMRZ63C14L566J' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CONO_PIANIFICAZIONE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CONO_PIANIFICAZIONE_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA.sql b/sql/storedProduzione/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA.sql new file mode 100644 index 00000000..2854a127 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA.sql @@ -0,0 +1,202 @@ +--select ordinamento_progetto,id_area,* +--FROM +-- C6MARTPERIODICO.PATRIMONIO_BF +-- WHERE +-- 1=1 +-- AND ID_AREA not in ('Na', 'Cc') +-- and ctv >0 +-- and cod_fiscale = 'GNGFRZ63H17D810C' +-- and id_area like 'pre%' +-- +--select * from c6martperiodico.cons_attivaggiornata +--where cod_fiscale = 'GNGFRZ63H17D810C' +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: < 26/09/2009> +-- Description: +-- ============================================= +--[C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] +CREATE procedure [C6MartPeriodico].[DM_CONS_ATTIVAGGIORNATA] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_CONS_ATTIVAGGIORNATA', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] + INSERT INTO [C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] + ( [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[DATA_PIANIF] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO]) + SELECT + [RETE] + ,[COD_FISCALE] + ,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END AS ID_AREA + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,(MAX(ISNULL(CTV_AREA,0))/MAX(ISNULL(CTV_TOTALE,0)))*100 AS PERC_AREA + , MAX(CTV_PROGETTO) AS CTV_PROGETTO + ,MAX(CTV_AREA) AS CTV_aREA + ,max([ORIZZ_TEMP_NUM]) + ,max([ORIZZ_TEMP]) + ,MAX(CTV_TOTALE) AS CTV_TOTALE + ,MAX([STATO_CONSULENZA]) AS STATO_CONSULENZA + ,MAX([DATA_STATO_CONS]) AS DATA_sTATO_CONS + ,max([DATA_MIGR_CONS]) as DATA_MIGR_CONS + ,MAX(DATA_PIANIF) AS DATA_PIANIF + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + FROM + ( + SELECT + COD_FISCALE, + RETE, + ID_AREA, + NOME_PROGETTO, + CTV, + 0 AS ID_CONTRATTO, + [ORDINAMENTO_PROGETTO], + [tipo_progetto], + SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, SUBSTRING(ID_AREA,1,3), NOME_PROGETTO) CTV_PROGETTO, + SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, RETE,SUBSTRING(ID_AREA,1,3)) CTV_AREA, + MAX([ORIZZ_TEMP_NUM])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) AS [ORIZZ_TEMP_NUM], + MAX([ORIZZ_TEMP])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) [ORIZZ_TEMP], + SUM([CTV])OVER (PARTITION BY COD_FISCALE) AS CTV_TOTALE, + MAX([STATO_CONSULENZA])OVER (PARTITION BY COD_FISCALE, RETE) AS [STATO_CONSULENZA], + MAX([DATA_STATO_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_STATO_CONS] , + MAX([DATA_MIGR_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_MIGR_CONS] , + MAX([DATA_PIANIF])OVER (PARTITION BY COD_FISCALE, RETE ) AS DATA_PIANIF + FROM + C6MARTPERIODICO.PATRIMONIO_BF + WHERE + 1=1 + AND ID_AREA not in ('Na', 'Cc','Pre','Pre1','Pre2') + and ctv >0 + ) K + GROUP BY + COD_FISCALE + ,RETE + ,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + INSERT INTO [C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] + ( [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[DATA_PIANIF] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO]) + SELECT + [RETE] + ,[COD_FISCALE] + ,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END AS ID_AREA + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,(MAX(ISNULL(CTV_AREA,0))/MAX(ISNULL(CTV_TOTALE,0)))*100 AS PERC_AREA + , MAX(CTV_PROGETTO) AS CTV_PROGETTO + ,MAX(CTV_AREA) AS CTV_aREA + ,max([ORIZZ_TEMP_NUM]) + ,max([ORIZZ_TEMP]) + ,MAX(CTV_TOTALE) AS CTV_TOTALE + ,MAX([STATO_CONSULENZA]) AS STATO_CONSULENZA + ,MAX([DATA_STATO_CONS]) AS DATA_sTATO_CONS + ,max([DATA_MIGR_CONS]) as DATA_MIGR_CONS + ,MAX(DATA_PIANIF) AS DATA_PIANIF + ,[ID_CONTRATTO] + ,MAX([ORDINAMENTO_PROGETTO]) + FROM + ( + SELECT + COD_FISCALE, + RETE, + ID_AREA, + NOME_PROGETTO, + CTV, + 0 AS ID_CONTRATTO, + [ORDINAMENTO_PROGETTO], + case + when extranac = 1 + then 'Default' + else tipo_progetto + end as tipo_progetto, + SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, SUBSTRING(ID_AREA,1,3), NOME_PROGETTO) CTV_PROGETTO, + SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, RETE,SUBSTRING(ID_AREA,1,3)) CTV_AREA, + MAX([ORIZZ_TEMP_NUM])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) AS [ORIZZ_TEMP_NUM], + MAX([ORIZZ_TEMP])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) [ORIZZ_TEMP], + SUM([CTV])OVER (PARTITION BY COD_FISCALE) AS CTV_TOTALE, + MAX([STATO_CONSULENZA])OVER (PARTITION BY COD_FISCALE, RETE) AS [STATO_CONSULENZA], + MAX([DATA_STATO_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_STATO_CONS] , + MAX([DATA_MIGR_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_MIGR_CONS] , + MAX([DATA_PIANIF])OVER (PARTITION BY COD_FISCALE, RETE ) AS DATA_PIANIF + FROM + C6MARTPERIODICO.PATRIMONIO_BF + WHERE + 1=1 + AND ID_AREA in ('Pre','Pre1','Pre2') + and ctv >0 + ) K + GROUP BY + COD_FISCALE + ,RETE + ,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_CONTRATTO] + --,[ORDINAMENTO_PROGETTO] +-- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CONS_ATTIVAGGIORNATA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_CONS_ATTIVAGGIORNATA' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA_pre_selective.sql new file mode 100644 index 00000000..968063e1 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA_pre_selective.sql @@ -0,0 +1,202 @@ +--select ordinamento_progetto,id_area,* +--FROM +-- C6MARTPERIODICO.PATRIMONIO_BF +-- WHERE +-- 1=1 +-- AND ID_AREA not in ('Na', 'Cc') +-- and ctv >0 +-- and cod_fiscale = 'GNGFRZ63H17D810C' +-- and id_area like 'pre%' +-- +--select * from c6martperiodico.cons_attivaggiornata +--where cod_fiscale = 'GNGFRZ63H17D810C' +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: < 26/09/2009> +-- Description: +-- ============================================= +--[C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] +CREATE procedure [C6MartPeriodico].[DM_CONS_ATTIVAGGIORNATA_pre_selective] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CONS_ATTIVAGGIORNATA_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] + INSERT INTO [C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] + ( [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[DATA_PIANIF] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO]) + SELECT + [RETE] + ,[COD_FISCALE] + ,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END AS ID_AREA + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,(MAX(ISNULL(CTV_AREA,0))/MAX(ISNULL(CTV_TOTALE,0)))*100 AS PERC_AREA + , MAX(CTV_PROGETTO) AS CTV_PROGETTO + ,MAX(CTV_AREA) AS CTV_aREA + ,max([ORIZZ_TEMP_NUM]) + ,max([ORIZZ_TEMP]) + ,MAX(CTV_TOTALE) AS CTV_TOTALE + ,MAX([STATO_CONSULENZA]) AS STATO_CONSULENZA + ,MAX([DATA_STATO_CONS]) AS DATA_sTATO_CONS + ,max([DATA_MIGR_CONS]) as DATA_MIGR_CONS + ,MAX(DATA_PIANIF) AS DATA_PIANIF + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + FROM + ( + SELECT + COD_FISCALE, + RETE, + ID_AREA, + NOME_PROGETTO, + CTV, + 0 AS ID_CONTRATTO, + [ORDINAMENTO_PROGETTO], + [tipo_progetto], + SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, SUBSTRING(ID_AREA,1,3), NOME_PROGETTO) CTV_PROGETTO, + SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, RETE,SUBSTRING(ID_AREA,1,3)) CTV_AREA, + MAX([ORIZZ_TEMP_NUM])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) AS [ORIZZ_TEMP_NUM], + MAX([ORIZZ_TEMP])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) [ORIZZ_TEMP], + SUM([CTV])OVER (PARTITION BY COD_FISCALE) AS CTV_TOTALE, + MAX([STATO_CONSULENZA])OVER (PARTITION BY COD_FISCALE, RETE) AS [STATO_CONSULENZA], + MAX([DATA_STATO_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_STATO_CONS] , + MAX([DATA_MIGR_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_MIGR_CONS] , + MAX([DATA_PIANIF])OVER (PARTITION BY COD_FISCALE, RETE ) AS DATA_PIANIF + FROM + C6MARTPERIODICO.PATRIMONIO_BF + WHERE + 1=1 + AND ID_AREA not in ('Na', 'Cc','Pre','Pre1','Pre2') + and ctv >0 + ) K + GROUP BY + COD_FISCALE + ,RETE + ,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + INSERT INTO [C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] + ( [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[DATA_PIANIF] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO]) + SELECT + [RETE] + ,[COD_FISCALE] + ,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END AS ID_AREA + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,(MAX(ISNULL(CTV_AREA,0))/MAX(ISNULL(CTV_TOTALE,0)))*100 AS PERC_AREA + , MAX(CTV_PROGETTO) AS CTV_PROGETTO + ,MAX(CTV_AREA) AS CTV_aREA + ,max([ORIZZ_TEMP_NUM]) + ,max([ORIZZ_TEMP]) + ,MAX(CTV_TOTALE) AS CTV_TOTALE + ,MAX([STATO_CONSULENZA]) AS STATO_CONSULENZA + ,MAX([DATA_STATO_CONS]) AS DATA_sTATO_CONS + ,max([DATA_MIGR_CONS]) as DATA_MIGR_CONS + ,MAX(DATA_PIANIF) AS DATA_PIANIF + ,[ID_CONTRATTO] + ,MAX([ORDINAMENTO_PROGETTO]) + FROM + ( + SELECT + COD_FISCALE, + RETE, + ID_AREA, + NOME_PROGETTO, + CTV, + 0 AS ID_CONTRATTO, + [ORDINAMENTO_PROGETTO], + case + when extranac = 1 + then 'Default' + else tipo_progetto + end as tipo_progetto, + SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, SUBSTRING(ID_AREA,1,3), NOME_PROGETTO) CTV_PROGETTO, + SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, RETE,SUBSTRING(ID_AREA,1,3)) CTV_AREA, + MAX([ORIZZ_TEMP_NUM])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) AS [ORIZZ_TEMP_NUM], + MAX([ORIZZ_TEMP])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) [ORIZZ_TEMP], + SUM([CTV])OVER (PARTITION BY COD_FISCALE) AS CTV_TOTALE, + MAX([STATO_CONSULENZA])OVER (PARTITION BY COD_FISCALE, RETE) AS [STATO_CONSULENZA], + MAX([DATA_STATO_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_STATO_CONS] , + MAX([DATA_MIGR_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_MIGR_CONS] , + MAX([DATA_PIANIF])OVER (PARTITION BY COD_FISCALE, RETE ) AS DATA_PIANIF + FROM + C6MARTPERIODICO.PATRIMONIO_BF + WHERE + 1=1 + AND ID_AREA in ('Pre','Pre1','Pre2') + and ctv >0 + ) K + GROUP BY + COD_FISCALE + ,RETE + ,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_CONTRATTO] + --,[ORDINAMENTO_PROGETTO] +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CONS_ATTIVAGGIORNATA_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CONS_ATTIVAGGIORNATA_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_CONTRATTOSEI.sql b/sql/storedProduzione/C6MartPeriodico_DM_CONTRATTOSEI.sql new file mode 100644 index 00000000..5f90df46 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_CONTRATTOSEI.sql @@ -0,0 +1,40 @@ +--select count(distinct cod_fiscale) from c6martperiodico.rischio_aggregato +--select * from c6martperiodico.scarti +-- FARE FUNZIONE GETPREVTRIMESTRE PER LA DATA DI REVOCA +--select c6martperiodico.gettrimestre2(getdate(),0) +--select c6martperiodico.gettrimestre2(getdate(),1) +--select count(*) from [C6MartPeriodico].[vContrattiPerGenerazioneReport] select count(*) from [C6MartPeriodico].gestione_pdf_ftp where dataGenerazione > c6martperiodico.gettrimestre2(getDate(),1) +--select count(*) from [C6MartPeriodico].[vContrattiPerGenerazioneReport] where freq_diagnosi is not null +--select c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +CREATE procedure [C6MartPeriodico].[DM_CONTRATTOSEI] +AS +TRUNCATE TABLE C6MartPERIODICO.CONTRATTOSEI +INSERT INTO C6MartPERIODICO.CONTRATTOSEI +SELECT + distinct C6.* +FROM + C6Mart.CONTRATTOSEI AS C6 +INNER JOIN C6MartPeriodico.vContrattiPerGenerazioneReport VCON +ON +C6.CodiceContratto = VCON.CodiceContratto +--FROM +-- C6Mart.CONTRATTOSEI AS C6 +-- INNER JOIN C6Mart.GESTIONE_PDF_FTP AS PDF +-- ON C6.Rete = PDF.Rete AND C6.Cod_Fiscale = PDF.CodiceFiscale AND C6.CodiceContratto = SUBSTRING(pdf.NomeFile, 1, 11) --SUBSTRING(PDF.NomeFile, 0, 12) +-- --INNER JOIN c6Martperiodico.Mifid AS mi ON c6.rete=mi.rete AND c6.cod_fiscale=mi.cod_fiscale +-- --inner join c6martperiodico.patrimonio_bf bf on c6.rete = bf.rete and c6.cod_fiscale = bf.cod_fiscale +-- --includi campione +-- --INNER JOIN dbo.CampioneReport AS t ON t.Cod_fiscale = C6.Cod_Fiscale AND t.Rete = C6.Rete +--WHERE +-- --CONDIZIONE 1: Stampo i clienti che hanno revocato nel trimestre +-- ISNULL(C6.Data_FineAvanzato, CAST('99991231' AS datetime)) > c6martperiodico.getPreviousTrimestre(getdate(),0) +-- --V commentare nel giro email +-- --and mi.scaduto =0 +-- --CONDIZIONE 2: Stampo i clienti che hanno ricevuto il benvenuto fino al 1 giorno del mese della chiusura del trimestre +-- and PDF.DataGenerazione < c6martperiodico.gettrimestre2(getdate(),1) --'20110301' +-- --and c6.cod_fiscale in('BLDRRT64D28G482H') --'GZZSLD52E20G869L') +-- --stampa campione per dipartimento +-- --and (provenienza = 'QC') +-- --STAMPO SOLO CHI HA DIAGNOSI and c6.Freq_Diagnosi is not null +-- --CONDIZIONE 3: Stampo il report trimestrale una sola volta nel trimestre +-- AND isnull(C6.Data_Invio_Monitoraggio_Trimestrale,cast('20091101' as datetime)) < c6martperiodico.gettrimestre2(getdate(),0)--'20110331' --cast(C6MartPeriodico.getTrimestre(GETDATE(), 0) as datetime) \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_CONTROLLO_TRIMESTRALE.sql b/sql/storedProduzione/C6MartPeriodico_DM_CONTROLLO_TRIMESTRALE.sql new file mode 100644 index 00000000..e1b4d487 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_CONTROLLO_TRIMESTRALE.sql @@ -0,0 +1,16 @@ +-- Stored procedure +-- ===================================================== +-- Author: colaianni-consoli +-- Create date: 28/06/2011 +-- Description: CARICA LA TABELLA CONTROLLO_TRIMESTRALE +-- CON TUTTI I REPORT OGGETTO DI STAMPA +-- ===================================================== +CREATE procedure [C6MartPeriodico].[DM_CONTROLLO_TRIMESTRALE] AS BEGIN +TRUNCATE TABLE C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +INSERT INTO + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SELECT + COD_FISCALE, RETE, CASE WHEN FREQ_DIAGNOSI IS NULL THEN 0 ELSE 1 END, NULL, NULL, 1, NULL, GETDATE() +FROM + C6MARTPERIODICO.VCONTRATTIPERGENERAZIONEREPORT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_DATI_REPORT.sql b/sql/storedProduzione/C6MartPeriodico_DM_DATI_REPORT.sql new file mode 100644 index 00000000..c256e81a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_DATI_REPORT.sql @@ -0,0 +1,47 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_DATI_REPORT] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + TRUNCATE TABLE C6MartPeriodico.DATI_REPORT + INSERT INTO C6MartPeriodico.[DATI_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[FLAG_REPORT] + ,[REPORT_DIAGN] + ,[REPORT_MONIT] + ,[DATA_REPORT] + ,[REPORT_FREQ] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + NULL AS RETE, + NULL AS COD_FISCALE, + NULL AS INDIRIZZO, + NULL AS LOCALITA, + NULL AS PROVINCIA, + NULL AS CAP, + NULL AS NAZIONE, + NULL AS FLAG_REPORT, + NULL AS REPORT_DIAGN, + NULL AS REPORT_MONIT, + NULL AS DATA_REPORT, + NULL AS REPORT_PROP, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.CATITEMREF + WHERE 1=0 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_DATI_REPORT_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_DATI_REPORT_pre_selective.sql new file mode 100644 index 00000000..addc137c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_DATI_REPORT_pre_selective.sql @@ -0,0 +1,47 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_DATI_REPORT_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + TRUNCATE TABLE C6MartPeriodico.DATI_REPORT + INSERT INTO C6MartPeriodico.[DATI_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[FLAG_REPORT] + ,[REPORT_DIAGN] + ,[REPORT_MONIT] + ,[DATA_REPORT] + ,[REPORT_FREQ] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + NULL AS RETE, + NULL AS COD_FISCALE, + NULL AS INDIRIZZO, + NULL AS LOCALITA, + NULL AS PROVINCIA, + NULL AS CAP, + NULL AS NAZIONE, + NULL AS FLAG_REPORT, + NULL AS REPORT_DIAGN, + NULL AS REPORT_MONIT, + NULL AS DATA_REPORT, + NULL AS REPORT_PROP, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.CATITEMREF + WHERE 1=0 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_DETTAGLIO_ASUL.sql b/sql/storedProduzione/C6MartPeriodico_DM_DETTAGLIO_ASUL.sql new file mode 100644 index 00000000..fa413753 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_DETTAGLIO_ASUL.sql @@ -0,0 +1,99 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_DETTAGLIO_ASUL] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_DETTAGLIO_ASUL', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MARTPERIODICO.DETTAGLIO_ASUL + INSERT INTO [C6MartPeriodico].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + ISNULL( + dbo.Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL AS SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGING.CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.COD_INTERNO + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.COD_SOTTOPRODOTTO + AND (LTRIM(RTRIM(SPB_ASS_UNIT.ISIN)) = '' --SPB_ASS_UNIT.ISIN = ' ' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.COD_ADEGUATEZZA AND + SPB_ASS_UNIT.MAF = CATITEMREF.COD_MAF + ) + ) + WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = ( + SELECT + MAX(DTTRIM) + FROM + C6STAGINGPERIODICO.WSEIUL + ) + AND CATITEMREF.isvisible = 1 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_DETTAGLIO_ASUL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_DETTAGLIO_ASUL' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_DETTAGLIO_ASUL_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_DETTAGLIO_ASUL_pre_selective.sql new file mode 100644 index 00000000..ab670dc2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_DETTAGLIO_ASUL_pre_selective.sql @@ -0,0 +1,99 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_DETTAGLIO_ASUL_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_DETTAGLIO_ASUL_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MARTPERIODICO.DETTAGLIO_ASUL + INSERT INTO [C6MartPeriodico].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + ISNULL( + dbo.Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL AS SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGING.CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.COD_INTERNO + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.COD_SOTTOPRODOTTO + AND (LTRIM(RTRIM(SPB_ASS_UNIT.ISIN)) = '' --SPB_ASS_UNIT.ISIN = ' ' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.COD_ADEGUATEZZA AND + SPB_ASS_UNIT.MAF = CATITEMREF.COD_MAF + ) + ) + WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = ( + SELECT + MAX(DTTRIM) + FROM + C6STAGINGPERIODICO.WSEIUL + ) + AND CATITEMREF.isvisible = 1 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_DETTAGLIO_ASUL_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_DETTAGLIO_ASUL_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_DettaglioMovimenti.sql b/sql/storedProduzione/C6MartPeriodico_DM_DettaglioMovimenti.sql new file mode 100644 index 00000000..c514846d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_DettaglioMovimenti.sql @@ -0,0 +1,157 @@ +CREATE procedure [C6MartPeriodico].[DM_DettaglioMovimenti] +AS BEGIN +DECLARE @RETE char(1), @CODFIS varchar(16), @CODMAN varchar(6) +DECLARE @DETT_MOV_PREC decimal(15,2), @DETT_MOV_CORR decimal(15,2), @MOV_TRIMESTRE_PREC decimal(15,2) +DECLARE @TrimestreDettMov varchar(8) +DECLARE @appoDataAvvioMon varchar(8) +--SET @appoDataAvvioMon = '20151201' +-- Modifica del 13/9/2016 con la creazione di una funzione che torna la dataAvvioMon, eliminando così l'aggiornamento manuale e quindi uno step dalla simulazione +--------->SET @appoDataAvvioMon = '20160301' --simulazione del 18/03/2016 +SET @appoDataAvvioMon = c6martperiodico.get_appoDataAvvioMon(null) +-- Fine modifica del 13/9/2016 +--SET @TrimestreDettMov = C6MartPeriodico.getTrimestreDettMov() +SET @TrimestreDettMov = C6MartPeriodico.getTrimestre2(getdate(), 0) --'20120531' simul +TRUNCATE TABLE C6MartPeriodico.DettaglioMovimenti +DECLARE DettMov_cursor CURSOR FOR +SELECT + RETE, + CODFIS, + CODMAN +FROM + [C6StagingPeriodico].[W6APAG] +--WHERE +-- CODFIS='BCCPRZ52T67H945W' AND RETE='F' +GROUP BY + RETE, + CODFIS, + CODMAN +/* +SELECT + [RETE], + CASE + WHEN CODMAN = '' + THEN CODFIS + ELSE 'FF@' + CODMAN + END AS COD_FIS +FROM + [C6StagingPeriodico].[W6APTR] +GROUP BY + RETE, + CASE WHEN CODMAN = '' THEN CODFIS ELSE 'FF@' + CODMAN END +*/ +DECLARE @DataAvvioMon DATETIME --varchar(8) +DECLARE @DataPrecInvioRep DATETIME --varchar(8) +OPEN DettMov_cursor +FETCH NEXT FROM DettMov_cursor +INTO @RETE, @CODFIS, @CODMAN +WHILE @@FETCH_STATUS = 0 +BEGIN + IF @CODMAN <> '' + SET @CODFIS = 'FF@' + @CODMAN + SELECT @DataAvvioMon = DATA_FOTO + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @RETE AND + COD_FISCALE = @CODFIS + IF EXISTS (SELECT * FROM C6MARTPERIODICO.MONITORAGGIO_REPORT + WHERE RETE = @RETE AND COD_FISCALE = @CODFIS) + BEGIN + --PRECEDENTE + IF @DataAvvioMon < '20111001' + SET @DETT_MOV_PREC = null +----------------------------------- + IF @CODMAN <> '' + SET @CODFIS = 'FF§' + @CODMAN + IF @DataAvvioMon >= '20111001' AND @DataAvvioMon <= @appoDataAvvioMon + SELECT + @DETT_MOV_PREC = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM < @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + --CORRENTE + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + Set @MOV_TRIMESTRE_PREC = @DETT_MOV_CORR + END + ELSE + BEGIN + --ACCORPAMENTO (cambiare prossima simulazione) + SET @DETT_MOV_PREC = null + IF @DataAvvioMon < '20111001' + SET @DETT_MOV_CORR = null + IF @DataAvvioMon >= '20111001' AND @DataAvvioMon < @appoDataAvvioMon + begin + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + GROUP BY RETE, CODFIS, CODMAN + SELECT + @MOV_TRIMESTRE_PREC = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + end + IF @DataAvvioMon >= @appoDataAvvioMon + begin + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + Set @MOV_TRIMESTRE_PREC = @DETT_MOV_CORR + end +------------------------------------ + END + IF @CODMAN <> '' + SET @CODFIS = 'FF@' + @CODMAN + INSERT INTO C6MartPeriodico.DettaglioMovimenti + (RETE, COD_FIS, DETT_MOV_PREC, DETT_MOV_CORR, DETT_MOV_TRIMESTRE_PREC) + VALUES + (@RETE, @CODFIS, @DETT_MOV_PREC, @DETT_MOV_CORR, @MOV_TRIMESTRE_PREC) + SET @DETT_MOV_PREC = null + SET @DETT_MOV_CORR = null + SET @MOV_TRIMESTRE_PREC = null + FETCH NEXT FROM DettMov_cursor + INTO @RETE, @CODFIS, @CODMAN +END +CLOSE DettMov_cursor +DEALLOCATE DettMov_cursor +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_DettaglioMovimenti_20160913.sql b/sql/storedProduzione/C6MartPeriodico_DM_DettaglioMovimenti_20160913.sql new file mode 100644 index 00000000..06fd5a31 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_DettaglioMovimenti_20160913.sql @@ -0,0 +1,154 @@ +CREATE procedure [C6MartPeriodico].[DM_DettaglioMovimenti_20160913] +AS BEGIN +DECLARE @RETE char(1), @CODFIS varchar(16), @CODMAN varchar(6) +DECLARE @DETT_MOV_PREC decimal(15,2), @DETT_MOV_CORR decimal(15,2), @MOV_TRIMESTRE_PREC decimal(15,2) +DECLARE @TrimestreDettMov varchar(8) +DECLARE @appoDataAvvioMon varchar(8) +--SET @appoDataAvvioMon = '20151201' +SET @appoDataAvvioMon = '20160301' --simulazione del 18/03/2016 +--SET @TrimestreDettMov = C6MartPeriodico.getTrimestreDettMov() +SET @TrimestreDettMov = C6MartPeriodico.getTrimestre2(getdate(), 0) --'20120531' simul +TRUNCATE TABLE C6MartPeriodico.DettaglioMovimenti +DECLARE DettMov_cursor CURSOR FOR +SELECT + RETE, + CODFIS, + CODMAN +FROM + [C6StagingPeriodico].[W6APAG] +--WHERE +-- CODFIS='BCCPRZ52T67H945W' AND RETE='F' +GROUP BY + RETE, + CODFIS, + CODMAN +/* +SELECT + [RETE], + CASE + WHEN CODMAN = '' + THEN CODFIS + ELSE 'FF@' + CODMAN + END AS COD_FIS +FROM + [C6StagingPeriodico].[W6APTR] +GROUP BY + RETE, + CASE WHEN CODMAN = '' THEN CODFIS ELSE 'FF@' + CODMAN END +*/ +DECLARE @DataAvvioMon DATETIME --varchar(8) +DECLARE @DataPrecInvioRep DATETIME --varchar(8) +OPEN DettMov_cursor +FETCH NEXT FROM DettMov_cursor +INTO @RETE, @CODFIS, @CODMAN +WHILE @@FETCH_STATUS = 0 +BEGIN + IF @CODMAN <> '' + SET @CODFIS = 'FF@' + @CODMAN + SELECT @DataAvvioMon = DATA_FOTO + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @RETE AND + COD_FISCALE = @CODFIS + IF EXISTS (SELECT * FROM C6MARTPERIODICO.MONITORAGGIO_REPORT + WHERE RETE = @RETE AND COD_FISCALE = @CODFIS) + BEGIN + --PRECEDENTE + IF @DataAvvioMon < '20111001' + SET @DETT_MOV_PREC = null +----------------------------------- + IF @CODMAN <> '' + SET @CODFIS = 'FF§' + @CODMAN + IF @DataAvvioMon >= '20111001' AND @DataAvvioMon <= @appoDataAvvioMon + SELECT + @DETT_MOV_PREC = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM < @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + --CORRENTE + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + Set @MOV_TRIMESTRE_PREC = @DETT_MOV_CORR + END + ELSE + BEGIN + --ACCORPAMENTO (cambiare prossima simulazione) + SET @DETT_MOV_PREC = null + IF @DataAvvioMon < '20111001' + SET @DETT_MOV_CORR = null + IF @DataAvvioMon >= '20111001' AND @DataAvvioMon < @appoDataAvvioMon + begin + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + GROUP BY RETE, CODFIS, CODMAN + SELECT + @MOV_TRIMESTRE_PREC = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + end + IF @DataAvvioMon >= @appoDataAvvioMon + begin + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + Set @MOV_TRIMESTRE_PREC = @DETT_MOV_CORR + end +------------------------------------ + END + IF @CODMAN <> '' + SET @CODFIS = 'FF@' + @CODMAN + INSERT INTO C6MartPeriodico.DettaglioMovimenti + (RETE, COD_FIS, DETT_MOV_PREC, DETT_MOV_CORR, DETT_MOV_TRIMESTRE_PREC) + VALUES + (@RETE, @CODFIS, @DETT_MOV_PREC, @DETT_MOV_CORR, @MOV_TRIMESTRE_PREC) + SET @DETT_MOV_PREC = null + SET @DETT_MOV_CORR = null + SET @MOV_TRIMESTRE_PREC = null + FETCH NEXT FROM DettMov_cursor + INTO @RETE, @CODFIS, @CODMAN +END +CLOSE DettMov_cursor +DEALLOCATE DettMov_cursor +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_DettaglioMovimenti_old.sql b/sql/storedProduzione/C6MartPeriodico_DM_DettaglioMovimenti_old.sql new file mode 100644 index 00000000..49157d18 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_DettaglioMovimenti_old.sql @@ -0,0 +1,95 @@ +CREATE procedure [C6MartPeriodico].[DM_DettaglioMovimenti_old] +AS BEGIN +DECLARE @RETE char(1), @CODFIS varchar(16), @CODMAN varchar(6) +DECLARE @DETT_MOV_PREC decimal(15,2), @DETT_MOV_CORR decimal(15,2) +DECLARE @TrimestreDettMov varchar(8) +SET @TrimestreDettMov = C6MartPeriodico.getTrimestreDettMov() +TRUNCATE TABLE C6MartPeriodico.DettaglioMovimenti +DECLARE DettMov_cursor CURSOR FOR +SELECT + RETE, + CODFIS, + CODMAN +FROM + [C6StagingPeriodico].[W6APTR] +GROUP BY + RETE, + CODFIS, + CODMAN +/* +SELECT + [RETE], + CASE + WHEN CODMAN = '' + THEN CODFIS + ELSE 'FF@' + CODMAN + END AS COD_FIS +FROM + [C6StagingPeriodico].[W6APTR] +GROUP BY + RETE, + CASE WHEN CODMAN = '' THEN CODFIS ELSE 'FF@' + CODMAN END +*/ +OPEN DettMov_cursor +FETCH NEXT FROM DettMov_cursor +INTO @RETE, @CODFIS, @CODMAN +WHILE @@FETCH_STATUS = 0 +BEGIN + IF EXISTS (SELECT * FROM [C6StagingPeriodico].[S80_EVOL_STAMPA_C6] + WHERE RETE = @RETE AND COD_FISCALE = @CODFIS) + BEGIN + --PRECEDENTE + SELECT + @DETT_MOV_PREC = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM < @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + --CORRENTE + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + END + ELSE + BEGIN + --ACCORPAMENTO (cambiare prossima simulazione) + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + GROUP BY RETE, CODFIS, CODMAN + END + IF @CODMAN <> '' + SET @CODFIS = 'FF@' + @CODMAN + INSERT INTO C6MartPeriodico.DettaglioMovimenti + (RETE, COD_FIS, DETT_MOV_PREC, DETT_MOV_CORR) + VALUES + (@RETE, @CODFIS, @DETT_MOV_PREC, @DETT_MOV_CORR) + SET @DETT_MOV_PREC = null + SET @DETT_MOV_CORR = null + FETCH NEXT FROM DettMov_cursor + INTO @RETE, @CODFIS, @CODMAN +END +CLOSE DettMov_cursor +DEALLOCATE DettMov_cursor +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_DettaglioMovimenti_old2.sql b/sql/storedProduzione/C6MartPeriodico_DM_DettaglioMovimenti_old2.sql new file mode 100644 index 00000000..b9499369 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_DettaglioMovimenti_old2.sql @@ -0,0 +1,49 @@ +create PROCEDURE [C6MartPeriodico].[DM_DettaglioMovimenti_old2] +AS BEGIN +--nuovo +DECLARE @MaxTrim varchar(8) +DECLARE @MinTrim varchar(8) +--fine nuovo +/*DECLARE @RETE char(1), @CODFIS varchar(16), @CODMAN varchar(6) +DECLARE @DETT_MOV_PREC decimal(15,2), @DETT_MOV_CORR decimal(15,2) +DECLARE @TrimestreDettMov varchar(8) +*/ +--SET @TrimestreDettMov = C6MartPeriodico.getTrimestreDettMov() +TRUNCATE TABLE C6MartPeriodico.DettaglioMovimenti +SELECT @MaxTrim = max(DTTRIM) FROM +(SELECT TOP 2 DTTRIM from [C6StagingPeriodico].[W6APAG] +ORDER BY DTTRIM DESC) a +SELECT @MinTrim = min(DTTRIM) FROM +(SELECT TOP 2 DTTRIM from [C6StagingPeriodico].[W6APAG] +ORDER BY DTTRIM DESC) b +--SELECT * FROM C6MartPeriodico.DettaglioMovimenti +--SELECT * FROM [C6StagingPeriodico].[W6APAG] +INSERT INTO C6MartPeriodico.DettaglioMovimenti +SELECT + RETE, + CASE + WHEN CODMAN = '' --is null + THEN CODFIS + ELSE 'FF@' + CODMAN + END AS COD_FIS, + (APPORTI - PRELIEVI) AS DETT_MOV, + 1 +FROM + [C6StagingPeriodico].[W6APAG] +WHERE + DTTRIM = @MaxTrim +INSERT INTO C6MartPeriodico.DettaglioMovimenti +SELECT + RETE, + CASE + WHEN CODMAN = '' --is null + THEN CODFIS + ELSE 'FF@' + CODMAN + END AS COD_FIS, + (APPORTI - PRELIEVI) AS DETT_MOV, + 0 +FROM + [C6StagingPeriodico].[W6APAG] +WHERE + DTTRIM = @MinTrim +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_DettaglioMovimenti_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_DettaglioMovimenti_pre_selective.sql new file mode 100644 index 00000000..68a4736a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_DettaglioMovimenti_pre_selective.sql @@ -0,0 +1,157 @@ +CREATE procedure [C6MartPeriodico].[DM_DettaglioMovimenti_pre_selective] +AS BEGIN +DECLARE @RETE char(1), @CODFIS varchar(16), @CODMAN varchar(6) +DECLARE @DETT_MOV_PREC decimal(15,2), @DETT_MOV_CORR decimal(15,2), @MOV_TRIMESTRE_PREC decimal(15,2) +DECLARE @TrimestreDettMov varchar(8) +DECLARE @appoDataAvvioMon varchar(8) +--SET @appoDataAvvioMon = '20151201' +-- Modifica del 13/9/2016 con la creazione di una funzione che torna la dataAvvioMon, eliminando così l'aggiornamento manuale e quindi uno step dalla simulazione +--------->SET @appoDataAvvioMon = '20160301' --simulazione del 18/03/2016 +SET @appoDataAvvioMon = c6martperiodico.get_appoDataAvvioMon(null) +-- Fine modifica del 13/9/2016 +--SET @TrimestreDettMov = C6MartPeriodico.getTrimestreDettMov() +SET @TrimestreDettMov = C6MartPeriodico.getTrimestre2(getdate(), 0) --'20120531' simul +TRUNCATE TABLE C6MartPeriodico.DettaglioMovimenti +DECLARE DettMov_cursor CURSOR FOR +SELECT + RETE, + CODFIS, + CODMAN +FROM + [C6StagingPeriodico].[W6APAG] +--WHERE +-- CODFIS='BCCPRZ52T67H945W' AND RETE='F' +GROUP BY + RETE, + CODFIS, + CODMAN +/* +SELECT + [RETE], + CASE + WHEN CODMAN = '' + THEN CODFIS + ELSE 'FF@' + CODMAN + END AS COD_FIS +FROM + [C6StagingPeriodico].[W6APTR] +GROUP BY + RETE, + CASE WHEN CODMAN = '' THEN CODFIS ELSE 'FF@' + CODMAN END +*/ +DECLARE @DataAvvioMon DATETIME --varchar(8) +DECLARE @DataPrecInvioRep DATETIME --varchar(8) +OPEN DettMov_cursor +FETCH NEXT FROM DettMov_cursor +INTO @RETE, @CODFIS, @CODMAN +WHILE @@FETCH_STATUS = 0 +BEGIN + IF @CODMAN <> '' + SET @CODFIS = 'FF@' + @CODMAN + SELECT @DataAvvioMon = DATA_FOTO + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @RETE AND + COD_FISCALE = @CODFIS + IF EXISTS (SELECT * FROM C6MARTPERIODICO.MONITORAGGIO_REPORT + WHERE RETE = @RETE AND COD_FISCALE = @CODFIS) + BEGIN + --PRECEDENTE + IF @DataAvvioMon < '20111001' + SET @DETT_MOV_PREC = null +----------------------------------- + IF @CODMAN <> '' + SET @CODFIS = 'FF§' + @CODMAN + IF @DataAvvioMon >= '20111001' AND @DataAvvioMon <= @appoDataAvvioMon + SELECT + @DETT_MOV_PREC = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM < @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + --CORRENTE + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + Set @MOV_TRIMESTRE_PREC = @DETT_MOV_CORR + END + ELSE + BEGIN + --ACCORPAMENTO (cambiare prossima simulazione) + SET @DETT_MOV_PREC = null + IF @DataAvvioMon < '20111001' + SET @DETT_MOV_CORR = null + IF @DataAvvioMon >= '20111001' AND @DataAvvioMon < @appoDataAvvioMon + begin + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + GROUP BY RETE, CODFIS, CODMAN + SELECT + @MOV_TRIMESTRE_PREC = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + end + IF @DataAvvioMon >= @appoDataAvvioMon + begin + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + Set @MOV_TRIMESTRE_PREC = @DETT_MOV_CORR + end +------------------------------------ + END + IF @CODMAN <> '' + SET @CODFIS = 'FF@' + @CODMAN + INSERT INTO C6MartPeriodico.DettaglioMovimenti + (RETE, COD_FIS, DETT_MOV_PREC, DETT_MOV_CORR, DETT_MOV_TRIMESTRE_PREC) + VALUES + (@RETE, @CODFIS, @DETT_MOV_PREC, @DETT_MOV_CORR, @MOV_TRIMESTRE_PREC) + SET @DETT_MOV_PREC = null + SET @DETT_MOV_CORR = null + SET @MOV_TRIMESTRE_PREC = null + FETCH NEXT FROM DettMov_cursor + INTO @RETE, @CODFIS, @CODMAN +END +CLOSE DettMov_cursor +DEALLOCATE DettMov_cursor +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_ELABORAZIONI_EMAIL_RNA.sql b/sql/storedProduzione/C6MartPeriodico_DM_ELABORAZIONI_EMAIL_RNA.sql new file mode 100644 index 00000000..4aa7a380 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_ELABORAZIONI_EMAIL_RNA.sql @@ -0,0 +1,93 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ELABORAZIONI_EMAIL_RNA] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE_PB AS RETE, + AL.CODICEFISCALE AS COD_FISCALE, + AL.NOME AS NOME, + AL.COGNOME AS COGNOME, + ISNULL(AL.DATA_NASCITA, CL.DTNASCI) AS DATA_NASCITA, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libero' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libera' + ELSE NULL + END AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + DATEDIFF(YY, ISNULL(AL.DATA_NASCITA, CL.DTNASCI), GETDATE()) AS ETA, + NULL AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + NULL AS SESSO, + AL.CODICE_PB AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN2 CL + ON CL.RETE = AL.RETE_PB + AND CL.CODFIS = AL.CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_EMAIL_PB.sql b/sql/storedProduzione/C6MartPeriodico_DM_EMAIL_PB.sql new file mode 100644 index 00000000..cab791ff --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_EMAIL_PB.sql @@ -0,0 +1,68 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22 gennaio 2009 +-- Description: MOLTO SEMPLIFICATA RISPETTO A QUELLA DELLA FASE UNO: SOLO PB +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_EMAIL_PB] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --TRUNCATE TABLE C6MARTPERIODICO.EMAIL_PB + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_EMAIL_PB', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT DISTINCT + CONTRATTOSEI.RETE AS RETE, + CONTRATTOSEI.COD_AGENTE AS CODICE, + CASE CONTRATTOSEI.RETE + WHEN 'F' THEN 'R' + when 'W' THEN 'W' + ELSE 'P' + END AS PREFISSO, + CASE CONTRATTOSEI.RETE + WHEN 'F' THEN 'R' + when 'W' THEN 'W' + ELSE 'P' + END + CONTRATTOSEI.COD_AGENTE AS FIRMA +, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6MARTPERIODICO.RP_vContrattiPerGenerazioneReport CONTRATTOSEI + LEFT JOIN C6MARTPERIODICO.EMAIL_PB EMAIL_PB_ESISTENTI + ON EMAIL_PB_ESISTENTI.RETE = CONTRATTOSEI.RETE + AND EMAIL_PB_ESISTENTI.CODICE = CONTRATTOSEI.COD_AGENTE + LEFT JOIN C6MARTPERIODICO.CODICI_PROMOTORI_FITTIZI PF + ON (CONTRATTOSEI.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND CONTRATTOSEI.RETE = PF.RETE + WHERE EMAIL_PB_ESISTENTI.EMAIL IS NULL + AND PF.RETE IS NULL + ORDER BY 1,2 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_EMAIL_PB' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_EMAIL_PB' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_EMAIL_PB_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_EMAIL_PB_pre_selective.sql new file mode 100644 index 00000000..e96150ec --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_EMAIL_PB_pre_selective.sql @@ -0,0 +1,66 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22 gennaio 2009 +-- Description: MOLTO SEMPLIFICATA RISPETTO A QUELLA DELLA FASE UNO: SOLO PB +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_EMAIL_PB_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --TRUNCATE TABLE C6MARTPERIODICO.EMAIL_PB + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_EMAIL_PB_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT DISTINCT + CONTRATTOSEI.RETE AS RETE, + CONTRATTOSEI.COD_AGENTE AS CODICE, + CASE CONTRATTOSEI.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE CONTRATTOSEI.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + CONTRATTOSEI.COD_AGENTE AS FIRMA +, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6MARTPERIODICO.RP_vContrattiPerGenerazioneReport CONTRATTOSEI + LEFT JOIN C6MARTPERIODICO.EMAIL_PB EMAIL_PB_ESISTENTI + ON EMAIL_PB_ESISTENTI.RETE = CONTRATTOSEI.RETE + AND EMAIL_PB_ESISTENTI.CODICE = CONTRATTOSEI.COD_AGENTE + LEFT JOIN C6MARTPERIODICO.CODICI_PROMOTORI_FITTIZI PF + ON (CONTRATTOSEI.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND CONTRATTOSEI.RETE = PF.RETE + WHERE EMAIL_PB_ESISTENTI.EMAIL IS NULL + AND PF.RETE IS NULL + ORDER BY 1,2 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_EMAIL_PB_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_EMAIL_PB_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_FOI80.sql b/sql/storedProduzione/C6MartPeriodico_DM_FOI80.sql new file mode 100644 index 00000000..00ddf499 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_FOI80.sql @@ -0,0 +1,180 @@ +-- ============================================= +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_FOI80] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @Par_percentuale INT +SET @Par_percentuale = 80 +DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_FOI80', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.FOI80 + INSERT INTO C6MartPeriodico.FOI80 + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[DESPROD] + ,[CODMAN] + ,[CODCONF] + ,[CODPROD] + ,[SUBPROD] + ,[ISIN] + ,[CTV] + ,[PREZZO] + ,[QUOTE] + ,[PREZZOMAX] + ,[DTPREZZOMAX] + ,[DESMAX] + ,[PREZZOPROT] + ,[CTRVIMPPROT] + ,[DESPROT] + ,[DESPRODTIT] + ,[QUOTA_MAX_PERC] + ) + select --top 10 + @DataFineTrim AS DTTRIM, + DTRIFE AS DTRIFE, + RETE AS RETE, + CODFIS AS CODFIS, + --ISNULL(CAT.NOMEPRODOTTO,'Da SP - Fonditalia Crescita Protetta 80 Cap EUR') as DESPROD, + CAT.NOMEPRODOTTO as DESPROD, + ISNULL(CODMAN,'') AS CODMAN, + CODCONF AS COD_CONF, + CODPROD AS CODPROD, + SUBPROD AS SUBPROD, + ISIN AS ISIN, + CTV AS CTV, + PREZZO AS PREZZO, + QUOTE AS QUOTE, + PREZZOMAX AS PREZZOMAX, + DTPREZZOMAX AS DTPREZZOMAX, + 'Quota massima' AS DESMAX, + PREZZOPROT AS PREZZOPROT, + CTRVIMPPROT AS CTRVIMPPROT, + 'Quota e controvalore protetti *' AS DESPROT, + 'Fonditalia Crescita Protetta 80' AS [DESPRODTIT], + @Par_percentuale AS QUOTA_MAX_PERC + FROM C6StagingPeriodico.WSEIFP FP + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on --UL.codint=CAT.codinterno and + FP.subprod=CAT.codsottoprodotto + --and FP.isin=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE FP.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + --AND FP.isin <> '' +-- union +-- select --top 10 +-- RETE AS RETE, +-- CODFIS AS CODFIS, +-- CAT.NOMEPRODOTTO as DES_PROD, +-- CODCONF AS COD_CONF, +-- PREZZO AS QUOTA, +---- CTV/ PREZZO AS NUMEROQUOTE, +-- QUOTE AS NUMEROQUOTE, +-- CTV AS CONTROVALORE, +-- @DataFineTrim AS DATARIF, +-- 'Quota massima' AS DES_MAX, +-- PREZZOMAX AS QUOTA_MAX, +-- @Par_percentuale AS QUOTA_MAX_PERC, +-- CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, +-- 'Quota e controvalore protetti' AS DES_PROT, +-- PREZZOPROT AS QUOTA_PROT, +---- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, +-- QUOTE AS NUMEROQUOTE_PROT, +-- CTRVIMPPROT AS CONTROVALORE_PROT +-- FROM C6StagingPeriodico.WSEIUL UL +-- LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT +-- on UL.codint=CAT.codinterno +-- and UL.subprod=CAT.codsottoprodotto +-- and UL.isinFIT=ISNULL(CAT.codisin,'') +-- and CAT.visibilita = 1 +-- WHERE UL.DTTRIM = @DataFineTrim +-- and PREZZOMAX <> 0.000 +-- AND UL.isinFIT <> '' +-- union +-- select --top 10 +-- RETE AS RETE, +-- CODFIS AS CODFIS, +-- CAT.NOMEPRODOTTO as DES_PROD, +-- CODCONF AS COD_CONF, +-- PREZZO AS QUOTA, +---- CTV/ PREZZO AS NUMEROQUOTE, +-- QUOTE AS NUMEROQUOTE, +-- CTV AS CONTROVALORE, +-- @DataFineTrim AS DATARIF, +-- 'Quota massima' AS DES_MAX, +-- PREZZOMAX AS QUOTA_MAX, +-- @Par_percentuale AS QUOTA_MAX_PERC, +-- CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, +-- 'Quota e controvalore protetti' AS DES_PROT, +-- PREZZOPROT AS QUOTA_PROT, +---- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, +-- QUOTE AS NUMEROQUOTE_PROT, +-- CTRVIMPPROT AS CONTROVALORE_PROT +-- FROM C6StagingPeriodico.WSEIUL UL +-- LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT +-- on UL.codint=CAT.codinterno +-- and UL.subprod=CAT.codsottoprodotto +-- and CAT.visibilita = 1 +-- WHERE UL.DTTRIM = @DataFineTrim +-- and PREZZOMAX <> 0.000 +-- AND UL.isin = '' +-- AND UL.isinFIT = '' +-- union +-- select --top 10 +-- RETE AS RETE, +-- CODFIS AS CODFIS, +-- CAT.NOMEPRODOTTO as DES_PROD, +-- CODCONF AS COD_CONF, +-- PREZZO AS QUOTA, +---- CTV/ PREZZO AS NUMEROQUOTE, +-- QUOTE AS NUMEROQUOTE, +-- CTV AS CONTROVALORE, +-- @DataFineTrim AS DATARIF, +-- 'Quota massima' AS DES_MAX, +-- PREZZOMAX AS QUOTA_MAX, +-- @Par_percentuale AS QUOTA_MAX_PERC, +-- CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, +-- 'Quota e controvalore protetti' AS DES_PROT, +-- PREZZOPROT AS QUOTA_PROT, +---- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, +-- QUOTE AS NUMEROQUOTE_PROT, +-- CTRVIMPPROT AS CONTROVALORE_PROT +-- FROM C6StagingPeriodico.WSEIGP GP +-- LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT +-- on GP.isin=ISNULL(CAT.codisin,'') +-- and CAT.tipoprodotto = 'GP' +-- and CAT.visibilita = 1 +-- WHERE GP.DTTRIM = @DataFineTrim +-- and PREZZOMAX <> 0.000 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_FOI80' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_FOI80' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_FOI80_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_FOI80_pre_selective.sql new file mode 100644 index 00000000..24dc1631 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_FOI80_pre_selective.sql @@ -0,0 +1,180 @@ +-- ============================================= +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_FOI80_pre_selective] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @Par_percentuale INT +SET @Par_percentuale = 80 +DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_FOI80_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.FOI80 + INSERT INTO C6MartPeriodico.FOI80 + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[DESPROD] + ,[CODMAN] + ,[CODCONF] + ,[CODPROD] + ,[SUBPROD] + ,[ISIN] + ,[CTV] + ,[PREZZO] + ,[QUOTE] + ,[PREZZOMAX] + ,[DTPREZZOMAX] + ,[DESMAX] + ,[PREZZOPROT] + ,[CTRVIMPPROT] + ,[DESPROT] + ,[DESPRODTIT] + ,[QUOTA_MAX_PERC] + ) + select --top 10 + @DataFineTrim AS DTTRIM, + DTRIFE AS DTRIFE, + RETE AS RETE, + CODFIS AS CODFIS, + --ISNULL(CAT.NOMEPRODOTTO,'Da SP - Fonditalia Crescita Protetta 80 Cap EUR') as DESPROD, + CAT.NOMEPRODOTTO as DESPROD, + ISNULL(CODMAN,'') AS CODMAN, + CODCONF AS COD_CONF, + CODPROD AS CODPROD, + SUBPROD AS SUBPROD, + ISIN AS ISIN, + CTV AS CTV, + PREZZO AS PREZZO, + QUOTE AS QUOTE, + PREZZOMAX AS PREZZOMAX, + DTPREZZOMAX AS DTPREZZOMAX, + 'Quota massima' AS DESMAX, + PREZZOPROT AS PREZZOPROT, + CTRVIMPPROT AS CTRVIMPPROT, + 'Quota e controvalore protetti *' AS DESPROT, + 'Fonditalia Crescita Protetta 80' AS [DESPRODTIT], + @Par_percentuale AS QUOTA_MAX_PERC + FROM C6StagingPeriodico.WSEIFP FP + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on --UL.codint=CAT.codinterno and + FP.subprod=CAT.codsottoprodotto + --and FP.isin=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE FP.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + --AND FP.isin <> '' +-- union +-- select --top 10 +-- RETE AS RETE, +-- CODFIS AS CODFIS, +-- CAT.NOMEPRODOTTO as DES_PROD, +-- CODCONF AS COD_CONF, +-- PREZZO AS QUOTA, +---- CTV/ PREZZO AS NUMEROQUOTE, +-- QUOTE AS NUMEROQUOTE, +-- CTV AS CONTROVALORE, +-- @DataFineTrim AS DATARIF, +-- 'Quota massima' AS DES_MAX, +-- PREZZOMAX AS QUOTA_MAX, +-- @Par_percentuale AS QUOTA_MAX_PERC, +-- CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, +-- 'Quota e controvalore protetti' AS DES_PROT, +-- PREZZOPROT AS QUOTA_PROT, +---- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, +-- QUOTE AS NUMEROQUOTE_PROT, +-- CTRVIMPPROT AS CONTROVALORE_PROT +-- FROM C6StagingPeriodico.WSEIUL UL +-- LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT +-- on UL.codint=CAT.codinterno +-- and UL.subprod=CAT.codsottoprodotto +-- and UL.isinFIT=ISNULL(CAT.codisin,'') +-- and CAT.visibilita = 1 +-- WHERE UL.DTTRIM = @DataFineTrim +-- and PREZZOMAX <> 0.000 +-- AND UL.isinFIT <> '' +-- union +-- select --top 10 +-- RETE AS RETE, +-- CODFIS AS CODFIS, +-- CAT.NOMEPRODOTTO as DES_PROD, +-- CODCONF AS COD_CONF, +-- PREZZO AS QUOTA, +---- CTV/ PREZZO AS NUMEROQUOTE, +-- QUOTE AS NUMEROQUOTE, +-- CTV AS CONTROVALORE, +-- @DataFineTrim AS DATARIF, +-- 'Quota massima' AS DES_MAX, +-- PREZZOMAX AS QUOTA_MAX, +-- @Par_percentuale AS QUOTA_MAX_PERC, +-- CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, +-- 'Quota e controvalore protetti' AS DES_PROT, +-- PREZZOPROT AS QUOTA_PROT, +---- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, +-- QUOTE AS NUMEROQUOTE_PROT, +-- CTRVIMPPROT AS CONTROVALORE_PROT +-- FROM C6StagingPeriodico.WSEIUL UL +-- LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT +-- on UL.codint=CAT.codinterno +-- and UL.subprod=CAT.codsottoprodotto +-- and CAT.visibilita = 1 +-- WHERE UL.DTTRIM = @DataFineTrim +-- and PREZZOMAX <> 0.000 +-- AND UL.isin = '' +-- AND UL.isinFIT = '' +-- union +-- select --top 10 +-- RETE AS RETE, +-- CODFIS AS CODFIS, +-- CAT.NOMEPRODOTTO as DES_PROD, +-- CODCONF AS COD_CONF, +-- PREZZO AS QUOTA, +---- CTV/ PREZZO AS NUMEROQUOTE, +-- QUOTE AS NUMEROQUOTE, +-- CTV AS CONTROVALORE, +-- @DataFineTrim AS DATARIF, +-- 'Quota massima' AS DES_MAX, +-- PREZZOMAX AS QUOTA_MAX, +-- @Par_percentuale AS QUOTA_MAX_PERC, +-- CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, +-- 'Quota e controvalore protetti' AS DES_PROT, +-- PREZZOPROT AS QUOTA_PROT, +---- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, +-- QUOTE AS NUMEROQUOTE_PROT, +-- CTRVIMPPROT AS CONTROVALORE_PROT +-- FROM C6StagingPeriodico.WSEIGP GP +-- LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT +-- on GP.isin=ISNULL(CAT.codisin,'') +-- and CAT.tipoprodotto = 'GP' +-- and CAT.visibilita = 1 +-- WHERE GP.DTTRIM = @DataFineTrim +-- and PREZZOMAX <> 0.000 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_FOI80_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_FOI80_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql b/sql/storedProduzione/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql new file mode 100644 index 00000000..f2270f09 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql @@ -0,0 +1,103 @@ +-- ============================================= +-- Author: +-- Create date: <13/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_GESTIONE_EMAIL_REPORT_DA_GENERARE] +AS +BEGIN +--TRUNCATE TABLE C6MartPeriodico.GESTIONE_EMAIl +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() +DECLARE @GETDATE AS DATETIME +SELECT @GETDATE = GETDATE() +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_GESTIONE_EMAIL_REPORT_DA_GENERARE', + GETDATE(), + 'Elaborazione trimestrale' +) + --1. INSERIMENTO MAIL "LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- NON PRESENTI SU GESTIONE_EMAIL +DECLARE @TIPOEMAIL AS VARCHAR(50) +SET @TIPOEMAIL = 'LC_REP_DA_GEN' +DECLARE @id_periodiodo as int + select @id_periodiodo = max(id_periodo) from [10.10.32.84].controllodata.dbo.clientiAdeguatezza_ALL + INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,CodicePB,Tipo,Data_Generazione, ID_ELAB) + SELECT + DISTINCT + C6.Rete, + C6.Cod_Agente as CodicePB, + @TIPOEMAIL as TipoEmail, + @GETDATE AS DataGenerazione, + @ID_ELAB as ID_ELAB + --FROM C6MartPeriodico.vContrattiPerGenerazioneReport C6 --V cambiata la vista + FROM + (select * from C6MartPeriodico.vContrattiPerGenerazioneReport + where rete + cod_agente in +( +select + a.rete+ cod_agente + from + c6mart.contrattosei a + left outer join + [10.10.32.84].controllodata.dbo.clientiAdeguatezza_ALL b + on + (case + when len("codice mandato") = 0 + then b."codice fiscale" + else 'FF@'+ "codice mandato" + end) = a.cod_fiscale + and a.rete=b.rete + and a.cod_agente = substring(b.codagente, 2, len(b.codagente)- 1) + where + b.id_periodo= @id_periodiodo--- chiedi ad antonio il periodo + and a.data_fineavanzato is null + and profilo > 0 + and dtprofilo is null +)) C6 +--C6MartPeriodico.vContrattiPerGenerazioneReport C6 + LEFT OUTER JOIN C6MartPeriodico.GESTIONE_EMAIL EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_Agente = EMAIL.CodicePB + AND EMAIL.TIPO = @TIPOEMAIL + AND YEAR(EMAIL.Data_Generazione) = YEAR(@GETDATE) + AND MONTH(EMAIL.Data_Generazione) = MONTH(@GETDATE) + AND ISNULL(EMAIL.[Inviata],'N') = 'N' + LEFT OUTER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.CodicePB IS NULL + AND PF.RETE IS NULL +--recupero mail errate +--and c6.rete+c6.cod_agente in ( +-- select * from temp_promotori) +-- +IF @@ERROR<>0 ROLLBACK +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT +WHERE + Nome = 'DM_GESTIONE_EMAIL_REPORT_DA_GENERARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GESTIONE_EMAIL_REPORT_DA_GENERARE' + ) +COMMIT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_DEFINITIVI.sql b/sql/storedProduzione/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_DEFINITIVI.sql new file mode 100644 index 00000000..c3f9465b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_DEFINITIVI.sql @@ -0,0 +1,49 @@ +-- ============================================= +-- Author: +-- Create date: <13/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_GESTIONE_EMAIL_REPORT_DEFINITIVI] +AS +BEGIN +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() +DECLARE @GETDATE AS DATETIME +SELECT @GETDATE = GETDATE() + --1. INSERIMENTO MAIL "LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- NON PRESENTI SU GESTIONE_EMAIL +DECLARE @TIPOEMAIL AS VARCHAR(50) +SET @TIPOEMAIL = 'LC_REP_DEF' + INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,CodicePB,Tipo,Data_Generazione, ID_ELAB) + SELECT + DISTINCT + REPGEN.Rete, + ANAG_CLIENTI.ID_PROMOTORE as CodicePB, + @TIPOEMAIL as TipoEmail, + @GETDATE AS DataGenerazione, + @ID_ELAB as ID_ELAB + FROM C6MartPeriodico.GESTIONE_PDF_FTP REPGEN + INNER JOIN C6MartPeriodico.ANAG_CLIENTI ANAG_CLIENTI + ON REPGEN.RETE = ANAG_CLIENTI.RETE + AND REPGEN.CODICEFISCALE = ANAG_CLIENTI.COD_FISCALE + AND ISNULL(REPGEN.FLAGINVIO,'N') = 'S' + AND ISNULL(REPGEN.Definitivo,0) = 1 + LEFT OUTER JOIN C6MartPeriodico.GESTIONE_EMAIL EMAIL + ON REPGEN.RETE = EMAIL.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = EMAIL.CodicePB + AND EMAIL.TIPO = @TIPOEMAIL + AND ISNULL(EMAIL.[Inviata],'N') = 'N' + LEFT OUTER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON ANAG_CLIENTI.ID_PROMOTORE BETWEEN PF.CODICEDA AND PF.CODICEA + AND REPGEN.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.CodicePB IS NULL + AND PF.RETE IS NULL +IF @@ERROR<>0 ROLLBACK +COMMIT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_GENERATI.sql b/sql/storedProduzione/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_GENERATI.sql new file mode 100644 index 00000000..f9432b28 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_GENERATI.sql @@ -0,0 +1,41 @@ +-- ============================================= +-- Author: +-- Create date: <13/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_GESTIONE_EMAIL_REPORT_GENERATI] +AS +BEGIN +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() +DECLARE @GETDATE AS DATETIME +SELECT @GETDATE = GETDATE() + --1. INSERIMENTO MAIL "LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- NON PRESENTI SU GESTIONE_EMAIL +DECLARE @TIPOEMAIL AS VARCHAR(50) +SET @TIPOEMAIL = 'LC_REP_GEN' +-- Controllo se ci sono report generati + DECLARE @NUM_RIGHE AS INT + SELECT @NUM_RIGHE = COUNT(*) + FROM C6MartPeriodico.GESTIONE_PDF_FTP REPGEN + LEFT OUTER JOIN C6MartPeriodico.GESTIONE_EMAIL EMAIL + ON REPGEN.ID_ELAB = EMAIL.ID_ELAB + AND ISNULL(REPGEN.FLAGINVIO,'N') = 'N' + AND EMAIL.TIPO = @TIPOEMAIL + AND ISNULL(EMAIL.[Inviata],'N') = 'N' + WHERE 1 = 1 + --AND REPGEN.ID_ELAB = @ID_ELAB + AND EMAIL.ID_ELAB IS NULL +IF @NUM_RIGHE > 0 +BEGIN +INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,CodicePB,SistemiOperativi ,Tipo,Data_Generazione, ID_ELAB) +VALUES('','','S',@TIPOEMAIL,@GETDATE,@ID_ELAB) +END +IF @@ERROR<>0 ROLLBACK +COMMIT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_GESTIONE_EMAIL_RNA.sql b/sql/storedProduzione/C6MartPeriodico_DM_GESTIONE_EMAIL_RNA.sql new file mode 100644 index 00000000..2e03c586 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_GESTIONE_EMAIL_RNA.sql @@ -0,0 +1,52 @@ +-- ============================================= +-- Author: +-- Create date: <13/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_GESTIONE_EMAIL_RNA] +AS +BEGIN +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() +DECLARE @GETDATE AS DATETIME +SELECT @GETDATE = GETDATE() +-- RECUPERO LA TIPOLOGIA DI EMAIL DI SOLLECITO +DECLARE @NUMEL_EMAIL_AL_MESE AS INT +SELECT @NUMEL_EMAIL_AL_MESE = C6MartPeriodico.getNumeroElaborazioniEmailAlMese() +DECLARE @TIPOEMAIL AS VARCHAR(50) +IF(@NUMEL_EMAIL_AL_MESE = 0) + SET @TIPOEMAIL = 'LC_NOASS' +ELSE + SET @TIPOEMAIL = 'LC_' + CAST(@NUMEL_EMAIL_AL_MESE as VARCHAR(1)) + '_SOLL_NOASS' + --1. INSERIMENTO MAIL "LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- NON PRESENTI SU GESTIONE_EMAIL + INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,CodicePB,Tipo,Data_Generazione, ID_ELAB) + SELECT + DISTINCT + C6.Rete, + C6.CodicePB as CodicePB, + @TIPOEMAIL as TipoEmail, + @GETDATE AS DataGenerazione, + @ID_ELAB as ID_ELAB + FROM C6MartPeriodico.CLIENTI_CON_RNA_ALTO C6 + LEFT OUTER JOIN C6MartPeriodico.GESTIONE_EMAIL EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.CodicePB = EMAIL.CodicePB + AND EMAIL.TIPO = @TIPOEMAIL + AND YEAR(EMAIL.Data_Generazione) = YEAR(@GETDATE) + AND MONTH(EMAIL.Data_Generazione) = MONTH(@GETDATE) + LEFT OUTER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.CodicePB BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.CodicePB IS NULL + AND PF.RETE IS NULL +-- +IF @@ERROR<>0 ROLLBACK +COMMIT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_MAIL_PROFILI_RISCHIO.sql b/sql/storedProduzione/C6MartPeriodico_DM_MAIL_PROFILI_RISCHIO.sql new file mode 100644 index 00000000..1f93fa23 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_MAIL_PROFILI_RISCHIO.sql @@ -0,0 +1,28 @@ +-- Stored procedure +CREATE procedure [C6MartPeriodico].[DM_MAIL_PROFILI_RISCHIO] AS +BEGIN +truncate table [C6MartPeriodico].[MAIL_PROFILI_RISCHIO] +insert into [C6MartPeriodico].[MAIL_PROFILI_RISCHIO] +SELECT [rete] + ,[cod_fiscale] + ,[codicecontratto] + ,[cod_agente] + ,[data_sott] + ,[data_perf] + ,[flag_invio_report] + ,[profilo] + ,[dt_creazione_profilo] + ,case + when profilo = 0 then 1 + else 0 + end as flagScaduto + ,case + when datediff(dd,dt_creazione_profilo,c6martperiodico.gettrimestre2(getdate(),0)) / 365.25 < 3 then 0 + else 1 + end as flagScadenzaTrim + ,case + when datediff(dd,dt_creazione_profilo,c6martperiodico.getNexttrimestre(getdate(),0)) / 365.25 < 3 then 0 + else 1 + end as flagScadenzaNextTrim + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[RP_MAIL_PROFILI_RISCHIO] +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_MIFID.sql b/sql/storedProduzione/C6MartPeriodico_DM_MIFID.sql new file mode 100644 index 00000000..6c076e50 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_MIFID.sql @@ -0,0 +1,138 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: Aggiunta chiave primaria autoincrement su tabella di staging +-- per eliminazione duplicati. +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MIFID] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_MIFID', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.MIFID + INSERT INTO C6MartPeriodico.[MIFID] + ([RETE] + ,[COD_FISCALE] + ,[PROFILO_ASS] + ,[DATA_INIZIO_VAL] + ,[ID_ELAB] + ,[RISKCLASS] + ,[EXPERIENCE] + ,SCADUTO ) + SELECT + AN.RETE AS RETE, + AN.CODFIS AS COD_FISCALE, + case when RPF.FLGPROF='P' then 0 else AN.CODPROF end AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + CLASSeRC, + CASE + WHEN + RPF.FLGPROF='P' then -1 else COD_PROFEC + end, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN RPF.FLGPROF='P' then 2 + when ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + FROM + C6StagingPeriodico.WSEIAN2 AS AN + LEFT JOIN C6MartPeriodico.wseirpf RPF + ON AN.RETE=RPF.RETE AND AN.CODFIS=RPF.CODFIS + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + --ON AL.RETE_PB = AN.RETE + --AND AL.CODICEFISCALE = AN.CODFIS + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN='' +UNION +SELECT + AN.RETE AS RETE, + 'FF@' + AN.CODMAN AS COD_FISCALE, --AN.CODFIS AS COD_FISCALE, + case when RPF.FLGPROF='P' then 0 else AN.CODPROF end AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + classErc, + case when RPF.FLGPROF='P' then -1 else COD_PROFEC + end, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN RPF.FLGPROF='P' then 2 + WHEN + ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + FROM + C6StagingPeriodico.WSEIAN2 AS AN + LEFT JOIN C6MartPeriodico.wseirpf RPF + ON AN.RETE=RPF.RETE AND AN.CODFIS=RPF.CODFIS AND AN.CODMAN=RPF.CODMAN + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + -- ON AL.RETE_PB = AN.RETE + -- AND SUBSTRING(AL.CODICEFISCALE,4,4) = AN.CODMAN + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN <> '' + --AND AL.CODICEFISCALE LIKE '%@%' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MIFID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_MIFID' + ) +END +--select count(*) from c6martperiodico.mifid \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_MIFID_BKP_20231114_PRE_RAFFORZAMENTO.sql b/sql/storedProduzione/C6MartPeriodico_DM_MIFID_BKP_20231114_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..6f707e97 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_MIFID_BKP_20231114_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,129 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: Aggiunta chiave primaria autoincrement su tabella di staging +-- per eliminazione duplicati. +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MIFID_BKP_20231114_PRE_RAFFORZAMENTO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_MIFID', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.MIFID + INSERT INTO C6MartPeriodico.[MIFID] + ([RETE] + ,[COD_FISCALE] + ,[PROFILO_ASS] + ,[DATA_INIZIO_VAL] + ,[ID_ELAB] + ,[RISKCLASS] + ,[EXPERIENCE] + ,SCADUTO ) + SELECT + AN.RETE AS RETE, + AN.CODFIS AS COD_FISCALE, + AN.CODPROF AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + CLASSeRC, + COD_PROFEC, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN + ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + FROM + C6StagingPeriodico.WSEIAN2 AS AN + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + --ON AL.RETE_PB = AN.RETE + --AND AL.CODICEFISCALE = AN.CODFIS + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN='' +UNION +SELECT + AN.RETE AS RETE, + 'FF@' + AN.CODMAN AS COD_FISCALE, --AN.CODFIS AS COD_FISCALE, + AN.CODPROF AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + classErc, + COD_PROFEC, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN + ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + FROM + C6StagingPeriodico.WSEIAN2 AS AN + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + -- ON AL.RETE_PB = AN.RETE + -- AND SUBSTRING(AL.CODICEFISCALE,4,4) = AN.CODMAN + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN <> '' + --AND AL.CODICEFISCALE LIKE '%@%' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MIFID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_MIFID' + ) +END +--select count(*) from c6martperiodico.mifid \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_MIFID_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_MIFID_pre_selective.sql new file mode 100644 index 00000000..8e6a4cae --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_MIFID_pre_selective.sql @@ -0,0 +1,129 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: Aggiunta chiave primaria autoincrement su tabella di staging +-- per eliminazione duplicati. +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MIFID_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MIFID_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.MIFID + INSERT INTO C6MartPeriodico.[MIFID] + ([RETE] + ,[COD_FISCALE] + ,[PROFILO_ASS] + ,[DATA_INIZIO_VAL] + ,[ID_ELAB] + ,[RISKCLASS] + ,[EXPERIENCE] + ,SCADUTO ) + SELECT + AN.RETE AS RETE, + AN.CODFIS AS COD_FISCALE, + AN.CODPROF AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + CLASSeRC, + COD_PROFEC, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN + ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + FROM + C6StagingPeriodico.WSEIAN2 AS AN + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + --ON AL.RETE_PB = AN.RETE + --AND AL.CODICEFISCALE = AN.CODFIS + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN='' +UNION +SELECT + AN.RETE AS RETE, + 'FF@' + AN.CODMAN AS COD_FISCALE, --AN.CODFIS AS COD_FISCALE, + AN.CODPROF AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + classErc, + COD_PROFEC, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN + ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + FROM + C6StagingPeriodico.WSEIAN2 AS AN + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + -- ON AL.RETE_PB = AN.RETE + -- AND SUBSTRING(AL.CODICEFISCALE,4,4) = AN.CODMAN + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN <> '' + --AND AL.CODICEFISCALE LIKE '%@%' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MIFID_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MIFID_pre_selective' + ) +END +--select count(*) from c6martperiodico.mifid \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE.sql b/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE.sql new file mode 100644 index 00000000..73cd34e6 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE.sql @@ -0,0 +1,159 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_ATTUALE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_ATTUALE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_ATTIVAZIONE] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[APPORTO_INIZIALE] + ,[APPORTO_SUCCESSIVO] + ,[LIQUIDAZIONI] + ,[CEDOLE_DIVIDENDI] + ,[MINUS_PLUSVALENZA] + ,[RISORSE_ASSOCIATE] + ,[RENDIMENTO_CUMULATO] + ,[RENDIMENTO_ANNUALIZZATO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB]) +-- SELECT +-- WANAB.RETE, +-- WANAB.CODFIS AS COD_FISCALE, +-- CASE +-- WHEN WANAB.CODAREA = 'INV' THEN 'Inv' +-- WHEN WANAB.CODAREA = 'RIS' THEN 'Ris' +-- WHEN WANAB.CODAREA = 'EXR' THEN 'Ext' +-- WHEN WANAB.CODAREA = 'LIQ' THEN 'Liq' +-- END AS ID_AREA, +-- ISNULL(CASE +-- WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN PRCONSUL.C_PROJECTNAM_11D1A +-- ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO +-- END, 'XXX') AS NOME_PROGETTO, +-- CAST(CAST(WANAB.DTRIF AS VARCHAR(8)) AS DATETIME) AS DATA_ATTIVAZIONE, +-- CASE +-- WHEN WANAB.DTCTV = 0 THEN NULL +-- ELSE CAST(CAST(WANAB.DTCTV AS VARCHAR(8)) AS DATETIME) +-- END AS DATA_CTV, +-- WANAB.CTV AS CTV_MONITORATO, +-- WANAB.APP_INI AS APPORTO_INIZIALE, +-- WANAB.NTOT_APP AS APPORTO_SUCCESSIVO, +-- WANAB.NTOT_LIQ AS LIQUIDAZIONI, +-- WANAB.TOT_CED + WANAB.TOT_DIV AS CEDOLE_DIVIDENDI, +-- WANAB.CTV - (WANAB.APP_INI + WANAB.TOT_APP - WANAB.TOT_LIQ - WANAB.TOT_CED - WANAB.TOT_DIV) AS MINUS_PLUSVALENZA, +-- WANAB.APP_INI + WANAB.NTOT_APP - WANAB.NTOT_LIQ - WANAB.TOT_CED - WANAB.TOT_DIV AS RISORSE_ASSOCIATE, +-- WANAB.RENDATT AS RENDIMENTO_CUMULATO, +-- WANAB.RENDATT AS RENDIMENTO_ANNUALIZZATO, +-- WANAB.CODPROG AS ORDINAMENTO_PROGETTO, +-- @ID_ELAB AS ID_ELAB +-- +-- FROM C6StagingPeriodico.WANAB AS WANAB +-- INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL +-- ON WANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 +-- INNER JOIN C6StagingPeriodico.CONSAREA AS AREA +-- ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ +-- INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL +-- ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ +-- INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO +-- ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE +-- AND CONSUL.INSTID = SCELTA_STATO.RETE +-- AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA +-- LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA +-- ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 +-- WHERE 1 = 1 +-- AND WANAB.DTFINE = 99991231 +-- AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 +-- +-- UNION + SELECT + TANAB.RETE, + CASE + WHEN MANDATI.CODMAND IS NULL THEN TANAB.CODFIS + ELSE dbo.getFiduciariaByCodMand(MANDATI.CODMAND) + END AS COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CASE + WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + ELSE LTRIM(RTRIM(PROGETTO_BOZZA.NUOVO_NOME_PROGETTO)) + END, 'XXX') AS NOME_PROGETTO, + CAST(CAST(TANAB.DTRIF AS VARCHAR(8)) AS DATETIME) AS DATA_ATTIVAZIONE, + CASE + WHEN TANAB.DTCTV = 0 THEN NULL + ELSE CAST(CAST(TANAB.DTCTV AS VARCHAR(8)) AS DATETIME) + END AS DATA_CTV, + TANAB.CTV AS CTV_MONITORATO, + TANAB.APP_INI AS APPORTO_INIZIALE, + TANAB.NTOT_APP AS APPORTO_SUCCESSIVO, + TANAB.NTOT_LIQ AS LIQUIDAZIONI, + TANAB.TOT_CED + TANAB.TOT_DIV AS CEDOLE_DIVIDENDI, + TANAB.CTV - (TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ) AS MINUS_PLUSVALENZA, + -- TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ - TANAB.TOT_CED - TANAB.TOT_DIV AS RISORSE_ASSOCIATE, + TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ AS RISORSE_ASSOCIATE, + cast(TANAB.RENDATT as decimal(15,2)) AS RENDIMENTO_CUMULATO, + TANAB.RENDATTANN AS RENDIMENTO_ANNUALIZZATO, + TANAB.CODPROG AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodico.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL + ON TANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 + INNER JOIN C6StagingPeriodico.CONSAREA AS AREA + ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ + INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL + ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO + ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE + AND CONSUL.INSTID = SCELTA_STATO.RETE + AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA + LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA + ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 + LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI + ON TANAB.CODFIS = MANDATI.CODMAND + WHERE 1 = 1 + AND TANAB.DTFINE = 99991231 + AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 + --da eliminare Trimestrale Ottobre 2012 + --and TANAB.CODFIS <> '6120' + --V disabilitazione + --AND tanab.codfis not in('GRVMRZ63C14L566J','DNGMRA56E66D542Z') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_ATTUALE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_ATTUALE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE_pre_selective.sql new file mode 100644 index 00000000..801e9587 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE_pre_selective.sql @@ -0,0 +1,159 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_ATTUALE_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_ATTUALE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_ATTIVAZIONE] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[APPORTO_INIZIALE] + ,[APPORTO_SUCCESSIVO] + ,[LIQUIDAZIONI] + ,[CEDOLE_DIVIDENDI] + ,[MINUS_PLUSVALENZA] + ,[RISORSE_ASSOCIATE] + ,[RENDIMENTO_CUMULATO] + ,[RENDIMENTO_ANNUALIZZATO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB]) +-- SELECT +-- WANAB.RETE, +-- WANAB.CODFIS AS COD_FISCALE, +-- CASE +-- WHEN WANAB.CODAREA = 'INV' THEN 'Inv' +-- WHEN WANAB.CODAREA = 'RIS' THEN 'Ris' +-- WHEN WANAB.CODAREA = 'EXR' THEN 'Ext' +-- WHEN WANAB.CODAREA = 'LIQ' THEN 'Liq' +-- END AS ID_AREA, +-- ISNULL(CASE +-- WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN PRCONSUL.C_PROJECTNAM_11D1A +-- ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO +-- END, 'XXX') AS NOME_PROGETTO, +-- CAST(CAST(WANAB.DTRIF AS VARCHAR(8)) AS DATETIME) AS DATA_ATTIVAZIONE, +-- CASE +-- WHEN WANAB.DTCTV = 0 THEN NULL +-- ELSE CAST(CAST(WANAB.DTCTV AS VARCHAR(8)) AS DATETIME) +-- END AS DATA_CTV, +-- WANAB.CTV AS CTV_MONITORATO, +-- WANAB.APP_INI AS APPORTO_INIZIALE, +-- WANAB.NTOT_APP AS APPORTO_SUCCESSIVO, +-- WANAB.NTOT_LIQ AS LIQUIDAZIONI, +-- WANAB.TOT_CED + WANAB.TOT_DIV AS CEDOLE_DIVIDENDI, +-- WANAB.CTV - (WANAB.APP_INI + WANAB.TOT_APP - WANAB.TOT_LIQ - WANAB.TOT_CED - WANAB.TOT_DIV) AS MINUS_PLUSVALENZA, +-- WANAB.APP_INI + WANAB.NTOT_APP - WANAB.NTOT_LIQ - WANAB.TOT_CED - WANAB.TOT_DIV AS RISORSE_ASSOCIATE, +-- WANAB.RENDATT AS RENDIMENTO_CUMULATO, +-- WANAB.RENDATT AS RENDIMENTO_ANNUALIZZATO, +-- WANAB.CODPROG AS ORDINAMENTO_PROGETTO, +-- @ID_ELAB AS ID_ELAB +-- +-- FROM C6StagingPeriodico.WANAB AS WANAB +-- INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL +-- ON WANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 +-- INNER JOIN C6StagingPeriodico.CONSAREA AS AREA +-- ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ +-- INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL +-- ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ +-- INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO +-- ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE +-- AND CONSUL.INSTID = SCELTA_STATO.RETE +-- AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA +-- LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA +-- ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 +-- WHERE 1 = 1 +-- AND WANAB.DTFINE = 99991231 +-- AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 +-- +-- UNION + SELECT + TANAB.RETE, + CASE + WHEN MANDATI.CODMAND IS NULL THEN TANAB.CODFIS + ELSE dbo.getFiduciariaByCodMand(MANDATI.CODMAND) + END AS COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CASE + WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + ELSE LTRIM(RTRIM(PROGETTO_BOZZA.NUOVO_NOME_PROGETTO)) + END, 'XXX') AS NOME_PROGETTO, + CAST(CAST(TANAB.DTRIF AS VARCHAR(8)) AS DATETIME) AS DATA_ATTIVAZIONE, + CASE + WHEN TANAB.DTCTV = 0 THEN NULL + ELSE CAST(CAST(TANAB.DTCTV AS VARCHAR(8)) AS DATETIME) + END AS DATA_CTV, + TANAB.CTV AS CTV_MONITORATO, + TANAB.APP_INI AS APPORTO_INIZIALE, + TANAB.NTOT_APP AS APPORTO_SUCCESSIVO, + TANAB.NTOT_LIQ AS LIQUIDAZIONI, + TANAB.TOT_CED + TANAB.TOT_DIV AS CEDOLE_DIVIDENDI, + TANAB.CTV - (TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ) AS MINUS_PLUSVALENZA, + -- TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ - TANAB.TOT_CED - TANAB.TOT_DIV AS RISORSE_ASSOCIATE, + TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ AS RISORSE_ASSOCIATE, + cast(TANAB.RENDATT as decimal(15,2)) AS RENDIMENTO_CUMULATO, + TANAB.RENDATTANN AS RENDIMENTO_ANNUALIZZATO, + TANAB.CODPROG AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodico.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL + ON TANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 + INNER JOIN C6StagingPeriodico.CONSAREA AS AREA + ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ + INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL + ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO + ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE + AND CONSUL.INSTID = SCELTA_STATO.RETE + AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA + LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA + ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 + LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI + ON TANAB.CODFIS = MANDATI.CODMAND + WHERE 1 = 1 + AND TANAB.DTFINE = 99991231 + AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 + --da eliminare Trimestrale Ottobre 2012 + --and TANAB.CODFIS <> '6120' + --V disabilitazione + --AND tanab.codfis not in('GRVMRZ63C14L566J','DNGMRA56E66D542Z') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_ATTUALE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_ATTUALE_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO.sql b/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO.sql new file mode 100644 index 00000000..b21d5d3c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO.sql @@ -0,0 +1,124 @@ +-- ============================================= +-- Author: Alessandro Tringali +-- Create date: 18 Settembre 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_DETTAGLIO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_DETTAGLIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + case when A.TIPPROD='CC' and data_associazione < '20110211' then cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + CASE + WHEN MAN.CODMAND IS NULL THEN TCP.CODFIS + ELSE dbo.getFiduciariaByCodMand(MAN.CODMAND) + END AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + LEFT OUTER JOIN + C6STAGINGPERIODICO.WMANDATI MAN + ON ANA.CODFIS = MAN.CODMAND + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CUSTGAR is null OR LTRIM(RTRIM(a.CUSTGAR)) = '') then '0' else A.CUSTGAR end)=B.CUSTGAR +-- AND A.MAF=B.MAF + --V Modifica skandia di tipo ASU2 + AND b.isin = case when (a.tipprod = 'ASU2') then a.isin else 'na' end + --da eliminare Trimestrale Ottobre 2012 + --and B.CODFIS not in ('FF@6120', 'SNTRNI51C01D077B', 'FNTLRA71A61E625O', 'NTMLSN59D60E625H') + --and a.cod_fiscale not in ('GHBSRG47C01B033J') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_DETTAGLIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_DETTAGLIO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql new file mode 100644 index 00000000..7fd8ddc9 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql @@ -0,0 +1,124 @@ +-- ============================================= +-- Author: Alessandro Tringali +-- Create date: 18 Settembre 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_DETTAGLIO_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_DETTAGLIO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + case when A.TIPPROD='CC' and data_associazione < '20110211' then cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + CASE + WHEN MAN.CODMAND IS NULL THEN TCP.CODFIS + ELSE dbo.getFiduciariaByCodMand(MAN.CODMAND) + END AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + LEFT OUTER JOIN + C6STAGINGPERIODICO.WMANDATI MAN + ON ANA.CODFIS = MAN.CODMAND + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CUSTGAR is null OR LTRIM(RTRIM(a.CUSTGAR)) = '') then '0' else A.CUSTGAR end)=B.CUSTGAR +-- AND A.MAF=B.MAF + --V Modifica skandia di tipo ASU2 + AND b.isin = case when (a.tipprod = 'ASU2') then a.isin else 'na' end + --da eliminare Trimestrale Ottobre 2012 + --and B.CODFIS not in ('FF@6120', 'SNTRNI51C01D077B', 'FNTLRA71A61E625O', 'NTMLSN59D60E625H') + --and a.cod_fiscale not in ('GHBSRG47C01B033J') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_DETTAGLIO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_DETTAGLIO_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE.sql b/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE.sql new file mode 100644 index 00000000..54435d25 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE.sql @@ -0,0 +1,83 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_INIZIALE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_INIZIALE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + ([RETE] + ,[COD_FISCALE] + ,[DATA_FOTO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] + ,[RISKCLASS] + , [RISKCLASSMAX] + ,[ID_ELAB]) + SELECT + INSTID AS RETE, + ADBKID AS COD_FISCALE, + C_DATASALVAT_D40E3 AS DATA_FOTO, + C_CTVEXT_34DCC + C_CTVINV_990D8 + C_CTVRIS_43FEA + C_CTVPRE_A0E49 + C_CTVLIQ_54D1B + C_CTVCC_E242D + C_CTVNA_473EA + AS CTV_TOTALE, + C_CTVEXT_34DCC AS CTV_EXT, + C_CTVINV_990D8 AS CTV_INV, + C_CTVRIS_43FEA AS CTV_RIS, + C_CTVPRE_A0E49 AS CTV_PRE, + C_CTVLIQ_54D1B AS CTV_LIQ, + C_CTVCC_E242D AS CTV_CC, + C_CTVNA_473EA AS CTV_NA, + C_INVESTIMEN_5F936 AS PARTITA_VIAGGIANTE, + C_VAR_16494 AS VAR_COMPLESSIVO, + C_COPVAR_5C6E5 AS VAR_COPERTURA, + CODICE_PROFILO AS PROFILO, + VAR_MAX_PROFILO AS VAR_MAX_PROFILO, + c6martperiodico.Codifica_CRisk_PhotoData(RISKCLASS), + c6martperiodico.Codifica_CRisk_PhotoData(RISKCLASSMAX), + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.PHOTO_DATA + WHERE 1 = 1 + AND SUBSTRING(TYPE__TYPE_7CAB6, 1, 1) = '1' + AND SUBSTRING(TYPE__STATUS_1E30E, 1 , 1) = '2' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_INIZIALE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_INIZIALE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA.sql b/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA.sql new file mode 100644 index 00000000..c7b9ffa3 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA.sql @@ -0,0 +1,325 @@ +--exec C6MartPeriodico.DM_MONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA] +as +begin + DECLARE @DataCongelamento DATETIME; + DECLARE @DataCongelamento_Day int; + DECLARE @DataCongelamento_Month int; + DECLARE @DataCongelamento_Year int; + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento(); + SET @DataCongelamento_Day = day(@DataCongelamento); + SET @DataCongelamento_Month = month(@DataCongelamento); + SET @DataCongelamento_Year = year(@DataCongelamento); + ------------------------------------------------------------------- + -- Preparazione del tracciato dei valori + -- da inserire in MONITORAGGIO_INIZIALE e PHOTO_DATA + ------------------------------------------------------------------- + declare @NuoviValori table + ( + Rete varchar(1) + ,Cod_Fiscale varchar(16) + ,Data_Foto datetime + ,Ctv_Totale decimal(15, 2) + ,Ctv_Ext decimal(15, 2) + ,Ctv_Inv decimal(15, 2) + ,Ctv_Ris decimal(15, 2) + ,Ctv_Pre decimal(15, 2) + ,Ctv_Liq decimal(15, 2) + ,Ctv_Cc decimal(15, 2) + ,Ctv_Na decimal(15, 2) + ,ImportoPartiteViaggianti decimal(15, 2) + ,Var_Complessivo decimal(15, 3) + ,Var_Copertura decimal(15, 3) + ); + with K as + ( select distinct Rete, Cod_Fiscale, Data_Foto + from C6MartPeriodico.MONITORAGGIO_INIZIALE + where ( day(Data_Foto) = 31 and month(Data_Foto) = 12 and year(data_foto) = @dataCongelamento_year and + @DataCongelamento_Day = 31 and @DataCongelamento_Month = 12) + or + ( day(Data_Foto) = 31 and month(Data_Foto) = 3 and year(data_foto) = @dataCongelamento_year and + @DataCongelamento_Day = 1 and @DataCongelamento_Month = 4) + or + ( day(Data_Foto) = 30 and month(Data_Foto) = 6 and year(data_foto) = @dataCongelamento_year and + @DataCongelamento_Day = 1 and @DataCongelamento_Month = 7) + or + ( day(Data_Foto) = 30 and month(Data_Foto) = 9 and year(data_foto) = @dataCongelamento_year and + @DataCongelamento_Day = 1 and @DataCongelamento_Month = 10) + ) + , Controvalore_Totale as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Ctv) as Ctv_Totale + from K + inner join + ( + select Rete, Cod_Fiscale, Ctv + from C6MartPeriodico.Patrimonio_Bf + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , Controvalore_Ext as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Ctv) as Ctv_Ext + from K + inner join + ( + select Rete, Cod_Fiscale, Ctv + from C6MartPeriodico.Patrimonio_Bf + where id_Area = 'Ext' + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , Controvalore_Inv as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Ctv) as Ctv_Inv + from K + inner join + ( + select Rete, Cod_Fiscale, Ctv + from C6MartPeriodico.Patrimonio_Bf + where id_Area = 'Inv' + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , Controvalore_Ris as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Ctv) as Ctv_Ris + from K + inner join + ( + select Rete, Cod_Fiscale, Ctv + from C6MartPeriodico.Patrimonio_Bf + where id_Area = 'Ris' + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , Controvalore_Pre as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Ctv) as Ctv_Pre + from K + inner join + ( + select Rete, Cod_Fiscale, Ctv + from C6MartPeriodico.Patrimonio_Bf + where id_Area in ('Pre','Pre1','Pre2') + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , Controvalore_Liq as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Ctv) as Ctv_Liq + from K + inner join + ( + select Rete, Cod_Fiscale, Ctv + from C6MartPeriodico.Patrimonio_Bf + where id_Area = 'Liq' + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , Controvalore_Cc as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Ctv) as Ctv_Cc + from K + inner join + ( + select Rete, Cod_Fiscale, Ctv + from C6MartPeriodico.Patrimonio_Bf + where id_Area = 'Cc' + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , Controvalore_Na as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Ctv) as Ctv_Na + from K + inner join + ( + select Rete, Cod_Fiscale, Ctv + from C6MartPeriodico.Patrimonio_Bf + where id_Area = 'Na' + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , PartiteViaggianti as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Importo) as Importo + from K + inner join + ( + select Rete, Cod_Fiscale, Importo + from c6martperiodico.partite_viaggianti + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , PartiteViaggianti_Patrimonio_Bf as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.PartVia_DisInv) as Importo + from K + inner join + ( + select Rete, Cod_Fiscale, PartVia_DisInv + from c6martperiodico.Patrimonio_Bf + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , VarCopertura as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Var_Perc_Ptf) as Var_Complessivo, + Sum(C.Copertura) as Var_Copertura + from K + inner join + ( + select Rete, Cod_Fiscale, Var_Perc_Ptf, Copertura, COD_AGGREG + from C6MartPeriodico.RISCHIO_AGGREGATO + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + where C.COD_AGGREG = 'COMPLESSIVO|BF' + group by K.Rete, K.Cod_Fiscale + ) + ------------------------------------------------------------------- + -- Calcolo dei nuovi valori per l'aggiornamento + -- della MONITORAGGIO_INIZIALE e della PHOTO_DATA + ------------------------------------------------------------------- + insert into @NuoviValori + select K.Rete, + K.Cod_Fiscale, + K.Data_Foto, + coalesce(Controvalore_Totale.Ctv_Totale, 0) as Ctv_Totale, + coalesce(Controvalore_Ext.Ctv_Ext, 0) as Ctv_Ext, + coalesce(Controvalore_Inv.Ctv_Inv, 0) as Ctv_Inv, + coalesce(Controvalore_Ris.Ctv_Ris, 0) as Ctv_Ris, + coalesce(Controvalore_Pre.Ctv_Pre, 0) as Ctv_Pre, + coalesce(Controvalore_Liq.Ctv_Liq, 0) as Ctv_Liq, + coalesce(Controvalore_Cc.Ctv_Cc, 0) as Ctv_Cc, + coalesce(Controvalore_Na.Ctv_Na, 0) as Ctv_Na, + coalesce(PartiteViaggianti.Importo + PartiteViaggianti_Patrimonio_Bf.Importo, 0) as ImportoPartiteViaggianti, + coalesce(VarCopertura.Var_Complessivo, 0) as Var_Complessivo, + coalesce(VarCopertura.Var_Copertura, 0) as Var_Copertura + from K + inner join Controvalore_Totale on K.Rete = Controvalore_Totale.Rete and + K.Cod_Fiscale = Controvalore_Totale.Cod_Fiscale + left join Controvalore_Ext on K.Rete = Controvalore_Ext.Rete and + K.Cod_Fiscale = Controvalore_Ext.Cod_Fiscale + left join Controvalore_Inv on K.Rete = Controvalore_Inv.Rete and + K.Cod_Fiscale = Controvalore_Inv.Cod_Fiscale + left join Controvalore_Ris on K.Rete = Controvalore_Ris.Rete and + K.Cod_Fiscale = Controvalore_Ris.Cod_Fiscale + left join Controvalore_Pre on K.Rete = Controvalore_Pre.Rete and + K.Cod_Fiscale = Controvalore_Pre.Cod_Fiscale + left join Controvalore_Liq on K.Rete = Controvalore_Liq.Rete and + K.Cod_Fiscale = Controvalore_Liq.Cod_Fiscale + left join Controvalore_Cc on K.Rete = Controvalore_Cc.Rete and + K.Cod_Fiscale = Controvalore_Cc.Cod_Fiscale + left join Controvalore_Na on K.Rete = Controvalore_Na.Rete and + K.Cod_Fiscale = Controvalore_Na.Cod_Fiscale + inner join VarCopertura on Controvalore_Totale.Rete = VarCopertura.Rete and + Controvalore_Totale.Cod_Fiscale = VarCopertura.Cod_Fiscale + left join PartiteViaggianti on VarCopertura.Rete = PartiteViaggianti.Rete and + VarCopertura.Cod_Fiscale = PartiteViaggianti.Cod_Fiscale + left join PartiteViaggianti_Patrimonio_Bf + on PartiteViaggianti.Rete = PartiteViaggianti_Patrimonio_Bf.Rete and + PartiteViaggianti.Cod_Fiscale = PartiteViaggianti_Patrimonio_Bf.Cod_Fiscale + ------------------------------------------------------------------- + -- Aggiornamento MONITORAGGIO_INIZIALE + ------------------------------------------------------------------- + Update Destinazione + set CTV_Totale = NuoviValori.Ctv_Totale + ,CTV_EXT = NuoviValori.Ctv_Ext + ,CTV_INV = NuoviValori.Ctv_Inv + ,CTV_RIS = NuoviValori.Ctv_Ris + ,CTV_PRE = NuoviValori.Ctv_Pre + ,CTV_LIQ = NuoviValori.Ctv_Liq + ,CTV_CC = NuoviValori.Ctv_Cc + ,CTV_NA = NuoviValori.Ctv_Na + ,PARTITA_VIAGGIANTE = NuoviValori.ImportoPartiteViaggianti + ,VAR_COMPLESSIVO = NuoviValori.Var_Complessivo + ,VAR_COPERTURA = NuoviValori.Var_Copertura + from + @NuoviValori NuoviValori + inner join + C6MartPeriodico.MONITORAGGIO_INIZIALE Destinazione + on NuoviValori.Rete = Destinazione.Rete and + NuoviValori.Cod_Fiscale = Destinazione.Cod_Fiscale + ------------------------------------------------------------------- + -- Aggiornamento PHOTO_DATA + ------------------------------------------------------------------- + Update Destinazione + set C_CTVEXT_34DCC = NuoviValori.Ctv_Ext + ,C_CTVINV_990D8 = NuoviValori.Ctv_Inv + ,C_CTVRIS_43FEA = NuoviValori.Ctv_Ris + ,C_CTVPRE_A0E49 = NuoviValori.Ctv_Pre + ,C_CTVLIQ_54D1B = NuoviValori.Ctv_Liq + ,C_CTVCC_E242D = NuoviValori.Ctv_Cc + ,C_CTVNA_473EA = NuoviValori.Ctv_Na + ,C_INVESTIMEN_5F936 = NuoviValori.ImportoPartiteViaggianti + ,C_VAR_16494 = NuoviValori.Var_Complessivo + ,C_COPVAR_5C6E5 = NuoviValori.Var_Copertura + from + @NuoviValori NuoviValori + inner join + C6STAGINGPERIODICO.PHOTO_DATA Destinazione + on NuoviValori.Rete = Destinazione.INSTID and + NuoviValori.Cod_Fiscale = Destinazione.ADBKID and + NuoviValori.Data_Foto = Destinazione.C_DATASALVAT_D40E3 + where Destinazione.TYPE__STATUS_1E30E = 2 + ------------------------------------------------------------------- + -- Ritorno valori per uso ORACLE + ------------------------------------------------------------------- + select Staging.OID_ + ,NuoviValori.Rete as INSTID + ,NuoviValori.Cod_Fiscale as ADBKID + ,NuoviValori.Data_Foto as C_DATASALVAT_D40E3 + --,NuoviValori.Ctv_Totale as + ,NuoviValori.Ctv_Ext as C_CTVEXT_34DCC + ,NuoviValori.Ctv_Inv as C_CTVINV_990D8 + ,NuoviValori.Ctv_Ris as C_CTVRIS_43FEA + ,NuoviValori.Ctv_Pre as C_CTVPRE_A0E49 + ,NuoviValori.Ctv_Liq as C_CTVLIQ_54D1B + ,NuoviValori.Ctv_Cc as C_CTVCC_E242D + ,NuoviValori.Ctv_Na as C_CTVNA_473EA + ,NuoviValori.ImportoPartiteViaggianti as C_INVESTIMEN_5F936 + ,NuoviValori.Var_Complessivo as C_VAR_16494 + ,NuoviValori.Var_Copertura as C_COPVAR_5C6E5 + from + @NuoviValori NuoviValori + inner join + C6STAGINGPERIODICO.PHOTO_DATA Staging + on NuoviValori.Rete = Staging.INSTID and + NuoviValori.Cod_Fiscale = Staging.ADBKID and + NuoviValori.Data_Foto = Staging.C_DATASALVAT_D40E3 + where Staging.TYPE__STATUS_1E30E = 2 + /*togliere "Developing" */ +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_pre_selective.sql new file mode 100644 index 00000000..acace122 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_pre_selective.sql @@ -0,0 +1,83 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_INIZIALE_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_INIZIALE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + ([RETE] + ,[COD_FISCALE] + ,[DATA_FOTO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] + ,[RISKCLASS] + , [RISKCLASSMAX] + ,[ID_ELAB]) + SELECT + INSTID AS RETE, + ADBKID AS COD_FISCALE, + C_DATASALVAT_D40E3 AS DATA_FOTO, + C_CTVEXT_34DCC + C_CTVINV_990D8 + C_CTVRIS_43FEA + C_CTVPRE_A0E49 + C_CTVLIQ_54D1B + C_CTVCC_E242D + C_CTVNA_473EA + AS CTV_TOTALE, + C_CTVEXT_34DCC AS CTV_EXT, + C_CTVINV_990D8 AS CTV_INV, + C_CTVRIS_43FEA AS CTV_RIS, + C_CTVPRE_A0E49 AS CTV_PRE, + C_CTVLIQ_54D1B AS CTV_LIQ, + C_CTVCC_E242D AS CTV_CC, + C_CTVNA_473EA AS CTV_NA, + C_INVESTIMEN_5F936 AS PARTITA_VIAGGIANTE, + C_VAR_16494 AS VAR_COMPLESSIVO, + C_COPVAR_5C6E5 AS VAR_COPERTURA, + CODICE_PROFILO AS PROFILO, + VAR_MAX_PROFILO AS VAR_MAX_PROFILO, + c6martperiodico.Codifica_CRisk_PhotoData(RISKCLASS), + c6martperiodico.Codifica_CRisk_PhotoData(RISKCLASSMAX), + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.PHOTO_DATA + WHERE 1 = 1 + AND SUBSTRING(TYPE__TYPE_7CAB6, 1, 1) = '1' + AND SUBSTRING(TYPE__STATUS_1E30E, 1 , 1) = '2' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_INIZIALE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_INIZIALE_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_REPORT.sql b/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_REPORT.sql new file mode 100644 index 00000000..4c774905 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_REPORT.sql @@ -0,0 +1,83 @@ +-- ============================================= +-- Author: Alessandro Tringali +-- Create date: 19 Dicembre 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_REPORT] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_REPORT', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_REPORT] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[DATA_INVIO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] +, riskclass +, riskclassmax + ,[ID_ELAB]) + SELECT + RETE, + COD_FISCALE, + DATA_FASE AS DATA_INVIO, + SUM(CONTROVALORE) as CTV_TOTALE, + SUM(CASE WHEN AREA= 'EXT' THEN CONTROVALORE ELSE 0 END ) AS CTV_EXT, + SUM(CASE WHEN AREA= 'INV' THEN CONTROVALORE ELSE 0 END ) AS CTV_INV, + SUM(CASE WHEN AREA= 'RIS' THEN CONTROVALORE ELSE 0 END )AS CTV_RIS, + SUM(CASE WHEN AREA= 'PRE' THEN CONTROVALORE ELSE 0 END )AS CTV_PRE, + SUM(CASE WHEN AREA= 'LIQ' THEN CONTROVALORE ELSE 0 END ) AS CTV_LIQ, + Max(CONTOCORRENTE )AS CTV_CC, + Max(RISORSENONALLOCATE) AS CTV_NA, + MAX(INVESTIMENTIINCORSO) AS PARTITA_VIAGGIANTE, + MAX(VAR_PERC_PTF) AS VAR_COMPLESSIVO, + MAX(COPERTURA) as VAR_COPERTURA, + mAX(PROFILO) AS PROFILO, + MAX(MAX_VAR) AS VAR_MAX_PROFILO, + MAX(RISKCLASS) AS RISKCLASS, + MAX(RISKCLASSMAX) AS RISKCLASSMAX, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.S80_EVOL_STAMPA_C6 + GROUP BY + RETE, + COD_FISCALE, + DATA_FASE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_REPORT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_REPORT' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_REPORT_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_REPORT_pre_selective.sql new file mode 100644 index 00000000..4383c685 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_REPORT_pre_selective.sql @@ -0,0 +1,83 @@ +-- ============================================= +-- Author: Alessandro Tringali +-- Create date: 19 Dicembre 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_REPORT_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_REPORT_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_REPORT] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[DATA_INVIO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] +, riskclass +, riskclassmax + ,[ID_ELAB]) + SELECT + RETE, + COD_FISCALE, + DATA_FASE AS DATA_INVIO, + SUM(CONTROVALORE) as CTV_TOTALE, + SUM(CASE WHEN AREA= 'EXT' THEN CONTROVALORE ELSE 0 END ) AS CTV_EXT, + SUM(CASE WHEN AREA= 'INV' THEN CONTROVALORE ELSE 0 END ) AS CTV_INV, + SUM(CASE WHEN AREA= 'RIS' THEN CONTROVALORE ELSE 0 END )AS CTV_RIS, + SUM(CASE WHEN AREA= 'PRE' THEN CONTROVALORE ELSE 0 END )AS CTV_PRE, + SUM(CASE WHEN AREA= 'LIQ' THEN CONTROVALORE ELSE 0 END ) AS CTV_LIQ, + Max(CONTOCORRENTE )AS CTV_CC, + Max(RISORSENONALLOCATE) AS CTV_NA, + MAX(INVESTIMENTIINCORSO) AS PARTITA_VIAGGIANTE, + MAX(VAR_PERC_PTF) AS VAR_COMPLESSIVO, + MAX(COPERTURA) as VAR_COPERTURA, + mAX(PROFILO) AS PROFILO, + MAX(MAX_VAR) AS VAR_MAX_PROFILO, + MAX(RISKCLASS) AS RISKCLASS, + MAX(RISKCLASSMAX) AS RISKCLASSMAX, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.S80_EVOL_STAMPA_C6 + GROUP BY + RETE, + COD_FISCALE, + DATA_FASE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_REPORT_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_REPORT_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_STORICO.sql b/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_STORICO.sql new file mode 100644 index 00000000..b7f53614 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_STORICO.sql @@ -0,0 +1,141 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_STORICO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_STORICO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_STORICO] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_STORICO] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[RISORSE_ASSOCIATE] + ,[ID_ELAB] + ,CEDOLE_DIV + ,ordinamento_progetto) + SELECT + TANAB.RETE AS RETE, + CASE + WHEN MANDATI.CODMAND IS NULL THEN TANAB.CODFIS + ELSE dbo.getFiduciariaByCodMand(MANDATI.CODMAND) + END AS COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CASE + WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + ELSE LTRIM(RTRIM(PROGETTO_BOZZA.NUOVO_NOME_PROGETTO)) + END, 'XXX') AS NOME_PROGETTO, + CAST(CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) AS DATETIME) AS DATA_CTV, + WRENAB.CTV AS CTV_MONITORATO, + WRENAB.CVN AS RISORSE_ASSOCIATE, + @ID_ELAB AS ID_ELAB, + (TANAB.TOT_CED + TANAB.TOT_DIV) AS CEDOLE_DIV, + tanab.codprog + FROM C6STAGINGPERIODICO.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB + ON TANAB.CODPROG = WRENAB.CODPROG + AND TANAB.DTRIF = WRENAB.DTRIF + INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL + ON TANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 + INNER JOIN C6StagingPeriodico.CONSAREA AS AREA + ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ + INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL + ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO + ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE + AND CONSUL.INSTID = SCELTA_STATO.RETE + AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA + LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA + ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 + LEFT OUTER JOIN C6StagingPeriodico.WMANDATI AS MANDATI + ON TANAB.CODFIS = MANDATI.CODMAND + WHERE 1 = 1 + AND TANAB.DTFINE = '99991231' + AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 + --and tanab.codfis not in('GRVMRZ63C14L566J','DNGMRA56E66D542Z') +-- UNION +-- +-- SELECT +-- TANAB.RETE AS RETE, +-- CASE +-- WHEN MANDATI.CODMAND IS NULL THEN TANAB.CODFIS +-- ELSE dbo.getFiduciariaByCodMand(MANDATI.CODMAND) +-- END AS COD_FISCALE, +-- CASE +-- WHEN TANAB.CODAREA = 'INV' THEN 'Inv' +-- WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' +-- WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' +-- WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' +-- END AS ID_AREA, +-- ISNULL(CASE +-- WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN PRCONSUL.C_PROJECTNAM_11D1A +-- ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO +-- END, 'XXX') AS NOME_PROGETTO, +-- CAST(CAST(TRENAB.DTVALORIZ AS VARCHAR(8)) AS DATETIME) AS DATA_CTV, +-- TRENAB.CTV AS CTV_MONITORATO, +-- TRENAB.CVN AS RISORSE_ASSOCIATE, +-- @ID_ELAB AS ID_ELAB +-- +-- FROM C6STAGINGPERIODICO.TANAB AS TANAB +-- INNER JOIN C6StagingPeriodico.TRENAB AS TRENAB +-- ON TANAB.CODPROG = TRENAB.CODPROG +-- AND TANAB.DTRIF = TRENAB.DTRIF +-- INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL +-- ON TANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 +-- INNER JOIN C6StagingPeriodico.CONSAREA AS AREA +-- ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ +-- INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL +-- ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ +-- INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO +-- ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE +-- AND CONSUL.INSTID = SCELTA_STATO.RETE +-- AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA +-- LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA +-- ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 +-- LEFT OUTER JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON TANAB.CODFIS = MANDATI.CODMAND +-- WHERE 1 = 1 +-- AND TANAB.DTFINE = '99991231' +-- AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_STORICO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_STORICO' + ) +END +--------------------------------------------------------------------------------------------------------------------- +/****** Object: StoredProcedure [C6MartPeriodico].[PL_S84ControvaloreRisorseApportate] Script Date: 12/02/2010 13:24:00 ******/ +SET ANSI_NULLS ON \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_STORICO_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_STORICO_pre_selective.sql new file mode 100644 index 00000000..b8206083 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_MONITORAGGIO_STORICO_pre_selective.sql @@ -0,0 +1,141 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_STORICO_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_STORICO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_STORICO] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_STORICO] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[RISORSE_ASSOCIATE] + ,[ID_ELAB] + ,CEDOLE_DIV + ,ordinamento_progetto) + SELECT + TANAB.RETE AS RETE, + CASE + WHEN MANDATI.CODMAND IS NULL THEN TANAB.CODFIS + ELSE dbo.getFiduciariaByCodMand(MANDATI.CODMAND) + END AS COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CASE + WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + ELSE LTRIM(RTRIM(PROGETTO_BOZZA.NUOVO_NOME_PROGETTO)) + END, 'XXX') AS NOME_PROGETTO, + CAST(CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) AS DATETIME) AS DATA_CTV, + WRENAB.CTV AS CTV_MONITORATO, + WRENAB.CVN AS RISORSE_ASSOCIATE, + @ID_ELAB AS ID_ELAB, + (TANAB.TOT_CED + TANAB.TOT_DIV) AS CEDOLE_DIV, + tanab.codprog + FROM C6STAGINGPERIODICO.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB + ON TANAB.CODPROG = WRENAB.CODPROG + AND TANAB.DTRIF = WRENAB.DTRIF + INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL + ON TANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 + INNER JOIN C6StagingPeriodico.CONSAREA AS AREA + ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ + INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL + ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO + ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE + AND CONSUL.INSTID = SCELTA_STATO.RETE + AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA + LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA + ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 + LEFT OUTER JOIN C6StagingPeriodico.WMANDATI AS MANDATI + ON TANAB.CODFIS = MANDATI.CODMAND + WHERE 1 = 1 + AND TANAB.DTFINE = '99991231' + AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 + --and tanab.codfis not in('GRVMRZ63C14L566J','DNGMRA56E66D542Z') +-- UNION +-- +-- SELECT +-- TANAB.RETE AS RETE, +-- CASE +-- WHEN MANDATI.CODMAND IS NULL THEN TANAB.CODFIS +-- ELSE dbo.getFiduciariaByCodMand(MANDATI.CODMAND) +-- END AS COD_FISCALE, +-- CASE +-- WHEN TANAB.CODAREA = 'INV' THEN 'Inv' +-- WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' +-- WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' +-- WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' +-- END AS ID_AREA, +-- ISNULL(CASE +-- WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN PRCONSUL.C_PROJECTNAM_11D1A +-- ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO +-- END, 'XXX') AS NOME_PROGETTO, +-- CAST(CAST(TRENAB.DTVALORIZ AS VARCHAR(8)) AS DATETIME) AS DATA_CTV, +-- TRENAB.CTV AS CTV_MONITORATO, +-- TRENAB.CVN AS RISORSE_ASSOCIATE, +-- @ID_ELAB AS ID_ELAB +-- +-- FROM C6STAGINGPERIODICO.TANAB AS TANAB +-- INNER JOIN C6StagingPeriodico.TRENAB AS TRENAB +-- ON TANAB.CODPROG = TRENAB.CODPROG +-- AND TANAB.DTRIF = TRENAB.DTRIF +-- INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL +-- ON TANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 +-- INNER JOIN C6StagingPeriodico.CONSAREA AS AREA +-- ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ +-- INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL +-- ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ +-- INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO +-- ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE +-- AND CONSUL.INSTID = SCELTA_STATO.RETE +-- AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA +-- LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA +-- ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 +-- LEFT OUTER JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON TANAB.CODFIS = MANDATI.CODMAND +-- WHERE 1 = 1 +-- AND TANAB.DTFINE = '99991231' +-- AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_STORICO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_STORICO_pre_selective' + ) +END +--------------------------------------------------------------------------------------------------------------------- +/****** Object: StoredProcedure [C6MartPeriodico].[PL_S84ControvaloreRisorseApportate] Script Date: 12/02/2010 13:24:00 ******/ +SET ANSI_NULLS ON \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_PARTITE_VIAGGIANTI.sql b/sql/storedProduzione/C6MartPeriodico_DM_PARTITE_VIAGGIANTI.sql new file mode 100644 index 00000000..685b6997 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_PARTITE_VIAGGIANTI.sql @@ -0,0 +1,64 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PARTITE_VIAGGIANTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_PARTITE_VIAGGIANTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MARTPERIODICO.PARTITE_VIAGGIANTI + INSERT INTO C6MartPeriodico.PARTITE_VIAGGIANTI + (RETE + ,COD_FISCALE + ,IMPORTO + ,ID_ELAB + ,TIPO_ELAB) + SELECT + WSEIPV.RETE AS RETE, + case when isnull(codman,'') ='' then WSEIPV.CODFIS else 'FF@'+ codman end AS COD_FISCALE, + SUM(IMPVER) AS IMPORTO, + @ID_ELAB, + @TIPO_ELAB + FROM + C6StagingPeriodico.WSEIPV + WHERE + WSEIPV.DTTRIM = ( + SELECT + MAX(DTTRIM) + FROM + C6StagingPeriodico.WSEIPV + ) + GROUP BY + WSEIPV.RETE, + case when isnull(codman,'') ='' then WSEIPV.CODFIS else 'FF@'+ codman end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_PARTITE_VIAGGIANTI_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_PARTITE_VIAGGIANTI_pre_selective.sql new file mode 100644 index 00000000..14e64aae --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_PARTITE_VIAGGIANTI_pre_selective.sql @@ -0,0 +1,64 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PARTITE_VIAGGIANTI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PARTITE_VIAGGIANTI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MARTPERIODICO.PARTITE_VIAGGIANTI + INSERT INTO C6MartPeriodico.PARTITE_VIAGGIANTI + (RETE + ,COD_FISCALE + ,IMPORTO + ,ID_ELAB + ,TIPO_ELAB) + SELECT + WSEIPV.RETE AS RETE, + case when isnull(codman,'') ='' then WSEIPV.CODFIS else 'FF@'+ codman end AS COD_FISCALE, + SUM(IMPVER) AS IMPORTO, + @ID_ELAB, + @TIPO_ELAB + FROM + C6StagingPeriodico.WSEIPV + WHERE + WSEIPV.DTTRIM = ( + SELECT + MAX(DTTRIM) + FROM + C6StagingPeriodico.WSEIPV + ) + GROUP BY + WSEIPV.RETE, + case when isnull(codman,'') ='' then WSEIPV.CODFIS else 'FF@'+ codman end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_ALTRO.sql b/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_ALTRO.sql new file mode 100644 index 00000000..dac08e38 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_ALTRO.sql @@ -0,0 +1,74 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_ALTRO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_ALTRO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_ALTRO + INSERT INTO [C6MartPeriodico].[PATRIMONIO_ALTRO] + ([RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.NUMEROQUOTE AS QUANTITA, + right(ALL_PATR_TERZI.DENOMINAZIONE,50) AS DESCRIZIONE, + ALL_PATR_TERZI.PATRIMONIO_ALTRO_PB_E6F18 AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + WHERE + ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_E6F18 + UNION + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + NULL AS QUANTITA, + right(ALL_PATR_TERZI.DENOMINAZIONE_PN_F87B4,50) AS DESCRIZIONE, + ALL_PATR_TERZI.PATRIMONIO_ALTRO_PN_F87B4 AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + WHERE + ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_F87B4 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_ALTRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_ALTRO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_ALTRO_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_ALTRO_pre_selective.sql new file mode 100644 index 00000000..8decf6c2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_ALTRO_pre_selective.sql @@ -0,0 +1,74 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_ALTRO_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_ALTRO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_ALTRO + INSERT INTO [C6MartPeriodico].[PATRIMONIO_ALTRO] + ([RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.NUMEROQUOTE AS QUANTITA, + right(ALL_PATR_TERZI.DENOMINAZIONE,50) AS DESCRIZIONE, + ALL_PATR_TERZI.PATRIMONIO_ALTRO_PB_E6F18 AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + WHERE + ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_E6F18 + UNION + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + NULL AS QUANTITA, + right(ALL_PATR_TERZI.DENOMINAZIONE_PN_F87B4,50) AS DESCRIZIONE, + ALL_PATR_TERZI.PATRIMONIO_ALTRO_PN_F87B4 AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + WHERE + ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_F87B4 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_ALTRO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_ALTRO_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_BF.sql b/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_BF.sql new file mode 100644 index 00000000..e8d3887e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_BF.sql @@ -0,0 +1,815 @@ +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_BF] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_BF + SELECT + CONTRATTOSINTESI.RETE AS RETE, + CONTRATTOSINTESI.CODFIS AS COD_FISCALE, + CONTRATTOSINTESI.POSITIONID AS POSITIONID, + SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + CONTRATTOSINTESI.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(CONTRATTOSINTESI.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, --CONTRATTOSINTESI.CODICESTATO AS COD_STATO, + CONTRATTOSINTESI.NUMPOL AS NUM_POLIZZA, + CONTRATTOSINTESI.MAF AS COD_MAF, + CONTRATTOSINTESI.CODINT AS COD_INTERNO, + CONTRATTOSINTESI.SUBPROD AS COD_SOTTOPRODOTTO, + CONTRATTOSINTESI.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CONSAREA.C_NEEDAREA_V_46360 = 'Inv' AND PRCONSUL.C_PROJECTNAM_11D1A IS NULL THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + END AS NOME_PROGETTO, + PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + CASE + WHEN ISDATE(CONTRATTOSINTESI.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, --CONTRATTOSINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, --CONVERT(DATETIME, CONTRATTOSINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + CONTRATTOSINTESI.QUOTE AS QUANTITA, --CONTRATTOSINTESI.QUOTE AS QUANTITA, + NULL AS PREZZO, --CONTRATTOSINTESI.PREZZO AS PREZZO, + CONTRATTOSINTESI.CTV AS CTV, + CONTRATTOSINTESI.VALORE AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + CONTRATTOSINTESI.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(CONTRATTOSINTESI.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + --CONTRATTOSINTESI.RENDINIZ AS REND_SOTTOSCRIZIONE, + CASE + WHEN (CONTRATTOSINTESI.TIPPROD = 'GE' + OR CONTRATTOSINTESI.TIPPROD = 'GES') + AND CONTRATTOSINTESI.DTSOTTOS < 20070101 --cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN CONTRATTOSINTESI.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN CONTRATTOSINTESI.TIPPROD = 'ASUL' AND CONTRATTOSINTESI.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE CONTRATTOSINTESI.RENDINIZ + END AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + CASE + WHEN (CONTRATTOSINTESI.TIPPROD = 'GE' + OR CONTRATTOSINTESI.TIPPROD = 'GES') + AND CONTRATTOSINTESI.DTSOTTOS < 20070101 --cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN CONTRATTOSINTESI.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN CONTRATTOSINTESI.TIPPROD = 'ASUL' AND CONTRATTOSINTESI.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE CONTRATTOSINTESI.RENDANNO + END AS REND_ANNO, + 0 AS REND_NON_RAPPR, + PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO, + C_BO_453FB.C_VALUE_7BD3C AS ORIZZ_TEMP_NUM, + C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP, + CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA, + ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + CONSUL.C_DATAMIGRAZ_BF705 AS DATA_MIGR_CONS, + PRCONSUL.C_LASTMODIFI_3BF4A AS DATA_PIANIF, + 0 AS EXTRANAC, + KAT.STRTYPE, + KAT.COMPLEX, + MIT.DESCR AS EMITTENTE, + CONTRATTOSINTESI.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + INTO #PATRIMONIO + FROM + [C6StagingPeriodico].[SPB_CONTR_SINTESI] AS CONTRATTOSINTESI + INNER JOIN + C6STAGINGPERIODICO.ALL_CF_STATO AS ALL_CF_STATO + ON + ALL_CF_STATO.RETE = CONTRATTOSINTESI.RETE + AND ALL_CF_STATO.CF_CLIENTE = CONTRATTOSINTESI.CODFIS + AND ALL_CF_STATO.FLAG_UTILIZZO_STATO = 1 --Attuale + INNER JOIN + C6STAGINGPERIODICO.POSITION AS POSITION + ON + POSITION.POSITIONID = CONTRATTOSINTESI.POSITIONID + INNER JOIN + C6STAGINGPERIODICO.CONSUL AS CONSUL + ON + CONSUL.OID$ = POSITION.F_PCONSULENZ_56F23 + AND CONSUL.TYPE$_TIPOCO_1EA7C = ALL_CF_STATO.STATO_CONSULENZA --'AttivaAggiornata' + INNER JOIN + C6STAGINGPERIODICO.PRCONSUL AS PRCONSUL + ON + PRCONSUL.OID$ = POSITION.F_PPROJECT_P_B5629 + INNER JOIN + C6STAGINGPERIODICO.CONSAREA AS CONSAREA + ON + CONSAREA.OID$ = PRCONSUL.F_PCONSULENZ_B69E4 + INNER JOIN C6STAGINGPERIODICO.CATITEMREF KAT + ON + KAT.oid$ = POSITION.f_oid$_posit_00526 + left join + C6STAGINGPERIODICO.EMIT MIT + ON KAT.CODEMI= MIT.CODEMI + LEFT JOIN + C6STAGINGPERIODICO.C_BO_453FB + ON C_BO_453FB.PK_PRC = PRCONSUL.OID$ + WHERE + CONTRATTOSINTESI.POSITIONID IS NOT NULL + and CONTRATTOSINTESI.tipprod <> 'CC' --TRINGALI + --da eliminare Trimestrale Ottobre 12 + --and CONTRATTOSINTESI.CODFIS not in ('CLNNNL71B67L259H', 'DNGFNC69C09E472H') +--da eliminare Trimestrale Gen 2013 +-- and CONTRATTOSINTESI.RETE + '-' + CONTRATTOSINTESI.CODFIS not in --('CLNNNL71B67L259H', 'DNGFNC69C09E472H') +--( +--'F-DLMSFN62L10F464C', +--'S-FF@7888', +--'F-TRLGNI38T10D325V', +--'F-SRRGNE58T04H981R', +--'F-MGLNTN55C23L259M', +--'F-TRFRLM68H67F132X', +--'F-CNTLNE72B50H501I', +--'S-FRLFRC77A42H501Z' +--) + UNION ALL -- MODIFICA FATTA PER AVERE I CONTI CORRENTI 26 NOVEMBRE (MAURIZIO) +--aggiunta consulenza per recuperare il cod progetto +SELECT + CONTRATTOSINTESI.RETE AS RETE, + CONTRATTOSINTESI.CODFIS AS COD_FISCALE, + CONTRATTOSINTESI.POSITIONID AS POSITIONID, + SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + CONTRATTOSINTESI.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(CONTRATTOSINTESI.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, --CONTRATTOSINTESI.CODICESTATO AS COD_STATO, + CONTRATTOSINTESI.NUMPOL AS NUM_POLIZZA, + CONTRATTOSINTESI.MAF AS COD_MAF, + CONTRATTOSINTESI.CODINT AS COD_INTERNO, + CONTRATTOSINTESI.SUBPROD AS COD_SOTTOPRODOTTO, + CONTRATTOSINTESI.TIPPROD AS TIPO_PRODOTTO, + NULL AS NOME_PROGETTO, + '' AS TIPO_PROGETTO, + CASE WHEN CONTRATTOSINTESI.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, + CASE + WHEN ISDATE(CONTRATTOSINTESI.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, --CONTRATTOSINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, --CONVERT(DATETIME, CONTRATTOSINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + CONTRATTOSINTESI.QUOTE AS QUANTITA, --CONTRATTOSINTESI.QUOTE AS QUANTITA, + NULL AS PREZZO, --CONTRATTOSINTESI.PREZZO AS PREZZO, + CONTRATTOSINTESI.CTV AS CTV, + CONTRATTOSINTESI.VALORE AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, --CONTRATTOSINTESI.CVN AS VERSATO_NETTO, + CONTRATTOSINTESI.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(CONTRATTOSINTESI.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, --PARTITEVIAGGIANTI.IMPORTOVERSATO AS PARTVIA_INV, + CONTRATTOSINTESI.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + CONTRATTOSINTESI.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO, + null AS ORIZZ_TEMP_NUM, + NULL AS ORIZZ_TEMP, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS DATA_PIANIF, + 0 AS EXTRANAC, + KAT.STRTYPE, + KAT.COMPLEX, + MIT.DESCR AS EMITTENTE, + CONTRATTOSINTESI.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + [C6StagingPeriodico].[SPB_CONTR_SINTESI] AS CONTRATTOSINTESI + INNER JOIN C6STAGINGPERIODICO.CATITEMREF KAT + ON SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.EMIT MIT + ON MIT.CODEMI=KAT.CODEMI + INNER JOIN + C6STAGINGPERIODICO.ALL_CF_STATO AS ALL_CF_STATO + ON + ALL_CF_STATO.RETE = CONTRATTOSINTESI.RETE + AND ALL_CF_STATO.CF_CLIENTE = CONTRATTOSINTESI.CODFIS + AND ALL_CF_STATO.FLAG_UTILIZZO_STATO = 1 --Attuale + INNER JOIN + C6STAGINGPERIODICO.POSITION AS POSITION + ON + POSITION.POSITIONID = CONTRATTOSINTESI.POSITIONID + INNER JOIN + C6STAGINGPERIODICO.CONSUL AS CONSUL + ON + CONSUL.OID$ = POSITION.F_PCONSULENZ_56F23 + AND CONSUL.TYPE$_TIPOCO_1EA7C = ALL_CF_STATO.STATO_CONSULENZA --'AttivaAggiornata' + INNER JOIN + C6STAGINGPERIODICO.PRCONSUL AS PRCONSUL + ON + PRCONSUL.OID$ = POSITION.F_PPROJECT_P_B5629 + WHERE + TIPPROD = 'CC' + --and CONTRATTOSINTESI.CODFIS not in ('CLNNNL71B67L259H', 'DNGFNC69C09E472H') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MartPeriodico.[PATRIMONIO_BF] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + , [DATA_PIANIF] + ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + RETE, + COD_FISCALE, + POSITIONID, + COD_PRODOTTO, + ID_CONTRATTO, + DATA_SOTTOSCRIZIONE, + COD_STATO, + NUM_POLIZZA, + COD_MAF, + COD_INTERNO, + COD_SOTTOPRODOTTO, + TIPO_PRODOTTO, + NOME_PROGETTO, + TIPO_PROGETTO, + ID_AREA, + DATA_OPERAZIONE, + DATA_VALUTA, + DATA_REGOLAMENTO, + QUANTITA, + PREZZO, + CTV, + CTV_NOMINALE, + VERSATO_NETTO, + PARTVIA_DISINV, + DATA_PARTVIA_DISINV, + PARTVIA_INV, + REND_SOTTOSCRIZIONE, + REND_TRIMESTRE, + REND_ANNO, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + ORIZZ_TEMP, + STATO_CONSULENZA, + DATA_STATO_CONS, + DATA_MIGR_CONS, + DATA_PIANIF, + EXTRANAC, + STRTYPE, + COMPLEX, + EMITTENTE, + ISIN, + @ID_ELAB, + @TIPO_ELAB + FROM #PATRIMONIO + UNION ALL -- MODIFICA PER AVERE TUTTI I PRODOTTI NON ALLOCATI + SELECT + CONTRATTOSINTESI.RETE AS RETE, + CONTRATTOSINTESI.CODFIS AS COD_FISCALE, + CONTRATTOSINTESI.POSITIONID AS POSITIONID, + SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + CONTRATTOSINTESI.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(CONTRATTOSINTESI.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, --CONTRATTOSINTESI.CODICESTATO AS COD_STATO, + CONTRATTOSINTESI.NUMPOL AS NUM_POLIZZA, + CONTRATTOSINTESI.MAF AS COD_MAF, + CONTRATTOSINTESI.CODINT AS COD_INTERNO, + CONTRATTOSINTESI.SUBPROD AS COD_SOTTOPRODOTTO, + CONTRATTOSINTESI.TIPPROD AS TIPO_PRODOTTO, + LTRIM(RTRIM(NEWPOSITION.NOME_PROGETTO)) AS NOME_PROGETTO, + '' AS TIPO_PROGETTO, + --V Modifica fatta per riallocare correttamente un cc che scende dallo scarico della wseics e non è presente in consulenza e in proposta, + --altrimenti verrebbe allocato a 'Na' + CASE + WHEN(CONTRATTOSINTESI.TIPPROD = 'CC' AND CONTRATTOSINTESI.CTV < 0) THEN 'CC' +-------------------------------------------------------------------------------------------------- + --modificato Emanuele + --WHEN(CONTRATTOSINTESI.TIPPROD = 'CC' AND CONTRATTOSINTESI.CTV >= 0) THEN 'LIQ' + WHEN(CONTRATTOSINTESI.TIPPROD = 'CC' AND CONTRATTOSINTESI.CTV >= 0) THEN 'Liq' +-------------------------------------------------------------------------------------------------- + ELSE ISNULL(NEWPOSITION.NEED_BREVE,'Na') + END AS ID_AREA, + CASE + WHEN ISDATE(CONTRATTOSINTESI.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, --CONTRATTOSINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, --CONVERT(DATETIME, CONTRATTOSINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + CONTRATTOSINTESI.QUOTE AS QUANTITA, --CONTRATTOSINTESI.QUOTE AS QUANTITA, + NULL AS PREZZO, --CONTRATTOSINTESI.PREZZO AS PREZZO, + CONTRATTOSINTESI.CTV AS CTV, + CONTRATTOSINTESI.VALORE AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + CONTRATTOSINTESI.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(CONTRATTOSINTESI.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + CONTRATTOSINTESI.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + CONTRATTOSINTESI.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + ORIZZ_TEMP, + STATO_CONSULENZA, + DATA_STATO_CONS, + DATA_MIGR_CONS, + DATA_PIANIF, + 0 AS EXTRANAC, + KAT.STRTYPE, + KAT.COMPLEX, + MIT.DESCR AS EMITTENTE, + CONTRATTOSINTESI.ISIN, + @ID_ELAB, + @TIPO_ELAB + FROM + [C6StagingPeriodico].[SPB_CONTR_SINTESI] AS CONTRATTOSINTESI + LEFT JOIN + #PATRIMONIO AS PATR + ON + CONTRATTOSINTESI.RETE = PATR.RETE + AND CONTRATTOSINTESI.CODFIS = PATR.COD_FISCALE + AND CONTRATTOSINTESI.POSITIONID = PATR.POSITIONID + LEFT OUTER JOIN C6STAGINGPERIODICO.CATITEMREF KAT + ON SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.EMIT MIT + ON MIT.CODEMI=KAT.CODEMI + LEFT JOIN C6STAGINGPERIODICO.vNewPositionProposta NEWPOSITION + ON + CONTRATTOSINTESI.RETE = NEWPOSITION.RETE + AND CONTRATTOSINTESI.CODFIS = NEWPOSITION.CODICEFISCALE + AND CONTRATTOSINTESI.POSITIONID = NEWPOSITION.positionIDProposta + WHERE + CONTRATTOSINTESI.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--da eliminare Trimestrale Gen 2013 +-- and CONTRATTOSINTESI.RETE + '-' + CONTRATTOSINTESI.CODFIS not in --('CLNNNL71B67L259H', 'DNGFNC69C09E472H') +--( +--'F-DLMSFN62L10F464C', +--'S-FF@7888', +--'F-TRLGNI38T10D325V', +--'F-SRRGNE58T04H981R', +--'F-MGLNTN55C23L259M', +--'F-TRFRLM68H67F132X', +--'F-CNTLNE72B50H501I', +--'S-FRLFRC77A42H501Z' +--) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF2' + ) + DROP TABLE #PATRIMONIO + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF3', + GETDATE(), + 'Elaborazione trimestrale' + ) + -- AGGIORNAMENTO PRODOTTI EXTRA NAC +-- +-- SELECT +-- MISS.POSITIONID, +-- MISS.CODFIS AS COD_FISCALE, +-- MISS.RETE, +-- C_NEEDAREA_V_46360 AS ID_AREA, +-- C_PROJECTNAM_11D1A AS NOME_PROGETTO, +-- C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO +-- INTO #MISS_PAST +-- FROM +-- ( +-- SELECT A.POSITIONID, CODFIS, RETE +-- FROM +-- C6STAGINGPERIODICO.SPB_CONTR_SINTESI A +-- LEFT OUTER JOIN +-- ( +-- SELECT D.POSITIONID, A.ADBKID, A.INSTID +-- FROM +-- C6STAGINGPERIODICO.CONSUL A, +-- C6STAGINGPERIODICO.PRCONSUL B, +-- C6STAGINGPERIODICO.CONSAREA C, +-- C6STAGINGPERIODICO.POSITION D, +-- C6STAGINGPERIODICO.ALL_CF_STATO F +-- WHERE +-- 1=1 +-- AND A.OID$ = C.F_PCONSULENZ_7FBE3 +-- AND B.OID$ = D.F_PPROJECT_P_B5629 +-- AND C.OID$ = B.F_PCONSULENZ_B69E4 +-- AND F.RETE = A.INSTID +-- AND F.CF_CLIENTE = A.ADBKID +-- AND F.FLAG_UTILIZZO_STATO = 1 +-- AND A.TYPE$_TIPOCO_1EA7C = F.STATO_CONSULENZA +-- and C.C_NEEDAREA_V_46360 <> 'Cc' +-- ) B +-- ON +-- B.POSITIONID=A.POSITIONID +-- AND B.ADBKID=A.CODFIS +-- AND B.INSTID=A.RETE +-- WHERE +-- B.POSITIONID IS NULL +-- ) MISS, +-- ( +-- SELECT D.POSITIONID, +-- A.ADBKID, A.INSTID, +-- C.C_NEEDAREA_V_46360, +-- TYPE$_PROJEC_14674, +-- C_PROJECTNAM_11D1A, +-- C_PROJECTIDM_1AF31 +-- FROM +-- C6STAGINGPERIODICO.CONSUL A, +-- C6STAGINGPERIODICO.PRCONSUL B, +-- C6STAGINGPERIODICO.CONSAREA C, +-- C6STAGINGPERIODICO.POSITION D +-- WHERE +-- 1=1 +-- AND A.OID$ = C.F_PCONSULENZ_7FBE3 +-- AND B.OID$ = D.F_PPROJECT_P_B5629 +-- AND C.OID$ = B.F_PCONSULENZ_B69E4 +-- AND A.TYPE$_TIPOCO_1EA7C = 'Attiva' +-- and C.C_NEEDAREA_V_46360 <> 'Cc' +-- ) PAST +-- WHERE +-- MISS.POSITIONID=PAST.POSITIONID +-- AND MISS.CODFIS=PAST.ADBKID +--- MISS +SELECT A.POSITIONID, CODFIS, RETE + into #MISS + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI A + LEFT OUTER JOIN + ( + SELECT D.POSITIONID, A.ADBKID, A.INSTID + FROM + C6STAGINGPERIODICO.CONSUL A, + C6STAGINGPERIODICO.PRCONSUL B, + C6STAGINGPERIODICO.CONSAREA C, + C6STAGINGPERIODICO.POSITION D, + C6STAGINGPERIODICO.ALL_CF_STATO F + WHERE + 1=1 + AND A.OID$ = C.F_PCONSULENZ_7FBE3 + AND B.OID$ = D.F_PPROJECT_P_B5629 + AND C.OID$ = B.F_PCONSULENZ_B69E4 + AND F.RETE = A.INSTID + AND F.CF_CLIENTE = A.ADBKID + AND F.FLAG_UTILIZZO_STATO = 1 + AND A.TYPE$_TIPOCO_1EA7C = F.STATO_CONSULENZA + --and C.C_NEEDAREA_V_46360 <> 'Cc' + and D.type$_catalo_35E2a <> 'ContiCorrenti' + ) B + ON + B.POSITIONID=A.POSITIONID + AND B.ADBKID=A.CODFIS + AND B.INSTID=A.RETE + WHERE + B.POSITIONID IS NULL +-- PAST +SELECT D.POSITIONID, + A.ADBKID, A.INSTID, + C.C_NEEDAREA_V_46360, + TYPE$_PROJEC_14674, + C_PROJECTNAM_11D1A, + C_PROJECTIDM_1AF31 + into #PAST + FROM + C6STAGINGPERIODICO.CONSUL A, + C6STAGINGPERIODICO.PRCONSUL B, + C6STAGINGPERIODICO.CONSAREA C, + C6STAGINGPERIODICO.POSITION D + WHERE + 1=1 + AND A.OID$ = C.F_PCONSULENZ_7FBE3 + AND B.OID$ = D.F_PPROJECT_P_B5629 + AND C.OID$ = B.F_PCONSULENZ_B69E4 + AND A.TYPE$_TIPOCO_1EA7C = 'Attiva' + --and C.C_NEEDAREA_V_46360 <> 'Cc' + and D.type$_catalo_35E2a <> 'ContiCorrenti' +SELECT + MISS.POSITIONID, + MISS.CODFIS AS COD_FISCALE, + MISS.RETE, + C_NEEDAREA_V_46360 AS ID_AREA, + C_PROJECTNAM_11D1A AS NOME_PROGETTO, + C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO + INTO #miss_PAST + FROM + #MISS miss, + #PAST past + WHERE + MISS.POSITIONID=PAST.POSITIONID + AND MISS.CODFIS=PAST.ADBKID + UPDATE + PATR_BF + SET + PATR_BF.ID_AREA = MISS_PAST.ID_AREA, + PATR_BF.NOME_PROGETTO = MISS_PAST.NOME_PROGETTO, + PATR_BF.ORDINAMENTO_PROGETTO = MISS_PAST.ORDINAMENTO_PROGETTO, + PATR_BF.EXTRANAC = 1 + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN #MISS_PAST AS MISS_PAST + ON PATR_BF.RETE = MISS_PAST.RETE + AND PATR_BF.COD_FISCALE = MISS_PAST.COD_FISCALE + AND PATR_BF.POSITION_ID = MISS_PAST.POSITIONID + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF3' + ) + DROP TABLE #MISS_PAST + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF4', + GETDATE(), + 'Elaborazione trimestrale' + ) + -- IMPOSTA IL FLAG DEI PRODOTTI CON RENDIMENTO NON RAPPRESENTABILE + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + ( + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + PRC.COD_INTERNO, + PRC.COD_MAF, + '', + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + PRC.COD_INTERNO, + PRC.COD_MAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + PRC.NUMPOL, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + INNER JOIN + C6StagingPeriodico.ALL_POS_CONS_CAT AS PRC ON + TSCA.CODPROG = PRC.ID_MONITORAGGIO + AND TSCA.CODCONF = PRC.CONTRATTO + AND REPLACE(TSCA.SUBPROD, ' ', '$') = PRC.COD_SOTTOPRODOTTO + AND TCP.CODINT = PRC.COD_INTERNO + WHERE + TSCA.DTRIF <> 0 + ) REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF4' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF4' + ) +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF5', + GETDATE(), + 'Elaborazione trimestrale' + ) +SELECT + ALL_CF_PB.RETE_PB AS RETE, + ALL_CF_PB.CODICE_FISCALE AS COD_FISCALE, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + PRCONSUL.C_PROJECTNAM_11D1A AS NOME_PROGETTO, + PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO, + PRCONSUL.C_PERCENTUAL_69019 AS PERC_AREA, + PRCONSUL.C_PROJECTCTV_39520 AS CTV_PROGETTO, + CONSAREA.C_CTVNEEDARE_EA4FB AS CTV_AREA, + C_BO_453FB.C_VALUE_7BD3C AS ORIZZ_TEMP_NUM, + C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA, + ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + CONSUL.C_DATAMIGRAZ_BF705 AS DATA_MIGR_CONS, + PRCONSUL.C_LASTMODIFI_3BF4A AS DATA_PIANIF, + NULL AS ID_CONTRATTO, + PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO + into #AGG_PROG + FROM C6STAGINGPERIODICO.ALL_CF_PB + INNER JOIN C6STAGINGPERIODICO.CONSUL + ON CONSUL.INSTID = ALL_CF_PB.RETE_PB + AND CONSUL.ADBKID = ALL_CF_PB.CODICEFISCALE + AND CONSUL.TYPE$_TIPOCO_1EA7C = 'Bozza' + INNER JOIN C6STAGINGPERIODICO.CONSAREA + ON CONSAREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6STAGINGPERIODICO.PRCONSUL + ON PRCONSUL.F_PCONSULENZ_B69E4 = CONSAREA.OID$ + LEFT JOIN C6STAGINGPERIODICO.C_BO_453FB + ON C_BO_453FB.PK_PRC = PRCONSUL.OID$ + where CONSAREA.C_NEEDAREA_V_46360='Inv' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +NOME_PROGETTO = L.NOME_PROGETTO +FROM +#AGG_PROG L +WHERE +C6MARTPERIODICO.PATRIMONIO_BF.COD_FISCALE=L.COD_FISCALE +AND C6MARTPERIODICO.PATRIMONIO_BF.RETE=L.RETE +AND C6MARTPERIODICO.PATRIMONIO_BF.ORDINAMENTO_PROGETTO=L.ORDINAMENTO_PROGETTO +AND C6MARTPERIODICO.PATRIMONIO_BF.NOME_PROGETTO <> L.NOME_PROGETTO +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq' +WHERE TIPO_PRODOTTO='CC' +AND ID_AREA = 'na' +AND CTV > 0 +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +--------------------------------------- +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF5' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF5' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_BF_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_BF_pre_selective.sql new file mode 100644 index 00000000..3c9b0daa --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_BF_pre_selective.sql @@ -0,0 +1,815 @@ +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_BF_pre_selective] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_BF + SELECT + CONTRATTOSINTESI.RETE AS RETE, + CONTRATTOSINTESI.CODFIS AS COD_FISCALE, + CONTRATTOSINTESI.POSITIONID AS POSITIONID, + SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + CONTRATTOSINTESI.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(CONTRATTOSINTESI.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, --CONTRATTOSINTESI.CODICESTATO AS COD_STATO, + CONTRATTOSINTESI.NUMPOL AS NUM_POLIZZA, + CONTRATTOSINTESI.MAF AS COD_MAF, + CONTRATTOSINTESI.CODINT AS COD_INTERNO, + CONTRATTOSINTESI.SUBPROD AS COD_SOTTOPRODOTTO, + CONTRATTOSINTESI.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CONSAREA.C_NEEDAREA_V_46360 = 'Inv' AND PRCONSUL.C_PROJECTNAM_11D1A IS NULL THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + END AS NOME_PROGETTO, + PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + CASE + WHEN ISDATE(CONTRATTOSINTESI.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, --CONTRATTOSINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, --CONVERT(DATETIME, CONTRATTOSINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + CONTRATTOSINTESI.QUOTE AS QUANTITA, --CONTRATTOSINTESI.QUOTE AS QUANTITA, + NULL AS PREZZO, --CONTRATTOSINTESI.PREZZO AS PREZZO, + CONTRATTOSINTESI.CTV AS CTV, + CONTRATTOSINTESI.VALORE AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + CONTRATTOSINTESI.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(CONTRATTOSINTESI.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + --CONTRATTOSINTESI.RENDINIZ AS REND_SOTTOSCRIZIONE, + CASE + WHEN (CONTRATTOSINTESI.TIPPROD = 'GE' + OR CONTRATTOSINTESI.TIPPROD = 'GES') + AND CONTRATTOSINTESI.DTSOTTOS < 20070101 --cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN CONTRATTOSINTESI.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN CONTRATTOSINTESI.TIPPROD = 'ASUL' AND CONTRATTOSINTESI.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE CONTRATTOSINTESI.RENDINIZ + END AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + CASE + WHEN (CONTRATTOSINTESI.TIPPROD = 'GE' + OR CONTRATTOSINTESI.TIPPROD = 'GES') + AND CONTRATTOSINTESI.DTSOTTOS < 20070101 --cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN CONTRATTOSINTESI.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN CONTRATTOSINTESI.TIPPROD = 'ASUL' AND CONTRATTOSINTESI.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE CONTRATTOSINTESI.RENDANNO + END AS REND_ANNO, + 0 AS REND_NON_RAPPR, + PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO, + C_BO_453FB.C_VALUE_7BD3C AS ORIZZ_TEMP_NUM, + C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP, + CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA, + ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + CONSUL.C_DATAMIGRAZ_BF705 AS DATA_MIGR_CONS, + PRCONSUL.C_LASTMODIFI_3BF4A AS DATA_PIANIF, + 0 AS EXTRANAC, + KAT.STRTYPE, + KAT.COMPLEX, + MIT.DESCR AS EMITTENTE, + CONTRATTOSINTESI.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + INTO #PATRIMONIO + FROM + [C6StagingPeriodico].[SPB_CONTR_SINTESI] AS CONTRATTOSINTESI + INNER JOIN + C6STAGINGPERIODICO.ALL_CF_STATO AS ALL_CF_STATO + ON + ALL_CF_STATO.RETE = CONTRATTOSINTESI.RETE + AND ALL_CF_STATO.CF_CLIENTE = CONTRATTOSINTESI.CODFIS + AND ALL_CF_STATO.FLAG_UTILIZZO_STATO = 1 --Attuale + INNER JOIN + C6STAGINGPERIODICO.POSITION AS POSITION + ON + POSITION.POSITIONID = CONTRATTOSINTESI.POSITIONID + INNER JOIN + C6STAGINGPERIODICO.CONSUL AS CONSUL + ON + CONSUL.OID$ = POSITION.F_PCONSULENZ_56F23 + AND CONSUL.TYPE$_TIPOCO_1EA7C = ALL_CF_STATO.STATO_CONSULENZA --'AttivaAggiornata' + INNER JOIN + C6STAGINGPERIODICO.PRCONSUL AS PRCONSUL + ON + PRCONSUL.OID$ = POSITION.F_PPROJECT_P_B5629 + INNER JOIN + C6STAGINGPERIODICO.CONSAREA AS CONSAREA + ON + CONSAREA.OID$ = PRCONSUL.F_PCONSULENZ_B69E4 + INNER JOIN C6STAGINGPERIODICO.CATITEMREF KAT + ON + KAT.oid$ = POSITION.f_oid$_posit_00526 + left join + C6STAGINGPERIODICO.EMIT MIT + ON KAT.CODEMI= MIT.CODEMI + LEFT JOIN + C6STAGINGPERIODICO.C_BO_453FB + ON C_BO_453FB.PK_PRC = PRCONSUL.OID$ + WHERE + CONTRATTOSINTESI.POSITIONID IS NOT NULL + and CONTRATTOSINTESI.tipprod <> 'CC' --TRINGALI + --da eliminare Trimestrale Ottobre 12 + --and CONTRATTOSINTESI.CODFIS not in ('CLNNNL71B67L259H', 'DNGFNC69C09E472H') +--da eliminare Trimestrale Gen 2013 +-- and CONTRATTOSINTESI.RETE + '-' + CONTRATTOSINTESI.CODFIS not in --('CLNNNL71B67L259H', 'DNGFNC69C09E472H') +--( +--'F-DLMSFN62L10F464C', +--'S-FF@7888', +--'F-TRLGNI38T10D325V', +--'F-SRRGNE58T04H981R', +--'F-MGLNTN55C23L259M', +--'F-TRFRLM68H67F132X', +--'F-CNTLNE72B50H501I', +--'S-FRLFRC77A42H501Z' +--) + UNION ALL -- MODIFICA FATTA PER AVERE I CONTI CORRENTI 26 NOVEMBRE (MAURIZIO) +--aggiunta consulenza per recuperare il cod progetto +SELECT + CONTRATTOSINTESI.RETE AS RETE, + CONTRATTOSINTESI.CODFIS AS COD_FISCALE, + CONTRATTOSINTESI.POSITIONID AS POSITIONID, + SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + CONTRATTOSINTESI.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(CONTRATTOSINTESI.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, --CONTRATTOSINTESI.CODICESTATO AS COD_STATO, + CONTRATTOSINTESI.NUMPOL AS NUM_POLIZZA, + CONTRATTOSINTESI.MAF AS COD_MAF, + CONTRATTOSINTESI.CODINT AS COD_INTERNO, + CONTRATTOSINTESI.SUBPROD AS COD_SOTTOPRODOTTO, + CONTRATTOSINTESI.TIPPROD AS TIPO_PRODOTTO, + NULL AS NOME_PROGETTO, + '' AS TIPO_PROGETTO, + CASE WHEN CONTRATTOSINTESI.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, + CASE + WHEN ISDATE(CONTRATTOSINTESI.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, --CONTRATTOSINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, --CONVERT(DATETIME, CONTRATTOSINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + CONTRATTOSINTESI.QUOTE AS QUANTITA, --CONTRATTOSINTESI.QUOTE AS QUANTITA, + NULL AS PREZZO, --CONTRATTOSINTESI.PREZZO AS PREZZO, + CONTRATTOSINTESI.CTV AS CTV, + CONTRATTOSINTESI.VALORE AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, --CONTRATTOSINTESI.CVN AS VERSATO_NETTO, + CONTRATTOSINTESI.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(CONTRATTOSINTESI.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, --PARTITEVIAGGIANTI.IMPORTOVERSATO AS PARTVIA_INV, + CONTRATTOSINTESI.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + CONTRATTOSINTESI.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO, + null AS ORIZZ_TEMP_NUM, + NULL AS ORIZZ_TEMP, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS DATA_PIANIF, + 0 AS EXTRANAC, + KAT.STRTYPE, + KAT.COMPLEX, + MIT.DESCR AS EMITTENTE, + CONTRATTOSINTESI.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + [C6StagingPeriodico].[SPB_CONTR_SINTESI] AS CONTRATTOSINTESI + INNER JOIN C6STAGINGPERIODICO.CATITEMREF KAT + ON SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.EMIT MIT + ON MIT.CODEMI=KAT.CODEMI + INNER JOIN + C6STAGINGPERIODICO.ALL_CF_STATO AS ALL_CF_STATO + ON + ALL_CF_STATO.RETE = CONTRATTOSINTESI.RETE + AND ALL_CF_STATO.CF_CLIENTE = CONTRATTOSINTESI.CODFIS + AND ALL_CF_STATO.FLAG_UTILIZZO_STATO = 1 --Attuale + INNER JOIN + C6STAGINGPERIODICO.POSITION AS POSITION + ON + POSITION.POSITIONID = CONTRATTOSINTESI.POSITIONID + INNER JOIN + C6STAGINGPERIODICO.CONSUL AS CONSUL + ON + CONSUL.OID$ = POSITION.F_PCONSULENZ_56F23 + AND CONSUL.TYPE$_TIPOCO_1EA7C = ALL_CF_STATO.STATO_CONSULENZA --'AttivaAggiornata' + INNER JOIN + C6STAGINGPERIODICO.PRCONSUL AS PRCONSUL + ON + PRCONSUL.OID$ = POSITION.F_PPROJECT_P_B5629 + WHERE + TIPPROD = 'CC' + --and CONTRATTOSINTESI.CODFIS not in ('CLNNNL71B67L259H', 'DNGFNC69C09E472H') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF_pre_selective' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF_pre_selective2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MartPeriodico.[PATRIMONIO_BF] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + , [DATA_PIANIF] + ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + RETE, + COD_FISCALE, + POSITIONID, + COD_PRODOTTO, + ID_CONTRATTO, + DATA_SOTTOSCRIZIONE, + COD_STATO, + NUM_POLIZZA, + COD_MAF, + COD_INTERNO, + COD_SOTTOPRODOTTO, + TIPO_PRODOTTO, + NOME_PROGETTO, + TIPO_PROGETTO, + ID_AREA, + DATA_OPERAZIONE, + DATA_VALUTA, + DATA_REGOLAMENTO, + QUANTITA, + PREZZO, + CTV, + CTV_NOMINALE, + VERSATO_NETTO, + PARTVIA_DISINV, + DATA_PARTVIA_DISINV, + PARTVIA_INV, + REND_SOTTOSCRIZIONE, + REND_TRIMESTRE, + REND_ANNO, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + ORIZZ_TEMP, + STATO_CONSULENZA, + DATA_STATO_CONS, + DATA_MIGR_CONS, + DATA_PIANIF, + EXTRANAC, + STRTYPE, + COMPLEX, + EMITTENTE, + ISIN, + @ID_ELAB, + @TIPO_ELAB + FROM #PATRIMONIO + UNION ALL -- MODIFICA PER AVERE TUTTI I PRODOTTI NON ALLOCATI + SELECT + CONTRATTOSINTESI.RETE AS RETE, + CONTRATTOSINTESI.CODFIS AS COD_FISCALE, + CONTRATTOSINTESI.POSITIONID AS POSITIONID, + SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + CONTRATTOSINTESI.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(CONTRATTOSINTESI.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, --CONTRATTOSINTESI.CODICESTATO AS COD_STATO, + CONTRATTOSINTESI.NUMPOL AS NUM_POLIZZA, + CONTRATTOSINTESI.MAF AS COD_MAF, + CONTRATTOSINTESI.CODINT AS COD_INTERNO, + CONTRATTOSINTESI.SUBPROD AS COD_SOTTOPRODOTTO, + CONTRATTOSINTESI.TIPPROD AS TIPO_PRODOTTO, + LTRIM(RTRIM(NEWPOSITION.NOME_PROGETTO)) AS NOME_PROGETTO, + '' AS TIPO_PROGETTO, + --V Modifica fatta per riallocare correttamente un cc che scende dallo scarico della wseics e non è presente in consulenza e in proposta, + --altrimenti verrebbe allocato a 'Na' + CASE + WHEN(CONTRATTOSINTESI.TIPPROD = 'CC' AND CONTRATTOSINTESI.CTV < 0) THEN 'CC' +-------------------------------------------------------------------------------------------------- + --modificato Emanuele + --WHEN(CONTRATTOSINTESI.TIPPROD = 'CC' AND CONTRATTOSINTESI.CTV >= 0) THEN 'LIQ' + WHEN(CONTRATTOSINTESI.TIPPROD = 'CC' AND CONTRATTOSINTESI.CTV >= 0) THEN 'Liq' +-------------------------------------------------------------------------------------------------- + ELSE ISNULL(NEWPOSITION.NEED_BREVE,'Na') + END AS ID_AREA, + CASE + WHEN ISDATE(CONTRATTOSINTESI.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, --CONTRATTOSINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, --CONVERT(DATETIME, CONTRATTOSINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + CONTRATTOSINTESI.QUOTE AS QUANTITA, --CONTRATTOSINTESI.QUOTE AS QUANTITA, + NULL AS PREZZO, --CONTRATTOSINTESI.PREZZO AS PREZZO, + CONTRATTOSINTESI.CTV AS CTV, + CONTRATTOSINTESI.VALORE AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + CONTRATTOSINTESI.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(CONTRATTOSINTESI.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + CONTRATTOSINTESI.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + CONTRATTOSINTESI.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + ORIZZ_TEMP, + STATO_CONSULENZA, + DATA_STATO_CONS, + DATA_MIGR_CONS, + DATA_PIANIF, + 0 AS EXTRANAC, + KAT.STRTYPE, + KAT.COMPLEX, + MIT.DESCR AS EMITTENTE, + CONTRATTOSINTESI.ISIN, + @ID_ELAB, + @TIPO_ELAB + FROM + [C6StagingPeriodico].[SPB_CONTR_SINTESI] AS CONTRATTOSINTESI + LEFT JOIN + #PATRIMONIO AS PATR + ON + CONTRATTOSINTESI.RETE = PATR.RETE + AND CONTRATTOSINTESI.CODFIS = PATR.COD_FISCALE + AND CONTRATTOSINTESI.POSITIONID = PATR.POSITIONID + LEFT OUTER JOIN C6STAGINGPERIODICO.CATITEMREF KAT + ON SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.EMIT MIT + ON MIT.CODEMI=KAT.CODEMI + LEFT JOIN C6STAGINGPERIODICO.vNewPositionProposta NEWPOSITION + ON + CONTRATTOSINTESI.RETE = NEWPOSITION.RETE + AND CONTRATTOSINTESI.CODFIS = NEWPOSITION.CODICEFISCALE + AND CONTRATTOSINTESI.POSITIONID = NEWPOSITION.positionIDProposta + WHERE + CONTRATTOSINTESI.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--da eliminare Trimestrale Gen 2013 +-- and CONTRATTOSINTESI.RETE + '-' + CONTRATTOSINTESI.CODFIS not in --('CLNNNL71B67L259H', 'DNGFNC69C09E472H') +--( +--'F-DLMSFN62L10F464C', +--'S-FF@7888', +--'F-TRLGNI38T10D325V', +--'F-SRRGNE58T04H981R', +--'F-MGLNTN55C23L259M', +--'F-TRFRLM68H67F132X', +--'F-CNTLNE72B50H501I', +--'S-FRLFRC77A42H501Z' +--) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF_pre_selective2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF_pre_selective2' + ) + DROP TABLE #PATRIMONIO + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF_pre_selective3', + GETDATE(), + 'Elaborazione trimestrale' + ) + -- AGGIORNAMENTO PRODOTTI EXTRA NAC +-- +-- SELECT +-- MISS.POSITIONID, +-- MISS.CODFIS AS COD_FISCALE, +-- MISS.RETE, +-- C_NEEDAREA_V_46360 AS ID_AREA, +-- C_PROJECTNAM_11D1A AS NOME_PROGETTO, +-- C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO +-- INTO #MISS_PAST +-- FROM +-- ( +-- SELECT A.POSITIONID, CODFIS, RETE +-- FROM +-- C6STAGINGPERIODICO.SPB_CONTR_SINTESI A +-- LEFT OUTER JOIN +-- ( +-- SELECT D.POSITIONID, A.ADBKID, A.INSTID +-- FROM +-- C6STAGINGPERIODICO.CONSUL A, +-- C6STAGINGPERIODICO.PRCONSUL B, +-- C6STAGINGPERIODICO.CONSAREA C, +-- C6STAGINGPERIODICO.POSITION D, +-- C6STAGINGPERIODICO.ALL_CF_STATO F +-- WHERE +-- 1=1 +-- AND A.OID$ = C.F_PCONSULENZ_7FBE3 +-- AND B.OID$ = D.F_PPROJECT_P_B5629 +-- AND C.OID$ = B.F_PCONSULENZ_B69E4 +-- AND F.RETE = A.INSTID +-- AND F.CF_CLIENTE = A.ADBKID +-- AND F.FLAG_UTILIZZO_STATO = 1 +-- AND A.TYPE$_TIPOCO_1EA7C = F.STATO_CONSULENZA +-- and C.C_NEEDAREA_V_46360 <> 'Cc' +-- ) B +-- ON +-- B.POSITIONID=A.POSITIONID +-- AND B.ADBKID=A.CODFIS +-- AND B.INSTID=A.RETE +-- WHERE +-- B.POSITIONID IS NULL +-- ) MISS, +-- ( +-- SELECT D.POSITIONID, +-- A.ADBKID, A.INSTID, +-- C.C_NEEDAREA_V_46360, +-- TYPE$_PROJEC_14674, +-- C_PROJECTNAM_11D1A, +-- C_PROJECTIDM_1AF31 +-- FROM +-- C6STAGINGPERIODICO.CONSUL A, +-- C6STAGINGPERIODICO.PRCONSUL B, +-- C6STAGINGPERIODICO.CONSAREA C, +-- C6STAGINGPERIODICO.POSITION D +-- WHERE +-- 1=1 +-- AND A.OID$ = C.F_PCONSULENZ_7FBE3 +-- AND B.OID$ = D.F_PPROJECT_P_B5629 +-- AND C.OID$ = B.F_PCONSULENZ_B69E4 +-- AND A.TYPE$_TIPOCO_1EA7C = 'Attiva' +-- and C.C_NEEDAREA_V_46360 <> 'Cc' +-- ) PAST +-- WHERE +-- MISS.POSITIONID=PAST.POSITIONID +-- AND MISS.CODFIS=PAST.ADBKID +--- MISS +SELECT A.POSITIONID, CODFIS, RETE + into #MISS + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI A + LEFT OUTER JOIN + ( + SELECT D.POSITIONID, A.ADBKID, A.INSTID + FROM + C6STAGINGPERIODICO.CONSUL A, + C6STAGINGPERIODICO.PRCONSUL B, + C6STAGINGPERIODICO.CONSAREA C, + C6STAGINGPERIODICO.POSITION D, + C6STAGINGPERIODICO.ALL_CF_STATO F + WHERE + 1=1 + AND A.OID$ = C.F_PCONSULENZ_7FBE3 + AND B.OID$ = D.F_PPROJECT_P_B5629 + AND C.OID$ = B.F_PCONSULENZ_B69E4 + AND F.RETE = A.INSTID + AND F.CF_CLIENTE = A.ADBKID + AND F.FLAG_UTILIZZO_STATO = 1 + AND A.TYPE$_TIPOCO_1EA7C = F.STATO_CONSULENZA + --and C.C_NEEDAREA_V_46360 <> 'Cc' + and D.type$_catalo_35E2a <> 'ContiCorrenti' + ) B + ON + B.POSITIONID=A.POSITIONID + AND B.ADBKID=A.CODFIS + AND B.INSTID=A.RETE + WHERE + B.POSITIONID IS NULL +-- PAST +SELECT D.POSITIONID, + A.ADBKID, A.INSTID, + C.C_NEEDAREA_V_46360, + TYPE$_PROJEC_14674, + C_PROJECTNAM_11D1A, + C_PROJECTIDM_1AF31 + into #PAST + FROM + C6STAGINGPERIODICO.CONSUL A, + C6STAGINGPERIODICO.PRCONSUL B, + C6STAGINGPERIODICO.CONSAREA C, + C6STAGINGPERIODICO.POSITION D + WHERE + 1=1 + AND A.OID$ = C.F_PCONSULENZ_7FBE3 + AND B.OID$ = D.F_PPROJECT_P_B5629 + AND C.OID$ = B.F_PCONSULENZ_B69E4 + AND A.TYPE$_TIPOCO_1EA7C = 'Attiva' + --and C.C_NEEDAREA_V_46360 <> 'Cc' + and D.type$_catalo_35E2a <> 'ContiCorrenti' +SELECT + MISS.POSITIONID, + MISS.CODFIS AS COD_FISCALE, + MISS.RETE, + C_NEEDAREA_V_46360 AS ID_AREA, + C_PROJECTNAM_11D1A AS NOME_PROGETTO, + C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO + INTO #miss_PAST + FROM + #MISS miss, + #PAST past + WHERE + MISS.POSITIONID=PAST.POSITIONID + AND MISS.CODFIS=PAST.ADBKID + UPDATE + PATR_BF + SET + PATR_BF.ID_AREA = MISS_PAST.ID_AREA, + PATR_BF.NOME_PROGETTO = MISS_PAST.NOME_PROGETTO, + PATR_BF.ORDINAMENTO_PROGETTO = MISS_PAST.ORDINAMENTO_PROGETTO, + PATR_BF.EXTRANAC = 1 + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN #MISS_PAST AS MISS_PAST + ON PATR_BF.RETE = MISS_PAST.RETE + AND PATR_BF.COD_FISCALE = MISS_PAST.COD_FISCALE + AND PATR_BF.POSITION_ID = MISS_PAST.POSITIONID + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF_pre_selective3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF_pre_selective3' + ) + DROP TABLE #MISS_PAST + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF_pre_selective4', + GETDATE(), + 'Elaborazione trimestrale' + ) + -- IMPOSTA IL FLAG DEI PRODOTTI CON RENDIMENTO NON RAPPRESENTABILE + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + ( + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + PRC.COD_INTERNO, + PRC.COD_MAF, + '', + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + PRC.COD_INTERNO, + PRC.COD_MAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + PRC.NUMPOL, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + INNER JOIN + C6StagingPeriodico.ALL_POS_CONS_CAT AS PRC ON + TSCA.CODPROG = PRC.ID_MONITORAGGIO + AND TSCA.CODCONF = PRC.CONTRATTO + AND REPLACE(TSCA.SUBPROD, ' ', '$') = PRC.COD_SOTTOPRODOTTO + AND TCP.CODINT = PRC.COD_INTERNO + WHERE + TSCA.DTRIF <> 0 + ) REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF_pre_selective4' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF_pre_selective4' + ) +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF_pre_selective5', + GETDATE(), + 'Elaborazione trimestrale' + ) +SELECT + ALL_CF_PB.RETE_PB AS RETE, + ALL_CF_PB.CODICE_FISCALE AS COD_FISCALE, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + PRCONSUL.C_PROJECTNAM_11D1A AS NOME_PROGETTO, + PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO, + PRCONSUL.C_PERCENTUAL_69019 AS PERC_AREA, + PRCONSUL.C_PROJECTCTV_39520 AS CTV_PROGETTO, + CONSAREA.C_CTVNEEDARE_EA4FB AS CTV_AREA, + C_BO_453FB.C_VALUE_7BD3C AS ORIZZ_TEMP_NUM, + C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA, + ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + CONSUL.C_DATAMIGRAZ_BF705 AS DATA_MIGR_CONS, + PRCONSUL.C_LASTMODIFI_3BF4A AS DATA_PIANIF, + NULL AS ID_CONTRATTO, + PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO + into #AGG_PROG + FROM C6STAGINGPERIODICO.ALL_CF_PB + INNER JOIN C6STAGINGPERIODICO.CONSUL + ON CONSUL.INSTID = ALL_CF_PB.RETE_PB + AND CONSUL.ADBKID = ALL_CF_PB.CODICEFISCALE + AND CONSUL.TYPE$_TIPOCO_1EA7C = 'Bozza' + INNER JOIN C6STAGINGPERIODICO.CONSAREA + ON CONSAREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6STAGINGPERIODICO.PRCONSUL + ON PRCONSUL.F_PCONSULENZ_B69E4 = CONSAREA.OID$ + LEFT JOIN C6STAGINGPERIODICO.C_BO_453FB + ON C_BO_453FB.PK_PRC = PRCONSUL.OID$ + where CONSAREA.C_NEEDAREA_V_46360='Inv' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +NOME_PROGETTO = L.NOME_PROGETTO +FROM +#AGG_PROG L +WHERE +C6MARTPERIODICO.PATRIMONIO_BF.COD_FISCALE=L.COD_FISCALE +AND C6MARTPERIODICO.PATRIMONIO_BF.RETE=L.RETE +AND C6MARTPERIODICO.PATRIMONIO_BF.ORDINAMENTO_PROGETTO=L.ORDINAMENTO_PROGETTO +AND C6MARTPERIODICO.PATRIMONIO_BF.NOME_PROGETTO <> L.NOME_PROGETTO +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq' +WHERE TIPO_PRODOTTO='CC' +AND ID_AREA = 'na' +AND CTV > 0 +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +--------------------------------------- +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF_pre_selective5' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF_pre_selective5' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI.sql b/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI.sql new file mode 100644 index 00000000..48c7c471 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI.sql @@ -0,0 +1,161 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_EMITTENTI] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_EMITTENTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_EMITTENTI +INSERT INTO +[C6MARTPERIODICO].[PATRIMONIO_EMITTENTI] +( +COD_FISCALE, +RETE, +POSITION_ID, +COD_PRODOTTO, +COD_ADEGUATEZZA, +INTERMEDIARIO, +CTV_INTERMEDIARIO, +CTV_INTER_NOCC_NEG, +EMITTENTE, +COMPLESSITA, +CTV_EMITTENTE, +CTV_PRODOTTO, +FLG_AZ_OB, +CREDITRISKCLASS, +CTV_AZIONARIO, +CTV_OBBLIGAZIONARIO, +CTV_AZ_OB_EMIT, +CTV_AZ_OB_EMIT_INTER, +CTV_COMPLESSIVO, +CTV_COMPL_NOCC_NEG, +CONC_EMITTENTE, +CONC_EMIT_INTERM, +COPERTURA +) + SELECT H.COD_FISCALE, + H.RETE, + H.POSITION_ID, + H.COD_PRODOTTO AS CATALOGUENAME, + '' AS COD_ADEGUATEZZA, + 'BF' AS INTERMEDIARIO, + sum(h.ctv) over (partition by h.cod_fiscale, h.rete) AS PATRIMONIO_INTERMEDIARIO, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END ) over (partition by h.cod_fiscale, h.rete) AS PATRIMONIO_INTER_nocc_neg, + H.EMITTENTE, + H.COMPLEX AS COMPLESSITA, + sum(h.ctv) over (partition by h.cod_fiscale, H.rete, H.EMITTENTE) AS PATRIMONIO_EMITTENTE, + h.ctv as CONTROVALORE_PRODOTTO, + CASE WHEN H.STRTYPE IN ('AZ', 'OB') THEN H.STRTYPE ELSE NULL END AS AZ_OB, + K.classe AS CREDITRISKCLASS, + SUM( case when STRTYPE = 'AZ' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE, H.POSITION_ID) AS CTV_AZIONARIO, + SUM(case when STRTYPE = 'OB' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE, H.POSITION_ID) AS CTV_OBBLIGAZIONARIO, + SUM( case when STRTYPE IN ( 'AZ','OB') then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE) PATRIMONIO_AZ_OB_EMIT, + SUM( case when STRTYPE IN ( 'AZ','OB') then h.ctv else 0 end ) OVER( PARTITION BY H.COd_FISCALE,H.RETE,EMITTENTE) PATRIM_AZ_OB_EMIT_INTER, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPLESSIVO, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPL_nocc_neg, + 0 as concentrazione_emittente, + 0 AS concentraz_emit_interm, + r.copertura + FROM C6MARTPERIODICO.PATRIMONIO_BF H + LEFT OUTER join + C6MARTPERIODICO.RISCHIO_AGGREGATO R + on + H.COD_FISCALE=R.COD_FISCALE + AND H.RETE=R.RETE + AND r.COD_AGGREG = + ((CASE + WHEN (h.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(h.ID_AREA,3) + '|' + h.NOME_PROGETTO+ '|'+ isnull(cast(H.ordinamento_progetto as varchar),'')+'|' + ELSE + CASE WHEN (h.ID_AREA = 'NA') THEN 'RISFIN|' + LEFT(h.ID_AREA,3) + '|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(h.ID_AREA,3) + '|' + END + END) + + h.POSITION_ID) + left outer join + --select * from + --C6MartPeriodico.CODIFICA_CREDITRISK K + C6MartPeriodico.RISCHIOEMITTENTI K + on + R.CREDITRISKEMIT=ORDINE +---- PATRIMONIO TERZI +UNION all +SELECT DISTINCT h.COD_FISCALE, + h.RETE, + '' AS POSITION_ID, + H.COD_PRODOTTO AS CATALOGUENAME, + '' as COD_ADEGUATEZZA, + CASE + WHEN h.INTERMEDIARIO = 'BF' THEN + NULL + ELSE + h.INTERMEDIARIO + END AS INTERMEDIARIO, + sum(ROUND(h.CTV,2)) over (partition by h.cod_fiscale, h.rete, H.INTERMEDIARIO) as PATRIMONIO_INTERMEDIARIO, + sum(case when h.tipo_prodotto='CC' and ROUND(h.CTV,2) < 0 then 0 else ROUND(h.CTV,2) END ) over (partition by h.cod_fiscale, h.rete, H.INTERMEDIARIO) AS PATRIMONIO_INTER_nocc_neg, + h.EMITTENTE, + h.complex as COMPLESSITA, + 0 AS PATRIMONIO_EMITTENTE, + ROUND(h.CTV,2) as CONTROVALORE_PRODOTTO, + CASE WHEN H.STRTYPE IN ('AZ', 'OB') THEN H.STRTYPE ELSE NULL END AS AZ_OB, + K.classe AS CREDITRISKCLASS, + SUM( case when STRTYPE = 'AZ' then ROUND(h.CTV,2) else 0 end ) OVER( PARTITION BY H.COd_FISCALE,H.RETE, H.EMITTENTE, H.intermediario, H.COD_PRODOTTO_TERZI) AS CTV_AZIONARIO,--aggiunto il cod_prodotto_terzi per identificare il singolo prodotto + SUM(case when STRTYPE = 'OB' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE, H.EMITTENTE, H.intermediario, H.COD_PRODOTTO_TERZI ) AS CTV_OBBLIGAZIONARIO, --aggiunto il cod_prodotto_terzi per identificare il singolo prodotto + SUM( case when STRTYPE IN ( 'AZ','OB') then ROUND(h.CTV,2) else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE) PATRIMONIO_AZ_OB_EMIT, + SUM( case when STRTYPE IN ( 'AZ','OB') then ROUND(h.CTV,2) else 0 end ) OVER( PARTITION BY H.COd_FISCALE,H.RETE,EMITTENTE, h.intermediario ) PATRIM_AZ_OB_EMIT_INTER, + sum(case when h.tipo_prodotto='CC' and ROUND(h.CTV,2) < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPLESSIVO, + sum(case when h.tipo_prodotto='CC' and ROUND(h.CTV,2) < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete, h.intermediario) as PATRIMONIO_COMPL_nocc_neg, + 0 as concentrazione_emittente, + 0 as concentraz_emit_interm, + r.copertura + FROM + C6MARTPERIODICO.PATRIMONIO_TERZI H + LEFT OUTER JOIN + C6MARTPERIODICO.RISCHIO_AGGREGATO R + ON + H.COD_FISCALE=R.COD_FISCALE + AND H.RETE=R.RETE + AND r.COD_AGGREG ='COMPLESSIVO|TERZI|' + RTRIM(H.INTERMEDIARIO) + '|' + RTRIM(H.chiave_thr) + LEFT OUTER join + C6Martperiodico.RISCHIOEMITTENTI K + on + R.CREDITRISKEMIT=ORDINE + WHERE + 1=1 + AND H.INTERMEDIARIO <> 'BF' + --AND V.POSITIONID=H.COD_PRODOTTO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_EMITTENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_PATRIMONIO_EMITTENTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI_pre_selective.sql new file mode 100644 index 00000000..018f5541 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI_pre_selective.sql @@ -0,0 +1,161 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_EMITTENTI_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_EMITTENTI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_EMITTENTI +INSERT INTO +[C6MARTPERIODICO].[PATRIMONIO_EMITTENTI] +( +COD_FISCALE, +RETE, +POSITION_ID, +COD_PRODOTTO, +COD_ADEGUATEZZA, +INTERMEDIARIO, +CTV_INTERMEDIARIO, +CTV_INTER_NOCC_NEG, +EMITTENTE, +COMPLESSITA, +CTV_EMITTENTE, +CTV_PRODOTTO, +FLG_AZ_OB, +CREDITRISKCLASS, +CTV_AZIONARIO, +CTV_OBBLIGAZIONARIO, +CTV_AZ_OB_EMIT, +CTV_AZ_OB_EMIT_INTER, +CTV_COMPLESSIVO, +CTV_COMPL_NOCC_NEG, +CONC_EMITTENTE, +CONC_EMIT_INTERM, +COPERTURA +) + SELECT H.COD_FISCALE, + H.RETE, + H.POSITION_ID, + H.COD_PRODOTTO AS CATALOGUENAME, + '' AS COD_ADEGUATEZZA, + 'BF' AS INTERMEDIARIO, + sum(h.ctv) over (partition by h.cod_fiscale, h.rete) AS PATRIMONIO_INTERMEDIARIO, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END ) over (partition by h.cod_fiscale, h.rete) AS PATRIMONIO_INTER_nocc_neg, + H.EMITTENTE, + H.COMPLEX AS COMPLESSITA, + sum(h.ctv) over (partition by h.cod_fiscale, H.rete, H.EMITTENTE) AS PATRIMONIO_EMITTENTE, + h.ctv as CONTROVALORE_PRODOTTO, + CASE WHEN H.STRTYPE IN ('AZ', 'OB') THEN H.STRTYPE ELSE NULL END AS AZ_OB, + K.classe AS CREDITRISKCLASS, + SUM( case when STRTYPE = 'AZ' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE, H.POSITION_ID) AS CTV_AZIONARIO, + SUM(case when STRTYPE = 'OB' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE, H.POSITION_ID) AS CTV_OBBLIGAZIONARIO, + SUM( case when STRTYPE IN ( 'AZ','OB') then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE) PATRIMONIO_AZ_OB_EMIT, + SUM( case when STRTYPE IN ( 'AZ','OB') then h.ctv else 0 end ) OVER( PARTITION BY H.COd_FISCALE,H.RETE,EMITTENTE) PATRIM_AZ_OB_EMIT_INTER, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPLESSIVO, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPL_nocc_neg, + 0 as concentrazione_emittente, + 0 AS concentraz_emit_interm, + r.copertura + FROM C6MARTPERIODICO.PATRIMONIO_BF H + LEFT OUTER join + C6MARTPERIODICO.RISCHIO_AGGREGATO R + on + H.COD_FISCALE=R.COD_FISCALE + AND H.RETE=R.RETE + AND r.COD_AGGREG = + ((CASE + WHEN (h.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(h.ID_AREA,3) + '|' + h.NOME_PROGETTO+ '|'+ isnull(cast(H.ordinamento_progetto as varchar),'')+'|' + ELSE + CASE WHEN (h.ID_AREA = 'NA') THEN 'RISFIN|' + LEFT(h.ID_AREA,3) + '|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(h.ID_AREA,3) + '|' + END + END) + + h.POSITION_ID) + left outer join + --select * from + --C6MartPeriodico.CODIFICA_CREDITRISK K + C6MartPeriodico.RISCHIOEMITTENTI K + on + R.CREDITRISKEMIT=ORDINE +---- PATRIMONIO TERZI +UNION all +SELECT DISTINCT h.COD_FISCALE, + h.RETE, + '' AS POSITION_ID, + H.COD_PRODOTTO AS CATALOGUENAME, + '' as COD_ADEGUATEZZA, + CASE + WHEN h.INTERMEDIARIO = 'BF' THEN + NULL + ELSE + h.INTERMEDIARIO + END AS INTERMEDIARIO, + sum(ROUND(h.CTV,2)) over (partition by h.cod_fiscale, h.rete, H.INTERMEDIARIO) as PATRIMONIO_INTERMEDIARIO, + sum(case when h.tipo_prodotto='CC' and ROUND(h.CTV,2) < 0 then 0 else ROUND(h.CTV,2) END ) over (partition by h.cod_fiscale, h.rete, H.INTERMEDIARIO) AS PATRIMONIO_INTER_nocc_neg, + h.EMITTENTE, + h.complex as COMPLESSITA, + 0 AS PATRIMONIO_EMITTENTE, + ROUND(h.CTV,2) as CONTROVALORE_PRODOTTO, + CASE WHEN H.STRTYPE IN ('AZ', 'OB') THEN H.STRTYPE ELSE NULL END AS AZ_OB, + K.classe AS CREDITRISKCLASS, + SUM( case when STRTYPE = 'AZ' then ROUND(h.CTV,2) else 0 end ) OVER( PARTITION BY H.COd_FISCALE,H.RETE, H.EMITTENTE, H.intermediario, H.COD_PRODOTTO_TERZI) AS CTV_AZIONARIO,--aggiunto il cod_prodotto_terzi per identificare il singolo prodotto + SUM(case when STRTYPE = 'OB' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE, H.EMITTENTE, H.intermediario, H.COD_PRODOTTO_TERZI ) AS CTV_OBBLIGAZIONARIO, --aggiunto il cod_prodotto_terzi per identificare il singolo prodotto + SUM( case when STRTYPE IN ( 'AZ','OB') then ROUND(h.CTV,2) else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE) PATRIMONIO_AZ_OB_EMIT, + SUM( case when STRTYPE IN ( 'AZ','OB') then ROUND(h.CTV,2) else 0 end ) OVER( PARTITION BY H.COd_FISCALE,H.RETE,EMITTENTE, h.intermediario ) PATRIM_AZ_OB_EMIT_INTER, + sum(case when h.tipo_prodotto='CC' and ROUND(h.CTV,2) < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPLESSIVO, + sum(case when h.tipo_prodotto='CC' and ROUND(h.CTV,2) < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete, h.intermediario) as PATRIMONIO_COMPL_nocc_neg, + 0 as concentrazione_emittente, + 0 as concentraz_emit_interm, + r.copertura + FROM + C6MARTPERIODICO.PATRIMONIO_TERZI H + LEFT OUTER JOIN + C6MARTPERIODICO.RISCHIO_AGGREGATO R + ON + H.COD_FISCALE=R.COD_FISCALE + AND H.RETE=R.RETE + AND r.COD_AGGREG ='COMPLESSIVO|TERZI|' + RTRIM(H.INTERMEDIARIO) + '|' + RTRIM(H.chiave_thr) + LEFT OUTER join + C6Martperiodico.RISCHIOEMITTENTI K + on + R.CREDITRISKEMIT=ORDINE + WHERE + 1=1 + AND H.INTERMEDIARIO <> 'BF' + --AND V.POSITIONID=H.COD_PRODOTTO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_EMITTENTI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_EMITTENTI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE.sql b/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE.sql new file mode 100644 index 00000000..3eaef97f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE.sql @@ -0,0 +1,83 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_IMMOBILIARE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_IMMOBILIARE + INSERT INTO [C6MartPeriodico].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + --DISTINCT atringali 12012010 + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, + CASE ALL_PATR_TERZI.TIPOLOGIA_RDESCR + WHEN 'Civil' THEN 'Civile' + WHEN 'Economic' THEN 'Economica' + WHEN 'Posh' THEN 'Signorile' + ELSE '' + END AS TIPOLOGIA, + ALL_PATR_TERZI.LOCALITA AS LOCALITA, + NULL AS PROVINCIA, + NULL AS CAP, + NULL AS NAZIONE, + ALL_PATR_TERZI.PATRIMONIO_IMMOBILIARE AS VALORE_STIMATO, + ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + WHERE + ALL_PATR_TERZI.CHIAVE_PR_31921 IS NOT NULL + AND ALL_PATR_TERZI.DESCRIZIONE_RDESCR IS NOT NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_IMMOBILIARE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql new file mode 100644 index 00000000..41f814e5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql @@ -0,0 +1,83 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_IMMOBILIARE_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_IMMOBILIARE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_IMMOBILIARE + INSERT INTO [C6MartPeriodico].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + --DISTINCT atringali 12012010 + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, + CASE ALL_PATR_TERZI.TIPOLOGIA_RDESCR + WHEN 'Civil' THEN 'Civile' + WHEN 'Economic' THEN 'Economica' + WHEN 'Posh' THEN 'Signorile' + ELSE '' + END AS TIPOLOGIA, + ALL_PATR_TERZI.LOCALITA AS LOCALITA, + NULL AS PROVINCIA, + NULL AS CAP, + NULL AS NAZIONE, + ALL_PATR_TERZI.PATRIMONIO_IMMOBILIARE AS VALORE_STIMATO, + ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + WHERE + ALL_PATR_TERZI.CHIAVE_PR_31921 IS NOT NULL + AND ALL_PATR_TERZI.DESCRIZIONE_RDESCR IS NOT NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_IMMOBILIARE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_IMMOBILIARE_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_TERZI.sql b/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_TERZI.sql new file mode 100644 index 00000000..6c2fb99b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_TERZI.sql @@ -0,0 +1,162 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_TERZI + INSERT INTO C6MartPeriodico.[PATRIMONIO_TERZI] + ([RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB] +) + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + ALL_PATR_TERZI.TIPO_POLIZZA_BT_97BEE AS TIPO_POLIZZA, + --COALESCE(PRODOTTI_A_CATALOGO.TIPO_PRODOTTO, PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO) AS TIPO_PRODOTTO, + CASE + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' AND S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 = 'Conti correnti' + THEN 'Altro' + ELSE + COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) + END AS TIPO_PRODOTTO, + PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO2 AS TIPO_PRODOTTO2, + ISNULL(ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO,'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(ALL_PATR_TERZI.CHIAVE_THR,'PRODOTTO IN CATALOGO') AS COD_PRODOTTO_TERZI, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + CASE + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.PolizzeRivalutabili') -- PRODOTTI S49 + THEN ISNULL(ALL_PATR_TERZI.DATA_SOTTOSCRIZIONE, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ) + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.ProdottiPrevidenziali') -- PRODOTTI S50 + THEN ALL_PATR_TERZI.BALANCEDATE_DI_THR -- EQUIVALENTE A ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ + ELSE -- PRODOTTI S48 + ALL_PATR_TERZI.DATA_INIZIO_INV + END + AS DATA_SOTTOSCRIZIONE, + ALL_PATR_TERZI.DATA_SCADENZA +AS DATA_SCADENZA, + ALL_PATR_TERZI.TIPO_VERSAMENTO_BT_6797A AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + ALL_PATR_TERZI.PREMIO_VERSAMENTO AS PREMIO, + NULL AS ALIQUOTA, + ALL_PATR_TERZI.BALANCEDATE_DI_THR AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + ALL_PATR_TERZI.PATRIMONIO_TERZI AS CTV, + ALL_PATR_TERZI.CAPITALE_INVESTITO AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' THEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' THEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' THEN 'Portafoglio Generico' + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + STRTYPE, + COMPLEX, + EMITTENTE, + ALL_PATR_TERZI.CHIAVE_THR, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + c6stagingperiodico.all_patr_terzi as ALL_PATR_TERZI--C6STAGINGPERIODICO.ALL_PATR_TERZI C6STAGINGPERIODICO.ALL_PATR_TERZI + INNER JOIN + C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3 + ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA + LEFT JOIN ( + SELECT DISTINCT + ALL_PATR_TERZI.CHIAVE_THR AS CHIAVE_THR, + COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, + S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 AS TIPO_PRODOTTO2 + FROM + c6stagingperiodico.all_patr_terzi as ALL_PATR_TERZI --C6STAGINGPERIODICO.ALL_PATR_TERZI + INNER JOIN + C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3 + ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA + ) PRODOTTI_NON_A_CATALOGO + ON PRODOTTI_NON_A_CATALOGO.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_THR + LEFT JOIN ( + SELECT + CATITEMREF.CATALOGUEID AS CATALOGUEID, + CATITEMREF.TIPOPRODOTTO AS TIPO_PRODOTTO, + CATITEMREF.STRTYPE, + CATITEMREF.COMPLEX, + MIT.DESCR AS EMITTENTE + FROM + C6STAGINGPERIODICO.CATITEMREF LEFT OUTER JOIN + C6STAGINGPERIODICO.EMIT MIT + ON MIT.CODEMI=CATITEMREF.CODEMI + ) PRODOTTI_A_CATALOGO + ON PRODOTTI_A_CATALOGO.CATALOGUEID = ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_TERZI_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_TERZI_pre_selective.sql new file mode 100644 index 00000000..090cc3b2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_TERZI_pre_selective.sql @@ -0,0 +1,162 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_TERZI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_TERZI + INSERT INTO C6MartPeriodico.[PATRIMONIO_TERZI] + ([RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB] +) + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + ALL_PATR_TERZI.TIPO_POLIZZA_BT_97BEE AS TIPO_POLIZZA, + --COALESCE(PRODOTTI_A_CATALOGO.TIPO_PRODOTTO, PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO) AS TIPO_PRODOTTO, + CASE + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' AND S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 = 'Conti correnti' + THEN 'Altro' + ELSE + COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) + END AS TIPO_PRODOTTO, + PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO2 AS TIPO_PRODOTTO2, + ISNULL(ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO,'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(ALL_PATR_TERZI.CHIAVE_THR,'PRODOTTO IN CATALOGO') AS COD_PRODOTTO_TERZI, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + CASE + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.PolizzeRivalutabili') -- PRODOTTI S49 + THEN ISNULL(ALL_PATR_TERZI.DATA_SOTTOSCRIZIONE, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ) + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.ProdottiPrevidenziali') -- PRODOTTI S50 + THEN ALL_PATR_TERZI.BALANCEDATE_DI_THR -- EQUIVALENTE A ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ + ELSE -- PRODOTTI S48 + ALL_PATR_TERZI.DATA_INIZIO_INV + END + AS DATA_SOTTOSCRIZIONE, + ALL_PATR_TERZI.DATA_SCADENZA +AS DATA_SCADENZA, + ALL_PATR_TERZI.TIPO_VERSAMENTO_BT_6797A AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + ALL_PATR_TERZI.PREMIO_VERSAMENTO AS PREMIO, + NULL AS ALIQUOTA, + ALL_PATR_TERZI.BALANCEDATE_DI_THR AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + ALL_PATR_TERZI.PATRIMONIO_TERZI AS CTV, + ALL_PATR_TERZI.CAPITALE_INVESTITO AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' THEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' THEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' THEN 'Portafoglio Generico' + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + STRTYPE, + COMPLEX, + EMITTENTE, + ALL_PATR_TERZI.CHIAVE_THR, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + c6stagingperiodico.all_patr_terzi as ALL_PATR_TERZI--C6STAGINGPERIODICO.ALL_PATR_TERZI C6STAGINGPERIODICO.ALL_PATR_TERZI + INNER JOIN + C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3 + ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA + LEFT JOIN ( + SELECT DISTINCT + ALL_PATR_TERZI.CHIAVE_THR AS CHIAVE_THR, + COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, + S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 AS TIPO_PRODOTTO2 + FROM + c6stagingperiodico.all_patr_terzi as ALL_PATR_TERZI --C6STAGINGPERIODICO.ALL_PATR_TERZI + INNER JOIN + C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3 + ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA + ) PRODOTTI_NON_A_CATALOGO + ON PRODOTTI_NON_A_CATALOGO.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_THR + LEFT JOIN ( + SELECT + CATITEMREF.CATALOGUEID AS CATALOGUEID, + CATITEMREF.TIPOPRODOTTO AS TIPO_PRODOTTO, + CATITEMREF.STRTYPE, + CATITEMREF.COMPLEX, + MIT.DESCR AS EMITTENTE + FROM + C6STAGINGPERIODICO.CATITEMREF LEFT OUTER JOIN + C6STAGINGPERIODICO.EMIT MIT + ON MIT.CODEMI=CATITEMREF.CODEMI + ) PRODOTTI_A_CATALOGO + ON PRODOTTI_A_CATALOGO.CATALOGUEID = ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_TERZI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_PIRAMIDE_MOD.sql b/sql/storedProduzione/C6MartPeriodico_DM_PIRAMIDE_MOD.sql new file mode 100644 index 00000000..d6a7320e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_PIRAMIDE_MOD.sql @@ -0,0 +1,92 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PIRAMIDE_MOD] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PIRAMIDE_MOD', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PIRAMIDE_MOD + INSERT INTO C6MartPeriodico.[PIRAMIDE_MOD] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[DATA_PIANIF] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_CF_PB.RETE_PB AS RETE, + ALL_CF_PB.CODICE_FISCALE AS COD_FISCALE, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + PRCONSUL.C_PROJECTNAM_11D1A AS NOME_PROGETTO, + PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO, + PRCONSUL.C_PERCENTUAL_69019 AS PERC_AREA, + PRCONSUL.C_PROJECTCTV_39520 AS CTV_PROGETTO, + CONSAREA.C_CTVNEEDARE_EA4FB AS CTV_AREA, + C_BO_453FB.C_VALUE_7BD3C AS ORIZZ_TEMP_NUM, + C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA, + ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + CONSUL.C_DATAMIGRAZ_BF705 AS DATA_MIGR_CONS, + PRCONSUL.C_LASTMODIFI_3BF4A AS DATA_PIANIF, + NULL AS ID_CONTRATTO, + PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB + INNER JOIN C6STAGINGPERIODICO.CONSUL + ON CONSUL.INSTID = ALL_CF_PB.RETE_PB + AND CONSUL.ADBKID = ALL_CF_PB.CODICEFISCALE + AND CONSUL.TYPE$_TIPOCO_1EA7C = 'Bozza' --'AttivaAggiornata' + INNER JOIN C6STAGINGPERIODICO.CONSAREA + ON CONSAREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6STAGINGPERIODICO.PRCONSUL + ON PRCONSUL.F_PCONSULENZ_B69E4 = CONSAREA.OID$ + LEFT JOIN C6STAGINGPERIODICO.C_BO_453FB + ON C_BO_453FB.PK_PRC = PRCONSUL.OID$ + -- WHERE C6STAGINGPERIODICO.ALL_CF_PB.CODICEFISCALE='PDRSRG35P16A794I' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PIRAMIDE_MOD' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PIRAMIDE_MOD' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_PIRAMIDE_MOD_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_PIRAMIDE_MOD_pre_selective.sql new file mode 100644 index 00000000..0d85f0a4 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_PIRAMIDE_MOD_pre_selective.sql @@ -0,0 +1,92 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PIRAMIDE_MOD_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PIRAMIDE_MOD_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PIRAMIDE_MOD + INSERT INTO C6MartPeriodico.[PIRAMIDE_MOD] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[DATA_PIANIF] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_CF_PB.RETE_PB AS RETE, + ALL_CF_PB.CODICE_FISCALE AS COD_FISCALE, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + PRCONSUL.C_PROJECTNAM_11D1A AS NOME_PROGETTO, + PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO, + PRCONSUL.C_PERCENTUAL_69019 AS PERC_AREA, + PRCONSUL.C_PROJECTCTV_39520 AS CTV_PROGETTO, + CONSAREA.C_CTVNEEDARE_EA4FB AS CTV_AREA, + C_BO_453FB.C_VALUE_7BD3C AS ORIZZ_TEMP_NUM, + C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA, + ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + CONSUL.C_DATAMIGRAZ_BF705 AS DATA_MIGR_CONS, + PRCONSUL.C_LASTMODIFI_3BF4A AS DATA_PIANIF, + NULL AS ID_CONTRATTO, + PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB + INNER JOIN C6STAGINGPERIODICO.CONSUL + ON CONSUL.INSTID = ALL_CF_PB.RETE_PB + AND CONSUL.ADBKID = ALL_CF_PB.CODICEFISCALE + AND CONSUL.TYPE$_TIPOCO_1EA7C = 'Bozza' --'AttivaAggiornata' + INNER JOIN C6STAGINGPERIODICO.CONSAREA + ON CONSAREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6STAGINGPERIODICO.PRCONSUL + ON PRCONSUL.F_PCONSULENZ_B69E4 = CONSAREA.OID$ + LEFT JOIN C6STAGINGPERIODICO.C_BO_453FB + ON C_BO_453FB.PK_PRC = PRCONSUL.OID$ + -- WHERE C6STAGINGPERIODICO.ALL_CF_PB.CODICEFISCALE='PDRSRG35P16A794I' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PIRAMIDE_MOD_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PIRAMIDE_MOD_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_PIRAMIDE_VERT.sql b/sql/storedProduzione/C6MartPeriodico_DM_PIRAMIDE_VERT.sql new file mode 100644 index 00000000..efe54b4d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_PIRAMIDE_VERT.sql @@ -0,0 +1,66 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 25/11/2008 +-- Description: Modificate le tabelle da cui pescare i dati (non più la all_pos_cons_cat) +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PIRAMIDE_VERT] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + SET @TIPO_ELAB = [C6MartPeriodico].GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PIRAMIDE_VERT', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[PIRAMIDE_VERT] + INSERT INTO [C6MartPeriodico].[PIRAMIDE_VERT] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[CTV_AREA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ALL_CF_PB.RETE_PB AS RETE, + ALL_CF_PB.CODICE_FISCALE AS COD_FISCALE, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + CONSAREA.C_CTVNEEDARE_EA4FB AS CTV_AREA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_CF_PB + INNER JOIN + C6StagingPeriodico.CONSUL + ON + CONSUL.INSTID = ALL_CF_PB.RETE_PB + AND CONSUL.ADBKID = ALL_CF_PB.CODICEFISCALE + AND CONSUL.TYPE$_TIPOCO_1EA7C = 'Bozza' --'AttivaAggiornata' + INNER JOIN + C6StagingPeriodico.CONSAREA + ON + CONSAREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PIRAMIDE_VERT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PIRAMIDE_VERT' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre.sql b/sql/storedProduzione/C6MartPeriodico_DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre.sql new file mode 100644 index 00000000..1a46283d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre.sql @@ -0,0 +1,50 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- storicizzare le operazione dell'ultimo trimestre prima di troncare la tabella + --troncare la tabella esistente +truncate table [C6StampeCentralizzate].[C6STAGINGPERIODICO].AM_OperazioniUltimoTrimestre +-- step propedeutici al popolamento della tabella svuotata +select sca.rete,sca.codfis, sca.NumeroContratto, sca.Contratto, sca.ImportoOperazione, sca.Operazione, sca.DataOperazione, sca.FirmaDigitale +into #propedeutica +from +( +select +a.rete, +case +when isnull(a.codman,'') = '' then a.codfis +when a.codman <> '' then 'FF@'+ a.codman +end as codfis, +a.codconf as NumeroContratto, +a.DESPROD as Contratto, +a.IMPORTO as ImportoOperazione, +a.DESCAU as Operazione, +substring(cast(a.DTOPE as varchar),7,2) + '/'+ substring(cast(a.DTope as varchar),5,2) + '/' + substring(cast(a.Dtope as varchar),1,4) as DataOperazione, +w.descrizione_report as FirmaDigitale +from c6stagingPeriodico.w6aput AS a +inner join [dbo].[W6APUT_AnaFirma] as w +on a.firma = w.firma +where a.dttrim = (select max(dttrim) from c6stagingPeriodico.w6aput) +--AND @datacongelamento +) sca +--- aggiunta del CF e rete per entrare nella SP successiva +insert into [C6StampeCentralizzate].[C6STAGINGPERIODICO].AM_OperazioniUltimoTrimestre +SELECT RETE, + codfis AS CodiceFiscale + ,DataOperazione + ,Contratto + ,NumeroContratto + ,Operazione + ,ImportoOperazione + ,FirmaDigitale +FROM #propedeutica +order by rete,codicefiscale, CONVERT(DATETIME, DataOperazione, 103) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre_old.sql b/sql/storedProduzione/C6MartPeriodico_DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre_old.sql new file mode 100644 index 00000000..77e109fd --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre_old.sql @@ -0,0 +1,136 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +create PROCEDURE [C6MartPeriodico].[DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre_old] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- settaggio variabili del trimestre +declare @datacongelamento as datetime +declare @dataInizioTrimestre as datetime +set @datacongelamento = C6MartPeriodico.getDataCongelamento() +set @dataInizioTrimestre = DATEADD(m,-3,DATEADD(mm, DATEDIFF(m,0,@datacongelamento), 0)) +--print @datacongelamento +--print @dataInizioTrimestre +-- storicizzare le operazione dell'ultimo trimestre prima di troncare la tabella + --troncare la tabella esistente +truncate table [C6StampeCentralizzate].[C6STAGINGPERIODICO].AM_OperazioniUltimoTrimestre +-- step propedeutici al popolamento della tabella svuotata +select a.NumeroContratto, a.chiaveclientepb, a.Contratto, a.ImportoOperazione, a.Operazione, a.DataOperazione, a.FirmaDigitale +into #propedeutica +from +( +SELECT + distinct pospro.codConf as NumeroContratto + ,pos.chiaveclientepb + ,pn.descrizione as Contratto + --,dop.investi + --,dop.disinvesti + ,isnull(dop.investi, (dop.disinvesti * - 1)) as ImportoOperazione + ,dto.descrizione as Operazione + ,Convert(VARCHAR, dop.dtAggiornamento, 103) AS DataOperazione + --, null as Firma + ,CASE + WHEN sca.WSMOV_FIRMA_DIGITALE = 'G' then 'Grafometrica' + WHEN sca.WSMOV_FIRMA_DIGITALE = 'N' then 'Olografa' + WHEN sca.WSMOV_FIRMA_DIGITALE = 'S' then 'Elettronica' + ELSE 'Olografa' + END AS FirmaDigitale +FROM Consuni_Periodico.ConsulenzaUnica.dbo.ST_DettaglioOperazione dop +LEFT JOIN Consuni.ConsulenzaUnica.dbo.PosizioniProposta pospro ON dop.chiavePosizionePro = pospro.chiavePosizionePro +LEFT JOIN Consuni_Periodico.ConsulenzaUnica.dbo.DTipoOperazione dto ON dto.codTipoOperazione = dop.codTipoOperazione +LEFT JOIN Consuni.CatalogoProdotti.dbo.ProdottiNucleo pn ON pn.codinterno = substring(pospro.codConf, 7, 2) +LEFT JOIN Consuni.CatalogoProdotti.dbo.CatalogoProdotti cat ON --posport.chiaveProdotto = cat.ChiaveProdotto AND +CAT.CODINTERNO = PN.codinterno AND pn.tipoprodotto = cat.tipoprodotto +LEFT JOIN Consuni_Periodico.ConsulenzaUnica.dbo.Proposta pos ON pos.chiaveProposta = dop.chiaveProposta +--LEFT JOIN (SELECT cod_fiscale+rete from [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport]) rp ON rp.chiaveclientePB = pos.chiaveclientePB +--LEFT JOIN Consuni_Periodico.ConsulenzaUnica.dbo.vInfoCliente vi ON vi.chiavePB = pos.chiaveClientePB +--LEFT JOIN WSMOV_CONTRATTO_scarico sca ON sca.WSMOV_CONTRATTO = posport.codConf +LEFT JOIN (select wsmov_data_eseguito,WSMOV_FIRMA_DIGITALE,wsmov_contratto, wsmov_operazione from [C6StagingPeriodico].WSMOV_CONTRATTO_SCARICO + where CONVERT(DATETIME, CONVERT(VARCHAR, wsmov_data_eseguito, 103),103) --between +>= @dataInizioTrimestre +--AND @datacongelamento +) sca + ON sca.wsmov_contratto = pospro.codConf + AND substring(dop.codTipoOperazione, 1, 1) = sca.wsmov_operazione +WHERE dop.chiaveProposta-- = '32255229' +IN (select chiaveProposta from Consuni_Periodico.ConsulenzaUnica.dbo.Proposta where chiaveclientepb in (select distinct chiaveclientepb from [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport]) +AND status not in ('VA', 'EX', 'BO')) +AND pospro.chiavePosizionePro <> '0' +AND dop.dtAggiornamento between @dataInizioTrimestre AND @datacongelamento + union all +SELECT + distinct posport.codConf as NumeroContratto + ,pos.chiaveclientepb + ,pn.descrizione as Contratto + --,dop.investi + --,dop.disinvesti + ,isnull(dop.investi, (dop.disinvesti * - 1)) as ImportoOperazione + ,dto.descrizione as Operazione + ,Convert(VARCHAR, dop.dtAggiornamento, 103) AS DataOperazione + --, null as Firma + ,CASE + WHEN sca.WSMOV_FIRMA_DIGITALE = 'G' then 'Grafometrica' + WHEN sca.WSMOV_FIRMA_DIGITALE = 'N' then 'Olografa' + WHEN sca.WSMOV_FIRMA_DIGITALE = 'S' then 'Elettronica' + ELSE 'Olografa' + END AS FirmaDigitale +FROM Consuni_Periodico.ConsulenzaUnica.dbo.ST_DettaglioOperazione dop +LEFT JOIN Consuni_Periodico.ConsulenzaUnica.dbo.PosizioniPortafoglio posport ON dop.chiavePosizionePtf = posport.chiavePosizionePtf +LEFT JOIN Consuni_Periodico.ConsulenzaUnica.dbo.DTipoOperazione dto ON dto.codTipoOperazione = dop.codTipoOperazione +LEFT JOIN Consuni.CatalogoProdotti.dbo.ProdottiNucleo pn ON pn.codinterno = substring(posport.codConf, 7, 2) +LEFT JOIN Consuni.CatalogoProdotti.dbo.CatalogoProdotti cat ON --posport.chiaveProdotto = cat.ChiaveProdotto AND +CAT.CODINTERNO = PN.codinterno AND pn.tipoprodotto = cat.tipoprodotto +LEFT JOIN Consuni_Periodico.ConsulenzaUnica.dbo.Proposta pos ON pos.chiaveProposta = dop.chiaveProposta +--LEFT JOIN (SELECT cod_fiscale+rete from [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport]) rp ON rp.chiaveclientePB = pos.chiaveclientePB +--LEFT JOIN Consuni_Periodico.ConsulenzaUnica.dbo.vInfoCliente vi ON vi.chiavePB = pos.chiaveClientePB +--LEFT JOIN WSMOV_CONTRATTO_scarico sca ON sca.WSMOV_CONTRATTO = posport.codConf +LEFT JOIN (select wsmov_data_eseguito,WSMOV_FIRMA_DIGITALE,wsmov_contratto, wsmov_operazione from [C6StagingPeriodico].WSMOV_CONTRATTO_SCARICO + where CONVERT(DATETIME, CONVERT(VARCHAR, wsmov_data_eseguito, 103),103) --between +>= @dataInizioTrimestre --AND @datacongelamento +) sca + ON sca.wsmov_contratto = posport.codConf + AND substring(dop.codTipoOperazione, 1, 1) = sca.wsmov_operazione +WHERE dop.chiaveProposta-- = '32255229' +in (select chiaveProposta from Consuni_Periodico.ConsulenzaUnica.dbo.Proposta where chiaveclientepb in (select distinct chiaveclientepb from [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport]) +AND status not in ('VA', 'EX', 'BO')) +and posport.chiavePosizionePtf <> '0' +AND dop.dtAggiornamento between @dataInizioTrimestre AND @datacongelamento +--AND CODCONF = '29838895201' +) a +-- appiattire e raggruppare per la somma delle operazioni +SELECT ChiaveclientePB + ,DataOperazione + ,Contratto + ,NumeroContratto + ,Operazione + ,SUM(ImportoOperazione) as ImportoOperazione + ,FirmaDigitale +into #propedeutica_raggruppata +FROM #propedeutica +GROUP BY ChiaveclientePB + ,dataOperazione + ,Contratto + ,NumeroContratto + ,Operazione + ,FirmaDigitale +ORDER BY CONVERT(DATETIME, DataOperazione, 103) +--- aggiunta del CF e rete per entrare nella SP successiva +insert into [C6StampeCentralizzate].[C6STAGINGPERIODICO].AM_OperazioniUltimoTrimestre +SELECT RP.RETE, + RP.cod_fiscale AS CodiceFiscale + ,DataOperazione + ,Contratto + ,NumeroContratto + ,Operazione + ,ImportoOperazione + ,FirmaDigitale +FROM #propedeutica_raggruppata TEMP +INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] RP +ON RP.CHIAVECLIENTEPB = TEMP.CHIAVECLIENTEPB +order by rete, codicefiscale, CONVERT(DATETIME, DataOperazione, 103) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_PROVENTI.sql b/sql/storedProduzione/C6MartPeriodico_DM_PROVENTI.sql new file mode 100644 index 00000000..aba0a0cf --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_PROVENTI.sql @@ -0,0 +1,87 @@ +CREATE procedure [C6MartPeriodico].[DM_PROVENTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @DTMAX INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEIPR + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_PROVENTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[PROVENTI] +--select * from [C6MartPeriodico].[PROVENTI] + INSERT INTO [C6MartPeriodico].[PROVENTI] ( + WSEIPR.RETE, + DTTRIM, + COD_FISCALE, + COD_INTERNO , + COD_SOTTOPRODOTTO , + DESPROD , + DTRIFE, + TIPMOV, + IMPORTO + ) + SELECT + WSEIPR.RETE, + convert(datetime,convert(varchar,WSEIPR.[DTTRIM]),100) as [DT_TRIM], + WSEIPR.CODFIS, + COD_INTERNO = CASE + -- WHEN WSEIPR.FAMPROD <> 'DT' THEN WSEIPR.CODPROD + -- ELSE WSEIPR.CODABI + WHEN LTRIM(RTRIM(isnull(WSEIPR.CODABI,''))) = '' THEN WSEIPR.CODPROD + ELSE LTRIM(RTRIM(WSEIPR.CODABI)) + END, + COD_SOTTOPRODOTTO = CASE + WHEN LTRIM(RTRIM(isnull(WSEIPR.SUBPROD,''))) = '' THEN '' + ELSE LTRIM(RTRIM(WSEIPR.SUBPROD)) + END, + --[C6MartPeriodico].[getDESPRODCAT](CODPROD,SUBPROD) as DESPROD , + [C6MartPeriodico].[getDESPRODCAT] + (CASE + WHEN LTRIM(RTRIM(isnull(WSEIPR.CODABI,''))) = '' THEN WSEIPR.CODPROD + ELSE LTRIM(RTRIM(WSEIPR.CODABI)) + END, + CASE + WHEN LTRIM(RTRIM(isnull(WSEIPR.SUBPROD,''))) = '' THEN NULL + ELSE LTRIM(RTRIM(WSEIPR.SUBPROD)) + END) as DESPROD , + convert(datetime,convert(varchar,WSEIPR.[DTRIFE]),100) as DTRIFE, + WSEIPR.TIPMOV, + WSEIPR.IMPORTO + FROM c6StagingPeriodico.WSEIPR WSEIPR + WHERE + WSEIPR.[DTTRIM] = @DTMAX + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PROVENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_PROVENTI' + ) +-- FC 22/01/2014 +-- Verifica e scarto prodotti + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT a.RETE, a.COD_FISCALE, 'PROVENTI.DESPROD IS NULL' + FROM [C6MartPeriodico].[PROVENTI] a --WHERE ISNULL(DesProd,'') ='' + INNER JOIN c6stagingperiodico.appo_contratti_v b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and b.tip_contratto=2 + WHERE ISNULL(DesProd,'') ='' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_PROVENTI_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_PROVENTI_pre_selective.sql new file mode 100644 index 00000000..f913c57b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_PROVENTI_pre_selective.sql @@ -0,0 +1,87 @@ +CREATE PROCEDURE [C6MartPeriodico].[DM_PROVENTI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @DTMAX INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEIPR + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PROVENTI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[PROVENTI] +--select * from [C6MartPeriodico].[PROVENTI] + INSERT INTO [C6MartPeriodico].[PROVENTI] ( + WSEIPR.RETE, + DTTRIM, + COD_FISCALE, + COD_INTERNO , + COD_SOTTOPRODOTTO , + DESPROD , + DTRIFE, + TIPMOV, + IMPORTO + ) + SELECT + WSEIPR.RETE, + convert(datetime,convert(varchar,WSEIPR.[DTTRIM]),100) as [DT_TRIM], + WSEIPR.CODFIS, + COD_INTERNO = CASE + -- WHEN WSEIPR.FAMPROD <> 'DT' THEN WSEIPR.CODPROD + -- ELSE WSEIPR.CODABI + WHEN LTRIM(RTRIM(isnull(WSEIPR.CODABI,''))) = '' THEN WSEIPR.CODPROD + ELSE LTRIM(RTRIM(WSEIPR.CODABI)) + END, + COD_SOTTOPRODOTTO = CASE + WHEN LTRIM(RTRIM(isnull(WSEIPR.SUBPROD,''))) = '' THEN '' + ELSE LTRIM(RTRIM(WSEIPR.SUBPROD)) + END, + --[C6MartPeriodico].[getDESPRODCAT](CODPROD,SUBPROD) as DESPROD , + [C6MartPeriodico].[getDESPRODCAT] + (CASE + WHEN LTRIM(RTRIM(isnull(WSEIPR.CODABI,''))) = '' THEN WSEIPR.CODPROD + ELSE LTRIM(RTRIM(WSEIPR.CODABI)) + END, + CASE + WHEN LTRIM(RTRIM(isnull(WSEIPR.SUBPROD,''))) = '' THEN NULL + ELSE LTRIM(RTRIM(WSEIPR.SUBPROD)) + END) as DESPROD , + convert(datetime,convert(varchar,WSEIPR.[DTRIFE]),100) as DTRIFE, + WSEIPR.TIPMOV, + WSEIPR.IMPORTO + FROM c6StagingPeriodico.WSEIPR WSEIPR + WHERE + WSEIPR.[DTTRIM] = @DTMAX + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PROVENTI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PROVENTI_pre_selective' + ) +-- FC 22/01/2014 +-- Verifica e scarto prodotti + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT a.RETE, a.COD_FISCALE, 'PROVENTI.DESPROD IS NULL' + FROM [C6MartPeriodico].[PROVENTI] a --WHERE ISNULL(DesProd,'') ='' + INNER JOIN c6stagingperiodico.appo_contratti b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and b.tip_contratto=2 + WHERE ISNULL(DesProd,'') ='' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_RISCHIOEMITTENTI.sql b/sql/storedProduzione/C6MartPeriodico_DM_RISCHIOEMITTENTI.sql new file mode 100644 index 00000000..ac14d456 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_RISCHIOEMITTENTI.sql @@ -0,0 +1,15 @@ +CREATE procedure [C6MartPeriodico].[DM_RISCHIOEMITTENTI] +as +begin +truncate table C6MARTperiodico.[RischioEmittenti] +INSERT INTO [C6StampeCentralizzate].C6MARTperiodico.[RischioEmittenti] + ([Classe] + ,[Min] + ,[Max] + ,[Ordine]) + SELECT [Classe] + ,[MinVal] + ,[MaxVal] + ,[Ordine] + FROM [C6StampeCentralizzate].[C6Stagingperiodico].[RiskEmit] +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO.sql b/sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO.sql new file mode 100644 index 00000000..ea15b335 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO.sql @@ -0,0 +1,95 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_RISCHIO_AGGREGATO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.RISCHIO_AGGREGATO + INSERT INTO C6MartPeriodico.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + case when PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO >= 99.99 then 99.99 + when PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO <= 0.0 then 0.0 + else CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) end AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + -- Modifica del 27/6/2018 - per errore cast + --CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(12,3)) AS BENEFICIO, + -- fine Modifica del 27/6/2018 + CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + c6martperiodico.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + FROM + C6martPERIODICO.brsvarallaggr PROMETEIA_AGGR +--begin transaction +update c6martperiodico.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_20180627_preNewInd.sql b/sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_20180627_preNewInd.sql new file mode 100644 index 00000000..94d7226b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_20180627_preNewInd.sql @@ -0,0 +1,90 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_RISCHIO_AGGREGATO_20180627_preNewInd] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.RISCHIO_AGGREGATO + INSERT INTO C6MartPeriodico.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + c6martperiodico.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + FROM + C6STAGINGPERIODICO.PROMETEIA_AGGR +--begin transaction +update c6martperiodico.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_OLD2.sql b/sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_OLD2.sql new file mode 100644 index 00000000..c58ddf4c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_OLD2.sql @@ -0,0 +1,97 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_RISCHIO_AGGREGATO_OLD2] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.RISCHIO_AGGREGATO + INSERT INTO C6MartPeriodico.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(10,2)) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + --CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + --V il CC deve avere sempre copertura = 100 + CASE + WHEN PORTAFOGLIO = 'COMPLESSIVO|BF|CC' THEN 100 + ELSE CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) + END AS COPERTURA, + --CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(10,2)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + --nuovo + C6martperiodico.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISK_EMIT + FROM + C6STAGINGPERIODICO.PROMETEIA_AGGR +--begin transaction +update c6martperiodico.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_old.sql b/sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_old.sql new file mode 100644 index 00000000..d6f90496 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_old.sql @@ -0,0 +1,88 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_RISCHIO_AGGREGATO_old] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.RISCHIO_AGGREGATO + INSERT INTO C6MartPeriodico.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(10,2)) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC + FROM + C6STAGINGPERIODICO.PROMETEIA_AGGR +--begin transaction +update c6martperiodico.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_preAladdin.sql b/sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_preAladdin.sql new file mode 100644 index 00000000..83291c1a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_preAladdin.sql @@ -0,0 +1,93 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_RISCHIO_AGGREGATO_preAladdin] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.RISCHIO_AGGREGATO + INSERT INTO C6MartPeriodico.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + -- Modifica del 27/6/2018 - per errore cast + --CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(12,3)) AS BENEFICIO, + -- fine Modifica del 27/6/2018 + CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + c6martperiodico.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + FROM + C6STAGINGPERIODICO.PROMETEIA_AGGR +--begin transaction +update c6martperiodico.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective.sql new file mode 100644 index 00000000..e3e9fba8 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective.sql @@ -0,0 +1,90 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_RISCHIO_AGGREGATO_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.RISCHIO_AGGREGATO + INSERT INTO C6MartPeriodico.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + c6martperiodico.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + FROM + C6martPERIODICO.brsvarallaggr PROMETEIA_AGGR +--begin transaction +update c6martperiodico.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective_preAladdin.sql b/sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective_preAladdin.sql new file mode 100644 index 00000000..0594a772 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective_preAladdin.sql @@ -0,0 +1,90 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_RISCHIO_AGGREGATO_pre_selective_preAladdin] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.RISCHIO_AGGREGATO + INSERT INTO C6MartPeriodico.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + c6martperiodico.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + FROM + C6STAGINGPERIODICO.PROMETEIA_AGGR +--begin transaction +update c6martperiodico.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_SCADENZE.sql b/sql/storedProduzione/C6MartPeriodico_DM_SCADENZE.sql new file mode 100644 index 00000000..6a192721 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_SCADENZE.sql @@ -0,0 +1,87 @@ +CREATE procedure [C6MartPeriodico].[DM_SCADENZE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @DTMAX INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEISC + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_SCADENZE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[SCADENZE] +--select * from [C6MartPeriodico].[[SCADENZE]] + INSERT INTO [C6MartPeriodico].[SCADENZE] ( + WSEIPR.RETE, + DTTRIM, + COD_FISCALE, + COD_INTERNO , + COD_SOTTOPRODOTTO, + DESPROD, + DTSCAD, + TIPMOV + ) + SELECT + WSEISC.RETE, + convert(datetime,convert(varchar,WSEISC.[DTTRIM]),100) as [DT_TRIM], + WSEISC.CODFIS, + COD_INTERNO = CASE + -- WHEN WSEISC.FAMPROD <> 'DT' THEN WSEISC.CODPROD + -- ELSE WSEISC.CODABI + WHEN LTRIM(RTRIM(isnull(WSEISC.CODABI,''))) = '' THEN WSEISC.CODPROD + ELSE LTRIM(RTRIM(WSEISC.CODABI)) + END, + COD_SOTTOPRODOTTO = CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.SUBPROD,''))) = '' THEN '' + ELSE LTRIM(RTRIM(WSEISC.SUBPROD)) + END, + -- [C6MartPeriodico].[getDESPRODCAT](CODPROD,SUBPROD) as DESPROD , + [C6MartPeriodico].[getDESPRODCAT] + (CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.CODABI,''))) = '' THEN WSEISC.CODPROD + ELSE LTRIM(RTRIM(WSEISC.CODABI)) + END, + CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.SUBPROD,''))) = '' THEN NULL + ELSE LTRIM(RTRIM(WSEISC.SUBPROD)) + END) as DESPROD , + convert(datetime,convert(varchar,WSEISC.DTSCAD),100) as DTSCAD, + WSEISC.TIPMOV + FROM c6StagingPeriodico.WSEISC WSEISC + -- modifica del 28/4/2017 per s&m selective + inner join c6StagingPeriodico.appo_contratti_v appo + on wseisc.rete = appo.rete and + wseisc.codfis = appo.cod_fiscale + --fine modifica del 28/4/2017 per s&m selective + WHERE + WSEISC.[DTTRIM] = @DTMAX + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_SCADENZE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_SCADENZE' + ) +-- FC 22/01/2014 +-- Verifica e scarto prodotti + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'SCADENZE.DESPROD IS NULL' + FROM [C6MartPeriodico].[SCADENZE] WHERE ISNULL(DesProd,'') ='' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_SCADENZE_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_DM_SCADENZE_pre_selective.sql new file mode 100644 index 00000000..1b747280 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_SCADENZE_pre_selective.sql @@ -0,0 +1,82 @@ +CREATE procedure [C6MartPeriodico].[DM_SCADENZE_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @DTMAX INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEISC + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_SCADENZE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[SCADENZE] +--select * from [C6MartPeriodico].[[SCADENZE]] + INSERT INTO [C6MartPeriodico].[SCADENZE] ( + WSEIPR.RETE, + DTTRIM, + COD_FISCALE, + COD_INTERNO , + COD_SOTTOPRODOTTO, + DESPROD, + DTSCAD, + TIPMOV + ) + SELECT + WSEISC.RETE, + convert(datetime,convert(varchar,WSEISC.[DTTRIM]),100) as [DT_TRIM], + WSEISC.CODFIS, + COD_INTERNO = CASE + -- WHEN WSEISC.FAMPROD <> 'DT' THEN WSEISC.CODPROD + -- ELSE WSEISC.CODABI + WHEN LTRIM(RTRIM(isnull(WSEISC.CODABI,''))) = '' THEN WSEISC.CODPROD + ELSE LTRIM(RTRIM(WSEISC.CODABI)) + END, + COD_SOTTOPRODOTTO = CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.SUBPROD,''))) = '' THEN '' + ELSE LTRIM(RTRIM(WSEISC.SUBPROD)) + END, + -- [C6MartPeriodico].[getDESPRODCAT](CODPROD,SUBPROD) as DESPROD , + [C6MartPeriodico].[getDESPRODCAT] + (CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.CODABI,''))) = '' THEN WSEISC.CODPROD + ELSE LTRIM(RTRIM(WSEISC.CODABI)) + END, + CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.SUBPROD,''))) = '' THEN NULL + ELSE LTRIM(RTRIM(WSEISC.SUBPROD)) + END) as DESPROD , + convert(datetime,convert(varchar,WSEISC.DTSCAD),100) as DTSCAD, + WSEISC.TIPMOV + FROM c6StagingPeriodico.WSEISC WSEISC + WHERE + WSEISC.[DTTRIM] = @DTMAX + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_SCADENZE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_SCADENZE_pre_selective' + ) +-- FC 22/01/2014 +-- Verifica e scarto prodotti + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'SCADENZE.DESPROD IS NULL' + FROM [C6MartPeriodico].[SCADENZE] WHERE ISNULL(DesProd,'') ='' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_SCADENZE_pre_selective_luca.sql b/sql/storedProduzione/C6MartPeriodico_DM_SCADENZE_pre_selective_luca.sql new file mode 100644 index 00000000..fe0a37a7 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_SCADENZE_pre_selective_luca.sql @@ -0,0 +1,82 @@ +CREATE procedure [C6MartPeriodico].[DM_SCADENZE_pre_selective_luca] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @DTMAX INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEISC + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_SCADENZE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[SCADENZE] +--select * from [C6MartPeriodico].[[SCADENZE]] + INSERT INTO [C6MartPeriodico].[SCADENZE] ( + WSEIPR.RETE, + DTTRIM, + COD_FISCALE, + COD_INTERNO , + COD_SOTTOPRODOTTO, + DESPROD, + DTSCAD, + TIPMOV + ) + SELECT + WSEISC.RETE, + convert(datetime,convert(varchar,WSEISC.[DTTRIM]),100) as [DT_TRIM], + WSEISC.CODFIS, + COD_INTERNO = CASE + -- WHEN WSEISC.FAMPROD <> 'DT' THEN WSEISC.CODPROD + -- ELSE WSEISC.CODABI + WHEN LTRIM(RTRIM(isnull(WSEISC.CODABI,''))) = '' THEN WSEISC.CODPROD + ELSE LTRIM(RTRIM(WSEISC.CODABI)) + END, + COD_SOTTOPRODOTTO = CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.SUBPROD,''))) = '' THEN '' + ELSE LTRIM(RTRIM(WSEISC.SUBPROD)) + END, + -- [C6MartPeriodico].[getDESPRODCAT](CODPROD,SUBPROD) as DESPROD , + [C6MartPeriodico].[getDESPRODCAT] + (CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.CODABI,''))) = '' THEN WSEISC.CODPROD + ELSE LTRIM(RTRIM(WSEISC.CODABI)) + END, + CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.SUBPROD,''))) = '' THEN NULL + ELSE LTRIM(RTRIM(WSEISC.SUBPROD)) + END) as DESPROD , + convert(datetime,convert(varchar,WSEISC.DTSCAD),100) as DTSCAD, + WSEISC.TIPMOV + FROM c6StagingPeriodico.WSEISC WSEISC + WHERE + WSEISC.[DTTRIM] = @DTMAX + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_SCADENZE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_SCADENZE' + ) +-- FC 22/01/2014 +-- Verifica e scarto prodotti + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'SCADENZE.DESPROD IS NULL' + FROM [C6MartPeriodico].[SCADENZE] WHERE ISNULL(DesProd,'') ='' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_STORICO_CAPPROT_FVI.sql b/sql/storedProduzione/C6MartPeriodico_DM_STORICO_CAPPROT_FVI.sql new file mode 100644 index 00000000..bce7f22f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_STORICO_CAPPROT_FVI.sql @@ -0,0 +1,74 @@ +-- ============================================= +-- Description: 'S' + and LP.DTTRIM = @DataFineTrim and cs.dttrim = @DataFineTrim +-------------------------------------------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_STORICO_CAPPROT_FVI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_STORICO_CAPPROT_FVI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_TEST_QUALITY.sql b/sql/storedProduzione/C6MartPeriodico_DM_TEST_QUALITY.sql new file mode 100644 index 00000000..ca210bd5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_TEST_QUALITY.sql @@ -0,0 +1,112 @@ +CREATE PROCEDURE [C6MartPeriodico].[DM_TEST_QUALITY] +AS +BEGIN +declare @date datetime +declare @trimestre datetime +set @date = getdate() +set @trimestre = [C6MartPeriodico].[getTrimestre] (@date, 0) +SELECT 'TESTING FOR TRIMESTRALE = ' + cast( @trimestre as NVARCHAR(20)) +--set @trimestre = '2017-06-30' +SELECT 'TESTING DATA_MONIT' +;with dd as +( +SELECT + CONO.ID_AREA AS NEED_AREA, + CASE + WHEN CONO.NOME_PROGETTO = 'XXX' THEN '' + ELSE CONO.NOME_PROGETTO + END AS NOME_PROGETTO, + CONO.RETE, + CONO.COD_FISCALE, + CONO.DATA_CONO, + MONIT.DATA_CTV as DATA_MONIT +FROM + C6MartPeriodico.CONO_PIANIFICAZIONE AS CONO + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE AS MONIT + ON CONO.RETE = MONIT.RETE + AND CONO.COD_FISCALE = MONIT.COD_FISCALE + AND CONO.ID_AREA = MONIT.ID_AREA + AND CONO.NOME_PROGETTO = MONIT.NOME_PROGETTO + AND cono.ordinamento_progetto=monit.ordinamento_progetto +),reduced_data as +( +select distinct d.* +from dd d + inner join (select * from dd where data_cono = @trimestre) x on d.need_area = x.need_area and d.nome_progetto = x.nome_progetto + and x.rete = d.rete and x.cod_fiscale = d.cod_fiscale +), +correct_data as +( +select * from reduced_data d where data_cono = data_monit +) +select d.RETE, d.COD_FISCALE, 'missing data for DATA_MONIT for NOME_PROGETTO = ' + d.nome_progetto + ' NEED_AREA = '+ d.need_area as MOTIVO +from reduced_data d + left join correct_data x on d.need_area = x.need_area and d.nome_progetto = x.nome_progetto + and x.rete = d.rete and x.cod_fiscale = d.cod_fiscale +where x.need_area is null +group by d.rete, d.cod_fiscale, d.need_area, d.nome_progetto +SELECT 'TESTING data_perf in c6mart.vcontratti' +DECLARE @dtrim VARCHAR(8) + set @dtrim = c6martperiodico.getPreviousTrimestre(getDate(),0) + SELECT codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim,rank INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' and dttrim = @dtrim + )X +select * from wh.Maledetti m inner join #WSEIAN_1 wse + on wse.codfis = m.i_codiceFiscale and wse.rete = m.i_rete left join [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC +on vc.cod_fiscale = i_codiceFiscale and vc.rete = i_rete +where data_perf is null and wse.FLGPROF = 'S' +SELECT 'TESTING SCARTO PER PIRAMIDE MODELLO' +SELECT RETE, COD_FISCALE, + CASE + WHEN PMOD.PRC > 100 THEN 'SCARTO PER PIRAMIDE MODELLO SUPERIORE A 100' + WHEN PMOD.PRC < 1 THEN 'SCARTO PER PIRAMIDE MODELLO BELOW 1' + ELSE 'SCARTO PER PIRAMIDE MODELLO INFERIORE A 100' +END AS MOTIVO +FROM C6MARTPeriodico.VCONTRATTI VC + INNER JOIN + (SELECT chiaveclientepb, sum(percentualeprogetto) AS PRC FROM c6stagingperiodico.rp_progettipiramidemodello + WHERE 1=1 + AND ((area = 'Inv' and tipoProgetto = 1) OR (area <> 'Inv' and tipoProgetto = 0)) + AND DtFineValidita > getdate() + GROUP BY chiaveclientepb + ) AS PMOD + ON VC.chiaveclientepb = PMOD.chiaveclientepb +WHERE PMOD.PRC < 1 or PMOD.PRC > 100 +DECLARE @d nvarchar(8) +set @d = c6martperiodico.getTrimestre(getdate(), 1) +;with alldata as +( +select * from [C6StagingPeriodico].[WSEIAN2] WHERE codfis not like 'FF%' and DTTRIM=@d +), moddata as +( SELECT an.* + FROM [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis not like 'FF%' and DTTRIM=@d +) +select * from alldata d left join moddata m on m.rete = d.rete and m.codfis = d.codfis and m.dttrim = d.dttrim +where m.codfis is null +;with alldata as +( +select * from [C6StagingPeriodico].[WSEIAN2] WHERE codfis like 'FF%' and DTTRIM=@d +), moddata as +( SELECT an.* + FROM [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and adeg.[FLAGPG]=0 and adeg.[FLAGNQP]='N' and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis like 'FF%' + and DTTRIM=@d +) +select * from alldata d left join moddata m on m.rete = d.rete and m.codfis = d.codfis and m.dttrim = d.dttrim +where m.codfis is null +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DM_dettaglio_MOV.sql b/sql/storedProduzione/C6MartPeriodico_DM_dettaglio_MOV.sql new file mode 100644 index 00000000..7e90e02c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DM_dettaglio_MOV.sql @@ -0,0 +1,19 @@ +CREATE procedure [C6MartPeriodico].[DM_dettaglio_MOV] +AS BEGIN +--INSERT INTO C6MartPeriodico.Dettaglio_MOV +SELECT + [RETE], + CASE + WHEN CODMAN ='' + THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS, + sum(APPORTI) - sum(PRELIEVI) as dettaglio +FROM + [C6StagingPeriodico].[W6APTR] +WHERE + DTTRIM =(select max(dttrim) from [C6StagingPeriodico].[W6APTR]) +GROUP BY + RETE, + CASE WHEN CODMAN ='' THEN CODFIS ELSE 'FF@'+CODMAN END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Decodifica_Concentrazione_Prodotti_Complessi.sql b/sql/storedProduzione/C6MartPeriodico_Decodifica_Concentrazione_Prodotti_Complessi.sql new file mode 100644 index 00000000..9b2c5aa0 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Decodifica_Concentrazione_Prodotti_Complessi.sql @@ -0,0 +1,144 @@ +--[C6MartPeriodico].[PL_D_S180ProdottiComplessitaAlta] 'f', 'ff@9225' +CREATE procedure [C6MartPeriodico].[Decodifica_Concentrazione_Prodotti_Complessi] --'F','SPNTTR67T20F205D' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @adeguato char(1) +select @adeguato= flgconc from C6MartPeriodico.WSEIAN2 where RETE=@Rete and CODFIS=@CodiceFiscale +if(@adeguato='N') +begin + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @TotalePatrimonio decimal(12,2) + -- acquisiamo il totale patrimonio del cliente + SELECT @TotalePatrimonio = ctv + FROM + C6MartPeriodico.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +-- + SELECT + 1 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi + into #temp +FROM + [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 3 + union all + SELECT + 2 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 2 + union all + SELECT + 3 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 1 + -- --20180905 Fine modifica + order by ordine,Compl_Base desc + delete from #temp where ordine=1 and SommaPesi<20 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta è <20 + delete from #temp where ordine=2 and SommaPesi<30 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta è <30 + delete from #temp where ordine=3 and SommaPesi<50 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta e medio-bassa è <50 +DECLARE @countLimMax VARCHAR(50) +SELECT @countLimMax = count(*) FROM #temp +DECLARE @maxCompl VARCHAR(50) +select @maxCompl = max(compl_base) from [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] where rete=@rete and Cod_fiscale=@CodiceFiscale +declare @IndPatrimonio decimal(12,2) + -- acquisiamo il totale patrimonio del cliente + SELECT @IndPatrimonio = case when ctv>50000 then 2 + when ctv>75000 then 3 + when ctv>150000 then 4 + else 0 end + FROM + C6MartPeriodico.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +--print(@countLimMax) +--print(@maxCompl) +--print(@IndPatrimonio) +if (@countLimMax=0 and @maxCompl>@IndPatrimonio) +begin +update C6MartPeriodico.WSEIAN2 +set FLGCONC = 'A' +where rete=@Rete +and CODFIS=@CodiceFiscale +--print('Il livello di concentrazione di prodotti complessi nel suo portafoglio è NON ADEGUATO in quanto non coerente rispetto al patrimonio minimo richiesto per la sottoscrizione di tali prodotti.') +end +if (@countLimMax>0 and @maxCompl<=@IndPatrimonio) +begin +update C6MartPeriodico.WSEIAN2 +set FLGCONC = 'B' +where rete=@Rete +and CODFIS=@CodiceFiscale +--print('Il livello di concentrazione di prodotti complessi nel suo portafoglio è NON ADEGUATO in quanto superiore ai limiti massimi stabiliti dalla Banca.') +end +if (@countLimMax>0 and @maxCompl>@IndPatrimonio) +begin +update C6MartPeriodico.WSEIAN2 +set FLGCONC = 'C' +where rete=@Rete +and CODFIS=@CodiceFiscale +--print('Il livello di concentrazione di prodotti complessi nel suo portafoglio è NON ADEGUATO in quanto superiore ai limiti massimi stabiliti dalla Banca e non coerente rispetto al patrimonio minimo richiesto per la sottoscrizione di tali prodotti.') +end +end +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DeleteGruppo_ExcludedList.sql b/sql/storedProduzione/C6MartPeriodico_DeleteGruppo_ExcludedList.sql new file mode 100644 index 00000000..2a54062a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DeleteGruppo_ExcludedList.sql @@ -0,0 +1,7 @@ +CREATE procedure [C6MartPeriodico].[DeleteGruppo_ExcludedList] + @motivo varchar(200) +AS +BEGIN +Delete FROM [C6StampeCentralizzate].[C6MartPeriodico].[ExcludedList_testing] + WHERE [DescrErr] = @motivo +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_DistinctGruppo_ExcludedList.sql b/sql/storedProduzione/C6MartPeriodico_DistinctGruppo_ExcludedList.sql new file mode 100644 index 00000000..7fd07c55 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_DistinctGruppo_ExcludedList.sql @@ -0,0 +1,6 @@ +CREATE procedure [C6MartPeriodico].[DistinctGruppo_ExcludedList] +AS +BEGIN +SELECT distinct [DescrErr] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[ExcludedList_testing] +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Estrazione_Campione.sql b/sql/storedProduzione/C6MartPeriodico_Estrazione_Campione.sql new file mode 100644 index 00000000..1cd01a34 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Estrazione_Campione.sql @@ -0,0 +1,40 @@ +CREATE procedure [C6MartPeriodico].[Estrazione_Campione] +AS +BEGIN +drop table if exists C6MartPeriodico.TB_Estrazione_Campione +select top(1) rete_acn,codice_fiscale,'Cliente W Retail (Non Professionale) con solo Monitoraggio' as Nota into C6MartPeriodico.TB_Estrazione_Campione from C6MartPeriodico.tabellone where rete_acn='W' and segmento<>'PRIVATE' and freq_diagnosi<>'T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente W Private (Non Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='W' and segmento='PRIVATE' and freq_diagnosi<>'T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente W Retail (Non Professionale) con Monitoraggio e Diagnosi'as Nota from C6MartPeriodico.tabellone where rete_acn='W' and segmento='PRIVATE' and freq_diagnosi='T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente S Retail (Non Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='S' and segmento<>'PRIVATE' and freq_diagnosi<>'T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente S Retail (Non Professionale) con Monitoraggio e Diagnosi'as Nota from C6MartPeriodico.tabellone where rete_acn='S' and segmento<>'PRIVATE' and freq_diagnosi='T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente S Private (Non Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='S' and segmento='PRIVATE' and freq_diagnosi<>'T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente F Retail (Non Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='F' and segmento<>'PRIVATE' and freq_diagnosi<>'T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente F Retail (Non Professionale) con Monitoraggio e Diagnosi'as Nota from C6MartPeriodico.tabellone where rete_acn='F' and segmento<>'PRIVATE' and freq_diagnosi='T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente F Private (Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='F' and segmento='PRIVATE' and freq_diagnosi<>'T' and flgprof='S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente F Private (Non Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='F' and segmento='PRIVATE' and freq_diagnosi<>'T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente F Retail (Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='F' and segmento<>'PRIVATE' and freq_diagnosi<>'T' and flgprof='S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente F Retail (Professionale) con Monitoraggio e Diagnosi'as Nota from C6MartPeriodico.tabellone where rete_acn='F' and segmento<>'PRIVATE' and freq_diagnosi='T' and flgprof='S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente F Private (Non Professionale) con Monitoraggio e Diagnosi'as Nota from C6MartPeriodico.tabellone where rete_acn='F' and segmento='PRIVATE' and freq_diagnosi='T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente S Retail (Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='S' and segmento<>'PRIVATE' and freq_diagnosi<>'T' and flgprof='S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente S Private (Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='S' and segmento='PRIVATE' and freq_diagnosi<>'T' and flgprof='S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente S Private (Non Professionale) con Monitoraggio e Diagnosi'as Nota from C6MartPeriodico.tabellone where rete_acn='S' and segmento='PRIVATE' and freq_diagnosi='T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente W Retail (Professionale) con solo Monitoraggio' as Nota from C6MartPeriodico.tabellone where rete_acn='W' and segmento<>'PRIVATE' and freq_diagnosi<>'T' and flgprof='S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente W Private (Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='W' and segmento='PRIVATE' and freq_diagnosi<>'T' and flgprof='S' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Estrazione_Campione_Cruscotto.sql b/sql/storedProduzione/C6MartPeriodico_Estrazione_Campione_Cruscotto.sql new file mode 100644 index 00000000..7f6f79bd --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Estrazione_Campione_Cruscotto.sql @@ -0,0 +1,40 @@ +CREATE procedure [C6MartPeriodico].[Estrazione_Campione_Cruscotto] +AS +BEGIN +drop table if exists C6MartPeriodico.TB_Estrazione_Campione_Cruscotto +select top(1) rete,codice_fiscale,'Cliente W Retail (Non Professionale) con solo Monitoraggio' as Nota into C6MartPeriodico.TB_Estrazione_Campione_Cruscotto from c6martperiodico.rp_tb_tipologia_campione where rete='W' and segmento<>'PRIVATE' and Diagnosi<>'SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente W Private (Non Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='W' and segmento='PRIVATE' and Diagnosi<>'SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente W Retail (Non Professionale) con Monitoraggio e Diagnosi'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='W' and segmento='PRIVATE' and Diagnosi='SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente S Retail (Non Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='S' and segmento<>'PRIVATE' and Diagnosi<>'SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente S Retail (Non Professionale) con Monitoraggio e Diagnosi'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='S' and segmento<>'PRIVATE' and Diagnosi='SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente S Private (Non Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='S' and segmento='PRIVATE' and Diagnosi<>'SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente F Retail (Non Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='F' and segmento<>'PRIVATE' and Diagnosi<>'SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente F Retail (Non Professionale) con Monitoraggio e Diagnosi'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='F' and segmento<>'PRIVATE' and Diagnosi='SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente F Private (Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='F' and segmento='PRIVATE' and Diagnosi<>'SI' and Professionale='SI' +union all +select top(1) rete,codice_fiscale,'Cliente F Private (Non Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='F' and segmento='PRIVATE' and Diagnosi<>'SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente F Retail (Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='F' and segmento<>'PRIVATE' and Diagnosi<>'SI' and Professionale='SI' +union all +select top(1) rete,codice_fiscale,'Cliente F Retail (Professionale) con Monitoraggio e Diagnosi'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='F' and segmento<>'PRIVATE' and Diagnosi='SI' and Professionale='SI' +union all +select top(1) rete,codice_fiscale,'Cliente F Private (Non Professionale) con Monitoraggio e Diagnosi'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='F' and segmento='PRIVATE' and Diagnosi='SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente S Retail (Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='S' and segmento<>'PRIVATE' and Diagnosi<>'SI' and Professionale='SI' +union all +select top(1) rete,codice_fiscale,'Cliente S Private (Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='S' and segmento='PRIVATE' and Diagnosi<>'SI' and Professionale='SI' +union all +select top(1) rete,codice_fiscale,'Cliente S Private (Non Professionale) con Monitoraggio e Diagnosi'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='S' and segmento='PRIVATE' and Diagnosi='SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente W Retail (Professionale) con solo Monitoraggio' as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='W' and segmento<>'PRIVATE' and Diagnosi<>'SI' and Professionale='SI' +union all +select top(1) rete,codice_fiscale,'Cliente W Private (Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='W' and segmento='PRIVATE' and Diagnosi<>'SI' and Professionale='SI' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GC_CONVALIDAREPORTSELECT.sql b/sql/storedProduzione/C6MartPeriodico_GC_CONVALIDAREPORTSELECT.sql new file mode 100644 index 00000000..103397e4 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GC_CONVALIDAREPORTSELECT.sql @@ -0,0 +1,202 @@ +-- ============================================= +-- Author: Berni Francesco +-- Create date: 24 Aprile 2009 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[GC_CONVALIDAREPORTSELECT] +CREATE procedure [C6MartPeriodico].[GC_CONVALIDAREPORTSELECT] +AS +BEGIN +Declare @DiagnosiVerificati as int +Declare @DiagnosiNonVerificati as int +Declare @DiagnosiOK as int +Declare @DiagnosiKO as int +Declare @MonitoraggioVerificati as int +Declare @MonitoraggioNonVerificati as int +Declare @MonitoraggioOK as int +Declare @MonitoraggioKO as int +-- Totali +Declare @TotaleDiagnosi as int +Declare @TotaleMonitoraggio as int +Declare @TotaleVerificati as int +Declare @TotaleNonVerificati as int +Declare @TotaleOK as int +Declare @TotaleKO as int +-- Diagnosi +-- Diagnosi Verificati +SELECT @DiagnosiVerificati = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fiscale = B.CodiceFiscale + Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C + ON B.IDREPORT = C.IDREPORT + WHERE + B.[TipoReport] = 'D' + AND ISNULL(B.FlagInvio,'N') = 'N' + AND ISNULL(B.DEFINITIVO, 0) = 0 + AND C.datafine is null + AND ISNULL(C.Verifica, 0) = 1 +-- Diagnosi Non Verificati +SELECT @DiagnosiNonVerificati = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fiscale = B.CodiceFiscale + Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C + ON B.IDREPORT = C.IDREPORT + WHERE + B.[TipoReport] = 'D' + AND ISNULL(B.FlagInvio,'N') = 'N' + AND ISNULL(B.DEFINITIVO, 0) = 0 + AND C.datafine is null + AND ISNULL(C.Verifica, 0) = 0 +-- Diagnosi OK +SELECT @DiagnosiOK = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fiscale = B.CodiceFiscale + Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C + ON B.IDREPORT = C.IDREPORT + WHERE + B.[TipoReport] = 'D' + AND ISNULL(B.FlagInvio,'N') = 'N' + AND ISNULL(B.DEFINITIVO, 0) = 0 + AND C.datafine is null + and ISNULL(C.Esito,'-') = 'OK' +-- Diagnosi KO +SELECT @DiagnosiKO = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fiscale = B.CodiceFiscale + Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C + ON B.IDREPORT = C.IDREPORT + WHERE + B.[TipoReport] = 'D' + AND ISNULL(B.FlagInvio,'N') = 'N' + AND ISNULL(B.DEFINITIVO, 0) = 0 + AND C.datafine is null + and ISNULL(C.Esito,'-') = 'KO' +-- Monitoraggio +-- Monitoraggio Verificati +SELECT @MonitoraggioVerificati = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fiscale = B.CodiceFiscale + Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C + ON B.IDREPORT = C.IDREPORT + WHERE + B.[TipoReport] = 'M' + AND ISNULL(B.FlagInvio,'N') = 'N' + AND ISNULL(B.DEFINITIVO, 0) = 0 + AND C.datafine is null + AND ISNULL(C.Verifica, 0) = 1 +-- Monitoraggio Non Verificati +SELECT @MonitoraggioNonVerificati = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fiscale = B.CodiceFiscale + Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C + ON B.IDREPORT = C.IDREPORT + WHERE + B.[TipoReport] = 'M' + AND ISNULL(B.FlagInvio,'N') = 'N' + AND ISNULL(B.DEFINITIVO, 0) = 0 + AND C.datafine is null + AND ISNULL(C.Verifica, 0) = 0 +-- Monitoraggio OK +SELECT @MonitoraggioOK = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fiscale = B.CodiceFiscale + Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C + ON B.IDREPORT = C.IDREPORT + WHERE + B.[TipoReport] = 'M' + AND ISNULL(B.FlagInvio,'N') = 'N' + AND ISNULL(B.DEFINITIVO, 0) = 0 + AND C.datafine is null + and ISNULL(C.Esito,'-') = 'OK' +-- Monitoraggio KO +SELECT @MonitoraggioKO = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fiscale = B.CodiceFiscale + Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C + ON B.IDREPORT = C.IDREPORT + WHERE + B.[TipoReport] = 'M' + AND ISNULL(B.FlagInvio,'N') = 'N' + AND ISNULL(B.DEFINITIVO, 0) = 0 + AND C.datafine is null + and ISNULL(C.Esito,'-') = 'KO' +--print convert(varchar, @DiagnosiVerificati) +set @TotaleDiagnosi = @DiagnosiVerificati+@DiagnosiNonVerificati--+ @DiagnosiOK+@DiagnosiKO +set @TotaleMonitoraggio = @MonitoraggioVerificati+@MonitoraggioNonVerificati --+ @MonitoraggioOK+@MonitoraggioKO +set @TotaleVerificati = @DiagnosiVerificati+@MonitoraggioVerificati +set @TotaleNonVerificati = @DiagnosiNonVerificati+@MonitoraggioNonVerificati +set @TotaleOK = @DiagnosiOK+@MonitoraggioOK +set @TotaleKO = @DiagnosiKO+@MonitoraggioKO +Select riga, Report, Diagnosi,UrlDiagnosi, Monitoraggio,UrlMonitoraggio, UrlTotale, Totale +from +( + Select 1 as riga, + 'Totale' as Report, + @TotaleDiagnosi AS Diagnosi, + 'VerificheCampione.aspx?tiporeport=D&prov=CR' As UrlDiagnosi, + @TotaleMonitoraggio AS Monitoraggio, + 'VerificheCampione.aspx?tiporeport=M&prov=CR' As UrlMonitoraggio, + 'VerificheCampione.aspx?prov=CR' As UrlTotale, + @TotaleDiagnosi + @TotaleMonitoraggio as Totale + union + Select 2 as riga, + 'Verificati' as Report, + @DiagnosiVerificati AS Diagnosi, + 'VerificheCampione.aspx?tiporeport=D&verificati=1&prov=CR' As UrlDiagnosi, + @MonitoraggioVerificati AS Monitoraggio, + 'VerificheCampione.aspx?tiporeport=M&verificati=1&prov=CR' As UrlMonitoraggio, + 'VerificheCampione.aspx?verificati=1&prov=CR' As UrlTotale, + @TotaleVerificati as Totale + union + Select 3 as riga, + 'Non Verificati' as Report, + @DiagnosiNonVerificati AS Diagnosi, + 'VerificheCampione.aspx?tiporeport=D&verificati=0&prov=CR' As UrlDiagnosi, + @MonitoraggioNonVerificati AS Monitoraggio, + 'VerificheCampione.aspx?tiporeport=M&verificati=0&prov=CR' As UrlMonitoraggio, + 'VerificheCampione.aspx?verificati=0&prov=CR' As UrlTotale, + @TotaleNonVerificati as Totale + union + Select 4 as riga, + 'Esito OK' as Report, + @DiagnosiOK AS Diagnosi, + 'VerificheCampione.aspx?tiporeport=D&esito=OK&prov=CR' As UrlDiagnosi, + @MonitoraggioOK AS Monitoraggio, + 'VerificheCampione.aspx?tiporeport=M&esito=OK&prov=CR' As UrlMonitoraggio, + 'VerificheCampione.aspx?esito=OK&prov=CR' As UrlTotale, + @TotaleOK as Totale + union + Select 5 as riga, + 'Esito KO' as Report, + @DiagnosiKO AS Diagnosi, + 'VerificheCampione.aspx?tiporeport=D&esito=KO&prov=CR' As UrlDiagnosi, + @MonitoraggioKO AS Monitoraggio, + 'VerificheCampione.aspx?tiporeport=M&esito=KO&prov=CR' As UrlMonitoraggio, + 'VerificheCampione.aspx?esito=KO&prov=CR' As UrlTotale, + @TotaleKO as Totale +) As Tabella +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GC_DELETE_CONVALIDA_ANNULLA.sql b/sql/storedProduzione/C6MartPeriodico_GC_DELETE_CONVALIDA_ANNULLA.sql new file mode 100644 index 00000000..a4d50e50 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GC_DELETE_CONVALIDA_ANNULLA.sql @@ -0,0 +1,64 @@ +-- ============================================= +-- Author: Francesco Berni +-- Create date: 28/04/2009 +-- Description: Stored Procedure inserimento dati varifiche campione +-- ============================================= +CREATE procedure [C6MartPeriodico].[GC_DELETE_CONVALIDA_ANNULLA] + @Idreports varchar(3000) = 'NODELETE', + @Delimiter char(1) = '|', + @TipoOperazione char(1) +AS +BEGIN +IF (@Idreports <> 'NODELETE') +BEGIN + Declare @contatore as int + -- Inizio Log + CREATE TABLE #ConvalidaReport( + riga int NULL, + Report varchar(100) NULL, + Diagnosi int NULL, + UrlDiagnosi varchar(100) NULL, + Monitoraggio int NULL, + UrlMonitoraggio varchar(100) NULL, + UrlTotale varchar(100) NULL, + Totale int NULL + ) + INSERT INTO #ConvalidaReport + EXEC + [C6MartPeriodico].[GC_CONVALIDAREPORTSELECT] + insert into [C6MartPeriodico].LogOperazioniConvalidaAnnulla + select + getdate() as data, + case @TipoOperazione when 'A' then 'ANNULLA' else + case @TipoOperazione when 'C' then 'CONVALIDA' End End AS TIPO_OPERAZIONE, + Report , + Diagnosi , + Monitoraggio , + Totale + from #ConvalidaReport + drop table #ConvalidaReport + -- Fine Log + -- Cancella tutti i report su GESTIONE_PDF_FTP + DELETE C6MartPeriodico.GESTIONE_PDF_FTP + from C6MartPeriodico.GESTIONE_PDF_FTP + inner join (select [value] from dbo.Split(@Delimiter, @Idreports)) as tab + on C6MartPeriodico.GESTIONE_PDF_FTP.idreport = tab.[value] + set @contatore = @@rowcount + -- Convalida + if (@TipoOperazione = 'C') + Begin + UPDATE C6MartPeriodico.GESTIONE_PDF_FTP + SET Definitivo = 1 + WHERE --Secondo berni: isnull(Definitivo, 0) = 0 + --V + codicefiscale in(SELECT codiceFiscale FROM c6martperiodico.VERIFICHECAMPIONE where esito = 'OK' and DATAFINE is null) + End + -- Storicizzo anche i record cancellati + UPDATE [C6MartPeriodico].[VERIFICHECAMPIONE] + SET datafine = GETDATE() + WHERE datafine is null + return @contatore +END +ELSE + return -1 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GC_INSERT_VERIFICHE_CAMPIONE.sql b/sql/storedProduzione/C6MartPeriodico_GC_INSERT_VERIFICHE_CAMPIONE.sql new file mode 100644 index 00000000..b6206768 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GC_INSERT_VERIFICHE_CAMPIONE.sql @@ -0,0 +1,44 @@ +-- ============================================= +-- Author: Francesco Berni +-- Create date: 28/04/2009 +-- Description: Stored Procedure inserimento dati varifiche campione +-- ============================================= +CREATE procedure [C6MartPeriodico].[GC_INSERT_VERIFICHE_CAMPIONE] + @IdReport int, + @Rete char(1) = '', + @CodicePB varchar(6) = '', + @CodiceFiscale varchar(16) = '', + @UserModify varchar(7) = '', + @TipoReport varchar(2) = '', + @Verifica bit = null, + @Esito varchar(2) = '-' +AS +BEGIN + SET NOCOUNT ON; + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[VERIFICHECAMPIONE] + SET datafine = getdate() + WHERE IdReport = @IdReport and datafine is null + INSERT INTO [C6StampeCentralizzate].[C6MartPeriodico].[VERIFICHECAMPIONE] + ([Rete] + ,[CodiceFiscale] + ,[CodAgente] + ,[UserModify] + ,[TipoReport] + ,[Verifica] + ,[Esito] + ,[IdReport] + ,[datainizio] + ,[datafine]) + VALUES + (@Rete + ,@CodiceFiscale + ,@CodicePB + ,@UserModify + ,@TipoReport + ,@Verifica + ,@Esito + ,@IdReport + , GetDate() + , null + ) + END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GC_REPORTDACANCELLARESELECT.sql b/sql/storedProduzione/C6MartPeriodico_GC_REPORTDACANCELLARESELECT.sql new file mode 100644 index 00000000..f9b57a3e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GC_REPORTDACANCELLARESELECT.sql @@ -0,0 +1,26 @@ +-- ============================================= +-- Author: Berni Francesco +-- Create date: 24 Aprile 2009 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[GC_REPORTDACANCELLARESELECT] +CREATE procedure [C6MartPeriodico].[GC_REPORTDACANCELLARESELECT] + -- Add the parameters for the stored procedure here + @flag char(1) +AS +BEGIN +if (@flag = 'A') + -- ANNULLA REPORT + Select distinct IdReport from C6MartPeriodico.GESTIONE_PDF_FTP + where isnull(FlagInvio,'N') = 'N' +else if (@flag = 'C') + -- CONVALIDA REPORT + Select distinct C6MartPeriodico.GESTIONE_PDF_FTP.IdReport + FROM C6MartPeriodico.GESTIONE_PDF_FTP + INNER JOIN C6MartPeriodico.VERIFICHECAMPIONE + ON C6MartPeriodico.GESTIONE_PDF_FTP.IdReport = C6MartPeriodico.VERIFICHECAMPIONE.IdReport + where isnull(C6MartPeriodico.GESTIONE_PDF_FTP.FlagInvio,'N') = 'N' + AND isnull(C6MartPeriodico.GESTIONE_PDF_FTP.Definitivo, 0) = 0 + AND C6MartPeriodico.VERIFICHECAMPIONE.Esito = 'KO' + AND C6MartPeriodico.VERIFICHECAMPIONE.datafine IS NULL +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GC_VerificheCampioneSelect.sql b/sql/storedProduzione/C6MartPeriodico_GC_VerificheCampioneSelect.sql new file mode 100644 index 00000000..81335299 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GC_VerificheCampioneSelect.sql @@ -0,0 +1,124 @@ +-- ============================================= +-- Author: Berni Francesco +-- Create date: 24 Aprile 2009 +-- Description: +-- ============================================= +-- C6MartPeriodico.[GC_VerificheCampioneSelect] 'F', '011717' +CREATE procedure [C6MartPeriodico].[GC_VerificheCampioneSelect] + -- Add the parameters for the stored procedure here + @Rete char(1) = null, + @CodicePB varchar(6) = null, + @CodiceFiscale varchar(16) = null, + @NomeCliente varchar(50) = null, + @CognomeCliente varchar(50) = null, + @DataSottDA datetime = null, + @DataSottA datetime = null, + @RFADA decimal = null, + @RFAA decimal = null, + @VaRDA decimal = null, + @VaRA decimal = null, + @Delimiter char(1) = '|', + @Profilo varchar(50) = null, + @Diagnosi bit = 0, + @Monitoraggio bit = 0, + @NonVerificato bit = 0, + @Verificato bit = 0, + @OK bit = 0, + @KO bit = 0, + @pdfC6 int = 1 +AS +BEGIN +SELECT distinct C6MartPeriodico.GESTIONE_PDF_FTP.IdReport, + C6Mart.CONTRATTOSEI.Rete, + Case C6Mart.CONTRATTOSEI.Rete when 'F' then 'Fideuram' else + Case C6Mart.CONTRATTOSEI.Rete when 'S' then 'San Paolo' End End + as Rete, + C6Mart.CONTRATTOSEI.Cod_Agente, + CASE + WHEN C6Mart.CONTRATTOSEI.Cod_Fiscale LIKE '%@%' THEN C6MartPeriodico.ANAG_CLIENTI.COGNOME + ' ' + REPLACE(C6MartPeriodico.ANAG_CLIENTI.NOME,'$','') + ' - ' + SUBSTRING(C6Mart.CONTRATTOSEI.Cod_Fiscale, CHARINDEX('@',C6Mart.CONTRATTOSEI.Cod_Fiscale) + 1 , LEN(C6Mart.CONTRATTOSEI.Cod_Fiscale) - CHARINDEX('@',C6Mart.CONTRATTOSEI.Cod_Fiscale) + 1) + ELSE C6MartPeriodico.ANAG_CLIENTI.COGNOME + ' ' + C6MartPeriodico.ANAG_CLIENTI.NOME + END AS NOMINATIVOCLIENTE, + Case C6MartPeriodico.GESTIONE_PDF_FTP.TipoReport when 'D' then 'Diagnosi' else + Case C6MartPeriodico.GESTIONE_PDF_FTP.TipoReport when 'M' then 'Monitoraggio' End End + as TipoReport, + C6MartPeriodico.VERIFICHECAMPIONE.UserModify, + ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Verifica, 0) AS VERIFICA, + ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Esito, '-') AS Esito, + C6Mart.CONTRATTOSEI.Cod_Fiscale, + @pdfC6 as pdfC6 +-- From + FROM C6Mart.CONTRATTOSEI INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP ON + C6Mart.CONTRATTOSEI.Rete = C6MartPeriodico.GESTIONE_PDF_FTP.Rete AND + C6Mart.CONTRATTOSEI.Cod_Fiscale = C6MartPeriodico.GESTIONE_PDF_FTP.CodiceFiscale + --INNER JOIN + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO + ON C6Mart.CONTRATTOSEI.Rete = C6MartPeriodico.RISCHIO_AGGREGATO.RETE + AND C6Mart.CONTRATTOSEI.Cod_Fiscale = C6MartPeriodico.RISCHIO_AGGREGATO.COD_FISCALE + --AND C6MartPeriodico.RISCHIO_AGGREGATO.COD_AGGREG = 'COMPLESSIVO|BF' + INNER JOIN + C6MartPeriodico.MIFID + ON C6Mart.CONTRATTOSEI.Rete = C6MartPeriodico.MIFID.RETE + AND C6Mart.CONTRATTOSEI.Cod_Fiscale = C6MartPeriodico.MIFID.COD_FISCALE + INNER JOIN + C6MartPeriodico.ANAG_CLIENTI ON + C6Mart.CONTRATTOSEI.Rete = C6MartPeriodico.ANAG_CLIENTI.RETE + AND C6Mart.CONTRATTOSEI.Cod_Fiscale = C6MartPeriodico.ANAG_CLIENTI.COD_FISCALE + INNER JOIN + C6MartPeriodico.vPatrimonioBFAggregato ON + C6Mart.CONTRATTOSEI.Rete = C6MartPeriodico.vPatrimonioBFAggregato.RETE + AND C6Mart.CONTRATTOSEI.Cod_Fiscale = C6MartPeriodico.vPatrimonioBFAggregato.COD_FISCALE + LEFT OUTER JOIN + C6MartPeriodico.VERIFICHECAMPIONE ON + C6MartPeriodico.GESTIONE_PDF_FTP.IdReport = C6MartPeriodico.VERIFICHECAMPIONE.IdReport + WHERE 1=1 + -- rete + AND (@Rete is null OR @Rete = '-' OR C6Mart.CONTRATTOSEI.Rete = @Rete) + AND (@CodicePB is null OR C6Mart.CONTRATTOSEI.Cod_Agente = @CodicePB) + --AND (@CodiceFiscale is null OR C6Mart.CONTRATTOSEI.Cod_Fiscale = @CodiceFiscale) + AND (@CodiceFiscale is null OR C6Mart.CONTRATTOSEI.Cod_Fiscale like @CodiceFiscale + '%') + AND (@NomeCliente is null OR C6MartPeriodico.ANAG_CLIENTI.NOME LIKE '%' + @NomeCliente + '%') + AND (@CognomeCliente is null OR UPPER(C6MartPeriodico.ANAG_CLIENTI.COGNOME) LIKE UPPER(@CognomeCliente)) + AND ( + (@Diagnosi = 1 AND C6MartPeriodico.GESTIONE_PDF_FTP.TipoReport = 'D') + OR + (@Monitoraggio = 1 AND C6MartPeriodico.GESTIONE_PDF_FTP.TipoReport = 'M') + OR + (@Monitoraggio = 0 AND @Diagnosi = 0 AND C6MartPeriodico.GESTIONE_PDF_FTP.TipoReport IN ('D', 'M')) + ) + AND (@DataSottDA is null OR C6Mart.CONTRATTOSEI.Data_Sott > CONVERT(DATETIME, @DataSottDA , 103)) + AND (@DataSottA is null OR C6Mart.CONTRATTOSEI.Data_Sott < CONVERT(DATETIME, @DataSottA , 103)) + AND (@RFADA is null OR C6MartPeriodico.vPatrimonioBFAggregato.CTV > @RFADA) + AND (@RFAA is null OR C6MartPeriodico.vPatrimonioBFAggregato.CTV < @RFAA) + AND (@VaRDA is null OR C6MartPeriodico.RISCHIO_AGGREGATO.VAR_PERC_PTF > @VaRDA) + AND (@VaRA is null OR C6MartPeriodico.RISCHIO_AGGREGATO.VAR_PERC_PTF < @VaRA) + AND ( + @Profilo IS NULL OR C6MartPeriodico.MIFID.PROFILO_ASS in + (select [value] from dbo.Split(@Delimiter, @Profilo)) + ) + AND ( +---- (@Verificato = 0 OR (@Verificato = 1 AND C6MartPeriodico.VERIFICHECAMPIONE.Verifica = 1)) +---- OR +---- (@NonVerificato = 0 OR (@NonVerificato = 1 AND C6MartPeriodico.VERIFICHECAMPIONE.Verifica = 0)) + (@Verificato = 1 AND ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Verifica,0) = 1) + OR + (@NonVerificato = 1 AND ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Verifica,0) = 0) + OR + (@Verificato = 0 AND @NonVerificato = 0 + AND (ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Verifica,0) = 1 + OR ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Verifica,0) = 0)) + ) + AND ( + (@OK = 1 AND ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Esito, '-') = 'OK') + OR + (@KO = 1 AND ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Esito, '-') = 'KO') + OR + (@OK = 0 AND @KO = 0 AND ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Esito, '-') IN ('-','KO','OK')) + OR + (@OK = 1 AND @KO = 1 AND ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Esito, '-') IN ('-','KO','OK')) + ) + --AND ISNULL(C6MartPeriodico.GESTIONE_PDF_FTP.FlagInvio,'N') = 'N' --C6MartPeriodico.getIdElab() + AND C6MartPeriodico.VERIFICHECAMPIONE.datafine is null + --AND ISNULL(C6MartPeriodico.GESTIONE_PDF_FTP.DEFINITIVO, 0) = 0 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_C6_S_Generator.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_C6_S_Generator.sql new file mode 100644 index 00000000..5755100e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_C6_S_Generator.sql @@ -0,0 +1,35 @@ +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 4, 14, 'T' PPVV +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 4, 6, 'T' Direct Advisory +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 1, 5, 'T' Diagnosi +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 4, 13, 'T' (monitoraggio,private,trim) +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 4, 12, 'T' (monitoraggio,old/affluent,trim) +CREATE procedure [C6MartPeriodico].[GESTIONE_C6_S_Generator] +@idReport as int, +@idModello as int, +@periodicita as varchar(1) = 'T' +AS +BEGIN + SET NOCOUNT ON; +if (@idModello=12) +begin +select * from C6MartPeriodico.generator_monitoraggio order BY ordineCapitolo,ordineParagrafo,ordineSezione +end +if (@idModello=13) +begin +select * from C6MartPeriodico.generator_monitoraggio_private +--where codicesezione not in ('S181','S185') +order BY ordineCapitolo,ordineParagrafo,ordineSezione +end +if (@idModello=5) +begin +select * from C6MartPeriodico.generator_diagnosi order BY ordineCapitolo,ordineParagrafo,ordineSezione +end +if (@idModello=6) +begin +select * from C6MartPeriodico.generator_direct order BY ordineCapitolo,ordineParagrafo,ordineSezione +end +if (@idModello=14) +begin +select * from C6MartPeriodico.generator_PPVV order BY ordineCapitolo,ordineParagrafo,ordineSezione +end +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_C6_S_Generator_OLD.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_C6_S_Generator_OLD.sql new file mode 100644 index 00000000..c502ead9 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_C6_S_Generator_OLD.sql @@ -0,0 +1,106 @@ +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 1, 4, 'T' +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 1, 5, 'T' diagnosi +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 4, 13, 'T' (monitoraggio,private,trim) +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 4, 12, 'T' (monitoraggio,old/affluent,trim) +CREATE procedure [C6MartPeriodico].[GESTIONE_C6_S_Generator_OLD] +@idReport as int, +@idModello as int, +@periodicita as varchar(1) = 'T' +AS +BEGIN + SET NOCOUNT ON; +-- CREO LA TABELLA #R6Capitolopdf +SELECT dboPeriodico.R6Capitolo.id, + dboPeriodico.R6Capitolo.titolo, + dboPeriodico.R6Capitolo.testo, + dboPeriodico.R6Capitolo.testoAlternativo, + dboPeriodico.R6Capitolo.nuovapagina, + dboPeriodico.R6Capitolo.queryOracle, + dboPeriodico.R6Capitolo.querySql, + dboPeriodico.R6Capitolo.querySqlPeriodico +into #R6CAPITOLOPDF +FROM +dboPeriodico.ReportSezionePers AS a INNER JOIN +dboPeriodico.R6_SezioneR6Capitolo AS b ON a.IdSezione = b.IdSezione INNER JOIN +dboPeriodico.R6Capitolo ON b.IdCapitoloPDF = dboPeriodico.R6Capitolo.id +where a.idreport = @idModello +-- CREO LA TABELLA #R6ParagrafoPDF +SELECT dboPeriodico.R6Paragrafo.id, + dboPeriodico.R6Paragrafo.titolo, + dboPeriodico.R6Paragrafo.testo, + dboPeriodico.R6Paragrafo.queryOracle, + dboPeriodico.R6Paragrafo.querySql, + dboPeriodico.R6Paragrafo.querySqlPeriodico, + dboPeriodico.R6Paragrafo.SottoTitoloQuery, + dboPeriodico.R6Paragrafo.SpazioNecessarioSezioneSuccessiva +into #R6PARAGRAFOPDF +FROM dboPeriodico.ReportSezionePers AS a INNER JOIN + dboPeriodico.R6_SezioneR6Paragrafo AS b ON a.IdSezione = b.IdSezione INNER JOIN + dboPeriodico.R6Paragrafo ON b.IdParagrafoPDF = dboPeriodico.R6Paragrafo.id + where a.idreport = @idModello +-- CREO LA TABELLA #R6SEZIONEPDF +SELECT + dboPeriodico.R6Sezione.id, + dboPeriodico.R6Sezione.codice, + dboPeriodico.R6Sezione.queryOracle, + dboPeriodico.R6Sezione.querySql, + dboPeriodico.R6Sezione.querySqlPeriodico, + dboPeriodico.R6Sezione.ordineQueryOracle, + dboPeriodico.R6Sezione.ordineQuerySql + --R6Sezione.nuovaPaginaDopo +into #R6SEZIONEPDF +FROM dboPeriodico.ReportSezionePers AS a INNER JOIN + dboPeriodico.R6_SezioneR6Sezione AS b ON a.IdSezione = b.idFkSezione INNER JOIN + dboPeriodico.R6Sezione ON b.idFkC6Sezione = dboPeriodico.R6Sezione.id +WHERE (a.IdReport = @idModello) +SELECT DISTINCT #R6CAPITOLOPDF.id as idCapitolo + ,dboPeriodico.R6ReportR6Capitolo.ordineCapitolo as ordineCapitolo + ,#R6CAPITOLOPDF.titolo as titoloCapitolo + ,#R6CAPITOLOPDF.testo as testoCapitolo + ,#R6CAPITOLOPDF.testoAlternativo as testoCapitoloAlternativo + ,#R6CAPITOLOPDF.nuovapagina as nuovaPaginaCapitolo +-- ,#R6CAPITOLOPDF.queryOracle as queryOracleCapitolo +,Case when @periodicita = 'G' then isnull(#R6CAPITOLOPDF.querySql,'') else + Case when @periodicita = 'T' then isnull(#R6CAPITOLOPDF.querySqlPeriodico,'') + END END as querySqlCapitolo + ,#R6PARAGRAFOPDF.id as idParagrafo + ,dboPeriodico.R6CapitoloR6Paragrafo.ordineParagrafo as ordineParagrafo + ,#R6PARAGRAFOPDF.titolo as titoloParagrafo + ,#R6PARAGRAFOPDF.sottoTitoloQuery as sottoTitoloParagrafo + ,#R6PARAGRAFOPDF.testo as testoParagrafo + ,#R6PARAGRAFOPDF.spazioNecessarioSezioneSuccessiva as spazioNecessarioSezioneSuccessiva +-- ,isnull(#R6PARAGRAFOPDF.queryOracle,'') as queryOracleParagrafo +,Case when @periodicita = 'G' then isnull(#R6PARAGRAFOPDF.querySql,'') else + Case when @periodicita = 'T' then isnull(#R6PARAGRAFOPDF.querySqlPeriodico,'') + END END as querySqlParagrafo + ,dboPeriodico.R6CapitoloR6Paragrafo.indicizzato as indicizzatoParagrafo + ,dboPeriodico.R6ParagrafoR6Sezione.ordineSezione as ordineSezione + ,#R6SEZIONEPDF.id as idSezione + ,#R6SEZIONEPDF.codice as codiceSezione +-- ,isnull(#R6SEZIONEPDF.queryOracle,'') as queryOracleSezione +,Case when @periodicita = 'G' then isnull(#R6SEZIONEPDF.querySql,'') else + Case when @periodicita = 'T' then isnull(#R6SEZIONEPDF.querySqlPeriodico,'') + END END as querySqlSezione + ,dboPeriodico.R6ParagrafoR6Sezione.indicizzato as indicizzatoSezione + ,dboPeriodico.R6ParagrafoR6Sezione.filtroDataView as filtroSezione + ,dboPeriodico.R6ParagrafoR6Sezione.titolo as titoloSezione + ,isnull(dboPeriodico.R6ParagrafoR6Sezione.testo,'') as testoSezione + ,isnull(dboPeriodico.R6ParagrafoR6Sezione.testo1 ,'') as testoSezioneAlternativo + ,isnull(dboPeriodico.R6ParagrafoR6Sezione.nota,'') as notaSezione + ,isnull(dboPeriodico.R6ParagrafoR6Sezione.nota1,'') as notaSezioneAlternativo, + dboPeriodico.R6ParagrafoR6Sezione.nuovaPaginaDopo as nuovaPaginaDopo + --,#R6SEZIONEPDF.nuovaPaginaDopo as nuovaPaginaDopo +INTO #TABV +FROM #R6SEZIONEPDF +INNER JOIN dboPeriodico.R6ParagrafoR6Sezione ON #R6SEZIONEPDF.id = dboPeriodico.R6ParagrafoR6Sezione.idFkSezione +INNER JOIN #R6PARAGRAFOPDF ON dboPeriodico.R6ParagrafoR6Sezione.idFkParagrafo = #R6PARAGRAFOPDF.id +INNER JOIN dboPeriodico.R6CapitoloR6Paragrafo ON #R6PARAGRAFOPDF.id = dboPeriodico.R6CapitoloR6Paragrafo.idFkParagrafo +INNER JOIN #R6CAPITOLOPDF ON dboPeriodico.R6CapitoloR6Paragrafo.idFkCapitolo = #R6CAPITOLOPDF.id +INNER JOIN dboPeriodico.R6ReportR6Capitolo ON #R6CAPITOLOPDF.id = dboPeriodico.R6ReportR6Capitolo.idFkCapitolo +WHERE dboPeriodico.R6ParagrafoR6Sezione.idFkReport = @idReport +ORDER BY ordineCapitolo,ordineParagrafo,ordineSezione +DROP TABLE #R6CAPITOLOPDF +DROP TABLE #R6PARAGRAFOPDF +DROP TABLE #R6SEZIONEPDF +SELECT * FROM #TABV ORDER BY ordineCapitolo,ordineParagrafo,ordineSezione +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE.sql new file mode 100644 index 00000000..1508879b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[GESTIONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE] 'leggi','flag_archiviazione',2 +CREATE procedure [C6MartPeriodico].[GESTIONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE] +@tipoOperazione nvarchar(30) +--@tipoFlag nvarchar(30), +--@valoreFlag int +as +IF @tipoOperazione = 'leggi' + begin + select * from dbo.Cruscotto_Applicazione_Simulazione + end +ELSE IF @tipoOperazione = 'truncate' + begin + truncate table dbo.Cruscotto_Applicazione_Simulazione + select * from dbo.dbo.Cruscotto_Applicazione_Simulazione; + end +ELSE IF @tipoOperazione = 'updateFlag' + begin + --EXECUTE ('update dbo.Cruscotto_Archiviazione set ' + @tipoFlag + '=' + @valoreFlag); + select * from dbo.Cruscotto_Archiviazione; + end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_CUSTOMER_ERROR.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_CUSTOMER_ERROR.sql new file mode 100644 index 00000000..a7dd7fb6 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_CUSTOMER_ERROR.sql @@ -0,0 +1,28 @@ +-- Stored procedure +-- ============================================= +-- Author: Marian Zaki +-- Create date: 18/08/2010 +-- Description: Insert the exception raised for a customer +-- while generating the diagnosis or the monitoring reports. +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_CUSTOMER_ERROR] + @rete as char(1), + @cod_fiscale as varchar(16), + @tipoReport as char(1), + @errorText as text +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + INSERT INTO [C6MartPeriodico].[Scarti] + ([Rete] + ,[Cod_fiscale] + ,[TipoReport] + ,[ErrorText]) + VALUES + (@rete + ,@cod_fiscale + ,@tipoReport + ,@errorText) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP.sql new file mode 100644 index 00000000..089abc27 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP.sql @@ -0,0 +1,29 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_ELABORAZIONE_ZIP] +AS +BEGIN + DECLARE @IDElaborazioneZip int + -- Controllo se esiste un'ultima elaborazione zip non terminata. + SELECT @IDElaborazioneZip = IDElaborazioneZip + FROM [C6MartPeriodico].ELABORAZIONI_ZIP + WHERE IDElaborazioneZip = (SELECT MAX(IDElaborazioneZip) + FROM [C6MartPeriodico].ELABORAZIONI_ZIP) + AND DataFine IS NULL + IF @IDElaborazioneZip IS NULL + BEGIN + BEGIN TRY + BEGIN TRANSACTION INSERT_ELABORAZIONE_ZIP + INSERT INTO [C6MartPeriodico].[ELABORAZIONI_ZIP] + ([DataInizio]) + VALUES + (GETDATE()) + COMMIT TRANSACTION INSERT_ELABORAZIONE_ZIP + SELECT SCOPE_IDENTITY() AS IDElaborazioneZIP + END TRY + BEGIN CATCH + ROLLBACK TRANSACTION INSERT_ELABORAZIONE_ZIP + SELECT 0 AS IDElaborazioneZIP + END CATCH + END + ELSE + SELECT @IDElaborazioneZip AS IDElaborazioneZIP +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP_20170328.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP_20170328.sql new file mode 100644 index 00000000..68034c5a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP_20170328.sql @@ -0,0 +1,29 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_ELABORAZIONE_ZIP_20170328] +AS +BEGIN + DECLARE @IDElaborazioneZip int + -- Controllo se esiste un'ultima elaborazione zip non terminata. + SELECT @IDElaborazioneZip = IDElaborazioneZip + FROM [C6MartPeriodico].ELABORAZIONI_ZIP + WHERE IDElaborazioneZip = (SELECT MAX(IDElaborazioneZip) + FROM [C6MartPeriodico].ELABORAZIONI_ZIP) + AND DataFine IS NULL + IF @IDElaborazioneZip IS NULL + BEGIN + BEGIN TRY + BEGIN TRANSACTION INSERT_ELABORAZIONE_ZIP + INSERT INTO [C6StampeCentralizzate].[C6MartPeriodico].[ELABORAZIONI_ZIP] + ([DataInizio]) + VALUES + (GETDATE()) + COMMIT TRANSACTION INSERT_ELABORAZIONE_ZIP + SELECT SCOPE_IDENTITY() AS IDElaborazioneZIP + END TRY + BEGIN CATCH + ROLLBACK TRANSACTION INSERT_ELABORAZIONE_ZIP + SELECT 0 AS IDElaborazioneZIP + END CATCH + END + ELSE + SELECT @IDElaborazioneZip AS IDElaborazioneZIP +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONI_EMAIL_RNA.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONI_EMAIL_RNA.sql new file mode 100644 index 00000000..4d7009fb --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONI_EMAIL_RNA.sql @@ -0,0 +1,18 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_ELABORAZIONI_EMAIL_RNA] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + INSERT INTO [C6StampeCentralizzate].[C6MartPeriodico].[ELABORAZIONI_EMAIL_RNA] + ([Data_Elaborazione] + ,[ID_ELAB]) + VALUES + (getdate() + ,@ID_ELAB) + END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_EMAIL_DA_INVIARE.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_EMAIL_DA_INVIARE.sql new file mode 100644 index 00000000..80e35d7d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_EMAIL_DA_INVIARE.sql @@ -0,0 +1,107 @@ +--[C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE] +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_EMAIL_DA_INVIARE] +AS +--INSERT INTO C6MartPeriodico.Gestione_EmailBCK +--SELECT * FROM C6MartPeriodico.GESTIONE_EMAIL +--WHERE Data_Generazione < '20130613' +--UPDATE STATISTICS C6MartPeriodico.GESTIONE_EMAIL +--select * from c6martperiodico.anag_promotori where id_promotore = '014890' +--select * from c6storico.anag_promotori where id_promotore = '014890' +--update c6martperiodico.anag_promotori set e_mail = 'LBATTISTI2@bancafideuram.it' where id_promotore = '014890' +--drop table temp_mail +-- +--select * +--from temp_mail +--where testo not like '%' +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'GESTIONE_INSERT_EMAIL_DA_INVIARE', + GETDATE(), + 'Elaborazione trimestrale' + ) +--recupero la percentuale limite di risorse non associate +DECLARE @Ambiente varchar(20) +select @Ambiente= dbo.getParametro('Ambiente') +DECLARE @DestinatarioEmail varchar(255) +select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail') +DECLARE @SERVIZI_OPERATIVI as varchar(50) +select @SERVIZI_OPERATIVI= dbo.getParametro('EmailServiziOperativi') +DECLARE @RESPONSABILE_PROCESSO as varchar(50) +select @RESPONSABILE_PROCESSO= dbo.getParametro('EmailResponsabileProcesso') +-- Cancellazione delle email non inviate, da rigenerare +DELETE from C6MartPeriodico.MailAvvisoTrimestraleAiPB +WHERE email_id in ( +SELECT m.email_id +from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +inner join [C6MartPeriodico].[GESTIONE_EMAIL] + ON GESTIONE_EMAIL.email_id = m.email_id +WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N') +INSERT INTO C6MartPeriodico.MailAvvisoTrimestraleAiPB +SELECT --top 800 + GESTIONE_EMAIL.[ID_ELAB] + ,GESTIONE_EMAIL.rete + ,GESTIONE_EMAIL.codICEPB cod_agente + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,'' Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,@SERVIZI_OPERATIVI,@RESPONSABILE_PROCESSO) + else + @DestinatarioEmail + end as [E_To] + ,'' E_Ccn + ,'' E_Cc + , case + when + @Ambiente = 'Produzione' + then + /* 20161206 solo per periodico */ + dbo.Replace_Subject_Email_Periodico(TIPO_EMAIL.[E_Subject],'','',ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + else + dbo.Replace_Subject_Email_Periodico(TIPO_EMAIL.[E_Subject],'','',ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '---' + end as E_Subject + ,dbo.Replace_Testo_Email_Periodico(GESTIONE_EMAIL.RETE,GESTIONE_EMAIL.[CodicePB],GESTIONE_EMAIL.TIPO,TIPO_EMAIL.[Testo]) Testo +--drop table temp_mail +--into temp_mail +FROM [C6MartPeriodico].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6MartPeriodico].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + AND GESTIONE_EMAIL.[Tipo] <> 'LC_REP_GEN' +-- INNER JOIN [C6Mart].[CONTRATTOSEI] CONTRATTOSEI +-- ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] +-- AND CONTRATTOSEI.Cod_Agente = GESTIONE_EMAIL.CodicePB +-- INNER JOIN [C6MartPeriodico].[ANAG_CLIENTI] ANAG_CLIENTI +-- ON ANAG_CLIENTI.Rete = CONTRATTOSEI.[Rete] +-- AND ANAG_CLIENTI.Cod_Fiscale = CONTRATTOSEI.Cod_Fiscale + INNER JOIN [C6MartPeriodico].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = GESTIONE_EMAIL.[CodicePB] + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' + --AND GESTIONE_EMAIL.rete = 's' +--da inserire su select +-- and testo like '%' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'GESTIONE_INSERT_EMAIL_DA_INVIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'GESTIONE_INSERT_EMAIL_DA_INVIARE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP.sql new file mode 100644 index 00000000..31d5079a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP.sql @@ -0,0 +1,212 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_PDF_FTP] + @Rete char(1), + @CodiceFiscale varchar(16), + @IDReport int, + @NomeFile varchar(50), + @TipoReport varchar(1), + @NumeroPagine int, + @RFA decimal(18,2) = 0, + @CodiceContratto varchar(11) +AS +BEGIN +BEGIN TRY +BEGIN TRANSACTION + declare @step varchar(20) + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6Martperiodico.GETIDELAB() + set @step='Step 1' + DECLARE @isDelete int +declare @appIdReport int + select @isDelete=count(*) + from C6MartPeriodico.GESTIONE_PDF_FTP WITH (TABLOCKX) WHERE + rete=@Rete and codicefiscale=@CodiceFiscale + and TipoReport = @TipoReport + and IDReport = identityReport +IF @isDelete > 0 + BEGIN +set @step='Step 2' + DELETE C6MartPeriodico.GESTIONE_PDF_FTP WITH (TABLOCKX) WHERE + rete=@Rete and codicefiscale=@CodiceFiscale + and TipoReport = @TipoReport + and IDReport = identityReport + end + set @step='Step 3' + DECLARE @isUpdate int + select @isUpdate=count(*) + from C6MartPeriodico.GESTIONE_PDF_FTP WITH (TABLOCKX) WHERE + rete=@Rete and codicefiscale=@CodiceFiscale + and TipoReport = @TipoReport + and IDReport <> identityReport +IF @isUpdate = 0 + BEGIN + set @step='Step 4' +while exists(select 1 from C6MartPeriodico.GESTIONE_PDF_FTP where IDReport = @IDReport) +begin +set @IDReport = @IDReport+ 1 +end + insert into C6MartPeriodico.GESTIONE_PDF_FTP + ( + Rete, + CodiceFiscale, + IDReport, + DataGenerazione, + DataInvio, + FlagInvio, + NomeFile, + TipoReport, + numeroPagine, + RFA, + id_Fk_zip, + ID_ELAB, + Definitivo, + codicecontratto + ) + values + ( + @Rete, + @CodiceFiscale, + @IDReport, + Getdate(), + null, + 'N', + @NomeFile, + @TipoReport, + @NumeroPagine, + @RFA, + -1, + @ID_ELAB, + 0, + @CodiceContratto + ) + -- ToDo ...togliere la select e gestire la variabile @@identity + -- Recupero id appena creato + --where condition per nomefile ( r e cf possono dare id sbagliati ( Mon-Diag) ) + set @step='Step 5' + select @appIdReport=identityReport + from C6MartPeriodico.GESTIONE_PDF_FTP WITH (TABLOCKX) + where rete=@Rete and codicefiscale=@CodiceFiscale + and tiporeport=@TipoReport + --where nomefile=@NomeFile; + if @appIDReport > 0 Begin + set @step='Step 6' + --aggiorno id report per mantenere la gestione in tutto il progetto + update C6MartPeriodico.GESTIONE_PDF_FTP + set idReport=@appIdReport + where rete=@Rete and codicefiscale=@CodiceFiscale + and identityReport=@appIdReport and tiporeport=@TipoReport + END + END +ELSE + BEGIN + set @step='Step 7' + UPdate C6martperiodico.Gestione_pdf_ftp + SET + DataGenerazione=Getdate(), + DataInvio=null, + FlagInvio='N', + NomeFile=@NomeFile, + TipoReport=@TipoReport, + numeroPagine=@NumeroPagine, + RFA=@RFA, + id_Fk_zip=-1, + ID_ELAB=@ID_ELAB, + Definitivo=0, + codicecontratto=@CodiceContratto + where RETE = @Rete and CodiceFiscale=@CodiceFiscale + and idReport=@IDReport + set @step='Step 8' + select @appIdReport=identityReport + from C6MartPeriodico.GESTIONE_PDF_FTP WITH (TABLOCKX) + where rete=@Rete and codicefiscale=@CodiceFiscale + and tiporeport=@TipoReport + END +set @IdReport = @appIdReport +-- FC 05022015 +-- IdReport temporaneo per gestione Parallelizzazione +-- L'idReport verrà aggiornato una volta generato in fase di inserimento del PDF su ReportManager +-- ToDo ...togliere la select e gestire la variabile @@identity + -- declare @appIdReport int + -- -- Recupero id appena creato + -- --where condition per nomefile ( r e cf possono dare id sbagliati ( Mon-Diag) ) + -- select @appIdReport=identityReport + -- from C6MartPeriodico.GESTIONE_PDF_FTP + -- where rete=@Rete and codicefiscale=@CodiceFiscale + -- and tiporeport=@TipoReport + -- --where nomefile=@NomeFile; + --if @appIDReport > 0 Begin + -- --aggiorno id report per mantenere la gestione in tutto il progetto + -- update C6MartPeriodico.GESTIONE_PDF_FTP + -- set idReport=@appIdReport + -- where rete=@Rete and codicefiscale=@CodiceFiscale + -- and identityReport=@appIdReport and tiporeport=@TipoReport +-- COLAIANNI-CONSOLI - 28.06.2011 +-- SETTA NELLA CONTROLLO_TRIMESTRALE LO STATO REPORT CORRISPONDENTE ALLA PRODUZIONE DEL REPORT: +-- DI DIAGNOSI (STATO: SEMILAVORATO) O DI MONITORAGGIO (STATO: STAMPATO) + IF (@TipoReport = 'D') + BEGIN + set @step='Step 9' + UPDATE c6martperiodico.controllo_trimestrale + SET stato_report=10, id_report_d=@IDReport, DATA_TRANSIZIONE=GETDATE() + WHERE stato_report = 1 + AND Rete = @Rete + AND Cod_Fiscale = @CodiceFiscale + END + ELSE IF (@TipoReport = 'M') + BEGIN + set @step='Step 10' + UPDATE c6martperiodico.controllo_trimestrale + SET stato_report=4, id_report_m=@IDReport, DATA_TRANSIZIONE=GETDATE() + WHERE ( (stato_report = 1 and flag_diagnosi=0) OR (stato_report = 10) ) + AND Rete = @Rete + AND Cod_Fiscale = @CodiceFiscale + END + --return @numeroRighe + -- return @@ROWCOUNT + set @step='Step 11' + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = getdate() + ,elab = 10 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + where Rete = @Rete + AND CodiceFiscale = @CodiceFiscale +-- FC 05022015 +-- IdReport temporaneo per gestione Parallelizzazione +-- L'idReport verrà aggiornato una volta generato in fase di inserimento del PDF su ReportManager + set @step='Step 12' + if @IDReport > 0 Begin + select @IdReport + from C6MartPeriodico.GESTIONE_PDF_FTP + where rete=@Rete and codicefiscale=@CodiceFiscale + and tiporeport=@TipoReport + end + else + Begin + set @IDReport=-1 + select @IDReport + END +COMMIT TRANSACTION +END TRY +BEGIN CATCH + IF @@TRANCOUNT > 0 + ROLLBACK TRAN --RollBack in case of Error + Declare @CodiceErrore int + Declare @DescirzioneErrore varchar(250) + declare @dataTime datetime + Declare @nomePackage varchar(250) + select @CodiceErrore=error_number(), + @nomePackage=ERROR_PROCEDURE() , + @DescirzioneErrore=ERROR_MESSAGE() , + @dataTime = getdate() + set @DescirzioneErrore = @DescirzioneErrore + @step + ' (' + @CodiceFiscale + ';' + @Rete + cast(@IDReport as nvarchar(20)) + ')' + exec [C6Mart].[UT_INSERT_ERROR] @CodiceErrore,@DescirzioneErrore,@dataTime,null,null,@nomePackage + IF @@TRANCOUNT > 0 + ROLLBACK TRAN --RollBack in case of Error +END CATCH +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_04082015.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_04082015.sql new file mode 100644 index 00000000..07319671 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_04082015.sql @@ -0,0 +1,133 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_PDF_FTP_04082015] + @Rete char(1), + @CodiceFiscale varchar(16), + @IDReport int, + @NomeFile varchar(50), + @TipoReport varchar(1), + @NumeroPagine int, + @RFA decimal(18,2) = 0, + @CodiceContratto varchar(11) +AS +BEGIN + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6Martperiodico.GETIDELAB() +BEGIN TRY + DELETE C6MartPeriodico.GESTIONE_PDF_FTP WHERE + rete=@Rete and codicefiscale=@CodiceFiscale + and TipoReport = @TipoReport + --IDReport = @IDReport + insert into C6MartPeriodico.GESTIONE_PDF_FTP + ( + Rete, + CodiceFiscale, + IDReport, + DataGenerazione, + DataInvio, + FlagInvio, + NomeFile, + TipoReport, + numeroPagine, + RFA, + id_Fk_zip, + ID_ELAB, + Definitivo, + codicecontratto + ) + values + ( + @Rete, + @CodiceFiscale, + @IDReport, + Getdate(), + null, + 'N', + @NomeFile, + @TipoReport, + @NumeroPagine, + @RFA, + -1, + @ID_ELAB, + 0, + @CodiceContratto + ) +-- FC 05022015 +-- IdReport temporaneo per gestione Parallelizzazione +-- L'idReport verrà aggiornato una volta generato in fase di inserimento del PDF su ReportManager +-- ToDo ...togliere la select e gestire la variabile @@identity + declare @appIdReport int + -- Recupero id appena creato + --where condition per nomefile ( r e cf possono dare id sbagliati ( Mon-Diag) ) + select @appIdReport=identityReport + from C6MartPeriodico.GESTIONE_PDF_FTP + where rete=@Rete and codicefiscale=@CodiceFiscale + and tiporeport=@TipoReport + --where nomefile=@NomeFile; + if @appIDReport > 0 Begin + --aggiorno id report per mantenere la gestione in tutto il progetto + update C6MartPeriodico.GESTIONE_PDF_FTP + set idReport=@appIdReport + where rete=@Rete and codicefiscale=@CodiceFiscale + and identityReport=@appIdReport and tiporeport=@TipoReport + set @IdReport = @appIdReport +-- COLAIANNI-CONSOLI - 28.06.2011 +-- SETTA NELLA CONTROLLO_TRIMESTRALE LO STATO REPORT CORRISPONDENTE ALLA PRODUZIONE DEL REPORT: +-- DI DIAGNOSI (STATO: SEMILAVORATO) O DI MONITORAGGIO (STATO: STAMPATO) + IF (@TipoReport = 'D') + BEGIN + UPDATE c6martperiodico.controllo_trimestrale + SET stato_report=10, id_report_d=@IDReport, DATA_TRANSIZIONE=GETDATE() + WHERE stato_report = 1 + AND Rete = @Rete + AND Cod_Fiscale = @CodiceFiscale + END + ELSE IF (@TipoReport = 'M') + BEGIN + UPDATE c6martperiodico.controllo_trimestrale + SET stato_report=4, id_report_m=@IDReport, DATA_TRANSIZIONE=GETDATE() + WHERE ( (stato_report = 1 and flag_diagnosi=0) OR (stato_report = 10) ) + AND Rete = @Rete + AND Cod_Fiscale = @CodiceFiscale + END + --return @numeroRighe + -- return @@ROWCOUNT + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = getdate() + ,elab = 10 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + where Rete = @Rete + AND CodiceFiscale = @CodiceFiscale + END +-- FC 05022015 +-- IdReport temporaneo per gestione Parallelizzazione +-- L'idReport verrà aggiornato una volta generato in fase di inserimento del PDF su ReportManager + if @IDReport > 0 Begin + select @IdReport + from C6MartPeriodico.GESTIONE_PDF_FTP + where rete=@Rete and codicefiscale=@CodiceFiscale + and tiporeport=@TipoReport + end + else + Begin + set @IDReport=-1 + select @IDReport + END +END TRY +BEGIN CATCH + Declare @CodiceErrore int + Declare @DescirzioneErrore varchar + declare @dataTime datetime + Declare @nomePackage varchar + select @CodiceErrore=error_number(), + @nomePackage=ERROR_PROCEDURE() , + @DescirzioneErrore=ERROR_MESSAGE() , + @dataTime = getdate() + exec [C6Mart].[UT_INSERT_ERROR] @CodiceErrore,@DescirzioneErrore,@dataTime,null,null,@nomePackage +END CATCH +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_GET_ID.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_GET_ID.sql new file mode 100644 index 00000000..0cf2229b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_GET_ID.sql @@ -0,0 +1,18 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_PDF_FTP_GET_ID] +( + @Rete char(1), + @CodiceFiscale varchar(16), + @TipoReport varchar(1) +) +AS +BEGIN +if exists ( select 1 from C6MartPeriodico.GESTIONE_PDF_FTP + where rete=@Rete and codicefiscale=@CodiceFiscale + and tiporeport=@TipoReport) + select top(1) IdReport + from C6MartPeriodico.GESTIONE_PDF_FTP + where rete=@Rete and codicefiscale=@CodiceFiscale + and tiporeport=@TipoReport + else + select -1 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql new file mode 100644 index 00000000..b0c9d012 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql @@ -0,0 +1,45 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22/12/2008 +-- Description: Per gestione richieste di reinvio PDF da parte di utenti HD o US +-- ============================================= +--[C6MartPeriodico].[GESTIONE_INSERT_PDF_FTP_RISTAMPA]1055,1081 +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_PDF_FTP_RISTAMPA] + @Id INT, + @IdNuovo INT +AS +BEGIN + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + INSERT INTO C6MartPeriodico.GESTIONE_PDF_FTP + ( + Rete, + CodiceFiscale, + IDReport, + DataGenerazione, + DataInvio, + FlagInvio, + NomeFile, + TipoReport, + numeroPagine, + RFA, + id_Fk_zip, + ID_ELAB + ) + SELECT + Rete, + CodiceFiscale, + @IdNuovo, + Getdate(), + null, + 'N', + NomeFile, + 'LR', + numeroPagine + 1, + RFA, + -1, + @ID_ELAB + FROM C6MartPeriodico.GESTIONE_PDF_FTP + WHERE IdReport = @Id + RETURN @@ROWCOUNT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_ZIP.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_ZIP.sql new file mode 100644 index 00000000..d96b78c4 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_ZIP.sql @@ -0,0 +1,58 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- Inserimento nuovo [C6Mart].[GESTIONE_INSERT_ZIP] -1,'NomeFileOk','NomeFileOk' +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_ZIP] +@NomeFile as varchar(255), +@NomeCartella as varchar(255), +@FKIDElaborazioneZip as int +AS +BEGIN +BEGIN TRANSACTION +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6Martperiodico.GETIDELAB() +declare @IdZip as int +set @IdZip = -1 +--recupero idzip se Esiste insieme al NomeCartella +SELECT @IdZip=id,@NomeCartella=NomeCartella +FROM + C6MartPeriodico.GESTIONE_ZIP_FTP +WHERE + FlagInvio = 'N' + AND DateCopyToSend IS NULL +IF(@IDZIP = -1)--NON ESISTE + BEGIN + INSERT INTO [C6MartPeriodico].[GESTIONE_ZIP_FTP] + ( [NOMEFILE] + ,[DATAINVIO] + ,[FLAGINVIO] + ,[NOMECARTELLA] + ,[ID_ELAB] + ,[FKIDElaborazioneZip]) + VALUES + ( @NOMEFILE + ,NULL + ,'N' + ,@NOMECARTELLA + ,@ID_ELAB + ,@FKIDElaborazioneZip) + SET @IDZIP = SCOPE_IDENTITY() + END +ELSE --ESISTE + BEGIN + UPDATE [C6MartPeriodico].[GESTIONE_ZIP_FTP] + SET [NOMEFILE] = @NOMEFILE + WHERE ID = @IDZIP + END +IF @@error <> 0 + begin + rollback + end +else + begin + commit + select @IdZip IdZip,@NomeFile NomeFile,@NomeCartella NomeCartella + end +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_ZIP_IDX_NOINSERT.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_ZIP_IDX_NOINSERT.sql new file mode 100644 index 00000000..1f1d135a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_INSERT_ZIP_IDX_NOINSERT.sql @@ -0,0 +1,18 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_ZIP_IDX_NOINSERT] +@NomeCartella as varchar(255) +AS +bEGIN +--select id IdZip, NomeFile, NomeCartella +--from [C6MartPeriodico].[GESTIONE_ZIP_FTP_idx] where nomecartella = @NomeCartella +declare @c as varchar(1) +set @c = '[' +declare @path as varchar(max) +set @path = @NomeCartella +declare @nomefile as varchar(100) +declare @id as int +set @nomefile = substring(@path, 0, charindex('_LOTTO',@path)) +set @id = cast( substring(@path, charindex('_PACK_',@path)+6, charindex(@c,@path)-(charindex('_PACK_',@path)+6)) as int) +select id IdZip, @NomeCartella as NomeFile, NomeCartella +from [C6MartPeriodico].[GESTIONE_ZIP_FTP] +where nomefile = @nomefile and id = @id +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_PDF_REVERT_FISCAL_CODE.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_PDF_REVERT_FISCAL_CODE.sql new file mode 100644 index 00000000..cca79f2f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_PDF_REVERT_FISCAL_CODE.sql @@ -0,0 +1,11 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_PDF_REVERT_FISCAL_CODE] +( + @FiscalCode nvarchar(max), + @Rete nvarchar(max) +) +AS +BEGIN + update [C6MartPeriodico].[cruscotto_contrattisei] set elab=1 where codicefiscale = @FiscalCode and rete=@rete + update [C6MartPeriodico].[CONTROLLO_TRIMESTRALE] set stato_report=1, flag_diagnosi = 0 where cod_fiscale = @FiscalCode and rete=@rete + delete from [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] where codicefiscale = @FiscalCode and rete=@rete +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SCARTI_CRUSCOTTO.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SCARTI_CRUSCOTTO.sql new file mode 100644 index 00000000..c4ba0d48 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SCARTI_CRUSCOTTO.sql @@ -0,0 +1,12 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SCARTI_CRUSCOTTO] + @codicefiscale as varchar(16), + @rete as varchar(1), + @stato as int, + @errormessage as varchar(1000) +AS +BEGIN + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = @stato where codicefiscale = @codicefiscale and rete = @rete and elab = 3 + IF @@ROWCOUNT <> 0 AND @stato < -1 + INSERT INTO [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] VALUES (@codicefiscale,@rete,getdate(),@errormessage) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_ELABORAZIONI_EMAIL_RNA.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_ELABORAZIONI_EMAIL_RNA.sql new file mode 100644 index 00000000..3748322e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_ELABORAZIONI_EMAIL_RNA.sql @@ -0,0 +1,11 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_ELABORAZIONI_EMAIL_RNA] +AS +BEGIN + SET NOCOUNT ON; + select C6MartPeriodico.getNumeroElaborazioniEmailAlMese() as righe +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql new file mode 100644 index 00000000..23f43d0d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql @@ -0,0 +1,37 @@ +--[C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE] +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE] +AS +BEGIN +--*********************** Modifica del 13-14/09/2016 per inserire gli eventuali errori nella nuova tabella +insert into [C6MartPeriodico].MailAvvisoTrimestraleAiPB__ERR_EMAIL_TO (ID_ELAB,rete,cod_agente,TIPO,Email_Id,Cod_Fiscale,E_From,E_To,E_Ccn,E_Cc,E_Subject,Testo,codicePB,data_generazione,Inviata,Data_Invio) +SELECT m.*, e.codicePB, e.data_generazione, e.Inviata, e.Data_Invio +from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +inner join [C6MartPeriodico].[GESTIONE_EMAIL] e + ON e.email_id = m.email_id +left join C6MartPeriodico.MailAvvisoTrimestraleAiPB__ERR_EMAIL_TO err +on err.cod_agente = m.cod_agente and err.cod_fiscale = m.cod_fiscale +WHERE isnull(e.Inviata,'N')='N' +and m.testo like '%' +and m.e_subject is not null +and e.email_id NOT IN ('14383','2176','137') +and (m.e_to is null or m.e_to = '') +and err.cod_agente is null +--SELECT top 800 * +--from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +--inner join [C6MartPeriodico].[GESTIONE_EMAIL] +-- ON GESTIONE_EMAIL.email_id = m.email_id +--WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' +--and testo like '%' +--and e_subject is not null +--and GESTIONE_EMAIL.email_id NOT IN ('14383','2176','137') +SELECT top 800 * +from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +inner join [C6MartPeriodico].[GESTIONE_EMAIL] e + ON e.email_id = m.email_id +WHERE isnull(e.Inviata,'N')='N' +and testo like '%' +and e_subject is not null +and e.email_id NOT IN ('14383','2176','137') +and (e_to is not null and e_to <> '') +--*********************** Fine Modifica del 13-14/09/2016 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_20160913.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_20160913.sql new file mode 100644 index 00000000..afa5aa17 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_20160913.sql @@ -0,0 +1,13 @@ +--[C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE] +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE_20160913] +AS +BEGIN +SELECT top 800 * +from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +inner join [C6MartPeriodico].[GESTIONE_EMAIL] + ON GESTIONE_EMAIL.email_id = m.email_id +WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' +and testo like '%' +and e_subject is not null +and GESTIONE_EMAIL.email_id NOT IN ('14383','2176','137') +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_bk.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_bk.sql new file mode 100644 index 00000000..c5aa0617 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_bk.sql @@ -0,0 +1,37 @@ +--[C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE] +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE_bk] +AS +BEGIN +--*********************** Modifica del 13-14/09/2016 per inserire gli eventuali errori nella nuova tabella +insert into [C6MartPeriodico].MailAvvisoTrimestraleAiPB__ERR_EMAIL_TO (ID_ELAB,rete,cod_agente,TIPO,Email_Id,Cod_Fiscale,E_From,E_To,E_Ccn,E_Cc,E_Subject,Testo,codicePB,data_generazione,Inviata,Data_Invio) +SELECT m.*, e.codicePB, e.data_generazione, e.Inviata, e.Data_Invio +from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +inner join [C6MartPeriodico].[GESTIONE_EMAIL] e + ON e.email_id = m.email_id +left join C6MartPeriodico.MailAvvisoTrimestraleAiPB__ERR_EMAIL_TO err +on err.cod_agente = m.cod_agente and err.cod_fiscale = m.cod_fiscale +WHERE isnull(e.Inviata,'N')='N' +and m.testo like '%' +and m.e_subject is not null +and e.email_id NOT IN ('14383','2176','137') +and (m.e_to is null or m.e_to = '') +and err.cod_agente is null +--SELECT top 800 * +--from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +--inner join [C6MartPeriodico].[GESTIONE_EMAIL] +-- ON GESTIONE_EMAIL.email_id = m.email_id +--WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' +--and testo like '%' +--and e_subject is not null +--and GESTIONE_EMAIL.email_id NOT IN ('14383','2176','137') +SELECT top 800 * +from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +inner join [C6MartPeriodico].[GESTIONE_EMAIL] e + ON e.email_id = m.email_id +WHERE isnull(e.Inviata,'N')='N' +and testo like '%' +and e_subject is not null +and e.email_id NOT IN ('14383','2176','137') +and (e_to is not null and e_to <> '') +--*********************** Fine Modifica del 13-14/09/2016 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE.sql new file mode 100644 index 00000000..1d8366ae --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE.sql @@ -0,0 +1,54 @@ +CREATE PROCEDURE [C6MartPeriodico].[GESTIONE_SELECT_FTP_DA_INVIARE] + @isLotto1 int = 0 +AS +BEGIN + SELECT + GESTIONE_PDF_FTP.Rete, + GESTIONE_PDF_FTP.CodiceFiscale , + --GESTIONE_PDF_FTP.IdReport + GESTIONE_PDF_FTP.identityreport as IdReport +-- ,(NomeFile + '_' + (Case TipoReport when 'D' then 'DP' WHEN 'M' THEN 'MP' else TipoReport end)) as NomeFile + ,( + NomeFile + '_' + + ( + CASE GESTIONE_PDF_FTP.TipoReport WHEN 'D' THEN 'DP' + WHEN 'M' THEN ( + CASE CONTRATTOSEI.TIP_CONTRATTO + WHEN 2 THEN 'PP' + ELSE 'MP' + END + ) + ELSE GESTIONE_PDF_FTP.TipoReport + END + ) + ) as NomeFile + ,TipoReport + --,convert(varchar,GESTIONE_PDF_FTP.IdReport)+ '_' + NomeFile NomeFilelocale + ,convert(varchar,GESTIONE_PDF_FTP.identityreport)+ '_' + NomeFile NomeFilelocale + FROM C6MartPeriodico.GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN c6martperiodico.controllo_trimestrale + on controllo_trimestrale.Rete = GESTIONE_PDF_FTP.Rete + and controllo_trimestrale.Cod_Fiscale = GESTIONE_PDF_FTP.CodiceFiscale + LEFT JOIN (SELECT [Cod_Fiscale],[Rete] FROM [C6MartPeriodico].[WHITELIST_ZIP] + WHERE [Pacchetto_Zip] iS null) WHITELIST_ZIP + on WHITELIST_ZIP.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + and WHITELIST_ZIP.Rete = CONTRATTOSEI.RETE + left join [C6MartPeriodico].[ExcludedList] on GESTIONE_PDF_FTP.Rete = [ExcludedList].Rete and GESTIONE_PDF_FTP.codicefiscale = [ExcludedList].codicefiscale + WHERE + FlagInvio = 'N' + -- and GESTIONE_PDF_FTP.Rete = null and GESTIONE_PDF_FTP.codicefiscale = null + and ExcludedList.Rete is null + ---- AND Definitivo = 0 Il FLag non è piu gestito per la generazione Zip + and dataGenerazione > c6martperiodico.gettrimestre(getdate(),0) + --and stato_report=4 + and (WHITELIST_ZIP.rete is not null or @isLotto1 = 0 or 0 = ( SELECT count(*) + FROM [C6MartPeriodico].[WHITELIST_ZIP] + WHERE [Pacchetto_Zip] iS null + )) + --EN20170706 - output ordered by CAP demand from SELECTA + --order by rete,codiceFiscale,identityreport --idreport + order by rete,CAP, codiceFiscale,identityreport --idreport +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170413_b4_NewZipFtpProcess.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170413_b4_NewZipFtpProcess.sql new file mode 100644 index 00000000..5b9f6d2b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170413_b4_NewZipFtpProcess.sql @@ -0,0 +1,55 @@ +CREATE PROCEDURE [C6MartPeriodico].[GESTIONE_SELECT_FTP_DA_INVIARE_20170413_b4_NewZipFtpProcess] + @isLotto1 int = 0 +AS +BEGIN + SELECT + GESTIONE_PDF_FTP.Rete, + GESTIONE_PDF_FTP.CodiceFiscale , + --GESTIONE_PDF_FTP.IdReport + GESTIONE_PDF_FTP.identityreport as IdReport +-- ,(NomeFile + '_' + (Case TipoReport when 'D' then 'DP' WHEN 'M' THEN 'MP' else TipoReport end)) as NomeFile + ,( + NomeFile + '_' + + ( + CASE GESTIONE_PDF_FTP.TipoReport WHEN 'D' THEN 'DP' + WHEN 'M' THEN ( + CASE CONTRATTOSEI.TIP_CONTRATTO + WHEN 2 THEN 'PP' + ELSE 'MP' + END + ) + ELSE GESTIONE_PDF_FTP.TipoReport + END + ) + ) as NomeFile + ,TipoReport + --,convert(varchar,GESTIONE_PDF_FTP.IdReport)+ '_' + NomeFile NomeFilelocale + ,convert(varchar,GESTIONE_PDF_FTP.identityreport)+ '_' + NomeFile NomeFilelocale +-- ,Case TipoReport when 'D' then 'DW' else TipoReport end +-- ,dp mp +-- DataGenerazione, +-- DataInvio, +-- FlagInvio, +-- NomeFile + FROM C6MartPeriodico.GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN c6martperiodico.controllo_trimestrale + on controllo_trimestrale.Rete = GESTIONE_PDF_FTP.Rete + and controllo_trimestrale.Cod_Fiscale = GESTIONE_PDF_FTP.CodiceFiscale + LEFT JOIN (SELECT [Cod_Fiscale],[Rete] FROM [C6MartPeriodico].[WHITELIST_ZIP] + WHERE [Pacchetto_Zip] iS null) WHITELIST_ZIP + on WHITELIST_ZIP.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + and WHITELIST_ZIP.Rete = CONTRATTOSEI.RETE + WHERE + FlagInvio = 'N' + ---- AND Definitivo = 0 Il FLag non è piu gestito per la generazione Zip + and dataGenerazione > c6martperiodico.gettrimestre(getdate(),0) + and stato_report=4 + and (WHITELIST_ZIP.rete is not null or @isLotto1 = 0 or 0 = ( SELECT count(*) + FROM [C6MartPeriodico].[WHITELIST_ZIP] + WHERE [Pacchetto_Zip] iS null + )) + order by rete,codiceFiscale,identityreport --idreport +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170712_b4_OrderedByCAP.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170712_b4_OrderedByCAP.sql new file mode 100644 index 00000000..e7db25bb --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170712_b4_OrderedByCAP.sql @@ -0,0 +1,52 @@ +CREATE PROCEDURE [C6MartPeriodico].[GESTIONE_SELECT_FTP_DA_INVIARE_b4_GroupByCAP] + @isLotto1 int = 0 +AS +BEGIN + SELECT + GESTIONE_PDF_FTP.Rete, + GESTIONE_PDF_FTP.CodiceFiscale , + --GESTIONE_PDF_FTP.IdReport + GESTIONE_PDF_FTP.identityreport as IdReport +-- ,(NomeFile + '_' + (Case TipoReport when 'D' then 'DP' WHEN 'M' THEN 'MP' else TipoReport end)) as NomeFile + ,( + NomeFile + '_' + + ( + CASE GESTIONE_PDF_FTP.TipoReport WHEN 'D' THEN 'DP' + WHEN 'M' THEN ( + CASE CONTRATTOSEI.TIP_CONTRATTO + WHEN 2 THEN 'PP' + ELSE 'MP' + END + ) + ELSE GESTIONE_PDF_FTP.TipoReport + END + ) + ) as NomeFile + ,TipoReport + --,convert(varchar,GESTIONE_PDF_FTP.IdReport)+ '_' + NomeFile NomeFilelocale + ,convert(varchar,GESTIONE_PDF_FTP.identityreport)+ '_' + NomeFile NomeFilelocale + FROM C6MartPeriodico.GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN c6martperiodico.controllo_trimestrale + on controllo_trimestrale.Rete = GESTIONE_PDF_FTP.Rete + and controllo_trimestrale.Cod_Fiscale = GESTIONE_PDF_FTP.CodiceFiscale + LEFT JOIN (SELECT [Cod_Fiscale],[Rete] FROM [C6MartPeriodico].[WHITELIST_ZIP] + WHERE [Pacchetto_Zip] iS null) WHITELIST_ZIP + on WHITELIST_ZIP.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + and WHITELIST_ZIP.Rete = CONTRATTOSEI.RETE + left join [C6MartPeriodico].[ExcludedList] on GESTIONE_PDF_FTP.Rete = [ExcludedList].Rete and GESTIONE_PDF_FTP.codicefiscale = [ExcludedList].codicefiscale + WHERE + FlagInvio = 'N' + -- and GESTIONE_PDF_FTP.Rete = null and GESTIONE_PDF_FTP.codicefiscale = null + and ExcludedList.Rete is null + ---- AND Definitivo = 0 Il FLag non è piu gestito per la generazione Zip + and dataGenerazione > c6martperiodico.gettrimestre(getdate(),0) + --and stato_report=4 + and (WHITELIST_ZIP.rete is not null or @isLotto1 = 0 or 0 = ( SELECT count(*) + FROM [C6MartPeriodico].[WHITELIST_ZIP] + WHERE [Pacchetto_Zip] iS null + )) + order by rete,codiceFiscale,identityreport --idreport +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI.sql new file mode 100644 index 00000000..6c2fc4ec --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI.sql @@ -0,0 +1,47 @@ +--exec [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI] +-- ============================================= +-- Author: +-- Create date: <2018/03/06> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI] +@idFkzip int +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Estrazione dei record + SELECT DISTINCT + C6MartPeriodico.GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale + into #t + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip + -- Conteggio dei report generati per ciascuna coppia Rete-CodiceFiscale (Se uno solo di tipo M oppure due, di tipo D + tipo M) + select + #t.Rete, + #t.CodiceFiscale, + count(*) as cont + into #t1 + from #t inner join C6MartPeriodico.GESTIONE_PDF_FTP + on #t.Rete = C6MartPeriodico.GESTIONE_PDF_FTP.Rete + and #t.CodiceFiscale = C6MartPeriodico.GESTIONE_PDF_FTP.CodiceFiscale + group by #t.Rete, #t.CodiceFiscale + -- Composizione della riga da scrivere nel file IDX + select + [C6MartPeriodico].CONCATENA(#t.Rete, #t.CodiceFiscale) as Riga, + #t1.cont as Tipo + from #t inner join #t1 + on #t.Rete = #t1.Rete + and #t.CodiceFiscale = #t1.CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180214_bonifica.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180214_bonifica.sql new file mode 100644 index 00000000..97333277 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180214_bonifica.sql @@ -0,0 +1,27 @@ +--exec sp_recompile '[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI]' +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_20180214_bonifica] +@idFkzip int +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT DISTINCT + [C6MartPeriodico].CONCATENA_20180214_bonifica(C6MartPeriodico.GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale, + @idFkzip) AS riga + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180308_PreIDX2.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180308_PreIDX2.sql new file mode 100644 index 00000000..3f05828b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180308_PreIDX2.sql @@ -0,0 +1,26 @@ +--exec sp_recompile '[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI]' +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_20180308_PreIDX2] +@idFkzip int +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT DISTINCT + [C6MartPeriodico].CONCATENA(C6MartPeriodico.GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale) AS riga + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180420.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180420.sql new file mode 100644 index 00000000..2df4ccd6 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180420.sql @@ -0,0 +1,47 @@ +--exec [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI] +-- ============================================= +-- Author: +-- Create date: <2018/03/06> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_20180420] +@idFkzip int +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Estrazione dei record + SELECT DISTINCT + C6MartPeriodico.GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale + into #t + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip + -- Conteggio dei report generati per ciascuna coppia Rete-CodiceFiscale (Se uno solo di tipo M oppure due, di tipo D + tipo M) + select + #t.Rete, + #t.CodiceFiscale, + count(*) as cont + into #t1 + from #t inner join C6MartPeriodico.GESTIONE_PDF_FTP + on #t.Rete = C6MartPeriodico.GESTIONE_PDF_FTP.Rete + and #t.CodiceFiscale = C6MartPeriodico.GESTIONE_PDF_FTP.CodiceFiscale + group by #t.Rete, #t.CodiceFiscale + -- Composizione della riga da scrivere nel file IDX + select + #t1.cont as Tipo, + [C6MartPeriodico].CONCATENA(#t.Rete, #t.CodiceFiscale) as Riga + from #t inner join #t1 + on #t.Rete = #t1.Rete + and #t.CodiceFiscale = #t1.CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20240225.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20240225.sql new file mode 100644 index 00000000..5e2d3aa0 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20240225.sql @@ -0,0 +1,45 @@ +--exec [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI] +-- ============================================= +-- Author: +-- Create date: <2018/03/06> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_20240225] --'' +@idFkzip int +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Estrazione dei record + SELECT DISTINCT + C6MartPeriodico.GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale + into #t + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + -- Conteggio dei report generati per ciascuna coppia Rete-CodiceFiscale (Se uno solo di tipo M oppure due, di tipo D + tipo M) + select + #t.Rete, + #t.CodiceFiscale, + count(*) as cont + into #t1 + from #t inner join C6MartPeriodico.GESTIONE_PDF_FTP + on #t.Rete = C6MartPeriodico.GESTIONE_PDF_FTP.Rete + and #t.CodiceFiscale = C6MartPeriodico.GESTIONE_PDF_FTP.CodiceFiscale + group by #t.Rete, #t.CodiceFiscale + -- Composizione della riga da scrivere nel file IDX + select + [C6MartPeriodico].CONCATENA_20240225(#t.Rete, #t.CodiceFiscale) as Riga, + #t1.cont as Tipo + from #t inner join #t1 + on #t.Rete = #t1.Rete + and #t.CodiceFiscale = #t1.CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME.sql new file mode 100644 index 00000000..eedd72f1 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME.sql @@ -0,0 +1,46 @@ +--exec [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME] +-- ============================================= +-- Author: +-- Create date: <2018/03/06> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME] +@idFkzip int +AS +BEGIN + SET NOCOUNT ON; + SELECT DISTINCT + [C6MartPeriodico].GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale, + (case when tiporeport = 'D' then '' else NomeFile end) as NomeFile + into #t + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip + -- Conteggio dei report generati per ciascuna coppia Rete-CodiceFiscale (Se uno solo di tipo M oppure due, di tipo D + tipo M) + select + #t.Rete, + #t.CodiceFiscale, + count(*) as cont + into #t1 + from #t inner join C6MartPeriodico.GESTIONE_PDF_FTP + on #t.Rete = C6MartPeriodico.GESTIONE_PDF_FTP.Rete + and #t.CodiceFiscale = C6MartPeriodico.GESTIONE_PDF_FTP.CodiceFiscale + group by #t.Rete, #t.CodiceFiscale + -- Composizione della riga da scrivere nel file IDX + select + [C6MartPeriodico].CONCATENA(#t.Rete, #t.CodiceFiscale) as Riga, + #t.NomeFile, + #t1.cont as Tipo + from #t inner join #t1 + on #t.Rete = #t1.Rete + and #t.CodiceFiscale = #t1.CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180308_PreIDX2.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180308_PreIDX2.sql new file mode 100644 index 00000000..1b1dcaf9 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180308_PreIDX2.sql @@ -0,0 +1,18 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180308_PreIDX2] +@idFkzip int +AS +BEGIN + SET NOCOUNT ON; + SELECT DISTINCT + [C6MartPeriodico].CONCATENA(C6MartPeriodico.GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale) AS riga , (case when tiporeport = 'D' then '' else NomeFile end) as NomeFile + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180420.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180420.sql new file mode 100644 index 00000000..34ed47e7 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180420.sql @@ -0,0 +1,46 @@ +--exec [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME] +-- ============================================= +-- Author: +-- Create date: <2018/03/06> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180420] +@idFkzip int +AS +BEGIN + SET NOCOUNT ON; + SELECT DISTINCT + [C6MartPeriodico].GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale, + (case when tiporeport = 'D' then '' else NomeFile end) as NomeFile + into #t + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip + -- Conteggio dei report generati per ciascuna coppia Rete-CodiceFiscale (Se uno solo di tipo M oppure due, di tipo D + tipo M) + select + #t.Rete, + #t.CodiceFiscale, + count(*) as cont + into #t1 + from #t inner join C6MartPeriodico.GESTIONE_PDF_FTP + on #t.Rete = C6MartPeriodico.GESTIONE_PDF_FTP.Rete + and #t.CodiceFiscale = C6MartPeriodico.GESTIONE_PDF_FTP.CodiceFiscale + group by #t.Rete, #t.CodiceFiscale + -- Composizione della riga da scrivere nel file IDX + select + #t1.cont as Tipo, + [C6MartPeriodico].CONCATENA(#t.Rete, #t.CodiceFiscale) as Riga, + #t.NomeFile + from #t inner join #t1 + on #t.Rete = #t1.Rete + and #t.CodiceFiscale = #t1.CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_prova_20141223.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_prova_20141223.sql new file mode 100644 index 00000000..ae5e1d58 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_prova_20141223.sql @@ -0,0 +1,52 @@ +--exec sp_recompile '[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI]' +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_prova_20141223] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @idFkzip int + select @idFkzip = max(id_fk_zip) + from c6martperiodico.gestione_pdf_ftp_prova_20141223 +print @idFkzip +-- Facciate(6)CppBollettini(2)IDENTIFICATIVODOCUMENTO(50)NOMINATIVODESTINATARIO(50)VIA(50)CAP(5)LOCALITA(50)PROVINCIA(2)NAZIONE(1)TIPOPOSTALIZZAZIONE(2)FILESPOOL(50)ALLEGATO1(1)ALLEGATO1(2)NAZIONEESTERA(30) +--FacciateXXXXX(6)00CodiceFiscale(50)NOMINATIVODESTINATARIO(50)VIA(50)CAP(5)LOCALITA(50)PROVINCIA(2)IoE(1)PE(2)NOMEFILE(50)0(1)0(2)NAZIONEESTERA(30) +-- (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) +-- + '00' --CppBollettini(2) +-- + ' ' --IDENTIFICATIVODOCUMENTO(50) +-- + LEFT(isnull(ANAG_CLIENTI.Cognome,'COGNOME') + ' ' + ISNULL(ANAG_CLIENTI.Nome,'NOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) +-- + LEFT(CONTRATTOSEI.Indirizzo + ' ',50) --VIA(50) +-- + LEFT(CONTRATTOSEI.CAP + ' ',5) --CAP(5) +-- + LEFT(CONTRATTOSEI.Citta + ' ',50) --LOCALITA(50) +-- + LEFT(CONTRATTOSEI.Prov + ' ',2)--PROVINCIA(2) +-- + (CASE UPPER(CONTRATTOSEI.Nazione) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) +-- + 'PE' --TIPOPOSTALIZZAZIONE(2) +-- + LEFT(GESTIONE_PDF_FTP.NomeFile + ' ',50)--NOMEFILE(50) +-- + '0' --0(1) +-- + '0' --0(2) +-- + LEFT((CASE UPPER(CONTRATTOSEI.Nazione) WHEN 'ITALIA' THEN '' ELSE CONTRATTOSEI.Nazione END) + ' ',30)) -- NAZIONEESTERA(30) +-- + SELECT DISTINCT + --codiceFiscale, + --id_fk_zip, + [C6MartPeriodico].CONCATENA_prova_20141223(C6MartPeriodico.GESTIONE_PDF_FTP_prova_20141223.Rete, C6MartPeriodico.GESTIONE_PDF_FTP_prova_20141223.CodiceFiscale) AS riga + FROM C6MartPeriodico.GESTIONE_PDF_FTP_prova_20141223 + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP_prova_20141223.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP_prova_20141223.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP_prova_20141223.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP_prova_20141223.CodiceFiscale + WHERE --DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 +-- OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0 + GESTIONE_PDF_FTP_prova_20141223.id_fk_zip = @idFkzip -- 351 + --(select max(id_fk_zip) + -- from c6martperiodico.gestione_pdf_ftp + --) + --order by codiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_WHITELIST.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_WHITELIST.sql new file mode 100644 index 00000000..eb93cfd1 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_FTP_WHITELIST.sql @@ -0,0 +1,48 @@ +-- Stored procedure +--[C6MartPeriodico].[GESTIONE_SELECT_FTP_WHITELIST]343 +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_WHITELIST] +@IdZip as INT +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT DISTINCT + contrattosei.cod_fiscale,contrattosei.rete, + [C6MartPeriodico].[CONCATENA_WHITELIST](C6MartPeriodico.GESTIONE_PDF_FTP.Rete, C6MartPeriodico.GESTIONE_PDF_FTP.CodiceFiscale, @IdZip) AS riga + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @IdZip + AND + contrattosei.rete+CONTRATTOSEI.COD_FISCALE NOT IN (SELECT rete+CodiceFiscale FROM C6MartPeriodico.ExcludedList where bloccato = 1) + UPDATE C6MARTPERIODICO.CONTROLLO_TRIMESTRALE SET + STATO_REPORT = 8, + DATA_TRANSIZIONE=GETDATE() + WHERE STATO_REPORT=6 + AND + cod_fiscale+rete in + (select codicefiscale+rete + from c6martperiodico.gestione_pdf_ftp + where id_fk_zip=@idZIP + ) + AND + RETE+cod_fiscale NOT IN (SELECT rete+CodiceFiscale FROM C6MartPeriodico.ExcludedList where bloccato = 1) + UPDATE C6MARTPERIODICO.CONTROLLO_TRIMESTRALE SET + STATO_REPORT = 7, + DATA_TRANSIZIONE=GETDATE() + WHERE STATO_REPORT=9 + AND + cod_fiscale+rete in + (select codicefiscale+rete + from c6martperiodico.gestione_pdf_ftp + where id_fk_zip=@idZIP + ) + AND + RETE+cod_fiscale IN (SELECT rete+CodiceFiscale FROM C6MartPeriodico.ExcludedList where bloccato = 1) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_HOST.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_HOST.sql new file mode 100644 index 00000000..fd92dc6f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_HOST.sql @@ -0,0 +1,56 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_HOST] + AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --FTP + SELECT +-- null idFtp, +-- null idEmail, +--C6Mart.GESTIONE_PDF_FTP.*, + ([C6MartPeriodico].GESTIONE_PDF_FTP.Rete + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale + right('00000000000' + + --C6Mart.CONTRATTOSEI.CodiceContratto,11 + v.CodiceContratto,11 + ) + + 'C' + + (Case TipoReport when 'D' then 'LD' + when 'LR' then 'LR' + when 'M' then 'LM' + else TipoReport end) + + (Case TipoReport when 'D' then CONVERT(VARCHAR(10), [C6MartPeriodico].GESTIONE_PDF_FTP.DataInvio, 112) + when 'LR' then CONVERT(VARCHAR(10), [C6MartPeriodico].GESTIONE_PDF_FTP.DataInvioRistampa, 112) + when 'M' then CONVERT(VARCHAR(10), [C6MartPeriodico].GESTIONE_PDF_FTP.DataInvio, 112) else null end)) as riga + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MartPeriodico.vContrattiPerGenerazioneReport v --C6Mart.VCONTRATTOSEI + ON v.Rete = [C6MartPeriodico].GESTIONE_PDF_FTP.Rete + and v.COD_FISCALE = [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON [C6MartPeriodico].ANAG_CLIENTI.Rete = [C6MartPeriodico].GESTIONE_PDF_FTP.Rete + and [C6MartPeriodico].ANAG_CLIENTI.COD_FISCALE = [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale +-- WHERE DAY(C6Mart.GESTIONE_PDF_FTP.DataInvio) = DAY(GETDATE()) +-- AND MONTH(GETDATE()) = MONTH(C6Mart.GESTIONE_PDF_FTP.DataInvio) +-- AND YEAR(GETDATE()) = YEAR(C6Mart.GESTIONE_PDF_FTP.DataInvio) + WHERE DATEDIFF(DAY,isnull([C6MartPeriodico].GESTIONE_PDF_FTP.DataInvio,[C6MartPeriodico].GESTIONE_PDF_FTP.DataInvioRistampa),GETDATE()) = 0 + and isnull(data_fineAvanzato,cast('99991231' as datetime)) > c6martperiodico.getTrimestre(getDate(),0) +-- UNION ALL +-- --EMAIL +-- SELECT +-- null idFtp, +-- C6Mart.GESTIONE_EMAIL.Email_Id idEmail, +-- ('Rete:' + isnull(C6Mart.GESTIONE_EMAIL.Rete,'') + ';' + 'CodiceFiscale:' + isnull(C6Mart.GESTIONE_EMAIL.Cod_Fiscale,'') + ';' + 'Codice Contratto:' + isnull(C6Mart.CONTRATTOSEI.CodiceContratto,'') + ';' + 'Tipo Invio:' + 'E' + ';' + 'Tipo Comunicazione:' + 'EI' + ';' + 'Data Invio al Cliente:' + isnull(CONVERT(VARCHAR(10), C6Mart.GESTIONE_EMAIL.Data_Invio, 112),'')) as riga +-- FROM C6Mart.GESTIONE_EMAIL +-- INNER JOIN C6Mart.CONTRATTOSEI +-- ON C6Mart.CONTRATTOSEI.Rete = C6Mart.GESTIONE_EMAIL.Rete +-- and C6Mart.CONTRATTOSEI.COD_FISCALE = C6Mart.GESTIONE_EMAIL.Cod_Fiscale +-- INNER JOIN C6Mart.ANAG_CLIENTI +-- ON C6Mart.ANAG_CLIENTI.Rete = C6Mart.GESTIONE_EMAIL.Rete +-- and C6Mart.ANAG_CLIENTI.COD_FISCALE = C6Mart.GESTIONE_EMAIL.Cod_Fiscale +-- WHERE Data_Comunicazione_Host is null +-- and C6Mart.GESTIONE_EMAIL.Data_Invio is not null +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_LAST_ELAB_ZIP.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_LAST_ELAB_ZIP.sql new file mode 100644 index 00000000..a7a44663 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_LAST_ELAB_ZIP.sql @@ -0,0 +1,8 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_LAST_ELAB_ZIP] +AS +BEGIN + SELECT IDElaborazioneZip, DataFine + FROM [C6MartPeriodico].ELABORAZIONI_ZIP + WHERE IDElaborazioneZip = (SELECT MAX(IDElaborazioneZip) + FROM [C6MartPeriodico].ELABORAZIONI_ZIP) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_LAST_ZIP.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_LAST_ZIP.sql new file mode 100644 index 00000000..14edd9fd --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_LAST_ZIP.sql @@ -0,0 +1,34 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- Inserimento nuovo [C6Mart].[GESTIONE_INSERT_ZIP] -1,'NomeFileOk','NomeFileOk' +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_LAST_ZIP] +AS +BEGIN + DECLARE @IdZip AS INT + SET @IdZip = -1 + DECLARE @NomeCartella AS VARCHAR(255) + Declare @NomeFile as varchar(50) + Declare @NumeroCFZip as int + --recupero idzip se Esiste insieme al NomeCartella + SELECT @IdZip=id,@NomeCartella=NomeCartella,@NomeFile =NomeFile + FROM + C6MartPeriodico.GESTIONE_ZIP_FTP + WHERE + FlagInvio = 'N' + AND DateCopyToSend IS NULL + -- Se la generazione file Zip è in fase di ripartenza ( FlagInvio = 'N' + -- AND DateCopyToSend IS NULL ) conto il Numero dei Clienti relativo ai report già copiati + -- nella cartella di appoggio(NomeCartella) + IF @IdZip > -1 Begin + select @NumeroCFZip=count( *) + from ( + select distinct rete,codicefiscale + from c6martperiodico.gestione_pdf_ftp + where id_fk_zip=@IdZip) a + end + --SELECT @IdZip IdZip, @NomeCartella NomeCartella,@NomeFile + select @IdZip IdZip,@NomeFile NomeFile,@NomeCartella NomeCartella,@NumeroCFZip NumeroCFZip +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql new file mode 100644 index 00000000..48ead67d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql @@ -0,0 +1,98 @@ +--[C6MartPeriodico].[GESTIONE_SELECT_LETTERE_DA_INVIARE]'F','CSCGPP34A03L050L',106,-1,'Monitoraggio' +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_LETTERE_DA_INVIARE] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' +AS +BEGIN + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() + --Modifica per la variazione di testo nella lettera di accompagnamento nel caso di diagnosi + IF @codiceLettera in (7,8) AND @tipoReport = 'DIAGNOSI' + SET @codiceLettera = @codiceLettera + 2 + --aggiunto controllo per clienti speciali in data 21/09/2020 + IF @rete+@cf in (select rete+codFis from [C6MartPeriodico].[GESTIONE_TESTO_PARTICOLARE_LETTERE_DA_INVIARE] where flagAttivo = 1) AND @tipoReport = 'DIAGNOSI' + begin + IF @rete = 'F' + begin + SET @codiceLettera = 110 + print @codiceLettera + end + IF @rete = 'S' + begin + SET @codiceLettera = 111 + print @codiceLettera + end + end + SELECT + c6martperiodico.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, +csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.prov end as provincia, + case when (upper(csei.nazione) <> 'ITALIA') then '' else csei.cap end as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + c6martperiodico.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_Monitor, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.Data_Sott, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) as testo, + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma, + 0 as pagina + FROM + [C6MartPeriodico].[TESTO_LETTERA_ACCETTAZIONE] tla, + [C6MartPeriodico].[CONTRATTOSEI] csei + INNER JOIN + [C6MartPeriodico].[ANAG_CLIENTI] aclie + on + csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + LEFT OUTER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP gpdf + on + gpdf.rete = csei.rete and + gpdf.codiceFiscale = csei.cod_fiscale + WHERE + csei.rete = @rete and + csei.cod_Fiscale = @cf and + tla.id = @codiceLettera and + (gpdf.idReport = @idReport or @idreport = -1) + AND isnull(csei.data_fineavanzato,'99991231') > c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getDate(),-1),0) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql new file mode 100644 index 00000000..cb3ba615 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql @@ -0,0 +1,98 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' +AS +BEGIN + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() + --Modifica per la variazione di testo nella lettera di accompagnamento nel caso di diagnosi + IF @codiceLettera in (7,8) AND @tipoReport = 'DIAGNOSI' + SET @codiceLettera = @codiceLettera + 2 + --aggiunto controllo per clienti speciali in data 21/09/2020 + IF @rete+@cf in (select rete+codFis from [C6MartPeriodico].[GESTIONE_TESTO_PARTICOLARE_LETTERE_DA_INVIARE] where flagAttivo = 1) AND @tipoReport = 'DIAGNOSI' + begin + IF @rete = 'F' + begin + SET @codiceLettera = 110 + print @codiceLettera + end + IF @rete = 'S' + begin + SET @codiceLettera = 111 + print @codiceLettera + end + end + SELECT + c6martperiodico.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, +csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.prov end as provincia, + case when (upper(csei.nazione) <> 'ITALIA') then '' else csei.cap end as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + c6martperiodico.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_Monitor, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.Data_Sott, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) as testo, + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma, + 0 as pagina + FROM + [C6MartPeriodico].[TESTO_LETTERA_ACCETTAZIONE_Rosaspina] tla, + [C6MartPeriodico].[CONTRATTOSEI] csei + INNER JOIN + [C6MartPeriodico].[ANAG_CLIENTI] aclie + on + csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + LEFT OUTER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP gpdf + on + gpdf.rete = csei.rete and + gpdf.codiceFiscale = csei.cod_fiscale + WHERE + csei.rete = @rete and + csei.cod_Fiscale = @cf and + tla.id = @codiceLettera and + (gpdf.idReport = @idReport or @idreport = -1) + -- AND isnull(csei.data_fineavanzato,'99991231') > c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getDate(),-1),0) + -- 22/12/2022 commentata la condizione di sopra che per me non ha senso di esistere in quanto in trim sono presenti solo clienti che devono avere il report +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_NUM_MAX_ELABORAZIONI_EMAIL_RNA.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_NUM_MAX_ELABORAZIONI_EMAIL_RNA.sql new file mode 100644 index 00000000..c50cc1eb --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_NUM_MAX_ELABORAZIONI_EMAIL_RNA.sql @@ -0,0 +1,11 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_NUM_MAX_ELABORAZIONI_EMAIL_RNA] +AS +BEGIN + SET NOCOUNT ON; + select CAST(dbo.getParametro('MaxInvioSoll_Periodico') AS INT) as numMaxSolleciti +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql new file mode 100644 index 00000000..564cf2bb --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql @@ -0,0 +1,20 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22/12/2008 +-- Description: Per gestione richieste di reinvio PDF da parte di utenti HD o US +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO] + @IdReport INT +AS +BEGIN + declare @ritorno as int + set @ritorno = 1 + select @ritorno = 0 + from C6MartPeriodico.GESTIONE_PDF_FTP A + inner join (select Rete, CodiceFiscale FROM C6MartPeriodico.GESTIONE_PDF_FTP WHERE IdReport = @IdReport) B + on A.Rete = B.Rete + and A.CodiceFiscale = B.CodiceFiscale + and TipoReport = 'LR' + and FlagInvio = 'N' + select @ritorno +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql new file mode 100644 index 00000000..af0b76be --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql @@ -0,0 +1,103 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + --set @dtrim = '20241231' + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6stagingPeriodico].[WSEIAN2] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6stagingPeriodico].[WSEIAN2] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT top(@volThreads) + Maledetti.[CodiceFiscale] +,Maledetti.[Rete] +,Maledetti.[tip_contratto] +,Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + and flag_stampa=1 + and tip_contratto<>3 + order by + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] + ,Maledetti.[tip_contratto] + --prendo quelli SEI +-- update t set flag_stampa=2 from c6martperiodico.TB_Campione t where cod_fiscale in (select CodiceFiscale from #result) + ----forzatura per Fideuram direct + --update #result + --set tip_contratto=3, idModelloMonitoraggio=6 + ----fine forzatura per fideuram direct +select * from #result +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA.sql new file mode 100644 index 00000000..d505a911 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA.sql @@ -0,0 +1,110 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + --set @dtrim = '20230331' + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' and dttrim = @dtrim + )X +SELECT top(@volThreads) + Maledetti.[CodiceFiscale] +,Maledetti.[Rete] +,Maledetti.[tip_contratto] +,Maledetti.[NomeRete] +,Maledetti.[Agente] +,Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente] +,Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente] +,Maledetti.[CittaAgente] +,Maledetti.[TelefonoAgente] +,Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione_DA Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + and flag_stampa=1 + and tip_contratto=3 +order by + Maledetti.[CodiceFiscale] +,Maledetti.[Rete] +,Maledetti.[tip_contratto] + --prendo quelli Fideuram Direct\ Direct Advisory +-- update t set flag_stampa=2 +-- from c6martperiodico.TB_Campione_DA t where cod_fiscale in (select CodiceFiscale from #result) + ----forzatura per Fideuram direct + ----update #result + ----set tip_contratto=3, idModelloMonitoraggio=6 + ----fine forzatura per fideuram direct + select * from #result +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_FA.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_FA.sql new file mode 100644 index 00000000..26720f9c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_FA.sql @@ -0,0 +1,97 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_FA] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + --set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + -- Ultimo ggiorno del mese scorso + set @dtrim = Convert(varchar(8), Dateadd(d, -1, CONVERT(varchar(6), getDate(), 112) + '01'), 112) + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione_DA Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + and flag_stampa=1 + and tip_contratto=3 --prendo quelli Fideuram Direct\ Direct Advisory + --update t set flag_stampa=2 +-- from c6martperiodico.TB_Campione_DA t where cod_fiscale in (select CodiceFiscale from #result) + ----forzatura per Fideuram direct + ----update #result + ----set tip_contratto=3, idModelloMonitoraggio=6 + ----fine forzatura per fideuram direct + select * from #result +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_Francesco.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_Francesco.sql new file mode 100644 index 00000000..a540c820 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_Francesco.sql @@ -0,0 +1,107 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_Francesco] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + --set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + set @dtrim = '20240229' + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione_DA Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + and flag_stampa=1 + and tip_contratto=3 --prendo quelli Fideuram Direct\ Direct Advisory + --update t set flag_stampa=2 + -- from c6martperiodico.TB_Campione_DA t where cod_fiscale in (select CodiceFiscale from #result) + ----forzatura per Fideuram direct + ----update #result + ----set tip_contratto=3, idModelloMonitoraggio=6 + ----fine forzatura per fideuram direct + select * from #result +END +--select top 1000 * from wh.Maledetti +--where 1 = 1 +--and i_CodiceFiscale in ( +--'DLLNTN75E26C034V' +--,'GLSHBR78H05D530H' +--,'LCNGNZ82P14H163B' +--,'MRLSLV83E60D912U' +--,'MTUGNN75R08L109R' +--,'PNTMRZ72P13F152Q' +--,'VGNMRA68C64F205S' +--) +----where idReportMonitoraggio is null \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_GB.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_GB.sql new file mode 100644 index 00000000..e24df50d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_GB.sql @@ -0,0 +1,84 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_GB] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) = c6martperiodico.gettrimestre(getDate(),0); + --set @dtrim = '20230331' + WITH WSEIAN_1 as + ( select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6StagingPeriodico].[WSEIAN2] WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6StagingPeriodico].[WSEIAN2] WHERE codman <> '' and dttrim = @dtrim + ) + SELECT TOP (@volThreads) + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] + ,Maledetti.[tip_contratto] + ,Maledetti.[NomeRete] + ,Maledetti.[Agente] + ,Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente] + ,Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente] + ,Maledetti.[CittaAgente] + ,Maledetti.[TelefonoAgente] + ,Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFMonitoraggio + ,CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp' + ,CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde' + ,CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg' + ,CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + ,scaduto + FROM wh.Maledetti Maledetti + inner join c6martperiodico.TB_Campione_GB Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + left outer join WSEIAN_1 wse on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE 1=1 + and flag_stampa=1 + and tip_contratto=3 + ORDER BY + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] + ,Maledetti.[tip_contratto]; +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FA.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FA.sql new file mode 100644 index 00000000..47bed319 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FA.sql @@ -0,0 +1,100 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FA] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + --set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + --set @dtrim = '20231130' --simulazione + -- Ultimo ggiorno del mese scorso + set @dtrim = '20250228' --Convert(varchar(8), Dateadd(d, -1, CONVERT(varchar(6), getDate(), 112) + '01'), 112) + --select @dtrim + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + --and flag_stampa=1 + --and tip_contratto<>3 --prendo quelli SEI + and Maledetti.[CodiceFiscale] in ('PVNMRA43R67C814I', 'BRBCRL73B65E256C') + --update t set flag_stampa=2 +-- from c6martperiodico.TB_Campione t where cod_fiscale in (select CodiceFiscale from #result) + ----forzatura per Fideuram direct + --update #result + --set tip_contratto=3, idModelloMonitoraggio=6 + ----fine forzatura per fideuram direct +select * from #result +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FORCE.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FORCE.sql new file mode 100644 index 00000000..42ef63fa --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FORCE.sql @@ -0,0 +1,99 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FORCE] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + --> ricommentare + -- set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + --set @dtrim = '20230331' + set @dtrim = '20240831' --> decommentare + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6martPeriodico].[WSEIAN2] + WHERE codman = '' --and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6martPeriodico].[WSEIAN2] + WHERE codman <> '' --and dttrim = @dtrim + )X + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti + -- left outer join #WSEIAN_1 wse + inner join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + and flag_stampa=1 + and tip_contratto<>3 --prendo quelli SEI + update t set flag_stampa=2 + from c6martperiodico.TB_Campione t where cod_fiscale in (select CodiceFiscale from #result) + ----forzatura per Fideuram direct + --update #result + --set tip_contratto=3, idModelloMonitoraggio=6 + ----fine forzatura per fideuram direct +select * from #result +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FOR_STATISTICS.obs.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FOR_STATISTICS.obs.sql new file mode 100644 index 00000000..b092c79d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FOR_STATISTICS.obs.sql @@ -0,0 +1,81 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FOR_STATISTICS] +(@VolThreads int = 100000) +AS +BEGIN + SET NOCOUNT ON; + declare @dataTrimestre as datetime + declare @dataTrimestrePRec as datetime +SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0), +@dataTrimestrePRec=c6martperiodico.getPreviousTrimestre(getDate(),0) + SELECT DISTINCT + contratti.Cod_Fiscale CodiceFiscale + FROM [C6MartPeriodico].contrattoSEI contratti + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF +--left join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --modificata da Valerio 12 marzo 2012 + --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6martperiodico.monitoraggio_attuale monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + left join c6martperiodico.monitoraggio_iniziale monitInit + on patrimonioBF.rete = monitInit.rete + and patrimonioBF.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport + on patrimonioBF.rete = monitReport.rete + and patrimonioBF.cod_fiscale = monitReport.cod_fiscale + inner join c6martperiodico.TB_Campione Campione + on contratti.rete= Campione.rete and contratti.cod_fiscale= Campione.cod_fiscale + and flag_stampa=1 + WHERE 1=1 +-- DA ELIMINARE .... IL CAMPIONE DEVE ESSERE INSERITO E GESTITO NELLA TABELLA c6martperiodico.TB_CAMPIONE + --and contratti.rete+contratti.cod_fiscale in + --( + --select rete+cod_fiscale from c6martperiodico.TB_CAMPIONE + --) +--and contratti.rete+contratti.cod_fiscale in +--( +--'FGSPLSN31B26E648J', +--'FVSNPTR31L14B402B', +--'FBRGFBA61P09B639N' +--) +--insert into c6martperiodico.TB_Campione +--values ('F','RZUGTN30M07C351I',1) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Francesco.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Francesco.sql new file mode 100644 index 00000000..953658e0 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Francesco.sql @@ -0,0 +1,99 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Francesco] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + --set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + --set @dtrim = '20231130' --simulazione + set @dtrim = '20240630' + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + --inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + --and flag_stampa=1 + --and CodiceFiscale = 'SVNPTR37B21D725U' + and CodiceFiscale = 'GLTFNC52R23B832X' + --and tip_contratto<>3 --prendo quelli SEI + --update t set flag_stampa=2 +-- from c6martperiodico.TB_Campione t where cod_fiscale in (select CodiceFiscale from #result) + ----forzatura per Fideuram direct + --update #result + --set tip_contratto=3, idModelloMonitoraggio=6 + ----fine forzatura per fideuram direct +select * from #result +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_PK.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_PK.sql new file mode 100644 index 00000000..ed652b8b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_PK.sql @@ -0,0 +1,88 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_PK] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + --and rank=1 + --and flag_stampa=1 + and Maledetti.[CodiceFiscale] = 'MSATTL51L23E648U' +select * from #result +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Pino.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Pino.sql new file mode 100644 index 00000000..e3372e63 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Pino.sql @@ -0,0 +1,89 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Pino] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + set @dtrim = c6martperiodico.gettrimestre(getDate(),0)-201 + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + and flag_stampa=1 + update t set flag_stampa=2 + from c6martperiodico.TB_Campione t where cod_fiscale in (select CodiceFiscale from #result) +select * from #result +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_NonOptimized.obs.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_NonOptimized.obs.sql new file mode 100644 index 00000000..e8db667f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_NonOptimized.obs.sql @@ -0,0 +1,232 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_NonOptimized] --10 +(@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + declare @dataTrimestre as datetime + declare @dataTrimestrePRec as datetime +SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0), +@dataTrimestrePRec=c6martperiodico.getPreviousTrimestre(getDate(),0) + Select distinct top (@volThreads) contratti.Cod_Fiscale + into #ct + FROM [C6MartPeriodico].contrattoSEI contratti + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF +--left join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --modificata da Valerio 12 marzo 2012 + --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6martperiodico.monitoraggio_attuale monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + left join c6martperiodico.monitoraggio_iniziale monitInit + on patrimonioBF.rete = monitInit.rete + and patrimonioBF.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport + on patrimonioBF.rete = monitReport.rete + and patrimonioBF.cod_fiscale = monitReport.cod_fiscale + inner join c6martperiodico.TB_Campione Campione + on contratti.rete= Campione.rete and contratti.cod_fiscale= Campione.cod_fiscale + and flag_stampa=1 + SELECT DISTINCT + --DATI COMUNI + --RETE + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,CASE WHEN count(monit.id_area) OVER (PARTITION BY monit.rete,monit.cod_fiscale) = 0 + or isnull(monitInit.data_foto,getDate()) >= @dataTrimestrePRec + or monitReport.cod_fiscale is null + THEN 1 + ELSE 0 + END AS NoMonitoraggio + ,'Diagnosi' as descrizioneDiagnosi +--INIZIO +-- PER FORZARE LA STAMPA DEL REPORT DI DIAGNOSI A PRESCINDERE DAL TIPO DI CONTRATTO +-- E DAL VALORE PRESENTE NEL FLAG DI FREQUENZA DIAGNOSI, E' NECESSARIO +-- ASTERISCARE LE RIGHE SEGUENTI: + ,CASE + WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 5 + ELSE -1 + END AS idModelloDiagnosi + ,CASE + WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 1 + ELSE -1 + END AS idReportDiagnosi +-- E DISASTERISCARE LE RIGHE SEGUENTI: + --,5 as idModelloDiagnosi + --,1 as idReportDiagnosi +--FINE + ,'Monitoraggio' as descrizioneMonitoraggio + ,4 as idReportMonitoraggio--4 +-- ,13 as idModelloMonitoraggio + ,CASE isnull(tip_contratto,0) + WHEN 0 THEN 12--12 + WHEN 1 THEN 12--12 + WHEN 2 THEN 13--13 + END AS idModelloMonitoraggio + --************************************************* + ,0 AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFMonitoraggio + FROM [C6MartPeriodico].contrattoSEI contratti + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF +--left join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --modificata da Valerio 12 marzo 2012 + --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6martperiodico.monitoraggio_attuale monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + left join c6martperiodico.monitoraggio_iniziale monitInit + on patrimonioBF.rete = monitInit.rete + and patrimonioBF.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport + on patrimonioBF.rete = monitReport.rete + and patrimonioBF.cod_fiscale = monitReport.cod_fiscale + inner join c6martperiodico.TB_Campione Campione + on contratti.rete= Campione.rete and contratti.cod_fiscale= Campione.cod_fiscale + and flag_stampa=1 + WHERE 1=1 and contratti.Cod_Fiscale in + (select Cod_Fiscale from #ct) + update t set flag_stampa=2 + from c6martperiodico.TB_Campione t where cod_fiscale in (select Cod_Fiscale from #ct) +-- DA ELIMINARE .... IL CAMPIONE DEVE ESSERE INSERITO E GESTITO NELLA TABELLA c6martperiodico.TB_CAMPIONE + --and contratti.rete+contratti.cod_fiscale in + --( + --select rete+cod_fiscale from c6martperiodico.TB_CAMPIONE + --) +--and contratti.rete+contratti.cod_fiscale in +--( +--'FGSPLSN31B26E648J', +--'FVSNPTR31L14B402B', +--'FBRGFBA61P09B639N' +--) +--insert into c6martperiodico.TB_Campione +--values ('F','RZUGTN30M07C351I',1) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_ONDEMAND_OPT_EN.obs.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_ONDEMAND_OPT_EN.obs.sql new file mode 100644 index 00000000..db85a7b8 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_ONDEMAND_OPT_EN.obs.sql @@ -0,0 +1,61 @@ +CREATE PROCEDURE [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_ONDEMAND_OPT_EN] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio + into #result + FROM wh.Maledetti Maledetti + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale +---- inner join c6martperiodico.TB_Campione_ONDEMAND Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale +---- and flag_stampa=1 + WHERE 1=1 +and codiceFiscale in ( +'LCRTMS53A29A271R' +) +---- +---- update t set flag_stampa=2 +---- from c6martperiodico.TB_Campione_ONDEMAND t where cod_fiscale in (select CodiceFiscale from #result) +---- +select * from #result +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_SEI_GB.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_SEI_GB.sql new file mode 100644 index 00000000..c4b87c5c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_SEI_GB.sql @@ -0,0 +1,86 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_SEI_GB] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) = c6martperiodico.gettrimestre(getDate(),0); + WITH WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman <> '' and dttrim = @dtrim + ) + SELECT TOP (@volThreads) + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] + ,Maledetti.[tip_contratto] + ,Maledetti.[NomeRete] + ,Maledetti.[Agente] + ,Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente] + ,Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente] + ,Maledetti.[CittaAgente] + ,Maledetti.[TelefonoAgente] + ,Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFMonitoraggio + ,CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' + THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp' + ,CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde' + ,CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg' + ,CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + ,scaduto + FROM + wh.Maledetti Maledetti + inner join c6martperiodico.TB_Campione_GB Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + left outer join WSEIAN_1 wse on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE 1=1 + and flag_stampa=1 + and tip_contratto<>3 + ORDER BY + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] + ,Maledetti.[tip_contratto]; +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_luca.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_luca.sql new file mode 100644 index 00000000..43cdc7d8 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_luca.sql @@ -0,0 +1,89 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_luca] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + set @dtrim = '20201231' + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + and flag_stampa=1 + update t set flag_stampa=2 + from c6martperiodico.TB_Campione t where cod_fiscale in (select CodiceFiscale from #result) +select * from #result +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano.sql new file mode 100644 index 00000000..d0c1fc76 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano.sql @@ -0,0 +1,88 @@ +--[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano] 10 +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + --set @dtrim = '20180630' + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE 1=1 + and rank=1 + and codiceFiscale in ( +'TMPFDN42P05B648Q' + ) +select * from #result +END +--exec [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano] 1000 \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano_PROVAPROF.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano_PROVAPROF.sql new file mode 100644 index 00000000..83adf101 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano_PROVAPROF.sql @@ -0,0 +1,89 @@ +--[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano] 10 +create procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano_PROVAPROF] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + --set @dtrim = select c6martperiodico.gettrimestre(getDate(),0) + set @dtrim = '20180531' + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +--,Maledetti.[idModelloDiagnosi] +,5 as idModelloDiagnosi +--,Maledetti.[idReportDiagnosi] +,1 as idReportDiagnosi +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + --CASE + -- WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + -- ELSE wse.FLGPROF + --END as 'FLGPROF' + 'S' as FLGPROF + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE 1=1 +and codiceFiscale in ( +'BDCGNN45T31H223V' +) +select * from #result +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_EN.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_EN.sql new file mode 100644 index 00000000..263e44d8 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_EN.sql @@ -0,0 +1,98 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_EN] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE 1=1 + and rank=1 + and codiceFiscale in ( +'BZZDNL44P18G927I', --con /rend + --'FRRFBA63P19D704L' -- sostituisce TC TMSRRT59R13L967T +'TRNLRT63C18L826X', -- on page 16 black spot isn’t aligned on chart of chapter “Piani d'Accumulo” +--'TTVNNA39S64H935H', +'STTLNZ56R58L781G' --nota sovrascrive linea rosso, perchè spazio sotto tabella non disponibile +--------'02477630582' --suore problema con sezione Dettaglio Prodotti +--, --suore: mancano progetti delle are Inv e Ris +--'GRSRRT58A28E379O', --- PL_S85RendimentoPortafoglioCono Ris Default orizzonte_mesi=0 +--'GSNMDL32E57I470S', --- PL_S85RendimentoPortafoglioCono Ris Default orizzonte_mesi=0, ma non monitorato +--'TMSRRT59R13L967T', --per nota spazio disponibile sotto tabella +--'CSLLFA49H25F004M', +--'MTTGLG26T01F205L' +--'MRTVNT41H17C740W', +--'DNDGNN63S43A246B' + ) +select * from #result +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca.sql new file mode 100644 index 00000000..64cab292 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca.sql @@ -0,0 +1,105 @@ +-- [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca] 10 +CREATE PROCEDURE [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca] +@volThreads int = 10000 +WITH EXEC AS CALLER +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + --set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + set @dtrim = '20200630' + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +--,5 as [idModelloDiagnosi] +--,1 as [idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE 1=1 + and rank=1 + --and codiceFiscale = '02477630582'-- 'BTTMRS67A69F839N'-- + --and codiceFiscale = '80002590711' -- HA 4+4 CON PROTEZIONE ED E' SEI PRIVATE + --and codiceFiscale in ('BBNLSN51E27D612T') --HA INTERFUND CON PROTEZIONE ED E' SEI + --and codiceFiscale in ('BCCFNC79H62F205H') --HA FONDITALIA CON PROTEZIONE ED E' SEI + --and codiceFiscale in ('CHTDRA58S17D969J') --HA 4+4 CON PROTEZIONE ED E' SEI PRIVATE + --and codiceFiscale in ('MRNNMR31D50D969T') --HA 4+4 CON PROTEZIONE ED E' SEI PRIVATE + --and codiceFiscale in ('TZZMGB41H57F241X') --HA 4+4 CON PROTEZIONE ED E' SEI + --and codiceFiscale in ('BCCRRT43T09H449J') -- HA INTERFUND E FONDITALIA + --and codiceFiscale in ('STTLNZ56R58L781G') --NON HA PRODOTTI CON PROTEZIONE + --and codiceFiscale in ('CRLSRG45M29A271V') --NON HA PRODOTTI CON PROTEZIONE + --and codiceFiscale in ('80060810589') --NON HA PRODOTTI CON PROTEZIONE + --and codiceFiscale in ('SRRGMR39P04Z315W') --NON HA PRODOTTI CON PROTEZIONE + and codiceFiscale in ( +--'PSSPND83R64Z604J', +--'PSSPTR59R30L400E', +'CRLFNC41S11A561R' + ) +select * from #result +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO.sql new file mode 100644 index 00000000..7c5558e7 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO.sql @@ -0,0 +1,126 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO] (@volThreads int=99999) +AS +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_01.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_01.sql new file mode 100644 index 00000000..9881d9d3 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_01.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_01] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int = 1 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_02.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_02.sql new file mode 100644 index 00000000..7184044b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_02.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_02] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int = 2 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_03.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_03.sql new file mode 100644 index 00000000..9554e2c5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_03.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_03] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int = 3 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_04.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_04.sql new file mode 100644 index 00000000..ab0c0097 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_04.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_04] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int = 4 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_05.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_05.sql new file mode 100644 index 00000000..1910531d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_05.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_05] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int = 5 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_06.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_06.sql new file mode 100644 index 00000000..534c5c47 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_06.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_06] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int = 6 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_07.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_07.sql new file mode 100644 index 00000000..9c882e0d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_07.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_07] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int = 7 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_08.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_08.sql new file mode 100644 index 00000000..06070082 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_08.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_08] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int = 8 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_09.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_09.sql new file mode 100644 index 00000000..785e0487 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_09.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_09] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int = 9 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_1.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_1.sql new file mode 100644 index 00000000..1e07ede4 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_1.sql @@ -0,0 +1,139 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_1] (@volThreads int=99999) +AS +Declare @ID_PARALLEL int = 1 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_10.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_10.sql new file mode 100644 index 00000000..3f29ee53 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_10.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_10] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =10 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_11.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_11.sql new file mode 100644 index 00000000..b13514af --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_11.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_11] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =11 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_12.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_12.sql new file mode 100644 index 00000000..ad17feef --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_12.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_12] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =12 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_13.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_13.sql new file mode 100644 index 00000000..2c8a25ad --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_13.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_13] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =13 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_14.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_14.sql new file mode 100644 index 00000000..7ddb02a0 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_14.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_14] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =14 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_15.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_15.sql new file mode 100644 index 00000000..7ea96356 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_15.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_15] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =15 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_16.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_16.sql new file mode 100644 index 00000000..54b020a3 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_16.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_16] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =16 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_17.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_17.sql new file mode 100644 index 00000000..3203bb80 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_17.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_17] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =17 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_18.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_18.sql new file mode 100644 index 00000000..c3a3d8ad --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_18.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_18] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =18 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_19.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_19.sql new file mode 100644 index 00000000..c12f917a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_19.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_19] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =19 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_2.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_2.sql new file mode 100644 index 00000000..e8ae34ac --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_2.sql @@ -0,0 +1,140 @@ +CREATE +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_2] (@volThreads int=99999) +AS +Declare @ID_PARALLEL int = 2 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_20.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_20.sql new file mode 100644 index 00000000..6a14cf24 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_20.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_20] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =20 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_21.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_21.sql new file mode 100644 index 00000000..5ce14a33 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_21.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_21] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =21 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_22.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_22.sql new file mode 100644 index 00000000..601fda8d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_22.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_22] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =22 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_23.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_23.sql new file mode 100644 index 00000000..180e21c0 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_23.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_23] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =23 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_24.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_24.sql new file mode 100644 index 00000000..b65b363a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_24.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_24] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =24 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_25.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_25.sql new file mode 100644 index 00000000..7ccbb053 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_25.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_25] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =25 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_DA.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_DA.sql new file mode 100644 index 00000000..661a9c8a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_DA.sql @@ -0,0 +1,124 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_DA] (@volThreads int=99999) +AS +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab and scaduto = 0 and tip_contratto=3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti.sql new file mode 100644 index 00000000..c0653fab --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti.sql @@ -0,0 +1,212 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti] +(@volThreads int) +AS +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +declare @dataTrimestre as datetime +SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) +----EN20170712: begin +-- ;with WSEIAN_1 as +-- ( +-- select codfis, rete, flagnqp, flgprlrde, FLAGPG, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank +-- from [C6StagingPeriodico].[WSEIAN] +-- WHERE codman = '' +-- UNION ALL +-- select 'FF@'+ codman as codfis, rete, 'N' as flagnqp, null as flgprlrde, null asFLAGPG, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank +-- from [C6StagingPeriodico].[WSEIAN] +-- WHERE codman <> '' +-- ) +----EN20170712: end +--EN20171024: begin + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) +--EN20171024: end +SELECT DISTINCT TOP(@volThreads) + --DATI COMUNI + --RETE + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --*********************************************************************************************** + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + --***************************************************************************************************** + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,0 AS NoMonitoraggio + ,'Diagnosi' as descrizioneDiagnosi + ,-1 idModelloDiagnosi + ,-1 AS idReportDiagnosi + ,'Monitoraggio' as descrizioneMonitoraggio + ,4 as idReportMonitoraggio + ,14 AS idModelloMonitoraggio + --************************************************* + ,0 AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFMonitoraggio +--EN20170712: begin + ,CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp' + --wse.flgprlrde as 'flagprlrde', + ,CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde' + ,CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg' +--EN20170712: end +--EN20171024: begin + ,CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' , +--EN20171024: end +SCADUTO + INTO #Maledetti + FROM [C6MartPeriodico].contrattoSEI contratti + --C6MartPeriodico.vcontrattipergenerazionereport contratti +--EN20170716: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = contratti.Cod_Fiscale and wse.rete = contratti.rete +--EN20170716: end + INNER JOIN (SELECT COD_FISCALE,RETE FROM [C6MartPeriodico].vPatrimoniobfAggregato + WHERE ( CTV + PatrimonioNonAssociato + ContoCorrente + PatrimonioSenzaCC) = 0 + and PartiteViaggiantiDisinv > 0 + UNION + SELECT PV1.COD_FISCALE,PV1.RETE FROM C6MartPeriodico.PARTITE_VIAGGIANTI PV1 + LEFT JOIN [C6MartPeriodico].vPatrimoniobfAggregato BFA + ON BFA.COD_FISCALE = PV1.COD_FISCALE AND BFA.RETE = PV1.RETE + WHERE BFA.COD_FISCALE IS NULL) PV + ON contratti.COD_FISCALE = PV.COD_FISCALE AND contratti.RETE = PV.RETE + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + --inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + LEFT join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + left join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6martperiodico.monitoraggio_attuale monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + left join c6martperiodico.monitoraggio_iniziale monitInit + on patrimonioBF.rete = monitInit.rete + and patrimonioBF.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport + on patrimonioBF.rete = monitReport.rete + and patrimonioBF.cod_fiscale = monitReport.cod_fiscale + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI CRUS + on contratti.rete = CRUS.rete + and contratti.cod_fiscale = CRUS.codicefiscale + WHERE 1=1 + and CRUS.elab in (0,1,2) + and mifid.scaduto = 0 + and contratti.cod_fiscale+contratti.rete not in(SELECT codicefiscale+rete FROM [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR]) + and contratti.cod_fiscale+contratti.rete not in(SELECT codicefiscale+rete FROM C6MartPeriodico.tb_SegnalazioniDataQuality) +update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +set +dtstamp = getdate() +,elab = 3 +,tipoCliente = m.TIP_CONTRATTO +,isDiagnosi = m.IDMODELLODIAGNOSI +from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cru +inner join #Maledetti m + on cru.codicefiscale = m.codicefiscale + and cru.rete = m.rete +where elab in (0,1,2) +select * from #Maledetti +END +COMMIT TRANSACTION \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_CAMPIONE.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_CAMPIONE.sql new file mode 100644 index 00000000..6b91da69 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_CAMPIONE.sql @@ -0,0 +1,202 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_CAMPIONE] +(@volThreads int = 10000) +AS +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +declare @dataTrimestre as datetime +SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) +----EN20170712: begin +-- ;with WSEIAN_1 as +-- ( +-- select codfis, rete, flagnqp, flgprlrde, FLAGPG, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank +-- from [C6StagingPeriodico].[WSEIAN] +-- WHERE codman = '' +-- UNION ALL +-- select 'FF@'+ codman as codfis, rete, 'N' as flagnqp, null as flgprlrde, null asFLAGPG, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank +-- from [C6StagingPeriodico].[WSEIAN] +-- WHERE codman <> '' +-- ) +----EN20170712: end +--EN20171024: begin + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) +--EN20171024: end +SELECT DISTINCT TOP(@volThreads) + --DATI COMUNI + --RETE + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --*********************************************************************************************** + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + --***************************************************************************************************** + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,0 AS NoMonitoraggio + ,'Diagnosi' as descrizioneDiagnosi + ,-1 idModelloDiagnosi + ,-1 AS idReportDiagnosi + ,'Monitoraggio' as descrizioneMonitoraggio + ,4 as idReportMonitoraggio + ,14 AS idModelloMonitoraggio + --************************************************* + ,0 AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFMonitoraggio +--EN20170712: begin + ,CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp' + --wse.flgprlrde as 'flagprlrde', + ,CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde' + ,CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg' +--EN20170712: end +--EN20171024: begin + ,CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' +--EN20171024: end + INTO #Maledetti + FROM [C6MartPeriodico].contrattoSEI contratti + --C6MartPeriodico.vcontrattipergenerazionereport contratti +--EN20170716: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = contratti.Cod_Fiscale and wse.rete = contratti.rete +--EN20170716: end + INNER JOIN (SELECT COD_FISCALE,RETE FROM [C6MartPeriodico].vPatrimoniobfAggregato + WHERE ( CTV + PatrimonioNonAssociato + ContoCorrente + PatrimonioSenzaCC) = 0 + and PartiteViaggiantiDisinv > 0 + UNION + SELECT PV1.COD_FISCALE,PV1.RETE FROM C6MartPeriodico.PARTITE_VIAGGIANTI PV1 + LEFT JOIN [C6MartPeriodico].vPatrimoniobfAggregato BFA + ON BFA.COD_FISCALE = PV1.COD_FISCALE AND BFA.RETE = PV1.RETE + WHERE BFA.COD_FISCALE IS NULL) PV + ON contratti.COD_FISCALE = PV.COD_FISCALE AND contratti.RETE = PV.RETE + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + --inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + LEFT join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + left join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6martperiodico.monitoraggio_attuale monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + left join c6martperiodico.monitoraggio_iniziale monitInit + on patrimonioBF.rete = monitInit.rete + and patrimonioBF.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport + on patrimonioBF.rete = monitReport.rete + and patrimonioBF.cod_fiscale = monitReport.cod_fiscale + inner join c6martperiodico.TB_Campione CRUS + on contratti.rete = CRUS.rete + and contratti.cod_fiscale = CRUS.cod_fiscale + WHERE 1=1 + -- and CRUS.elab in (0,1,2) + and mifid.scaduto = 0 + and contratti.cod_fiscale+contratti.rete not in(SELECT codicefiscale+rete FROM [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR]) + and contratti.cod_fiscale+contratti.rete not in(SELECT codicefiscale+rete FROM C6MartPeriodico.tb_SegnalazioniDataQuality) + update t set flag_stampa=2 + from c6martperiodico.TB_Campione t where cod_fiscale in (select CodiceFiscale from #Maledetti) +select * from #Maledetti +END +COMMIT TRANSACTION \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano.sql new file mode 100644 index 00000000..38d248d2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano.sql @@ -0,0 +1,202 @@ +-- exec [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano] 10 +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano] +(@volThreads int) +AS +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +declare @dataTrimestre as datetime +SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) +----EN20170712: begin +-- ;with WSEIAN_1 as +-- ( +-- select codfis, rete, flagnqp, flgprlrde, FLAGPG, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank +-- from [C6StagingPeriodico].[WSEIAN] +-- WHERE codman = '' +-- UNION ALL +-- select 'FF@'+ codman as codfis, rete, 'N' as flagnqp, null as flgprlrde, null asFLAGPG, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank +-- from [C6StagingPeriodico].[WSEIAN] +-- WHERE codman <> '' +-- ) +----EN20170712: end +--EN20171024: begin + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman <> '' + ) +--EN20171024: end +SELECT DISTINCT TOP(@volThreads) + --DATI COMUNI + --RETE + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --*********************************************************************************************** + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + --***************************************************************************************************** + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,0 AS NoMonitoraggio + ,'Diagnosi' as descrizioneDiagnosi + ,-1 idModelloDiagnosi + ,-1 AS idReportDiagnosi + ,'Monitoraggio' as descrizioneMonitoraggio + ,4 as idReportMonitoraggio + ,14 AS idModelloMonitoraggio + --************************************************* + ,0 AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFMonitoraggio +--EN20170712: begin + ,CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp' + --wse.flgprlrde as 'flagprlrde', + ,CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde' + ,CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg' +--EN20170712: end +--EN20171024: begin + ,CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' +--EN20171024: end + INTO #Maledetti + FROM [C6MartPeriodico].contrattoSEI contratti + --C6MartPeriodico.vcontrattipergenerazionereport contratti +--EN20170716: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = contratti.Cod_Fiscale and wse.rete = contratti.rete +--EN20170716: end + INNER JOIN (SELECT COD_FISCALE,RETE FROM [C6MartPeriodico].vPatrimoniobfAggregato + WHERE ( CTV + PatrimonioNonAssociato + ContoCorrente + PatrimonioSenzaCC) = 0 + and PartiteViaggiantiDisinv > 0 + UNION + SELECT PV1.COD_FISCALE,PV1.RETE FROM C6MartPeriodico.PARTITE_VIAGGIANTI PV1 + LEFT JOIN [C6MartPeriodico].vPatrimoniobfAggregato BFA + ON BFA.COD_FISCALE = PV1.COD_FISCALE AND BFA.RETE = PV1.RETE + WHERE BFA.COD_FISCALE IS NULL) PV + ON contratti.COD_FISCALE = PV.COD_FISCALE AND contratti.RETE = PV.RETE + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + --inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + LEFT join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + left join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6martperiodico.monitoraggio_attuale monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + left join c6martperiodico.monitoraggio_iniziale monitInit + on patrimonioBF.rete = monitInit.rete + and patrimonioBF.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport + on patrimonioBF.rete = monitReport.rete + and patrimonioBF.cod_fiscale = monitReport.cod_fiscale + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI CRUS + on contratti.rete = CRUS.rete + and contratti.cod_fiscale = CRUS.codicefiscale + WHERE 1=1 + --and CRUS.elab in (0,1,2) + and mifid.scaduto = 0 + and contratti.cod_fiscale+contratti.rete not in(SELECT codicefiscale+rete FROM [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR]) + and contratti.cod_fiscale+contratti.rete not in(SELECT codicefiscale+rete FROM C6MartPeriodico.tb_SegnalazioniDataQuality) + and contratti.cod_fiscale in ('VNCLNI44T60G388L') +select * from #Maledetti +END +COMMIT TRANSACTION \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE.sql new file mode 100644 index 00000000..0255ad73 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE.sql @@ -0,0 +1,55 @@ +--[C6MartPeriodico].[GESTIONE_SELECT_REPORTS_ERRATACORRIGE] +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_REPORTS_ERRATACORRIGE] +as +begin + select + b.Rete, + b.CodiceFiscale, + b.IdReport, + b.TipoReport, + b.DataGenerazione, + b.DataInvio, + b.DataInvioRistampa, + b.FlagInvio, + b.NomeFile, + b.numeroPagine, + b.ID_ELAB, + b.id_Fk_zip, + b.Definitivo, + b.CodiceContratto, + b.identityReport, + convert(varchar(10), IdReport) + '_' + NomeFile + '.pdf' as nomeFileReportGenerato + from [C6MartPeriodico].[clienti_brochure] a + inner join C6MartPeriodico.Gestione_PDF_FTP b + on a.rete = b.rete + and a.cod_fiscale = b.codicefiscale + -- TEST + --create table #clienti_brochure ( + --[rete] [char](1), + --[cod_fiscale] [varchar](16)) + --insert into #clienti_brochure + --select 'F', '85005130159' union + --select 'S', '03844111009' + --select + -- b.Rete, + -- b.CodiceFiscale, + -- b.IdReport, + -- b.TipoReport, + -- b.DataGenerazione, + -- b.DataInvio, + -- b.DataInvioRistampa, + -- b.FlagInvio, + -- b.NomeFile, + -- b.numeroPagine, + -- b.ID_ELAB, + -- b.id_Fk_zip, + -- b.Definitivo, + -- b.CodiceContratto, + -- b.identityReport, + -- convert(varchar(10), IdReport) + '_' + NomeFile + '.pdf' as nomeFileReportGenerato + ----from [C6MartPeriodico].[clienti_brochure] a + --from #clienti_brochure a + -- inner join C6MartPeriodico.Gestione_PDF_FTP b + -- on a.rete = b.rete + -- and a.cod_fiscale = b.codicefiscale +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE_test.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE_test.sql new file mode 100644 index 00000000..d7b09913 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE_test.sql @@ -0,0 +1,56 @@ +--[C6MartPeriodico].[GESTIONE_SELECT_REPORTS_ERRATACORRIGE] +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_REPORTS_ERRATACORRIGE_test] +as +begin + select + b.Rete, + b.CodiceFiscale, + b.IdReport, + b.TipoReport, + b.DataGenerazione, + b.DataInvio, + b.DataInvioRistampa, + b.FlagInvio, + b.NomeFile, + b.numeroPagine, + b.ID_ELAB, + b.id_Fk_zip, + b.Definitivo, + b.CodiceContratto, + b.identityReport, + convert(varchar(10), IdReport) + '_' + NomeFile + '.pdf' as nomeFileReportGenerato + from [C6MartPeriodico].[clienti_brochure] a + inner join C6MartPeriodico.Gestione_PDF_FTP b + on a.rete = b.rete + and a.cod_fiscale = b.codicefiscale + where b.identityreport = 91 + -- TEST + --create table #clienti_brochure ( + --[rete] [char](1), + --[cod_fiscale] [varchar](16)) + --insert into #clienti_brochure + --select 'F', '85005130159' union + --select 'S', '03844111009' + --select + -- b.Rete, + -- b.CodiceFiscale, + -- b.IdReport, + -- b.TipoReport, + -- b.DataGenerazione, + -- b.DataInvio, + -- b.DataInvioRistampa, + -- b.FlagInvio, + -- b.NomeFile, + -- b.numeroPagine, + -- b.ID_ELAB, + -- b.id_Fk_zip, + -- b.Definitivo, + -- b.CodiceContratto, + -- b.identityReport, + -- convert(varchar(10), IdReport) + '_' + NomeFile + '.pdf' as nomeFileReportGenerato + ----from [C6MartPeriodico].[clienti_brochure] a + --from #clienti_brochure a + -- inner join C6MartPeriodico.Gestione_PDF_FTP b + -- on a.rete = b.rete + -- and a.cod_fiscale = b.codicefiscale +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV.sql new file mode 100644 index 00000000..f8b48d20 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV.sql @@ -0,0 +1,64 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[GESTIONE_SELECT_S80_EVOLUZIONE_CTV] '31/12/2015' +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_EVOLUZIONE_CTV] + @datafase varchar(10) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + a.rete, + a.cod_fiscale, + @datafase as DataFase, + EXTRARENDIMENTO, + INVESTIMENTO, + PREVIDENZA, + RISERVA, + LIQUIDITA, + RisorseNonAllocate, + contocorrente, + PARTVIA_DISINV + isnull(b.importo,0) AS Partita_viaggiante, + --sum(case Upper(a.id_area) when 'CC' then 0 else a.ctv end ) as risorseFinanziarie, + a.CTV + isnull(b.importo,0)+ PARTVIA_DISINV AS Totale, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 ELSE ROUND(RA.VAR_PERC_PTF,2) END AS VarComplessivo, + isnull(RA.COPERTURA,0) AS Copertura, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + -- TRINGALI MODIFICARE + ra.creditrisk as RISKCLASS, + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' else null end as RiskClassString, + case when mifid.riskclass is null then 'n.a.' else null end as RiskClassMaxString +FROM + (SELECT + rete, + cod_fiscale, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) AS EXTRARENDIMENTO, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) AS INVESTIMENTO, + sum(case when Upper(id_area) IN ('PRE1', 'PRE2') then ctv else 0 end ) AS PREVIDENZA, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) AS RISERVA, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS LIQUIDITA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS RisorseNonAllocate, + sum(case Upper(id_area) when 'CC' then ctv else 0 end ) as contocorrente, + sum((isnull(PARTVIA_DISINV,0))) as PARTVIA_DISINV, + sum(CTV) as CTV + FROM + [C6MartPeriodico].PATRIMONIO_BF + GROUP BY rete, cod_fiscale) a +LEFT JOIN c6martperiodico.partite_viaggianti b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON a.RETE = MIFID.RETE + AND a.COD_FISCALE = MIFID.COD_FISCALE +INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO +LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = a.RETE + AND RA.COD_FISCALE = a.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart.sql new file mode 100644 index 00000000..ce2cb787 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart.sql @@ -0,0 +1,47 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT + INI.rete AS Rete, + INI.cod_fiscale AS [Codice fiscale], + convert(varchar(8), rep.DATA_INVIO, 112) AS [Data fase], + rep.ctv_ext as Extrarendimento, + rep.ctv_inv as Investimento, + rep.ctv_pre as Previdenza, + rep.ctv_ris as Riserva, + rep.ctv_liq as Liquidità, + rep.CTV_NA AS [Risorse non allocate], + rep.CTV_CC AS [Conto Corrente], + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS [Partita viaggiante], + --CTV_TOTALE + CTV_CC + CTV_NA + ISNULL(PARTITA_VIAGGIANTE,0) AS ControvaloreComplessivo --V aggiunto il cc e na per coerenza con le altre fasi + rep.CTV_TOTALE + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS [Totale CTV], --V tolto il cc e na in quanto gia conteggiati + rep.VAR_COMPLESSIVO AS [Var complessivo], +rep.VAR_COPERTURA AS [Var copertura], +rep.VAR_MAX_PROFILO AS [Var MAX profilo finanziario], +isnull(rep.RISKCLASS, 0) as RisksClass, --0 al posto di n.a. altrimenti rompeva +rep.RISKCLASSMAX AS RisksClassMax +--,case when ra.creditrisk is null then 'n.a.' else null end as RiskClassString, +-- case when mifid.riskclass is null then 'n.a.' else null end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE +-- WHERE 1=1 +-- +-- and INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) +-- and ISNULL(DATA_INVIO,cast('29991231' as datetime))<'20110331' +-- +-- AND rep.rete is not null +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2.sql new file mode 100644 index 00000000..ccc44131 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2.sql @@ -0,0 +1,195 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_FASE2] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @DataFase datetime +DECLARE @DataFineAvanzato datetime +SET @DataFase = CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) --'20130930' +SET @DataFineAvanzato = getdate() --'20130731' +insert into [CONSEVO].ConsulenzaEvoluta.dbo.REP_S80_EVOL_STAMPA_C6 +SELECT + A.ChiaveClientePB, + UPPER(AREA) as AREA, + CASE + WHEN AREA = 'Inv' THEN 2 + WHEN AREA = 'Pre' THEN 3 + WHEN AREA = 'Ris' THEN 4 + WHEN AREA = 'Ext' THEN 1 + WHEN AREA = 'Liq' THEN 5 + WHEN AREA = 'Na' THEN 6 + WHEN AREA = 'Cc' THEN 7 + WHEN AREA = 'Self' THEN 8 + ELSE 0 + END AS ORDINE, + FASE, + @DataFase AS DATA_FASE, + CONTROVALORE, + SUM(RISORSEALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSEALLOCATE, + SUM(RISORSENONALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSENONALLOCATE, + SUM(CONTOCORRENTE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS CONTOCORRENTE, + SUM(PVDISINV) over (partition by A.cod_fiscale,A.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + RA.COPERTURA, + MFD.PROFILO_ASS AS PROFILO, + COD_AGENTE AS AGENTE, + case + when isnull(ra.CREDITRISK,0) > 0 + then cast(ra.CREDITRISK as varchar(5)) + --else 'n.a.' + else '5' + end AS RISKCLASS, + MFD.RISKCLASS AS RISKCLASSMAX, + CASE WHEN AREA IN ('Self') THEN CONTROVALORE ELSE 0 END AS LineaSelf +FROM + (SELECT + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END AS AREA, + 2 AS FASE, + SUM(CTV) AS CONTROVALORE, + sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, + max(isnull(PVIA.IMPORTO,0)) AS PVINV, + SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE PBF.CTV END) AS RISORSEALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Na') THEN PBF.CTV ELSE 0 END) AS RISORSENONALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Cc') THEN PBF.CTV ELSE 0 END) AS CONTOCORRENTE + FROM + C6MART.VCONTRATTI VC + INNER JOIN + C6MARTPERIODICO.PATRIMONIO_BF PBF + ON VC.rete = PBF.rete + AND VC.cod_Fiscale = PBF.cod_fiscale + LEFT OUTER JOIN + C6MARTPERIODICO.PARTITE_VIAGGIANTI PVIA + ON + PBF.COD_FISCALE=PVIA.COD_FISCALE + AND PBF.RETE=PVIA.RETE + INNER JOIN + C6MARTPERIODICO.GESTIONE_PDF_FTP PDFFTP + ON + VC.COD_FISCALE=PDFFTP.CODICEFISCALE + AND VC.RETE=PDFFTP.RETE + WHERE 1=1 + AND TIPOREPORT = 'M' + AND FLAGINVIO='S' +-- AND DEFINITIVO=1 + AND ISNULL(VC.DATA_FINEAVANZATO, '99991231') > @DataFineAvanzato + GROUP BY + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END + ) A + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON A.RETE = RA.RETE + AND A.COD_FISCALE = RA.COD_FISCALE + INNER JOIN C6MartPeriodico.MIFID AS MFD + ON A.RETE = MFD.RETE + AND A.COD_FISCALE = MFD.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MFD.PROFILO_ASS = CR.PROFILO + WHERE COD_AGGREG = 'COMPLESSIVO|BF' +--------------------------------------------------------------------------------------- +--SELECT +-- H.ChiaveClientePB, +---- ltrim(rtrim(H.COD_FISCALE)) as COD_FISCALE, +---- H.RETE, +-- +-- UPPER(AREA) as AREA, +-- CASE +-- WHEN AREA = 'Inv' THEN 2 +-- WHEN AREA = 'Pre' THEN 3 +-- WHEN AREA = 'Ris' THEN 4 +-- WHEN AREA = 'Ext' THEN 1 +-- WHEN AREA = 'Liq' THEN 5 +-- WHEN AREA = 'Na' THEN 6 +-- WHEN AREA = 'Cc' THEN 7 +-- ELSE 0 +-- END AS ORDINE, +-- FASE, +-- --Cast('20110930' as datetime) AS DATA_FASE, +-- --'20091231' AS DATA_FASE, +-- --CONVERT(DATETIME, C6MARTPERIODICO.GETPREVIOUSTRIMESTRE(getdate(),0), 103) AS DATA_FASE, +-- --CONVERT(varchar(8), C6MARTPERIODICO.GETPREVIOUSTRIMESTRE(getdate(),0), 112) AS DATA_FASE, +-- CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) AS DATA_FASE, +-- CONTROVALORE, +-- SUM(RISORSEALLOCATE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS RISORSEALLOCATE, +-- SUM(RISORSENONALLOCATE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS RISORSENONALLOCATE, +-- SUM(CONTOCORRENTE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS CONTOCORRENTE, +-- sum(PVDISINV) over (partition by h.cod_fiscale,H.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, +-- VAR_PERC_PTF, +-- MAX_VAR, +-- RA.COPERTURA, +-- M.PROFILO_ASS AS PROFILO, +-- COD_AGENTE AS AGENTE, +-- case +-- when isnull(ra.CREDITRISK,0) > 0 +-- then cast(ra.CREDITRISK as varchar(5)) +-- --else 'n.a.' +-- else '5' +-- end AS RISKCLASS, +-- M.RISKCLASS AS RISKCLASSMAX +--FROM +-- (SELECT +-- VC.ChiaveClientePB, +-- A.COD_FISCALE, +-- A.RETE, +-- LEFT(A.ID_AREA,3) AS AREA, +-- 2 AS FASE, +-- SUM(CTV) AS CONTROVALORE, +-- sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, +-- max(isnull(C.IMPORTO,0)) AS PVINV, +-- SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE A.CTV END) AS RISORSEALLOCATE, +-- SUM(CASE WHEN ID_AREA IN ('Na') THEN A.CTV ELSE 0 END) AS RISORSENONALLOCATE, +-- SUM(CASE WHEN ID_AREA IN ('Cc') THEN A.CTV ELSE 0 END) AS CONTOCORRENTE +-- FROM +-- C6MART.VCONTRATTI VC +-- INNER JOIN +-- C6MARTPERIODICO.PATRIMONIO_BF A +-- ON VC.rete = A.rete +-- AND VC.cod_Fiscale = A.cod_fiscale +-- LEFT OUTER JOIN +-- C6MARTPERIODICO.PARTITE_VIAGGIANTI C +-- ON +-- A.COD_FISCALE=C.COD_FISCALE +-- AND A.RETE=C.RETE +-- WHERE A.COD_FISCALE IN ( +-- SELECT DISTINCT +-- CODICEFISCALE +-- FROM +-- C6MARTPERIODICO.GESTIONE_PDF_FTP B +-- WHERE +-- FLAGINVIO='S' +-- --AND DEFINITIVO=1 -- DA SCOMMENTARE IN PRODUZIONE +-- ) +-- GROUP BY +-- VC.ChiaveClientePB, +-- A.COD_FISCALE, +-- A.RETE, +-- LEFT(A.ID_AREA,3) +-- ) H +-- LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA +-- ON H.RETE = RA.RETE +-- AND H.COD_FISCALE = RA.COD_FISCALE +-- INNER JOIN C6MartPeriodico.MIFID AS M +-- ON H.RETE = M.RETE +-- AND H.COD_FISCALE = M.COD_FISCALE +-- INNER JOIN C6MART.CONTRATTOSEI C6 +-- ON H.COD_FISCALE=C6.COD_FISCALE +-- AND H.RETE=C6.RETE +---- MODIFICARE ATRINGALI +-- AND ISNULL(C6.DATA_FINEAVANZATO, '99991231') > getdate() --'20091231' +-- INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- WHERE COD_AGGREG = 'COMPLESSIVO|BF' +-- --and H.cod_fiscale='PCTGNN45A30G276G' +--------------------------------------------------------------------------------------- +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU.sql new file mode 100644 index 00000000..3e50b5ad --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU.sql @@ -0,0 +1,225 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_FASE2_CU] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @DataFase datetime +DECLARE @DataFineAvanzato datetime +SET @DataFase = CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) --'20130930' +SET @DataFineAvanzato = getdate() --'20130731' +insert into [CONSUNI].ConsulenzaUnica.dbo.REP_S80_EVOL_STAMPA_C6 +SELECT + A.ChiaveClientePB, + -- 20190206 + CASE + WHEN AREA IN ('SELFXY', 'SELFFO') THEN 'SELF' + ELSE UPPER(AREA) + END as AREA, + --UPPER(AREA) as AREA, + --/20190206 + CASE + WHEN AREA = 'Inv' THEN 2 + WHEN AREA = 'Pre' THEN 3 + WHEN AREA = 'Ris' THEN 4 + WHEN AREA = 'Ext' THEN 1 + WHEN AREA = 'Liq' THEN 5 + WHEN AREA = 'Na' THEN 6 + WHEN AREA = 'Cc' THEN 7 + -- 20190206 nella subquery c'è stato bisogno di differenziare l'Area Self tra XY e FO, quindi adesso bisogna gestire le aree come SELFXY e SELFFO + WHEN AREA = 'SelfXY' THEN 8 + WHEN AREA = 'SelfFO' THEN 9 + --WHEN AREA = 'Self' THEN 8 + --/20190206 + ELSE 0 + END AS ORDINE, + FASE, + @DataFase AS DATA_FASE, + CONTROVALORE, + SUM(RISORSEALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSEALLOCATE, + SUM(RISORSENONALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSENONALLOCATE, + SUM(CONTOCORRENTE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS CONTOCORRENTE, + SUM(PVDISINV) over (partition by A.cod_fiscale,A.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, + VAR_PERC_PTF, + CASE WHEN ISNULL(W.flgprof,'A')='P' THEN 0.00 ELSE MAX_VAR END AS MAX_VAR, + RA.COPERTURA, + MFD.PROFILO_ASS AS PROFILO, + COD_AGENTE AS AGENTE, + case + when isnull(ra.CREDITRISK,0) > 0 + then cast(ra.CREDITRISK as varchar(5)) + --else 'n.a.' + else '5' + end AS RISKCLASS, + MFD.RISKCLASS AS RISKCLASSMAX, + -- 20190206 in base al cod_interno (XY/FO) l'Area è restituita dalla subquery su Patrimonio_BF come SELFXY e SELFFO, una restituisce il controvalore della LineaSelf e l'altra il controvalore della LineaSelfFogli + CASE WHEN AREA IN ('SelfXY') THEN CONTROVALORE ELSE 0 END AS LineaSelf, + CASE WHEN AREA IN ('SelfFO') THEN CONTROVALORE ELSE 0 END AS LineaSelfFoglio + --CASE WHEN AREA IN ('Self') THEN CONTROVALORE ELSE 0 END AS LineaSelf + --/20190206 +FROM + (SELECT + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + -- 20190206 + CASE + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'XY' THEN 'SELFXY' + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'FO' THEN 'SELFFO' + ELSE LEFT(PBF.ID_AREA,3) + END as AREA, + --CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END AS AREA, + --/20190206 + 2 AS FASE, + SUM(CTV) AS CONTROVALORE, + sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, + max(isnull(PVIA.IMPORTO,0)) AS PVINV, + SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE PBF.CTV END) AS RISORSEALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Na') THEN PBF.CTV ELSE 0 END) AS RISORSENONALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Cc') THEN PBF.CTV ELSE 0 END) AS CONTOCORRENTE + FROM + C6MART.VCONTRATTI VC + INNER JOIN + C6MARTPERIODICO.PATRIMONIO_BF PBF + ON VC.rete = PBF.rete + AND VC.cod_Fiscale = PBF.cod_fiscale + LEFT OUTER JOIN + C6MARTPERIODICO.PARTITE_VIAGGIANTI PVIA + ON + PBF.COD_FISCALE=PVIA.COD_FISCALE + AND PBF.RETE=PVIA.RETE + INNER JOIN + C6MARTPERIODICO.GESTIONE_PDF_FTP PDFFTP + ON + VC.COD_FISCALE=PDFFTP.CODICEFISCALE + AND VC.RETE=PDFFTP.RETE + WHERE 1=1 + AND TIPOREPORT = 'M' + AND FLAGINVIO='S' +-- AND DEFINITIVO=1 + AND ISNULL(VC.DATA_FINEAVANZATO, '99991231') > @DataFineAvanzato + GROUP BY + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + -- 20190206 + CASE + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'XY' THEN 'SELFXY' + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'FO' THEN 'SELFFO' + ELSE LEFT(PBF.ID_AREA,3) + END + --CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END + --/20190206 + ) A + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON A.RETE = RA.RETE + AND A.COD_FISCALE = RA.COD_FISCALE + INNER JOIN C6MartPeriodico.MIFID AS MFD + ON A.RETE = MFD.RETE + AND A.COD_FISCALE = MFD.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MFD.PROFILO_ASS = CR.PROFILO + LEFT JOIN C6MartPeriodico.WSEIRPF W + ON W.rete=A.RETE AND W.chiave_acn=A.COD_FISCALE + WHERE COD_AGGREG = 'COMPLESSIVO|BF' +--------------------------------------------------------------------------------------- +--SELECT +-- H.ChiaveClientePB, +---- ltrim(rtrim(H.COD_FISCALE)) as COD_FISCALE, +---- H.RETE, +-- +-- UPPER(AREA) as AREA, +-- CASE +-- WHEN AREA = 'Inv' THEN 2 +-- WHEN AREA = 'Pre' THEN 3 +-- WHEN AREA = 'Ris' THEN 4 +-- WHEN AREA = 'Ext' THEN 1 +-- WHEN AREA = 'Liq' THEN 5 +-- WHEN AREA = 'Na' THEN 6 +-- WHEN AREA = 'Cc' THEN 7 +-- ELSE 0 +-- END AS ORDINE, +-- FASE, +-- --Cast('20110930' as datetime) AS DATA_FASE, +-- --'20091231' AS DATA_FASE, +-- --CONVERT(DATETIME, C6MARTPERIODICO.GETPREVIOUSTRIMESTRE(getdate(),0), 103) AS DATA_FASE, +-- --CONVERT(varchar(8), C6MARTPERIODICO.GETPREVIOUSTRIMESTRE(getdate(),0), 112) AS DATA_FASE, +-- CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) AS DATA_FASE, +-- CONTROVALORE, +-- SUM(RISORSEALLOCATE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS RISORSEALLOCATE, +-- SUM(RISORSENONALLOCATE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS RISORSENONALLOCATE, +-- SUM(CONTOCORRENTE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS CONTOCORRENTE, +-- sum(PVDISINV) over (partition by h.cod_fiscale,H.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, +-- VAR_PERC_PTF, +-- MAX_VAR, +-- RA.COPERTURA, +-- M.PROFILO_ASS AS PROFILO, +-- COD_AGENTE AS AGENTE, +-- case +-- when isnull(ra.CREDITRISK,0) > 0 +-- then cast(ra.CREDITRISK as varchar(5)) +-- --else 'n.a.' +-- else '5' +-- end AS RISKCLASS, +-- M.RISKCLASS AS RISKCLASSMAX +--FROM +-- (SELECT +-- VC.ChiaveClientePB, +-- A.COD_FISCALE, +-- A.RETE, +-- LEFT(A.ID_AREA,3) AS AREA, +-- 2 AS FASE, +-- SUM(CTV) AS CONTROVALORE, +-- sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, +-- max(isnull(C.IMPORTO,0)) AS PVINV, +-- SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE A.CTV END) AS RISORSEALLOCATE, +-- SUM(CASE WHEN ID_AREA IN ('Na') THEN A.CTV ELSE 0 END) AS RISORSENONALLOCATE, +-- SUM(CASE WHEN ID_AREA IN ('Cc') THEN A.CTV ELSE 0 END) AS CONTOCORRENTE +-- FROM +-- C6MART.VCONTRATTI VC +-- INNER JOIN +-- C6MARTPERIODICO.PATRIMONIO_BF A +-- ON VC.rete = A.rete +-- AND VC.cod_Fiscale = A.cod_fiscale +-- LEFT OUTER JOIN +-- C6MARTPERIODICO.PARTITE_VIAGGIANTI C +-- ON +-- A.COD_FISCALE=C.COD_FISCALE +-- AND A.RETE=C.RETE +-- WHERE A.COD_FISCALE IN ( +-- SELECT DISTINCT +-- CODICEFISCALE +-- FROM +-- C6MARTPERIODICO.GESTIONE_PDF_FTP B +-- WHERE +-- FLAGINVIO='S' +-- --AND DEFINITIVO=1 -- DA SCOMMENTARE IN PRODUZIONE +-- ) +-- GROUP BY +-- VC.ChiaveClientePB, +-- A.COD_FISCALE, +-- A.RETE, +-- LEFT(A.ID_AREA,3) +-- ) H +-- LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA +-- ON H.RETE = RA.RETE +-- AND H.COD_FISCALE = RA.COD_FISCALE +-- INNER JOIN C6MartPeriodico.MIFID AS M +-- ON H.RETE = M.RETE +-- AND H.COD_FISCALE = M.COD_FISCALE +-- INNER JOIN C6MART.CONTRATTOSEI C6 +-- ON H.COD_FISCALE=C6.COD_FISCALE +-- AND H.RETE=C6.RETE +---- MODIFICARE ATRINGALI +-- AND ISNULL(C6.DATA_FINEAVANZATO, '99991231') > getdate() --'20091231' +-- INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- WHERE COD_AGGREG = 'COMPLESSIVO|BF' +-- --and H.cod_fiscale='PCTGNN45A30G276G' +--------------------------------------------------------------------------------------- +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_20190206_preMioFoglio.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_20190206_preMioFoglio.sql new file mode 100644 index 00000000..28926c20 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_20190206_preMioFoglio.sql @@ -0,0 +1,195 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_FASE2_CU_20190206_preMioFoglio] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @DataFase datetime +DECLARE @DataFineAvanzato datetime +SET @DataFase = CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) --'20130930' +SET @DataFineAvanzato = getdate() --'20130731' +insert into [CONSUNI].ConsulenzaUnica.dbo.REP_S80_EVOL_STAMPA_C6 +SELECT + A.ChiaveClientePB, + UPPER(AREA) as AREA, + CASE + WHEN AREA = 'Inv' THEN 2 + WHEN AREA = 'Pre' THEN 3 + WHEN AREA = 'Ris' THEN 4 + WHEN AREA = 'Ext' THEN 1 + WHEN AREA = 'Liq' THEN 5 + WHEN AREA = 'Na' THEN 6 + WHEN AREA = 'Cc' THEN 7 + WHEN AREA = 'Self' THEN 8 + ELSE 0 + END AS ORDINE, + FASE, + @DataFase AS DATA_FASE, + CONTROVALORE, + SUM(RISORSEALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSEALLOCATE, + SUM(RISORSENONALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSENONALLOCATE, + SUM(CONTOCORRENTE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS CONTOCORRENTE, + SUM(PVDISINV) over (partition by A.cod_fiscale,A.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + RA.COPERTURA, + MFD.PROFILO_ASS AS PROFILO, + COD_AGENTE AS AGENTE, + case + when isnull(ra.CREDITRISK,0) > 0 + then cast(ra.CREDITRISK as varchar(5)) + --else 'n.a.' + else '5' + end AS RISKCLASS, + MFD.RISKCLASS AS RISKCLASSMAX, + CASE WHEN AREA IN ('Self') THEN CONTROVALORE ELSE 0 END AS LineaSelf +FROM + (SELECT + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END AS AREA, + 2 AS FASE, + SUM(CTV) AS CONTROVALORE, + sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, + max(isnull(PVIA.IMPORTO,0)) AS PVINV, + SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE PBF.CTV END) AS RISORSEALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Na') THEN PBF.CTV ELSE 0 END) AS RISORSENONALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Cc') THEN PBF.CTV ELSE 0 END) AS CONTOCORRENTE + FROM + C6MART.VCONTRATTI VC + INNER JOIN + C6MARTPERIODICO.PATRIMONIO_BF PBF + ON VC.rete = PBF.rete + AND VC.cod_Fiscale = PBF.cod_fiscale + LEFT OUTER JOIN + C6MARTPERIODICO.PARTITE_VIAGGIANTI PVIA + ON + PBF.COD_FISCALE=PVIA.COD_FISCALE + AND PBF.RETE=PVIA.RETE + INNER JOIN + C6MARTPERIODICO.GESTIONE_PDF_FTP PDFFTP + ON + VC.COD_FISCALE=PDFFTP.CODICEFISCALE + AND VC.RETE=PDFFTP.RETE + WHERE 1=1 + AND TIPOREPORT = 'M' + AND FLAGINVIO='S' +-- AND DEFINITIVO=1 + AND ISNULL(VC.DATA_FINEAVANZATO, '99991231') > @DataFineAvanzato + GROUP BY + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END + ) A + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON A.RETE = RA.RETE + AND A.COD_FISCALE = RA.COD_FISCALE + INNER JOIN C6MartPeriodico.MIFID AS MFD + ON A.RETE = MFD.RETE + AND A.COD_FISCALE = MFD.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MFD.PROFILO_ASS = CR.PROFILO + WHERE COD_AGGREG = 'COMPLESSIVO|BF' +--------------------------------------------------------------------------------------- +--SELECT +-- H.ChiaveClientePB, +---- ltrim(rtrim(H.COD_FISCALE)) as COD_FISCALE, +---- H.RETE, +-- +-- UPPER(AREA) as AREA, +-- CASE +-- WHEN AREA = 'Inv' THEN 2 +-- WHEN AREA = 'Pre' THEN 3 +-- WHEN AREA = 'Ris' THEN 4 +-- WHEN AREA = 'Ext' THEN 1 +-- WHEN AREA = 'Liq' THEN 5 +-- WHEN AREA = 'Na' THEN 6 +-- WHEN AREA = 'Cc' THEN 7 +-- ELSE 0 +-- END AS ORDINE, +-- FASE, +-- --Cast('20110930' as datetime) AS DATA_FASE, +-- --'20091231' AS DATA_FASE, +-- --CONVERT(DATETIME, C6MARTPERIODICO.GETPREVIOUSTRIMESTRE(getdate(),0), 103) AS DATA_FASE, +-- --CONVERT(varchar(8), C6MARTPERIODICO.GETPREVIOUSTRIMESTRE(getdate(),0), 112) AS DATA_FASE, +-- CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) AS DATA_FASE, +-- CONTROVALORE, +-- SUM(RISORSEALLOCATE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS RISORSEALLOCATE, +-- SUM(RISORSENONALLOCATE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS RISORSENONALLOCATE, +-- SUM(CONTOCORRENTE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS CONTOCORRENTE, +-- sum(PVDISINV) over (partition by h.cod_fiscale,H.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, +-- VAR_PERC_PTF, +-- MAX_VAR, +-- RA.COPERTURA, +-- M.PROFILO_ASS AS PROFILO, +-- COD_AGENTE AS AGENTE, +-- case +-- when isnull(ra.CREDITRISK,0) > 0 +-- then cast(ra.CREDITRISK as varchar(5)) +-- --else 'n.a.' +-- else '5' +-- end AS RISKCLASS, +-- M.RISKCLASS AS RISKCLASSMAX +--FROM +-- (SELECT +-- VC.ChiaveClientePB, +-- A.COD_FISCALE, +-- A.RETE, +-- LEFT(A.ID_AREA,3) AS AREA, +-- 2 AS FASE, +-- SUM(CTV) AS CONTROVALORE, +-- sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, +-- max(isnull(C.IMPORTO,0)) AS PVINV, +-- SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE A.CTV END) AS RISORSEALLOCATE, +-- SUM(CASE WHEN ID_AREA IN ('Na') THEN A.CTV ELSE 0 END) AS RISORSENONALLOCATE, +-- SUM(CASE WHEN ID_AREA IN ('Cc') THEN A.CTV ELSE 0 END) AS CONTOCORRENTE +-- FROM +-- C6MART.VCONTRATTI VC +-- INNER JOIN +-- C6MARTPERIODICO.PATRIMONIO_BF A +-- ON VC.rete = A.rete +-- AND VC.cod_Fiscale = A.cod_fiscale +-- LEFT OUTER JOIN +-- C6MARTPERIODICO.PARTITE_VIAGGIANTI C +-- ON +-- A.COD_FISCALE=C.COD_FISCALE +-- AND A.RETE=C.RETE +-- WHERE A.COD_FISCALE IN ( +-- SELECT DISTINCT +-- CODICEFISCALE +-- FROM +-- C6MARTPERIODICO.GESTIONE_PDF_FTP B +-- WHERE +-- FLAGINVIO='S' +-- --AND DEFINITIVO=1 -- DA SCOMMENTARE IN PRODUZIONE +-- ) +-- GROUP BY +-- VC.ChiaveClientePB, +-- A.COD_FISCALE, +-- A.RETE, +-- LEFT(A.ID_AREA,3) +-- ) H +-- LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA +-- ON H.RETE = RA.RETE +-- AND H.COD_FISCALE = RA.COD_FISCALE +-- INNER JOIN C6MartPeriodico.MIFID AS M +-- ON H.RETE = M.RETE +-- AND H.COD_FISCALE = M.COD_FISCALE +-- INNER JOIN C6MART.CONTRATTOSEI C6 +-- ON H.COD_FISCALE=C6.COD_FISCALE +-- AND H.RETE=C6.RETE +---- MODIFICARE ATRINGALI +-- AND ISNULL(C6.DATA_FINEAVANZATO, '99991231') > getdate() --'20091231' +-- INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- WHERE COD_AGGREG = 'COMPLESSIVO|BF' +-- --and H.cod_fiscale='PCTGNN45A30G276G' +--------------------------------------------------------------------------------------- +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_POST_RAFFORZAMENTO.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_POST_RAFFORZAMENTO.sql new file mode 100644 index 00000000..c3ea91d9 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_POST_RAFFORZAMENTO.sql @@ -0,0 +1,225 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_FASE2_CU_POST_RAFFORZAMENTO] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @DataFase datetime +DECLARE @DataFineAvanzato datetime +SET @DataFase = CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) --'20130930' +SET @DataFineAvanzato = getdate() --'20130731' +insert into [CONSUNI].ConsulenzaUnica.dbo.REP_S80_EVOL_STAMPA_C6 +SELECT + A.ChiaveClientePB, + -- 20190206 + CASE + WHEN AREA IN ('SELFXY', 'SELFFO') THEN 'SELF' + ELSE UPPER(AREA) + END as AREA, + --UPPER(AREA) as AREA, + --/20190206 + CASE + WHEN AREA = 'Inv' THEN 2 + WHEN AREA = 'Pre' THEN 3 + WHEN AREA = 'Ris' THEN 4 + WHEN AREA = 'Ext' THEN 1 + WHEN AREA = 'Liq' THEN 5 + WHEN AREA = 'Na' THEN 6 + WHEN AREA = 'Cc' THEN 7 + -- 20190206 nella subquery c'è stato bisogno di differenziare l'Area Self tra XY e FO, quindi adesso bisogna gestire le aree come SELFXY e SELFFO + WHEN AREA = 'SelfXY' THEN 8 + WHEN AREA = 'SelfFO' THEN 9 + --WHEN AREA = 'Self' THEN 8 + --/20190206 + ELSE 0 + END AS ORDINE, + FASE, + @DataFase AS DATA_FASE, + CONTROVALORE, + SUM(RISORSEALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSEALLOCATE, + SUM(RISORSENONALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSENONALLOCATE, + SUM(CONTOCORRENTE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS CONTOCORRENTE, + SUM(PVDISINV) over (partition by A.cod_fiscale,A.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, + VAR_PERC_PTF, + CASE WHEN ISNULL(W.flgprof,'A')='P' THEN 0.00 ELSE MAX_VAR END AS MAX_VAR, + RA.COPERTURA, + MFD.PROFILO_ASS AS PROFILO, + COD_AGENTE AS AGENTE, + case + when isnull(ra.CREDITRISK,0) > 0 + then cast(ra.CREDITRISK as varchar(5)) + --else 'n.a.' + else '5' + end AS RISKCLASS, + MFD.RISKCLASS AS RISKCLASSMAX, + -- 20190206 in base al cod_interno (XY/FO) l'Area è restituita dalla subquery su Patrimonio_BF come SELFXY e SELFFO, una restituisce il controvalore della LineaSelf e l'altra il controvalore della LineaSelfFogli + CASE WHEN AREA IN ('SelfXY') THEN CONTROVALORE ELSE 0 END AS LineaSelf, + CASE WHEN AREA IN ('SelfFO') THEN CONTROVALORE ELSE 0 END AS LineaSelfFoglio + --CASE WHEN AREA IN ('Self') THEN CONTROVALORE ELSE 0 END AS LineaSelf + --/20190206 +FROM + (SELECT + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + -- 20190206 + CASE + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'XY' THEN 'SELFXY' + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'FO' THEN 'SELFFO' + ELSE LEFT(PBF.ID_AREA,3) + END as AREA, + --CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END AS AREA, + --/20190206 + 2 AS FASE, + SUM(CTV) AS CONTROVALORE, + sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, + max(isnull(PVIA.IMPORTO,0)) AS PVINV, + SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE PBF.CTV END) AS RISORSEALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Na') THEN PBF.CTV ELSE 0 END) AS RISORSENONALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Cc') THEN PBF.CTV ELSE 0 END) AS CONTOCORRENTE + FROM + C6MART.VCONTRATTI VC + INNER JOIN + C6MARTPERIODICO.PATRIMONIO_BF PBF + ON VC.rete = PBF.rete + AND VC.cod_Fiscale = PBF.cod_fiscale + LEFT OUTER JOIN + C6MARTPERIODICO.PARTITE_VIAGGIANTI PVIA + ON + PBF.COD_FISCALE=PVIA.COD_FISCALE + AND PBF.RETE=PVIA.RETE + INNER JOIN + C6MARTPERIODICO.GESTIONE_PDF_FTP PDFFTP + ON + VC.COD_FISCALE=PDFFTP.CODICEFISCALE + AND VC.RETE=PDFFTP.RETE + WHERE 1=1 + AND TIPOREPORT = 'M' + AND FLAGINVIO='S' +-- AND DEFINITIVO=1 + AND ISNULL(VC.DATA_FINEAVANZATO, '99991231') > @DataFineAvanzato + GROUP BY + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + -- 20190206 + CASE + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'XY' THEN 'SELFXY' + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'FO' THEN 'SELFFO' + ELSE LEFT(PBF.ID_AREA,3) + END + --CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END + --/20190206 + ) A + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON A.RETE = RA.RETE + AND A.COD_FISCALE = RA.COD_FISCALE + INNER JOIN C6MartPeriodico.MIFID AS MFD + ON A.RETE = MFD.RETE + AND A.COD_FISCALE = MFD.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MFD.PROFILO_ASS = CR.PROFILO + LEFT JOIN C6MartPeriodico.WSEIRPF W + ON W.rete=A.RETE AND W.chiave_acn=A.COD_FISCALE + WHERE COD_AGGREG = 'COMPLESSIVO|BF' +--------------------------------------------------------------------------------------- +--SELECT +-- H.ChiaveClientePB, +---- ltrim(rtrim(H.COD_FISCALE)) as COD_FISCALE, +---- H.RETE, +-- +-- UPPER(AREA) as AREA, +-- CASE +-- WHEN AREA = 'Inv' THEN 2 +-- WHEN AREA = 'Pre' THEN 3 +-- WHEN AREA = 'Ris' THEN 4 +-- WHEN AREA = 'Ext' THEN 1 +-- WHEN AREA = 'Liq' THEN 5 +-- WHEN AREA = 'Na' THEN 6 +-- WHEN AREA = 'Cc' THEN 7 +-- ELSE 0 +-- END AS ORDINE, +-- FASE, +-- --Cast('20110930' as datetime) AS DATA_FASE, +-- --'20091231' AS DATA_FASE, +-- --CONVERT(DATETIME, C6MARTPERIODICO.GETPREVIOUSTRIMESTRE(getdate(),0), 103) AS DATA_FASE, +-- --CONVERT(varchar(8), C6MARTPERIODICO.GETPREVIOUSTRIMESTRE(getdate(),0), 112) AS DATA_FASE, +-- CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) AS DATA_FASE, +-- CONTROVALORE, +-- SUM(RISORSEALLOCATE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS RISORSEALLOCATE, +-- SUM(RISORSENONALLOCATE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS RISORSENONALLOCATE, +-- SUM(CONTOCORRENTE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS CONTOCORRENTE, +-- sum(PVDISINV) over (partition by h.cod_fiscale,H.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, +-- VAR_PERC_PTF, +-- MAX_VAR, +-- RA.COPERTURA, +-- M.PROFILO_ASS AS PROFILO, +-- COD_AGENTE AS AGENTE, +-- case +-- when isnull(ra.CREDITRISK,0) > 0 +-- then cast(ra.CREDITRISK as varchar(5)) +-- --else 'n.a.' +-- else '5' +-- end AS RISKCLASS, +-- M.RISKCLASS AS RISKCLASSMAX +--FROM +-- (SELECT +-- VC.ChiaveClientePB, +-- A.COD_FISCALE, +-- A.RETE, +-- LEFT(A.ID_AREA,3) AS AREA, +-- 2 AS FASE, +-- SUM(CTV) AS CONTROVALORE, +-- sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, +-- max(isnull(C.IMPORTO,0)) AS PVINV, +-- SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE A.CTV END) AS RISORSEALLOCATE, +-- SUM(CASE WHEN ID_AREA IN ('Na') THEN A.CTV ELSE 0 END) AS RISORSENONALLOCATE, +-- SUM(CASE WHEN ID_AREA IN ('Cc') THEN A.CTV ELSE 0 END) AS CONTOCORRENTE +-- FROM +-- C6MART.VCONTRATTI VC +-- INNER JOIN +-- C6MARTPERIODICO.PATRIMONIO_BF A +-- ON VC.rete = A.rete +-- AND VC.cod_Fiscale = A.cod_fiscale +-- LEFT OUTER JOIN +-- C6MARTPERIODICO.PARTITE_VIAGGIANTI C +-- ON +-- A.COD_FISCALE=C.COD_FISCALE +-- AND A.RETE=C.RETE +-- WHERE A.COD_FISCALE IN ( +-- SELECT DISTINCT +-- CODICEFISCALE +-- FROM +-- C6MARTPERIODICO.GESTIONE_PDF_FTP B +-- WHERE +-- FLAGINVIO='S' +-- --AND DEFINITIVO=1 -- DA SCOMMENTARE IN PRODUZIONE +-- ) +-- GROUP BY +-- VC.ChiaveClientePB, +-- A.COD_FISCALE, +-- A.RETE, +-- LEFT(A.ID_AREA,3) +-- ) H +-- LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA +-- ON H.RETE = RA.RETE +-- AND H.COD_FISCALE = RA.COD_FISCALE +-- INNER JOIN C6MartPeriodico.MIFID AS M +-- ON H.RETE = M.RETE +-- AND H.COD_FISCALE = M.COD_FISCALE +-- INNER JOIN C6MART.CONTRATTOSEI C6 +-- ON H.COD_FISCALE=C6.COD_FISCALE +-- AND H.RETE=C6.RETE +---- MODIFICARE ATRINGALI +-- AND ISNULL(C6.DATA_FINEAVANZATO, '99991231') > getdate() --'20091231' +-- INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- WHERE COD_AGGREG = 'COMPLESSIVO|BF' +-- --and H.cod_fiscale='PCTGNN45A30G276G' +--------------------------------------------------------------------------------------- +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_PRE_RAFFORZAMENTO.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..4a91471a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,223 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_FASE2_CU_PRE_RAFFORZAMENTO] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @DataFase datetime +DECLARE @DataFineAvanzato datetime +SET @DataFase = CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) --'20130930' +SET @DataFineAvanzato = getdate() --'20130731' +insert into [CONSUNI].ConsulenzaUnica.dbo.REP_S80_EVOL_STAMPA_C6 +SELECT + A.ChiaveClientePB, + -- 20190206 + CASE + WHEN AREA IN ('SELFXY', 'SELFFO') THEN 'SELF' + ELSE UPPER(AREA) + END as AREA, + --UPPER(AREA) as AREA, + --/20190206 + CASE + WHEN AREA = 'Inv' THEN 2 + WHEN AREA = 'Pre' THEN 3 + WHEN AREA = 'Ris' THEN 4 + WHEN AREA = 'Ext' THEN 1 + WHEN AREA = 'Liq' THEN 5 + WHEN AREA = 'Na' THEN 6 + WHEN AREA = 'Cc' THEN 7 + -- 20190206 nella subquery c'è stato bisogno di differenziare l'Area Self tra XY e FO, quindi adesso bisogna gestire le aree come SELFXY e SELFFO + WHEN AREA = 'SelfXY' THEN 8 + WHEN AREA = 'SelfFO' THEN 9 + --WHEN AREA = 'Self' THEN 8 + --/20190206 + ELSE 0 + END AS ORDINE, + FASE, + @DataFase AS DATA_FASE, + CONTROVALORE, + SUM(RISORSEALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSEALLOCATE, + SUM(RISORSENONALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSENONALLOCATE, + SUM(CONTOCORRENTE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS CONTOCORRENTE, + SUM(PVDISINV) over (partition by A.cod_fiscale,A.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + RA.COPERTURA, + MFD.PROFILO_ASS AS PROFILO, + COD_AGENTE AS AGENTE, + case + when isnull(ra.CREDITRISK,0) > 0 + then cast(ra.CREDITRISK as varchar(5)) + --else 'n.a.' + else '5' + end AS RISKCLASS, + MFD.RISKCLASS AS RISKCLASSMAX, + -- 20190206 in base al cod_interno (XY/FO) l'Area è restituita dalla subquery su Patrimonio_BF come SELFXY e SELFFO, una restituisce il controvalore della LineaSelf e l'altra il controvalore della LineaSelfFogli + CASE WHEN AREA IN ('SelfXY') THEN CONTROVALORE ELSE 0 END AS LineaSelf, + CASE WHEN AREA IN ('SelfFO') THEN CONTROVALORE ELSE 0 END AS LineaSelfFoglio + --CASE WHEN AREA IN ('Self') THEN CONTROVALORE ELSE 0 END AS LineaSelf + --/20190206 +FROM + (SELECT + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + -- 20190206 + CASE + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'XY' THEN 'SELFXY' + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'FO' THEN 'SELFFO' + ELSE LEFT(PBF.ID_AREA,3) + END as AREA, + --CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END AS AREA, + --/20190206 + 2 AS FASE, + SUM(CTV) AS CONTROVALORE, + sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, + max(isnull(PVIA.IMPORTO,0)) AS PVINV, + SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE PBF.CTV END) AS RISORSEALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Na') THEN PBF.CTV ELSE 0 END) AS RISORSENONALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Cc') THEN PBF.CTV ELSE 0 END) AS CONTOCORRENTE + FROM + C6MART.VCONTRATTI VC + INNER JOIN + C6MARTPERIODICO.PATRIMONIO_BF PBF + ON VC.rete = PBF.rete + AND VC.cod_Fiscale = PBF.cod_fiscale + LEFT OUTER JOIN + C6MARTPERIODICO.PARTITE_VIAGGIANTI PVIA + ON + PBF.COD_FISCALE=PVIA.COD_FISCALE + AND PBF.RETE=PVIA.RETE + INNER JOIN + C6MARTPERIODICO.GESTIONE_PDF_FTP PDFFTP + ON + VC.COD_FISCALE=PDFFTP.CODICEFISCALE + AND VC.RETE=PDFFTP.RETE + WHERE 1=1 + AND TIPOREPORT = 'M' + AND FLAGINVIO='S' +-- AND DEFINITIVO=1 + AND ISNULL(VC.DATA_FINEAVANZATO, '99991231') > @DataFineAvanzato + GROUP BY + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + -- 20190206 + CASE + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'XY' THEN 'SELFXY' + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'FO' THEN 'SELFFO' + ELSE LEFT(PBF.ID_AREA,3) + END + --CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END + --/20190206 + ) A + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON A.RETE = RA.RETE + AND A.COD_FISCALE = RA.COD_FISCALE + INNER JOIN C6MartPeriodico.MIFID AS MFD + ON A.RETE = MFD.RETE + AND A.COD_FISCALE = MFD.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MFD.PROFILO_ASS = CR.PROFILO + WHERE COD_AGGREG = 'COMPLESSIVO|BF' +--------------------------------------------------------------------------------------- +--SELECT +-- H.ChiaveClientePB, +---- ltrim(rtrim(H.COD_FISCALE)) as COD_FISCALE, +---- H.RETE, +-- +-- UPPER(AREA) as AREA, +-- CASE +-- WHEN AREA = 'Inv' THEN 2 +-- WHEN AREA = 'Pre' THEN 3 +-- WHEN AREA = 'Ris' THEN 4 +-- WHEN AREA = 'Ext' THEN 1 +-- WHEN AREA = 'Liq' THEN 5 +-- WHEN AREA = 'Na' THEN 6 +-- WHEN AREA = 'Cc' THEN 7 +-- ELSE 0 +-- END AS ORDINE, +-- FASE, +-- --Cast('20110930' as datetime) AS DATA_FASE, +-- --'20091231' AS DATA_FASE, +-- --CONVERT(DATETIME, C6MARTPERIODICO.GETPREVIOUSTRIMESTRE(getdate(),0), 103) AS DATA_FASE, +-- --CONVERT(varchar(8), C6MARTPERIODICO.GETPREVIOUSTRIMESTRE(getdate(),0), 112) AS DATA_FASE, +-- CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) AS DATA_FASE, +-- CONTROVALORE, +-- SUM(RISORSEALLOCATE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS RISORSEALLOCATE, +-- SUM(RISORSENONALLOCATE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS RISORSENONALLOCATE, +-- SUM(CONTOCORRENTE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS CONTOCORRENTE, +-- sum(PVDISINV) over (partition by h.cod_fiscale,H.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, +-- VAR_PERC_PTF, +-- MAX_VAR, +-- RA.COPERTURA, +-- M.PROFILO_ASS AS PROFILO, +-- COD_AGENTE AS AGENTE, +-- case +-- when isnull(ra.CREDITRISK,0) > 0 +-- then cast(ra.CREDITRISK as varchar(5)) +-- --else 'n.a.' +-- else '5' +-- end AS RISKCLASS, +-- M.RISKCLASS AS RISKCLASSMAX +--FROM +-- (SELECT +-- VC.ChiaveClientePB, +-- A.COD_FISCALE, +-- A.RETE, +-- LEFT(A.ID_AREA,3) AS AREA, +-- 2 AS FASE, +-- SUM(CTV) AS CONTROVALORE, +-- sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, +-- max(isnull(C.IMPORTO,0)) AS PVINV, +-- SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE A.CTV END) AS RISORSEALLOCATE, +-- SUM(CASE WHEN ID_AREA IN ('Na') THEN A.CTV ELSE 0 END) AS RISORSENONALLOCATE, +-- SUM(CASE WHEN ID_AREA IN ('Cc') THEN A.CTV ELSE 0 END) AS CONTOCORRENTE +-- FROM +-- C6MART.VCONTRATTI VC +-- INNER JOIN +-- C6MARTPERIODICO.PATRIMONIO_BF A +-- ON VC.rete = A.rete +-- AND VC.cod_Fiscale = A.cod_fiscale +-- LEFT OUTER JOIN +-- C6MARTPERIODICO.PARTITE_VIAGGIANTI C +-- ON +-- A.COD_FISCALE=C.COD_FISCALE +-- AND A.RETE=C.RETE +-- WHERE A.COD_FISCALE IN ( +-- SELECT DISTINCT +-- CODICEFISCALE +-- FROM +-- C6MARTPERIODICO.GESTIONE_PDF_FTP B +-- WHERE +-- FLAGINVIO='S' +-- --AND DEFINITIVO=1 -- DA SCOMMENTARE IN PRODUZIONE +-- ) +-- GROUP BY +-- VC.ChiaveClientePB, +-- A.COD_FISCALE, +-- A.RETE, +-- LEFT(A.ID_AREA,3) +-- ) H +-- LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA +-- ON H.RETE = RA.RETE +-- AND H.COD_FISCALE = RA.COD_FISCALE +-- INNER JOIN C6MartPeriodico.MIFID AS M +-- ON H.RETE = M.RETE +-- AND H.COD_FISCALE = M.COD_FISCALE +-- INNER JOIN C6MART.CONTRATTOSEI C6 +-- ON H.COD_FISCALE=C6.COD_FISCALE +-- AND H.RETE=C6.RETE +---- MODIFICARE ATRINGALI +-- AND ISNULL(C6.DATA_FINEAVANZATO, '99991231') > getdate() --'20091231' +-- INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- WHERE COD_AGGREG = 'COMPLESSIVO|BF' +-- --and H.cod_fiscale='PCTGNN45A30G276G' +--------------------------------------------------------------------------------------- +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_mariano.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_mariano.sql new file mode 100644 index 00000000..1ad98401 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_mariano.sql @@ -0,0 +1,230 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_FASE2_CU_mariano] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @DataFase datetime +DECLARE @DataFineAvanzato datetime +SET @DataFase = CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) --'20130930' +SET @DataFineAvanzato = getdate() --'20130731' +insert into [CONSUNI].ConsulenzaUnica.dbo.REP_S80_EVOL_STAMPA_C6 +SELECT + A.ChiaveClientePB, + -- 20190206 + CASE + WHEN AREA IN ('SELFXY', 'SELFFO') THEN 'SELF' + ELSE UPPER(AREA) + END as AREA, + --UPPER(AREA) as AREA, + --/20190206 + CASE + WHEN AREA = 'Inv' THEN 2 + WHEN AREA = 'Pre' THEN 3 + WHEN AREA = 'Ris' THEN 4 + WHEN AREA = 'Ext' THEN 1 + WHEN AREA = 'Liq' THEN 5 + WHEN AREA = 'Na' THEN 6 + WHEN AREA = 'Cc' THEN 7 + -- 20190206 nella subquery c'è stato bisogno di differenziare l'Area Self tra XY e FO, quindi adesso bisogna gestire le aree come SELFXY e SELFFO + WHEN AREA = 'SelfXY' THEN 8 + WHEN AREA = 'SelfFO' THEN 9 + --WHEN AREA = 'Self' THEN 8 + --/20190206 + ELSE 0 + END AS ORDINE, + FASE, + @DataFase AS DATA_FASE, + CONTROVALORE, + SUM(RISORSEALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSEALLOCATE, + SUM(RISORSENONALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSENONALLOCATE, + SUM(CONTOCORRENTE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS CONTOCORRENTE, + SUM(PVDISINV) over (partition by A.cod_fiscale,A.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + RA.COPERTURA, + MFD.PROFILO_ASS AS PROFILO, + COD_AGENTE AS AGENTE, + case + when isnull(ra.CREDITRISK,0) > 0 + then cast(ra.CREDITRISK as varchar(5)) + --else 'n.a.' + else '5' + end AS RISKCLASS, + MFD.RISKCLASS AS RISKCLASSMAX, + -- 20190206 in base al cod_interno (XY/FO) l'Area è restituita dalla subquery su Patrimonio_BF come SELFXY e SELFFO, una restituisce il controvalore della LineaSelf e l'altra il controvalore della LineaSelfFogli + CASE WHEN AREA IN ('SelfXY') THEN CONTROVALORE ELSE 0 END AS LineaSelf, + CASE WHEN AREA IN ('SelfFO') THEN CONTROVALORE ELSE 0 END AS LineaSelfFoglio + --CASE WHEN AREA IN ('Self') THEN CONTROVALORE ELSE 0 END AS LineaSelf + --/20190206 +FROM + (SELECT + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + -- 20190206 + CASE + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'XY' THEN 'SELFXY' + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'FO' THEN 'SELFFO' + ELSE LEFT(PBF.ID_AREA,3) + END as AREA, + --CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END AS AREA, + --/20190206 + 2 AS FASE, + SUM(CTV) AS CONTROVALORE, + sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, + max(isnull(PVIA.IMPORTO,0)) AS PVINV, + SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE PBF.CTV END) AS RISORSEALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Na') THEN PBF.CTV ELSE 0 END) AS RISORSENONALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Cc') THEN PBF.CTV ELSE 0 END) AS CONTOCORRENTE + FROM + C6MART.VCONTRATTI VC + INNER JOIN + C6MARTPERIODICO.PATRIMONIO_BF PBF + ON VC.rete = PBF.rete + AND VC.cod_Fiscale = PBF.cod_fiscale + LEFT OUTER JOIN + C6MARTPERIODICO.PARTITE_VIAGGIANTI PVIA + ON + PBF.COD_FISCALE=PVIA.COD_FISCALE + AND PBF.RETE=PVIA.RETE + INNER JOIN + ( +select codicefiscale,rete,tiporeport,flaginvio from C6MartPeriodico.gestione_pdf_ftp_bk2510_1stlotto +union +select codicefiscale,rete,tiporeport,flaginvio from C6MartPeriodico.gestione_pdf_ftp_bk2810_2ndlotto +union +select codicefiscale,rete,tiporeport,flaginvio from C6MartPeriodico.gestione_pdf_ftp_bk2910 +union +select codicefiscale,rete,tiporeport,flaginvio from C6MartPeriodico.gestione_pdf_ftp_bk2910b) PDFFTP + ON + VC.COD_FISCALE=PDFFTP.CODICEFISCALE + AND VC.RETE=PDFFTP.RETE + WHERE 1=1 + AND TIPOREPORT = 'M' + AND FLAGINVIO='S' +-- AND DEFINITIVO=1 + AND ISNULL(VC.DATA_FINEAVANZATO, '99991231') > @DataFineAvanzato + GROUP BY + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + -- 20190206 + CASE + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'XY' THEN 'SELFXY' + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'FO' THEN 'SELFFO' + ELSE LEFT(PBF.ID_AREA,3) + END + --CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END + --/20190206 + ) A + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON A.RETE = RA.RETE + AND A.COD_FISCALE = RA.COD_FISCALE + INNER JOIN C6MartPeriodico.MIFID AS MFD + ON A.RETE = MFD.RETE + AND A.COD_FISCALE = MFD.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MFD.PROFILO_ASS = CR.PROFILO + WHERE COD_AGGREG = 'COMPLESSIVO|BF' +--------------------------------------------------------------------------------------- +--SELECT +-- H.ChiaveClientePB, +---- ltrim(rtrim(H.COD_FISCALE)) as COD_FISCALE, +---- H.RETE, +-- +-- UPPER(AREA) as AREA, +-- CASE +-- WHEN AREA = 'Inv' THEN 2 +-- WHEN AREA = 'Pre' THEN 3 +-- WHEN AREA = 'Ris' THEN 4 +-- WHEN AREA = 'Ext' THEN 1 +-- WHEN AREA = 'Liq' THEN 5 +-- WHEN AREA = 'Na' THEN 6 +-- WHEN AREA = 'Cc' THEN 7 +-- ELSE 0 +-- END AS ORDINE, +-- FASE, +-- --Cast('20110930' as datetime) AS DATA_FASE, +-- --'20091231' AS DATA_FASE, +-- --CONVERT(DATETIME, C6MARTPERIODICO.GETPREVIOUSTRIMESTRE(getdate(),0), 103) AS DATA_FASE, +-- --CONVERT(varchar(8), C6MARTPERIODICO.GETPREVIOUSTRIMESTRE(getdate(),0), 112) AS DATA_FASE, +-- CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) AS DATA_FASE, +-- CONTROVALORE, +-- SUM(RISORSEALLOCATE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS RISORSEALLOCATE, +-- SUM(RISORSENONALLOCATE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS RISORSENONALLOCATE, +-- SUM(CONTOCORRENTE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS CONTOCORRENTE, +-- sum(PVDISINV) over (partition by h.cod_fiscale,H.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, +-- VAR_PERC_PTF, +-- MAX_VAR, +-- RA.COPERTURA, +-- M.PROFILO_ASS AS PROFILO, +-- COD_AGENTE AS AGENTE, +-- case +-- when isnull(ra.CREDITRISK,0) > 0 +-- then cast(ra.CREDITRISK as varchar(5)) +-- --else 'n.a.' +-- else '5' +-- end AS RISKCLASS, +-- M.RISKCLASS AS RISKCLASSMAX +--FROM +-- (SELECT +-- VC.ChiaveClientePB, +-- A.COD_FISCALE, +-- A.RETE, +-- LEFT(A.ID_AREA,3) AS AREA, +-- 2 AS FASE, +-- SUM(CTV) AS CONTROVALORE, +-- sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, +-- max(isnull(C.IMPORTO,0)) AS PVINV, +-- SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE A.CTV END) AS RISORSEALLOCATE, +-- SUM(CASE WHEN ID_AREA IN ('Na') THEN A.CTV ELSE 0 END) AS RISORSENONALLOCATE, +-- SUM(CASE WHEN ID_AREA IN ('Cc') THEN A.CTV ELSE 0 END) AS CONTOCORRENTE +-- FROM +-- C6MART.VCONTRATTI VC +-- INNER JOIN +-- C6MARTPERIODICO.PATRIMONIO_BF A +-- ON VC.rete = A.rete +-- AND VC.cod_Fiscale = A.cod_fiscale +-- LEFT OUTER JOIN +-- C6MARTPERIODICO.PARTITE_VIAGGIANTI C +-- ON +-- A.COD_FISCALE=C.COD_FISCALE +-- AND A.RETE=C.RETE +-- WHERE A.COD_FISCALE IN ( +-- SELECT DISTINCT +-- CODICEFISCALE +-- FROM +-- C6MARTPERIODICO.GESTIONE_PDF_FTP B +-- WHERE +-- FLAGINVIO='S' +-- --AND DEFINITIVO=1 -- DA SCOMMENTARE IN PRODUZIONE +-- ) +-- GROUP BY +-- VC.ChiaveClientePB, +-- A.COD_FISCALE, +-- A.RETE, +-- LEFT(A.ID_AREA,3) +-- ) H +-- LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA +-- ON H.RETE = RA.RETE +-- AND H.COD_FISCALE = RA.COD_FISCALE +-- INNER JOIN C6MartPeriodico.MIFID AS M +-- ON H.RETE = M.RETE +-- AND H.COD_FISCALE = M.COD_FISCALE +-- INNER JOIN C6MART.CONTRATTOSEI C6 +-- ON H.COD_FISCALE=C6.COD_FISCALE +-- AND H.RETE=C6.RETE +---- MODIFICARE ATRINGALI +-- AND ISNULL(C6.DATA_FINEAVANZATO, '99991231') > getdate() --'20091231' +-- INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- WHERE COD_AGGREG = 'COMPLESSIVO|BF' +-- --and H.cod_fiscale='PCTGNN45A30G276G' +--------------------------------------------------------------------------------------- +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE.sql new file mode 100644 index 00000000..0dc75d8f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE.sql @@ -0,0 +1,195 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_FASE2_SELECTIVE] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @DataFase datetime +DECLARE @DataFineAvanzato datetime +SET @DataFase = CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) --'20130930' +SET @DataFineAvanzato = getdate() --'20130731' +insert into c6martperiodico.RP_REP_S80_EVOL_STAMPA_C6_TMP +SELECT + A.ChiaveClientePB, + UPPER(AREA) as AREA, + CASE + WHEN AREA = 'Inv' THEN 2 + WHEN AREA = 'Pre' THEN 3 + WHEN AREA = 'Ris' THEN 4 + WHEN AREA = 'Ext' THEN 1 + WHEN AREA = 'Liq' THEN 5 + WHEN AREA = 'Na' THEN 6 + WHEN AREA = 'Cc' THEN 7 + WHEN AREA = 'Self' THEN 8 + ELSE 0 + END AS ORDINE, + FASE, + @DataFase AS DATA_FASE, + CONTROVALORE, + SUM(RISORSEALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSEALLOCATE, + SUM(RISORSENONALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSENONALLOCATE, + SUM(CONTOCORRENTE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS CONTOCORRENTE, + SUM(PVDISINV) over (partition by A.cod_fiscale,A.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + RA.COPERTURA, + MFD.PROFILO_ASS AS PROFILO, + COD_AGENTE AS AGENTE, + case + when isnull(ra.CREDITRISK,0) > 0 + then cast(ra.CREDITRISK as varchar(5)) + --else 'n.a.' + else '5' + end AS RISKCLASS, + MFD.RISKCLASS AS RISKCLASSMAX, + CASE WHEN AREA IN ('Self') THEN CONTROVALORE ELSE 0 END AS LineaSelf +FROM + (SELECT + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END AS AREA, + 2 AS FASE, + SUM(CTV) AS CONTROVALORE, + sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, + max(isnull(PVIA.IMPORTO,0)) AS PVINV, + SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE PBF.CTV END) AS RISORSEALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Na') THEN PBF.CTV ELSE 0 END) AS RISORSENONALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Cc') THEN PBF.CTV ELSE 0 END) AS CONTOCORRENTE + FROM + C6MART.VCONTRATTI VC + INNER JOIN + C6MARTPERIODICO.PATRIMONIO_BF PBF + ON VC.rete = PBF.rete + AND VC.cod_Fiscale = PBF.cod_fiscale + LEFT OUTER JOIN + C6MARTPERIODICO.PARTITE_VIAGGIANTI PVIA + ON + PBF.COD_FISCALE=PVIA.COD_FISCALE + AND PBF.RETE=PVIA.RETE + INNER JOIN + C6MARTPERIODICO.GESTIONE_PDF_FTP PDFFTP + ON + VC.COD_FISCALE=PDFFTP.CODICEFISCALE + AND VC.RETE=PDFFTP.RETE + WHERE 1=1 + AND TIPOREPORT = 'M' + AND FLAGINVIO='S' +-- AND DEFINITIVO=1 + AND ISNULL(VC.DATA_FINEAVANZATO, '99991231') > @DataFineAvanzato + GROUP BY + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END + ) A + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON A.RETE = RA.RETE + AND A.COD_FISCALE = RA.COD_FISCALE + INNER JOIN C6MartPeriodico.MIFID AS MFD + ON A.RETE = MFD.RETE + AND A.COD_FISCALE = MFD.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MFD.PROFILO_ASS = CR.PROFILO + WHERE COD_AGGREG = 'COMPLESSIVO|BF' +--------------------------------------------------------------------------------------- +--SELECT +-- H.ChiaveClientePB, +---- ltrim(rtrim(H.COD_FISCALE)) as COD_FISCALE, +---- H.RETE, +-- +-- UPPER(AREA) as AREA, +-- CASE +-- WHEN AREA = 'Inv' THEN 2 +-- WHEN AREA = 'Pre' THEN 3 +-- WHEN AREA = 'Ris' THEN 4 +-- WHEN AREA = 'Ext' THEN 1 +-- WHEN AREA = 'Liq' THEN 5 +-- WHEN AREA = 'Na' THEN 6 +-- WHEN AREA = 'Cc' THEN 7 +-- ELSE 0 +-- END AS ORDINE, +-- FASE, +-- --Cast('20110930' as datetime) AS DATA_FASE, +-- --'20091231' AS DATA_FASE, +-- --CONVERT(DATETIME, C6MARTPERIODICO.GETPREVIOUSTRIMESTRE(getdate(),0), 103) AS DATA_FASE, +-- --CONVERT(varchar(8), C6MARTPERIODICO.GETPREVIOUSTRIMESTRE(getdate(),0), 112) AS DATA_FASE, +-- CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) AS DATA_FASE, +-- CONTROVALORE, +-- SUM(RISORSEALLOCATE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS RISORSEALLOCATE, +-- SUM(RISORSENONALLOCATE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS RISORSENONALLOCATE, +-- SUM(CONTOCORRENTE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS CONTOCORRENTE, +-- sum(PVDISINV) over (partition by h.cod_fiscale,H.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, +-- VAR_PERC_PTF, +-- MAX_VAR, +-- RA.COPERTURA, +-- M.PROFILO_ASS AS PROFILO, +-- COD_AGENTE AS AGENTE, +-- case +-- when isnull(ra.CREDITRISK,0) > 0 +-- then cast(ra.CREDITRISK as varchar(5)) +-- --else 'n.a.' +-- else '5' +-- end AS RISKCLASS, +-- M.RISKCLASS AS RISKCLASSMAX +--FROM +-- (SELECT +-- VC.ChiaveClientePB, +-- A.COD_FISCALE, +-- A.RETE, +-- LEFT(A.ID_AREA,3) AS AREA, +-- 2 AS FASE, +-- SUM(CTV) AS CONTROVALORE, +-- sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, +-- max(isnull(C.IMPORTO,0)) AS PVINV, +-- SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE A.CTV END) AS RISORSEALLOCATE, +-- SUM(CASE WHEN ID_AREA IN ('Na') THEN A.CTV ELSE 0 END) AS RISORSENONALLOCATE, +-- SUM(CASE WHEN ID_AREA IN ('Cc') THEN A.CTV ELSE 0 END) AS CONTOCORRENTE +-- FROM +-- C6MART.VCONTRATTI VC +-- INNER JOIN +-- C6MARTPERIODICO.PATRIMONIO_BF A +-- ON VC.rete = A.rete +-- AND VC.cod_Fiscale = A.cod_fiscale +-- LEFT OUTER JOIN +-- C6MARTPERIODICO.PARTITE_VIAGGIANTI C +-- ON +-- A.COD_FISCALE=C.COD_FISCALE +-- AND A.RETE=C.RETE +-- WHERE A.COD_FISCALE IN ( +-- SELECT DISTINCT +-- CODICEFISCALE +-- FROM +-- C6MARTPERIODICO.GESTIONE_PDF_FTP B +-- WHERE +-- FLAGINVIO='S' +-- --AND DEFINITIVO=1 -- DA SCOMMENTARE IN PRODUZIONE +-- ) +-- GROUP BY +-- VC.ChiaveClientePB, +-- A.COD_FISCALE, +-- A.RETE, +-- LEFT(A.ID_AREA,3) +-- ) H +-- LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA +-- ON H.RETE = RA.RETE +-- AND H.COD_FISCALE = RA.COD_FISCALE +-- INNER JOIN C6MartPeriodico.MIFID AS M +-- ON H.RETE = M.RETE +-- AND H.COD_FISCALE = M.COD_FISCALE +-- INNER JOIN C6MART.CONTRATTOSEI C6 +-- ON H.COD_FISCALE=C6.COD_FISCALE +-- AND H.RETE=C6.RETE +---- MODIFICARE ATRINGALI +-- AND ISNULL(C6.DATA_FINEAVANZATO, '99991231') > getdate() --'20091231' +-- INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- WHERE COD_AGGREG = 'COMPLESSIVO|BF' +-- --and H.cod_fiscale='PCTGNN45A30G276G' +--------------------------------------------------------------------------------------- +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE_FINAL.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE_FINAL.sql new file mode 100644 index 00000000..195ff5a5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE_FINAL.sql @@ -0,0 +1,12 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_FASE2_SELECTIVE_FINAL] +AS +BEGIN +SET NOCOUNT ON; +insert into Consuni.ConsulenzaUnica.dbo.REP_S80_EVOL_STAMPA_C6 +select * from c6martperiodico.RP_REP_S80_EVOL_STAMPA_C6_TMP +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_PARZIALE_FASE2_CU.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_PARZIALE_FASE2_CU.sql new file mode 100644 index 00000000..4de2b489 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_S80_PARZIALE_FASE2_CU.sql @@ -0,0 +1,100 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_PARZIALE_FASE2_CU] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @DataFase datetime +DECLARE @DataFineAvanzato datetime +SET @DataFase = CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) --'20130930' +SET @DataFineAvanzato = getdate() --'20130731' +insert into [dbo].[REP_S80_EVOL_STAMPA_C6_PARZIALE] +SELECT + A.ChiaveClientePB, + UPPER(AREA) as AREA, + CASE + WHEN AREA = 'Inv' THEN 2 + WHEN AREA = 'Pre' THEN 3 + WHEN AREA = 'Ris' THEN 4 + WHEN AREA = 'Ext' THEN 1 + WHEN AREA = 'Liq' THEN 5 + WHEN AREA = 'Na' THEN 6 + WHEN AREA = 'Cc' THEN 7 + WHEN AREA = 'Self' THEN 8 + ELSE 0 + END AS ORDINE, + FASE, + @DataFase AS DATA_FASE, + CONTROVALORE, + SUM(RISORSEALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSEALLOCATE, + SUM(RISORSENONALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSENONALLOCATE, + SUM(CONTOCORRENTE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS CONTOCORRENTE, + SUM(PVDISINV) over (partition by A.cod_fiscale,A.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + RA.COPERTURA, + MFD.PROFILO_ASS AS PROFILO, + COD_AGENTE AS AGENTE, + case + when isnull(ra.CREDITRISK,0) > 0 + then cast(ra.CREDITRISK as varchar(5)) + --else 'n.a.' + else '5' + end AS RISKCLASS, + MFD.RISKCLASS AS RISKCLASSMAX, + CASE WHEN AREA IN ('Self') THEN CONTROVALORE ELSE 0 END AS LineaSelf +FROM + (SELECT + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END AS AREA, + 2 AS FASE, + SUM(CTV) AS CONTROVALORE, + sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, + max(isnull(PVIA.IMPORTO,0)) AS PVINV, + SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE PBF.CTV END) AS RISORSEALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Na') THEN PBF.CTV ELSE 0 END) AS RISORSENONALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Cc') THEN PBF.CTV ELSE 0 END) AS CONTOCORRENTE + FROM + C6MART.VCONTRATTI VC + INNER JOIN + C6MARTPERIODICO.PATRIMONIO_BF PBF + ON VC.rete = PBF.rete + AND VC.cod_Fiscale = PBF.cod_fiscale + LEFT OUTER JOIN + C6MARTPERIODICO.PARTITE_VIAGGIANTI PVIA + ON + PBF.COD_FISCALE=PVIA.COD_FISCALE + AND PBF.RETE=PVIA.RETE + INNER JOIN + C6MARTPERIODICO.GESTIONE_PDF_FTP PDFFTP + ON + VC.COD_FISCALE=PDFFTP.CODICEFISCALE + AND VC.RETE=PDFFTP.RETE + WHERE 1=1 + AND TIPOREPORT = 'M' + AND FLAGINVIO='S' +-- AND DEFINITIVO=1 + AND ISNULL(VC.DATA_FINEAVANZATO, '99991231') > @DataFineAvanzato + GROUP BY + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END + ) A + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON A.RETE = RA.RETE + AND A.COD_FISCALE = RA.COD_FISCALE + INNER JOIN C6MartPeriodico.MIFID AS MFD + ON A.RETE = MFD.RETE + AND A.COD_FISCALE = MFD.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MFD.PROFILO_ASS = CR.PROFILO + WHERE COD_AGGREG = 'COMPLESSIVO|BF' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_SPECIFIC_ZIP.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_SPECIFIC_ZIP.sql new file mode 100644 index 00000000..de4ca785 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_SPECIFIC_ZIP.sql @@ -0,0 +1,23 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_SPECIFIC_ZIP] +(@CARTELLA as VARCHAR(255)) +as +BEGIN + DECLARE @IdZip AS INT + SET @IdZip = -1 + DECLARE @NomeCartella AS VARCHAR(255) + Declare @NomeFile as varchar(50) + Declare @NumeroCFZip as int + SELECT @IdZip=id,@NomeCartella=NomeCartella,@NomeFile =NomeFile + FROM + C6MartPeriodico.GESTIONE_ZIP_FTP_IDX + WHERE + NomeCartella = @CARTELLA + IF @IdZip > -1 Begin + select @NumeroCFZip=count( *) + from ( + select distinct rete,codicefiscale + from c6martperiodico.GESTIONE_PDF_FTP_IDX + where id_fk_zip=@IdZip) a + end + select @IdZip IdZip,@NomeFile NomeFile,@NomeCartella NomeCartella,@NumeroCFZip NumeroCFZip +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_ZIP_DA_INVIARE.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_ZIP_DA_INVIARE.sql new file mode 100644 index 00000000..9e66e2b2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_ZIP_DA_INVIARE.sql @@ -0,0 +1,27 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_ZIP_DA_INVIARE] +@FKIDElaborazioneZip int +AS +BEGIN + SELECT +-- Rete, +-- CodiceFiscale, + id IdZip + ,NomeFile +-- , +-- TipoReport, +-- DataGenerazione, +-- DataInvio, +-- FlagInvio, +-- NomeFile SELECT * + FROM + [C6MartPeriodico].GESTIONE_ZIP_FTP + WHERE + FlagInvio = 'N' + AND DateCopyToSend IS NOT NULL + AND FKIDElaborazioneZip = @FKIDElaborazioneZip +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_ZIP_WHITELIST.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_ZIP_WHITELIST.sql new file mode 100644 index 00000000..5713baf6 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_SELECT_ZIP_WHITELIST.sql @@ -0,0 +1,22 @@ +-- ============================================= +-- Author: Hazem +-- Create date: 09/06/2010 +-- Description: Selecta white list packages +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_ZIP_WHITELIST] +AS +BEGIN + declare @lotto as smallint + select @lotto = max(IDElaborazioneZIP) FROM C6MartPeriodico.ELABORAZIONI_ZIP WHERE DataFine IS NOT NULL + SELECT + id as IdZip, + @lotto as lotto, + nomeFile + FROM + C6MartPeriodico.GESTIONE_ZIP_FTP + WHERE + --DataInvio >= C6MartPeriodico.getTrimestre(GETDATE(),0) + --AND + --id = 998 and + fkIDElaborazioneZIP = @lotto--(SELECT max(IDElaborazioneZIP) FROM C6MartPeriodico.ELABORAZIONI_ZIP WHERE DataFine IS NOT NULL) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_S_Intermediari.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_S_Intermediari.sql new file mode 100644 index 00000000..31949d15 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_S_Intermediari.sql @@ -0,0 +1,21 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[GESTIONE_S_Intermediari] 'S','GHGRTI63T44L219D' +--[C6MartPeriodico].[GESTIONE_S_Intermediari] 'F','BGLSRG61E30L702A' +CREATE procedure [C6MartPeriodico].[GESTIONE_S_Intermediari] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceCliente varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SELECT DISTINCT INTERMEDIARIO + FROM C6MartPeriodico.PATRIMONIO_TERZI + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceCliente +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP.sql new file mode 100644 index 00000000..84b76d1d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP.sql @@ -0,0 +1,15 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_UPDATE_ELABORAZIONE_ZIP] +@IDElaborazioneZip int +AS +BEGIN + BEGIN TRY + BEGIN TRANSACTION INSERT_ELABORAZIONE_ZIP + UPDATE [C6MartPeriodico].[ELABORAZIONI_ZIP] + SET [DataFine] = GETDATE() + WHERE IDElaborazioneZip = @IDElaborazioneZip + COMMIT TRANSACTION INSERT_ELABORAZIONE_ZIP + END TRY + BEGIN CATCH + ROLLBACK TRANSACTION INSERT_ELABORAZIONE_ZIP + END CATCH +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP_20170328.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP_20170328.sql new file mode 100644 index 00000000..697f3a83 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP_20170328.sql @@ -0,0 +1,15 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_UPDATE_ELABORAZIONE_ZIP_20170328] +@IDElaborazioneZip int +AS +BEGIN + BEGIN TRY + BEGIN TRANSACTION INSERT_ELABORAZIONE_ZIP + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[ELABORAZIONI_ZIP] + SET [DataFine] = GETDATE() + WHERE IDElaborazioneZip = @IDElaborazioneZip + COMMIT TRANSACTION INSERT_ELABORAZIONE_ZIP + END TRY + BEGIN CATCH + ROLLBACK TRANSACTION INSERT_ELABORAZIONE_ZIP + END CATCH +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_HOST.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_HOST.sql new file mode 100644 index 00000000..27e891c2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_HOST.sql @@ -0,0 +1,13 @@ +--exec [C6Mart].[Gestione_EMAIL_Inviate] @Email_Id=7,@DataInvio='2008-11-17 18:10:43:603' +CREATE procedure [C6MartPeriodico].[GESTIONE_UPDATE_EMAIL_HOST] + @Email_Id int +AS +BEGIN + SET NOCOUNT ON; + UPDATE [C6MartPeriodico].GESTIONE_EMAIL + SET Data_Comunicazione_Host = getdate() + WHERE Email_Id = @Email_Id + RETURN @@ROWCOUNT +END +SELECT * +FROM [C6MartPeriodico].GESTIONE_EMAIL \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_INVIATE.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_INVIATE.sql new file mode 100644 index 00000000..a322fd7c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_INVIATE.sql @@ -0,0 +1,13 @@ +--exec [C6Mart].[Gestione_EMAIL_Inviate] @Email_Id=7,@DataInvio='2008-11-17 18:10:43:603' +CREATE procedure [C6MartPeriodico].[GESTIONE_UPDATE_EMAIL_INVIATE] + @Email_Id int, + @DataInvio datetime +AS +BEGIN + SET NOCOUNT ON; + UPDATE [C6MartPeriodico].GESTIONE_EMAIL + SET Data_Invio = @DataInvio, + Inviata = 'S' + WHERE Email_Id = @Email_Id + RETURN @@ROWCOUNT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_FTP.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_FTP.sql new file mode 100644 index 00000000..1e415e89 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_FTP.sql @@ -0,0 +1,33 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- 22/12/2008 MODIFICA PER GESTIONE RISTAMPE +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_UPDATE_FTP] + @Id INT, + @TipoReport varchar(2), + @IdZip INT +AS +BEGIN + IF @TipoReport <> 'LR' -- INVIO NORMALE + BEGIN + UPDATE [C6MartPeriodico].GESTIONE_PDF_FTP + SET + DataInvio = GetDate(), + FlagInvio = 'S', + Id_fk_Zip = @IdZip + WHERE + IdReport = @Id + END + ELSE -- INVIO DI UNA RISTAMPA. TENGO TRACCIA SOLO DELL'ULTIMA DATA DI RISTAMPA + BEGIN + UPDATE [C6MartPeriodico].GESTIONE_PDF_FTP + SET + DataInvioRistampa = GetDate(), + FlagInvio = 'S', + Id_fk_Zip = @IdZip + WHERE + IdReport = @Id + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_ZIP.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_ZIP.sql new file mode 100644 index 00000000..489fb4f9 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_ZIP.sql @@ -0,0 +1,32 @@ +CREATE PROCEDURE [C6MartPeriodico].[GESTIONE_UPDATE_ZIP] + @Id int +AS +BEGIN +Begin try + UPDATE [C6MartPeriodico].GESTIONE_ZIP_FTP + SET + DataInvio = GetDate(), + FlagInvio = 'S' + WHERE + Id = @Id; +update t +SET + t.STATO_REPORT = 6, + t.PACCHETTO_ZIP = @Id, + t.DATA_TRANSIZIONE=GETDATE() +from C6MartPeriodico.CONTROLLO_TRIMESTRALE t +inner join C6MARTPERIODICO.GESTIONE_PDF_FTP g +on t.rete=g.rete and t.cod_fiscale = g.codicefiscale +and ID_FK_ZIP = @Id +where STATO_REPORT = 4 +update t +SET + t.[Pacchetto_Zip] = @Id, + t.DATA_TRANSIZIONE=GETDATE() +from [C6MartPeriodico].[WHITELIST_ZIP] t +inner join C6MARTPERIODICO.GESTIONE_PDF_FTP g +on t.rete=g.rete and t.cod_fiscale = g.codicefiscale + end try + begin catch + end catch +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_ZIP_COPY.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_ZIP_COPY.sql new file mode 100644 index 00000000..55e25055 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_ZIP_COPY.sql @@ -0,0 +1,39 @@ +-- [C6MartPeriodico].[GESTIONE_UPDATE_ZIP_COPY] 811 +CREATE procedure [C6MartPeriodico].[GESTIONE_UPDATE_ZIP_COPY] + @Id int +AS +BEGIN + UPDATE [C6MartPeriodico].GESTIONE_ZIP_FTP + SET + DateCopyToSend = GetDate() + WHERE + Id = @Id; +-- COLAIANNI-CONSOLI - 28.06.2011 +-- SETTA NELLA CONTROLLO_REPORT LO STATO 6 (INVIATO) +-- PER TUTTI I REPORT CHE SI TROVANO NELLO STATO 4 (STAMPATO) + --UPDATE [C6MartPeriodico].CONTROLLO_TRIMESTRALE + --SET + -- STATO_REPORT = 6, + -- PACCHETTO_ZIP = @Id, + -- DATA_TRANSIZIONE=GETDATE() + --WHERE + -- STATO_REPORT = 4 + -- AND COD_FISCALE+RETE IN + -- ( + -- SELECT CODICEFISCALE+RETE + -- FROM C6MARTPERIODICO.GESTIONE_PDF_FTP + -- WHERE ID_FK_ZIP = @id + -- ); +-- Caruso-Verdecchia 17/04/2014 +--Sostituita per time-out +update t +SET + t.STATO_REPORT = 6, + t.PACCHETTO_ZIP = @Id, + t.DATA_TRANSIZIONE=GETDATE() +from C6MartPeriodico.CONTROLLO_TRIMESTRALE t +inner join C6MARTPERIODICO.GESTIONE_PDF_FTP g +on t.rete=g.rete and t.cod_fiscale = g.codicefiscale +and ID_FK_ZIP = @Id +where STATO_REPORT = 4 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_ZIP_SENT_FTP.sql b/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_ZIP_SENT_FTP.sql new file mode 100644 index 00000000..2d81da29 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GESTIONE_UPDATE_ZIP_SENT_FTP.sql @@ -0,0 +1,32 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_UPDATE_ZIP_SENT_FTP] + @Id int +AS +BEGIN + UPDATE [C6MartPeriodico].GESTIONE_ZIP_FTP + SET + DataInvio = GetDate(), + FlagInvio = 'S' + WHERE + Id = @Id +-- COLAIANNI-CONSOLI - 28.06.2011 +-- SETTA NELLA CONTROLLO_REPORT LO STATO 6 (INVIATO) +-- PER TUTTI I REPORT CHE SI TROVANO NELLO STATO 4 (STAMPATO) + UPDATE [C6MartPeriodico].CONTROLLO_TRIMESTRALE + SET + STATO_REPORT = 6, + PACCHETTO_ZIP = @Id, + DATA_TRANSIZIONE=GETDATE() + WHERE + STATO_REPORT = 4 + AND COD_FISCALE+RETE IN + ( + SELECT CODICEFISCALE+RETE + FROM C6MARTPERIODICO.GESTIONE_PDF_FTP + WHERE ID_FK_ZIP = @id + ); +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_DA.sql b/sql/storedProduzione/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_DA.sql new file mode 100644 index 00000000..66a09b52 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_DA.sql @@ -0,0 +1,85 @@ +CREATE procedure [C6MartPeriodico].[GETDATATHREADS_TRIMESTRALE_DA] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) = c6martperiodico.gettrimestre(getDate(),0); + WITH WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman <> '' and dttrim = @dtrim + ) + SELECT TOP (@volThreads) + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] + ,Maledetti.[tip_contratto] + ,Maledetti.[NomeRete] + ,Maledetti.[Agente] + ,Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente] + ,Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente] + ,Maledetti.[CittaAgente] + ,Maledetti.[TelefonoAgente] + ,Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFMonitoraggio + ,CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' + THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp' + ,CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde' + ,CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg' + ,CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + ,scaduto + FROM + wh.Maledetti Maledetti + inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + left outer join WSEIAN_1 wse on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE + Maledetti.tip_contratto=3 + and flag_stampa=1 + ORDER BY + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_DA_GB.sql b/sql/storedProduzione/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_DA_GB.sql new file mode 100644 index 00000000..6a1b6aca --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_DA_GB.sql @@ -0,0 +1,85 @@ +CREATE procedure [C6MartPeriodico].[GETDATATHREADS_TRIMESTRALE_DA_GB] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) = c6martperiodico.gettrimestre(getDate(),0); + WITH WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman <> '' and dttrim = @dtrim + ) + SELECT TOP (@volThreads) + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] + ,Maledetti.[tip_contratto] + ,Maledetti.[NomeRete] + ,Maledetti.[Agente] + ,Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente] + ,Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente] + ,Maledetti.[CittaAgente] + ,Maledetti.[TelefonoAgente] + ,Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFMonitoraggio + ,CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' + THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp' + ,CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde' + ,CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg' + ,CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + ,scaduto + FROM + wh.Maledetti Maledetti + inner join c6martperiodico.TB_Campione_GB Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + left outer join WSEIAN_1 wse on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE + Maledetti.tip_contratto=3 + and flag_stampa=1 + ORDER BY + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete]; +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_GB.sql b/sql/storedProduzione/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_GB.sql new file mode 100644 index 00000000..31fa0512 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_GB.sql @@ -0,0 +1,87 @@ +CREATE procedure [C6MartPeriodico].[GETDATATHREADS_TRIMESTRALE_GB] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) = c6martperiodico.gettrimestre(getDate(),0); + WITH WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman <> '' and dttrim = @dtrim + ) + SELECT TOP (@volThreads) + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] + ,Maledetti.[tip_contratto] + ,Maledetti.[NomeRete] + ,Maledetti.[Agente] + ,Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente] + ,Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente] + ,Maledetti.[CittaAgente] + ,Maledetti.[TelefonoAgente] + ,Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFMonitoraggio + ,CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' + THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp' + ,CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde' + ,CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg' + ,CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + ,scaduto + FROM + wh.Maledetti Maledetti + inner join c6martperiodico.TB_Campione_GB Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + left outer join WSEIAN_1 wse on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE + -- Maledetti.tip_contratto<>3 + -- and + flag_stampa=1 + ORDER BY + Maledetti.tip_contratto desc + ,Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_SEI.sql b/sql/storedProduzione/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_SEI.sql new file mode 100644 index 00000000..e8fc0656 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_SEI.sql @@ -0,0 +1,85 @@ +CREATE procedure [C6MartPeriodico].[GETDATATHREADS_TRIMESTRALE_SEI] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) = c6martperiodico.gettrimestre(getDate(),0); + WITH WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman <> '' and dttrim = @dtrim + ) + SELECT TOP (@volThreads) + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] + ,Maledetti.[tip_contratto] + ,Maledetti.[NomeRete] + ,Maledetti.[Agente] + ,Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente] + ,Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente] + ,Maledetti.[CittaAgente] + ,Maledetti.[TelefonoAgente] + ,Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFMonitoraggio + ,CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' + THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp' + ,CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde' + ,CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg' + ,CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + ,scaduto + FROM + wh.Maledetti Maledetti + inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + left outer join WSEIAN_1 wse on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE + Maledetti.tip_contratto<>3 + and flag_stampa=1 + ORDER BY + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_SEI_GB.sql b/sql/storedProduzione/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_SEI_GB.sql new file mode 100644 index 00000000..f5c68132 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_SEI_GB.sql @@ -0,0 +1,85 @@ +CREATE procedure [C6MartPeriodico].[GETDATATHREADS_TRIMESTRALE_SEI_GB] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) = c6martperiodico.gettrimestre(getDate(),0); + WITH WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman <> '' and dttrim = @dtrim + ) + SELECT TOP (@volThreads) + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] + ,Maledetti.[tip_contratto] + ,Maledetti.[NomeRete] + ,Maledetti.[Agente] + ,Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente] + ,Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente] + ,Maledetti.[CittaAgente] + ,Maledetti.[TelefonoAgente] + ,Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFMonitoraggio + ,CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' + THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp' + ,CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde' + ,CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg' + ,CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + ,scaduto + FROM + wh.Maledetti Maledetti + inner join c6martperiodico.TB_Campione_GB Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + left outer join WSEIAN_1 wse on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE + Maledetti.tip_contratto<>3 + and flag_stampa=1 + ORDER BY + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete]; +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Genera_Cruscotto_ContrattoSei.sql b/sql/storedProduzione/C6MartPeriodico_Genera_Cruscotto_ContrattoSei.sql new file mode 100644 index 00000000..2a3a3ff8 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Genera_Cruscotto_ContrattoSei.sql @@ -0,0 +1,50 @@ +CREATE procedure [C6MartPeriodico].[Genera_Cruscotto_ContrattoSei] +AS +BEGIN +-- INSERIMNETO NELLA TABELLA [C6MartPeriodico].Cruscotto_ContrattoSei dei contratti da elaborare +-- nel processo GeneraPDF +-- ELAB 0 DA ELABORARE PRIORITA ALTA' +-- ELAB 1 DA ELABORARE PRIORITA MEDIA' +-- ELAB 2 DA ELABORARE PRIORITA NORMALE' +-- ELAB 3 IN ELABORAZIONE' +-- ELAB 4 DA NON ELABORARE' +-- ELAB 10 ELABORATO' +-- ELAB -1 SCARTO DA DATATHREAD' +-- ELAB -2 ERRORE APPLICATIVO' +-- ELAB -3 ERRORE APPLICATIVO generatorpdf' +-- ELAB < -3 ERRORE APPLICATIVO non assegnati' +-- truncate Tabella [C6MartPeriodico].Cruscotto_ContrattoSei ( Elaborazione Precendete) +-- Lista Contratti da Elaborare in Processo GeneraPDF +truncate table C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +-- truncate Tabella [C6MartPeriodico].CRUSCOTTO_SCARTI_PDFGENERATOR ( Elaborazione Precendete) +-- Tabella Degli Scarti Processi PRecedenti +truncate table C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR +-- Aggiornamento Tabella C6MartPeriodico].[CRUSCOTTOSWITCH] +-- Flag di Elaborazione Processo GeneraPDf +-- 0 = Stop esecuzione Processo +-- 1 = Ok esecuzione processo +update [C6MartPeriodico].[CRUSCOTTOSWITCH] set elab = 1 +-- Inserimenti in Tabella Cruscotto di tutti i contratti da elaborare +insert into C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +select cod_fiscale as codice_fiscale, + rete as rete , + 2 as elab, -- Flag Elaborazione + null, + null, + null as dtstamp +-- Modifica del 27/3/2017 - Staging e Mart selettivo + --from C6StagingPeriodico.APPO_CONTRATTI +from C6stagingPERIODICO.appo_contratti_v +-- Fine Modifica del 27/3/2017 - Staging e Mart selettivo +-- Aggiornamento Dei Contratti da "non elaborare" +-- Non elaborare i contratti Scartati dal Mart ( Tabella Data Quality C6MartPeriodico.tb_SegnalazioniDataQuality ) +Update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +set Elab=4 +from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI Cr inner join C6MartPeriodico.tb_SegnalazioniDataQuality Dq +on Cr.Rete=Dq.Rete and Cr.CodiceFiscale=Dq.CodiceFiscale +-- Non elaborare i contratti Scartati x Disallineamenti +--Update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +--set Elab=4 +--from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI Cr inner join dbo.disallineati2 Di +--on Cr.Rete=Di.Rete and Cr.CodiceFiscale=Di.Cod_Fiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Genera_Cruscotto_ContrattoSei_20170407.SAVE.sql b/sql/storedProduzione/C6MartPeriodico_Genera_Cruscotto_ContrattoSei_20170407.SAVE.sql new file mode 100644 index 00000000..05e8b2ab --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Genera_Cruscotto_ContrattoSei_20170407.SAVE.sql @@ -0,0 +1,47 @@ +CREATE procedure [C6MartPeriodico].[Genera_Cruscotto_ContrattoSei_20170407.SAVE] +AS +BEGIN +-- INSERIMNETO NELLA TABELLA [C6MartPeriodico].Cruscotto_ContrattoSei dei contratti da elaborare +-- nel processo GeneraPDF +-- ELAB 0 DA ELABORARE PRIORITA ALTA' +-- ELAB 1 DA ELABORARE PRIORITA MEDIA' +-- ELAB 2 DA ELABORARE PRIORITA NORMALE' +-- ELAB 3 IN ELABORAZIONE' +-- ELAB 4 DA NON ELABORARE' +-- ELAB 10 ELABORATO' +-- ELAB -1 SCARTO DA DATATHREAD' +-- ELAB -2 ERRORE APPLICATIVO' +-- ELAB -3 ERRORE APPLICATIVO generatorpdf' +-- ELAB < -3 ERRORE APPLICATIVO non assegnati' +-- truncate Tabella [C6MartPeriodico].Cruscotto_ContrattoSei ( Elaborazione Precendete) +-- Lista Contratti da Elaborare in Processo GeneraPDF +truncate table C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +-- truncate Tabella [C6MartPeriodico].CRUSCOTTO_SCARTI_PDFGENERATOR ( Elaborazione Precendete) +-- Tabella Degli Scarti Processi PRecedenti +truncate table C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR +-- Aggiornamento Tabella C6MartPeriodico].[CRUSCOTTOSWITCH] +-- Flag di Elaborazione Processo GeneraPDf +-- 0 = Stop esecuzione Processo +-- 1 = Ok esecuzione processo +update [C6MartPeriodico].[CRUSCOTTOSWITCH] set elab = 1 +-- Inserimenti in Tabella Cruscotto di tutti i contratti da elaborare +insert into C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +select cod_fiscale as codice_fiscale, + rete as rete , + 2 as elab, -- Flag Elaborazione + null, + null, + null as dtstamp +from C6StagingPeriodico.APPO_CONTRATTI +-- Aggiornamento Dei Contratti da "non elaborare" +-- Non elaborare i contratti Scartati dal Mart ( Tabella Data Quality C6MartPeriodico.tb_SegnalazioniDataQuality ) +Update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +set Elab=4 +from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI Cr inner join C6MartPeriodico.tb_SegnalazioniDataQuality Dq +on Cr.Rete=Dq.Rete and Cr.CodiceFiscale=Dq.CodiceFiscale +-- Non elaborare i contratti Scartati x Disallineamenti +--Update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +--set Elab=4 +--from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI Cr inner join dbo.disallineati2 Di +--on Cr.Rete=Di.Rete and Cr.CodiceFiscale=Di.Cod_Fiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Gestione_Bonus.sql b/sql/storedProduzione/C6MartPeriodico_Gestione_Bonus.sql new file mode 100644 index 00000000..a185546f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Gestione_Bonus.sql @@ -0,0 +1,14 @@ +--[C6MartPeriodico].[Gestione_Bonus] 'S', 'CHTDRA58S17D969J' +CREATE procedure [C6MartPeriodico].[Gestione_Bonus] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + select COD_FISCALE as CodiceFiscale + from [C6MartPeriodico].Bonus + where + RETE = @Rete + AND COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Gestione_ProdottiProtetti.sql b/sql/storedProduzione/C6MartPeriodico_Gestione_ProdottiProtetti.sql new file mode 100644 index 00000000..cdc22c42 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Gestione_ProdottiProtetti.sql @@ -0,0 +1,89 @@ +--[C6MartPeriodico].[Gestione_ProdottiProtetti] 'F', 'BBNLSN51E27D612T' +CREATE procedure [C6MartPeriodico].[Gestione_ProdottiProtetti] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +declare @isinInterfund80 varchar(20) +set @isinInterfund80 = 'LU1106988527' +BEGIN +declare @OrdineRiga int +declare @conta int +set @conta = 0 +set @OrdineRiga = 0 + -- 1 LINEA MULTIRAMO + SELECT + @CodiceFiscale as CodiceFiscale + ,'FV Sintonia Linea Protezione 85' as DescrizioneProdotto + ,COD_CONF as Contratto + ,'TipoParagrafo1' as TipoParagrafo + ,'TipoProdotto1' as TipoProdotto + ,ROW_NUMBER() OVER(order by @CodiceFiscale) as OrdineRiga + into #LineaMultiramo + from [C6MartPeriodico].[CAPPROT_FVI] + where rete = @Rete + and codfis = @CodiceFiscale + and codprod = 'RF' and subprod = 'MP' + select @conta = count(*) from #LineaMultiramo + if @conta > 0 + select @OrdineRiga = max(OrdineRiga) from #LineaMultiramo + -- 2 BLUE AND WHITE + SELECT + @CodiceFiscale as CodiceFiscale + ,DES_PROD_TIT as DescrizioneProdotto + ,COD_CONF as Contratto + ,'TipoParagrafo2' as TipoParagrafo + , + case + when SUBPROD = 'CS80' then 'TipoProdotto2' + when SUBPROD = 'CT80' then 'TipoProdotto3' + end as TipoProdotto + ,ROW_NUMBER() OVER(order by somma_ctv desc, controvalore_riferimento desc) + @OrdineRiga AS OrdineRiga + into #BlueWhite + from [C6MartPeriodico].[CAPPROT_FVI] + where SUBPROD in ('CS80', 'CT80') + and Rete = @Rete + and CODFIS = @CodiceFiscale + order by somma_ctv desc, controvalore_riferimento desc + select @conta = count(*) from #BlueWhite + if @conta > 0 + select @OrdineRiga = max(OrdineRiga) from #BlueWhite + --3 INTERFUND + SELECT + a.CODFIS as CodiceFiscale + ,a.des_prod_tit as DescrizioneProdotto + ,'' as Contratto + ,'TipoParagrafo3' as TipoParagrafo + ,'TipoProdotto1' as TipoProdotto + ,@OrdineRiga + 1 AS OrdineRiga + into #Interfund80 + FROM C6MartPeriodico.capprot a + WHERE 1=1 + AND a.RETE = @Rete + AND a.CODFIS = @CodiceFiscale + select @conta = count(*) from #Interfund80 + if @conta > 0 + select @OrdineRiga = max(OrdineRiga) from #Interfund80 + -- 4 FONDITALIA + SELECT + a.CODFIS as CodiceFiscale + ,a.desprodtit as DescrizioneProdotto + ,'' as Contratto + ,'TipoParagrafo3' as TipoParagrafo + ,'TipoProdotto2' as TipoProdotto + ,@OrdineRiga + 1 AS OrdineRiga + into #Fonditalia80 + FROM c6martperiodico.foi80 a + WHERE 1=1 + AND a.RETE = @Rete + AND a.CODFIS = @CodiceFiscale + select * from #LineaMultiramo + union + select * from #BlueWhite + union + select * from #Interfund80 + union + select * from #Fonditalia80 + order by OrdineRiga +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Gestione_ProdottiProtetti_20171215.sql b/sql/storedProduzione/C6MartPeriodico_Gestione_ProdottiProtetti_20171215.sql new file mode 100644 index 00000000..8b8a6ea3 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Gestione_ProdottiProtetti_20171215.sql @@ -0,0 +1,89 @@ +--[C6MartPeriodico].[Gestione_ProdottiProtetti] 'F', 'TTVNNA39S64H935H' +CREATE procedure [C6MartPeriodico].[Gestione_ProdottiProtetti_20171215] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +declare @isinInterfund80 varchar(20) +set @isinInterfund80 = 'LU1106988527' +BEGIN +declare @OrdineRiga int +declare @conta int +set @conta = 0 +set @OrdineRiga = 0 + -- 1 LINEA MULTIRAMO + SELECT + @CodiceFiscale as CodiceFiscale + ,'Polizza Multiramo con protezione Linea Protetta' as DescrizioneProdotto + ,COD_CONF as Contratto + ,'TipoParagrafo1' as TipoParagrafo + ,'TipoProdotto1' as TipoProdotto + ,ROW_NUMBER() OVER(order by @CodiceFiscale) as OrdineRiga + into #LineaMultiramo + from [C6MartPeriodico].[CAPPROT_FVI] + where rete = @Rete + and codfis = @CodiceFiscale + and codprod = 'RF' and subprod = 'MP' + select @conta = count(*) from #LineaMultiramo + if @conta > 0 + select @OrdineRiga = max(OrdineRiga) from #LineaMultiramo + -- 2 BLUE AND WHITE + SELECT + @CodiceFiscale as CodiceFiscale + ,DES_PROD_TIT as DescrizioneProdotto + ,COD_CONF as Contratto + ,'TipoParagrafo2' as TipoParagrafo + , + case + when SUBPROD = 'CS80' then 'TipoProdotto2' + when SUBPROD = 'CT80' then 'TipoProdotto3' + end as TipoProdotto + ,ROW_NUMBER() OVER(order by somma_ctv desc, controvalore_riferimento desc) + @OrdineRiga AS OrdineRiga + into #BlueWhite + from [C6MartPeriodico].[CAPPROT_FVI] + where SUBPROD in ('CS80', 'CT80') + and Rete = @Rete + and CODFIS = @CodiceFiscale + order by somma_ctv desc, controvalore_riferimento desc + select @conta = count(*) from #BlueWhite + if @conta > 0 + select @OrdineRiga = max(OrdineRiga) from #BlueWhite + --3 INTERFUND + SELECT + a.CODFIS as CodiceFiscale + ,a.des_prod_tit as DescrizioneProdotto + ,'' as Contratto + ,'TipoParagrafo3' as TipoParagrafo + ,'TipoProdotto1' as TipoProdotto + ,ROW_NUMBER() OVER(order by controvalore desc) + @OrdineRiga AS OrdineRiga + into #Interfund80 + FROM C6MartPeriodico.capprot a + WHERE 1=1 + AND a.RETE = @Rete + AND a.CODFIS = @CodiceFiscale + select @conta = count(*) from #Interfund80 + if @conta > 0 + select @OrdineRiga = max(OrdineRiga) from #Interfund80 + -- 4 FONDITALIA + SELECT + a.CODFIS as CodiceFiscale + ,a.desprodtit as DescrizioneProdotto + ,'' as Contratto + ,'TipoParagrafo3' as TipoParagrafo + ,'TipoProdotto2' as TipoProdotto + ,ROW_NUMBER() OVER(order by ctv desc) + @OrdineRiga AS OrdineRiga + into #Fonditalia80 + FROM c6martperiodico.foi80 a + WHERE 1=1 + AND a.RETE = @Rete + AND a.CODFIS = @CodiceFiscale + select * from #LineaMultiramo + union + select * from #BlueWhite + union + select * from #Interfund80 + union + select * from #Fonditalia80 + order by OrdineRiga +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GetFilesForSendingByFTP.sql b/sql/storedProduzione/C6MartPeriodico_GetFilesForSendingByFTP.sql new file mode 100644 index 00000000..cb4cdff9 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GetFilesForSendingByFTP.sql @@ -0,0 +1,5 @@ +CREATE procedure [C6MartPeriodico].[GetFilesForSendingByFTP] +AS +BEGIN + select id, nomefile from [C6MartPeriodico].[GESTIONE_ZIP_FTP] where datecopytosend is null +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GetQueryContratti.sql b/sql/storedProduzione/C6MartPeriodico_GetQueryContratti.sql new file mode 100644 index 00000000..6e5efa2a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GetQueryContratti.sql @@ -0,0 +1,13 @@ +CREATE procedure [C6MartPeriodico].[GetQueryContratti] +as + SELECT + '[' + s.name + '].[' + p.Name + ']' as QueryContratti, + SchemaName = s.name, + ProcedureName = p.name, + s.* + FROM + sys.procedures p + INNER JOIN sys.schemas s + ON p.schema_id = s.schema_id + where s.name like 'C6Mart%' and p.name like '%GETDATATHREADS%' + order by p.name \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_GetRiskArea.sql b/sql/storedProduzione/C6MartPeriodico_GetRiskArea.sql new file mode 100644 index 00000000..59ec1c7f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_GetRiskArea.sql @@ -0,0 +1,20 @@ +--[C6MartPeriodico].[GetRiskArea] 'S', 'GLLRFL52L02L219D' +CREATE procedure [C6MartPeriodico].[GetRiskArea] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + select + case + when b.profilo is null then -1 + else b.profilo + end as profiloCode + FROM + C6MartPeriodico.mifid a + left outer join C6MartPeriodico.CODIFICA_RISCHIO b + on A.PROFILO_ASS=B.PROFILO + WHERE + a.COD_FISCALE = @CodiceFiscale + and a.RETE= @Rete +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_INSERISCI_FASE2_PER_CAMBIO_RETE.sql b/sql/storedProduzione/C6MartPeriodico_INSERISCI_FASE2_PER_CAMBIO_RETE.sql new file mode 100644 index 00000000..ec2b667b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_INSERISCI_FASE2_PER_CAMBIO_RETE.sql @@ -0,0 +1,154 @@ +CREATE procedure [C6MartPeriodico].[INSERISCI_FASE2_PER_CAMBIO_RETE] +AS +--Creo un cursore per ciclare sui cf per i quali devo ri-creare la fase2 +DECLARE Cur_CF CURSOR FOR + SELECT [RETE_C],[RETE_R],[CODFIS],[FLAG_ELAB],DT_ELAB FROM [C6StampeCentralizzate].[C6MartPeriodico].[ANAG_CAMBIO_RETE] +--creo la tabella temporanea dove inserire la riga letta +declare @t_DTCHRETE as datetime +declare @t_COGNOME as varchar(50) +declare @t_RETE_C [varchar](1) +declare @t_RETE_R [varchar](1) +declare @t_CODFIS [varchar](16) +declare @t_CODAGE_C [varchar](6) +declare @t_CODAGE_R [varchar](6) +declare @t_FLAG_ELAB [varchar](1) +declare @t_DT_ELAB [datetime] +---------------------------------------------------------- +DECLARE @DataFase datetime +DECLARE @DataFineAvanzato datetime +SET @DataFase = CONVERT(DATETIME, [c6newcu].C6MARTPERIODICO.GETTRIMESTRE2('2019-02-14',0), 103) +SET @DataFineAvanzato = '2019-02-14' --IMPOSTO LA DATA DEL BACKUP DEL DB TRIMESTRALE +---------------------------------------------------------- +--ATTIVARE il CURSORE +OPEN Cur_CF +--PRELEVO la prossima riga +FETCH NEXT FROM Cur_CF into @t_RETE_C,@t_RETE_R,@t_CODFIS,@t_FLAG_ELAB,@t_DT_ELAB +--Finchè trovo nuove righe... +WHILE @@FETCH_STATUS = 0 +begin + --print @t_RETE_R + '/' + @t_CODFIS + ' <' + @t_FLAG_ELAB + '>' + if @t_FLAG_ELAB = 'S' + begin + -- inserisco nella tabella di log + INSERT INTO [C6MartPeriodico].[LOG_CAMBIO_RETE] VALUES (getdate(),@t_RETE_C,@t_RETE_R,@t_CODFIS, 'GIA'' ELABORATO IN DATA '+LEFT(CONVERT(VARCHAR, @t_DT_ELAB, 120), 10)); + end + ELSE + begin + --********************************************************************************************** + -- inserimento in [consulenzaUnica].dbo.REP_S80_EVOL_STAMPA_C6 + -- query estratta dalla sp di ribaltamento dei dati in post trimestrale + -- + --********************************************************************************************** + insert into [CONSUNI].[consulenzaUnica].dbo.REP_S80_EVOL_STAMPA_C6 + SELECT + A.ChiaveClientePB, + CASE + WHEN AREA IN ('SELFXY', 'SELFFO') THEN 'SELF' + ELSE UPPER(AREA) + END as AREA, + CASE + WHEN AREA = 'Inv' THEN 2 + WHEN AREA = 'Pre' THEN 3 + WHEN AREA = 'Ris' THEN 4 + WHEN AREA = 'Ext' THEN 1 + WHEN AREA = 'Liq' THEN 5 + WHEN AREA = 'Na' THEN 6 + WHEN AREA = 'Cc' THEN 7 + WHEN AREA = 'SelfXY' THEN 8 + WHEN AREA = 'SelfFO' THEN 9 + ELSE 0 + END AS ORDINE, + FASE, + @DataFase AS DATA_FASE, + CONTROVALORE, + SUM(RISORSEALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSEALLOCATE, + SUM(RISORSENONALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSENONALLOCATE, + SUM(CONTOCORRENTE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS CONTOCORRENTE, + SUM(PVDISINV) over (partition by A.cod_fiscale,A.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + RA.COPERTURA, + MFD.PROFILO_ASS AS PROFILO, + COD_AGENTE AS AGENTE, + case + when isnull(ra.CREDITRISK,0) > 0 + then cast(ra.CREDITRISK as varchar(5)) + --else 'n.a.' + else '5' + end AS RISKCLASS, + MFD.RISKCLASS AS RISKCLASSMAX, + CASE WHEN AREA IN ('SelfXY') THEN CONTROVALORE ELSE 0 END AS LineaSelf, + CASE WHEN AREA IN ('SelfFO') THEN CONTROVALORE ELSE 0 END AS LineaSelfFoglio + FROM + (SELECT + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'XY' THEN 'SELFXY' + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'FO' THEN 'SELFFO' + ELSE LEFT(PBF.ID_AREA,3) + END as AREA, + 2 AS FASE, + SUM(CTV) AS CONTROVALORE, + sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, + max(isnull(PVIA.IMPORTO,0)) AS PVINV, + SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE PBF.CTV END) AS RISORSEALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Na') THEN PBF.CTV ELSE 0 END) AS RISORSENONALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Cc') THEN PBF.CTV ELSE 0 END) AS CONTOCORRENTE + FROM + [c6stampecentralizzate].C6MART.VCONTRATTI VC + INNER JOIN + [c6newcu].C6MARTPERIODICO.PATRIMONIO_BF PBF + ON PBF.rete = @t_RETE_C + AND VC.cod_Fiscale = PBF.cod_fiscale + LEFT OUTER JOIN + [c6newcu].C6MARTPERIODICO.PARTITE_VIAGGIANTI PVIA + ON + PBF.COD_FISCALE=PVIA.COD_FISCALE + AND PBF.RETE=PVIA.RETE + INNER JOIN + [c6newcu].C6MARTPERIODICO.GESTIONE_PDF_FTP PDFFTP + ON + VC.COD_FISCALE=PDFFTP.CODICEFISCALE + AND PDFFTP.RETE = @t_RETE_C + WHERE 1=1 + AND TIPOREPORT = 'M' + AND FLAGINVIO='S' + AND ISNULL(VC.DATA_FINEAVANZATO, '99991231') > @DataFineAvanzato + and vc.cod_fiscale = @t_CODFIS + GROUP BY + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'XY' THEN 'SELFXY' + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'FO' THEN 'SELFFO' + ELSE LEFT(PBF.ID_AREA,3) + END + ) A + LEFT OUTER JOIN [c6newcu].C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON A.RETE = RA.RETE + AND A.COD_FISCALE = RA.COD_FISCALE + INNER JOIN [c6newcu].C6MartPeriodico.MIFID AS MFD + ON A.RETE = MFD.RETE + AND A.COD_FISCALE = MFD.COD_FISCALE + INNER JOIN [c6newcu].C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MFD.PROFILO_ASS = CR.PROFILO + WHERE COD_AGGREG = 'COMPLESSIVO|BF' + --********************************************************************************************** + -- FINE inserimento in [consulenzaUnica].dbo.REP_S80_EVOL_STAMPA_C6 + -- + --********************************************************************************************** + -- inserisco nella tabella di log + INSERT INTO [C6MartPeriodico].[LOG_CAMBIO_RETE] VALUES (getdate(),@t_RETE_C,@t_RETE_R,@t_CODFIS, 'Inserite ' + Convert(Varchar(12),@@rowCount) + ' righe' ); + end + --Continuo + FETCH NEXT FROM Cur_CF into @t_RETE_C,@t_RETE_R,@t_CODFIS,@t_FLAG_ELAB,@t_DT_ELAB +end +--CHIUDO il CURSORE +CLOSE Cur_CF +--RIMUOVO il CURSORE dalla memoria +DEALLOCATE Cur_CF \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Inizializzazione_tabellone.sql b/sql/storedProduzione/C6MartPeriodico_Inizializzazione_tabellone.sql new file mode 100644 index 00000000..5bd8b547 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Inizializzazione_tabellone.sql @@ -0,0 +1,181 @@ +CREATE procedure [C6MartPeriodico].[Inizializzazione_tabellone] +AS +BEGIN + SET NOCOUNT ON; + TRUNCATE TABLE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + --drop index if exists [IDX_TABELLONE_RETE_ACN] on [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + INSERT INTO [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + ([rete_acn] + ,[chiave_acn] + ,[indirizzo] + ,[cap] + ,[citta] + ,[provincia] + ,[nazione] + ,[codconf] + ,[codman] + ,rete + ,[chiave_cap] + ,[Tipo_cliente] + ) +select rete,rete+COD_FISCALE,INDIRIZZO,cap,CITTA,PROVINCIA,NAZIONE,codiceContratto,COD_MANDATO,rete, +case when COD_FISCALE not like '%@%' then rete+COD_FISCALE+isnull(PIVA_FIDUCIARIA,'')+isnull(COD_MANDATO,'') +else rete+isnull(PIVA_FIDUCIARIA,'')+isnull(COD_MANDATO,'') end, case when TIP_CONTRATTO=3 then 'Direct' else 'Sei' end as Tipo_Cliente +FROM [C6StampeCentralizzate].[C6StagingPeriodico].[APPO_CONTRATTI] + --select * from consuni_periodico.ConsulenzaUnica.dbo.Cliente where codfis is null +-- create NONCLUSTERED INDEX [IDX_TABELLONE_RETE_ACN] ON [C6MartPeriodico].[tabellone] +--( [chiave_acn] ASC ) +--WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set DTTRIM=[C6MartPeriodico].[getTrimestre2](getdate(),0) +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set nome = tab.NOME , cognome = tab.COGNOME ,dtnasci=tab.dtNascita,codfis=tab.codfis + from consuni_periodico.ConsulenzaUnica.dbo.Cliente tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on substring(a.chiave_acn,2,17)= tab.codfis + --select * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[APPO_CONTRATTI] +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set nome = tab.NOME , cognome = tab.COGNOME ,dtnasci=tab.dtNascita,codfis=tab.piva + from consuni_periodico.ConsulenzaUnica.dbo.Cliente tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on substring(a.chiave_acn,2,17)= tab.piva +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set nome = tab.NOME , cognome = tab.COGNOME ,dtnasci=tab.dtNascita,codfis=tab.piva + from consuni_periodico.ConsulenzaUnica.dbo.Cliente tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on substring(a.chiave_acn,5,11)= tab.codman + where len(chiave_acn) <= 10 +--problema nome, cognome +if((select COUNT(*) from C6MartPeriodico.tabellone where cognome is null)>0) +begin +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set nome = tab.NOME , cognome = tab.COGNOME ,dtnasci=tab.DATA_NASCITA + from c6mart.anag_clienti tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on a.chiave_acn=tab.rete+tab.cod_fiscale + where a.cognome is null +end +update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] +set cognome =codman+' - '+'SOCIETA'' ITALIANA DI REVISIONE E FIDUCIARIA' ,nome='' +where +cognome like '%SOCIETA'' ITALIANA DI RE%' +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set codice_agente= w.Codice_Agente,nominativo_pb=trim(w.[Nominativo_ Agente]) ,codice_fiscale=w.CodiceFiscale, + freq_monitoraggio=w.Freq_Monitoraggio,freq_diagnosi=w.[Freq_ Diagnosi],data_revoca=try_CONVERT(date,cast(w.Data_Revoca as varchar) ,23), + tipo_contratto=w.TipoContratto,tipo_riattivazione=w.TipoRiattivazione,rol_effettiva=isnull(w.ROL,'S') + from [dbo].[W6TRCLI] w + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on w.Rete+w.CodiceFiscale=a.chiave_acn +--data sottoscrizione (faccio due update per qualcuno che ha delle problematiche, per preferenza meglio il consuni_periodico perciò viene fatto dopo) +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] +set cfm_dsottos=data_sottoscrizione_c6 +from consuni.consulenzaunicafl.dbo.cbs_dbcontrattosei c left join C6MartPeriodico.tabellone t on c.cod_conf=t.codconf +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] +set cfm_dsottos=data_sottoscrizione_c6 +from consuni_periodico.consulenzaunicafl.dbo.cbs_dbcontrattosei c left join C6MartPeriodico.tabellone t on c.cod_conf=t.codconf +--problema nominativo agente +if ((select COUNT(*) from C6MartPeriodico.tabellone where nominativo_pb='')>0) +begin +update C6MartPeriodico.tabellone +set nominativo_pb=v.nomePb+''+v.cognomePB +from consuni_periodico.consulenzaunica.dbo.vinfocliente v left join C6MartPeriodico.tabellone t on v.rete+v.Codfis+v.Agente=t.chiave_acn+t.codice_agente +where nominativo_pb='' +update C6MartPeriodico.tabellone +set nominativo_pb=v.nomePb+''+v.cognomePB +from consuni_periodico.consulenzaunica.dbo.vinfocliente v left join C6MartPeriodico.tabellone t on v.rete+v.piva+v.Agente=t.chiave_acn+t.codice_agente +where nominativo_pb='' +update C6MartPeriodico.tabellone +set nominativo_pb=v.nomePb+''+v.cognomePB +from consuni_periodico.consulenzaunica.dbo.vinfocliente v left join C6MartPeriodico.tabellone t on v.rete+'FF@'+v.codman+v.Agente=t.chiave_acn+t.codice_agente +where nominativo_pb='' +end +--fine nominativo agente +--campi Cambio Rete +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set rete_c=tab.reteOLD,rete_r=tab.reteNEW,dt_ultimo_cr=dtcaricamento + from [consuni_periodico].[consulenzaunicafl].[dbo].[ClienteCambioRete_st] tab inner join + [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on tab.ReteNEW+tab.Codicefiscale=a.chiave_acn + where tab.Codicefiscale <> '' +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set rete_c=tab.reteOLD,rete_r=tab.reteNEW,dt_ultimo_cr=dtcaricamento + from [consuni_periodico].[consulenzaunicafl].[dbo].[ClienteCambioRete_st] tab inner join + [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on tab.ReteNEW+tab.partitaiva=a.chiave_acn + where tab.partitaiva <> '' +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set rete_c=tab.reteOLD,rete_r=tab.reteNEW,dt_ultimo_cr=dtcaricamento + from [consuni_periodico].[consulenzaunicafl].[dbo].[ClienteCambioRete_st] tab inner join + [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on tab.ReteNEW+'FF@'+tab.Codman=a.chiave_acn + where tab.codman <> '' +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set rete_c='',rete_r='' + where rete_c is null or rete_r is null or dt_ultimo_cr is null +--fine Cambio rete + --select * from [consuni_periodico].[consulenzaunicafl].[dbo].[ClienteCambioRete_fl] + --select * from [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] where rete_r is not null +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set cocf_subprod='6P' + from [dbo].[W6TRCLI] w inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a on w.rete+w.CodiceFiscale=a.chiave_acn + --select * from [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set segmento='PRIVATE' + from [dbo].[W6TRCLI] w inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a on w.rete+w.CodiceFiscale=a.chiave_acn +--flag professional inizio immesso adesso perche ci serve come filtro + Update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set flgprof= (case + when v.tipoconsulenza='P' then 'S' + else 'N' end) + from consuni_periodico.consulenzaunica.dbo.vinfocliente v left join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a on v.Rete+v.codfis=a.chiave_acn + where v.codfis <> '' and dtendsei is not null + Update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set flgprof= (case + when v.tipoconsulenza='P' then 'S' + else 'N' end) + from consuni_periodico.consulenzaunica.dbo.vinfocliente v left join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a on v.Rete+v.piva=a.chiave_acn + where v.piva <> '' and (v.codman is null or v.codman='') and dtendsei is not null + Update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set flgprof= (case + when v.tipoconsulenza='P' then 'S' + else 'N' end) + from consuni_periodico.consulenzaunica.dbo.vinfocliente v left join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a on v.Rete+'FF@'+v.Codman=a.chiave_acn + where v.codman <> ''and dtendsei is not null +--fine flag professional + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set cognome=cognome+' '+nome ,nome='' + from [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] where len(chiave_acn)=12 and cognome not like '%SOCIETA'' ITALIANA DI RE%' --per le piva + update C6MartPeriodico.tabellone + set campione1=case when chiave_acn in (select rete+cod_fiscale from C6MartPeriodico.TB_Campione) then 'S' else 'N' end +--lettera di benvenuto +drop table if exists #lettera_benvenuto +SELECT d.rete, d.codicefiscale,d.idreport,d.tiporeport,d.datagenerazione,d.datainvio,d.DataInvioRistampa,d.FlagInvio,d.NomeFile,d.numeroPagine,d.ID_ELAB,d.id_Fk_zip +into #lettera_benvenuto +FROM +( + SELECT rete,codicefiscale, Max(datainvio) as datamax + FROM C6Mart.gestione_pdf_ftp + GROUP BY rete,codicefiscale +) r +INNER JOIN C6Mart.gestione_pdf_ftp d +ON d.rete=r.rete and d.CodiceFiscale=r.codicefiscale AND d.DataInvio=r.datamax +where d.Rete+d.CodiceFiscale in (select chiave_acn from C6MartPeriodico.tabellone) order by codicefiscale,datainvio +update C6MartPeriodico.tabellone +set cocf_dtletbenv=datainvio +from #lettera_benvenuto b inner join C6MartPeriodico.tabellone t on b.rete+b.codicefiscale=t.chiave_acn +--fine lettera benvenuto +update c6martperiodico.tabellone +set lettera_sost='N' +update c6martperiodico.tabellone +set stato_cliente='Attivo' +-- FerAcu 20241029 Ogni volta che il TABELLONE viene ricostruito, si perdevano i dati dell'IMMOBILIARE + UPDATE t + set flgpe_perimetro_semestr = i.FLAG_IN_PERIMETRO + , solo_rend_imm = isnull(i.RENDICONTO_IMM,'N') + , anche_rend_sei = i.RENDICONTO_SEI + from [C6MartPeriodicoImmobiliare].[W6IMM] i + Join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] t on t.chiave_acn = i.RETE+i.CODFIS +truncate table C6MartPeriodico.APPREND_DTSX_Tabellone +insert into C6MartPeriodico.APPREND_DTSX_Tabellone +select * from C6MartPeriodico.vTabellone +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Inserimento_TrimestraleScarti_ExcludedList.sql b/sql/storedProduzione/C6MartPeriodico_Inserimento_TrimestraleScarti_ExcludedList.sql new file mode 100644 index 00000000..d319f67d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Inserimento_TrimestraleScarti_ExcludedList.sql @@ -0,0 +1,5 @@ +CREATE procedure [C6MartPeriodico].[Inserimento_TrimestraleScarti_ExcludedList] +as + -- Log esecuzione + INSERT INTO [C6MartPeriodico].[ExcludedList] + select rete,codfis,blacklist,datainsert,bloccato=1 from C6StagingPeriodico.TRIMESTRALE_SCARTI \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Inserimento_TrimestraleScarti_SegnalazioneDataQuality.sql b/sql/storedProduzione/C6MartPeriodico_Inserimento_TrimestraleScarti_SegnalazioneDataQuality.sql new file mode 100644 index 00000000..edae4a65 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Inserimento_TrimestraleScarti_SegnalazioneDataQuality.sql @@ -0,0 +1,9 @@ +CREATE procedure [C6MartPeriodico].[Inserimento_TrimestraleScarti_SegnalazioneDataQuality] +as +SELECT idTipoControllo,RETE,CODFIS,DescSegnalazione,idElaborazione=(select max(id_elab) from c6martperiodico.elaborazioni ),idFaseElaborazione=2,datainsert + into #appoggio1 + FROM [C6StagingPeriodico].[Trimestrale_Scarti] q + left join [C6MartPeriodico].[tb_TipoControllo] a + on a.DescTipoControllo like q.BLACKLIST + INSERT INTO [C6MartPeriodico].[tb_SegnalazioniDataQuality] (idTipoControllo,rete,codiceFiscale,descSegnalazione,idElaborazione,idFaseElaborazione,dataInserimento) + select * from #appoggio1 \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Monitoraggio_Giornaliero.sql b/sql/storedProduzione/C6MartPeriodico_Monitoraggio_Giornaliero.sql new file mode 100644 index 00000000..c9a3b159 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Monitoraggio_Giornaliero.sql @@ -0,0 +1,13 @@ +CREATE PROCEDURE [C6MartPeriodico].[Monitoraggio_Giornaliero] +AS +BEGIN +declare @id1 as int +select @id1 = MAX (id) from consuni.[ConsulenzaUnicaFL].[dbo].semaforo where nomebatch='Giornaliero' +declare @conta2 as int +set @conta2 = 0 +while ( @conta2 = 0 ) +begin +waitfor delay '00:00:30'; +select @conta2 = flsemaforo from consuni.[ConsulenzaUnicaFL].[dbo].semaforo where id=@id1 +end +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Motivo_ExcludedList.sql b/sql/storedProduzione/C6MartPeriodico_Motivo_ExcludedList.sql new file mode 100644 index 00000000..7320e55e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Motivo_ExcludedList.sql @@ -0,0 +1,12 @@ +CREATE procedure [C6MartPeriodico].[Motivo_ExcludedList] + @motivo varchar(200) +AS +BEGIN +SELECT [Rete] + ,[codicefiscale] + ,[DescrErr] + ,[DataIns] + ,[Bloccato] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[ExcludedList_testing] + WHERE [DescrErr] = @motivo +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate.sql b/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate.sql new file mode 100644 index 00000000..08b30f15 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate.sql @@ -0,0 +1,293 @@ +-- Stored procedure +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate] --'F','BCCMLS56L57F257O' + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @tip_contratto int +select @tip_contratto=tip_contratto from wh.Maledetti where rete=@Rete and CodiceFiscale=@CodiceFiscale +--set @tip_contratto=3 --forzatura per FD +if(@tip_contratto=3) +begin +SELECT +NEED_AREA, +NEED_ESTESA, +--NOME_PROGETTO, + CASE + WHEN ROW_NUMBER() OVER (PARTITION BY NOME_PROGETTO ORDER BY MAX(ORDINE), ORDINAMENTO_PROGETTO) > 1 + THEN NOME_PROGETTO + ' (' + CAST(ROW_NUMBER() OVER (PARTITION BY NOME_PROGETTO ORDER BY MAX(ORDINE), ORDINAMENTO_PROGETTO) - 1 AS NVARCHAR(10)) + ')' + ELSE NOME_PROGETTO + END AS Nome_Progetto, +--CONTROLLO NOME PROGETTO DUPLICATO, TOLTO IL MAX, AGGIUNTO NEL GROUP BY +ORDINAMENTO_PROGETTO, +--MAX(ORDINAMENTO_PROGETTO) AS ORDINAMENTO_PROGETTO, +MAX(ORDINE) AS ORDINE, +--rimettere il min e commentare il ctv=0 +max(AREAPROGETTOSOTTOMONITORAGGIO) AS AREAPROGETTOSOTTOMONITORAGGIO +into #temp +FROM +( + --1.1 liq sotto monit + SELECT + 'Inv' AS Need_Area, + 'Investimento' AS Need_Estesa, + CASE WHEN PIRMOD.NOME_PROGETTO is null and pirmod.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PIRMOD.NOME_PROGETTO)) + END AS Nome_Progetto, + PIRMOD.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PIRMOD.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 6 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + (SELECT + RETE, + COD_FISCALE, + case when ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else id_area end as Id_area, + NOME_PROGETTO, + TIPO_PROGETTO, + PERC_AREA, + CTV_PROGETTO, + CTV_AREA, + ORIZZ_TEMP_NUM, + ORIZZ_TEMP, + CTV_TOTALE, + STATO_CONSULENZA, + DATA_STATO_CONS, + DATA_MIGR_CONS, + DATA_PIANIF, + ID_CONTRATTO, ---LEVARE??? + ORDINAMENTO_PROGETTO + FROM + C6MartPeriodico.CONS_ATTIVAGGIORNATA + WHERE + COD_FISCALE=@CodiceFiscale + and rete= @Rete + ) PIRMOD + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PIRMOD.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PIRMOD.COD_FISCALE + AND MONIT.RETE=PIRMOD.RETE + AND MONIT.ID_AREA= PIRMOD.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PIRMOD.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PIRMOD.ORDINAMENTO_PROGETTO + --inner join C6StagingPeriodico.RP_Progetto_Robo rob ON rob.chiaveProgetto=monit.ORDINAMENTO_PROGETTO + WHERE + PIRMOD.RETE= @Rete + AND PIRMOD.COD_FISCALE = @CodiceFiscale + AND PIRMOD.CTV_PROGETTO > 0 +------------------------ MIFID2 - MAGGIO 2018 + --AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc', 'LIGHT') + -- and pirmod.Id_area in ('Inv','Liq') --aggiunta per fideuram Direct +------------------------- FINE MIFID2 - MAGGIO 2018 +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + MAX(ORDINE), + ORDINAMENTO_PROGETTO + update #temp + set ORDINE=4 + where Need_Area='Inv' + select * from #temp +end +else +begin +SELECT +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +--CONTROLLO NOME PROGETTO DUPLICATO, TOLTO IL MAX, AGGIUNTO NEL GROUP BY +ORDINAMENTO_PROGETTO, +--MAX(ORDINAMENTO_PROGETTO) AS ORDINAMENTO_PROGETTO, +MAX(ORDINE) AS ORDINE, +--rimettere il min e commentare il ctv=0 +max(AREAPROGETTOSOTTOMONITORAGGIO) AS AREAPROGETTOSOTTOMONITORAGGIO +FROM +( + --1.1 liq sotto monit + SELECT + PIRMOD.ID_AREA AS Need_Area, + AREA.NOME_AREA AS Need_Estesa, + CASE WHEN PIRMOD.NOME_PROGETTO is null and pirmod.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PIRMOD.NOME_PROGETTO)) + END AS Nome_Progetto, + PIRMOD.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PIRMOD.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 6 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + (SELECT + RETE, + COD_FISCALE, + case when ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else id_area end as Id_area, + NOME_PROGETTO, + TIPO_PROGETTO, + PERC_AREA, + CTV_PROGETTO, + CTV_AREA, + ORIZZ_TEMP_NUM, + ORIZZ_TEMP, + CTV_TOTALE, + STATO_CONSULENZA, + DATA_STATO_CONS, + DATA_MIGR_CONS, + DATA_PIANIF, + ID_CONTRATTO, ---LEVARE??? + ORDINAMENTO_PROGETTO + FROM + C6MartPeriodico.CONS_ATTIVAGGIORNATA + WHERE + COD_FISCALE=@CodiceFiscale + and rete= @Rete + ) PIRMOD + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PIRMOD.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PIRMOD.COD_FISCALE + AND MONIT.RETE=PIRMOD.RETE + AND MONIT.ID_AREA= PIRMOD.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PIRMOD.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PIRMOD.ORDINAMENTO_PROGETTO + WHERE + PIRMOD.RETE= @Rete + AND PIRMOD.COD_FISCALE = @CodiceFiscale + AND PIRMOD.CTV_PROGETTO > 0 +------------------------ MIFID2 - MAGGIO 2018 + --AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc', 'LIGHT') +------------------------- FINE MIFID2 - MAGGIO 2018 + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'CC' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Self' AS Need_Area, + -- 20181205 AC + --'Liquidità negativa "Linee GP Eligo"' AS Need_Estesa, + case + when cod_interno = 'XY' then 'Liquidità negativa "Linea GP Eligo"' + when cod_interno = 'FO' then 'Liquidità negativa "Il Mio Foglio"' + end AS Need_Estesa, + -- /20181205 AC + -- 20181205 AC + --NULL AS Nome_Progetto, + rtrim(cod_interno) AS Nome_Progetto, + -- /20181205 AC + --999999 as ORDINAMENTO_PROGETTO, + -- 20181205 AC + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + --'' as ORDINAMENTO_PROGETTO, + -- /20181205 AC + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'SELF' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 8 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + --case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO + end +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_20180604_PreMifid2.sql b/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_20180604_PreMifid2.sql new file mode 100644 index 00000000..7253309b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_20180604_PreMifid2.sql @@ -0,0 +1,266 @@ +-- Stored procedure +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_20180604_PreMifid2] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +and b.dtfine 0 + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'CC' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Self' AS Need_Area, + 'Liquidità negativa "Linee GP Eligo"' AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'SELF' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 8 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + --case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +--UNION +----impostiamo l'area non monitorata se il ctv monitorato monitorato è zero +-- SELECT DISTINCT +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , +-- CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE PATRBF.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Pre1' THEN 3 +-- WHEN 'Pre2' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 7 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- FROM +-- C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT +-- ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE +-- AND MONIT.RETE=PATRBF.RETE +-- AND MONIT.ID_AREA= PATRBF.ID_AREA +-- AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') +-- AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO +-- +-- WHERE +-- 1=1 +-- AND PATRBF.RETE= @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND monit.ctv_monitorato = 0 +-- --AND PATRBF.EXTRANAC=1 +-- AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +-- +-- +-- UNION +-- --marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab +-- +-- +-- SELECT distinct +-- b.ID_AREA AS Need_Area, +-- AREA.NOME_AREA AS Need_Estesa, +-- CASE WHEN b.NOME_PROGETTO is null and b.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE LTRIM(RTRIM(b.NOME_PROGETTO)) +-- END AS Nome_Progetto, +-- case when b.id_area='Na' then 999999 else b.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE b.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 6 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- from #dis_dt a inner join +-- c6martperiodico.piramide_mod b +-- on a.rete = b.rete and a.codfis = b.cod_fiscale and a.codarea = case when b.id_area='ext' then 'exr' else b.id_area end and a.codprog = b.ordinamento_progetto +-- inner join c6martperiodico.patrimonio_bf c +-- on a.rete = c.rete and a.codfis = c.cod_fiscale and a.codarea = case when c.id_area='ext' then 'exr' else c.id_area end and a.codprog = c.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- b.ID_AREA = AREA.ID_AREA +-- where b.ctv_progetto>0 +-- and c.ctv>0 +-- AND c.ID_AREA NOT IN ('Na', 'Cc') +-- and b.RETE= @Rete +-- AND b.COD_FISCALE = @CodiceFiscale +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_20180927_PreOttimizzazione.sql b/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_20180927_PreOttimizzazione.sql new file mode 100644 index 00000000..f0b44beb --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_20180927_PreOttimizzazione.sql @@ -0,0 +1,269 @@ +-- Stored procedure +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_20180927_PreOttimizzazione] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +and b.dtfine 0 +------------------------ MIFID2 - MAGGIO 2018 + --AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc', 'LIGHT') +------------------------- FINE MIFID2 - MAGGIO 2018 + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'CC' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Self' AS Need_Area, + 'Liquidità negativa "Linee GP Eligo"' AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'SELF' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 8 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + --case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +--UNION +----impostiamo l'area non monitorata se il ctv monitorato monitorato è zero +-- SELECT DISTINCT +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , +-- CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE PATRBF.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Pre1' THEN 3 +-- WHEN 'Pre2' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 7 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- FROM +-- C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT +-- ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE +-- AND MONIT.RETE=PATRBF.RETE +-- AND MONIT.ID_AREA= PATRBF.ID_AREA +-- AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') +-- AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO +-- +-- WHERE +-- 1=1 +-- AND PATRBF.RETE= @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND monit.ctv_monitorato = 0 +-- --AND PATRBF.EXTRANAC=1 +-- AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +-- +-- +-- UNION +-- --marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab +-- +-- +-- SELECT distinct +-- b.ID_AREA AS Need_Area, +-- AREA.NOME_AREA AS Need_Estesa, +-- CASE WHEN b.NOME_PROGETTO is null and b.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE LTRIM(RTRIM(b.NOME_PROGETTO)) +-- END AS Nome_Progetto, +-- case when b.id_area='Na' then 999999 else b.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE b.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 6 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- from #dis_dt a inner join +-- c6martperiodico.piramide_mod b +-- on a.rete = b.rete and a.codfis = b.cod_fiscale and a.codarea = case when b.id_area='ext' then 'exr' else b.id_area end and a.codprog = b.ordinamento_progetto +-- inner join c6martperiodico.patrimonio_bf c +-- on a.rete = c.rete and a.codfis = c.cod_fiscale and a.codarea = case when c.id_area='ext' then 'exr' else c.id_area end and a.codprog = c.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- b.ID_AREA = AREA.ID_AREA +-- where b.ctv_progetto>0 +-- and c.ctv>0 +-- AND c.ID_AREA NOT IN ('Na', 'Cc') +-- and b.RETE= @Rete +-- AND b.COD_FISCALE = @CodiceFiscale +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_20181214_PreMioFoglio.sql b/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..3a22de12 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_20181214_PreMioFoglio.sql @@ -0,0 +1,271 @@ +-- Stored procedure +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_20181214_PreMioFoglio] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +-- 20180927 COMMENTATO PERCHE' QUESTE DUE TABELLE TEMPORANEE NON VENGONO UTILIZZATE +--select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +--into #tcptab_aggr_dt +--from c6stagingperiodico.tcptab +--where ctvatt>0 +--group by rete,codfis,codarea,codprog +--select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +--into #dis_dt +--from c6stagingperiodico.tanab a full join +--#tcptab_aggr_dt b +--on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +--where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +--and b.dtfine 0 +------------------------ MIFID2 - MAGGIO 2018 + --AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc', 'LIGHT') +------------------------- FINE MIFID2 - MAGGIO 2018 + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'CC' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Self' AS Need_Area, + 'Liquidità negativa "Linee GP Eligo"' AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'SELF' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 8 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + --case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +--UNION +----impostiamo l'area non monitorata se il ctv monitorato monitorato è zero +-- SELECT DISTINCT +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , +-- CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE PATRBF.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Pre1' THEN 3 +-- WHEN 'Pre2' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 7 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- FROM +-- C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT +-- ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE +-- AND MONIT.RETE=PATRBF.RETE +-- AND MONIT.ID_AREA= PATRBF.ID_AREA +-- AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') +-- AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO +-- +-- WHERE +-- 1=1 +-- AND PATRBF.RETE= @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND monit.ctv_monitorato = 0 +-- --AND PATRBF.EXTRANAC=1 +-- AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +-- +-- +-- UNION +-- --marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab +-- +-- +-- SELECT distinct +-- b.ID_AREA AS Need_Area, +-- AREA.NOME_AREA AS Need_Estesa, +-- CASE WHEN b.NOME_PROGETTO is null and b.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE LTRIM(RTRIM(b.NOME_PROGETTO)) +-- END AS Nome_Progetto, +-- case when b.id_area='Na' then 999999 else b.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE b.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 6 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- from #dis_dt a inner join +-- c6martperiodico.piramide_mod b +-- on a.rete = b.rete and a.codfis = b.cod_fiscale and a.codarea = case when b.id_area='ext' then 'exr' else b.id_area end and a.codprog = b.ordinamento_progetto +-- inner join c6martperiodico.patrimonio_bf c +-- on a.rete = c.rete and a.codfis = c.cod_fiscale and a.codarea = case when c.id_area='ext' then 'exr' else c.id_area end and a.codprog = c.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- b.ID_AREA = AREA.ID_AREA +-- where b.ctv_progetto>0 +-- and c.ctv>0 +-- AND c.ID_AREA NOT IN ('Na', 'Cc') +-- and b.RETE= @Rete +-- AND b.COD_FISCALE = @CodiceFiscale +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_85.sql b/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_85.sql new file mode 100644 index 00000000..38459e74 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_85.sql @@ -0,0 +1,203 @@ +-- Stored procedure +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'F','DNERNZ56P01A757W' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_85] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +and b.dtfine 0 + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'CC' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, +-- 999999 as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') + UNION + --marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + SELECT distinct + b.ID_AREA AS Need_Area, + AREA.NOME_AREA AS Need_Estesa, + CASE WHEN b.NOME_PROGETTO is null and b.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(b.NOME_PROGETTO)) + END AS Nome_Progetto, + --case when b.id_area='Na' then 999999 else b.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + b.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE b.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 6 + END AS ORDINE, + 0 AS AREAPROGETTOSOTTOMONITORAGGIO + from #dis_dt a inner join + c6martperiodico.piramide_mod b + on a.rete = b.rete and a.codfis = b.cod_fiscale and a.codarea = case when b.id_area='ext' then 'exr' else b.id_area end and a.codprog = b.ordinamento_progetto + inner join c6martperiodico.patrimonio_bf c + on a.rete = c.rete and a.codfis = c.cod_fiscale and a.codarea = case when c.id_area='ext' then 'exr' else c.id_area end and a.codprog = c.ordinamento_progetto + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + b.ID_AREA = AREA.ID_AREA + where b.ctv_progetto>0 + and c.ctv>0 + AND c.ID_AREA NOT IN ('Na', 'Cc') + and b.RETE= @Rete + AND b.COD_FISCALE = @CodiceFiscale +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_BK_eligoTitoli.sql b/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_BK_eligoTitoli.sql new file mode 100644 index 00000000..6e6cb7fc --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_BK_eligoTitoli.sql @@ -0,0 +1,265 @@ +-- Stored procedure +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +and b.dtfine 0 + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'CC' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Self' AS Need_Area, + 'Liquidità GP Eligo Fondi'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'SELF' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 8 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + --case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +--UNION +----impostiamo l'area non monitorata se il ctv monitorato monitorato è zero +-- SELECT DISTINCT +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , +-- CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE PATRBF.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Pre1' THEN 3 +-- WHEN 'Pre2' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 7 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- FROM +-- C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT +-- ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE +-- AND MONIT.RETE=PATRBF.RETE +-- AND MONIT.ID_AREA= PATRBF.ID_AREA +-- AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') +-- AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO +-- +-- WHERE +-- 1=1 +-- AND PATRBF.RETE= @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND monit.ctv_monitorato = 0 +-- --AND PATRBF.EXTRANAC=1 +-- AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +-- +-- +-- UNION +-- --marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab +-- +-- +-- SELECT distinct +-- b.ID_AREA AS Need_Area, +-- AREA.NOME_AREA AS Need_Estesa, +-- CASE WHEN b.NOME_PROGETTO is null and b.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE LTRIM(RTRIM(b.NOME_PROGETTO)) +-- END AS Nome_Progetto, +-- case when b.id_area='Na' then 999999 else b.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE b.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 6 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- from #dis_dt a inner join +-- c6martperiodico.piramide_mod b +-- on a.rete = b.rete and a.codfis = b.cod_fiscale and a.codarea = case when b.id_area='ext' then 'exr' else b.id_area end and a.codprog = b.ordinamento_progetto +-- inner join c6martperiodico.patrimonio_bf c +-- on a.rete = c.rete and a.codfis = c.cod_fiscale and a.codarea = case when c.id_area='ext' then 'exr' else c.id_area end and a.codprog = c.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- b.ID_AREA = AREA.ID_AREA +-- where b.ctv_progetto>0 +-- and c.ctv>0 +-- AND c.ID_AREA NOT IN ('Na', 'Cc') +-- and b.RETE= @Rete +-- AND b.COD_FISCALE = @CodiceFiscale +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_PRESBAGLIATA.sql b/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_PRESBAGLIATA.sql new file mode 100644 index 00000000..67d8642a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_PRESBAGLIATA.sql @@ -0,0 +1,250 @@ +-- +--select * from c6martperiodico.patrimonio_bf +--where id_area like 'Pre%' +-- +-- Stored procedure +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'S','BLTRNZ48M02F269I' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_PRESBAGLIATA] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where + (b.dtfine 0 + AND PIRMOD.ID_AREA NOT IN ('Pre','Pre1', 'Pre2', 'Cc') + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'CC' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + 999999 as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + 999999 as ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +--UNION +----impostiamo l'area non monitorata se il ctv monitorato monitorato è zero +-- SELECT DISTINCT +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , +-- CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE PATRBF.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Pre1' THEN 3 +-- WHEN 'Pre2' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 7 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- FROM +-- C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT +-- ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE +-- AND MONIT.RETE=PATRBF.RETE +-- AND MONIT.ID_AREA= PATRBF.ID_AREA +-- AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') +-- AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO +-- +-- WHERE +-- 1=1 +-- AND PATRBF.RETE= @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND monit.ctv_monitorato = 0 +-- --AND PATRBF.EXTRANAC=1 +-- AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +-- + UNION + --marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + SELECT distinct + b.ID_AREA AS Need_Area, + AREA.NOME_AREA AS Need_Estesa, + CASE WHEN b.NOME_PROGETTO is null and b.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(b.NOME_PROGETTO)) + END AS Nome_Progetto, + --case when b.id_area='Na' then 999999 else b.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + case when C.ID_AREA in ('Pre','Pre1','Pre2') then 1 else C.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + CASE C.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + 0 AS AREAPROGETTOSOTTOMONITORAGGIO + from #dis_dt a inner join + c6martperiodico.piramide_mod b + on a.rete = b.rete and a.codfis = b.cod_fiscale and a.codarea = case when b.id_area='ext' then 'exr' else b.id_area end and a.codprog = b.ordinamento_progetto + inner join c6martperiodico.patrimonio_bf c + on a.rete = c.rete and a.codfis = c.cod_fiscale and a.codarea = case when c.id_area='ext' then 'exr' else c.id_area end and a.codprog = c.ordinamento_progetto + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + b.ID_AREA = AREA.ID_AREA + where b.ctv_progetto>0 + and c.ctv>0 + AND c.ID_AREA NOT IN ('Na', 'Cc') + and b.RETE= @Rete + AND b.COD_FISCALE = @CodiceFiscale +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_SIMULAZIONE.sql b/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_SIMULAZIONE.sql new file mode 100644 index 00000000..326d29f9 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_SIMULAZIONE.sql @@ -0,0 +1,246 @@ +-- Stored procedure +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'F','DNGMRA56E66D542Z' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_SIMULAZIONE] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +and b.dtfine 0 + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'CC' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + 999999 as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + 999999 as ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +--UNION +----impostiamo l'area non monitorata se il ctv monitorato monitorato è zero +-- SELECT DISTINCT +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , +-- CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE PATRBF.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Pre1' THEN 3 +-- WHEN 'Pre2' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 7 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- FROM +-- C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT +-- ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE +-- AND MONIT.RETE=PATRBF.RETE +-- AND MONIT.ID_AREA= PATRBF.ID_AREA +-- AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') +-- AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO +-- +-- WHERE +-- 1=1 +-- AND PATRBF.RETE= @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND monit.ctv_monitorato = 0 +-- --AND PATRBF.EXTRANAC=1 +-- AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +-- +-- +-- UNION +-- --marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab +-- +-- +-- SELECT distinct +-- b.ID_AREA AS Need_Area, +-- AREA.NOME_AREA AS Need_Estesa, +-- CASE WHEN b.NOME_PROGETTO is null and b.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE LTRIM(RTRIM(b.NOME_PROGETTO)) +-- END AS Nome_Progetto, +-- case when b.id_area='Na' then 999999 else b.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE b.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 6 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- from #dis_dt a inner join +-- c6martperiodico.piramide_mod b +-- on a.rete = b.rete and a.codfis = b.cod_fiscale and a.codarea = case when b.id_area='ext' then 'exr' else b.id_area end and a.codprog = b.ordinamento_progetto +-- inner join c6martperiodico.patrimonio_bf c +-- on a.rete = c.rete and a.codfis = c.cod_fiscale and a.codarea = case when c.id_area='ext' then 'exr' else c.id_area end and a.codprog = c.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- b.ID_AREA = AREA.ID_AREA +-- where b.ctv_progetto>0 +-- and c.ctv>0 +-- AND c.ID_AREA NOT IN ('Na', 'Cc') +-- and b.RETE= @Rete +-- AND b.COD_FISCALE = @CodiceFiscale +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_bck201204.sql b/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_bck201204.sql new file mode 100644 index 00000000..933a9571 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_bck201204.sql @@ -0,0 +1,246 @@ +-- Stored procedure +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate_SIMULAZIONE] 'S','CZZLRD57R07I982G' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_bck201204] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +and b.dtfine 0 + AND PIRMOD.ID_AREA NOT IN ('Pre','Pre1', 'Pre2', 'Cc') + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'CC' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + 999999 as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + 999999 as ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +--UNION +----impostiamo l'area non monitorata se il ctv monitorato monitorato è zero +-- SELECT DISTINCT +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , +-- CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE PATRBF.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Pre1' THEN 3 +-- WHEN 'Pre2' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 7 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- FROM +-- C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT +-- ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE +-- AND MONIT.RETE=PATRBF.RETE +-- AND MONIT.ID_AREA= PATRBF.ID_AREA +-- AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') +-- AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO +-- +-- WHERE +-- 1=1 +-- AND PATRBF.RETE= @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND monit.ctv_monitorato = 0 +-- --AND PATRBF.EXTRANAC=1 +-- AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +-- +-- +-- UNION +-- --marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab +-- +-- +-- SELECT distinct +-- b.ID_AREA AS Need_Area, +-- AREA.NOME_AREA AS Need_Estesa, +-- CASE WHEN b.NOME_PROGETTO is null and b.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE LTRIM(RTRIM(b.NOME_PROGETTO)) +-- END AS Nome_Progetto, +-- case when b.id_area='Na' then 999999 else b.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE b.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 6 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- from #dis_dt a inner join +-- c6martperiodico.piramide_mod b +-- on a.rete = b.rete and a.codfis = b.cod_fiscale and a.codarea = case when b.id_area='ext' then 'exr' else b.id_area end and a.codprog = b.ordinamento_progetto +-- inner join c6martperiodico.patrimonio_bf c +-- on a.rete = c.rete and a.codfis = c.cod_fiscale and a.codarea = case when c.id_area='ext' then 'exr' else c.id_area end and a.codprog = c.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- b.ID_AREA = AREA.ID_AREA +-- where b.ctv_progetto>0 +-- and c.ctv>0 +-- AND c.ID_AREA NOT IN ('Na', 'Cc') +-- and b.RETE= @Rete +-- AND b.COD_FISCALE = @CodiceFiscale +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_bkup_20120101.sql b/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_bkup_20120101.sql new file mode 100644 index 00000000..3e63705b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_bkup_20120101.sql @@ -0,0 +1,239 @@ +-- Stored procedure +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'F','BRGNRC55E09H223U' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_bkup_20120101] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +and b.dtfine 0 + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'CC' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + 999999 as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + 999999 as ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +UNION +--impostiamo l'area non monitorata se il ctv monitorato monitorato è zero + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + 0 AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND monit.ctv_monitorato = 0 + --AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') + UNION + --marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + SELECT distinct + b.ID_AREA AS Need_Area, + AREA.NOME_AREA AS Need_Estesa, + CASE WHEN b.NOME_PROGETTO is null and b.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(b.NOME_PROGETTO)) + END AS Nome_Progetto, + case when b.id_area='Na' then 999999 else b.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + CASE b.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 6 + END AS ORDINE, + 0 AS AREAPROGETTOSOTTOMONITORAGGIO + from #dis_dt a inner join + c6martperiodico.piramide_mod b + on a.rete = b.rete and a.codfis = b.cod_fiscale and a.codarea = case when b.id_area='ext' then 'exr' else b.id_area end and a.codprog = b.ordinamento_progetto + inner join c6martperiodico.patrimonio_bf c + on a.rete = c.rete and a.codfis = c.cod_fiscale and a.codarea = case when c.id_area='ext' then 'exr' else c.id_area end and a.codprog = c.ordinamento_progetto + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + b.ID_AREA = AREA.ID_AREA + where b.ctv_progetto>0 + and c.ctv>0 + AND c.ID_AREA NOT IN ('Na', 'Cc') + and b.RETE= @Rete + AND b.COD_FISCALE = @CodiceFiscale +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO +--ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_preFD.sql b/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_preFD.sql new file mode 100644 index 00000000..f0f3768c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_AreeMonitorate_preFD.sql @@ -0,0 +1,283 @@ +-- Stored procedure +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_preFD] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +-- 20180927 COMMENTATO PERCHE' QUESTE DUE TABELLE TEMPORANEE NON VENGONO UTILIZZATE +--select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +--into #tcptab_aggr_dt +--from c6stagingperiodico.tcptab +--where ctvatt>0 +--group by rete,codfis,codarea,codprog +--select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +--into #dis_dt +--from c6stagingperiodico.tanab a full join +--#tcptab_aggr_dt b +--on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +--where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +--and b.dtfine 0 +------------------------ MIFID2 - MAGGIO 2018 + --AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc', 'LIGHT') +------------------------- FINE MIFID2 - MAGGIO 2018 + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'CC' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Self' AS Need_Area, + -- 20181205 AC + --'Liquidità negativa "Linee GP Eligo"' AS Need_Estesa, + case + when cod_interno = 'XY' then 'Liquidità negativa "Linea GP Eligo"' + when cod_interno = 'FO' then 'Liquidità negativa "Il Mio Foglio"' + end AS Need_Estesa, + -- /20181205 AC + -- 20181205 AC + --NULL AS Nome_Progetto, + rtrim(cod_interno) AS Nome_Progetto, + -- /20181205 AC + --999999 as ORDINAMENTO_PROGETTO, + -- 20181205 AC + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + --'' as ORDINAMENTO_PROGETTO, + -- /20181205 AC + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'SELF' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 8 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + --case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +--UNION +----impostiamo l'area non monitorata se il ctv monitorato monitorato è zero +-- SELECT DISTINCT +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , +-- CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE PATRBF.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Pre1' THEN 3 +-- WHEN 'Pre2' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 7 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- FROM +-- C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT +-- ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE +-- AND MONIT.RETE=PATRBF.RETE +-- AND MONIT.ID_AREA= PATRBF.ID_AREA +-- AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') +-- AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO +-- +-- WHERE +-- 1=1 +-- AND PATRBF.RETE= @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND monit.ctv_monitorato = 0 +-- --AND PATRBF.EXTRANAC=1 +-- AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +-- +-- +-- UNION +-- --marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab +-- +-- +-- SELECT distinct +-- b.ID_AREA AS Need_Area, +-- AREA.NOME_AREA AS Need_Estesa, +-- CASE WHEN b.NOME_PROGETTO is null and b.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE LTRIM(RTRIM(b.NOME_PROGETTO)) +-- END AS Nome_Progetto, +-- case when b.id_area='Na' then 999999 else b.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE b.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 6 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- from #dis_dt a inner join +-- c6martperiodico.piramide_mod b +-- on a.rete = b.rete and a.codfis = b.cod_fiscale and a.codarea = case when b.id_area='ext' then 'exr' else b.id_area end and a.codprog = b.ordinamento_progetto +-- inner join c6martperiodico.patrimonio_bf c +-- on a.rete = c.rete and a.codfis = c.cod_fiscale and a.codarea = case when c.id_area='ext' then 'exr' else c.id_area end and a.codprog = c.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- b.ID_AREA = AREA.ID_AREA +-- where b.ctv_progetto>0 +-- and c.ctv>0 +-- AND c.ID_AREA NOT IN ('Na', 'Cc') +-- and b.RETE= @Rete +-- AND b.COD_FISCALE = @CodiceFiscale +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_FD152Patrimonio.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_FD152Patrimonio.sql new file mode 100644 index 00000000..f4f8a96b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_FD152Patrimonio.sql @@ -0,0 +1,69 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S152Patrimonio] 'f','BNLSRG42S13E666Q' +CREATE procedure [C6MartPeriodico].[PL_D2_FD152Patrimonio] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + DECLARE @PatrimonioRibilanciato DECIMAL(15,2) -- Portafoglio Ribilanciato + DECLARE @PatrimonioBase DECIMAL(15,2) --Portafoglio Base + SELECT @PatrimonioBF = SUM(CTV) + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area not in ('CC','SELF') + SELECT @Part_viaggianti = SUM(IMPORTO) + FROM + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Martperiodico.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) T + select POSITION_ID + FROM C6MartPeriodico.PATRIMONIO_BF patrBF inner join + C6StagingPeriodico.RP_Progetto_Robo robo on patrBF.CHIAVE_PROGETTO=robo.chiaveProgetto + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + select @PatrimonioBase= sum(CTV) + from C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.position_id not in ( + select POSITION_ID + FROM C6MartPeriodico.PATRIMONIO_BF patrBF inner join + C6StagingPeriodico.RP_Progetto_Robo robo on patrBF.CHIAVE_PROGETTO=robo.chiaveProgetto + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale) + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioRibilanciato =coalesce(@PatrimonioRibilanciato,0) + SET @PatrimonioBase =coalesce(@PatrimonioBase,0) + SELECT + @PatrimonioBF AS PatrimonioTotaleCTV, + @PatrimonioRibilanciato AS PatrimonioRibilanciatoCTV, + CONVERT(decimal(6,2),((case @PatrimonioRibilanciato when 0.00 then 0.00 else (@PatrimonioRibilanciato)/ @PatrimonioBF end) * 100.00)) AS RibilanciatoPerc, + @PatrimonioBase AS PatrimonioBaseCTV, + CONVERT(decimal(6,2),((case @PatrimonioBase when 0.00 then 0.00 else @PatrimonioBase/@PatrimonioBF end ) *100.00)) AS BasePerc +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_FD160DettaglioProdottiBF.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_FD160DettaglioProdottiBF.sql new file mode 100644 index 00000000..828c0ebe --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_FD160DettaglioProdottiBF.sql @@ -0,0 +1,242 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'SLLLMN44E29A176G' +-- [C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF] 'F', 'SPNTTR67T20F205D' +create procedure [C6MartPeriodico].[PL_D2_FD160DettaglioProdottiBF] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +distinct + CASE + when robo.isProgettoRobo='S' then 'Rob' + else 'ASF' + END AS needarea, +CASE + when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + --WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + --ELSE AREA.NOME_AREA + END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY robo.isProgettoRobo) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY robo.isProgettoRobo) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY robo.isProgettoRobo) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY robo.isProgettoRobo) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY robo.isProgettoRobo, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY robo.isProgettoRobo, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY robo.isProgettoRobo, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY robo.isProgettoRobo, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY robo.isProgettoRobo, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + apc.is_APC as isAPC +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) + --aggiunta 18/12/2022 per APC103 +left join C6MartPeriodico.WSEICC apc +on + apc.RETE=PATRBF.RETE + and apc.cod_fiscale=patrbf.cod_fiscale + and PATRBF.ID_CONTRATTO = --apc.CODCONFPR + (case when PATRBF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) + --fine aggiunta 18/12/2022 per APC103 +left join C6StagingPeriodico.RP_Progetto_robo ROBO +on ROBO.chiaveprogetto=PATRBF.CHIAVE_PROGETTO +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_progetto,nome_progetto, PATRBF.CTV DESC +END +--select top 1 * from c6martperiodico.patrimonio_bf where tipo_prodotto = 'CC' +--select SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)),ANAG_CC.COD_CC +--from c6martperiodico.anag_cc \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_FD170RischioDiversificazione.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_FD170RischioDiversificazione.sql new file mode 100644 index 00000000..87fbd279 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_FD170RischioDiversificazione.sql @@ -0,0 +1,280 @@ +-- [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] 'W','MLAMRA61P03G337F' +CREATE procedure [C6MartPeriodico].[PL_D2_FD170RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + and id_area not in ('LIGHT', 'VOID') + -- modifica del 5/2/2019 per escludere i record del patr non rappresentabile (commentata ed eventualmente utilizzata ad hoc) + --and (rend_non_rappr = 0 or (id_area = 'Liq' and rend_non_rappr = 1)) + --fine modifica del 5/2/2019 + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + ------------------------ MIFID2 - MAGGIO 2018 + DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + declare @maxComplessita as int + if @CodiceFiscale like '%FF@%' + select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2] + where + codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; commentata per MUA + else + select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2] + where + codfis= @CodiceFiscale + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; commentata per MUA +SELECT +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (6,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +-- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi +beneficio as diversificazione, +--case +--when cod_Aggreg = 'COMPLESSIVO' then null +--when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then null +--END AS diversificazione, +-- fine modifica del 19/6/2018 +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' when k.rete = 'S' then 'Sanpaolo Invest' else 'IW Private Investments' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +isnull(b.max_var, 0) as var_profilo, +------------------------ MIFID2 - MAGGIO 2018 +case @maxComplessita + when 0 then 'Non complesso' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + else 'n.c.' + end + as complessita, +------------------------- FINE MIFID2 - MAGGIO 2018 +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] Script Date: 09/02/2022 11:37:02 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] 's','BRNGDI72S69L219Y' +--ALTER procedure [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- declare @contaCC as int +-- select @contaCC = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete +-- declare @contaPOS as int +-- select @contaPOS = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where cod_fiscale = @codiceFiscale and rete = @rete +-- declare @ctvbf as decimal(12,2) +-- SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +-- and id_area not in ('LIGHT', 'VOID') +-- -- modifica del 5/2/2019 per escludere i record del patr non rappresentabile (commentata ed eventualmente utilizzata ad hoc) +-- --and (rend_non_rappr = 0 or (id_area = 'Liq' and rend_non_rappr = 1)) +-- --fine modifica del 5/2/2019 +-- declare @ctvterzi as decimal (12,2) +-- SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +-- ------------------------ MIFID2 - MAGGIO 2018 +-- DECLARE @DataFineTrim VARCHAR(8) +-- SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +-- declare @maxComplessita as int +-- if @CodiceFiscale like '%FF@%' +-- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD2] +-- where +-- -- codfis like +-- -- CASE when @CodiceFiscale like '%FF@%'THEN '%%' +-- -- ELSE @CodiceFiscale +-- -- END +-- --and codman = +-- -- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- -- ELSE '' +-- -- END +-- codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- and rete= @Rete +-- and DTTRIM = @DataFineTrim +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10; +-- else +-- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD2] +-- where +-- -- codfis like +-- -- CASE when @CodiceFiscale like '%FF@%'THEN '%%' +-- -- ELSE @CodiceFiscale +-- -- END +-- --and codman = +-- -- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- -- ELSE '' +-- -- END +-- codfis= @CodiceFiscale +-- and rete= @Rete +-- and DTTRIM = @DataFineTrim +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10; +--SELECT +--K.COD_FISCALE, +--K.RETE, +--CASE +-- when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf +-- when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi +-- when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi +-- else 0 +--END AS CTV_AGGREG, +--K.CREDITRISK, +--CASE +-- WHEN (@contaPOS - @contacc = 0) THEN 0 +-- ELSE VAR_PERC_PTF +--END AS VAR, +--CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +--CASE +-- WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 +-- --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' +-- ELSE null +--END AS coperturaString, +---- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi +--beneficio as diversificazione, +----case +----when cod_Aggreg = 'COMPLESSIVO' then null +----when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio +----when cod_Aggreg = 'COMPLESSIVO|TERZI' then null +----END AS diversificazione, +---- fine modifica del 19/6/2018 +--CASE +-- WHEN (@contaPOS - @contacc = 0) THEN 100 +-- ELSE COPERTURA +--END AS COPERTURA, +--case +--when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +--when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +--ELSE '' +--END AS PATRIMONIO, +--case +-- when b.profilo is null then -1 +-- else b.profilo +--end as profiloCode, +--isnull(b.max_var, 0) as var_profilo, +-------------------------- MIFID2 - MAGGIO 2018 +--case @maxComplessita +-- when 0 then '-' +-- when 1 then 'Minima' +-- when 2 then 'Bassa' +-- when 3 then 'Media' +-- when 4 then 'Alta' +-- when 5 then 'Molto alta' +-- else '-' +-- end +-- as complessita, +--------------------------- FINE MIFID2 - MAGGIO 2018 +----V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +----V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +--case +--when cod_Aggreg = 'COMPLESSIVO' then 3 +--when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +--ELSE '' +--END AS Ordine +--FROM +--C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a +-- ON k.cod_fiscale = a.cod_fiscale and +-- k.rete = a.rete +-- left outer join +--C6Martperiodico.CODIFICA_RISCHIO b on +--A.PROFILO_ASS=B.PROFILO +--WHERE +----A.PROFILO_ASS=B.PROFILO +----AND K.RETE=A.RETE +----AND K.COD_FISCALE= A.COD_FISCALE +--COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +--AND k.COD_FISCALE = @COdiceFISCALE +--AND k.RETE= @RETE +--ORDER BY ordine +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S150Anagrafica.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S150Anagrafica.sql new file mode 100644 index 00000000..382c7241 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S150Anagrafica.sql @@ -0,0 +1,32 @@ +CREATE procedure [C6MartPeriodico].[PL_D2_S150Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [Cliente] + ,[DatadiNascita] + ,[ETA] + ,[Professione] + ,[StatoCivile] + ,[NucleoFamiliare] + ,[Residenza] + ,[CodiceFiscale] + ,[CodicePB] + ,[CodiceRete] + ,[CodiceContratto] + ,[StatoContratto] + ,[DataSottoscrizione] + ,[DataPerfezionamento] + ,[FasciaCPP] + ,[IndirizzoEmail] + ,[ProduzioneReport] + ,[Indirizzo] + ,[CAP] + ,[Citta] + ,[Provincia] + ,[Nazione] + ,[PRESSO] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S25Anagrafica] + WHERE [CodiceRete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S150Anagrafica_BkUpParall.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S150Anagrafica_BkUpParall.sql new file mode 100644 index 00000000..79e8a896 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S150Anagrafica_BkUpParall.sql @@ -0,0 +1,100 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S150Anagrafica] 'F', 'NCLGDE26B18L388P' +CREATE procedure [C6MartPeriodico].[PL_D2_S150Anagrafica_BkUpParall] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + --V Indirizzo Secondo AULETTA + --CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + -- THEN + -- REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + -- + ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') + -- ELSE + -- REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + -- + ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') + --END AS Residenza, + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') else '' end + ' ' + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') else '' end + ' ' + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_SOTT) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + NULL AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + CONTRATTOSEI.[Prov] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.contrattosei as CONTRATTOSEI + INNER JOIN + C6MARTPERIODICO.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MARTPERIODICO.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + LEFT JOIN + C6MARTPERIODICO.ANAG_CLIENTI_PREV + ON + ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + LEFT JOIN + C6MARTPERIODICO.DATI_REPORT + ON + ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + WHERE 1 = 1 + AND ANAG_CLIENTI.RETE = @RETE + AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S151ProfiloDiRischio.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S151ProfiloDiRischio.sql new file mode 100644 index 00000000..2d61d5ea --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S151ProfiloDiRischio.sql @@ -0,0 +1,49 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S95ProfiloDiRischio]F,00247580970 +CREATE procedure [C6MartPeriodico].[PL_D2_S151ProfiloDiRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskclass, + @experience as experince +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S152Patrimonio.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S152Patrimonio.sql new file mode 100644 index 00000000..50ff54e3 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S152Patrimonio.sql @@ -0,0 +1,90 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S152Patrimonio] 'f','BNLSRG42S13E666Q' +CREATE procedure [C6MartPeriodico].[PL_D2_S152Patrimonio] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + -- modifica del 05/02/2019 per il ProQuota + declare @PatrimonioImmobiliareProQuota decimal(15,2) + -- fine modifica del 05/02/2019 per il ProQuota + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT @PatrimonioBF = SUM(CTV) + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area not in ('CC','SELF') + SELECT @Part_viaggianti = SUM(IMPORTO) + FROM + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Martperiodico.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) T + SELECT @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + SELECT @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + -- modifica del 05/02/2019 per il ProQuota + SELECT + @PatrimonioImmobiliareProQuota = isnull(SUM(patrImm.VALORE_STIMATO_PROQUOTA), 0) + FROM + C6MARTPeriodico.PATRIMONIO_IMMOBILIARE_ProQuota patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + -- fine modifica del 05/02/2019 per il ProQuota + SELECT @PatrimonioAltro = SUM(patrAltro.ctv) + FROM C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV + -- modifica del 05/02/2019 per il ProQuota + ,@PatrimonioImmobiliareProQuota as ImmobiliarePQCTV + -- fine modifica del 05/02/2019 per il ProQuota +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S152Patrimonio_20190225__ori.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S152Patrimonio_20190225__ori.sql new file mode 100644 index 00000000..b502ee59 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S152Patrimonio_20190225__ori.sql @@ -0,0 +1,75 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S152Patrimonio] 'S','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodico].[PL_D2_S152Patrimonio] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT @PatrimonioBF = SUM(CTV) + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area not in ('CC','SELF') + SELECT @Part_viaggianti = SUM(IMPORTO) + FROM + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Martperiodico.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) T + SELECT @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + SELECT @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT @PatrimonioAltro = SUM(patrAltro.ctv) + FROM C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S152Patrimonio_20190225_preProquota.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S152Patrimonio_20190225_preProquota.sql new file mode 100644 index 00000000..3ffc97be --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S152Patrimonio_20190225_preProquota.sql @@ -0,0 +1,75 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S152Patrimonio] 'S','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodico].[PL_D2_S152Patrimonio_20190225_preProquota] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT @PatrimonioBF = SUM(CTV) + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area not in ('CC','SELF') + SELECT @Part_viaggianti = SUM(IMPORTO) + FROM + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Martperiodico.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) T + SELECT @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + SELECT @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT @PatrimonioAltro = SUM(patrAltro.ctv) + FROM C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S153PatrimonioFinanziario.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S153PatrimonioFinanziario.sql new file mode 100644 index 00000000..c539142c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S153PatrimonioFinanziario.sql @@ -0,0 +1,107 @@ +-- [C6MartPeriodico].[PL_D2_S153PatrimonioFinanziario] 's','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodico].[PL_D2_S153PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Intermediario, + Ordine, + CASE @Rete WHEN 'F' THEN 'Fideuram' WHEN 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS Banca, + SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine)) / + (SUM(ctv) over (partition by 'Totale')) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + CASE @Rete WHEN 'F' THEN 'Fideuram' WHEN 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE 1 = 1 + AND patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + and patrBF.id_area not in ('CC','SELF') + UNION ALL + SELECT + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + AND patrTerzi.Rete = @Rete + AND patrTerzi.Cod_Fiscale = @CodiceFiscale + GROUP BY patrTerzi.Intermediario + ) PATR + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S153PatrimonioFinanziario] Script Date: 09/02/2022 11:23:41 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- [C6MartPeriodico].[PL_D2_S153PatrimonioFinanziario] 's','LMNFNC40L14L219U' +--ALTER procedure [C6MartPeriodico].[PL_D2_S153PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- SELECT +-- Intermediario, +-- Ordine, +-- Banca, +-- Controvalore, +-- round(Percentuale,2) as Percentuale +-- FROM +-- ( +-- SELECT DISTINCT +-- Intermediario, +-- Ordine, +-- CASE @Rete WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS Banca, +-- SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, +-- ( +-- (SUM(ctv) over (partition by Intermediario,Ordine)) / +-- (SUM(ctv) over (partition by 'Totale')) +-- ) * 100 AS PERCENTUALE +-- FROM +-- ( +-- SELECT +-- CASE @Rete WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 1 AS ordine +-- FROM C6MartPeriodico.PATRIMONIO_BF patrBF +-- WHERE 1 = 1 +-- AND patrBF.Rete = @Rete +-- AND patrBF.Cod_Fiscale = @CodiceFiscale +-- and patrBF.id_area not in ('CC','SELF') +-- UNION ALL +-- SELECT +-- Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 2 AS ordine +-- FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi +-- WHERE 1 = 1 +-- AND patrTerzi.Rete = @Rete +-- AND patrTerzi.Cod_Fiscale = @CodiceFiscale +-- GROUP BY patrTerzi.Intermediario +-- ) PATR +-- ) A +-- WHERE CONTROVALORE IS NOT NULL +-- ORDER BY Ordine +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S154PatrimonioFinanziario.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S154PatrimonioFinanziario.sql new file mode 100644 index 00000000..459c490c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S154PatrimonioFinanziario.sql @@ -0,0 +1,277 @@ +--[C6MartPeriodico].[PL_D2_S154PatrimonioFinanziario] 'S','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodico].[PL_D2_S154PatrimonioFinanziario] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + CASE @Rete WHEN 'S' THEN 'Sanpaolo Invest' WHEN 'F' THEN 'Fideuram' ELSE 'IW Private Investments' END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + SELECT --PRODOTTI BF ESCLUSI GLI ASUL + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO NOT IN ('ASUL') + AND PATRBF.ID_AREA not in ('CC','SELF') + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + --DETTAGLIO ASUL SENZA SKANDIA + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --CON SKANDIA + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S154PatrimonioFinanziario] Script Date: 09/02/2022 11:26:38 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +----[C6MartPeriodico].[PL_D2_S154PatrimonioFinanziario] 'S','LMNFNC40L14L219U' +--ALTER procedure [C6MartPeriodico].[PL_D2_S154PatrimonioFinanziario] +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +--SELECT +-- A.Banca, +-- A.Ordinamento, +-- A.AssetClassId, +-- A.AssetClassName, +-- cast(A.Controvalore as decimal(19,6)) Controvalore, +-- A.Percentuale, +-- cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +--FROM +--( +-- SELECT DISTINCT +-- CASE @Rete WHEN 'S' THEN 'Sanpaolo Invest'ELSE 'Fideuram' END AS Banca, +-- ASSETCLASS.ORDINAMENTO AS Ordinamento, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') +-- ) * 100 AS Percentuale +-- FROM ( +-- SELECT --PRODOTTI BF ESCLUSI GLI ASUL +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- PATRBF.TIPO_PRODOTTO NOT IN ('ASUL') +-- AND PATRBF.ID_AREA not in ('CC','SELF') +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +---- SELECT +---- ASSETPERC.ID_ASSETCLASS, +---- PATRBF.CTV*ASSETPERC.PERC as Controvalore +---- FROM +---- C6MartPeriodico.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MartPeriodico.ASSET_PERC ASSETPERC +---- ON +---- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +---- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +---- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN +---- C6MartPeriodico.ClientiConCCNegativo CCNegativo +---- ON +---- PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- WHERE +---- --ELIMINO I CC CON SALDO NEGATIVO +---- PATRBF.TIPO_PRODOTTO = 'CC' +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND CCNegativo.Cod_Fiscale IS NULL +---- UNION ALL +-- --DETTAGLIO ASUL SENZA SKANDIA +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --CON SKANDIA +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI +-- LEFT OUTER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI NON A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI +-- LEFT OUTER JOIN +-- C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MartPeriodico.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--ORDER BY A.ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare.sql new file mode 100644 index 00000000..745b50ab --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare.sql @@ -0,0 +1,39 @@ +CREATE procedure [C6MartPeriodico].[PL_D2_S155PatrimonioImmobiliare] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + -- modifica del 05/02/2019 per il ProQuota + select + Descrizione, + Tipologia, + Localita, + AffittoPercepito, + Valore_stimato as Valore, + sum(Valore_stimato) OVER (PARTITION BY 'Valore_stimato') as Totale, + sum(AffittoPercepito) OVER (PARTITION BY 'AffittoPercepito') as TotaleAffitto, + Tipologia_Diritto as TipologiaDiritto, + ProQuota, + Valore_Stimato_ProQuota as Valore_ProQuota, + sum(Valore_Stimato_ProQuota) over (partition by 'Valore_Stimato_ProQuota') as TotaleProQuota + from C6MARTPERIODICO.PATRIMONIO_IMMOBILIARE_ProQuota + where Rete = @Rete + and COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC + -- fine modifica del 05/02/2019 per il ProQuota + --SELECT + -- PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + -- PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + -- PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + -- isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + -- PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + -- SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + -- SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + --FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + --WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + -- AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + --ORDER BY 5 DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190225_preProquota.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190225_preProquota.sql new file mode 100644 index 00000000..05981f03 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190225_preProquota.sql @@ -0,0 +1,21 @@ +CREATE procedure [C6MartPeriodico].[PL_D2_S155PatrimonioImmobiliare] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + SELECT + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190502_ProQuota.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190502_ProQuota.sql new file mode 100644 index 00000000..a8f45cff --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190502_ProQuota.sql @@ -0,0 +1,39 @@ +CREATE procedure [C6MartPeriodico].[PL_D2_S155PatrimonioImmobiliare_20190502_ProQuota] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + -- modifica del 05/02/2019 per il ProQuota + select + Descrizione, + Tipologia, + Localita, + AffittoPercepito, + Valore_stimato as Valore, + sum(Valore_stimato) OVER (PARTITION BY 'Valore_stimato') as Totale, + sum(AffittoPercepito) OVER (PARTITION BY 'AffittoPercepito') as TotaleAffitto, + Tipologia_Diritto as TipologiaDiritto, + ProQuota, + Valore_Stimato_ProQuota as Valore_ProQuota, + sum(Valore_Stimato_ProQuota) over (partition by 'Valore_Stimato_ProQuota') as TotaleProQuota + from C6MARTPERIODICO.PATRIMONIO_IMMOBILIARE_ProQuota + where Rete = @Rete + and COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC + -- fine modifica del 05/02/2019 per il ProQuota + --SELECT + -- PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + -- PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + -- PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + -- isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + -- PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + -- SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + -- SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + --FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + --WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + -- AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + --ORDER BY 5 DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S156ALtroPatrimonio.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S156ALtroPatrimonio.sql new file mode 100644 index 00000000..e9fb2ebd --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S156ALtroPatrimonio.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_D2_S156ALtroPatrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + SELECT + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM + C6MartPeriodico.PATRIMONIO_ALTRO + WHERE + PATRIMONIO_ALTRO.RETE = @Rete + AND PATRIMONIO_ALTRO.COD_FISCALE = @CodiceFiscale + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi.sql new file mode 100644 index 00000000..bcfb41ec --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi.sql @@ -0,0 +1,42 @@ +CREATE procedure [C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S133_S157DatiPiramide] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql new file mode 100644 index 00000000..48f505fa --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql @@ -0,0 +1,250 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi] 'F','NDRRRT54L20D869S' +CREATE procedure [C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + AND ID_AREA not in ('Na', 'Cc','Self') + DECLARE @TOTCCSELF AS INT + SELECT @TOTCCSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND (TIPO_PRODOTTO = 'Cc' OR ISIN = 'EURO00000009' ) +--INIZIO INTERVENTI OMNIA quiii2 + DECLARE @TOTSELF AS INT + SELECT @TOTSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' +--FINE INTERVENTI OMNIA quiii2 + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCCSELF = @TOT THEN 0.00 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + WHEN (@TOTCCSELF <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'n.c.' + --V SOLO SELF -> VAR = 'n.c.' + WHEN (@TOTSELF = @TOT) THEN 'n.c.' + --V SOLO CC -> VAR = 0 + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCCSELF = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' +--INIZIO INTERVENTI OMNIA +-- WHEN @TOTCC = @TOT THEN NULL + WHEN @TOTCCSELF = @TOT THEN NULL + WHEN @TOTSELF = @TOT THEN 'n.c.' +--FINE INTERVENTI OMNIA + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCCSELF = @TOT THEN NULL + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BkUpParall.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BkUpParall.sql new file mode 100644 index 00000000..757ef898 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BkUpParall.sql @@ -0,0 +1,251 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi] 'F','NDRRRT54L20D869S' +CREATE procedure [C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + AND ID_AREA not in ('Na', 'Cc','Self') + DECLARE @TOTCCSELF AS INT + SELECT @TOTCCSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND (TIPO_PRODOTTO = 'Cc' OR ISIN in('EURO00000009', 'EURO10000007')) +--INIZIO INTERVENTI OMNIA quiii2 + DECLARE @TOTSELF AS INT + SELECT @TOTSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in ('EURO00000009', 'EURO10000007') +--FINE INTERVENTI OMNIA quiii2 + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCCSELF = @TOT THEN 0.00 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + WHEN (@TOTCCSELF <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'n.c.' + --V SOLO SELF -> VAR = 'n.c.' + WHEN (@TOTSELF = @TOT) THEN 'n.c.' + --V SOLO CC -> VAR = 0 + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCCSELF = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' +--INIZIO INTERVENTI OMNIA +-- WHEN @TOTCC = @TOT THEN NULL + WHEN @TOTCCSELF = @TOT THEN NULL + WHEN @TOTSELF = @TOT THEN 'n.c.' +--FINE INTERVENTI OMNIA + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCCSELF = @TOT THEN NULL + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_testFc.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_testFc.sql new file mode 100644 index 00000000..b8bb356a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_testFc.sql @@ -0,0 +1,250 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi] 'F','NDRRRT54L20D869S' +CREATE procedure [C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi_testFc] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + AND ID_AREA not in ('Na', 'Cc','Self') + DECLARE @TOTCCSELF AS INT + SELECT @TOTCCSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND (TIPO_PRODOTTO = 'Cc' OR ISIN = 'EURO00000009' ) +--INIZIO INTERVENTI OMNIA quiii2 + DECLARE @TOTSELF AS INT + SELECT @TOTSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' +--FINE INTERVENTI OMNIA quiii2 + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCCSELF = @TOT THEN 0.00 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + WHEN (@TOTCCSELF <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'n.c.' + --V SOLO SELF -> VAR = 'n.c.' + WHEN (@TOTSELF = @TOT) THEN 'n.c.' + --V SOLO CC -> VAR = 0 + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCCSELF = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' +--INIZIO INTERVENTI OMNIA +-- WHEN @TOTCC = @TOT THEN NULL + WHEN @TOTCCSELF = @TOT THEN NULL + WHEN @TOTSELF = @TOT THEN 'n.c.' +--FINE INTERVENTI OMNIA + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCCSELF = @TOT THEN NULL + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S158PiramideModello.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S158PiramideModello.sql new file mode 100644 index 00000000..1d6c9e46 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S158PiramideModello.sql @@ -0,0 +1,51 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D_S158PiramideModello] 'F','CLRLCU75R04B573X' +CREATE procedure [C6MartPeriodico].[PL_D2_S158PiramideModello] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT BF.NOME_PROGETTO AS NomePrg, + PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + AGGR.VAR_PERC_PTF as VarPrg, + SUM(BF.CTV)AS ControvalorePrg + FROM C6MartPeriodico.PATRIMONIO_BF BF + INNER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AGGR + ON BF.RETE= AGGR.RETE + AND BF.COD_FISCALE= AGGR.COD_FISCALE + AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO +'|'+cast(BF.ORDINAMENTO_PROGETTO as char) --per Aladdin è stato aggiunta la concatenazione --> cast(BF.ORDINAMENTO_PROGETTO as char) + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD + ON BF.RETE= PIRMOD.RETE + AND BF.COD_FISCALE= PIRMOD.COD_FISCALE + AND BF.ID_AREA = PIRMOD.ID_AREA + AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'inv' + AND BF.RETE = @Rete + AND BF.COD_FISCALE = @CodiceFiscale + AND BF.CTV > 0 + group BY BF.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,AGGR.VAR_PERC_PTF + --SELECT + -- AREA_BISOGNO.ID_AREA AS Need_Breve, -- NOME BREVE DELL'AREA DI BISOGNO + -- PIRMOD.NOME_PROGETTO AS Nome_Progetto, -- NOME DEL PROGETTO (AREA INV) + -- ISNULL(PIRMOD.PERC_AREA,0) AS Perc_Need, -- PERCENTUALE DI ALLOCAZIONE SULL'AREA DI BISOGNO + -- PIRMOD.ORIZZ_TEMP AS Orizz_Temp, -- ORIZZONTE TEMPORALE DEL PROGETTO + -- PIRMOD.CTV_PROGETTO AS Controvalore, -- Controvalore Progetto + -- SUM(ISNULL(PIRMOD.PERC_AREA,0)) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE, AREA_BISOGNO.ID_AREA) AS Totale_Percentuale, -- PERCENTUALE DI ALLOCAZIONE DEI PROGETTI + -- SUM(ISNULL(PIRMOD.PERC_AREA,0)) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE) AS Totale, + -- COUNT(CASE WHEN AREA_BISOGNO.ID_AREA = 'INV' AND PIRMOD.NOME_PROGETTO IS NOT NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE) AS NumeroProgettiInv, + -- AREA_BISOGNO.ORDINAMENTO AS Ordinamento + --FROM C6MartPeriodico.AREA_BISOGNO + --LEFT JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD + -- ON PIRMOD.ID_AREA = AREA_BISOGNO.ID_AREA + -- AND((PIRMOD.ID_AREA = 'INV' AND PIRMOD.NOME_PROGETTO IS NOT NULL )--OR PIRAMIDE_MOD.tipo_progetto<>'Default' + -- OR PIRMOD.ID_AREA IN ('RIS','EXT','LIQ','PRE')) + -- AND PIRMOD.RETE = @Rete + -- AND PIRMOD.COD_FISCALE = @CodiceFiscale + --WHERE AREA_BISOGNO.ORDINAMENTO < 6 + --ORDER BY AREA_BISOGNO.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S159PatrimonioFinanziario.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S159PatrimonioFinanziario.sql new file mode 100644 index 00000000..c63dc36f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S159PatrimonioFinanziario.sql @@ -0,0 +1,246 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S159PatrimonioFinanziario] 'F','BSHLRI69R13Z100Y' +CREATE procedure [C6MartPeriodico].[PL_D2_S159PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(19,5)) AS Controvalore, + cast(A.Percentuale as decimal(19,5)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area not in ('CC','Self') + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S159PatrimonioFinanziario] Script Date: 09/02/2022 11:30:15 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +---- [C6MartPeriodico].[PL_DT_S159PatrimonioFinanziario] 'F','BSHLRI69R13Z100Y' +--ALTER procedure [C6MartPeriodico].[PL_D2_S159PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +--SELECT +-- A.BANCA AS Banca, +-- A.ORDINAMENTO AS Ordinamento, +-- A.AssetClassId AS AssetClassId, +-- A.AssetClassName AS AssetClassName, +-- cast(A.Controvalore as decimal(19,5)) AS Controvalore, +-- cast(A.Percentuale as decimal(19,5)) AS Percentuale, +-- cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +--FROM +--( +-- SELECT DISTINCT +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Fideuram' +-- END AS Banca, +-- ASSETCLASS.ORDINAMENTO, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / +-- --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 +-- THEN 1 +-- ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) +-- END +-- ) * 100 AS Percentuale +-- FROM ( +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- and patrbf.id_area not in ('CC','Self') +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +---- SELECT +---- ASSETPERC.ID_ASSETCLASS, +---- PATRBF.CTV*ASSETPERC.PERC as Controvalore +---- FROM +---- C6MartPeriodico.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MartPeriodico.ASSET_PERC ASSETPERC +---- ON +---- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +---- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +---- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN +---- C6MartPeriodico.ClientiConCCNegativo CCNegativo +---- ON +---- PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- WHERE +---- --ELIMINO I CC CON SALDO NEGATIVO +---- PATRBF.TIPO_PRODOTTO = 'CC' +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND CCNegativo.Cod_Fiscale IS NULL +---- UNION ALL +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MartPeriodico.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--ORDER BY A.ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF.sql new file mode 100644 index 00000000..d261df6a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF.sql @@ -0,0 +1,238 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'SLLLMN44E29A176G' +-- [C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF] 'F', 'SPNTTR67T20F205D' +CREATE procedure [C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +distinct +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + apc.is_APC as isAPC +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) + --aggiunta 18/12/2022 per APC103 +left join C6MartPeriodico.WSEICC apc +on + apc.RETE=PATRBF.RETE + and apc.cod_fiscale=patrbf.cod_fiscale + and PATRBF.ID_CONTRATTO = --apc.CODCONFPR + (case when PATRBF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) + --fine aggiunta 18/12/2022 per APC103 +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_progetto,nome_progetto, PATRBF.CTV DESC +END +--select top 1 * from c6martperiodico.patrimonio_bf where tipo_prodotto = 'CC' +--select SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)),ANAG_CC.COD_CC +--from c6martperiodico.anag_cc \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_20151222.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_20151222.sql new file mode 100644 index 00000000..1a581c88 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_20151222.sql @@ -0,0 +1,226 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'SLLLMN44E29A176G' +-- [C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF] 'F', 'MRNMNG53P46H294F' +CREATE procedure [C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF_BK_20151222] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_progetto,nome_progetto, PATRBF.CTV DESC +END +--select top 1 * from c6martperiodico.patrimonio_bf where tipo_prodotto = 'CC' +--select SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)),ANAG_CC.COD_CC +--from c6martperiodico.anag_cc \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql new file mode 100644 index 00000000..95920122 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql @@ -0,0 +1,225 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'SLLLMN44E29A176G' +-- [C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF] 'F', 'NDRRRT54L20D869S' +CREATE procedure [C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin ='EURO00000009' THEN 'n.c.' +ELSE NULL END as varProdottoString, +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin ='EURO00000009') then 100.00 +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_progetto,nome_progetto, PATRBF.CTV DESC +END +--select top 1 * from c6martperiodico.patrimonio_bf where tipo_prodotto = 'CC' +--select SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)),ANAG_CC.COD_CC +--from c6martperiodico.anag_cc \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S162DettaglioProdotti.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S162DettaglioProdotti.sql new file mode 100644 index 00000000..800b4129 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S162DettaglioProdotti.sql @@ -0,0 +1,102 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S162DettaglioProdotti] 'S', 'VNZGPL53M04L781P' +CREATE procedure [C6MartPeriodico].[PL_D2_S162DettaglioProdotti] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + ON + PATRTERZI.RETE = RISCHIOAGGREG.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGREG.COD_FISCALE + AND RISCHIOAGGREG.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + WHERE 1 = 1 + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.DESCR_GRUPPO_PRODOTTO IS NOT NULL + and ROUND(PATRTERZI.CTV,2) != 0.00 + ORDER BY + OrdinamentoProdotti, + Controvalore DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..5f3c1ec4 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,67 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_D2_S163PatrimonioFinanziarioMAssetClass] 'S', 'SLLVTI76H02A176H' +CREATE procedure [C6MartPeriodico].[PL_D2_S163PatrimonioFinanziarioMAssetClass] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT DISTINCT + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + case SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + when 0 then 1 + else SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + end +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + where Controvalore <> 0 + ORDER BY + ASSETCLASS.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S164PolizzeAltriIstituti.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S164PolizzeAltriIstituti.sql new file mode 100644 index 00000000..11d95b65 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S164PolizzeAltriIstituti.sql @@ -0,0 +1,31 @@ +-- ============================================= +-- Author: Marco Gentilezza +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_DT_S164PolizzeAltriIstituti]'S', 'MRTRRT57T17E758I' +CREATE procedure [C6MartPeriodico].[PL_D2_S164PolizzeAltriIstituti] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' + WHERE PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S165FondiAltriIstituti.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S165FondiAltriIstituti.sql new file mode 100644 index 00000000..673925a8 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S165FondiAltriIstituti.sql @@ -0,0 +1,63 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S165FondiAltriIstituti] 'S', 'MRTRRT57T17E758I' +CREATE procedure [C6MartPeriodico].[PL_D2_S165FondiAltriIstituti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + WHERE + PATRTERZI.rete = @Rete + and PATRTERZI.cod_fiscale = @CodiceFiscale + --AND PATRTERZI.TIPO_PRODOTTO = 'Fondi pensione' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S166ContoCorrenteAI.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S166ContoCorrenteAI.sql new file mode 100644 index 00000000..6b8a211e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S166ContoCorrenteAI.sql @@ -0,0 +1,24 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_D2_S166ContoCorrenteAI] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + CCTerzi.INTERMEDIARIO AS Intermediario, + CCTerzi.COD_CC AS ContoCorrente, + CCTerzi.SALDO AS Saldo, + null as creditrisk, + 'n.a.' as creditriskstring, + 0.00 as var + FROM + C6MartPeriodico.ANAG_CC_Terzi CCTerzi + WHERE + CCTerzi.rete= @Rete + AND CCTerzi.cod_fiscale= @CodiceFiscale + and CCTerzi.SALDO != 0 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito.sql new file mode 100644 index 00000000..8c2c9960 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito.sql @@ -0,0 +1,632 @@ +-- Stored procedure +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S167DistribuzioneRischioCredito] 'F','GGGNNA41E59G687E' +-- N.B. Questa è importante per le note presenti nel macro asset class S10 +CREATE procedure [C6MartPeriodico].[PL_D2_S167DistribuzioneRischioCredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest', 'IW Private Investments') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' WHEN PATRBF.RETE ='S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' WHEN PATRBF.RETE = 'S' THEN 'SANPAOLO' ELSE 'IWPRIVATEINVESTMENTS' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +'Altri Istituti' AS INTERMEDIARIO, +--PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +--PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S167DistribuzioneRischioCredito] Script Date: 09/02/2022 11:33:09 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Authors: +---- Create date: +---- Description: +---- ============================================= +---- [C6MartPeriodico].[PL_D2_S167DistribuzioneRischioCredito] 'F','GGGNNA41E59G687E' +--ALTER procedure [C6MartPeriodico].[PL_D2_S167DistribuzioneRischioCredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +----QUERY PER INTERMEDIARIO +--SELECT +--RETE, +--COD_FISCALE, +--INTERMEDIARIO, +--CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 +-- ELSE 2 END AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +-- -- Start 1.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +----SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS ctv +--FROM +--[C6Martperiodico].PATRIMONIO_BF PATRBF +-----Per calcolare la somma algebrica dei cc +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MARTPERIODICO].pATRIMONIO_BF +--where id_Area in ('Cc','Self') +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +----fine calcolo somma cc +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') +-- THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +----INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +--LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END, +--CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +----- End 1.1 +--UNION ALL +---- Start 1.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--'Altri Istituti' AS INTERMEDIARIO, +----PATRTERZI.INTERMEDIARIO, +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6Martperiodico].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +----PATRTERZI.INTERMEDIARIO, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 1.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE, +--INTERMEDIARIO +---------- +--UNION ALL +------------- +----QUERY TOTALE +--SELECT +--RETE, +--COD_FISCALE, +--'Complessivo' AS INTERMEDIARIO, +--3 AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +----- Start 2.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +----SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS CTV +--FROM +--[C6Martperiodico].PATRIMONIO_BF PATRBF +----per fare la somma algebrica dei cc +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MARTPERIODICO].pATRIMONIO_BF +--where id_Area in ('Cc','Self') +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +----fine somma cc +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') +-- THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 2.1 +--UNION ALL +---- Start 2.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +--left outer join +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6Martperiodico].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +----- End 2.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito_PatrimonioNonRapp.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito_PatrimonioNonRapp.sql new file mode 100644 index 00000000..17ac7ba3 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito_PatrimonioNonRapp.sql @@ -0,0 +1,314 @@ +-- Stored procedure +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S167DistribuzioneRischioCredito] 'F','GGGNNA41E59G687E' +CREATE procedure [C6MartPeriodico].[PL_D2_S167DistribuzioneRischioCredito_PatrimonioNonRapp] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +into #rapp +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +'Altri Istituti' AS INTERMEDIARIO, +--PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +--PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +Select top (1) CTV_notCovered from #rapp +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S168TabellaEmittenti.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S168TabellaEmittenti.sql new file mode 100644 index 00000000..01b3e1e3 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S168TabellaEmittenti.sql @@ -0,0 +1,397 @@ +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6Mart].[PL_D_S168TabellaEmittenti] 'F','FF@7181' +CREATE procedure [C6MartPeriodico].[PL_D2_S168TabellaEmittenti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + --SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, --modifica apportata il 24/04 per concentrazione % errata secondo Levi + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLESSIVO) AS CONCENTRATION, + sum(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS, + RATING + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +--RATING as RATING +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +--RATING as RATING +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V +LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS, +RATING +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10 +--RATING +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S168TabellaEmittenti_BK_20151222.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S168TabellaEmittenti_BK_20151222.sql new file mode 100644 index 00000000..fccda99a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S168TabellaEmittenti_BK_20151222.sql @@ -0,0 +1,396 @@ +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6Mart].[PL_D_S168TabellaEmittenti] 'F','MRNMNG53P46H294F' +CREATE procedure [C6MartPeriodico].[PL_D2_S168TabellaEmittenti_BK_20151222] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS, + RATING + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +--RATING as RATING +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +--RATING as RATING +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V +LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS, +RATING +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10 +--RATING +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..29ccee20 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito.sql @@ -0,0 +1,557 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] 'S','BLDMCL41L09L378V' +CREATE procedure [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + -- 16/7/2018 + into #appo + -- fine 16/7/2018 + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' then 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' then 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.cod_fiscale = @codiceFiscale + and PATRBF.rete= @rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' then 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' then 'Patrimonio IW Private Inv.' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.cod_fiscale =@codiceFiscale + and TERZI.rete=@rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'W' then 'Patrimonio IW Private Inv.' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine + --------------------------------------------- 16/7/2018 + declare @contaPatrimoni smallint + select @contaPatrimoni = count(*) from #appo where ordine = 1 + if @contaPatrimoni = 0 --manca il patrimonio casa + begin + select * from ( + select top 1 + #appo.RETE, + #appo.COD_FISCALE, + case when #appo.RETE= 'F' then 'Patrimonio Fideuram' + WHEN #appo.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + when #appo.RETE= 'W' then 'Patrimonio IW Private Inv.' + end as INSTITUTENAME, + 0 as CTV, + #appo.CODICEPROFILO, + #appo.VARMAX, + 0 AS VAR, + 'n.c.' AS VARSTRING, + 0 as RISKCLASS, + 'n.c.' as RISKCLASSSTRING, + #appo.COVERAGE, + NULL AS COVERAGESTRING, + #appo.RISKCLASSMAX, + 0.0 as PERCENTAGE, + 1 as ordine, + 0 as Ully_perc + from #appo + union + select * from #appo) risultato order by ordine; + end + else + select * from #appo order by ordine; + ------------------------------------------ fine 16/7/2018 +--6,7,9,13 della appo +--case +-- when var <= varmax then '1' +-- when var > varmax then '0' +-- else -1 +--end as rischio_mercato, +--case +-- when riskclass is null then '1' +-- when riskclass <= convert(int,RISKCLASSMAX) then '1' +-- when riskclass > convert(int,RISKCLASSMAX) then '0' +-- else -1 +--end as rischio_credito +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] Script Date: 09/02/2022 11:34:55 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +-- --[C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] 'S','BLDMCL41L09L378V' +--ALTER procedure [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- PATRBF.INSTITUTENAME, +-- CTV, +-- M.PROFILO_ASS AS CODICEPROFILO, +-- CR.MAX_VAR AS VARMAX, +-- RISK_AGG.VAR_PERC_PTF AS VAR , +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END AS VARSTRING, +-- RISK_AGG.CREDITRISK RISKCLASS, +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END AS RISKCLASSSTRING, +-- ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +----V La copertura viene valorizzata con un valore da 0 da 100 +-- -- CASE +-- -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +---- ELSE +--NULL +---- END +--AS COVERAGESTRING, +-- M.RISKCLASS AS RISKCLASSMAX, +-- round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / +-- -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 +-- THEN 1 +-- ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) +-- END) +-- *100 ,2)AS PERCENTAGE, +-- --V +-- ORDINE, +-- RISK_AGG.Ully_perc +-- -- 16/7/2018 +-- into #appo +-- -- fine 16/7/2018 +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, +-- SUM(PATRBF.CTV) AS CTV, +-- --V +-- 1 as ORDINE, +-- RISK_AGG.Ully_perc +-- from +-- c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG +-- where +-- 1=1 +-- and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE +-- and PATRBF.rete= RISK_AGG.rete +-- and PATRBF.cod_fiscale = @codiceFiscale +-- and PATRBF.rete= @rete +-- and PATRBF.CTV > 0 +-- and +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or +-- --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- RISK_AGG.Ully_perc, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END +-- UNION +-- SELECT +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- 'Patrimonio altri Istituti' AS INSTITUTENAME, +-- SUM(ROUND(TERZI.CTV,2)) AS CTV, +-- --V +-- 2 as ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG +-- where +-- 1=1 +-- and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE +-- and TERZI.rete= RISK_AGG.rete +-- and TERZI.cod_fiscale =@codiceFiscale +-- and TERZI.rete=@rete +-- and TERZI.CTV > 0 +-- and +-- ( +-- --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- GROUP BY +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- RISK_AGG.Ully_perc +-- ) PATRBF +-- LEFT OUTER JOIN +-- c6martperiodico.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- AND +-- (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' +-- WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' +-- else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- UNION ALL +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- 'Patrimonio Complessivo' AS INSTITUTENAME, +-- SUM(CTV), +-- MAX(M.PROFILO_ASS) AS CODICEPROFILO, +-- MAX(CR.MAX_VAR) AS VARMAX, +-- MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , +-- MAX( CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END) AS VARSTRING, +-- MAX(RISK_AGG.CREDITRISK) RISKCLASS, +-- MAX( +-- case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END ) +-- AS RISKCLASSSTRING, +-- MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, +-- MAX( CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END) AS COVERAGESTRING, +-- --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, +-- MAX(M.RISKCLASS) AS RISKCLASSMAX, +-- 100 AS PERCENTAGE, +-- --V +-- 3 AS ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- SUM(PATRBF.CTV) AS CTV +-- from +-- c6martperiodico.patrimonio_bf PATRBF +-- where +-- 1=1 +-- and cod_fiscale =@codiceFiscale +-- and rete=@rete +-- and PATRBF.CTV > 0 +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE +-- UNION +-- SELECT +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- SUM(ROUND(TERZI.CTV,2)) AS CTV +-- FROM +-- c6martperiodico.PATRIMONIO_TERZI TERZI +-- where +-- 1=1 +-- and cod_fiscale =@codiceFiscale +-- and rete=@rete +-- and TERZI.CTV > 0 +-- GROUP BY +-- TERZI.RETE, +-- TERZI.COD_FISCALE +-- ) PATRBF +-- LEFT OUTER JOIN +-- c6martperiodico.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO' +-- ) +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- RISK_AGG.Ully_perc +-- --V +-- order by ordine +-- --------------------------------------------- 16/7/2018 +-- declare @contaPatrimoni smallint +-- select @contaPatrimoni = count(*) from #appo where ordine = 1 +-- if @contaPatrimoni = 0 --manca il patrimonio casa +-- begin +-- select * from ( +-- select top 1 +-- #appo.RETE, +-- #appo.COD_FISCALE, +-- case when #appo.RETE= 'F' then 'Patrimonio Fideuram' +-- WHEN #appo.RETE= 'S' then 'Patrimonio Sanpaolo Invest' +-- end as INSTITUTENAME, +-- 0 as CTV, +-- #appo.CODICEPROFILO, +-- #appo.VARMAX, +-- 0 AS VAR, +-- 'n.c.' AS VARSTRING, +-- 0 as RISKCLASS, +-- 'n.c.' as RISKCLASSSTRING, +-- #appo.COVERAGE, +-- NULL AS COVERAGESTRING, +-- #appo.RISKCLASSMAX, +-- 0.0 as PERCENTAGE, +-- 1 as ordine, +-- 0 as Ully_perc +-- from #appo +-- union +-- select * from #appo) risultato order by ordine; +-- end +-- else +-- select * from #appo order by ordine; +-- ------------------------------------------ fine 16/7/2018 +----6,7,9,13 della appo +----case +---- when var <= varmax then '1' +---- when var > varmax then '0' +---- else -1 +----end as rischio_mercato, +----case +---- when riskclass is null then '1' +---- when riskclass <= convert(int,RISKCLASSMAX) then '1' +---- when riskclass > convert(int,RISKCLASSMAX) then '0' +---- else -1 +----end as rischio_credito +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito_20180716.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito_20180716.sql new file mode 100644 index 00000000..e013ce83 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito_20180716.sql @@ -0,0 +1,227 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_S96RischiomercatoRischiocredito] 'F','GZZSLD52E20G869L' +CREATE procedure [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito_20180716] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.cod_fiscale = @codiceFiscale + and PATRBF.rete= @rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.cod_fiscale =@codiceFiscale + and TERZI.rete=@rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S170RischioDiversificazione.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S170RischioDiversificazione.sql new file mode 100644 index 00000000..87d2e5e1 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S170RischioDiversificazione.sql @@ -0,0 +1,280 @@ +-- [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] 'W','MLAMRA61P03G337F' +CREATE procedure [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] --'S','BCCNDR69P21A462P' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + and id_area not in ('LIGHT', 'VOID') + -- modifica del 5/2/2019 per escludere i record del patr non rappresentabile (commentata ed eventualmente utilizzata ad hoc) + --and (rend_non_rappr = 0 or (id_area = 'Liq' and rend_non_rappr = 1)) + --fine modifica del 5/2/2019 + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + ------------------------ MIFID2 - MAGGIO 2018 + DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim = c6martperiodico.getTrimestre(getDate(),0) + declare @maxComplessita as int + if @CodiceFiscale like '%FF@%' + select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2] + where + codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; commentata per MUA + else + select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2] + where + codfis= @CodiceFiscale + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; commentata per MUA +SELECT +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (6,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +-- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi +beneficio as diversificazione, +--case +--when cod_Aggreg = 'COMPLESSIVO' then null +--when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then null +--END AS diversificazione, +-- fine modifica del 19/6/2018 +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' when k.rete = 'S' then 'Sanpaolo Invest' else 'IW Private Investments' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +isnull(b.max_var, 0) as var_profilo, +------------------------ MIFID2 - MAGGIO 2018 +case @maxComplessita + when 0 then 'Non complesso' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + else 'n.c.' + end + as complessita, +------------------------- FINE MIFID2 - MAGGIO 2018 +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] Script Date: 09/02/2022 11:37:02 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] 's','BRNGDI72S69L219Y' +--ALTER procedure [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- declare @contaCC as int +-- select @contaCC = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete +-- declare @contaPOS as int +-- select @contaPOS = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where cod_fiscale = @codiceFiscale and rete = @rete +-- declare @ctvbf as decimal(12,2) +-- SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +-- and id_area not in ('LIGHT', 'VOID') +-- -- modifica del 5/2/2019 per escludere i record del patr non rappresentabile (commentata ed eventualmente utilizzata ad hoc) +-- --and (rend_non_rappr = 0 or (id_area = 'Liq' and rend_non_rappr = 1)) +-- --fine modifica del 5/2/2019 +-- declare @ctvterzi as decimal (12,2) +-- SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +-- ------------------------ MIFID2 - MAGGIO 2018 +-- DECLARE @DataFineTrim VARCHAR(8) +-- SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +-- declare @maxComplessita as int +-- if @CodiceFiscale like '%FF@%' +-- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD2] +-- where +-- -- codfis like +-- -- CASE when @CodiceFiscale like '%FF@%'THEN '%%' +-- -- ELSE @CodiceFiscale +-- -- END +-- --and codman = +-- -- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- -- ELSE '' +-- -- END +-- codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- and rete= @Rete +-- and DTTRIM = @DataFineTrim +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10; +-- else +-- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD2] +-- where +-- -- codfis like +-- -- CASE when @CodiceFiscale like '%FF@%'THEN '%%' +-- -- ELSE @CodiceFiscale +-- -- END +-- --and codman = +-- -- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- -- ELSE '' +-- -- END +-- codfis= @CodiceFiscale +-- and rete= @Rete +-- and DTTRIM = @DataFineTrim +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10; +--SELECT +--K.COD_FISCALE, +--K.RETE, +--CASE +-- when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf +-- when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi +-- when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi +-- else 0 +--END AS CTV_AGGREG, +--K.CREDITRISK, +--CASE +-- WHEN (@contaPOS - @contacc = 0) THEN 0 +-- ELSE VAR_PERC_PTF +--END AS VAR, +--CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +--CASE +-- WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 +-- --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' +-- ELSE null +--END AS coperturaString, +---- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi +--beneficio as diversificazione, +----case +----when cod_Aggreg = 'COMPLESSIVO' then null +----when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio +----when cod_Aggreg = 'COMPLESSIVO|TERZI' then null +----END AS diversificazione, +---- fine modifica del 19/6/2018 +--CASE +-- WHEN (@contaPOS - @contacc = 0) THEN 100 +-- ELSE COPERTURA +--END AS COPERTURA, +--case +--when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +--when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +--ELSE '' +--END AS PATRIMONIO, +--case +-- when b.profilo is null then -1 +-- else b.profilo +--end as profiloCode, +--isnull(b.max_var, 0) as var_profilo, +-------------------------- MIFID2 - MAGGIO 2018 +--case @maxComplessita +-- when 0 then '-' +-- when 1 then 'Minima' +-- when 2 then 'Bassa' +-- when 3 then 'Media' +-- when 4 then 'Alta' +-- when 5 then 'Molto alta' +-- else '-' +-- end +-- as complessita, +--------------------------- FINE MIFID2 - MAGGIO 2018 +----V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +----V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +--case +--when cod_Aggreg = 'COMPLESSIVO' then 3 +--when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +--ELSE '' +--END AS Ordine +--FROM +--C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a +-- ON k.cod_fiscale = a.cod_fiscale and +-- k.rete = a.rete +-- left outer join +--C6Martperiodico.CODIFICA_RISCHIO b on +--A.PROFILO_ASS=B.PROFILO +--WHERE +----A.PROFILO_ASS=B.PROFILO +----AND K.RETE=A.RETE +----AND K.COD_FISCALE= A.COD_FISCALE +--COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +--AND k.COD_FISCALE = @COdiceFISCALE +--AND k.RETE= @RETE +--ORDER BY ordine +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S170RischioDiversificazione_NoLight.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S170RischioDiversificazione_NoLight.sql new file mode 100644 index 00000000..b95eacb1 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S170RischioDiversificazione_NoLight.sql @@ -0,0 +1,291 @@ +-- [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] 's','ff@G81D1' +CREATE procedure [C6MartPeriodico].[PL_D2_S170RischioDiversificazione_NoLight] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + and id_area not in ('LIGHT', 'VOID') + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + ------------------------ MIFID2 - MAGGIO 2018 + DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + declare @maxComplessita as int + if @CodiceFiscale like '%FF@%' + select @maxComplessita = MAXCOMPL from [C6StagingPeriodico].[WSEIAN2] + where + -- codfis like + -- CASE when @CodiceFiscale like '%FF@%'THEN '%%' + -- ELSE @CodiceFiscale + -- END + --and codman = + -- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + -- ELSE '' + -- END + codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; + else + select @maxComplessita = MAXCOMPL from [C6StagingPeriodico].[WSEIAN2] + where + -- codfis like + -- CASE when @CodiceFiscale like '%FF@%'THEN '%%' + -- ELSE @CodiceFiscale + -- END + --and codman = + -- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + -- ELSE '' + -- END + codfis= @CodiceFiscale + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; +SELECT +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +-- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi +beneficio as diversificazione, +--case +--when cod_Aggreg = 'COMPLESSIVO' then null +--when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then null +--END AS diversificazione, +-- fine modifica del 19/6/2018 +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' when k.rete = 'S' then 'Sanpaolo Invest' else 'IW Private Investments' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +isnull(b.max_var, 0) as var_profilo, +------------------------ MIFID2 - MAGGIO 2018 +case @maxComplessita + when 0 then '-' + when 1 then 'Non complessi' + when 2 then 'Bassa' + when 3 then 'Medio-bassa' + when 4 then 'Medio-alta' + when 5 then 'Alta' + else '-' + end + as complessita, +------------------------- FINE MIFID2 - MAGGIO 2018 +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S170RischioDiversificazione_NoLight] Script Date: 09/02/2022 11:39:04 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] 's','ff@G81D1' +--ALTER procedure [C6MartPeriodico].[PL_D2_S170RischioDiversificazione_NoLight] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- declare @contaCC as int +-- select @contaCC = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete +-- declare @contaPOS as int +-- select @contaPOS = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where cod_fiscale = @codiceFiscale and rete = @rete +-- declare @ctvbf as decimal(12,2) +-- SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +-- and id_area not in ('LIGHT', 'VOID') +-- declare @ctvterzi as decimal (12,2) +-- SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +-- ------------------------ MIFID2 - MAGGIO 2018 +-- DECLARE @DataFineTrim VARCHAR(8) +-- SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +-- declare @maxComplessita as int +-- if @CodiceFiscale like '%FF@%' +-- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD] +-- where +-- -- codfis like +-- -- CASE when @CodiceFiscale like '%FF@%'THEN '%%' +-- -- ELSE @CodiceFiscale +-- -- END +-- --and codman = +-- -- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- -- ELSE '' +-- -- END +-- codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- and rete= @Rete +-- and DTTRIM = @DataFineTrim +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10; +-- else +-- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD] +-- where +-- -- codfis like +-- -- CASE when @CodiceFiscale like '%FF@%'THEN '%%' +-- -- ELSE @CodiceFiscale +-- -- END +-- --and codman = +-- -- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- -- ELSE '' +-- -- END +-- codfis= @CodiceFiscale +-- and rete= @Rete +-- and DTTRIM = @DataFineTrim +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10; +--SELECT +--K.COD_FISCALE, +--K.RETE, +--CASE +-- when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf +-- when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi +-- when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi +-- else 0 +--END AS CTV_AGGREG, +--K.CREDITRISK, +--CASE +-- WHEN (@contaPOS - @contacc = 0) THEN 0 +-- ELSE VAR_PERC_PTF +--END AS VAR, +--CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +--CASE +-- WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 +-- --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' +-- ELSE null +--END AS coperturaString, +---- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi +--beneficio as diversificazione, +----case +----when cod_Aggreg = 'COMPLESSIVO' then null +----when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio +----when cod_Aggreg = 'COMPLESSIVO|TERZI' then null +----END AS diversificazione, +---- fine modifica del 19/6/2018 +--CASE +-- WHEN (@contaPOS - @contacc = 0) THEN 100 +-- ELSE COPERTURA +--END AS COPERTURA, +--case +--when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +--when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +--ELSE '' +--END AS PATRIMONIO, +--case +-- when b.profilo is null then -1 +-- else b.profilo +--end as profiloCode, +--isnull(b.max_var, 0) as var_profilo, +-------------------------- MIFID2 - MAGGIO 2018 +--case @maxComplessita +-- when 0 then '-' +-- when 1 then 'Minima' +-- when 2 then 'Bassa' +-- when 3 then 'Media' +-- when 4 then 'Alta' +-- when 5 then 'Molto alta' +-- else '-' +-- end +-- as complessita, +--------------------------- FINE MIFID2 - MAGGIO 2018 +----V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +----V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +--case +--when cod_Aggreg = 'COMPLESSIVO' then 3 +--when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +--ELSE '' +--END AS Ordine +--FROM +--C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a +-- ON k.cod_fiscale = a.cod_fiscale and +-- k.rete = a.rete +-- left outer join +--C6Martperiodico.CODIFICA_RISCHIO b on +--A.PROFILO_ASS=B.PROFILO +--WHERE +----A.PROFILO_ASS=B.PROFILO +----AND K.RETE=A.RETE +----AND K.COD_FISCALE= A.COD_FISCALE +--COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +--AND k.COD_FISCALE = @COdiceFISCALE +--AND k.RETE= @RETE +--ORDER BY ordine +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql b/sql/storedProduzione/C6MartPeriodico_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..ba54d94d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,164 @@ +-- ============================================= +-- Author: +-- Create date: 30/08/2013 +-- Description: uguale a S76 +-- ============================================= +--[C6MartPeriodico].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BLNMTN60L53L736R' +CREATE procedure [C6MartPeriodico].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @NOMERETE VARCHAR(30) + IF @RETE = 'F' + SET @NOMERETE = 'Fideuram' + ELSE IF @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL +--INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <> 0.00 +--INIZIO INTERVENTI OMNIA + UNION ALL + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO , + --savingmap - Novembre 2019 + patrbf.tipo_prodotto + ORDER BY CONTROVALORE DESC +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] Script Date: 09/02/2022 11:46:31 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: 30/08/2013 +---- Description: uguale a S76 +---- ============================================= +----[C6MartPeriodico].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BLNMTN60L53L736R' +--ALTER procedure [C6MartPeriodico].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @RETE = 'F' +-- SET @NOMERETE = 'Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- PATRBF.CTV as Controvalore, +-- PATRBF.CTV as controvalore_contratto, +-- PATRBF.PARTVIA_DISINV as PartitaViaggiante, +-- @NOMERETE as Intermediario, +-- -- savingmap - Novembre 2019 +-- patrbf.tipo_prodotto as Tipo_Prodotto +-- FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC +-- ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO <> 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +----INIZIO INTERVENTI OMNIA +-- AND PATRBF.CTV <> 0.00 +----INIZIO INTERVENTI OMNIA +-- UNION ALL +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- SUM(ASUL.CTV) as Controvalore, +-- MAX(PATRBF.CTV) as controvalore_contratto, +-- SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +-- @NOMERETE as Intermediario, +-- -- savingmap - Novembre 2019 +-- patrbf.tipo_prodotto as Tipo_Prodotto +-- FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL +-- ON PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- GROUP BY +-- PATRBF.ID_CONTRATTO, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , +-- ANAGP.DESCR_PRODOTTO , +-- --savingmap - Novembre 2019 +-- patrbf.tipo_prodotto +-- ORDER BY CONTROVALORE DESC +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D3_S151ProfiloDiRischio.sql b/sql/storedProduzione/C6MartPeriodico_PL_D3_S151ProfiloDiRischio.sql new file mode 100644 index 00000000..80696997 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D3_S151ProfiloDiRischio.sql @@ -0,0 +1,93 @@ +-- ============================================= +-- Author: +-- Create date: <05/04/2018> +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_D3_S151ProfiloDiRischio] 'F', 'DVTMRA58B09F839W' +CREATE procedure [C6MartPeriodico].[PL_D3_S151ProfiloDiRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenzaProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @descrizioneProfilo VARCHAR(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza VARCHAR(100) + DECLARE @riserva decimal(13,2) + DECLARE @inv_l_p decimal(5,2) + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + --DA DEFINIRE: + @dataScadenzaProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + else '-' + end + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + -- RICERCA DATA FINE VALIDITA' + declare @dtfinval decimal(9,0) + declare @codman varchar(6) + set @codman = '' + if upper(left(@CodiceFiscale,3)) = 'FF@' + begin + set @codman = substring(@CodiceFiscale,4,len(@CodiceFiscale)-3) + select @dtfinval = dtfinval,@riserva=IMP_RISERVA,@inv_l_p=PERC_ILP from C6StagingPeriodico.WSEIAN2 + where codman = @codman and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice mandato' + end + else + begin + select @dtfinval = dtfinval,@riserva=IMP_RISERVA,@inv_l_p=PERC_ILP from C6StagingPeriodico.WSEIAN2 + where codfis = @CodiceFiscale and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice fiscale' + end + -- + if @dtfinval <> 0 and @dtfinval is not null and ltrim(rtrim(@dtfinval)) <> '' + set @dataScadenzaProfilo = CONVERT(datetime, CONVERT(varchar,CONVERT(int,@dtfinval)), 0) + else + set @dataScadenzaProfilo = null + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (convert(datetime, @dataScadenzaProfilo)) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as descrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as descrizioneEsperienza, + @riserva as Riserva, + @inv_l_p as Inv_L_P +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql new file mode 100644 index 00000000..5dbc7fa4 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql @@ -0,0 +1,87 @@ +--[C6MartPeriodico].[PL_D_S177ProfiloDiRischio_Adeguatezza] 'F', 'DVTMRA58B09F839W' +CREATE procedure [C6MartPeriodico].[PL_D_FD177ProfiloDiRischio_Adeguatezza]-- 'F', 'SPNTTR67T20F205D' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenza DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + declare @descrizioneProfilo varchar(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @riskclassDescr VARCHAR(250) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza varchar(20) + DECLARE @riserva decimal(13,2) + DECLARE @inv_l_p decimal(5,2) + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenza = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + --when 5 then 'Alta' + else '-' + end + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + -- RICERCA DATA FINE VALIDITA' + declare @dtfinval decimal(9,0) + declare @codman varchar(6) + set @codman = '' + if upper(left(@CodiceFiscale,3)) = 'FF@' + begin + set @codman = substring(@CodiceFiscale,4,len(@CodiceFiscale)-3) + select @dtfinval = dtfinval,@riserva=isnull(IMP_RISERVA,0.00),@inv_l_p=isnull(PERC_ILP,0.00) from C6StagingPeriodico.WSEIAN2 + where codman = @codman and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice mandato' + end + else + begin + select @dtfinval = dtfinval,@riserva=isnull(IMP_RISERVA,0.00),@inv_l_p=isnull(PERC_ILP,0.00) from C6StagingPeriodico.WSEIAN2 + where codfis = @CodiceFiscale and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice fiscale' + end + -- + if @dtfinval <> 0 and @dtfinval is not null and ltrim(rtrim(@dtfinval)) <> '' + set @dataScadenza = CONVERT(datetime, CONVERT(varchar,CONVERT(int,@dtfinval)), 0) + else + set @dataScadenza = null + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (@dataScadenza) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as DescrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as descrizioneEsperienza, + @riserva as riserva, + @inv_l_p as investimento_l_periodo +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza.sql new file mode 100644 index 00000000..00fc559e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza.sql @@ -0,0 +1,306 @@ +--[C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza] 's', 'LMZGNN35M47F205W' +CREATE procedure [C6MartPeriodico].[PL_D_FD178IndicatoriEsitoAdeguatezza] --'W','DRNSNT51B44H090Q' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +--*************************************************************************** SOLO per test +--drop table @appo,#wseian,@TABELLAINDICATORI +--declare @Rete char(1),@CodiceFiscale varchar(16) +--set @Rete = 'f' +--set @CodiceFiscale = 'BTTFST43C42B300A'--'LNGLGU49D23F587Z'--'BRSDRN64E24D749H'--'00703420968'-- +--set @DataFineTrim = 20180430 +--*************************************************************************** +select * +into #WSEIAN2 +from C6MartPeriodico.WSEIAN2 +where RETE=@Rete +and CODFIS=@CodiceFiscale +DECLARE @adeguato [varchar](5) +DECLARE @descrizione [varchar](1000) +-- ************************** creo la tabella iniziale con tutti gli indicatori +declare @TABELLAINDICATORI table +( + TI_Ordine [smallint] null, + TI_Indicatore [varchar](80) null, + TI_Adeguato [varchar](5) null, + TI_Descrizione [varchar](1000) null +) +insert into @TABELLAINDICATORI values (1,'Rischio','-1','Non applicabile') +insert into @TABELLAINDICATORI values (2,'Riserva','-1','Non applicabile') +insert into @TABELLAINDICATORI values (3,'Investimento di Lungo Periodo','-1','Non applicabile') +insert into @TABELLAINDICATORI values (4,'Complessità','-1','Non applicabile') +insert into @TABELLAINDICATORI values (5,'Concentrazione in prodotti complessi','-1','Non applicabile') +insert into @TABELLAINDICATORI values (6,'Frequenza delle operazioni','-1','Non applicabile') +insert into @TABELLAINDICATORI values (7,'Concentrazione emittenti','-1','Non applicabile') +insert into @TABELLAINDICATORI values (8,'Concentrazione valutaria','-1','Non applicabile') +-- ***************************************************************************** +declare @appo table +( + RETE [varchar](1) null, + COD_FISCALE [varchar](16) null, + PATRIMONIO [varchar](255) NOT NULL, + CTV_AGGREG [decimal](12, 2) null, + profiloCode [smallint] null, + var_profilo [decimal](5, 2) null, + [VAR] [decimal](12, 3) NULL, + varString [varchar](16) null,--[decimal](12, 3) NULL, + CREDITRISK [int] NULL, + RISKCLASSSTRING [varchar](10) null, + coperturaString [varchar](16) null,--[decimal](12, 3) NULL, + COVERAGESTRING [varchar](10) null, + RISKCLASSMAX [varchar](50) null, + [PERCENTAGE] [decimal](12, 6) null, + Ordine [smallint] null, + ULLY_PERC [decimal](10, 2) NULL +) +--creo le tabelle di appoggio +insert into @appo exec [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] @Rete,@CodiceFiscale +--*************************************************************************** INDICATORE DI VALUTAZIONE: RISCHIO +select @adeguato = +case + when var <= var_profilo then '1' + when var > var_profilo then '0' + else -1 +end, +@descrizione = case + when var <= var_profilo then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '1') + when var > var_profilo then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '-1') +end +from @appo where ordine = 1 --patrimonio fideuram +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 1; +--*************************************************************************** INDICATORE DI VALUTAZIONE: RISERVA +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(riserva) = 'S' then '1' + when upper(riserva) = 'N' then '0' + else -1 +end , +@descrizione = case + when upper(riserva) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '1') + when upper(riserva) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '-1') +end +from #WSEIAN2 +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 2; +--*************************************************************************** INDICATORE DI VALUTAZIONE: INVESTIMENTO LUNGO PERIODO +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(invl_period) = 'S' then '1' + when upper(invl_period) = 'N' then '0' + else -1 +end , +@descrizione = case + when upper(invl_period) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '1') + when upper(invl_period) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '-1') +end +from #WSEIAN2 +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 3; +--*************************************************************************** INDICATORE DI VALUTAZIONE: Complessità (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when flagpg = 1 and flgprof = 'N' and flagnqp = 'S' and flgprlrde = 'N' then '-1' --Massimiliano dice che va messo prima di tutti senza testare altri flag 17/5/2018 + when upper(clcompl) = 'N' and + (select nocompl from [C6StagingPeriodico].[WSEIAN2] where codfis = @CodiceFiscale and dttrim = @DataFineTrim ) = 'S' then '0' + when upper(clcompl) = 'N' and flagpg = 0 then '0' + --fix del 18/7/2019 + --when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'N' then '0' + when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'S' then '0' + --fine fix del 18/7/2019 + when upper(clcompl) = 'S' then '1' +end, +@descrizione = case + when flagpg = 1 and flgprof = 'N' and flagnqp = 'S' and flgprlrde = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '-1') + when upper(clcompl) = 'N' and + (select nocompl from [C6StagingPeriodico].[WSEIAN2] where codfis = @CodiceFiscale and dttrim = @DataFineTrim ) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0C') + when upper(clcompl) = 'N' and flagpg = 0 then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0A') + --fix del 18/7/2019 + --when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0B') + when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0B') + --fine fix del 18/7/2019 + when upper(clcompl) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '1') +end +from #WSEIAN2 +--and flgprof <> 'S' +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 4; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 4; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione in prodotti complessi (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(flgconc) = 'S' then '1' + when upper(flgconc) in ('N') then '0' + else '-1' +end, +@descrizione = case + when upper(flgconc) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '1') + when upper(flgconc) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '-1') +end +from #WSEIAN2 +--and flgprof <> 'S' +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 5; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 5; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Frequenza delle operazioni (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(freq) = 'S' then '1' + when upper(freq) = 'N' then '0' + else '-1' +end, +@descrizione = case + when upper(freq) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '1') + when upper(freq) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '-1') +end +from #WSEIAN2 +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 6; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 6; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione emittenti (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(concemi) = 'S' then '1' + when upper(concemi) = 'N' then '0' + else '-1' +end , +@descrizione = case + when upper(concemi) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '1') + when upper(concemi) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '-1') +end +from #WSEIAN2 +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 7; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 7; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione Valutaria (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(ADEGCONC_VALUT) = 'S' then '1' + when upper(ADEGCONC_VALUT) = 'N' then '0' + else '-1' +end, +@descrizione = case + when upper(ADEGCONC_VALUT) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '1') + when upper(ADEGCONC_VALUT) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '-1') +end +from #WSEIAN2 +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 8; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 8; + end +end +--******************************************************************************************************************************************* +select +ti_ordine as Ordine, +ti_indicatore as Indicatore, +ti_adeguato as Adeguato, +ti_descrizione as DescrizioneEsito +from @TABELLAINDICATORI +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza_preMUA.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza_preMUA.sql new file mode 100644 index 00000000..a8406da3 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza_preMUA.sql @@ -0,0 +1,470 @@ +--[C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza] 's', 'LMZGNN35M47F205W' +CREATE procedure [C6MartPeriodico].[PL_D_FD178IndicatoriEsitoAdeguatezza_preMUA] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +--*************************************************************************** SOLO per test +--drop table @appo,#wseian,@TABELLAINDICATORI +--declare @Rete char(1),@CodiceFiscale varchar(16) +--set @Rete = 'f' +--set @CodiceFiscale = 'BTTFST43C42B300A'--'LNGLGU49D23F587Z'--'BRSDRN64E24D749H'--'00703420968'-- +--set @DataFineTrim = 20180430 +--*************************************************************************** +DECLARE @adeguato [varchar](5) +DECLARE @descrizione [varchar](1000) +-- ************************** creo la tabella iniziale con tutti gli indicatori +declare @TABELLAINDICATORI table +( + TI_Ordine [smallint] null, + TI_Indicatore [varchar](80) null, + TI_Adeguato [varchar](5) null, + TI_Descrizione [varchar](1000) null +) +insert into @TABELLAINDICATORI values (1,'Rischio','-1','Non applicabile') +insert into @TABELLAINDICATORI values (2,'Riserva','-1','Non applicabile') +insert into @TABELLAINDICATORI values (3,'Investimento di Lungo Periodo','-1','Non applicabile') +insert into @TABELLAINDICATORI values (4,'Complessità','-1','Non applicabile') +insert into @TABELLAINDICATORI values (5,'Concentrazione in prodotti complessi','-1','Non applicabile') +insert into @TABELLAINDICATORI values (6,'Frequenza delle operazioni','-1','Non applicabile') +insert into @TABELLAINDICATORI values (7,'Concentrazione emittenti','-1','Non applicabile') +insert into @TABELLAINDICATORI values (8,'Concentrazione valutaria','-1','Non applicabile') +-- ***************************************************************************** +declare @appo table +( + RETE [varchar](1) null, + COD_FISCALE [varchar](16) null, + PATRIMONIO [varchar](255) NOT NULL, + CTV_AGGREG [decimal](12, 2) null, + profiloCode [smallint] null, + var_profilo [decimal](5, 2) null, + [VAR] [decimal](12, 3) NULL, + varString [varchar](16) null,--[decimal](12, 3) NULL, + CREDITRISK [int] NULL, + RISKCLASSSTRING [varchar](10) null, + coperturaString [varchar](16) null,--[decimal](12, 3) NULL, + COVERAGESTRING [varchar](10) null, + RISKCLASSMAX [varchar](50) null, + [PERCENTAGE] [decimal](12, 6) null, + Ordine [smallint] null, + ULLY_PERC [decimal](10, 2) NULL +) +--creo le tabelle di appoggio +insert into @appo exec [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] @Rete,@CodiceFiscale +declare @WSEIAN_S170 table +( + [DTTRIM] [decimal](9, 0) NOT NULL, + [RETE] [varchar](1) NOT NULL, + [CODFIS] [varchar](16) NOT NULL, + [NOME] [varchar](25) NULL, + [COGNOME] [varchar](25) NULL, + [DTNASCI] [decimal](9, 0) NULL, + [INDIRIZZO] [varchar](44) NULL, + [CAP] [varchar](5) NULL, + [CITTA] [varchar](35) NULL, + [PROVINCIA] [varchar](2) NULL, + [NAZIONE] [varchar](35) NULL, + [CODPROF] [smallint] NULL, + [DTINVAL] [decimal](9, 0) NOT NULL, + [CODMAN] [varchar](6) NULL, + [CLASSERC] [decimal](5, 0) NULL, + [COD_PROFEC] [decimal](5, 0) NULL, + [FLAGPG] [decimal](1, 0) NULL, + [CLCOMPL] [char](1) NOT NULL, + [FLGCONC] [char](1) NOT NULL, + [FLAGNQP] [char](1) NULL, + [FLGPRLRDE] [char](1) NULL, + [FLGPROF] [char](1) NULL, + [DTFINVAL] [decimal](9, 0) NULL, + [CONCEMI] [char](1) NULL, + [FREQ] [char](1) NULL, + [LLIQUID] [char](1) NULL, + [PREFSOST] [char](1) NULL, + [FLAGAMB] [char](1) NULL, + [FLAGSOC] [char](1) NULL, + [FLAGGOV] [char](1) NULL, + [ADEGCONC_VALUT] [char](1) NULL, + [SOGLIAESG] [decimal](5, 2) NULL, + [COERENZA] [char](1) NULL, + [RISERVA] [char](1) NULL, + [INVL_PERIOD] [char](1) NULL, + [MAXCOMPL] [decimal](5, 0) NULL, + [NOCOMPL] [char](1) NULL, + [SPESA_FORZATA] [decimal](13, 2) NULL, + [PERC_ILP] [decimal](5, 2) NULL, + [IMP_RISERVA] [decimal](13, 2) NULL +) +if @CodiceFiscale like '%FF@%' + INSERT INTO @WSEIAN_S170 + --se viene passata una fiduciaria devo filtrare per codice mandato + select [DTTRIM] + ,[RETE] + , + case + when(isnull(ltrim(rtrim(codman)),'') <> '') + then 'FF@'+codman + when (isnull(codfis,'') <> '') + then codfis + else + codfis + end as Codfis + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF] + ,[DTINVAL] + ,[CODMAN] + ,[CLASSERC] + ,[COD_PROFEC] + ,[FLAGPG] + ,[CLCOMPL] + ,[FLGCONC] + ,[FLAGNQP] + ,[FLGPRLRDE] + ,[FLGPROF] + ,[DTFINVAL] + ,[CONCEMI] + ,[FREQ] + ,[LLIQUID] + ,[PREFSOST] + ,[FLAGAMB] + ,[FLAGSOC] + ,[FLAGGOV] + ,[ADEGCONC_VALUT] + ,[SOGLIAESG] + ,[COERENZA] + ,[RISERVA] + ,[INVL_PERIOD] + ,[MAXCOMPL] + ,[NOCOMPL] + ,[SPESA_FORZATA] + ,[PERC_ILP] + ,[IMP_RISERVA] + from [C6StagingPeriodico].[WSEIAN2] + where 1=1 + and rete = @Rete + and codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + and dttrim = @DataFineTrim; +else + INSERT INTO @WSEIAN_S170 + select [DTTRIM] + ,[RETE] + , + case + when(isnull(ltrim(rtrim(codman)),'') <> '') + then 'FF@'+codman + when (isnull(codfis,'') <> '') + then codfis + else + codfis + end as Codfis + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF] + ,[DTINVAL] + ,[CODMAN] + ,[CLASSERC] + ,[COD_PROFEC] + ,[FLAGPG] + ,[CLCOMPL] + ,[FLGCONC] + ,[FLAGNQP] + ,[FLGPRLRDE] + ,[FLGPROF] + ,[DTFINVAL] + ,[CONCEMI] + ,[FREQ] + ,[LLIQUID] + ,[PREFSOST] + ,[FLAGAMB] + ,[FLAGSOC] + ,[FLAGGOV] + ,[ADEGCONC_VALUT] + ,[SOGLIAESG] + ,[COERENZA] + ,[RISERVA] + ,[INVL_PERIOD] + ,[MAXCOMPL] + ,[NOCOMPL] + ,[SPESA_FORZATA] + ,[PERC_ILP] + ,[IMP_RISERVA] + from [C6StagingPeriodico].[WSEIAN2] + where 1=1 + and rete = @Rete + and codfis= @CodiceFiscale + and dttrim = @DataFineTrim; +--*************************************************************************** INDICATORE DI VALUTAZIONE: RISCHIO +select @adeguato = +case + when var <= var_profilo then '1' + when var > var_profilo then '0' + else -1 +end, +@descrizione = case + when var <= var_profilo then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '1') + when var > var_profilo then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '-1') +end +from @appo where ordine = 1 --patrimonio fideuram +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 1; +--*************************************************************************** INDICATORE DI VALUTAZIONE: RISERVA +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(riserva) = 'S' then '1' + when upper(riserva) = 'N' then '0' + else -1 +end , +@descrizione = case + when upper(riserva) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '1') + when upper(riserva) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +--20180830 aggiunto AC +and rete = @Rete +and codfis = @CodiceFiscale +--20180830 +and dttrim = @DataFineTrim +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 2; +--*************************************************************************** INDICATORE DI VALUTAZIONE: INVESTIMENTO LUNGO PERIODO +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(invl_period) = 'S' then '1' + when upper(invl_period) = 'N' then '0' + else -1 +end , +@descrizione = case + when upper(invl_period) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '1') + when upper(invl_period) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +--20180830 aggiunto AC +and rete = @Rete +and codfis = @CodiceFiscale +--20180830 +and dttrim = @DataFineTrim +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 3; +--*************************************************************************** INDICATORE DI VALUTAZIONE: Complessità (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when flagpg = 1 and flgprof = 'N' and flagnqp = 'S' and flgprlrde = 'N' then '-1' --Massimiliano dice che va messo prima di tutti senza testare altri flag 17/5/2018 + when upper(clcompl) = 'N' and + (select nocompl from [C6StagingPeriodico].[WSEIAN2] where codfis = @CodiceFiscale and dttrim = @DataFineTrim ) = 'S' then '0' + when upper(clcompl) = 'N' and flagpg = 0 then '0' + --fix del 18/7/2019 + --when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'N' then '0' + when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'S' then '0' + --fine fix del 18/7/2019 + when upper(clcompl) = 'S' then '1' +end, +@descrizione = case + when flagpg = 1 and flgprof = 'N' and flagnqp = 'S' and flgprlrde = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '-1') + when upper(clcompl) = 'N' and + (select nocompl from [C6StagingPeriodico].[WSEIAN2] where codfis = @CodiceFiscale and dttrim = @DataFineTrim ) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0C') + when upper(clcompl) = 'N' and flagpg = 0 then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0A') + --fix del 18/7/2019 + --when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0B') + when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0B') + --fine fix del 18/7/2019 + when upper(clcompl) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '1') +end +from @WSEIAN_S170 +where 1=1 +--20180830 aggiunto AC +and rete = @Rete +and codfis = @CodiceFiscale +--20180830 +and dttrim = @DataFineTrim +--and flgprof <> 'S' +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 4; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 4; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione in prodotti complessi (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(flgconc) = 'S' then '1' + when upper(flgconc) = 'N' then '0' + else '-1' +end, +@descrizione = case + when upper(flgconc) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '1') + when upper(flgconc) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +and rete = @Rete +and codfis = @CodiceFiscale +and dttrim = @DataFineTrim +--and flgprof <> 'S' +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 5; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 5; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Frequenza delle operazioni (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(freq) = 'S' then '1' + when upper(freq) = 'N' then '0' + else '-1' +end, +@descrizione = case + when upper(freq) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '1') + when upper(freq) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +and rete = @Rete +and codfis = @CodiceFiscale +and dttrim = @DataFineTrim +--and flgprof <> 'S' +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 6; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 6; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione emittenti +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(concemi) = 'S' then '1' + when upper(concemi) = 'N' then '0' + else -1 +end , +@descrizione = case + when upper(concemi) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '1') + when upper(concemi) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +--20180830 aggiunto AC +and rete = @Rete +and codfis = @CodiceFiscale +--20180830 +and dttrim = @DataFineTrim +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 7; +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione Valutaria +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(ADEGCONC_VALUT) = 'S' then '1' + when upper(ADEGCONC_VALUT) = 'N' then '0' + else '-1' +end, +@descrizione = case + when upper(ADEGCONC_VALUT) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '1') + when upper(ADEGCONC_VALUT) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +and rete = @Rete +and codfis = @CodiceFiscale +and dttrim = @DataFineTrim +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 8; +--******************************************************************************************************************************************* +select +ti_ordine as Ordine, +ti_indicatore as Indicatore, +ti_adeguato as Adeguato, +ti_descrizione as DescrizioneEsito +from @TABELLAINDICATORI +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S150Anagrafica.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S150Anagrafica.sql new file mode 100644 index 00000000..cf0e1c51 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S150Anagrafica.sql @@ -0,0 +1,100 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S150Anagrafica] 'F', 'NCLGDE26B18L388P' +CREATE procedure [C6MartPeriodico].[PL_D_S150Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + --V Indirizzo Secondo AULETTA + --CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + -- THEN + -- REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + -- + ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') + -- ELSE + -- REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + -- + ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') + --END AS Residenza, + -- + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') else '' end + ' ' + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') else '' end + ' ' + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + END AS Residenza, + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_SOTT) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + NULL AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + CONTRATTOSEI.[Prov] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.contrattosei as CONTRATTOSEI + INNER JOIN + C6MARTPERIODICO.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MARTPERIODICO.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + LEFT JOIN + C6MARTPERIODICO.ANAG_CLIENTI_PREV + ON + ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + LEFT JOIN + C6MARTPERIODICO.DATI_REPORT + ON + ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + WHERE 1 = 1 + AND ANAG_CLIENTI.RETE = @RETE + AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S151ProfiloDiRischio.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S151ProfiloDiRischio.sql new file mode 100644 index 00000000..8fe04537 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S151ProfiloDiRischio.sql @@ -0,0 +1,49 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S95ProfiloDiRischio]F,00247580970 +CREATE procedure [C6MartPeriodico].[PL_D_S151ProfiloDiRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskclass, + @experience as experince +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S152Patrimonio.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S152Patrimonio.sql new file mode 100644 index 00000000..0b109eac --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S152Patrimonio.sql @@ -0,0 +1,88 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_DT_S152Patrimonio] 'F','MRSPLA53H24D643J' +CREATE procedure [C6MartPeriodico].[PL_D_S152Patrimonio] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT + @PatrimonioBF = SUM(CTV) + FROM + C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area <> 'CC' --escludo il cc negativo +-- SELECT @Part_viaggianti=SUM(IMPORTO) +-- FROM C6MartPeriodico.PARTITE_VIAGGIANTI partvia +-- WHERE +-- partvia.Rete = @Rete +-- and partvia.Cod_Fiscale = @CodiceFiscale + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Martperiodico.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + SELECT + @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM + C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM + C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioAltro = SUM(patrAltro.ctv) + FROM + C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S153PatrimonioFinanziario.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S153PatrimonioFinanziario.sql new file mode 100644 index 00000000..8fa015ff --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S153PatrimonioFinanziario.sql @@ -0,0 +1,144 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S153PatrimonioFinanziario] 'F','GZZSLD52E20G869L' +CREATE procedure [C6MartPeriodico].[PL_D_S153PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + DECLARE @NOMERETE VARCHAR(30) + IF @Rete = 'F' + SET @NOMERETE = 'Fideuram' + ELSE if @Rete = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + SELECT + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Intermediario, + Ordine, + @NOMERETE AS Banca, + -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv + SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine)) / + (SUM(ctv) over (partition by 'Totale')) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + @NOMERETE AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MartPeriodico.PATRIMONIO_BF patrBF +-- LEFT JOIN C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- AND PATRBF.TIPO_PRODOTTO = 'CC' + WHERE 1 = 1 + AND patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO + and patrBF.id_area <> 'cc' + UNION ALL + SELECT + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + AND patrTerzi.Rete = @Rete + AND patrTerzi.Cod_Fiscale = @CodiceFiscale + GROUP BY patrTerzi.Intermediario + ) PATR + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D_S153PatrimonioFinanziario] Script Date: 09/02/2022 11:00:54 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +---- [C6MartPeriodico].[PL_DT_S153PatrimonioFinanziario] 'F','GZZSLD52E20G869L' +--ALTER procedure [C6MartPeriodico].[PL_D_S153PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @Rete = 'F' +-- SET @NOMERETE = 'Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- Intermediario, +-- Ordine, +-- Banca, +-- Controvalore, +-- round(Percentuale,2) as Percentuale +-- FROM +-- ( +-- SELECT DISTINCT +-- Intermediario, +-- Ordine, +-- @NOMERETE AS Banca, +-- -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv +-- SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, +-- ( +-- (SUM(ctv) over (partition by Intermediario,Ordine)) / +-- (SUM(ctv) over (partition by 'Totale')) +-- ) * 100 AS PERCENTUALE +-- FROM +-- ( +-- SELECT +-- @NOMERETE AS Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 1 AS ordine +-- FROM C6MartPeriodico.PATRIMONIO_BF patrBF +---- LEFT JOIN C6MartPeriodico.ClientiConCCNegativo CCNegativo +---- ON PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- AND PATRBF.TIPO_PRODOTTO = 'CC' +-- WHERE 1 = 1 +-- AND patrBF.Rete = @Rete +-- AND patrBF.Cod_Fiscale = @CodiceFiscale +-- --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO +-- and patrBF.id_area <> 'cc' +-- UNION ALL +-- SELECT +-- Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 2 AS ordine +-- FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi +-- WHERE 1 = 1 +-- AND patrTerzi.Rete = @Rete +-- AND patrTerzi.Cod_Fiscale = @CodiceFiscale +-- GROUP BY patrTerzi.Intermediario +-- ) PATR +-- ) A +-- WHERE CONTROVALORE IS NOT NULL +-- ORDER BY Ordine +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S154PatrimonioFinanziario.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S154PatrimonioFinanziario.sql new file mode 100644 index 00000000..edc7934a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S154PatrimonioFinanziario.sql @@ -0,0 +1,312 @@ +-- Stored procedure +-- ============================================= +-- Author: Luca De Lisio +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_DT_S154PatrimonioFinanziario] 'F','LNTNNE59L06F205C' +CREATE procedure [C6MartPeriodico].[PL_D_S154PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SELECT + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + --PRODOTTI BF ESCLUSI GLI ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + --DETTAGLIO ASUL SENZA SKANDIA + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --CON SKANDIA + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D_S154PatrimonioFinanziario] Script Date: 09/02/2022 11:03:29 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: Luca De Lisio +---- Create date: +---- Description: +---- ============================================= +----[C6MartPeriodico].[PL_DT_S154PatrimonioFinanziario] 'F','LNTNNE59L06F205C' +--ALTER procedure [C6MartPeriodico].[PL_D_S154PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +--SELECT +-- A.Banca, +-- A.Ordinamento, +-- A.AssetClassId, +-- A.AssetClassName, +-- cast(A.Controvalore as decimal(19,6)) Controvalore, +-- A.Percentuale, +-- cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +--FROM +--( +-- SELECT DISTINCT +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Fideuram' +-- END AS Banca, +-- ASSETCLASS.ORDINAMENTO AS Ordinamento, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') +-- ) * 100 AS Percentuale +-- FROM ( +-- --PRODOTTI BF ESCLUSI GLI ASUL +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- and patrbf.id_area <> 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +---- SELECT +---- ASSETPERC.ID_ASSETCLASS, +---- PATRBF.CTV*ASSETPERC.PERC as Controvalore +---- FROM +---- C6MartPeriodico.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MartPeriodico.ASSET_PERC ASSETPERC +---- ON +---- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +---- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +---- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN +---- C6MartPeriodico.ClientiConCCNegativo CCNegativo +---- ON +---- PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- WHERE +---- --ELIMINO I CC CON SALDO NEGATIVO +---- PATRBF.TIPO_PRODOTTO = 'CC' +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND CCNegativo.Cod_Fiscale IS NULL +---- UNION ALL +-- --DETTAGLIO ASUL SENZA SKANDIA +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --CON SKANDIA +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI +-- LEFT OUTER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI NON A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI +-- LEFT OUTER JOIN +-- C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MartPeriodico.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--ORDER BY A.ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S155PatrimonioImmobiliare.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S155PatrimonioImmobiliare.sql new file mode 100644 index 00000000..1386d1aa --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S155PatrimonioImmobiliare.sql @@ -0,0 +1,21 @@ +CREATE procedure [C6MartPeriodico].[PL_D_S155PatrimonioImmobiliare] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + SELECT + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S156ALtroPatrimonio.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S156ALtroPatrimonio.sql new file mode 100644 index 00000000..0b3d4563 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S156ALtroPatrimonio.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_D_S156ALtroPatrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + SELECT + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM + C6MartPeriodico.PATRIMONIO_ALTRO + WHERE + PATRIMONIO_ALTRO.RETE = @Rete + AND PATRIMONIO_ALTRO.COD_FISCALE = @CodiceFiscale + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S157ConfrontoPiramidi.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S157ConfrontoPiramidi.sql new file mode 100644 index 00000000..d268ac37 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S157ConfrontoPiramidi.sql @@ -0,0 +1,203 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S157ConfrontoPiramidi] 'F','BNNDRC23B44E689L' +CREATE procedure [C6MartPeriodico].[PL_D_S157ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + LEFT(ID_AREA,3) AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc') + --V + DECLARE @TOTCC AS INT + SELECT @TOTCC = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND TIPO_PRODOTTO = 'Cc' + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCC = @TOT THEN 0.00 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + WHEN (@TOTCC <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'jjn.c.' + --V SOLO CC -> VAR = 0 + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCC = @TOT THEN NULL + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCC = @TOT THEN NULL + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S158PiramideModello.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S158PiramideModello.sql new file mode 100644 index 00000000..c554e3f6 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S158PiramideModello.sql @@ -0,0 +1,51 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D_S158PiramideModello] 'F','CLRLCU75R04B573X' +CREATE procedure [C6MartPeriodico].[PL_D_S158PiramideModello] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT BF.NOME_PROGETTO AS NomePrg, + PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + AGGR.VAR_PERC_PTF as VarPrg, + SUM(BF.CTV)AS ControvalorePrg + FROM C6MartPeriodico.PATRIMONIO_BF BF + INNER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AGGR + ON BF.RETE= AGGR.RETE + AND BF.COD_FISCALE= AGGR.COD_FISCALE + AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD + ON BF.RETE= PIRMOD.RETE + AND BF.COD_FISCALE= PIRMOD.COD_FISCALE + AND BF.ID_AREA = PIRMOD.ID_AREA + AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'inv' + AND BF.RETE = @Rete + AND BF.COD_FISCALE = @CodiceFiscale + AND BF.CTV > 0 + group BY BF.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,AGGR.VAR_PERC_PTF + --SELECT + -- AREA_BISOGNO.ID_AREA AS Need_Breve, -- NOME BREVE DELL'AREA DI BISOGNO + -- PIRMOD.NOME_PROGETTO AS Nome_Progetto, -- NOME DEL PROGETTO (AREA INV) + -- ISNULL(PIRMOD.PERC_AREA,0) AS Perc_Need, -- PERCENTUALE DI ALLOCAZIONE SULL'AREA DI BISOGNO + -- PIRMOD.ORIZZ_TEMP AS Orizz_Temp, -- ORIZZONTE TEMPORALE DEL PROGETTO + -- PIRMOD.CTV_PROGETTO AS Controvalore, -- Controvalore Progetto + -- SUM(ISNULL(PIRMOD.PERC_AREA,0)) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE, AREA_BISOGNO.ID_AREA) AS Totale_Percentuale, -- PERCENTUALE DI ALLOCAZIONE DEI PROGETTI + -- SUM(ISNULL(PIRMOD.PERC_AREA,0)) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE) AS Totale, + -- COUNT(CASE WHEN AREA_BISOGNO.ID_AREA = 'INV' AND PIRMOD.NOME_PROGETTO IS NOT NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE) AS NumeroProgettiInv, + -- AREA_BISOGNO.ORDINAMENTO AS Ordinamento + --FROM C6MartPeriodico.AREA_BISOGNO + --LEFT JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD + -- ON PIRMOD.ID_AREA = AREA_BISOGNO.ID_AREA + -- AND((PIRMOD.ID_AREA = 'INV' AND PIRMOD.NOME_PROGETTO IS NOT NULL )--OR PIRAMIDE_MOD.tipo_progetto<>'Default' + -- OR PIRMOD.ID_AREA IN ('RIS','EXT','LIQ','PRE')) + -- AND PIRMOD.RETE = @Rete + -- AND PIRMOD.COD_FISCALE = @CodiceFiscale + --WHERE AREA_BISOGNO.ORDINAMENTO < 6 + --ORDER BY AREA_BISOGNO.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S159PatrimonioFinanziario.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S159PatrimonioFinanziario.sql new file mode 100644 index 00000000..80acfc82 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S159PatrimonioFinanziario.sql @@ -0,0 +1,246 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S159PatrimonioFinanziario] 'F','BSHLRI69R13Z100Y' +CREATE procedure [C6MartPeriodico].[PL_D_S159PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(19,5)) AS Controvalore, + cast(A.Percentuale as decimal(19,5)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D_S159PatrimonioFinanziario] Script Date: 09/02/2022 11:48:38 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +---- [C6MartPeriodico].[PL_DT_S159PatrimonioFinanziario] 'F','BSHLRI69R13Z100Y' +--ALTER procedure [C6MartPeriodico].[PL_D_S159PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +--SELECT +-- A.BANCA AS Banca, +-- A.ORDINAMENTO AS Ordinamento, +-- A.AssetClassId AS AssetClassId, +-- A.AssetClassName AS AssetClassName, +-- cast(A.Controvalore as decimal(19,5)) AS Controvalore, +-- cast(A.Percentuale as decimal(19,5)) AS Percentuale, +-- cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +--FROM +--( +-- SELECT DISTINCT +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Fideuram' +-- END AS Banca, +-- ASSETCLASS.ORDINAMENTO, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / +-- --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 +-- THEN 1 +-- ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) +-- END +-- ) * 100 AS Percentuale +-- FROM ( +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- and patrbf.id_area <> 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +---- SELECT +---- ASSETPERC.ID_ASSETCLASS, +---- PATRBF.CTV*ASSETPERC.PERC as Controvalore +---- FROM +---- C6MartPeriodico.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MartPeriodico.ASSET_PERC ASSETPERC +---- ON +---- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +---- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +---- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN +---- C6MartPeriodico.ClientiConCCNegativo CCNegativo +---- ON +---- PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- WHERE +---- --ELIMINO I CC CON SALDO NEGATIVO +---- PATRBF.TIPO_PRODOTTO = 'CC' +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND CCNegativo.Cod_Fiscale IS NULL +---- UNION ALL +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MartPeriodico.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--ORDER BY A.ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S160DettaglioProdottiBF.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S160DettaglioProdottiBF.sql new file mode 100644 index 00000000..d00e4cc6 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S160DettaglioProdottiBF.sql @@ -0,0 +1,200 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'SLLLMN44E29A176G' +-- [C6MartPeriodico].[PL_DT_S160DettaglioProdottiBF] 'S', 'GSTMGS42D51L833Z' +CREATE procedure [C6MartPeriodico].[PL_D_S160DettaglioProdottiBF] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +case when (patrbf.tipo_prodotto ='CC') then 100.00 +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_progetto,nome_progetto, PATRBF.CTV DESC +END +--select top 1 * from c6martperiodico.patrimonio_bf where tipo_prodotto = 'CC' +--select SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)),ANAG_CC.COD_CC +--from c6martperiodico.anag_cc \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S162DettaglioProdotti.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S162DettaglioProdotti.sql new file mode 100644 index 00000000..41ba2210 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S162DettaglioProdotti.sql @@ -0,0 +1,101 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D_S162DettaglioProdotti] 'F', 'BLDRST50M28C556X' +CREATE procedure [C6MartPeriodico].[PL_D_S162DettaglioProdotti] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + ON + PATRTERZI.RETE = RISCHIOAGGREG.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGREG.COD_FISCALE + AND RISCHIOAGGREG.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + WHERE 1 = 1 + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.DESCR_GRUPPO_PRODOTTO IS NOT NULL + ORDER BY + OrdinamentoProdotti, + Controvalore DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S163PatrimonioFinanziarioMAssetClass.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S163PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..12d966fb --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S163PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,62 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_DT_S163PatrimonioFinanziarioMAssetClass] 'F', 'BRCRRT70L21A390C' +CREATE procedure [C6MartPeriodico].[PL_D_S163PatrimonioFinanziarioMAssetClass] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT DISTINCT + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + isnull(( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + NULLIF(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'),0) + ) * 100,0) AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + ORDER BY + ASSETCLASS.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S164PolizzeAltriIstituti.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S164PolizzeAltriIstituti.sql new file mode 100644 index 00000000..5dfa0d95 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S164PolizzeAltriIstituti.sql @@ -0,0 +1,31 @@ +-- ============================================= +-- Author: Marco Gentilezza +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_DT_S164PolizzeAltriIstituti]'S', 'MRTRRT57T17E758I' +CREATE procedure [C6MartPeriodico].[PL_D_S164PolizzeAltriIstituti] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' + WHERE PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S165FondiAltriIstituti.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S165FondiAltriIstituti.sql new file mode 100644 index 00000000..f2b5509a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S165FondiAltriIstituti.sql @@ -0,0 +1,63 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S165FondiAltriIstituti] 'S', 'MRTRRT57T17E758I' +CREATE procedure [C6MartPeriodico].[PL_D_S165FondiAltriIstituti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + WHERE + PATRTERZI.rete = @Rete + and PATRTERZI.cod_fiscale = @CodiceFiscale + --AND PATRTERZI.TIPO_PRODOTTO = 'Fondi pensione' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S166ContoCorrenteAI.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S166ContoCorrenteAI.sql new file mode 100644 index 00000000..8d54f878 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S166ContoCorrenteAI.sql @@ -0,0 +1,23 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_D_S166ContoCorrenteAI] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + CCTerzi.INTERMEDIARIO AS Intermediario, + CCTerzi.COD_CC AS ContoCorrente, + CCTerzi.SALDO AS Saldo, + null as creditrisk, + 'n.a.' as creditriskstring, + 0.00 as var + FROM + C6MartPeriodico.ANAG_CC_Terzi CCTerzi + WHERE + CCTerzi.rete= @Rete + AND CCTerzi.cod_fiscale= @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S167DistribuzioneRischioCredito.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S167DistribuzioneRischioCredito.sql new file mode 100644 index 00000000..16413921 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S167DistribuzioneRischioCredito.sql @@ -0,0 +1,623 @@ +-- Stored procedure +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D_S167DistribuzioneRischioCredito] 'F','GGGNNA41E59G687E' +CREATE procedure [C6MartPeriodico].[PL_D_S167DistribuzioneRischioCredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest', 'IW Private Investments') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' WHEN PATRBF.RETE='S' then 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' WHEN PATRBF.RETE = 'S' THEN 'SANPAOLO' ELSE 'IWPRIVATEINVESTMENTS' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +'Altri Istituti' AS INTERMEDIARIO, +--PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +--PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D_S167DistribuzioneRischioCredito] Script Date: 09/02/2022 11:04:57 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Authors: +---- Create date: +---- Description: +---- ============================================= +---- [C6MartPeriodico].[PL_D_S167DistribuzioneRischioCredito] 'F','GGGNNA41E59G687E' +--ALTER procedure [C6MartPeriodico].[PL_D_S167DistribuzioneRischioCredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +----QUERY PER INTERMEDIARIO +--SELECT +--RETE, +--COD_FISCALE, +--INTERMEDIARIO, +--CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 +-- ELSE 2 END AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +-- -- Start 1.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +----SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +--FROM +--[C6Martperiodico].PATRIMONIO_BF PATRBF +-----Per calcolare la somma algebrica dei cc +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MARTPERIODICO].pATRIMONIO_BF +--where id_Area='Cc' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +----fine calcolo somma cc +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +----INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +--LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END, +--CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +----- End 1.1 +--UNION ALL +---- Start 1.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--'Altri Istituti' AS INTERMEDIARIO, +----PATRTERZI.INTERMEDIARIO, +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6Martperiodico].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +----PATRTERZI.INTERMEDIARIO, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 1.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE, +--INTERMEDIARIO +---------- +--UNION ALL +------------- +----QUERY TOTALE +--SELECT +--RETE, +--COD_FISCALE, +--'Complessivo' AS INTERMEDIARIO, +--3 AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +----- Start 2.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +----SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +--FROM +--[C6Martperiodico].PATRIMONIO_BF PATRBF +----per fare la somma algebrica dei cc +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MARTPERIODICO].pATRIMONIO_BF +--where id_Area='Cc' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +----fine somma cc +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 2.1 +--UNION ALL +---- Start 2.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +--left outer join +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6Martperiodico].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +----- End 2.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S168TabellaEmittenti.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S168TabellaEmittenti.sql new file mode 100644 index 00000000..da7871f9 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S168TabellaEmittenti.sql @@ -0,0 +1,396 @@ +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6Mart].[PL_D_S168TabellaEmittenti] 'F','FF@7181' +CREATE procedure [C6MartPeriodico].[PL_D_S168TabellaEmittenti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS, + RATING + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +--RATING as RATING +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +--RATING as RATING +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V +LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS, +RATING +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10 +--RATING +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S169RischiomercatoRischiocredito.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S169RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..e356ff9d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S169RischiomercatoRischiocredito.sql @@ -0,0 +1,462 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_S96RischiomercatoRischiocredito] 'F','GZZSLD52E20G869L' +CREATE procedure [C6MartPeriodico].[PL_D_S169RischiomercatoRischiocredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.cod_fiscale = @codiceFiscale + and PATRBF.rete= @rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.cod_fiscale =@codiceFiscale + and TERZI.rete=@rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'W' then 'Patrimonio IW Private Inv.' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D_S169RischiomercatoRischiocredito] Script Date: 09/02/2022 11:08:19 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +-- --[C6MartPeriodico].[PL_S96RischiomercatoRischiocredito] 'F','GZZSLD52E20G869L' +--ALTER procedure [C6MartPeriodico].[PL_D_S169RischiomercatoRischiocredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- PATRBF.INSTITUTENAME, +-- CTV, +-- M.PROFILO_ASS AS CODICEPROFILO, +-- CR.MAX_VAR AS VARMAX, +-- RISK_AGG.VAR_PERC_PTF AS VAR , +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END AS VARSTRING, +-- RISK_AGG.CREDITRISK RISKCLASS, +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END AS RISKCLASSSTRING, +-- ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +----V La copertura viene valorizzata con un valore da 0 da 100 +-- -- CASE +-- -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +---- ELSE +--NULL +---- END +--AS COVERAGESTRING, +-- M.RISKCLASS AS RISKCLASSMAX, +-- round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / +-- -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 +-- THEN 1 +-- ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) +-- END) +-- *100 ,2)AS PERCENTAGE, +-- --V +-- ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, +-- SUM(PATRBF.CTV) AS CTV, +-- --V +-- 1 as ORDINE, +-- RISK_AGG.Ully_perc +-- from +-- c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG +-- where +-- 1=1 +-- and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE +-- and PATRBF.rete= RISK_AGG.rete +-- and PATRBF.cod_fiscale = @codiceFiscale +-- and PATRBF.rete= @rete +-- and PATRBF.CTV > 0 +-- and +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or +-- --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- RISK_AGG.Ully_perc, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END +-- UNION +-- SELECT +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- 'Patrimonio altri Istituti' AS INSTITUTENAME, +-- SUM(ROUND(TERZI.CTV,2)) AS CTV, +-- --V +-- 2 as ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG +-- where +-- 1=1 +-- and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE +-- and TERZI.rete= RISK_AGG.rete +-- and TERZI.cod_fiscale =@codiceFiscale +-- and TERZI.rete=@rete +-- and TERZI.CTV > 0 +-- and +-- ( +-- --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- GROUP BY +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- RISK_AGG.Ully_perc +-- ) PATRBF +-- LEFT OUTER JOIN +-- c6martperiodico.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- AND +-- (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' +-- WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' +-- else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- UNION ALL +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- 'Patrimonio Complessivo' AS INSTITUTENAME, +-- SUM(CTV), +-- MAX(M.PROFILO_ASS) AS CODICEPROFILO, +-- MAX(CR.MAX_VAR) AS VARMAX, +-- MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , +-- MAX( CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END) AS VARSTRING, +-- MAX(RISK_AGG.CREDITRISK) RISKCLASS, +-- MAX( +-- case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END ) +-- AS RISKCLASSSTRING, +-- MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, +-- MAX( CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END) AS COVERAGESTRING, +-- --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, +-- MAX(M.RISKCLASS) AS RISKCLASSMAX, +-- 100 AS PERCENTAGE, +-- --V +-- 3 AS ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- SUM(PATRBF.CTV) AS CTV +-- from +-- c6martperiodico.patrimonio_bf PATRBF +-- where +-- 1=1 +-- and cod_fiscale =@codiceFiscale +-- and rete=@rete +-- and PATRBF.CTV > 0 +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE +-- UNION +-- SELECT +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- SUM(ROUND(TERZI.CTV,2)) AS CTV +-- FROM +-- c6martperiodico.PATRIMONIO_TERZI TERZI +-- where +-- 1=1 +-- and cod_fiscale =@codiceFiscale +-- and rete=@rete +-- and TERZI.CTV > 0 +-- GROUP BY +-- TERZI.RETE, +-- TERZI.COD_FISCALE +-- ) PATRBF +-- LEFT OUTER JOIN +-- c6martperiodico.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO' +-- ) +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- RISK_AGG.Ully_perc +-- --V +-- order by ordine +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S170RischioDiversificazione.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S170RischioDiversificazione.sql new file mode 100644 index 00000000..a6314246 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S170RischioDiversificazione.sql @@ -0,0 +1,179 @@ +-- [C6MartPeriodico].[PL_D_S170RischioDiversificazione] 'F','FF@7181' +CREATE procedure [C6MartPeriodico].[PL_D_S170RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 +SELECT +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' WHEN k.rete ='S' then 'Sanpaolo Invest' ELSE 'IW Private Inv.' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D_S170RischioDiversificazione] Script Date: 09/02/2022 11:10:20 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- [C6MartPeriodico].[PL_D_S170RischioDiversificazione] 'F','FF@7181' +--ALTER procedure [C6MartPeriodico].[PL_D_S170RischioDiversificazione] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- declare @contaCC as int +-- select @contaCC = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete +-- declare @contaPOS as int +-- select @contaPOS = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where cod_fiscale = @codiceFiscale and rete = @rete +-- declare @ctvbf as decimal(12,2) +-- SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +-- declare @ctvterzi as decimal (12,2) +-- SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +--SELECT +--K.COD_FISCALE, +--K.RETE, +--CASE +-- when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf +-- when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi +-- when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi +-- else 0 +--END AS CTV_AGGREG, +--K.CREDITRISK, +--CASE +-- WHEN (@contaPOS - @contacc = 0) THEN 0 +-- ELSE VAR_PERC_PTF +--END AS VAR, +--CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +--CASE +-- WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 +-- --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' +-- ELSE null +--END AS coperturaString, +--beneficio as diversificazione, +--CASE +-- WHEN (@contaPOS - @contacc = 0) THEN 100 +-- ELSE COPERTURA +--END AS COPERTURA, +--case +--when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +--when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +--ELSE '' +--END AS PATRIMONIO, +--case +-- when b.profilo is null then -1 +-- else b.profilo +--end as profiloCode, +--b.max_var as var_profilo, +----V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +----V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +--case +--when cod_Aggreg = 'COMPLESSIVO' then 3 +--when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +--ELSE '' +--END AS Ordine +--FROM +--C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a +-- ON k.cod_fiscale = a.cod_fiscale and +-- k.rete = a.rete +-- left outer join +--C6Martperiodico.CODIFICA_RISCHIO b on +--A.PROFILO_ASS=B.PROFILO +--WHERE +----A.PROFILO_ASS=B.PROFILO +----AND K.RETE=A.RETE +----AND K.COD_FISCALE= A.COD_FISCALE +--COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +--AND k.COD_FISCALE = @COdiceFISCALE +--AND k.RETE= @RETE +--ORDER BY ordine +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..e6f15dee --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,144 @@ +-- ============================================= +-- Author: +-- Create date: 30/08/2013 +-- Description: uguale a S76 +-- ============================================= +--[C6MartPeriodico].[PL_D_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +CREATE procedure [C6MartPeriodico].[PL_D_S171PatrimonioNonRappresentabileAssettClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Fideuram' + ELSE if @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + UNION ALL + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO + ORDER BY CONTROVALORE DESC +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D_S171PatrimonioNonRappresentabileAssettClass] Script Date: 09/02/2022 11:19:57 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: 30/08/2013 +---- Description: uguale a S76 +---- ============================================= +----[C6MartPeriodico].[PL_D_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +--ALTER procedure [C6MartPeriodico].[PL_D_S171PatrimonioNonRappresentabileAssettClass] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @RETE = 'F' +-- SET @NOMERETE = 'Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- PATRBF.CTV as Controvalore, +-- PATRBF.CTV as controvalore_contratto, +-- PATRBF.PARTVIA_DISINV as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC +-- ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO <> 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- UNION ALL +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- SUM(ASUL.CTV) as Controvalore, +-- MAX(PATRBF.CTV) as controvalore_contratto, +-- SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL +-- ON PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- GROUP BY +-- PATRBF.ID_CONTRATTO, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , +-- ANAGP.DESCR_PRODOTTO +-- ORDER BY CONTROVALORE DESC +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza.sql new file mode 100644 index 00000000..3acb833e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza.sql @@ -0,0 +1,87 @@ +--[C6MartPeriodico].[PL_D_S177ProfiloDiRischio_Adeguatezza] 'F', 'DVTMRA58B09F839W' +CREATE procedure [C6MartPeriodico].[PL_D_S177ProfiloDiRischio_Adeguatezza_BKP_20231114_PRE_RAFFORZAMENTO]-- 'F', 'SPNTTR67T20F205D' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenza DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + declare @descrizioneProfilo varchar(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @riskclassDescr VARCHAR(250) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza varchar(20) + DECLARE @riserva decimal(13,2) + DECLARE @inv_l_p decimal(5,2) + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenza = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + --when 5 then 'Alta' + else '-' + end + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + -- RICERCA DATA FINE VALIDITA' + declare @dtfinval decimal(9,0) + declare @codman varchar(6) + set @codman = '' + if upper(left(@CodiceFiscale,3)) = 'FF@' + begin + set @codman = substring(@CodiceFiscale,4,len(@CodiceFiscale)-3) + select @dtfinval = dtfinval,@riserva=isnull(IMP_RISERVA,0.00),@inv_l_p=isnull(PERC_ILP,0.00) from C6StagingPeriodico.WSEIAN2 + where codman = @codman and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice mandato' + end + else + begin + select @dtfinval = dtfinval,@riserva=isnull(IMP_RISERVA,0.00),@inv_l_p=isnull(PERC_ILP,0.00) from C6StagingPeriodico.WSEIAN2 + where codfis = @CodiceFiscale and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice fiscale' + end + -- + if @dtfinval <> 0 and @dtfinval is not null and ltrim(rtrim(@dtfinval)) <> '' + set @dataScadenza = CONVERT(datetime, CONVERT(varchar,CONVERT(int,@dtfinval)), 0) + else + set @dataScadenza = null + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (@dataScadenza) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as DescrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as descrizioneEsperienza, + @riserva as riserva, + @inv_l_p as investimento_l_periodo +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza_20180706_PreCRNapolitano.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza_20180706_PreCRNapolitano.sql new file mode 100644 index 00000000..c03ff076 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza_20180706_PreCRNapolitano.sql @@ -0,0 +1,71 @@ +--[C6MartPeriodico].[PL_D_S177ProfiloDiRischio_Adeguatezza] 'F', 'DVTMRA58B09F839W' +CREATE procedure [C6MartPeriodico].[PL_D_S177ProfiloDiRischio_Adeguatezza_20180706_PreCRNapolitano] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenza DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + declare @descrizioneProfilo varchar(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @riskclassDescr VARCHAR(250) + DECLARE @experience SMALLINT + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenza = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + -- RICERCA DATA FINE VALIDITA' + declare @dtfinval decimal(9,0) + declare @codman varchar(6) + set @codman = '' + if upper(left(@CodiceFiscale,3)) = 'FF@' + begin + set @codman = substring(@CodiceFiscale,4,len(@CodiceFiscale)-3) + select @dtfinval = dtfinval from C6StagingPeriodico.WSEIAN + where codman = @codman and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN) + print 'codice mandato' + end + else + begin + select @dtfinval = dtfinval from C6StagingPeriodico.WSEIAN + where codfis = @CodiceFiscale and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN) + print 'codice fiscale' + end + -- + if @dtfinval <> 0 and @dtfinval is not null and ltrim(rtrim(@dtfinval)) <> '' + set @dataScadenza = CONVERT(datetime, CONVERT(varchar,CONVERT(int,@dtfinval)), 0) + else + set @dataScadenza = null + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (@dataScadenza) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as DescrizioneProfilo, + @riskclass as riskclass, + @experience as experince +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S178CasiParticolari.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S178CasiParticolari.sql new file mode 100644 index 00000000..20a48d89 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S178CasiParticolari.sql @@ -0,0 +1,122 @@ +-- [C6MartPeriodico].[PL_D_S178CasiParticolari] 'F','BLRDNC73D12B925K' +CREATE procedure [C6MartPeriodico].[PL_D_S178CasiParticolari] --'S','02708090580' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @Copertura decimal(10,2) + declare @SoloProdottiSenzaAdeguatezza int + declare @SoloCC int + declare @SoloProdottiSenzaAdeguatezzaOrSoloCC int + declare @Scaduti_Retail varchar + declare @Scaduti_Prof varchar + declare @IDTesto int + declare @isDirect varchar + set @IDTesto = 0 +------------------------------------------------------------------------------ CASO 1 COPERTURA = 0 + select @isDirect = case when TIP_CONTRATTO=3 then 'S' else 'N' end from C6StagingPeriodico.APPO_CONTRATTI where rete=@Rete and COD_FISCALE=@CodiceFiscale + select @Copertura=copertura + from C6MartPeriodico.RISCHIO_AGGREGATO + -- 'COMPLESSIVO|BF' come viene fatto nella PL_D_S157ConfrontoPiramidi per la copertura_tot, campo per l'esposizione della nota sulla coperura sotto la piramide + where cod_aggreg='COMPLESSIVO|BF' + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE +------------------------------------------------------------------------------ FINE CASO 1 +------------------------------------------------------------------------------ CASO 2 SENZA PRODOTTI IN ADEGUATEZZA E/O SOLO CC IN PORTAFOGLIO + -- Controllo se nel Portafoglio c'è solo CC + select rete, cod_fiscale, id_area + into #t1 + from c6martperiodico.patrimonio_bf + where rete = @Rete and cod_fiscale = @CodiceFiscale + group by rete,cod_fiscale, id_area + select rete, cod_fiscale, count(*) as numero + into #t2 + from #t1 + group by rete, cod_fiscale having count(*) = 1 + if exists( + select p.rete, p.cod_fiscale + from c6martperiodico.patrimonio_bf p + inner join #t2 + on p.rete = #t2.rete + and p.cod_fiscale = #t2.cod_fiscale + --where rete + cod_fiscale in (select rete + cod_fiscale from #t2) + where p.id_area = 'liq' + and p.tipo_prodotto = 'cc' + ) + set @soloCC = 1 + else + set @soloCC = 0 + drop table #t1 + drop table #t2 + -- Se le count torna 0 record significa che in ptf ci sono solo prodotti senza adeguatezza + select @SoloProdottiSenzaAdeguatezza = count(*) + from c6martperiodico.patrimonio_bf patr + left join [C6StagingPeriodico].[Prodotti_Fuori_Adeguatezza] senza + on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto + where patr.rete = @rete + and patr.cod_fiscale = @codicefiscale + and senza.codinterno is null + -- Se si verifica uno dei due casi, imposto la variabile a 1 + if @SoloProdottiSenzaAdeguatezza = 0 or @SoloCC = 1 + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 1 + else + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 0 +----------------------------------------------------------------------------- FINE CASO 2 +-- CASO 3 COPERTURA = 0 + e ptf con solo PRODOTTI senza ADEGUATEZZA +-- FINE CASO 3 +--4 Scaduti Retail +select @Scaduti_Retail = RPF.FLGPROF +from C6MartPeriodico.wseirpf RPF +left join C6StagingPeriodico.WSEIAN2 w +on w.RETE=RPF.Rete and w.CODFIS=RPF.CODFIS +where RPF.FLGPROF='P' and W.FLGPROF='N' +AND RPF.CODFIS = @COdiceFISCALE +and RPF.RETE= @RETE +--5 Scaduti Prof +select @Scaduti_Prof = RPF.FLGPROF +from C6MartPeriodico.wseirpf RPF +left join C6StagingPeriodico.WSEIAN2 w +on w.RETE=RPF.Rete and w.CODFIS=RPF.CODFIS +where RPF.FLGPROF='P' and W.FLGPROF='S' +AND RPF.CODFIS = @COdiceFISCALE +and RPF.RETE= @RETE +-- RISULTATO FINALE + if(@Copertura = 0) + begin + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 3 + end + else + begin + set @IDTesto = 1 + end + end + else + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 2 + end + if (@Scaduti_Retail) ='P' and (@isDirect='N') + begin + set @IDTesto = 4 + end + if (@Scaduti_Prof) ='P' and (@isDirect='N') + begin + set @IDTesto = 5 + end + if (@Scaduti_Retail) ='P' and (@isDirect='S') + begin + set @IDTesto = 6 + end + if (@Scaduti_Prof) ='P' and (@isDirect='S') + begin + set @IDTesto = 7 + end + select ID, Testo + from [C6MartPeriodico].[TB_S178CasiParticolari_Testi] + where ID = @IDTesto +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S178CasiParticolari_20181220.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S178CasiParticolari_20181220.sql new file mode 100644 index 00000000..896af28d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S178CasiParticolari_20181220.sql @@ -0,0 +1,52 @@ +-- [C6MartPeriodico].[PL_D_S178CasiParticolari] 'F','DVTMRA58B09F839W' +CREATE procedure [C6MartPeriodico].[PL_D_S178CasiParticolari_20181220] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------ CASO 1 COPERTURA = 0 + declare @Copertura decimal(10,2) + declare @SoloProdottiSenzaAdeguatezza int + declare @IDTesto int + set @IDTesto = 0 + select @Copertura=copertura + from C6MartPeriodico.RISCHIO_AGGREGATO + -- 'COMPLESSIVO|BF' come viene fatto nella PL_D_S157ConfrontoPiramidi per la copertura_tot, campo per l'esposizione della nota sulla coperura sotto la piramide + where cod_aggreg='COMPLESSIVO|BF' + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE +------------------------------------------------------------------------------ FINE CASO 1 +------------------------------------------------------------------------------ CASO 2 SENZA PRODOTTI IN ADEGUATEZZA + -- Se le count torna 0 record significa che in ptf ci sono solo prodotti senza adeguatezza + select @SoloProdottiSenzaAdeguatezza= count(*) + from c6martperiodico.patrimonio_bf patr + left join [C6StagingPeriodico].[Prodotti_Fuori_Adeguatezza] senza + on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto + where patr.rete = @rete + and patr.cod_fiscale = @codicefiscale + and senza.codinterno is null +----------------------------------------------------------------------------- FINE CASO 2 +-- CASO 3 COPERTURA = 0 + e ptf con solo PRODOTTI senza ADEGUATEZZA +-- FINE CASO 3 +-- RISULTATO FINALE + if(@Copertura = 0) + begin + if(@SoloProdottiSenzaAdeguatezza=0) + begin + set @IDTesto = 3 + end + else + begin + set @IDTesto = 1 + end + end + else + if(@SoloProdottiSenzaAdeguatezza=0) + begin + set @IDTesto = 2 + end + select ID, Testo + from [C6MartPeriodico].[TB_S178CasiParticolari_Testi] + where ID = @IDTesto +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S178CasiParticolari_BKP_20231114_PRE_RAFFORZAMENTO.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S178CasiParticolari_BKP_20231114_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..5d7fb691 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S178CasiParticolari_BKP_20231114_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,86 @@ +-- [C6MartPeriodico].[PL_D_S178CasiParticolari] 'F','BLRDNC73D12B925K' +CREATE procedure [C6MartPeriodico].[PL_D_S178CasiParticolari_BKP_20231114_PRE_RAFFORZAMENTO] --'S','02708090580' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @Copertura decimal(10,2) + declare @SoloProdottiSenzaAdeguatezza int + declare @SoloCC int + declare @SoloProdottiSenzaAdeguatezzaOrSoloCC int + declare @IDTesto int + set @IDTesto = 0 +------------------------------------------------------------------------------ CASO 1 COPERTURA = 0 + select @Copertura=copertura + from C6MartPeriodico.RISCHIO_AGGREGATO + -- 'COMPLESSIVO|BF' come viene fatto nella PL_D_S157ConfrontoPiramidi per la copertura_tot, campo per l'esposizione della nota sulla coperura sotto la piramide + where cod_aggreg='COMPLESSIVO|BF' + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE +------------------------------------------------------------------------------ FINE CASO 1 +------------------------------------------------------------------------------ CASO 2 SENZA PRODOTTI IN ADEGUATEZZA E/O SOLO CC IN PORTAFOGLIO + -- Controllo se nel Portafoglio c'è solo CC + select rete, cod_fiscale, id_area + into #t1 + from c6martperiodico.patrimonio_bf + where rete = @Rete and cod_fiscale = @CodiceFiscale + group by rete,cod_fiscale, id_area + select rete, cod_fiscale, count(*) as numero + into #t2 + from #t1 + group by rete, cod_fiscale having count(*) = 1 + if exists( + select p.rete, p.cod_fiscale + from c6martperiodico.patrimonio_bf p + inner join #t2 + on p.rete = #t2.rete + and p.cod_fiscale = #t2.cod_fiscale + --where rete + cod_fiscale in (select rete + cod_fiscale from #t2) + where p.id_area = 'liq' + and p.tipo_prodotto = 'cc' + ) + set @soloCC = 1 + else + set @soloCC = 0 + drop table #t1 + drop table #t2 + -- Se le count torna 0 record significa che in ptf ci sono solo prodotti senza adeguatezza + select @SoloProdottiSenzaAdeguatezza = count(*) + from c6martperiodico.patrimonio_bf patr + left join [C6StagingPeriodico].[Prodotti_Fuori_Adeguatezza] senza + on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto + where patr.rete = @rete + and patr.cod_fiscale = @codicefiscale + and senza.codinterno is null + -- Se si verifica uno dei due casi, imposto la variabile a 1 + if @SoloProdottiSenzaAdeguatezza = 0 or @SoloCC = 1 + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 1 + else + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 0 +----------------------------------------------------------------------------- FINE CASO 2 +-- CASO 3 COPERTURA = 0 + e ptf con solo PRODOTTI senza ADEGUATEZZA +-- FINE CASO 3 +-- RISULTATO FINALE + if(@Copertura = 0) + begin + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 3 + end + else + begin + set @IDTesto = 1 + end + end + else + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 2 + end + select ID, Testo + from [C6MartPeriodico].[TB_S178CasiParticolari_Testi] + where ID = @IDTesto +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S178CasiParticolari_old.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S178CasiParticolari_old.sql new file mode 100644 index 00000000..fd51d23a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S178CasiParticolari_old.sql @@ -0,0 +1,86 @@ +-- [C6MartPeriodico].[PL_D_S178CasiParticolari] 'F','BLRDNC73D12B925K' +CREATE procedure [C6MartPeriodico].[PL_D_S178CasiParticolari_old] --'S','02708090580' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @Copertura decimal(10,2) + declare @SoloProdottiSenzaAdeguatezza int + declare @SoloCC int + declare @SoloProdottiSenzaAdeguatezzaOrSoloCC int + declare @IDTesto int + set @IDTesto = 0 +------------------------------------------------------------------------------ CASO 1 COPERTURA = 0 + select @Copertura=copertura + from C6MartPeriodico.RISCHIO_AGGREGATO + -- 'COMPLESSIVO|BF' come viene fatto nella PL_D_S157ConfrontoPiramidi per la copertura_tot, campo per l'esposizione della nota sulla coperura sotto la piramide + where cod_aggreg='COMPLESSIVO|BF' + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE +------------------------------------------------------------------------------ FINE CASO 1 +------------------------------------------------------------------------------ CASO 2 SENZA PRODOTTI IN ADEGUATEZZA E/O SOLO CC IN PORTAFOGLIO + -- Controllo se nel Portafoglio c'è solo CC + select rete, cod_fiscale, id_area + into #t1 + from c6martperiodico.patrimonio_bf + where rete = @Rete and cod_fiscale = @CodiceFiscale + group by rete,cod_fiscale, id_area + select rete, cod_fiscale, count(*) as numero + into #t2 + from #t1 + group by rete, cod_fiscale having count(*) = 1 + if exists( + select p.rete, p.cod_fiscale + from c6martperiodico.patrimonio_bf p + inner join #t2 + on p.rete = #t2.rete + and p.cod_fiscale = #t2.cod_fiscale + --where rete + cod_fiscale in (select rete + cod_fiscale from #t2) + where p.id_area = 'liq' + and p.tipo_prodotto = 'cc' + ) + set @soloCC = 1 + else + set @soloCC = 0 + drop table #t1 + drop table #t2 + -- Se le count torna 0 record significa che in ptf ci sono solo prodotti senza adeguatezza + select @SoloProdottiSenzaAdeguatezza = count(*) + from c6martperiodico.patrimonio_bf patr + left join [C6StagingPeriodico].[Prodotti_Fuori_Adeguatezza] senza + on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto + where patr.rete = @rete + and patr.cod_fiscale = @codicefiscale + and senza.codinterno is null + -- Se si verifica uno dei due casi, imposto la variabile a 1 + if @SoloProdottiSenzaAdeguatezza = 0 or @SoloCC = 1 + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 1 + else + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 0 +----------------------------------------------------------------------------- FINE CASO 2 +-- CASO 3 COPERTURA = 0 + e ptf con solo PRODOTTI senza ADEGUATEZZA +-- FINE CASO 3 +-- RISULTATO FINALE + if(@Copertura = 0) + begin + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 3 + end + else + begin + set @IDTesto = 1 + end + end + else + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 2 + end + select ID, Testo + from [C6MartPeriodico].[TB_S178CasiParticolari_Testi] + where ID = @IDTesto +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S178CasiParticolari_report_ridotto.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S178CasiParticolari_report_ridotto.sql new file mode 100644 index 00000000..204a05dd --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S178CasiParticolari_report_ridotto.sql @@ -0,0 +1,86 @@ +-- [C6MartPeriodico].[PL_D_S178CasiParticolari] 'F','BLRDNC73D12B925K' +CREATE procedure [C6MartPeriodico].[PL_D_S178CasiParticolari] --'S','02708090580' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @Copertura decimal(10,2) + declare @SoloProdottiSenzaAdeguatezza int + declare @SoloCC int + declare @SoloProdottiSenzaAdeguatezzaOrSoloCC int + declare @IDTesto int + set @IDTesto = 0 +------------------------------------------------------------------------------ CASO 1 COPERTURA = 0 + select @Copertura=copertura + from C6MartPeriodico.RISCHIO_AGGREGATO + -- 'COMPLESSIVO|BF' come viene fatto nella PL_D_S157ConfrontoPiramidi per la copertura_tot, campo per l'esposizione della nota sulla coperura sotto la piramide + where cod_aggreg='COMPLESSIVO|BF' + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE +------------------------------------------------------------------------------ FINE CASO 1 +------------------------------------------------------------------------------ CASO 2 SENZA PRODOTTI IN ADEGUATEZZA E/O SOLO CC IN PORTAFOGLIO + -- Controllo se nel Portafoglio c'è solo CC + select rete, cod_fiscale, id_area + into #t1 + from c6martperiodico.patrimonio_bf + where rete = @Rete and cod_fiscale = @CodiceFiscale + group by rete,cod_fiscale, id_area + select rete, cod_fiscale, count(*) as numero + into #t2 + from #t1 + group by rete, cod_fiscale having count(*) = 1 + if exists( + select p.rete, p.cod_fiscale + from c6martperiodico.patrimonio_bf p + inner join #t2 + on p.rete = #t2.rete + and p.cod_fiscale = #t2.cod_fiscale + --where rete + cod_fiscale in (select rete + cod_fiscale from #t2) + where p.id_area = 'liq' + and p.tipo_prodotto = 'cc' + ) + set @soloCC = 1 + else + set @soloCC = 0 + drop table #t1 + drop table #t2 + -- Se le count torna 0 record significa che in ptf ci sono solo prodotti senza adeguatezza + select @SoloProdottiSenzaAdeguatezza = count(*) + from c6martperiodico.patrimonio_bf patr + left join [C6StagingPeriodico].[Prodotti_Fuori_Adeguatezza] senza + on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto + where patr.rete = @rete + and patr.cod_fiscale = @codicefiscale + and senza.codinterno is null + -- Se si verifica uno dei due casi, imposto la variabile a 1 + if @SoloProdottiSenzaAdeguatezza = 0 or @SoloCC = 1 + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 1 + else + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 0 +----------------------------------------------------------------------------- FINE CASO 2 +-- CASO 3 COPERTURA = 0 + e ptf con solo PRODOTTI senza ADEGUATEZZA +-- FINE CASO 3 +-- RISULTATO FINALE + if(@Copertura = 0) + begin + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 3 + end + else + begin + set @IDTesto = 1 + end + end + else + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 2 + end + select ID, Testo + from [C6MartPeriodico].[TB_S178CasiParticolari_Testi] + where ID = 1 +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza.sql new file mode 100644 index 00000000..0f8a74e4 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza.sql @@ -0,0 +1,306 @@ +--[C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza] 'F', 'FF@P08202' +CREATE procedure [C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza] --'S','MLNPFR59L04I138DS' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +--*************************************************************************** SOLO per test +--drop table @appo,#wseian,@TABELLAINDICATORI +--declare @Rete char(1),@CodiceFiscale varchar(16) +--set @Rete = 'f' +--set @CodiceFiscale = 'BTTFST43C42B300A'--'LNGLGU49D23F587Z'--'BRSDRN64E24D749H'--'00703420968'-- +--set @DataFineTrim = 20180430 +--*************************************************************************** +select * +into #WSEIAN2 +from C6MartPeriodico.WSEIAN2 +where RETE=@Rete +and CODFIS=@CodiceFiscale +DECLARE @adeguato [varchar](5) +DECLARE @descrizione [varchar](1000) +-- ************************** creo la tabella iniziale con tutti gli indicatori +declare @TABELLAINDICATORI table +( + TI_Ordine [smallint] null, + TI_Indicatore [varchar](80) null, + TI_Adeguato [varchar](5) null, + TI_Descrizione [varchar](1000) null +) +insert into @TABELLAINDICATORI values (1,'Rischio','-1','Non applicabile') +insert into @TABELLAINDICATORI values (2,'Riserva','-1','Non applicabile') +insert into @TABELLAINDICATORI values (3,'Investimento di lungo periodo','-1','Non applicabile') +insert into @TABELLAINDICATORI values (4,'Complessità','-1','Non applicabile') +insert into @TABELLAINDICATORI values (5,'Concentrazione in prodotti complessi','-1','Non applicabile') +insert into @TABELLAINDICATORI values (6,'Frequenza delle operazioni','-1','Non applicabile') +insert into @TABELLAINDICATORI values (7,'Concentrazione emittenti','-1','Non applicabile') +insert into @TABELLAINDICATORI values (8,'Concentrazione valutaria','-1','Non applicabile') +-- ***************************************************************************** +declare @appo table +( + RETE [varchar](1) null, + COD_FISCALE [varchar](16) null, + PATRIMONIO [varchar](255) NOT NULL, + CTV_AGGREG [decimal](12, 2) null, + profiloCode [smallint] null, + var_profilo [decimal](5, 2) null, + [VAR] [decimal](12, 3) NULL, + varString [varchar](16) null,--[decimal](12, 3) NULL, + CREDITRISK [int] NULL, + RISKCLASSSTRING [varchar](10) null, + coperturaString [varchar](16) null,--[decimal](12, 3) NULL, + COVERAGESTRING [varchar](10) null, + RISKCLASSMAX [varchar](50) null, + [PERCENTAGE] [decimal](12, 6) null, + Ordine [smallint] null, + ULLY_PERC [decimal](10, 2) NULL +) +--creo le tabelle di appoggio +insert into @appo exec [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] @Rete,@CodiceFiscale +--*************************************************************************** INDICATORE DI VALUTAZIONE: RISCHIO +select @adeguato = +case + when var <= var_profilo then '1' + when var > var_profilo then '0' + else -1 +end, +@descrizione = case + when var <= var_profilo then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '1') + when var > var_profilo then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '-1') +end +from @appo where ordine = 1 --patrimonio fideuram +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 1; +--*************************************************************************** INDICATORE DI VALUTAZIONE: RISERVA +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(riserva) = 'S' then '1' + when upper(riserva) = 'N' then '0' + else -1 +end , +@descrizione = case + when upper(riserva) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '1') + when upper(riserva) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '-1') +end +from #WSEIAN2 +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 2; +--*************************************************************************** INDICATORE DI VALUTAZIONE: INVESTIMENTO LUNGO PERIODO +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(invl_period) = 'S' then '1' + when upper(invl_period) = 'N' then '0' + else -1 +end , +@descrizione = case + when upper(invl_period) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '1') + when upper(invl_period) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '-1') +end +from #WSEIAN2 +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 3; +--*************************************************************************** INDICATORE DI VALUTAZIONE: Complessità (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when flagpg = 1 and flgprof = 'N' and flagnqp = 'S' and flgprlrde = 'N' then '-1' --Massimiliano dice che va messo prima di tutti senza testare altri flag 17/5/2018 + when upper(clcompl) = 'N' and + (select nocompl from [C6StagingPeriodico].[WSEIAN2] where codfis = @CodiceFiscale and RETE=@Rete and dttrim = @DataFineTrim ) = 'S' then '0' + when upper(clcompl) = 'N' and flagpg = 0 then '0' + --fix del 18/7/2019 + --when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'N' then '0' + when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'S' then '0' + --fine fix del 18/7/2019 + when upper(clcompl) = 'S' then '1' +end, +@descrizione = case + when flagpg = 1 and flgprof = 'N' and flagnqp = 'S' and flgprlrde = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '-1') + when upper(clcompl) = 'N' and + (select nocompl from [C6StagingPeriodico].[WSEIAN2] where codfis = @CodiceFiscale and rete= @rete and dttrim = @DataFineTrim ) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0C') + when upper(clcompl) = 'N' and flagpg = 0 then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0A') + --fix del 18/7/2019 + --when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0B') + when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0B') + --fine fix del 18/7/2019 + when upper(clcompl) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '1') +end +from #WSEIAN2 +--and flgprof <> 'S' +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 4; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 4; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione in prodotti complessi (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(flgconc) = 'S' then '1' + when upper(flgconc) in ('N') then '0' + else '-1' +end, +@descrizione = case + when upper(flgconc) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '1') + when upper(flgconc) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '-1') +end +from #WSEIAN2 +--and flgprof <> 'S' +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 5; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 5; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Frequenza delle operazioni (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(freq) = 'S' then '1' + when upper(freq) = 'N' then '0' + else '-1' +end, +@descrizione = case + when upper(freq) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '1') + when upper(freq) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '-1') +end +from #WSEIAN2 +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 6; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 6; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione emittenti (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(concemi) = 'S' then '1' + when upper(concemi) = 'N' then '0' + else '-1' +end , +@descrizione = case + when upper(concemi) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '1') + when upper(concemi) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '-1') +end +from #WSEIAN2 +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 7; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 7; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione Valutaria (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(ADEGCONC_VALUT) = 'S' then '1' + when upper(ADEGCONC_VALUT) = 'N' then '0' + else '-1' +end, +@descrizione = case + when upper(ADEGCONC_VALUT) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '1') + when upper(ADEGCONC_VALUT) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '-1') +end +from #WSEIAN2 +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 8; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 8; + end +end +--******************************************************************************************************************************************* +select +ti_ordine as Ordine, +ti_indicatore as Indicatore, +ti_adeguato as Adeguato, +ti_descrizione as DescrizioneEsito +from @TABELLAINDICATORI +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza_preMUA.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza_preMUA.sql new file mode 100644 index 00000000..d8d36acb --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza_preMUA.sql @@ -0,0 +1,470 @@ +--[C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza] 's', 'LMZGNN35M47F205W' +CREATE procedure [C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza_preMUA] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +--*************************************************************************** SOLO per test +--drop table @appo,#wseian,@TABELLAINDICATORI +--declare @Rete char(1),@CodiceFiscale varchar(16) +--set @Rete = 'f' +--set @CodiceFiscale = 'BTTFST43C42B300A'--'LNGLGU49D23F587Z'--'BRSDRN64E24D749H'--'00703420968'-- +--set @DataFineTrim = 20180430 +--*************************************************************************** +DECLARE @adeguato [varchar](5) +DECLARE @descrizione [varchar](1000) +-- ************************** creo la tabella iniziale con tutti gli indicatori +declare @TABELLAINDICATORI table +( + TI_Ordine [smallint] null, + TI_Indicatore [varchar](80) null, + TI_Adeguato [varchar](5) null, + TI_Descrizione [varchar](1000) null +) +insert into @TABELLAINDICATORI values (1,'Rischio','-1','Non applicabile') +insert into @TABELLAINDICATORI values (2,'Riserva','-1','Non applicabile') +insert into @TABELLAINDICATORI values (3,'Investimento di Lungo Periodo','-1','Non applicabile') +insert into @TABELLAINDICATORI values (4,'Complessità','-1','Non applicabile') +insert into @TABELLAINDICATORI values (5,'Concentrazione in prodotti complessi','-1','Non applicabile') +insert into @TABELLAINDICATORI values (6,'Frequenza delle operazioni','-1','Non applicabile') +insert into @TABELLAINDICATORI values (7,'Concentrazione emittenti','-1','Non applicabile') +insert into @TABELLAINDICATORI values (8,'Concentrazione valutaria','-1','Non applicabile') +-- ***************************************************************************** +declare @appo table +( + RETE [varchar](1) null, + COD_FISCALE [varchar](16) null, + PATRIMONIO [varchar](255) NOT NULL, + CTV_AGGREG [decimal](12, 2) null, + profiloCode [smallint] null, + var_profilo [decimal](5, 2) null, + [VAR] [decimal](12, 3) NULL, + varString [varchar](16) null,--[decimal](12, 3) NULL, + CREDITRISK [int] NULL, + RISKCLASSSTRING [varchar](10) null, + coperturaString [varchar](16) null,--[decimal](12, 3) NULL, + COVERAGESTRING [varchar](10) null, + RISKCLASSMAX [varchar](50) null, + [PERCENTAGE] [decimal](12, 6) null, + Ordine [smallint] null, + ULLY_PERC [decimal](10, 2) NULL +) +--creo le tabelle di appoggio +insert into @appo exec [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] @Rete,@CodiceFiscale +declare @WSEIAN_S170 table +( + [DTTRIM] [decimal](9, 0) NOT NULL, + [RETE] [varchar](1) NOT NULL, + [CODFIS] [varchar](16) NOT NULL, + [NOME] [varchar](25) NULL, + [COGNOME] [varchar](25) NULL, + [DTNASCI] [decimal](9, 0) NULL, + [INDIRIZZO] [varchar](44) NULL, + [CAP] [varchar](5) NULL, + [CITTA] [varchar](35) NULL, + [PROVINCIA] [varchar](2) NULL, + [NAZIONE] [varchar](35) NULL, + [CODPROF] [smallint] NULL, + [DTINVAL] [decimal](9, 0) NOT NULL, + [CODMAN] [varchar](6) NULL, + [CLASSERC] [decimal](5, 0) NULL, + [COD_PROFEC] [decimal](5, 0) NULL, + [FLAGPG] [decimal](1, 0) NULL, + [CLCOMPL] [char](1) NOT NULL, + [FLGCONC] [char](1) NOT NULL, + [FLAGNQP] [char](1) NULL, + [FLGPRLRDE] [char](1) NULL, + [FLGPROF] [char](1) NULL, + [DTFINVAL] [decimal](9, 0) NULL, + [CONCEMI] [char](1) NULL, + [FREQ] [char](1) NULL, + [LLIQUID] [char](1) NULL, + [PREFSOST] [char](1) NULL, + [FLAGAMB] [char](1) NULL, + [FLAGSOC] [char](1) NULL, + [FLAGGOV] [char](1) NULL, + [ADEGCONC_VALUT] [char](1) NULL, + [SOGLIAESG] [decimal](5, 2) NULL, + [COERENZA] [char](1) NULL, + [RISERVA] [char](1) NULL, + [INVL_PERIOD] [char](1) NULL, + [MAXCOMPL] [decimal](5, 0) NULL, + [NOCOMPL] [char](1) NULL, + [SPESA_FORZATA] [decimal](13, 2) NULL, + [PERC_ILP] [decimal](5, 2) NULL, + [IMP_RISERVA] [decimal](13, 2) NULL +) +if @CodiceFiscale like '%FF@%' + INSERT INTO @WSEIAN_S170 + --se viene passata una fiduciaria devo filtrare per codice mandato + select [DTTRIM] + ,[RETE] + , + case + when(isnull(ltrim(rtrim(codman)),'') <> '') + then 'FF@'+codman + when (isnull(codfis,'') <> '') + then codfis + else + codfis + end as Codfis + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF] + ,[DTINVAL] + ,[CODMAN] + ,[CLASSERC] + ,[COD_PROFEC] + ,[FLAGPG] + ,[CLCOMPL] + ,[FLGCONC] + ,[FLAGNQP] + ,[FLGPRLRDE] + ,[FLGPROF] + ,[DTFINVAL] + ,[CONCEMI] + ,[FREQ] + ,[LLIQUID] + ,[PREFSOST] + ,[FLAGAMB] + ,[FLAGSOC] + ,[FLAGGOV] + ,[ADEGCONC_VALUT] + ,[SOGLIAESG] + ,[COERENZA] + ,[RISERVA] + ,[INVL_PERIOD] + ,[MAXCOMPL] + ,[NOCOMPL] + ,[SPESA_FORZATA] + ,[PERC_ILP] + ,[IMP_RISERVA] + from [C6StagingPeriodico].[WSEIAN2] + where 1=1 + and rete = @Rete + and codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + and dttrim = @DataFineTrim; +else + INSERT INTO @WSEIAN_S170 + select [DTTRIM] + ,[RETE] + , + case + when(isnull(ltrim(rtrim(codman)),'') <> '') + then 'FF@'+codman + when (isnull(codfis,'') <> '') + then codfis + else + codfis + end as Codfis + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF] + ,[DTINVAL] + ,[CODMAN] + ,[CLASSERC] + ,[COD_PROFEC] + ,[FLAGPG] + ,[CLCOMPL] + ,[FLGCONC] + ,[FLAGNQP] + ,[FLGPRLRDE] + ,[FLGPROF] + ,[DTFINVAL] + ,[CONCEMI] + ,[FREQ] + ,[LLIQUID] + ,[PREFSOST] + ,[FLAGAMB] + ,[FLAGSOC] + ,[FLAGGOV] + ,[ADEGCONC_VALUT] + ,[SOGLIAESG] + ,[COERENZA] + ,[RISERVA] + ,[INVL_PERIOD] + ,[MAXCOMPL] + ,[NOCOMPL] + ,[SPESA_FORZATA] + ,[PERC_ILP] + ,[IMP_RISERVA] + from [C6StagingPeriodico].[WSEIAN2] + where 1=1 + and rete = @Rete + and codfis= @CodiceFiscale + and dttrim = @DataFineTrim; +--*************************************************************************** INDICATORE DI VALUTAZIONE: RISCHIO +select @adeguato = +case + when var <= var_profilo then '1' + when var > var_profilo then '0' + else -1 +end, +@descrizione = case + when var <= var_profilo then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '1') + when var > var_profilo then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '-1') +end +from @appo where ordine = 1 --patrimonio fideuram +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 1; +--*************************************************************************** INDICATORE DI VALUTAZIONE: RISERVA +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(riserva) = 'S' then '1' + when upper(riserva) = 'N' then '0' + else -1 +end , +@descrizione = case + when upper(riserva) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '1') + when upper(riserva) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +--20180830 aggiunto AC +and rete = @Rete +and codfis = @CodiceFiscale +--20180830 +and dttrim = @DataFineTrim +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 2; +--*************************************************************************** INDICATORE DI VALUTAZIONE: INVESTIMENTO LUNGO PERIODO +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(invl_period) = 'S' then '1' + when upper(invl_period) = 'N' then '0' + else -1 +end , +@descrizione = case + when upper(invl_period) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '1') + when upper(invl_period) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +--20180830 aggiunto AC +and rete = @Rete +and codfis = @CodiceFiscale +--20180830 +and dttrim = @DataFineTrim +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 3; +--*************************************************************************** INDICATORE DI VALUTAZIONE: Complessità (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when flagpg = 1 and flgprof = 'N' and flagnqp = 'S' and flgprlrde = 'N' then '-1' --Massimiliano dice che va messo prima di tutti senza testare altri flag 17/5/2018 + when upper(clcompl) = 'N' and + (select nocompl from [C6StagingPeriodico].[WSEIAN2] where codfis = @CodiceFiscale and dttrim = @DataFineTrim ) = 'S' then '0' + when upper(clcompl) = 'N' and flagpg = 0 then '0' + --fix del 18/7/2019 + --when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'N' then '0' + when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'S' then '0' + --fine fix del 18/7/2019 + when upper(clcompl) = 'S' then '1' +end, +@descrizione = case + when flagpg = 1 and flgprof = 'N' and flagnqp = 'S' and flgprlrde = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '-1') + when upper(clcompl) = 'N' and + (select nocompl from [C6StagingPeriodico].[WSEIAN2] where codfis = @CodiceFiscale and dttrim = @DataFineTrim ) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0C') + when upper(clcompl) = 'N' and flagpg = 0 then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0A') + --fix del 18/7/2019 + --when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0B') + when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0B') + --fine fix del 18/7/2019 + when upper(clcompl) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '1') +end +from @WSEIAN_S170 +where 1=1 +--20180830 aggiunto AC +and rete = @Rete +and codfis = @CodiceFiscale +--20180830 +and dttrim = @DataFineTrim +--and flgprof <> 'S' +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 4; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 4; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione in prodotti complessi (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(flgconc) = 'S' then '1' + when upper(flgconc) = 'N' then '0' + else '-1' +end, +@descrizione = case + when upper(flgconc) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '1') + when upper(flgconc) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +and rete = @Rete +and codfis = @CodiceFiscale +and dttrim = @DataFineTrim +--and flgprof <> 'S' +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 5; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 5; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Frequenza delle operazioni (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(freq) = 'S' then '1' + when upper(freq) = 'N' then '0' + else '-1' +end, +@descrizione = case + when upper(freq) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '1') + when upper(freq) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +and rete = @Rete +and codfis = @CodiceFiscale +and dttrim = @DataFineTrim +--and flgprof <> 'S' +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 6; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 6; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione emittenti +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(concemi) = 'S' then '1' + when upper(concemi) = 'N' then '0' + else -1 +end , +@descrizione = case + when upper(concemi) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '1') + when upper(concemi) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +--20180830 aggiunto AC +and rete = @Rete +and codfis = @CodiceFiscale +--20180830 +and dttrim = @DataFineTrim +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 7; +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione Valutaria +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(ADEGCONC_VALUT) = 'S' then '1' + when upper(ADEGCONC_VALUT) = 'N' then '0' + else '-1' +end, +@descrizione = case + when upper(ADEGCONC_VALUT) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '1') + when upper(ADEGCONC_VALUT) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +and rete = @Rete +and codfis = @CodiceFiscale +and dttrim = @DataFineTrim +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 8; +--******************************************************************************************************************************************* +select +ti_ordine as Ordine, +ti_indicatore as Indicatore, +ti_adeguato as Adeguato, +ti_descrizione as DescrizioneEsito +from @TABELLAINDICATORI +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S179EmittentiConcentrazioneAlta.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S179EmittentiConcentrazioneAlta.sql new file mode 100644 index 00000000..2e1b2dfb --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S179EmittentiConcentrazioneAlta.sql @@ -0,0 +1,28 @@ +--[C6MartPeriodico].[PL_D_S179EmittentiConcentrazioneAlta] 'F', 'DVTMRA58B09F839W' +CREATE procedure [C6MartPeriodico].[PL_D_S179EmittentiConcentrazioneAlta] --'W','DRNSNT51B44H090Q' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @PROF VARCHAR(1) + SET @PROF = (select FLGPROF from C6MartPeriodico.WSEIAN2 WHERE RETE=@Rete AND CODFIS= @CodiceFiscale) +SELECT [RETE] + ,[COD_FISCALE] + ,[Ordine] + ,[Emittente] + ,[ctv] + ,[flagAdeguatezza] + ,[franchigia] + ,[percConcentrazione] * 100 as percConcentrazione + ,case when rating='' then 'n.d.' else rating end as rating + ,[sogliaConcentrazione] * 100 as sogliaConcentrazione + FROM [C6MartPeriodico].[TB_S179EmittentiConcentrazioneAlta] + where rete = @Rete + and Cod_Fiscale = @CodiceFiscale + and @PROF='N' + order by emittente +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta.sql new file mode 100644 index 00000000..fe75ed81 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta.sql @@ -0,0 +1,133 @@ +--[c6MartPeriodico].[PL_D_S180ProdottiComplessitaAlta] 'f', 'ff@9225' +CREATE procedure [C6MartPeriodico].[PL_D_S180ProdottiComplessitaAlta] --'F','LPPLBR69L11L833P' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @TotalePatrimonio decimal(12,2) + -- acquisiamo il totale patrimonio del cliente + SELECT @TotalePatrimonio = ctv + FROM + c6MartPeriodico.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +-- + SELECT + 1 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + --((controvalore * 100) / @TotalePatrimonio) as Peso, + percentuale_CTV as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + -- SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi + SUM(Percentuale_CTV) OVER () as SommaPesi + into #temp +FROM + [c6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 3 + union all + SELECT + 2 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + --((controvalore * 100) / @TotalePatrimonio) as Peso, + percentuale_CTV as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + -- SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi + SUM(Percentuale_CTV) OVER () as SommaPesi +FROM + [c6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 2 + union all + SELECT + 3 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + --((controvalore * 100) / @TotalePatrimonio) as Peso, + percentuale_CTV as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + -- SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi + SUM(Percentuale_CTV) OVER () as SommaPesi +FROM + [c6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 1 + -- --20180905 Fine modifica + order by ordine,Compl_Base desc + delete from #temp where ordine=1 and SommaPesi<20 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta è <20 + delete from #temp where ordine=2 and SommaPesi<30 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta è <30 + delete from #temp where ordine=3 and SommaPesi<50 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta e medio-bassa è <50 +-- select * from #temp --order by ordine,Complessita + DECLARE @ordineConcatenato VARCHAR(4) +SELECT @ordineConcatenato = COALESCE(@ordineConcatenato + '', '') + CAST(ordine AS VARCHAR) +FROM (SELECT DISTINCT ordine FROM #temp) AS subquery +-- @ordineConcatenato conterrà i valori distinti concatenati della colonna 'ordine' +SELECT Ordine,CodiceContratto,NomeProdotto,Controvalore,Complessita,Peso,TotalePatrimonio,SommaControvalore,SommaPesi,@ordineConcatenato AS Ordine_Concatenato +into #temp2 +FROM #temp +select t.Ordine + ,t.CodiceContratto + ,t.NomeProdotto + ,t.Controvalore + ,t.Complessita as Complessita_Numero + ,case when t.Complessita=4 then 'Alta' + when t.Complessita=3 then 'Medio-alta' + when t.Complessita=2 then 'Medio-bassa' + else 'n.d.' end as Complessita + ,t.Peso + ,t.TotalePatrimonio + ,t.SommaControvalore + ,t.SommaPesi + ,t.Ordine_Concatenato + ,n.Descrizione + into #temp3 + from #temp2 t left join [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta_note] n on t.Ordine_Concatenato=n.id + DECLARE @ComplessitaConcatenata VARCHAR(4) +SELECT @ComplessitaConcatenata = COALESCE(@ComplessitaConcatenata + '', '') + CAST(complessita_numero AS VARCHAR) +FROM (SELECT DISTINCT complessita_numero FROM #temp3 ) AS subquery order by Complessita_Numero desc +SELECT t.Ordine,t.CodiceContratto,t.NomeProdotto,t.Controvalore,t.Complessita_Numero,t.Complessita,t.Peso,t.TotalePatrimonio,t.SommaControvalore,t.SommaPesi,t.Ordine_Concatenato,replace(t.Descrizione,'@@@@@',co.descrizione) as Descrizione--,@ComplessitaConcatenata as Complessita_Concatenata +FROM #temp3 t left join [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta_note_complessita] co on @ComplessitaConcatenata=co.id +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta_20180715.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta_20180715.sql new file mode 100644 index 00000000..5283191e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta_20180715.sql @@ -0,0 +1,41 @@ +--[C6MartPeriodico].[PL_D_S180ProdottiComplessitaAlta] 'f', 'ff@9225' +CREATE procedure [C6MartPeriodico].[PL_D_S180ProdottiComplessitaAlta_20180715] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @TotalePatrimonio decimal(12,2) + -- acquisiamo il totale patrimonio del cliente + SELECT @TotalePatrimonio = ctv + FROM + C6MartPeriodico.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +-- + select + 1 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + ((controvalore*100)/@TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio + from [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] + where + rete = @Rete + -- modifica del 4/7/2018 + and cod_fiscale like + CASE when @CodiceFiscale like '%FF@%'THEN '%%' + ELSE @CodiceFiscale + END + and codman = + CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + ELSE '' + END + --fine modifica del 4/7/2018 + order by controvalore desc +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta_mini.sql b/sql/storedProduzione/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta_mini.sql new file mode 100644 index 00000000..7b2f176b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta_mini.sql @@ -0,0 +1,89 @@ +CREATE procedure [C6MartPeriodico].[PL_D_S180ProdottiComplessitaAlta_mini] --'W','BRGDNT48P60D612V' + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + declare @TotalePatrimonio decimal(12,2) + SELECT @TotalePatrimonio = ctv + FROM + C6Mart.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND COD_FISCALE = @CodiceFiscale + SELECT + 1 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi + into #temp +FROM + [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 3 + union all + SELECT + 2 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 2 + union all + SELECT + 3 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 1 +delete from #temp where ordine=1 and SommaPesi<20 +delete from #temp where ordine=2 and SommaPesi<30 +delete from #temp where ordine=3 and SommaPesi<50 +select case when exists (select 1 from #temp) then 1 else 0 end +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_FD10PatrimonioFinanziario.sql b/sql/storedProduzione/C6MartPeriodico_PL_FD10PatrimonioFinanziario.sql new file mode 100644 index 00000000..3e167360 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_FD10PatrimonioFinanziario.sql @@ -0,0 +1,18 @@ +CREATE procedure [C6MartPeriodico].[PL_FD10PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [Banca] + ,[Ordinamento] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_S10PatrimonioFinanziario] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_FD181PreferenzeESG.sql b/sql/storedProduzione/C6MartPeriodico_PL_FD181PreferenzeESG.sql new file mode 100644 index 00000000..27e00d1c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_FD181PreferenzeESG.sql @@ -0,0 +1,51 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'BCCNDR69P21A462P' +CREATE procedure [C6MartPeriodico].[PL_FD181PreferenzeESG]--'F','BBLCMS66M11F960M' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @SCADUTO_PARZIALE varchar(16) +SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) +SELECT esg.[rete] + ,[cod_fiscale] + --,case + --when @SCADUTO_PARZIALE='P' then 0 else [Preferenza_esg_cliente] + --end as + ,[Preferenza_esg_cliente] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,CAST(ROUND(ISNULL(obiettivo_ESG_minimo, 0.00), 2) AS decimal(6, 2)) AS obiettivo_ESG_minimo + ,[ESG_Rating] + ,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_E_perc + ,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_S_perc + ,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_G_perc + ,case when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=25 and isnull(ind.SOGLIAESG,'0.00')<50 then 'Almeno pari al 25%' + when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=50 and isnull(ind.SOGLIAESG,'0.00')<75 then 'Almeno pari al 50%' + when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=75 then 'Almeno pari al 75%' else '-' end as Pref_Sost + ,case when cle.U_PREFSOST='S' then 'Y' + when cle.U_PREFSOST='N' then 'N' else 'N' end as U_PREFSOST --Ulteriori Preferenze di Sostenibilità ----decommenta per ESG 2024 + ,case when cle.FLAGSFDR='S' then replace(cast(cle.SFDR_PERC as varchar(12)),'.00','')+'%' else '-' end as SFDR_PERC ----decommenta per ESG 2024 + ,case when cle.FLAGTAXO='S' then replace(cast(cle.TAXO_PERC as varchar(12)),'.00','')+'%' else '-' end as TAXO_PERC ----decommenta per ESG 2024 + ,case when isnull(cle.PAI_A,'')='' then '-' else cle.PAI_A end as PAI_A + ,case when isnull(cle.PAI_S,'')='' then '-' else cle.PAI_S end as PAI_S + ,case when ESG_E='Y' then cle.PERCAMB_OK ELSE NULL END AS E_PERC_OK--,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS E_PERC_OK ----decommenta per ESG 2024 + ,case when ESG_S='Y' then cle.PERCSOC_OK ELSE NULL END AS S_PERC_OK--,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS S_PERC_OK ----decommenta per ESG 2024 + ,case when ESG_G='Y' then cle.PERCGOV_OK ELSE NULL END AS G_PERC_OK--,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS G_PERC_OK ----decommenta per ESG 2024 + FROM [C6StampeCentralizzate].[C6MartPeriodico].[BrsClienteESG] esg + left join C6MartPeriodico.wseian2 ind + on ind.rete=esg.rete and ind.CODFIS=esg.cod_fiscale + left join C6MartPeriodico.W6CLIESG cle + on ind.rete=cle.rete and ind.CODFIS=cle.CODFIS +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale + --AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' non valida x i direct +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_FD181PreferenzeESG_BKP_20250305_PreESG2024.sql b/sql/storedProduzione/C6MartPeriodico_PL_FD181PreferenzeESG_BKP_20250305_PreESG2024.sql new file mode 100644 index 00000000..4aa351c3 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_FD181PreferenzeESG_BKP_20250305_PreESG2024.sql @@ -0,0 +1,38 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'BCCNDR69P21A462P' +CREATE procedure [C6MartPeriodico].[PL_FD181PreferenzeESG_BKP_20250305_PreESG2024]--'S','BCCNDR69P21A462P' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @SCADUTO_PARZIALE varchar(16) +SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) +SELECT esg.[rete] + ,[cod_fiscale] + ,case + when @SCADUTO_PARZIALE='P' then 0 else [Preferenza_esg_cliente] + end as [Preferenza_esg_cliente] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,CAST(ROUND(ISNULL(obiettivo_ESG_minimo, 0.00), 2) AS decimal(6, 2)) AS obiettivo_ESG_minimo + ,[ESG_Rating] + ,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_E_perc + ,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_S_perc + ,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_G_perc + ,case when isnull(ind.SOGLIAESG,'0.00')>=25 and isnull(ind.SOGLIAESG,'0.00')<50 then 'Almeno pari al 25%' + when isnull(ind.SOGLIAESG,'0.00')>=50 and isnull(ind.SOGLIAESG,'0.00')<75 then 'Almeno pari al 50%' + when isnull(ind.SOGLIAESG,'0.00')>=75 then 'Almeno pari al 75%' else 'n.d.' end as Pref_Sost + FROM [C6StampeCentralizzate].[C6MartPeriodico].[BrsClienteESG] esg + left join C6MartPeriodico.wseian2 ind + on ind.rete=esg.rete and ind.CODFIS=esg.cod_fiscale +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_FD182BISDettaglioProdottiESG.sql b/sql/storedProduzione/C6MartPeriodico_PL_FD182BISDettaglioProdottiESG.sql new file mode 100644 index 00000000..c3a9479d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_FD182BISDettaglioProdottiESG.sql @@ -0,0 +1,167 @@ +--se nella generazione del report da errore molto probabilmente ci sta una chiaveclientePB diversa sulla appocontratti dalla vinfocliente +--cambiala sull'appo contratti e contrattipretrimestrale +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S182BISDettaglioProdottiESG] 'F', '98196710176' +CREATE procedure [C6MartPeriodico].[PL_FD182BISDettaglioProdottiESG] --'S','DGSMHL70H08Z404F' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +--- + SELECT distinct + [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + into #temp + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S133_S157DatiPiramide] + WHERE [Rete] = @rete + AND [CodiceFiscale] = @codicefiscale + order by ordinamento + declare @totale_risorse_finanziarie decimal(38,3) + declare @totale_patrimonio decimal(38,3) + declare @partite_viaggianti decimal(38,3) + select @totale_risorse_finanziarie = SUM(controvaloreAttuale) from #temp where needarea in ('Ext','Inv','Pre','Ris','Liq','Na') + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + select @totale_patrimonio = SUM(controvaloreAttuale) from #temp + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + select @partite_viaggianti= PartiteViaggiantiInv from wh.Maledetti + where i_Rete=@Rete and i_CodiceFiscale=@CodiceFiscale + set @totale_patrimonio=@totale_patrimonio + @partite_viaggianti + select + case when @totale_risorse_finanziarie=@totale_patrimonio then 'Tot_P' else 'Tot_F' end as needarea, + case when @totale_risorse_finanziarie=@totale_patrimonio then 'TOTALE PATRIMONIO' else 'TOTALE RISORSE FINANZIARIE' end as needareades, + '100' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + '' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + SUM(controvaloreattuale) as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto +from #temp +where needarea in ('Ext','Inv','Pre','Ris','Liq','Na') +having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + union all + select + 'Tot_F' as needarea, + '' as needareades, + '101' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + 'C/C a saldo negativo' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + SUM(controvaloreattuale) as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from #temp + where needarea in ('CC') + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + union all + select + 'Tot_F' as needarea, + '' as needareades, + '102' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + 'Operazioni in corso' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + PartiteViaggiantiInv as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from wh.Maledetti + where i_Rete=@Rete and i_CodiceFiscale=@CodiceFiscale + and PartiteViaggiantiInv<>'0.000' + union all + select top (1) + 'Tot_P' as needarea, + 'TOTALE PATRIMONIO' as needareades, + '103' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + '' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + @totale_patrimonio as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from #temp + where @totale_risorse_finanziarie<>@totale_patrimonio + --having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 and SUM(controvaloreAttuale) <> @totale_risorse_finanziarie +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_FD182DettaglioProdottiESG.sql b/sql/storedProduzione/C6MartPeriodico_PL_FD182DettaglioProdottiESG.sql new file mode 100644 index 00000000..9f412e46 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_FD182DettaglioProdottiESG.sql @@ -0,0 +1,241 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S182DettaglioProdottiESG] 'F', 'GLLGZN62T06H501I' +CREATE procedure [C6MartPeriodico].[PL_FD182DettaglioProdottiESG] --'F','PCNLVI82A63I726B' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Rob'--when robo.isProgettoRobo='S' then 'Rob' + else 'ASF' + END AS needarea, + CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + --WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + --ELSE AREA.NOME_AREA + END AS needareades, +CASE + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + --ELSE AREA.ORDINAMENTO + -- WHEN robo.isProgettoRobo='S' THEN 1 + --ELSE 2 + WHEN ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 1 + ELSE 2 +END + AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + when isnull(trim(PATRBF.NOME_PROGETTO),'') not like '%Direct EVO%' then 'Default' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV ) OVER (PARTITION BY CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' end) AS somma_controval_needarea, + SUM(PATRBF.CTV ) OVER (PARTITION BY CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' end)--, PATRBF.ordinamento_progetto) + AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY --robo.isProgettoRobo, + PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 +-- THEN 'n.d.' +-- ELSE NULL +--END AS versato_need_progString, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) +-- ELSE NULL +--END AS MinusPlusValenza_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 +-- THEN 'n.d.' +-- ELSE NULL +--END AS MinusPlusValenza_need_progString, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF +-- ELSE NULL +--END AS somma_var_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA +-- ELSE NULL +--END AS somma_copertura_need_prog, +--RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +--CASE +-- WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 +-- THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII +-- WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' +-- THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- +-- ELSE NULL +--END AS var_needareaString, +--CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, +-- CASE +-- WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) +-- --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- ELSE '' +--END AS copertura_needareaString, +--RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +--CASE +-- WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +--END AS var_need_progString, +--RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, + case when ESG_E = 'SI' then 'Sì' else 'No' end as ESG_E, + case when ESG_S = 'SI' then 'Sì' else 'No' end as ESG_S, + case when ESG_G = 'SI' then 'Sì' else 'No' end as ESG_G, + case when CatSFDR <> '' then esg.CatSFDR else '-' end as CatSFDR, + case when ESGRating <> '' then esg.esgrating else '-' end as ESGRating, + case when TrendESGRating <> '' then esg.TrendESGRating else '-' end as TrendESGRating, +PATRBF.CTV AS Controvalore, +--PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +--CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +--MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +--CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +--case when (patrbf.tipo_prodotto ='CC') then 0.00 +--else RISCHIO_PROD.VAR_PERC_PTF +--end AS VaRprodotto, +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' +-- WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +--ELSE NULL END as varProdottoString, +--case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--else RISCHIO_PROD.Copertura +--end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +--PARTVIA_DISINV AS partitaViaggiante, +--CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +--RISCHIO_PROD.CREDITRISK as creditrisk, +--CASE +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' +-- WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' +-- ELSE NULL +-- END as creditriskstring, + --RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto + --,CASE + -- WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' + -- ELSE 'N' end as ESG_E_PROD_CLI,----decommenta per ESG 2024 + --CASE + -- WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' + -- ELSE 'N' end as ESG_S_PROD_CLI,----decommenta per ESG 2024 + --CASE + -- WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' + -- ELSE 'N' end as ESG_G_PROD_CLI ----decommenta per ESG 2024 + ,case when isnull(cat.esg_e_prod_cli,'N')='Y' then 'S' else 'N' end as esg_e_prod_cli + ,case when isnull(cat.esg_s_prod_cli,'N')='Y' then 'S' else 'N' end as esg_s_prod_cli + ,case when isnull(cat.esg_g_prod_cli,'N')='Y' then 'S' else 'N' end as esg_g_prod_cli + --> rimettere dopo else N +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +--LEFT JOIN +--C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ +-- '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' +-- when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' +-- ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- END +-- +-- + PATRBF.POSITION_ID +--LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG +-- ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE +-- AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +-- + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +--LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA +-- ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE +-- +-- +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = case +-- when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' +-- else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) +-- end +-- +left join [C6StagingPeriodico].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) + left join C6MartPeriodico.W6CATESG cat + on PATRBF.cod_prodotto = cat.PRODOTTO_ID + AND PATRBF.rete = cat.rete + AND PATRBF.COD_FISCALE =cat.codfis +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 + --and AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +ORDER BY +CASE + WHEN ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 1 + ELSE 2 +END , +PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_FD185UCaratteristicheESG.sql b/sql/storedProduzione/C6MartPeriodico_PL_FD185UCaratteristicheESG.sql new file mode 100644 index 00000000..5622c474 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_FD185UCaratteristicheESG.sql @@ -0,0 +1,142 @@ +CREATE procedure [C6MartPeriodico].[PL_FD185UCaratteristicheESG]-- 'F','BBLCMS66M11F960M' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT + CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Rob'--when robo.isProgettoRobo='S' then 'Rob' + else 'ASF' + END AS needarea, + CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + --WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + --ELSE AREA.NOME_AREA + END AS needareades, +CASE + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + --ELSE AREA.ORDINAMENTO + -- WHEN robo.isProgettoRobo='S' THEN 1 + --ELSE 2 + WHEN ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 1 + ELSE 2 +END + AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + when isnull(trim(PATRBF.NOME_PROGETTO),'') not like '%Direct EVO%' then 'Default' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +SUM(PATRBF.CTV ) OVER (PARTITION BY CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' end) + AS somma_controval_need_prog, + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, +--CASE +-- WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 +-- THEN '-' +-- ELSE +-- REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',')-- + '%' +--END AS PERC_INVESTIMENTO_SFDR, +--CASE +-- WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 ----decommenta per ESG 2024 +-- THEN '-' ----decommenta per ESG 2024 +-- ELSE ----decommenta per ESG 2024 +-- REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',')-- + '%' ----decommenta per ESG 2024 +--END AS PERC_INVESTIMENTO_SFDR_AMB, ----decommenta per ESG 2024 +-- --decommenta per ESG 2024 +-- --decommenta per ESG 2024 +--CASE ----decommenta per ESG 2024 +-- WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 ----decommenta per ESG 2024 +-- THEN '-' ----decommenta per ESG 2024 +-- ELSE ----decommenta per ESG 2024 +-- REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',')-- + '%' ----decommenta per ESG 2024 +--END AS PERC_INVESTIMENTO_SFDR_SOC, ----decommenta per ESG 2024 +CASE + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_SFDR, +CASE + WHEN isnull(esg.PERC_INVEST_SFDR_MIN_SUST_E,0.00) = 0.00 ----decommenta per ESG 2024 + THEN '-' ----decommenta per ESG 2024 + ELSE ----decommenta per ESG 2024 + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVEST_SFDR_MIN_SUST_E), '.', ',')-- + '%' ----decommenta per ESG 2024 +END AS PERC_INVESTIMENTO_SFDR_AMB, ----decommenta per ESG 2024 + --decommenta per ESG 202 --decommenta per ESG 2024 +CASE ----decommenta per ESG 2024 + WHEN isnull(esg.PERC_INVEST_SFDR_MIN_SUST_S,0.00) = 0.00 ----decommenta per ESG 2024 + THEN '-' ----decommenta per ESG 2024 + ELSE ----decommenta per ESG 2024 + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVEST_SFDR_MIN_SUST_S), '.', ',')-- + '%' ----decommenta per ESG 2024 +END AS PERC_INVESTIMENTO_SFDR_SOC, + CASE + WHEN ISNULL(esg.PERC_INVESTIMENTO_TAXONOMY, 0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_TAXONOMY), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_TAXONOMY, + isnull(esg.label_PAI_A,'-') as label_PAI_A, + isnull(esg.Label_PAI_S,'-') as label_PAI_S, + isnull(esg.Label_U_INFO_ESG,'-') as label_U_INFO_ESG, + PATRBF.CTV AS Controvalore, + SUM(PATRBF.CTV ) OVER (PARTITION BY CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' end) + AS somma_controval_needarea + --SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +left join [C6StagingPeriodico].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 + --AND AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +ORDER BY + CASE + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + --ELSE AREA.ORDINAMENTO + -- WHEN robo.isProgettoRobo='S' THEN 1 + --ELSE 2 + WHEN ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 1 + ELSE 2 +END ,PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_FD187SfdrTaxESG.sql b/sql/storedProduzione/C6MartPeriodico_PL_FD187SfdrTaxESG.sql new file mode 100644 index 00000000..eed06c5f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_FD187SfdrTaxESG.sql @@ -0,0 +1,97 @@ +--select * from wh.Maledetti +CREATE procedure [C6MartPeriodico].[PL_FD187SfdrTaxESG] --'F','00545400483' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6MartPeriodico.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale +declare @U_PREFSOST varchar(2) +select @U_PREFSOST=U_PREFSOST from [C6MartPeriodico].[W6CliESG] where rete=@Rete and codfis=@CodiceFiscale +if(@pref_esg='1' AND @U_PREFSOST='S') +begin + select + 1 as ID, + 'Prodotti sostenibili SFDR' as Descrizione, + replace(cast(cli.SFDR_PERCT as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union + select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(cli.SFDR_PERC_OK as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,case when cli.FLAGSFDR='N' then 'Y' + else 'N' end as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 3 as ID, + 'Prodotti non sostenibili' as Descrizione, + replace(cast((100-cli.SFDR_PERCT)as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 5 as ID, + 'Prodotti ecosostenibili Taxonomy' as Descrizione, + replace(cast(cli.TAXO_PERCT as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast (cli.TAXO_PERC_OK as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,case when cli.FLAGTAXO='N' then 'Y' + else 'N' end as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 7 as ID, + 'Prodotti non ecosostenibili' as Descrizione, + replace(cast((100-cli.TAXO_PERCT) as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from C6MartPeriodico.[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +end +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_FD188PaiESG.sql b/sql/storedProduzione/C6MartPeriodico_PL_FD188PaiESG.sql new file mode 100644 index 00000000..8bd1e31e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_FD188PaiESG.sql @@ -0,0 +1,88 @@ +--select * from wh.Maledetti +CREATE procedure [C6MartPeriodico].[PL_FD188PaiESG] --'F','00545400483' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6MartPeriodico.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale +declare @U_PREFSOST varchar(2) +select @U_PREFSOST=U_PREFSOST from [C6MartPeriodico].[W6CliESG] where rete=@Rete and codfis=@CodiceFiscale +if(@pref_esg='1' and @U_PREFSOST='S') +begin +select 1 as ID, + 'Prodotti che considerano almeno un PAI ambientale' as Descrizione, + replace(cast(cli.PAIA_PERCT as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(cli.PAIA_PERC_OK as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,case when isnull(cli.PAI_A,'')='' then 'Y' + else 'N' end as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 3 as ID, + 'Prodotti che non considerano PAI ambientali' as Descrizione, + replace(cast((100-cli.PAIA_PERCT) as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + union +select 5 as ID, + 'Prodotti che considerano almeno un PAI sociale' as Descrizione, + replace(cast(cli.PAIS_PERCT as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(cli.PAIS_PERC_OK as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,case when isnull(cli.PAI_S,'')='' then 'Y' + else 'N' end as isNA +from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 7 as ID, + 'Prodotti che non considerano PAI sociali' as Descrizione, + replace(cast((100-cli.PAIS_PERCT) as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA + end +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_FD190BisPatrimonioFinanziario_Modello.sql b/sql/storedProduzione/C6MartPeriodico_PL_FD190BisPatrimonioFinanziario_Modello.sql new file mode 100644 index 00000000..6290ab88 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_FD190BisPatrimonioFinanziario_Modello.sql @@ -0,0 +1,15 @@ +create procedure [C6MartPeriodico].[PL_FD190BisPatrimonioFinanziario_Modello] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @mia_chiaveptfmod int +SELECT + @mia_chiaveptfmod=ChiavePtfMod + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_fd190PatrimonioFinanziario_PTFRibilanciato] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + select * from C6StagingPeriodico.RP_DistribuzionePtfModello_Tattici_MacroAssetClass where chiavePtfMod=@mia_chiaveptfmod +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_FD190PatrimonioFinanziario_PTFRibilanciato.sql b/sql/storedProduzione/C6MartPeriodico_PL_FD190PatrimonioFinanziario_PTFRibilanciato.sql new file mode 100644 index 00000000..c077b0b0 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_FD190PatrimonioFinanziario_PTFRibilanciato.sql @@ -0,0 +1,55 @@ +CREATE procedure [C6MartPeriodico].[PL_FD190PatrimonioFinanziario_PTFRibilanciato] --'F','VGNMRA68C64F205S' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [Banca] + ,[Ordinamento] + ,[AssetClassId] + ,[AssetClassName] + ,chiaveptfmod + ,[Controvalore] + ,[Percentuale] + ,[Totale] + ,percentuale_modello + ,var_prog + into #ptf + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_fd190PatrimonioFinanziario_PTFRibilanciato] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + --aggiunta +declare @mia_chiaveptfmod int +SELECT + @mia_chiaveptfmod=ChiavePtfMod + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_fd190PatrimonioFinanziario_PTFRibilanciato] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + select * + into #ptf_mod + from C6StagingPeriodico.RP_DistribuzionePtfModello_Tattici_MacroAssetClass where chiavePtfMod=@mia_chiaveptfmod + select Banca,Ordinamento,AssetClassId,AssetClassName,ChiavePtfMod,Controvalore,Percentuale,Totale,Percentuale_Modello*100 as percentuale_modello,var_prog as var_prog + into #tot + from #ptf + union all + select 'Fideuram', + ordinamento, + asset, + descrizione, + chiavePtfMod, + NULL, + 0.00000, + NULL, + percentuale*100, + NULL as var_prog from #ptf_mod where asset not in (select ASSETCLASSID from #ptf) + order by Ordinamento + DECLARE @Totale [decimal](19, 5); + DECLARE @var_prog [decimal](19, 5); + SELECT @Totale = Totale, @var_prog = var_prog +FROM #ptf; + update #tot + set Totale=@Totale, var_prog=@var_prog + select * from #tot +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_FD200BisDistribuzioneAssetClass_Modello.sql b/sql/storedProduzione/C6MartPeriodico_PL_FD200BisDistribuzioneAssetClass_Modello.sql new file mode 100644 index 00000000..60ea367f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_FD200BisDistribuzioneAssetClass_Modello.sql @@ -0,0 +1,15 @@ +create procedure [C6MartPeriodico].[PL_FD200BisDistribuzioneAssetClass_Modello] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @mia_chiaveptfmod int +SELECT + @mia_chiaveptfmod=ChiavePtfMod + FROM c6martperiodico.TB_FD200DistribuzioneAssetClass_PTFRibilanciato + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + select * from C6StagingPeriodico.RP_DistribuzionePtfModello_Tattici_AssetClass where chiavePtfMod=@mia_chiaveptfmod +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_FD25Anagrafica.sql b/sql/storedProduzione/C6MartPeriodico_PL_FD25Anagrafica.sql new file mode 100644 index 00000000..e294576e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_FD25Anagrafica.sql @@ -0,0 +1,32 @@ +CREATE procedure [C6MartPeriodico].[PL_FD25Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [Cliente] + ,[DatadiNascita] + ,[ETA] + ,[Professione] + ,[StatoCivile] + ,[NucleoFamiliare] + ,[Residenza] + ,[CodiceFiscale] + ,[CodicePB] + ,[CodiceRete] + ,[CodiceContratto] + ,[StatoContratto] + ,[DataSottoscrizione] + ,[DataPerfezionamento] + ,[FasciaCPP] + ,[IndirizzoEmail] + ,[ProduzioneReport] + ,[Indirizzo] + ,[CAP] + ,[Citta] + ,[Provincia] + ,[Nazione] + ,[PRESSO] + FROM [C6MartPeriodico].[TB_S25Anagrafica] + WHERE [CodiceRete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_FD43BISDettaglioProdottiBF.sql b/sql/storedProduzione/C6MartPeriodico_PL_FD43BISDettaglioProdottiBF.sql new file mode 100644 index 00000000..4b05e608 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_FD43BISDettaglioProdottiBF.sql @@ -0,0 +1,324 @@ +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] 'F', 'SPNTTR67T20F205D' +CREATE procedure [C6MartPeriodico].[PL_FD43BISDettaglioProdottiBF] --'F','MLNMSM71R16L682K' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +select * +into #patr_bf +from C6MartPeriodico.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale +update #patr_bf +set NOME_PROGETTO='Default' +where isnull(trim(NOME_PROGETTO),'') not like '%Direct EVO%' +SELECT +CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Rob'--when robo.isProgettoRobo='S' then 'Rob' + else 'ASF' + END AS needarea, + CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + --WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + --ELSE AREA.NOME_AREA + END AS needareades, +CASE + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + --ELSE AREA.ORDINAMENTO + -- WHEN robo.isProgettoRobo='S' THEN 1 + --ELSE 2 + WHEN ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 1 + ELSE 2 +END + AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + when isnull(trim(PATRBF.NOME_PROGETTO),'') not like '%Direct EVO%' then 'Default' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, +--Bido +--SUM(PATRBF.CTV ) OVER (PARTITION BY PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) AS somma_controval_needarea, +SUM(PATRBF.CTV ) OVER (PARTITION BY PATRBF.NOME_PROGETTO) AS somma_controval_needarea, +--SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) AS versato_needarea, +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY PATRBF.NOME_PROGETTO) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY robo.isProgettoRobo) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY robo.isProgettoRobo) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN + --SUM(PATRBF.CTV) OVER (PARTITION BY --robo.isProgettoRobo, + --PATRBF.NOME_PROGETTO, + --PATRBF.ordinamento_progetto) + --SUM(PATRBF.CTV) OVER (PARTITION BY PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + SUM(PATRBF.CTV) OVER (PARTITION BY PATRBF.NOME_PROGETTO)--, PATRBF.ordinamento_progetto) + AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY --robo.isProgettoRobo, + PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY robo.isProgettoRobo, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY robo.isProgettoRobo, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +case when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then RISCHIO_AGGR_AREA.VAR_PERC_PTF else '0.00' end AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --V THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +--TRINGALI + CASE + WHEN (ISNULL(RISCHIO_AGGR_PROG.copertura,100) < 100) + --v THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_need_progString, +--INIZIO INTERVENTI OMNIA QUIIIIIIII +--case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null +-- and patrbf.tipo_prodotto='CC' +-- and patrbf.id_area='liq') + --then + -- CASE WHEN patrbf.data_sottoscrizione>monatt.data_attivazione + -- THEN + -- dbo.TOSHORTDATESTRING(patrbf.data_sottoscrizione) + -- ELSE + -- CASE WHEN monatt.data_attivazione> '20110211' + -- then dbo.TOSHORTDATESTRING(monatt.data_attivazione) + -- ELSE dbo.TOSHORTDATESTRING('20110211') + -- END + -- END + -- END + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.id_area='liq' + and (patrbf.tipo_prodotto='CC' + or patrbf.isin in('EURO00000009', 'EURO10000007'))) + then dbo.TOSHORTDATESTRING(C6MartPeriodico.getTrimestre2(getdate(),0)) +--FINE INTERVENTI OMNIA + else +--disasteriscare + --dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) +--cancellare inizio + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.chiave_progetto = '2205396' + and patrbf.tipo_prodotto = 'FI') + then '26/06/2014' + else + isnull(dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE),'-') + end +--cancellare fine + end AS dataAssociazione, -- CAMBIATA TRINGALI--marianna, cambiata per i cc senza data di associazione +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.VERSATO_NETTO_DA_ASSOC,0) end AS VersatoNetto, +CASE WHEN (MONIT.VERSATO_NETTO_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as VersatoNettoString, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.UTILE_PERDITA_DA_ASSOC,0) END AS MinusPlusValenza, +CASE WHEN (MONIT.UTILE_PERDITA_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in ('EURO00000009', 'EURO10000007' )THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_PROD.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK is null THEN 'n.a.' + ELSE NULL + END as creditriskstring, +-- CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + --APC 103 -- Dicembre 2022 + apc.is_APC as isAPC, + case when patrbf.TIPO_PRODOTTO='CC' then 100 else 1 end as Ordinamento_Prodotto +FROM +#patr_bf PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + -- LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +--MODIFICA TRINGALI PER PRENDERE DETTAGLIO MONITORAGGIO +C6MartPeriodico.MONITORAGGIO_DETTAGLIO MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + --AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + and PATRBF.POSITION_ID=MONIT.POSITION_ID + --AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONATT +ON + PATRBF.RETE = MONATT.RETE + AND PATRBF.COD_FISCALE = MONATT.COD_FISCALE + AND + (PATRBF.ID_AREA=(CASE WHEN MONATT.ID_AREA='Exr' THEN 'Ext' ELSE MONATT.ID_AREA END) AND PATRBF.ID_AREA <> 'INV' + OR + PATRBF.ID_AREA = 'INV' AND PATRBF.ID_AREA = MONATT.ID_AREA AND PATRBF.ORDINAMENTO_PROGETTO = MONATT.ORDINAMENTO_PROGETTO + ) +--blocchiamo il monitoraggio per i progetti a ctv=0 + --And ctv_monitorato>0 + --aggiunta 18/12/2022 per APC103 +left join C6MartPeriodico.WSEICC apc +on + apc.RETE=PATRBF.RETE + and apc.cod_fiscale=patrbf.cod_fiscale + and PATRBF.ID_CONTRATTO = --apc.CODCONFPR + (case when PATRBF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) + --fine aggiunta 18/12/2022 per APC103 + left join C6StagingPeriodico.RP_Progetto_robo ROBO +on ROBO.chiaveprogetto=PATRBF.chiave_Progetto +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND ( PATRBF.CTV <> 0 + --E-DEFAULT4 per gestire l'esposizione dei prodotti con ctv = 0 delle banche in default - 18/1/2016 + or (PATRBF.tipo_prodotto = 'DT' and + PATRBF.cod_interno in ('08558830','08594680','04880930','04867780','03972990', + '04281500','04539780','04657780','04966850','04119400','04931400', + '04556320', + '04119600','04291890','04064530' +))) +ORDER BY + AREASORTORDER,Ordinamento_Prodotto, NOME_PROGETTO, PATRBF.CTV DESC -- modifica TRINGALI + --fine E-DEFAULT4 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_FD43DettaglioProdottiBF.sql b/sql/storedProduzione/C6MartPeriodico_PL_FD43DettaglioProdottiBF.sql new file mode 100644 index 00000000..4e3b3fb5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_FD43DettaglioProdottiBF.sql @@ -0,0 +1,264 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'BNDCRN60H52A181P' +-- [C6MartPeriodico].[PL_S43DettaglioProdottiBF] 'F','BNDCRN60H52A181P' +CREATE procedure [C6MartPeriodico].[PL_FD43DettaglioProdottiBF] --'F','MRLSLV83E60D912U' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +distinct +CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Rob'--when robo.isProgettoRobo='S' then 'Rob' + else 'ASF' + END AS needarea, + CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + --WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + --ELSE AREA.NOME_AREA + END AS needareades, +CASE + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + WHEN ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 1 + ELSE 2 + --ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE +--WHEN AREA.ID_AREA = 'Pre' THEN 'Default' +-- WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + -- 20161219 - mod per far uscire il nome progetto sulle risorse na +-- WHEN AREA.ID_AREA = 'Na' THEN 'Default' + when trim(PATRBF.NOME_PROGETTO) not like '%Direct EVO%' then 'Default' + -- fine 20161219 - mod per far uscire il nome progetto sulle risorse na + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY --AREA.ID_AREA, + PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + --APC dicembre 2022 + apc.is_APC as isAPC +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + --LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) + --aggiunta 18/12/2022 per APC103 +left join C6MartPeriodico.WSEICC apc +on + apc.RETE=PATRBF.RETE + and apc.cod_fiscale=patrbf.cod_fiscale + and PATRBF.ID_CONTRATTO = --apc.CODCONFPR + (case when PATRBF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) + --fine aggiunta 18/12/2022 per APC103 + left join C6StagingPeriodico.RP_Progetto_robo ROBO +on ROBO.chiaveprogetto=PATRBF.chiave_Progetto +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_PROGETTO,nome_progetto, PATRBF.CTV DESC +END +--select top 1 * from c6martperiodico.patrimonio_bf where tipo_prodotto = 'CC' +--select SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)),ANAG_CC.COD_CC +--from c6martperiodico.anag_cc \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_GetClientNegativeCurrentAccountsValue.sql b/sql/storedProduzione/C6MartPeriodico_PL_GetClientNegativeCurrentAccountsValue.sql new file mode 100644 index 00000000..bb67d79a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_GetClientNegativeCurrentAccountsValue.sql @@ -0,0 +1,29 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_GetClientNegativeCurrentAccountsValue] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodico].[PL_GetClientNegativeCurrentAccountsValue] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @PatrimonioBF DECIMAL(15,2) + -- Insert statements for procedure here + SELECT + --@PatrimonioBF = case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND ID_AREA = 'CC' + and CTV < 0 + --Return @PatrimonioBF +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_GetClientNegativeGPEligo.sql b/sql/storedProduzione/C6MartPeriodico_PL_GetClientNegativeGPEligo.sql new file mode 100644 index 00000000..c2cda9e9 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_GetClientNegativeGPEligo.sql @@ -0,0 +1,32 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_GetClientNegativeGPEligo] 'S','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodico].[PL_GetClientNegativeGPEligo] + @Rete char(1), + @CodiceFiscale varchar(16), + @Codsottoprodotto varchar(10) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + --CodInterno, + --case + --when Codsottoprodotto = 'L191' then '"GP Eligo Fondi"' + --when Codsottoprodotto = 'L192' then '"GP Eligo Titoli"' + --end as Descrizione, + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + LS.rete = @Rete + AND LS.codfis = @CodiceFiscale + AND LS.CodSottoprodotto = @Codsottoprodotto + AND Ls.codinterno = 'XY' + AND ctv < 0 + --group by CodInterno,codsottoprodotto +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_GetClientSelfNegCurrentAccountValue.sql b/sql/storedProduzione/C6MartPeriodico_PL_GetClientSelfNegCurrentAccountValue.sql new file mode 100644 index 00000000..408c7b39 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_GetClientSelfNegCurrentAccountValue.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_GetClientSelfNegCurrentAccountValue] 'S','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodico].[PL_GetClientSelfNegCurrentAccountValue] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --DECLARE @PatrimonioBF DECIMAL(15,2) + SELECT + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND ctv < 0 + --Return @PatrimonioBF +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_GetClientSelfNegative.sql b/sql/storedProduzione/C6MartPeriodico_PL_GetClientSelfNegative.sql new file mode 100644 index 00000000..1ed0bef2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_GetClientSelfNegative.sql @@ -0,0 +1,29 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_GetClientSelfNegative] 'S','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodico].[PL_GetClientSelfNegative] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + CodInterno, + case + when CodInterno = 'XY' then '"Linee GP Eligo"' + when CodInterno = 'FO' then '"IL MF - Liquidita"' + end as Descrizione, + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + LS.rete = @Rete + AND LS.codfis = @CodiceFiscale + AND ctv < 0 + group by CodInterno +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_Intermediari.sql b/sql/storedProduzione/C6MartPeriodico_PL_Intermediari.sql new file mode 100644 index 00000000..1ba1fc6a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_Intermediari.sql @@ -0,0 +1,27 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- DECLARE @num int +-- EXEC C6MartPeriodico.PL_Intermediari 'F', 'DLRGCM55A14A669Q' , @num OUTPUT +-- SELECT @num AS NumIntermediari +CREATE procedure [C6MartPeriodico].[PL_Intermediari] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16), + @numeroRighe as int OUTPUT +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET @numeroRighe = + (SELECT + COUNT(DISTINCT INTERMEDIARIO) + FROM C6MartPeriodico.PATRIMONIO_TERZI + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + ) + RETURN @numeroRighe +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_FD133BISPrincipaliProdotti.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_FD133BISPrincipaliProdotti.sql new file mode 100644 index 00000000..50f2a9ff --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_FD133BISPrincipaliProdotti.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Author: +-- Create date: <07/05/2013> +-- Description: +-- ============================================= +-- [C6martPeriodico].[PL_MP_S133BISPrincipaliProdotti] F,CLSPLA43D08H501B +CREATE procedure [C6MartPeriodico].[PL_MP_FD133BISPrincipaliProdotti] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT + ANAGPROD.DESCR_PRODOTTO AS descrProdotto + ,PATRBF.CTV AS Controvalore + ,CASE + WHEN patrbf.tipo_prodotto = 'CC' THEN 0.00 + ELSE isnull(RISCHIO_PROD.VAR_PERC_PTF,0.00) + END AS VaRprodotto + ,((CASE + WHEN ((PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100) is null then 0.00 + ELSE(PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100 + END) / (CASE + WHEN sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') = 0 THEN 1 + ELSE sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') + END))*100 as rischioRelativo + ,(PATRBF.CTV/(sum(PATRBF.CTV) over (partition by 'totale')))*100 AS pesoRelativo + ,PATRBF.ID_AREA AS codAreaBisogno + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO + INNER JOIN C6MartPeriodico.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.ordinamento_progetto as varchar),'') + '|' + WHEN LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END + + PATRBF.POSITION_ID + WHERE PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 + AND PATRBF.ID_AREA <> 'Cc' + ORDER BY rischioRelativo DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_FD134BISMonitoraggioLiqInv.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_FD134BISMonitoraggioLiqInv.sql new file mode 100644 index 00000000..64692186 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_FD134BISMonitoraggioLiqInv.sql @@ -0,0 +1,52 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S134BISMonitoraggioLiqInv] 'F','CNTGCR68T31D458G' +CREATE procedure [C6MartPeriodico].[PL_MP_FD134BISMonitoraggioLiqInv] --'F','LCNGNZ82P14H163B' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + 'Inv' AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE mon + --inner join C6StagingPeriodico.RP_Progetto_Robo robo + --on mon.ordinamento_progetto=robo.chiaveProgetto + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + and NOME_PROGETTO like '%Direct EVO%' + --and APPORTO_INIZIALE<>'0.00'--- aggiunta 20221219 per + UNION + SELECT + 'Inv', + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO st + --inner join C6StagingPeriodico.RP_Progetto_Robo robo + --on st.ordinamento_progetto=robo.chiaveProgetto + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + and NOME_PROGETTO like '%Direct EVO%' + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_FD134MonitoraggioLiquidita.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_FD134MonitoraggioLiquidita.sql new file mode 100644 index 00000000..ea511790 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_FD134MonitoraggioLiquidita.sql @@ -0,0 +1,78 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S134MonitoraggioLiquidita] 'F','CNTGCR68T31D458G' +CREATE procedure [C6MartPeriodico].[PL_MP_FD134MonitoraggioLiquidita] --'F','SMNLSN83B41C101E' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- DECLARE @RendimNonRappr BIT +SELECT + case when RENDIMNONRAPPR=1 then 1 else 0 end AS cf_rendim_non_rappr, + 'Inv' AS Need_Area, + CASE + WHEN MONIT.NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(MONIT.NOME_PROGETTO)) + END AS Nome_Progetto, + monit.ordinamento_progetto, + dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, + CTV_MONITORATO AS ControvaloreMonitorato, + APPORTO_INIZIALE AS ApportoIniziale, + APPORTO_SUCCESSIVO AS ApportoSuccessivo, + LIQUIDAZIONI, + CEDOLE_DIVIDENDI AS CedoleEDividendi, + MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, + RENDIMENTO_CUMULATO AS Rendimento_Attuale, + RISORSE_ASSOCIATE AS RisorseApportate, + dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, + RENDIMENTO_ANNUALIZZATO + FROM + C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT + LEFT OUTER JOIN + ( + SELECT + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end as NOME_PROGETTO, + patr_bf.ordinamento_progetto, + 1 as RENDIMNONRAPPR + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + LEFT OUTER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + WHERE + PATR_BF.RETE = @Rete + AND PATR_BF.COD_FISCALE = @CodiceFiscale + AND PATR_BF.REND_NON_RAPPR = 1 + group by + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end, + patr_bf.ordinamento_progetto + ) PATR_BF + ON PATR_BF.COD_FISCALE=MONIT.COD_FISCALE + AND PATR_BF.RETE= MONIT.RETE + AND left(PATR_BF.ID_AREA,3)=left(MONIT.ID_AREA,3) + AND isnull(PATR_BF.NOME_PROGETTO,'XXX')=isnull(MONIT.NOME_PROGETTO,'XXX') + And monit.ordinamento_progetto=patr_bf.ordinamento_progetto + -- inner join C6StagingPeriodico.RP_Progetto_Robo rob ON rob.chiaveProgetto=monit.ORDINAMENTO_PROGETTO + WHERE + MONIT.RETE = @Rete AND + MONIT.COD_FISCALE = @CodiceFiscale + and monit.NOME_PROGETTO like '%Direct EVO%' + -- and CTV_MONITORATO<>'0.00' -- aggiunta 20221219 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_FD147SintesiValute.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_FD147SintesiValute.sql new file mode 100644 index 00000000..6283acc9 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_FD147SintesiValute.sql @@ -0,0 +1,45 @@ +--[C6MartPeriodico].[PL_MP_FD147SintesiValute] 'F','PLKHNJ76R09H514E' +CREATE procedure [C6MartPeriodico].[PL_MP_FD147SintesiValute] +@Rete char(1), +@CodiceFiscale varchar(16) +as +begin +declare @ctvNoCoperto as decimal(18,3) +declare @ctvCoperto as decimal(18,3) +declare @copertura as decimal(18,3) +SELECT @ctvNoCoperto = isnull(sum(ctv),0) + FROM c6martperiodico.ANAG_PRODOTTI_VALUTE a + RIGHT JOIN c6martperiodico.patrimonio_bf c + ON a.cod_prodotto = c.cod_prodotto + WHERE + cod_fiscale = @CodiceFiscale + and rete = @Rete + and a.cod_prodotto is null + and id_area <> 'Cc' +select @copertura = (patrimonioSenzaCC - @ctvNoCoperto)/patrimonioSenzaCC , + @ctvCoperto = patrimonioSenzaCC - @ctvNoCoperto +from c6martperiodico.vPatrimonioBfAggregato +where + cod_fiscale = @CodiceFiscale + and rete = @Rete +--select @copertura +--FC 16/04/20104 +--Inserito controllo per evitare problemi di divid by zero nella select successiva +IF @ctvCoperto < 1 +begin + set @ctvCoperto =1 +End +SELECT + sum(peso*ctv) / @ctvCoperto as percentuale, + abs(sum(peso*ctv)) as valoreAssoluto, + a.Divisa, + @copertura as copertura +FROM c6martperiodico.ANAG_PRODOTTI_VALUTE a +join c6martperiodico.patrimonio_bf c +ON a.cod_prodotto = c.cod_prodotto +where + cod_fiscale = @CodiceFiscale + and rete = @Rete + group by a.Divisa +order by valoreAssoluto desc +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_FD148DistribuzioneAssetClass.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_FD148DistribuzioneAssetClass.sql new file mode 100644 index 00000000..334086ce --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_FD148DistribuzioneAssetClass.sql @@ -0,0 +1,18 @@ +CREATE procedure [C6MartPeriodico].[PL_MP_FD148DistribuzioneAssetClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [Banca] + ,[ORDINAMENTO] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S148DistribuzioneAssetClass] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_FD200DistribuzioneAssetClass_PTFRibilanciato.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_FD200DistribuzioneAssetClass_PTFRibilanciato.sql new file mode 100644 index 00000000..65d8fd40 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_FD200DistribuzioneAssetClass_PTFRibilanciato.sql @@ -0,0 +1,45 @@ +CREATE procedure [C6MartPeriodico].[PL_MP_FD200DistribuzioneAssetClass_PTFRibilanciato] --'F','VGNMRA68C64F205S' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT[Banca] + ,[Ordinamento] + ,[AssetClassId] + ,[AssetClassName] + ,chiaveptfmod + ,[Controvalore] + ,[Percentuale] + ,[Totale] + ,percentuale_modello + ,var_prog + into #ptf + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_FD200DistribuzioneAssetClass_PTFRibilanciato] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + declare @mia_chiaveptfmod int +SELECT + @mia_chiaveptfmod=ChiavePtfMod + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_FD200DistribuzioneAssetClass_PTFRibilanciato] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + select * + into #ptf_mod + from C6StagingPeriodico.RP_DistribuzionePtfModello_Tattici_AssetClass where chiavePtfMod=@mia_chiaveptfmod + select Banca,Ordinamento,AssetClassId,AssetClassName,ChiavePtfMod,Controvalore,Percentuale,Totale,Percentuale_Modello*100 as percentuale_modello,var_prog + into #tot + from #ptf + union all + select 'Fideuram',ordinamento,asset,descrizione,chiavePtfMod,NULL,0.00000,NULL,percentuale*100,NULL as var_prog from #ptf_mod where asset not in (select ASSETCLASSID from #ptf) + ORDER BY ORDINAMENTO + DECLARE @Totale [decimal](19, 5); + DECLARE @var_prog [decimal](19, 5); + SELECT @Totale = Totale, @var_prog = var_prog +FROM #ptf; + update #tot + set Totale=@Totale, var_prog=@var_prog + select * from #tot +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza.sql new file mode 100644 index 00000000..d67ef234 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza.sql @@ -0,0 +1,362 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] 'F', 'PVRPGS53C25G388A' +CREATE procedure [C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] --'S','FGGMSM57H28G999D' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT +/************* BF *****************/ + DECLARE @varPatrBF DECIMAL(12,2) + DECLARE @riskClassBF VARCHAR(50) + DECLARE @FLAGPROF varchar(16) + SET @FLAGPROF= (select distinct FLGPROF from C6MartPeriodico.WSEIAN2 where rete=@rete and CODFIS=@CodiceFiscale) + DECLARE @SCADUTO_PARZIALE varchar(16) + SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale +/* RECUPERO Rischio Mercaro e Rischio Credito BAnca Fideuram */ + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + SELECT + @varPatrBF = CASE WHEN (@contaPOS - @contaCC) = 0 THEN 0.00 + ELSE RISK_AGG.VAR_PERC_PTF + END, + @riskClassBF = RISK_AGG.CREDITRISK + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE ' Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale = @codiceFiscale + and rete= @rete + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE 'Patrimonio IW Private Inv.' END + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + left outer join C6MartPeriodico.COMPLESSITA cmp + on + CMP.COD_FISCALE=PATRBF.COD_FISCALE + AND + CMP.RETE=PATRBF.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + ) +------------------------ MIFID2 - MAGGIO 2018 + select @coperturaBF=copertura + from C6MartPeriodico.RISCHIO_AGGREGATO + -- modifica del 17/10/2018 - Va' preso il compleesivoBF come avviene nella d2_s170_RischioDiversificazione + --where cod_aggreg='complessivo' + where cod_aggreg='COMPLESSIVO|BF' + -- fine modifica del 17/10/2018 + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE + declare @limiteProfilo as int + -- modifica del 2/7/2018 - + --select @limiteProfilo = experience from C6MartPERIODICO.MIFID + select @limiteProfilo = experience from C6MartPERIODICO.MIFID where cod_fiscale = @CodiceFiscale + and rete= @Rete + -- fine modifica del 2/7/2018 - + declare @maxComplessita as int + DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim =c6martperiodico.getTrimestre(getDate(),0) + if @CodiceFiscale like '%FF@%' + select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2] + where + codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; commentata per MUA + else + select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2] + where + codfis= @CodiceFiscale + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; commentata per MUA +------------------------- FINE MIFID2 - MAGGIO 2018 +-- 2/7/2018 - CR NAPOLITANO CASI 11-14 -> Persona Giuridica Retail con Nuovo questionario di profilatura (Legali Rappresentanti/Delegati NON Profilati) +DECLARE @newLimiteProfilo varchar(20) +if ltrim(rtrim([C6MartPeriodico].[getIndicatoreValutazione] (@Rete,@CodiceFiscale,default))) = '-1' + set @newLimiteProfilo = 'n.d.' +else + select @newLimiteProfilo = + ( + case @limiteProfilo + when 0 then 'Minima' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + --when 5 then 'Alta' + else '-' + end + ) + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskclass, + @experience as experince, + @varPatrBF as varPatrimonioBF, + @riskClassBF as riskClassBF, +------------------------ MIFID2 - MAGGIO 2018 + case when @SCADUTO_PARZIALE='P' then '-' + when @FLAGPROF='S' then 'n.a.' + else @newLimiteProfilo end as LimiteComplessitaProfilo, + case @maxComplessita + when 0 then 'Minima' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + --when 5 then 'Alta' + end as LimiteComplessitaPatrimonio +------------------------- FINE MIFID2 - MAGGIO 2018 +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] Script Date: 09/02/2022 11:59:17 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +----[C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] 's', 'GRTDNL49D01I531Z' +--ALTER procedure [C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +-- DECLARE @varBF DECIMAL(12,2) +-- DECLARE @coperturaBF DECIMAL(12,2) +-- DECLARE @codiceProfilo SMALLINT +-- DECLARE @dataProfilo DATETIME +-- DECLARE @varProfilo DECIMAL(5,2) +-- DECLARE @nomeProfilo VARCHAR(50) +-- DECLARE @riskclass VARCHAR(50) +-- DECLARE @experience SMALLINT +--/************* BF *****************/ +-- DECLARE @varPatrBF DECIMAL(12,2) +-- DECLARE @riskClassBF VARCHAR(50) +-- SELECT +-- @codiceProfilo = M.PROFILO_ASS, +-- @dataProfilo = M.DATA_INIZIO_VAL, +-- @varProfilo = CR.MAX_VAR, +-- @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, +-- @riskclass = m.riskclass, +-- @experience = m.experience +-- FROM +-- C6MartPERIODICO.MIFID AS M +-- INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio +-- ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO +-- WHERE +-- M.RETE = @Rete AND +-- M.COD_FISCALE = @CodiceFiscale +--/* RECUPERO Rischio Mercaro e Rischio Credito BAnca Fideuram */ +-- declare @contaCC as int +-- select @contaCC = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete +-- declare @contaPOS as int +-- select @contaPOS = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where cod_fiscale = @codiceFiscale and rete = @rete +-- SELECT +-- @varPatrBF = CASE WHEN (@contaPOS - @contaCC) = 0 THEN 0.00 +-- ELSE RISK_AGG.VAR_PERC_PTF +-- END, +-- @riskClassBF = RISK_AGG.CREDITRISK +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, +-- SUM(PATRBF.CTV) AS CTV +-- from +-- c6martperiodico.patrimonio_bf PATRBF +-- where +-- 1=1 +-- and cod_fiscale = @codiceFiscale +-- and rete= @rete +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END +-- ) PATRBF +-- LEFT OUTER JOIN +-- c6martperiodico.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- left outer join C6MartPeriodico.COMPLESSITA cmp +-- on +-- CMP.COD_FISCALE=PATRBF.COD_FISCALE +-- AND +-- CMP.RETE=PATRBF.RETE +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' +-- ) +-------------------------- MIFID2 - MAGGIO 2018 +-- select @coperturaBF=copertura +-- from C6MartPeriodico.RISCHIO_AGGREGATO +-- -- modifica del 17/10/2018 - Va' preso il compleesivoBF come avviene nella d2_s170_RischioDiversificazione +-- --where cod_aggreg='complessivo' +-- where cod_aggreg='COMPLESSIVO|BF' +-- -- fine modifica del 17/10/2018 +-- AND COD_FISCALE = @COdiceFISCALE +-- and RETE= @RETE +-- declare @limiteProfilo as int +-- -- modifica del 2/7/2018 - +-- --select @limiteProfilo = experience from C6MartPERIODICO.MIFID +-- select @limiteProfilo = experience from C6MartPERIODICO.MIFID where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- -- fine modifica del 2/7/2018 - +-- declare @maxComplessita as int +-- DECLARE @DataFineTrim VARCHAR(8) +-- SET @DataFineTrim =c6martperiodico.getTrimestre2(getDate(),0) +-- if @CodiceFiscale like '%FF@%' +-- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD2] +-- where +-- codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- and rete= @Rete +-- and DTTRIM = @DataFineTrim +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10; +-- else +-- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD2] +-- where +-- codfis= @CodiceFiscale +-- and rete= @Rete +-- and DTTRIM = @DataFineTrim +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10; +--------------------------- FINE MIFID2 - MAGGIO 2018 +---- 2/7/2018 - CR NAPOLITANO CASI 11-14 -> Persona Giuridica Retail con Nuovo questionario di profilatura (Legali Rappresentanti/Delegati NON Profilati) +--DECLARE @newLimiteProfilo varchar(20) +--if ltrim(rtrim([C6MartPeriodico].[getIndicatoreValutazione] (@Rete,@CodiceFiscale,default))) = '-1' +-- set @newLimiteProfilo = 'n.d.' +--else +-- select @newLimiteProfilo = +-- ( +-- case @limiteProfilo +-- when 0 then '-' +-- when 1 then 'Minima' +-- when 2 then 'Bassa' +-- when 3 then 'Media' +-- when 4 then 'Alta' +-- when 5 then 'Molto alta' +-- else '-' +-- end +-- ) +-- SELECT +-- @codiceProfilo as codiceProfilo, +-- DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, +-- @varProfilo as varMassimo, +-- ISNULL(@varBF,0) as varBF, +-- ISNULL(@coperturaBF,0) as coperturaBF, +-- @nomeProfilo as nomeProfilo, +-- @riskclass as riskclass, +-- @experience as experince, +-- @varPatrBF as varPatrimonioBF, +-- @riskClassBF as riskClassBF, +-------------------------- MIFID2 - MAGGIO 2018 +-- @newLimiteProfilo as LimiteComplessitaProfilo, +-- case @maxComplessita +-- when 0 then '-' +-- when 1 then 'Minima' +-- when 2 then 'Bassa' +-- when 3 then 'Media' +-- when 4 then 'Alta' +-- when 5 then 'Molto alta' +-- else '-' +-- end as LimiteComplessitaPatrimonio +--------------------------- FINE MIFID2 - MAGGIO 2018 +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza_BKP_PRE_RAFFORZAMENTO.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza_BKP_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..0cb4b4da --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza_BKP_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,359 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] 's', 'GRTDNL49D01I531Z' +CREATE procedure [C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza_BKP_PRE_RAFFORZAMENTO] --'S','FGGMSM57H28G999D' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT +/************* BF *****************/ + DECLARE @varPatrBF DECIMAL(12,2) + DECLARE @riskClassBF VARCHAR(50) + DECLARE @FLAGPROF varchar(16) +SET @FLAGPROF= (select distinct FLGPROF from C6MartPeriodico.WSEIAN2 where rete=@rete and CODFIS=@CodiceFiscale) + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale +/* RECUPERO Rischio Mercaro e Rischio Credito BAnca Fideuram */ + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + SELECT + @varPatrBF = CASE WHEN (@contaPOS - @contaCC) = 0 THEN 0.00 + ELSE RISK_AGG.VAR_PERC_PTF + END, + @riskClassBF = RISK_AGG.CREDITRISK + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE ' Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale = @codiceFiscale + and rete= @rete + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE 'Patrimonio IW Private Inv.' END + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + left outer join C6MartPeriodico.COMPLESSITA cmp + on + CMP.COD_FISCALE=PATRBF.COD_FISCALE + AND + CMP.RETE=PATRBF.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + ) +------------------------ MIFID2 - MAGGIO 2018 + select @coperturaBF=copertura + from C6MartPeriodico.RISCHIO_AGGREGATO + -- modifica del 17/10/2018 - Va' preso il compleesivoBF come avviene nella d2_s170_RischioDiversificazione + --where cod_aggreg='complessivo' + where cod_aggreg='COMPLESSIVO|BF' + -- fine modifica del 17/10/2018 + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE + declare @limiteProfilo as int + -- modifica del 2/7/2018 - + --select @limiteProfilo = experience from C6MartPERIODICO.MIFID + select @limiteProfilo = experience from C6MartPERIODICO.MIFID where cod_fiscale = @CodiceFiscale + and rete= @Rete + -- fine modifica del 2/7/2018 - + declare @maxComplessita as int + DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim =c6martperiodico.getTrimestre(getDate(),0) + if @CodiceFiscale like '%FF@%' + select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2] + where + codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; commentata per MUA + else + select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2] + where + codfis= @CodiceFiscale + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; commentata per MUA +------------------------- FINE MIFID2 - MAGGIO 2018 +-- 2/7/2018 - CR NAPOLITANO CASI 11-14 -> Persona Giuridica Retail con Nuovo questionario di profilatura (Legali Rappresentanti/Delegati NON Profilati) +DECLARE @newLimiteProfilo varchar(20) +if ltrim(rtrim([C6MartPeriodico].[getIndicatoreValutazione] (@Rete,@CodiceFiscale,default))) = '-1' + set @newLimiteProfilo = 'n.d.' +else + select @newLimiteProfilo = + ( + case @limiteProfilo + when 0 then 'Minima' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + --when 5 then 'Alta' + else '-' + end + ) + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskclass, + @experience as experince, + @varPatrBF as varPatrimonioBF, + @riskClassBF as riskClassBF, +------------------------ MIFID2 - MAGGIO 2018 + case when @FLAGPROF='S' then 'n.a.' else @newLimiteProfilo end as LimiteComplessitaProfilo, + case @maxComplessita + when 0 then 'Minima' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + --when 5 then 'Alta' + else '-' + end as LimiteComplessitaPatrimonio +------------------------- FINE MIFID2 - MAGGIO 2018 +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] Script Date: 09/02/2022 11:59:17 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +----[C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] 's', 'GRTDNL49D01I531Z' +--ALTER procedure [C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +-- DECLARE @varBF DECIMAL(12,2) +-- DECLARE @coperturaBF DECIMAL(12,2) +-- DECLARE @codiceProfilo SMALLINT +-- DECLARE @dataProfilo DATETIME +-- DECLARE @varProfilo DECIMAL(5,2) +-- DECLARE @nomeProfilo VARCHAR(50) +-- DECLARE @riskclass VARCHAR(50) +-- DECLARE @experience SMALLINT +--/************* BF *****************/ +-- DECLARE @varPatrBF DECIMAL(12,2) +-- DECLARE @riskClassBF VARCHAR(50) +-- SELECT +-- @codiceProfilo = M.PROFILO_ASS, +-- @dataProfilo = M.DATA_INIZIO_VAL, +-- @varProfilo = CR.MAX_VAR, +-- @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, +-- @riskclass = m.riskclass, +-- @experience = m.experience +-- FROM +-- C6MartPERIODICO.MIFID AS M +-- INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio +-- ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO +-- WHERE +-- M.RETE = @Rete AND +-- M.COD_FISCALE = @CodiceFiscale +--/* RECUPERO Rischio Mercaro e Rischio Credito BAnca Fideuram */ +-- declare @contaCC as int +-- select @contaCC = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete +-- declare @contaPOS as int +-- select @contaPOS = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where cod_fiscale = @codiceFiscale and rete = @rete +-- SELECT +-- @varPatrBF = CASE WHEN (@contaPOS - @contaCC) = 0 THEN 0.00 +-- ELSE RISK_AGG.VAR_PERC_PTF +-- END, +-- @riskClassBF = RISK_AGG.CREDITRISK +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, +-- SUM(PATRBF.CTV) AS CTV +-- from +-- c6martperiodico.patrimonio_bf PATRBF +-- where +-- 1=1 +-- and cod_fiscale = @codiceFiscale +-- and rete= @rete +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END +-- ) PATRBF +-- LEFT OUTER JOIN +-- c6martperiodico.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- left outer join C6MartPeriodico.COMPLESSITA cmp +-- on +-- CMP.COD_FISCALE=PATRBF.COD_FISCALE +-- AND +-- CMP.RETE=PATRBF.RETE +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' +-- ) +-------------------------- MIFID2 - MAGGIO 2018 +-- select @coperturaBF=copertura +-- from C6MartPeriodico.RISCHIO_AGGREGATO +-- -- modifica del 17/10/2018 - Va' preso il compleesivoBF come avviene nella d2_s170_RischioDiversificazione +-- --where cod_aggreg='complessivo' +-- where cod_aggreg='COMPLESSIVO|BF' +-- -- fine modifica del 17/10/2018 +-- AND COD_FISCALE = @COdiceFISCALE +-- and RETE= @RETE +-- declare @limiteProfilo as int +-- -- modifica del 2/7/2018 - +-- --select @limiteProfilo = experience from C6MartPERIODICO.MIFID +-- select @limiteProfilo = experience from C6MartPERIODICO.MIFID where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- -- fine modifica del 2/7/2018 - +-- declare @maxComplessita as int +-- DECLARE @DataFineTrim VARCHAR(8) +-- SET @DataFineTrim =c6martperiodico.getTrimestre2(getDate(),0) +-- if @CodiceFiscale like '%FF@%' +-- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD2] +-- where +-- codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- and rete= @Rete +-- and DTTRIM = @DataFineTrim +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10; +-- else +-- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD2] +-- where +-- codfis= @CodiceFiscale +-- and rete= @Rete +-- and DTTRIM = @DataFineTrim +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10; +--------------------------- FINE MIFID2 - MAGGIO 2018 +---- 2/7/2018 - CR NAPOLITANO CASI 11-14 -> Persona Giuridica Retail con Nuovo questionario di profilatura (Legali Rappresentanti/Delegati NON Profilati) +--DECLARE @newLimiteProfilo varchar(20) +--if ltrim(rtrim([C6MartPeriodico].[getIndicatoreValutazione] (@Rete,@CodiceFiscale,default))) = '-1' +-- set @newLimiteProfilo = 'n.d.' +--else +-- select @newLimiteProfilo = +-- ( +-- case @limiteProfilo +-- when 0 then '-' +-- when 1 then 'Minima' +-- when 2 then 'Bassa' +-- when 3 then 'Media' +-- when 4 then 'Alta' +-- when 5 then 'Molto alta' +-- else '-' +-- end +-- ) +-- SELECT +-- @codiceProfilo as codiceProfilo, +-- DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, +-- @varProfilo as varMassimo, +-- ISNULL(@varBF,0) as varBF, +-- ISNULL(@coperturaBF,0) as coperturaBF, +-- @nomeProfilo as nomeProfilo, +-- @riskclass as riskclass, +-- @experience as experince, +-- @varPatrBF as varPatrimonioBF, +-- @riskClassBF as riskClassBF, +-------------------------- MIFID2 - MAGGIO 2018 +-- @newLimiteProfilo as LimiteComplessitaProfilo, +-- case @maxComplessita +-- when 0 then '-' +-- when 1 then 'Minima' +-- when 2 then 'Bassa' +-- when 3 then 'Media' +-- when 4 then 'Alta' +-- when 5 then 'Molto alta' +-- else '-' +-- end as LimiteComplessitaPatrimonio +--------------------------- FINE MIFID2 - MAGGIO 2018 +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S129Patrimonio.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S129Patrimonio.sql new file mode 100644 index 00000000..1387c90a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S129Patrimonio.sql @@ -0,0 +1,29 @@ +CREATE procedure [C6MartPeriodico].[PL_MP_S129Patrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS129] DettMov + ,[NumeroAsterischiNota] + ,sommaproventi + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] + WHERE [Rete] = @Rete + AND [Cod_Fiscale] = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S129Patrimonio_BkUpParall.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S129Patrimonio_BkUpParall.sql new file mode 100644 index 00000000..6b857e9f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S129Patrimonio_BkUpParall.sql @@ -0,0 +1,275 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_MP_S129Patrimonio] 'S','VNDMRZ60L23G702B' +CREATE procedure [C6MartPeriodico].[PL_MP_S129Patrimonio_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + DECLARE @SommaProventi money + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + -- Inserimento Dati Scirocco + --SELECT @DettMovPrec = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM < '20111231' + SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_TRIMESTRE_PREC + --modifica rleboffe 20130617 + --@DettMovCorr = DETT_MOV_CORR + FROM C6MartPeriodico.DettaglioMovimenti + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale + --SELECT @DettMovCorr = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM = '20111231' + IF @DettMovPrec is null + SET @AppoDettMovPrec = 'n.d.' + ELSE + SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + IF @DettMovCorr is null + SET @AppoDettMovCorr = 'n.d.' + ELSE + SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + --query per asterischi situazione precedente + IF EXISTS(SELECT * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICS] + WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + AND RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + ----------------------------------------- + --query per asterischi situazione corrente + IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + WHERE COD_INTERNO IN ('37', 'GP') + AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + SET @NumAsterischiCorr = 1 + ----------------------------------------- + SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) + BEGIN + -- Attivazione monitoraggio +--versione nuova da testare +--select @SommaProventi= sum(IMPORTO) +--from [C6StagingPeriodico].[WSEIPR] +--WHERE Rete = @Rete +-- AND codfis = @CodiceFiscale +SELECT @SommaProventi= sum(IMPORTO) + FROM [C6MartPeriodico].proventi + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + INI.CTV_EXT, + INI.CTV_INV, + INI.CTV_PRE, + INI.CTV_RIS, + INI.CTV_LIQ, + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ AS RisorseAllocate, + INI.CTV_NA AS RisorseNonAllocate, + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA AS RisorseFinanziarie, + INI.CTV_CC AS Contocorrente, +--INIZIO INTERVENTI OMNIA + INI.ctvself AS ctvself, + --Contocorrente = CASE WHEN CAST(INI.CTV_CC AS NUMERIC(20,4)) < 0 THEN INI.CTV_CC ELSE 0 END, +-- INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + INI.CTV_CC + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + INI.CTV_CC + ISNULL(INI.ctvself,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + (CASE WHEN CAST(INI.CTV_CC AS NUMERIC(20,4)) < 0 THEN INI.CTV_CC ELSE 0 END) AS TotalePatrimonio + --INI.CTV_TOTALE AS ControvaloreComplessivo + ,null as DettMov + ,0 as NumeroAsterischiNota + ,@SommaProventi as SommaProventi + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.RETE = @Rete AND + INI.COD_FISCALE = @CodiceFiscale + --AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,'2999-12-31') + UNION ALL + -- Precedente invio report + SELECT + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + rep.CTV_EXT, + rep.CTV_INV, + rep.CTV_PRE, + rep.CTV_RIS, + rep.CTV_LIQ, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ AS RisorseAllocate, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA AS RisorseFinanziarie, + rep.CTV_CC AS Contocorrente, +--INIZIO INTERVENTI OMNIA + rep.CTV_SELF AS ctvself, + --Contocorrente = CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END, +-- rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.CTV_SELF,0) + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + (CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END) AS TotalePatrimonio + --CTV_TOTALE AS ControvaloreComplessivo + ,(CASE WHEN @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovPrec END) as DettMov + --,(CASE WHEN @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiPrec END) as NumeroAsterischiNota + ,0 as NumeroAsterischiNota + ,@SommaProventi as SommaProventi + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + rep.RETE = @Rete AND + rep.COD_FISCALE = @CodiceFiscale + AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + --All values will be read from DB and passed to code, no value will be calculated on code + SELECT + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + --Get the sum Operazioni in corso + --sum((isnull(IMPORTO,0))) as Partita_viaggiante, + 0 as Partita_viaggiante, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) as CTV_EXT, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) as CTV_INV, + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) as CTV_PRE, + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end ) as CTV_PRE, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) as CTV_RIS, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) as CTV_LIQ, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS CTV_RA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as CTV_NA, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS CTV_RF, + --CTV_CC = (Case WHEN sum(case Upper(id_area) when 'CC' then ctv else 0 end ) < 0 THEN sum(case Upper(id_area) when 'CC' then ctv else 0 end) ELSE 0 END), + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS CTV_CC, + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS CTV_CC, +--INIZIO INTERVENTI OMNIA + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS ctvself, +--FINE INTERVENTI OMNIA + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end )+ + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) + +--INIZIO INTERVENTI OMNIA +-- sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS TotalePatrimonio + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) + + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --sum((isnull(IMPORTO,0))) AS TotalePatrimonio + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS TotalePatrimonio + --SUM(CTV) as ControvaloreComplessivo + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + ,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiCorr END) as NumeroAsterischiNota + ,0 as NumeroAsterischiNota + ,@SommaProventi as SommaProventi + --,'1' as NumeroAsterischiNota + FROM + C6MartPeriodico.PATRIMONIO_BF +-- AS BF Left Join C6MartPeriodico.partite_viaggianti AS PV +-- ON BF.RETE = PV.RETE +-- AND BF.COD_FISCALE = PV.COD_FISCALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +END +ELSE +BEGIN + SELECT + 1 AS Fase, + DATA_FOTO AS DataFase, + ISNULL(PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + CTV_EXT, + CTV_INV, + CTV_PRE, + CTV_RIS, + CTV_LIQ, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ AS RisorseAllocate, + CTV_NA AS RisorseNonAllocate, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA AS RisorseFinanziarie, + CTV_CC AS Contocorrente, +--INIZIO INTERVENTI OMNIA + CTVself AS ctvself, +-- CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + CTV_CC AS TotalePatrimonio + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + CTV_CC + ctvself AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --CTV_TOTALE AS ControvaloreComplessivo + FROM + MONITORAGGIO_INIZIALE + WHERE + 1=2 +END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S129Patrimonio_bkp_fc.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S129Patrimonio_bkp_fc.sql new file mode 100644 index 00000000..34924949 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S129Patrimonio_bkp_fc.sql @@ -0,0 +1,275 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_MP_S129Patrimonio] 'S','VNDMRZ60L23G702B' +CREATE procedure [C6MartPeriodico].[PL_MP_S129Patrimonio_bkp_fc] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + DECLARE @SommaProventi money + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + -- Inserimento Dati Scirocco + --SELECT @DettMovPrec = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM < '20111231' + SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_TRIMESTRE_PREC + --modifica rleboffe 20130617 + --@DettMovCorr = DETT_MOV_CORR + FROM C6MartPeriodico.DettaglioMovimenti + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale + --SELECT @DettMovCorr = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM = '20111231' + IF @DettMovPrec is null + SET @AppoDettMovPrec = 'n.d.' + ELSE + SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + IF @DettMovCorr is null + SET @AppoDettMovCorr = 'n.d.' + ELSE + SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + --query per asterischi situazione precedente + IF EXISTS(SELECT * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICS] + WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + AND RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + ----------------------------------------- + --query per asterischi situazione corrente + IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + WHERE COD_INTERNO IN ('37', 'GP') + AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + SET @NumAsterischiCorr = 1 + ----------------------------------------- + SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) + BEGIN + -- Attivazione monitoraggio +--versione nuova da testare +--select @SommaProventi= sum(IMPORTO) +--from [C6StagingPeriodico].[WSEIPR] +--WHERE Rete = @Rete +-- AND codfis = @CodiceFiscale +SELECT @SommaProventi= sum(IMPORTO) + FROM [C6MartPeriodico].proventi + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + INI.CTV_EXT, + INI.CTV_INV, + INI.CTV_PRE, + INI.CTV_RIS, + INI.CTV_LIQ, + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ AS RisorseAllocate, + INI.CTV_NA AS RisorseNonAllocate, + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA AS RisorseFinanziarie, + INI.CTV_CC AS Contocorrente, +--INIZIO INTERVENTI OMNIA + INI.ctvself AS ctvself, + --Contocorrente = CASE WHEN CAST(INI.CTV_CC AS NUMERIC(20,4)) < 0 THEN INI.CTV_CC ELSE 0 END, +-- INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + INI.CTV_CC + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + INI.CTV_CC + ISNULL(INI.ctvself,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + (CASE WHEN CAST(INI.CTV_CC AS NUMERIC(20,4)) < 0 THEN INI.CTV_CC ELSE 0 END) AS TotalePatrimonio + --INI.CTV_TOTALE AS ControvaloreComplessivo + ,null as DettMov + ,0 as NumeroAsterischiNota + ,@SommaProventi as SommaProventi + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.RETE = @Rete AND + INI.COD_FISCALE = @CodiceFiscale + --AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,'2999-12-31') + UNION ALL + -- Precedente invio report + SELECT + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + rep.CTV_EXT, + rep.CTV_INV, + rep.CTV_PRE, + rep.CTV_RIS, + rep.CTV_LIQ, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ AS RisorseAllocate, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA AS RisorseFinanziarie, + rep.CTV_CC AS Contocorrente, +--INIZIO INTERVENTI OMNIA + rep.CTV_SELF AS ctvself, + --Contocorrente = CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END, +-- rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.CTV_SELF,0) + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + (CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END) AS TotalePatrimonio + --CTV_TOTALE AS ControvaloreComplessivo + ,(CASE WHEN @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovPrec END) as DettMov + --,(CASE WHEN @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiPrec END) as NumeroAsterischiNota + ,0 as NumeroAsterischiNota + ,@SommaProventi as SommaProventi + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + rep.RETE = @Rete AND + rep.COD_FISCALE = @CodiceFiscale + AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + --All values will be read from DB and passed to code, no value will be calculated on code + SELECT + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + --Get the sum Operazioni in corso + --sum((isnull(IMPORTO,0))) as Partita_viaggiante, + 0 as Partita_viaggiante, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) as CTV_EXT, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) as CTV_INV, + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) as CTV_PRE, + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end ) as CTV_PRE, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) as CTV_RIS, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) as CTV_LIQ, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS CTV_RA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as CTV_NA, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS CTV_RF, + --CTV_CC = (Case WHEN sum(case Upper(id_area) when 'CC' then ctv else 0 end ) < 0 THEN sum(case Upper(id_area) when 'CC' then ctv else 0 end) ELSE 0 END), + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS CTV_CC, + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS CTV_CC, +--INIZIO INTERVENTI OMNIA + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS ctvself, +--FINE INTERVENTI OMNIA + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end )+ + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) + +--INIZIO INTERVENTI OMNIA +-- sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS TotalePatrimonio + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) + + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --sum((isnull(IMPORTO,0))) AS TotalePatrimonio + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS TotalePatrimonio + --SUM(CTV) as ControvaloreComplessivo + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + ,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiCorr END) as NumeroAsterischiNota + ,0 as NumeroAsterischiNota + ,@SommaProventi as SommaProventi + --,'1' as NumeroAsterischiNota + FROM + C6MartPeriodico.PATRIMONIO_BF +-- AS BF Left Join C6MartPeriodico.partite_viaggianti AS PV +-- ON BF.RETE = PV.RETE +-- AND BF.COD_FISCALE = PV.COD_FISCALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +END +ELSE +BEGIN + SELECT + 1 AS Fase, + DATA_FOTO AS DataFase, + ISNULL(PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + CTV_EXT, + CTV_INV, + CTV_PRE, + CTV_RIS, + CTV_LIQ, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ AS RisorseAllocate, + CTV_NA AS RisorseNonAllocate, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA AS RisorseFinanziarie, + CTV_CC AS Contocorrente, +--INIZIO INTERVENTI OMNIA + CTVself AS ctvself, +-- CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + CTV_CC AS TotalePatrimonio + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + CTV_CC + ctvself AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --CTV_TOTALE AS ControvaloreComplessivo + FROM + MONITORAGGIO_INIZIALE + WHERE + 1=2 +END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S130PrincipaliPosizioni.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S130PrincipaliPosizioni.sql new file mode 100644 index 00000000..e97291c6 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S130PrincipaliPosizioni.sql @@ -0,0 +1,41 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6martPeriodico].PL_MP_S130PrincipaliPosizioni 'F','GSTGPL59P03B586G' +CREATE procedure [C6MartPeriodico].[PL_MP_S130PrincipaliPosizioni] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +select top 3 ANAGPROD.DESCR_PRODOTTO as Prodotto, +CAST ((PATRBF.CTV) AS DECIMAL (12,2)) AS Controvalore, +CAST(((PATRBF.CTV/(select distinct sum(PATRBF.CTV) +from C6MartPeriodico.PATRIMONIO_BF PATRBF +where PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale +--INIZIO INTRVENTI OMNIA +--AND PATRBF.ID_AREA <> 'Cc'))*100) AS DECIMAL (12,2)) as PesoRelativo + AND PATRBF.ID_AREA not in ('Cc','self')))*100) AS DECIMAL (12,2)) as PesoRelativo +--FINE INTRVENTI OMNIA +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +WHERE PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +--INIZIO INTRVENTI OMNIA +-- AND PATRBF.ID_AREA <> 'Cc' + AND PATRBF.ID_AREA not in ('Cc','self') +--FINE INTRVENTI OMNIA +ORDER BY +Controvalore desc +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S131ContributoARischio.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S131ContributoARischio.sql new file mode 100644 index 00000000..19b7af20 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S131ContributoARischio.sql @@ -0,0 +1,70 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6martPeriodico].[PL_MP_S131ContributoARischio] F,BRZGLI88S43F839A +CREATE procedure [C6MartPeriodico].[PL_MP_S131ContributoARischio] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT +top 3 ANAGPROD.DESCR_PRODOTTO as descrizioneProdotto, +PATRBF.CTV AS controvalore, +case when (patrbf.tipo_prodotto ='CC') then 0.00 + else RISCHIO_PROD.VAR_PERC_PTF +end AS rischioMercato, +( + ( + case + when ((PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100) is null then 0.00 + ELSE (PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100 + END + ) +/ + ( + case + when (sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0) )/100) over (partition by 'totale')) =0 then 1 + else sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0) )/100) over (partition by 'totale') + end + ) +) +* +100 +as rischioRelativo +--Controvalore prodotto * VaR% prodotto +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.ordinamento_progetto as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END + + PATRBF.POSITION_ID +WHERE PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY +rischioRelativo desc +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza.sql new file mode 100644 index 00000000..2a8a3e90 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza.sql @@ -0,0 +1,30 @@ +CREATE procedure [C6MartPeriodico].[PL_MP_S132ProfiloRischioAdeguatezza] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [RETE] + ,[COD_FISCALE] + ,[INSTITUTENAME] + ,[CTV] + ,[CODICEPROFILO] + ,[DATAINIZIOVALIDITA] + ,[VARMAX] + ,[NOMEPROFILO] + ,[VAR] + ,[VARSTRING] + ,[RISKCLASS] + ,[RISKCLASSSTRING] + ,[COVERAGE] + ,[COVERAGESTRING] + ,[RISKCLASSMAX] + ,[PERCENTAGE] + ,[VarIsOk] + ,[RiskClassIsOk] + ,[ComplexityIsOk] + ,[Ully_perc] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S132ProfiloRischioAdeguatezza] + WHERE [RETE] = @Rete + AND [COD_FISCALE] = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza_BkUpParall.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza_BkUpParall.sql new file mode 100644 index 00000000..4a5860b7 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza_BkUpParall.sql @@ -0,0 +1,152 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6martPeriodico].[PL_MP_S132ProfiloRischioAdeguatezza]F,BRZGLI88S43F839A +CREATE procedure [C6MartPeriodico].[PL_MP_S132ProfiloRischioAdeguatezza_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- DECLARE @varBF DECIMAL(12,2) +-- DECLARE @coperturaBF DECIMAL(12,2) +-- DECLARE @codiceProfilo SMALLINT +-- DECLARE @dataProfilo DATETIME +-- DECLARE @varProfilo DECIMAL(5,2) +-- DECLARE @nomeProfilo VARCHAR(50) +-- DECLARE @riskclass VARCHAR(50) +-- DECLARE @experience SMALLINT +-- +-- +-- SELECT +-- @codiceProfilo = M.PROFILO_ASS, +-- @dataProfilo = M.DATA_INIZIO_VAL, +-- @varProfilo = CR.MAX_VAR, +-- @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, +-- @riskclass = m.riskclass, +-- @experience = m.experience +-- FROM +-- C6MartPERIODICO.MIFID AS M +-- INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio +-- ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO +-- WHERE +-- M.RETE = @Rete AND +-- M.COD_FISCALE = @CodiceFiscale +-- +-- SELECT +-- @codiceProfilo as codiceProfilo, +-- DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, +-- @varProfilo as varMassimo, +-- ISNULL(@varBF,0) as varBF, +-- ISNULL(@coperturaBF,0) as coperturaBF, +-- @nomeProfilo as nomeProfilo, +-- @riskclass as riskclass, +-- @experience as experince + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, +--CONVERT(DATETIME,M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + DBO.TOSHORTDATESTRING(M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + CR.MAX_VAR AS VARMAX, + ProfiliDiRischio.NOMEPROFILO as NOMEPROFILO, + --V Imposizione VaR a 0 nel caso di presenza di solo cc + CASE + WHEN (@contaPOS - @contaCC) = 0 THEN 0.00 + ELSE RISK_AGG.VAR_PERC_PTF + END AS VAR, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 AND (@contaPOS - @contaCC) <> 0 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.a.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + CASE + WHEN (@contaPOS - @contaCC) = 0 THEN 100 + ELSE ISNULL(RISK_AGG.COPERTURA,0.00) + END AS COVERAGE, +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE + NULL AS COVERAGESTRING, + --V changed from string value (descrizione) to the numeric (profilo) + M.RISKCLASS AS RISKCLASSMAX, + (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI-CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) + END ) + *100 AS PERCENTAGE, + case when RISK_AGG.VAR_PERC_PTF > CR.MAX_VAR then 0 else 1 end as VarIsOk, + case when isnull(RISK_AGG.CREDITRISK,0) > Ck.PROFILO then 0 else 1 end as RiskClassIsOk, + CASE WHEN CMP.COMPLESSITA > M.EXPERIENCE THEN 0 ELSE 1 END as ComplexityIsOk, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale = @codiceFiscale + and rete= @rete + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + left outer join C6MartPeriodico.COMPLESSITA cmp + on + CMP.COD_FISCALE=PATRBF.COD_FISCALE + AND + CMP.RETE=PATRBF.RETE +INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd.sql new file mode 100644 index 00000000..93e7ad28 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd.sql @@ -0,0 +1,42 @@ +CREATE procedure [C6MartPeriodico].[PL_MP_S133AreeBisognoPrincProd] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S133_S157DatiPiramide] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BK_eligoTitoli.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BK_eligoTitoli.sql new file mode 100644 index 00000000..f5697296 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BK_eligoTitoli.sql @@ -0,0 +1,286 @@ +-- ============================================= +-- Author: Davide Moccia +-- Create date: 06/05/2013 +-- Description: +-- ============================================= +-- [C6martPeriodico].[PL_MP_S133AreeBisognoPrincProd] 'F', 'DPRPLA46E25G888K' +CREATE procedure [C6MartPeriodico].[PL_MP_S133AreeBisognoPrincProd_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +--INIZIO INTERVENTI OMNIA +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, +--INIZIO INTERVENTI OMNIA + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY +--INIZIO INTERVENTI OMNIA +-- RETE, COD_FISCALE, LEFT(ID_AREA,3) + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END +--FINE INTERVENTI OMNIA + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') +--INIZIO INTERVENTI OMNIA +-- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC', 'SELF') +--FINE INTERVENTI OMNIA + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V +--INIZIO INTERVENTI OMNIA +-- AND ID_AREA not in ('Na', 'Cc') + AND ID_AREA not in ('Na', 'Cc', 'Self') +--FINE INTERVENTI OMNIA + --V +--INIZIO INTERVENTI OMNIA +-- DECLARE @TOTCC AS INT +-- SELECT @TOTCC = COUNT(*) + DECLARE @TOTCCSELF AS INT + SELECT @TOTCCSELF = COUNT(*) +--FINE INTERVENTI OMNIA + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale +--INIZIO INTERVENTI OMNIA +-- AND TIPO_PRODOTTO = 'Cc' + AND (TIPO_PRODOTTO = 'Cc' OR ISIN = 'EURO00000009' ) +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA quiii2 + DECLARE @TOTSELF AS INT + SELECT @TOTSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' +--FINE INTERVENTI OMNIA quiii2 + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN @TOTCC = @TOT THEN 0.00 + WHEN @TOTCCSELF = @TOT THEN 0.00 +--FINE INTERVENTI OMNIA + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN (@TOTCC <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'n.c.' + WHEN (@TOTCCSELF <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'n.c.' + --V SOLO SELF -> VAR = 'n.c.' + WHEN (@TOTSELF = @TOT) THEN 'n.c.' +--FINE INTERVENTI OMNIA + --V SOLO CC -> VAR = 0 + ELSE NULL + END AS var_totString, + --V + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN @TOTCC = @TOT THEN 0 + WHEN @TOTCCSELF = @TOT THEN 0 +--FINE INTERVENTI OMNIA + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' +--INIZIO INTERVENTI OMNIA +-- WHEN @TOTCC = @TOT THEN NULL + WHEN @TOTCCSELF = @TOT THEN NULL + WHEN @TOTSELF = @TOT THEN 'n.c.' +--FINE INTERVENTI OMNIA + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' +--INIZIO INTERVENTO OMNIA +-- WHEN @TOTCC = @TOT THEN NULL + WHEN @TOTCCSELF = @TOT THEN NULL +--FINE INTERVENTO OMNIA + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' +--INIZIO INTERVENTI OMNIA + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' +--FINE INTERVENTI OMNIA + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ +--INIZIO INTERVENTI OMNIA + WHERE AREA_BISOGNO.ID_AREA <> 'self' +--FINE INTERVENTI OMNIA + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BkUpParall.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BkUpParall.sql new file mode 100644 index 00000000..dee45551 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BkUpParall.sql @@ -0,0 +1,287 @@ +-- ============================================= +-- Author: Davide Moccia +-- Create date: 06/05/2013 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +-- [C6martPeriodico].[PL_MP_S133AreeBisognoPrincProd] 'F', 'DPRPLA46E25G888K' +CREATE procedure [C6MartPeriodico].[PL_MP_S133AreeBisognoPrincProd_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +--INIZIO INTERVENTI OMNIA +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, +--INIZIO INTERVENTI OMNIA + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY +--INIZIO INTERVENTI OMNIA +-- RETE, COD_FISCALE, LEFT(ID_AREA,3) + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END +--FINE INTERVENTI OMNIA + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') +--INIZIO INTERVENTI OMNIA +-- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC', 'SELF') +--FINE INTERVENTI OMNIA + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V +--INIZIO INTERVENTI OMNIA +-- AND ID_AREA not in ('Na', 'Cc') + AND ID_AREA not in ('Na', 'Cc', 'Self') +--FINE INTERVENTI OMNIA + --V +--INIZIO INTERVENTI OMNIA +-- DECLARE @TOTCC AS INT +-- SELECT @TOTCC = COUNT(*) + DECLARE @TOTCCSELF AS INT + SELECT @TOTCCSELF = COUNT(*) +--FINE INTERVENTI OMNIA + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale +--INIZIO INTERVENTI OMNIA +-- AND TIPO_PRODOTTO = 'Cc' + AND (TIPO_PRODOTTO = 'Cc' OR ISIN in ('EURO00000009', 'EURO10000007')) +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA quiii2 + DECLARE @TOTSELF AS INT + SELECT @TOTSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009','EURO10000007') +--FINE INTERVENTI OMNIA quiii2 + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN @TOTCC = @TOT THEN 0.00 + WHEN @TOTCCSELF = @TOT THEN 0.00 +--FINE INTERVENTI OMNIA + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN (@TOTCC <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'n.c.' + WHEN (@TOTCCSELF <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'n.c.' + --V SOLO SELF -> VAR = 'n.c.' + WHEN (@TOTSELF = @TOT) THEN 'n.c.' +--FINE INTERVENTI OMNIA + --V SOLO CC -> VAR = 0 + ELSE NULL + END AS var_totString, + --V + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN @TOTCC = @TOT THEN 0 + WHEN @TOTCCSELF = @TOT THEN 0 +--FINE INTERVENTI OMNIA + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' +--INIZIO INTERVENTI OMNIA +-- WHEN @TOTCC = @TOT THEN NULL + WHEN @TOTCCSELF = @TOT THEN NULL + WHEN @TOTSELF = @TOT THEN 'n.c.' +--FINE INTERVENTI OMNIA + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' +--INIZIO INTERVENTO OMNIA +-- WHEN @TOTCC = @TOT THEN NULL + WHEN @TOTCCSELF = @TOT THEN NULL +--FINE INTERVENTO OMNIA + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' +--INIZIO INTERVENTI OMNIA + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' +--FINE INTERVENTI OMNIA + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ +--INIZIO INTERVENTI OMNIA + WHERE AREA_BISOGNO.ID_AREA <> 'self' +--FINE INTERVENTI OMNIA + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S133BISPrincipaliProdotti.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S133BISPrincipaliProdotti.sql new file mode 100644 index 00000000..25eb54f5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S133BISPrincipaliProdotti.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Author: +-- Create date: <07/05/2013> +-- Description: +-- ============================================= +-- [C6martPeriodico].[PL_MP_S133BISPrincipaliProdotti] F,CLSPLA43D08H501B +CREATE procedure [C6MartPeriodico].[PL_MP_S133BISPrincipaliProdotti] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT TOP 10 + ANAGPROD.DESCR_PRODOTTO AS descrProdotto + ,PATRBF.CTV AS Controvalore + ,CASE + WHEN patrbf.tipo_prodotto = 'CC' THEN 0.00 + ELSE RISCHIO_PROD.VAR_PERC_PTF + END AS VaRprodotto + ,((CASE + WHEN ((PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100) is null then 0.00 + ELSE(PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100 + END) / (CASE + WHEN sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') = 0 THEN 1 + ELSE sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') + END))*100 as rischioRelativo + ,(PATRBF.CTV/(sum(PATRBF.CTV) over (partition by 'totale')))*100 AS pesoRelativo + ,PATRBF.ID_AREA AS codAreaBisogno + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO + INNER JOIN C6MartPeriodico.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.ordinamento_progetto as varchar),'') + '|' + WHEN LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END + + PATRBF.POSITION_ID + WHERE PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 + AND PATRBF.ID_AREA <> 'Cc' + ORDER BY rischioRelativo DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S134BISMonitoraggioLiqInv.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S134BISMonitoraggioLiqInv.sql new file mode 100644 index 00000000..f2203b5d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S134BISMonitoraggioLiqInv.sql @@ -0,0 +1,46 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S134BISMonitoraggioLiqInv] 'F','CNTGCR68T31D458G' +CREATE procedure [C6MartPeriodico].[PL_MP_S134BISMonitoraggioLiqInv] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + --and APPORTO_INIZIALE<>'0.00'--- aggiunta 20221219 per + UNION + SELECT + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S134MonitoraggioLiquidita.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S134MonitoraggioLiquidita.sql new file mode 100644 index 00000000..b20bb299 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S134MonitoraggioLiquidita.sql @@ -0,0 +1,76 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S134MonitoraggioLiquidita] 'F','CNTGCR68T31D458G' +CREATE procedure [C6MartPeriodico].[PL_MP_S134MonitoraggioLiquidita] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- DECLARE @RendimNonRappr BIT +SELECT + case when RENDIMNONRAPPR=1 then 1 else 0 end AS cf_rendim_non_rappr, + MONIT.id_Area AS Need_Area, + CASE + WHEN MONIT.NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(MONIT.NOME_PROGETTO)) + END AS Nome_Progetto, + monit.ordinamento_progetto, + dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, + CTV_MONITORATO AS ControvaloreMonitorato, + APPORTO_INIZIALE AS ApportoIniziale, + APPORTO_SUCCESSIVO AS ApportoSuccessivo, + LIQUIDAZIONI, + CEDOLE_DIVIDENDI AS CedoleEDividendi, + MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, + RENDIMENTO_CUMULATO AS Rendimento_Attuale, + RISORSE_ASSOCIATE AS RisorseApportate, + dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, + RENDIMENTO_ANNUALIZZATO + FROM + C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT + LEFT OUTER JOIN + ( + SELECT + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end as NOME_PROGETTO, + patr_bf.ordinamento_progetto, + 1 as RENDIMNONRAPPR + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + LEFT OUTER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + WHERE + PATR_BF.RETE = @Rete + AND PATR_BF.COD_FISCALE = @CodiceFiscale + AND PATR_BF.REND_NON_RAPPR = 1 + group by + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end, + patr_bf.ordinamento_progetto + ) PATR_BF + ON PATR_BF.COD_FISCALE=MONIT.COD_FISCALE + AND PATR_BF.RETE= MONIT.RETE + AND left(PATR_BF.ID_AREA,3)=left(MONIT.ID_AREA,3) + AND isnull(PATR_BF.NOME_PROGETTO,'XXX')=isnull(MONIT.NOME_PROGETTO,'XXX') + And monit.ordinamento_progetto=patr_bf.ordinamento_progetto + WHERE + MONIT.RETE = @Rete AND + MONIT.COD_FISCALE = @CodiceFiscale + -- and CTV_MONITORATO<>'0.00' -- aggiunta 20221219 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S135MonitoraggioInvestimento.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S135MonitoraggioInvestimento.sql new file mode 100644 index 00000000..f75e7a7c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S135MonitoraggioInvestimento.sql @@ -0,0 +1,45 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S135MonitoraggioInvestimento] 'F','BDTMSS49A43F502I' +CREATE procedure [C6MartPeriodico].[PL_MP_S135MonitoraggioInvestimento] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + UNION + SELECT + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S137BISCapitaleProtetto.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S137BISCapitaleProtetto.sql new file mode 100644 index 00000000..39b73c57 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S137BISCapitaleProtetto.sql @@ -0,0 +1,48 @@ +-- ============================================= +-- Author: +-- Create date: <19/11/2014, Pomezia> +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S137BISCapitaleProtetto] 'F','QRCRLR38P10G999N' +CREATE procedure [C6MartPeriodico].[PL_MP_S137BISCapitaleProtetto] + ---- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + --SELECT top 1 + -- 'Interfund Capital Protection' AS DES_PROD, + -- '001234.RS.S678' AS COD_CONF, + -- '120,1040' AS QUOTA, + -- '100,1234' AS NUMEROQUOTE, + -- '12.025,22' AS CONTROVALORE, + -- '31/03/2014' AS DATARIF, + -- 'Quota massima' AS DES_MAX, + -- '125,4573' AS QUOTA_MAX, + -- '80' AS QUOTA_MAX_PERC, + -- '31/03/2013' AS DATARIF_MAX, + -- 'Quota e controvalore protetti*' AS DES_PROT, + -- '100,3658' AS QUOTA_PROT, + -- '100,1234' AS NUMEROQUOTE_PROT, + -- '10.048,97' AS CONTROVALORE_PROT + SELECT + DES_PROD + ,COD_CONF + ,QUOTA + ,NUMEROQUOTE + ,CONTROVALORE + ,DATARIF + ,DES_MAX + ,QUOTA_MAX + ,QUOTA_MAX_PERC + ,DATARIF_MAX + ,DES_PROT + ,QUOTA_PROT + ,NUMEROQUOTE_PROT + ,CONTROVALORE_PROT + ,DES_PROD_TIT -- Aggiunta per E-FOI80 + FROM C6MartPeriodico.CAPPROT + WHERE 1=1 + AND RETE = @Rete + AND CODFIS = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S137BIS_FOI80.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S137BIS_FOI80.sql new file mode 100644 index 00000000..0762e99a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S137BIS_FOI80.sql @@ -0,0 +1,52 @@ +-- ============================================= +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S137BIS_FOI80] 'F','QRCRLR38P10G999N' +CREATE procedure [C6MartPeriodico].[PL_MP_S137BIS_FOI80] + ---- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + --SELECT top 1 + -- 'Interfund Capital Protection' AS DES_PROD, + -- '001234.RS.S678' AS COD_CONF, + -- '120,1040' AS QUOTA, + -- '100,1234' AS NUMEROQUOTE, + -- '12.025,22' AS CONTROVALORE, + -- '31/03/2014' AS DATARIF, + -- 'Quota massima' AS DES_MAX, + -- '125,4573' AS QUOTA_MAX, + -- '80' AS QUOTA_MAX_PERC, + -- '31/03/2013' AS DATARIF_MAX, + -- 'Quota e controvalore protetti*' AS DES_PROT, + -- '100,3658' AS QUOTA_PROT, + -- '100,1234' AS NUMEROQUOTE_PROT, + -- '10.048,97' AS CONTROVALORE_PROT + SELECT + DTTRIM, + DTRIFE, + RETE, + CODFIS, + DESPROD, + CODMAN, + CODCONF, + CODPROD, + SUBPROD, + ISIN, + CTV, + PREZZO, + QUOTE, + PREZZOMAX, + DTPREZZOMAX, + DESMAX, + PREZZOPROT, + CTRVIMPPROT, + DESPROT, + DESPRODTIT, + QUOTA_MAX_PERC + FROM C6MartPeriodico.FOI80 + WHERE 1=1 + AND RETE = @Rete + AND CODFIS = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S137Bonus.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S137Bonus.sql new file mode 100644 index 00000000..f513fa9e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S137Bonus.sql @@ -0,0 +1,33 @@ +--[C6MartPeriodico].[PL_MP_S137Bonus] 'F','QRCRLR38P10G999N' +CREATE procedure [C6MartPeriodico].[PL_MP_S137Bonus] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT [RETE], + bonus.[COD_FISCALE], + [DES_PROD] = CASE + WHEN desrc.descrizione is null THEN '' + ELSE desrc.descrizione + END, + bonus.[COD_CONF], + bonus.[CTV], + bonus.[DT_TRIM], + 'Bonus Maturato' as [DESBONUS_M], + bonus.[BONUS_M], + bonus.[DTDEC_M], + 'Bonus a scadenza 5 anni' as [DESBONUS_5], + bonus.[BONUS_5], + bonus.[DTDEC_5], + 'Bonus a scadenza 10 anni' as [DESBONUS_10], + bonus.[BONUS_10], + bonus.[DTDEC_10], + bonus.[COD_PROD] + FROM [C6MartPeriodico].[BONUS] bonus + Left Join c6martperiodico.descrizione_bonus desrc + on desrc.cod_prod = bonus.cod_prod + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S138Proventi.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S138Proventi.sql new file mode 100644 index 00000000..2892c8ca --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S138Proventi.sql @@ -0,0 +1,23 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S138Proventi] 'F','ZZZRSO40P44B042U' +CREATE procedure [C6MartPeriodico].[PL_MP_S138Proventi] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + DTRIFE + ,DESPROD + ,TIPMOV + ,IMPORTO + FROM [C6MartPeriodico].proventi proventi + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + and importo>0.00 --fix 20240701 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S139Scadenze.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S139Scadenze.sql new file mode 100644 index 00000000..f34e437b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S139Scadenze.sql @@ -0,0 +1,20 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_MP_S139Scadenze] 'F','00164770307' +CREATE procedure [C6MartPeriodico].[PL_MP_S139Scadenze] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + DESPROD, + TIPMOV , + DTSCAD + FROM [C6MartPeriodico].scadenze + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts.sql new file mode 100644 index 00000000..7cd82442 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts.sql @@ -0,0 +1,695 @@ +-- [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts_NoLight] 'S','BRNGDI72S69L219Y' +CREATE procedure [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT + RETE, + COD_FISCALE, + INTERMEDIARIO, + CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest', 'IW Private Investments') THEN 1 + ELSE 2 END AS ORDINE, + SUM(CTV) AS CTV_TOT, + SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, + SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, + SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, + --CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, + CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) + )*100 END AS PERC_CreditRisk, + CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE + END AS RISKCLASS, + CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' WHEN PATRBF.RETE = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS INTERMEDIARIO, + --SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV + --INIZIO INTERVENTI OMNIA + --SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv + SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS ctv + --FINE INTERVENTI OMNIA + FROM + [C6MartPeriodico].[patrimonio_bf] PATRBF + ---Per calcolare la somma algebrica dei cc + LEFT OUTER JOIN + (select cod_fiscale, rete, sum(ctv) as cc_ctv + from + [C6MartPeriodico].[patrimonio_bf] + where id_Area='Cc' + group by cod_fiscale, rete + ) ctvcc + on + patrbf.cod_fiscale=ctvcc.cod_fiscale + and + patrbf.rete=ctvcc.rete + --fine calcolo somma cc + --INIZIO INTERVENTI OMNIA + ---Per calcolare la somma algebrica dei self negativi + LEFT OUTER JOIN + (select cod_fiscale, rete, sum(ctv) as self_ctv + from + [C6MartPeriodico].[patrimonio_bf] + where id_Area='Self' + group by cod_fiscale, rete + ) ctvself + on + patrbf.cod_fiscale=ctvself.cod_fiscale + and + patrbf.rete=ctvself.rete + --fine calcolo somma self negativi + --FINE INTERVENTI OMNIA + LEFT OUTER JOIN + [C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD + ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID + --INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR + LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR + ON RISCHIO_PROD.CREDITRISK = cr.profilo + --V + WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete + -- 20190118 + and patrbf.id_area not in ('LIGHT', 'VOID') + -- fine 20190118 + -- + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE + END, + CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' WHEN PATRBF.RETE = 'S' THEN 'SANPAOLO' ELSE 'IWPRIVATEINVESTMENTS' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS CTV +--FINE INTERVENTI OMNIA +FROM +[C6MartPeriodico].[patrimonio_bf] PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MartPeriodico].[patrimonio_bf] +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +--INIZIO INTERVENTI OMNIA +--per fare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MartPeriodico].[patrimonio_bf] +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine somma Self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete + -- 20190118 + and patrbf.id_area not in ('LIGHT', 'VOID') + -- fine 20190118 +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts] Script Date: 09/02/2022 12:04:20 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts_NoLight] 'S','BRNGDI72S69L219Y' +--ALTER procedure [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts] +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- SET NOCOUNT ON; +----QUERY PER INTERMEDIARIO +--SELECT +-- RETE, +-- COD_FISCALE, +-- INTERMEDIARIO, +-- CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 +-- ELSE 2 END AS ORDINE, +-- SUM(CTV) AS CTV_TOT, +-- SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +-- SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +-- SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +-- --CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +-- CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +-- )*100 END AS PERC_CreditRisk, +-- CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +-- -- Start 1.1 +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +-- END AS RISKCLASS, +-- CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +-- --SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +-- --INIZIO INTERVENTI OMNIA +-- --SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +-- SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 +-- WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 +-- ELSE PATRBF.CTV END) AS ctv +-- --FINE INTERVENTI OMNIA +-- FROM +-- [C6MartPeriodico].[patrimonio_bf] PATRBF +-- ---Per calcolare la somma algebrica dei cc +-- LEFT OUTER JOIN +-- (select cod_fiscale, rete, sum(ctv) as cc_ctv +-- from +-- [C6MartPeriodico].[patrimonio_bf] +-- where id_Area='Cc' +-- group by cod_fiscale, rete +-- ) ctvcc +-- on +-- patrbf.cod_fiscale=ctvcc.cod_fiscale +-- and +-- patrbf.rete=ctvcc.rete +-- --fine calcolo somma cc +-- --INIZIO INTERVENTI OMNIA +-- ---Per calcolare la somma algebrica dei self negativi +-- LEFT OUTER JOIN +-- (select cod_fiscale, rete, sum(ctv) as self_ctv +-- from +-- [C6MartPeriodico].[patrimonio_bf] +-- where id_Area='Self' +-- group by cod_fiscale, rete +-- ) ctvself +-- on +-- patrbf.cod_fiscale=ctvself.cod_fiscale +-- and +-- patrbf.rete=ctvself.rete +-- --fine calcolo somma self negativi +-- --FINE INTERVENTI OMNIA +-- LEFT OUTER JOIN +-- [C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +-- ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +-- --INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +-- LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +-- ON RISCHIO_PROD.CREDITRISK = cr.profilo +-- --V +-- WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +-- -- 20190118 +-- and patrbf.id_area not in ('LIGHT', 'VOID') +-- -- fine 20190118 +-- -- +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +-- END, +-- CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +----- End 1.1 +--UNION ALL +---- Start 1.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--PATRTERZI.INTERMEDIARIO, +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6Martperiodico].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--PATRTERZI.INTERMEDIARIO, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 1.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE, +--INTERMEDIARIO +---------- +--UNION ALL +------------- +----QUERY TOTALE +--SELECT +--RETE, +--COD_FISCALE, +--'Complessivo' AS INTERMEDIARIO, +--3 AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +----- Start 2.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +----SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +----INIZIO INTERVENTI OMNIA +----SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 +-- WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 +-- ELSE PATRBF.CTV END) AS CTV +----FINE INTERVENTI OMNIA +--FROM +--[C6MartPeriodico].[patrimonio_bf] PATRBF +----per fare la somma algebrica dei cc +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MartPeriodico].[patrimonio_bf] +--where id_Area='Cc' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +----fine somma cc +----INIZIO INTERVENTI OMNIA +----per fare la somma algebrica dei self negativi +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as self_ctv +--from +--[C6MartPeriodico].[patrimonio_bf] +--where id_Area='Self' +--group by cod_fiscale, rete +--) ctvself +--on +--patrbf.cod_fiscale=ctvself.cod_fiscale +--and +--patrbf.rete=ctvself.rete +----fine somma Self negativi +----FINE INTERVENTI OMNIA +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +-- -- 20190118 +-- and patrbf.id_area not in ('LIGHT', 'VOID') +-- -- fine 20190118 +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 2.1 +--UNION ALL +---- Start 2.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +--left outer join +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6Martperiodico].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +----- End 2.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_20190123_PreLIGHT.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_20190123_PreLIGHT.sql new file mode 100644 index 00000000..bad46ab5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_20190123_PreLIGHT.sql @@ -0,0 +1,338 @@ +-- [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts] 'S','RTRRLF23S12Z105V' +CREATE procedure [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts_20190123_PreLIGHT] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS ctv +--FINE INTERVENTI OMNIA +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +--INIZIO INTERVENTI OMNIA +---Per calcolare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine calcolo somma self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS CTV +--FINE INTERVENTI OMNIA +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +--INIZIO INTERVENTI OMNIA +--per fare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine somma Self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_NoLight.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_NoLight.sql new file mode 100644 index 00000000..bf7530e2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_NoLight.sql @@ -0,0 +1,344 @@ +-- [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts_NoLight] 'S','BRNGDI72S69L219Y' +CREATE procedure [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts_NoLight] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT + RETE, + COD_FISCALE, + INTERMEDIARIO, + CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, + SUM(CTV) AS CTV_TOT, + SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, + SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, + SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, + --CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, + CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) + )*100 END AS PERC_CreditRisk, + CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE + END AS RISKCLASS, + CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, + --SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV + --INIZIO INTERVENTI OMNIA + --SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv + SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS ctv + --FINE INTERVENTI OMNIA + FROM + [C6MartPeriodico].[patrimonio_bf] PATRBF + ---Per calcolare la somma algebrica dei cc + LEFT OUTER JOIN + (select cod_fiscale, rete, sum(ctv) as cc_ctv + from + [C6MartPeriodico].[patrimonio_bf] + where id_Area='Cc' + group by cod_fiscale, rete + ) ctvcc + on + patrbf.cod_fiscale=ctvcc.cod_fiscale + and + patrbf.rete=ctvcc.rete + --fine calcolo somma cc + --INIZIO INTERVENTI OMNIA + ---Per calcolare la somma algebrica dei self negativi + LEFT OUTER JOIN + (select cod_fiscale, rete, sum(ctv) as self_ctv + from + [C6MartPeriodico].[patrimonio_bf] + where id_Area='Self' + group by cod_fiscale, rete + ) ctvself + on + patrbf.cod_fiscale=ctvself.cod_fiscale + and + patrbf.rete=ctvself.rete + --fine calcolo somma self negativi + --FINE INTERVENTI OMNIA + LEFT OUTER JOIN + [C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD + ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID + --INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR + LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR + ON RISCHIO_PROD.CREDITRISK = cr.profilo + --V + WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete + -- 20190118 + and patrbf.id_area not in ('LIGHT', 'VOID') + -- fine 20190118 + -- + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE + END, + CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS CTV +--FINE INTERVENTI OMNIA +FROM +[C6MartPeriodico].[patrimonio_bf] PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MartPeriodico].[patrimonio_bf] +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +--INIZIO INTERVENTI OMNIA +--per fare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MartPeriodico].[patrimonio_bf] +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine somma Self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete + -- 20190118 + and patrbf.id_area not in ('LIGHT', 'VOID') + -- fine 20190118 +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable.sql new file mode 100644 index 00000000..f53a24c1 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable.sql @@ -0,0 +1,384 @@ +--EXEC [C6martPeriodico].PL_MP_S141AnalisiRisparmioTable 'F','FTSVSL35E25Z115H' +CREATE procedure [C6MartPeriodico].[PL_MP_S141AnalisiRisparmioTable] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT --U.* + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +FROM ( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + --RATING AS RATING, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, +--EN 26012016: solo se per un emittente nessun prodotto riporta nessuna copertura +-- viene impostato nc=1 (non classificato) e si assume che nessuna riskclass +-- sia valorizzato. +-- sum(case when copertura > 0 then 0 else 1 end) as nc + min(case when copertura > 0 then 0 else 1 end) as nc + FROM + (SELECT --Y.* + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + --RATING AS RATING, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + RATING, + CREDITRISKCLASS + ) Y + GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +------COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, +--EN 26012016 +-- sum(case when copertura > 0 then 0 else 1 end) as nc + min(case when copertura > 0 then 0 else 1 end) as nc +FROM +( +SELECT --L.* + COD_FISCALE, + RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER, + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , + SUM(COPERTURA) AS COPERTURA +FROM +( + SELECT --V.* + V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + RATING, + INTERMEDIARIO, + CREDITRISKCLASS + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10 +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +) U + ORDER BY U.CONCENTRATION DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable_test.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable_test.sql new file mode 100644 index 00000000..b30402b4 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable_test.sql @@ -0,0 +1,451 @@ +--EXEC [C6martPeriodico].PL_MP_S141AnalisiRisparmioTable_test 'S','BNOSDR61T03F205W' +CREATE procedure [C6MartPeriodico].[PL_MP_S141AnalisiRisparmioTable_test] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT --U.* + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC + into #tabtemp +FROM ( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + --RATING AS RATING, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, +--EN 26012016: solo se per un emittente nessun prodotto riporta nessuna copertura +-- viene impostato nc=1 (non classificato) e si assume che nessuna riskclass +-- sia valorizzato. +-- sum(case when copertura > 0 then 0 else 1 end) as nc + min(case when copertura > 0 then 0 else 1 end) as nc + FROM + (SELECT --Y.* + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + --RATING AS RATING, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + RATING, + CREDITRISKCLASS + ) Y + GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +------COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, +--EN 26012016 +-- sum(case when copertura > 0 then 0 else 1 end) as nc + min(case when copertura > 0 then 0 else 1 end) as nc +FROM +( +SELECT --L.* + COD_FISCALE, + RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER, + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , + SUM(COPERTURA) AS COPERTURA +FROM +( + SELECT --V.* + V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + RATING, + INTERMEDIARIO, + CREDITRISKCLASS + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10 +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +) U + ORDER BY U.CONCENTRATION DESC +SELECT distinct + temp.COD_FISCALE, + temp.RETE, + temp.RATING_AAA, + temp.RATING_AAp, + temp.RATING_AA, + temp.RATING_AAm, + temp.RATING_Ap, + temp.RATING_A, + temp.RATING_Am, + temp.RATING_BBBp, + temp.RATING_BBB, + temp.RATING_BBBm, + temp.RATING_BBp, + temp.RATING_BB, + temp.RATING_BBm, + temp.RATING_Bp, + temp.RATING_B, + temp.RATING_Bm, + temp.RATING_CCCp, + temp.RATING_CCC, + temp.RATING_CCCm, + temp.RATING_CC, + temp.RATING_C, + temp.RATING_D, + temp.RATING_na, + temp.FLG_RISKCLASS1, + temp.FLG_RISKCLASS2, + temp.FLG_RISKCLASS3, + temp.FLG_RISKCLASS4, + temp.FLG_RISKCLASS5, + temp.FLG_RISKCLASS6, + temp.FLG_RISKCLASS7, + temp.FLG_RISKCLASS8, + temp.FLG_RISKCLASS9, + temp.FLG_RISKCLASS10, + temp.INTERMEDIARIO, + temp.ISSUER, + temp.STOCKSCounterValue, + --temp.bondsCounterValue, + Case + when + pemitt.cod_prodotto like '%IT0003972996%' or + pemitt.cod_prodotto like '%XS0257293828%'or + pemitt.cod_prodotto like '%IT0004867781%'or + pemitt.cod_prodotto like '%IT0004880933%'or + pemitt.cod_prodotto like '%XS0302580880%'or + pemitt.cod_prodotto like '%IT0004119407%'or + pemitt.cod_prodotto like '%IT0004281504%'or + pemitt.cod_prodotto like '%IT0004931405%'or + pemitt.cod_prodotto like '%IT0004966856%'or + pemitt.cod_prodotto like '%IT0004539786%'or + pemitt.cod_prodotto like '%IT0004657786%'or + pemitt.cod_prodotto like '%IT0004556327%'or + pemitt.cod_prodotto like '%IT0004064538%'or + pemitt.cod_prodotto like '%IT0004119605%'or + pemitt.cod_prodotto like '%IT0004291891%' + THEN 999999999 else temp.bondsCounterValue end + as bondsCounterValue, + temp.CONCENTRATION_ISSUER, + temp.CONCENTRATION, + temp.NC +from #tabtemp temp +inner join C6MARTPERIODICO.PATRIMONIO_EMITTENTI pemitt +ON temp.COD_FISCALe= pemitt.COD_FISCALe and + temp.RETE = pemitt.rete +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S142DistibuzionePerRating.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S142DistibuzionePerRating.sql new file mode 100644 index 00000000..6f1ead7b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S142DistibuzionePerRating.sql @@ -0,0 +1,92 @@ +-- [C6martPeriodico].PL_MP_S142DistibuzionePerRating 'f','MSCLRT46H15A565B' + CREATE procedure [C6MartPeriodico].[PL_MP_S142DistibuzionePerRating] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @sumCTV Decimal(15,3) = + (SELECT isnull(sum(BF.ctv), 0.0) + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' ) +SELECT + RATING, + isnull(sum(T.CONTROVALORE),0) as CONTROVALORE , +-- FerAcu 20240803 errore divisione per zero +-- isnull(sum(T.CONTROVALORE) / ((SELECT sum(BF.ctv) +-- FROM c6MartPeriodico.ANAG_PRODOTTI ANAG +-- INNER JOIN c6MartPeriodico.patrimonio_BF BF +-- ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO +-- AND BF.rete = @Rete +-- AND BF.cod_fiscale = @CodiceFiscale +-- AND ANAG.FLG_OB='S' )/100),0) +-- AS Percentage, + -- visto che il default in caso di NULL è 0, usiamo 0 anche per i casi x/0 + CASE WHEN @sumCTV = 0.0 Then 0.000 + ELSE isNull(sum(T.CONTROVALORE), 0.000) / (@sumCTV / 100) + END + AS Percentage, + CASE RATING + WHEN 'Da AAA a A-' THEN 93 + WHEN 'Da BBB+ a BBB-' THEN 171 + WHEN 'Da BB+ a B-' THEN 174 + WHEN 'Da CCC+ a D' THEN 193 + ELSE 235 + END AS Red, + CASE RATING + WHEN 'Da AAA a A-' THEN 138 + WHEN 'Da BBB+ a BBB-' THEN 196 + WHEN 'Da BB+ a B-' THEN 135 + WHEN 'Da CCC+ a D' THEN 174 + ELSE 235 + END AS Green, + CASE RATING + WHEN 'Da AAA a A-' THEN 153 + WHEN 'Da BBB+ a BBB-' THEN 150 + WHEN 'Da BB+ a B-' THEN 88 + WHEN 'Da CCC+ a D' THEN 149 + ELSE 236 + END AS Blue +FROM ( + SELECT + CASE ANAG.rating + WHEN 'AAA' THEN 'Da AAA a A-' + WHEN 'AA+' THEN 'Da AAA a A-' + WHEN 'AA' THEN 'Da AAA a A-' + WHEN 'AA-' THEN 'Da AAA a A-' + WHEN 'A+' THEN 'Da AAA a A-' + WHEN 'A' THEN 'Da AAA a A-' + WHEN 'A-' THEN 'Da AAA a A-' + WHEN 'BBB+' THEN 'Da BBB+ a BBB-' + WHEN 'BBB' THEN 'Da BBB+ a BBB-' + WHEN 'BBB-' THEN 'Da BBB+ a BBB-' + WHEN 'BB+' THEN 'Da BB+ a B-' + WHEN 'BB' THEN 'Da BB+ a B-' + WHEN 'BB-' THEN 'Da BB+ a B-' + WHEN 'B+' THEN 'Da BB+ a B-' + WHEN 'B' THEN 'Da BB+ a B-' + WHEN 'B-' THEN 'Da BB+ a B-' + WHEN 'CCC+' THEN 'Da CCC+ a D' + WHEN 'CCC' THEN 'Da CCC+ a D' + WHEN 'CCC-' THEN 'Da CCC+ a D' + WHEN 'CC' THEN 'Da CCC+ a D' + WHEN 'C' THEN 'Da CCC+ a D' + WHEN 'D' THEN 'Da CCC+ a D' + ELSE 'Non classificato' + END AS RATING, + isnull(sum(BF.ctv),0) as CONTROVALORE + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' + GROUP BY ANAG.rating +) T +GROUP BY T.RATING +ORDER BY T.RATING +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S142DistibuzionePerRating_20240803.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S142DistibuzionePerRating_20240803.sql new file mode 100644 index 00000000..dea270ac --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S142DistibuzionePerRating_20240803.sql @@ -0,0 +1,78 @@ +-- [C6martPeriodico].PL_MP_S142DistibuzionePerRating 'f','MSCLRT46H15A565B' + CREATE procedure [C6MartPeriodico].[PL_MP_S142DistibuzionePerRating_20240803] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; +SELECT + RATING, + isnull(sum(T.CONTROVALORE),0) as CONTROVALORE , + isnull(sum(T.CONTROVALORE) / ((SELECT sum(BF.ctv) + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' )/100),0) + AS Percentage, + CASE RATING + WHEN 'Da AAA a A-' THEN 93 + WHEN 'Da BBB+ a BBB-' THEN 171 + WHEN 'Da BB+ a B-' THEN 174 + WHEN 'Da CCC+ a D' THEN 193 + ELSE 235 + END AS Red, + CASE RATING + WHEN 'Da AAA a A-' THEN 138 + WHEN 'Da BBB+ a BBB-' THEN 196 + WHEN 'Da BB+ a B-' THEN 135 + WHEN 'Da CCC+ a D' THEN 174 + ELSE 235 + END AS Green, + CASE RATING + WHEN 'Da AAA a A-' THEN 153 + WHEN 'Da BBB+ a BBB-' THEN 150 + WHEN 'Da BB+ a B-' THEN 88 + WHEN 'Da CCC+ a D' THEN 149 + ELSE 236 + END AS Blue +FROM ( + SELECT + CASE ANAG.rating + WHEN 'AAA' THEN 'Da AAA a A-' + WHEN 'AA+' THEN 'Da AAA a A-' + WHEN 'AA' THEN 'Da AAA a A-' + WHEN 'AA-' THEN 'Da AAA a A-' + WHEN 'A+' THEN 'Da AAA a A-' + WHEN 'A' THEN 'Da AAA a A-' + WHEN 'A-' THEN 'Da AAA a A-' + WHEN 'BBB+' THEN 'Da BBB+ a BBB-' + WHEN 'BBB' THEN 'Da BBB+ a BBB-' + WHEN 'BBB-' THEN 'Da BBB+ a BBB-' + WHEN 'BB+' THEN 'Da BB+ a B-' + WHEN 'BB' THEN 'Da BB+ a B-' + WHEN 'BB-' THEN 'Da BB+ a B-' + WHEN 'B+' THEN 'Da BB+ a B-' + WHEN 'B' THEN 'Da BB+ a B-' + WHEN 'B-' THEN 'Da BB+ a B-' + WHEN 'CCC+' THEN 'Da CCC+ a D' + WHEN 'CCC' THEN 'Da CCC+ a D' + WHEN 'CCC-' THEN 'Da CCC+ a D' + WHEN 'CC' THEN 'Da CCC+ a D' + WHEN 'C' THEN 'Da CCC+ a D' + WHEN 'D' THEN 'Da CCC+ a D' + ELSE 'Non classificato' + END AS RATING, + isnull(sum(BF.ctv),0) as CONTROVALORE + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' + GROUP BY ANAG.rating +) T +GROUP BY T.RATING +ORDER BY T.RATING +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S143DistibuzionePerEmittente.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S143DistibuzionePerEmittente.sql new file mode 100644 index 00000000..9a049c74 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S143DistibuzionePerEmittente.sql @@ -0,0 +1,70 @@ +-- [C6martPeriodico].PL_MP_S143DistibuzionePerEmittente 'f','SLBBRT27A42Z127N' +CREATE procedure [C6MartPeriodico].[PL_MP_S143DistibuzionePerEmittente] --'F','SRGFRC62H07C933N' + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @sumCTV Decimal(15,3) = + (SELECT isnull(sum(BF.ctv), 0.0) + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND NOT ANAG.TIPO_EMITTENTE is null + AND ANAG.FLG_OB='S') +-- Fc17/12/2013 Ridistribuita la percentuale +SELECT + isnull(ANAG.TIPO_EMITTENTE,'Altro') as TIPOEMITTENTE, + isnull(sum(BF.ctv),0) as CONTROVALORE, + CASE + when ANAG.TIPO_EMITTENTE is null then 0 + else + -- FerAcu 20240803 errore divisione per zero + --isnull(sum(BF.ctv) / ((SELECT sum(BF.ctv) + -- FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + -- INNER JOIN c6MartPeriodico.patrimonio_BF BF + -- ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + -- AND BF.rete = @Rete + -- AND BF.cod_fiscale = @CodiceFiscale + -- AND NOT ANAG.TIPO_EMITTENTE is null + -- AND ANAG.FLG_OB='S')/100),0) + CASE WHEN @sumCTV = 0.0 Then 0.000 + ELSE isNull(sum(BF.ctv), 0.000) / (@sumCTV / 100) + END + End + AS Percentage, + CASE ANAG.TIPO_EMITTENTE + WHEN 'Agency' THEN 93 + WHEN 'Governativo' THEN 123 + WHEN 'Emergente' THEN 200 + WHEN 'Sovranazionale' THEN 221 + WHEN 'Corporate' THEN 255 + ELSE 235 + END AS Red, + CASE ANAG.TIPO_EMITTENTE + WHEN 'Agency' THEN 132 + WHEN 'Governativo' THEN 168 + WHEN 'Emergente' THEN 126 + WHEN 'Sovranazionale' THEN 192 + WHEN 'Corporate' THEN 245 + ELSE 235 + END AS Green, + CASE ANAG.TIPO_EMITTENTE + WHEN 'Agency' THEN 111 + WHEN 'Governativo' THEN 145 + WHEN 'Emergente' THEN 99 + WHEN 'Sovranazionale' THEN 115 + WHEN 'Corporate' THEN 210 + ELSE 236 + END AS Blue + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' +GROUP BY ANAG.TIPO_EMITTENTE +ORDER BY TIPOEMITTENTE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S143DistibuzionePerEmittente_20240803.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S143DistibuzionePerEmittente_20240803.sql new file mode 100644 index 00000000..f25167b3 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S143DistibuzionePerEmittente_20240803.sql @@ -0,0 +1,57 @@ +-- [C6martPeriodico].PL_MP_S143DistibuzionePerEmittente 'f','SLBBRT27A42Z127N' +Create procedure [C6MartPeriodico].[PL_MP_S143DistibuzionePerEmittente_20240803] --'F','SRGFRC62H07C933N' + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; +-- Fc17/12/2013 Ridistribuita la percentuale +SELECT + isnull(ANAG.TIPO_EMITTENTE,'Altro') as TIPOEMITTENTE, + isnull(sum(BF.ctv),0) as CONTROVALORE, + CASE + when ANAG.TIPO_EMITTENTE is null then 0 + else + isnull(sum(BF.ctv) / ((SELECT sum(BF.ctv) + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND NOT ANAG.TIPO_EMITTENTE is null + AND ANAG.FLG_OB='S')/100),0) + End + AS Percentage, + CASE ANAG.TIPO_EMITTENTE + WHEN 'Agency' THEN 93 + WHEN 'Governativo' THEN 123 + WHEN 'Emergente' THEN 200 + WHEN 'Sovranazionale' THEN 221 + WHEN 'Corporate' THEN 255 + ELSE 235 + END AS Red, + CASE ANAG.TIPO_EMITTENTE + WHEN 'Agency' THEN 132 + WHEN 'Governativo' THEN 168 + WHEN 'Emergente' THEN 126 + WHEN 'Sovranazionale' THEN 192 + WHEN 'Corporate' THEN 245 + ELSE 235 + END AS Green, + CASE ANAG.TIPO_EMITTENTE + WHEN 'Agency' THEN 111 + WHEN 'Governativo' THEN 145 + WHEN 'Emergente' THEN 99 + WHEN 'Sovranazionale' THEN 115 + WHEN 'Corporate' THEN 210 + ELSE 236 + END AS Blue + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' +GROUP BY ANAG.TIPO_EMITTENTE +ORDER BY TIPOEMITTENTE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S144DistibuzionePerScadenze.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S144DistibuzionePerScadenze.sql new file mode 100644 index 00000000..4489f0d2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S144DistibuzionePerScadenze.sql @@ -0,0 +1,99 @@ +-- [C6martPeriodico].PL_MP_S144DistibuzionePerScadenze 'f','00164770307' +CREATE procedure [C6MartPeriodico].[PL_MP_S144DistibuzionePerScadenze] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; +DECLARE @DTTRIM datetime +SET @DTTRIM = c6martperiodico.gettrimestre2(getdate(),0) +SELECT + T.SCADENZA, + T.CONTROVALORE , + ISNULL(sum(CONTROVALORE) / ((SELECT sum(BF.ctv) + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' + AND ANAG.DT_SCADENZA >= @DTTRIM)/100),0) + AS Percentage, + CASE T.SCADENZA + WHEN 'Meno di 1 anno' THEN 128 + WHEN 'Da 1 a 3 anni' THEN 161 + WHEN 'Da 3 a 7 anni' THEN 193 + WHEN 'Più di 7 anni' THEN 224 + ELSE 255 + END AS Red, + CASE T.SCADENZA + WHEN 'Meno di 1 anno' THEN 153 + WHEN 'Da 1 a 3 anni' THEN 177 + WHEN 'Da 3 a 7 anni' THEN 202 + WHEN 'Più di 7 anni' THEN 228 + ELSE 255 + END AS Green, + CASE T.SCADENZA + WHEN 'Meno di 1 anno' THEN 136 + WHEN 'Da 1 a 3 anni' THEN 163 + WHEN 'Da 3 a 7 anni' THEN 193 + WHEN 'Più di 7 anni' THEN 223 + ELSE 255 + END AS Blue +FROM ( + SELECT + 'Meno di 1 anno' as SCADENZA, + ISNULL(sum(BF.ctv),0) as CONTROVALORE, + 1 AS ORDINE + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND DATEDIFF(d, GETDATE(),ANAG.DT_SCADENZA) <= 365 + AND ANAG.FLG_OB='S' + AND ANAG.DT_SCADENZA >= @DTTRIM + UNION + SELECT + 'Da 1 a 3 anni' as SCADENZA, + ISNULL(sum(BF.ctv),0) as CONTROVALORE, + 2 AS ORDINE + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND DATEDIFF(d, GETDATE(),ANAG.DT_SCADENZA) BETWEEN 365+1 and 365*3 + AND ANAG.FLG_OB='S' + AND ANAG.DT_SCADENZA >= @DTTRIM + UNION + SELECT + 'Da 3 a 7 anni' as SCADENZA, + ISNULL(sum(BF.ctv),0) as CONTROVALORE, + 3 AS ORDINE + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND DATEDIFF(d, GETDATE(),ANAG.DT_SCADENZA) BETWEEN 365*3+1 and 365*7 + AND ANAG.FLG_OB='S' + AND ANAG.DT_SCADENZA >= @DTTRIM + UNION + SELECT + 'Più di 7 anni' as SCADENZA, + ISNULL(sum(BF.ctv),0) as CONTROVALORE, + 4 AS ORDINE + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND DATEDIFF(d, GETDATE(),ANAG.DT_SCADENZA) >= 365*7+1 + AND ANAG.FLG_OB='S' + AND ANAG.DT_SCADENZA >= @DTTRIM +) T +WHERE T.CONTROVALORE > 0 +GROUP BY T.SCADENZA,T.CONTROVALORE,T.ORDINE +ORDER BY T.ORDINE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S145DistibuzionePerTassoRendimento.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S145DistibuzionePerTassoRendimento.sql new file mode 100644 index 00000000..1fec5b72 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S145DistibuzionePerTassoRendimento.sql @@ -0,0 +1,64 @@ +-- [C6martPeriodico].PL_MP_S145DistibuzionePerTassoRendimento 'f','00164770307' +CREATE procedure [C6MartPeriodico].[PL_MP_S145DistibuzionePerTassoRendimento] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @sumCTV Decimal(15,3) = + (SELECT isnull(sum(BF.ctv), 0.0) + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + and not ANAG.TIPO_TASSO is null + AND ANAG.FLG_OB='S' ) +SELECT + ISNULL(ANAG.TIPO_TASSO,'') as TIPOTASSO, + ISNULL(sum(BF.ctv),0) as CONTROVALORE, + CASE + when ANAG.TIPO_TASSO is null then 0 + else + -- FerAcu 20240803 errore divisione per zero + --ISNULL(sum(BF.ctv) / ((SELECT sum(BF.ctv) + -- FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + -- INNER JOIN c6MartPeriodico.patrimonio_BF BF + -- ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + -- AND BF.rete = @Rete + -- AND BF.cod_fiscale = @CodiceFiscale + -- and not ANAG.TIPO_TASSO is null + -- AND ANAG.FLG_OB='S')/100) ,0) + -- visto che il default in caso di NULL è 0, usiamo 0 anche per i casi x/0 + CASE WHEN @sumCTV = 0.0 Then 0.000 + ELSE isNull(sum(BF.ctv), 0.000) / (@sumCTV / 100) + END + END + AS Percentage, + CASE ANAG.TIPO_TASSO + WHEN 'Fisso' THEN 153 + WHEN 'Variabile' THEN 207 + WHEN 'Zero Coupon' THEN 193 + ELSE 235 + END AS Red, + CASE ANAG.TIPO_TASSO + WHEN 'Fisso' THEN 185 + WHEN 'Variabile' THEN 220 + WHEN 'Zero Coupon' THEN 174 + ELSE 235 + END AS Green, + CASE ANAG.TIPO_TASSO + WHEN 'Fisso' THEN 166 + WHEN 'Variabile' THEN 210 + WHEN 'Zero Coupon' THEN 149 + ELSE 236 + END AS Blue +FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' +GROUP BY ANAG.TIPO_TASSO +ORDER BY TIPOTASSO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S145DistibuzionePerTassoRendimento_20240803.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S145DistibuzionePerTassoRendimento_20240803.sql new file mode 100644 index 00000000..bb4abafc --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S145DistibuzionePerTassoRendimento_20240803.sql @@ -0,0 +1,50 @@ +-- [C6martPeriodico].PL_MP_S145DistibuzionePerTassoRendimento 'f','00164770307' +Create procedure [C6MartPeriodico].[PL_MP_S145DistibuzionePerTassoRendimento_20240803] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; +SELECT + ISNULL(ANAG.TIPO_TASSO,'') as TIPOTASSO, + ISNULL(sum(BF.ctv),0) as CONTROVALORE, + CASE + when ANAG.TIPO_TASSO is null then 0 + else + ISNULL(sum(BF.ctv) / ((SELECT sum(BF.ctv) + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + and not ANAG.TIPO_TASSO is null + AND ANAG.FLG_OB='S')/100) ,0) + END + AS Percentage, + CASE ANAG.TIPO_TASSO + WHEN 'Fisso' THEN 153 + WHEN 'Variabile' THEN 207 + WHEN 'Zero Coupon' THEN 193 + ELSE 235 + END AS Red, + CASE ANAG.TIPO_TASSO + WHEN 'Fisso' THEN 185 + WHEN 'Variabile' THEN 220 + WHEN 'Zero Coupon' THEN 174 + ELSE 235 + END AS Green, + CASE ANAG.TIPO_TASSO + WHEN 'Fisso' THEN 166 + WHEN 'Variabile' THEN 210 + WHEN 'Zero Coupon' THEN 149 + ELSE 236 + END AS Blue +FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' +GROUP BY ANAG.TIPO_TASSO +ORDER BY TIPOTASSO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S146RischioDiversificazione.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S146RischioDiversificazione.sql new file mode 100644 index 00000000..2f556c69 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S146RischioDiversificazione.sql @@ -0,0 +1,69 @@ +--[C6martPeriodico].[PL_MP_S146RischioDiversificazione] 'S','CPPBRN41H45C773S' +CREATE procedure [C6MartPeriodico].[PL_MP_S146RischioDiversificazione] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete +SELECT +K.COD_FISCALE, +K.RETE, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY 11 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S147SintesiValute.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S147SintesiValute.sql new file mode 100644 index 00000000..a21c269e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S147SintesiValute.sql @@ -0,0 +1,45 @@ +--[C6martPeriodico].[PL_MP_S147SintesiValute] 'F','DCSCRJ80H24Z602C' +CREATE procedure [C6MartPeriodico].[PL_MP_S147SintesiValute] +@Rete char(1), +@CodiceFiscale varchar(16) +as +begin +declare @ctvNoCoperto as decimal(18,3) +declare @ctvCoperto as decimal(18,3) +declare @copertura as decimal(18,3) +SELECT @ctvNoCoperto = isnull(sum(ctv),0) + FROM c6martperiodico.ANAG_PRODOTTI_VALUTE a + RIGHT JOIN c6martperiodico.patrimonio_bf c + ON a.cod_prodotto = c.cod_prodotto + WHERE + cod_fiscale = @CodiceFiscale + and rete = @Rete + and a.cod_prodotto is null + and id_area <> 'Cc' +select @copertura = (patrimonioSenzaCC - @ctvNoCoperto)/patrimonioSenzaCC , + @ctvCoperto = patrimonioSenzaCC - @ctvNoCoperto +from c6martperiodico.vPatrimonioBfAggregato +where + cod_fiscale = @CodiceFiscale + and rete = @Rete +--select @copertura +--FC 16/04/20104 +--Inserito controllo per evitare problemi di divid by zero nella select successiva +IF @ctvCoperto < 1 +begin + set @ctvCoperto =1 +End +SELECT + sum(peso*ctv) / @ctvCoperto as percentuale, + abs(sum(peso*ctv)) as valoreAssoluto, + a.DIVISA, + @copertura as copertura +FROM c6martperiodico.ANAG_PRODOTTI_VALUTE a +join c6martperiodico.patrimonio_bf c +ON a.cod_prodotto = c.cod_prodotto +where + cod_fiscale = @CodiceFiscale + and rete = @Rete +group by a.DIVISA +order by valoreAssoluto desc +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass.sql new file mode 100644 index 00000000..b0577720 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass.sql @@ -0,0 +1,18 @@ +CREATE procedure [C6MartPeriodico].[PL_MP_S148DistribuzioneAssetClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [Banca] + ,[ORDINAMENTO] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S148DistribuzioneAssetClass] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass_BkUpParall.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass_BkUpParall.sql new file mode 100644 index 00000000..c259f57a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass_BkUpParall.sql @@ -0,0 +1,181 @@ +--[C6martPeriodico].[PL_MP_S148DistribuzioneAssetClass] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[PL_MP_S148DistribuzioneAssetClass_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Banca Fideuram' + END AS Banca, + ORDINAMENTO, + AssetClassId, + AssetClassName, + SUM(Controvalore) As Controvalore, + --SUM(CONTROVALORE) / Totale As Percentuale, + SUM(CONTROVALORE) / Totale * 100 As Percentuale, + Totale +FROM +( +SELECT + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, + --ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'Totale') * 100, 2) AS Percentuale, + cast(ROUND(SUM(Controvalore) OVER (PARTITION BY 'Totale'),2) as decimal(19,5)) AS Totale + FROM ( + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE +--inizio interventi OMNIA +-- PATR_BF.ID_AREA NOT IN ('Cc','Pre1','Pre2','Pre') + PATR_BF.ID_AREA NOT IN ('SELF','Cc','Pre1','Pre2','Pre') +--fine interventi OMNIA + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + AND PATR_BF.COD_FISCALE= @CodiceFiscale + AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + AND PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + WHERE + ASUL.RETE =@Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + AND ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA NOT IN ('Pre1','Pre2','Pre') + ) val + where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS + UNION ALL + /* nuovo */ + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE + PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + AND PATR_BF.COD_FISCALE=@CodiceFiscale + AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + AND PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + WHERE + ASUL.RETE =@Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + AND ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA IN ('Pre1','Pre2','Pre') + ) val + where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS + ) + VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS AS ASSETCLASS + ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + WHERE + VALORIASSET.RETE =@Rete + AND VALORIASSET.COD_FISCALE = @CodiceFiscale +) a +Group By ORDINAMENTO, AssetClassId, AssetClassName, Totale + ORDER BY ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S149DettaglioProdottiAffluent.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S149DettaglioProdottiAffluent.sql new file mode 100644 index 00000000..2f8668b5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S149DettaglioProdottiAffluent.sql @@ -0,0 +1,12 @@ +-- [C6MartPeriodico].[PL_MP_S149DettaglioProdottiAffluent] 'F', 'FF@7181' +CREATE procedure [C6MartPeriodico].[PL_MP_S149DettaglioProdottiAffluent] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT ISNULL(SUM(ctv),0) +FROM C6MartPeriodico.PATRIMONIO_BF + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S173.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S173.sql new file mode 100644 index 00000000..0a3abc3f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S173.sql @@ -0,0 +1,9 @@ +--[C6MartPeriodico].[PL_MP_S137Bonus] 'F','QRCRLR38P10G999N' +CREATE procedure [C6MartPeriodico].[PL_MP_S173] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT 1 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S173CapitaleProtetto.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S173CapitaleProtetto.sql new file mode 100644 index 00000000..6d7ca20e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S173CapitaleProtetto.sql @@ -0,0 +1,60 @@ +-- ============================================= +-- Author: +-- Create date: <19/11/2014, Pomezia> +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S173CapitaleProtetto] 'F','VCCLNI27H65L483J' +CREATE procedure [C6MartPeriodico].[PL_MP_S173CapitaleProtetto] + ---- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + --SELECT top 1 + -- 'Interfund Capital Protection' AS DES_PROD, + -- '001234.RS.S678' AS COD_CONF, + -- '120,1040' AS QUOTA, + -- '100,1234' AS NUMEROQUOTE, + -- '12.025,22' AS CONTROVALORE, + -- '31/03/2014' AS DATARIF, + -- 'Quota massima' AS DES_MAX, + -- '125,4573' AS QUOTA_MAX, + -- '80' AS QUOTA_MAX_PERC, + -- '31/03/2013' AS DATARIF_MAX, + -- 'Quota e controvalore protetti*' AS DES_PROT, + -- '100,3658' AS QUOTA_PROT, + -- '100,1234' AS NUMEROQUOTE_PROT, + -- '10.048,97' AS CONTROVALORE_PROT + SELECT + DES_PROD + ,COD_CONF + ,QUOTA + ,NUMEROQUOTE + ,CONTROVALORE + ,DATARIF + ,DES_MAX + ,QUOTA_MAX + ,QUOTA_MAX_PERC + ,DATARIF_MAX + ,DES_PROT + ,QUOTA_PROT + ,NUMEROQUOTE_PROT + ,CONTROVALORE_PROT + ,case + when p.cod_interno = 'XY' and p.cod_sottoprodotto = 'L191' then 'GP Eligo Fondi' + when p.cod_interno = 'RS' then 'Fideuram Vita Insieme' + when p.cod_interno = 'RM' then 'Fideuram Vita Insieme Facile' + when p.cod_interno = 'RB' then 'Fideuram Vita Insieme Premium' + when p.cod_interno = 'RV' then 'Fideuram Vita Insieme Private' + else 'Interfund Crescita Protetta 80' + end as DES_PROD_TIT -- Aggiunta per E-FOI80 + FROM C6MartPeriodico.CAPPROT cap + inner join + c6martperiodico.patrimonio_bf p + on cap.rete = p.rete and cap.codfis = p.cod_fiscale and cap.cod_conf = p.id_contratto + WHERE 1=1 + AND cap.RETE = @Rete + AND cap.CODFIS = @CodiceFiscale + and p.isin = 'LU1106988527' + order by controvalore desc +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S173FOI80.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S173FOI80.sql new file mode 100644 index 00000000..412fb8be --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S173FOI80.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S173FOI80] 'F','VCCLNI27H65L483J' +CREATE procedure [C6MartPeriodico].[PL_MP_S173FOI80] + ---- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + --SELECT top 1 + -- 'Interfund Capital Protection' AS DES_PROD, + -- '001234.RS.S678' AS COD_CONF, + -- '120,1040' AS QUOTA, + -- '100,1234' AS NUMEROQUOTE, + -- '12.025,22' AS CONTROVALORE, + -- '31/03/2014' AS DATARIF, + -- 'Quota massima' AS DES_MAX, + -- '125,4573' AS QUOTA_MAX, + -- '80' AS QUOTA_MAX_PERC, + -- '31/03/2013' AS DATARIF_MAX, + -- 'Quota e controvalore protetti*' AS DES_PROT, + -- '100,3658' AS QUOTA_PROT, + -- '100,1234' AS NUMEROQUOTE_PROT, + -- '10.048,97' AS CONTROVALORE_PROT + SELECT + DTTRIM, + DTRIFE, + RETE, + CODFIS, + DESPROD, + CODMAN, + CODCONF, + CODPROD, + SUBPROD, + ISIN, + CTV, + PREZZO, + QUOTE, + PREZZOMAX, + DTPREZZOMAX, + DESMAX, + PREZZOPROT, + CTRVIMPPROT, + DESPROT, + DESPRODTIT, + QUOTA_MAX_PERC + FROM C6MartPeriodico.FOI80 + WHERE 1=1 + AND RETE = @Rete + AND CODFIS = @CodiceFiscale + order by ctv desc +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S174Bonus.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S174Bonus.sql new file mode 100644 index 00000000..b914581a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S174Bonus.sql @@ -0,0 +1,34 @@ +--[C6MartPeriodico].[PL_MP_S174Bonus] 'F','80002590711' +CREATE procedure [C6MartPeriodico].[PL_MP_S174Bonus] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT [RETE], + bonus.[COD_FISCALE], + [DES_PROD] = CASE + WHEN desrc.descrizione is null THEN '' + ELSE desrc.descrizione + END, + bonus.[COD_CONF], + bonus.[CTV], + bonus.[DT_TRIM], + 'Bonus Maturato' as [DESBONUS_M], + bonus.[BONUS_M], + bonus.[DTDEC_M], + 'Bonus a scadenza 5 anni' as [DESBONUS_5], + bonus.[BONUS_5], + bonus.[DTDEC_5], + 'Bonus a scadenza 10 anni' as [DESBONUS_10], + bonus.[BONUS_10], + bonus.[DTDEC_10], + bonus.[COD_PROD] + FROM [C6MartPeriodico].[BONUS] bonus + Left Join c6martperiodico.descrizione_bonus desrc + on desrc.cod_prod = bonus.cod_prod + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + order by bonus.[CTV] desc +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S175BlueProtection.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S175BlueProtection.sql new file mode 100644 index 00000000..b4e14c5e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S175BlueProtection.sql @@ -0,0 +1,21 @@ +-- [C6MartPeriodico].[PL_MP_S175BlueProtection] 'F','BBNLSN51E27D612T' +CREATE procedure [C6MartPeriodico].[PL_MP_S175BlueProtection] + ---- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + Controvalore_Riferimento as ControvaloreRiferimento, + Componente_Performance as ComponentePerformance, + Componente_Protezione as ComponenteProtezione, + Controvalore_Prot as ControvaloreProtetto, + DataRif as DataRiferimento, + Des_Prod_Tit as DescrizioneProdotto, + Cod_Conf as Contratto + from [C6MartPeriodico].[CAPPROT_FVI] + where 1 = 1 + and RETE = @Rete + and CODFIS = @CodiceFiscale + and SubProd = 'CS80' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S175LineaProtettaMultiramo.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S175LineaProtettaMultiramo.sql new file mode 100644 index 00000000..37ea01f7 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S175LineaProtettaMultiramo.sql @@ -0,0 +1,20 @@ +-- [C6MartPeriodico].[PL_MP_S175LineaProtettaMultiramo] 'F','QRCRLR38P10G999N' +CREATE procedure [C6MartPeriodico].[PL_MP_S175LineaProtettaMultiramo] + ---- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + Controvalore_Riferimento as ControvaloreRiferimento, + Componente_Performance as ComponentePerformance, + Componente_Protezione as ComponenteProtezione, + Controvalore_Prot as ControvaloreProtetto, + DataRif as DataRiferimento, + Des_Prod as DescrizioneProdotto, + Cod_Conf as Contratto + from [C6MartPeriodico].[CAPPROT_FVI] + where rete = @Rete + and codfis = @CodiceFiscale + and codprod = 'RF' and subprod = 'MP' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S175WhiteProtection.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S175WhiteProtection.sql new file mode 100644 index 00000000..0af4c850 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S175WhiteProtection.sql @@ -0,0 +1,21 @@ +-- [C6MartPeriodico].[PL_MP_S175WhiteProtection] 'F','QRCRLR38P10G999N' +CREATE procedure [C6MartPeriodico].[PL_MP_S175WhiteProtection] + ---- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + Controvalore_Riferimento as ControvaloreRiferimento, + Componente_Performance as ComponentePerformance, + Componente_Protezione as ComponenteProtezione, + Controvalore_Prot as ControvaloreProtetto, + DataRif as DataRiferimento, + Des_Prod_Tit as DescrizioneProdotto, + Cod_Conf as Contratto + from [C6MartPeriodico].[CAPPROT_FVI] + where 1 = 1 + and RETE = @Rete + and CODFIS = @CodiceFiscale + and SubProd = 'CT80' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S176EvoluzioneLineaProtettaMultiramo.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S176EvoluzioneLineaProtettaMultiramo.sql new file mode 100644 index 00000000..ee0f3e7d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S176EvoluzioneLineaProtettaMultiramo.sql @@ -0,0 +1,27 @@ +-- [C6MartPeriodico].[PL_MP_S176EvoluzioneLineaProtettaMultiramo] 'f','BTTMRS67A69F839N' +CREATE procedure [C6MartPeriodico].[PL_MP_S176EvoluzioneLineaProtettaMultiramo] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + 'FV Polizza Multiramo con protezione' as DescrizioneProdotto, + COD_CONF as Contratto, + --DTSOTTOS AS DataSottoscrizione, + --DTRIFE AS DATARIFERIMENTO, + --DTTRIM AS DATATRIM, + convert(datetime, convert(varchar(8), DTRIFE)) AS DATASOTTOSCRIZIONE, + convert(datetime, convert(varchar(8),DTRIFE)) AS DATARIFERIMENTO, + convert(datetime, convert(varchar(8),DTTRIM)) AS DATATRIM, + CTV as CONTROVALORE, + CTVPROT as CONTROVALOREPROTETTO, + CTVMON as CONTROVALOREMONITORATO + FROM [C6MartPeriodico].[STORICO_CAPPROT_FVI] + WHERE RETE = @Rete + AND CODFIS = @CodiceFiscale + order by dtrife +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_MP_S44OperazioniUltimoTrimestre.sql b/sql/storedProduzione/C6MartPeriodico_PL_MP_S44OperazioniUltimoTrimestre.sql new file mode 100644 index 00000000..fb596358 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_MP_S44OperazioniUltimoTrimestre.sql @@ -0,0 +1,23 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[PL_MP_S44OperazioniUltimoTrimestre] +@rete as varchar(1), +@codiceFiscale as varchar(16) +AS +BEGIN + SET NOCOUNT ON; + SELECT CodiceFiscale, + Rete, + DataOperazione, + Contratto, + NumeroContratto as CodiceContratto, + Operazione as Descrizione, + ImportoOperazione as Importo, + FirmaDigitale as Firma + FROM [C6StampeCentralizzate].[C6STAGINGPERIODICO].AM_OperazioniUltimoTrimestre + WHERE CodiceFiscale = @codiceFiscale and + Rete = @rete ; +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_Prodotti_Non_Associati_Area_Inv.sql b/sql/storedProduzione/C6MartPeriodico_PL_Prodotti_Non_Associati_Area_Inv.sql new file mode 100644 index 00000000..7423f67e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_Prodotti_Non_Associati_Area_Inv.sql @@ -0,0 +1,50 @@ +-- ============================================= +-- AUTHOR: ALESSANDRO TRINGALI +-- CREATE DATE: 24 SETTEMBRE 2009 +-- DESCRIPTION: +-- ============================================= +-- [C6MartPeriodico].[PL_Prodotti_Non_Associati_Area_Inv] 'F', 'RLPRCL54P61Z116S' +CREATE procedure [C6MartPeriodico].[PL_Prodotti_Non_Associati_Area_Inv] + -- ADD THE PARAMETERS FOR THE STORED PROCEDURE HERE + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') AS NOME_PROGETTO, +ID_AREA as NEED_AREA, +SUM(CTV) AS CONTROVALOREATTUALE, +MAX(ISNULL(RISK.VAR_PERC_PTF,0)) AS var_needarea, +--PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString +FROM +C6MARTPERIODICO.PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +C6MARTPERIODICO.RISCHIO_AGGREGATO RISK +ON PATRBF.RETE = RISK.RETE + AND PATRBF.COD_FISCALE = RISK.COD_FISCALE + AND RISK.COD_AGGREG = 'PIRAMIDE|Inv|'+ ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.id_AREA = 'Inv' + AND PATRBF.NOME_PROGETTO='Prodotti non associati a progetti' +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti'), +ID_AREA, +CHIAVE_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S102DistribuzioneRischioCredito.sql b/sql/storedProduzione/C6MartPeriodico_PL_S102DistribuzioneRischioCredito.sql new file mode 100644 index 00000000..175b4c56 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S102DistribuzioneRischioCredito.sql @@ -0,0 +1,621 @@ +-- Stored procedure +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S102DistribuzioneRischioCredito] 'F','94009110068' +CREATE procedure [C6MartPeriodico].[PL_S102DistribuzioneRischioCredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest', 'IW Private Investments') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' WHEN PATRBF.RETE = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' WHEN PATRBF.RETE = 'S' THEN 'SANPAOLO' ELSE 'IWPRIVATEINVESTMENTS' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_S102DistribuzioneRischioCredito] Script Date: 10/02/2022 16:39:24 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Authors: +---- Create date: +---- Description: +---- ============================================= +---- [C6MartPeriodico].[PL_S102DistribuzioneRischioCredito] 'F','94009110068' +--ALTER procedure [C6MartPeriodico].[PL_S102DistribuzioneRischioCredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +----QUERY PER INTERMEDIARIO +--SELECT +--RETE, +--COD_FISCALE, +--INTERMEDIARIO, +--CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 +-- ELSE 2 END AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +-- -- Start 1.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +----SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +--FROM +--[C6Martperiodico].PATRIMONIO_BF PATRBF +-----Per calcolare la somma algebrica dei cc +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MARTPERIODICO].pATRIMONIO_BF +--where id_Area='Cc' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +----fine calcolo somma cc +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +----INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +--LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END, +--CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +----- End 1.1 +--UNION ALL +---- Start 1.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--PATRTERZI.INTERMEDIARIO, +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6Martperiodico].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--PATRTERZI.INTERMEDIARIO, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 1.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE, +--INTERMEDIARIO +---------- +--UNION ALL +------------- +----QUERY TOTALE +--SELECT +--RETE, +--COD_FISCALE, +--'Complessivo' AS INTERMEDIARIO, +--3 AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +----- Start 2.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +----SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +--FROM +--[C6Martperiodico].PATRIMONIO_BF PATRBF +----per fare la somma algebrica dei cc +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MARTPERIODICO].pATRIMONIO_BF +--where id_Area='Cc' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +----fine somma cc +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 2.1 +--UNION ALL +---- Start 2.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +--left outer join +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6Martperiodico].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +----- End 2.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S102DistribuzioneRischioCredito_OLD.sql b/sql/storedProduzione/C6MartPeriodico_PL_S102DistribuzioneRischioCredito_OLD.sql new file mode 100644 index 00000000..1436acf3 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S102DistribuzioneRischioCredito_OLD.sql @@ -0,0 +1,279 @@ +-- Stored procedure +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S102DistribuzioneRischioCredito] 'F','94009110068' +CREATE procedure [C6MartPeriodico].[PL_S102DistribuzioneRischioCredito_OLD] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Banca Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe 1' THEN CTV ELSE 0 END) AS CTV_Class1, +SUM(CASE WHEN RISKCLASS = 'Classe 2' THEN CTV ELSE 0 END) AS CTV_Class2, +SUM(CASE WHEN RISKCLASS = 'Classe 3' THEN CTV ELSE 0 END) AS CTV_Class3, +SUM(CASE WHEN RISKCLASS = 'Oltre Classe 3' THEN CTV ELSE 0 END) AS CTV_overClass3, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe 1' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class1, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe 2' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class2, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe 3' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class3, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Oltre Classe 3' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS perc_overClass3, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(ctv))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA = 0 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|'+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA = 0 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA = 0 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA = 0 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe 1' THEN CTV ELSE 0 END) AS CTV_Class1, +SUM(CASE WHEN RISKCLASS = 'Classe 2' THEN CTV ELSE 0 END) AS CTV_Class2, +SUM(CASE WHEN RISKCLASS = 'Classe 3' THEN CTV ELSE 0 END) AS CTV_Class3, +SUM(CASE WHEN RISKCLASS = 'Oltre Classe 3' THEN CTV ELSE 0 END) AS CTV_overClass3, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe 1' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class1, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe 2' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class2, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe 3' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class3, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Oltre Classe 3' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS perc_overClass3, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(ctv))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA =0 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|'++ isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA = 0 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA =0 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA =0 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S103TabellaEmittenti.sql b/sql/storedProduzione/C6MartPeriodico_PL_S103TabellaEmittenti.sql new file mode 100644 index 00000000..7a8b8a53 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S103TabellaEmittenti.sql @@ -0,0 +1,220 @@ +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6MartPeriodico].[PL_S103TabellaEmittenti] 'S','RTRRLF23S12Z105V' +CREATE procedure [C6MartPeriodico].[PL_S103TabellaEmittenti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT +COD_FISCALE, +RETE, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +INTERMEDIARIO, +ISSUER, +STOCKSCounterValue, +bondsCounterValue, +CONCENTRATION_ISSUER, +CONCENTRATION, +NC +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +FROM +( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS +) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10 +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S103TabellaEmittenti_OLD.sql b/sql/storedProduzione/C6MartPeriodico_PL_S103TabellaEmittenti_OLD.sql new file mode 100644 index 00000000..0a018dfe --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S103TabellaEmittenti_OLD.sql @@ -0,0 +1,178 @@ +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6MartPeriodico].[PL_S103TabellaEmittenti] 'S','RTRRLF23S12Z105V' +CREATE procedure [C6MartPeriodico].[PL_S103TabellaEmittenti_OLD] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT +COD_FISCALE, +RETE, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4 , +INTERMEDIARIO, +ISSUER, +STOCKSCounterValue, +bondsCounterValue, +CONCENTRATION_ISSUER, +CONCENTRATION, +NC +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4 , + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +FROM +( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN CREDITRISKCLASS ='Classe 1' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Classe 2' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Classe 3' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Oltre Classe 3' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS +) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4 , + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN CREDITRISKCLASS ='Classe 1' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Classe 2' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Classe 3' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Oltre Classe 3' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4 +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S10PatrimonioFinanziario.sql b/sql/storedProduzione/C6MartPeriodico_PL_S10PatrimonioFinanziario.sql new file mode 100644 index 00000000..4e6ba2f4 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S10PatrimonioFinanziario.sql @@ -0,0 +1,18 @@ +CREATE procedure [C6MartPeriodico].[PL_S10PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [Banca] + ,[Ordinamento] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_S10PatrimonioFinanziario] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S10PatrimonioFinanziario_BkUpParall.sql b/sql/storedProduzione/C6MartPeriodico_PL_S10PatrimonioFinanziario_BkUpParall.sql new file mode 100644 index 00000000..f13bad0c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S10PatrimonioFinanziario_BkUpParall.sql @@ -0,0 +1,122 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S10PatrimonioFinanziario] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[PL_S10PatrimonioFinanziario_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(19,5)) AS Controvalore, + cast(A.Percentuale as decimal(19,5)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Banca Fideuram' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- inizio interventi OMNIA +-- and patrbf.id_area <> 'CC' + and patrbf.id_area not in ('CC', 'SELF') +-- inizio interventi OMNIA + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S170LimitiMassimi.sql b/sql/storedProduzione/C6MartPeriodico_PL_S170LimitiMassimi.sql new file mode 100644 index 00000000..99ba6d44 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S170LimitiMassimi.sql @@ -0,0 +1,50 @@ +-- [C6MartPeriodico].[PL_S170LimitiMassimi] 'f', 'PVRPGS53C25G388A' +CREATE procedure [C6MartPeriodico].[PL_S170LimitiMassimi] --'S','FGGMSM57H28G999D' + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @FLAGPROF varchar(16) +SET @FLAGPROF= (select distinct FLGPROF from C6MartPeriodico.WSEIAN2 where rete=@rete and CODFIS=@CodiceFiscale) +DECLARE @SCADUTO_PARZIALE varchar(16) +SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) +-- 2/7/2018 - CR NAPOLITANO CASI 11-14 -> Persona Giuridica Retail con Nuovo questionario di profilatura (Legali Rappresentanti/Delegati NON Profilati) +DECLARE @newLimiteProfilo varchar(20) +if ltrim(rtrim([C6MartPeriodico].[getIndicatoreValutazione] (@Rete,@CodiceFiscale,default))) = '-1' + set @newLimiteProfilo = 'n.d.' +else + select @newLimiteProfilo = + case experience + when 0 then 'Minima' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + --when 5 then 'Alta' + else '-' + end + from C6MartPERIODICO.MIFID + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +select 'Limite massimo profilo', + '-' as Controvalore, + case when @SCADUTO_PARZIALE='P' then '-' else isnull(risk.descr, 0) + end as rischioCreditoMassimo, + case when @SCADUTO_PARZIALE='P' then '-' else + cast(isnull(CR.MAX_VAR, 0) as varchar(20)) + end + as varMassimo, + '-' as Diversificazione, + case when @SCADUTO_PARZIALE='P' then '-' + when @FLAGPROF='S' then 'n.a.' --per i clienti Professionali + else @newLimiteProfilo end as Complessita +from C6MartPERIODICO.MIFID AS M +left JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR +ON M.PROFILO_ASS = CR.PROFILO +left join [C6StagingPeriodico].[RISKCLASS] risk +ON m.riskclass = risk.cod +WHERE +M.RETE = @Rete AND +M.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S170LimitiMassimi_20180612.sql b/sql/storedProduzione/C6MartPeriodico_PL_S170LimitiMassimi_20180612.sql new file mode 100644 index 00000000..d3b9b883 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S170LimitiMassimi_20180612.sql @@ -0,0 +1,29 @@ +-- [C6MartPeriodico].[PL_S170LimitiMassimi] 'F','DTARSR51M26F839O' +CREATE procedure [C6MartPeriodico].[PL_S170LimitiMassimi_20180612] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +select 'Limite massimo profilo', + '-' as Controvalore, + risk.descr as rischioCreditoMassimo, + CR.MAX_VAR as varMassimo, + '-' as Diversificazione, + case m.experience + when 0 then '-' + when 1 then 'Minima' + when 2 then 'Bassa' + when 3 then 'Media' + when 4 then 'Alta' + when 5 then 'Molto alta' + else '-' + end as Complessita +from C6MartPERIODICO.MIFID AS M +INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR +ON M.PROFILO_ASS = CR.PROFILO +inner join [C6StagingPeriodico].[RISKCLASS] risk +ON m.riskclass = risk.cod +WHERE +M.RETE = @Rete AND +M.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S170LimitiMassimi_20180702.sql b/sql/storedProduzione/C6MartPeriodico_PL_S170LimitiMassimi_20180702.sql new file mode 100644 index 00000000..ba9a6185 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S170LimitiMassimi_20180702.sql @@ -0,0 +1,29 @@ +-- [C6MartPeriodico].[PL_S170LimitiMassimi] 'F','DTARSR51M26F839O' +CREATE procedure [C6MartPeriodico].[PL_S170LimitiMassimi_20180702] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +select 'Limite massimo profilo', + '-' as Controvalore, + isnull(risk.descr, 0) as rischioCreditoMassimo, + isnull(CR.MAX_VAR, 0) as varMassimo, + '-' as Diversificazione, + case m.experience + when 0 then '-' + when 1 then 'Minima' + when 2 then 'Bassa' + when 3 then 'Media' + when 4 then 'Alta' + when 5 then 'Molto alta' + else '-' + end as Complessita +from C6MartPERIODICO.MIFID AS M +left JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR +ON M.PROFILO_ASS = CR.PROFILO +left join [C6StagingPeriodico].[RISKCLASS] risk +ON m.riskclass = risk.cod +WHERE +M.RETE = @Rete AND +M.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S170LimitiMassimi_BKP_20231115_PRE_RAFFORZAMENTO.sql b/sql/storedProduzione/C6MartPeriodico_PL_S170LimitiMassimi_BKP_20231115_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..e4402430 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S170LimitiMassimi_BKP_20231115_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,43 @@ +-- [C6MartPeriodico].[PL_S170LimitiMassimi] 'f', '00247580970' +CREATE procedure [C6MartPeriodico].[PL_S170LimitiMassimi_BKP_20231115_PRE_RAFFORZAMENTO] --'S','FGGMSM57H28G999D' + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @FLAGPROF varchar(16) +SET @FLAGPROF= (select distinct FLGPROF from C6MartPeriodico.WSEIAN2 where rete=@rete and CODFIS=@CodiceFiscale) +-- 2/7/2018 - CR NAPOLITANO CASI 11-14 -> Persona Giuridica Retail con Nuovo questionario di profilatura (Legali Rappresentanti/Delegati NON Profilati) +DECLARE @newLimiteProfilo varchar(20) +if ltrim(rtrim([C6MartPeriodico].[getIndicatoreValutazione] (@Rete,@CodiceFiscale,default))) = '-1' + set @newLimiteProfilo = 'n.d.' +else + select @newLimiteProfilo = + case experience + when 0 then 'Minima' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + --when 5 then 'Alta' + else '-' + end + from C6MartPERIODICO.MIFID + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +select 'Limite massimo profilo', + '-' as Controvalore, + isnull(risk.descr, 0) as rischioCreditoMassimo, + isnull(CR.MAX_VAR, 0) as varMassimo, + '-' as Diversificazione, + case when @FLAGPROF='S' then 'n.a.' --per i clienti Professionali + else @newLimiteProfilo end as Complessita +from C6MartPERIODICO.MIFID AS M +left JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR +ON M.PROFILO_ASS = CR.PROFILO +left join [C6StagingPeriodico].[RISKCLASS] risk +ON m.riskclass = risk.cod +WHERE +M.RETE = @Rete AND +M.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno.sql b/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno.sql new file mode 100644 index 00000000..ba480b96 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno.sql @@ -0,0 +1,167 @@ +--[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno] 'f', '01913040406' +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT -- PER DIVERSI DA CC ************************ + case + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --when (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (Isin = 'LU1106988527' ) then 'INTERFUND 80' -- INTERFUND 80 + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + when (tipo_prodotto = 'fi' and cod_sottoprodotto = 'f43' and cod_interno = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (cod_sottoprodotto = 'cs80') then 'My Blue Protection 80' + when (cod_sottoprodotto = 'ct80') then 'My White Protection 80' + when (cod_interno = 'rf') then 'Linea Multiramo' + else '' + end as nomeprod, + RETE AS RETE, + cod_fiscale AS COD_FISCALE, + POSITION_ID AS POSITIONID, + SUBSTRING(POSITION_ID,1,57) AS COD_PRODOTTO, + ID_CONTRATTO AS ID_CONTRATTO, + CASE WHEN ISDATE(data_sottoscrizione) = 0 THEN NULL + ELSE CAST(data_sottoscrizione AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + NUM_POLIZZA AS NUM_POLIZZA, + COD_MAF AS COD_MAF, + COD_INTERNO AS COD_INTERNO, + COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + TIPO_PRODOTTO AS TIPO_PRODOTTO, + id_area AS ID_AREA, + CTV AS ctv, + ISIN, + --CON.chiaveClientePB, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + --CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CHIAVE_PROGETTO, + --fix 17/7/2019 per problemi di arrotondamento + --convert(decimal(12,2),0) as controvalore_protetto + convert(decimal(12,4),0) as controvalore_protetto + --fine fix 17/7/2019 per problemi di arrotondamento + INTO #PATR_BF + from c6martperiodico.patrimonio_bf + WHERE + cod_fiscale = @CodiceFiscale + and rete = @rete + and + ( + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --(Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + (Isin = 'LU1106988527' ) -- INTERFUND 80/CAPPROT + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + or + (tipo_prodotto = 'fi' -- FONDITALIA 80/FOI80 + and cod_sottoprodotto = 'f43' + and cod_interno = '01') + or + cod_sottoprodotto in ('cs80', 'ct80') -- myblue, mywhite + or + (cod_interno = 'RF') -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + ) + --aggiunta 20240509 + and CTV>0.1 +--------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') +-------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf +----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where patrimonio.id_contratto = foi.codconf +----------------------------------------- aggiorno il capitale protetto della linea multiramo protetta + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf + where + p.cod_interno = 'RF' +------------------------------------------------------------------------raggruppo per area + -- modifica del 21/12/2017 + --select id_area,round(sum(controvalore_protetto),0) as totCapProt + -- 20180717 Modificata per codificare Pre1 o Pre2 in Pre + --select id_area,sum(controvalore_protetto) as totCapProt + select + case + when id_area = 'Pre1' or id_area = 'Pre2' then 'Pre' + else id_area + end as id_area, + sum(controvalore_protetto) as totCapProt + --fine modifica del 20180717 + -- fine modifica del 21/12/2017 + into #capitaleProtetto + from #PATR_BF + --- modifica del 20/12/2017 per segnalazione qc + --where REND_NON_RAPPR = 0 + --- fine modifica del 20/12/2017 per segnalazione qc + group by id_area +--------------------------------------------------------------- +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + ,case + when ISNULL(cap.totCapProt,0) = 0 then 0 + --fix 17/7/2019 per problemi di arrotondamento + --else cap.totCapProt + else convert(decimal(12,2),cap.totCapProt) + --fine fix 17/7/2019 per problemi di arrotondamento + end as [capprot] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] pir + left join #capitaleProtetto cap + on pir.needarea = cap.id_area + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171201_ori.sql b/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171201_ori.sql new file mode 100644 index 00000000..ba5445b2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171201_ori.sql @@ -0,0 +1,210 @@ +--[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno] 'f','BCCRRT43T09H449J' +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20171201_ori] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +-------------- recupero i totali dei prodotti a capitale protetto raggruppati per area di bisogno +SELECT -- PER DIVERSI DA CC ************************ + case + when (SPB.Isin = 'LU1106988527' and codprod in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (spb.tipprod = 'fi' and spb.subprod = 'f43' and spb.codint = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (spb.subprod = 'cs80') then 'My Blue Protection 80' + when (spb.subprod = 'ct80') then 'My White Protection 80' + else '' + end as nomeprod, + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE replace (LTRIM(RTRIM(CON.nomeProgetto)), ';', '') + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + SPB.CTV AS CAPPROT, + SPB.ISIN, + CON.chiaveClientePB, + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO + INTO #PATR_BF + FROM C6StagingPeriodico.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE + spb.CODFIS = @CodiceFiscale and + SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' + and + ((SPB.Isin = 'LU1106988527' and codprod in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + or + (spb.tipprod = 'fi' -- FONDITALIA 80/FOI80 + and spb.subprod = 'f43' + and spb.codint = '01') + or + spb.subprod in ('cs80', 'ct80') -- myblue, mywhite + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + CONS.CodIsin, + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD + AND TCP.SUBPROD=TSCA.SUBPROD + AND TCP.ISIN=TSCA.ISIN + AND TCP.dtrif=TSCA.dtrif + AND TCP.dtingresso=TSCA.dtingresso + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + C6StagingPeriodico.RP_CONSULENZA AS CONS + ON + TSCA.CODCONF = CONS.CODCONF + AND (TSCA.CODPROD = CONS.CodInterno + OR TSCA.CODABI = CONS.CodInterno) + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') + AND ISNULL(TSCA.ISIN, '') = ISNULL(CONS.CodIsin, '') + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE + TSCA.CODFIS =@CodiceFiscale + and TCP.dtuscita = '99991231' + UPDATE PATR_BF + SET PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN #PATR_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITIONID = REND_NON_RAPPR.POSITION_ID + --------- Individuati i prodotti, devo prendere il capitale protetto sulle tabelle relative + ---Interfund Crescita Protetta 80 (tipoprodotto ASU1) e presente sulla tabella [C6MartPeriodico].[CAPPROT] + ---Fonditalia Crescita protetta 80 --> FOI80 + UPDATE patrimonio + set patrimonio.capprot = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf + UPDATE patrimonio + set patrimonio.capprot = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where patrimonio.id_contratto = foi.codconf + ----------------------------------------raggruppo per area + select id_area,sum(capprot) as totCapProt + into #capitaleProtetto + from #PATR_BF + where REND_NON_RAPPR = 0 + group by id_area +----------------------------------------------------------------- +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + ,case + when ISNULL(cap.totCapProt,0) = 0 then 0 + else cap.totCapProt + end as [capprot] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] pir + left join #capitaleProtetto cap + on pir.needarea = cap.id_area + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171215.sql b/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171215.sql new file mode 100644 index 00000000..ab342993 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171215.sql @@ -0,0 +1,233 @@ +--[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno] 'f','BCCRRT43T09H449J' +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20171215] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +-------------- recupero i totali dei prodotti a capitale protetto raggruppati per area di bisogno +SELECT -- PER DIVERSI DA CC ************************ + case + when (SPB.Isin = 'LU1106988527' and codprod in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (spb.tipprod = 'fi' and spb.subprod = 'f43' and spb.codint = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (spb.subprod = 'cs80') then 'My Blue Protection 80' + when (spb.subprod = 'ct80') then 'My White Protection 80' + else '' + end as nomeprod, + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE replace (LTRIM(RTRIM(CON.nomeProgetto)), ';', '') + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + SPB.CTV AS ctv, + SPB.ISIN, + CON.chiaveClientePB, + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO, + convert(decimal(12,2),0) as controvalore_protetto + INTO #PATR_BF + FROM C6StagingPeriodico.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE + spb.CODFIS = @CodiceFiscale and + SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' + and + ((SPB.Isin = 'LU1106988527' and codprod in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + or + (spb.tipprod = 'fi' -- FONDITALIA 80/FOI80 + and spb.subprod = 'f43' + and spb.codint = '01') + or + spb.subprod in ('cs80', 'ct80') -- myblue, mywhite + or + (spb.codprod = 'RF' -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + and spb.subprod = 'MP') + ) + --------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') + -------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf + ----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where patrimonio.id_contratto = foi.codconf + ----------------------------------------- aggiorno il capitale protetto della linea multiramo protetta + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RF' and p.cod_sottoprodotto = 'MP' + -------------------------------------------------------------------------- + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + CONS.CodIsin, + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD + AND TCP.SUBPROD=TSCA.SUBPROD + AND TCP.ISIN=TSCA.ISIN + AND TCP.dtrif=TSCA.dtrif + AND TCP.dtingresso=TSCA.dtingresso + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + C6StagingPeriodico.RP_CONSULENZA AS CONS + ON + TSCA.CODCONF = CONS.CODCONF + AND (TSCA.CODPROD = CONS.CodInterno + OR TSCA.CODABI = CONS.CodInterno) + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') + AND ISNULL(TSCA.ISIN, '') = ISNULL(CONS.CodIsin, '') + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE + TSCA.CODFIS =@CodiceFiscale + and TCP.dtuscita = '99991231' + UPDATE PATR_BF + SET PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN #PATR_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITIONID = REND_NON_RAPPR.POSITION_ID + ----------------------------------------------------- + ----------------------------------------raggruppo per area + select id_area,round(sum(controvalore_protetto),0) as totCapProt + into #capitaleProtetto + from #PATR_BF + where REND_NON_RAPPR = 0 + group by id_area + --------------------------------------------------------- +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + ,case + when ISNULL(cap.totCapProt,0) = 0 then 0 + else cap.totCapProt + end as [capprot] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] pir + left join #capitaleProtetto cap + on pir.needarea = cap.id_area + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171220.sql b/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171220.sql new file mode 100644 index 00000000..a685c86f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171220.sql @@ -0,0 +1,140 @@ +--[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno] 'f','BCCRRT43T09H449J' +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20171220] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT -- PER DIVERSI DA CC ************************ + case + when (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (tipo_prodotto = 'fi' and cod_sottoprodotto = 'f43' and cod_interno = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (cod_sottoprodotto = 'cs80') then 'My Blue Protection 80' + when (cod_sottoprodotto = 'ct80') then 'My White Protection 80' + when (cod_interno = 'rf') then 'Linea Multiramo' + else '' + end as nomeprod, + RETE AS RETE, + cod_fiscale AS COD_FISCALE, + POSITION_ID AS POSITIONID, + SUBSTRING(POSITION_ID,1,57) AS COD_PRODOTTO, + ID_CONTRATTO AS ID_CONTRATTO, + CASE WHEN ISDATE(data_sottoscrizione) = 0 THEN NULL + ELSE CAST(CAST(data_sottoscrizione AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + NUM_POLIZZA AS NUM_POLIZZA, + COD_MAF AS COD_MAF, + COD_INTERNO AS COD_INTERNO, + COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + TIPO_PRODOTTO AS TIPO_PRODOTTO, + id_area AS ID_AREA, + CTV AS ctv, + ISIN, + --CON.chiaveClientePB, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + --CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CHIAVE_PROGETTO, + convert(decimal(12,2),0) as controvalore_protetto + INTO #PATR_BF + from c6martperiodico.patrimonio_bf + WHERE + cod_fiscale = @CodiceFiscale + and rete = @rete + and + ( + (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + or + (tipo_prodotto = 'fi' -- FONDITALIA 80/FOI80 + and cod_sottoprodotto = 'f43' + and cod_interno = '01') + or + cod_sottoprodotto in ('cs80', 'ct80') -- myblue, mywhite + or + (cod_interno = 'RF') -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + ) +--------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') +-------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf +----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where patrimonio.id_contratto = foi.codconf +----------------------------------------- aggiorno il capitale protetto della linea multiramo protetta + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf + where + p.cod_interno = 'RF' +------------------------------------------------------------------------raggruppo per area + select id_area,round(sum(controvalore_protetto),0) as totCapProt + into #capitaleProtetto + from #PATR_BF + where REND_NON_RAPPR = 0 + group by id_area +--------------------------------------------------------------- +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + ,case + when ISNULL(cap.totCapProt,0) = 0 then 0 + else cap.totCapProt + end as [capprot] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] pir + left join #capitaleProtetto cap + on pir.needarea = cap.id_area + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171221.sql b/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171221.sql new file mode 100644 index 00000000..3b31a05d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171221.sql @@ -0,0 +1,142 @@ +--[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno] 'f','BCCRRT43T09H449J' +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20171221] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT -- PER DIVERSI DA CC ************************ + case + when (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (tipo_prodotto = 'fi' and cod_sottoprodotto = 'f43' and cod_interno = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (cod_sottoprodotto = 'cs80') then 'My Blue Protection 80' + when (cod_sottoprodotto = 'ct80') then 'My White Protection 80' + when (cod_interno = 'rf') then 'Linea Multiramo' + else '' + end as nomeprod, + RETE AS RETE, + cod_fiscale AS COD_FISCALE, + POSITION_ID AS POSITIONID, + SUBSTRING(POSITION_ID,1,57) AS COD_PRODOTTO, + ID_CONTRATTO AS ID_CONTRATTO, + CASE WHEN ISDATE(data_sottoscrizione) = 0 THEN NULL + ELSE CAST(CAST(data_sottoscrizione AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + NUM_POLIZZA AS NUM_POLIZZA, + COD_MAF AS COD_MAF, + COD_INTERNO AS COD_INTERNO, + COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + TIPO_PRODOTTO AS TIPO_PRODOTTO, + id_area AS ID_AREA, + CTV AS ctv, + ISIN, + --CON.chiaveClientePB, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + --CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CHIAVE_PROGETTO, + convert(decimal(12,2),0) as controvalore_protetto + INTO #PATR_BF + from c6martperiodico.patrimonio_bf + WHERE + cod_fiscale = @CodiceFiscale + and rete = @rete + and + ( + (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + or + (tipo_prodotto = 'fi' -- FONDITALIA 80/FOI80 + and cod_sottoprodotto = 'f43' + and cod_interno = '01') + or + cod_sottoprodotto in ('cs80', 'ct80') -- myblue, mywhite + or + (cod_interno = 'RF') -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + ) +--------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') +-------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf +----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where patrimonio.id_contratto = foi.codconf +----------------------------------------- aggiorno il capitale protetto della linea multiramo protetta + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf + where + p.cod_interno = 'RF' +------------------------------------------------------------------------raggruppo per area + select id_area,round(sum(controvalore_protetto),0) as totCapProt + into #capitaleProtetto + from #PATR_BF + --- modifica del 20/12/2017 per segnalazione qc + --where REND_NON_RAPPR = 0 + --- fine modifica del 20/12/2017 per segnalazione qc + group by id_area +--------------------------------------------------------------- +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + ,case + when ISNULL(cap.totCapProt,0) = 0 then 0 + else cap.totCapProt + end as [capprot] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] pir + left join #capitaleProtetto cap + on pir.needarea = cap.id_area + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180119.sql b/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180119.sql new file mode 100644 index 00000000..a731026a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180119.sql @@ -0,0 +1,150 @@ +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20180119] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT -- PER DIVERSI DA CC ************************ + case + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --when (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (Isin = 'LU1106988527' ) then 'INTERFUND 80' -- INTERFUND 80 + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + when (tipo_prodotto = 'fi' and cod_sottoprodotto = 'f43' and cod_interno = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (cod_sottoprodotto = 'cs80') then 'My Blue Protection 80' + when (cod_sottoprodotto = 'ct80') then 'My White Protection 80' + when (cod_interno = 'rf') then 'Linea Multiramo' + else '' + end as nomeprod, + RETE AS RETE, + cod_fiscale AS COD_FISCALE, + POSITION_ID AS POSITIONID, + SUBSTRING(POSITION_ID,1,57) AS COD_PRODOTTO, + ID_CONTRATTO AS ID_CONTRATTO, + CASE WHEN ISDATE(data_sottoscrizione) = 0 THEN NULL + ELSE CAST(CAST(data_sottoscrizione AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + NUM_POLIZZA AS NUM_POLIZZA, + COD_MAF AS COD_MAF, + COD_INTERNO AS COD_INTERNO, + COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + TIPO_PRODOTTO AS TIPO_PRODOTTO, + id_area AS ID_AREA, + CTV AS ctv, + ISIN, + --CON.chiaveClientePB, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + --CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CHIAVE_PROGETTO, + convert(decimal(12,2),0) as controvalore_protetto + INTO #PATR_BF + from c6martperiodico.patrimonio_bf + WHERE + cod_fiscale = @CodiceFiscale + and rete = @rete + and + ( + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --(Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + (Isin = 'LU1106988527' ) -- INTERFUND 80/CAPPROT + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + or + (tipo_prodotto = 'fi' -- FONDITALIA 80/FOI80 + and cod_sottoprodotto = 'f43' + and cod_interno = '01') + or + cod_sottoprodotto in ('cs80', 'ct80') -- myblue, mywhite + or + (cod_interno = 'RF') -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + ) +--------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') +-------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf +----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where patrimonio.id_contratto = foi.codconf +----------------------------------------- aggiorno il capitale protetto della linea multiramo protetta + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf + where + p.cod_interno = 'RF' +------------------------------------------------------------------------raggruppo per area + -- modifica del 21/12/2017 + --select id_area,round(sum(controvalore_protetto),0) as totCapProt + select id_area,sum(controvalore_protetto) as totCapProt + -- fine modifica del 21/12/2017 + into #capitaleProtetto + from #PATR_BF + --- modifica del 20/12/2017 per segnalazione qc + --where REND_NON_RAPPR = 0 + --- fine modifica del 20/12/2017 per segnalazione qc + group by id_area +--------------------------------------------------------------- +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + ,case + when ISNULL(cap.totCapProt,0) = 0 then 0 + else cap.totCapProt + end as [capprot] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] pir + left join #capitaleProtetto cap + on pir.needarea = cap.id_area + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180717_PrePre1Pre2.sql b/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180717_PrePre1Pre2.sql new file mode 100644 index 00000000..fc4b1aac --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180717_PrePre1Pre2.sql @@ -0,0 +1,150 @@ +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20180717_PrePre1Pre2] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT -- PER DIVERSI DA CC ************************ + case + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --when (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (Isin = 'LU1106988527' ) then 'INTERFUND 80' -- INTERFUND 80 + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + when (tipo_prodotto = 'fi' and cod_sottoprodotto = 'f43' and cod_interno = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (cod_sottoprodotto = 'cs80') then 'My Blue Protection 80' + when (cod_sottoprodotto = 'ct80') then 'My White Protection 80' + when (cod_interno = 'rf') then 'Linea Multiramo' + else '' + end as nomeprod, + RETE AS RETE, + cod_fiscale AS COD_FISCALE, + POSITION_ID AS POSITIONID, + SUBSTRING(POSITION_ID,1,57) AS COD_PRODOTTO, + ID_CONTRATTO AS ID_CONTRATTO, + CASE WHEN ISDATE(data_sottoscrizione) = 0 THEN NULL + ELSE CAST(data_sottoscrizione AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + NUM_POLIZZA AS NUM_POLIZZA, + COD_MAF AS COD_MAF, + COD_INTERNO AS COD_INTERNO, + COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + TIPO_PRODOTTO AS TIPO_PRODOTTO, + id_area AS ID_AREA, + CTV AS ctv, + ISIN, + --CON.chiaveClientePB, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + --CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CHIAVE_PROGETTO, + convert(decimal(12,2),0) as controvalore_protetto + INTO #PATR_BF + from c6martperiodico.patrimonio_bf + WHERE + cod_fiscale = @CodiceFiscale + and rete = @rete + and + ( + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --(Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + (Isin = 'LU1106988527' ) -- INTERFUND 80/CAPPROT + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + or + (tipo_prodotto = 'fi' -- FONDITALIA 80/FOI80 + and cod_sottoprodotto = 'f43' + and cod_interno = '01') + or + cod_sottoprodotto in ('cs80', 'ct80') -- myblue, mywhite + or + (cod_interno = 'RF') -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + ) +--------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') +-------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf +----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where patrimonio.id_contratto = foi.codconf +----------------------------------------- aggiorno il capitale protetto della linea multiramo protetta + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf + where + p.cod_interno = 'RF' +------------------------------------------------------------------------raggruppo per area + -- modifica del 21/12/2017 + --select id_area,round(sum(controvalore_protetto),0) as totCapProt + select id_area,sum(controvalore_protetto) as totCapProt + -- fine modifica del 21/12/2017 + into #capitaleProtetto + from #PATR_BF + --- modifica del 20/12/2017 per segnalazione qc + --where REND_NON_RAPPR = 0 + --- fine modifica del 20/12/2017 per segnalazione qc + group by id_area +--------------------------------------------------------------- +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + ,case + when ISNULL(cap.totCapProt,0) = 0 then 0 + else cap.totCapProt + end as [capprot] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] pir + left join #capitaleProtetto cap + on pir.needarea = cap.id_area + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20190717_preFixArrotondamento.sql b/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20190717_preFixArrotondamento.sql new file mode 100644 index 00000000..3e81caa1 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20190717_preFixArrotondamento.sql @@ -0,0 +1,158 @@ +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20190717_preFixArrotondamento] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT -- PER DIVERSI DA CC ************************ + case + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --when (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (Isin = 'LU1106988527' ) then 'INTERFUND 80' -- INTERFUND 80 + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + when (tipo_prodotto = 'fi' and cod_sottoprodotto = 'f43' and cod_interno = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (cod_sottoprodotto = 'cs80') then 'My Blue Protection 80' + when (cod_sottoprodotto = 'ct80') then 'My White Protection 80' + when (cod_interno = 'rf') then 'Linea Multiramo' + else '' + end as nomeprod, + RETE AS RETE, + cod_fiscale AS COD_FISCALE, + POSITION_ID AS POSITIONID, + SUBSTRING(POSITION_ID,1,57) AS COD_PRODOTTO, + ID_CONTRATTO AS ID_CONTRATTO, + CASE WHEN ISDATE(data_sottoscrizione) = 0 THEN NULL + ELSE CAST(data_sottoscrizione AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + NUM_POLIZZA AS NUM_POLIZZA, + COD_MAF AS COD_MAF, + COD_INTERNO AS COD_INTERNO, + COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + TIPO_PRODOTTO AS TIPO_PRODOTTO, + id_area AS ID_AREA, + CTV AS ctv, + ISIN, + --CON.chiaveClientePB, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + --CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CHIAVE_PROGETTO, + convert(decimal(12,2),0) as controvalore_protetto + INTO #PATR_BF + from c6martperiodico.patrimonio_bf + WHERE + cod_fiscale = @CodiceFiscale + and rete = @rete + and + ( + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --(Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + (Isin = 'LU1106988527' ) -- INTERFUND 80/CAPPROT + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + or + (tipo_prodotto = 'fi' -- FONDITALIA 80/FOI80 + and cod_sottoprodotto = 'f43' + and cod_interno = '01') + or + cod_sottoprodotto in ('cs80', 'ct80') -- myblue, mywhite + or + (cod_interno = 'RF') -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + ) +--------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') +-------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf +----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where patrimonio.id_contratto = foi.codconf +----------------------------------------- aggiorno il capitale protetto della linea multiramo protetta + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf + where + p.cod_interno = 'RF' +------------------------------------------------------------------------raggruppo per area + -- modifica del 21/12/2017 + --select id_area,round(sum(controvalore_protetto),0) as totCapProt + -- 20180717 Modificata per codificare Pre1 o Pre2 in Pre + --select id_area,sum(controvalore_protetto) as totCapProt + select + case + when id_area = 'Pre1' or id_area = 'Pre2' then 'Pre' + else id_area + end as id_area, + sum(controvalore_protetto) as totCapProt + --fine modifica del 20180717 + -- fine modifica del 21/12/2017 + into #capitaleProtetto + from #PATR_BF + --- modifica del 20/12/2017 per segnalazione qc + --where REND_NON_RAPPR = 0 + --- fine modifica del 20/12/2017 per segnalazione qc + group by id_area +--------------------------------------------------------------- +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + ,case + when ISNULL(cap.totCapProt,0) = 0 then 0 + else cap.totCapProt + end as [capprot] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] pir + left join #capitaleProtetto cap + on pir.needarea = cap.id_area + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_pktest.sql b/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_pktest.sql new file mode 100644 index 00000000..c12fd69c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_pktest.sql @@ -0,0 +1,150 @@ +create procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_pktest] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT -- PER DIVERSI DA CC ************************ + case + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --when (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (Isin = 'LU1106988527' ) then 'INTERFUND 80' -- INTERFUND 80 + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + when (tipo_prodotto = 'fi' and cod_sottoprodotto = 'f43' and cod_interno = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (cod_sottoprodotto = 'cs80') then 'My Blue Protection 80' + when (cod_sottoprodotto = 'ct80') then 'My White Protection 80' + when (cod_interno = 'rf') then 'Linea Multiramo' + else '' + end as nomeprod, + RETE AS RETE, + cod_fiscale AS COD_FISCALE, + POSITION_ID AS POSITIONID, + SUBSTRING(POSITION_ID,1,57) AS COD_PRODOTTO, + ID_CONTRATTO AS ID_CONTRATTO, + CASE WHEN ISDATE(data_sottoscrizione) = 0 THEN NULL + ELSE CAST(data_sottoscrizione AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + NUM_POLIZZA AS NUM_POLIZZA, + COD_MAF AS COD_MAF, + COD_INTERNO AS COD_INTERNO, + COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + TIPO_PRODOTTO AS TIPO_PRODOTTO, + id_area AS ID_AREA, + CTV AS ctv, + ISIN, + --CON.chiaveClientePB, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + --CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CHIAVE_PROGETTO, + convert(decimal(12,2),0) as controvalore_protetto + INTO #PATR_BF + from c6martperiodico.patrimonio_bf + WHERE + cod_fiscale = @CodiceFiscale + and rete = @rete + and + ( + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --(Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + (Isin = 'LU1106988527' ) -- INTERFUND 80/CAPPROT + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + or + (tipo_prodotto = 'fi' -- FONDITALIA 80/FOI80 + and cod_sottoprodotto = 'f43' + and cod_interno = '01') + or + cod_sottoprodotto in ('cs80', 'ct80') -- myblue, mywhite + or + (cod_interno = 'RF') -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + ) +--------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') +-------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf +----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where patrimonio.id_contratto = foi.codconf +----------------------------------------- aggiorno il capitale protetto della linea multiramo protetta + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf + where + p.cod_interno = 'RF' +------------------------------------------------------------------------raggruppo per area + -- modifica del 21/12/2017 + --select id_area,round(sum(controvalore_protetto),0) as totCapProt + select id_area,sum(controvalore_protetto) as totCapProt + -- fine modifica del 21/12/2017 + into #capitaleProtetto + from #PATR_BF + --- modifica del 20/12/2017 per segnalazione qc + --where REND_NON_RAPPR = 0 + --- fine modifica del 20/12/2017 per segnalazione qc + group by id_area +--------------------------------------------------------------- +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + ,case + when ISNULL(cap.totCapProt,0) = 0 then 0 + else cap.totCapProt + end as [capprot] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] pir + left join #capitaleProtetto cap + on pir.needarea = cap.id_area + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleLineeProdotti.sql b/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleLineeProdotti.sql new file mode 100644 index 00000000..efb8ecb1 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S172ProtezioneCapitaleLineeProdotti.sql @@ -0,0 +1,98 @@ +--[C6MartPeriodico].[PL_S172ProtezioneCapitaleLineeProdotti] 's','VCCGRL39E57E356Q' +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleLineeProdotti] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +declare @isinInterfund80 varchar(20) +set @isinInterfund80 = 'LU1106988527' +BEGIN +---------------------- LINEA PROTETTA (RF/MP) +select Linea + ,Contratto + ,VersatoNetto + ,Controvalore + ,ComponentePerformance + ,ComponenteProtezione + ,ControvaloreProtetto + ,DataRiferimento + ,PercentualePerformance + ,PercentualeProtezione + ,ordine + from + (SELECT + a.des_prod_tit as Linea + ,a.cod_conf as Contratto + ,0 as VersatoNetto + ,a.controvalore_riferimento as Controvalore + ,0 as ComponentePerformance + ,a.componente_protezione as ComponenteProtezione + ,a.controvalore_prot as ControvaloreProtetto + ,convert(varchar(4), year(datarif)) + convert(varchar(2), month(datarif)) + convert(varchar(2), day(datarif)) as DataRiferimento + ,0 as PercentualePerformance + ,0 as PercentualeProtezione + ,1 as ordine + from [C6MartPeriodico].[CAPPROT_FVI] a + where SUBPROD in ('MP') + and CODFIS = @CodiceFiscale + and rete = @Rete +union + ---------------------- MY BLUE/MY WHITE + SELECT + a.des_prod_tit as Linea + ,a.cod_conf as Contratto + ,0 as VersatoNetto + ,a.controvalore_riferimento as Controvalore + ,0 as ComponentePerformance + ,a.componente_protezione as ComponenteProtezione + ,a.controvalore_prot as ControvaloreProtetto + ,convert(varchar(4), year(datarif)) + convert(varchar(2), month(datarif)) + convert(varchar(2), day(datarif)) as DataRiferimento + ,0 as PercentualePerformance + ,0 as PercentualeProtezione + ,2 as ordine + from [C6MartPeriodico].[CAPPROT_FVI] a + where SUBPROD in ('CS80', 'CT80') + and CODFIS = @CodiceFiscale + and rete = @Rete +union +-- INTERFUND 80 + SELECT + a.des_prod_tit as Linea + ,a.Cod_Conf as Contratto + ,0 as VersatoNetto + ,a.Controvalore as Controvalore + ,0 as ComponentePerformance + ,0 as ComponenteProtezione + ,a.Controvalore_prot as ControvaloreProtetto + --,datarif as DataRiferimento + ,convert(varchar(4), year(datarif)) + convert(varchar(2), month(datarif)) + convert(varchar(2), day(datarif)) as DataRiferimento + ,0 as PercentualePerformance + ,0 as PercentualeProtezione + ,3 as ordine + --into #tInterfund80 + FROM C6MartPeriodico.capprot a + WHERE 1=1 + AND a.RETE = @Rete + AND a.CODFIS = @CodiceFiscale + --and dttrim + union + ---------------------- FONDITALIA 80 + SELECT + a.desprodtit as Linea + ,a.codconf as Contratto + ,0 as VersatoNetto + ,a.ctv as Controvalore + ,0 as ComponentePerformance + ,a.prezzoprot as ComponenteProtezione + ,a.ctrvimpprot as ControvaloreProtetto + ,dtrife as DataRiferimento + ,0 as PercentualePerformance + ,0 as PercentualeProtezione + ,4 as ordine + FROM c6martperiodico.foi80 a + WHERE 1=1 + AND a.RETE = @Rete + AND a.CODFIS = @CodiceFiscale) as int + order by ordine asc,controvalore desc +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S181PreferenzeESG.sql b/sql/storedProduzione/C6MartPeriodico_PL_S181PreferenzeESG.sql new file mode 100644 index 00000000..1489244b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S181PreferenzeESG.sql @@ -0,0 +1,57 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'BCCNDR69P21A462P' +CREATE procedure [C6MartPeriodico].[PL_S181PreferenzeESG] --'F','MRTDRJ66P03G283W' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @SCADUTO_PARZIALE varchar(16) +SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) +SELECT esg.[rete] + ,[cod_fiscale] + --,case + --when @SCADUTO_PARZIALE='P' then 0 else [Preferenza_esg_cliente] + --end as + ,[Preferenza_esg_cliente] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,CAST(ROUND(ISNULL(obiettivo_ESG_minimo, 0.00), 2) AS decimal(6, 2)) AS obiettivo_ESG_minimo + ,[ESG_Rating] + ,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_E_perc + ,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_S_perc + ,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_G_perc + ,case when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=25 and isnull(ind.SOGLIAESG,'0.00')<50 then 'Almeno pari al 25%' + when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=50 and isnull(ind.SOGLIAESG,'0.00')<75 then 'Almeno pari al 50%' + when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=75 then 'Almeno pari al 75%' else '-' end as Pref_Sost + ,case when cle.U_PREFSOST='S' then 'Y' + when cle.U_PREFSOST='N' then 'N' + else '-' end as U_PREFSOST --Ulteriori Preferenze di Sostenibilità modifica 10122024 Scapellato ----decommenta per ESG 2024 + --else 'N' end as U_PREFSOST --Ulteriori Preferenze di Sostenibilità ----decommenta per ESG 2024 + ,case when cle.FLAGSFDR='S' then replace(cast(cle.SFDR_PERC as varchar(12)),'.00','')+'%' else '-' end as SFDR_PERC ----decommenta per ESG 2024 + ,case when cle.FLAGTAXO='S' then replace(cast(cle.TAXO_PERC as varchar(12)),'.00','')+'%' else '-' end as TAXO_PERC ----decommenta per ESG 2024 + ,case when cle.PAI_NO_DETT = 'S' then 'Preferisco non dettagliare' --modifica 10122024 Scapellato + when isnull(cle.PAI_A,'')='' then '-' else cle.PAI_A end as PAI_A + ,case when cle.PAI_NO_DETT = 'S' then 'Preferisco non dettagliare' --modifica 10122024 Scapellato + when isnull(cle.PAI_S,'')='' then '-' else cle.PAI_S end as PAI_S + --,'Emissioni gas serra, Biodiversità, Acqua, Rifiuti, Governativi di tipo Ambientale, Settore immobiliare' as PAI_A ----decommenta per ESG 2024 + --,'Questioni Sociali e dei Dipendenti, Governativi di tipo Sociale' as PAI_S ----decommenta per ESG 2024 + ,case when ESG_E='Y' then cle.PERCAMB_OK ELSE NULL END AS E_PERC_OK--,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS E_PERC_OK ----decommenta per ESG 2024 + ,case when ESG_S='Y' then cle.PERCSOC_OK ELSE NULL END AS S_PERC_OK--,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS S_PERC_OK ----decommenta per ESG 2024 + ,case when ESG_G='Y' then cle.PERCGOV_OK ELSE NULL END AS G_PERC_OK--,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS G_PERC_OK ----decommenta per ESG 2024 + FROM [C6StampeCentralizzate].[C6MartPeriodico].[BrsClienteESG] esg + left join C6MartPeriodico.wseian2 ind + on ind.rete=esg.rete and ind.CODFIS=esg.cod_fiscale + left join C6MartPeriodico.W6CLIESG cle + on ind.rete=cle.rete and ind.CODFIS=cle.CODFIS +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale + AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S181PreferenzeESG_BKP_20231116_PRE_RAFFORZAMENTO.sql b/sql/storedProduzione/C6MartPeriodico_PL_S181PreferenzeESG_BKP_20231116_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..d346f786 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S181PreferenzeESG_BKP_20231116_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,34 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'BCCNDR69P21A462P' +CREATE procedure [C6MartPeriodico].[PL_S181PreferenzeESG_BKP_20231116_PRE_RAFFORZAMENTO] --'S','95196860100' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT esg.[rete] + ,[cod_fiscale] + ,[Preferenza_esg_cliente] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,CAST(ROUND(ISNULL(obiettivo_ESG_minimo, 0.00), 2) AS decimal(6, 2)) AS obiettivo_ESG_minimo + ,[ESG_Rating] + ,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_E_perc + ,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_S_perc + ,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_G_perc + ,case when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=25 and isnull(ind.SOGLIAESG,'0.00')<50 then 'Almeno pari al 25%' + when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=50 and isnull(ind.SOGLIAESG,'0.00')<75 then 'Almeno pari al 50%' + when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=75 then 'Almeno pari al 75%' else '-' end as Pref_Sost + FROM [C6StampeCentralizzate].[C6MartPeriodico].[BrsClienteESG] esg + left join C6MartPeriodico.wseian2 ind + on ind.rete=esg.rete and ind.CODFIS=esg.cod_fiscale +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024.sql b/sql/storedProduzione/C6MartPeriodico_PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024.sql new file mode 100644 index 00000000..06d46263 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024.sql @@ -0,0 +1,48 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'BCCNDR69P21A462P' +CREATE procedure [C6MartPeriodico].[PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024]-- 'F','FSCSIA47A70G420M' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @SCADUTO_PARZIALE varchar(16) +SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) +SELECT esg.[rete] + ,[cod_fiscale] + --,case + --when @SCADUTO_PARZIALE='P' then 0 else [Preferenza_esg_cliente] + --end as + ,[Preferenza_esg_cliente] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,CAST(ROUND(ISNULL(obiettivo_ESG_minimo, 0.00), 2) AS decimal(6, 2)) AS obiettivo_ESG_minimo + ,[ESG_Rating] + ,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_E_perc + ,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_S_perc + ,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_G_perc + ,case when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=25 and isnull(ind.SOGLIAESG,'0.00')<50 then 'Almeno pari al 25%' + when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=50 and isnull(ind.SOGLIAESG,'0.00')<75 then 'Almeno pari al 50%' + when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=75 then 'Almeno pari al 75%' else '-' end as Pref_Sost + ,'Y' as U_PREFSOST -- aggiunta da GB + ,0 as SFDR_PERC -- aggiunta da GB + ,0 as TAXO_PERC -- aggiunta da GB + ,'' as PAI_A -- aggiunta da GB + ,'' as PAI_S -- aggiunta da GB + ,0 as E_PERC_OK -- aggiunta da GB + ,0 as S_PERC_OK -- aggiunta da GB + ,0 as G_PERC_OK -- aggiunta da GB + FROM [C6StampeCentralizzate].[C6MartPeriodico].[BrsClienteESG] esg + left join C6MartPeriodico.wseian2 ind + on ind.rete=esg.rete and ind.CODFIS=esg.cod_fiscale +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale + AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S182BISDettaglioProdottiESG.sql b/sql/storedProduzione/C6MartPeriodico_PL_S182BISDettaglioProdottiESG.sql new file mode 100644 index 00000000..31973109 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S182BISDettaglioProdottiESG.sql @@ -0,0 +1,167 @@ +--se nella generazione del report da errore molto probabilmente ci sta una chiaveclientePB diversa sulla appocontratti dalla vinfocliente +--cambiala sull'appo contratti e contrattipretrimestrale +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S182BISDettaglioProdottiESG] 'F', '98196710176' +CREATE procedure [C6MartPeriodico].[PL_S182BISDettaglioProdottiESG] --'S','DGSMHL70H08Z404F' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +--- + SELECT distinct + [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + into #temp + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S133_S157DatiPiramide] + WHERE [Rete] = @rete + AND [CodiceFiscale] = @codicefiscale + order by ordinamento + declare @totale_risorse_finanziarie decimal(38,3) + declare @totale_patrimonio decimal(38,3) + declare @partite_viaggianti decimal(38,3) + select @totale_risorse_finanziarie = SUM(controvaloreAttuale) from #temp where needarea in ('Ext','Inv','Pre','Ris','Liq','Na') + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + select @totale_patrimonio = SUM(controvaloreAttuale) from #temp + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + select @partite_viaggianti= PartiteViaggiantiInv from wh.Maledetti + where i_Rete=@Rete and i_CodiceFiscale=@CodiceFiscale + set @totale_patrimonio=@totale_patrimonio + @partite_viaggianti + select + case when @totale_risorse_finanziarie=@totale_patrimonio then 'Tot_P' else 'Tot_F' end as needarea, + case when @totale_risorse_finanziarie=@totale_patrimonio then 'TOTALE PATRIMONIO' else 'TOTALE RISORSE FINANZIARIE' end as needareades, + '100' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + '' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + SUM(controvaloreattuale) as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto +from #temp +where needarea in ('Ext','Inv','Pre','Ris','Liq','Na') +having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + union all + select + 'Tot_F' as needarea, + '' as needareades, + '101' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + 'C/C a saldo negativo' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + SUM(controvaloreattuale) as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from #temp + where needarea in ('CC') + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + union all + select + 'Tot_F' as needarea, + '' as needareades, + '102' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + 'Operazioni in corso' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + PartiteViaggiantiInv as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from wh.Maledetti + where i_Rete=@Rete and i_CodiceFiscale=@CodiceFiscale + and PartiteViaggiantiInv<>'0.000' + union all + select top (1) + 'Tot_P' as needarea, + 'TOTALE PATRIMONIO' as needareades, + '103' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + '' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + @totale_patrimonio as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from #temp + where @totale_risorse_finanziarie<>@totale_patrimonio + --having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 and SUM(controvaloreAttuale) <> @totale_risorse_finanziarie +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S182BISDettaglioProdottiESG_Mon.sql b/sql/storedProduzione/C6MartPeriodico_PL_S182BISDettaglioProdottiESG_Mon.sql new file mode 100644 index 00000000..521acced --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S182BISDettaglioProdottiESG_Mon.sql @@ -0,0 +1,165 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S182BISDettaglioProdottiESG] 'F', '98196710176' +CREATE procedure [C6MartPeriodico].[PL_S182BISDettaglioProdottiESG_Mon] --'S','DGSMHL70H08Z404F' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +--- + SELECT distinct + [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + into #temp + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S133_S157DatiPiramide] + WHERE [Rete] = @rete + AND [CodiceFiscale] = @codicefiscale + order by ordinamento + declare @totale_risorse_finanziarie decimal(38,3) + declare @totale_patrimonio decimal(38,3) + declare @partite_viaggianti decimal(38,3) + select @totale_risorse_finanziarie = SUM(controvaloreAttuale) from #temp where needarea in ('Ext','Inv','Pre','Ris','Liq','Na') + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + select @totale_patrimonio = SUM(controvaloreAttuale) from #temp + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + select @partite_viaggianti= PartiteViaggiantiInv from wh.Maledetti + where i_Rete=@Rete and i_CodiceFiscale=@CodiceFiscale + set @totale_patrimonio=@totale_patrimonio + @partite_viaggianti + select + case when @totale_risorse_finanziarie=@totale_patrimonio then 'Tot_P' else 'Tot_F' end as needarea, + case when @totale_risorse_finanziarie=@totale_patrimonio then 'TOTALE PATRIMONIO' else 'TOTALE RISORSE FINANZIARIE' end as needareades, + '100' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + '' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + SUM(controvaloreattuale) as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto +from #temp +where needarea in ('Ext','Inv','Pre','Ris','Liq','Na') +having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + union all + select + 'Tot_F' as needarea, + '' as needareades, + '101' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + 'C/C a saldo negativo' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + SUM(controvaloreattuale) as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from #temp + where needarea in ('CC') + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + union all + select + 'Tot_F' as needarea, + '' as needareades, + '102' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + 'Operazioni in corso' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + PartiteViaggiantiInv as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from wh.Maledetti + where i_Rete=@Rete and i_CodiceFiscale=@CodiceFiscale + and PartiteViaggiantiInv<>'0.000' + union all + select top (1) + 'Tot_P' as needarea, + 'TOTALE PATRIMONIO' as needareades, + '103' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + '' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + @totale_patrimonio as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from #temp + where @totale_risorse_finanziarie<>@totale_patrimonio + --having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 and SUM(controvaloreAttuale) <> @totale_risorse_finanziarie +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S182DettaglioProdottiESG.sql b/sql/storedProduzione/C6MartPeriodico_PL_S182DettaglioProdottiESG.sql new file mode 100644 index 00000000..9df1e2ba --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S182DettaglioProdottiESG.sql @@ -0,0 +1,239 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S182DettaglioProdottiESG] 'F', 'GLLGZN62T06H501I' +CREATE procedure [C6MartPeriodico].[PL_S182DettaglioProdottiESG] --'F','CVLDVD73P22C415X' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +--SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +--CASE +-- WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' +-- ELSE NULL +--END as versato_needareaString, +--SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +--CASE +-- WHEN COUNT( CASE +-- WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 +-- ELSE NULL +-- END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' +-- ELSE NULL +--END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 +-- THEN 'n.d.' +-- ELSE NULL +--END AS versato_need_progString, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) +-- ELSE NULL +--END AS MinusPlusValenza_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 +-- THEN 'n.d.' +-- ELSE NULL +--END AS MinusPlusValenza_need_progString, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF +-- ELSE NULL +--END AS somma_var_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA +-- ELSE NULL +--END AS somma_copertura_need_prog, +--RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +--CASE +-- WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 +-- THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII +-- WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' +-- THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- +-- ELSE NULL +--END AS var_needareaString, +--CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, +-- CASE +-- WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) +-- --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- ELSE '' +--END AS copertura_needareaString, +--RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +--CASE +-- WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +--END AS var_need_progString, +--RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, + case when ESG_E = 'SI' then 'Sì' else 'No' end as ESG_E, + case when ESG_S = 'SI' then 'Sì' else 'No' end as ESG_S, + case when ESG_G = 'SI' then 'Sì' else 'No' end as ESG_G, + case when CatSFDR <> '' then esg.CatSFDR else '-' end as CatSFDR, + case when ESGRating <> '' then esg.esgrating else '-' end as ESGRating, + case when TrendESGRating <> '' then esg.TrendESGRating else '-' end as TrendESGRating, +PATRBF.CTV AS Controvalore, +--PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +--CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +--MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +--CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +--case when (patrbf.tipo_prodotto ='CC') then 0.00 +--else RISCHIO_PROD.VAR_PERC_PTF +--end AS VaRprodotto, +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' +-- WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +--ELSE NULL END as varProdottoString, +--case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--else RISCHIO_PROD.Copertura +--end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +--PARTVIA_DISINV AS partitaViaggiante, +--CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +--RISCHIO_PROD.CREDITRISK as creditrisk, +--CASE +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' +-- WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' +-- ELSE NULL +-- END as creditriskstring, + --RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto + ,case when isnull(cat.esg_e_prod_cli,'N')='Y' then 'S' else 'N' end as esg_e_prod_cli + ,case when isnull(cat.esg_s_prod_cli,'N')='Y' then 'S' else 'N' end as esg_s_prod_cli + ,case when isnull(cat.esg_g_prod_cli,'N')='Y' then 'S' else 'N' end as esg_g_prod_cli +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +--LEFT JOIN +--C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ +-- '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' +-- when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' +-- ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- END +-- +-- + PATRBF.POSITION_ID +--LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG +-- ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE +-- AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +-- + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +--LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA +-- ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE +-- +-- +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = case +-- when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' +-- else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) +-- end +-- +left join [C6StagingPeriodico].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) + left join C6MartPeriodico.W6CATESG cat + on PATRBF.cod_prodotto = cat.PRODOTTO_ID + AND PATRBF.rete = cat.rete + AND PATRBF.COD_FISCALE =cat.codfis +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 + and AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END + ,CHIAVE_progetto,nome_progetto, PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024.sql b/sql/storedProduzione/C6MartPeriodico_PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024.sql new file mode 100644 index 00000000..06da5ae5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024.sql @@ -0,0 +1,241 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S182DettaglioProdottiESG] 'F', 'GLLGZN62T06H501I' +CREATE procedure [C6MartPeriodico].[PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024] --'F','GLLGZN62T06H501I' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +--SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +--CASE +-- WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' +-- ELSE NULL +--END as versato_needareaString, +--SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +--CASE +-- WHEN COUNT( CASE +-- WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 +-- ELSE NULL +-- END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' +-- ELSE NULL +--END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 +-- THEN 'n.d.' +-- ELSE NULL +--END AS versato_need_progString, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) +-- ELSE NULL +--END AS MinusPlusValenza_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 +-- THEN 'n.d.' +-- ELSE NULL +--END AS MinusPlusValenza_need_progString, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF +-- ELSE NULL +--END AS somma_var_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA +-- ELSE NULL +--END AS somma_copertura_need_prog, +--RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +--CASE +-- WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 +-- THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII +-- WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' +-- THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- +-- ELSE NULL +--END AS var_needareaString, +--CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, +-- CASE +-- WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) +-- --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- ELSE '' +--END AS copertura_needareaString, +--RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +--CASE +-- WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +--END AS var_need_progString, +--RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, + case when ESG_E = 'SI' then 'Sì' else 'No' end as ESG_E, + case when ESG_S = 'SI' then 'Sì' else 'No' end as ESG_S, + case when ESG_G = 'SI' then 'Sì' else 'No' end as ESG_G, + case when CatSFDR <> '' then esg.CatSFDR else '-' end as CatSFDR, + case when ESGRating <> '' then esg.esgrating else '-' end as ESGRating, + case when TrendESGRating <> '' then esg.TrendESGRating else '-' end as TrendESGRating, +PATRBF.CTV AS Controvalore, +--PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +--CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +--MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +--CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +--case when (patrbf.tipo_prodotto ='CC') then 0.00 +--else RISCHIO_PROD.VAR_PERC_PTF +--end AS VaRprodotto, +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' +-- WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +--ELSE NULL END as varProdottoString, +--case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--else RISCHIO_PROD.Copertura +--end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +--PARTVIA_DISINV AS partitaViaggiante, +--CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +--RISCHIO_PROD.CREDITRISK as creditrisk, +--CASE +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' +-- WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' +-- ELSE NULL +-- END as creditriskstring, + --RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto + ,CASE + WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' + ELSE 'N' end as ESG_E_PROD_CLI,----decommenta per ESG 2024 + CASE + WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' + ELSE 'N' end as ESG_S_PROD_CLI,----decommenta per ESG 2024 + CASE + WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' + ELSE 'N' end as ESG_G_PROD_CLI ----decommenta per ESG 2024 +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +--LEFT JOIN +--C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ +-- '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' +-- when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' +-- ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- END +-- +-- + PATRBF.POSITION_ID +--LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG +-- ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE +-- AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +-- + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +--LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA +-- ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE +-- +-- +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = case +-- when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' +-- else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) +-- end +-- +left join [C6StagingPeriodico].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 + and AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END + ,CHIAVE_progetto,nome_progetto, PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S183iCapital.sql b/sql/storedProduzione/C6MartPeriodico_PL_S183iCapital.sql new file mode 100644 index 00000000..0b5245c1 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S183iCapital.sql @@ -0,0 +1,63 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_S183iCapital] --'F','GSSGLI67A52F205P' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT +distinct +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS Codarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS NomeArea, +--CASE +-- WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 +-- ELSE AREA.ORDINAMENTO +--END AS OrdineArea, +iCap.codconf as CodiceContratto, +iCap.sgr as ContrattoSGR, +iCap.descprod as NomeProdotto, +iCap.dtiniz as DataInizio, +iCap.dtfine as DataFine, +iCap.CTV_COMMIT as Totale, +iCap.impvers as ImportoVersato, +iCap.impres as ImportoDaVersare +from C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +inner join C6MartPeriodico.WSEICAP iCap +on icap.codconf=PATRBF.ID_CONTRATTO +and icap.subprod=PATRBF.COD_SOTTOPRODOTTO +--and icap.isin=patrbf.ISIN +where icap.RETE=@Rete +and icap.COD_FISCALE=@CodiceFiscale +--select Codarea,NomeArea,CodiceContratto,ContrattoSGR,NomeProdotto,DataInizio,DataFine, +--cast(Totale as decimal(15,2))as Totale, +--cast(ImportoVersato as decimal(15,2))as ImportoVersato , +--cast(ImportoDaVersare as decimal(15,2)) as ImportoDaVersare +--from C6MartPeriodico.test_icapital +--where rete=@rete and CODiceFISCALE=@CodiceFiscale + --SELECT + -- 'Inv' as CodArea, + -- 'Investimento' as NomeArea, + -- '954572CO210' as CodiceContratto, + -- 'BlackRock' as ContrattoSGR, + -- 'Prodotto di Test' as NomeProdotto, + -- '05/04/2022' as DataInizio, + -- '15/01/2023' as DataFine, + -- '23468.230' as Totale, + -- '632.234' as ImportoVersato, + -- '326.263' as ImportoDaVersare +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S184CoerenzaESG.sql b/sql/storedProduzione/C6MartPeriodico_PL_S184CoerenzaESG.sql new file mode 100644 index 00000000..fa25c849 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S184CoerenzaESG.sql @@ -0,0 +1,40 @@ +--Inv Investimento 021233XY004 BLACK ROCK EQT X 20230215 99999999 300000.000 0.000 300000.000 +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_S184CoerenzaESG] -- 'S','BLLNTN47H20D758F' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +select w.Rete, + w.CODFIS, + case when w.COERENZA='Z' then '-' + when w.SOGLIAESG=25.00 then 'Almeno pari al 25%' + when w.SOGLIAESG=50.00 then 'Almeno pari al 50%' + when w.SOGLIAESG=75.00 then 'Almeno pari al 75%' + else '-' end as percESG, + CAST(ROUND(ISNULL(b.obiettivo_ESG_minimo, 0.00), 2) AS decimal(10, 2)) AS pesoSostESG, + -- ROUND(isnull(b.obiettivo_ESG_minimo,0.00),2) as pesoSostESG, + case + when ISNULL(b.obiettivo_ESG_minimo, 0.00)>w.SOGLIAESG then 'S'--w.COERENZA='S' then 'S' + when w.COERENZA='X' and ISNULL(b.obiettivo_ESG_minimo, 0.00)>w.SOGLIAESG then 'S' + when w.COERENZA='Z' then 'Z' + else 'N' end as Coerenza + -- case when RISERVA='N' or invl_period='N' Or clcompl='N' Or flgconc='N' or freq='N' Or concemi='N' or ADEGCONC_VALUT='N' or COERENZA='N' then 'N' else 'S' end as Nota_Adeguatezza + from C6MartPeriodico.WSEIAN2 w left join + C6MartPeriodico.BrsClienteESG b on w.rete=b.rete and w.CODFIS=b.cod_fiscale +where w.Rete=@Rete and w.CODFIS=@CodiceFiscale +and w.PREFSOST = 'S' -- questa tabella deve apparire solo per chi ha espresso la preferenza di sostenibilità +--and b.Preferenza_esg_cliente=1 +--and w.COERENZA<>'X' -- questa condizione serve per i clienti professional che non hanno questo indicatore +--and w.FLGPROF='N' +--COERENZA = 'S' SI +--COERENZA = 'N' NO +--COERENZA = 'X' Errore di R4 +--COERENZA = 'Z' con ESG senza soglia di sostenibilita ( deve apparire n.a.) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S184CoerenzaESG_BKP_20231013.sql b/sql/storedProduzione/C6MartPeriodico_PL_S184CoerenzaESG_BKP_20231013.sql new file mode 100644 index 00000000..b7eda3e6 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S184CoerenzaESG_BKP_20231013.sql @@ -0,0 +1,35 @@ +--Inv Investimento 021233XY004 BLACK ROCK EQT X 20230215 99999999 300000.000 0.000 300000.000 +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_S184CoerenzaESG] --'F','TVRNRC51H06L665B' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +select w.Rete, + w.CODFIS, + case when w.SOGLIAESG=25.00 then 'Almeno pari al 25%' + when w.SOGLIAESG=50.00 then 'Almeno pari al 50%' + when w.SOGLIAESG=75.00 then 'Almeno pari al 75%' + else '-' end as percESG, + CAST(ROUND(ISNULL(b.obiettivo_ESG_minimo, 0.00), 2) AS decimal(10, 2)) AS pesoSostESG, + -- ROUND(isnull(b.obiettivo_ESG_minimo,0.00),2) as pesoSostESG, + case when w.COERENZA='S' then 'S' + when w.COERENZA='X' and ISNULL(b.obiettivo_ESG_minimo, 0.00)>w.SOGLIAESG then 'S' + else 'N' end as Coerenza + from C6MartPeriodico.WSEIAN2 w left join + C6MartPeriodico.BrsClienteESG b on w.rete=b.rete and w.CODFIS=b.cod_fiscale +where w.Rete=@Rete and w.CODFIS=@CodiceFiscale +and w.PREFSOST = 'S' -- questa tabella deve apparire solo per chi ha espresso la preferenza di sostenibilità +--and b.Preferenza_esg_cliente=1 +--and w.COERENZA<>'X' -- questa condizione serve per i clienti professional che non hanno questo indicatore +--COERENZA = 'S' SI +--COERENZA = 'N' NO +--COERENZA = 'X' Errore di R4 +--COERENZA = 'Z' con ESG senza soglia di sostenibilita ( deve apparire n.a.) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S185UCaratteristicheESG.sql b/sql/storedProduzione/C6MartPeriodico_PL_S185UCaratteristicheESG.sql new file mode 100644 index 00000000..7095b5c5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S185UCaratteristicheESG.sql @@ -0,0 +1,112 @@ +CREATE procedure [C6MartPeriodico].[PL_S185UCaratteristicheESG] -- 'F','TRCDZN57A44I284J' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, +CASE + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_SFDR, +CASE + WHEN isnull(esg.PERC_INVEST_SFDR_MIN_SUST_E,0.00) = 0.00 ----decommenta per ESG 2024 + THEN '-' ----decommenta per ESG 2024 + ELSE ----decommenta per ESG 2024 + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVEST_SFDR_MIN_SUST_E), '.', ',')-- + '%' ----decommenta per ESG 2024 +END AS PERC_INVESTIMENTO_SFDR_AMB, ----decommenta per ESG 2024 + --decommenta per ESG 202 --decommenta per ESG 2024 +CASE ----decommenta per ESG 2024 + WHEN isnull(esg.PERC_INVEST_SFDR_MIN_SUST_S,0.00) = 0.00 ----decommenta per ESG 2024 + THEN '-' ----decommenta per ESG 2024 + ELSE ----decommenta per ESG 2024 + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVEST_SFDR_MIN_SUST_S), '.', ',')-- + '%' ----decommenta per ESG 2024 +END AS PERC_INVESTIMENTO_SFDR_SOC, ----decommenta per ESG 2024 + CASE + WHEN ISNULL(esg.PERC_INVESTIMENTO_TAXONOMY, 0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_TAXONOMY), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_TAXONOMY, + isnull(esg.label_PAI_A,'-') as label_PAI_A, + isnull(esg.Label_PAI_S,'-') as label_PAI_S, + isnull(esg.Label_U_INFO_ESG,'-') as label_U_INFO_ESG, + PATRBF.CTV AS Controvalore, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +left join [C6StagingPeriodico].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 + AND AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END , nome_progetto, PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024.sql b/sql/storedProduzione/C6MartPeriodico_PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024.sql new file mode 100644 index 00000000..f08d6db6 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024.sql @@ -0,0 +1,99 @@ +CREATE procedure [C6MartPeriodico].[PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024] --'F','BRGLCU52B09F839W' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, +CASE + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_SFDR, + CASE + WHEN ISNULL(esg.PERC_INVESTIMENTO_TAXONOMY, 0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_TAXONOMY), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_TAXONOMY, + isnull(esg.label_PAI_A,'-') as label_PAI_A, + isnull(esg.Label_PAI_S,'-') as label_PAI_S, + isnull(esg.Label_U_INFO_ESG,'-') as label_U_INFO_ESG, + PATRBF.CTV AS Controvalore, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +left join [C6StagingPeriodico].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 + AND AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END , nome_progetto, PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S186DettaglioPortafoglioSei.sql b/sql/storedProduzione/C6MartPeriodico_PL_S186DettaglioPortafoglioSei.sql new file mode 100644 index 00000000..0a6d91da --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S186DettaglioPortafoglioSei.sql @@ -0,0 +1,122 @@ +--select * from wh.Maledetti +CREATE procedure [C6MartPeriodico].[PL_S186DettaglioPortafoglioSei] --'F','00545400483' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @appo table +( + [BFCTV] [decimal](15, 2) NULL, + [PatrimonioTerziCTV] [decimal](15, 2) NULL, + [FinanziarioCTV] [decimal](16, 2) NULL, + [FinanziarioPerc] [decimal](6, 2) NULL, + [ImmobiliareCTV] [decimal](15, 2) NULL, + [ImmobiliarePerc] [decimal](6, 2) NULL, + [AltroCTV] [decimal](15, 2) NULL, + [AltroPerc] [decimal](6, 2) NULL, + [TotaleCTV] [decimal](15, 2) NULL, + [ImmobiliarePQCTV] [decimal](15, 2) NULL +) +--creo le tabelle di appoggio +insert into @appo exec [C6MartPeriodico].[PL_D2_S152Patrimonio] @Rete,@CodiceFiscale +declare @TotCTV [decimal](15, 2) =(select [BFCTV] from @appo) +SELECT +--distinct +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +--SUM(PATRBF.CTV) OVER() AS SommaProdottiEsclusi, +SUM(CASE + WHEN PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV < 0 THEN 0 + ELSE PATRBF.CTV + END) OVER() AS SommaProdottiEsclusi, --per escludere i CC a Saldo Negativo +@TotCTV as PatrimonioFideuram, +@TotCTV-SUM(CASE + WHEN PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV < 0 THEN 0 + ELSE PATRBF.CTV + END) OVER() AS PortafoglioSei +--@TotCTV-SUM(PATRBF.CTV) OVER() as PortafoglioSei +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +--INNER JOIN +--C6MartPeriodico.AREA_BISOGNO AREA +--ON +-- --LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +-- (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +--LEFT JOIN +--C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ +-- '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') + '|' +-- when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' +-- ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- END +---- END + PATRBF.POSITION_ID +-- + PATRBF.POSITION_ID +--LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG +-- ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE +-- AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +-- + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') +--LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA +-- ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = case +-- when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' +-- else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) +-- end +---- AND RISCHIO_AGGR_AREA.COD_AGGREG = +---- CASE AREA.ID_AREA +---- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +---- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +---- END +--LEFT JOIN +--C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +--ON +-- PATRBF.RETE = MONIT.RETE +-- AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE +-- AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA +-- AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO +-- And patrbf.ordinamento_progetto=monit.ordinamento_progetto +----Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) + --aggiunta 18/12/2022 per APC103 +--left join C6MartPeriodico.WSEICC apc +--on +-- apc.RETE=PATRBF.RETE +-- and apc.cod_fiscale=patrbf.cod_fiscale +-- and PATRBF.ID_CONTRATTO = --apc.CODCONFPR +-- (case when PATRBF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) +-- --fine aggiunta 18/12/2022 per APC103 +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + -- AND ( + -- (PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV > 0) OR --per eliminare i CC a saldo Negativo + -- (PATRBF.TIPO_PRODOTTO <> 'CC' AND PATRBF.CTV <> 0) + --) + AND PATRBF.Nob_Prez='S' +order by PATRBF.CTV desc +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S187SfdrTaxESG.sql b/sql/storedProduzione/C6MartPeriodico_PL_S187SfdrTaxESG.sql new file mode 100644 index 00000000..a55885f8 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S187SfdrTaxESG.sql @@ -0,0 +1,107 @@ +CREATE procedure [C6MartPeriodico].[PL_S187SfdrTaxESG]-- 'F','00936710151' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @SCADUTO_PARZIALE varchar(16) +SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6MartPeriodico.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale +declare @U_PREFSOST varchar(2) +select @U_PREFSOST=U_PREFSOST from [C6MartPeriodico].[W6CliESG] where rete=@Rete and codfis=@CodiceFiscale +if(@pref_esg='1' AND @U_PREFSOST='S') +begin + select + 1 as ID, + 'Prodotti sostenibili SFDR' as Descrizione, + replace(cast(cli.SFDR_PERCT as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union + select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(cli.SFDR_PERC_OK as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,case when cli.FLAGSFDR='N' then 'Y' + else 'N' end as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 3 as ID, + 'Prodotti non sostenibili' as Descrizione, + replace(cast((100-cli.SFDR_PERCT)as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 5 as ID, + 'Prodotti ecosostenibili Taxonomy' as Descrizione, + replace(cast(cli.TAXO_PERCT as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast (cli.TAXO_PERC_OK as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,case when cli.FLAGTAXO='N' then 'Y' + else 'N' end as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 7 as ID, + 'Prodotti non ecosostenibili' as Descrizione, + replace(cast((100-cli.TAXO_PERCT) as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from C6MartPeriodico.[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' +-- select * from [C6MartPeriodico].[W6CliESG] cli +end +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S188PaiESG.sql b/sql/storedProduzione/C6MartPeriodico_PL_S188PaiESG.sql new file mode 100644 index 00000000..83f2cc69 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S188PaiESG.sql @@ -0,0 +1,97 @@ +--select distinct u_prefsost from [C6MartPeriodico].[W6CliESG] cli +--select * from wh.Maledetti +CREATE procedure [C6MartPeriodico].[PL_S188PaiESG] --'F','BNDDDM46C12B967J' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @SCADUTO_PARZIALE varchar(16) +SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6MartPeriodico.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale +declare @U_PREFSOST varchar(2) +select @U_PREFSOST=U_PREFSOST from [C6MartPeriodico].[W6CliESG] where rete=@Rete and codfis=@CodiceFiscale +if(@pref_esg='1' and @U_PREFSOST='S') +begin +select 1 as ID, + 'Prodotti che considerano almeno un PAI ambientale' as Descrizione, + replace(cast(cli.PAIA_PERCT as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(cli.PAIA_PERC_OK as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,case when isnull(cli.PAI_A,'')='' then 'Y' + else 'N' end as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 3 as ID, + 'Prodotti che non considerano PAI ambientali' as Descrizione, + replace(cast((100-cli.PAIA_PERCT) as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + union +select 5 as ID, + 'Prodotti che considerano almeno un PAI sociale' as Descrizione, + replace(cast(cli.PAIS_PERCT as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(cli.PAIS_PERC_OK as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,case when isnull(cli.PAI_S,'')='' then 'Y' + else 'N' end as isNA +from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 7 as ID, + 'Prodotti che non considerano PAI sociali' as Descrizione, + replace(cast((100-cli.PAIS_PERCT) as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +end +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S18PatrimonioFinanziarioRischio.sql b/sql/storedProduzione/C6MartPeriodico_PL_S18PatrimonioFinanziarioRischio.sql new file mode 100644 index 00000000..f6b316e4 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S18PatrimonioFinanziarioRischio.sql @@ -0,0 +1,86 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S18PatrimonioFinanziarioRischio] 'F','GRZDSG43E11D193N' +CREATE procedure [C6MartPeriodico].[PL_S18PatrimonioFinanziarioRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @varComplessivo DECIMAL(12,3) + DECLARE @varBF DECIMAL(12,3) + DECLARE @varTerzi DECIMAL(12,3) + DECLARE @coperturaBF DECIMAL(12,3) + DECLARE @coperturaTERZI DECIMAL(12,3) + DECLARE @coperturaCOMPLESSIVO DECIMAL(12,3) + DECLARE @codiceProfilo SMALLINT + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + SELECT + @varComplessivo = VAR_PERC_PTF, + @coperturaCOMPLESSIVO = COPERTURA + FROM + C6MartPeriodico.RISCHIO_AGGREGATO AS RA + WHERE + RA.RETE = @Rete AND + RA.COD_FISCALE = @CodiceFiscale AND + RA.COD_AGGREG = 'COMPLESSIVO' + SELECT + @varBF = VAR_PERC_PTF, + @coperturaBF = COPERTURA + FROM + C6MartPeriodico.RISCHIO_AGGREGATO AS RA + WHERE + RA.RETE = @Rete AND + RA.COD_FISCALE = @CodiceFiscale AND + RA.COD_AGGREG = 'COMPLESSIVO|BF' + SELECT + @varTerzi = VAR_PERC_PTF, + @coperturaTERZI = COPERTURA + FROM + C6MartPeriodico.RISCHIO_AGGREGATO AS RA + WHERE + RA.RETE = @Rete AND + RA.COD_FISCALE = @CodiceFiscale AND + RA.COD_AGGREG = 'COMPLESSIVO|TERZI' + SELECT + @codiceProfilo = M.PROFILO_ASS, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = CR.DESCRIZIONE + FROM + C6MartPeriodico.MIFID AS M + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + SELECT + @codiceProfilo as codiceProfilo, + @varProfilo as varProfilo, +-- isnull(@varComplessivo,0) as varComplessivo, +-- isnull(@varBF,0) as varBF, +-- isnull(@varTerzi,0) as varTerzi, + @varComplessivo as varComplessivo, + @varBF as varBF, + @varTerzi as varTerzi, + CASE + WHEN @coperturaCOMPLESSIVO IS NULL THEN 'n.c.' + WHEN @coperturaCOMPLESSIVO = 0 THEN 'n.c.' + ELSE NULL + END AS varComplessivoString, + CASE + WHEN @coperturaBF IS NULL THEN 'n.c.' + WHEN @coperturaBF = 0 THEN 'n.c.' + ELSE NULL + END AS varBFString, + CASE + WHEN @coperturaTERZI IS NULL THEN 'n.c.' + WHEN @coperturaTERZI = 0 THEN 'n.c.' + ELSE NULL + END AS varTerziString, + isnull(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S1Patrimonio.sql b/sql/storedProduzione/C6MartPeriodico_PL_S1Patrimonio.sql new file mode 100644 index 00000000..568019db --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S1Patrimonio.sql @@ -0,0 +1,88 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S1Patrimonio] 'F','MRSPLA53H24D643J' +CREATE procedure [C6MartPeriodico].[PL_S1Patrimonio] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT + @PatrimonioBF = SUM(CTV) + FROM + C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area <> 'CC' --escludo il cc negativo +-- SELECT @Part_viaggianti=SUM(IMPORTO) +-- FROM C6MartPeriodico.PARTITE_VIAGGIANTI partvia +-- WHERE +-- partvia.Rete = @Rete +-- and partvia.Cod_Fiscale = @CodiceFiscale + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Martperiodico.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + SELECT + @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM + C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM + C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioAltro = SUM(patrAltro.ctv) + FROM + C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S23DettaglioRischio.sql b/sql/storedProduzione/C6MartPeriodico_PL_S23DettaglioRischio.sql new file mode 100644 index 00000000..570cbc30 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S23DettaglioRischio.sql @@ -0,0 +1,78 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S23DettaglioRischio] 'F','BRNDRA65B04B300I' +CREATE procedure [C6MartPeriodico].[PL_S23DettaglioRischio] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT DISTINCT + isnull(MIFID.PROFILO_ASS,0) as codiceProfilo, + CASE + WHEN (CODRISCHIO.MAX_VAR is null) THEN 'n.c' + ELSE null + END as varProfiloMaxString, + CODRISCHIO.MAX_VAR as varProfiloMax, + MIFID.RISKCLASS AS CreditRiskMax, + CASE + WHEN MIFID.RISKCLASS IS NULL THEN 'n.c.' + ELSE NULL + END AS CreditRiskMaxString, + PT.INTERMEDIARIO AS Intermediario, + ISNULL(RISCHIO.VAR_PERC_PTF,0) as varIntermediario, + CASE + WHEN RISCHIO.COPERTURA = 0 THEN 'n.c.' + WHEN RISCHIO.COPERTURA IS NULL THEN 'n.c.' + ELSE NULL + END AS varIntermediarioString, + rischio.copertura as coperturaBF, + CASE + WHEN RISCHIO.COPERTURA = 0 THEN 'n.c.' + WHEN RISCHIO.COPERTURA IS NULL THEN 'n.c.' + ELSE NULL + END AS coperturaBFString, + CASE + -- WHEN RISCHIO.COPERTURA > 0 AND RISCHIO.VAR_PERC_PTF <= CODRISCHIO.MAX_VAR THEN 1 + -- modified by mzaki + WHEN RISCHIO.COPERTURA > 0 AND RISCHIO.VAR_PERC_PTF <= CODRISCHIO.MAX_VAR + AND isnull(RISCHIO.CREDITRISK,0) <= MIFID.RISKCLASS THEN 1 + -- + WHEN RISCHIO.COPERTURA = 0 THEN -1 + ELSE 0 + END AS rispetto, + ----------------------- + RISCHIO.CREDITRISK as creditRisk, + CASE + WHEN RISCHIO.CREDITRISK is null and RISCHIO.COPERTURA = 0 THEN 'n.c.' + WHEN RISCHIO.CREDITRISK is null and RISCHIO.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIO.CREDITRISK is null then 'n.a.' + ELSE null + END as creditRiskString + FROM + C6MartPeriodico.PATRIMONIO_TERZI PT + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO + ON + RISCHIO.RETE = PT.RETE + AND RISCHIO.COD_FISCALE = PT.COD_FISCALE + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|TERZI|' + PT.INTERMEDIARIO + LEFT OUTER JOIN + C6MartPeriodico.MIFID MIFID + ON + MIFID.RETE = PT.RETE + AND MIFID.COD_FISCALE = PT.COD_FISCALE + LEFT OUTER JOIN + C6MartPeriodico.CODIFICA_RISCHIO CODRISCHIO + ON + MIFID.PROFILO_ASS = CODRISCHIO.PROFILO + WHERE 1 = 1 + --V we take into account CC --AND PT.TIPO_PRODOTTO <> 'Conti correnti' + AND PT.RETE = @Rete + AND PT.cod_fiscale = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S25Anagrafica.sql b/sql/storedProduzione/C6MartPeriodico_PL_S25Anagrafica.sql new file mode 100644 index 00000000..d8734200 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S25Anagrafica.sql @@ -0,0 +1,32 @@ +CREATE procedure [C6MartPeriodico].[PL_S25Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [Cliente] + ,[DatadiNascita] + ,[ETA] + ,[Professione] + ,[StatoCivile] + ,[NucleoFamiliare] + ,[Residenza] + ,[CodiceFiscale] + ,[CodicePB] + ,[CodiceRete] + ,[CodiceContratto] + ,[StatoContratto] + ,[DataSottoscrizione] + ,[DataPerfezionamento] + ,[FasciaCPP] + ,[IndirizzoEmail] + ,[ProduzioneReport] + ,[Indirizzo] + ,[CAP] + ,[Citta] + ,[Provincia] + ,[Nazione] + ,[PRESSO] + FROM [C6MartPeriodico].[TB_S25Anagrafica] + WHERE [CodiceRete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S25Anagrafica_BkUpParall.sql b/sql/storedProduzione/C6MartPeriodico_PL_S25Anagrafica_BkUpParall.sql new file mode 100644 index 00000000..6a9d89e1 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S25Anagrafica_BkUpParall.sql @@ -0,0 +1,100 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S25Anagrafica] 'F', 'CSCGPP34A03L050L' +CREATE procedure [C6MartPeriodico].[PL_S25Anagrafica_BkUpParall] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + --V Indirizzo Secondo AULETTA + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') + ' ' else '' end + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') + ' ' else '' end + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_SOTT) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + CONTRATTOSEI.FASCIA_CPP AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + --ANAG_CLIENTI.CAP AS CAP, + -- CONTRATTOSEI.[CAP] AS CAP, + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' + then isnull(CONTRATTOSEI.CAP,'') + else '' + end as CAP, + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + --CONTRATTOSEI.[Prov] AS Provincia, + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' + then isnull(CONTRATTOSEI.[Prov],'') + else CONTRATTOSEI.[NAZIONE] + end as Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + CONTRATTOSEI.[Presso] AS PRESSO + FROM + [C6MartPeriodico].CONTRATTOSEI -- TABELLA BASE + INNER JOIN + C6MARTPERIODICO.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MARTPERIODICO.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + LEFT JOIN + C6MARTPERIODICO.ANAG_CLIENTI_PREV + ON + ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + LEFT JOIN + C6MARTPERIODICO.DATI_REPORT + ON + ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + WHERE 1 = 1 + AND ANAG_CLIENTI.RETE = @RETE + AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S26PatrimonioImmobiliare.sql b/sql/storedProduzione/C6MartPeriodico_PL_S26PatrimonioImmobiliare.sql new file mode 100644 index 00000000..93bab034 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S26PatrimonioImmobiliare.sql @@ -0,0 +1,21 @@ +CREATE procedure [C6MartPeriodico].[PL_S26PatrimonioImmobiliare] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + SELECT + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S27ALtroPatrimonio.sql b/sql/storedProduzione/C6MartPeriodico_PL_S27ALtroPatrimonio.sql new file mode 100644 index 00000000..cd64c7be --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S27ALtroPatrimonio.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_S27ALtroPatrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + SELECT + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM + C6MartPeriodico.PATRIMONIO_ALTRO + WHERE + PATRIMONIO_ALTRO.RETE = @Rete + AND PATRIMONIO_ALTRO.COD_FISCALE = @CodiceFiscale + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S2PatrimonioFinanziario.sql b/sql/storedProduzione/C6MartPeriodico_PL_S2PatrimonioFinanziario.sql new file mode 100644 index 00000000..8c9bef3d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S2PatrimonioFinanziario.sql @@ -0,0 +1,312 @@ +-- Stored procedure +-- ============================================= +-- Author: Luca De Lisio +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S2PatrimonioFinanziario] 'F','LNTNNE59L06F205C' +CREATE procedure [C6MartPeriodico].[PL_S2PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SELECT + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + --PRODOTTI BF ESCLUSI GLI ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + --DETTAGLIO ASUL SENZA SKANDIA + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --CON SKANDIA + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_S2PatrimonioFinanziario] Script Date: 10/02/2022 15:57:42 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: Luca De Lisio +---- Create date: +---- Description: +---- ============================================= +----[C6MartPeriodico].[PL_S2PatrimonioFinanziario] 'F','LNTNNE59L06F205C' +--ALTER procedure [C6MartPeriodico].[PL_S2PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +--SELECT +-- A.Banca, +-- A.Ordinamento, +-- A.AssetClassId, +-- A.AssetClassName, +-- cast(A.Controvalore as decimal(19,6)) Controvalore, +-- A.Percentuale, +-- cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +--FROM +--( +-- SELECT DISTINCT +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Fideuram' +-- END AS Banca, +-- ASSETCLASS.ORDINAMENTO AS Ordinamento, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') +-- ) * 100 AS Percentuale +-- FROM ( +-- --PRODOTTI BF ESCLUSI GLI ASUL +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- and patrbf.id_area <> 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +---- SELECT +---- ASSETPERC.ID_ASSETCLASS, +---- PATRBF.CTV*ASSETPERC.PERC as Controvalore +---- FROM +---- C6MartPeriodico.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MartPeriodico.ASSET_PERC ASSETPERC +---- ON +---- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +---- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +---- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN +---- C6MartPeriodico.ClientiConCCNegativo CCNegativo +---- ON +---- PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- WHERE +---- --ELIMINO I CC CON SALDO NEGATIVO +---- PATRBF.TIPO_PRODOTTO = 'CC' +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND CCNegativo.Cod_Fiscale IS NULL +---- UNION ALL +-- --DETTAGLIO ASUL SENZA SKANDIA +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --CON SKANDIA +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI +-- LEFT OUTER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI NON A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI +-- LEFT OUTER JOIN +-- C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MartPeriodico.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--ORDER BY A.ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S31PatrimonioFinanziarioIntermediario.sql b/sql/storedProduzione/C6MartPeriodico_PL_S31PatrimonioFinanziarioIntermediario.sql new file mode 100644 index 00000000..e49cea98 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S31PatrimonioFinanziarioIntermediario.sql @@ -0,0 +1,29 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S31PatrimonioFinanziarioIntermediario] 'F','BRTVTR64T13L219G' +CREATE procedure [C6MartPeriodico].[PL_S31PatrimonioFinanziarioIntermediario] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SELECT DISTINCT + PATRIMONIO_TERZI.INTERMEDIARIO as Intermediario, + SUM(ROUND(PATRIMONIO_TERZI.CTV,2)) OVER (PARTITION BY PATRIMONIO_TERZI.INTERMEDIARIO) as Controvalore, + (SUM(PATRIMONIO_TERZI.CTV) OVER (PARTITION BY PATRIMONIO_TERZI.INTERMEDIARIO)/ + SUM(PATRIMONIO_TERZI.CTV) OVER (PARTITION BY 'Totale'))*100 as Percentuale, + SUM(PATRIMONIO_TERZI.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM + C6MartPeriodico.PATRIMONIO_TERZI + WHERE + PATRIMONIO_TERZI.RETE = @Rete + AND PATRIMONIO_TERZI.COD_FISCALE = @CodiceFiscale + ORDER BY + PATRIMONIO_TERZI.INTERMEDIARIO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S32PatrimonioFinanziarioMAssetClass.sql b/sql/storedProduzione/C6MartPeriodico_PL_S32PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..914ad9ac --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S32PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,62 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_S32PatrimonioFinanziarioMAssetClass] 'F', 'BRCRRT70L21A390C' +CREATE procedure [C6MartPeriodico].[PL_S32PatrimonioFinanziarioMAssetClass] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT DISTINCT + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + ORDER BY + ASSETCLASS.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S36ProfiloRischio.sql b/sql/storedProduzione/C6MartPeriodico_PL_S36ProfiloRischio.sql new file mode 100644 index 00000000..6ed871e1 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S36ProfiloRischio.sql @@ -0,0 +1,29 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S36ProfiloRischio] 'F','GRNNTN55B07I158D' +CREATE procedure [C6MartPeriodico].[PL_S36ProfiloRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SELECT + MIFID.PROFILO_ASS AS codiceProfilo, + PROFILIDIRISCHIO.NOMEPROFILO as nomeProfilo, + DBO.TOSHORTDATESTRING(MIFID.DATA_INIZIO_VAL) AS dataInizioValidita, + CODIFICA_RISCHIO.MAX_VAR as varMassimo + FROM + C6MARTPERIODICO.MIFID AS MIFID + INNER JOIN C6MARTPERIODICO.CODIFICA_RISCHIO AS CODIFICA_RISCHIO + ON MIFID.PROFILO_ASS = CODIFICA_RISCHIO.PROFILO + INNER JOIN DBO.ProfiliDiRischio_preMUA AS PROFILIDIRISCHIO + ON PROFILIDIRISCHIO.CODICEPROFILO = CODIFICA_RISCHIO.PROFILO + WHERE 1 = 1 + AND MIFID.RETE = @Rete + AND MIFID.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S37PiramideModello.sql b/sql/storedProduzione/C6MartPeriodico_PL_S37PiramideModello.sql new file mode 100644 index 00000000..32fae9e5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S37PiramideModello.sql @@ -0,0 +1,30 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S37PiramideModello] 'F','BCCLVI34M18F335J' +CREATE procedure [C6MartPeriodico].[PL_S37PiramideModello] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + AREA_BISOGNO.ID_AREA AS Need_Breve, -- NOME BREVE DELL'AREA DI BISOGNO + PIRAMIDE_MOD.NOME_PROGETTO AS Nome_Progetto, -- NOME DEL PROGETTO (AREA INV) + ISNULL(PIRAMIDE_MOD.PERC_AREA,0) AS Perc_Need, -- PERCENTUALE DI ALLOCAZIONE SULL'AREA DI BISOGNO + PIRAMIDE_MOD.ORIZZ_TEMP AS Orizz_Temp, -- ORIZZONTE TEMPORALE DEL PROGETTO + SUM(ISNULL(PIRAMIDE_MOD.PERC_AREA,0)) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE, AREA_BISOGNO.ID_AREA) AS Totale_Percentuale, -- PERCENTUALE DI ALLOCAZIONE DEI PROGETTI + SUM(ISNULL(PIRAMIDE_MOD.PERC_AREA,0)) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE) AS Totale, + COUNT(CASE WHEN AREA_BISOGNO.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NOT NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE) AS NumeroProgettiInv, + AREA_BISOGNO.ORDINAMENTO AS Ordinamento + FROM C6MartPeriodico.AREA_BISOGNO + LEFT JOIN C6MartPeriodico.PIRAMIDE_MOD + ON PIRAMIDE_MOD.ID_AREA = AREA_BISOGNO.ID_AREA + AND((PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NOT NULL) + OR PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE')) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + WHERE AREA_BISOGNO.ORDINAMENTO < 6 + ORDER BY AREA_BISOGNO.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S42RischioDiversificazione.sql b/sql/storedProduzione/C6MartPeriodico_PL_S42RischioDiversificazione.sql new file mode 100644 index 00000000..839841fc --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S42RischioDiversificazione.sql @@ -0,0 +1,145 @@ +-- [C6MartPeriodico].[PL_S42RischioDiversificazione] 'F','BNNDRC23B44E689L' +CREATE procedure [C6MartPeriodico].[PL_S42RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete +SELECT +K.COD_FISCALE, +K.RETE, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' when k.rete = 'S' then 'Sanpaolo Invest' else 'IW Private Inv.' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY 11 +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_S42RischioDiversificazione] Script Date: 10/02/2022 15:59:33 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- [C6MartPeriodico].[PL_S42RischioDiversificazione] 'F','BNNDRC23B44E689L' +--ALTER procedure [C6MartPeriodico].[PL_S42RischioDiversificazione] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- declare @contaCC as int +-- select @contaCC = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete +-- declare @contaPOS as int +-- select @contaPOS = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where cod_fiscale = @codiceFiscale and rete = @rete +--SELECT +--K.COD_FISCALE, +--K.RETE, +--CASE +-- WHEN (@contaPOS - @contacc = 0) THEN 0 +-- ELSE VAR_PERC_PTF +--END AS VAR, +--CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +--CASE +-- WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 +-- --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' +-- ELSE null +--END AS coperturaString, +--beneficio as diversificazione, +--CASE +-- WHEN (@contaPOS - @contacc = 0) THEN 100 +-- ELSE COPERTURA +--END AS COPERTURA, +--case +--when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +--when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +--ELSE '' +--END AS PATRIMONIO, +--case +-- when b.profilo is null then -1 +-- else b.profilo +--end as profiloCode, +--b.max_var as var_profilo, +----V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +----V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +--case +--when cod_Aggreg = 'COMPLESSIVO' then 3 +--when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +--ELSE '' +--END AS Ordine +--FROM +--C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a +-- ON k.cod_fiscale = a.cod_fiscale and +-- k.rete = a.rete +-- left outer join +--C6Martperiodico.CODIFICA_RISCHIO b on +--A.PROFILO_ASS=B.PROFILO +--WHERE +----A.PROFILO_ASS=B.PROFILO +----AND K.RETE=A.RETE +----AND K.COD_FISCALE= A.COD_FISCALE +--COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +--AND k.COD_FISCALE = @COdiceFISCALE +--AND k.RETE= @RETE +--ORDER BY 11 +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S43BISDettaglioProdottiBF.sql b/sql/storedProduzione/C6MartPeriodico_PL_S43BISDettaglioProdottiBF.sql new file mode 100644 index 00000000..8b36f308 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S43BISDettaglioProdottiBF.sql @@ -0,0 +1,299 @@ +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] 'F', 'SPNTTR67T20F205D' +CREATE procedure [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] --'S','MNSLNZ44A58F351Y' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +--distinct +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, +--Bido +SUM(PATRBF.CTV ) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --V THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +--TRINGALI + CASE + WHEN (ISNULL(RISCHIO_AGGR_PROG.copertura,100) < 100) + --v THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_need_progString, +--INIZIO INTERVENTI OMNIA QUIIIIIIII +--case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null +-- and patrbf.tipo_prodotto='CC' +-- and patrbf.id_area='liq') + --then + -- CASE WHEN patrbf.data_sottoscrizione>monatt.data_attivazione + -- THEN + -- dbo.TOSHORTDATESTRING(patrbf.data_sottoscrizione) + -- ELSE + -- CASE WHEN monatt.data_attivazione> '20110211' + -- then dbo.TOSHORTDATESTRING(monatt.data_attivazione) + -- ELSE dbo.TOSHORTDATESTRING('20110211') + -- END + -- END + -- END + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.id_area='liq' + and (patrbf.tipo_prodotto='CC' + or patrbf.isin in('EURO00000009', 'EURO10000007'))) + then dbo.TOSHORTDATESTRING(C6MartPeriodico.getTrimestre2(getdate(),0)) +--FINE INTERVENTI OMNIA + else +--disasteriscare + --dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) +--cancellare inizio + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.chiave_progetto = '2205396' + and patrbf.tipo_prodotto = 'FI') + then '26/06/2014' + else + dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) + end +--cancellare fine + end AS dataAssociazione, -- CAMBIATA TRINGALI--marianna, cambiata per i cc senza data di associazione +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.VERSATO_NETTO_DA_ASSOC,0) end AS VersatoNetto, +CASE WHEN (MONIT.VERSATO_NETTO_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as VersatoNettoString, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.UTILE_PERDITA_DA_ASSOC,0) END AS MinusPlusValenza, +CASE WHEN (MONIT.UTILE_PERDITA_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in ('EURO00000009', 'EURO10000007' )THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_PROD.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK is null THEN 'n.a.' + ELSE NULL + END as creditriskstring, +-- CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + --APC 103 -- Dicembre 2022 + apc.is_APC as isAPC +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + -- LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +--MODIFICA TRINGALI PER PRENDERE DETTAGLIO MONITORAGGIO +C6MartPeriodico.MONITORAGGIO_DETTAGLIO MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + --AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + and PATRBF.POSITION_ID=MONIT.POSITION_ID + --AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONATT +ON + PATRBF.RETE = MONATT.RETE + AND PATRBF.COD_FISCALE = MONATT.COD_FISCALE + AND + (PATRBF.ID_AREA=(CASE WHEN MONATT.ID_AREA='Exr' THEN 'Ext' ELSE MONATT.ID_AREA END) AND PATRBF.ID_AREA <> 'INV' + OR + PATRBF.ID_AREA = 'INV' AND PATRBF.ID_AREA = MONATT.ID_AREA AND PATRBF.ORDINAMENTO_PROGETTO = MONATT.ORDINAMENTO_PROGETTO + ) +--blocchiamo il monitoraggio per i progetti a ctv=0 + --And ctv_monitorato>0 + --aggiunta 18/12/2022 per APC103 +left join C6MartPeriodico.WSEICC apc +on + apc.RETE=PATRBF.RETE + and apc.cod_fiscale=patrbf.cod_fiscale + and PATRBF.ID_CONTRATTO = --apc.CODCONFPR + (case when PATRBF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) + --fine aggiunta 18/12/2022 per APC103 +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND ( PATRBF.CTV <> 0 + --E-DEFAULT4 per gestire l'esposizione dei prodotti con ctv = 0 delle banche in default - 18/1/2016 + or (PATRBF.tipo_prodotto = 'DT' and + PATRBF.cod_interno in ('08558830','08594680','04880930','04867780','03972990', + '04281500','04539780','04657780','04966850','04119400','04931400', + '04556320', + '04119600','04291890','04064530' +))) +ORDER BY + AREASORTORDER, NOME_PROGETTO, PATRBF.CTV DESC -- modifica TRINGALI + --fine E-DEFAULT4 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20160118.sql b/sql/storedProduzione/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20160118.sql new file mode 100644 index 00000000..df7fe45a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20160118.sql @@ -0,0 +1,278 @@ +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] 'S', 'CLCLNE41M47H434D' +CREATE PROCEDURE [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF_20160118] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, +--Bido +SUM(PATRBF.CTV ) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --V THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +--TRINGALI + CASE + WHEN (ISNULL(RISCHIO_AGGR_PROG.copertura,100) < 100) + --v THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_need_progString, +--INIZIO INTERVENTI OMNIA QUIIIIIIII +--case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null +-- and patrbf.tipo_prodotto='CC' +-- and patrbf.id_area='liq') + --then + -- CASE WHEN patrbf.data_sottoscrizione>monatt.data_attivazione + -- THEN + -- dbo.TOSHORTDATESTRING(patrbf.data_sottoscrizione) + -- ELSE + -- CASE WHEN monatt.data_attivazione> '20110211' + -- then dbo.TOSHORTDATESTRING(monatt.data_attivazione) + -- ELSE dbo.TOSHORTDATESTRING('20110211') + -- END + -- END + -- END + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.id_area='liq' + and (patrbf.tipo_prodotto='CC' + or patrbf.isin in('EURO00000009', 'EURO10000007'))) + then dbo.TOSHORTDATESTRING(C6MartPeriodico.getTrimestre2(getdate(),0)) +--FINE INTERVENTI OMNIA + else +--disasteriscare + --dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) +--cancellare inizio + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.chiave_progetto = '2205396' + and patrbf.tipo_prodotto = 'FI') + then '26/06/2014' + else + dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) + end +--cancellare fine + end AS dataAssociazione, -- CAMBIATA TRINGALI--marianna, cambiata per i cc senza data di associazione +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.VERSATO_NETTO_DA_ASSOC,0) end AS VersatoNetto, +CASE WHEN (MONIT.VERSATO_NETTO_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as VersatoNettoString, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.UTILE_PERDITA_DA_ASSOC,0) END AS MinusPlusValenza, +CASE WHEN (MONIT.UTILE_PERDITA_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in ('EURO00000009', 'EURO10000007' )THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_PROD.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK is null THEN 'n.a.' + ELSE NULL + END as creditriskstring, +-- CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + -- LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +--MODIFICA TRINGALI PER PRENDERE DETTAGLIO MONITORAGGIO +C6MartPeriodico.MONITORAGGIO_DETTAGLIO MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + --AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + and PATRBF.POSITION_ID=MONIT.POSITION_ID + --AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONATT +ON + PATRBF.RETE = MONATT.RETE + AND PATRBF.COD_FISCALE = MONATT.COD_FISCALE + AND + (PATRBF.ID_AREA=(CASE WHEN MONATT.ID_AREA='Exr' THEN 'Ext' ELSE MONATT.ID_AREA END) AND PATRBF.ID_AREA <> 'INV' + OR + PATRBF.ID_AREA = 'INV' AND PATRBF.ID_AREA = MONATT.ID_AREA AND PATRBF.ORDINAMENTO_PROGETTO = MONATT.ORDINAMENTO_PROGETTO + ) +--blocchiamo il monitoraggio per i progetti a ctv=0 + --And ctv_monitorato>0 +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <> 0 +ORDER BY + AREASORTORDER, PATRBF.NOME_PROGETTO, PATRBF.CTV DESC -- modifica TRINGALI +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215.sql b/sql/storedProduzione/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215.sql new file mode 100644 index 00000000..6488400a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215.sql @@ -0,0 +1,287 @@ +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] 'S', 'CLCLNE41M47H434D' +CREATE PROCEDURE [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF_20161215] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, +--Bido +SUM(PATRBF.CTV ) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --V THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +--TRINGALI + CASE + WHEN (ISNULL(RISCHIO_AGGR_PROG.copertura,100) < 100) + --v THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_need_progString, +--INIZIO INTERVENTI OMNIA QUIIIIIIII +--case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null +-- and patrbf.tipo_prodotto='CC' +-- and patrbf.id_area='liq') + --then + -- CASE WHEN patrbf.data_sottoscrizione>monatt.data_attivazione + -- THEN + -- dbo.TOSHORTDATESTRING(patrbf.data_sottoscrizione) + -- ELSE + -- CASE WHEN monatt.data_attivazione> '20110211' + -- then dbo.TOSHORTDATESTRING(monatt.data_attivazione) + -- ELSE dbo.TOSHORTDATESTRING('20110211') + -- END + -- END + -- END + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.id_area='liq' + and (patrbf.tipo_prodotto='CC' + or patrbf.isin in('EURO00000009', 'EURO10000007'))) + then dbo.TOSHORTDATESTRING(C6MartPeriodico.getTrimestre2(getdate(),0)) +--FINE INTERVENTI OMNIA + else +--disasteriscare + --dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) +--cancellare inizio + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.chiave_progetto = '2205396' + and patrbf.tipo_prodotto = 'FI') + then '26/06/2014' + else + dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) + end +--cancellare fine + end AS + dataAssociazione, -- CAMBIATA TRINGALI--marianna, cambiata per i cc senza data di associazione +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.VERSATO_NETTO_DA_ASSOC,0) end AS VersatoNetto, +CASE WHEN (MONIT.VERSATO_NETTO_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as VersatoNettoString, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.UTILE_PERDITA_DA_ASSOC,0) END AS MinusPlusValenza, +CASE WHEN (MONIT.UTILE_PERDITA_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in ('EURO00000009', 'EURO10000007' )THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_PROD.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK is null THEN 'n.a.' + ELSE NULL + END as creditriskstring, +-- CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + -- LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +--MODIFICA TRINGALI PER PRENDERE DETTAGLIO MONITORAGGIO +C6MartPeriodico.MONITORAGGIO_DETTAGLIO MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + --AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + and PATRBF.POSITION_ID=MONIT.POSITION_ID + --AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONATT +ON + PATRBF.RETE = MONATT.RETE + AND PATRBF.COD_FISCALE = MONATT.COD_FISCALE + AND + (PATRBF.ID_AREA=(CASE WHEN MONATT.ID_AREA='Exr' THEN 'Ext' ELSE MONATT.ID_AREA END) AND PATRBF.ID_AREA <> 'INV' + OR + PATRBF.ID_AREA = 'INV' AND PATRBF.ID_AREA = MONATT.ID_AREA AND PATRBF.ORDINAMENTO_PROGETTO = MONATT.ORDINAMENTO_PROGETTO + ) +--blocchiamo il monitoraggio per i progetti a ctv=0 + --And ctv_monitorato>0 +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND ( PATRBF.CTV <> 0 + --E-DEFAULT4 per gestire l'esposizione dei prodotti con ctv = 0 delle banche in default - 18/1/2016 + or (PATRBF.tipo_prodotto = 'DT' and + PATRBF.cod_interno in ('08558830','08594680','04880930','04867780','03972990', + '04281500','04539780','04657780','04966850','04119400','04931400', + '04556320', + '04119600','04291890','04064530' +))) + --fine E-DEFAULT4 +ORDER BY + AREASORTORDER, PATRBF.NOME_PROGETTO, PATRBF.CTV DESC -- modifica TRINGALI +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215_B.sql b/sql/storedProduzione/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215_B.sql new file mode 100644 index 00000000..348eabf7 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215_B.sql @@ -0,0 +1,286 @@ +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] 'F', 'DGHDNC78R19C623G' +CREATE PROCEDURE [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF_20161215_B] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, +--Bido +SUM(PATRBF.CTV ) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --V THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +--TRINGALI + CASE + WHEN (ISNULL(RISCHIO_AGGR_PROG.copertura,100) < 100) + --v THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_need_progString, +--INIZIO INTERVENTI OMNIA QUIIIIIIII +--case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null +-- and patrbf.tipo_prodotto='CC' +-- and patrbf.id_area='liq') + --then + -- CASE WHEN patrbf.data_sottoscrizione>monatt.data_attivazione + -- THEN + -- dbo.TOSHORTDATESTRING(patrbf.data_sottoscrizione) + -- ELSE + -- CASE WHEN monatt.data_attivazione> '20110211' + -- then dbo.TOSHORTDATESTRING(monatt.data_attivazione) + -- ELSE dbo.TOSHORTDATESTRING('20110211') + -- END + -- END + -- END + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.id_area='liq' + and (patrbf.tipo_prodotto='CC' + or patrbf.isin in('EURO00000009', 'EURO10000007'))) + then dbo.TOSHORTDATESTRING(C6MartPeriodico.getTrimestre2(getdate(),0)) +--FINE INTERVENTI OMNIA + else +--disasteriscare + --dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) +--cancellare inizio + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.chiave_progetto = '2205396' + and patrbf.tipo_prodotto = 'FI') + then '26/06/2014' + else + dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) + end +--cancellare fine + end AS dataAssociazione, -- CAMBIATA TRINGALI--marianna, cambiata per i cc senza data di associazione +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.VERSATO_NETTO_DA_ASSOC,0) end AS VersatoNetto, +CASE WHEN (MONIT.VERSATO_NETTO_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as VersatoNettoString, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.UTILE_PERDITA_DA_ASSOC,0) END AS MinusPlusValenza, +CASE WHEN (MONIT.UTILE_PERDITA_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in ('EURO00000009', 'EURO10000007' )THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_PROD.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK is null THEN 'n.a.' + ELSE NULL + END as creditriskstring, +-- CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + -- LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +--MODIFICA TRINGALI PER PRENDERE DETTAGLIO MONITORAGGIO +C6MartPeriodico.MONITORAGGIO_DETTAGLIO MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + --AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + and PATRBF.POSITION_ID=MONIT.POSITION_ID + --AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONATT +ON + PATRBF.RETE = MONATT.RETE + AND PATRBF.COD_FISCALE = MONATT.COD_FISCALE + AND + (PATRBF.ID_AREA=(CASE WHEN MONATT.ID_AREA='Exr' THEN 'Ext' ELSE MONATT.ID_AREA END) AND PATRBF.ID_AREA <> 'INV' + OR + PATRBF.ID_AREA = 'INV' AND PATRBF.ID_AREA = MONATT.ID_AREA AND PATRBF.ORDINAMENTO_PROGETTO = MONATT.ORDINAMENTO_PROGETTO + ) +--blocchiamo il monitoraggio per i progetti a ctv=0 + --And ctv_monitorato>0 +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND ( PATRBF.CTV <> 0 + --E-DEFAULT4 per gestire l'esposizione dei prodotti con ctv = 0 delle banche in default - 18/1/2016 + or (PATRBF.tipo_prodotto = 'DT' and + PATRBF.cod_interno in ('08558830','08594680','04880930','04867780','03972990', + '04281500','04539780','04657780','04966850','04119400','04931400', + '04556320', + '04119600','04291890','04064530' +))) + --fine E-DEFAULT4 +ORDER BY + AREASORTORDER, PATRBF.NOME_PROGETTO, PATRBF.CTV DESC -- modifica TRINGALI +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S43ContoCorrenteBF.sql b/sql/storedProduzione/C6MartPeriodico_PL_S43ContoCorrenteBF.sql new file mode 100644 index 00000000..eab97d78 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S43ContoCorrenteBF.sql @@ -0,0 +1,44 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_S43ContoCorrenteBF] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + distinct + dbo.ToShortDateString(ANAG_CC.DATA_APERTURA) AS datadiSottoscrizione, + ANAG_CC.COD_CC AS conto, + cast(ANAG_CC.SALDOCONTABILE as decimal(15,2)) as Controvalore, + cast(ANAG_CC.SALDODISPONIBILE as decimal(15,2)) as SALDO_DISPONIBILE, + null as creditrisk , + 'n.a.' as creditriskstring, + 0 as var, + null as varString, + 0 as totaleVar, + null as totaleVarString, + apc.is_APC as isAPC + -- spb.CODCONF as CodiceContratto + FROM + C6MartPeriodico.ANAG_CC + left join C6StagingPeriodico.SPB_CONTR_SINTESI spb + on spb.rete=@rete + and spb.CODFIS=@CodiceFiscale + and spb.conto=anag_cc.cod_cc + --aggiunta apc103 + left join C6MartPeriodico.WSEICC apc +on + apc.RETE=@Rete + and apc.cod_fiscale=@CodiceFiscale + and spb.CODCONF = apc.CODCONFC + --(case when PATRBF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) + --fine aggiunta apc103 + WHERE + ANAG_CC.rete= @Rete + AND ANAG_CC.cod_fiscale= @CodiceFiscale + AND ANAG_CC.SALDOCONTABILE < 0 +-- ORDER BY ANAG_CC.SALDOCONTABILE DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S43DettaglioProdottiBF.sql b/sql/storedProduzione/C6MartPeriodico_PL_S43DettaglioProdottiBF.sql new file mode 100644 index 00000000..a2c5df7f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S43DettaglioProdottiBF.sql @@ -0,0 +1,256 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'BNDCRN60H52A181P' +-- [C6MartPeriodico].[PL_S43DettaglioProdottiBF] 'F','BNDCRN60H52A181P' +CREATE procedure [C6MartPeriodico].[PL_S43DettaglioProdottiBF] --'S','MNSLNZ44A58F351Y' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +--distinct +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE +--WHEN AREA.ID_AREA = 'Pre' THEN 'Default' + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + -- 20161219 - mod per far uscire il nome progetto sulle risorse na + WHEN AREA.ID_AREA = 'Na' THEN 'Default' + -- fine 20161219 - mod per far uscire il nome progetto sulle risorse na + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + --APC dicembre 2022 + apc.is_APC as isAPC +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + --LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) + --aggiunta 18/12/2022 per APC103 +left join C6MartPeriodico.WSEICC apc +on + apc.RETE=PATRBF.RETE + and apc.cod_fiscale=patrbf.cod_fiscale + and PATRBF.ID_CONTRATTO = --apc.CODCONFPR + (case when PATRBF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) + --fine aggiunta 18/12/2022 per APC103 +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_PROGETTO,nome_progetto, PATRBF.CTV DESC +END +--select top 1 * from c6martperiodico.patrimonio_bf where tipo_prodotto = 'CC' +--select SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)),ANAG_CC.COD_CC +--from c6martperiodico.anag_cc \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161215.sql b/sql/storedProduzione/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161215.sql new file mode 100644 index 00000000..42eadd69 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161215.sql @@ -0,0 +1,240 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'BNDCRN60H52A181P' +-- [C6MartPeriodico].[PL_S43DettaglioProdottiBF] 'F','DGHDNC78R19C623G' +CREATE procedure [C6MartPeriodico].[PL_S43DettaglioProdottiBF_20161215] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE +--WHEN AREA.ID_AREA = 'Pre' THEN 'Default' + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + --LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_PROGETTO,nome_progetto, PATRBF.CTV DESC +END +--select top 1 * from c6martperiodico.patrimonio_bf where tipo_prodotto = 'CC' +--select SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)),ANAG_CC.COD_CC +--from c6martperiodico.anag_cc \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161219.sql b/sql/storedProduzione/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161219.sql new file mode 100644 index 00000000..a20e7ccb --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161219.sql @@ -0,0 +1,240 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'BNDCRN60H52A181P' +-- [C6MartPeriodico].[PL_S43DettaglioProdottiBF] 'F','BRTMRA27P42Z126N' +CREATE procedure [C6MartPeriodico].[PL_S43DettaglioProdottiBF_20161219] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE +--WHEN AREA.ID_AREA = 'Pre' THEN 'Default' + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + --LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_PROGETTO,nome_progetto, PATRBF.CTV DESC +END +--select top 1 * from c6martperiodico.patrimonio_bf where tipo_prodotto = 'CC' +--select SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)),ANAG_CC.COD_CC +--from c6martperiodico.anag_cc \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql b/sql/storedProduzione/C6MartPeriodico_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql new file mode 100644 index 00000000..0135d6a1 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql @@ -0,0 +1,238 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'BNDCRN60H52A181P' +-- [C6MartPeriodico].[PL_S43DettaglioProdottiBF] 'F','CRORLF58C02L219Y' +CREATE procedure [C6MartPeriodico].[PL_S43DettaglioProdottiBF_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin ='EURO00000009' THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin ='EURO00000009') then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin = 'EURO00000009') + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + --LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_PROGETTO,nome_progetto, PATRBF.CTV DESC +END +--select top 1 * from c6martperiodico.patrimonio_bf where tipo_prodotto = 'CC' +--select SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)),ANAG_CC.COD_CC +--from c6martperiodico.anag_cc \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S43LineaSelfBF.sql b/sql/storedProduzione/C6MartPeriodico_PL_S43LineaSelfBF.sql new file mode 100644 index 00000000..2842f97e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S43LineaSelfBF.sql @@ -0,0 +1,37 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S43LineaSelfBF] 'F','GSTGPL59P03B586G' +CREATE procedure [C6MartPeriodico].[PL_S43LineaSelfBF] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + distinct + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(cast(datasott as varchar)) as DataSott, + CodInterno, + CodSottoProdotto, + apc.is_APC as isAPC + FROM + C6MartPeriodico.ANAG_SELF LS + --aggiunta apc103 + left join C6MartPeriodico.WSEICC apc +on + apc.RETE=@Rete + and apc.cod_fiscale=@CodiceFiscale + and ls.CodConf = apc.CODCONFPR + --(case when PATRBF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) + --fine aggiunta apc103 + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND isnull(ctv,0) < 0 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql b/sql/storedProduzione/C6MartPeriodico_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..6d8dca22 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S43LineaSelfBF] 'F','GSTGPL59P03B586G' +CREATE procedure [C6MartPeriodico].[PL_S43LineaSelfBF_20181214_PreMioFoglio] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(cast(datasott as varchar)) as DataSott + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND isnull(ctv,0) < 0 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S47ContoCorrenteBF.sql b/sql/storedProduzione/C6MartPeriodico_PL_S47ContoCorrenteBF.sql new file mode 100644 index 00000000..13308242 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S47ContoCorrenteBF.sql @@ -0,0 +1,32 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[PL_S47ContoCorrenteBF] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SELECT + dbo.ToShortDateString(ANAG_CC.DATA_APERTURA) AS datadiSottoscrizione, + ANAG_CC.COD_CC AS conto, + cast(ANAG_CC.SALDO as decimal(15,2)) as Controvalore, + null as creditrisk , + 'n.a.' as creditriskstring, + 0 as var, + null as varString, + 0 as totaleVar, + null as totaleVarString + FROM + C6MartPeriodico.ANAG_CC + WHERE + ANAG_CC.rete= @Rete + AND ANAG_CC.cod_fiscale= @CodiceFiscale + ORDER BY + ANAG_CC.SALDO DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S48DettaglioProdotti.sql b/sql/storedProduzione/C6MartPeriodico_PL_S48DettaglioProdotti.sql new file mode 100644 index 00000000..07aa9616 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S48DettaglioProdotti.sql @@ -0,0 +1,99 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S48DettaglioProdotti] 'F', 'LNTNNE59L06F205C' +CREATE procedure [C6MartPeriodico].[PL_S48DettaglioProdotti] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + ON + PATRTERZI.RETE = RISCHIOAGGREG.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGREG.COD_FISCALE + AND RISCHIOAGGREG.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + WHERE 1 = 1 + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.DESCR_GRUPPO_PRODOTTO IS NOT NULL + ORDER BY + OrdinamentoProdotti, + Controvalore DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S49PolizzeAltriIstituti.sql b/sql/storedProduzione/C6MartPeriodico_PL_S49PolizzeAltriIstituti.sql new file mode 100644 index 00000000..4e1d0c89 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S49PolizzeAltriIstituti.sql @@ -0,0 +1,31 @@ +-- ============================================= +-- Author: Marco Gentilezza +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S49PolizzeAltriIstituti]'S', 'MRTRRT57T17E758I' +CREATE procedure [C6MartPeriodico].[PL_S49PolizzeAltriIstituti] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' + WHERE PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S50FondiAltriIstituti.sql b/sql/storedProduzione/C6MartPeriodico_PL_S50FondiAltriIstituti.sql new file mode 100644 index 00000000..00d8808b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S50FondiAltriIstituti.sql @@ -0,0 +1,63 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S50FondiAltriIstituti] 'S', 'MRTRRT57T17E758I' +CREATE procedure [C6MartPeriodico].[PL_S50FondiAltriIstituti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + WHERE + PATRTERZI.rete = @Rete + and PATRTERZI.cod_fiscale = @CodiceFiscale + --AND PATRTERZI.TIPO_PRODOTTO = 'Fondi pensione' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S51ContoCorrenteAI.sql b/sql/storedProduzione/C6MartPeriodico_PL_S51ContoCorrenteAI.sql new file mode 100644 index 00000000..19b957c3 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S51ContoCorrenteAI.sql @@ -0,0 +1,23 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_S51ContoCorrenteAI] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + CCTerzi.INTERMEDIARIO AS Intermediario, + CCTerzi.COD_CC AS ContoCorrente, + CCTerzi.SALDO AS Saldo, + null as creditrisk, + 'n.a.' as creditriskstring, + 0.00 as var + FROM + C6MartPeriodico.ANAG_CC_Terzi CCTerzi + WHERE + CCTerzi.rete= @Rete + AND CCTerzi.cod_fiscale= @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S56PatrimonioBFAreeBisogno.sql b/sql/storedProduzione/C6MartPeriodico_PL_S56PatrimonioBFAreeBisogno.sql new file mode 100644 index 00000000..45a7d53c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S56PatrimonioBFAreeBisogno.sql @@ -0,0 +1,64 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S56PatrimonioBFAreeBisogno] 'F','TNNLGU58R01B259Y' +CREATE procedure [C6MartPeriodico].[PL_S56PatrimonioBFAreeBisogno] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + COALESCE(PIRAMIDE_VERT.CTV_AREA, 0.00) AS ControValore, + COALESCE( + CAST(100*(PIRAMIDE_VERT.CTV_AREA / + SUM(COALESCE(PIRAMIDE_VERT.CTV_AREA,0)) OVER (PARTITION BY PIRAMIDE_VERT.RETE, PIRAMIDE_VERT.COD_FISCALE)) AS DECIMAL(5,2)) + , 0.00) AS Peso, + COALESCE(RISCHIO_AGGREGATO.VAR_PERC_PTF, 0.00) AS Var_NeedArea, + NULL AS Var_NeedAreaString, + COALESCE(RISCHIO_AGGREGATO.COPERTURA, 0) AS Copertura_NeedArea, + CASE + WHEN RISCHIO_AGGREGATO.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIO_AGGREGATO.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS Copertura_NeedAreaString, + NULL AS RischioRelativo, -- TODO: CHIEDERE + NULL AS Nota, -- TODO: CHIEDERE + SUM(COALESCE(PIRAMIDE_VERT.CTV_AREA,0)) OVER (PARTITION BY 'Totale') AS Somma_Controval, + RISCHIO_TOTALE.VAR_PERC_PTF AS Var_tot, + RISCHIO_TOTALE.COPERTURA AS Copertura_tot, + CASE + WHEN RISCHIO_TOTALE.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIO_TOTALE.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS Copertura_totString + FROM C6MartPeriodico.AREA_BISOGNO + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT RETE, COD_FISCALE, LEFT(ID_AREA,3) AS ID_AREA, SUM(COALESCE(CTV_AREA,0)) AS CTV_AREA + FROM C6MartPeriodico.PIRAMIDE_VERT + WHERE PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + GROUP BY RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT ON PIRAMIDE_VERT.ID_AREA = AREA_BISOGNO.ID_AREA +-- LEFT JOIN C6MartPeriodico.PIRAMIDE_VERT +-- ON LEFT(PIRAMIDE_VERT.ID_AREA,3) = AREA_BISOGNO.ID_AREA +-- AND PIRAMIDE_VERT.RETE = @Rete +-- AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO + ON RISCHIO_AGGREGATO.COD_AGGREG = 'PIRAMIDE|' + LEFT(AREA_BISOGNO.ID_AREA,3) + AND RISCHIO_AGGREGATO.RETE = @Rete + AND RISCHIO_AGGREGATO.COD_FISCALE = @CodiceFiscale + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIO_TOTALE + ON RISCHIO_TOTALE.COD_AGGREG = 'PIRAMIDE' + AND RISCHIO_TOTALE.RETE = @Rete + AND RISCHIO_TOTALE.COD_FISCALE = @CodiceFiscale + WHERE AREA_BISOGNO.ORDINAMENTO < 6 + ORDER BY AREA_BISOGNO.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S57ConfrontoPiramidi.sql b/sql/storedProduzione/C6MartPeriodico_PL_S57ConfrontoPiramidi.sql new file mode 100644 index 00000000..3267fb90 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S57ConfrontoPiramidi.sql @@ -0,0 +1,203 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S57ConfrontoPiramidi] 'F','BNNDRC23B44E689L' +CREATE procedure [C6MartPeriodico].[PL_S57ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + LEFT(ID_AREA,3) AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc') + --V + DECLARE @TOTCC AS INT + SELECT @TOTCC = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND TIPO_PRODOTTO = 'Cc' + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCC = @TOT THEN 0.00 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + WHEN (@TOTCC <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'jjn.c.' + --V SOLO CC -> VAR = 0 + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCC = @TOT THEN NULL + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCC = @TOT THEN NULL + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S57ConfrontoPiramidi_OLD.sql b/sql/storedProduzione/C6MartPeriodico_PL_S57ConfrontoPiramidi_OLD.sql new file mode 100644 index 00000000..2e48a636 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S57ConfrontoPiramidi_OLD.sql @@ -0,0 +1,204 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S57ConfrontoPiramidi] 'S','CCRPTR55A08H501P' +CREATE procedure [C6MartPeriodico].[PL_S57ConfrontoPiramidi_OLD] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + LEFT(ID_AREA,3) AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc') + --V + DECLARE @TOTCC DECIMAL (20,2) + SELECT @TOTCC = ISNULL(CONTROVALORE,0) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'Cc' + --V + DECLARE @TOT DECIMAL (20,2) + SELECT @TOT = SUM(ISNULL(CONTROVALORE,0)) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + --V SOLO CC -> VAR = 0 + WHEN @TOTCC = @TOT THEN NULL + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN @TOTCC = @TOT THEN NULL + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S6PatrimonioFinanziario.sql b/sql/storedProduzione/C6MartPeriodico_PL_S6PatrimonioFinanziario.sql new file mode 100644 index 00000000..d7a3015b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S6PatrimonioFinanziario.sql @@ -0,0 +1,144 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S6PatrimonioFinanziario] 'F','GZZSLD52E20G869L' +CREATE procedure [C6MartPeriodico].[PL_S6PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + DECLARE @NOMERETE VARCHAR(20) + IF @Rete = 'F' + SET @NOMERETE = 'Fideuram' + ELSE IF @Rete = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + SELECT + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Intermediario, + Ordine, + @NOMERETE AS Banca, + -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv + SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine)) / + (SUM(ctv) over (partition by 'Totale')) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + @NOMERETE AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MartPeriodico.PATRIMONIO_BF patrBF +-- LEFT JOIN C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- AND PATRBF.TIPO_PRODOTTO = 'CC' + WHERE 1 = 1 + AND patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO + and patrBF.id_area <> 'cc' + UNION ALL + SELECT + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + AND patrTerzi.Rete = @Rete + AND patrTerzi.Cod_Fiscale = @CodiceFiscale + GROUP BY patrTerzi.Intermediario + ) PATR + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_S6PatrimonioFinanziario] Script Date: 10/02/2022 15:58:38 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +---- [C6MartPeriodico].[PL_S6PatrimonioFinanziario] 'F','GZZSLD52E20G869L' +--ALTER procedure [C6MartPeriodico].[PL_S6PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @Rete = 'F' +-- SET @NOMERETE = 'Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- Intermediario, +-- Ordine, +-- Banca, +-- Controvalore, +-- round(Percentuale,2) as Percentuale +-- FROM +-- ( +-- SELECT DISTINCT +-- Intermediario, +-- Ordine, +-- @NOMERETE AS Banca, +-- -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv +-- SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, +-- ( +-- (SUM(ctv) over (partition by Intermediario,Ordine)) / +-- (SUM(ctv) over (partition by 'Totale')) +-- ) * 100 AS PERCENTUALE +-- FROM +-- ( +-- SELECT +-- @NOMERETE AS Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 1 AS ordine +-- FROM C6MartPeriodico.PATRIMONIO_BF patrBF +---- LEFT JOIN C6MartPeriodico.ClientiConCCNegativo CCNegativo +---- ON PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- AND PATRBF.TIPO_PRODOTTO = 'CC' +-- WHERE 1 = 1 +-- AND patrBF.Rete = @Rete +-- AND patrBF.Cod_Fiscale = @CodiceFiscale +-- --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO +-- and patrBF.id_area <> 'cc' +-- UNION ALL +-- SELECT +-- Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 2 AS ordine +-- FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi +-- WHERE 1 = 1 +-- AND patrTerzi.Rete = @Rete +-- AND patrTerzi.Cod_Fiscale = @CodiceFiscale +-- GROUP BY patrTerzi.Intermediario +-- ) PATR +-- ) A +-- WHERE CONTROVALORE IS NOT NULL +-- ORDER BY Ordine +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S75GradoCopertura.sql b/sql/storedProduzione/C6MartPeriodico_PL_S75GradoCopertura.sql new file mode 100644 index 00000000..ca2c08f1 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S75GradoCopertura.sql @@ -0,0 +1,352 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S75GradoCopertura] 'F','GRNNTN55B07I158D' +CREATE procedure [C6MartPeriodico].[PL_S75GradoCopertura] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @varCompl decimal(15,3) + DECLARE @coperturaCompl decimal(15,3) + DECLARE @ctvCompl decimal(15,3) + DECLARE @saldoCC decimal(15,3) + --CALCOLO PATRIMONI E ESTRAZIONE VAR + SELECT + @Rete AS Rete, + @CodiceFiscale as CodiceFiscale, + CASE @Rete + WHEN 'F' THEN 'Patrimonio Fideuram' + WHEN 'S' THEN 'Patrimonio San Paolo Invest' + ELSE ' Patrimonio IW Private Inv.' + END AS NomePatrimonio, +-- MAX(patrBF.CTV - patrBF.ContoCorrente) AS Controvalore, +-- MAX(patrBF.ContoCorrente) AS ControvaloreCC, +-- MAX(RISCHIO.VAR_PERC_PTF) AS VarPatrimonio, +-- MAX(RISCHIO.COPERTURA) AS Copertura, + patrBF.PatrimonioSenzaCC AS Controvalore, + --patrBF.CTV - patrBF.ContoCorrente AS Controvalore, + patrBF.ContoCorrente AS ControvaloreCC, + RISCHIO.VAR_PERC_PTF AS VarPatrimonio, + RISCHIO.COPERTURA AS Copertura, + 1 AS ORDINE INTO #TEMP75 + FROM + C6MartPeriodico.vPatrimoniobfAggregato patrBF + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO + ON + RISCHIO.RETE = patrBF.RETE + AND RISCHIO.COD_FISCALE = patrBF.COD_FISCALE + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|BF' + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + UNION ALL + SELECT + A.Rete, + A.CodiceFiscale, + A.NomePatrimonio, + A.Controvalore, + A.ControvaloreCC, + A.VarPatrimonio, + A.Copertura, + A.ORDINE + FROM( + SELECT + @Rete AS Rete, + @CodiceFiscale as CodiceFiscale, + 'Patrimonio Altri Istituti' AS NomePatrimonio, + SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END,2)) AS Controvalore, + SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN patrTerzi.CTV ELSE 0 END,2)) AS ControvaloreCC, + MAX(RISCHIO.VAR_PERC_PTF) as VarPatrimonio, + MAX(RISCHIO.COPERTURA) as Copertura, + 2 AS ORDINE + FROM + C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO + ON + RISCHIO.RETE = patrTerzi.RETE + AND RISCHIO.COD_FISCALE = patrTerzi.COD_FISCALE + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|TERZI' + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.COD_FISCALE = @CodiceFiscale + ) A + WHERE ISNULL(A.CONTROVALORE,0)>0 + -- SE IL PATRIMONIO È SOLO 1 NON VA CALCOLATO IL COMPLESSIVO + IF @@ROWCOUNT > 1 + BEGIN + --CALCOLO IL PATRIMONIO COMPLESSIVO ED ESTRAGGO IL VAR + SELECT + @ctvCompl=SUM(patr.CONTROVALORE), + @saldoCC=SUM(patr.CONTROVALORECC), + @varCompl=MAX(RISCHIO.VAR_PERC_PTF), + @coperturaCompl=MAX(RISCHIO.COPERTURA) + FROM + #TEMP75 patr + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO + ON + RISCHIO.RETE = patr.RETE + AND RISCHIO.COD_FISCALE = patr.CodiceFiscale + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO' + --RESTITUISCO I PATRIMONI + SELECT + Ordine, + Nomepatrimonio, + Controvalore, + CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END AS CCPresente, + (CONTROVALORE/@CTVCompl)*100 AS Percentuale, + VARPATRIMONIO AS VAR, + Copertura, + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS varString, + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS coperturaString, + -- aggiunta per valutare la presenza di controcorrente + CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto + -- fine aggiunta per valutare la presenza di controcorrente + FROM #TEMP75 + WHERE CONTROVALORE IS NOT NULL + UNION ALL + SELECT + 3, + 'Patrimonio Complessivo', + @CTVCompl, + CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END as CCPRESENTE, + 100.00 as percentuale, + @varCompl, + @coperturaCompl, + CASE + WHEN @coperturaCompl IS NULL THEN 'n.c.' + WHEN @coperturaCompl = 0 THEN 'n.c.' + ELSE NULL + END AS varString, + CASE + WHEN @coperturaCompl IS NULL THEN 'n.c.' + WHEN @coperturaCompl = 0 THEN 'n.c.' + ELSE NULL + END AS coperturaString, + -- aggiunta per valutare la presenza di controcorrente + CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto + -- fine aggiunta per valutare la presenza di controcorrente + ORDER BY 1 + END + ELSE + BEGIN + --RESTITUISCO L'UNICO PATRIMONIO PRESENTE + SELECT + Nomepatrimonio, + Controvalore, + CASE WHEN CONTROVALORECC > 0 THEN 1 ELSE 0 END as CCPresente, + 100.00 as Percentuale, + VARPATRIMONIO AS VAR, + Copertura, + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS varString, + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS coperturaString, + -- aggiunta per valutare la presenza di controcorrente + CASE WHEN CONTROVALORECC <> 0 THEN 1 ELSE 0 END as NotaCCNetto + -- fine aggiunta per valutare la presenza di controcorrente + FROM #TEMP75 + WHERE CONTROVALORE IS NOT NULL + END +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_S75GradoCopertura] Script Date: 10/02/2022 16:00:46 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +---- [C6MartPeriodico].[PL_S75GradoCopertura] 'F','GRNNTN55B07I158D' +--ALTER procedure [C6MartPeriodico].[PL_S75GradoCopertura] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- DECLARE @varCompl decimal(15,3) +-- DECLARE @coperturaCompl decimal(15,3) +-- DECLARE @ctvCompl decimal(15,3) +-- DECLARE @saldoCC decimal(15,3) +-- --CALCOLO PATRIMONI E ESTRAZIONE VAR +-- SELECT +-- @Rete AS Rete, +-- @CodiceFiscale as CodiceFiscale, +-- CASE @Rete +-- WHEN 'F' THEN 'Patrimonio Fideuram' +-- ELSE 'Patrimonio San Paolo Invest' +-- END AS NomePatrimonio, +---- MAX(patrBF.CTV - patrBF.ContoCorrente) AS Controvalore, +---- MAX(patrBF.ContoCorrente) AS ControvaloreCC, +---- MAX(RISCHIO.VAR_PERC_PTF) AS VarPatrimonio, +---- MAX(RISCHIO.COPERTURA) AS Copertura, +-- patrBF.PatrimonioSenzaCC AS Controvalore, +-- --patrBF.CTV - patrBF.ContoCorrente AS Controvalore, +-- patrBF.ContoCorrente AS ControvaloreCC, +-- RISCHIO.VAR_PERC_PTF AS VarPatrimonio, +-- RISCHIO.COPERTURA AS Copertura, +-- 1 AS ORDINE INTO #TEMP75 +-- FROM +-- C6MartPeriodico.vPatrimoniobfAggregato patrBF +-- LEFT JOIN +-- C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO +-- ON +-- RISCHIO.RETE = patrBF.RETE +-- AND RISCHIO.COD_FISCALE = patrBF.COD_FISCALE +-- AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|BF' +-- WHERE +-- patrBF.Rete = @Rete +-- AND patrBF.Cod_Fiscale = @CodiceFiscale +-- UNION ALL +-- SELECT +-- A.Rete, +-- A.CodiceFiscale, +-- A.NomePatrimonio, +-- A.Controvalore, +-- A.ControvaloreCC, +-- A.VarPatrimonio, +-- A.Copertura, +-- A.ORDINE +-- FROM( +-- SELECT +-- @Rete AS Rete, +-- @CodiceFiscale as CodiceFiscale, +-- 'Patrimonio Altri Istituti' AS NomePatrimonio, +-- SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END,2)) AS Controvalore, +-- SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN patrTerzi.CTV ELSE 0 END,2)) AS ControvaloreCC, +-- MAX(RISCHIO.VAR_PERC_PTF) as VarPatrimonio, +-- MAX(RISCHIO.COPERTURA) as Copertura, +-- 2 AS ORDINE +-- FROM +-- C6MartPeriodico.PATRIMONIO_TERZI patrTerzi +-- LEFT JOIN +-- C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO +-- ON +-- RISCHIO.RETE = patrTerzi.RETE +-- AND RISCHIO.COD_FISCALE = patrTerzi.COD_FISCALE +-- AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|TERZI' +-- WHERE +-- patrTerzi.Rete = @Rete +-- and patrTerzi.COD_FISCALE = @CodiceFiscale +-- ) A +-- WHERE ISNULL(A.CONTROVALORE,0)>0 +-- -- SE IL PATRIMONIO È SOLO 1 NON VA CALCOLATO IL COMPLESSIVO +-- IF @@ROWCOUNT > 1 +-- BEGIN +-- --CALCOLO IL PATRIMONIO COMPLESSIVO ED ESTRAGGO IL VAR +-- SELECT +-- @ctvCompl=SUM(patr.CONTROVALORE), +-- @saldoCC=SUM(patr.CONTROVALORECC), +-- @varCompl=MAX(RISCHIO.VAR_PERC_PTF), +-- @coperturaCompl=MAX(RISCHIO.COPERTURA) +-- FROM +-- #TEMP75 patr +-- LEFT JOIN +-- C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO +-- ON +-- RISCHIO.RETE = patr.RETE +-- AND RISCHIO.COD_FISCALE = patr.CodiceFiscale +-- AND RISCHIO.COD_AGGREG = 'COMPLESSIVO' +-- --RESTITUISCO I PATRIMONI +-- SELECT +-- Ordine, +-- Nomepatrimonio, +-- Controvalore, +-- CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END AS CCPresente, +-- (CONTROVALORE/@CTVCompl)*100 AS Percentuale, +-- VARPATRIMONIO AS VAR, +-- Copertura, +-- CASE +-- WHEN COPERTURA IS NULL THEN 'n.c.' +-- WHEN COPERTURA = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS varString, +-- CASE +-- WHEN COPERTURA IS NULL THEN 'n.c.' +-- WHEN COPERTURA = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS coperturaString, +-- -- aggiunta per valutare la presenza di controcorrente +-- CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto +-- -- fine aggiunta per valutare la presenza di controcorrente +-- FROM #TEMP75 +-- WHERE CONTROVALORE IS NOT NULL +-- UNION ALL +-- SELECT +-- 3, +-- 'Patrimonio Complessivo', +-- @CTVCompl, +-- CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END as CCPRESENTE, +-- 100.00 as percentuale, +-- @varCompl, +-- @coperturaCompl, +-- CASE +-- WHEN @coperturaCompl IS NULL THEN 'n.c.' +-- WHEN @coperturaCompl = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS varString, +-- CASE +-- WHEN @coperturaCompl IS NULL THEN 'n.c.' +-- WHEN @coperturaCompl = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS coperturaString, +-- -- aggiunta per valutare la presenza di controcorrente +-- CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto +-- -- fine aggiunta per valutare la presenza di controcorrente +-- ORDER BY 1 +-- END +-- ELSE +-- BEGIN +-- --RESTITUISCO L'UNICO PATRIMONIO PRESENTE +-- SELECT +-- Nomepatrimonio, +-- Controvalore, +-- CASE WHEN CONTROVALORECC > 0 THEN 1 ELSE 0 END as CCPresente, +-- 100.00 as Percentuale, +-- VARPATRIMONIO AS VAR, +-- Copertura, +-- CASE +-- WHEN COPERTURA IS NULL THEN 'n.c.' +-- WHEN COPERTURA = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS varString, +-- CASE +-- WHEN COPERTURA IS NULL THEN 'n.c.' +-- WHEN COPERTURA = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS coperturaString, +-- -- aggiunta per valutare la presenza di controcorrente +-- CASE WHEN CONTROVALORECC <> 0 THEN 1 ELSE 0 END as NotaCCNetto +-- -- fine aggiunta per valutare la presenza di controcorrente +-- FROM #TEMP75 +-- WHERE CONTROVALORE IS NOT NULL +-- END +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S75GradoCoperturaCompl.sql b/sql/storedProduzione/C6MartPeriodico_PL_S75GradoCoperturaCompl.sql new file mode 100644 index 00000000..14e294e8 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S75GradoCoperturaCompl.sql @@ -0,0 +1,14 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S75GradoCopertura] 'F','GRNNTN55B07I158D' +CREATE procedure [C6MartPeriodico].[PL_S75GradoCoperturaCompl] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +select copertura from c6martperiodico.RISCHIO_AGGREGATO where COD_FISCALE=@CodiceFiscale and rete=@rete and cod_aggreg='COMPLESSIVO' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S75GradoCoperturaInterno.sql b/sql/storedProduzione/C6MartPeriodico_PL_S75GradoCoperturaInterno.sql new file mode 100644 index 00000000..f8d1e68b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S75GradoCoperturaInterno.sql @@ -0,0 +1,14 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S75GradoCopertura] 'F','GRNNTN55B07I158D' +CREATE procedure [C6MartPeriodico].[PL_S75GradoCoperturaInterno] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +select copertura from c6martperiodico.RISCHIO_AGGREGATO where COD_FISCALE=@CodiceFiscale and rete=@rete and cod_aggreg='COMPLESSIVO|BF' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S75GradoCoperturaTerzi.sql b/sql/storedProduzione/C6MartPeriodico_PL_S75GradoCoperturaTerzi.sql new file mode 100644 index 00000000..0b8e5913 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S75GradoCoperturaTerzi.sql @@ -0,0 +1,14 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S75GradoCopertura] 'F','GRNNTN55B07I158D' +CREATE procedure [C6MartPeriodico].[PL_S75GradoCoperturaTerzi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +select copertura from c6martperiodico.RISCHIO_AGGREGATO where COD_FISCALE=@CodiceFiscale and rete=@rete and cod_aggreg='COMPLESSIVO|TERZI' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S75GradoCopertura_check.sql b/sql/storedProduzione/C6MartPeriodico_PL_S75GradoCopertura_check.sql new file mode 100644 index 00000000..cf68dc43 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S75GradoCopertura_check.sql @@ -0,0 +1,186 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- exec [C6MartPeriodico].[PL_S75GradoCopertura_check] 'F','LBRRMN81R48L388B' +CREATE procedure [C6MartPeriodico].[PL_S75GradoCopertura_check] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @varCompl decimal(15,3) + DECLARE @coperturaCompl decimal(15,3) + DECLARE @ctvCompl decimal(15,3) + DECLARE @saldoCC decimal(15,3) + --CALCOLO PATRIMONI E ESTRAZIONE VAR + SELECT + @Rete AS Rete, + @CodiceFiscale as CodiceFiscale, + CASE @Rete + WHEN 'F' THEN 'Patrimonio Fideuram' + ELSE 'Patrimonio San Paolo Invest' + END AS NomePatrimonio, +-- MAX(patrBF.CTV - patrBF.ContoCorrente) AS Controvalore, +-- MAX(patrBF.ContoCorrente) AS ControvaloreCC, +-- MAX(RISCHIO.VAR_PERC_PTF) AS VarPatrimonio, +-- MAX(RISCHIO.COPERTURA) AS Copertura, +---MODIFICA TRINGALI inserisco cc + patrBF.CTV AS Controvalore, + --patrBF.PatrimonioSenzaCC AS Controvalore, + --patrBF.CTV - patrBF.ContoCorrente AS Controvalore, + patrBF.ContoCorrente AS ControvaloreCC, + RISCHIO.VAR_PERC_PTF AS VarPatrimonio, + RISCHIO.COPERTURA AS Copertura, + 1 AS ORDINE + INTO #TEMP75 + FROM + C6MartPeriodico.vPatrimoniobfAggregato patrBF + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO + ON + RISCHIO.RETE = patrBF.RETE + AND RISCHIO.COD_FISCALE = patrBF.COD_FISCALE + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|BF' + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + --and patrBF.CTV > 0 +-- UNION ALL +-- +-- SELECT +-- A.Rete, +-- A.CodiceFiscale, +-- A.NomePatrimonio, +-- A.Controvalore, +-- A.ControvaloreCC, +-- A.VarPatrimonio, +-- A.Copertura, +-- A.ORDINE +-- FROM( +-- SELECT +-- @Rete AS Rete, +-- @CodiceFiscale as CodiceFiscale, +-- 'Patrimonio Altri Istituti' AS NomePatrimonio, +-- SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END,2)) AS Controvalore, +-- SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN patrTerzi.CTV ELSE 0 END,2)) AS ControvaloreCC, +-- MAX(RISCHIO.VAR_PERC_PTF) as VarPatrimonio, +-- MAX(RISCHIO.COPERTURA) as Copertura, +-- 2 AS ORDINE +-- FROM +-- C6MartPeriodico.PATRIMONIO_TERZI patrTerzi +-- LEFT JOIN +-- C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO +-- ON +-- RISCHIO.RETE = patrTerzi.RETE +-- AND RISCHIO.COD_FISCALE = patrTerzi.COD_FISCALE +-- AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|TERZI' +-- WHERE +-- patrTerzi.Rete = @Rete +-- and patrTerzi.COD_FISCALE = @CodiceFiscale +-- ) A +-- WHERE ISNULL(A.CONTROVALORE,0)>0 +-- +-- -- SE IL PATRIMONIO È SOLO 1 NON VA CALCOLATO IL COMPLESSIVO +-- IF @@ROWCOUNT > 1 +-- BEGIN +-- +-- --CALCOLO IL PATRIMONIO COMPLESSIVO ED ESTRAGGO IL VAR +-- SELECT +-- @ctvCompl=SUM(patr.CONTROVALORE), +-- @saldoCC=SUM(patr.CONTROVALORECC), +-- @varCompl=MAX(RISCHIO.VAR_PERC_PTF), +-- @coperturaCompl=MAX(RISCHIO.COPERTURA) +-- FROM +-- #TEMP75 patr +-- LEFT JOIN +-- C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO +-- ON +-- RISCHIO.RETE = patr.RETE +-- AND RISCHIO.COD_FISCALE = patr.CodiceFiscale +-- AND RISCHIO.COD_AGGREG = 'COMPLESSIVO' +-- +-- --RESTITUISCO I PATRIMONI +-- SELECT +-- Ordine, +-- Nomepatrimonio, +-- Controvalore, +-- CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END AS CCPresente, +-- (CONTROVALORE/@CTVCompl)*100 AS Percentuale, +-- VARPATRIMONIO AS VAR, +-- Copertura, +-- CASE +-- WHEN COPERTURA IS NULL THEN 'n.c.' +-- WHEN COPERTURA = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS varString, +-- CASE +-- WHEN COPERTURA IS NULL THEN 'n.c.' +-- WHEN COPERTURA = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS coperturaString, +-- +-- -- aggiunta per valutare la presenza di controcorrente +-- CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto +-- -- fine aggiunta per valutare la presenza di controcorrente +-- +-- FROM #TEMP75 +-- WHERE CONTROVALORE IS NOT NULL +---- +-- UNION ALL +-- +-- SELECT +-- 3, +-- 'Patrimonio Complessivo', +-- @CTVCompl, +-- CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END as CCPRESENTE, +-- 100.00 as percentuale, +-- @varCompl, +-- @coperturaCompl, +-- CASE +-- WHEN @coperturaCompl IS NULL THEN 'n.c.' +-- WHEN @coperturaCompl = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS varString, +-- CASE +-- WHEN @coperturaCompl IS NULL THEN 'n.c.' +-- WHEN @coperturaCompl = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS coperturaString, +-- +-- -- aggiunta per valutare la presenza di controcorrente +-- CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto +-- -- fine aggiunta per valutare la presenza di controcorrente +-- +-- ORDER BY 1 +-- END +-- ELSE +-- BEGIN +-- --RESTITUISCO L'UNICO PATRIMONIO PRESENTE + SELECT + Nomepatrimonio, + Controvalore, + CASE WHEN CONTROVALORECC > 0 THEN 1 ELSE 0 END as CCPresente, + 100.00 as Percentuale, + VARPATRIMONIO AS VAR, + Copertura, + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS varString, + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS coperturaString, + -- aggiunta per valutare la presenza di controcorrente + CASE WHEN CONTROVALORECC <> 0 THEN 1 ELSE 0 END as NotaCCNetto + -- fine aggiunta per valutare la presenza di controcorrente + FROM #TEMP75 + WHERE CONTROVALORE IS NOT NULL +-- END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql b/sql/storedProduzione/C6MartPeriodico_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..4ee57e14 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,512 @@ +--exec [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] 'F' ,'GSPNGL31C04B157Q' +-- ============================================= +-- Author: Luca De Lisio +-- Create date: 04/12/2008 +-- Description: +-- ============================================= +-- +-- [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] 'F', 'BLNMTN60L53L736R' +-- +CREATE procedure [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] -- 'S','GLLLCN29H16I829A' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Fideuram' + ELSE IF @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + SELECT + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario, + --patrbf.ordinamento_progetto + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL +--INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <>0.00 +--INIZIO INTERVENTI OMNIA +-- UNION ALL +--ASUL NO SKANDIA +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, +-- CASE +-- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +-- ELSE area.ID_AREA end as NEEDAREA, +-- PATRBF.NOME_PROGETTO as Progetto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- sum(ASUL.CTV) as Controvalore, +-- sum(ASUL.CTV) as controvalore_contratto, +-- Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.AREA_BISOGNO AREA +-- ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- INNER JOIN +-- C6MartPeriodico.ANAG_PRODOTTI ANAGP +-- ON +-- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- ON +-- PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- +-- ------ NEW +-- LEFT OUTER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 + -------------OLD + ----LEFT OUTER JOIN + ---- C6MartPeriodico.ASSET_PERC ASSETPERC + ---- ON + ---- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- +-- +-- GROUP BY +-- PATRBF.ID_CONTRATTO, +-- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, +-- CASE +-- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +-- ELSE area.ID_AREA end, +-- PATRBF.NOME_PROGETTO, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , +-- ANAGP.DESCR_PRODOTTO +----------------------------------------------------------------------------------------------------- +-- union all +-- --asul skandia +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, +-- CASE +-- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +-- ELSE area.ID_AREA end as NEEDAREA, +-- PATRBF.NOME_PROGETTO as Progetto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- sum(ASUL.CTV) as Controvalore, +-- sum(ASUL.CTV) as controvalore_contratto, +-- Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.AREA_BISOGNO AREA +-- ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- INNER JOIN +-- C6MartPeriodico.ANAG_PRODOTTI ANAGP +-- ON +-- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- ON +-- PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_ISIN = rtrim(ASUL.COD_ISIN_SOTT) +-- AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF_SOTT) +-- AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- +--WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- +-- +-- GROUP BY +-- PATRBF.ID_CONTRATTO, +-- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, +-- CASE +-- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +-- ELSE area.ID_AREA end, +-- PATRBF.NOME_PROGETTO, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , +-- ANAGP.DESCR_PRODOTTO +-- +-- +-- +UNION ALL +SELECT + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + sum(ASUL.CTV) as Controvalore, + sum(ASUL.CTV) as controvalore_contratto, + Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario, + --patrbf.ordinamento_progetto + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN + C6MartPeriodico.DETTAGLIO_ASUL ASUL + ON + PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + left JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + ASSETPERC.COD_PRODOTTO IS NULL + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + GROUP BY + PATRBF.ID_CONTRATTO, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end, + PATRBF.NOME_PROGETTO, + patrbf.chiave_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE), + ANAGP.DESCR_PRODOTTO , + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] Script Date: 10/02/2022 16:32:13 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +----exec [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] 'F' ,'GSPNGL31C04B157Q' +---- ============================================= +---- Author: Luca De Lisio +---- Create date: 04/12/2008 +---- Description: +---- ============================================= +---- +---- [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] 'F', 'BLNMTN60L53L736R' +---- +--ALTER procedure [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @RETE = 'F' +-- SET @NOMERETE = 'Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, +-- CASE +-- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +-- ELSE area.ID_AREA end as NEEDAREA, +-- PATRBF.NOME_PROGETTO as Progetto, +-- patrbf.chiave_progetto as ord_progetto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- PATRBF.CTV as Controvalore, +-- PATRBF.CTV as controvalore_contratto, +-- PATRBF.PARTVIA_DISINV as PartitaViaggiante, +-- @NOMERETE as Intermediario, +-- --patrbf.ordinamento_progetto +-- -- savingmap - Novembre 2019 +-- patrbf.tipo_prodotto as Tipo_Prodotto +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.AREA_BISOGNO AREA +-- ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- INNER JOIN +-- C6MartPeriodico.ANAG_PRODOTTI ANAGP +-- ON +-- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- LEFT OUTER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO <> 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +----INIZIO INTERVENTI OMNIA +-- AND PATRBF.CTV <> 0.00 +----INIZIO INTERVENTI OMNIA +---- UNION ALL +----ASUL NO SKANDIA +---- SELECT +---- PATRBF.ID_CONTRATTO as Contratto, +---- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, +---- CASE +---- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +---- ELSE area.ID_AREA end as NEEDAREA, +---- PATRBF.NOME_PROGETTO as Progetto, +---- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +---- ANAGP.DESCR_PRODOTTO AS Descrizione, +---- sum(ASUL.CTV) as Controvalore, +---- sum(ASUL.CTV) as controvalore_contratto, +---- Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +---- @NOMERETE as Intermediario +---- FROM +---- C6MartPeriodico.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MartPeriodico.AREA_BISOGNO AREA +---- ON +---- PATRBF.ID_AREA = AREA.ID_AREA +---- INNER JOIN +---- C6MartPeriodico.ANAG_PRODOTTI ANAGP +---- ON +---- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +---- INNER JOIN +---- C6MartPeriodico.DETTAGLIO_ASUL ASUL +---- ON +---- PATRBF.RETE = ASUL.RETE +---- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +---- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +---- +---- ------ NEW +---- LEFT OUTER JOIN +---- C6MartPeriodico.ASSET_PERC ASSETPERC +---- ON +---- ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) +---- AND ASUL.COD_ISIN_SOTT = '' +---- AND ASSETPERC.LIVELLO = 1 +-- -------------OLD +-- ----LEFT OUTER JOIN +-- ---- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ---- ON +-- ---- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---- AND ASSETPERC.LIVELLO = 1 +---- WHERE 1 = 1 +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +---- AND ASSETPERC.COD_PRODOTTO IS NULL +---- +---- +---- GROUP BY +---- PATRBF.ID_CONTRATTO, +---- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, +---- CASE +---- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +---- ELSE area.ID_AREA end, +---- PATRBF.NOME_PROGETTO, +---- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , +---- ANAGP.DESCR_PRODOTTO +------------------------------------------------------------------------------------------------------- +---- union all +---- --asul skandia +---- SELECT +---- PATRBF.ID_CONTRATTO as Contratto, +---- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, +---- CASE +---- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +---- ELSE area.ID_AREA end as NEEDAREA, +---- PATRBF.NOME_PROGETTO as Progetto, +---- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +---- ANAGP.DESCR_PRODOTTO AS Descrizione, +---- sum(ASUL.CTV) as Controvalore, +---- sum(ASUL.CTV) as controvalore_contratto, +---- Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +---- @NOMERETE as Intermediario +---- FROM +---- C6MartPeriodico.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MartPeriodico.AREA_BISOGNO AREA +---- ON +---- PATRBF.ID_AREA = AREA.ID_AREA +---- INNER JOIN +---- C6MartPeriodico.ANAG_PRODOTTI ANAGP +---- ON +---- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +---- INNER JOIN +---- C6MartPeriodico.DETTAGLIO_ASUL ASUL +---- ON +---- PATRBF.RETE = ASUL.RETE +---- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +---- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +---- LEFT JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +---- ON +---- ASSETPERC.COD_ISIN = rtrim(ASUL.COD_ISIN_SOTT) +---- AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF_SOTT) +---- AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) +---- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +---- AND ASSETPERC.LIVELLO = 1 +---- +----WHERE 1 = 1 +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +---- AND ASSETPERC.COD_PRODOTTO IS NULL +---- +---- +---- GROUP BY +---- PATRBF.ID_CONTRATTO, +---- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, +---- CASE +---- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +---- ELSE area.ID_AREA end, +---- PATRBF.NOME_PROGETTO, +---- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , +---- ANAGP.DESCR_PRODOTTO +---- +---- +---- +--UNION ALL +--SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, +-- CASE +-- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +-- ELSE area.ID_AREA end as NEEDAREA, +-- PATRBF.NOME_PROGETTO as Progetto, +-- patrbf.chiave_progetto as ord_progetto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- sum(ASUL.CTV) as Controvalore, +-- sum(ASUL.CTV) as controvalore_contratto, +-- Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +-- @NOMERETE as Intermediario, +-- --patrbf.ordinamento_progetto +-- -- savingmap - Novembre 2019 +-- patrbf.tipo_prodotto as Tipo_Prodotto +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.AREA_BISOGNO AREA +-- ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- INNER JOIN +-- C6MartPeriodico.ANAG_PRODOTTI ANAGP +-- ON +-- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- ON +-- PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- left JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ( +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---no SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- ) +-- or +-- ( --SKANDIA +-- ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- ) +-- WHERE +-- ASSETPERC.COD_PRODOTTO IS NULL +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- GROUP BY +-- PATRBF.ID_CONTRATTO, +-- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, +-- CASE +-- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +-- ELSE area.ID_AREA end, +-- PATRBF.NOME_PROGETTO, +-- patrbf.chiave_progetto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE), +-- ANAGP.DESCR_PRODOTTO , +-- -- savingmap - Novembre 2019 +-- patrbf.tipo_prodotto +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S76PatrimonioNonRappresentabileAssettClass.sql b/sql/storedProduzione/C6MartPeriodico_PL_S76PatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..f250138b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S76PatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,364 @@ +-- ============================================= +-- Author: Luca De Lisio +-- Create date: 04/12/2008 +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S76PatrimonioNonRappresentabileAssettClass] 'F','GSPNGL31C04B157Q' +CREATE procedure [C6MartPeriodico].[PL_S76PatrimonioNonRappresentabileAssettClass] --'S','GLLLCN29H16I829A' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Fideuram' + ELSE IF @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + --INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <>0.00 +--INIZIO INTERVENTI OMNIA +UNION ALL +SELECT + PATRBF.ID_CONTRATTO as Contratto, + -- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, +-- CASE +-- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +-- ELSE area.ID_AREA end as NEEDAREA, +-- PATRBF.NOME_PROGETTO as Progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + sum(ASUL.CTV) as Controvalore, + sum(ASUL.CTV) as controvalore_contratto, + Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN + C6MartPeriodico.DETTAGLIO_ASUL ASUL + ON + PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + left JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + ASSETPERC.COD_PRODOTTO IS NULL + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + GROUP BY + PATRBF.ID_CONTRATTO, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end, + PATRBF.NOME_PROGETTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE), + ANAGP.DESCR_PRODOTTO, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto +--union all +--SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- SUM(ASUL.CTV) as Controvalore, +-- MAX(PATRBF.CTV) as controvalore_contratto, +-- SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL +-- ON PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- GROUP BY +-- PATRBF.ID_CONTRATTO, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , +-- ANAGP.DESCR_PRODOTTO +-- ORDER BY CONTROVALORE DESC +-- +-- +-- UNION ALL +-- +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- ASUL.CTV as Controvalore, +-- PATRBF.CTV as controvalore_contratto, +-- PATRBF.PARTVIA_DISINV as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ANAG_PRODOTTI ANAGP +-- ON +-- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- ON +-- PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT OUTER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_S76PatrimonioNonRappresentabileAssettClass] Script Date: 10/02/2022 16:34:12 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: Luca De Lisio +---- Create date: 04/12/2008 +---- Description: +---- ============================================= +----[C6MartPeriodico].[PL_S76PatrimonioNonRappresentabileAssettClass] 'F','GSPNGL31C04B157Q' +--ALTER procedure [C6MartPeriodico].[PL_S76PatrimonioNonRappresentabileAssettClass] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @RETE = 'F' +-- SET @NOMERETE = 'Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- PATRBF.CTV as Controvalore, +-- PATRBF.CTV as controvalore_contratto, +-- PATRBF.PARTVIA_DISINV as PartitaViaggiante, +-- @NOMERETE as Intermediario, +-- -- savingmap - Novembre 2019 +-- patrbf.tipo_prodotto as Tipo_Prodotto +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ANAG_PRODOTTI ANAGP +-- ON +-- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- LEFT OUTER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO <> 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- --INIZIO INTERVENTI OMNIA +-- AND PATRBF.CTV <> 0.00 +----INIZIO INTERVENTI OMNIA +--UNION ALL +--SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- -- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, +---- CASE +---- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +---- ELSE area.ID_AREA end as NEEDAREA, +---- PATRBF.NOME_PROGETTO as Progetto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- sum(ASUL.CTV) as Controvalore, +-- sum(ASUL.CTV) as controvalore_contratto, +-- Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +-- @NOMERETE as Intermediario, +-- -- savingmap - Novembre 2019 +-- patrbf.tipo_prodotto as Tipo_Prodotto +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.AREA_BISOGNO AREA +-- ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- INNER JOIN +-- C6MartPeriodico.ANAG_PRODOTTI ANAGP +-- ON +-- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- ON +-- PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- left JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ( +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---no SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- ) +-- or +-- ( --SKANDIA +-- ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- ) +-- WHERE +-- ASSETPERC.COD_PRODOTTO IS NULL +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- GROUP BY +-- PATRBF.ID_CONTRATTO, +-- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, +-- CASE +-- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +-- ELSE area.ID_AREA end, +-- PATRBF.NOME_PROGETTO, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE), +-- ANAGP.DESCR_PRODOTTO, +-- -- savingmap - Novembre 2019 +-- patrbf.tipo_prodotto +----union all +----SELECT +---- PATRBF.ID_CONTRATTO as Contratto, +---- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +---- ANAGP.DESCR_PRODOTTO AS Descrizione, +---- SUM(ASUL.CTV) as Controvalore, +---- MAX(PATRBF.CTV) as controvalore_contratto, +---- SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +---- @NOMERETE as Intermediario +---- FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +---- INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP +---- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +---- INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL +---- ON PATRBF.RETE = ASUL.RETE +---- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +---- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +---- LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC +---- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +---- AND ASSETPERC.LIVELLO = 1 +---- WHERE 1 = 1 +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +---- AND ASSETPERC.COD_PRODOTTO IS NULL +---- GROUP BY +---- PATRBF.ID_CONTRATTO, +---- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , +---- ANAGP.DESCR_PRODOTTO +---- ORDER BY CONTROVALORE DESC +---- +---- +---- UNION ALL +---- +---- SELECT +---- PATRBF.ID_CONTRATTO as Contratto, +---- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +---- ANAGP.DESCR_PRODOTTO AS Descrizione, +---- ASUL.CTV as Controvalore, +---- PATRBF.CTV as controvalore_contratto, +---- PATRBF.PARTVIA_DISINV as PartitaViaggiante, +---- @NOMERETE as Intermediario +---- FROM +---- C6MartPeriodico.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MartPeriodico.ANAG_PRODOTTI ANAGP +---- ON +---- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +---- INNER JOIN +---- C6MartPeriodico.DETTAGLIO_ASUL ASUL +---- ON +---- PATRBF.RETE = ASUL.RETE +---- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +---- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +---- LEFT OUTER JOIN +---- C6MartPeriodico.ASSET_PERC ASSETPERC +---- ON +---- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +---- AND ASSETPERC.LIVELLO = 1 +---- WHERE 1 = 1 +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +---- AND ASSETPERC.COD_PRODOTTO IS NULL +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa.sql b/sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa.sql new file mode 100644 index 00000000..e273e89c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa.sql @@ -0,0 +1,80 @@ +-- [C6MartPeriodico].[PL_S80Alternativa]'S','CRBRNN54R23H509R' + --[C6MartPeriodico].[PL_S80Alternativa] 'F','BRCLRT62R29I690L' +CREATE procedure [C6MartPeriodico].[PL_S80Alternativa] --'F','BNBLPL51M05F965Y' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) +BEGIN +SELECT [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,replace([DettMovS80],'.',',') DettMov + ,[NumeroAsterischiNota] + -- MIOFOGLIO 2018106 + ,[CTVSelfFoglio] + -- fine MIOFOGLIO 20181206 + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] + WHERE [Rete] = @Rete + AND [Cod_Fiscale] = @CodiceFiscale +END +ELSE +BEGIN +SELECT [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + -- MIOFOGLIO 2018106 + ,[CTVSelfFoglio] + -- fine MIOFOGLIO 20181206 + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] + WHERE + 1=2 +END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_20181214_PreMioFoglio.sql b/sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..cb053aeb --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_20181214_PreMioFoglio.sql @@ -0,0 +1,73 @@ +-- [C6MartPeriodico].[PL_S80Alternativa]'S','CRBRNN54R23H509R' +CREATE procedure [C6MartPeriodico].[PL_S80Alternativa_20181214_PreMioFoglio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) +BEGIN +SELECT [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] + WHERE [Rete] = @Rete + AND [Cod_Fiscale] = @CodiceFiscale +END +ELSE +BEGIN +SELECT [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] + WHERE + 1=2 +END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_BkUpParall.sql b/sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_BkUpParall.sql new file mode 100644 index 00000000..9d1eb204 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_BkUpParall.sql @@ -0,0 +1,270 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S80Alternativa]'F','GSTGPL59P03B586G' +CREATE procedure [C6MartPeriodico].[PL_S80Alternativa_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + -- Inserimento Dati Scirocco + --SELECT @DettMovPrec = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM < '20111231' + SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + FROM C6MartPeriodico.DettaglioMovimenti + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale + --SELECT @DettMovCorr = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM = '20111231' + IF @DettMovPrec is null + SET @AppoDettMovPrec = 'n.d.' + ELSE + SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + IF @DettMovCorr is null + SET @AppoDettMovCorr = 'n.d.' + ELSE + SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + --query per asterischi situazione precedente + IF EXISTS(SELECT * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICS] + WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + AND RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + ----------------------------------------- + --query per asterischi situazione corrente + IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + WHERE COD_INTERNO IN ('37', 'GP') + AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + SET @NumAsterischiCorr = 1 + ----------------------------------------- + SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) + BEGIN + -- Attivazione monitoraggio +--versione nuova da testare + SELECT + 1 AS Fase, + isnull(INI.DATA_FOTO,0) AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + isnull(INI.CTV_EXT,0) as CTV_EXT, + isnull(INI.CTV_INV,0) as CTV_INV, + isnull(INI.CTV_PRE,0) as CTV_PRE, + isnull(INI.CTV_RIS,0) as CTV_RIS, + isnull(INI.CTV_LIQ,0) as CTV_LIQ, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) AS RisorseAllocate, + isnull(INI.CTV_NA,0) AS RisorseNonAllocate, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) AS RisorseFinanziarie, + isnull(INI.CTV_CC,0) AS Contocorrente, +--INIZIO INTERVENTI OMNIA + isnull(INI.CTVSELF,0) AS ctvself, +-- isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) + isnull(INI.CTV_CC,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) + isnull(INI.CTV_CC,0) + isnull(INI.CTVSELF,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + INI.CTV_CC + INI.PARTITA_VIAGGIANTE AS TotalePatrimonio + ,null as DettMov + ,0 as NumeroAsterischiNota + --1 AS Fase, + --INI.DATA_FOTO AS DataFase, + --ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + --INI.CTV_EXT, + --INI.CTV_INV, + --INI.CTV_PRE, + --INI.CTV_RIS, + --INI.CTV_LIQ, + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ AS RisorseAllocate, + --INI.CTV_NA AS RisorseNonAllocate, + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA AS RisorseFinanziarie, + --INI.CTV_CC AS Contocorrente, + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + INI.CTV_CC + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + --,null as DettMov + --,0 as NumeroAsterischiNota + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.RETE = @Rete AND + INI.COD_FISCALE = @CodiceFiscale + --AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,'2999-12-31') + UNION ALL + -- Precedente invio report + SELECT + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + rep.CTV_EXT, + rep.CTV_INV, + rep.CTV_PRE, + rep.CTV_RIS, + rep.CTV_LIQ, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ AS RisorseAllocate, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA AS RisorseFinanziarie, + rep.CTV_CC AS Contocorrente, + --Contocorrente = CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END, +--INIZIO INTERVENTI OMNIA + isnull(rep.CTV_SELF,0) AS CTV_SELF, +-- rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.CTV_SELF,0) + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + (CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END) AS TotalePatrimonio + --CTV_TOTALE AS ControvaloreComplessivo + ,(CASE WHEN @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovPrec END) as DettMov + ,(CASE WHEN @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiPrec END) as NumeroAsterischiNota + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + rep.RETE = @Rete AND + rep.COD_FISCALE = @CodiceFiscale + AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + --All values will be read from DB and passed to code, no value will be calculated on code + SELECT + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + --Get the sum Operazioni in corso + --sum((isnull(IMPORTO,0))) as Partita_viaggiante, + 0 as Partita_viaggiante, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) as CTV_EXT, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) as CTV_INV, + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) as CTV_PRE, + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end ) as CTV_PRE, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) as CTV_RIS, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) as CTV_LIQ, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS CTV_RA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as CTV_NA, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS CTV_RF, + --CTV_CC = (Case WHEN sum(case Upper(id_area) when 'CC' then ctv else 0 end ) < 0 THEN sum(case Upper(id_area) when 'CC' then ctv else 0 end) ELSE 0 END), + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS CTV_CC, + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS CTV_CC, +--INIZIO INTERVENTI OMNIA + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS CTV_SELF, +--FINE INTERVENTI OMNIA + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end )+ + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) + +--INIZIO INTERVENTI OMNIA +-- sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS TotalePatrimonio + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) + + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --sum((isnull(IMPORTO,0))) AS TotalePatrimonio + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS TotalePatrimonio + --SUM(CTV) as ControvaloreComplessivo + ,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + ,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiCorr END) as NumeroAsterischiNota + --,'1' as NumeroAsterischiNota + FROM + C6MartPeriodico.PATRIMONIO_BF +-- AS BF Left Join C6MartPeriodico.partite_viaggianti AS PV +-- ON BF.RETE = PV.RETE +-- AND BF.COD_FISCALE = PV.COD_FISCALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +END +ELSE +BEGIN + SELECT + 1 AS Fase, + DATA_FOTO AS DataFase, + ISNULL(PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + CTV_EXT, + CTV_INV, + CTV_PRE, + CTV_RIS, + CTV_LIQ, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ AS RisorseAllocate, + CTV_NA AS RisorseNonAllocate, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA AS RisorseFinanziarie, + CTV_CC AS Contocorrente, +--INIZIO INTERVENTI OMNIA + CTVSELF AS ctvself, +-- CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + CTV_CC AS TotalePatrimonio + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + CTV_CC + ctvself AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --CTV_TOTALE AS ControvaloreComplessivo + FROM + MONITORAGGIO_INIZIALE + WHERE + 1=2 +END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_DidascalieNote.sql b/sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_DidascalieNote.sql new file mode 100644 index 00000000..c693dca7 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_DidascalieNote.sql @@ -0,0 +1,4 @@ +CREATE procedure [C6MartPeriodico].[PL_S80Alternativa_DidascalieNote] +as +select * +from [C6MartPeriodico].[S80Alternativa_DidascalieNote] \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_OLD.sql b/sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_OLD.sql new file mode 100644 index 00000000..8d891a9e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_OLD.sql @@ -0,0 +1,255 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80Alternativa]'S','LLAMGH27A43M058H' +--DROP PROCEDURE [C6MartPeriodico].[PL_S80BisEvoluzioneRischio] +CREATE procedure [C6MartPeriodico].[PL_S80Alternativa_OLD] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + -- Inserimento Dati Scirocco + --SELECT @DettMovPrec = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM < '20111231' +/* SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + FROM C6MartPeriodico.DettaglioMovimenti + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale +*/ + SELECT @DettMovCorr = DETT_MOV + FROM C6MartPeriodico.DettaglioMovimenti_old + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale + AND + FLAG_TRIM = 1 + SELECT @DettMovPrec = DETT_MOV + FROM C6MartPeriodico.DettaglioMovimenti_old + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale + AND + FLAG_TRIM = 0 + --SELECT @DettMovCorr = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM = '20111231' + IF @DettMovPrec is null + SET @AppoDettMovPrec = 'n.d.' + ELSE + SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + IF @DettMovCorr is null + SET @AppoDettMovCorr = 'n.d.' + ELSE + SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + --query per asterischi situazione precedente + IF EXISTS(SELECT * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICS] + WHERE CODPROD IN ('37', 'GP') AND DTTRIM = '20111231' + AND RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + ----------------------------------------- + --query per asterischi situazione corrente + IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + WHERE COD_INTERNO IN ('37', 'GP') + AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + SET @NumAsterischiCorr = 1 + ----------------------------------------- + SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) + BEGIN + -- Attivazione monitoraggio +--versione nuova da testare + SELECT + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + INI.CTV_EXT, + INI.CTV_INV, + INI.CTV_PRE, + INI.CTV_RIS, + INI.CTV_LIQ, + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ AS RisorseAllocate, + INI.CTV_NA AS RisorseNonAllocate, + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA AS RisorseFinanziarie, + INI.CTV_CC AS Contocorrente, + --Contocorrente = CASE WHEN CAST(INI.CTV_CC AS NUMERIC(20,4)) < 0 THEN INI.CTV_CC ELSE 0 END, + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + INI.CTV_CC + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + (CASE WHEN CAST(INI.CTV_CC AS NUMERIC(20,4)) < 0 THEN INI.CTV_CC ELSE 0 END) AS TotalePatrimonio + --INI.CTV_TOTALE AS ControvaloreComplessivo + ,null as DettMov + ,0 as NumeroAsterischiNota + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.RETE = @Rete AND + INI.COD_FISCALE = @CodiceFiscale + --AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,'2999-12-31') + UNION ALL + -- Precedente invio report + SELECT + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + rep.CTV_EXT, + rep.CTV_INV, + rep.CTV_PRE, + rep.CTV_RIS, + rep.CTV_LIQ, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ AS RisorseAllocate, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA AS RisorseFinanziarie, + rep.CTV_CC AS Contocorrente, + --Contocorrente = CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + --CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + (CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END) AS TotalePatrimonio + --CTV_TOTALE AS ControvaloreComplessivo + ,(CASE WHEN @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovPrec END) as DettMov + ,(CASE WHEN @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiPrec END) as NumeroAsterischiNota + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + rep.RETE = @Rete AND + rep.COD_FISCALE = @CodiceFiscale + AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + --All values will be read from DB and passed to code, no value will be calculated on code + SELECT + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + --Get the sum Operazioni in corso + --sum((isnull(IMPORTO,0))) as Partita_viaggiante, + 0 as Partita_viaggiante, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) as CTV_EXT, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) as CTV_INV, + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) as CTV_PRE, + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end ) as CTV_PRE, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) as CTV_RIS, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) as CTV_LIQ, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS CTV_RA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as CTV_NA, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS CTV_RF, + --CTV_CC = (Case WHEN sum(case Upper(id_area) when 'CC' then ctv else 0 end ) < 0 THEN sum(case Upper(id_area) when 'CC' then ctv else 0 end) ELSE 0 END), + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS CTV_CC, + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS CTV_CC, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end )+ + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) + + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS TotalePatrimonio + --sum((isnull(IMPORTO,0))) AS TotalePatrimonio + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS TotalePatrimonio + --SUM(CTV) as ControvaloreComplessivo + ,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + ,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiCorr END) as NumeroAsterischiNota + FROM + C6MartPeriodico.PATRIMONIO_BF +-- AS BF Left Join C6MartPeriodico.partite_viaggianti AS PV +-- ON BF.RETE = PV.RETE +-- AND BF.COD_FISCALE = PV.COD_FISCALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +END +ELSE +BEGIN + SELECT + 1 AS Fase, + DATA_FOTO AS DataFase, + ISNULL(PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + CTV_EXT, + CTV_INV, + CTV_PRE, + CTV_RIS, + CTV_LIQ, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ AS RisorseAllocate, + CTV_NA AS RisorseNonAllocate, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA AS RisorseFinanziarie, + CTV_CC AS Contocorrente, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + CTV_CC AS TotalePatrimonio + --CTV_TOTALE AS ControvaloreComplessivo + FROM + MONITORAGGIO_INIZIALE + WHERE + 1=2 +END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_bkp_FC.sql b/sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_bkp_FC.sql new file mode 100644 index 00000000..1d4e21d3 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_bkp_FC.sql @@ -0,0 +1,270 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S80Alternativa_bkp_FC]'F','CRRLSN52T45I274L' +CREATE procedure [C6MartPeriodico].[PL_S80Alternativa_bkp_FC] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + -- Inserimento Dati Scirocco + --SELECT @DettMovPrec = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM < '20111231' + SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + FROM C6MartPeriodico.DettaglioMovimenti + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale + --SELECT @DettMovCorr = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM = '20111231' + IF @DettMovPrec is null + SET @AppoDettMovPrec = 'n.d.' + ELSE + SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + IF @DettMovCorr is null + SET @AppoDettMovCorr = 'n.d.' + ELSE + SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + --query per asterischi situazione precedente + IF EXISTS(SELECT * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICS] + WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + AND RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + ----------------------------------------- + --query per asterischi situazione corrente + IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + WHERE COD_INTERNO IN ('37', 'GP') + AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + SET @NumAsterischiCorr = 1 + ----------------------------------------- + SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) + BEGIN + -- Attivazione monitoraggio +--versione nuova da testare + SELECT + 1 AS Fase, + isnull(INI.DATA_FOTO,0) AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + isnull(INI.CTV_EXT,0) as CTV_EXT, + isnull(INI.CTV_INV,0) as CTV_INV, + isnull(INI.CTV_PRE,0) as CTV_PRE, + isnull(INI.CTV_RIS,0) as CTV_RIS, + isnull(INI.CTV_LIQ,0) as CTV_LIQ, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) AS RisorseAllocate, + isnull(INI.CTV_NA,0) AS RisorseNonAllocate, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) AS RisorseFinanziarie, + isnull(INI.CTV_CC,0) AS Contocorrente, +--INIZIO INTERVENTI OMNIA + isnull(INI.CTVSELF,0) AS ctvself, +-- isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) + isnull(INI.CTV_CC,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) + isnull(INI.CTV_CC,0) + isnull(INI.CTVSELF,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + INI.CTV_CC + INI.PARTITA_VIAGGIANTE AS TotalePatrimonio + ,null as DettMov + ,0 as NumeroAsterischiNota + --1 AS Fase, + --INI.DATA_FOTO AS DataFase, + --ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + --INI.CTV_EXT, + --INI.CTV_INV, + --INI.CTV_PRE, + --INI.CTV_RIS, + --INI.CTV_LIQ, + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ AS RisorseAllocate, + --INI.CTV_NA AS RisorseNonAllocate, + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA AS RisorseFinanziarie, + --INI.CTV_CC AS Contocorrente, + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + INI.CTV_CC + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + --,null as DettMov + --,0 as NumeroAsterischiNota + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.RETE = @Rete AND + INI.COD_FISCALE = @CodiceFiscale + --AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,'2999-12-31') + UNION ALL + -- Precedente invio report + SELECT + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + rep.CTV_EXT, + rep.CTV_INV, + rep.CTV_PRE, + rep.CTV_RIS, + rep.CTV_LIQ, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ AS RisorseAllocate, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA AS RisorseFinanziarie, + rep.CTV_CC AS Contocorrente, + --Contocorrente = CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END, +--INIZIO INTERVENTI OMNIA + isnull(rep.CTV_SELF,0) AS CTV_SELF, +-- rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.CTV_SELF,0) + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + (CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END) AS TotalePatrimonio + --CTV_TOTALE AS ControvaloreComplessivo + ,(CASE WHEN @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovPrec END) as DettMov + ,(CASE WHEN @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiPrec END) as NumeroAsterischiNota + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + rep.RETE = @Rete AND + rep.COD_FISCALE = @CodiceFiscale + AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + --All values will be read from DB and passed to code, no value will be calculated on code + SELECT + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + --Get the sum Operazioni in corso + --sum((isnull(IMPORTO,0))) as Partita_viaggiante, + 0 as Partita_viaggiante, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) as CTV_EXT, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) as CTV_INV, + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) as CTV_PRE, + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end ) as CTV_PRE, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) as CTV_RIS, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) as CTV_LIQ, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS CTV_RA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as CTV_NA, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS CTV_RF, + --CTV_CC = (Case WHEN sum(case Upper(id_area) when 'CC' then ctv else 0 end ) < 0 THEN sum(case Upper(id_area) when 'CC' then ctv else 0 end) ELSE 0 END), + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS CTV_CC, + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS CTV_CC, +--INIZIO INTERVENTI OMNIA + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS CTV_SELF, +--FINE INTERVENTI OMNIA + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end )+ + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) + +--INIZIO INTERVENTI OMNIA +-- sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS TotalePatrimonio + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) + + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --sum((isnull(IMPORTO,0))) AS TotalePatrimonio + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS TotalePatrimonio + --SUM(CTV) as ControvaloreComplessivo + ,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + ,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiCorr END) as NumeroAsterischiNota + --,'1' as NumeroAsterischiNota + FROM + C6MartPeriodico.PATRIMONIO_BF +-- AS BF Left Join C6MartPeriodico.partite_viaggianti AS PV +-- ON BF.RETE = PV.RETE +-- AND BF.COD_FISCALE = PV.COD_FISCALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +END +ELSE +BEGIN + SELECT + 1 AS Fase, + DATA_FOTO AS DataFase, + ISNULL(PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + CTV_EXT, + CTV_INV, + CTV_PRE, + CTV_RIS, + CTV_LIQ, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ AS RisorseAllocate, + CTV_NA AS RisorseNonAllocate, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA AS RisorseFinanziarie, + CTV_CC AS Contocorrente, +--INIZIO INTERVENTI OMNIA + CTVSELF AS ctvself, +-- CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + CTV_CC AS TotalePatrimonio + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + CTV_CC + ctvself AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --CTV_TOTALE AS ControvaloreComplessivo + FROM + MONITORAGGIO_INIZIALE + WHERE + 1=2 +END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_perc.sql b/sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_perc.sql new file mode 100644 index 00000000..5df7dff2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S80Alternativa_perc.sql @@ -0,0 +1,89 @@ +-- [C6MartPeriodico].[PL_S80Alternativa]'S','CRBRNN54R23H509R' +Create procedure [C6MartPeriodico].[PL_S80Alternativa_perc] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) +BEGIN +SELECT [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[PERC_EXT] + ,[PERC_INV] + ,[PERC_PRE] + ,[PERC_RIS] + ,[PERC_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + -- MIOFOGLIO 2018106 + ,[CTVSelfFoglio] + -- fine MIOFOGLIO 20181206 + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio_perc] + WHERE [Rete] = @Rete + AND [Cod_Fiscale] = @CodiceFiscale +END +ELSE +BEGIN +SELECT [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[PERC_EXT] + ,[PERC_INV] + ,[PERC_PRE] + ,[PERC_RIS] + ,[PERC_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + -- MIOFOGLIO 2018106 + ,[CTVSelfFoglio] + -- fine MIOFOGLIO 20181206 + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio_perc] + WHERE + 1=2 +END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S80BisEvoluzioneRischio.sql b/sql/storedProduzione/C6MartPeriodico_PL_S80BisEvoluzioneRischio.sql new file mode 100644 index 00000000..bed3034f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S80BisEvoluzioneRischio.sql @@ -0,0 +1,20 @@ +CREATE procedure [C6MartPeriodico].[PL_S80BisEvoluzioneRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT + Fase + ,DataFase + ,VarMassimoProfiloFinanziario + ,VarComplessivo + ,Copertura + ,RISKCLASS + ,RISKCLASSMAX + ,RiskClassString + ,RiskClassMaxString + FROM [C6MartPeriodico].[TB_S80BisEvoluzioneRischio] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S80BisEvoluzioneRischio_20170413_RM_DBname.sql b/sql/storedProduzione/C6MartPeriodico_PL_S80BisEvoluzioneRischio_20170413_RM_DBname.sql new file mode 100644 index 00000000..49e36076 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S80BisEvoluzioneRischio_20170413_RM_DBname.sql @@ -0,0 +1,20 @@ +CREATE procedure [C6MartPeriodico].[PL_S80BisEvoluzioneRischio_20170413_RM_DBname] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT + Fase + ,DataFase + ,VarMassimoProfiloFinanziario + ,VarComplessivo + ,Copertura + ,RISKCLASS + ,RISKCLASSMAX + ,RiskClassString + ,RiskClassMaxString + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S80BisEvoluzioneRischio] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S80BisEvoluzioneRischio_BkUpParall.sql b/sql/storedProduzione/C6MartPeriodico_PL_S80BisEvoluzioneRischio_BkUpParall.sql new file mode 100644 index 00000000..5e9f173a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S80BisEvoluzioneRischio_BkUpParall.sql @@ -0,0 +1,196 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80BisEvoluzioneRischio]'F','02392500605S' +--DROP PROCEDURE [C6MartPeriodico].[PL_S80EvoluzioneControvalore] +CREATE procedure [C6MartPeriodico].[PL_S80BisEvoluzioneRischio_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @MONIT_INIT INT + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + --V VAriabile usata per verificare la presenza di righe nella rischio_aggregato, se non ho righe non + --faccio uscire la sezione + DECLARE @AGGR INT + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @AGGR=COUNT(*) + FROM + C6MARTPERIODICO.RISCHIO_AGGREGATO + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + IF (@MONIT_ATTIV > 0 AND @AGGR > 0 AND @MONIT_INIT > 0) + BEGIN + -- Attivazione monitoraggio +-- nuova versione da testare + SELECT + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO + ELSE ROUND(INI.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + INI.VAR_COPERTURA AS Copertura, + INI.RISKCLASS, + INI.RISKCLASSMAX, + case + when INI.RISKCLASS is null then 'n.d.' + when INI.RISKCLASS = 0 then 'n.a.' + else null + end as RiskClassString, + case + when INI.RISKCLASSMAX is null then 'n.d.' + when INI.RISKCLASSMAX = 0 then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + LEFT OUTER join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.RETE = @Rete AND + INI.COD_FISCALE = @CodiceFiscale +-- SELECT +-- 1 AS Fase, +-- INI.DATA_FOTO AS DataFase, +-- INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, +-- --V +-- CASE +-- WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO +-- ELSE ROUND(INI.VAR_COMPLESSIVO,2) +-- END AS VarComplessivo, +-- INI.VAR_COPERTURA AS Copertura +-- FROM +-- C6MartPeriodico.MONITORAGGIO_INIZIALE INI +-- +-- WHERE +-- INI.RETE = @Rete AND +-- INI.COD_FISCALE = @CodiceFiscale + UNION ALL + -- Precedente invio report + SELECT + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN rep.VAR_COMPLESSIVO IS NULL THEN rep.VAR_COMPLESSIVO + ELSE ROUND(rep.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + rep.VAR_COPERTURA AS Copertura, + rep.RISKCLASS, + rep.RISKCLASSMAX, + case when rep.RISKCLASS is null then 'n.a.' + else null + end as RiskClassString, + case when rep.RISKCLASSMAX is null then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + rep.RETE = @Rete AND + rep.COD_FISCALE = @CodiceFiscale + AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + SELECT + 3, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + CASE + WHEN (@contaPOS - @contaCC = 0 ) THEN 100 + ELSE isnull(RA.COPERTURA,0) + END AS Copertura, +-- TRINGALI MODIFICARE + ra.creditrisk as RISKCLASS, + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' + else null end as RiskClassString, + case when mifid.riskclass is null then 'n.a.' + else null end as RiskClassMaxString + FROM + C6MartPeriodico.vPatrimonioBFAggregato AS BF + INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON BF.RETE = MIFID.RETE + AND BF.COD_FISCALE = MIFID.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = BF.RETE + AND RA.COD_FISCALE = BF.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' + WHERE + BF.RETE = @Rete AND + BF.COD_FISCALE = @CodiceFiscale +END +ELSE +BEGIN + SELECT + 2 AS Fase, + DATA_INVIO AS DataFase, + VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN VAR_COMPLESSIVO IS NULL THEN VAR_COMPLESSIVO + ELSE ROUND(VAR_COMPLESSIVO,2) + END AS VarComplessivo, + VAR_COPERTURA AS Copertura + FROM + C6MartPeriodico.MONITORAGGIO_REPORT + WHERE +1=2 +END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S80EvoluzioneControvalore.sql b/sql/storedProduzione/C6MartPeriodico_PL_S80EvoluzioneControvalore.sql new file mode 100644 index 00000000..9f2534c5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S80EvoluzioneControvalore.sql @@ -0,0 +1,128 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80EvoluzioneControvalore]'F','GSTGPL59P03B586G' +--DROP PROCEDURE [C6MartPeriodico].[PL_S80BisEvoluzioneRischio] +CREATE procedure [C6MartPeriodico].[PL_S80EvoluzioneControvalore] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + IF @MONIT_ATTIV > 0 + BEGIN + -- Attivazione monitoraggio +--versione nuova da testare + SELECT + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.CTV_NA AS RisorseNonAllocate, + INI.CTV_CC AS Contocorrente, +--INIZIO INTERVENTI OMNIA + INI.CTVSELF AS Ctvself, +--FINE INTERVENTI OMNIA + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + INI.CTV_TOTALE AS ControvaloreComplessivo + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.RETE = @Rete +AND + INI.COD_FISCALE = @CodiceFiscale +-- SELECT +-- 1 AS Fase, +-- INI.DATA_FOTO AS DataFase, +-- INI.CTV_NA AS RisorseNonAllocate, +-- INI.CTV_CC AS Contocorrente, +-- ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, +-- INI.CTV_TOTALE AS ControvaloreComplessivo +-- FROM +-- C6MartPeriodico.MONITORAGGIO_INIZIALE INI +-- WHERE +-- INI.RETE = @Rete AND +-- INI.COD_FISCALE = @CodiceFiscale + UNION ALL + -- Precedente invio report + SELECT + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_CC AS Contocorrente, +--INIZIO INTERVENTI OMNIA + rep.CTV_SELF AS Ctvself, +--FINE INTERVENTI OMNIA + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + --CTV_TOTALE + CTV_CC + CTV_NA + ISNULL(PARTITA_VIAGGIANTE,0) AS ControvaloreComplessivo --V aggiunto il cc e na per coerenza con le altre fasi + rep.CTV_TOTALE + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS ControvaloreComplessivo --V tolto il cc e na in quanto gia conteggiati + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + rep.RETE = @Rete AND + rep.COD_FISCALE = @CodiceFiscale + AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + SELECT + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + PatrimonioNonAssociato AS RisorseNonAllocate, + ContoCorrente, +--INIZIO INTERVENTI OMNIA + CTVSelf AS Ctvself, +--FINE INTERVENTI OMNIA + PartiteViaggiantiDisinv AS Partita_viaggiante, + CTV AS ControvaloreComplessivo + FROM + C6MartPeriodico.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +END +ELSE +BEGIN + SELECT + 1 AS Fase, + DATA_FOTO AS DataFase, + CTV_NA AS RisorseNonAllocate, + CTV_CC AS Contocorrente, + ISNULL(PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + CTV_TOTALE AS ControvaloreComplessivo + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE + WHERE + 1=2 +END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S82BisDatiSintetici.sql b/sql/storedProduzione/C6MartPeriodico_PL_S82BisDatiSintetici.sql new file mode 100644 index 00000000..1efdf142 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S82BisDatiSintetici.sql @@ -0,0 +1,103 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: vista ORACLE S82BIS_DATI_SINTET_RIS_E_INV tradotta su SQLSERVER. +-- Punto di partenza per lo sviluppo futuro. +-- ============================================= +-- [C6MartPeriodico].[PL_S82BisDatiSintetici] 'F','DNGMRA56E66D542Z' +CREATE procedure [C6MartPeriodico].[PL_S82BisDatiSintetici] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + /*DECLARE @TOTRischio DECIMAL(20,2) + SELECT + @TOTRischio = SUM(ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV) + FROM + C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA INNER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAREA ON + PATRAREA.RETE = RISCHIOAREA.RETE AND + PATRAREA.COD_FISCALE = RISCHIOAREA.COD_FISCALE + WHERE + PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE','INV') AND + PATRAREA.RETE = @Rete AND + PATRAREA.COD_FISCALE = @CodiceFiscale*/ + SELECT DISTINCT + BF.ORDINAMENTO_PROGETTO, + 'Inv' AS need_area, + ltrim(rtrim(ISNULL(PIRMOD.NOME_PROGETTO,BF.NOME_PROGETTO))) AS NOME_PROGETTO, + ISNULL(RA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RA.COPERTURA IS NULL THEN 'n.c.' + WHEN RA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RA.COPERTURA IS NULL THEN 'n.c.' + WHEN RA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PIRMOD.ORIZZ_TEMP AS orizzonte_Pianificato, + --C6MartPeriodico.getDescFromDate(DATEDIFF(m,(DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM,PIRMOD.DATA_PIANIF)) ,GETDATE()) + 1) AS durataResidua, + --DATEDIFF(m,DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM, PIRMOD.DATA_PIANIF) ,GETDATE()) + 1 AS durataResidua, + C6MartPeriodico.getDescFromDate(DATEDIFF(m,C6MartPeriodico.getTrimestre(GETDATE(),0),(DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM,PIRMOD.DATA_PIANIF)) )) AS durataResidua, + /*V Calcolato a livello di codice + CASE + WHEN BFAggr.CTV = 0 THEN 0 + ELSE SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO) / BFAggr.CTV * 100 + END AS pesoPerc,*/ + SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO, bf.ordinamento_progetto) AS ControvaloreAttuale + /*V Calcolato a livello di codice + CASE + WHEN @TOTRischio = 0 THEN 0 + ELSE ISNULL(RA.VAR_PERC_PTF,0) * SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO) / @TOTRischio * 100 + END AS rischioRelativo*/ + into #temp + FROM + C6MartPeriodico.PATRIMONIO_BF AS BF + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON BF.RETE = RA.RETE + AND BF.COD_FISCALE = RA.COD_FISCALE + --V AND RA.COD_AGGREG = 'PIRAMIDE|Inv' + AND RA.COD_AGGREG = 'RISFIN|PIRAMIDE|Inv|'+ BF.NOME_PROGETTO + '|' + cast(bf.ordinamento_progetto as varchar) + -- + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD + ON BF.RETE = PIRMOD.RETE + AND BF.COD_FISCALE = PIRMOD.COD_FISCALE + --AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + AND BF.ORDINAMENTO_PROGETTO = PIRMOD.ORDINAMENTO_PROGETTO + AND PIRMOD.ID_AREA = 'Inv' + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS BFAggr + ON BF.RETE = BFAggr.RETE + AND BF.COD_FISCALE = BFAggr.COD_FISCALE + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE AS MONIT + ON BF.RETE = MONIT.RETE + AND BF.COD_FISCALE = MONIT.COD_FISCALE + AND BF.ID_AREA = MONIT.ID_AREA + AND BF.NOME_PROGETTO = MONIT.NOME_PROGETTO + AND BF.ORDINAMENTO_PROGETTO = MONIT.ORDINAMENTO_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'Inv' + AND BF.RETE = @Rete + AND BF.COD_FISCALE = @CodiceFiscale + --AND BF.ORDINAMENTO_PROGETTO=1521667 + if exists (select 1 from #temp) + select * from #temp + else + select + 0 as ORDINAMENTO_PROGETTO + ,'' as need_area + ,NULL as NOME_PROGETTO + ,0 as var_needarea + ,'n.c.' as var_needareaString + ,'n.c.' as copertura_needareaString + ,'' as orizzonte_Pianificato + ,0 as durataResidua + ,0 as ControvaloreAttuale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S82DatiSintetici.sql b/sql/storedProduzione/C6MartPeriodico_PL_S82DatiSintetici.sql new file mode 100644 index 00000000..fa1d5abc --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S82DatiSintetici.sql @@ -0,0 +1,78 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_S82DatiSintetici] 'S','MRCGST50D02H223T' +CREATE procedure [C6MartPeriodico].[PL_S82DatiSintetici] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + /*DECLARE @TOTRischio DECIMAL(20,2) + SELECT + @TOTRischio = SUM(ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV) + FROM + C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA INNER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAREA ON + PATRAREA.RETE = RISCHIOAREA.RETE AND + PATRAREA.COD_FISCALE = RISCHIOAREA.COD_FISCALE + WHERE + PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE','INV') AND + PATRAREA.RETE = @Rete AND + PATRAREA.COD_FISCALE = @CodiceFiscale*/ + SELECT + PATRAREA.ID_AREA AS need_area, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PATRAREA.ORDINAMENTO_PROGETTO, + /*V Calcolato a livello di codice + CASE + WHEN PATRAGGR.CTV = 0 THEN 0 + ELSE PATRAREA.CTV / PATRAGGR.CTV * 100 + END AS pesoPerc,*/ + PATRAREA.CTV AS ControvaloreAttuale + /* Calcolato a livello di codice + CASE + WHEN @TOTRischio = 0 THEN 0 + ELSE ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV / @TOTRischio * 100 + END AS rischioRelativo*/ + into #temp + FROM C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS PATRAGGR + ON PATRAGGR.RETE = PATRAREA.Rete + AND PATRAGGR.COD_FISCALE = PATRAREA.COD_FISCALE + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON RISCHIOAREA.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRAREA.ID_AREA,3) + AND RISCHIOAREA.RETE = PATRAREA.Rete + AND RISCHIOAREA.COD_FISCALE = PATRAREA.COD_FISCALE + WHERE 1=1 + AND PATRAREA.RETE = @Rete + AND PATRAREA.COD_FISCALE = @CodiceFiscale + AND PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE') + if exists (select 1 from #temp) + select * from #temp + else + select + '' as need_area + ,0 as var_needarea + ,'n.c.' as var_needareaString + ,'n.c.' as copertura_needareaString + ,0 as ControvaloreAttuale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S83DatiRendimento.sql b/sql/storedProduzione/C6MartPeriodico_PL_S83DatiRendimento.sql new file mode 100644 index 00000000..967fb7ac --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S83DatiRendimento.sql @@ -0,0 +1,127 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_S83DatiRendimento] 'F','DNERNZ56P01A757W' +CREATE procedure [C6MartPeriodico].[PL_S83DatiRendimento] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- DECLARE @RendimNonRappr BIT +-- IF EXISTS ( +-- SELECT +-- PATR_BF.ID_AREA AS Need_Area, +-- PATR_BF.ID_CONTRATTO AS Contratto, +-- CASE +-- WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA +-- ELSE PATR_BF.NOME_PROGETTO +-- END AS Area_O_Nome_Progetto, +-- PRODOTTI.DESCR_PRODOTTO AS Descrizione, +-- PATR_BF.PARTVIA_INV AS PartitaViaggiante, +-- SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.COD_PRODOTTO) AS Controvalore, +-- dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF AS PATR_BF +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- PATR_BF.ID_AREA = AREA.ID_AREA +-- INNER JOIN C6MartPeriodico.ANAG_PRODOTTI AS PRODOTTI ON +-- PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO +-- WHERE +-- PATR_BF.RETE = @Rete +-- AND PATR_BF.COD_FISCALE = @CodiceFiscale +-- AND PATR_BF.REND_NON_RAPPR = 1 +-- ) +-- SET @RendimNonRappr = 1 +-- +-- ELSE +-- SET @RendimNonRappr = 0 +-- +-- SELECT +-- @RendimNonRappr AS cf_rendim_non_rappr, +-- ID_AREA AS Need_Area, +-- CASE +-- WHEN NOME_PROGETTO = 'XXX' THEN '' +-- ELSE NOME_PROGETTO +-- END AS Nome_Progetto, +-- dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, +-- CTV_MONITORATO AS ControvaloreMonitorato, +-- APPORTO_INIZIALE AS ApportoIniziale, +-- APPORTO_SUCCESSIVO AS ApportoSuccessivo, +-- LIQUIDAZIONI, +-- CEDOLE_DIVIDENDI AS CedoleEDividendi, +-- MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, +-- RENDIMENTO_CUMULATO AS Rendimento_Attuale, +-- RISORSE_ASSOCIATE AS RisorseApportate, +-- dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, +-- RENDIMENTO_ANNUALIZZATO +-- FROM +-- C6MartPeriodico.MONITORAGGIO_ATTUALE +-- WHERE +-- RETE = @Rete AND +-- COD_FISCALE = @CodiceFiscale +-- --AND RISORSE_ASSOCIATE > 0 +SELECT + case when RENDIMNONRAPPR=1 then 1 else 0 end AS cf_rendim_non_rappr, + MONIT.id_Area AS Need_Area, + CASE + WHEN MONIT.NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(MONIT.NOME_PROGETTO)) + END AS Nome_Progetto, + monit.ordinamento_progetto, + dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, + CTV_MONITORATO AS ControvaloreMonitorato, + APPORTO_INIZIALE AS ApportoIniziale, + APPORTO_SUCCESSIVO AS ApportoSuccessivo, + LIQUIDAZIONI, + CEDOLE_DIVIDENDI AS CedoleEDividendi, + MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, + RENDIMENTO_CUMULATO AS Rendimento_Attuale, + RISORSE_ASSOCIATE AS RisorseApportate, + dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, + RENDIMENTO_ANNUALIZZATO + FROM + C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT + LEFT OUTER JOIN + ( + SELECT + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end as NOME_PROGETTO, + patr_bf.ordinamento_progetto, + 1 as RENDIMNONRAPPR + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + LEFT OUTER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + WHERE + PATR_BF.RETE = @Rete + AND PATR_BF.COD_FISCALE = @CodiceFiscale + AND PATR_BF.REND_NON_RAPPR = 1 + group by + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end, + patr_bf.ordinamento_progetto + ) PATR_BF + ON PATR_BF.COD_FISCALE=MONIT.COD_FISCALE + AND PATR_BF.RETE= MONIT.RETE + AND left(PATR_BF.ID_AREA,3)=left(MONIT.ID_AREA,3) + AND isnull(PATR_BF.NOME_PROGETTO,'XXX')=isnull(MONIT.NOME_PROGETTO,'XXX') + And monit.ordinamento_progetto=patr_bf.ordinamento_progetto + WHERE + MONIT.RETE = @Rete AND + MONIT.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S83DatiRendimento_85.sql b/sql/storedProduzione/C6MartPeriodico_PL_S83DatiRendimento_85.sql new file mode 100644 index 00000000..420b0e0e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S83DatiRendimento_85.sql @@ -0,0 +1,123 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_S83DatiRendimento] 'F','DNERNZ56P01A757W' +CREATE procedure [C6MartPeriodico].[PL_S83DatiRendimento_85] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- DECLARE @RendimNonRappr BIT +-- IF EXISTS ( +-- SELECT +-- PATR_BF.ID_AREA AS Need_Area, +-- PATR_BF.ID_CONTRATTO AS Contratto, +-- CASE +-- WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA +-- ELSE PATR_BF.NOME_PROGETTO +-- END AS Area_O_Nome_Progetto, +-- PRODOTTI.DESCR_PRODOTTO AS Descrizione, +-- PATR_BF.PARTVIA_INV AS PartitaViaggiante, +-- SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.COD_PRODOTTO) AS Controvalore, +-- dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF AS PATR_BF +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- PATR_BF.ID_AREA = AREA.ID_AREA +-- INNER JOIN C6MartPeriodico.ANAG_PRODOTTI AS PRODOTTI ON +-- PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO +-- WHERE +-- PATR_BF.RETE = @Rete +-- AND PATR_BF.COD_FISCALE = @CodiceFiscale +-- AND PATR_BF.REND_NON_RAPPR = 1 +-- ) +-- SET @RendimNonRappr = 1 +-- +-- ELSE +-- SET @RendimNonRappr = 0 +-- +-- SELECT +-- @RendimNonRappr AS cf_rendim_non_rappr, +-- ID_AREA AS Need_Area, +-- CASE +-- WHEN NOME_PROGETTO = 'XXX' THEN '' +-- ELSE NOME_PROGETTO +-- END AS Nome_Progetto, +-- dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, +-- CTV_MONITORATO AS ControvaloreMonitorato, +-- APPORTO_INIZIALE AS ApportoIniziale, +-- APPORTO_SUCCESSIVO AS ApportoSuccessivo, +-- LIQUIDAZIONI, +-- CEDOLE_DIVIDENDI AS CedoleEDividendi, +-- MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, +-- RENDIMENTO_CUMULATO AS Rendimento_Attuale, +-- RISORSE_ASSOCIATE AS RisorseApportate, +-- dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, +-- RENDIMENTO_ANNUALIZZATO +-- FROM +-- C6MartPeriodico.MONITORAGGIO_ATTUALE +-- WHERE +-- RETE = @Rete AND +-- COD_FISCALE = @CodiceFiscale +-- --AND RISORSE_ASSOCIATE > 0 +SELECT + case when RENDIMNONRAPPR=1 then 1 else 0 end AS cf_rendim_non_rappr, + MONIT.id_Area AS Need_Area, + CASE + WHEN MONIT.NOME_PROGETTO = 'XXX' THEN '' + ELSE MONIT.NOME_PROGETTO + END AS Nome_Progetto, + dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, + CTV_MONITORATO AS ControvaloreMonitorato, + APPORTO_INIZIALE AS ApportoIniziale, + APPORTO_SUCCESSIVO AS ApportoSuccessivo, + LIQUIDAZIONI, + CEDOLE_DIVIDENDI AS CedoleEDividendi, + MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, + RENDIMENTO_CUMULATO AS Rendimento_Attuale, + RISORSE_ASSOCIATE AS RisorseApportate, + dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, + RENDIMENTO_ANNUALIZZATO + FROM + C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT + LEFT OUTER JOIN + ( + SELECT + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end as NOME_PROGETTO, + 1 as RENDIMNONRAPPR + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + LEFT OUTER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + WHERE + PATR_BF.RETE = @Rete + AND PATR_BF.COD_FISCALE = @CodiceFiscale + AND PATR_BF.REND_NON_RAPPR = 1 + group by + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end + ) PATR_BF + ON PATR_BF.COD_FISCALE=MONIT.COD_FISCALE + AND PATR_BF.RETE= MONIT.RETE + AND left(PATR_BF.ID_AREA,3)=left(MONIT.ID_AREA,3) + AND isnull(PATR_BF.NOME_PROGETTO,'XXX')=isnull(MONIT.NOME_PROGETTO,'XXX') + WHERE + MONIT.RETE = @Rete AND + MONIT.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S84ControvaloreRisorseApportate.sql b/sql/storedProduzione/C6MartPeriodico_PL_S84ControvaloreRisorseApportate.sql new file mode 100644 index 00000000..a3b296b2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S84ControvaloreRisorseApportate.sql @@ -0,0 +1,45 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_S84ControvaloreRisorseApportate] 'F','BDTMSS49A43F502I' +CREATE procedure [C6MartPeriodico].[PL_S84ControvaloreRisorseApportate] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + UNION + SELECT + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S85RendimentoPortafoglioCono.sql b/sql/storedProduzione/C6MartPeriodico_PL_S85RendimentoPortafoglioCono.sql new file mode 100644 index 00000000..8e791140 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S85RendimentoPortafoglioCono.sql @@ -0,0 +1,81 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S85RendimentoPortafoglioCono] 'F','CNTGCR68T31D458G' +CREATE procedure [C6MartPeriodico].[PL_S85RendimentoPortafoglioCono] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,isnull([NOME_PROGETTO],'XXX') as NOME_PROGETTO + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB] +into #pir_mod_xxx + FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] + WHERE cod_fiscale = @CodiceFiscale AND rete = @rete +--select * from #pir_mod_xxx where cod_fiscale = 'FF@7181' + SELECT + CONO.ID_AREA AS NEED_AREA, + CASE + WHEN CONO.NOME_PROGETTO = 'XXX' THEN '' + ELSE CONO.NOME_PROGETTO + END AS NOME_PROGETTO, + cono.ordinamento_progetto, + CONO.DATA_CONO, + CONO.SCENARIO_OTTIMISTICO AS OTTIMISTICO, + CONO.SCENARIO_PESSIMISTICO AS PESSIMISTICO, + isnull(PIRMOD.ORIZZ_TEMP_NUM,0) * 12 AS ORIZZONTE_MESI, + MONIT.RENDIMENTO_CUMULATO AS RENDIMENTO, + MONIT.DATA_CTV AS DATA_MONIT + -- into #test --aggiunta 20221219 + FROM + C6MartPeriodico.CONO_PIANIFICAZIONE AS CONO + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE AS MONIT + ON CONO.RETE = MONIT.RETE + AND CONO.COD_FISCALE = MONIT.COD_FISCALE + AND CONO.ID_AREA = MONIT.ID_AREA + AND CONO.NOME_PROGETTO = MONIT.NOME_PROGETTO + And cono.ordinamento_progetto=monit.ordinamento_progetto --l'ordinamento progetto è sempre pari alla chiaveprogetto e non idmonitoraggio + INNER JOIN #pir_mod_xxx as PIRMOD + ON CONO.RETE = PIRMOD.RETE + AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE + AND CONO.ID_AREA = PIRMOD.ID_AREA + AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + And cono.ordinamento_progetto=pirmod.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD +-- ON CONO.RETE = PIRMOD.RETE +-- AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE +-- AND CONO.ID_AREA = PIRMOD.ID_AREA +-- AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + WHERE + CONO.RETE = @Rete AND + CONO.COD_FISCALE = @CodiceFiscale + --and DATA_CTV is not null + ORDER BY CONO.DATA_CONO + --aggiunta 20221219 + --select * + --from #test + --where DATA_MONIT is not null and RENDIMENTO<>'0.00' + drop table #pir_mod_xxx +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S86PatrimonioFinanziarioMAssetClass.sql b/sql/storedProduzione/C6MartPeriodico_PL_S86PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..8379c157 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S86PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,339 @@ +--select * +--from c6martperiodico.patrimonio_bf +--where cod_fiscale = 'GNGFRZ63H17D810C' +--and id_area = 'Liq' +-- +--begin tran commit +--update +--c6martperiodico.patrimonio_bf +--set ordinamento_progetto = 527950 +--where cod_fiscale = 'GNGFRZ63H17D810C' +--and id_area = 'Liq' +--and ordinamento_progetto is null +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti -- Alessandro Tringali +-- Create date: 15 gennaio 2009 -- 19/09/2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_S86PatrimonioFinanziarioMAssetClass] 'S','GNGFRZ63H17D810C' +CREATE procedure [C6MartPeriodico].[PL_S86PatrimonioFinanziarioMAssetClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT + VALORIASSET.ID_AREA AS Need_Area, + VALORIASSET.NOME_PROGETTO, + VALORIASSET.ord_progetto, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + --ROUND(VALORIASSET.CONTROVALORE, 2) AS Controvalore, + CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, + ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_AREA, VALORIASSET.NOME_PROGETTO) * 100, 2) AS Percentuale + FROM ( + SELECT + VAL.RETE, + VAL.COD_FISCALE, + VAL.ID_AREA, + VAL.NOME_PROGETTO, + val.ord_progetto, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + CASE + WHEN PATR_BF.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE PATR_BF.ID_AREA + END AS ID_AREA, + ltrim(rtrim(PATR_BF.NOME_PROGETTO)) NOME_PROGETTO , + patr_bf.ordinamento_progetto ord_progetto, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE + PATR_BF.ID_AREA NOT IN ('Cc', 'Na','Pre1','Pre2','Pre') + AND ASSETPERC.LIVELLO = 1 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + AND PATR_BF.COD_FISCALE=@CodiceFiscale + AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + CASE + WHEN PATR_BF.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE PATR_BF.ID_AREA + END AS ID_AREA, + PATR_BF.NOME_PROGETTO, + patr_bf.ordinamento_progetto ord_progetto, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + AND PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + CASE + WHEN ASUL.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE ASUL.ID_AREA + END AS ID_AREA, + ASUL.NOME_PROGETTO, + asul.ordinamento_progetto ord_progetto, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 +-- INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF +-- ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE +-- AND ASUL.RETE=PATR_BF.RETE +-- AND ASUL.ID_CONTRATTO=PATR_BF.ID_CONTRATTO + WHERE + ASUL.RETE =@Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + AND ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA NOT IN ('Pre1','Pre2','Pre') + ) val + where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_AREA, + VAL.NOME_PROGETTO, + val.ord_progetto, + VAL.ID_ASSETCLASS + UNION ALL + /* nuovo */ + SELECT + VAL.RETE, + VAL.COD_FISCALE, + VAL.ID_AREA, + VAL.NOME_PROGETTO, + MAX(val.ord_progetto), + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + CASE + WHEN PATR_BF.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE PATR_BF.ID_AREA + END AS ID_AREA, + ltrim(rtrim(PATR_BF.NOME_PROGETTO)) NOME_PROGETTO , + patr_bf.ordinamento_progetto ord_progetto, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE + PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + AND ASSETPERC.LIVELLO = 1 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + AND PATR_BF.COD_FISCALE=@CodiceFiscale + AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + CASE + WHEN PATR_BF.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE PATR_BF.ID_AREA + END AS ID_AREA, + PATR_BF.NOME_PROGETTO, + patr_bf.ordinamento_progetto ord_progetto, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + AND PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + CASE + WHEN ASUL.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE ASUL.ID_AREA + END AS ID_AREA, + ASUL.NOME_PROGETTO, + asul.ordinamento_progetto ord_progetto, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 +-- INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF +-- ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE +-- AND ASUL.RETE=PATR_BF.RETE +-- AND ASUL.ID_CONTRATTO=PATR_BF.ID_CONTRATTO + WHERE + ASUL.RETE =@Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + AND ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA IN ('Pre1','Pre2','Pre') + ) val + where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_AREA, + VAL.NOME_PROGETTO, + VAL.ID_ASSETCLASS + /**/ + ) + VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS AS ASSETCLASS + ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + WHERE + VALORIASSET.RETE =@Rete + AND VALORIASSET.COD_FISCALE = @CodiceFiscale + ORDER BY + ASSETCLASS.ORDINAMENTO +-- +-- SELECT +-- VALORIASSET.ID_AREA AS Need_Area, +-- VALORIASSET.NOME_PROGETTO, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- --ROUND(VALORIASSET.CONTROVALORE, 2) AS Controvalore, +-- CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, +-- ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_AREA, VALORIASSET.NOME_PROGETTO) * 100, 2) AS Percentuale +-- FROM ( +-- SELECT +-- PATR_BF.RETE, +-- PATR_BF.COD_FISCALE, +-- CASE +-- WHEN PATR_BF.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +-- ELSE PATR_BF.ID_AREA +-- END AS ID_AREA, +-- PATR_BF.NOME_PROGETTO, +-- SUM(PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, +-- ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS +-- FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF +-- INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC +-- ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- WHERE +-- PATR_BF.ID_AREA NOT IN ('Cc', 'Na') +-- AND ASSETPERC.LIVELLO = 1 +-- GROUP BY +-- PATR_BF.RETE, +-- PATR_BF.COD_FISCALE, +-- PATR_BF.ID_AREA, +-- PATR_BF.NOME_PROGETTO, +-- ASSETPERC.ID_ASSETCLASS +-- ) VALORIASSET +-- INNER JOIN C6MartPeriodico.ASSETCLASS AS ASSETCLASS +-- ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +-- WHERE +-- VALORIASSET.RETE = @Rete +-- AND VALORIASSET.COD_FISCALE = @CodiceFiscale +-- ORDER BY +-- ASSETCLASS.ORDINAMENTO + /*SELECT + ID_AREA AS NEED_AREA, + NOME_PROGETTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS, ID_AREA, NOME_PROGETTO) AS Controvalore, + /*( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS, ID_AREA, NOME_PROGETTO) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale,*/ + VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY ID_AREA, NOME_PROGETTO) * 100 AS Percentuale, + --SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') AS PatrimonioFinanziarioCTV, + ASSETCLASS.ORDINAMENTO AS Ordinamento + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + LEFT(PATRBF.ID_AREA,3) AS ID_AREA, + PATRBF.NOME_PROGETTO, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRBF.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + --C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + C6MartPeriodico.PATRIMONIO_BF PATRBF + LEFT JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + --AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.ID_AREA NOT IN ('Cc', 'Na') + /*UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale*/ + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + ORDER BY + ASSETCLASS.ORDINAMENTO*/ +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql b/sql/storedProduzione/C6MartPeriodico_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql new file mode 100644 index 00000000..45bd4829 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql @@ -0,0 +1,79 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 18 febbraio 2009 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento] 'F','BLNMTN60L53L736R' +CREATE procedure [C6MartPeriodico].[PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento] --'F','BLDRLF57A17F632H' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT distinct + PATR_BF.ID_AREA AS Need_Area, + PATR_BF.ID_CONTRATTO AS Contratto, + CASE + WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA + ELSE ltrim(rtrim(PATR_BF.NOME_PROGETTO)) + END AS Area_O_Nome_Progetto, + --PRODOTTI.DESCR_PRODOTTO AS Descrizione, + CASE WHEN PATR_BF.TIPO_PRODOTTO <> 'CC' THEN PRODOTTI.DESCR_PRODOTTO + ELSE PRODOTTI.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATR_BF.PARTVIA_DISINV AS PartitaViaggiante, + SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.POSITION_ID) AS Controvalore, + dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + -- savingmap - Novembre 2019 + PATR_BF.tipo_prodotto as Tipo_Prodotto , + apc.is_APC as isAPC + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI AS PRODOTTI ON + PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO + --V La sezione deve uscire soltanto per aree monitorate + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE M ON + PATR_BF.RETE = M.RETE AND PATR_BF.COD_FISCALE = M.COD_FISCALE + AND( + (PATR_BF.ID_AREA = M.ID_AREA AND PATR_BF.ID_AREA <> 'INV') + OR + (PATR_BF.ID_AREA = 'INV' AND PATR_BF.ID_AREA = M.ID_AREA AND PATR_BF.ORDINAMENTO_PROGETTO = M.ORDINAMENTO_PROGETTO) + ) + LEFT OUTER JOIN C6MartPeriodico.ANAG_CC ON + ANAG_CC.COD_FISCALE = PATR_BF.COD_FISCALE + AND ANAG_CC.RETE = PATR_BF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATR_BF.position_id,72,9) + left join C6MartPeriodico.WSEICC apc +on + apc.RETE=PATR_BF.RETE + and apc.cod_fiscale=patr_bf.cod_fiscale + and PATR_BF.ID_CONTRATTO = --apc.CODCONFPR + (case when PATR_BF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) + WHERE + PATR_BF.RETE = @Rete + AND PATR_BF.COD_FISCALE = @CodiceFiscale + AND PATR_BF.REND_NON_RAPPR = 1 + ORDER BY + Area_O_Nome_Progetto + -- select [Need_Area] + -- ,[Contratto] + -- ,[Area_O_Nome_Progetto] + -- ,[Descrizione] + -- ,[PartitaViaggiante] + -- ,[Controvalore] + -- ,[DataSottoscrizione] + -- ,[Tipo_Prodotto] + --from [C6StampeCentralizzate].[dbo].[pezzotto_2022] + --WHERE + -- RETE = @Rete + -- AND COD_FISCALE = @CodiceFiscale + -- --AND REND_NON_RAPPR = 1 + --ORDER BY + -- Area_O_Nome_Progetto +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S94Rischio.sql b/sql/storedProduzione/C6MartPeriodico_PL_S94Rischio.sql new file mode 100644 index 00000000..d5c63743 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S94Rischio.sql @@ -0,0 +1,50 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S94Rischio] 'F','GRZDSG43E11D193N' +CREATE procedure [C6MartPeriodico].[PL_S94Rischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + SELECT + @varBF = VAR_PERC_PTF, + @coperturaBF = COPERTURA + FROM + C6MartPeriodico.RISCHIO_AGGREGATO + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale AND + COD_AGGREG = 'COMPLESSIVO|BF' + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = CR.DESCRIZIONE + FROM + C6MartPeriodico.MIFID AS M + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + SELECT + @codiceProfilo as codiceProfilo, + @dataProfilo as dataProfilo, + @varProfilo as varProfilo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S95ProfiloDiRischio.sql b/sql/storedProduzione/C6MartPeriodico_PL_S95ProfiloDiRischio.sql new file mode 100644 index 00000000..2c76f894 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S95ProfiloDiRischio.sql @@ -0,0 +1,87 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S95ProfiloDiRischio]'F', 'VNCLNI44T60G388L' +CREATE procedure [C6MartPeriodico].[PL_S95ProfiloDiRischio] --'F','BRDCNZ69P44E783R' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenza DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + declare @descrizioneProfilo varchar(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @riskclassDescr VARCHAR(250) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza varchar(20) + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenza = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + else '-' + end + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + -- RICERCA DATA FINE VALIDITA' + declare @dtfinval decimal(9,0) + declare @codman varchar(6) + set @codman = '' + if upper(left(@CodiceFiscale,3)) = 'FF@' + begin + set @codman = substring(@CodiceFiscale,4,len(@CodiceFiscale)-3) + select @dtfinval = dtfinval from C6StagingPeriodico.WSEIAN2 + where codman = @codman and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice mandato' + end + else + begin + select @dtfinval = dtfinval from C6StagingPeriodico.WSEIAN2 + where codfis = @CodiceFiscale and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice fiscale' + end + -- + if @dtfinval <> 0 and @dtfinval is not null and ltrim(rtrim(@dtfinval)) <> '' + set @dataScadenza = CONVERT(datetime, CONVERT(varchar,CONVERT(int,@dtfinval)), 0) + else + set @dataScadenza = null + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (@dataScadenza) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as DescrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as descrizioneEsperienza +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S95ProfiloDiRischio_20190204_PreMIFID2.sql b/sql/storedProduzione/C6MartPeriodico_PL_S95ProfiloDiRischio_20190204_PreMIFID2.sql new file mode 100644 index 00000000..bf835205 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S95ProfiloDiRischio_20190204_PreMIFID2.sql @@ -0,0 +1,49 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S95ProfiloDiRischio]F,00247580970 +CREATE procedure [C6MartPeriodico].[PL_S95ProfiloDiRischio_20190204_PreMIFID2] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskclass, + @experience as experince +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S96BisRischioMercatoRischioCredito.sql b/sql/storedProduzione/C6MartPeriodico_PL_S96BisRischioMercatoRischioCredito.sql new file mode 100644 index 00000000..17f3ea0e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S96BisRischioMercatoRischioCredito.sql @@ -0,0 +1,229 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_S96BisRischiomercatoRischiocredito] 'F','BSHLRI69R13Z100Y' +CREATE procedure [C6MartPeriodico].[PL_S96BisRischioMercatoRischioCredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + --V Imposizione VaR a 0 nel caso di presenza di solo cc + CASE + WHEN (@contaPOS - @contaCC) = 0 THEN 0.00 + ELSE RISK_AGG.VAR_PERC_PTF + END AS VAR, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 AND (@contaPOS - @contaCC) <> 0 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.a.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + CASE + WHEN (@contaPOS - @contaCC) = 0 THEN 100 + ELSE ISNULL(RISK_AGG.COPERTURA,0.00) + END AS COVERAGE, +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE + NULL AS COVERAGESTRING, + --V changed from string value (descrizione) to the numeric (profilo) + M.RISKCLASS AS RISKCLASSMAX, + (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI-CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) + END ) + *100 AS PERCENTAGE, + case when RISK_AGG.VAR_PERC_PTF > CR.MAX_VAR then 0 else 1 end as VarIsOk, + case when isnull(RISK_AGG.CREDITRISK,0) > Ck.PROFILO then 0 else 1 end as RiskClassIsOk, + CASE WHEN CMP.COMPLESSITA > M.EXPERIENCE THEN 0 ELSE 1 END as ComplexityIsOk, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE ' Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale = @codiceFiscale + and rete= @rete + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE ' Patrimonio IW Private Inv.' END + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + left outer join C6MartPeriodico.COMPLESSITA cmp + on + CMP.COD_FISCALE=PATRBF.COD_FISCALE + AND + CMP.RETE=PATRBF.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + ) +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_S96BisRischioMercatoRischioCredito] Script Date: 10/02/2022 16:38:26 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +-- --[C6MartPeriodico].[PL_S96BisRischiomercatoRischiocredito] 'F','BSHLRI69R13Z100Y' +--ALTER procedure [C6MartPeriodico].[PL_S96BisRischioMercatoRischioCredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +-- declare @contaCC as int +-- select @contaCC = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete +-- declare @contaPOS as int +-- select @contaPOS = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where cod_fiscale = @codiceFiscale and rete = @rete +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- PATRBF.INSTITUTENAME, +-- CTV, +-- M.PROFILO_ASS AS CODICEPROFILO, +-- CR.MAX_VAR AS VARMAX, +-- --V Imposizione VaR a 0 nel caso di presenza di solo cc +-- CASE +-- WHEN (@contaPOS - @contaCC) = 0 THEN 0.00 +-- ELSE RISK_AGG.VAR_PERC_PTF +-- END AS VAR, +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 AND (@contaPOS - @contaCC) <> 0 THEN 'n.c.' +-- ELSE NULL +-- END AS VARSTRING, +-- RISK_AGG.CREDITRISK RISKCLASS, +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END AS RISKCLASSSTRING, +-- CASE +-- WHEN (@contaPOS - @contaCC) = 0 THEN 100 +-- ELSE ISNULL(RISK_AGG.COPERTURA,0.00) +-- END AS COVERAGE, +---- CASE +---- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +---- ELSE +-- NULL AS COVERAGESTRING, +-- --V changed from string value (descrizione) to the numeric (profilo) +-- M.RISKCLASS AS RISKCLASSMAX, +-- (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / +-- -- 16.07.2011 COLAIANNI-CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 +-- THEN 1 +-- ELSE SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) +-- END ) +-- *100 AS PERCENTAGE, +-- case when RISK_AGG.VAR_PERC_PTF > CR.MAX_VAR then 0 else 1 end as VarIsOk, +-- case when isnull(RISK_AGG.CREDITRISK,0) > Ck.PROFILO then 0 else 1 end as RiskClassIsOk, +-- CASE WHEN CMP.COMPLESSITA > M.EXPERIENCE THEN 0 ELSE 1 END as ComplexityIsOk, +-- RISK_AGG.Ully_perc +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, +-- SUM(PATRBF.CTV) AS CTV +-- from +-- c6martperiodico.patrimonio_bf PATRBF +-- where +-- 1=1 +-- and cod_fiscale = @codiceFiscale +-- and rete= @rete +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END +-- ) PATRBF +-- LEFT OUTER JOIN +-- c6martperiodico.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- left outer join C6MartPeriodico.COMPLESSITA cmp +-- on +-- CMP.COD_FISCALE=PATRBF.COD_FISCALE +-- AND +-- CMP.RETE=PATRBF.RETE +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' +-- ) +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_S96RischiomercatoRischiocredito.sql b/sql/storedProduzione/C6MartPeriodico_PL_S96RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..785d0e0e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_S96RischiomercatoRischiocredito.sql @@ -0,0 +1,227 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_S96RischiomercatoRischiocredito] 'F','GZZSLD52E20G869L' +CREATE procedure [C6MartPeriodico].[PL_S96RischiomercatoRischiocredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.cod_fiscale = @codiceFiscale + and PATRBF.rete= @rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.cod_fiscale =@codiceFiscale + and TERZI.rete=@rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PL_SavingMap.sql b/sql/storedProduzione/C6MartPeriodico_PL_SavingMap.sql new file mode 100644 index 00000000..6ee1e73c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PL_SavingMap.sql @@ -0,0 +1,19 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_SavingMap] 'S','BCCNCL47B10H769B','507112FO702' --'000001VP001' +create procedure [C6MartPeriodico].[PL_SavingMap] + @rete varchar(1), + @codfis varchar(16), + @codConf varchar(11) +AS +BEGIN + declare @ris as int + declare @ritorno as int + -- viene passato il contratto di un foglio: verifico se su questo è attivo saving map L'informazione è contenuta nella colonna MAF del cc + select @ritorno = (select count(*) from c6martperiodico.patrimonio_bf where + cod_fiscale = @codfis and rete = @rete and cod_maf = @codConf ) + select @ritorno +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza.sql b/sql/storedProduzione/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza.sql new file mode 100644 index 00000000..44ea658a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza.sql @@ -0,0 +1,245 @@ +CREATE procedure [C6MartPeriodico].[POPOLA_S132ProfiloRischioAdeguatezza] +AS +BEGIN +-------------------------------------------------------- +--***************************************************** +-- Replat della Sp PL_MP_S132ProfiloRischioAdeguatezza +-- Attenzione : la insert sulla tabella TB_S132ProfiloRischioAdeguatezza inserisci su alcuni campi valori +-- che successivamente sono aggiornati con un UPD ( vedi fine SP ) +--***************************************************** + SET NOCOUNT ON; +truncate table C6MartPeriodico.TB_S132ProfiloRischioAdeguatezza +insert into C6MartPeriodico.TB_S132ProfiloRischioAdeguatezza + SELECT distinct + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, +--CONVERT(DATETIME,M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + DBO.TOSHORTDATESTRING(M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + CR.MAX_VAR AS VARMAX, + ProfiliDiRischio.NOMEPROFILO as NOMEPROFILO, + RISK_AGG.VAR_PERC_PTF,-- VAR, + null VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.a.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) COVERAGE, + NULL AS COVERAGESTRING, + --V changed from string value (descrizione) to the numeric (profilo) + M.RISKCLASS AS RISKCLASSMAX, + (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI-CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) + END ) + *100 AS PERCENTAGE, + case when RISK_AGG.VAR_PERC_PTF > CR.MAX_VAR then 0 else 1 end as VarIsOk, + case when isnull(RISK_AGG.CREDITRISK,0) > Ck.PROFILO then 0 else 1 end as RiskClassIsOk, + CASE WHEN CMP.COMPLESSITA > M.EXPERIENCE THEN 0 ELSE 1 END as ComplexityIsOk, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + -- and cod_fiscale = @codiceFiscale + -- and rete= @rete + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE 'Patrimonio IW Private Inv.' END + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + left outer join C6MartPeriodico.COMPLESSITA cmp + on + CMP.COD_FISCALE=PATRBF.COD_FISCALE + AND + CMP.RETE=PATRBF.RETE +INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + ) +update s132 + set var = ( CASE + WHEN (nocc - CC = 0 ) THEN 0.00 + else var + END ), + COVERAGE = ( CASE + WHEN (nocc - CC = 0 ) THEN 100 + else COVERAGE + END ) + --, + --VARSTRING=( CASE + -- WHEN VARSTRING = 0.00 AND (nocc - CC <> 0 ) THEN 'n.c.' + --END ) + from c6martperiodico.TB_S132ProfiloRischioAdeguatezza s132 + inner join ( + select rete,cod_fiscale + ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc + ,sum ( tot ) as nocc + from + ( select rete,cod_fiscale,tipo_prodotto,count(*) tot + from c6martperiodico.patrimonio_Bf + --where cod_fiscale = '00082850397' and rete = 'F' + group by rete,cod_fiscale,tipo_prodotto + ) as gr + group by rete,cod_fiscale + ) as tabCount + on tabcount.rete= s132.rete and tabcount.cod_fiscale=s132.cod_fiscale +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[POPOLA_S132ProfiloRischioAdeguatezza] Script Date: 10/02/2022 16:41:23 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +--ALTER procedure [C6MartPeriodico].[POPOLA_S132ProfiloRischioAdeguatezza] +--AS +--BEGIN +---------------------------------------------------------- +----***************************************************** +---- Replat della Sp PL_MP_S132ProfiloRischioAdeguatezza +---- Attenzione : la insert sulla tabella TB_S132ProfiloRischioAdeguatezza inserisci su alcuni campi valori +---- che successivamente sono aggiornati con un UPD ( vedi fine SP ) +----***************************************************** +-- SET NOCOUNT ON; +--truncate table C6MartPeriodico.TB_S132ProfiloRischioAdeguatezza +--insert into C6MartPeriodico.TB_S132ProfiloRischioAdeguatezza +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- PATRBF.INSTITUTENAME, +-- CTV, +-- M.PROFILO_ASS AS CODICEPROFILO, +----CONVERT(DATETIME,M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, +-- DBO.TOSHORTDATESTRING(M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, +-- CR.MAX_VAR AS VARMAX, +-- ProfiliDiRischio.NOMEPROFILO as NOMEPROFILO, +-- RISK_AGG.VAR_PERC_PTF,-- VAR, +-- null VARSTRING, +-- RISK_AGG.CREDITRISK RISKCLASS, +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END AS RISKCLASSSTRING, +-- ISNULL(RISK_AGG.COPERTURA,0.00) COVERAGE, +-- NULL AS COVERAGESTRING, +-- --V changed from string value (descrizione) to the numeric (profilo) +-- M.RISKCLASS AS RISKCLASSMAX, +-- (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / +-- -- 16.07.2011 COLAIANNI-CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 +-- THEN 1 +-- ELSE SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) +-- END ) +-- *100 AS PERCENTAGE, +-- case when RISK_AGG.VAR_PERC_PTF > CR.MAX_VAR then 0 else 1 end as VarIsOk, +-- case when isnull(RISK_AGG.CREDITRISK,0) > Ck.PROFILO then 0 else 1 end as RiskClassIsOk, +-- CASE WHEN CMP.COMPLESSITA > M.EXPERIENCE THEN 0 ELSE 1 END as ComplexityIsOk, +-- RISK_AGG.Ully_perc +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, +-- SUM(PATRBF.CTV) AS CTV +-- from +-- c6martperiodico.patrimonio_bf PATRBF +-- where +-- 1=1 +-- -- and cod_fiscale = @codiceFiscale +-- -- and rete= @rete +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END +-- ) PATRBF +-- LEFT OUTER JOIN +-- c6martperiodico.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- left outer join C6MartPeriodico.COMPLESSITA cmp +-- on +-- CMP.COD_FISCALE=PATRBF.COD_FISCALE +-- AND +-- CMP.RETE=PATRBF.RETE +--INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio +-- ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' +-- ) +--update s132 +-- set var = ( CASE +-- WHEN (nocc - CC = 0 ) THEN 0.00 +-- else var +-- END ), +-- COVERAGE = ( CASE +-- WHEN (nocc - CC = 0 ) THEN 100 +-- else COVERAGE +-- END ) +-- --, +-- --VARSTRING=( CASE +-- -- WHEN VARSTRING = 0.00 AND (nocc - CC <> 0 ) THEN 'n.c.' +-- --END ) +-- from c6martperiodico.TB_S132ProfiloRischioAdeguatezza s132 +-- inner join ( +-- select rete,cod_fiscale +-- ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc +-- ,sum ( tot ) as nocc +-- from +-- ( select rete,cod_fiscale,tipo_prodotto,count(*) tot +-- from c6martperiodico.patrimonio_Bf +-- --where cod_fiscale = '00082850397' and rete = 'F' +-- group by rete,cod_fiscale,tipo_prodotto +-- ) as gr +-- group by rete,cod_fiscale +-- ) as tabCount +-- on tabcount.rete= s132.rete and tabcount.cod_fiscale=s132.cod_fiscale +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_PROVVISORIA.sql b/sql/storedProduzione/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_PROVVISORIA.sql new file mode 100644 index 00000000..e96f002e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_PROVVISORIA.sql @@ -0,0 +1,119 @@ +CREATE procedure [C6MartPeriodico].[POPOLA_S132ProfiloRischioAdeguatezza_PROVVISORIA] +AS +BEGIN +-------------------------------------------------------- +--***************************************************** +-- Replat della Sp PL_MP_S132ProfiloRischioAdeguatezza +-- Attenzione : la insert sulla tabella TB_S132ProfiloRischioAdeguatezza inserisci su alcuni campi valori +-- che successivamente sono aggiornati con un UPD ( vedi fine SP ) +--***************************************************** + SET NOCOUNT ON; +--truncate table C6MartPeriodico.TB_S132ProfiloRischioAdeguatezza +insert into C6MartPeriodico.TB_S132ProfiloRischioAdeguatezza + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, +--CONVERT(DATETIME,M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + DBO.TOSHORTDATESTRING(M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + CR.MAX_VAR AS VARMAX, + ProfiliDiRischio.NOMEPROFILO as NOMEPROFILO, + RISK_AGG.VAR_PERC_PTF,-- VAR, + null VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.a.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) COVERAGE, + NULL AS COVERAGESTRING, + --V changed from string value (descrizione) to the numeric (profilo) + M.RISKCLASS AS RISKCLASSMAX, + (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI-CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) + END ) + *100 AS PERCENTAGE, + case when RISK_AGG.VAR_PERC_PTF > CR.MAX_VAR then 0 else 1 end as VarIsOk, + case when isnull(RISK_AGG.CREDITRISK,0) > Ck.PROFILO then 0 else 1 end as RiskClassIsOk, + CASE WHEN CMP.COMPLESSITA > M.EXPERIENCE THEN 0 ELSE 1 END as ComplexityIsOk, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale = 'DLLPLG43L04I625G' + and rete= 'F' + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + left outer join C6MartPeriodico.COMPLESSITA cmp + on + CMP.COD_FISCALE=PATRBF.COD_FISCALE + AND + CMP.RETE=PATRBF.RETE +INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + ) +update s132 + set var = ( CASE + WHEN (nocc - CC = 0 ) THEN 0.00 + else var + END ), + COVERAGE = ( CASE + WHEN (nocc - CC = 0 ) THEN 100 + else COVERAGE + END ) + --, + --VARSTRING=( CASE + -- WHEN VARSTRING = 0.00 AND (nocc - CC <> 0 ) THEN 'n.c.' + --END ) + from c6martperiodico.TB_S132ProfiloRischioAdeguatezza s132 + inner join ( + select rete,cod_fiscale + ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc + ,sum ( tot ) as nocc + from + ( select rete,cod_fiscale,tipo_prodotto,count(*) tot + from c6martperiodico.patrimonio_Bf + where cod_fiscale = 'DLLPLG43L04I625G' and rete = 'F' + group by rete,cod_fiscale,tipo_prodotto + ) as gr + group by rete,cod_fiscale + ) as tabCount + on tabcount.rete= s132.rete and tabcount.cod_fiscale=s132.cod_fiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_pre_selective.sql new file mode 100644 index 00000000..0a30e975 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_pre_selective.sql @@ -0,0 +1,119 @@ +CREATE procedure [C6MartPeriodico].[POPOLA_S132ProfiloRischioAdeguatezza_pre_selective] +AS +BEGIN +-------------------------------------------------------- +--***************************************************** +-- Replat della Sp PL_MP_S132ProfiloRischioAdeguatezza +-- Attenzione : la insert sulla tabella TB_S132ProfiloRischioAdeguatezza inserisci su alcuni campi valori +-- che successivamente sono aggiornati con un UPD ( vedi fine SP ) +--***************************************************** + SET NOCOUNT ON; +truncate table C6MartPeriodico.TB_S132ProfiloRischioAdeguatezza +insert into C6MartPeriodico.TB_S132ProfiloRischioAdeguatezza + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, +--CONVERT(DATETIME,M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + DBO.TOSHORTDATESTRING(M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + CR.MAX_VAR AS VARMAX, + ProfiliDiRischio.NOMEPROFILO as NOMEPROFILO, + RISK_AGG.VAR_PERC_PTF,-- VAR, + null VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.a.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) COVERAGE, + NULL AS COVERAGESTRING, + --V changed from string value (descrizione) to the numeric (profilo) + M.RISKCLASS AS RISKCLASSMAX, + (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI-CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) + END ) + *100 AS PERCENTAGE, + case when RISK_AGG.VAR_PERC_PTF > CR.MAX_VAR then 0 else 1 end as VarIsOk, + case when isnull(RISK_AGG.CREDITRISK,0) > Ck.PROFILO then 0 else 1 end as RiskClassIsOk, + CASE WHEN CMP.COMPLESSITA > M.EXPERIENCE THEN 0 ELSE 1 END as ComplexityIsOk, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + -- and cod_fiscale = @codiceFiscale + -- and rete= @rete + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + left outer join C6MartPeriodico.COMPLESSITA cmp + on + CMP.COD_FISCALE=PATRBF.COD_FISCALE + AND + CMP.RETE=PATRBF.RETE +INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + ) +update s132 + set var = ( CASE + WHEN (nocc - CC = 0 ) THEN 0.00 + else var + END ), + COVERAGE = ( CASE + WHEN (nocc - CC = 0 ) THEN 100 + else COVERAGE + END ) + --, + --VARSTRING=( CASE + -- WHEN VARSTRING = 0.00 AND (nocc - CC <> 0 ) THEN 'n.c.' + --END ) + from c6martperiodico.TB_S132ProfiloRischioAdeguatezza s132 + inner join ( + select rete,cod_fiscale + ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc + ,sum ( tot ) as nocc + from + ( select rete,cod_fiscale,tipo_prodotto,count(*) tot + from c6martperiodico.patrimonio_Bf + --where cod_fiscale = '00082850397' and rete = 'F' + group by rete,cod_fiscale,tipo_prodotto + ) as gr + group by rete,cod_fiscale + ) as tabCount + on tabcount.rete= s132.rete and tabcount.cod_fiscale=s132.cod_fiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_PROM_TuttiIPortafogli.sql b/sql/storedProduzione/C6MartPeriodico_PROM_TuttiIPortafogli.sql new file mode 100644 index 00000000..07cdf1d3 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_PROM_TuttiIPortafogli.sql @@ -0,0 +1,52 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PROM_TuttiIPortafogli] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT + -- descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] +FROM ( + SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[vTuttiIPortafogli] + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[vTuttiIPortafogli_ccLiq] +) T +--where t.codicefiscale = 'RNZFNC33H06Z404A' +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_D2_S150Anagrafica.sql b/sql/storedProduzione/C6MartPeriodico_Popola_D2_S150Anagrafica.sql new file mode 100644 index 00000000..486bf706 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_D2_S150Anagrafica.sql @@ -0,0 +1,99 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S150Anagrafica] 'F', 'NCLGDE26B18L388P' +CREATE procedure [C6MartPeriodico].[Popola_D2_S150Anagrafica] +AS +BEGIN + insert into c6martperiodico.tb_D2_S150Anagrafica + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + --V Indirizzo Secondo AULETTA + --CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + -- THEN + -- REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + -- + ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') + -- ELSE + -- REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + -- + ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') + --END AS Residenza, + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') else '' end + ' ' + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') else '' end + ' ' + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_SOTT) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + NULL AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + CONTRATTOSEI.[Prov] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.contrattosei as CONTRATTOSEI + INNER JOIN + C6MARTPERIODICO.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MARTPERIODICO.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + LEFT JOIN + C6MARTPERIODICO.ANAG_CLIENTI_PREV + ON + ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + LEFT JOIN + C6MARTPERIODICO.DATI_REPORT + ON + ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + --WHERE 1 = 1 + -- AND ANAG_CLIENTI.RETE = @RETE + -- AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_FD190PatrimonioFinanziario_PTFRibilanciato.sql b/sql/storedProduzione/C6MartPeriodico_Popola_FD190PatrimonioFinanziario_PTFRibilanciato.sql new file mode 100644 index 00000000..00779d4f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_FD190PatrimonioFinanziario_PTFRibilanciato.sql @@ -0,0 +1,269 @@ +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= +-- [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[Popola_FD190PatrimonioFinanziario_PTFRibilanciato] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN +truncate table C6MartPeriodico.TB_FD190PatrimonioFinanziario_PTFRibilanciato +INSERT INTO C6MartPeriodico.TB_FD190PatrimonioFinanziario_PTFRibilanciato +SELECT --top 1 + Rete, + cod_fiscale as CodiceFiscale, + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + a.ChiavePtfMod, + A.Controvalore, + A.percentuale, + ROUND(SUM(A.Controvalore) OVER (PARTITION BY RETE,COD_FISCALE),2) as Totale, + isnull(ptf.percentuale,0.00) as Percentuale_Modello, + A.VAR_PROG + --cast(A.Controvalore as decimal(19,5)) AS Controvalore, + --cast(A.Percentuale as decimal(19,5)) AS Percentuale, + --cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) + END + ) * 100 AS Percentuale , + ChiavePtfMod, + VAR_PERC_PTF as VAR_PROG + FROM ( + SELECT + PATRBF.rete, + PATRBF.COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore , + PATRBF.ChiavePtfMod, + RISCHIO_AGGR_PROG.VAR_PERC_PTF + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 +-- inner join +-- C6StagingPeriodico.RP_Progetto_Robo robo +-- on robo.chiaveProgetto=patrbf.CHIAVE_PROGETTO +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area not in ('CC', 'SELF') + and patrbf.NOME_PROGETTO like '%Direct Evo%' + -- AND PATRBF.RETE = @Rete + -- AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT + Asul.rete, + asul.cod_fiscale, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore , + patrbf.chiaveptfmod, + RISCHIO_AGGR_PROG.VAR_PERC_PTF + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + inner join + C6MartPeriodico.PATRIMONIO_BF PATRBF + on patrbf.chiave_progetto=ASUL.CHIAVEPROGETTO + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + where patrbf.NOME_PROGETTO like '%Direct Evo%' + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=ASUL.CHIAVEPROGETTO + -- WHERE + -- ASUL.RETE = @Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT Asul.rete, + asul.cod_fiscale, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore , + patrbf.chiaveptfmod, + RISCHIO_AGGR_PROG.VAR_PERC_PTF + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + -- inner join + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=ASUL.CHIAVEPROGETTO + inner join + C6MartPeriodico.PATRIMONIO_BF PATRBF + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + on patrbf.chiave_progetto=ASUL.CHIAVEPROGETTO + where patrbf.NOME_PROGETTO like '%Direct Evo%' + -- WHERE + -- ASUL.RETE = @Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A + left join [c6StagingPeriodico].[RP_DistribuzionePtfModello_Tattici_MacroAssetClass] ptf +on ptf.chiavePtfMod=a.chiaveptfmod and ptf.asset=a.AssetClassID +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] Script Date: 10/02/2022 16:40:28 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: <> +---- Create date: <> +---- Description: +---- ============================================= +---- [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] 'F','LRNRMR33D51C166I' +--ALTER procedure [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- --@Rete char(1), +-- --@CodiceFiscale varchar(16) +--AS +--BEGIN +--truncate table C6MartPeriodico.TB_S10PatrimonioFinanziario +--INSERT INTO C6MartPeriodico.TB_S10PatrimonioFinanziario +--SELECT --top 1 +-- Rete, +-- cod_fiscale as CodiceFiscale, +-- A.BANCA AS Banca, +-- A.ORDINAMENTO AS Ordinamento, +-- A.AssetClassId AS AssetClassId, +-- A.AssetClassName AS AssetClassName, +-- A.Controvalore, +-- A.percentuale, +-- ROUND(SUM(A.Controvalore) OVER (PARTITION BY RETE,COD_FISCALE),2) +-- --cast(A.Controvalore as decimal(19,5)) AS Controvalore, +-- --cast(A.Percentuale as decimal(19,5)) AS Percentuale, +-- --cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +--FROM +--( +-- SELECT DISTINCT +-- CASE Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Fideuram' +-- END AS Banca, +-- rete, +-- cod_fiscale, +-- ASSETCLASS.ORDINAMENTO, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale),2) as Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale) / +-- --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) = 0 +-- THEN 1 +-- ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) +-- END +-- ) * 100 AS Percentuale +-- FROM ( +-- SELECT +-- PATRBF.rete, +-- PATRBF.COD_FISCALE, +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- and patrbf.id_area not in ('CC', 'SELF') +-- -- AND PATRBF.RETE = @Rete +-- -- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- SELECT +-- Asul.rete, +-- asul.cod_fiscale, +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- -- WHERE +-- -- ASUL.RETE = @Rete +-- -- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- SELECT Asul.rete, +-- asul.cod_fiscale, +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- -- WHERE +-- -- ASUL.RETE = @Rete +-- -- AND ASUL.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MartPeriodico.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_FD190PatrimonioFinanziario_PTFRibilanciato_OLD.sql b/sql/storedProduzione/C6MartPeriodico_Popola_FD190PatrimonioFinanziario_PTFRibilanciato_OLD.sql new file mode 100644 index 00000000..9a63d623 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_FD190PatrimonioFinanziario_PTFRibilanciato_OLD.sql @@ -0,0 +1,249 @@ +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= +-- [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[Popola_FD190PatrimonioFinanziario_PTFRibilanciato_OLD] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN +truncate table C6MartPeriodico.TB_FD190PatrimonioFinanziario_PTFRibilanciato +INSERT INTO C6MartPeriodico.TB_FD190PatrimonioFinanziario_PTFRibilanciato +SELECT --top 1 + Rete, + cod_fiscale as CodiceFiscale, + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + a.ChiavePtfMod, + A.Controvalore, + A.percentuale, + ROUND(SUM(A.Controvalore) OVER (PARTITION BY RETE,COD_FISCALE),2) as Totale, + isnull(ptf.percentuale,0.00) as Percentuale_Modello + --cast(A.Controvalore as decimal(19,5)) AS Controvalore, + --cast(A.Percentuale as decimal(19,5)) AS Percentuale, + --cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) + END + ) * 100 AS Percentuale , + ChiavePtfMod + FROM ( + SELECT + PATRBF.rete, + PATRBF.COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore , + PATRBF.ChiavePtfMod + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 +-- inner join +-- C6StagingPeriodico.RP_Progetto_Robo robo +-- on robo.chiaveProgetto=patrbf.CHIAVE_PROGETTO + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area not in ('CC', 'SELF') + and patrbf.NOME_PROGETTO like '%Direct Evo%' + -- AND PATRBF.RETE = @Rete + -- AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT + Asul.rete, + asul.cod_fiscale, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore , + patrbf.chiaveptfmod + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + inner join + C6MartPeriodico.PATRIMONIO_BF PATRBF + on patrbf.chiave_progetto=ASUL.CHIAVEPROGETTO + where patrbf.NOME_PROGETTO like '%Direct Evo%' + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=ASUL.CHIAVEPROGETTO + -- WHERE + -- ASUL.RETE = @Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT Asul.rete, + asul.cod_fiscale, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore , + patrbf.chiaveptfmod + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + -- inner join + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=ASUL.CHIAVEPROGETTO + inner join + C6MartPeriodico.PATRIMONIO_BF PATRBF + on patrbf.chiave_progetto=ASUL.CHIAVEPROGETTO + where patrbf.NOME_PROGETTO like '%Direct Evo%' + -- WHERE + -- ASUL.RETE = @Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A + left join [c6StagingPeriodico].[RP_DistribuzionePtfModello_Tattici_MacroAssetClass] ptf +on ptf.chiavePtfMod=a.chiaveptfmod and ptf.asset=a.AssetClassID +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] Script Date: 10/02/2022 16:40:28 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: <> +---- Create date: <> +---- Description: +---- ============================================= +---- [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] 'F','LRNRMR33D51C166I' +--ALTER procedure [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- --@Rete char(1), +-- --@CodiceFiscale varchar(16) +--AS +--BEGIN +--truncate table C6MartPeriodico.TB_S10PatrimonioFinanziario +--INSERT INTO C6MartPeriodico.TB_S10PatrimonioFinanziario +--SELECT --top 1 +-- Rete, +-- cod_fiscale as CodiceFiscale, +-- A.BANCA AS Banca, +-- A.ORDINAMENTO AS Ordinamento, +-- A.AssetClassId AS AssetClassId, +-- A.AssetClassName AS AssetClassName, +-- A.Controvalore, +-- A.percentuale, +-- ROUND(SUM(A.Controvalore) OVER (PARTITION BY RETE,COD_FISCALE),2) +-- --cast(A.Controvalore as decimal(19,5)) AS Controvalore, +-- --cast(A.Percentuale as decimal(19,5)) AS Percentuale, +-- --cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +--FROM +--( +-- SELECT DISTINCT +-- CASE Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Fideuram' +-- END AS Banca, +-- rete, +-- cod_fiscale, +-- ASSETCLASS.ORDINAMENTO, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale),2) as Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale) / +-- --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) = 0 +-- THEN 1 +-- ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) +-- END +-- ) * 100 AS Percentuale +-- FROM ( +-- SELECT +-- PATRBF.rete, +-- PATRBF.COD_FISCALE, +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- and patrbf.id_area not in ('CC', 'SELF') +-- -- AND PATRBF.RETE = @Rete +-- -- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- SELECT +-- Asul.rete, +-- asul.cod_fiscale, +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- -- WHERE +-- -- ASUL.RETE = @Rete +-- -- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- SELECT Asul.rete, +-- asul.cod_fiscale, +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- -- WHERE +-- -- ASUL.RETE = @Rete +-- -- AND ASUL.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MartPeriodico.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_FD200DistribuzioneAssetClass_PTFRibilanciato.sql b/sql/storedProduzione/C6MartPeriodico_Popola_FD200DistribuzioneAssetClass_PTFRibilanciato.sql new file mode 100644 index 00000000..c445ffa5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_FD200DistribuzioneAssetClass_PTFRibilanciato.sql @@ -0,0 +1,268 @@ +--[C6martPeriodico].[Popola_S148DistribuzioneAssetClass] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[Popola_FD200DistribuzioneAssetClass_PTFRibilanciato] + -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN +truncate table c6martperiodico.TB_FD200DistribuzioneAssetClass_PTFRibilanciato +INSERT INTO c6martperiodico.TB_FD200DistribuzioneAssetClass_PTFRibilanciato + select rete, + cod_fiscale, + CASE rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + a.ORDINAMENTO, + AssetClassId, + AssetClassName, + a.chiaveptfmod, + SUM(Controvalore) As Controvalore, + --SUM(CONTROVALORE) / Totale As Percentuale, + SUM(CONTROVALORE) / Totale * 100 As Percentuale, + Totale, + isnull(ptf.percentuale ,0.00) as Percentuale_Modello, + VAR_PROG +FROM +( +SELECT rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, + --ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'Totale') * 100, 2) AS Percentuale, + cast(ROUND(SUM(Controvalore) OVER (PARTITION BY 'Totale',rete,cod_fiscale),2) as decimal(19,5)) AS Totale , + chiaveptfmod, + VAR_PROG + FROM ( + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS , + chiaveptfmod, + VAR_PROG + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS , + chiaveptfmod, + RISCHIO_AGGR_PROG.VAR_PERC_PTF as var_prog + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATR_BF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATR_BF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATR_BF.ID_AREA,3) + '|' + PATR_BF.NOME_PROGETTO + '|' + + cast (Patr_BF.ordinamento_progetto as varchar) + -- inner join + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=PATR_BF.CHIAVE_PROGETTO + WHERE +--inizio interventi OMNIA +-- PATR_BF.ID_AREA NOT IN ('Cc','Pre1','Pre2','Pre') + PATR_BF.ID_AREA NOT IN ('SELF','Cc','Pre1','Pre2','Pre') +--fine interventi OMNIA + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + and PATR_BF.NOME_PROGETTO like '%Direct Evo%' + --AND PATR_BF.COD_FISCALE= @CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS , + patr_bf.chiaveptfmod, + RISCHIO_AGGR_PROG.VAR_PERC_PTF as var_prog + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATR_BF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATR_BF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATR_BF.ID_AREA,3) + '|' + PATR_BF.NOME_PROGETTO + '|' + + cast (Patr_BF.ordinamento_progetto as varchar) + -- inner join + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=PATR_BF.CHIAVE_PROGETTO + WHERE + --ASUL.RETE = @Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') + and PATR_BF.NOME_PROGETTO like '%Direct Evo%' + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS , + asul.chiaveptfmod, + RISCHIO_AGGR_PROG.VAR_PERC_PTF as var_prog + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON ASUL.RETE= RISCHIO_AGGR_PROG.RETE + AND ASUL.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(ASUL.ID_AREA,3) + '|' + ASUL.NOME_PROGETTO + '|' + + cast (ASUL.ordinamento_progetto as varchar) + -- inner join + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=ASUL.CHIAVE_PROGETTO + WHERE + --ASUL.RETE =@Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA NOT IN ('Pre1','Pre2','Pre') + and asul.NOME_PROGETTO like '%Direct Evo%' + ) val + -- where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS , + val.chiaveptfmod, + val.var_prog + UNION ALL + /* nuovo */ + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS , + chiaveptfmod, + VAR_PROG + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS , + patr_bf.chiaveptfmod, + RISCHIO_AGGR_PROG.VAR_PERC_PTF as VAR_PROG + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + -- inner join + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATR_BF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATR_BF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATR_BF.ID_AREA,3) + '|' + PATR_BF.NOME_PROGETTO + '|' + + cast (Patr_BF.ordinamento_progetto as varchar) + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=PATR_BF.CHIAVE_PROGETTO + WHERE + PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + and PATR_BF.NOME_PROGETTO like '%Direct Evo%' + --AND PATR_BF.COD_FISCALE=@CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + , + chiaveptfmod + ,RISCHIO_AGGR_PROG.VAR_PERC_PTF + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATR_BF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATR_BF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATR_BF.ID_AREA,3) + '|' + PATR_BF.NOME_PROGETTO + '|' + + cast (Patr_BF.ordinamento_progetto as varchar) + --inner join + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=PATR_BF.CHIAVE_PROGETTO + WHERE + --ASUL.RETE = @Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + and PATR_BF.NOME_PROGETTO like '%Direct Evo%' + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS, + chiaveptfmod + ,RISCHIO_AGGR_PROG.VAR_PERC_PTF + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON ASUL.RETE= RISCHIO_AGGR_PROG.RETE + AND ASUL.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(ASUL.ID_AREA,3) + '|' + ASUL.NOME_PROGETTO + '|' + + cast (ASUL.ordinamento_progetto as varchar) + -- inner join + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=ASUL.CHIAVE_PROGETTO + WHERE + -- ASUL.RETE =@Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA IN ('Pre1','Pre2','Pre') + and asul.NOME_PROGETTO like '%Direct Evo%' + ) val + -- where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS, + val.chiaveptfmod, + val.var_prog + ) + VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS AS ASSETCLASS + ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +-- WHERE +-- VALORIASSET.RETE =@Rete +-- AND VALORIASSET.COD_FISCALE = @CodiceFiscale +) a +left join [c6StagingPeriodico].[RP_DistribuzionePtfModello_Tattici_AssetClass] ptf +on ptf.chiavePtfMod=a.chiaveptfmod and ptf.asset=a.AssetClassID +Group By rete,cod_fiscale,a.ORDINAMENTO, AssetClassId, AssetClassName, Totale ,a.chiaveptfmod,ptf.percentuale,var_prog + ORDER BY a.ORDINAMENTO + end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_FD200DistribuzioneAssetClass_PTFRibilanciato_OLD.sql b/sql/storedProduzione/C6MartPeriodico_Popola_FD200DistribuzioneAssetClass_PTFRibilanciato_OLD.sql new file mode 100644 index 00000000..4ec9409e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_FD200DistribuzioneAssetClass_PTFRibilanciato_OLD.sql @@ -0,0 +1,225 @@ +--[C6martPeriodico].[Popola_S148DistribuzioneAssetClass] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[Popola_FD200DistribuzioneAssetClass_PTFRibilanciato_OLD] + -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN +truncate table c6martperiodico.TB_FD200DistribuzioneAssetClass_PTFRibilanciato +INSERT INTO c6martperiodico.TB_FD200DistribuzioneAssetClass_PTFRibilanciato + select rete, + cod_fiscale, + CASE rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + a.ORDINAMENTO, + AssetClassId, + AssetClassName, + a.chiaveptfmod, + SUM(Controvalore) As Controvalore, + --SUM(CONTROVALORE) / Totale As Percentuale, + SUM(CONTROVALORE) / Totale * 100 As Percentuale, + Totale, + isnull(ptf.percentuale ,0.00) as Percentuale_Modello +FROM +( +SELECT rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, + --ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'Totale') * 100, 2) AS Percentuale, + cast(ROUND(SUM(Controvalore) OVER (PARTITION BY 'Totale',rete,cod_fiscale),2) as decimal(19,5)) AS Totale , + chiaveptfmod + FROM ( + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS , + chiaveptfmod + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS , + chiaveptfmod + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + -- inner join + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=PATR_BF.CHIAVE_PROGETTO + WHERE +--inizio interventi OMNIA +-- PATR_BF.ID_AREA NOT IN ('Cc','Pre1','Pre2','Pre') + PATR_BF.ID_AREA NOT IN ('SELF','Cc','Pre1','Pre2','Pre') +--fine interventi OMNIA + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + and PATR_BF.NOME_PROGETTO like '%Direct Evo%' + --AND PATR_BF.COD_FISCALE= @CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS , + patr_bf.chiaveptfmod + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + inner join + C6StagingPeriodico.RP_Progetto_Robo robo + on robo.chiaveProgetto=PATR_BF.CHIAVE_PROGETTO + WHERE + --ASUL.RETE = @Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS , + asul.chiaveptfmod + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + -- inner join + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=ASUL.CHIAVE_PROGETTO + WHERE + --ASUL.RETE =@Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA NOT IN ('Pre1','Pre2','Pre') + and asul.NOME_PROGETTO like '%Direct Evo%' + ) val + -- where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS , + val.chiaveptfmod + UNION ALL + /* nuovo */ + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS , + chiaveptfmod + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS , + patr_bf.chiaveptfmod + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + -- inner join + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=PATR_BF.CHIAVE_PROGETTO + WHERE + PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + and PATR_BF.NOME_PROGETTO like '%Direct Evo%' + --AND PATR_BF.COD_FISCALE=@CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + , + chiaveptfmod + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + --inner join + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=PATR_BF.CHIAVE_PROGETTO + WHERE + --ASUL.RETE = @Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + and PATR_BF.NOME_PROGETTO like '%Direct Evo%' + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS, + chiaveptfmod + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + -- inner join + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=ASUL.CHIAVE_PROGETTO + WHERE + -- ASUL.RETE =@Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA IN ('Pre1','Pre2','Pre') + and asul.NOME_PROGETTO like '%Direct Evo%' + ) val + -- where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS, + val.chiaveptfmod + ) + VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS AS ASSETCLASS + ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +-- WHERE +-- VALORIASSET.RETE =@Rete +-- AND VALORIASSET.COD_FISCALE = @CodiceFiscale +) a +left join [c6StagingPeriodico].[RP_DistribuzionePtfModello_Tattici_AssetClass] ptf +on ptf.chiavePtfMod=a.chiaveptfmod and ptf.asset=a.AssetClassID +Group By rete,cod_fiscale,a.ORDINAMENTO, AssetClassId, AssetClassName, Totale ,a.chiaveptfmod,ptf.percentuale + ORDER BY a.ORDINAMENTO + end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S10PatrimonioFinanziario.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S10PatrimonioFinanziario.sql new file mode 100644 index 00000000..5d848185 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S10PatrimonioFinanziario.sql @@ -0,0 +1,224 @@ +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= +-- [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN +truncate table C6MartPeriodico.TB_S10PatrimonioFinanziario +INSERT INTO C6MartPeriodico.TB_S10PatrimonioFinanziario +SELECT --top 1 + Rete, + cod_fiscale as CodiceFiscale, + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + A.Controvalore, + A.percentuale, + ROUND(SUM(A.Controvalore) OVER (PARTITION BY RETE,COD_FISCALE),2) + --cast(A.Controvalore as decimal(19,5)) AS Controvalore, + --cast(A.Percentuale as decimal(19,5)) AS Percentuale, + --cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + PATRBF.rete, + PATRBF.COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area not in ('CC', 'SELF') + -- AND PATRBF.RETE = @Rete + -- AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT + Asul.rete, + asul.cod_fiscale, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + -- WHERE + -- ASUL.RETE = @Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT Asul.rete, + asul.cod_fiscale, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + -- WHERE + -- ASUL.RETE = @Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] Script Date: 10/02/2022 16:40:28 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: <> +---- Create date: <> +---- Description: +---- ============================================= +---- [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] 'F','LRNRMR33D51C166I' +--ALTER procedure [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- --@Rete char(1), +-- --@CodiceFiscale varchar(16) +--AS +--BEGIN +--truncate table C6MartPeriodico.TB_S10PatrimonioFinanziario +--INSERT INTO C6MartPeriodico.TB_S10PatrimonioFinanziario +--SELECT --top 1 +-- Rete, +-- cod_fiscale as CodiceFiscale, +-- A.BANCA AS Banca, +-- A.ORDINAMENTO AS Ordinamento, +-- A.AssetClassId AS AssetClassId, +-- A.AssetClassName AS AssetClassName, +-- A.Controvalore, +-- A.percentuale, +-- ROUND(SUM(A.Controvalore) OVER (PARTITION BY RETE,COD_FISCALE),2) +-- --cast(A.Controvalore as decimal(19,5)) AS Controvalore, +-- --cast(A.Percentuale as decimal(19,5)) AS Percentuale, +-- --cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +--FROM +--( +-- SELECT DISTINCT +-- CASE Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Fideuram' +-- END AS Banca, +-- rete, +-- cod_fiscale, +-- ASSETCLASS.ORDINAMENTO, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale),2) as Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale) / +-- --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) = 0 +-- THEN 1 +-- ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) +-- END +-- ) * 100 AS Percentuale +-- FROM ( +-- SELECT +-- PATRBF.rete, +-- PATRBF.COD_FISCALE, +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- and patrbf.id_area not in ('CC', 'SELF') +-- -- AND PATRBF.RETE = @Rete +-- -- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- SELECT +-- Asul.rete, +-- asul.cod_fiscale, +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- -- WHERE +-- -- ASUL.RETE = @Rete +-- -- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- SELECT Asul.rete, +-- asul.cod_fiscale, +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- -- WHERE +-- -- ASUL.RETE = @Rete +-- -- AND ASUL.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MartPeriodico.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S10PatrimonioFinanziario_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S10PatrimonioFinanziario_pre_selective.sql new file mode 100644 index 00000000..fc872ccc --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S10PatrimonioFinanziario_pre_selective.sql @@ -0,0 +1,108 @@ +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= +-- [C6MartPeriodico].[Popola_S10PatrimonioFinanziario_pre_selective] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[Popola_S10PatrimonioFinanziario_pre_selective] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN +truncate table C6MartPeriodico.TB_S10PatrimonioFinanziario +INSERT INTO C6MartPeriodico.TB_S10PatrimonioFinanziario +SELECT --top 1 + Rete, + cod_fiscale as CodiceFiscale, + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + A.Controvalore, + A.percentuale, + ROUND(SUM(A.Controvalore) OVER (PARTITION BY RETE,COD_FISCALE),2) + --cast(A.Controvalore as decimal(19,5)) AS Controvalore, + --cast(A.Percentuale as decimal(19,5)) AS Percentuale, + --cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE Rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Fideuram' + END AS Banca, + rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + PATRBF.rete, + PATRBF.COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area not in ('CC', 'SELF') + -- AND PATRBF.RETE = @Rete + -- AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT + Asul.rete, + asul.cod_fiscale, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + -- WHERE + -- ASUL.RETE = @Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT Asul.rete, + asul.cod_fiscale, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + -- WHERE + -- ASUL.RETE = @Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S133_S157DatiPiramide.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S133_S157DatiPiramide.sql new file mode 100644 index 00000000..89d990f6 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S133_S157DatiPiramide.sql @@ -0,0 +1,291 @@ +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +CREATE procedure [C6MartPeriodico].[Popola_S133_S157DatiPiramide] +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT_TEMP + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + and PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + and PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF','INV') + --OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL) /* 20161202 nome_progetto sempre diverso da null */ + ) +/* 20161214 - aggiunto aggragazione percentuali per area */ + SELECT + RETE, + COD_FISCALE, + ID_AREA, + sum(PERC_AREA) as PERC_AREA, + CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + #PIRAMIDE_VERT_TEMP + group by rete,cod_fiscale, id_area, CONTROVALORE +truncate table c6martperiodico.TB_S133_S157DatiPiramide +insert into c6martperiodico.TB_S133_S157DatiPiramide + SELECT distinct /* 20161202 */ + ATTUALE.RETE, + ATTUALE.COD_FISCALE, + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + ISNULL(ATTUALE.CONTROVALORE,0) PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ISNULL(ATTUALE.PERC_AREA,0) ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ISNULL(ATTUALE.CONTROVALORE,0) DifferenzaEuro, + 0 differenzapercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + --WHEN AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + 0 somma_controvalAttuale, + 0 somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + RISCHIOTOTALE.VAR_PERC_PTF var_tot, + null var_totString, + RISCHIOTOTALE_PIR.VAR_PERC_PTF var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_tot_pirString, + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN|PIRAMIDE' --Per Aladdin è stato aggiunto il tag |PIRAMIDE + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' +------------------------------------------------------------------ +SELECT rete, cod_fiscale,sum(ATTUALE.CONTROVALORE) TotControvalore +into #temp +FROM #PIRAMIDE_VERT ATTUALE +WHERE ID_AREA not in ('Na', 'Cc','Self') +group by rete,cod_fiscale +update s157 +set s157.PercentualeAttuale =CASE + WHEN vert.TotControvalore = 0 THEN 0 + ELSE (100 * s157.PercentualeAttuale / ISNULL(vert.TotControvalore,1)) + END, +s157.ControvaloreModello=ROUND(ISNULL(s157.ControvaloreModello * vert.TotControvalore / 100 , 0),2) , +s157.DifferenzaEuro = ROUND(ISNULL(s157.DifferenzaEuro,0),2) - ROUND(ISNULL(s157.Totale_Percentuale * vert.TotControvalore / 100 , 0),2), +s157.DifferenzaPercentuale = CASE + WHEN vert.TotControvalore = 0 THEN - s157.Totale_Percentuale + ELSE ISNULL( (100 * ISNULL(s157.ControvaloreAttuale,0) / vert.TotControvalore - s157.Totale_Percentuale) , 0) + END , +s157.somma_controvalAttuale =vert.TotControvalore, +s157.somma_controvalModello=vert.TotControvalore +from c6martperiodico.TB_S133_S157DatiPiramide s157 +inner join #temp vert +on vert.rete = s157.rete and vert.cod_fiscale = s157.codicefiscale +select rete,cod_fiscale,'TOT' as Tipo,count(*) over ( partition by rete,cod_fiscale) TOT + into #TempContatori + FROM C6MARTPERIODICO.PATRIMONIO_BF +union +select rete,cod_fiscale,'TOTCCSELF',count(*) over ( partition by rete,cod_fiscale) TOTCCSELF + FROM C6MARTPERIODICO.PATRIMONIO_BF + where TIPO_PRODOTTO = 'CC' OR ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELF',count(*) over ( partition by rete,cod_fiscale) TOTSELF + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELFLIQ',count(*) over ( partition by rete,cod_fiscale) TOTSELFLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') AND ID_AREA = 'LIQ' +union +select rete,cod_fiscale,'TOTLIQ',count(*) over ( partition by rete,cod_fiscale) TOTLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ID_AREA = 'LIQ' + select + totale1.rete, + totale1.cod_fiscale, + ISNULL(totale1.TOT,0) as TOT, + ISNULL(totale2.TOT,0) as TOTCCSELF, + ISNULL(totale3.TOT,0) as TOTSELF, + ISNULL(totale4.TOT,0) as TOTSELFLIQ, + ISNULL(totale5.TOT,0) as TOTLIQ + into #Contatori + from + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOT') as totale1 + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTCCSELF') as totale2 + on totale1.rete=totale2.rete + and totale1.cod_fiscale=totale2.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELF') as totale3 + on totale1.rete=totale3.rete + and totale1.cod_fiscale=totale3.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELFLIQ') as totale4 + on totale1.rete=totale4.rete + and totale1.cod_fiscale=totale4.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTLIQ') as totale5 + on totale1.rete=totale5.rete + and totale1.cod_fiscale=totale5.cod_fiscale +update s157 +set +var_needareaString= CASE + WHEN TOTSELFLIQ = TOTLIQ and needarea = 'LIQ' THEN 'n.c.' + ELSE var_needareaString + END, +var_tot = CASE + WHEN TOTCCSELF = TOT THEN 0.00 + ELSE var_tot + END , +var_totString=CASE + WHEN (TOTCCSELF <> TOT) AND(copertura_tot IS NULL OR copertura_tot = 0) THEN 'n.c.' + WHEN (TOTSELF = TOT) THEN 'n.c.' + ELSE NULL + END , +var_tot_pir =CASE + WHEN TOTCCSELF = TOT THEN 0 + ELSE var_tot_pir +END , +var_tot_pirString=CASE + WHEN var_tot_pirString <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + WHEN TOTSELF = TOT THEN 'n.c.' + ELSE var_tot_pirString + END + ELSE var_tot_pirString + END , +VAR_RISFINSTRING=CASE + WHEN VAR_RISFINSTRING <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + ELSE VAR_RISFINSTRING + END + ELSE VAR_RISFINSTRING + END +from c6martperiodico.TB_S133_S157DatiPiramide s157 +inner join ( select * from #Contatori ) contatori +on contatori.rete = s157.rete and contatori.cod_fiscale = s157.codicefiscale +--and codicefiscale='00247580970' + Drop TABLE #temp + DROP TABLE #PIRAMIDE_VERT + drop table #Contatori + drop table #TempContatori +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161202.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161202.sql new file mode 100644 index 00000000..df849404 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161202.sql @@ -0,0 +1,279 @@ +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +CREATE procedure [C6MartPeriodico].[Popola_S133_S157DatiPiramide_20161202] +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + and PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + and PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) +truncate table c6martperiodico.TB_S133_S157DatiPiramide +insert into c6martperiodico.TB_S133_S157DatiPiramide + SELECT + ATTUALE.RETE, + ATTUALE.COD_FISCALE, + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + ISNULL(ATTUALE.CONTROVALORE,0) PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ISNULL(ATTUALE.PERC_AREA,0) ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ISNULL(ATTUALE.CONTROVALORE,0) DifferenzaEuro, + 0 differenzapercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + --WHEN AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + 0 somma_controvalAttuale, + 0 somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + RISCHIOTOTALE.VAR_PERC_PTF var_tot, + null var_totString, + RISCHIOTOTALE_PIR.VAR_PERC_PTF var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_tot_pirString, + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' +------------------------------------------------------------------ +SELECT rete, cod_fiscale,sum(ATTUALE.CONTROVALORE) TotControvalore +into #temp +FROM #PIRAMIDE_VERT ATTUALE +WHERE ID_AREA not in ('Na', 'Cc','Self') +group by rete,cod_fiscale +update s157 +set s157.PercentualeAttuale =CASE + WHEN vert.TotControvalore = 0 THEN 0 + ELSE (100 * s157.PercentualeAttuale / ISNULL(vert.TotControvalore,1)) + END, +s157.ControvaloreModello=ROUND(ISNULL(s157.ControvaloreModello * vert.TotControvalore / 100 , 0),2) , +s157.DifferenzaEuro = ROUND(ISNULL(s157.DifferenzaEuro,0),2) - ROUND(ISNULL(s157.Totale_Percentuale * vert.TotControvalore / 100 , 0),2), +s157.DifferenzaPercentuale = CASE + WHEN vert.TotControvalore = 0 THEN - s157.Totale_Percentuale + ELSE ISNULL( (100 * ISNULL(s157.ControvaloreAttuale,0) / vert.TotControvalore - s157.Totale_Percentuale) , 0) + END , +s157.somma_controvalAttuale =vert.TotControvalore, +s157.somma_controvalModello=vert.TotControvalore +from c6martperiodico.TB_S133_S157DatiPiramide s157 +inner join #temp vert +on vert.rete = s157.rete and vert.cod_fiscale = s157.codicefiscale +select rete,cod_fiscale,'TOT' as Tipo,count(*) over ( partition by rete,cod_fiscale) TOT + into #TempContatori + FROM C6MARTPERIODICO.PATRIMONIO_BF +union +select rete,cod_fiscale,'TOTCCSELF',count(*) over ( partition by rete,cod_fiscale) TOTCCSELF + FROM C6MARTPERIODICO.PATRIMONIO_BF + where TIPO_PRODOTTO = 'CC' OR ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELF',count(*) over ( partition by rete,cod_fiscale) TOTSELF + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELFLIQ',count(*) over ( partition by rete,cod_fiscale) TOTSELFLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') AND ID_AREA = 'LIQ' +union +select rete,cod_fiscale,'TOTLIQ',count(*) over ( partition by rete,cod_fiscale) TOTLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ID_AREA = 'LIQ' + select + totale1.rete, + totale1.cod_fiscale, + ISNULL(totale1.TOT,0) as TOT, + ISNULL(totale2.TOT,0) as TOTCCSELF, + ISNULL(totale3.TOT,0) as TOTSELF, + ISNULL(totale4.TOT,0) as TOTSELFLIQ, + ISNULL(totale5.TOT,0) as TOTLIQ + into #Contatori + from + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOT') as totale1 + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTCCSELF') as totale2 + on totale1.rete=totale2.rete + and totale1.cod_fiscale=totale2.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELF') as totale3 + on totale1.rete=totale3.rete + and totale1.cod_fiscale=totale3.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELFLIQ') as totale4 + on totale1.rete=totale4.rete + and totale1.cod_fiscale=totale4.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTLIQ') as totale5 + on totale1.rete=totale5.rete + and totale1.cod_fiscale=totale5.cod_fiscale +update s157 +set +var_needareaString= CASE + WHEN TOTSELFLIQ = TOTLIQ and needarea = 'LIQ' THEN 'n.c.' + ELSE var_needareaString + END, +var_tot = CASE + WHEN TOTCCSELF = TOT THEN 0.00 + ELSE var_tot + END , +var_totString=CASE + WHEN (TOTCCSELF <> TOT) AND(copertura_tot IS NULL OR copertura_tot = 0) THEN 'n.c.' + WHEN (TOTSELF = TOT) THEN 'n.c.' + ELSE NULL + END , +var_tot_pir =CASE + WHEN TOTCCSELF = TOT THEN 0 + ELSE var_tot_pir +END , +var_tot_pirString=CASE + WHEN var_tot_pirString <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + WHEN TOTSELF = TOT THEN 'n.c.' + ELSE var_tot_pirString + END + ELSE var_tot_pirString + END , +VAR_RISFINSTRING=CASE + WHEN VAR_RISFINSTRING <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + ELSE VAR_RISFINSTRING + END + ELSE VAR_RISFINSTRING + END +from c6martperiodico.TB_S133_S157DatiPiramide s157 +inner join ( select * from #Contatori ) contatori +on contatori.rete = s157.rete and contatori.cod_fiscale = s157.codicefiscale +--and codicefiscale='00247580970' + Drop TABLE #temp + DROP TABLE #PIRAMIDE_VERT + drop table #Contatori + drop table #TempContatori +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161214.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161214.sql new file mode 100644 index 00000000..3542126e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161214.sql @@ -0,0 +1,280 @@ +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +CREATE procedure [C6MartPeriodico].[Popola_S133_S157DatiPiramide_20161214] +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + and PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + and PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF') + --OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL) /* 20161202 nome_progetto sempre diverso da null */ + ) +truncate table c6martperiodico.TB_S133_S157DatiPiramide +insert into c6martperiodico.TB_S133_S157DatiPiramide + SELECT distinct /* 20161202 */ + ATTUALE.RETE, + ATTUALE.COD_FISCALE, + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + ISNULL(ATTUALE.CONTROVALORE,0) PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ISNULL(ATTUALE.PERC_AREA,0) ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ISNULL(ATTUALE.CONTROVALORE,0) DifferenzaEuro, + 0 differenzapercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + --WHEN AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + 0 somma_controvalAttuale, + 0 somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + RISCHIOTOTALE.VAR_PERC_PTF var_tot, + null var_totString, + RISCHIOTOTALE_PIR.VAR_PERC_PTF var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_tot_pirString, + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' +------------------------------------------------------------------ +SELECT rete, cod_fiscale,sum(ATTUALE.CONTROVALORE) TotControvalore +into #temp +FROM #PIRAMIDE_VERT ATTUALE +WHERE ID_AREA not in ('Na', 'Cc','Self') +group by rete,cod_fiscale +update s157 +set s157.PercentualeAttuale =CASE + WHEN vert.TotControvalore = 0 THEN 0 + ELSE (100 * s157.PercentualeAttuale / ISNULL(vert.TotControvalore,1)) + END, +s157.ControvaloreModello=ROUND(ISNULL(s157.ControvaloreModello * vert.TotControvalore / 100 , 0),2) , +s157.DifferenzaEuro = ROUND(ISNULL(s157.DifferenzaEuro,0),2) - ROUND(ISNULL(s157.Totale_Percentuale * vert.TotControvalore / 100 , 0),2), +s157.DifferenzaPercentuale = CASE + WHEN vert.TotControvalore = 0 THEN - s157.Totale_Percentuale + ELSE ISNULL( (100 * ISNULL(s157.ControvaloreAttuale,0) / vert.TotControvalore - s157.Totale_Percentuale) , 0) + END , +s157.somma_controvalAttuale =vert.TotControvalore, +s157.somma_controvalModello=vert.TotControvalore +from c6martperiodico.TB_S133_S157DatiPiramide s157 +inner join #temp vert +on vert.rete = s157.rete and vert.cod_fiscale = s157.codicefiscale +select rete,cod_fiscale,'TOT' as Tipo,count(*) over ( partition by rete,cod_fiscale) TOT + into #TempContatori + FROM C6MARTPERIODICO.PATRIMONIO_BF +union +select rete,cod_fiscale,'TOTCCSELF',count(*) over ( partition by rete,cod_fiscale) TOTCCSELF + FROM C6MARTPERIODICO.PATRIMONIO_BF + where TIPO_PRODOTTO = 'CC' OR ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELF',count(*) over ( partition by rete,cod_fiscale) TOTSELF + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELFLIQ',count(*) over ( partition by rete,cod_fiscale) TOTSELFLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') AND ID_AREA = 'LIQ' +union +select rete,cod_fiscale,'TOTLIQ',count(*) over ( partition by rete,cod_fiscale) TOTLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ID_AREA = 'LIQ' + select + totale1.rete, + totale1.cod_fiscale, + ISNULL(totale1.TOT,0) as TOT, + ISNULL(totale2.TOT,0) as TOTCCSELF, + ISNULL(totale3.TOT,0) as TOTSELF, + ISNULL(totale4.TOT,0) as TOTSELFLIQ, + ISNULL(totale5.TOT,0) as TOTLIQ + into #Contatori + from + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOT') as totale1 + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTCCSELF') as totale2 + on totale1.rete=totale2.rete + and totale1.cod_fiscale=totale2.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELF') as totale3 + on totale1.rete=totale3.rete + and totale1.cod_fiscale=totale3.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELFLIQ') as totale4 + on totale1.rete=totale4.rete + and totale1.cod_fiscale=totale4.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTLIQ') as totale5 + on totale1.rete=totale5.rete + and totale1.cod_fiscale=totale5.cod_fiscale +update s157 +set +var_needareaString= CASE + WHEN TOTSELFLIQ = TOTLIQ and needarea = 'LIQ' THEN 'n.c.' + ELSE var_needareaString + END, +var_tot = CASE + WHEN TOTCCSELF = TOT THEN 0.00 + ELSE var_tot + END , +var_totString=CASE + WHEN (TOTCCSELF <> TOT) AND(copertura_tot IS NULL OR copertura_tot = 0) THEN 'n.c.' + WHEN (TOTSELF = TOT) THEN 'n.c.' + ELSE NULL + END , +var_tot_pir =CASE + WHEN TOTCCSELF = TOT THEN 0 + ELSE var_tot_pir +END , +var_tot_pirString=CASE + WHEN var_tot_pirString <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + WHEN TOTSELF = TOT THEN 'n.c.' + ELSE var_tot_pirString + END + ELSE var_tot_pirString + END , +VAR_RISFINSTRING=CASE + WHEN VAR_RISFINSTRING <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + ELSE VAR_RISFINSTRING + END + ELSE VAR_RISFINSTRING + END +from c6martperiodico.TB_S133_S157DatiPiramide s157 +inner join ( select * from #Contatori ) contatori +on contatori.rete = s157.rete and contatori.cod_fiscale = s157.codicefiscale +--and codicefiscale='00247580970' + Drop TABLE #temp + DROP TABLE #PIRAMIDE_VERT + drop table #Contatori + drop table #TempContatori +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S133_S157DatiPiramide_20170113_ORIG.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S133_S157DatiPiramide_20170113_ORIG.sql new file mode 100644 index 00000000..f62b193f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S133_S157DatiPiramide_20170113_ORIG.sql @@ -0,0 +1,291 @@ +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +CREATE PROCEDURE [C6MartPeriodico].[Popola_S133_S157DatiPiramide_20170113_ORIG] +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT_TEMP + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + and PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + and PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF','INV') + --OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL) /* 20161202 nome_progetto sempre diverso da null */ + ) +/* 20161214 - aggiunto aggragazione percentuali per area */ + SELECT + RETE, + COD_FISCALE, + ID_AREA, + sum(PERC_AREA) as PERC_AREA, + CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + #PIRAMIDE_VERT_TEMP + group by rete,cod_fiscale, id_area, CONTROVALORE +truncate table c6martperiodico.TB_S133_S157DatiPiramide +insert into c6martperiodico.TB_S133_S157DatiPiramide + SELECT distinct /* 20161202 */ + ATTUALE.RETE, + ATTUALE.COD_FISCALE, + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + ISNULL(ATTUALE.CONTROVALORE,0) PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ISNULL(ATTUALE.PERC_AREA,0) ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ISNULL(ATTUALE.CONTROVALORE,0) DifferenzaEuro, + 0 differenzapercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + --WHEN AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + 0 somma_controvalAttuale, + 0 somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + RISCHIOTOTALE.VAR_PERC_PTF var_tot, + null var_totString, + RISCHIOTOTALE_PIR.VAR_PERC_PTF var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_tot_pirString, + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' +------------------------------------------------------------------ +SELECT rete, cod_fiscale,sum(ATTUALE.CONTROVALORE) TotControvalore +into #temp +FROM #PIRAMIDE_VERT ATTUALE +WHERE ID_AREA not in ('Na', 'Cc','Self') +group by rete,cod_fiscale +update s157 +set s157.PercentualeAttuale =CASE + WHEN vert.TotControvalore = 0 THEN 0 + ELSE (100 * s157.PercentualeAttuale / ISNULL(vert.TotControvalore,1)) + END, +s157.ControvaloreModello=ROUND(ISNULL(s157.ControvaloreModello * vert.TotControvalore / 100 , 0),2) , +s157.DifferenzaEuro = ROUND(ISNULL(s157.DifferenzaEuro,0),2) - ROUND(ISNULL(s157.Totale_Percentuale * vert.TotControvalore / 100 , 0),2), +s157.DifferenzaPercentuale = CASE + WHEN vert.TotControvalore = 0 THEN - s157.Totale_Percentuale + ELSE ISNULL( (100 * ISNULL(s157.ControvaloreAttuale,0) / vert.TotControvalore - s157.Totale_Percentuale) , 0) + END , +s157.somma_controvalAttuale =vert.TotControvalore, +s157.somma_controvalModello=vert.TotControvalore +from c6martperiodico.TB_S133_S157DatiPiramide s157 +inner join #temp vert +on vert.rete = s157.rete and vert.cod_fiscale = s157.codicefiscale +select rete,cod_fiscale,'TOT' as Tipo,count(*) over ( partition by rete,cod_fiscale) TOT + into #TempContatori + FROM C6MARTPERIODICO.PATRIMONIO_BF +union +select rete,cod_fiscale,'TOTCCSELF',count(*) over ( partition by rete,cod_fiscale) TOTCCSELF + FROM C6MARTPERIODICO.PATRIMONIO_BF + where TIPO_PRODOTTO = 'CC' OR ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELF',count(*) over ( partition by rete,cod_fiscale) TOTSELF + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELFLIQ',count(*) over ( partition by rete,cod_fiscale) TOTSELFLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') AND ID_AREA = 'LIQ' +union +select rete,cod_fiscale,'TOTLIQ',count(*) over ( partition by rete,cod_fiscale) TOTLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ID_AREA = 'LIQ' + select + totale1.rete, + totale1.cod_fiscale, + ISNULL(totale1.TOT,0) as TOT, + ISNULL(totale2.TOT,0) as TOTCCSELF, + ISNULL(totale3.TOT,0) as TOTSELF, + ISNULL(totale4.TOT,0) as TOTSELFLIQ, + ISNULL(totale5.TOT,0) as TOTLIQ + into #Contatori + from + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOT') as totale1 + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTCCSELF') as totale2 + on totale1.rete=totale2.rete + and totale1.cod_fiscale=totale2.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELF') as totale3 + on totale1.rete=totale3.rete + and totale1.cod_fiscale=totale3.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELFLIQ') as totale4 + on totale1.rete=totale4.rete + and totale1.cod_fiscale=totale4.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTLIQ') as totale5 + on totale1.rete=totale5.rete + and totale1.cod_fiscale=totale5.cod_fiscale +update s157 +set +var_needareaString= CASE + WHEN TOTSELFLIQ = TOTLIQ and needarea = 'LIQ' THEN 'n.c.' + ELSE var_needareaString + END, +var_tot = CASE + WHEN TOTCCSELF = TOT THEN 0.00 + ELSE var_tot + END , +var_totString=CASE + WHEN (TOTCCSELF <> TOT) AND(copertura_tot IS NULL OR copertura_tot = 0) THEN 'n.c.' + WHEN (TOTSELF = TOT) THEN 'n.c.' + ELSE NULL + END , +var_tot_pir =CASE + WHEN TOTCCSELF = TOT THEN 0 + ELSE var_tot_pir +END , +var_tot_pirString=CASE + WHEN var_tot_pirString <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + WHEN TOTSELF = TOT THEN 'n.c.' + ELSE var_tot_pirString + END + ELSE var_tot_pirString + END , +VAR_RISFINSTRING=CASE + WHEN VAR_RISFINSTRING <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + ELSE VAR_RISFINSTRING + END + ELSE VAR_RISFINSTRING + END +from c6martperiodico.TB_S133_S157DatiPiramide s157 +inner join ( select * from #Contatori ) contatori +on contatori.rete = s157.rete and contatori.cod_fiscale = s157.codicefiscale +--and codicefiscale='00247580970' + Drop TABLE #temp + DROP TABLE #PIRAMIDE_VERT + drop table #Contatori + drop table #TempContatori +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S133_S157DatiPiramide_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S133_S157DatiPiramide_pre_selective.sql new file mode 100644 index 00000000..7c1d3e0f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S133_S157DatiPiramide_pre_selective.sql @@ -0,0 +1,291 @@ +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +CREATE procedure [C6MartPeriodico].[Popola_S133_S157DatiPiramide_pre_selective] +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT_TEMP + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + and PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + and PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF','INV') + --OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL) /* 20161202 nome_progetto sempre diverso da null */ + ) +/* 20161214 - aggiunto aggragazione percentuali per area */ + SELECT + RETE, + COD_FISCALE, + ID_AREA, + sum(PERC_AREA) as PERC_AREA, + CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + #PIRAMIDE_VERT_TEMP + group by rete,cod_fiscale, id_area, CONTROVALORE +truncate table c6martperiodico.TB_S133_S157DatiPiramide +insert into c6martperiodico.TB_S133_S157DatiPiramide + SELECT distinct /* 20161202 */ + ATTUALE.RETE, + ATTUALE.COD_FISCALE, + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + ISNULL(ATTUALE.CONTROVALORE,0) PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ISNULL(ATTUALE.PERC_AREA,0) ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ISNULL(ATTUALE.CONTROVALORE,0) DifferenzaEuro, + 0 differenzapercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + --WHEN AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + 0 somma_controvalAttuale, + 0 somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + RISCHIOTOTALE.VAR_PERC_PTF var_tot, + null var_totString, + RISCHIOTOTALE_PIR.VAR_PERC_PTF var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_tot_pirString, + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' +------------------------------------------------------------------ +SELECT rete, cod_fiscale,sum(ATTUALE.CONTROVALORE) TotControvalore +into #temp +FROM #PIRAMIDE_VERT ATTUALE +WHERE ID_AREA not in ('Na', 'Cc','Self') +group by rete,cod_fiscale +update s157 +set s157.PercentualeAttuale =CASE + WHEN vert.TotControvalore = 0 THEN 0 + ELSE (100 * s157.PercentualeAttuale / ISNULL(vert.TotControvalore,1)) + END, +s157.ControvaloreModello=ROUND(ISNULL(s157.ControvaloreModello * vert.TotControvalore / 100 , 0),2) , +s157.DifferenzaEuro = ROUND(ISNULL(s157.DifferenzaEuro,0),2) - ROUND(ISNULL(s157.Totale_Percentuale * vert.TotControvalore / 100 , 0),2), +s157.DifferenzaPercentuale = CASE + WHEN vert.TotControvalore = 0 THEN - s157.Totale_Percentuale + ELSE ISNULL( (100 * ISNULL(s157.ControvaloreAttuale,0) / vert.TotControvalore - s157.Totale_Percentuale) , 0) + END , +s157.somma_controvalAttuale =vert.TotControvalore, +s157.somma_controvalModello=vert.TotControvalore +from c6martperiodico.TB_S133_S157DatiPiramide s157 +inner join #temp vert +on vert.rete = s157.rete and vert.cod_fiscale = s157.codicefiscale +select rete,cod_fiscale,'TOT' as Tipo,count(*) over ( partition by rete,cod_fiscale) TOT + into #TempContatori + FROM C6MARTPERIODICO.PATRIMONIO_BF +union +select rete,cod_fiscale,'TOTCCSELF',count(*) over ( partition by rete,cod_fiscale) TOTCCSELF + FROM C6MARTPERIODICO.PATRIMONIO_BF + where TIPO_PRODOTTO = 'CC' OR ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELF',count(*) over ( partition by rete,cod_fiscale) TOTSELF + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELFLIQ',count(*) over ( partition by rete,cod_fiscale) TOTSELFLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') AND ID_AREA = 'LIQ' +union +select rete,cod_fiscale,'TOTLIQ',count(*) over ( partition by rete,cod_fiscale) TOTLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ID_AREA = 'LIQ' + select + totale1.rete, + totale1.cod_fiscale, + ISNULL(totale1.TOT,0) as TOT, + ISNULL(totale2.TOT,0) as TOTCCSELF, + ISNULL(totale3.TOT,0) as TOTSELF, + ISNULL(totale4.TOT,0) as TOTSELFLIQ, + ISNULL(totale5.TOT,0) as TOTLIQ + into #Contatori + from + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOT') as totale1 + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTCCSELF') as totale2 + on totale1.rete=totale2.rete + and totale1.cod_fiscale=totale2.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELF') as totale3 + on totale1.rete=totale3.rete + and totale1.cod_fiscale=totale3.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELFLIQ') as totale4 + on totale1.rete=totale4.rete + and totale1.cod_fiscale=totale4.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTLIQ') as totale5 + on totale1.rete=totale5.rete + and totale1.cod_fiscale=totale5.cod_fiscale +update s157 +set +var_needareaString= CASE + WHEN TOTSELFLIQ = TOTLIQ and needarea = 'LIQ' THEN 'n.c.' + ELSE var_needareaString + END, +var_tot = CASE + WHEN TOTCCSELF = TOT THEN 0.00 + ELSE var_tot + END , +var_totString=CASE + WHEN (TOTCCSELF <> TOT) AND(copertura_tot IS NULL OR copertura_tot = 0) THEN 'n.c.' + WHEN (TOTSELF = TOT) THEN 'n.c.' + ELSE NULL + END , +var_tot_pir =CASE + WHEN TOTCCSELF = TOT THEN 0 + ELSE var_tot_pir +END , +var_tot_pirString=CASE + WHEN var_tot_pirString <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + WHEN TOTSELF = TOT THEN 'n.c.' + ELSE var_tot_pirString + END + ELSE var_tot_pirString + END , +VAR_RISFINSTRING=CASE + WHEN VAR_RISFINSTRING <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + ELSE VAR_RISFINSTRING + END + ELSE VAR_RISFINSTRING + END +from c6martperiodico.TB_S133_S157DatiPiramide s157 +inner join ( select * from #Contatori ) contatori +on contatori.rete = s157.rete and contatori.cod_fiscale = s157.codicefiscale +--and codicefiscale='00247580970' + Drop TABLE #temp + DROP TABLE #PIRAMIDE_VERT + drop table #Contatori + drop table #TempContatori +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S148DistribuzioneAssetClass.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S148DistribuzioneAssetClass.sql new file mode 100644 index 00000000..d0cbe5b5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S148DistribuzioneAssetClass.sql @@ -0,0 +1,388 @@ +--[C6martPeriodico].[Popola_S148DistribuzioneAssetClass] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[Popola_S148DistribuzioneAssetClass] + -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN +truncate table c6martperiodico.TB_S148DistribuzioneAssetClass +INSERT INTO c6martperiodico.TB_S148DistribuzioneAssetClass +--SELECT @Rete as Rete, @CodiceFiscale as CodiceFiscale, +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Banca Fideuram' +-- END AS Banca, + select rete, + cod_fiscale, + CASE rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ORDINAMENTO, + AssetClassId, + AssetClassName, + SUM(Controvalore) As Controvalore, + --SUM(CONTROVALORE) / Totale As Percentuale, + SUM(CONTROVALORE) / Totale * 100 As Percentuale, + Totale +FROM +( +SELECT rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, + --ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'Totale') * 100, 2) AS Percentuale, + cast(ROUND(SUM(Controvalore) OVER (PARTITION BY 'Totale',rete,cod_fiscale),2) as decimal(19,5)) AS Totale + FROM ( + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE +--inizio interventi OMNIA +-- PATR_BF.ID_AREA NOT IN ('Cc','Pre1','Pre2','Pre') + PATR_BF.ID_AREA NOT IN ('SELF','Cc','Pre1','Pre2','Pre') +--fine interventi OMNIA + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + --AND PATR_BF.COD_FISCALE= @CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + --ASUL.RETE = @Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + WHERE + --ASUL.RETE =@Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA NOT IN ('Pre1','Pre2','Pre') + ) val + where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS + UNION ALL + /* nuovo */ + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE + PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + --AND PATR_BF.COD_FISCALE=@CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + --ASUL.RETE = @Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + WHERE + -- ASUL.RETE =@Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA IN ('Pre1','Pre2','Pre') + ) val + where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS + ) + VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS AS ASSETCLASS + ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +-- WHERE +-- VALORIASSET.RETE =@Rete +-- AND VALORIASSET.COD_FISCALE = @CodiceFiscale +) a +Group By rete,cod_fiscale,ORDINAMENTO, AssetClassId, AssetClassName, Totale + ORDER BY ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[Popola_S148DistribuzioneAssetClass] Script Date: 10/02/2022 16:42:22 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +----[C6martPeriodico].[Popola_S148DistribuzioneAssetClass] 'F','LRNRMR33D51C166I' +--ALTER procedure [C6MartPeriodico].[Popola_S148DistribuzioneAssetClass] +-- -- Add the parameters for the stored procedure here +---- @Rete char(1), +---- @CodiceFiscale varchar(16) +--AS +--BEGIN +--truncate table c6martperiodico.TB_S148DistribuzioneAssetClass +--INSERT INTO c6martperiodico.TB_S148DistribuzioneAssetClass +----SELECT @Rete as Rete, @CodiceFiscale as CodiceFiscale, +---- CASE @Rete +---- WHEN 'S' THEN 'Sanpaolo Invest' +---- ELSE 'Banca Fideuram' +---- END AS Banca, +-- select rete, +-- cod_fiscale, +-- CASE rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Fideuram' +-- END AS Banca, +-- ORDINAMENTO, +-- AssetClassId, +-- AssetClassName, +-- SUM(Controvalore) As Controvalore, +-- --SUM(CONTROVALORE) / Totale As Percentuale, +-- SUM(CONTROVALORE) / Totale * 100 As Percentuale, +-- Totale +--FROM +--( +--SELECT rete, +-- cod_fiscale, +-- ASSETCLASS.ORDINAMENTO, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, +-- --ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'Totale') * 100, 2) AS Percentuale, +-- cast(ROUND(SUM(Controvalore) OVER (PARTITION BY 'Totale',rete,cod_fiscale),2) as decimal(19,5)) AS Totale +-- FROM ( +-- SELECT +-- VAL.RETE, +-- VAL.COD_FISCALE, +-- SUM(CONTROVALORE) AS CONTROVALORE, +-- ID_ASSETCLASS +-- FROM +-- (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare +-- SELECT +-- PATR_BF.RETE, +-- PATR_BF.COD_FISCALE, +-- (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, +-- ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS +-- FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF +-- INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC +-- ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- WHERE +----inizio interventi OMNIA +---- PATR_BF.ID_AREA NOT IN ('Cc','Pre1','Pre2','Pre') +-- PATR_BF.ID_AREA NOT IN ('SELF','Cc','Pre1','Pre2','Pre') +----fine interventi OMNIA +-- AND ASSETPERC.LIVELLO = 2 +-- --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') +-- AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') +-- --AND PATR_BF.COD_FISCALE= @CodiceFiscale +-- -- AND PATR_BF.RETE= @Rete +---- +-- UNION ALL +-- ---DETTAGLIO ASUL SENZA GLI SKANDIA +-- SELECT PATR_BF.RETE, +-- PATR_BF.COD_FISCALE, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore, +-- ASSETPERC.ID_ASSETCLASS +-- FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 2 +-- INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF +-- ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE +-- AND ASUL.RETE=PATR_BF.RETE +-- AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO +-- WHERE +-- --ASUL.RETE = @Rete +-- --AND ASUL.COD_FISCALE = @CodiceFiscale +-- PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') +-- UNION ALL +-- --DETTAGLIO ASUL SKANDIA +-- SELECT ASUL.RETE, +-- ASUL.COD_FISCALE, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore, +-- ASSETPERC.ID_ASSETCLASS +-- FROM C6MartPeriodico.PATRIMONIO_BF ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) +-- AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) +-- AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 2 +-- WHERE +-- --ASUL.RETE =@Rete +-- --AND ASUL.COD_FISCALE = @CodiceFiscale +-- --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 +-- ASUL.tipo_Prodotto = 'ASU2' +-- AND ASUL.ID_AREA NOT IN ('Pre1','Pre2','Pre') +-- ) val +-- where Controvalore >0 +-- GROUP BY +-- VAL.RETE, +-- val.COD_FISCALE, +-- VAL.ID_ASSETCLASS +-- UNION ALL +-- /* nuovo */ +-- SELECT +-- VAL.RETE, +-- VAL.COD_FISCALE, +-- SUM(CONTROVALORE) AS CONTROVALORE, +-- ID_ASSETCLASS +-- FROM +-- (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare +-- SELECT +-- PATR_BF.RETE, +-- PATR_BF.COD_FISCALE, +-- (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, +-- ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS +-- FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF +-- INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC +-- ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- WHERE +-- PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') +-- AND ASSETPERC.LIVELLO = 2 +-- --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') +-- AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') +-- --AND PATR_BF.COD_FISCALE=@CodiceFiscale +-- -- AND PATR_BF.RETE= @Rete +---- +-- UNION ALL +-- ---DETTAGLIO ASUL SENZA GLI SKANDIA +-- SELECT PATR_BF.RETE, +-- PATR_BF.COD_FISCALE, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore, +-- ASSETPERC.ID_ASSETCLASS +-- FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 2 +-- INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF +-- ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE +-- AND ASUL.RETE=PATR_BF.RETE +-- AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO +-- WHERE +-- --ASUL.RETE = @Rete +-- --AND ASUL.COD_FISCALE = @CodiceFiscale +-- PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') +-- UNION ALL +-- --DETTAGLIO ASUL SKANDIA +-- SELECT ASUL.RETE, +-- ASUL.COD_FISCALE, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore, +-- ASSETPERC.ID_ASSETCLASS +-- FROM C6MartPeriodico.PATRIMONIO_BF ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) +-- AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) +-- AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 2 +-- WHERE +-- -- ASUL.RETE =@Rete +-- -- AND ASUL.COD_FISCALE = @CodiceFiscale +-- --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 +-- ASUL.tipo_Prodotto = 'ASU2' +-- AND ASUL.ID_AREA IN ('Pre1','Pre2','Pre') +-- ) val +-- where Controvalore >0 +-- GROUP BY +-- VAL.RETE, +-- val.COD_FISCALE, +-- VAL.ID_ASSETCLASS +-- ) +-- VALORIASSET +-- INNER JOIN C6MartPeriodico.ASSETCLASS AS ASSETCLASS +-- ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +---- WHERE +---- VALORIASSET.RETE =@Rete +---- AND VALORIASSET.COD_FISCALE = @CodiceFiscale +--) a +--Group By rete,cod_fiscale,ORDINAMENTO, AssetClassId, AssetClassName, Totale +-- ORDER BY ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S148DistribuzioneAssetClass_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S148DistribuzioneAssetClass_pre_selective.sql new file mode 100644 index 00000000..5d6ff663 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S148DistribuzioneAssetClass_pre_selective.sql @@ -0,0 +1,190 @@ +--[C6martPeriodico].[Popola_S148DistribuzioneAssetClass_pre_selective] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[Popola_S148DistribuzioneAssetClass_pre_selective] + -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN +truncate table c6martperiodico.TB_S148DistribuzioneAssetClass +INSERT INTO c6martperiodico.TB_S148DistribuzioneAssetClass +--SELECT @Rete as Rete, @CodiceFiscale as CodiceFiscale, +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Banca Fideuram' +-- END AS Banca, + select rete, + cod_fiscale, + CASE rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Fideuram' + END AS Banca, + ORDINAMENTO, + AssetClassId, + AssetClassName, + SUM(Controvalore) As Controvalore, + --SUM(CONTROVALORE) / Totale As Percentuale, + SUM(CONTROVALORE) / Totale * 100 As Percentuale, + Totale +FROM +( +SELECT rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, + --ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'Totale') * 100, 2) AS Percentuale, + cast(ROUND(SUM(Controvalore) OVER (PARTITION BY 'Totale',rete,cod_fiscale),2) as decimal(19,5)) AS Totale + FROM ( + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE +--inizio interventi OMNIA +-- PATR_BF.ID_AREA NOT IN ('Cc','Pre1','Pre2','Pre') + PATR_BF.ID_AREA NOT IN ('SELF','Cc','Pre1','Pre2','Pre') +--fine interventi OMNIA + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + --AND PATR_BF.COD_FISCALE= @CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + --ASUL.RETE = @Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + WHERE + --ASUL.RETE =@Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA NOT IN ('Pre1','Pre2','Pre') + ) val + where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS + UNION ALL + /* nuovo */ + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE + PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + --AND PATR_BF.COD_FISCALE=@CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + --ASUL.RETE = @Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + WHERE + -- ASUL.RETE =@Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA IN ('Pre1','Pre2','Pre') + ) val + where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS + ) + VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS AS ASSETCLASS + ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +-- WHERE +-- VALORIASSET.RETE =@Rete +-- AND VALORIASSET.COD_FISCALE = @CodiceFiscale +) a +Group By rete,cod_fiscale,ORDINAMENTO, AssetClassId, AssetClassName, Totale + ORDER BY ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta.sql new file mode 100644 index 00000000..4e5cddce --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta.sql @@ -0,0 +1,52 @@ +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[Popola_S179EmittentiConcentrazioneAlta] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +--print @DataFineTrim +truncate table C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta +INSERT INTO C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta +SELECT + ce.[RETE] + , + case + when(isnull(ltrim(rtrim(ce.codman)),'') <> '') + then 'FF@'+ce.codman + when (isnull(ce.codfis,'') <> '') + then ce.codfis + else + ce.codfis + end as Codfis + ,1 as Ordine + ,[DESCEMI] as Emittente + ,ce.totctv as ctv + ,1 as flagAdeguatezza + ,ce.SOGLIACTV_CONC as Franchigia + ,ce.conc as percConcentrazione + ,ce.rating as Rating + ,ce.limite_conc as SogliaConcenrazione +FROM [C6StagingPeriodico].[WSEICE2] ce +inner join [C6MartPeriodico].[WSEIAN2] an + on ce.rete = an.rete and + ce.codfis= an.codfis + -- 26/6/2018 - Certificazione campione - Segnalazione Napolitano - Creazione riga duplicata nella tabella emittenti a concentrazione alta + and an.dttrim = ce.dttrim + -- 26/6/2018 - Fine +left join C6MartPeriodico.wseirpf rpf + on ce.RETE=RPF.Rete and + ce.CODFIS=RPF.CODFIS + WHERE 1=1 + -- and ce.DTTRIM = @DataFineTrim + and an.concemi = 'N' --estraggo solo quelli che non sono adeguati per concentrazione emittenti sulla wseian + and ce.flgconc = '0' -- e solo gli emittenti non adeguati (perché sulla wseice arrivano tutti gli emittenti, adeguati e non) prima era N + and ISNULL( RPF.FLGPROF,'A')<>'P' + --select * from C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_20180626.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_20180626.sql new file mode 100644 index 00000000..ff407f20 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_20180626.sql @@ -0,0 +1,57 @@ +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[Popola_S179EmittentiConcentrazioneAlta_20180626] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +truncate table C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta +INSERT INTO C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta +SELECT + ce.[RETE] + , + case + when(isnull(ltrim(rtrim(ce.codman)),'') <> '') + then 'FF@'+ce.codman + when (isnull(ce.codfis,'') <> '') + then ce.codfis + else + ce.codfis + end as Codfis + ,1 as Ordine + ,[DESCEMI] + , + case + when upper(asset) = 'O' then [TOTCTV] + else 0 + end as ObbligazioniControvalore + , + case + when upper(asset) = 'O' then [CONC] + else 0 + end as ObbligazioniConcentrazione + , + case + when upper(asset) = 'A' then [TOTCTV] + else 0 + end as AzioniControvalore + , + case + when upper(asset) = 'A' then [CONC] + else 0 + end as AzioniConcentrazione +FROM [C6StagingPeriodico].[WSEICE] ce +inner join [C6StagingPeriodico].[WSEIAN] an + on ce.rete = an.rete and + ce.codfis= an.codfis + WHERE 1=1 + and ce.DTTRIM = @DataFineTrim + and an.concemi = 'N' --estraggo solo quelli che non sono adeguati per concentrazione emittenti sulla wseian + and ce.flgconc = 'N' -- e solo gli emittenti non adeguati (perché sulla wseice arrivano tutti gli emittenti, adeguati e non) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_BKP_20231115_PRE_RAFFORZAMENTO.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_BKP_20231115_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..d5379e7c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_BKP_20231115_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,48 @@ +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[Popola_S179EmittentiConcentrazioneAlta_BKP_20231115] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +--print @DataFineTrim +truncate table C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta +INSERT INTO C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta +SELECT + ce.[RETE] + , + case + when(isnull(ltrim(rtrim(ce.codman)),'') <> '') + then 'FF@'+ce.codman + when (isnull(ce.codfis,'') <> '') + then ce.codfis + else + ce.codfis + end as Codfis + ,1 as Ordine + ,[DESCEMI] as Emittente + ,ce.totctv as ctv + ,1 as flagAdeguatezza + ,ce.SOGLIACTV_CONC as Franchigia + ,ce.conc as percConcentrazione + ,ce.rating as Rating + ,ce.limite_conc as SogliaConcenrazione +FROM [C6StagingPeriodico].[WSEICE2] ce +inner join [C6MartPeriodico].[WSEIAN2] an + on ce.rete = an.rete and + ce.codfis= an.codfis + -- 26/6/2018 - Certificazione campione - Segnalazione Napolitano - Creazione riga duplicata nella tabella emittenti a concentrazione alta + and an.dttrim = ce.dttrim + -- 26/6/2018 - Fine + WHERE 1=1 + -- and ce.DTTRIM = @DataFineTrim + and an.concemi = 'N' --estraggo solo quelli che non sono adeguati per concentrazione emittenti sulla wseian + and ce.flgconc = '0' -- e solo gli emittenti non adeguati (perché sulla wseice arrivano tutti gli emittenti, adeguati e non) prima era N + --select * from C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S25Anagrafica.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S25Anagrafica.sql new file mode 100644 index 00000000..4e799009 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S25Anagrafica.sql @@ -0,0 +1,102 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S25Anagrafica] 'F', 'CSCGPP34A03L050L' +CREATE procedure [C6MartPeriodico].[Popola_S25Anagrafica] +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN +truncate table c6martperiodico.TB_S25Anagrafica + insert into c6martperiodico.TB_S25Anagrafica + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + --V Indirizzo Secondo AULETTA + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') + ' ' else '' end + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') + ' ' else '' end + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_SOTT) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + CONTRATTOSEI.FASCIA_CPP AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + --ANAG_CLIENTI.CAP AS CAP, + -- CONTRATTOSEI.[CAP] AS CAP, + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' + then isnull(CONTRATTOSEI.CAP,'') + else '' + end as CAP, + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + --CONTRATTOSEI.[Prov] AS Provincia, + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' + then isnull(CONTRATTOSEI.[Prov],'') + else CONTRATTOSEI.[NAZIONE] + end as Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + CONTRATTOSEI.[Presso] AS PRESSO + FROM + [C6MartPeriodico].CONTRATTOSEI -- TABELLA BASE + INNER JOIN + C6MARTPERIODICO.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MARTPERIODICO.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + LEFT JOIN + C6MARTPERIODICO.ANAG_CLIENTI_PREV + ON + ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + LEFT JOIN + C6MARTPERIODICO.DATI_REPORT + ON + ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + --WHERE 1 = 1 + -- AND ANAG_CLIENTI.RETE = @RETE + -- AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S25Anagrafica_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S25Anagrafica_pre_selective.sql new file mode 100644 index 00000000..2ca8ff01 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S25Anagrafica_pre_selective.sql @@ -0,0 +1,102 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S25Anagrafica] 'F', 'CSCGPP34A03L050L' +CREATE procedure [C6MartPeriodico].[Popola_S25Anagrafica_pre_selective] +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN +truncate table c6martperiodico.TB_S25Anagrafica + insert into c6martperiodico.TB_S25Anagrafica + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + --V Indirizzo Secondo AULETTA + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') + ' ' else '' end + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') + ' ' else '' end + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_SOTT) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + CONTRATTOSEI.FASCIA_CPP AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + --ANAG_CLIENTI.CAP AS CAP, + -- CONTRATTOSEI.[CAP] AS CAP, + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' + then isnull(CONTRATTOSEI.CAP,'') + else '' + end as CAP, + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + --CONTRATTOSEI.[Prov] AS Provincia, + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' + then isnull(CONTRATTOSEI.[Prov],'') + else CONTRATTOSEI.[NAZIONE] + end as Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + CONTRATTOSEI.[Presso] AS PRESSO + FROM + [C6MartPeriodico].CONTRATTOSEI -- TABELLA BASE + INNER JOIN + C6MARTPERIODICO.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MARTPERIODICO.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + LEFT JOIN + C6MARTPERIODICO.ANAG_CLIENTI_PREV + ON + ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + LEFT JOIN + C6MARTPERIODICO.DATI_REPORT + ON + ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + --WHERE 1 = 1 + -- AND ANAG_CLIENTI.RETE = @RETE + -- AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S80BisEvoluzioneRischio.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S80BisEvoluzioneRischio.sql new file mode 100644 index 00000000..6c465d25 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S80BisEvoluzioneRischio.sql @@ -0,0 +1,191 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80BisEvoluzioneRischio]'F','02392500605S' +CREATE procedure [C6MartPeriodico].[Popola_S80BisEvoluzioneRischio] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @DataCongelamento DATETIME + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + select @DataCongelamento +truncate table c6martperiodico.tb_S80BisEvoluzioneRischio +insert into c6martperiodico.tb_S80BisEvoluzioneRischio + SELECT + ini.rete, + ini.COD_FISCALE, + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO + ELSE ROUND(INI.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + INI.VAR_COPERTURA AS Copertura, + INI.RISKCLASS, + INI.RISKCLASSMAX, + case + when INI.RISKCLASS is null then 'n.d.' + when INI.RISKCLASS = 0 then 'n.a.' + else null + end as RiskClassString, + case + when INI.RISKCLASSMAX is null then 'n.d.' + when INI.RISKCLASSMAX = 0 then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + LEFT OUTER join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + UNION ALL + -- Precedente invio report + SELECT + rep.RETE , + rep.COD_FISCALE , + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN rep.VAR_COMPLESSIVO IS NULL THEN rep.VAR_COMPLESSIVO + ELSE ROUND(rep.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + rep.VAR_COPERTURA AS Copertura, + rep.RISKCLASS, + rep.RISKCLASSMAX, + case when rep.RISKCLASS is null then 'n.a.' + else null + end as RiskClassString, + case when rep.RISKCLASSMAX is null then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + -- modifica del 24/7/2017 per gestire le situazioni limite dell'avvio monitoraggio a cavallo tra 2 trim (vedi segnalazione + -- del qc su cf F/TRRLDA52D04G190A) + --INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + CONVERT(varchar,ini.data_foto,112) <= convert(varchar,ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)),112) + -- fine modifica del 24/7/2017 + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + SELECT + BF.RETE , + BF.COD_FISCALE, + 3 fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + --CASE + -- WHEN (@contaPOS - @contaCC = 0 ) THEN 100 + -- ELSE isnull(RA.COPERTURA,0) + --END AS Copertura, + isnull(RA.COPERTURA,0) as copertura, +-- TRINGALI MODIFICARE + ra.creditrisk as RISKCLASS, + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' + else null end as RiskClassString, + case when mifid.riskclass is null then 'n.a.' + else null end as RiskClassMaxString + FROM + C6MartPeriodico.vPatrimonioBFAggregato AS BF + INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON BF.RETE = MIFID.RETE + AND BF.COD_FISCALE = MIFID.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = BF.RETE + AND RA.COD_FISCALE = BF.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' +-- Aggiornamento Copertura +update s80 + set copertura = ( CASE + WHEN (nocc - CC = 0 ) THEN 100 + ELSE copertura + END ) + from c6martperiodico.tb_S80BisEvoluzioneRischio s80 + inner join ( + select rete,cod_fiscale + ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc + ,sum ( case when tipo_prodotto <>'CC' then tot else 0 end ) as nocc + from + ( select rete,cod_fiscale,tipo_prodotto,count(*) tot + from c6martperiodico.patrimonio_Bf + --where cod_fiscale = @codiceFiscale and rete = @rete + group by rete,cod_fiscale,tipo_prodotto + ) as gr + group by rete,cod_fiscale + ) as tabCount + on tabcount.rete= s80.rete and tabcount.cod_fiscale=s80.codicefiscale +-- Aggiornamento + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #ini + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + group by RETE,COD_FISCALE + having count(*) = 0 + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #att + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + group by RETE,COD_FISCALE + having count(*) = 0 + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #ris + FROM C6MARTPERIODICO.RISCHIO_AGGREGATO + group by RETE,COD_FISCALE + having count(*) = 0 + delete s80 + from c6martperiodico.tb_S80BisEvoluzioneRischio s80 + inner join ( + select distinct + case when #ini.rete is null + then + case when #att.rete is null + then #ris.rete + else #att.rete + end + else #ini.rete + end rete, + case when #ini.cod_fiscale is null + then + case when #att.cod_fiscale is null + then #ris.cod_fiscale + else #att.cod_fiscale + end + else #ini.cod_fiscale + end codicefiscale + from #ini + right JOIN #att on #ini.rete = #att.rete and #att.cod_fiscale=#ini.cod_fiscale + right JOIN #ris on #ini.rete = #ris.rete and #ris.cod_fiscale=#ini.cod_fiscale + ) cont + on cont.rete=s80.rete and cont.codicefiscale=s80.codicefiscale + --aggiunta insert into pez 20240628 poi da togliere + -- insert into[C6MartPeriodico].[TB_S80BisEvoluzioneRischio] + --select * from [C6MartPeriodico].[TB_S80BisEvoluzioneRischio_pez] +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20170724_preCR_fasi1e2.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20170724_preCR_fasi1e2.sql new file mode 100644 index 00000000..c18489a6 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20170724_preCR_fasi1e2.sql @@ -0,0 +1,183 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80BisEvoluzioneRischio]'F','02392500605S' +CREATE procedure [C6MartPeriodico].[Popola_S80BisEvoluzioneRischio_20170724_preCR_fasi1e2] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @DataCongelamento DATETIME + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() +truncate table c6martperiodico.tb_S80BisEvoluzioneRischio +insert into c6martperiodico.tb_S80BisEvoluzioneRischio + SELECT + ini.rete, + ini.COD_FISCALE, + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO + ELSE ROUND(INI.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + INI.VAR_COPERTURA AS Copertura, + INI.RISKCLASS, + INI.RISKCLASSMAX, + case + when INI.RISKCLASS is null then 'n.d.' + when INI.RISKCLASS = 0 then 'n.a.' + else null + end as RiskClassString, + case + when INI.RISKCLASSMAX is null then 'n.d.' + when INI.RISKCLASSMAX = 0 then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + LEFT OUTER join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + UNION ALL + -- Precedente invio report + SELECT + rep.RETE , + rep.COD_FISCALE , + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN rep.VAR_COMPLESSIVO IS NULL THEN rep.VAR_COMPLESSIVO + ELSE ROUND(rep.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + rep.VAR_COPERTURA AS Copertura, + rep.RISKCLASS, + rep.RISKCLASSMAX, + case when rep.RISKCLASS is null then 'n.a.' + else null + end as RiskClassString, + case when rep.RISKCLASSMAX is null then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + SELECT + BF.RETE , + BF.COD_FISCALE, + 3 fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + --CASE + -- WHEN (@contaPOS - @contaCC = 0 ) THEN 100 + -- ELSE isnull(RA.COPERTURA,0) + --END AS Copertura, + isnull(RA.COPERTURA,0) as copertura, +-- TRINGALI MODIFICARE + ra.creditrisk as RISKCLASS, + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' + else null end as RiskClassString, + case when mifid.riskclass is null then 'n.a.' + else null end as RiskClassMaxString + FROM + C6MartPeriodico.vPatrimonioBFAggregato AS BF + INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON BF.RETE = MIFID.RETE + AND BF.COD_FISCALE = MIFID.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = BF.RETE + AND RA.COD_FISCALE = BF.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' +-- Aggiornamento Copertura +update s80 + set copertura = ( CASE + WHEN (nocc - CC = 0 ) THEN 100 + ELSE copertura + END ) + from c6martperiodico.tb_S80BisEvoluzioneRischio s80 + inner join ( + select rete,cod_fiscale + ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc + ,sum ( case when tipo_prodotto <>'CC' then tot else 0 end ) as nocc + from + ( select rete,cod_fiscale,tipo_prodotto,count(*) tot + from c6martperiodico.patrimonio_Bf + --where cod_fiscale = @codiceFiscale and rete = @rete + group by rete,cod_fiscale,tipo_prodotto + ) as gr + group by rete,cod_fiscale + ) as tabCount + on tabcount.rete= s80.rete and tabcount.cod_fiscale=s80.codicefiscale +-- Aggiornamento + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #ini + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + group by RETE,COD_FISCALE + having count(*) = 0 + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #att + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + group by RETE,COD_FISCALE + having count(*) = 0 + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #ris + FROM C6MARTPERIODICO.RISCHIO_AGGREGATO + group by RETE,COD_FISCALE + having count(*) = 0 + delete s80 + from c6martperiodico.tb_S80BisEvoluzioneRischio s80 + inner join ( + select distinct + case when #ini.rete is null + then + case when #att.rete is null + then #ris.rete + else #att.rete + end + else #ini.rete + end rete, + case when #ini.cod_fiscale is null + then + case when #att.cod_fiscale is null + then #ris.cod_fiscale + else #att.cod_fiscale + end + else #ini.cod_fiscale + end codicefiscale + from #ini + right JOIN #att on #ini.rete = #att.rete and #att.cod_fiscale=#ini.cod_fiscale + right JOIN #ris on #ini.rete = #ris.rete and #ris.cod_fiscale=#ini.cod_fiscale + ) cont + on cont.rete=s80.rete and cont.codicefiscale=s80.codicefiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20171222.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20171222.sql new file mode 100644 index 00000000..785ff9ec --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20171222.sql @@ -0,0 +1,187 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80BisEvoluzioneRischio]'F','02392500605S' +CREATE procedure [C6MartPeriodico].[Popola_S80BisEvoluzioneRischio_20171222] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @DataCongelamento DATETIME + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() +truncate table c6martperiodico.tb_S80BisEvoluzioneRischio +insert into c6martperiodico.tb_S80BisEvoluzioneRischio + SELECT + ini.rete, + ini.COD_FISCALE, + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO + ELSE ROUND(INI.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + INI.VAR_COPERTURA AS Copertura, + INI.RISKCLASS, + INI.RISKCLASSMAX, + case + when INI.RISKCLASS is null then 'n.d.' + when INI.RISKCLASS = 0 then 'n.a.' + else null + end as RiskClassString, + case + when INI.RISKCLASSMAX is null then 'n.d.' + when INI.RISKCLASSMAX = 0 then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + LEFT OUTER join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + UNION ALL + -- Precedente invio report + SELECT + rep.RETE , + rep.COD_FISCALE , + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN rep.VAR_COMPLESSIVO IS NULL THEN rep.VAR_COMPLESSIVO + ELSE ROUND(rep.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + rep.VAR_COPERTURA AS Copertura, + rep.RISKCLASS, + rep.RISKCLASSMAX, + case when rep.RISKCLASS is null then 'n.a.' + else null + end as RiskClassString, + case when rep.RISKCLASSMAX is null then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + -- modifica del 24/7/2017 per gestire le situazioni limite dell'avvio monitoraggio a cavallo tra 2 trim (vedi segnalazione + -- del qc su cf F/TRRLDA52D04G190A) + --INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + CONVERT(varchar,ini.data_foto,112) <= convert(varchar,ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)),112) + -- fine modifica del 24/7/2017 + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + SELECT + BF.RETE , + BF.COD_FISCALE, + 3 fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + --CASE + -- WHEN (@contaPOS - @contaCC = 0 ) THEN 100 + -- ELSE isnull(RA.COPERTURA,0) + --END AS Copertura, + isnull(RA.COPERTURA,0) as copertura, +-- TRINGALI MODIFICARE + ra.creditrisk as RISKCLASS, + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' + else null end as RiskClassString, + case when mifid.riskclass is null then 'n.a.' + else null end as RiskClassMaxString + FROM + C6MartPeriodico.vPatrimonioBFAggregato AS BF + INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON BF.RETE = MIFID.RETE + AND BF.COD_FISCALE = MIFID.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = BF.RETE + AND RA.COD_FISCALE = BF.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' +-- Aggiornamento Copertura +update s80 + set copertura = ( CASE + WHEN (nocc - CC = 0 ) THEN 100 + ELSE copertura + END ) + from c6martperiodico.tb_S80BisEvoluzioneRischio s80 + inner join ( + select rete,cod_fiscale + ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc + ,sum ( case when tipo_prodotto <>'CC' then tot else 0 end ) as nocc + from + ( select rete,cod_fiscale,tipo_prodotto,count(*) tot + from c6martperiodico.patrimonio_Bf + --where cod_fiscale = @codiceFiscale and rete = @rete + group by rete,cod_fiscale,tipo_prodotto + ) as gr + group by rete,cod_fiscale + ) as tabCount + on tabcount.rete= s80.rete and tabcount.cod_fiscale=s80.codicefiscale +-- Aggiornamento + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #ini + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + group by RETE,COD_FISCALE + having count(*) = 0 + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #att + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + group by RETE,COD_FISCALE + having count(*) = 0 + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #ris + FROM C6MARTPERIODICO.RISCHIO_AGGREGATO + group by RETE,COD_FISCALE + having count(*) = 0 + delete s80 + from c6martperiodico.tb_S80BisEvoluzioneRischio s80 + inner join ( + select distinct + case when #ini.rete is null + then + case when #att.rete is null + then #ris.rete + else #att.rete + end + else #ini.rete + end rete, + case when #ini.cod_fiscale is null + then + case when #att.cod_fiscale is null + then #ris.cod_fiscale + else #att.cod_fiscale + end + else #ini.cod_fiscale + end codicefiscale + from #ini + right JOIN #att on #ini.rete = #att.rete and #att.cod_fiscale=#ini.cod_fiscale + right JOIN #ris on #ini.rete = #ris.rete and #ris.cod_fiscale=#ini.cod_fiscale + ) cont + on cont.rete=s80.rete and cont.codicefiscale=s80.codicefiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_BKP_20231116_PRE_RAFFORZAMENTO.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_BKP_20231116_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..438eac8e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_BKP_20231116_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,188 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80BisEvoluzioneRischio]'F','02392500605S' +CREATE procedure [C6MartPeriodico].[Popola_S80BisEvoluzioneRischio_BKP_20231116_PRE_RAFFORZAMENTO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @DataCongelamento DATETIME + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + select @DataCongelamento +truncate table c6martperiodico.tb_S80BisEvoluzioneRischio +insert into c6martperiodico.tb_S80BisEvoluzioneRischio + SELECT + ini.rete, + ini.COD_FISCALE, + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO + ELSE ROUND(INI.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + INI.VAR_COPERTURA AS Copertura, + INI.RISKCLASS, + INI.RISKCLASSMAX, + case + when INI.RISKCLASS is null then 'n.d.' + when INI.RISKCLASS = 0 then 'n.a.' + else null + end as RiskClassString, + case + when INI.RISKCLASSMAX is null then 'n.d.' + when INI.RISKCLASSMAX = 0 then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + LEFT OUTER join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + UNION ALL + -- Precedente invio report + SELECT + rep.RETE , + rep.COD_FISCALE , + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN rep.VAR_COMPLESSIVO IS NULL THEN rep.VAR_COMPLESSIVO + ELSE ROUND(rep.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + rep.VAR_COPERTURA AS Copertura, + rep.RISKCLASS, + rep.RISKCLASSMAX, + case when rep.RISKCLASS is null then 'n.a.' + else null + end as RiskClassString, + case when rep.RISKCLASSMAX is null then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + -- modifica del 24/7/2017 per gestire le situazioni limite dell'avvio monitoraggio a cavallo tra 2 trim (vedi segnalazione + -- del qc su cf F/TRRLDA52D04G190A) + --INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + CONVERT(varchar,ini.data_foto,112) <= convert(varchar,ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)),112) + -- fine modifica del 24/7/2017 + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + SELECT + BF.RETE , + BF.COD_FISCALE, + 3 fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + --CASE + -- WHEN (@contaPOS - @contaCC = 0 ) THEN 100 + -- ELSE isnull(RA.COPERTURA,0) + --END AS Copertura, + isnull(RA.COPERTURA,0) as copertura, +-- TRINGALI MODIFICARE + ra.creditrisk as RISKCLASS, + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' + else null end as RiskClassString, + case when mifid.riskclass is null then 'n.a.' + else null end as RiskClassMaxString + FROM + C6MartPeriodico.vPatrimonioBFAggregato AS BF + INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON BF.RETE = MIFID.RETE + AND BF.COD_FISCALE = MIFID.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = BF.RETE + AND RA.COD_FISCALE = BF.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' +-- Aggiornamento Copertura +update s80 + set copertura = ( CASE + WHEN (nocc - CC = 0 ) THEN 100 + ELSE copertura + END ) + from c6martperiodico.tb_S80BisEvoluzioneRischio s80 + inner join ( + select rete,cod_fiscale + ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc + ,sum ( case when tipo_prodotto <>'CC' then tot else 0 end ) as nocc + from + ( select rete,cod_fiscale,tipo_prodotto,count(*) tot + from c6martperiodico.patrimonio_Bf + --where cod_fiscale = @codiceFiscale and rete = @rete + group by rete,cod_fiscale,tipo_prodotto + ) as gr + group by rete,cod_fiscale + ) as tabCount + on tabcount.rete= s80.rete and tabcount.cod_fiscale=s80.codicefiscale +-- Aggiornamento + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #ini + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + group by RETE,COD_FISCALE + having count(*) = 0 + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #att + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + group by RETE,COD_FISCALE + having count(*) = 0 + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #ris + FROM C6MARTPERIODICO.RISCHIO_AGGREGATO + group by RETE,COD_FISCALE + having count(*) = 0 + delete s80 + from c6martperiodico.tb_S80BisEvoluzioneRischio s80 + inner join ( + select distinct + case when #ini.rete is null + then + case when #att.rete is null + then #ris.rete + else #att.rete + end + else #ini.rete + end rete, + case when #ini.cod_fiscale is null + then + case when #att.cod_fiscale is null + then #ris.cod_fiscale + else #att.cod_fiscale + end + else #ini.cod_fiscale + end codicefiscale + from #ini + right JOIN #att on #ini.rete = #att.rete and #att.cod_fiscale=#ini.cod_fiscale + right JOIN #ris on #ini.rete = #ris.rete and #ris.cod_fiscale=#ini.cod_fiscale + ) cont + on cont.rete=s80.rete and cont.codicefiscale=s80.codicefiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_pre_selective.sql new file mode 100644 index 00000000..442f317f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_pre_selective.sql @@ -0,0 +1,183 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80BisEvoluzioneRischio]'F','02392500605S' +CREATE procedure [C6MartPeriodico].[Popola_S80BisEvoluzioneRischio_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @DataCongelamento DATETIME + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() +truncate table c6martperiodico.tb_S80BisEvoluzioneRischio +insert into c6martperiodico.tb_S80BisEvoluzioneRischio + SELECT + ini.rete, + ini.COD_FISCALE, + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO + ELSE ROUND(INI.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + INI.VAR_COPERTURA AS Copertura, + INI.RISKCLASS, + INI.RISKCLASSMAX, + case + when INI.RISKCLASS is null then 'n.d.' + when INI.RISKCLASS = 0 then 'n.a.' + else null + end as RiskClassString, + case + when INI.RISKCLASSMAX is null then 'n.d.' + when INI.RISKCLASSMAX = 0 then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + LEFT OUTER join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + UNION ALL + -- Precedente invio report + SELECT + rep.RETE , + rep.COD_FISCALE , + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN rep.VAR_COMPLESSIVO IS NULL THEN rep.VAR_COMPLESSIVO + ELSE ROUND(rep.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + rep.VAR_COPERTURA AS Copertura, + rep.RISKCLASS, + rep.RISKCLASSMAX, + case when rep.RISKCLASS is null then 'n.a.' + else null + end as RiskClassString, + case when rep.RISKCLASSMAX is null then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + SELECT + BF.RETE , + BF.COD_FISCALE, + 3 fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + --CASE + -- WHEN (@contaPOS - @contaCC = 0 ) THEN 100 + -- ELSE isnull(RA.COPERTURA,0) + --END AS Copertura, + isnull(RA.COPERTURA,0) as copertura, +-- TRINGALI MODIFICARE + ra.creditrisk as RISKCLASS, + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' + else null end as RiskClassString, + case when mifid.riskclass is null then 'n.a.' + else null end as RiskClassMaxString + FROM + C6MartPeriodico.vPatrimonioBFAggregato AS BF + INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON BF.RETE = MIFID.RETE + AND BF.COD_FISCALE = MIFID.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = BF.RETE + AND RA.COD_FISCALE = BF.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' +-- Aggiornamento Copertura +update s80 + set copertura = ( CASE + WHEN (nocc - CC = 0 ) THEN 100 + ELSE copertura + END ) + from c6martperiodico.tb_S80BisEvoluzioneRischio s80 + inner join ( + select rete,cod_fiscale + ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc + ,sum ( case when tipo_prodotto <>'CC' then tot else 0 end ) as nocc + from + ( select rete,cod_fiscale,tipo_prodotto,count(*) tot + from c6martperiodico.patrimonio_Bf + --where cod_fiscale = @codiceFiscale and rete = @rete + group by rete,cod_fiscale,tipo_prodotto + ) as gr + group by rete,cod_fiscale + ) as tabCount + on tabcount.rete= s80.rete and tabcount.cod_fiscale=s80.codicefiscale +-- Aggiornamento + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #ini + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + group by RETE,COD_FISCALE + having count(*) = 0 + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #att + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + group by RETE,COD_FISCALE + having count(*) = 0 + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #ris + FROM C6MARTPERIODICO.RISCHIO_AGGREGATO + group by RETE,COD_FISCALE + having count(*) = 0 + delete s80 + from c6martperiodico.tb_S80BisEvoluzioneRischio s80 + inner join ( + select distinct + case when #ini.rete is null + then + case when #att.rete is null + then #ris.rete + else #att.rete + end + else #ini.rete + end rete, + case when #ini.cod_fiscale is null + then + case when #att.cod_fiscale is null + then #ris.cod_fiscale + else #att.cod_fiscale + end + else #ini.cod_fiscale + end codicefiscale + from #ini + right JOIN #att on #ini.rete = #att.rete and #att.cod_fiscale=#ini.cod_fiscale + right JOIN #ris on #ini.rete = #ris.rete and #ris.cod_fiscale=#ini.cod_fiscale + ) cont + on cont.rete=s80.rete and cont.codicefiscale=s80.codicefiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio.sql new file mode 100644 index 00000000..aa40d363 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio.sql @@ -0,0 +1,316 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio]'F','GSTGPL59P03B586G' +CREATE procedure [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @DataCongelamento DATETIME + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + -- -- Inserimento Dati Scirocco + -- SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + --FROM C6MartPeriodico.DettaglioMovimenti + --WHERE + -- RETE = @Rete + --AND + -- COD_FIS = @CodiceFiscale + --IF @DettMovPrec is null + -- SET @AppoDettMovPrec = 'n.d.' + --ELSE + -- SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + --IF @DettMovCorr is null + -- SET @AppoDettMovCorr = 'n.d.' + --ELSE + -- SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + ----query per asterischi situazione precedente + --IF EXISTS(SELECT * FROM [C6StagingPeriodico].[WSEICS] + -- WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + -- AND RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + --IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + -- WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + ------------------------------------------- + ----query per asterischi situazione corrente + --IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + -- WHERE COD_INTERNO IN ('37', 'GP') + -- AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + -- SET @NumAsterischiCorr = 1 + ------------------------------------------- + --SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale + --SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale +truncate table C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + -- Attivazione monitoraggio + insert into C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + SELECT + INI.RETE, + INI.Cod_Fiscale, + 1 AS Fase, + isnull(INI.DATA_FOTO,0) AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + isnull(INI.CTV_EXT,0) as CTV_EXT, + isnull(INI.CTV_INV,0) as CTV_INV, + isnull(INI.CTV_PRE,0) as CTV_PRE, + isnull(INI.CTV_RIS,0) as CTV_RIS, + isnull(INI.CTV_LIQ,0) as CTV_LIQ, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) AS RisorseAllocate, + isnull(INI.CTV_NA,0) AS RisorseNonAllocate, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) AS RisorseFinanziarie, + isnull(INI.CTV_CC,0) AS Contocorrente, +--INIZIO INTERVENTI OMNIA + isnull(INI.CTVSELF,0) AS ctvself, + -- 20181206 MIOFOGLIO + --isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) + isnull(INI.CTV_CC,0) + isnull(INI.CTVSELF,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) + isnull(INI.CTV_CC,0) + isnull(INI.CTVSELF,0) + isnull(INI.CTVSELFFOGLIO,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + -- fine 20181206 MIOFOGLIO +--FINE INTERVENTI OMNIA + ,null as DettMovS80 + ,null as DettMovS129 + ,0 as NumeroAsterischiNota + ,0 as sommaproventi + -- 20181206 MIOFOGLIO + ,isnull(INI.CTVSELFFOGLIO,0) AS CTVSelfFoglio + -- fine 20181206 MIOFOGLIO + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + -- modifica per segnalazione qc (Diacci) su cf ‘BRBRRT58P21I633Q/S’ in simulazione Dicembre 2017 + -- modifica del 24/7/2017 per gestire le situazioni limite dell'avvio monitoraggio a cavallo tra 2 trim (vedi segnalazione + -- del qc su cf F/TRRLDA52D04G190A) + ----INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,'2999-12-31') + --CONVERT(varchar,ini.data_foto,112) <= convert(varchar,ISNULL(rep.DATA_INVIO,'2999-12-31'),112) + -- fine modifica del 24/7/2017 + ISNULL(ini.data_foto,cast('29991231' as datetime)) < @datacongelamento + -- fine modifica per segnalazione qc (Diacci) su cf ‘BRBRRT58P21I633Q/S’ in simulazione Dicembre 2017 + -- INI.RETE = @Rete AND + -- INI.COD_FISCALE = @CodiceFiscale + UNION ALL + -- Precedente invio report + SELECT + INI.RETE, + INI.Cod_Fiscale, + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + rep.CTV_EXT, + rep.CTV_INV, + rep.CTV_PRE, + rep.CTV_RIS, + rep.CTV_LIQ, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ AS RisorseAllocate, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA AS RisorseFinanziarie, + rep.CTV_CC AS Contocorrente, + --Contocorrente = CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END, +--INIZIO INTERVENTI OMNIA + isnull(rep.CTV_SELF,0) AS CTV_SELF, + -- 20181206 MIOFOGLIO + --rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.CTV_SELF,0) + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.CTV_SELF,0) + ISNULL(rep.CTV_SELF_FOGLIO,0) + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + -- fine 20181206 MIOFOGLIO +--FINE INTERVENTI OMNIA +--ToDo Fc +-- ,(CASE WHEN @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovPrec END) as DettMov +-- ,(CASE WHEN @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiPrec END) as NumeroAsterischiNota + ,null as DettMovS80 + ,null as DettMovS129 + ,0 as NumeroAsterischiNota + ,0 as sommaproventi + -- 20181206 MIOFOGLIO + ,isnull(rep.CTV_SELF_FOGLIO,0) AS CTV_SELF_FOGLIO + -- fine 20181206 MIOFOGLIO + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + -- modifica del 24/7/2017 per gestire le situazioni limite dell'avvio monitoraggio a cavallo tra 2 trim (vedi segnalazione + -- del qc su cf F/TRRLDA52D04G190A) + --INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + CONVERT(varchar,ini.data_foto,112) <= convert(varchar,ISNULL(rep.DATA_INVIO,'2999-12-31'),112) + -- fine modifica del 24/7/2017 + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + --All values will be read from DB and passed to code, no value will be calculated on code + SELECT + rete, + cod_fiscale, + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + --Get the sum Operazioni in corso + --sum((isnull(IMPORTO,0))) as Partita_viaggiante, + 0 as Partita_viaggiante, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) as CTV_EXT, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) as CTV_INV, + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) as CTV_PRE, + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end ) as CTV_PRE, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) as CTV_RIS, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) as CTV_LIQ, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS CTV_RA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as CTV_NA, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS CTV_RF, + --CTV_CC = (Case WHEN sum(case Upper(id_area) when 'CC' then ctv else 0 end ) < 0 THEN sum(case Upper(id_area) when 'CC' then ctv else 0 end) ELSE 0 END), + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS CTV_CC, + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS CTV_CC, +--INIZIO INTERVENTI OMNIA + -- 20181206 MIOFOGLIO + sum(case when upper(id_area) = 'SELF' and cod_interno = 'XY' then ctv else 0 end) as CTV_SELF, + --sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS CTV_SELF, + -- fine 20181206 MIOFOGLIO +--FINE INTERVENTI OMNIA + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end )+ + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) + +--INIZIO INTERVENTI OMNIA + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --ToDo Fc + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiCorr END) as NumeroAsterischiNota + ,null as DettMovS80 + ,null as DettMovS129 + ,0 NumeroAsterischiNota + ,0 as sommaproventi + -- 20181206 MIOFOGLIO + ,sum(case when upper(id_area) = 'SELF' and cod_interno = 'FO' then ctv else 0 end) as CTV_SELF_FOGLIO + -- fine 20181206 MIOFOGLIO + FROM + C6MartPeriodico.PATRIMONIO_BF + group by rete,cod_fiscale +select count(*) from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio +update s80 +set DettMovS80 = case when dettmov.DETT_MOV_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_PREC as varchar(50)), '.', ',') +end , +DettMovS129 = case when dettmov.DETT_MOV_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_PREC as varchar(50)), '.', ',') +end +from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80 +inner join C6MartPeriodico.DettaglioMovimenti DettMov +on s80.rete = dettmov.rete and dettmov.COD_FIS = s80.COD_FIScale +where s80.fase=2 +update s80 +set DettMovS80 = case when dettmov.DETT_MOV_CORR is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_CORR as varchar(50)), '.', ',') +end , +DettMovS129 = case when dettmov.DETT_MOV_TRIMESTRE_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_TRIMESTRE_PREC as varchar(50)), '.', ',') +end +from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80 +inner join C6MartPeriodico.DettaglioMovimenti DettMov +on s80.rete = dettmov.rete and dettmov.COD_FIS = s80.COD_FIScale +where s80.fase=3 +--update S129 +--set DettMovS129 = case when dettmov.DETT_MOV_TRIMESTRE_PREC is null +-- then 'n.d.' +-- else REPLACE(CAST(dettmov.DETT_MOV_TRIMESTRE_PREC as varchar(50)), '.', ',') +--end +--from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio S129 +--inner join C6MartPeriodico.DettaglioMovimenti DettMov +--on S129.rete = dettmov.rete and dettmov.COD_FIS = S129.COD_FIScale +--where S129.fase=3 +declare @TimecPRec varchar(8) +set @TimecPRec = c6martperiodico.getprevioustrimestre(getdate(),0) +--forzatura +--update C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio +--set dettmovS80='189050.93' +--where Cod_Fiscale='BNBLPL51M05F965Y' +--and fase=2 +--update C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio +--set dettmovS80='-15081.46' +--where Cod_Fiscale='BNBLPL51M05F965Y' +--and fase=3 +--fine forzatura +update s80x +set NumeroAsterischiNota = +case +when ws.CODFIS is null + then 0 +else 1 +end +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80x +left join [C6StagingPeriodico].[WSEICS] ws +on s80x.rete = ws.rete and ws.CODFIS = s80x.COD_FIScale +WHERE CODPROD IN ('37', 'GP') AND DTTRIM = @TimecPRec AND s80x.fase = 2 +update s80x +set NumeroAsterischiNota = +case +when ws.COD_FISCALE is null + then 0 +else 1 +end +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80x +left join C6MartPeriodico.PATRIMONIO_BF ws +on s80x.rete = ws.rete and ws.COD_FISCALE = s80x.COD_FIScale +WHERE COD_INTERNO IN ('37', 'GP') AND s80x.fase = 3 +--SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + -- WHERE COD_INTERNO IN ('37', 'GP') + -- AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale +SELECT rete,Cod_Fiscale,sum(IMPORTO) sommaProventi +into #SommaProventi +FROM [C6MartPeriodico].proventi +--where rete='F' and Cod_Fiscale='DLLLCU62T60G408A' +group by rete,Cod_Fiscale +update s80x +set s80x.sommaproventi = sp.sommaproventi +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80x +left join #SommaProventi sp +on s80x.rete = sp.rete and sp.Cod_Fiscale = s80x.COD_FIScale + --aggiunta insert into pez 20240628 poi da togliere + insert into C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + select * from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_pez +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20170724_preCR_fasi1e2.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20170724_preCR_fasi1e2.sql new file mode 100644 index 00000000..65fa8a91 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20170724_preCR_fasi1e2.sql @@ -0,0 +1,275 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio]'F','GSTGPL59P03B586G' +CREATE procedure [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio_20170724_preCR_fasi1e2] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @DataCongelamento DATETIME + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + -- -- Inserimento Dati Scirocco + -- SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + --FROM C6MartPeriodico.DettaglioMovimenti + --WHERE + -- RETE = @Rete + --AND + -- COD_FIS = @CodiceFiscale + --IF @DettMovPrec is null + -- SET @AppoDettMovPrec = 'n.d.' + --ELSE + -- SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + --IF @DettMovCorr is null + -- SET @AppoDettMovCorr = 'n.d.' + --ELSE + -- SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + ----query per asterischi situazione precedente + --IF EXISTS(SELECT * FROM [C6StagingPeriodico].[WSEICS] + -- WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + -- AND RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + --IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + -- WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + ------------------------------------------- + ----query per asterischi situazione corrente + --IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + -- WHERE COD_INTERNO IN ('37', 'GP') + -- AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + -- SET @NumAsterischiCorr = 1 + ------------------------------------------- + --SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale + --SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale +truncate table C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + -- Attivazione monitoraggio + insert into C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + SELECT + INI.RETE, + INI.Cod_Fiscale, + 1 AS Fase, + isnull(INI.DATA_FOTO,0) AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + isnull(INI.CTV_EXT,0) as CTV_EXT, + isnull(INI.CTV_INV,0) as CTV_INV, + isnull(INI.CTV_PRE,0) as CTV_PRE, + isnull(INI.CTV_RIS,0) as CTV_RIS, + isnull(INI.CTV_LIQ,0) as CTV_LIQ, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) AS RisorseAllocate, + isnull(INI.CTV_NA,0) AS RisorseNonAllocate, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) AS RisorseFinanziarie, + isnull(INI.CTV_CC,0) AS Contocorrente, +--INIZIO INTERVENTI OMNIA + isnull(INI.CTVSELF,0) AS ctvself, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) + isnull(INI.CTV_CC,0) + isnull(INI.CTVSELF,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + ,null as DettMovS80 + ,null as DettMovS129 + ,0 as NumeroAsterischiNota + ,0 as sommaproventi + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,'2999-12-31') + -- INI.RETE = @Rete AND + -- INI.COD_FISCALE = @CodiceFiscale + UNION ALL + -- Precedente invio report + SELECT + INI.RETE, + INI.Cod_Fiscale, + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + rep.CTV_EXT, + rep.CTV_INV, + rep.CTV_PRE, + rep.CTV_RIS, + rep.CTV_LIQ, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ AS RisorseAllocate, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA AS RisorseFinanziarie, + rep.CTV_CC AS Contocorrente, + --Contocorrente = CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END, +--INIZIO INTERVENTI OMNIA + isnull(rep.CTV_SELF,0) AS CTV_SELF, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.CTV_SELF,0) + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA +--ToDo Fc +-- ,(CASE WHEN @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovPrec END) as DettMov +-- ,(CASE WHEN @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiPrec END) as NumeroAsterischiNota + ,null as DettMovS80 + ,null as DettMovS129 + ,0 as NumeroAsterischiNota + ,0 as sommaproventi + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + --All values will be read from DB and passed to code, no value will be calculated on code + SELECT + rete, + cod_fiscale, + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + --Get the sum Operazioni in corso + --sum((isnull(IMPORTO,0))) as Partita_viaggiante, + 0 as Partita_viaggiante, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) as CTV_EXT, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) as CTV_INV, + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) as CTV_PRE, + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end ) as CTV_PRE, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) as CTV_RIS, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) as CTV_LIQ, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS CTV_RA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as CTV_NA, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS CTV_RF, + --CTV_CC = (Case WHEN sum(case Upper(id_area) when 'CC' then ctv else 0 end ) < 0 THEN sum(case Upper(id_area) when 'CC' then ctv else 0 end) ELSE 0 END), + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS CTV_CC, + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS CTV_CC, +--INIZIO INTERVENTI OMNIA + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS CTV_SELF, +--FINE INTERVENTI OMNIA + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end )+ + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) + +--INIZIO INTERVENTI OMNIA + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) + + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --ToDo Fc + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiCorr END) as NumeroAsterischiNota + ,null as DettMovS80 + ,null as DettMovS129 + ,0 NumeroAsterischiNota + ,0 as sommaproventi + FROM + C6MartPeriodico.PATRIMONIO_BF + group by rete,cod_fiscale +select count(*) from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio +update s80 +set DettMovS80 = case when dettmov.DETT_MOV_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_PREC as varchar(50)), '.', ',') +end , +DettMovS129 = case when dettmov.DETT_MOV_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_PREC as varchar(50)), '.', ',') +end +from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80 +inner join C6MartPeriodico.DettaglioMovimenti DettMov +on s80.rete = dettmov.rete and dettmov.COD_FIS = s80.COD_FIScale +where s80.fase=2 +update s80 +set DettMovS80 = case when dettmov.DETT_MOV_CORR is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_CORR as varchar(50)), '.', ',') +end , +DettMovS129 = case when dettmov.DETT_MOV_TRIMESTRE_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_TRIMESTRE_PREC as varchar(50)), '.', ',') +end +from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80 +inner join C6MartPeriodico.DettaglioMovimenti DettMov +on s80.rete = dettmov.rete and dettmov.COD_FIS = s80.COD_FIScale +where s80.fase=3 +--update S129 +--set DettMovS129 = case when dettmov.DETT_MOV_TRIMESTRE_PREC is null +-- then 'n.d.' +-- else REPLACE(CAST(dettmov.DETT_MOV_TRIMESTRE_PREC as varchar(50)), '.', ',') +--end +--from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio S129 +--inner join C6MartPeriodico.DettaglioMovimenti DettMov +--on S129.rete = dettmov.rete and dettmov.COD_FIS = S129.COD_FIScale +--where S129.fase=3 +declare @TimecPRec varchar(8) +set @TimecPRec = c6martperiodico.getprevioustrimestre(getdate(),0) +update s80x +set NumeroAsterischiNota = +case +when ws.CODFIS is null + then 0 +else 1 +end +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80x +left join [C6StagingPeriodico].[WSEICS] ws +on s80x.rete = ws.rete and ws.CODFIS = s80x.COD_FIScale +WHERE CODPROD IN ('37', 'GP') AND DTTRIM = @TimecPRec AND s80x.fase = 2 +update s80x +set NumeroAsterischiNota = +case +when ws.COD_FISCALE is null + then 0 +else 1 +end +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80x +left join C6MartPeriodico.PATRIMONIO_BF ws +on s80x.rete = ws.rete and ws.COD_FISCALE = s80x.COD_FIScale +WHERE COD_INTERNO IN ('37', 'GP') AND s80x.fase = 3 +SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + -- WHERE COD_INTERNO IN ('37', 'GP') + -- AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale +SELECT rete,Cod_Fiscale,sum(IMPORTO) sommaProventi +into #SommaProventi +FROM [C6MartPeriodico].proventi +--where rete='F' and Cod_Fiscale='DLLLCU62T60G408A' +group by rete,Cod_Fiscale +update s80x +set s80x.sommaproventi = sp.sommaproventi +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80x +left join #SommaProventi sp +on s80x.rete = sp.rete and sp.Cod_Fiscale = s80x.COD_FIScale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20180108.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20180108.sql new file mode 100644 index 00000000..b140f44e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20180108.sql @@ -0,0 +1,283 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio]'F','GSTGPL59P03B586G' +CREATE procedure [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio_20180108] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @DataCongelamento DATETIME + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + -- -- Inserimento Dati Scirocco + -- SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + --FROM C6MartPeriodico.DettaglioMovimenti + --WHERE + -- RETE = @Rete + --AND + -- COD_FIS = @CodiceFiscale + --IF @DettMovPrec is null + -- SET @AppoDettMovPrec = 'n.d.' + --ELSE + -- SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + --IF @DettMovCorr is null + -- SET @AppoDettMovCorr = 'n.d.' + --ELSE + -- SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + ----query per asterischi situazione precedente + --IF EXISTS(SELECT * FROM [C6StagingPeriodico].[WSEICS] + -- WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + -- AND RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + --IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + -- WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + ------------------------------------------- + ----query per asterischi situazione corrente + --IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + -- WHERE COD_INTERNO IN ('37', 'GP') + -- AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + -- SET @NumAsterischiCorr = 1 + ------------------------------------------- + --SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale + --SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale +truncate table C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + -- Attivazione monitoraggio + insert into C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + SELECT + INI.RETE, + INI.Cod_Fiscale, + 1 AS Fase, + isnull(INI.DATA_FOTO,0) AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + isnull(INI.CTV_EXT,0) as CTV_EXT, + isnull(INI.CTV_INV,0) as CTV_INV, + isnull(INI.CTV_PRE,0) as CTV_PRE, + isnull(INI.CTV_RIS,0) as CTV_RIS, + isnull(INI.CTV_LIQ,0) as CTV_LIQ, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) AS RisorseAllocate, + isnull(INI.CTV_NA,0) AS RisorseNonAllocate, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) AS RisorseFinanziarie, + isnull(INI.CTV_CC,0) AS Contocorrente, +--INIZIO INTERVENTI OMNIA + isnull(INI.CTVSELF,0) AS ctvself, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) + isnull(INI.CTV_CC,0) + isnull(INI.CTVSELF,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + ,null as DettMovS80 + ,null as DettMovS129 + ,0 as NumeroAsterischiNota + ,0 as sommaproventi + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + -- modifica del 24/7/2017 per gestire le situazioni limite dell'avvio monitoraggio a cavallo tra 2 trim (vedi segnalazione + -- del qc su cf F/TRRLDA52D04G190A) + --INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,'2999-12-31') + CONVERT(varchar,ini.data_foto,112) <= convert(varchar,ISNULL(rep.DATA_INVIO,'2999-12-31'),112) + -- fine modifica del 24/7/2017 + -- INI.RETE = @Rete AND + -- INI.COD_FISCALE = @CodiceFiscale + UNION ALL + -- Precedente invio report + SELECT + INI.RETE, + INI.Cod_Fiscale, + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + rep.CTV_EXT, + rep.CTV_INV, + rep.CTV_PRE, + rep.CTV_RIS, + rep.CTV_LIQ, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ AS RisorseAllocate, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA AS RisorseFinanziarie, + rep.CTV_CC AS Contocorrente, + --Contocorrente = CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END, +--INIZIO INTERVENTI OMNIA + isnull(rep.CTV_SELF,0) AS CTV_SELF, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.CTV_SELF,0) + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA +--ToDo Fc +-- ,(CASE WHEN @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovPrec END) as DettMov +-- ,(CASE WHEN @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiPrec END) as NumeroAsterischiNota + ,null as DettMovS80 + ,null as DettMovS129 + ,0 as NumeroAsterischiNota + ,0 as sommaproventi + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + -- modifica del 24/7/2017 per gestire le situazioni limite dell'avvio monitoraggio a cavallo tra 2 trim (vedi segnalazione + -- del qc su cf F/TRRLDA52D04G190A) + --INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + CONVERT(varchar,ini.data_foto,112) <= convert(varchar,ISNULL(rep.DATA_INVIO,'2999-12-31'),112) + -- fine modifica del 24/7/2017 + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + --All values will be read from DB and passed to code, no value will be calculated on code + SELECT + rete, + cod_fiscale, + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + --Get the sum Operazioni in corso + --sum((isnull(IMPORTO,0))) as Partita_viaggiante, + 0 as Partita_viaggiante, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) as CTV_EXT, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) as CTV_INV, + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) as CTV_PRE, + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end ) as CTV_PRE, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) as CTV_RIS, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) as CTV_LIQ, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS CTV_RA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as CTV_NA, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS CTV_RF, + --CTV_CC = (Case WHEN sum(case Upper(id_area) when 'CC' then ctv else 0 end ) < 0 THEN sum(case Upper(id_area) when 'CC' then ctv else 0 end) ELSE 0 END), + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS CTV_CC, + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS CTV_CC, +--INIZIO INTERVENTI OMNIA + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS CTV_SELF, +--FINE INTERVENTI OMNIA + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end )+ + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) + +--INIZIO INTERVENTI OMNIA + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) + + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --ToDo Fc + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiCorr END) as NumeroAsterischiNota + ,null as DettMovS80 + ,null as DettMovS129 + ,0 NumeroAsterischiNota + ,0 as sommaproventi + FROM + C6MartPeriodico.PATRIMONIO_BF + group by rete,cod_fiscale +select count(*) from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio +update s80 +set DettMovS80 = case when dettmov.DETT_MOV_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_PREC as varchar(50)), '.', ',') +end , +DettMovS129 = case when dettmov.DETT_MOV_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_PREC as varchar(50)), '.', ',') +end +from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80 +inner join C6MartPeriodico.DettaglioMovimenti DettMov +on s80.rete = dettmov.rete and dettmov.COD_FIS = s80.COD_FIScale +where s80.fase=2 +update s80 +set DettMovS80 = case when dettmov.DETT_MOV_CORR is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_CORR as varchar(50)), '.', ',') +end , +DettMovS129 = case when dettmov.DETT_MOV_TRIMESTRE_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_TRIMESTRE_PREC as varchar(50)), '.', ',') +end +from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80 +inner join C6MartPeriodico.DettaglioMovimenti DettMov +on s80.rete = dettmov.rete and dettmov.COD_FIS = s80.COD_FIScale +where s80.fase=3 +--update S129 +--set DettMovS129 = case when dettmov.DETT_MOV_TRIMESTRE_PREC is null +-- then 'n.d.' +-- else REPLACE(CAST(dettmov.DETT_MOV_TRIMESTRE_PREC as varchar(50)), '.', ',') +--end +--from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio S129 +--inner join C6MartPeriodico.DettaglioMovimenti DettMov +--on S129.rete = dettmov.rete and dettmov.COD_FIS = S129.COD_FIScale +--where S129.fase=3 +declare @TimecPRec varchar(8) +set @TimecPRec = c6martperiodico.getprevioustrimestre(getdate(),0) +update s80x +set NumeroAsterischiNota = +case +when ws.CODFIS is null + then 0 +else 1 +end +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80x +left join [C6StagingPeriodico].[WSEICS] ws +on s80x.rete = ws.rete and ws.CODFIS = s80x.COD_FIScale +WHERE CODPROD IN ('37', 'GP') AND DTTRIM = @TimecPRec AND s80x.fase = 2 +update s80x +set NumeroAsterischiNota = +case +when ws.COD_FISCALE is null + then 0 +else 1 +end +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80x +left join C6MartPeriodico.PATRIMONIO_BF ws +on s80x.rete = ws.rete and ws.COD_FISCALE = s80x.COD_FIScale +WHERE COD_INTERNO IN ('37', 'GP') AND s80x.fase = 3 +SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + -- WHERE COD_INTERNO IN ('37', 'GP') + -- AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale +SELECT rete,Cod_Fiscale,sum(IMPORTO) sommaProventi +into #SommaProventi +FROM [C6MartPeriodico].proventi +--where rete='F' and Cod_Fiscale='DLLLCU62T60G408A' +group by rete,Cod_Fiscale +update s80x +set s80x.sommaproventi = sp.sommaproventi +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80x +left join #SommaProventi sp +on s80x.rete = sp.rete and sp.Cod_Fiscale = s80x.COD_FIScale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20181214_PreMioFoglio.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..38882a19 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_20181214_PreMioFoglio.sql @@ -0,0 +1,286 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio]'F','GSTGPL59P03B586G' +CREATE procedure [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @DataCongelamento DATETIME + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + -- -- Inserimento Dati Scirocco + -- SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + --FROM C6MartPeriodico.DettaglioMovimenti + --WHERE + -- RETE = @Rete + --AND + -- COD_FIS = @CodiceFiscale + --IF @DettMovPrec is null + -- SET @AppoDettMovPrec = 'n.d.' + --ELSE + -- SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + --IF @DettMovCorr is null + -- SET @AppoDettMovCorr = 'n.d.' + --ELSE + -- SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + ----query per asterischi situazione precedente + --IF EXISTS(SELECT * FROM [C6StagingPeriodico].[WSEICS] + -- WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + -- AND RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + --IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + -- WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + ------------------------------------------- + ----query per asterischi situazione corrente + --IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + -- WHERE COD_INTERNO IN ('37', 'GP') + -- AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + -- SET @NumAsterischiCorr = 1 + ------------------------------------------- + --SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale + --SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale +truncate table C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + -- Attivazione monitoraggio + insert into C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + SELECT + INI.RETE, + INI.Cod_Fiscale, + 1 AS Fase, + isnull(INI.DATA_FOTO,0) AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + isnull(INI.CTV_EXT,0) as CTV_EXT, + isnull(INI.CTV_INV,0) as CTV_INV, + isnull(INI.CTV_PRE,0) as CTV_PRE, + isnull(INI.CTV_RIS,0) as CTV_RIS, + isnull(INI.CTV_LIQ,0) as CTV_LIQ, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) AS RisorseAllocate, + isnull(INI.CTV_NA,0) AS RisorseNonAllocate, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) AS RisorseFinanziarie, + isnull(INI.CTV_CC,0) AS Contocorrente, +--INIZIO INTERVENTI OMNIA + isnull(INI.CTVSELF,0) AS ctvself, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) + isnull(INI.CTV_CC,0) + isnull(INI.CTVSELF,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + ,null as DettMovS80 + ,null as DettMovS129 + ,0 as NumeroAsterischiNota + ,0 as sommaproventi + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + -- modifica per segnalazione qc (Diacci) su cf ‘BRBRRT58P21I633Q/S’ in simulazione Dicembre 2017 + -- modifica del 24/7/2017 per gestire le situazioni limite dell'avvio monitoraggio a cavallo tra 2 trim (vedi segnalazione + -- del qc su cf F/TRRLDA52D04G190A) + ----INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,'2999-12-31') + --CONVERT(varchar,ini.data_foto,112) <= convert(varchar,ISNULL(rep.DATA_INVIO,'2999-12-31'),112) + -- fine modifica del 24/7/2017 + ISNULL(ini.data_foto,cast('29991231' as datetime)) < @datacongelamento + -- fine modifica per segnalazione qc (Diacci) su cf ‘BRBRRT58P21I633Q/S’ in simulazione Dicembre 2017 + -- INI.RETE = @Rete AND + -- INI.COD_FISCALE = @CodiceFiscale + UNION ALL + -- Precedente invio report + SELECT + INI.RETE, + INI.Cod_Fiscale, + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + rep.CTV_EXT, + rep.CTV_INV, + rep.CTV_PRE, + rep.CTV_RIS, + rep.CTV_LIQ, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ AS RisorseAllocate, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA AS RisorseFinanziarie, + rep.CTV_CC AS Contocorrente, + --Contocorrente = CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END, +--INIZIO INTERVENTI OMNIA + isnull(rep.CTV_SELF,0) AS CTV_SELF, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.CTV_SELF,0) + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA +--ToDo Fc +-- ,(CASE WHEN @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovPrec END) as DettMov +-- ,(CASE WHEN @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiPrec END) as NumeroAsterischiNota + ,null as DettMovS80 + ,null as DettMovS129 + ,0 as NumeroAsterischiNota + ,0 as sommaproventi + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + -- modifica del 24/7/2017 per gestire le situazioni limite dell'avvio monitoraggio a cavallo tra 2 trim (vedi segnalazione + -- del qc su cf F/TRRLDA52D04G190A) + --INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + CONVERT(varchar,ini.data_foto,112) <= convert(varchar,ISNULL(rep.DATA_INVIO,'2999-12-31'),112) + -- fine modifica del 24/7/2017 + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + --All values will be read from DB and passed to code, no value will be calculated on code + SELECT + rete, + cod_fiscale, + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + --Get the sum Operazioni in corso + --sum((isnull(IMPORTO,0))) as Partita_viaggiante, + 0 as Partita_viaggiante, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) as CTV_EXT, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) as CTV_INV, + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) as CTV_PRE, + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end ) as CTV_PRE, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) as CTV_RIS, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) as CTV_LIQ, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS CTV_RA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as CTV_NA, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS CTV_RF, + --CTV_CC = (Case WHEN sum(case Upper(id_area) when 'CC' then ctv else 0 end ) < 0 THEN sum(case Upper(id_area) when 'CC' then ctv else 0 end) ELSE 0 END), + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS CTV_CC, + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS CTV_CC, +--INIZIO INTERVENTI OMNIA + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS CTV_SELF, +--FINE INTERVENTI OMNIA + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end )+ + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) + +--INIZIO INTERVENTI OMNIA + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) + + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --ToDo Fc + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiCorr END) as NumeroAsterischiNota + ,null as DettMovS80 + ,null as DettMovS129 + ,0 NumeroAsterischiNota + ,0 as sommaproventi + FROM + C6MartPeriodico.PATRIMONIO_BF + group by rete,cod_fiscale +select count(*) from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio +update s80 +set DettMovS80 = case when dettmov.DETT_MOV_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_PREC as varchar(50)), '.', ',') +end , +DettMovS129 = case when dettmov.DETT_MOV_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_PREC as varchar(50)), '.', ',') +end +from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80 +inner join C6MartPeriodico.DettaglioMovimenti DettMov +on s80.rete = dettmov.rete and dettmov.COD_FIS = s80.COD_FIScale +where s80.fase=2 +update s80 +set DettMovS80 = case when dettmov.DETT_MOV_CORR is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_CORR as varchar(50)), '.', ',') +end , +DettMovS129 = case when dettmov.DETT_MOV_TRIMESTRE_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_TRIMESTRE_PREC as varchar(50)), '.', ',') +end +from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80 +inner join C6MartPeriodico.DettaglioMovimenti DettMov +on s80.rete = dettmov.rete and dettmov.COD_FIS = s80.COD_FIScale +where s80.fase=3 +--update S129 +--set DettMovS129 = case when dettmov.DETT_MOV_TRIMESTRE_PREC is null +-- then 'n.d.' +-- else REPLACE(CAST(dettmov.DETT_MOV_TRIMESTRE_PREC as varchar(50)), '.', ',') +--end +--from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio S129 +--inner join C6MartPeriodico.DettaglioMovimenti DettMov +--on S129.rete = dettmov.rete and dettmov.COD_FIS = S129.COD_FIScale +--where S129.fase=3 +declare @TimecPRec varchar(8) +set @TimecPRec = c6martperiodico.getprevioustrimestre(getdate(),0) +update s80x +set NumeroAsterischiNota = +case +when ws.CODFIS is null + then 0 +else 1 +end +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80x +left join [C6StagingPeriodico].[WSEICS] ws +on s80x.rete = ws.rete and ws.CODFIS = s80x.COD_FIScale +WHERE CODPROD IN ('37', 'GP') AND DTTRIM = @TimecPRec AND s80x.fase = 2 +update s80x +set NumeroAsterischiNota = +case +when ws.COD_FISCALE is null + then 0 +else 1 +end +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80x +left join C6MartPeriodico.PATRIMONIO_BF ws +on s80x.rete = ws.rete and ws.COD_FISCALE = s80x.COD_FIScale +WHERE COD_INTERNO IN ('37', 'GP') AND s80x.fase = 3 +SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + -- WHERE COD_INTERNO IN ('37', 'GP') + -- AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale +SELECT rete,Cod_Fiscale,sum(IMPORTO) sommaProventi +into #SommaProventi +FROM [C6MartPeriodico].proventi +--where rete='F' and Cod_Fiscale='DLLLCU62T60G408A' +group by rete,Cod_Fiscale +update s80x +set s80x.sommaproventi = sp.sommaproventi +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80x +left join #SommaProventi sp +on s80x.rete = sp.rete and sp.Cod_Fiscale = s80x.COD_FIScale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale.sql new file mode 100644 index 00000000..bc2f28c4 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale.sql @@ -0,0 +1,320 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio]'F','GSTGPL59P03B586G' +CREATE procedure [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @DataCongelamento DATETIME + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() +--select * from #riga_nuova + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + -- -- Inserimento Dati Scirocco + -- SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + --FROM C6MartPeriodico.DettaglioMovimenti + --WHERE + -- RETE = @Rete + --AND + -- COD_FIS = @CodiceFiscale + --IF @DettMovPrec is null + -- SET @AppoDettMovPrec = 'n.d.' + --ELSE + -- SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + --IF @DettMovCorr is null + -- SET @AppoDettMovCorr = 'n.d.' + --ELSE + -- SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + ----query per asterischi situazione precedente + --IF EXISTS(SELECT * FROM [C6StagingPeriodico].[WSEICS] + -- WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + -- AND RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + --IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + -- WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + ------------------------------------------- + ----query per asterischi situazione corrente + --IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + -- WHERE COD_INTERNO IN ('37', 'GP') + -- AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + -- SET @NumAsterischiCorr = 1 + ------------------------------------------- + --SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale + --SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale +truncate table C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc + -- Attivazione monitoraggio + insert into C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc + SELECT + INI.RETE, + INI.Cod_Fiscale, + 1 AS Fase, + isnull(INI.DATA_FOTO,0) AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + isnull(INI.CTV_EXT,0) as CTV_EXT, + isnull(INI.CTV_INV,0) as CTV_INV, + isnull(INI.CTV_PRE,0) as CTV_PRE, + isnull(INI.CTV_RIS,0) as CTV_RIS, + isnull(INI.CTV_LIQ,0) as CTV_LIQ, + -- aggiunta del 19-10-2020 per il calcolo delle percentuali delle varie aree della piramide + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](INI.Cod_Fiscale,INI.RETE,'Ext'),0.00) as PERC_EXT, + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](INI.Cod_Fiscale,INI.RETE,'Inv'),0.00) as PERC_INV, + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](INI.Cod_Fiscale,INI.RETE,'Pre'),0.00) as PERC_PRE, + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](INI.Cod_Fiscale,INI.RETE,'Ris'),0.00) as PERC_RIS, + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](INI.Cod_Fiscale,INI.RETE,'Liq'),0.00) as PERC_LIQ, + isnull(mode.PERC_EXT,0.00) as PERC_EXT, + isnull(mode.PERC_INV,0.00) as PERC_INV, + isnull(mode.PERC_PRE,0.00) as PERC_PRE, + isnull(mode.PERC_RIS,0.00) as PERC_RIS, + isnull(mode.PERC_LIQ,0.00) as PERC_LIQ, + -- fine aggiunta del 19-10-2020 + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) AS RisorseAllocate, + isnull(INI.CTV_NA,0) AS RisorseNonAllocate, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) AS RisorseFinanziarie, + isnull(INI.CTV_CC,0) AS Contocorrente, +--INIZIO INTERVENTI OMNIA + isnull(INI.CTVSELF,0) AS ctvself, + -- 20181206 MIOFOGLIO + --isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) + isnull(INI.CTV_CC,0) + isnull(INI.CTVSELF,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) + isnull(INI.CTV_CC,0) + isnull(INI.CTVSELF,0) + isnull(INI.CTVSELFFOGLIO,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + -- fine 20181206 MIOFOGLIO +--FINE INTERVENTI OMNIA + ,null as DettMovS80 + ,null as DettMovS129 + ,0 as NumeroAsterischiNota + ,0 as sommaproventi + -- 20181206 MIOFOGLIO + ,isnull(INI.CTVSELFFOGLIO,0) AS CTVSelfFoglio + -- fine 20181206 MIOFOGLIO + FROM + --C6MartPeriodico.MONITORAGGIO_INIZIALE INI + [C6MartPeriodico].[MONITORAGGIO_INIZIALE] INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + left join C6StagingPeriodico.Popola_PiramideModello mode + on rtrim(ltrim(ini.rete)) = rtrim(ltrim(mode.rete)) and + rtrim(ltrim(ini.cod_fiscale)) = rtrim(ltrim(mode.cod_fiscale)) and + rtrim(ltrim(ini.DATA_FOTO)) = rtrim(ltrim(mode.data_foto)) + --rtrim(ltrim(convert(varchar,ini.DATA_FOTO,105))) = rtrim(ltrim(convert(varchar,mode.data_foto,105))) + WHERE + -- modifica per segnalazione qc (Diacci) su cf ‘BRBRRT58P21I633Q/S’ in simulazione Dicembre 2017 + -- modifica del 24/7/2017 per gestire le situazioni limite dell'avvio monitoraggio a cavallo tra 2 trim (vedi segnalazione + -- del qc su cf F/TRRLDA52D04G190A) + ----INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,'2999-12-31') + --CONVERT(varchar,ini.data_foto,112) <= convert(varchar,ISNULL(rep.DATA_INVIO,'2999-12-31'),112) + -- fine modifica del 24/7/2017 + ISNULL(ini.data_foto,cast('29991231' as datetime)) < @datacongelamento + -- fine modifica per segnalazione qc (Diacci) su cf ‘BRBRRT58P21I633Q/S’ in simulazione Dicembre 2017 + -- INI.RETE = @Rete AND + -- INI.COD_FISCALE = @CodiceFiscale + UNION ALL + -- Precedente invio report + SELECT + INI.RETE, + INI.Cod_Fiscale, + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + rep.CTV_EXT, + rep.CTV_INV, + rep.CTV_PRE, + rep.CTV_RIS, + rep.CTV_LIQ, + -- aggiunta del 19-10-2020 per il calcolo delle percentuali delle varie aree della piramide + --case (rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ) when 0 then 0 else cast((rep.ctv_ext / (rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ) * 100) as decimal(18,2)) + --end as PERC_EXT, + --case (rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ) when 0 then 0 else cast((rep.CTV_INV / (rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ) * 100) as decimal(18,2)) + --end as PERC_INV, + --case (rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ) when 0 then 0 else cast((rep.CTV_PRE / (rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ) * 100) as decimal(18,2)) + --end as PERC_PRE, + --case (rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ) when 0 then 0 else cast((rep.CTV_RIS / (rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ) * 100) as decimal(18,2)) + --end as PERC_RIS, + --case (rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ) when 0 then 0 else cast((rep.CTV_LIQ / (rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ) * 100) as decimal(18,2)) + --end as PERC_LIQ, + isnull(mode.PERC_EXT,0.00) as PERC_EXT, + isnull(mode.PERC_INV,0.00) as PERC_INV, + isnull(mode.PERC_PRE,0.00) as PERC_PRE, + isnull(mode.PERC_RIS,0.00) as PERC_RIS, + isnull(mode.PERC_LIQ,0.00) as PERC_LIQ, + -- fine aggiunta del 19-10-2020 + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ AS RisorseAllocate, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA AS RisorseFinanziarie, + rep.CTV_CC AS Contocorrente, + --Contocorrente = CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END, +--INIZIO INTERVENTI OMNIA + isnull(rep.CTV_SELF,0) AS CTV_SELF, + -- 20181206 MIOFOGLIO + --rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.CTV_SELF,0) + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.CTV_SELF,0) + ISNULL(rep.CTV_SELF_FOGLIO,0) + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + -- fine 20181206 MIOFOGLIO +--FINE INTERVENTI OMNIA +--ToDo Fc +-- ,(CASE WHEN @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovPrec END) as DettMov +-- ,(CASE WHEN @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiPrec END) as NumeroAsterischiNota + ,null as DettMovS80 + ,null as DettMovS129 + ,0 as NumeroAsterischiNota + ,0 as sommaproventi + -- 20181206 MIOFOGLIO + ,isnull(rep.CTV_SELF_FOGLIO,0) AS CTV_SELF_FOGLIO + -- fine 20181206 MIOFOGLIO + FROM + --C6MartPeriodico.MONITORAGGIO_INIZIALE INI + [C6MartPeriodico].[MONITORAGGIO_INIZIALE] INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + left join C6StagingPeriodico.Popola_PiramideModello mode + on rtrim(ltrim(ini.rete)) = rtrim(ltrim(mode.rete)) and + rtrim(ltrim(ini.cod_fiscale)) = rtrim(ltrim(mode.cod_fiscale)) and + rtrim(ltrim(rep.DATA_INVIO)) = rtrim(ltrim(mode.data_foto)) + --rtrim(ltrim(convert(varchar,rep.DATA_INVIO,105))) = rtrim(ltrim(convert(varchar,mode.data_foto,105))) + WHERE + -- modifica del 24/7/2017 per gestire le situazioni limite dell'avvio monitoraggio a cavallo tra 2 trim (vedi segnalazione + -- del qc su cf F/TRRLDA52D04G190A) + --INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + CONVERT(varchar,ini.data_foto,112) <= convert(varchar,ISNULL(rep.DATA_INVIO,'2999-12-31'),112) + -- fine modifica del 24/7/2017 + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + --All values will be read from DB and passed to code, no value will be calculated on code + select t.rete,t.cod_fiscale,t.Fase,t.DataFase,t.Partita_viaggiante,t.CTV_EXT,t.CTV_INV, + t.CTV_PRE,t.CTV_RIS,t.CTV_LIQ, + t.PERC_EXT,t.PERC_INV,t.PERC_PRE,t.PERC_RIS,t.PERC_LIQ,t.CTV_RA,t.CTV_NA, + t.CTV_RF,t.CTV_CC,t.CTV_SELF,t.TotalePatrimonio,t.DettMovS80,t.DettMovS129,t.NumeroAsterischiNota,t.sommaproventi,t.CTV_SELF_FOGLIO + from c6martperiodico.TB_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3 t +-- select count(*) from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc + --fix data 17/12/2020 + --sezione che storicizza le percentuali dell'ultima elaborazione se non sono già presenti nella tabella. + --commentare in fase di simulazione + --insert into C6StagingPeriodico.Popola_PiramideModello + --select Rete, + -- Cod_fiscale, + -- DataFase as Data_foto, + -- PERC_EXT, + -- PERC_INV, + -- PERC_PRE, + -- PERC_RIS, + -- PERC_LIQ + -- from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase = 3 + -- and rtrim(ltrim(rete))+rtrim(ltrim(cod_fiscale))+rtrim(ltrim(convert(varchar,dataFase,105))) not in + -- (select distinct(rtrim(ltrim(rete))+rtrim(ltrim(cod_fiscale))+rtrim(ltrim(convert(varchar,data_foto,105)))) + -- from C6StagingPeriodico.Popola_PiramideModello) + --fine fix 17/12/2020 +update s80 +set DettMovS80 = case when dettmov.DETT_MOV_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_PREC as varchar(50)), '.', ',') +end , +DettMovS129 = case when dettmov.DETT_MOV_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_PREC as varchar(50)), '.', ',') +end +from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc s80 +inner join C6MartPeriodico.DettaglioMovimenti DettMov +on s80.rete = dettmov.rete and dettmov.COD_FIS = s80.COD_FIScale +where s80.fase=2 +update s80 +set DettMovS80 = case when dettmov.DETT_MOV_CORR is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_CORR as varchar(50)), '.', ',') +end , +DettMovS129 = case when dettmov.DETT_MOV_TRIMESTRE_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_TRIMESTRE_PREC as varchar(50)), '.', ',') +end +from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc s80 +inner join C6MartPeriodico.DettaglioMovimenti DettMov +on s80.rete = dettmov.rete and dettmov.COD_FIS = s80.COD_FIScale +where s80.fase=3 +--forzatura +--update C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc +--set dettmovS80='189050.93' +--where Cod_Fiscale='BNBLPL51M05F965Y' +--and fase=2 +--update C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc +--set dettmovS80='-15081.46' +--where Cod_Fiscale='BNBLPL51M05F965Y' +--and fase=3 +--fine forzatura +--update S129 +--set DettMovS129 = case when dettmov.DETT_MOV_TRIMESTRE_PREC is null +-- then 'n.d.' +-- else REPLACE(CAST(dettmov.DETT_MOV_TRIMESTRE_PREC as varchar(50)), '.', ',') +--end +--from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio S129 +--inner join C6MartPeriodico.DettaglioMovimenti DettMov +--on S129.rete = dettmov.rete and dettmov.COD_FIS = S129.COD_FIScale +--where S129.fase=3 +declare @TimecPRec varchar(8) +set @TimecPRec = c6martperiodico.getprevioustrimestre(getdate(),0) +update s80x +set NumeroAsterischiNota = +case +when ws.CODFIS is null + then 0 +else 1 +end +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc s80x +left join [C6StagingPeriodico].[WSEICS] ws +on s80x.rete = ws.rete and ws.CODFIS = s80x.COD_FIScale +WHERE CODPROD IN ('37', 'GP') AND DTTRIM = @TimecPRec AND s80x.fase = 2 +update s80x +set NumeroAsterischiNota = +case +when ws.COD_FISCALE is null + then 0 +else 1 +end +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc s80x +left join C6MartPeriodico.PATRIMONIO_BF ws +on s80x.rete = ws.rete and ws.COD_FISCALE = s80x.COD_FIScale +WHERE COD_INTERNO IN ('37', 'GP') AND s80x.fase = 3 +SELECT top 1 * FROM C6MartPeriodico.PATRIMONIO_BF + -- WHERE COD_INTERNO IN ('37', 'GP') + -- AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale +SELECT rete,Cod_Fiscale,sum(IMPORTO) sommaProventi +into #SommaProventi +FROM [C6MartPeriodico].proventi +--where rete='F' and Cod_Fiscale='DLLLCU62T60G408A' +group by rete,Cod_Fiscale +update s80x +set s80x.sommaproventi = sp.sommaproventi +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc s80x +left join #SommaProventi sp +on s80x.rete = sp.rete and sp.Cod_Fiscale = s80x.COD_FIScale +--pezzotto 20240702 +insert into [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio_perc] + select * + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio_perc_pez] +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3.sql new file mode 100644 index 00000000..6cba81b7 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3.sql @@ -0,0 +1,142 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +CREATE procedure [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3] +-- Add the parameters for the stored procedure here +AS +begin +DECLARE @DataCongelamento DATETIME + --DECLARE @DettMovPrec money + --DECLARE @DettMovCorr money + --DECLARE @AppoDettMovPrec varchar(50) + --DECLARE @AppoDettMovCorr varchar(50) + --DECLARE @NumAsterischiPrec int + --DECLARE @NumAsterischiCorr int + --SET @NumAsterischiPrec = 0 + --SET @NumAsterischiCorr = 0 + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() +drop table if exists c6martperiodico.TB_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3 +SELECT + rete, + cod_fiscale, + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + --Get the sum Operazioni in corso + --sum((isnull(IMPORTO,0))) as Partita_viaggiante, + 0 as Partita_viaggiante, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) as CTV_EXT, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) as CTV_INV, + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) as CTV_PRE, + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end ) as CTV_PRE, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) as CTV_RIS, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) as CTV_LIQ, + -- aggiunta del 19-10-2020 per il calcolo delle percentuali delle varie aree della piramide + -- case + -- when (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) = 0 + -- then 0.0 + -- else + -- sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) / (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) * 100 + --end as PERC_EXT, + --case + -- when (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) = 0 + -- then 0.0 + -- else + -- sum(case Upper(id_area) when 'INV' then ctv else 0 end ) / (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) * 100 + --end as PERC_INV, + --case + -- when (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) = 0 + -- then + -- 0.0 + -- else + -- sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) / (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) * 100 + --end as PERC_PRE, + --case + -- when (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) = 0 + -- then + -- 0.0 + -- else + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) / (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) * 100 + --end as PERC_RIS, + --case + -- when (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) = 0 + -- then + -- 0.0 + -- else + -- sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) / (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) * 100 + --end as PERC_LIQ, + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Ext'),0.00) as PERC_EXT, + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Inv'),0.00) as PERC_INV, + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Pre'),0.00) as PERC_PRE, + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Ris'),0.00) as PERC_RIS, + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Liq'),0.00) as PERC_LIQ, + -- fine aggiunta del 19-10-2020 + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS CTV_RA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as CTV_NA, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS CTV_RF, + --CTV_CC = (Case WHEN sum(case Upper(id_area) when 'CC' then ctv else 0 end ) < 0 THEN sum(case Upper(id_area) when 'CC' then ctv else 0 end) ELSE 0 END), + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS CTV_CC, + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS CTV_CC, +--INIZIO INTERVENTI OMNIA + -- 20181206 MIOFOGLIO + sum(case when upper(id_area) = 'SELF' and cod_interno = 'XY' then ctv else 0 end) as CTV_SELF, + --sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS CTV_SELF, + -- fine 20181206 MIOFOGLIO + -- aggiunta del 19-10-2020 per il calcolo delle percentuali delle varie aree della piramide +--FINE INTERVENTI OMNIA + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end )+ + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) + +--INIZIO INTERVENTI OMNIA + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --ToDo Fc + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiCorr END) as NumeroAsterischiNota + ,null as DettMovS80 + ,null as DettMovS129 + ,0 NumeroAsterischiNota + ,0 as sommaproventi + -- 20181206 MIOFOGLIO + ,sum(case when upper(id_area) = 'SELF' and cod_interno = 'FO' then ctv else 0 end) as CTV_SELF_FOGLIO + -- fine 20181206 MIOFOGLIO + into #temp + FROM + C6MartPeriodico.PATRIMONIO_BF + group by rete,cod_fiscale + select t.rete,t.cod_fiscale,t.Fase,t.DataFase,t.Partita_viaggiante,t.CTV_EXT,t.CTV_INV, + t.CTV_PRE,t.CTV_RIS,t.CTV_LIQ, + p.PERC_EXT,p.PERC_INV,p.PERC_PRE,p.PERC_RIS,p.PERC_LIQ,t.CTV_RA,t.CTV_NA, + t.CTV_RF,t.CTV_CC,t.CTV_SELF,t.TotalePatrimonio,t.DettMovS80,t.DettMovS129,t.NumeroAsterischiNota,t.sommaproventi,t.CTV_SELF_FOGLIO + into c6martperiodico.TB_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3 + from #temp t inner join C6MartPeriodico.tb_patrimonio_bf_percentuale_piramide p on t.RETE+t.COD_FISCALE=p.rete+p.cod_fiscale +-- select * from C6MartPeriodico.TB_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase_tre +--select * from C6MartPeriodico.tb_patrimonio_bf_percentuale_piramide +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_pre_selective.sql new file mode 100644 index 00000000..f660970b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_pre_selective.sql @@ -0,0 +1,275 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio_pre_selective]'F','GSTGPL59P03B586G' +CREATE procedure [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @DataCongelamento DATETIME + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + -- -- Inserimento Dati Scirocco + -- SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + --FROM C6MartPeriodico.DettaglioMovimenti + --WHERE + -- RETE = @Rete + --AND + -- COD_FIS = @CodiceFiscale + --IF @DettMovPrec is null + -- SET @AppoDettMovPrec = 'n.d.' + --ELSE + -- SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + --IF @DettMovCorr is null + -- SET @AppoDettMovCorr = 'n.d.' + --ELSE + -- SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + ----query per asterischi situazione precedente + --IF EXISTS(SELECT * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICS] + -- WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + -- AND RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + --IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + -- WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + ------------------------------------------- + ----query per asterischi situazione corrente + --IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + -- WHERE COD_INTERNO IN ('37', 'GP') + -- AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + -- SET @NumAsterischiCorr = 1 + ------------------------------------------- + --SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale + --SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale +truncate table C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + -- Attivazione monitoraggio + insert into C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + SELECT + INI.RETE, + INI.Cod_Fiscale, + 1 AS Fase, + isnull(INI.DATA_FOTO,0) AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + isnull(INI.CTV_EXT,0) as CTV_EXT, + isnull(INI.CTV_INV,0) as CTV_INV, + isnull(INI.CTV_PRE,0) as CTV_PRE, + isnull(INI.CTV_RIS,0) as CTV_RIS, + isnull(INI.CTV_LIQ,0) as CTV_LIQ, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) AS RisorseAllocate, + isnull(INI.CTV_NA,0) AS RisorseNonAllocate, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) AS RisorseFinanziarie, + isnull(INI.CTV_CC,0) AS Contocorrente, +--INIZIO INTERVENTI OMNIA + isnull(INI.CTVSELF,0) AS ctvself, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) + isnull(INI.CTV_CC,0) + isnull(INI.CTVSELF,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + ,null as DettMovS80 + ,null as DettMovS129 + ,0 as NumeroAsterischiNota + ,0 as sommaproventi + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,'2999-12-31') + -- INI.RETE = @Rete AND + -- INI.COD_FISCALE = @CodiceFiscale + UNION ALL + -- Precedente invio report + SELECT + INI.RETE, + INI.Cod_Fiscale, + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + rep.CTV_EXT, + rep.CTV_INV, + rep.CTV_PRE, + rep.CTV_RIS, + rep.CTV_LIQ, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ AS RisorseAllocate, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA AS RisorseFinanziarie, + rep.CTV_CC AS Contocorrente, + --Contocorrente = CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END, +--INIZIO INTERVENTI OMNIA + isnull(rep.CTV_SELF,0) AS CTV_SELF, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.CTV_SELF,0) + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA +--ToDo Fc +-- ,(CASE WHEN @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovPrec END) as DettMov +-- ,(CASE WHEN @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiPrec END) as NumeroAsterischiNota + ,null as DettMovS80 + ,null as DettMovS129 + ,0 as NumeroAsterischiNota + ,0 as sommaproventi + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + --All values will be read from DB and passed to code, no value will be calculated on code + SELECT + rete, + cod_fiscale, + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + --Get the sum Operazioni in corso + --sum((isnull(IMPORTO,0))) as Partita_viaggiante, + 0 as Partita_viaggiante, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) as CTV_EXT, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) as CTV_INV, + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) as CTV_PRE, + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end ) as CTV_PRE, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) as CTV_RIS, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) as CTV_LIQ, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS CTV_RA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as CTV_NA, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS CTV_RF, + --CTV_CC = (Case WHEN sum(case Upper(id_area) when 'CC' then ctv else 0 end ) < 0 THEN sum(case Upper(id_area) when 'CC' then ctv else 0 end) ELSE 0 END), + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS CTV_CC, + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS CTV_CC, +--INIZIO INTERVENTI OMNIA + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS CTV_SELF, +--FINE INTERVENTI OMNIA + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end )+ + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) + +--INIZIO INTERVENTI OMNIA + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) + + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --ToDo Fc + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiCorr END) as NumeroAsterischiNota + ,null as DettMovS80 + ,null as DettMovS129 + ,0 NumeroAsterischiNota + ,0 as sommaproventi + FROM + C6MartPeriodico.PATRIMONIO_BF + group by rete,cod_fiscale +select count(*) from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio +update s80 +set DettMovS80 = case when dettmov.DETT_MOV_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_PREC as varchar(50)), '.', ',') +end , +DettMovS129 = case when dettmov.DETT_MOV_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_PREC as varchar(50)), '.', ',') +end +from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80 +inner join C6MartPeriodico.DettaglioMovimenti DettMov +on s80.rete = dettmov.rete and dettmov.COD_FIS = s80.COD_FIScale +where s80.fase=2 +update s80 +set DettMovS80 = case when dettmov.DETT_MOV_CORR is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_CORR as varchar(50)), '.', ',') +end , +DettMovS129 = case when dettmov.DETT_MOV_TRIMESTRE_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_TRIMESTRE_PREC as varchar(50)), '.', ',') +end +from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80 +inner join C6MartPeriodico.DettaglioMovimenti DettMov +on s80.rete = dettmov.rete and dettmov.COD_FIS = s80.COD_FIScale +where s80.fase=3 +--update S129 +--set DettMovS129 = case when dettmov.DETT_MOV_TRIMESTRE_PREC is null +-- then 'n.d.' +-- else REPLACE(CAST(dettmov.DETT_MOV_TRIMESTRE_PREC as varchar(50)), '.', ',') +--end +--from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio S129 +--inner join C6MartPeriodico.DettaglioMovimenti DettMov +--on S129.rete = dettmov.rete and dettmov.COD_FIS = S129.COD_FIScale +--where S129.fase=3 +declare @TimecPRec varchar(8) +set @TimecPRec = c6martperiodico.getprevioustrimestre(getdate(),0) +update s80x +set NumeroAsterischiNota = +case +when ws.CODFIS is null + then 0 +else 1 +end +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80x +left join [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICS] ws +on s80x.rete = ws.rete and ws.CODFIS = s80x.COD_FIScale +WHERE CODPROD IN ('37', 'GP') AND DTTRIM = @TimecPRec AND s80x.fase = 2 +update s80x +set NumeroAsterischiNota = +case +when ws.COD_FISCALE is null + then 0 +else 1 +end +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80x +left join C6MartPeriodico.PATRIMONIO_BF ws +on s80x.rete = ws.rete and ws.COD_FISCALE = s80x.COD_FIScale +WHERE COD_INTERNO IN ('37', 'GP') AND s80x.fase = 3 +SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + -- WHERE COD_INTERNO IN ('37', 'GP') + -- AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale +SELECT rete,Cod_Fiscale,sum(IMPORTO) sommaProventi +into #SommaProventi +FROM [C6MartPeriodico].proventi +--where rete='F' and Cod_Fiscale='DLLLCU62T60G408A' +group by rete,Cod_Fiscale +update s80x +set s80x.sommaproventi = sp.sommaproventi +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80x +left join #SommaProventi sp +on s80x.rete = sp.rete and sp.Cod_Fiscale = s80x.COD_FIScale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_TB_S180ProdottiComplessitaAlta.sql b/sql/storedProduzione/C6MartPeriodico_Popola_TB_S180ProdottiComplessitaAlta.sql new file mode 100644 index 00000000..db084abc --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_TB_S180ProdottiComplessitaAlta.sql @@ -0,0 +1,41 @@ +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[Popola_TB_S180ProdottiComplessitaAlta] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +truncate table C6MartPeriodico.TB_S180ProdottiComplessitaAlta +INSERT INTO [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] + ([Rete] + ,[Cod_fiscale] + ,[Codman] + ,[Ordine] + ,[CodiceContratto] + ,[NomeProdotto] + ,[Controvalore] + ,[Compl_Base] + ,Percentuale_CTV) +SELECT distinct + rete, + case when codman<>'' then 'FF@'+trim(codman) else trim(codfis) end as Cod_Fiscale, + trim(codman), + 1, --ordine viene impostato a un valore fisso perché al momento non lo gestiamo + trim(codconf), + trim(descprod), + ctv, + case when compl='H' then 4 + when compl='MH' then 3 + when compl='ML' then 2 end as Complessita, + PERCCTV +FROM +[C6StagingPeriodico].[WSEIAD2] wsei +WHERE 1=1 + and DTTRIM = @DataFineTrim +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_W6ASSETPERC.sql b/sql/storedProduzione/C6MartPeriodico_Popola_W6ASSETPERC.sql new file mode 100644 index 00000000..1bbe1dd3 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_W6ASSETPERC.sql @@ -0,0 +1,47 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[Popola_W6ASSETPERC_newJoin] +AS +BEGIN + SET NOCOUNT ON; + delete from [consuni].consulenzaunica.[dbo].[W6ASSETPERC] + INSERT INTO [consuni].consulenzaunica.[dbo].[W6ASSETPERC] + ( + [COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[COD_ISIN] + ,[COD_MAF] + ,[ID_ASSETCLASS] + ,[CATALOGUENAME] + ,[ASSETCLASSNAME] + ,[BDPERCENTAGE] + ----------modifica del 24/6/2019 + ,[Visibilita] + ----------FINE modifica del 24/6/2019 + ) +-- modifica richiesta il 25-26/6/2019 (Tesi/Scirocco) - modificata la join tra le tabelle per caricare anche i prodotti che non sono mappati +SELECT DISTINCT + isnull(cat.CodInterno,'') AS COD_INTERNO, + isnull(cat.CodSottoprodotto,'') AS COD_SOTTOPRODOTTO, + isnull(cat.CodIsin,'') AS COD_ISIN, + isnull(cat.CodMaf,'') AS COD_MAF, + isnull(LTRIM(RTRIM(map.Asset)),'') AS ID_ASSETCLASS, + isnull(cat.NomeProdotto,'') as CATALOGUENAME, + isnull(map.Descrizione,'') as ASSETCLASSNAME, + isnull(LTRIM(RTRIM(map.Percentuale)),0) AS BDPERCENTAGE, + --map.Percentuale AS BDPERCENTAGE, + -- ----------modifica del 24/6/2019 + --isnull(cat.visibilita,'') AS VISIBILITA + cat.visibilita AS VISIBILITA + ----------FINE modifica del 24/6/2019 +FROM C6StagingPeriodico.RP_CatalogoProdotti cat + left join (select m.chiaveprodotto,a.Asset,a.Descrizione,m.Percentuale from C6StagingPeriodico.RP_Mappatura m + inner join C6StagingPeriodico.RP_AssetClass a + ON a.Asset = m.Asset and a.Livello = 2 + ) AS map ON map.ChiaveProdotto = cat.ChiaveProdotto +WHERE 1=1 + and cat.CodInterno is not null +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_W6ASSETPERC_20190624.sql b/sql/storedProduzione/C6MartPeriodico_Popola_W6ASSETPERC_20190624.sql new file mode 100644 index 00000000..dc1751f1 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_W6ASSETPERC_20190624.sql @@ -0,0 +1,72 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[Popola_W6ASSETPERC_20190624] +AS +BEGIN + SET NOCOUNT ON; + --DECLARE @ID_ELAB INT + --DECLARE @TIPO_ELAB VARCHAR(1) + --SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + --SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + ---- Log esecuzione + --INSERT INTO LOG_ESECUZIONE_PERIODICO + -- (Nome, Inizio, Nota) + --VALUES ( + -- 'W6ASSETPERC', + -- GETDATE(), + -- 'Elaborazione trimestrale' + --) + delete from [consuni].consulenzaunica.[dbo].[W6ASSETPERC] + INSERT INTO [consuni].consulenzaunica.[dbo].[W6ASSETPERC] + ( + [COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[COD_ISIN] + ,[COD_MAF] + ,[ID_ASSETCLASS] + ,[CATALOGUENAME] + ,[ASSETCLASSNAME] + ,[BDPERCENTAGE] + ) +SELECT DISTINCT + isnull(cat.CodInterno,'') AS COD_INTERNO, + isnull(cat.CodSottoprodotto,'') AS COD_SOTTOPRODOTTO, + isnull(cat.CodIsin,'') AS COD_ISIN, + isnull(cat.CodMaf,'') AS COD_MAF, + isnull(LTRIM(RTRIM(ac.Asset)),'') AS ID_ASSETCLASS, + isnull(cat.NomeProdotto,'') as CATALOGUENAME, + isnull(ac.Descrizione,'') as ASSETCLASSNAME, + isnull(LTRIM(RTRIM(map.Percentuale)),'') AS BDPERCENTAGE +FROM C6StagingPeriodico.RP_Mappatura AS map + INNER JOIN C6StagingPeriodico.RP_AssetClass AS ac + ON map.Asset = ac.Asset + INNER JOIN C6StagingPeriodico.RP_CatalogoProdotti cat + ON map.ChiaveProdotto = cat.ChiaveProdotto +WHERE Livello = 2 +-- ----------modifica del 30/5/2019 + and cat.CodInterno is not null +-- ----------fire modifica del 30/5/2019 +-- ----------modifica del 21/6/2019 + -- and cat.visibilita = 1 +-- ----------fire modifica del 21/6/2019 + -- Log esecuzione + --UPDATE + -- LOG_ESECUZIONE_PERIODICO + --SET + -- Fine = GETDATE(), + -- Tipo = 'INSERT', + -- Righe = @@ROWCOUNT + --WHERE + -- Nome = 'W6ASSETPERC' AND + -- Inizio = ( + -- SELECT + -- MAX(Inizio) + -- FROM + -- LOG_ESECUZIONE_PERIODICO + -- WHERE + -- Nome = 'W6ASSETPERC' + -- ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popola_W6ASSETPERC_20190701.sql b/sql/storedProduzione/C6MartPeriodico_Popola_W6ASSETPERC_20190701.sql new file mode 100644 index 00000000..76f8a742 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popola_W6ASSETPERC_20190701.sql @@ -0,0 +1,46 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[Popola_W6ASSETPERC_20190626] +AS +BEGIN + SET NOCOUNT ON; + delete from [consuni].consulenzaunica.[dbo].[W6ASSETPERC] + INSERT INTO [consuni].consulenzaunica.[dbo].[W6ASSETPERC] + ( + [COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[COD_ISIN] + ,[COD_MAF] + ,[ID_ASSETCLASS] + ,[CATALOGUENAME] + ,[ASSETCLASSNAME] + ,[BDPERCENTAGE] + ----------modifica del 24/6/2019 + ,[Visibilita] + ----------FINE modifica del 24/6/2019 + ) +SELECT DISTINCT + isnull(cat.CodInterno,'') AS COD_INTERNO, + isnull(cat.CodSottoprodotto,'') AS COD_SOTTOPRODOTTO, + isnull(cat.CodIsin,'') AS COD_ISIN, + isnull(cat.CodMaf,'') AS COD_MAF, + isnull(LTRIM(RTRIM(ac.Asset)),'') AS ID_ASSETCLASS, + isnull(cat.NomeProdotto,'') as CATALOGUENAME, + isnull(ac.Descrizione,'') as ASSETCLASSNAME, + isnull(LTRIM(RTRIM(map.Percentuale)),'') AS BDPERCENTAGE, + -- ----------modifica del 24/6/2019 + isnull(cat.visibilita,'') AS VISIBILITA + ----------FINE modifica del 24/6/2019 +FROM C6StagingPeriodico.RP_Mappatura AS map + INNER JOIN C6StagingPeriodico.RP_AssetClass AS ac + ON map.Asset = ac.Asset + INNER JOIN C6StagingPeriodico.RP_CatalogoProdotti cat + ON map.ChiaveProdotto = cat.ChiaveProdotto +WHERE Livello = 2 +-- ----------modifica del 30/5/2019 + and cat.CodInterno is not null +-- ----------fire modifica del 30/5/2019 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popolamento_RP_W6CLIREP.sql b/sql/storedProduzione/C6MartPeriodico_Popolamento_RP_W6CLIREP.sql new file mode 100644 index 00000000..d0073897 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popolamento_RP_W6CLIREP.sql @@ -0,0 +1,182 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[Popolamento_RP_W6CLIREP] +AS +BEGIN + SET NOCOUNT ON; + --dichiaro variabile data di trimestrale + DECLARE @dttrim int + --valorizzo la data di trimestrale al giorno del congelamento + set @dttrim = CAST(CONVERT(varchar, CAST(C6MartPeriodico.getDataCongelamento() as DATETIME),112) as int) + --print @dttrim + --Tronchiamo la tabella RP_vTuttiIPortafogli_Aladdin_tab e la ripopoliamo + --a partire dalla vista RP_vTuttiIPortafogli_Aladdin + Truncate table C6StampeCentralizzate.C6MartPeriodico.w6clirep + -- + insert into C6StampeCentralizzate.C6MartPeriodico.w6clirep + select + '6' as FLGCLI , + 'M' as FLGBL , + 'A' as TIPOELA, + @dttrim as DTTRIM, + rete, + codfis, + piva, + codman, + '' as CODFID, + '' as CODAGE, + CASE + WHEN cod_interno not in ('SINT3MEUR','SINT6MEUR','09560690') and famprodt = 'DT' THEN isnull(cod_interno,'') --aggiunta SINT6MEUR 10/03/2023 + ELSE '' + END as CODABI, + ISNULL(termid,00000000), + cast(annos as int) as anno , + case when famprodt='GE' then 00000000 --aggiunta con else sotto + else cast(progs as int) end as prog , + 0 as quote, + cast(ctvreale as float) as CTV, + codconf, --17 + rubr, + custgar, + ISNULL(cod_interno,''), + '' as codana, + CASE + WHEN cast(annos as int) <> 0 and cast(progs as int) <> 0 then 'S' + ELSE 'N' + END as FLAGPCT, + --CASE + -- WHEN famprodt <> 'DT' and famprodt <> 'CC' THEN isnull(cod_interno,'') + -- ELSE '' + --END + '' as codprod, + ISNULL(cod_sottoprodotto,''), + ISNULL(cod_isin,''), + '' as codlinea, + tipoptf, + area, + progetto, + codprj, + ISNULL(chiave_prodotto_terzi,''), + ISNULL(assetterzi,''), + ISNULL(famprodt,''), + ISNULL(intermediario,''), + ISNULL(codiceadeguatezza,''), + ISNULL(cod_maf,''), + conto, + numpolizza, + position_id, + --aggiunta 08/06/2022 + '' as PREFSOST, + '' as FLAGAMB, + '' as FLAGSOC, + '' as FLAGGOV, + Prodotto_id + from [C6StampeCentralizzate].[C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin] + --aggiunta informazioni codabi per i prodotti PCT +SELECT [DTTRIM] + ,[DTRIFE] + ,ltrim(rtrim([RETE])) as rete + ,ltrim(rtrim([CODFIS])) as codfis + ,ltrim(rtrim([CODCONF])) as codconf + ,[NUMPOL] + ,ltrim(rtrim([CONTO])) as conto + ,[RUBR] + ,[CUSTGAR] + ,ltrim(rtrim([TIPPROD])) as tipprod + ,ltrim(rtrim([CODINT])) as codint + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[QUOTE] + ,ltrim(rtrim([CODMAN])) as codman + ,[SALRISC] + ,[ATTIVO] + into #PCT --selezioniamo dalla wseics i soli clienti possessori di un pct in portafoglio + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[wseics] WHERE CODABI <> '' + and pctKey <> '' + and dttrim = (Select Max(dttrim) from [C6StampeCentralizzate].[C6StagingPeriodico].[wseics]) + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + set codabi = pct.codabi + --select w6.rete,pct.rete,w6.codfis,w6.piva,pct.codfis,w6.codman,pct.codman,w6.conto,pct.conto,w6.codconf,pct.codconf,pct.codabi + --, pct.tipprod,w6.famprodt + from #PCT pct + left join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] as w6 + on w6.rete=pct.rete and w6.codfis+w6.piva+w6.codman = ltrim(rtrim(pct.codfis))+ltrim(rtrim(pct.codman)) + and w6.codconf=ltrim(rtrim(pct.codconf)) and w6.conto=ltrim(rtrim(pct.conto)) and w6.famprodt = ltrim(rtrim(pct.tipprod)) + where w6.flagpct = 'S' + -- Aggiungiamo le informazioni mancanti per il codman piva_fiduciaria + select b.cod_mandato,b.rete,b.piva_fiduciaria into + #tab + FROM + [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] a + inner join (select distinct rete,cod_mandato,piva_fiduciaria from [C6StampeCentralizzate].[C6StagingPeriodico].[APPO_CONTRATTI_V] where cod_mandato<>'') b + on a.rete= b.rete and isnull(a.codman,'')=isnull(b.cod_mandato,'') + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + set piva = piva_fiduciaria + from #tab tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] as a + on a.rete= tab.rete and isnull(a.codman,'')=isnull(tab.cod_mandato,'') + --1 update per CF + update [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + set codage = appo.cod_agente + from c6stagingperiodico.appo_contratti appo + left join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] w + on w.rete= appo.rete and isnull(w.codfis,'') = isnull(appo.cod_fiscale,'') + --2 update per Piva + update [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + set codage = appo.cod_agente + from c6stagingperiodico.appo_contratti appo + left join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] w + on w.rete= appo.rete and isnull(w.piva,'') = isnull(appo.cod_fiscale,'') + where w.piva <> '' + --3 update per Fiduciaria + update [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + set codage = appo.cod_agente + from c6stagingperiodico.appo_contratti appo + left join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] w + on w.rete= appo.rete and 'FF@'+(isnull(w.codman,'')) = isnull(appo.cod_fiscale,'') + where w.codman <> '' + --update per inserire le informazioni del codana del cliente + update [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + set codana = wp.codana + FROM [C6StagingPeriodico].[WANVIPS] wp + left join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] w + on w.rete = wp.rete and w.codfis+w.piva+w.codman = ltrim(rtrim(wp.codfis))+ltrim(rtrim(wp.codman)) + update [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + set cod_isin='' + where cod_interno in ('KB', 'KC', 'KG', 'KJ', 'KI', 'KD', 'KF', 'KL', 'KN', 'KO', 'KE', 'KS') and len(cod_isin)<12 + --eliminazione righe duplicate per API ma le teniamo in una tb di Recupero per eventuali analisi + truncate table [C6MartPeriodico].[W6CLI_REK] + insert into [C6MartPeriodico].[W6CLI_REK] + select * + from [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] where tipoptf = 'TIPOPRODTERZI|TERZI' + delete from + [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] where tipoptf = 'TIPOPRODTERZI|TERZI' + update C6MartPeriodico.W6CLIREP + set PREFSOST= case when an.prefsost='S' then 1 else 0 end,FLAGAMB=case when an.flagamb='S' then 'Y' else 'N' end , + FLAGSOC=case when an.flagsoc='S' then 'Y' else 'N' end, FLAGGOV=case when an.flaggov='S' then 'Y' else 'N' end + from C6stagingPeriodico.wseian2 an left join C6MartPeriodico.W6CLIREP w + on w.rete = an.rete and w.codfis+w.piva+w.codman = ltrim(rtrim(an.codfis))+ltrim(rtrim(an.codman)) + where an.DTTRIM=@dttrim + update C6MartPeriodico.W6CLIREP + set cod_interno=cod_isin + where termid in ('BDR20000','TDV20000') + update C6MartPeriodico.W6CLIREP + set PRODOTTO_ID='$' + where Prodotto_ID='PRODOTTO NON IN CATALOGO' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Popolamento_RP_vTuttiIPortafogli_Aladdin_tab.sql b/sql/storedProduzione/C6MartPeriodico_Popolamento_RP_vTuttiIPortafogli_Aladdin_tab.sql new file mode 100644 index 00000000..bc03490b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Popolamento_RP_vTuttiIPortafogli_Aladdin_tab.sql @@ -0,0 +1,79 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[Popolamento_RP_vTuttiIPortafogli_Aladdin_tab] +AS +BEGIN + SET NOCOUNT ON; + --dichiaro variabile data di trimestrale + DECLARE @dttrim int + --valorizzo la data di trimestrale al giorno del congelamento + set @dttrim = CAST(CONVERT(varchar, CAST(C6MartPeriodico.getDataCongelamento() as DATETIME),112) as int) + --Tronchiamo la tabella RP_vTuttiIPortafogli_Aladdin_tab e la ripopoliamo + --a partire dalla vista RP_vTuttiIPortafogli_Aladdin + Truncate table C6StampeCentralizzate.C6MartPeriodico.RP_vTuttiIPortafogli_Aladdin_tab + -- + insert into C6StampeCentralizzate.C6MartPeriodico.RP_vTuttiIPortafogli_Aladdin_tab + select + '6' as FLGCLI , + 'M' as FLGBL , + 'B' as TIPOELA, + @dttrim as DTTRIM, + rete, + codfis, + piva, + codman, + '' as CODFID, + '' as CODAGE, + CASE + WHEN cod_interno <> 'SINT3MEUR' and famprodt = 'DT' THEN isnull(cod_interno,'') + ELSE '' + END as CODABI, + ISNULL(termid,00000000), + cast(annos as int) as anno , + cast(progs as int) as prog , + 0 as quote, + cast(ctvreale as float) as CTV, + codconf, --17 + rubr, + custgar, + ISNULL(cod_interno,''), + '' as codana, + '' as FLAGPCT, + --CASE + -- WHEN famprodt <> 'DT' and famprodt <> 'CC' THEN isnull(cod_interno,'') + -- ELSE '' + --END + '' as codprod, + ISNULL(cod_sottoprodotto,''), + ISNULL(cod_isin,''), + '' as codlinea, + tipoptf, + area, + progetto, + codprj, + ISNULL(chiave_prodotto_terzi,''), + ISNULL(assetterzi,''), + ISNULL(famprodt,''), + ISNULL(intermediario,''), + ISNULL(codiceadeguatezza,''), + ISNULL(cod_maf,''), + conto, + numpolizza, + position_id + from [C6StampeCentralizzate].[C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin] + -- Aggiungiamo le informazioni mancanti per il codman piva_fiduciaria + select b.cod_mandato,b.rete,b.piva_fiduciaria into + #tab + FROM + [C6StampeCentralizzate].[C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin_tab] a + inner join (select distinct rete,cod_mandato,piva_fiduciaria from [C6StampeCentralizzate].[C6StagingPeriodico].[APPO_CONTRATTI_V] where cod_mandato<>'') b + on a.rete= b.rete and isnull(a.codman,'')=isnull(b.cod_mandato,'') + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin_tab] + set piva = piva_fiduciaria + from #tab tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin_tab] as a + on a.rete= tab.rete and isnull(a.codman,'')=isnull(tab.cod_mandato,'') +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_ProfiloScaduto_Campione.sql b/sql/storedProduzione/C6MartPeriodico_ProfiloScaduto_Campione.sql new file mode 100644 index 00000000..376a790f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_ProfiloScaduto_Campione.sql @@ -0,0 +1,19 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[ProfiloScaduto_Campione] + -- Add the parameters for the stored procedure here +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT c.rete as Rete, c.cod_fiscale as [Codice Fiscale], flag_stampa +FROM [C6MartPeriodico].[TB_Campione] c +INNER JOIN C6MartPERIODICO.MIFID m +ON c.cod_fiscale = m.COD_FISCALE +WHERE m.SCADUTO <> 0 + -- Insert statements for procedure here +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RESTART_CONTROLLO_TRIMESTRALE.sql b/sql/storedProduzione/C6MartPeriodico_RESTART_CONTROLLO_TRIMESTRALE.sql new file mode 100644 index 00000000..068ad326 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RESTART_CONTROLLO_TRIMESTRALE.sql @@ -0,0 +1,25 @@ +-- Stored procedure +CREATE procedure [C6MartPeriodico].[RESTART_CONTROLLO_TRIMESTRALE] +AS +BEGIN +INSERT INTO C6MARTPERIODICO.CONTROLLO_TRIMESTRALE + --SELECT DISTINCT COD_FISCALE, RETE, FLAG_DIAGNOSI, NULL, NULL, 1, NULL, getdate() FROM C6MARTPERIODICO.CONTROLLO_TRIMESTRALE WHERE STATO_REPORT=7 +select distinct cod_Fiscale,b.rete, flag_diagnosi,null,null,1,null,getdate() +from --c6martperiodico.gestione_pdf_ftp a +--join +c6martperiodico.controllo_trimestrale b +--on a.rete=b.rete and a.codiceFiscale = b.cod_fiscale +--where id_fk_zip = 353 +--and +where b.rete+b.cod_Fiscale in (select distinct rete + codiceFiscale from c6martperiodico.excludedlist where bloccato = 0) +--where bloccato = 1) +and stato_report < 20 and stato_report >= 4 +END +-- +--select count(*),stato_report +--from c6martperiodico.controllo_trimestrale +--group by stato_report +-- +--select * from c6martperiodico.controllo_trimestrale +--where cod_fiscale = 'BBBRFL74M50C573M' +--where stato_report = 7 \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RFA_SEGNALATI_SP.sql b/sql/storedProduzione/C6MartPeriodico_RFA_SEGNALATI_SP.sql new file mode 100644 index 00000000..f299c32c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RFA_SEGNALATI_SP.sql @@ -0,0 +1,16 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: Aggiunta chiave primaria autoincrement su tabella di staging +-- per eliminazione duplicati. +-- ============================================= +CREATE procedure [C6MartPeriodico].[RFA_SEGNALATI_SP] +AS +BEGIN +SET NOCOUNT ON; +INSERT INTO [C6MartPeriodico].[ExcludedList] +(Rete,codicefiscale,DescrErr,DataIns,Bloccato) +select rfa.rete,rfa.codfis,'DESCR_ANOM_VP',getdate(),'1' +from [C6MartPeriodico].RFA_SEGNALATI as rfa +END +--select count(*) from c6martperiodico.mifid \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RM_Sintesi_Cliente.sql b/sql/storedProduzione/C6MartPeriodico_RM_Sintesi_Cliente.sql new file mode 100644 index 00000000..2fa6b4ff --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RM_Sintesi_Cliente.sql @@ -0,0 +1,28 @@ +-- [C6Mart].[RM_Sintesi_Cliente] 179 +CREATE procedure [C6MartPeriodico].[RM_Sintesi_Cliente] + @IdReport INT +AS +BEGIN + SET NOCOUNT ON; + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS NomeCognome, + ANAG_CLIENTI.DATA_NASCITA AS DataNascita, + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + ISNULL(CONTRATTOSEI.INDIRIZZO,'') + ' ' + + ISNULL(CONTRATTOSEI.CAP,'') + ' ' + + ISNULL(CONTRATTOSEI.CITTA,'') + + CASE + WHEN CONTRATTOSEI.PROV IS NULL THEN '' + ELSE ' (' + CONTRATTOSEI.PROV + ')' + END AS IndirizzoDiContratto, + isnull(CONTRATTOSEI.PRESSO,'') AS Presso + FROM C6MARTPERIODICO.GESTIONE_PDF_FTP + INNER JOIN C6MART.CONTRATTOSEI + ON CONTRATTOSEI.RETE = GESTIONE_PDF_FTP.RETE + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CODICEFISCALE + INNER JOIN C6MARTPERIODICO.ANAG_CLIENTI + ON ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + WHERE GESTIONE_PDF_FTP.IDREPORT = @IdReport +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_AggiornaFlagContratto.sql b/sql/storedProduzione/C6MartPeriodico_RP_AggiornaFlagContratto.sql new file mode 100644 index 00000000..8bccb108 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_AggiornaFlagContratto.sql @@ -0,0 +1,119 @@ +--select * from C6MartPeriodico.CONTRATTOSEI_METADATI +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[RP_AggiornaFlagContratto] +AS +BEGIN +-- SET NOCOUNT ON added to prevent extra result sets from +-- interfering with SELECT statements. +-- SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_AggiornaFlagContratto', + GETDATE(), + 'Elaborazione giornaliera' + ) +/* +select top 1 * +from C6MartPeriodico.CONTRATTOSEI_METADATI where risorseNa is null +*/ + --AGGIORNAMENTO TABELLA CONTRATTOSEI + --FLAG RISORSE NON ASSOCIATE + --SOLO PER I CLIENTI A CUI ANDREBBE INVIATO IL REPORT + UPDATE C6MartPeriodico.CONTRATTOSEI_METADATI + SET + RisorseNA = + CASE + WHEN CLIENTIRISNA.percRisorseNA >= CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2)) THEN 'S' + ELSE 'N' + END + --AGGIUNTA perchè mancava, FABRIZIO E VALERIO per Azzeramento numero solleciti email + ,NumSolleciti = + CASE + WHEN (C6.ClienteMigrato = 'S') and (CLIENTIRISNA.percRisorseNA < CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2))) THEN 0 + ELSE NumSolleciti + END + FROM C6MartPeriodico.CONTRATTOSEI_METADATI C6 + JOIN + C6MartPeriodico.VCONTRATTI VCONTR + ON + C6.CHIAVECLIENTEPB = VCONTR.CHIAVECLIENTEPB + LEFT JOIN ( + SELECT + NA.RETE, + NA.COD_FISCALE, + CASE + WHEN TOT.CTVTOTALE = 0 THEN 0 + ELSE 100 * NA.CTVNA / TOT.CTVTOTALE + END AS percRisorseNA + FROM ( + SELECT + ISNULL(SUM(PATRBF.CTV),0) AS CTVNA, + PATRBF.RETE, PATRBF.COD_FISCALE + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + --INNER JOIN C6MartPeriodico.RP_vTuttiIContratti VCONTRATTIPERSEI + -- ON PATRBF.RETE = VCONTRATTIPERSEI.RETE + -- AND PATRBF.COD_FISCALE = VCONTRATTIPERSEI.COD_FISCALE + WHERE ID_AREA = 'Na' + GROUP BY + PATRBF.RETE, PATRBF.COD_FISCALE + ) NA + INNER JOIN ( + SELECT + SUM(PATRBF.CTV) AS CTVTOTALE, + PATRBF.RETE, PATRBF.COD_FISCALE + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + WHERE ID_AREA <> 'Cc' + GROUP BY + PATRBF.RETE, PATRBF.COD_FISCALE + ) TOT + ON TOT.RETE = NA.RETE AND TOT.COD_FISCALE = NA.COD_FISCALE + ) CLIENTIRISNA + ON VCONTR.RETE = CLIENTIRISNA.RETE + AND VCONTR.COD_FISCALE = CLIENTIRISNA.COD_FISCALE + WHERE C6.InvioBenvenuto = 'N' + --V Aggiorna il flag Profilo Attivo per i clienti che non hanno ricevuto il report + UPDATE C6MartPeriodico.CONTRATTOSEI_METADATI + SET profiloAttivo = CASE WHEN (ISNULL(MIFID.SCADUTO,1) = 1) THEN 0 ELSE 1 end + FROM C6MartPeriodico.CONTRATTOSEI_METADATI + JOIN C6MartPeriodico.VCONTRATTI + ON VCONTRATTI.CHIAVECLIENTEPB = CONTRATTOSEI_METADATI.CHIAVECLIENTEPB + LEFT JOIN C6MartPeriodico.MIFID + --ON CONTRATTOSEI_METADATI.chiaveClientePB = MIFID.chiaveClientePB + ON MIFID.RETE = VCONTRATTI.RETE + AND MIFID.COD_FISCALE = VCONTRATTI.COD_FISCALE + WHERE InvioBenvenuto = 'N' +--select * from C6MartPeriodico.VCONTRATTI + --V Aggiorna i dati di migrazione + UPDATE C6MartPeriodico.CONTRATTOSEI_METADATI + SET clienteMigrato = + case when (C6Staging.RP_Migraz_Pianificazione.chiaveClientePB is null) then 'N' + else 'S' + END + FROM C6MartPeriodico.CONTRATTOSEI_METADATI + LEFT JOIN C6Staging.RP_Migraz_Pianificazione + ON CONTRATTOSEI_METADATI.chiaveClientePB = C6Staging.RP_Migraz_Pianificazione.chiaveClientePb + WHERE InvioBenvenuto = 'N' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_AggiornaFlagContratto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_AggiornaFlagContratto' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CC_TERZI.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CC_TERZI.sql new file mode 100644 index 00000000..6c3d4937 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CC_TERZI.sql @@ -0,0 +1,105 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CC_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + --DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + --SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CC_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CC_TERZI + INSERT INTO [C6MartPeriodico].[ANAG_CC_TERZI] + ( +-- chiaveClientePB +-- , + [RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDO] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB]) + --Tutti i ContiCorrenti Terzi non a catalogo + SELECT +-- VCONTRATTI.chiaveclientepb, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + dettProdT.nomeIntermediario AS INTERMEDIARIO, + NULL AS COINTEST, + patrT.nomeProdotto AS COD_CC, + NULL AS FASCIA_CPP, + patrT.ctv AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + --INTO C6MartPeriodico.ANAG_CC_TERZI + FROM + C6StagingPeriodico.RP_PatrimonioTerzi patrT, + C6StagingPeriodico.RP_DettProdottiTerzi dettProdT, + C6StagingPeriodico.RP_AnAlberatura alber, + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] as VCONTRATTI + WHERE + dettProdT.Alberatura = alber.Alberatura + AND dettProdT.chiaveProdotto IS NULL + AND patrT.chiaveProdottoTerzi = dettProdT.chiaveProdottoTerzi + AND patrT.chiaveClientePB = VCONTRATTI.chiaveClientePB + AND alber.Livello3= 'Conti correnti' + AND patrT.tipoProd= 'Assets.FinancialAssets.CurrentAccount' + UNION ALL + --'Conti Correnti Terzi in catalogo' + SELECT +-- VCONTRATTI.chiaveclientepb, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + dettProdT.nomeIntermediario AS INTERMEDIARIO, + NULL AS COINTEST, + patrT.nomeProdotto AS COD_CC, + NULL AS FASCIA_CPP, + patrT.ctv AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + FROM + C6StagingPeriodico.RP_PatrimonioTerzi patrT, + C6StagingPeriodico.RP_DettProdottiTerzi dettProdT, + C6StagingPeriodico.RP_CatalogoProdotti catprod, + C6Mart.VCONTRATTI + WHERE + patrT.chiaveProdottoTerzi = dettprodT.chiaveProdottoTerzi + AND patrT.chiaveClientePB = VCONTRATTI.chiaveClientePB + AND dettprodT.ChiaveProdotto IS NOT NULL + AND catprod.ChiaveProdotto = dettprodT.ChiaveProdotto + AND catprod.TipoProdotto = 'CC' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ANAG_CC_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CC_TERZI_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CC_TERZI_pre_selective.sql new file mode 100644 index 00000000..6965e481 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CC_TERZI_pre_selective.sql @@ -0,0 +1,105 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CC_TERZI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + --DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + --SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CC_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CC_TERZI + INSERT INTO [C6MartPeriodico].[ANAG_CC_TERZI] + ( +-- chiaveClientePB +-- , + [RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDO] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB]) + --Tutti i ContiCorrenti Terzi non a catalogo + SELECT +-- VCONTRATTI.chiaveclientepb, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + dettProdT.nomeIntermediario AS INTERMEDIARIO, + NULL AS COINTEST, + patrT.nomeProdotto AS COD_CC, + NULL AS FASCIA_CPP, + patrT.ctv AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + --INTO C6MartPeriodico.ANAG_CC_TERZI + FROM + C6StagingPeriodico.RP_PatrimonioTerzi patrT, + C6StagingPeriodico.RP_DettProdottiTerzi dettProdT, + C6StagingPeriodico.RP_AnAlberatura alber, + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] as VCONTRATTI + WHERE + dettProdT.Alberatura = alber.Alberatura + AND dettProdT.chiaveProdotto IS NULL + AND patrT.chiaveProdottoTerzi = dettProdT.chiaveProdottoTerzi + AND patrT.chiaveClientePB = VCONTRATTI.chiaveClientePB + AND alber.Livello3= 'Conti correnti' + AND patrT.tipoProd= 'Assets.FinancialAssets.CurrentAccount' + UNION ALL + --'Conti Correnti Terzi in catalogo' + SELECT +-- VCONTRATTI.chiaveclientepb, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + dettProdT.nomeIntermediario AS INTERMEDIARIO, + NULL AS COINTEST, + patrT.nomeProdotto AS COD_CC, + NULL AS FASCIA_CPP, + patrT.ctv AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + FROM + C6StagingPeriodico.RP_PatrimonioTerzi patrT, + C6StagingPeriodico.RP_DettProdottiTerzi dettProdT, + C6StagingPeriodico.RP_CatalogoProdotti catprod, + C6Mart.VCONTRATTI + WHERE + patrT.chiaveProdottoTerzi = dettprodT.chiaveProdottoTerzi + AND patrT.chiaveClientePB = VCONTRATTI.chiaveClientePB + AND dettprodT.ChiaveProdotto IS NOT NULL + AND catprod.ChiaveProdotto = dettprodT.ChiaveProdotto + AND catprod.TipoProdotto = 'CC' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CC_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CC_TERZI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI.sql new file mode 100644 index 00000000..ef11c866 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI.sql @@ -0,0 +1,144 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CLIENTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE AS RETE, + [dbo].[FFCODICEFISCALE] (AL.CODFIS,AL.CODMAN,AL.PIVA)AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOMECLIENTE)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOMECLIENTE)) AS COGNOME, + ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + NULL AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + [dbo].[FFPIVA] (AL.CODMAN, AL.PIVA) AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODFIS,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_InfoCliente AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN2 CL + ON CL.RETE = AL.RETE + AND ( ltrim(rtrim(CL.CODFIS)) = CASE WHEN ISNULL(AL.CODFIS, '') = '' THEN AL.PIVA ELSE AL.CODFIS END ) + AND (ISNULL(CL.CODMAN, '') = ISNULL(AL.CODMAN, '')) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2) +--and al.codfis not in +--( +--'FF@8464', +--'LBRMRA73H15H501A', +--'FF@5134' +--) +------------------------------- +/* 20170409 rete + cf duplicato +--S SFRCLD60E12Z110N +--F TTLVNT44H04L746B +*/ + and AL.AGENTE is not null + and AL.chiaveclientePB != 2898828 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409.sql new file mode 100644 index 00000000..99292fb2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409.sql @@ -0,0 +1,137 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CLIENTI_20170409] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE AS RETE, + [dbo].[FFCODICEFISCALE] (AL.CODFIS,AL.CODMAN,AL.PIVA)AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOMECLIENTE)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOMECLIENTE)) AS COGNOME, + ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + NULL AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + [dbo].[FFPIVA] (AL.CODMAN, AL.PIVA) AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODFIS,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_InfoCliente AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN CL + ON CL.RETE = AL.RETE + AND ( ltrim(rtrim(CL.CODFIS)) = CASE WHEN ISNULL(AL.CODFIS, '') = '' THEN AL.PIVA ELSE AL.CODFIS END ) + AND (ISNULL(CL.CODMAN, '') = ISNULL(AL.CODMAN, '')) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN) +--and al.codfis not in +--( +--'FF@8464', +--'LBRMRA73H15H501A', +--'FF@5134' +--) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409_AGENTEisNotNull.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409_AGENTEisNotNull.sql new file mode 100644 index 00000000..4e18c418 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409_AGENTEisNotNull.sql @@ -0,0 +1,142 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CLIENTI_20170409_AGENTEisNotNull] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE AS RETE, + [dbo].[FFCODICEFISCALE] (AL.CODFIS,AL.CODMAN,AL.PIVA)AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOMECLIENTE)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOMECLIENTE)) AS COGNOME, + ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + NULL AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + [dbo].[FFPIVA] (AL.CODMAN, AL.PIVA) AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODFIS,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_InfoCliente AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN CL + ON CL.RETE = AL.RETE + AND ( ltrim(rtrim(CL.CODFIS)) = CASE WHEN ISNULL(AL.CODFIS, '') = '' THEN AL.PIVA ELSE AL.CODFIS END ) + AND (ISNULL(CL.CODMAN, '') = ISNULL(AL.CODMAN, '')) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN) +--and al.codfis not in +--( +--'FF@8464', +--'LBRMRA73H15H501A', +--'FF@5134' +--) +/* 20170409 rete + cf duplicato +--S SFRCLD60E12Z110N +--F TTLVNT44H04L746B +*/ + and AL.AGENTE is not null + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql new file mode 100644 index 00000000..a2512f1f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql @@ -0,0 +1,261 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ( + [RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + distinct +-- tabNucleo.chiaveCliente, +-- tabNucleo.clienteConParentela AS chiaveClientePB, + VCONTRATTI.RETE AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + ISNULL(SPB_CLIENTI.NOME,CLI.nome) AS NOME, + ISNULL(SPB_CLIENTI.COGNOME,CLI.cognome) AS COGNOME, + ISNULL(tabNucleo.dtNascita,SPB_CLIENTI.DATADINASCITA) AS DATA_NASCITA, + --CASE + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Married' THEN 'Coniugato' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Single' THEN 'Libero' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Married' THEN 'Coniugata' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Single' THEN 'Libera' + -- ELSE NULL + --END AS STATO_CIVILE, + NULL AS STATO_CIVILE, + tabNucleo.componentiNucleo AS NUM_COMPONENTI, + tabFigli.numFigli AS NUM_FIGLI, + FLOOR(DateDiff(Day, ISNULL(tabNucleo.dtNascita,SPB_CLIENTI.DATADINASCITA), GetDate()) / 365.25) AS ETA, + NULL AS PARTITA_IVA, + SPB_CLIENTI.CITTADINANZA AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(SPB_INDIRIZZI.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(SPB_INDIRIZZI.CITTA, '') AS LOCALITA, + ISNULL(SPB_INDIRIZZI.PROVINCIA, '') AS PROVINCIA, + ISNULL(SPB_INDIRIZZI.CAP, '') AS CAP, + ISNULL(SPB_INDIRIZZI.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + VCONTRATTI.EMAIL AS E_MAIL, + SPB_CLIENTI.DATAATTIVAZIONECLIENTE AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + CASE + WHEN SUBSTRING(VCONTRATTI.COD_FISCALE,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + VCONTRATTI.COD_AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO [C6MartPeriodico].[RP_ANAG_CLIENTI] + FROM + C6Martperiodico.rp_VCONTRATTIpergenerazionereport VCONTRATTI + LEFT JOIN + (select + COUNT(*) as componentiNucleo, + chiaveClientePB1 as clienteConParentela, + cl.chiaveCliente, + cl.nome, + cl.cognome, + cl.dtNascita + from + C6staging.RP_Parentela p + inner join C6staging.RP_GradoParentela g + on p.idparentela = g.idparentela + inner join C6Staging.RP_ClientePB c + on c.chiaveClientePB = p.chiaveClientePB1 + inner join C6Staging.RP_Cliente cl + on c.chiaveCliente = cl.chiaveCliente + group by + chiaveClientePB1, cl.chiaveCliente, cl.nome, cl.cognome, cl.dtNascita) tabNucleo + ON + VCONTRATTI.chiaveClientePB = tabNucleo.clienteConParentela + LEFT JOIN + (select + COUNT(*) as numFigli, + chiaveClientePB1 as clienteConParentela, + cl.chiaveCliente, + cl.nome, + cl.cognome, + cl.dtNascita + from + C6staging.RP_Parentela p + inner join C6staging.RP_GradoParentela g + on p.idparentela = g.idparentela + inner join C6Staging.RP_ClientePB c + on c.chiaveClientePB = p.chiaveClientePB1 + inner join C6Staging.RP_Cliente cl + on c.chiaveCliente = cl.chiaveCliente + where + g.descParentela in ('Figlio','Figlia','Figlio del partner','figlia del partner') + group by + chiaveClientePB1, cl.chiaveCliente, cl.nome, cl.cognome, cl.dtNascita) tabFigli + ON + VCONTRATTI.chiaveClientePB = tabFigli.clienteConParentela + AND + tabFigli.clienteConParentela = tabNucleo.clienteConParentela + LEFT OUTER JOIN + C6STAGING.SPB_CLIENTI + ON + C6STAGING.SPB_CLIENTI.CODICERETE = VCONTRATTI.RETE + AND C6STAGING.SPB_CLIENTI.CODICEFISCALE = VCONTRATTI.COD_FISCALE + LEFT OUTER JOIN + C6STAGING.SPB_INDIRIZZI + ON + C6STAGING.SPB_INDIRIZZI.RETE = VCONTRATTI.RETE + AND C6STAGING.SPB_INDIRIZZI.CODICEFISCALE = VCONTRATTI.COD_FISCALE + JOIN + C6MART.CONTRATTOSEI_METADATI METADATI + ON + VCONTRATTI.CHIAVECLIENTEPB = METADATI.CHIAVECLIENTEPB + --Modifica del 12/6/2019 per evitare righe duplicate + join C6Staging.RP_ClientePB c + on c.chiaveclientepb = vcontratti.chiaveclientepb + --fine Modifica del 12/6/2019 + LEFT JOIN c6staging.RP_Cliente CLI + ON + VCONTRATTI.COD_FISCALE = CASE + WHEN (LEN(CLI.CODFIS) = 16) THEN CLI.CODFIS + WHEN (LEN(CLI.CODMAN) = 0 AND LEN(CLI.PIVA) > 0) THEN CLI.PIVA + ELSE 'FF@'+CODMAN + END + --Modifica del 12/6/2019 per evitare righe duplicate + and cli.chiavecliente = c.chiavecliente + --fine Modifica del 12/6/2019 +/* + SELECT + AL.RETE AS RETE, + [dbo].[FFCODICEFISCALE] (AL.CODFIS,AL.CODMAN,AL.PIVA)AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOMECLIENTE)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOMECLIENTE)) AS COGNOME, + ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + NULL AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + [dbo].[FFPIVA] (AL.CODMAN, AL.PIVA) AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODFIS,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_InfoCliente AL +-- LEFT JOIN C6STAGINGPERIODICO.WSEIAN CL +-- ON CL.RETE = AL.RETE +-- AND ( ltrim(rtrim(CL.CODFIS)) = CASE WHEN ISNULL(AL.CODFIS, '') = '' THEN AL.PIVA ELSE AL.CODFIS END ) +-- AND (ISNULL(CL.CODMAN, '') = ISNULL(AL.CODMAN, '')) +-- WHERE CL.DTTRIM = ( +-- SELECT MAX(DTTRIM) +-- FROM C6StagingPeriodico.WSEIAN +-- ) +*/ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL_20190612.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL_20190612.sql new file mode 100644 index 00000000..07f2df83 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL_20190612.sql @@ -0,0 +1,254 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL_20190612] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ( + [RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + distinct +-- tabNucleo.chiaveCliente, +-- tabNucleo.clienteConParentela AS chiaveClientePB, + VCONTRATTI.RETE AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + ISNULL(SPB_CLIENTI.NOME,CLI.nome) AS NOME, + ISNULL(SPB_CLIENTI.COGNOME,CLI.cognome) AS COGNOME, + ISNULL(tabNucleo.dtNascita,SPB_CLIENTI.DATADINASCITA) AS DATA_NASCITA, + --CASE + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Married' THEN 'Coniugato' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Single' THEN 'Libero' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Married' THEN 'Coniugata' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Single' THEN 'Libera' + -- ELSE NULL + --END AS STATO_CIVILE, + NULL AS STATO_CIVILE, + tabNucleo.componentiNucleo AS NUM_COMPONENTI, + tabFigli.numFigli AS NUM_FIGLI, + FLOOR(DateDiff(Day, ISNULL(tabNucleo.dtNascita,SPB_CLIENTI.DATADINASCITA), GetDate()) / 365.25) AS ETA, + NULL AS PARTITA_IVA, + SPB_CLIENTI.CITTADINANZA AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(SPB_INDIRIZZI.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(SPB_INDIRIZZI.CITTA, '') AS LOCALITA, + ISNULL(SPB_INDIRIZZI.PROVINCIA, '') AS PROVINCIA, + ISNULL(SPB_INDIRIZZI.CAP, '') AS CAP, + ISNULL(SPB_INDIRIZZI.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + VCONTRATTI.EMAIL AS E_MAIL, + SPB_CLIENTI.DATAATTIVAZIONECLIENTE AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + CASE + WHEN SUBSTRING(VCONTRATTI.COD_FISCALE,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + VCONTRATTI.COD_AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO [C6MartPeriodico].[RP_ANAG_CLIENTI] + FROM + C6Martperiodico.rp_VCONTRATTIpergenerazionereport VCONTRATTI + LEFT JOIN + (select + COUNT(*) as componentiNucleo, + chiaveClientePB1 as clienteConParentela, + cl.chiaveCliente, + cl.nome, + cl.cognome, + cl.dtNascita + from + C6staging.RP_Parentela p + inner join C6staging.RP_GradoParentela g + on p.idparentela = g.idparentela + inner join C6Staging.RP_ClientePB c + on c.chiaveClientePB = p.chiaveClientePB1 + inner join C6Staging.RP_Cliente cl + on c.chiaveCliente = cl.chiaveCliente + group by + chiaveClientePB1, cl.chiaveCliente, cl.nome, cl.cognome, cl.dtNascita) tabNucleo + ON + VCONTRATTI.chiaveClientePB = tabNucleo.clienteConParentela + LEFT JOIN + (select + COUNT(*) as numFigli, + chiaveClientePB1 as clienteConParentela, + cl.chiaveCliente, + cl.nome, + cl.cognome, + cl.dtNascita + from + C6staging.RP_Parentela p + inner join C6staging.RP_GradoParentela g + on p.idparentela = g.idparentela + inner join C6Staging.RP_ClientePB c + on c.chiaveClientePB = p.chiaveClientePB1 + inner join C6Staging.RP_Cliente cl + on c.chiaveCliente = cl.chiaveCliente + where + g.descParentela in ('Figlio','Figlia','Figlio del partner','figlia del partner') + group by + chiaveClientePB1, cl.chiaveCliente, cl.nome, cl.cognome, cl.dtNascita) tabFigli + ON + VCONTRATTI.chiaveClientePB = tabFigli.clienteConParentela + AND + tabFigli.clienteConParentela = tabNucleo.clienteConParentela + LEFT OUTER JOIN + C6STAGING.SPB_CLIENTI + ON + C6STAGING.SPB_CLIENTI.CODICERETE = VCONTRATTI.RETE + AND C6STAGING.SPB_CLIENTI.CODICEFISCALE = VCONTRATTI.COD_FISCALE + LEFT OUTER JOIN + C6STAGING.SPB_INDIRIZZI + ON + C6STAGING.SPB_INDIRIZZI.RETE = VCONTRATTI.RETE + AND C6STAGING.SPB_INDIRIZZI.CODICEFISCALE = VCONTRATTI.COD_FISCALE + JOIN + C6MART.CONTRATTOSEI_METADATI METADATI + ON + VCONTRATTI.CHIAVECLIENTEPB = METADATI.CHIAVECLIENTEPB + LEFT JOIN c6staging.RP_Cliente CLI + ON + VCONTRATTI.COD_FISCALE = CASE + WHEN (LEN(CLI.CODFIS) = 16) THEN CLI.CODFIS + WHEN (LEN(CLI.CODMAN) = 0 AND LEN(CLI.PIVA) > 0) THEN CLI.PIVA + ELSE 'FF@'+CODMAN + END +/* + SELECT + AL.RETE AS RETE, + [dbo].[FFCODICEFISCALE] (AL.CODFIS,AL.CODMAN,AL.PIVA)AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOMECLIENTE)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOMECLIENTE)) AS COGNOME, + ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + NULL AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + [dbo].[FFPIVA] (AL.CODMAN, AL.PIVA) AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODFIS,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_InfoCliente AL +-- LEFT JOIN C6STAGINGPERIODICO.WSEIAN CL +-- ON CL.RETE = AL.RETE +-- AND ( ltrim(rtrim(CL.CODFIS)) = CASE WHEN ISNULL(AL.CODFIS, '') = '' THEN AL.PIVA ELSE AL.CODFIS END ) +-- AND (ISNULL(CL.CODMAN, '') = ISNULL(AL.CODMAN, '')) +-- WHERE CL.DTTRIM = ( +-- SELECT MAX(DTTRIM) +-- FROM C6StagingPeriodico.WSEIAN +-- ) +*/ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI_pre_selective.sql new file mode 100644 index 00000000..4e92290a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_CLIENTI_pre_selective.sql @@ -0,0 +1,137 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CLIENTI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE AS RETE, + [dbo].[FFCODICEFISCALE] (AL.CODFIS,AL.CODMAN,AL.PIVA)AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOMECLIENTE)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOMECLIENTE)) AS COGNOME, + ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + NULL AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + [dbo].[FFPIVA] (AL.CODMAN, AL.PIVA) AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODFIS,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_InfoCliente AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN2 CL + ON CL.RETE = AL.RETE + AND ( ltrim(rtrim(CL.CODFIS)) = CASE WHEN ISNULL(AL.CODFIS, '') = '' THEN AL.PIVA ELSE AL.CODFIS END ) + AND (ISNULL(CL.CODMAN, '') = ISNULL(AL.CODMAN, '')) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2) +--and al.codfis not in +--( +--'FF@8464', +--'LBRMRA73H15H501A', +--'FF@5134' +--) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CLIENTI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CLIENTI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI.sql new file mode 100644 index 00000000..ea6bf04b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI.sql @@ -0,0 +1,94 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PRODOTTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_PRODOTTI + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI] + (--ChiaveProdotto, + [COD_PRODOTTO] + ,[COD_ISIN] + ,[PAESE] + ,[ID_AREA] + ,[CAT_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[COD_MAF] + ,[RATING] + ,[COD_ADEGUATEZZA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[DT_SCADENZA] + ,[TIPO_EMITTENTE] + ,[TIPO_TASSO] + ,[FLG_OB]) + SELECT + --ChiaveProdotto, + CatalogueID AS COD_PRODOTTO, + ISNULL(CodIsin, '') AS COD_ISIN, + NULL AS PAESE, + '' AS ID_AREA, + (SELECT CASE + WHEN a.Livello1 like '%Assicurativo%' THEN 'Gestito Finanziario' + else a.Livello1 + END) AS CAT_PRODOTTO, + TipoProdotto AS TIPO_PRODOTTO, + NomeProdotto AS DESCR_PRODOTTO, + PrezzoValuta AS DIV_QUOTAZIONE, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + CodMaf AS COD_MAF, + case when LTRIM(RTRIM(RATINGobbligazioni)) = '' THEN null ELSE RATINGobbligazioni end AS RATING, + CodAdeguatezza AS COD_ADEGUATEZZA, + CodSottoprodotto AS COD_SOTTOPRODOTTO, + ISNULL(CodInterno, '') AS COD_INTERNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + DtScadenza, + TIP_EMITTENTE, + TIP_TASSO, + CASE WHEN c.Alberatura = 98 THEN 'S' ELSE 'N' END AS FLG_OB + FROM C6StagingPeriodico.RP_CatalogoProdotti c +Inner Join C6StagingPeriodico.RP_AnAlberatura a + ON c.Alberatura = a.Alberatura + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI.sql new file mode 100644 index 00000000..1f16c826 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI.sql @@ -0,0 +1,80 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_PRODOTTI_TERZI + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_TERZI] + ([COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[NOME_PRODOTTO] + ,[ALBERO_PRODOTTI] + ,[COD_ISIN] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[INTERMEDIARIO] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[PAESE] + ,[RATING] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + --C6MartPeriodico.VCONTRATTI.chiaveClientePB AS chiaveClientePB, + C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdotto AS COD_PRODOTTO, + ISNULL(Mapping.Temp_oidProd ,C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, + C6StagingPeriodico.RP_PatrimonioTerzi.nomeProdotto AS NOME_PRODOTTO, + NULL AS ALBERO_PRODOTTI, + NULL AS COD_ISIN, + C6StagingPeriodico.RP_PatrimonioTerzi.tipoprod AS DESCR_PRODOTTO, + NULL AS DIV_QUOTAZIONE, + C6StagingPeriodico.RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + NULL AS PAESE, + NULL AS RATING, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_DettProdottiTerzi + INNER JOIN C6StagingPeriodico.RP_PatrimonioTerzi + ON C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdottoTerzi = C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCONTRATTI + ON C6StagingPeriodico.RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + LEFT JOIN C6StagingPeriodico.RP_MappingTerzi Mapping + ON C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdottoTerzi = Mapping.chiaveProdottoTerzi + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql new file mode 100644 index 00000000..c47cfb15 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql @@ -0,0 +1,80 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_TERZI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_PRODOTTI_TERZI + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_TERZI] + ([COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[NOME_PRODOTTO] + ,[ALBERO_PRODOTTI] + ,[COD_ISIN] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[INTERMEDIARIO] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[PAESE] + ,[RATING] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + --C6MartPeriodico.VCONTRATTI.chiaveClientePB AS chiaveClientePB, + C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdotto AS COD_PRODOTTO, + ISNULL(Mapping.Temp_oidProd ,C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, + C6StagingPeriodico.RP_PatrimonioTerzi.nomeProdotto AS NOME_PRODOTTO, + NULL AS ALBERO_PRODOTTI, + NULL AS COD_ISIN, + C6StagingPeriodico.RP_PatrimonioTerzi.tipoprod AS DESCR_PRODOTTO, + NULL AS DIV_QUOTAZIONE, + C6StagingPeriodico.RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + NULL AS PAESE, + NULL AS RATING, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_DettProdottiTerzi + INNER JOIN C6StagingPeriodico.RP_PatrimonioTerzi + ON C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdottoTerzi = C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCONTRATTI + ON C6StagingPeriodico.RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + LEFT JOIN C6StagingPeriodico.RP_MappingTerzi Mapping + ON C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdottoTerzi = Mapping.chiaveProdottoTerzi + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE.sql new file mode 100644 index 00000000..5651561d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE.sql @@ -0,0 +1,52 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_VALUTE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_VALUTE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].ANAG_PRODOTTI_VALUTE + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_VALUTE] + SELECT DISTINCT --added by pk 20160506 + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + VALUTE.DIVISA, + CAST (VALUTE.PESO AS DECIMAL (6,3)), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(ChiaveProdotto) AS ChiaveProdotto + FROM C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.ChiaveProdotto = DOPPICATITEMREF.ChiaveProdotto + INNER JOIN + [C6StagingPeriodico].[RP_RDR_VALUTE_DB_DTGIORNALIERI] VALUTE + ON VALUTE.CHIAVEPRODOTTO = CATITEMREF.ChiaveProdotto + where VALUTE.PESO >= -999.099 and VALUTE.PESO <= 999.099 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK.sql new file mode 100644 index 00000000..47c5f4b0 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK.sql @@ -0,0 +1,51 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_VALUTE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].ANAG_PRODOTTI_VALUTE + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_VALUTE] + SELECT /*pkDISTINCTpk*/ --added by pk 20160506 + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + VALUTE.DIVISA, + CAST (VALUTE.PESO AS DECIMAL (6,3)), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(ChiaveProdotto) AS ChiaveProdotto + FROM C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.ChiaveProdotto = DOPPICATITEMREF.ChiaveProdotto + INNER JOIN + [C6StagingPeriodico].[RP_RDR_VALUTE_DB_DTGIORNALIERI] VALUTE + ON VALUTE.CHIAVEPRODOTTO = CATITEMREF.ChiaveProdotto + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql new file mode 100644 index 00000000..db4e5d64 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql @@ -0,0 +1,51 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].ANAG_PRODOTTI_VALUTE + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_VALUTE] + SELECT DISTINCT --added by pk 20160506 + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + VALUTE.DIVISA, + CAST (VALUTE.PESO AS DECIMAL (6,3)), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(ChiaveProdotto) AS ChiaveProdotto + FROM C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.ChiaveProdotto = DOPPICATITEMREF.ChiaveProdotto + INNER JOIN + [C6StagingPeriodico].[RP_RDR_VALUTE_DB_DTGIORNALIERI] VALUTE + ON VALUTE.CHIAVEPRODOTTO = CATITEMREF.ChiaveProdotto + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_pre_selective.sql new file mode 100644 index 00000000..f48f3947 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_pre_selective.sql @@ -0,0 +1,94 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_PRODOTTI + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI] + (--ChiaveProdotto, + [COD_PRODOTTO] + ,[COD_ISIN] + ,[PAESE] + ,[ID_AREA] + ,[CAT_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[COD_MAF] + ,[RATING] + ,[COD_ADEGUATEZZA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[DT_SCADENZA] + ,[TIPO_EMITTENTE] + ,[TIPO_TASSO] + ,[FLG_OB]) + SELECT + --ChiaveProdotto, + CatalogueID AS COD_PRODOTTO, + ISNULL(CodIsin, '') AS COD_ISIN, + NULL AS PAESE, + '' AS ID_AREA, + (SELECT CASE + WHEN a.Livello1 like '%Assicurativo%' THEN 'Gestito Finanziario' + else a.Livello1 + END) AS CAT_PRODOTTO, + TipoProdotto AS TIPO_PRODOTTO, + NomeProdotto AS DESCR_PRODOTTO, + PrezzoValuta AS DIV_QUOTAZIONE, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + CodMaf AS COD_MAF, + case when LTRIM(RTRIM(RATINGobbligazioni)) = '' THEN null ELSE RATINGobbligazioni end AS RATING, + CodAdeguatezza AS COD_ADEGUATEZZA, + CodSottoprodotto AS COD_SOTTOPRODOTTO, + ISNULL(CodInterno, '') AS COD_INTERNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + DtScadenza, + TIP_EMITTENTE, + TIP_TASSO, + CASE WHEN c.Alberatura = 98 THEN 'S' ELSE 'N' END AS FLG_OB + FROM C6StagingPeriodico.RP_CatalogoProdotti c +Inner Join C6StagingPeriodico.RP_AnAlberatura a + ON c.Alberatura = a.Alberatura + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PROMOTORI.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PROMOTORI.sql new file mode 100644 index 00000000..a5ad3678 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PROMOTORI.sql @@ -0,0 +1,144 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PROMOTORI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PROMOTORI', + GETDATE(), + 'Elaborazione trimestrale' + ); +--aggiunta 11/07/2022 per problema ai pb + --select * + --into #email_unico + --from C6MartPeriodico.EMAIL_PB where email is not null + --fine aggiunta 11/07/2022 per problema ai pb + --aggiunta 12/12/2023 per problema ai pb + WITH CTE AS ( + SELECT + *, + ROW_NUMBER() OVER (PARTITION BY codice,rete ORDER BY id_elab DESC) AS RowNum + FROM + C6MartPeriodico.EMAIL_PB + WHERE + email IS NOT NULL +) +SELECT * +INTO #email_unico +FROM CTE +WHERE RowNum = 1 +--fine 12/12/2023 per problema ai pb + TRUNCATE TABLE C6MartPeriodico.ANAG_PROMOTORI + INSERT INTO [C6MartPeriodico].[ANAG_PROMOTORI] + ([RETE] + ,[ID_PROMOTORE] + ,[LIVELLO] + ,[COD_FISCALE] + ,[PARTITA_IVA] + ,[COGNOME] + ,[NOME] + ,[RAG_SOC] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[COD_ABI] + ,[COD_CAB] + ,[COD_CIN] + ,[COD_CC] + ,[STATO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + PB.RETE AS RETE, + PB.codage AS ID_PROMOTORE, + 'PB' AS LIVELLO, + --SPB_NAC.LIVELLONELLAGERARCHIA AS LIVELLO, + NULL AS COD_FISCALE, + NULL AS PARTITA_IVA, + rtrim(ltrim(PB.COGNOME)) AS COGNOME, + rtrim(ltrim(PB.NOME)) AS NOME, + NULL AS RAG_SOC, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + --CASE WHEN PB.DataInizioCollaborazione=0 THEN NULL ELSE + --CAST(CAST(PB.DataInizioCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_INIZIO, + --CASE WHEN PB.DataFineCollaborazione=0 THEN NULL ELSE + --CAST(CAST(PB.DataFineCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_FINE, + rtrim(ltrim(PB.INDIRIZZO)) AS INDIRIZZO, + rtrim(ltrim(PB.CITTA)) AS LOCALITA, + rtrim(ltrim(PB.PROVINCIA)) AS PROVINCIA, + rtrim(ltrim(PB.CAP)) AS CAP, + NULL AS NAZIONE, + rtrim(ltrim(PB.PREFISSO + PB.TELEFONO1)) AS TEL_RECAPITO, + NULL AS TEL_CELL, + rtrim(ltrim(EMAIL_PB.EMAIL)) AS E_MAIL, + NULL AS COD_ABI, + NULL AS COD_CAB, + NULL AS COD_CIN, + NULL AS COD_CC, + --CASE + -- WHEN SPB_NAC.CODICEAGENTE IS NULL THEN 'TERMINATO' + -- ELSE + CASE + WHEN PF.RETE IS NULL THEN 'ATTIVO' + ELSE 'FITTIZIO' + END + --END + AS STATO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_anagrafica_promotori PB + LEFT JOIN #email_unico EMAIL_PB --11/07/2022 prima c'era C6MartPeriodico.EMAIL_PB + ON PB.RETE = EMAIL_PB.RETE + AND PB.codage = EMAIL_PB.CODICE +-- LEFT JOIN C6STAGING.SPB_NAC SPB_NAC +-- ON PB.RETE = SPB_NAC.CODICERETE +-- AND PB.codage = SPB_NAC.CODICEAGENTE + LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON (PB.codage BETWEEN PF.CODICEDA AND PF.CODICEA) + AND PB.RETE = PF.RETE +WHERE + PB.stato = 'A' and + EMAIL_PB.EMAIL <> 'andrea.novaro1@fideuram.it' --FORZATURA DEL 14-12-2022 CHIAVE DUPLICATA + --Aggiunta Valerio non inserisco in anagrafica pb terminati in quanto non hanno il livello +-- and SPB_NAC.CODICEAGENTE is not null + --AND ADS4WS_PROMOTORI.CODICE NOT IN ('009202')--,'014908') +---eliminato il filtro su '005772' 04/08/2010 +---eliminato il filtro su'003064' 12/08/2010 +---eliminato il filtro su '010712' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PROMOTORI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ANAG_PROMOTORI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PROMOTORI_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PROMOTORI_pre_selective.sql new file mode 100644 index 00000000..a27bbccf --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ANAG_PROMOTORI_pre_selective.sql @@ -0,0 +1,123 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PROMOTORI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PROMOTORI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_PROMOTORI + INSERT INTO [C6MartPeriodico].[ANAG_PROMOTORI] + ([RETE] + ,[ID_PROMOTORE] + ,[LIVELLO] + ,[COD_FISCALE] + ,[PARTITA_IVA] + ,[COGNOME] + ,[NOME] + ,[RAG_SOC] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[COD_ABI] + ,[COD_CAB] + ,[COD_CIN] + ,[COD_CC] + ,[STATO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + PB.RETE AS RETE, + PB.codage AS ID_PROMOTORE, + 'PB' AS LIVELLO, + --SPB_NAC.LIVELLONELLAGERARCHIA AS LIVELLO, + NULL AS COD_FISCALE, + NULL AS PARTITA_IVA, + rtrim(ltrim(PB.COGNOME)) AS COGNOME, + rtrim(ltrim(PB.NOME)) AS NOME, + NULL AS RAG_SOC, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + --CASE WHEN PB.DataInizioCollaborazione=0 THEN NULL ELSE + --CAST(CAST(PB.DataInizioCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_INIZIO, + --CASE WHEN PB.DataFineCollaborazione=0 THEN NULL ELSE + --CAST(CAST(PB.DataFineCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_FINE, + rtrim(ltrim(PB.INDIRIZZO)) AS INDIRIZZO, + rtrim(ltrim(PB.CITTA)) AS LOCALITA, + rtrim(ltrim(PB.PROVINCIA)) AS PROVINCIA, + rtrim(ltrim(PB.CAP)) AS CAP, + NULL AS NAZIONE, + rtrim(ltrim(PB.PREFISSO + PB.TELEFONO1)) AS TEL_RECAPITO, + NULL AS TEL_CELL, + rtrim(ltrim(EMAIL_PB.EMAIL)) AS E_MAIL, + NULL AS COD_ABI, + NULL AS COD_CAB, + NULL AS COD_CIN, + NULL AS COD_CC, + --CASE + -- WHEN SPB_NAC.CODICEAGENTE IS NULL THEN 'TERMINATO' + -- ELSE + CASE + WHEN PF.RETE IS NULL THEN 'ATTIVO' + ELSE 'FITTIZIO' + END + --END + AS STATO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_anagrafica_promotori PB + LEFT JOIN C6MartPeriodico.EMAIL_PB EMAIL_PB + ON PB.RETE = EMAIL_PB.RETE + AND PB.codage = EMAIL_PB.CODICE +-- LEFT JOIN C6STAGING.SPB_NAC SPB_NAC +-- ON PB.RETE = SPB_NAC.CODICERETE +-- AND PB.codage = SPB_NAC.CODICEAGENTE + LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON (PB.codage BETWEEN PF.CODICEDA AND PF.CODICEA) + AND PB.RETE = PF.RETE +WHERE + PB.stato = 'A' + --Aggiunta Valerio non inserisco in anagrafica pb terminati in quanto non hanno il livello +-- and SPB_NAC.CODICEAGENTE is not null + --AND ADS4WS_PROMOTORI.CODICE NOT IN ('009202')--,'014908') +---eliminato il filtro su '005772' 04/08/2010 +---eliminato il filtro su'003064' 12/08/2010 +---eliminato il filtro su '010712' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PROMOTORI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PROMOTORI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_AREA_BISOGNO.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_AREA_BISOGNO.sql new file mode 100644 index 00000000..36a9bc1f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_AREA_BISOGNO.sql @@ -0,0 +1,47 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_AREA_BISOGNO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + TRUNCATE TABLE C6MartPeriodico.AREA_BISOGNO + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_AREA_BISOGNO', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MartPeriodico.[AREA_BISOGNO] + ([ID_AREA] + ,[NOME_AREA] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(Area)) AS ID_AREA, + LTRIM(RTRIM(Descrizione)) AS NOME_AREA, + Ordinamento AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.RP_NEEDAREA + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_AREA_BISOGNO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_AREA_BISOGNO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_AREA_BISOGNO_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_AREA_BISOGNO_pre_selective.sql new file mode 100644 index 00000000..acfe357d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_AREA_BISOGNO_pre_selective.sql @@ -0,0 +1,47 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_AREA_BISOGNO_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + TRUNCATE TABLE C6MartPeriodico.AREA_BISOGNO + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_AREA_BISOGNO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MartPeriodico.[AREA_BISOGNO] + ([ID_AREA] + ,[NOME_AREA] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(Area)) AS ID_AREA, + LTRIM(RTRIM(Descrizione)) AS NOME_AREA, + Ordinamento AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.RP_NEEDAREA + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_AREA_BISOGNO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_AREA_BISOGNO_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSETCLASS.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSETCLASS.sql new file mode 100644 index 00000000..4838e80f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSETCLASS.sql @@ -0,0 +1,59 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from C6MartPeriodico.assetclass +CREATE procedure [C6MartPeriodico].[RP_DM_ASSETCLASS] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ASSETCLASS + INSERT INTO [C6MartPeriodico].[ASSETCLASS] + ([ID_ASSETCLASS] + ,[DESCRIZIONE] + ,[LIVELLO] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + A.ASSET AS ID_ASSETCLASS, + A.DESCRIZIONE AS DESCRIZIONE, + A.LIVELLO AS LIVELLO, + B.ORDINAMENTO_ASSET AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.RP_ASSETCLASS A + JOIN + C6STAGINGPERIODICO.RP_REP_ASSET_1_E_2_ORDINATE B + ON A.ASSET = B.CODICE_ASSET_CLASS_INGRESSO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ASSETCLASS' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI.sql new file mode 100644 index 00000000..eefeb1cf --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI.sql @@ -0,0 +1,58 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from [C6MartPeriodico].[ASSETCLASS_TERZI] +--[C6MartPeriodico].[DM_ASSETCLASS_TERZI] +CREATE procedure [C6MartPeriodico].[RP_DM_ASSETCLASS_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ASSETCLASS_TERZI + INSERT INTO [C6MartPeriodico].[ASSETCLASS_TERZI] + ([ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_ADEGUATEZZA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + B.CODICE_ASSET_CLASS_INGRESSO, + B.CODICE_ISIN, + B.CODICE_MAF, + ISNULL(B.CODICE_ADEGUATEZZA,'$'), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.RP_REP_ASSET_1_E_2_ORDINATE B + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI_pre_selective.sql new file mode 100644 index 00000000..0a780a17 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI_pre_selective.sql @@ -0,0 +1,58 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from [C6MartPeriodico].[ASSETCLASS_TERZI] +--[C6MartPeriodico].[DM_ASSETCLASS_TERZI] +CREATE procedure [C6MartPeriodico].[RP_DM_ASSETCLASS_TERZI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ASSETCLASS_TERZI + INSERT INTO [C6MartPeriodico].[ASSETCLASS_TERZI] + ([ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_ADEGUATEZZA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + B.CODICE_ASSET_CLASS_INGRESSO, + B.CODICE_ISIN, + B.CODICE_MAF, + ISNULL(B.CODICE_ADEGUATEZZA,'$'), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.RP_REP_ASSET_1_E_2_ORDINATE B + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSETCLASS_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSETCLASS_pre_selective.sql new file mode 100644 index 00000000..cd027265 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSETCLASS_pre_selective.sql @@ -0,0 +1,59 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from C6MartPeriodico.assetclass +CREATE procedure [C6MartPeriodico].[RP_DM_ASSETCLASS_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ASSETCLASS + INSERT INTO [C6MartPeriodico].[ASSETCLASS] + ([ID_ASSETCLASS] + ,[DESCRIZIONE] + ,[LIVELLO] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + A.ASSET AS ID_ASSETCLASS, + A.DESCRIZIONE AS DESCRIZIONE, + A.LIVELLO AS LIVELLO, + B.ORDINAMENTO_ASSET AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.RP_ASSETCLASS A + JOIN + C6STAGINGPERIODICO.RP_REP_ASSET_1_E_2_ORDINATE B + ON A.ASSET = B.CODICE_ASSET_CLASS_INGRESSO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSETCLASS_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSET_PERC.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSET_PERC.sql new file mode 100644 index 00000000..ab4065f5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSET_PERC.sql @@ -0,0 +1,73 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ASSET_PERC] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ASSET_PERC + INSERT INTO [C6MartPeriodico].[ASSET_PERC] + ([COD_PRODOTTO] + ,[ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[LIVELLO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + cat.CatalogueID AS COD_PRODOTTO, + LTRIM(RTRIM(ac.Asset)) AS ID_ASSETCLASS, + cat.CodIsin AS COD_ISIN, + cat.CodMaf AS COD_MAF, + cat.CodInterno AS COD_INTERNO, + cat.CodSottoprodotto AS COD_SOTTOPRODOTTO, + ac.Livello AS LIVELLO, + LTRIM(RTRIM(map.Percentuale)) AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.RP_Mappatura AS map + INNER JOIN + C6StagingPeriodico.RP_AssetClass AS ac + ON + map.Asset = ac.Asset + INNER JOIN + C6StagingPeriodico.RP_CatalogoProdotti cat + ON + map.ChiaveProdotto = cat.ChiaveProdotto + where map.Percentuale >= -999.099 and map.Percentuale <= 999.099 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ASSET_PERC' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI.sql new file mode 100644 index 00000000..bbd3569e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI.sql @@ -0,0 +1,80 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ASSET_PERC_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ASSET_PERC_TERZI + INSERT INTO [C6MartPeriodico].[ASSET_PERC_TERZI] + ([COD_PRODOTTO_TERZI] -- + ,[ID_ASSETCLASS] -- + ,[LIVELLO] -- + ,[NOME_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[PERC] -- + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ISNULL(Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, + RP_AssetClass.Asset AS ID_ASSETCLASS, + RP_AssetClass.Livello AS LIVELLO, + NULL AS NOME_PRODOTTO, + NULL AS TIPO_PRODOTTO, + RP_MappaturaPT.percentuale / 100 AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.RP_PatrimonioTerzi + INNER JOIN + C6StagingPeriodico.RP_DettProdottiTerzi + ON + C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + ON + C6StagingPeriodico.RP_DettProdottiTerzi.alberatura = C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + INNER JOIN + C6StagingPeriodico.RP_MappaturaPT + ON + C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6StagingPeriodico.RP_MappaturaPT.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodico.RP_AssetClass + ON + C6StagingPeriodico.RP_MappaturaPT.asset = C6StagingPeriodico.RP_AssetClass.Asset + LEFT JOIN + C6StagingPeriodico.RP_MappingTerzi Mapping + ON + C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi = Mapping.chiaveProdottoTerzi + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI_pre_selective.sql new file mode 100644 index 00000000..71fe64fe --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI_pre_selective.sql @@ -0,0 +1,80 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ASSET_PERC_TERZI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ASSET_PERC_TERZI + INSERT INTO [C6MartPeriodico].[ASSET_PERC_TERZI] + ([COD_PRODOTTO_TERZI] -- + ,[ID_ASSETCLASS] -- + ,[LIVELLO] -- + ,[NOME_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[PERC] -- + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ISNULL(Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, + RP_AssetClass.Asset AS ID_ASSETCLASS, + RP_AssetClass.Livello AS LIVELLO, + NULL AS NOME_PRODOTTO, + NULL AS TIPO_PRODOTTO, + RP_MappaturaPT.percentuale / 100 AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.RP_PatrimonioTerzi + INNER JOIN + C6StagingPeriodico.RP_DettProdottiTerzi + ON + C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + ON + C6StagingPeriodico.RP_DettProdottiTerzi.alberatura = C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + INNER JOIN + C6StagingPeriodico.RP_MappaturaPT + ON + C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6StagingPeriodico.RP_MappaturaPT.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodico.RP_AssetClass + ON + C6StagingPeriodico.RP_MappaturaPT.asset = C6StagingPeriodico.RP_AssetClass.Asset + LEFT JOIN + C6StagingPeriodico.RP_MappingTerzi Mapping + ON + C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi = Mapping.chiaveProdottoTerzi + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSET_PERC_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSET_PERC_pre_selective.sql new file mode 100644 index 00000000..a7a2a4f0 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ASSET_PERC_pre_selective.sql @@ -0,0 +1,72 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ASSET_PERC_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ASSET_PERC + INSERT INTO [C6MartPeriodico].[ASSET_PERC] + ([COD_PRODOTTO] + ,[ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[LIVELLO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + cat.CatalogueID AS COD_PRODOTTO, + LTRIM(RTRIM(ac.Asset)) AS ID_ASSETCLASS, + cat.CodIsin AS COD_ISIN, + cat.CodMaf AS COD_MAF, + cat.CodInterno AS COD_INTERNO, + cat.CodSottoprodotto AS COD_SOTTOPRODOTTO, + ac.Livello AS LIVELLO, + LTRIM(RTRIM(map.Percentuale)) AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.RP_Mappatura AS map + INNER JOIN + C6StagingPeriodico.RP_AssetClass AS ac + ON + map.Asset = ac.Asset + INNER JOIN + C6StagingPeriodico.RP_CatalogoProdotti cat + ON + map.ChiaveProdotto = cat.ChiaveProdotto + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSET_PERC_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_BONIFICA_DTRIF0_TSCABP.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_BONIFICA_DTRIF0_TSCABP.sql new file mode 100644 index 00000000..c17f0b4a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_BONIFICA_DTRIF0_TSCABP.sql @@ -0,0 +1,26 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_BONIFICA_DTRIF0_TSCABP] +AS +BEGIN +select * +into #dtrif_zero +from C6StagingPeriodico.TSCABP t where dtrif=0 +select distinct rete,CODAREA,CODPROG,CODFIS,CODCONF,DTRIF +into #dtrif_tcptab +from C6stagingPeriodico.tcptab +where rete+codfis+CODPROG+codconf in (select rete+CODFIS+codprog+codconf from #dtrif_zero) +update a +set a.dtrif=b.dtrif +from C6StagingPeriodico.TSCABP a +inner join #dtrif_tcptab b on a.rete=b.RETE +and +a.codfis=b.codfis and +a.CODPROG=b.CODPROG and +a.CODCONF=b.CODCONF and +a.CODAREA=b.CODAREA +where a.dtrif=0 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_BONIFICA_PATRIMONIO_IMMOBILIARE_ProQuota.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_BONIFICA_PATRIMONIO_IMMOBILIARE_ProQuota.sql new file mode 100644 index 00000000..afaa3159 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_BONIFICA_PATRIMONIO_IMMOBILIARE_ProQuota.sql @@ -0,0 +1,62 @@ +--select * from C6MartPeriodicO.PATRIMONIO_IMMOBILIARE_ProQuota +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_BONIFICA_PATRIMONIO_IMMOBILIARE_ProQuota] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_BONIFICA_PATRIMONIO_IMMOBILIARE_PROQUOTA', + GETDATE(), + 'Elaborazione Trimestrale' + ) +delete from C6MartPeriodico.Patrimonio_Immobiliare_ProQuota where cod_fiscale in ( +select distinct vinfo.codfis from ( select distinct con.chiaveClientePBProprietario,con.chiaveprodottoterzi,condett.tipologiadiritto ,condett.quotaDiritto, condett.moltiplicatorediritto + from [CONSUNI_PERIODICO].consulenzaunica.dbo.cointestatari con + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.CointestatariDettaglioDiritto condett + on condett.chiavecointestatari = con.chiavecointestatari + and condett.chiaveprodottoterzi = con.chiaveprodottoterzi + where con.chiaveclientepb=con.chiaveClientePBProprietario + ) tCoin + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.dettImmobiliare dett + on tCoin.chiaveProdottoTerzi = dett.chiaveProdottoTerzi + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.PatrimonioTerzi pt + on dett.chiaveProdottoTerzi = pt.chiaveProdottoTerzi + left join [CONSUNI_PERIODICO].consulenzaunica.dbo.dfinalita fin + on fin.codfinalita=dett.codfinalita + left join [CONSUNI_PERIODICO].consulenzaunica.dbo.dtipoimmobile dti + on dti.codtipologia=dett.codtipologia + left join [CONSUNI_PERIODICO].consulenzaunica.dbo.DNazioneEstera dne + on dne.codNazioneEstera = dett.codNazioneEstera + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.vInfoCliente vInfo + on pt.chiaveClientePB = vInfo.chiaveClientePB +where pt.dtfinevalidita<>'9999-12-31 00:00:00.000' +and not exists (select 1 from [CONSUNI_PERIODICO].consulenzaunica.dbo.PatrimonioTerzi pt2 where dtfinevalidita = '9999-12-31 00:00:00.000' AND pt.chiaveClientePB=pt2.chiaveClientePB) +) + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_BONIFICA_PATRIMONIO_IMMOBILIARE_PROQUOTA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_BONIFICA_PATRIMONIO_IMMOBILIARE_PROQUOTA' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_BrsClienteESG.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_BrsClienteESG.sql new file mode 100644 index 00000000..b2e8da77 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_BrsClienteESG.sql @@ -0,0 +1,77 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_BrsClienteESG] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_BrsClienteESG', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- declare @data varchar(8) +--set @data= [C6MartPeriodico].[getTrimestre2](getdate(),0) +truncate table C6MartPeriodico.BrsClienteESG +insert into [C6StampeCentralizzate].[C6MartPeriodico].[BrsClienteESG] +SELECT ws.[rete] + ,ws.[codfis] + ,case when PREFSOST='S' then 1 + when PREFSOST='N' then 0 + else 0 end as [Preferenza_esg_cliente] + ,case when FLAGAMB='S' then 'Y' + when FLAGAMB='N' then 'N' + else 'N' end as + [ESG_E] + ,case when FLAGSOC='S' then 'Y' + when FLAGSOC='N' then 'N' + else 'N' end as + [ESG_S] + ,case when FLAGGOV='S' then 'Y' + when FLAGGOV='N' then 'N' + else 'N' end as [ESG_G] + ,esg.PERC1ESG as [obiettivo_ESG_minimo] + ,NULL as [ESG_Rating] + ,esg.PERCAMB as [ESG_E_perc] + ,esg.PERCSOC as [ESG_S_perc] + ,esg.PERCGOV as [ESG_G_perc] + FROM C6martPeriodico.wseian2 ws + left join C6MartPeriodico.W6CLIESG esg + on ws.rete=esg.rete and ws.codfis=esg.CODFIS + --SELECT [rete] + -- -- ,[codfis] + -- ,[Preferenza_esg_cliente] + -- ,[ESG_E] + -- ,[ESG_S] + -- ,[ESG_G] + -- ,[obiettivo_ESG_minimo] + -- ,[ESG_Rating] + -- ,[ESG_E_perc] + -- ,[ESG_S_perc] + -- ,[ESG_G_perc] + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[ESG_Metriche_Cliente_IL] + --select * from [C6StampeCentralizzate].[C6StagingPeriodico].[ESG_Metriche_Cliente_IL] + --select * from C6StagingPeriodico.wseian2 + --select * from C6MartPeriodico.W6CLIESG + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_BrsClienteESG' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_W6CATESG' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_CLIENTI_RISORSE_NA.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_CLIENTI_RISORSE_NA.sql new file mode 100644 index 00000000..82e3d61d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_CLIENTI_RISORSE_NA.sql @@ -0,0 +1,58 @@ +-- [C6MartPeriodico].[RP_DM_CLIENTI_RISORSE_NA] +CREATE procedure [C6MartPeriodico].[RP_DM_CLIENTI_RISORSE_NA] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CLIENTI_RISORSE_NA', + GETDATE(), + 'Elaborazione trimestrale' + ) +--------------------------------------------------------------------------- + TRUNCATE TABLE [C6MartPeriodico].[CLIENTI_RISORSE_NA] + INSERT INTO [C6MartPeriodico].[CLIENTI_RISORSE_NA] + select + [RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[ID_AREA] + ,[CTV] + ,[ORDINAMENTO_PROGETTO] + ,[TIPO_PROGETTO] + ,[EMITTENTE] + ,[ISIN] + ,[CHIAVE_PROGETTO] + from C6MartPeriodico.PATRIMONIO_BF + where 1=1 + and ID_AREA = 'NA' + and ctv <> 0 --se zero potrebbero essere ppvv + and partvia_disinv = 0 +--------------------------- +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CLIENTI_RISORSE_NA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_CLIENTI_RISORSE_NA' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_COMPLESSITA.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_COMPLESSITA.sql new file mode 100644 index 00000000..d69b21bc --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_COMPLESSITA.sql @@ -0,0 +1,84 @@ +-- ============================================= +-- Author: +-- Create date: <08/08/2013> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_COMPLESSITA] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_COMPLESSITA', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].COMPLESSITA + INSERT INTO [C6MartPeriodico].[COMPLESSITA] + ( + [RETE] + ,[COD_FISCALE] + ,[COMPLESSITA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLESSITA]) AS [COMPLESSITA], + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM +( + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLEX]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf + where tipo_prodOTTO <>'ASUL' + GROUP BY + [RETE], + [COD_FISCALE] + union all + SELECT + m.[RETE], + m.[COD_FISCALE], + MAX(c.[COMPLESSITA]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf m, + c6martperiodico.dettaglio_asul k, + c6stagingperiodico.RP_CatalogoProdotti c + where m.cod_fiscale= k.cod_fiscale + and m.rete=k.rete + and k.id_contratto=m.id_contratto + and k.cod_prodotto= c.catalogueid + and m.tipo_prodotto='ASUL' + group by + m.[RETE], + m.[COD_FISCALE] + ) H + group by + [RETE], + [COD_FISCALE] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_COMPLESSITA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_COMPLESSITA' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_COMPLESSITA_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_COMPLESSITA_pre_selective.sql new file mode 100644 index 00000000..5f61821e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_COMPLESSITA_pre_selective.sql @@ -0,0 +1,84 @@ +-- ============================================= +-- Author: +-- Create date: <08/08/2013> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_COMPLESSITA_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_COMPLESSITA_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].COMPLESSITA + INSERT INTO [C6MartPeriodico].[COMPLESSITA] + ( + [RETE] + ,[COD_FISCALE] + ,[COMPLESSITA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLESSITA]) AS [COMPLESSITA], + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM +( + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLEX]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf + where tipo_prodOTTO <>'ASUL' + GROUP BY + [RETE], + [COD_FISCALE] + union all + SELECT + m.[RETE], + m.[COD_FISCALE], + MAX(c.[COMPLESSITA]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf m, + c6martperiodico.dettaglio_asul k, + c6stagingperiodico.RP_CatalogoProdotti c + where m.cod_fiscale= k.cod_fiscale + and m.rete=k.rete + and k.id_contratto=m.id_contratto + and k.cod_prodotto= c.catalogueid + and m.tipo_prodotto='ASUL' + group by + m.[RETE], + m.[COD_FISCALE] + ) H + group by + [RETE], + [COD_FISCALE] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_COMPLESSITA_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_COMPLESSITA_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE.sql new file mode 100644 index 00000000..d6b2683a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE.sql @@ -0,0 +1,93 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 08/08/2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_CONO_PIANIFICAZIONE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CONO_PIANIFICAZIONE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[CONO_PIANIFICAZIONE] + INSERT INTO [C6MartPeriodico].[CONO_PIANIFICAZIONE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CONO] + ,[SCENARIO_PESSIMISTICO] + ,[SCENARIO_MEDIO] + ,[SCENARIO_OTTIMISTICO] + ,[ID_ELAB] + ,ordinamento_progetto) + SELECT + WANAB.RETE AS RETE, + VC.COD_FISCALE AS COD_FISCALE, + CASE + WHEN WANAB.CODAREA = 'INV' THEN 'Inv' + WHEN WANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN WANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN WANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CS.nomeProgetto, 'XXX') AS NOME_PROGETTO, + CONO.dtRiferimento AS DATA_CONO, + CONO.quantileInf * 100 AS SCENARIO_PESSIMISTICO, + CONO.quantileInter * 100 AS SCENARIO_MEDIO, + CONO.quantileSup * 100 AS SCENARIO_OTTIMISTICO, + @ID_ELAB, + PR.chiaveProgetto -- wanab.codprog--, + -- count(*) + FROM C6StagingPeriodico.TANAB AS WANAB + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON WANAB.CODPROG = CM.idmonitoraggio + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON WANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN VC.COD_FISCALE ELSE VC.COD_MANDATO + END + AND WANAB.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + INNER JOIN C6StagingPeriodico.RP_CONO CONO + ON CONO.CHIAVEPROGETTO = CM.chiaveProgetto + WHERE 1 = 1 + AND WANAB.DTFINE = '99991231' + --AND ((WANAB.CODAREA = 'Inv' AND CS.nomeProgetto = 'Progetto investimento') OR WANAB.CODAREA = 'Ris') + AND (WANAB.CODAREA = 'Inv' OR WANAB.CODAREA = 'Ris') + --modifiche Luca per errore mart simulazione 16/12/2015 + --and WANAB.CODFIS not in ('GRPGLI71R45L407D','MRTGRL59B60H501T') + --------------------------------------------------------------------------- + -- formula commentata in trimestrale di luglio 2015 perché impediva la genenerazione del grafico del rendimento cumulato per importi + -- negativi (vedi segnalazione di FOGA' del 15/7/2015) + --AND (WANAB.APP_INI + WANAB.NTOT_APP - WANAB.NTOT_LIQ - (WANAB.TOT_CED + WANAB.TOT_DIV))>0 -- per escludere tutto quello che ha risorse associate =0 + --AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 + --and wanab.codfis <> 'GRVMRZ63C14L566J' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CONO_PIANIFICAZIONE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_CONO_PIANIFICAZIONE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE_pre_selective.sql new file mode 100644 index 00000000..172c1c05 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE_pre_selective.sql @@ -0,0 +1,93 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 08/08/2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_CONO_PIANIFICAZIONE_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CONO_PIANIFICAZIONE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[CONO_PIANIFICAZIONE] + INSERT INTO [C6MartPeriodico].[CONO_PIANIFICAZIONE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CONO] + ,[SCENARIO_PESSIMISTICO] + ,[SCENARIO_MEDIO] + ,[SCENARIO_OTTIMISTICO] + ,[ID_ELAB] + ,ordinamento_progetto) + SELECT + WANAB.RETE AS RETE, + VC.COD_FISCALE AS COD_FISCALE, + CASE + WHEN WANAB.CODAREA = 'INV' THEN 'Inv' + WHEN WANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN WANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN WANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CS.nomeProgetto, 'XXX') AS NOME_PROGETTO, + CONO.dtRiferimento AS DATA_CONO, + CONO.quantileInf * 100 AS SCENARIO_PESSIMISTICO, + CONO.quantileInter * 100 AS SCENARIO_MEDIO, + CONO.quantileSup * 100 AS SCENARIO_OTTIMISTICO, + @ID_ELAB, + PR.chiaveProgetto -- wanab.codprog--, + -- count(*) + FROM C6StagingPeriodico.TANAB AS WANAB + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON WANAB.CODPROG = CM.idmonitoraggio + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON WANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN VC.COD_FISCALE ELSE VC.COD_MANDATO + END + AND WANAB.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + INNER JOIN C6StagingPeriodico.RP_CONO CONO + ON CONO.CHIAVEPROGETTO = CM.chiaveProgetto + WHERE 1 = 1 + AND WANAB.DTFINE = '99991231' + --AND ((WANAB.CODAREA = 'Inv' AND CS.nomeProgetto = 'Progetto investimento') OR WANAB.CODAREA = 'Ris') + AND (WANAB.CODAREA = 'Inv' OR WANAB.CODAREA = 'Ris') + --modifiche Luca per errore mart simulazione 16/12/2015 + --and WANAB.CODFIS not in ('GRPGLI71R45L407D','MRTGRL59B60H501T') + --------------------------------------------------------------------------- + -- formula commentata in trimestrale di luglio 2015 perché impediva la genenerazione del grafico del rendimento cumulato per importi + -- negativi (vedi segnalazione di FOGA' del 15/7/2015) + --AND (WANAB.APP_INI + WANAB.NTOT_APP - WANAB.NTOT_LIQ - (WANAB.TOT_CED + WANAB.TOT_DIV))>0 -- per escludere tutto quello che ha risorse associate =0 + --AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 + --and wanab.codfis <> 'GRVMRZ63C14L566J' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CONO_PIANIFICAZIONE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_CONO_PIANIFICAZIONE_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_CONTRATTOSEI.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_CONTRATTOSEI.sql new file mode 100644 index 00000000..6cbbeafb --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_CONTRATTOSEI.sql @@ -0,0 +1,119 @@ +----------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodico].[RP_DM_CONTRATTOSEI] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CONTRATTOSEI', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MartPERIODICO.CONTRATTOSEI +INSERT INTO C6MartPERIODICO.CONTRATTOSEI +SELECT + r.[Rete], + r.[Cod_Fiscale], + r.[PIva_Fiduciaria], + r.[DATA_INZIOAVANZATO] as [Data_Sott], + r.[CodiceContratto], + r.[Cod_Agente], + r.[Data_Perf_Base], + r.[Data_Perf], + null as [Fascia_CPP], + null as [Email], + r.[Indirizzo], + r.[CAP], + r.[Citta], + r.[Provincia], + r.[Nazione], + r.[Presso], + null as[Data_Inizio], + r.[Freq_Diagnosi], + r.[FREQ_MONITORAGGIO], + null as [Freq_DiagnosiPrec], + null as [Freq_MonitorPrec], + null as [Data_InizioConsInv], + r.[Data_InizioBase], + r.[Data_FineBase], + r.[DATA_INZIOAVANZATO], + r.[Data_FineAvanzato], + null as [ProgressivoInvio], + 'N', + 'N', + null as [DataUltimoInvio], + r.[ClienteMigrato], + r.[RisorseNA], + null as [PartViaDisinv], + r.[NumSolleciti], + r.[Data_UltimoSollecito], + r.[NumRevoche], + r.[Data_UltimaRevoca], + null as [Note], + null as [Data_Invio_Diagnosi_Trimestrale], + null as [Data_Invio_Monitoraggio_Trimestrale], + r.[ProfiloAttivo], + null as [Rol], + r.[TIP_CONTRATTO], + r.[TIP_RIATTIVAZIONE] +FROM + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] r +left join C6MartPeriodico.ANAG_CLIENTI a +on a.RETE=r.rete and a.COD_FISCALE=r.COD_FISCALE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CONTRATTOSEI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_CONTRATTOSEI' + ) +UPDATE c6martperiodico.contrattosei + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,prov = a.Provincia + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITOR = a.FREQ_MONITORAGGIO +from c6mart.vcontratti a +inner join c6martperiodico.contrattosei b +on a.codicecontratto = b.codicecontratto +UPDATE contr + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,provincia = a.Prov + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITORAGGIO = a.FREQ_MONITOR +from c6martperiodico.contrattosei a +inner join [C6StagingPeriodico].[APPO_CONTRATTI] contr on a.codicecontratto = contr.codicecontratto +left join [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] lim on lim.COD_FISCALE = contr.COD_FISCALE and lim.rete = contr.rete +where lim.cod_fiscale is not null or 0 = (select count(*) from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] with (nolock)) +-- Allineamento Flag Rol su contratto sei +Update C6MartPeriodico.ContrattoSei +Set Rol = Case D.statorol + When 'S' then D.statorol + Else 'N' + End, + EmAil = Case d.alertrol + When 'S' then D.Email + End +from C6MartPeriodico.ContrattoSei C inner join C6StagingPeriodico.datiRol2 D +on d.codContratto = c.codiceContratto \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_CONTRATTOSEI_20170407.SAVE.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_CONTRATTOSEI_20170407.SAVE.sql new file mode 100644 index 00000000..81c053e9 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_CONTRATTOSEI_20170407.SAVE.sql @@ -0,0 +1,205 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_CONTRATTOSEI_20170407.SAVE] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CONTRATTOSEI', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MartPERIODICO.CONTRATTOSEI +INSERT INTO C6MartPERIODICO.CONTRATTOSEI +SELECT + [Rete], + [Cod_Fiscale], + [PIva_Fiduciaria], + [DATA_INZIOAVANZATO] as [Data_Sott], + [CodiceContratto], + [Cod_Agente], + [Data_Perf_Base], + [Data_Perf], + null as [Fascia_CPP], + null as [Email], + [Indirizzo], + [CAP], + [Citta], + [Provincia], + [Nazione], + [Presso], + null as[Data_Inizio], + [Freq_Diagnosi], + [FREQ_MONITORAGGIO], + null as [Freq_DiagnosiPrec], + null as [Freq_MonitorPrec], + null as [Data_InizioConsInv], + [Data_InizioBase], + [Data_FineBase], + [DATA_INZIOAVANZATO], + [Data_FineAvanzato], + null as [ProgressivoInvio], + 'N', + 'N', + null as [DataUltimoInvio], + [ClienteMigrato], + [RisorseNA], + null as [PartViaDisinv], + [NumSolleciti], + [Data_UltimoSollecito], + [NumRevoche], + [Data_UltimaRevoca], + null as [Note], + null as [Data_Invio_Diagnosi_Trimestrale], + null as [Data_Invio_Monitoraggio_Trimestrale], + [ProfiloAttivo], + null as [Rol], + [TIP_CONTRATTO], + [TIP_RIATTIVAZIONE] +FROM + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CONTRATTOSEI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_CONTRATTOSEI' + ) +UPDATE c6martperiodico.contrattosei + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,prov = a.Provincia + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITOR = a.FREQ_MONITORAGGIO +from c6mart.vcontratti a +inner join c6martperiodico.contrattosei b +on a.codicecontratto = b.codicecontratto +UPDATE contr +set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,provincia = a.Prov + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITORAGGIO = a.FREQ_MONITOR +from c6martperiodico.contrattosei a +inner join [C6StagingPeriodico].[APPO_CONTRATTI] contr +on a.codicecontratto = contr.codicecontratto +left join [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] lim on lim.COD_FISCALE = contr.COD_FISCALE +and lim.rete = contr.rete +--INIZIO INTERVENTO TEMPORANEO +--ELIMINARE LE SUCCESSIVE DUE UPDATE DOPO LA TRIMESTRALE DI LUGLIO 2015 +--UPDATE c6martperiodico.contrattosei +-- set +-- indirizzo = a.bindirizzo +-- ,cap = a.bcap +-- ,citta = a.bcitta +-- ,prov = a.bProvincia +-- ,presso = a.bPresso +--from cambio_tot a +--inner join c6martperiodico.contrattosei b +--on a.codicecontratto = b.codicecontratto +--UPDATE C6StagingPeriodico.appo_contratti +-- set +-- indirizzo = a.bindirizzo +-- ,cap = a.bcap +-- ,citta = a.bcitta +-- ,provincia = a.bProvincia +-- ,presso = a.bPresso +--from cambio_tot a +--inner join C6StagingPeriodico.appo_contratti_v b +--on a.codicecontratto = b.codicecontratto +--FINE INTERVENTO TEMPORANEO +-- Allineamento Flag Rol su contratto sei +Update C6MartPeriodico.ContrattoSei +Set Rol = Case D.statorol + When 'S' then D.statorol + Else 'N' + End, + EmAil = Case d.alertrol + When 'S' then D.Email + End +from C6MartPeriodico.ContrattoSei C inner join C6StagingPeriodico.datiRol2 D +on d.codContratto = c.codiceContratto +----INIZIO INTERVENTO TEMPORANEO +---- Aggiornamento rol per 59 fiduciare FScirocco _VERIFICARE POST TRIM SE L'INTERVENTO DEVE RIMANERE A REGIME O MENO (chiedere ogni trimestrale) +--UPDATE C6MARTPERIODICO.CONTRATTOSEI +--SET ROL = 'S' +--WHERE COD_FISCALE IN +--('FF@1602' +--,'FF@1832' +--,'FF@2103' +--,'FF@2168' +--,'FF@2464' +--,'FF@3033' +--,'FF@3151' +--,'FF@3329' +--,'FF@3444' +--,'FF@4055' +--,'FF@4461' +--,'FF@5052' +--,'FF@5076' +--,'FF@5758' +--,'FF@5952' +--,'FF@6221' +--,'FF@6368' +--,'FF@6606' +--,'FF@6777' +--,'FF@7104' +--,'FF@7171' +--,'FF@7185' +--,'FF@7317' +--,'FF@7522' +--,'FF@7699' +--,'FF@7763' +--,'FF@7837' +--,'FF@7986' +--,'FF@8095' +--,'FF@8101' +--,'FF@8398' +--,'FF@8724' +--,'FF@8798' +--,'FF@8799' +--,'FF@8800' +--,'FF@8877' +--,'FF@8880' +--,'FF@8881' +--,'FF@8882' +--,'FF@8996' +--,'FF@9022' +--,'FF@9220' +--,'FF@9285' +--,'FF@9318' +--,'FF@9323' +--,'FF@9338' +--,'FF@9578' +--,'FF@9593' +--,'FF@9662' +--,'FF@5044' +--,'FF@5226' +--,'FF@7205' +--,'FF@7774' +--,'FF@8797' +--,'FF@8861' +--,'FF@8885' +--,'FF@9204' +--,'FF@9418' +--,'FF@9661') +----FINE INTERVENTO TEMPORANEO \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_CONTRATTOSEI_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_CONTRATTOSEI_pre_selective.sql new file mode 100644 index 00000000..b7c353f3 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_CONTRATTOSEI_pre_selective.sql @@ -0,0 +1,203 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_CONTRATTOSEI_pre_selective] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CONTRATTOSEI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MartPERIODICO.CONTRATTOSEI +INSERT INTO C6MartPERIODICO.CONTRATTOSEI +SELECT + [Rete], + [Cod_Fiscale], + [PIva_Fiduciaria], + [DATA_INZIOAVANZATO] as [Data_Sott], + [CodiceContratto], + [Cod_Agente], + [Data_Perf_Base], + [Data_Perf], + null as [Fascia_CPP], + null as [Email], + [Indirizzo], + [CAP], + [Citta], + [Provincia], + [Nazione], + [Presso], + null as[Data_Inizio], + [Freq_Diagnosi], + [FREQ_MONITORAGGIO], + null as [Freq_DiagnosiPrec], + null as [Freq_MonitorPrec], + null as [Data_InizioConsInv], + [Data_InizioBase], + [Data_FineBase], + [DATA_INZIOAVANZATO], + [Data_FineAvanzato], + null as [ProgressivoInvio], + 'N', + 'N', + null as [DataUltimoInvio], + [ClienteMigrato], + [RisorseNA], + null as [PartViaDisinv], + [NumSolleciti], + [Data_UltimoSollecito], + [NumRevoche], + [Data_UltimaRevoca], + null as [Note], + null as [Data_Invio_Diagnosi_Trimestrale], + null as [Data_Invio_Monitoraggio_Trimestrale], + [ProfiloAttivo], + null as [Rol], + [TIP_CONTRATTO], + [TIP_RIATTIVAZIONE] +FROM + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CONTRATTOSEI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_CONTRATTOSEI_pre_selective' + ) +UPDATE c6martperiodico.contrattosei + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,prov = a.Provincia + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITOR = a.FREQ_MONITORAGGIO +from c6mart.vcontratti a +inner join c6martperiodico.contrattosei b +on a.codicecontratto = b.codicecontratto +UPDATE C6StagingPeriodico.appo_contratti + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,provincia = a.Prov + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITORAGGIO = a.FREQ_MONITOR +from c6martperiodico.contrattosei a +inner join c6stagingperiodico.appo_contratti b +on a.codicecontratto = b.codicecontratto +--INIZIO INTERVENTO TEMPORANEO +--ELIMINARE LE SUCCESSIVE DUE UPDATE DOPO LA TRIMESTRALE DI LUGLIO 2015 +--UPDATE c6martperiodico.contrattosei +-- set +-- indirizzo = a.bindirizzo +-- ,cap = a.bcap +-- ,citta = a.bcitta +-- ,prov = a.bProvincia +-- ,presso = a.bPresso +--from cambio_tot a +--inner join c6martperiodico.contrattosei b +--on a.codicecontratto = b.codicecontratto +--UPDATE C6StagingPeriodico.appo_contratti +-- set +-- indirizzo = a.bindirizzo +-- ,cap = a.bcap +-- ,citta = a.bcitta +-- ,provincia = a.bProvincia +-- ,presso = a.bPresso +--from cambio_tot a +--inner join C6StagingPeriodico.appo_contratti b +--on a.codicecontratto = b.codicecontratto +--FINE INTERVENTO TEMPORANEO +-- Allineamento Flag Rol su contratto sei +Update C6MartPeriodico.ContrattoSei +Set Rol = Case D.statorol + When 'S' then D.statorol + Else 'N' + End, + EmAil = Case d.alertrol + When 'S' then D.Email + End +from C6MartPeriodico.ContrattoSei C inner join C6StagingPeriodico.datiRol2 D +on d.codContratto = c.codiceContratto +----INIZIO INTERVENTO TEMPORANEO +---- Aggiornamento rol per 59 fiduciare FScirocco _VERIFICARE POST TRIM SE L'INTERVENTO DEVE RIMANERE A REGIME O MENO (chiedere ogni trimestrale) +--UPDATE C6MARTPERIODICO.CONTRATTOSEI +--SET ROL = 'S' +--WHERE COD_FISCALE IN +--('FF@1602' +--,'FF@1832' +--,'FF@2103' +--,'FF@2168' +--,'FF@2464' +--,'FF@3033' +--,'FF@3151' +--,'FF@3329' +--,'FF@3444' +--,'FF@4055' +--,'FF@4461' +--,'FF@5052' +--,'FF@5076' +--,'FF@5758' +--,'FF@5952' +--,'FF@6221' +--,'FF@6368' +--,'FF@6606' +--,'FF@6777' +--,'FF@7104' +--,'FF@7171' +--,'FF@7185' +--,'FF@7317' +--,'FF@7522' +--,'FF@7699' +--,'FF@7763' +--,'FF@7837' +--,'FF@7986' +--,'FF@8095' +--,'FF@8101' +--,'FF@8398' +--,'FF@8724' +--,'FF@8798' +--,'FF@8799' +--,'FF@8800' +--,'FF@8877' +--,'FF@8880' +--,'FF@8881' +--,'FF@8882' +--,'FF@8996' +--,'FF@9022' +--,'FF@9220' +--,'FF@9285' +--,'FF@9318' +--,'FF@9323' +--,'FF@9338' +--,'FF@9578' +--,'FF@9593' +--,'FF@9662' +--,'FF@5044' +--,'FF@5226' +--,'FF@7205' +--,'FF@7774' +--,'FF@8797' +--,'FF@8861' +--,'FF@8885' +--,'FF@9204' +--,'FF@9418' +--,'FF@9661') +----FINE INTERVENTO TEMPORANEO \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE.sql new file mode 100644 index 00000000..2bf73a43 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE.sql @@ -0,0 +1,19 @@ +-- Stored procedure +-- ===================================================== +-- Author: colaianni-consoli +-- Create date: 28/06/2011 +-- Description: CARICA LA TABELLA CONTROLLO_TRIMESTRALE +-- CON TUTTI I REPORT OGGETTO DI STAMPA +-- ===================================================== +CREATE procedure [C6MartPeriodico].[RP_DM_CONTROLLO_TRIMESTRALE] +AS BEGIN +TRUNCATE TABLE C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +INSERT INTO + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SELECT + COD_FISCALE, RETE, CASE WHEN FREQ_DIAGNOSI IS NULL THEN 0 ELSE 1 END, NULL, NULL, 1, NULL, GETDATE() +FROM +-- Modifica MV 18/04/2015 +-- C6MARTPERIODICO.RP_vContrattiPerGenerazioneReport + C6stagingPERIODICO.appo_contratti_v +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE_pre_selective.sql new file mode 100644 index 00000000..23199c4b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE_pre_selective.sql @@ -0,0 +1,19 @@ +-- Stored procedure +-- ===================================================== +-- Author: colaianni-consoli +-- Create date: 28/06/2011 +-- Description: CARICA LA TABELLA CONTROLLO_TRIMESTRALE +-- CON TUTTI I REPORT OGGETTO DI STAMPA +-- ===================================================== +CREATE procedure [C6MartPeriodico].[RP_DM_CONTROLLO_TRIMESTRALE_pre_selective] +AS BEGIN +TRUNCATE TABLE C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +INSERT INTO + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SELECT + COD_FISCALE, RETE, CASE WHEN FREQ_DIAGNOSI IS NULL THEN 0 ELSE 1 END, NULL, NULL, 1, NULL, GETDATE() +FROM +-- Modifica MV 18/04/2015 +-- C6MARTPERIODICO.RP_vContrattiPerGenerazioneReport + C6stagingPERIODICO.appo_contratti +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_Confronto_IndicatoreRischio.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_Confronto_IndicatoreRischio.sql new file mode 100644 index 00000000..4985161a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_Confronto_IndicatoreRischio.sql @@ -0,0 +1,70 @@ +--select * from C6MartPeriodico.CONFRONTO_RISCHIO +CREATE procedure [C6MartPeriodico].[RP_DM_Confronto_IndicatoreRischio] +AS +BEGIN +DECLARE @PERC_SCARTO AS DECIMAL (5,2) +SET @PERC_SCARTO= 1 +TRUNCATE TABLE[C6martPeriodico].[CONFRONTO_RISCHIO] +INSERT INTO [C6martPeriodico].[CONFRONTO_RISCHIO] +SELECT + qd.rete as Rete, + qd.codfis as Codfis, + qd.piva as Piva, + qd.codman as Codman, + qd.chiave_acn as Chiave_acn, + ABS(qd.isp_total_risk) AS Rischio_Adeguatezza , + ra.VAR_PERC_PTF AS Rischio_IL, + ABS(ABS(qd.isp_total_risk) - ABS(ra.VAR_PERC_PTF)) AS Dif_rischio, + --ABS(qd.isp_total_risk) * + @PERC_SCARTO AS Val_Tol_Scarto, + CASE + WHEN ABS(ABS(qd.isp_total_risk) - ABS(ra.VAR_PERC_PTF)) > --(ABS(qd.isp_total_risk) * + @PERC_SCARTO THEN 'KO' + ELSE 'OK' + END AS Confronto_Ind_Rischio, + trim(qd.flag_risk) AS Flag_Rischio_Adeguatezza, + CASE + WHEN ade.Adeg_Rischio = 'S' THEN 'Y' + WHEN ade.Adeg_Rischio = 'N' THEN '' + ELSE ade.Adeg_Rischio + END AS Flag_Rischio_IL, + CASE + WHEN trim(qd.flag_risk) <> + CASE + WHEN ade.Adeg_Rischio in ('S','NA') THEN 'Y' + WHEN ade.Adeg_Rischio = 'N' THEN '' + ELSE ade.Adeg_Rischio + END + THEN 'KO' + ELSE 'OK' END AS Confronto_Flag_Ind_Rischio + ,NULL as Perc_Var_KO + ,NULL as Perc_Ind_Adeg_KO +FROM [C6martPeriodico].[QD_VAR_RISK_WEEK2] qd +LEFT JOIN [C6martPeriodico].RISCHIO_AGGREGATO ra + ON qd.rete = ra.rete AND qd.chiave_acn = ra.COD_FISCALE +LEFT JOIN [C6MartPeriodico].[W6CKADEG] ade + ON qd.rete = ade.Rete AND qd.chiave_acn = ade.Chiave_Acn +WHERE ra.COD_AGGREG = 'COMPLESSIVO' +DECLARE @NUM_C_RISCHIO INT +DECLARE @NUM_C_RISCHIO_KO INT +DECLARE @NUM_F_RISCHIO INT +DECLARE @NUM_F_RISCHIO_KO INT +select @NUM_C_RISCHIO=COUNT(*) from [C6martPeriodico].[CONFRONTO_RISCHIO] +select @NUM_C_RISCHIO_KO=COUNT(*) from [C6martPeriodico].[CONFRONTO_RISCHIO] where Confronto_Ind_Rischio='KO' +select @NUM_F_RISCHIO=COUNT(*) from [C6martPeriodico].[CONFRONTO_RISCHIO] +select @NUM_F_RISCHIO_KO=COUNT(*) from [C6martPeriodico].[CONFRONTO_RISCHIO] where Confronto_Flag_Ind_Rischio='KO' + -- FerAcu 20240913 - Ovviare a problema di divisione per zero quando la tabella è vuota + if (@NUM_C_RISCHIO != 0 and @NUM_F_RISCHIO != 0) + begin + declare @PERC_C_RISCHIO DECIMAL(18,2) + DECLARE @PERC_F_RISCHIO DECIMAL(18,2) + --Confronto_Perc_Rischio Perc_Var_KO + SET @PERC_C_RISCHIO = (CAST(@NUM_C_RISCHIO_KO AS DECIMAL(18,2)) * 100) / CAST(@NUM_C_RISCHIO AS DECIMAL(18,2)); + --Confronto_Ind_Rischio Perc_Ind_Adeg_KO + SET @PERC_F_RISCHIO = (CAST(@NUM_F_RISCHIO_KO AS DECIMAL(18,2)) * 100) / CAST(@NUM_F_RISCHIO AS DECIMAL(18,2)); + update [C6martPeriodico].[CONFRONTO_RISCHIO] + set Perc_Var_KO=@PERC_C_RISCHIO + update [C6martPeriodico].[CONFRONTO_RISCHIO] + set Perc_Ind_Adeg_KO=@PERC_F_RISCHIO + end +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.20170320.OBS.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.20170320.OBS.sql new file mode 100644 index 00000000..746af362 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.20170320.OBS.sql @@ -0,0 +1,227 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[TEMP_RP_DM_DETTAGLIO_ASUL] +CREATE procedure [C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + DECLARE @MaxDTTrim AS decimal(9,0) + SELECT @MaxDTTrim = MAX(DTTRIM) FROM C6STAGINGPERIODICO.WSEIUL + TRUNCATE TABLE C6MartPeriodico.DETTAGLIO_ASUL + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + --ISNULL( + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + -- SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + CAST('' AS VARCHAR(255)) AS COD_PRODOTTO, + --ISNULL(SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57), + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD) + -- ) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + SPB_CONTR_SINTESI.POSITIONID AS SPB_POSITIONID + INTO #TEMP_DETTAGLIO_ASUL + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGINGPERIODICO.RP_CatalogoProdotti CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.CodInterno + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.CodSottoprodotto + --AND CATITEMREF.Visibilita = 1 + AND (SPB_ASS_UNIT.ISIN = '' --and CATITEMREF.CodIsin is null --= '$' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.CodAdeguatezza + AND + SPB_ASS_UNIT.MAF = CATITEMREF.CodMaf) + ) +WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = @MaxDTTrim + AND CATITEMREF.Visibilita = 1 + and SPB_CONTR_SINTESI.CTV <> 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + declare @visible int + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + INNER JOIN + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = 1 + )CAT + on + --caso 1 + (COD_SOTTOPRODOTTO not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'')) + or + --else caso 1 + (COD_SOTTOPRODOTTO in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'') + and cat.TIPOPRODOTTO = 'ASUL') + --*********************************************************************************** + WHERE COD_PRODOTTO = '' + set @visible = @visible - 1 + end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_2' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = SPB_POSITIONID + WHERE COD_PRODOTTO = '' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_3' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_4', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO [C6MartPeriodico].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + [RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB] + FROM #TEMP_DETTAGLIO_ASUL + DROP TABLE #TEMP_DETTAGLIO_ASUL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_4' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_4' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.sql new file mode 100644 index 00000000..b4417ccc --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.sql @@ -0,0 +1,350 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[TEMP_RP_DM_DETTAGLIO_ASUL] +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + DECLARE @MaxDTTrim AS decimal(9,0) + SELECT @MaxDTTrim = MAX(DTTRIM) FROM C6STAGINGPERIODICO.WSEIUL + TRUNCATE TABLE C6MartPeriodico.DETTAGLIO_ASUL + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + --ISNULL( + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + -- SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + CAST('' AS VARCHAR(255)) AS COD_PRODOTTO, + --ISNULL(SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57), + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD) + -- ) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + SPB_CONTR_SINTESI.POSITIONID AS SPB_POSITIONID + INTO #TEMP_DETTAGLIO_ASUL + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGINGPERIODICO.RP_CatalogoProdotti CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.CodInterno + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.CodSottoprodotto + -------------------> Mod del 23/1/2017 - ripristinata and sulla visibilità precedentemente commentata + AND CATITEMREF.Visibilita = 1 + -------------------> Fine Mod del 23/1/2017 + AND (SPB_ASS_UNIT.ISIN = '' --and CATITEMREF.CodIsin is null --= '$' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.CodAdeguatezza + AND + SPB_ASS_UNIT.MAF = CATITEMREF.CodMaf) + ) +WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = @MaxDTTrim + -------------------> Mod del 23/1/2017 -Commentata and sulla visibilità + --AND CATITEMREF.Visibilita = 1 + -------------------> Fine Mod del 23/1/2017 + and SPB_CONTR_SINTESI.CTV <> 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + declare @visible int + -- FerAcu 20250226 Variante dell'update progressiva più rigorosa che entra sul catalogo anche per ISIN, aggiunta per gestire cattile valorizzazioni sui SottoProdotti LSEL + -- FerAcu 20250226 NEW + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + INNER JOIN + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = 1 + )CAT + on 1=1 + -- FerAcu 20250225 aggiunto criterio su ISIN con capisco perche l'Update non finiva in errore, riportavas un valore a caso ... + and cat.CodIsin = case when COD_ISIN_SOTT != '' Then COD_ISIN_SOTT Else COD_ISIN_FITTIZIO End + and ( + --caso 1 + (COD_SOTTOPRODOTTO not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'')) + or + --else caso 1 + (COD_SOTTOPRODOTTO in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'') + and cat.TIPOPRODOTTO = 'ASUL') + ) + --*********************************************************************************** + WHERE COD_PRODOTTO = '' + set @visible = @visible - 1 + end + -- FerAcu 20250226 OLD con verifica sul singlolo match + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + CROSS APPLY + ( + select * + , COUNT(1) OVER(PARTITION BY cp.CODINTERNO, cp.CODSOTTOPRODOTTO, cp.TIPOPRODOTTO ) AS count_match + from c6stagingperiodico.rp_catalogoprodotti cp + where visibilita = 1 + and ( + --caso 1 + (COD_SOTTOPRODOTTO not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cp.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cp.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'')) + or + --else caso 1 + (COD_SOTTOPRODOTTO in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cp.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cp.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'') + and cp.TIPOPRODOTTO = 'ASUL') + ) + ) CAT + --*********************************************************************************** + WHERE COD_PRODOTTO = '' + -- FerAcu 20250226 + and count_match = 1 + set @visible = @visible - 1 + end + -------------------> Mod del 23/1/2017 + --aggiorno tutti quelli che non hanno almeno un prodotto in catalogo con visibilità 1 + -- FerAcu 20250226 NEW + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + INNER JOIN c6stagingperiodico.rp_catalogoprodotti cat + on 1=1 + -- FerAcu 20250225 aggiunto ctriterio su ISIN con capisco perche l'Update non finiva in errore, riportavas un valore a caso ... + and cat.CodIsin = case when COD_ISIN_SOTT != '' Then COD_ISIN_SOTT Else COD_ISIN_FITTIZIO End + and ( + isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'') + and cat.TIPOPRODOTTO = 'ASUL' + ) + --*********************************************************************************** + WHERE COD_PRODOTTO = '' + set @visible = @visible - 1 + end + -- FerAcu 20250226 OLD con verifica sul singlolo match + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + CROSS APPLY + ( + select * + , COUNT(1) OVER(PARTITION BY cp.CODINTERNO, cp.CODSOTTOPRODOTTO, cp.TIPOPRODOTTO ) AS count_match + from c6stagingperiodico.rp_catalogoprodotti cp + where 1=1 + and ( + isnull(cp.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cp.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'') + and cp.TIPOPRODOTTO = 'ASUL' + ) + ) CAT + --*********************************************************************************** + WHERE COD_PRODOTTO = '' + -- FerAcu 20250226 + and count_match = 1 + set @visible = @visible - 1 + end + -------------------> Fine Mod del 23/1/2017 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_2' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + -------------> modifica del 23/01/2017 - questa update non è corretta - sostituiamo con scarto su data quality + --UPDATE #TEMP_DETTAGLIO_ASUL + --SET COD_PRODOTTO = SPB_POSITIONID + --WHERE COD_PRODOTTO = '' + select + 14 as idTipoCtr, + rete as rete, + cod_fiscale as codfis, + (select DescSegnalazione from c6martperiodico.tb_tipocontrollo where idtipocontrollo = 14) + temp.cod_interno + '/' + temp.cod_sottoprodotto + '/' +temp.id_contratto + as descrizione, + @ID_ELAB as idelab, + '' as richiesta, + 0 as idfase, + getdate() as dataelab + into #TbErrori + from #TEMP_DETTAGLIO_ASUL temp + WHERE temp.COD_PRODOTTO = '' + Insert into C6MartPeriodico.TB_SegnalazioniDataQuality + select * from #TbErrori + -------------> fine modifica del 23/01/2017 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_3' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_4', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO [C6MartPeriodico].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[POSITION_ID] + -- ,[CHIAVEPROGETTO] + ) + SELECT + d.[RETE] + ,d.[COD_FISCALE] + ,d.[COD_PRODOTTO] + ,d.[ID_CONTRATTO] + ,d.[COD_SOTTOPRODOTTO] + ,d.[COD_INTERNO] + ,d.[CTV] + ,d.[DATA_RIF] + ,d.[COD_ISIN_FITTIZIO] + ,d.[COD_ISIN_SOTT] + ,d.[COD_MAF_SOTT] + ,d.[ID_ELAB] + ,d.[TIPO_ELAB] + ,D.[SPB_POSITIONID] + -- ,p.[Chiaveprogetto] + FROM #TEMP_DETTAGLIO_ASUL d + -- left join C6MartPeriodico.PATRIMONIO_BF patr on + -- patr.POSITION_ID=d.SPB_POSITIONID + update d + set d.ChiaveProgetto=patr.CHIAVE_PROGETTO + from C6MartPeriodico.DETTAGLIO_ASUL d left join C6MartPeriodico.PATRIMONIO_BF patr on + patr.POSITION_ID=d.POSITION_ID + DROP TABLE #TEMP_DETTAGLIO_ASUL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_4' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_4' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_20170123.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_20170123.sql new file mode 100644 index 00000000..bfbeb5da --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_20170123.sql @@ -0,0 +1,227 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[TEMP_RP_DM_DETTAGLIO_ASUL] +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL_20170123] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + DECLARE @MaxDTTrim AS decimal(9,0) + SELECT @MaxDTTrim = MAX(DTTRIM) FROM C6STAGINGPERIODICO.WSEIUL + TRUNCATE TABLE C6MartPeriodico.DETTAGLIO_ASUL + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + --ISNULL( + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + -- SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + CAST('' AS VARCHAR(255)) AS COD_PRODOTTO, + --ISNULL(SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57), + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD) + -- ) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + SPB_CONTR_SINTESI.POSITIONID AS SPB_POSITIONID + INTO #TEMP_DETTAGLIO_ASUL + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGINGPERIODICO.RP_CatalogoProdotti CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.CodInterno + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.CodSottoprodotto + --AND CATITEMREF.Visibilita = 1 + AND (SPB_ASS_UNIT.ISIN = '' --and CATITEMREF.CodIsin is null --= '$' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.CodAdeguatezza + AND + SPB_ASS_UNIT.MAF = CATITEMREF.CodMaf) + ) +WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = @MaxDTTrim + AND CATITEMREF.Visibilita = 1 + and SPB_CONTR_SINTESI.CTV <> 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + declare @visible int + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + INNER JOIN + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = 1 + )CAT + on + --caso 1 + (COD_SOTTOPRODOTTO not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'')) + or + --else caso 1 + (COD_SOTTOPRODOTTO in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'') + and cat.TIPOPRODOTTO = 'ASUL') + --*********************************************************************************** + WHERE COD_PRODOTTO = '' + set @visible = @visible - 1 + end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_2' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = SPB_POSITIONID + WHERE COD_PRODOTTO = '' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_3' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_4', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO [C6MartPeriodico].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + [RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB] + FROM #TEMP_DETTAGLIO_ASUL + DROP TABLE #TEMP_DETTAGLIO_ASUL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_4' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_4' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_TEMP.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_TEMP.sql new file mode 100644 index 00000000..50372757 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_TEMP.sql @@ -0,0 +1,106 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL_TEMP] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL', + GETDATE(), + 'Elaborazione trimestrale' + ) + --TRUNCATE TABLE C6MartPeriodico.DETTAGLIO_ASUL +--delete C6MartPeriodico.DETTAGLIO_ASUL where cod_fiscale = 'RNGBCM56E61D612I' + INSERT INTO [C6MartPeriodico].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + ISNULL( + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + --ISNULL(SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57), + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD) + -- ) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGINGPERIODICO.RP_CatalogoProdotti CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.CodInterno + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.CodSottoprodotto + --AND CATITEMREF.Visibilita = 1 + AND (SPB_ASS_UNIT.ISIN = '' --and CATITEMREF.CodIsin is null --= '$' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.CodAdeguatezza + AND + SPB_ASS_UNIT.MAF = CATITEMREF.CodMaf) + ) +WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = ( + SELECT + MAX(DTTRIM) + FROM + C6STAGINGPERIODICO.WSEIUL + ) + AND CATITEMREF.Visibilita = 1 + and SPB_CONTR_SINTESI.CTV <> 0 +and SPB_CONTR_SINTESI.CODFIS = 'RNGBCM56E61D612I' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_luca.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_luca.sql new file mode 100644 index 00000000..5ccc535a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_luca.sql @@ -0,0 +1,129 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[TEMP_RP_DM_DETTAGLIO_ASUL] +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL_luca] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + DECLARE @MaxDTTrim AS decimal(9,0) + SELECT @MaxDTTrim = MAX(DTTRIM) FROM C6STAGINGPERIODICO.WSEIUL + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + --ISNULL( + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + -- SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + CAST('' AS VARCHAR(255)) AS COD_PRODOTTO, + --ISNULL(SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57), + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD) + -- ) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + SPB_CONTR_SINTESI.POSITIONID AS SPB_POSITIONID + INTO #TEMP_DETTAGLIO_ASUL + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGINGPERIODICO.RP_CatalogoProdotti CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.CodInterno + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.CodSottoprodotto + --AND CATITEMREF.Visibilita = 1 + AND (SPB_ASS_UNIT.ISIN = '' --and CATITEMREF.CodIsin is null --= '$' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.CodAdeguatezza + AND + SPB_ASS_UNIT.MAF = CATITEMREF.CodMaf) + ) +WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = @MaxDTTrim + AND CATITEMREF.Visibilita = 1 + and SPB_CONTR_SINTESI.CTV <> 0 + AND SPB_CONTR_SINTESI.CODFIS = 'MLSVNC68S45D612E' + SELECT * from #TEMP_DETTAGLIO_ASUL + declare @visible int + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + INNER JOIN + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = 1 + )CAT + on + --caso 1 + (COD_SOTTOPRODOTTO not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'')) + or + --else caso 1 + (COD_SOTTOPRODOTTO in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'') + and cat.TIPOPRODOTTO = 'ASUL') + --*********************************************************************************** + WHERE COD_PRODOTTO = '' + set @visible = @visible - 1 + end + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = SPB_POSITIONID + WHERE COD_PRODOTTO = '' + INSERT INTO [C6MartPeriodico].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + [RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB] + FROM #TEMP_DETTAGLIO_ASUL + DROP TABLE #TEMP_DETTAGLIO_ASUL + -- Log esecuzione +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_pre_selective.sql new file mode 100644 index 00000000..33637a4f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_pre_selective.sql @@ -0,0 +1,227 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[TEMP_RP_DM_DETTAGLIO_ASUL_pre_selective] +CREATE procedure [C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_pre_selective_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + DECLARE @MaxDTTrim AS decimal(9,0) + SELECT @MaxDTTrim = MAX(DTTRIM) FROM C6STAGINGPERIODICO.WSEIUL + TRUNCATE TABLE C6MartPeriodico.DETTAGLIO_ASUL + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + --ISNULL( + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + -- SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + CAST('' AS VARCHAR(255)) AS COD_PRODOTTO, + --ISNULL(SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57), + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD) + -- ) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + SPB_CONTR_SINTESI.POSITIONID AS SPB_POSITIONID + INTO #TEMP_DETTAGLIO_ASUL + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGINGPERIODICO.RP_CatalogoProdotti CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.CodInterno + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.CodSottoprodotto + --AND CATITEMREF.Visibilita = 1 + AND (SPB_ASS_UNIT.ISIN = '' --and CATITEMREF.CodIsin is null --= '$' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.CodAdeguatezza + AND + SPB_ASS_UNIT.MAF = CATITEMREF.CodMaf) + ) +WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = @MaxDTTrim + AND CATITEMREF.Visibilita = 1 + and SPB_CONTR_SINTESI.CTV <> 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_pre_selective_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_pre_selective_1' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_pre_selective_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + declare @visible int + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + INNER JOIN + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = 1 + )CAT + on + --caso 1 + (COD_SOTTOPRODOTTO not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'')) + or + --else caso 1 + (COD_SOTTOPRODOTTO in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'') + and cat.TIPOPRODOTTO = 'ASUL') + --*********************************************************************************** + WHERE COD_PRODOTTO = '' + set @visible = @visible - 1 + end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_pre_selective_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_pre_selective_2' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_pre_selective_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = SPB_POSITIONID + WHERE COD_PRODOTTO = '' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_pre_selective_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_pre_selective_3' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_pre_selective_4', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO [C6MartPeriodico].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + [RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB] + FROM #TEMP_DETTAGLIO_ASUL + DROP TABLE #TEMP_DETTAGLIO_ASUL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_pre_selective_4' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_pre_selective_4' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ESG_ANAG_METRICHE.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ESG_ANAG_METRICHE.sql new file mode 100644 index 00000000..3f0ae45d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ESG_ANAG_METRICHE.sql @@ -0,0 +1,182 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from C6MartPeriodico.assetclass +CREATE procedure [C6MartPeriodico].[RP_DM_ESG_ANAG_METRICHE] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ESG_ANAG_METRICHE', + GETDATE(), + 'Elaborazione giornaliera' + ) +TRUNCATE TABLE c6StagingPeriodico.ESG_ANAG_METRICHE + INSERT INTO [c6StagingPeriodico].ESG_ANAG_METRICHE + ( [COD_PRODOTTO] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[CatSFDR] + ,[ESGRating] + ,[TrendESGRating] + ,[LABEL_Green_Bond] + ,[LABEL_Social_Bond] + ,[LABEL_Sustainability_Bond] + ,[LABEL_Transition_Bond] + ,[LABEL_Sust_linked_bond] + ,LABEL_EU_GREEN_BOND_STANDARD + ,[PERC_INVESTIMENTO_TAXONOMY] + ,[PERC_INVESTIMENTO_SFDR] + ,[PERC_INVEST_SFDR_MIN_SUST_E] + ,[PERC_INVEST_SFDR_MIN_SUST_S] + ,[PAI_LAB_A_Emissioni_Gas_Serra] + ,[PAI_LAB_A_Biodiversita] + ,[PAI_LAB_A_Acqua] + ,[PAI_LAB_A_Rifiuti] + ,[PAI_LAB_A_Gov_Ambientale] + ,[PAI_LAB_A_Comb_Fossili] + ,[PAI_LAB_A_Eff_energetica] + ,[PAI_LAB_A_Settore_Immobiliare] + ,[PAI_LAB_S_Questioni_Soc_Dip] + ,[PAI_LAB_S_Gov_Sociali] + ,[U_INFO_ESG] + ,[ID_ELAB] + ,[TIPO_ELAB] + ) + SELECT + --ChiaveProdotto, + CatalogueID AS COD_PRODOTTO, + C.CodSottoprodotto AS COD_SOTTOPRODOTTO, + ISNULL(C.CodInterno, '') AS COD_INTERNO, + C.CodMaf AS COD_MAF, + C.CodAdeguatezza AS COD_ADEGUATEZZA, + ISNULL(C.CodIsin, '') AS COD_ISIN, + case when Ltrim(rtrim(ESG_E)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_E)) = 'N' then 'NO' + else 'NO' end as ESG_E, + case when Ltrim(rtrim(ESG_S)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_S)) = 'N' then 'NO' + else 'NO' end as ESG_S, + case when Ltrim(rtrim(ESG_G)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_G)) = 'N' then 'NO' + else 'NO' end as ESG_G, + case when CatSFDR='-' then '' else CatSFDR end as CatSFDR, + Ltrim(rtrim(ESGRating)) as ESGRating , + Ltrim(rtrim(TrendESGRating)) as TrendESGRating, + case when LABEL_Green_Bond<> '-' then 'Green Bond' else '' end as LABEL_Green_Bond, + case when LABEL_Social_Bond<> '-' then 'Social Bond' else '' end as LABEL_Social_Bond, + case when LABEL_Sustainability_Bond<> '-' then 'Sustainability Bond' else '' end as LABEL_Sustainability_Bond, + case when LABEL_Transition_Bond<> '-' then 'Transition Bond' else '' end as LABEL_Transition_Bond, + case when LABEL_Sust_linked_bond<> '-' then 'Sustainability Linked Bond' else '' end as LABEL_Sust_linked_bond, + case when LABEL_EU_GREEN_BOND_STANDARD<> '-' then 'EU Green Bond Standard' else '' end as LABEL_EU_GREEN_BOND_STANDARD, + PERC_INVESTIMENTO_TAXONOMY *100 as PERC_INVESTIMENTO_TAXONOMY, + PERC_INVESTIMENTO_SFDR * 100 as PERC_INVESTIMENTO_SFDR, + [PERC_INVEST_SFDR_MIN_SUST_E] * 100 as PERC_INVEST_SFDR_MIN_SUST_E , + [PERC_INVEST_SFDR_MIN_SUST_S] * 100 as PERC_INVEST_SFDR_MIN_SUST_S, + case when PAI_LAB_A_Emissioni_Gas_Serra<>'-' then 'Emissioni Gas Serra' else '' end as PAI_LAB_A_Emissioni_Gas_Serra, + case when PAI_LAB_A_Biodiversita<>'-' then 'Biodiversità' else '' end as PAI_LAB_A_Biodiversita, + case when PAI_LAB_A_Acqua<>'-' then 'Acqua' else '' end as PAI_LAB_A_Acqua, + case when PAI_LAB_A_Rifiuti<>'-' then 'Rifiuti' else '' end as PAI_LAB_A_Rifiuti, + case when PAI_LAB_A_Gov_Ambientale<>'-' then 'Governativi di tipo Ambientale' else '' end as PAI_LAB_A_Gov_Ambientale, + case when PAI_LAB_A_Comb_Fossili<>'-' then 'Combustibili Fossili' else '' end as PAI_LAB_A_Comb_Fossili, + case when PAI_LAB_A_Eff_energetica<>'-' then 'Efficienza Energetica' else '' end as PAI_LAB_A_Eff_energetica, + case when PAI_LAB_A_Settore_Immobiliare <>'-' then 'Settore Immobiliare' else '' end as PAI_LAB_A_Settore_Immobiliare, + case when PAI_LAB_S_Questioni_Soc_Dip<>'-' then 'Questioni Sociali e dei Dipendenti' else '' end as PAI_LAB_S_Questioni_Soc_Dip, + case when PAI_LAB_S_Gov_Sociali<>'-' then 'Governativi di tipo Sociale' else '' end as PAI_LAB_S_Gov_Sociali, + case when U_INFO_ESG='TOOL_01' then 'Nota1' + when U_INFO_ESG='TOOL_02' then 'Nota2' + else '' end as U_INFO_ESG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM c6StagingPeriodico.RP_CatalogoProdotti c + Inner Join c6StagingPeriodico.RP_TB_ESG_ANAG_STRUM a + ON c.ChiaveProdotto = a.ChiaveProdotto +UPDATE m1 +SET m1.label_pai_a = NULLIF(CONCAT_WS(', ', + NULLIF(m2.PAI_LAB_A_Emissioni_Gas_Serra, ''), + NULLIF(m2.PAI_LAB_A_Biodiversita, ''), + NULLIF(m2.PAI_LAB_A_Acqua, ''), + NULLIF(m2.PAI_LAB_A_Rifiuti, ''), + NULLIF(m2.PAI_LAB_A_Gov_Ambientale, ''), + --NULLIF(m2.PAI_LAB_A_Comb_Fossili, ''), + --NULLIF(m2.PAI_LAB_A_Eff_energetica, ''), + NULLIF(m2.PAI_LAB_A_Settore_Immobiliare, '') + -- NULLIF(m2.PAI_LAB_S_Questioni_Soc_Dip, ''), + -- NULLIF(m2.PAI_LAB_S_Gov_Sociali, '') + ), '') +FROM c6StagingPeriodico.ESG_ANAG_METRICHE m1 +INNER JOIN c6StagingPeriodico.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') +UPDATE m1 +SET m1.label_pai_s = NULLIF(CONCAT_WS(', ', + NULLIF(m2.PAI_LAB_S_Questioni_Soc_Dip, ''), + NULLIF(m2.PAI_LAB_S_Gov_Sociali, '') + ), '') +FROM c6StagingPeriodico.ESG_ANAG_METRICHE m1 +INNER JOIN c6StagingPeriodico.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') + --select * from c6StagingPeriodico.ESG_ANAG_METRICHE +UPDATE m1 +SET m1.Label_U_INFO_ESG = NULLIF(CONCAT_WS(', ', + NULLIF(m2.LABEL_Green_Bond, ''), + NULLIF(m2.Label_Social_Bond, ''), + NULLIF(m2.Label_Sustainability_Bond, ''), + NULLIF(m2.Label_Transition_Bond, ''), + NULLIF(m2.Label_Sust_linked_Bond, ''), + NULLIF(m2.Label_EU_Green_Bond_Standard, ''), + NULLIF(m2.CatSFDR, ''), + NULLIF(m2.U_INFO_ESG, '') + ), '') +FROM c6StagingPeriodico.ESG_ANAG_METRICHE m1 +INNER JOIN c6StagingPeriodico.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ESG_ANAG_METRICHE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ESG_ANAG_METRICHE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4.sql new file mode 100644 index 00000000..cacc30cc --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4.sql @@ -0,0 +1,175 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from C6MartPeriodico.assetclass +CREATE procedure [C6MartPeriodico].[RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ESG_ANAG_METRICHE', + GETDATE(), + 'Elaborazione giornaliera' + ) +TRUNCATE TABLE c6StagingPeriodico.ESG_ANAG_METRICHE + INSERT INTO [c6StagingPeriodico].ESG_ANAG_METRICHE + ( [COD_PRODOTTO] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[CatSFDR] + ,[ESGRating] + ,[TrendESGRating] + ,[LABEL_Green_Bond] + ,[LABEL_Social_Bond] + ,[LABEL_Sustainability_Bond] + ,[LABEL_Transition_Bond] + ,[LABEL_Sust_linked_bond] + ,LABEL_EU_GREEN_BOND_STANDARD + ,[PERC_INVESTIMENTO_TAXONOMY] + ,[PERC_INVESTIMENTO_SFDR] + ,[PAI_LAB_A_Emissioni_Gas_Serra] + ,[PAI_LAB_A_Biodiversita] + ,[PAI_LAB_A_Acqua] + ,[PAI_LAB_A_Rifiuti] + ,[PAI_LAB_A_Gov_Ambientale] + ,[PAI_LAB_A_Comb_Fossili] + ,[PAI_LAB_A_Eff_energetica] + ,[PAI_LAB_S_Questioni_Soc_Dip] + ,[PAI_LAB_S_Gov_Sociali] + ,[U_INFO_ESG] + ,[ID_ELAB] + ,[TIPO_ELAB] + ) + SELECT + --ChiaveProdotto, + CatalogueID AS COD_PRODOTTO, + C.CodSottoprodotto AS COD_SOTTOPRODOTTO, + ISNULL(C.CodInterno, '') AS COD_INTERNO, + C.CodMaf AS COD_MAF, + C.CodAdeguatezza AS COD_ADEGUATEZZA, + ISNULL(C.CodIsin, '') AS COD_ISIN, + case when Ltrim(rtrim(ESG_E)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_E)) = 'N' then 'NO' + else 'NO' end as ESG_E, + case when Ltrim(rtrim(ESG_S)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_S)) = 'N' then 'NO' + else 'NO' end as ESG_S, + case when Ltrim(rtrim(ESG_G)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_G)) = 'N' then 'NO' + else 'NO' end as ESG_G, + case when CatSFDR='-' then '' else CatSFDR end as CatSFDR, + Ltrim(rtrim(ESGRating)) as ESGRating , + Ltrim(rtrim(TrendESGRating)) as TrendESGRating, + case when LABEL_Green_Bond<> '-' then 'Green Bond' else '' end as LABEL_Green_Bond, + case when LABEL_Social_Bond<> '-' then 'Social Bond' else '' end as LABEL_Social_Bond, + case when LABEL_Sustainability_Bond<> '-' then 'Sustainability Bond' else '' end as LABEL_Sustainability_Bond, + case when LABEL_Transition_Bond<> '-' then 'Transition Bond' else '' end as LABEL_Transition_Bond, + case when LABEL_Sust_linked_bond<> '-' then 'Sustainability Linked Bond' else '' end as LABEL_Sust_linked_bond, + case when LABEL_EU_GREEN_BOND_STANDARD<> '-' then 'EU Green Bond Standard' else '' end as LABEL_EU_GREEN_BOND_STANDARD, + PERC_INVESTIMENTO_TAXONOMY *100 as PERC_INVESTIMENTO_TAXONOMY, + PERC_INVESTIMENTO_SFDR * 100 as PERC_INVESTIMENTO_SFDR, + case when PAI_LAB_A_Emissioni_Gas_Serra<>'-' then 'Emissioni Gas Serra' else '' end as PAI_LAB_A_Emissioni_Gas_Serra, + case when PAI_LAB_A_Biodiversita<>'-' then 'Biodiversità' else '' end as PAI_LAB_A_Biodiversita, + case when PAI_LAB_A_Acqua<>'-' then 'Acqua' else '' end as PAI_LAB_A_Acqua, + case when PAI_LAB_A_Rifiuti<>'-' then 'Rifiuti' else '' end as PAI_LAB_A_Rifiuti, + case when PAI_LAB_A_Gov_Ambientale<>'-' then 'Governativi Ambientali' else '' end as PAI_LAB_A_Gov_Ambientale, + case when PAI_LAB_A_Comb_Fossili<>'-' then 'Combustibili Fossili' else '' end as PAI_LAB_A_Comb_Fossili, + case when PAI_LAB_A_Eff_energetica<>'-' then 'Efficienza Energetica' else '' end as PAI_LAB_A_Eff_energetica, + case when PAI_LAB_S_Questioni_Soc_Dip<>'-' then 'Questioni Sociali e dei Dipendenti' else '' end as PAI_LAB_S_Questioni_Soc_Dip, + case when PAI_LAB_S_Gov_Sociali<>'-' then 'Governativi Sociali' else '' end as PAI_LAB_S_Gov_Sociali, + case when U_INFO_ESG='TOOL_01' then 'Nota1' + when U_INFO_ESG='TOOL_02' then 'Nota2' + else '' end as U_INFO_ESG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM c6StagingPeriodico.RP_CatalogoProdotti c + Inner Join c6StagingPeriodico.RP_TB_ESG_ANAG_STRUM a + ON c.ChiaveProdotto = a.ChiaveProdotto +UPDATE m1 +SET m1.label_pai_a = NULLIF(CONCAT_WS(', ', + NULLIF(m2.PAI_LAB_A_Emissioni_Gas_Serra, ''), + NULLIF(m2.PAI_LAB_A_Biodiversita, ''), + NULLIF(m2.PAI_LAB_A_Acqua, ''), + NULLIF(m2.PAI_LAB_A_Rifiuti, ''), + NULLIF(m2.PAI_LAB_A_Gov_Ambientale, ''), + NULLIF(m2.PAI_LAB_A_Comb_Fossili, ''), + NULLIF(m2.PAI_LAB_A_Eff_energetica, '') + -- NULLIF(m2.PAI_LAB_S_Questioni_Soc_Dip, ''), + -- NULLIF(m2.PAI_LAB_S_Gov_Sociali, '') + ), '') +FROM c6StagingPeriodico.ESG_ANAG_METRICHE m1 +INNER JOIN c6StagingPeriodico.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') +UPDATE m1 +SET m1.label_pai_s = NULLIF(CONCAT_WS(', ', + NULLIF(m2.PAI_LAB_S_Questioni_Soc_Dip, ''), + NULLIF(m2.PAI_LAB_S_Gov_Sociali, '') + ), '') +FROM c6StagingPeriodico.ESG_ANAG_METRICHE m1 +INNER JOIN c6StagingPeriodico.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') + --select * from c6StagingPeriodico.ESG_ANAG_METRICHE +UPDATE m1 +SET m1.Label_U_INFO_ESG = NULLIF(CONCAT_WS(', ', + NULLIF(m2.LABEL_Green_Bond, ''), + NULLIF(m2.Label_Social_Bond, ''), + NULLIF(m2.Label_Sustainability_Bond, ''), + NULLIF(m2.Label_Transition_Bond, ''), + NULLIF(m2.Label_Sust_linked_Bond, ''), + NULLIF(m2.Label_EU_Green_Bond_Standard, ''), + NULLIF(m2.CatSFDR, ''), + NULLIF(m2.U_INFO_ESG, '') + ), '') +FROM c6StagingPeriodico.ESG_ANAG_METRICHE m1 +INNER JOIN c6StagingPeriodico.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ESG_ANAG_METRICHE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ESG_ANAG_METRICHE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql new file mode 100644 index 00000000..18c7fa2b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql @@ -0,0 +1,137 @@ +-- ============================================= +-- Author: +-- Create date: <13/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE] +AS +BEGIN +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() +DECLARE @GETDATE AS DATETIME +SELECT @GETDATE = GETDATE() +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) +VALUES ( + 'RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE', + GETDATE(), + 'Elaborazione trimestrale' +) + --1. INSERIMENTO MAIL "LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- NON PRESENTI SU GESTIONE_EMAIL +DECLARE @TIPOEMAIL AS VARCHAR(50) +SET @TIPOEMAIL = 'LC_REP_DA_GEN' +--Cancellazione delle eventuali mail che non sono ancora state inviate e che stanno per essere rigenerate + DELETE from C6MartPeriodico.MailAvvisoTrimestraleAiPB + WHERE email_id in ( + SELECT m.email_id + from C6MartPeriodico.MailAvvisoTrimestraleAiPB m + inner join [C6MartPeriodico].[GESTIONE_EMAIL] + ON GESTIONE_EMAIL.email_id = m.email_id + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N') + DELETE + FROM [C6MartPeriodico].[GESTIONE_EMAIL] + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' + INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,CodicePB,Tipo,Data_Generazione, ID_ELAB) + SELECT + DISTINCT + C6.Rete, + C6.Cod_Agente as CodicePB, + @TIPOEMAIL as TipoEmail, + @GETDATE AS DataGenerazione, + @ID_ELAB as ID_ELAB + FROM C6MartPeriodico.RP_vContrattiPerGenerazioneReport C6 + LEFT OUTER JOIN C6MartPeriodico.GESTIONE_EMAIL EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_Agente = EMAIL.CodicePB + AND EMAIL.TIPO = @TIPOEMAIL + AND YEAR(EMAIL.Data_Generazione) = YEAR(@GETDATE) + AND MONTH(EMAIL.Data_Generazione) = MONTH(@GETDATE) +-- AND ISNULL(EMAIL.[Inviata],'N') = 'N' + LEFT OUTER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.CodicePB IS NULL + AND PF.RETE IS NULL +/* +DECLARE @id_periodiodo as int + select @id_periodiodo = max(id_periodo) from [MIFD_ADEGUATEZZA].controllodata.dbo.clientiAdeguatezza_ALL + INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,CodicePB,Tipo,Data_Generazione, ID_ELAB) + SELECT + DISTINCT + C6.Rete, + C6.Cod_Agente as CodicePB, + @TIPOEMAIL as TipoEmail, + @GETDATE AS DataGenerazione, + @ID_ELAB as ID_ELAB + --FROM C6MartPeriodico.vContrattiPerGenerazioneReport C6 --V cambiata la vista + FROM + (select * from C6MartPeriodico.RP_vContrattiPerGenerazioneReport + where rete + cod_agente in +( +select + a.rete+ cod_agente + from + C6MartPeriodico.RP_vContrattiPerGenerazioneReport a + left outer join + [MIFD_ADEGUATEZZA].controllodata.dbo.clientiAdeguatezza_ALL b + on + (case + when len("codice mandato") = 0 + then b."codice fiscale" + else 'FF@'+ "codice mandato" + end) = a.cod_fiscale + and a.rete=b.rete + and a.cod_agente = substring(b.codagente, 2, len(b.codagente)- 1) + where + b.id_periodo= @id_periodiodo--- chiedi ad antonio il periodo + --and a.data_fineavanzato is null + and profilo > 0 + and dtprofilo is null +)) C6 + LEFT OUTER JOIN C6MartPeriodico.GESTIONE_EMAIL EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_Agente = EMAIL.CodicePB + AND EMAIL.TIPO = @TIPOEMAIL + AND YEAR(EMAIL.Data_Generazione) = YEAR(@GETDATE) + AND MONTH(EMAIL.Data_Generazione) = MONTH(@GETDATE) + AND ISNULL(EMAIL.[Inviata],'N') = 'N' + LEFT OUTER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.CodicePB IS NULL + AND PF.RETE IS NULL +--recupero mail errate +--and c6.rete+c6.cod_agente in ( +-- select * from temp_promotori) +*/ +-- +IF @@ERROR<>0 ROLLBACK +-- Log esecuzione +UPDATE + LOG_ESECUZIONE_PERIODICO +SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT +WHERE + Nome = 'RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE' + ) +COMMIT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_GestioneEmail.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_GestioneEmail.sql new file mode 100644 index 00000000..5e139aec --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_GestioneEmail.sql @@ -0,0 +1,218 @@ +--delete from C6MartPeriodico.gestione_Email where data_Generazione > getDate()-1 +--truncate table log_esecuzione +--select * from log_esecuzione +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_GestioneEmail] +AS +BEGIN +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- PERFEZIONAMENTO; +-- MANCATA MIGRAZIONE; +-- REINVIO SOLLECITO MANCATA MIGRAZIONE. +--LA GESTIONE DELLE EMAIL PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO O +--PER REINVIO DEL SOLLECITO PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO +--VIENE FATTA DOPO L'ALLINEAMENTO CON I DATI DEL SIMPB +--ESTRAZIONE EMAIL PERFEZIONAMENTO +--TIPO EMAIL: "PERF" +--L'EMAIL VIENE INVIATA PER TUTTI I CLIENTI CHE HANNO DATA DI PERFEZIONAMENTO VALORIZZATA +--IL CONTROLLO SULLA DATA DI GENERAZIONE >= DELLA DATA DI PERFEZIONAMENTO E' DOVUTO AL +--FATTO CHE IL CONTRATTO PUO` ESSERE CHIUSO E RIAPERTO ED IN QUESTO CASO LA MAIL DI PERFEZIONAMENTO +--DEVE ESSERE REINVIATA +-- EMAIL DI ADESIONE AL SERVIZIO SEI +-- TIPO EMAIL 'PERF' +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @ID_ELAB INT +DECLARE @MaxInvioSoll as SMALLINT +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') as smallint) +SET @ID_ELAB = C6MartPeriodico.GETIDELAB() +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) --7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint) --7 +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - Mail Perf',GETDATE(),'Elaborazione giornaliera') +--0. MODIFICO I RECORD IN GESTIONE EMAIL CON TIPO = PERF PER EVITARE IL REINVIO MULTIPLO A SEGUITO DELLA RIATTIVAZIONE +UPDATE C6MartPeriodico.GESTIONE_EMAIL +SET TIPO = 'OLD' +FROM C6MartPeriodico.Gestione_EMAIL EMAIL + INNER JOIN C6MartPeriodico.VCONTRATTI VC + ON VC.COD_FISCALE = EMAIL.COD_FISCALE + AND VC.rete = EMAIL.RETE + AND EMAIL.TIPO = 'PERF' + INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MC + ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB + AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO = '9999-12-31 00:00:00.000' + AND MC.Tip_riattivazione = 1 +--1. INSERIMENTO MAIL DI "PERFEZIONAMENTO" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- NON PRESENTI SU GESTIONE_EMAIL +INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione, ID_ELAB) +SELECT + VC.Rete, + VC.Cod_Fiscale, + 'PERF' as TipoEmail, + GETDATE() AS DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6MartPeriodico.VCONTRATTI VC +INNER JOIN C6MartPeriodico.CONTRATTOSEI_METADATI MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb +LEFT JOIN C6MartPeriodico.GESTIONE_EMAIL EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + AND EMAIL.TIPO = 'PERF' + AND EMAIL.Data_Generazione >= VC.Data_Perf -- CONDIZIONE PER ESCLUDERE DAL JOIN UN CONTRATTO CHIUSO E RIAPERTO. +LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF -- IN QUESTO MODO LO INSERIAMO NUOVAMENTE IN GESTIONE_MAIL. + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + --AND VC.InvioBenvenuto = 'N' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND EMAIL.COD_FISCALE IS NULL + AND PF.RETE IS NULL +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'INSERT',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf' AND + Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf') +INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - SollecitiNOMIG',GETDATE(),'Elaborazione giornaliera') +-- 2. INSERIMENTO MAIL "SOLLECITI" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE +-- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO è NULL -> CONSIDERIAMO DATA_PERF +INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT + VC.rete, + VC.cod_fiscale, + CASE + WHEN ISNULL(MD.numSolleciti,0) = 0 THEN '1_SOLL_NOMIG' + WHEN MD.numSolleciti = 1 THEN '2_SOLL_NOMIG' + WHEN MD.numSolleciti = 2 THEN '3_SOLL_NOMIG' + ELSE 'S_SOLL_NOMIG' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6MartPeriodico.VCONTRATTI VC +INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb +LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'N' + AND MD.InvioBenvenuto = 'N' + AND VC.Data_FineAvanzato > getDate() + --AND MD.GenerazioneReport = 'S' + AND PF.RETE IS NULL +-- 2.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" +-- AUMENTIAMO IL NUMERO numSolleciti +-- AGGIORNIAMO LA DATA Data_UltimoSollecito +UPDATE + C6MartPeriodico.[CONTRATTOSEI_METADATI] +SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() +FROM C6MartPeriodico.vcontratti VC +INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb +LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'N' + AND MD.InvioBenvenuto = 'N' -- richiesto da Tringali per non inviare mail se report già inviato + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'UPDATE',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - SollecitiNOMIG' AND Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - SollecitiNOMIG') +INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - Mail Revoca',GETDATE(),'Elaborazione giornaliera') +-- 3. INSERIMENTO MAIL "REVOCA" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE DOPO @MaxInvioSoll SOLLECITI +-- N.B. OCCHIO ALLA CONDIZIONE -> (c6.clienteMigrato = 'N' AND numSolleciti = @MaxInvioSoll) OR numSolleciti > @MaxInvioSoll +-- OVVERO: BUONA LA MIGRAZIONE EFFETTUATA DOPO L'ULTIMO SOLLECITO MA NON DOPO LA PRIMA REVOCA +INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOMIG' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB --max(Data_Generazione) +FROM C6MartPeriodico.vcontratti VC +INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb +INNER JOIN C6MartPeriodico.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE +LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOMIG','REVOCA_NOMIG') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.clienteMigrato = 'N')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL +GROUP BY email.rete, email.cod_fiscale +-- 3.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "REVOCA" +-- AUMENTIAMO IL NUMERO numSolleciti +-- NON AGGIORNIAMO LA DATA Data_UltimoSollecito +-- N.B. VERIFICARE SE IL CAMPO Data_UltimoSollecito VA AGGIORNATO +UPDATE C6MartPeriodico.[CONTRATTOSEI_METADATI] +SET + numRevoche = isnull(numRevoche,0) + 1, + data_UltimaRevoca = getDate() +FROM C6MartPeriodico.vcontratti VC +INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb +INNER JOIN C6MartPeriodico.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE +LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOMIG','REVOCA_NOMIG') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.clienteMigrato = 'N')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'INSERT',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - Mail Revoca' AND Inizio = ( + SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - Mail Revoca') +COMMIT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_GestioneEmailNA.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_GestioneEmailNA.sql new file mode 100644 index 00000000..360a954c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_GestioneEmailNA.sql @@ -0,0 +1,241 @@ +-- ============================================= +-- Author: +-- Create date: <17/11/2008,,> +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_GestioneEmailNA] +AS +BEGIN +BEGIN TRANSACTION +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT) +SET @ID_ELAB = C6MartPeriodico.GETIDELAB() +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'RP_DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' +) +-- 1. INSERIMENTO MAIL "SOLLECITI" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA EFFETTUATO L'ASSOCIAZIONE DELLE RISORSE + -- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO è NULL -> CONSIDERIAMO DATA_PERF + INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + VC.rete, + VC.cod_fiscale, + CASE + WHEN ISNULL(numSolleciti,0) = 0 THEN '1_SOLL_NOASS' + WHEN numSolleciti = 1 THEN '2_SOLL_NOASS' + WHEN numSolleciti = 2 THEN '3_SOLL_NOASS' + ELSE 'S_SOLL_NOASS' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM C6MartPeriodico.vcontratti VC + INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'S' + AND MD.risorseNA = 'S' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNA' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 1.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" + -- AUMENTIAMO IL NUMERO numSolleciti + -- AGGIORNIAMO LA DATA Data_UltimoSollecito + UPDATE + C6MartPeriodico.CONTRATTOSEI_METADATI + SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() + FROM C6MartPeriodico.vcontratti VC + INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'S' + AND MD.risorseNA = 'S' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNA' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 2. INSERIMENTO MAIL "REVOCA" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA EFFETTUATO L'ASSOCIAZIONE DELLE RISORSE DOPO @MaxInvioSoll SOLLECITI + -- N.B. OCCHIO ALLA CONDIZIONE -> (c6.risorseNA = 'N' AND numSolleciti = @MaxInvioSoll) OR numSolleciti > @MaxInvioSoll + -- OVVERO: BUONA L'ASSOCIAZIONE DELLE RISORSE EFFETTUATA DOPO L'ULTIMO SOLLECITO MA NON DOPO LA PRIMA REVOCA + INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOASS' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB --max(Data_Generazione) + FROM C6MartPeriodico.vcontratti VC + INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + INNER JOIN C6MartPeriodico.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOASS','REVOCA_NOASS') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.risorseNA = 'S')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + GROUP BY email.rete, email.cod_fiscale + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNA' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 2.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "REVOCA" + -- AUMENTIAMO IL NUMERO numSolleciti + -- NON AGGIORNIAMO LA DATA Data_UltimoSollecito + -- N.B. VERIFICARE SE IL CAMPO Data_UltimoSollecito VA AGGIORNATO + UPDATE C6MartPeriodico.[CONTRATTOSEI_METADATI] + SET + numRevoche = isnull(numRevoche,0) + 1, + data_UltimaRevoca = getDate() + FROM C6MartPeriodico.vcontratti VC + INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + INNER JOIN C6MartPeriodico.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOASS','REVOCA_NOASS') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.risorseNA = 'S')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNA' + ) +COMMIT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_GestioneEmailNOPRO.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_GestioneEmailNOPRO.sql new file mode 100644 index 00000000..346978d2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_GestioneEmailNOPRO.sql @@ -0,0 +1,244 @@ +--select * from C6MartPeriodico.gestione_Email where data_Generazione > getDate()-1 and tipo like '%pro%' +-- ============================================= +-- Author: +-- Create date: <19/14/2011,,> -1 ai -2! +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_GestioneEmailNOPRO] +AS +BEGIN +BEGIN TRANSACTION +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT) +SET @ID_ELAB = C6MartPeriodico.GETIDELAB() +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'RP_DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' +) +-- 1. INSERIMENTO MAIL "SOLLECITI" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA ATTIVATO UN PROFILO VALIDO AL CLIENTE + -- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO è NULL -> CONSIDERIAMO DATA_PERF + INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + VC.rete, + VC.cod_fiscale, + CASE + WHEN ISNULL(MD.numSolleciti,0) = 0 THEN '1_SOLL_NOPRO' + WHEN MD.numSolleciti = 1 THEN '2_SOLL_NOPRO' + WHEN MD.numSolleciti = 2 THEN '3_SOLL_NOPRO' + ELSE 'S_SOLL_NOPRO' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM C6MartPeriodico.vcontratti VC + INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'S' + AND MD.risorseNA = 'N' + AND MD.profiloAttivo = 0 + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 1.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" + -- AUMENTIAMO IL NUMERO numSolleciti + -- AGGIORNIAMO LA DATA Data_UltimoSollecito + UPDATE + C6MartPeriodico.CONTRATTOSEI_METADATI + SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() + FROM C6MartPeriodico.vcontratti VC + INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'S' + AND MD.risorseNA = 'N' + AND MD.profiloAttivo = 0 + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 2. INSERIMENTO MAIL "REVOCA" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA EFFETTUATO L'ATTIVAZIONE DEL PROFILO @MaxInvioSoll SOLLECITI + -- N.B. OCCHIO ALLA CONDIZIONE -> (c6.risorseNA = 'N' AND numSolleciti = @MaxInvioSoll) OR numSolleciti > @MaxInvioSoll + -- OVVERO: BUONA L'ASSOCIAZIONE DELLE RISORSE EFFETTUATA DOPO L'ULTIMO SOLLECITO MA NON DOPO LA PRIMA REVOCA + INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOPRO' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB --max(Data_Generazione) + FROM C6MartPeriodico.vcontratti VC + INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb + INNER JOIN C6MartPeriodico.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOPRO','REVOCA_NOPRO') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.profiloAttivo = 0)-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + GROUP BY email.rete, email.cod_fiscale + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 2.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "REVOCA" + -- AUMENTIAMO IL NUMERO numSolleciti + -- NON AGGIORNIAMO LA DATA Data_UltimoSollecito + -- N.B. VERIFICARE SE IL CAMPO Data_UltimoSollecito VA AGGIORNATO + UPDATE C6MartPeriodico.[CONTRATTOSEI_METADATI] + SET + numRevoche = isnull(numRevoche,0) + 1, + data_UltimaRevoca = getDate() + FROM C6MartPeriodico.vcontratti VC + INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb + INNER JOIN C6MartPeriodico.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOPRO','REVOCA_NOPRO') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.profiloAttivo = 0)-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' + ) +COMMIT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_IndicatoreRischio.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_IndicatoreRischio.sql new file mode 100644 index 00000000..b48d4d6a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_IndicatoreRischio.sql @@ -0,0 +1,322 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_IndicatoreRischio] +as +begin +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +print(@DataFineTrim) +DECLARE @DataTab VARCHAR(8) +SELECT TOP 1 @DataTab = dttrim FROM C6MartPeriodico.Indicatore_Rischio +print(@DataTab) +drop table if exists #appo +drop table if exists #NoCFPatrCasa +drop table if exists #NoPatrCasa +drop table if exists #NoPatrCasaFin +drop table if exists #tot +drop table if exists #finale + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +NULL +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + -- 16/7/2018 + into #appo + -- fine 16/7/2018 + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' then 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' then 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' then 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' then 'Patrimonio IW Private Inv.' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'W' then 'Patrimonio IW Private Inv.' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine + --SENZA PATRIMONIO CASA + select rete,cod_fiscale + into #NOCFPatrCasa + from #appo where ordine<>1 + except + select rete,cod_fiscale from #appo where ordine=1 + select a.* + into #NOPatrCasa + from #appo a inner join #NOCFPatrCasa p on a.RETE=p.RETE and a.COD_FISCALE=p.COD_FISCALE + select distinct + c.RETE, + c.COD_FISCALE, + case when c.RETE= 'F' then 'Patrimonio Fideuram' + WHEN c.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + when c.RETE= 'W' then 'Patrimonio IW Private Inv.' + end as INSTITUTENAME, + 0 as CTV, + c.CODICEPROFILO, + c.VARMAX, + 0 AS VAR, + 'n.c.' AS VARSTRING, + 0 as RISKCLASS, + 'n.c.' as RISKCLASSSTRING, + 0.000 as COVERAGE,--c.COVERAGE, + NULL AS COVERAGESTRING, + c.RISKCLASSMAX, + 0.0 as PERCENTAGE, + 1 as ordine, + 0 as Ully_perc + into #NoPatrCasaFin + from #NOPatrCasa c + select * + into #tot + from #NoPatrCasaFin + union all + select * from #appo where ORDINE=1 + select [RETE] + ,[COD_FISCALE] + ,@DataFineTrim as DTTRIM + ,[INSTITUTENAME] + ,[CTV] + ,[CODICEPROFILO] + ,[VARMAX] + ,[VAR] + ,[VARSTRING] + ,[RISKCLASS] + ,[RISKCLASSSTRING] + ,[COVERAGE] + ,[COVERAGESTRING] + ,[RISKCLASSMAX] + ,[PERCENTAGE] + ,[ordine] + ,[Ully_perc], case when VAR <= VARMAX then 'S' + when var > VARMAX then 'N' + else 'X' end as Ind_Rischio + into #finale + from #tot +if(isnull(@DataFineTrim,0) <> isnull(@DataTab,0)) +BEGIN +truncate table C6MartPeriodico.Indicatore_Rischio +print('OK') + insert into C6MartPeriodico.Indicatore_Rischio + select [RETE] + ,[COD_FISCALE] + ,[DTTRIM] + ,[INSTITUTENAME] + ,[CTV] + ,[CODICEPROFILO] + ,[VARMAX] + ,[VAR] + ,[VARSTRING] + ,[RISKCLASS] + ,[RISKCLASSSTRING] + ,[COVERAGE] + ,[COVERAGESTRING] + ,[RISKCLASSMAX] + ,[PERCENTAGE] + ,[ordine] + ,[Ully_perc] + ,Ind_Rischio + from #finale + select * from C6MartPeriodico.Indicatore_Rischio + END + ELSE + BEGIN + delete from C6MartPeriodico.Indicatore_Rischio where RETE+COD_FISCALE in (select RETE+COD_FISCALE from #finale) + insert into C6MartPeriodico.Indicatore_Rischio + select [RETE] + ,[COD_FISCALE] + ,[DTTRIM] + ,[INSTITUTENAME] + ,[CTV] + ,[CODICEPROFILO] + ,[VARMAX] + ,[VAR] + ,[VARSTRING] + ,[RISKCLASS] + ,[RISKCLASSSTRING] + ,[COVERAGE] + ,[COVERAGESTRING] + ,[RISKCLASSMAX] + ,[PERCENTAGE] + ,[ordine] + ,[Ully_perc] + ,Ind_Rischio + from #finale + select * from c6martperiodico.wseian2 + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_MAIL_PROFILI_RISCHIO.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_MAIL_PROFILI_RISCHIO.sql new file mode 100644 index 00000000..1c4ff912 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_MAIL_PROFILI_RISCHIO.sql @@ -0,0 +1,29 @@ +-- Stored procedure +CREATE procedure [C6MartPeriodico].[RP_DM_MAIL_PROFILI_RISCHIO] +AS +BEGIN +truncate table [C6MartPeriodico].[MAIL_PROFILI_RISCHIO] +insert into [C6MartPeriodico].[MAIL_PROFILI_RISCHIO] +SELECT [rete] + ,[cod_fiscale] + ,[codicecontratto] + ,[cod_agente] + ,[data_sott] + ,[data_perf] + ,[flag_invio_report] + ,[profilo] + ,[dt_creazione_profilo] + ,case + when profilo = 0 then 1 + else 0 + end as flagScaduto + ,case + when datediff(dd,dt_creazione_profilo,c6martperiodico.gettrimestre2(getdate(),0)) / 365.25 < 3 then 0 + else 1 + end as flagScadenzaTrim + ,case + when datediff(dd,dt_creazione_profilo,c6martperiodico.getNexttrimestre(getdate(),0)) / 365.25 < 3 then 0 + else 1 + end as flagScadenzaNextTrim + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[RP_MAIL_PROFILI_RISCHIO] +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE.sql new file mode 100644 index 00000000..c3bd3484 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE.sql @@ -0,0 +1,109 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_ATTUALE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_ATTUALE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_ATTIVAZIONE] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[APPORTO_INIZIALE] + ,[APPORTO_SUCCESSIVO] + ,[LIQUIDAZIONI] + ,[CEDOLE_DIVIDENDI] + ,[MINUS_PLUSVALENZA] + ,[RISORSE_ASSOCIATE] + ,[RENDIMENTO_CUMULATO] + ,[RENDIMENTO_ANNUALIZZATO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB]) + SELECT + TANAB.RETE, + VC.COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CS.nomeProgetto, 'XXX') AS NOME_PROGETTO, + CASE + WHEN ISDATE(TANAB.DTRIF) = 0 THEN NULL + ELSE CAST(CAST(TANAB.DTRIF AS VARCHAR(8)) AS DATETIME) + END AS DATA_ATTIVAZIONE, + --CAST(CAST(TANAB.DTRIF AS VARCHAR(8)) AS DATETIME) AS DATA_ATTIVAZIONE, + CASE + WHEN ISDATE(TANAB.DTCTV) = 0 THEN NULL + ELSE CAST(CAST(TANAB.DTCTV AS VARCHAR(8)) AS DATETIME) + END AS DATA_CTV, + TANAB.CTV AS CTV_MONITORATO, + TANAB.APP_INI AS APPORTO_INIZIALE, + TANAB.NTOT_APP AS APPORTO_SUCCESSIVO, + TANAB.NTOT_LIQ AS LIQUIDAZIONI, + TANAB.TOT_CED + TANAB.TOT_DIV AS CEDOLE_DIVIDENDI, + TANAB.CTV - (TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ) AS MINUS_PLUSVALENZA, + -- TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ - TANAB.TOT_CED - TANAB.TOT_DIV AS RISORSE_ASSOCIATE, + TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ AS RISORSE_ASSOCIATE, + cast(TANAB.RENDATT as decimal(15,2)) AS RENDIMENTO_CUMULATO, + TANAB.RENDATTANN AS RENDIMENTO_ANNUALIZZATO, + CM.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodico.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON TANAB.CODPROG = CM.idmonitoraggio +-- INNER JOIN C6StagingPeriodico.RP_Consulenza CS +-- ON CM.chiaveprogetto = CS.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND TANAB.RETE = VC.RETE + --AND VC.DATA_FINEAVANZATO > getDate() + WHERE 1 = 1 + AND TANAB.DTFINE = 99991231 +-- modifica di Luca per errore Mart simulazione 16/12/2015 + and TANAB.CODFIS not in ('BRTDIA49E49L219N','GRPGLI71R45L407D','GSTMGS42D51L833Z','MLSRNT54M12B354E','MRTGRL59B60H501T','RMNFNC40R14H501K') +--------------------------------------------------------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_ATTUALE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_ATTUALE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE_pre_selective.sql new file mode 100644 index 00000000..e6520aa5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE_pre_selective.sql @@ -0,0 +1,110 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_ATTUALE_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_ATTUALE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_ATTIVAZIONE] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[APPORTO_INIZIALE] + ,[APPORTO_SUCCESSIVO] + ,[LIQUIDAZIONI] + ,[CEDOLE_DIVIDENDI] + ,[MINUS_PLUSVALENZA] + ,[RISORSE_ASSOCIATE] + ,[RENDIMENTO_CUMULATO] + ,[RENDIMENTO_ANNUALIZZATO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB]) + SELECT + TANAB.RETE, + VC.COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CS.nomeProgetto, 'XXX') AS NOME_PROGETTO, + CASE + WHEN ISDATE(TANAB.DTRIF) = 0 THEN NULL + ELSE CAST(CAST(TANAB.DTRIF AS VARCHAR(8)) AS DATETIME) + END AS DATA_ATTIVAZIONE, + --CAST(CAST(TANAB.DTRIF AS VARCHAR(8)) AS DATETIME) AS DATA_ATTIVAZIONE, + CASE + WHEN ISDATE(TANAB.DTCTV) = 0 THEN NULL + ELSE CAST(CAST(TANAB.DTCTV AS VARCHAR(8)) AS DATETIME) + END AS DATA_CTV, + TANAB.CTV AS CTV_MONITORATO, + TANAB.APP_INI AS APPORTO_INIZIALE, + TANAB.NTOT_APP AS APPORTO_SUCCESSIVO, + TANAB.NTOT_LIQ AS LIQUIDAZIONI, + TANAB.TOT_CED + TANAB.TOT_DIV AS CEDOLE_DIVIDENDI, + TANAB.CTV - (TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ) AS MINUS_PLUSVALENZA, + -- TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ - TANAB.TOT_CED - TANAB.TOT_DIV AS RISORSE_ASSOCIATE, + TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ AS RISORSE_ASSOCIATE, + cast(TANAB.RENDATT as decimal(15,2)) AS RENDIMENTO_CUMULATO, + TANAB.RENDATTANN AS RENDIMENTO_ANNUALIZZATO, + CM.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodico.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON TANAB.CODPROG = CM.idmonitoraggio +-- INNER JOIN C6StagingPeriodico.RP_Consulenza CS +-- ON CM.chiaveprogetto = CS.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND TANAB.RETE = VC.RETE + --AND VC.DATA_FINEAVANZATO > getDate() + WHERE 1 = 1 + AND TANAB.DTFINE = 99991231 +-- modifica di Luca per errore Mart simulazione 16/12/2015 + and TANAB.CODFIS not in ('BRTDIA49E49L219N','GRPGLI71R45L407D','GSTMGS42D51L833Z','MLSRNT54M12B354E','MRTGRL59B60H501T','RMNFNC40R14H501K') +--------------------------------------------------------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_ATTUALE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_MONITORAGGIO_ATTUALE_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO.sql new file mode 100644 index 00000000..9ed1af00 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO.sql @@ -0,0 +1,147 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_DETTAGLIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] +-- begin try + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + SELECT distinct -- aggiunta distinct 20231212 per duplicati + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + CASE WHEN A.TIPPROD='CC' and data_associazione < '20110211' + THEN cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + VC.COD_FISCALE AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON ANA.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND ANA.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CUSTGAR is null OR LTRIM(RTRIM(a.CUSTGAR)) = '') then '0' else A.CUSTGAR end)=B.CUSTGAR +-- AND A.MAF=B.MAF + --V Modifica skandia di tipo ASU2 +--Intervento OMNIA Last +-- AND b.isin = case when (a.tipprod = 'ASU2') then a.isin else 'na' end +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192')) then a.isin else 'na' end + ----INIZIO INTERVENTO linea protetta - 18/12/2017 + --AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192') or a.codint in ('RV','RM', 'RS','RB','RE')) then a.isin else 'na' end + ----INIZIO INTERVENTO mio Foglio - 14/03/2019 + -- AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192') or a.codint in ('RV','RM', 'RS','RB','RE','RF')) then a.isin else 'na' end + AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192','V301','V302') or a.codint in ('RV','RM', 'RS','RB','RE','RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M')) then a.isin else 'na' end -- aggiunto 3A a 9M 25/07/2022 + ----fine INTERVENTO mio Foglio - 14/03/2019 + ----fine INTERVENTO linea protetta - 18/12/2017 +--FINE INTERVENTO MIGRAZIONE ASU3 +--Intervento OMNIA Last + and B.POSITIONID is not null + and a.cod_fiscale not in ('RTOMRN54L12I706I') + -------------------------------------- + --end try + --begin catch + --select @@error + --end catch + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20161220.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20161220.sql new file mode 100644 index 00000000..f40a614f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20161220.sql @@ -0,0 +1,140 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20161220] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_DETTAGLIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] +-- begin try + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + CASE WHEN A.TIPPROD='CC' and data_associazione < '20110211' + THEN cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + VC.COD_FISCALE AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON ANA.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND ANA.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CUSTGAR is null OR LTRIM(RTRIM(a.CUSTGAR)) = '') then '0' else A.CUSTGAR end)=B.CUSTGAR +-- AND A.MAF=B.MAF + --V Modifica skandia di tipo ASU2 +--Intervento OMNIA Last +-- AND b.isin = case when (a.tipprod = 'ASU2') then a.isin else 'na' end +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192')) then a.isin else 'na' end + AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192') or a.codint in ('RV','RM', 'RS','RB')) then a.isin else 'na' end +--FINE INTERVENTO MIGRAZIONE ASU3 +--Intervento OMNIA Last +--intervento di Luca per errore mart simulazione 16/12/2015 + --and B.POSITIONID is not null and a.cod_fiscale <> 'RZLGDU39M28E202J' + and B.POSITIONID is not null and a.cod_fiscale not in ('RZLGDU39M28E202J','GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') + --end try + --begin catch + --select @@error + --end catch + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20171218_preRFMP.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20171218_preRFMP.sql new file mode 100644 index 00000000..24e5d385 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20171218_preRFMP.sql @@ -0,0 +1,140 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20171218_preRFMP] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_DETTAGLIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] +-- begin try + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + CASE WHEN A.TIPPROD='CC' and data_associazione < '20110211' + THEN cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + VC.COD_FISCALE AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON ANA.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND ANA.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CUSTGAR is null OR LTRIM(RTRIM(a.CUSTGAR)) = '') then '0' else A.CUSTGAR end)=B.CUSTGAR +-- AND A.MAF=B.MAF + --V Modifica skandia di tipo ASU2 +--Intervento OMNIA Last +-- AND b.isin = case when (a.tipprod = 'ASU2') then a.isin else 'na' end +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192')) then a.isin else 'na' end + AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192') or a.codint in ('RV','RM', 'RS','RB','RE')) then a.isin else 'na' end +--FINE INTERVENTO MIGRAZIONE ASU3 +--Intervento OMNIA Last +--intervento di Luca per errore mart simulazione 16/12/2015 + --and B.POSITIONID is not null and a.cod_fiscale <> 'RZLGDU39M28E202J' + and B.POSITIONID is not null and a.cod_fiscale not in ('RZLGDU39M28E202J','GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') + --end try + --begin catch + --select @@error + --end catch + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20181213.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20181213.sql new file mode 100644 index 00000000..82aa6ae4 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20181213.sql @@ -0,0 +1,143 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20181213] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_DETTAGLIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] +-- begin try + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + CASE WHEN A.TIPPROD='CC' and data_associazione < '20110211' + THEN cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + VC.COD_FISCALE AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON ANA.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND ANA.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CUSTGAR is null OR LTRIM(RTRIM(a.CUSTGAR)) = '') then '0' else A.CUSTGAR end)=B.CUSTGAR +-- AND A.MAF=B.MAF + --V Modifica skandia di tipo ASU2 +--Intervento OMNIA Last +-- AND b.isin = case when (a.tipprod = 'ASU2') then a.isin else 'na' end +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192')) then a.isin else 'na' end + ----INIZIO INTERVENTO linea protetta - 18/12/2017 + --AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192') or a.codint in ('RV','RM', 'RS','RB','RE')) then a.isin else 'na' end + AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192') or a.codint in ('RV','RM', 'RS','RB','RE','RF')) then a.isin else 'na' end + ----fine INTERVENTO linea protetta - 18/12/2017 +--FINE INTERVENTO MIGRAZIONE ASU3 +--Intervento OMNIA Last +--intervento di Luca per errore mart simulazione 16/12/2015 + --and B.POSITIONID is not null and a.cod_fiscale <> 'RZLGDU39M28E202J' + and B.POSITIONID is not null and a.cod_fiscale not in ('RZLGDU39M28E202J','GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') + --end try + --begin catch + --select @@error + --end catch + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190112.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190112.sql new file mode 100644 index 00000000..b7277e9c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190112.sql @@ -0,0 +1,146 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20190112] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_DETTAGLIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] +-- begin try + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + CASE WHEN A.TIPPROD='CC' and data_associazione < '20110211' + THEN cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + VC.COD_FISCALE AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON ANA.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND ANA.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CUSTGAR is null OR LTRIM(RTRIM(a.CUSTGAR)) = '') then '0' else A.CUSTGAR end)=B.CUSTGAR +-- AND A.MAF=B.MAF + --V Modifica skandia di tipo ASU2 +--Intervento OMNIA Last +-- AND b.isin = case when (a.tipprod = 'ASU2') then a.isin else 'na' end +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192')) then a.isin else 'na' end + ----INIZIO INTERVENTO linea protetta - 18/12/2017 + --AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192') or a.codint in ('RV','RM', 'RS','RB','RE')) then a.isin else 'na' end + AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192') or a.codint in ('RV','RM', 'RS','RB','RE','RF')) then a.isin else 'na' end + ----fine INTERVENTO linea protetta - 18/12/2017 +--FINE INTERVENTO MIGRAZIONE ASU3 +--Intervento OMNIA Last +--intervento di Luca per errore mart simulazione 16/12/2015 + --and B.POSITIONID is not null and a.cod_fiscale <> 'RZLGDU39M28E202J' + and B.POSITIONID is not null and a.cod_fiscale not in ('RZLGDU39M28E202J','GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') + --intervento di Luca per errore mart simulazione 13/12/2018 + and a.cod_fiscale not in ('GRNCML62P41G086H','MTRMRS61B68B519E') + -------------------------------------- + --end try + --begin catch + --select @@error + --end catch + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190314_preMioFoglio.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190314_preMioFoglio.sql new file mode 100644 index 00000000..525c2bb4 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190314_preMioFoglio.sql @@ -0,0 +1,150 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20190314_preMioFoglio] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_DETTAGLIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] +-- begin try + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + CASE WHEN A.TIPPROD='CC' and data_associazione < '20110211' + THEN cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + VC.COD_FISCALE AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON ANA.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND ANA.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CUSTGAR is null OR LTRIM(RTRIM(a.CUSTGAR)) = '') then '0' else A.CUSTGAR end)=B.CUSTGAR +-- AND A.MAF=B.MAF + --V Modifica skandia di tipo ASU2 +--Intervento OMNIA Last +-- AND b.isin = case when (a.tipprod = 'ASU2') then a.isin else 'na' end +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192')) then a.isin else 'na' end + ----INIZIO INTERVENTO linea protetta - 18/12/2017 + --AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192') or a.codint in ('RV','RM', 'RS','RB','RE')) then a.isin else 'na' end + AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192') or a.codint in ('RV','RM', 'RS','RB','RE','RF')) then a.isin else 'na' end + ----fine INTERVENTO linea protetta - 18/12/2017 +--FINE INTERVENTO MIGRAZIONE ASU3 +--Intervento OMNIA Last +--intervento di Luca per errore mart simulazione 16/12/2015 + --and B.POSITIONID is not null and a.cod_fiscale <> 'RZLGDU39M28E202J' + and B.POSITIONID is not null and a.cod_fiscale not in ('RZLGDU39M28E202J','GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') + --intervento di Luca per errore mart simulazione 13/12/2018 + and a.cod_fiscale not in ('GRNCML62P41G086H','MTRMRS61B68B519E') + --intervento di Luca per errore mart 12/01/2019 + and a.cod_fiscale not in ('SBBMCG70C01F205D') + --intervento di Luca per errore mart 12/03/2019 + and a.cod_fiscale not in ('CRDLMR58M47G388T','CRDBRN61A57I829K','SCPNTN39C24F839H','SLOGLC87T05H223Q') + -------------------------------------- + --end try + --begin catch + --select @@error + --end catch + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql new file mode 100644 index 00000000..2f38a6c5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql @@ -0,0 +1,140 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] +-- begin try + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + CASE WHEN A.TIPPROD='CC' and data_associazione < '20110211' + THEN cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + VC.COD_FISCALE AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON ANA.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND ANA.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CUSTGAR is null OR LTRIM(RTRIM(a.CUSTGAR)) = '') then '0' else A.CUSTGAR end)=B.CUSTGAR +-- AND A.MAF=B.MAF + --V Modifica skandia di tipo ASU2 +--Intervento OMNIA Last +-- AND b.isin = case when (a.tipprod = 'ASU2') then a.isin else 'na' end +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192')) then a.isin else 'na' end + AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192') or a.codint in ('RV','RM', 'RS','RB','RE')) then a.isin else 'na' end +--FINE INTERVENTO MIGRAZIONE ASU3 +--Intervento OMNIA Last +--intervento di Luca per errore mart simulazione 16/12/2015 + --and B.POSITIONID is not null and a.cod_fiscale <> 'RZLGDU39M28E202J' + and B.POSITIONID is not null and a.cod_fiscale not in ('RZLGDU39M28E202J','GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') + --end try + --begin catch + --select @@error + --end catch + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE.sql new file mode 100644 index 00000000..ce766cb2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE.sql @@ -0,0 +1,137 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 15 luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_INIZIALE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_INIZIALE_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + ([RETE] + ,[COD_FISCALE] + ,[DATA_FOTO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] + ,[RISKCLASS] + , [RISKCLASSMAX] + ,[ID_ELAB] + ,ctvself) + SELECT + V.rete AS RETE, + V.COD_FISCALE AS COD_FISCALE, + M.dtSalvataggio AS DATA_FOTO, + isnull(ctvExt,0) + isnull(ctvInv,0) + isnull(ctvRis,0) + isnull(ctvLiq,0) + + isnull(ctvPre,0) + isnull(ctvNa,0) + isnull(ctvCC,0) AS CTV_TOTALE, + ctvExt AS CTV_EXT, + ctvInv AS CTV_INV, + ctvRis AS CTV_RIS, + ctvPre AS CTV_PRE, + ctvLiq AS CTV_LIQ, + ctvCC AS CTV_CC, + ctvNa AS CTV_NA, + partiteViaggianti AS PARTITA_VIAGGIANTE, + [var] AS VAR_COMPLESSIVO, + copertura AS VAR_COPERTURA, + codiceProfilo AS PROFILO, + var_max_profilo AS VAR_MAX_PROFILO, +-- c6martperiodico.Codifica_CRisk_PhotoData(rischioCredito), +-- c6martperiodico.Codifica_CRisk_PhotoData(classe_rischio_max), + --rischioCredito, + --classe_rischio_max, + case when rischioCredito = 5 then 0 + when rischioCredito = 6 then null + else rischioCredito end as rischioCredito, + case when classe_rischio_max = 5 then 0 + when classe_rischio_max = 6 then null + else classe_rischio_max end as classe_rischio_max, + @ID_ELAB AS ID_ELAB, + ctvself AS CTVSELF + FROM [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V + INNER JOIN C6STAGINGPERIODICO.RP_MonitoraggioStorico M + ON V.chiaveClientePB = M.chiaveClientePB + WHERE 1 = 1 + --AND SUBSTRING(TYPE__TYPE_7CAB6, 1, 1) = '1' + AND stato = '2' + AND M.dtSalvataggio IS NOT NULL +-- modifica di Luca per errore mart in simulazione 16/12/2015 +-- riabilito 21/7/2017 + --and V.COD_FISCALE not in ('GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') +---------------------------------------------------------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_INIZIALE_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_INIZIALE_1' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_INIZIALE_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MartPeriodico.Test_Quality + SELECT + V.rete AS RETE, + V.COD_FISCALE AS COD_FISCALE, + 'dtSalvataggio is null' + FROM [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V + INNER JOIN C6STAGINGPERIODICO.RP_MonitoraggioStorico M + ON V.chiaveClientePB = M.chiaveClientePB + WHERE 1 = 1 + --AND SUBSTRING(TYPE__TYPE_7CAB6, 1, 1) = '1' + AND stato = '2' + AND M.dtSalvataggio IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_INIZIALE_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_INIZIALE_2' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE_pre_selective.sql new file mode 100644 index 00000000..c6b5d4c7 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE_pre_selective.sql @@ -0,0 +1,136 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 15 luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_INIZIALE_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_INIZIALE_pre_selective_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + ([RETE] + ,[COD_FISCALE] + ,[DATA_FOTO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] + ,[RISKCLASS] + , [RISKCLASSMAX] + ,[ID_ELAB] + ,ctvself) + SELECT + V.rete AS RETE, + V.COD_FISCALE AS COD_FISCALE, + M.dtSalvataggio AS DATA_FOTO, + isnull(ctvExt,0) + isnull(ctvInv,0) + isnull(ctvRis,0) + isnull(ctvLiq,0) + + isnull(ctvPre,0) + isnull(ctvNa,0) + isnull(ctvCC,0) AS CTV_TOTALE, + ctvExt AS CTV_EXT, + ctvInv AS CTV_INV, + ctvRis AS CTV_RIS, + ctvPre AS CTV_PRE, + ctvLiq AS CTV_LIQ, + ctvCC AS CTV_CC, + ctvNa AS CTV_NA, + partiteViaggianti AS PARTITA_VIAGGIANTE, + [var] AS VAR_COMPLESSIVO, + copertura AS VAR_COPERTURA, + codiceProfilo AS PROFILO, + var_max_profilo AS VAR_MAX_PROFILO, +-- c6martperiodico.Codifica_CRisk_PhotoData(rischioCredito), +-- c6martperiodico.Codifica_CRisk_PhotoData(classe_rischio_max), + --rischioCredito, + --classe_rischio_max, + case when rischioCredito = 5 then 0 + when rischioCredito = 6 then null + else rischioCredito end as rischioCredito, + case when classe_rischio_max = 5 then 0 + when classe_rischio_max = 6 then null + else classe_rischio_max end as classe_rischio_max, + @ID_ELAB AS ID_ELAB, + ctvself AS CTVSELF + FROM [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V + INNER JOIN C6STAGINGPERIODICO.RP_MonitoraggioStorico M + ON V.chiaveClientePB = M.chiaveClientePB + WHERE 1 = 1 + --AND SUBSTRING(TYPE__TYPE_7CAB6, 1, 1) = '1' + AND stato = '2' + AND M.dtSalvataggio IS NOT NULL +-- modifica di Luca per errore mart in simulazione 16/12/2015 + and V.COD_FISCALE not in ('GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') +---------------------------------------------------------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_INIZIALE_pre_selective_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_MONITORAGGIO_INIZIALE_pre_selective_1' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_INIZIALE_pre_selective_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MartPeriodico.Test_Quality + SELECT + V.rete AS RETE, + V.COD_FISCALE AS COD_FISCALE, + 'dtSalvataggio is null' + FROM [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V + INNER JOIN C6STAGINGPERIODICO.RP_MonitoraggioStorico M + ON V.chiaveClientePB = M.chiaveClientePB + WHERE 1 = 1 + --AND SUBSTRING(TYPE__TYPE_7CAB6, 1, 1) = '1' + AND stato = '2' + AND M.dtSalvataggio IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_INIZIALE_pre_selective_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_MONITORAGGIO_INIZIALE_pre_selective_2' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT.sql new file mode 100644 index 00000000..ff472b55 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT.sql @@ -0,0 +1,99 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 Luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_REPORT] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_REPORT', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_REPORT] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[DATA_INVIO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] + ,riskclass + ,riskclassmax +--INIZIO INTERVENTI OMNIA +-- ,[ID_ELAB]) + ,[ID_ELAB] + ,[CTV_SELF] + -- MIOFOGLIO 20181206 + ,[CTV_SELF_FOGLIO] + -- fine MIOFOGLIO 20181206 + ) +--FINE INTERVENTI OMNIA + SELECT + V.RETE, + V.COD_FISCALE, + S.DATA_FASE AS DATA_INVIO, + SUM(S.CONTROVALORE) as CTV_TOTALE, + SUM(CASE WHEN S.AREA= 'EXT' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_EXT, + SUM(CASE WHEN S.AREA= 'INV' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_INV, + SUM(CASE WHEN S.AREA= 'RIS' THEN S.CONTROVALORE ELSE 0 END )AS CTV_RIS, + SUM(CASE WHEN S.AREA= 'PRE' THEN S.CONTROVALORE ELSE 0 END )AS CTV_PRE, + SUM(CASE WHEN S.AREA= 'LIQ' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_LIQ, + Max(S.CONTOCORRENTE )AS CTV_CC, + Max(S.RISORSENONALLOCATE) AS CTV_NA, + MAX(S.INVESTIMENTIINCORSO) AS PARTITA_VIAGGIANTE, + MAX(S.VAR_PERC_PTF) AS VAR_COMPLESSIVO, + MAX(S.COPERTURA) as VAR_COPERTURA, + mAX(S.PROFILO) AS PROFILO, + MAX(S.MAX_VAR) AS VAR_MAX_PROFILO, + CASE WHEN MAX(CRISK) = 'n.a.' THEN null ELSE MAX(CRISK) END AS RISKCLASS, + --MAX(CRISK) AS RISKCLASS, + MAX(CRISKMAX) AS RISKCLASSMAX, + @ID_ELAB AS ID_ELAB +--INIZIO INTERVENTI OMNIA + ,Max(S.lineaself)AS CTV_SELF + -- MIOFOGLIO 20181206 + ,Max(S.lineaselfFoglio)AS CTV_SELF_FOGLIO + -- fine MIOFOGLIO 20181206 +--FINE INTERVENTI OMNIA + FROM [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V INNER JOIN C6STAGINGPERIODICO.RP_REP_S80_EVOL_STAMPA_C6 S + ON V.chiaveClientePB = S.chiaveClientePB + GROUP BY + V.RETE, + V.COD_FISCALE, + S.DATA_FASE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_REPORT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_REPORT' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_20181214_PreMioFoglio.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..323108c5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_20181214_PreMioFoglio.sql @@ -0,0 +1,92 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 Luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_REPORT_20181214_PreMioFoglio] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_REPORT', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_REPORT] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[DATA_INVIO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] + ,riskclass + ,riskclassmax +--INIZIO INTERVENTI OMNIA +-- ,[ID_ELAB]) + ,[ID_ELAB] + ,[CTV_SELF]) +--FINE INTERVENTI OMNIA + SELECT + V.RETE, + V.COD_FISCALE, + S.DATA_FASE AS DATA_INVIO, + SUM(S.CONTROVALORE) as CTV_TOTALE, + SUM(CASE WHEN S.AREA= 'EXT' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_EXT, + SUM(CASE WHEN S.AREA= 'INV' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_INV, + SUM(CASE WHEN S.AREA= 'RIS' THEN S.CONTROVALORE ELSE 0 END )AS CTV_RIS, + SUM(CASE WHEN S.AREA= 'PRE' THEN S.CONTROVALORE ELSE 0 END )AS CTV_PRE, + SUM(CASE WHEN S.AREA= 'LIQ' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_LIQ, + Max(S.CONTOCORRENTE )AS CTV_CC, + Max(S.RISORSENONALLOCATE) AS CTV_NA, + MAX(S.INVESTIMENTIINCORSO) AS PARTITA_VIAGGIANTE, + MAX(S.VAR_PERC_PTF) AS VAR_COMPLESSIVO, + MAX(S.COPERTURA) as VAR_COPERTURA, + mAX(S.PROFILO) AS PROFILO, + MAX(S.MAX_VAR) AS VAR_MAX_PROFILO, + CASE WHEN MAX(CRISK) = 'n.a.' THEN null ELSE MAX(CRISK) END AS RISKCLASS, + --MAX(CRISK) AS RISKCLASS, + MAX(CRISKMAX) AS RISKCLASSMAX, + @ID_ELAB AS ID_ELAB +--INIZIO INTERVENTI OMNIA + ,Max(S.lineaself)AS CTV_SELF +--FINE INTERVENTI OMNIA + FROM [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V INNER JOIN C6STAGINGPERIODICO.RP_REP_S80_EVOL_STAMPA_C6 S + ON V.chiaveClientePB = S.chiaveClientePB + GROUP BY + V.RETE, + V.COD_FISCALE, + S.DATA_FASE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_REPORT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_REPORT' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_pre_selective.sql new file mode 100644 index 00000000..70f99b74 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_pre_selective.sql @@ -0,0 +1,92 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 Luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_REPORT_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_REPORT_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_REPORT] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[DATA_INVIO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] + ,riskclass + ,riskclassmax +--INIZIO INTERVENTI OMNIA +-- ,[ID_ELAB]) + ,[ID_ELAB] + ,[CTV_SELF]) +--FINE INTERVENTI OMNIA + SELECT + V.RETE, + V.COD_FISCALE, + S.DATA_FASE AS DATA_INVIO, + SUM(S.CONTROVALORE) as CTV_TOTALE, + SUM(CASE WHEN S.AREA= 'EXT' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_EXT, + SUM(CASE WHEN S.AREA= 'INV' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_INV, + SUM(CASE WHEN S.AREA= 'RIS' THEN S.CONTROVALORE ELSE 0 END )AS CTV_RIS, + SUM(CASE WHEN S.AREA= 'PRE' THEN S.CONTROVALORE ELSE 0 END )AS CTV_PRE, + SUM(CASE WHEN S.AREA= 'LIQ' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_LIQ, + Max(S.CONTOCORRENTE )AS CTV_CC, + Max(S.RISORSENONALLOCATE) AS CTV_NA, + MAX(S.INVESTIMENTIINCORSO) AS PARTITA_VIAGGIANTE, + MAX(S.VAR_PERC_PTF) AS VAR_COMPLESSIVO, + MAX(S.COPERTURA) as VAR_COPERTURA, + mAX(S.PROFILO) AS PROFILO, + MAX(S.MAX_VAR) AS VAR_MAX_PROFILO, + CASE WHEN MAX(CRISK) = 'n.a.' THEN null ELSE MAX(CRISK) END AS RISKCLASS, + --MAX(CRISK) AS RISKCLASS, + MAX(CRISKMAX) AS RISKCLASSMAX, + @ID_ELAB AS ID_ELAB +--INIZIO INTERVENTI OMNIA + ,Max(S.lineaself)AS CTV_SELF +--FINE INTERVENTI OMNIA + FROM [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V INNER JOIN C6STAGINGPERIODICO.RP_REP_S80_EVOL_STAMPA_C6 S + ON V.chiaveClientePB = S.chiaveClientePB + GROUP BY + V.RETE, + V.COD_FISCALE, + S.DATA_FASE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_REPORT_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_MONITORAGGIO_REPORT_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO.sql new file mode 100644 index 00000000..c454e699 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO.sql @@ -0,0 +1,164 @@ +-- Stored procedure +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_STORICO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_STORICO_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_STORICO] +begin try + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_STORICO] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[RISORSE_ASSOCIATE] + ,[ID_ELAB] + ,CEDOLE_DIV + ,ordinamento_progetto) + SELECT + TANAB.RETE AS RETE, + VC.COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CS.nomeProgetto, 'XXX') AS NOME_PROGETTO, + CASE WHEN ISDATE(WRENAB.DTVALORIZ) = 0 THEN NULL + ELSE + CAST(CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) AS DATETIME) END AS DATA_CTV, + WRENAB.CTV AS CTV_MONITORATO, + WRENAB.CVN AS RISORSE_ASSOCIATE, + @ID_ELAB AS ID_ELAB, + (TANAB.TOT_CED + TANAB.TOT_DIV) AS CEDOLE_DIV, + CM.ChiaveProgetto -- tanab.codprog + FROM C6STAGINGPERIODICO.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB + ON TANAB.CODPROG = WRENAB.CODPROG + AND TANAB.DTRIF = WRENAB.DTRIF + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON TANAB.CODPROG = CM.idmonitoraggio +-- INNER JOIN C6StagingPeriodico.RP_Consulenza CS +-- ON CM.chiaveprogetto = CS.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND TANAB.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE 1 = 1 + AND TANAB.DTFINE = '99991231' + AND ISDATE(WRENAB.DTVALORIZ) = 1 + --intervento di Luca per errore mart simulazione 16/12/2015 + and tanab.codfis not in ('GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') + ---------------------------------------------------------------------------------- + end try + begin catch + select @@error + end catch + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_STORICO_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_STORICO_1') + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_STORICO_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MartPeriodico.Test_Quality + SELECT + TANAB.RETE AS RETE, + VC.COD_FISCALE, + 'DTVALORIZZ non valida - Area: ' + + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END + ' Nome Progetto: ' + + ISNULL(CS.nomeProgetto, 'XXX') + ' - DTVALORIZZ: ' + + CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) + + ' - CTV_MONITORATO: ' + ltrim(rtrim(cast(WRENAB.CTV AS VARCHAR(20)))) + + ' - RISORSE_ASSOCIATE: ' + ltrim(rtrim(cast(WRENAB.CVN AS VARCHAR(20)))) + + ' - CEDOLE_DIV: ' + ltrim(rtrim(cast((TANAB.TOT_CED + TANAB.TOT_DIV) AS VARCHAR(20)))) + + ' - ChiaveProgetto: ' + cast(isnull(CM.ChiaveProgetto, '') as varchar(10)) + FROM C6STAGINGPERIODICO.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB + ON TANAB.CODPROG = WRENAB.CODPROG + AND TANAB.DTRIF = WRENAB.DTRIF + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON TANAB.CODPROG = CM.idmonitoraggio +-- INNER JOIN C6StagingPeriodico.RP_Consulenza CS +-- ON CM.chiaveprogetto = CS.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND TANAB.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE 1 = 1 + AND TANAB.DTFINE = '99991231' + AND ISDATE(WRENAB.DTVALORIZ) = 0 +-- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_STORICO_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_STORICO_2' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO_pre_selective.sql new file mode 100644 index 00000000..51462556 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO_pre_selective.sql @@ -0,0 +1,164 @@ +-- Stored procedure +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_STORICO_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_STORICO_pre_selective_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_STORICO] +begin try + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_STORICO] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[RISORSE_ASSOCIATE] + ,[ID_ELAB] + ,CEDOLE_DIV + ,ordinamento_progetto) + SELECT + TANAB.RETE AS RETE, + VC.COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CS.nomeProgetto, 'XXX') AS NOME_PROGETTO, + CASE WHEN ISDATE(WRENAB.DTVALORIZ) = 0 THEN NULL + ELSE + CAST(CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) AS DATETIME) END AS DATA_CTV, + WRENAB.CTV AS CTV_MONITORATO, + WRENAB.CVN AS RISORSE_ASSOCIATE, + @ID_ELAB AS ID_ELAB, + (TANAB.TOT_CED + TANAB.TOT_DIV) AS CEDOLE_DIV, + CM.ChiaveProgetto -- tanab.codprog + FROM C6STAGINGPERIODICO.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB + ON TANAB.CODPROG = WRENAB.CODPROG + AND TANAB.DTRIF = WRENAB.DTRIF + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON TANAB.CODPROG = CM.idmonitoraggio +-- INNER JOIN C6StagingPeriodico.RP_Consulenza CS +-- ON CM.chiaveprogetto = CS.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND TANAB.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE 1 = 1 + AND TANAB.DTFINE = '99991231' + AND ISDATE(WRENAB.DTVALORIZ) = 1 + --intervento di Luca per errore mart simulazione 16/12/2015 + and tanab.codfis not in ('GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') + ---------------------------------------------------------------------------------- + end try + begin catch + select @@error + end catch + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_STORICO_pre_selective_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_MONITORAGGIO_STORICO_pre_selective_1') + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_STORICO_pre_selective_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MartPeriodico.Test_Quality + SELECT + TANAB.RETE AS RETE, + VC.COD_FISCALE, + 'DTVALORIZZ non valida - Area: ' + + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END + ' Nome Progetto: ' + + ISNULL(CS.nomeProgetto, 'XXX') + ' - DTVALORIZZ: ' + + CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) + + ' - CTV_MONITORATO: ' + ltrim(rtrim(cast(WRENAB.CTV AS VARCHAR(20)))) + + ' - RISORSE_ASSOCIATE: ' + ltrim(rtrim(cast(WRENAB.CVN AS VARCHAR(20)))) + + ' - CEDOLE_DIV: ' + ltrim(rtrim(cast((TANAB.TOT_CED + TANAB.TOT_DIV) AS VARCHAR(20)))) + + ' - ChiaveProgetto: ' + cast(isnull(CM.ChiaveProgetto, '') as varchar(10)) + FROM C6STAGINGPERIODICO.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB + ON TANAB.CODPROG = WRENAB.CODPROG + AND TANAB.DTRIF = WRENAB.DTRIF + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON TANAB.CODPROG = CM.idmonitoraggio +-- INNER JOIN C6StagingPeriodico.RP_Consulenza CS +-- ON CM.chiaveprogetto = CS.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND TANAB.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE 1 = 1 + AND TANAB.DTFINE = '99991231' + AND ISDATE(WRENAB.DTVALORIZ) = 0 +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_STORICO_pre_selective_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_MONITORAGGIO_STORICO_pre_selective_2' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO.sql new file mode 100644 index 00000000..ad896ee5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO.sql @@ -0,0 +1,86 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_ALTRO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_ALTRO', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_ALTRO +INSERT INTO [C6MartPeriodico].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb, dettPatrAz.denominazione) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6StagingPeriodico.RP_DettPatrAziendale dettPatrAz, + C6StagingPeriodico.RP_PatrimonioTerzi patrTerzi, + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +UNION ALL +SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb, dettAltriProd.descrizione) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6StagingPeriodico.RP_DettAltriProdotti dettAltriProd, + C6StagingPeriodico.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO_pre_selective.sql new file mode 100644 index 00000000..dd9bab8f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO_pre_selective.sql @@ -0,0 +1,86 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_ALTRO_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_ALTRO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_ALTRO +INSERT INTO [C6MartPeriodico].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb, dettPatrAz.denominazione) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6StagingPeriodico.RP_DettPatrAziendale dettPatrAz, + C6StagingPeriodico.RP_PatrimonioTerzi patrTerzi, + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +UNION ALL +SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb, dettAltriProd.descrizione) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6StagingPeriodico.RP_DettAltriProdotti dettAltriProd, + C6StagingPeriodico.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF.sql new file mode 100644 index 00000000..5a79cd55 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF.sql @@ -0,0 +1,778 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +--------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT distinct-- PER DIVERSI DA CC ************************ --distinct aggiunta il 23/02/2024 + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + -- 20170421 elimina char ; dal nome progetto che causa errore 2000 durante elaborazione prometeia exe + --ELSE LTRIM(RTRIM(CON.nomeProgetto)) + ELSE replace (LTRIM(RTRIM(CON.nomeProgetto)), ';', '') + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO, + NULL as ClienteDB, + CON.CHIAVEPTFMOD as CHIAVEPTFMOD, + CASE WHEN SPB.BASE_PREZZ = 'N' THEN 'S' ELSE 'N' END AS Nob_prez, + SPB.DIVISA AS Divisa +-- fine nuovo + INTO TEMP_PATRIMONIO_CAMPIONE + FROM C6StagingPeriodico.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + --and con.cod_fiscale + CON.RETE IN + --( + --select COD_FISCALE + RETE + --FROM ANDREA_RINO_CODICI_PATRIMONIO + --) + UNION ALL + SELECT distinct-- *** PER UGUALI DA CC ************************ distinct aggiunta il 23/02/2024 + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPPROD = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + --ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO, + NULL as ClienteDB, + CON.CHIAVEPTFMOD as CHIAVEPTFMOD, + CASE WHEN SPB.BASE_PREZZ = 'N' THEN 'S' ELSE 'N' END AS Nob_prez, + SPB.DIVISA AS Divisa-- fine nuovo + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPERIODICO.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin in ('EURO00000009', 'EURO10000007') + --FINE INTERVENTI OMNIA*** +--and con.cod_fiscale + CON.RETE IN +--( +--select COD_FISCALE + RETE +--FROM ANDREA_RINO_CODICI_PATRIMONIO +--) +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --DROP TABLE #PATRIMONIO_DUPLICATI + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM TEMP_PATRIMONIO_CAMPIONE + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + --Scrittura Tabella Data Quality + --id 4 'POSIZIONI DUPLICATE - PATRIMONIO_BF' +exec C6MartPeriodico.SP_DQ_PosizioniDuplicate 2 + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MARTPERIODICO.PATRIMONIO_BF +([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] +-- ,[STATO_CONSULENZA] +-- ,[DATA_STATO_CONS] +-- ,[DATA_MIGR_CONS] +-- , [DATA_PIANIF] +-- ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVE_PROGETTO] + ,[ClienteDB] + ,[ChiavePtfMod] + ,[Nob_Prez] + ,[Divisa]) + SELECT distinct P.[RETE] --aggiunto distinct + ,P.[COD_FISCALE] + ,P.[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,NULL --[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZONTETEMPORALE] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVEPROGETTO] + ,[ClienteDB] + ,[ChiavePtfMod] + ,P.[Nob_Prez] + ,P.[Divisa] +FROM +TEMP_PATRIMONIO_CAMPIONE P + LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--select rete, cod_fiscale, positionid, count(*) from #PATRIMONIO group by rete, cod_fiscale, positionid having count(*) > 1 + UNION ALL + SELECT distinct--aggiunto distinct + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, +-- case when isnull(CON.tipoProgetto, '') = '' then 'Default' +-- when CON.tipoProgetto = 0 then 'Default' +-- else 'Progetto investimento' end + '' as TIPO_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + CASE WHEN ORIZZ_TEMP_NUM = 0 THEN NULL ELSE ORIZZ_TEMP_NUM END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + KAT.AzOb As STRTYPE, + KAT.Complessita as COMPLEX, + MIT.DESCRIZIONE AS EMITTENTE, + SPB.ISIN, + @ID_ELAB, + @TIPO_ELAB, + -1 AS CHIAVE_PROGETTO, + NULL as ClienteDB, + patr.CHIAVEPTFMOD as CHIAVEPTFMOD, + CASE WHEN SPB.BASE_PREZZ = 'N' THEN 'S' ELSE 'N' END AS Nob_prez, + SPB.DIVISA AS Divisa + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI_v SPB + LEFT JOIN TEMP_PATRIMONIO_CAMPIONE PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--and SPB.CODFIS + SPB.RETE IN +-- ( +-- select COD_FISCALE + RETE +-- FROM ANDREA_RINO_CODICI_PATRIMONIO +-- ) +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + --************************************************************************************************* + -- RECUPERO CHIAVE PROGETTO DALLA CONSULENZA PER I PRODOTTI CHE SCENDONO DAL WS MA NON SONO NEL DB + SELECT DISTINCT COD_FISCALE, RETE, NULL AS CHIAVEPROGETTO + INTO #CHIAVEPROGETTONULL + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE CHIAVE_PROGETTO = -1 + UPDATE #CHIAVEPROGETTONULL SET CHIAVEPROGETTO = R.CHIAVEPROGETTO + FROM + #CHIAVEPROGETTONULL C INNER JOIN C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON C.COD_FISCALE = R.COD_FISCALE + AND C.RETE = R.RETE + AND R.area = 'Na' + UPDATE C6MARTPERIODICO.PATRIMONIO_BF SET + CHIAVE_PROGETTO = T.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = T.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF P INNER JOIN #CHIAVEPROGETTONULL T + ON P.COD_FISCALE = T.COD_FISCALE + AND P.RETE = T.RETE + WHERE P.CHIAVE_PROGETTO = -1 + --************************************************************************************************* + drop table #CHIAVEPROGETTONULL + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' + ) +--DROP table TEMP_PATRIMONIO_CAMPIONE +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, +--INIZIO INTERVENTO CORRETTIVO 20150130 +-- '', + CONS.CodIsin, +--FINE INTERVENTO CORRETTIVO 20150130 + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND TCP.SUBPROD=TSCA.SUBPROD + AND TCP.ISIN=TSCA.ISIN + AND TCP.dtrif=TSCA.dtrif + AND TCP.dtingresso=TSCA.dtingresso +--FINE INTERVENTO CORRETTIVO 20150130 + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,0)=ISNULL(TSCA.PROG,0) + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,0)=ISNULL(TSCA.ANNO,0) + inner join + --C6StagingPeriodico.RP_CONSULENZA_v AS CONS + C6StagingPeriodico.RP_CONSULENZA AS CONS + ON + TSCA.CODCONF = CONS.CODCONF +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND (TSCA.CODPROD = CONS.CodInterno + OR TSCA.CODABI = CONS.CodInterno) +--FINE INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.ISIN, '') = ISNULL(CONS.CodIsin, '') +-- AND TCP.CODINT = CONS.CODINTERNO +--FINE INTERVENTO CORRETTIVO 20150130 + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE +--INIZIO INTERVENTO CORRETTIVO 20150130 + TCP.dtuscita = '99991231' +-- TSCA.DTRIF <> 0 +--FINE INTERVENTO CORRETTIVO 20150130 + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + DROP TABLE #REND_NON_RAPPR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_3', + GETDATE(), + 'Elaborazione trimestrale' + ) +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq', +REND_NON_RAPPR=1 +WHERE TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +--AND ID_AREA = 'na' +AND CTV > 0 +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Cc' +WHERE TIPO_PRODOTTO='CC' +--AND ID_AREA = 'na' +AND CTV < 0 +--***INIZIO INTERVENTI OMNIA*** +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Self' +--INIZIO INTERVENTO CORRETTIVO 20150130 + ,REND_NON_RAPPR=0 +--FINE INTERVENTO CORRETTIVO 20150130 +WHERE ISIN in ('EURO00000009', 'EURO10000007') +--AND ID_AREA = 'na' +AND CTV < 0 +--***FINE INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I CC DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Cc') + AND BF.id_AREA=R.AREA + WHERE BF.TIPO_PRODOTTO='CC' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***INIZIO INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I SELF GP OMNIA DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Self') + AND BF.id_AREA=R.AREA + WHERE BF.ISIN in ('EURO00000009', 'EURO10000007') + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***FINE INTERVENTI OMNIA*** +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) +--update correzione prodotti SMA con ID_AREA=Liq +-- SPIEGAZIONE 20230502 poiche non venivano agganciati i progetti, queste persone avevano due prodotti SMA con nomi progetti differenti (uno a Default e uno a NULL) +-- ma sulla w6clirep non ci puo essere uno stesso prodotto nell'area liquidita cosi si danno i nomi progetti uguali e si risolve il problema + update C6MartPeriodico.PATRIMONIO_BF + set NOME_PROGETTO='Default' + where id_area='Liq'and TIPO_PRODOTTO='CC' and NOME_PROGETTO is null and COD_SOTTOPRODOTTO='SMA' +--modifica 05/09/2023 per togliere i prodotti con Codice Interno GD ai Fideuram Direct/ Direct Banker +update b +set b.clienteDB='S' +from C6MartPeriodico.PATRIMONIO_BF b inner join C6StagingPeriodico.APPO_CONTRATTI v on b.rete=v.rete and b.COD_FISCALE=v.COD_FISCALE where v.TIP_CONTRATTO=3 +--delete from C6MartPeriodico.PATRIMONIO_BF where COD_INTERNO='GD' and clienteDB='S' +--fine modifica 05/09/2023 per togliere i prodotti con Codice Interno GD ai Fideuram Direct/ Direct Banker + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' + ) +insert into c6martperiodico.test_quality +select distinct a.rete, a.cod_fiscale, 'ORDINAMENTO PROGETTO PER AREA DUPLICATO' +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto +exec C6MartPeriodico.SP_DQ_ProgettoDuplicatoArea 2 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170407.SAVE.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170407.SAVE.sql new file mode 100644 index 00000000..69f2235d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170407.SAVE.sql @@ -0,0 +1,743 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_20170407.SAVE] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + INTO TEMP_PATRIMONIO_CAMPIONE + FROM C6StagingPeriodico.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + --and con.cod_fiscale + CON.RETE IN + --( + --select COD_FISCALE + RETE + --FROM ANDREA_RINO_CODICI_PATRIMONIO + --) + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPPROD = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + --ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPERIODICO.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin in ('EURO00000009', 'EURO10000007') + --FINE INTERVENTI OMNIA*** +--and con.cod_fiscale + CON.RETE IN +--( +--select COD_FISCALE + RETE +--FROM ANDREA_RINO_CODICI_PATRIMONIO +--) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --DROP TABLE #PATRIMONIO_DUPLICATI + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM TEMP_PATRIMONIO_CAMPIONE + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + --Scrittura Tabella Data Quality + --id 4 'POSIZIONI DUPLICATE - PATRIMONIO_BF' +exec C6MartPeriodico.SP_DQ_PosizioniDuplicate 2 + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MARTPERIODICO.PATRIMONIO_BF +([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] +-- ,[STATO_CONSULENZA] +-- ,[DATA_STATO_CONS] +-- ,[DATA_MIGR_CONS] +-- , [DATA_PIANIF] +-- ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVE_PROGETTO]) + SELECT P.[RETE] + ,P.[COD_FISCALE] + ,P.[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,NULL --[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZONTETEMPORALE] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVEPROGETTO] +FROM +TEMP_PATRIMONIO_CAMPIONE P + LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--select rete, cod_fiscale, positionid, count(*) from #PATRIMONIO group by rete, cod_fiscale, positionid having count(*) > 1 + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, +-- case when isnull(CON.tipoProgetto, '') = '' then 'Default' +-- when CON.tipoProgetto = 0 then 'Default' +-- else 'Progetto investimento' end + '' as TIPO_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + CASE WHEN ORIZZ_TEMP_NUM = 0 THEN NULL ELSE ORIZZ_TEMP_NUM END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + KAT.AzOb As STRTYPE, + KAT.Complessita as COMPLEX, + MIT.DESCRIZIONE AS EMITTENTE, + SPB.ISIN, + @ID_ELAB, + @TIPO_ELAB, + -1 AS CHIAVE_PROGETTO + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI SPB + LEFT JOIN TEMP_PATRIMONIO_CAMPIONE PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--and SPB.CODFIS + SPB.RETE IN +-- ( +-- select COD_FISCALE + RETE +-- FROM ANDREA_RINO_CODICI_PATRIMONIO +-- ) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + --************************************************************************************************* + -- RECUPERO CHIAVE PROGETTO DALLA CONSULENZA PER I PRODOTTI CHE SCENDONO DAL WS MA NON SONO NEL DB + SELECT DISTINCT COD_FISCALE, RETE, NULL AS CHIAVEPROGETTO + INTO #CHIAVEPROGETTONULL + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE CHIAVE_PROGETTO = -1 + UPDATE #CHIAVEPROGETTONULL SET CHIAVEPROGETTO = R.CHIAVEPROGETTO + FROM + #CHIAVEPROGETTONULL C INNER JOIN C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON C.COD_FISCALE = R.COD_FISCALE + AND C.RETE = R.RETE + AND R.area = 'Na' + UPDATE C6MARTPERIODICO.PATRIMONIO_BF SET + CHIAVE_PROGETTO = T.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = T.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF P INNER JOIN #CHIAVEPROGETTONULL T + ON P.COD_FISCALE = T.COD_FISCALE + AND P.RETE = T.RETE + WHERE P.CHIAVE_PROGETTO = -1 + --************************************************************************************************* + drop table #CHIAVEPROGETTONULL + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' + ) +--DROP table TEMP_PATRIMONIO_CAMPIONE +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, +--INIZIO INTERVENTO CORRETTIVO 20150130 +-- '', + CONS.CodIsin, +--FINE INTERVENTO CORRETTIVO 20150130 + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND TCP.SUBPROD=TSCA.SUBPROD + AND TCP.ISIN=TSCA.ISIN + AND TCP.dtrif=TSCA.dtrif + AND TCP.dtingresso=TSCA.dtingresso +--FINE INTERVENTO CORRETTIVO 20150130 + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + C6StagingPeriodico.RP_CONSULENZA AS CONS + ON + TSCA.CODCONF = CONS.CODCONF +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND (TSCA.CODPROD = CONS.CodInterno + OR TSCA.CODABI = CONS.CodInterno) +--FINE INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.ISIN, '') = ISNULL(CONS.CodIsin, '') +-- AND TCP.CODINT = CONS.CODINTERNO +--FINE INTERVENTO CORRETTIVO 20150130 + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE +--INIZIO INTERVENTO CORRETTIVO 20150130 + TCP.dtuscita = '99991231' +-- TSCA.DTRIF <> 0 +--FINE INTERVENTO CORRETTIVO 20150130 + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + DROP TABLE #REND_NON_RAPPR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_3', + GETDATE(), + 'Elaborazione trimestrale' + ) +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq', +REND_NON_RAPPR=1 +WHERE TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +--AND ID_AREA = 'na' +AND CTV > 0 +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Cc' +WHERE TIPO_PRODOTTO='CC' +--AND ID_AREA = 'na' +AND CTV < 0 +--***INIZIO INTERVENTI OMNIA*** +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Self' +--INIZIO INTERVENTO CORRETTIVO 20150130 + ,REND_NON_RAPPR=0 +--FINE INTERVENTO CORRETTIVO 20150130 +WHERE ISIN in ('EURO00000009', 'EURO10000007') +--AND ID_AREA = 'na' +AND CTV < 0 +--***FINE INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I CC DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Cc') + AND BF.id_AREA=R.AREA + WHERE BF.TIPO_PRODOTTO='CC' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***INIZIO INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I SELF GP OMNIA DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Self') + AND BF.id_AREA=R.AREA + WHERE BF.ISIN in ('EURO00000009', 'EURO10000007') + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***FINE INTERVENTI OMNIA*** +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' + ) +insert into c6martperiodico.test_quality +select distinct a.rete, a.cod_fiscale, 'ORDINAMENTO PROGETTO PER AREA DUPLICATO' +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto +exec C6MartPeriodico.SP_DQ_ProgettoDuplicatoArea 2 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170421_4b_prometeria_err_fix.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170421_4b_prometeria_err_fix.sql new file mode 100644 index 00000000..90cd75bd --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170421_4b_prometeria_err_fix.sql @@ -0,0 +1,744 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +--------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_20170421_4b_prometeria_err_fix] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + INTO TEMP_PATRIMONIO_CAMPIONE + FROM C6StagingPeriodico.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + --and con.cod_fiscale + CON.RETE IN + --( + --select COD_FISCALE + RETE + --FROM ANDREA_RINO_CODICI_PATRIMONIO + --) + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPPROD = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + --ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPERIODICO.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin in ('EURO00000009', 'EURO10000007') + --FINE INTERVENTI OMNIA*** +--and con.cod_fiscale + CON.RETE IN +--( +--select COD_FISCALE + RETE +--FROM ANDREA_RINO_CODICI_PATRIMONIO +--) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --DROP TABLE #PATRIMONIO_DUPLICATI + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM TEMP_PATRIMONIO_CAMPIONE + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + --Scrittura Tabella Data Quality + --id 4 'POSIZIONI DUPLICATE - PATRIMONIO_BF' +exec C6MartPeriodico.SP_DQ_PosizioniDuplicate 2 + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MARTPERIODICO.PATRIMONIO_BF +([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] +-- ,[STATO_CONSULENZA] +-- ,[DATA_STATO_CONS] +-- ,[DATA_MIGR_CONS] +-- , [DATA_PIANIF] +-- ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVE_PROGETTO]) + SELECT P.[RETE] + ,P.[COD_FISCALE] + ,P.[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,NULL --[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZONTETEMPORALE] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVEPROGETTO] +FROM +TEMP_PATRIMONIO_CAMPIONE P + LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--select rete, cod_fiscale, positionid, count(*) from #PATRIMONIO group by rete, cod_fiscale, positionid having count(*) > 1 + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, +-- case when isnull(CON.tipoProgetto, '') = '' then 'Default' +-- when CON.tipoProgetto = 0 then 'Default' +-- else 'Progetto investimento' end + '' as TIPO_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + CASE WHEN ORIZZ_TEMP_NUM = 0 THEN NULL ELSE ORIZZ_TEMP_NUM END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + KAT.AzOb As STRTYPE, + KAT.Complessita as COMPLEX, + MIT.DESCRIZIONE AS EMITTENTE, + SPB.ISIN, + @ID_ELAB, + @TIPO_ELAB, + -1 AS CHIAVE_PROGETTO + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI_v SPB + LEFT JOIN TEMP_PATRIMONIO_CAMPIONE PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--and SPB.CODFIS + SPB.RETE IN +-- ( +-- select COD_FISCALE + RETE +-- FROM ANDREA_RINO_CODICI_PATRIMONIO +-- ) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + --************************************************************************************************* + -- RECUPERO CHIAVE PROGETTO DALLA CONSULENZA PER I PRODOTTI CHE SCENDONO DAL WS MA NON SONO NEL DB + SELECT DISTINCT COD_FISCALE, RETE, NULL AS CHIAVEPROGETTO + INTO #CHIAVEPROGETTONULL + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE CHIAVE_PROGETTO = -1 + UPDATE #CHIAVEPROGETTONULL SET CHIAVEPROGETTO = R.CHIAVEPROGETTO + FROM + #CHIAVEPROGETTONULL C INNER JOIN C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON C.COD_FISCALE = R.COD_FISCALE + AND C.RETE = R.RETE + AND R.area = 'Na' + UPDATE C6MARTPERIODICO.PATRIMONIO_BF SET + CHIAVE_PROGETTO = T.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = T.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF P INNER JOIN #CHIAVEPROGETTONULL T + ON P.COD_FISCALE = T.COD_FISCALE + AND P.RETE = T.RETE + WHERE P.CHIAVE_PROGETTO = -1 + --************************************************************************************************* + drop table #CHIAVEPROGETTONULL + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' + ) +--DROP table TEMP_PATRIMONIO_CAMPIONE +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, +--INIZIO INTERVENTO CORRETTIVO 20150130 +-- '', + CONS.CodIsin, +--FINE INTERVENTO CORRETTIVO 20150130 + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND TCP.SUBPROD=TSCA.SUBPROD + AND TCP.ISIN=TSCA.ISIN + AND TCP.dtrif=TSCA.dtrif + AND TCP.dtingresso=TSCA.dtingresso +--FINE INTERVENTO CORRETTIVO 20150130 + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + C6StagingPeriodico.RP_CONSULENZA_v AS CONS + ON + TSCA.CODCONF = CONS.CODCONF +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND (TSCA.CODPROD = CONS.CodInterno + OR TSCA.CODABI = CONS.CodInterno) +--FINE INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.ISIN, '') = ISNULL(CONS.CodIsin, '') +-- AND TCP.CODINT = CONS.CODINTERNO +--FINE INTERVENTO CORRETTIVO 20150130 + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE +--INIZIO INTERVENTO CORRETTIVO 20150130 + TCP.dtuscita = '99991231' +-- TSCA.DTRIF <> 0 +--FINE INTERVENTO CORRETTIVO 20150130 + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + DROP TABLE #REND_NON_RAPPR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_3', + GETDATE(), + 'Elaborazione trimestrale' + ) +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq', +REND_NON_RAPPR=1 +WHERE TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +--AND ID_AREA = 'na' +AND CTV > 0 +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Cc' +WHERE TIPO_PRODOTTO='CC' +--AND ID_AREA = 'na' +AND CTV < 0 +--***INIZIO INTERVENTI OMNIA*** +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Self' +--INIZIO INTERVENTO CORRETTIVO 20150130 + ,REND_NON_RAPPR=0 +--FINE INTERVENTO CORRETTIVO 20150130 +WHERE ISIN in ('EURO00000009', 'EURO10000007') +--AND ID_AREA = 'na' +AND CTV < 0 +--***FINE INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I CC DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Cc') + AND BF.id_AREA=R.AREA + WHERE BF.TIPO_PRODOTTO='CC' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***INIZIO INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I SELF GP OMNIA DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Self') + AND BF.id_AREA=R.AREA + WHERE BF.ISIN in ('EURO00000009', 'EURO10000007') + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***FINE INTERVENTI OMNIA*** +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' + ) +insert into c6martperiodico.test_quality +select distinct a.rete, a.cod_fiscale, 'ORDINAMENTO PROGETTO PER AREA DUPLICATO' +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto +exec C6MartPeriodico.SP_DQ_ProgettoDuplicatoArea 2 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20171019_err.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20171019_err.sql new file mode 100644 index 00000000..80315bf1 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20171019_err.sql @@ -0,0 +1,746 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +--------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_20171019_err] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + -- 20170421 elimina char ; dal nome progetto che causa errore 2000 durante elaborazione prometeia exe + --ELSE LTRIM(RTRIM(CON.nomeProgetto)) + ELSE replace (LTRIM(RTRIM(CON.nomeProgetto)), ';', '') + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + INTO TEMP_PATRIMONIO_CAMPIONE + FROM C6StagingPeriodico.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + --and con.cod_fiscale + CON.RETE IN + --( + --select COD_FISCALE + RETE + --FROM ANDREA_RINO_CODICI_PATRIMONIO + --) + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPPROD = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + --ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPERIODICO.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin in ('EURO00000009', 'EURO10000007') + --FINE INTERVENTI OMNIA*** +--and con.cod_fiscale + CON.RETE IN +--( +--select COD_FISCALE + RETE +--FROM ANDREA_RINO_CODICI_PATRIMONIO +--) +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --DROP TABLE #PATRIMONIO_DUPLICATI + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM TEMP_PATRIMONIO_CAMPIONE + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + --Scrittura Tabella Data Quality + --id 4 'POSIZIONI DUPLICATE - PATRIMONIO_BF' +exec C6MartPeriodico.SP_DQ_PosizioniDuplicate 2 + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MARTPERIODICO.PATRIMONIO_BF +([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] +-- ,[STATO_CONSULENZA] +-- ,[DATA_STATO_CONS] +-- ,[DATA_MIGR_CONS] +-- , [DATA_PIANIF] +-- ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVE_PROGETTO]) + SELECT P.[RETE] + ,P.[COD_FISCALE] + ,P.[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,NULL --[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZONTETEMPORALE] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVEPROGETTO] +FROM +TEMP_PATRIMONIO_CAMPIONE P + LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--select rete, cod_fiscale, positionid, count(*) from #PATRIMONIO group by rete, cod_fiscale, positionid having count(*) > 1 + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, +-- case when isnull(CON.tipoProgetto, '') = '' then 'Default' +-- when CON.tipoProgetto = 0 then 'Default' +-- else 'Progetto investimento' end + '' as TIPO_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + CASE WHEN ORIZZ_TEMP_NUM = 0 THEN NULL ELSE ORIZZ_TEMP_NUM END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + KAT.AzOb As STRTYPE, + KAT.Complessita as COMPLEX, + MIT.DESCRIZIONE AS EMITTENTE, + SPB.ISIN, + @ID_ELAB, + @TIPO_ELAB, + -1 AS CHIAVE_PROGETTO + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI_v SPB + LEFT JOIN TEMP_PATRIMONIO_CAMPIONE PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--and SPB.CODFIS + SPB.RETE IN +-- ( +-- select COD_FISCALE + RETE +-- FROM ANDREA_RINO_CODICI_PATRIMONIO +-- ) +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + --************************************************************************************************* + -- RECUPERO CHIAVE PROGETTO DALLA CONSULENZA PER I PRODOTTI CHE SCENDONO DAL WS MA NON SONO NEL DB + SELECT DISTINCT COD_FISCALE, RETE, NULL AS CHIAVEPROGETTO + INTO #CHIAVEPROGETTONULL + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE CHIAVE_PROGETTO = -1 + UPDATE #CHIAVEPROGETTONULL SET CHIAVEPROGETTO = R.CHIAVEPROGETTO + FROM + #CHIAVEPROGETTONULL C INNER JOIN C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON C.COD_FISCALE = R.COD_FISCALE + AND C.RETE = R.RETE + AND R.area = 'Na' + UPDATE C6MARTPERIODICO.PATRIMONIO_BF SET + CHIAVE_PROGETTO = T.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = T.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF P INNER JOIN #CHIAVEPROGETTONULL T + ON P.COD_FISCALE = T.COD_FISCALE + AND P.RETE = T.RETE + WHERE P.CHIAVE_PROGETTO = -1 + --************************************************************************************************* + drop table #CHIAVEPROGETTONULL + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' + ) +--DROP table TEMP_PATRIMONIO_CAMPIONE +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, +--INIZIO INTERVENTO CORRETTIVO 20150130 +-- '', + CONS.CodIsin, +--FINE INTERVENTO CORRETTIVO 20150130 + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND TCP.SUBPROD=TSCA.SUBPROD + AND TCP.ISIN=TSCA.ISIN + AND TCP.dtrif=TSCA.dtrif + AND TCP.dtingresso=TSCA.dtingresso +--FINE INTERVENTO CORRETTIVO 20150130 + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + C6StagingPeriodico.RP_CONSULENZA_v AS CONS + ON + TSCA.CODCONF = CONS.CODCONF +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND (TSCA.CODPROD = CONS.CodInterno + OR TSCA.CODABI = CONS.CodInterno) +--FINE INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.ISIN, '') = ISNULL(CONS.CodIsin, '') +-- AND TCP.CODINT = CONS.CODINTERNO +--FINE INTERVENTO CORRETTIVO 20150130 + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE +--INIZIO INTERVENTO CORRETTIVO 20150130 + TCP.dtuscita = '99991231' +-- TSCA.DTRIF <> 0 +--FINE INTERVENTO CORRETTIVO 20150130 + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + DROP TABLE #REND_NON_RAPPR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_3', + GETDATE(), + 'Elaborazione trimestrale' + ) +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq', +REND_NON_RAPPR=1 +WHERE TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +--AND ID_AREA = 'na' +AND CTV > 0 +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Cc' +WHERE TIPO_PRODOTTO='CC' +--AND ID_AREA = 'na' +AND CTV < 0 +--***INIZIO INTERVENTI OMNIA*** +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Self' +--INIZIO INTERVENTO CORRETTIVO 20150130 + ,REND_NON_RAPPR=0 +--FINE INTERVENTO CORRETTIVO 20150130 +WHERE ISIN in ('EURO00000009', 'EURO10000007') +--AND ID_AREA = 'na' +AND CTV < 0 +--***FINE INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I CC DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Cc') + AND BF.id_AREA=R.AREA + WHERE BF.TIPO_PRODOTTO='CC' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***INIZIO INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I SELF GP OMNIA DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Self') + AND BF.id_AREA=R.AREA + WHERE BF.ISIN in ('EURO00000009', 'EURO10000007') + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***FINE INTERVENTI OMNIA*** +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' + ) +insert into c6martperiodico.test_quality +select distinct a.rete, a.cod_fiscale, 'ORDINAMENTO PROGETTO PER AREA DUPLICATO' +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto +exec C6MartPeriodico.SP_DQ_ProgettoDuplicatoArea 2 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BKP_20231017.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BKP_20231017.sql new file mode 100644 index 00000000..95d26e9c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BKP_20231017.sql @@ -0,0 +1,768 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +--------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_MODIFICATA] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + -- 20170421 elimina char ; dal nome progetto che causa errore 2000 durante elaborazione prometeia exe + --ELSE LTRIM(RTRIM(CON.nomeProgetto)) + ELSE replace (LTRIM(RTRIM(CON.nomeProgetto)), ';', '') + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO, + NULL as ClienteDB, + CON.CHIAVEPTFMOD as CHIAVEPTFMOD +-- fine nuovo + INTO TEMP_PATRIMONIO_CAMPIONE + FROM C6StagingPeriodico.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + --and con.cod_fiscale + CON.RETE IN + --( + --select COD_FISCALE + RETE + --FROM ANDREA_RINO_CODICI_PATRIMONIO + --) + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPPROD = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + --ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO, + NULL as ClienteDB, + CON.CHIAVEPTFMOD as CHIAVEPTFMOD +-- fine nuovo + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPERIODICO.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin in ('EURO00000009', 'EURO10000007') + --FINE INTERVENTI OMNIA*** +--and con.cod_fiscale + CON.RETE IN +--( +--select COD_FISCALE + RETE +--FROM ANDREA_RINO_CODICI_PATRIMONIO +--) +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --DROP TABLE #PATRIMONIO_DUPLICATI + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM TEMP_PATRIMONIO_CAMPIONE + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + --Scrittura Tabella Data Quality + --id 4 'POSIZIONI DUPLICATE - PATRIMONIO_BF' +exec C6MartPeriodico.SP_DQ_PosizioniDuplicate 2 + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MARTPERIODICO.PATRIMONIO_BF +([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] +-- ,[STATO_CONSULENZA] +-- ,[DATA_STATO_CONS] +-- ,[DATA_MIGR_CONS] +-- , [DATA_PIANIF] +-- ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVE_PROGETTO] + ,[ClienteDB]) + SELECT distinct P.[RETE] --aggiunto distinct + ,P.[COD_FISCALE] + ,P.[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,NULL --[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZONTETEMPORALE] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVEPROGETTO] + ,[ClienteDB] + ,[ChiavePtfMod] +FROM +TEMP_PATRIMONIO_CAMPIONE P + LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--select rete, cod_fiscale, positionid, count(*) from #PATRIMONIO group by rete, cod_fiscale, positionid having count(*) > 1 + UNION ALL + SELECT distinct--aggiunto distinct + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, +-- case when isnull(CON.tipoProgetto, '') = '' then 'Default' +-- when CON.tipoProgetto = 0 then 'Default' +-- else 'Progetto investimento' end + '' as TIPO_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + CASE WHEN ORIZZ_TEMP_NUM = 0 THEN NULL ELSE ORIZZ_TEMP_NUM END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + KAT.AzOb As STRTYPE, + KAT.Complessita as COMPLEX, + MIT.DESCRIZIONE AS EMITTENTE, + SPB.ISIN, + @ID_ELAB, + @TIPO_ELAB, + -1 AS CHIAVE_PROGETTO, + NULL as ClienteDB, + patr.CHIAVEPTFMOD as CHIAVEPTFMOD + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI_v SPB + LEFT JOIN TEMP_PATRIMONIO_CAMPIONE PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--and SPB.CODFIS + SPB.RETE IN +-- ( +-- select COD_FISCALE + RETE +-- FROM ANDREA_RINO_CODICI_PATRIMONIO +-- ) +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + --************************************************************************************************* + -- RECUPERO CHIAVE PROGETTO DALLA CONSULENZA PER I PRODOTTI CHE SCENDONO DAL WS MA NON SONO NEL DB + SELECT DISTINCT COD_FISCALE, RETE, NULL AS CHIAVEPROGETTO + INTO #CHIAVEPROGETTONULL + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE CHIAVE_PROGETTO = -1 + UPDATE #CHIAVEPROGETTONULL SET CHIAVEPROGETTO = R.CHIAVEPROGETTO + FROM + #CHIAVEPROGETTONULL C INNER JOIN C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON C.COD_FISCALE = R.COD_FISCALE + AND C.RETE = R.RETE + AND R.area = 'Na' + UPDATE C6MARTPERIODICO.PATRIMONIO_BF SET + CHIAVE_PROGETTO = T.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = T.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF P INNER JOIN #CHIAVEPROGETTONULL T + ON P.COD_FISCALE = T.COD_FISCALE + AND P.RETE = T.RETE + WHERE P.CHIAVE_PROGETTO = -1 + --************************************************************************************************* + drop table #CHIAVEPROGETTONULL + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' + ) +--DROP table TEMP_PATRIMONIO_CAMPIONE +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, +--INIZIO INTERVENTO CORRETTIVO 20150130 +-- '', + CONS.CodIsin, +--FINE INTERVENTO CORRETTIVO 20150130 + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND TCP.SUBPROD=TSCA.SUBPROD + AND TCP.ISIN=TSCA.ISIN + AND TCP.dtrif=TSCA.dtrif + AND TCP.dtingresso=TSCA.dtingresso +--FINE INTERVENTO CORRETTIVO 20150130 + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + --C6StagingPeriodico.RP_CONSULENZA_v AS CONS + C6StagingPeriodico.RP_CONSULENZA AS CONS + ON + TSCA.CODCONF = CONS.CODCONF +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND (TSCA.CODPROD = CONS.CodInterno + OR TSCA.CODABI = CONS.CodInterno) +--FINE INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.ISIN, '') = ISNULL(CONS.CodIsin, '') +-- AND TCP.CODINT = CONS.CODINTERNO +--FINE INTERVENTO CORRETTIVO 20150130 + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE +--INIZIO INTERVENTO CORRETTIVO 20150130 + TCP.dtuscita = '99991231' +-- TSCA.DTRIF <> 0 +--FINE INTERVENTO CORRETTIVO 20150130 + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + DROP TABLE #REND_NON_RAPPR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_3', + GETDATE(), + 'Elaborazione trimestrale' + ) +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq', +REND_NON_RAPPR=1 +WHERE TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +--AND ID_AREA = 'na' +AND CTV > 0 +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Cc' +WHERE TIPO_PRODOTTO='CC' +--AND ID_AREA = 'na' +AND CTV < 0 +--***INIZIO INTERVENTI OMNIA*** +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Self' +--INIZIO INTERVENTO CORRETTIVO 20150130 + ,REND_NON_RAPPR=0 +--FINE INTERVENTO CORRETTIVO 20150130 +WHERE ISIN in ('EURO00000009', 'EURO10000007') +--AND ID_AREA = 'na' +AND CTV < 0 +--***FINE INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I CC DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Cc') + AND BF.id_AREA=R.AREA + WHERE BF.TIPO_PRODOTTO='CC' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***INIZIO INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I SELF GP OMNIA DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Self') + AND BF.id_AREA=R.AREA + WHERE BF.ISIN in ('EURO00000009', 'EURO10000007') + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***FINE INTERVENTI OMNIA*** +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) +--update correzione prodotti SMA con ID_AREA=Liq +-- SPIEGAZIONE 20230502 poiche non venivano agganciati i progetti, queste persone avevano due prodotti SMA con nomi progetti differenti (uno a Default e uno a NULL) +-- ma sulla w6clirep non ci puo essere uno stesso prodotto nell'area liquidita cosi si danno i nomi progetti uguali e si risolve il problema + update C6MartPeriodico.PATRIMONIO_BF + set NOME_PROGETTO='Default' + where id_area='Liq'and TIPO_PRODOTTO='CC' and NOME_PROGETTO is null and COD_SOTTOPRODOTTO='SMA' +--modifica 05/09/2023 per togliere i prodotti con Codice Interno GD ai Fideuram Direct/ Direct Banker +update b +set b.clienteDB='S' +from C6MartPeriodico.PATRIMONIO_BF b inner join C6StagingPeriodico.APPO_CONTRATTI v on b.rete=v.rete and b.COD_FISCALE=v.COD_FISCALE where v.TIP_CONTRATTO=3 +delete from C6Mart.PATRIMONIO_BF where COD_INTERNO='GD' and clienteDB='S' +--fine modifica 05/09/2023 per togliere i prodotti con Codice Interno GD ai Fideuram Direct/ Direct Banker + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' + ) +insert into c6martperiodico.test_quality +select distinct a.rete, a.cod_fiscale, 'ORDINAMENTO PROGETTO PER AREA DUPLICATO' +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto +exec C6MartPeriodico.SP_DQ_ProgettoDuplicatoArea 2 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BK_eligoTitoli.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BK_eligoTitoli.sql new file mode 100644 index 00000000..9e4acbaf --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BK_eligoTitoli.sql @@ -0,0 +1,716 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + INTO TEMP_PATRIMONIO_CAMPIONE + FROM C6StagingPeriodico.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + --and con.cod_fiscale + CON.RETE IN + --( + --select COD_FISCALE + RETE + --FROM ANDREA_RINO_CODICI_PATRIMONIO + --) + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPPROD = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + --ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPERIODICO.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin = 'EURO00000009' + --FINE INTERVENTI OMNIA*** +--and con.cod_fiscale + CON.RETE IN +--( +--select COD_FISCALE + RETE +--FROM ANDREA_RINO_CODICI_PATRIMONIO +--) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --DROP TABLE #PATRIMONIO_DUPLICATI + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM TEMP_PATRIMONIO_CAMPIONE + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MARTPERIODICO.PATRIMONIO_BF +([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] +-- ,[STATO_CONSULENZA] +-- ,[DATA_STATO_CONS] +-- ,[DATA_MIGR_CONS] +-- , [DATA_PIANIF] +-- ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVE_PROGETTO]) + SELECT P.[RETE] + ,P.[COD_FISCALE] + ,P.[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,NULL --[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZONTETEMPORALE] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVEPROGETTO] +FROM +TEMP_PATRIMONIO_CAMPIONE P + LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--select rete, cod_fiscale, positionid, count(*) from #PATRIMONIO group by rete, cod_fiscale, positionid having count(*) > 1 + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, +-- case when isnull(CON.tipoProgetto, '') = '' then 'Default' +-- when CON.tipoProgetto = 0 then 'Default' +-- else 'Progetto investimento' end + '' as TIPO_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + CASE WHEN ORIZZ_TEMP_NUM = 0 THEN NULL ELSE ORIZZ_TEMP_NUM END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + KAT.AzOb As STRTYPE, + KAT.Complessita as COMPLEX, + MIT.DESCRIZIONE AS EMITTENTE, + SPB.ISIN, + @ID_ELAB, + @TIPO_ELAB, + -1 AS CHIAVE_PROGETTO + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI SPB + LEFT JOIN TEMP_PATRIMONIO_CAMPIONE PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--and SPB.CODFIS + SPB.RETE IN +-- ( +-- select COD_FISCALE + RETE +-- FROM ANDREA_RINO_CODICI_PATRIMONIO +-- ) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + --************************************************************************************************* + -- RECUPERO CHIAVE PROGETTO DALLA CONSULENZA PER I PRODOTTI CHE SCENDONO DAL WS MA NON SONO NEL DB + SELECT DISTINCT COD_FISCALE, RETE, NULL AS CHIAVEPROGETTO + INTO #CHIAVEPROGETTONULL + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE CHIAVE_PROGETTO = -1 + UPDATE #CHIAVEPROGETTONULL SET CHIAVEPROGETTO = R.CHIAVEPROGETTO + FROM + #CHIAVEPROGETTONULL C INNER JOIN C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON C.COD_FISCALE = R.COD_FISCALE + AND C.RETE = R.RETE + AND R.area = 'Na' + UPDATE C6MARTPERIODICO.PATRIMONIO_BF SET + CHIAVE_PROGETTO = T.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = T.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF P INNER JOIN #CHIAVEPROGETTONULL T + ON P.COD_FISCALE = T.COD_FISCALE + AND P.RETE = T.RETE + WHERE P.CHIAVE_PROGETTO = -1 + --************************************************************************************************* + drop table #CHIAVEPROGETTONULL + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' + ) +--DROP table TEMP_PATRIMONIO_CAMPIONE +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + C6StagingPeriodico.RP_CONSULENZA AS CONS + ON + TSCA.CODCONF = CONS.CODCONF + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') + AND TCP.CODINT = CONS.CODINTERNO + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE + TSCA.DTRIF <> 0 + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + DROP TABLE #REND_NON_RAPPR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_3', + GETDATE(), + 'Elaborazione trimestrale' + ) +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN = 'EURO00000009' +--***FINE INTERVENTI OMNIA*** +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq', +REND_NON_RAPPR=1 +WHERE TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN = 'EURO00000009' +--***FINE INTERVENTI OMNIA*** +--AND ID_AREA = 'na' +AND CTV > 0 +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Cc' +WHERE TIPO_PRODOTTO='CC' +--AND ID_AREA = 'na' +AND CTV < 0 +--***INIZIO INTERVENTI OMNIA*** +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Self' +WHERE ISIN = 'EURO00000009' +--AND ID_AREA = 'na' +AND CTV < 0 +--***FINE INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I CC DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Cc') + AND BF.id_AREA=R.AREA + WHERE BF.TIPO_PRODOTTO='CC' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***INIZIO INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I SELF GP OMNIA DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Self') + AND BF.id_AREA=R.AREA + WHERE BF.ISIN = 'EURO00000009' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***FINE INTERVENTI OMNIA*** +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' + ) +insert into c6martperiodico.test_quality +select distinct a.rete, a.cod_fiscale, 'ORDINAMENTO PROGETTO PER AREA DUPLICATO' +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_DaCancellare.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_DaCancellare.sql new file mode 100644 index 00000000..2afab566 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_DaCancellare.sql @@ -0,0 +1,752 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +--------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + -- 20170421 elimina char ; dal nome progetto che causa errore 2000 durante elaborazione prometeia exe + --ELSE LTRIM(RTRIM(CON.nomeProgetto)) + ELSE replace (LTRIM(RTRIM(CON.nomeProgetto)), ';', '') + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + INTO TEMP_PATRIMONIO_CAMPIONE + FROM C6StagingPeriodico.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + --and con.cod_fiscale + CON.RETE IN + --( + --select COD_FISCALE + RETE + --FROM ANDREA_RINO_CODICI_PATRIMONIO + --) + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPPROD = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + --ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPERIODICO.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin in ('EURO00000009', 'EURO10000007') + --FINE INTERVENTI OMNIA*** +--and con.cod_fiscale + CON.RETE IN +--( +--select COD_FISCALE + RETE +--FROM ANDREA_RINO_CODICI_PATRIMONIO +--) +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --DROP TABLE #PATRIMONIO_DUPLICATI + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM TEMP_PATRIMONIO_CAMPIONE + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + --Scrittura Tabella Data Quality + --id 4 'POSIZIONI DUPLICATE - PATRIMONIO_BF' +exec C6MartPeriodico.SP_DQ_PosizioniDuplicate 2 + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MARTPERIODICO.PATRIMONIO_BF +([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] +-- ,[STATO_CONSULENZA] +-- ,[DATA_STATO_CONS] +-- ,[DATA_MIGR_CONS] +-- , [DATA_PIANIF] +-- ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVE_PROGETTO]) + SELECT P.[RETE] + ,P.[COD_FISCALE] + ,P.[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,NULL --[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZONTETEMPORALE] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVEPROGETTO] +FROM +TEMP_PATRIMONIO_CAMPIONE P + LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--select rete, cod_fiscale, positionid, count(*) from #PATRIMONIO group by rete, cod_fiscale, positionid having count(*) > 1 + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, +-- case when isnull(CON.tipoProgetto, '') = '' then 'Default' +-- when CON.tipoProgetto = 0 then 'Default' +-- else 'Progetto investimento' end + '' as TIPO_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + CASE WHEN ORIZZ_TEMP_NUM = 0 THEN NULL ELSE ORIZZ_TEMP_NUM END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + KAT.AzOb As STRTYPE, + KAT.Complessita as COMPLEX, + MIT.DESCRIZIONE AS EMITTENTE, + SPB.ISIN, + @ID_ELAB, + @TIPO_ELAB, + -1 AS CHIAVE_PROGETTO + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI_v SPB + LEFT JOIN TEMP_PATRIMONIO_CAMPIONE PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--and SPB.CODFIS + SPB.RETE IN +-- ( +-- select COD_FISCALE + RETE +-- FROM ANDREA_RINO_CODICI_PATRIMONIO +-- ) +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + --************************************************************************************************* + -- RECUPERO CHIAVE PROGETTO DALLA CONSULENZA PER I PRODOTTI CHE SCENDONO DAL WS MA NON SONO NEL DB + SELECT DISTINCT COD_FISCALE, RETE, NULL AS CHIAVEPROGETTO + INTO #CHIAVEPROGETTONULL + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE CHIAVE_PROGETTO = -1 + UPDATE #CHIAVEPROGETTONULL SET CHIAVEPROGETTO = R.CHIAVEPROGETTO + FROM + #CHIAVEPROGETTONULL C INNER JOIN C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON C.COD_FISCALE = R.COD_FISCALE + AND C.RETE = R.RETE + AND R.area = 'Na' + UPDATE C6MARTPERIODICO.PATRIMONIO_BF SET + CHIAVE_PROGETTO = T.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = T.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF P INNER JOIN #CHIAVEPROGETTONULL T + ON P.COD_FISCALE = T.COD_FISCALE + AND P.RETE = T.RETE + WHERE P.CHIAVE_PROGETTO = -1 + --************************************************************************************************* + drop table #CHIAVEPROGETTONULL + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' + ) +--DROP table TEMP_PATRIMONIO_CAMPIONE +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, +--INIZIO INTERVENTO CORRETTIVO 20150130 +-- '', + CONS.CodIsin, +--FINE INTERVENTO CORRETTIVO 20150130 + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND TCP.SUBPROD=TSCA.SUBPROD + AND TCP.ISIN=TSCA.ISIN + AND TCP.dtrif=TSCA.dtrif + AND TCP.dtingresso=TSCA.dtingresso +--FINE INTERVENTO CORRETTIVO 20150130 + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + --C6StagingPeriodico.RP_CONSULENZA_v AS CONS + C6StagingPeriodico.RP_CONSULENZA AS CONS + ON + TSCA.CODCONF = CONS.CODCONF +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND (TSCA.CODPROD = CONS.CodInterno + OR TSCA.CODABI = CONS.CodInterno) +--FINE INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.ISIN, '') = ISNULL(CONS.CodIsin, '') +-- AND TCP.CODINT = CONS.CODINTERNO +--FINE INTERVENTO CORRETTIVO 20150130 + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE +--INIZIO INTERVENTO CORRETTIVO 20150130 + TCP.dtuscita = '99991231' +-- TSCA.DTRIF <> 0 +--FINE INTERVENTO CORRETTIVO 20150130 + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + DROP TABLE #REND_NON_RAPPR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_3', + GETDATE(), + 'Elaborazione trimestrale' + ) +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq', +REND_NON_RAPPR=1 +WHERE TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +--AND ID_AREA = 'na' +AND CTV > 0 +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Cc' +WHERE TIPO_PRODOTTO='CC' +--AND ID_AREA = 'na' +AND CTV < 0 +--***INIZIO INTERVENTI OMNIA*** +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Self' +--INIZIO INTERVENTO CORRETTIVO 20150130 + ,REND_NON_RAPPR=0 +--FINE INTERVENTO CORRETTIVO 20150130 +WHERE ISIN in ('EURO00000009', 'EURO10000007') +--AND ID_AREA = 'na' +AND CTV < 0 +--***FINE INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I CC DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Cc') + AND BF.id_AREA=R.AREA + WHERE BF.TIPO_PRODOTTO='CC' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***INIZIO INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I SELF GP OMNIA DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Self') + AND BF.id_AREA=R.AREA + WHERE BF.ISIN in ('EURO00000009', 'EURO10000007') + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***FINE INTERVENTI OMNIA*** +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) + -- Modifica del 21/01/2019 per escludere i prodotti relativi alle aree LIGHT e VOID + -- backup della tabella C6MartPeriodico.Patrimonio_BF + exec CreaTabellaBackUp 'Patrimonio_BF', 'C6MartPeriodico' + delete C6MartPeriodico.Patrimonio_BF where id_area in ('LIGHT', 'VOID') + -- Fine modifica del 21/01/2019 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' + ) +insert into c6martperiodico.test_quality +select distinct a.rete, a.cod_fiscale, 'ORDINAMENTO PROGETTO PER AREA DUPLICATO' +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto +exec C6MartPeriodico.SP_DQ_ProgettoDuplicatoArea 2 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_FC.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_FC.sql new file mode 100644 index 00000000..5eabd5a0 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_FC.sql @@ -0,0 +1,716 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_FC] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + INTO TEMP_PATRIMONIO_CAMPIONE + FROM C6StagingPeriodico.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + --and con.cod_fiscale + CON.RETE IN + --( + --select COD_FISCALE + RETE + --FROM ANDREA_RINO_CODICI_PATRIMONIO + --) + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPPROD = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + --ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPERIODICO.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin = 'EURO00000009' + --FINE INTERVENTI OMNIA*** +--and con.cod_fiscale + CON.RETE IN +--( +--select COD_FISCALE + RETE +--FROM ANDREA_RINO_CODICI_PATRIMONIO +--) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --DROP TABLE #PATRIMONIO_DUPLICATI + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM TEMP_PATRIMONIO_CAMPIONE + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MARTPERIODICO.PATRIMONIO_BF +([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] +-- ,[STATO_CONSULENZA] +-- ,[DATA_STATO_CONS] +-- ,[DATA_MIGR_CONS] +-- , [DATA_PIANIF] +-- ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVE_PROGETTO]) + SELECT P.[RETE] + ,P.[COD_FISCALE] + ,P.[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,NULL --[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZONTETEMPORALE] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVEPROGETTO] +FROM +TEMP_PATRIMONIO_CAMPIONE P + LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--select rete, cod_fiscale, positionid, count(*) from #PATRIMONIO group by rete, cod_fiscale, positionid having count(*) > 1 + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, +-- case when isnull(CON.tipoProgetto, '') = '' then 'Default' +-- when CON.tipoProgetto = 0 then 'Default' +-- else 'Progetto investimento' end + '' as TIPO_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + CASE WHEN ORIZZ_TEMP_NUM = 0 THEN NULL ELSE ORIZZ_TEMP_NUM END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + KAT.AzOb As STRTYPE, + KAT.Complessita as COMPLEX, + MIT.DESCRIZIONE AS EMITTENTE, + SPB.ISIN, + @ID_ELAB, + @TIPO_ELAB, + -1 AS CHIAVE_PROGETTO + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI SPB + LEFT JOIN TEMP_PATRIMONIO_CAMPIONE PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--and SPB.CODFIS + SPB.RETE IN +-- ( +-- select COD_FISCALE + RETE +-- FROM ANDREA_RINO_CODICI_PATRIMONIO +-- ) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + --************************************************************************************************* + -- RECUPERO CHIAVE PROGETTO DALLA CONSULENZA PER I PRODOTTI CHE SCENDONO DAL WS MA NON SONO NEL DB + SELECT DISTINCT COD_FISCALE, RETE, NULL AS CHIAVEPROGETTO + INTO #CHIAVEPROGETTONULL + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE CHIAVE_PROGETTO = -1 + UPDATE #CHIAVEPROGETTONULL SET CHIAVEPROGETTO = R.CHIAVEPROGETTO + FROM + #CHIAVEPROGETTONULL C INNER JOIN C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON C.COD_FISCALE = R.COD_FISCALE + AND C.RETE = R.RETE + AND R.area = 'Na' + UPDATE C6MARTPERIODICO.PATRIMONIO_BF SET + CHIAVE_PROGETTO = T.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = T.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF P INNER JOIN #CHIAVEPROGETTONULL T + ON P.COD_FISCALE = T.COD_FISCALE + AND P.RETE = T.RETE + WHERE P.CHIAVE_PROGETTO = -1 + --************************************************************************************************* + drop table #CHIAVEPROGETTONULL + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' + ) +--DROP table TEMP_PATRIMONIO_CAMPIONE +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + C6StagingPeriodico.RP_CONSULENZA AS CONS + ON + TSCA.CODCONF = CONS.CODCONF + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') + AND TCP.CODINT = CONS.CODINTERNO + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE + TSCA.DTRIF <> 0 + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + DROP TABLE #REND_NON_RAPPR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_3', + GETDATE(), + 'Elaborazione trimestrale' + ) +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN = 'EURO00000009' +--***FINE INTERVENTI OMNIA*** +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq', +REND_NON_RAPPR=1 +WHERE TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN = 'EURO00000009' +--***FINE INTERVENTI OMNIA*** +--AND ID_AREA = 'na' +AND CTV > 0 +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Cc' +WHERE TIPO_PRODOTTO='CC' +--AND ID_AREA = 'na' +AND CTV < 0 +--***INIZIO INTERVENTI OMNIA*** +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Self' +WHERE ISIN = 'EURO00000009' +--AND ID_AREA = 'na' +AND CTV < 0 +--***FINE INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I CC DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Cc') + AND BF.id_AREA=R.AREA + WHERE BF.TIPO_PRODOTTO='CC' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***INIZIO INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I SELF GP OMNIA DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Self') + AND BF.id_AREA=R.AREA + WHERE BF.ISIN = 'EURO00000009' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***FINE INTERVENTI OMNIA*** +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' + ) +insert into c6martperiodico.test_quality +select distinct a.rete, a.cod_fiscale, 'ORDINAMENTO PROGETTO PER AREA DUPLICATO' +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_TEST.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_TEST.sql new file mode 100644 index 00000000..99a2ffe0 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_TEST.sql @@ -0,0 +1,717 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_TEST] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + INTO TEMP_PATRIMONIO_CAMPIONE + FROM C6StagingPeriodico.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + and con.cod_fiscale = 'GSPNGL31C04B157Q' + --( + --select COD_FISCALE + RETE + --FROM ANDREA_RINO_CODICI_PATRIMONIO + --) + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPPROD = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + --ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPERIODICO.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE (SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin = 'EURO00000009') + --FINE INTERVENTI OMNIA*** + and con.cod_fiscale = 'GSPNGL31C04B157Q' +--and con.cod_fiscale + CON.RETE IN +--( +--select COD_FISCALE + RETE +--FROM ANDREA_RINO_CODICI_PATRIMONIO +--) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --DROP TABLE #PATRIMONIO_DUPLICATI + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM TEMP_PATRIMONIO_CAMPIONE + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MARTPERIODICO.PATRIMONIO_BF +([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] +-- ,[STATO_CONSULENZA] +-- ,[DATA_STATO_CONS] +-- ,[DATA_MIGR_CONS] +-- , [DATA_PIANIF] +-- ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVE_PROGETTO]) + SELECT P.[RETE] + ,P.[COD_FISCALE] + ,P.[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,NULL --[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZONTETEMPORALE] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVEPROGETTO] +FROM +TEMP_PATRIMONIO_CAMPIONE P + LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--select rete, cod_fiscale, positionid, count(*) from #PATRIMONIO group by rete, cod_fiscale, positionid having count(*) > 1 + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, +-- case when isnull(CON.tipoProgetto, '') = '' then 'Default' +-- when CON.tipoProgetto = 0 then 'Default' +-- else 'Progetto investimento' end + '' as TIPO_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + CASE WHEN ORIZZ_TEMP_NUM = 0 THEN NULL ELSE ORIZZ_TEMP_NUM END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + KAT.AzOb As STRTYPE, + KAT.Complessita as COMPLEX, + MIT.DESCRIZIONE AS EMITTENTE, + SPB.ISIN, + @ID_ELAB, + @TIPO_ELAB, + -1 AS CHIAVE_PROGETTO + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI SPB + LEFT JOIN TEMP_PATRIMONIO_CAMPIONE PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReportTEST] VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--and SPB.CODFIS + SPB.RETE IN +-- ( +-- select COD_FISCALE + RETE +-- FROM ANDREA_RINO_CODICI_PATRIMONIO +-- ) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + --************************************************************************************************* + -- RECUPERO CHIAVE PROGETTO DALLA CONSULENZA PER I PRODOTTI CHE SCENDONO DAL WS MA NON SONO NEL DB + SELECT DISTINCT COD_FISCALE, RETE, NULL AS CHIAVEPROGETTO + INTO #CHIAVEPROGETTONULL + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE CHIAVE_PROGETTO = -1 + UPDATE #CHIAVEPROGETTONULL SET CHIAVEPROGETTO = R.CHIAVEPROGETTO + FROM + #CHIAVEPROGETTONULL C INNER JOIN C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON C.COD_FISCALE = R.COD_FISCALE + AND C.RETE = R.RETE + AND R.area = 'Na' + UPDATE C6MARTPERIODICO.PATRIMONIO_BF SET + CHIAVE_PROGETTO = T.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = T.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF P INNER JOIN #CHIAVEPROGETTONULL T + ON P.COD_FISCALE = T.COD_FISCALE + AND P.RETE = T.RETE + WHERE P.CHIAVE_PROGETTO = -1 + --************************************************************************************************* + drop table #CHIAVEPROGETTONULL + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' + ) +--DROP table TEMP_PATRIMONIO_CAMPIONE +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + C6StagingPeriodico.RP_CONSULENZA AS CONS + ON + TSCA.CODCONF = CONS.CODCONF + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') + AND TCP.CODINT = CONS.CODINTERNO + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE + TSCA.DTRIF <> 0 + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + DROP TABLE #REND_NON_RAPPR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_3', + GETDATE(), + 'Elaborazione trimestrale' + ) +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN = 'EURO00000009' +--***FINE INTERVENTI OMNIA*** +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq', +REND_NON_RAPPR=1 +WHERE TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN = 'EURO00000009' +--***FINE INTERVENTI OMNIA*** +--AND ID_AREA = 'na' +AND CTV > 0 +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Cc' +WHERE TIPO_PRODOTTO='CC' +--AND ID_AREA = 'na' +AND CTV < 0 +--***INIZIO INTERVENTI OMNIA*** +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Self' +WHERE ISIN = 'EURO00000009' +--AND ID_AREA = 'na' +AND CTV < 0 +--***FINE INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I CC DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Cc') + AND BF.id_AREA=R.AREA + WHERE BF.TIPO_PRODOTTO='CC' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***INIZIO INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I SELF GP OMNIA DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Self') + AND BF.id_AREA=R.AREA + WHERE BF.ISIN = 'EURO00000009' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***FINE INTERVENTI OMNIA*** +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' + ) +insert into c6martperiodico.test_quality +select distinct a.rete, a.cod_fiscale, 'ORDINAMENTO PROGETTO PER AREA DUPLICATO' +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_pre_selective.sql new file mode 100644 index 00000000..36f082e8 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_BF_pre_selective.sql @@ -0,0 +1,743 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_pre_selective] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_pre_selective_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + INTO TEMP_PATRIMONIO_CAMPIONE + FROM C6StagingPeriodico.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + --and con.cod_fiscale + CON.RETE IN + --( + --select COD_FISCALE + RETE + --FROM ANDREA_RINO_CODICI_PATRIMONIO + --) + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPPROD = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + --ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPERIODICO.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin in ('EURO00000009', 'EURO10000007') + --FINE INTERVENTI OMNIA*** +--and con.cod_fiscale + CON.RETE IN +--( +--select COD_FISCALE + RETE +--FROM ANDREA_RINO_CODICI_PATRIMONIO +--) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_pre_selective_1_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --DROP TABLE #PATRIMONIO_DUPLICATI + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM TEMP_PATRIMONIO_CAMPIONE + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + --Scrittura Tabella Data Quality + --id 4 'POSIZIONI DUPLICATE - PATRIMONIO_BF' +exec C6MartPeriodico.SP_DQ_PosizioniDuplicate 2 + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_1_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_1_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_pre_selective_1_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MARTPERIODICO.PATRIMONIO_BF +([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] +-- ,[STATO_CONSULENZA] +-- ,[DATA_STATO_CONS] +-- ,[DATA_MIGR_CONS] +-- , [DATA_PIANIF] +-- ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVE_PROGETTO]) + SELECT P.[RETE] + ,P.[COD_FISCALE] + ,P.[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,NULL --[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZONTETEMPORALE] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVEPROGETTO] +FROM +TEMP_PATRIMONIO_CAMPIONE P + LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--select rete, cod_fiscale, positionid, count(*) from #PATRIMONIO group by rete, cod_fiscale, positionid having count(*) > 1 + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, +-- case when isnull(CON.tipoProgetto, '') = '' then 'Default' +-- when CON.tipoProgetto = 0 then 'Default' +-- else 'Progetto investimento' end + '' as TIPO_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + CASE WHEN ORIZZ_TEMP_NUM = 0 THEN NULL ELSE ORIZZ_TEMP_NUM END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + KAT.AzOb As STRTYPE, + KAT.Complessita as COMPLEX, + MIT.DESCRIZIONE AS EMITTENTE, + SPB.ISIN, + @ID_ELAB, + @TIPO_ELAB, + -1 AS CHIAVE_PROGETTO + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI SPB + LEFT JOIN TEMP_PATRIMONIO_CAMPIONE PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--and SPB.CODFIS + SPB.RETE IN +-- ( +-- select COD_FISCALE + RETE +-- FROM ANDREA_RINO_CODICI_PATRIMONIO +-- ) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_1_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_1_2' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_pre_selective_1_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + --************************************************************************************************* + -- RECUPERO CHIAVE PROGETTO DALLA CONSULENZA PER I PRODOTTI CHE SCENDONO DAL WS MA NON SONO NEL DB + SELECT DISTINCT COD_FISCALE, RETE, NULL AS CHIAVEPROGETTO + INTO #CHIAVEPROGETTONULL + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE CHIAVE_PROGETTO = -1 + UPDATE #CHIAVEPROGETTONULL SET CHIAVEPROGETTO = R.CHIAVEPROGETTO + FROM + #CHIAVEPROGETTONULL C INNER JOIN C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON C.COD_FISCALE = R.COD_FISCALE + AND C.RETE = R.RETE + AND R.area = 'Na' + UPDATE C6MARTPERIODICO.PATRIMONIO_BF SET + CHIAVE_PROGETTO = T.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = T.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF P INNER JOIN #CHIAVEPROGETTONULL T + ON P.COD_FISCALE = T.COD_FISCALE + AND P.RETE = T.RETE + WHERE P.CHIAVE_PROGETTO = -1 + --************************************************************************************************* + drop table #CHIAVEPROGETTONULL + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_1_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_1_3' + ) +--DROP table TEMP_PATRIMONIO_CAMPIONE +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_pre_selective_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, +--INIZIO INTERVENTO CORRETTIVO 20150130 +-- '', + CONS.CodIsin, +--FINE INTERVENTO CORRETTIVO 20150130 + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND TCP.SUBPROD=TSCA.SUBPROD + AND TCP.ISIN=TSCA.ISIN + AND TCP.dtrif=TSCA.dtrif + AND TCP.dtingresso=TSCA.dtingresso +--FINE INTERVENTO CORRETTIVO 20150130 + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + C6StagingPeriodico.RP_CONSULENZA AS CONS + ON + TSCA.CODCONF = CONS.CODCONF +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND (TSCA.CODPROD = CONS.CodInterno + OR TSCA.CODABI = CONS.CodInterno) +--FINE INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.ISIN, '') = ISNULL(CONS.CodIsin, '') +-- AND TCP.CODINT = CONS.CODINTERNO +--FINE INTERVENTO CORRETTIVO 20150130 + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE +--INIZIO INTERVENTO CORRETTIVO 20150130 + TCP.dtuscita = '99991231' +-- TSCA.DTRIF <> 0 +--FINE INTERVENTO CORRETTIVO 20150130 + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + DROP TABLE #REND_NON_RAPPR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_2' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_pre_selective_3', + GETDATE(), + 'Elaborazione trimestrale' + ) +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq', +REND_NON_RAPPR=1 +WHERE TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +--AND ID_AREA = 'na' +AND CTV > 0 +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Cc' +WHERE TIPO_PRODOTTO='CC' +--AND ID_AREA = 'na' +AND CTV < 0 +--***INIZIO INTERVENTI OMNIA*** +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Self' +--INIZIO INTERVENTO CORRETTIVO 20150130 + ,REND_NON_RAPPR=0 +--FINE INTERVENTO CORRETTIVO 20150130 +WHERE ISIN in ('EURO00000009', 'EURO10000007') +--AND ID_AREA = 'na' +AND CTV < 0 +--***FINE INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I CC DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Cc') + AND BF.id_AREA=R.AREA + WHERE BF.TIPO_PRODOTTO='CC' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***INIZIO INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I SELF GP OMNIA DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Self') + AND BF.id_AREA=R.AREA + WHERE BF.ISIN in ('EURO00000009', 'EURO10000007') + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***FINE INTERVENTI OMNIA*** +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_3' + ) +insert into c6martperiodico.test_quality +select distinct a.rete, a.cod_fiscale, 'ORDINAMENTO PROGETTO PER AREA DUPLICATO' +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto +exec C6MartPeriodico.SP_DQ_ProgettoDuplicatoArea 2 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE.sql new file mode 100644 index 00000000..e81c8c19 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE.sql @@ -0,0 +1,79 @@ +--select * from C6MartPeriodico.patrimonio_immobiliare +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_IMMOBILIARE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_IMMOBILIARE + INSERT INTO [C6MartPeriodico].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + C.RETE, --ALL_PATR_TERZI.RETE_PB AS RETE, + C.COD_FISCALE, --ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + B.DESCRIZIONE, --ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, --b.descrizione + B.TIPOLOGIA, + B.COMUNE AS COMUNE, --ALL_PATR_TERZI.LOCALITA AS LOCALITA, --comune è null verificare se è corretto + B.codProvincia AS PROVINCIA, --NULL AS PROVINCIA, --provincia + NULL AS CAP, + NULL AS NAZIONE, + B.VALOREIMMOBILETOTALE, + B.RENDITAANNUA, --ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, --renditaAnnua + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_PATRIMONIOTERZI A + JOIN C6STAGINGPERIODICO.RP_DETTIMMOBILIARE B + ON A.CHIAVEPRODOTTOTERZI = B.CHIAVEPRODOTTOTERZI + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] C + ON A.CHIAVECLIENTEPB = C.CHIAVECLIENTEPB + WHERE A.IDTIPOPRODOTTO = 'IM' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql new file mode 100644 index 00000000..b5a93942 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql @@ -0,0 +1,88 @@ +--select * from C6MartPeriodico.patrimonio_immobiliare +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_IMMOBILIARE_20190205_ProQuota + INSERT INTO [C6MartPeriodico].[PATRIMONIO_IMMOBILIARE_20190205_ProQuota] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB] + -- modifica del 05/02/2019 per il ProQuota + ,[VALORE_STIMATO_PROQUOTA] + ,[PROQUOTA] + -- fine modifica del 05/02/2019 per il ProQuota + ) + SELECT + C.RETE, --ALL_PATR_TERZI.RETE_PB AS RETE, + C.COD_FISCALE, --ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + B.DESCRIZIONE, --ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, --b.descrizione + B.TIPOLOGIA, + B.COMUNE AS COMUNE, --ALL_PATR_TERZI.LOCALITA AS LOCALITA, --comune è null verificare se è corretto + B.codProvincia AS PROVINCIA, --NULL AS PROVINCIA, --provincia + NULL AS CAP, + NULL AS NAZIONE, + B.VALOREIMMOBILETOTALE, + B.RENDITAANNUA, --ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, --renditaAnnua + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + -- modifica del 05/02/2019 per il ProQuota + ,B.valoreImmobileProQuota, + B.ProQuota + -- fine modifica del 05/02/2019 per il ProQuota + FROM C6STAGINGPERIODICO.RP_PATRIMONIOTERZI A + JOIN C6STAGINGPERIODICO.RP_DETTIMMOBILIARE_20190205_ProQuota B + ON A.CHIAVEPRODOTTOTERZI = B.CHIAVEPRODOTTOTERZI + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] C + ON A.CHIAVECLIENTEPB = C.CHIAVECLIENTEPB + WHERE A.IDTIPOPRODOTTO = 'IM' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql new file mode 100644 index 00000000..70b9250f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql @@ -0,0 +1,106 @@ +--select * from C6MartPeriodicO.PATRIMONIO_IMMOBILIARE_ProQuota +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE_PROQUOTA', + GETDATE(), + 'Elaborazione Trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_IMMOBILIARE_ProQuota + INSERT INTO [C6MartPeriodico].[PATRIMONIO_IMMOBILIARE_ProQuota]( + [RETE], + [COD_FISCALE], + Descrizione, + Tipologia, + Localita, + AffittoPercepito, + [VALORE_STIMATO], + Totale, + TotaleAffitto, + [TIPOLOGIA_DIRITTO], + [PROQUOTA], + [VALORE_STIMATO_PROQUOTA], + TotaleProQuota + ) + select + vp.Rete, + vp.Cod_Fiscale, + vp.Descrizione , + vp.Tipologia, + vp.Localita, + vp.AffittoPercepito, + vp.Valore, + vp.Totale, + vp.TotaleAffitto, + vp.TipologiaDiritto, + vp.ProQuota, + vp.Valore_ProQuota, + vp.TotaleProQuota + from + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] vc + inner join C6MartPeriodico.vPatrimonioImmobiliare vp + on vc.rete = vp.rete + and vc.cod_fiscale = vp.cod_fiscale + --select vContratti.Rete, + -- vContratti.Cod_Fiscale, + -- dett.valoreImmobileTotale as Valore_Stimato, + -- coin.moltiplicatoreDiritto * dett.valoreImmobileTotale as Valore_Stimato_ProQuota, + -- coin.moltiplicatoreDiritto * 100 as ProQuota, + -- dett.TipologiaDiritto + --from + -- C6MartPeriodico.vContrattiPerGenerazioneReport vContratti + -- --(select top 100 rete, cod_fiscale from C6MartPeriodico.vContratti where Cod_Fiscale = 'BRNVLM35H61L407Q') vContratti + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.vInfoCliente vInfo + -- on vContratti.Cod_Fiscale = vInfo.CodFis + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.Cointestatari coin + -- on vInfo.chiaveClientePB = coin.chiaveClientePB + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.DettImmobiliare dett + -- on dett.chiaveProdottoTerzi = coin.chiaveProdottoTerzi + --union + --select vContratti.Rete, + -- vContratti.Cod_Fiscale, + -- dett.valoreImmobileTotale as Valore_Stimato, + -- dett.valoreImmobileTotale as Valore_Stimato_ProQuota, + -- 100 as ProQuota, + -- isnull(dett.TipologiaDiritto, 'Proprietà') as TipologiaDiritto + --from + -- C6MartPeriodico.vContrattiPerGenerazioneReport vContratti + -- --(select top 100 rete, cod_fiscale from C6MartPeriodico.vContratti where Cod_Fiscale = 'BRNVLM35H61L407Q') vContratti + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.vInfoCliente vInfo + -- on vContratti.Cod_Fiscale = vInfo.CodFis + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.PatrimonioTerzi coin + -- on vInfo.chiaveClientePB = coin.chiaveClientePB + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.DettImmobiliare dett + -- on dett.chiaveProdottoTerzi = coin.chiaveProdottoTerzi + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE_PROQUOTA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE_PROQUOTA' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql new file mode 100644 index 00000000..60664d03 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql @@ -0,0 +1,79 @@ +--select * from C6MartPeriodico.patrimonio_immobiliare +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_IMMOBILIARE + INSERT INTO [C6MartPeriodico].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + C.RETE, --ALL_PATR_TERZI.RETE_PB AS RETE, + C.COD_FISCALE, --ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + B.DESCRIZIONE, --ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, --b.descrizione + B.TIPOLOGIA, + B.COMUNE AS COMUNE, --ALL_PATR_TERZI.LOCALITA AS LOCALITA, --comune è null verificare se è corretto + B.codProvincia AS PROVINCIA, --NULL AS PROVINCIA, --provincia + NULL AS CAP, + NULL AS NAZIONE, + B.VALOREIMMOBILETOTALE, + B.RENDITAANNUA, --ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, --renditaAnnua + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_PATRIMONIOTERZI A + JOIN C6STAGINGPERIODICO.RP_DETTIMMOBILIARE B + ON A.CHIAVEPRODOTTOTERZI = B.CHIAVEPRODOTTOTERZI + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] C + ON A.CHIAVECLIENTEPB = C.CHIAVECLIENTEPB + WHERE A.IDTIPOPRODOTTO = 'IM' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI.sql new file mode 100644 index 00000000..bce2418f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI.sql @@ -0,0 +1,163 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_TERZI + INSERT INTO [C6MartPeriodico].[PATRIMONIO_TERZI] + ( + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(MAPPING.Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + --------------------- intervento del 15/03/2018 per gestire ctv e capitale_investito più grandi del consentito + --RP_PatrimonioTerzi.ctv AS CTV, + --RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + case + when RP_PatrimonioTerzi.ctv > 999999999999.00 then 999999999999.00 + else RP_PatrimonioTerzi.ctv + end AS CTV, + case + when RP_DettProdottiTerzi.capitaleInvestito > 999999999999.00 then 999999999999.00 + else RP_DettProdottiTerzi.capitaleInvestito + end AS VERSATO_NETTO, + --------------------- fine intervento del 15/3/2018 + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + /* 20170427 aggiunto Assets.FinancialAssets.OtherFin e Assets.FinancialAssets.OtherAss al gruppo Portafoglio Generico */ + --WHEN RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.Other' + WHEN RP_PatrimonioTerzi.tipoProd in ('Assets.FinancialAssets.Other', 'Assets.FinancialAssets.OtherFin', 'Assets.FinancialAssets.OtherAss') + THEN 'Portafoglio Generico' + WHEN RP_PatrimonioTerzi.tipoProd IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') + THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + --'' AS DESCR_GRUPPO_PRODOTTO, --se mi dici adesso come si chiama questo campo (ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO) è fatta + RP_CatalogoProdotti.AzOb AS STRTYPE, --manca (farselo dire da Alessia) (obbligazionario o azionario) + RP_CatalogoProdotti.Complessita AS COMPLEX, + RP_AnEmittente.Descrizione AS EMITTENTE, + MAPPING.Temp_oidProd AS chiave_thr, --da rivedere + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCONTRATTI + INNER JOIN + C6StagingPeriodico.RP_PatrimonioTerzi + ON VCONTRATTI.chiaveClientePB = RP_PatrimonioTerzi.chiaveClientePB + INNER JOIN + C6StagingPeriodico.RP_DettProdottiTerzi + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi + LEFT JOIN + C6StagingPeriodico.RP_MappingTerzi MAPPING + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = MAPPING.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3 ON C6StagingPeriodico.RP_DettProdottiTerzi.alberatura = C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + LEFT JOIN + C6StagingPeriodico.RP_CatalogoProdotti ON C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdotto = C6StagingPeriodico.RP_CatalogoProdotti.ChiaveProdotto + LEFT JOIN + C6StagingPeriodico.RP_AnEmittente ON C6StagingPeriodico.RP_CatalogoProdotti.Emittente = C6StagingPeriodico.RP_AnEmittente.Emittente + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20170427_Patr3.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20170427_Patr3.sql new file mode 100644 index 00000000..08838505 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20170427_Patr3.sql @@ -0,0 +1,151 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_TERZI_20170427_Patr3] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_TERZI + INSERT INTO [C6MartPeriodico].[PATRIMONIO_TERZI] + ( + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(MAPPING.Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + RP_PatrimonioTerzi.ctv AS CTV, + RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + WHEN RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.Other' + THEN 'Portafoglio Generico' + WHEN RP_PatrimonioTerzi.tipoProd IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') + THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + --'' AS DESCR_GRUPPO_PRODOTTO, --se mi dici adesso come si chiama questo campo (ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO) è fatta + RP_CatalogoProdotti.AzOb AS STRTYPE, --manca (farselo dire da Alessia) (obbligazionario o azionario) + RP_CatalogoProdotti.Complessita AS COMPLEX, + RP_AnEmittente.Descrizione AS EMITTENTE, + MAPPING.Temp_oidProd AS chiave_thr, --da rivedere + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCONTRATTI + INNER JOIN + C6StagingPeriodico.RP_PatrimonioTerzi + ON VCONTRATTI.chiaveClientePB = RP_PatrimonioTerzi.chiaveClientePB + INNER JOIN + C6StagingPeriodico.RP_DettProdottiTerzi + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi + LEFT JOIN + C6StagingPeriodico.RP_MappingTerzi MAPPING + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = MAPPING.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3 ON C6StagingPeriodico.RP_DettProdottiTerzi.alberatura = C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + LEFT JOIN + C6StagingPeriodico.RP_CatalogoProdotti ON C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdotto = C6StagingPeriodico.RP_CatalogoProdotti.ChiaveProdotto + LEFT JOIN + C6StagingPeriodico.RP_AnEmittente ON C6StagingPeriodico.RP_CatalogoProdotti.Emittente = C6StagingPeriodico.RP_AnEmittente.Emittente + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20180315.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20180315.sql new file mode 100644 index 00000000..c6edb68b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20180315.sql @@ -0,0 +1,153 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_TERZI_20180315] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_TERZI + INSERT INTO [C6MartPeriodico].[PATRIMONIO_TERZI] + ( + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(MAPPING.Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + RP_PatrimonioTerzi.ctv AS CTV, + RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + /* 20170427 aggiunto Assets.FinancialAssets.OtherFin e Assets.FinancialAssets.OtherAss al gruppo Portafoglio Generico */ + --WHEN RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.Other' + WHEN RP_PatrimonioTerzi.tipoProd in ('Assets.FinancialAssets.Other', 'Assets.FinancialAssets.OtherFin', 'Assets.FinancialAssets.OtherAss') + THEN 'Portafoglio Generico' + WHEN RP_PatrimonioTerzi.tipoProd IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') + THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + --'' AS DESCR_GRUPPO_PRODOTTO, --se mi dici adesso come si chiama questo campo (ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO) è fatta + RP_CatalogoProdotti.AzOb AS STRTYPE, --manca (farselo dire da Alessia) (obbligazionario o azionario) + RP_CatalogoProdotti.Complessita AS COMPLEX, + RP_AnEmittente.Descrizione AS EMITTENTE, + MAPPING.Temp_oidProd AS chiave_thr, --da rivedere + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCONTRATTI + INNER JOIN + C6StagingPeriodico.RP_PatrimonioTerzi + ON VCONTRATTI.chiaveClientePB = RP_PatrimonioTerzi.chiaveClientePB + INNER JOIN + C6StagingPeriodico.RP_DettProdottiTerzi + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi + LEFT JOIN + C6StagingPeriodico.RP_MappingTerzi MAPPING + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = MAPPING.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3 ON C6StagingPeriodico.RP_DettProdottiTerzi.alberatura = C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + LEFT JOIN + C6StagingPeriodico.RP_CatalogoProdotti ON C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdotto = C6StagingPeriodico.RP_CatalogoProdotti.ChiaveProdotto + LEFT JOIN + C6StagingPeriodico.RP_AnEmittente ON C6StagingPeriodico.RP_CatalogoProdotti.Emittente = C6StagingPeriodico.RP_AnEmittente.Emittente + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_pre_selective.sql new file mode 100644 index 00000000..d8df1ae8 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_pre_selective.sql @@ -0,0 +1,151 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_TERZI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_TERZI + INSERT INTO [C6MartPeriodico].[PATRIMONIO_TERZI] + ( + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(MAPPING.Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + RP_PatrimonioTerzi.ctv AS CTV, + RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + WHEN RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.Other' + THEN 'Portafoglio Generico' + WHEN RP_PatrimonioTerzi.tipoProd IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') + THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + --'' AS DESCR_GRUPPO_PRODOTTO, --se mi dici adesso come si chiama questo campo (ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO) è fatta + RP_CatalogoProdotti.AzOb AS STRTYPE, --manca (farselo dire da Alessia) (obbligazionario o azionario) + RP_CatalogoProdotti.Complessita AS COMPLEX, + RP_AnEmittente.Descrizione AS EMITTENTE, + MAPPING.Temp_oidProd AS chiave_thr, --da rivedere + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCONTRATTI + INNER JOIN + C6StagingPeriodico.RP_PatrimonioTerzi + ON VCONTRATTI.chiaveClientePB = RP_PatrimonioTerzi.chiaveClientePB + INNER JOIN + C6StagingPeriodico.RP_DettProdottiTerzi + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi + LEFT JOIN + C6StagingPeriodico.RP_MappingTerzi MAPPING + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = MAPPING.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3 ON C6StagingPeriodico.RP_DettProdottiTerzi.alberatura = C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + LEFT JOIN + C6StagingPeriodico.RP_CatalogoProdotti ON C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdotto = C6StagingPeriodico.RP_CatalogoProdotti.ChiaveProdotto + LEFT JOIN + C6StagingPeriodico.RP_AnEmittente ON C6StagingPeriodico.RP_CatalogoProdotti.Emittente = C6StagingPeriodico.RP_AnEmittente.Emittente + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PIRAMIDE_MOD.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PIRAMIDE_MOD.sql new file mode 100644 index 00000000..bbe2fe69 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PIRAMIDE_MOD.sql @@ -0,0 +1,211 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_PIRAMIDE_MOD] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PIRAMIDE_MOD', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PIRAMIDE_MOD + INSERT INTO [C6MartPeriodico].[PIRAMIDE_MOD] + ( + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE, + rp_pirmod.area AS ID_AREA, + -- 2016-12-02: nomeProgetto sempre presente e differente da NULL + --case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then rp_pirmod.nomeProgetto + -- ELSE NULL END + -- fine + rp_pirmod.nomeProgetto AS NOME_PROGETTO, + case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' + else 'Default' + end AS TIPO_PROGETTO, + rp_pirmod.percentualeProgetto AS PERC_AREA, + ISNULL(Progetto.CTVPROGETTO, MigrazProgetto.CTVPROGETTO) AS CTV_PROGETTO, + NULL AS CTV_AREA, + --convert(int,REPLACE(durata,'anni','')) AS ORIZZ_TEMP_NUM, + Progetto.orizzonteTemporale AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(Progetto.orizzonteTemporale, 0) = 0 THEN '' ELSE + cast(Progetto.orizzonteTemporale as varchar(2)) + ' anni' END AS ORIZZ_TEMP, + --rp_pirmod.durata AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + ISNULL(Progetto.ChiaveProgetto, MigrazProgetto.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_ProgettiPiramideModello AS rp_pirmod +INNER JOIN + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] vCONTRATTI + ON + rp_pirmod.chiaveClientePB = vCONTRATTI.chiaveClientePB + LEFT JOIN + C6StagingPeriodico.RP_Progetto Progetto + on rp_pirmod.chiaveprogettomod = Progetto.chiaveprogettomod + LEFT JOIN + C6StagingPeriodico.RP_Migraz_Progetto MigrazProgetto + on rp_pirmod.chiaveprogettomod = MigrazProgetto.chiaveprogettomod + AND Progetto.chiaveprogettomod is null + WHERE 1=1 + and rp_pirmod.DtFineValidita > getdate() + -- modifica del 30/11/2016 - il tipoProgetto non è più un campo significativo; ecludo le aree light e void + --and ((rp_pirmod.area = 'Inv') OR (rp_pirmod.area <> 'Inv' and rp_pirmod.tipoProgetto = 0)) + and rp_pirmod.area not in ('LIGHT', 'VOID') + -- fine -- modifica del 30/11/2016 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' + ) +-------------------------------------> modifica del 19/1/2017 per inserire il record di aggregazione per l'area 'Pre' + /* + PER OGNI CF MI ESTRAGGO SOLO I RECORD DELL'AREA 'PRE1' E 'PRE2' RINOMINANDOLI COME 'PRE' + PER POTERLI POI AGGREGARE + */ + SELECT + VCONTRATTI.rete AS RETE, + ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE, + CASE WHEN rp_pirmod.area IN ('Pre','Pre1','Pre2') THEN 'Pre' + else rp_pirmod.area + END AS ID_AREA, + rp_pirmod.nomeProgetto AS NOME_PROGETTO, + case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' + else 'Default' + end AS TIPO_PROGETTO, + rp_pirmod.percentualeProgetto AS PERC_AREA, + ISNULL(Progetto.CTVPROGETTO, MigrazProgetto.CTVPROGETTO) AS CTV_PROGETTO, + NULL AS CTV_AREA, + Progetto.orizzonteTemporale AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(Progetto.orizzonteTemporale, 0) = 0 THEN '' ELSE + cast(Progetto.orizzonteTemporale as varchar(2)) + ' anni' END AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + ISNULL(Progetto.ChiaveProgetto, MigrazProgetto.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + into #appo + FROM C6StagingPeriodico.RP_ProgettiPiramideModello AS rp_pirmod + INNER JOIN + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] vCONTRATTI + ON + rp_pirmod.chiaveClientePB = vCONTRATTI.chiaveClientePB + LEFT JOIN + C6StagingPeriodico.RP_Progetto Progetto + on rp_pirmod.chiaveprogettomod = Progetto.chiaveprogettomod + LEFT JOIN + C6StagingPeriodico.RP_Migraz_Progetto MigrazProgetto + on rp_pirmod.chiaveprogettomod = MigrazProgetto.chiaveprogettomod + AND Progetto.chiaveprogettomod is null + WHERE 1=1 + AND rp_pirmod.area in ('Pre','Pre1','Pre2') + and rp_pirmod.DtFineValidita > getdate() + and rp_pirmod.area not in ('LIGHT', 'VOID') + /* + ORA INSERISCO UN SOLO RECORD 'PRE' PER OGNI CF COME AGGREGAZIONE DELL'AREE 'PRE1' E 'PRE2' + DOPO QUESTA INSERT, PER OGNI CF, HO DI NUOVO 'PRE', 'PRE1', E 'PRE2' + */ + insert into [C6MartPeriodico].[PIRAMIDE_MOD] + ( + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + select + rete, + cod_fiscale, + id_area, + nome_progetto, + tipo_progetto, + sum(perc_area) as perc_area, + sum(ctv_progetto) as ctv_progetto, + sum(ctv_area) as ctv_area, + orizz_temp_num, + orizz_temp, + sum(ctv_totale) as ctv_totale, + stato_consulenza, + data_stato_cons, + data_migr_cons, + id_contratto, + max(ordinamento_progetto), + id_elab, + tipo_elab + from #appo + group by + rete, + cod_fiscale, + id_area, + nome_progetto, + tipo_progetto, + orizz_temp_num, + orizz_temp, + stato_consulenza, + data_stato_cons, + data_migr_cons, + id_contratto,id_elab, + tipo_elab +---------------------------------------------------------------> FINE MODIFICA DEL 19/1/2017 +END +-- select durata, convert(int,REPLACE(durata,'anni','')) FROM C6StagingPeriodico.RP_ProgettiPiramideModello where durata is not null \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20161202.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20161202.sql new file mode 100644 index 00000000..3c212c48 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20161202.sql @@ -0,0 +1,105 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PIRAMIDE_MOD_20161202] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PIRAMIDE_MOD', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PIRAMIDE_MOD + INSERT INTO [C6MartPeriodico].[PIRAMIDE_MOD] + ( + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE, + rp_pirmod.area AS ID_AREA, + case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then rp_pirmod.nomeProgetto + ELSE NULL END + AS NOME_PROGETTO, + case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' + else 'Default' + end AS TIPO_PROGETTO, + rp_pirmod.percentualeProgetto AS PERC_AREA, + ISNULL(Progetto.CTVPROGETTO, MigrazProgetto.CTVPROGETTO) AS CTV_PROGETTO, + NULL AS CTV_AREA, + --convert(int,REPLACE(durata,'anni','')) AS ORIZZ_TEMP_NUM, + Progetto.orizzonteTemporale AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(Progetto.orizzonteTemporale, 0) = 0 THEN '' ELSE + cast(Progetto.orizzonteTemporale as varchar(2)) + ' anni' END AS ORIZZ_TEMP, + --rp_pirmod.durata AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + ISNULL(Progetto.ChiaveProgetto, MigrazProgetto.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_ProgettiPiramideModello AS rp_pirmod +INNER JOIN + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] vCONTRATTI + ON + rp_pirmod.chiaveClientePB = vCONTRATTI.chiaveClientePB + LEFT JOIN + C6StagingPeriodico.RP_Progetto Progetto + on rp_pirmod.chiaveprogettomod = Progetto.chiaveprogettomod + LEFT JOIN + C6StagingPeriodico.RP_Migraz_Progetto MigrazProgetto + on rp_pirmod.chiaveprogettomod = MigrazProgetto.chiaveprogettomod + AND Progetto.chiaveprogettomod is null + WHERE 1=1 + and rp_pirmod.DtFineValidita > getdate() + -- modifica del 30/11/2016 - il tipoProgetto non è più un campo significativo; ecludo le aree light e void + --and ((rp_pirmod.area = 'Inv') OR (rp_pirmod.area <> 'Inv' and rp_pirmod.tipoProgetto = 0)) + and rp_pirmod.area not in ('LIGHT', 'VOID') + -- fine -- modifica del 30/11/2016 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' + ) +END +-- select durata, convert(int,REPLACE(durata,'anni','')) FROM C6StagingPeriodico.RP_ProgettiPiramideModello where durata is not null \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20170119.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20170119.sql new file mode 100644 index 00000000..01d5ab94 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20170119.sql @@ -0,0 +1,107 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_PIRAMIDE_MOD_20170119] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PIRAMIDE_MOD', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PIRAMIDE_MOD + INSERT INTO [C6MartPeriodico].[PIRAMIDE_MOD] + ( + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE, + rp_pirmod.area AS ID_AREA, + -- 2016-12-02: nomeProgetto sempre presente e differente da NULL + --case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then rp_pirmod.nomeProgetto + -- ELSE NULL END + -- fine + rp_pirmod.nomeProgetto AS NOME_PROGETTO, + case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' + else 'Default' + end AS TIPO_PROGETTO, + rp_pirmod.percentualeProgetto AS PERC_AREA, + ISNULL(Progetto.CTVPROGETTO, MigrazProgetto.CTVPROGETTO) AS CTV_PROGETTO, + NULL AS CTV_AREA, + --convert(int,REPLACE(durata,'anni','')) AS ORIZZ_TEMP_NUM, + Progetto.orizzonteTemporale AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(Progetto.orizzonteTemporale, 0) = 0 THEN '' ELSE + cast(Progetto.orizzonteTemporale as varchar(2)) + ' anni' END AS ORIZZ_TEMP, + --rp_pirmod.durata AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + ISNULL(Progetto.ChiaveProgetto, MigrazProgetto.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_ProgettiPiramideModello AS rp_pirmod +INNER JOIN + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] vCONTRATTI + ON + rp_pirmod.chiaveClientePB = vCONTRATTI.chiaveClientePB + LEFT JOIN + C6StagingPeriodico.RP_Progetto Progetto + on rp_pirmod.chiaveprogettomod = Progetto.chiaveprogettomod + LEFT JOIN + C6StagingPeriodico.RP_Migraz_Progetto MigrazProgetto + on rp_pirmod.chiaveprogettomod = MigrazProgetto.chiaveprogettomod + AND Progetto.chiaveprogettomod is null + WHERE 1=1 + and rp_pirmod.DtFineValidita > getdate() + -- modifica del 30/11/2016 - il tipoProgetto non è più un campo significativo; ecludo le aree light e void + --and ((rp_pirmod.area = 'Inv') OR (rp_pirmod.area <> 'Inv' and rp_pirmod.tipoProgetto = 0)) + and rp_pirmod.area not in ('LIGHT', 'VOID') + -- fine -- modifica del 30/11/2016 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' + ) +END +-- select durata, convert(int,REPLACE(durata,'anni','')) FROM C6StagingPeriodico.RP_ProgettiPiramideModello where durata is not null \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_pre_selective.sql new file mode 100644 index 00000000..a8de721d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_pre_selective.sql @@ -0,0 +1,107 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PIRAMIDE_MOD_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PIRAMIDE_MOD_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PIRAMIDE_MOD + INSERT INTO [C6MartPeriodico].[PIRAMIDE_MOD] + ( + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE, + rp_pirmod.area AS ID_AREA, + -- 2016-12-02: nomeProgetto sempre presente e differente da NULL + --case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then rp_pirmod.nomeProgetto + -- ELSE NULL END + -- fine + rp_pirmod.nomeProgetto AS NOME_PROGETTO, + case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' + else 'Default' + end AS TIPO_PROGETTO, + rp_pirmod.percentualeProgetto AS PERC_AREA, + ISNULL(Progetto.CTVPROGETTO, MigrazProgetto.CTVPROGETTO) AS CTV_PROGETTO, + NULL AS CTV_AREA, + --convert(int,REPLACE(durata,'anni','')) AS ORIZZ_TEMP_NUM, + Progetto.orizzonteTemporale AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(Progetto.orizzonteTemporale, 0) = 0 THEN '' ELSE + cast(Progetto.orizzonteTemporale as varchar(2)) + ' anni' END AS ORIZZ_TEMP, + --rp_pirmod.durata AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + ISNULL(Progetto.ChiaveProgetto, MigrazProgetto.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_ProgettiPiramideModello AS rp_pirmod +INNER JOIN + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] vCONTRATTI + ON + rp_pirmod.chiaveClientePB = vCONTRATTI.chiaveClientePB + LEFT JOIN + C6StagingPeriodico.RP_Progetto Progetto + on rp_pirmod.chiaveprogettomod = Progetto.chiaveprogettomod + LEFT JOIN + C6StagingPeriodico.RP_Migraz_Progetto MigrazProgetto + on rp_pirmod.chiaveprogettomod = MigrazProgetto.chiaveprogettomod + AND Progetto.chiaveprogettomod is null + WHERE 1=1 + and rp_pirmod.DtFineValidita > getdate() + -- modifica del 30/11/2016 - il tipoProgetto non è più un campo significativo; ecludo le aree light e void + --and ((rp_pirmod.area = 'Inv') OR (rp_pirmod.area <> 'Inv' and rp_pirmod.tipoProgetto = 0)) + and rp_pirmod.area not in ('LIGHT', 'VOID') + -- fine -- modifica del 30/11/2016 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD_pre_selective' + ) +END +-- select durata, convert(int,REPLACE(durata,'anni','')) FROM C6StagingPeriodico.RP_ProgettiPiramideModello where durata is not null \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_PIRAMIDE_VERT.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_PIRAMIDE_VERT.sql new file mode 100644 index 00000000..8a1ca37b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_PIRAMIDE_VERT.sql @@ -0,0 +1,65 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 09/08/2008 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PIRAMIDE_VERT] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + SET @TIPO_ELAB = [C6MartPeriodico].GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PIRAMIDE_VERT', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[PIRAMIDE_VERT] + INSERT INTO [C6MartPeriodico].[PIRAMIDE_VERT] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[CTV_AREA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + V.rete AS RETE, + ISNULL(V.COD_FISCALE, '') AS COD_FISCALE, + CASE WHEN A.AREA IS NULL THEN M_A.AREA ELSE A.AREA END AS ID_AREA, + CASE WHEN A.ctvArea IS NULL THEN M_A.ctvArea ELSE A.ctvArea END AS CTV_AREA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V Left Join + (C6StagingPeriodico.RP_Pianificazione P + INNER JOIN C6StagingPeriodico.RP_Area A + ON P.CHIAVECONSULENZA = A.CHIAVECONSULENZA) + ON V.CHIAVECLIENTEPB = P.CHIAVECLIENTEPB + Left Join + (C6StagingPeriodico.RP_Migraz_Pianificazione M + INNER JOIN C6StagingPeriodico.RP_Migraz_Area M_A + ON M.CHIAVECONSULENZA = M_A.CHIAVECONSULENZA) + ON V.CHIAVECLIENTEPB = M.CHIAVECLIENTEPB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PIRAMIDE_VERT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PIRAMIDE_VERT' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_POPOLACONTRATTI.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_POPOLACONTRATTI.sql new file mode 100644 index 00000000..e78d1460 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_POPOLACONTRATTI.sql @@ -0,0 +1,174 @@ +--create view as +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_POPOLACONTRATTI] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +SELECT a.chiaveclientepb as ChiaveClientePb + INTO #CAMBIOCONTRATTO + FROM + [CONSEVO_PERIODICO].[consulenzaBase].dbo.Contratto a +JOIN [CONSEVO_PERIODICO].[consulenzaBase].dbo.ClientePB b + ON b.chiaveClientePB = a.chiaveClientePB + and a.status in ('SEI','AVANZATOBASE','REVOCASEI') +JOIN [CONSEVO_PERIODICO].[consulenzaBase].dbo.Cliente c + ON b.chiaveCliente = c.chiaveCliente +JOIN [CONSEVO_PERIODICO].[consulenzaBase].dbo.PromotoreBancario d + ON b.chiavePB = d.chiavePB +JOIN [CONSEVO_PERIODICO].[consulenzaBaseFL].dbo.cbs_dbcontrattosei e + ON a.codiceContratto = e.cod_conf +JOIN [CONSEVO_PERIODICO].[consulenzaBaseFL].dbo.cbs_dbcontrattobase f + ON a.codiceContratto = f.cod_conf +JOIN [C6MartPeriodico].[vcontratti] vc + ON b.chiaveClientePB = vc.chiaveClientePB + WHERE a.codicecontratto<>vc.codicecontratto +INSERT INTO [C6MartPeriodico].[CONTRATTOSEI_METADATI_ST] + SELECT * FROM [C6MartPeriodico].[CONTRATTOSEI_METADATI] + WHERE ChiaveClientePb in(SELECT ChiaveClientePb FROM #CAMBIOCONTRATTO) +INSERT INTO [C6MartPeriodico].[VCONTRATTI_ST] + SELECT * FROM [C6MartPeriodico].[VCONTRATTI] + WHERE ChiaveClientePb in(SELECT ChiaveClientePb FROM #CAMBIOCONTRATTO) +DELETE [C6MartPeriodico].[CONTRATTOSEI_METADATI] + WHERE ChiaveClientePb in(SELECT ChiaveClientePb FROM #CAMBIOCONTRATTO) +--DROP TABLE #CAMBIOCONTRATTO +TRUNCATE TABLE C6MartPeriodico.VCONTRATTI +INSERT INTO C6MartPeriodico.VCONTRATTI +SELECT DISTINCT + b.chiaveClientePB, + --FFCODICEFISCALE(codfis,codman,c.piva) as Cod_fiscale + --c.codMan AS COD_MANDATO, + --FFPIVA(codman,c.piva) as PIVA_FIDUCIARIA + case + when(isnull(ltrim(rtrim(codman)),'') <> '') + then 'FF@'+codman + when (isnull(codfis,'') <> '') + then codfis + else + c.piva + end as Cod_fiscale, + c.codMan AS COD_MANDATO, + case + when(isnull(ltrim(rtrim(codman)),'') <> '') + then c.piva + else + '' + END AS PIVA_FIDUCIARIA, + f.pb AS COD_AGENTE, + d.rete, + a.codiceContratto, + a.flagRol, + a.address AS INDIRIZZO, + a.cap, + a.city AS CITTA, + a.province AS PROVINCIA, + a.nation AS NAZIONE, + a.presso, + a.email, + a.freqRepDia AS FREQ_DIAGNOSI, + a.freqRepMon AS FREQ_MONITORAGGIO, + a.genReport AS GENERAZIONEREPORT, + a.dtFirmaBase AS DATA_INIZIOBASE, + a.dtEndBase AS DATA_FINEBASE, + a.dtProcBase as DATA_PERF_BASE, + a.dtProcAv as DATA_PERF, + a.dtFirmaSei AS DATA_INZIOAVANZATO, + a.dtEndSei AS DATA_FINEAVANZATO, + CASE e.tipcontratto + WHEN 'A' THEN 1 + WHEN 'P' THEN 2 + ELSE 0 + END AS TIP_CONTRATTO, + CASE + WHEN e.riattivazione is null THEN 0 + ELSE 1 + END AS RIATTIVAZIONE +FROM + [CONSEVO_PERIODICO].[consulenzaBase].dbo.Contratto a +JOIN + [CONSEVO_PERIODICO].[consulenzaBase].dbo.ClientePB b + ON b.chiaveClientePB = a.chiaveClientePB + and a.status in ('SEI','AVANZATOBASE','REVOCASEI') +JOIN [CONSEVO_PERIODICO].[consulenzaBase].dbo.Cliente c + ON b.chiaveCliente = c.chiaveCliente +JOIN [CONSEVO_PERIODICO].[consulenzaBase].dbo.PromotoreBancario d + ON b.chiavePB = d.chiavePB +JOIN [CONSEVO_PERIODICO].[consulenzaBaseFL].dbo.cbs_dbcontrattosei e + ON a.codiceContratto = e.cod_conf +JOIN [CONSEVO_PERIODICO].[consulenzaBaseFL].dbo.cbs_dbcontrattobase f + ON a.codiceContratto = f.cod_conf +INSERT INTO [C6MartPeriodico].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM + C6MartPeriodico.VCONTRATTI A + LEFT JOIN + [C6MartPeriodico].[CONTRATTOSEI_METADATI] B + ON + A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE + B.CHIAVECLIENTEPB IS NULL +UPDATE [C6MartPeriodico].[CONTRATTOSEI_METADATI] SET tip_riattivazione=0 +--SELECT * +FROM C6MartPeriodico.VCONTRATTI VC +JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MC +ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO <> '9999-12-31 00:00:00.000' AND MC.Tip_riattivazione = 1 +UPDATE [C6MartPeriodico].[CONTRATTOSEI_METADATI] +SET tip_riattivazione=1 +,numRevoche = 0, data_UltimaRevoca = NULL, invioBenvenuto = 'N',numSolleciti = 0, data_UltimoSollecito = NULL +--SELECT * +FROM C6MartPeriodico.VCONTRATTI VC +JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MC +ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO = '9999-12-31 00:00:00.000' AND MC.Tip_riattivazione = 0 +UPDATE [C6MartPeriodico].[CONTRATTOSEI_METADATI] +SET tip_riattivazione=2, tip_Contratto = 2 +,numRevoche = 0, data_UltimaRevoca = NULL, invioBenvenuto = 'N', numSolleciti = 0, data_UltimoSollecito = NULL +--SELECT * +FROM C6MartPeriodico.VCONTRATTI VC +JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MC +ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO = '9999-12-31 00:00:00.000' AND MC.tip_Contratto = 1 +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_QD_VAR_RISK_WEEK2.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_QD_VAR_RISK_WEEK2.sql new file mode 100644 index 00000000..97f18e71 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_QD_VAR_RISK_WEEK2.sql @@ -0,0 +1,29 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_QD_VAR_RISK_WEEK2] +AS +BEGIN +TRUNCATE TABLE [C6MARTPeriodico].[QD_VAR_RISK_WEEK2] +INSERT INTO [C6MARTPeriodico].[QD_VAR_RISK_WEEK2] + ([banca], + [rete], + [codfis], + [piva], + [codfid], + [codman], + [chiave_acn], + [isp_total_risk], + [flag_risk]) + SELECT + [banca], + [rete], + [codfis], + [piva], + [codfid], + [codman], + CASE WHEN ISNULL(LTRIM(RTRIM(piva)), '') <> '' AND ISNULL(LTRIM(RTRIM(codman)), '') = '' THEN piva + WHEN ISNULL(LTRIM(RTRIM(piva)), '') <> '' AND ISNULL(LTRIM(RTRIM(codman)), '') <> '' THEN 'FF@' + codman + ELSE codfis + END AS chiave_acn, + [isp_total_risk], + [flag_risk] + FROM [C6StagingPeriodico].[QD_VAR_RISK_WEEK2] +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_W6CATESG.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_W6CATESG.sql new file mode 100644 index 00000000..354aaaab --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_W6CATESG.sql @@ -0,0 +1,65 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_W6CATESG] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_W6CATESG', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- declare @data varchar(8) +--set @data= [C6MartPeriodico].[getTrimestre2](getdate(),0) +truncate table C6MartPeriodico.W6CATESG + INSERT INTO [C6MartPeriodico].[W6CATESG] + ( + [dttrim] + ,[banca] + ,[rete] + ,[codfis] + ,[codman] + ,[esg_e_prod_cli] + ,[esg_s_prod_cli] + ,[esg_g_prod_cli] + ,[prodotto_id] + ,[position_id]) + SELECT distinct + [DTTRIM] + ,[BANCA] + ,[RETE] + ,case when CODMAN<>'' then 'FF@'+CODMAN + else CODFIS end as COD_FISCALE + ,isnull([codman],'') + ,isnull([esg_e_prod_cli],'') + ,isnull([esg_s_prod_cli],'') + ,isnull([esg_g_prod_cli],'') + ,isnull([prodotto_id],'') + ,isnull([position_id],'') + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6CATESG] + --where + --DTTRIM=@data + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_W6CATESG' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_W6CATESG' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_W6CKADEG.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_W6CKADEG.sql new file mode 100644 index 00000000..c73b994f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_W6CKADEG.sql @@ -0,0 +1,170 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_W6CKADEG] +as +begin +drop table if exists #tot +exec [dbo].[CreaTabellaBackUp] 'W6CKADEG','C6MartPeriodico','preBonifica' +declare @countAppoLimiter int +select @countAppoLimiter= count(*) from C6StagingPeriodico.APPO_CONTRATTI_LIMITER +if(@countAppoLimiter=0) +begin +truncate table C6MartPeriodico.W6CKADEG +--select Rete, +-- Chiave_Acn, +-- Codfis, +-- Codman, +-- Dttrim, +-- Adeg_Rischio, +-- Adeg_Riserva, +-- Adeg_Invl_Period, +-- Adeg_Compl, +-- Adeg_Conc_ProdCompl, +-- Adeg_Freq_Oper, +-- Adeg_Conc_Emitt, +-- Adeg_Conc_Valut +-- from #tot +insert into C6MartPeriodico.W6CKADEG +SELECT + wsei.Rete, + wsei.Chiave_Acn, + wsei.Codfis, + wsei.Codman, + wsei.Dttrim, + CASE + WHEN 'N' IN (Adeg_Rischio, Adeg_Riserva, Adeg_Invl_Period, Adeg_Compl, Adeg_Conc_ProdCompl, Adeg_Freq_Oper, Adeg_Conc_Emitt, Adeg_Conc_Valut) THEN 'N' + ELSE 'S' + END AS Adeg_Check, + wsei.Adeg_Rischio, + wsei.Adeg_Riserva, + wsei.Adeg_Invl_Period, + wsei.Adeg_Compl, + wsei.Adeg_Conc_ProdCompl, + wsei.Adeg_Freq_Oper, + wsei.Adeg_Conc_Emitt, + wsei.Adeg_Conc_Valut, + wsei.Rfa_tot, + wsei.Rfa_sei, + wsei.Riserva, + wsei.Profilo, + wsei.Profilo_EC, + wsei.Indicatore_ChiamataR4, + wsei.Flg_Legali_Rappresentanti + --into C6MartPeriodico.W6CKADEG +FROM C6MartPeriodico.vW6CKADEG wsei +inner join C6StagingPeriodico.appo_contratti appo on appo.rete=wsei.Rete and appo.cod_fiscale=wsei.Chiave_Acn +end +else +begin +delete from [C6MartPeriodico].[W6CKADEG] where rete+CHIAVE_ACN in (select rete+cod_fiscale from C6StagingPeriodico.APPO_CONTRATTI_LIMITER) +insert into C6MartPeriodico.W6CKADEG +SELECT + wsei.Rete, + wsei.Chiave_Acn, + wsei.Codfis, + wsei.Codman, + wsei.Dttrim, + CASE + WHEN 'N' IN (Adeg_Rischio, Adeg_Riserva, Adeg_Invl_Period, Adeg_Compl, Adeg_Conc_ProdCompl, Adeg_Freq_Oper, Adeg_Conc_Emitt, Adeg_Conc_Valut) THEN 'N' + ELSE 'S' + END AS Adeg_Check, + wsei.Adeg_Rischio, + wsei.Adeg_Riserva, + wsei.Adeg_Invl_Period, + wsei.Adeg_Compl, + wsei.Adeg_Conc_ProdCompl, + wsei.Adeg_Freq_Oper, + wsei.Adeg_Conc_Emitt, + wsei.Adeg_Conc_Valut, + wsei.Rfa_tot, + wsei.Rfa_sei, + wsei.Riserva, + wsei.Profilo, + wsei.Profilo_EC, + wsei.Indicatore_ChiamataR4, + wsei.Flg_Legali_Rappresentanti + --into C6MartPeriodico.W6CKADEG +FROM C6MartPeriodico.vW6CKADEG wsei +inner join C6StagingPeriodico.APPO_CONTRATTI_LIMITER appo on appo.rete=wsei.Rete and appo.cod_fiscale=wsei.Chiave_Acn +end +--casi particolari +update C6MartPeriodico.W6CKADEG +set Adeg_Check='N' +where Indicatore_ChiamataR4='Z' --clcompl=Z +and Profilo=0 -- profilo Scaduto +--and isnull(Rfa_sei,0.00)=0.00 -- Rfa_sei = 0 e >0 adeg_check deve essere comunque = N +update C6MartPeriodico.W6CKADEG +set Adeg_Check='S' +where Indicatore_ChiamataR4='Z' --clcompl=Z +and Profilo>0 -- profilo non scaduto +and isnull(Rfa_tot,0.00)=0.00 --rfa totale =0 +and isnull(Riserva,0.00)=0.00 -- riserva =0 +update C6MartPeriodico.W6CKADEG +set Adeg_Check='N' +where Indicatore_ChiamataR4='Z' --clcompl=Z +and Profilo>0 -- profilo non scaduto +and isnull(Rfa_tot,0.00)=0.00 --rfa totale =0 +and isnull(Riserva,0.00)>0.00 -- riserva >0 +update C6MartPeriodico.W6CKADEG +set Adeg_Check='S' +where Indicatore_ChiamataR4='Z' --clcompl=Z +and Profilo>0 -- profilo non scaduto +and isnull(Rfa_tot,0.00)<>0.00 +----Clienti Solo CC +--drop table if exists #clienti_soloCC +--SELECT DISTINCT RETE, Cod_fiscale +--into #clienti_soloCC +--FROM C6MartPeriodico.PATRIMONIO_BF +--WHERE TIPO_PRODOTTO = 'CC' AND ID_AREA = 'liq' +--AND Cod_fiscale NOT IN ( +-- SELECT Cod_fiscale +-- FROM C6MartPeriodico.PATRIMONIO_BF +-- WHERE (TIPO_PRODOTTO <> 'CC' OR ID_AREA <> 'liq') +--) +--update a +--set a.Adeg_Check='S' +--from C6MartPeriodico.W6CKADEG a +--inner join #clienti_soloCC cc +--on a.rete=cc.rete and a.Chiave_Acn=cc.cod_fiscale +--where a.Indicatore_ChiamataR4='Z' --clcompl=Z +--and a.Profilo>0 -- profilo non scaduto +--and isnull(Rfa_tot,0.00)<>0.00 --rfa totale <>0 +---- Clienti prodotti Fuori perimetro +-- drop table if exists #clienti_prodotti_fuori_adeg +-- drop table if exists #clienti_prodotti_fuori_adeg2 +-- select rete,cod_fiscale, count(senza.CodInterno) as Contatore_Prodotti_fuori_Adeguatezza,count(patr.cod_Interno) as contatore_tutti_prodotti +-- into #clienti_prodotti_fuori_adeg +-- from c6martperiodico.patrimonio_bf patr +-- left join [C6StagingPeriodico].[Prodotti_Fuori_Adeguatezza] senza +-- on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto +-- group by rete,COD_FISCALE +-- select rete,cod_fiscale,Contatore_Prodotti_fuori_Adeguatezza,contatore_tutti_prodotti +-- into #clienti_prodotti_fuori_adeg2 +-- from #clienti_prodotti_fuori_adeg +-- where Contatore_Prodotti_fuori_Adeguatezza=contatore_tutti_prodotti +---- select * from #clienti_prodotti_fuori_adeg2 +-- update a +--set a.Adeg_Check='S' +--from C6MartPeriodico.W6CKADEG a +--inner join #clienti_prodotti_fuori_adeg2 cc +--on a.rete=cc.rete and a.Chiave_Acn=cc.cod_fiscale +--where a.Indicatore_ChiamataR4='Z' --clcompl=Z +--and a.Profilo>0 -- profilo non scaduto +--and isnull(Rfa_tot,0.00)<>0.00 --rfa totale <>0 +----EC -1 +--update C6MartPeriodico.W6CKADEG +--set Adeg_Check='S' +--where Indicatore_ChiamataR4='Z' --clcompl=Z +--and Profilo>0 -- profilo non scaduto +--and isnull(Rfa_tot,0.00)<>0.00 --rfa totale =0 +--and Profilo_EC='-1' +----Flag Legali Rappresentanti +--update C6MartPeriodico.W6CKADEG +--set Adeg_Check='S' +--where Indicatore_ChiamataR4='Z' --clcompl=Z +--and Profilo>0 -- profilo non scaduto +--and isnull(Rfa_tot,0.00)<>0.00 --rfa totale =0 +--and Flg_Legali_Rappresentanti='S' +--SI +--NO +--NA Non Applicabile +--NR Non restituito, Professionale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_W6CLIESG.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_W6CLIESG.sql new file mode 100644 index 00000000..13b22611 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_W6CLIESG.sql @@ -0,0 +1,154 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_W6CLIESG] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_W6CLIESG', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- declare @data varchar(8) +--set @data= [C6MartPeriodico].[getTrimestre2](getdate(),0) + TRUNCATE TABLE C6MartPeriodico.W6CLIESG + INSERT INTO [C6MartPeriodico].[W6CliESG] + ( + [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[U_PREFSOST] + ,[FLAGSFDR] + ,[FLAGTAXO] + ,[FLAGPAI] + ,[SFDR_PERC] + ,[TAXO_PERC] + ,[PAI_A01] + ,[PAI_A02] + ,[PAI_A03] + ,[PAI_A04] + ,[PAI_A05] + ,[PAI_A07] + ,[PAI_A08] + ,[PAI_S01] + ,[PAI_S02] + ,[PAI_A1] + ,[PAI_A2] + ,[PAI_A3] + ,[PAI_A4] + ,[PAI_A5] + ,[PAI_A7] + ,[PAI_A8] + ,[PAI_S1] + ,[PAI_S2] + ,[PAI_A] + ,[PAI_S] + ,[PAI_NO_DETT] + ,[PERC1ESG] + ,[PERCAMB] + ,[PERCSOC] + ,[PERCGOV] + ,[PERCAMB_OK] + ,[PERCSOC_OK] + ,[PERCGOV_OK] + ,[SFDR_PERCT] + ,[SFDR_PERC_OK] + ,[TAXO_PERCT] + ,[TAXO_PERC_OK] + ,[PAIA_PERCT] + ,[PAIA_PERC_OK] + ,[PAIS_PERCT] + ,[PAIS_PERC_OK]) + SELECT distinct + [DTTRIM] + ,[RETE] + ,case when CODMAN<>'' then 'FF@'+CODMAN + else CODFIS end as COD_FISCALE + ,[CODMAN] + ,[U_PREFSOST] + ,[FLAGSFDR] + ,[FLAGTAXO] + ,[FLAGPAI] + ,[SFDR_PERC] + ,[TAXO_PERC] + ,[PAI_A01] + ,[PAI_A02] + ,[PAI_A03] + ,[PAI_A04] + ,[PAI_A05] + ,[PAI_A07] + ,[PAI_A08] + ,[PAI_S01] + ,[PAI_S02] + ,CASE WHEN PAI_A01 = 'S' THEN 'Emissioni gas serra' ELSE '' END AS PAI_A1, + CASE WHEN PAI_A02 = 'S' THEN 'Biodiversita''' ELSE '' END AS PAI_A2, + CASE WHEN PAI_A03 = 'S' THEN 'Acqua' ELSE '' END AS PAI_A3, + CASE WHEN PAI_A04 = 'S' THEN 'Rifiuti' ELSE '' END AS PAI_A4, + CASE WHEN PAI_A05 = 'S' THEN 'Governativi di tipo Ambientale' ELSE '' END AS PAI_A5, + --CASE + -- WHEN PAI_A06 = 'S' THEN 'Combustibili Fossili' + -- ELSE '' + --END AS PAI_A06, + CASE WHEN PAI_A07 = 'S' THEN 'Settore Immobiliare' ELSE '' END AS PAI_A7,-- prima era Efficienza energetica ma deprecato + CASE WHEN PAI_A08 = 'S' THEN 'Settore Immobiliare' ELSE '' END AS PAI_A8, + CASE WHEN PAI_S01 = 'S' THEN 'Questioni Sociali e dei Dipendenti' ELSE '' END AS PAI_S1, + CASE WHEN PAI_S02 = 'S' THEN 'Governativi di tipo Sociale' ELSE '' END AS PAI_S2, + CONCAT_WS(', ', + NULLIF(CASE WHEN PAI_A01 = 'S' THEN 'Emissioni gas serra' ELSE '' END, ''), + NULLIF(CASE WHEN PAI_A02 = 'S' THEN 'Biodiversita''' ELSE '' END, ''), + NULLIF(CASE WHEN PAI_A03 = 'S' THEN 'Acqua' ELSE '' END, ''), + NULLIF(CASE WHEN PAI_A04 = 'S' THEN 'Rifiuti' ELSE '' END, ''), + --NULLIF(CASE WHEN PAI_A06 = 'S' THEN 'Combustibili Fossili' ELSE '' END, ''), -- Commentato + NULLIF(CASE WHEN PAI_A07 = 'S' THEN 'Settore Immobiliare' ELSE '' END, ''),-- prima era Efficienza energetica + NULLIF(CASE WHEN PAI_A08 = 'S' THEN 'Settore Immobiliare' ELSE '' END, ''), + NULLIF(CASE WHEN PAI_A05 = 'S' THEN 'Governativi di tipo Ambientale' ELSE '' END, '') + ) AS PAI_A, + -- Concatenazione del campo PAI_S (ritorna '' se tutti i campi sono vuoti) + CONCAT_WS(', ', + NULLIF(CASE WHEN PAI_S01 = 'S' THEN 'Questioni Sociali e dei Dipendenti' ELSE '' END, ''), + NULLIF(CASE WHEN PAI_S02 = 'S' THEN 'Governativi di tipo Sociale' ELSE '' END, '') + ) AS PAI_S, + [PAI_NO_DETT] + ,[PERC1ESG] + ,[PERCAMB] + ,[PERCSOC] + ,[PERCGOV] + ,[PERCAMB_OK] + ,[PERCSOC_OK] + ,[PERCGOV_OK] + ,[SFDR_PERCT] + ,[SFDR_PERC_OK] + ,[TAXO_PERCT] + ,[TAXO_PERC_OK] + ,[PAIA_PERCT] + ,[PAIA_PERC_OK] + ,[PAIS_PERCT] + ,[PAIS_PERC_OK] + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6CliESG] + --where + --DTTRIM=@data + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_W6CliESG' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_W6CliESG' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_W6IndPtf.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_W6IndPtf.sql new file mode 100644 index 00000000..f01ebc1a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_W6IndPtf.sql @@ -0,0 +1,81 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_W6IndPtf] +as +begin +exec [dbo].[CreaTabellaBackUp] 'W6IndPtf','C6MartPeriodico' +declare @countAppoLimiter int +select @countAppoLimiter= count(*) from C6StagingPeriodico.APPO_CONTRATTI_LIMITER +drop table if exists #tot +if(@countAppoLimiter=0) +begin +truncate table C6MartPeriodico.W6IndPtf +INSERT INTO [C6MartPeriodico].[W6IndPtf] + ([DTTRIM] + ,[RETE] + ,[CHIAVE_ACN] + ,[CODFIS] + ,[CODMAN] + ,[PTF_DIVERSIFICATO] + ,[PTF_ADEGUATO] + ,[BLACKLIST] + ,[DATA_ORA_INSE] + ,[DATA_ORA_AGGI]) +select +distinct +ad.Dttrim, +ad.Rete, +ad.Chiave_Acn as Chiave_Acn, +ad.Codfis, +ad.Codman, +case when isnull(ptf.flg_NonDiv,'N')='S' then 'N' else 'S' end as flg_NonDiv, +ad.adeg_check, +case when e.rete IS not null then 'S' else 'N' end as Blacklist, +NULL as DATA_ORA_INSE, +NULL as DATA_ORA_AGGI +from C6MartPeriodico.W6CKADEG ad +inner join C6StagingPeriodico.appo_contratti appo +on appo.rete=ad.Rete and appo.cod_fiscale=ad.Chiave_Acn +left join C6MartPeriodico.RP_ClientiPtfNonDiv ptf +on ad.Rete=ptf.rete and ad.Chiave_Acn=ptf.chiave_acn +left join (select distinct rete,codicefiscale from C6MartPeriodico.ExcludedList) e on ad.Rete=e.Rete and ad.Chiave_Acn=e.codicefiscale +WHERE appo.tip_contratto<>'3' +end +--select distinct * from C6MartPeriodico.W6IndPtf +else +delete from [C6MartPeriodico].[W6IndPtf] where rete+CHIAVE_ACN in (select rete+cod_fiscale from C6StagingPeriodico.APPO_CONTRATTI_LIMITER) +INSERT INTO [C6MartPeriodico].[W6IndPtf] + ([DTTRIM] + ,[RETE] + ,[CHIAVE_ACN] + ,[CODFIS] + ,[CODMAN] + ,[PTF_DIVERSIFICATO] + ,[PTF_ADEGUATO] + ,[BLACKLIST] + ,[DATA_ORA_INSE] + ,[DATA_ORA_AGGI]) +select +distinct +ad.Dttrim, +ad.Rete, +ad.Chiave_Acn as Chiave_Acn, +ad.Codfis, +ad.Codman, +case when isnull(ptf.flg_NonDiv,'N')='S' then 'N' else 'S' end as flg_NonDiv, +ad.adeg_check, +case when e.rete IS not null then 'S' else 'N' end as Blacklist, +NULL as DATA_ORA_INSE, +NULL as DATA_ORA_AGGI +from C6MartPeriodico.W6CKADEG ad +inner join C6StagingPeriodico.APPO_CONTRATTI_LIMITER appo_lim +on appo_lim.rete=ad.Rete and appo_lim.cod_fiscale=ad.Chiave_Acn +left join C6StagingPeriodico.APPO_CONTRATTI appo +on appo.rete=ad.Rete and appo.cod_fiscale=ad.Chiave_Acn +left join C6MartPeriodico.RP_ClientiPtfNonDiv ptf +on ad.Rete=ptf.rete and ad.Chiave_Acn=ptf.chiave_acn +left join (select distinct rete,codicefiscale from C6MartPeriodico.ExcludedList) e on ad.Rete=e.Rete and ad.Chiave_Acn=e.codicefiscale +WHERE appo.tip_contratto<>'3' +--SI +--NO +--NA Non Applicabile +--NR Non restituito, Professionale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_WSEIAN2.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_WSEIAN2.sql new file mode 100644 index 00000000..d1337261 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_WSEIAN2.sql @@ -0,0 +1,96 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_WSEIAN2] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +exec [dbo].[CreaTabellaBackUp] 'wseian2','C6MartPeriodico' +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +truncate table c6martperiodico.wseian2 +INSERT INTO [C6MartPeriodico].[wseian2] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[PIVA] + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF] + ,[DTINVAL] + ,[CODMAN] + ,[CLASSERC] + ,[COD_PROFEC] + ,[FLAGPG] + ,[CLCOMPL] + ,[FLGCONC] + ,[FLAGNQP] + ,[FLGPRLRDE] + ,[FLGPROF] + ,[DTFINVAL] + ,[CONCEMI] + ,[FREQ] + ,[LLIQUID] + ,[PREFSOST] + ,[FLAGAMB] + ,[FLAGSOC] + ,[FLAGGOV] + ,[ADEGCONC_VALUT] + ,[SOGLIAESG] + ,[COERENZA] + ,[RISERVA] + ,[INVL_PERIOD] + ,[MAXCOMPL] + ,[NOCOMPL] + ,[SPESA_FORZATA] + ,[PERC_ILP] + ,[IMP_RISERVA]) +SELECT [DTTRIM] + ,[RETE] + ,case when codman<>'' then 'FF@'+codman else [CODFIS] end as CODFIS + ,case when LEN(codfis)<16 then codfis else '' end as PIVA + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF] + ,[DTINVAL] + ,[CODMAN] + ,[CLASSERC] + ,[COD_PROFEC] + ,[FLAGPG] + ,[CLCOMPL] + ,[FLGCONC] + ,[FLAGNQP] + ,[FLGPRLRDE] + ,[FLGPROF] + ,[DTFINVAL] + ,[CONCEMI] + ,[FREQ] + ,[LLIQUID] + ,[PREFSOST] + ,[FLAGAMB] + ,[FLAGSOC] + ,[FLAGGOV] + ,[ADEGCONC_VALUT] + ,[SOGLIAESG] + ,[COERENZA] + ,[RISERVA] + ,[INVL_PERIOD] + ,[MAXCOMPL] + ,[NOCOMPL] + ,[SPESA_FORZATA] + ,[PERC_ILP] + ,[IMP_RISERVA] + FROM [C6StagingPeriodico].[WSEIAN2] + -- where DTTRIM=@DataFineTrim +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_WSEICAP.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_WSEICAP.sql new file mode 100644 index 00000000..2690534c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_WSEICAP.sql @@ -0,0 +1,74 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_WSEICAP] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_WSEICAP', + GETDATE(), + 'Elaborazione trimestrale' + ) + declare @data varchar(8) +set @data= [C6MartPeriodico].[getTrimestre2](getdate(),0) + TRUNCATE TABLE C6MartPeriodico.WSEICAP + INSERT INTO C6MartPeriodico.[WSEICAP] + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[COD_FISCALE] + ,[CODCONF] + ,[SUBPROD] + ,[ISIN] + ,[DTINIZ] + ,[DTFINE] + ,[CTV_COMMIT] + ,[IMPVERS] + ,[IMPRES] + ,[DESCPROD] + ,[SGR]) + SELECT distinct [DTTRIM] + ,[DTRIFE] + ,[RETE] + ,case when CODMAN<>'' then 'FF@'+CODMAN + else CODFIS end as COD_FISCALE + ,[CODCONF] + ,[SUBPROD] + ,CASE + WHEN ISIN IS NULL OR ISIN = '' THEN 'NA' + ELSE ISIN + END AS ISIN + ,[DTINIZ] + ,[DTFINE] + ,[CTV_COMMIT] + ,[IMPVERS] + ,[IMPRES] + ,[DESCPROD] + ,[SGR] + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICAP] + where + DTTRIM=@data + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_WSEICAP' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_WSEICAP' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_WSEICC.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_WSEICC.sql new file mode 100644 index 00000000..33f5da29 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_WSEICC.sql @@ -0,0 +1,55 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_WSEICC] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_WSEICC', + GETDATE(), + 'Elaborazione trimestrale' + ) + declare @data varchar(8) +set @data= [C6MartPeriodico].[getTrimestre2](getdate(),0) + TRUNCATE TABLE C6MartPeriodico.WSEICC + INSERT INTO C6MartPeriodico.[WSEICC] + ([DTTRIM] + ,[RETE] + ,[COD_FISCALE] + ,[CODCONFC] + ,[CODCONFPR] + ,[is_APC]) + SELECT distinct [DTTRIM] + ,[RETE] + ,case when CODMAN<>'' then 'FF@'+CODMAN + else CODFIS end + ,[CODCONFC] + ,[CODCONFPR] + ,'S' + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICC] + where + DTTRIM=@data + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_WSEICC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_WSEICC' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_DM_WSEIRPF.sql b/sql/storedProduzione/C6MartPeriodico_RP_DM_WSEIRPF.sql new file mode 100644 index 00000000..7112aeef --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_DM_WSEIRPF.sql @@ -0,0 +1,100 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_WSEIRPF] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + SELECT + rpf.[dttrim] + ,rpf.[rete] + ,case when rpf.codman <>'' then 'FF@'+rpf.codman else rpf.codfis end as chiave_acn + ,rpf.[codfis] + ,rpf.[codman] + ,rpf.[flgprof] + ,rpf.[flgec] + ,rpf.[data_ora_refresh] + ,rpf.[data_ora_inse] + ,rpf.[data_ora_aggi] + into #WSEIRPF_temp + FROM [C6StagingPeriodico].[WSEIRPF] rpf + where rpf.flgprof in ('P','S') and rpf.dttrim=@DataFineTrim + SELECT + rpf.[dttrim] + ,rpf.[rete] + ,rpf.chiave_acn + ,rpf.[codfis] + ,rpf.[codman] + ,rpf.[flgprof] + ,rpf.[flgec] + ,rpf.[data_ora_refresh] + ,rpf.[data_ora_inse] + ,rpf.[data_ora_aggi] + ,case when ac.TIP_CONTRATTO=3 then 'S' else 'N' end as isDirect + into #WSEIRPF + from #WSEIRPF_temp rpf + inner join C6StagingPeriodico.APPO_CONTRATTI AC + on rpf.rete=AC.rete and rpf.chiave_acn=AC.COD_FISCALE + SELECT + rpf.[dttrim] + ,rpf.[rete] + ,rpf.chiave_acn + ,rpf.[codfis] + ,rpf.[codman] + ,rpf.[flgprof] + ,rpf.[flgec] + ,rpf.[data_ora_refresh] + ,rpf.[data_ora_inse] + ,rpf.[data_ora_aggi] + ,rpf.isDirect + into #WSEI + FROM #WSEIRPF rpf + inner join C6MartPeriodico.wseian2 an2 on rpf.rete+rpf.chiave_acn=an2.rete+an2.codfis + where rpf.flgprof='P' and rpf.dttrim=@DataFineTrim and CODPROF='0' and isDirect='N' + union all + SELECT + rpf.[dttrim] + ,rpf.[rete] + ,rpf.chiave_acn + ,rpf.[codfis] + ,rpf.[codman] + ,rpf.[flgprof] + ,rpf.[flgec] + ,rpf.[data_ora_refresh] + ,rpf.[data_ora_inse] + ,rpf.[data_ora_aggi] + ,rpf.isDirect + FROM #WSEIRPF rpf + inner join C6MartPeriodico.wseian2 an2 on rpf.rete+rpf.chiave_acn=an2.rete+an2.codfis + inner join C6MartPeriodico.vPatrimonioBFAggregato patr on patr.rete=rpf.rete and patr.cod_fiscale=rpf.chiave_acn + where rpf.flgprof='P' and rpf.dttrim=@DataFineTrim and CODPROF='0' and isDirect='S' --and ctv>=10000 +truncate table c6martperiodico.wseirpf +INSERT INTO [C6MartPeriodico].[wseirpf]( + [dttrim] + ,[rete] + ,[chiave_acn] + ,[codfis] + ,[codman] + ,[flgprof] + ,[flgec] + ,[data_ora_refresh] + ,[data_ora_inse] + ,[data_ora_aggi]) + SELECT + ws.[dttrim] + ,ws.[rete] + ,WS.chiave_acn + ,ws.[codfis] + ,ws.[codman] + ,ws.[flgprof] + ,ws.[flgec] + ,ws.[data_ora_refresh] + ,ws.[data_ora_inse] + ,ws.[data_ora_aggi] + FROM #WSEI WS + inner join C6StagingPeriodico.APPO_CONTRATTI AC + on WS.rete=AC.rete and WS.chiave_acn=AC.COD_FISCALE + drop table if exists #WSEIRPF + drop table if exists #WSEI +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql b/sql/storedProduzione/C6MartPeriodico_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql new file mode 100644 index 00000000..d233d219 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql @@ -0,0 +1,90 @@ +--SELECT TOP 1 * FROM C6MartPeriodico.VCONTRATTI +--[C6MartPeriodico].[GESTIONE_SELECT_LETTERE_DA_INVIARE]'F','AA@55670',1,-1 +CREATE procedure [C6MartPeriodico].[RP_GESTIONE_SELECT_LETTERE_DA_INVIARE] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' +AS +BEGIN + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() +--declare @prova as varchar(10) +--select @prova = 'AA@55670' +--select @prova +--select charindex('@',@prova) + SELECT + dbo.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, + --aclie.cognome as cognome, + csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.PROVINCIA end as provincia, + csei.cap as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + dbo.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_MONITORAGGIO, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.DATA_INZIOAVANZATO, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) as testo, + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma + FROM + [C6MartPeriodico].[TESTO_LETTERA_ACCETTAZIONE] tla, + [C6MartPeriodico].[VCONTRATTI] csei + JOIN + C6MartPeriodico.CONTRATTOSEI_METADATI META + ON + META.CHIAVECLIENTEPB= CSEI.CHIAVECLIENTEPB + INNER JOIN + [C6MartPeriodico].[ANAG_CLIENTI] aclie + on + csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + LEFT OUTER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP gpdf + on + gpdf.rete = csei.rete and + gpdf.codiceFiscale = csei.cod_fiscale + WHERE + csei.rete = @rete and + csei.cod_Fiscale = @cf and + csei.data_fineAvanzato > getDate() and + tla.id = @codiceLettera and + (gpdf.idReport = @idReport or @idreport = -1) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli.sql b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli.sql new file mode 100644 index 00000000..425218ad --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli.sql @@ -0,0 +1,44 @@ +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +--[C6MartPeriodico].[PROM_TuttiIPortafogli] +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,cast([CtvNominale] as varchar) as CtvNominale + ,cast([CtvReale] as varchar) as CtvReale +FROM ( + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6MartPeriodico].[RP_vTuttiIPortafogli] + union all + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6MartPeriodico].[RP_vTuttiIPortafogli_ccLiq] +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2.sql b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2.sql new file mode 100644 index 00000000..359bf45e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2.sql @@ -0,0 +1,59 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT + -- descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] +FROM ( + SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_ccLiq] +) T +--where t.codicefiscale <> 'MNTGFR35R06G337T' +--where ((t.rete = 'F' +--and t.codicefiscale > 'KRLPBL79L31Z107U') +--or (t.rete = 'S')) +---------------------------------------------------------------- +-- excluded for T2_L1 and T2_L2 to bypass Prometeia dtsx failure +--where T.codicefiscale <> 'RNLRLD71D19G492V' +---------------------------------------------------------------- +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170409_TEST.sql b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170409_TEST.sql new file mode 100644 index 00000000..7c9bf495 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170409_TEST.sql @@ -0,0 +1,59 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20170409_TEST] + -- Add the parameters for the stored procedure here +AS +BEGIN +select *, row_number() over(order by CodiceFiscale, Rete, Portafoglio) as myrank into #tmp from +( +SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Martperiodico].[RP_vTuttiIPortafogli] + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Martperiodico].[RP_vTuttiIPortafogli_ccLiq] + )x +SELECT + CodiceFiscale, rete + into #ranking + from #tmp +group by CodiceFiscale, rete +having max(myrank) <= 1600000 + CREATE INDEX IDX_ranking_CodiceFiscale ON #ranking(CodiceFiscale, Rete) + CREATE INDEX IDX_temp_CodiceFiscale ON #tmp(CodiceFiscale, Rete) +select t.[Rete] + ,t.[CodiceFiscale] + ,t.[Portafoglio] + ,t.[CodiceProdotto] + ,t.[Piazza] + ,t.[CodiceValuta] + ,t.[Classe] + ,t.[CtvNominale] + ,t.[CtvReale] + from +#tmp t inner join #ranking r on r.Rete = t.rete and r.CodiceFiscale = t.CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410.sql b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410.sql new file mode 100644 index 00000000..94c256f1 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410.sql @@ -0,0 +1,55 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20170410] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT + -- descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] +FROM ( + SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_ccLiq] +) T +--where t.codicefiscale <> 'MNTGFR35R06G337T' +--where ((t.rete = 'F' +--and t.codicefiscale > 'KRLPBL79L31Z107U') +--or (t.rete = 'S')) +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410_EXCLCF.sql b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410_EXCLCF.sql new file mode 100644 index 00000000..cfd57a81 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410_EXCLCF.sql @@ -0,0 +1,52 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_2070410_EXCLCF] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT + -- descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] +FROM ( + SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_ccLiq] +) T +where t.codicefiscale <> 'RNLRLD71D19G42V' +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170421_EXCL_CF.sql b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170421_EXCL_CF.sql new file mode 100644 index 00000000..37439fb6 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170421_EXCL_CF.sql @@ -0,0 +1,56 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20170421_EXCL_CF] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT + -- descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] +FROM ( + SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_ccLiq] +) T +--where t.codicefiscale <> 'MNTGFR35R06G337T' +--where ((t.rete = 'F' +--and t.codicefiscale > 'KRLPBL79L31Z107U') +--or (t.rete = 'S')) +where T.codicefiscale <> 'RNLRLD71D19G492V' +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20180615_NewMotorePrometeia.sql b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20180615_NewMotorePrometeia.sql new file mode 100644 index 00000000..e0aaf98a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20180615_NewMotorePrometeia.sql @@ -0,0 +1,74 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20180615_NewMotorePrometeia] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT + -- descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] +FROM ( + SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_ccLiq] +) T +--esclusioni per errore nuovo servizio indicatori del 14-15/6/2018 +where t.rete+t.codicefiscale not in +('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', +'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', +'SPCFMRA79D52I197L','SSNTLGU56A23L334O' +) +--where t.codicefiscale <> 'MNTGFR35R06G337T' +--where ((t.rete = 'F' +--and t.codicefiscale > 'KRLPBL79L31Z107U') +--or (t.rete = 'S')) +---------------------------------------------------------------- +-- excluded for T2_L1 and T2_L2 to bypass Prometeia dtsx failure +--where T.codicefiscale = 'BGIRUI39M03G687X' +---------------------------------------------------------------- +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore.sql b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore.sql new file mode 100644 index 00000000..d342478d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore.sql @@ -0,0 +1,161 @@ +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore] + -- Add the parameters for the stored procedure here +AS +BEGIN +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + -- ,case + --when [CtvNominale] < 0 then '0.00' + --else convert(varchar(20),[CtvNominale]) + -- end as [CtvNominale] + -- ,case + --when [CtvReale] < 0 then '0.00' + --else convert(varchar(20),[CtvReale]) + -- end as [CtvReale] + --orig: + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 +FROM +( + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore_newkey]-- where codicefiscale='MCHMNP63R51A794U' + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + -- and rete+codicefiscale not in + --('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + --'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + --'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--and rete+codicefiscale<>'FMCHMNP63R51A794U' +--********************ELIMINARE***************** + --and rete+codicefiscale <> 'FMCHMNP63R51A794U' +--********************ELIMINARE***************** + --and rete+codicefiscale <> 'SFRGMGH37R50G778A' +and portafoglio not like '%||%' + UNION + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore_newkey] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + -- and rete+codicefiscale not in + --('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + --'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + --'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--and rete+codicefiscale<>'FMCHMNP63R51A794U' +--********************ELIMINARE***************** + --and rete+codicefiscale <> 'FMCHMNP63R51A794U' +--********************ELIMINARE***************** + --and rete+codicefiscale <> 'SFRGMGH37R50G778A' +and portafoglio not like '%||%' + UNION + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore_newkey] + -- Fine Modifica del 18/10/2018 + where ([Portafoglio] like '%COMPLESSIVO|TERZI%' or [Portafoglio] like '%COMPLESSIVO|BF%') + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + -- and rete+codicefiscale not in + --('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + --'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + --'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +-- and rete+codicefiscale<>'FMCHMNP63R51A794U' +--********************ELIMINARE***************** + --and rete+codicefiscale <> 'FMCHMNP63R51A794U' +--********************ELIMINARE***************** + --and rete+codicefiscale <> 'SFRGMGH37R50G778A' +and portafoglio not like '%||%' +) T +--where rete+codicefiscale in ('SPLLGNN70P12D612D','SPLLGPP42H19D730M','SPLLGNN70P12D612D_BF','SPLLGPP42H19D730M_BF','SPLLGNN70P12D612D_TERZI','SPLLGPP42H19D730M_TERZI') +order by rete,codiceFiscale,Portafoglio +--select rete,codiceFiscale,Portafoglio +--FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] +--order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180711_AZZERARE_CTV_NEGATIVI.sql b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180711_AZZERARE_CTV_NEGATIVI.sql new file mode 100644 index 00000000..ab661d13 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180711_AZZERARE_CTV_NEGATIVI.sql @@ -0,0 +1,140 @@ +--ELIMINARE WHERE CONDITION SUL CODICE FISCALE NELLE SELECT INTERNE +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_20180711_AZZERARE_CTV_NEGATIVI] + -- Add the parameters for the stored procedure here +AS +BEGIN +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + -- ,case + --when [CtvNominale] < 0 then '0.00' + --else convert(varchar(20),[CtvNominale]) + -- end as [CtvNominale] + -- ,case + --when [CtvReale] < 0 then '0.00' + --else convert(varchar(20),[CtvReale]) + -- end as [CtvReale] + --orig: + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 +FROM +( + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where ([Portafoglio] like '%COMPLESSIVO|TERZI%' or [Portafoglio] like '%COMPLESSIVO|BF%') + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180719_preAzzeramentoCCNeg.sql b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180719_preAzzeramentoCCNeg.sql new file mode 100644 index 00000000..552136e0 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180719_preAzzeramentoCCNeg.sql @@ -0,0 +1,86 @@ +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_20180719_preAzzeramentoCCNeg] + -- Add the parameters for the stored procedure here +AS +BEGIN +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] +FROM +( + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') + UNION + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') + UNION + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where ([Portafoglio] like '%COMPLESSIVO|TERZI%' or [Portafoglio] like '%COMPLESSIVO|BF%') + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018.sql b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018.sql new file mode 100644 index 00000000..8635b6f5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018.sql @@ -0,0 +1,140 @@ +--ELIMINARE WHERE CONDITION SUL CODICE FISCALE NELLE SELECT INTERNE +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_20181018] + -- Add the parameters for the stored procedure here +AS +BEGIN +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + -- ,case + --when [CtvNominale] < 0 then '0.00' + --else convert(varchar(20),[CtvNominale]) + -- end as [CtvNominale] + -- ,case + --when [CtvReale] < 0 then '0.00' + --else convert(varchar(20),[CtvReale]) + -- end as [CtvReale] + --orig: + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 +FROM +( + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where ([Portafoglio] like '%COMPLESSIVO|TERZI%' or [Portafoglio] like '%COMPLESSIVO|BF%') + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018_SingoloCF.sql b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018_SingoloCF.sql new file mode 100644 index 00000000..81bc2f16 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018_SingoloCF.sql @@ -0,0 +1,140 @@ +--ELIMINARE WHERE CONDITION SUL CODICE FISCALE NELLE SELECT INTERNE +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore] + -- Add the parameters for the stored procedure here +AS +BEGIN +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + -- ,case + --when [CtvNominale] < 0 then '0.00' + --else convert(varchar(20),[CtvNominale]) + -- end as [CtvNominale] + -- ,case + --when [CtvReale] < 0 then '0.00' + --else convert(varchar(20),[CtvReale]) + -- end as [CtvReale] + --orig: + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 +FROM +( + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale = 'FTMRSNN57T52L424E' +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale = 'FTMRSNN57T52L424E' +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where ([Portafoglio] like '%COMPLESSIVO|TERZI%' or [Portafoglio] like '%COMPLESSIVO|BF%') + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale = 'FTMRSNN57T52L424E' +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_IN.sql b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_IN.sql new file mode 100644 index 00000000..85286ea3 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_IN.sql @@ -0,0 +1,149 @@ +--ELIMINARE WHERE CONDITION SUL CODICE FISCALE NELLE SELECT INTERNE +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_IN] + -- Add the parameters for the stored procedure here +AS +BEGIN +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + -- ,case + --when [CtvNominale] < 0 then '0.00' + --else convert(varchar(20),[CtvNominale]) + -- end as [CtvNominale] + -- ,case + --when [CtvReale] < 0 then '0.00' + --else convert(varchar(20),[CtvReale]) + -- end as [CtvReale] + --orig: + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 +FROM +( + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where ([Portafoglio] like '%COMPLESSIVO|TERZI%' or [Portafoglio] like '%COMPLESSIVO|BF%') + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_ORIGINALE.sql b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_ORIGINALE.sql new file mode 100644 index 00000000..24b967dd --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_ORIGINALE.sql @@ -0,0 +1,149 @@ +--ELIMINARE WHERE CONDITION SUL CODICE FISCALE NELLE SELECT INTERNE +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_ORIGINALE] + -- Add the parameters for the stored procedure here +AS +BEGIN +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + -- ,case + --when [CtvNominale] < 0 then '0.00' + --else convert(varchar(20),[CtvNominale]) + -- end as [CtvNominale] + -- ,case + --when [CtvReale] < 0 then '0.00' + --else convert(varchar(20),[CtvReale]) + -- end as [CtvReale] + --orig: + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 +FROM +( + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where ([Portafoglio] like '%COMPLESSIVO|TERZI%' or [Portafoglio] like '%COMPLESSIVO|BF%') + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli_pre_selective.sql new file mode 100644 index 00000000..4f4dfc91 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_PROM_TuttiIPortafogli_pre_selective.sql @@ -0,0 +1,44 @@ +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +--[C6MartPeriodico].[PROM_TuttiIPortafogli] +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli_pre_selective] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,cast([CtvNominale] as varchar) as CtvNominale + ,cast([CtvReale] as varchar) as CtvReale +FROM ( + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6MartPeriodico].[RP_vTuttiIPortafogli] + union all + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6MartPeriodico].[RP_vTuttiIPortafogli_ccLiq] +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_SRV_CHECK_C6_GIORNALIERO.sql b/sql/storedProduzione/C6MartPeriodico_RP_SRV_CHECK_C6_GIORNALIERO.sql new file mode 100644 index 00000000..05cfac2a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_SRV_CHECK_C6_GIORNALIERO.sql @@ -0,0 +1,588 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_SRV_CHECK_C6_GIORNALIERO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --V Esegue la procedura di estrazione dei CC + EXEC [C6MartPeriodico].[RP_SRV_ESTRAZ_GIORNALIERA_CC] + -- Report generati + SELECT + C.Rete, + C.Cod_Agente, + case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else C.Cod_Fiscale end as Cod_fiscale, + C.Data_Perf + INTO #ReportGenerati + FROM + C6MartPeriodico.GESTIONE_PDF_FTP AS GPF + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] AS C + ON GPF.RETE = C.Rete + AND GPF.CODICEFISCALE = C.Cod_Fiscale + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND Data_FineAvanzato > getDate() + ORDER BY + C.Rete, + C.Cod_Agente, + C.Cod_Fiscale + -- Report non generati + SELECT + Rete, + Cod_Agente, + case when Cod_Fiscale like '%@%' then piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else Cod_Fiscale end as Cod_fiscale, + Data_Perf, + 'Ragione:' + CASE + WHEN ClienteMigrato = 'N' THEN ' Cliente non migrato' + ELSE '' + END + + CASE + WHEN RisorseNA = 'S' THEN ' Risorse non associate' + ELSE '' + END + + CASE + WHEN RisorseNA = 'N' and ClienteMigrato = 'S' and profiloAttivo = 0 THEN ' Profilo non attivo' + ELSE '' + END + /*+ CASE + WHEN PartViaDisinv = 'S' THEN ' Partite viaggianti disinvestimento' + ELSE '' + END*/ AS Ragione + INTO #ReportNonGenerati + FROM + C6MartPeriodico.vcontratti as CONTRATTOSEI + INNER JOIN C6MartPeriodico.ContrattoSEI_metadati AS M + on CONTRATTOSEI.chiaveclientepb = M.chiaveclientepb + WHERE + M.InvioBenvenuto = 'N' + AND DATEDIFF(d, Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND (ClienteMigrato = 'N' + OR RisorseNA = 'S' + --V Condizione per non generazione a causa di profilo non attivo + OR ProfiloAttivo = 0 + -- + /*OR PartViaDisinv = 'S'*/) + AND Data_FineAvanzato > getDate() + ORDER BY + Rete, + Cod_Agente, + Cod_Fiscale + -- Email + SELECT + CASE Tipo + WHEN 'PERF' THEN 'perfezionamento' + WHEN '1_SOLL_NOASS' THEN '1° sollecito risorse non associate' + WHEN '2_SOLL_NOASS' THEN '2° sollecito risorse non associate' + WHEN '3_SOLL_NOASS' THEN '3° sollecito risorse non associate' + WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + WHEN '1_SOLL_NOMIG' THEN '1° sollecito cliente non migrato' + WHEN '2_SOLL_NOMIG' THEN '2° sollecito cliente non migrato' + WHEN '3_SOLL_NOMIG' THEN '3° sollecito cliente non migrato' + WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + --V aggiunta tipo mail profilo non attivo + WHEN '1_SOLL_NOPRO' THEN '1° sollecito profilo non attivo' + WHEN '2_SOLL_NOPRO' THEN '2° sollecito profilo non attivo' + WHEN '3_SOLL_NOPRO' THEN '3° sollecito profilo non attivo' + WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + END AS Tipo, + COUNT(Tipo) AS Totale + INTO #EmailInviate + FROM + C6MartPeriodico.GESTIONE_EMAIL + WHERE + Inviata = 'S' + AND dbo.toShortDateString(Data_Invio) = dbo.toShortDateString(GETDATE()) + GROUP BY + Tipo + ORDER BY TIPO + -- Indirizzi più lunghi di 36 caratteri + SELECT + C.Rete, + Cod_Agente, + Cod_Fiscale, + Indirizzo, + LEN(Indirizzo) AS LunghezzaIndirizzo + INTO #IndirizziLunghi + FROM + C6MartPeriodico.vcontratti AS C + INNER JOIN C6MartPeriodico.GESTIONE_PDF_FTP AS GPF + ON C.Rete = GPF.RETE + AND C.Cod_Fiscale = GPF.CODICEFISCALE + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND LEN(Indirizzo) > 36 + ORDER BY + Rete, + Cod_Agente, + Cod_Fiscale + -- Prodotti non a catalogo + SELECT + RETE, + CODICEFISCALE, + CODICECONTRATTO + INTO #ProdNonInCat + FROM + C6Staging.SPB_CONTR_SINTESI + WHERE + POSITIONID IS NULL + -- VaR discordanti + SELECT + RA.RETE, + RA.COD_FISCALE, + RA.VAR_PERC_PTF, + VC.VAR_COMPLESSIVO_BF, + CASE + WHEN RA.VAR_PERC_PTF = VC.VAR_COMPLESSIVO_BF THEN 'OK' + ELSE 'KO' + END AS VAR_CORRETTO + INTO #VaRDiscordanti + FROM + C6MartPeriodico.RISCHIO_AGGREGATO AS RA + INNER JOIN VAR_CHECK AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE + WHERE + (RA.COD_AGGREG = 'COMPLESSIVO|BF') + ORDER BY + RA.RETE, + RA.COD_FISCALE + -- Posizioni in stato liquidato + SELECT + PB.RETE, + PB.COD_FISCALE, + ID_CONTRATTO + INTO #PosizioniStatoL + FROM + C6MartPeriodico.PATRIMONIO_BF AS PB + INNER JOIN #VaRDiscordanti AS VD + ON PB.RETE = VD.RETE + AND PB.COD_FISCALE = VD.COD_FISCALE + WHERE + PB.COD_STATO = 'L' + AND PB.CTV >= 0 + AND VD.VAR_CORRETTO = 'KO' + ORDER BY + PB.RETE, + PB.COD_FISCALE + -- Clienti senza data sottoscrizione + SELECT DISTINCT + PB.RETE, + C.COD_AGENTE, + PB.COD_FISCALE, + PB.ID_CONTRATTO + INTO #ClientiSenzaDataSott + FROM + C6MartPeriodico.vcontratti AS C + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PB + ON C.Rete = PB.RETE + AND C.Cod_Fiscale = PB.COD_FISCALE + INNER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON PB.RETE = RA.RETE + AND PB.COD_FISCALE = RA.COD_FISCALE + WHERE + PB.DATA_SOTTOSCRIZIONE IS NULL + AND PB.TIPO_PRODOTTO = 'DT' + -- Clienti senza piramide modello + SELECT + Rete, + Cod_Agente, + Cod_Fiscale + INTO #ClientiSenzaPiramideModello + FROM + C6MartPeriodico.vcontratti as CONTRATTOSEI + inner join + C6MartPeriodico.contrattosei_metadati as M + on CONTRATTOSEI.chiaveclientepb = m.chiaveclientepb + WHERE + Data_FineAvanzato < getDate() + AND inviobenvenuto = 'N' + AND clientemigrato = 'S' + AND risorseNA = 'N' + AND DATEDIFF(d, Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND Cod_Fiscale NOT IN ( + SELECT + COD_FISCALE + FROM + C6MartPeriodico.PIRAMIDE_MOD) + --scarti simpb contrattoSintesi + SELECT codiceFiscale,DATA_PERF + INTO #ClientiSenzaContrattoSintesi + FROM C6STAGING.SPB_SCARTI SPB + JOIN + C6MartPeriodico.RP_vContrattiMigrati C6 + ON + SPB.CODICEFISCALE = C6.COD_FISCALE + WHERE pacchettoSSIS = 'SPB_CONTRSINTESI' + --scarti simpb mifid + SELECT codiceFiscale,DATA_PERF + INTO #ClientiSenzaProfiloMIFID + FROM C6STAGING.SPB_SCARTI SPB + JOIN + C6MartPeriodico.RP_vContrattiMigrati C6 + ON + SPB.CODICEFISCALE = C6.COD_FISCALE + WHERE pacchettoSSIS = 'SPB_MIFID' + DECLARE @testoMail VARCHAR(MAX) + DECLARE @rete CHAR(1) + DECLARE @codiceAgente VARCHAR(6) + DECLARE @codiceFiscale VARCHAR(25) + DECLARE @data DATETIME + DECLARE @ragione VARCHAR(100) + DECLARE @tipo VARCHAR(100) + DECLARE @indirizzo VARCHAR(100) + DECLARE @totale INT + DECLARE @codiceContratto VARCHAR(11) + DECLARE @varPercPtf DECIMAL(5, 2) + DECLARE @varComplessivoBf DECIMAL(5, 2) + SET @testoMail = '' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Tipo, + Totale + FROM + #EmailInviate + OPEN reader + FETCH NEXT FROM reader INTO @tipo, @totale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @tipo, @totale + END + SET @testoMail = @testoMail + '
E-mail inviate:
' + @tipo + '' + CAST(@totale AS VARCHAR) + '
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Data_Perf + FROM + #ReportGenerati + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + END + SELECT @totale = COUNT(*) FROM #ReportGenerati + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Report generati:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Data_Perf, + Ragione + FROM + #ReportNonGenerati + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data, @ragione + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data, @ragione + END + SELECT @totale = COUNT(*) FROM #ReportNonGenerati + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Report non generati:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '' + @ragione + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Indirizzo, + LEN(Indirizzo) AS LunghezzaIndirizzo + FROM + #IndirizziLunghi + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @indirizzo, @totale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @indirizzo, @totale + END + SELECT @totale = COUNT(*) FROM #IndirizziLunghi + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Indirizzi più lunghi di 36 caratteri:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + @indirizzo + '' + CAST(@totale AS VARCHAR) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + CODICEFISCALE, + CODICECONTRATTO + FROM #ProdNonInCat + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #ProdNonInCat + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con prodotti non a catalogo:
' + @rete + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_FISCALE, + VAR_PERC_PTF, + VAR_COMPLESSIVO_BF + FROM + #VaRDiscordanti + WHERE + VAR_CORRETTO = 'KO' + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @varPercPtf, @varComplessivoBf + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @varPercPtf, @varComplessivoBf + END + SELECT @totale = COUNT(*) FROM #VaRDiscordanti WHERE VAR_CORRETTO = 'KO' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con VaR discordante:
' + @rete + '' + @codiceFiscale + '' + CAST(@varPercPtf AS VARCHAR) + '' + CAST(@varComplessivoBf AS VARCHAR) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_FISCALE, + ID_CONTRATTO + FROM + #PosizioniStatoL + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #PosizioniStatoL + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con posizioni stato Liquidato:
' + @rete + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_AGENTE, + COD_FISCALE, + ID_CONTRATTO + FROM + #ClientiSenzaDataSott + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaDataSott + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza data sottoscrizione
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale + FROM + #ClientiSenzaPiramideModello + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaPiramideModello + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza piramide modello
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + codiceFiscale, + data_perf + FROM + #ClientiSenzaContrattoSintesi + OPEN reader + FETCH NEXT FROM reader INTO @codiceFiscale,@data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @codiceFiscale,@data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaContrattoSintesi + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza righe Contratto Sintesi
' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + codiceFiscale,data_perf + FROM + #ClientiSenzaProfiloMIFID + OPEN reader + FETCH NEXT FROM reader INTO @codiceFiscale,@data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @codiceFiscale,@data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaProfiloMIFID + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza righe profilo MIFID
' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader +--------------------------------------------------------------------- +--Email non inviate + --SET @testoMail = @testoMail + '

' + --DECLARE reader CURSOR LOCAL FORWARD_ONLY + --FOR + -- SELECT a.rete, a.cod_fiscale, a.cod_agente, + -- CASE Tipo + -- WHEN 'PERF' THEN 'perfezionamento' + -- WHEN '1_SOLL_NOASS' THEN '1° sollecito risorse non associate' + -- WHEN '2_SOLL_NOASS' THEN '2° sollecito risorse non associate' + -- WHEN '3_SOLL_NOASS' THEN '3° sollecito risorse non associate' + -- WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + -- WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + -- WHEN '1_SOLL_NOMIG' THEN '1° sollecito cliente non migrato' + -- WHEN '2_SOLL_NOMIG' THEN '2° sollecito cliente non migrato' + -- WHEN '3_SOLL_NOMIG' THEN '3° sollecito cliente non migrato' + -- WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + -- WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + -- --V aggiunta tipo mail profilo non attivo + -- WHEN '1_SOLL_NOPRO' THEN '1° sollecito profilo non attivo' + -- WHEN '2_SOLL_NOPRO' THEN '2° sollecito profilo non attivo' + -- WHEN '3_SOLL_NOPRO' THEN '3° sollecito profilo non attivo' + -- WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + -- WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + -- END AS Tipo + -- FROM C6MartPeriodico.Contrattosei a + -- inner join C6MartPeriodico.GESTIONE_EMAIL b + -- on + -- a.rete = b.rete + -- and + -- a.cod_fiscale = b.cod_fiscale + -- WHERE isnull(b.Inviata,'N')='N' + --OPEN reader + --FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceAgente, @tipo + --WHILE @@FETCH_STATUS = 0 + --BEGIN + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceAgente, @tipo + --END + --SELECT @totale = COUNT(*) FROM C6MartPeriodico.GESTIONE_EMAIL WHERE isnull(Inviata,'N')='N' + --SET @testoMail = @testoMail + '' + --SET @testoMail = @testoMail + '
Email non inviate:
' + @rete + '' + @codiceFiscale + '' + @codiceAgente + '' + @tipo + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + --CLOSE reader + --DEALLOCATE reader +--------------------------------------------------------------------- + SET @testoMail = @testoMail + '' + SELECT @testoMail + DROP TABLE #ReportGenerati + DROP TABLE #ReportNonGenerati + DROP TABLE #EmailInviate + DROP TABLE #IndirizziLunghi + DROP TABLE #PosizioniStatoL + DROP TABLE #ProdNonInCat + DROP TABLE #VaRDiscordanti + DROP TABLE #ClientiSenzaDataSott + DROP TABLE #ClientiSenzaPiramideModello + DROP TABLE #ClientiSenzaContrattoSintesi + DROP TABLE #ClientiSenzaProfiloMIFID +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql b/sql/storedProduzione/C6MartPeriodico_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql new file mode 100644 index 00000000..65c576b0 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql @@ -0,0 +1,84 @@ +-- ============================================= +-- Author: alessandro Tringali +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_SRV_ESTRAZ_GIORNALIERA_CC] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_ESTRAZ_GIORNALIERA_CC', + GETDATE(), + 'Elaborazione giornaliera' + ) +--V Cancellazione delle tuple inserite nel giorno corrente, può accadere che la procedura viene +-- lanciata più di una volta, in quel caso inserirei righe doppie. +DELETE FROM C6MartPeriodico.ESTRAZ_GIORNALIERA_CC +WHERE DATEDIFF(dd,dataGenerazione,getDate()) = 0 +INSERT INTO C6MartPeriodico.ESTRAZ_GIORNALIERA_CC +SELECT +a.COD_FISCALE, +A.RETE, +A.CODICECONTRATTO, +DATAGENERAZIONE, +NUMERO_CC, +C.CTV_CC, +D.TOT_CTV, +D.TOT_CTV_NO_CC +FROM +[C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] A, +C6MartPeriodico.GESTIONE_PDF_FTP B, +( + SELECT + COD_FISCALE, + RETE, + COD_CC AS NUMERO_CC, + SUM(SALDOCONTABILE) AS CTV_CC + FROM C6MartPeriodico.ANAG_CC + GROUP BY + COD_FISCALE, + RETE, + COD_CC + ) C, +( SELECT COD_FISCALE, RETE, + SUM(CTV) AS TOT_CTV, + SUM(CASE WHEN TIPO_PRODOTTO='CC' THEN 0 ELSE CTV END) AS TOT_CTV_NO_CC FROM C6MartPeriodico.PATRIMONIO_BF + GROUP BY COD_FISCALE, RETE +)D +WHERE +A.COD_FISCALE=B.CODICEFISCALE +AND A.RETE=B.RETE +AND A.COD_FISCALE=C.COD_FISCALE +AND A.RETE=C.RETE +AND A.COD_FISCALE=D.COD_FISCALE +AND A.RETE=D.RETE +ORDER BY 1,2,3,5 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'DELETE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_ESTRAZ_GIORNALIERA_CC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_ESTRAZ_GIORNALIERA_CC' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_ESTRAZ_GIORNALIERA_CC', + GETDATE(), + 'Elaborazione giornaliera' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_ST_ClientiPtfNonDiv.sql b/sql/storedProduzione/C6MartPeriodico_RP_ST_ClientiPtfNonDiv.sql new file mode 100644 index 00000000..f92ab13c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_ST_ClientiPtfNonDiv.sql @@ -0,0 +1,119 @@ +CREATE PROCEDURE [C6MartPeriodico].[RP_ST_ClientiPtfNonDiv] +AS +BEGIN +exec [dbo].[CreaTabellaBackUp] 'RP_ClientiPtfNonDiv','C6MartPeriodico' + -- Drop the #temp table if it exists + IF OBJECT_ID('tempdb..#temp') IS NOT NULL + DROP TABLE #temp; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ClientiPtfNonDiv', + GETDATE(), + 'Elaborazione Trimestrale' + ); + DECLARE @appo_contratti_l INT; + SELECT @appo_contratti_l = ISNULL(COUNT(*), 0) FROM [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER]; + DECLARE @DataFineTrim VARCHAR(8); + SET @DataFineTrim = c6martperiodico.getTrimestre2(GETDATE(), 0); + DECLARE @DataClientiPtf VARCHAR(8); + select @DataClientiPtf = MAX(DTTrim) from [C6MartPeriodico].[RP_ClientiPtfNonDiv] + if(@DataFineTrim<>@DataClientiPtf or @appo_contratti_l = 0) + begin + truncate table [C6MartPeriodico].[RP_ClientiPtfNonDiv] + end + drop table if exists #temp + CREATE TABLE #temp ( + Rete VARCHAR(3), + COD_FISCALE VARCHAR(50), + Somma_credito [decimal](9, 4) NULL +); + IF (@appo_contratti_l = 0) + BEGIN + insert into #temp + SELECT Rete, COD_FISCALE AS Cod_Fiscale, 0.0000 AS Somma_credito + FROM C6StagingPeriodico.APPO_CONTRATTI + EXCEPT + SELECT rete, cod_fiscale, 0.0000 FROM C6MartPeriodico.PATRIMONIO_BF + UNION + SELECT rete, cod_fiscale, SUM(credito) AS Somma_credito + FROM C6MartPeriodico.PATRIMONIO_BF bf + INNER JOIN [C6StagingPeriodico].[RP_CatDivPtf] c ON bf.COD_PRODOTTO = c.CatalogueID + GROUP BY rete, cod_fiscale + HAVING SUM(credito) < 3.00; + END + ELSE + BEGIN + insert into #temp + SELECT rete, COD_FISCALE AS Cod_Fiscale, 0.0000 AS Somma_credito + FROM C6StagingPeriodico.APPO_CONTRATTI_LIMITER + EXCEPT + SELECT rete, cod_fiscale, 0.0000 FROM C6MartPeriodico.PATRIMONIO_BF + UNION + SELECT rete, cod_fiscale, SUM(credito) AS Somma_credito + FROM C6MartPeriodico.PATRIMONIO_BF bf + INNER JOIN [C6StagingPeriodico].[RP_CatDivPtf] c ON bf.COD_PRODOTTO = c.CatalogueID + GROUP BY rete, cod_fiscale + HAVING SUM(credito) < 3.00; + END; + --select * from [C6MartPeriodico].[RP_ClientiPtfNonDiv] + -- FerAcu 20250509 + --delete from [C6MartPeriodico].[RP_ClientiPtfNonDiv] where RETE+Chiave_Acn in (select RETE+COD_FISCALE from #temp ) + IF (@appo_contratti_l != 0) + Begin + delete from [C6MartPeriodico].[RP_ClientiPtfNonDiv] where RETE+Chiave_Acn in (select RETE+COD_FISCALE from C6StagingPeriodico.APPO_CONTRATTI_LIMITER ) + End + INSERT INTO [C6MartPeriodico].[RP_ClientiPtfNonDiv] + ([Rete] + ,[Chiave_Acn] + ,[Codfis] + ,[Codman] + ,[Dttrim] + ,[Credito] + ,[Flg_NonDiv]) + SELECT t.RETE, + t.Cod_Fiscale AS Chiave_ACN, + CASE WHEN LEN(t.COD_FISCALE) = 16 THEN t.Cod_Fiscale ELSE '' END AS Codfis, + a.COD_MANDATO AS Codman, + @DataFineTrim as Dttrim, + t.Somma_credito as Credito, + 'S' AS Flg_NonDiv + FROM #temp t + INNER JOIN C6StagingPeriodico.APPO_CONTRATTI a ON t.RETE = a.rete AND t.Cod_Fiscale = a.COD_FISCALE; +-- rimozione duplicati +drop table if exists #noDup +select distinct * +into #noDup +from [C6MartPeriodico].[RP_ClientiPtfNonDiv] +truncate table [C6MartPeriodico].[RP_ClientiPtfNonDiv] +insert into [C6MartPeriodico].[RP_ClientiPtfNonDiv] +select * from #noDup +-- fine rimozione duplicati +-- -- Utilizziamo il comando MERGE per sincronizzare i dati tra le due tabelle +--MERGE INTO [C6MartPeriodico].[RP_ClientiPtfNonDiv] AS dest +--USING #nuovatab AS src +--ON dest.rete = src.rete and dest.chiave_ACN= src.chiave_ACN and dest.dttrim=src.dttrim +--WHEN MATCHED THEN +-- UPDATE SET dest.credito = src.credito, dest.flg_NonDiv = src.flg_NonDiv, dest.AzioneMerge='UPDATE/NO VAR' +--WHEN NOT MATCHED BY TARGET THEN +-- INSERT (AzioneMerge,Rete, Chiave_ACN, Codfis, Codman, Dttrim, Credito, Flg_NonDiv) VALUES +-- ('INSERT',src.Rete, src.Chiave_ACN, src.Codfis, src.Codman, src.Dttrim, src.Credito, src.Flg_NonDiv); + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ClientiPtfNonDiv' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_ClientiPtfNonDiv' + ); +END; \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_TCPTAB.sql b/sql/storedProduzione/C6MartPeriodico_RP_TCPTAB.sql new file mode 100644 index 00000000..630da81f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_TCPTAB.sql @@ -0,0 +1,56 @@ +CREATE procedure [C6MartPeriodico].[RP_TCPTAB] +AS +BEGIN +-- -- Log esecuzione +-- INSERT INTO LOG_ESECUZIONE +-- (Nome, Inizio, Nota) +-- VALUES ( +-- 'RP_CREA_POSITIONID_CONSULENZA', +-- GETDATE(), +-- 'Elaborazione Trimestrale' +-- ) +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, + CODSOTTOPRODOTTO, + position_id +INTO #TAB1 +FROM #tcptab +UPDATE #TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) + UPDATE #tcptab + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, + '', + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM #tcptab c + left join #TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null +drop table #TAB1 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_Tipologia_Campione.sql b/sql/storedProduzione/C6MartPeriodico_RP_Tipologia_Campione.sql new file mode 100644 index 00000000..2b1c1b0a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_Tipologia_Campione.sql @@ -0,0 +1,73 @@ +--Verifica tutti i clienti della APPO_CONTRATTI se hanno la nota fai +--per il singolo cliente [C6StagingPeriodico].[ClienteProdottiAssicurativiVita] 'F','BBNNLL48T52E730L' +CREATE procedure [C6MartPeriodico].[RP_Tipologia_Campione] +as +drop table if exists c6martperiodico.RP_TB_Tipologia_Campione +--per assicurativi +drop table if exists #assicurativi +SELECT distinct rete,cod_fiscale,count(*) as conta +into #assicurativi +from C6MartPeriodico.PATRIMONIO_BF bf +inner join C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT +on bf.COD_PRODOTTO = kat.CatalogueID +where kat.Alberatura in (7,8,9) and + bf.rete+bf.cod_fiscale in (select rete+COD_FISCALE from C6StagingPeriodico.APPO_CONTRATTI) +group by rete,COD_FISCALE + select a.rete,a.COD_FISCALE, + case when f.conta is null then 'NO' + else 'SI' end as ASSICURATIVI + into #assicurativiS + from C6stagingPeriodico.APPO_CONTRATTI a + left join #assicurativi f on a.rete+a.COD_FISCALE=f.RETE+f.COD_FISCALE +--fine assicurativi +--inizio colonna fai +drop table if exists #fai +SELECT distinct rete,COD_FISCALE, count(*) as Conta +into #fai +FROM [C6MartPeriodico].[PATRIMONIO_BF] +WHERE rtrim(ltrim(cod_interno)) + rtrim(ltrim(cod_sottoprodotto)) IN ( + 'IA3364S' + ,'ID8562S' + ,'PE1772S' + ,'IA3447S' + ,'IA3448S' + ) + and rete+COD_FISCALE in (select rete+COD_FISCALE from C6StagingPeriodico.APPO_CONTRATTI) + group by rete,COD_FISCALE + select a.rete,a.COD_FISCALE, + case when f.conta is null then 'NO' + else 'SI' end as FAI + into #faiS + from C6stagingPeriodico.APPO_CONTRATTI a left join #fai f on a.rete+a.COD_FISCALE=f.RETE+f.COD_FISCALE +--fine colonna fai + select t.rete, + t.codice_fiscale, + c.flag_stampa, + case when t.freq_diagnosi='' then 'NO' else 'SI' end as Diagnosi, + t.segmento as Segmento, + case when t.flgprof='N' then 'NO' else 'SI' end as Professionale, + case when t.ESG='N' then 'NO' else 'SI' end as ESG, + a.ASSICURATIVI, + f.FAI--, +-- t.rete+' '+t.codice_fiscale+' '+'Diagnosi='+Diagnosi+'Segmento='--+t.segmento+'Professionale='+t.flgprof+'ESG='+t.ESG+'ASSICURATIVI='+a.ASSICURATIVI+'FAI='+f.FAI + --as commento + into #tipologia_Campione--c6martperiodico.RP_TB_Tipologia_Campione +from C6MartPeriodico.tabellone t inner join C6MartPeriodico.TB_Campione c +on t.chiave_acn=c.rete+c.cod_fiscale +left join #assicurativiS a on t.chiave_acn=a.rete+a.COD_FISCALE +left join #FaiS f on t.chiave_acn=f.rete+f.COD_FISCALE +order by t.codice_fiscale +select +rete, +codice_fiscale, +flag_stampa, +Diagnosi, +Segmento, +Professionale, +ESG, +ASSICURATIVI, +FAI, +rete+' '+codice_fiscale+' '+'Diagnosi='+Diagnosi+' '+'Segmento='+segmento+' '+'Professionale='+Professionale+' '+'ESG='+ESG+' '+'ASSICURATIVI='+ASSICURATIVI+' '+'FAI='+FAI as commento +into C6MartPeriodico.RP_TB_Tipologia_Campione +from #tipologia_Campione +select * from C6MartPeriodico.RP_TB_Tipologia_Campione order by codice_fiscale \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_Tipologia_Tabellone.sql b/sql/storedProduzione/C6MartPeriodico_RP_Tipologia_Tabellone.sql new file mode 100644 index 00000000..b22cfae2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_Tipologia_Tabellone.sql @@ -0,0 +1,57 @@ +--Verifica tutti i clienti della APPO_CONTRATTI se hanno la nota fai +--per il singolo cliente [C6StagingPeriodico].[ClienteProdottiAssicurativiVita] 'F','BBNNLL48T52E730L' +CREATE procedure [C6MartPeriodico].[RP_Tipologia_Tabellone] +as +drop table if exists c6martperiodico.RP_TB_Tipologia_Tabellone +--per assicurativi +drop table if exists #assicurativi +SELECT distinct rete,cod_fiscale,count(*) as conta +into #assicurativi +from C6MartPeriodico.PATRIMONIO_BF bf +inner join C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT +on bf.COD_PRODOTTO = kat.CatalogueID +where kat.Alberatura in (7,8,9) and + bf.rete+bf.cod_fiscale in (select rete+COD_FISCALE from C6StagingPeriodico.APPO_CONTRATTI) +group by rete,COD_FISCALE + select a.rete,a.COD_FISCALE, + case when f.conta is null then 'NO' + else 'SI' end as ASSICURATIVI + into #assicurativiS + from C6stagingPeriodico.APPO_CONTRATTI a + left join #assicurativi f on a.rete+a.COD_FISCALE=f.RETE+f.COD_FISCALE +--fine assicurativi +--inizio colonna fai +drop table if exists #fai +SELECT distinct rete,COD_FISCALE, count(*) as Conta +into #fai +FROM [C6MartPeriodico].[PATRIMONIO_BF] +WHERE rtrim(ltrim(cod_interno)) + rtrim(ltrim(cod_sottoprodotto)) IN ( + 'IA3364S' + ,'ID8562S' + ,'PE1772S' + ,'IA3447S' + ,'IA3448S' + ) + and rete+COD_FISCALE in (select rete+COD_FISCALE from C6StagingPeriodico.APPO_CONTRATTI) + group by rete,COD_FISCALE + select a.rete,a.COD_FISCALE, + case when f.conta is null then 'NO' + else 'SI' end as FAI + into #faiS + from C6stagingPeriodico.APPO_CONTRATTI a left join #fai f on a.rete+a.COD_FISCALE=f.RETE+f.COD_FISCALE +--fine colonna fai + select t.rete, + t.codice_fiscale, + --c.flag_stampa, + case when t.freq_diagnosi='' then 'NO' else 'SI' end as Diagnosi, + t.segmento as Segmento, + case when t.flgprof='N' then 'NO' else 'SI' end as Professionale, + case when t.ESG='N' then 'NO' else 'SI' end as ESG, + a.ASSICURATIVI, + f.FAI + into c6martperiodico.RP_TB_Tipologia_Tabellone +from C6MartPeriodico.tabellone t +left join #assicurativiS a on t.chiave_acn=a.rete+a.COD_FISCALE +left join #FaiS f on t.chiave_acn=f.rete+f.COD_FISCALE +order by t.codice_fiscale +select * from C6MartPeriodico.RP_TB_Tipologia_Tabellone order by codice_fiscale \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_RP_controlla100_PiramideModello.sql b/sql/storedProduzione/C6MartPeriodico_RP_controlla100_PiramideModello.sql new file mode 100644 index 00000000..884af318 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_RP_controlla100_PiramideModello.sql @@ -0,0 +1,274 @@ +CREATE procedure [C6MartPeriodico].[RP_controlla100_PiramideModello] +AS +BEGIN +drop table if exists dbo.piramidemodello_da_agg_manualmente +drop table if exists #conta +drop table if exists #conta_b +drop table if exists #conta_agg +select a.rete,a.cod_fiscale, fase, sum(a.perc) as somma +into #conta +from +(select rete,cod_fiscale,perc_ext as perc, fase from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase in (1,2,3) +union all +select rete,cod_fiscale,perc_inv as perc, fase from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase in (1,2,3) +union all +select rete,cod_fiscale,perc_pre as perc, fase from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase in (1,2,3) +union all +select rete,cod_fiscale,perc_liq as perc, fase from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase in (1,2,3) +union all +select rete,cod_fiscale,perc_ris as perc, fase from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase in (1,2,3) +) a +--where cod_fiscale not in ('DNTNDA68P53D458Y','FLSGRL63S17L872V') +group by rete,cod_fiscale, fase +having sum(a.perc) <> '100.00' +order by cod_fiscale, rete, fase +--select * from #conta +select ChiaveCliente, c.* +into #conta_b +from #conta c + inner join consuni.consulenzaunica.dbo.Cliente cli + on cli.codFis = c.cod_fiscale +UNION ALL +select chiavecliente, c.* +from #conta c + inner join consuni.consulenzaunica.dbo.Cliente cli + on cli.Piva = c.cod_fiscale +UNION ALL +select chiavecliente, c.* +from #conta c + inner join consuni.consulenzaunica.dbo.Cliente cli + on c.cod_fiscale like 'FF@%' and cli.codman = substring(c.cod_fiscale, 4, len(c.cod_fiscale)-3) +--select * from #conta_b -- 155194 +-- 181778 +select clipb.chiaveclientepb, clipb.chiavePB, clipb.flagpbprimario, pb.codage agente, pb.Rete pb_Rete, cb.* +into #conta_agg +from #conta_b cb + inner join consuni.consulenzaunica.dbo.ClientePB clipb + ON clipb.ChiaveCliente = cb.ChiaveCliente + INNER JOIN consuni.consulenzaunica.dbo.PromotoreBancario pb + ON pb.chiavePB = clipb.chiavePB +-- Per eliminare i criteri poco performanti nella creazione di #conta_agg (and clipb.flagpbprimario is null pb.Rete = cd.Rete ) +Delete #conta_agg where rete != pb_Rete or flagpbprimario is not null +--select * from #conta_agg order by chiaveclientepb -- 155182 +---- OLD +-- select chiaveclientepb, agente, c.* +-- into #conta_agg +-- from #conta c +-- inner join consuni.consulenzaunica.dbo.vinfocliente v +-- on c.rete+c.cod_fiscale = v.rete+v.codfis or +-- c.rete+c.cod_fiscale = v.rete+v.piva or +-- c.rete+c.cod_fiscale = v.rete+'FF@'+v.codman +-- where flagpbprimario is null +-- +-- select * from #conta_agg order by 4 + select sum(percentualeprogetto) as somma, a.area, cod_fiscale, rete, p.chiaveclientepb, con.fase + into dbo.piramidemodello_da_agg_manualmente + from consuni.ConsulenzaUnica.dbo.ProgettiPiramideModello pir + inner join consuni.ConsulenzaUnica.dbo.areamodello a + on a.chiaveareamod = pir.chiaveareamod + inner join consuni.ConsulenzaUnica.dbo.PiramideModello p + on p.chiavepiramidemod = a.chiavepiramidemod + inner join #conta_agg con + on con.chiaveclientepb = p.chiaveclientepb + where a.area in ('Ext', 'Liq', 'Inv', 'Ris', 'Pre') + group by a.area, cod_fiscale, rete, p.chiaveclientepb, con.fase + order by 3, 2 + --select * from dbo.piramidemodello_da_agg_manualmente -- 775865 + --select * from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where Cod_Fiscale = 'DNTNDA68P53D458Y' + update ctv + set perc_ext = cast(isnull(somma, '0.00') as decimal(5,2)) + from piramidemodello_da_agg_manualmente agg + inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv + on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete + where agg.area = 'Ext' + and ctv.Fase = agg.Fase + update ctv + set perc_inv = cast(isnull(somma, '0.00') as decimal(5,2)) + from piramidemodello_da_agg_manualmente agg + inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv + on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete + where area = 'Inv' + and ctv.Fase = agg.Fase + update ctv + set perc_Liq = cast(isnull(somma, '0.00') as decimal(5,2)) + from piramidemodello_da_agg_manualmente agg + inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv + on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete + where area = 'Liq' + and ctv.Fase = agg.Fase + update ctv + set perc_Ris= cast(isnull(somma, '0.00') as decimal(5,2)) + from piramidemodello_da_agg_manualmente agg + inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv + on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete + where area = 'Ris' + and ctv.Fase = agg.Fase + update ctv + set perc_pre= cast(isnull(somma, '0.00') as decimal(5,2)) + from piramidemodello_da_agg_manualmente agg + inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv + on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete + where area = 'Pre' + and ctv.Fase = agg.Fase +-- -- FASE 2: +--drop table if exists dbo.piramidemodello_da_agg_manualmente +--drop table if exists #conta2 +--drop table if exists #conta_agg2 +--select a.rete,a.cod_fiscale, sum(a.perc) as somma +--into #conta2 +--from +--(select rete,cod_fiscale,perc_ext as perc from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase = 2 +--union all +--select rete,cod_fiscale,perc_inv as perc from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase = 2 +--union all +--select rete,cod_fiscale,perc_pre as perc from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase = 2 +--union all +--select rete,cod_fiscale,perc_liq as perc from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase = 2 +--union all +--select rete,cod_fiscale,perc_ris as perc from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase = 2 +--) a +----where cod_fiscale not in ('DNTNDA68P53D458Y','FLSGRL63S17L872V') +--group by rete,cod_fiscale +--having sum(a.perc) <> '100.00' +--order by cod_fiscale +----select * from #conta +--select chiaveclientepb, agente, c.* +--into #conta_agg2 +--from #conta2 c +--inner join consuni.consulenzaunica.dbo.vinfocliente v +--on c.rete+c.cod_fiscale = v.rete+v.codfis or +--c.rete+c.cod_fiscale = v.rete+v.piva or +--c.rete+c.cod_fiscale = v.rete+'FF@'+v.codman +--where flagpbprimario is null +----select * from #conta_agg order by 4 +-- select sum(percentualeprogetto) as somma, a.area, cod_fiscale, rete, p.chiaveclientepb +-- into dbo.piramidemodello_da_agg_manualmente +-- from consuni.ConsulenzaUnica.dbo.ProgettiPiramideModello pir +-- inner join consuni.ConsulenzaUnica.dbo.areamodello a +-- on a.chiaveareamod = pir.chiaveareamod +-- inner join consuni.ConsulenzaUnica.dbo.PiramideModello p +-- on p.chiavepiramidemod = a.chiavepiramidemod +-- inner join #conta_agg2 con +-- on con.chiaveclientepb = p.chiaveclientepb +-- where a.area in ('Ext', 'Liq', 'Inv', 'Ris', 'Pre') +-- group by a.area, cod_fiscale, rete, p.chiaveclientepb +-- order by 3, 2 +-- --select * from dbo.piramidemodello_da_agg_manualmente +-- --select * from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where Cod_Fiscale = 'DNTNDA68P53D458Y' +-- update ctv +-- set perc_ext = cast(isnull(somma, '0.00') as decimal(5,2)) +-- from piramidemodello_da_agg_manualmente agg +-- inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv +-- on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete +-- where agg.area = 'Ext' +-- and ctv.Fase = 2 +-- update ctv +-- set perc_inv = cast(isnull(somma, '0.00') as decimal(5,2)) +-- from piramidemodello_da_agg_manualmente agg +-- inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv +-- on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete +-- where area = 'Inv' +-- and ctv.Fase = 2 +-- update ctv +-- set perc_Liq = cast(isnull(somma, '0.00') as decimal(5,2)) +-- from piramidemodello_da_agg_manualmente agg +-- inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv +-- on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete +-- where area = 'Liq' +-- and ctv.Fase = 2 +-- update ctv +-- set perc_Ris= cast(isnull(somma, '0.00') as decimal(5,2)) +-- from piramidemodello_da_agg_manualmente agg +-- inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv +-- on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete +-- where area = 'Ris' +-- and ctv.Fase = 2 +-- update ctv +-- set perc_pre= cast(isnull(somma, '0.00') as decimal(5,2)) +-- from piramidemodello_da_agg_manualmente agg +-- inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv +-- on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete +-- where area = 'Pre' +-- and ctv.Fase = 2 +-- -- FASE 3: +--drop table if exists dbo.piramidemodello_da_agg_manualmente +--drop table if exists #conta3 +--drop table if exists #conta_agg3 +--select a.rete,a.cod_fiscale, sum(a.perc) as somma +--into #conta3 +--from +--(select rete,cod_fiscale,perc_ext as perc from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase = 3 +--union all +--select rete,cod_fiscale,perc_inv as perc from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase = 3 +--union all +--select rete,cod_fiscale,perc_pre as perc from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase = 3 +--union all +--select rete,cod_fiscale,perc_liq as perc from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase = 3 +--union all +--select rete,cod_fiscale,perc_ris as perc from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase = 3 +--) a +----where cod_fiscale not in ('DNTNDA68P53D458Y','FLSGRL63S17L872V') +--group by rete,cod_fiscale +--having sum(a.perc) <> '100.00' +--order by cod_fiscale +----select * from #conta +--select chiaveclientepb, agente, c.* +--into #conta_agg3 +--from #conta3 c +--inner join consuni.consulenzaunica.dbo.vinfocliente v +--on c.rete+c.cod_fiscale = v.rete+v.codfis or +--c.rete+c.cod_fiscale = v.rete+v.piva or +--c.rete+c.cod_fiscale = v.rete+'FF@'+v.codman +--where flagpbprimario is null +----select * from #conta_agg order by 4 +-- select sum(percentualeprogetto) as somma, a.area, cod_fiscale, rete, p.chiaveclientepb +-- into dbo.piramidemodello_da_agg_manualmente +-- from consuni.ConsulenzaUnica.dbo.ProgettiPiramideModello pir +-- inner join consuni.ConsulenzaUnica.dbo.areamodello a +-- on a.chiaveareamod = pir.chiaveareamod +-- inner join consuni.ConsulenzaUnica.dbo.PiramideModello p +-- on p.chiavepiramidemod = a.chiavepiramidemod +-- inner join #conta_agg3 con +-- on con.chiaveclientepb = p.chiaveclientepb +-- where a.area in ('Ext', 'Liq', 'Inv', 'Ris', 'Pre') +-- group by a.area, cod_fiscale, rete, p.chiaveclientepb +-- order by 3, 2 +-- --select * from dbo.piramidemodello_da_agg_manualmente +-- --select * from c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where Cod_Fiscale = 'DNTNDA68P53D458Y' +-- update ctv +-- set perc_ext = cast(isnull(somma, '0.00') as decimal(5,2)) +-- from piramidemodello_da_agg_manualmente agg +-- inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv +-- on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete +-- where agg.area = 'Ext' +-- and ctv.Fase = 3 +-- update ctv +-- set perc_inv = cast(isnull(somma, '0.00') as decimal(5,2)) +-- from piramidemodello_da_agg_manualmente agg +-- inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv +-- on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete +-- where area = 'Inv' +-- and ctv.Fase = 3 +-- update ctv +-- set perc_Liq = cast(isnull(somma, '0.00') as decimal(5,2)) +-- from piramidemodello_da_agg_manualmente agg +-- inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv +-- on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete +-- where area = 'Liq' +-- and ctv.Fase = 3 +-- update ctv +-- set perc_Ris= cast(isnull(somma, '0.00') as decimal(5,2)) +-- from piramidemodello_da_agg_manualmente agg +-- inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv +-- on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete +-- where area = 'Ris' +-- and ctv.Fase = 3 +-- update ctv +-- set perc_pre= cast(isnull(somma, '0.00') as decimal(5,2)) +-- from piramidemodello_da_agg_manualmente agg +-- inner join c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc ctv +-- on agg.cod_fiscale+agg.rete = ctv.cod_fiscale+ctv.rete +-- where area = 'Pre' +-- and ctv.Fase = 3 +----select * from C6MartPeriodico.motivazioni_blacklist +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_BonificaDati.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_BonificaDati.sql new file mode 100644 index 00000000..f5be2b2c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_BonificaDati.sql @@ -0,0 +1,1221 @@ +CREATE procedure [C6MartPeriodico].[SP_DQ_BonificaDati] +AS +BEGIN +-- select count(*) from C6MartPeriodico.contrattosei +-- BONIFICA CARATTERI ANOMALI +update c6martperiodico.contrattosei +set indirizzo = 'VIA CONTRA'' BARONA, 52' +where rete = 'F' +and cod_fiscale = 'CRCMHL70M62I531H' +and indirizzo ='VIA CONTRÀ BARONA, 52' +update c6martperiodico.anag_clienti +set indirizzo = 'VIA CONTRA'' BARONA, 52' +where rete = 'F' +and cod_fiscale = 'CRCMHL70M62I531H' +and indirizzo ='VIA CONTRÀ BARONA, 52' +update c6martperiodico.contrattosei +set indirizzo = 'STRADA MONTA'' DA LANZA 48' +where rete = 'S' +and cod_fiscale = 'VLIPLA63H56L741Q' +and indirizzo ='STRADA MONTÀ DA LANZA 48' +update c6martperiodico.contrattosei set indirizzo ='VIA FRANGIPANE, TR.2, N.6' where cod_fiscale ='BRGGNN32A02H224F' and INDIRIZZO= 'VIA FRANGIPANE, TR.2^, N.6' +update c6martperiodico.contrattosei set indirizzo ='VIA POSTIERLA N 31/C' where cod_fiscale ='CCCRNI39T54I381U' and INDIRIZZO= 'VIA POSTIERLA N¢ 31/C' +update c6martperiodico.contrattosei set indirizzo ='VIA DEGLI OPERAI N 25' where cod_fiscale ='DTNNZR56M23D653T' and INDIRIZZO= 'VIA DEGLI OPERAI N¢ 25' +update c6martperiodico.contrattosei set indirizzo ='VIA F.SICILIANI N 1' where cod_fiscale ='FRRTDR64M26A638Q' and INDIRIZZO= 'VIA F.SICILIANI N¢ 1' +update c6martperiodico.contrattosei set Citta ='VALLA'' DI RIESE PIO X' where cod_fiscale ='NDRTZN81A03C111N' and Citta= 'VALLA'' DI RIESE PIO X¢' +update c6martperiodico.contrattosei set indirizzo ='VIA A.MOTTA N 61' where cod_fiscale ='TRRCRL47S28L667C' and INDIRIZZO= 'VIA A.MOTTA N¢ 61' +update c6martperiodico.contrattosei set indirizzo ='VIA RIOMAGGIORE N 1' where cod_fiscale ='CRPDNC37C69L689V' and INDIRIZZO= 'VIA RIOMAGGIORE N¢1' +update c6martperiodico.contrattosei set indirizzo ='VIA SANTI N 17' where cod_fiscale ='RNALRT64R05G337D' and INDIRIZZO= 'VIA SANTI N¢ 17' +update c6martperiodico.contrattosei set indirizzo ='VIA M.DELLA LIBERT'' 13' where cod_fiscale ='GLPMRA71A16G856Z' and INDIRIZZO= 'VIA M.DELLA LIBERTÀ 13' +update c6martperiodico.contrattosei set indirizzo ='LOCALITA'' MONETA' where cod_fiscale ='VLLCNZ58P47L219Z' and INDIRIZZO= 'LOCALITÀ MONETA' +update c6martperiodico.contrattosei set Citta ='FORLI''' where cod_fiscale ='GHTDNC38S29D704K' and Citta= 'FORLÌ' +update c6martperiodico.contrattosei +set presso = 'KOSTORIS e ASSOC.-STUDIO LEGALE' +where rete = 'F' +and cod_fiscale = 'KSTLRT60R14L424G' +and presso = 'KOSTORIS & ASSOC.-STUDIO LEGALE' +update c6martperiodico.contrattosei +set indirizzo = 'VIA VINCENZO CIARDO N. 3' +where rete = 'S' +and cod_fiscale = 'CNGMTR43S59E506C' +and indirizzo = 'VIA VINCENZO CIARDO N¢ 3' +update c6martperiodico.contrattosei +set indirizzo = 'VIA VINCENZO CIARDO N. 3' +where rete = 'S' +and cod_fiscale = 'CNGRSO46T44E506U' +and indirizzo = 'VIA VINCENZO CIARDO N¢ 3' +update c6martperiodico.contrattosei +set indirizzo = 'VIA VINCENZO BELLINI N.6' +where rete = 'S' +and cod_fiscale = 'CRBMLD59M69C351S' +and indirizzo = 'VIA VINCENZO BELLINI N¢6' +update c6martperiodico.contrattosei +set indirizzo = 'VIA SS 18 I TR. N. 11' +where rete = 'S' +and cod_fiscale = 'LZZCRC51P41B666S' +and indirizzo = 'VIA SS 18 I TR. N¢ 11' +update c6martperiodico.contrattosei +set indirizzo = 'VIA DELL''IMPRUNETA N. 26' +where rete = 'S' +and cod_fiscale = 'RMNMRA69D13C351J' +and indirizzo = 'VIA DELL''IMPRUNETA N¢ 26' +update c6martperiodico.contrattosei +set indirizzo = 'LOCALITA'' MALTRAVERSO, 13' +where rete = 'F' +and cod_fiscale = 'PRSRNZ59B21C847E' +and indirizzo = 'LOCALITÀ MALTRAVERSO, 13' +update c6martperiodico.contrattosei +set citta = 'CITTA'' SANTANGELO' +where rete = 'S' +and cod_fiscale = 'DFRNTN56D20A120O' +and citta = 'CITTÀ SANTANGELO' +update c6martperiodico.contrattosei +set indirizzo = 'VIA MICHELE PIETRAVALLE 85 R' +where rete = 'F' +and cod_fiscale = 'DLLGST40D14B963Q' +and indirizzo = 'VIA MICHELE PIETRAVALLE 85 ÇR' +update c6martperiodico.contrattosei +set indirizzo = 'VIA MICHELE PIETRAVALLE 85 B' +where rete = 'F' +and cod_fiscale = 'NZZSRA43S52F839U' +and indirizzo = 'VIA MICHELE PIETRAVALLE 85 ÇB' +update c6martperiodico.contrattosei +set indirizzo = 'VIA TRENTO 14 - 27 SC D' +where rete = 'S' +and cod_fiscale = 'BOXFNC95S22D969G' +and indirizzo = 'VIA TRENTO 14 Ç 27 SC D' +update c6martperiodico.contrattosei +set indirizzo = 'VCLO POME'' 14' +where rete = 'F' +and cod_fiscale = 'PRNNRC48D09E801B' +and indirizzo = 'VCLO POMÈ 14' +update c6martperiodico.contrattosei +set indirizzo = 'LOC.MASARE'' COL BADIOT' +where rete = 'S' +and cod_fiscale = 'CRDNZE48S13E490Z' +and indirizzo = 'LOC.MASARÈ COL BADIOT' +update c6martperiodico.contrattosei +set indirizzo = 'VIA ROMBO'' 37' +where rete = 'F' +and cod_fiscale = 'STRGLG70H15H355F' +and indirizzo = 'VIA ROMBÒ 37' +--inizio intervento: 17/07/2015 LMaggi modifica carattere anomalo presente nel campo indirizzo e del campo 'presso' della tb c6martperiodico.contrattosei +update c6martperiodico.contrattosei +set indirizzo = 'VIA BEATO ANGELICO N. 4' +where rete = 'F' +and cod_fiscale = 'CLLPLA53R43G148Z' +and indirizzo = 'VIA BEATO ANGELICO N¢ 4' +update c6martperiodico.contrattosei +set indirizzo = 'LOCAL.FORNI N. 2' +where rete = 'F' +and cod_fiscale = 'DNSVTR45B04A940D' +and indirizzo = 'LOCAL.FORNI N¢ 2' +update c6martperiodico.contrattosei +set indirizzo = 'VIA DEL CORMORANO N. 21' +where rete = 'F' +and cod_fiscale = 'SVVSRA75L43L117F' +and indirizzo = 'VIA DEL CORMORANO N¢ 21' +update c6martperiodico.contrattosei +set indirizzo = 'BORGO RICCIO DA PARMA N.50' +where rete = 'S' +and cod_fiscale = 'MNTSFN57B10G337O' +and indirizzo = 'BORGO RICCIO DA PARMA N¢50' +update c6martperiodico.contrattosei +set indirizzo = 'VIA LEONE IV N. 38' +where rete = 'S' +and cod_fiscale = 'RMNBMN37L23C351J' +and indirizzo = 'VIA LEONE IV N¢ 38' +update c6martperiodico.contrattosei +set indirizzo = 'VIA MARCHETTI N. 27' +where rete = 'S' +and cod_fiscale = 'SLRRLF40D17L689Q' +and indirizzo = 'VIA MARCHETTI N¢ 27' +update c6martperiodico.contrattosei +set indirizzo = 'VIA ROCCA N. 8' +where rete = 'S' +and cod_fiscale = 'ZMBRNG35C70H682I' +and indirizzo = 'VIA ROCCA N¢ 8' +update c6martperiodico.contrattosei +set indirizzo = 'LOCALITA'' PERA, 1' +where rete = 'F' +and cod_fiscale = 'MCHFST58P24C372Z' +and indirizzo = 'LOCALITÀ PERA, 1' +update c6martperiodico.contrattosei +set indirizzo = 'LOCALITA'' RONCO BALDELLO 1' +where rete = 'F' +and cod_fiscale = 'SLNRRT61A25A794Y' +and indirizzo = 'LOCALITÀ RONCO BALDELLO 1' +update c6martperiodico.contrattosei +set presso = 'STEFANIA BLE''' +where rete = 'S' +and cod_fiscale = 'DDSCNN57S54Z110A' +and presso = 'STEFANIA BLÈ' +--9/2/2016 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set indirizzo = 'VIA ARCUENTU 9 ESP.2' +where rete = 'F' +and cod_fiscale = 'MNNNMR69M46L093G' +and indirizzo = 'VIA ARCUENTU 9 ESP.2 ¢' +update c6martperiodico.contrattosei +set indirizzo = 'PZZA XVIII MAGGIO 1944 N. 8' +where rete = 'S' +and cod_fiscale = 'SPSRFL60H27F839X' +and indirizzo = 'PZZA XVIII MAGGIO 1944 N¢ 8' +update c6martperiodico.contrattosei +set indirizzo = 'V.GOZZANO 1ma TRAVERSA,3-S.TERENZO-' +where rete = 'S' +and cod_fiscale = 'LNDMSM57S30E463S' +and indirizzo = 'V.GOZZANO 1ª TRAVERSA,3-S.TERENZO-' +update c6martperiodico.contrattosei +set indirizzo = 'VIA BERSO'' RIO, 12' +where rete = 'S' +and cod_fiscale = 'PRTFBA61H20A269D' +and indirizzo = 'VIA BERSÒ RIO, 12' +--27/4/2016 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set indirizzo = 'VIA S.LUCIA 64 M' +where rete = 'S' +and cod_fiscale = 'LGRMTN50P67Z110T' +and indirizzo = 'VIA S:LUCIA 64 M' +update c6martperiodico.anag_clienti +set cognome = 'CONDRO''' +where rete = 'S' +and cod_fiscale = 'CNDLNU88T59I138R' +and cognome = 'CONDRÒ' + --16/10/2017 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update +c6martperiodico.anag_clienti +set cognome = 'UNITA'' PASTORALE COMUNIT' +where 1=1 +and rete = 'F' +and cod_fiscale = '90137840329' +and cognome = 'UNITA'' PASTORALE "COMUNIT' +--11/07/2016 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update C6MartPeriodico.ContrattoSEI + set indirizzo = 'VIA MORICI N. 4/A' + where cod_fiscale = 'MZZDNL76T68G273F' + and indirizzo = 'VIA MORICI N¢ 4/A' +update C6MartPeriodico.ContrattoSEI + set indirizzo = 'VIA IV NOVEMBRE N. 22' + where cod_fiscale = 'BRRNGL44L52C145G' + and indirizzo = 'VIA IV NOVEMBRE N¢ 22' +update C6MartPeriodico.ContrattoSEI + set indirizzo = 'VIA IV NOVEMBRE N. 22' + where cod_fiscale = 'FRRPLA40L09B034B' + and indirizzo = 'VIA IV NOVEMBRE N¢ 22' +update C6MartPeriodico.ContrattoSEI + set indirizzo = 'VIA CIACCIO MONTALTO N.3' + where cod_fiscale = 'LNNNNL64A66I153M' + and indirizzo = 'VIA CIACCIO MONTALTO N¢3' +update C6MartPeriodico.ContrattoSEI + set indirizzo = 'VIA CARLO CARRA'' 4 INT 8' + where cod_fiscale = 'MNNLNE93E50G702X' + and indirizzo = 'VIA CARLO CARRÀ 4 INT 8' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'LOCALITA'' SETTA, 120' +where cod_fiscale = 'BRSFNC78R57G062Z' +and indirizzo = 'LOCALITÀ SETTA, 120' +--20/10/2016 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA I MAGGIO 40' +where cod_fiscale = 'LMNTNQ47L46Z216U' +and indirizzo = 'VIA I¢ MAGGIO 40' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA A/POD.SCOPETINO N.295' +where cod_fiscale = 'MRLPRZ50C65D969T' +and indirizzo = 'VIA A/POD.SCOPETINO N¢ 295' +--27/10/2016 - segnalazione dq ID 3 +update C6MartPeriodico.ContrattoSEI +set cap = '10044' +where cod_fiscale = 'BNCGRG66C22C344P' +------------------------------------------------------------ 11/04/2017 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'SDA PROVINCIALE 484 SUD N. 8' +where cod_fiscale = 'RFULSN65S67L780B' +and indirizzo = 'SDA PROVINCIALE 484 SUD N¢ 8' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA F.GRAMIZZI N. 24' +where cod_fiscale = 'CGLGRG45M31H720T' +and indirizzo = 'VIA F.GRAMIZZI N¢ 24' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA F.GRAMIZZI N. 24' +where cod_fiscale = 'CHSCTT53L62C435N' +and indirizzo = 'VIA F.GRAMIZZI N¢ 24' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA G.BOCCACCIO N. 10' +where cod_fiscale = 'CHTGPL50P11H720M' +and indirizzo = 'VIA G.BOCCACCIO N¢ 10' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'PIAZZA DUOMO N. 8' +where cod_fiscale = 'CNLRTI80E62G535F' +and indirizzo = 'PIAZZA DUOMO N¢8' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'SDA VERDI GIUSEPPE N. 13' +where cod_fiscale = 'CTTLCU72T13I153F' +and indirizzo = 'SDA VERDI GIUSEPPE N¢ 13' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA MARZABOTTO N. 5' +where cod_fiscale = 'DDOMNL53H67Z614O' +and indirizzo = 'VIA MARZABOTTO N¢ 5' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA CHOPIN N. 416' +where cod_fiscale = 'FVAGPL61A16G337R' +and indirizzo = 'VIA CHOPIN N¢ 416' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA URBANO III N. 3' +where cod_fiscale = 'GLNBBR70M52F205C' +and indirizzo = 'VIA URBANO III N¢3' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA URBANO III N. 3' +where cod_fiscale = 'GLNBRC74H67A783U' +and indirizzo = 'VIA URBANO III N¢ 3' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'BARGONE GORZANO N. 63' +where cod_fiscale = 'MRAGRL23A27Z133U' +and indirizzo = 'BARGONE GORZANO N¢63' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'CONTRA'' XX SETTEMBRE 42' +where cod_fiscale = 'DLSCST68S41L551B' +and indirizzo = 'CONTRÀ XX SETTEMBRE 42' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA FRA'' GIOV.DA SCHIO 1' +where cod_fiscale = 'FSLLSE90T49L781C' +and indirizzo = 'VIA FRÀ GIOV.DA SCHIO 1' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA FRA'' GIOV.DA SCHIO 1' +where cod_fiscale = 'FSLNCL88A26L781P' +and indirizzo = 'VIA FRÀ GIOV.DA SCHIO 1' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA MAZZE'' 32 B SCALA G' +where cod_fiscale = 'RRGVEA74C54L219S' +and indirizzo = 'VIA MAZZÈ 32 B SCALA G' +------------------------------------------------------------ 10/07/2017 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA I. NIEVO N. 5' +where cod_fiscale = 'BRGLSN69H07C933D' +and indirizzo = 'VIA I. NIEVO N¢5' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA PETRARCA N. 4' +where cod_fiscale = 'CQTMFR72H06F205V' +and indirizzo = 'VIA PETRARCA N¢ 4' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'C.SO UMBERTO I N. 53' +where cod_fiscale = 'RPGCRL84R61E058V' +and indirizzo = 'C.SO UMBERTO I N¢ 53' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA DEL CAFFE'' 12' +where cod_fiscale = 'GGGNDR78B01A271G' +and indirizzo = 'VIA DEL CAFFÈ 12' +------------------------------------------------------------ 16/10/2017 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set indirizzo = 'VIA GOBBETTI N.5' +where rete = 'S' +and cod_fiscale = 'CSTMRN67R57B034G' +and indirizzo = 'VIA GOBBETTI N¢5' +update c6martperiodico.contrattosei +set indirizzo = 'VIA BASSA 28' +where rete = 'F' +and cod_fiscale = 'SCTMND45M58L979X' +and indirizzo = 'VIA BASSA ¨¨ 28' +--------------------------------- 15/01/2018 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set indirizzo = 'VIA CASSIA N.571 PAL A INT 5' +where rete = 'F' +and cod_fiscale = 'BLVLNE53T65A472W' +--and indirizzo = 'VIA CASSIA N°571 PAL A INT 5' +update c6martperiodico.contrattosei +set indirizzo = 'VIA DEL MONTEBELLO N. 74' +where rete = 'F' +and cod_fiscale = 'PCHBNL58R66G478P' +and indirizzo = 'VIA DEL MONTEBELLO N¢ 74' +update c6martperiodico.contrattosei +set indirizzo = 'VIA GRAMSCI N.30' +where rete = 'S' +and cod_fiscale = 'DMLBTN60M44B034H' +and indirizzo = 'VIA GRAMSCI N¢30' +update c6martperiodico.contrattosei +set indirizzo = 'LOCALITA'' MONTEMAZZANO 15/A' +where rete = 'F' +and cod_fiscale = 'GSPLSN64A26B509O' +and indirizzo = 'LOCALITÀ MONTEMAZZANO 15/A' +update c6martperiodico.anag_clienti +set indirizzo = 'LOCALITA'' MONTEMAZZANO 15/A' +where rete = 'F' +and cod_fiscale = 'GSPLSN64A26B509O' +and indirizzo = 'LOCALITÀ MONTEMAZZANO 15/A' +update a +set indirizzo = 'LOCALITA'' CA'' GRAMIGNA 64/A' +from c6martperiodico.contrattosei a +where rete = 'S' +and cod_fiscale = 'BSCLVR53C20A740D' +and indirizzo ='LOCALITÀ CA'' GRAMIGNA 64/A' +update a +set indirizzo = 'LOCALITA'' CA'' GRAMIGNA 64/A' +from c6martperiodico.anag_clienti a +where rete = 'S' +and cod_fiscale = 'BSCLVR53C20A740D' +and indirizzo ='LOCALITÀ CA'' GRAMIGNA 64/A' +update c6martperiodico.contrattosei +set indirizzo = 'VIA LIBERTA'' I TRAV A DESTRA 7' +where rete = 'S' +and cod_fiscale = 'PLMRFL52A01G902R' +and indirizzo ='VIA LIBERTÀ I TRAV A DESTRA 7' +--------------------------------- 23/04/2018 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set indirizzo = 'LOCALITA'' RUBBIOLI, 13' +where rete = 'F' +and cod_fiscale = 'GGLTRS35L52F780X' +update c6martperiodico.contrattosei +set indirizzo = 'VIA I MAGGIO 15' +where rete = 'F' +and cod_fiscale = 'TCCRTT47M66F634C' +update c6martperiodico.contrattosei +set email = 'borracelli.gianni@linkwave.eu' +where rete = 'F' +and cod_fiscale = 'BRRGNN70M25E202Y' +update c6martperiodico.contrattosei +set indirizzo = 'CORSO SPATUZZI N.146' +where rete = 'S' +and cod_fiscale = 'MRNSMN85A52C034Y' +update c6martperiodico.contrattosei +set indirizzo = 'VIA CADUTI PER LA LIBERTA'' 108 I2' +where rete = 'S' +and cod_fiscale = 'PNOCLD69A56C573G' +--------------------------------- 13/07/2018 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update a set indirizzo = 'VIA GRAMSCI N. 30' + from c6martperiodico.contrattosei a +where rete = 's' +and cod_fiscale = 'CRBCLN93D69B034J' +update a set indirizzo = 'VIA D'' AZEGLIO N. 12' + from c6martperiodico.contrattosei a +where rete = 's' +and cod_fiscale = 'MLSSLV81P43B034C' +update a set indirizzo = 'FRAZ.CASTELLINA S.PIETRO N. 14 A' + from c6martperiodico.contrattosei a +where rete = 's' +and cod_fiscale = 'SDLRRT64D08D611X' +update a set cognome = 'BORSO''' + from c6martperiodico.anag_clienti a +where rete = 's' +and cod_fiscale = 'BRSGDU38M17E329R' +--------------------------------------------------------------------------- +--------------------------------- 16/10/2018 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update a set indirizzo = 'VIA CAUDINA I TRATTO 117' + from c6martperiodico.contrattosei a +where rete = 'F' +and cod_fiscale = 'BRNVCN73A01E791X' +update a set indirizzo = 'VIA SANT''ALESSANDRO N.72' + from c6martperiodico.contrattosei a +where rete = 'S' +and cod_fiscale = 'PSSFVN61B43Z614I' +--------------------------------------------------------------------------- +--------------------------------- 21/01/2019 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update a set indirizzo = 'VIA MARTIRI DELLA LIBERTA'' 2/E' + from c6martperiodico.contrattosei a +where rete = 'F' +and cod_fiscale = 'BLDGNN45P13C573H' +--------------------------------------------------------------------------- +--------------------------------- 17/04/2019 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update a set indirizzo = 'VIA PUCCINI N.27' + from c6martperiodico.contrattosei a +where rete = 'S' +and cod_fiscale = 'CTTGZL43P45B293C' +update a set indirizzo = 'VIA PUCCINI N.27' + from c6martperiodico.contrattosei a +where rete = 'S' +and cod_fiscale = 'PZZCNZ71S67B293R' +update a set indirizzo = 'VIA P.GOBETTI N. 29' + from c6martperiodico.contrattosei a +where rete = 'S' +and cod_fiscale = 'RMNMNC70A69B034D' +update a set indirizzo = 'CONTRA'' MURE SAN ROCCO 16' + from c6martperiodico.contrattosei a +where rete = 'S' +and cod_fiscale = 'DNOTRS37E53L840Q' +--------------------------------- 12/07/2019 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update a set indirizzo = 'VIA G.BOCCACCIO N. 10' + from c6martperiodico.contrattosei a +where rete = 'S' +and cod_fiscale = 'SDLNGL53A44C904Q' +update a set indirizzo = 'VIA G.BOCCACCIO N. 10' +from c6martperiodico.anag_clienti a +where rete = 'S' +and cod_fiscale = 'SDLNGL53A44C904Q' +update a set indirizzo = 'LOCALITA'' OLMO, 441/A' + from c6martperiodico.contrattosei a +where rete = 'S' +and cod_fiscale = 'MTTMND43T44I991H' +update a set indirizzo = 'LOCALITA'' OLMO, 441/A' +from c6martperiodico.anag_clienti a +where rete = 'S' +and cod_fiscale = 'MTTMND43T44I991H' +update a set indirizzo = 'CORSO CIRIE'' 16BIS' + from c6martperiodico.contrattosei a +where rete = 'S' +and cod_fiscale = 'GBTBRN42T23L750Q' +update a set indirizzo = 'CORSO CIRIE'' 16BIS' +from c6martperiodico.anag_clienti a +where rete = 'S' +and cod_fiscale = 'GBTBRN42T23L750Q' +update a set nome = 'NICCOLO''' +from c6martperiodico.anag_clienti a +where rete = 'F' +and cod_fiscale = 'CSTNCL90M02D612E' +---------------------------------------------------------------------------------------------------------------------- +--inizio intervento FCianfa 27/07/2015 +update c6martperiodico.contrattosei +set indirizzo ='VIA CASEVECCHIE N 26' +where rete = 'F' +and cod_fiscale ='NNNMRZ60P16D653G' +and INDIRIZZO= 'VIA CASEVECCHIE N¦ 26' +--fine FCianfa +--inizio intervento: 05/02/2015 FCianfa modifica carattere anomalo presente nel campo cognome della tb c6martperiodico.anag_clienti +update c6martperiodico.anag_clienti +set cognome = 'S.A.P.I. SOCIETA'' AMM.NE' +where rete = 'S' +and cod_fiscale = '01028041000' +and cognome = 'S.A.P.I. SOCIETÀ AMM.NE' +--fine intervento: 05/02/2015 FCianfa modifica carattere anomalo presente nel campo cognome della tb c6martperiodico.anag_clienti +-- BONIFICA INDIRIZZI EMAIL FORMALMENTE ERRATI +update c6martperiodico.contrattosei +set email = 'pciprandi@tiscali.it' +where rete = 'F' +and cod_fiscale = 'CPRPLA44L30H373S' +and email = 'pciprandi,@tiscali.it' +--20/10/2016 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set email = 'n.capezzuoli@guicciardini.magni.it' +where rete = 'F' +and cod_fiscale = 'DNTNRN68L64A881H' +and email = 'n.capezzuoli°@guicciardini.magni.it' +--12/04/2017 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set email = NULL +where rete = 'F' +and cod_fiscale = 'PLCDNL47L12F205Y' +and email = 'poloicante 81 @' +--10/07/2017 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set email = 'melzi.maria5@gmail.com' +where rete = 'F' +and cod_fiscale = 'MLZMRA40H55B423F' +and email = 'melzi maria 5@gmail.com' +update c6martperiodico.contrattosei +set email = 'Pirretti.francesco@libero.it' +where rete = 'F' +and cod_fiscale = 'PRRFNC64P26F119R' +and email = 'Pirretti.francesco @libero.it' +--16/10/2017 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set email = 'tresoldiluigia@gmail.com' +where rete = 'S' +and cod_fiscale = 'TRSLGU44E55B618J' +and email = 'tresoldiluigia@@gmail.com' +update c6martperiodico.contrattosei +set indirizzo ='VIA GALEAZZO ALESSI 45' +where rete = 'F' +and cod_fiscale ='CPCGPP60H24G478D' +update c6martperiodico.contrattosei +set indirizzo ='SAL ARENELLA 13 A' +where rete = 'F' +and cod_fiscale ='MLTPLA79L71F839R' +update c6martperiodico.contrattosei +set indirizzo ='VLE DEI ROMAGNOLI 231' +where rete = 'S' +and cod_fiscale ='DCMDRN56E28H501Q' +--inizio intervento: 05/02/2015 FCianfa modifica carattere anomalo presente nel campo cognome della tb c6martperiodico.anag_clienti +update c6martperiodico.anag_clienti +set indirizzo = 'VIA GALEAZZO ALESSI 45' +where rete = 'F' +and cod_fiscale ='CPCGPP60H24G478D' +update c6martperiodico.anag_clienti +set indirizzo = 'SAL ARENELLA 13 A' +where rete = 'F' +and cod_fiscale ='MLTPLA79L71F839R' +update c6martperiodico.anag_clienti +set indirizzo = 'VLE DEI ROMAGNOLI 231' +where rete = 'S' +and cod_fiscale ='DCMDRN56E28H501Q' +--Bonifica doppi apici sul campo cod aggregato (il problema è causato dal batch di caricamento rischio_prometeia per i clienti +--che hanno un nome progetto nell'area investimento che contiene il carattere doppio apice " +--(bonifica predisposta per la trimestrale di dicembre 2015 in attesa di individuazione anomalia software) +--segnalazione dq id 23 del 26/1/2016 +update C6MartPeriodico.RISCHIO_AGGREGATO +set COD_AGGREG = replace(replace(rischio_prod.COD_AGGREG, '"', ''),'\','"') +from +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +left join C6MartPeriodico.PATRIMONIO_BF PATRBF +on PATRBF.RETE= RISCHIO_PROD.rete +AND PATRBF.COD_FISCALE= RISCHIO_PROD.cod_fiscale +where + RISCHIO_PROD.COD_AGGREG like '"%' +-------------------------------------------------------- +--update del 20201014 +--select * from +update +c6martperiodico.contrattosei +set indirizzo='LOCALITA'' MAGLIONI 6' +where cod_fiscale='DLLMGR56R59D161Y' and rete='S' +--select * from +update +c6martperiodico.anag_clienti +set indirizzo='LOCALITA'' MAGLIONI 6' +where cod_fiscale='DLLMGR56R59D161Y' and rete='S' +--select * from +update +c6martperiodico.contrattosei +set indirizzo='VIA GARRE'' 52' +where cod_fiscale='RMRPLB70P24D969A' and rete='F' +--select * from +update +c6martperiodico.anag_clienti +set indirizzo='VIA GARRE'' 52' +where cod_fiscale='RMRPLB70P24D969A' and rete='F' +--select * from +update +c6martperiodico.contrattosei +set indirizzo='VIA ANTONIO STARRABBA DI RUDINI'' 22A' +where cod_fiscale='FNSSFN74L29E958X' and rete='F' +--select * from +update +c6martperiodico.anag_clienti +set indirizzo='VIA ANTONIO STARRABBA DI RUDINI'' 22A' +where cod_fiscale='FNSSFN74L29E958X' and rete='F' +update +c6martperiodico.contrattosei +set email='ocanfora@bancafideuram.it' +where cod_fiscale='CNFTTV59R25A794J' and rete='F' +--select * from +update +c6martperiodico.anag_clienti +set e_mail='ocanfora@bancafideuram.it' +where cod_fiscale='CNFTTV59R25A794J' and rete='F' +--select * from +update +c6martperiodico.contrattosei +set email='fabrizio.paolone@gmail.com' +where cod_fiscale='PLNFRZ66L23L103U' and rete='F' +--select * from +update +c6martperiodico.anag_clienti +set e_mail='fabrizio.paolone@gmail.com',tel_recapito='039 0861329395' +where cod_fiscale='PLNFRZ66L23L103U' and rete='F' +--aggiunte 14/01/2021 +update c6martperiodico.contrattosei +set email = 'torti.franco@alice.it' +where rete = 'F' +and cod_fiscale = 'TRTFNC31C24D969R' +update c6martperiodico.contrattosei +set email = 'maria.delcarratore@icloud.com' +where rete = 'F' +and cod_fiscale = 'DLCMRA43R43B950Y' +update c6martperiodico.contrattosei +set email = 'INFO@LABARKITETTURA.IT' +where rete = 'S' +and cod_fiscale = 'CTTLRI72H61D286I' +update c6martperiodico.contrattosei +set email = null +where rete = 'S' +and cod_fiscale = 'RCCLCU60E26H501I' +update c6martperiodico.contrattosei +set email = 'GIANFRANCO_BLASI@FASTWEBNET.IT' +where rete = 'S' +and cod_fiscale = 'BLSTMS84D08H501R' +update c6martperiodico.contrattosei +set email = 'PATRIZIAGAGLIANONE@VIRGILIO.IT' +where rete = 'S' +and cod_fiscale = 'GGLPRZ61D45E655U' +update c6martperiodico.contrattosei +set email = 'MARCO@MANTECO.COM' +where rete = 'S' +and cod_fiscale = 'MNTMRC74M26G702V' +update c6martperiodico.contrattosei +set email = 'NESSUNA@BANCASARA.IT' +where rete = 'S' +and cod_fiscale = 'RBBPLA49A41B828O' +update c6martperiodico.contrattosei +set email = 'mattiatiraboschi@libero.it' +where rete = 'S' +and cod_fiscale = 'TRBMTT32R21G441K' +update c6martperiodico.contrattosei +set email = 'colombogiulia58.@alice.it' +where rete = 'F' +and cod_fiscale = 'CLMGGB58L58H264C' +update c6martperiodico.contrattosei +set email = 'lorenaberverini@alice.it' +where rete = 'F' +and cod_fiscale = 'MNRFNC52T22E897V' +--fix inserite il 15/01/2021 +update c6martperiodico.contrattosei +set email = 'luca.bocchiardo@tin.it' +where cod_fiscale = 'BCCLCU70A18D969C' and rete = 'F' +update c6martperiodico.anag_clienti +set tel_recapito = '0390105764663' , e_mail = 'luca.bocchiardo@tin.it' +where cod_fiscale = 'BCCLCU70A18D969C' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'massimopietro.chellini@umbra.it' +where cod_fiscale = 'BRGMNT39A61H501W' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'bortolan1@hotmail.it' +where cod_fiscale = 'BRTNDR66D17L736E' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'prilla9@inwind.it' +where cod_fiscale = 'BZZPSC49P59H501O' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'r.accarino@agtroma.it' +where cod_fiscale = 'CCRRRT71E06H501R' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'avv.caggianomarco@gmail.com' +where cod_fiscale = 'CGGMRC59D25H703T' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'tchey@email.it' +where cod_fiscale = 'CHYTZN58C48D742N' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'claudio@novafides.com' +where cod_fiscale = 'CLBCLD66E04G999R' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'colombogiulia58@alice.it' +where cod_fiscale = 'CLMGGB58L58H264C' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'matteo.comi@crssinergie.it' +where cod_fiscale = 'CMOMTT78L13L682T' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'GIROLAMO.CONSERVO@GMAIL.COM' +where cod_fiscale = 'CNSGLM58S18C351P' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'caridi.franci@hotmail.it' +where cod_fiscale = 'CRDFNC43R21G902G' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'f.carella@mokarica.com' +where cod_fiscale = 'CRLFNC57S63D704X' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'sergiocaselli7@gmail.com' +where cod_fiscale = 'CSLSRG47R14L483Y' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'adriano.lcz@libero.it' +where cod_fiscale = 'CSTDRN59M09G931W' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'mgrazia.dg@libero.it' +where cod_fiscale = 'DGSMGR53S67A318R' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'maria.delcarratore@icloud.com' +where cod_fiscale = 'DLCMRA43R43B950Y' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'dallaratermotecnicasp@gmail.com' +where cod_fiscale = 'DLLMRC65E26E463M' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'g.giuffrida@hotmail.it' +where cod_fiscale = 'GFFGPP56P28C351K' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'antonio.guaglio@tele2.it' +where cod_fiscale = 'GGLNTN43E25L356J' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'DIREZIONE@RECOGROUP.IT' +where cod_fiscale = 'GJIMRZ56M19L219D' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'dott.galizzi@tiscalinet.it' +where cod_fiscale = 'GLZRRT52C14A794C' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'honorati.mazzoni@libero.it' +where cod_fiscale = 'HNRGRG38A09F205O' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'omar582009@libero.it' +where cod_fiscale = 'LLLSCR58A31Z133P' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'ramodeo@karmasystem.com' +where cod_fiscale = 'MDARSR36P29H743M' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'mauriziomigliorini@gmail.com' +where cod_fiscale = 'MGLMRZ58D14G713M' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'martarose61@gmail.com' +where cod_fiscale = 'MNCDVA59S13I187U' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'maurisandra@bullonerieromagna.com' +where cod_fiscale = 'MRALSN65A58D704Q' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'massaristudiodoc@tiscali.it' +where cod_fiscale = 'MSSMRC57E27F205L' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'nadaluttivanni@libero.it' +where cod_fiscale = 'NDLVNN52A20G966S' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'p.anziliero@gmail.com' +where cod_fiscale = 'NZLPRZ67L44C743K' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'runa23@tiscali.it' +where cod_fiscale = 'NZSSMN72P53I628C' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'pochinul@gmail.com' +where cod_fiscale = 'PCHLGS43A02I452H' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'spagnini@bancafideuram.it' +where cod_fiscale = 'PGNSRG58D08F384H' and rete = 'F' +update c6martperiodico.contrattosei +set email = '999999@sort.it' +where cod_fiscale = 'PLOGPP40R19D245J' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'paparo.maria@email.it' +where cod_fiscale = 'PPRMRA56B61M089J' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'luigi.perencin@gmail.com' +where cod_fiscale = 'PRNLGU53S08H357N' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'stop@tiscali.com' +where cod_fiscale = 'PTRVLR52A23C770U' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'ALESSIO.QUINTERIO@PROMO.IT' +where cod_fiscale = 'QNTLSV51R30F205W' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'prova9@tim.it' +where cod_fiscale = 'RBRVEA76C53G674U' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'giuracconto@gmail.com' +where cod_fiscale = 'RCCGPP53E28G190X' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'FRANCONARCE@YAHOO.IT' +where cod_fiscale = 'RCLFNC57D22G535G' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'carlarconte@gmail.com' +where cod_fiscale = 'RCNCRL46L62L117G' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'DENISHP@VIRGILIO.IT' +where cod_fiscale = 'RGHDNS66T25F241G' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'rosabromeo@gmail.com' +where cod_fiscale = 'RMORBR47B45H224R' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'AVV.TODARO_AT@LIBERO.IT' +where cod_fiscale = 'TDRNNN39T19G273S' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'Taglise@yahoo.it' +where cod_fiscale = 'TGLSRN67R66C139K' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'andrea@studiotondolo.it' +where cod_fiscale = 'TNDNDR63S30L483K' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'mautanzi@teletu.it' +where cod_fiscale = 'TNZMRZ49T22L219Q' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'edoardo.tremolada@delphisas.it' +where cod_fiscale = 'TRMDRD44D24F704V' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'torti.franco@alice.it' +where cod_fiscale = 'TRTFNC31C24D969R' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'vinotto.fam@alice.it' +where cod_fiscale = 'VNTWTR59L20D062E' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'prova10@tim.com' +where cod_fiscale = 'VSNGGR64P09L840I' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'vasarri.f@vasarrifabrizio.it' +where cod_fiscale = 'VSRFRZ47B03D612R' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'Fbelli@prholding.it' +where cod_fiscale = 'BLLFNN50R25G388Z' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'GIANFRANCO_BLASI@FASTWEBNET.IT' +where cod_fiscale = 'BLSTMS84D08H501R' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'FRANCOB@TIN.IT' +where cod_fiscale = 'BRNFNC60L25E366A' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'bessonel@libero.it' +where cod_fiscale = 'BSSLNZ39D12E290E' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'alberto.bellomi99@gmail.com' +where cod_fiscale = 'CLSMGH69M60M109O' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'giovanni.corrado@italsia.it' +where cod_fiscale = 'CRRGNN58S18C616Z' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'costanza5722@gmail.com' +where cod_fiscale = 'CSTCNZ57P62H501I' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'INFO@LABARKITETTURA.IT' +where cod_fiscale = 'CTTLRI72H61D286I' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'simone728c@alice.it' +where cod_fiscale = 'CTZSMN74R15I775C' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'carlofederico.decataldo@gmail.com' +where cod_fiscale = 'DCTCLF63M15G479X' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'MDILELLA@DILELLA.IT' +where cod_fiscale = 'DLLDNC64H13A055G' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'ettore.fungi@fastwebnet.it' +where cod_fiscale = 'FNGTTR46B16A859L' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'robfan1@aliceposta.it' +where cod_fiscale = 'FNTRRT62C16F839O' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'PATRIZIAGAGLIANONE@VIRGILIO.IT' +where cod_fiscale = 'GGLPRZ61D45E655U' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'giuseppe.garletti@garlettivacc.com' +where cod_fiscale = 'GRLGPP63B09F205S' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'loggicalzature@inwind.it' +where cod_fiscale = 'LGGNDR84L23H769T' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'DAVIDELAN1964@GMAIL.COM' +where cod_fiscale = 'LNZDVD64A17I105L' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'MARCO@MANTECO.COM' +where cod_fiscale = 'MNTMRC74M26G702V' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'prova123@MANTECO.COM' +where cod_fiscale = 'MRCNDR63C10G224U' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'dodopaci@gmail.com' +where cod_fiscale = 'PCADRD79E30I625T' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'francesco@paesanoesasso.it' +where cod_fiscale = 'PSNFNC75T16F839M' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'sergiopettinaroli@outlook.it' +where cod_fiscale = 'PTTSRG57E06E488W' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'rinapizzi@gmail.com' +where cod_fiscale = 'PZZRSN38E64H501W' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'NESSUNA@BANCASARA.IT' +where cod_fiscale = 'RBBPLA49A41B828O' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'prova234@tim.com' +where cod_fiscale = 'RCCLCU60E26H501I' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'Waltervincenzetti@gmail.com' +where cod_fiscale = 'RNLSNT40T57A252M' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'prova43637@tim.com' +where cod_fiscale = 'RZZVIO47M16H535O' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'prova43637@tim.com' +where cod_fiscale = 'RZZVIO47M16H535O' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'olimpia81@hotmail.com' +where cod_fiscale = 'SLNMLM41H55H501G' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'antonio.stornelli@gmail.com' +where cod_fiscale = 'STRNTN81T14G482V' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'prova436378@hotmail.it' +where cod_fiscale = 'ZZATRN63R16B157Y' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'gaudenzidaniele9@gmail.com' +where cod_fiscale = 'GDNDNL66R08C963A' +--fix inserite il 15/04/2021 +update c6martperiodico.contrattosei +set indirizzo = 'VIA A. GARIBALDI 278' +where indirizzo = 'VIA A. GARIBALDI N¢ 278' +and cod_fiscale ='VRSGPP37T58B379V' +and rete = 'F' +update c6martperiodico.anag_clienti +set indirizzo = 'VIA A. GARIBALDI N 278' +where rete = 'F' +and cod_fiscale = 'VRSGPP37T58B379V' +and indirizzo ='VIA A. GARIBALDI N° 278' +update c6martperiodico.anag_clienti +set nome = 'NICOLO' +where rete='S' and cod_fiscale = 'LPANCL36P09F359U' +update c6martperiodico.contrattosei +set email = 'ASITEBIS@ALICE.IT' +where rete = 'F' +and cod_fiscale = 'BLTLVE69T14A271G' +update c6martperiodico.contrattosei +set email = 'stefanella.bruschi@studiolegale.it' +where rete = 'F' +and cod_fiscale = 'BRSSFN50R51G702X' +update c6martperiodico.contrattosei +set email = 'c.cartoni@gmail.com' +where rete = 'F' +and cod_fiscale = 'CRTCLD72L62H501V' +update c6martperiodico.contrattosei +set email = 'ermanno.cavaleri@gmail.com' +where rete = 'F' +and cod_fiscale = 'CVLRNN67M03L736R' +update c6martperiodico.contrattosei +set email = 'fabiogu@tiscalinet.it' +where rete = 'F' +and cod_fiscale = 'GFFFPL65L31F205Y' +update c6martperiodico.contrattosei +set email = 'ema2353@gmail.com' +where rete = 'F' +and cod_fiscale = 'MDLMNL53H23A794P' +update c6martperiodico.contrattosei +set email = 'lazama@libero.it' +where rete = 'F' +and cod_fiscale = 'MNGLSN68T31F205P' +update c6martperiodico.contrattosei +set email = 'flaviomorchi@libero.it' +where rete = 'F' +and cod_fiscale = 'MRCFLV58D22F205Y' +update c6martperiodico.contrattosei +set email = 'info@pinomazzagtti.it' +where rete = 'F' +and cod_fiscale = 'MZZPNI51B13I084B' +update c6martperiodico.contrattosei +set email = 'pino.patisso@gmail.com' +where rete = 'F' +and cod_fiscale = 'PTSGPP51E09G098H' +update c6martperiodico.contrattosei +set email = 'ANDREA.SCHIETTI@CECCONISCHIETTi.com' +where rete = 'F' +and cod_fiscale = 'SCHNDR66T29D869T' +update c6martperiodico.contrattosei +set email = '58cerchio@gmail.com' +where rete = 'F' +and cod_fiscale = 'TRRFNC59A03G580U' +update c6martperiodico.contrattosei +set email = 'ebergamo@notariato.it' +where rete = 'S' +and cod_fiscale = 'BRGLEI74L07L719W' +update c6martperiodico.contrattosei +set email = 'nikcea@gmail.com' +where rete = 'S' +and cod_fiscale = 'CEANCL65B12F052D' +update c6martperiodico.contrattosei +set email = 'dnglcn53@gmail.com' +where rete = 'S' +and cod_fiscale = 'DNGLCN53T20G482V' +update c6martperiodico.contrattosei +set email = 'SANDRA.FERRAZIN74@gmail.com' +where rete = 'S' +and cod_fiscale = 'FRRSDR46P48G224N' +update c6martperiodico.contrattosei +set email = 'mmontagn@hotmail.com' +where rete = 'S' +and cod_fiscale = 'MNTMRZ58E30E507C' +update c6martperiodico.contrattosei +set email = 'FAIR_SRL@ALICE.IT' +where rete = 'S' +and cod_fiscale = 'PPPMRS61M41E435W' +update c6martperiodico.contrattosei +set email = 'pterrosu@hotmail.com' +where rete = 'S' +and cod_fiscale = 'TRRPFR53P18I452U' +update c6martperiodico.contrattosei +set email = 'kettitrevisan@libero.it' +where rete = 'S' +and cod_fiscale = 'TRVKTT68C41C111P' +--20231231 Trimestrale Lotto 2 Gennaio 24 +update c6martperiodico.contrattosei +set INDIRIZZO='CADUTI DELLA LIBERTA 9' +where cod_fiscale = 'GRNCLD65D06L003S' + --fix inserite il 26/01/2022 + update c6martperiodico.contrattosei +set email = 'pasqualecolucci1948@gmail.com' +where rete = 'F' +and cod_fiscale = 'CLCPQL48B08F839H' + update c6martperiodico.contrattosei +set email = 'VIRGINIO.48@LIBERO.IT' +where rete = 'F' +and cod_fiscale = 'CZZVGN48L21H264W' + update c6martperiodico.contrattosei +set email = 'VIRNA@VPARCHITETTI.IT' +where rete = 'F' +and cod_fiscale = 'PRSVRN60H42L407W' + update c6martperiodico.contrattosei +set email = 'Terry.ronchi52@gmail.com' +where rete = 'F' +and cod_fiscale = 'RNCMTR52S50D869V' + update c6martperiodico.contrattosei +set email = 'SILVIO.RINALDI.SR@GMAIL.COM' +where rete = 'F' +and cod_fiscale = 'RNLSVG50E13D969K' + update c6martperiodico.contrattosei +set email = 'GIANNI19650@LIBERO.IT' +where rete = 'F' +and cod_fiscale = 'ZGLGNN65R19L157Z' + update c6martperiodico.contrattosei +set email = 'MARCOMARINI_GEOLOGO@FASTWEBNET.it' +where rete = 'S' +and cod_fiscale = 'MRNMRC62P28H037Q' + update c6martperiodico.contrattosei +set email = 'patrizia.tosto62@gmail.com' +where rete = 'S' +and cod_fiscale = 'TSTPRZ62P44B429E' + update c6martperiodico.contrattosei +set email = 'patrizia.tosto62@gmail.com' +where rete = 'S' +and cod_fiscale = 'TSTPRZ62P44B429E' + update c6martperiodico.contrattosei +set Presso = 'TeR BABY SRL' +where rete = 'F' +and cod_fiscale = 'TRRCML81T63F839J' + update c6martperiodico.contrattosei +set Indirizzo = 'VIA SETTEVENE PALO I TRONCO 10' +where rete = 'F' +and cod_fiscale = 'ZNSCNZ72C65H501C' + update c6martperiodico.contrattosei +set Indirizzo = 'VIA MORICI N 4/A' +where rete = 'F' +and cod_fiscale = 'MZZDNL76T68G273F' + update c6martperiodico.contrattosei +set Indirizzo = 'VIA DELLA LIBERTA 10' +where rete = 'F' +and cod_fiscale = 'FRCFNC58R05L985B' + update c6martperiodico.contrattosei +set Indirizzo = 'LOC. LOCALITA MONTEMAZZANO 15/A 15 A' +where rete = 'F' +and cod_fiscale = 'GSPLSN64A26B509O' + update c6martperiodico.contrattosei +set Indirizzo = 'CALCADA DE SAO VICENTE 68' +where rete = 'F' +and cod_fiscale = 'DNDMCL54A11L551Z' + update c6martperiodico.contrattosei +set Indirizzo = 'RUA DAS GARCAS 125' +where rete = 'F' +and cod_fiscale = 'CPPMNL76R16H282I' +update c6martperiodico.contrattosei +set Presso = 'VILLA GIANO SC.A - 4 PIA INT.7' +where rete = 'S' +and cod_fiscale = 'BTTTRS38M52I892G' + update c6martperiodico.contrattosei +set Indirizzo = 'CALLE LOS MILLONES, 6 - 54' +where rete = 'S' +and cod_fiscale = 'RVRDNL81D22H501V' + update c6martperiodico.contrattosei +set Indirizzo = 'VIA NICOL BALANZANO 58 PLT IN 1' +where rete = 'S' +and cod_fiscale = 'FLLGPP48S03A893T' +update C6MartPeriodico.contrattosei +set Indirizzo='VIA ROMOLO BALZANI 40 ED.G SC1' +where rete='S' and Cod_Fiscale='RNDSFN67P13H501V' +update C6MartPeriodico.ANAG_CLIENTI +set INDIRIZZO='VIA A. GARIBALDI N 278' +where rete='F' and Cod_Fiscale='VRSGPP37T58B379V' +update C6MartPeriodico.contrattosei +set INDIRIZZO='VIA A. GARIBALDI N 278' +where rete='F' and Cod_Fiscale='VRSGPP37T58B379V' +update C6MartPeriodico.contrattosei +set Email='BATTISTA@TRAPATTONISRL.IT' + where rete='F' and Cod_Fiscale='TRPBTS62L25H509O' + update C6MartPeriodico.contrattosei +set Email='AVVOCATOCENTOLA@ALICE.IT' + where rete='F' and Cod_Fiscale='CNTTMR39L05H985M' + update C6MartPeriodico.contrattosei +set Email='m.ciaramelletti@alice.it' + where rete='F' and Cod_Fiscale='CRMMRZ64C13H282M' + update C6MartPeriodico.contrattosei +set Email='CSCMOBILE.CRATERI@GMAIL.COM' + where rete='F' and Cod_Fiscale='CRTMGR51E68F801W' + update C6MartPeriodico.contrattosei +set Email='ALBERTOZINANNI@GMAIL.COM' + where rete='F' and Cod_Fiscale='ZNNLRT82L25G713J' + update C6MartPeriodico.contrattosei +set Email='TEST@GMAIL.COM' + where rete='S' and Cod_Fiscale='RMBMGL61R59H642J' + update C6MartPeriodico.contrattosei +set Email='BRESCIANISIMONE@VIRGILIO.IT' + where rete='S' and Cod_Fiscale='BRSSMN75A21G628P' + --segnalazione S&M 18/07/2022 + update C6MartPeriodico.contrattosei +set Email='LUCIAIMP@LIBERO.IT' + where rete='F' and Cod_Fiscale='MPRLCU59L46F839O' + update C6MartPeriodico.contrattosei +set presso='EOS E PARTNERS SRL' + where rete='F' and Cod_Fiscale='92305670280' + update C6MartPeriodico.contrattosei +set presso='CERVESI E CERVESI' + where rete='F' and Cod_Fiscale='CRVNNA90T68L424A' + --26/09/2022 + update c6martperiodico.contrattosei + set INDIRIZZO='RUE EUGENE LABICHE 11' + where cod_fiscale = 'BRNCLN70D50Z110J' +update c6martperiodico.contrattosei + set INDIRIZZO='AVENIDA BARTOLOME MITRE 2466' + where cod_fiscale = 'DNOWLJ46L49E848A' +update c6martperiodico.contrattosei + set Citta='SARANDI' + where cod_fiscale = 'DNOWLJ46L49E848A' +update c6martperiodico.contrattosei + set EMAIL='NESSUNA@BANCASARA.IT' + where cod_fiscale = 'SRLMRT37R49B157M' +update c6martperiodico.contrattosei + set EMAIL='ASCOMARY@GMAIL.COM' + where cod_fiscale = 'SCLMRS52A65F138O' +UPDATE C6StampeCentralizzate.C6MartPeriodico.ANAG_CLIENTI +SET INDIRIZZO ='RUE DU MARECHAL DE LATTRE DE TASSIGNY' +WHERE Cod_Fiscale = 'PCNVCN72R23G273V' +update c6martperiodico.contrattosei +SET INDIRIZZO ='RUE DU MARECHAL DE LATTRE DE TASSIGNY' +WHERE Cod_Fiscale = 'PCNVCN72R23G273V' +UPDATE C6StampeCentralizzate.C6MartPeriodico.contrattosei +SET Email = 'ANDREA.RUSCONI@EIFFAGE.COM' +where Cod_Fiscale ='RSCNDR71P21E507V' +UPDATE C6StampeCentralizzate.C6MartPeriodico.contrattosei +SET Email = 'GIULIANO.PEZZOTTI@GMAIL.COM' +where Cod_Fiscale ='PZZGLN69R31D251S' +UPDATE C6MartPeriodico.ANAG_CLIENTI +SET COGNOME ='SOCIETA SEMPLICE TOLOMEO' +where COD_FISCALE='95695790154' +UPDATE C6StampeCentralizzate.C6MartPeriodico.contrattosei +SET Citta = 'CITTA'' DI SAN MARINO' +WHERE Cod_Fiscale='CLVLDA65B17I952R' +UPDATE C6MartPeriodico.ANAG_CLIENTI +SET LOCALITA = 'CITTA'' DI SAN MARINO' +WHERE Cod_Fiscale='CLVLDA65B17I952R' +--20230615 +update C6MartPeriodico.contrattosei +set Indirizzo='CARRER DE PAU ALSINA 74 4/O 4/A' +WHERE Cod_Fiscale='MRCNDR69T02H501K'--CARRER DE PAU ALSINA 74 4º 4ª +UPDATE C6MartPeriodico.ANAG_CLIENTI +SET INDIRIZZO='CARRER DE PAU ALSINA 74 4/O 4/A' +WHERE Cod_Fiscale='MRCNDR69T02H501K'--CARRER DE PAU ALSINA 74 4º 4ª +UPDATE C6MartPeriodico.contrattosei +SET Indirizzo='VIA MARTIRI DELLA LIBERTA'',41/D' +WHERE Cod_Fiscale='BLLGNN78M22G843K' +UPDATE C6MartPeriodico.contrattosei +SET Indirizzo='VIA MARTIRI DELLA LIBERTA'',41/D' +WHERE Cod_Fiscale='BLLGNN78M22G843K' +--20230714 +update C6MartPeriodico.contrattosei +set indirizzo='VIA MELCHIORRE GIOIA 22',CAP='20124' +where Indirizzo ='VIA MONTEBELLO 18' and Citta='Milano' and PIva_Fiduciaria='01840910150' +update C6MartPeriodico.ANAG_CLIENTI +set INDIRIZZO='VIA MELCHIORRE GIOIA,22', CAP='20124' +where INDIRIZZO like '%VIA MONTEBELLO,18%' and COGNOME='SOCIETA ITALIANA DI REVISIONE E FIDUCIARIA S.P.A' +--20231019 +update c6martperiodico.contrattosei + set INDIRIZZO='VICO 1 SAN MARTINO 2' + where cod_fiscale = 'LIUNCL73T04H687R' +update c6martperiodico.contrattosei + set Citta='CITTA DI SAN MARINO' + where cod_fiscale = 'FLPGNC54T10H501E' +update c6martperiodico.contrattosei + set INDIRIZZO='VIA LOCALITA MOZZOLI 30A' + where cod_fiscale = 'DFRLND74M01Z516R' +update c6martperiodico.contrattosei + set INDIRIZZO='VIA SALVADOR DALI 12' + where cod_fiscale = 'MRLGNE58R11H501P' +--20231105 +update C6MartPeriodico.contrattosei +set Email='achillemderamo@gmail.com' +where cod_fiscale ='DRMCLL53A08A367V' +--20231231 Trimestrale Lotto 2 Gennaio 24 +update c6martperiodico.contrattosei +set INDIRIZZO='CADUTI DELLA LIBERTA 9' +where cod_fiscale = 'GRNCLD65D06L003S' +--20231231 Trimestrale Lotto 2 Gennaio 24 +update c6martperiodico.ANAG_CLIENTI +set INDIRIZZO='CADUTI DELLA LIBERTA 9' +where cod_fiscale = 'GRNCLD65D06L003S' +--20240729 Timestrale Luglio 24 +update c6martperiodico.contrattosei + set INDIRIZZO='CITE GRISET 4' + where cod_fiscale = 'TDJKRM75L15Z110F' +--20241016 Timestrale Ottobre 24 +update c6martperiodico.contrattosei + set INDIRIZZO='ALLEE DE LA BUTTE 6' + where cod_fiscale = 'CRTNTN60L02Z110X' +update c6martperiodico.contrattosei + set Presso='S. NICOLo DI CELLE' + where cod_fiscale = 'BRCPQL57E18D279J' +update c6martperiodico.contrattosei + set Citta='SAN NICOLAS DE LOS ARROYO' + where cod_fiscale = 'SPDMCR60B64Z600J' +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_BonificaDati_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_BonificaDati_pre_selective.sql new file mode 100644 index 00000000..21f18632 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_BonificaDati_pre_selective.sql @@ -0,0 +1,249 @@ +CREATE procedure [C6MartPeriodico].[SP_DQ_BonificaDati_pre_selective] +AS +BEGIN +-- select count(*) from C6MartPeriodico.contrattosei +-- BONIFICA CARATTERI ANOMALI +update c6martperiodico.contrattosei set indirizzo ='VIA FRANGIPANE, TR.2, N.6' where cod_fiscale ='BRGGNN32A02H224F' and INDIRIZZO= 'VIA FRANGIPANE, TR.2^, N.6' +update c6martperiodico.contrattosei set indirizzo ='VIA POSTIERLA N 31/C' where cod_fiscale ='CCCRNI39T54I381U' and INDIRIZZO= 'VIA POSTIERLA N¢ 31/C' +update c6martperiodico.contrattosei set indirizzo ='VIA DEGLI OPERAI N 25' where cod_fiscale ='DTNNZR56M23D653T' and INDIRIZZO= 'VIA DEGLI OPERAI N¢ 25' +update c6martperiodico.contrattosei set indirizzo ='VIA F.SICILIANI N 1' where cod_fiscale ='FRRTDR64M26A638Q' and INDIRIZZO= 'VIA F.SICILIANI N¢ 1' +update c6martperiodico.contrattosei set Citta ='VALLA'' DI RIESE PIO X' where cod_fiscale ='NDRTZN81A03C111N' and Citta= 'VALLA'' DI RIESE PIO X¢' +update c6martperiodico.contrattosei set indirizzo ='VIA A.MOTTA N 61' where cod_fiscale ='TRRCRL47S28L667C' and INDIRIZZO= 'VIA A.MOTTA N¢ 61' +update c6martperiodico.contrattosei set indirizzo ='VIA RIOMAGGIORE N 1' where cod_fiscale ='CRPDNC37C69L689V' and INDIRIZZO= 'VIA RIOMAGGIORE N¢1' +update c6martperiodico.contrattosei set indirizzo ='VIA SANTI N 17' where cod_fiscale ='RNALRT64R05G337D' and INDIRIZZO= 'VIA SANTI N¢ 17' +update c6martperiodico.contrattosei set indirizzo ='VIA M.DELLA LIBERT'' 13' where cod_fiscale ='GLPMRA71A16G856Z' and INDIRIZZO= 'VIA M.DELLA LIBERTÀ 13' +update c6martperiodico.contrattosei set indirizzo ='LOCALITA'' MONETA' where cod_fiscale ='VLLCNZ58P47L219Z' and INDIRIZZO= 'LOCALITÀ MONETA' +update c6martperiodico.contrattosei set Citta ='FORLI''' where cod_fiscale ='GHTDNC38S29D704K' and Citta= 'FORLÌ' +update c6martperiodico.contrattosei +set presso = 'KOSTORIS e ASSOC.-STUDIO LEGALE' +where rete = 'F' +and cod_fiscale = 'KSTLRT60R14L424G' +and presso = 'KOSTORIS & ASSOC.-STUDIO LEGALE' +update c6martperiodico.contrattosei +set indirizzo = 'VIA VINCENZO CIARDO N. 3' +where rete = 'S' +and cod_fiscale = 'CNGMTR43S59E506C' +and indirizzo = 'VIA VINCENZO CIARDO N¢ 3' +update c6martperiodico.contrattosei +set indirizzo = 'VIA VINCENZO CIARDO N. 3' +where rete = 'S' +and cod_fiscale = 'CNGRSO46T44E506U' +and indirizzo = 'VIA VINCENZO CIARDO N¢ 3' +update c6martperiodico.contrattosei +set indirizzo = 'VIA VINCENZO BELLINI N.6' +where rete = 'S' +and cod_fiscale = 'CRBMLD59M69C351S' +and indirizzo = 'VIA VINCENZO BELLINI N¢6' +update c6martperiodico.contrattosei +set indirizzo = 'VIA SS 18 I TR. N. 11' +where rete = 'S' +and cod_fiscale = 'LZZCRC51P41B666S' +and indirizzo = 'VIA SS 18 I TR. N¢ 11' +update c6martperiodico.contrattosei +set indirizzo = 'VIA DELL''IMPRUNETA N. 26' +where rete = 'S' +and cod_fiscale = 'RMNMRA69D13C351J' +and indirizzo = 'VIA DELL''IMPRUNETA N¢ 26' +update c6martperiodico.contrattosei +set indirizzo = 'LOCALITA'' MALTRAVERSO, 13' +where rete = 'F' +and cod_fiscale = 'PRSRNZ59B21C847E' +and indirizzo = 'LOCALITÀ MALTRAVERSO, 13' +update c6martperiodico.contrattosei +set citta = 'CITTA'' SANTANGELO' +where rete = 'S' +and cod_fiscale = 'DFRNTN56D20A120O' +and citta = 'CITTÀ SANTANGELO' +update c6martperiodico.contrattosei +set indirizzo = 'VIA MICHELE PIETRAVALLE 85 R' +where rete = 'F' +and cod_fiscale = 'DLLGST40D14B963Q' +and indirizzo = 'VIA MICHELE PIETRAVALLE 85 ÇR' +update c6martperiodico.contrattosei +set indirizzo = 'VIA MICHELE PIETRAVALLE 85 B' +where rete = 'F' +and cod_fiscale = 'NZZSRA43S52F839U' +and indirizzo = 'VIA MICHELE PIETRAVALLE 85 ÇB' +update c6martperiodico.contrattosei +set indirizzo = 'VIA TRENTO 14 - 27 SC D' +where rete = 'S' +and cod_fiscale = 'BOXFNC95S22D969G' +and indirizzo = 'VIA TRENTO 14 Ç 27 SC D' +update c6martperiodico.contrattosei +set indirizzo = 'VCLO POME'' 14' +where rete = 'F' +and cod_fiscale = 'PRNNRC48D09E801B' +and indirizzo = 'VCLO POMÈ 14' +update c6martperiodico.contrattosei +set indirizzo = 'LOC.MASARE'' COL BADIOT' +where rete = 'S' +and cod_fiscale = 'CRDNZE48S13E490Z' +and indirizzo = 'LOC.MASARÈ COL BADIOT' +update c6martperiodico.contrattosei +set indirizzo = 'VIA ROMBO'' 37' +where rete = 'F' +and cod_fiscale = 'STRGLG70H15H355F' +and indirizzo = 'VIA ROMBÒ 37' +--inizio intervento: 17/07/2015 LMaggi modifica carattere anomalo presente nel campo indirizzo e del campo 'presso' della tb c6martperiodico.contrattosei +update c6martperiodico.contrattosei +set indirizzo = 'VIA BEATO ANGELICO N. 4' +where rete = 'F' +and cod_fiscale = 'CLLPLA53R43G148Z' +and indirizzo = 'VIA BEATO ANGELICO N¢ 4' +update c6martperiodico.contrattosei +set indirizzo = 'LOCAL.FORNI N. 2' +where rete = 'F' +and cod_fiscale = 'DNSVTR45B04A940D' +and indirizzo = 'LOCAL.FORNI N¢ 2' +update c6martperiodico.contrattosei +set indirizzo = 'VIA DEL CORMORANO N. 21' +where rete = 'F' +and cod_fiscale = 'SVVSRA75L43L117F' +and indirizzo = 'VIA DEL CORMORANO N¢ 21' +update c6martperiodico.contrattosei +set indirizzo = 'BORGO RICCIO DA PARMA N.50' +where rete = 'S' +and cod_fiscale = 'MNTSFN57B10G337O' +and indirizzo = 'BORGO RICCIO DA PARMA N¢50' +update c6martperiodico.contrattosei +set indirizzo = 'VIA LEONE IV N. 38' +where rete = 'S' +and cod_fiscale = 'RMNBMN37L23C351J' +and indirizzo = 'VIA LEONE IV N¢ 38' +update c6martperiodico.contrattosei +set indirizzo = 'VIA MARCHETTI N. 27' +where rete = 'S' +and cod_fiscale = 'SLRRLF40D17L689Q' +and indirizzo = 'VIA MARCHETTI N¢ 27' +update c6martperiodico.contrattosei +set indirizzo = 'VIA ROCCA N. 8' +where rete = 'S' +and cod_fiscale = 'ZMBRNG35C70H682I' +and indirizzo = 'VIA ROCCA N¢ 8' +update c6martperiodico.contrattosei +set indirizzo = 'LOCALITA'' PERA, 1' +where rete = 'F' +and cod_fiscale = 'MCHFST58P24C372Z' +and indirizzo = 'LOCALITÀ PERA, 1' +update c6martperiodico.contrattosei +set indirizzo = 'LOCALITA'' RONCO BALDELLO 1' +where rete = 'F' +and cod_fiscale = 'SLNRRT61A25A794Y' +and indirizzo = 'LOCALITÀ RONCO BALDELLO 1' +update c6martperiodico.contrattosei +set presso = 'STEFANIA BLE''' +where rete = 'S' +and cod_fiscale = 'DDSCNN57S54Z110A' +and presso = 'STEFANIA BLÈ' +--9/2/2016 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set indirizzo = 'VIA ARCUENTU 9 ESP.2' +where rete = 'F' +and cod_fiscale = 'MNNNMR69M46L093G' +and indirizzo = 'VIA ARCUENTU 9 ESP.2 ¢' +update c6martperiodico.contrattosei +set indirizzo = 'PZZA XVIII MAGGIO 1944 N. 8' +where rete = 'S' +and cod_fiscale = 'SPSRFL60H27F839X' +and indirizzo = 'PZZA XVIII MAGGIO 1944 N¢ 8' +update c6martperiodico.contrattosei +set indirizzo = 'V.GOZZANO 1ma TRAVERSA,3-S.TERENZO-' +where rete = 'S' +and cod_fiscale = 'LNDMSM57S30E463S' +and indirizzo = 'V.GOZZANO 1ª TRAVERSA,3-S.TERENZO-' +update c6martperiodico.contrattosei +set indirizzo = 'VIA BERSO'' RIO, 12' +where rete = 'S' +and cod_fiscale = 'PRTFBA61H20A269D' +and indirizzo = 'VIA BERSÒ RIO, 12' +--27/4/2016 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set indirizzo = 'VIA S.LUCIA 64 M' +where rete = 'S' +and cod_fiscale = 'LGRMTN50P67Z110T' +and indirizzo = 'VIA S:LUCIA 64 M' +update c6martperiodico.anag_clienti +set cognome = 'CONDRO''' +where rete = 'S' +and cod_fiscale = 'CNDLNU88T59I138R' +and cognome = 'CONDRÒ' +--11/07/2016 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update C6MartPeriodico.ContrattoSEI + set indirizzo = 'VIA MORICI N. 4/A' + where cod_fiscale = 'MZZDNL76T68G273F' + and indirizzo = 'VIA MORICI N¢ 4/A' +update C6MartPeriodico.ContrattoSEI + set indirizzo = 'VIA IV NOVEMBRE N. 22' + where cod_fiscale = 'BRRNGL44L52C145G' + and indirizzo = 'VIA IV NOVEMBRE N¢ 22' +update C6MartPeriodico.ContrattoSEI + set indirizzo = 'VIA IV NOVEMBRE N. 22' + where cod_fiscale = 'FRRPLA40L09B034B' + and indirizzo = 'VIA IV NOVEMBRE N¢ 22' +update C6MartPeriodico.ContrattoSEI + set indirizzo = 'VIA CIACCIO MONTALTO N.3' + where cod_fiscale = 'LNNNNL64A66I153M' + and indirizzo = 'VIA CIACCIO MONTALTO N¢3' +update C6MartPeriodico.ContrattoSEI + set indirizzo = 'VIA CARLO CARRA'' 4 INT 8' + where cod_fiscale = 'MNNLNE93E50G702X' + and indirizzo = 'VIA CARLO CARRÀ 4 INT 8' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'LOCALITA'' SETTA, 120' +where cod_fiscale = 'BRSFNC78R57G062Z' +and indirizzo = 'LOCALITÀ SETTA, 120' +--20/10/2016 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA I MAGGIO 40' +where cod_fiscale = 'LMNTNQ47L46Z216U' +and indirizzo = 'VIA I¢ MAGGIO 40' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA A/POD.SCOPETINO N.295' +where cod_fiscale = 'MRLPRZ50C65D969T' +and indirizzo = 'VIA A/POD.SCOPETINO N¢ 295' +--27/10/2016 - segnalazione dq ID 3 +update C6MartPeriodico.ContrattoSEI +set cap = '10044' +where cod_fiscale = 'BNCGRG66C22C344P' +--------------------------------------------------------------------------- +--inizio intervento FCianfa 27/07/2015 +update c6martperiodico.contrattosei +set indirizzo ='VIA CASEVECCHIE N 26' +where rete = 'F' +and cod_fiscale ='NNNMRZ60P16D653G' +and INDIRIZZO= 'VIA CASEVECCHIE N¦ 26' +--fine FCianfa +--inizio intervento: 05/02/2015 FCianfa modifica carattere anomalo presente nel campo cognome della tb c6martperiodico.anag_clienti +update c6martperiodico.anag_clienti +set cognome = 'S.A.P.I. SOCIETA'' AMM.NE' +where rete = 'S' +and cod_fiscale = '01028041000' +and cognome = 'S.A.P.I. SOCIETÀ AMM.NE' +--fine intervento: 05/02/2015 FCianfa modifica carattere anomalo presente nel campo cognome della tb c6martperiodico.anag_clienti +-- BONIFICA INDIRIZZI EMAIL FORMALMENTE ERRATI +update c6martperiodico.contrattosei +set email = 'pciprandi@tiscali.it' +where rete = 'F' +and cod_fiscale = 'CPRPLA44L30H373S' +and email = 'pciprandi,@tiscali.it' +--20/10/2016 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set email = 'n.capezzuoli@guicciardini.magni.it' +where rete = 'F' +and cod_fiscale = 'DNTNRN68L64A881H' +and email = 'n.capezzuoli°@guicciardini.magni.it' +--Bonifica doppi apici sul campo cod aggregato (il problema è causato dal batch di caricamento rischio_prometeia per i clienti +--che hanno un nome progetto nell'area investimento che contiene il carattere doppio apice " +--(bonifica predisposta per la trimestrale di dicembre 2015 in attesa di individuazione anomalia software) +--segnalazione dq id 23 del 26/1/2016 +update C6MartPeriodico.RISCHIO_AGGREGATO +set COD_AGGREG = replace(replace(rischio_prod.COD_AGGREG, '"', ''),'\','"') +from +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +left join C6MartPeriodico.PATRIMONIO_BF PATRBF +on PATRBF.RETE= RISCHIO_PROD.rete +AND PATRBF.COD_FISCALE= RISCHIO_PROD.cod_fiscale +where + RISCHIO_PROD.COD_AGGREG like '"%' +-------------------------------------------------------- +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_CaratteriAnomali.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_CaratteriAnomali.sql new file mode 100644 index 00000000..6fa9bcd8 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_CaratteriAnomali.sql @@ -0,0 +1,52 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano in Anagrafica caratteri anomali nei campi che formano l’indirizzo di +-- domiciliazione del contratto di consulenza +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +-- [C6MartPeriodico].[SP_DQ_CaratteriAnomali] 2 +CREATE procedure [C6MartPeriodico].[SP_DQ_CaratteriAnomali] +@idFaseElaborazione int +AS +BEGIN +drop table if exists C6MartPeriodico.TB_ClienticonCaratteriAnomali +--drop table #tab_temp +--drop table #TbErrori +Declare @idTipoControllo int +set @idTipoControllo=7 +CREATE TABLE #tab_temp( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL) +insert into #tab_temp +exec [C6MartPeriodico].[CercaCaratteriAnomali] +select val_Ascii,Val_Char,Rete,Cod_Fiscale,Nome_Campo,Val_Campo +into C6MartPeriodico.TB_ClienticonCaratteriAnomali +from #tab_temp +select *,@idTipoControllo idTipoControllo + into #TbErrori +from #tab_temp +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale, +Replace(replace(DescSegnalazione,'campo$',tbErr.Nome_Campo),'carattere$',tbErr.Val_Char) ,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_CaratteriAnomali_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_CaratteriAnomali_pre_selective.sql new file mode 100644 index 00000000..b7d5ea7e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_CaratteriAnomali_pre_selective.sql @@ -0,0 +1,48 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano in Anagrafica caratteri anomali nei campi che formano l’indirizzo di +-- domiciliazione del contratto di consulenza +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +-- [C6MartPeriodico].[SP_DQ_CaratteriAnomali_pre_selective] 2 +CREATE procedure [C6MartPeriodico].[SP_DQ_CaratteriAnomali_pre_selective] +@idFaseElaborazione int +AS +BEGIN +--drop table #tab_temp +--drop table #TbErrori +Declare @idTipoControllo int +set @idTipoControllo=7 +CREATE TABLE #tab_temp( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL) +insert into #tab_temp +exec [C6MartPeriodico].[CercaCaratteriAnomali] +select *,@idTipoControllo idTipoControllo + into #TbErrori +from #tab_temp +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale, +Replace(replace(DescSegnalazione,'campo$',tbErr.Nome_Campo),'carattere$',tbErr.Val_Char) ,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio.sql new file mode 100644 index 00000000..c2f38743 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio.sql @@ -0,0 +1,42 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo Data Avvio del Monitoraggio ( dtSalvataggio ) sulla tabella +-- [C6MartPeriodico].[MONITORAGGIO_INIZIALE] +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_DataAvvioMonitoraggio] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=3 +SELECT + V.rete AS RETE, + V.COD_FISCALE AS COD_FISCALE, + @idTipoControllo idtipocontrollo +into #TbErrori +FROM C6StagingPeriodico.appo_contratti_v V + INNER JOIN C6STAGINGPERIODICO.RP_MonitoraggioStorico M + ON V.chiaveClientePB = M.chiaveClientePB + WHERE stato = '2' + AND M.dtSalvataggio IS NULL +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,COD_FISCALE,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio_pre_selective.sql new file mode 100644 index 00000000..5a29160e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio_pre_selective.sql @@ -0,0 +1,42 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo Data Avvio del Monitoraggio ( dtSalvataggio ) sulla tabella +-- [C6MartPeriodico].[MONITORAGGIO_INIZIALE] +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_DataAvvioMonitoraggio_pre_selective] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=3 +SELECT + V.rete AS RETE, + V.COD_FISCALE AS COD_FISCALE, + @idTipoControllo idtipocontrollo +into #TbErrori +FROM C6StagingPeriodico.APPO_CONTRATTI V + INNER JOIN C6STAGINGPERIODICO.RP_MonitoraggioStorico M + ON V.chiaveClientePB = M.chiaveClientePB + WHERE stato = '2' + AND M.dtSalvataggio IS NULL +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,COD_FISCALE,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab.sql new file mode 100644 index 00000000..68810b00 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab.sql @@ -0,0 +1,69 @@ +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 17/09/2014 +-- Description: +-- TODO --- Da ottimizzare per Data Quality +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_DataValorizzazioneTRenab] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=10 + SELECT @idTipoControllo as idtipocontrollo, + TANAB.RETE AS RETE, + VC.COD_FISCALE as codfis, + 'DTVALORIZZ non valida - Area: ' + + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END + ' Nome Progetto: ' + + ISNULL(CS.nomeProgetto, 'XXX') + ' - DTVALORIZZ: ' + + CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) + + ' - CTV_MONITORATO: ' + ltrim(rtrim(cast(WRENAB.CTV AS VARCHAR(20)))) + + ' - RISORSE_ASSOCIATE: ' + ltrim(rtrim(cast(WRENAB.CVN AS VARCHAR(20)))) + + ' - CEDOLE_DIV: ' + ltrim(rtrim(cast((TANAB.TOT_CED + TANAB.TOT_DIV) AS VARCHAR(20)))) + + ' - ChiaveProgetto: ' + cast(isnull(CM.ChiaveProgetto, '') as varchar(10)) as descerror + into #TbErrori + FROM C6STAGINGPERIODICO.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB + ON TANAB.CODPROG = WRENAB.CODPROG + AND TANAB.DTRIF = WRENAB.DTRIF + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON TANAB.CODPROG = CM.idmonitoraggio +-- INNER JOIN C6StagingPeriodico.RP_Consulenza CS +-- ON CM.chiaveprogetto = CS.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + INNER JOIN C6stagingperiodico.appo_contratti_v VC + ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND TANAB.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE 1 = 1 + AND TANAB.DTFINE = '99991231' + AND ISDATE(WRENAB.DTVALORIZ) = 0 +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,descerror,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab_pre_selective.sql new file mode 100644 index 00000000..ea7d7718 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab_pre_selective.sql @@ -0,0 +1,69 @@ +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 17/09/2014 +-- Description: +-- TODO --- Da ottimizzare per Data Quality +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_DataValorizzazioneTRenab_pre_selective] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=10 + SELECT @idTipoControllo as idtipocontrollo, + TANAB.RETE AS RETE, + VC.COD_FISCALE as codfis, + 'DTVALORIZZ non valida - Area: ' + + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END + ' Nome Progetto: ' + + ISNULL(CS.nomeProgetto, 'XXX') + ' - DTVALORIZZ: ' + + CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) + + ' - CTV_MONITORATO: ' + ltrim(rtrim(cast(WRENAB.CTV AS VARCHAR(20)))) + + ' - RISORSE_ASSOCIATE: ' + ltrim(rtrim(cast(WRENAB.CVN AS VARCHAR(20)))) + + ' - CEDOLE_DIV: ' + ltrim(rtrim(cast((TANAB.TOT_CED + TANAB.TOT_DIV) AS VARCHAR(20)))) + + ' - ChiaveProgetto: ' + cast(isnull(CM.ChiaveProgetto, '') as varchar(10)) as descerror + into #TbErrori + FROM C6STAGINGPERIODICO.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB + ON TANAB.CODPROG = WRENAB.CODPROG + AND TANAB.DTRIF = WRENAB.DTRIF + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON TANAB.CODPROG = CM.idmonitoraggio +-- INNER JOIN C6StagingPeriodico.RP_Consulenza CS +-- ON CM.chiaveprogetto = CS.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + INNER JOIN C6stagingperiodico.appo_contratti VC + ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND TANAB.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE 1 = 1 + AND TANAB.DTFINE = '99991231' + AND ISDATE(WRENAB.DTVALORIZ) = 0 +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,descerror,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_DeleteSegnalazioni.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_DeleteSegnalazioni.sql new file mode 100644 index 00000000..54ef2885 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_DeleteSegnalazioni.sql @@ -0,0 +1,43 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Cancellazione Segnalazioni/Scarti su tabella DATA QUALITY +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_DeleteSegnalazioni] +@idFaseElaborazione int +AS +BEGIN + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'SP_DQ_DeleteSegnalazioni', + GETDATE(), + 'Elaborazione Trimestrale ' + ) +if ( @idFaseElaborazione > 0 ) +begin + delete + from C6MartPeriodico.tb_SegnalazioniDataQuality + where idFaseElaborazione =@idFaseElaborazione +end +else + truncate table C6MartPeriodico.tb_SegnalazioniDataQuality + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SP_DQ_DeleteSegnalazioni' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'SP_DQ_DeleteSegnalazioni' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_DeleteSegnalazioni_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_DeleteSegnalazioni_pre_selective.sql new file mode 100644 index 00000000..64c1469f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_DeleteSegnalazioni_pre_selective.sql @@ -0,0 +1,43 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Cancellazione Segnalazioni/Scarti su tabella DATA QUALITY +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_DeleteSegnalazioni_pre_selective] +@idFaseElaborazione int +AS +BEGIN + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SP_DQ_DeleteSegnalazioni_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) +if ( @idFaseElaborazione > 0 ) +begin + delete + from C6MartPeriodico.tb_SegnalazioniDataQuality + where idFaseElaborazione =@idFaseElaborazione +end +else + truncate table C6MartPeriodico.tb_SegnalazioniDataQuality + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SP_DQ_DeleteSegnalazioni_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SP_DQ_DeleteSegnalazioni_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze.sql new file mode 100644 index 00000000..bbe23d13 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze.sql @@ -0,0 +1,31 @@ +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 17/09/2014 +-- Description: +-- TODO --- Da ottimizzare per Data Quality +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_DescCatalogoProdottiScadenze] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=11 + SELECT @idTipoControllo idTipoControllo,RETE, COD_FISCALE as codfis + into #TbErrori + FROM [C6MartPeriodico].[SCADENZE] WHERE ISNULL(DesProd,'') ='' +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,descSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze_pre_selective.sql new file mode 100644 index 00000000..22613ca5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze_pre_selective.sql @@ -0,0 +1,31 @@ +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 17/09/2014 +-- Description: +-- TODO --- Da ottimizzare per Data Quality +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_DescCatalogoProdottiScadenze_pre_selective] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=11 + SELECT @idTipoControllo idTipoControllo,RETE, COD_FISCALE as codfis + into #TbErrori + FROM [C6MartPeriodico].[SCADENZE] WHERE ISNULL(DesProd,'') ='' +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,descSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_DescProdottoProventi.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_DescProdottoProventi.sql new file mode 100644 index 00000000..3f761a04 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_DescProdottoProventi.sql @@ -0,0 +1,38 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo Descrizione Prodotto ( DescProd ) sulla tabella +-- C6MartPeriodico.PROVENTI +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_DescProdottoProventi] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=2 +SELECT a.RETE, a.COD_FISCALE,@idTipoControllo idtipocontrollo +into #TbErrori +FROM [C6MartPeriodico].[PROVENTI] a + INNER JOIN c6stagingperiodico.appo_contratti_v b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and b.tip_contratto=2 +WHERE ISNULL(a.DesProd,'') ='' +group by a.RETE, a.COD_FISCALE +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,COD_FISCALE,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_DescProdottoProventi_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_DescProdottoProventi_pre_selective.sql new file mode 100644 index 00000000..f80f9283 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_DescProdottoProventi_pre_selective.sql @@ -0,0 +1,38 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo Descrizione Prodotto ( DescProd ) sulla tabella +-- C6MartPeriodico.PROVENTI +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_DescProdottoProventi_pre_selective] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=2 +SELECT a.RETE, a.COD_FISCALE,@idTipoControllo idtipocontrollo +into #TbErrori +FROM [C6MartPeriodico].[PROVENTI] a + INNER JOIN c6stagingperiodico.appo_contratti b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and b.tip_contratto=2 +WHERE ISNULL(a.DesProd,'') ='' +group by a.RETE, a.COD_FISCALE +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,COD_FISCALE,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_PiramideAreeDuplicate.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_PiramideAreeDuplicate.sql new file mode 100644 index 00000000..b983874c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_PiramideAreeDuplicate.sql @@ -0,0 +1,72 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano nella piramide modello una o più +-- aree/progetti duplicati +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_PiramideAreeDuplicate] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=6 +SELECT DISTINCT + d.rete, + case when(isnull(ltrim(rtrim(codman)),'') <> '') then 'FF@'+codman + when (isnull(codfis,'') <> '') then codfis + else c.piva + end as Codicefiscale, + @idTipoControllo idtipocontrollo + into #TbErrori + FROM [CONSUNI_PERIODICO].[consulenzaunica].dbo.Contratto a + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.ClientePB b + ON b.chiaveClientePB = a.chiaveClientePB + AND a.status in ('SEI','AVANZATOBASE','REVOCASEI') + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.Cliente c + ON b.chiaveCliente = c.chiaveCliente + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.PromotoreBancario d + ON b.chiavePB = d.chiavePB + WHERE + A.chiaveclientepb in ( + select distinct chiaveclientepb + FROM + ( + --SELECT chiaveclientepb,area,tipoprogetto,COUNT(*) as c FROM + --[CONSUNI_PERIODICO].[consulenzaunica].dbo.ProgettiPiramideModello + --where tipoprogetto =0 and area <> 'na' and isnull(dtFineValidita,'99991231')>GETDATE() + --group by chiaveclientepb,area,tipoprogetto + --having COUNT(*)<>1 + SELECT chiaveclientepb,area,COUNT(*) as c + FROM [CONSUNI_PERIODICO].consulenzaunica.dbo.piramidemodello pirmod + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.areamodello areamod + on pirmod.chiavePiramideMod = areamod.chiaveAreaMod + inner join [CONSUNI_PERIODICO].[consulenzaunica].dbo.ProgettiPiramideModello progmod + on progmod.chiaveAreaMod = areamod.chiaveAreaMod + where area <> 'na' + group by chiaveclientepb,area + having COUNT(*)<>1 + ) t + ) +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,tbErr.rete,Codicefiscale,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +inner join c6stagingperiodico.appo_contratti_v Contr +on tbErr.rete = contr.rete +and tbErr.CodiceFiscale = contr.cod_fiscale +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_PiramideAreeDuplicate_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_PiramideAreeDuplicate_pre_selective.sql new file mode 100644 index 00000000..4cd2b3c8 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_PiramideAreeDuplicate_pre_selective.sql @@ -0,0 +1,72 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano nella piramide modello una o più +-- aree/progetti duplicati +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_PiramideAreeDuplicate_pre_selective] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=6 +SELECT DISTINCT + d.rete, + case when(isnull(ltrim(rtrim(codman)),'') <> '') then 'FF@'+codman + when (isnull(codfis,'') <> '') then codfis + else c.piva + end as Codicefiscale, + @idTipoControllo idtipocontrollo + into #TbErrori + FROM [CONSUNI_PERIODICO].[consulenzaunica].dbo.Contratto a + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.ClientePB b + ON b.chiaveClientePB = a.chiaveClientePB + AND a.status in ('SEI','AVANZATOBASE','REVOCASEI') + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.Cliente c + ON b.chiaveCliente = c.chiaveCliente + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.PromotoreBancario d + ON b.chiavePB = d.chiavePB + WHERE + A.chiaveclientepb in ( + select distinct chiaveclientepb + FROM + ( + --SELECT chiaveclientepb,area,tipoprogetto,COUNT(*) as c FROM + --[CONSUNI_PERIODICO].[consulenzaunica].dbo.ProgettiPiramideModello + --where tipoprogetto =0 and area <> 'na' and isnull(dtFineValidita,'99991231')>GETDATE() + --group by chiaveclientepb,area,tipoprogetto + --having COUNT(*)<>1 + SELECT chiaveclientepb,area,COUNT(*) as c + FROM [CONSUNI_PERIODICO].consulenzaunica.dbo.piramidemodello pirmod + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.areamodello areamod + on pirmod.chiavePiramideMod = areamod.chiaveAreaMod + inner join [CONSUNI_PERIODICO].[consulenzaunica].dbo.ProgettiPiramideModello progmod + on progmod.chiaveAreaMod = areamod.chiaveAreaMod + where area <> 'na' + group by chiaveclientepb,area + having COUNT(*)<>1 + ) t + ) +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,tbErr.rete,Codicefiscale,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +inner join c6stagingperiodico.appo_contratti Contr +on tbErr.rete = contr.rete +and tbErr.CodiceFiscale = contr.cod_fiscale +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_PositionID.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_PositionID.sql new file mode 100644 index 00000000..b6d8442c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_PositionID.sql @@ -0,0 +1,36 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo POSITION ID sulla tabella +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_PositionID] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=1 +SELECT RETE, codfis,@idTipoControllo idtipocontrollo +into #TbErrori +FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE ISNULL(POSITIONID,'') ='' +GROUP BY RETE, codfis +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_PositionIDConsulenza.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_PositionIDConsulenza.sql new file mode 100644 index 00000000..b778e798 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_PositionIDConsulenza.sql @@ -0,0 +1,36 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo POSITION ID sulla tabella +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_PositionIDConsulenza] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=12 +SELECT RETE, cod_fiscale codfis,@idTipoControllo idtipocontrollo +into #TbErrori +FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') = '' +GROUP BY RETE, cod_fiscale +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_PositionIDConsulenza_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_PositionIDConsulenza_pre_selective.sql new file mode 100644 index 00000000..6fa23b7d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_PositionIDConsulenza_pre_selective.sql @@ -0,0 +1,36 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo POSITION ID sulla tabella +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_PositionIDConsulenza_pre_selective] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=12 +SELECT RETE, cod_fiscale codfis,@idTipoControllo idtipocontrollo +into #TbErrori +FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') = '' +GROUP BY RETE, cod_fiscale +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_PositionID_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_PositionID_pre_selective.sql new file mode 100644 index 00000000..6ad0aaf9 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_PositionID_pre_selective.sql @@ -0,0 +1,36 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo POSITION ID sulla tabella +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_PositionID_pre_selective] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=1 +SELECT RETE, codfis,@idTipoControllo idtipocontrollo +into #TbErrori +FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE ISNULL(POSITIONID,'') ='' +GROUP BY RETE, codfis +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_PosizioniDuplicate.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_PosizioniDuplicate.sql new file mode 100644 index 00000000..8f64a867 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_PosizioniDuplicate.sql @@ -0,0 +1,211 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano una o più posizioni duplicate +-- nel proprio patrimonio finanziario +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +-- ATTENZIONE !!! +-- La SP che carica la Patrimonio BF effettua un controllo dopo una prima elaborazione e scarta +-- i record "duplicati". Riporto la query di INPUT per poter effetturare il test e lo scarto +CREATE procedure [C6MartPeriodico].[SP_DQ_PosizioniDuplicate] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=4 +-- Selezione in Tabella Temporanea Verifica_CAMPIONE dei record "doppi" +SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo +--*************************************** + INTO #Verifica_CAMPIONE +--*************************************** + FROM C6StagingPeriodico.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPERIODICO.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin = 'EURO00000009' +SELECT RETE, COD_FISCALE, POSITIONID,@idTipoControllo idtipocontrollo +into #TbErrori +FROM #Verifica_CAMPIONE +GROUP BY RETE, COD_FISCALE, POSITIONID +HAVING COUNT(*) > 1 +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,COD_FISCALE,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_ProgettoDuplicatoArea.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_ProgettoDuplicatoArea.sql new file mode 100644 index 00000000..b6c32304 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_ProgettoDuplicatoArea.sql @@ -0,0 +1,42 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Record Aventi per Ordinamento Progetto Aree Duplicate +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_ProgettoDuplicatoArea] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=5 +select distinct a.rete, a.cod_fiscale,@idTipoControllo idtipocontrollo +into #TbErrori +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,COD_FISCALE,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_ScartiAPI.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_ScartiAPI.sql new file mode 100644 index 00000000..d6255914 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_ScartiAPI.sql @@ -0,0 +1,38 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano in Anagrafica caratteri anomali nei campi che formano l’indirizzo di +-- domiciliazione del contratto di consulenza +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +-- [C6MartPeriodico].[SP_DQ_CaratteriAnomali] 2 +CREATE procedure [C6MartPeriodico].[SP_DQ_ScartiAPI] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=16 +--select * from C6MartPeriodico.TB_SegnalazioniDataQuality where idTipoControllo=16 +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select @idTipoControllo,rete,case when codman<>'' then 'FF@'+codman + when piva<>'' then piva +else codfis end as codicefiscale, +tipo.descSegnalazione+ ' IGNORA L''ERRORE verra recuperato al giro successivo automaticamente' ,@idelab,'',@idFaseElaborazione +from C6StagingPeriodico.TRIMESTRALE_SCARTI tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on @idTipoControllo = tipo.idTipoControllo +where BLACKLIST='in errore API Sei' +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_ScriviDisallineati.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_ScriviDisallineati.sql new file mode 100644 index 00000000..b8c47159 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_ScriviDisallineati.sql @@ -0,0 +1,44 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano un disallineamento tra l’importo associato ad una determinata +-- area di bisogno e l’eventuale importo che risulta nei dati di Monitoraggio per la medesima Area di Bisogno +-- (per ogni cliente si prevede l’inserimento di un record di segnalazione per ciascuna area di bisogno che risulta +-- disallineata con l’indicazione, nel campo descrizione, dell’area a cui si riferisce il disallineamento) +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_ScriviDisallineati] +@idFaseElaborazione int +AS +BEGIN +--drop table #tab_temp +--drop table #TbErrori +Declare @idTipoControllo int +set @idTipoControllo=9 +select *,@idTipoControllo idTipoControllo + into #TbErrori +from dbo.disallineati2 +--INIZIO Forzatura Trimestre 1° trimestre 2015 +--where cod_fiscale <> 'MTTMRT38A04H407S' +--FINE Forzatura Trimestre 1° trimestre 2015 +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale, +Replace(Replace(replace(DescSegnalazione,'area$',tbErr.mon_area),'ctv$',tbErr.CTV_MONIT),'delta$',tbErr.delta) +,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_ScriviDisallineati_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_ScriviDisallineati_pre_selective.sql new file mode 100644 index 00000000..f2f5b5fe --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_ScriviDisallineati_pre_selective.sql @@ -0,0 +1,44 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano un disallineamento tra l’importo associato ad una determinata +-- area di bisogno e l’eventuale importo che risulta nei dati di Monitoraggio per la medesima Area di Bisogno +-- (per ogni cliente si prevede l’inserimento di un record di segnalazione per ciascuna area di bisogno che risulta +-- disallineata con l’indicazione, nel campo descrizione, dell’area a cui si riferisce il disallineamento) +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_ScriviDisallineati_pre_selective] +@idFaseElaborazione int +AS +BEGIN +--drop table #tab_temp +--drop table #TbErrori +Declare @idTipoControllo int +set @idTipoControllo=9 +select *,@idTipoControllo idTipoControllo + into #TbErrori +from dbo.disallineati2 +--INIZIO Forzatura Trimestre 1° trimestre 2015 +--where cod_fiscale <> 'MTTMRT38A04H407S' +--FINE Forzatura Trimestre 1° trimestre 2015 +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale, +Replace(Replace(replace(DescSegnalazione,'area$',tbErr.mon_area),'ctv$',tbErr.CTV_MONIT),'delta$',tbErr.delta) +,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_SelezioneDisallineati.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_SelezioneDisallineati.sql new file mode 100644 index 00000000..68cb93a4 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_SelezioneDisallineati.sql @@ -0,0 +1,146 @@ +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 17/09/2014 +-- Description: Copia della SP [C6MartPeriodico].[SRV_LISTA_DISALLINEAMENTI_MONIT] +-- TODO --- Da ottimizzare per Data Quality +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_SelezioneDisallineati] +AS +BEGIN +SELECT +RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4) AS ID_AREA, +isnull(ORDINAMENTO_PROGETTO,0) as ordinamento_progetto, +SUM(CTV) AS SUM_CTV +INTO #TEMP_PATRIMONIO_BF_AGGR +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE ID_AREA NOT IN ('CC','NA') +AND REND_NON_RAPPR=0 +GROUP BY RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4), +isnull(ORDINAMENTO_PROGETTO,0) +--SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +--WHERE CODFIS IN +--(SELECT DISTINCT COD_FISCALE FROM #TEMP_PATRIMONIO_BF_AGGR) +SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +WHERE CODFIS IN +-- Modifica del 28/4/2017 per staging e mart selective + -- (select cod_fiscale from c6stagingperiodico.appo_contratti) + (select cod_fiscale from c6stagingperiodico.appo_contratti_v) +-- Fine modifica del 28/4/2017 per staging e mart selective +SELECT * +FROM +( +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO as bf_ordprorg, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog as mon_codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +AND S.chiaveprogetto=isnull(P.ORDINAMENTO_PROGETTO,0) +AND M.CODPROG = S.idmonitoraggio +and id_area ='Inv' +union all +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +and id_area <>'Inv' +union all +-------------------------------------------- +-- SOLO MONITORAGGIO +-------------------------------------------- +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +--#TEMP_PATRIMONIO_BF_AGGR P +(select T.*,S.idmonitoraggio from +#TEMP_PATRIMONIO_BF_AGGR T +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +where S.chiaveprogetto=isnull(T.ORDINAMENTO_PROGETTO,0) +)P +on +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND M.CODPROG = P.idmonitoraggio +AND DTFINE ='99991231' +where +m.ctv > 0 +and p.cod_fiscale is null +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +--and id_area ='Inv' +and m.codarea ='Inv' +union all +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +p.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +#TEMP_PATRIMONIO_BF_AGGR P +on +M.RETE = P.RETE +--AND M.CODFIS = P.COD_FISCALE +AND case when len(m.CODFIS) =4 then 'FF@'+m.codfis else m.codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +where +DTFINE ='99991231' +and m.ctv > 0 +and p.cod_fiscale is null +and codarea <>'Inv' +) k +order by 2,1 +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_SelezioneDisallineati_pre_selective_luca.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_SelezioneDisallineati_pre_selective_luca.sql new file mode 100644 index 00000000..2226178a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_SelezioneDisallineati_pre_selective_luca.sql @@ -0,0 +1,143 @@ +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 17/09/2014 +-- Description: Copia della SP [C6MartPeriodico].[SRV_LISTA_DISALLINEAMENTI_MONIT] +-- TODO --- Da ottimizzare per Data Quality +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_SelezioneDisallineati_pre_selective_luca] +AS +BEGIN +SELECT +RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4) AS ID_AREA, +isnull(ORDINAMENTO_PROGETTO,0) as ordinamento_progetto, +SUM(CTV) AS SUM_CTV +INTO #TEMP_PATRIMONIO_BF_AGGR +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE ID_AREA NOT IN ('CC','NA') +AND REND_NON_RAPPR=0 +GROUP BY RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4), +isnull(ORDINAMENTO_PROGETTO,0) +--SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +--WHERE CODFIS IN +--(SELECT DISTINCT COD_FISCALE FROM #TEMP_PATRIMONIO_BF_AGGR) +SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +WHERE CODFIS IN +(select cod_fiscale from c6stagingperiodico.appo_contratti) +SELECT * +FROM +( +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO as bf_ordprorg, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog as mon_codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +AND S.chiaveprogetto=isnull(P.ORDINAMENTO_PROGETTO,0) +AND M.CODPROG = S.idmonitoraggio +and id_area ='Inv' +union all +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +and id_area <>'Inv' +union all +-------------------------------------------- +-- SOLO MONITORAGGIO +-------------------------------------------- +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +--#TEMP_PATRIMONIO_BF_AGGR P +(select T.*,S.idmonitoraggio from +#TEMP_PATRIMONIO_BF_AGGR T +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +where S.chiaveprogetto=isnull(T.ORDINAMENTO_PROGETTO,0) +)P +on +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND M.CODPROG = P.idmonitoraggio +AND DTFINE ='99991231' +where +m.ctv > 0 +and p.cod_fiscale is null +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +--and id_area ='Inv' +and m.codarea ='Inv' +union all +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +p.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +#TEMP_PATRIMONIO_BF_AGGR P +on +M.RETE = P.RETE +--AND M.CODFIS = P.COD_FISCALE +AND case when len(m.CODFIS) =4 then 'FF@'+m.codfis else m.codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +where +DTFINE ='99991231' +and m.ctv > 0 +and p.cod_fiscale is null +and codarea <>'Inv' +) k +order by 2,1 +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_VerificaDisallineati.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_VerificaDisallineati.sql new file mode 100644 index 00000000..7bdb6def --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_VerificaDisallineati.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano un disallineamento tra l’importo associato ad una determinata +-- area di bisogno e l’eventuale importo che risulta nei dati di Monitoraggio per la medesima Area di Bisogno +-- (per ogni cliente si prevede l’inserimento di un record di segnalazione per ciascuna area di bisogno che risulta +-- disallineata con l’indicazione, nel campo descrizione, dell’area a cui si riferisce il disallineamento) +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_VerificaDisallineati] +@idFaseElaborazione int +AS +BEGIN +--drop table #tab_temp +--drop table #TbErrori +Declare @idTipoControllo int +set @idTipoControllo=9 +CREATE TABLE #tab_temp( + [Rete] varchar(1) NOT NULL, + [Cod_Fiscale] varchar(16) NOT NULL, + id_Area varchar(10) NULL, + mon_area varchar(10) NULL, + bf_ordprorg int NULL, + CTV_MONIT decimal(12,2) NULL, + SUM_CTV decimal(12,2) NULL, + delta decimal(12,2) null, + CodProg int) +insert into #tab_temp +exec [C6MartPeriodico].[SP_DQ_SelezioneDisallineati] +select *,@idTipoControllo idTipoControllo + into #TbErrori +from #tab_temp +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale, +Replace(Replace(replace(DescSegnalazione,'area$',tbErr.mon_area),'ctv$',tbErr.CTV_MONIT),'delta$',tbErr.delta) +,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_VerificaDisallineati_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_VerificaDisallineati_pre_selective.sql new file mode 100644 index 00000000..0dfe9ca7 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_VerificaDisallineati_pre_selective.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano un disallineamento tra l’importo associato ad una determinata +-- area di bisogno e l’eventuale importo che risulta nei dati di Monitoraggio per la medesima Area di Bisogno +-- (per ogni cliente si prevede l’inserimento di un record di segnalazione per ciascuna area di bisogno che risulta +-- disallineata con l’indicazione, nel campo descrizione, dell’area a cui si riferisce il disallineamento) +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_VerificaDisallineati_pre_selective] +@idFaseElaborazione int +AS +BEGIN +--drop table #tab_temp +--drop table #TbErrori +Declare @idTipoControllo int +set @idTipoControllo=9 +CREATE TABLE #tab_temp( + [Rete] varchar(1) NOT NULL, + [Cod_Fiscale] varchar(16) NOT NULL, + id_Area varchar(10) NULL, + mon_area varchar(10) NULL, + bf_ordprorg int NULL, + CTV_MONIT decimal(12,2) NULL, + SUM_CTV decimal(12,2) NULL, + delta decimal(12,2) null, + CodProg int) +insert into #tab_temp +exec [C6MartPeriodico].[SP_DQ_SelezioneDisallineati] +select *,@idTipoControllo idTipoControllo + into #TbErrori +from #tab_temp +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale, +Replace(Replace(replace(DescSegnalazione,'area$',tbErr.mon_area),'ctv$',tbErr.CTV_MONIT),'delta$',tbErr.delta) +,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_VerificaEmail.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_VerificaEmail.sql new file mode 100644 index 00000000..847252f5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_VerificaEmail.sql @@ -0,0 +1,37 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano in Anagrafica un indirizzo email +-- formalmente errato +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_VerificaEmail] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=8 +SELECT RETE, cod_fiscale,@idTipoControllo idtipocontrollo +into #TbErrori +from c6martperiodico.contrattosei +where dbo.RegExIsMatch('^([\w\-\+\.]+)@([\w\-\+\.]+).([\w\-\+\.]+)$',isNull(email,'aa@aa.it'),0) = 0 +and email <> '' -- 10/10/2016 Aggiunta questa condizione per gestire i campi email a '' +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_VerificaEmail_20161010.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_VerificaEmail_20161010.sql new file mode 100644 index 00000000..eb1ef380 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_VerificaEmail_20161010.sql @@ -0,0 +1,36 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano in Anagrafica un indirizzo email +-- formalmente errato +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_VerificaEmail_20161010] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=8 +SELECT RETE, cod_fiscale,@idTipoControllo idtipocontrollo +into #TbErrori +from c6martperiodico.contrattosei +where dbo.RegExIsMatch('^([\w\-\+\.]+)@([\w\-\+\.]+).([\w\-\+\.]+)$',isNull(email,'aa@aa.it'),0) = 0 +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_DQ_VerificaEmail_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_SP_DQ_VerificaEmail_pre_selective.sql new file mode 100644 index 00000000..9a319e61 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_DQ_VerificaEmail_pre_selective.sql @@ -0,0 +1,37 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano in Anagrafica un indirizzo email +-- formalmente errato +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_VerificaEmail_pre_selective] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=8 +SELECT RETE, cod_fiscale,@idTipoControllo idtipocontrollo +into #TbErrori +from c6martperiodico.contrattosei +where dbo.RegExIsMatch('^([\w\-\+\.]+)@([\w\-\+\.]+).([\w\-\+\.]+)$',isNull(email,'aa@aa.it'),0) = 0 +and email <> '' -- 10/10/2016 Aggiunta questa condizione per gestire i campi email a '' +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_Patrimonio_BF_Percentuale_Piramide.sql b/sql/storedProduzione/C6MartPeriodico_SP_Patrimonio_BF_Percentuale_Piramide.sql new file mode 100644 index 00000000..ad780c24 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_Patrimonio_BF_Percentuale_Piramide.sql @@ -0,0 +1,64 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_Patrimonio_BF_Percentuale_Piramide] +-- Add the parameters for the stored procedure here +AS +BEGIN +drop table if exists #liq +drop table if exists #ris +drop table if exists #pre +drop table if exists #inv +drop table if exists #ext +drop table if exists [C6MartPeriodico].[TB_Patrimonio_BF_Percentuale_Piramide] + SELECT pmod.rete,pmod.COD_FISCALE,isnull(sum(pmod.Perc_Area),0.00) as PERC_LIQ + into #liq + FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] pmod + inner join [C6StampeCentralizzate].[C6MartPeriodico].Area_Bisogno ar on pmod.id_area=ar.Id_area + where pmod.rete+pmod.COD_FISCALE in (select distinct b.RETE+b.COD_FISCALE from C6MartPeriodico.PATRIMONIO_BF b) + and ar.Id_area in ('Liq') + group by pmod.RETE,pmod.COD_FISCALE + SELECT pmod.rete,pmod.COD_FISCALE,isnull(sum(pmod.Perc_Area),0.00) as PERC_RIS + into #ris + FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] pmod + inner join [C6StampeCentralizzate].[C6MartPeriodico].Area_Bisogno ar on pmod.id_area=ar.Id_area + where pmod.rete+pmod.COD_FISCALE in (select distinct RETE+COD_FISCALE from C6MartPeriodico.PATRIMONIO_BF) + and ar.Id_area in ('Ris') + group by pmod.RETE,pmod.COD_FISCALE + SELECT pmod.rete,pmod.COD_FISCALE,isnull(sum(pmod.Perc_Area),0.00) as PERC_PRE + into #pre + FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] pmod + inner join [C6StampeCentralizzate].[C6MartPeriodico].Area_Bisogno ar on pmod.id_area=ar.Id_area + where pmod.rete+pmod.COD_FISCALE in (select distinct RETE+COD_FISCALE from C6MartPeriodico.PATRIMONIO_BF) + and ar.Id_area in ('Pre') + group by pmod.RETE,pmod.COD_FISCALE + SELECT pmod.rete,pmod.COD_FISCALE,isnull(sum(pmod.Perc_Area),0.00) as PERC_INV + into #inv + FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] pmod + inner join [C6StampeCentralizzate].[C6MartPeriodico].Area_Bisogno ar on pmod.id_area=ar.Id_area + where pmod.rete+pmod.COD_FISCALE in (select distinct RETE+COD_FISCALE from C6MartPeriodico.PATRIMONIO_BF) + and ar.Id_area in ('Inv') + group by pmod.RETE,pmod.COD_FISCALE + SELECT pmod.rete,pmod.COD_FISCALE,isnull(sum(pmod.Perc_Area),0.000) as PERC_EXT + into #ext + FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] pmod + inner join [C6StampeCentralizzate].[C6MartPeriodico].Area_Bisogno ar on pmod.id_area=ar.Id_area + where pmod.rete+pmod.COD_FISCALE in (select distinct RETE+COD_FISCALE from C6MartPeriodico.PATRIMONIO_BF) + and ar.Id_area in ('Ext') + group by pmod.RETE,pmod.COD_FISCALE + select e.rete,e.cod_fiscale,e.PERC_EXT,i.PERC_INV,p.PERC_PRE,r.PERC_RIS,l.PERC_LIQ + into [C6MartPeriodico].[TB_Patrimonio_BF_Percentuale_Piramide] + from + #ext e inner join #inv i on e.rete+e.COD_FISCALE=i.RETE+i.COD_FISCALE + inner join #pre p on e.rete+e.COD_FISCALE=p.RETE+p.COD_FISCALE + inner join #ris r on e.rete+e.COD_FISCALE=r.RETE+r.COD_FISCALE + inner join #liq l on e.rete+e.COD_FISCALE=l.RETE+l.COD_FISCALE + --select * from [C6MartPeriodico].[TB_Patrimonio_BF_Percentuale_Piramide] + insert into [C6MartPeriodico].[TB_Patrimonio_BF_Percentuale_Piramide] + select distinct rete,cod_fiscale,0.00 as PERC_EXT,0.00 as PERC_INV,0.00 as PERC_PRE,0.00 as PERC_RIS, 0.00 as PERC_LIQ from C6MartPeriodico.PATRIMONIO_BF + except + select rete,cod_fiscale,0.00 as PERC_EXT,0.00 as PERC_INV,0.00 as PERC_PRE,0.00 as PERC_RIS, 0.00 as PERC_LIQ from #liq + --select distinct rete,cod_fiscale from c6martperiodico.PATRIMONIO_BF +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip.sql b/sql/storedProduzione/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip.sql new file mode 100644 index 00000000..d6f1cf4b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip.sql @@ -0,0 +1,203 @@ +--exec C6MartPeriodico.SP_PreTotaliReportGenerazioneZip 960, 1 +CREATE procedure [C6MartPeriodico].[SP_PreTotaliReportGenerazioneZip] + @reportPerZip int, + @isLotto1 int = 0 +AS + set nocount on + create table #result ( + totReportGenerati int, + isUltimoZip int + ) + declare @ce int=0 + declare @totReportGenerati int + declare @isUltimoZip int + declare @KO int + set @KO = 0 + declare @err varchar(500) + set @err = '' + --exec [C6MartPeriodico].[SP_TotaliReportGenerazioneZip] 960, 1 + insert into #result exec [C6MartPeriodico].[SP_TotaliReportGenerazioneZip] @reportPerZip, @isLotto1 + select @totReportGenerati = totReportGenerati, @isUltimoZip = isUltimoZip from #result + if @isLotto1 = 1 + begin + if @isUltimoZip = 2 + begin + if (select count(*) from [C6MartPeriodico].WHITELIST_ZIP WHERE Pacchetto_Zip is null) = 0 + begin + set @KO = 1 + set @err = 'Nel primo lotto non c''è da fare il file Approval, ma la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato 2' + end + end + if @isUltimoZip = 1 + begin + if (select count(*) from [C6MartPeriodico].WHITELIST_ZIP WHERE Pacchetto_Zip is null) > 0 + begin + set @KO = 1 + set @err = 'Nel primo lotto c''è da fare il file Approval, ma la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato 1' + end + end + if @isUltimoZip not in (1, 2) + begin + set @KO = 1 + set @err = 'Nel primo lotto, la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato inconsistente ' + convert(varchar(10), @isUltimoZip) + end + end + else + begin + if @isUltimoZip <> 1 + begin + set @KO = 1 + set @err = 'Per il lotto successivo, la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato inconsistente ' + convert(varchar(10), @isUltimoZip) + end + end + print '@isLotto1 = ' + convert(varchar(10), @isLotto1) + print '@isUltimoZip = ' + convert(varchar(10), @isUltimoZip) + print '@KO = ' + convert(varchar(10), @KO) + print '@err = ''' + @err + '''' + if @KO = 0 + begin + if @isUltimoZip in (1, 2) + begin + declare @num_stato_report_1 int + declare @num_elab_4 int + select @num_stato_report_1 = COUNT(*) + from C6MartPeriodico.controllo_trimestrale + where stato_report in (1) --1 + select @num_elab_4 = COUNT(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + where elab in(4) + if @num_stato_report_1 <> @num_elab_4 + begin + set @KO = 1 + set @err = 'Controllare gli stati: Controllo_Trimestrale ha ' + convert(varchar(100), @num_stato_report_1) + ' report con stato_report = 1, Cruscotto_ContrattiSEI ha ' + convert(varchar(100), @num_elab_4) + ' con elab = 4' + end + end + end + if @KO = 0 + begin + print 'Controllo su tabella C6MartPeriodico.Gestione_Zip_FTP' + declare @maxIdElaborazione int + select @maxIdElaborazione = max(FkIdElaborazioneZip) from [C6MartPeriodico].[gestione_zip_ftp] + if( select count(*) + from ( + SELECT TOP (1) [id] + ,[nomefile] + ,[dataInvio] + ,[flagInvio] + ,[nomeCartella] + ,[ID_ELAB] + ,[DateCopyToSend] + ,[FKIDElaborazioneZIP] + FROM [C6MartPeriodico].[gestione_zip_ftp] + where + FkIdElaborazioneZip = @maxIdElaborazione + and + DateCopyToSend is null + order by 1 desc, 3 desc) a + ) > 0 + begin + set @KO = 1 + set @err = 'Situazione incongruente sulla tabella ''[C6MartPeriodico].[gestione_zip_ftp]''' + end + end + if @KO = 0 + begin + print 'Controllo su tabella C6MartPeriodico.Elaborazioni_ZIP' + --modifica del 17/10/2018 per gestire il caso in cui il file di approval è stato inviato ma l'intero lotto ancora no e quindi c'è + -- una riga con datafine= null + if not (@isLotto1 = 1 and @isUltimoZip = 1) + begin + if( select count(*) + from ( + SELECT TOP (1) [IDElaborazioneZIP] + ,[DataInizio] + ,[DataFine] + FROM [C6MartPeriodico].[elaborazioni_zip] + where DataFine is null + order by 1 desc, 2 desc) a + ) > 0 + begin + set @KO = 1 + set @err = 'Situazione incongruente sulla tabella ''[C6MartPeriodico].[elaborazioni_zip]''' + end + end + end + if @KO = 0 + begin + print 'COPIA TABELLE' + begin try + set @ce=10 + declare @query nvarchar(max) + declare @today datetime + declare @sToday varchar(10) + declare @nometabella nvarchar(max) + declare @sql nvarchar(max) + declare @res table (tablename varchar(100)) + --SET FMTONLY ON + set @today = getdate() + set @ce=20 + set @sToday = convert(varchar(4), datepart(yyyy, @today)) + right('0' + convert(varchar(2), datepart(mm, @today)), 2) + right('0' + convert(varchar(2), datepart(dd, @today)), 2) + set @ce=30 + set @nometabella='C6MartPeriodico.controllo_trimestrale_' + @sToday + '_preZip'; + set @sql='DROP TABLE '+QUOTENAME(@nometabella)+''; + --if EXISTS (select * from sys.objects where object_id= OBJECT_ID(@nometabella) and type in (N'U')) + -- exec sp_executesql @sql; + set @query = 'select * into C6MartPeriodico.controllo_trimestrale_' + @sToday + '_preZip from C6MartPeriodico.controllo_trimestrale' + print @query + insert @res + exec sys.sp_executesql @query + set @nometabella='C6MartPeriodico.cruscotto_contrattisei_' + @sToday + '_preZip'; + set @sql='DROP TABLE '+QUOTENAME(@nometabella)+''; + --if EXISTS (select * from sys.objects where object_id= OBJECT_ID(@nometabella) and type in (N'U')) + -- exec sp_executesql @sql; + set @ce=40 + set @query = 'select * into C6MartPeriodico.cruscotto_contrattisei_' + @sToday + '_preZip from C6MartPeriodico.cruscotto_contrattisei' + print @query + insert @res + EXEC sys.sp_executesql @query + set @nometabella='C6MartPeriodico.elaborazioni_zip_' + @sToday + '_preZip'; + set @sql='DROP TABLE '+QUOTENAME(@nometabella)+''; + --if EXISTS (select * from sys.objects where object_id= OBJECT_ID(@nometabella) and type in (N'U')) + -- exec sp_executesql @sql; + set @ce=50 + set @query = 'select * into C6MartPeriodico.elaborazioni_zip_' + @sToday + '_preZip from C6MartPeriodico.elaborazioni_zip' + print @query + insert @res + EXEC sys.sp_executesql @query + set @nometabella='C6MartPeriodico.gestione_zip_ftp_' + @sToday + '_preZip'; + set @sql='DROP TABLE '+QUOTENAME(@nometabella)+''; + --if EXISTS (select * from sys.objects where object_id= OBJECT_ID(@nometabella) and type in (N'U')) + -- exec sp_executesql @sql; + set @ce=60 + set @query = 'select * into C6MartPeriodico.gestione_zip_ftp_' + @sToday + '_preZip from C6MartPeriodico.gestione_zip_ftp' + print @query + insert @res + EXEC sys.sp_executesql @query + set @nometabella='C6MartPeriodico.gestione_pdf_ftp_' + @sToday + '_preZip'; + set @sql='DROP TABLE '+QUOTENAME(@nometabella)+''; + --if EXISTS (select * from sys.objects where object_id= OBJECT_ID(@nometabella) and type in (N'U')) + -- exec sp_executesql @sql; + set @ce=70 + set @query = 'select * into C6MartPeriodico.gestione_pdf_ftp_' + @sToday + '_preZip from C6MartPeriodico.gestione_pdf_ftp' + print @query + insert @res + EXEC sys.sp_executesql @query + --SET FMTONLY OFF + --exec C6MartPeriodico.CreaTabelleCopia + end try + begin catch + set @KO = 1 + set @err = ERROR_MESSAGE() + select 0 as Esito, @err as Err, ERROR_LINE() as rigaerr,@ce as riga + --SET FMTONLY OFF + return + end catch + end + select + case + when @KO = 0 then 1 + when @KO = 1 then 0 + else 0 + end as Esito, + @err as Err + drop table #result \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip_20181017.sql b/sql/storedProduzione/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip_20181017.sql new file mode 100644 index 00000000..e60ce51c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip_20181017.sql @@ -0,0 +1,168 @@ +--exec C6MartPeriodico.SP_PreTotaliReportGenerazioneZip 960, 1 +CREATE procedure [C6MartPeriodico].[SP_PreTotaliReportGenerazioneZip_20181017] + @reportPerZip int, + @isLotto1 int = 0 +AS + set nocount on + create table #result ( + totReportGenerati int, + isUltimoZip int + ) + declare @totReportGenerati int + declare @isUltimoZip int + declare @KO int + set @KO = 0 + declare @err varchar(500) + set @err = '' + --exec [C6MartPeriodico].[SP_TotaliReportGenerazioneZip] 960, 1 + insert into #result exec [C6MartPeriodico].[SP_TotaliReportGenerazioneZip] @reportPerZip, @isLotto1 + select @totReportGenerati = totReportGenerati, @isUltimoZip = isUltimoZip from #result + if @isLotto1 = 1 + begin + if @isUltimoZip = 2 + begin + if (select count(*) from [C6MartPeriodico].WHITELIST_ZIP WHERE Pacchetto_Zip is null) = 0 + begin + set @KO = 1 + set @err = 'Nel primo lotto non c''è da fare il file Approval, ma la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato 2' + end + end + if @isUltimoZip = 1 + begin + if (select count(*) from [C6MartPeriodico].WHITELIST_ZIP WHERE Pacchetto_Zip is null) > 0 + begin + set @KO = 1 + set @err = 'Nel primo lotto c''è da fare il file Approval, ma la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato 1' + end + end + if @isUltimoZip not in (1, 2) + begin + set @KO = 1 + set @err = 'Nel primo lotto, la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato inconsistente ' + convert(varchar(10), @isUltimoZip) + end + end + else + begin + if @isUltimoZip <> 1 + begin + set @KO = 1 + set @err = 'Per il lotto successivo, la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato inconsistente ' + convert(varchar(10), @isUltimoZip) + end + end + print '@isLotto1 = ' + convert(varchar(10), @isLotto1) + print '@isUltimoZip = ' + convert(varchar(10), @isUltimoZip) + print '@KO = ' + convert(varchar(10), @KO) + print '@err = ''' + @err + '''' + if @KO = 0 + begin + if @isUltimoZip in (1, 2) + begin + declare @num_stato_report_1 int + declare @num_elab_4 int + select @num_stato_report_1 = COUNT(*) + from C6MartPeriodico.controllo_trimestrale + where stato_report in (1) --1 + select @num_elab_4 = COUNT(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + where elab in(4) + if @num_stato_report_1 <> @num_elab_4 + begin + set @KO = 1 + set @err = 'Controllare gli stati: Controllo_Trimestrale ha ' + convert(varchar(100), @num_stato_report_1) + ' report con stato_report = 1, Cruscotto_ContrattiSEI ha ' + convert(varchar(100), @num_elab_4) + ' con elab = 4' + end + end + end + if @KO = 0 + begin + print 'Controllo su tabella C6MartPeriodico.Gestione_Zip_FTP' + declare @maxIdElaborazione int + select @maxIdElaborazione = max(FkIdElaborazioneZip) from [C6MartPeriodico].[gestione_zip_ftp] + if( select count(*) + from ( + SELECT TOP (1) [id] + ,[nomefile] + ,[dataInvio] + ,[flagInvio] + ,[nomeCartella] + ,[ID_ELAB] + ,[DateCopyToSend] + ,[FKIDElaborazioneZIP] + FROM [C6MartPeriodico].[gestione_zip_ftp] + where + FkIdElaborazioneZip = @maxIdElaborazione + and + DateCopyToSend is null + order by 1 desc, 3 desc) a + ) > 0 + begin + set @KO = 1 + set @err = 'Situazione incongruente sulla tabella ''[C6MartPeriodico].[gestione_zip_ftp]''' + end + end + if @KO = 0 + begin + print 'Controllo su tabella C6MartPeriodico.Elaborazioni_ZIP' + if( select count(*) + from ( + SELECT TOP (1) [IDElaborazioneZIP] + ,[DataInizio] + ,[DataFine] + FROM [C6MartPeriodico].[elaborazioni_zip] + where DataFine is null + order by 1 desc, 2 desc) a + ) > 0 + begin + set @KO = 1 + set @err = 'Situazione incongruente sulla tabella ''[C6MartPeriodico].[elaborazioni_zip]''' + end + end + if @KO = 0 + begin + print 'COPIA TABELLE' + begin try + declare @query nvarchar(max) + declare @today datetime + declare @sToday varchar(10) + declare @res table (tablename varchar(100)) + --SET FMTONLY ON + set @today = getdate() + set @sToday = convert(varchar(4), datepart(yyyy, @today)) + right('0' + convert(varchar(2), datepart(mm, @today)), 2) + right('0' + convert(varchar(2), datepart(dd, @today)), 2) + set @query = 'select * into C6MartPeriodico.controllo_trimestrale_' + @sToday + '_preZip from C6MartPeriodico.controllo_trimestrale' + print @query + insert @res + exec sys.sp_executesql @query + set @query = 'select * into C6MartPeriodico.cruscotto_contrattisei_' + @sToday + '_preZip from C6MartPeriodico.cruscotto_contrattisei' + print @query + insert @res + EXEC sys.sp_executesql @query + set @query = 'select * into C6MartPeriodico.elaborazioni_zip_' + @sToday + '_preZip from C6MartPeriodico.elaborazioni_zip' + print @query + insert @res + EXEC sys.sp_executesql @query + set @query = 'select * into C6MartPeriodico.gestione_zip_ftp_' + @sToday + '_preZip from C6MartPeriodico.gestione_zip_ftp' + print @query + insert @res + EXEC sys.sp_executesql @query + set @query = 'select * into C6MartPeriodico.gestione_pdf_ftp_' + @sToday + '_preZip from C6MartPeriodico.gestione_pdf_ftp' + print @query + insert @res + EXEC sys.sp_executesql @query + --SET FMTONLY OFF + --exec C6MartPeriodico.CreaTabelleCopia + end try + begin catch + set @KO = 1 + set @err = ERROR_MESSAGE() + select 0 as Esito, @err as Err + --SET FMTONLY OFF + return + end catch + end + select + case + when @KO = 0 then 1 + when @KO = 1 then 0 + else 0 + end as Esito, + @err as Err + drop table #result \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_TROVA_REPORT_DA_RIGENERARE.sql b/sql/storedProduzione/C6MartPeriodico_SP_TROVA_REPORT_DA_RIGENERARE.sql new file mode 100644 index 00000000..e3a8839c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_TROVA_REPORT_DA_RIGENERARE.sql @@ -0,0 +1,17 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_TROVA_REPORT_DA_RIGENERARE] + @Rete char(1), + @CodiceFiscale varchar(16), + @TipoReport varchar(1) +AS +BEGIN + SELECT IDReport from C6MartPeriodico.GESTIONE_PDF_FTP + WHERE rete=@Rete + and codicefiscale=@CodiceFiscale + and TipoReport=@TipoReport +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_TotaliReportGenerazioneZip.sql b/sql/storedProduzione/C6MartPeriodico_SP_TotaliReportGenerazioneZip.sql new file mode 100644 index 00000000..9716f9ee --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_TotaliReportGenerazioneZip.sql @@ -0,0 +1,38 @@ +--[C6MartPeriodico].[SP_TotaliReportGenerazioneZip] 960,1 +CREATE PROCEDURE [C6MartPeriodico].[SP_TotaliReportGenerazioneZip] +@reportPerZip int, @isLotto1 int = 0 +AS +BEGIN +IF @isLotto1 = 1 and 0 < (select count(*) from [C6MartPeriodico].WHITELIST_ZIP WHERE Pacchetto_Zip is null) + BEGIN + select count(*) totReportGenerati, + 2 as isUltimoZip + from [C6MartPeriodico].WHITELIST_ZIP WHERE Pacchetto_Zip is null + END +ELSE + BEGIN + Declare @totReportDaGenerareCT int + Declare @totReportGenerati int + declare @totReportDaNonGenerareCCS int + if @reportPerZip = 0 + set @reportPerZip = 960 + select @totReportGenerati =COUNT(*) + from C6MartPeriodico.controllo_trimestrale + where stato_report in (4) --1 + select @totReportDaGenerareCT =COUNT(*) + from C6MartPeriodico.controllo_trimestrale + where stato_report in (1) --1 + select @totReportDaNonGenerareCCS=COUNT(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + where elab in(4) + --select @totReportGenerati totReportGenerati + -- , @totReportDaGenerareCT totReportDaGenerareCT + -- , @totReportDaNonGenerareCCS totReportDaNonGenerareCCS + select @totReportGenerati totReportGenerati, + case when(@totReportDaGenerareCT - @totReportDaNonGenerareCCS) = 0 then + 1 + else + 0 + End as isUltimoZip + END +End \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_Valorizza_Stati_semaforo_TRIM.sql b/sql/storedProduzione/C6MartPeriodico_SP_Valorizza_Stati_semaforo_TRIM.sql new file mode 100644 index 00000000..700c6ac7 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_Valorizza_Stati_semaforo_TRIM.sql @@ -0,0 +1,909 @@ +-- flag_stato=1 completato (verde) +-- flag_stato=2 in esecuzione (giallo) +-- flag_stato=3 non lavorato (rosso) +--truncate table C6MartPeriodico.tab_semaforo +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM quad_end,SEI + --select * from C6MartPeriodico.tab_semaforo +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_Valorizza_Stati_semaforo_TRIM] @param1 varchar(20),@tipo varchar(20) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + declare + @intero int, + @trimestrale varchar(3), + @lotto_zero varchar(3), + @quadratura varchar(3), + @lotto varchar(3), + @congelamento varchar(3), + @sm1 varchar(3), + @position varchar(3), + @adeguatezza varchar(3), + @post_ade varchar(3), + @sm2 varchar(3), + @certificazione varchar(3), + @zipping varchar(3), + @approval varchar(3), + @invio varchar(3), + @postalizzazione varchar(3), + --descrizioni + @desc_trimestrale varchar(256), + @desc_lotto_zero varchar(256), + @desc_quadratura varchar(256), + @desc_lotto varchar(256), + @desc_congelamento varchar(256), + @desc_sm1 varchar(256), + @desc_position varchar(256), + @desc_adeguatezza varchar(256), + @desc_post_ade varchar(256), + @desc_sm2 varchar(256), + @desc_certificazione varchar(256), + @desc_zipping varchar(256), + @desc_approval varchar(256), + @desc_invio varchar(256), + @desc_postalizzazione varchar(256) + set @intero='0' + set @trimestrale='1' + set @lotto_zero='2' + set @quadratura='3' + set @lotto='2' + set @congelamento='4' + set @sm1='5' + set @position='6' + --set @adeguatezza='7' + --set @post_ade='8' + set @sm2='7' + set @certificazione='8' + set @zipping='9' + set @approval='10' + set @invio='11' + set @postalizzazione='12' + set @desc_trimestrale='Rendicontazioni sugli investimenti per i clienti con contratto di consulenza "SEI". ' + set @lotto_zero='' + set @desc_quadratura='Fase di Quadratura per i clienti tra le varie fonti db.' + set @desc_lotto='Preparazione delle rendicontazioni in corso.' + set @desc_congelamento='Fase di congelamento per il database di marketing.' + set @desc_sm1='Preparazione ed elaborazione dati da Staging & Mart Fase 1.' + set @desc_position='Elaborazione Position Data ed Adeguatezza.' + --set @adeguatezza='7' + --set @post_ade='8' + set @desc_sm2='Preparazione ed elaborazione dati da Staging & Mart Fase 2.' + set @desc_certificazione='Certificazione sul campione dei PDF dei Clienti.' + set @desc_zipping='Fase di zip per l''invio dei report.' + set @desc_approval='Approvazione del lotto corrente.' + set @desc_invio='Invio dei file generati.' + set @desc_postalizzazione='Conferma di avvenuta postalizzazione dei PDF dei clienti.' + --select * from C6MartPeriodico.tab_semaforo + --inserimento + --select * from C6MartPeriodico.tab_semaforo + --insert into C6MartPeriodico.tab_semaforo values + --avvio_trimestre + --update C6MartPeriodico.tab_semaforo + --set descrizione='Fase di congelamento per il database di marketing' + --from C6MartPeriodico.tab_semaforo + --where id_milestone=4 +if ((select COUNT(*) from C6MartPeriodico.tab_semaforo)=0) +begin +insert into C6MartPeriodico.tab_semaforo values +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@trimestrale,'TRIMESTRALE',@desc_trimestrale,'','',3,@intero,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@lotto_zero,'LOTTO 0','','','',3,@intero,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@quadratura,'QUADRATURA',@desc_quadratura,'','',3,@intero,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@lotto,'LOTTO'+' '+ cast(@intero+1 as varchar),@desc_lotto,'','',3,@intero+1,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@congelamento,'CONGELAMENTO DB MK',@desc_congelamento,'','',3,@intero+1,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@sm1,'STAGING & MART (FASE 1)'+' '+ cast(@intero+1 as varchar),@desc_sm1,'','',3,@intero+1,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@position,'CHIAMATA ALADDIN'+' '+ cast(@intero+1 as varchar),@desc_position,'','',3,@intero+1,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@adeguatezza,'ADEGUATEZZA'+' '+ cast(@intero+1 as varchar),'','','',3,@intero+1), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@post_ade,'POST_ADE'+' '+ cast(@intero+1 as varchar),'','','',3,@intero+1), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@sm2,'STAGING & MART (FASE 2)'+' '+ cast(@intero+1 as varchar),@desc_sm2,'','',3,@intero+1,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@certificazione,'CERTIFICAZIONE',@desc_certificazione,'','',3,@intero+1,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@zipping,'ZIPPING'+' '+ cast(@intero+1 as varchar),@desc_zipping,'','',3,@intero+1,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@approval,'APPROVAL',@desc_approval,'','',3,@intero+1,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@invio,'INVIO PDF'+' '+ cast(@intero+1 as varchar),@desc_invio,'','',3,@intero+1,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@postalizzazione,'POSTALIZZAZIONE'+' '+ cast(@intero+1 as varchar),@desc_postalizzazione,'','',3,@intero+1,'','',0) +end +--insert into C6MartPeriodico.tab_semaforo values +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@trimestrale,'TRIMESTRALE',@desc_trimestrale,'','',3,@intero,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@lotto_zero,'LOTTO 0','','','',3,@intero,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@quadratura,'QUADRATURA',@desc_quadratura,getdate()+1,getdate()+4,3,@intero,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@lotto,'LOTTO'+' '+ cast(@intero+1 as varchar),@desc_lotto,getdate()+5,getdate()+30,3,@intero+1,getdate()+5,getdate()+30,0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@congelamento,'CONGELAMENTO DB MK',@desc_congelamento,getdate()+6,getdate()+8,3,@intero+1,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@sm1,'STAGING & MART (FASE 1)'+' '+ cast(@intero+1 as varchar),@desc_sm1,getdate()+6,getdate()+8,3,@intero+1,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@position,'CHIAMATA ALADDIN'+' '+ cast(@intero+1 as varchar),@desc_position,getdate()+9,getdate()+11,3,@intero+1,'','',0), +----([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@adeguatezza,'ADEGUATEZZA'+' '+ cast(@intero+1 as varchar),'','','',3,@intero+1), +----([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@post_ade,'POST_ADE'+' '+ cast(@intero+1 as varchar),'','','',3,@intero+1), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@sm2,'STAGING & MART (FASE 2)'+' '+ cast(@intero+1 as varchar),@desc_sm2,getdate()+12,getdate()+14,3,@intero+1,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@certificazione,'CERTIFICAZIONE',@desc_certificazione,getdate()+13,getdate()+17,3,@intero+1,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@zipping,'ZIPPING'+' '+ cast(@intero+1 as varchar),@desc_zipping,getdate()+18,getdate()+21,3,@intero+1,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@approval,'APPROVAL',@desc_approval,getdate()+23,getdate()+25,3,@intero+1,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@invio,'INVIO PDF'+' '+ cast(@intero+1 as varchar),@desc_invio,getdate()+25,getdate()+27,3,@intero+1,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@postalizzazione,'POSTALIZZAZIONE'+' '+ cast(@intero+1 as varchar),@desc_postalizzazione,getdate()+27,getdate()+30,3,@intero+1,'','',0) +if (@param1='TRIM_START') +begin +if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='TRIMESTRALE' and tipo_reportistica=@tipo and flg_stato=1)>0) +begin +truncate table C6MartPeriodico.tab_semaforo +--;throw 51014,'Presente una trimestrale conclusa, per continuare fai una truncate su questa tabella',0 +end +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='TRIMESTRALE' and tipo_reportistica=@tipo +if(@intero>0) +begin +update C6MartPeriodico.tab_semaforo +set inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end, +trim_corrente=[C6MartPeriodico].[getTrimestre](GETDATE(),0), +--fine_milestone=GETDATE()+50, +--fine_lotto=GETDATE()+50, +flg_stato=2 +where milestone='TRIMESTRALE' and tipo_reportistica=@tipo; +exec C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM LOTTO0_START,@tipo +end +--else +--begin +--insert into C6MartPeriodico.tab_semaforo +--values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,'TRIMESTRALE','',GETDATE(),GETDATE()+50,2,@intero) +--end +end +if(@param1='LOTTO0_START') +begin +if((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='TRIMESTRALE' and flg_stato=2 and tipo_reportistica=@tipo)<>0) +begin +update C6MartPeriodico.tab_semaforo +set inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end, +inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +flg_stato=2 +--fine_milestone=GETDATE()+4, +--fine_lotto=GETDATE()+4 +from C6MartPeriodico.tab_semaforo +where milestone='lotto 0' and tipo_reportistica=@tipo +end +else +begin +;throw 50003,'Nessuna fase di Trimestrale in corso',0 +end +end +if(@param1='LOTTO0_END') +begin +if((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%LOTTO 0%' and flg_stato=2 and tipo_reportistica=@tipo)<>0) +begin +update C6MartPeriodico.tab_semaforo +set fine_lotto=GETDATE(),flg_stato=1, +fine_milestone=GETDATE() +from C6MartPeriodico.tab_semaforo +where milestone = 'LOTTO 0' and tipo_reportistica=@tipo +end +else +begin +;throw 50003,'Nessuna fase di Lotto avviata',0 +end +end +--if((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='Trimestrale' and tipo_reportistica=@tipo and flg_stato=2)=1) +--begin +--inizio quadratura +if(@param1='QUAD_START') +begin +if((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%Certificazione%' and flg_stato=1 and tipo_reportistica=@tipo)<>0) +begin +;throw 51012,'Fase di Certificazione già avviata non puoi avviare un altra quadratura',0 +end +if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='trimestrale' and tipo_reportistica=@tipo)=0) +begin +;throw 51000,'NESSUNA FASE DI TRIMESTRALE PRECEDENTE',0 +end +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='QUADRATURA' and flg_stato<>1 and tipo_reportistica=@tipo +if(@intero>0) +begin +update C6MartPeriodico.tab_semaforo +set trim_corrente=[C6MartPeriodico].[getTrimestre](GETDATE(),0), + inizio_milestone= case when flg_stato<>2 then GETDATE() else inizio_milestone end, + inizio_lotto=getdate(), +--fine_milestone=GETDATE()+2 , +flg_stato=2 +where milestone='QUADRATURA' +end +--else +--begin +--insert into C6MartPeriodico.tab_semaforo +--values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@quadratura,'QUADRATURA',@desc_quadratura,GETDATE(),GETDATE()+2,2,@intero,'','',0) +--end +end +-- certificazione start +--if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='Trimestrale' and tipo_reportistica=@tipo and flg_stato=2)=1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='Quadratura' and tipo_reportistica=@tipo and flg_stato=2)=1) +--begin +-- certificazione start +if(@param1='CERTIFICAZIONE_START') +begin +if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='trimestrale' and tipo_reportistica=@tipo)=0) +begin +;throw 51000,'NESSUNA FASE DI TRIMESTRALE PRECEDENTE',0 +end +if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='quadratura' and flg_stato = 2 and tipo_reportistica=@tipo)>0 or +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='quadratura' and tipo_reportistica=@tipo) =0) +begin +;throw 51001,'NESSUNA FASE DI QUADRATURA PRECEDENTE',0 +end +if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%lotto%' and milestone<> 'LOTTO 0' and flg_stato <> 2 and tipo_reportistica=@tipo)>0 or +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%lotto%' and milestone<> 'LOTTO 0' and tipo_reportistica=@tipo) =0) +begin +;throw 51001,'NESSUNA FASE DI LOTTO PRECEDENTE',0 +end +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='CERTIFICAZIONE' and tipo_reportistica=@tipo +if(@intero>0) +--and(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='quadratura' and flg_stato = 0 and tipo_reportistica=@tipo)=1) +begin +update C6MartPeriodico.tab_semaforo +set trim_corrente=[C6MartPeriodico].[getTrimestre](GETDATE(),0), + inizio_milestone= case when flg_stato<>2 then GETDATE() else inizio_milestone end, + inizio_lotto=getdate(), +--fine_milestone=GETDATE()+2 , +flg_stato=2, +fase=@intero +where milestone='CERTIFICAZIONE' +end +else +begin +insert into C6MartPeriodico.tab_semaforo +values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,'10','CERTIFICAZIONE',@desc_certificazione,GETDATE(),GETDATE()+2,2,@intero,'','',0) +end +end +----lotto start +--if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='Trimestrale' and tipo_reportistica=@tipo and flg_stato=2)=1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='Quadratura' and tipo_reportistica=@tipo and flg_stato=2)=1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='Certificazione' and tipo_reportistica=@tipo and flg_stato=2)=1) +--begin +if(@param1='LOTTO_START') +begin +if((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='Quadratura' and tipo_reportistica=@tipo)=0) +begin +;throw 51013,'Non hai avviato una fase precedente al lotto (Trimestrale,Quadratura)',0 +end +if((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='Quadratura' and flg_stato=2 and tipo_reportistica=@tipo)>0) +begin +;throw 51015,'Fase Quadratura ancora in exec',0 +end +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%LOTTO%' and milestone<> 'LOTTO 0' and tipo_reportistica=@tipo +if(@intero >=0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%LOTTO%' and milestone<> 'LOTTO 0' and flg_stato = 1 and tipo_reportistica=@tipo and fase=@intero) >0 ) +begin +insert into C6MartPeriodico.tab_semaforo +values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@lotto,'LOTTO'+' '+ cast(@intero+1 as varchar),@desc_lotto,GETDATE(),'',2,@intero+1,GETDATE(),'',0) +end +else +if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%lotto%' and milestone<> 'LOTTO 0' and tipo_reportistica=@tipo)>0) +begin +update C6MartPeriodico.tab_semaforo +set +inizio_milestone= case when flg_stato<>2 then GETDATE() else inizio_milestone end, +inizio_lotto= getdate(), +--case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end, +flg_stato=2 +--fine_milestone=GETDATE()+10, +--fine_lotto=GETDATE()+10 +from C6MartPeriodico.tab_semaforo +where milestone='lotto'+' '+cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 50003,'Lotto ancora in exec',0 +end +end +--lotto end +if(@param1='LOTTO_END') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%LOTTO%' and milestone<> 'LOTTO 0' and tipo_reportistica=@tipo +if(@intero >0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%LOTTO%' and milestone<> 'LOTTO 0' and flg_stato = 2 and tipo_reportistica=@tipo) <> 0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%zipping%' and flg_stato=1 and fase=@intero and tipo_reportistica=@tipo)<>0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and flg_stato=1 and fase=@intero and tipo_reportistica=@tipo)<>0 ) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(), +fine_lotto=getdate(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone = 'LOTTO'+' '+ cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51004,'Nessuna fase di Lotto oppure fase lotto non conclusa (INVIO)',0 +end +end +----zipping start +if(@param1='ZIPPING_START') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%ZIPPING%' and tipo_reportistica=@tipo +if(@intero >=0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='LOTTO'+' '+cast(@intero+1 as varchar) and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%zipping%' and flg_stato=2 and tipo_reportistica=@tipo )=0 ) +begin +insert into C6MartPeriodico.tab_semaforo +values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@zipping,'ZIPPING'+' '+ cast(@intero+1 as varchar),@desc_zipping,GETDATE(),GETDATE()+1,2,@intero+1,'','',0) +end +else if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%zipping%' and tipo_reportistica=@tipo)>0) +begin +update C6MartPeriodico.tab_semaforo + set inizio_milestone= case when flg_stato<>2 then GETDATE() else inizio_milestone end, + inizio_lotto=getdate(), +flg_stato=2 +--fine_milestone=GETDATE()+1 +from C6MartPeriodico.tab_semaforo +where milestone='zipping'+' '+cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51005,'Fasi precedenti a zipping non avviati',0 +end +end +--zipping end +if(@param1='ZIPPING_END') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%zipping%' and tipo_reportistica=@tipo +if(@intero >0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%zipping%' and flg_stato = 2 and tipo_reportistica=@tipo) <> 0 +--and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and flg_stato=0 and fase=@intero)<>0 +) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone = 'zipping'+' '+ cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51006,'Nessuna fase di Zipping avviata',0 +end +end +--invio start +if(@param1='INVIO_START') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and tipo_reportistica=@tipo +if(@intero >=0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='LOTTO'+' '+cast(@intero+1 as varchar) and flg_stato = 2 and tipo_reportistica=@tipo) <>0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='ZIPPING'+' '+cast(@intero+1 as varchar) and flg_stato=1 and tipo_reportistica=@tipo)<>0 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='APPROVAL'+' '+cast(@intero+1 as varchar) and flg_stato=1 and tipo_reportistica=@tipo)<>0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and flg_stato=2 and tipo_reportistica=@tipo)=0 ) +begin +insert into C6MartPeriodico.tab_semaforo +values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@invio,'INVIO PDF'+' '+ cast(@intero+1 as varchar),@desc_invio,GETDATE(),GETDATE()+2,2,@intero+1,'','',0) +end +else if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and tipo_reportistica=@tipo)>0) +begin +update C6MartPeriodico.tab_semaforo +set inizio_milestone= case when flg_stato<>2 then GETDATE() else inizio_milestone end, + inizio_lotto=getdate(), +flg_stato=2 +--fine_milestone=GETDATE()+1 +from C6MartPeriodico.tab_semaforo +where milestone='invio pdf'+' '+cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51007,'Fase precedente ancora in exec o non avviata',0 +end +end +--invio end +if(@param1='INVIO_END') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and tipo_reportistica=@tipo +if(@intero >0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and flg_stato = 2 and tipo_reportistica=@tipo) <> 0) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone = 'INVIO pdf'+' '+ cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51008,'Nessuna fase di invio',0 +end +end +--end --if controllo certificazione +--else +--begin +--throw('NESSUNA CERTIFICAZIONE AVVIATA 2 CONTROLLO') +--end +--end --if controllo quadratura +--else +--begin +--if((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='TRIMESTRALE' and flg_stato=2)=0) +--throw('NESSUNA QUADRATURA AVVIATA 2 CONTROLLO') +--end +--end --if controllo trimestrale +--else +--begin +--throw('NESSUNA TRIMESTRALE AVVIATA 2 CONTROLLO') +--end +-- approval inizio +if(@param1='APPROVAL_START') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and tipo_reportistica=@tipo +if(@intero >=0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='LOTTO'+' '+'1' and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='ZIPPING'+' '+'1' and flg_stato=1 and tipo_reportistica=@tipo)=1 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%approval%' and flg_stato=2 and tipo_reportistica=@tipo)=0 ) +begin +--insert into C6MartPeriodico.tab_semaforo +--values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@approval,'APPROVAL',@desc_approval,GETDATE(),GETDATE()+2,2,@intero+1,'','',0) +--end +--else if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%APPROVAL%' and tipo_reportistica=@tipo)>0) +--begin +update C6MartPeriodico.tab_semaforo +set inizio_milestone= case when flg_stato<>2 then GETDATE() else inizio_milestone end, + inizio_lotto=getdate(), +flg_stato=2--fine_milestone=GETDATE()+1 +from C6MartPeriodico.tab_semaforo +where milestone='APPROVAL' and tipo_reportistica=@tipo +end +else +begin +;throw 51007,'Fase precedente ancora in exec o non avviata',0 +end +end +--approval end +if(@param1='APPROVAL_END') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%approval%' and tipo_reportistica=@tipo +if(@intero >0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%approval%' and flg_stato = 2 and tipo_reportistica=@tipo) <> 0) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone = 'APPROVAL' and tipo_reportistica=@tipo +end +else +begin +;throw 51008,'Nessuna fase di APPROVAL',0 +end +end +--fine_trimestre +if (@param1='TRIM_END') +begin +if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%Lotto%' and milestone<> 'LOTTO 0' and flg_stato=2 and tipo_reportistica=@tipo)<>0) +begin +;throw 51002,'Lotto ancora in Corso',0 +end +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='TRIMESTRALE' and tipo_reportistica=@tipo +if(@intero>0 and (select flg_stato from C6MartPeriodico.tab_semaforo where milestone='TRIMESTRALE' and tipo_reportistica=@tipo) <>0 and +(select COUNT (*) from C6MartPeriodico.tab_semaforo where milestone like '%lotto%' and milestone<> 'LOTTO 0' and flg_stato=1) <> 0) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone='TRIMESTRALE' and tipo_reportistica=@tipo +end +else +begin +;throw 51009,'Nessuna trimestrale avviata oppure fase di Lotto non avviata/conclusa',0 +end +end +--fine quadratura +if(@param1='QUAD_END') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='QUADRATURA' and tipo_reportistica=@tipo +if(@intero>0 and (select flg_stato from C6MartPeriodico.tab_semaforo where milestone='QUADRATURA' and tipo_reportistica=@tipo) <>0) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone='QUADRATURA' and tipo_reportistica=@tipo; +exec C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM LOTTO0_end,@tipo +end +else +begin +;throw 51010,'Nessuna quadratura',0 +end +end +--certificazione end +if(@param1='CERTIFICAZIONE_END') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='CERTIFICAZIONE' and tipo_reportistica=@tipo +if(@intero>0 and (select flg_stato from C6MartPeriodico.tab_semaforo where milestone='CERTIFICAZIONE' and tipo_reportistica=@tipo) <>0) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone='CERTIFICAZIONE' and tipo_reportistica=@tipo +end +else +begin +;throw 51011,'Nessuna Certificazione avviata',0 +end +end +if(@param1='CONGELAMENTO_START') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%congelamento%' and tipo_reportistica=@tipo +if(@intero >=0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='LOTTO'+' '+cast(@intero+1 as varchar) and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%congelamento%' and flg_stato=2 and tipo_reportistica=@tipo )=0 ) +begin +insert into C6MartPeriodico.tab_semaforo +values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@congelamento,'CONGELAMENTO DB MK',@desc_congelamento,GETDATE(),GETDATE()+1,2,@intero+1,'','',0) +end +else if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%CONGELAMENTO%' and tipo_reportistica=@tipo)>0) +begin +update C6MartPeriodico.tab_semaforo +set + inizio_milestone= case when flg_stato<>2 then GETDATE() else inizio_milestone end, + inizio_lotto=getdate(), + --fine_lotto=getdate()+1, +flg_stato=2 +--fine_milestone=GETDATE()+1 +from C6MartPeriodico.tab_semaforo +where milestone='CONGELAMENTO DB MK' and tipo_reportistica=@tipo +end +else +begin +;throw 51005,'Fasi precedenti a congelamento non avviati',0 +end +end +if(@param1='CONGELAMENTO_END') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%CONGELAMENTO%' and tipo_reportistica=@tipo +if(@intero >0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%CONGELAMENTO%' and flg_stato = 2 and tipo_reportistica=@tipo) <> 0 +--and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and flg_stato=0 and fase=@intero)<>0 +) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone = 'CONGELAMENTO DB MK' and tipo_reportistica=@tipo +end +else +begin +;throw 51006,'Nessuna fase di Congelamento avviata',0 +end +end +if(@param1='SM1_START') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 1)%' and tipo_reportistica=@tipo +if(@intero >=0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='LOTTO'+' '+cast(@intero+1 as varchar) and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='CONGELAMENTO DB MK' and flg_stato = 1 and tipo_reportistica=@tipo) =1 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 1)%' and flg_stato=2 and tipo_reportistica=@tipo )=0 ) +begin +insert into C6MartPeriodico.tab_semaforo +values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@sm1,'STAGING & MART (FASE 1)'+' '+ cast(@intero+1 as varchar),@desc_sm1,GETDATE(),'',2,@intero+1,'','',0) +end +else if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 1)%' and tipo_reportistica=@tipo)>0) +begin +update C6MartPeriodico.tab_semaforo +set + inizio_milestone= case when flg_stato<>2 then GETDATE() else inizio_milestone end, + inizio_lotto=getdate(), +flg_stato=2 +--fine_milestone=GETDATE()+1 +from C6MartPeriodico.tab_semaforo +where milestone='STAGING & MART (FASE 1)'+' '+cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51005,'Fasi precedenti a SM non avviati',0 +end +end +--zipping end +if(@param1='SM1_END') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 1)%' and tipo_reportistica=@tipo +if(@intero >0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 1)%' and flg_stato = 2 and tipo_reportistica=@tipo) <> 0 +--and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and flg_stato=0 and fase=@intero)<>0 +) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone = 'STAGING & MART (FASE 1)'+' '+ cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51006,'Nessuna fase di SM avviata',0 +end +end +if(@param1='POSITION_START') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%CHIAMATA ALADDIN%' and tipo_reportistica=@tipo +if(@intero >=0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='LOTTO'+' '+cast(@intero+1 as varchar) and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='CONGELAMENTO' and flg_stato = 1 and tipo_reportistica=@tipo) =1 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 1)%' and flg_stato = 1 and tipo_reportistica=@tipo) <>0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%CHIAMATA ALADDIN%' and flg_stato=2 and tipo_reportistica=@tipo )=0 ) +begin +insert into C6MartPeriodico.tab_semaforo +values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@position,'CHIAMATA ALADDIN'+' '+ cast(@intero+1 as varchar),@desc_position,GETDATE(),'',2,@intero+1,'','',0) +end +else if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%CHIAMATA ALADDIN%' and tipo_reportistica=@tipo)>0) +begin +update C6MartPeriodico.tab_semaforo +set + inizio_milestone= case when flg_stato<>2 then GETDATE() else inizio_milestone end, + inizio_lotto=getdate(), +flg_stato=2 +--fine_milestone=GETDATE()+1 +from C6MartPeriodico.tab_semaforo +where milestone='CHIAMATA ALADDIN'+' '+cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51005,'Fasi precedenti a CHIAMATA ALADDIN non avviati',0 +end +end +--zipping end +if(@param1='POSITION_END') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%CHIAMATA ALADDIN%' and tipo_reportistica=@tipo +if(@intero >0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%CHIAMATA ALADDIN%' and flg_stato = 2 and tipo_reportistica=@tipo) <> 0 +--and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and flg_stato=0 and fase=@intero)<>0 +) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone = 'CHIAMATA ALADDIN'+' '+ cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51006,'Nessuna fase di CHIAMATA ALADDIN avviata',0 +end +end +--if(@param1='ADEGUATEZZA_START') +--begin +--select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%ADEGUATEZZA%' and tipo_reportistica=@tipo +--if(@intero >=0 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='LOTTO'+' '+cast(@intero+1 as varchar) and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='CONGELAMENTO' and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='STAGING & MART (FASE 1)' and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='POSITION' and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%ADEGUATEZZA%' and flg_stato=2 and tipo_reportistica=@tipo )=0 ) +--begin +--insert into C6MartPeriodico.tab_semaforo +--values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@adeguatezza,'ADEGUATEZZA'+' '+ cast(@intero+1 as varchar),'',GETDATE(),GETDATE()+1,2,@intero+1) +--end +--else if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%ADEGUATEZZA%' and tipo_reportistica=@tipo)>0) +--begin +--update C6MartPeriodico.tab_semaforo +--set +--inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +--flg_stato=2, +--fine_milestone=GETDATE()+1 +--from C6MartPeriodico.tab_semaforo +--where milestone='ADEGUATEZZA'+' '+cast(@intero as varchar) and tipo_reportistica=@tipo +--end +--else +--begin +--;throw 51005,'Fasi precedenti a ADEGUATEZZA non avviati',0 +--end +--end +--zipping end +--if(@param1='ADEGUATEZZA_END') +--begin +--select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%ADEGUATEZZA%' and tipo_reportistica=@tipo +--if(@intero >0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%ADEGUATEZZA%' and flg_stato = 2 and tipo_reportistica=@tipo) <> 0 +----and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and flg_stato=0 and fase=@intero)<>0 +--) +--begin +--update C6MartPeriodico.tab_semaforo +--set fine_milestone=GETDATE(),flg_stato=1 +--from C6MartPeriodico.tab_semaforo +--where milestone = 'ADEGUATEZZA'+' '+ cast(@intero as varchar) and tipo_reportistica=@tipo +--end +--else +--begin +--;throw 51006,'Nessuna fase di ADEGUATEZZA avviata',0 +--end +--end +--if(@param1='POST_ADE_START') +--begin +--select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%POST_ADE%' and tipo_reportistica=@tipo +--if(@intero >=0 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='LOTTO'+' '+cast(@intero+1 as varchar) and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='CONGELAMENTO' and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='STAGING & MART (FASE 1)' and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='POSITION' and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='ADEGUATEZZA' and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%POST_ADE%' and flg_stato=2 and tipo_reportistica=@tipo )=0 ) +--begin +--insert into C6MartPeriodico.tab_semaforo +--values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@post_ade,'POST_ADE'+' '+ cast(@intero+1 as varchar),'',GETDATE(),GETDATE()+1,2,@intero+1) +--end +--else if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%POST_ADE%' and tipo_reportistica=@tipo)>0 ) +----and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='ADEGUATEZZA' and flg_stato = 1 and tipo_reportistica=@tipo) =1 ) +--begin +--update C6MartPeriodico.tab_semaforo +--set +--inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +--flg_stato=2, +--fine_milestone=GETDATE()+1 +--from C6MartPeriodico.tab_semaforo +--where milestone='POST_ADE'+' '+cast(@intero as varchar) and tipo_reportistica=@tipo +--end +--else +--begin +--;throw 51005,'Fasi precedenti a POST_ADEGUATEZZA non avviati',0 +--end +--end +----zipping end +--if(@param1='POST_ADE_END') +--begin +--select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%POST_ADE%' and tipo_reportistica=@tipo +--if(@intero >0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%POST_ADE%' and flg_stato = 2 and tipo_reportistica=@tipo) <> 0 +----and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and flg_stato=0 and fase=@intero)<>0 +--) +--begin +--update C6MartPeriodico.tab_semaforo +--set fine_milestone=GETDATE(),flg_stato=1 +--from C6MartPeriodico.tab_semaforo +--where milestone = 'POST_ADE'+' '+ cast(@intero as varchar) and tipo_reportistica=@tipo +--end +--else +--begin +--;throw 51006,'Nessuna fase di POST_ADEGUATEZZA avviata',0 +--end +--end +if(@param1='SM2_START') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 2)%' and tipo_reportistica=@tipo +if(@intero >=0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='LOTTO'+' '+cast(@intero+1 as varchar) and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='CONGELAMENTO DB MK' and flg_stato = 1 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 1)%' and flg_stato = 2 and tipo_reportistica=@tipo) =0 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%CHIAMATA ALADDIN%' and flg_stato = 2 and tipo_reportistica=@tipo) =0 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='ADEGUATEZZA' and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='POST_ADE' and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 2)%' and flg_stato=2 and tipo_reportistica=@tipo )=0 ) +begin +insert into C6MartPeriodico.tab_semaforo +values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@sm2,'STAGING & MART (FASE 2)'+' '+ cast(@intero+1 as varchar),@desc_sm2,GETDATE(),'',2,@intero+1,'','',0) +end +else if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 2)%' and tipo_reportistica=@tipo)>0) +begin +update C6MartPeriodico.tab_semaforo +set + inizio_milestone= case when flg_stato<>2 then GETDATE() else inizio_milestone end, + inizio_lotto=getdate(), +flg_stato=2 +--fine_milestone=GETDATE()+1 +from C6MartPeriodico.tab_semaforo +where milestone='STAGING & MART (FASE 2)'+' '+cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51005,'Fasi precedenti a STAGING & MART 2 non avviati',0 +end +end +--zipping end +if(@param1='SM2_END') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 2)%' and tipo_reportistica=@tipo +if(@intero >0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 2)%' and flg_stato = 2 and tipo_reportistica=@tipo) <> 0 +--and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and flg_stato=0 and fase=@intero)<>0 +) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone = 'STAGING & MART (FASE 2)'+' '+ cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51006,'Nessuna fase di STAGING & MART 2 avviata',0 +end +END +--if(@param1='START') +--BEGIN +--update C6MartPeriodico.tab_semaforo +--set inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +--flg_stato=2, +--fine_milestone=GETDATE()+1 +--from C6MartPeriodico.tab_semaforo +--where milestone LIKE '%POSTALIZZAZIONE%' +----'POSTALIZZAZIONE'+' '+cast(@intero as varchar) and tipo_reportistica=@tipo +--end +if(@param1='P_START') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%POSTALIZZAZIONE%' and tipo_reportistica=@tipo +if(@intero >=0 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='LOTTO'+' '+cast(@intero+1 as varchar) and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='ZIPPING'+' '+cast(@intero+1 as varchar) and flg_stato=1 and tipo_reportistica=@tipo)=1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='APPROVAL'+' '+cast(@intero+1 as varchar) and flg_stato=2 and tipo_reportistica=@tipo)=1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='INVIO pdf'+' '+cast(@intero+1 as varchar) and flg_stato=1 and tipo_reportistica=@tipo)=1 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%POSTALIZZAZIONE%' and flg_stato=2 and tipo_reportistica=@tipo)=0 ) +begin +insert into C6MartPeriodico.tab_semaforo +values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@postalizzazione,'POSTALIZZAZIONE'+' '+ cast(@intero+1 as varchar),@desc_postalizzazione,GETDATE(),'',2,@intero+1,'','',0) +end +else if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%POSTALIZZAZIONE%' and tipo_reportistica=@tipo)>0) +begin +update C6MartPeriodico.tab_semaforo +set + inizio_milestone= case when inizio_lotto like '%1900%' then GETDATE() else inizio_milestone end, + inizio_lotto=getdate(), +flg_stato=2, +fine_milestone=GETDATE()+1 +from C6MartPeriodico.tab_semaforo +where milestone='POSTALIZZAZIONE'+' '+cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51007,'Fase precedente a POSTALIZZAZIONE ancora in exec o non avviata',0 +end +end +--invio end +if(@param1='P_END') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%POSTALIZZAZIONE%' and tipo_reportistica=@tipo +if(@intero >0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%POSTALIZZAZIONE%' and flg_stato = 2 and tipo_reportistica=@tipo) <> 0) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone = 'POSTALIZZAZIONE'+' '+ cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51008,'Nessuna fase di POSTALIZZAZIONE',0 +end +update C6MartPeriodico.tab_semaforo +set fine_lotto=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone = 'LOTTO'+' '+ cast(@intero as varchar) and tipo_reportistica=@tipo +end +----truncate table C6MartPeriodico.tab_semaforo +--select * from C6MartPeriodico.tab_semaforo order by inizio_milestone desc +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM trim_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM trim_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM quad_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM quad_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM lotto_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM congelamento_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM congelamento_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM sm1_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM sm1_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM position_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM position_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM adeguatezza_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM adeguatezza_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM post_ade_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM post_ade_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM sm2_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM sm2_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM certificazione_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM certificazione_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM zipping_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM zipping_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM approval_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM approval_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM invio_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM invio_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM lotto_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM p_START,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM p_end,SEI +--fase +--delete from C6MartPeriodico.tab_semaforo where milestone='LOTTO 2' +--select * from C6MartPeriodico.tab_semaforo order by inizio_milestone desc +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM trim_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM quad_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM quad_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM lotto_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM certificazione_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM certificazione_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM zipping_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM zipping_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM invio_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM invio_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM lotto_end,SEI +----truncate table C6MartPeriodico.tab_semaforo +--select * from C6MartPeriodico.tab_semaforo order by inizio_milestone desc +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM trim_start,IMM +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM trim_end,IMM +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM quad_start,IMM +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM quad_end,IMM +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM certificazione_start,IMM +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM certificazione_end,IMM +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM lotto_start,IMM +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM lotto_end,IMM +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM zipping_start,IMM +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM zipping_end,IMM +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM invio_start,IMM +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM invio_end,IMM +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SP_statistiche_app_rendicontazione.sql b/sql/storedProduzione/C6MartPeriodico_SP_statistiche_app_rendicontazione.sql new file mode 100644 index 00000000..365c06ba --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SP_statistiche_app_rendicontazione.sql @@ -0,0 +1,330 @@ +--select * from dbo.w6trcli where [Freq_ Diagnosi]='S' +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_statistiche_app_rendicontazione] +as +begin +declare +--NUMERI +@nr_clientiinperimetro int, +@nr_clientiRFA0 int, +@nr_clientiRFAMinus int, +@nr_clientiProfiloScaduto int, +@nr_clientiBlacklist int, +@nr_clientiinviati int, +@nr_clientidainviare int, +@nr_letteraSostitutiva int, +@nr_clientiImmobiliari int, +@nr_clientiInPerimentroSenzaImmobiliare int, +@nr_Blacklistdiversi int, +@nr_soloClientiImmobiliari int, +@nr_diagnosi int, +@nr_clientirendicontati int, +@nr_lotto1 int, +@nr_lotto2 int, +@nr_lotto3 int, +@nr_lotto4 int, +@nr_lotto5 int, +@nr_lotto6 int, +@nr_lotto7 int, +@nr_lotto8 int, +@nr_lotto9 int, +@nr_lotto10 int, +@nr_clientiinviati_IMM int, +@nr_clientidainviare_IMM int, +@nr_clientiBlacklist_IMM int, +@nr_clientirendicontati_IMM int, +@nr_lotto1_IMM int, +@nr_clientiDiagnosiInviati int, +@nr_clientiDiagnosidaInviare int, +@nr_clienticonMonitoraggio int, +@nr_clientiConImmESei int, +@nr_clientiConSoloImm int, +@nr_letteraSostitutivaImm int, +@nr_clientiRFAMinusImm int, +@nr_clientiProfiloEC int +select @nr_clientiInPerimetro= COUNT(*) from C6MartPeriodico.tabellone where solo_rend_imm='N' or solo_rend_imm is NULL--clienti in perimetro +select @nr_clientiRFA0 = COUNT(*) from C6MartPeriodico.tabellone where blacklist like '%RFA=0%' --clienti con RFA0 +select @nr_clientiRFAMinus = COUNT(*) from C6MartPeriodico.tabellone where blacklist like '%RFA Minus%' --clienti con RFA0 +select @nr_clientiProfiloScaduto= COUNT(*) from C6MartPeriodico.tabellone where blacklist like '%Profilo Scaduto%' and (blacklist not like '%RFA=0%' and blacklist not like '%RFA Minus%') --clienti con il profilo scaduto +select @nr_clientiBlacklist= COUNT(*) from C6MartPeriodico.tabellone where blacklist is not null +select @nr_letteraSostitutiva= COUNT(*) from C6MartPeriodico.tabellone where blacklist like '%RFA=0%' or blacklist like '%profilo%' or blacklist like '%RFA Minus%' +--select @nr_clientiBlacklist= COUNT(*) from C6MartPeriodico.tabellone where blacklist is not null --clienti in blacklist +select @nr_clientiinviati= COUNT(*) from C6MartPeriodico.tabellone where lotto is not null --clienti con report gia inviato +set @NR_clientidainviare= @nr_clientiinperimetro-@nr_clientiinviati-@nr_letteraSostitutiva--@nr_clientiBlacklist --clienti con report da inviare +--select @nr_letteraSostitutiva= COUNT(*) from C6MartPeriodico.tabellone where blacklist like '%sostitutiva%'--like '%RFA%' or blacklist like '%profilo%' +select @nr_clientiImmobiliari = COUNT(*) from C6MartPeriodico.tabellone where flgpe_perimetro_semestr='S' +set @nr_clientiInPerimentroSenzaImmobiliare=@nr_clientiinperimetro-@nr_clientiImmobiliari +select @nr_Blacklistdiversi=@nr_clientiBlacklist-@nr_letteraSostitutiva +select @nr_soloClientiImmobiliari= COUNT(*) from C6MartPeriodico.tabellone where solo_rend_imm='S' +select @nr_diagnosi= COUNT(*) from C6MartPeriodico.tabellone where freq_diagnosi <> '' +set @nr_clientirendicontati=@nr_clientiinperimetro-@nr_letteraSostitutiva--@nr_clientiBlacklist +select @nr_lotto1= count(*) from c6martperiodico.tabellone where lotto=1 +select @nr_lotto2= count(*) from c6martperiodico.tabellone where lotto=2 +select @nr_lotto3= count(*) from c6martperiodico.tabellone where lotto=3 +select @nr_lotto4= count(*) from c6martperiodico.tabellone where lotto=4 +select @nr_lotto5= count(*) from c6martperiodico.tabellone where lotto=5 +select @nr_lotto6= count(*) from c6martperiodico.tabellone where lotto=6 +select @nr_lotto7= count(*) from c6martperiodico.tabellone where lotto=7 +select @nr_lotto8= count(*) from c6martperiodico.tabellone where lotto=8 +select @nr_lotto9= count(*) from c6martperiodico.tabellone where lotto=9 +select @nr_lotto10= count(*) from c6martperiodico.tabellone where lotto=10 +select @nr_clientiinviati_IMM=COUNT(*) from C6MartPeriodico.tabellone where lotto_imm is not null and blacklist is null +select @nr_clientiBlacklist_IMM=COUNT(*) from C6MartPeriodico.tabellone where lettera_sost_imm='S' +--select @nr_clientiBlacklist_IMM=COUNT(*) from C6MartPeriodico.tabellone where blacklist is not null --clienti in blacklist imm cambia in blacklist_imm quando aggiungi il campo nel tabellone decommenta quando aggiungi il campo +set @nr_clientirendicontati_IMM=@nr_clientiImmobiliari--@nr_clientiBlacklist_IMM -- da rivedere per nr_clientiBlacklist si ipotizza un altro campo in blacklist decommenta quando aggiungi il campo +--set @nr_lotto1_IMM=@nr_clientiinviati_IMM decommenta quando dino ha finito +set @nr_lotto1_IMM=0 +select @nr_clientiDiagnosiInviati=COUNT(*) from C6MartPeriodico.tabellone where freq_diagnosi <> '' and lotto is not null and blacklist is null +select @nr_clientiDiagnosidaInviare=COUNT(*) from C6MartPeriodico.tabellone where freq_diagnosi <> '' and lotto is null and blacklist is null +select @nr_clienticonMonitoraggio=count(*) from C6MartPeriodico.tabellone where freq_monitoraggio<>'' and (solo_rend_imm='N' or solo_rend_imm is NULL)--freq_diagnosi='' and freq_monitoraggio<>'' and (solo_rend_imm='N' or solo_rend_imm is NULL) +select @nr_clientiConImmESei=count(*) from C6MartPeriodico.tabellone where anche_rend_sei='S' +select @nr_clientiConSoloImm=count(*) from C6MartPeriodico.tabellone where solo_rend_imm='S' +select @nr_letteraSostitutivaImm= COUNT(*) from C6MartPeriodico.tabellone where lettera_sost_imm='S' +set @nr_clientirendicontati_IMM=@nr_clientiImmobiliari-@nr_letteraSostitutivaImm--@nr_clientiBlacklist_IMM -- da rivedere per nr_clientiBlacklist si ipotizza un altro campo in blacklist decommenta quando aggiungi il campo +set @NR_clientidainviare_IMM= @nr_clientiImmobiliari-@nr_clientiinviati_IMM-@nr_letteraSostitutivaImm -- da rivedere per nr_clientiBlacklist si ipotizza un altro campo in blacklist decommenta quando aggiungi il campo +select @nr_clientiRFAMinusImm = COUNT(*) from C6MartPeriodico.tabellone where blacklist_imm='BLACKLIST RFA MINUS CLIENTE SEI E IMMOBILIARE'--COUNT(*) from C6MartPeriodico.tabellone where blacklist_imm like '%RFA Minus%' --clienti con RFA0 +select @nr_clientiProfiloEC= COUNT(*) from C6MartPeriodico.tabellone where blacklist like '%Profilo EC%' and (blacklist not like '%RFA=0%' and blacklist not like '%RFA Minus%') +--DESCRIZIONE +declare +@desc_clientiinperimetro varchar(64), +@desc_clientiRFA0 varchar(64), +@desc_clientiRFAMinus varchar(64), +@desc_clientiProfiloScaduto varchar(64), +@desc_clientiBlacklist varchar(64), +@desc_clientiInviati varchar(64), +@desc_clientiDaInviare varchar(64), +@desc_letteraSostitutiva varchar(64), +@desc_clientiImmobiliari varchar(64), +@desc_clientiInPerimentroSenzaImmobiliare varchar(64), +@desc_Blacklistdiversi varchar(64), +@desc_soloClientiImmobiliari varchar(64), +@desc_Diagnosi varchar(64), +@desc_clientirendicontati varchar(64), +@desc_lotto1 varchar(64), +@desc_lotto2 varchar(64), +@desc_lotto3 varchar(64), +@desc_lotto4 varchar(64), +@desc_lotto5 varchar(64), +@desc_lotto6 varchar(64), +@desc_lotto7 varchar(64), +@desc_lotto8 varchar(64), +@desc_lotto9 varchar(64), +@desc_lotto10 varchar(64), +@desc_clientiInviati_IMM varchar(64), +@desc_clientiDaInviare_IMM varchar(64), +@desc_clientiBlacklist_IMM varchar(64), +@desc_clientirendicontati_IMM varchar(64), +@desc_lotto1_IMM varchar(64), +@desc_clientiDiagnosiInviati varchar(64), +@desc_clientiDiagnosiDaInviare varchar(64), +@desc_clienticonMonitoraggio varchar(64), +@desc_clientiConImmESei varchar(64), +@desc_clientiConSoloImm varchar(64), +@desc_letteraSostitutivaImm varchar(64), +@desc_clientiRFAMinusImm varchar(64), +@desc_clientiProfiloEC varchar(64) +set @desc_clientiinperimetro='Clienti in Perimetro SEI' +set @desc_clientiRFA0='Clienti RFA 0' +set @desc_clientiRFAMinus='Clienti RFA Minus SEI' +set @desc_clientiProfiloScaduto='Clienti Profilo Scaduto' +set @desc_ClientiBlacklist='Clienti in Blacklist SEI' +set @desc_ClientiInviati='Clienti con Report già inviati SEI' +set @desc_clientidaInviare='Clienti con Report da inviare SEI' +set @desc_letteraSostitutiva='Clienti Lettera Sostitutiva' +set @desc_clientiImmobiliari='Clienti in Perimetro IMM' +set @desc_clientiInPerimentroSenzaImmobiliare='Clienti in perimetro senza Immobiliare' +set @desc_Blacklistdiversi='Clienti Blacklist con Motivazione diversa' +set @desc_soloClientiImmobiliari='Clienti Solo Immobiliari senza report Sei' +set @desc_Diagnosi='Clienti con Diagnosi' +set @desc_clientirendicontati='Clienti da Rendicontare SEI' +set @desc_lotto1='Clienti Lotto 1' +set @desc_lotto2='Clienti Lotto 2' +set @desc_lotto3='Clienti Lotto 3' +set @desc_lotto4='Clienti Lotto 4' +set @desc_lotto5='Clienti Lotto 5' +set @desc_lotto6='Clienti Lotto 6' +set @desc_lotto7='Clienti Lotto 7' +set @desc_lotto8='Clienti Lotto 8' +set @desc_lotto9='Clienti Lotto 9' +set @desc_lotto10='Clienti Lotto 10' +set @desc_ClientiInviati_IMM='Clienti con Report già inviati IMM' +set @desc_clientidaInviare_IMM='Clienti con Report da inviare IMM' +set @desc_ClientiBlacklist_IMM='Clienti in Blacklist IMM' +set @desc_clientirendicontati_IMM='Clienti da Rendicontare IMM' +set @desc_lotto1_IMM='Clienti Lotto 1 IMM' +set @desc_clientiDiagnosiInviati='Clienti Diagnosi con report già inviati SEI' +set @desc_clientiDiagnosiDaInviare='Clienti Diagnosi con Report da inviare SEI' +set @desc_clienticonMonitoraggio='Clienti con Monitoraggio' +set @desc_clientiConImmESei='Clienti con Immobiliare e SEI' +set @desc_clientiConSoloImm='Clienti con Solo Immobiliare' +set @desc_letteraSostitutivaImm='Clienti Lettera Sostitutiva' +set @desc_clientiRFAMinusImm='Clienti RFA Minus IMM' +set @desc_clientiProfiloEC='Clienti Profilo EC Minimo' +--select * from C6MartPeriodico.ExcludedList +--select * from C6MartPeriodico.tabellone +--select * from C6MartPeriodico.statistiche_app_rendicontazione +--select * from C6Martperiodico.motivazioni_blacklist +--update C6MartPeriodico.tabellone +--set lotto=NULL +--from C6MartPeriodico.tabellone +--where codconf='071130CO802' +--update C6MartPeriodico.tabellone +--set blacklist=NULL +--from C6MartPeriodico.tabellone +--where codconf='025680CO800' +--update C6MartPeriodico.tabellone +--set blacklist=NULL +--from C6MartPeriodico.tabellone +--where codconf='029507CO212' +--ID +declare +@id_clientiInPerimetro int, +@id_clientiRFA0 int, +@id_clientiRFAMinus int, +@id_clientiProfiloScaduto int, +@id_ClientiBlacklist int, +@id_ClientiInviati int , +@id_ClientidaInviare int, +@id_LetteraSostitutiva int, +@id_ClientiImmobiliari int, +@id_clientiInPerimentroSenzaImmobiliare int, +@id_Blacklistdiversi int, +@id_soloClientiImmobiliari int, +@id_Diagnosi int, +@id_ClientiRendicontati int, +@id_lotto1 int, +@id_lotto2 int, +@id_lotto3 int, +@id_lotto4 int, +@id_lotto5 int, +@id_lotto6 int, +@id_lotto7 int, +@id_lotto8 int, +@id_lotto9 int, +@id_lotto10 int, +@id_ClientiInviati_IMM int , +@id_ClientidaInviare_IMM int, +@id_clientiBlacklist_IMM int, +@id_clientirendicontati_IMM int, +@id_lotto1_IMM int, +@id_ClientiDiagnosiInviati int , +@id_ClientiDiagnosidaInviare int, +@id_clienticonMonitoraggio int, +@id_clientiConImmESei int, +@id_clientiConSoloImm int, +@id_LetteraSostitutivaImm int, +@id_clientiRFAMinusImm int, +@id_clientiProfiloEC int +set @id_clientiInPerimetro=1 +set @id_clientiRFA0=2 +set @id_clientiProfiloScaduto=3 +set @id_ClientiBlacklist=4 +set @id_ClientiInviati=5 +set @id_ClientidaInviare=6 +set @id_LetteraSostitutiva=7 +set @id_ClientiImmobiliari=8 +set @id_clientiInPerimentroSenzaImmobiliare=9 +set @id_Blacklistdiversi=10 +set @id_soloClientiImmobiliari=11 +set @id_Diagnosi=12 +set @id_ClientiRendicontati=13 +set @id_lotto1 =14 +set @id_lotto2 =15 +set @id_lotto3 =16 +set @id_lotto4 =17 +set @id_lotto5 =18 +set @id_lotto6 =19 +set @id_lotto7 =20 +set @id_lotto8 =21 +set @id_lotto9 =22 +set @id_lotto10 =23 +set @id_ClientiInviati_IMM=24 +set @id_ClientidaInviare_IMM=25 +set @id_ClientiRFAMinus=26 +set @id_clientiBlacklist_IMM=27 +set @id_clientirendicontati_IMM=28 +set @id_lotto1_IMM=29 +set @id_ClientiDiagnosiInviati=30 +set @id_ClientiDiagnosidaInviare=31 +set @id_clienticonMonitoraggio=32 +set @id_clientiConImmESei=33 +set @id_clientiConSoloImm=34 +set @id_LetteraSostitutivaImm=35 +set @id_clientiRFAMinusImm=36 +set @id_clientiProfiloEC=37 +--if((select COUNT(*) from [C6MartPeriodico].[statistiche_app_rendicontazione])=0) +--begin +truncate table [C6MartPeriodico].[statistiche_app_rendicontazione] +insert into [C6MartPeriodico].[statistiche_app_rendicontazione] values +(@id_clientiInPerimetro,@desc_clientiinperimetro,@nr_clientiinperimetro,'SEI'), +(@id_clientiRFA0,@desc_clientiRFA0,@nr_clientiRFA0,'SEI'), +(@id_clientiProfiloScaduto,@desc_clientiProfiloScaduto,@nr_clientiProfiloScaduto,'SEI'), +(@id_ClientiBlacklist,@desc_clientiBlacklist,@nr_clientiBlacklist,'SEI'), +(@id_ClientiInviati,@desc_clientiInviati,@nr_clientiinviati,'SEI'), +(@id_ClientidaInviare,@desc_clientiDaInviare,@nr_clientidainviare,'SEI'), +(@id_LetteraSostitutiva,@desc_letteraSostitutiva,@nr_letteraSostitutiva,'SEI'), +(@id_ClientiImmobiliari,@desc_clientiImmobiliari,@nr_clientiImmobiliari,'IMM'), +(@id_clientiInPerimentroSenzaImmobiliare,@desc_clientiInPerimentroSenzaImmobiliare,@nr_clientiInPerimentroSenzaImmobiliare,'SEI'), +(@id_Blacklistdiversi,@desc_Blacklistdiversi,@nr_Blacklistdiversi,'SEI'), +(@id_soloClientiImmobiliari,@desc_soloClientiImmobiliari,@nr_soloClientiImmobiliari,'IMM'), +(@id_Diagnosi,@desc_diagnosi,@nr_diagnosi,'SEI'), +(@id_ClientiRendicontati,@desc_clientirendicontati,@nr_clientirendicontati,'SEI'), +(@id_lotto1,@desc_lotto1,@nr_lotto1,'SEI'), +(@id_lotto2,@desc_lotto2,@nr_lotto2,'SEI'), +(@id_lotto3,@desc_lotto3,@nr_lotto3,'SEI'), +(@id_lotto4,@desc_lotto4,@nr_lotto4,'SEI'), +(@id_lotto5,@desc_lotto5,@nr_lotto5,'SEI'), +(@id_lotto6,@desc_lotto6,@nr_lotto6,'SEI'), +(@id_lotto7,@desc_lotto7,@nr_lotto7,'SEI'), +(@id_lotto8,@desc_lotto8,@nr_lotto8,'SEI'), +(@id_lotto9,@desc_lotto9,@nr_lotto9,'SEI'), +(@id_lotto10,@desc_lotto10,@nr_lotto10,'SEI'), +(@id_ClientiInviati_IMM,@desc_clientiInviati_IMM,@nr_clientiinviati_IMM,'IMM'), +(@id_ClientidaInviare_IMM,@desc_clientiDaInviare_IMM,@nr_clientidainviare_IMM,'IMM'), +(@id_ClientiRFAMinus,@desc_ClientiRFAMinus,@nr_ClientiRFAMinus,'SEI'), +(@id_ClientiBlacklist_IMM,@desc_clientiBlacklist_IMM,@nr_clientiBlacklist_IMM,'IMM'), +(@id_ClientiRendicontati_IMM,@desc_clientirendicontati_IMM,@nr_clientirendicontati_IMM,'IMM'), +(@id_lotto1_IMM,@desc_lotto1_IMM,@nr_lotto1_IMM,'IMM'), +(@id_ClientiDiagnosiInviati,@desc_clientiDiagnosiInviati,@nr_clientiDiagnosiinviati,'SEI'), +(@id_ClientiDiagnosidaInviare,@desc_clientiDiagnosiDaInviare,@nr_clientiDiagnosidainviare,'SEI'), +(@id_clienticonMonitoraggio,@desc_clienticonMonitoraggio,@nr_clienticonMonitoraggio,'SEI'), +(@id_clientiConImmESei,@desc_clientiConImmESei,@nr_clientiConImmESei,'IMM'), +(@id_clientiConSoloImm,@desc_clientiConSoloImm,@nr_clientiConSoloImm,'IMM'), +(@id_LetteraSostitutivaImm,@desc_letteraSostitutivaImm,@nr_letteraSostitutivaImm,'IMM'), +(@id_ClientiRFAMinusImm,@desc_ClientiRFAMinusImm,@nr_ClientiRFAMinusImm,'IMM'), +(@id_clientiProfiloEC,@desc_clientiProfiloEC,@nr_clientiProfiloEC,'SEI') +--end +--update [C6MartPeriodico].[statistiche_app_rendicontazione] +--set numero=@nr_clientiinperimetro +--from [C6MartPeriodico].[statistiche_app_rendicontazione] +--where id=@id_clientiInPerimetro +--update [C6MartPeriodico].[statistiche_app_rendicontazione] +--set numero=@nr_clientiRFA0 +--from [C6MartPeriodico].[statistiche_app_rendicontazione] +--where id=@id_clientiRFA0 +--update [C6MartPeriodico].[statistiche_app_rendicontazione] +--set numero=@nr_clientiProfiloScaduto +--from [C6MartPeriodico].[statistiche_app_rendicontazione] +--where id=@id_clientiProfiloScaduto +--update [C6MartPeriodico].[statistiche_app_rendicontazione] +--set numero=@nr_clientiBlacklist +--from [C6MartPeriodico].[statistiche_app_rendicontazione] +--where id=@id_ClientiBlacklist +--update [C6MartPeriodico].[statistiche_app_rendicontazione] +--set numero=@nr_clientiinviati +--from [C6MartPeriodico].[statistiche_app_rendicontazione] +--where id=@id_ClientiInviati +--update [C6MartPeriodico].[statistiche_app_rendicontazione] +--set numero=@nr_clientidainviare +--from [C6MartPeriodico].[statistiche_app_rendicontazione] +--where id=@id_ClientidaInviare +--update [C6MartPeriodico].[statistiche_app_rendicontazione] +--set numero=@nr_letteraSostitutiva +--from [C6MartPeriodico].[statistiche_app_rendicontazione] +--where id=@id_LetteraSostitutiva +select * from C6MartPeriodico.statistiche_app_rendicontazione + end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio.sql b/sql/storedProduzione/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio.sql new file mode 100644 index 00000000..061aa4cd --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio.sql @@ -0,0 +1,166 @@ +-- ============================================= +-- Author: Marianna Coletta +-- Create date: +-- Description: riconciliazione posizioni disallineati tra pianificazione e monitoraggio +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_Allineamento_Pianificazione_Monitoraggio] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_Allineamento_Pianificazione_Monitoraggio', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--DROP TABLE #TCPTAB +--drop table #ciao +--tcptab filtrata per i disallineati e con position_id + SELECT + tcp.RETE AS TCP_RETE, + dis.COD_FISCALE AS TCP_CODFIS, + tcp.codprog, + case when isnull(dis.id_area,mon_area)='exr' then 'ext' else isnull(dis.id_area,mon_area) end as id_area, + C6StagingPeriodico.rp_Info_DaProdottoCSaCatalogo( + TCp.TIPPROD, + tcp.CODINT, + tcp.MAF, + tcp.ISIN, + tcp.SUBPROD + ) + + + dbo.Crea_positionID( + tcp.TIPPROD, + tcp.CODINT, + tcp.MAF, + tcp.ISIN, + tcp.SUBPROD, + tcp.CODCONF, + tcp.NUMPOL, + tcp.CONTO, + tcp.RUBR, + tcp.CUSTGAR, + tcp.TERMID, + tcp.ANNO, + tcp.PROG + ) AS POS_ID +-- '' AS POS_ID + into #tcptab + FROM + C6StagingPeriodico.tcptab as TCP + INNER JOIN + disallineati2 AS DIS + ON DIS.RETE = TCP.RETE + AND DIS.COD_FISCALE = + CASE WHEN(SUBSTRING(DIS.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+TCP.CODFIS + ELSE TCP.CODFIS + END + AND DIS.mon_AREA=TCP.CODAREA + AND DIS.mon_codprog=TCP.CODPROG + WHERE 1=1 + and ctvatt>0 + and dtuscita='99991231' +--exec [C6MartPeriodico].[RP_TCPTAB] +--tutte le posizioni della patrimonio_bf in esubero sulle aree monitorate vengono spostate in na +-- UPDATE C6MARTPERIODICO.PATRIMONIO_BF +-- set id_area='Na', +-- nome_progetto=null, tipo_progetto=null, +-- ordinamento_progetto=null +-- FROM +-- C6MARTPERIODICO.PATRIMONIO_BF as PATBF +-- inner join +-- disallineati2 as dis +-- on patbf.rete=dis.rete +-- and patbf.cod_fiscale=dis.cod_fiscale +-- and patbf.id_area=case when dis.id_area='exr' then 'ext' else dis.id_area end +-- and patbf.ordinamento_progetto=dis.bf_ordprorg +-- left join #TCPTAB as TCP +-- ON TCP_RETE=PATBF.RETE +-- AND TCP_CODFIS=PATBF.COD_FISCALE +-- AND TCP.POS_ID=PATBF.POSITION_ID +-- AND TCP.CODPROG=isnull(PATBF.ORDINAMENTO_PROGETTO,0) +-- AND TCP.id_area=PATBF.ID_AREA +-- where 1=1 +-- and tcp_rete is null +--seleziono le posizioni monitorate sull'area ma non presenti sulla stessa area nella patrimonio_bf + select tcp_rete, + tcp_codfis, + TCP.CODPROG, + TCP.id_area, + TCP.POS_ID + into #ciao + FROM + C6MARTPERIODICO.PATRIMONIO_BF as PATBF + inner join + disallineati2 as dis + on patbf.rete=dis.rete + and patbf.cod_fiscale=dis.cod_fiscale + and patbf.id_area=dis.id_area + and patbf.ordinamento_progetto=dis.bf_ordprorg + left join C6StagingPeriodico.RP_ChiaviMonitoraggio ch --dopo rp +on ch.chiaveprogetto=patbf.ordinamento_progetto and ch.stato=1 --dopo rp + RIGHT join #TCPTAB as TCP + ON TCP_RETE=PATBF.RETE + AND TCP_CODFIS=PATBF.COD_FISCALE + AND TCP.POS_ID=PATBF.POSITION_ID + --AND TCP.CODPROG=isnull(DIS.BF_ORDPRORG,0) dopo rp + AND TCP.CODPROG=isnull(ch.idmonitoraggio,0) --dopo rp + AND TCP.id_area=DIS.ID_AREA + where patbf.rete is null + update C6MARTPERIODICO.PATRIMONIO_BF + set C6MARTPERIODICO.PATRIMONIO_BF.ordinamento_progetto = mod.ordinamento_progetto, + C6MARTPERIODICO.PATRIMONIO_BF.orizz_temp_num=mod.orizz_temp_num, + C6MARTPERIODICO.PATRIMONIO_BF.orizz_temp=mod.orizz_temp, + C6MARTPERIODICO.PATRIMONIO_BF.tipo_progetto=mod.tipo_progetto, + C6MARTPERIODICO.PATRIMONIO_BF.nome_progetto=mod.nome_progetto, + C6MARTPERIODICO.PATRIMONIO_BF.id_area=mod.id_area, + C6MARTPERIODICO.PATRIMONIO_BF.stato_consulenza='AttivaAggiornata', + C6MARTPERIODICO.PATRIMONIO_BF.data_stato_cons=mod.data_stato_cons, + C6MARTPERIODICO.PATRIMONIO_BF.data_migr_cons=mod.data_migr_cons, + C6MARTPERIODICO.PATRIMONIO_BF.data_pianif=mod.data_pianif, + C6MARTPERIODICO.PATRIMONIO_BF.chiave_progetto= mod.ordinamento_progetto --l'ordinamento progetto equivale alla chiaveprogetto della progetto o migraz_progetto + from C6MARTPERIODICO.PATRIMONIO_BF bf + inner join #ciao c + on bf.rete=c.tcp_rete + and bf.cod_fiscale=c.tcp_codfis + and bf.position_id=c.pos_id + --aggiunta------------------ + left join C6StagingPeriodico.RP_ChiaviMonitoraggio ch --dopo rp + on ch.chiaveprogetto=bf.ordinamento_progetto and ch.stato=1 --dopo rp + --condizione aggiunta mv--------- + or ch.idmonitoraggio=c.codprog and ch.stato=1 --dopo rp + ---------------------------- + inner join c6martperiodico.piramide_mod as mod + on mod.rete=tcp_rete + and mod.cod_fiscale=tcp_codfis + --aggiunta emanuele--------- + --and mod.ordinamento_progetto=codprog + --condizione modificata mv--------- + --AND c.CODPROG=isnull(ch.idmonitoraggio,0) --dopo rp + AND mod.ordinamento_progetto=isnull(ch.ChiaveProgetto,0) --dopo rp + ---------------------------- + and mod.id_area=c.id_area + where rend_non_rappr=0 +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_Allineamento_Pianificazione_Monitoraggio' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_Allineamento_Pianificazione_Monitoraggio' + ) +--esecuzione Stored per il Ricarico della tabella Disallineati2 dopo eventuali sistemazioni automatiche +EXEC C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective.sql new file mode 100644 index 00000000..6bd3418d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective.sql @@ -0,0 +1,166 @@ +-- ============================================= +-- Author: Marianna Coletta +-- Create date: +-- Description: riconciliazione posizioni disallineati tra pianificazione e monitoraggio +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--DROP TABLE #TCPTAB +--drop table #ciao +--tcptab filtrata per i disallineati e con position_id + SELECT + tcp.RETE AS TCP_RETE, + dis.COD_FISCALE AS TCP_CODFIS, + tcp.codprog, + case when isnull(dis.id_area,mon_area)='exr' then 'ext' else isnull(dis.id_area,mon_area) end as id_area, + C6StagingPeriodico.rp_Info_DaProdottoCSaCatalogo( + TCp.TIPPROD, + tcp.CODINT, + tcp.MAF, + tcp.ISIN, + tcp.SUBPROD + ) + + + dbo.Crea_positionID( + tcp.TIPPROD, + tcp.CODINT, + tcp.MAF, + tcp.ISIN, + tcp.SUBPROD, + tcp.CODCONF, + tcp.NUMPOL, + tcp.CONTO, + tcp.RUBR, + tcp.CUSTGAR, + tcp.TERMID, + tcp.ANNO, + tcp.PROG + ) AS POS_ID +-- '' AS POS_ID + into #tcptab + FROM + C6StagingPeriodico.tcptab as TCP + INNER JOIN + disallineati2 AS DIS + ON DIS.RETE = TCP.RETE + AND DIS.COD_FISCALE = + CASE WHEN(SUBSTRING(DIS.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+TCP.CODFIS + ELSE TCP.CODFIS + END + AND DIS.mon_AREA=TCP.CODAREA + AND DIS.mon_codprog=TCP.CODPROG + WHERE 1=1 + and ctvatt>0 + and dtuscita='99991231' +--exec [C6MartPeriodico].[RP_TCPTAB] +--tutte le posizioni della patrimonio_bf in esubero sulle aree monitorate vengono spostate in na +-- UPDATE C6MARTPERIODICO.PATRIMONIO_BF +-- set id_area='Na', +-- nome_progetto=null, tipo_progetto=null, +-- ordinamento_progetto=null +-- FROM +-- C6MARTPERIODICO.PATRIMONIO_BF as PATBF +-- inner join +-- disallineati2 as dis +-- on patbf.rete=dis.rete +-- and patbf.cod_fiscale=dis.cod_fiscale +-- and patbf.id_area=case when dis.id_area='exr' then 'ext' else dis.id_area end +-- and patbf.ordinamento_progetto=dis.bf_ordprorg +-- left join #TCPTAB as TCP +-- ON TCP_RETE=PATBF.RETE +-- AND TCP_CODFIS=PATBF.COD_FISCALE +-- AND TCP.POS_ID=PATBF.POSITION_ID +-- AND TCP.CODPROG=isnull(PATBF.ORDINAMENTO_PROGETTO,0) +-- AND TCP.id_area=PATBF.ID_AREA +-- where 1=1 +-- and tcp_rete is null +--seleziono le posizioni monitorate sull'area ma non presenti sulla stessa area nella patrimonio_bf + select tcp_rete, + tcp_codfis, + TCP.CODPROG, + TCP.id_area, + TCP.POS_ID + into #ciao + FROM + C6MARTPERIODICO.PATRIMONIO_BF as PATBF + inner join + disallineati2 as dis + on patbf.rete=dis.rete + and patbf.cod_fiscale=dis.cod_fiscale + and patbf.id_area=dis.id_area + and patbf.ordinamento_progetto=dis.bf_ordprorg + left join C6StagingPeriodico.RP_ChiaviMonitoraggio ch --dopo rp +on ch.chiaveprogetto=patbf.ordinamento_progetto and ch.stato=1 --dopo rp + RIGHT join #TCPTAB as TCP + ON TCP_RETE=PATBF.RETE + AND TCP_CODFIS=PATBF.COD_FISCALE + AND TCP.POS_ID=PATBF.POSITION_ID + --AND TCP.CODPROG=isnull(DIS.BF_ORDPRORG,0) dopo rp + AND TCP.CODPROG=isnull(ch.idmonitoraggio,0) --dopo rp + AND TCP.id_area=DIS.ID_AREA + where patbf.rete is null + update C6MARTPERIODICO.PATRIMONIO_BF + set C6MARTPERIODICO.PATRIMONIO_BF.ordinamento_progetto = mod.ordinamento_progetto, + C6MARTPERIODICO.PATRIMONIO_BF.orizz_temp_num=mod.orizz_temp_num, + C6MARTPERIODICO.PATRIMONIO_BF.orizz_temp=mod.orizz_temp, + C6MARTPERIODICO.PATRIMONIO_BF.tipo_progetto=mod.tipo_progetto, + C6MARTPERIODICO.PATRIMONIO_BF.nome_progetto=mod.nome_progetto, + C6MARTPERIODICO.PATRIMONIO_BF.id_area=mod.id_area, + C6MARTPERIODICO.PATRIMONIO_BF.stato_consulenza='AttivaAggiornata', + C6MARTPERIODICO.PATRIMONIO_BF.data_stato_cons=mod.data_stato_cons, + C6MARTPERIODICO.PATRIMONIO_BF.data_migr_cons=mod.data_migr_cons, + C6MARTPERIODICO.PATRIMONIO_BF.data_pianif=mod.data_pianif, + C6MARTPERIODICO.PATRIMONIO_BF.chiave_progetto= mod.ordinamento_progetto --l'ordinamento progetto equivale alla chiaveprogetto della progetto o migraz_progetto + from C6MARTPERIODICO.PATRIMONIO_BF bf + inner join #ciao c + on bf.rete=c.tcp_rete + and bf.cod_fiscale=c.tcp_codfis + and bf.position_id=c.pos_id + --aggiunta------------------ + left join C6StagingPeriodico.RP_ChiaviMonitoraggio ch --dopo rp + on ch.chiaveprogetto=bf.ordinamento_progetto and ch.stato=1 --dopo rp + --condizione aggiunta mv--------- + or ch.idmonitoraggio=c.codprog and ch.stato=1 --dopo rp + ---------------------------- + inner join c6martperiodico.piramide_mod as mod + on mod.rete=tcp_rete + and mod.cod_fiscale=tcp_codfis + --aggiunta emanuele--------- + --and mod.ordinamento_progetto=codprog + --condizione modificata mv--------- + --AND c.CODPROG=isnull(ch.idmonitoraggio,0) --dopo rp + AND mod.ordinamento_progetto=isnull(ch.ChiaveProgetto,0) --dopo rp + ---------------------------- + and mod.id_area=c.id_area + where rend_non_rappr=0 +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective' + ) +--esecuzione Stored per il Ricarico della tabella Disallineati2 dopo eventuali sistemazioni automatiche +EXEC C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_CALCOLA_BILANCIAMENTO_GENERATOR.sql b/sql/storedProduzione/C6MartPeriodico_SRV_CALCOLA_BILANCIAMENTO_GENERATOR.sql new file mode 100644 index 00000000..bed29bd0 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_CALCOLA_BILANCIAMENTO_GENERATOR.sql @@ -0,0 +1,21 @@ +CREATE procedure [C6MartPeriodico].[SRV_CALCOLA_BILANCIAMENTO_GENERATOR] +AS +declare @generatorParalleli int +set @generatorParalleli = 12 +declare @numeroMedioReport int +select @numeroMedioReport = count(*) / @generatorParalleli +from c6martperiodico.vcontrattipergenerazionereport +select @numeroMedioReport +select substring(cod_fiscale,1,1), + count(*), + count(*) - @numeroMedioReport as residui +from c6martperiodico.vcontrattipergenerazionereport +group by substring(cod_fiscale,1,1) +order by 1 +select substring(cod_fiscale,1,2), + count(*)--, + --count(*) - @numeroMedioReport as residui +from c6martperiodico.vcontrattipergenerazionereport +where substring(cod_fiscale,1,1) in ('B','C','M','P') +group by substring(cod_fiscale,1,2) +order by 1 \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_CHECK_INDIRIZZI.sql b/sql/storedProduzione/C6MartPeriodico_SRV_CHECK_INDIRIZZI.sql new file mode 100644 index 00000000..09f69fd9 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_CHECK_INDIRIZZI.sql @@ -0,0 +1,57 @@ +-- ============================================= +-- Author: Alessandro Tringali +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_CHECK_INDIRIZZI] +AS +BEGIN +-- 1 indirizzi +SELECT +nome, +cognome, +cod_fiscale, +indirizzo, +localita, +provincia, +cap +FROM +C6MARTPERIODICO.ANAG_CLIENTI +WHERE +( +NOME IS NULL +OR +COGNOME IS NULL +OR +INDIRIZZO IS NULL +OR +LOCALITA IS NULL +OR +PROVINCIA IS NULL +OR +CAP IS NULL +) + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'Update', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_CHECK_INDIRIZZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_CHECK_INDIRIZZI' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_CHECK_INDIRIZZI', + GETDATE(), + 'Elaborazione MARKETING' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_ESTRAZIONE_FASE_2_PRE_MART.sql b/sql/storedProduzione/C6MartPeriodico_SRV_ESTRAZIONE_FASE_2_PRE_MART.sql new file mode 100644 index 00000000..2ec45315 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_ESTRAZIONE_FASE_2_PRE_MART.sql @@ -0,0 +1,56 @@ +CREATE procedure [C6MartPeriodico].[SRV_ESTRAZIONE_FASE_2_PRE_MART] +as +declare @dataFase as varchar(30) +select @dataFase = dbo.ToShortDateString(c6martperiodico.getPreviousTrimestre(getDate(),0)) +SELECT + a.rete, + a.cod_fiscale, + @dataFase as datafase, + EXTRARENDIMENTO, + INVESTIMENTO, + PREVIDENZA, + RISERVA, + LIQUIDITA, + RisorseNonAllocate, + contocorrente, + PARTVIA_DISINV + isnull(b.importo,0) AS Partita_viaggiante, + --sum(case Upper(a.id_area) when 'CC' then 0 else a.ctv end ) as risorseFinanziarie, + a.CTV + isnull(b.importo,0)+ PARTVIA_DISINV AS Totale, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + isnull(RA.COPERTURA,0) AS Copertura, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + -- TRINGALI MODIFICARE ---MODIFICATO! + case when ra.creditrisk is null then 'n.a.' + else cast(ra.creditrisk as varchar) end as RISKCLASS, + mifid.riskclass as RISKCLASSMAX +FROM + (select + rete, + cod_fiscale, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) AS EXTRARENDIMENTO, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) AS INVESTIMENTO, + sum(case when Upper(id_area) = 'PRE1' or Upper(id_area) ='PRE2' then ctv else 0 end ) AS PREVIDENZA, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) AS RISERVA, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS LIQUIDITA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS RisorseNonAllocate, + sum(case Upper(id_area) when 'CC' then ctv else 0 end ) as contocorrente, + sum((isnull(PARTVIA_DISINV,0))) as PARTVIA_DISINV, + SUM(CTV) as CTV + from + [C6MartPeriodico].PATRIMONIO_BF + group by rete, cod_fiscale + ) a +left join c6martperiodico.partite_viaggianti b +on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON a.RETE = MIFID.RETE + AND a.COD_FISCALE = MIFID.COD_FISCALE +INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO +LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = a.RETE + AND RA.COD_FISCALE = a.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_LISTA_CLIENTI_FASE2.sql b/sql/storedProduzione/C6MartPeriodico_SRV_LISTA_CLIENTI_FASE2.sql new file mode 100644 index 00000000..8bdef886 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_LISTA_CLIENTI_FASE2.sql @@ -0,0 +1,35 @@ +-- ============================================= +-- Author: alessandro Tringali +-- Create date: 06 luglio 2010 +-- Description: estrae la lista dei clienti per fase II +-- ============================================= +-- [C6MartPeriodico].[SRV_LISTA_CLIENTI_FASE2] '20110301', '20101231' +CREATE procedure [C6MartPeriodico].[SRV_LISTA_CLIENTI_FASE2] + @DTTRIM int , + @DTTRIM_PREC DATETIME +AS +BEGIN +select +C6.Rete, +C6.Cod_Agente, +C6.Cod_Fiscale, +C6.CodiceContratto, +C6.Freq_Monitor, C6.Freq_Diagnosi, data_perf, +pdf.datagenerazione, +data_fineavanzato as data_revoca, +case when w.codfis is null then 0 else 1 end as flg_monit +FROM C6Mart.CONTRATTOSEI AS C6 INNER JOIN + C6Mart.GESTIONE_PDF_FTP AS PDF + ON C6.Rete = PDF.Rete + AND C6.Cod_Fiscale = PDF.CodiceFiscale + AND C6.CodiceContratto = SUBSTRING(PDF.NomeFile, 1, 11) + left outer join + (select distinct codfis, rete from c6stagingperiodico.wanab w where dtfine='99991231' and dtrif <= CAST(@DTTRIM AS int) ) w + on w.codfis=c6.cod_fiscale + and w.rete=c6.rete +WHERE (1 = 1) + AND (ISNULL(C6.Data_FineAvanzato, CAST('99991231' AS datetime)) > CAST(@DTTRIM_PREC AS datetime)) + AND (PDF.DataGenerazione < '20110601') + AND c6.INVIOBENVENUTO='S' + --AND isnull(C6.Data_Invio_Monitoraggio_Trimestrale,cast('20091231' as datetime)) < cast(C6MartPeriodico.getTrimestre(GETDATE(), 0) as datetime) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT.sql b/sql/storedProduzione/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT.sql new file mode 100644 index 00000000..9780a9ab --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT.sql @@ -0,0 +1,170 @@ +-- ============================================= +-- Author: alessandro Tringali +-- Create date: 16 ottobre 2010 +-- Description: estrae la lista dei clienti per fase Ii +-- ============================================= +-- exec [C6MartPeriodico].[SRV_LISTA_DISALLINEAMENTI_MONIT] +CREATE procedure [C6MartPeriodico].[SRV_LISTA_DISALLINEAMENTI_MONIT] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'SRV_LISTA_DISALLINEAMENTI_MONIT', + GETDATE(), + 'Elaborazione Trimestrale' + ) +SELECT +RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4) AS ID_AREA, +isnull(ORDINAMENTO_PROGETTO,0) as ordinamento_progetto, +SUM(CTV) AS SUM_CTV +INTO #TEMP_PATRIMONIO_BF_AGGR +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE ID_AREA NOT IN ('CC','NA') +AND REND_NON_RAPPR=0 +GROUP BY RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4), +isnull(ORDINAMENTO_PROGETTO,0) +--SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +--WHERE CODFIS IN +--(SELECT DISTINCT COD_FISCALE FROM #TEMP_PATRIMONIO_BF_AGGR) +SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +WHERE CODFIS IN +(select cod_fiscale from c6stagingperiodico.appo_contratti_v) +drop table disallineati2 +SELECT * +into disallineati2 +FROM +( +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO as bf_ordprorg, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog as mon_codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +AND S.chiaveprogetto=isnull(P.ORDINAMENTO_PROGETTO,0) +AND M.CODPROG = S.idmonitoraggio +and id_area ='Inv' +union all +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +and id_area <>'Inv' +union all +-------------------------------------------- +-- SOLO MONITORAGGIO +-------------------------------------------- +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +--#TEMP_PATRIMONIO_BF_AGGR P +(select T.*,S.idmonitoraggio from +#TEMP_PATRIMONIO_BF_AGGR T +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +where S.chiaveprogetto=isnull(T.ORDINAMENTO_PROGETTO,0) +)P +on +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND M.CODPROG = P.idmonitoraggio +AND DTFINE ='99991231' +where +m.ctv > 0 +and p.cod_fiscale is null +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +--and id_area ='Inv' +and m.codarea ='Inv' +union all +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +p.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +#TEMP_PATRIMONIO_BF_AGGR P +on +M.RETE = P.RETE +--AND M.CODFIS = P.COD_FISCALE +AND case when len(m.CODFIS) =4 then 'FF@'+m.codfis else m.codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +where +DTFINE ='99991231' +and m.ctv > 0 +and p.cod_fiscale is null +and codarea <>'Inv' +) k +order by 2,1 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_LISTA_DISALLINEAMENTI_MONIT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'SRV_LISTA_DISALLINEAMENTI_MONIT' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective.sql new file mode 100644 index 00000000..7d37d8df --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective.sql @@ -0,0 +1,170 @@ +-- ============================================= +-- Author: alessandro Tringali +-- Create date: 16 ottobre 2010 +-- Description: estrae la lista dei clienti per fase Ii +-- ============================================= +-- exec [C6MartPeriodico].[SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective] +CREATE procedure [C6MartPeriodico].[SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) +SELECT +RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4) AS ID_AREA, +isnull(ORDINAMENTO_PROGETTO,0) as ordinamento_progetto, +SUM(CTV) AS SUM_CTV +INTO #TEMP_PATRIMONIO_BF_AGGR +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE ID_AREA NOT IN ('CC','NA') +AND REND_NON_RAPPR=0 +GROUP BY RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4), +isnull(ORDINAMENTO_PROGETTO,0) +--SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +--WHERE CODFIS IN +--(SELECT DISTINCT COD_FISCALE FROM #TEMP_PATRIMONIO_BF_AGGR) +SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +WHERE CODFIS IN +(select cod_fiscale from c6stagingperiodico.appo_contratti) +drop table disallineati2 +SELECT * +into disallineati2 +FROM +( +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO as bf_ordprorg, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog as mon_codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +AND S.chiaveprogetto=isnull(P.ORDINAMENTO_PROGETTO,0) +AND M.CODPROG = S.idmonitoraggio +and id_area ='Inv' +union all +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +and id_area <>'Inv' +union all +-------------------------------------------- +-- SOLO MONITORAGGIO +-------------------------------------------- +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +--#TEMP_PATRIMONIO_BF_AGGR P +(select T.*,S.idmonitoraggio from +#TEMP_PATRIMONIO_BF_AGGR T +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +where S.chiaveprogetto=isnull(T.ORDINAMENTO_PROGETTO,0) +)P +on +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND M.CODPROG = P.idmonitoraggio +AND DTFINE ='99991231' +where +m.ctv > 0 +and p.cod_fiscale is null +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +--and id_area ='Inv' +and m.codarea ='Inv' +union all +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +p.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +#TEMP_PATRIMONIO_BF_AGGR P +on +M.RETE = P.RETE +--AND M.CODFIS = P.COD_FISCALE +AND case when len(m.CODFIS) =4 then 'FF@'+m.codfis else m.codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +where +DTFINE ='99991231' +and m.ctv > 0 +and p.cod_fiscale is null +and codarea <>'Inv' +) k +order by 2,1 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE.sql b/sql/storedProduzione/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE.sql new file mode 100644 index 00000000..96e7ae07 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22 gennaio 2009 +-- Description: PER GESTIONE TIPOLOGIA ELABORAZIONE +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_NUOVA_ELABORAZIONE] + @TIPO_ELAB varchar(1) = 'T' +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + INSERT INTO C6MARTPERIODICO.ELABORAZIONI(TIPO_ELAB) + VALUES (@TIPO_ELAB) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_20151009.sql b/sql/storedProduzione/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_20151009.sql new file mode 100644 index 00000000..d003064e --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_20151009.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22 gennaio 2009 +-- Description: PER GESTIONE TIPOLOGIA ELABORAZIONE +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_NUOVA_ELABORAZIONE_20151009] + @TIPO_ELAB varchar(1) = 'T' +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + INSERT INTO C6MARTPERIODICO.ELABORAZIONI_BK_20151008(TIPO_ELAB, DATA_OPERAZIONE) + VALUES (@TIPO_ELAB, '2015-10-09 19:37:21.913') +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_bk_test_20151014.sql b/sql/storedProduzione/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_bk_test_20151014.sql new file mode 100644 index 00000000..17b8784f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_bk_test_20151014.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22 gennaio 2009 +-- Description: PER GESTIONE TIPOLOGIA ELABORAZIONE +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_NUOVA_ELABORAZIONE_bk_test_20151014] + @TIPO_ELAB varchar(1) = 'T' +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + INSERT INTO C6MARTPERIODICO.ELABORAZIONI_bk_20151014(TIPO_ELAB) + VALUES (@TIPO_ELAB) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_pre_selective.sql new file mode 100644 index 00000000..be49f0c4 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_pre_selective.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22 gennaio 2009 +-- Description: PER GESTIONE TIPOLOGIA ELABORAZIONE +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_NUOVA_ELABORAZIONE_pre_selective] + @TIPO_ELAB varchar(1) = 'T' +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + INSERT INTO C6MARTPERIODICO.ELABORAZIONI(TIPO_ELAB) + VALUES (@TIPO_ELAB) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_QUANTO_MANCA.sql b/sql/storedProduzione/C6MartPeriodico_SRV_QUANTO_MANCA.sql new file mode 100644 index 00000000..a844b339 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_QUANTO_MANCA.sql @@ -0,0 +1,4 @@ +CREATE procedure [C6MartPeriodico].[SRV_QUANTO_MANCA] +as +exec [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_QUINDICESIMO] +select @@rowcount \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE.sql b/sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE.sql new file mode 100644 index 00000000..53f597dd --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE.sql @@ -0,0 +1,4986 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE] +AS +BEGIN +--procedura di caricamento campione +DECLARE @appoDataInizioTrimestre varchar(8) +SET @appoDataInizioTrimestre = [C6MartPeriodico].[getDateTrimestre](0, 0, 0) +--SET @appoDataInizioTrimestre = '20190101' +--SET @appoDataInizioTrimestre = '20181001' +--SET @appoDataInizioTrimestre = '20180701' +--SET @appoDataInizioTrimestre = '20180401' +--SET @appoDataInizioTrimestre = '20180101' +--SET @appoDataInizioTrimestre = '20171001' +--SET @appoDataInizioTrimestre = '20170701' +--SET @appoDataInizioTrimestre = '20170401' +--SET @appoDataInizioTrimestre = '20170101' +--SET @appoDataInizioTrimestre = '20161001' +--SET @appoDataInizioTrimestre = '20160701' +--SET @appoDataInizioTrimestre = '20160401' +--SET @appoDataInizioTrimestre = '20160101' +--SET @appoDataInizioTrimestre = '20151001' +--SET @appoDataInizioTrimestre = '20150701' +DECLARE @appoDataFineTrimestre varchar(8) +SET @appoDataFineTrimestre = [C6MartPeriodico].[getDateTrimestre](0, 1, 0) +--SET @appoDataFineTrimestre = '20181231' +--SET @appoDataFineTrimestre = '20180930' +--SET @appoDataFineTrimestre = '20180630' +--SET @appoDataFineTrimestre = '20180331' +--SET @appoDataFineTrimestre = '20171231' +--SET @appoDataFineTrimestre = '20170930' +--SET @appoDataFineTrimestre = '20170630' +--SET @appoDataFineTrimestre = '20170331' +--SET @appoDataFineTrimestre = '20161231' +--SET @appoDataFineTrimestre = '20160930' +--SET @appoDataFineTrimestre = '20160630' +--SET @appoDataFineTrimestre = '20160331' +--SET @appoDataFineTrimestre = '20151231' +--SET @appoDataFineTrimestre = '20150930' +DECLARE @appoDataInizioTrimPrec varchar(8) +SET @appoDataInizioTrimPrec = [C6MartPeriodico].[getDateTrimestre](1, 0, 0) +--SET @appoDataInizioTrimPrec = '20181001' +--SET @appoDataInizioTrimPrec = '20180701' +--SET @appoDataInizioTrimPrec = '20180401' +--SET @appoDataInizioTrimPrec = '20180101' +--SET @appoDataInizioTrimPrec = '20171001' +--SET @appoDataInizioTrimPrec = '20170701' +--SET @appoDataInizioTrimPrec = '20170401' +--SET @appoDataInizioTrimPrec = '20170101' +--SET @appoDataInizioTrimPrec = '20161001' +--SET @appoDataInizioTrimPrec = '20160701' +--SET @appoDataInizioTrimPrec = '20160401' +--SET @appoDataInizioTrimPrec = '20160101' +--SET @appoDataInizioTrimPrec = '20151001' +--SET @appoDataInizioTrimPrec = '20150701' +--SET @appoDataInizioTrimPrec = '20150401' +DECLARE @appoDataFineTrimPrec varchar(8) +SET @appoDataFineTrimPrec = [C6MartPeriodico].[getDateTrimestre](1, 1, 0) +--SET @appoDataFineTrimPrec = '20180930' +--SET @appoDataFineTrimPrec = '20180630' +--SET @appoDataFineTrimPrec = '20180331' +--SET @appoDataFineTrimPrec = '20171231' +--SET @appoDataFineTrimPrec = '20170930' +--SET @appoDataFineTrimPrec = '20170630' +--SET @appoDataFineTrimPrec = '20170331' +--SET @appoDataFineTrimPrec = '20161231' +--SET @appoDataFineTrimPrec = '20160930' +--SET @appoDataFineTrimPrec = '20160630' +--SET @appoDataFineTrimPrec = '20160331' +--SET @appoDataFineTrimPrec = '20151231' +--SET @appoDataFineTrimPrec = '20150930' +--SET @appoDataFineTrimPrec = '20150630' +-- QUI VA SPECIFICATO IL PERIODO DI EFFETTIVA GENERAZIONE DEI REPORT CHE, IN GENERE, E' IL MESE SUCCESSIVO +-- A QUELLO DI FINE TRIMESTRE +DECLARE @appoDataGenerazioneTrimPrecDa varchar(8) +SET @appoDataGenerazioneTrimPrecDa = [C6MartPeriodico].[getDateTrimestre](1, 0, 0) +--SET @appoDataGenerazioneTrimPrecDa = '20181001' +--SET @appoDataGenerazioneTrimPrecDa = '20180701' +--SET @appoDataGenerazioneTrimPrecDa = '20180401' +--SET @appoDataGenerazioneTrimPrecDa = '20180101' +--SET @appoDataGenerazioneTrimPrecDa = '20171001' +--SET @appoDataGenerazioneTrimPrecDa = '20170701' +--SET @appoDataGenerazioneTrimPrecDa = '20170401' +--SET @appoDataGenerazioneTrimPrecDa = '20170101' +--SET @appoDataGenerazioneTrimPrecDa = '20161001' +--SET @appoDataGenerazioneTrimPrecDa = '20160701' +--SET @appoDataGenerazioneTrimPrecDa = '20160401' +--SET @appoDataGenerazioneTrimPrecDa = '20160101' +--SET @appoDataGenerazioneTrimPrecDa = '20151001' +--SET @appoDataGenerazioneTrimPrecDa = '20150701' +DECLARE @appoDataGenerazioneTrimPrecA varchar(8) +SET @appoDataGenerazioneTrimPrecA = [C6MartPeriodico].[getDateTrimestre](1, 1, 1) +--SET @appoDataGenerazioneTrimPrecA = '20181031' +--SET @appoDataGenerazioneTrimPrecA = '20180731' +--SET @appoDataGenerazioneTrimPrecA = '20180430' +--SET @appoDataGenerazioneTrimPrecA = '20180131' +--SET @appoDataGenerazioneTrimPrecA = '20171031' +--SET @appoDataGenerazioneTrimPrecA = '20170731' +--SET @appoDataGenerazioneTrimPrecA = '20170430' +--SET @appoDataGenerazioneTrimPrecA = '20170131' +--SET @appoDataGenerazioneTrimPrecA = '20161031' +--SET @appoDataGenerazioneTrimPrecA = '20160731' +--SET @appoDataGenerazioneTrimPrecA = '20160430' +--SET @appoDataGenerazioneTrimPrecA = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perché in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecA = '20151031' +--SET @appoDataGenerazioneTrimPrecA = '20150731' +DECLARE @appoDataGenerazioneTrimPrecX2Da varchar(8) +SET @appoDataGenerazioneTrimPrecX2Da = [C6MartPeriodico].[getDateTrimestre](2, 0, 0) +--SET @appoDataGenerazioneTrimPrecX2Da = '20180701' +--SET @appoDataGenerazioneTrimPrecA = '20180401' +--SET @appoDataGenerazioneTrimPrecA = '20180101' +--SET @appoDataGenerazioneTrimPrecA = '20171001' +--SET @appoDataGenerazioneTrimPrecA = '20170701' +--SET @appoDataGenerazioneTrimPrecA = '20170401' +--SET @appoDataGenerazioneTrimPrecA = '20170101' +--SET @appoDataGenerazioneTrimPrecA = '20161001' +--SET @appoDataGenerazioneTrimPrecA = '20160701' +--SET @appoDataGenerazioneTrimPrecA = '20160401' +--SET @appoDataGenerazioneTrimPrecA = '20160101' +--SET @appoDataGenerazioneTrimPrecX2Da = '20151001' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150701' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150401' +DECLARE @appoDataGenerazioneTrimPrecX2A varchar(8) +SET @appoDataGenerazioneTrimPrecX2A = [C6MartPeriodico].[getDateTrimestre](2, 1, 1) +--SET @appoDataGenerazioneTrimPrecX2A = '20180731' +--SET @appoDataGenerazioneTrimPrecX2A = '20180430' +--SET @appoDataGenerazioneTrimPrecX2A = '20180131' +--SET @appoDataGenerazioneTrimPrecX2A = '20171031' +--SET @appoDataGenerazioneTrimPrecX2A = '20170731' +--SET @appoDataGenerazioneTrimPrecX2A = '20170430' +--SET @appoDataGenerazioneTrimPrecX2A = '20170131' +--SET @appoDataGenerazioneTrimPrecX2A = '20161031' +--SET @appoDataGenerazioneTrimPrecX2A = '20160731' +--SET @appoDataGenerazioneTrimPrecX2A = '20160430' +--SET @appoDataGenerazioneTrimPrecX2A = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perché in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecX2A = '20151031' +--SET @appoDataGenerazioneTrimPrecX2A = '20150731' +--SET @appoDataGenerazioneTrimPrecX2A = '20150430' +TRUNCATE TABLE C6MARTPERIODICO.SELEZIONECAMPIONE +--select * into c6martperiodico.appo_selezione_campione from C6MARTPERIODICO.SELEZIONECAMPIONE +--0 tutta la popolazione +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +select distinct bf.cod_fiscale, bf.rete +from +C6MartPeriodico.rp_vcontrattipergenerazionereport bf +) bf +--1 UNA MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'UNA MACRO ASSET ' AS DESCRIZIONE, +1 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 1 "ASSET CLASS" anzichè 1 "MACRO ASSET CLASS" +--select distinct bf.cod_fiscale, bf.rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=1 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=1 +) bf +--2 TUTTE LE MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'TUTTE LE MACRO ASSET ' AS DESCRIZIONE, +0 AS c1, +1 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 7 "ASSET CLASS" anzichè 7 "MACRO ASSET CLASS" +--select distinct cod_fiscale, rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=7 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=7 +) bf +--3 TUTTE LE AREE SONO MONITORATE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis as cod_fiscale, +'TUTTE LE AREE SONO MONITORATE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +1 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, count(distinct codarea) c +from C6StagingPeriodico.TANAB +where dtfine='99991231' +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=4 +)bf +--4 SENZA PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'SENZA PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +1 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +--5 RISCHIO CREDITO NA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO N.A. ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +1 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk is null +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 6 CLASSE DI RISCHIO CREDITO > 3 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO > 3 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +1 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>3 +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 7 PRODOTTO SENZA RENDIMENTO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PRODOTTO SENZA RENDIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +1 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as cod_fiscale +from C6StagingPeriodico.TSCABP +) bf +-- 8 piu trimestrali +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PIU TRIMESTRALI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +1 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, codicefiscale AS COD_FISCALE, count(*)N +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where tiporeport='M' +and dataGenerazione > @appoDataGenerazioneTrimPrecX2Da +group by rete, codicefiscale +having count(*)>1 +) bf +-- 9 PATRIMONIO TERZI SU PIU' INTERMEDIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI SU PIU'' INTERMEDIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +1 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, count(distinct a.intermediario) M +from C6MartPeriodico.PATRIMONIO_TERZI a +group by a.rete, a.cod_fiscale +having count(distinct a.intermediario)>1 +) bf +-- 10 PERSONE GIURIDICHE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PERSONE GIURIDICHE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +1 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where len(cod_fiscale)=11 +) bf +-- 11 PB TERMINATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PB TERMINATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +1 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct bf.rete, bf.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_BF bf, C6Mart.CONTRATTOSEI c6,C6Stagingperiodico.ADS4WS_PROMOTORI pr +--where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +--and c6.cod_agente=pr.codice and pr.rete=c6.rete +--and stato= 'T' +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6,C6Stagingperiodico.RP_anagrafica_promotori pr +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and c6.cod_agente=pr.codage and pr.rete=c6.rete +and stato= 'T' +) bf +-- 12 PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +1 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_TERZI a +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +-- 13 PATR NON RAPPR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR NON RAPPR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +1 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale +from C6MartPeriodico.vPatrimonioNonRappresentabileAsset +) bf +-- 14 PATR IMMOBILIARE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +1 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, sum(a.VALORE_STIMATO) M +from C6MartPeriodico.PATRIMONIO_IMMOBILIARE a +group by a.rete, a.cod_fiscale +) bf +-- 15 PARTITE VIAGGIANTI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +1 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PARTITE_VIAGGIANTI) bf +--16 NON MONITORATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON MONITORATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +1 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.patrimonio_bf bf +where bf.rete + bf.cod_fiscale not in ( select distinct rete + case when len(codfis) =4 then 'FF@'+codfis else codfis end from C6StagingPeriodico.TANAB where dtfine='99991231') +) bf +-- 17 NO PATR IMMOB +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +1 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf +where cod_fiscale + rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.patrimonio_immobiliare) +) bf +-- 18 MON SU UNA SOLA AREA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON SU UNA SOLA AREA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +1 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +(select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE, count(distinct codarea) H +from C6StagingPeriodico.TANAB +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=1 +) bf +-- 19 MON DA PIU DI 12 MESI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON DA PIU DI 12 MESI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +1 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_FISCALE +from C6StagingPeriodico.TANAB +--where ('20101201'-dtrif)/30>12 +where dtrif < convert(varchar(8), DATEADD(year, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112) +) bf +-- 20 MON APPENA AVVIATO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON APPENA AVVIATO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +1 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE +from C6StagingPeriodico.TANAB +--where '20101201'-GETDATE()<1 +where (dtrif > convert(varchar(8), DATEADD(day, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112)) +) bf +-- 21 MANDATI FIDUCIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MANDATI FIDUCIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +1 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where cod_fiscale like 'FF@%' +) bf +-- 22 INADEGUATI VAR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI VAR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +1 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.var_perc_ptf>cod.max_var +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 23 INADEGUATI CRISK +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI CRISK ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +1 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_CREDITRISK cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>mifid.profilo_ass +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 24 INADEGUATI COMPLESSITA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI COMPLESSITA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +1 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +-- EN2060408: begin - adapted to new feature "Adeguatezza" comnplexity / concentration +--select distinct a.rete, a.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_BF a, C6MartPeriodico.MIFID mifid +--where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +--and mifid.experience<(select max(complex) from C6MartPeriodico.PATRIMONIO_BF where rete=mifid.rete and cod_fiscale=mifid.cod_fiscale) +SELECT top 500 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'S' and [ancmpl].[FLGCONC] = 'S') +order by dttrim desc + UNION +SELECT top 200 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'N' and [ancmpl].[FLGCONC] = 'S') +order by dttrim desc + UNION +SELECT top 20 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'S' and [ancmpl].[FLGCONC] = 'N') +order by dttrim desc + UNION +SELECT top 20 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'N' and [ancmpl].[FLGCONC] = 'N') +order by dttrim desc +) bf +-- EN2060408: end +-- 25 DIVERSIFICAZIONE < 30 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'DIVERSIFICAZIONE < 30 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +1 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, beneficio +from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='COMPLESSIVO' +and beneficio<30 +) bf +-- 26 CC NEG E POS +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEG E POS ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +1 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) bf +-- 27 CC NEG +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEGATIVO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +1 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, sum(saldocontabile) M +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)<0 +) bf +where rete+cod_fiscale not in +( +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) +-- 28 REND NON RAPPR COME UNICA POSIZIONE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'REND NON RAPPR COME UNICA POSIZIONE IN AREA MONIT' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +1 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +SELECT +DISTINCT T.RETE, T.COD_FISCALE FROM +( +SELECT +RETE, COD_FISCALE , ID_AREA, SUM(CASE WHEN REND_NON_RAPPR =1 THEN 0 ELSE 1 END) TOT +FROM +C6MARTPERIODICO +.PATRIMONIO_BF B +GROUP +BY +RETE +, COD_FISCALE, ID_AREA +) +T, +( +SELECT +RETE, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, CASE WHEN CODAREA ='EXR' THEN 'EXT'ELSE CODAREA END AS CODAREA FROM +C6STAGINGPERIODICO +.TANAB +WHERE +DTFINE = 99991231 +) +B +WHERE +T +.RETE=B.RETE AND B.CODFIS=T.COD_FISCALE +AND +ID_AREA=CODAREA +AND +TOT=0 +) bf +-- 29 PREVIDENZA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PREVIDENZA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +1 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where id_area like '%Pre%' +) bf +--30 RESTART CONTRATTOSEI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RESTART CONTRATTOSEI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +1 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, codicefiscale as cod_fiscale +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where datagenerazione between @appoDataGenerazioneTrimPrecX2Da and @appoDataGenerazioneTrimPrecX2A +except +select distinct p.rete,p.codicefiscale + from C6StoricoPeriodico.GESTIONE_PDF_FTP p + inner join c6martperiodico.patrimonio_bf b + on p.rete=b.rete and p.codicefiscale =b.cod_fiscale + where datagenerazione between @appoDataGenerazioneTrimPrecDa and @appoDataGenerazioneTrimPrecA +--select distinct rete, codicefiscale as cod_fiscale +--from appoGESTIONE_PDF_FTP +--where datagenerazione between '20111001' and '20111031' +--and rete + codicefiscale not in (select distinct rete + codicefiscale +-- from appoGESTIONE_PDF_FTP +-- where datagenerazione between '20120101' and '20120131') +--and rete + codicefiscale in (select distinct rete + cod_fiscale +-- from c6martperiodico.patrimonio_bf) +) bf +--31 INDIRIZZO CONTRATTO ESTERO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INDIRIZZO CONTRATTO ESTERO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +1 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6 +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and nazione<> 'italia' +) bf +--32 CC>10000 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC>10000 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +1 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)>10000 +) bf +--33 COPERTURA INFERIORE A 100 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'COPERTURA INFERIORE A 100 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +1 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale + from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='complessivo' +and copertura<100 +) bf +--34 evoluzione controvalore > 30% +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'EVOLUZIONE CONTROVALORE > 30% ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +1 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct corrente.rete, corrente.cod_fiscale +from +(select b.rete, b.cod_fiscale, sum(controvalore) ctv +from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 a +inner join C6StagingPeriodico.appo_contratti b +on a.chiaveClientePB=b.chiaveClientePB +group by b.rete, b.cod_fiscale) scorsa, +(select rete, cod_fiscale, sum(ctv) ctv +from c6martperiodico.patrimonio_bf +group by rete, cod_fiscale) corrente +where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +and (case when scorsa.ctv>corrente.ctv + then (scorsa.ctv-abs(corrente.ctv)) + else (corrente.ctv-abs(scorsa.ctv)) + end) + > + (case when scorsa.ctv>corrente.ctv + then (0.30*corrente.ctv) + else (0.30*scorsa.ctv) + end) +--select distinct corrente.rete, corrente.cod_fiscale +--from +--(select rete, cod_fiscale, sum(controvalore) ctv +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--group by rete, cod_fiscale) scorsa, +--(select rete, cod_fiscale, sum(ctv) ctv +--from c6martperiodico.patrimonio_bf +--group by rete, cod_fiscale) corrente +--where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +--and (0.33*scorsa.ctv>corrente.ctv or 0.33*scorsa.ctv0 +--select distinct rete, cod_fiscale +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--where investimentiincorso>0 +) bf +--36 Monitoraggio con cedole/dividendi +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MONITORAGGIO CON CEDOLE/DIVIDENDI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +1 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.MONITORAGGIO_ATTUALE +where CEDOLE_DIVIDENDI>0 +) bf +-- 37 PARTITE VIAGGIANTI DI DISINVESTIMENTO - 19/1/2016 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI DI DISINVESTIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +1 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from C6MartPeriodico.patrimonio_bf a +inner join [C6StampeCentralizzate].[C6MartPeriodico].[TB_Campione] b +on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where (partvia_disinv <> 0.000 and partvia_disinv is not null) +) bf +--CRITERIO ELIMINATO IN QUANTO DUPLICATO DEL CRITERIO 31 +--38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +--select +--bf.rete, +--bf.cod_fiscale, +--'Indirizzo Estero' AS DESCRIZIONE, +--0 AS c1, +--0 AS c2, +--0 AS c3, +--0 AS c4, +--0 AS c5, +--0 AS c6, +--0 AS c7, +--0 AS c8, +--0 AS c9, +--0 AS c10, +--0 AS c11, +--0 AS c12, +--0 AS c13, +--0 AS c14, +--0 AS c15, +--0 AS c16, +--0 AS c17, +--0 AS c18, +--0 AS c19, +--0 AS c20, +--0 AS c21, +--0 AS c22, +--0 AS c23, +--0 AS c24, +--0 AS c25, +--0 AS c26, +--0 AS c27, +--0 AS c28, +--0 AS c29, +--0 AS c30, +--0 AS c31, +--0 AS c32, +--0 AS c33, +--0 AS c34, +--0 AS c35, +--0 AS c36, +--0 AS c37, +--1 AS c38, +--0 AS c39, +--0 AS c40, +--0 AS c41, +--0 AS c42, +--0 AS c43, +--0 AS c44, +--0 AS c45, +--0 AS c46, +--0 AS c47, +--0 AS c48, +--0 AS c49, +--0 AS c50, +--0 AS c51, +--0 AS c52, +--0 AS c53, +--0 AS c54, +--0 AS c55, +--0 AS c56, +--0 AS c57, +--0 AS c58 +--FROM +--( +--select distinct rete, cod_fiscale +--from c6martperiodico.contrattosei +--where nazione <> 'italia' +--) bf +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'S', +--'RSSRNZ49E14A479S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'CSCGPP34A03L050L', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNERSR61L08C351V', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'BGLPRD65E10Z130S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNZNLS71M48C814J', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--------------------- +--c39 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C39 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +1 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +where data_foto >= @appoDataInizioTrimestre +) bf +--c40 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C40 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +1 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is not null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is not null +) bf +--41 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C41 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +1 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is null +) bf +--c42 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C42 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +1 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is null +) bf +--c43 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C43 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +1 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is not null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is not null +) bf +--C44 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'F' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +1 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +inner join c6stagingperiodico.st_mon +on a.cod_fiscale = codfis +and a.rete = st_mon.rete +where data_foto > '20111001' +) bf +--C45 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'G' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +1 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto < '20111001' +) bf +--C46 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'H' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +1 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto > '20111001' +) bf +--C47 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'I' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +1 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and dttrim = @appoDataFineTrimestre +and data_foto > '20111001' +) bf +--C48 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'J' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +1 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +/* +(select * from c6stagingperiodico.wseics where dttrim = '20111231') a +inner join +(select * from c6stagingperiodico.wseics where dttrim = '20120331') b +on a.rete = b.rete +and a.codfis = b.codfis +inner join c6martperiodico.monitoraggio_iniziale c +on b.codfis = c.cod_fiscale +and b.rete = c.rete +where +a.codprod not in ('37', 'GP') +and +b.codprod in ('37', 'GP') +and c.data_foto > '20111001' +*/ +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001' +) bf +--C49 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'K' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +1 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +--inner join c6stagingperiodico.wseics b +--on b.codfis = b.codfis +--and a.rete = b.rete +--where a.codprod not in ('37', 'GP') +----Se fase di Simulazione: +---- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +----and a.dttrim = '20131130' +----Se fase di Trimestrale: +---- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +--and a.dttrim = @appoDataFineTrimestre +--and b.codprod in ('37', 'GP') +----and b.dttrim = '20111231' -- b.dttrim = dt fine trimestre precedente +--and b.dttrim = @appoDataFineTrimPrec +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001' +) bf +--nuovi----------------------------------------------------------- +--C50 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti OLD' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +1 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 0 +) bf +--C51 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Affluent' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +1 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 1 +) bf +--C52 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Private' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +1 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 2 +) bf +--C53 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Bonus' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +1 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.bonus bon +on vc.rete = bon.rete +and vc.cod_fiscale = bon.cod_fiscale +) bf +--C54 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Scadenze' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +1 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.scadenze sca +on vc.rete = sca.rete +and vc.cod_fiscale = sca.cod_fiscale +) bf +--C55 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Proventi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +1 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.proventi pro +on vc.rete = pro.rete +and vc.cod_fiscale = pro.cod_fiscale +) bf +--C56 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Monitoraggio avviato Trimestre precedente' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +1 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +--where data_foto > C6MartPeriodico.getPreviousTrimestre(getdate(), 1) +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +) bf +--C57 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +1 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where isnull(data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) +where isnull(data_foto,getDate()) between @appoDataInizioTrimestre and @appoDataFineTrimestre +) bf +--C58 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +1 AS c58 +FROM +( +--select distinct b.rete, b.cod_fiscale as codfis +--from c6martperiodico.monitoraggio_report a +--right join C6MartPeriodico.rp_vcontrattipergenerazionereport b +--on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete is null +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_iniziale +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +except +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_report +) bf +--------------------- +--drop table C6MARTPERIODICO.SELEZIONECAMPIONE2 +truncate table C6MARTPERIODICO.SELEZIONECAMPIONE2 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +select +v.rete, +v.cod_fiscale, +sum( C1 ) as C1, +sum( C2 ) as C2, +sum( C3 ) as C3, +sum( C4 ) as C4, +sum( C5 ) as C5, +sum( C6 ) as C6, +sum( C7 ) as C7, +sum( C8 ) as C8, +sum( C9 ) as C9, +sum( C10 ) as C10, +sum( C11) as C11, +sum( C12 ) as C12, +sum( C13 ) as C13, +sum( C14 ) as C14, +sum( C15 ) as C15, +sum( C16 ) as C16, +sum( C17 ) as C17, +sum( C18 ) as C18, +sum( C19 ) as C19, +sum( C20 ) as C20, +sum( C21 ) as C21, +sum( C22 ) as C22, +sum( C23) as C23, +sum( C24 ) as C24, +sum( C25 ) as C25, +sum( C26) as C26, +sum( C27 ) as C27, +sum( C28) as C28, +sum( C29 ) as C29, +sum( C30 ) as C30, +sum(C31) AS C31, +SUM(C32) AS C32, +SUM(C33) AS C33, +SUM(C34) AS C34, +SUM(C35) AS C35, +SUM(C36) AS C36, +SUM(C37) AS C37, +SUM(C38) AS C38, +SUM(C39) AS C39, +SUM(C40) AS C40, +SUM(C41) AS C41, +SUM(C42) AS C42, +SUM(C43) AS C43, +SUM(C44) AS C44, +SUM(C45) AS C45, +SUM(C46) AS C46, +SUM(C47) AS C47, +SUM(C48) AS C48, +SUM(C49) AS C49, +SUM(C50) AS C50, +SUM(C51) AS C51, +SUM(C52) AS C52, +SUM(C53) AS C53, +SUM(C54) AS C54, +SUM(C55) AS C55, +SUM(C56) AS C56, +SUM(C57) AS C57, +SUM(C58) AS C58 +--INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +FROM +C6MARTPERIODICO.SELEZIONECAMPIONE sc join C6MartPeriodico.rp_vcontrattipergenerazionereport v +on sc.rete=v.rete and sc.cod_fiscale=v.cod_fiscale +--modifica del 10/7/2018 per non far includere quelli della blacklist (se ci sono) +where sc.rete+sc.cod_fiscale not in (select rete+codicefiscale from [C6StampeCentralizzate].[C6MartPeriodico].[ExcludedList]) +group by +v.rete, +v.cod_fiscale +END +--SELECT * FROM C6MARTPERIODICO.SELEZIONECAMPIONE2 \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20160412.sql b/sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20160412.sql new file mode 100644 index 00000000..694114d4 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20160412.sql @@ -0,0 +1,4865 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20160412] +AS +BEGIN +--procedura di caricamento campione +DECLARE @appoDataInizioTrimestre varchar(8) +SET @appoDataInizioTrimestre = '20160101' +--SET @appoDataInizioTrimestre = '20151001' +--SET @appoDataInizioTrimestre = '20150701' +DECLARE @appoDataFineTrimestre varchar(8) +SET @appoDataFineTrimestre = '20160331' +--SET @appoDataFineTrimestre = '20151231' +--SET @appoDataFineTrimestre = '20150930' +DECLARE @appoDataInizioTrimPrec varchar(8) +SET @appoDataInizioTrimPrec = '20151001' +--SET @appoDataInizioTrimPrec = '20150701' +--SET @appoDataInizioTrimPrec = '20150401' +DECLARE @appoDataFineTrimPrec varchar(8) +SET @appoDataFineTrimPrec = '20151231' +--SET @appoDataFineTrimPrec = '20150930' +--SET @appoDataFineTrimPrec = '20150630' +-- QUI VA SPECIFICATO IL PERIODO DI EFFETTIVA GENERAZIONE DEI REPORT CHE, IN GENERE, E' IL MESE SUCCESSIVO +-- A QUELLO DI FINE TRIMESTRE +DECLARE @appoDataGenerazioneTrimPrecDa varchar(8) +SET @appoDataGenerazioneTrimPrecDa = '20160101' +--SET @appoDataGenerazioneTrimPrecDa = '20151001' +--SET @appoDataGenerazioneTrimPrecDa = '20150701' +DECLARE @appoDataGenerazioneTrimPrecA varchar(8) +SET @appoDataGenerazioneTrimPrecA = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perché in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecA = '20151031' +--SET @appoDataGenerazioneTrimPrecA = '20150731' +DECLARE @appoDataGenerazioneTrimPrecX2Da varchar(8) +SET @appoDataGenerazioneTrimPrecX2Da = '20151001' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150701' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150401' +DECLARE @appoDataGenerazioneTrimPrecX2A varchar(8) +SET @appoDataGenerazioneTrimPrecX2A = '20151031' +--SET @appoDataGenerazioneTrimPrecX2A = '20150731' +--SET @appoDataGenerazioneTrimPrecX2A = '20150430' +TRUNCATE TABLE C6MARTPERIODICO.SELEZIONECAMPIONE +--select * into c6martperiodico.appo_selezione_campione from C6MARTPERIODICO.SELEZIONECAMPIONE +--0 tutta la popolazione +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +select distinct bf.cod_fiscale, bf.rete +from +C6MartPeriodico.rp_vcontrattipergenerazionereport bf +) bf +--1 UNA MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'UNA MACRO ASSET ' AS DESCRIZIONE, +1 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 1 "ASSET CLASS" anzichè 1 "MACRO ASSET CLASS" +--select distinct bf.cod_fiscale, bf.rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=1 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=1 +) bf +--2 TUTTE LE MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'TUTTE LE MACRO ASSET ' AS DESCRIZIONE, +0 AS c1, +1 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 7 "ASSET CLASS" anzichè 7 "MACRO ASSET CLASS" +--select distinct cod_fiscale, rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=7 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=7 +) bf +--3 TUTTE LE AREE SONO MONITORATE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis as cod_fiscale, +'TUTTE LE AREE SONO MONITORATE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +1 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, count(distinct codarea) c +from C6StagingPeriodico.TANAB +where dtfine='99991231' +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=4 +)bf +--4 SENZA PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'SENZA PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +1 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +--5 RISCHIO CREDITO NA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO N.A. ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +1 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk is null +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 6 CLASSE DI RISCHIO CREDITO > 3 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO > 3 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +1 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>3 +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 7 PRODOTTO SENZA RENDIMENTO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PRODOTTO SENZA RENDIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +1 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as cod_fiscale +from C6StagingPeriodico.TSCABP +) bf +-- 8 piu trimestrali +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PIU TRIMESTRALI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +1 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, codicefiscale AS COD_FISCALE, count(*)N +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where tiporeport='M' +and dataGenerazione > @appoDataGenerazioneTrimPrecX2Da +group by rete, codicefiscale +having count(*)>1 +) bf +-- 9 PATRIMONIO TERZI SU PIU' INTERMEDIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI SU PIU'' INTERMEDIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +1 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, count(distinct a.intermediario) M +from C6MartPeriodico.PATRIMONIO_TERZI a +group by a.rete, a.cod_fiscale +having count(distinct a.intermediario)>1 +) bf +-- 10 PERSONE GIURIDICHE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PERSONE GIURIDICHE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +1 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where len(cod_fiscale)=11 +) bf +-- 11 PB TERMINATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PB TERMINATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +1 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct bf.rete, bf.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_BF bf, C6Mart.CONTRATTOSEI c6,C6Stagingperiodico.ADS4WS_PROMOTORI pr +--where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +--and c6.cod_agente=pr.codice and pr.rete=c6.rete +--and stato= 'T' +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6,C6Stagingperiodico.RP_anagrafica_promotori pr +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and c6.cod_agente=pr.codage and pr.rete=c6.rete +and stato= 'T' +) bf +-- 12 PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +1 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_TERZI a +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +-- 13 PATR NON RAPPR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR NON RAPPR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +1 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale +from C6MartPeriodico.vPatrimonioNonRappresentabileAsset +) bf +-- 14 PATR IMMOBILIARE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +1 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, sum(a.VALORE_STIMATO) M +from C6MartPeriodico.PATRIMONIO_IMMOBILIARE a +group by a.rete, a.cod_fiscale +) bf +-- 15 PARTITE VIAGGIANTI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +1 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PARTITE_VIAGGIANTI) bf +--16 NON MONITORATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON MONITORATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +1 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.patrimonio_bf bf +where bf.rete + bf.cod_fiscale not in ( select distinct rete + case when len(codfis) =4 then 'FF@'+codfis else codfis end from C6StagingPeriodico.TANAB where dtfine='99991231') +) bf +-- 17 NO PATR IMMOB +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +1 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf +where cod_fiscale + rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.patrimonio_immobiliare) +) bf +-- 18 MON SU UNA SOLA AREA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON SU UNA SOLA AREA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +1 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +(select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE, count(distinct codarea) H +from C6StagingPeriodico.TANAB +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=1 +) bf +-- 19 MON DA PIU DI 12 MESI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON DA PIU DI 12 MESI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +1 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_FISCALE +from C6StagingPeriodico.TANAB +--where ('20101201'-dtrif)/30>12 +where dtrif < convert(varchar(8), DATEADD(year, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112) +) bf +-- 20 MON APPENA AVVIATO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON APPENA AVVIATO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +1 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE +from C6StagingPeriodico.TANAB +--where '20101201'-GETDATE()<1 +where (dtrif > convert(varchar(8), DATEADD(day, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112)) +) bf +-- 21 MANDATI FIDUCIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MANDATI FIDUCIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +1 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where cod_fiscale like 'FF@%' +) bf +-- 22 INADEGUATI VAR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI VAR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +1 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.var_perc_ptf>cod.max_var +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 23 INADEGUATI CRISK +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI CRISK ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +1 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_CREDITRISK cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>mifid.profilo_ass +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 24 INADEGUATI COMPLESSITA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI COMPLESSITA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +1 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF a, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and mifid.experience<(select max(complex) from C6MartPeriodico.PATRIMONIO_BF where rete=mifid.rete and cod_fiscale=mifid.cod_fiscale) +) bf +-- 25 DIVERSIFICAZIONE < 30 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'DIVERSIFICAZIONE < 30 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +1 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, beneficio +from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='COMPLESSIVO' +and beneficio<30 +) bf +-- 26 CC NEG E POS +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEG E POS ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +1 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) bf +-- 27 CC NEG +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEGATIVO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +1 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, sum(saldocontabile) M +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)<0 +) bf +where rete+cod_fiscale not in +( +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) +-- 28 REND NON RAPPR COME UNICA POSIZIONE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'REND NON RAPPR COME UNICA POSIZIONE IN AREA MONIT' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +1 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +SELECT +DISTINCT T.RETE, T.COD_FISCALE FROM +( +SELECT +RETE, COD_FISCALE , ID_AREA, SUM(CASE WHEN REND_NON_RAPPR =1 THEN 0 ELSE 1 END) TOT +FROM +C6MARTPERIODICO +.PATRIMONIO_BF B +GROUP +BY +RETE +, COD_FISCALE, ID_AREA +) +T, +( +SELECT +RETE, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, CASE WHEN CODAREA ='EXR' THEN 'EXT'ELSE CODAREA END AS CODAREA FROM +C6STAGINGPERIODICO +.TANAB +WHERE +DTFINE = 99991231 +) +B +WHERE +T +.RETE=B.RETE AND B.CODFIS=T.COD_FISCALE +AND +ID_AREA=CODAREA +AND +TOT=0 +) bf +-- 29 PREVIDENZA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PREVIDENZA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +1 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where id_area like '%Pre%' +) bf +--30 RESTART CONTRATTOSEI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RESTART CONTRATTOSEI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +1 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, codicefiscale as cod_fiscale +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where datagenerazione between @appoDataGenerazioneTrimPrecX2Da and @appoDataGenerazioneTrimPrecX2A +except +select distinct p.rete,p.codicefiscale + from C6StoricoPeriodico.GESTIONE_PDF_FTP p + inner join c6martperiodico.patrimonio_bf b + on p.rete=b.rete and p.codicefiscale =b.cod_fiscale + where datagenerazione between @appoDataGenerazioneTrimPrecDa and @appoDataGenerazioneTrimPrecA +--select distinct rete, codicefiscale as cod_fiscale +--from appoGESTIONE_PDF_FTP +--where datagenerazione between '20111001' and '20111031' +--and rete + codicefiscale not in (select distinct rete + codicefiscale +-- from appoGESTIONE_PDF_FTP +-- where datagenerazione between '20120101' and '20120131') +--and rete + codicefiscale in (select distinct rete + cod_fiscale +-- from c6martperiodico.patrimonio_bf) +) bf +--31 INDIRIZZO CONTRATTO ESTERO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INDIRIZZO CONTRATTO ESTERO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +1 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6 +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and nazione<> 'italia' +) bf +--32 CC>10000 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC>10000 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +1 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)>10000 +) bf +--33 COPERTURA INFERIORE A 100 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'COPERTURA INFERIORE A 100 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +1 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale + from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='complessivo' +and copertura<100 +) bf +--34 evoluzione controvalore > 30% +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'EVOLUZIONE CONTROVALORE > 30% ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +1 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct corrente.rete, corrente.cod_fiscale +from +(select b.rete, b.cod_fiscale, sum(controvalore) ctv +from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 a +inner join C6StagingPeriodico.appo_contratti b +on a.chiaveClientePB=b.chiaveClientePB +group by b.rete, b.cod_fiscale) scorsa, +(select rete, cod_fiscale, sum(ctv) ctv +from c6martperiodico.patrimonio_bf +group by rete, cod_fiscale) corrente +where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +and (case when scorsa.ctv>corrente.ctv + then (scorsa.ctv-abs(corrente.ctv)) + else (corrente.ctv-abs(scorsa.ctv)) + end) + > + (case when scorsa.ctv>corrente.ctv + then (0.30*corrente.ctv) + else (0.30*scorsa.ctv) + end) +--select distinct corrente.rete, corrente.cod_fiscale +--from +--(select rete, cod_fiscale, sum(controvalore) ctv +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--group by rete, cod_fiscale) scorsa, +--(select rete, cod_fiscale, sum(ctv) ctv +--from c6martperiodico.patrimonio_bf +--group by rete, cod_fiscale) corrente +--where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +--and (0.33*scorsa.ctv>corrente.ctv or 0.33*scorsa.ctv0 +--select distinct rete, cod_fiscale +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--where investimentiincorso>0 +) bf +--36 Monitoraggio con cedole/dividendi +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MONITORAGGIO CON CEDOLE/DIVIDENDI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +1 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.MONITORAGGIO_ATTUALE +where CEDOLE_DIVIDENDI>0 +) bf +-- 37 PARTITE VIAGGIANTI DI DISINVESTIMENTO - 19/1/2016 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI DI DISINVESTIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +1 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from C6MartPeriodico.patrimonio_bf a +inner join [C6StampeCentralizzate].[C6MartPeriodico].[TB_Campione] b +on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where (partvia_disinv <> 0.000 and partvia_disinv is not null) +) bf +--CRITERIO ELIMINATO IN QUANTO DUPLICATO DEL CRITERIO 31 +--38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +--select +--bf.rete, +--bf.cod_fiscale, +--'Indirizzo Estero' AS DESCRIZIONE, +--0 AS c1, +--0 AS c2, +--0 AS c3, +--0 AS c4, +--0 AS c5, +--0 AS c6, +--0 AS c7, +--0 AS c8, +--0 AS c9, +--0 AS c10, +--0 AS c11, +--0 AS c12, +--0 AS c13, +--0 AS c14, +--0 AS c15, +--0 AS c16, +--0 AS c17, +--0 AS c18, +--0 AS c19, +--0 AS c20, +--0 AS c21, +--0 AS c22, +--0 AS c23, +--0 AS c24, +--0 AS c25, +--0 AS c26, +--0 AS c27, +--0 AS c28, +--0 AS c29, +--0 AS c30, +--0 AS c31, +--0 AS c32, +--0 AS c33, +--0 AS c34, +--0 AS c35, +--0 AS c36, +--0 AS c37, +--1 AS c38, +--0 AS c39, +--0 AS c40, +--0 AS c41, +--0 AS c42, +--0 AS c43, +--0 AS c44, +--0 AS c45, +--0 AS c46, +--0 AS c47, +--0 AS c48, +--0 AS c49, +--0 AS c50, +--0 AS c51, +--0 AS c52, +--0 AS c53, +--0 AS c54, +--0 AS c55, +--0 AS c56, +--0 AS c57, +--0 AS c58 +--FROM +--( +--select distinct rete, cod_fiscale +--from c6martperiodico.contrattosei +--where nazione <> 'italia' +--) bf +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'S', +--'RSSRNZ49E14A479S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'CSCGPP34A03L050L', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNERSR61L08C351V', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'BGLPRD65E10Z130S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNZNLS71M48C814J', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--------------------- +--c39 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C39 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +1 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +where data_foto >= @appoDataInizioTrimestre +) bf +--c40 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C40 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +1 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is not null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is not null +) bf +--41 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C41 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +1 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is null +) bf +--c42 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C42 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +1 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is null +) bf +--c43 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C43 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +1 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is not null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is not null +) bf +--C44 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'F' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +1 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +inner join c6stagingperiodico.st_mon +on a.cod_fiscale = codfis +and a.rete = st_mon.rete +where data_foto > '20111001' +) bf +--C45 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'G' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +1 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto < '20111001' +) bf +--C46 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'H' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +1 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto > '20111001' +) bf +--C47 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'I' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +1 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and dttrim = @appoDataFineTrimestre +and data_foto > '20111001' +) bf +--C48 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'J' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +1 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +/* +(select * from c6stagingperiodico.wseics where dttrim = '20111231') a +inner join +(select * from c6stagingperiodico.wseics where dttrim = '20120331') b +on a.rete = b.rete +and a.codfis = b.codfis +inner join c6martperiodico.monitoraggio_iniziale c +on b.codfis = c.cod_fiscale +and b.rete = c.rete +where +a.codprod not in ('37', 'GP') +and +b.codprod in ('37', 'GP') +and c.data_foto > '20111001' +*/ +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001' +) bf +--C49 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'K' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +1 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +--inner join c6stagingperiodico.wseics b +--on b.codfis = b.codfis +--and a.rete = b.rete +--where a.codprod not in ('37', 'GP') +----Se fase di Simulazione: +---- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +----and a.dttrim = '20131130' +----Se fase di Trimestrale: +---- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +--and a.dttrim = @appoDataFineTrimestre +--and b.codprod in ('37', 'GP') +----and b.dttrim = '20111231' -- b.dttrim = dt fine trimestre precedente +--and b.dttrim = @appoDataFineTrimPrec +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001' +) bf +--nuovi----------------------------------------------------------- +--C50 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti OLD' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +1 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 0 +) bf +--C51 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Affluent' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +1 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 1 +) bf +--C52 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Private' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +1 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 2 +) bf +--C53 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Bonus' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +1 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.bonus bon +on vc.rete = bon.rete +and vc.cod_fiscale = bon.cod_fiscale +) bf +--C54 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Scadenze' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +1 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.scadenze sca +on vc.rete = sca.rete +and vc.cod_fiscale = sca.cod_fiscale +) bf +--C55 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Proventi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +1 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.proventi pro +on vc.rete = pro.rete +and vc.cod_fiscale = pro.cod_fiscale +) bf +--C56 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Monitoraggio avviato Trimestre precedente' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +1 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +--where data_foto > C6MartPeriodico.getPreviousTrimestre(getdate(), 1) +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +) bf +--C57 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +1 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where isnull(data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) +where isnull(data_foto,getDate()) between @appoDataInizioTrimestre and @appoDataFineTrimestre +) bf +--C58 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +1 AS c58 +FROM +( +--select distinct b.rete, b.cod_fiscale as codfis +--from c6martperiodico.monitoraggio_report a +--right join C6MartPeriodico.rp_vcontrattipergenerazionereport b +--on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete is null +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_iniziale +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +except +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_report +) bf +--------------------- +--drop table C6MARTPERIODICO.SELEZIONECAMPIONE2 +truncate table C6MARTPERIODICO.SELEZIONECAMPIONE2 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +select +v.rete, +v.cod_fiscale, +sum( C1 ) as C1, +sum( C2 ) as C2, +sum( C3 ) as C3, +sum( C4 ) as C4, +sum( C5 ) as C5, +sum( C6 ) as C6, +sum( C7 ) as C7, +sum( C8 ) as C8, +sum( C9 ) as C9, +sum( C10 ) as C10, +sum( C11) as C11, +sum( C12 ) as C12, +sum( C13 ) as C13, +sum( C14 ) as C14, +sum( C15 ) as C15, +sum( C16 ) as C16, +sum( C17 ) as C17, +sum( C18 ) as C18, +sum( C19 ) as C19, +sum( C20 ) as C20, +sum( C21 ) as C21, +sum( C22 ) as C22, +sum( C23) as C23, +sum( C24 ) as C24, +sum( C25 ) as C25, +sum( C26) as C26, +sum( C27 ) as C27, +sum( C28) as C28, +sum( C29 ) as C29, +sum( C30 ) as C30, +sum(C31) AS C31, +SUM(C32) AS C32, +SUM(C33) AS C33, +SUM(C34) AS C34, +SUM(C35) AS C35, +SUM(C36) AS C36, +SUM(C37) AS C37, +SUM(C38) AS C38, +SUM(C39) AS C39, +SUM(C40) AS C40, +SUM(C41) AS C41, +SUM(C42) AS C42, +SUM(C43) AS C43, +SUM(C44) AS C44, +SUM(C45) AS C45, +SUM(C46) AS C46, +SUM(C47) AS C47, +SUM(C48) AS C48, +SUM(C49) AS C49, +SUM(C50) AS C50, +SUM(C51) AS C51, +SUM(C52) AS C52, +SUM(C53) AS C53, +SUM(C54) AS C54, +SUM(C55) AS C55, +SUM(C56) AS C56, +SUM(C57) AS C57, +SUM(C58) AS C58 +--INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +FROM +C6MARTPERIODICO.SELEZIONECAMPIONE sc join C6MartPeriodico.rp_vcontrattipergenerazionereport v +on sc.rete=v.rete and sc.cod_fiscale=v.cod_fiscale +group by +v.rete, +v.cod_fiscale +END +--SELECT * FROM C6MARTPERIODICO.SELEZIONECAMPIONE2 \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20161012.sql b/sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20161012.sql new file mode 100644 index 00000000..03d5bfd9 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20161012.sql @@ -0,0 +1,4902 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20161012] +AS +BEGIN +--procedura di caricamento campione +DECLARE @appoDataInizioTrimestre varchar(8) +SET @appoDataInizioTrimestre = '20160701' +--SET @appoDataInizioTrimestre = '20160401' +--SET @appoDataInizioTrimestre = '20160101' +--SET @appoDataInizioTrimestre = '20151001' +--SET @appoDataInizioTrimestre = '20150701' +DECLARE @appoDataFineTrimestre varchar(8) +SET @appoDataFineTrimestre = '20160930' +--SET @appoDataFineTrimestre = '20160630' +--SET @appoDataFineTrimestre = '20160331' +--SET @appoDataFineTrimestre = '20151231' +--SET @appoDataFineTrimestre = '20150930' +DECLARE @appoDataInizioTrimPrec varchar(8) +SET @appoDataInizioTrimPrec = '20160401' +--SET @appoDataInizioTrimPrec = '20160101' +--SET @appoDataInizioTrimPrec = '20151001' +--SET @appoDataInizioTrimPrec = '20150701' +--SET @appoDataInizioTrimPrec = '20150401' +DECLARE @appoDataFineTrimPrec varchar(8) +SET @appoDataFineTrimPrec = '20160630' +--SET @appoDataFineTrimPrec = '20160331' +--SET @appoDataFineTrimPrec = '20151231' +--SET @appoDataFineTrimPrec = '20150930' +--SET @appoDataFineTrimPrec = '20150630' +-- QUI VA SPECIFICATO IL PERIODO DI EFFETTIVA GENERAZIONE DEI REPORT CHE, IN GENERE, E' IL MESE SUCCESSIVO +-- A QUELLO DI FINE TRIMESTRE +DECLARE @appoDataGenerazioneTrimPrecDa varchar(8) +SET @appoDataGenerazioneTrimPrecDa = '20160701' +--SET @appoDataGenerazioneTrimPrecDa = '20160401' +--SET @appoDataGenerazioneTrimPrecDa = '20160101' +--SET @appoDataGenerazioneTrimPrecDa = '20151001' +--SET @appoDataGenerazioneTrimPrecDa = '20150701' +DECLARE @appoDataGenerazioneTrimPrecA varchar(8) +SET @appoDataGenerazioneTrimPrecA = '20160731' +--SET @appoDataGenerazioneTrimPrecA = '20160430' +--SET @appoDataGenerazioneTrimPrecA = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perché in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecA = '20151031' +--SET @appoDataGenerazioneTrimPrecA = '20150731' +DECLARE @appoDataGenerazioneTrimPrecX2Da varchar(8) +SET @appoDataGenerazioneTrimPrecA = '20160401' +--SET @appoDataGenerazioneTrimPrecA = '20160101' +--SET @appoDataGenerazioneTrimPrecX2Da = '20151001' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150701' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150401' +DECLARE @appoDataGenerazioneTrimPrecX2A varchar(8) +SET @appoDataGenerazioneTrimPrecX2A = '20160430' +--SET @appoDataGenerazioneTrimPrecX2A = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perché in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecX2A = '20151031' +--SET @appoDataGenerazioneTrimPrecX2A = '20150731' +--SET @appoDataGenerazioneTrimPrecX2A = '20150430' +TRUNCATE TABLE C6MARTPERIODICO.SELEZIONECAMPIONE +--select * into c6martperiodico.appo_selezione_campione from C6MARTPERIODICO.SELEZIONECAMPIONE +--0 tutta la popolazione +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +select distinct bf.cod_fiscale, bf.rete +from +C6MartPeriodico.rp_vcontrattipergenerazionereport bf +) bf +--1 UNA MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'UNA MACRO ASSET ' AS DESCRIZIONE, +1 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 1 "ASSET CLASS" anzichè 1 "MACRO ASSET CLASS" +--select distinct bf.cod_fiscale, bf.rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=1 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=1 +) bf +--2 TUTTE LE MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'TUTTE LE MACRO ASSET ' AS DESCRIZIONE, +0 AS c1, +1 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 7 "ASSET CLASS" anzichè 7 "MACRO ASSET CLASS" +--select distinct cod_fiscale, rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=7 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=7 +) bf +--3 TUTTE LE AREE SONO MONITORATE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis as cod_fiscale, +'TUTTE LE AREE SONO MONITORATE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +1 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, count(distinct codarea) c +from C6StagingPeriodico.TANAB +where dtfine='99991231' +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=4 +)bf +--4 SENZA PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'SENZA PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +1 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +--5 RISCHIO CREDITO NA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO N.A. ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +1 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk is null +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 6 CLASSE DI RISCHIO CREDITO > 3 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO > 3 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +1 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>3 +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 7 PRODOTTO SENZA RENDIMENTO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PRODOTTO SENZA RENDIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +1 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as cod_fiscale +from C6StagingPeriodico.TSCABP +) bf +-- 8 piu trimestrali +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PIU TRIMESTRALI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +1 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, codicefiscale AS COD_FISCALE, count(*)N +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where tiporeport='M' +and dataGenerazione > @appoDataGenerazioneTrimPrecX2Da +group by rete, codicefiscale +having count(*)>1 +) bf +-- 9 PATRIMONIO TERZI SU PIU' INTERMEDIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI SU PIU'' INTERMEDIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +1 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, count(distinct a.intermediario) M +from C6MartPeriodico.PATRIMONIO_TERZI a +group by a.rete, a.cod_fiscale +having count(distinct a.intermediario)>1 +) bf +-- 10 PERSONE GIURIDICHE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PERSONE GIURIDICHE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +1 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where len(cod_fiscale)=11 +) bf +-- 11 PB TERMINATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PB TERMINATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +1 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct bf.rete, bf.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_BF bf, C6Mart.CONTRATTOSEI c6,C6Stagingperiodico.ADS4WS_PROMOTORI pr +--where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +--and c6.cod_agente=pr.codice and pr.rete=c6.rete +--and stato= 'T' +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6,C6Stagingperiodico.RP_anagrafica_promotori pr +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and c6.cod_agente=pr.codage and pr.rete=c6.rete +and stato= 'T' +) bf +-- 12 PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +1 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_TERZI a +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +-- 13 PATR NON RAPPR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR NON RAPPR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +1 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale +from C6MartPeriodico.vPatrimonioNonRappresentabileAsset +) bf +-- 14 PATR IMMOBILIARE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +1 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, sum(a.VALORE_STIMATO) M +from C6MartPeriodico.PATRIMONIO_IMMOBILIARE a +group by a.rete, a.cod_fiscale +) bf +-- 15 PARTITE VIAGGIANTI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +1 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PARTITE_VIAGGIANTI) bf +--16 NON MONITORATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON MONITORATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +1 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.patrimonio_bf bf +where bf.rete + bf.cod_fiscale not in ( select distinct rete + case when len(codfis) =4 then 'FF@'+codfis else codfis end from C6StagingPeriodico.TANAB where dtfine='99991231') +) bf +-- 17 NO PATR IMMOB +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +1 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf +where cod_fiscale + rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.patrimonio_immobiliare) +) bf +-- 18 MON SU UNA SOLA AREA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON SU UNA SOLA AREA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +1 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +(select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE, count(distinct codarea) H +from C6StagingPeriodico.TANAB +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=1 +) bf +-- 19 MON DA PIU DI 12 MESI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON DA PIU DI 12 MESI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +1 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_FISCALE +from C6StagingPeriodico.TANAB +--where ('20101201'-dtrif)/30>12 +where dtrif < convert(varchar(8), DATEADD(year, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112) +) bf +-- 20 MON APPENA AVVIATO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON APPENA AVVIATO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +1 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE +from C6StagingPeriodico.TANAB +--where '20101201'-GETDATE()<1 +where (dtrif > convert(varchar(8), DATEADD(day, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112)) +) bf +-- 21 MANDATI FIDUCIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MANDATI FIDUCIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +1 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where cod_fiscale like 'FF@%' +) bf +-- 22 INADEGUATI VAR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI VAR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +1 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.var_perc_ptf>cod.max_var +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 23 INADEGUATI CRISK +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI CRISK ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +1 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_CREDITRISK cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>mifid.profilo_ass +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 24 INADEGUATI COMPLESSITA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI COMPLESSITA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +1 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +-- EN2060408: begin - adapted to new feature "Adeguatezza" comnplexity / concentration +--select distinct a.rete, a.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_BF a, C6MartPeriodico.MIFID mifid +--where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +--and mifid.experience<(select max(complex) from C6MartPeriodico.PATRIMONIO_BF where rete=mifid.rete and cod_fiscale=mifid.cod_fiscale) +SELECT top 500 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'S' and [ancmpl].[FLGCONC] = 'S') +order by dttrim desc + UNION +SELECT top 200 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'N' and [ancmpl].[FLGCONC] = 'S') +order by dttrim desc + UNION +SELECT top 20 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'S' and [ancmpl].[FLGCONC] = 'N') +order by dttrim desc + UNION +SELECT top 20 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'N' and [ancmpl].[FLGCONC] = 'N') +order by dttrim desc +) bf +-- EN2060408: end +-- 25 DIVERSIFICAZIONE < 30 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'DIVERSIFICAZIONE < 30 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +1 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, beneficio +from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='COMPLESSIVO' +and beneficio<30 +) bf +-- 26 CC NEG E POS +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEG E POS ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +1 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) bf +-- 27 CC NEG +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEGATIVO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +1 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, sum(saldocontabile) M +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)<0 +) bf +where rete+cod_fiscale not in +( +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) +-- 28 REND NON RAPPR COME UNICA POSIZIONE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'REND NON RAPPR COME UNICA POSIZIONE IN AREA MONIT' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +1 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +SELECT +DISTINCT T.RETE, T.COD_FISCALE FROM +( +SELECT +RETE, COD_FISCALE , ID_AREA, SUM(CASE WHEN REND_NON_RAPPR =1 THEN 0 ELSE 1 END) TOT +FROM +C6MARTPERIODICO +.PATRIMONIO_BF B +GROUP +BY +RETE +, COD_FISCALE, ID_AREA +) +T, +( +SELECT +RETE, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, CASE WHEN CODAREA ='EXR' THEN 'EXT'ELSE CODAREA END AS CODAREA FROM +C6STAGINGPERIODICO +.TANAB +WHERE +DTFINE = 99991231 +) +B +WHERE +T +.RETE=B.RETE AND B.CODFIS=T.COD_FISCALE +AND +ID_AREA=CODAREA +AND +TOT=0 +) bf +-- 29 PREVIDENZA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PREVIDENZA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +1 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where id_area like '%Pre%' +) bf +--30 RESTART CONTRATTOSEI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RESTART CONTRATTOSEI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +1 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, codicefiscale as cod_fiscale +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where datagenerazione between @appoDataGenerazioneTrimPrecX2Da and @appoDataGenerazioneTrimPrecX2A +except +select distinct p.rete,p.codicefiscale + from C6StoricoPeriodico.GESTIONE_PDF_FTP p + inner join c6martperiodico.patrimonio_bf b + on p.rete=b.rete and p.codicefiscale =b.cod_fiscale + where datagenerazione between @appoDataGenerazioneTrimPrecDa and @appoDataGenerazioneTrimPrecA +--select distinct rete, codicefiscale as cod_fiscale +--from appoGESTIONE_PDF_FTP +--where datagenerazione between '20111001' and '20111031' +--and rete + codicefiscale not in (select distinct rete + codicefiscale +-- from appoGESTIONE_PDF_FTP +-- where datagenerazione between '20120101' and '20120131') +--and rete + codicefiscale in (select distinct rete + cod_fiscale +-- from c6martperiodico.patrimonio_bf) +) bf +--31 INDIRIZZO CONTRATTO ESTERO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INDIRIZZO CONTRATTO ESTERO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +1 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6 +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and nazione<> 'italia' +) bf +--32 CC>10000 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC>10000 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +1 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)>10000 +) bf +--33 COPERTURA INFERIORE A 100 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'COPERTURA INFERIORE A 100 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +1 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale + from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='complessivo' +and copertura<100 +) bf +--34 evoluzione controvalore > 30% +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'EVOLUZIONE CONTROVALORE > 30% ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +1 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct corrente.rete, corrente.cod_fiscale +from +(select b.rete, b.cod_fiscale, sum(controvalore) ctv +from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 a +inner join C6StagingPeriodico.appo_contratti b +on a.chiaveClientePB=b.chiaveClientePB +group by b.rete, b.cod_fiscale) scorsa, +(select rete, cod_fiscale, sum(ctv) ctv +from c6martperiodico.patrimonio_bf +group by rete, cod_fiscale) corrente +where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +and (case when scorsa.ctv>corrente.ctv + then (scorsa.ctv-abs(corrente.ctv)) + else (corrente.ctv-abs(scorsa.ctv)) + end) + > + (case when scorsa.ctv>corrente.ctv + then (0.30*corrente.ctv) + else (0.30*scorsa.ctv) + end) +--select distinct corrente.rete, corrente.cod_fiscale +--from +--(select rete, cod_fiscale, sum(controvalore) ctv +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--group by rete, cod_fiscale) scorsa, +--(select rete, cod_fiscale, sum(ctv) ctv +--from c6martperiodico.patrimonio_bf +--group by rete, cod_fiscale) corrente +--where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +--and (0.33*scorsa.ctv>corrente.ctv or 0.33*scorsa.ctv0 +--select distinct rete, cod_fiscale +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--where investimentiincorso>0 +) bf +--36 Monitoraggio con cedole/dividendi +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MONITORAGGIO CON CEDOLE/DIVIDENDI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +1 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.MONITORAGGIO_ATTUALE +where CEDOLE_DIVIDENDI>0 +) bf +-- 37 PARTITE VIAGGIANTI DI DISINVESTIMENTO - 19/1/2016 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI DI DISINVESTIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +1 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from C6MartPeriodico.patrimonio_bf a +inner join [C6StampeCentralizzate].[C6MartPeriodico].[TB_Campione] b +on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where (partvia_disinv <> 0.000 and partvia_disinv is not null) +) bf +--CRITERIO ELIMINATO IN QUANTO DUPLICATO DEL CRITERIO 31 +--38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +--select +--bf.rete, +--bf.cod_fiscale, +--'Indirizzo Estero' AS DESCRIZIONE, +--0 AS c1, +--0 AS c2, +--0 AS c3, +--0 AS c4, +--0 AS c5, +--0 AS c6, +--0 AS c7, +--0 AS c8, +--0 AS c9, +--0 AS c10, +--0 AS c11, +--0 AS c12, +--0 AS c13, +--0 AS c14, +--0 AS c15, +--0 AS c16, +--0 AS c17, +--0 AS c18, +--0 AS c19, +--0 AS c20, +--0 AS c21, +--0 AS c22, +--0 AS c23, +--0 AS c24, +--0 AS c25, +--0 AS c26, +--0 AS c27, +--0 AS c28, +--0 AS c29, +--0 AS c30, +--0 AS c31, +--0 AS c32, +--0 AS c33, +--0 AS c34, +--0 AS c35, +--0 AS c36, +--0 AS c37, +--1 AS c38, +--0 AS c39, +--0 AS c40, +--0 AS c41, +--0 AS c42, +--0 AS c43, +--0 AS c44, +--0 AS c45, +--0 AS c46, +--0 AS c47, +--0 AS c48, +--0 AS c49, +--0 AS c50, +--0 AS c51, +--0 AS c52, +--0 AS c53, +--0 AS c54, +--0 AS c55, +--0 AS c56, +--0 AS c57, +--0 AS c58 +--FROM +--( +--select distinct rete, cod_fiscale +--from c6martperiodico.contrattosei +--where nazione <> 'italia' +--) bf +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'S', +--'RSSRNZ49E14A479S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'CSCGPP34A03L050L', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNERSR61L08C351V', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'BGLPRD65E10Z130S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNZNLS71M48C814J', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--------------------- +--c39 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C39 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +1 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +where data_foto >= @appoDataInizioTrimestre +) bf +--c40 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C40 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +1 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is not null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is not null +) bf +--41 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C41 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +1 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is null +) bf +--c42 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C42 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +1 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is null +) bf +--c43 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C43 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +1 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is not null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is not null +) bf +--C44 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'F' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +1 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +inner join c6stagingperiodico.st_mon +on a.cod_fiscale = codfis +and a.rete = st_mon.rete +where data_foto > '20111001' +) bf +--C45 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'G' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +1 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto < '20111001' +) bf +--C46 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'H' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +1 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto > '20111001' +) bf +--C47 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'I' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +1 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and dttrim = @appoDataFineTrimestre +and data_foto > '20111001' +) bf +--C48 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'J' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +1 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +/* +(select * from c6stagingperiodico.wseics where dttrim = '20111231') a +inner join +(select * from c6stagingperiodico.wseics where dttrim = '20120331') b +on a.rete = b.rete +and a.codfis = b.codfis +inner join c6martperiodico.monitoraggio_iniziale c +on b.codfis = c.cod_fiscale +and b.rete = c.rete +where +a.codprod not in ('37', 'GP') +and +b.codprod in ('37', 'GP') +and c.data_foto > '20111001' +*/ +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001' +) bf +--C49 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'K' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +1 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +--inner join c6stagingperiodico.wseics b +--on b.codfis = b.codfis +--and a.rete = b.rete +--where a.codprod not in ('37', 'GP') +----Se fase di Simulazione: +---- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +----and a.dttrim = '20131130' +----Se fase di Trimestrale: +---- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +--and a.dttrim = @appoDataFineTrimestre +--and b.codprod in ('37', 'GP') +----and b.dttrim = '20111231' -- b.dttrim = dt fine trimestre precedente +--and b.dttrim = @appoDataFineTrimPrec +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001' +) bf +--nuovi----------------------------------------------------------- +--C50 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti OLD' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +1 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 0 +) bf +--C51 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Affluent' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +1 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 1 +) bf +--C52 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Private' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +1 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 2 +) bf +--C53 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Bonus' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +1 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.bonus bon +on vc.rete = bon.rete +and vc.cod_fiscale = bon.cod_fiscale +) bf +--C54 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Scadenze' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +1 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.scadenze sca +on vc.rete = sca.rete +and vc.cod_fiscale = sca.cod_fiscale +) bf +--C55 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Proventi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +1 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.proventi pro +on vc.rete = pro.rete +and vc.cod_fiscale = pro.cod_fiscale +) bf +--C56 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Monitoraggio avviato Trimestre precedente' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +1 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +--where data_foto > C6MartPeriodico.getPreviousTrimestre(getdate(), 1) +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +) bf +--C57 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +1 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where isnull(data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) +where isnull(data_foto,getDate()) between @appoDataInizioTrimestre and @appoDataFineTrimestre +) bf +--C58 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +1 AS c58 +FROM +( +--select distinct b.rete, b.cod_fiscale as codfis +--from c6martperiodico.monitoraggio_report a +--right join C6MartPeriodico.rp_vcontrattipergenerazionereport b +--on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete is null +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_iniziale +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +except +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_report +) bf +--------------------- +--drop table C6MARTPERIODICO.SELEZIONECAMPIONE2 +truncate table C6MARTPERIODICO.SELEZIONECAMPIONE2 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +select +v.rete, +v.cod_fiscale, +sum( C1 ) as C1, +sum( C2 ) as C2, +sum( C3 ) as C3, +sum( C4 ) as C4, +sum( C5 ) as C5, +sum( C6 ) as C6, +sum( C7 ) as C7, +sum( C8 ) as C8, +sum( C9 ) as C9, +sum( C10 ) as C10, +sum( C11) as C11, +sum( C12 ) as C12, +sum( C13 ) as C13, +sum( C14 ) as C14, +sum( C15 ) as C15, +sum( C16 ) as C16, +sum( C17 ) as C17, +sum( C18 ) as C18, +sum( C19 ) as C19, +sum( C20 ) as C20, +sum( C21 ) as C21, +sum( C22 ) as C22, +sum( C23) as C23, +sum( C24 ) as C24, +sum( C25 ) as C25, +sum( C26) as C26, +sum( C27 ) as C27, +sum( C28) as C28, +sum( C29 ) as C29, +sum( C30 ) as C30, +sum(C31) AS C31, +SUM(C32) AS C32, +SUM(C33) AS C33, +SUM(C34) AS C34, +SUM(C35) AS C35, +SUM(C36) AS C36, +SUM(C37) AS C37, +SUM(C38) AS C38, +SUM(C39) AS C39, +SUM(C40) AS C40, +SUM(C41) AS C41, +SUM(C42) AS C42, +SUM(C43) AS C43, +SUM(C44) AS C44, +SUM(C45) AS C45, +SUM(C46) AS C46, +SUM(C47) AS C47, +SUM(C48) AS C48, +SUM(C49) AS C49, +SUM(C50) AS C50, +SUM(C51) AS C51, +SUM(C52) AS C52, +SUM(C53) AS C53, +SUM(C54) AS C54, +SUM(C55) AS C55, +SUM(C56) AS C56, +SUM(C57) AS C57, +SUM(C58) AS C58 +--INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +FROM +C6MARTPERIODICO.SELEZIONECAMPIONE sc join C6MartPeriodico.rp_vcontrattipergenerazionereport v +on sc.rete=v.rete and sc.cod_fiscale=v.cod_fiscale +group by +v.rete, +v.cod_fiscale +END +--SELECT * FROM C6MARTPERIODICO.SELEZIONECAMPIONE2 \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20180711_preExcludedList.sql b/sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20180711_preExcludedList.sql new file mode 100644 index 00000000..dfc512f8 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20180711_preExcludedList.sql @@ -0,0 +1,4960 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20180711_preExcludedList] +AS +BEGIN +--procedura di caricamento campione +DECLARE @appoDataInizioTrimestre varchar(8) +SET @appoDataInizioTrimestre = '20180701' +--SET @appoDataInizioTrimestre = '20180401' +--SET @appoDataInizioTrimestre = '20180101' +--SET @appoDataInizioTrimestre = '20171001' +--SET @appoDataInizioTrimestre = '20170701' +--SET @appoDataInizioTrimestre = '20170401' +--SET @appoDataInizioTrimestre = '20170101' +--SET @appoDataInizioTrimestre = '20161001' +--SET @appoDataInizioTrimestre = '20160701' +--SET @appoDataInizioTrimestre = '20160401' +--SET @appoDataInizioTrimestre = '20160101' +--SET @appoDataInizioTrimestre = '20151001' +--SET @appoDataInizioTrimestre = '20150701' +DECLARE @appoDataFineTrimestre varchar(8) +SET @appoDataFineTrimestre = '20180630' +--SET @appoDataFineTrimestre = '20180331' +--SET @appoDataFineTrimestre = '20171231' +--SET @appoDataFineTrimestre = '20170930' +--SET @appoDataFineTrimestre = '20170630' +--SET @appoDataFineTrimestre = '20170331' +--SET @appoDataFineTrimestre = '20161231' +--SET @appoDataFineTrimestre = '20160930' +--SET @appoDataFineTrimestre = '20160630' +--SET @appoDataFineTrimestre = '20160331' +--SET @appoDataFineTrimestre = '20151231' +--SET @appoDataFineTrimestre = '20150930' +DECLARE @appoDataInizioTrimPrec varchar(8) +SET @appoDataInizioTrimPrec = '20180401' +--SET @appoDataInizioTrimPrec = '20180101' +--SET @appoDataInizioTrimPrec = '20171001' +--SET @appoDataInizioTrimPrec = '20170701' +--SET @appoDataInizioTrimPrec = '20170401' +--SET @appoDataInizioTrimPrec = '20170101' +--SET @appoDataInizioTrimPrec = '20161001' +--SET @appoDataInizioTrimPrec = '20160701' +--SET @appoDataInizioTrimPrec = '20160401' +--SET @appoDataInizioTrimPrec = '20160101' +--SET @appoDataInizioTrimPrec = '20151001' +--SET @appoDataInizioTrimPrec = '20150701' +--SET @appoDataInizioTrimPrec = '20150401' +DECLARE @appoDataFineTrimPrec varchar(8) +SET @appoDataFineTrimPrec = '20180331' +--SET @appoDataFineTrimPrec = '20171231' +--SET @appoDataFineTrimPrec = '20170930' +--SET @appoDataFineTrimPrec = '20170630' +--SET @appoDataFineTrimPrec = '20170331' +--SET @appoDataFineTrimPrec = '20161231' +--SET @appoDataFineTrimPrec = '20160930' +--SET @appoDataFineTrimPrec = '20160630' +--SET @appoDataFineTrimPrec = '20160331' +--SET @appoDataFineTrimPrec = '20151231' +--SET @appoDataFineTrimPrec = '20150930' +--SET @appoDataFineTrimPrec = '20150630' +-- QUI VA SPECIFICATO IL PERIODO DI EFFETTIVA GENERAZIONE DEI REPORT CHE, IN GENERE, E' IL MESE SUCCESSIVO +-- A QUELLO DI FINE TRIMESTRE +DECLARE @appoDataGenerazioneTrimPrecDa varchar(8) +SET @appoDataGenerazioneTrimPrecDa = '20180401' +--SET @appoDataGenerazioneTrimPrecDa = '20180101' +--SET @appoDataGenerazioneTrimPrecDa = '20171001' +--SET @appoDataGenerazioneTrimPrecDa = '20170701' +--SET @appoDataGenerazioneTrimPrecDa = '20170401' +--SET @appoDataGenerazioneTrimPrecDa = '20170101' +--SET @appoDataGenerazioneTrimPrecDa = '20161001' +--SET @appoDataGenerazioneTrimPrecDa = '20160701' +--SET @appoDataGenerazioneTrimPrecDa = '20160401' +--SET @appoDataGenerazioneTrimPrecDa = '20160101' +--SET @appoDataGenerazioneTrimPrecDa = '20151001' +--SET @appoDataGenerazioneTrimPrecDa = '20150701' +DECLARE @appoDataGenerazioneTrimPrecA varchar(8) +SET @appoDataGenerazioneTrimPrecA = '20180430' +--SET @appoDataGenerazioneTrimPrecA = '20180131' +--SET @appoDataGenerazioneTrimPrecA = '20171031' +--SET @appoDataGenerazioneTrimPrecA = '20170731' +--SET @appoDataGenerazioneTrimPrecA = '20170430' +--SET @appoDataGenerazioneTrimPrecA = '20170131' +--SET @appoDataGenerazioneTrimPrecA = '20161031' +--SET @appoDataGenerazioneTrimPrecA = '20160731' +--SET @appoDataGenerazioneTrimPrecA = '20160430' +--SET @appoDataGenerazioneTrimPrecA = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perché in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecA = '20151031' +--SET @appoDataGenerazioneTrimPrecA = '20150731' +DECLARE @appoDataGenerazioneTrimPrecX2Da varchar(8) +SET @appoDataGenerazioneTrimPrecA = '20180101' +--SET @appoDataGenerazioneTrimPrecA = '20171001' +--SET @appoDataGenerazioneTrimPrecA = '20170701' +--SET @appoDataGenerazioneTrimPrecA = '20170401' +--SET @appoDataGenerazioneTrimPrecA = '20170101' +--SET @appoDataGenerazioneTrimPrecA = '20161001' +--SET @appoDataGenerazioneTrimPrecA = '20160701' +--SET @appoDataGenerazioneTrimPrecA = '20160401' +--SET @appoDataGenerazioneTrimPrecA = '20160101' +--SET @appoDataGenerazioneTrimPrecX2Da = '20151001' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150701' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150401' +DECLARE @appoDataGenerazioneTrimPrecX2A varchar(8) +SET @appoDataGenerazioneTrimPrecX2A = '20180131' +--SET @appoDataGenerazioneTrimPrecX2A = '20171031' +--SET @appoDataGenerazioneTrimPrecX2A = '20170731' +--SET @appoDataGenerazioneTrimPrecX2A = '20170430' +--SET @appoDataGenerazioneTrimPrecX2A = '20170131' +--SET @appoDataGenerazioneTrimPrecX2A = '20161031' +--SET @appoDataGenerazioneTrimPrecX2A = '20160731' +--SET @appoDataGenerazioneTrimPrecX2A = '20160430' +--SET @appoDataGenerazioneTrimPrecX2A = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perché in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecX2A = '20151031' +--SET @appoDataGenerazioneTrimPrecX2A = '20150731' +--SET @appoDataGenerazioneTrimPrecX2A = '20150430' +TRUNCATE TABLE C6MARTPERIODICO.SELEZIONECAMPIONE +--select * into c6martperiodico.appo_selezione_campione from C6MARTPERIODICO.SELEZIONECAMPIONE +--0 tutta la popolazione +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +select distinct bf.cod_fiscale, bf.rete +from +C6MartPeriodico.rp_vcontrattipergenerazionereport bf +) bf +--1 UNA MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'UNA MACRO ASSET ' AS DESCRIZIONE, +1 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 1 "ASSET CLASS" anzichè 1 "MACRO ASSET CLASS" +--select distinct bf.cod_fiscale, bf.rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=1 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=1 +) bf +--2 TUTTE LE MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'TUTTE LE MACRO ASSET ' AS DESCRIZIONE, +0 AS c1, +1 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 7 "ASSET CLASS" anzichè 7 "MACRO ASSET CLASS" +--select distinct cod_fiscale, rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=7 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=7 +) bf +--3 TUTTE LE AREE SONO MONITORATE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis as cod_fiscale, +'TUTTE LE AREE SONO MONITORATE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +1 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, count(distinct codarea) c +from C6StagingPeriodico.TANAB +where dtfine='99991231' +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=4 +)bf +--4 SENZA PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'SENZA PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +1 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +--5 RISCHIO CREDITO NA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO N.A. ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +1 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk is null +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 6 CLASSE DI RISCHIO CREDITO > 3 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO > 3 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +1 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>3 +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 7 PRODOTTO SENZA RENDIMENTO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PRODOTTO SENZA RENDIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +1 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as cod_fiscale +from C6StagingPeriodico.TSCABP +) bf +-- 8 piu trimestrali +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PIU TRIMESTRALI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +1 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, codicefiscale AS COD_FISCALE, count(*)N +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where tiporeport='M' +and dataGenerazione > @appoDataGenerazioneTrimPrecX2Da +group by rete, codicefiscale +having count(*)>1 +) bf +-- 9 PATRIMONIO TERZI SU PIU' INTERMEDIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI SU PIU'' INTERMEDIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +1 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, count(distinct a.intermediario) M +from C6MartPeriodico.PATRIMONIO_TERZI a +group by a.rete, a.cod_fiscale +having count(distinct a.intermediario)>1 +) bf +-- 10 PERSONE GIURIDICHE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PERSONE GIURIDICHE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +1 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where len(cod_fiscale)=11 +) bf +-- 11 PB TERMINATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PB TERMINATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +1 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct bf.rete, bf.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_BF bf, C6Mart.CONTRATTOSEI c6,C6Stagingperiodico.ADS4WS_PROMOTORI pr +--where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +--and c6.cod_agente=pr.codice and pr.rete=c6.rete +--and stato= 'T' +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6,C6Stagingperiodico.RP_anagrafica_promotori pr +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and c6.cod_agente=pr.codage and pr.rete=c6.rete +and stato= 'T' +) bf +-- 12 PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +1 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_TERZI a +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +-- 13 PATR NON RAPPR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR NON RAPPR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +1 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale +from C6MartPeriodico.vPatrimonioNonRappresentabileAsset +) bf +-- 14 PATR IMMOBILIARE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +1 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, sum(a.VALORE_STIMATO) M +from C6MartPeriodico.PATRIMONIO_IMMOBILIARE a +group by a.rete, a.cod_fiscale +) bf +-- 15 PARTITE VIAGGIANTI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +1 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PARTITE_VIAGGIANTI) bf +--16 NON MONITORATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON MONITORATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +1 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.patrimonio_bf bf +where bf.rete + bf.cod_fiscale not in ( select distinct rete + case when len(codfis) =4 then 'FF@'+codfis else codfis end from C6StagingPeriodico.TANAB where dtfine='99991231') +) bf +-- 17 NO PATR IMMOB +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +1 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf +where cod_fiscale + rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.patrimonio_immobiliare) +) bf +-- 18 MON SU UNA SOLA AREA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON SU UNA SOLA AREA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +1 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +(select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE, count(distinct codarea) H +from C6StagingPeriodico.TANAB +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=1 +) bf +-- 19 MON DA PIU DI 12 MESI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON DA PIU DI 12 MESI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +1 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_FISCALE +from C6StagingPeriodico.TANAB +--where ('20101201'-dtrif)/30>12 +where dtrif < convert(varchar(8), DATEADD(year, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112) +) bf +-- 20 MON APPENA AVVIATO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON APPENA AVVIATO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +1 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE +from C6StagingPeriodico.TANAB +--where '20101201'-GETDATE()<1 +where (dtrif > convert(varchar(8), DATEADD(day, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112)) +) bf +-- 21 MANDATI FIDUCIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MANDATI FIDUCIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +1 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where cod_fiscale like 'FF@%' +) bf +-- 22 INADEGUATI VAR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI VAR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +1 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.var_perc_ptf>cod.max_var +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 23 INADEGUATI CRISK +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI CRISK ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +1 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_CREDITRISK cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>mifid.profilo_ass +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 24 INADEGUATI COMPLESSITA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI COMPLESSITA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +1 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +-- EN2060408: begin - adapted to new feature "Adeguatezza" comnplexity / concentration +--select distinct a.rete, a.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_BF a, C6MartPeriodico.MIFID mifid +--where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +--and mifid.experience<(select max(complex) from C6MartPeriodico.PATRIMONIO_BF where rete=mifid.rete and cod_fiscale=mifid.cod_fiscale) +SELECT top 500 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'S' and [ancmpl].[FLGCONC] = 'S') +order by dttrim desc + UNION +SELECT top 200 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'N' and [ancmpl].[FLGCONC] = 'S') +order by dttrim desc + UNION +SELECT top 20 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'S' and [ancmpl].[FLGCONC] = 'N') +order by dttrim desc + UNION +SELECT top 20 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'N' and [ancmpl].[FLGCONC] = 'N') +order by dttrim desc +) bf +-- EN2060408: end +-- 25 DIVERSIFICAZIONE < 30 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'DIVERSIFICAZIONE < 30 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +1 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, beneficio +from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='COMPLESSIVO' +and beneficio<30 +) bf +-- 26 CC NEG E POS +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEG E POS ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +1 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) bf +-- 27 CC NEG +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEGATIVO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +1 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, sum(saldocontabile) M +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)<0 +) bf +where rete+cod_fiscale not in +( +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) +-- 28 REND NON RAPPR COME UNICA POSIZIONE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'REND NON RAPPR COME UNICA POSIZIONE IN AREA MONIT' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +1 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +SELECT +DISTINCT T.RETE, T.COD_FISCALE FROM +( +SELECT +RETE, COD_FISCALE , ID_AREA, SUM(CASE WHEN REND_NON_RAPPR =1 THEN 0 ELSE 1 END) TOT +FROM +C6MARTPERIODICO +.PATRIMONIO_BF B +GROUP +BY +RETE +, COD_FISCALE, ID_AREA +) +T, +( +SELECT +RETE, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, CASE WHEN CODAREA ='EXR' THEN 'EXT'ELSE CODAREA END AS CODAREA FROM +C6STAGINGPERIODICO +.TANAB +WHERE +DTFINE = 99991231 +) +B +WHERE +T +.RETE=B.RETE AND B.CODFIS=T.COD_FISCALE +AND +ID_AREA=CODAREA +AND +TOT=0 +) bf +-- 29 PREVIDENZA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PREVIDENZA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +1 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where id_area like '%Pre%' +) bf +--30 RESTART CONTRATTOSEI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RESTART CONTRATTOSEI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +1 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, codicefiscale as cod_fiscale +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where datagenerazione between @appoDataGenerazioneTrimPrecX2Da and @appoDataGenerazioneTrimPrecX2A +except +select distinct p.rete,p.codicefiscale + from C6StoricoPeriodico.GESTIONE_PDF_FTP p + inner join c6martperiodico.patrimonio_bf b + on p.rete=b.rete and p.codicefiscale =b.cod_fiscale + where datagenerazione between @appoDataGenerazioneTrimPrecDa and @appoDataGenerazioneTrimPrecA +--select distinct rete, codicefiscale as cod_fiscale +--from appoGESTIONE_PDF_FTP +--where datagenerazione between '20111001' and '20111031' +--and rete + codicefiscale not in (select distinct rete + codicefiscale +-- from appoGESTIONE_PDF_FTP +-- where datagenerazione between '20120101' and '20120131') +--and rete + codicefiscale in (select distinct rete + cod_fiscale +-- from c6martperiodico.patrimonio_bf) +) bf +--31 INDIRIZZO CONTRATTO ESTERO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INDIRIZZO CONTRATTO ESTERO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +1 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6 +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and nazione<> 'italia' +) bf +--32 CC>10000 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC>10000 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +1 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)>10000 +) bf +--33 COPERTURA INFERIORE A 100 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'COPERTURA INFERIORE A 100 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +1 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale + from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='complessivo' +and copertura<100 +) bf +--34 evoluzione controvalore > 30% +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'EVOLUZIONE CONTROVALORE > 30% ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +1 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct corrente.rete, corrente.cod_fiscale +from +(select b.rete, b.cod_fiscale, sum(controvalore) ctv +from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 a +inner join C6StagingPeriodico.appo_contratti b +on a.chiaveClientePB=b.chiaveClientePB +group by b.rete, b.cod_fiscale) scorsa, +(select rete, cod_fiscale, sum(ctv) ctv +from c6martperiodico.patrimonio_bf +group by rete, cod_fiscale) corrente +where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +and (case when scorsa.ctv>corrente.ctv + then (scorsa.ctv-abs(corrente.ctv)) + else (corrente.ctv-abs(scorsa.ctv)) + end) + > + (case when scorsa.ctv>corrente.ctv + then (0.30*corrente.ctv) + else (0.30*scorsa.ctv) + end) +--select distinct corrente.rete, corrente.cod_fiscale +--from +--(select rete, cod_fiscale, sum(controvalore) ctv +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--group by rete, cod_fiscale) scorsa, +--(select rete, cod_fiscale, sum(ctv) ctv +--from c6martperiodico.patrimonio_bf +--group by rete, cod_fiscale) corrente +--where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +--and (0.33*scorsa.ctv>corrente.ctv or 0.33*scorsa.ctv0 +--select distinct rete, cod_fiscale +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--where investimentiincorso>0 +) bf +--36 Monitoraggio con cedole/dividendi +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MONITORAGGIO CON CEDOLE/DIVIDENDI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +1 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.MONITORAGGIO_ATTUALE +where CEDOLE_DIVIDENDI>0 +) bf +-- 37 PARTITE VIAGGIANTI DI DISINVESTIMENTO - 19/1/2016 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI DI DISINVESTIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +1 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from C6MartPeriodico.patrimonio_bf a +inner join [C6StampeCentralizzate].[C6MartPeriodico].[TB_Campione] b +on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where (partvia_disinv <> 0.000 and partvia_disinv is not null) +) bf +--CRITERIO ELIMINATO IN QUANTO DUPLICATO DEL CRITERIO 31 +--38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +--select +--bf.rete, +--bf.cod_fiscale, +--'Indirizzo Estero' AS DESCRIZIONE, +--0 AS c1, +--0 AS c2, +--0 AS c3, +--0 AS c4, +--0 AS c5, +--0 AS c6, +--0 AS c7, +--0 AS c8, +--0 AS c9, +--0 AS c10, +--0 AS c11, +--0 AS c12, +--0 AS c13, +--0 AS c14, +--0 AS c15, +--0 AS c16, +--0 AS c17, +--0 AS c18, +--0 AS c19, +--0 AS c20, +--0 AS c21, +--0 AS c22, +--0 AS c23, +--0 AS c24, +--0 AS c25, +--0 AS c26, +--0 AS c27, +--0 AS c28, +--0 AS c29, +--0 AS c30, +--0 AS c31, +--0 AS c32, +--0 AS c33, +--0 AS c34, +--0 AS c35, +--0 AS c36, +--0 AS c37, +--1 AS c38, +--0 AS c39, +--0 AS c40, +--0 AS c41, +--0 AS c42, +--0 AS c43, +--0 AS c44, +--0 AS c45, +--0 AS c46, +--0 AS c47, +--0 AS c48, +--0 AS c49, +--0 AS c50, +--0 AS c51, +--0 AS c52, +--0 AS c53, +--0 AS c54, +--0 AS c55, +--0 AS c56, +--0 AS c57, +--0 AS c58 +--FROM +--( +--select distinct rete, cod_fiscale +--from c6martperiodico.contrattosei +--where nazione <> 'italia' +--) bf +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'S', +--'RSSRNZ49E14A479S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'CSCGPP34A03L050L', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNERSR61L08C351V', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'BGLPRD65E10Z130S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNZNLS71M48C814J', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--------------------- +--c39 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C39 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +1 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +where data_foto >= @appoDataInizioTrimestre +) bf +--c40 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C40 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +1 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is not null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is not null +) bf +--41 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C41 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +1 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is null +) bf +--c42 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C42 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +1 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is null +) bf +--c43 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C43 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +1 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is not null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is not null +) bf +--C44 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'F' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +1 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +inner join c6stagingperiodico.st_mon +on a.cod_fiscale = codfis +and a.rete = st_mon.rete +where data_foto > '20111001' +) bf +--C45 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'G' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +1 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto < '20111001' +) bf +--C46 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'H' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +1 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto > '20111001' +) bf +--C47 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'I' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +1 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and dttrim = @appoDataFineTrimestre +and data_foto > '20111001' +) bf +--C48 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'J' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +1 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +/* +(select * from c6stagingperiodico.wseics where dttrim = '20111231') a +inner join +(select * from c6stagingperiodico.wseics where dttrim = '20120331') b +on a.rete = b.rete +and a.codfis = b.codfis +inner join c6martperiodico.monitoraggio_iniziale c +on b.codfis = c.cod_fiscale +and b.rete = c.rete +where +a.codprod not in ('37', 'GP') +and +b.codprod in ('37', 'GP') +and c.data_foto > '20111001' +*/ +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001' +) bf +--C49 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'K' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +1 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +--inner join c6stagingperiodico.wseics b +--on b.codfis = b.codfis +--and a.rete = b.rete +--where a.codprod not in ('37', 'GP') +----Se fase di Simulazione: +---- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +----and a.dttrim = '20131130' +----Se fase di Trimestrale: +---- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +--and a.dttrim = @appoDataFineTrimestre +--and b.codprod in ('37', 'GP') +----and b.dttrim = '20111231' -- b.dttrim = dt fine trimestre precedente +--and b.dttrim = @appoDataFineTrimPrec +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001' +) bf +--nuovi----------------------------------------------------------- +--C50 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti OLD' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +1 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 0 +) bf +--C51 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Affluent' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +1 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 1 +) bf +--C52 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Private' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +1 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 2 +) bf +--C53 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Bonus' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +1 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.bonus bon +on vc.rete = bon.rete +and vc.cod_fiscale = bon.cod_fiscale +) bf +--C54 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Scadenze' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +1 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.scadenze sca +on vc.rete = sca.rete +and vc.cod_fiscale = sca.cod_fiscale +) bf +--C55 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Proventi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +1 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.proventi pro +on vc.rete = pro.rete +and vc.cod_fiscale = pro.cod_fiscale +) bf +--C56 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Monitoraggio avviato Trimestre precedente' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +1 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +--where data_foto > C6MartPeriodico.getPreviousTrimestre(getdate(), 1) +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +) bf +--C57 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +1 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where isnull(data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) +where isnull(data_foto,getDate()) between @appoDataInizioTrimestre and @appoDataFineTrimestre +) bf +--C58 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +1 AS c58 +FROM +( +--select distinct b.rete, b.cod_fiscale as codfis +--from c6martperiodico.monitoraggio_report a +--right join C6MartPeriodico.rp_vcontrattipergenerazionereport b +--on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete is null +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_iniziale +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +except +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_report +) bf +--------------------- +--drop table C6MARTPERIODICO.SELEZIONECAMPIONE2 +truncate table C6MARTPERIODICO.SELEZIONECAMPIONE2 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +select +v.rete, +v.cod_fiscale, +sum( C1 ) as C1, +sum( C2 ) as C2, +sum( C3 ) as C3, +sum( C4 ) as C4, +sum( C5 ) as C5, +sum( C6 ) as C6, +sum( C7 ) as C7, +sum( C8 ) as C8, +sum( C9 ) as C9, +sum( C10 ) as C10, +sum( C11) as C11, +sum( C12 ) as C12, +sum( C13 ) as C13, +sum( C14 ) as C14, +sum( C15 ) as C15, +sum( C16 ) as C16, +sum( C17 ) as C17, +sum( C18 ) as C18, +sum( C19 ) as C19, +sum( C20 ) as C20, +sum( C21 ) as C21, +sum( C22 ) as C22, +sum( C23) as C23, +sum( C24 ) as C24, +sum( C25 ) as C25, +sum( C26) as C26, +sum( C27 ) as C27, +sum( C28) as C28, +sum( C29 ) as C29, +sum( C30 ) as C30, +sum(C31) AS C31, +SUM(C32) AS C32, +SUM(C33) AS C33, +SUM(C34) AS C34, +SUM(C35) AS C35, +SUM(C36) AS C36, +SUM(C37) AS C37, +SUM(C38) AS C38, +SUM(C39) AS C39, +SUM(C40) AS C40, +SUM(C41) AS C41, +SUM(C42) AS C42, +SUM(C43) AS C43, +SUM(C44) AS C44, +SUM(C45) AS C45, +SUM(C46) AS C46, +SUM(C47) AS C47, +SUM(C48) AS C48, +SUM(C49) AS C49, +SUM(C50) AS C50, +SUM(C51) AS C51, +SUM(C52) AS C52, +SUM(C53) AS C53, +SUM(C54) AS C54, +SUM(C55) AS C55, +SUM(C56) AS C56, +SUM(C57) AS C57, +SUM(C58) AS C58 +--INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +FROM +C6MARTPERIODICO.SELEZIONECAMPIONE sc join C6MartPeriodico.rp_vcontrattipergenerazionereport v +on sc.rete=v.rete and sc.cod_fiscale=v.cod_fiscale +group by +v.rete, +v.cod_fiscale +END +--SELECT * FROM C6MARTPERIODICO.SELEZIONECAMPIONE2 \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20190116_PreNewFunction.sql b/sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20190116_PreNewFunction.sql new file mode 100644 index 00000000..c78abc34 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20190116_PreNewFunction.sql @@ -0,0 +1,4978 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20190116_PreNewFunction] +AS +BEGIN +--procedura di caricamento campione +DECLARE @appoDataInizioTrimestre varchar(8) +SET @appoDataInizioTrimestre = '20190101' +--SET @appoDataInizioTrimestre = '20181001' +--SET @appoDataInizioTrimestre = '20180701' +--SET @appoDataInizioTrimestre = '20180401' +--SET @appoDataInizioTrimestre = '20180101' +--SET @appoDataInizioTrimestre = '20171001' +--SET @appoDataInizioTrimestre = '20170701' +--SET @appoDataInizioTrimestre = '20170401' +--SET @appoDataInizioTrimestre = '20170101' +--SET @appoDataInizioTrimestre = '20161001' +--SET @appoDataInizioTrimestre = '20160701' +--SET @appoDataInizioTrimestre = '20160401' +--SET @appoDataInizioTrimestre = '20160101' +--SET @appoDataInizioTrimestre = '20151001' +--SET @appoDataInizioTrimestre = '20150701' +DECLARE @appoDataFineTrimestre varchar(8) +SET @appoDataFineTrimestre = '20181231' +--SET @appoDataFineTrimestre = '20180930' +--SET @appoDataFineTrimestre = '20180630' +--SET @appoDataFineTrimestre = '20180331' +--SET @appoDataFineTrimestre = '20171231' +--SET @appoDataFineTrimestre = '20170930' +--SET @appoDataFineTrimestre = '20170630' +--SET @appoDataFineTrimestre = '20170331' +--SET @appoDataFineTrimestre = '20161231' +--SET @appoDataFineTrimestre = '20160930' +--SET @appoDataFineTrimestre = '20160630' +--SET @appoDataFineTrimestre = '20160331' +--SET @appoDataFineTrimestre = '20151231' +--SET @appoDataFineTrimestre = '20150930' +DECLARE @appoDataInizioTrimPrec varchar(8) +SET @appoDataInizioTrimPrec = '20181001' +--SET @appoDataInizioTrimPrec = '20180701' +--SET @appoDataInizioTrimPrec = '20180401' +--SET @appoDataInizioTrimPrec = '20180101' +--SET @appoDataInizioTrimPrec = '20171001' +--SET @appoDataInizioTrimPrec = '20170701' +--SET @appoDataInizioTrimPrec = '20170401' +--SET @appoDataInizioTrimPrec = '20170101' +--SET @appoDataInizioTrimPrec = '20161001' +--SET @appoDataInizioTrimPrec = '20160701' +--SET @appoDataInizioTrimPrec = '20160401' +--SET @appoDataInizioTrimPrec = '20160101' +--SET @appoDataInizioTrimPrec = '20151001' +--SET @appoDataInizioTrimPrec = '20150701' +--SET @appoDataInizioTrimPrec = '20150401' +DECLARE @appoDataFineTrimPrec varchar(8) +SET @appoDataFineTrimPrec = '20180930' +--SET @appoDataFineTrimPrec = '20180630' +--SET @appoDataFineTrimPrec = '20180331' +--SET @appoDataFineTrimPrec = '20171231' +--SET @appoDataFineTrimPrec = '20170930' +--SET @appoDataFineTrimPrec = '20170630' +--SET @appoDataFineTrimPrec = '20170331' +--SET @appoDataFineTrimPrec = '20161231' +--SET @appoDataFineTrimPrec = '20160930' +--SET @appoDataFineTrimPrec = '20160630' +--SET @appoDataFineTrimPrec = '20160331' +--SET @appoDataFineTrimPrec = '20151231' +--SET @appoDataFineTrimPrec = '20150930' +--SET @appoDataFineTrimPrec = '20150630' +-- QUI VA SPECIFICATO IL PERIODO DI EFFETTIVA GENERAZIONE DEI REPORT CHE, IN GENERE, E' IL MESE SUCCESSIVO +-- A QUELLO DI FINE TRIMESTRE +DECLARE @appoDataGenerazioneTrimPrecDa varchar(8) +SET @appoDataGenerazioneTrimPrecDa = '20181001' +--SET @appoDataGenerazioneTrimPrecDa = '20180701' +--SET @appoDataGenerazioneTrimPrecDa = '20180401' +--SET @appoDataGenerazioneTrimPrecDa = '20180101' +--SET @appoDataGenerazioneTrimPrecDa = '20171001' +--SET @appoDataGenerazioneTrimPrecDa = '20170701' +--SET @appoDataGenerazioneTrimPrecDa = '20170401' +--SET @appoDataGenerazioneTrimPrecDa = '20170101' +--SET @appoDataGenerazioneTrimPrecDa = '20161001' +--SET @appoDataGenerazioneTrimPrecDa = '20160701' +--SET @appoDataGenerazioneTrimPrecDa = '20160401' +--SET @appoDataGenerazioneTrimPrecDa = '20160101' +--SET @appoDataGenerazioneTrimPrecDa = '20151001' +--SET @appoDataGenerazioneTrimPrecDa = '20150701' +DECLARE @appoDataGenerazioneTrimPrecA varchar(8) +SET @appoDataGenerazioneTrimPrecA = '20181031' +--SET @appoDataGenerazioneTrimPrecA = '20180731' +--SET @appoDataGenerazioneTrimPrecA = '20180430' +--SET @appoDataGenerazioneTrimPrecA = '20180131' +--SET @appoDataGenerazioneTrimPrecA = '20171031' +--SET @appoDataGenerazioneTrimPrecA = '20170731' +--SET @appoDataGenerazioneTrimPrecA = '20170430' +--SET @appoDataGenerazioneTrimPrecA = '20170131' +--SET @appoDataGenerazioneTrimPrecA = '20161031' +--SET @appoDataGenerazioneTrimPrecA = '20160731' +--SET @appoDataGenerazioneTrimPrecA = '20160430' +--SET @appoDataGenerazioneTrimPrecA = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perché in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecA = '20151031' +--SET @appoDataGenerazioneTrimPrecA = '20150731' +DECLARE @appoDataGenerazioneTrimPrecX2Da varchar(8) +SET @appoDataGenerazioneTrimPrecA = '20180701' +--SET @appoDataGenerazioneTrimPrecA = '20180401' +--SET @appoDataGenerazioneTrimPrecA = '20180101' +--SET @appoDataGenerazioneTrimPrecA = '20171001' +--SET @appoDataGenerazioneTrimPrecA = '20170701' +--SET @appoDataGenerazioneTrimPrecA = '20170401' +--SET @appoDataGenerazioneTrimPrecA = '20170101' +--SET @appoDataGenerazioneTrimPrecA = '20161001' +--SET @appoDataGenerazioneTrimPrecA = '20160701' +--SET @appoDataGenerazioneTrimPrecA = '20160401' +--SET @appoDataGenerazioneTrimPrecA = '20160101' +--SET @appoDataGenerazioneTrimPrecX2Da = '20151001' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150701' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150401' +DECLARE @appoDataGenerazioneTrimPrecX2A varchar(8) +SET @appoDataGenerazioneTrimPrecX2A = '20180731' +--SET @appoDataGenerazioneTrimPrecX2A = '20180430' +--SET @appoDataGenerazioneTrimPrecX2A = '20180131' +--SET @appoDataGenerazioneTrimPrecX2A = '20171031' +--SET @appoDataGenerazioneTrimPrecX2A = '20170731' +--SET @appoDataGenerazioneTrimPrecX2A = '20170430' +--SET @appoDataGenerazioneTrimPrecX2A = '20170131' +--SET @appoDataGenerazioneTrimPrecX2A = '20161031' +--SET @appoDataGenerazioneTrimPrecX2A = '20160731' +--SET @appoDataGenerazioneTrimPrecX2A = '20160430' +--SET @appoDataGenerazioneTrimPrecX2A = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perché in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecX2A = '20151031' +--SET @appoDataGenerazioneTrimPrecX2A = '20150731' +--SET @appoDataGenerazioneTrimPrecX2A = '20150430' +TRUNCATE TABLE C6MARTPERIODICO.SELEZIONECAMPIONE +--select * into c6martperiodico.appo_selezione_campione from C6MARTPERIODICO.SELEZIONECAMPIONE +--0 tutta la popolazione +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +select distinct bf.cod_fiscale, bf.rete +from +C6MartPeriodico.rp_vcontrattipergenerazionereport bf +) bf +--1 UNA MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'UNA MACRO ASSET ' AS DESCRIZIONE, +1 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 1 "ASSET CLASS" anzichè 1 "MACRO ASSET CLASS" +--select distinct bf.cod_fiscale, bf.rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=1 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=1 +) bf +--2 TUTTE LE MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'TUTTE LE MACRO ASSET ' AS DESCRIZIONE, +0 AS c1, +1 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 7 "ASSET CLASS" anzichè 7 "MACRO ASSET CLASS" +--select distinct cod_fiscale, rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=7 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=7 +) bf +--3 TUTTE LE AREE SONO MONITORATE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis as cod_fiscale, +'TUTTE LE AREE SONO MONITORATE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +1 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, count(distinct codarea) c +from C6StagingPeriodico.TANAB +where dtfine='99991231' +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=4 +)bf +--4 SENZA PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'SENZA PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +1 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +--5 RISCHIO CREDITO NA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO N.A. ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +1 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk is null +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 6 CLASSE DI RISCHIO CREDITO > 3 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO > 3 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +1 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>3 +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 7 PRODOTTO SENZA RENDIMENTO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PRODOTTO SENZA RENDIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +1 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as cod_fiscale +from C6StagingPeriodico.TSCABP +) bf +-- 8 piu trimestrali +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PIU TRIMESTRALI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +1 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, codicefiscale AS COD_FISCALE, count(*)N +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where tiporeport='M' +and dataGenerazione > @appoDataGenerazioneTrimPrecX2Da +group by rete, codicefiscale +having count(*)>1 +) bf +-- 9 PATRIMONIO TERZI SU PIU' INTERMEDIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI SU PIU'' INTERMEDIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +1 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, count(distinct a.intermediario) M +from C6MartPeriodico.PATRIMONIO_TERZI a +group by a.rete, a.cod_fiscale +having count(distinct a.intermediario)>1 +) bf +-- 10 PERSONE GIURIDICHE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PERSONE GIURIDICHE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +1 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where len(cod_fiscale)=11 +) bf +-- 11 PB TERMINATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PB TERMINATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +1 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct bf.rete, bf.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_BF bf, C6Mart.CONTRATTOSEI c6,C6Stagingperiodico.ADS4WS_PROMOTORI pr +--where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +--and c6.cod_agente=pr.codice and pr.rete=c6.rete +--and stato= 'T' +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6,C6Stagingperiodico.RP_anagrafica_promotori pr +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and c6.cod_agente=pr.codage and pr.rete=c6.rete +and stato= 'T' +) bf +-- 12 PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +1 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_TERZI a +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +-- 13 PATR NON RAPPR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR NON RAPPR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +1 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale +from C6MartPeriodico.vPatrimonioNonRappresentabileAsset +) bf +-- 14 PATR IMMOBILIARE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +1 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, sum(a.VALORE_STIMATO) M +from C6MartPeriodico.PATRIMONIO_IMMOBILIARE a +group by a.rete, a.cod_fiscale +) bf +-- 15 PARTITE VIAGGIANTI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +1 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PARTITE_VIAGGIANTI) bf +--16 NON MONITORATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON MONITORATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +1 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.patrimonio_bf bf +where bf.rete + bf.cod_fiscale not in ( select distinct rete + case when len(codfis) =4 then 'FF@'+codfis else codfis end from C6StagingPeriodico.TANAB where dtfine='99991231') +) bf +-- 17 NO PATR IMMOB +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +1 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf +where cod_fiscale + rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.patrimonio_immobiliare) +) bf +-- 18 MON SU UNA SOLA AREA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON SU UNA SOLA AREA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +1 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +(select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE, count(distinct codarea) H +from C6StagingPeriodico.TANAB +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=1 +) bf +-- 19 MON DA PIU DI 12 MESI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON DA PIU DI 12 MESI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +1 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_FISCALE +from C6StagingPeriodico.TANAB +--where ('20101201'-dtrif)/30>12 +where dtrif < convert(varchar(8), DATEADD(year, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112) +) bf +-- 20 MON APPENA AVVIATO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON APPENA AVVIATO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +1 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE +from C6StagingPeriodico.TANAB +--where '20101201'-GETDATE()<1 +where (dtrif > convert(varchar(8), DATEADD(day, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112)) +) bf +-- 21 MANDATI FIDUCIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MANDATI FIDUCIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +1 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where cod_fiscale like 'FF@%' +) bf +-- 22 INADEGUATI VAR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI VAR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +1 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.var_perc_ptf>cod.max_var +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 23 INADEGUATI CRISK +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI CRISK ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +1 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_CREDITRISK cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>mifid.profilo_ass +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 24 INADEGUATI COMPLESSITA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI COMPLESSITA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +1 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +-- EN2060408: begin - adapted to new feature "Adeguatezza" comnplexity / concentration +--select distinct a.rete, a.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_BF a, C6MartPeriodico.MIFID mifid +--where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +--and mifid.experience<(select max(complex) from C6MartPeriodico.PATRIMONIO_BF where rete=mifid.rete and cod_fiscale=mifid.cod_fiscale) +SELECT top 500 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'S' and [ancmpl].[FLGCONC] = 'S') +order by dttrim desc + UNION +SELECT top 200 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'N' and [ancmpl].[FLGCONC] = 'S') +order by dttrim desc + UNION +SELECT top 20 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'S' and [ancmpl].[FLGCONC] = 'N') +order by dttrim desc + UNION +SELECT top 20 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'N' and [ancmpl].[FLGCONC] = 'N') +order by dttrim desc +) bf +-- EN2060408: end +-- 25 DIVERSIFICAZIONE < 30 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'DIVERSIFICAZIONE < 30 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +1 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, beneficio +from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='COMPLESSIVO' +and beneficio<30 +) bf +-- 26 CC NEG E POS +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEG E POS ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +1 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) bf +-- 27 CC NEG +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEGATIVO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +1 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, sum(saldocontabile) M +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)<0 +) bf +where rete+cod_fiscale not in +( +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) +-- 28 REND NON RAPPR COME UNICA POSIZIONE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'REND NON RAPPR COME UNICA POSIZIONE IN AREA MONIT' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +1 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +SELECT +DISTINCT T.RETE, T.COD_FISCALE FROM +( +SELECT +RETE, COD_FISCALE , ID_AREA, SUM(CASE WHEN REND_NON_RAPPR =1 THEN 0 ELSE 1 END) TOT +FROM +C6MARTPERIODICO +.PATRIMONIO_BF B +GROUP +BY +RETE +, COD_FISCALE, ID_AREA +) +T, +( +SELECT +RETE, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, CASE WHEN CODAREA ='EXR' THEN 'EXT'ELSE CODAREA END AS CODAREA FROM +C6STAGINGPERIODICO +.TANAB +WHERE +DTFINE = 99991231 +) +B +WHERE +T +.RETE=B.RETE AND B.CODFIS=T.COD_FISCALE +AND +ID_AREA=CODAREA +AND +TOT=0 +) bf +-- 29 PREVIDENZA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PREVIDENZA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +1 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where id_area like '%Pre%' +) bf +--30 RESTART CONTRATTOSEI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RESTART CONTRATTOSEI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +1 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, codicefiscale as cod_fiscale +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where datagenerazione between @appoDataGenerazioneTrimPrecX2Da and @appoDataGenerazioneTrimPrecX2A +except +select distinct p.rete,p.codicefiscale + from C6StoricoPeriodico.GESTIONE_PDF_FTP p + inner join c6martperiodico.patrimonio_bf b + on p.rete=b.rete and p.codicefiscale =b.cod_fiscale + where datagenerazione between @appoDataGenerazioneTrimPrecDa and @appoDataGenerazioneTrimPrecA +--select distinct rete, codicefiscale as cod_fiscale +--from appoGESTIONE_PDF_FTP +--where datagenerazione between '20111001' and '20111031' +--and rete + codicefiscale not in (select distinct rete + codicefiscale +-- from appoGESTIONE_PDF_FTP +-- where datagenerazione between '20120101' and '20120131') +--and rete + codicefiscale in (select distinct rete + cod_fiscale +-- from c6martperiodico.patrimonio_bf) +) bf +--31 INDIRIZZO CONTRATTO ESTERO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INDIRIZZO CONTRATTO ESTERO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +1 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6 +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and nazione<> 'italia' +) bf +--32 CC>10000 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC>10000 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +1 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)>10000 +) bf +--33 COPERTURA INFERIORE A 100 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'COPERTURA INFERIORE A 100 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +1 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale + from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='complessivo' +and copertura<100 +) bf +--34 evoluzione controvalore > 30% +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'EVOLUZIONE CONTROVALORE > 30% ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +1 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct corrente.rete, corrente.cod_fiscale +from +(select b.rete, b.cod_fiscale, sum(controvalore) ctv +from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 a +inner join C6StagingPeriodico.appo_contratti b +on a.chiaveClientePB=b.chiaveClientePB +group by b.rete, b.cod_fiscale) scorsa, +(select rete, cod_fiscale, sum(ctv) ctv +from c6martperiodico.patrimonio_bf +group by rete, cod_fiscale) corrente +where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +and (case when scorsa.ctv>corrente.ctv + then (scorsa.ctv-abs(corrente.ctv)) + else (corrente.ctv-abs(scorsa.ctv)) + end) + > + (case when scorsa.ctv>corrente.ctv + then (0.30*corrente.ctv) + else (0.30*scorsa.ctv) + end) +--select distinct corrente.rete, corrente.cod_fiscale +--from +--(select rete, cod_fiscale, sum(controvalore) ctv +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--group by rete, cod_fiscale) scorsa, +--(select rete, cod_fiscale, sum(ctv) ctv +--from c6martperiodico.patrimonio_bf +--group by rete, cod_fiscale) corrente +--where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +--and (0.33*scorsa.ctv>corrente.ctv or 0.33*scorsa.ctv0 +--select distinct rete, cod_fiscale +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--where investimentiincorso>0 +) bf +--36 Monitoraggio con cedole/dividendi +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MONITORAGGIO CON CEDOLE/DIVIDENDI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +1 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.MONITORAGGIO_ATTUALE +where CEDOLE_DIVIDENDI>0 +) bf +-- 37 PARTITE VIAGGIANTI DI DISINVESTIMENTO - 19/1/2016 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI DI DISINVESTIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +1 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from C6MartPeriodico.patrimonio_bf a +inner join [C6StampeCentralizzate].[C6MartPeriodico].[TB_Campione] b +on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where (partvia_disinv <> 0.000 and partvia_disinv is not null) +) bf +--CRITERIO ELIMINATO IN QUANTO DUPLICATO DEL CRITERIO 31 +--38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +--select +--bf.rete, +--bf.cod_fiscale, +--'Indirizzo Estero' AS DESCRIZIONE, +--0 AS c1, +--0 AS c2, +--0 AS c3, +--0 AS c4, +--0 AS c5, +--0 AS c6, +--0 AS c7, +--0 AS c8, +--0 AS c9, +--0 AS c10, +--0 AS c11, +--0 AS c12, +--0 AS c13, +--0 AS c14, +--0 AS c15, +--0 AS c16, +--0 AS c17, +--0 AS c18, +--0 AS c19, +--0 AS c20, +--0 AS c21, +--0 AS c22, +--0 AS c23, +--0 AS c24, +--0 AS c25, +--0 AS c26, +--0 AS c27, +--0 AS c28, +--0 AS c29, +--0 AS c30, +--0 AS c31, +--0 AS c32, +--0 AS c33, +--0 AS c34, +--0 AS c35, +--0 AS c36, +--0 AS c37, +--1 AS c38, +--0 AS c39, +--0 AS c40, +--0 AS c41, +--0 AS c42, +--0 AS c43, +--0 AS c44, +--0 AS c45, +--0 AS c46, +--0 AS c47, +--0 AS c48, +--0 AS c49, +--0 AS c50, +--0 AS c51, +--0 AS c52, +--0 AS c53, +--0 AS c54, +--0 AS c55, +--0 AS c56, +--0 AS c57, +--0 AS c58 +--FROM +--( +--select distinct rete, cod_fiscale +--from c6martperiodico.contrattosei +--where nazione <> 'italia' +--) bf +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'S', +--'RSSRNZ49E14A479S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'CSCGPP34A03L050L', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNERSR61L08C351V', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'BGLPRD65E10Z130S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNZNLS71M48C814J', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--------------------- +--c39 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C39 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +1 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +where data_foto >= @appoDataInizioTrimestre +) bf +--c40 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C40 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +1 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is not null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is not null +) bf +--41 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C41 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +1 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is null +) bf +--c42 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C42 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +1 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is null +) bf +--c43 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C43 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +1 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is not null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is not null +) bf +--C44 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'F' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +1 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +inner join c6stagingperiodico.st_mon +on a.cod_fiscale = codfis +and a.rete = st_mon.rete +where data_foto > '20111001' +) bf +--C45 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'G' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +1 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto < '20111001' +) bf +--C46 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'H' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +1 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto > '20111001' +) bf +--C47 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'I' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +1 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and dttrim = @appoDataFineTrimestre +and data_foto > '20111001' +) bf +--C48 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'J' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +1 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +/* +(select * from c6stagingperiodico.wseics where dttrim = '20111231') a +inner join +(select * from c6stagingperiodico.wseics where dttrim = '20120331') b +on a.rete = b.rete +and a.codfis = b.codfis +inner join c6martperiodico.monitoraggio_iniziale c +on b.codfis = c.cod_fiscale +and b.rete = c.rete +where +a.codprod not in ('37', 'GP') +and +b.codprod in ('37', 'GP') +and c.data_foto > '20111001' +*/ +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001' +) bf +--C49 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'K' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +1 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +--inner join c6stagingperiodico.wseics b +--on b.codfis = b.codfis +--and a.rete = b.rete +--where a.codprod not in ('37', 'GP') +----Se fase di Simulazione: +---- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +----and a.dttrim = '20131130' +----Se fase di Trimestrale: +---- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +--and a.dttrim = @appoDataFineTrimestre +--and b.codprod in ('37', 'GP') +----and b.dttrim = '20111231' -- b.dttrim = dt fine trimestre precedente +--and b.dttrim = @appoDataFineTrimPrec +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001' +) bf +--nuovi----------------------------------------------------------- +--C50 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti OLD' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +1 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 0 +) bf +--C51 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Affluent' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +1 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 1 +) bf +--C52 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Private' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +1 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 2 +) bf +--C53 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Bonus' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +1 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.bonus bon +on vc.rete = bon.rete +and vc.cod_fiscale = bon.cod_fiscale +) bf +--C54 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Scadenze' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +1 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.scadenze sca +on vc.rete = sca.rete +and vc.cod_fiscale = sca.cod_fiscale +) bf +--C55 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Proventi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +1 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.proventi pro +on vc.rete = pro.rete +and vc.cod_fiscale = pro.cod_fiscale +) bf +--C56 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Monitoraggio avviato Trimestre precedente' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +1 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +--where data_foto > C6MartPeriodico.getPreviousTrimestre(getdate(), 1) +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +) bf +--C57 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +1 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where isnull(data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) +where isnull(data_foto,getDate()) between @appoDataInizioTrimestre and @appoDataFineTrimestre +) bf +--C58 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +1 AS c58 +FROM +( +--select distinct b.rete, b.cod_fiscale as codfis +--from c6martperiodico.monitoraggio_report a +--right join C6MartPeriodico.rp_vcontrattipergenerazionereport b +--on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete is null +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_iniziale +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +except +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_report +) bf +--------------------- +--drop table C6MARTPERIODICO.SELEZIONECAMPIONE2 +truncate table C6MARTPERIODICO.SELEZIONECAMPIONE2 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +select +v.rete, +v.cod_fiscale, +sum( C1 ) as C1, +sum( C2 ) as C2, +sum( C3 ) as C3, +sum( C4 ) as C4, +sum( C5 ) as C5, +sum( C6 ) as C6, +sum( C7 ) as C7, +sum( C8 ) as C8, +sum( C9 ) as C9, +sum( C10 ) as C10, +sum( C11) as C11, +sum( C12 ) as C12, +sum( C13 ) as C13, +sum( C14 ) as C14, +sum( C15 ) as C15, +sum( C16 ) as C16, +sum( C17 ) as C17, +sum( C18 ) as C18, +sum( C19 ) as C19, +sum( C20 ) as C20, +sum( C21 ) as C21, +sum( C22 ) as C22, +sum( C23) as C23, +sum( C24 ) as C24, +sum( C25 ) as C25, +sum( C26) as C26, +sum( C27 ) as C27, +sum( C28) as C28, +sum( C29 ) as C29, +sum( C30 ) as C30, +sum(C31) AS C31, +SUM(C32) AS C32, +SUM(C33) AS C33, +SUM(C34) AS C34, +SUM(C35) AS C35, +SUM(C36) AS C36, +SUM(C37) AS C37, +SUM(C38) AS C38, +SUM(C39) AS C39, +SUM(C40) AS C40, +SUM(C41) AS C41, +SUM(C42) AS C42, +SUM(C43) AS C43, +SUM(C44) AS C44, +SUM(C45) AS C45, +SUM(C46) AS C46, +SUM(C47) AS C47, +SUM(C48) AS C48, +SUM(C49) AS C49, +SUM(C50) AS C50, +SUM(C51) AS C51, +SUM(C52) AS C52, +SUM(C53) AS C53, +SUM(C54) AS C54, +SUM(C55) AS C55, +SUM(C56) AS C56, +SUM(C57) AS C57, +SUM(C58) AS C58 +--INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +FROM +C6MARTPERIODICO.SELEZIONECAMPIONE sc join C6MartPeriodico.rp_vcontrattipergenerazionereport v +on sc.rete=v.rete and sc.cod_fiscale=v.cod_fiscale +--modifica del 10/7/2018 per non far includere quelli della blacklist (se ci sono) +where sc.rete+sc.cod_fiscale not in (select rete+codicefiscale from [C6StampeCentralizzate].[C6MartPeriodico].[ExcludedList]) +group by +v.rete, +v.cod_fiscale +END +--SELECT * FROM C6MARTPERIODICO.SELEZIONECAMPIONE2 \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20230915.sql b/sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20230915.sql new file mode 100644 index 00000000..b2aa2a5d --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20230915.sql @@ -0,0 +1,4986 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20230915] +AS +BEGIN +--procedura di caricamento campione +DECLARE @appoDataInizioTrimestre varchar(8) +SET @appoDataInizioTrimestre = [C6MartPeriodico].[getDateTrimestre](0, 0, 0) +--SET @appoDataInizioTrimestre = '20190101' +--SET @appoDataInizioTrimestre = '20181001' +--SET @appoDataInizioTrimestre = '20180701' +--SET @appoDataInizioTrimestre = '20180401' +--SET @appoDataInizioTrimestre = '20180101' +--SET @appoDataInizioTrimestre = '20171001' +--SET @appoDataInizioTrimestre = '20170701' +--SET @appoDataInizioTrimestre = '20170401' +--SET @appoDataInizioTrimestre = '20170101' +--SET @appoDataInizioTrimestre = '20161001' +--SET @appoDataInizioTrimestre = '20160701' +--SET @appoDataInizioTrimestre = '20160401' +--SET @appoDataInizioTrimestre = '20160101' +--SET @appoDataInizioTrimestre = '20151001' +--SET @appoDataInizioTrimestre = '20150701' +DECLARE @appoDataFineTrimestre varchar(8) +SET @appoDataFineTrimestre = [C6MartPeriodico].[getDateTrimestre](0, 1, 0) +--SET @appoDataFineTrimestre = '20181231' +--SET @appoDataFineTrimestre = '20180930' +--SET @appoDataFineTrimestre = '20180630' +--SET @appoDataFineTrimestre = '20180331' +--SET @appoDataFineTrimestre = '20171231' +--SET @appoDataFineTrimestre = '20170930' +--SET @appoDataFineTrimestre = '20170630' +--SET @appoDataFineTrimestre = '20170331' +--SET @appoDataFineTrimestre = '20161231' +--SET @appoDataFineTrimestre = '20160930' +--SET @appoDataFineTrimestre = '20160630' +--SET @appoDataFineTrimestre = '20160331' +--SET @appoDataFineTrimestre = '20151231' +--SET @appoDataFineTrimestre = '20150930' +DECLARE @appoDataInizioTrimPrec varchar(8) +SET @appoDataInizioTrimPrec = [C6MartPeriodico].[getDateTrimestre](1, 0, 0) +--SET @appoDataInizioTrimPrec = '20181001' +--SET @appoDataInizioTrimPrec = '20180701' +--SET @appoDataInizioTrimPrec = '20180401' +--SET @appoDataInizioTrimPrec = '20180101' +--SET @appoDataInizioTrimPrec = '20171001' +--SET @appoDataInizioTrimPrec = '20170701' +--SET @appoDataInizioTrimPrec = '20170401' +--SET @appoDataInizioTrimPrec = '20170101' +--SET @appoDataInizioTrimPrec = '20161001' +--SET @appoDataInizioTrimPrec = '20160701' +--SET @appoDataInizioTrimPrec = '20160401' +--SET @appoDataInizioTrimPrec = '20160101' +--SET @appoDataInizioTrimPrec = '20151001' +--SET @appoDataInizioTrimPrec = '20150701' +--SET @appoDataInizioTrimPrec = '20150401' +DECLARE @appoDataFineTrimPrec varchar(8) +SET @appoDataFineTrimPrec = [C6MartPeriodico].[getDateTrimestre](1, 1, 0) +--SET @appoDataFineTrimPrec = '20180930' +--SET @appoDataFineTrimPrec = '20180630' +--SET @appoDataFineTrimPrec = '20180331' +--SET @appoDataFineTrimPrec = '20171231' +--SET @appoDataFineTrimPrec = '20170930' +--SET @appoDataFineTrimPrec = '20170630' +--SET @appoDataFineTrimPrec = '20170331' +--SET @appoDataFineTrimPrec = '20161231' +--SET @appoDataFineTrimPrec = '20160930' +--SET @appoDataFineTrimPrec = '20160630' +--SET @appoDataFineTrimPrec = '20160331' +--SET @appoDataFineTrimPrec = '20151231' +--SET @appoDataFineTrimPrec = '20150930' +--SET @appoDataFineTrimPrec = '20150630' +-- QUI VA SPECIFICATO IL PERIODO DI EFFETTIVA GENERAZIONE DEI REPORT CHE, IN GENERE, E' IL MESE SUCCESSIVO +-- A QUELLO DI FINE TRIMESTRE +DECLARE @appoDataGenerazioneTrimPrecDa varchar(8) +SET @appoDataGenerazioneTrimPrecDa = [C6MartPeriodico].[getDateTrimestre](1, 0, 0) +--SET @appoDataGenerazioneTrimPrecDa = '20181001' +--SET @appoDataGenerazioneTrimPrecDa = '20180701' +--SET @appoDataGenerazioneTrimPrecDa = '20180401' +--SET @appoDataGenerazioneTrimPrecDa = '20180101' +--SET @appoDataGenerazioneTrimPrecDa = '20171001' +--SET @appoDataGenerazioneTrimPrecDa = '20170701' +--SET @appoDataGenerazioneTrimPrecDa = '20170401' +--SET @appoDataGenerazioneTrimPrecDa = '20170101' +--SET @appoDataGenerazioneTrimPrecDa = '20161001' +--SET @appoDataGenerazioneTrimPrecDa = '20160701' +--SET @appoDataGenerazioneTrimPrecDa = '20160401' +--SET @appoDataGenerazioneTrimPrecDa = '20160101' +--SET @appoDataGenerazioneTrimPrecDa = '20151001' +--SET @appoDataGenerazioneTrimPrecDa = '20150701' +DECLARE @appoDataGenerazioneTrimPrecA varchar(8) +SET @appoDataGenerazioneTrimPrecA = [C6MartPeriodico].[getDateTrimestre](1, 1, 1) +--SET @appoDataGenerazioneTrimPrecA = '20181031' +--SET @appoDataGenerazioneTrimPrecA = '20180731' +--SET @appoDataGenerazioneTrimPrecA = '20180430' +--SET @appoDataGenerazioneTrimPrecA = '20180131' +--SET @appoDataGenerazioneTrimPrecA = '20171031' +--SET @appoDataGenerazioneTrimPrecA = '20170731' +--SET @appoDataGenerazioneTrimPrecA = '20170430' +--SET @appoDataGenerazioneTrimPrecA = '20170131' +--SET @appoDataGenerazioneTrimPrecA = '20161031' +--SET @appoDataGenerazioneTrimPrecA = '20160731' +--SET @appoDataGenerazioneTrimPrecA = '20160430' +--SET @appoDataGenerazioneTrimPrecA = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perché in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecA = '20151031' +--SET @appoDataGenerazioneTrimPrecA = '20150731' +DECLARE @appoDataGenerazioneTrimPrecX2Da varchar(8) +SET @appoDataGenerazioneTrimPrecX2Da = [C6MartPeriodico].[getDateTrimestre](2, 0, 0) +--SET @appoDataGenerazioneTrimPrecX2Da = '20180701' +--SET @appoDataGenerazioneTrimPrecA = '20180401' +--SET @appoDataGenerazioneTrimPrecA = '20180101' +--SET @appoDataGenerazioneTrimPrecA = '20171001' +--SET @appoDataGenerazioneTrimPrecA = '20170701' +--SET @appoDataGenerazioneTrimPrecA = '20170401' +--SET @appoDataGenerazioneTrimPrecA = '20170101' +--SET @appoDataGenerazioneTrimPrecA = '20161001' +--SET @appoDataGenerazioneTrimPrecA = '20160701' +--SET @appoDataGenerazioneTrimPrecA = '20160401' +--SET @appoDataGenerazioneTrimPrecA = '20160101' +--SET @appoDataGenerazioneTrimPrecX2Da = '20151001' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150701' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150401' +DECLARE @appoDataGenerazioneTrimPrecX2A varchar(8) +SET @appoDataGenerazioneTrimPrecX2A = [C6MartPeriodico].[getDateTrimestre](2, 1, 1) +--SET @appoDataGenerazioneTrimPrecX2A = '20180731' +--SET @appoDataGenerazioneTrimPrecX2A = '20180430' +--SET @appoDataGenerazioneTrimPrecX2A = '20180131' +--SET @appoDataGenerazioneTrimPrecX2A = '20171031' +--SET @appoDataGenerazioneTrimPrecX2A = '20170731' +--SET @appoDataGenerazioneTrimPrecX2A = '20170430' +--SET @appoDataGenerazioneTrimPrecX2A = '20170131' +--SET @appoDataGenerazioneTrimPrecX2A = '20161031' +--SET @appoDataGenerazioneTrimPrecX2A = '20160731' +--SET @appoDataGenerazioneTrimPrecX2A = '20160430' +--SET @appoDataGenerazioneTrimPrecX2A = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perché in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecX2A = '20151031' +--SET @appoDataGenerazioneTrimPrecX2A = '20150731' +--SET @appoDataGenerazioneTrimPrecX2A = '20150430' +TRUNCATE TABLE C6MARTPERIODICO.SELEZIONECAMPIONE +--select * into c6martperiodico.appo_selezione_campione from C6MARTPERIODICO.SELEZIONECAMPIONE +--0 tutta la popolazione +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +select distinct bf.cod_fiscale, bf.rete +from +C6MartPeriodico.rp_vcontrattipergenerazionereport bf +) bf +--1 UNA MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'UNA MACRO ASSET ' AS DESCRIZIONE, +1 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 1 "ASSET CLASS" anzichè 1 "MACRO ASSET CLASS" +--select distinct bf.cod_fiscale, bf.rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=1 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=1 +) bf +--2 TUTTE LE MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'TUTTE LE MACRO ASSET ' AS DESCRIZIONE, +0 AS c1, +1 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 7 "ASSET CLASS" anzichè 7 "MACRO ASSET CLASS" +--select distinct cod_fiscale, rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=7 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=7 +) bf +--3 TUTTE LE AREE SONO MONITORATE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis as cod_fiscale, +'TUTTE LE AREE SONO MONITORATE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +1 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, count(distinct codarea) c +from C6StagingPeriodico.TANAB +where dtfine='99991231' +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=4 +)bf +--4 SENZA PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'SENZA PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +1 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +--5 RISCHIO CREDITO NA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO N.A. ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +1 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk is null +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 6 CLASSE DI RISCHIO CREDITO > 3 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO > 3 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +1 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>3 +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 7 PRODOTTO SENZA RENDIMENTO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PRODOTTO SENZA RENDIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +1 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as cod_fiscale +from C6StagingPeriodico.TSCABP +) bf +-- 8 piu trimestrali +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PIU TRIMESTRALI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +1 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, codicefiscale AS COD_FISCALE, count(*)N +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where tiporeport='M' +and dataGenerazione > @appoDataGenerazioneTrimPrecX2Da +group by rete, codicefiscale +having count(*)>1 +) bf +-- 9 PATRIMONIO TERZI SU PIU' INTERMEDIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI SU PIU'' INTERMEDIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +1 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, count(distinct a.intermediario) M +from C6MartPeriodico.PATRIMONIO_TERZI a +group by a.rete, a.cod_fiscale +having count(distinct a.intermediario)>1 +) bf +-- 10 PERSONE GIURIDICHE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PERSONE GIURIDICHE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +1 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where len(cod_fiscale)=11 +) bf +-- 11 PB TERMINATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PB TERMINATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +1 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct bf.rete, bf.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_BF bf, C6Mart.CONTRATTOSEI c6,C6Stagingperiodico.ADS4WS_PROMOTORI pr +--where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +--and c6.cod_agente=pr.codice and pr.rete=c6.rete +--and stato= 'T' +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6,C6Stagingperiodico.RP_anagrafica_promotori pr +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and c6.cod_agente=pr.codage and pr.rete=c6.rete +and stato= 'T' +) bf +-- 12 PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +1 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_TERZI a +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +-- 13 PATR NON RAPPR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR NON RAPPR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +1 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale +from C6MartPeriodico.vPatrimonioNonRappresentabileAsset +) bf +-- 14 PATR IMMOBILIARE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +1 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, sum(a.VALORE_STIMATO) M +from C6MartPeriodico.PATRIMONIO_IMMOBILIARE a +group by a.rete, a.cod_fiscale +) bf +-- 15 PARTITE VIAGGIANTI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +1 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PARTITE_VIAGGIANTI) bf +--16 NON MONITORATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON MONITORATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +1 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.patrimonio_bf bf +where bf.rete + bf.cod_fiscale not in ( select distinct rete + case when len(codfis) =4 then 'FF@'+codfis else codfis end from C6StagingPeriodico.TANAB where dtfine='99991231') +) bf +-- 17 NO PATR IMMOB +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +1 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf +where cod_fiscale + rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.patrimonio_immobiliare) +) bf +-- 18 MON SU UNA SOLA AREA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON SU UNA SOLA AREA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +1 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +(select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE, count(distinct codarea) H +from C6StagingPeriodico.TANAB +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=1 +) bf +-- 19 MON DA PIU DI 12 MESI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON DA PIU DI 12 MESI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +1 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_FISCALE +from C6StagingPeriodico.TANAB +--where ('20101201'-dtrif)/30>12 +where dtrif < convert(varchar(8), DATEADD(year, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112) +) bf +-- 20 MON APPENA AVVIATO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON APPENA AVVIATO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +1 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE +from C6StagingPeriodico.TANAB +--where '20101201'-GETDATE()<1 +where (dtrif > convert(varchar(8), DATEADD(day, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112)) +) bf +-- 21 MANDATI FIDUCIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MANDATI FIDUCIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +1 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where cod_fiscale like 'FF@%' +) bf +-- 22 INADEGUATI VAR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI VAR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +1 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.var_perc_ptf>cod.max_var +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 23 INADEGUATI CRISK +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI CRISK ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +1 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_CREDITRISK cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>mifid.profilo_ass +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 24 INADEGUATI COMPLESSITA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI COMPLESSITA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +1 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +-- EN2060408: begin - adapted to new feature "Adeguatezza" comnplexity / concentration +--select distinct a.rete, a.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_BF a, C6MartPeriodico.MIFID mifid +--where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +--and mifid.experience<(select max(complex) from C6MartPeriodico.PATRIMONIO_BF where rete=mifid.rete and cod_fiscale=mifid.cod_fiscale) +SELECT top 500 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'S' and [ancmpl].[FLGCONC] = 'S') +order by dttrim desc + UNION +SELECT top 200 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'N' and [ancmpl].[FLGCONC] = 'S') +order by dttrim desc + UNION +SELECT top 20 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'S' and [ancmpl].[FLGCONC] = 'N') +order by dttrim desc + UNION +SELECT top 20 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'N' and [ancmpl].[FLGCONC] = 'N') +order by dttrim desc +) bf +-- EN2060408: end +-- 25 DIVERSIFICAZIONE < 30 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'DIVERSIFICAZIONE < 30 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +1 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, beneficio +from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='COMPLESSIVO' +and beneficio<30 +) bf +-- 26 CC NEG E POS +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEG E POS ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +1 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) bf +-- 27 CC NEG +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEGATIVO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +1 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, sum(saldocontabile) M +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)<0 +) bf +where rete+cod_fiscale not in +( +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) +-- 28 REND NON RAPPR COME UNICA POSIZIONE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'REND NON RAPPR COME UNICA POSIZIONE IN AREA MONIT' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +1 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +SELECT +DISTINCT T.RETE, T.COD_FISCALE FROM +( +SELECT +RETE, COD_FISCALE , ID_AREA, SUM(CASE WHEN REND_NON_RAPPR =1 THEN 0 ELSE 1 END) TOT +FROM +C6MARTPERIODICO +.PATRIMONIO_BF B +GROUP +BY +RETE +, COD_FISCALE, ID_AREA +) +T, +( +SELECT +RETE, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, CASE WHEN CODAREA ='EXR' THEN 'EXT'ELSE CODAREA END AS CODAREA FROM +C6STAGINGPERIODICO +.TANAB +WHERE +DTFINE = 99991231 +) +B +WHERE +T +.RETE=B.RETE AND B.CODFIS=T.COD_FISCALE +AND +ID_AREA=CODAREA +AND +TOT=0 +) bf +-- 29 PREVIDENZA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PREVIDENZA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +1 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where id_area like '%Pre%' +) bf +--30 RESTART CONTRATTOSEI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RESTART CONTRATTOSEI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +1 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, codicefiscale as cod_fiscale +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where datagenerazione between @appoDataGenerazioneTrimPrecX2Da and @appoDataGenerazioneTrimPrecX2A +except +select distinct p.rete,p.codicefiscale + from C6StoricoPeriodico.GESTIONE_PDF_FTP p + inner join c6martperiodico.patrimonio_bf b + on p.rete=b.rete and p.codicefiscale =b.cod_fiscale + where datagenerazione between @appoDataGenerazioneTrimPrecDa and @appoDataGenerazioneTrimPrecA +--select distinct rete, codicefiscale as cod_fiscale +--from appoGESTIONE_PDF_FTP +--where datagenerazione between '20111001' and '20111031' +--and rete + codicefiscale not in (select distinct rete + codicefiscale +-- from appoGESTIONE_PDF_FTP +-- where datagenerazione between '20120101' and '20120131') +--and rete + codicefiscale in (select distinct rete + cod_fiscale +-- from c6martperiodico.patrimonio_bf) +) bf +--31 INDIRIZZO CONTRATTO ESTERO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INDIRIZZO CONTRATTO ESTERO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +1 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6 +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and nazione<> 'italia' +) bf +--32 CC>10000 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC>10000 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +1 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)>10000 +) bf +--33 COPERTURA INFERIORE A 100 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'COPERTURA INFERIORE A 100 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +1 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale + from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='complessivo' +and copertura<100 +) bf +--34 evoluzione controvalore > 30% +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'EVOLUZIONE CONTROVALORE > 30% ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +1 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct corrente.rete, corrente.cod_fiscale +from +(select b.rete, b.cod_fiscale, sum(controvalore) ctv +from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 a +inner join C6StagingPeriodico.appo_contratti b +on a.chiaveClientePB=b.chiaveClientePB +group by b.rete, b.cod_fiscale) scorsa, +(select rete, cod_fiscale, sum(ctv) ctv +from c6martperiodico.patrimonio_bf +group by rete, cod_fiscale) corrente +where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +and (case when scorsa.ctv>corrente.ctv + then (scorsa.ctv-abs(corrente.ctv)) + else (corrente.ctv-abs(scorsa.ctv)) + end) + > + (case when scorsa.ctv>corrente.ctv + then (0.30*corrente.ctv) + else (0.30*scorsa.ctv) + end) +--select distinct corrente.rete, corrente.cod_fiscale +--from +--(select rete, cod_fiscale, sum(controvalore) ctv +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--group by rete, cod_fiscale) scorsa, +--(select rete, cod_fiscale, sum(ctv) ctv +--from c6martperiodico.patrimonio_bf +--group by rete, cod_fiscale) corrente +--where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +--and (0.33*scorsa.ctv>corrente.ctv or 0.33*scorsa.ctv0 +--select distinct rete, cod_fiscale +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--where investimentiincorso>0 +) bf +--36 Monitoraggio con cedole/dividendi +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MONITORAGGIO CON CEDOLE/DIVIDENDI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +1 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.MONITORAGGIO_ATTUALE +where CEDOLE_DIVIDENDI>0 +) bf +-- 37 PARTITE VIAGGIANTI DI DISINVESTIMENTO - 19/1/2016 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI DI DISINVESTIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +1 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from C6MartPeriodico.patrimonio_bf a +inner join [C6StampeCentralizzate].[C6MartPeriodico].[TB_Campione] b +on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where (partvia_disinv <> 0.000 and partvia_disinv is not null) +) bf +--CRITERIO ELIMINATO IN QUANTO DUPLICATO DEL CRITERIO 31 +--38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +--select +--bf.rete, +--bf.cod_fiscale, +--'Indirizzo Estero' AS DESCRIZIONE, +--0 AS c1, +--0 AS c2, +--0 AS c3, +--0 AS c4, +--0 AS c5, +--0 AS c6, +--0 AS c7, +--0 AS c8, +--0 AS c9, +--0 AS c10, +--0 AS c11, +--0 AS c12, +--0 AS c13, +--0 AS c14, +--0 AS c15, +--0 AS c16, +--0 AS c17, +--0 AS c18, +--0 AS c19, +--0 AS c20, +--0 AS c21, +--0 AS c22, +--0 AS c23, +--0 AS c24, +--0 AS c25, +--0 AS c26, +--0 AS c27, +--0 AS c28, +--0 AS c29, +--0 AS c30, +--0 AS c31, +--0 AS c32, +--0 AS c33, +--0 AS c34, +--0 AS c35, +--0 AS c36, +--0 AS c37, +--1 AS c38, +--0 AS c39, +--0 AS c40, +--0 AS c41, +--0 AS c42, +--0 AS c43, +--0 AS c44, +--0 AS c45, +--0 AS c46, +--0 AS c47, +--0 AS c48, +--0 AS c49, +--0 AS c50, +--0 AS c51, +--0 AS c52, +--0 AS c53, +--0 AS c54, +--0 AS c55, +--0 AS c56, +--0 AS c57, +--0 AS c58 +--FROM +--( +--select distinct rete, cod_fiscale +--from c6martperiodico.contrattosei +--where nazione <> 'italia' +--) bf +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'S', +--'RSSRNZ49E14A479S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'CSCGPP34A03L050L', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNERSR61L08C351V', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'BGLPRD65E10Z130S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNZNLS71M48C814J', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--------------------- +--c39 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C39 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +1 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +where data_foto >= @appoDataInizioTrimestre +) bf +--c40 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C40 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +1 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is not null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is not null +) bf +--41 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C41 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +1 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is null +) bf +--c42 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C42 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +1 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is null +) bf +--c43 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C43 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +1 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is not null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is not null +) bf +--C44 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'F' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +1 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +inner join c6stagingperiodico.st_mon +on a.cod_fiscale = codfis +and a.rete = st_mon.rete +where data_foto > '20111001' +) bf +--C45 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'G' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +1 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto < '20111001' +) bf +--C46 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'H' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +1 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto > '20111001' +) bf +--C47 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'I' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +1 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and dttrim = @appoDataFineTrimestre +and data_foto > '20111001' +) bf +--C48 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'J' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +1 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +/* +(select * from c6stagingperiodico.wseics where dttrim = '20111231') a +inner join +(select * from c6stagingperiodico.wseics where dttrim = '20120331') b +on a.rete = b.rete +and a.codfis = b.codfis +inner join c6martperiodico.monitoraggio_iniziale c +on b.codfis = c.cod_fiscale +and b.rete = c.rete +where +a.codprod not in ('37', 'GP') +and +b.codprod in ('37', 'GP') +and c.data_foto > '20111001' +*/ +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001' +) bf +--C49 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'K' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +1 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +--inner join c6stagingperiodico.wseics b +--on b.codfis = b.codfis +--and a.rete = b.rete +--where a.codprod not in ('37', 'GP') +----Se fase di Simulazione: +---- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +----and a.dttrim = '20131130' +----Se fase di Trimestrale: +---- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +--and a.dttrim = @appoDataFineTrimestre +--and b.codprod in ('37', 'GP') +----and b.dttrim = '20111231' -- b.dttrim = dt fine trimestre precedente +--and b.dttrim = @appoDataFineTrimPrec +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001' +) bf +--nuovi----------------------------------------------------------- +--C50 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti OLD' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +1 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 0 +) bf +--C51 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Affluent' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +1 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 1 +) bf +--C52 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Private' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +1 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 2 +) bf +--C53 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Bonus' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +1 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.bonus bon +on vc.rete = bon.rete +and vc.cod_fiscale = bon.cod_fiscale +) bf +--C54 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Scadenze' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +1 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.scadenze sca +on vc.rete = sca.rete +and vc.cod_fiscale = sca.cod_fiscale +) bf +--C55 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Proventi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +1 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.proventi pro +on vc.rete = pro.rete +and vc.cod_fiscale = pro.cod_fiscale +) bf +--C56 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Monitoraggio avviato Trimestre precedente' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +1 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +--where data_foto > C6MartPeriodico.getPreviousTrimestre(getdate(), 1) +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +) bf +--C57 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +1 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where isnull(data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) +where isnull(data_foto,getDate()) between @appoDataInizioTrimestre and @appoDataFineTrimestre +) bf +--C58 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +1 AS c58 +FROM +( +--select distinct b.rete, b.cod_fiscale as codfis +--from c6martperiodico.monitoraggio_report a +--right join C6MartPeriodico.rp_vcontrattipergenerazionereport b +--on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete is null +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_iniziale +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +except +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_report +) bf +--------------------- +--drop table C6MARTPERIODICO.SELEZIONECAMPIONE2 +truncate table C6MARTPERIODICO.SELEZIONECAMPIONE2 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +select +v.rete, +v.cod_fiscale, +sum( C1 ) as C1, +sum( C2 ) as C2, +sum( C3 ) as C3, +sum( C4 ) as C4, +sum( C5 ) as C5, +sum( C6 ) as C6, +sum( C7 ) as C7, +sum( C8 ) as C8, +sum( C9 ) as C9, +sum( C10 ) as C10, +sum( C11) as C11, +sum( C12 ) as C12, +sum( C13 ) as C13, +sum( C14 ) as C14, +sum( C15 ) as C15, +sum( C16 ) as C16, +sum( C17 ) as C17, +sum( C18 ) as C18, +sum( C19 ) as C19, +sum( C20 ) as C20, +sum( C21 ) as C21, +sum( C22 ) as C22, +sum( C23) as C23, +sum( C24 ) as C24, +sum( C25 ) as C25, +sum( C26) as C26, +sum( C27 ) as C27, +sum( C28) as C28, +sum( C29 ) as C29, +sum( C30 ) as C30, +sum(C31) AS C31, +SUM(C32) AS C32, +SUM(C33) AS C33, +SUM(C34) AS C34, +SUM(C35) AS C35, +SUM(C36) AS C36, +SUM(C37) AS C37, +SUM(C38) AS C38, +SUM(C39) AS C39, +SUM(C40) AS C40, +SUM(C41) AS C41, +SUM(C42) AS C42, +SUM(C43) AS C43, +SUM(C44) AS C44, +SUM(C45) AS C45, +SUM(C46) AS C46, +SUM(C47) AS C47, +SUM(C48) AS C48, +SUM(C49) AS C49, +SUM(C50) AS C50, +SUM(C51) AS C51, +SUM(C52) AS C52, +SUM(C53) AS C53, +SUM(C54) AS C54, +SUM(C55) AS C55, +SUM(C56) AS C56, +SUM(C57) AS C57, +SUM(C58) AS C58 +--INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +FROM +C6MARTPERIODICO.SELEZIONECAMPIONE sc join C6MartPeriodico.rp_vcontrattipergenerazionereport v +on sc.rete=v.rete and sc.cod_fiscale=v.cod_fiscale +--modifica del 10/7/2018 per non far includere quelli della blacklist (se ci sono) +where sc.rete+sc.cod_fiscale not in (select rete+codicefiscale from [C6StampeCentralizzate].[C6MartPeriodico].[ExcludedList]) +group by +v.rete, +v.cod_fiscale +END +--SELECT * FROM C6MARTPERIODICO.SELEZIONECAMPIONE2 \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_STORICIZZAZIONE.sql b/sql/storedProduzione/C6MartPeriodico_SRV_STORICIZZAZIONE.sql new file mode 100644 index 00000000..18cb0c85 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_STORICIZZAZIONE.sql @@ -0,0 +1,618 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 21 gennaio 2009 +-- Description: Effettua una storicizzazione del DataMart prima dell'import di nuovi dati. +-- ============================================= +-- [C6MartPeriodico].[SRV_STORICIZZAZIONE] 'GESTIONE_EMAIL' +CREATE PROCEDURE [C6MartPeriodico].[SRV_STORICIZZAZIONE] + @NomeTabella AS VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MARTPERIODICO.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX TABELLA SPECIALE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --XXXXXXXXXXXXXXXXXXXXXXXX CONTRATTOSEI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONTRATTOSEI') + BEGIN + DELETE FROM C6StoricoPeriodico.CONTRATTOSEI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.CONTRATTOSEI + (Rete, Cod_Fiscale, Data_Sott, CodiceContratto, Cod_Agente, Data_Perf_Base, Data_Perf, Fascia_CPP, Email, Indirizzo, CAP, Citta, Prov, Nazione, Presso, Data_Inizio, Freq_Diagnosi, Freq_Monitor, Freq_DiagnosiPrec, Freq_MonitorPrec, Data_InizioConsInv, Data_InizioBase, Data_FineBase, Data_InizioAvanzato, Data_FineAvanzato, ProgressivoInvio, GenerazioneReport, InvioBenvenuto, DataUltimoInvio, ClienteMigrato, RisorseNA, PartViaDisinv, NumSolleciti, Data_UltimoSollecito, NumRevoche, Data_UltimaRevoca, Note, Data_Invio_Diagnosi_Trimestrale, Data_Invio_Monitoraggio_Trimestrale, ID_ELAB) + SELECT + C.Rete, C.Cod_Fiscale, C.Data_Sott, C.CodiceContratto, C.Cod_Agente, C.Data_Perf_Base, C.Data_Perf, C.Fascia_CPP, C.Email, C.Indirizzo, C.CAP, C.Citta, C.Prov, C.Nazione, C.Presso, C.Data_Inizio, C.Freq_Diagnosi, C.Freq_Monitor, C.Freq_DiagnosiPrec, C.Freq_MonitorPrec, C.Data_InizioConsInv, C.Data_InizioBase, C.Data_FineBase, C.Data_InizioAvanzato, C.Data_FineAvanzato, C.ProgressivoInvio, C.GenerazioneReport, C.InvioBenvenuto, C.DataUltimoInvio, C.ClienteMigrato, C.RisorseNA, C.PartViaDisinv, C.NumSolleciti, C.Data_UltimoSollecito, C.NumRevoche, C.Data_UltimaRevoca, C.Note, C.Data_Invio_Diagnosi_Trimestrale, C.Data_Invio_Monitoraggio_Trimestrale, @ID_ELAB + FROM C6Mart.CONTRATTOSEI C--WHERE ID_ELAB = @ID_ELAB + LEFT OUTER JOIN C6StoricoPeriodico.CONTRATTOSEI SC + ON C.Rete = SC.Rete + AND C.Cod_Fiscale = SC.Cod_Fiscale + AND C.CodiceContratto = SC.CodiceContratto + WHERE SC.Rete IS NULL + END +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX FINE TABELLA SPECIALE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CC XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CC') + BEGIN + DELETE FROM C6StoricoPeriodico.ANAG_CC WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ANAG_CC + (RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB, TIPO_ELAB) + SELECT + AC.RETE, AC.COD_FISCALE, AC.INTERMEDIARIO, AC.COINTEST, AC.COD_CC, AC.FASCIA_CPP, AC.SALDO, AC.DATA_APERTURA, AC.DATA_CHIUSURA, AC.ID_ELAB, AC.TIPO_ELAB + FROM C6MartPeriodico.ANAG_CC AC + LEFT OUTER JOIN C6StoricoPeriodico.ANAG_CC SAC + ON AC.RETE = SAC.RETE + AND AC.COD_FISCALE = SAC.COD_FISCALE + AND AC.COD_CC = SAC.COD_CC + WHERE AC.ID_ELAB = @ID_ELAB AND SAC.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CC_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CC_TERZI') + BEGIN + DELETE FROM C6StoricoPeriodico.ANAG_CC_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ANAG_CC_TERZI + (RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB) + SELECT + ACT.RETE, ACT.COD_FISCALE, ACT.INTERMEDIARIO, ACT.COINTEST, ACT.COD_CC, ACT.FASCIA_CPP, ACT.SALDO, ACT.DATA_APERTURA, ACT.DATA_CHIUSURA, ACT.ID_ELAB + FROM C6MartPeriodico.ANAG_CC_TERZI ACT + LEFT OUTER JOIN C6StoricoPeriodico.ANAG_CC_TERZI SACT + ON ACT.RETE = SACT.RETE + AND ACT.COD_FISCALE = SACT.COD_FISCALE + AND ACT.INTERMEDIARIO = SACT.INTERMEDIARIO + AND ACT.COD_CC = SACT.COD_CC + WHERE ACT.ID_ELAB = @ID_ELAB AND SACT.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CLIENTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CLIENTI') + BEGIN + DELETE FROM C6StoricoPeriodico.ANAG_CLIENTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ANAG_CLIENTI + (RETE, COD_FISCALE, NOME, COGNOME, DATA_NASCITA, STATO_CIVILE, NUM_COMPONENTI, NUM_FIGLI, ETA, PARTITA_IVA, CITTADINANZA, PERSONA_FIS_GIUR, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, PRESSO, TEL_RECAPITO, TEL_CELL, E_MAIL, DATA_INIZIO, DATA_FINE, STATO, RAG_SOC, SESSO, ID_PROMOTORE, ID_ELAB, TIPO_ELAB) + SELECT + AC.RETE, AC.COD_FISCALE, AC.NOME, AC.COGNOME, AC.DATA_NASCITA, AC.STATO_CIVILE, AC.NUM_COMPONENTI, AC.NUM_FIGLI, AC.ETA, AC.PARTITA_IVA, AC.CITTADINANZA, AC.PERSONA_FIS_GIUR, AC.INDIRIZZO, AC.LOCALITA, AC.PROVINCIA, AC.CAP, AC.NAZIONE, AC.PRESSO, AC.TEL_RECAPITO, AC.TEL_CELL, AC.E_MAIL, AC.DATA_INIZIO, AC.DATA_FINE, AC.STATO, AC.RAG_SOC, AC.SESSO, AC.ID_PROMOTORE, AC.ID_ELAB, AC.TIPO_ELAB + FROM C6MartPeriodico.ANAG_CLIENTI AC + LEFT OUTER JOIN C6StoricoPeriodico.ANAG_CLIENTI SAC + ON AC.RETE = SAC.RETE + AND AC.COD_FISCALE = SAC.COD_FISCALE + WHERE AC.ID_ELAB = @ID_ELAB AND SAC.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CLIENTI_PREV XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CLIENTI_PREV') + -- BEGIN + -- DELETE FROM C6StoricoPeriodico.ANAG_CLIENTI_PREV WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6StoricoPeriodico.ANAG_CLIENTI_PREV + -- (RETE, COD_FISCALE, STATO_LAVORATIVO, PROFESSIONE, CAT_PROFESSIONALE, DATA_INIZIO, DATA_FINE, RETRIB_LORDA, PROFESSIONE_SEC, CAT_PROFESSIONALE_SEC, DATA_INIZIO_SEC, DATA_FINE_SEC, RETRIB_LORDA_SEC, PROFESSIONE_PREC, CAT_PROFESSIONALE_PREC, DATA_INIZIO_PREC, DATA_FINE_PREC, RETRIB_LORDA_PREC, RICONGIUNZIONE, ID_ELAB, TIPO_ELAB) + -- SELECT + -- RETE, COD_FISCALE, STATO_LAVORATIVO, PROFESSIONE, CAT_PROFESSIONALE, DATA_INIZIO, DATA_FINE, RETRIB_LORDA, PROFESSIONE_SEC, CAT_PROFESSIONALE_SEC, DATA_INIZIO_SEC, DATA_FINE_SEC, RETRIB_LORDA_SEC, PROFESSIONE_PREC, CAT_PROFESSIONALE_PREC, DATA_INIZIO_PREC, DATA_FINE_PREC, RETRIB_LORDA_PREC, RICONGIUNZIONE, ID_ELAB, TIPO_ELAB + -- FROM C6MartPeriodico.ANAG_CLIENTI_PREV WHERE ID_ELAB = @ID_ELAB + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_PRODOTTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_PRODOTTI') + BEGIN + DELETE FROM C6StoricoPeriodico.ANAG_PRODOTTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ANAG_PRODOTTI + (COD_PRODOTTO, COD_ISIN, PAESE, ID_AREA, CAT_PRODOTTO, TIPO_PRODOTTO, DESCR_PRODOTTO, DIV_QUOTAZIONE, DIV_REGOLAMENTO, ID_EMITTENTE, MERCATO_CONTRATT, COD_MAF, RATING, COD_ADEGUATEZZA, COD_SOTTOPRODOTTO, COD_INTERNO, ID_ELAB, TIPO_ELAB) + SELECT + AP.COD_PRODOTTO, AP.COD_ISIN, AP.PAESE, AP.ID_AREA, AP.CAT_PRODOTTO, AP.TIPO_PRODOTTO, AP.DESCR_PRODOTTO, AP.DIV_QUOTAZIONE, AP.DIV_REGOLAMENTO, AP.ID_EMITTENTE, AP.MERCATO_CONTRATT, AP.COD_MAF, AP.RATING, AP.COD_ADEGUATEZZA, AP.COD_SOTTOPRODOTTO, AP.COD_INTERNO, AP.ID_ELAB, AP.TIPO_ELAB + FROM C6MartPeriodico.ANAG_PRODOTTI AP + LEFT OUTER JOIN C6StoricoPeriodico.ANAG_PRODOTTI SAP + ON AP.COD_PRODOTTO = SAP.COD_PRODOTTO + WHERE AP.ID_ELAB = @ID_ELAB AND SAP.COD_PRODOTTO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_PRODOTTI_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_PRODOTTI_TERZI') + BEGIN + DELETE FROM C6StoricoPeriodico.ANAG_PRODOTTI_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ANAG_PRODOTTI_TERZI + (COD_PRODOTTO, COD_PRODOTTO_TERZI, NOME_PRODOTTO, ALBERO_PRODOTTI, COD_ISIN, DESCR_PRODOTTO, DIV_QUOTAZIONE, INTERMEDIARIO, DIV_REGOLAMENTO, ID_EMITTENTE, MERCATO_CONTRATT, PAESE, RATING, ID_ELAB, TIPO_ELAB) + SELECT + APT.COD_PRODOTTO, APT.COD_PRODOTTO_TERZI, APT.NOME_PRODOTTO, APT.ALBERO_PRODOTTI, APT.COD_ISIN, APT.DESCR_PRODOTTO, APT.DIV_QUOTAZIONE, APT.INTERMEDIARIO, APT.DIV_REGOLAMENTO, APT.ID_EMITTENTE, APT.MERCATO_CONTRATT, APT.PAESE, APT.RATING, APT.ID_ELAB, APT.TIPO_ELAB + FROM C6MartPeriodico.ANAG_PRODOTTI_TERZI APT + LEFT OUTER JOIN C6StoricoPeriodico.ANAG_PRODOTTI_TERZI SAPT + ON APT.COD_PRODOTTO_TERZI = SAPT.COD_PRODOTTO_TERZI + WHERE APT.ID_ELAB = @ID_ELAB AND SAPT.COD_PRODOTTO_TERZI IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_PROMOTORI') + BEGIN + DELETE FROM C6StoricoPeriodico.ANAG_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ANAG_PROMOTORI + (RETE, ID_PROMOTORE, LIVELLO, COD_FISCALE, PARTITA_IVA, COGNOME, NOME, RAG_SOC, DATA_INIZIO, DATA_FINE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, TEL_RECAPITO, TEL_CELL, E_MAIL, COD_ABI, COD_CAB, COD_CIN, COD_CC, STATO, ID_ELAB, TIPO_ELAB) + SELECT + AP.RETE, AP.ID_PROMOTORE, AP.LIVELLO, AP.COD_FISCALE, AP.PARTITA_IVA, AP.COGNOME, AP.NOME, AP.RAG_SOC, AP.DATA_INIZIO, AP.DATA_FINE, AP.INDIRIZZO, AP.LOCALITA, AP.PROVINCIA, AP.CAP, AP.NAZIONE, AP.TEL_RECAPITO, AP.TEL_CELL, AP.E_MAIL, AP.COD_ABI, AP.COD_CAB, AP.COD_CIN, AP.COD_CC, AP.STATO, AP.ID_ELAB, AP.TIPO_ELAB + FROM C6MartPeriodico.ANAG_PROMOTORI AP + LEFT OUTER JOIN C6StoricoPeriodico.ANAG_PROMOTORI SAP + ON AP.RETE = SAP.RETE + AND AP.ID_PROMOTORE = SAP.ID_PROMOTORE + AND AP.LIVELLO = SAP.LIVELLO + WHERE AP.ID_ELAB = @ID_ELAB AND SAP.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX AREA_BISOGNO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'AREA_BISOGNO') + BEGIN + DELETE FROM C6StoricoPeriodico.AREA_BISOGNO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.AREA_BISOGNO + (ID_AREA, NOME_AREA, ORDINAMENTO, ID_ELAB) + SELECT + AB.ID_AREA, AB.NOME_AREA, AB.ORDINAMENTO, AB.ID_ELAB + FROM C6MartPeriodico.AREA_BISOGNO AB + LEFT OUTER JOIN C6StoricoPeriodico.AREA_BISOGNO SAB + ON AB.ID_AREA = SAB.ID_AREA + WHERE AB.ID_ELAB = @ID_ELAB AND SAB.ID_AREA IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSET_PERC XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSET_PERC') + BEGIN + DELETE FROM C6StoricoPeriodico.ASSET_PERC WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ASSET_PERC + (COD_PRODOTTO, ID_ASSETCLASS, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, LIVELLO, PERC, ID_ELAB, TIPO_ELAB) + SELECT + AP.COD_PRODOTTO, AP.ID_ASSETCLASS, AP.COD_ISIN, AP.COD_MAF, AP.COD_INTERNO, AP.COD_SOTTOPRODOTTO, AP.LIVELLO, AP.PERC, AP.ID_ELAB, AP.TIPO_ELAB + FROM C6MartPeriodico.ASSET_PERC AP + LEFT OUTER JOIN C6StoricoPeriodico.ASSET_PERC SAP + ON AP.COD_PRODOTTO = SAP.COD_PRODOTTO + AND AP.ID_ASSETCLASS = SAP.ID_ASSETCLASS + WHERE AP.ID_ELAB = @ID_ELAB AND SAP.COD_PRODOTTO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSET_PERC_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSET_PERC_TERZI') + BEGIN + DELETE FROM C6StoricoPeriodico.ASSET_PERC_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ASSET_PERC_TERZI + (COD_PRODOTTO_TERZI, ID_ASSETCLASS, LIVELLO, NOME_PRODOTTO, TIPO_PRODOTTO, PERC, ID_ELAB, TIPO_ELAB) + SELECT + APT.COD_PRODOTTO_TERZI, APT.ID_ASSETCLASS, APT.LIVELLO, APT.NOME_PRODOTTO, APT.TIPO_PRODOTTO, APT.PERC, APT.ID_ELAB, APT.TIPO_ELAB + FROM C6MartPeriodico.ASSET_PERC_TERZI APT + LEFT OUTER JOIN C6StoricoPeriodico.ASSET_PERC_TERZI SAPT + ON APT.COD_PRODOTTO_TERZI = SAPT.COD_PRODOTTO_TERZI + AND APT.ID_ASSETCLASS = SAPT.ID_ASSETCLASS + AND APT.LIVELLO = SAPT.LIVELLO + WHERE APT.ID_ELAB = @ID_ELAB AND SAPT.COD_PRODOTTO_TERZI IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS') + BEGIN + DELETE FROM C6StoricoPeriodico.ASSETCLASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ASSETCLASS + (ID_ASSETCLASS, DESCRIZIONE, LIVELLO, ORDINAMENTO, ID_ELAB) + SELECT + A.ID_ASSETCLASS, A.DESCRIZIONE, A.LIVELLO, A.ORDINAMENTO, A.ID_ELAB + FROM C6MartPeriodico.ASSETCLASS A + LEFT OUTER JOIN C6StoricoPeriodico.ASSETCLASS SA + ON A.ID_ASSETCLASS = SA.ID_ASSETCLASS + WHERE A.ID_ELAB = @ID_ELAB AND SA.ID_ASSETCLASS IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS_TERZI') + BEGIN + DELETE FROM C6StoricoPeriodico.ASSETCLASS_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ASSETCLASS_TERZI + (ID_ASSETCLASS, COD_ISIN, COD_MAF, COD_ADEGUATEZZA, ID_ELAB, TIPO_ELAB) + SELECT + AT.ID_ASSETCLASS, AT.COD_ISIN, AT.COD_MAF, AT.COD_ADEGUATEZZA, AT.ID_ELAB, AT.TIPO_ELAB + FROM C6MartPeriodico.ASSETCLASS_TERZI AT + LEFT OUTER JOIN C6StoricoPeriodico.ASSETCLASS_TERZI SAT + ON AT.ID_ASSETCLASS = SAT.ID_ASSETCLASS + WHERE AT.ID_ELAB = @ID_ELAB AND SAT.ID_ASSETCLASS IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CLIENTI_CON_RNA_ALTO XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'CLIENTI_CON_RNA_ALTO') + -- BEGIN + -- DELETE FROM C6StoricoPeriodico.CLIENTI_CON_RNA_ALTO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6StoricoPeriodico.CLIENTI_CON_RNA_ALTO + -- ([Rete] + -- ,[CodicePB] + -- ,[CodiceFiscale] + -- ,[Percentuale] + -- ,[DataCalcolo] + -- , ID_ELAB) + -- SELECT + -- [Rete] + -- ,[CodicePB] + -- ,[CodiceFiscale] + -- ,[Percentuale] + -- ,[DataCalcolo] + -- , @ID_ELAB + -- FROM C6MartPeriodico.CLIENTI_CON_RNA_ALTO + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX CODICI_PROMOTORI_FITTIZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CODICI_PROMOTORI_FITTIZI') + BEGIN + DELETE FROM C6StoricoPeriodico.CODICI_PROMOTORI_FITTIZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.CODICI_PROMOTORI_FITTIZI + (Rete, CodiceDA, CodiceA, ID_ELAB) + SELECT + CPF.Rete, CPF.CodiceDA, CPF.CodiceA, @ID_ELAB + FROM C6MartPeriodico.CODICI_PROMOTORI_FITTIZI CPF + LEFT OUTER JOIN C6StoricoPeriodico.CODICI_PROMOTORI_FITTIZI SCPF + ON CPF.Rete = SCPF.Rete + AND CPF.CodiceDA = SCPF.CodiceDA + AND CPF.CodiceA = SCPF.COdiceA + WHERE SCPF.Rete IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CODIFICA_RISCHIO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CODIFICA_RISCHIO') + BEGIN + DELETE FROM C6StoricoPeriodico.CODIFICA_RISCHIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.CODIFICA_RISCHIO + (PROFILO, DESCRIZIONE, MIN_VAR, MAX_VAR, ID_ELAB) + SELECT + CR.PROFILO, CR.DESCRIZIONE, CR.MIN_VAR, CR.MAX_VAR, CR.ID_ELAB + FROM C6MartPeriodico.CODIFICA_RISCHIO CR + LEFT OUTER JOIN C6StoricoPeriodico.CODIFICA_RISCHIO SCR + ON CR.PROFILO = SCR.PROFILO + WHERE CR.ID_ELAB = @ID_ELAB AND SCR.PROFILO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONGELAMENTO_SEI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONGELAMENTO_SEI') + BEGIN + DELETE FROM C6StoricoPeriodico.CONGELAMENTO_SEI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.CONGELAMENTO_SEI + (DATA_CONGELAMENTO, ID_ELAB) + SELECT + CS.DATA_CONGELAMENTO, CS.ID_ELAB + FROM C6MartPeriodico.CONGELAMENTO_SEI CS + LEFT OUTER JOIN C6StoricoPeriodico.CONGELAMENTO_SEI SCS + ON CS.DATA_CONGELAMENTO = SCS.DATA_CONGELAMENTO + WHERE CS.ID_ELAB = @ID_ELAB AND SCS.DATA_CONGELAMENTO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONO_PIANIFICAZIONE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONO_PIANIFICAZIONE') + BEGIN + DELETE FROM C6StoricoPeriodico.CONO_PIANIFICAZIONE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.CONO_PIANIFICAZIONE + (RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, DATA_CONO, SCENARIO_PESSIMISTICO, SCENARIO_MEDIO, SCENARIO_OTTIMISTICO, ID_ELAB) + SELECT + CP.RETE, CP.COD_FISCALE, CP.ID_AREA, CP.NOME_PROGETTO, CP.DATA_CONO, CP.SCENARIO_PESSIMISTICO, CP.SCENARIO_MEDIO, CP.SCENARIO_OTTIMISTICO, CP.ID_ELAB + FROM C6MartPeriodico.CONO_PIANIFICAZIONE CP + LEFT OUTER JOIN C6StoricoPeriodico.CONO_PIANIFICAZIONE SCP + ON CP.RETE = SCP.RETE + AND CP.COD_FISCALE = SCP.COD_FISCALE + AND CP.ID_AREA = SCP.ID_AREA + AND CP.NOME_PROGETTO = SCP.NOME_PROGETTO + AND CP.DATA_CONO = SCP.DATA_CONO + WHERE CP.ID_ELAB = @ID_ELAB AND SCP.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX DATI_REPORT XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'DATI_REPORT') + -- BEGIN + -- DELETE FROM C6StoricoPeriodico.DATI_REPORT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6StoricoPeriodico.DATI_REPORT + -- (RETE, COD_FISCALE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, FLAG_REPORT, REPORT_DIAGN, REPORT_MONIT, DATA_REPORT, REPORT_FREQ, ID_ELAB, TIPO_ELAB) + -- SELECT + -- RETE, COD_FISCALE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, FLAG_REPORT, REPORT_DIAGN, REPORT_MONIT, DATA_REPORT, REPORT_FREQ, ID_ELAB, TIPO_ELAB + -- FROM C6MartPeriodico.DATI_REPORT WHERE ID_ELAB = @ID_ELAB + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX DETTAGLIO_ASUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'DETTAGLIO_ASUL') + BEGIN + DELETE FROM C6StoricoPeriodico.DETTAGLIO_ASUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.DETTAGLIO_ASUL + (RETE, COD_FISCALE, COD_PRODOTTO, ID_CONTRATTO, COD_SOTTOPRODOTTO, COD_INTERNO, CTV, DATA_RIF, COD_ISIN_FITTIZIO, COD_ISIN_SOTT, COD_MAF_SOTT, ID_ELAB, TIPO_ELAB) + SELECT + DA.RETE, DA.COD_FISCALE, DA.COD_PRODOTTO, DA.ID_CONTRATTO, DA.COD_SOTTOPRODOTTO, DA.COD_INTERNO, DA.CTV, DA.DATA_RIF, DA.COD_ISIN_FITTIZIO, DA.COD_ISIN_SOTT, DA.COD_MAF_SOTT, DA.ID_ELAB, DA.TIPO_ELAB + FROM C6MartPeriodico.DETTAGLIO_ASUL DA + LEFT OUTER JOIN C6StoricoPeriodico.DETTAGLIO_ASUL SDA + ON DA.RETE = SDA.RETE + AND DA.COD_FISCALE = SDA.COD_FISCALE + AND DA.COD_PRODOTTO = SDA.COD_PRODOTTO + AND DA.ID_CONTRATTO = SDA.ID_CONTRATTO + AND DA.COD_SOTTOPRODOTTO = SDA.COD_SOTTOPRODOTTO + AND DA.COD_INTERNO = SDA.COD_INTERNO + AND DA.CTV = SDA.CTV + AND DA.DATA_RIF = SDA.DATA_RIF + AND DA.COD_ISIN_FITTIZIO = SDA.COD_ISIN_FITTIZIO + AND DA.COD_ISIN_SOTT = SDA.COD_ISIN_SOTT + AND DA.COD_MAF_SOTT = SDA.COD_MAF_SOTT + WHERE DA.ID_ELAB = @ID_ELAB AND SDA.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ELABORAZIONI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ELABORAZIONI') + BEGIN + DELETE FROM C6StoricoPeriodico.ELABORAZIONI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ELABORAZIONI + (ID_ELAB, TIPO_ELAB, DATA_OPERAZIONE) + SELECT + E.ID_ELAB, E.TIPO_ELAB, E.DATA_OPERAZIONE + FROM C6MartPeriodico.ELABORAZIONI E + LEFT OUTER JOIN C6StoricoPeriodico.ELABORAZIONI SE + ON E.ID_ELAB = SE.ID_ELAB + WHERE E.ID_ELAB = @ID_ELAB AND SE.ID_ELAB IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ELABORAZIONI_EMAIL_RNA XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'ELABORAZIONI_EMAIL_RNA') + -- BEGIN + -- DELETE FROM C6StoricoPeriodico.ELABORAZIONI_EMAIL_RNA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6StoricoPeriodico.ELABORAZIONI_EMAIL_RNA + -- ([Data_Elaborazione],[ID_ELAB]) + -- SELECT + -- [Data_Elaborazione],@ID_ELAB + -- FROM C6MartPeriodico.ELABORAZIONI_EMAIL_RNA WHERE ID_ELAB = @ID_ELAB + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX EMAIL_PB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'EMAIL_PB') + BEGIN + DELETE FROM C6StoricoPeriodico.EMAIL_PB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.EMAIL_PB + (RETE, CODICE, PREFISSO, FIRMA, EMAIL, ID_ELAB, TIPO_ELAB) + SELECT + EP.RETE, EP.CODICE, EP.PREFISSO, EP.FIRMA, EP.EMAIL, EP.ID_ELAB, EP.TIPO_ELAB + FROM C6MartPeriodico.EMAIL_PB EP + LEFT OUTER JOIN C6StoricoPeriodico.EMAIL_PB SEP + ON EP.FIRMA = SEP.FIRMA + WHERE EP.ID_ELAB = @ID_ELAB AND SEP.FIRMA IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX GESTIONE_EMAIL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'GESTIONE_EMAIL') + BEGIN + DELETE FROM C6StoricoPeriodico.GESTIONE_EMAIL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.GESTIONE_EMAIL + (Email_Id, Rete, CodicePB, Tipo, Data_Generazione, Inviata, Data_Invio, ID_ELAB) + SELECT + GE.Email_Id, GE.Rete, GE.CodicePB, GE.Tipo, GE.Data_Generazione, GE.Inviata, GE.Data_Invio, GE.ID_ELAB + FROM C6MartPeriodico.GESTIONE_EMAIL GE + LEFT OUTER JOIN C6StoricoPeriodico.GESTIONE_EMAIL SGE + ON GE.Email_Id = SGE.Email_Id + WHERE GE.ID_ELAB = @ID_ELAB AND SGE.Email_Id IS NULL + END +-- --XXXXXXXXXXXXXXXXXXX GESTITA SEPARATAMENTE XXXXXXXXXXXXXXXXXXX-- +-- --XXXXXXXXXXXXXXXXXXXXXXXX GLOBAL_ERROR XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'GLOBAL_ERROR') +-- BEGIN +-- DELETE FROM C6StoricoPeriodico.GLOBAL_ERROR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6StoricoPeriodico.GLOBAL_ERROR +-- (ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB) +-- SELECT +-- ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB +-- FROM C6MartPeriodico.GLOBAL_ERROR WHERE ID_ELAB = @ID_ELAB +-- END + --XXXXXXXXXXXXXXXXXXXXXXXX MIFID XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MIFID') + BEGIN + DELETE FROM C6StoricoPeriodico.MIFID WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.MIFID(RETE, COD_FISCALE, PROFILO_ASS, DATA_INIZIO_VAL,ID_ELAB) + SELECT + M.RETE, M.COD_FISCALE, M.PROFILO_ASS, M.DATA_INIZIO_VAL, @ID_ELAB + FROM C6MartPeriodico.MIFID M + LEFT OUTER JOIN C6StoricoPeriodico.MIFID SM + ON M.RETE = SM.RETE + AND M.COD_FISCALE = SM.COD_FISCALE + WHERE M.ID_ELAB = @ID_ELAB AND SM.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX MONITORAGGIO_ATTUALE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MONITORAGGIO_ATTUALE') + BEGIN + DELETE FROM C6StoricoPeriodico.MONITORAGGIO_ATTUALE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.MONITORAGGIO_ATTUALE + (RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, DATA_ATTIVAZIONE, DATA_CTV, CTV_MONITORATO, APPORTO_INIZIALE, APPORTO_SUCCESSIVO, LIQUIDAZIONI, CEDOLE_DIVIDENDI, MINUS_PLUSVALENZA, RISORSE_ASSOCIATE, RENDIMENTO_CUMULATO, RENDIMENTO_ANNUALIZZATO, ORDINAMENTO_PROGETTO,ID_ELAB) + SELECT + MA.RETE, MA.COD_FISCALE, MA.ID_AREA, MA.NOME_PROGETTO, MA.DATA_ATTIVAZIONE, MA.DATA_CTV, MA.CTV_MONITORATO, MA.APPORTO_INIZIALE, MA.APPORTO_SUCCESSIVO, MA.LIQUIDAZIONI, MA.CEDOLE_DIVIDENDI, MA.MINUS_PLUSVALENZA, MA.RISORSE_ASSOCIATE, MA.RENDIMENTO_CUMULATO, MA.RENDIMENTO_ANNUALIZZATO, MA.ORDINAMENTO_PROGETTO,@ID_ELAB + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE MA + LEFT OUTER JOIN C6StoricoPeriodico.MONITORAGGIO_ATTUALE SMA + ON MA.RETE = SMA.RETE + AND MA.COD_FISCALE = SMA.COD_FISCALE + AND MA.ID_AREA = SMA.ID_AREA + AND MA.NOME_PROGETTO = SMA.NOME_PROGETTO + WHERE SMA.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX MONITORAGGIO_DETTAGLIO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MONITORAGGIO_DETTAGLIO') + BEGIN + DELETE FROM C6StoricoPeriodico.MONITORAGGIO_DETTAGLIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.MONITORAGGIO_DETTAGLIO + (RETE, COD_FISCALE, POSITION_ID, ID_AREA, DATA_ASSOCIAZIONE, VERSATO_NETTO_DA_ASSOC, UTILE_PERDITA_DA_ASSOC, ID_ELAB) + SELECT + MD.RETE, MD.COD_FISCALE, MD.POSITION_ID, MD.ID_AREA, MD.DATA_ASSOCIAZIONE, MD.VERSATO_NETTO_DA_ASSOC, MD.UTILE_PERDITA_DA_ASSOC, @ID_ELAB + FROM C6MartPeriodico.MONITORAGGIO_DETTAGLIO MD + LEFT OUTER JOIN C6StoricoPeriodico.MONITORAGGIO_DETTAGLIO SMD + ON MD.RETE = SMD.RETE + AND MD.COD_FISCALE = SMD.COD_FISCALE + AND MD.POSITION_ID = SMD.POSITION_ID + WHERE SMD.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX MONITORAGGIO_INIZIALE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MONITORAGGIO_INIZIALE') + BEGIN + DELETE FROM C6StoricoPeriodico.MONITORAGGIO_INIZIALE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.MONITORAGGIO_INIZIALE + (RETE, COD_FISCALE, DATA_FOTO, CTV_TOTALE, CTV_EXT, CTV_INV, CTV_RIS, CTV_PRE, CTV_LIQ, CTV_CC, CTV_NA, PARTITA_VIAGGIANTE, VAR_COMPLESSIVO, VAR_COPERTURA, ID_ELAB) + SELECT + MI.RETE, MI.COD_FISCALE, MI.DATA_FOTO, MI.CTV_TOTALE, MI.CTV_EXT, MI.CTV_INV, MI.CTV_RIS, MI.CTV_PRE, MI.CTV_LIQ, MI.CTV_CC, MI.CTV_NA, MI.PARTITA_VIAGGIANTE, MI.VAR_COMPLESSIVO, MI.VAR_COPERTURA, @ID_ELAB + FROM C6MartPeriodico.MONITORAGGIO_INIZIALE MI + LEFT OUTER JOIN C6StoricoPeriodico.MONITORAGGIO_INIZIALE SMI + ON MI.RETE = SMI.RETE + AND MI.COD_FISCALE = SMI.COD_FISCALE + AND MI.DATA_FOTO = SMI.DATA_FOTO + WHERE SMI.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX MONITORAGGIO_REPORT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MONITORAGGIO_REPORT') + BEGIN + DELETE FROM C6StoricoPeriodico.MONITORAGGIO_REPORT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.MONITORAGGIO_REPORT + (RETE, COD_FISCALE, DATA_INVIO, CTV_TOTALE, CTV_EXT, CTV_INV, CTV_RIS, CTV_PRE, CTV_LIQ, CTV_CC, CTV_NA, PARTITA_VIAGGIANTE, VAR_COMPLESSIVO, VAR_COPERTURA, ID_ELAB) + SELECT + MR.RETE, MR.COD_FISCALE, MR.DATA_INVIO, MR.CTV_TOTALE, MR.CTV_EXT, MR.CTV_INV, MR.CTV_RIS, MR.CTV_PRE, MR.CTV_LIQ, MR.CTV_CC, MR.CTV_NA, MR.PARTITA_VIAGGIANTE, MR.VAR_COMPLESSIVO, MR.VAR_COPERTURA, @ID_ELAB + FROM C6MartPeriodico.MONITORAGGIO_REPORT MR + LEFT OUTER JOIN C6StoricoPeriodico.MONITORAGGIO_REPORT SMR + ON MR.RETE = SMR.RETE + AND MR.COD_FISCALE = SMR.COD_FISCALE + AND MR.DATA_INVIO = SMR.DATA_INVIO + WHERE SMR.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX MONITORAGGIO_STORICO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MONITORAGGIO_STORICO') + BEGIN + DELETE FROM C6StoricoPeriodico.MONITORAGGIO_STORICO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.MONITORAGGIO_STORICO + (RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, DATA_CTV, CTV_MONITORATO, RISORSE_ASSOCIATE, ID_ELAB) + SELECT + MS.RETE, MS.COD_FISCALE, MS.ID_AREA, MS.NOME_PROGETTO, MS.DATA_CTV, MS.CTV_MONITORATO, MS.RISORSE_ASSOCIATE, @ID_ELAB + FROM C6MartPeriodico.MONITORAGGIO_STORICO MS + LEFT OUTER JOIN C6StoricoPeriodico.MONITORAGGIO_STORICO SMS + ON MS.RETE = SMS.RETE + AND MS.COD_FISCALE = SMS.COD_FISCALE + AND MS.ID_AREA = SMS.ID_AREA + AND MS.NOME_PROGETTO = SMS.NOME_PROGETTO + AND MS.DATA_CTV = SMS.DATA_CTV + WHERE SMS.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PARTITE_VIAGGIANTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PARTITE_VIAGGIANTI') + BEGIN + DELETE FROM C6StoricoPeriodico.PARTITE_VIAGGIANTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.PARTITE_VIAGGIANTI + (RETE, COD_FISCALE, IMPORTO, ID_ELAB, TIPO_ELAB) + SELECT + PV.RETE, PV.COD_FISCALE, PV.IMPORTO, PV.ID_ELAB, PV.TIPO_ELAB + FROM C6MartPeriodico.PARTITE_VIAGGIANTI PV + LEFT OUTER JOIN C6StoricoPeriodico.PARTITE_VIAGGIANTI SPV + ON PV.RETE = SPV.RETE + AND PV.COD_FISCALE = SPV.COD_FISCALE + WHERE PV.ID_ELAB = @ID_ELAB AND SPV.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_ALTRO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_ALTRO') + BEGIN + DELETE FROM C6StoricoPeriodico.PATRIMONIO_ALTRO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.PATRIMONIO_ALTRO + (RETE, COD_FISCALE, QUANTITA, DESCRIZIONE, CTV, ID_ELAB, TIPO_ELAB) + SELECT + PA.RETE, PA.COD_FISCALE, PA.QUANTITA, PA.DESCRIZIONE, PA.CTV, PA.ID_ELAB, PA.TIPO_ELAB + FROM C6MartPeriodico.PATRIMONIO_ALTRO PA + LEFT OUTER JOIN C6StoricoPeriodico.PATRIMONIO_ALTRO SPA + ON PA.RETE = SPA.RETE + AND PA.COD_FISCALE = SPA.COD_FISCALE + AND PA.QUANTITA = SPA.QUANTITA + AND PA.DESCRIZIONE = SPA.DESCRIZIONE + AND PA.CTV = SPA.CTV + WHERE PA.ID_ELAB = @ID_ELAB AND SPA.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_BF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_BF') + BEGIN + DELETE FROM C6StoricoPeriodico.PATRIMONIO_BF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.PATRIMONIO_BF + (RETE, COD_FISCALE, POSITION_ID, COD_PRODOTTO, ID_CONTRATTO, DATA_SOTTOSCRIZIONE, COD_STATO, NUM_POLIZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TIPO_PRODOTTO, NOME_PROGETTO, ID_AREA, DATA_OPERAZIONE, DATA_VALUTA, DATA_REGOLAMENTO, QUANTITA, PREZZO, CTV, CTV_NOMINALE, VERSATO_NETTO, PARTVIA_DISINV, DATA_PARTVIA_DISINV, PARTVIA_INV, REND_SOTTOSCRIZIONE, REND_TRIMESTRE, REND_ANNO, REND_NON_RAPPR, ORDINAMENTO_PROGETTO, EXTRANAC, ID_ELAB, TIPO_ELAB) + SELECT + PB.RETE, PB.COD_FISCALE, PB.POSITION_ID, PB.COD_PRODOTTO, PB.ID_CONTRATTO, PB.DATA_SOTTOSCRIZIONE, PB.COD_STATO, PB.NUM_POLIZZA, PB.COD_MAF, PB.COD_INTERNO, PB.COD_SOTTOPRODOTTO, PB.TIPO_PRODOTTO, PB.NOME_PROGETTO, PB.ID_AREA, PB.DATA_OPERAZIONE, PB.DATA_VALUTA, PB.DATA_REGOLAMENTO, PB.QUANTITA, PB.PREZZO, PB.CTV, PB.CTV_NOMINALE, PB.VERSATO_NETTO, PB.PARTVIA_DISINV, PB.DATA_PARTVIA_DISINV, PB.PARTVIA_INV, PB.REND_SOTTOSCRIZIONE, PB.REND_TRIMESTRE, PB.REND_ANNO, PB.REND_NON_RAPPR, PB.ORDINAMENTO_PROGETTO, PB.EXTRANAC, PB.ID_ELAB, PB.TIPO_ELAB + FROM C6MartPeriodico.PATRIMONIO_BF PB + LEFT OUTER JOIN C6StoricoPeriodico.PATRIMONIO_BF SPB + ON PB.RETE = SPB.RETE + AND PB.COD_FISCALE = SPB.COD_FISCALE + AND PB.POSITION_ID = SPB.POSITION_ID + WHERE PB.ID_ELAB = @ID_ELAB AND SPB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_IMMOBILIARE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_IMMOBILIARE') + BEGIN + DELETE FROM C6StoricoPeriodico.PATRIMONIO_IMMOBILIARE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.PATRIMONIO_IMMOBILIARE + (RETE, COD_FISCALE, DESCRIZIONE, TIPOLOGIA, LOCALITA, PROVINCIA, CAP, NAZIONE, VALORE_STIMATO, AFFITTO, NOTE, DIV_RIFERIMENTO, CAMBIO, ID_ELAB, TIPO_ELAB) + SELECT + PI.RETE, PI.COD_FISCALE, PI.DESCRIZIONE, PI.TIPOLOGIA, PI.LOCALITA, PI.PROVINCIA, PI.CAP, PI.NAZIONE, PI.VALORE_STIMATO, PI.AFFITTO, PI.NOTE, PI.DIV_RIFERIMENTO, PI.CAMBIO, PI.ID_ELAB, PI.TIPO_ELAB + FROM C6MartPeriodico.PATRIMONIO_IMMOBILIARE PI + LEFT OUTER JOIN C6StoricoPeriodico.PATRIMONIO_IMMOBILIARE SPI + ON PI.RETE = SPI.RETE + AND PI.COD_FISCALE = SPI.COD_FISCALE + AND PI.DESCRIZIONE = SPI.DESCRIZIONE + AND PI.TIPOLOGIA = SPI.TIPOLOGIA + AND PI.LOCALITA = SPI.LOCALITA + AND PI.PROVINCIA = SPI.PROVINCIA + AND PI.CAP = SPI.CAP + AND PI.NAZIONE = PI.NAZIONE + AND PI.VALORE_STIMATO = SPI.VALORE_STIMATO + AND PI.AFFITTO = SPI.AFFITTO + AND PI.NOTE = SPI.NOTE + AND PI.DIV_RIFERIMENTO = SPI.DIV_RIFERIMENTO + AND PI.CAMBIO = SPI.CAMBIO + WHERE PI.ID_ELAB = @ID_ELAB AND SPI.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_TERZI') + BEGIN + DELETE FROM C6StoricoPeriodico.PATRIMONIO_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.PATRIMONIO_TERZI + (RETE, COD_FISCALE, NUM_POLIZZA, TIPO_POLIZZA, TIPO_PRODOTTO, TIPO_PRODOTTO2, COD_PRODOTTO, COD_PRODOTTO_TERZI, INTERMEDIARIO, DATA_SOTTOSCRIZIONE, DATA_SCADENZA, FREQ_RATA, DURATA_POLIZZA, PREMIO, ALIQUOTA, DATA_SOTT_FP, DATA_REGOLAMENTO, QUANTITA, PREZZO, CTV, VERSATO_NETTO, DIV_REGOLAMENTO, CAMBIO, DESCR_GRUPPO_PRODOTTO, ID_ELAB, TIPO_ELAB) + SELECT + PT.RETE, PT.COD_FISCALE, PT.NUM_POLIZZA, PT.TIPO_POLIZZA, PT.TIPO_PRODOTTO, PT.TIPO_PRODOTTO2, PT.COD_PRODOTTO, PT.COD_PRODOTTO_TERZI, PT.INTERMEDIARIO, PT.DATA_SOTTOSCRIZIONE, PT.DATA_SCADENZA, PT.FREQ_RATA, PT.DURATA_POLIZZA, PT.PREMIO, PT.ALIQUOTA, PT.DATA_SOTT_FP, PT.DATA_REGOLAMENTO, PT.QUANTITA, PT.PREZZO, PT.CTV, PT.VERSATO_NETTO, PT.DIV_REGOLAMENTO, PT.CAMBIO, PT.DESCR_GRUPPO_PRODOTTO, PT.ID_ELAB, PT.TIPO_ELAB + FROM C6MartPeriodico.PATRIMONIO_TERZI PT + LEFT OUTER JOIN C6StoricoPeriodico.PATRIMONIO_TERZI SPT + ON PT.RETE = SPT.RETE + AND PT.COD_FISCALE = SPT.COD_FISCALE + AND PT.COD_PRODOTTO = SPT.COD_PRODOTTO + AND PT.COD_PRODOTTO_TERZI = SPT.COD_PRODOTTO_TERZI + WHERE PT.ID_ELAB = @ID_ELAB AND SPT.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PIRAMIDE_MOD XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PIRAMIDE_MOD') + BEGIN + DELETE FROM C6StoricoPeriodico.PIRAMIDE_MOD WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.PIRAMIDE_MOD + (RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, TIPO_PROGETTO, PERC_AREA, CTV_PROGETTO, CTV_AREA, ORIZZ_TEMP, CTV_TOTALE, STATO_CONSULENZA, DATA_STATO_CONS, DATA_MIGR_CONS, ID_CONTRATTO, ID_ELAB, TIPO_ELAB) + SELECT + PM.RETE, PM.COD_FISCALE, PM.ID_AREA, PM.NOME_PROGETTO, PM.TIPO_PROGETTO, PM.PERC_AREA, PM.CTV_PROGETTO, PM.CTV_AREA, PM.ORIZZ_TEMP, PM.CTV_TOTALE, PM.STATO_CONSULENZA, PM.DATA_STATO_CONS, PM.DATA_MIGR_CONS, PM.ID_CONTRATTO, PM.ID_ELAB, PM.TIPO_ELAB + FROM C6MartPeriodico.PIRAMIDE_MOD PM + LEFT OUTER JOIN C6StoricoPeriodico.PIRAMIDE_MOD SPM + ON PM.RETE = SPM.RETE + AND PM.COD_FISCALE = SPM.COD_FISCALE + AND PM.ID_AREA = SPM.ID_AREA + AND PM.NOME_PROGETTO = SPM.NOME_PROGETTO + WHERE PM.ID_ELAB = @ID_ELAB AND SPM.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PIRAMIDE_VERT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PIRAMIDE_VERT') + BEGIN + DELETE FROM C6StoricoPeriodico.PIRAMIDE_VERT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.PIRAMIDE_VERT + (RETE, COD_FISCALE, ID_AREA, CTV_AREA, ID_ELAB, TIPO_ELAB) + SELECT + PV.RETE, PV.COD_FISCALE, PV.ID_AREA, PV.CTV_AREA, PV.ID_ELAB, PV.TIPO_ELAB + FROM C6MartPeriodico.PIRAMIDE_VERT PV + LEFT OUTER JOIN C6StoricoPeriodico.PIRAMIDE_VERT SPV + ON PV.RETE = SPV.RETE + AND PV.COD_FISCALE = SPV.COD_FISCALE + AND PV.ID_AREA = SPV.ID_AREA + WHERE PV.ID_ELAB = @ID_ELAB AND SPV.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX RISCHIO_AGGREGATO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'RISCHIO_AGGREGATO') + BEGIN + DELETE FROM C6StoricoPeriodico.RISCHIO_AGGREGATO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.RISCHIO_AGGREGATO + (RETE, COD_FISCALE, COD_AGGREG, VAR_ASSOLUTO_PTF, VAR_PERC_PTF, CVAR_ASSOLUTO_PTF, CVAR_PERC_PTF, MCVAR, MCVARP, BENEFICIO, COPERTURA, CTV_AGGREG, ID_ELAB, TIPO_ELAB) + SELECT + RA.RETE, RA.COD_FISCALE, RA.COD_AGGREG, RA.VAR_ASSOLUTO_PTF, RA.VAR_PERC_PTF, RA.CVAR_ASSOLUTO_PTF, RA.CVAR_PERC_PTF, RA.MCVAR, RA.MCVARP, RA.BENEFICIO, RA.COPERTURA, RA.CTV_AGGREG, RA.ID_ELAB, RA.TIPO_ELAB + FROM C6MartPeriodico.RISCHIO_AGGREGATO RA + LEFT OUTER JOIN C6StoricoPeriodico.RISCHIO_AGGREGATO SRA + ON RA.RETE = SRA.RETE + AND RA.COD_FISCALE = SRA.COD_FISCALE + AND RA.COD_AGGREG = SRA.COD_AGGREG + WHERE RA.ID_ELAB = @ID_ELAB AND SRA.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX STRUTTURA_RETE XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'STRUTTURA_RETE') + -- BEGIN + -- DELETE FROM C6StoricoPeriodico.STRUTTURA_RETE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6StoricoPeriodico.STRUTTURA_RETE + -- (Rete, PB, CognomeNomePB, SPV, CognomeNomeSPV, RM, CognomeNomeRM, DM, CognomeNomeDM, AM, CognomeNomeAM, Livello, ID_ELAB, TIPO_ELAB) + -- SELECT + -- Rete, PB, CognomeNomePB, SPV, CognomeNomeSPV, RM, CognomeNomeRM, DM, CognomeNomeDM, AM, CognomeNomeAM, Livello, ID_ELAB, TIPO_ELAB + -- FROM C6MartPeriodico.STRUTTURA_RETE WHERE ID_ELAB = @ID_ELAB + -- END + -- XX -- XX -- XX -- XX AGGIORNAMENTO DATI C6MartPeriodico.TabelleStoricizzate XX -- XX -- XX -- XX -- + IF(@NomeTabella IS NOT NULL) + BEGIN + UPDATE C6MartPeriodico.TabelleStoricizzate + SET + FINE = GETDATE(), + DURATA = DATEDIFF(SECOND ,INIZIO, GETDATE()) + WHERE NOME = @NomeTabella + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql b/sql/storedProduzione/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql new file mode 100644 index 00000000..1b4c8e2b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql @@ -0,0 +1,49 @@ +CREATE procedure [C6MartPeriodico].[SRV_STORICIZZAZIONE_GLOBAL_ERROR] + @NomeTabella AS VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_STORICIZZAZIONE_GLOBAL_ERROR', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MARTPERIODICO.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + DELETE FROM C6StoricoPeriodico.GLOBAL_ERROR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.GLOBAL_ERROR + (ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB) + SELECT + ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB + FROM dbo.GLOBAL_ERROR WHERE ID_ELAB = @ID_ELAB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR' + ) + TRUNCATE TABLE dbo.GLOBAL_ERROR +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective.sql new file mode 100644 index 00000000..43c83855 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective.sql @@ -0,0 +1,49 @@ +CREATE procedure [C6MartPeriodico].[SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective] + @NomeTabella AS VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MARTPERIODICO.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + DELETE FROM C6StoricoPeriodico.GLOBAL_ERROR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.GLOBAL_ERROR + (ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB) + SELECT + ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB + FROM dbo.GLOBAL_ERROR WHERE ID_ELAB = @ID_ELAB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective' + ) + TRUNCATE TABLE dbo.GLOBAL_ERROR +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_STORICIZZAZIONE_OLD.sql b/sql/storedProduzione/C6MartPeriodico_SRV_STORICIZZAZIONE_OLD.sql new file mode 100644 index 00000000..d80b2989 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_STORICIZZAZIONE_OLD.sql @@ -0,0 +1,444 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 21 gennaio 2009 +-- Description: Effettua una storicizzazione del DataMart prima dell'import di nuovi dati. +-- ============================================= +-- [C6MartPeriodico].[SRV_STORICIZZAZIONE] 'GESTIONE_EMAIL' +CREATE PROCEDURE [C6MartPeriodico].[SRV_STORICIZZAZIONE_OLD] + @NomeTabella AS VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MARTPERIODICO.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX TABELLA SPECIALE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --XXXXXXXXXXXXXXXXXXXXXXXX CONTRATTOSEI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONTRATTOSEI') + BEGIN + DELETE FROM C6StoricoPeriodico.CONTRATTOSEI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.CONTRATTOSEI + (Rete, Cod_Fiscale, Data_Sott, CodiceContratto, Cod_Agente, Data_Perf_Base, Data_Perf, Fascia_CPP, Email, Indirizzo, CAP, Citta, Prov, Nazione, Presso, Data_Inizio, Freq_Diagnosi, Freq_Monitor, Freq_DiagnosiPrec, Freq_MonitorPrec, Data_InizioConsInv, Data_InizioBase, Data_FineBase, Data_InizioAvanzato, Data_FineAvanzato, ProgressivoInvio, GenerazioneReport, InvioBenvenuto, DataUltimoInvio, ClienteMigrato, RisorseNA, NumSolleciti, Data_UltimoSollecito, NumRevoche, Data_UltimaRevoca, Note, ID_ELAB) + SELECT + Rete, Cod_Fiscale, Data_Sott, CodiceContratto, Cod_Agente, Data_Perf_Base, Data_Perf, Fascia_CPP, Email, Indirizzo, CAP, Citta, Prov, Nazione, Presso, Data_Inizio, Freq_Diagnosi, Freq_Monitor, Freq_DiagnosiPrec, Freq_MonitorPrec, Data_InizioConsInv, Data_InizioBase, Data_FineBase, Data_InizioAvanzato, Data_FineAvanzato, ProgressivoInvio, GenerazioneReport, InvioBenvenuto, DataUltimoInvio, ClienteMigrato, RisorseNA, NumSolleciti, Data_UltimoSollecito, NumRevoche, Data_UltimaRevoca, Note, @ID_ELAB + FROM C6Mart.CONTRATTOSEI --WHERE ID_ELAB = @ID_ELAB + END +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX FINE TABELLA SPECIALE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CC XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CC') + BEGIN + DELETE FROM C6StoricoPeriodico.ANAG_CC WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ANAG_CC + (RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB, TIPO_ELAB + FROM C6MartPeriodico.ANAG_CC WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CC_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CC_TERZI') + BEGIN + DELETE FROM C6StoricoPeriodico.ANAG_CC_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ANAG_CC_TERZI + (RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB) + SELECT + RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB + FROM C6MartPeriodico.ANAG_CC_TERZI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CLIENTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CLIENTI') + BEGIN + DELETE FROM C6StoricoPeriodico.ANAG_CLIENTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ANAG_CLIENTI + (RETE, COD_FISCALE, NOME, COGNOME, DATA_NASCITA, STATO_CIVILE, NUM_COMPONENTI, NUM_FIGLI, ETA, PARTITA_IVA, CITTADINANZA, PERSONA_FIS_GIUR, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, PRESSO, TEL_RECAPITO, TEL_CELL, E_MAIL, DATA_INIZIO, DATA_FINE, STATO, RAG_SOC, SESSO, ID_PROMOTORE, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, NOME, COGNOME, DATA_NASCITA, STATO_CIVILE, NUM_COMPONENTI, NUM_FIGLI, ETA, PARTITA_IVA, CITTADINANZA, PERSONA_FIS_GIUR, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, PRESSO, TEL_RECAPITO, TEL_CELL, E_MAIL, DATA_INIZIO, DATA_FINE, STATO, RAG_SOC, SESSO, ID_PROMOTORE, ID_ELAB, TIPO_ELAB + FROM C6MartPeriodico.ANAG_CLIENTI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CLIENTI_PREV XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CLIENTI_PREV') + BEGIN + DELETE FROM C6StoricoPeriodico.ANAG_CLIENTI_PREV WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ANAG_CLIENTI_PREV + (RETE, COD_FISCALE, STATO_LAVORATIVO, PROFESSIONE, CAT_PROFESSIONALE, DATA_INIZIO, DATA_FINE, RETRIB_LORDA, PROFESSIONE_SEC, CAT_PROFESSIONALE_SEC, DATA_INIZIO_SEC, DATA_FINE_SEC, RETRIB_LORDA_SEC, PROFESSIONE_PREC, CAT_PROFESSIONALE_PREC, DATA_INIZIO_PREC, DATA_FINE_PREC, RETRIB_LORDA_PREC, RICONGIUNZIONE, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, STATO_LAVORATIVO, PROFESSIONE, CAT_PROFESSIONALE, DATA_INIZIO, DATA_FINE, RETRIB_LORDA, PROFESSIONE_SEC, CAT_PROFESSIONALE_SEC, DATA_INIZIO_SEC, DATA_FINE_SEC, RETRIB_LORDA_SEC, PROFESSIONE_PREC, CAT_PROFESSIONALE_PREC, DATA_INIZIO_PREC, DATA_FINE_PREC, RETRIB_LORDA_PREC, RICONGIUNZIONE, ID_ELAB, TIPO_ELAB + FROM C6MartPeriodico.ANAG_CLIENTI_PREV WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_PRODOTTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_PRODOTTI') + BEGIN + DELETE FROM C6StoricoPeriodico.ANAG_PRODOTTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ANAG_PRODOTTI + (COD_PRODOTTO, COD_ISIN, PAESE, ID_AREA, CAT_PRODOTTO, TIPO_PRODOTTO, DESCR_PRODOTTO, DIV_QUOTAZIONE, DIV_REGOLAMENTO, ID_EMITTENTE, MERCATO_CONTRATT, COD_MAF, RATING, COD_ADEGUATEZZA, COD_SOTTOPRODOTTO, COD_INTERNO, ID_ELAB, TIPO_ELAB) + SELECT + COD_PRODOTTO, COD_ISIN, PAESE, ID_AREA, CAT_PRODOTTO, TIPO_PRODOTTO, DESCR_PRODOTTO, DIV_QUOTAZIONE, DIV_REGOLAMENTO, ID_EMITTENTE, MERCATO_CONTRATT, COD_MAF, RATING, COD_ADEGUATEZZA, COD_SOTTOPRODOTTO, COD_INTERNO, ID_ELAB, TIPO_ELAB + FROM C6MartPeriodico.ANAG_PRODOTTI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_PRODOTTI_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_PRODOTTI_TERZI') + BEGIN + DELETE FROM C6StoricoPeriodico.ANAG_PRODOTTI_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ANAG_PRODOTTI_TERZI + (COD_PRODOTTO, COD_PRODOTTO_TERZI, NOME_PRODOTTO, ALBERO_PRODOTTI, COD_ISIN, DESCR_PRODOTTO, DIV_QUOTAZIONE, INTERMEDIARIO, DIV_REGOLAMENTO, ID_EMITTENTE, MERCATO_CONTRATT, PAESE, RATING, ID_ELAB, TIPO_ELAB) + SELECT + COD_PRODOTTO, COD_PRODOTTO_TERZI, NOME_PRODOTTO, ALBERO_PRODOTTI, COD_ISIN, DESCR_PRODOTTO, DIV_QUOTAZIONE, INTERMEDIARIO, DIV_REGOLAMENTO, ID_EMITTENTE, MERCATO_CONTRATT, PAESE, RATING, ID_ELAB, TIPO_ELAB + FROM C6MartPeriodico.ANAG_PRODOTTI_TERZI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_PROMOTORI') + BEGIN + DELETE FROM C6StoricoPeriodico.ANAG_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ANAG_PROMOTORI + (RETE, ID_PROMOTORE, LIVELLO, COD_FISCALE, PARTITA_IVA, COGNOME, NOME, RAG_SOC, DATA_INIZIO, DATA_FINE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, TEL_RECAPITO, TEL_CELL, E_MAIL, COD_ABI, COD_CAB, COD_CIN, COD_CC, STATO, ID_ELAB, TIPO_ELAB) + SELECT + RETE, ID_PROMOTORE, LIVELLO, COD_FISCALE, PARTITA_IVA, COGNOME, NOME, RAG_SOC, DATA_INIZIO, DATA_FINE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, TEL_RECAPITO, TEL_CELL, E_MAIL, COD_ABI, COD_CAB, COD_CIN, COD_CC, STATO, ID_ELAB, TIPO_ELAB + FROM C6MartPeriodico.ANAG_PROMOTORI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX AREA_BISOGNO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'AREA_BISOGNO') + BEGIN + DELETE FROM C6StoricoPeriodico.AREA_BISOGNO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.AREA_BISOGNO + (ID_AREA, NOME_AREA, ORDINAMENTO, ID_ELAB) + SELECT + ID_AREA, NOME_AREA, ORDINAMENTO, ID_ELAB + FROM C6MartPeriodico.AREA_BISOGNO WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSET_PERC XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSET_PERC') + BEGIN + DELETE FROM C6StoricoPeriodico.ASSET_PERC WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ASSET_PERC + (COD_PRODOTTO, ID_ASSETCLASS, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, LIVELLO, PERC, ID_ELAB, TIPO_ELAB) + SELECT + COD_PRODOTTO, ID_ASSETCLASS, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, LIVELLO, PERC, ID_ELAB, TIPO_ELAB + FROM C6MartPeriodico.ASSET_PERC WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSET_PERC_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSET_PERC_TERZI') + BEGIN + DELETE FROM C6StoricoPeriodico.ASSET_PERC_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ASSET_PERC_TERZI + (COD_PRODOTTO_TERZI, ID_ASSETCLASS, LIVELLO, NOME_PRODOTTO, TIPO_PRODOTTO, PERC, ID_ELAB, TIPO_ELAB) + SELECT + COD_PRODOTTO_TERZI, ID_ASSETCLASS, LIVELLO, NOME_PRODOTTO, TIPO_PRODOTTO, PERC, ID_ELAB, TIPO_ELAB + FROM C6MartPeriodico.ASSET_PERC_TERZI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS') + BEGIN + DELETE FROM C6StoricoPeriodico.ASSETCLASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ASSETCLASS + (ID_ASSETCLASS, DESCRIZIONE, LIVELLO, ORDINAMENTO, ID_ELAB) + SELECT + ID_ASSETCLASS, DESCRIZIONE, LIVELLO, ORDINAMENTO, ID_ELAB + FROM C6MartPeriodico.ASSETCLASS WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS_TERZI') + BEGIN + DELETE FROM C6StoricoPeriodico.ASSETCLASS_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ASSETCLASS_TERZI + (ID_ASSETCLASS, COD_ISIN, COD_MAF, COD_ADEGUATEZZA, ID_ELAB, TIPO_ELAB) + SELECT + ID_ASSETCLASS, COD_ISIN, COD_MAF, COD_ADEGUATEZZA, ID_ELAB, TIPO_ELAB + FROM C6MartPeriodico.ASSETCLASS_TERZI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX CLIENTI_CON_RNA_ALTO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CLIENTI_CON_RNA_ALTO') + BEGIN + DELETE FROM C6StoricoPeriodico.CLIENTI_CON_RNA_ALTO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.CLIENTI_CON_RNA_ALTO + ([Rete] + ,[CodicePB] + ,[CodiceFiscale] + ,[Percentuale] + ,[DataCalcolo] + , ID_ELAB) + SELECT + [Rete] + ,[CodicePB] + ,[CodiceFiscale] + ,[Percentuale] + ,[DataCalcolo] + , @ID_ELAB + FROM C6MartPeriodico.CLIENTI_CON_RNA_ALTO + END + --XXXXXXXXXXXXXXXXXXXXXXXX CODICI_PROMOTORI_FITTIZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CODICI_PROMOTORI_FITTIZI') + BEGIN + DELETE FROM C6StoricoPeriodico.CODICI_PROMOTORI_FITTIZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.CODICI_PROMOTORI_FITTIZI + (Rete, CodiceDA, CodiceA, ID_ELAB) + SELECT + Rete, CodiceDA, CodiceA, @ID_ELAB + FROM C6MartPeriodico.CODICI_PROMOTORI_FITTIZI + END + --XXXXXXXXXXXXXXXXXXXXXXXX CODIFICA_RISCHIO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CODIFICA_RISCHIO') + BEGIN + DELETE FROM C6StoricoPeriodico.CODIFICA_RISCHIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.CODIFICA_RISCHIO + (PROFILO, DESCRIZIONE, MIN_VAR, MAX_VAR, ID_ELAB) + SELECT + PROFILO, DESCRIZIONE, MIN_VAR, MAX_VAR, ID_ELAB + FROM C6MartPeriodico.CODIFICA_RISCHIO WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONGELAMENTO_SEI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONGELAMENTO_SEI') + BEGIN + DELETE FROM C6StoricoPeriodico.CONGELAMENTO_SEI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.CONGELAMENTO_SEI + (DATA_CONGELAMENTO, ID_ELAB) + SELECT + DATA_CONGELAMENTO, @ID_ELAB + FROM C6StagingPeriodico.CONGELAMENTO_SEI + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONO_PIANIFICAZIONE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONO_PIANIFICAZIONE') + BEGIN + DELETE FROM C6StoricoPeriodico.CONO_PIANIFICAZIONE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.CONO_PIANIFICAZIONE + (RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, DATA_CONO, SCENARIO_PESSIMISTICO, SCENARIO_MEDIO, SCENARIO_OTTIMISTICO, ID_ELAB) + SELECT + RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, DATA_CONO, SCENARIO_PESSIMISTICO, SCENARIO_MEDIO, SCENARIO_OTTIMISTICO, ID_ELAB + FROM C6MartPeriodico.CONO_PIANIFICAZIONE WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX DATI_REPORT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'DATI_REPORT') + BEGIN + DELETE FROM C6StoricoPeriodico.DATI_REPORT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.DATI_REPORT + (RETE, COD_FISCALE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, FLAG_REPORT, REPORT_DIAGN, REPORT_MONIT, DATA_REPORT, REPORT_FREQ, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, FLAG_REPORT, REPORT_DIAGN, REPORT_MONIT, DATA_REPORT, REPORT_FREQ, ID_ELAB, TIPO_ELAB + FROM C6MartPeriodico.DATI_REPORT WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX DETTAGLIO_ASUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'DETTAGLIO_ASUL') + BEGIN + DELETE FROM C6StoricoPeriodico.DETTAGLIO_ASUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.DETTAGLIO_ASUL + (RETE, COD_FISCALE, COD_PRODOTTO, ID_CONTRATTO, COD_SOTTOPRODOTTO, COD_INTERNO, CTV, DATA_RIF, COD_ISIN_FITTIZIO, COD_ISIN_SOTT, COD_MAF_SOTT, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, COD_PRODOTTO, ID_CONTRATTO, COD_SOTTOPRODOTTO, COD_INTERNO, CTV, DATA_RIF, COD_ISIN_FITTIZIO, COD_ISIN_SOTT, COD_MAF_SOTT, ID_ELAB, TIPO_ELAB + FROM C6MartPeriodico.DETTAGLIO_ASUL WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ELABORAZIONI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ELABORAZIONI') + BEGIN + DELETE FROM C6StoricoPeriodico.ELABORAZIONI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ELABORAZIONI + (ID_ELAB, TIPO_ELAB, DATA_OPERAZIONE) + SELECT + ID_ELAB, TIPO_ELAB, DATA_OPERAZIONE + FROM C6MartPeriodico.ELABORAZIONI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ELABORAZIONI_EMAIL_RNA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ELABORAZIONI_EMAIL_RNA') + BEGIN + DELETE FROM C6StoricoPeriodico.ELABORAZIONI_EMAIL_RNA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ELABORAZIONI_EMAIL_RNA + ([Data_Elaborazione],[ID_ELAB]) + SELECT + [Data_Elaborazione],@ID_ELAB + FROM C6MartPeriodico.ELABORAZIONI_EMAIL_RNA WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX EMAIL_PB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'EMAIL_PB') + BEGIN + DELETE FROM C6StoricoPeriodico.EMAIL_PB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.EMAIL_PB + (RETE, CODICE, PREFISSO, FIRMA, EMAIL, ID_ELAB, TIPO_ELAB) + SELECT + RETE, CODICE, PREFISSO, FIRMA, EMAIL, ID_ELAB, TIPO_ELAB + FROM C6MartPeriodico.EMAIL_PB WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX GESTIONE_EMAIL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'GESTIONE_EMAIL') + BEGIN + DELETE FROM C6StoricoPeriodico.GESTIONE_EMAIL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.GESTIONE_EMAIL + (Email_Id, Rete, CodicePB, Tipo, Data_Generazione, Inviata, Data_Invio, ID_ELAB) + SELECT + Email_Id, Rete, CodicePB, Tipo, Data_Generazione, Inviata, Data_Invio, ID_ELAB + FROM C6MartPeriodico.GESTIONE_EMAIL WHERE ID_ELAB = @ID_ELAB + END +-- --XXXXXXXXXXXXXXXXXXX GESTITA SEPARATAMENTE XXXXXXXXXXXXXXXXXXX-- +-- --XXXXXXXXXXXXXXXXXXXXXXXX GLOBAL_ERROR XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'GLOBAL_ERROR') +-- BEGIN +-- DELETE FROM C6StoricoPeriodico.GLOBAL_ERROR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6StoricoPeriodico.GLOBAL_ERROR +-- (ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB) +-- SELECT +-- ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB +-- FROM C6MartPeriodico.GLOBAL_ERROR WHERE ID_ELAB = @ID_ELAB +-- END + --XXXXXXXXXXXXXXXXXXXXXXXX MIFID XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MIFID') + BEGIN + DELETE FROM C6StoricoPeriodico.MIFID WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.MIFID(RETE, COD_FISCALE, PROFILO_ASS, DATA_INIZIO_VAL,ID_ELAB) + SELECT + RETE, COD_FISCALE, PROFILO_ASS, DATA_INIZIO_VAL, @ID_ELAB + FROM C6MartPeriodico.MIFID WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX MONITORAGGIO_ATTUALE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MONITORAGGIO_ATTUALE') + BEGIN + DELETE FROM C6StoricoPeriodico.MONITORAGGIO_ATTUALE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.MONITORAGGIO_ATTUALE + (RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, DATA_ATTIVAZIONE, DATA_CTV, CTV_MONITORATO, APPORTO_INIZIALE, APPORTO_SUCCESSIVO, LIQUIDAZIONI, CEDOLE_DIVIDENDI, MINUS_PLUSVALENZA, RISORSE_ASSOCIATE, RENDIMENTO_CUMULATO, RENDIMENTO_ANNUALIZZATO, ORDINAMENTO_PROGETTO,ID_ELAB) + SELECT + RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, DATA_ATTIVAZIONE, DATA_CTV, CTV_MONITORATO, APPORTO_INIZIALE, APPORTO_SUCCESSIVO, LIQUIDAZIONI, CEDOLE_DIVIDENDI, MINUS_PLUSVALENZA, RISORSE_ASSOCIATE, RENDIMENTO_CUMULATO, RENDIMENTO_ANNUALIZZATO, ORDINAMENTO_PROGETTO,@ID_ELAB + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + END + --XXXXXXXXXXXXXXXXXXXXXXXX MONITORAGGIO_DETTAGLIO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MONITORAGGIO_DETTAGLIO') + BEGIN + DELETE FROM C6StoricoPeriodico.MONITORAGGIO_DETTAGLIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.MONITORAGGIO_DETTAGLIO + (RETE, COD_FISCALE, POSITION_ID, ID_AREA, DATA_ASSOCIAZIONE, VERSATO_NETTO_DA_ASSOC, UTILE_PERDITA_DA_ASSOC, ID_ELAB) + SELECT + RETE, COD_FISCALE, POSITION_ID, ID_AREA, DATA_ASSOCIAZIONE, VERSATO_NETTO_DA_ASSOC, UTILE_PERDITA_DA_ASSOC, @ID_ELAB + FROM C6MartPeriodico.MONITORAGGIO_DETTAGLIO + END + --XXXXXXXXXXXXXXXXXXXXXXXX MONITORAGGIO_INIZIALE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MONITORAGGIO_INIZIALE') + BEGIN + DELETE FROM C6StoricoPeriodico.MONITORAGGIO_INIZIALE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.MONITORAGGIO_INIZIALE + (RETE, COD_FISCALE, DATA_FOTO, CTV_TOTALE, CTV_EXT, CTV_INV, CTV_RIS, CTV_PRE, CTV_LIQ, CTV_CC, CTV_NA, PARTITA_VIAGGIANTE, VAR_COMPLESSIVO, VAR_COPERTURA, ID_ELAB) + SELECT + RETE, COD_FISCALE, DATA_FOTO, CTV_TOTALE, CTV_EXT, CTV_INV, CTV_RIS, CTV_PRE, CTV_LIQ, CTV_CC, CTV_NA, PARTITA_VIAGGIANTE, VAR_COMPLESSIVO, VAR_COPERTURA, @ID_ELAB + FROM C6MartPeriodico.MONITORAGGIO_INIZIALE + END + --XXXXXXXXXXXXXXXXXXXXXXXX MONITORAGGIO_REPORT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MONITORAGGIO_REPORT') + BEGIN + DELETE FROM C6StoricoPeriodico.MONITORAGGIO_REPORT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.MONITORAGGIO_REPORT + (RETE, COD_FISCALE, DATA_INVIO, CTV_TOTALE, CTV_EXT, CTV_INV, CTV_RIS, CTV_PRE, CTV_LIQ, CTV_CC, CTV_NA, PARTITA_VIAGGIANTE, VAR_COMPLESSIVO, VAR_COPERTURA, ID_ELAB) + SELECT + RETE, COD_FISCALE, DATA_INVIO, CTV_TOTALE, CTV_EXT, CTV_INV, CTV_RIS, CTV_PRE, CTV_LIQ, CTV_CC, CTV_NA, PARTITA_VIAGGIANTE, VAR_COMPLESSIVO, VAR_COPERTURA, @ID_ELAB + FROM C6MartPeriodico.MONITORAGGIO_REPORT + END + --XXXXXXXXXXXXXXXXXXXXXXXX MONITORAGGIO_STORICO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MONITORAGGIO_STORICO') + BEGIN + DELETE FROM C6StoricoPeriodico.MONITORAGGIO_STORICO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.MONITORAGGIO_STORICO + (RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, DATA_CTV, CTV_MONITORATO, RISORSE_ASSOCIATE, ID_ELAB) + SELECT + RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, DATA_CTV, CTV_MONITORATO, RISORSE_ASSOCIATE, @ID_ELAB + FROM C6MartPeriodico.MONITORAGGIO_STORICO + END + --XXXXXXXXXXXXXXXXXXXXXXXX PARTITE_VIAGGIANTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PARTITE_VIAGGIANTI') + BEGIN + DELETE FROM C6Storico.PARTITE_VIAGGIANTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PARTITE_VIAGGIANTI + (RETE, COD_FISCALE, IMPORTO, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, IMPORTO, ID_ELAB, TIPO_ELAB + FROM C6Mart.PARTITE_VIAGGIANTI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_ALTRO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_ALTRO') + BEGIN + DELETE FROM C6StoricoPeriodico.PATRIMONIO_ALTRO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.PATRIMONIO_ALTRO + (RETE, COD_FISCALE, QUANTITA, DESCRIZIONE, CTV, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, QUANTITA, DESCRIZIONE, CTV, ID_ELAB, TIPO_ELAB + FROM C6MartPeriodico.PATRIMONIO_ALTRO WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_BF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_BF') + BEGIN + DELETE FROM C6StoricoPeriodico.PATRIMONIO_BF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.PATRIMONIO_BF + (RETE, COD_FISCALE, POSITION_ID, COD_PRODOTTO, ID_CONTRATTO, DATA_SOTTOSCRIZIONE, COD_STATO, NUM_POLIZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TIPO_PRODOTTO, NOME_PROGETTO, ID_AREA, DATA_OPERAZIONE, DATA_VALUTA, DATA_REGOLAMENTO, QUANTITA, PREZZO, CTV, CTV_NOMINALE, VERSATO_NETTO, PARTVIA_DISINV, DATA_PARTVIA_DISINV, PARTVIA_INV, REND_SOTTOSCRIZIONE, REND_TRIMESTRE, REND_ANNO, REND_NON_RAPPR, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, POSITION_ID, COD_PRODOTTO, ID_CONTRATTO, DATA_SOTTOSCRIZIONE, COD_STATO, NUM_POLIZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TIPO_PRODOTTO, NOME_PROGETTO, ID_AREA, DATA_OPERAZIONE, DATA_VALUTA, DATA_REGOLAMENTO, QUANTITA, PREZZO, CTV, CTV_NOMINALE, VERSATO_NETTO, PARTVIA_DISINV, DATA_PARTVIA_DISINV, PARTVIA_INV, REND_SOTTOSCRIZIONE, REND_TRIMESTRE, REND_ANNO, REND_NON_RAPPR, ID_ELAB, TIPO_ELAB + FROM C6MartPeriodico.PATRIMONIO_BF WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_IMMOBILIARE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_IMMOBILIARE') + BEGIN + DELETE FROM C6StoricoPeriodico.PATRIMONIO_IMMOBILIARE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.PATRIMONIO_IMMOBILIARE + (RETE, COD_FISCALE, DESCRIZIONE, TIPOLOGIA, LOCALITA, PROVINCIA, CAP, NAZIONE, VALORE_STIMATO, AFFITTO, NOTE, DIV_RIFERIMENTO, CAMBIO, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, DESCRIZIONE, TIPOLOGIA, LOCALITA, PROVINCIA, CAP, NAZIONE, VALORE_STIMATO, AFFITTO, NOTE, DIV_RIFERIMENTO, CAMBIO, ID_ELAB, TIPO_ELAB + FROM C6MartPeriodico.PATRIMONIO_IMMOBILIARE WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_TERZI') + BEGIN + DELETE FROM C6StoricoPeriodico.PATRIMONIO_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.PATRIMONIO_TERZI + (RETE, COD_FISCALE, NUM_POLIZZA, TIPO_POLIZZA, TIPO_PRODOTTO, TIPO_PRODOTTO2, COD_PRODOTTO, COD_PRODOTTO_TERZI, INTERMEDIARIO, DATA_SOTTOSCRIZIONE, DATA_SCADENZA, FREQ_RATA, DURATA_POLIZZA, PREMIO, ALIQUOTA, DATA_SOTT_FP, DATA_REGOLAMENTO, QUANTITA, PREZZO, CTV, VERSATO_NETTO, DIV_REGOLAMENTO, CAMBIO, DESCR_GRUPPO_PRODOTTO, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, NUM_POLIZZA, TIPO_POLIZZA, TIPO_PRODOTTO, TIPO_PRODOTTO2, COD_PRODOTTO, COD_PRODOTTO_TERZI, INTERMEDIARIO, DATA_SOTTOSCRIZIONE, DATA_SCADENZA, FREQ_RATA, DURATA_POLIZZA, PREMIO, ALIQUOTA, DATA_SOTT_FP, DATA_REGOLAMENTO, QUANTITA, PREZZO, CTV, VERSATO_NETTO, DIV_REGOLAMENTO, CAMBIO, DESCR_GRUPPO_PRODOTTO, ID_ELAB, TIPO_ELAB + FROM C6MartPeriodico.PATRIMONIO_TERZI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX PIRAMIDE_MOD XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PIRAMIDE_MOD') + BEGIN + DELETE FROM C6StoricoPeriodico.PIRAMIDE_MOD WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.PIRAMIDE_MOD + (RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, TIPO_PROGETTO, PERC_AREA, CTV_PROGETTO, CTV_AREA, ORIZZ_TEMP, CTV_TOTALE, STATO_CONSULENZA, DATA_STATO_CONS, DATA_MIGR_CONS, ID_CONTRATTO, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, TIPO_PROGETTO, PERC_AREA, CTV_PROGETTO, CTV_AREA, ORIZZ_TEMP, CTV_TOTALE, STATO_CONSULENZA, DATA_STATO_CONS, DATA_MIGR_CONS, ID_CONTRATTO, ID_ELAB, TIPO_ELAB + FROM C6MartPeriodico.PIRAMIDE_MOD WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX PIRAMIDE_VERT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PIRAMIDE_VERT') + BEGIN + DELETE FROM C6StoricoPeriodico.PIRAMIDE_VERT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.PIRAMIDE_VERT + (RETE, COD_FISCALE, ID_AREA, CTV_AREA, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, ID_AREA, CTV_AREA, ID_ELAB, TIPO_ELAB + FROM C6MartPeriodico.PIRAMIDE_VERT WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX RISCHIO_AGGREGATO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'RISCHIO_AGGREGATO') + BEGIN + DELETE FROM C6StoricoPeriodico.RISCHIO_AGGREGATO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.RISCHIO_AGGREGATO + (RETE, COD_FISCALE, COD_AGGREG, VAR_ASSOLUTO_PTF, VAR_PERC_PTF, CVAR_ASSOLUTO_PTF, CVAR_PERC_PTF, MCVAR, MCVARP, BENEFICIO, COPERTURA, CTV_AGGREG, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, COD_AGGREG, VAR_ASSOLUTO_PTF, VAR_PERC_PTF, CVAR_ASSOLUTO_PTF, CVAR_PERC_PTF, MCVAR, MCVARP, BENEFICIO, COPERTURA, CTV_AGGREG, ID_ELAB, TIPO_ELAB + FROM C6MartPeriodico.RISCHIO_AGGREGATO WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX STRUTTURA_RETE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'STRUTTURA_RETE') + BEGIN + DELETE FROM C6StoricoPeriodico.STRUTTURA_RETE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.STRUTTURA_RETE + (Rete, PB, CognomeNomePB, SPV, CognomeNomeSPV, RM, CognomeNomeRM, DM, CognomeNomeDM, AM, CognomeNomeAM, Livello, ID_ELAB, TIPO_ELAB) + SELECT + Rete, PB, CognomeNomePB, SPV, CognomeNomeSPV, RM, CognomeNomeRM, DM, CognomeNomeDM, AM, CognomeNomeAM, Livello, ID_ELAB, TIPO_ELAB + FROM C6MartPeriodico.STRUTTURA_RETE WHERE ID_ELAB = @ID_ELAB + END + -- XX -- XX -- XX -- XX AGGIORNAMENTO DATI C6MartPeriodico.TabelleStoricizzate XX -- XX -- XX -- XX -- + IF(@NomeTabella IS NOT NULL) + BEGIN + UPDATE C6MartPeriodico.TabelleStoricizzate + SET + FINE = GETDATE(), + DURATA = DATEDIFF(SECOND ,INIZIO, GETDATE()) + WHERE NOME = @NomeTabella + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_TABELLE_IN_MART.sql b/sql/storedProduzione/C6MartPeriodico_SRV_TABELLE_IN_MART.sql new file mode 100644 index 00000000..6579d500 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_TABELLE_IN_MART.sql @@ -0,0 +1,98 @@ +CREATE procedure [C6MartPeriodico].[SRV_TABELLE_IN_MART] +AS +BEGIN + DECLARE @tabella AS VARCHAR(50) + SET @tabella = NULL + SELECT TOP 1 @tabella = A.tabella + FROM( + SELECT tables.name tabella + FROM sys.tables tables + INNER JOIN sys.schemas schemas + ON tables.schema_id = schemas.schema_id + WHERE schemas.name = 'C6MartPeriodico' + AND tables.name NOT IN ('TabelleStoricizzate','VerificheCampione','GLOBAL_ERROR') + ) A + WHERE A.tabella NOT IN ( + SELECT Nome + FROM C6MartPeriodico.TabelleStoricizzate + ) + ORDER BY A.tabella + -- vedi stessa sp di Staging + /*INSERT INTO [C6MartPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella)*/ + DECLARE @tabellaMartDaStoricizzare AS SMALLINT + IF @tabella IS NOT NULL + BEGIN + INSERT INTO [C6MartPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella) + EXEC [C6MartPeriodico].[SRV_STORICIZZAZIONE] @tabella + SET @tabellaMartDaStoricizzare = 1 + END + ELSE + SET @tabellaMartDaStoricizzare = 0 + SELECT @tabellaMartDaStoricizzare tabella, @tabella nome +-- DECLARE @tabella AS VARCHAR(50) +-- SET @tabella = NULL +-- +-- -- AGGIORNAMENTO TABELLA C6MartPeriodico.TabelleStoricizzate: +-- --> CANCELLO LE VECCHIE +-- DELETE C6MartPeriodico.TabelleStoricizzate +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- RIGHT JOIN C6MartPeriodico.TabelleStoricizzate +-- ON tables.name = TabelleStoricizzate.NOME +-- WHERE schemas.name = 'C6MartPeriodico' +-- AND tables.name IS NULL +-- AND tables.name <> 'CONTRATTOSEI' +-- +-- --> INSERISCO LE NUOVE TABELLE +-- INSERT INTO C6MartPeriodico.TabelleStoricizzate (NOME, STORICIZZATA) +-- SELECT A.NOME, A.STORICIZZATA +-- FROM ( +-- SELECT tables.name AS NOME, 0 AS STORICIZZATA +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- WHERE schemas.name = 'C6MartPeriodico' +-- UNION +-- SELECT 'CONTRATTOSEI', 0 +-- ) A +-- LEFT JOIN C6MartPeriodico.TabelleStoricizzate +-- ON TabelleStoricizzate.NOME = A.NOME +-- WHERE TabelleStoricizzate.NOME IS NULL +-- -- FINE AGGIORNAMENTO TABELLA +-- +-- BEGIN TRANSACTION +-- +-- -- SELEZIONE TABELLA +-- SELECT TOP 1 @tabella = NOME +-- FROM C6MartPeriodico.TabelleStoricizzate +-- WHERE STORICIZZATA = 0 +-- ORDER BY DURATA DESC +-- +-- -- MARCATURA TABELLA SELEZIONATA +-- UPDATE C6MartPeriodico.TabelleStoricizzate +-- SET +-- STORICIZZATA = 1, +-- VECCHIA_DURATA = DURATA, +-- INIZIO = GETDATE() +-- WHERE NOME = @tabella +-- +-- COMMIT TRANSACTION +-- +-- DECLARE @tabellaMartDaStoricizzare AS SMALLINT +-- IF @tabella IS NOT NULL +-- BEGIN +-- EXEC C6MartPeriodico.SRV_STORICIZZAZIONE @tabella +-- SET @tabellaMartDaStoricizzare = 1 +-- END +-- ELSE +-- SET @tabellaMartDaStoricizzare = 0 +-- +-- SELECT @tabellaMartDaStoricizzare tabella, @tabella nome +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_TABELLE_IN_MART_pre_selective.sql b/sql/storedProduzione/C6MartPeriodico_SRV_TABELLE_IN_MART_pre_selective.sql new file mode 100644 index 00000000..c42bdfa2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_TABELLE_IN_MART_pre_selective.sql @@ -0,0 +1,98 @@ +CREATE procedure [C6MartPeriodico].[SRV_TABELLE_IN_MART_pre_selective] +AS +BEGIN + DECLARE @tabella AS VARCHAR(50) + SET @tabella = NULL + SELECT TOP 1 @tabella = A.tabella + FROM( + SELECT tables.name tabella + FROM sys.tables tables + INNER JOIN sys.schemas schemas + ON tables.schema_id = schemas.schema_id + WHERE schemas.name = 'C6MartPeriodico' + AND tables.name NOT IN ('TabelleStoricizzate','VerificheCampione','GLOBAL_ERROR') + ) A + WHERE A.tabella NOT IN ( + SELECT Nome + FROM C6MartPeriodico.TabelleStoricizzate + ) + ORDER BY A.tabella + -- vedi stessa sp di Staging + /*INSERT INTO [C6MartPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella)*/ + DECLARE @tabellaMartDaStoricizzare AS SMALLINT + IF @tabella IS NOT NULL + BEGIN + INSERT INTO [C6MartPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella) + EXEC [C6MartPeriodico].[SRV_STORICIZZAZIONE] @tabella + SET @tabellaMartDaStoricizzare = 1 + END + ELSE + SET @tabellaMartDaStoricizzare = 0 + SELECT @tabellaMartDaStoricizzare tabella, @tabella nome +-- DECLARE @tabella AS VARCHAR(50) +-- SET @tabella = NULL +-- +-- -- AGGIORNAMENTO TABELLA C6MartPeriodico.TabelleStoricizzate: +-- --> CANCELLO LE VECCHIE +-- DELETE C6MartPeriodico.TabelleStoricizzate +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- RIGHT JOIN C6MartPeriodico.TabelleStoricizzate +-- ON tables.name = TabelleStoricizzate.NOME +-- WHERE schemas.name = 'C6MartPeriodico' +-- AND tables.name IS NULL +-- AND tables.name <> 'CONTRATTOSEI' +-- +-- --> INSERISCO LE NUOVE TABELLE +-- INSERT INTO C6MartPeriodico.TabelleStoricizzate (NOME, STORICIZZATA) +-- SELECT A.NOME, A.STORICIZZATA +-- FROM ( +-- SELECT tables.name AS NOME, 0 AS STORICIZZATA +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- WHERE schemas.name = 'C6MartPeriodico' +-- UNION +-- SELECT 'CONTRATTOSEI', 0 +-- ) A +-- LEFT JOIN C6MartPeriodico.TabelleStoricizzate +-- ON TabelleStoricizzate.NOME = A.NOME +-- WHERE TabelleStoricizzate.NOME IS NULL +-- -- FINE AGGIORNAMENTO TABELLA +-- +-- BEGIN TRANSACTION +-- +-- -- SELEZIONE TABELLA +-- SELECT TOP 1 @tabella = NOME +-- FROM C6MartPeriodico.TabelleStoricizzate +-- WHERE STORICIZZATA = 0 +-- ORDER BY DURATA DESC +-- +-- -- MARCATURA TABELLA SELEZIONATA +-- UPDATE C6MartPeriodico.TabelleStoricizzate +-- SET +-- STORICIZZATA = 1, +-- VECCHIA_DURATA = DURATA, +-- INIZIO = GETDATE() +-- WHERE NOME = @tabella +-- +-- COMMIT TRANSACTION +-- +-- DECLARE @tabellaMartDaStoricizzare AS SMALLINT +-- IF @tabella IS NOT NULL +-- BEGIN +-- EXEC C6MartPeriodico.SRV_STORICIZZAZIONE @tabella +-- SET @tabellaMartDaStoricizzare = 1 +-- END +-- ELSE +-- SET @tabellaMartDaStoricizzare = 0 +-- +-- SELECT @tabellaMartDaStoricizzare tabella, @tabella nome +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_TRUNCATE_RP_STAGING.sql b/sql/storedProduzione/C6MartPeriodico_SRV_TRUNCATE_RP_STAGING.sql new file mode 100644 index 00000000..fa994021 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_TRUNCATE_RP_STAGING.sql @@ -0,0 +1,52 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_TRUNCATE_RP_STAGING] + -- Add the parameters for the stored procedure here +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- *** TABELLE GESTIONE ERRORE *** -- + -- TRUNCATE TABLE dbo.GLOBAL_ERROR; + -- *** FINE TABELLE GESTIONE ERRORE *** -- + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_Staging SEI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6Staging.RP_Proposta; + TRUNCATE TABLE C6Staging.RP_DettaglioOperazione; + TRUNCATE TABLE C6Staging.RP_PatrimonioTerzi; + TRUNCATE TABLE C6Staging.RP_DettAltriProdotti; + TRUNCATE TABLE C6Staging.RP_DettPatrAziendale; + TRUNCATE TABLE C6Staging.RP_MappaturaPT; + TRUNCATE TABLE C6Staging.RP_REP_ASSET_1_E_2_ORDINATE; + TRUNCATE TABLE C6Staging.RP_DettImmobiliare; + TRUNCATE TABLE C6Staging.RP_DettProdottiTerzi; + TRUNCATE TABLE C6Staging.RP_AssetClass; + TRUNCATE TABLE C6Staging.RP_Mappatura; + TRUNCATE TABLE C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3; + TRUNCATE TABLE C6Staging.RP_PosizioniProposta; + TRUNCATE TABLE C6Staging.RP_AnAlberatura; + TRUNCATE TABLE C6Staging.RP_Cliente; + TRUNCATE TABLE C6Staging.RP_PromotoreBancario; + TRUNCATE TABLE C6Staging.RP_PosizioniPortafoglio; + TRUNCATE TABLE C6Staging.RP_ProgettiPiramideModello; + TRUNCATE TABLE C6Staging.RP_Progetto; + TRUNCATE TABLE C6Staging.RP_DettaglioPosizionePortafoglio; + TRUNCATE TABLE C6Staging.RP_GradoParentela; + TRUNCATE TABLE C6Staging.RP_Migraz_Pianificazione; + TRUNCATE TABLE C6Staging.RP_Parentela; + TRUNCATE TABLE C6Staging.RP_Migraz_Progetto; + TRUNCATE TABLE C6Staging.RP_Migraz_Posizioni; + TRUNCATE TABLE C6Staging.RP_CatalogoProdotti; + TRUNCATE TABLE C6Staging.RP_ClientePB; + TRUNCATE TABLE C6Staging.RP_AnEmittente; + TRUNCATE TABLE C6Staging.RP_Pianificazione; +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SRV_Verifica_DISALLINEAMENTI_MONIT.sql b/sql/storedProduzione/C6MartPeriodico_SRV_Verifica_DISALLINEAMENTI_MONIT.sql new file mode 100644 index 00000000..3315a597 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SRV_Verifica_DISALLINEAMENTI_MONIT.sql @@ -0,0 +1,140 @@ +-- ============================================= +-- Author: alessandro Tringali +-- Create date: 16 ottobre 2010 +-- Description: estrae la lista dei clienti per fase Ii +-- ============================================= +-- exec [C6MartPeriodico].[SRV_Verifica_DISALLINEAMENTI_MONIT] 'F','BLFLSU65M55A470K' +CREATE procedure [C6MartPeriodico].[SRV_Verifica_DISALLINEAMENTI_MONIT] + @rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +--DROP TABLE #TEMP_PATRIMONIO_BF_AGGR +SELECT +RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4) AS ID_AREA, +isnull(ORDINAMENTO_PROGETTO,0) as ordinamento_progetto, +SUM(CTV) AS SUM_CTV +INTO #TEMP_PATRIMONIO_BF_AGGR +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE ID_AREA NOT IN ('CC','NA') +AND REND_NON_RAPPR=0 +and rete=@Rete and COD_FISCALE =@CodiceFiscale +GROUP BY RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4), +isnull(ORDINAMENTO_PROGETTO,0) +SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +WHERE CODFIS IN +(SELECT DISTINCT COD_FISCALE FROM #TEMP_PATRIMONIO_BF_AGGR) +SELECT * +FROM +( +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO as bf_ordprorg, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog as mon_codprog, +'Disallineati Inv' as descContr +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +and id_area ='Inv' +union all +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog, +'Disallineati non Inv' as descContr +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +and id_area <>'Inv' +union all +-------------------------------------------- +-- SOLO MONITORAGGIO +-------------------------------------------- +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog, +'Disalinneati Solo Monit Inv' as descContr +FROM +#TANAB M +left outer join +#TEMP_PATRIMONIO_BF_AGGR P +on +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +where +--AND M.CTV <> P.SUM_CTV +--and m.dtrif= c6martperiodico.gettrimestre2(getdate(),0) +m.ctv > 0 +and p.cod_fiscale is null +AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +and id_area ='Inv' +union all +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +p.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog, +'Disallineati Solo Monit non Inv' as descContr +FROM +#TANAB M +left outer join +#TEMP_PATRIMONIO_BF_AGGR P +on +M.RETE = P.RETE +AND M.CODFIS = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +where +DTFINE ='99991231' +-- M.CTV <> P.SUM_CTV +and m.ctv > 0 +and p.cod_fiscale is null +and codarea <>'Inv' +) k +order by 2,1 +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Segnala_Disallineamenti.sql b/sql/storedProduzione/C6MartPeriodico_Segnala_Disallineamenti.sql new file mode 100644 index 00000000..8ad30a44 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Segnala_Disallineamenti.sql @@ -0,0 +1,32 @@ +-- exec [C6MartPeriodico].[Segnala_Disallineamenti] +CREATE procedure [C6MartPeriodico].[Segnala_Disallineamenti] +as + set nocount on + declare @Rete varchar(1) + declare @CodFis varchar(20) + declare @descSegnalazione varchar(200) + --create table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim varchar(8), rete varchar(1), codiceFiscale varchar(20), TIPPROD varchar(100), CODINT varchar(100), CODPROD varchar(100), SUBPROD varchar(100), MAF varchar(100), CODABI varchar(100), ISIN varchar(100)) + declare @dtTrim varchar(8) + set @dtTrim = [C6MartPeriodico].[getTrimestre](getdate(),0) + exec dbo.CreaTabellaBackUp 'tSegnala_Disallineamenti_Result', 'C6MartPeriodico' + declare @contaLimiter int + select @contaLimiter = count(*) from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] + truncate table C6MartPeriodico.tSegnala_Disallineamenti_Result + if @contaLimiter = 0 + begin + insert into C6MartPeriodico.tSegnala_Disallineamenti_Result (rete, codicefiscale, descrizione) + SELECT rete, codiceFiscale, descSegnalazione + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] + where idTipoControllo = 9 + end + else + begin + insert into C6MartPeriodico.tSegnala_Disallineamenti_Result (rete, codicefiscale, descrizione) + SELECT a.rete, a.codiceFiscale, a.descSegnalazione + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] a + inner join [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] b + on a.rete = b.rete + and a.codiceFiscale = b.cod_fiscale + where a.idTipoControllo = 9 + end + select * from C6MartPeriodico.tSegnala_Disallineamenti_Result \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Segnala_Disallineamenti_20190129.sql b/sql/storedProduzione/C6MartPeriodico_Segnala_Disallineamenti_20190129.sql new file mode 100644 index 00000000..c6327697 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Segnala_Disallineamenti_20190129.sql @@ -0,0 +1,23 @@ +-- exec [C6MartPeriodico].[Segnala_Disallineamenti] +CREATE procedure [C6MartPeriodico].[Segnala_Disallineamenti_20190129] +as + set nocount on + declare @Rete varchar(1) + declare @CodFis varchar(20) + declare @descSegnalazione varchar(200) + --create table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim varchar(8), rete varchar(1), codiceFiscale varchar(20), TIPPROD varchar(100), CODINT varchar(100), CODPROD varchar(100), SUBPROD varchar(100), MAF varchar(100), CODABI varchar(100), ISIN varchar(100)) + declare @dtTrim varchar(8) + set @dtTrim = [C6MartPeriodico].[getTrimestre](getdate(),0) + exec dbo.CreaTabellaBackUp 'tSegnala_Disallineamenti_Result', 'C6MartPeriodico' + truncate table C6MartPeriodico.tSegnala_Disallineamenti_Result + insert into C6MartPeriodico.tSegnala_Disallineamenti_Result (rete, codicefiscale, descrizione) + SELECT rete, codiceFiscale, descSegnalazione + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] + where idTipoControllo = 9 + --SELECT a.rete, a.codiceFiscale, a.descSegnalazione + --FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] a + -- inner join [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] b + -- on a.rete = b.rete + -- and a.codiceFiscale = b.cod_fiscale + --where a.idTipoControllo = 9 + select * from C6MartPeriodico.tSegnala_Disallineamenti_Result \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Segnala_ProdottiNonCensiti.sql b/sql/storedProduzione/C6MartPeriodico_Segnala_ProdottiNonCensiti.sql new file mode 100644 index 00000000..08571671 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Segnala_ProdottiNonCensiti.sql @@ -0,0 +1,188 @@ +-- exec [C6MartPeriodico].[Segnala_ProdottiNonCensiti] +CREATE procedure [C6MartPeriodico].[Segnala_ProdottiNonCensiti] +as + set nocount on + declare @Rete varchar(1) + declare @CodFis varchar(20) + declare @idTipoControllo int + declare @tipprod varchar(100) + declare @codint varchar(100) + declare @codprod varchar(100) + declare @subprod varchar(100) + declare @maf varchar(100) + declare @codabi varchar(100) + declare @isin varchar(100) + --create table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim varchar(8), rete varchar(1), codiceFiscale varchar(20), TIPPROD varchar(100), CODINT varchar(100), CODPROD varchar(100), SUBPROD varchar(100), MAF varchar(100), CODABI varchar(100), ISIN varchar(100)) + declare @dtTrim varchar(8) + set @dtTrim = [C6MartPeriodico].[getTrimestre](getdate(),0) + exec dbo.CreaTabellaBackUp 'tSegnala_ProdottiNonCensiti_Result', 'C6MartPeriodico' + truncate table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result + declare @contaLimiter int + select @contaLimiter = count(*) from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] + if @contaLimiter = 0 + begin + declare cur cursor for + SELECT rete, codiceFiscale, idTipoControllo + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] + where idTipoControllo in (1, 2) + end + else + begin + declare cur cursor for + SELECT a.rete, a.codiceFiscale, a.idTipoControllo + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] a + inner join [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] b + on a.rete = b.rete + and a.codiceFiscale = b.cod_fiscale + where a.idTipoControllo in (1, 2) + end + --and codiceFiscale = 'VNTGNN63D16D704Q' + open cur + fetch next from cur into @Rete, @CodFis, @idTipoControllo + while @@fetch_status = 0 + begin + select @tipprod = tipprod, + @codint = codint, + @codprod = codprod, + @subprod = subprod, + @maf = maf, + @codabi = codabi, + @isin = isin + from C6StagingPeriodico.SPB_CONTR_SINTESI SPB + where + SPB.rete = @Rete and SPB.codfis = @CodFis + and positionid is NULL + order by tipprod, codint, subprod + if @maf = '' + set @maf = null + if @idTipoControllo = 1 + begin + -- 1. TipProd + declare @TipoProdotto varchar(100) + select distinct @TipoProdotto = TipoProdotto + from C6StagingPeriodico.RP_CatalogoProdotti + where TipoProdotto = @tipprod -- and codsottoprodotto = 'LSEL' and TipoProdotto = 'ASU2'-- AND CODMAF = '1499131' and codIsin = 'LU1829331989' + --if @@rowcount = 0 + if @TipoProdotto is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODPROD, MAF, CODABI ) values (@dtTrim, @Rete, @CodFis, @tipprod, @codprod, @maf, @codabi) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod --+ ', CodInterno = ' + @codint + ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin + end + else + begin + -- 2. CodInt + declare @CodInterno varchar(100) + select distinct @CodInterno = codinterno + from C6StagingPeriodico.RP_CatalogoProdotti + where + TipoProdotto = @tipprod + and + codinterno = @codint -- and codsottoprodotto = 'LSEL' and TipoProdotto = 'ASU2'-- AND CODMAF = '1499131' and codIsin = 'LU1829331989' + --if @@rowcount = 0 + if @CodInterno is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODINT, CODPROD, MAF, CODABI) values (@dtTrim, @Rete, @CodFis, @tipprod, @codint, @codprod, @maf, @codabi) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod + ', CodInterno = ' + @codint --+ ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin + end + else + begin + -- 3. SubProd + declare @CodSottoProdotto varchar(100) + select distinct @CodSottoProdotto = codsottoprodotto + from C6StagingPeriodico.RP_CatalogoProdotti + where + TipoProdotto = @tipprod + and + codinterno = @codint + and + codsottoprodotto = @subprod + --if @@rowcount = 0 + if @CodSottoProdotto is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI) values (@dtTrim, @Rete, @CodFis, @tipprod, @codint, @codprod, @subprod, @maf, @codabi) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod + ', CodInterno = ' + @codint + ', CodSottoProdotto = ' + @subprod --+ ', CodIsin = ' + @isin + end + else + begin + -- 4. Isin + declare @CodIsin varchar(100) + select distinct @CodIsin = codIsin + from C6StagingPeriodico.RP_CatalogoProdotti + where + TipoProdotto = @tipprod + and + codinterno = @codint + and + codsottoprodotto = @subprod + and + codIsin = @isin + --if @@rowcount = 0 + if @CodIsin is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, ISIN) values (@dtTrim, @Rete, @CodFis, @tipprod, @codint, @codprod, @subprod, @maf, @codabi, @isin) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod + ', CodInterno = ' + @codint + ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin + end + else + begin + -- 5. Maf + declare @CodMaf varchar(100) + select distinct codmaf + from C6StagingPeriodico.RP_CatalogoProdotti + where + TipoProdotto = @tipprod + and + codinterno = @codint + and + codsottoprodotto = @subprod + and + codIsin = @isin + and + CodMaf = @maf + --if @@rowcount = 0 + if @CodMaf is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, ISIN) values (@dtTrim, @Rete, @CodFis, @tipprod, @codint, @codprod, @subprod, @maf, @codabi, @isin) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod + ', CodInterno = ' + @codint + ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin + ', CodMaf = ' + @maf + end + else + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale) values (@dtTrim, @Rete, @CodFis) + --select 'CENSITO' + end + end + end + end + end + end + else + begin + declare @DesProd varchar(200) + declare @cod_interno varchar(100) + declare @cod_sottoprodotto varchar(100) + select @cod_interno = cod_interno, @cod_sottoprodotto = cod_sottoprodotto, @DesProd = DesProd from C6MartPeriodico.PROVENTI where rete = @Rete and cod_fiscale = @CodFis + if @DesProd is null + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, CODINT, SUBPROD) values (@dtTrim, @Rete, @CodFis, @cod_interno, @cod_sottoprodotto) + end + --************************* + set @TipoProdotto = null + set @CodInterno = null + set @CodSottoProdotto = null + set @CodMaf = null + set @CodIsin = null + fetch next from cur into @Rete, @CodFis, @idTipoControllo + end + close cur + deallocate cur + select + Rete, + CodiceFiscale, + isnull(TIPPROD, '') as TIPPROD, + isnull(CODINT, '') as CODINT, + isnull(CODPROD, '') as CODPROD, + isnull(SUBPROD, '') as SUBPROD, + isnull(MAF, '') as MAF, + isnull(CODABI, '') as CODABI, + isnull(ISIN, '') as ISIN + from C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result + order by TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, ISIN + --drop table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Segnala_ProdottiNonCensiti_20190129.sql b/sql/storedProduzione/C6MartPeriodico_Segnala_ProdottiNonCensiti_20190129.sql new file mode 100644 index 00000000..20c8093b --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Segnala_ProdottiNonCensiti_20190129.sql @@ -0,0 +1,179 @@ +-- exec [C6MartPeriodico].[Segnala_ProdottiNonCensiti] +CREATE procedure [C6MartPeriodico].[Segnala_ProdottiNonCensiti_20190129] +as + set nocount on + declare @Rete varchar(1) + declare @CodFis varchar(20) + declare @idTipoControllo int + declare @tipprod varchar(100) + declare @codint varchar(100) + declare @codprod varchar(100) + declare @subprod varchar(100) + declare @maf varchar(100) + declare @codabi varchar(100) + declare @isin varchar(100) + --create table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim varchar(8), rete varchar(1), codiceFiscale varchar(20), TIPPROD varchar(100), CODINT varchar(100), CODPROD varchar(100), SUBPROD varchar(100), MAF varchar(100), CODABI varchar(100), ISIN varchar(100)) + declare @dtTrim varchar(8) + set @dtTrim = [C6MartPeriodico].[getTrimestre](getdate(),0) + exec dbo.CreaTabellaBackUp 'tSegnala_ProdottiNonCensiti_Result', 'C6MartPeriodico' + truncate table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result + declare cur cursor for + SELECT rete, codiceFiscale, idTipoControllo + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] + where idTipoControllo in (1, 2) + --SELECT a.rete, a.codiceFiscale, a.idTipoControllo + --FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] a + -- inner join [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] b + -- on a.rete = b.rete + -- and a.codiceFiscale = b.cod_fiscale + --where a.idTipoControllo in (1, 2) + --and codiceFiscale = 'VNTGNN63D16D704Q' + open cur + fetch next from cur into @Rete, @CodFis, @idTipoControllo + while @@fetch_status = 0 + begin + select @tipprod = tipprod, + @codint = codint, + @codprod = codprod, + @subprod = subprod, + @maf = maf, + @codabi = codabi, + @isin = isin + from C6StagingPeriodico.SPB_CONTR_SINTESI SPB + where + SPB.rete = @Rete and SPB.codfis = @CodFis + and positionid is NULL + order by tipprod, codint, subprod + if @maf = '' + set @maf = null + if @idTipoControllo = 1 + begin + -- 1. TipProd + declare @TipoProdotto varchar(100) + select distinct @TipoProdotto = TipoProdotto + from C6StagingPeriodico.RP_CatalogoProdotti + where TipoProdotto = @tipprod -- and codsottoprodotto = 'LSEL' and TipoProdotto = 'ASU2'-- AND CODMAF = '1499131' and codIsin = 'LU1829331989' + --if @@rowcount = 0 + if @TipoProdotto is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODPROD, MAF, CODABI ) values (@dtTrim, @Rete, @CodFis, @tipprod, @codprod, @maf, @codabi) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod --+ ', CodInterno = ' + @codint + ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin + end + else + begin + -- 2. CodInt + declare @CodInterno varchar(100) + select distinct @CodInterno = codinterno + from C6StagingPeriodico.RP_CatalogoProdotti + where + TipoProdotto = @tipprod + and + codinterno = @codint -- and codsottoprodotto = 'LSEL' and TipoProdotto = 'ASU2'-- AND CODMAF = '1499131' and codIsin = 'LU1829331989' + --if @@rowcount = 0 + if @CodInterno is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODINT, CODPROD, MAF, CODABI) values (@dtTrim, @Rete, @CodFis, @tipprod, @codint, @codprod, @maf, @codabi) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod + ', CodInterno = ' + @codint --+ ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin + end + else + begin + -- 3. SubProd + declare @CodSottoProdotto varchar(100) + select distinct @CodSottoProdotto = codsottoprodotto + from C6StagingPeriodico.RP_CatalogoProdotti + where + TipoProdotto = @tipprod + and + codinterno = @codint + and + codsottoprodotto = @subprod + --if @@rowcount = 0 + if @CodSottoProdotto is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI) values (@dtTrim, @Rete, @CodFis, @tipprod, @codint, @codprod, @subprod, @maf, @codabi) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod + ', CodInterno = ' + @codint + ', CodSottoProdotto = ' + @subprod --+ ', CodIsin = ' + @isin + end + else + begin + -- 4. Isin + declare @CodIsin varchar(100) + select distinct @CodIsin = codIsin + from C6StagingPeriodico.RP_CatalogoProdotti + where + TipoProdotto = @tipprod + and + codinterno = @codint + and + codsottoprodotto = @subprod + and + codIsin = @isin + --if @@rowcount = 0 + if @CodIsin is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, ISIN) values (@dtTrim, @Rete, @CodFis, @tipprod, @codint, @codprod, @subprod, @maf, @codabi, @isin) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod + ', CodInterno = ' + @codint + ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin + end + else + begin + -- 5. Maf + declare @CodMaf varchar(100) + select distinct codmaf + from C6StagingPeriodico.RP_CatalogoProdotti + where + TipoProdotto = @tipprod + and + codinterno = @codint + and + codsottoprodotto = @subprod + and + codIsin = @isin + and + CodMaf = @maf + --if @@rowcount = 0 + if @CodMaf is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, ISIN) values (@dtTrim, @Rete, @CodFis, @tipprod, @codint, @codprod, @subprod, @maf, @codabi, @isin) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod + ', CodInterno = ' + @codint + ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin + ', CodMaf = ' + @maf + end + else + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale) values (@dtTrim, @Rete, @CodFis) + --select 'CENSITO' + end + end + end + end + end + end + else + begin + declare @DesProd varchar(200) + declare @cod_interno varchar(100) + declare @cod_sottoprodotto varchar(100) + select @cod_interno = cod_interno, @cod_sottoprodotto = cod_sottoprodotto, @DesProd = DesProd from C6MartPeriodico.PROVENTI where rete = @Rete and cod_fiscale = @CodFis + if @DesProd is null + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, CODINT, SUBPROD) values (@dtTrim, @Rete, @CodFis, @cod_interno, @cod_sottoprodotto) + end + --************************* + set @TipoProdotto = null + set @CodInterno = null + set @CodSottoProdotto = null + set @CodMaf = null + set @CodIsin = null + fetch next from cur into @Rete, @CodFis, @idTipoControllo + end + close cur + deallocate cur + select + Rete, + CodiceFiscale, + isnull(TIPPROD, '') as TIPPROD, + isnull(CODINT, '') as CODINT, + isnull(CODPROD, '') as CODPROD, + isnull(SUBPROD, '') as SUBPROD, + isnull(MAF, '') as MAF, + isnull(CODABI, '') as CODABI, + isnull(ISIN, '') as ISIN + from C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result + order by TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, ISIN + --drop table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_SetDocumentMissing.sql b/sql/storedProduzione/C6MartPeriodico_SetDocumentMissing.sql new file mode 100644 index 00000000..8c1f6b03 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_SetDocumentMissing.sql @@ -0,0 +1,6 @@ +CREATE procedure [C6MartPeriodico].[SetDocumentMissing] + ( @idReport bigint ) + as + begin + update c6MartPeriodico.GESTIONE_PDF_FTP set FlagInvio = 'X' where identityreport = @idReport and FLagInvio = 'N' + end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_UPDATE_TABELLE_CAMBIO_RETE.sql b/sql/storedProduzione/C6MartPeriodico_UPDATE_TABELLE_CAMBIO_RETE.sql new file mode 100644 index 00000000..32dd54c3 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_UPDATE_TABELLE_CAMBIO_RETE.sql @@ -0,0 +1,57 @@ +CREATE procedure [C6MartPeriodico].[UPDATE_TABELLE_CAMBIO_RETE] +AS +begin +--------------------------------------- Recupero dalla Puc l'elenco dei cf sui quali è stato fatto il cambio rete +select v.codfis, v.piva, v.codman, v.codicecontratto, v.statocontratto, v.rete as retenew, v.agente as agentenew, c.rete as reteold, c.pb as agenteold +into #elenco +from [consuni].consulenzaunicafl.dbo.ClienteCambioReteContratto c +inner join [consuni].consulenzaunica.dbo.vinfocliente v +on v.codicecontratto=c.cod_conf +where flag_cli_fittizio='N' +and statocontratto in ('SEI','AVANZATOBASE') +---------------------------------------- Aggiorno la rete sulle tabelle del giornaliero per evitare un nuovo invio di lettere ed email +exec dbo.CreaTabellaBackUp 'gestione_pdf_ftp', 'c6mart', 'preCambioRete' +--select pdf.codicefiscale,pdf.rete as reteAttuale, elenco.retenew as nuovaRete +update pdf set pdf.rete = elenco.retenew +from c6mart.gestione_pdf_ftp pdf +inner join #elenco elenco +on pdf.codicefiscale = elenco.codfis +exec dbo.CreaTabellaBackUp 'gestione_email', 'c6mart', 'preCambioRete' +--select email.cod_fiscale,email.rete as reteAttuale,elenco.retenew as nuovaRete +update email set email.rete = elenco.retenew +from c6mart.gestione_email email +inner join #elenco elenco +on email.cod_fiscale = elenco.codfis +---------------------------------------- Aggiorno la rete sulle tabelle della Trimestrale +exec dbo.CreaTabellaBackUp 'APPO_CONTRATTI', 'C6StagingPeriodico', 'preCambioRete' +--select appo.cod_fiscale,appo.rete as reteAttuale,elenco.retenew as nuovaRete +update appo set appo.rete = elenco.retenew +from [C6StagingPeriodico].[APPO_CONTRATTI] appo +inner join #elenco elenco +on appo.cod_fiscale = elenco.codfis +-- Log esecuzione + --INSERT INTO LOG_ESECUZIONE_PERIODICO + -- (Nome, Inizio, Nota) + --VALUES ( + -- 'UPDATE_TABELLE_CAMBIO_RETE', + -- GETDATE(), + -- 'Elaborazione trimestrale' + --) + -- Log esecuzione + --UPDATE + -- LOG_ESECUZIONE_PERIODICO + --SET + -- Fine = GETDATE(), + -- Tipo = 'UPDATE', + -- Righe = @@ROWCOUNT + --WHERE + -- Nome = 'UPDATE_TABELLE_CAMBIO_RETE' AND + -- Inizio = ( + -- SELECT + -- MAX(Inizio) + -- FROM + -- LOG_ESECUZIONE_PERIODICO + -- WHERE + -- Nome = 'UPDATE_TABELLE_CAMBIO_RETE' + -- ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_UpdateStatoReport.sql b/sql/storedProduzione/C6MartPeriodico_UpdateStatoReport.sql new file mode 100644 index 00000000..5b672981 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_UpdateStatoReport.sql @@ -0,0 +1,9 @@ +CREATE procedure [C6MartPeriodico].[UpdateStatoReport](@FiscalCode nvarchar(max), @Rete nvarchar(max)) +as +begin +insert into dbo.logn(message, level, logged, application) +select 'UpdateStatoReport:'+@fiscalCode+@Rete, 'Info', getdate(), 'Trimestrale' +update C6MartPeriodico.controllo_trimestrale +set stato_report = 4 +where COALESCE(cod_fiscale,'R')=COALESCE(@FiscalCode,'R') and COALESCE(rete,'R') =COALESCE(@Rete,'R') +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Update_TB_Campione.sql b/sql/storedProduzione/C6MartPeriodico_Update_TB_Campione.sql new file mode 100644 index 00000000..4d5b2dc9 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Update_TB_Campione.sql @@ -0,0 +1,9 @@ +CREATE procedure [C6MartPeriodico].[Update_TB_Campione](@codfis varchar(16),@rt varchar(1)) +AS +BEGIN + SET NOCOUNT ON; + UPDATE [c6martperiodico].[TB_Campione] + SET flag_stampa=2 + WHERE + cod_fiscale=@codfis AND rete=@rt; +END; \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Update_TB_Campione_GB.sql b/sql/storedProduzione/C6MartPeriodico_Update_TB_Campione_GB.sql new file mode 100644 index 00000000..e9fcc4d5 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Update_TB_Campione_GB.sql @@ -0,0 +1,9 @@ +CREATE procedure [C6MartPeriodico].[Update_TB_Campione_GB](@codfis varchar(16),@rt varchar(1)) +AS +BEGIN + SET NOCOUNT ON; + UPDATE [C6MartPeriodico].[TB_Campione_GB] + SET flag_stampa=2 + WHERE + cod_fiscale=@codfis AND rete=@rt; +END; \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Util_Test_PL.sql b/sql/storedProduzione/C6MartPeriodico_Util_Test_PL.sql new file mode 100644 index 00000000..540ae870 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Util_Test_PL.sql @@ -0,0 +1,81 @@ +CREATE procedure [C6MartPeriodico].[Util_Test_PL] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT 'C6MartPeriodico.PL_Intermediari' + DECLARE @num int + EXEC C6MartPeriodico.PL_Intermediari @Rete , @CodiceFiscale , @num OUTPUT + SELECT @num AS NumIntermediari + SELECT 'PL_S10PatrimonioFinanziario' + EXEC C6MartPeriodico.PL_S10PatrimonioFinanziario @Rete , @CodiceFiscale + SELECT 'PL_S18PatrimonioFinanziarioRischio' + EXEC C6MartPeriodico.PL_S18PatrimonioFinanziarioRischio @Rete,@CodiceFiscale + SELECT 'PL_S1Patrimonio' + EXEC C6MartPeriodico.PL_S1Patrimonio @Rete,@CodiceFiscale + SELECT 'PL_S23DettaglioRischio' + EXEC C6MartPeriodico.PL_S23DettaglioRischio @Rete,@CodiceFiscale + SELECT 'PL_S25Anagrafica' + EXEC C6MartPeriodico.PL_S25Anagrafica @Rete,@CodiceFiscale + SELECT 'PL_S26PatrimonioImmobiliare' + EXEC C6MartPeriodico.PL_S26PatrimonioImmobiliare @Rete,@CodiceFiscale + SELECT 'PL_S27ALtroPatrimonio' + EXEC C6MartPeriodico.PL_S27ALtroPatrimonio @Rete,@CodiceFiscale + SELECT 'PL_S2PatrimonioFinanziario' + EXEC C6MartPeriodico.PL_S2PatrimonioFinanziario @Rete,@CodiceFiscale + SELECT 'PL_S31PatrimonioFinanziarioIntermediario' + EXEC C6MartPeriodico.PL_S31PatrimonioFinanziarioIntermediario @Rete,@CodiceFiscale + SELECT 'PL_S32PatrimonioFinanziarioMAssetClass' + EXEC C6MartPeriodico.PL_S32PatrimonioFinanziarioMAssetClass @Rete,@CodiceFiscale + SELECT 'PL_S36ProfiloRischio' + EXEC C6MartPeriodico.PL_S36ProfiloRischio @Rete,@CodiceFiscale + SELECT 'PL_S37PiramideModello' + EXEC C6MartPeriodico.PL_S37PiramideModello @Rete,@CodiceFiscale + SELECT 'PL_S43DettaglioProdottiBF' + EXEC C6MartPeriodico.PL_S43DettaglioProdottiBF @Rete,@CodiceFiscale + SELECT 'PL_S47ContoCorrenteBF' + EXEC C6MartPeriodico.PL_S47ContoCorrenteBF @Rete,@CodiceFiscale + SELECT 'PL_S48DettaglioProdotti' + EXEC C6MartPeriodico.PL_S48DettaglioProdotti @Rete,@CodiceFiscale + SELECT 'PL_S49PolizzeAltriIstituti' + EXEC C6MartPeriodico.PL_S49PolizzeAltriIstituti @Rete,@CodiceFiscale + SELECT 'PL_S50FondiAltriIstituti' + EXEC C6MartPeriodico.PL_S50FondiAltriIstituti @Rete,@CodiceFiscale + SELECT 'PL_S51ContoCorrenteAI' + EXEC C6MartPeriodico.PL_S51ContoCorrenteAI @Rete,@CodiceFiscale + SELECT 'PL_S56PatrimonioBFAreeBisogno' + EXEC C6MartPeriodico.PL_S56PatrimonioBFAreeBisogno @Rete,@CodiceFiscale + SELECT 'PL_S57ConfrontoPiramidi' + EXEC C6MartPeriodico.PL_S57ConfrontoPiramidi @Rete,@CodiceFiscale + SELECT 'PL_S6PatrimonioFinanziario' + EXEC C6MartPeriodico.PL_S6PatrimonioFinanziario @Rete,@CodiceFiscale + SELECT 'PL_S75GradoCopertura' + EXEC C6MartPeriodico.PL_S75GradoCopertura @Rete,@CodiceFiscale + SELECT 'PL_S76AlternativaPatrimonioNonRappresentabileAssettClass' + EXEC C6MartPeriodico.PL_S76AlternativaPatrimonioNonRappresentabileAssettClass @Rete,@CodiceFiscale + SELECT 'PL_S76PatrimonioNonRappresentabileAssettClass' + EXEC C6MartPeriodico.PL_S76PatrimonioNonRappresentabileAssettClass @Rete,@CodiceFiscale + SELECT 'PL_S80BisEvoluzioneRischio' + EXEC C6MartPeriodico.PL_S80BisEvoluzioneRischio @Rete,@CodiceFiscale + SELECT 'PL_S80EvoluzioneControvalore' + EXEC C6MartPeriodico.PL_S80EvoluzioneControvalore @Rete,@CodiceFiscale + SELECT 'PL_S82BisDatiSintetici' + EXEC C6MartPeriodico.PL_S82BisDatiSintetici @Rete,@CodiceFiscale + SELECT 'PL_S82DatiSintetici' + EXEC C6MartPeriodico.PL_S82DatiSintetici @Rete,@CodiceFiscale + SELECT 'PL_S83DatiRendimento' + EXEC C6MartPeriodico.PL_S83DatiRendimento @Rete,@CodiceFiscale + SELECT 'PL_S84ControvaloreRisorseApportate' + EXEC C6MartPeriodico.PL_S84ControvaloreRisorseApportate @Rete,@CodiceFiscale + SELECT 'PL_S85RendimentoPortafoglioCono' + EXEC C6MartPeriodico.PL_S85RendimentoPortafoglioCono @Rete,@CodiceFiscale + SELECT 'PL_S86PatrimonioFinanziarioMAssetClass' + EXEC C6MartPeriodico.PL_S86PatrimonioFinanziarioMAssetClass @Rete,@CodiceFiscale + SELECT 'PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento' + EXEC C6MartPeriodico.PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento @Rete,@CodiceFiscale + SELECT 'PL_S93Controvalore' + EXEC C6MartPeriodico.PL_S93Controvalore @Rete,@CodiceFiscale + SELECT 'PL_S94Rischio' + EXEC C6MartPeriodico.PL_S94Rischio @Rete,@CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_Verifica_esecuzione_API_Trimestrale.sql b/sql/storedProduzione/C6MartPeriodico_Verifica_esecuzione_API_Trimestrale.sql new file mode 100644 index 00000000..55bc278c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_Verifica_esecuzione_API_Trimestrale.sql @@ -0,0 +1,14 @@ +CREATE procedure [C6MartPeriodico].[Verifica_esecuzione_API_Trimestrale] as +begin + if( (SELECT TOP (1) +[flattivo] +FROM consuni.[ConsulenzaUnicaFL].[dbo].[Semaforo] +where nomebatch='Trimestrale Sei' +order by id desc)<>0) +begin +WAITFOR DELAY '00:03:00'; +exec [C6MartPeriodico].[Verifica_esecuzione_API_Trimestrale] +end +else +print('OK') +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_inserisci_promotori_fittizi.sql b/sql/storedProduzione/C6MartPeriodico_inserisci_promotori_fittizi.sql new file mode 100644 index 00000000..31a9fe97 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_inserisci_promotori_fittizi.sql @@ -0,0 +1,19 @@ +CREATE procedure [C6MartPeriodico].[inserisci_promotori_fittizi] as +begin +insert into [C6StagingPeriodico].[ADS4WS_PROMOTORI] (rete,codice,prefisso,firma) +SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM C6MartPeriodico.RP_vContrattiPerGenerazioneReport C6 + INNER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_rp_aggiornaDataValidazione.sql b/sql/storedProduzione/C6MartPeriodico_rp_aggiornaDataValidazione.sql new file mode 100644 index 00000000..d6551419 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_rp_aggiornaDataValidazione.sql @@ -0,0 +1,43 @@ +CREATE PROCEDURE [C6MartPeriodico].[rp_aggiornaDataValidazione] +-- Serve all'applicativo da scaricare one shot, a regime modificare il linked server con CONSEVO +as +--select count(*) from [10.10.32.220].ConsulenzaBaseFL.[dbo].CBS_STAMPAREPORT +begin +BEGIN TRANSACTION + BEGIN TRY + --SELECT COUNT(*) FROM [CONSEVO].ConsulenzaBaseFL.[dbo].CBS_STAMPAREPORT + delete from [CONSEVO_PERIODICO].ConsulenzaBaseFL.[dbo].CBS_STAMPAREPORT + insert into [CONSEVO_PERIODICO].ConsulenzaBaseFL.[dbo].CBS_STAMPAREPORT + select + DataGenerazione as data, + SUBSTRING(NomeFile, 1, 11) as codiceContratto, --SUBSTRING(NomeFile, 0, 12) + case + when (id_fk_zip = -1) then 0 + else 1 + end as definitivo, + getDate() as dataAggiornamento + from + ( + select + datagenerazione, nomefile,id_fk_zip, + row_number() over (partition by SUBSTRING(NomeFile, 1, 11) order by datagenerazione desc) pippo from --SUBSTRING(NomeFile, 0, 12) + C6MartPeriodico.gestione_pdf_ftp + )l where pippo =1 + COMMIT TRANSACTION +END TRY +BEGIN CATCH + ROLLBACK TRANSACTION +END CATCH +--non esegue RPC vedere come farlo +--exec [10.10.32.220].consulenzabasefl.[dbo].CBS_STREPORT +/* +la procedura è consulenzabasefl.[dbo].CBS_STREPORT +[12:41:32] Veronica: tabella: +[12:41:52] Veronica: ConsulenzaBaseFL.[dbo].[CBS_StampaReport]( + [DATA] [datetime] NULL, + [CODICECONTRATTO] [varchar](11) NULL, + [DEFINITIVO] [int] NULL, + [DATAAGGIORNAMENTO] [datetime] NULL +) +*/ +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_sp_BlackList_GetAll.sql b/sql/storedProduzione/C6MartPeriodico_sp_BlackList_GetAll.sql new file mode 100644 index 00000000..a52d6c12 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_sp_BlackList_GetAll.sql @@ -0,0 +1,7 @@ +CREATE PROCEDURE [C6MartPeriodico].[sp_BlackList_GetAll] + @DataInserimento datetime +AS +BEGIN +select * from [C6MartPeriodico].[ExcludedList] +where DataInserimento = @DataInserimento +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_sp_BlackList_GetBlockedNumber.sql b/sql/storedProduzione/C6MartPeriodico_sp_BlackList_GetBlockedNumber.sql new file mode 100644 index 00000000..e6e03f70 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_sp_BlackList_GetBlockedNumber.sql @@ -0,0 +1,16 @@ +-- Stored procedure +CREATE PROCEDURE [C6MartPeriodico].[sp_BlackList_GetBlockedNumber] + @DataInserimento datetime +AS +BEGIN +select A.Bloccato, B.NonBloccato +from +(select Count(*) As Bloccato +from [C6MartPeriodico].[ExcludedList] +where DataInserimento = @DataInserimento + and Bloccato = 1) A, +(select Count(*) As NonBloccato +from [C6MartPeriodico].[ExcludedList] +where DataInserimento = @DataInserimento + and Bloccato = 0) B +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_sp_BlackList_Ricerca_GetAll.sql b/sql/storedProduzione/C6MartPeriodico_sp_BlackList_Ricerca_GetAll.sql new file mode 100644 index 00000000..f9a7f043 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_sp_BlackList_Ricerca_GetAll.sql @@ -0,0 +1,10 @@ +-- Stored procedure +CREATE PROCEDURE [C6MartPeriodico].[sp_BlackList_Ricerca_GetAll] + @DataRicerca datetime +AS +BEGIN +select * from [C6MartPeriodico].[ExcludedList] +where year(DataInserimento) = year(@DataRicerca) and + month(DataInserimento) = month(@DataRicerca) and + day(DataInserimento) = day(@DataRicerca) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_sp_BlackList_Save_Row.sql b/sql/storedProduzione/C6MartPeriodico_sp_BlackList_Save_Row.sql new file mode 100644 index 00000000..4cd718be --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_sp_BlackList_Save_Row.sql @@ -0,0 +1,12 @@ +-- Stored procedure +CREATE PROCEDURE [C6MartPeriodico].[sp_BlackList_Save_Row] + @Rete char(1), + @CodiceFiscale varchar(16), + @DescrizioneErrore varchar(8000), + @DataInserimento datetime, + @Bloccato bit +AS +BEGIN +insert into [C6MartPeriodico].[ExcludedList]([RETE] ,[CodiceFiscale] ,[DescrizioneErrore], [DataInserimento], [Bloccato]) +VALUES (@Rete, @CodiceFiscale, @DescrizioneErrore, @DataInserimento, @Bloccato) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_sp_BlackList_Update_Row.sql b/sql/storedProduzione/C6MartPeriodico_sp_BlackList_Update_Row.sql new file mode 100644 index 00000000..e265a00c --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_sp_BlackList_Update_Row.sql @@ -0,0 +1,14 @@ +-- Stored procedure +CREATE PROCEDURE [C6MartPeriodico].[sp_BlackList_Update_Row] + @Rete char(1), + @CodiceFiscale varchar(16), + @DataInserimento datetime, + @Bloccato bit +AS +BEGIN +update [C6MartPeriodico].[ExcludedList] +set [Bloccato] = @Bloccato +where [RETE] = @Rete and + [CodiceFiscale] = @CodiceFiscale and + [DataInserimento] = @DataInserimento +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_sp_GetNumeroZipProdotti.sql b/sql/storedProduzione/C6MartPeriodico_sp_GetNumeroZipProdotti.sql new file mode 100644 index 00000000..eeba8afc --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_sp_GetNumeroZipProdotti.sql @@ -0,0 +1,18 @@ +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 21/01/2015 +-- Description: Calcolo su Totali Report per gestione generazione Zip +-- ============================================= +CREATE procedure [C6MartPeriodico].[sp_GetNumeroZipProdotti] +AS +BEGIN +Declare @Return int +select @Return =count(*) +from [C6MartPeriodico].[GESTIONE_ZIP_FTP] ZipFtp +inner join ( select max(idElaborazioneZip) id_elab_zip + from [C6MartPeriodico].[ELABORAZIONI_ZIP] + ) Elab_Zip +on ZipFtp.FKIdElaborazioneZip = id_elab_zip +order by 1 desc +select @Return +End \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_sp_UpdateIdReportPDF.sql b/sql/storedProduzione/C6MartPeriodico_sp_UpdateIdReportPDF.sql new file mode 100644 index 00000000..c9b8e8d2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_sp_UpdateIdReportPDF.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Author: +-- Description: Parallelizzazione PRocessi Trimestrale +-- 23/02/2014 Gestione Allineamento IdReport +-- con IdInRepository(ReportManager) di SeiReport.C6reportFisisco +-- ============================================= +CREATE procedure [C6MartPeriodico].[sp_UpdateIdReportPDF] + @IdReportC6 INT, + @IdReportManager int +AS +BEGIN +Update C6martperiodico.Gestione_PDF_FTP +Set idReport=@IdReportManager +where idReport=@IdReportC6; +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_sp_caricaBlacklist.sql b/sql/storedProduzione/C6MartPeriodico_sp_caricaBlacklist.sql new file mode 100644 index 00000000..0f422fd1 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_sp_caricaBlacklist.sql @@ -0,0 +1,50 @@ +-- Stored procedure +CREATE PROCEDURE [C6MartPeriodico].[sp_caricaBlacklist] +AS +BEGIN +exec [C6StagingPeriodico].[REPTRIM_WSEIDC] +exec [C6StagingPeriodico].[REPTRIM_WSEIPS] + Declare @dtTrime as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + --truncate table C6MartPeriodico.ExcludedList + drop table if exists #blacklist + drop table if exists #riunisco_blacklist + drop table if exists #rimuovi_duplicati + update C6MartPeriodico.tabellone +set lettera_sost='N' --nel caso dovesse essere rilanciata e ci fossero problemi sulla wseidc e wseips + select distinct rete + ,case when codman <> '' then 'FF@' + CODMAN else codfis end as codiceFiscale, + case when tipolett = '0' then 'RFA=0'--'BLACKLIST RFA=0' + when tipolett = '6' then 'RFA Minus'--'BLACKLIST RFA MINUS CLIENTE SEI' + when tipolett = '2' then 'BLACKLIST RFA MINUS CLIENTE SEI E IMMOBILIARE' + when TIPOLETT='A' then 'Profilo EC' + END AS DescrErr + --when tipolett = 1 then 'BLACKLIST RFA MINUS CLIENTE IMMOBILIARE' + into #blacklist + from C6stagingPeriodico.wseidc + where TIPOLETT not in ('R','S') and dttrim = @dtTrime +insert into #blacklist +select distinct rete, + case when codman <> '' then 'FF@' + CODMAN else codfis end as codiceFiscale, + 'Profilo Scaduto' as DescrErr + from c6stagingPeriodico.wseips + where dttrim = @dtTrime +insert into C6MartPeriodico.ExcludedList +select rete,codiceFiscale,DescrErr,getdate() as DataIns,'1' as Bloccato from #blacklist--#riunisco_blacklist +SELECT rete,codicefiscale,STRING_AGG( ISNULL(DescrErr, ' '), ',') As descrerr,getdate() as DataIns,'1' as Bloccato + into #riunisco_blacklist + From #blacklist group by rete,codicefiscale -- a causa del frontend non posso mettere piu motivazioni per lo stesso cf ma mi serve per il tabellone per la lettera sostitutiva +update C6MartPeriodico.tabellone +set lettera_sost='S' +where chiave_acn in (select rete+codicefiscale from #riunisco_blacklist) +--rimuove duplicati nel caso questa sp dovesse essere lanciata piu volte +select distinct rete,codicefiscale,descrerr +into #rimuovi_duplicati +from C6MartPeriodico.ExcludedList +delete from C6MartPeriodico.ExcludedList +where rete+codicefiscale+DescrErr in (select rete+codicefiscale+DescrErr from #rimuovi_duplicati) +insert into C6MartPeriodico.ExcludedList +select rete,codiceFiscale,DescrErr,getdate() as DataIns,'1' as Bloccato from #rimuovi_duplicati +--fine rimozione duplicati +exec [C6MartPeriodico].[Blacklist_Blocco_Tabellone] 'blocco' --aggiorna tabellone +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_sp_caricaBlacklist_RFAMinus_old.sql b/sql/storedProduzione/C6MartPeriodico_sp_caricaBlacklist_RFAMinus_old.sql new file mode 100644 index 00000000..7d4de876 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_sp_caricaBlacklist_RFAMinus_old.sql @@ -0,0 +1,28 @@ +-- Stored procedure +CREATE PROCEDURE [C6MartPeriodico].[sp_caricaBlacklist_RFAMinus] +AS +BEGIN + Declare @dtTrime as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + insert into c6martPeriodico.ExcludedList + select + [Rete] + ,case when codman <> '' then 'FF@' + CODMAN else codfis end as codiceFiscale + ,case when tipolett = 0 then 'BLACKLIST RFA=0' + when tipolett = 6 then 'BLACKLIST RFA MINUS CLIENTE SEI' + when tipolett = 2 then 'BLACKLIST RFA MINUS CLIENTE SEI E IMMOBILIARE' + when tipolett = 1 then 'BLACKLIST RFA MINUS CLIENTE IMMOBILIARE' END AS DescrErr + ,getdate() as [DataIns] + ,1 as [Bloccato] +from c6stagingPeriodico.wseidc +where dttrim = @dtTrime + insert into c6martPeriodico.ExcludedList + select + [Rete] + ,case when codman <> '' then 'FF@' + CODMAN else codfis end as CODFIS + ,'BLACKLIST PROFILO SCADUTO' as DescrErr + ,getdate() as [DataIns] + ,1 as [Bloccato] +from c6stagingPeriodico.wseips +where dttrim = @dtTrime +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_sp_getDatiReport.sql b/sql/storedProduzione/C6MartPeriodico_sp_getDatiReport.sql new file mode 100644 index 00000000..dc9e8747 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_sp_getDatiReport.sql @@ -0,0 +1,42 @@ +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 21/02/2015 +-- Description: Calcolo su Totali Report per gestione generazione Zip +-- ============================================= +CREATE procedure [C6MartPeriodico].[sp_getDatiReport] +AS +BEGIN +select top 400 pdf.codicecontratto as codiceContratto , +pdf.rete as rete , +pdf.codicefiscale as codiceFiscale , +clienti.nome as nomeCliente , +clienti.cognome as cognomeCliente, +pdf.TipoReport as TipoReport, +pdf.idReport as IdReport , +contratti.cod_agente as codAgente , +isnull(promot.nome,'') as nomeAgente , +isnull(promot.Cognome,'') as cognomeAgente , +pdf.numeropagine as numeroPagine , +pdf.NomeFile as NomeFile, +contratti.tip_contratto tipoContratto, +id_fk_zip, +pdf.identityreport +from [C6MartPeriodico].[GESTIONE_PDF_FTP] PDF +inner join C6MartPeriodico.controllo_trimestrale contr +on pdf.rete = contr.rete and pdf.codicefiscale=contr.cod_fiscale +inner join [C6MartPeriodico].[ANAG_CLIENTI] Clienti +on pdf.rete=clienti.rete and pdf.codicefiscale=clienti.COD_FISCALE +inner join [C6StagingPeriodico].Appo_Contratti Contratti +on contratti.rete=pdf.rete and contratti.cod_fiscale= pdf.codicefiscale +left join [C6MartPeriodico].[ANAG_Promotori] promot +on contratti.rete=promot.rete and contratti.cod_agente= promot.id_promotore +left join C6martperiodico.ExcludedList ex +on pdf.rete=ex.rete and pdf.codicefiscale = ex.codicefiscale +where stato_report=8 -- Se già generata la WhiteList -- 6 Se ancora non generata +and IDReport=IdentityReport -- Utilizzare Questa Condizione in fase di generazione massiva +-- 27/10/2015 FCianfa commento cdz +-- Utilizzare questa condizione in fase di recupero report +--and IDReport in +--(select identificativo from dbo.reportDainserire_recupero) +--order by IdentityReport +End \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti.sql b/sql/storedProduzione/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti.sql new file mode 100644 index 00000000..db9b45c2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti.sql @@ -0,0 +1,44 @@ +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 21/02/2015 +-- Description: Calcolo su Totali Report per gestione generazione Zip +-- ============================================= +CREATE procedure [C6MartPeriodico].[sp_getDatiReport_checkFileCorrotti] +AS +BEGIN +select --top 10 + pdf.codicecontratto as codiceContratto , +pdf.rete as rete , +pdf.codicefiscale as codiceFiscale , +clienti.nome as nomeCliente , +clienti.cognome as cognomeCliente, +pdf.TipoReport as TipoReport, +--pdf.idReport as IdReport , +pdf.identityreport as IdReport , +contratti.cod_agente as codAgente , +isnull(promot.nome,'') as nomeAgente , +isnull(promot.Cognome,'') as cognomeAgente , +pdf.numeropagine as numeroPagine , +pdf.NomeFile as NomeFile, +contratti.tip_contratto tipoContratto, +id_fk_zip, +pdf.identityreport +from [C6MartPeriodico].[GESTIONE_PDF_FTP] PDF +inner join C6MartPeriodico.controllo_trimestrale contr +on pdf.rete = contr.rete and pdf.codicefiscale=contr.cod_fiscale +inner join [C6MartPeriodico].[ANAG_CLIENTI] Clienti +on pdf.rete=clienti.rete and pdf.codicefiscale=clienti.COD_FISCALE +inner join [C6StagingPeriodico].Appo_Contratti Contratti +on contratti.rete=pdf.rete and contratti.cod_fiscale= pdf.codicefiscale +left join [C6MartPeriodico].[ANAG_Promotori] promot +on contratti.rete=promot.rete and contratti.cod_agente= promot.id_promotore +left join C6martperiodico.ExcludedList ex +on pdf.rete=ex.rete and pdf.codicefiscale = ex.codicefiscale +where stato_report=8 -- 8 Se già generata la WhiteList -- 6 Se ancora non generata +--and IDReport=IdentityReport -- Utilizzare Questa Condizione in fase di generazione massiva +-- 27/10/2015 FCianfa commento cdz +-- Utilizzare questa condizione in fase di recupero report +--and IDReport in +--(select identificativo from dbo.reportDainserire_recupero) +--order by IdentityReport +End \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti_Griffin.sql b/sql/storedProduzione/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti_Griffin.sql new file mode 100644 index 00000000..5e9549f2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti_Griffin.sql @@ -0,0 +1,45 @@ +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 21/02/2015 +-- Description: Calcolo su Totali Report per gestione generazione Zip +-- ============================================= +CREATE procedure [C6MartPeriodico].[sp_getDatiReport_checkFileCorrotti_Griffin] +AS +BEGIN +select --top 10 + pdf.codicecontratto as codiceContratto , +pdf.rete as rete , +pdf.codicefiscale as codiceFiscale , +clienti.nome as nomeCliente , +clienti.cognome as cognomeCliente, +pdf.TipoReport as TipoReport, +--pdf.idReport as IdReport , +pdf.identityreport as IdReport , +contratti.cod_agente as codAgente , +isnull(promot.nome,'') as nomeAgente , +isnull(promot.Cognome,'') as cognomeAgente , +pdf.numeropagine as numeroPagine , +pdf.NomeFile as NomeFile, +contratti.tip_contratto tipoContratto, +id_fk_zip, +pdf.identityreport +from [C6MartPeriodico].[GESTIONE_PDF_FTP] PDF +inner join C6MartPeriodico.controllo_trimestrale contr +on pdf.rete = contr.rete and pdf.codicefiscale=contr.cod_fiscale +inner join [C6MartPeriodico].[ANAG_CLIENTI] Clienti +on pdf.rete=clienti.rete and pdf.codicefiscale=clienti.COD_FISCALE +inner join [C6StagingPeriodico].Appo_Contratti Contratti +on contratti.rete=pdf.rete and contratti.cod_fiscale= pdf.codicefiscale +left join [C6MartPeriodico].[ANAG_Promotori] promot +on contratti.rete=promot.rete and contratti.cod_agente= promot.id_promotore +left join C6martperiodico.ExcludedList ex +on pdf.rete=ex.rete and pdf.codicefiscale = ex.codicefiscale +where stato_report=8 -- 8 Se già generata la WhiteList -- 6 Se ancora non generata +and pdf.codicecontratto = '519345CO803' +--and IDReport=IdentityReport -- Utilizzare Questa Condizione in fase di generazione massiva +-- 27/10/2015 FCianfa commento cdz +-- Utilizzare questa condizione in fase di recupero report +--and IDReport in +--(select identificativo from dbo.reportDainserire_recupero) +--order by IdentityReport +End \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_sp_getIDReport.sql b/sql/storedProduzione/C6MartPeriodico_sp_getIDReport.sql new file mode 100644 index 00000000..707a2801 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_sp_getIDReport.sql @@ -0,0 +1,11 @@ +--[C6MartPeriodico].sp_getIDReport '232126CO200_20150418' +CREATE procedure [C6MartPeriodico].[sp_getIDReport] +@nomeFile varchar(100) +AS +BEGIN + SELECT IDReport + FROM + C6MartPeriodico.GESTIONE_PDF_FTP + WHERE + nomefile=@nomeFile +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_srv_excel_zip.sql b/sql/storedProduzione/C6MartPeriodico_srv_excel_zip.sql new file mode 100644 index 00000000..726f2631 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_srv_excel_zip.sql @@ -0,0 +1,7 @@ +CREATE procedure [C6MartPeriodico].[srv_excel_zip] as +begin +select cast(rete as nvarchar) as rete , cast(codicefiscale as nvarchar) as codicefiscale, cast(tiporeport as nvarchar) as tiporeport, id_fk_zip +from c6martperiodico.gestione_pdf_ftp +where datagenerazione>c6martperiodico.gettrimestre2(getdate(),0) +order by id_fk_zip asc +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_start_ConvertiExcel_tabellone.sql b/sql/storedProduzione/C6MartPeriodico_start_ConvertiExcel_tabellone.sql new file mode 100644 index 00000000..a53d071f --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_start_ConvertiExcel_tabellone.sql @@ -0,0 +1,7 @@ +CREATE procedure [C6MartPeriodico].[start_ConvertiExcel_tabellone] as +begin +--if((DATEDIFF(second, select top 1 data_avvio from C6MartPeriodico.selettore where id_richiesta=1 order by data_avvio desc, getdate() )<5) +insert into C6MartPeriodico.selettore values +(10,getdate(),'Conversione Tabellone da xlsx su db') +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_start_email_Approval_tabellone.sql b/sql/storedProduzione/C6MartPeriodico_start_email_Approval_tabellone.sql new file mode 100644 index 00000000..eea8d8bc --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_start_email_Approval_tabellone.sql @@ -0,0 +1,6 @@ +create procedure [C6MartPeriodico].[start_email_Approval_tabellone] as +begin +insert into C6MartPeriodico.selettore values +(7,getdate(),'Invio Email Fase Approval') +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_start_email_Certificazione_tabellone.sql b/sql/storedProduzione/C6MartPeriodico_start_email_Certificazione_tabellone.sql new file mode 100644 index 00000000..44ecad63 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_start_email_Certificazione_tabellone.sql @@ -0,0 +1,6 @@ +create procedure [C6MartPeriodico].[start_email_Certificazione_tabellone] as +begin +insert into C6MartPeriodico.selettore values +(6,getdate(),'Invio Email Fase Certificazione') +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_start_email_ConfermaPostalizzazione_tabellone.sql b/sql/storedProduzione/C6MartPeriodico_start_email_ConfermaPostalizzazione_tabellone.sql new file mode 100644 index 00000000..a7eb3b70 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_start_email_ConfermaPostalizzazione_tabellone.sql @@ -0,0 +1,6 @@ +create procedure [C6MartPeriodico].[start_email_ConfermaPostalizzazione_tabellone] as +begin +insert into C6MartPeriodico.selettore values +(4,getdate(),'Invio Segnalazione Conferma Postalizzazione') +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_start_email_CongelamentoDB_tabellone.sql b/sql/storedProduzione/C6MartPeriodico_start_email_CongelamentoDB_tabellone.sql new file mode 100644 index 00000000..f3556643 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_start_email_CongelamentoDB_tabellone.sql @@ -0,0 +1,6 @@ +create procedure [C6MartPeriodico].[start_email_CongelamentoDB_tabellone] as +begin +insert into C6MartPeriodico.selettore values +(3,getdate(),'Invio Segnalazione Congelamento DB MK') +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_start_email_position_tabellone.sql b/sql/storedProduzione/C6MartPeriodico_start_email_position_tabellone.sql new file mode 100644 index 00000000..5dd23552 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_start_email_position_tabellone.sql @@ -0,0 +1,6 @@ +create procedure [C6MartPeriodico].[start_email_position_tabellone] as +begin +insert into C6MartPeriodico.selettore values +(2,getdate(),'Invio Segnalazione Position') +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_start_esportazione_tabellone.sql b/sql/storedProduzione/C6MartPeriodico_start_esportazione_tabellone.sql new file mode 100644 index 00000000..27f334cf --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_start_esportazione_tabellone.sql @@ -0,0 +1,17 @@ +CREATE procedure [C6MartPeriodico].[start_esportazione_tabellone] as +begin +----if((DATEDIFF(second, select top 1 data_avvio from C6MartPeriodico.selettore where id_richiesta=1 order by data_avvio desc, getdate() )<5) +insert into C6MartPeriodico.selettore values +(1,getdate(),'Invio Tabellone via E-Mail') +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; +-- FerAcu 20250219 dall'history dei job i tempi si sono allungati fino ad 01:03 +--waitfor delay '00:00:50' +waitfor delay '00:01:10' +insert into C6MartPeriodico.selettore values +(10,getdate(),'Conversione Tabellone da xlsx su db') +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; +waitfor delay '00:00:05' +--EXEC msdb.dbo.sp_stop_job +-- N'Esportazione_Tabellone' ; +waitfor delay '00:00:01' +end \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_temp_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql b/sql/storedProduzione/C6MartPeriodico_temp_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql new file mode 100644 index 00000000..1ba0799a --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_temp_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql @@ -0,0 +1,73 @@ +--[C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE] +CREATE PROCEDURE [C6MartPeriodico].[temp_GESTIONE_SELECT_EMAIL_DA_INVIARE] +AS +--INSERT INTO C6MartPeriodico.Gestione_EmailBCK +--SELECT * FROM C6MartPeriodico.GESTIONE_EMAIL +--WHERE Data_Generazione < '20130613' +--UPDATE STATISTICS C6MartPeriodico.GESTIONE_EMAIL +--select * from c6martperiodico.anag_promotori where id_promotore = '014890' +--select * from c6storico.anag_promotori where id_promotore = '014890' +--update c6martperiodico.anag_promotori set e_mail = 'LBATTISTI2@bancafideuram.it' where id_promotore = '014890' +--drop table temp_mail +-- +--select * +--from temp_mail +--where testo like '%BSSSVT62L13H243Z%' +--where testo not like '%' +BEGIN +--recupero la percentuale limite di risorse non associate +DECLARE @Ambiente varchar(20) +select @Ambiente= dbo.getParametro('Ambiente') +DECLARE @DestinatarioEmail varchar(255) +select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail') +DECLARE @SERVIZI_OPERATIVI as varchar(50) +select @SERVIZI_OPERATIVI= dbo.getParametro('EmailServiziOperativi') +DECLARE @RESPONSABILE_PROCESSO as varchar(50) +select @RESPONSABILE_PROCESSO= dbo.getParametro('EmailResponsabileProcesso') +SELECT top 800 + anag_promotori.*, + GESTIONE_EMAIL.[ID_ELAB] + ,GESTIONE_EMAIL.rete + ,GESTIONE_EMAIL.codICEPB cod_agente + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,'' Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,@SERVIZI_OPERATIVI,@RESPONSABILE_PROCESSO) + else + @DestinatarioEmail + end as [E_To] + ,'' E_Ccn + ,'' E_Cc + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],'','',ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + else + dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],'','',ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '---' + end as E_Subject + ,dbo.Replace_Testo_Email_Periodico(GESTIONE_EMAIL.RETE,GESTIONE_EMAIL.[CodicePB],GESTIONE_EMAIL.TIPO,TIPO_EMAIL.[Testo]) Testo +--drop table temp_mail +--into temp_mail +FROM [C6MartPeriodico].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6MartPeriodico].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + AND GESTIONE_EMAIL.[Tipo] <> 'LC_REP_GEN' +-- INNER JOIN [C6Mart].[CONTRATTOSEI] CONTRATTOSEI +-- ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] +-- AND CONTRATTOSEI.Cod_Agente = GESTIONE_EMAIL.CodicePB +-- INNER JOIN [C6MartPeriodico].[ANAG_CLIENTI] ANAG_CLIENTI +-- ON ANAG_CLIENTI.Rete = CONTRATTOSEI.[Rete] +-- AND ANAG_CLIENTI.Cod_Fiscale = CONTRATTOSEI.Cod_Fiscale + INNER JOIN [C6MartPeriodico].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = GESTIONE_EMAIL.[CodicePB] +-- WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' + --AND GESTIONE_EMAIL.rete = 's' +where ANAG_PROMOTORI.cognome = 'MILANESE' and nome = 'GIuSTINO' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_temp_RP_DM_GestioneEmail.sql b/sql/storedProduzione/C6MartPeriodico_temp_RP_DM_GestioneEmail.sql new file mode 100644 index 00000000..b2ea18b0 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_temp_RP_DM_GestioneEmail.sql @@ -0,0 +1,226 @@ +--delete from C6MartPeriodico.gestione_Email where data_Generazione > getDate()-1 +--truncate table log_esecuzione +--select * from log_esecuzione +CREATE PROCEDURE [C6MartPeriodico].[temp_RP_DM_GestioneEmail] +AS +BEGIN +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- PERFEZIONAMENTO; +-- MANCATA MIGRAZIONE; +-- REINVIO SOLLECITO MANCATA MIGRAZIONE. +--LA GESTIONE DELLE EMAIL PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO O +--PER REINVIO DEL SOLLECITO PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO +--VIENE FATTA DOPO L'ALLINEAMENTO CON I DATI DEL SIMPB +--ESTRAZIONE EMAIL PERFEZIONAMENTO +--TIPO EMAIL: "PERF" +--L'EMAIL VIENE INVIATA PER TUTTI I CLIENTI CHE HANNO DATA DI PERFEZIONAMENTO VALORIZZATA +--IL CONTROLLO SULLA DATA DI GENERAZIONE >= DELLA DATA DI PERFEZIONAMENTO E' DOVUTO AL +--FATTO CHE IL CONTRATTO PUO` ESSERE CHIUSO E RIAPERTO ED IN QUESTO CASO LA MAIL DI PERFEZIONAMENTO +--DEVE ESSERE REINVIATA +-- EMAIL DI ADESIONE AL SERVIZIO SEI +-- TIPO EMAIL 'PERF' +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @ID_ELAB INT +DECLARE @MaxInvioSoll as SMALLINT +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') as smallint) +SET @ID_ELAB = C6MartPeriodico.GETIDELAB() +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) --7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint) --7 +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - Mail Perf',GETDATE(),'Elaborazione giornaliera') +--0. MODIFICO I RECORD IN GESTIONE EMAIL CON TIPO = PERF PER EVITARE IL REINVIO MULTIPLO A SEGUITO DELLA RIATTIVAZIONE +UPDATE C6MartPeriodico.GESTIONE_EMAIL +SET TIPO = 'OLD' +FROM C6MartPeriodico.Gestione_EMAIL EMAIL + INNER JOIN C6MartPeriodico.VCONTRATTI VC + ON VC.COD_FISCALE = EMAIL.COD_FISCALE + AND VC.rete = EMAIL.RETE + AND EMAIL.TIPO = 'PERF' + INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MC + ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB + AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO = '9999-12-31 00:00:00.000' + AND MC.Tip_riattivazione = 1 +--1. INSERIMENTO MAIL DI "PERFEZIONAMENTO" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- NON PRESENTI SU GESTIONE_EMAIL +INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione, ID_ELAB) +SELECT + VC.Rete, + VC.Cod_Fiscale, + 'PERF' as TipoEmail, + GETDATE() AS DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6MartPeriodico.VCONTRATTI VC +INNER JOIN C6MartPeriodico.CONTRATTOSEI_METADATI MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb +LEFT JOIN C6MartPeriodico.GESTIONE_EMAIL EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + AND EMAIL.TIPO = 'PERF' + AND EMAIL.Data_Generazione >= VC.Data_Perf -- CONDIZIONE PER ESCLUDERE DAL JOIN UN CONTRATTO CHIUSO E RIAPERTO. +LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF -- IN QUESTO MODO LO INSERIAMO NUOVAMENTE IN GESTIONE_MAIL. + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + --AND VC.InvioBenvenuto = 'N' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND EMAIL.COD_FISCALE IS NULL + AND PF.RETE IS NULL +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'INSERT',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf' AND + Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf') +INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - SollecitiNOMIG',GETDATE(),'Elaborazione giornaliera') +-- 2. INSERIMENTO MAIL "SOLLECITI" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE +-- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO è NULL -> CONSIDERIAMO DATA_PERF +INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT + VC.rete, + VC.cod_fiscale, + CASE + WHEN ISNULL(MD.numSolleciti,0) = 0 THEN '1_SOLL_NOMIG' + WHEN MD.numSolleciti = 1 THEN '2_SOLL_NOMIG' + WHEN MD.numSolleciti = 2 THEN '3_SOLL_NOMIG' + ELSE 'S_SOLL_NOMIG' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6MartPeriodico.VCONTRATTI VC +INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb +--LEFT JOIN C6MartPeriodico.GESTIONE_EMAIL EMAIL +-- ON VC.RETE = EMAIL.RETE +-- AND VC.COD_FISCALE = EMAIL.COD_FISCALE + --AND EMAIL.DATA_GENERAZIONE < getDate() +LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'N' + AND MD.InvioBenvenuto = 'N' + AND VC.Data_FineAvanzato > getDate() +-- AND (EMAIL.COD_FISCALE IS NULL OR EMAIL.INVIATA = 'S') + AND PF.RETE IS NULL + AND VC.COD_FISCALE = 'TSSDNI82P44A984U' +-- 2.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" +-- AUMENTIAMO IL NUMERO numSolleciti +-- AGGIORNIAMO LA DATA Data_UltimoSollecito +UPDATE + C6MartPeriodico.[CONTRATTOSEI_METADATI] +SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() +FROM C6MartPeriodico.vcontratti VC +INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb +LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'N' + AND MD.InvioBenvenuto = 'N' -- richiesto da Tringali per non inviare mail se report già inviato + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + AND VC.COD_FISCALE = 'TSSDNI82P44A984U' +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'UPDATE',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - SollecitiNOMIG' AND Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - SollecitiNOMIG') +INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - Mail Revoca',GETDATE(),'Elaborazione giornaliera') +-- 3. INSERIMENTO MAIL "REVOCA" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE DOPO @MaxInvioSoll SOLLECITI +-- N.B. OCCHIO ALLA CONDIZIONE -> (c6.clienteMigrato = 'N' AND numSolleciti = @MaxInvioSoll) OR numSolleciti > @MaxInvioSoll +-- OVVERO: BUONA LA MIGRAZIONE EFFETTUATA DOPO L'ULTIMO SOLLECITO MA NON DOPO LA PRIMA REVOCA +INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOMIG' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB --max(Data_Generazione) +FROM C6MartPeriodico.vcontratti VC +INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb +INNER JOIN C6MartPeriodico.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE +LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOMIG','REVOCA_NOMIG') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.clienteMigrato = 'N')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + AND VC.COD_FISCALE = 'TSSDNI82P44A984U' +GROUP BY email.rete, email.cod_fiscale +-- 3.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "REVOCA" +-- AUMENTIAMO IL NUMERO numSolleciti +-- NON AGGIORNIAMO LA DATA Data_UltimoSollecito +-- N.B. VERIFICARE SE IL CAMPO Data_UltimoSollecito VA AGGIORNATO +UPDATE C6MartPeriodico.[CONTRATTOSEI_METADATI] +SET + numRevoche = isnull(numRevoche,0) + 1, + data_UltimaRevoca = getDate() +FROM C6MartPeriodico.vcontratti VC +INNER JOIN [C6MartPeriodico].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb +INNER JOIN C6MartPeriodico.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE +LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOMIG','REVOCA_NOMIG') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.clienteMigrato = 'N')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + AND VC.COD_FISCALE = 'TSSDNI82P44A984U' +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'INSERT',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - Mail Revoca' AND Inizio = ( + SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - Mail Revoca') +COMMIT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_temp_RP_DM_PATRIMONIO_BF.sql b/sql/storedProduzione/C6MartPeriodico_temp_RP_DM_PATRIMONIO_BF.sql new file mode 100644 index 00000000..574061d2 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_temp_RP_DM_PATRIMONIO_BF.sql @@ -0,0 +1,302 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[temp_RP_DM_PATRIMONIO_BF] + -- Add the parameters for the stored procedure here + --select * from C6MartPeriodico.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_BF + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND +-- SPB.DTSOTTOS IS NOT NULL THEN null +-- ELSE SPB.DTSOTTOS + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE SPB.DTRIFE --CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + SPB.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB + INTO #PATRIMONIO + FROM C6StagingPeriodico.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPOPRODOTTO = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DTSOTTOS + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + SPB.DTRIFE AS DATA_OPERAZIONE, + null AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + null AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + SPB.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + null AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB + FROM C6StagingPeriodico.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6StagingPeriodico.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6StagingPeriodico.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + /* + truncate table C6MartPeriodico.patrimonio_bf + select top 1 * from #patrimonio + */ +SELECT [RETE] + ,[COD_FISCALE] + ,[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ChiaveClientePb] + INTO #PATRIMONIO2 + FROM #PATRIMONIO + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.dtsottos IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + SPB.DTRIFE AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + convert(decimal(15,3),SPB.PARTVIA) AS PARTVIA_DISINV, + SPB.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + convert(decimal(8,5),SPB.RENDINIZ) AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + convert(decimal(8,5),SPB.RENDANNO) AS REND_ANNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + STRTYPE, + null as COMPLEX, + null as EMITTENTE, + SPB.ISIN, + VCON.CHIAVECLIENTEPB + FROM C6StagingPeriodico.SPB_CONTR_SINTESI SPB + LEFT JOIN #PATRIMONIO PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + --LEFT JOIN C6STAGING.RP_vNewPositionProposta NEWPOSITION + -- ON SPB.POSITIONID = NEWPOSITION.positionIDProposta + JOIN C6MartPeriodico.VCONTRATTI VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM #PATRIMONIO2 + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + INSERT INTO C6MartPeriodico.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE + INSERT INTO C6MartPeriodico.PATRIMONIO_BF + SELECT P.* FROM + #PATRIMONIO2 P LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF' + ) +-- +--DROP TABLE #TempPianif +-- +DROP table #patrimonio +DROP table #PATRIMONIO2 +drop table #PATRIMONIO_DUPLICATI +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_test_CaricamentoPL_fc.sql b/sql/storedProduzione/C6MartPeriodico_test_CaricamentoPL_fc.sql new file mode 100644 index 00000000..1d1baa37 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_test_CaricamentoPL_fc.sql @@ -0,0 +1,19 @@ +CREATE procedure [C6MartPeriodico].[test_CaricamentoPL_fc] + -- Add the parameters for the stored procedure here +AS +BEGIN +DECLARE @rete char (1) +Declare @CodiceFiscale varchar(16) +SELECT rete, + cod_fiscale +into #Clienti +FROM c6martperiodico.vcontrattipergenerazionereport +SELECT TOP 1 @rete=rete,@CodiceFiscale=cod_fiscale FROM #Clienti +while @@ROWCOUNT <> 0 +BEGIN +EXECUTE [C6MartPeriodico].[POPOLA_D2_S157ConfrontoPiramidi_SVIL] @Rete,@CodiceFiscale + DELETE From #Clienti where rete=@rete and cod_fiscale=@CodiceFiscale +SELECT TOP 1 @rete=rete,@CodiceFiscale=cod_fiscale FROM #Clienti +END +DROP TABLE #Clienti +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_zzzPL_S80Alternativa.sql b/sql/storedProduzione/C6MartPeriodico_zzzPL_S80Alternativa.sql new file mode 100644 index 00000000..117917b1 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_zzzPL_S80Alternativa.sql @@ -0,0 +1,239 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80Alternativa]'F','PZZFCS50L28E092G' +--DROP PROCEDURE [C6MartPeriodico].[PL_S80BisEvoluzioneRischio] +CREATE procedure [C6MartPeriodico].[zzzPL_S80Alternativa] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + -- Inserimento Dati Scirocco + --SELECT @DettMovPrec = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM < '20111231' + SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + FROM C6MartPeriodico.DettaglioMovimenti + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale + --SELECT @DettMovCorr = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM = '20111231' + IF @DettMovPrec is null + SET @AppoDettMovPrec = 'n.d.' + ELSE + SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + IF @DettMovCorr is null + SET @AppoDettMovCorr = 'n.d.' + ELSE + SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + --query per asterischi situazione precedente + IF EXISTS(SELECT * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICS] + WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + AND RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + ----------------------------------------- + --query per asterischi situazione corrente + IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + WHERE COD_INTERNO IN ('37', 'GP') + AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + SET @NumAsterischiCorr = 1 + ----------------------------------------- + SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) + BEGIN + -- Attivazione monitoraggio +--versione nuova da testare + SELECT + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + INI.CTV_EXT, + INI.CTV_INV, + INI.CTV_PRE, + INI.CTV_RIS, + INI.CTV_LIQ, + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ AS RisorseAllocate, + INI.CTV_NA AS RisorseNonAllocate, + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA AS RisorseFinanziarie, + INI.CTV_CC AS Contocorrente, + --Contocorrente = CASE WHEN CAST(INI.CTV_CC AS NUMERIC(20,4)) < 0 THEN INI.CTV_CC ELSE 0 END, + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + INI.CTV_CC + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + (CASE WHEN CAST(INI.CTV_CC AS NUMERIC(20,4)) < 0 THEN INI.CTV_CC ELSE 0 END) AS TotalePatrimonio + --INI.CTV_TOTALE AS ControvaloreComplessivo + ,null as DettMov + ,0 as NumeroAsterischiNota + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.RETE = @Rete AND + INI.COD_FISCALE = @CodiceFiscale + --AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,'2999-12-31') + UNION ALL + -- Precedente invio report + SELECT + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + rep.CTV_EXT, + rep.CTV_INV, + rep.CTV_PRE, + rep.CTV_RIS, + rep.CTV_LIQ, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ AS RisorseAllocate, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA AS RisorseFinanziarie, + rep.CTV_CC AS Contocorrente, + --Contocorrente = CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + --CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + (CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END) AS TotalePatrimonio + --CTV_TOTALE AS ControvaloreComplessivo + ,(CASE WHEN @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovPrec END) as DettMov + ,(CASE WHEN @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiPrec END) as NumeroAsterischiNota + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + rep.RETE = @Rete AND + rep.COD_FISCALE = @CodiceFiscale + AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + --All values will be read from DB and passed to code, no value will be calculated on code + SELECT + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + --Get the sum Operazioni in corso + --sum((isnull(IMPORTO,0))) as Partita_viaggiante, + 0 as Partita_viaggiante, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) as CTV_EXT, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) as CTV_INV, + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) as CTV_PRE, + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end ) as CTV_PRE, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) as CTV_RIS, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) as CTV_LIQ, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS CTV_RA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as CTV_NA, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS CTV_RF, + --CTV_CC = (Case WHEN sum(case Upper(id_area) when 'CC' then ctv else 0 end ) < 0 THEN sum(case Upper(id_area) when 'CC' then ctv else 0 end) ELSE 0 END), + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS CTV_CC, + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS CTV_CC, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end )+ + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) + + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS TotalePatrimonio + --sum((isnull(IMPORTO,0))) AS TotalePatrimonio + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS TotalePatrimonio + --SUM(CTV) as ControvaloreComplessivo + ,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + ,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiCorr END) as NumeroAsterischiNota + --,'1' as NumeroAsterischiNota + FROM + C6MartPeriodico.PATRIMONIO_BF +-- AS BF Left Join C6MartPeriodico.partite_viaggianti AS PV +-- ON BF.RETE = PV.RETE +-- AND BF.COD_FISCALE = PV.COD_FISCALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +END +ELSE +BEGIN + SELECT + 1 AS Fase, + DATA_FOTO AS DataFase, + ISNULL(PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + CTV_EXT, + CTV_INV, + CTV_PRE, + CTV_RIS, + CTV_LIQ, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ AS RisorseAllocate, + CTV_NA AS RisorseNonAllocate, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA AS RisorseFinanziarie, + CTV_CC AS Contocorrente, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + CTV_CC AS TotalePatrimonio + --CTV_TOTALE AS ControvaloreComplessivo + FROM + MONITORAGGIO_INIZIALE + WHERE + 1=2 +END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6MartPeriodico_zzzRP_DM_EMAIL_PB.sql b/sql/storedProduzione/C6MartPeriodico_zzzRP_DM_EMAIL_PB.sql new file mode 100644 index 00000000..c660f144 --- /dev/null +++ b/sql/storedProduzione/C6MartPeriodico_zzzRP_DM_EMAIL_PB.sql @@ -0,0 +1,87 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 26 gennaio 2009 +-- Description: Recupera PB, RM, DM, AM le cui email non sono ancora valorizzate. +-- ============================================= +CREATE procedure [C6MartPeriodico].[zzzRP_DM_EMAIL_PB] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_EMAIL_PB', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT DISTINCT + CODICI_PB.RETE AS RETE, + CODICI_PB.CODICE AS CODICE, + (CASE CODICI_PB.RETE WHEN 'F' THEN 'R' ELSE 'P' END) AS PREFISSO, + (CASE CODICI_PB.RETE WHEN 'F' THEN 'R' ELSE 'P' END) + CODICI_PB.CODICE AS FIRMA +--, +-- CODICI_PB.LIVELLO AS LIVELLO, +-- CODICI_PB.LIV_ORD AS LIV_ORD + FROM + ( + SELECT STRUTTURA.RETE, STRUTTURA.PB CODICE--, 'PB' as LIVELLO, 1 AS LIV_ORD + FROM C6MartPeriodico.VCONTRATTI PB + INNER JOIN C6MartPeriodico.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + UNION + SELECT STRUTTURA.RETE, STRUTTURA.RM CODICE--, 'RM' as LIVELLO, 2 AS LIV_ORD + FROM C6MartPeriodico.VCONTRATTI PB + INNER JOIN C6MartPeriodico.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + UNION + SELECT STRUTTURA.RETE, STRUTTURA.DM CODICE--, 'DM' as LIVELLO, 3 AS LIV_ORD + FROM C6MartPeriodico.VCONTRATTI PB + INNER JOIN C6MartPeriodico.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + UNION + SELECT STRUTTURA.RETE, STRUTTURA.AM CODICE--, 'AM' as LIVELLO, 4 AS LIV_ORD + FROM C6MartPeriodico.VCONTRATTI PB + INNER JOIN C6MartPeriodico.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + ) CODICI_PB + LEFT JOIN C6MartPeriodico.EMAIL_PB EMAIL_PB_ESISTENTI + ON EMAIL_PB_ESISTENTI.RETE = CODICI_PB.RETE + AND EMAIL_PB_ESISTENTI.CODICE = CODICI_PB.CODICE + LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON (CODICI_PB.CODICE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND CODICI_PB.RETE = PF.RETE + WHERE + --CODICI_PB.CODICE = '014777' and + EMAIL_PB_ESISTENTI.EMAIL IS NULL + AND PF.RETE IS NULL +--togliere + --and CODICI_PB.CODICE not in ('010712','015115','015117','015091','015182','006167','015125','015126','015185','006154','006200') +and CODICI_PB.CODICE not in ('015185') +---eliminato il filtro '010712' +---eliminato il filtro su '015089'--,'015163', 12/08 + --ORDER BY CODICI_PB.LIV_ORD + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_EMAIL_PB' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_EMAIL_PB' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_AL_AggiornaPortafoglioCliente.sql b/sql/storedProduzione/C6Mart_AL_AggiornaPortafoglioCliente.sql new file mode 100644 index 00000000..f6073b13 --- /dev/null +++ b/sql/storedProduzione/C6Mart_AL_AggiornaPortafoglioCliente.sql @@ -0,0 +1,197 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[AL_AggiornaPortafoglioCliente] +AS +BEGIN +-- SET NOCOUNT ON added to prevent extra result sets from +-- interfering with SELECT statements. +-- SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'AL_AggiornaPortafoglioCliente', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6Mart.PIRAMIDE_VERT + --RICALCOLO AGGREGATI + INSERT INTO C6Mart.PIRAMIDE_VERT + ( + RETE, + COD_FISCALE, + ID_AREA, + CTV_AREA + ) + SELECT + PATR.RETE, + PATR.COD_FISCALE, + PATR.ID_AREA, + SUM(CTV) + FROM C6Mart.PATRIMONIO_BF PATR + GROUP BY + PATR.RETE, + PATR.COD_FISCALE, + PATR.ID_AREA + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'AL_AggiornaPortafoglioCliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'AL_AggiornaPortafoglioCliente' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'AL_AggiornaPortafoglioCliente', + GETDATE(), + 'Elaborazione giornaliera' + ) + --AGGIORNAMENTO TABELLA CONTRATTOSEI + --FLAG RISORSE NON ASSOCIATE + --SOLO PER I CLIENTI A CUI ANDREBBE INVIATO IL REPORT + UPDATE C6Mart.ContrattoSEI + SET + RisorseNA = + CASE + WHEN CLIENTIRISNA.percRisorseNA >= CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2)) THEN 'S' + ELSE 'N' + END + --AGGIUNTA perchè mancava, FABRIZIO E VALERIO per Azzeramento numero solleciti email + ,NumSolleciti = + CASE + WHEN (C6.ClienteMigrato = 'S') and (CLIENTIRISNA.percRisorseNA < CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2))) THEN 0 + ELSE NumSolleciti + END + FROM C6Mart.ContrattoSEI C6 + LEFT JOIN ( + SELECT + NA.RETE, + NA.COD_FISCALE, + CASE + WHEN TOT.CTVTOTALE = 0 THEN 0 + ELSE 100 * NA.CTVNA / TOT.CTVTOTALE + END AS percRisorseNA + FROM ( + SELECT + ISNULL(SUM(PATRBF.CTV),0) AS CTVNA, + PATRBF.RETE, + PATRBF.COD_FISCALE + FROM C6Mart.PATRIMONIO_BF PATRBF + INNER JOIN C6Mart.vTuttiIContratti VCONTRATTIPERSEI + ON PATRBF.RETE = VCONTRATTIPERSEI.RETE + AND PATRBF.COD_FISCALE = VCONTRATTIPERSEI.COD_FISCALE + WHERE ID_AREA = 'Na' + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + ) NA + INNER JOIN ( + SELECT + SUM(PATRBF.CTV) AS CTVTOTALE, + PATRBF.RETE, + PATRBF.COD_FISCALE + FROM C6Mart.PATRIMONIO_BF PATRBF + INNER JOIN C6Mart.vTuttiIContratti VCONTRATTIPERSEI + ON PATRBF.RETE = VCONTRATTIPERSEI.RETE + AND PATRBF.COD_FISCALE = VCONTRATTIPERSEI.COD_FISCALE + WHERE ID_AREA <> 'Cc' + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + ) TOT + ON TOT.RETE = NA.RETE + AND TOT.COD_FISCALE = NA.COD_FISCALE + ) CLIENTIRISNA + ON C6.RETE = CLIENTIRISNA.RETE + AND C6.COD_FISCALE = CLIENTIRISNA.COD_FISCALE + --V Aggiorna il flag Profilo Attivo per i clienti che non hanno ricevuto il report + UPDATE C6MART.CONTRATTOSEI + SET profiloAttivo = CASE WHEN (ISNULL(MIFID.SCADUTO,1) = 1) THEN 0 ELSE 1 end + FROM C6MART.CONTRATTOSEI + LEFT JOIN C6MART.MIFID + ON CONTRATTOSEI.RETE = MIFID.RETE + AND CONTRATTOSEI.COD_FISCALE = MIFID.COD_FISCALE + WHERE InvioBenvenuto = 'N' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'AL_AggiornaPortafoglioCliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'AL_AggiornaPortafoglioCliente' + ) + /*INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'AL_AggiornaPortafoglioCliente', + GETDATE(), + 'Elaborazione giornaliera' + )*/ + --FLAG PARTITE VIAGGIANTI DISINVESTIMENTO + --SOLO PER I CLIENTI A CUI ANDREBBE INVIATO IL REPORT + --disabilitato, pv vengono estratte dal CTV + /*UPDATE C6Mart.CONTRATTOSEI + SET + PartViaDisinv = + CASE + WHEN PARTVIA.PARTVIADISINV > 0 THEN 'S' + ELSE 'N' + END + FROM C6Mart.CONTRATTOSEI C6 + LEFT JOIN ( + SELECT + ISNULL(SUM(PATRBF.PARTVIA_DISINV),0) AS PARTVIADISINV, + PATRBF.RETE, + PATRBF.COD_FISCALE + FROM C6Mart.PATRIMONIO_BF PATRBF + INNER JOIN C6Mart.vTuttiIContratti VCONTRATTIPERSEI + ON PATRBF.RETE = VCONTRATTIPERSEI.RETE + AND PATRBF.COD_FISCALE = VCONTRATTIPERSEI.COD_FISCALE + WHERE ID_AREA <> 'Cc' + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + ) PARTVIA + ON C6.RETE = PARTVIA.RETE + AND C6.COD_FISCALE = PARTVIA.COD_FISCALE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'AL_AggiornaPortafoglioCliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'AL_AggiornaPortafoglioCliente' + )*/ +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_CercaCaratteriAnomali.sql b/sql/storedProduzione/C6Mart_CercaCaratteriAnomali.sql new file mode 100644 index 00000000..83cad2de --- /dev/null +++ b/sql/storedProduzione/C6Mart_CercaCaratteriAnomali.sql @@ -0,0 +1,361 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[CercaCaratteriAnomali] +AS +BEGIN +declare @num int +set @num = 1 +CREATE TABLE #tab_temp( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL) +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(email,@num,1)), + substring(email,@num,1), + rete, + Cod_Fiscale, + 'EMAIL', + email +FROM C6Mart.vcontratti +WHERE + ascii(substring(email,@num,len(email))) not between 64 and 90 +and ascii(substring(email,@num,len(email))) not between 97 and 122 +and ascii(substring(email,@num,len(email))) not between 48 and 57 +and ascii(substring(email,@num,len(email))) <> 32 +and ascii(substring(email,@num,len(email))) <> 40 +and ascii(substring(email,@num,len(email))) <> 41 +and ascii(substring(email,@num,len(email))) <> 43 +and ascii(substring(email,@num,len(email))) <> 44 +and ascii(substring(email,@num,len(email))) <> 45 +and ascii(substring(email,@num,len(email))) <> 46 +and ascii(substring(email,@num,len(email))) <> 95 +and ascii(substring(email,@num,len(email))) <> 39 +and ascii(substring(email,@num,len(email))) <> 47 +and ascii(substring(email,@num,len(email))) <> 63 +set @num = @num + 1 +end +--inizio intervento: 05/02/2015 FCianfa Controllo caratteriAnomali su campi Nome e Cognome della tb c6mart.ANAG_CLIENTI +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Nome+Cognome,@num,1)), + substring(Nome+Cognome,@num,1), + rete, + Cod_Fiscale, + 'Nome+Cognome', + Nome+Cognome +FROM C6Mart.ANAG_CLIENTI +WHERE + ascii(substring(Nome+Cognome,@num,len(Nome))) not between 64 and 90 +and ascii(substring(Nome+Cognome,@num,len(Nome))) not between 97 and 122 +and ascii(substring(Nome+Cognome,@num,len(Nome))) not between 48 and 57 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 32 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 40 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 41 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 43 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 44 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 45 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 46 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 95 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 39 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 38 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 47 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 63 +set @num = @num + 1 +end +--fine intervento: 05/02/2015 FCianfa Controllo caratteriAnomali su campi Nome e Cognome della tb c6mart.ANAG_CLIENTI +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Indirizzo,@num,1)), + substring(Indirizzo,@num,1), + rete, + Cod_Fiscale, + 'INDIRIZZO', + Indirizzo +FROM C6Mart.vcontratti +WHERE + ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 64 and 90 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 97 and 122 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 48 and 57 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 32 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 40 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 41 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 43 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 44 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 45 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 46 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 95 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 39 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 47 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(CAP,@num,1)), + substring(CAP,@num,1), + rete, + Cod_Fiscale, + 'CAP', + CAP +FROM C6Mart.vcontratti +WHERE + ascii(substring(CAP,@num,len(CAP))) not between 64 and 90 +and ascii(substring(CAP,@num,len(CAP))) not between 97 and 122 +and ascii(substring(CAP,@num,len(CAP))) not between 48 and 57 +and ascii(substring(CAP,@num,len(CAP))) <> 32 +and ascii(substring(CAP,@num,len(CAP))) <> 40 +and ascii(substring(CAP,@num,len(CAP))) <> 41 +and ascii(substring(CAP,@num,len(CAP))) <> 43 +and ascii(substring(CAP,@num,len(CAP))) <> 44 +and ascii(substring(CAP,@num,len(CAP))) <> 45 +and ascii(substring(CAP,@num,len(CAP))) <> 46 +and ascii(substring(CAP,@num,len(CAP))) <> 95 +and ascii(substring(CAP,@num,len(CAP))) <> 39 +and ascii(substring(CAP,@num,len(CAP))) <> 47 +and ascii(substring(CAP,@num,len(CAP))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Citta,@num,1)), + substring(Citta,@num,1), + rete, + Cod_Fiscale, + 'Citta', + Citta +FROM C6Mart.vcontratti +WHERE + ascii(substring(Citta,@num,len(Citta))) not between 64 and 90 +and ascii(substring(Citta,@num,len(Citta))) not between 97 and 122 +and ascii(substring(Citta,@num,len(Citta))) not between 48 and 57 +and ascii(substring(Citta,@num,len(Citta))) <> 32 +and ascii(substring(Citta,@num,len(Citta))) <> 40 +and ascii(substring(Citta,@num,len(Citta))) <> 41 +and ascii(substring(Citta,@num,len(Citta))) <> 43 +and ascii(substring(Citta,@num,len(Citta))) <> 44 +and ascii(substring(Citta,@num,len(Citta))) <> 45 +and ascii(substring(Citta,@num,len(Citta))) <> 46 +and ascii(substring(Citta,@num,len(Citta))) <> 95 +and ascii(substring(Citta,@num,len(Citta))) <> 39 +and ascii(substring(Citta,@num,len(Citta))) <> 47 +and ascii(substring(Citta,@num,len(Citta))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Provincia,@num,1)), + substring(Citta,@num,1), + rete, + Cod_Fiscale, + 'Provincia', + Provincia +FROM C6Mart.vcontratti +WHERE + ascii(substring(Provincia,@num,len(Provincia))) not between 64 and 90 +and ascii(substring(Provincia,@num,len(Provincia))) not between 97 and 122 +and ascii(substring(Provincia,@num,len(Provincia))) not between 48 and 57 +and ascii(substring(Provincia,@num,len(Provincia))) <> 32 +and ascii(substring(Provincia,@num,len(Provincia))) <> 40 +and ascii(substring(Provincia,@num,len(Provincia))) <> 41 +and ascii(substring(Provincia,@num,len(Provincia))) <> 43 +and ascii(substring(Provincia,@num,len(Provincia))) <> 44 +and ascii(substring(Provincia,@num,len(Provincia))) <> 45 +and ascii(substring(Provincia,@num,len(Provincia))) <> 46 +and ascii(substring(Provincia,@num,len(Provincia))) <> 95 +and ascii(substring(Provincia,@num,len(Provincia))) <> 39 +and ascii(substring(Provincia,@num,len(Provincia))) <> 47 +and ascii(substring(Provincia,@num,len(Provincia))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Nazione,@num,1)), + substring(Nazione,@num,1), + rete, + Cod_Fiscale, + 'Nazione', + Nazione +FROM C6Mart.vcontratti +WHERE + ascii(substring(Nazione,@num,len(Nazione))) not between 64 and 90 +and ascii(substring(Nazione,@num,len(Nazione))) not between 97 and 122 +and ascii(substring(Nazione,@num,len(Nazione))) not between 48 and 57 +and ascii(substring(Nazione,@num,len(Nazione))) <> 32 +and ascii(substring(Nazione,@num,len(Nazione))) <> 40 +and ascii(substring(Nazione,@num,len(Nazione))) <> 41 +and ascii(substring(Nazione,@num,len(Nazione))) <> 43 +and ascii(substring(Nazione,@num,len(Nazione))) <> 44 +and ascii(substring(Nazione,@num,len(Nazione))) <> 45 +and ascii(substring(Nazione,@num,len(Nazione))) <> 46 +and ascii(substring(Nazione,@num,len(Nazione))) <> 95 +and ascii(substring(Nazione,@num,len(Nazione))) <> 39 +and ascii(substring(Nazione,@num,len(Nazione))) <> 47 +and ascii(substring(Nazione,@num,len(Nazione))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Presso,@num,1)), + substring(Presso,@num,1), + rete, + Cod_Fiscale, + 'Presso', + Presso +FROM C6Mart.vcontratti +WHERE + ascii(substring(Presso,@num,len(Presso))) not between 64 and 90 +and ascii(substring(Presso,@num,len(Presso))) not between 97 and 122 +and ascii(substring(Presso,@num,len(Presso))) not between 48 and 57 +and ascii(substring(Presso,@num,len(Presso))) <> 32 +and ascii(substring(Presso,@num,len(Presso))) <> 40 +and ascii(substring(Presso,@num,len(Presso))) <> 41 +and ascii(substring(Presso,@num,len(Presso))) <> 43 +and ascii(substring(Presso,@num,len(Presso))) <> 44 +and ascii(substring(Presso,@num,len(Presso))) <> 45 +and ascii(substring(Presso,@num,len(Presso))) <> 46 +and ascii(substring(Presso,@num,len(Presso))) <> 95 +and ascii(substring(Presso,@num,len(Presso))) <> 39 +and ascii(substring(Presso,@num,len(Presso))) <> 47 +and ascii(substring(Presso,@num,len(Presso))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(flagRol,@num,1)), + substring(flagRol,@num,1), + rete, + Cod_Fiscale, + 'flagRol', + flagRol +FROM C6Mart.vcontratti +WHERE + ascii(substring(flagRol,@num,len(flagRol))) not between 64 and 90 +and ascii(substring(flagRol,@num,len(flagRol))) not between 97 and 122 +and ascii(substring(flagRol,@num,len(flagRol))) not between 48 and 57 +and ascii(substring(flagRol,@num,len(flagRol))) <> 32 +and ascii(substring(flagRol,@num,len(flagRol))) <> 40 +and ascii(substring(flagRol,@num,len(flagRol))) <> 41 +and ascii(substring(flagRol,@num,len(flagRol))) <> 43 +and ascii(substring(flagRol,@num,len(flagRol))) <> 44 +and ascii(substring(flagRol,@num,len(flagRol))) <> 45 +and ascii(substring(flagRol,@num,len(flagRol))) <> 46 +and ascii(substring(flagRol,@num,len(flagRol))) <> 95 +and ascii(substring(flagRol,@num,len(flagRol))) <> 39 +and ascii(substring(flagRol,@num,len(flagRol))) <> 47 +and ascii(substring(flagRol,@num,len(flagRol))) <> 63 +set @num = @num + 1 +end +select distinct a.* from #tab_temp a +inner join c6mart.gestione_pdf_ftp b on a.rete=b.rete and a.cod_fiscale=b.codicefiscale +order by a.cod_fiscale +--fine aggiunta +--where flaginvio = 'N' +--where (DATEDIFF(DAY,b.DataInvio,GETDATE()) = 1) +------------------------------------------------------- +--SELECT * FROM C6MartPeriodico.ContrattoSEI +--WHERE +-- Email like '%¿%' +--OR +-- Indirizzo like '%¿%' +--OR +-- CAP like '%¿%' +--OR +-- Citta like '%¿%' +--OR +-- Prov like '%¿%' +--OR +-- Nazione like '%¿%' +--OR +-- Presso like '%¿%' +--OR +-- Rol like '%¿%' +--OR +-- Email like '%Ç%' +--OR +-- Indirizzo like '%Ç%' +--OR +-- CAP like '%Ç%' +--OR +-- Citta like '%Ç%' +--OR +-- Prov like '%Ç%' +--OR +-- Nazione like '%Ç%' +--OR +-- Presso like '%Ç%' +--OR +-- Rol like '%Ç%' +--OR +-- Email like '%À%' +--OR +-- Indirizzo like '%À%' +--OR +-- CAP like '%À%' +--OR +-- Citta like '%À%' +--OR +-- Prov like '%À%' +--OR +-- Nazione like '%À%' +--OR +-- Presso like '%À%' +--OR +-- Rol like '%À%' +--OR +-- Email like '%É%' +--OR +-- Indirizzo like '%É%' +--OR +-- CAP like '%É%' +--OR +-- Citta like '%É%' +--OR +-- Prov like '%É%' +--OR +-- Nazione like '%É%' +--OR +-- Presso like '%É%' +--OR +-- Rol like '%É%' +--OR +-- Email like '%µ%' +--OR +-- Indirizzo like '%µ%' +--OR +-- CAP like '%µ%' +--OR +-- Citta like '%µ%' +--OR +-- Prov like '%µ%' +--OR +-- Nazione like '%µ%' +--OR +-- Presso like '%µ%' +--OR +-- Rol like '%µ%' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_Controlli_RepGiornaliera.sql b/sql/storedProduzione/C6Mart_Controlli_RepGiornaliera.sql new file mode 100644 index 00000000..0134f20d --- /dev/null +++ b/sql/storedProduzione/C6Mart_Controlli_RepGiornaliera.sql @@ -0,0 +1,530 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[Controlli_RepGiornaliera] +AS +BEGIN +-------------------------- +--prima parte +-------------------------- + drop table if exists C6Mart.clientidasistemare + drop table if exists c6mart.TB_ClienticonCaratteriAnomali + drop table if exists #tab_temp + declare @num int + set @num = 1 + CREATE TABLE #tab_temp( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL) + set @num = 1 + while @num < 150 + begin + insert into #tab_temp + SELECT ascii(substring(email,@num,1)), + substring(email,@num,1), + rete, + Cod_Fiscale, + 'EMAIL', + email + FROM C6Mart.vcontratti + WHERE + ascii(substring(email,@num,len(email))) not between 64 and 90 + and ascii(substring(email,@num,len(email))) not between 97 and 122 + and ascii(substring(email,@num,len(email))) not between 48 and 57 + and ascii(substring(email,@num,len(email))) <> 32 + and ascii(substring(email,@num,len(email))) <> 40 + and ascii(substring(email,@num,len(email))) <> 41 + and ascii(substring(email,@num,len(email))) <> 43 + and ascii(substring(email,@num,len(email))) <> 44 + and ascii(substring(email,@num,len(email))) <> 45 + and ascii(substring(email,@num,len(email))) <> 46 + and ascii(substring(email,@num,len(email))) <> 95 + and ascii(substring(email,@num,len(email))) <> 39 + and ascii(substring(email,@num,len(email))) <> 47 + and ascii(substring(email,@num,len(email))) <> 63 + set @num = @num + 1 + end + --inizio intervento: 05/02/2015 FCianfa Controllo caratteriAnomali su campi Nome e Cognome della tb c6mart.ANAG_CLIENTI + set @num = 1 + while @num < 150 + begin + insert into #tab_temp + SELECT ascii(substring(Nome,@num,1)), + substring(Nome,@num,1), + rete, + Cod_Fiscale, + 'Nome', + Nome + FROM C6Mart.ANAG_CLIENTI + WHERE + ascii(substring(Nome,@num,len(Nome))) not between 64 and 90 + and ascii(substring(Nome,@num,len(Nome))) not between 97 and 122 + and ascii(substring(Nome,@num,len(Nome))) not between 48 and 57 + and ascii(substring(Nome,@num,len(Nome))) <> 32 + and ascii(substring(Nome,@num,len(Nome))) <> 40 + and ascii(substring(Nome,@num,len(Nome))) <> 41 + and ascii(substring(Nome,@num,len(Nome))) <> 43 + and ascii(substring(Nome,@num,len(Nome))) <> 44 + and ascii(substring(Nome,@num,len(Nome))) <> 45 + and ascii(substring(Nome,@num,len(Nome))) <> 46 + and ascii(substring(Nome,@num,len(Nome))) <> 95 + and ascii(substring(Nome,@num,len(Nome))) <> 39 + and ascii(substring(Nome,@num,len(Nome))) <> 38 + and ascii(substring(Nome,@num,len(Nome))) <> 47 + and ascii(substring(Nome,@num,len(Nome))) <> 63 + set @num = @num + 1 + end + --aggiunta 30/07/2022 per il cognome + set @num = 1 + while @num < 150 + begin + insert into #tab_temp + SELECT ascii(substring(Cognome,@num,1)), + substring(Cognome,@num,1), + rete, + Cod_Fiscale, + 'Cognome', + Cognome + FROM C6Mart.ANAG_CLIENTI + WHERE + ascii(substring(Cognome,@num,len(Cognome))) not between 64 and 90 + and ascii(substring(Cognome,@num,len(Cognome))) not between 97 and 122 + and ascii(substring(Cognome,@num,len(Cognome))) not between 48 and 57 + and ascii(substring(Cognome,@num,len(Cognome))) <> 32 + and ascii(substring(Cognome,@num,len(Cognome))) <> 40 + and ascii(substring(Cognome,@num,len(Cognome))) <> 41 + and ascii(substring(Cognome,@num,len(Cognome))) <> 43 + and ascii(substring(Cognome,@num,len(Cognome))) <> 44 + and ascii(substring(Cognome,@num,len(Cognome))) <> 45 + and ascii(substring(Cognome,@num,len(Cognome))) <> 46 + and ascii(substring(Cognome,@num,len(Cognome))) <> 95 + and ascii(substring(Cognome,@num,len(Cognome))) <> 39 + and ascii(substring(Cognome,@num,len(Cognome))) <> 38 + and ascii(substring(Cognome,@num,len(Cognome))) <> 47 + and ascii(substring(Cognome,@num,len(Cognome))) <> 63 + set @num = @num + 1 + end + --fine aggiunta 30/07/2022 per il cognome + --fine intervento: 05/02/2015 FCianfa Controllo caratteriAnomali su campi Nome e Cognome della tb c6mart.ANAG_CLIENTI + set @num = 1 + while @num < 150 + begin + insert into #tab_temp + SELECT ascii(substring(Indirizzo,@num,1)), + substring(Indirizzo,@num,1), + rete, + Cod_Fiscale, + 'INDIRIZZO', + Indirizzo + FROM C6Mart.vcontratti + WHERE + ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 64 and 90 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 97 and 122 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 48 and 57 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 32 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 40 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 41 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 43 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 44 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 45 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 46 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 95 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 39 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 47 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 63 + set @num = @num + 1 + end + set @num = 1 + while @num < 150 + begin + insert into #tab_temp + SELECT ascii(substring(CAP,@num,1)), + substring(CAP,@num,1), + rete, + Cod_Fiscale, + 'CAP', + CAP + FROM C6Mart.vcontratti + WHERE + ascii(substring(CAP,@num,len(CAP))) not between 64 and 90 + and ascii(substring(CAP,@num,len(CAP))) not between 97 and 122 + and ascii(substring(CAP,@num,len(CAP))) not between 48 and 57 + and ascii(substring(CAP,@num,len(CAP))) <> 32 + and ascii(substring(CAP,@num,len(CAP))) <> 40 + and ascii(substring(CAP,@num,len(CAP))) <> 41 + and ascii(substring(CAP,@num,len(CAP))) <> 43 + and ascii(substring(CAP,@num,len(CAP))) <> 44 + and ascii(substring(CAP,@num,len(CAP))) <> 45 + and ascii(substring(CAP,@num,len(CAP))) <> 46 + and ascii(substring(CAP,@num,len(CAP))) <> 95 + and ascii(substring(CAP,@num,len(CAP))) <> 39 + and ascii(substring(CAP,@num,len(CAP))) <> 47 + and ascii(substring(CAP,@num,len(CAP))) <> 63 + set @num = @num + 1 + end + set @num = 1 + while @num < 150 + begin + insert into #tab_temp + SELECT ascii(substring(Citta,@num,1)), + substring(Citta,@num,1), + rete, + Cod_Fiscale, + 'Citta', + Citta + FROM C6Mart.vcontratti + WHERE + ascii(substring(Citta,@num,len(Citta))) not between 64 and 90 + and ascii(substring(Citta,@num,len(Citta))) not between 97 and 122 + and ascii(substring(Citta,@num,len(Citta))) not between 48 and 57 + and ascii(substring(Citta,@num,len(Citta))) <> 32 + and ascii(substring(Citta,@num,len(Citta))) <> 40 + and ascii(substring(Citta,@num,len(Citta))) <> 41 + and ascii(substring(Citta,@num,len(Citta))) <> 43 + and ascii(substring(Citta,@num,len(Citta))) <> 44 + and ascii(substring(Citta,@num,len(Citta))) <> 45 + and ascii(substring(Citta,@num,len(Citta))) <> 46 + and ascii(substring(Citta,@num,len(Citta))) <> 95 + and ascii(substring(Citta,@num,len(Citta))) <> 39 + and ascii(substring(Citta,@num,len(Citta))) <> 47 + and ascii(substring(Citta,@num,len(Citta))) <> 63 + set @num = @num + 1 + end + set @num = 1 + while @num < 150 + begin + insert into #tab_temp + SELECT ascii(substring(Provincia,@num,1)), + substring(Citta,@num,1), + rete, + Cod_Fiscale, + 'Provincia', + Provincia + FROM C6Mart.vcontratti + WHERE + ascii(substring(Provincia,@num,len(Provincia))) not between 64 and 90 + and ascii(substring(Provincia,@num,len(Provincia))) not between 97 and 122 + and ascii(substring(Provincia,@num,len(Provincia))) not between 48 and 57 + and ascii(substring(Provincia,@num,len(Provincia))) <> 32 + and ascii(substring(Provincia,@num,len(Provincia))) <> 40 + and ascii(substring(Provincia,@num,len(Provincia))) <> 41 + and ascii(substring(Provincia,@num,len(Provincia))) <> 43 + and ascii(substring(Provincia,@num,len(Provincia))) <> 44 + and ascii(substring(Provincia,@num,len(Provincia))) <> 45 + and ascii(substring(Provincia,@num,len(Provincia))) <> 46 + and ascii(substring(Provincia,@num,len(Provincia))) <> 95 + and ascii(substring(Provincia,@num,len(Provincia))) <> 39 + and ascii(substring(Provincia,@num,len(Provincia))) <> 47 + and ascii(substring(Provincia,@num,len(Provincia))) <> 63 + set @num = @num + 1 + end + set @num = 1 + while @num < 150 + begin + insert into #tab_temp + SELECT ascii(substring(Nazione,@num,1)), + substring(Nazione,@num,1), + rete, + Cod_Fiscale, + 'Nazione', + Nazione + FROM C6Mart.vcontratti + WHERE + ascii(substring(Nazione,@num,len(Nazione))) not between 64 and 90 + and ascii(substring(Nazione,@num,len(Nazione))) not between 97 and 122 + and ascii(substring(Nazione,@num,len(Nazione))) not between 48 and 57 + and ascii(substring(Nazione,@num,len(Nazione))) <> 32 + and ascii(substring(Nazione,@num,len(Nazione))) <> 40 + and ascii(substring(Nazione,@num,len(Nazione))) <> 41 + and ascii(substring(Nazione,@num,len(Nazione))) <> 43 + and ascii(substring(Nazione,@num,len(Nazione))) <> 44 + and ascii(substring(Nazione,@num,len(Nazione))) <> 45 + and ascii(substring(Nazione,@num,len(Nazione))) <> 46 + and ascii(substring(Nazione,@num,len(Nazione))) <> 95 + and ascii(substring(Nazione,@num,len(Nazione))) <> 39 + and ascii(substring(Nazione,@num,len(Nazione))) <> 47 + and ascii(substring(Nazione,@num,len(Nazione))) <> 63 + set @num = @num + 1 + end + set @num = 1 + while @num < 150 + begin + insert into #tab_temp + SELECT ascii(substring(Presso,@num,1)), + substring(Presso,@num,1), + rete, + Cod_Fiscale, + 'Presso', + Presso + FROM C6Mart.vcontratti + WHERE + ascii(substring(Presso,@num,len(Presso))) not between 64 and 90 + and ascii(substring(Presso,@num,len(Presso))) not between 97 and 122 + and ascii(substring(Presso,@num,len(Presso))) not between 48 and 57 + and ascii(substring(Presso,@num,len(Presso))) <> 32 + and ascii(substring(Presso,@num,len(Presso))) <> 40 + and ascii(substring(Presso,@num,len(Presso))) <> 41 + and ascii(substring(Presso,@num,len(Presso))) <> 43 + and ascii(substring(Presso,@num,len(Presso))) <> 44 + and ascii(substring(Presso,@num,len(Presso))) <> 45 + and ascii(substring(Presso,@num,len(Presso))) <> 46 + and ascii(substring(Presso,@num,len(Presso))) <> 95 + and ascii(substring(Presso,@num,len(Presso))) <> 39 + and ascii(substring(Presso,@num,len(Presso))) <> 47 + and ascii(substring(Presso,@num,len(Presso))) <> 63 + set @num = @num + 1 + end + set @num = 1 + while @num < 150 + begin + insert into #tab_temp + SELECT ascii(substring(flagRol,@num,1)), + substring(flagRol,@num,1), + rete, + Cod_Fiscale, + 'flagRol', + flagRol + FROM C6Mart.vcontratti + WHERE + ascii(substring(flagRol,@num,len(flagRol))) not between 64 and 90 + and ascii(substring(flagRol,@num,len(flagRol))) not between 97 and 122 + and ascii(substring(flagRol,@num,len(flagRol))) not between 48 and 57 + and ascii(substring(flagRol,@num,len(flagRol))) <> 32 + and ascii(substring(flagRol,@num,len(flagRol))) <> 40 + and ascii(substring(flagRol,@num,len(flagRol))) <> 41 + and ascii(substring(flagRol,@num,len(flagRol))) <> 43 + and ascii(substring(flagRol,@num,len(flagRol))) <> 44 + and ascii(substring(flagRol,@num,len(flagRol))) <> 45 + and ascii(substring(flagRol,@num,len(flagRol))) <> 46 + and ascii(substring(flagRol,@num,len(flagRol))) <> 95 + and ascii(substring(flagRol,@num,len(flagRol))) <> 39 + and ascii(substring(flagRol,@num,len(flagRol))) <> 47 + and ascii(substring(flagRol,@num,len(flagRol))) <> 63 + set @num = @num + 1 + end + select distinct a.Val_Ascii,a.Val_Char,a.Rete,a.Cod_Fiscale,a.Nome_Campo,a.Val_Campo + into c6mart.TB_ClienticonCaratteriAnomali + from #tab_temp a + inner join c6mart.gestione_pdf_ftp b on a.rete=b.rete and a.cod_fiscale=b.codicefiscale + order by a.cod_fiscale + select * from c6mart.TB_ClienticonCaratteriAnomali order by Cod_Fiscale + select a.Val_Ascii,a.Val_Char,a.Rete,a.Cod_Fiscale,a.Nome_Campo,a.Val_Campo + into c6mart.clientiDaSistemare + from c6mart.TB_ClienticonCaratteriAnomali a + inner join c6mart.gestione_pdf_ftp f on f.rete+f.CodiceFiscale=a.Rete+a.Cod_Fiscale + where f.DataInvio is null + --creare varchar per update + declare @x varchar(max) = 'Val_Campo' + select @x = 'replace('+@x+', ''' + Carattere_Speciale + ''','''+Carattere_Mappato+''')' + from C6Mart.CaratteriMappati + set @x = 'update c6mart.clientidaSistemare set Val_Campo=' + @x +' from c6mart.clientidaSistemare' + exec (@x) +-------------------------- +--seconda parte +-------------------------- + select * from c6mart.clientiDaSistemare + UPDATE c6mart.clientiDaSistemare SET Val_Campo = replace(Val_Campo, '''', ''); --questo update serve per togliere gli apici che possono dare fastidio negli update +-------------------------- +--terza parte +-------------------------- + declare @update varchar(max) = '' --ltmp + declare @rete char(1) + declare @cod_fiscale nvarchar(32) + declare @nome_campo nvarchar(64) + declare @val_campo nvarchar(max) + declare ClientiDaSistCurs Cursor for + select rete,cod_fiscale,nome_campo,val_campo from c6mart.clientiDaSistemare + open ClientiDaSistCurs + fetch next from ClientiDaSistCurs into @rete,@cod_fiscale,@nome_campo,@val_campo + while(@@FETCH_STATUS=0) + begin + if(@nome_campo not like '%Cognome%' or @nome_campo not like '%Nome%') + begin + print 'update c6mart.vcontratti + set '+ @nome_campo +'='''+ @val_campo +''' + where cod_fiscale = '''+ @cod_fiscale+'''' + --ltmpInizio + --versione precedente, ora sql non legge \n quindi si sostituisce con la versione con i char + /* set @update = @update + 'update c6mart.vcontratti + set '+ @nome_campo +'='''+ @val_campo +''' + where cod_fiscale = '''+ @cod_fiscale+'''\n' */ + set @update = @update + 'update c6mart.vcontratti + set '+ @nome_campo +'='''+ @val_campo +''' + where cod_fiscale = '''+ @cod_fiscale+'''' + CHAR(13) + CHAR(10) + --ltmpFine + end + else + begin + print 'update c6mart.anag_clienti + set '+ @nome_campo +'='''+ @val_campo +''' + where cod_fiscale = '''+ @cod_fiscale+'''' + --ltmpInizio + --versione precedente, ora sql non legge \n quindi si sostituisce con la versione con i char + /* set @update = @update + + 'update c6mart.anag_clienti + set '+ @nome_campo +'='''+ @val_campo +''' + where cod_fiscale = '''+ @cod_fiscale+'''\n' */ + set @update = @update +'update c6mart.anag_clienti + set '+ @nome_campo +'='''+ @val_campo +''' + where cod_fiscale = '''+ @cod_fiscale+'''' + CHAR(13) + CHAR(10) + --ltmpFine + end + fetch next from ClientiDaSistCurs into @rete,@cod_fiscale,@nome_campo,@val_campo + end + close ClientiDaSistCurs + -- select @update --ltmp + exec (@update) --ltmp +-------------------------- +--quarta parte +-------------------------- + exec [C6Mart].[InvioLetteraBenvenuto_ExcludedListApply] +-------------------------- +--quinta parte +-------------------------- + drop table if exists #inviati + select * + into #inviati + from c6mart.gestione_pdf_ftp where codicefiscale in (select distinct riatt_post18.trcom_codfisc--,riatt_post18.trcom_dtinvio + from + (select distinct trcom_codconf,trcom_codfisc,trcom_rete,trcom_dtinvio + from [CONSUNI].ConsulenzaUnicaFL.[dbo].CBS_HistDatiIngresso + where trcom_causale='RCO' + and substring(cast(trcom_dtinvio as varchar),8,4)>2018) revoc_post18 inner join + (select distinct trcom_codconf,trcom_codfisc,trcom_rete,trcom_dtinvio + from [CONSUNI].ConsulenzaUnicaFL.[dbo].CBS_HistDatiIngresso + where trcom_causale='ACO' + and substring(cast(trcom_dtinvio as varchar),8,4)>2018) riatt_post18 + on revoc_post18.trcom_codconf<>riatt_post18.trcom_codconf + and revoc_post18.trcom_codfisc=riatt_post18.trcom_codfisc --order by 2 desc + ) and datainvio is null order by 2,6 + drop table if exists #conta + select CodiceFiscale,count(codicefiscale) as conteggio + into #conta + from C6Mart.GESTIONE_PDF_FTP where CodiceFiscale in (select CodiceFiscale from #inviati) + group by CodiceFiscale + drop table if exists c6mart.clientiRepGiaInviati + select CodiceFiscale,conteggio + into c6mart.clientiRepGiaInviati + from #conta + where conteggio >1 + select * from c6mart.clientiRepGiaInviati +-------------------------- +--sesta parte +-------------------------- + declare @update2 varchar(max) ='' --ltmp + declare @cod_fiscaleINV nvarchar(32) + declare ClientiGiaInviatiCurs Cursor for + select codicefiscale from c6mart.clientiRepGiaInviati + open ClientiGiaInviatiCurs + fetch next from ClientiGiaInviatiCurs into @cod_fiscaleINV + while(@@FETCH_STATUS=0) + begin + print 'update p + set p.[DataInvio] = getdate() + ,p.[FlagInvio] = ''S'' + ,p.[id_fk_zip] = 999999 + from [C6Mart].[GESTIONE_PDF_FTP] p where codicefiscale='''+ @cod_fiscaleINV +''' and datainvio is null + ' + --ltmpInizio + set @update2 = @update2 + + 'update p + set p.[DataInvio] = getdate() + ,p.[FlagInvio] = ''S'' + ,p.[id_fk_zip] = 999999 + from [C6Mart].[GESTIONE_PDF_FTP] p where codicefiscale='''+ @cod_fiscaleINV +''' and datainvio is null + ' + --ltmpFine + fetch next from ClientiGiaInviatiCurs into @cod_fiscaleINV + end + close ClientiGiaInviatiCurs + -- select @update2 --ltmp + exec (@update2) --ltmp +--fine SP +------------------------------------------------------- +--SELECT * FROM C6MartPeriodico.ContrattoSEI +--WHERE +-- Email like '%¿%' +--OR +-- Indirizzo like '%¿%' +--OR +-- CAP like '%¿%' +--OR +-- Citta like '%¿%' +--OR +-- Prov like '%¿%' +--OR +-- Nazione like '%¿%' +--OR +-- Presso like '%¿%' +--OR +-- Rol like '%¿%' +--OR +-- Email like '%Ç%' +--OR +-- Indirizzo like '%Ç%' +--OR +-- CAP like '%Ç%' +--OR +-- Citta like '%Ç%' +--OR +-- Prov like '%Ç%' +--OR +-- Nazione like '%Ç%' +--OR +-- Presso like '%Ç%' +--OR +-- Rol like '%Ç%' +--OR +-- Email like '%À%' +--OR +-- Indirizzo like '%À%' +--OR +-- CAP like '%À%' +--OR +-- Citta like '%À%' +--OR +-- Prov like '%À%' +--OR +-- Nazione like '%À%' +--OR +-- Presso like '%À%' +--OR +-- Rol like '%À%' +--OR +-- Email like '%É%' +--OR +-- Indirizzo like '%É%' +--OR +-- CAP like '%É%' +--OR +-- Citta like '%É%' +--OR +-- Prov like '%É%' +--OR +-- Nazione like '%É%' +--OR +-- Presso like '%É%' +--OR +-- Rol like '%É%' +--OR +-- Email like '%µ%' +--OR +-- Indirizzo like '%µ%' +--OR +-- CAP like '%µ%' +--OR +-- Citta like '%µ%' +--OR +-- Prov like '%µ%' +--OR +-- Nazione like '%µ%' +--OR +-- Presso like '%µ%' +--OR +-- Rol like '%µ%' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_AGGIORNA_CLIENTE.sql b/sql/storedProduzione/C6Mart_DM_AGGIORNA_CLIENTE.sql new file mode 100644 index 00000000..2c476dc3 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_AGGIORNA_CLIENTE.sql @@ -0,0 +1,43 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_AGGIORNA_CLIENTE] + @Rete char(1), + @CodiceFiscale varchar(16), + @Nome varchar(50), + @Cognome varchar(50), + @DataNascita datetime=NULL, + @Cittadinanza varchar(150), + @Indirizzo varchar(150), + @Localita varchar(100), + @Provincia varchar(2), + @CAP varchar(5), + @Nazione varchar(50), + @DataInizio datetime=NULL, + @Sesso varchar(1) +AS +BEGIN +declare @eta smallint +set @eta = CASE + when @DataNascita IS NULL then null + ELSE DATEDIFF(YY, @DataNascita, GETDATE()) + END + UPDATE C6MART.ANAG_CLIENTI + SET + NOME = @Nome, + COGNOME = @Cognome, + DATA_NASCITA = @DataNascita, + ETA =@eta, + CITTADINANZA = @Cittadinanza, + INDIRIZZO = @Indirizzo, + LOCALITA = @Localita, + PROVINCIA = @Provincia, + CAP = @CAP, + NAZIONE = @Nazione, + DATA_INIZIO = @DataInizio, + SESSO = @Sesso + WHERE + RETE = @Rete AND COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_ALBERO_PRODOTTI.sql b/sql/storedProduzione/C6Mart_DM_ALBERO_PRODOTTI.sql new file mode 100644 index 00000000..1959d704 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_ALBERO_PRODOTTI.sql @@ -0,0 +1,50 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ALBERO_PRODOTTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MART.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ALBERO_PRODOTTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ALBERO_PRODOTTI + INSERT INTO [C6Mart].[ALBERO_PRODOTTI] + ([DESCRIZIONE_ORIGINALE] + ,[ALBERO_GERARCHIA_1] + ,[ALBERO_GERARCHIA_2] + ,[ALBERO_GERARCHIA_3] + ,[ID_ELAB]) + SELECT [DESCRIZIONE_ORIGINALE] + ,[ALBERO_GERARCHIA_1] + ,[ALBERO_GERARCHIA_2] + ,[ALBERO_GERARCHIA_3] + , @ID_ELAB AS ID_ELAB + FROM [C6Staging].[S4_S5_S13_TRAD_UNTIL_LIV3] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ALBERO_PRODOTTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ALBERO_PRODOTTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_ALL_PATRIMONIO.sql b/sql/storedProduzione/C6Mart_DM_ALL_PATRIMONIO.sql new file mode 100644 index 00000000..a606d284 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_ALL_PATRIMONIO.sql @@ -0,0 +1,326 @@ +-- ============================================= +-- AUTHOR: ALESSANDRO TRINGALI +-- CREATE DATE: 18 SETTEMBRE 2009 +-- DESCRIPTION: +-- ============================================= +CREATE procedure [C6Mart].[DM_ALL_PATRIMONIO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6Mart].GETIDELAB() + -- LOG ESECUZIONE + INSERT INTO LOG_ESECUZIONE + (NOME, INIZIO, NOTA) + VALUES ( + 'DM_ALL_PATRIMONIO', + GETDATE(), + 'ELABORAZIONE TRIMESTRALE' + ) + TRUNCATE TABLE [C6Mart].[ALL_PATRIMONIO] + INSERT INTO [C6Mart].[ALL_PATRIMONIO] + ( + [CODICE_FISCALE] + ,[RETE] + ,[POSITIONID] + ,[CATALOGUENAME] + ,[CATALOGUEID] + ,[COD_ADEGUATEZZA] + ,[INTERMEDIARIO] + ,[PATRIMONIO_INTERMEDIARIO] + ,[EMITTENTE] + ,[PATRIMONIO_EMITTENTE] + ,[COMPLESSITA] + ,[TIPO_PRODOTTO] + ,[CONTROVALORE_PRODOTTO] + ,[AZ_OB] + ,[PATRIMONIO_AZ_OB_EMIT] + ,[PATRIM_AZ_OB_EMIT_INTER] + ,[PATRIMONIO_COMPLESSIVO] + ,[CHIAVE_THR] + ) +SELECT + CODICE_FISCALE, + RETE, + POSITIONID, + DATI.CATALOGUENAME, + CAT.CATALOGUEID, + CASE + WHEN ADEGUATEZZA IS NULL + THEN CAT.COD_ADEGUATEZZA + ELSE ADEGUATEZZA + END AS COD_ADEGUATEZZA, + INTERMEDIARIO, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,INTERMEDIARIO) AS PATRIMONIO_INTERMEDIARIO, + EMIT.DESCR AS EMITTENTE, + CASE + WHEN EMIT.DESCR IS NULL THEN NULL + ELSE SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,EMIT.DESCR) + END AS PATRIMONIO_EMITTENTE, + CAT.COMPLEX AS COMPLESSITA, + CAT.TIPOPRODOTTO, + CONTROVALORE AS CONTROVALORE_PRODOTTO, + CASE WHEN CAT.STRTYPE IS NULL + THEN AZ_OB + ELSE CAT.STRTYPE + END AS AZ_OB, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,CASE WHEN CAT.STRTYPE IS NULL THEN AZ_OB ELSE CAT.STRTYPE END,EMIT.DESCR) AS PATRIMONIO_AZ_OB_EMIT, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,INTERMEDIARIO,CASE WHEN CAT.STRTYPE IS NULL THEN AZ_OB ELSE CAT.STRTYPE END,EMIT.DESCR, POSITIONID) AS PATRIM_AZ_OB_EMIT_INTER, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE) AS PATRIMONIO_COMPLESSIVO, + CHIAVE_THR + FROM ( + SELECT NULL AS AGENTE, + C.RETE, + C.CODICE_FISCALE, + C.CATALOGUENAME, + C.CONTROVALORE, + 'BF' AS INTERMEDIARIO, + SUBSTRING(C.STRINGONA_POS, 1, 57) AS CATALOGUEID, + C.STRINGONA_POS AS POSITIONID, + NULL AS ADEGUATEZZA, + 'BF' AS PROVENIENZA, + NULL AZ_OB, + '' AS CHIAVE_THR + FROM C6STAGING.ALL_CONSUL_ASUL C + union all + SELECT agente, + substring(agente,1,1) as rete, + codicefiscale as codice_FISCALE, + nome_prodotto as cataloguename, + SUM(controvalore) AS controvalore, + intermediario, + case when codiceisin = '' then '############' else codiceisin + replicate(' ', 12-len(codiceisin)) end + + + case when codicemaf = '' then '###############' else codicemaf + replicate(' ', 15-len(codicemaf)) end + + + case when codiceinterno = '' then '###############' else codiceinterno + replicate(' ', 15-len(codiceinterno)) end + + + case when codicesottoprodotto = '' then '###############' else codicesottoprodotto + replicate(' ', 15-len(codicesottoprodotto)) end + as catalogueid, + null as positionid, + codiceadeguatezza as ADEGUATEZZA , + 'PPT' as provenienza, + --alberatura, + case + when substring( alberatura,1,13)='Amm.Titoli.Ob' + OR substring( alberatura,1,15)='Amm.Strutturati' + then 'OB' + when substring( alberatura,1,17)='Amm.Titoli.Azioni' + OR substring( alberatura,1,18)='Amm.Titoli.Diritti' + OR substring( alberatura,1,20)='Amm.Derivati.Warrant' + OR substring( alberatura,1,19)='Amm.Derivati.CovWar' + then 'AZ' + else null + end as az_ob, + CHIAVE_THR + FROM (SELECT cf_e_pb.agente AS agente, + cf_e_pb.codice_fiscale AS codicefiscale, + nome_istituto AS intermediario, + SUM(paTRIMonio) AS controvalore, + REPLACE(codice_isin, '$', '') AS codiceisin, + REPLACE(codice_adeguatezza, '$', '') AS codiceadeguatezza, + REPLACE(codice_maf, '$', '') AS codicemaf, + REPLACE(codice_interno, '$', '') AS codiceinterno, + REPLACE(codice_sottoprodotto, + '$', + '' ) AS codicesottoprodotto, + CASE + WHEN traduz_alberat.albero_gerarchia_3 = + 'Conti correnti' AND + tipo_prodotto = + 'Assets.FinancialAssets.CurrentAccount' THEN + 'Cc' + ELSE + 'xxx' + END AS need_si_o_no_cc, + provenienza, + CASE + WHEN provenienza = 'dati NON in catalogo' THEN + 1 + ELSE + 0 + END AS prodotti_non_in_catalogo, + tipo_prodotto, + nome_prodotto, + alberatura, + CHIAVE_THR + FROM ( + -- asset per dati NON in catalogo + SELECT aa.paTRIMonio, + aa.chiave_cliente, + aa.nome_istituto, + bb.codice_isin, + bb.codice_adeguatezza, + bb.codice_maf, + NULL AS codice_interno, + NULL AS codice_sottoprodotto, + aa.alberatura, + aa.provenienza, + tipo_prodotto, + nomeprodotto AS nome_prodotto, + CHIAVE_THR + FROM (SELECT patr_tp.paTRIMonio_terzi * + acb.bdpercentage AS paTRIMonio, + patr_tp.chiave_per_cliente AS chiave_cliente, + patr_tp.intermediario AS nome_istituto, + ass.assetclassid, + substring(patr_tp.descrizione_alberatura, + 1, + 45) AS alberatura, + 'dati NON in catalogo' AS provenienza, + patr_tp.descrizione_prodotto AS tipo_prodotto, + patr_tp.nomeprodotto, + CHIAVE_THR + FROM C6STAGING.All_patr_terzi patr_tp, + C6STAGING.acbdenoth acb, + C6STAGING.assetclass ass + WHERE ass.assetclasslev = 2 + AND patr_tp.prodotto_in_catalogo IS NULL + AND patr_tp.chiave_fnc IS NOT NULL + AND acb.f_pfinancial_815c0 = patr_tp.chiave_fnc + AND acb.f_oid__passe_cdf1a = ass.oid_ + ) aa, + C6STAGING.all_asset_class_per_promet bb + WHERE bb.codice_asset_class_ingresso = aa.assetclassid + UNION ALL + -- asset per dati in catalogo che hanno cod_adeguatezza valorizzato + SELECT patr_tp.paTRIMonio_terzi AS paTRIMonio, + patr_tp.chiave_per_cliente AS chiave_cliente, + patr_tp.intermediario AS nome_istituto, + cat.cod_isin, + cat.cod_adeguatezza, + cat.cod_maf, + cat.cod_interno, + cat.cod_sottoprodotto, + substring(cat.type$_bcatal_fc317, 64, 45) AS alberatura, + 'dati in catalogo che hanno cod_adeguatezza valorizzato' AS provenienza, + patr_tp.descrizione_prodotto AS tipo_prodotto, + patr_tp.nomeprodotto, + CHIAVE_THR + FROM C6STAGING.all_patr_terzi patr_tp, + C6STAGING.catitemref cat + WHERE patr_tp.chiave_fnc IS NOT NULL + AND cat.cod_adeguatezza != '$' + AND patr_tp.prodotto_in_catalogo = cat.catalogueid + UNION ALL + SELECT a.paTRIMonio, + a.chiave_cliente, + a.nome_istituto, + b.codice_isin, + b.codice_adeguatezza, + b.codice_maf, + NULL AS codice_interno, + NULL AS codice_sottoprodotto, + a.alberatura, + a.provenienza, + tipo_prodotto, + nomeprodotto AS nome_prodotto, + CHIAVE_THR + FROM ( + -- ASSET ESISTENTI PER DATI DEL CATALOGO CON ADEGUATEZZA A NULL + SELECT PATR_TP.PATRIMONIO_TERZI * + ACB.BDPERCENTAGE AS PATRIMONIO, + PATR_TP.CHIAVE_PER_CLIENTE AS CHIAVE_CLIENTE, + PATR_TP.INTERMEDIARIO AS NOME_ISTITUTO, + LTRIM(ASS.ASSETCLASSID) AS ASSETCLASSID, + ASS.ASSETCLASSLEV, + SUBSTRING(CAT.TYPE$_BCATAL_FC317, 64, 45) AS ALBERATURA, + 'DATI IN CATALOGO CHE HANNO COD_ADEGUATEZZA A NULL E ASSET VALORIZZATO' AS PROVENIENZA, + PATR_TP.DESCRIZIONE_PRODOTTO AS TIPO_PRODOTTO, + PATR_TP.NOMEPRODOTTO, + patr_tp.CHIAVE_THR + FROM C6STAGING.ASSETCLASS ASS, + C6STAGING.ALL_PATR_TERZI PATR_TP, + C6STAGING.CATITEMREF CAT, + C6STAGING.INSTRBDS INS, + C6STAGING.ACBDENTRY ACB + WHERE CAT.COD_ADEGUATEZZA = '$' + AND ASS.ASSETCLASSLEV = 2 + AND PATR_TP.PRODOTTO_IN_CATALOGO = CAT.CATALOGUEID + AND PATR_TP.CHIAVE_FNC IS NOT NULL + AND CAT.OID$ = INS.F_OID__PCATA_5DDA6 + AND INS.OID_ = ACB.F_PINSTRUMEN_FBCDE + AND ACB.F_OID__PASSE_B8A1E = ASS.OID_ + UNION ALL + -- ASSET NON ESISTENTI PER DATI DEL CATALOGO CON ADEGUATEZZA A NULL (SETTATI AD ALTRO PER CONVENZIONE) + SELECT PATR_TP.PATRIMONIO_TERZI AS PATRIMONIO, + PATR_TP.CHIAVE_PER_CLIENTE AS CHIAVE_CLIENTE, + PATR_TP.INTERMEDIARIO AS NOME_ISTITUTO, + 'AL1' AS ASSETCLASSID, + 2, + SUBSTRING(CAT.TYPE$_BCATAL_FC317, 64, 45) AS ALBERATURA, + 'DATI IN CATALOGO CHE HANNO COD_ADEGUATEZZA A NULL E ASSET NON VALORIZZATO', + PATR_TP.DESCRIZIONE_PRODOTTO AS TIPO_PRODOTTO, + PATR_TP.NOMEPRODOTTO, + patr_tp.CHIAVE_THR + FROM C6STAGING.ALL_PATR_TERZI PATR_TP, + C6STAGING.CATITEMREF CAT, + C6STAGING.INSTRBDS INS + WHERE CAT.COD_ADEGUATEZZA = '$' + AND PATR_TP.CHIAVE_FNC IS NOT NULL + AND PATR_TP.PRODOTTO_IN_CATALOGO = CAT.CATALOGUEID + AND CAT.OID$ = INS.F_OID__PCATA_5DDA6 --(+) + AND INS.F_OID__PCATA_5DDA6 IS NULL + ) A, + C6STAGING.ALL_ASSET_CLASS_PER_PROMET B + WHERE B.CODICE_ASSET_CLASS_INGRESSO = A.ASSETCLASSID + ) patrimonio_PT, + C6STAGING.ALL_CF_PB CF_E_PB, + C6STAGING.S4_S5_S13_TRAD_UNTIL_LIV3 TRADUZ_ALBERAT + WHERE CF_E_PB.oid = patrimonio_PT.CHIAVE_CLIENTE + AND TRADUZ_ALBERAT.DESCRIZIONE_ORIGINALE = patrimonio_PT.ALBERATURA + GROUP BY CF_E_PB.AGENTE, + CF_E_PB.CODICE_FISCALE, + NOME_ISTITUTO, + REPLACE(codice_isin, '$', ''), + REPLACE(codice_adeguatezza, + '$', + '' + ), + REPLACE(codice_maf, '$', ''), + REPLACE(codice_interno, '$', ''), + REPLACE(codice_sottoprodotto, + '$', + '' + ), + PROVENIENZA, + TRADUZ_ALBERAT.ALBERO_GERARCHIA_3, + TIPO_PRODOTTO, + NOME_PRODOTTO, + ALBERATURA, + CHIAVE_THR) TUTTO_PPT + GROUP BY AGENTE, + CODICEFISCALE, + INTERMEDIARIO, + NOME_PRODOTTO, + CODICEISIN, + CODICEADEGUATEZZA, + CODICEMAF, + CODICEINTERNO, + CODICESOTTOPRODOTTO, + PRODOTTI_NON_IN_CATALOGO, + ALBERATURA, + CHIAVE_THR + ) DATI, + C6STAGING.CATITEMREF CAT, + C6STAGING.EMIT + WHERE CAT.CATALOGUEID = DATI.CATALOGUEID + AND CAT.CODEMI = EMIT.CODEMI + -- LOG ESECUZIONE + UPDATE + LOG_ESECUZIONE + SET + FINE = GETDATE(), + TIPO = 'INSERT', + RIGHE = @@ROWCOUNT + WHERE + NOME = 'DM_ALL_PATRIMONIO' AND + INIZIO = ( + SELECT + MAX(INIZIO) + FROM + LOG_ESECUZIONE + WHERE + NOME = 'DM_ALL_PATRIMONIO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_ANAG_CC.sql b/sql/storedProduzione/C6Mart_DM_ANAG_CC.sql new file mode 100644 index 00000000..18b178d5 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_ANAG_CC.sql @@ -0,0 +1,78 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_CC] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CC', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_CC + INSERT INTO [C6Mart].[ANAG_CC] + ([RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDOCONTABILE] + ,[SALDODISPONIBILE] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + 'BANCA FIDEURAM' AS INTERMEDIARIO, + NULL AS COINTEST, + SPB_CONTR_SINTESI.CONTO AS COD_CC, + CONTRATTOSEI.FASCIA_CPP AS FASCIA_CPP, + SPB_CONTR_SINTESI.CTV AS SALDOCONTABILE, + -- è diverso da quello restituito dalla contratto sintesi CC.SALDOCONTABILE AS SALDOCONTABILE, + CC.SALDODISPONIBILE AS SALDODISPONIBILE, + SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.SPB_CONTR_SINTESI + LEFT JOIN C6MART.CONTRATTOSEI ON CONTRATTOSEI.CODICECONTRATTO = SPB_CONTR_SINTESI.CODICECONTRATTO + --V Aggiunta del saldo contabile e disponibile + JOIN C6STAGING.SPB_CONTOCORRENTE CC + ON SPB_CONTR_SINTESI.CONTO = CC.CONTO + AND SPB_CONTR_SINTESI.RETE = CC.RETE + AND SPB_CONTR_SINTESI.CODICEFISCALE = CC.CODICEFISCALE + WHERE SPB_CONTR_SINTESI.TIPOPRODOTTO = 'Cc' AND CONTRATTOSEI.DATA_FINEAVANZATO is null + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CC' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_ANAG_CC_TERZI.sql b/sql/storedProduzione/C6Mart_DM_ANAG_CC_TERZI.sql new file mode 100644 index 00000000..be31c603 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_ANAG_CC_TERZI.sql @@ -0,0 +1,88 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_CC_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + --DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + --SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CC_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_CC_TERZI + INSERT INTO [C6Mart].[ANAG_CC_TERZI] + ([RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDO] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB]) + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + NULL AS COINTEST, + ALL_PATR_TERZI.NOMEPRODOTTO AS COD_CC, + CONTRATTOSEI.FASCIA_CPP AS FASCIA_CPP, + ALL_PATR_TERZI.PATRIMONIO_TERZI AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + FROM C6STAGING.ALL_PATR_TERZI + LEFT JOIN C6MART.CONTRATTOSEI + ON CONTRATTOSEI.COD_FISCALE =ALL_PATR_TERZI.CODICE_FISCALE + AND CONTRATTOSEI.RETE = ALL_PATR_TERZI.RETE_PB + WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_FNC + AND DESCRIZIONE_PRODOTTO LIKE '%CURRENTACCOUNT%' + AND DESCRIZIONE_ALBERATURA LIKE '%CONTICORRENTI%' + AND CONTRATTOSEI.DATA_FINEAVANZATO is null +-- SELECT +-- ALL_PATR_TERZI.RETE_PB AS RETE, +-- ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, +-- ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, +-- NULL AS COINTEST, +-- ALL_PATR_TERZI.NOMEPRODOTTO AS COD_CC, +-- CONTRATTOSEI.FASCIA_CPP AS FASCIA_CPP, +-- ALL_PATR_TERZI.PATRIMONIO_TERZI AS SALDO, +-- NULL AS DATA_APERTURA, +-- NULL AS DATA_CHIUSURA, +-- @ID_ELAB AS ID_ELAB +-- FROM C6STAGING.ALL_PATR_TERZI +-- INNER JOIN C6STAGING.S4_S5_S13_TRAD_UNTIL_LIV3 +-- ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA +-- LEFT JOIN C6MART.CONTRATTOSEI +-- ON CONTRATTOSEI.COD_FISCALE =ALL_PATR_TERZI.CODICE_FISCALE +-- AND CONTRATTOSEI.RETE = ALL_PATR_TERZI.RETE_PB +-- WHERE S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 = 'Conti correnti' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CC_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_ANAG_CLIENTI.sql b/sql/storedProduzione/C6Mart_DM_ANAG_CLIENTI.sql new file mode 100644 index 00000000..b925d937 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_ANAG_CLIENTI.sql @@ -0,0 +1,170 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_CLIENTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + DELETE C6MART.ANAG_CLIENTI + FROM C6MART.ANAG_CLIENTI + INNER JOIN C6STAGING.ALL_CF_PB + ON ANAG_CLIENTI.RETE = ALL_CF_PB.RETE_PB + AND ANAG_CLIENTI.COD_FISCALE = ALL_CF_PB.CODICEFISCALE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'DELETE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CLIENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CLIENTI' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + INSERT INTO [C6Mart].[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + distinct + CONTRATTOSEI.RETE AS RETE, + CONTRATTOSEI.COD_FISCALE AS COD_FISCALE, + ISNULL(SPB_CLIENTI.NOME,ALL_CF_PB.NOME) AS NOME, + ISNULL(SPB_CLIENTI.COGNOME,ALL_CF_PB.COGNOME) AS COGNOME, + ISNULL(ALL_CF_PB.DATA_NASCITA,SPB_CLIENTI.DATADINASCITA) AS DATA_NASCITA, + CASE + WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + AND ALL_CF_PB.MARITALSTATUS = 'Married' THEN 'Coniugato' + WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + AND ALL_CF_PB.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + AND ALL_CF_PB.MARITALSTATUS = 'Single' THEN 'Libero' + WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + AND ALL_CF_PB.MARITALSTATUS = 'Married' THEN 'Coniugata' + WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + AND ALL_CF_PB.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + AND ALL_CF_PB.MARITALSTATUS = 'Single' THEN 'Libera' + ELSE NULL + END AS STATO_CIVILE, + S25.NUMEROCOMPONENTI AS NUM_COMPONENTI, + S25.NUMEROFIGLI AS NUM_FIGLI, + S25.ETA AS ETA, + NULL AS PARTITA_IVA, + SPB_CLIENTI.CITTADINANZA AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(SPB_INDIRIZZI.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(SPB_INDIRIZZI.CITTA, '') AS LOCALITA, + ISNULL(SPB_INDIRIZZI.PROVINCIA, '') AS PROVINCIA, + ISNULL(SPB_INDIRIZZI.CAP, '') AS CAP, + ISNULL(SPB_INDIRIZZI.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + CONTRATTOSEI.EMAIL AS E_MAIL, + SPB_CLIENTI.DATAATTIVAZIONECLIENTE AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + CASE + WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + ALL_CF_PB.CODICE_PB AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6MART.CONTRATTOSEI + INNER JOIN + C6STAGING.ALL_CF_PB + ON + CONTRATTOSEI.RETE = ALL_CF_PB.RETE_PB + AND CONTRATTOSEI.COD_FISCALE = ALL_CF_PB.CODICEFISCALE + LEFT OUTER JOIN + C6STAGING.S25_CLI_CLIENTE S25 + ON + S25.CODICEFISCALE = CONTRATTOSEI.COD_FISCALE + AND S25.RETE = CONTRATTOSEI.RETE + LEFT OUTER JOIN + C6STAGING.SPB_CLIENTI + ON + C6STAGING.SPB_CLIENTI.CODICERETE = CONTRATTOSEI.RETE + AND C6STAGING.SPB_CLIENTI.CODICEFISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6STAGING.SPB_INDIRIZZI + ON + C6STAGING.SPB_INDIRIZZI.RETE = CONTRATTOSEI.RETE + AND C6STAGING.SPB_INDIRIZZI.CODICEFISCALE = CONTRATTOSEI.COD_FISCALE + WHERE + CONTRATTOSEI.DATA_FINEAVANZATO IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CLIENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CLIENTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_ANAG_CLIENTI_PREV.sql b/sql/storedProduzione/C6Mart_DM_ANAG_CLIENTI_PREV.sql new file mode 100644 index 00000000..cca55b23 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_ANAG_CLIENTI_PREV.sql @@ -0,0 +1,60 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_CLIENTI_PREV] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + TRUNCATE TABLE C6MART.ANAG_CLIENTI_PREV; + INSERT INTO [C6Mart].[ANAG_CLIENTI_PREV] + ([RETE] + ,[COD_FISCALE] + ,[STATO_LAVORATIVO] + ,[PROFESSIONE] + ,[CAT_PROFESSIONALE] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[RETRIB_LORDA] + ,[PROFESSIONE_SEC] + ,[CAT_PROFESSIONALE_SEC] + ,[DATA_INIZIO_SEC] + ,[DATA_FINE_SEC] + ,[RETRIB_LORDA_SEC] + ,[PROFESSIONE_PREC] + ,[CAT_PROFESSIONALE_PREC] + ,[DATA_INIZIO_PREC] + ,[DATA_FINE_PREC] + ,[RETRIB_LORDA_PREC] + ,[RICONGIUNZIONE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SUBSTRING(C6STAGING.ALL_CF_PB.RETE_PB,1,1) AS RETE, + SUBSTRING(C6STAGING.ALL_CF_PB.CODICE_FISCALE,1,16) AS COD_FISCALE, + NULL AS STATO_LAVORATIVO, + NULL AS PROFESSIONE, + NULL AS CAT_PROFESSIONALE, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS RETRIB_LORDA, + NULL AS PROFESSIONE_SEC, + NULL AS CAT_PROFESSIONALE_SEC, + NULL AS DATA_INIZIO_SEC, + NULL AS DATA_FINE_SEC, + NULL AS RETRIB_LORDA_SEC, + NULL AS PROFESSIONE_PREC, + NULL AS CAT_PROFESSIONALE_PREC, + NULL AS DATA_INIZIO_PREC, + NULL AS DATA_FINE_PREC, + NULL AS RETRIB_LORDA_PREC, + NULL AS RICONGIUNZIONE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_CF_PB +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_ANAG_CONTRATTI.sql b/sql/storedProduzione/C6Mart_DM_ANAG_CONTRATTI.sql new file mode 100644 index 00000000..d39aa65d --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_ANAG_CONTRATTI.sql @@ -0,0 +1,79 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_CONTRATTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_CONTRATTI + INSERT INTO [C6Mart].[ANAG_CONTRATTI] + ([ID_CONTRATTO] + ,[RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_PERF] + ,[DATA_CHIUSURA] + ,[STATO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[COD_INTERNO] + ,[COD_MANDATO] + ,[COD_CC] + ,[RUBRICATO] + ,[CUSTODIA_GAR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + CAST(ROW_NUMBER() OVER (ORDER BY SPB_CONTR_SINTESI.CODICEFISCALE) AS VARCHAR(64)) AS COD_PRODOTTO, + NULL AS INTERMEDIARIO, + SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE AS DATA_SOTTOSCRIZIONE, + NULL AS DATA_PERF, + NULL AS DATA_CHIUSURA, + SPB_CONTR_SINTESI.CODICESTATO AS STATO, + SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO, + SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, + NULL AS COD_MANDATO, + SPB_CONTR_SINTESI.CONTO AS COD_CC, + SPB_CONTR_SINTESI.RUBRICATO AS RUBRICATO, + SPB_CONTR_SINTESI.CUSTODIAGARANZIA AS CUSTODIA_GAR, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.SPB_CONTR_SINTESI + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_ANAG_CONTRATTI_ASS.sql b/sql/storedProduzione/C6Mart_DM_ANAG_CONTRATTI_ASS.sql new file mode 100644 index 00000000..d2303335 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_ANAG_CONTRATTI_ASS.sql @@ -0,0 +1,86 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_CONTRATTI_ASS] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CONTRATTI_ASS', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_CONTRATTI_ASS + INSERT INTO [C6Mart].[ANAG_CONTRATTI_ASS] + ([RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[ID_CONTRATTO] + ,[TIPO_PRODOTTO] + ,[PREMIO] + ,[IMPORTO_RATA] + ,[FREQ_RATA] + ,[IMPORTO_ASSICURATO] + ,[DURATA_POLIZZA] + ,[ALIQUOTA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[INTERMEDIARIO] + ,[STATO] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + SPB_CONTR_SINTESI.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, + SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO, + NULL AS PREMIO, + NULL AS IMPORTO_RATA, + NULL AS FREQ_RATA, + SPB_CONTR_SINTESI.CTV AS IMPORTO_ASSICURATO, + NULL AS DURATA_POLIZZA, + NULL AS ALIQUOTA, + SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, + CONVERT(DATETIME, SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE,103) AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + NULL AS INTERMEDIARIO, + SPB_CONTR_SINTESI.CODICESTATO AS STATO, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.SPB_CONTR_SINTESI + WHERE TIPOPRODOTTO LIKE 'AS%' AND NUMEROPOLIZZA <> '' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CONTRATTI_ASS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CONTRATTI_ASS' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_ANAG_EMITTENTI.sql b/sql/storedProduzione/C6Mart_DM_ANAG_EMITTENTI.sql new file mode 100644 index 00000000..55255dd6 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_ANAG_EMITTENTI.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_EMITTENTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MART.GETIDELAB() + TRUNCATE TABLE C6MART.ANAG_EMITTENTI + INSERT INTO [C6Mart].[ANAG_EMITTENTI] + ([ID_EMITTENTE] + ,[DESCRIZIONE] + ,[NOTE] + ,[ID_ELAB]) + SELECT DISTINCT + NULL AS ID_EMITTENTE, + NULL AS DESCRIZIONE, + NULL AS NOTE, + @ID_ELAB AS ID_ELAB + FROM C6STAGING.ALL_CF_PB + WHERE 1 = 0 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_ANAG_PRODOTTI.sql b/sql/storedProduzione/C6Mart_DM_ANAG_PRODOTTI.sql new file mode 100644 index 00000000..13aa16a4 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_ANAG_PRODOTTI.sql @@ -0,0 +1,88 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_PRODOTTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_PRODOTTI + INSERT INTO [C6Mart].[ANAG_PRODOTTI] + ([COD_PRODOTTO] + ,[COD_ISIN] + ,[PAESE] + ,[ID_AREA] + ,[CAT_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[COD_MAF] + ,[RATING] + ,[COD_ADEGUATEZZA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + CATITEMREF.COD_ISIN AS COD_ISIN, + CATITEMREF.COUNTRY AS PAESE, + '' AS ID_AREA, + (SELECT CASE SUBSTRING(CATITEMREF.TYPE$_BCATAL_FC317,64,3) + WHEN 'Ges' THEN 'Gestito Finanziario' + WHEN 'Amm' THEN 'Amministrato' + WHEN 'Ass' THEN 'Assicurativo' + END) AS CAT_PRODOTTO, + CATITEMREF.TIPOPRODOTTO AS TIPO_PRODOTTO, + CATITEMREF.CATALOGUENAME AS DESCR_PRODOTTO, + CATITEMREF.PRODUCTCURRENCY AS DIV_QUOTAZIONE, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + CATITEMREF.PIAZZA AS MERCATO_CONTRATT, + CATITEMREF.COD_MAF AS COD_MAF, + CATITEMREF.RATOBBLIG AS RATING, + CATITEMREF.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + CATITEMREF.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + CATITEMREF.COD_INTERNO AS COD_INTERNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(OID$) AS OID + FROM C6STAGING.CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.OID$ = DOPPICATITEMREF.OID + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_ANAG_PRODOTTI_TERZI.sql b/sql/storedProduzione/C6Mart_DM_ANAG_PRODOTTI_TERZI.sql new file mode 100644 index 00000000..c2506750 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_ANAG_PRODOTTI_TERZI.sql @@ -0,0 +1,73 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_PRODOTTI_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_PRODOTTI_TERZI + INSERT INTO [C6Mart].[ANAG_PRODOTTI_TERZI] + ([COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[NOME_PRODOTTO] + ,[ALBERO_PRODOTTI] + ,[COD_ISIN] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[INTERMEDIARIO] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[PAESE] + ,[RATING] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO AS COD_PRODOTTO, + ALL_PATR_TERZI.CHIAVE_THR AS COD_PRODOTTO_TERZI, + ALL_PATR_TERZI.NOMEPRODOTTO AS NOME_PRODOTTO, + ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA AS ALBERO_PRODOTTI, + NULL AS COD_ISIN, + ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO AS DESCR_PRODOTTO, + NULL AS DIV_QUOTAZIONE, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + NULL AS PAESE, + NULL AS RATING, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_PATR_TERZI + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_ANAG_PROMOTORI.sql b/sql/storedProduzione/C6Mart_DM_ANAG_PROMOTORI.sql new file mode 100644 index 00000000..3e579050 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_ANAG_PROMOTORI.sql @@ -0,0 +1,120 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_PROMOTORI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PROMOTORI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_PROMOTORI + INSERT INTO [C6Mart].[ANAG_PROMOTORI] + ([RETE] + ,[ID_PROMOTORE] + ,[LIVELLO] + ,[COD_FISCALE] + ,[PARTITA_IVA] + ,[COGNOME] + ,[NOME] + ,[RAG_SOC] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[COD_ABI] + ,[COD_CAB] + ,[COD_CIN] + ,[COD_CC] + ,[STATO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ADS4WS_PROMOTORI.RETE AS RETE, + ADS4WS_PROMOTORI.CODICE AS ID_PROMOTORE, + SPB_NAC.LIVELLONELLAGERARCHIA AS LIVELLO, + NULL AS COD_FISCALE, + NULL AS PARTITA_IVA, + rtrim(ltrim(ADS4WS_PROMOTORI.COGNOME)) AS COGNOME, + rtrim(ltrim(ADS4WS_PROMOTORI.NOME)) AS NOME, + NULL AS RAG_SOC, + CASE WHEN ADS4WS_PROMOTORI.DataInizioCollaborazione=0 THEN NULL ELSE + CAST(CAST(ADS4WS_PROMOTORI.DataInizioCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_INIZIO, + CASE WHEN ADS4WS_PROMOTORI.DataFineCollaborazione=0 THEN NULL ELSE + CAST(CAST(ADS4WS_PROMOTORI.DataFineCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_FINE, + rtrim(ltrim(ADS4WS_PROMOTORI.INDIRIZZO)) AS INDIRIZZO, + rtrim(ltrim(ADS4WS_PROMOTORI.CITTA)) AS LOCALITA, + rtrim(ltrim(ADS4WS_PROMOTORI.PROVINCIA)) AS PROVINCIA, + rtrim(ltrim(ADS4WS_PROMOTORI.CAP)) AS CAP, + NULL AS NAZIONE, + rtrim(ltrim(ADS4WS_PROMOTORI.prefissotelefono + ADS4WS_PROMOTORI.TelefonoAgenzia1)) AS TEL_RECAPITO, + NULL AS TEL_CELL, + rtrim(ltrim(EMAIL_PB.EMAIL)) AS E_MAIL, + NULL AS COD_ABI, + NULL AS COD_CAB, + NULL AS COD_CIN, + NULL AS COD_CC, + --CASE + -- WHEN SPB_NAC.CODICEAGENTE IS NULL THEN 'TERMINATO' + -- ELSE + CASE + WHEN PF.RETE IS NULL THEN 'ATTIVO' + ELSE 'FITTIZIO' + END + --END + AS STATO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ADS4WS_PROMOTORI ADS4WS_PROMOTORI + LEFT JOIN C6MART.EMAIL_PB EMAIL_PB + ON ADS4WS_PROMOTORI.RETE = EMAIL_PB.RETE + AND ADS4WS_PROMOTORI.CODICE = EMAIL_PB.CODICE + LEFT JOIN C6STAGING.SPB_NAC SPB_NAC + ON ADS4WS_PROMOTORI.RETE = SPB_NAC.CODICERETE + AND ADS4WS_PROMOTORI.CODICE = SPB_NAC.CODICEAGENTE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (ADS4WS_PROMOTORI.CODICE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND ADS4WS_PROMOTORI.RETE = PF.RETE +WHERE + ADS4WS_PROMOTORI.STATO = 'A' + --Aggiunta Valerio non inserisco in anagrafica pb terminati in quanto non hanno il livello + and SPB_NAC.CODICEAGENTE is not null + --AND ADS4WS_PROMOTORI.CODICE NOT IN ('009202')--,'014908') +---eliminato il filtro su '005772' 04/08/2010 +---eliminato il filtro su'003064' 12/08/2010 +---eliminato il filtro su '010712' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PROMOTORI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PROMOTORI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_ANAG_SELF.sql b/sql/storedProduzione/C6Mart_DM_ANAG_SELF.sql new file mode 100644 index 00000000..26bd2d67 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_ANAG_SELF.sql @@ -0,0 +1,74 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_SELF] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6Mart.GETIDELAB() + SET @TIPO_ELAB = C6Mart.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE [C6Mart].[ANAG_SELF] + INSERT INTO [C6Mart].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,NOMEPRODOTTO + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB] + ,CodInterno + ,CodSottoprodotto) + SELECT + SPB.RETE + ,SPB.CODICEFISCALE + ,SPB.CODICECONTRATTO + ,CAT.NomeProdotto + ,SPB.CTV + ,SPB.DATADISOTTOSCRIZIONE + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + ,CodInterno + ,CodSottoprodotto + FROM + C6Staging.SPB_CONTR_SINTESI SPB + inner join C6Staging.RP_CatalogoProdotti CAT + on SPB.isin = CAT.codisin and CAT.visibilita = 1 + -- aggiunta il 17/12/2018 per gestire l'ambiguità tra GP e FO a parità di Isin + and SPB.CodiceInterno = CAT.CodInterno + -- fine modifica + WHERE isin in('EURO00000009', 'EURO10000007') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_SELF' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_ANAG_SELF_20181129_PreMioFoglio.sql b/sql/storedProduzione/C6Mart_DM_ANAG_SELF_20181129_PreMioFoglio.sql new file mode 100644 index 00000000..3d2e0e13 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_ANAG_SELF_20181129_PreMioFoglio.sql @@ -0,0 +1,67 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_SELF_20181129_PreMioFoglio] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6Mart.GETIDELAB() + SET @TIPO_ELAB = C6Mart.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE [C6Mart].[ANAG_SELF] + INSERT INTO [C6Mart].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,NOMEPRODOTTO + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SPB.RETE + ,SPB.CODICEFISCALE + ,SPB.CODICECONTRATTO + ,CAT.NomeProdotto + ,SPB.CTV + ,SPB.DATADISOTTOSCRIZIONE + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + FROM + C6Staging.SPB_CONTR_SINTESI SPB + inner join C6Staging.RP_CatalogoProdotti CAT + on SPB.isin = CAT.codisin and CAT.visibilita = 1 + WHERE isin in('EURO00000009', 'EURO10000007') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_SELF' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_ANAG_SELF_BK_eligoTitoli.sql b/sql/storedProduzione/C6Mart_DM_ANAG_SELF_BK_eligoTitoli.sql new file mode 100644 index 00000000..a4682472 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_ANAG_SELF_BK_eligoTitoli.sql @@ -0,0 +1,62 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_SELF_BK_eligoTitoli] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6Mart.GETIDELAB() + SET @TIPO_ELAB = C6Mart.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE [C6Mart].[ANAG_SELF] + INSERT INTO [C6Mart].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + RETE + ,CODICEFISCALE + ,CODICECONTRATTO + ,CTV + ,DATADISOTTOSCRIZIONE + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + FROM + C6Staging.SPB_CONTR_SINTESI + WHERE isin = 'EURO00000009' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_SELF' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_AREA_BISOGNO.sql b/sql/storedProduzione/C6Mart_DM_AREA_BISOGNO.sql new file mode 100644 index 00000000..e546aaec --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_AREA_BISOGNO.sql @@ -0,0 +1,52 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_AREA_BISOGNO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MART.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_AREA_BISOGNO', + GETDATE(), + 'Elaborazione giornaliera' + ) + DELETE FROM [C6Mart].[AREA_BISOGNO] --truncate + INSERT INTO [C6Mart].[AREA_BISOGNO] --insert from CONSUNI, avoiding staging + select *, 58 from CONSUNI.[CatalogoProdotti].dbo.NeedArea + --TRUNCATE TABLE C6MART.AREA_BISOGNO + --INSERT INTO [C6Mart].[AREA_BISOGNO] + -- ([ID_AREA] + -- ,[NOME_AREA] + -- ,[ORDINAMENTO] + -- ,[ID_ELAB]) + --SELECT + -- LTRIM(RTRIM(NEEDAREA.OID_)) AS ID_AREA, + -- LTRIM(RTRIM(NEEDAREA.AREANAME)) AS NOME_AREA, + -- NEEDAREA.AREASORTORDER AS ORDINAMENTO, + -- @ID_ELAB AS ID_ELAB + --FROM C6STAGING.NEEDAREA + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_AREA_BISOGNO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_AREA_BISOGNO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_ASSETCLASS.sql b/sql/storedProduzione/C6Mart_DM_ASSETCLASS.sql new file mode 100644 index 00000000..fa5caa56 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_ASSETCLASS.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ASSETCLASS] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MART.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSETCLASS', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ASSETCLASS + INSERT INTO [C6Mart].[ASSETCLASS] + ([ID_ASSETCLASS] + ,[DESCRIZIONE] + ,[LIVELLO] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(ASSETCLASS.OID_)) AS ID_ASSETCLASS, + LTRIM(RTRIM(ASSETCLASS.ASSETCLASSDESCR)) AS DESCRIZIONE, + ASSETCLASS.ASSETCLASSLEV AS LIVELLO, + ASSETCLASS.ORDINE AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6STAGING.ASSETCLASS + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSETCLASS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSETCLASS' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_ASSETCLASS_TERZI.sql b/sql/storedProduzione/C6Mart_DM_ASSETCLASS_TERZI.sql new file mode 100644 index 00000000..05720b08 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_ASSETCLASS_TERZI.sql @@ -0,0 +1,55 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ASSETCLASS_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSETCLASS_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ASSETCLASS_TERZI + INSERT INTO [C6Mart].[ASSETCLASS_TERZI] + ([ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_ADEGUATEZZA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + LTRIM(RTRIM(ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO)) AS ID_ASSETCLASS, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN,'$'))) AS COD_ISIN, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF,'$'))) AS COD_MAF, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA,'$'))) AS COD_ADEGUATEZZA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_ASSET_CLASS_PER_PROMET + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSETCLASS_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSETCLASS_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_ASSET_PERC.sql b/sql/storedProduzione/C6Mart_DM_ASSET_PERC.sql new file mode 100644 index 00000000..1a1422bf --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_ASSET_PERC.sql @@ -0,0 +1,70 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ASSET_PERC] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSET_PERC', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ASSET_PERC + INSERT INTO [C6Mart].[ASSET_PERC] + ([COD_PRODOTTO] + ,[ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[LIVELLO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + LTRIM(RTRIM(ACBDENTRY.F_OID__PASSE_B8A1E)) AS ID_ASSETCLASS, + CATITEMREF.COD_ISIN AS COD_ISIN, + CATITEMREF.COD_MAF AS COD_MAF, + CATITEMREF.COD_INTERNO AS COD_INTERNO, + CATITEMREF.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + LTRIM(RTRIM(ASSETCLASS.ASSETCLASSLEV)) AS LIVELLO, + LTRIM(RTRIM(ACBDENTRY.BDPERCENTAGE)) AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6STAGING.CATITEMREF + INNER JOIN C6STAGING.INSTRBDS + ON INSTRBDS.F_OID__PCATA_5DDA6 = CATITEMREF.OID$ + INNER JOIN C6STAGING.ACBDENTRY + ON ACBDENTRY.F_PINSTRUMEN_FBCDE = INSTRBDS.OID_ + INNER JOIN C6STAGING.ASSETCLASS + ON ASSETCLASS.OID_ = ACBDENTRY.F_OID__PASSE_B8A1E + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSET_PERC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSET_PERC' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_ASSET_PERC_TERZI.sql b/sql/storedProduzione/C6Mart_DM_ASSET_PERC_TERZI.sql new file mode 100644 index 00000000..56ae4a04 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_ASSET_PERC_TERZI.sql @@ -0,0 +1,79 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ASSET_PERC_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSET_PERC_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ASSET_PERC_TERZI + INSERT INTO [C6Mart].[ASSET_PERC_TERZI] + ([COD_PRODOTTO_TERZI] + ,[ID_ASSETCLASS] + ,[LIVELLO] + ,[NOME_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + PATR_TP.CHIAVE_THR AS COD_PRODOTTO_TERZI, + ASS.OID_ AS ID_ASSETCLASS, + ASS.ASSETCLASSLEV AS LIVELLO, + PATR_TP.NOMEPRODOTTO AS NOME_PRODOTTO, + ALBERO.ALBERO_GERARCHIA_3 AS TIPO_PRODOTTO, + ACB.BDPERCENTAGE AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6STAGING.ALL_PATR_TERZI PATR_TP, + C6STAGING.ACBDENOTH ACB, + C6STAGING.ASSETCLASS ASS, + C6STAGING.S4_S5_S13_TRAD_UNTIL_LIV3 ALBERO + WHERE 1 = 1 + AND PATR_TP.CHIAVE_FNC IS NOT NULL + AND ALBERO.DESCRIZIONE_ORIGINALE = PATR_TP.DESCRIZIONE_ALBERATURA + AND ACB.F_PFINANCIAL_815C0 = PATR_TP.CHIAVE_FNC + AND ACB.F_OID__PASSE_CDF1A = ASS.OID_ + AND ASS.ASSETCLASSLEV IN (1,2) + AND PATR_TP.PRODOTTO_IN_CATALOGO IS NULL + GROUP BY + PATR_TP.CHIAVE_THR, + PATR_TP.NOMEPRODOTTO, + ASS.OID_, + ASS.ASSETCLASSLEV, + ALBERO.ALBERO_GERARCHIA_3, + ACB.BDPERCENTAGE, + ACB.OID_ + ORDER BY 2,4 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSET_PERC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSET_PERC_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_CATEGORIE_PRODOTTO.sql b/sql/storedProduzione/C6Mart_DM_CATEGORIE_PRODOTTO.sql new file mode 100644 index 00000000..fce8b4cf --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_CATEGORIE_PRODOTTO.sql @@ -0,0 +1,47 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_CATEGORIE_PRODOTTO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @righe INT + SET @righe = 0 + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CATEGORIE_PRODOTTO', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.CATEGORIE_PRODOTTO; + INSERT INTO C6Mart.CATEGORIE_PRODOTTO(CAT_PRODOTTO,DESCRIZIONE,ORDINAMENTO) + VALUES('Ges','Gestito finanziario',1); + SET @righe = @righe + 1 + INSERT INTO C6Mart.CATEGORIE_PRODOTTO(CAT_PRODOTTO,DESCRIZIONE,ORDINAMENTO) + VALUES('Ass','Gestito assicurativo previdenziale',2); + SET @righe = @righe + 1 + INSERT INTO C6Mart.CATEGORIE_PRODOTTO(CAT_PRODOTTO,DESCRIZIONE,ORDINAMENTO) + VALUES('Amm','Amministrato',3); + SET @righe = @righe + 1 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @righe + WHERE + Nome = 'DM_CATEGORIE_PRODOTTO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CATEGORIE_PRODOTTO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_CLIENTI_NON_MIGRATI.sql b/sql/storedProduzione/C6Mart_DM_CLIENTI_NON_MIGRATI.sql new file mode 100644 index 00000000..06873fd5 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_CLIENTI_NON_MIGRATI.sql @@ -0,0 +1,12 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_CLIENTI_NON_MIGRATI] +AS +BEGIN + SELECT RETE, COD_FISCALE, ID_PROMOTORE + FROM C6Mart.ANAG_CLIENTI + WHERE (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_CODIFICA_CREDITRISK.sql b/sql/storedProduzione/C6Mart_DM_CODIFICA_CREDITRISK.sql new file mode 100644 index 00000000..fae3d705 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_CODIFICA_CREDITRISK.sql @@ -0,0 +1,50 @@ +-- ============================================= +-- Author: Valerio Colaianni +-- Create date: 17 marzo 2009 +-- ============================================= +CREATE procedure [C6Mart].[DM_CODIFICA_CREDITRISK] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6Mart.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_CREDITRISK', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6Mart.CODIFICA_CREDITRISK + INSERT INTO C6Mart.[CODIFICA_CREDITRISK] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAL] + ,[MAX_VAL] + ,[ID_ELAB]) + SELECT + COD, + DESCR, + MINVAL, + MAXVAL, + @ID_ELAB AS ID_ELAB + FROM C6STAGING.RISKCLASS + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'CODIFICA_CREDITRISK' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'CODIFICA_CREDITRISK' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_CODIFICA_PIRAMIDI.sql b/sql/storedProduzione/C6Mart_DM_CODIFICA_PIRAMIDI.sql new file mode 100644 index 00000000..382a62d5 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_CODIFICA_PIRAMIDI.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_CODIFICA_PIRAMIDI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MART.GETIDELAB() + TRUNCATE TABLE C6MART.CODIFICA_PIRAMIDI + INSERT INTO [C6Mart].[CODIFICA_PIRAMIDI] + ([ID_PIRAMIDE] + ,[DESCRIZIONE] + ,[NOTE] + ,[ID_ELAB]) + SELECT + NULL AS ID_PIRAMIDE, + NULL AS DESCRIZIONE, + NULL AS NOTE, + @ID_ELAB AS ID_ELAB + FROM C6STAGING.CATITEMREF + WHERE 1=0 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_CODIFICA_RISCHIO.sql b/sql/storedProduzione/C6Mart_DM_CODIFICA_RISCHIO.sql new file mode 100644 index 00000000..05486e99 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_CODIFICA_RISCHIO.sql @@ -0,0 +1,56 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: NOTA BENE: I JOIN NON DOVREBBERO MAI ESSERE FATTI COME SOTTO, TRATTASI DI WORK AROUND +-- ============================================= +CREATE procedure [C6Mart].[DM_CODIFICA_RISCHIO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MART.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_RISCHIO', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.CODIFICA_RISCHIO + INSERT INTO [C6Mart].[CODIFICA_RISCHIO] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAR] + ,[MAX_VAR] + ,[ID_ELAB]) + SELECT + SPB_PROF_RISCHIO.CODICEPROFILO AS PROFILO, + SPB_PROF_RISCHIO.DESCRIZIONEPROFILO AS DESCRIZIONE, + ISNULL(SPB_MIN.VARTRIMESTRALE,-0.01) + 0.01 AS MIN_VAR, + SPB_PROF_RISCHIO.VARTRIMESTRALE AS MAX_VAR, + @ID_ELAB AS ID_ELAB + FROM + C6STAGING.SPB_PROF_RISCHIO + LEFT JOIN + C6STAGING.SPB_PROF_RISCHIO SPB_MIN + ON + SPB_MIN.CODICEPROFILO + 1 = SPB_PROF_RISCHIO.CODICEPROFILO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CODIFICA_RISCHIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CODIFICA_RISCHIO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_CREA_POSITIONID.sql b/sql/storedProduzione/C6Mart_DM_CREA_POSITIONID.sql new file mode 100644 index 00000000..2b77f6e1 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_CREA_POSITIONID.sql @@ -0,0 +1,77 @@ +-- ============================================= +-- AUTHOR: +-- CREATE DATE: 10/05/2010 +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_CREA_POSITIONID] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CREA_POSITIONID', + GETDATE(), + 'Elaborazione giornaliera' + ) + UPDATE +C6Staging.SPB_CONTR_SINTESI + SET + POSITIONID = + [C6STAGING].[INFO_DAPRODOTTOCSACATALOGO] --DBO.INFO_DAPRODOTTOCSACATALOGO + ( + TIPOPRODOTTO, + CODICEINTERNO, + CODICEMAF, + --V ISIN per ASU2 + ISNULL(ISIN,''), + CODICESOTTOPRODOTTO + ) + --END + + + DBO.CREA_POSITIONID + ( + TIPOPRODOTTO, + CODICEINTERNO, + CODICEMAF, + '', + CODICESOTTOPRODOTTO, + CODICECONTRATTO, -- VERIFICARNE LA CORRETTEZZA + NUMEROPOLIZZA, + CONTO, + RUBRICATO, + CUSTODIAGARANZIA, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CREA_POSITIONID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CREA_POSITIONID' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_DATI_REPORT.sql b/sql/storedProduzione/C6Mart_DM_DATI_REPORT.sql new file mode 100644 index 00000000..3c72966d --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_DATI_REPORT.sql @@ -0,0 +1,47 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_DATI_REPORT] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + TRUNCATE TABLE C6MART.DATI_REPORT + INSERT INTO [C6Mart].[DATI_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[FLAG_REPORT] + ,[REPORT_DIAGN] + ,[REPORT_MONIT] + ,[DATA_REPORT] + ,[REPORT_FREQ] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + NULL AS RETE, + NULL AS COD_FISCALE, + NULL AS INDIRIZZO, + NULL AS LOCALITA, + NULL AS PROVINCIA, + NULL AS CAP, + NULL AS NAZIONE, + NULL AS FLAG_REPORT, + NULL AS REPORT_DIAGN, + NULL AS REPORT_MONIT, + NULL AS DATA_REPORT, + NULL AS REPORT_FREQ, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.CATITEMREF + WHERE 1=0 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_DETTAGLIO_ASUL.sql b/sql/storedProduzione/C6Mart_DM_DETTAGLIO_ASUL.sql new file mode 100644 index 00000000..ab041412 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_DETTAGLIO_ASUL.sql @@ -0,0 +1,100 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_DETTAGLIO_ASUL] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_DETTAGLIO_ASUL', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.DETTAGLIO_ASUL + INSERT INTO [C6Mart].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + ISNULL( + dbo.Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPOPRODOTTO, SPB_ASS_UNIT.CODICEINTERNO, SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE, SPB_ASS_UNIT.CODICEISINSOTTOSTANTE, SPB_ASS_UNIT.CODICESOTTOPRODOTTO), + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODICECONTRATTO AS ID_CONTRATTO, + SPB_ASS_UNIT.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODICEINTERNO AS COD_INTERNO, + SPB_ASS_UNIT.CONTROVALORE AS CTV, + SPB_ASS_UNIT.DATADIRIFERIMENTO AS DATA_RIF, + SPB_ASS_UNIT.ISINFITTIZIO AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.CODICEISINSOTTOSTANTE AS COD_ISIN_SOTT, + SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6STAGING.SPB_CONTR_SINTESI + INNER JOIN + C6STAGING.SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODICECONTRATTO = SPB_ASS_UNIT.CODICECONTRATTO + LEFT OUTER JOIN + C6STAGING.RP_CATALOGOPRODOTTI CAT + ON SPB_ASS_UNIT.CODICEINTERNO = CAT.CODINTERNO + AND SPB_ASS_UNIT.CODICESOTTOPRODOTTO = CAT.CODSOTTOPRODOTTO + AND VISIBILITA=1 + AND (SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = ''and codisin='$' OR ( + SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = CAT.CODADEGUATEZZA AND + SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE = CAT.CODMAF + ) + ) + /* + C6STAGING.CATITEMREF + ON SPB_ASS_UNIT.CODICEINTERNO = CATITEMREF.COD_INTERNO + AND SPB_ASS_UNIT.CODICESOTTOPRODOTTO = CATITEMREF.COD_SOTTOPRODOTTO + AND isvisible=1 + AND (SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = ''and cod_isin='$' OR ( + SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = CATITEMREF.COD_ADEGUATEZZA AND + SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE = CATITEMREF.COD_MAF + ) + )*/ + WHERE + SPB_CONTR_SINTESI.CTV <> 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_DETTAGLIO_ASUL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_DETTAGLIO_ASUL' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_EMAIL_PB.sql b/sql/storedProduzione/C6Mart_DM_EMAIL_PB.sql new file mode 100644 index 00000000..3ce4de73 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_EMAIL_PB.sql @@ -0,0 +1,85 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 26 gennaio 2009 +-- Description: Recupera PB, RM, DM, AM le cui email non sono ancora valorizzate. +-- ============================================= +CREATE procedure [C6Mart].[DM_EMAIL_PB] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_EMAIL_PB', + GETDATE(), + 'Elaborazione giornaliera' + ) + SELECT DISTINCT + CODICI_PB.RETE AS RETE, + CODICI_PB.CODICE AS CODICE, + (CASE CODICI_PB.RETE WHEN 'F' THEN 'R' ELSE 'P' END) AS PREFISSO, + (CASE CODICI_PB.RETE WHEN 'F' THEN 'R' ELSE 'P' END) + CODICI_PB.CODICE AS FIRMA +--, +-- CODICI_PB.LIVELLO AS LIVELLO, +-- CODICI_PB.LIV_ORD AS LIV_ORD + FROM + ( + SELECT STRUTTURA.RETE, STRUTTURA.PB CODICE--, 'PB' as LIVELLO, 1 AS LIV_ORD + FROM C6MART.CONTRATTOSEI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + UNION + SELECT STRUTTURA.RETE, STRUTTURA.RM CODICE--, 'RM' as LIVELLO, 2 AS LIV_ORD + FROM C6MART.CONTRATTOSEI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + UNION + SELECT STRUTTURA.RETE, STRUTTURA.DM CODICE--, 'DM' as LIVELLO, 3 AS LIV_ORD + FROM C6MART.CONTRATTOSEI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + UNION + SELECT STRUTTURA.RETE, STRUTTURA.AM CODICE--, 'AM' as LIVELLO, 4 AS LIV_ORD + FROM C6MART.CONTRATTOSEI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + ) CODICI_PB + LEFT JOIN C6MART.EMAIL_PB EMAIL_PB_ESISTENTI + ON EMAIL_PB_ESISTENTI.RETE = CODICI_PB.RETE + AND EMAIL_PB_ESISTENTI.CODICE = CODICI_PB.CODICE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (CODICI_PB.CODICE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND CODICI_PB.RETE = PF.RETE + WHERE EMAIL_PB_ESISTENTI.EMAIL IS NULL + AND PF.RETE IS NULL +--togliere + --and CODICI_PB.CODICE not in ('010712','015115','015117','015091','015182','006167','015125','015126','015185','006154','006200') +and CODICI_PB.CODICE not in ('015185') +---eliminato il filtro '010712' +---eliminato il filtro su '015089'--,'015163', 12/08 + --ORDER BY CODICI_PB.LIV_ORD + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_EMAIL_PB' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_EMAIL_PB' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_ESITI_CARICAMENTI.sql b/sql/storedProduzione/C6Mart_DM_ESITI_CARICAMENTI.sql new file mode 100644 index 00000000..a46249ee --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_ESITI_CARICAMENTI.sql @@ -0,0 +1,29 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ESITI_CARICAMENTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MART.GETIDELAB() + TRUNCATE TABLE C6MART.ESITI_CARICAMENTI + INSERT INTO [C6Mart].[ESITI_CARICAMENTI] + ([PROGR] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[ESITO] + ,[NOTE] + ,[ID_ELAB]) + SELECT + NULL AS PROGR, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS ESITO, + NULL AS NOTE, + @ID_ELAB AS ID_ELAB + FROM C6STAGING.CATITEMREF + WHERE 1=0 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_GER_PROMOTORI.sql b/sql/storedProduzione/C6Mart_DM_GER_PROMOTORI.sql new file mode 100644 index 00000000..29caf5db --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_GER_PROMOTORI.sql @@ -0,0 +1,30 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_GER_PROMOTORI] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MART.GETIDELAB() + -- Insert statements for procedure here + TRUNCATE TABLE C6MART.GER_PROMOTORI + SELECT DISTINCT +---- INFO TABELLA PER GESTIONE ERRORE +-- 'GER_PROMOTORI' AS TABLENAME, +-- 'RETE - ID_PROMOTORE' AS KEYCOLUMN, +-- SPB_NAC.CODICERETE + ' - ' + SPB_NAC.CODICEAGENTE AS KEYVALUE, +---- FINE INFO TABELLA PER GESTIONE ERRORE + SPB_NAC.CODICERETE AS RETE, + SPB_NAC.CODICEAGENTE AS ID_PROMOTORE, + SPB_NAC.LIVELLONELLAGERARCHIA AS LIVELLO, + SPB_NAC.CODICEMANAGER AS ID_MANAGER, + SPB_NAC.SUBORDINATI AS SUBORDINATI, + @ID_ELAB AS ID_ELAB, + 'D' AS TIPO_ELAB + FROM C6STAGING.SPB_NAC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_GestioneEmail.sql b/sql/storedProduzione/C6Mart_DM_GestioneEmail.sql new file mode 100644 index 00000000..2fa56598 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_GestioneEmail.sql @@ -0,0 +1,298 @@ +-- ============================================= +-- Author: +-- Create date: <13/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_GestioneEmail] +AS +BEGIN +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- PERFEZIONAMENTO; +-- MANCATA MIGRAZIONE; +-- REINVIO SOLLECITO MANCATA MIGRAZIONE. +--LA GESTIONE DELLE EMAIL PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO O +--PER REINVIO DEL SOLLECITO PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO +--VIENE FATTA DOPO L'ALLINEAMENTO CON I DATI DEL SIMPB +--ESTRAZIONE EMAIL PERFEZIONAMENTO +--TIPO EMAIL: "PERF" +--L'EMAIL VIENE INVIATA PER TUTTI I CLIENTI CHE HANNO DATA DI PERFEZIONAMENTO VALORIZZATA +--IL CONTROLLO SULLA DATA DI GENERAZIONE >= DELLA DATA DI PERFEZIONAMENTO E' DOVUTO AL +--FATTO CHE IL CONTRATTO PUO` ESSERE CHIUSO E RIAPERTO ED IN QUESTO CASO LA MAIL DI PERFEZIONAMENTO +--DEVE ESSERE REINVIATA +-- EMAIL DI ADESIONE AL SERVIZIO SEI +-- TIPO EMAIL 'PERF' +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @ID_ELAB INT +DECLARE @MaxInvioSoll as SMALLINT +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') as smallint) +SET @ID_ELAB = C6MART.GETIDELAB() +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) --7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint) --7 +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_GestioneEmail', + GETDATE(), + 'Elaborazione giornaliera' +) +--1. INSERIMENTO MAIL DI "PERFEZIONAMENTO" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- NON PRESENTI SU GESTIONE_EMAIL +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione, ID_ELAB) +SELECT + C6.Rete, + C6.Cod_Fiscale, + 'PERF' as TipoEmail, + GETDATE() AS DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6Mart.ContrattoSEI C6 +LEFT JOIN C6Mart.GESTIONE_EMAIL EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_FISCALE = EMAIL.COD_FISCALE + AND EMAIL.TIPO = 'PERF' + AND EMAIL.Data_Generazione >= C6.Data_Perf -- CONDIZIONE PER ESCLUDERE DAL JOIN UN CONTRATTO CHIUSO E RIAPERTO. +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF -- IN QUESTO MODO LO INSERIAMO NUOVAMENTE IN GESTIONE_MAIL. + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE +WHERE 1 = 1 + --AND C6.InvioBenvenuto = 'N' + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND EMAIL.COD_FISCALE IS NULL + AND PF.RETE IS NULL +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT +WHERE + Nome = 'DM_GestioneEmail' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmail' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_GestioneEmail', + GETDATE(), + 'Elaborazione giornaliera' +) +-- 2. INSERIMENTO MAIL "SOLLECITI" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE +-- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO è NULL -> CONSIDERIAMO DATA_PERF +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT + C6.rete, + C6.cod_fiscale, + CASE + WHEN ISNULL(numSolleciti,0) = 0 THEN '1_SOLL_NOMIG' + WHEN numSolleciti = 1 THEN '2_SOLL_NOMIG' + WHEN numSolleciti = 2 THEN '3_SOLL_NOMIG' + ELSE 'S_SOLL_NOMIG' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM c6mart.contrattosei C6 +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE +WHERE 1 = 1 + AND numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(numSolleciti,0) = 0 AND DATEDIFF(DAY,C6.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(C6.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND c6.clienteMigrato = 'N' + AND c6.InvioBenvenuto = 'N' -- richiesto da Tringali per non inviare mail se report già inviato + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND PF.RETE IS NULL +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT +WHERE + Nome = 'DM_GestioneEmail' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmail' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_GestioneEmail', + GETDATE(), + 'Elaborazione giornaliera' +) +-- 2.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" +-- AUMENTIAMO IL NUMERO numSolleciti +-- AGGIORNIAMO LA DATA Data_UltimoSollecito +UPDATE + c6mart.contrattosei +SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() +FROM c6mart.contrattosei C6 +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE +WHERE 1 = 1 + AND numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(numSolleciti,0) = 0 AND DATEDIFF(DAY,C6.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(C6.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND c6.clienteMigrato = 'N' + AND c6.InvioBenvenuto = 'N' -- richiesto da Tringali per non inviare mail se report già inviato + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND PF.RETE IS NULL +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT +WHERE + Nome = 'DM_GestioneEmail' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmail' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_GestioneEmail', + GETDATE(), + 'Elaborazione giornaliera' +) +-- 3. INSERIMENTO MAIL "REVOCA" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE DOPO @MaxInvioSoll SOLLECITI +-- N.B. OCCHIO ALLA CONDIZIONE -> (c6.clienteMigrato = 'N' AND numSolleciti = @MaxInvioSoll) OR numSolleciti > @MaxInvioSoll +-- OVVERO: BUONA LA MIGRAZIONE EFFETTUATA DOPO L'ULTIMO SOLLECITO MA NON DOPO LA PRIMA REVOCA +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOMIG' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB --max(Data_Generazione) +FROM c6mart.contrattosei c6 +INNER JOIN c6mart.gestione_Email EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_FISCALE = EMAIL.COD_FISCALE +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE +WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOMIG','REVOCA_NOMIG') + AND ( + (numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (numSolleciti = @MaxInvioSoll and C6.clienteMigrato = 'N')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(C6.Data_UltimaRevoca,C6.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL +GROUP BY email.rete, email.cod_fiscale +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT +WHERE + Nome = 'DM_GestioneEmail' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmail' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_GestioneEmail', + GETDATE(), + 'Elaborazione giornaliera' +) +-- 3.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "REVOCA" +-- AUMENTIAMO IL NUMERO numSolleciti +-- NON AGGIORNIAMO LA DATA Data_UltimoSollecito +-- N.B. VERIFICARE SE IL CAMPO Data_UltimoSollecito VA AGGIORNATO +UPDATE c6mart.contrattosei +SET + numRevoche = isnull(numRevoche,0) + 1, + data_UltimaRevoca = getDate() +FROM c6mart.contrattosei c6 +INNER JOIN c6mart.gestione_Email EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_FISCALE = EMAIL.COD_FISCALE +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE +WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOMIG','REVOCA_NOMIG') + AND ( + (numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (numSolleciti = @MaxInvioSoll and C6.clienteMigrato = 'N')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(C6.Data_UltimaRevoca,C6.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT +WHERE + Nome = 'DM_GestioneEmail' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmail' + ) +COMMIT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_GestioneEmailNA.sql b/sql/storedProduzione/C6Mart_DM_GestioneEmailNA.sql new file mode 100644 index 00000000..949157db --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_GestioneEmailNA.sql @@ -0,0 +1,233 @@ +-- ============================================= +-- Author: +-- Create date: <17/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_GestioneEmailNA] +AS +BEGIN +BEGIN TRANSACTION +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT) +SET @ID_ELAB = C6MART.GETIDELAB() +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' +) +-- 1. INSERIMENTO MAIL "SOLLECITI" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA EFFETTUATO L'ASSOCIAZIONE DELLE RISORSE + -- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO è NULL -> CONSIDERIAMO DATA_PERF + INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + C6.rete, + C6.cod_fiscale, + CASE + WHEN ISNULL(numSolleciti,0) = 0 THEN '1_SOLL_NOASS' + WHEN numSolleciti = 1 THEN '2_SOLL_NOASS' + WHEN numSolleciti = 2 THEN '3_SOLL_NOASS' + ELSE 'S_SOLL_NOASS' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM c6mart.contrattosei C6 + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(numSolleciti,0) = 0 AND DATEDIFF(DAY,C6.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(C6.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND c6.clienteMigrato = 'S' + AND c6.risorseNA = 'S' + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND PF.RETE IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmailNA' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 1.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" + -- AUMENTIAMO IL NUMERO numSolleciti + -- AGGIORNIAMO LA DATA Data_UltimoSollecito + UPDATE + c6mart.contrattosei + SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() + FROM c6mart.contrattosei C6 + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(numSolleciti,0) = 0 AND DATEDIFF(DAY,C6.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(C6.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND c6.clienteMigrato = 'S' + AND c6.risorseNA = 'S' + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND PF.RETE IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmailNA' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 2. INSERIMENTO MAIL "REVOCA" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA EFFETTUATO L'ASSOCIAZIONE DELLE RISORSE DOPO @MaxInvioSoll SOLLECITI + -- N.B. OCCHIO ALLA CONDIZIONE -> (c6.risorseNA = 'N' AND numSolleciti = @MaxInvioSoll) OR numSolleciti > @MaxInvioSoll + -- OVVERO: BUONA L'ASSOCIAZIONE DELLE RISORSE EFFETTUATA DOPO L'ULTIMO SOLLECITO MA NON DOPO LA PRIMA REVOCA + INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOASS' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB --max(Data_Generazione) + FROM c6mart.contrattosei c6 + INNER JOIN c6mart.gestione_Email EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOASS','REVOCA_NOASS') + AND ( + (numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (numSolleciti = @MaxInvioSoll and C6.risorseNA = 'S')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(C6.Data_UltimaRevoca,C6.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + GROUP BY email.rete, email.cod_fiscale + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmailNA' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 2.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "REVOCA" + -- AUMENTIAMO IL NUMERO numSolleciti + -- NON AGGIORNIAMO LA DATA Data_UltimoSollecito + -- N.B. VERIFICARE SE IL CAMPO Data_UltimoSollecito VA AGGIORNATO + UPDATE c6mart.contrattosei + SET + numRevoche = isnull(numRevoche,0) + 1, + data_UltimaRevoca = getDate() + FROM c6mart.contrattosei c6 + INNER JOIN c6mart.gestione_Email EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOASS','REVOCA_NOASS') + AND ( + (numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (numSolleciti = @MaxInvioSoll and C6.risorseNA = 'S')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(C6.Data_UltimaRevoca,C6.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmailNA' + ) +COMMIT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_GestioneEmailNOPRO.sql b/sql/storedProduzione/C6Mart_DM_GestioneEmailNOPRO.sql new file mode 100644 index 00000000..25b42095 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_GestioneEmailNOPRO.sql @@ -0,0 +1,235 @@ +-- ============================================= +-- Author: +-- Create date: <19/14/2011,,> -1 ai -2! +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_GestioneEmailNOPRO] +AS +BEGIN +BEGIN TRANSACTION +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT) +SET @ID_ELAB = C6MART.GETIDELAB() +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' +) +-- 1. INSERIMENTO MAIL "SOLLECITI" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA ATTIVATO UN PROFILO VALIDO AL CLIENTE + -- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO è NULL -> CONSIDERIAMO DATA_PERF + INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + C6.rete, + C6.cod_fiscale, + CASE + WHEN ISNULL(numSolleciti,0) = 0 THEN '1_SOLL_NOPRO' + WHEN numSolleciti = 1 THEN '2_SOLL_NOPRO' + WHEN numSolleciti = 2 THEN '3_SOLL_NOPRO' + ELSE 'S_SOLL_NOPRO' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM c6mart.contrattosei C6 + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(numSolleciti,0) = 0 AND DATEDIFF(DAY,C6.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(C6.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND c6.clienteMigrato = 'S' + AND c6.risorseNA = 'N' + AND c6.profiloAttivo = 0 + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND PF.RETE IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmailNOPRO' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 1.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" + -- AUMENTIAMO IL NUMERO numSolleciti + -- AGGIORNIAMO LA DATA Data_UltimoSollecito + UPDATE + c6mart.contrattosei + SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() + FROM c6mart.contrattosei C6 + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(numSolleciti,0) = 0 AND DATEDIFF(DAY,C6.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(C6.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND c6.clienteMigrato = 'S' + AND c6.risorseNA = 'N' + AND c6.profiloAttivo = 0 + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND PF.RETE IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmailNOPRO' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 2. INSERIMENTO MAIL "REVOCA" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA EFFETTUATO L'ATTIVAZIONE DEL PROFILO @MaxInvioSoll SOLLECITI + -- N.B. OCCHIO ALLA CONDIZIONE -> (c6.risorseNA = 'N' AND numSolleciti = @MaxInvioSoll) OR numSolleciti > @MaxInvioSoll + -- OVVERO: BUONA L'ASSOCIAZIONE DELLE RISORSE EFFETTUATA DOPO L'ULTIMO SOLLECITO MA NON DOPO LA PRIMA REVOCA + INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOPRO' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB --max(Data_Generazione) + FROM c6mart.contrattosei c6 + INNER JOIN c6mart.gestione_Email EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOPRO','REVOCA_NOPRO') + AND ( + (numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (numSolleciti = @MaxInvioSoll and C6.profiloAttivo = 0)-- SONO NEL CASO DI PRIMA REVOCA + ) + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(C6.Data_UltimaRevoca,C6.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + GROUP BY email.rete, email.cod_fiscale + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmailNOPRO' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 2.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "REVOCA" + -- AUMENTIAMO IL NUMERO numSolleciti + -- NON AGGIORNIAMO LA DATA Data_UltimoSollecito + -- N.B. VERIFICARE SE IL CAMPO Data_UltimoSollecito VA AGGIORNATO + UPDATE c6mart.contrattosei + SET + numRevoche = isnull(numRevoche,0) + 1, + data_UltimaRevoca = getDate() + FROM c6mart.contrattosei c6 + INNER JOIN c6mart.gestione_Email EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOPRO','REVOCA_NOPRO') + AND ( + (numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (numSolleciti = @MaxInvioSoll and C6.profiloAttivo = 0)-- SONO NEL CASO DI PRIMA REVOCA + ) + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(C6.Data_UltimaRevoca,C6.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmailNOPRO' + ) +COMMIT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_MIFID.sql b/sql/storedProduzione/C6Mart_DM_MIFID.sql new file mode 100644 index 00000000..e6e22efa --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_MIFID.sql @@ -0,0 +1,117 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: Aggiunta chiave primaria autoincrement su tabella di staging +-- per eliminazione duplicati. +-- ============================================= +CREATE procedure [C6Mart].[DM_MIFID] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MIFID', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.MIFID + INSERT INTO [C6Mart].[MIFID] + ([RETE] + ,[COD_FISCALE] + ,[COMPILAZIONE] + ,[PROFILO_ASS] + ,[PROFILO_CALC] + ,[DATA_INIZIO_VAL] + ,[DATA_FINE_VAL] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[RISKCLASS] + ,[EXPERIENCE] + ,[SCADUTO] + ,[COMPLESSITA] + ,[CSP] + ,[IMPORTOSPESA] + ,[IMPORTORISERVA] + ,[PERCLUNGOPERIODO] + ,[ESIGENZEASS] + ) + -- modifica del 4/10/2018 per gestire l'errore dovuto ad un cliente duplicato sulla C6STAGING.SPB_MIFID MIFID + --SELECT + SELECT DISTINCT + -- fine modifica del 4/10/2018 + MIFID.RETE AS RETE, + MIFID.CODICEFISCALE AS COD_FISCALE, + NULL AS COMPILAZIONE, + MIFID.CODICEPROFILOASSEGNATO AS PROFILO_ASS, + NULL AS PROFILO_CALC, + MIFID.DATAINIZIOVALIDITA AS DATA_INIZIO_VAL, + MIFID.DATAFINEVALIDITA AS DATA_FINE_VAL, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + RISK.CODICECLASSERC, + EXPERIENCE, + CASE + --WHEN datediff(dd,DATAINIZIOVALIDITA,getdate())/365.25<3 THEN 0 + WHEN DATAFINEVALIDITA >= getdate() THEN 0 + ELSE 1 + END AS SCADUTO, + MIFID.[COMPLESSITA] + ,MIFID.[CSP] + ,MIFID.[IMPORTOSPESA] + ,MIFID.[IMPORTORISERVA] + ,MIFID.[PERCLUNGOPERIODO] + ,MIFID.[ESIGENZEASS] + FROM C6STAGING.SPB_MIFID MIFID JOIN + C6STAGING.SPB_PROF_RISCHIO RISK + ON MIFID.CODICEPROFILOASSEGNATO = RISK.CODICEPROFILO + WHERE MIFID.STATUS in (1) --Se prendo anche lo storico potrei avere duplicazione,2) +-- INNER JOIN ( -- PER ELIMINARE DUPLICAZIONE DATI +-- SELECT SPB_MIFID.RETE, SPB_MIFID.CODICEFISCALE, MAX(OID) AS OID +-- FROM C6STAGING.SPB_MIFID +-- GROUP BY SPB_MIFID.RETE, SPB_MIFID.CODICEFISCALE +-- ) DOPPI ON SPB_MIFID.OID = DOPPI.OID +-- CONSOLI - UPDATE PER CLIENTI EX BANCA SARA IN ATTESA DELLA SISTEMAZIONE COMPLETA. +/*UPDATE C6MART.MIFID +SET SCADUTO=0 +WHERE +COD_FISCALE in +( +'BOILSN65T54B354J' +,'FRIVLR69D27H501F' +,'CTLTZN59B49F717O' +,'FNFLSS62L03D612C' +,'FRNGCR42D07G999O' +,'GRMGRL41T17D612L' +,'MTTMND35P14H791O' +,'FCCMRT41A29H501J' +)*/ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MIFID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MIFID' + ) +END +--select * from c6mart.mifid where scaduto = 1 +-- +--select * from +--C6STAGING.SPB_MIFID +--where dataInizioValidita < '20080401' \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_MIFID_20181004.sql b/sql/storedProduzione/C6Mart_DM_MIFID_20181004.sql new file mode 100644 index 00000000..cdf8491b --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_MIFID_20181004.sql @@ -0,0 +1,101 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: Aggiunta chiave primaria autoincrement su tabella di staging +-- per eliminazione duplicati. +-- ============================================= +CREATE procedure [C6Mart].[DM_MIFID_20181004] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MIFID', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.MIFID + INSERT INTO [C6Mart].[MIFID] + ([RETE] + ,[COD_FISCALE] + ,[COMPILAZIONE] + ,[PROFILO_ASS] + ,[PROFILO_CALC] + ,[DATA_INIZIO_VAL] + ,[DATA_FINE_VAL] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[RISKCLASS] + ,[EXPERIENCE] + ,[SCADUTO]) + SELECT + MIFID.RETE AS RETE, + MIFID.CODICEFISCALE AS COD_FISCALE, + MIFID.ACCETTACOMPILAZIONE AS COMPILAZIONE, + MIFID.CODICEPROFILOASSEGNATO AS PROFILO_ASS, + MIFID.CODICEPROFILOCALCOLATO AS PROFILO_CALC, + MIFID.DATAINIZIOVALIDITA AS DATA_INIZIO_VAL, + MIFID.DATAFINEVALIDITA AS DATA_FINE_VAL, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + RISK.CODICECLASSERC, + EXPERIENCE, + CASE + --WHEN datediff(dd,DATAINIZIOVALIDITA,getdate())/365.25<3 THEN 0 + WHEN DATAFINEVALIDITA >= getdate() THEN 0 + ELSE 1 + END AS SCADUTO + FROM C6STAGING.SPB_MIFID MIFID JOIN + C6STAGING.SPB_PROF_RISCHIO RISK + ON MIFID.CODICEPROFILOASSEGNATO = RISK.CODICEPROFILO + WHERE MIFID.STATUS in (1) --Se prendo anche lo storico potrei avere duplicazione,2) +-- INNER JOIN ( -- PER ELIMINARE DUPLICAZIONE DATI +-- SELECT SPB_MIFID.RETE, SPB_MIFID.CODICEFISCALE, MAX(OID) AS OID +-- FROM C6STAGING.SPB_MIFID +-- GROUP BY SPB_MIFID.RETE, SPB_MIFID.CODICEFISCALE +-- ) DOPPI ON SPB_MIFID.OID = DOPPI.OID +-- CONSOLI - UPDATE PER CLIENTI EX BANCA SARA IN ATTESA DELLA SISTEMAZIONE COMPLETA. +/*UPDATE C6MART.MIFID +SET SCADUTO=0 +WHERE +COD_FISCALE in +( +'BOILSN65T54B354J' +,'FRIVLR69D27H501F' +,'CTLTZN59B49F717O' +,'FNFLSS62L03D612C' +,'FRNGCR42D07G999O' +,'GRMGRL41T17D612L' +,'MTTMND35P14H791O' +,'FCCMRT41A29H501J' +)*/ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MIFID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MIFID' + ) +END +--select * from c6mart.mifid where scaduto = 1 +-- +--select * from +--C6STAGING.SPB_MIFID +--where dataInizioValidita < '20080401' \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_PARTITE_VIAGGIANTI.sql b/sql/storedProduzione/C6Mart_DM_PARTITE_VIAGGIANTI.sql new file mode 100644 index 00000000..8f23a941 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_PARTITE_VIAGGIANTI.sql @@ -0,0 +1,78 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PARTITE_VIAGGIANTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PARTITE_VIAGGIANTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PARTITE_VIAGGIANTI + INSERT INTO C6Mart.PARTITE_VIAGGIANTI + (RETE + ,COD_FISCALE + ,IMPORTO + ,ID_ELAB + ,TIPO_ELAB) +SELECT + RETE, + COD_FISCALE, + SUM(IMPORTO) AS IMPORTO, + @ID_ELAB, + @TIPO_ELAB +FROM +( + SELECT + SPB_PARTITE_VIAGG.RETE AS RETE, + SPB_PARTITE_VIAGG.CODICEFISCALE AS COD_FISCALE, + SUM(IMPORTOVERSATO) AS IMPORTO + FROM + C6Staging.SPB_PARTITE_VIAGG + GROUP BY + SPB_PARTITE_VIAGG.RETE, + SPB_PARTITE_VIAGG.CODICEFISCALE + UNION ALL +--- inserimento partite viaggianti in disinvestimento + SELECT + SPB_PARTITE_VIAGG_DISINV.RETE AS RETE, + SPB_PARTITE_VIAGG_DISINV.CODICEFISCALE AS COD_FISCALE, + SUM(IMPORTOVERSATO) AS IMPORTO + FROM + C6Staging.SPB_PARTITE_VIAGG_DISINV + GROUP BY + SPB_PARTITE_VIAGG_DISINV.RETE, + SPB_PARTITE_VIAGG_DISINV.CODICEFISCALE +) k +GROUP BY + RETE, + COD_FISCALE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_PATRIMONIO_AGG.sql b/sql/storedProduzione/C6Mart_DM_PATRIMONIO_AGG.sql new file mode 100644 index 00000000..65521788 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_PATRIMONIO_AGG.sql @@ -0,0 +1,59 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PATRIMONIO_AGG] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_AGG', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_AGG + INSERT INTO [C6Mart].[PATRIMONIO_AGG] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[LIQUIDATO] + ,[INVESTITO] + ,[ID_AREA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_POS_CONS_CAT.RETE AS RETE, + ALL_POS_CONS_CAT.CODICE_FISCALE AS COD_FISCALE, + SUBSTRING(ALL_POS_CONS_CAT.STRINGONA_POS,1,57) AS COD_PRODOTTO, + ALL_POS_CONS_CAT.C_OUTCTV_B4FB8 AS LIQUIDATO, + ALL_POS_CONS_CAT.C_RISORSELIQ_DF807 AS INVESTITO, + ALL_POS_CONS_CAT.NEED_AREA_ABBR_DI_AREA AS ID_AREA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_POS_CONS_CAT + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_AGG' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_AGG' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_PATRIMONIO_ALTRO.sql b/sql/storedProduzione/C6Mart_DM_PATRIMONIO_ALTRO.sql new file mode 100644 index 00000000..e14f1787 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_PATRIMONIO_ALTRO.sql @@ -0,0 +1,69 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PATRIMONIO_ALTRO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_ALTRO', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_ALTRO + INSERT INTO [C6Mart].[PATRIMONIO_ALTRO] + ([RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.NUMEROQUOTE AS QUANTITA, + SUBSTRING(ALL_PATR_TERZI.DENOMINAZIONE,1,50) AS DESCRIZIONE, + ALL_PATR_TERZI.PATRIMONIO_ALTRO_PB_E6F18 AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_PATR_TERZI + WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_E6F18 + UNION + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + NULL AS QUANTITA, + SUBSTRING(ALL_PATR_TERZI.DENOMINAZIONE_PN_F87B4,1,50) AS DESCRIZIONE, + ALL_PATR_TERZI.PATRIMONIO_ALTRO_PN_F87B4 AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_PATR_TERZI + WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_F87B4 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_ALTRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_ALTRO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_PATRIMONIO_BF.sql b/sql/storedProduzione/C6Mart_DM_PATRIMONIO_BF.sql new file mode 100644 index 00000000..ebc83a79 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_PATRIMONIO_BF.sql @@ -0,0 +1,362 @@ +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna / Valerio +-- Create date: 10 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PATRIMONIO_BF] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_BF + SELECT + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + SPB_CONTR_SINTESI.POSITIONID AS POSITIONID, + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ('DT', 'FI') AND SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO + ELSE SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB_CONTR_SINTESI.CODICESTATO AS COD_STATO, + SPB_CONTR_SINTESI.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB_CONTR_SINTESI.CODICEMAF AS COD_MAF, + SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, + SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO, + CASE + WHEN CONSAREA.C_NEEDAREA_V_46360 = 'Inv' AND PRCONSUL.C_PROJECTNAM_11D1A IS NULL THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + END AS NOME_PROGETTO, + --POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + SPB_CONTR_SINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB_CONTR_SINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB_CONTR_SINTESI.QUOTE AS QUANTITA, + SPB_CONTR_SINTESI.PREZZO AS PREZZO, + SPB_CONTR_SINTESI.CTV AS CTV, + SPB_CONTR_SINTESI.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE SPB_CONTR_SINTESI.CVN + END AS VERSATO_NETTO, + SPB_CONTR_SINTESI.PARTVIA AS PARTVIA_DISINV, + SPB_CONTR_SINTESI.PARTVIAAL AS DATA_PARTVIA_DISINV, + --SPB_PARTITE_VIAGG.IMPORTOVERSATO AS PARTVIA_INV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE + END AS REND_SOTTOSCRIZIONE, +-- SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE AS REND_SOTTOSCRIZIONE, + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE + END AS REND_TRIMESTRE, +-- SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE SPB_CONTR_SINTESI.RENDIMENTODAINIZIOANNO + END AS REND_ANNO, +-- SPB_CONTR_SINTESI.RENDIMENTODAINIZIOANNO AS REND_ANNO, + KAT.STRTYPE, + KAT.COMPLEX, + MIT.DESCR AS EMITTENTE, + SPB_CONTR_SINTESI.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + INTO #PATRIMONIO + FROM C6STAGING.SPB_CONTR_SINTESI + INNER JOIN C6STAGING.ALL_CF_STATO + ON ALL_CF_STATO.RETE = SPB_CONTR_SINTESI.RETE + AND ALL_CF_STATO.CF_CLIENTE = SPB_CONTR_SINTESI.CODICEFISCALE + AND ALL_CF_STATO.FLAG_UTILIZZO_STATO = 1 --Attuale + INNER JOIN C6STAGING.POSITION + ON POSITION.POSITIONID = SPB_CONTR_SINTESI.POSITIONID + INNER JOIN C6STAGING.CONSUL -- join consarea + ON CONSUL.OID$ = POSITION.F_PCONSULENZ_56F23 + AND CONSUL.TYPE$_TIPOCO_1EA7C = ALL_CF_STATO.STATO_CONSULENZA --'Attuale' + INNER JOIN C6STAGING.PRCONSUL + ON PRCONSUL.OID$ = POSITION.F_PPROJECT_P_B5629 + INNER JOIN C6STAGING.CONSAREA + ON CONSAREA.OID$ = PRCONSUL.F_PCONSULENZ_B69E4 + INNER JOIN C6STAGING.CATITEMREF KAT + ON + KAT.oid$ = POSITION.f_oid__posit_00526 + left outer join + C6STAGING.EMIT MIT + ON KAT.CODEMI = MIT.CODEMI + /*LEFT JOIN C6STAGING.SPB_PARTITE_VIAGG + ON SPB_PARTITE_VIAGG.CODICECONFERIMENTO = SPB_CONTR_SINTESI.CODICECONTRATTO*/ + WHERE SPB_CONTR_SINTESI.POSITIONID IS NOT NULL + and CONSAREA.C_NEEDAREA_V_46360 <> 'CC' and C6STAGING.SPB_CONTR_SINTESI.TIPOPRODOTTO <> 'CC' + UNION ALL -- MODIFICA FATTA PER AVERE I CONTI CORRENTI 26 NOVEMBRE (MAURIZIO) + SELECT + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + SPB_CONTR_SINTESI.POSITIONID AS POSITIONID, + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'DT' /* OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'FI' */ THEN SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO + ELSE SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB_CONTR_SINTESI.CODICESTATO AS COD_STATO, + SPB_CONTR_SINTESI.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB_CONTR_SINTESI.CODICEMAF AS COD_MAF, + SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, + SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO, + NULL AS NOME_PROGETTO, + CASE WHEN SPB_CONTR_SINTESI.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + SPB_CONTR_SINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB_CONTR_SINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB_CONTR_SINTESI.QUOTE AS QUANTITA, + SPB_CONTR_SINTESI.PREZZO AS PREZZO, + SPB_CONTR_SINTESI.CTV AS CTV, + SPB_CONTR_SINTESI.VALORE AS CTV_NOMINALE, + SPB_CONTR_SINTESI.CVN AS VERSATO_NETTO, + SPB_CONTR_SINTESI.PARTVIA AS PARTVIA_DISINV, + SPB_CONTR_SINTESI.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, --SPB_PARTITE_VIAGG.IMPORTOVERSATO AS PARTVIA_INV, + SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE AS REND_SOTTOSCRIZIONE, + SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB_CONTR_SINTESI.RENDIMENTODAINIZIOANNO AS REND_ANNO, + STRTYPE, + COMPLEX , + mit.descr as EMITTENTE, + SPB_CONTR_SINTESI.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.SPB_CONTR_SINTESI + INNER JOIN C6STAGING.CATITEMREF KAT + ON SUBSTRING(C6STAGING.SPB_CONTR_SINTESI .POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGING.EMIT MIT + ON MIT.CODEMI=KAT.CODEMI + WHERE C6STAGING.SPB_CONTR_SINTESI.TIPOPRODOTTO = 'CC' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF', + GETDATE(), + 'Elaborazione giornaliera' + ) + INSERT INTO [C6Mart].[PATRIMONIO_BF] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,STRTYPE + ,COMPLEX + ,EMITTENTE + ,SPB_CONTR_SINTESI.ISIN + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + RETE, + COD_FISCALE, + POSITIONID, + COD_PRODOTTO, + ID_CONTRATTO, + DATA_SOTTOSCRIZIONE, + COD_STATO, + NUM_POLIZZA, + COD_MAF, + COD_INTERNO, + COD_SOTTOPRODOTTO, + TIPO_PRODOTTO, + NOME_PROGETTO, + ID_AREA, + DATA_OPERAZIONE, + DATA_VALUTA, + DATA_REGOLAMENTO, + QUANTITA, + PREZZO, + CTV, + CTV_NOMINALE, + VERSATO_NETTO, + PARTVIA_DISINV, + DATA_PARTVIA_DISINV, + PARTVIA_INV, + REND_SOTTOSCRIZIONE, + REND_TRIMESTRE, + REND_ANNO, + STRTYPE, + COMPLEX, + EMITTENTE, + ISIN, + ID_ELAB, + TIPO_ELAB + FROM #PATRIMONIO + UNION ALL -- MODIFICA PER AVERE TUTTI I PRODOTTI NON ALLOCATI + SELECT + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + SPB_CONTR_SINTESI.POSITIONID AS POSITIONID, + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ('DT', 'FI') AND SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO + ELSE SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB_CONTR_SINTESI.CODICESTATO AS COD_STATO, + SPB_CONTR_SINTESI.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB_CONTR_SINTESI.CODICEMAF AS COD_MAF, + SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, + SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO, + LTRIM(RTRIM(NEWPOSITION.NOME_PROGETTO)) AS NOME_PROGETTO, + ISNULL(NEWPOSITION.NEED_BREVE,'Na') AS ID_AREA, + SPB_CONTR_SINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB_CONTR_SINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB_CONTR_SINTESI.QUOTE) AS QUANTITA, + SPB_CONTR_SINTESI.PREZZO AS PREZZO, + convert(decimal(15,3),SPB_CONTR_SINTESI.CTV) AS CTV, + convert(decimal(15,3),SPB_CONTR_SINTESI.VALORE) AS CTV_NOMINALE, + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + ELSE convert(decimal(15,3),SPB_CONTR_SINTESI.CVN) + END AS VERSATO_NETTO, + convert(decimal(15,3),SPB_CONTR_SINTESI.PARTVIA) AS PARTVIA_DISINV, + SPB_CONTR_SINTESI.PARTVIAAL AS DATA_PARTVIA_DISINV, + --SPB_PARTITE_VIAGG.IMPORTOVERSATO AS PARTVIA_INV, + NULL AS PARTVIA_INV, + convert(decimal(8,5),SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE) AS REND_SOTTOSCRIZIONE, + convert(decimal(8,5),SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE) AS REND_TRIMESTRE, + convert(decimal(8,5),SPB_CONTR_SINTESI.RENDIMENTODAINIZIOANNO) AS REND_ANNO, + STRTYPE, + COMPLEX, + EMITTENTE, + SPB_CONTR_SINTESI.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.SPB_CONTR_SINTESI + LEFT JOIN #PATRIMONIO PATR + ON + SPB_CONTR_SINTESI.RETE = PATR.RETE + AND SPB_CONTR_SINTESI.CODICEFISCALE = PATR.COD_FISCALE + AND SPB_CONTR_SINTESI.POSITIONID = PATR.POSITIONID + /*LEFT JOIN C6STAGING.SPB_PARTITE_VIAGG + ON + SPB_PARTITE_VIAGG.CODICECONFERIMENTO = SPB_CONTR_SINTESI.CODICECONTRATTO*/ + LEFT JOIN C6STAGING.vNewPositionProposta NEWPOSITION + ON + SPB_CONTR_SINTESI.RETE = NEWPOSITION.RETE + AND SPB_CONTR_SINTESI.CODICEFISCALE = NEWPOSITION.CODICEFISCALE + AND SPB_CONTR_SINTESI.POSITIONID = NEWPOSITION.positionIDProposta + WHERE SPB_CONTR_SINTESI.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL + DROP TABLE #PATRIMONIO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_PATRIMONIO_BF_old.sql b/sql/storedProduzione/C6Mart_DM_PATRIMONIO_BF_old.sql new file mode 100644 index 00000000..95355621 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_PATRIMONIO_BF_old.sql @@ -0,0 +1,358 @@ +-- Stored Procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 10 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PATRIMONIO_BF_old] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_BF + SELECT + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + SPB_CONTR_SINTESI.POSITIONID AS POSITIONID, + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ('DT', 'FI') AND SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO + ELSE SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB_CONTR_SINTESI.CODICESTATO AS COD_STATO, + SPB_CONTR_SINTESI.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB_CONTR_SINTESI.CODICEMAF AS COD_MAF, + SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, + SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO, + CASE + WHEN CONSAREA.C_NEEDAREA_V_46360 = 'Inv' AND PRCONSUL.C_PROJECTNAM_11D1A IS NULL THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + END AS NOME_PROGETTO, + --POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + SPB_CONTR_SINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB_CONTR_SINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB_CONTR_SINTESI.QUOTE AS QUANTITA, + SPB_CONTR_SINTESI.PREZZO AS PREZZO, + SPB_CONTR_SINTESI.CTV AS CTV, + SPB_CONTR_SINTESI.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE SPB_CONTR_SINTESI.CVN + END AS VERSATO_NETTO, + SPB_CONTR_SINTESI.PARTVIA AS PARTVIA_DISINV, + SPB_CONTR_SINTESI.PARTVIAAL AS DATA_PARTVIA_DISINV, + --SPB_PARTITE_VIAGG.IMPORTOVERSATO AS PARTVIA_INV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE + END AS REND_SOTTOSCRIZIONE, +-- SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE AS REND_SOTTOSCRIZIONE, + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE + END AS REND_TRIMESTRE, +-- SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE SPB_CONTR_SINTESI.RENDIMENTODAINIZIOANNO + END AS REND_ANNO, +-- SPB_CONTR_SINTESI.RENDIMENTODAINIZIOANNO AS REND_ANNO, + KAT.STRTYPE, + KAT.COMPLEX, + MIT.DESCR AS EMITTENTE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + INTO #PATRIMONIO + FROM C6STAGING.SPB_CONTR_SINTESI + INNER JOIN C6STAGING.ALL_CF_STATO + ON ALL_CF_STATO.RETE = SPB_CONTR_SINTESI.RETE + AND ALL_CF_STATO.CF_CLIENTE = SPB_CONTR_SINTESI.CODICEFISCALE + AND ALL_CF_STATO.FLAG_UTILIZZO_STATO = 1 --Attuale + INNER JOIN C6STAGING.POSITION + ON POSITION.POSITIONID = SPB_CONTR_SINTESI.POSITIONID + INNER JOIN C6STAGING.CONSUL -- join consarea + ON CONSUL.OID$ = POSITION.F_PCONSULENZ_56F23 + AND CONSUL.TYPE$_TIPOCO_1EA7C = ALL_CF_STATO.STATO_CONSULENZA --'Attuale' + INNER JOIN C6STAGING.PRCONSUL + ON PRCONSUL.OID$ = POSITION.F_PPROJECT_P_B5629 + INNER JOIN C6STAGING.CONSAREA + ON CONSAREA.OID$ = PRCONSUL.F_PCONSULENZ_B69E4 + INNER JOIN C6STAGING.CATITEMREF KAT + ON + KAT.oid$ = POSITION.f_oid__posit_00526 + left outer join + C6STAGING.EMIT MIT + ON KAT.CODEMI = MIT.CODEMI + /*LEFT JOIN C6STAGING.SPB_PARTITE_VIAGG + ON SPB_PARTITE_VIAGG.CODICECONFERIMENTO = SPB_CONTR_SINTESI.CODICECONTRATTO*/ + WHERE SPB_CONTR_SINTESI.POSITIONID IS NOT NULL + and CONSAREA.C_NEEDAREA_V_46360 <> 'CC' + UNION ALL -- MODIFICA FATTA PER AVERE I CONTI CORRENTI 26 NOVEMBRE (MAURIZIO) + SELECT + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + SPB_CONTR_SINTESI.POSITIONID AS POSITIONID, + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'DT' /* OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'FI' */ THEN SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO + ELSE SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB_CONTR_SINTESI.CODICESTATO AS COD_STATO, + SPB_CONTR_SINTESI.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB_CONTR_SINTESI.CODICEMAF AS COD_MAF, + SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, + SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO, + NULL AS NOME_PROGETTO, + 'Cc' AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + SPB_CONTR_SINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB_CONTR_SINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB_CONTR_SINTESI.QUOTE AS QUANTITA, + SPB_CONTR_SINTESI.PREZZO AS PREZZO, + SPB_CONTR_SINTESI.CTV AS CTV, + SPB_CONTR_SINTESI.VALORE AS CTV_NOMINALE, + SPB_CONTR_SINTESI.CVN AS VERSATO_NETTO, + SPB_CONTR_SINTESI.PARTVIA AS PARTVIA_DISINV, + SPB_CONTR_SINTESI.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, --SPB_PARTITE_VIAGG.IMPORTOVERSATO AS PARTVIA_INV, + SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE AS REND_SOTTOSCRIZIONE, + SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB_CONTR_SINTESI.RENDIMENTODAINIZIOANNO AS REND_ANNO, + STRTYPE, + COMPLEX , + mit.descr as EMITTENTE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.SPB_CONTR_SINTESI + INNER JOIN C6STAGING.CATITEMREF KAT + ON SUBSTRING(C6STAGING.SPB_CONTR_SINTESI .POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGING.EMIT MIT + ON MIT.CODEMI=KAT.CODEMI + WHERE C6STAGING.SPB_CONTR_SINTESI.TIPOPRODOTTO = 'CC' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF', + GETDATE(), + 'Elaborazione giornaliera' + ) + INSERT INTO [C6Mart].[PATRIMONIO_BF] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,STRTYPE + ,COMPLEX + ,EMITTENTE + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + RETE, + COD_FISCALE, + POSITIONID, + COD_PRODOTTO, + ID_CONTRATTO, + DATA_SOTTOSCRIZIONE, + COD_STATO, + NUM_POLIZZA, + COD_MAF, + COD_INTERNO, + COD_SOTTOPRODOTTO, + TIPO_PRODOTTO, + NOME_PROGETTO, + ID_AREA, + DATA_OPERAZIONE, + DATA_VALUTA, + DATA_REGOLAMENTO, + QUANTITA, + PREZZO, + CTV, + CTV_NOMINALE, + VERSATO_NETTO, + PARTVIA_DISINV, + DATA_PARTVIA_DISINV, + PARTVIA_INV, + REND_SOTTOSCRIZIONE, + REND_TRIMESTRE, + REND_ANNO, + STRTYPE, + COMPLEX, + EMITTENTE, + ID_ELAB, + TIPO_ELAB + FROM #PATRIMONIO + UNION ALL -- MODIFICA PER AVERE TUTTI I PRODOTTI NON ALLOCATI + SELECT + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + SPB_CONTR_SINTESI.POSITIONID AS POSITIONID, + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ('DT', 'FI') AND SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO + ELSE SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB_CONTR_SINTESI.CODICESTATO AS COD_STATO, + SPB_CONTR_SINTESI.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB_CONTR_SINTESI.CODICEMAF AS COD_MAF, + SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, + SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO, + LTRIM(RTRIM(NEWPOSITION.NOME_PROGETTO)) AS NOME_PROGETTO, + ISNULL(NEWPOSITION.NEED_BREVE,'Na') AS ID_AREA, + SPB_CONTR_SINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB_CONTR_SINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB_CONTR_SINTESI.QUOTE) AS QUANTITA, + SPB_CONTR_SINTESI.PREZZO AS PREZZO, + convert(decimal(15,3),SPB_CONTR_SINTESI.CTV) AS CTV, + convert(decimal(15,3),SPB_CONTR_SINTESI.VALORE) AS CTV_NOMINALE, + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + ELSE convert(decimal(15,3),SPB_CONTR_SINTESI.CVN) + END AS VERSATO_NETTO, + convert(decimal(15,3),SPB_CONTR_SINTESI.PARTVIA) AS PARTVIA_DISINV, + SPB_CONTR_SINTESI.PARTVIAAL AS DATA_PARTVIA_DISINV, + --SPB_PARTITE_VIAGG.IMPORTOVERSATO AS PARTVIA_INV, + NULL AS PARTVIA_INV, + convert(decimal(8,5),SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE) AS REND_SOTTOSCRIZIONE, + convert(decimal(8,5),SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE) AS REND_TRIMESTRE, + convert(decimal(8,5),SPB_CONTR_SINTESI.RENDIMENTODAINIZIOANNO) AS REND_ANNO, + STRTYPE, + COMPLEX, + EMITTENTE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.SPB_CONTR_SINTESI + LEFT JOIN #PATRIMONIO PATR + ON + SPB_CONTR_SINTESI.RETE = PATR.RETE + AND SPB_CONTR_SINTESI.CODICEFISCALE = PATR.COD_FISCALE + AND SPB_CONTR_SINTESI.POSITIONID = PATR.POSITIONID + /*LEFT JOIN C6STAGING.SPB_PARTITE_VIAGG + ON + SPB_PARTITE_VIAGG.CODICECONFERIMENTO = SPB_CONTR_SINTESI.CODICECONTRATTO*/ + LEFT JOIN C6STAGING.vNewPositionProposta NEWPOSITION + ON + SPB_CONTR_SINTESI.RETE = NEWPOSITION.RETE + AND SPB_CONTR_SINTESI.CODICEFISCALE = NEWPOSITION.CODICEFISCALE + AND SPB_CONTR_SINTESI.POSITIONID = NEWPOSITION.positionIDProposta + WHERE SPB_CONTR_SINTESI.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL + DROP TABLE #PATRIMONIO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_PATRIMONIO_EMITTENTI.sql b/sql/storedProduzione/C6Mart_DM_PATRIMONIO_EMITTENTI.sql new file mode 100644 index 00000000..086fca08 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_PATRIMONIO_EMITTENTI.sql @@ -0,0 +1,160 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PATRIMONIO_EMITTENTI] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_EMITTENTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_EMITTENTI +INSERT INTO +[C6MART].[PATRIMONIO_EMITTENTI] +( +COD_FISCALE, +RETE, +POSITION_ID, +COD_PRODOTTO, +COD_ADEGUATEZZA, +INTERMEDIARIO, +CTV_INTERMEDIARIO, +CTV_INTER_NOCC_NEG, +EMITTENTE, +COMPLESSITA, +CTV_EMITTENTE, +CTV_PRODOTTO, +FLG_AZ_OB, +CREDITRISKCLASS, +CTV_AZIONARIO, +CTV_OBBLIGAZIONARIO, +CTV_AZ_OB_EMIT, +CTV_AZ_OB_EMIT_INTER, +CTV_COMPLESSIVO, +CTV_COMPL_NOCC_NEG, +CONC_EMITTENTE, +CONC_EMIT_INTERM, +COPERTURA +) + SELECT H.COD_FISCALE, + H.RETE, + H.POSITION_ID, + H.COD_PRODOTTO AS CATALOGUENAME, + '' AS COD_ADEGUATEZZA, + 'BF' AS INTERMEDIARIO, + sum(h.ctv) over (partition by h.cod_fiscale, h.rete) AS PATRIMONIO_INTERMEDIARIO, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END ) over (partition by h.cod_fiscale, h.rete) AS PATRIMONIO_INTER_nocc_neg, + H.EMITTENTE, + H.COMPLEX AS COMPLESSITA, + sum(h.ctv) over (partition by h.cod_fiscale, H.rete, H.EMITTENTE) AS PATRIMONIO_EMITTENTE, + h.ctv as CONTROVALORE_PRODOTTO, + CASE WHEN H.STRTYPE IN ('AZ', 'OB') THEN H.STRTYPE ELSE NULL END AS AZ_OB, + K.classe AS CREDITRISKCLASS, + SUM( case when STRTYPE = 'AZ' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE, H.POSITION_ID) AS CTV_AZIONARIO, + SUM(case when STRTYPE = 'OB' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE, H.POSITION_ID) AS CTV_OBBLIGAZIONARIO, + SUM( case when STRTYPE IN ( 'AZ','OB') then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE) PATRIMONIO_AZ_OB_EMIT, + SUM( case when STRTYPE IN ( 'AZ','OB') then h.ctv else 0 end ) OVER( PARTITION BY H.COd_FISCALE,H.RETE,EMITTENTE) PATRIM_AZ_OB_EMIT_INTER, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPLESSIVO, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPL_nocc_neg, + 0 as concentrazione_emittente, + 0 AS concentraz_emit_interm, + r.copertura + FROM C6MART.PATRIMONIO_BF H + LEFT OUTER join + C6MART.RISCHIO_AGGREGATO R + on + H.COD_FISCALE=R.COD_FISCALE + AND H.RETE=R.RETE + AND r.COD_AGGREG = + CASE + WHEN (h.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(h.ID_AREA,3) + '|' + h.NOME_PROGETTO+ '|' + when LEFT(h.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(h.ID_AREA,3) + '|' + END + + ltrim(rtrim(h.POSITION_ID)) + left outer join +-- +--select * from c6mart.rischioEmittenti +--select * from c6mart.rischio_aggregato +C6Mart.RISCHIOEMITTENTI K + on + R.CREDITRISKEMIT=ORDINE +---- PATRIMONIO TERZI +UNION all +SELECT DISTINCT h.COD_FISCALE, + h.RETE, + '' AS POSITION_ID, + H.COD_PRODOTTO AS CATALOGUENAME, + '' as COD_ADEGUATEZZA, + CASE + WHEN h.INTERMEDIARIO = 'BF' THEN + NULL + ELSE + h.INTERMEDIARIO + END AS INTERMEDIARIO, + sum(ROUND(h.CTV,2)) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_INTERMEDIARIO, + sum(case when h.tipo_prodotto='CC' and ROUND(h.CTV,2) < 0 then 0 else ROUND(h.CTV,2) END ) over (partition by h.cod_fiscale, h.rete) AS PATRIMONIO_INTER_nocc_neg, + h.EMITTENTE, + h.complex as COMPLESSITA, + 0 AS PATRIMONIO_EMITTENTE, + ROUND(h.CTV,2) as CONTROVALORE_PRODOTTO, + CASE WHEN H.STRTYPE IN ('AZ', 'OB') THEN H.STRTYPE ELSE NULL END AS AZ_OB, + K.classe AS CREDITRISKCLASS, + SUM( case when STRTYPE = 'AZ' then ROUND(h.CTV,2) else 0 end ) OVER( PARTITION BY H.COd_FISCALE,H.RETE, H.EMITTENTE, H.intermediario, H.COD_PRODOTTO_TERZI) AS CTV_AZIONARIO, --aggiunto il cod_prodotto_terzi per identificare il singolo prodotto + SUM(case when STRTYPE = 'OB' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE, H.EMITTENTE, H.intermediario, H.COD_PRODOTTO_TERZI ) AS CTV_OBBLIGAZIONARIO, --aggiunto il cod_prodotto_terzi per identificare il singolo prodotto + SUM( case when STRTYPE IN ( 'AZ','OB') then ROUND(h.CTV,2) else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE) PATRIMONIO_AZ_OB_EMIT, + SUM( case when STRTYPE IN ( 'AZ','OB') then ROUND(h.CTV,2) else 0 end ) OVER( PARTITION BY H.COd_FISCALE,H.RETE,EMITTENTE, h.intermediario ) PATRIM_AZ_OB_EMIT_INTER, + sum(case when h.tipo_prodotto='CC' and ROUND(h.CTV,2) < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPLESSIVO, + sum(case when h.tipo_prodotto='CC' and ROUND(h.CTV,2) < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete, h.intermediario) as PATRIMONIO_COMPL_nocc_neg, + 0 as concentrazione_emittente, + 0 as concentraz_emit_interm, + r.copertura + FROM + C6MART.PATRIMONIO_TERZI H + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO R + ON + H.COD_FISCALE=R.COD_FISCALE + AND H.RETE=R.RETE + AND r.COD_AGGREG ='COMPLESSIVO|TERZI|' + RTRIM(H.INTERMEDIARIO) + '|' + RTRIM(H.chiave_thr) + LEFT OUTER join + C6Mart.RISCHIOEMITTENTI K + on + R.CREDITRISKEMIT=ORDINE + WHERE + 1=1 + AND H.INTERMEDIARIO <> 'BF' + --AND V.POSITIONID=H.COD_PRODOTTO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_EMITTENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_EMITTENTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_PATRIMONIO_IMMOBILIARE.sql b/sql/storedProduzione/C6Mart_DM_PATRIMONIO_IMMOBILIARE.sql new file mode 100644 index 00000000..00ab15d5 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_PATRIMONIO_IMMOBILIARE.sql @@ -0,0 +1,82 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PATRIMONIO_IMMOBILIARE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_IMMOBILIARE + INSERT INTO [C6Mart].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + -- DISTINCT Atringali 12012010 + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, + CASE ALL_PATR_TERZI.TIPOLOGIA_RDESCR + WHEN 'Civil' THEN 'Civile' + WHEN 'Economic' THEN 'Economica' + WHEN 'Posh' THEN 'Signorile' + ELSE '' + END AS TIPOLOGIA, + ALL_PATR_TERZI.LOCALITA AS LOCALITA, + NULL AS PROVINCIA, + NULL AS CAP, + NULL AS NAZIONE, + ALL_PATR_TERZI.PATRIMONIO_IMMOBILIARE AS VALORE_STIMATO, + ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_PATR_TERZI + WHERE ALL_PATR_TERZI.CHIAVE_PR_31921 IS NOT NULL + --V Dal passaggio in prod del 21/10/2010 su oracle questo campo è sempre null AND ALL_PATR_TERZI.CHIAVE_RDESC IS NOT NULL + AND ALL_PATR_TERZI.DESCRIZIONE_RDESCR IS NOT NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_IMMOBILIARE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_PATRIMONIO_TERZI.sql b/sql/storedProduzione/C6Mart_DM_PATRIMONIO_TERZI.sql new file mode 100644 index 00000000..c6c2d494 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_PATRIMONIO_TERZI.sql @@ -0,0 +1,162 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PATRIMONIO_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_TERZI + INSERT INTO [C6Mart].[PATRIMONIO_TERZI] + ([RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + ALL_PATR_TERZI.TIPO_POLIZZA_BT_97BEE AS TIPO_POLIZZA, + --COALESCE(PRODOTTI_A_CATALOGO.TIPO_PRODOTTO, PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO) AS TIPO_PRODOTTO, + CASE + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' AND S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 = 'Conti correnti' + THEN 'Altro' + ELSE + COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) + END AS TIPO_PRODOTTO, + PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO2 AS TIPO_PRODOTTO2, + ISNULL(ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO,'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(ALL_PATR_TERZI.CHIAVE_THR,'PRODOTTO IN CATALOGO') AS COD_PRODOTTO_TERZI, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + --ALL_PATR_TERZI.DATA_INIZIO_INV AS DATA_SOTTOSCRIZIONE, + --ISNULL(ALL_PATR_TERZI.DATA_INIZIO_INV, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ) AS DATA_SOTTOSCRIZIONE, + --ALL_PATR_TERZI.BALANCEDATETIME_DI_THR AS DATA_SOTTOSCRIZIONE, + CASE + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.PolizzeRivalutabili') -- PRODOTTI S49 + THEN ISNULL(ALL_PATR_TERZI.DATA_SOTTOSCRIZIONE, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ) + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.ProdottiPrevidenziali') -- PRODOTTI S50 + THEN ALL_PATR_TERZI.BALANCEDATETIME_DI_THR -- EQUIVALENTE A ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ + ELSE -- PRODOTTI S48 + ALL_PATR_TERZI.DATA_INIZIO_INV + END AS DATA_SOTTOSCRIZIONE, + ALL_PATR_TERZI.DATA_SCADENZA AS DATA_SCADENZA, + ALL_PATR_TERZI.TIPO_VERSAMENTO_BT_6797 AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + ALL_PATR_TERZI.PREMIO_VERSAMENTO AS PREMIO, + NULL AS ALIQUOTA, + ALL_PATR_TERZI.BALANCEDATETIME_DI_THR AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + ALL_PATR_TERZI.PATRIMONIO_TERZI AS CTV, + ALL_PATR_TERZI.CAPITALE_INVESTITO AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' + THEN 'Portafoglio Generico' + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') + THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + STRTYPE, + COMPLEX, + EMITTENTE, + ALL_PATR_TERZI.CHIAVE_THR, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_PATR_TERZI + INNER JOIN C6STAGING.S4_S5_S13_TRAD_UNTIL_LIV3 + ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA + LEFT JOIN ( + SELECT DISTINCT + ALL_PATR_TERZI.CHIAVE_THR AS CHIAVE_THR, + COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, + S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 AS TIPO_PRODOTTO2 + FROM C6STAGING.ALL_PATR_TERZI + INNER JOIN C6STAGING.S4_S5_S13_TRAD_UNTIL_LIV3 + ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA + ) AS PRODOTTI_NON_A_CATALOGO + ON PRODOTTI_NON_A_CATALOGO.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_THR + LEFT JOIN ( + SELECT + CATITEMREF.CATALOGUEID AS CATALOGUEID, + CATITEMREF.TIPOPRODOTTO AS TIPO_PRODOTTO, + CATITEMREF.STRTYPE, + CATITEMREF.COMPLEX, + MIT.DESCR AS EMITTENTE + FROM + C6STAGING.CATITEMREF LEFT OUTER JOIN + C6STAGING.EMIT MIT + ON MIT.CODEMI=CATITEMREF.CODEMI + ) PRODOTTI_A_CATALOGO + ON PRODOTTI_A_CATALOGO.CATALOGUEID = ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_PIRAMIDE_MOD.sql b/sql/storedProduzione/C6Mart_DM_PIRAMIDE_MOD.sql new file mode 100644 index 00000000..65acc29b --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_PIRAMIDE_MOD.sql @@ -0,0 +1,85 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PIRAMIDE_MOD] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PIRAMIDE_MOD', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PIRAMIDE_MOD + INSERT INTO [C6Mart].[PIRAMIDE_MOD] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_CF_PB.RETE_PB AS RETE, + ALL_CF_PB.CODICE_FISCALE AS COD_FISCALE, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + PRCONSUL.C_PROJECTNAM_11D1A AS NOME_PROGETTO, + PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO, + PRCONSUL.C_PERCENTUAL_69019 AS PERC_AREA, + PRCONSUL.C_PROJECTCTV_39520 AS CTV_PROGETTO, + CONSAREA.C_CTVNEEDARE_EA4FB AS CTV_AREA, + C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA, + ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + CONSUL.C_DATAMIGRAZ_BF705 AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_CF_PB + INNER JOIN C6STAGING.CONSUL + ON CONSUL.INSTID = ALL_CF_PB.RETE_PB + AND CONSUL.ADBKID = ALL_CF_PB.CODICEFISCALE + AND CONSUL.TYPE$_TIPOCO_1EA7C = 'Bozza' --'AttivaAggiornata' + INNER JOIN C6STAGING.CONSAREA + ON CONSAREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6STAGING.PRCONSUL + ON PRCONSUL.F_PCONSULENZ_B69E4 = CONSAREA.OID$ + LEFT JOIN C6STAGING.C_BO_453FB + ON C_BO_453FB.PK_PRC = PRCONSUL.OID$ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PIRAMIDE_MOD' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PIRAMIDE_MOD' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_PIRAMIDE_VERT.sql b/sql/storedProduzione/C6Mart_DM_PIRAMIDE_VERT.sql new file mode 100644 index 00000000..7018b485 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_PIRAMIDE_VERT.sql @@ -0,0 +1,61 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 25/11/2008 +-- Description: Modificate le tabelle da cui pescare i dati (non più la all_pos_cons_cat) +-- ============================================= +CREATE procedure [C6Mart].[DM_PIRAMIDE_VERT] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PIRAMIDE_VERT', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PIRAMIDE_VERT + INSERT INTO [C6Mart].[PIRAMIDE_VERT] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[CTV_AREA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ALL_CF_PB.RETE_PB AS RETE, + ALL_CF_PB.CODICE_FISCALE AS COD_FISCALE, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + CONSAREA.C_CTVNEEDARE_EA4FB AS CTV_AREA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_CF_PB + INNER JOIN C6STAGING.CONSUL + ON CONSUL.INSTID = ALL_CF_PB.RETE_PB + AND CONSUL.ADBKID = ALL_CF_PB.CODICEFISCALE + AND CONSUL.TYPE$_TIPOCO_1EA7C = 'Bozza' --'AttivaAggiornata' + INNER JOIN C6STAGING.CONSAREA + ON CONSAREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PIRAMIDE_VERT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PIRAMIDE_VERT' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_PREVIDENZIALE.sql b/sql/storedProduzione/C6Mart_DM_PREVIDENZIALE.sql new file mode 100644 index 00000000..c5a1045a --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_PREVIDENZIALE.sql @@ -0,0 +1,88 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PREVIDENZIALE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PREVIDENZIALE', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PREVIDENZIALE + INSERT INTO [C6Mart].[PREVIDENZIALE] + ([RETE] + ,[COD_FISCALE] + ,[ANNO_PENSIONE] + ,[ETA_PENSIONE] + ,[TOT_CONSUMI_ATTESI] + ,[TOT_REDDITO_ANNUO] + ,[REDDITO_CONSUMI_ESS] + ,[PENSIONE_ATTESA_] + ,[RENDITA_PREV_COMPL] + ,[RENDITA_ASS] + ,[REDDITO_CONSUMI_SEC] + ,[RENDITA_ASS_TRAD] + ,[RENDITA_ASS_UNIT] + ,[RENDITA_IMMOB] + ,[ALTRE_RENDITE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SUBSTRING(C6STAGING.ALL_CF_PB.RETE_PB,1,1) AS RETE, + SUBSTRING(C6STAGING.ALL_CF_PB.CODICE_FISCALE,1,16) AS COD_FISCALE, + YEAR(DATEADD(YY, QUANTIF.RETIREMENTYEARS, ALL_CF_PB.DATA_NASCITA)) AS ANNO_PENSIONE, + QUANTIF.RETIREMENTYEARS AS ETA_PENSIONE, + QUANTIF.EXPNEEDSAMT AS TOT_CONSUMI_ATTESI, + QUANTIF.GROSSINPRIMAMT + QUANTIF.GROSSINSECAMT AS TOT_REDDITO_ANNUO, + QUANTIF.GROSSINPRIMAMT AS REDDITO_CONSUMI_ESS, + QUANTIF.STATEPENSIONAMT AS PENSIONE_ATTESA_, + QUANTIF.PRIVATEPENSIONAMT AS RENDITA_PREV_COMPL, + QUANTIF.LIFEINTERESTAMT AS RENDITA_ASS, + QUANTIF.GROSSINSECAMT AS REDDITO_CONSUMI_SEC, + QUANTIF.INSINTERESTAMT AS RENDITA_ASS_TRAD, + QUANTIF.INVINTERESTAMT AS RENDITA_ASS_UNIT, + QUANTIF.REINTERESTAMT AS RENDITA_IMMOB, + ESTRAZIONE_OTHINTRST.ALTRE_RENDITE AS ALTRE_RENDITE, + QUANTIF.EXPNEEDSCUR AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_CF_PB + INNER JOIN C6STAGING.QUANTIF ON ALL_CF_PB.ID_CLI = QUANTIF.F_OID__ADDRE_81D21 + LEFT JOIN ( + SELECT F_PQUANTIFIC_76FF6, SUM(INTERESTAMT) AS ALTRE_RENDITE + FROM C6STAGING.OTHINTRST + GROUP BY F_PQUANTIFIC_76FF6 + ) ESTRAZIONE_OTHINTRST + ON ESTRAZIONE_OTHINTRST.F_PQUANTIFIC_76FF6 = QUANTIF.OID_ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PREVIDENZIALE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PREVIDENZIALE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_PopolaContratti.sql b/sql/storedProduzione/C6Mart_DM_PopolaContratti.sql new file mode 100644 index 00000000..eb2dfee5 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_PopolaContratti.sql @@ -0,0 +1,244 @@ +----- not used in mart +CREATE procedure [C6Mart].[DM_PopolaContratti] +AS +BEGIN + DECLARE @ULTIMOPROGRINVIO int--SMALLINT + DECLARE @ORDINEELAB int--SMALLINT + DECLARE @RIATTIVAZIONE int--SMALLINT + DECLARE @inizio DATETIME + DECLARE @fine DATETIME + DECLARE @righeUpdate INT + DECLARE @righeInsert INT + SET @inizio = GETDATE() + SET @righeUpdate = 0 + SET @righeInsert = 0 + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('DM_PopolaContratti',@inizio,'Elaborazione giornaliera') + --AGGIORNAMENTO CONTRATTI + --I RECORD PRESENTI NELLA VARIAZIONE_CONTRSEI POTREBBERO ESSERE + --POPOLATI IN ELABORAZIONI DIFFERENTI. VANNO ESEGUITI IN ORDINE + --DICHIARAZIONE CURSORE PER ESTRARRE LE ELABORAZIONI + DECLARE ELABORAZIONI CURSOR LOCAL FORWARD_ONLY + FOR + SELECT ULTIMO_PROGRESSIVO_INVIO, ORDINE_DI_ELABORAZIONE_RIGA, RIATTIVAZIONE + FROM C6STAGING.VARIAZIONE_CONTRSEI + ORDER BY ULTIMO_PROGRESSIVO_INVIO, ORDINE_DI_ELABORAZIONE_RIGA + --APERTURA CURSORE + OPEN ELABORAZIONI + FETCH NEXT FROM ELABORAZIONI INTO @ULTIMOPROGRINVIO, @ORDINEELAB, @RIATTIVAZIONE + WHILE @@FETCH_STATUS = 0 + BEGIN + --AGGIORNAMENTO CONTRATTI ESISTENTI + UPDATE C6Mart.CONTRATTOSEI + SET + Cod_Fiscale = VARC6.CODICE_FISCALE + ,Data_Sott = VARC6.DATA_SOTTOSCRIZIONE_C6 + ,Cod_Agente = VARC6.PB + ,Data_Perf_Base = VARC6.DATA_PERFEZIONAMENTO_BASE + ,Data_Perf = VARC6.DATA_PERFEZIONAMENTO_C6 + ,Fascia_CPP = VARC6.CPP + ,Email = VARC6.EMAIL + ,Indirizzo = VARC6.INDIRIZZO + ,CAP = VARC6.CAP + ,Citta = VARC6.CITTA + ,Prov = VARC6.PROVINCIA + ,Nazione = VARC6.NAZIONE + ,Presso = VARC6.PRESSO + ,Freq_Diagnosi = VARC6.FREQUENZA_DIAGNOSI + ,Freq_Monitor = isnull(VARC6.FREQUENZA_MONITORAGGIO,'T') + ,Data_InizioBase = VARC6.DATA_SOTTOSCRIZIONE_BASE + ,Data_FineBase = VARC6.DATA_CHIUSURA_BASE + ,Data_FineAvanzato = VARC6.DATA_CHIUSURA_C6 + ,ProgressivoInvio = VARC6.ULTIMO_PROGRESSIVO_INVIO + ,GenerazioneReport = VARC6.FLAG_STAMPA_REPORT + ,Rol = isnull(VARC6.Flag_Rol,'N') + ,tip_Contratto = CASE + WHEN VARC6.tip_Contratto = 'A' THEN 1 + WHEN VARC6.tip_Contratto = 'P' THEN 2 + ELSE 0 + END + ,tip_Riattivazione = @RIATTIVAZIONE + ,numRevoche = CASE + WHEN @RIATTIVAZIONE = 0 THEN numRevoche + ELSE 0 + END + ,data_UltimaRevoca = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_UltimaRevoca + ELSE NULL + END + ,invioBenvenuto = CASE + WHEN @RIATTIVAZIONE = 0 THEN invioBenvenuto + ELSE 'N' + END + ,numSolleciti = CASE + WHEN (C6.Rete <> VARC6.Rete_PB OR C6.Cod_Agente <> VARC6.PB) THEN 0 + WHEN @RIATTIVAZIONE = 0 THEN numSolleciti + ELSE 0 + END + ,data_UltimoSollecito = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_UltimoSollecito + ELSE NULL + END + ,data_Invio_Monitoraggio_Trimestrale = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_Invio_Monitoraggio_Trimestrale + ELSE NULL + END + ,data_Invio_Diagnosi_Trimestrale = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_Invio_Diagnosi_Trimestrale + ELSE NULL + END + FROM C6MART.CONTRATTOSEI C6 + INNER JOIN C6STAGING.VARIAZIONE_CONTRSEI VARC6 + ON C6.RETE = VARC6.RETE_PB + AND C6.CODICECONTRATTO = VARC6.CODICE_CONTRATTO + AND VARC6.ULTIMO_PROGRESSIVO_INVIO = @ULTIMOPROGRINVIO + AND VARC6.ORDINE_DI_ELABORAZIONE_RIGA = @ORDINEELAB + SET @righeUpdate = @righeUpdate + @@ROWCOUNT + IF @@ROWCOUNT > 0 + IF @RIATTIVAZIONE = 1 + BEGIN + UPDATE C6MART.Gestione_EMAIL + SET TIPO = 'OLD' + FROM C6MART.Gestione_EMAIL EMAIL + INNER JOIN C6STAGING.VARIAZIONE_CONTRSEI VARC6 + ON VARC6.CODICE_FISCALE = EMAIL.COD_FISCALE + AND VARC6.rete_pb = EMAIL.RETE + AND VARC6.ULTIMO_PROGRESSIVO_INVIO = @ULTIMOPROGRINVIO + AND VARC6.ORDINE_DI_ELABORAZIONE_RIGA = @ORDINEELAB + AND EMAIL.TIPO = 'PERF' + END + ELSE + BEGIN + --INSERIMENTO NUOVI CONTRATTI + print 'ORDINEELAB=' + convert(varchar,@ORDINEELAB) + ' ULTIMOPROGRINVIO=' + convert(varchar,@ULTIMOPROGRINVIO ) + INSERT INTO C6Mart.CONTRATTOSEI ( + Rete + ,Cod_Fiscale + ,Piva_Fiduciaria + ,Data_Sott + ,CodiceContratto + ,Cod_Agente + ,Data_Perf_Base + ,Data_Perf + ,Fascia_CPP + ,Email + ,Indirizzo + ,CAP + ,Citta + ,Prov + ,Nazione + ,Presso + ,Data_Inizio + ,Freq_Diagnosi + ,Freq_Monitor + ,Freq_DiagnosiPrec + ,Freq_MonitorPrec + ,Data_InizioConsInv + ,Data_InizioBase + ,Data_FineBase + ,Data_InizioAvanzato + ,Data_FineAvanzato + ,ProgressivoInvio + ,GenerazioneReport + ,InvioBenvenuto + ,DataUltimoInvio + ,ClienteMigrato + ,RisorseNA + ,NumSolleciti + ,Data_UltimoSollecito + ,Note + ,Rol + ,tip_Contratto + ,tip_Riattivazione) + SELECT + VARC6.RETE_PB, + VARC6.CODICE_FISCALE, + MIGR.PIVA, + VARC6.DATA_SOTTOSCRIZIONE_C6, + VARC6.CODICE_CONTRATTO, + VARC6.PB, + VARC6.DATA_PERFEZIONAMENTO_BASE, + VARC6.DATA_PERFEZIONAMENTO_C6, + VARC6.CPP, + VARC6.EMAIL, + VARC6.INDIRIZZO, + VARC6.CAP, + VARC6.CITTA, + VARC6.PROVINCIA, + VARC6.NAZIONE, + VARC6.PRESSO, + NULL AS Data_Inizio, + VARC6.FREQUENZA_DIAGNOSI, + VARC6.FREQUENZA_MONITORAGGIO, + NULL AS Freq_DiagnosiPrec, + NULL AS Freq_MonitorPrec, + NULL AS Data_InizioConsInv, + VARC6.DATA_SOTTOSCRIZIONE_BASE, + VARC6.DATA_CHIUSURA_BASE, + VARC6.DATA_PERFEZIONAMENTO_C6, + VARC6.DATA_CHIUSURA_C6, + VARC6.ULTIMO_PROGRESSIVO_INVIO, + VARC6.FLAG_STAMPA_REPORT AS GenerazioneReport, + 'N' as InvioBenvenuto, + NULL as DataUltimoInvio, + ISNULL(LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1),'N'), + NULL AS RisorseNA, + 0 AS NumSolleciti, + NULL AS Data_UltimoSollecito, + NULL AS NOTE, + ISNULL(VARC6.Flag_Rol,'N'), + CASE + WHEN VARC6.tip_Contratto = 'A' THEN 1 + WHEN VARC6.tip_Contratto = 'P' THEN 2 + ELSE 0 + END, + VARC6.riattivazione + FROM C6STAGING.VARIAZIONE_CONTRSEI VARC6 + LEFT JOIN C6STAGING.V_CLIENTI_CONTRSEI_CON_MIGRAZ MIGR + ON MIGR.RETE_PB = VARC6.RETE_PB + AND MIGR.Codice_Fiscale = VARC6.Codice_Fiscale + AND MIGR.codice_contratto = VARC6.codice_contratto + LEFT JOIN C6MART.CONTRATTOSEI C6 + ON VARC6.RETE_PB = C6.RETE + AND VARC6.Codice_Fiscale = C6.Cod_Fiscale + AND VARC6.Codice_Contratto = C6.CodiceContratto + WHERE 1 = 1 + AND VARC6.ULTIMO_PROGRESSIVO_INVIO = @ULTIMOPROGRINVIO + AND VARC6.ORDINE_DI_ELABORAZIONE_RIGA = @ORDINEELAB + AND C6.COD_FISCALE IS NULL + SET @righeInsert = @righeInsert + @@ROWCOUNT + END + FETCH NEXT FROM ELABORAZIONI INTO @ULTIMOPROGRINVIO, @ORDINEELAB, @RIATTIVAZIONE + END + SET @fine = GETDATE() + print convert(varchar,@inizio,113 ) + ' ' + convert(varchar,@fine,113 ) + -- Log esecuzione + UPDATE LOG_ESECUZIONE + SET Fine = @fine,Tipo = 'UPDATE',Righe = @righeUpdate + WHERE Nome = 'DM_PopolaContratti' AND + Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'DM_PopolaContratti') + INSERT INTO LOG_ESECUZIONE + VALUES ('DM_PopolaContratti',@inizio,@fine,'INSERT',@righeInsert,'Elaborazione giornaliera') + INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('DM_PopolaContratti',GETDATE(),'Elaborazione giornaliera') + --Inserisco il cambio migrazioni anche per i clienti per cui non ho una variazione + DECLARE @maxInvioSoll AS SMALLINT + SET @maxInvioSoll = dbo.getParametro('MaxInvioSoll') + UPDATE C6Mart.CONTRATTOSEI + ---------------en 20161026 + --SET ClienteMigrato = ISNULL(LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1),'N'), + -------------------------- + SET ClienteMigrato = 'S', + NumSolleciti = CASE --V aggiunta condizione profilo attivo per il riazzeramento solleciti + WHEN (LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1)='S' AND ISNULL(C6.RisorseNA,'N')='N') and isnull(profiloAttivo,1) = 1 AND NumSolleciti <= @maxInvioSoll THEN 0 + ELSE NumSolleciti + END + FROM C6MART.CONTRATTOSEI C6 + INNER JOIN C6STAGING.V_CLIENTI_CONTRSEI_CON_MIGRAZ MIGR + ON C6.RETE = MIGR.RETE_PB + AND C6.COD_FISCALE = MIGR.CODICE_FISCALE + -- Log esecuzione + UPDATE LOG_ESECUZIONE SET Fine = GETDATE(),Tipo = 'UPDATE',Righe = @@ROWCOUNT + WHERE Nome = 'DM_PopolaContratti' AND Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'DM_PopolaContratti') +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_PopolaContratti_20161026.sql b/sql/storedProduzione/C6Mart_DM_PopolaContratti_20161026.sql new file mode 100644 index 00000000..501ef4b7 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_PopolaContratti_20161026.sql @@ -0,0 +1,245 @@ +-- ============================================= +-- Author: Luca +-- Create date: 13/11/2008 +-- Description: Aggiornamento tabella contratti +-- ============================================= +CREATE procedure [C6Mart].[DM_PopolaContratti_20161026] +AS +BEGIN + DECLARE @ULTIMOPROGRINVIO int--SMALLINT + DECLARE @ORDINEELAB int--SMALLINT + DECLARE @RIATTIVAZIONE int--SMALLINT + DECLARE @inizio DATETIME + DECLARE @fine DATETIME + DECLARE @righeUpdate INT + DECLARE @righeInsert INT + SET @inizio = GETDATE() + SET @righeUpdate = 0 + SET @righeInsert = 0 + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('DM_PopolaContratti',@inizio,'Elaborazione giornaliera') + --AGGIORNAMENTO CONTRATTI + --I RECORD PRESENTI NELLA VARIAZIONE_CONTRSEI POTREBBERO ESSERE + --POPOLATI IN ELABORAZIONI DIFFERENTI. VANNO ESEGUITI IN ORDINE + --DICHIARAZIONE CURSORE PER ESTRARRE LE ELABORAZIONI + DECLARE ELABORAZIONI CURSOR LOCAL FORWARD_ONLY + FOR + SELECT ULTIMO_PROGRESSIVO_INVIO, ORDINE_DI_ELABORAZIONE_RIGA, RIATTIVAZIONE + FROM C6STAGING.VARIAZIONE_CONTRSEI + ORDER BY ULTIMO_PROGRESSIVO_INVIO, ORDINE_DI_ELABORAZIONE_RIGA + --APERTURA CURSORE + OPEN ELABORAZIONI + FETCH NEXT FROM ELABORAZIONI INTO @ULTIMOPROGRINVIO, @ORDINEELAB, @RIATTIVAZIONE + WHILE @@FETCH_STATUS = 0 + BEGIN + --AGGIORNAMENTO CONTRATTI ESISTENTI + UPDATE C6Mart.CONTRATTOSEI + SET + Cod_Fiscale = VARC6.CODICE_FISCALE + ,Data_Sott = VARC6.DATA_SOTTOSCRIZIONE_C6 + ,Cod_Agente = VARC6.PB + ,Data_Perf_Base = VARC6.DATA_PERFEZIONAMENTO_BASE + ,Data_Perf = VARC6.DATA_PERFEZIONAMENTO_C6 + ,Fascia_CPP = VARC6.CPP + ,Email = VARC6.EMAIL + ,Indirizzo = VARC6.INDIRIZZO + ,CAP = VARC6.CAP + ,Citta = VARC6.CITTA + ,Prov = VARC6.PROVINCIA + ,Nazione = VARC6.NAZIONE + ,Presso = VARC6.PRESSO + ,Freq_Diagnosi = VARC6.FREQUENZA_DIAGNOSI + ,Freq_Monitor = isnull(VARC6.FREQUENZA_MONITORAGGIO,'T') + ,Data_InizioBase = VARC6.DATA_SOTTOSCRIZIONE_BASE + ,Data_FineBase = VARC6.DATA_CHIUSURA_BASE + ,Data_FineAvanzato = VARC6.DATA_CHIUSURA_C6 + ,ProgressivoInvio = VARC6.ULTIMO_PROGRESSIVO_INVIO + ,GenerazioneReport = VARC6.FLAG_STAMPA_REPORT + ,Rol = isnull(VARC6.Flag_Rol,'N') + ,tip_Contratto = CASE + WHEN VARC6.tip_Contratto = 'A' THEN 1 + WHEN VARC6.tip_Contratto = 'P' THEN 2 + ELSE 0 + END + ,tip_Riattivazione = @RIATTIVAZIONE + ,numRevoche = CASE + WHEN @RIATTIVAZIONE = 0 THEN numRevoche + ELSE 0 + END + ,data_UltimaRevoca = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_UltimaRevoca + ELSE NULL + END + ,invioBenvenuto = CASE + WHEN @RIATTIVAZIONE = 0 THEN invioBenvenuto + ELSE 'N' + END + ,numSolleciti = CASE + WHEN (C6.Rete <> VARC6.Rete_PB OR C6.Cod_Agente <> VARC6.PB) THEN 0 + WHEN @RIATTIVAZIONE = 0 THEN numSolleciti + ELSE 0 + END + ,data_UltimoSollecito = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_UltimoSollecito + ELSE NULL + END + ,data_Invio_Monitoraggio_Trimestrale = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_Invio_Monitoraggio_Trimestrale + ELSE NULL + END + ,data_Invio_Diagnosi_Trimestrale = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_Invio_Diagnosi_Trimestrale + ELSE NULL + END + FROM C6MART.CONTRATTOSEI C6 + INNER JOIN C6STAGING.VARIAZIONE_CONTRSEI VARC6 + ON C6.RETE = VARC6.RETE_PB + AND C6.CODICECONTRATTO = VARC6.CODICE_CONTRATTO + AND VARC6.ULTIMO_PROGRESSIVO_INVIO = @ULTIMOPROGRINVIO + AND VARC6.ORDINE_DI_ELABORAZIONE_RIGA = @ORDINEELAB + SET @righeUpdate = @righeUpdate + @@ROWCOUNT + IF @@ROWCOUNT > 0 + IF @RIATTIVAZIONE = 1 + BEGIN + UPDATE C6MART.Gestione_EMAIL + SET TIPO = 'OLD' + FROM C6MART.Gestione_EMAIL EMAIL + INNER JOIN C6STAGING.VARIAZIONE_CONTRSEI VARC6 + ON VARC6.CODICE_FISCALE = EMAIL.COD_FISCALE + AND VARC6.rete_pb = EMAIL.RETE + AND VARC6.ULTIMO_PROGRESSIVO_INVIO = @ULTIMOPROGRINVIO + AND VARC6.ORDINE_DI_ELABORAZIONE_RIGA = @ORDINEELAB + AND EMAIL.TIPO = 'PERF' + END + ELSE + BEGIN + --INSERIMENTO NUOVI CONTRATTI + print 'ORDINEELAB=' + convert(varchar,@ORDINEELAB) + ' ULTIMOPROGRINVIO=' + convert(varchar,@ULTIMOPROGRINVIO ) + INSERT INTO C6Mart.CONTRATTOSEI ( + Rete + ,Cod_Fiscale + ,Piva_Fiduciaria + ,Data_Sott + ,CodiceContratto + ,Cod_Agente + ,Data_Perf_Base + ,Data_Perf + ,Fascia_CPP + ,Email + ,Indirizzo + ,CAP + ,Citta + ,Prov + ,Nazione + ,Presso + ,Data_Inizio + ,Freq_Diagnosi + ,Freq_Monitor + ,Freq_DiagnosiPrec + ,Freq_MonitorPrec + ,Data_InizioConsInv + ,Data_InizioBase + ,Data_FineBase + ,Data_InizioAvanzato + ,Data_FineAvanzato + ,ProgressivoInvio + ,GenerazioneReport + ,InvioBenvenuto + ,DataUltimoInvio + ,ClienteMigrato + ,RisorseNA + ,NumSolleciti + ,Data_UltimoSollecito + ,Note + ,Rol + ,tip_Contratto + ,tip_Riattivazione) + SELECT + VARC6.RETE_PB, + VARC6.CODICE_FISCALE, + MIGR.PIVA, + VARC6.DATA_SOTTOSCRIZIONE_C6, + VARC6.CODICE_CONTRATTO, + VARC6.PB, + VARC6.DATA_PERFEZIONAMENTO_BASE, + VARC6.DATA_PERFEZIONAMENTO_C6, + VARC6.CPP, + VARC6.EMAIL, + VARC6.INDIRIZZO, + VARC6.CAP, + VARC6.CITTA, + VARC6.PROVINCIA, + VARC6.NAZIONE, + VARC6.PRESSO, + NULL AS Data_Inizio, + VARC6.FREQUENZA_DIAGNOSI, + VARC6.FREQUENZA_MONITORAGGIO, + NULL AS Freq_DiagnosiPrec, + NULL AS Freq_MonitorPrec, + NULL AS Data_InizioConsInv, + VARC6.DATA_SOTTOSCRIZIONE_BASE, + VARC6.DATA_CHIUSURA_BASE, + VARC6.DATA_PERFEZIONAMENTO_C6, + VARC6.DATA_CHIUSURA_C6, + VARC6.ULTIMO_PROGRESSIVO_INVIO, + VARC6.FLAG_STAMPA_REPORT AS GenerazioneReport, + 'N' as InvioBenvenuto, + NULL as DataUltimoInvio, + ISNULL(LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1),'N'), + NULL AS RisorseNA, + 0 AS NumSolleciti, + NULL AS Data_UltimoSollecito, + NULL AS NOTE, + ISNULL(VARC6.Flag_Rol,'N'), + CASE + WHEN VARC6.tip_Contratto = 'A' THEN 1 + WHEN VARC6.tip_Contratto = 'P' THEN 2 + ELSE 0 + END, + VARC6.riattivazione + FROM C6STAGING.VARIAZIONE_CONTRSEI VARC6 + LEFT JOIN C6STAGING.V_CLIENTI_CONTRSEI_CON_MIGRAZ MIGR + ON MIGR.RETE_PB = VARC6.RETE_PB + AND MIGR.Codice_Fiscale = VARC6.Codice_Fiscale + AND MIGR.codice_contratto = VARC6.codice_contratto + LEFT JOIN C6MART.CONTRATTOSEI C6 + ON VARC6.RETE_PB = C6.RETE + AND VARC6.Codice_Fiscale = C6.Cod_Fiscale + AND VARC6.Codice_Contratto = C6.CodiceContratto + WHERE 1 = 1 + AND VARC6.ULTIMO_PROGRESSIVO_INVIO = @ULTIMOPROGRINVIO + AND VARC6.ORDINE_DI_ELABORAZIONE_RIGA = @ORDINEELAB + AND C6.COD_FISCALE IS NULL + SET @righeInsert = @righeInsert + @@ROWCOUNT + END + FETCH NEXT FROM ELABORAZIONI INTO @ULTIMOPROGRINVIO, @ORDINEELAB, @RIATTIVAZIONE + END + SET @fine = GETDATE() + print convert(varchar,@inizio,113 ) + ' ' + convert(varchar,@fine,113 ) + -- Log esecuzione + UPDATE LOG_ESECUZIONE + SET Fine = @fine,Tipo = 'UPDATE',Righe = @righeUpdate + WHERE Nome = 'DM_PopolaContratti' AND + Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'DM_PopolaContratti') + INSERT INTO LOG_ESECUZIONE + VALUES ('DM_PopolaContratti',@inizio,@fine,'INSERT',@righeInsert,'Elaborazione giornaliera') + INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('DM_PopolaContratti',GETDATE(),'Elaborazione giornaliera') + --Inserisco il cambio migrazioni anche per i clienti per cui non ho una variazione + DECLARE @maxInvioSoll AS SMALLINT + SET @maxInvioSoll = dbo.getParametro('MaxInvioSoll') + UPDATE C6Mart.CONTRATTOSEI + SET ClienteMigrato = ISNULL(LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1),'N'), + NumSolleciti = CASE --V aggiunta condizione profilo attivo per il riazzeramento solleciti + WHEN (LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1)='S' AND ISNULL(C6.RisorseNA,'N')='N') and isnull(profiloAttivo,1) = 1 AND NumSolleciti <= @maxInvioSoll THEN 0 + ELSE NumSolleciti + END + FROM C6MART.CONTRATTOSEI C6 + INNER JOIN C6STAGING.V_CLIENTI_CONTRSEI_CON_MIGRAZ MIGR + ON C6.RETE = MIGR.RETE_PB + AND C6.COD_FISCALE = MIGR.CODICE_FISCALE + -- Log esecuzione + UPDATE LOG_ESECUZIONE SET Fine = GETDATE(),Tipo = 'UPDATE',Righe = @@ROWCOUNT + WHERE Nome = 'DM_PopolaContratti' AND Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'DM_PopolaContratti') +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_PopolaContratti_old240213.sql b/sql/storedProduzione/C6Mart_DM_PopolaContratti_old240213.sql new file mode 100644 index 00000000..dae2dd68 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_PopolaContratti_old240213.sql @@ -0,0 +1,271 @@ +-- ============================================= +-- Author: Luca +-- Create date: 13/11/2008 +-- Description: Aggiornamento tabella contratti +-- ============================================= +CREATE procedure [C6Mart].[DM_PopolaContratti_old240213] +AS +BEGIN + DECLARE @ULTIMOPROGRINVIO int--SMALLINT + DECLARE @ORDINEELAB int--SMALLINT + DECLARE @inizio DATETIME + DECLARE @fine DATETIME + DECLARE @righeUpdate INT + DECLARE @righeInsert INT + SET @inizio = GETDATE() + SET @righeUpdate = 0 + SET @righeInsert = 0 + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PopolaContratti', + @inizio, + 'Elaborazione giornaliera' + ) + --AGGIORNAMENTO CONTRATTI + --I RECORD PRESENTI NELLA VARIAZIONE_CONTRSEI POTREBBERO ESSERE + --POPOLATI IN ELABORAZIONI DIFFERENTI. VANNO ESEGUITI IN ORDINE + --DICHIARAZIONE CURSORE PER ESTRARRE LE ELABORAZIONI + DECLARE ELABORAZIONI CURSOR LOCAL FORWARD_ONLY + FOR + SELECT ULTIMO_PROGRESSIVO_INVIO, ORDINE_DI_ELABORAZIONE_RIGA + FROM C6STAGING.VARIAZIONE_CONTRSEI + --where ORDINE_DI_ELABORAZIONE_RIGA < 10000 and ULTIMO_PROGRESSIVO_INVIO > 1000 + ORDER BY ULTIMO_PROGRESSIVO_INVIO, ORDINE_DI_ELABORAZIONE_RIGA + --APERTURA CURSORE + OPEN ELABORAZIONI + FETCH NEXT FROM ELABORAZIONI INTO @ULTIMOPROGRINVIO, @ORDINEELAB + WHILE @@FETCH_STATUS = 0 + BEGIN + --AGGIORNAMENTO CONTRATTI ESISTENTI + UPDATE C6Mart.CONTRATTOSEI + SET + --Rete = VARC6.RETE_PB + Cod_Fiscale = VARC6.CODICE_FISCALE + ,Data_Sott = VARC6.DATA_SOTTOSCRIZIONE_C6 + --,CodiceContratto = + ,Cod_Agente = VARC6.PB + ,Data_Perf_Base = VARC6.DATA_PERFEZIONAMENTO_BASE + ,Data_Perf = VARC6.DATA_PERFEZIONAMENTO_C6 + ,Fascia_CPP = VARC6.CPP + ,Email = VARC6.EMAIL + ,Indirizzo = VARC6.INDIRIZZO + ,CAP = VARC6.CAP + ,Citta = VARC6.CITTA + ,Prov = VARC6.PROVINCIA + ,Nazione = VARC6.NAZIONE + ,Presso = VARC6.PRESSO + --,Data_Inizio = + ,Freq_Diagnosi = VARC6.FREQUENZA_DIAGNOSI + ,Freq_Monitor = ISNULL(VARC6.FREQUENZA_MONITORAGGIO,'T') + --,Freq_DiagnosiPrec = + --,Freq_MonitorPrec = + --,Data_InizioConsInv = + ,Data_InizioBase = VARC6.DATA_SOTTOSCRIZIONE_BASE + ,Data_FineBase = VARC6.DATA_CHIUSURA_BASE + --,Data_InizioAvanzato = + ,Data_FineAvanzato = VARC6.DATA_CHIUSURA_C6 + ,ProgressivoInvio = VARC6.ULTIMO_PROGRESSIVO_INVIO + ,GenerazioneReport = VARC6.FLAG_STAMPA_REPORT + --,InvioBenvenuto = + --,DataUltimoInvio = + --,ClienteMigrato = ISNULL(LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1),'N') + --,RisorseNA = + ,NumSolleciti = CASE + WHEN (C6.Rete <> VARC6.Rete_PB OR C6.Cod_Agente <> VARC6.PB) THEN 0 + --WHEN (LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1)='S' AND ISNULL(C6.RisorseNA,'N')='N') THEN 0 + ELSE NumSolleciti + END + --,Data_UltimoSollecito = + --,Note = + ,Rol = isnull(VARC6.Flag_Rol,'N') + ,tip_Contratto = CASE + WHEN VARC6.tip_Contratto = 'A' THEN 1 + WHEN VARC6.tip_Contratto = 'P' THEN 2 + ELSE 0 + END + FROM C6MART.CONTRATTOSEI C6 + INNER JOIN C6STAGING.VARIAZIONE_CONTRSEI VARC6 + ON -- no join sul codice fiscale poiché, in caso di sua variazione, verrebbe trattato come nuovo contratto + C6.RETE = VARC6.RETE_PB + --AND C6.COD_FISCALE = VARC6.CODICE_FISCALE + AND C6.CODICECONTRATTO = VARC6.CODICE_CONTRATTO + AND VARC6.ULTIMO_PROGRESSIVO_INVIO = @ULTIMOPROGRINVIO + AND VARC6.ORDINE_DI_ELABORAZIONE_RIGA = @ORDINEELAB + SET @righeUpdate = @righeUpdate + @@ROWCOUNT + --INSERIMENTO NUOVI CONTRATTI + INSERT INTO C6Mart.CONTRATTOSEI + (Rete + ,Cod_Fiscale + ,Piva_Fiduciaria + ,Data_Sott + ,CodiceContratto + ,Cod_Agente + ,Data_Perf_Base + ,Data_Perf + ,Fascia_CPP + ,Email + ,Indirizzo + ,CAP + ,Citta + ,Prov + ,Nazione + ,Presso + ,Data_Inizio + ,Freq_Diagnosi + ,Freq_Monitor + ,Freq_DiagnosiPrec + ,Freq_MonitorPrec + ,Data_InizioConsInv + ,Data_InizioBase + ,Data_FineBase + ,Data_InizioAvanzato + ,Data_FineAvanzato + ,ProgressivoInvio + ,GenerazioneReport + ,InvioBenvenuto + ,DataUltimoInvio + ,ClienteMigrato + ,RisorseNA + ,NumSolleciti + ,Data_UltimoSollecito + ,Note + ,Rol +,tip_contratto +) + SELECT + VARC6.RETE_PB, + VARC6.CODICE_FISCALE, + MIGR.PIVA, + VARC6.DATA_SOTTOSCRIZIONE_C6, + VARC6.CODICE_CONTRATTO, + VARC6.PB, + VARC6.DATA_PERFEZIONAMENTO_BASE, + VARC6.DATA_PERFEZIONAMENTO_C6, + VARC6.CPP, + VARC6.EMAIL, + VARC6.INDIRIZZO, + VARC6.CAP, + VARC6.CITTA, + VARC6.PROVINCIA, + VARC6.NAZIONE, + VARC6.PRESSO, + NULL AS Data_Inizio, + VARC6.FREQUENZA_DIAGNOSI, + isnull(VARC6.FREQUENZA_MONITORAGGIO,'T'), + NULL AS Freq_DiagnosiPrec, + NULL AS Freq_MonitorPrec, + NULL AS Data_InizioConsInv, + VARC6.DATA_SOTTOSCRIZIONE_BASE, + VARC6.DATA_CHIUSURA_BASE, + VARC6.DATA_PERFEZIONAMENTO_C6, + VARC6.DATA_CHIUSURA_C6, + VARC6.ULTIMO_PROGRESSIVO_INVIO, + VARC6.FLAG_STAMPA_REPORT AS GenerazioneReport, + 'N' as InvioBenvenuto, + NULL as DataUltimoInvio, + ISNULL(LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1),'N'), + NULL AS RisorseNA, + 0 AS NumSolleciti,--Aggiunta perchè mancava, Fabrizio e Valerio per Azzeramento numero solleciti email + NULL AS Data_UltimoSollecito, + NULL AS NOTE, + isnull(VARC6.Flag_Rol,'N') + ,tip_Contratto = CASE + WHEN VARC6.tip_Contratto = 'A' THEN 1 + WHEN VARC6.tip_Contratto = 'P' THEN 2 + ELSE 0 + END + FROM C6STAGING.VARIAZIONE_CONTRSEI VARC6 + LEFT JOIN C6STAGING.V_CLIENTI_CONTRSEI_CON_MIGRAZ MIGR + ON + MIGR.RETE_PB = VARC6.RETE_PB + AND MIGR.Codice_Fiscale = VARC6.Codice_Fiscale + --V Inserito questo controllo in quanto in caso di chiusura di un contratto e riapertura inseriva due righe + and MIGR.codice_contratto = VARC6.codice_contratto + LEFT JOIN C6MART.CONTRATTOSEI C6 + ON + VARC6.RETE_PB = C6.RETE + AND VARC6.Codice_Fiscale = C6.Cod_Fiscale + AND VARC6.Codice_Contratto = C6.CodiceContratto + WHERE 1 = 1 + AND VARC6.ULTIMO_PROGRESSIVO_INVIO = @ULTIMOPROGRINVIO + AND VARC6.ORDINE_DI_ELABORAZIONE_RIGA = @ORDINEELAB + --V nuova condizione rilassamento del vincolo è corretto? + AND C6.COD_FISCALE IS NULL +--V Vecchia condizione che va in errore nel caso carichiamo le fiduciarie,il job va in errore, facendolo rigirare le vuole ricaricare, violando la pk + --AND (C6.COD_FISCALE IS NULL + -- OR CHARINDEX('@', VARC6.Codice_Fiscale) > 0) + SET @righeInsert = @righeInsert + @@ROWCOUNT + FETCH NEXT FROM ELABORAZIONI INTO @ULTIMOPROGRINVIO, @ORDINEELAB + END + SET @fine = GETDATE() + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = @fine, + Tipo = 'UPDATE', + Righe = @righeUpdate + WHERE + Nome = 'DM_PopolaContratti' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PopolaContratti' + ) + INSERT INTO LOG_ESECUZIONE + VALUES ( + 'DM_PopolaContratti', + @inizio, + @fine, + 'INSERT', + @righeInsert, + 'Elaborazione giornaliera' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PopolaContratti', + GETDATE(), + 'Elaborazione giornaliera' + ) + --Inserisco il cambio migrazioni anche per i clienti per cui non ho una variazione + DECLARE @maxInvioSoll AS SMALLINT + SET @maxInvioSoll = dbo.getParametro('MaxInvioSoll') + UPDATE C6Mart.CONTRATTOSEI + SET + ClienteMigrato = ISNULL(LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1),'N'), + NumSolleciti = + CASE --V aggiunta condizione profilo attivo per il riazzeramento solleciti + WHEN (LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1)='S' AND ISNULL(C6.RisorseNA,'N')='N') and isnull(profiloAttivo,1) = 1 AND NumSolleciti <= @maxInvioSoll THEN 0 + ELSE NumSolleciti + END + FROM + C6MART.CONTRATTOSEI C6 + INNER JOIN + C6STAGING.V_CLIENTI_CONTRSEI_CON_MIGRAZ MIGR + ON + C6.RETE = MIGR.RETE_PB + AND C6.COD_FISCALE = MIGR.CODICE_FISCALE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PopolaContratti' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PopolaContratti' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_RISCHIOEMITTENTI.sql b/sql/storedProduzione/C6Mart_DM_RISCHIOEMITTENTI.sql new file mode 100644 index 00000000..fb5ec434 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_RISCHIOEMITTENTI.sql @@ -0,0 +1,15 @@ +CREATE procedure [C6Mart].[DM_RISCHIOEMITTENTI] +as +begin +truncate table [C6Mart].[RischioEmittenti] +INSERT INTO [C6Mart].[RischioEmittenti] --C6StampeCentralizzate + ([Classe] + ,[Min] + ,[Max] + ,[Ordine]) + SELECT [Classe] + ,[MinVal] + ,[MaxVal] + ,[Ordine] + FROM [C6Staging].[RiskEmit] --[C6StampeCentralizzate] +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_RISCHIO_AGGREGATO.sql b/sql/storedProduzione/C6Mart_DM_RISCHIO_AGGREGATO.sql new file mode 100644 index 00000000..7bc6df91 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_RISCHIO_AGGREGATO.sql @@ -0,0 +1,106 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_RISCHIO_AGGREGATO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione giornaliera' + ) + -- Insert statements for procedure here + TRUNCATE TABLE C6MART.RISCHIO_AGGREGATO + INSERT INTO C6MART.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, +-- ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,3)),2) AS VAR_ASSOLUTO_PTF, +-- ROUND(CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,3)),2) AS VAR_PERC_PTF, + ROUND(CAST(cast(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO as float) AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(cast(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO as float) AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(cast(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO as float) AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(cast(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO as float) AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(cast(PROMETEIA_AGGR.MCVAR as float) AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(cast(PROMETEIA_AGGR.MCVARP as float) AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + --V il CC deve avere sempre copertura = 100 + CASE + WHEN PORTAFOGLIO = 'COMPLESSIVO|BF|CC' THEN 100 + --intervento correttivo per mancata conversione da varchar a int dell'08/04/22 + --ELSE CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) + ELSE CAST(cast(PROMETEIA_AGGR.COPERTURA as float) AS DECIMAL(10,2)) + --fine intervento correttivo per mancata conversione da varchar a int dell'08/04/22 + END AS COPERTURA, + CAST(cast(PROMETEIA_AGGR.TOTALE as float) AS DECIMAL(30,20)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + -- modifica del 3/10/2018 per gestire i casi in cui numtitrc contiene caratteri speciali (cr e lf) + --c6mart.getCreditRiskClass(Ully_perc,numtitrc) as CREDITRISKCLASS, + c6mart.getCreditRiskClass(Ully_perc,REPLACE(REPLACE(numtitrc, CHAR(13),''), CHAR(10),'')) as CREDITRISKCLASS, + -- fine modifica del 3/10/2018 + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + -- modifica del 3/10/2018 per gestire i casi in cui numtitrc contiene caratteri speciali (cr e lf) + --c6mart.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + c6mart.getCreditRiskClassEmit(Ully_perc,REPLACE(REPLACE(numtitrc, CHAR(13),''), CHAR(10),'')) as CREDITRISKCLASS_EMIT + -- fine modifica del 3/10/2018 + FROM C6STAGING.PROMETEIA_AGGR + --modifica per percentuali congruenti su PdC 23/07/2023 con adeguatezza + update VC + set VC.VAR_COMPLESSIVO_BF=RA.VAR_PERC_PTF + FROM + C6Mart.RISCHIO_AGGREGATO AS RA + INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE + where RA.COD_AGGREG = 'COMPLESSIVO|BF' + --fine modifica + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_RISCHIO_AGGREGATO_20181003.sql b/sql/storedProduzione/C6Mart_DM_RISCHIO_AGGREGATO_20181003.sql new file mode 100644 index 00000000..ea86685b --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_RISCHIO_AGGREGATO_20181003.sql @@ -0,0 +1,87 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_RISCHIO_AGGREGATO_20181003] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione giornaliera' + ) + -- Insert statements for procedure here + TRUNCATE TABLE C6MART.RISCHIO_AGGREGATO + INSERT INTO C6MART.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, +-- ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,3)),2) AS VAR_ASSOLUTO_PTF, +-- ROUND(CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,3)),2) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + --V il CC deve avere sempre copertura = 100 + CASE + WHEN PORTAFOGLIO = 'COMPLESSIVO|BF|CC' THEN 100 + ELSE CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) + END AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(30,20)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + c6mart.getCreditRiskClass(Ully_perc,numtitrc) as CREDITRISKCLASS, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + c6mart.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + FROM C6STAGING.PROMETEIA_AGGR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_RISCHIO_AGGREGATO_old.sql b/sql/storedProduzione/C6Mart_DM_RISCHIO_AGGREGATO_old.sql new file mode 100644 index 00000000..5e1615ce --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_RISCHIO_AGGREGATO_old.sql @@ -0,0 +1,81 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_RISCHIO_AGGREGATO_old] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione giornaliera' + ) + -- Insert statements for procedure here + TRUNCATE TABLE C6MART.RISCHIO_AGGREGATO + INSERT INTO C6MART.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(10,2)) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + --V il CC deve avere sempre copertura = 100 + CASE + WHEN PORTAFOGLIO = 'COMPLESSIVO|BF|CC' THEN 100 + ELSE CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) + END AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(10,2)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + c6mart.getCreditRiskClass(Ully_perc,numtitrc) as CREDITRISKCLASS + FROM C6STAGING.PROMETEIA_AGGR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_RISCHIO_AGGREGATO_pre_selective.sql b/sql/storedProduzione/C6Mart_DM_RISCHIO_AGGREGATO_pre_selective.sql new file mode 100644 index 00000000..93c2961a --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_RISCHIO_AGGREGATO_pre_selective.sql @@ -0,0 +1,87 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_RISCHIO_AGGREGATO_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO_pre_selective', + GETDATE(), + 'Elaborazione giornaliera' + ) + -- Insert statements for procedure here + TRUNCATE TABLE C6MART.RISCHIO_AGGREGATO + INSERT INTO C6MART.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, +-- ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,3)),2) AS VAR_ASSOLUTO_PTF, +-- ROUND(CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,3)),2) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + --V il CC deve avere sempre copertura = 100 + CASE + WHEN PORTAFOGLIO = 'COMPLESSIVO|BF|CC' THEN 100 + ELSE CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) + END AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(30,20)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + c6mart.getCreditRiskClass(Ully_perc,numtitrc) as CREDITRISKCLASS, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + c6mart.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + FROM C6STAGING.PROMETEIA_AGGR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_RISCHIO_DETTAGLIO.sql b/sql/storedProduzione/C6Mart_DM_RISCHIO_DETTAGLIO.sql new file mode 100644 index 00000000..93bb6433 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_RISCHIO_DETTAGLIO.sql @@ -0,0 +1,41 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_RISCHIO_DETTAGLIO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + TRUNCATE TABLE C6MART.RISCHIO_DETTAGLIO + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + SELECT +---- INFO TABELLA PER GESTIONE ERRORE +-- 'RISCHIO_DETTAGLIO' AS TABLENAME, +-- 'RETE - COD_FISCALE - COD_PROD' AS KEYCOLUMN, +-- PROMETEIA_DETT.RETE + ' - ' + PROMETEIA_DETT.CODICEFISCALE + ' - ' + PROMETEIA_DETT.CODICEPRODOTTO AS KEYVALUE, +---- FINE INFO TABELLA PER GESTIONE ERRORE + PROMETEIA_DETT.RETE AS RETE, + PROMETEIA_DETT.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_DETT.PORTAFOGLIO AS COD_AGGREG, + PROMETEIA_DETT.CODICEPRODOTTO AS CHIAVE_PRODOTTO, + PROMETEIA_DETT.VARASSOLUTO AS VAR_ASSOLUTO_PTF, + PROMETEIA_DETT.VARPERCENTUALE AS VAR_PERC_PTF, + PROMETEIA_DETT.CVARASSOLUTO AS CVAR_ASSOLUTO_PTF, + PROMETEIA_DETT.CVARPERCENTUALE AS CVAR_PERC_PTF, + PROMETEIA_DETT.MCVAR AS MCVAR, + PROMETEIA_DETT.MCVARP AS MCVARP, + PROMETEIA_DETT.TIPOCOPERTURA AS TIPO_COPERTURA, + PROMETEIA_DETT.CTVNOMINALE AS CTV_AGGREG, + PROMETEIA_DETT.PIAZZA AS MERCATO_CONTRATT, + PROMETEIA_DETT.CODVAL AS DIV_CONTRATT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.PROMETEIA_DETT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_RISCHIO_DETTAGLIO_pre_selective.sql b/sql/storedProduzione/C6Mart_DM_RISCHIO_DETTAGLIO_pre_selective.sql new file mode 100644 index 00000000..2f6d8679 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_RISCHIO_DETTAGLIO_pre_selective.sql @@ -0,0 +1,41 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_RISCHIO_DETTAGLIO_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + TRUNCATE TABLE C6MART.RISCHIO_DETTAGLIO + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + SELECT +---- INFO TABELLA PER GESTIONE ERRORE +-- 'RISCHIO_DETTAGLIO' AS TABLENAME, +-- 'RETE - COD_FISCALE - COD_PROD' AS KEYCOLUMN, +-- PROMETEIA_DETT.RETE + ' - ' + PROMETEIA_DETT.CODICEFISCALE + ' - ' + PROMETEIA_DETT.CODICEPRODOTTO AS KEYVALUE, +---- FINE INFO TABELLA PER GESTIONE ERRORE + PROMETEIA_DETT.RETE AS RETE, + PROMETEIA_DETT.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_DETT.PORTAFOGLIO AS COD_AGGREG, + PROMETEIA_DETT.CODICEPRODOTTO AS CHIAVE_PRODOTTO, + PROMETEIA_DETT.VARASSOLUTO AS VAR_ASSOLUTO_PTF, + PROMETEIA_DETT.VARPERCENTUALE AS VAR_PERC_PTF, + PROMETEIA_DETT.CVARASSOLUTO AS CVAR_ASSOLUTO_PTF, + PROMETEIA_DETT.CVARPERCENTUALE AS CVAR_PERC_PTF, + PROMETEIA_DETT.MCVAR AS MCVAR, + PROMETEIA_DETT.MCVARP AS MCVARP, + PROMETEIA_DETT.TIPOCOPERTURA AS TIPO_COPERTURA, + PROMETEIA_DETT.CTVNOMINALE AS CTV_AGGREG, + PROMETEIA_DETT.PIAZZA AS MERCATO_CONTRATT, + PROMETEIA_DETT.CODVAL AS DIV_CONTRATT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.PROMETEIA_DETT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_STRUTTURA_RETE.sql b/sql/storedProduzione/C6Mart_DM_STRUTTURA_RETE.sql new file mode 100644 index 00000000..1f6786a0 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_STRUTTURA_RETE.sql @@ -0,0 +1,278 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_STRUTTURA_RETE] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --SET NOCOUNT ON; +DECLARE @righe INT +SET @righe = 0 +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_STRUTTURA_RETE', + GETDATE(), + 'Elaborazione giornaliera' +) +--codice per forzare l'exit in caso di delay delle risposte dal SIMPB +--if (select count(*) from log_esecuzione where nome='SIM_PB' and abs(datediff(minute,getdate(),inizio))>350)>=1 +-- begin RAISERROR ('Risposte in ritardo dai WSDL del SIMPB',16,10); +-- select * from blablabla; +-- end +--V Utilizzato per mandare avanti la procedura, al momento non ho clienti associati al pb +delete from C6Staging.SPB_NAC +where +codiceRete = 'S' +and codiceAgente = '008521' +and codiceManager = 'I03128' +--EN20160427: Eliminare agenti con codici maggiore delal capienza della tabella destinaria (varchr(6), per mandare avanti la procedura +-- per ora riguarda solo l'agente 'AM Fittizio di Agente Speciale Firenze' +delete from C6Staging.SPB_NAC +where LEN(codiceagente) > 6 +and codicemanager = '' +--SVUOTAMENTO STRUTTURA +TRUNCATE TABLE C6Mart.STRUTTURA_RETE +--INSERIMENTO PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT + AM.codicerete as Rete, + dbo.CodiceAgenteDirettiDi(PB.codiceagente) as PB, PB.cognomeNome as cognomeNomePB, + dbo.CodiceAgenteDirettiDi(SPV.codiceagente) as SPV, SPV.cognomeNome as cognomeNomeSPV, + dbo.CodiceAgenteDirettiDi(RM.codiceagente) as RM, RM.cognomeNome as cognomeNomeRM, + dbo.CodiceAgenteDirettiDi(DM.codiceagente) as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + PB.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' +INNER JOIN C6Staging.SPB_NAC RM +ON + RM.codicerete = DM.codicerete + AND + RM.codicemanager = DM.codiceagente + AND + RM.LivelloNellaGerarchia = 'RM' +INNER JOIN C6Staging.SPB_NAC SPV +ON + SPV.codicerete = RM.codicerete + AND + SPV.codicemanager = RM.codiceagente + AND + SPV.LivelloNellaGerarchia like 'SPV%' +INNER JOIN C6Staging.SPB_NAC PB +ON + PB.codicerete = SPV.codicerete + AND + PB.codicemanager = SPV.codiceagente + AND + PB.LivelloNellaGerarchia = 'PB' + AND + PB.cognomeNome not LIKE 'I FITTIZI DI%' +WHERE AM.codicemanager = '' +AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4,6,8,10 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO AM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + AM.codiceagente as PB, AM.cognomeNome as cognomeNomePB, + AM.codiceagente as SPV, AM.cognomeNome as cognomeNomeSPV, + AM.codiceagente as RM, AM.cognomeNome as cognomeNomeRM, + AM.codiceagente as DM, AM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + AM.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +WHERE AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO DM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + DM.codiceagente as PB, DM.cognomeNome as cognomeNomePB, + DM.codiceagente as SPV, DM.cognomeNome as cognomeNomeSPV, + DM.codiceagente as RM, DM.cognomeNome as cognomeNomeRM, + DM.codiceagente as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + DM.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' + AND left(DM.codiceagente,1) NOT in ('I','S') +WHERE AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO RM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + RM.codiceagente as PB, RM.cognomeNome as cognomeNomePB, + RM.codiceagente as SPV, RM.cognomeNome as cognomeNomeSPV, + RM.codiceagente as RM, RM.cognomeNome as cognomeNomeRM, + dbo.CodiceAgenteDirettiDi(DM.codiceagente) as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + RM.LivelloNellaGerarchia as Livello +from C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' +-- AND left(DM.codiceagente,1) <> 'I' +INNER JOIN C6Staging.SPB_NAC RM +ON + RM.codicerete = DM.codicerete + AND + RM.codicemanager = DM.codiceagente + AND + RM.LivelloNellaGerarchia = 'RM' + AND left(RM.codiceagente,1) NOT IN ('I','S') +where AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4,6 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO SPV COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + SPV.codiceagente as PB, SPV.cognomeNome as cognomeNomePB, + SPV.codiceagente as SPV, SPV.cognomeNome as cognomeNomeSPV, + dbo.CodiceAgenteDirettiDi(RM.codiceagente) as RM, RM.cognomeNome as cognomeNomeRM, + dbo.CodiceAgenteDirettiDi(DM.codiceagente) as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + SPV.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' +-- AND left(DM.codiceagente,1) <> 'I' +INNER JOIN C6Staging.SPB_NAC RM +ON + RM.codicerete = DM.codicerete + AND + RM.codicemanager = DM.codiceagente + AND + RM.LivelloNellaGerarchia = 'RM' +-- AND left(RM.codiceagente,1) NOT IN ('I','S') +INNER join C6Staging.SPB_NAC SPV +ON + SPV.codicerete = RM.codicerete + AND + SPV.codicemanager = RM.codiceagente + AND + SPV.LivelloNellaGerarchia like 'SPV%' + AND left(SPV.codiceagente,1) NOT IN ('I','S') +WHERE AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4,6,8 +SET @righe = @righe + @@ROWCOUNT +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @righe +WHERE + Nome = 'DM_STRUTTURA_RETE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_STRUTTURA_RETE' + ) +-- 14 GENNAIO 2009 MODIFICA PAOLO GIOVANETTI PER AGGIUNTA ID_ELAB +--ESTRAZIONE ID_ELAB +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6MART.GETIDELAB() +UPDATE C6Mart.STRUTTURA_RETE +SET ID_ELAB = @ID_ELAB +WHERE ID_ELAB IS NULL +-- 14 GENNAIO 2009 FINE MODIFICA PAOLO GIOVANETTI PER AGGIUNTA ID_ELAB +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_STRUTTURA_RETE_20160427.sql b/sql/storedProduzione/C6Mart_DM_STRUTTURA_RETE_20160427.sql new file mode 100644 index 00000000..05ffcf87 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_STRUTTURA_RETE_20160427.sql @@ -0,0 +1,268 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_STRUTTURA_RETE_20160427] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --SET NOCOUNT ON; +DECLARE @righe INT +SET @righe = 0 +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_STRUTTURA_RETE', + GETDATE(), + 'Elaborazione giornaliera' +) +--V Utilizzato per mandare avanti la procedura, al momento non ho clienti associati al pb +delete from C6Staging.SPB_NAC +where +codiceRete = 'S' +and codiceAgente = '008521' +and codiceManager = 'I03128' +--SVUOTAMENTO STRUTTURA +TRUNCATE TABLE C6Mart.STRUTTURA_RETE +--INSERIMENTO PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT + AM.codicerete as Rete, + dbo.CodiceAgenteDirettiDi(PB.codiceagente) as PB, PB.cognomeNome as cognomeNomePB, + dbo.CodiceAgenteDirettiDi(SPV.codiceagente) as SPV, SPV.cognomeNome as cognomeNomeSPV, + dbo.CodiceAgenteDirettiDi(RM.codiceagente) as RM, RM.cognomeNome as cognomeNomeRM, + dbo.CodiceAgenteDirettiDi(DM.codiceagente) as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + PB.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' +INNER JOIN C6Staging.SPB_NAC RM +ON + RM.codicerete = DM.codicerete + AND + RM.codicemanager = DM.codiceagente + AND + RM.LivelloNellaGerarchia = 'RM' +INNER JOIN C6Staging.SPB_NAC SPV +ON + SPV.codicerete = RM.codicerete + AND + SPV.codicemanager = RM.codiceagente + AND + SPV.LivelloNellaGerarchia like 'SPV%' +INNER JOIN C6Staging.SPB_NAC PB +ON + PB.codicerete = SPV.codicerete + AND + PB.codicemanager = SPV.codiceagente + AND + PB.LivelloNellaGerarchia = 'PB' + AND + PB.cognomeNome not LIKE 'I FITTIZI DI%' +WHERE AM.codicemanager = '' +AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4,6,8,10 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO AM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + AM.codiceagente as PB, AM.cognomeNome as cognomeNomePB, + AM.codiceagente as SPV, AM.cognomeNome as cognomeNomeSPV, + AM.codiceagente as RM, AM.cognomeNome as cognomeNomeRM, + AM.codiceagente as DM, AM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + AM.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +WHERE AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO DM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + DM.codiceagente as PB, DM.cognomeNome as cognomeNomePB, + DM.codiceagente as SPV, DM.cognomeNome as cognomeNomeSPV, + DM.codiceagente as RM, DM.cognomeNome as cognomeNomeRM, + DM.codiceagente as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + DM.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' + AND left(DM.codiceagente,1) NOT in ('I','S') +WHERE AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO RM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + RM.codiceagente as PB, RM.cognomeNome as cognomeNomePB, + RM.codiceagente as SPV, RM.cognomeNome as cognomeNomeSPV, + RM.codiceagente as RM, RM.cognomeNome as cognomeNomeRM, + dbo.CodiceAgenteDirettiDi(DM.codiceagente) as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + RM.LivelloNellaGerarchia as Livello +from C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' +-- AND left(DM.codiceagente,1) <> 'I' +INNER JOIN C6Staging.SPB_NAC RM +ON + RM.codicerete = DM.codicerete + AND + RM.codicemanager = DM.codiceagente + AND + RM.LivelloNellaGerarchia = 'RM' + AND left(RM.codiceagente,1) NOT IN ('I','S') +where AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4,6 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO SPV COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + SPV.codiceagente as PB, SPV.cognomeNome as cognomeNomePB, + SPV.codiceagente as SPV, SPV.cognomeNome as cognomeNomeSPV, + dbo.CodiceAgenteDirettiDi(RM.codiceagente) as RM, RM.cognomeNome as cognomeNomeRM, + dbo.CodiceAgenteDirettiDi(DM.codiceagente) as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + SPV.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' +-- AND left(DM.codiceagente,1) <> 'I' +INNER JOIN C6Staging.SPB_NAC RM +ON + RM.codicerete = DM.codicerete + AND + RM.codicemanager = DM.codiceagente + AND + RM.LivelloNellaGerarchia = 'RM' +-- AND left(RM.codiceagente,1) NOT IN ('I','S') +INNER join C6Staging.SPB_NAC SPV +ON + SPV.codicerete = RM.codicerete + AND + SPV.codicemanager = RM.codiceagente + AND + SPV.LivelloNellaGerarchia like 'SPV%' + AND left(SPV.codiceagente,1) NOT IN ('I','S') +WHERE AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4,6,8 +SET @righe = @righe + @@ROWCOUNT +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @righe +WHERE + Nome = 'DM_STRUTTURA_RETE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_STRUTTURA_RETE' + ) +-- 14 GENNAIO 2009 MODIFICA PAOLO GIOVANETTI PER AGGIUNTA ID_ELAB +--ESTRAZIONE ID_ELAB +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6MART.GETIDELAB() +UPDATE C6Mart.STRUTTURA_RETE +SET ID_ELAB = @ID_ELAB +WHERE ID_ELAB IS NULL +-- 14 GENNAIO 2009 FINE MODIFICA PAOLO GIOVANETTI PER AGGIUNTA ID_ELAB +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_STRUTTURA_RETE_20161024.sql b/sql/storedProduzione/C6Mart_DM_STRUTTURA_RETE_20161024.sql new file mode 100644 index 00000000..40c3fe79 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_STRUTTURA_RETE_20161024.sql @@ -0,0 +1,268 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_STRUTTURA_RETE_20161024] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --SET NOCOUNT ON; +DECLARE @righe INT +SET @righe = 0 +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_STRUTTURA_RETE', + GETDATE(), + 'Elaborazione giornaliera' +) +--V Utilizzato per mandare avanti la procedura, al momento non ho clienti associati al pb +delete from C6Staging.SPB_NAC +where +codiceRete = 'S' +and codiceAgente = '008521' +and codiceManager = 'I03128' +--SVUOTAMENTO STRUTTURA +TRUNCATE TABLE C6Mart.STRUTTURA_RETE +--INSERIMENTO PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT + AM.codicerete as Rete, + dbo.CodiceAgenteDirettiDi(PB.codiceagente) as PB, PB.cognomeNome as cognomeNomePB, + dbo.CodiceAgenteDirettiDi(SPV.codiceagente) as SPV, SPV.cognomeNome as cognomeNomeSPV, + dbo.CodiceAgenteDirettiDi(RM.codiceagente) as RM, RM.cognomeNome as cognomeNomeRM, + dbo.CodiceAgenteDirettiDi(DM.codiceagente) as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + PB.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' +INNER JOIN C6Staging.SPB_NAC RM +ON + RM.codicerete = DM.codicerete + AND + RM.codicemanager = DM.codiceagente + AND + RM.LivelloNellaGerarchia = 'RM' +INNER JOIN C6Staging.SPB_NAC SPV +ON + SPV.codicerete = RM.codicerete + AND + SPV.codicemanager = RM.codiceagente + AND + SPV.LivelloNellaGerarchia like 'SPV%' +INNER JOIN C6Staging.SPB_NAC PB +ON + PB.codicerete = SPV.codicerete + AND + PB.codicemanager = SPV.codiceagente + AND + PB.LivelloNellaGerarchia = 'PB' + AND + PB.cognomeNome not LIKE 'I FITTIZI DI%' +WHERE AM.codicemanager = '' +AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4,6,8,10 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO AM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + AM.codiceagente as PB, AM.cognomeNome as cognomeNomePB, + AM.codiceagente as SPV, AM.cognomeNome as cognomeNomeSPV, + AM.codiceagente as RM, AM.cognomeNome as cognomeNomeRM, + AM.codiceagente as DM, AM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + AM.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +WHERE AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO DM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + DM.codiceagente as PB, DM.cognomeNome as cognomeNomePB, + DM.codiceagente as SPV, DM.cognomeNome as cognomeNomeSPV, + DM.codiceagente as RM, DM.cognomeNome as cognomeNomeRM, + DM.codiceagente as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + DM.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' + AND left(DM.codiceagente,1) NOT in ('I','S') +WHERE AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO RM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + RM.codiceagente as PB, RM.cognomeNome as cognomeNomePB, + RM.codiceagente as SPV, RM.cognomeNome as cognomeNomeSPV, + RM.codiceagente as RM, RM.cognomeNome as cognomeNomeRM, + dbo.CodiceAgenteDirettiDi(DM.codiceagente) as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + RM.LivelloNellaGerarchia as Livello +from C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' +-- AND left(DM.codiceagente,1) <> 'I' +INNER JOIN C6Staging.SPB_NAC RM +ON + RM.codicerete = DM.codicerete + AND + RM.codicemanager = DM.codiceagente + AND + RM.LivelloNellaGerarchia = 'RM' + AND left(RM.codiceagente,1) NOT IN ('I','S') +where AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4,6 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO SPV COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + SPV.codiceagente as PB, SPV.cognomeNome as cognomeNomePB, + SPV.codiceagente as SPV, SPV.cognomeNome as cognomeNomeSPV, + dbo.CodiceAgenteDirettiDi(RM.codiceagente) as RM, RM.cognomeNome as cognomeNomeRM, + dbo.CodiceAgenteDirettiDi(DM.codiceagente) as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + SPV.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' +-- AND left(DM.codiceagente,1) <> 'I' +INNER JOIN C6Staging.SPB_NAC RM +ON + RM.codicerete = DM.codicerete + AND + RM.codicemanager = DM.codiceagente + AND + RM.LivelloNellaGerarchia = 'RM' +-- AND left(RM.codiceagente,1) NOT IN ('I','S') +INNER join C6Staging.SPB_NAC SPV +ON + SPV.codicerete = RM.codicerete + AND + SPV.codicemanager = RM.codiceagente + AND + SPV.LivelloNellaGerarchia like 'SPV%' + AND left(SPV.codiceagente,1) NOT IN ('I','S') +WHERE AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4,6,8 +SET @righe = @righe + @@ROWCOUNT +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @righe +WHERE + Nome = 'DM_STRUTTURA_RETE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_STRUTTURA_RETE' + ) +-- 14 GENNAIO 2009 MODIFICA PAOLO GIOVANETTI PER AGGIUNTA ID_ELAB +--ESTRAZIONE ID_ELAB +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6MART.GETIDELAB() +UPDATE C6Mart.STRUTTURA_RETE +SET ID_ELAB = @ID_ELAB +WHERE ID_ELAB IS NULL +-- 14 GENNAIO 2009 FINE MODIFICA PAOLO GIOVANETTI PER AGGIUNTA ID_ELAB +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_TEST_QUALITY.sql b/sql/storedProduzione/C6Mart_DM_TEST_QUALITY.sql new file mode 100644 index 00000000..080785ac --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_TEST_QUALITY.sql @@ -0,0 +1,52 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_TEST_QUALITY] +AS +BEGIN + SET NOCOUNT ON; +update c6mart.email_pb set email = 'fabio.consoli@hp.com' where codice = '015312' +update c6mart.anag_promotori set e_mail = 'fabio.consoli@hp.com' where id_promotore = '015312' +--*********************************************************************************************************** + --*********************************************************************************************************** +--*********************************************************************************************************** +--*********************************************************************************************************** + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.2' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO --SUBSTRING(PDF.NomeFile, 0, 12) + WHERE + -- modifica del 3/10/2018 per gestire i valori 'date' del campo e che mandano in errore di conversione la sp + --VC.INVIOBENVENUTO = 'S' + cast(VC.InvioBenvenuto as varchar) = 'S' + -- fine modifica del 3/10/2018 + AND PDF.CODICEFISCALE IS NULL +--*********************************************************************************************************** + --*********************************************************************************************************** + INSERT INTO C6MART.TEST_QUALITY + SELECT + RETE, + COD_FISCALE, + CASE WHEN PMOD.PRC > 100 + THEN 'SCARTO PER PIRAMIDE MODELLO SUPERIORE A 100' + ELSE 'SCARTO PER PIRAMIDE MODELLO INFERIORE A 100' + END AS MOTIVO + --FROM C6MART.VCONTRATTISEI VC + FROM C6MART.VCONTRATTI VC + INNER JOIN + (SELECT chiaveclientepb, sum(percentualeprogetto) AS PRC FROM c6staging.rp_progettipiramidemodello + WHERE 1=1 + AND ((area = 'Inv' and tipoProgetto = 1) OR (area <> 'Inv' and tipoProgetto = 0)) + AND DtFineValidita > getdate() + group by chiaveclientepb + having sum(percentualeprogetto) <> 0 AND sum(percentualeprogetto) <> 100 + ) AS PMOD + ON VC.chiaveclientepb = PMOD.chiaveclientepb + WHERE PMOD.PRC <> 0 AND PMOD.PRC <> 100 + --AND ISNULL(VC.INVIOBENVENUTO,'N') = 'N' +--INSERT INTO C6MART.TEST_QUALITY +--SELECT DISTINCT RETE,COD_FISCALE,'DATO ERRATO C6MART.ASSET_PERC' FROM C6MART.PATRIMONIO_BF WHERE COD_PRODOTTO IN + --(select COD_PRODOTTO from C6MART.ASSET_PERC WHERE PERC < 0 OR PERC > 100) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_TEST_QUALITY_20181003.sql b/sql/storedProduzione/C6Mart_DM_TEST_QUALITY_20181003.sql new file mode 100644 index 00000000..12e43c5e --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_TEST_QUALITY_20181003.sql @@ -0,0 +1,47 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_TEST_QUALITY_20181003] +AS +BEGIN + SET NOCOUNT ON; +update c6mart.email_pb set email = 'fabio.consoli@hp.com' where codice = '015312' +update c6mart.anag_promotori set e_mail = 'fabio.consoli@hp.com' where id_promotore = '015312' +--*********************************************************************************************************** + --*********************************************************************************************************** +--*********************************************************************************************************** +--*********************************************************************************************************** + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.2' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO --SUBSTRING(PDF.NomeFile, 0, 12) + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +--*********************************************************************************************************** + --*********************************************************************************************************** + INSERT INTO C6MART.TEST_QUALITY + SELECT + RETE, + COD_FISCALE, + CASE WHEN PMOD.PRC > 100 + THEN 'SCARTO PER PIRAMIDE MODELLO SUPERIORE A 100' + ELSE 'SCARTO PER PIRAMIDE MODELLO INFERIORE A 100' + END AS MOTIVO + --FROM C6MART.VCONTRATTISEI VC + FROM C6MART.VCONTRATTI VC + INNER JOIN + (SELECT chiaveclientepb, sum(percentualeprogetto) AS PRC FROM c6staging.rp_progettipiramidemodello + WHERE 1=1 + AND ((area = 'Inv' and tipoProgetto = 1) OR (area <> 'Inv' and tipoProgetto = 0)) + AND DtFineValidita > getdate() + group by chiaveclientepb + having sum(percentualeprogetto) <> 0 AND sum(percentualeprogetto) <> 100 + ) AS PMOD + ON VC.chiaveclientepb = PMOD.chiaveclientepb + WHERE PMOD.PRC <> 0 AND PMOD.PRC <> 100 + --AND ISNULL(VC.INVIOBENVENUTO,'N') = 'N' +INSERT INTO C6MART.TEST_QUALITY +SELECT DISTINCT RETE,COD_FISCALE,'DATO ERRATO C6MART.ASSET_PERC' FROM C6MART.PATRIMONIO_BF WHERE COD_PRODOTTO IN + (select COD_PRODOTTO from C6MART.ASSET_PERC WHERE PERC < 0 OR PERC > 100) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_DM_VAR_ADEGUATEZZA.sql b/sql/storedProduzione/C6Mart_DM_VAR_ADEGUATEZZA.sql new file mode 100644 index 00000000..81682e43 --- /dev/null +++ b/sql/storedProduzione/C6Mart_DM_VAR_ADEGUATEZZA.sql @@ -0,0 +1,41 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_VAR_ADEGUATEZZA] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_VAR_ADEGUATEZZA', + GETDATE(), + 'Elaborazione giornaliera' + ) +truncate table C6Staging.VAR_ADEGUATEZZA + insert into C6Staging.VAR_ADEGUATEZZA + select RETE,CODICE_FISCALE,0.00 as VAR_COMPLESSIO_BF,'N' from C6Staging.VAR_ADEGUATEZZA_INDICATORI + -- il VAR_COMPLESSIVO BF VERRA POI POPOLATA IN [C6Mart].[DM_RISCHIO_AGGREGATO] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_VAR_ADEGUATEZZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_VAR_ADEGUATEZZA' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_Decodifica_Concentrazione_Prodotti_Complessi.sql b/sql/storedProduzione/C6Mart_Decodifica_Concentrazione_Prodotti_Complessi.sql new file mode 100644 index 00000000..d15dfd7b --- /dev/null +++ b/sql/storedProduzione/C6Mart_Decodifica_Concentrazione_Prodotti_Complessi.sql @@ -0,0 +1,141 @@ +--[C6Mart].[PL_D_S180ProdottiComplessitaAlta] 'f', 'ff@9225' +CREATE procedure [C6Mart].[Decodifica_Concentrazione_Prodotti_Complessi] --'W','PSTFNC40D10I992T' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @adeguato int +select @adeguato=cc_adeguatezza_indicatore from c6staging.VAR_ADEGUATEZZA_INDICATORI where RETE=@Rete and CODICE_FISCALE=@CodiceFiscale +if(@adeguato=0) +begin + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @TotalePatrimonio decimal(12,2) + -- acquisiamo il totale patrimonio del cliente + SELECT @TotalePatrimonio = ctv + FROM + C6Mart.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +-- + SELECT + 1 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi + into #temp +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 3 + union all + SELECT + 2 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 2 + union all + SELECT + 3 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 1 + -- --20180905 Fine modifica + order by ordine,Compl_Base desc + delete from #temp where ordine=1 and SommaPesi<20 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta è <20 + delete from #temp where ordine=2 and SommaPesi<30 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta è <30 + delete from #temp where ordine=3 and SommaPesi<50 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta e medio-bassa è <50 +DECLARE @countLimMax VARCHAR(50) +SELECT @countLimMax = count(*) FROM #temp +DECLARE @maxCompl VARCHAR(50) +select @maxCompl = max(compl_base) from [C6Mart].[TB_S180ProdottiComplessitaAlta] where rete=@rete and Cod_fiscale=@CodiceFiscale +declare @IndPatrimonio decimal(12,2) + -- acquisiamo il totale patrimonio del cliente + SELECT @IndPatrimonio = case when ctv>50000 then 2 + when ctv>75000 then 3 + when ctv>150000 then 4 + else 0 end + FROM + C6Mart.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +if (@countLimMax=0 and @maxCompl>@IndPatrimonio) +begin +update C6Staging.VAR_ADEGUATEZZA_INDICATORI +set cc_adeguatezza_descrizione = 'Il livello di concentrazione di prodotti complessi nel suo portafoglio è NON ADEGUATO in quanto non coerente rispetto al patrimonio minimo richiesto per la sottoscrizione di tali prodotti.' +where rete=@Rete +and codice_fiscale=@CodiceFiscale +--print('Il livello di concentrazione di prodotti complessi nel suo portafoglio è NON ADEGUATO in quanto non coerente rispetto al patrimonio minimo richiesto per la sottoscrizione di tali prodotti.') +end +if (@countLimMax>0 and @maxCompl<=@IndPatrimonio) +begin +update C6Staging.VAR_ADEGUATEZZA_INDICATORI +set cc_adeguatezza_descrizione = 'Il livello di concentrazione di prodotti complessi nel suo portafoglio è NON ADEGUATO in quanto superiore ai limiti massimi stabiliti dalla Banca.' +where rete=@Rete +and CODICE_FISCALE=@CodiceFiscale +--print('Il livello di concentrazione di prodotti complessi nel suo portafoglio è NON ADEGUATO in quanto superiore ai limiti massimi stabiliti dalla Banca.') +end +if (@countLimMax>0 and @maxCompl>@IndPatrimonio) +begin +update C6Staging.VAR_ADEGUATEZZA_INDICATORI +set cc_adeguatezza_descrizione = 'Il livello di concentrazione di prodotti complessi nel suo portafoglio è NON ADEGUATO in quanto superiore ai limiti massimi stabiliti dalla Banca e non coerente rispetto al patrimonio minimo richiesto per la sottoscrizione di tali prodotti.' +where rete=@Rete +and CODICE_FISCALE=@CodiceFiscale +--print('Il livello di concentrazione di prodotti complessi nel suo portafoglio è NON ADEGUATO in quanto superiore ai limiti massimi stabiliti dalla Banca e non coerente rispetto al patrimonio minimo richiesto per la sottoscrizione di tali prodotti.') +end +end +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_C6_S_Generator.sql b/sql/storedProduzione/C6Mart_GESTIONE_C6_S_Generator.sql new file mode 100644 index 00000000..a9c71946 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_C6_S_Generator.sql @@ -0,0 +1,22 @@ +-- [C6Mart].[GESTIONE_C6_S_Generator] 1, 4, 'T' +-- [C6Mart].[GESTIONE_C6_S_Generator] 4, 13, 'T' (monitoraggio,private,trim) +-- [C6Mart].[GESTIONE_C6_S_Generator] 4, 12, 'T' (monitoraggio,old/affluent,trim) +CREATE procedure [C6Mart].[GESTIONE_C6_S_Generator] +@idReport as int, +@idModello as int, +@periodicita as varchar(1) = 'G' +AS +BEGIN + SET NOCOUNT ON; + if (@idModello=6) +begin +select * from C6Mart.generator_direct where codicesezione not like 'S%' and codiceSezione not in('FD147','FD133Bis') order BY ordineCapitolo,ordineParagrafo,ordineSezione +end +if (@idModello=5) +begin +SELECT * +from C6Mart.Generator_Diagnosi +where codiceSezione not in('S187','S188') + ORDER BY ordineCapitolo,ordineParagrafo,ordineSezione +end +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_C6_S_Generator_AND.sql b/sql/storedProduzione/C6Mart_GESTIONE_C6_S_Generator_AND.sql new file mode 100644 index 00000000..c7254eb0 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_C6_S_Generator_AND.sql @@ -0,0 +1,152 @@ +-- [C6Mart].[GESTIONE_C6_S_Generator] 1, 4, 'T' +CREATE procedure [C6Mart].[GESTIONE_C6_S_Generator_AND] +@idReport as int, +@idModello as int, +@periodicita as varchar(1) = 'G' +AS +BEGIN + SET NOCOUNT ON; +-- CREO LA TABELLA #R6Capitolopdf +SELECT R6Capitolo.id, + R6Capitolo.titolo, + R6Capitolo.testo, + R6Capitolo.testoAlternativo, + R6Capitolo.nuovapagina, + R6Capitolo.queryOracle, + R6Capitolo.querySql, + R6Capitolo.querySqlPeriodico +into #R6CAPITOLOPDF +FROM +ReportSezionePers AS a INNER JOIN +R6_SezioneR6Capitolo AS b ON a.IdSezione = b.IdSezione INNER JOIN +R6Capitolo ON b.IdCapitoloPDF = R6Capitolo.id +where a.idreport = @idModello +-- CREO LA TABELLA #R6ParagrafoPDF +SELECT R6Paragrafo.id, + R6Paragrafo.titolo, + R6Paragrafo.testo, + R6Paragrafo.queryOracle, + R6Paragrafo.querySql, + R6Paragrafo.querySqlPeriodico, + R6Paragrafo.SottoTitoloQuery, + R6Paragrafo.SpazioNecessarioSezioneSuccessiva +into #R6PARAGRAFOPDF +FROM ReportSezionePers AS a INNER JOIN + R6_SezioneR6Paragrafo AS b ON a.IdSezione = b.IdSezione INNER JOIN + R6Paragrafo ON b.IdParagrafoPDF = R6Paragrafo.id + where a.idreport = @idModello +-- CREO LA TABELLA #R6SEZIONEPDF +SELECT + R6Sezione.id, + R6Sezione.codice, + R6Sezione.queryOracle, + R6Sezione.querySql, + R6Sezione.querySqlPeriodico, + R6Sezione.ordineQueryOracle, + R6Sezione.ordineQuerySql + --R6Sezione.nuovaPaginaDopo +into #R6SEZIONEPDF +FROM ReportSezionePers AS a INNER JOIN + R6_SezioneR6Sezione AS b ON a.IdSezione = b.idFkSezione INNER JOIN + R6Sezione ON b.idFkC6Sezione = R6Sezione.id +WHERE (a.IdReport = @idModello) +SELECT DISTINCT [#R6CAPITOLOPDF].id as idCapitolo + ,[R6ReportR6Capitolo].[ordineCapitolo] as ordineCapitolo + ,[#R6CAPITOLOPDF].[titolo] as titoloCapitolo + ,[#R6CAPITOLOPDF].[testo] as testoCapitolo + ,[#R6CAPITOLOPDF].[testoAlternativo] as testoCapitoloAlternativo + ,[#R6CAPITOLOPDF].[nuovapagina] as nuovaPaginaCapitolo +-- ,[#R6CAPITOLOPDF].[queryOracle] as queryOracleCapitolo + ,isnull([#R6CAPITOLOPDF].[querySqlPeriodico],'') as querySqlCapitoloT + ,isnull([#R6CAPITOLOPDF].[querySql],'') as querySqlCapitoloG + ,[#R6PARAGRAFOPDF].[id] as idParagrafo + ,[R6CapitoloR6Paragrafo].[ordineParagrafo] as ordineParagrafo + ,[#R6PARAGRAFOPDF].[titolo] as titoloParagrafo + ,[#R6PARAGRAFOPDF].[sottoTitoloQuery] as sottoTitoloParagrafo + ,[#R6PARAGRAFOPDF].[testo] as testoParagrafo + ,[#R6PARAGRAFOPDF].spazioNecessarioSezioneSuccessiva as spazioNecessarioSezioneSuccessiva +-- ,isnull([#R6PARAGRAFOPDF].[queryOracle],'') as queryOracleParagrafo + ,isnull([#R6PARAGRAFOPDF].[querySql],'') as querySqlParagrafoG +,isnull([#R6PARAGRAFOPDF].[querySqlPeriodico],'') as querySqlParagrafoT + ,[R6CapitoloR6Paragrafo].[indicizzato] as indicizzatoParagrafo + ,[R6ParagrafoR6Sezione].[ordineSezione] as ordineSezione + ,[#R6SEZIONEPDF].[id] as idSezione + ,[#R6SEZIONEPDF].[codice] as codiceSezione +-- ,isnull([#R6SEZIONEPDF].[queryOracle],'') as queryOracleSezione + ,isnull([#R6SEZIONEPDF].[querySql],'') as querySqlSezioneG + ,isnull([#R6SEZIONEPDF].[querySqlPeriodico],'') as querySqlSezioneT + ,[R6ParagrafoR6Sezione].indicizzato as indicizzatoSezione + ,[R6ParagrafoR6Sezione].[filtroDataView] as filtroSezione + ,[R6ParagrafoR6Sezione].[titolo] as titoloSezione + ,isnull([R6ParagrafoR6Sezione].[testo],'') as testoSezione + ,isnull([R6ParagrafoR6Sezione].[testo1] ,'') as testoSezioneAlternativo + ,isnull([R6ParagrafoR6Sezione].[nota],'') as notaSezione + ,isnull([R6ParagrafoR6Sezione].[nota1],'') as notaSezioneAlternativo, + [R6ParagrafoR6Sezione].[nuovaPaginaDopo] as nuovaPaginaDopo + --,[#R6SEZIONEPDF].nuovaPaginaDopo as nuovaPaginaDopo +into #tab +FROM #R6SEZIONEPDF +INNER JOIN R6ParagrafoR6Sezione ON #R6SEZIONEPDF.id = R6ParagrafoR6Sezione.idFkSezione +INNER JOIN #R6PARAGRAFOPDF ON R6ParagrafoR6Sezione.idFkParagrafo = #R6PARAGRAFOPDF.id +INNER JOIN R6CapitoloR6Paragrafo ON #R6PARAGRAFOPDF.id = R6CapitoloR6Paragrafo.idFkParagrafo +INNER JOIN #R6CAPITOLOPDF ON R6CapitoloR6Paragrafo.idFkCapitolo = #R6CAPITOLOPDF.id +INNER JOIN R6ReportR6Capitolo ON #R6CAPITOLOPDF.id = R6ReportR6Capitolo.idFkCapitolo +WHERE [R6ParagrafoR6Sezione].idFkReport = @idReport +ORDER BY ordineCapitolo,ordineParagrafo,ordineSezione +insert into c6mart.modellopdf +select @idModello as idModelloPdf,* from #tab +-- [C6Mart].[GESTIONE_C6_S_Generator_and] 4, 13, 'T' + select + --idModelloPdf, + idCapitolo + ,ordineCapitolo + ,titoloCapitolo + ,testoCapitolo + ,testoCapitoloAlternativo + ,nuovaPaginaCapitolo + --,querySqlCapitoloT + ,querySqlCapitoloG as querySqlCapitoloG + ,idParagrafo + ,ordineParagrafo + ,titoloParagrafo + ,sottoTitoloParagrafo + ,testoParagrafo + ,spazioNecessarioSezioneSuccessiva + --,querySqlParagrafoG + ,querySqlParagrafoT as querySqlParagrafo + ,indicizzatoParagrafo + ,ordineSezione + ,idSezione + ,codiceSezione + -- ,querySqlSezioneG + ,querySqlSezioneT as querySqlSezione + ,indicizzatoSezione + ,filtroSezione + ,titoloSezione + ,testoSezione + ,testoSezioneAlternativo + ,notaSezione + ,notaSezioneAlternativo + ,nuovaPaginaDopo + FROM c6mart.modellopdf where idmodellopdf = 12 + ORDER BY ordineCapitolo,ordineParagrafo,ordineSezione +/* +SELECT * +FROM #R6CAPITOLOPDF INNER JOIN R6CapitoloR6Paragrafo + ON #R6CAPITOLOPDF.id = R6CapitoloR6Paragrafo.idFkCapitolo + and R6CapitoloR6Paragrafo.idFkReport = @idReport + INNER JOIN + #R6PARAGRAFOPDF ON + R6CapitoloR6Paragrafo.idFkParagrafo = #R6PARAGRAFOPDF.id + INNER JOIN + R6ParagrafoR6Sezione ON + #R6PARAGRAFOPDF.id = R6ParagrafoR6Sezione.idFkParagrafo + and R6ParagrafoR6Sezione.idFkReport = @idReport + INNER JOIN + #R6SEZIONEPDF ON + R6ParagrafoR6Sezione.idFkSezione = #R6SEZIONEPDF.id +*/ +DROP TABLE #R6CAPITOLOPDF +DROP TABLE #R6PARAGRAFOPDF +DROP TABLE #R6SEZIONEPDF +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_C6_S_Generator_EN.sql b/sql/storedProduzione/C6Mart_GESTIONE_C6_S_Generator_EN.sql new file mode 100644 index 00000000..94dcb8bb --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_C6_S_Generator_EN.sql @@ -0,0 +1,132 @@ +-- [C6Mart].[GESTIONE_C6_S_Generator] 1, 4, 'T' +-- [C6Mart].[GESTIONE_C6_S_Generator] 4, 13, 'T' -- (monitoraggio,private,trim) +-- [C6Mart].[GESTIONE_C6_S_Generator] 4, 12, 'T' -- (monitoraggio,old/affluent,trim) +-- [C6Mart].[GESTIONE_C6_S_Generator] 1, 5, 'T' -- (trimestrale/Diagnosi 'G',old) +CREATE procedure [C6Mart].[GESTIONE_C6_S_Generator_EN] +@idReport as int, +@idModello as int, +@periodicita as varchar(1) = 'G' +AS +BEGIN + SET NOCOUNT ON; +-- CREO LA TABELLA #R6Capitolopdf +SELECT R6Capitolo.id, + R6Capitolo.titolo, + R6Capitolo.testo, + R6Capitolo.testoAlternativo, + R6Capitolo.nuovapagina, + R6Capitolo.queryOracle, + R6Capitolo.querySql, + R6Capitolo.querySqlPeriodico +into #R6CAPITOLOPDF +FROM +ReportSezionePers AS a INNER JOIN +R6_SezioneR6Capitolo AS b ON a.IdSezione = b.IdSezione INNER JOIN +R6Capitolo ON b.IdCapitoloPDF = R6Capitolo.id +where a.idreport = @idModello +-- CREO LA TABELLA #R6ParagrafoPDF +SELECT R6Paragrafo.id, + R6Paragrafo.titolo, + R6Paragrafo.testo, + R6Paragrafo.queryOracle, + R6Paragrafo.querySql, + R6Paragrafo.querySqlPeriodico, + R6Paragrafo.SottoTitoloQuery, + R6Paragrafo.SpazioNecessarioSezioneSuccessiva +into #R6PARAGRAFOPDF +FROM ReportSezionePers AS a INNER JOIN + R6_SezioneR6Paragrafo AS b ON a.IdSezione = b.IdSezione INNER JOIN + R6Paragrafo ON b.IdParagrafoPDF = R6Paragrafo.id + where a.idreport = @idModello +-- CREO LA TABELLA #R6SEZIONEPDF +SELECT + R6Sezione.id, + R6Sezione.codice, + R6Sezione.queryOracle, + R6Sezione.querySql, + R6Sezione.querySqlPeriodico, + R6Sezione.ordineQueryOracle, + R6Sezione.ordineQuerySql + --R6Sezione.nuovaPaginaDopo +into #R6SEZIONEPDF +FROM ReportSezionePers AS a INNER JOIN + R6_SezioneR6Sezione AS b ON a.IdSezione = b.idFkSezione INNER JOIN + R6Sezione ON b.idFkC6Sezione = R6Sezione.id +WHERE (a.IdReport = @idModello) +SELECT DISTINCT [#R6CAPITOLOPDF].id as idCapitolo + ,[R6ReportR6Capitolo].[ordineCapitolo] as ordineCapitolo + ,[#R6CAPITOLOPDF].[titolo] as titoloCapitolo + ,[#R6CAPITOLOPDF].[testo] as testoCapitolo + ,[#R6CAPITOLOPDF].[testoAlternativo] as testoCapitoloAlternativo + ,[#R6CAPITOLOPDF].[nuovapagina] as nuovaPaginaCapitolo +-- ,[#R6CAPITOLOPDF].[queryOracle] as queryOracleCapitolo +,Case when @periodicita = 'G' then isnull([#R6CAPITOLOPDF].[querySql],'') else + Case when @periodicita = 'T' then isnull([#R6CAPITOLOPDF].[querySqlPeriodico],'') + END END as querySqlCapitolo + ,[#R6PARAGRAFOPDF].[id] as idParagrafo + ,[R6CapitoloR6Paragrafo].[ordineParagrafo] as ordineParagrafo + ,[#R6PARAGRAFOPDF].[titolo] as titoloParagrafo + ,[#R6PARAGRAFOPDF].[sottoTitoloQuery] as sottoTitoloParagrafo + ,[#R6PARAGRAFOPDF].[testo] as testoParagrafo + ,[#R6PARAGRAFOPDF].spazioNecessarioSezioneSuccessiva as spazioNecessarioSezioneSuccessiva +-- ,isnull([#R6PARAGRAFOPDF].[queryOracle],'') as queryOracleParagrafo +,Case when @periodicita = 'G' then isnull([#R6PARAGRAFOPDF].[querySql],'') else + Case when @periodicita = 'T' then isnull([#R6PARAGRAFOPDF].[querySqlPeriodico],'') + END END as querySqlParagrafo + ,[R6CapitoloR6Paragrafo].[indicizzato] as indicizzatoParagrafo + ,[R6ParagrafoR6Sezione].[ordineSezione] as ordineSezione + ,[#R6SEZIONEPDF].[id] as idSezione + ,[#R6SEZIONEPDF].[codice] as codiceSezione +-- ,isnull([#R6SEZIONEPDF].[queryOracle],'') as queryOracleSezione +,Case when @periodicita = 'G' then isnull([#R6SEZIONEPDF].[querySql],'') else + Case when @periodicita = 'T' then isnull([#R6SEZIONEPDF].[querySqlPeriodico],'') + END END as querySqlSezione + ,[R6ParagrafoR6Sezione].indicizzato as indicizzatoSezione + ,[R6ParagrafoR6Sezione].[filtroDataView] as filtroSezione + ,[R6ParagrafoR6Sezione].[titolo] as titoloSezione + ,isnull([R6ParagrafoR6Sezione].[testo],'') as testoSezione + ,isnull([R6ParagrafoR6Sezione].[testo1] ,'') as testoSezioneAlternativo + ,isnull([R6ParagrafoR6Sezione].[nota],'') as notaSezione + ,isnull([R6ParagrafoR6Sezione].[nota1],'') as notaSezioneAlternativo, + [R6ParagrafoR6Sezione].[nuovaPaginaDopo] as nuovaPaginaDopo + --,[#R6SEZIONEPDF].nuovaPaginaDopo as nuovaPaginaDopo +INTO #TABV +FROM #R6SEZIONEPDF +INNER JOIN R6ParagrafoR6Sezione ON #R6SEZIONEPDF.id = R6ParagrafoR6Sezione.idFkSezione +INNER JOIN #R6PARAGRAFOPDF ON R6ParagrafoR6Sezione.idFkParagrafo = #R6PARAGRAFOPDF.id +INNER JOIN R6CapitoloR6Paragrafo ON #R6PARAGRAFOPDF.id = R6CapitoloR6Paragrafo.idFkParagrafo +INNER JOIN #R6CAPITOLOPDF ON R6CapitoloR6Paragrafo.idFkCapitolo = #R6CAPITOLOPDF.id +INNER JOIN R6ReportR6Capitolo ON #R6CAPITOLOPDF.id = R6ReportR6Capitolo.idFkCapitolo +WHERE [R6ParagrafoR6Sezione].idFkReport = @idReport +ORDER BY ordineCapitolo,ordineParagrafo,ordineSezione +/* +SELECT * +FROM #R6CAPITOLOPDF INNER JOIN R6CapitoloR6Paragrafo + ON #R6CAPITOLOPDF.id = R6CapitoloR6Paragrafo.idFkCapitolo + and R6CapitoloR6Paragrafo.idFkReport = @idReport + INNER JOIN + #R6PARAGRAFOPDF ON + R6CapitoloR6Paragrafo.idFkParagrafo = #R6PARAGRAFOPDF.id + INNER JOIN + R6ParagrafoR6Sezione ON + #R6PARAGRAFOPDF.id = R6ParagrafoR6Sezione.idFkParagrafo + and R6ParagrafoR6Sezione.idFkReport = @idReport + INNER JOIN + #R6SEZIONEPDF ON + R6ParagrafoR6Sezione.idFkSezione = #R6SEZIONEPDF.id +*/ +DROP TABLE #R6CAPITOLOPDF +DROP TABLE #R6PARAGRAFOPDF +DROP TABLE #R6SEZIONEPDF + --if @periodicita = 'T' + --begin + -- update #TABV set + -- --codiceSezione='S160' + -- --,querySqlSezione='[C6MartPeriodico].PL_D_S160DettaglioProdottiBF' + -- querySqlParagrafo = null + --,titoloParagrafo= null + -- ,sottoTitoloParagrafo= null + --where codiceSezione= 'S43BIS' + --end +SELECT * FROM #TABV +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_C6_S_Generator_OLD.sql b/sql/storedProduzione/C6Mart_GESTIONE_C6_S_Generator_OLD.sql new file mode 100644 index 00000000..079c81e3 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_C6_S_Generator_OLD.sql @@ -0,0 +1,138 @@ +-- [C6Mart].[GESTIONE_C6_S_Generator] 1, 4, 'T' +-- [C6Mart].[GESTIONE_C6_S_Generator] 4, 13, 'T' (monitoraggio,private,trim) +-- [C6Mart].[GESTIONE_C6_S_Generator] 4, 12, 'T' (monitoraggio,old/affluent,trim) +CREATE procedure [C6Mart].[GESTIONE_C6_S_Generator_OLD] +@idReport as int, +@idModello as int, +@periodicita as varchar(1) = 'G' +AS +BEGIN + SET NOCOUNT ON; + if (@idModello=6) +begin +select * from C6Mart.generator_direct where codicesezione not like 'S%' and codiceSezione not in('FD147','FD133Bis') order BY ordineCapitolo,ordineParagrafo,ordineSezione +end +else +begin +-- CREO LA TABELLA #R6Capitolopdf +SELECT R6Capitolo.id, + R6Capitolo.titolo, + R6Capitolo.testo, + R6Capitolo.testoAlternativo, + R6Capitolo.nuovapagina, + R6Capitolo.queryOracle, + R6Capitolo.querySql, + R6Capitolo.querySqlPeriodico +into #R6CAPITOLOPDF +FROM +ReportSezionePers AS a INNER JOIN +R6_SezioneR6Capitolo AS b ON a.IdSezione = b.IdSezione INNER JOIN +R6Capitolo ON b.IdCapitoloPDF = R6Capitolo.id +where a.idreport = @idModello +-- CREO LA TABELLA #R6ParagrafoPDF +SELECT R6Paragrafo.id, + R6Paragrafo.titolo, + R6Paragrafo.testo, + R6Paragrafo.queryOracle, + R6Paragrafo.querySql, + R6Paragrafo.querySqlPeriodico, + R6Paragrafo.SottoTitoloQuery, + R6Paragrafo.SpazioNecessarioSezioneSuccessiva +into #R6PARAGRAFOPDF +FROM ReportSezionePers AS a INNER JOIN + R6_SezioneR6Paragrafo AS b ON a.IdSezione = b.IdSezione INNER JOIN + R6Paragrafo ON b.IdParagrafoPDF = R6Paragrafo.id + where a.idreport = @idModello +-- CREO LA TABELLA #R6SEZIONEPDF +SELECT + R6Sezione.id, + R6Sezione.codice, + R6Sezione.queryOracle, + R6Sezione.querySql, + R6Sezione.querySqlPeriodico, + R6Sezione.ordineQueryOracle, + R6Sezione.ordineQuerySql + --R6Sezione.nuovaPaginaDopo +into #R6SEZIONEPDF +FROM ReportSezionePers AS a INNER JOIN + R6_SezioneR6Sezione AS b ON a.IdSezione = b.idFkSezione INNER JOIN + R6Sezione ON b.idFkC6Sezione = R6Sezione.id +WHERE (a.IdReport = @idModello) +SELECT DISTINCT [#R6CAPITOLOPDF].id as idCapitolo + ,[R6ReportR6Capitolo].[ordineCapitolo] as ordineCapitolo + ,[#R6CAPITOLOPDF].[titolo] as titoloCapitolo + ,[#R6CAPITOLOPDF].[testo] as testoCapitolo + ,[#R6CAPITOLOPDF].[testoAlternativo] as testoCapitoloAlternativo + ,[#R6CAPITOLOPDF].[nuovapagina] as nuovaPaginaCapitolo +-- ,[#R6CAPITOLOPDF].[queryOracle] as queryOracleCapitolo +,Case when @periodicita = 'G' then isnull([#R6CAPITOLOPDF].[querySql],'') else + Case when @periodicita = 'T' then isnull([#R6CAPITOLOPDF].[querySqlPeriodico],'') + END END as querySqlCapitolo + ,[#R6PARAGRAFOPDF].[id] as idParagrafo + ,[R6CapitoloR6Paragrafo].[ordineParagrafo] as ordineParagrafo + ,[#R6PARAGRAFOPDF].[titolo] as titoloParagrafo + ,[#R6PARAGRAFOPDF].[sottoTitoloQuery] as sottoTitoloParagrafo + ,[#R6PARAGRAFOPDF].[testo] as testoParagrafo + ,[#R6PARAGRAFOPDF].spazioNecessarioSezioneSuccessiva as spazioNecessarioSezioneSuccessiva +-- ,isnull([#R6PARAGRAFOPDF].[queryOracle],'') as queryOracleParagrafo +,Case when @periodicita = 'G' then isnull([#R6PARAGRAFOPDF].[querySql],'') else + Case when @periodicita = 'T' then isnull([#R6PARAGRAFOPDF].[querySqlPeriodico],'') + END END as querySqlParagrafo + ,[R6CapitoloR6Paragrafo].[indicizzato] as indicizzatoParagrafo + ,[R6ParagrafoR6Sezione].[ordineSezione] as ordineSezione + ,[#R6SEZIONEPDF].[id] as idSezione + ,[#R6SEZIONEPDF].[codice] as codiceSezione +-- ,isnull([#R6SEZIONEPDF].[queryOracle],'') as queryOracleSezione +,Case when @periodicita = 'G' then isnull([#R6SEZIONEPDF].[querySql],'') else + Case when @periodicita = 'T' then isnull([#R6SEZIONEPDF].[querySqlPeriodico],'') + END END as querySqlSezione + ,[R6ParagrafoR6Sezione].indicizzato as indicizzatoSezione + ,[R6ParagrafoR6Sezione].[filtroDataView] as filtroSezione + ,[R6ParagrafoR6Sezione].[titolo] as titoloSezione + ,isnull([R6ParagrafoR6Sezione].[testo],'') as testoSezione + ,isnull([R6ParagrafoR6Sezione].[testo1] ,'') as testoSezioneAlternativo + ,isnull([R6ParagrafoR6Sezione].[nota],'') as notaSezione + ,isnull([R6ParagrafoR6Sezione].[nota1],'') as notaSezioneAlternativo, + [R6ParagrafoR6Sezione].[nuovaPaginaDopo] as nuovaPaginaDopo + --,[#R6SEZIONEPDF].nuovaPaginaDopo as nuovaPaginaDopo +INTO #TABV +FROM #R6SEZIONEPDF +INNER JOIN R6ParagrafoR6Sezione ON #R6SEZIONEPDF.id = R6ParagrafoR6Sezione.idFkSezione +INNER JOIN #R6PARAGRAFOPDF ON R6ParagrafoR6Sezione.idFkParagrafo = #R6PARAGRAFOPDF.id +INNER JOIN R6CapitoloR6Paragrafo ON #R6PARAGRAFOPDF.id = R6CapitoloR6Paragrafo.idFkParagrafo +INNER JOIN #R6CAPITOLOPDF ON R6CapitoloR6Paragrafo.idFkCapitolo = #R6CAPITOLOPDF.id +INNER JOIN R6ReportR6Capitolo ON #R6CAPITOLOPDF.id = R6ReportR6Capitolo.idFkCapitolo +WHERE [R6ParagrafoR6Sezione].idFkReport = @idReport +ORDER BY ordineCapitolo,ordineParagrafo,ordineSezione +/* +SELECT * +FROM #R6CAPITOLOPDF INNER JOIN R6CapitoloR6Paragrafo + ON #R6CAPITOLOPDF.id = R6CapitoloR6Paragrafo.idFkCapitolo + and R6CapitoloR6Paragrafo.idFkReport = @idReport + INNER JOIN + #R6PARAGRAFOPDF ON + R6CapitoloR6Paragrafo.idFkParagrafo = #R6PARAGRAFOPDF.id + INNER JOIN + R6ParagrafoR6Sezione ON + #R6PARAGRAFOPDF.id = R6ParagrafoR6Sezione.idFkParagrafo + and R6ParagrafoR6Sezione.idFkReport = @idReport + INNER JOIN + #R6SEZIONEPDF ON + R6ParagrafoR6Sezione.idFkSezione = #R6SEZIONEPDF.id +*/ +DROP TABLE #R6CAPITOLOPDF +DROP TABLE #R6PARAGRAFOPDF +DROP TABLE #R6SEZIONEPDF + --if @periodicita = 'T' + --begin + -- update #TABV set + -- --codiceSezione='S160' + -- --,querySqlSezione='[C6MartPeriodico].PL_D_S160DettaglioProdottiBF' + -- querySqlParagrafo = null + --,titoloParagrafo= null + -- ,sottoTitoloParagrafo= null + --where codiceSezione= 'S43BIS' + --end +SELECT * FROM #TABV ORDER BY ordineCapitolo,ordineParagrafo,ordineSezione +end +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_C6_S_Generator_bkp_20250228_Pre_ESG2024.sql b/sql/storedProduzione/C6Mart_GESTIONE_C6_S_Generator_bkp_20250228_Pre_ESG2024.sql new file mode 100644 index 00000000..af27f8a2 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_C6_S_Generator_bkp_20250228_Pre_ESG2024.sql @@ -0,0 +1,22 @@ +-- [C6Mart].[GESTIONE_C6_S_Generator] 1, 4, 'T' +-- [C6Mart].[GESTIONE_C6_S_Generator] 4, 13, 'T' (monitoraggio,private,trim) +-- [C6Mart].[GESTIONE_C6_S_Generator] 4, 12, 'T' (monitoraggio,old/affluent,trim) +CREATE procedure [C6Mart].[GESTIONE_C6_S_Generator_bkp_20250228_Pre_ESG2024] +@idReport as int, +@idModello as int, +@periodicita as varchar(1) = 'G' +AS +BEGIN + SET NOCOUNT ON; + if (@idModello=6) +begin +select * from C6Mart.generator_direct where codicesezione not like 'S%' and codiceSezione not in('FD147','FD133Bis') order BY ordineCapitolo,ordineParagrafo,ordineSezione +end +if (@idModello=5) +begin +SELECT * +from C6Mart.Generator_Diagnosi +--where codiceSezione not in('S185') + ORDER BY ordineCapitolo,ordineParagrafo,ordineSezione +end +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_C6_S_QueryDatiComuniSql.sql b/sql/storedProduzione/C6Mart_GESTIONE_C6_S_QueryDatiComuniSql.sql new file mode 100644 index 00000000..595ef901 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_C6_S_QueryDatiComuniSql.sql @@ -0,0 +1,13 @@ +--[C6_S_QueryDatiComuniSql] 4 +CREATE procedure [C6Mart].[GESTIONE_C6_S_QueryDatiComuniSql] +@idReport as int +AS +BEGIN + SET NOCOUNT ON; +SELECT + isnull(GESTIONE_C6SezioneDatiComuni.querySql,'') as querySqlSezione + ,isnull(GESTIONE_C6SezioneDatiComuni.ordineQuerySql,-1) as ordineQuerySqlSezione +from GESTIONE_C6SezioneDatiComuni +where idReport = @idReport or isnull(idReport,0) = 0 +order by ordineQuerySqlSezione desc +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_C6_S_Vincoli.sql b/sql/storedProduzione/C6Mart_GESTIONE_C6_S_Vincoli.sql new file mode 100644 index 00000000..dbf736bf --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_C6_S_Vincoli.sql @@ -0,0 +1,25 @@ +--[C6Mart].[GESTIONE_C6_S_Vincoli] 3 +CREATE procedure [C6Mart].[GESTIONE_C6_S_Vincoli] +@idModello as int +AS +BEGIN + SET NOCOUNT ON; +SELECT DISTINCT a.IDVincoloSezioneFisica, + R6_Vincolo_SezioneFisica.SezioneFisica, + a.cardinalita AS Cardinalita, + c.CodiceVincoloApplicativo, + c.VincoloApplicativo +FROM +( + SELECT R6Sezione_Vincolo.IDVincolo, + COUNT(*) AS cardinalita, + R6Sezione_Vincolo.IDVincoloSezioneFisica + FROM ReportSezionePers + INNER JOIN R6Sezione_Vincolo ON ReportSezionePers.IdSezione = R6Sezione_Vincolo.IDSezione + WHERE ReportSezionePers.IdReport = @idModello + GROUP BY R6Sezione_Vincolo.IDVincolo, R6Sezione_Vincolo.IDVincoloSezioneFisica +) AS a +INNER JOIN R6CardinalitaVincolo AS b ON a.IDVincolo = b.IDVincolo AND a.cardinalita = b.Cardinalita +INNER JOIN R6Cardinalita_VincoloApplicativo AS c ON b.id = c.IDCardinalita +INNER JOIN R6_Vincolo_SezioneFisica ON a.IDVincoloSezioneFisica = R6_Vincolo_SezioneFisica.IDVincoloSezioneFisica +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_CRUSCOTTO_ARCHIVIAZIONE.sql b/sql/storedProduzione/C6Mart_GESTIONE_CRUSCOTTO_ARCHIVIAZIONE.sql new file mode 100644 index 00000000..e4fa0f65 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_CRUSCOTTO_ARCHIVIAZIONE.sql @@ -0,0 +1,26 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[GESTIONE_CRUSCOTTO_ARCHIVIAZIONE] 'updateFlag','flag_archiviazione',2 +CREATE procedure [C6Mart].[GESTIONE_CRUSCOTTO_ARCHIVIAZIONE] +@tipoOperazione nvarchar(30), +@tipoFlag nvarchar(30), +@valoreFlag int +as +IF @tipoOperazione = 'leggi' + begin + select * from dbo.Cruscotto_Archiviazione + end +ELSE IF @tipoOperazione = 'truncate' + begin + update dbo.Cruscotto_Archiviazione + set flag_archiviazione = 1,flag_nastro=0,flag_canc=0,num_report_da_elab = 0,num_report_su_nastro = 0,num_report_canc_da_db = 0; + select * from dbo.Cruscotto_Archiviazione; + end +ELSE IF @tipoOperazione = 'updateFlag' + begin + EXECUTE ('update dbo.Cruscotto_Archiviazione set ' + @tipoFlag + '=' + @valoreFlag); + select * from dbo.Cruscotto_Archiviazione; + end \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_INSERT_PDF_FTP.sql b/sql/storedProduzione/C6Mart_GESTIONE_INSERT_PDF_FTP.sql new file mode 100644 index 00000000..ab5ab87b --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_INSERT_PDF_FTP.sql @@ -0,0 +1,61 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_INSERT_PDF_FTP] + @Rete char(1), + @CodiceFiscale varchar(16), + @IDReport int, + @NomeFile varchar(50), + @TipoReport varchar(1), + @NumeroPagine int +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --SET NOCOUNT ON; +--begin tran + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @COD_AGENTE VARCHAR(6) + SET @ID_ELAB = C6Mart.GETIDELAB() + SELECT @COD_AGENTE = COD_AGENTE + FROM [C6Mart].[VCONTRATTI] WHERE COD_FISCALE = @CodiceFiscale AND RETE=@RETE + insert into C6Mart.GESTIONE_PDF_FTP + ( + Rete, + CodiceFiscale, + IDReport, + DataGenerazione, + DataInvio, + FlagInvio, + NomeFile, + TipoReport, + numeroPagine, + id_Fk_zip, + ID_ELAB + ) + values + ( + @Rete, + @CodiceFiscale, + @IDReport, + Getdate(), + CASE WHEN @COD_AGENTE = '015312' THEN Getdate() ELSE null END, + CASE WHEN @COD_AGENTE = '015312' THEN 'S' ELSE 'N' END, + @NomeFile, + @TipoReport, + @NumeroPagine, + CASE WHEN @COD_AGENTE = '015312' THEN 0 ELSE -1 END, + @ID_ELAB + ) + UPDATE [C6Mart].[CONTRATTOSEI_METADATI] + SET InvioBenvenuto = 'S' + FROM [C6Mart].[VCONTRATTI] VC + INNER JOIN [C6Mart].[CONTRATTOSEI_metadati] CM + ON VC.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + WHERE VC.Rete = @Rete + AND VC.Cod_Fiscale = @CodiceFiscale + return @@rowcount +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql b/sql/storedProduzione/C6Mart_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql new file mode 100644 index 00000000..d1bfa34d --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql @@ -0,0 +1,42 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22/12/2008 +-- Description: Per gestione richieste di reinvio PDF da parte di utenti HD o US +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_INSERT_PDF_FTP_RISTAMPA] + @Id INT, + @IdNuovo INT +AS +BEGIN + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6Mart.GETIDELAB() + INSERT INTO C6Mart.GESTIONE_PDF_FTP + ( + Rete, + CodiceFiscale, + IDReport, + DataGenerazione, + DataInvio, + FlagInvio, + NomeFile, + TipoReport, + numeroPagine, + id_Fk_zip, + ID_ELAB + ) + SELECT + Rete, + CodiceFiscale, + @IdNuovo, + Getdate(), + null, + 'N', + NomeFile, + 'LR', + numeroPagine + 1, + -1, + @ID_ELAB + FROM C6Mart.GESTIONE_PDF_FTP + WHERE IdReport = @Id + RETURN @@ROWCOUNT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_INSERT_PDF_FTP_TEST.sql b/sql/storedProduzione/C6Mart_GESTIONE_INSERT_PDF_FTP_TEST.sql new file mode 100644 index 00000000..238ed452 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_INSERT_PDF_FTP_TEST.sql @@ -0,0 +1,62 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_INSERT_PDF_FTP_TEST] + @Rete char(1), + @CodiceFiscale varchar(16), + @IDReport int, + @NomeFile varchar(50), + @TipoReport varchar(1), + @NumeroPagine int +AS +BEGIN + RETURN 1 + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --SET NOCOUNT ON; +--begin tran + -- Insert statements for procedure here + --DECLARE @ID_ELAB INT + --DECLARE @COD_AGENTE VARCHAR(6) + -- SET @ID_ELAB = C6Mart.GETIDELAB() + -- SELECT @COD_AGENTE = COD_AGENTE + -- FROM [C6Mart].[VCONTRATTI] WHERE COD_FISCALE = @CodiceFiscale AND RETE=@RETE + --insert into C6Mart.GESTIONE_PDF_FTP + --( + -- Rete, + -- CodiceFiscale, + -- IDReport, + -- DataGenerazione, + -- DataInvio, + -- FlagInvio, + -- NomeFile, + -- TipoReport, + -- numeroPagine, + -- id_Fk_zip, + -- ID_ELAB + --) + --values + --( + -- @Rete, + -- @CodiceFiscale, + -- @IDReport, + -- Getdate(), + -- CASE WHEN @COD_AGENTE = '015312' THEN Getdate() ELSE null END, + -- CASE WHEN @COD_AGENTE = '015312' THEN 'S' ELSE 'N' END, + -- @NomeFile, + -- @TipoReport, + -- @NumeroPagine, + -- CASE WHEN @COD_AGENTE = '015312' THEN 0 ELSE -1 END, + -- @ID_ELAB + -- ) + --UPDATE [C6Mart].[CONTRATTOSEI_METADATI] + --SET InvioBenvenuto = 'S' + -- FROM [C6Mart].[VCONTRATTI] VC + -- INNER JOIN [C6Mart].[CONTRATTOSEI_metadati] CM + -- ON VC.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + --WHERE VC.Rete = @Rete + --AND VC.Cod_Fiscale = @CodiceFiscale + --return @@rowcount +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_INSERT_ZIP.sql b/sql/storedProduzione/C6Mart_GESTIONE_INSERT_ZIP.sql new file mode 100644 index 00000000..5c60a5b2 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_INSERT_ZIP.sql @@ -0,0 +1,54 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- Inserimento nuovo [C6Mart].[GESTIONE_INSERT_ZIP] -1,'NomeFileOk','NomeFileOk' +CREATE procedure [C6Mart].[GESTIONE_INSERT_ZIP] +@NomeFile as varchar(255), +@NomeCartella as varchar(255) +AS +BEGIN +BEGIN TRANSACTION +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6Mart.GETIDELAB() +declare @IdZip as int +set @IdZip = -1 +--recupero idzip se Esiste insieme al NomeCartella +SELECT @IdZip=id,@NomeCartella=NomeCartella +FROM + C6Mart.GESTIONE_ZIP_FTP +WHERE + FlagInvio = 'N' +IF(@IDZIP = -1)--NON ESISTE + BEGIN + INSERT INTO [C6MART].[GESTIONE_ZIP_FTP] + ([NOMEFILE] + ,[DATAINVIO] + ,[FLAGINVIO] + ,[NOMECARTELLA] + ,[ID_ELAB]) + VALUES + (@NOMEFILE + ,NULL + ,'N' + ,@NOMECARTELLA + ,@ID_ELAB) + SET @IDZIP = SCOPE_IDENTITY() + END +ELSE --ESISTE + BEGIN + UPDATE [C6MART].[GESTIONE_ZIP_FTP] + SET [NOMEFILE] = @NOMEFILE + WHERE ID = @IDZIP + END +IF @@error <> 0 + begin + rollback + end +else + begin + commit + select @IdZip IdZip,@NomeFile NomeFile,@NomeCartella NomeCartella + end +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.old.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.old.sql new file mode 100644 index 00000000..0a3453b0 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.old.sql @@ -0,0 +1,190 @@ +--select * from #temp_email +CREATE PROCEDURE [C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE] +AS +BEGIN +execute [C6Mart].[RP_DM_CheckEmail] +--recupero la percentuale limite di risorse non associate +DECLARE @RNA varchar(3) +select @RNA= dbo.getParametro('PERCMAXRISORSENA') + '%' +DECLARE @Ambiente varchar(20) +select @Ambiente= dbo.getParametro('Ambiente') +DECLARE @DestinatarioEmail varchar(255) +select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail') +TRUNCATE TABLE c6mart.test_Quality_Email +INSERT INTO c6mart.test_Quality_Email +SELECT +data_perf, +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) as DATA_PERF_REV + ,CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + else + dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + end as Testo +--into c6mart.test_Quality_Email +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = CONTRATTOSEI.Cod_Agente + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' +AND ANAG_CLIENTI.COGNOME IS NOT NULL +and +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) < getdate() +--and GESTIONE_EMAIL.Tipo in ('S_SOLL_NOMIG', '3_SOLL_NOMIG') + and GESTIONE_EMAIL.Tipo in ('S_SOLL_NOMIG', '3_SOLL_NOMIG','S_SOLL_NOASS','3_SOLL_NOASS','S_SOLL_NOPRO','3_SOLL_NOPRO') +---------------------------------------------------------------------------- +SELECT +--data_generazione, + CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + else + dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + end as Testo +--into temp_email_gior +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = CONTRATTOSEI.Cod_Agente + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' + -- tringali colaianni cortecci AND ANAG_CLIENTI.NOME IS NOT NULL + AND ANAG_CLIENTI.COGNOME IS NOT NULL + -- AND CONTRATTOSEI.Cod_Agente = '015312'--Cod_Agente di prova +--and dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') is not null +--togliere + --AND CONTRATTOSEI.Cod_fiscale <> 'SLRRFL33S09E044D' +--AND CONTRATTOSEI.Cod_fiscale <> 'PDRPLA61M07H264H' +--AND CONTRATTOSEI.Cod_Agente not in ('009202','014908','008172') +-- AND CONTRATTOSEI.Cod_Agente not in ('003064', '015091','015126','006167','015115','015117','015125','006154','005772','001860','011188','014553','015182','011663') + AND GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality) + AND GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality_Email) +AND CONTRATTOSEI.Cod_fiscale <> '01484040488' --FiderevEuropa S.p.A. (PB 015693) +-- Esclusione Temporanea per errata valorizzazione PB +-- 08052014 +and GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN ('NTNRNZ38C69C302AS','CRVGBR51S08C638JF','BLLMNL77H69L736QF') +-- AND 1=2 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql new file mode 100644 index 00000000..894cf6a9 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql @@ -0,0 +1,260 @@ +--select * from #temp_email +CREATE procedure [C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE] +AS +BEGIN +execute [C6Mart].[RP_DM_CheckEmail] +--recupero la percentuale limite di risorse non associate +DECLARE @RNA varchar(3) +select @RNA= dbo.getParametro('PERCMAXRISORSENA') + '%' +DECLARE @Ambiente varchar(20) +select @Ambiente= dbo.getParametro('Ambiente') +DECLARE @DestinatarioEmail varchar(255) +select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail') + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'GESTIONE_SELECT_EMAIL_DA_INVIARE', + GETDATE(), + 'Elaborazione giornaliera' + ) +TRUNCATE TABLE c6mart.test_Quality_Email +INSERT INTO c6mart.test_Quality_Email +SELECT +data_perf, +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) as DATA_PERF_REV + ,CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + then + -------------------------en 2061025 - parameter chenged for functions Replace_Subject_Email Replace_Testo_Email*/ + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + ----else + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + ----end as E_Subject + ---- , case + ----when + ---- len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + ----then + ---- --persone giuridiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + ----else + ---- --persone fisiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) +--------------------------------------------en 2061025 + end as Testo +--into c6mart.test_Quality_Email +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = CONTRATTOSEI.Cod_Agente + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' +AND ANAG_CLIENTI.COGNOME IS NOT NULL +and +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) < getdate() +--and GESTIONE_EMAIL.Tipo in ('S_SOLL_NOMIG', '3_SOLL_NOMIG') + and GESTIONE_EMAIL.Tipo in ('S_SOLL_NOMIG', '3_SOLL_NOMIG','S_SOLL_NOASS','3_SOLL_NOASS','S_SOLL_NOPRO','3_SOLL_NOPRO') +---------------------------------------------------------------------------- +SELECT +--data_generazione, + CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + then + -------------------------en 2061025 - parameter chenged for functions Replace_Subject_Email Replace_Testo_Email*/ + -- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + --else + -- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + --end as E_Subject + -- , case + --when + -- len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + --then + -- --persone giuridiche + -- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + --else + -- --persone fisiche + -- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) +--------------------------------------------en 2061025 + end as Testo +--into temp_email_gior +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = CONTRATTOSEI.Cod_Agente + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' + -- tringali colaianni cortecci AND ANAG_CLIENTI.NOME IS NOT NULL + AND ANAG_CLIENTI.COGNOME IS NOT NULL + -- AND CONTRATTOSEI.Cod_Agente = '015312'--Cod_Agente di prova +--2/8/2019 - ripristinata condizione per errore gestore_email del giornaliero +and dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') is not null +---- +--togliere + --AND CONTRATTOSEI.Cod_fiscale <> 'SLRRFL33S09E044D' +--AND CONTRATTOSEI.Cod_fiscale <> 'PDRPLA61M07H264H' +--AND CONTRATTOSEI.Cod_Agente not in ('009202','014908','008172') +-- AND CONTRATTOSEI.Cod_Agente not in ('003064', '015091','015126','006167','015115','015117','015125','006154','005772','001860','011188','014553','015182','011663') + AND GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality) + AND GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality_Email) + ----------------------------------------------------- + --- en 20161025 the only email types specified in CR + AND + GESTIONE_EMAIL.TIPO in + ( + '3_SOLL_NOPRO', + '2_SOLL_NOPRO', + '1_SOLL_NOPRO', + 'PERF', + 'PERF_DA', + 'REVOCA_NOPRO', + 'S_SOLL_NOPRO' + ) + --- en 20161025 + ----------------------------------------------------- +AND CONTRATTOSEI.Cod_fiscale <> '01484040488' --FiderevEuropa S.p.A. (PB 015693) +-- Esclusione Temporanea per errata valorizzazione PB +-- 08052014 +and GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN ('NTNRNZ38C69C302AS','CRVGBR51S08C638JF','BLLMNL77H69L736QF') +-- AND 1=2 + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'GESTIONE_SELECT_EMAIL_DA_INVIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'GESTIONE_SELECT_EMAIL_DA_INVIARE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.test_e.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.test_e.sql new file mode 100644 index 00000000..a6bbd97d --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.test_e.sql @@ -0,0 +1,235 @@ +--select * from #temp_email +CREATE procedure [C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE_EN_20170925] +AS +BEGIN +execute [C6Mart].[RP_DM_CheckEmail] +--recupero la percentuale limite di risorse non associate +DECLARE @RNA varchar(3) +select @RNA= dbo.getParametro('PERCMAXRISORSENA') + '%' +DECLARE @Ambiente varchar(20) +select @Ambiente= dbo.getParametro('Ambiente') +DECLARE @DestinatarioEmail varchar(255) +select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail') +TRUNCATE TABLE c6mart.test_Quality_Email +INSERT INTO c6mart.test_Quality_Email +SELECT +data_perf, +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) as DATA_PERF_REV + ,CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + then + -------------------------en 2061025 - parameter chenged for functions Replace_Subject_Email Replace_Testo_Email*/ + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + ----else + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + ----end as E_Subject + ---- , case + ----when + ---- len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + ----then + ---- --persone giuridiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + ----else + ---- --persone fisiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) +--------------------------------------------en 2061025 + end as Testo +--into c6mart.test_Quality_Email +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = CONTRATTOSEI.Cod_Agente + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' +AND ANAG_CLIENTI.COGNOME IS NOT NULL +and +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) < getdate() +--and GESTIONE_EMAIL.Tipo in ('S_SOLL_NOMIG', '3_SOLL_NOMIG') + --and GESTIONE_EMAIL.Tipo in ('S_SOLL_NOMIG', '3_SOLL_NOMIG','S_SOLL_NOASS','3_SOLL_NOASS','S_SOLL_NOPRO','3_SOLL_NOPRO') + and GESTIONE_EMAIL.Tipo in ('PERF','REVOCA_NOPRO','1_SOLL_NOPRO','2_SOLL_NOPRO', 'S_SOLL_NOMIG', '3_SOLL_NOMIG','S_SOLL_NOASS','3_SOLL_NOASS', 'S_SOLL_NOPRO','3_SOLL_NOPRO') +---------------------------------------------------------------------------- +SELECT +--data_generazione, + CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + then + -------------------------en 2061025 - parameter chenged for functions Replace_Subject_Email Replace_Testo_Email*/ + -- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + --else + -- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + --end as E_Subject + -- , case + --when + -- len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + --then + -- --persone giuridiche + -- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + --else + -- --persone fisiche + -- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) +--------------------------------------------en 2061025 + end as Testo +--into temp_email_gior +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = CONTRATTOSEI.Cod_Agente + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' + -- tringali colaianni cortecci AND ANAG_CLIENTI.NOME IS NOT NULL + AND ANAG_CLIENTI.COGNOME IS NOT NULL + -- AND CONTRATTOSEI.Cod_Agente = '015312'--Cod_Agente di prova +--and dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') is not null +--togliere + --AND CONTRATTOSEI.Cod_fiscale <> 'SLRRFL33S09E044D' +--AND CONTRATTOSEI.Cod_fiscale <> 'PDRPLA61M07H264H' +--AND CONTRATTOSEI.Cod_Agente not in ('009202','014908','008172') +-- AND CONTRATTOSEI.Cod_Agente not in ('003064', '015091','015126','006167','015115','015117','015125','006154','005772','001860','011188','014553','015182','011663') + AND GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality) + AND GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality_Email) + ----------------------------------------------------- + --- en 20161025 the only email types specified in CR + AND + GESTIONE_EMAIL.TIPO in + ( + '3_SOLL_NOPRO', + '2_SOLL_NOPRO', + '1_SOLL_NOPRO', + 'PERF', + 'REVOCA_NOPRO', + 'S_SOLL_NOPRO' + ) + --- en 20161025 + ----------------------------------------------------- +AND CONTRATTOSEI.Cod_fiscale <> '01484040488' --FiderevEuropa S.p.A. (PB 015693) +-- Esclusione Temporanea per errata valorizzazione PB +-- 08052014 +and GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN ('NTNRNZ38C69C302AS','CRVGBR51S08C638JF','BLLMNL77H69L736QF') +-- AND 1=2 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_20190802.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_20190802.sql new file mode 100644 index 00000000..fe6b7030 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_20190802.sql @@ -0,0 +1,234 @@ +--select * from #temp_email +CREATE procedure [C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE_20190802] +AS +BEGIN +execute [C6Mart].[RP_DM_CheckEmail] +--recupero la percentuale limite di risorse non associate +DECLARE @RNA varchar(3) +select @RNA= dbo.getParametro('PERCMAXRISORSENA') + '%' +DECLARE @Ambiente varchar(20) +select @Ambiente= dbo.getParametro('Ambiente') +DECLARE @DestinatarioEmail varchar(255) +select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail') +TRUNCATE TABLE c6mart.test_Quality_Email +INSERT INTO c6mart.test_Quality_Email +SELECT +data_perf, +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) as DATA_PERF_REV + ,CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + then + -------------------------en 2061025 - parameter chenged for functions Replace_Subject_Email Replace_Testo_Email*/ + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + ----else + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + ----end as E_Subject + ---- , case + ----when + ---- len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + ----then + ---- --persone giuridiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + ----else + ---- --persone fisiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) +--------------------------------------------en 2061025 + end as Testo +--into c6mart.test_Quality_Email +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = CONTRATTOSEI.Cod_Agente + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' +AND ANAG_CLIENTI.COGNOME IS NOT NULL +and +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) < getdate() +--and GESTIONE_EMAIL.Tipo in ('S_SOLL_NOMIG', '3_SOLL_NOMIG') + and GESTIONE_EMAIL.Tipo in ('S_SOLL_NOMIG', '3_SOLL_NOMIG','S_SOLL_NOASS','3_SOLL_NOASS','S_SOLL_NOPRO','3_SOLL_NOPRO') +---------------------------------------------------------------------------- +SELECT +--data_generazione, + CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + then + -------------------------en 2061025 - parameter chenged for functions Replace_Subject_Email Replace_Testo_Email*/ + -- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + --else + -- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + --end as E_Subject + -- , case + --when + -- len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + --then + -- --persone giuridiche + -- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + --else + -- --persone fisiche + -- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) +--------------------------------------------en 2061025 + end as Testo +--into temp_email_gior +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = CONTRATTOSEI.Cod_Agente + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' + -- tringali colaianni cortecci AND ANAG_CLIENTI.NOME IS NOT NULL + AND ANAG_CLIENTI.COGNOME IS NOT NULL + -- AND CONTRATTOSEI.Cod_Agente = '015312'--Cod_Agente di prova +--and dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') is not null +--togliere + --AND CONTRATTOSEI.Cod_fiscale <> 'SLRRFL33S09E044D' +--AND CONTRATTOSEI.Cod_fiscale <> 'PDRPLA61M07H264H' +--AND CONTRATTOSEI.Cod_Agente not in ('009202','014908','008172') +-- AND CONTRATTOSEI.Cod_Agente not in ('003064', '015091','015126','006167','015115','015117','015125','006154','005772','001860','011188','014553','015182','011663') + AND GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality) + AND GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality_Email) + ----------------------------------------------------- + --- en 20161025 the only email types specified in CR + AND + GESTIONE_EMAIL.TIPO in + ( + '3_SOLL_NOPRO', + '2_SOLL_NOPRO', + '1_SOLL_NOPRO', + 'PERF', + 'REVOCA_NOPRO', + 'S_SOLL_NOPRO' + ) + --- en 20161025 + ----------------------------------------------------- +AND CONTRATTOSEI.Cod_fiscale <> '01484040488' --FiderevEuropa S.p.A. (PB 015693) +-- Esclusione Temporanea per errata valorizzazione PB +-- 08052014 +and GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN ('NTNRNZ38C69C302AS','CRVGBR51S08C638JF','BLLMNL77H69L736QF') +-- AND 1=2 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_CU.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_CU.sql new file mode 100644 index 00000000..80bfa922 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_CU.sql @@ -0,0 +1,205 @@ +CREATE procedure [C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE_CU] +AS +BEGIN +execute [C6Mart].[RP_DM_CheckEmail] +--recupero la percentuale limite di risorse non associate +DECLARE @RNA varchar(3) +select @RNA= dbo.getParametro('PERCMAXRISORSENA') + '%' +DECLARE @Ambiente varchar(20) +select @Ambiente= dbo.getParametro('Ambiente') +DECLARE @DestinatarioEmail varchar(255) +select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail') +TRUNCATE TABLE c6mart.test_Quality_Email +INSERT INTO c6mart.test_Quality_Email +SELECT +data_perf, +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) as DATA_PERF_REV + ,CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , + case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end + as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + end as Testo +--into c6mart.test_Quality_Email +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = CONTRATTOSEI.Cod_Agente + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' +AND ANAG_CLIENTI.COGNOME IS NOT NULL +and +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) < getdate() +--and GESTIONE_EMAIL.Tipo in ('S_SOLL_NOMIG', '3_SOLL_NOMIG') + and GESTIONE_EMAIL.Tipo in ('S_SOLL_NOMIG', '3_SOLL_NOMIG','S_SOLL_NOASS','3_SOLL_NOASS','S_SOLL_NOPRO','3_SOLL_NOPRO') +---------------------------------------------------------------------------- +SELECT +--data_generazione, + CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , + case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end + as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + end as Testo +--into temp_email_gior +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = CONTRATTOSEI.Cod_Agente + WHERE + --isnull(GESTIONE_EMAIL.Inviata,'N')='N' + -- tringali colaianni cortecci AND ANAG_CLIENTI.NOME IS NOT NULL + -- AND + ANAG_CLIENTI.COGNOME IS NOT NULL + -- AND CONTRATTOSEI.Cod_Agente = '015312'--Cod_Agente di prova +--and dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') is not null +--togliere + --AND CONTRATTOSEI.Cod_fiscale <> 'SLRRFL33S09E044D' +--AND CONTRATTOSEI.Cod_fiscale <> 'PDRPLA61M07H264H' +--AND CONTRATTOSEI.Cod_Agente not in ('009202','014908','008172') +-- AND CONTRATTOSEI.Cod_Agente not in ('003064', '015091','015126','006167','015115','015117','015125','006154','005772','001860','011188','014553','015182','011663') + --AND GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality) + -- AND GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE IN (select cod_fiscale + RETE from c6mart.test_Quality_Email) +AND +GESTIONE_EMAIL.TIPO in +( +'3_SOLL_NOPRO', +'2_SOLL_NOPRO', +'1_SOLL_NOPRO', +--'PERF', +'REVOCA_NOPRO', +'S_SOLL_NOPRO' +) +--AND CONTRATTOSEI.Cod_fiscale <> '01484040488' --FiderevEuropa S.p.A. (PB 015693) +-- Esclusione Temporanea per errata valorizzazione PB +-- 08052014 +and GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN ('NTNRNZ38C69C302AS','CRVGBR51S08C638JF','BLLMNL77H69L736QF') +-- AND 1=2 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_new.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_new.sql new file mode 100644 index 00000000..636c503b --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_new.sql @@ -0,0 +1,220 @@ +--select * from #temp_email +CREATE procedure [C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE_new] +AS +BEGIN +execute [C6Mart].[RP_DM_CheckEmail] +--recupero la percentuale limite di risorse non associate +DECLARE @RNA varchar(3) +select @RNA= dbo.getParametro('PERCMAXRISORSENA') + '%' +DECLARE @Ambiente varchar(20) +select @Ambiente= dbo.getParametro('Ambiente') +DECLARE @DestinatarioEmail varchar(255) +select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail') +TRUNCATE TABLE c6mart.test_Quality_Email +INSERT INTO c6mart.test_Quality_Email +SELECT +data_perf, +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) as DATA_PERF_REV + ,CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + then + -------------------------en 2061025 - parameter chenged for functions Replace_Subject_Email Replace_Testo_Email*/ + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + ----else + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + ----end as E_Subject + ---- , case + ----when + ---- len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + ----then + ---- --persone giuridiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + ----else + ---- --persone fisiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) +--------------------------------------------en 2061025 + end as Testo +--into c6mart.test_Quality_Email +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = CONTRATTOSEI.Cod_Agente + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' +AND ANAG_CLIENTI.COGNOME IS NOT NULL +and +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) < getdate() +--and GESTIONE_EMAIL.Tipo in ('S_SOLL_NOMIG', '3_SOLL_NOMIG') + and GESTIONE_EMAIL.Tipo in ('S_SOLL_NOMIG', '3_SOLL_NOMIG','S_SOLL_NOASS','3_SOLL_NOASS','S_SOLL_NOPRO','3_SOLL_NOPRO') +---------------------------------------------------------------------------- +SELECT +--data_generazione, + CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + then + -------------------------en 2061025 - parameter chenged for functions Replace_Subject_Email Replace_Testo_Email*/ + -- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + --else + -- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + --end as E_Subject + -- , case + --when + -- len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + --then + -- --persone giuridiche + -- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + --else + -- --persone fisiche + -- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) +--------------------------------------------en 2061025 + end as Testo +--into temp_email_gior +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = CONTRATTOSEI.Cod_Agente + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' + -- tringali colaianni cortecci AND ANAG_CLIENTI.NOME IS NOT NULL + AND ANAG_CLIENTI.COGNOME IS NOT NULL + -- AND CONTRATTOSEI.Cod_Agente = '015312'--Cod_Agente di prova +--and dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') is not null +--togliere + --AND CONTRATTOSEI.Cod_fiscale <> 'SLRRFL33S09E044D' +--AND CONTRATTOSEI.Cod_fiscale <> 'PDRPLA61M07H264H' +--AND CONTRATTOSEI.Cod_Agente not in ('009202','014908','008172') +-- AND CONTRATTOSEI.Cod_Agente not in ('003064', '015091','015126','006167','015115','015117','015125','006154','005772','001860','011188','014553','015182','011663') + AND GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality) + AND GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality_Email) +AND CONTRATTOSEI.Cod_fiscale <> '01484040488' --FiderevEuropa S.p.A. (PB 015693) +-- Esclusione Temporanea per errata valorizzazione PB +-- 08052014 +and GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN ('NTNRNZ38C69C302AS','CRVGBR51S08C638JF','BLLMNL77H69L736QF') +-- AND 1=2 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_FTP_DA_INVIARE.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_FTP_DA_INVIARE.sql new file mode 100644 index 00000000..22344532 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_FTP_DA_INVIARE.sql @@ -0,0 +1,28 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_SELECT_FTP_DA_INVIARE] +AS +BEGIN +insert into GLOBAL_ERROR (ErrorDescription) values ('ingresso') + SELECT + Rete, + CodiceFiscale, + IdReport + ,(NomeFile + '_' + (Case TipoReport when 'D' then 'DW' else TipoReport end)) as NomeFile + ,TipoReport +-- ,Case TipoReport when 'D' then 'DW' else TipoReport end +-- , +-- DataGenerazione, +-- DataInvio, +-- FlagInvio, +-- NomeFile + FROM + C6Mart.GESTIONE_PDF_FTP + WHERE + FlagInvio = 'N' + AND CODICEFISCALE + RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality) +insert into GLOBAL_ERROR (ErrorDescription) values ('uscita') +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_FTP_INVIATI.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_FTP_INVIATI.sql new file mode 100644 index 00000000..5dd70708 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_FTP_INVIATI.sql @@ -0,0 +1,43 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_SELECT_FTP_INVIATI] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- Facciate(6)CppBollettini(2)IDENTIFICATIVODOCUMENTO(50)NOMINATIVODESTINATARIO(50)VIA(50)CAP(5)LOCALITA(50)PROVINCIA(2)NAZIONE(1)TIPOPOSTALIZZAZIONE(2)FILESPOOL(50)ALLEGATO1(1)ALLEGATO1(2)NAZIONEESTERA(30) +--FacciateXXXXX(6)00CodiceFiscale(50)NOMINATIVODESTINATARIO(50)VIA(50)CAP(5)LOCALITA(50)PROVINCIA(2)IoE(1)PE(2)NOMEFILE(50)0(1)0(2)NAZIONEESTERA(30) +-- (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) +-- + '00' --CppBollettini(2) +-- + ' ' --IDENTIFICATIVODOCUMENTO(50) +-- + LEFT(isnull(ANAG_CLIENTI.Cognome,'COGNOME') + ' ' + ISNULL(ANAG_CLIENTI.Nome,'NOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) +-- + LEFT(CONTRATTOSEI.Indirizzo + ' ',50) --VIA(50) +-- + LEFT(CONTRATTOSEI.CAP + ' ',5) --CAP(5) +-- + LEFT(CONTRATTOSEI.Citta + ' ',50) --LOCALITA(50) +-- + LEFT(CONTRATTOSEI.Prov + ' ',2)--PROVINCIA(2) +-- + (CASE UPPER(CONTRATTOSEI.Nazione) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) +-- + 'PE' --TIPOPOSTALIZZAZIONE(2) +-- + LEFT(GESTIONE_PDF_FTP.NomeFile + ' ',50)--NOMEFILE(50) +-- + '0' --0(1) +-- + '0' --0(2) +-- + LEFT((CASE UPPER(CONTRATTOSEI.Nazione) WHEN 'ITALIA' THEN '' ELSE CONTRATTOSEI.Nazione END) + ' ',30)) -- NAZIONEESTERA(30) +-- +-- FC 24/02/2014 +-- MOdifica accesso tabella C6MART.ContrattoSei NON PIU GESTITA con tabella C6Mart.VContratti +-- Gestione Data FineAvanzato ( datat chiusura contratto ) con valore convenzionale 9999/12/31 + SELECT DISTINCT C6MART.CONCATENA(C6Mart.GESTIONE_PDF_FTP.Rete, C6Mart.GESTIONE_PDF_FTP.CodiceFiscale) AS riga + FROM C6MART.GESTIONE_PDF_FTP + INNER JOIN C6MART.vcontratti V + ON v.Rete = GESTIONE_PDF_FTP.Rete + AND v.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN C6MART.ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE (DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 + OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0) + AND convert(varchar(10),v.data_fineAvanzato,112) = '99991231' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_FTP_INVIATI_TEST_NEW.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_FTP_INVIATI_TEST_NEW.sql new file mode 100644 index 00000000..59617789 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_FTP_INVIATI_TEST_NEW.sql @@ -0,0 +1,43 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_SELECT_FTP_INVIATI_TEST_NEW] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- Facciate(6)CppBollettini(2)IDENTIFICATIVODOCUMENTO(50)NOMINATIVODESTINATARIO(50)VIA(50)CAP(5)LOCALITA(50)PROVINCIA(2)NAZIONE(1)TIPOPOSTALIZZAZIONE(2)FILESPOOL(50)ALLEGATO1(1)ALLEGATO1(2)NAZIONEESTERA(30) +--FacciateXXXXX(6)00CodiceFiscale(50)NOMINATIVODESTINATARIO(50)VIA(50)CAP(5)LOCALITA(50)PROVINCIA(2)IoE(1)PE(2)NOMEFILE(50)0(1)0(2)NAZIONEESTERA(30) +-- (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) +-- + '00' --CppBollettini(2) +-- + ' ' --IDENTIFICATIVODOCUMENTO(50) +-- + LEFT(isnull(ANAG_CLIENTI.Cognome,'COGNOME') + ' ' + ISNULL(ANAG_CLIENTI.Nome,'NOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) +-- + LEFT(CONTRATTOSEI.Indirizzo + ' ',50) --VIA(50) +-- + LEFT(CONTRATTOSEI.CAP + ' ',5) --CAP(5) +-- + LEFT(CONTRATTOSEI.Citta + ' ',50) --LOCALITA(50) +-- + LEFT(CONTRATTOSEI.Prov + ' ',2)--PROVINCIA(2) +-- + (CASE UPPER(CONTRATTOSEI.Nazione) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) +-- + 'PE' --TIPOPOSTALIZZAZIONE(2) +-- + LEFT(GESTIONE_PDF_FTP.NomeFile + ' ',50)--NOMEFILE(50) +-- + '0' --0(1) +-- + '0' --0(2) +-- + LEFT((CASE UPPER(CONTRATTOSEI.Nazione) WHEN 'ITALIA' THEN '' ELSE CONTRATTOSEI.Nazione END) + ' ',30)) -- NAZIONEESTERA(30) +-- +-- FC 24/02/2014 +-- MOdifica accesso tabella C6MART.ContrattoSei NON PIU GESTITA con tabella C6Mart.VContratti +-- Gestione Data FineAvanzato ( datat chiusura contratto ) con valore convenzionale 9999/12/31 + SELECT DISTINCT C6MART.CONCATENA_TEST_NEW(C6Mart.GESTIONE_PDF_FTP.Rete, C6Mart.GESTIONE_PDF_FTP.CodiceFiscale) AS riga + FROM C6MART.GESTIONE_PDF_FTP + INNER JOIN C6MART.vcontratti V + ON v.Rete = GESTIONE_PDF_FTP.Rete + AND v.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN C6MART.ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE (DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 + OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0) + AND convert(varchar(10),v.data_fineAvanzato,112) = '99991231' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_HOST.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_HOST.sql new file mode 100644 index 00000000..fc417e4f --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_HOST.sql @@ -0,0 +1,26 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_SELECT_HOST] + AS +BEGIN + SET NOCOUNT ON; + SELECT + (C6Mart.GESTIONE_PDF_FTP.Rete + C6Mart.GESTIONE_PDF_FTP.CodiceFiscale + right('00000000000' + C6Mart.VCONTRATTI.CodiceContratto,11) + 'C' + + (Case TipoReport when 'D' then 'LD' when 'LR' then 'LR' else TipoReport end) + + (Case TipoReport when 'D' then CONVERT(VARCHAR(10), C6Mart.GESTIONE_PDF_FTP.DataInvio, 112) + when 'LR' then CONVERT(VARCHAR(10), C6Mart.GESTIONE_PDF_FTP.DataInvioRistampa, 112) else null end)) as riga + FROM C6Mart.GESTIONE_PDF_FTP + INNER JOIN C6Mart.VCONTRATTI + ON C6Mart.VCONTRATTI.Rete = C6Mart.GESTIONE_PDF_FTP.Rete + and C6Mart.VCONTRATTI.COD_FISCALE = C6Mart.GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN C6Mart.ANAG_CLIENTI + ON C6Mart.ANAG_CLIENTI.Rete = C6Mart.GESTIONE_PDF_FTP.Rete + and C6Mart.ANAG_CLIENTI.COD_FISCALE = C6Mart.GESTIONE_PDF_FTP.CodiceFiscale + WHERE DATEDIFF(DAY,isnull(C6Mart.GESTIONE_PDF_FTP.DataInvio,C6Mart.GESTIONE_PDF_FTP.DataInvioRistampa),GETDATE()) = 0 + AND C6Mart.VCONTRATTI.Data_FineAvanzato > getDate() + AND C6Mart.VCONTRATTI.Cod_Fiscale + C6Mart.VCONTRATTI.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + AND C6Mart.VCONTRATTI.COD_AGENTE <> '015312' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_HOST_GIORNALIERO.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_HOST_GIORNALIERO.sql new file mode 100644 index 00000000..44065350 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_HOST_GIORNALIERO.sql @@ -0,0 +1,40 @@ +-- ============================================= +-- Author: MOdified TRINGALI per FIDUCIARIA +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_SELECT_HOST_GIORNALIERO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --FTP + SELECT + (gpf.Rete + + case when gpf.CodiceFiscale like '%@%' then right(vc.piva_fiduciaria+' ',16) + when len(gpf.CodiceFiscale) = 11 then right(gpf.CodiceFiscale+' ',16) + else gpf.CodiceFiscale end + right('00000000000' + vc.CodiceContratto,11) + 'LD' + CONVERT(VARCHAR(10), gpf.DataGenerazione, 112)) as riga + FROM C6Mart.GESTIONE_PDF_FTP gpf + INNER JOIN C6Mart.VCONTRATTI vc + ON vc.Rete = gpf.Rete + and vc.COD_FISCALE = gpf.CodiceFiscale + INNER JOIN C6Mart.ANAG_CLIENTI + ON C6Mart.ANAG_CLIENTI.Rete = gpf.Rete + and C6Mart.ANAG_CLIENTI.COD_FISCALE = gpf.CodiceFiscale + where 1=1 + AND gpf.tiporeport = 'D' + AND DATEDIFF(DAY,gpf.DataGenerazione,GETDATE()) = 0 + --Aggiunta Emanuele per inserire nel file delle commissioni + --contratti da un determinato giorno + --AND DataGenerazione > '20140127' + ----------------------------------------- + --AND gpf.DataGenerazione BETWEEN '20140124' and '20140125' + --Fine Aggiunta Emanuele + AND vc.Data_FineAvanzato > getDate() + AND vc.Cod_Fiscale + vc.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + AND vc.COD_AGENTE <> '015312' + --Aggiunta Emanuele + --ORDER BY DataGenerazione, gpf.Rete, gpf.CodiceFiscale + --Fine Aggiunta Emanuele +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql new file mode 100644 index 00000000..c1774abd --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql @@ -0,0 +1,120 @@ +--SELECT TOP 1 * FROM C6MART.VCONTRATTI +--[C6Mart].[GESTIONE_SELECT_LETTERE_DA_INVIARE]'F','AA@55670',1,-1 +CREATE procedure [C6Mart].[GESTIONE_SELECT_LETTERE_DA_INVIARE] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' +AS +BEGIN + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() +--declare @prova as varchar(10) +--select @prova = 'AA@55670' +--select @prova +--select charindex('@',@prova) + SELECT distinct + C6Mart.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, + --aclie.cognome as cognome, + csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.PROVINCIA end as provincia, + csei.cap as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + --20180912 AC: su richiesta di Flavia Scirocco / Maria Napolitano, per i clienti professionali, la data di sottoscrizione è quella del campo DATA_INIZIOBASE + --C6Mart.Replace_Testo_Lettera_Benvenuto( + -- csei.CodiceContratto, + -- csei.freq_Diagnosi, + -- csei.freq_MONITORAGGIO, + -- aclie.cognome, + -- aclie.nome, + -- @tipoReport, + -- csei.indirizzo, + -- csei.DATA_INZIOAVANZATO, + -- @dataRichiestaRistampa, + -- gpdf.DataGenerazione, + -- tla.[TESTO] + -- ) as testo, + case + when csei.TipoConsulenza = 'P' then + C6Mart.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_MONITORAGGIO, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.DATA_INIZIOBASE, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) + else + C6Mart.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_MONITORAGGIO, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.DATA_INZIOAVANZATO, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) + end as testo, + --20180912 AC + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma, + pagina + FROM + [C6Mart].[TESTO_LETTERA_ACCETTAZIONE] tla, + [C6Mart].[VCONTRATTI] csei JOIN + C6MART.CONTRATTOSEI_METADATI META + ON META.CHIAVECLIENTEPB = CSEI.CHIAVECLIENTEPB + INNER JOIN + [C6Mart].[ANAG_CLIENTI] aclie + on csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + LEFT OUTER JOIN + C6Mart.GESTIONE_PDF_FTP gpdf + on + gpdf.rete = csei.rete and + gpdf.codiceFiscale = csei.cod_fiscale + WHERE + csei.rete = @rete and + csei.cod_Fiscale = @cf and + csei.data_fineAvanzato > getDate() and + tla.id = @codiceLettera and + (gpdf.idReport = @idReport or @idreport = -1) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql new file mode 100644 index 00000000..87321079 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql @@ -0,0 +1,120 @@ +--SELECT TOP 1 * FROM C6MART.VCONTRATTI +--[C6Mart].[GESTIONE_SELECT_LETTERE_DA_INVIARE]'F','AA@55670',1,-1 +CREATE procedure [C6Mart].[GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' +AS +BEGIN + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() +--declare @prova as varchar(10) +--select @prova = 'AA@55670' +--select @prova +--select charindex('@',@prova) + SELECT distinct + C6Mart.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, + --aclie.cognome as cognome, + csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.PROVINCIA end as provincia, + csei.cap as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + --20180912 AC: su richiesta di Flavia Scirocco / Maria Napolitano, per i clienti professionali, la data di sottoscrizione è quella del campo DATA_INIZIOBASE + --C6Mart.Replace_Testo_Lettera_Benvenuto( + -- csei.CodiceContratto, + -- csei.freq_Diagnosi, + -- csei.freq_MONITORAGGIO, + -- aclie.cognome, + -- aclie.nome, + -- @tipoReport, + -- csei.indirizzo, + -- csei.DATA_INZIOAVANZATO, + -- @dataRichiestaRistampa, + -- gpdf.DataGenerazione, + -- tla.[TESTO] + -- ) as testo, + case + when csei.TipoConsulenza = 'P' then + C6Mart.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_MONITORAGGIO, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.DATA_INIZIOBASE, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) + else + C6Mart.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_MONITORAGGIO, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.DATA_INZIOAVANZATO, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) + end as testo, + --20180912 AC + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma, + pagina + FROM + [C6Mart].[TESTO_LETTERA_ACCETTAZIONE_Rosaspina] tla, + [C6Mart].[VCONTRATTI] csei JOIN + C6MART.CONTRATTOSEI_METADATI META + ON META.CHIAVECLIENTEPB = CSEI.CHIAVECLIENTEPB + INNER JOIN + [C6Mart].[ANAG_CLIENTI] aclie + on csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + LEFT OUTER JOIN + C6Mart.GESTIONE_PDF_FTP gpdf + on + gpdf.rete = csei.rete and + gpdf.codiceFiscale = csei.cod_fiscale + WHERE + csei.rete = @rete and + csei.cod_Fiscale = @cf and + csei.data_fineAvanzato > getDate() and + tla.id = @codiceLettera and + (gpdf.idReport = @idReport or @idreport = -1) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql new file mode 100644 index 00000000..07917440 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql @@ -0,0 +1,20 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22/12/2008 +-- Description: Per gestione richieste di reinvio PDF da parte di utenti HD o US +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO] + @IdReport INT +AS +BEGIN + declare @ritorno as int + set @ritorno = 1 + select @ritorno = 0 + from C6Mart.GESTIONE_PDF_FTP A + inner join (select Rete, CodiceFiscale FROM C6Mart.GESTIONE_PDF_FTP WHERE IdReport = @IdReport) B + on A.Rete = B.Rete + and A.CodiceFiscale = B.CodiceFiscale + and TipoReport = 'LR' + and FlagInvio = 'N' + select @ritorno +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS.sql new file mode 100644 index 00000000..4448e4db --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS.sql @@ -0,0 +1,308 @@ +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --- inizio intervento RFAMinus + declare @sogliaRfa as decimal (18,0) + set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + --- fine intervento RFAMinus + SELECT DISTINCT + --top 80 + --DATI COMUNI + --RETE + contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto --DA REINSERIRE QUANDO REPLATTATA + --REPORT + --Modello Diagnosi pre modifiche OMNIA +-- ,4 as idModelloDiagnosi + --Modello Diagnosi post modifiche OMNIA + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) +--- inizio intervento RFAMinus + and (patrimonioBF.ctv >= @sogliaRfa or contratti.cod_fiscale='02493690289') +--- fine intervento RFAMinus + --and contratti.cod_fiscale ='LRNLCU73D28I470U' +--and contratti.Rete+contratti.Cod_Fiscale in +--('FPVSLCN45T61F205S', +--'FFRNVGL41D02E118N', +--'FDNGGSN33A68B910W', +--'FGVZLRA76R53A124C', +--'FTBLFNC39T17A124B', +--'FRPSPTR38M15F205V', +--'FRDRNDR61E17A124G', +--'FBTTFNZ61L24A124V', +--'FCNCMRT52R15D656H', +--'FMNTMRC82C08I608Y', +--'FGRDLMR35C53G999P' +--) + --CLUSTER + --and substring(contratti.cod_fiscale,1,1) >= '0' AND substring(contratti.cod_fiscale,1,3) <= 'CPP' + --and substring(contratti.cod_fiscale,1,3) > 'CPP' AND substring(contratti.cod_fiscale,1,3) <= 'LLL' + --and substring(contratti.cod_fiscale,1,3) > 'LLL' AND substring(contratti.cod_fiscale,1,3) <= 'PPP' +-- +--and contratti.Cod_Fiscale in +--( +--'SPDSPR55S54A176I' +--,'02252020348' +--,'02486990720' +--,'80007810197' +--) +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS] Script Date: 08/02/2022 17:09:43 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +--ALTER procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS] +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- --- inizio intervento RFAMinus +-- declare @sogliaRfa as decimal (18,0) +-- set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') +-- --- fine intervento RFAMinus +-- SELECT DISTINCT +-- --top 80 +-- --DATI COMUNI +-- --RETE +-- contratti.Rete +-- ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete +-- --AGENTE +-- ,contratti.Cod_Agente Agente +-- ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente +-- ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente +-- ,isnull(promotori.Indirizzo,'') IndirizzoAgente +-- ,isnull(promotori.Cap,'') CapAgente +-- ,isnull(promotori.Localita,'') CittaAgente +-- ,isnull(promotori.TEL_Recapito,'') TelefonoAgente +-- --CLIENTE +-- ,contratti.Cod_Fiscale CodiceFiscale +-- ,clienti.Cognome CognomeCliente +-- ,clienti.nome NomeCliente +-- --PATRIMONI CLIENTE +-- ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct +-- ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile +-- ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv +-- ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv +-- ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente +-- ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente +-- ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate +-- ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv +-- ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv +-- ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv +-- ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente +-- ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente +-- ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv +-- ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv +-- ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari +-- --CONTRATTO +-- ,contratti.CodiceContratto CodiceContratto +-- ,contratti.tip_contratto --DA REINSERIRE QUANDO REPLATTATA +-- --REPORT +-- --Modello Diagnosi pre modifiche OMNIA +---- ,4 as idModelloDiagnosi +-- --Modello Diagnosi post modifiche OMNIA +-- ,5 as idModelloDiagnosi +-- ,1 as idReportDiagnosi +-- ,'Diagnosi' as descrizioneDiagnosi +-- ,-1 as idReportMonitoraggio +-- ,719 as idModellotMonitoraggio +-- ,'Monitoraggio' as descrizioneMonitoraggio +-- ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato +-- ,CASE +-- WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 +-- ELSE RISCHIO_NA.VAR_PERC_PTF +-- END AS VaRRisorseNonAssociate +-- ,CASE +-- WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 +-- ELSE RISCHIO_NA.COPERTURA +-- END AS CoperturaRisorseNonAssociate +-- ,CASE +-- WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 +-- ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF +-- END AS VaRTotaleRisorseFinanziarie +-- ,CASE +-- WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 +-- ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA +-- END AS CoperturaTotaleRisorseFinanziarie, +-- 0 As NoMonitoraggio, +-- CASE +-- WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 +-- END AS ContrattoOld, +-- 0 AS IdReportPDFDiagnosi, +-- 0 AS IdReportPDFMonitoraggio +-- from C6Mart.RP_vContrattiPerGenerazioneReport contratti +-- left join C6Mart.ANAG_PROMOTORI promotori +-- on contratti.Rete = promotori.Rete +-- and contratti.Cod_Agente = promotori.Id_Promotore +-- left join C6Mart.ANAG_CLIENTI clienti +-- on contratti.Rete = clienti.Rete +-- and contratti.Cod_Fiscale = clienti.Cod_Fiscale +-- INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF +-- on contratti.Rete = patrimonioBF.Rete +-- and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro +-- on contratti.Rete = patrimonioAltro.Rete +-- and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare +-- on contratti.Rete = patrimonioImmobiliare.Rete +-- and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi +-- on contratti.Rete = patrimonioTerzi.Rete +-- and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale +-- left outer join C6Mart.MIFID MIFID +-- on contratti.Rete = MIFID.Rete +-- and contratti.Cod_Fiscale = MIFID.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset +-- on contratti.Rete = PatrNonRapprAsset.Rete +-- and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale +-- left outer join C6Mart.vNumeroIntermediari numIntermediari +-- on contratti.Rete = numIntermediari.Rete +-- and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale +-- left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA +-- on contratti.Rete = RISCHIO_NA.Rete +-- and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale +-- and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' +-- left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE +-- on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete +-- and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale +-- and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' +-- left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI +-- on contratti.Rete = PARTITEVIAGGIANTI.RETE +-- and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE +-- where 1=1 +-- and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) +----- inizio intervento RFAMinus +-- and (patrimonioBF.ctv >= @sogliaRfa or contratti.cod_fiscale='02493690289') +----- fine intervento RFAMinus +-- --and contratti.cod_fiscale ='LRNLCU73D28I470U' +----and contratti.Rete+contratti.Cod_Fiscale in +----('FPVSLCN45T61F205S', +----'FFRNVGL41D02E118N', +----'FDNGGSN33A68B910W', +----'FGVZLRA76R53A124C', +----'FTBLFNC39T17A124B', +----'FRPSPTR38M15F205V', +----'FRDRNDR61E17A124G', +----'FBTTFNZ61L24A124V', +----'FCNCMRT52R15D656H', +----'FMNTMRC82C08I608Y', +----'FGRDLMR35C53G999P' +----) +-- --CLUSTER +-- --and substring(contratti.cod_fiscale,1,1) >= '0' AND substring(contratti.cod_fiscale,1,3) <= 'CPP' +-- --and substring(contratti.cod_fiscale,1,3) > 'CPP' AND substring(contratti.cod_fiscale,1,3) <= 'LLL' +-- --and substring(contratti.cod_fiscale,1,3) > 'LLL' AND substring(contratti.cod_fiscale,1,3) <= 'PPP' +---- +----and contratti.Cod_Fiscale in +----( +----'SPDSPR55S54A176I' +----,'02252020348' +----,'02486990720' +----,'80007810197' +----) +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano.sql new file mode 100644 index 00000000..bb413c51 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano.sql @@ -0,0 +1,142 @@ +--select * from global_error +--[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano] 1000 +CREATE PROCEDURE [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano] +@volThreads int = 1 +WITH EXEC AS CALLER +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT DISTINCT + --top 80 + --DATI COMUNI + --RETE + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto --DA REINSERIRE QUANDO REPLATTATA + --REPORT + --Modello Diagnosi pre modifiche OMNIA +-- ,4 as idModelloDiagnosi + --Modello Diagnosi post modifiche OMNIA + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + case TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + --'S' as Flgprof + --,C6Mart.EsistonoServiziAggiuntivi (contratti.rete, contratti.Cod_Fiscale) as FlagServiziAggiuntivi + from [C6Mart].[RP_vContrattiPerGenerazioneReport_OnDemand_Adriano] contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + left join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + and contratti.Cod_Fiscale in + ( +--'TDSNGL54D57A944S', +--'GRNMRC39H14F335P', +--'MZZRLL39M62D869K' +'RNZNNA01M68C745C' + ) + --('GSNLVI49B23L551I') --('ZNALDN49B42D590R') -- ('VLLDRN58B03F119A') -- TEST PRO QUOTA + --('TSCCNZ65E58C574M') -- Non dà problemi di spaginazione nella tabella Complessità alta + --('GLNGPP55A28A883O') -- Problema di spaginazione nella tabella Complessità alta + and patrimonioBF.ctv >= 25000 +END +--[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano] \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql new file mode 100644 index 00000000..376f1e4d --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql @@ -0,0 +1,303 @@ +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + declare @sogliaRfa as decimal (18,0) + declare @data_perf as datetime + set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + set @data_perf = '20200401' + truncate table C6Mart.tbNotAllocatedResources + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + SELECT distinct TOP (@volThreads) + contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio , + ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + -- modifica del 22/10/2018 - il flag professionale è più sotto- questo è un errore + ------0 as Flgprof, + 0 as flagpg + ----------------------------------------------------- fine 09/3/2018 + , + case contratti.TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.tbNotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6mart.vcontrattic6 vcontr + on vcontr.codicecontratto = contratti.codicecontratto + inner join C6Mart.tb_campione camp + on contratti.Rete = camp.Rete + and contratti.Cod_Fiscale = camp.Cod_Fiscale + and camp.flag_stampa=1 + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + --- inizio intervento RFAMinus + and (patrimonioBF.ctv >= @sogliaRFA or vcontr.data_perf < @data_perf) + --- fine intervento RFAMinus +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A] Script Date: 08/02/2022 17:14:12 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +--ALTER procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A] (@volThreads int = 9999) +--AS +--BEGIN +-- SET NOCOUNT ON; +-- declare @sogliaRfa as decimal (18,0) +-- declare @data_perf as datetime +-- set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') +-- set @data_perf = '20200401' +-- truncate table C6Mart.tbNotAllocatedResources +-- INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) +-- SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV +-- FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD +-- INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT +-- ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE +-- AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE +-- AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA +-- WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 +-- GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE +-- SELECT distinct TOP (@volThreads) contratti.Rete +-- ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete +-- ,contratti.Cod_Agente Agente +-- ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente +-- ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente +-- ,isnull(promotori.Indirizzo,'') IndirizzoAgente +-- ,isnull(promotori.Cap,'') CapAgente +-- ,isnull(promotori.Localita,'') CittaAgente +-- ,isnull(promotori.TEL_Recapito,'') TelefonoAgente +-- ,contratti.Cod_Fiscale CodiceFiscale +-- ,clienti.Cognome CognomeCliente +-- ,clienti.nome NomeCliente +-- ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct +-- ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile +-- ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv +-- ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv +-- ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente +-- ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente +-- ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate +-- ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv +-- ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv +-- ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv +-- ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente +-- ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente +-- ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv +-- ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv +-- ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari +-- ,contratti.CodiceContratto CodiceContratto +-- ,contratti.tip_contratto +-- ,5 as idModelloDiagnosi +-- ,1 as idReportDiagnosi +-- ,'Diagnosi' as descrizioneDiagnosi +-- ,-1 as idReportMonitoraggio +-- ,719 as idModellotMonitoraggio +-- ,'Monitoraggio' as descrizioneMonitoraggio +-- ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato +-- ,CASE +-- WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 +-- ELSE RISCHIO_NA.VAR_PERC_PTF +-- END AS VaRRisorseNonAssociate +-- ,CASE +-- WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 +-- ELSE RISCHIO_NA.COPERTURA +-- END AS CoperturaRisorseNonAssociate +-- ,CASE +-- WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 +-- ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF +-- END AS VaRTotaleRisorseFinanziarie +-- ,CASE +-- WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 +-- ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA +-- END AS CoperturaTotaleRisorseFinanziarie, +-- 0 As NoMonitoraggio, +-- CASE +-- WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 +-- END AS ContrattoOld, +-- 0 AS IdReportPDFDiagnosi, +-- 0 AS IdReportPDFMonitoraggio , +-- ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi +-- CASE +-- WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 +-- END AS ContrattoOld, +-- 0 AS IdReportPDFDiagnosi, +-- 0 AS IdReportPDFMonitoraggio, +-- 0 as flagnqp, +-- 0 as flagprlrde, +-- -- modifica del 22/10/2018 - il flag professionale è più sotto- questo è un errore +-- ------0 as Flgprof, +-- 0 as flagpg +-- ----------------------------------------------------- fine 09/3/2018 +-- , +-- case contratti.TipoConsulenza +-- when 'P' then 'S' +-- when 'D' then 'N' +-- else 'N' +-- end as Flgprof +-- from C6Mart.RP_vContrattiPerGenerazioneReport contratti +-- left join C6Mart.ANAG_PROMOTORI promotori +-- on contratti.Rete = promotori.Rete +-- and contratti.Cod_Agente = promotori.Id_Promotore +-- left join C6Mart.tbNotAllocatedResources as nar --pk +-- on contratti.Rete = nar.Rete --pk +-- and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk +-- left join C6Mart.ANAG_CLIENTI clienti +-- on contratti.Rete = clienti.Rete +-- and contratti.Cod_Fiscale = clienti.Cod_Fiscale +-- INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF +-- on contratti.Rete = patrimonioBF.Rete +-- and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro +-- on contratti.Rete = patrimonioAltro.Rete +-- and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare +-- on contratti.Rete = patrimonioImmobiliare.Rete +-- and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi +-- on contratti.Rete = patrimonioTerzi.Rete +-- and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale +-- left outer join C6Mart.MIFID MIFID +-- on contratti.Rete = MIFID.Rete +-- and contratti.Cod_Fiscale = MIFID.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset +-- on contratti.Rete = PatrNonRapprAsset.Rete +-- and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale +-- left outer join C6Mart.vNumeroIntermediari numIntermediari +-- on contratti.Rete = numIntermediari.Rete +-- and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale +-- left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA +-- on contratti.Rete = RISCHIO_NA.Rete +-- and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale +-- and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' +-- left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE +-- on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete +-- and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale +-- and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' +-- left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI +-- on contratti.Rete = PARTITEVIAGGIANTI.RETE +-- and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE +-- left join c6mart.vcontrattic6 vcontr +-- on vcontr.codicecontratto = contratti.codicecontratto +-- where 1=1 +-- and nar.rete is null --pk +-- and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) +-- --- inizio intervento RFAMinus +-- and (patrimonioBF.ctv >= @sogliaRFA or vcontr.data_perf < @data_perf) +-- --- fine intervento RFAMinus +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto.sql new file mode 100644 index 00000000..c3890151 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto.sql @@ -0,0 +1,131 @@ +--select * from global_error +--[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto] 1000 +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto] (@volThreads int = 1) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT DISTINCT + --top 80 + --DATI COMUNI + --RETE + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto --DA REINSERIRE QUANDO REPLATTATA + --REPORT + --Modello Diagnosi pre modifiche OMNIA +-- ,4 as idModelloDiagnosi + --Modello Diagnosi post modifiche OMNIA + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + case TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + --'S' as Flgprof + --,C6Mart.EsistonoServiziAggiuntivi (contratti.rete, contratti.Cod_Fiscale) as FlagServiziAggiuntivi + from [C6Mart].[RP_vContrattiPerGenerazioneReport_OnDemand_Adriano] contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + left join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + and contratti.Rete + contratti.Cod_Fiscale in + (select Rete + Cod_Fiscale from FiltroCruscottoGiornaliero) +END +--[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto] \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Luca.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Luca.sql new file mode 100644 index 00000000..c62c291a --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Luca.sql @@ -0,0 +1,174 @@ +--select * from global_error +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Luca] (@volThreads int = 9999) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT DISTINCT + --top 80 + --DATI COMUNI + --RETE + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto --DA REINSERIRE QUANDO REPLATTATA + --REPORT + --Modello Diagnosi pre modifiche OMNIA +-- ,4 as idModelloDiagnosi + --Modello Diagnosi post modifiche OMNIA + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + 0 as Flgprof + --,C6Mart.EsistonoServiziAggiuntivi (contratti.rete, contratti.Cod_Fiscale) as FlagServiziAggiuntivi + from C6Mart.[RP_vContrattiPerGenerazioneReport_OnDemand_Adriano] contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + left join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + and contratti.cod_Fiscale + --in ('CSTGPP41P15A734N','CRLLGU39L22L781F','BDNMNL51L54L219G','BCCGRL55S51H211C' + -- ,'BBNSVN47R12D458Y') + in ( +'GLZGCR44A30G157T', +'TTTRRT74S09H501J', +'LCCDNL68E17Z133A', +'VRNFNC57H65D154R' +) + --and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) +-- and contratti.Cod_Fiscale in ('BSSNRE69T26F241U') -- S SEI PRIVATE POST + --and contratti.Cod_Fiscale in ('BRNMGR59E55D110F') -- F SEI POST + --and contratti.Cod_Fiscale in ('DNGLNM47A55Z116Y') -- S SEI + --and contratti.Cod_Fiscale in ('RZZNDR78T03C034Y') -- S SEI + --and contratti.Cod_Fiscale in ('SDNDRA55H13A326J') -- S SEI + --and contratti.Cod_Fiscale in ('VLLLSU61C55H501X') -- S SEI + --and contratti.Cod_Fiscale in ('CMNDGI47A18C363S') -- S SEI + --and contratti.Cod_Fiscale in ('VLNFNC49R63E184Y') -- S SEI + --and contratti.Cod_Fiscale in ('RCCMRC33M27H814Q') -- S SEI + --and contratti.Cod_Fiscale in ('DDDLGU36S08G778A') -- S SEI + --and contratti.Cod_Fiscale in ('PNTSMN79R43H501O') -- S SEI + --and contratti.Cod_Fiscale in ('GBRGRL53L14H714J') --F SEI PRIVATE + --and contratti.Cod_Fiscale in ('SPGGTT38H65E289O') -- S SEI + --and contratti.Cod_Fiscale in ('NCLMRS46H62B025U') -- S SEI + --and contratti.Cod_Fiscale in ('FRNMRS47E53G388J') -- S SEI + --and contratti.Cod_Fiscale in ('NRDVLR38M47F205H') -- S SEI + --and contratti.Cod_Fiscale in ('SRTGNN57C31E648W') -- F SEI PRIVATE + --and contratti.Cod_Fiscale in ('FRTNLC72S69G999W') -- S SEI POST + --and contratti.Cod_Fiscale in ('BLLGRL53D49G273J') -- S SEI CONT + --and contratti.Cod_Fiscale in ('LBLNRC91T05F830F') -- S SEI CONT + --and contratti.Cod_Fiscale in ('SCLSFN41M28G273G') -- S SEI CONT + --and contratti.Cod_Fiscale in ('SMNNNA74B44B486O') -- S SEI CONT + --and contratti.Cod_Fiscale in ('VCRCRL49H53G273J') -- S SEI CONT + --and contratti.Cod_Fiscale in ('SPTGNN40M01L112U') --Non trovato in vcontratti + --and contratti.Cod_Fiscale in ('FCCDRD74H29A794A') --Non trovato in vcontratti + --and contratti.Cod_Fiscale in ('SMNNNA74B44B486O') -- S SEI CONT + --and contratti.Cod_Fiscale in ('VNONRL85L56Z129G') -- S SEI CONT + --and contratti.Cod_Fiscale in ('MNUPLM32R54B486M') -- S SEI POST + --and contratti.Cod_Fiscale in ('BLLCCT44S54B486J') --Non trovato in vcontratti + --and contratti.Cod_Fiscale in ('FRNGLI01R68G273Y') --Non trovato in vcontratti + --and contratti.Cod_Fiscale in ('FRNNTN00D10G273V') --Non trovato in vcontratti + --and contratti.Cod_Fiscale in ('BRGGLN21L57D150S') -- Escluso da RP_vTuttiIContratti poiché la datafineavanzato è antecedente alla data odierna + --and contratti.Cod_Fiscale in ('CMMBBR58E71H501G') -- Escluso da RP_vTuttiIContratti poiché la datafineavanzato è antecedente alla data odierna + --and contratti.Cod_Fiscale in ('MRNPTR42A11L948N') -- F SEI POST + --and contratti.Cod_Fiscale in ('BNDGNN65A31B988C') -- F SEI CONT + --and contratti.Cod_Fiscale in ('MRMMZF66E27F205J') -- F SEI PRIVATE CONT + --and contratti.Cod_Fiscale in ('PRNMMG39H44A952X') -- F SEI PRIVATE POST + --and contratti.Cod_Fiscale in ('TGLDLF40M23Z315O') -- S SEI PRIVATE CONT + --and contratti.Cod_Fiscale in ('BTTSFN55C21G388M') -- S SEI PRIVATE POST + --and contratti.Cod_Fiscale in ('BGGCRL41D13I068X') -- S SEI POST + --and contratti.Cod_Fiscale in ('MCCMRA53R58A984B') -- S SEI CONT +END +--[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano] \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA.sql new file mode 100644 index 00000000..6fdfe178 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA.sql @@ -0,0 +1,109 @@ +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA] +AS +BEGIN + SET NOCOUNT ON; + SELECT DISTINCT contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join c6Mart.NotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.TEMP.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.TEMP.sql new file mode 100644 index 00000000..38296652 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.TEMP.sql @@ -0,0 +1,119 @@ +CREATE PROCEDURE [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + truncate table C6Mart.tbNotAllocatedResources + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + SELECT distinct TOP (@volThreads) contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + --left join C6Mart.tbNotAllocatedResources as nar --pk + -- on contratti.Rete = nar.Rete --pk + -- and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + --and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6Mart.tbNotAllocatedResources) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.sql new file mode 100644 index 00000000..19d11101 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.sql @@ -0,0 +1,294 @@ +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; +-- [C6Mart].[RP_Selettore_GetDataThreads] 'SEI' +-- [C6Mart].[RP_Selettore_GetDataThreads] 'DIRECT' + truncate table C6Mart.tbNotAllocatedResources + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + declare @sogliaRfa as decimal (18,0) + declare @sogliaRfaDB as decimal (18,0) + declare @data_perf as datetime + declare @nomeRep as varchar(32) + set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + set @data_perf = '20200401' + set @sogliaRfaDB=0 + set @nomeRep = (select Reportistica from [C6Mart].[TB_Selettore_GetDataThreads]) +if (@nomeRep='SEI') +BEGIN + SELECT distinct top 150 --(@volThreads) + contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto--,2 as tip_contratto-- + ,case when contratti.tip_contratto=3 then 6 else 5 end as idModelloDiagnosi --5 as idModelloDiagnosi aggiunta per Fideuram Direct / Direct Banker + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio , + ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + -- modifica del 22/10/2018 - il flag professionale è più sotto- questo è un errore + ------0 as Flgprof, + 0 as flagpg + ----------------------------------------------------- fine 09/3/2018 + , + case contratti.TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.tbNotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato_SenzaNobPrez patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + --left join c6mart.vcontrattic6 vcontr + --on vcontr.codicecontratto = contratti.codicecontratto + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + --- inizio intervento RFAMinus + and ((patrimonioBF.ctv >= @sogliaRFA) or (patrimonioBF.ctv >= 25000 and contratti.data_inizioavanzato < '20240412')) --rimossa per Fideuram Direct / Direct Banker + and contratti.tip_contratto <> 3 + --and contratti.Cod_Fiscale in ('BRCCLN52L04C494U') --,'05291050267','BRCCLN52L04C494U')--Da togliere + --and contratti.Cod_Fiscale in ('CMSDDD45S16B565N','05291050267','BRCCLN52L04C494U')--Da togliere + --and contratti.rete = 'W' -- rete F + --prova gladiolo decommentare +and contratti.Cod_Fiscale not in ('RVIFNC70A52B885O') +END +if (@nomeRep='DIRECT') +BEGIN + SELECT distinct + contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,case when contratti.tip_contratto=3 then 6 else 5 end as idModelloDiagnosi --5 as idModelloDiagnosi aggiunta per Fideuram Direct / Direct Banker + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio , + ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + -- modifica del 22/10/2018 - il flag professionale è più sotto- questo è un errore + ------0 as Flgprof, + 0 as flagpg + ----------------------------------------------------- fine 09/3/2018 + , + case contratti.TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.tbNotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato_SenzaNobPrez patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6mart.vcontrattic6 vcontr + on vcontr.codicecontratto = contratti.codicecontratto + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + and contratti.tip_contratto = 3 + AND patrimonioBF.ctv >= @sogliaRFADB + -- and vcontr.data_perf < @data_perf + and contratti.Cod_Fiscale in (select CODICE_FISCALE from c6staging.VAR_ADEGUATEZZA_INDICATORI) + and 1=0 --da togliere +END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180309_PreServizi.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180309_PreServizi.sql new file mode 100644 index 00000000..f5ed38e7 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180309_PreServizi.sql @@ -0,0 +1,118 @@ +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180309_PreServizi] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + truncate table C6Mart.tbNotAllocatedResources + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + SELECT distinct TOP (@volThreads) contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.tbNotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180928_OLD.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180928_OLD.sql new file mode 100644 index 00000000..9e1d8396 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180928_OLD.sql @@ -0,0 +1,129 @@ +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180928_OLD] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + truncate table C6Mart.tbNotAllocatedResources + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + SELECT distinct TOP (@volThreads) contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio , + ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + 0 as Flgprof, + 0 as flagpg + ----------------------------------------------------- fine 09/3/2018 + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.tbNotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20240412.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20240412.sql new file mode 100644 index 00000000..e116b59e --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20240412.sql @@ -0,0 +1,486 @@ +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20240412] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; +-- [C6Mart].[RP_Selettore_GetDataThreads] 'SEI' +-- [C6Mart].[RP_Selettore_GetDataThreads] 'DIRECT' + truncate table C6Mart.tbNotAllocatedResources + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + declare @sogliaRfa as decimal (18,0) + declare @sogliaRfaDB as decimal (18,0) + declare @data_perf as datetime + declare @nomeRep as varchar(32) + set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + set @data_perf = '20200401' + set @sogliaRfaDB=0 + set @nomeRep = (select Reportistica from [C6Mart].[TB_Selettore_GetDataThreads]) +if (@nomeRep='SEI') +BEGIN + SELECT distinct top (@volThreads) + contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto--,2 as tip_contratto-- + ,case when contratti.tip_contratto=3 then 6 else 5 end as idModelloDiagnosi --5 as idModelloDiagnosi aggiunta per Fideuram Direct / Direct Banker + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio , + ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + -- modifica del 22/10/2018 - il flag professionale è più sotto- questo è un errore + ------0 as Flgprof, + 0 as flagpg + ----------------------------------------------------- fine 09/3/2018 + , + case contratti.TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof, + 0 as scaduto + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.tbNotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6mart.vcontrattic6 vcontr + on vcontr.codicecontratto = contratti.codicecontratto + where 1=1 + and nar.rete is null --pk + --and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + --- inizio intervento RFAMinus + and (patrimonioBF.ctv >= @sogliaRFA or vcontr.data_perf < @data_perf) --rimossa per Fideuram Direct / Direct Banker + and + (patrimonioBF.ctv >= @sogliaRFA + or vcontr.data_perf < @data_perf) + and contratti.tip_contratto <> 3 + -- aggiunta per Fideuram Direct / Direct Banker + -- and contratti.Cod_Fiscale in (select Cod_Fiscale from c6mart.BrsClienteESG where Preferenza_esg_cliente=1) + --and contratti.Cod_Fiscale in('BLLMRC50H30A745B','CRNMHL67L26F839R','DCRCRL47S11D612N','NSASMN77H42E290B') + --LET FD + --- and contratti.Cod_Fiscale IN('CHNLRD74B22G273D','DCMCSR46T14E435W','LCNGNZ82P14H163B','MRLSLV83E60D912U','PRVLSS76B21H620R','RBSMRC82S17F205N') + --LET SEI + --and contratti.Cod_Fiscale IN('00226500288','DCRCRL47S11D612N','GRVMHL37P28E730P','NSASMN77H42E290B','RLFVLR54S60L219S') + --and contratti.tip_contratto=3 + --and contratti.Cod_Fiscale='GNSMRN59L62L219S' + --CLIENTI 27_07_2023 + --and contratti.Cod_Fiscale in ('NSASMN77H42E290B','MRLNMR51L66D653A','DCRCRL47S11D612N','CRNMHL67L26F839R','BLLMRC50H30A745B','GNSMRN59L62L219S') +-- and contratti.Cod_Fiscale not in ('BLLMRC50H30A745B') + and contratti.Cod_Fiscale in (select CODICE_FISCALE from c6staging.VAR_ADEGUATEZZA_INDICATORI) + --- fine intervento RFAMinus + --and contratti.Cod_Fiscale ='FRTPLA69L25D749V' + --in ('DLCJND31L68L193P','MZZMCR67M62G337C','FRNLSN70R08H501U','NTLRCR89M21D612Y') +END +if (@nomeRep='DIRECT') +BEGIN + SELECT distinct top (@volThreads) + contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,case when contratti.tip_contratto=3 then 6 else 5 end as idModelloDiagnosi --5 as idModelloDiagnosi aggiunta per Fideuram Direct / Direct Banker + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio , + ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + -- modifica del 22/10/2018 - il flag professionale è più sotto- questo è un errore + ------0 as Flgprof, + 0 as flagpg + ----------------------------------------------------- fine 09/3/2018 + , + case contratti.TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.tbNotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6mart.vcontrattic6 vcontr + on vcontr.codicecontratto = contratti.codicecontratto + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + --- inizio intervento RFAMinus + --and (patrimonioBF.ctv >= @sogliaRFA or vcontr.data_perf < @data_perf) --rimossa per Fideuram Direct / Direct Banker + and (( + contratti.tip_contratto <> 3 + AND patrimonioBF.ctv >= @sogliaRFA + ) + OR ( + contratti.tip_contratto = 3 + AND patrimonioBF.ctv >= @sogliaRFADB + ) or vcontr.data_perf < @data_perf) + -- aggiunta per Fideuram Direct / Direct Banker + -- and contratti.Cod_Fiscale in (select Cod_Fiscale from c6mart.BrsClienteESG where Preferenza_esg_cliente=1) + --and contratti.Cod_Fiscale in('BLLMRC50H30A745B','CRNMHL67L26F839R','DCRCRL47S11D612N','NSASMN77H42E290B') +and contratti.tip_contratto=3 + --LET FD + --- and contratti.Cod_Fiscale IN('CHNLRD74B22G273D','DCMCSR46T14E435W','LCNGNZ82P14H163B','MRLSLV83E60D912U','PRVLSS76B21H620R','RBSMRC82S17F205N') + --LET SEI + --and contratti.Cod_Fiscale IN('00226500288','DCRCRL47S11D612N','GRVMHL37P28E730P','NSASMN77H42E290B','RLFVLR54S60L219S') + --and contratti.tip_contratto=3 + --and contratti.Cod_Fiscale='GNSMRN59L62L219S' + --CLIENTI 27_07_2023 + --and contratti.Cod_Fiscale in ('NSASMN77H42E290B','MRLNMR51L66D653A','DCRCRL47S11D612N','CRNMHL67L26F839R','BLLMRC50H30A745B','GNSMRN59L62L219S') +-- and contratti.Cod_Fiscale not in ('BLLMRC50H30A745B') + and contratti.Cod_Fiscale in (select CODICE_FISCALE from c6staging.VAR_ADEGUATEZZA_INDICATORI) + --and contratti.Cod_Fiscale in ('RVTMCL54B09H598B','00173080417','SRGFRC62H07C933N','BLLMRC50H30A745B') +-- and contratti.Cod_Fiscale in ('PCCPRZ63S65H501X') +-- and contratti.Cod_Fiscale IN ('TRVGNT69A29H769D','RRGNNT45M67B423K','QRNPRI72M08H703F','PSTFNC40D10I992T','PCCPRZ63S65H501X','FRNMRA47M56L219G') + --AND contratti.Cod_Fiscale='RRGNNT45M67B423K' + --and contratti.Cod_Fiscale='FRLMRC74B04H501C' + --- fine intervento RFAMinus +END +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A] Script Date: 08/02/2022 17:14:12 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +--ALTER procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A] (@volThreads int = 9999) +--AS +--BEGIN +-- SET NOCOUNT ON; +-- declare @sogliaRfa as decimal (18,0) +-- declare @data_perf as datetime +-- set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') +-- set @data_perf = '20200401' +-- truncate table C6Mart.tbNotAllocatedResources +-- INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) +-- SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV +-- FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD +-- INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT +-- ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE +-- AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE +-- AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA +-- WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 +-- GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE +-- SELECT distinct TOP (@volThreads) contratti.Rete +-- ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete +-- ,contratti.Cod_Agente Agente +-- ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente +-- ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente +-- ,isnull(promotori.Indirizzo,'') IndirizzoAgente +-- ,isnull(promotori.Cap,'') CapAgente +-- ,isnull(promotori.Localita,'') CittaAgente +-- ,isnull(promotori.TEL_Recapito,'') TelefonoAgente +-- ,contratti.Cod_Fiscale CodiceFiscale +-- ,clienti.Cognome CognomeCliente +-- ,clienti.nome NomeCliente +-- ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct +-- ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile +-- ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv +-- ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv +-- ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente +-- ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente +-- ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate +-- ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv +-- ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv +-- ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv +-- ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente +-- ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente +-- ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv +-- ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv +-- ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari +-- ,contratti.CodiceContratto CodiceContratto +-- ,contratti.tip_contratto +-- ,5 as idModelloDiagnosi +-- ,1 as idReportDiagnosi +-- ,'Diagnosi' as descrizioneDiagnosi +-- ,-1 as idReportMonitoraggio +-- ,719 as idModellotMonitoraggio +-- ,'Monitoraggio' as descrizioneMonitoraggio +-- ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato +-- ,CASE +-- WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 +-- ELSE RISCHIO_NA.VAR_PERC_PTF +-- END AS VaRRisorseNonAssociate +-- ,CASE +-- WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 +-- ELSE RISCHIO_NA.COPERTURA +-- END AS CoperturaRisorseNonAssociate +-- ,CASE +-- WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 +-- ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF +-- END AS VaRTotaleRisorseFinanziarie +-- ,CASE +-- WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 +-- ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA +-- END AS CoperturaTotaleRisorseFinanziarie, +-- 0 As NoMonitoraggio, +-- CASE +-- WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 +-- END AS ContrattoOld, +-- 0 AS IdReportPDFDiagnosi, +-- 0 AS IdReportPDFMonitoraggio , +-- ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi +-- CASE +-- WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 +-- END AS ContrattoOld, +-- 0 AS IdReportPDFDiagnosi, +-- 0 AS IdReportPDFMonitoraggio, +-- 0 as flagnqp, +-- 0 as flagprlrde, +-- -- modifica del 22/10/2018 - il flag professionale è più sotto- questo è un errore +-- ------0 as Flgprof, +-- 0 as flagpg +-- ----------------------------------------------------- fine 09/3/2018 +-- , +-- case contratti.TipoConsulenza +-- when 'P' then 'S' +-- when 'D' then 'N' +-- else 'N' +-- end as Flgprof +-- from C6Mart.RP_vContrattiPerGenerazioneReport contratti +-- left join C6Mart.ANAG_PROMOTORI promotori +-- on contratti.Rete = promotori.Rete +-- and contratti.Cod_Agente = promotori.Id_Promotore +-- left join C6Mart.tbNotAllocatedResources as nar --pk +-- on contratti.Rete = nar.Rete --pk +-- and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk +-- left join C6Mart.ANAG_CLIENTI clienti +-- on contratti.Rete = clienti.Rete +-- and contratti.Cod_Fiscale = clienti.Cod_Fiscale +-- INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF +-- on contratti.Rete = patrimonioBF.Rete +-- and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro +-- on contratti.Rete = patrimonioAltro.Rete +-- and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare +-- on contratti.Rete = patrimonioImmobiliare.Rete +-- and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi +-- on contratti.Rete = patrimonioTerzi.Rete +-- and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale +-- left outer join C6Mart.MIFID MIFID +-- on contratti.Rete = MIFID.Rete +-- and contratti.Cod_Fiscale = MIFID.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset +-- on contratti.Rete = PatrNonRapprAsset.Rete +-- and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale +-- left outer join C6Mart.vNumeroIntermediari numIntermediari +-- on contratti.Rete = numIntermediari.Rete +-- and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale +-- left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA +-- on contratti.Rete = RISCHIO_NA.Rete +-- and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale +-- and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' +-- left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE +-- on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete +-- and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale +-- and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' +-- left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI +-- on contratti.Rete = PARTITEVIAGGIANTI.RETE +-- and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE +-- left join c6mart.vcontrattic6 vcontr +-- on vcontr.codicecontratto = contratti.codicecontratto +-- where 1=1 +-- and nar.rete is null --pk +-- and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) +-- --- inizio intervento RFAMinus +-- and (patrimonioBF.ctv >= @sogliaRFA or vcontr.data_perf < @data_perf) +-- --- fine intervento RFAMinus +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_CAMPIONE.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_CAMPIONE.sql new file mode 100644 index 00000000..79db072d --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_CAMPIONE.sql @@ -0,0 +1,315 @@ +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_CAMPIONE] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + truncate table C6Mart.tbNotAllocatedResources + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + declare @sogliaRfa as decimal (18,0) + declare @sogliaRfaDB as decimal (18,0) + declare @data_perf as datetime + set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + set @data_perf = '20200401' + set @sogliaRfaDB=0 + SELECT distinct TOP (@volThreads) + contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,case when contratti.tip_contratto=3 then 6 else 5 end as idModelloDiagnosi --5 as idModelloDiagnosi aggiunta per Fideuram Direct / Direct Banker + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio , + ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + -- modifica del 22/10/2018 - il flag professionale è più sotto- questo è un errore + ------0 as Flgprof, + 0 as flagpg + ----------------------------------------------------- fine 09/3/2018 + , + case contratti.TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.tbNotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6mart.vcontrattic6 vcontr + on vcontr.codicecontratto = contratti.codicecontratto + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + --- inizio intervento RFAMinus + and (patrimonioBF.ctv >= @sogliaRFA or vcontr.data_perf < @data_perf) --rimossa per Fideuram Direct / Direct Banker + and (( + contratti.tip_contratto <> 3 + AND patrimonioBF.ctv >= @sogliaRFA + ) + OR ( + contratti.tip_contratto = 3 + AND patrimonioBF.ctv >= @sogliaRFADB + ) or vcontr.data_perf < @data_perf) -- aggiunta per Fideuram Direct / Direct Banker + -- and contratti.Cod_Fiscale in (select Cod_Fiscale from c6mart.BrsClienteESG where Preferenza_esg_cliente=1) + --and contratti.Cod_Fiscale in ('PRVLSS76B21H620R','CHNLRD74B22G273D') + --and contratti.Cod_Fiscale in ('CRNMHL67L26F839R','MRLSLV83E60D912U') + --and contratti.Cod_Fiscale in ('BLLMRC50H30A745B','CRNMHL67L26F839R','MRLSLV83E60D912U') + --and contratti.Cod_Fiscale IN('BLLMRC50H30A745B') + and contratti.tip_contratto=3 + --- fine intervento RFAMinus +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A] Script Date: 08/02/2022 17:14:12 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +--ALTER procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A] (@volThreads int = 9999) +--AS +--BEGIN +-- SET NOCOUNT ON; +-- declare @sogliaRfa as decimal (18,0) +-- declare @data_perf as datetime +-- set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') +-- set @data_perf = '20200401' +-- truncate table C6Mart.tbNotAllocatedResources +-- INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) +-- SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV +-- FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD +-- INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT +-- ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE +-- AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE +-- AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA +-- WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 +-- GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE +-- SELECT distinct TOP (@volThreads) contratti.Rete +-- ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete +-- ,contratti.Cod_Agente Agente +-- ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente +-- ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente +-- ,isnull(promotori.Indirizzo,'') IndirizzoAgente +-- ,isnull(promotori.Cap,'') CapAgente +-- ,isnull(promotori.Localita,'') CittaAgente +-- ,isnull(promotori.TEL_Recapito,'') TelefonoAgente +-- ,contratti.Cod_Fiscale CodiceFiscale +-- ,clienti.Cognome CognomeCliente +-- ,clienti.nome NomeCliente +-- ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct +-- ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile +-- ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv +-- ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv +-- ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente +-- ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente +-- ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate +-- ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv +-- ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv +-- ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv +-- ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente +-- ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente +-- ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv +-- ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv +-- ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari +-- ,contratti.CodiceContratto CodiceContratto +-- ,contratti.tip_contratto +-- ,5 as idModelloDiagnosi +-- ,1 as idReportDiagnosi +-- ,'Diagnosi' as descrizioneDiagnosi +-- ,-1 as idReportMonitoraggio +-- ,719 as idModellotMonitoraggio +-- ,'Monitoraggio' as descrizioneMonitoraggio +-- ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato +-- ,CASE +-- WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 +-- ELSE RISCHIO_NA.VAR_PERC_PTF +-- END AS VaRRisorseNonAssociate +-- ,CASE +-- WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 +-- ELSE RISCHIO_NA.COPERTURA +-- END AS CoperturaRisorseNonAssociate +-- ,CASE +-- WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 +-- ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF +-- END AS VaRTotaleRisorseFinanziarie +-- ,CASE +-- WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 +-- ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA +-- END AS CoperturaTotaleRisorseFinanziarie, +-- 0 As NoMonitoraggio, +-- CASE +-- WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 +-- END AS ContrattoOld, +-- 0 AS IdReportPDFDiagnosi, +-- 0 AS IdReportPDFMonitoraggio , +-- ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi +-- CASE +-- WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 +-- END AS ContrattoOld, +-- 0 AS IdReportPDFDiagnosi, +-- 0 AS IdReportPDFMonitoraggio, +-- 0 as flagnqp, +-- 0 as flagprlrde, +-- -- modifica del 22/10/2018 - il flag professionale è più sotto- questo è un errore +-- ------0 as Flgprof, +-- 0 as flagpg +-- ----------------------------------------------------- fine 09/3/2018 +-- , +-- case contratti.TipoConsulenza +-- when 'P' then 'S' +-- when 'D' then 'N' +-- else 'N' +-- end as Flgprof +-- from C6Mart.RP_vContrattiPerGenerazioneReport contratti +-- left join C6Mart.ANAG_PROMOTORI promotori +-- on contratti.Rete = promotori.Rete +-- and contratti.Cod_Agente = promotori.Id_Promotore +-- left join C6Mart.tbNotAllocatedResources as nar --pk +-- on contratti.Rete = nar.Rete --pk +-- and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk +-- left join C6Mart.ANAG_CLIENTI clienti +-- on contratti.Rete = clienti.Rete +-- and contratti.Cod_Fiscale = clienti.Cod_Fiscale +-- INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF +-- on contratti.Rete = patrimonioBF.Rete +-- and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro +-- on contratti.Rete = patrimonioAltro.Rete +-- and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare +-- on contratti.Rete = patrimonioImmobiliare.Rete +-- and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi +-- on contratti.Rete = patrimonioTerzi.Rete +-- and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale +-- left outer join C6Mart.MIFID MIFID +-- on contratti.Rete = MIFID.Rete +-- and contratti.Cod_Fiscale = MIFID.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset +-- on contratti.Rete = PatrNonRapprAsset.Rete +-- and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale +-- left outer join C6Mart.vNumeroIntermediari numIntermediari +-- on contratti.Rete = numIntermediari.Rete +-- and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale +-- left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA +-- on contratti.Rete = RISCHIO_NA.Rete +-- and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale +-- and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' +-- left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE +-- on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete +-- and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale +-- and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' +-- left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI +-- on contratti.Rete = PARTITEVIAGGIANTI.RETE +-- and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE +-- left join c6mart.vcontrattic6 vcontr +-- on vcontr.codicecontratto = contratti.codicecontratto +-- where 1=1 +-- and nar.rete is null --pk +-- and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) +-- --- inizio intervento RFAMinus +-- and (patrimonioBF.ctv >= @sogliaRFA or vcontr.data_perf < @data_perf) +-- --- fine intervento RFAMinus +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_ESG.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_ESG.sql new file mode 100644 index 00000000..dcbcae43 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_ESG.sql @@ -0,0 +1,299 @@ +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_ESG] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + declare @sogliaRfa as decimal (18,0) + declare @data_perf as datetime + set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + set @data_perf = '20200401' + truncate table C6Mart.tbNotAllocatedResources + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + SELECT distinct TOP (@volThreads) contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio , + ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + -- modifica del 22/10/2018 - il flag professionale è più sotto- questo è un errore + ------0 as Flgprof, + 0 as flagpg + ----------------------------------------------------- fine 09/3/2018 + , + case contratti.TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.tbNotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6mart.vcontrattic6 vcontr + on vcontr.codicecontratto = contratti.codicecontratto + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + --- inizio intervento RFAMinus + and (patrimonioBF.ctv >= @sogliaRFA or vcontr.data_perf < @data_perf) + and contratti.Cod_Fiscale='BFFNCM61E24E851I' + --- fine intervento RFAMinus +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A] Script Date: 08/02/2022 17:14:12 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +--ALTER procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A] (@volThreads int = 9999) +--AS +--BEGIN +-- SET NOCOUNT ON; +-- declare @sogliaRfa as decimal (18,0) +-- declare @data_perf as datetime +-- set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') +-- set @data_perf = '20200401' +-- truncate table C6Mart.tbNotAllocatedResources +-- INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) +-- SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV +-- FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD +-- INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT +-- ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE +-- AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE +-- AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA +-- WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 +-- GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE +-- SELECT distinct TOP (@volThreads) contratti.Rete +-- ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete +-- ,contratti.Cod_Agente Agente +-- ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente +-- ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente +-- ,isnull(promotori.Indirizzo,'') IndirizzoAgente +-- ,isnull(promotori.Cap,'') CapAgente +-- ,isnull(promotori.Localita,'') CittaAgente +-- ,isnull(promotori.TEL_Recapito,'') TelefonoAgente +-- ,contratti.Cod_Fiscale CodiceFiscale +-- ,clienti.Cognome CognomeCliente +-- ,clienti.nome NomeCliente +-- ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct +-- ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile +-- ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv +-- ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv +-- ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente +-- ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente +-- ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate +-- ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv +-- ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv +-- ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv +-- ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente +-- ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente +-- ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv +-- ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv +-- ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari +-- ,contratti.CodiceContratto CodiceContratto +-- ,contratti.tip_contratto +-- ,5 as idModelloDiagnosi +-- ,1 as idReportDiagnosi +-- ,'Diagnosi' as descrizioneDiagnosi +-- ,-1 as idReportMonitoraggio +-- ,719 as idModellotMonitoraggio +-- ,'Monitoraggio' as descrizioneMonitoraggio +-- ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato +-- ,CASE +-- WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 +-- ELSE RISCHIO_NA.VAR_PERC_PTF +-- END AS VaRRisorseNonAssociate +-- ,CASE +-- WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 +-- ELSE RISCHIO_NA.COPERTURA +-- END AS CoperturaRisorseNonAssociate +-- ,CASE +-- WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 +-- ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF +-- END AS VaRTotaleRisorseFinanziarie +-- ,CASE +-- WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 +-- ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA +-- END AS CoperturaTotaleRisorseFinanziarie, +-- 0 As NoMonitoraggio, +-- CASE +-- WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 +-- END AS ContrattoOld, +-- 0 AS IdReportPDFDiagnosi, +-- 0 AS IdReportPDFMonitoraggio , +-- ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi +-- CASE +-- WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 +-- END AS ContrattoOld, +-- 0 AS IdReportPDFDiagnosi, +-- 0 AS IdReportPDFMonitoraggio, +-- 0 as flagnqp, +-- 0 as flagprlrde, +-- -- modifica del 22/10/2018 - il flag professionale è più sotto- questo è un errore +-- ------0 as Flgprof, +-- 0 as flagpg +-- ----------------------------------------------------- fine 09/3/2018 +-- , +-- case contratti.TipoConsulenza +-- when 'P' then 'S' +-- when 'D' then 'N' +-- else 'N' +-- end as Flgprof +-- from C6Mart.RP_vContrattiPerGenerazioneReport contratti +-- left join C6Mart.ANAG_PROMOTORI promotori +-- on contratti.Rete = promotori.Rete +-- and contratti.Cod_Agente = promotori.Id_Promotore +-- left join C6Mart.tbNotAllocatedResources as nar --pk +-- on contratti.Rete = nar.Rete --pk +-- and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk +-- left join C6Mart.ANAG_CLIENTI clienti +-- on contratti.Rete = clienti.Rete +-- and contratti.Cod_Fiscale = clienti.Cod_Fiscale +-- INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF +-- on contratti.Rete = patrimonioBF.Rete +-- and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro +-- on contratti.Rete = patrimonioAltro.Rete +-- and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare +-- on contratti.Rete = patrimonioImmobiliare.Rete +-- and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi +-- on contratti.Rete = patrimonioTerzi.Rete +-- and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale +-- left outer join C6Mart.MIFID MIFID +-- on contratti.Rete = MIFID.Rete +-- and contratti.Cod_Fiscale = MIFID.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset +-- on contratti.Rete = PatrNonRapprAsset.Rete +-- and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale +-- left outer join C6Mart.vNumeroIntermediari numIntermediari +-- on contratti.Rete = numIntermediari.Rete +-- and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale +-- left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA +-- on contratti.Rete = RISCHIO_NA.Rete +-- and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale +-- and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' +-- left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE +-- on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete +-- and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale +-- and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' +-- left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI +-- on contratti.Rete = PARTITEVIAGGIANTI.RETE +-- and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE +-- left join c6mart.vcontrattic6 vcontr +-- on vcontr.codicecontratto = contratti.codicecontratto +-- where 1=1 +-- and nar.rete is null --pk +-- and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) +-- --- inizio intervento RFAMinus +-- and (patrimonioBF.ctv >= @sogliaRFA or vcontr.data_perf < @data_perf) +-- --- fine intervento RFAMinus +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_GB.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_GB.sql new file mode 100644 index 00000000..d38db088 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_GB.sql @@ -0,0 +1,294 @@ +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_GB] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; +-- [C6Mart].[RP_Selettore_GetDataThreads] 'SEI' +-- [C6Mart].[RP_Selettore_GetDataThreads] 'DIRECT' + truncate table C6Mart.tbNotAllocatedResources + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + declare @sogliaRfa as decimal (18,0) + declare @sogliaRfaDB as decimal (18,0) + declare @data_perf as datetime + declare @nomeRep as varchar(32) + set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + set @data_perf = '20200401' + set @sogliaRfaDB=0 + set @nomeRep = (select Reportistica from [C6Mart].[TB_Selettore_GetDataThreads]) +if (@nomeRep='SEI') +BEGIN + SELECT distinct top (@volThreads) + contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto--,2 as tip_contratto-- + ,case when contratti.tip_contratto=3 then 6 else 5 end as idModelloDiagnosi --5 as idModelloDiagnosi aggiunta per Fideuram Direct / Direct Banker + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio , + ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + -- modifica del 22/10/2018 - il flag professionale è più sotto- questo è un errore + ------0 as Flgprof, + 0 as flagpg + ----------------------------------------------------- fine 09/3/2018 + , + case contratti.TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.tbNotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato_SenzaNobPrez patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + --left join c6mart.vcontrattic6 vcontr + --on vcontr.codicecontratto = contratti.codicecontratto + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + --- inizio intervento RFAMinus + and ((patrimonioBF.ctv >= @sogliaRFA) or (patrimonioBF.ctv >= 25000 and contratti.data_inizioavanzato < '20240412')) --rimossa per Fideuram Direct / Direct Banker + and contratti.tip_contratto <> 3 + --and contratti.Cod_Fiscale in ('BRCCLN52L04C494U') --,'05291050267','BRCCLN52L04C494U')--Da togliere + --and contratti.Cod_Fiscale in ('CMSDDD45S16B565N','05291050267','BRCCLN52L04C494U')--Da togliere + --and contratti.rete = 'W' -- rete F + --prova gladiolo decommentare +and contratti.Cod_Fiscale not in ('RVIFNC70A52B885O') +END +if (@nomeRep='DIRECT') +BEGIN + SELECT distinct + contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,case when contratti.tip_contratto=3 then 6 else 5 end as idModelloDiagnosi --5 as idModelloDiagnosi aggiunta per Fideuram Direct / Direct Banker + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio , + ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + -- modifica del 22/10/2018 - il flag professionale è più sotto- questo è un errore + ------0 as Flgprof, + 0 as flagpg + ----------------------------------------------------- fine 09/3/2018 + , + case contratti.TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.tbNotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato_SenzaNobPrez patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6mart.vcontrattic6 vcontr + on vcontr.codicecontratto = contratti.codicecontratto + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + and contratti.tip_contratto = 3 + AND patrimonioBF.ctv >= @sogliaRFADB + -- and vcontr.data_perf < @data_perf + and contratti.Cod_Fiscale in (select CODICE_FISCALE from c6staging.VAR_ADEGUATEZZA_INDICATORI) + and 1=0 --da togliere +END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_Pino.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_Pino.sql new file mode 100644 index 00000000..051f2a92 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_Pino.sql @@ -0,0 +1,152 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_Pino] + -- Add the parameters for the stored procedure here + @volThreads int = 9999 +AS +BEGIN +SET NOCOUNT ON; + declare @sogliaRfa as decimal (18,0) + declare @data_perf as datetime + set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + set @data_perf = '20200401' + truncate table C6Mart.tbNotAllocatedResources + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + SELECT distinct TOP (@volThreads) contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio , + ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + -- modifica del 22/10/2018 - il flag professionale è più sotto- questo è un errore + ------0 as Flgprof, + 0 as flagpg + ----------------------------------------------------- fine 09/3/2018 + , + case contratti.TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.tbNotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6mart.vcontrattic6 vcontr + on vcontr.codicecontratto = contratti.codicecontratto + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + --- inizio intervento RFAMinus + and (patrimonioBF.ctv >= @sogliaRFA or vcontr.data_perf < @data_perf ) + --- fine intervento RFAMinus +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST.sql new file mode 100644 index 00000000..956c56a2 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST.sql @@ -0,0 +1,126 @@ +--[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST] 10 +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + SELECT distinct TOP 1000 contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio , + ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + 0 as Flgprof, + 0 as flagpg + ----------------------------------------------------- fine 09/3/2018 + , + case TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + --left join C6Mart.tbNotAllocatedResources as nar --pk + -- on contratti.Rete = nar.Rete --pk + -- and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + --and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P.sql new file mode 100644 index 00000000..6a7d5159 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P.sql @@ -0,0 +1,118 @@ +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + truncate table C6Mart.tbNotAllocatedResources + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + SELECT distinct TOP (@volThreads) contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.tbNotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_Test2.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_Test2.sql new file mode 100644 index 00000000..179a7a51 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_Test2.sql @@ -0,0 +1,296 @@ +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_Test2] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + declare @sogliaRfa as decimal (18,0) + declare @data_perf as datetime + set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + set @data_perf = '20200401' + truncate table C6Mart.tbNotAllocatedResources + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + SELECT distinct TOP (@volThreads) contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio , + ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + -- modifica del 22/10/2018 - il flag professionale è più sotto- questo è un errore + ------0 as Flgprof, + 0 as flagpg + ----------------------------------------------------- fine 09/3/2018 + , + case contratti.TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.tbNotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + left join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6mart.vcontrattic6 vcontr + on vcontr.codicecontratto = contratti.codicecontratto + where + contratti.Cod_Fiscale ='CCCLSS72L06H501H' + --- inizio intervento RFAMinus + --- fine intervento RFAMinus +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A] Script Date: 08/02/2022 17:14:12 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +--ALTER procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A] (@volThreads int = 9999) +--AS +--BEGIN +-- SET NOCOUNT ON; +-- declare @sogliaRfa as decimal (18,0) +-- declare @data_perf as datetime +-- set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') +-- set @data_perf = '20200401' +-- truncate table C6Mart.tbNotAllocatedResources +-- INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) +-- SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV +-- FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD +-- INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT +-- ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE +-- AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE +-- AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA +-- WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 +-- GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE +-- SELECT distinct TOP (@volThreads) contratti.Rete +-- ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete +-- ,contratti.Cod_Agente Agente +-- ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente +-- ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente +-- ,isnull(promotori.Indirizzo,'') IndirizzoAgente +-- ,isnull(promotori.Cap,'') CapAgente +-- ,isnull(promotori.Localita,'') CittaAgente +-- ,isnull(promotori.TEL_Recapito,'') TelefonoAgente +-- ,contratti.Cod_Fiscale CodiceFiscale +-- ,clienti.Cognome CognomeCliente +-- ,clienti.nome NomeCliente +-- ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct +-- ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile +-- ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv +-- ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv +-- ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente +-- ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente +-- ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate +-- ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv +-- ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv +-- ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv +-- ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente +-- ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente +-- ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv +-- ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv +-- ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari +-- ,contratti.CodiceContratto CodiceContratto +-- ,contratti.tip_contratto +-- ,5 as idModelloDiagnosi +-- ,1 as idReportDiagnosi +-- ,'Diagnosi' as descrizioneDiagnosi +-- ,-1 as idReportMonitoraggio +-- ,719 as idModellotMonitoraggio +-- ,'Monitoraggio' as descrizioneMonitoraggio +-- ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato +-- ,CASE +-- WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 +-- ELSE RISCHIO_NA.VAR_PERC_PTF +-- END AS VaRRisorseNonAssociate +-- ,CASE +-- WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 +-- ELSE RISCHIO_NA.COPERTURA +-- END AS CoperturaRisorseNonAssociate +-- ,CASE +-- WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 +-- ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF +-- END AS VaRTotaleRisorseFinanziarie +-- ,CASE +-- WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 +-- ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA +-- END AS CoperturaTotaleRisorseFinanziarie, +-- 0 As NoMonitoraggio, +-- CASE +-- WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 +-- END AS ContrattoOld, +-- 0 AS IdReportPDFDiagnosi, +-- 0 AS IdReportPDFMonitoraggio , +-- ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi +-- CASE +-- WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 +-- END AS ContrattoOld, +-- 0 AS IdReportPDFDiagnosi, +-- 0 AS IdReportPDFMonitoraggio, +-- 0 as flagnqp, +-- 0 as flagprlrde, +-- -- modifica del 22/10/2018 - il flag professionale è più sotto- questo è un errore +-- ------0 as Flgprof, +-- 0 as flagpg +-- ----------------------------------------------------- fine 09/3/2018 +-- , +-- case contratti.TipoConsulenza +-- when 'P' then 'S' +-- when 'D' then 'N' +-- else 'N' +-- end as Flgprof +-- from C6Mart.RP_vContrattiPerGenerazioneReport contratti +-- left join C6Mart.ANAG_PROMOTORI promotori +-- on contratti.Rete = promotori.Rete +-- and contratti.Cod_Agente = promotori.Id_Promotore +-- left join C6Mart.tbNotAllocatedResources as nar --pk +-- on contratti.Rete = nar.Rete --pk +-- and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk +-- left join C6Mart.ANAG_CLIENTI clienti +-- on contratti.Rete = clienti.Rete +-- and contratti.Cod_Fiscale = clienti.Cod_Fiscale +-- INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF +-- on contratti.Rete = patrimonioBF.Rete +-- and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro +-- on contratti.Rete = patrimonioAltro.Rete +-- and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare +-- on contratti.Rete = patrimonioImmobiliare.Rete +-- and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi +-- on contratti.Rete = patrimonioTerzi.Rete +-- and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale +-- left outer join C6Mart.MIFID MIFID +-- on contratti.Rete = MIFID.Rete +-- and contratti.Cod_Fiscale = MIFID.Cod_Fiscale +-- left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset +-- on contratti.Rete = PatrNonRapprAsset.Rete +-- and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale +-- left outer join C6Mart.vNumeroIntermediari numIntermediari +-- on contratti.Rete = numIntermediari.Rete +-- and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale +-- left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA +-- on contratti.Rete = RISCHIO_NA.Rete +-- and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale +-- and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' +-- left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE +-- on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete +-- and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale +-- and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' +-- left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI +-- on contratti.Rete = PARTITEVIAGGIANTI.RETE +-- and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE +-- left join c6mart.vcontrattic6 vcontr +-- on vcontr.codicecontratto = contratti.codicecontratto +-- where 1=1 +-- and nar.rete is null --pk +-- and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) +-- --- inizio intervento RFAMinus +-- and (patrimonioBF.ctv >= @sogliaRFA or vcontr.data_perf < @data_perf) +-- --- fine intervento RFAMinus +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_TEST_ANDREA.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_TEST_ANDREA.sql new file mode 100644 index 00000000..b3dfc058 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_TEST_ANDREA.sql @@ -0,0 +1,107 @@ +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_TEST_ANDREA] +AS +BEGIN + SET NOCOUNT ON; + SELECT DISTINCT contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join c6Mart.NotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where contratti.Cod_Fiscale = 'FRLFLC51L11H501G' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_orig.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_orig.sql new file mode 100644 index 00000000..f09f623e --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_orig.sql @@ -0,0 +1,108 @@ +create PROCEDURE [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_orig] +AS +BEGIN + SET NOCOUNT ON; + SELECT DISTINCT contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join c6Mart.NotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_SELECT_ZIP_DA_INVIARE.sql b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_ZIP_DA_INVIARE.sql new file mode 100644 index 00000000..fcce0b0e --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_SELECT_ZIP_DA_INVIARE.sql @@ -0,0 +1,24 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_SELECT_ZIP_DA_INVIARE] +AS +BEGIN + SELECT +-- Rete, +-- CodiceFiscale, + id IdZip + ,NomeFile +-- , +-- TipoReport, +-- DataGenerazione, +-- DataInvio, +-- FlagInvio, +-- NomeFile + FROM + C6Mart.GESTIONE_ZIP_FTP + WHERE + FlagInvio = 'N' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_S_Intermediari.sql b/sql/storedProduzione/C6Mart_GESTIONE_S_Intermediari.sql new file mode 100644 index 00000000..564f8db0 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_S_Intermediari.sql @@ -0,0 +1,21 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[GESTIONE_S_Intermediari] 'S','GHGRTI63T44L219D' +--[C6Mart].[GESTIONE_S_Intermediari] 'F','BRTVTR64T13L219G' +CREATE procedure [C6Mart].[GESTIONE_S_Intermediari] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceCliente varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SELECT DISTINCT INTERMEDIARIO + FROM C6Mart.PATRIMONIO_TERZI + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceCliente +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_UPDATE_EMAIL_HOST.sql b/sql/storedProduzione/C6Mart_GESTIONE_UPDATE_EMAIL_HOST.sql new file mode 100644 index 00000000..c29b09af --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_UPDATE_EMAIL_HOST.sql @@ -0,0 +1,11 @@ +--exec [C6Mart].[Gestione_EMAIL_Inviate] @Email_Id=7,@DataInvio='2008-11-17 18:10:43:603' +CREATE procedure [C6Mart].[GESTIONE_UPDATE_EMAIL_HOST] + @Email_Id int +AS +BEGIN + SET NOCOUNT ON; + UPDATE [C6Mart].GESTIONE_EMAIL + SET Data_Comunicazione_Host = getdate() + WHERE Email_Id = @Email_Id + RETURN @@ROWCOUNT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_UPDATE_EMAIL_INVIATE.sql b/sql/storedProduzione/C6Mart_GESTIONE_UPDATE_EMAIL_INVIATE.sql new file mode 100644 index 00000000..dbc17bb8 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_UPDATE_EMAIL_INVIATE.sql @@ -0,0 +1,36 @@ +--exec [C6Mart].[Gestione_EMAIL_Inviate] @Email_Id=7,@DataInvio='2008-11-17 18:10:43:603' +CREATE procedure [C6Mart].[GESTIONE_UPDATE_EMAIL_INVIATE] + @Email_Id int, + @DataInvio datetime +AS +BEGIN + SET NOCOUNT ON; + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'GESTIONE_UPDATE_EMAIL_INVIATE', + GETDATE(), + 'Elaborazione giornaliera' + ) + UPDATE [C6Mart].GESTIONE_EMAIL + SET Data_Invio = @DataInvio, + Inviata = 'S' + WHERE Email_Id = @Email_Id + RETURN @@ROWCOUNT + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'GESTIONE_UPDATE_EMAIL_INVIATE' --AND + --Inizio = ( + -- SELECT + -- MAX(Inizio) + -- FROM + -- LOG_ESECUZIONE + -- WHERE + -- Nome = 'GESTIONE_UPDATE_EMAIL_INVIATE' + --) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_UPDATE_FTP.sql b/sql/storedProduzione/C6Mart_GESTIONE_UPDATE_FTP.sql new file mode 100644 index 00000000..8a88e0d5 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_UPDATE_FTP.sql @@ -0,0 +1,33 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- 22/12/2008 MODIFICA PER GESTIONE RISTAMPE +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_UPDATE_FTP] + @Id INT, + @TipoReport varchar(2), + @IdZip INT +AS +BEGIN + IF @TipoReport <> 'LR' -- INVIO NORMALE + BEGIN + UPDATE C6Mart.GESTIONE_PDF_FTP + SET + DataInvio = GetDate(), + FlagInvio = 'S', + Id_fk_Zip = @IdZip + WHERE + IdReport = @Id + END + ELSE -- INVIO DI UNA RISTAMPA. TENGO TRACCIA SOLO DELL'ULTIMA DATA DI RISTAMPA + BEGIN + UPDATE C6Mart.GESTIONE_PDF_FTP + SET + DataInvioRistampa = GetDate(), + FlagInvio = 'S', + Id_fk_Zip = @IdZip + WHERE + IdReport = @Id + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GESTIONE_UPDATE_ZIP.sql b/sql/storedProduzione/C6Mart_GESTIONE_UPDATE_ZIP.sql new file mode 100644 index 00000000..96f5cec7 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GESTIONE_UPDATE_ZIP.sql @@ -0,0 +1,16 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_UPDATE_ZIP] + @Id int +AS +BEGIN + UPDATE C6Mart.GESTIONE_ZIP_FTP + SET + DataInvio = GetDate(), + FlagInvio = 'S' + WHERE + Id = @Id +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GETDATATHREADS_LETTERE.sql b/sql/storedProduzione/C6Mart_GETDATATHREADS_LETTERE.sql new file mode 100644 index 00000000..a4180a81 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GETDATATHREADS_LETTERE.sql @@ -0,0 +1,271 @@ +CREATE procedure [C6Mart].[GETDATATHREADS_LETTERE] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + declare @sogliaRfa as decimal (18,0); + declare @sogliaRfaDB as decimal (18,0); + declare @data_perf as datetime; + declare @nomeRep as varchar(32) = (select Reportistica from [C6Mart].[TB_Selettore_GetDataThreads]); + set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA'); + set @data_perf = '20200401'; + set @sogliaRfaDB=0; + declare @NotAllocatedResources TABLE (COD_FISCALE varchar(32), RETE varchar(1), CTV decimal); + create table #NotAllocatedResources (COD_FISCALE varchar(32), RETE varchar(1), CTV decimal) + INSERT INTO #NotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + if (@nomeRep='SEI') + BEGIN + SELECT distinct --top (@volThreads) + isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,case when contratti.tip_contratto=3 then 6 else 5 end as idModelloDiagnosi --5 as idModelloDiagnosi aggiunta per Fideuram Direct / Direct Banker + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio , + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + 0 as flagpg, + case contratti.TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + ,0 as scaduto + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join #NotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato_SenzaNobPrez patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + and ((patrimonioBF.ctv >= @sogliaRFA))-- or (patrimonioBF.ctv >= 25000 and contratti.data_inizioavanzato < '20240412')) --rimossa per Fideuram Direct / Direct Banker + and contratti.tip_contratto <> 3 + --contratti.Cod_Fiscale not in ('RVIFNC70A52B885O') + END + if (@nomeRep='DIRECT') + BEGIN + SELECT distinct --top (@volThreads) + isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,case when contratti.tip_contratto=3 then 6 else 5 end as idModelloDiagnosi --5 as idModelloDiagnosi aggiunta per Fideuram Direct / Direct Banker + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + 0 as flagpg, + case contratti.TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + ,0 as scaduto + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join @NotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato_SenzaNobPrez patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6mart.vcontrattic6 vcontr + on vcontr.codicecontratto = contratti.codicecontratto + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + and contratti.tip_contratto = 3 + and patrimonioBF.ctv >= @sogliaRFADB + and contratti.Cod_Fiscale in (select CODICE_FISCALE from c6staging.VAR_ADEGUATEZZA_INDICATORI) + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GETDATATHREADS_LETTERE_GB.sql b/sql/storedProduzione/C6Mart_GETDATATHREADS_LETTERE_GB.sql new file mode 100644 index 00000000..121844ad --- /dev/null +++ b/sql/storedProduzione/C6Mart_GETDATATHREADS_LETTERE_GB.sql @@ -0,0 +1,268 @@ +create procedure [C6Mart].[GETDATATHREADS_LETTERE_GB] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + declare @sogliaRfa as decimal (18,0); + declare @sogliaRfaDB as decimal (18,0); + declare @data_perf as datetime; + declare @nomeRep as varchar(32) = (select Reportistica from [C6Mart].[TB_Selettore_GetDataThreads]); + set @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA'); + set @data_perf = '20200401'; + set @sogliaRfaDB=0; + declare @NotAllocatedResources TABLE (COD_FISCALE varchar(32), RETE varchar(1), CTV decimal); + INSERT INTO @NotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + if (@nomeRep='SEI') + BEGIN + SELECT distinct top (@volThreads) + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,case when contratti.tip_contratto=3 then 6 else 5 end as idModelloDiagnosi --5 as idModelloDiagnosi aggiunta per Fideuram Direct / Direct Banker + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio , + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + 0 as flagpg, + case contratti.TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join @NotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato_SenzaNobPrez patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + --and ((patrimonioBF.ctv >= @sogliaRFA) or (patrimonioBF.ctv >= 25000 and contratti.data_inizioavanzato < '20240412')) --rimossa per Fideuram Direct / Direct Banker + and contratti.tip_contratto <> 3 + and contratti.Cod_Fiscale not in ('RVIFNC70A52B885O') + END + if (@nomeRep='DIRECT') + BEGIN + SELECT distinct top (@volThreads) + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,case when contratti.tip_contratto=3 then 6 else 5 end as idModelloDiagnosi --5 as idModelloDiagnosi aggiunta per Fideuram Direct / Direct Banker + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + 0 as flagpg, + case contratti.TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join @NotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato_SenzaNobPrez patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6mart.vcontrattic6 vcontr + on vcontr.codicecontratto = contratti.codicecontratto + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + and contratti.tip_contratto = 3 + --and patrimonioBF.ctv >= @sogliaRFADB + and contratti.Cod_Fiscale in (select CODICE_FISCALE from c6staging.VAR_ADEGUATEZZA_INDICATORI) + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GET_RECUPERO_LETTERE.sql b/sql/storedProduzione/C6Mart_GET_RECUPERO_LETTERE.sql new file mode 100644 index 00000000..f61235a0 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GET_RECUPERO_LETTERE.sql @@ -0,0 +1,67 @@ +CREATE procedure [C6Mart].[GET_RECUPERO_LETTERE] +AS +BEGIN + SET NOCOUNT ON; + SELECT distinct + contratti.CodiceContratto CodiceContratto + ,contratti.Rete + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.nome NomeCliente + ,clienti.Cognome CognomeCliente + ,contratti.Cod_Agente CodicePB + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomePB + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomePB + ,gg.numeroPagine + ,contratti.tip_contratto + --, InvioBenvenuto + --, Data_FineAvanzato, contratti.DATA_PERF, RisorseNa, NumRevoche, Profilo_EC + --select * + from C6Mart.GESTIONE_PDF_FTP_DaRecuperare_20250503 gg + join C6Mart.VCONTRATTI + --join C6Mart.RP_vContrattiPerGenerazioneReport + contratti on contratti.rete = gg.rete and contratti.Cod_Fiscale = gg.CodiceFiscale + left JOIN C6Mart.CONTRATTOSEI_METADATI md ON md.chiaveClientePB = contratti.chiaveClientePB + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + /*INNER join C6Mart.vPatrimoniobfAggregato_SenzaNobPrez patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + */ + where 1=1 + --and exists (SELECT 1 FROM C6Mart.PIRAMIDE_MOD mo where mo.COD_FISCALE = contratti.COD_FISCALE) + --and CodiceContratto = '000160CO307' + order by CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_GetRiskArea.sql b/sql/storedProduzione/C6Mart_GetRiskArea.sql new file mode 100644 index 00000000..04025888 --- /dev/null +++ b/sql/storedProduzione/C6Mart_GetRiskArea.sql @@ -0,0 +1,20 @@ +--[C6Mart].[GetRiskArea] 'S', 'GLLRFL52L02L219D' +CREATE procedure [C6Mart].[GetRiskArea] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + select + case + when b.profilo is null then -1 + else b.profilo + end as profiloCode + FROM + c6mart.mifid a + left outer join C6Mart.CODIFICA_RISCHIO b + on A.PROFILO_ASS=B.PROFILO + WHERE + a.COD_FISCALE = @CodiceFiscale + and a.RETE= @Rete +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_InvioLetteraBenvenuto_ExcludedListApply.sql b/sql/storedProduzione/C6Mart_InvioLetteraBenvenuto_ExcludedListApply.sql new file mode 100644 index 00000000..4822e2ea --- /dev/null +++ b/sql/storedProduzione/C6Mart_InvioLetteraBenvenuto_ExcludedListApply.sql @@ -0,0 +1,34 @@ +CREATE procedure [C6Mart].[InvioLetteraBenvenuto_ExcludedListApply] +as +begin +begin transaction +begin try +--taking documents to update +select distinct rete, codicefiscale, idreport +into #tmp +from [C6Mart].[GESTIONE_PDF_FTP] p +where p.[DataInvio] is NULL and p.[FlagInvio] = 'N' and p.id_fk_zip = -1 + and CodiceFiscale in (select distinct CodiceFiscale from [C6Mart].[InvioLetteraBenvenuto_excludedlist] ) +--'excluding' records from GESTIONE_PDF_FTP +update p +set p.[DataInvio] = getdate() + ,p.[FlagInvio] = 'S' + ,p.[id_fk_zip] = 999999 +from [C6Mart].[GESTIONE_PDF_FTP] p + inner join #tmp c on c.codicefiscale = p.codicefiscale + and c.rete = p.rete + and c.idreport = p.idreport +--updating excludedlist, setting data_aggriogamento for records affected +update e +set e.Data_aggiornamento = getdate() +from [C6Mart].[InvioLetteraBenvenuto_excludedlist] e + inner join #tmp c on c.codicefiscale = e.codicefiscale +commit transaction +end try +begin catch + DECLARE @Msg NVARCHAR(MAX) + SELECT @Msg=ERROR_MESSAGE() + rollback transaction + RAISERROR('Error Occured: %s', 20, 101,@msg) --WITH LOG +end catch +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_FD150Anagrafica.sql b/sql/storedProduzione/C6Mart_PL_D2_FD150Anagrafica.sql new file mode 100644 index 00000000..53487980 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_FD150Anagrafica.sql @@ -0,0 +1,91 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_FD150Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + null AS Professione, --ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + --V Indirizzo Secondo AULETTA + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_INZIOAVANZATO) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + null AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + null AS ProduzioneReport,--DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + CONTRATTOSEI.[Provincia] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.VCONTRATTI AS CONTRATTOSEI -- TABELLA BASE + INNER JOIN + C6MART.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MART.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + --LEFT JOIN + -- C6MART.ANAG_CLIENTI_PREV + -- ON + -- ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + -- AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + --LEFT JOIN + -- C6MART.DATI_REPORT + -- ON + -- ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + -- AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + WHERE 1 = 1 + AND ANAG_CLIENTI.RETE = @RETE + AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_FD159PatrimonioFinanziario.sql b/sql/storedProduzione/C6Mart_PL_D2_FD159PatrimonioFinanziario.sql new file mode 100644 index 00000000..3707adf3 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_FD159PatrimonioFinanziario.sql @@ -0,0 +1,250 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_D2_S159PatrimonioFinanziario] 'F','02477630582' + CREATE procedure [C6Mart].[PL_D2_FD159PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(19,5)) AS Controvalore, + cast(A.Percentuale as decimal(19,5)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + --ELSE 'Banca Fideuram' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.PATRIMONIO_BF PATRBF + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + --and patrbf.id_area <> 'CC' + and patrbf.id_area not in ('CC','Self') + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MART.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MART.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D2_S159PatrimonioFinanziario] Script Date: 08/02/2022 16:37:35 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +----[C6Mart].[PL_D2_S159PatrimonioFinanziario] 'F','02477630582' +-- ALTER procedure [C6Mart].[PL_D2_S159PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +--SELECT +-- A.BANCA AS Banca, +-- A.ORDINAMENTO AS Ordinamento, +-- A.AssetClassId AS AssetClassId, +-- A.AssetClassName AS AssetClassName, +-- cast(A.Controvalore as decimal(19,5)) AS Controvalore, +-- cast(A.Percentuale as decimal(19,5)) AS Percentuale, +-- cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +--FROM +--( +-- SELECT DISTINCT +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- --ELSE 'Banca Fideuram' +-- ELSE 'Fideuram' +-- END AS Banca, +-- ASSETCLASS.ORDINAMENTO, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / +-- --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 +-- THEN 1 +-- ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) +-- END +-- ) * 100 AS Percentuale +-- FROM ( +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- --and patrbf.id_area <> 'CC' +-- and patrbf.id_area not in ('CC','Self') +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +---- SELECT +---- ASSETPERC.ID_ASSETCLASS, +---- PATRBF.CTV*ASSETPERC.PERC as Controvalore +---- FROM +---- C6MART.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MART.ASSET_PERC ASSETPERC +---- ON +---- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +---- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +---- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN +---- C6MART.ClientiConCCNegativo CCNegativo +---- ON +---- PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- WHERE +---- --ELIMINO I CC CON SALDO NEGATIVO +---- PATRBF.TIPO_PRODOTTO = 'CC' +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND CCNegativo.Cod_Fiscale IS NULL +---- UNION ALL +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MART.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MART.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MART.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--ORDER BY A.ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_FD160DettaglioProdottiBF.sql b/sql/storedProduzione/C6Mart_PL_D2_FD160DettaglioProdottiBF.sql new file mode 100644 index 00000000..594fab6e --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_FD160DettaglioProdottiBF.sql @@ -0,0 +1,218 @@ +create procedure [C6Mart].[PL_D2_FD160DettaglioProdottiBF] --'F','CHRMNL86P18H657Z' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +PATRBF.NOME_PROGETTO AS EE, PATRBF.ID_AREA, +CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID AS TMP, + CASE + when robo.isProgettoRobo='S' then 'Rob' + else 'ASF' + END AS needarea, + CASE + when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + --WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + --ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + WHEN patrbf.tipo_prodotto='CC' THEN 10 -- lo setto ad un valore alto in modo che si trova in basso come ordinamento + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY robo.isProgettoRobo) AS somma_controval_needarea, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY robo.isProgettoRobo) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY robo.isProgettoRobo) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY robo.isProgettoRobo) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS versato_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' + THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS MinusPlusValenza_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenza_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL + END AS somma_var_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL + END AS somma_copertura_need_prog, + cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c.') AS var_needareaString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_AREA.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_AREA.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END as var_needareaString, + CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL(5,2)) AS copertura_needarea, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 + --Valerio danilo THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE NULL + END AS copertura_needareaString, + RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, + --CASE WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as var_need_progString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END as var_need_progString, + RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATRBF.CTV AS Controvalore, + PATRBF.VERSATO_NETTO AS VersatoNetto, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, + PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, + --RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, --commentata per assenza o,oo per i cc fideuram il 29/4/2020 + case when (patrbf.tipo_prodotto ='CC') then 0.00 + else RISCHIO_PROD.VAR_PERC_PTF + end AS VaRprodotto, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 THEN 'n.c.' --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- WHEN patrbf.isin in('EURO00000009', 'EURO10000007' ) THEN 'n.c.' +-- ELSE NULL END as varProdottoString, + CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' + ELSE NULL END as varProdottoString, + RISCHIO_PROD.Copertura AS Coperturaprodotto, + PATRBF.REND_ANNO AS PerformanceYTD, + PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, + PARTVIA_DISINV AS partitaViaggiante, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 THEN '*' + ELSE NULL + END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + patrbf.tipo_prodotto as Tipo_Prodotto, + isAPC = 'N', + patrbf.chiaveprogetto +FROM C6MART.PATRIMONIO_BF PATRBF +INNER JOIN C6MART.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN AREA.ID_AREA = 'Na' THEN 'RISORSENONASSOCIATE|' +-- ELSE + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL)-- AND (LEFT(PATRBF.ID_AREA,3)<>'Na' Or PATRBF.NOME_PROGETTO <> 'Default') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = + case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +left join C6Staging.RP_Progetto_robo ROBO +on ROBO.chiaveprogetto=PATRBF.chiaveProgetto +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 +--Bido + --AND ( + --PATRBF.CTV > 0 + --OR ( PATRBF.CTV < 0 AND patrbf.tipo_prodotto = 'cc' ) + --) +-- +ORDER BY robo.isProgettoRobo,areasortorder +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_FD170RischioDiversificazione.sql b/sql/storedProduzione/C6Mart_PL_D2_FD170RischioDiversificazione.sql new file mode 100644 index 00000000..e329dd02 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_FD170RischioDiversificazione.sql @@ -0,0 +1,236 @@ +-- [C6Mart].[PL_D_S170RischioDiversificazione] 'S','02148400126' +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +CREATE procedure [C6Mart].[PL_D2_FD170RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @contaCCSelf as int + select @contaCCSelf = count(*) + from C6MART.patrimonio_Bf + where tipo_prodotto = 'CC' or isin in('EURO00000009', 'EURO10000007' ) and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from C6MART.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6mart.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6mart.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + -- Complessità + declare @maxComplessita as int + select @maxComplessita = max(compl_base) from [C6Mart].[TB_S180ProdottiComplessitaAlta] + where + cod_fiscale like + CASE when @CodiceFiscale like '%FF@%'THEN '%%' + ELSE @CodiceFiscale + END + and codman = + CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + ELSE '' + END + and rete= @Rete + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + and compl_base <> 10 + -- +SELECT + K.COD_FISCALE, + K.RETE, + CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 + END AS CTV_AGGREG, + K.CREDITRISK, +CASE + WHEN (@contaPOS - @contaCCSelf = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contaCCSelf <> 0 THEN 'n.c.' ELSE NULL END +as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contaCCSelf <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (@contaPOS - @contaCCSelf = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' when k.rete = 'S' then 'Sanpaolo Invest' else 'IW Private Inv.' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +------------------------ MIFID2 - 20180711 +case @maxComplessita + when 0 then 'Non complesso' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + else 'n.c.' +end +as complessita, +------------------------- FINE MIFID2 - 20180711 +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM C6MART.RISCHIO_AGGREGATO K +left outer JOIN C6MART.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete +left outer join C6MART.CODIFICA_RISCHIO b + ON A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D2_S170RischioDiversificazione] Script Date: 08/02/2022 17:23:55 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- [C6Mart].[PL_D_S170RischioDiversificazione] 'S','02148400126' +---- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +--ALTER procedure [C6Mart].[PL_D2_S170RischioDiversificazione] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- declare @contaCCSelf as int +-- select @contaCCSelf = count(*) +-- from C6MART.patrimonio_Bf +-- where tipo_prodotto = 'CC' or isin in('EURO00000009', 'EURO10000007' ) and cod_fiscale = @codiceFiscale and rete = @rete +-- declare @contaPOS as int +-- select @contaPOS = count(*) +-- from C6MART.patrimonio_Bf +-- where cod_fiscale = @codiceFiscale and rete = @rete +-- declare @ctvbf as decimal(12,2) +-- SELECT @ctvbf = isnull(sum(ctv),0) FROM c6mart.patrimonio_bf +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +-- declare @ctvterzi as decimal (12,2) +-- SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6mart.patrimonio_terzi +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +-- -- Complessità +-- declare @maxComplessita as int +-- select @maxComplessita = max(compl_base) from [C6Mart].[TB_S180ProdottiComplessitaAlta] +-- where +-- cod_fiscale like +-- CASE when @CodiceFiscale like '%FF@%'THEN '%%' +-- ELSE @CodiceFiscale +-- END +-- and codman = +-- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- ELSE '' +-- END +-- and rete= @Rete +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10 +-- -- +--SELECT +-- K.COD_FISCALE, +-- K.RETE, +-- CASE +-- when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf +-- when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi +-- when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi +-- else 0 +-- END AS CTV_AGGREG, +-- K.CREDITRISK, +--CASE +-- WHEN (@contaPOS - @contaCCSelf = 0) THEN 0 +-- ELSE VAR_PERC_PTF +--END AS VAR, +--CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contaCCSelf <> 0 THEN 'n.c.' ELSE NULL END +--as varString, +--CASE +-- WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contaCCSelf <> 0 +-- --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' +-- ELSE null +--END AS coperturaString, +--beneficio as diversificazione, +--CASE +-- WHEN (@contaPOS - @contaCCSelf = 0) THEN 100 +-- ELSE COPERTURA +--END AS COPERTURA, +--case +--when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +--when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +--ELSE '' +--END AS PATRIMONIO, +--case +-- when b.profilo is null then -1 +-- else b.profilo +--end as profiloCode, +--b.max_var as var_profilo, +-------------------------- MIFID2 - 20180711 +--case @maxComplessita +-- when 0 then '-' +-- when 1 then 'Minima' +-- when 2 then 'Bassa' +-- when 3 then 'Media' +-- when 4 then 'Alta' +-- when 5 then 'Molto alta' +-- else '-' +--end +--as complessita, +--------------------------- FINE MIFID2 - 20180711 +----V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +----V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +--case +--when cod_Aggreg = 'COMPLESSIVO' then 3 +--when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +--ELSE '' +--END AS Ordine +--FROM C6MART.RISCHIO_AGGREGATO K +--left outer JOIN C6MART.mifid a +-- ON k.cod_fiscale = a.cod_fiscale and +-- k.rete = a.rete +--left outer join C6MART.CODIFICA_RISCHIO b +-- ON A.PROFILO_ASS=B.PROFILO +--WHERE +----A.PROFILO_ASS=B.PROFILO +----AND K.RETE=A.RETE +----AND K.COD_FISCALE= A.COD_FISCALE +--COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +--AND k.COD_FISCALE = @COdiceFISCALE +--AND k.RETE= @RETE +--ORDER BY ordine +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S150Anagrafica.sql b/sql/storedProduzione/C6Mart_PL_D2_S150Anagrafica.sql new file mode 100644 index 00000000..f33bf71d --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S150Anagrafica.sql @@ -0,0 +1,91 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S150Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + null AS Professione, --ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + --V Indirizzo Secondo AULETTA + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_INZIOAVANZATO) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + null AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + null AS ProduzioneReport,--DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + CONTRATTOSEI.[Provincia] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.VCONTRATTI AS CONTRATTOSEI -- TABELLA BASE + INNER JOIN + C6MART.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MART.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + --LEFT JOIN + -- C6MART.ANAG_CLIENTI_PREV + -- ON + -- ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + -- AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + --LEFT JOIN + -- C6MART.DATI_REPORT + -- ON + -- ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + -- AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + WHERE 1 = 1 + AND ANAG_CLIENTI.RETE = @RETE + AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S151ProfiloDiRischio.sql b/sql/storedProduzione/C6Mart_PL_D2_S151ProfiloDiRischio.sql new file mode 100644 index 00000000..909965e5 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S151ProfiloDiRischio.sql @@ -0,0 +1,48 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S151ProfiloDiRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MART.MIFID AS M + INNER JOIN C6MART.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskclass, + @experience as experince +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S152Patrimonio.sql b/sql/storedProduzione/C6Mart_PL_D2_S152Patrimonio.sql new file mode 100644 index 00000000..60f6eb5f --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S152Patrimonio.sql @@ -0,0 +1,96 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S152Patrimonio] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + declare @PatrimonioImmobiliareProQuota decimal(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT + @PatrimonioBF = SUM(CTV) + FROM + C6MART.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area NOT IN ('CC','self') --escludo il cc negativo +-- SELECT @Part_viaggianti=SUM(IMPORTO) +-- FROM C6MART.PARTITE_VIAGGIANTI partvia +-- WHERE +-- partvia.Rete = @Rete +-- and partvia.Cod_Fiscale = @CodiceFiscale + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6MART.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6MART.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + SELECT + @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM + C6MART.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM + C6MART.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioImmobiliareProQuota = isnull(SUM(patrImm.VALORE_STIMATO_PROQUOTA), 0) + FROM + C6MART.PATRIMONIO_IMMOBILIARE_ProQuota patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioAltro = SUM(patrAltro.ctv) + FROM + C6MART.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV, + @PatrimonioImmobiliareProQuota as ImmobiliarePQCTV +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S152Patrimonio_20190107_ProQuota.sql b/sql/storedProduzione/C6Mart_PL_D2_S152Patrimonio_20190107_ProQuota.sql new file mode 100644 index 00000000..e5121f4c --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S152Patrimonio_20190107_ProQuota.sql @@ -0,0 +1,96 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S152Patrimonio_20190107_ProQuota] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + declare @PatrimonioImmobiliareProQuota decimal(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT + @PatrimonioBF = SUM(CTV) + FROM + C6MART.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area NOT IN ('CC','self') --escludo il cc negativo +-- SELECT @Part_viaggianti=SUM(IMPORTO) +-- FROM C6MART.PARTITE_VIAGGIANTI partvia +-- WHERE +-- partvia.Rete = @Rete +-- and partvia.Cod_Fiscale = @CodiceFiscale + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6MART.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6MART.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + SELECT + @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM + C6MART.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM + C6MART.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioImmobiliareProQuota = SUM(patrImm.VALORE_STIMATO_PROQUOTA) + FROM + C6MART.PATRIMONIO_IMMOBILIARE_ProQuota patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioAltro = SUM(patrAltro.ctv) + FROM + C6MART.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV, + @PatrimonioImmobiliareProQuota as ImmobiliarePQCTV +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S152Patrimonio_20190111.sql b/sql/storedProduzione/C6Mart_PL_D2_S152Patrimonio_20190111.sql new file mode 100644 index 00000000..874e7285 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S152Patrimonio_20190111.sql @@ -0,0 +1,87 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S152Patrimonio_20190111] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT + @PatrimonioBF = SUM(CTV) + FROM + C6MART.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area NOT IN ('CC','self') --escludo il cc negativo +-- SELECT @Part_viaggianti=SUM(IMPORTO) +-- FROM C6MART.PARTITE_VIAGGIANTI partvia +-- WHERE +-- partvia.Rete = @Rete +-- and partvia.Cod_Fiscale = @CodiceFiscale + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6MART.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6MART.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + SELECT + @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM + C6MART.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM + C6MART.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioAltro = SUM(patrAltro.ctv) + FROM + C6MART.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S153PatrimonioFinanziario.sql b/sql/storedProduzione/C6Mart_PL_D2_S153PatrimonioFinanziario.sql new file mode 100644 index 00000000..7d2e6b52 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S153PatrimonioFinanziario.sql @@ -0,0 +1,142 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S153PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + DECLARE @NOMERETE VARCHAR(30) + IF @Rete = 'F' + SET @NOMERETE = 'Fideuram' + ELSE IF @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + SELECT + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Intermediario, + Ordine, + @NOMERETE AS Banca, + -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv + SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine)) / + (SUM(ctv) over (partition by 'Totale')) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + @NOMERETE AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MART.PATRIMONIO_BF patrBF +-- LEFT JOIN C6MART.ClientiConCCNegativo CCNegativo +-- ON PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- AND PATRBF.TIPO_PRODOTTO = 'CC' + WHERE 1 = 1 + AND patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO + and patrBF.id_area not in ('cc','self') + UNION ALL + SELECT + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MART.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + AND patrTerzi.Rete = @Rete + AND patrTerzi.Cod_Fiscale = @CodiceFiscale + GROUP BY patrTerzi.Intermediario + ) PATR + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D2_S153PatrimonioFinanziario] Script Date: 08/02/2022 17:25:02 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +--ALTER procedure [C6Mart].[PL_D2_S153PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @Rete = 'F' +-- SET @NOMERETE = 'Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- Intermediario, +-- Ordine, +-- Banca, +-- Controvalore, +-- round(Percentuale,2) as Percentuale +-- FROM +-- ( +-- SELECT DISTINCT +-- Intermediario, +-- Ordine, +-- @NOMERETE AS Banca, +-- -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv +-- SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, +-- ( +-- (SUM(ctv) over (partition by Intermediario,Ordine)) / +-- (SUM(ctv) over (partition by 'Totale')) +-- ) * 100 AS PERCENTUALE +-- FROM +-- ( +-- SELECT +-- @NOMERETE AS Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 1 AS ordine +-- FROM C6MART.PATRIMONIO_BF patrBF +---- LEFT JOIN C6MART.ClientiConCCNegativo CCNegativo +---- ON PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- AND PATRBF.TIPO_PRODOTTO = 'CC' +-- WHERE 1 = 1 +-- AND patrBF.Rete = @Rete +-- AND patrBF.Cod_Fiscale = @CodiceFiscale +-- --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO +-- and patrBF.id_area not in ('cc','self') +-- UNION ALL +-- SELECT +-- Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 2 AS ordine +-- FROM C6MART.PATRIMONIO_TERZI patrTerzi +-- WHERE 1 = 1 +-- AND patrTerzi.Rete = @Rete +-- AND patrTerzi.Cod_Fiscale = @CodiceFiscale +-- GROUP BY patrTerzi.Intermediario +-- ) PATR +-- ) A +-- WHERE CONTROVALORE IS NOT NULL +-- ORDER BY Ordine +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S154PatrimonioFinanziario.sql b/sql/storedProduzione/C6Mart_PL_D2_S154PatrimonioFinanziario.sql new file mode 100644 index 00000000..e1bf5545 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S154PatrimonioFinanziario.sql @@ -0,0 +1,312 @@ +-- Stored procedure +-- ============================================= +-- Author: Luca De Lisio +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_DT_S154PatrimonioFinanziario] 'F','LNTNNE59L06F205C' +CREATE procedure [C6Mart].[PL_D2_S154PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SELECT + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + --PRODOTTI BF ESCLUSI GLI ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.PATRIMONIO_BF PATRBF + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MART.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + --DETTAGLIO ASUL SENZA SKANDIA + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --CON SKANDIA + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MART.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D2_S154PatrimonioFinanziario] Script Date: 08/02/2022 16:35:09 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: Luca De Lisio +---- Create date: +---- Description: +---- ============================================= +----[C6Mart].[PL_DT_S154PatrimonioFinanziario] 'F','LNTNNE59L06F205C' +--ALTER procedure [C6Mart].[PL_D2_S154PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +--SELECT +-- A.Banca, +-- A.Ordinamento, +-- A.AssetClassId, +-- A.AssetClassName, +-- cast(A.Controvalore as decimal(19,6)) Controvalore, +-- A.Percentuale, +-- cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +--FROM +--( +-- SELECT DISTINCT +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Fideuram' +-- END AS Banca, +-- ASSETCLASS.ORDINAMENTO AS Ordinamento, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') +-- ) * 100 AS Percentuale +-- FROM ( +-- --PRODOTTI BF ESCLUSI GLI ASUL +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- and patrbf.id_area <> 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +---- SELECT +---- ASSETPERC.ID_ASSETCLASS, +---- PATRBF.CTV*ASSETPERC.PERC as Controvalore +---- FROM +---- C6MART.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MART.ASSET_PERC ASSETPERC +---- ON +---- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +---- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +---- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN +---- C6MART.ClientiConCCNegativo CCNegativo +---- ON +---- PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- WHERE +---- --ELIMINO I CC CON SALDO NEGATIVO +---- PATRBF.TIPO_PRODOTTO = 'CC' +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND CCNegativo.Cod_Fiscale IS NULL +---- UNION ALL +-- --DETTAGLIO ASUL SENZA SKANDIA +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --CON SKANDIA +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MART.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MART.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MART.PATRIMONIO_TERZI PATRTERZI +-- LEFT OUTER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI NON A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MART.PATRIMONIO_TERZI PATRTERZI +-- LEFT OUTER JOIN +-- C6MART.ASSET_PERC_TERZI ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MART.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--ORDER BY A.ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S155PatrimonioImmobiliare.sql b/sql/storedProduzione/C6Mart_PL_D2_S155PatrimonioImmobiliare.sql new file mode 100644 index 00000000..ff1dd3c5 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S155PatrimonioImmobiliare.sql @@ -0,0 +1,37 @@ +CREATE procedure [C6Mart].[PL_D2_S155PatrimonioImmobiliare] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + select + Descrizione, + Tipologia, + Localita, + AffittoPercepito, + Valore_stimato as Valore, + sum(Valore_stimato) OVER (PARTITION BY 'Valore_stimato') as Totale, + sum(AffittoPercepito) OVER (PARTITION BY 'AffittoPercepito') as TotaleAffitto, + Tipologia_Diritto as TipologiaDiritto, + ProQuota, + Valore_Stimato_ProQuota as Valore_ProQuota, + sum(Valore_Stimato_ProQuota) over (partition by 'Valore_Stimato_ProQuota') as TotaleProQuota + from C6MART.PATRIMONIO_IMMOBILIARE_ProQuota + where Rete = @Rete + and COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC + --SELECT + -- PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + -- PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + -- PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + -- isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + -- PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + -- SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + -- SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + --FROM C6MART.PATRIMONIO_IMMOBILIARE + --WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + -- AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + --ORDER BY 5 DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190107_ProQuota.sql b/sql/storedProduzione/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190107_ProQuota.sql new file mode 100644 index 00000000..26616411 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190107_ProQuota.sql @@ -0,0 +1,28 @@ +CREATE procedure [C6Mart].[PL_D2_S155PatrimonioImmobiliare_20190107_ProQuota] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + SELECT + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto, + PATRIMONIO_IMMOBILIARE_PROQUOTA.Valore_Stimato_ProQuota AS ValoreProQuota, + PATRIMONIO_IMMOBILIARE_PROQUOTA.Tipologia_Diritto as TipologiaDiritto, + PATRIMONIO_IMMOBILIARE_PROQUOTA.ProQuota as ProQuota, + SUM(PATRIMONIO_IMMOBILIARE_PROQUOTA.VALORE_STIMATO_PROQUOTA) OVER (PARTITION BY 'TotaleProQuota') as TotaleProQuota + from C6MART.PATRIMONIO_IMMOBILIARE PATRIMONIO_IMMOBILIARE + left join C6Mart.Patrimonio_Immobiliare_ProQuota PATRIMONIO_IMMOBILIARE_PROQUOTA + on PATRIMONIO_IMMOBILIARE.RETE = PATRIMONIO_IMMOBILIARE_PROQUOTA.RETE + and PATRIMONIO_IMMOBILIARE.COD_FISCALE = PATRIMONIO_IMMOBILIARE_PROQUOTA.COD_FISCALE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190111.sql b/sql/storedProduzione/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190111.sql new file mode 100644 index 00000000..ba8f10cc --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190111.sql @@ -0,0 +1,21 @@ +CREATE procedure [C6Mart].[PL_D2_S155PatrimonioImmobiliare_20190111] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + SELECT + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + FROM C6MART.PATRIMONIO_IMMOBILIARE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S156ALtroPatrimonio.sql b/sql/storedProduzione/C6Mart_PL_D2_S156ALtroPatrimonio.sql new file mode 100644 index 00000000..50d9942e --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S156ALtroPatrimonio.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S156ALtroPatrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + SELECT + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM + C6MART.PATRIMONIO_ALTRO + WHERE + PATRIMONIO_ALTRO.RETE = @Rete + AND PATRIMONIO_ALTRO.COD_FISCALE = @CodiceFiscale + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S157ConfrontoPiramidi.sql b/sql/storedProduzione/C6Mart_PL_D2_S157ConfrontoPiramidi.sql new file mode 100644 index 00000000..86f0b9fb --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S157ConfrontoPiramidi.sql @@ -0,0 +1,257 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +-- ============================================= +-- [C6MART].[PL_D2_S157ConfrontoPiramidi] 'F','ZCCLNR58P49H501R' +CREATE procedure [C6Mart].[PL_D2_S157ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + SUM (isnull(PIRAMIDE_MOD.PERC_AREA,0)) as PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MART.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + --LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MART.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + --RETE, COD_FISCALE, LEFT(ID_AREA,3) + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','CC','NA','SELF','INV') + -- OR (PIRAMIDE_MOD.ID_AREA = 'INV')) --AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) --- 16/09 ** DA VERIFICARE + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + group by PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_VERT.CTV_AREA + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc','Self','LIGHT','VOID') + --V + DECLARE @TOTCCSELF AS INT + SELECT @TOTCCSELF = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + --AND TIPO_PRODOTTO = 'Cc' + AND (TIPO_PRODOTTO = 'Cc' OR ISIN in('EURO00000009', 'EURO10000007') ) +--INIZIO INTERVENTI OMNIA quiii2 + DECLARE @TOTSELF AS INT + SELECT @TOTSELF = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') +--FINE INTERVENTI OMNIA quiii2 + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCCSELF = @TOT THEN 0.00 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + WHEN (@TOTCCSELF <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'n.c.' + --V SOLO SELF -> VAR = 'n.c.' + WHEN (@TOTSELF = @TOT) THEN 'n.c.' + --V SOLO CC -> VAR = 0 + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCCSELF = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' +--INIZIO INTERVENTI OMNIA +-- WHEN @TOTCC = @TOT THEN NULL + WHEN @TOTCCSELF = @TOT THEN NULL + WHEN @TOTSELF = @TOT THEN 'n.c.' +--FINE INTERVENTI OMNIA + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCCSELF = @TOT THEN NULL + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MART.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' + and AREA_BISOGNO.ID_AREA not in ('light','void') --- ***** AGGIUNTA 19/09 ***** + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql b/sql/storedProduzione/C6Mart_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql new file mode 100644 index 00000000..69c28a95 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql @@ -0,0 +1,252 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6MART].[PL_D_S157ConfrontoPiramidi] 'F','PGGFNC33S27H861U' +CREATE procedure [C6Mart].[PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MART.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + --LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MART.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + --RETE, COD_FISCALE, LEFT(ID_AREA,3) + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc','Self') + --V + DECLARE @TOTCCSELF AS INT + SELECT @TOTCCSELF = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + --AND TIPO_PRODOTTO = 'Cc' + AND (TIPO_PRODOTTO = 'Cc' OR ISIN = 'EURO00000009' ) +--INIZIO INTERVENTI OMNIA quiii2 + DECLARE @TOTSELF AS INT + SELECT @TOTSELF = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' +--FINE INTERVENTI OMNIA quiii2 + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCCSELF = @TOT THEN 0.00 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + WHEN (@TOTCCSELF <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'n.c.' + --V SOLO SELF -> VAR = 'n.c.' + WHEN (@TOTSELF = @TOT) THEN 'n.c.' + --V SOLO CC -> VAR = 0 + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCCSELF = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' +--INIZIO INTERVENTI OMNIA +-- WHEN @TOTCC = @TOT THEN NULL + WHEN @TOTCCSELF = @TOT THEN NULL + WHEN @TOTSELF = @TOT THEN 'n.c.' +--FINE INTERVENTI OMNIA + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCCSELF = @TOT THEN NULL + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MART.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S158PiramideModello.sql b/sql/storedProduzione/C6Mart_PL_D2_S158PiramideModello.sql new file mode 100644 index 00000000..7fe06727 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S158PiramideModello.sql @@ -0,0 +1,54 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_D2_S158PiramideModello] 'S','MRCMRA47C26A241D' +CREATE procedure [C6Mart].[PL_D2_S158PiramideModello] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + --SELECT BF.NOME_PROGETTO AS NomePrg, + -- PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + -- AGGR.VAR_PERC_PTF as VarPrg, + -- SUM(BF.CTV)AS ControvalorePrg + --FROM C6Mart.PATRIMONIO_BF BF + --INNER JOIN C6Mart.RISCHIO_AGGREGATO AGGR + -- ON BF.RETE= AGGR.RETE + -- AND BF.COD_FISCALE= AGGR.COD_FISCALE + -- AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO + --INNER JOIN C6Mart.PIRAMIDE_MOD PIRMOD + -- ON BF.RETE= PIRMOD.RETE + -- AND BF.COD_FISCALE= PIRMOD.COD_FISCALE + -- AND BF.ID_AREA = PIRMOD.ID_AREA + -- AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + --WHERE 1=1 + --AND BF.ID_AREA = 'inv' + --AND BF.RETE = @Rete + --AND BF.COD_FISCALE = @CodiceFiscale + --AND BF.CTV > 0 + --group BY BF.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,AGGR.VAR_PERC_PTF + SELECT + PIRMOD.NOME_PROGETTO AS NomePrg, + PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + ISNULL(T.VAR_PERC_PTF,0) as VarPrg, + ISNULL(SUM(T.CTV),0) AS ControvalorePrg + FROM C6Mart.PIRAMIDE_MOD PIRMOD + LEFT JOIN + (SELECT BF.RETE, BF.COD_FISCALE,BF.ID_AREA,BF.NOME_PROGETTO,AGGR.VAR_PERC_PTF,BF.CTV FROM C6Mart.PATRIMONIO_BF BF + INNER JOIN C6Mart.RISCHIO_AGGREGATO AGGR + ON BF.RETE= AGGR.RETE + AND BF.COD_FISCALE= AGGR.COD_FISCALE + AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO) T + ON PIRMOD.ID_AREA = T.ID_AREA + AND PIRMOD.COD_FISCALE = T.COD_FISCALE + AND PIRMOD.RETE = T.RETE + AND PIRMOD.NOME_PROGETTO = T.NOME_PROGETTO + WHERE + PIRMOD.ID_AREA = 'inv' + AND T.CTV > 0 + AND PIRMOD.RETE = @Rete + AND PIRMOD.COD_FISCALE = @CodiceFiscale + GROUP BY PIRMOD.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,T.VAR_PERC_PTF +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S159PatrimonioFinanziario.sql b/sql/storedProduzione/C6Mart_PL_D2_S159PatrimonioFinanziario.sql new file mode 100644 index 00000000..bebfc8fa --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S159PatrimonioFinanziario.sql @@ -0,0 +1,250 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_D2_S159PatrimonioFinanziario] 'F','02477630582' + CREATE procedure [C6Mart].[PL_D2_S159PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(19,5)) AS Controvalore, + cast(A.Percentuale as decimal(19,5)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + --ELSE 'Banca Fideuram' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.PATRIMONIO_BF PATRBF + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + --and patrbf.id_area <> 'CC' + and patrbf.id_area not in ('CC','Self') + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MART.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MART.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D2_S159PatrimonioFinanziario] Script Date: 08/02/2022 16:37:35 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +----[C6Mart].[PL_D2_S159PatrimonioFinanziario] 'F','02477630582' +-- ALTER procedure [C6Mart].[PL_D2_S159PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +--SELECT +-- A.BANCA AS Banca, +-- A.ORDINAMENTO AS Ordinamento, +-- A.AssetClassId AS AssetClassId, +-- A.AssetClassName AS AssetClassName, +-- cast(A.Controvalore as decimal(19,5)) AS Controvalore, +-- cast(A.Percentuale as decimal(19,5)) AS Percentuale, +-- cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +--FROM +--( +-- SELECT DISTINCT +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- --ELSE 'Banca Fideuram' +-- ELSE 'Fideuram' +-- END AS Banca, +-- ASSETCLASS.ORDINAMENTO, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / +-- --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 +-- THEN 1 +-- ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) +-- END +-- ) * 100 AS Percentuale +-- FROM ( +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- --and patrbf.id_area <> 'CC' +-- and patrbf.id_area not in ('CC','Self') +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +---- SELECT +---- ASSETPERC.ID_ASSETCLASS, +---- PATRBF.CTV*ASSETPERC.PERC as Controvalore +---- FROM +---- C6MART.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MART.ASSET_PERC ASSETPERC +---- ON +---- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +---- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +---- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN +---- C6MART.ClientiConCCNegativo CCNegativo +---- ON +---- PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- WHERE +---- --ELIMINO I CC CON SALDO NEGATIVO +---- PATRBF.TIPO_PRODOTTO = 'CC' +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND CCNegativo.Cod_Fiscale IS NULL +---- UNION ALL +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MART.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MART.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MART.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--ORDER BY A.ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S160DettaglioProdottiBF.sql b/sql/storedProduzione/C6Mart_PL_D2_S160DettaglioProdottiBF.sql new file mode 100644 index 00000000..3c98382a --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S160DettaglioProdottiBF.sql @@ -0,0 +1,213 @@ +CREATE procedure [C6Mart].[PL_D2_S160DettaglioProdottiBF] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +PATRBF.NOME_PROGETTO AS EE, PATRBF.ID_AREA, +CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID AS TMP, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA + END AS needarea, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS versato_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' + THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS MinusPlusValenza_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenza_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL + END AS somma_var_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL + END AS somma_copertura_need_prog, + cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c.') AS var_needareaString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_AREA.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_AREA.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END as var_needareaString, + CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL(5,2)) AS copertura_needarea, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 + --Valerio danilo THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE NULL + END AS copertura_needareaString, + RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, + --CASE WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as var_need_progString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END as var_need_progString, + RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATRBF.CTV AS Controvalore, + PATRBF.VERSATO_NETTO AS VersatoNetto, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, + PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, + --RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, --commentata per assenza o,oo per i cc fideuram il 29/4/2020 + case when (patrbf.tipo_prodotto ='CC') then 0.00 + else RISCHIO_PROD.VAR_PERC_PTF + end AS VaRprodotto, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 THEN 'n.c.' --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- WHEN patrbf.isin in('EURO00000009', 'EURO10000007' ) THEN 'n.c.' +-- ELSE NULL END as varProdottoString, + CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' + ELSE NULL END as varProdottoString, + RISCHIO_PROD.Copertura AS Coperturaprodotto, + PATRBF.REND_ANNO AS PerformanceYTD, + PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, + PARTVIA_DISINV AS partitaViaggiante, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 THEN '*' + ELSE NULL + END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + patrbf.tipo_prodotto as Tipo_Prodotto, + isAPC = 'N' +FROM C6MART.PATRIMONIO_BF PATRBF +INNER JOIN C6MART.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN AREA.ID_AREA = 'Na' THEN 'RISORSENONASSOCIATE|' +-- ELSE + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL)-- AND (LEFT(PATRBF.ID_AREA,3)<>'Na' Or PATRBF.NOME_PROGETTO <> 'Default') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = + case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 +--Bido + --AND ( + --PATRBF.CTV > 0 + --OR ( PATRBF.CTV < 0 AND patrbf.tipo_prodotto = 'cc' ) + --) +-- +ORDER BY AREASORTORDER, nome_progetto, PATRBF.CTV DESC +END +PRINT N'Altering [C6Mart].[PL_D2_S171PatrimonioNonRappresentabileAssettClass]' \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql b/sql/storedProduzione/C6Mart_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql new file mode 100644 index 00000000..2702ba8e --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql @@ -0,0 +1,212 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- cast(C6Mart.ANAG_CC.SALDO as decimal(15,2)) as Controvalore +-- C6Mart.PL_D2_S160DettaglioProdottiBF 'F', 'GSTGPL59P03B586G' +--SELECT * FROM PATR1 +CREATE procedure [C6Mart].[PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +PATRBF.NOME_PROGETTO AS EE, PATRBF.ID_AREA, +CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID AS TMP, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA + END AS needarea, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS versato_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' + THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS MinusPlusValenza_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenza_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL + END AS somma_var_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL + END AS somma_copertura_need_prog, + cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c.') AS var_needareaString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_AREA.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_AREA.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END as var_needareaString, + CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL(5,2)) AS copertura_needarea, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 + --Valerio danilo THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE NULL + END AS copertura_needareaString, + RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, + --CASE WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as var_need_progString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END as var_need_progString, + RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATRBF.CTV AS Controvalore, + PATRBF.VERSATO_NETTO AS VersatoNetto, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, + PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, + RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, + CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 THEN 'n.c.' + WHEN patrbf.isin ='EURO00000009' THEN 'n.c.' + ELSE NULL END as varProdottoString, + RISCHIO_PROD.Copertura AS Coperturaprodotto, + PATRBF.REND_ANNO AS PerformanceYTD, + PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, + PARTVIA_DISINV AS partitaViaggiante, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 THEN '*' + ELSE NULL + END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM C6MART.PATRIMONIO_BF PATRBF +INNER JOIN C6MART.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN AREA.ID_AREA = 'Na' THEN 'RISORSENONASSOCIATE|' +-- ELSE + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL)-- AND (LEFT(PATRBF.ID_AREA,3)<>'Na' Or PATRBF.NOME_PROGETTO <> 'Default') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = + case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 +--Bido + --AND ( + --PATRBF.CTV > 0 + --OR ( PATRBF.CTV < 0 AND patrbf.tipo_prodotto = 'cc' ) + --) +-- +ORDER BY AREASORTORDER, nome_progetto, PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S162DettaglioProdotti.sql b/sql/storedProduzione/C6Mart_PL_D2_S162DettaglioProdotti.sql new file mode 100644 index 00000000..d84a2ddd --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S162DettaglioProdotti.sql @@ -0,0 +1,98 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S162DettaglioProdotti] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6MART.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOAGGREG + ON + PATRTERZI.RETE = RISCHIOAGGREG.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGREG.COD_FISCALE + AND RISCHIOAGGREG.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + WHERE 1 = 1 + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.DESCR_GRUPPO_PRODOTTO IS NOT NULL + ORDER BY + OrdinamentoProdotti, + Controvalore DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql b/sql/storedProduzione/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..8cc54841 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,61 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S163PatrimonioFinanziarioMAssetClass] +( @Rete char(1), + @CodiceFiscale varchar(16) + )as + begin + SELECT DISTINCT + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + ( + case when SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') = 0 then 1 else + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + end + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN C6MART.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + ORDER BY + ASSETCLASS.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass_NEW_20160908.sql b/sql/storedProduzione/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass_NEW_20160908.sql new file mode 100644 index 00000000..67507f94 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass_NEW_20160908.sql @@ -0,0 +1,56 @@ +CREATE procedure [C6Mart].[PL_D2_S163PatrimonioFinanziarioMAssetClass_NEW_20160908] +( @Rete char(1), + @CodiceFiscale varchar(16) + )as + begin + SELECT DISTINCT + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + ( + case when SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') = 0 then 0 else + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + end + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN C6MART.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + ORDER BY + ASSETCLASS.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S164PolizzeAltriIstituti.sql b/sql/storedProduzione/C6Mart_PL_D2_S164PolizzeAltriIstituti.sql new file mode 100644 index 00000000..bf342beb --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S164PolizzeAltriIstituti.sql @@ -0,0 +1,30 @@ +-- ============================================= +-- Author: Marco Gentilezza +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S164PolizzeAltriIstituti] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + FROM + C6MART.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MART.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' + WHERE PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S165FondiAltriIstituti.sql b/sql/storedProduzione/C6Mart_PL_D2_S165FondiAltriIstituti.sql new file mode 100644 index 00000000..a3980b0f --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S165FondiAltriIstituti.sql @@ -0,0 +1,62 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S165FondiAltriIstituti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + FROM + C6MART.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MART.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + WHERE + PATRTERZI.rete = @Rete + and PATRTERZI.cod_fiscale = @CodiceFiscale + --AND PATRTERZI.TIPO_PRODOTTO = 'Fondi pensione' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S166ContoCorrenteAI.sql b/sql/storedProduzione/C6Mart_PL_D2_S166ContoCorrenteAI.sql new file mode 100644 index 00000000..457f762b --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S166ContoCorrenteAI.sql @@ -0,0 +1,23 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S166ContoCorrenteAI] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + CCTerzi.INTERMEDIARIO AS Intermediario, + CCTerzi.COD_CC AS ContoCorrente, + CCTerzi.SALDO AS Saldo, + null as creditrisk, + 'n.a.' as creditriskstring, + 0.00 as var + FROM + C6MART.ANAG_CC_Terzi CCTerzi + WHERE + CCTerzi.rete= @Rete + AND CCTerzi.cod_fiscale= @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S167DistribuzioneRischioCredito.sql b/sql/storedProduzione/C6Mart_PL_D2_S167DistribuzioneRischioCredito.sql new file mode 100644 index 00000000..a78defec --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S167DistribuzioneRischioCredito.sql @@ -0,0 +1,629 @@ +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_D_S167DistribuzioneRischioCredito] 'F','BRGGRL48H52G096C' +CREATE procedure [C6Mart].[PL_D2_S167DistribuzioneRischioCredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest', 'IW Private Investments') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' WHEN PATRBF.RETE = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS INTERMEDIARIO, +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +--where id_Area='Cc' +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MART.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MART.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' WHEN PATRBF.RETE = 'S' THEN 'SANPAOLO' ELSE 'IWPRIVATEINVESTMENTS' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +'Altri Istituti' AS INTERMEDIARIO, +--PATRTERZI.INTERMEDIARIO, +--SUM(CTV) AS CTV +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MART].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' AND CTV > 0 THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +--where id_Area='Cc' +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CTV) AS CTV +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MART].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D2_S167DistribuzioneRischioCredito] Script Date: 08/02/2022 16:40:49 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Authors: +---- Create date: +---- Description: +---- ============================================= +---- [C6Mart].[PL_D_S167DistribuzioneRischioCredito] 'F','BRGGRL48H52G096C' +--ALTER procedure [C6Mart].[PL_D2_S167DistribuzioneRischioCredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +----QUERY PER INTERMEDIARIO +--SELECT +--RETE, +--COD_FISCALE, +--INTERMEDIARIO, +--CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 +-- ELSE 2 END AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +-- -- Start 1.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +----SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS ctv +--FROM +--[C6MART].PATRIMONIO_BF PATRBF +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_BF +----where id_Area='Cc' +--where id_Area in ('Cc','Self') +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') +-- THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +----INNER JOIN C6MART.CODIFICA_CREDITRISK CR +--LEFT outer JOIN C6MART.CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END, +--CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +----- End 1.1 +--UNION ALL +---- Start 1.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--'Altri Istituti' AS INTERMEDIARIO, +----PATRTERZI.INTERMEDIARIO, +----SUM(CTV) AS CTV +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6MART].PATRIMONIO_TERZI PATRTERZI +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--PATRTERZI.INTERMEDIARIO, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 1.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE, +--INTERMEDIARIO +---------- +--UNION ALL +------------- +----QUERY TOTALE +--SELECT +--RETE, +--COD_FISCALE, +--'Complessivo' AS INTERMEDIARIO, +--3 AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS ='NA' AND CTV > 0 THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +----- Start 2.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +----SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS CTV +--FROM +--[C6MART].PATRIMONIO_BF PATRBF +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_BF +----where id_Area='Cc' +--where id_Area in ('Cc','Self') +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') +-- THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +--left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 2.1 +--UNION ALL +---- Start 2.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +----SUM(CTV) AS CTV +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6MART].PATRIMONIO_TERZI PATRTERZI +--left outer join +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +----- End 2.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S168TabellaEmittenti.sql b/sql/storedProduzione/C6Mart_PL_D2_S168TabellaEmittenti.sql new file mode 100644 index 00000000..360f6707 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S168TabellaEmittenti.sql @@ -0,0 +1,397 @@ +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6Mart].[PL_D_S168TabellaEmittenti] 'F','FF@7181' +CREATE procedure [C6Mart].[PL_D2_S168TabellaEmittenti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +select @patr_compl=sum(ctv_prodotto) from +C6Mart.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + --SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, --modifica apportata il 24/04 per concentrazione % errata secondo Levi + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLESSIVO) AS CONCENTRATION, + sum(copertura) as copertura + --RATING as RATING + FROM C6Mart.PATRIMONIO_EMITTENTI V + LEFT JOIN C6Mart.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS, + RATING + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +--RATING as RATING +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +--RATING as RATING +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + --RATING as RATING + FROM C6Mart.PATRIMONIO_EMITTENTI V +LEFT JOIN C6Mart.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS, +RATING +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10 +--RATING +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S169RischiomercatoRischiocredito.sql b/sql/storedProduzione/C6Mart_PL_D2_S169RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..76fa7b56 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S169RischiomercatoRischiocredito.sql @@ -0,0 +1,448 @@ +CREATE procedure [C6Mart].[PL_D2_S169RischiomercatoRischiocredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + C6MART.patrimonio_bf PATRBF,C6MART.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.cod_fiscale = @codiceFiscale + and PATRBF.rete= @rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + C6MART.PATRIMONIO_TERZI TERZI,C6MART.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.cod_fiscale =@codiceFiscale + and TERZI.rete=@rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + C6MART.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN C6MART.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + C6MART.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'W' then 'Patrimonio IW Private Inv.' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + C6MART.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + C6MART.PATRIMONIO_TERZI TERZI + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + C6MART.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN C6MART.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + C6MART.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D2_S169RischiomercatoRischiocredito] Script Date: 08/02/2022 16:42:57 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +--ALTER procedure [C6Mart].[PL_D2_S169RischiomercatoRischiocredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- PATRBF.INSTITUTENAME, +-- CTV, +-- M.PROFILO_ASS AS CODICEPROFILO, +-- CR.MAX_VAR AS VARMAX, +-- RISK_AGG.VAR_PERC_PTF AS VAR , +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END AS VARSTRING, +-- RISK_AGG.CREDITRISK RISKCLASS, +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END AS RISKCLASSSTRING, +-- ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +----V La copertura viene valorizzata con un valore da 0 da 100 +-- -- CASE +-- -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +---- ELSE +--NULL +---- END +--AS COVERAGESTRING, +-- M.RISKCLASS AS RISKCLASSMAX, +-- round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / +-- -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 +-- THEN 1 +-- ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) +-- END) +-- *100 ,2)AS PERCENTAGE, +-- --V +-- ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, +-- SUM(PATRBF.CTV) AS CTV, +-- --V +-- 1 as ORDINE, +-- RISK_AGG.Ully_perc +-- from +-- C6MART.patrimonio_bf PATRBF,C6MART.RISCHIO_AGGREGATO RISK_AGG +-- where +-- 1=1 +-- and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE +-- and PATRBF.rete= RISK_AGG.rete +-- and PATRBF.cod_fiscale = @codiceFiscale +-- and PATRBF.rete= @rete +-- and PATRBF.CTV > 0 +-- and +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or +-- --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- RISK_AGG.Ully_perc, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END +-- UNION +-- SELECT +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- 'Patrimonio altri Istituti' AS INSTITUTENAME, +-- SUM(ROUND(TERZI.CTV,2)) AS CTV, +-- --V +-- 2 as ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- C6MART.PATRIMONIO_TERZI TERZI,C6MART.RISCHIO_AGGREGATO RISK_AGG +-- where +-- 1=1 +-- and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE +-- and TERZI.rete= RISK_AGG.rete +-- and TERZI.cod_fiscale =@codiceFiscale +-- and TERZI.rete=@rete +-- and TERZI.CTV > 0 +-- and +-- ( +-- --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- GROUP BY +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- RISK_AGG.Ully_perc +-- ) PATRBF +-- LEFT OUTER JOIN +-- C6MART.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN C6MART.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- C6MART.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- C6MART.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- AND +-- (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' +-- WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' +-- else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- UNION ALL +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- 'Patrimonio Complessivo' AS INSTITUTENAME, +-- SUM(CTV), +-- MAX(M.PROFILO_ASS) AS CODICEPROFILO, +-- MAX(CR.MAX_VAR) AS VARMAX, +-- MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , +-- MAX( CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END) AS VARSTRING, +-- MAX(RISK_AGG.CREDITRISK) RISKCLASS, +-- MAX( +-- case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END ) +-- AS RISKCLASSSTRING, +-- MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, +-- MAX( CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END) AS COVERAGESTRING, +-- --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, +-- MAX(M.RISKCLASS) AS RISKCLASSMAX, +-- 100 AS PERCENTAGE, +-- --V +-- 3 AS ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- SUM(PATRBF.CTV) AS CTV +-- from +-- C6MART.patrimonio_bf PATRBF +-- where +-- 1=1 +-- and cod_fiscale =@codiceFiscale +-- and rete=@rete +-- and PATRBF.CTV > 0 +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE +-- UNION +-- SELECT +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- SUM(ROUND(TERZI.CTV,2)) AS CTV +-- FROM +-- C6MART.PATRIMONIO_TERZI TERZI +-- where +-- 1=1 +-- and cod_fiscale =@codiceFiscale +-- and rete=@rete +-- and TERZI.CTV > 0 +-- GROUP BY +-- TERZI.RETE, +-- TERZI.COD_FISCALE +-- ) PATRBF +-- LEFT OUTER JOIN +-- C6MART.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN C6MART.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- C6MART.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- C6MART.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO' +-- ) +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- RISK_AGG.Ully_perc +-- --V +-- order by ordine +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S170RischioDiversificazione.sql b/sql/storedProduzione/C6Mart_PL_D2_S170RischioDiversificazione.sql new file mode 100644 index 00000000..042a7ba1 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S170RischioDiversificazione.sql @@ -0,0 +1,236 @@ +-- [C6Mart].[PL_D_S170RischioDiversificazione] 'S','02148400126' +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +CREATE procedure [C6Mart].[PL_D2_S170RischioDiversificazione]--'F','05228020268' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @contaCCSelf as int + select @contaCCSelf = count(*) + from C6MART.patrimonio_Bf + where tipo_prodotto = 'CC' or isin in('EURO00000009', 'EURO10000007' ) and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from C6MART.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6mart.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6mart.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + -- Complessità + declare @maxComplessita as int + select @maxComplessita = max(compl_base) from [C6Mart].[TB_S180ProdottiComplessitaAlta] + where + cod_fiscale like + CASE when @CodiceFiscale like '%FF@%'THEN '%%' + ELSE @CodiceFiscale + END + and codman = + CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + ELSE '' + END + and rete= @Rete + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + and compl_base <> 10 + -- +SELECT + K.COD_FISCALE, + K.RETE, + CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 + END AS CTV_AGGREG, + K.CREDITRISK, +CASE + WHEN (@contaPOS - @contaCCSelf = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contaCCSelf <> 0 THEN 'n.c.' ELSE NULL END +as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contaCCSelf <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (@contaPOS - @contaCCSelf = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' when k.rete = 'S' then 'Sanpaolo Invest' else 'IW Private Inv.' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +------------------------ MIFID2 - 20180711 +case @maxComplessita + when 0 then 'Non complesso' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + else 'n.c.' +end +as complessita, +------------------------- FINE MIFID2 - 20180711 +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM C6MART.RISCHIO_AGGREGATO K +left outer JOIN C6MART.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete +left outer join C6MART.CODIFICA_RISCHIO b + ON A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D2_S170RischioDiversificazione] Script Date: 08/02/2022 17:23:55 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- [C6Mart].[PL_D_S170RischioDiversificazione] 'S','02148400126' +---- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +--ALTER procedure [C6Mart].[PL_D2_S170RischioDiversificazione] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- declare @contaCCSelf as int +-- select @contaCCSelf = count(*) +-- from C6MART.patrimonio_Bf +-- where tipo_prodotto = 'CC' or isin in('EURO00000009', 'EURO10000007' ) and cod_fiscale = @codiceFiscale and rete = @rete +-- declare @contaPOS as int +-- select @contaPOS = count(*) +-- from C6MART.patrimonio_Bf +-- where cod_fiscale = @codiceFiscale and rete = @rete +-- declare @ctvbf as decimal(12,2) +-- SELECT @ctvbf = isnull(sum(ctv),0) FROM c6mart.patrimonio_bf +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +-- declare @ctvterzi as decimal (12,2) +-- SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6mart.patrimonio_terzi +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +-- -- Complessità +-- declare @maxComplessita as int +-- select @maxComplessita = max(compl_base) from [C6Mart].[TB_S180ProdottiComplessitaAlta] +-- where +-- cod_fiscale like +-- CASE when @CodiceFiscale like '%FF@%'THEN '%%' +-- ELSE @CodiceFiscale +-- END +-- and codman = +-- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- ELSE '' +-- END +-- and rete= @Rete +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10 +-- -- +--SELECT +-- K.COD_FISCALE, +-- K.RETE, +-- CASE +-- when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf +-- when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi +-- when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi +-- else 0 +-- END AS CTV_AGGREG, +-- K.CREDITRISK, +--CASE +-- WHEN (@contaPOS - @contaCCSelf = 0) THEN 0 +-- ELSE VAR_PERC_PTF +--END AS VAR, +--CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contaCCSelf <> 0 THEN 'n.c.' ELSE NULL END +--as varString, +--CASE +-- WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contaCCSelf <> 0 +-- --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' +-- ELSE null +--END AS coperturaString, +--beneficio as diversificazione, +--CASE +-- WHEN (@contaPOS - @contaCCSelf = 0) THEN 100 +-- ELSE COPERTURA +--END AS COPERTURA, +--case +--when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +--when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +--ELSE '' +--END AS PATRIMONIO, +--case +-- when b.profilo is null then -1 +-- else b.profilo +--end as profiloCode, +--b.max_var as var_profilo, +-------------------------- MIFID2 - 20180711 +--case @maxComplessita +-- when 0 then '-' +-- when 1 then 'Minima' +-- when 2 then 'Bassa' +-- when 3 then 'Media' +-- when 4 then 'Alta' +-- when 5 then 'Molto alta' +-- else '-' +--end +--as complessita, +--------------------------- FINE MIFID2 - 20180711 +----V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +----V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +--case +--when cod_Aggreg = 'COMPLESSIVO' then 3 +--when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +--ELSE '' +--END AS Ordine +--FROM C6MART.RISCHIO_AGGREGATO K +--left outer JOIN C6MART.mifid a +-- ON k.cod_fiscale = a.cod_fiscale and +-- k.rete = a.rete +--left outer join C6MART.CODIFICA_RISCHIO b +-- ON A.PROFILO_ASS=B.PROFILO +--WHERE +----A.PROFILO_ASS=B.PROFILO +----AND K.RETE=A.RETE +----AND K.COD_FISCALE= A.COD_FISCALE +--COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +--AND k.COD_FISCALE = @COdiceFISCALE +--AND k.RETE= @RETE +--ORDER BY ordine +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql b/sql/storedProduzione/C6Mart_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..8ea6386f --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,158 @@ +-- ============================================= +-- Author: +-- Create date: 30/08/2013 +-- Description: uguale a S76 +-- ============================================= +--[C6Mart].[PL_D_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +CREATE procedure [C6Mart].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Fideuram' + ELSE if @RETE ='S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario, + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + --INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <> 0.00 + --INIZIO INTERVENTI OMNIA + UNION ALL + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario, + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MART.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO , + patrbf.tipo_prodotto --as Tipo_Prodotto + ORDER BY CONTROVALORE DESC +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] Script Date: 08/02/2022 16:46:45 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: 30/08/2013 +---- Description: uguale a S76 +---- ============================================= +----[C6Mart].[PL_D_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +--ALTER procedure [C6Mart].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @RETE = 'F' +-- SET @NOMERETE = 'Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- PATRBF.CTV as Controvalore, +-- PATRBF.CTV as controvalore_contratto, +-- PATRBF.PARTVIA_DISINV as PartitaViaggiante, +-- @NOMERETE as Intermediario, +-- patrbf.tipo_prodotto as Tipo_Prodotto +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO <> 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- --INIZIO INTERVENTI OMNIA +-- AND PATRBF.CTV <> 0.00 +-- --INIZIO INTERVENTI OMNIA +-- UNION ALL +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- SUM(ASUL.CTV) as Controvalore, +-- MAX(PATRBF.CTV) as controvalore_contratto, +-- SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +-- @NOMERETE as Intermediario, +-- patrbf.tipo_prodotto as Tipo_Prodotto +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN C6MART.DETTAGLIO_ASUL ASUL +-- ON PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- GROUP BY +-- PATRBF.ID_CONTRATTO, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , +-- ANAGP.DESCR_PRODOTTO , +-- patrbf.tipo_prodotto --as Tipo_Prodotto +-- ORDER BY CONTROVALORE DESC +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D3_FD151ProfiloDiRischio.sql b/sql/storedProduzione/C6Mart_PL_D3_FD151ProfiloDiRischio.sql new file mode 100644 index 00000000..f8ff37f2 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D3_FD151ProfiloDiRischio.sql @@ -0,0 +1,71 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D3_FD151ProfiloDiRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenzaProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @descrizioneProfilo VARCHAR(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza VARCHAR(100) + DECLARE @riserva decimal(13,2) + DECLARE @inv_l_p decimal(5,2) + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenzaProfilo = M.DATA_FINE_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + else '-' + end, + @riserva=m.importoriserva, + @inv_l_p=m.perclungoperiodo + FROM + C6MART.MIFID AS M + INNER JOIN C6MART.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (convert(datetime, @dataScadenzaProfilo)) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as descrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as DescrizioneEsperienza, + @riserva as Riserva, + @inv_l_p as Inv_L_P +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D3_S151ProfiloDiRischio.sql b/sql/storedProduzione/C6Mart_PL_D3_S151ProfiloDiRischio.sql new file mode 100644 index 00000000..dfd485c7 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D3_S151ProfiloDiRischio.sql @@ -0,0 +1,72 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D3_S151ProfiloDiRischio] --'F','LVTPLA70C62C523L' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenzaProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @descrizioneProfilo VARCHAR(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza VARCHAR(100) + DECLARE @riserva decimal(13,2) + DECLARE @inv_l_p decimal(5,2) + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenzaProfilo = M.DATA_FINE_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + --when 5 then 'Alta' + else '-' + end, + @riserva=m.importoriserva, + @inv_l_p=m.perclungoperiodo + FROM + C6MART.MIFID AS M + INNER JOIN C6MART.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (convert(datetime, @dataScadenzaProfilo)) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as descrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as DescrizioneEsperienza, + @riserva as Riserva, + @inv_l_p as Inv_L_P +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql b/sql/storedProduzione/C6Mart_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql new file mode 100644 index 00000000..ce752d12 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql @@ -0,0 +1,68 @@ +--[C6Mart].[PL_D_S177ProfiloDiRischio_Adeguatezza] 'F', 'DVTMRA58B09F839W' +CREATE procedure [C6Mart].[PL_D_FD177ProfiloDiRischio_Adeguatezza] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenza DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + declare @descrizioneProfilo varchar(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @riskclassDescr VARCHAR(250) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza varchar(20) + DECLARE @riserva decimal(13,2) + DECLARE @inv_l_p decimal(5,2) + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenza = M.DATA_FINE_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + else '-' + end, + @riserva=isnull(importoriserva,0.00), + @inv_l_p=isnull(perclungoperiodo,0.00)--@inv_l_p='58.00' + FROM + C6Mart.MIFID AS M + INNER JOIN C6Mart.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + -- RICERCA DATA FINE VALIDITA' + declare @dtfinval decimal(9,0) + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (@dataScadenza) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as DescrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as descrizioneEsperienza, + @riserva as riserva, + @inv_l_p as investimento_l_periodo +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_FD178IndicatoriEsitoAdeguatezza.sql b/sql/storedProduzione/C6Mart_PL_D_FD178IndicatoriEsitoAdeguatezza.sql new file mode 100644 index 00000000..a941150e --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_FD178IndicatoriEsitoAdeguatezza.sql @@ -0,0 +1,128 @@ +--[C6Mart].[PL_D_S178IndicatoriEsitoAdeguatezza] 'F', 'MTTSRA00H61D704A' +CREATE procedure [C6Mart].[PL_D_FD178IndicatoriEsitoAdeguatezza] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +------- PARTE FINTA DA ELIMINARE +--declare @flagProf varchar(1) +--select @flagProf = TipoConsulenza from c6mart.vContratti where Rete = @Rete and Cod_Fiscale = @CodiceFiscale +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Il livello di concentrazione degli emittenti presenti nel suo portafoglio è ADEGUATO in quanto tutti gli emittenti sono presenti in misura inferiore rispetto ai limiti stabiliti dalla Banca.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 3; +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'La complessità dei singoli strumenti detenuti nel suo portafoglio è ADEGUATA in quanto coerente con il suo livello di esperienza e conoscenza in materia di investimenti.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 4; +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Il livello di concentrazione di prodotti complessi nel suo portafoglio è ADEGUATO in quanto inferiore al limite massimo stabilito dalla Banca e coerente rispetto al patrimonio minimo di portafoglio amministrato.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 5; +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Il numero delle operazioni effettuate è ADEGUATO in quanto inferiore rispetto ai limiti stabiliti dalla Banca in base all’entità del portafoglio amministrato e al suo livello di esperienza e conoscenza in materia d’investimenti.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 6; +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Le caratteristiche di durata e liquidità dei prodotti presenti nel suo portafoglio sono ADEGUATE in quanto coerenti con la ripartizione del patrimonio negli orizzonti temporali indicata nel questionario di profilatura.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 7; +--if @flagProf = 'P' +-- begin +-- select +-- ti_ordine as Ordine, +-- ti_indicatore as Indicatore, +-- ti_adeguato as Adeguato, +-- ti_descrizione as DescrizioneEsito +-- from #TABELLAINDICATORI +-- where ti_ordine in (1, 2, 3, 7) +-- end +--else +-- begin +-- select +-- ti_ordine as Ordine, +-- ti_indicatore as Indicatore, +-- ti_adeguato as Adeguato, +-- ti_descrizione as DescrizioneEsito +-- from #TABELLAINDICATORI +-- end +exec [C6Mart].[Decodifica_Concentrazione_Prodotti_Complessi] @rete,@codicefiscale + declare @flagProf varchar(1) + select @flagProf = TipoConsulenza from c6mart.vContratti where Rete = @Rete and Cod_Fiscale = @CodiceFiscale + select * + into #res + from ( + select + 1 as Ordine, + 'Rischio' as Indicatore, + convert(varchar(5), RM_ADEGUATEZZA_INDICATORE) as Adeguato, + RM_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 2 as Ordine, + 'Riserva' as Indicatore, + convert(varchar(5), RS_ADEGUATEZZA_INDICATORE) as Adeguato, + RS_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 3 as Ordine, + 'Investimento di Lungo Periodo' as Indicatore, + convert(varchar(5), TH_ADEGUATEZZA_INDICATORE) as Adeguato, + TH_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 4 as Ordine, + 'Complessità' as Indicatore, + convert(varchar(5), CM_ADEGUATEZZA_INDICATORE) as Adeguato, + CM_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 5 as Ordine, + 'Concentrazione in prodotti complessi' as Indicatore, + convert(varchar(5), CC_ADEGUATEZZA_INDICATORE) as Adeguato, + CC_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 6 as Ordine, + 'Frequenza delle operazioni' as Indicatore, + convert(varchar(5), FQ_ADEGUATEZZA_INDICATORE) as Adeguato, + FQ_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 7 as Ordine, + 'Concentrazione Emittenti' as Indicatore, + convert(varchar(5), CE_ADEGUATEZZA_INDICATORE) as Adeguato, + CE_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 8 as Ordine, + 'Concentrazione Valutaria' as Indicatore, + convert(varchar(5), CV_ADEGUATEZZA_INDICATORE) as Adeguato, + CV_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + ) a + --if @flagProf = 'P' + -- select * from #res where ordine in (1, 2, 3, 7) + --else + select * from #res + --drop table #res +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S150Anagrafica.sql b/sql/storedProduzione/C6Mart_PL_D_S150Anagrafica.sql new file mode 100644 index 00000000..587be6af --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S150Anagrafica.sql @@ -0,0 +1,91 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S150Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + --V Indirizzo Secondo AULETTA + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_INZIOAVANZATO) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + null AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + CONTRATTOSEI.[Provincia] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.VCONTRATTI AS CONTRATTOSEI -- TABELLA BASE + INNER JOIN + C6MART.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MART.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + LEFT JOIN + C6MART.ANAG_CLIENTI_PREV + ON + ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + LEFT JOIN + C6MART.DATI_REPORT + ON + ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + WHERE 1 = 1 + AND ANAG_CLIENTI.RETE = @RETE + AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S151ProfiloDiRischio.sql b/sql/storedProduzione/C6Mart_PL_D_S151ProfiloDiRischio.sql new file mode 100644 index 00000000..6fb8ae06 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S151ProfiloDiRischio.sql @@ -0,0 +1,48 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S151ProfiloDiRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MART.MIFID AS M + INNER JOIN C6MART.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskclass, + @experience as experince +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S152Patrimonio.sql b/sql/storedProduzione/C6Mart_PL_D_S152Patrimonio.sql new file mode 100644 index 00000000..803b3563 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S152Patrimonio.sql @@ -0,0 +1,87 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S152Patrimonio] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT + @PatrimonioBF = SUM(CTV) + FROM + C6MART.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area <> 'CC' --escludo il cc negativo +-- SELECT @Part_viaggianti=SUM(IMPORTO) +-- FROM C6MART.PARTITE_VIAGGIANTI partvia +-- WHERE +-- partvia.Rete = @Rete +-- and partvia.Cod_Fiscale = @CodiceFiscale + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6MART.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6MART.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + SELECT + @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM + C6MART.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM + C6MART.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioAltro = SUM(patrAltro.ctv) + FROM + C6MART.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S153PatrimonioFinanziario.sql b/sql/storedProduzione/C6Mart_PL_D_S153PatrimonioFinanziario.sql new file mode 100644 index 00000000..00dab389 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S153PatrimonioFinanziario.sql @@ -0,0 +1,147 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S153PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + DECLARE @NOMERETE VARCHAR(30) + --IF @Rete = 'F' + --SET @NOMERETE = 'Banca Fideuram' + --ELSE + --SET @NOMERETE = 'Sanpaolo Invest' + IF @Rete = 'F' + SET @NOMERETE = 'Banca Fideuram' + ELSE IF @Rete = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE + SET @NOMERETE = 'IW Private Investments' + SELECT + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Intermediario, + Ordine, + @NOMERETE AS Banca, + -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv + SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine)) / + (SUM(ctv) over (partition by 'Totale')) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + @NOMERETE AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MART.PATRIMONIO_BF patrBF +-- LEFT JOIN C6MART.ClientiConCCNegativo CCNegativo +-- ON PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- AND PATRBF.TIPO_PRODOTTO = 'CC' + WHERE 1 = 1 + AND patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO + and patrBF.id_area <> 'cc' + UNION ALL + SELECT + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MART.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + AND patrTerzi.Rete = @Rete + AND patrTerzi.Cod_Fiscale = @CodiceFiscale + GROUP BY patrTerzi.Intermediario + ) PATR + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D_S153PatrimonioFinanziario] Script Date: 08/02/2022 17:19:22 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +--ALTER procedure [C6Mart].[PL_D_S153PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @Rete = 'F' +-- SET @NOMERETE = 'Banca Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- Intermediario, +-- Ordine, +-- Banca, +-- Controvalore, +-- round(Percentuale,2) as Percentuale +-- FROM +-- ( +-- SELECT DISTINCT +-- Intermediario, +-- Ordine, +-- @NOMERETE AS Banca, +-- -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv +-- SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, +-- ( +-- (SUM(ctv) over (partition by Intermediario,Ordine)) / +-- (SUM(ctv) over (partition by 'Totale')) +-- ) * 100 AS PERCENTUALE +-- FROM +-- ( +-- SELECT +-- @NOMERETE AS Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 1 AS ordine +-- FROM C6MART.PATRIMONIO_BF patrBF +---- LEFT JOIN C6MART.ClientiConCCNegativo CCNegativo +---- ON PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- AND PATRBF.TIPO_PRODOTTO = 'CC' +-- WHERE 1 = 1 +-- AND patrBF.Rete = @Rete +-- AND patrBF.Cod_Fiscale = @CodiceFiscale +-- --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO +-- and patrBF.id_area <> 'cc' +-- UNION ALL +-- SELECT +-- Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 2 AS ordine +-- FROM C6MART.PATRIMONIO_TERZI patrTerzi +-- WHERE 1 = 1 +-- AND patrTerzi.Rete = @Rete +-- AND patrTerzi.Cod_Fiscale = @CodiceFiscale +-- GROUP BY patrTerzi.Intermediario +-- ) PATR +-- ) A +-- WHERE CONTROVALORE IS NOT NULL +-- ORDER BY Ordine +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S154PatrimonioFinanziario.sql b/sql/storedProduzione/C6Mart_PL_D_S154PatrimonioFinanziario.sql new file mode 100644 index 00000000..43d208fb --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S154PatrimonioFinanziario.sql @@ -0,0 +1,316 @@ +-- Stored procedure +-- ============================================= +-- Author: Luca De Lisio +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_DT_S154PatrimonioFinanziario] 'F','LNTNNE59L06F205C' +CREATE procedure [C6Mart].[PL_D_S154PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SELECT + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + --CASE @Rete + --WHEN 'S' THEN 'Sanpaolo Invest' + --ELSE 'Banca Fideuram' + --END AS Banca, + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Banca Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + --PRODOTTI BF ESCLUSI GLI ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.PATRIMONIO_BF PATRBF + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MART.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + --DETTAGLIO ASUL SENZA SKANDIA + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --CON SKANDIA + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MART.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D_S154PatrimonioFinanziario] Script Date: 08/02/2022 17:20:52 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: Luca De Lisio +---- Create date: +---- Description: +---- ============================================= +----[C6Mart].[PL_DT_S154PatrimonioFinanziario] 'F','LNTNNE59L06F205C' +--ALTER procedure [C6Mart].[PL_D_S154PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +--SELECT +-- A.Banca, +-- A.Ordinamento, +-- A.AssetClassId, +-- A.AssetClassName, +-- cast(A.Controvalore as decimal(19,6)) Controvalore, +-- A.Percentuale, +-- cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +--FROM +--( +-- SELECT DISTINCT +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Banca Fideuram' +-- END AS Banca, +-- ASSETCLASS.ORDINAMENTO AS Ordinamento, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') +-- ) * 100 AS Percentuale +-- FROM ( +-- --PRODOTTI BF ESCLUSI GLI ASUL +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- and patrbf.id_area <> 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +---- SELECT +---- ASSETPERC.ID_ASSETCLASS, +---- PATRBF.CTV*ASSETPERC.PERC as Controvalore +---- FROM +---- C6MART.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MART.ASSET_PERC ASSETPERC +---- ON +---- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +---- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +---- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN +---- C6MART.ClientiConCCNegativo CCNegativo +---- ON +---- PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- WHERE +---- --ELIMINO I CC CON SALDO NEGATIVO +---- PATRBF.TIPO_PRODOTTO = 'CC' +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND CCNegativo.Cod_Fiscale IS NULL +---- UNION ALL +-- --DETTAGLIO ASUL SENZA SKANDIA +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --CON SKANDIA +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MART.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MART.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MART.PATRIMONIO_TERZI PATRTERZI +-- LEFT OUTER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI NON A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MART.PATRIMONIO_TERZI PATRTERZI +-- LEFT OUTER JOIN +-- C6MART.ASSET_PERC_TERZI ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MART.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--ORDER BY A.ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S155PatrimonioImmobiliare.sql b/sql/storedProduzione/C6Mart_PL_D_S155PatrimonioImmobiliare.sql new file mode 100644 index 00000000..997a27c5 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S155PatrimonioImmobiliare.sql @@ -0,0 +1,21 @@ +CREATE procedure [C6Mart].[PL_D_S155PatrimonioImmobiliare] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + SELECT + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + FROM C6MART.PATRIMONIO_IMMOBILIARE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S156ALtroPatrimonio.sql b/sql/storedProduzione/C6Mart_PL_D_S156ALtroPatrimonio.sql new file mode 100644 index 00000000..741b91cb --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S156ALtroPatrimonio.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S156ALtroPatrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + SELECT + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM + C6MART.PATRIMONIO_ALTRO + WHERE + PATRIMONIO_ALTRO.RETE = @Rete + AND PATRIMONIO_ALTRO.COD_FISCALE = @CodiceFiscale + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S157ConfrontoPiramidi.sql b/sql/storedProduzione/C6Mart_PL_D_S157ConfrontoPiramidi.sql new file mode 100644 index 00000000..356f8dd0 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S157ConfrontoPiramidi.sql @@ -0,0 +1,203 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6MART].[PL_D_S157ConfrontoPiramidi] 'F','FSLMSV46E05G999S' +CREATE procedure [C6Mart].[PL_D_S157ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MART.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + LEFT(ID_AREA,3) AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MART.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc') + --V + DECLARE @TOTCC AS INT + SELECT @TOTCC = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND TIPO_PRODOTTO = 'Cc' + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCC = @TOT THEN 0.00 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + WHEN (@TOTCC <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'n.c.' + --V SOLO CC -> VAR = 0 + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCC = @TOT THEN NULL + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCC = @TOT THEN NULL + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MART.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + END + ) + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S158PiramideModello.sql b/sql/storedProduzione/C6Mart_PL_D_S158PiramideModello.sql new file mode 100644 index 00000000..3673dae9 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S158PiramideModello.sql @@ -0,0 +1,54 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_D_S158PiramideModello] 'F','DGSNNZ38T22E435S' +CREATE procedure [C6Mart].[PL_D_S158PiramideModello] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + --SELECT BF.NOME_PROGETTO AS NomePrg, + -- PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + -- AGGR.VAR_PERC_PTF as VarPrg, + -- SUM(BF.CTV)AS ControvalorePrg + --FROM C6Mart.PATRIMONIO_BF BF + --INNER JOIN C6Mart.RISCHIO_AGGREGATO AGGR + -- ON BF.RETE= AGGR.RETE + -- AND BF.COD_FISCALE= AGGR.COD_FISCALE + -- AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO + --INNER JOIN C6Mart.PIRAMIDE_MOD PIRMOD + -- ON BF.RETE= PIRMOD.RETE + -- AND BF.COD_FISCALE= PIRMOD.COD_FISCALE + -- AND BF.ID_AREA = PIRMOD.ID_AREA + -- AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + --WHERE 1=1 + --AND BF.ID_AREA = 'inv' + --AND BF.RETE = @Rete + --AND BF.COD_FISCALE = @CodiceFiscale + --AND BF.CTV > 0 + --group BY BF.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,AGGR.VAR_PERC_PTF + SELECT + PIRMOD.NOME_PROGETTO AS NomePrg, + PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + ISNULL(T.VAR_PERC_PTF,0) as VarPrg, + ISNULL(SUM(T.CTV),0) AS ControvalorePrg + FROM C6Mart.PIRAMIDE_MOD PIRMOD + LEFT JOIN + (SELECT BF.RETE, BF.COD_FISCALE,BF.ID_AREA,BF.NOME_PROGETTO,AGGR.VAR_PERC_PTF,BF.CTV FROM C6Mart.PATRIMONIO_BF BF + INNER JOIN C6Mart.RISCHIO_AGGREGATO AGGR + ON BF.RETE= AGGR.RETE + AND BF.COD_FISCALE= AGGR.COD_FISCALE + AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO) T + ON PIRMOD.ID_AREA = T.ID_AREA + AND PIRMOD.COD_FISCALE = T.COD_FISCALE + AND PIRMOD.RETE = T.RETE + AND PIRMOD.NOME_PROGETTO = T.NOME_PROGETTO + WHERE + PIRMOD.ID_AREA = 'inv' + AND T.CTV > 0 + AND PIRMOD.RETE = @Rete + AND PIRMOD.COD_FISCALE = @CodiceFiscale + GROUP BY PIRMOD.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,T.VAR_PERC_PTF +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S159PatrimonioFinanziario.sql b/sql/storedProduzione/C6Mart_PL_D_S159PatrimonioFinanziario.sql new file mode 100644 index 00000000..10abe279 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S159PatrimonioFinanziario.sql @@ -0,0 +1,118 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + CREATE procedure [C6Mart].[PL_D_S159PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(19,5)) AS Controvalore, + cast(A.Percentuale as decimal(19,5)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Banca Fideuram' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.PATRIMONIO_BF PATRBF + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MART.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MART.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S160DettaglioProdottiBF.sql b/sql/storedProduzione/C6Mart_PL_D_S160DettaglioProdottiBF.sql new file mode 100644 index 00000000..39a018b7 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S160DettaglioProdottiBF.sql @@ -0,0 +1,192 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- cast(C6Mart.ANAG_CC.SALDO as decimal(15,2)) as Controvalore +-- [C6Mart].[PL_S43DettaglioProdottiBF] 'F', 'GFFSLL50T44F205Z' +--SELECT * FROM PATR1 +CREATE procedure [C6Mart].[PL_D_S160DettaglioProdottiBF] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT +PATRBF.NOME_PROGETTO AS EE, PATRBF.ID_AREA, +CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID AS TMP, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA + END AS needarea, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS versato_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' + THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS MinusPlusValenza_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenza_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL + END AS somma_var_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL + END AS somma_copertura_need_prog, + cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c.') AS var_needareaString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_AREA.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_AREA.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END as var_needareaString, + CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL(5,2)) AS copertura_needarea, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 + --Valerio danilo THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE NULL + END AS copertura_needareaString, + RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, + --CASE WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as var_need_progString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END as var_need_progString, + RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATRBF.CTV AS Controvalore, + PATRBF.VERSATO_NETTO AS VersatoNetto, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, + PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +-- RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, +---- CASE WHEN ISNULL(RISCHIO_PROD.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as varProdottoString, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as varProdottoString, + case when (patrbf.tipo_prodotto ='CC') then 0.00 + else RISCHIO_PROD.VAR_PERC_PTF + end AS VaRprodotto, + CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, + RISCHIO_PROD.Copertura AS Coperturaprodotto, + PATRBF.REND_ANNO AS PerformanceYTD, + PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, + PARTVIA_DISINV AS partitaViaggiante, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 THEN '*' + ELSE NULL + END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM C6MART.PATRIMONIO_BF PATRBF +INNER JOIN C6MART.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN AREA.ID_AREA = 'Na' THEN 'RISORSENONASSOCIATE|' +-- ELSE + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL)-- AND (LEFT(PATRBF.ID_AREA,3)<>'Na' Or PATRBF.NOME_PROGETTO <> 'Default') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = + case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 +--Bido + --AND ( + --PATRBF.CTV > 0 + --OR ( PATRBF.CTV < 0 AND patrbf.tipo_prodotto = 'cc' ) + --) +-- +ORDER BY AREASORTORDER, nome_progetto, PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S162DettaglioProdotti.sql b/sql/storedProduzione/C6Mart_PL_D_S162DettaglioProdotti.sql new file mode 100644 index 00000000..f2eff0b4 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S162DettaglioProdotti.sql @@ -0,0 +1,98 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S162DettaglioProdotti] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6MART.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOAGGREG + ON + PATRTERZI.RETE = RISCHIOAGGREG.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGREG.COD_FISCALE + AND RISCHIOAGGREG.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + WHERE 1 = 1 + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.DESCR_GRUPPO_PRODOTTO IS NOT NULL + ORDER BY + OrdinamentoProdotti, + Controvalore DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S163PatrimonioFinanziarioMAssetClass.sql b/sql/storedProduzione/C6Mart_PL_D_S163PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..1356f343 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S163PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,61 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S163PatrimonioFinanziarioMAssetClass] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT DISTINCT + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN C6MART.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + ORDER BY + ASSETCLASS.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S164PolizzeAltriIstituti.sql b/sql/storedProduzione/C6Mart_PL_D_S164PolizzeAltriIstituti.sql new file mode 100644 index 00000000..3dc9c1c9 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S164PolizzeAltriIstituti.sql @@ -0,0 +1,31 @@ +-- ============================================= +-- Author: Marco Gentilezza +-- Create date: +-- Description: +-- ============================================= +--C6Mart.PL_D_S164PolizzeAltriIstituti 'S', 'VGNVLR52C31G702Z' +CREATE procedure [C6Mart].[PL_D_S164PolizzeAltriIstituti] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + isnull(PATRTERZI.VERSATO_NETTO, 0) AS AmmontareVersamento + FROM + C6MART.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MART.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' + WHERE PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S165FondiAltriIstituti.sql b/sql/storedProduzione/C6Mart_PL_D_S165FondiAltriIstituti.sql new file mode 100644 index 00000000..ab02fcfc --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S165FondiAltriIstituti.sql @@ -0,0 +1,62 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S165FondiAltriIstituti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + FROM + C6MART.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MART.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + WHERE + PATRTERZI.rete = @Rete + and PATRTERZI.cod_fiscale = @CodiceFiscale + --AND PATRTERZI.TIPO_PRODOTTO = 'Fondi pensione' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S166ContoCorrenteAI.sql b/sql/storedProduzione/C6Mart_PL_D_S166ContoCorrenteAI.sql new file mode 100644 index 00000000..0418a6dc --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S166ContoCorrenteAI.sql @@ -0,0 +1,23 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S166ContoCorrenteAI] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + CCTerzi.INTERMEDIARIO AS Intermediario, + CCTerzi.COD_CC AS ContoCorrente, + CCTerzi.SALDO AS Saldo, + null as creditrisk, + 'n.a.' as creditriskstring, + 0.00 as var + FROM + C6MART.ANAG_CC_Terzi CCTerzi + WHERE + CCTerzi.rete= @Rete + AND CCTerzi.cod_fiscale= @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S167DistribuzioneRischioCredito.sql b/sql/storedProduzione/C6Mart_PL_D_S167DistribuzioneRischioCredito.sql new file mode 100644 index 00000000..c08d92b0 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S167DistribuzioneRischioCredito.sql @@ -0,0 +1,613 @@ +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_D_S167DistribuzioneRischioCredito] 'F','BRGGRL48H52G096C' +CREATE procedure [C6Mart].[PL_D_S167DistribuzioneRischioCredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Banca Fideuram', 'Sanpaolo Invest', 'IW Private Investments') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' WHEN PATRBF.RETE = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS INTERMEDIARIO, +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MART.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MART.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' WHEN PATRBF.RETE = 'S' THEN 'SANPAOLO' ELSE 'IWPRIVATEINVESTMENTS' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +'Altri Istituti' AS INTERMEDIARIO, +--PATRTERZI.INTERMEDIARIO, +--SUM(CTV) AS CTV +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MART].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' AND CTV > 0 THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CTV) AS CTV +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MART].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D_S167DistribuzioneRischioCredito] Script Date: 08/02/2022 16:13:29 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Authors: +---- Create date: +---- Description: +---- ============================================= +---- [C6Mart].[PL_D_S167DistribuzioneRischioCredito] 'F','BRGGRL48H52G096C' +--ALTER procedure [C6Mart].[PL_D_S167DistribuzioneRischioCredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +----QUERY PER INTERMEDIARIO +--SELECT +--RETE, +--COD_FISCALE, +--INTERMEDIARIO, +--CASE WHEN INTERMEDIARIO IN ( 'Banca Fideuram', 'Sanpaolo Invest') THEN 1 +-- ELSE 2 END AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +-- -- Start 1.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--CASE WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +--FROM +--[C6MART].PATRIMONIO_BF PATRBF +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_BF +--where id_Area='Cc' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +----INNER JOIN C6MART.CODIFICA_CREDITRISK CR +--LEFT outer JOIN C6MART.CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END, +--CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +----- End 1.1 +--UNION ALL +---- Start 1.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--'Altri Istituti' AS INTERMEDIARIO, +----PATRTERZI.INTERMEDIARIO, +----SUM(CTV) AS CTV +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6MART].PATRIMONIO_TERZI PATRTERZI +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--PATRTERZI.INTERMEDIARIO, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 1.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE, +--INTERMEDIARIO +---------- +--UNION ALL +------------- +----QUERY TOTALE +--SELECT +--RETE, +--COD_FISCALE, +--'Complessivo' AS INTERMEDIARIO, +--3 AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS ='NA' AND CTV > 0 THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +----- Start 2.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +--FROM +--[C6MART].PATRIMONIO_BF PATRBF +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_BF +--where id_Area='Cc' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +--left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 2.1 +--UNION ALL +---- Start 2.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +----SUM(CTV) AS CTV +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6MART].PATRIMONIO_TERZI PATRTERZI +--left outer join +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +----- End 2.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S168TabellaEmittenti.sql b/sql/storedProduzione/C6Mart_PL_D_S168TabellaEmittenti.sql new file mode 100644 index 00000000..6555144a --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S168TabellaEmittenti.sql @@ -0,0 +1,396 @@ +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6Mart].[PL_D_S168TabellaEmittenti] 'F','FF@7181' +CREATE procedure [C6Mart].[PL_D_S168TabellaEmittenti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS, + RATING + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +--RATING as RATING +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +--RATING as RATING +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V +LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS, +RATING +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10 +--RATING +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S169RischiomercatoRischiocredito.sql b/sql/storedProduzione/C6Mart_PL_D_S169RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..7c9266d1 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S169RischiomercatoRischiocredito.sql @@ -0,0 +1,448 @@ +CREATE procedure [C6Mart].[PL_D_S169RischiomercatoRischiocredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + C6MART.patrimonio_bf PATRBF,C6MART.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.cod_fiscale = @codiceFiscale + and PATRBF.rete= @rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + C6MART.PATRIMONIO_TERZI TERZI,C6MART.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.cod_fiscale =@codiceFiscale + and TERZI.rete=@rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + C6MART.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN C6MART.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + C6MART.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Banca Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'W' then 'Patrimonio IW Private Inv.' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + C6MART.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + C6MART.PATRIMONIO_TERZI TERZI + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + C6MART.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN C6MART.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + C6MART.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D_S169RischiomercatoRischiocredito] Script Date: 08/02/2022 16:28:29 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +--ALTER procedure [C6Mart].[PL_D_S169RischiomercatoRischiocredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- PATRBF.INSTITUTENAME, +-- CTV, +-- M.PROFILO_ASS AS CODICEPROFILO, +-- CR.MAX_VAR AS VARMAX, +-- RISK_AGG.VAR_PERC_PTF AS VAR , +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END AS VARSTRING, +-- RISK_AGG.CREDITRISK RISKCLASS, +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END AS RISKCLASSSTRING, +-- ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +----V La copertura viene valorizzata con un valore da 0 da 100 +-- -- CASE +-- -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +---- ELSE +--NULL +---- END +--AS COVERAGESTRING, +-- M.RISKCLASS AS RISKCLASSMAX, +-- round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / +-- -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 +-- THEN 1 +-- ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) +-- END) +-- *100 ,2)AS PERCENTAGE, +-- --V +-- ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, +-- SUM(PATRBF.CTV) AS CTV, +-- --V +-- 1 as ORDINE, +-- RISK_AGG.Ully_perc +-- from +-- C6MART.patrimonio_bf PATRBF,C6MART.RISCHIO_AGGREGATO RISK_AGG +-- where +-- 1=1 +-- and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE +-- and PATRBF.rete= RISK_AGG.rete +-- and PATRBF.cod_fiscale = @codiceFiscale +-- and PATRBF.rete= @rete +-- and PATRBF.CTV > 0 +-- and +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or +-- --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- RISK_AGG.Ully_perc, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END +-- UNION +-- SELECT +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- 'Patrimonio altri Istituti' AS INSTITUTENAME, +-- SUM(ROUND(TERZI.CTV,2)) AS CTV, +-- --V +-- 2 as ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- C6MART.PATRIMONIO_TERZI TERZI,C6MART.RISCHIO_AGGREGATO RISK_AGG +-- where +-- 1=1 +-- and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE +-- and TERZI.rete= RISK_AGG.rete +-- and TERZI.cod_fiscale =@codiceFiscale +-- and TERZI.rete=@rete +-- and TERZI.CTV > 0 +-- and +-- ( +-- --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- GROUP BY +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- RISK_AGG.Ully_perc +-- ) PATRBF +-- LEFT OUTER JOIN +-- C6MART.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN C6MART.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- C6MART.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- C6MART.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- AND +-- (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Banca Fideuram' +-- WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' +-- else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- UNION ALL +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- 'Patrimonio Complessivo' AS INSTITUTENAME, +-- SUM(CTV), +-- MAX(M.PROFILO_ASS) AS CODICEPROFILO, +-- MAX(CR.MAX_VAR) AS VARMAX, +-- MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , +-- MAX( CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END) AS VARSTRING, +-- MAX(RISK_AGG.CREDITRISK) RISKCLASS, +-- MAX( +-- case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END ) +-- AS RISKCLASSSTRING, +-- MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, +-- MAX( CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END) AS COVERAGESTRING, +-- --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, +-- MAX(M.RISKCLASS) AS RISKCLASSMAX, +-- 100 AS PERCENTAGE, +-- --V +-- 3 AS ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- SUM(PATRBF.CTV) AS CTV +-- from +-- C6MART.patrimonio_bf PATRBF +-- where +-- 1=1 +-- and cod_fiscale =@codiceFiscale +-- and rete=@rete +-- and PATRBF.CTV > 0 +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE +-- UNION +-- SELECT +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- SUM(ROUND(TERZI.CTV,2)) AS CTV +-- FROM +-- C6MART.PATRIMONIO_TERZI TERZI +-- where +-- 1=1 +-- and cod_fiscale =@codiceFiscale +-- and rete=@rete +-- and TERZI.CTV > 0 +-- GROUP BY +-- TERZI.RETE, +-- TERZI.COD_FISCALE +-- ) PATRBF +-- LEFT OUTER JOIN +-- C6MART.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN C6MART.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- C6MART.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- C6MART.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO' +-- ) +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- RISK_AGG.Ully_perc +-- --V +-- order by ordine +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S170RischioDiversificazione.sql b/sql/storedProduzione/C6Mart_PL_D_S170RischioDiversificazione.sql new file mode 100644 index 00000000..80d73710 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S170RischioDiversificazione.sql @@ -0,0 +1,86 @@ +-- [C6Mart].[PL_D_S170RischioDiversificazione] 'S','02148400126' +CREATE procedure [C6Mart].[PL_D_S170RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @contaCC as int + select @contaCC = count(*) + from C6MART.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from C6MART.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6mart.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6mart.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 +SELECT + K.COD_FISCALE, + K.RETE, + CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 + END AS CTV_AGGREG, + K.CREDITRISK, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END +as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Banca Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM C6MART.RISCHIO_AGGREGATO K +left outer JOIN C6MART.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete +left outer join C6MART.CODIFICA_RISCHIO b + ON A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql b/sql/storedProduzione/C6Mart_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..bd436950 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,144 @@ +-- ============================================= +-- Author: +-- Create date: 30/08/2013 +-- Description: uguale a S76 +-- ============================================= +--[C6Mart].[PL_D_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +CREATE procedure [C6Mart].[PL_D_S171PatrimonioNonRappresentabileAssettClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Banca Fideuram' + ELSE IF @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + UNION ALL + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MART.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO + ORDER BY CONTROVALORE DESC +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D_S171PatrimonioNonRappresentabileAssettClass] Script Date: 08/02/2022 16:31:51 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: 30/08/2013 +---- Description: uguale a S76 +---- ============================================= +----[C6Mart].[PL_D_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +--ALTER procedure [C6Mart].[PL_D_S171PatrimonioNonRappresentabileAssettClass] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @RETE = 'F' +-- SET @NOMERETE = 'Banca Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- PATRBF.CTV as Controvalore, +-- PATRBF.CTV as controvalore_contratto, +-- PATRBF.PARTVIA_DISINV as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO <> 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- UNION ALL +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- SUM(ASUL.CTV) as Controvalore, +-- MAX(PATRBF.CTV) as controvalore_contratto, +-- SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN C6MART.DETTAGLIO_ASUL ASUL +-- ON PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- GROUP BY +-- PATRBF.ID_CONTRATTO, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , +-- ANAGP.DESCR_PRODOTTO +-- ORDER BY CONTROVALORE DESC +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S177ProfiloDiRischio_Adeguatezza.sql b/sql/storedProduzione/C6Mart_PL_D_S177ProfiloDiRischio_Adeguatezza.sql new file mode 100644 index 00000000..b72fc8ed --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S177ProfiloDiRischio_Adeguatezza.sql @@ -0,0 +1,69 @@ +--[C6Mart].[PL_D_S177ProfiloDiRischio_Adeguatezza] 'F', 'DVTMRA58B09F839W' +CREATE procedure [C6Mart].[PL_D_S177ProfiloDiRischio_Adeguatezza] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenza DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + declare @descrizioneProfilo varchar(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @riskclassDescr VARCHAR(250) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza varchar(20) + DECLARE @riserva decimal(13,2) + DECLARE @inv_l_p decimal(5,2) + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenza = M.DATA_FINE_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + --when 5 then 'Alta' + else '-' + end, + @riserva=isnull(importoriserva,0.00), + @inv_l_p=isnull(perclungoperiodo,0.00)--@inv_l_p='58.00' + FROM + C6Mart.MIFID AS M + INNER JOIN C6Mart.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + -- RICERCA DATA FINE VALIDITA' + declare @dtfinval decimal(9,0) + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (@dataScadenza) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as DescrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as descrizioneEsperienza, + @riserva as riserva, + @inv_l_p as investimento_l_periodo +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S178CasiParticolari.sql b/sql/storedProduzione/C6Mart_PL_D_S178CasiParticolari.sql new file mode 100644 index 00000000..c5df1208 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S178CasiParticolari.sql @@ -0,0 +1,94 @@ +-- [C6Mart].[PL_D_S178CasiParticolari] 'F','MTTSRA00H61D704A' +CREATE procedure [C6Mart].[PL_D_S178CasiParticolari] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @Copertura decimal(10,2) + declare @SoloProdottiSenzaAdeguatezza int + declare @SoloCC int + declare @SoloProdottiSenzaAdeguatezzaOrSoloCC int + declare @IDTesto int + set @IDTesto = 0 + ------------------------------------------------------------------------------ CASO 1 COPERTURA = 0 + select @Copertura=copertura + from C6Mart.RISCHIO_AGGREGATO + -- 'COMPLESSIVO|BF' come viene fatto nella PL_D_S157ConfrontoPiramidi per la copertura_tot, campo per l'esposizione della nota sulla coperura sotto la piramide + where cod_aggreg='COMPLESSIVO|BF' + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE +------------------------------------------------------------------------------ FINE CASO 1 +------------------------------------------------------------------------------ CASO 2 SENZA PRODOTTI IN ADEGUATEZZA + -- Controllo se nel Portafoglio c'è solo CC + select rete, cod_fiscale, id_area + into #t1 + from c6mart.patrimonio_bf + where rete = @Rete and cod_fiscale = @CodiceFiscale + group by rete,cod_fiscale, id_area + + select rete, cod_fiscale, count(*) as numero + into #t2 + from #t1 + group by rete, cod_fiscale having count(*) = 1 + + if exists( + select p.rete, p.cod_fiscale + from c6mart.patrimonio_bf p + inner join #t2 + on p.rete = #t2.rete + and p.cod_fiscale = #t2.cod_fiscale + --where rete + cod_fiscale in (select rete + cod_fiscale from #t2) + where p.id_area = 'liq' + and p.tipo_prodotto = 'cc' + ) + + set @soloCC = 1 + else + set @soloCC = 0 + + drop table #t1 + drop table #t2 + -- Se le count torna 0 record significa che in ptf ci sono solo prodotti senza adeguatezza + select @SoloProdottiSenzaAdeguatezza= count(*) + from c6mart.patrimonio_bf patr + left join [C6Staging].[Prodotti_Fuori_Adeguatezza] senza + on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto + where patr.rete = @rete + and patr.cod_fiscale = @codicefiscale + and senza.codinterno is null + -- Se si verifica uno dei due casi, imposto la variabile a 1 + if @SoloProdottiSenzaAdeguatezza = 0 or @SoloCC = 1 + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 1 + else + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 0 +----------------------------------------------------------------------------- FINE CASO 2 +-- CASO 3 COPERTURA = 0 + e ptf con solo PRODOTTI senza ADEGUATEZZA +-- FINE CASO 3 +-- RISULTATO FINALE + if(@Copertura = 0) + begin + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 3 + end + else + begin + set @IDTesto = 1 + end + end + else + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 2 + end + select ID, Testo + from [C6Mart].[TB_S178CasiParticolari_Testi] + where ID = @IDTesto +-- ********************* PARTE FINTA +--select ID, Testo +-- from [C6Mart].[TB_S178CasiParticolari_Testi] +-- where ID = 0 +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S178CasiParticolari_20181220.sql b/sql/storedProduzione/C6Mart_PL_D_S178CasiParticolari_20181220.sql new file mode 100644 index 00000000..17a7a049 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S178CasiParticolari_20181220.sql @@ -0,0 +1,56 @@ +-- [C6Mart].[PL_D_S178CasiParticolari] 'F','MTTSRA00H61D704A' +CREATE procedure [C6Mart].[PL_D_S178CasiParticolari_20181220] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------ CASO 1 COPERTURA = 0 + declare @Copertura decimal(10,2) + declare @SoloProdottiSenzaAdeguatezza int + declare @IDTesto int + set @IDTesto = 0 + select @Copertura=copertura + from C6Mart.RISCHIO_AGGREGATO + -- 'COMPLESSIVO|BF' come viene fatto nella PL_D_S157ConfrontoPiramidi per la copertura_tot, campo per l'esposizione della nota sulla coperura sotto la piramide + where cod_aggreg='COMPLESSIVO|BF' + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE +------------------------------------------------------------------------------ FINE CASO 1 +------------------------------------------------------------------------------ CASO 2 SENZA PRODOTTI IN ADEGUATEZZA + -- Se le count torna 0 record significa che in ptf ci sono solo prodotti senza adeguatezza + select @SoloProdottiSenzaAdeguatezza= count(*) + from c6mart.patrimonio_bf patr + left join [C6Staging].[Prodotti_Fuori_Adeguatezza] senza + on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto + where patr.rete = @rete + and patr.cod_fiscale = @codicefiscale + and senza.codinterno is null +----------------------------------------------------------------------------- FINE CASO 2 +-- CASO 3 COPERTURA = 0 + e ptf con solo PRODOTTI senza ADEGUATEZZA +-- FINE CASO 3 +-- RISULTATO FINALE + if(@Copertura = 0) + begin + if(@SoloProdottiSenzaAdeguatezza=0) + begin + set @IDTesto = 3 + end + else + begin + set @IDTesto = 1 + end + end + else + if(@SoloProdottiSenzaAdeguatezza=0) + begin + set @IDTesto = 2 + end + select ID, Testo + from [C6Mart].[TB_S178CasiParticolari_Testi] + where ID = @IDTesto +-- ********************* PARTE FINTA +--select ID, Testo +-- from [C6Mart].[TB_S178CasiParticolari_Testi] +-- where ID = 0 +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S178IndicatoriEsitoAdeguatezza.sql b/sql/storedProduzione/C6Mart_PL_D_S178IndicatoriEsitoAdeguatezza.sql new file mode 100644 index 00000000..461c7725 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S178IndicatoriEsitoAdeguatezza.sql @@ -0,0 +1,127 @@ +--[C6Mart].[PL_D_S178IndicatoriEsitoAdeguatezza] 'F', 'MTTSRA00H61D704A' +CREATE procedure [C6Mart].[PL_D_S178IndicatoriEsitoAdeguatezza] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +------- PARTE FINTA DA ELIMINARE +--declare @flagProf varchar(1) +--select @flagProf = TipoConsulenza from c6mart.vContratti where Rete = @Rete and Cod_Fiscale = @CodiceFiscale +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Il livello di concentrazione degli emittenti presenti nel suo portafoglio è ADEGUATO in quanto tutti gli emittenti sono presenti in misura inferiore rispetto ai limiti stabiliti dalla Banca.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 3; +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'La complessità dei singoli strumenti detenuti nel suo portafoglio è ADEGUATA in quanto coerente con il suo livello di esperienza e conoscenza in materia di investimenti.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 4; +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Il livello di concentrazione di prodotti complessi nel suo portafoglio è ADEGUATO in quanto inferiore al limite massimo stabilito dalla Banca e coerente rispetto al patrimonio minimo di portafoglio amministrato.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 5; +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Il numero delle operazioni effettuate è ADEGUATO in quanto inferiore rispetto ai limiti stabiliti dalla Banca in base all’entità del portafoglio amministrato e al suo livello di esperienza e conoscenza in materia d’investimenti.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 6; +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Le caratteristiche di durata e liquidità dei prodotti presenti nel suo portafoglio sono ADEGUATE in quanto coerenti con la ripartizione del patrimonio negli orizzonti temporali indicata nel questionario di profilatura.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 7; +--if @flagProf = 'P' +-- begin +-- select +-- ti_ordine as Ordine, +-- ti_indicatore as Indicatore, +-- ti_adeguato as Adeguato, +-- ti_descrizione as DescrizioneEsito +-- from #TABELLAINDICATORI +-- where ti_ordine in (1, 2, 3, 7) +-- end +--else +-- begin +-- select +-- ti_ordine as Ordine, +-- ti_indicatore as Indicatore, +-- ti_adeguato as Adeguato, +-- ti_descrizione as DescrizioneEsito +-- from #TABELLAINDICATORI +-- end + declare @flagProf varchar(1) + select @flagProf = TipoConsulenza from c6mart.vContratti where Rete = @Rete and Cod_Fiscale = @CodiceFiscale + select * + into #res + from ( + select + 1 as Ordine, + 'Rischio' as Indicatore, + convert(varchar(5), RM_ADEGUATEZZA_INDICATORE) as Adeguato, + RM_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 2 as Ordine, + 'Riserva' as Indicatore, + convert(varchar(5), RS_ADEGUATEZZA_INDICATORE) as Adeguato, + RS_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 3 as Ordine, + 'Investimento di Lungo Periodo' as Indicatore, + convert(varchar(5), TH_ADEGUATEZZA_INDICATORE) as Adeguato, + TH_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 4 as Ordine, + 'Complessità' as Indicatore, + convert(varchar(5), CM_ADEGUATEZZA_INDICATORE) as Adeguato, + CM_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 5 as Ordine, + 'Concentrazione in prodotti complessi' as Indicatore, + convert(varchar(5), CC_ADEGUATEZZA_INDICATORE) as Adeguato, + CC_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 6 as Ordine, + 'Frequenza delle operazioni' as Indicatore, + convert(varchar(5), FQ_ADEGUATEZZA_INDICATORE) as Adeguato, + FQ_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 7 as Ordine, + 'Concentrazione Emittenti' as Indicatore, + convert(varchar(5), CE_ADEGUATEZZA_INDICATORE) as Adeguato, + CE_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 8 as Ordine, + 'Concentrazione Valutaria' as Indicatore, + convert(varchar(5), CV_ADEGUATEZZA_INDICATORE) as Adeguato, + CV_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + ) a + if @flagProf = 'P' + select * from #res where ordine in (1, 2, 3) + else + select * from #res + --drop table #res +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S179EmittentiConcentrazioneAlta.sql b/sql/storedProduzione/C6Mart_PL_D_S179EmittentiConcentrazioneAlta.sql new file mode 100644 index 00000000..3edb626a --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S179EmittentiConcentrazioneAlta.sql @@ -0,0 +1,19 @@ +--[C6Mart].[PL_D_S179EmittentiConcentrazioneAlta] 'F', 'GNSMRN59L62L219S' +CREATE procedure [C6Mart].[PL_D_S179EmittentiConcentrazioneAlta]--'F','GNSMRN59L62L219S' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + select a.RETE,a.COD_FISCALE,a.Ordine,a.Emittente,a.ctv,a.flagAdeguatezza,a.franchigia,a.percConcentrazione,a.rating,a.sogliaConcentrazione + from C6Mart.TB_S179EmittentiConcentrazioneAlta a + inner join C6Staging.VAR_ADEGUATEZZA_INDICATORI i on + a.RETE=i.RETE and a.COD_FISCALE=i.CODICE_FISCALE + where a.rete = @Rete + and a.Cod_Fiscale = @CodiceFiscale + and i.CE_ADEGUATEZZA_INDICATORE=0 + order by emittente +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S180ProdottiComplessitaAlta.sql b/sql/storedProduzione/C6Mart_PL_D_S180ProdottiComplessitaAlta.sql new file mode 100644 index 00000000..f68814dc --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S180ProdottiComplessitaAlta.sql @@ -0,0 +1,127 @@ +--[C6Mart].[PL_D_S180ProdottiComplessitaAlta] 'f', 'ff@9225' +CREATE procedure [C6Mart].[PL_D_S180ProdottiComplessitaAlta] --'W','BRGDNT48P60D612V' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @TotalePatrimonio decimal(12,2) + -- acquisiamo il totale patrimonio del cliente + SELECT @TotalePatrimonio = ctv + FROM + C6Mart.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +-- + SELECT + 1 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi + into #temp +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 3 + union all + SELECT + 2 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 2 + union all + SELECT + 3 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 1 + -- --20180905 Fine modifica + order by ordine,Compl_Base desc + delete from #temp where ordine=1 and SommaPesi<20 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta è <20 + delete from #temp where ordine=2 and SommaPesi<30 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta è <30 + delete from #temp where ordine=3 and SommaPesi<50 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta e medio-bassa è <50 +-- select * from #temp --order by ordine,Complessita + DECLARE @ordineConcatenato VARCHAR(4) +SELECT @ordineConcatenato = COALESCE(@ordineConcatenato + '', '') + CAST(ordine AS VARCHAR) +FROM (SELECT DISTINCT ordine FROM #temp) AS subquery +-- @ordineConcatenato conterrà i valori distinti concatenati della colonna 'ordine' +SELECT Ordine,CodiceContratto,NomeProdotto,Controvalore,Complessita,Peso,TotalePatrimonio,SommaControvalore,SommaPesi,@ordineConcatenato AS Ordine_Concatenato +into #temp2 +FROM #temp +select t.Ordine + ,t.CodiceContratto + ,t.NomeProdotto + ,t.Controvalore + ,t.Complessita as Complessita_Numero + ,case when t.Complessita=4 then 'Alta' + when t.Complessita=3 then 'Medio-alta' + when t.Complessita=2 then 'Medio-bassa' + else 'n.d.' end as Complessita + ,t.Peso + ,t.TotalePatrimonio + ,t.SommaControvalore + ,t.SommaPesi + ,t.Ordine_Concatenato + ,n.Descrizione + into #temp3 + from #temp2 t left join [C6Mart].[TB_S180ProdottiComplessitaAlta_note] n on t.Ordine_Concatenato=n.id + DECLARE @ComplessitaConcatenata VARCHAR(4) +SELECT @ComplessitaConcatenata = COALESCE(@ComplessitaConcatenata + '', '') + CAST(complessita_numero AS VARCHAR) +FROM (SELECT DISTINCT complessita_numero FROM #temp3 ) AS subquery order by Complessita_Numero desc +SELECT t.Ordine,t.CodiceContratto,t.NomeProdotto,t.Controvalore,t.Complessita_Numero,t.Complessita,t.Peso,t.TotalePatrimonio,t.SommaControvalore,t.SommaPesi,t.Ordine_Concatenato,replace(t.Descrizione,'@@@@@',co.descrizione) as Descrizione--,@ComplessitaConcatenata as Complessita_Concatenata +FROM #temp3 t left join [C6Mart].[TB_S180ProdottiComplessitaAlta_note_complessita] co on @ComplessitaConcatenata=co.id +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_D_S180ProdottiComplessitaAlta_mini.sql b/sql/storedProduzione/C6Mart_PL_D_S180ProdottiComplessitaAlta_mini.sql new file mode 100644 index 00000000..6a646387 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_D_S180ProdottiComplessitaAlta_mini.sql @@ -0,0 +1,89 @@ +CREATE procedure [C6Mart].[PL_D_S180ProdottiComplessitaAlta_mini] --'W','BRGDNT48P60D612V' + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + declare @TotalePatrimonio decimal(12,2) + SELECT @TotalePatrimonio = ctv + FROM + C6Mart.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND COD_FISCALE = @CodiceFiscale + SELECT + 1 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi + into #temp +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 3 + union all + SELECT + 2 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 2 + union all + SELECT + 3 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 1 +delete from #temp where ordine=1 and SommaPesi<20 +delete from #temp where ordine=2 and SommaPesi<30 +delete from #temp where ordine=3 and SommaPesi<50 +select case when exists (select 1 from #temp) then 1 else 0 end +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_FD181PreferenzeESG.sql b/sql/storedProduzione/C6Mart_PL_FD181PreferenzeESG.sql new file mode 100644 index 00000000..b101ba99 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_FD181PreferenzeESG.sql @@ -0,0 +1,47 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'VNZGPL53M04L781P' +CREATE procedure [C6Mart].[PL_FD181PreferenzeESG] --'W','MLDDND66M21B967S' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT esg.[rete] + ,esg.[cod_fiscale] + ,esg.[Preferenza_esg_cliente] + ,esg.[ESG_E] + ,esg.[ESG_S] + ,esg.[ESG_G] + ,CAST(ROUND(ISNULL(obiettivo_ESG_minimo, 0.00), 2) AS decimal(6, 2)) AS obiettivo_ESG_minimo + ,esg.[ESG_Rating] + ,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_E_perc + ,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_S_perc + ,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_G_perc + ,case when isnull(ind.percESG,'0.00')>=25 and isnull(ind.percESG,'0.00')<50 then 'Almeno pari al 25%' + when isnull(ind.percESG,'0.00')>=50 and isnull(ind.percESG,'0.00')<75 then 'Almeno pari al 50%' + when isnull(ind.percESG,'0.00')>=75 then 'Almeno pari al 75%' else 'n.d.' end as Pref_Sost + ,case when cle.U_PREFSOST='S' then 'Y' + when cle.U_PREFSOST='N' then 'N' else 'N' end as U_PREFSOST --Ulteriori Preferenze di Sostenibilità ----decommenta per ESG 2024 + ,case when cle.FLAGSFDR='S' then replace(cast(cle.SFDR_PERC as varchar(12)),'.00','')+'%' else '-' end as SFDR_PERC ----decommenta per ESG 2024 + ,case when cle.FLAGTAXO='S' then replace(cast(cle.TAXO_PERC as varchar(12)),'.00','')+'%' else '-' end as TAXO_PERC ----decommenta per ESG 2024 + ,case when cle.PAI_NO_DETT = 'S' then 'Preferisco non dettagliare' --modifica 10122024 Scapellato + when isnull(cle.PAI_A,'')='' then '-' else cle.PAI_A end as PAI_A + ,case when cle.PAI_NO_DETT = 'S' then 'Preferisco non dettagliare' --modifica 10122024 Scapellato + when isnull(cle.PAI_S,'')='' then '-' else cle.PAI_S end as PAI_S + ,case when ESG_E='Y' then cle.PERCAMB_OK ELSE NULL END AS E_PERC_OK--,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS E_PERC_OK ----decommenta per ESG 2024 + ,case when ESG_S='Y' then cle.PERCSOC_OK ELSE NULL END AS S_PERC_OK--,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS S_PERC_OK ----decommenta per ESG 2024 + ,case when ESG_G='Y' then cle.PERCGOV_OK ELSE NULL END AS G_PERC_OK--,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS G_PERC_OK ----decommenta per ESG 2024 + FROM [C6StampeCentralizzate].[C6Mart].[BrsClienteESG] esg + left join c6staging.VAR_ADEGUATEZZA_INDICATORI ind + on ind.rete=esg.rete and ind.CODICE_FISCALE=esg.cod_fiscale + left join C6Mart.W6CLIESG cle + on ind.rete=cle.rete and ind.CODICE_FISCALE=cle.CODFIS +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_FD181PreferenzeESG_bkp_pre_ESG2024.sql b/sql/storedProduzione/C6Mart_PL_FD181PreferenzeESG_bkp_pre_ESG2024.sql new file mode 100644 index 00000000..ea8b7597 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_FD181PreferenzeESG_bkp_pre_ESG2024.sql @@ -0,0 +1,29 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'VNZGPL53M04L781P' +create procedure [C6Mart].[PL_FD181PreferenzeESG:bkp_pre_ESG2024] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [rete] + ,[cod_fiscale] + ,[Preferenza_esg_cliente] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[obiettivo_ESG_minimo] + ,[ESG_Rating] + ,[ESG_E_perc] + ,[ESG_S_perc] + ,[ESG_G_perc] + FROM [C6StampeCentralizzate].[C6Mart].[BrsClienteESG] esg +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_FD182BISDettaglioProdottiESG.sql b/sql/storedProduzione/C6Mart_PL_FD182BISDettaglioProdottiESG.sql new file mode 100644 index 00000000..127b81d5 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_FD182BISDettaglioProdottiESG.sql @@ -0,0 +1,253 @@ +CREATE procedure [C6Mart].[PL_FD182BISDettaglioProdottiESG] --'S','SNTCHR80A61D612V' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +0 as ORDINAMENTO_PROGETTO, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + --CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + --SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + --CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + --CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS versato_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' +-- THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) +-- ELSE NULL +-- END AS MinusPlusValenza_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS MinusPlusValenza_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF +-- ELSE NULL +-- END AS somma_var_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA +-- ELSE NULL +-- END AS somma_copertura_need_prog, +-- cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c.') AS var_needareaString, +-- CASE +-- --WHEN ISNULL(RISCHIO_AGGR_AREA.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' +-- WHEN ISNULL(RISCHIO_AGGR_AREA.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII +-- WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' +-- THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- +-- ELSE NULL +-- END as var_needareaString, +-- CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL(5,2)) AS copertura_needarea, +-- CASE +-- WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 +-- --Valerio danilo THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- ELSE NULL +-- END AS copertura_needareaString, +-- RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, + --CASE WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as var_need_progString, +-- CASE + --WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' +-- WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END as var_need_progString, +-- RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + case when ESG_E = 'SI' then 'Sì' else 'No' end as ESG_E, + case when ESG_S = 'SI' then 'Sì' else 'No' end as ESG_S, + case when ESG_G = 'SI' then 'Sì' else 'No' end as ESG_G, + case when CatSFDR <> '' then esg.CatSFDR else '-' end as CatSFDR, + case when ESGRating <> '' then esg.esgrating else '-' end as ESGRating, + case when TrendESGRating <> '' then esg.TrendESGRating else '-' end as TrendESGRating, + PATRBF.CTV AS Controvalore, +-- PATRBF.VERSATO_NETTO AS VersatoNetto, +-- CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +-- PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, +-- CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, + --RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- case when (patrbf.tipo_prodotto ='CC') then 0.00 +-- else RISCHIO_PROD.VAR_PERC_PTF +-- end AS VaRprodotto, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 THEN 'n.c.' --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- WHEN patrbf.isin in('EURO00000009', 'EURO10000007' ) THEN 'n.c.' +-- ELSE NULL END as varProdottoString, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + -- WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +-- ELSE NULL END as varProdottoString, +-- RISCHIO_PROD.Copertura AS Coperturaprodotto, + PATRBF.REND_ANNO AS PerformanceYTD, + PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +-- PARTVIA_DISINV AS partitaViaggiante, +-- CASE +-- WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 THEN '*' +-- ELSE NULL +-- END AS nota_needarea, +-- RISCHIO_PROD.CREDITRISK as creditrisk, +--CASE +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' +-- ELSE NULL +-- END as creditriskstring, +-- +-- +-- RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + patrbf.tipo_prodotto as Tipo_Prodotto +into #temp +FROM +C6MART.PATRIMONIO_BF PATRBF +INNER JOIN +C6MART.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_PROD +-- ON PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +---- CASE +---- WHEN AREA.ID_AREA = 'Na' THEN 'RISORSENONASSOCIATE|' +---- ELSE +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL)-- AND (LEFT(PATRBF.ID_AREA,3)<>'Na' Or PATRBF.NOME_PROGETTO <> 'Default') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' +-- when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' +-- ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- END +---- END + PATRBF.POSITION_ID +-- + PATRBF.POSITION_ID +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG +-- ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE +-- AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA +-- ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- case +-- when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' +-- else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) +-- end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +left join [C6Staging].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 + AND AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +--Bido + --AND ( + --PATRBF.CTV > 0 + --OR ( PATRBF.CTV < 0 AND patrbf.tipo_prodotto = 'cc' ) + --) +-- +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END , nome_progetto, PATRBF.CTV DESC +select top (1) + 'Tot_P' as needarea, + 'TOTALE PATRIMONIO' as needareades, + '103' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + '' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + sum(Controvalore) as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from #temp +END +--PRINT N'Altering [C6Mart].[PL_D2_S171PatrimonioNonRappresentabileAssettClass]' \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_FD182DettaglioProdottiESG.sql b/sql/storedProduzione/C6Mart_PL_FD182DettaglioProdottiESG.sql new file mode 100644 index 00000000..1cc13402 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_FD182DettaglioProdottiESG.sql @@ -0,0 +1,245 @@ +CREATE procedure [C6Mart].[PL_FD182DettaglioProdottiESG] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +0 as ORDINAMENTO_PROGETTO, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + --CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + --SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + --CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + --CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS versato_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' +-- THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) +-- ELSE NULL +-- END AS MinusPlusValenza_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS MinusPlusValenza_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF +-- ELSE NULL +-- END AS somma_var_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA +-- ELSE NULL +-- END AS somma_copertura_need_prog, +-- cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c.') AS var_needareaString, +-- CASE +-- --WHEN ISNULL(RISCHIO_AGGR_AREA.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' +-- WHEN ISNULL(RISCHIO_AGGR_AREA.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII +-- WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' +-- THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- +-- ELSE NULL +-- END as var_needareaString, +-- CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL(5,2)) AS copertura_needarea, +-- CASE +-- WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 +-- --Valerio danilo THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- ELSE NULL +-- END AS copertura_needareaString, +-- RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, + --CASE WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as var_need_progString, +-- CASE + --WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' +-- WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END as var_need_progString, +-- RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + case when ESG_E = 'SI' then 'Sì' else 'No' end as ESG_E, + case when ESG_S = 'SI' then 'Sì' else 'No' end as ESG_S, + case when ESG_G = 'SI' then 'Sì' else 'No' end as ESG_G, + case when CatSFDR <> '' then esg.CatSFDR else '-' end as CatSFDR, + case when ESGRating <> '' then esg.esgrating else '-' end as ESGRating, + case when TrendESGRating <> '' then esg.TrendESGRating else '-' end as TrendESGRating, + PATRBF.CTV AS Controvalore, +-- PATRBF.VERSATO_NETTO AS VersatoNetto, +-- CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +-- PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, +-- CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, + --RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- case when (patrbf.tipo_prodotto ='CC') then 0.00 +-- else RISCHIO_PROD.VAR_PERC_PTF +-- end AS VaRprodotto, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 THEN 'n.c.' --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- WHEN patrbf.isin in('EURO00000009', 'EURO10000007' ) THEN 'n.c.' +-- ELSE NULL END as varProdottoString, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + -- WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +-- ELSE NULL END as varProdottoString, +-- RISCHIO_PROD.Copertura AS Coperturaprodotto, + PATRBF.REND_ANNO AS PerformanceYTD, + PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +-- PARTVIA_DISINV AS partitaViaggiante, +-- CASE +-- WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 THEN '*' +-- ELSE NULL +-- END AS nota_needarea, +-- RISCHIO_PROD.CREDITRISK as creditrisk, +--CASE +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' +-- ELSE NULL +-- END as creditriskstring, +-- +-- +-- RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + patrbf.tipo_prodotto as Tipo_Prodotto + -- ,CASE + -- WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' + -- ELSE 'N' end as ESG_E_PROD_CLI,----decommenta per ESG 2024 + --CASE + -- WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' + -- ELSE 'N' end as ESG_S_PROD_CLI,----decommenta per ESG 2024 + --CASE + -- WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' +-- ELSE 'N' end as ESG_G_PROD_CLI ----decommenta per ESG 2024 + ,case when isnull(cat.esg_e_prod_cli,'N')='Y' then 'S' else 'N' end as esg_e_prod_cli + ,case when isnull(cat.esg_s_prod_cli,'N')='Y' then 'S' else 'N' end as esg_s_prod_cli + ,case when isnull(cat.esg_g_prod_cli,'N')='Y' then 'S' else 'N' end as esg_g_prod_cli +FROM +C6MART.PATRIMONIO_BF PATRBF +INNER JOIN +C6MART.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_PROD +-- ON PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +---- CASE +---- WHEN AREA.ID_AREA = 'Na' THEN 'RISORSENONASSOCIATE|' +---- ELSE +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL)-- AND (LEFT(PATRBF.ID_AREA,3)<>'Na' Or PATRBF.NOME_PROGETTO <> 'Default') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' +-- when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' +-- ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- END +---- END + PATRBF.POSITION_ID +-- + PATRBF.POSITION_ID +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG +-- ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE +-- AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA +-- ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- case +-- when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' +-- else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) +-- end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +left join [C6Staging].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) + left join c6mart.W6CATESG cat + on PATRBF.cod_prodotto = cat.PRODOTTO_ID + AND PATRBF.rete = cat.rete + AND PATRBF.COD_FISCALE =cat.codfis +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 + AND AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +--Bido + --AND ( + --PATRBF.CTV > 0 + --OR ( PATRBF.CTV < 0 AND patrbf.tipo_prodotto = 'cc' ) + --) +-- +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END , nome_progetto, PATRBF.CTV DESC +END +--PRINT N'Altering [C6Mart].[PL_D2_S171PatrimonioNonRappresentabileAssettClass]' \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_FD185UCaratteristicheESG.sql b/sql/storedProduzione/C6Mart_PL_FD185UCaratteristicheESG.sql new file mode 100644 index 00000000..586d3ffa --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_FD185UCaratteristicheESG.sql @@ -0,0 +1,116 @@ +CREATE procedure [C6Mart].[PL_FD185UCaratteristicheESG] --'F','DCRCRL47S11D612N' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT + patrbf.cod_prodotto as COD_PRODOTTO, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, +CASE + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',') --+ '%' +END AS PERC_INVESTIMENTO_SFDR, +--aggiunta ESG 2024 +CASE + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 ----decommenta per ESG 2024 + THEN '-' ----decommenta per ESG 2024 + ELSE ----decommenta per ESG 2024 + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVEST_SFDR_MIN_SUST_E), '.', ',')-- + '%' ----decommenta per ESG 2024 +END AS PERC_INVESTIMENTO_SFDR_AMB, ----decommenta per ESG 2024 + --decommenta per ESG 2024 + --decommenta per ESG 2024 +CASE ----decommenta per ESG 2024 + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 ----decommenta per ESG 2024 + THEN '-' ----decommenta per ESG 2024 + ELSE ----decommenta per ESG 2024 + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVEST_SFDR_MIN_SUST_S), '.', ',')-- + '%' ----decommenta per ESG 2024 +END AS PERC_INVESTIMENTO_SFDR_SOC, ----decommenta per ESG 2024 + CASE + WHEN ISNULL(esg.PERC_INVESTIMENTO_TAXONOMY, 0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_TAXONOMY), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_TAXONOMY, + isnull(esg.label_PAI_A,'-') as label_PAI_A, + isnull(esg.Label_PAI_S,'-') as label_PAI_S, + isnull(esg.Label_U_INFO_ESG,'-') as Label_U_INFO_ESG, + PATRBF.CTV AS Controvalore, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea + --V +FROM +C6MART.PATRIMONIO_BF PATRBF +INNER JOIN +C6MART.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +left join [C6Staging].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 + AND AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END , nome_progetto, PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_FD186DettaglioPortafoglioSei.sql b/sql/storedProduzione/C6Mart_PL_FD186DettaglioPortafoglioSei.sql new file mode 100644 index 00000000..1613889b --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_FD186DettaglioPortafoglioSei.sql @@ -0,0 +1,64 @@ +CREATE procedure [C6Mart].[PL_FD186DettaglioPortafoglioSei] --'F','RMNFNC55T03A783I' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @appo table +( + [BFCTV] [decimal](15, 2) NULL, + [PatrimonioTerziCTV] [decimal](15, 2) NULL, + [FinanziarioCTV] [decimal](16, 2) NULL, + [FinanziarioPerc] [decimal](6, 2) NULL, + [ImmobiliareCTV] [decimal](15, 2) NULL, + [ImmobiliarePerc] [decimal](6, 2) NULL, + [AltroCTV] [decimal](15, 2) NULL, + [AltroPerc] [decimal](6, 2) NULL, + [TotaleCTV] [decimal](15, 2) NULL, + [ImmobiliarePQCTV] [decimal](15, 2) NULL +) +--creo le tabelle di appoggio +insert into @appo exec [C6Mart].[PL_D2_S152Patrimonio] @Rete,@CodiceFiscale +declare @TotCTV [decimal](15, 2) =(select [BFCTV] from @appo) +SELECT + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATRBF.CTV AS Controvalore, + SUM(PATRBF.CTV) OVER() AS SommaProdottiEsclusi, + --@TotCTV as PatrimonioFideuram, + SUM(CASE + WHEN PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV < 0 THEN 0 + ELSE PATRBF.CTV + END) OVER() AS SommaProdottiEsclusi, --per escludere i CC a Saldo Negativo +@TotCTV as PatrimonioFideuram, +@TotCTV-SUM(CASE + WHEN PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV < 0 THEN 0 + ELSE PATRBF.CTV + END) OVER() AS PortafoglioSei + --@TotCTV-SUM(PATRBF.CTV) OVER() as PortafoglioSei +FROM C6MART.PATRIMONIO_BF PATRBF +INNER JOIN C6MART.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + --AND ( + -- (PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV > 0) OR --per eliminare i CC a saldo Negativo + -- (PATRBF.TIPO_PRODOTTO <> 'CC' AND PATRBF.CTV <> 0) + -- ) + and PATRBF.Nob_Prez='S' + order by PATRBF.CTV desc +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_FD187SfdrTaxESG.sql b/sql/storedProduzione/C6Mart_PL_FD187SfdrTaxESG.sql new file mode 100644 index 00000000..bf4cceb8 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_FD187SfdrTaxESG.sql @@ -0,0 +1,98 @@ +--select * from wh.Maledetti +CREATE procedure [C6Mart].[PL_FD187SfdrTaxESG]-- 'F','FRDGGN27C43L194Y' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6Mart.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale +declare @U_PREFSOST varchar(2) +select @U_PREFSOST=U_PREFSOST from [C6Mart].[W6CliESG] where rete=@Rete and codfis=@CodiceFiscale +if(@pref_esg='1' AND @U_PREFSOST='S') +begin + select + 1 as ID, + 'Prodotti sostenibili SFDR' as Descrizione, + replace(cast(isnull(cli.SFDR_PERCT,0.00) as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union + select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(isnull(cli.SFDR_PERC_OK,000) as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,case when cli.FLAGSFDR='N' then 'Y' + else 'N' end as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 3 as ID, + 'Prodotti non sostenibili' as Descrizione, + replace(cast((100-isnull(cli.SFDR_PERCT,0.00))as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 5 as ID, + 'Prodotti ecosostenibili Taxonomy' as Descrizione, + replace(cast(isnull(cli.TAXO_PERCT,0.00) as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast (isnull(cli.TAXO_PERC_OK,0.00) as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,case when cli.FLAGTAXO='N' then 'Y' + else 'N' end as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 7 as ID, + 'Prodotti non ecosostenibili' as Descrizione, + replace(cast((100-isnull(cli.TAXO_PERCT,0.00)) as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +-- select * from [C6Mart].[W6CliESG] cli +end +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_FD188PaiESG.sql b/sql/storedProduzione/C6Mart_PL_FD188PaiESG.sql new file mode 100644 index 00000000..1f9fa604 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_FD188PaiESG.sql @@ -0,0 +1,88 @@ +--select * from wh.Maledetti +CREATE procedure [C6Mart].[PL_FD188PaiESG]-- 'F','FRDGGN27C43L194Y' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6Mart.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale +declare @U_PREFSOST varchar(2) +select @U_PREFSOST=U_PREFSOST from [C6Mart].[W6CliESG] where rete=@Rete and codfis=@CodiceFiscale +if(@pref_esg='1' and @U_PREFSOST='S') +begin +select 1 as ID, + 'Prodotti che considerano almeno un PAI ambientale' as Descrizione, + replace(cast(isnull(cli.PAIA_PERCT,0.00) as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(isnull(cli.PAIA_PERC_OK,0.00) as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,case when isnull(cli.PAI_A,'')='' then 'Y' + else 'N' end as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 3 as ID, + 'Prodotti che non considerano PAI ambientali' as Descrizione, + replace(cast((100-isnull(cli.PAIA_PERCT,0.00)) as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + union +select 5 as ID, + 'Prodotti che considerano almeno un PAI sociale' as Descrizione, + replace(cast(isnull(cli.PAIS_PERCT,0.00) as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(isnull(cli.PAIS_PERC_OK,0.00) as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,case when isnull(cli.PAI_S,'')='' then 'Y' + else 'N' end as isNA +from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 7 as ID, + 'Prodotti che non considerano PAI sociali' as Descrizione, + replace(cast((100-isnull(cli.PAIS_PERCT,0.00)) as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +end +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_GetClientNegativeCurrentAccountsValue.sql b/sql/storedProduzione/C6Mart_PL_GetClientNegativeCurrentAccountsValue.sql new file mode 100644 index 00000000..917beb71 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_GetClientNegativeCurrentAccountsValue.sql @@ -0,0 +1,27 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_GetClientNegativeCurrentAccountsValue] 'F','LCNRLA67L28F520L' +CREATE procedure [C6Mart].[PL_GetClientNegativeCurrentAccountsValue] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @PatrimonioBF DECIMAL(15,2) + -- Insert statements for procedure here + SELECT + --@PatrimonioBF = case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6Mart.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + and CTV < 0 and ID_AREA = 'CC' + --Return @PatrimonioBF +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_GetClientSelfNegCurrentAccountValue.sql b/sql/storedProduzione/C6Mart_PL_GetClientSelfNegCurrentAccountValue.sql new file mode 100644 index 00000000..fe1f8d79 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_GetClientSelfNegCurrentAccountValue.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_GetClientSelfNegCurrentAccountValue] 'S','LMNFNC40L14L219U' +CREATE procedure [C6Mart].[PL_GetClientSelfNegCurrentAccountValue] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --DECLARE @PatrimonioBF DECIMAL(15,2) + SELECT + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6Mart.ANAG_SELF LS + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND ctv < 0 + --Return @PatrimonioBF +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_GetClientSelfNegative.sql b/sql/storedProduzione/C6Mart_PL_GetClientSelfNegative.sql new file mode 100644 index 00000000..b00f5cbd --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_GetClientSelfNegative.sql @@ -0,0 +1,29 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_GetClientSelfNegative] 'S','LMNFNC40L14L219U' +CREATE procedure [C6Mart].[PL_GetClientSelfNegative] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + CodInterno, + case + when CodInterno = 'XY' then '"Linee GP Eligo"' + when CodInterno = 'FO' then '"IL MF - Liquidita"' + end as Descrizione, + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6Mart.ANAG_SELF LS + WHERE + LS.rete = @Rete + AND LS.codfis = @CodiceFiscale + AND ctv < 0 + group by CodInterno +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_Intermediari.sql b/sql/storedProduzione/C6Mart_PL_Intermediari.sql new file mode 100644 index 00000000..92ff2a8b --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_Intermediari.sql @@ -0,0 +1,24 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_Intermediari] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16), + @numeroRighe as int OUTPUT +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET @numeroRighe = + (SELECT + COUNT(DISTINCT INTERMEDIARIO) + FROM C6Mart.PATRIMONIO_TERZI + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + ) + RETURN @numeroRighe +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_MP_FD133BISPrincipaliProdotti.sql b/sql/storedProduzione/C6Mart_PL_MP_FD133BISPrincipaliProdotti.sql new file mode 100644 index 00000000..7e4190d7 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_MP_FD133BISPrincipaliProdotti.sql @@ -0,0 +1,55 @@ +-- ============================================= +-- Author: +-- Create date: <07/05/2013> +-- Description: +-- ============================================= +-- [c6mart].[PL_MP_S133BISPrincipaliProdotti] F,CLSPLA43D08H501B +CREATE procedure [c6mart].[PL_MP_FD133BISPrincipaliProdotti] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT TOP 10 + ANAGPROD.DESCR_PRODOTTO AS descrProdotto + ,PATRBF.CTV AS Controvalore + ,CASE + WHEN patrbf.tipo_prodotto = 'CC' THEN 0.00 + ELSE RISCHIO_PROD.VAR_PERC_PTF + END AS VaRprodotto + ,((CASE + WHEN ((PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100) is null then 0.00 + ELSE(PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100 + END) / (CASE + WHEN sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') = 0 THEN 1 + ELSE sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') + END))*100 as rischioRelativo + ,(PATRBF.CTV/(sum(PATRBF.CTV) over (partition by 'totale')))*100 AS pesoRelativo + ,PATRBF.ID_AREA AS codAreaBisogno + FROM C6Mart.PATRIMONIO_BF PATRBF + INNER JOIN C6Mart.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO + INNER JOIN c6mart.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + LEFT JOIN c6mart.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + --AND RISCHIO_PROD.COD_AGGREG = CASE + -- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + -- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + -- '|' + isnull(cast(patrbf.ordinamento_progetto as varchar),'') + '|' + -- WHEN LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + -- ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- END + -- + PATRBF.POSITION_ID + WHERE + PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND + PATRBF.CTV <>0 + AND PATRBF.ID_AREA <> 'Cc' + ORDER BY rischioRelativo DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_MP_FD147SintesiValute.sql b/sql/storedProduzione/C6Mart_PL_MP_FD147SintesiValute.sql new file mode 100644 index 00000000..0dd33f3c --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_MP_FD147SintesiValute.sql @@ -0,0 +1,45 @@ +--[c6mart].[PL_MP_S147SintesiValute] 'F','DCSCRJ80H24Z602C' +CREATE procedure [C6Mart].[PL_MP_FD147SintesiValute] +@Rete char(1), +@CodiceFiscale varchar(16) +as +begin +declare @ctvNoCoperto as decimal(18,3) +declare @ctvCoperto as decimal(18,3) +declare @copertura as decimal(18,3) +SELECT @ctvNoCoperto = isnull(sum(ctv),0) + FROM c6mart.ANAG_PRODOTTI_VALUTE a + RIGHT JOIN c6mart.patrimonio_bf c + ON a.cod_prodotto = c.cod_prodotto + WHERE + cod_fiscale = @CodiceFiscale + and rete = @Rete + and a.cod_prodotto is null + and id_area <> 'Cc' +select @copertura = (patrimonioSenzaCC - @ctvNoCoperto)/patrimonioSenzaCC , + @ctvCoperto = patrimonioSenzaCC - @ctvNoCoperto +from c6mart.vPatrimonioBfAggregato +where + cod_fiscale = @CodiceFiscale + and rete = @Rete +--select @copertura +--FC 16/04/20104 +--Inserito controllo per evitare problemi di divid by zero nella select successiva +IF @ctvCoperto < 1 +begin + set @ctvCoperto =1 +End +SELECT + sum(peso*ctv) / @ctvCoperto as percentuale, + abs(sum(peso*ctv)) as valoreAssoluto, + divisa, + @copertura as copertura +FROM c6mart.ANAG_PRODOTTI_VALUTE a +join c6mart.patrimonio_bf c +ON a.cod_prodotto = c.cod_prodotto +where + cod_fiscale = @CodiceFiscale + and rete = @Rete +group by divisa +order by valoreAssoluto desc +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_MP_FD148DistribuzioneAssetClass.sql b/sql/storedProduzione/C6Mart_PL_MP_FD148DistribuzioneAssetClass.sql new file mode 100644 index 00000000..23b38170 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_MP_FD148DistribuzioneAssetClass.sql @@ -0,0 +1,18 @@ +CREATE procedure [C6Mart].[PL_MP_FD148DistribuzioneAssetClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [Banca] + ,[ORDINAMENTO] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6StampeCentralizzate].[C6Mart].[TB_S148DistribuzioneAssetClass] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S102DistribuzioneRischioCredito.sql b/sql/storedProduzione/C6Mart_PL_S102DistribuzioneRischioCredito.sql new file mode 100644 index 00000000..03c44544 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S102DistribuzioneRischioCredito.sql @@ -0,0 +1,611 @@ +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S102DistribuzioneRischioCredito] 'F','BRGGRL48H52G096C' +CREATE procedure [C6Mart].[PL_S102DistribuzioneRischioCredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Banca Fideuram', 'Sanpaolo Invest', 'IW Private Investments') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' WHEN PATRBF.RETE = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS INTERMEDIARIO, +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MART.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MART.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' WHEN PATRBF.RETE = 'S' THEN 'SANPAOLO' ELSE 'IWPRIVATEINVESTMENTS'END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +--SUM(CTV) AS CTV +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MART].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' AND CTV > 0 THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CTV) AS CTV +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MART].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_S102DistribuzioneRischioCredito] Script Date: 08/02/2022 16:48:33 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Authors: +---- Create date: +---- Description: +---- ============================================= +---- [C6Mart].[PL_S102DistribuzioneRischioCredito] 'F','BRGGRL48H52G096C' +--ALTER procedure [C6Mart].[PL_S102DistribuzioneRischioCredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +----QUERY PER INTERMEDIARIO +--SELECT +--RETE, +--COD_FISCALE, +--INTERMEDIARIO, +--CASE WHEN INTERMEDIARIO IN ( 'Banca Fideuram', 'Sanpaolo Invest') THEN 1 +-- ELSE 2 END AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +-- -- Start 1.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--CASE WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +--FROM +--[C6MART].PATRIMONIO_BF PATRBF +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_BF +--where id_Area='Cc' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +----INNER JOIN C6MART.CODIFICA_CREDITRISK CR +--LEFT outer JOIN C6MART.CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END, +--CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +----- End 1.1 +--UNION ALL +---- Start 1.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--PATRTERZI.INTERMEDIARIO, +----SUM(CTV) AS CTV +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6MART].PATRIMONIO_TERZI PATRTERZI +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--PATRTERZI.INTERMEDIARIO, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 1.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE, +--INTERMEDIARIO +---------- +--UNION ALL +------------- +----QUERY TOTALE +--SELECT +--RETE, +--COD_FISCALE, +--'Complessivo' AS INTERMEDIARIO, +--3 AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS ='NA' AND CTV > 0 THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +----- Start 2.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +--FROM +--[C6MART].PATRIMONIO_BF PATRBF +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_BF +--where id_Area='Cc' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +--left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 2.1 +--UNION ALL +---- Start 2.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +----SUM(CTV) AS CTV +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6MART].PATRIMONIO_TERZI PATRTERZI +--left outer join +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +----- End 2.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S102DistribuzioneRischioCredito_OLD.sql b/sql/storedProduzione/C6Mart_PL_S102DistribuzioneRischioCredito_OLD.sql new file mode 100644 index 00000000..7a814358 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S102DistribuzioneRischioCredito_OLD.sql @@ -0,0 +1,296 @@ +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S102DistribuzioneRischioCredito] 'F','BRZGPP39H08C352F' +CREATE procedure [C6Mart].[PL_S102DistribuzioneRischioCredito_OLD] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Banca Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' THEN CTV ELSE 0 END) AS CTV_Class1, +SUM(CASE WHEN RISKCLASS = 'Classe B' THEN CTV ELSE 0 END) AS CTV_Class2, +SUM(CASE WHEN RISKCLASS = 'Classe C' THEN CTV ELSE 0 END) AS CTV_Class3, +SUM(CASE WHEN RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) AS CTV_overClass3, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class1, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe B' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class2, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe C' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class3, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe D' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS perc_overClass3, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(ctv))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MART.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MART.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +--SUM(CTV) AS CTV +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MART].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' THEN CTV ELSE 0 END) AS CTV_Class1, +SUM(CASE WHEN RISKCLASS = 'Classe B' THEN CTV ELSE 0 END) AS CTV_Class2, +SUM(CASE WHEN RISKCLASS = 'Classe C' THEN CTV ELSE 0 END) AS CTV_Class3, +SUM(CASE WHEN RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) AS CTV_overClass3, +SUM(CASE WHEN RISKCLASS ='NA' AND CTV > 0 THEN CTV ELSE 0 END) AS CTV_na, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class1, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe B' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class2, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe C' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class3, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe D' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS perc_overClass3, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(ctv))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CTV) AS CTV +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MART].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S102DistribuzioneRischioCredito_OLD2.sql b/sql/storedProduzione/C6Mart_PL_S102DistribuzioneRischioCredito_OLD2.sql new file mode 100644 index 00000000..079466d2 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S102DistribuzioneRischioCredito_OLD2.sql @@ -0,0 +1,300 @@ +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S102DistribuzioneRischioCredito] 'F','GGGNNA41E59G687E' +CREATE procedure [C6Mart].[PL_S102DistribuzioneRischioCredito_OLD2] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Banca Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CTV))*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(ctv))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MART.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MART.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +--SUM(CTV) AS CTV +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MART].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' AND CTV > 0 THEN CTV ELSE 0 END) AS CTV_na, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CTV))*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(ctv))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CTV) AS CTV +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MART].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S103TabellaEmittenti.sql b/sql/storedProduzione/C6Mart_PL_S103TabellaEmittenti.sql new file mode 100644 index 00000000..6e547029 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S103TabellaEmittenti.sql @@ -0,0 +1,177 @@ +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [c6mart].[PL_S103TabellaEmittenti] 'F','BRGGRL48H52G096C' +--select distinct creditriskclass from c6mart.patrimonio_emittenti +CREATE procedure [C6Mart].[PL_S103TabellaEmittenti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +----Issuer +--CreditRisk +select @patr_compl=sum(ctv_prodotto) from +c6mart.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT +COD_FISCALE, +RETE, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +INTERMEDIARIO, +ISSUER, +STOCKSCounterValue, +bondsCounterValue, +CONCENTRATION_ISSUER, +CONCENTRATION, +NC +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + case when sum(copertura) > 0 then 0 else 1 end as nc +FROM +( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + SUM(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + FROM c6mart.PATRIMONIO_EMITTENTI V + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS +) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE + UNION + SELECT + COD_FISCALE, + RETE, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ @patr_compl *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + case when sum(copertura) > 0 then 0 else 1 end as nc +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + SUM(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) AS CONCENTRATION, + sum(copertura) as copertura + FROM c6mart.PATRIMONIO_EMITTENTI V + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + CREDITRISKCLASS +) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S10PatrimonioFinanziario.sql b/sql/storedProduzione/C6Mart_PL_S10PatrimonioFinanziario.sql new file mode 100644 index 00000000..e78ad530 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S10PatrimonioFinanziario.sql @@ -0,0 +1,214 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_S10PatrimonioFinanziario] 'S','LCRGPR67H19Z326U' +--[C6Mart].[PL_S10PatrimonioFinanziario] 'F','CTTCRL43E45H720U' +CREATE procedure [C6Mart].[PL_S10PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT + A.BANCA, + A.ORDINAMENTO, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,5)) Controvalore, + cast(A.Percentuale as decimal(19,5)) Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Banca Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN C6Mart.ClientiConCCNegativo CCNegativo +---- ON PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- --PATRBF.TIPO_PRODOTTO = 'CC' +-- PATRBF.ID_AREA = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- --AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN C6Mart.ASSETCLASS ASSETCLASS + ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +--V Aggiunto controllo che il cvt sia maggiore di zero, altrimenti +-- viene visualizzato sul report una riga con 0 +WHERE A.CONTROVALORE > 0 +ORDER BY A.ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_S10PatrimonioFinanziario] Script Date: 08/02/2022 16:50:06 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +----[C6Mart].[PL_S10PatrimonioFinanziario] 'S','LCRGPR67H19Z326U' +----[C6Mart].[PL_S10PatrimonioFinanziario] 'F','CTTCRL43E45H720U' +--ALTER procedure [C6Mart].[PL_S10PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +--SELECT +-- A.BANCA, +-- A.ORDINAMENTO, +-- A.AssetClassId, +-- A.AssetClassName, +-- cast(A.Controvalore as decimal(19,5)) Controvalore, +-- cast(A.Percentuale as decimal(19,5)) Percentuale, +-- cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +--FROM +--( +-- SELECT DISTINCT +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Banca Fideuram' +-- END AS Banca, +-- ASSETCLASS.ORDINAMENTO, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') +-- ) * 100 AS Percentuale +-- FROM ( +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- and patrbf.id_area <> 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +---- SELECT ASSETPERC.ID_ASSETCLASS, +---- PATRBF.CTV*ASSETPERC.PERC as Controvalore +---- FROM C6MART.PATRIMONIO_BF PATRBF +---- INNER JOIN C6MART.ASSET_PERC ASSETPERC +---- ON PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +---- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +---- AND ASSETPERC.LIVELLO = 1 +------ LEFT OUTER JOIN C6Mart.ClientiConCCNegativo CCNegativo +------ ON PATRBF.RETE = CCNegativo.Rete +------ AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- WHERE +---- --ELIMINO I CC CON SALDO NEGATIVO +---- --PATRBF.TIPO_PRODOTTO = 'CC' +---- PATRBF.ID_AREA = 'CC' +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- --AND CCNegativo.Cod_Fiscale IS NULL +---- UNION ALL +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MART.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MART.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MART.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN C6Mart.ASSETCLASS ASSETCLASS +-- ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +----V Aggiunto controllo che il cvt sia maggiore di zero, altrimenti +---- viene visualizzato sul report una riga con 0 +--WHERE A.CONTROVALORE > 0 +--ORDER BY A.ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S170LimitiMassimi.sql b/sql/storedProduzione/C6Mart_PL_S170LimitiMassimi.sql new file mode 100644 index 00000000..cfa3da63 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S170LimitiMassimi.sql @@ -0,0 +1,39 @@ +-- [C6Mart].[PL_S170LimitiMassimi] 'S', 'MRVGRG34L25A984D' +CREATE procedure [C6Mart].[PL_S170LimitiMassimi]--'F','CNCDNL73M56B300U' + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +-- 2/7/2018 - CR NAPOLITANO CASI 11-14 -> Persona Giuridica Retail con Nuovo questionario di profilatura (Legali Rappresentanti/Delegati NON Profilati) +DECLARE @newLimiteProfilo varchar(20) +if [C6Mart].[getIndicatoreValutazione] (@Rete,@CodiceFiscale, 4) = -1 + set @newLimiteProfilo = 'n.d.' +else + select @newLimiteProfilo = + case experience + when 0 then 'Minima' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + else '-' + end + from C6Mart.MIFID + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +select 'Limite massimo profilo', + '-' as Controvalore, + isnull(risk.descr, 0) as rischioCreditoMassimo, + isnull(CR.MAX_VAR, 0) as varMassimo, + '-' as Diversificazione, + @newLimiteProfilo as Complessita +from C6Mart.MIFID AS M +left JOIN C6Mart.CODIFICA_RISCHIO AS CR +ON M.PROFILO_ASS = CR.PROFILO +left join [C6Staging].[RISKCLASS] risk +ON m.riskclass = risk.cod +WHERE +M.RETE = @Rete AND +M.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S181PreferenzeESG.sql b/sql/storedProduzione/C6Mart_PL_S181PreferenzeESG.sql new file mode 100644 index 00000000..70891e07 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S181PreferenzeESG.sql @@ -0,0 +1,47 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'VNZGPL53M04L781P' +CREATE procedure [C6Mart].[PL_S181PreferenzeESG] --'W','MLDDND66M21B967S' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT esg.[rete] + ,esg.[cod_fiscale] + ,esg.[Preferenza_esg_cliente] + ,esg.[ESG_E] + ,esg.[ESG_S] + ,esg.[ESG_G] + ,CAST(ROUND(ISNULL(obiettivo_ESG_minimo, 0.00), 2) AS decimal(6, 2)) AS obiettivo_ESG_minimo + ,esg.[ESG_Rating] + ,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_E_perc + ,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_S_perc + ,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_G_perc + ,case when isnull(ind.percESG,'0.00')>=25 and isnull(ind.percESG,'0.00')<50 then 'Almeno pari al 25%' + when isnull(ind.percESG,'0.00')>=50 and isnull(ind.percESG,'0.00')<75 then 'Almeno pari al 50%' + when isnull(ind.percESG,'0.00')>=75 then 'Almeno pari al 75%' else 'n.d.' end as Pref_Sost + ,case when cle.U_PREFSOST='S' then 'Y' + when cle.U_PREFSOST='N' then 'N' else 'N' end as U_PREFSOST --Ulteriori Preferenze di Sostenibilità ----decommenta per ESG 2024 + ,case when cle.FLAGSFDR='S' then replace(cast(cle.SFDR_PERC as varchar(12)),'.00','')+'%' else '-' end as SFDR_PERC ----decommenta per ESG 2024 + ,case when cle.FLAGTAXO='S' then replace(cast(cle.TAXO_PERC as varchar(12)),'.00','')+'%' else '-' end as TAXO_PERC ----decommenta per ESG 2024 + ,case when cle.PAI_NO_DETT = 'S' then 'Preferisco non dettagliare' --modifica 10122024 Scapellato + when isnull(cle.PAI_A,'')='' then '-' else cle.PAI_A end as PAI_A + ,case when cle.PAI_NO_DETT = 'S' then 'Preferisco non dettagliare' --modifica 10122024 Scapellato + when isnull(cle.PAI_S,'')='' then '-' else cle.PAI_S end as PAI_S + ,case when ESG_E='Y' then cle.PERCAMB_OK ELSE NULL END AS E_PERC_OK--,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS E_PERC_OK ----decommenta per ESG 2024 + ,case when ESG_S='Y' then cle.PERCSOC_OK ELSE NULL END AS S_PERC_OK--,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS S_PERC_OK ----decommenta per ESG 2024 + ,case when ESG_G='Y' then cle.PERCGOV_OK ELSE NULL END AS G_PERC_OK--,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS G_PERC_OK ----decommenta per ESG 2024 + FROM [C6StampeCentralizzate].[C6Mart].[BrsClienteESG] esg + left join c6staging.VAR_ADEGUATEZZA_INDICATORI ind + on ind.rete=esg.rete and ind.CODICE_FISCALE=esg.cod_fiscale + left join C6Mart.W6CLIESG cle + on ind.rete=cle.rete and ind.CODICE_FISCALE=cle.CODFIS +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024.sql b/sql/storedProduzione/C6Mart_PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024.sql new file mode 100644 index 00000000..bc720553 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024.sql @@ -0,0 +1,34 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'VNZGPL53M04L781P' +CREATE procedure [C6Mart].[PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024] --'F','FRLNCT38L47F205E' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT esg.[rete] + ,esg.[cod_fiscale] + ,esg.[Preferenza_esg_cliente] + ,esg.[ESG_E] + ,esg.[ESG_S] + ,esg.[ESG_G] + ,esg.[obiettivo_ESG_minimo] + ,esg.[ESG_Rating] + ,esg.[ESG_E_perc] + ,esg.[ESG_S_perc] + ,esg.[ESG_G_perc] + ,case when isnull(ind.percESG,'0.00')>=25 and isnull(ind.percESG,'0.00')<50 then 'Almeno pari al 25%' + when isnull(ind.percESG,'0.00')>=50 and isnull(ind.percESG,'0.00')<75 then 'Almeno pari al 50%' + when isnull(ind.percESG,'0.00')>=75 then 'Almeno pari al 75%' else 'n.d.' end as Pref_Sost + FROM [C6StampeCentralizzate].[C6Mart].[BrsClienteESG] esg + left join c6staging.VAR_ADEGUATEZZA_INDICATORI ind + on ind.rete=esg.rete and ind.CODICE_FISCALE=esg.cod_fiscale +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S182BISDettaglioProdottiESG.sql b/sql/storedProduzione/C6Mart_PL_S182BISDettaglioProdottiESG.sql new file mode 100644 index 00000000..e9710da7 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S182BISDettaglioProdottiESG.sql @@ -0,0 +1,253 @@ +CREATE procedure [C6Mart].[PL_S182BISDettaglioProdottiESG] --'S','SNTCHR80A61D612V' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +0 as ORDINAMENTO_PROGETTO, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + --CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + --SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + --CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + --CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS versato_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' +-- THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) +-- ELSE NULL +-- END AS MinusPlusValenza_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS MinusPlusValenza_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF +-- ELSE NULL +-- END AS somma_var_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA +-- ELSE NULL +-- END AS somma_copertura_need_prog, +-- cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c.') AS var_needareaString, +-- CASE +-- --WHEN ISNULL(RISCHIO_AGGR_AREA.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' +-- WHEN ISNULL(RISCHIO_AGGR_AREA.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII +-- WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' +-- THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- +-- ELSE NULL +-- END as var_needareaString, +-- CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL(5,2)) AS copertura_needarea, +-- CASE +-- WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 +-- --Valerio danilo THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- ELSE NULL +-- END AS copertura_needareaString, +-- RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, + --CASE WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as var_need_progString, +-- CASE + --WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' +-- WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END as var_need_progString, +-- RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + case when ESG_E = 'SI' then 'Sì' else 'No' end as ESG_E, + case when ESG_S = 'SI' then 'Sì' else 'No' end as ESG_S, + case when ESG_G = 'SI' then 'Sì' else 'No' end as ESG_G, + case when CatSFDR <> '' then esg.CatSFDR else '-' end as CatSFDR, + case when ESGRating <> '' then esg.esgrating else '-' end as ESGRating, + case when TrendESGRating <> '' then esg.TrendESGRating else '-' end as TrendESGRating, + PATRBF.CTV AS Controvalore, +-- PATRBF.VERSATO_NETTO AS VersatoNetto, +-- CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +-- PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, +-- CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, + --RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- case when (patrbf.tipo_prodotto ='CC') then 0.00 +-- else RISCHIO_PROD.VAR_PERC_PTF +-- end AS VaRprodotto, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 THEN 'n.c.' --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- WHEN patrbf.isin in('EURO00000009', 'EURO10000007' ) THEN 'n.c.' +-- ELSE NULL END as varProdottoString, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + -- WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +-- ELSE NULL END as varProdottoString, +-- RISCHIO_PROD.Copertura AS Coperturaprodotto, + PATRBF.REND_ANNO AS PerformanceYTD, + PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +-- PARTVIA_DISINV AS partitaViaggiante, +-- CASE +-- WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 THEN '*' +-- ELSE NULL +-- END AS nota_needarea, +-- RISCHIO_PROD.CREDITRISK as creditrisk, +--CASE +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' +-- ELSE NULL +-- END as creditriskstring, +-- +-- +-- RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + patrbf.tipo_prodotto as Tipo_Prodotto +into #temp +FROM +C6MART.PATRIMONIO_BF PATRBF +INNER JOIN +C6MART.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_PROD +-- ON PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +---- CASE +---- WHEN AREA.ID_AREA = 'Na' THEN 'RISORSENONASSOCIATE|' +---- ELSE +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL)-- AND (LEFT(PATRBF.ID_AREA,3)<>'Na' Or PATRBF.NOME_PROGETTO <> 'Default') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' +-- when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' +-- ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- END +---- END + PATRBF.POSITION_ID +-- + PATRBF.POSITION_ID +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG +-- ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE +-- AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA +-- ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- case +-- when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' +-- else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) +-- end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +left join [C6Staging].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 + AND AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +--Bido + --AND ( + --PATRBF.CTV > 0 + --OR ( PATRBF.CTV < 0 AND patrbf.tipo_prodotto = 'cc' ) + --) +-- +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END , nome_progetto, PATRBF.CTV DESC +select top (1) + 'Tot_P' as needarea, + 'TOTALE PATRIMONIO' as needareades, + '103' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + '' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + sum(Controvalore) as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from #temp +END +--PRINT N'Altering [C6Mart].[PL_D2_S171PatrimonioNonRappresentabileAssettClass]' \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S182DettaglioProdottiESG.sql b/sql/storedProduzione/C6Mart_PL_S182DettaglioProdottiESG.sql new file mode 100644 index 00000000..bf983e64 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S182DettaglioProdottiESG.sql @@ -0,0 +1,245 @@ +CREATE procedure [C6Mart].[PL_S182DettaglioProdottiESG] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +0 as ORDINAMENTO_PROGETTO, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + --CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + --SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + --CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + --CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS versato_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' +-- THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) +-- ELSE NULL +-- END AS MinusPlusValenza_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS MinusPlusValenza_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF +-- ELSE NULL +-- END AS somma_var_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA +-- ELSE NULL +-- END AS somma_copertura_need_prog, +-- cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c.') AS var_needareaString, +-- CASE +-- --WHEN ISNULL(RISCHIO_AGGR_AREA.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' +-- WHEN ISNULL(RISCHIO_AGGR_AREA.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII +-- WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' +-- THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- +-- ELSE NULL +-- END as var_needareaString, +-- CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL(5,2)) AS copertura_needarea, +-- CASE +-- WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 +-- --Valerio danilo THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- ELSE NULL +-- END AS copertura_needareaString, +-- RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, + --CASE WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as var_need_progString, +-- CASE + --WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' +-- WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END as var_need_progString, +-- RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + case when ESG_E = 'SI' then 'Sì' else 'No' end as ESG_E, + case when ESG_S = 'SI' then 'Sì' else 'No' end as ESG_S, + case when ESG_G = 'SI' then 'Sì' else 'No' end as ESG_G, + case when CatSFDR <> '' then esg.CatSFDR else '-' end as CatSFDR, + case when ESGRating <> '' then esg.esgrating else '-' end as ESGRating, + case when TrendESGRating <> '' then esg.TrendESGRating else '-' end as TrendESGRating, + PATRBF.CTV AS Controvalore, +-- PATRBF.VERSATO_NETTO AS VersatoNetto, +-- CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +-- PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, +-- CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, + --RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- case when (patrbf.tipo_prodotto ='CC') then 0.00 +-- else RISCHIO_PROD.VAR_PERC_PTF +-- end AS VaRprodotto, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 THEN 'n.c.' --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- WHEN patrbf.isin in('EURO00000009', 'EURO10000007' ) THEN 'n.c.' +-- ELSE NULL END as varProdottoString, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + -- WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +-- ELSE NULL END as varProdottoString, +-- RISCHIO_PROD.Copertura AS Coperturaprodotto, + PATRBF.REND_ANNO AS PerformanceYTD, + PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +-- PARTVIA_DISINV AS partitaViaggiante, +-- CASE +-- WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 THEN '*' +-- ELSE NULL +-- END AS nota_needarea, +-- RISCHIO_PROD.CREDITRISK as creditrisk, +--CASE +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' +-- ELSE NULL +-- END as creditriskstring, +-- +-- +-- RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + patrbf.tipo_prodotto as Tipo_Prodotto + -- ,CASE + -- WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' + -- ELSE 'N' end as ESG_E_PROD_CLI,----decommenta per ESG 2024 + --CASE + -- WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' + -- ELSE 'N' end as ESG_S_PROD_CLI,----decommenta per ESG 2024 + --CASE + -- WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' +-- ELSE 'N' end as ESG_G_PROD_CLI ----decommenta per ESG 2024 + ,case when isnull(cat.esg_e_prod_cli,'N')='Y' then 'S' else 'N' end as esg_e_prod_cli + ,case when isnull(cat.esg_s_prod_cli,'N')='Y' then 'S' else 'N' end as esg_s_prod_cli + ,case when isnull(cat.esg_g_prod_cli,'N')='Y' then 'S' else 'N' end as esg_g_prod_cli +FROM +C6MART.PATRIMONIO_BF PATRBF +INNER JOIN +C6MART.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_PROD +-- ON PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +---- CASE +---- WHEN AREA.ID_AREA = 'Na' THEN 'RISORSENONASSOCIATE|' +---- ELSE +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL)-- AND (LEFT(PATRBF.ID_AREA,3)<>'Na' Or PATRBF.NOME_PROGETTO <> 'Default') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' +-- when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' +-- ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- END +---- END + PATRBF.POSITION_ID +-- + PATRBF.POSITION_ID +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG +-- ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE +-- AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA +-- ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- case +-- when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' +-- else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) +-- end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +left join [C6Staging].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) + left join c6mart.W6CATESG cat + on PATRBF.cod_prodotto = cat.PRODOTTO_ID + AND PATRBF.rete = cat.rete + AND PATRBF.COD_FISCALE =cat.codfis +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 + AND AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +--Bido + --AND ( + --PATRBF.CTV > 0 + --OR ( PATRBF.CTV < 0 AND patrbf.tipo_prodotto = 'cc' ) + --) +-- +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END , nome_progetto, PATRBF.CTV DESC +END +--PRINT N'Altering [C6Mart].[PL_D2_S171PatrimonioNonRappresentabileAssettClass]' \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024.sql b/sql/storedProduzione/C6Mart_PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024.sql new file mode 100644 index 00000000..08067392 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024.sql @@ -0,0 +1,229 @@ +CREATE procedure [C6Mart].[PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +0 as ORDINAMENTO_PROGETTO, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + --CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + --SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + --CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + --CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS versato_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' +-- THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) +-- ELSE NULL +-- END AS MinusPlusValenza_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS MinusPlusValenza_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF +-- ELSE NULL +-- END AS somma_var_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA +-- ELSE NULL +-- END AS somma_copertura_need_prog, +-- cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c.') AS var_needareaString, +-- CASE +-- --WHEN ISNULL(RISCHIO_AGGR_AREA.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' +-- WHEN ISNULL(RISCHIO_AGGR_AREA.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII +-- WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' +-- THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- +-- ELSE NULL +-- END as var_needareaString, +-- CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL(5,2)) AS copertura_needarea, +-- CASE +-- WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 +-- --Valerio danilo THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- ELSE NULL +-- END AS copertura_needareaString, +-- RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, + --CASE WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as var_need_progString, +-- CASE + --WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' +-- WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END as var_need_progString, +-- RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + case when ESG_E = 'SI' then 'Sì' else 'No' end as ESG_E, + case when ESG_S = 'SI' then 'Sì' else 'No' end as ESG_S, + case when ESG_G = 'SI' then 'Sì' else 'No' end as ESG_G, + case when CatSFDR <> '' then esg.CatSFDR else '-' end as CatSFDR, + case when ESGRating <> '' then esg.esgrating else '-' end as ESGRating, + case when TrendESGRating <> '' then esg.TrendESGRating else '-' end as TrendESGRating, + PATRBF.CTV AS Controvalore, +-- PATRBF.VERSATO_NETTO AS VersatoNetto, +-- CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +-- PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, +-- CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, + --RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- case when (patrbf.tipo_prodotto ='CC') then 0.00 +-- else RISCHIO_PROD.VAR_PERC_PTF +-- end AS VaRprodotto, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 THEN 'n.c.' --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- WHEN patrbf.isin in('EURO00000009', 'EURO10000007' ) THEN 'n.c.' +-- ELSE NULL END as varProdottoString, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + -- WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +-- ELSE NULL END as varProdottoString, +-- RISCHIO_PROD.Copertura AS Coperturaprodotto, + PATRBF.REND_ANNO AS PerformanceYTD, + PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +-- PARTVIA_DISINV AS partitaViaggiante, +-- CASE +-- WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 THEN '*' +-- ELSE NULL +-- END AS nota_needarea, +-- RISCHIO_PROD.CREDITRISK as creditrisk, +--CASE +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' +-- ELSE NULL +-- END as creditriskstring, +-- +-- +-- RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + patrbf.tipo_prodotto as Tipo_Prodotto +FROM +C6MART.PATRIMONIO_BF PATRBF +INNER JOIN +C6MART.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_PROD +-- ON PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +---- CASE +---- WHEN AREA.ID_AREA = 'Na' THEN 'RISORSENONASSOCIATE|' +---- ELSE +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL)-- AND (LEFT(PATRBF.ID_AREA,3)<>'Na' Or PATRBF.NOME_PROGETTO <> 'Default') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' +-- when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' +-- ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- END +---- END + PATRBF.POSITION_ID +-- + PATRBF.POSITION_ID +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG +-- ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE +-- AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA +-- ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- case +-- when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' +-- else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) +-- end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +left join [C6Staging].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 + AND AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +--Bido + --AND ( + --PATRBF.CTV > 0 + --OR ( PATRBF.CTV < 0 AND patrbf.tipo_prodotto = 'cc' ) + --) +-- +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END , nome_progetto, PATRBF.CTV DESC +END +--PRINT N'Altering [C6Mart].[PL_D2_S171PatrimonioNonRappresentabileAssettClass]' \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S183iCapital.sql b/sql/storedProduzione/C6Mart_PL_S183iCapital.sql new file mode 100644 index 00000000..623eff28 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S183iCapital.sql @@ -0,0 +1,88 @@ +--Inv Investimento 021233XY004 BLACK ROCK EQT X 20230215 99999999 300000.000 0.000 300000.000 +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_S183iCapital] --'S','DGSMHL70H08Z404F' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +--SELECT +-- 'Inv' as CodArea, +-- 'Investimento' as NomeArea, +-- '954572CO210' as CodiceContratto, +-- 'BlackRock' as ContrattoSGR, +-- 'Prodotto di Test' as NomeProdotto, +-- cast('05/04/2022' as varchar) as DataInizio, +-- cast('15/01/2023' as varchar) as DataFine, +-- cast('23468.230' as varchar) as Totale, +-- cast('632.234' as varchar) as ImportoVersato, +-- cast('326.263' as varchar) as ImportoDaVersare +-- union all +-- SELECT +-- 'Inv' as CodArea, +-- 'Investimento' as NomeArea, +-- '954572CO210' as CodiceContratto, +-- 'Fideuram' as ContrattoSGR, +-- 'Test con stesso NomeProdotto' as NomeProdotto, +-- cast('05/03/2022' as varchar) as DataInizio, +-- cast('15/02/2023' as varchar) as DataFine, +-- cast('238.230' as varchar) as Totale, +-- cast('2.234' as varchar) as ImportoVersato, +-- cast('36.263' as varchar) as ImportoDaVersare +-- union all +-- SELECT +-- 'Ris' as CodArea, +-- 'Riserva' as NomeArea, +-- '000000CO111' as CodiceContratto, +-- 'Fideuram' as ContrattoSGR, +-- 'Prodotto con codice diverso' as NomeProdotto, +-- cast('05/12/2020' as varchar) as DataInizio, +-- cast('15/01/2012' as varchar) as DataFine, +-- cast('23328.230' as varchar) as Totale, +-- cast('2123.234' as varchar) as ImportoVersato, +-- cast('362.263' as varchar) as ImportoDaVersare + SELECT +distinct +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS Codarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS NomeArea, +--CASE + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + --ELSE AREA.ORDINAMENTO +--END AS OrdineArea, +iCap.codconf as CodiceContratto, +iCap.sgr as ContrattoSGR, +iCap.descprod as NomeProdotto, +iCap.dtiniz as DataInizio, +iCap.dtfine as DataFine, +iCap.CTV_COMMIT as Totale, +iCap.impvers as ImportoVersato, +iCap.impres as ImportoDaVersare +from C6Mart.PATRIMONIO_BF PATRBF +INNER JOIN +C6Mart.AREA_BISOGNO AREA +ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +inner join C6Mart.WSEICAP iCap +on icap.codconf=PATRBF.ID_CONTRATTO +and icap.subprod=PATRBF.COD_SOTTOPRODOTTO +and icap.isin=patrbf.ISIN +where patrbf.RETE=@Rete +and patrbf.COD_FISCALE=@CodiceFiscale +--select top(1) Codarea,NomeArea,CodiceContratto,ContrattoSGR,NomeProdotto,DataInizio,DataFine, +--cast(Totale as decimal(15,2))as Totale, +--cast(ImportoVersato as decimal(15,2))as ImportoVersato , +--cast(ImportoDaVersare as decimal(15,2)) as ImportoDaVersare +--from C6MartPeriodico.test_icapital +--where rete=@rete and CODiceFISCALE=@CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S184CoerenzaESG.sql b/sql/storedProduzione/C6Mart_PL_S184CoerenzaESG.sql new file mode 100644 index 00000000..bc9d5f6e --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S184CoerenzaESG.sql @@ -0,0 +1,24 @@ +--Inv Investimento 021233XY004 BLACK ROCK EQT X 20230215 99999999 300000.000 0.000 300000.000 +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +create procedure [C6Mart].[PL_S184CoerenzaESG] --'S','DGSMHL70H08Z404F' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +select Rete, + Codice_Fiscale, + case when percESG=25.00 then 'Almeno pari al 25%' + when percESG=50.00 then 'Almeno pari al 50%' + when percESG=75.00 then 'Almeno pari al 75%' + else 'n.d.' end as percESG, + pesoSostESG, + case when pesoSostESG>=percESG then 'S' else 'N' end as Coerenza +from C6Staging.VAR_ADEGUATEZZA_INDICATORI +where Rete=@Rete and CODICE_FISCALE=@CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S185UCaratteristicheESG.sql b/sql/storedProduzione/C6Mart_PL_S185UCaratteristicheESG.sql new file mode 100644 index 00000000..d3671b8b --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S185UCaratteristicheESG.sql @@ -0,0 +1,116 @@ +CREATE procedure [C6Mart].[PL_S185UCaratteristicheESG] --'F','DCRCRL47S11D612N' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT + patrbf.cod_prodotto as COD_PRODOTTO, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, +CASE + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',') --+ '%' +END AS PERC_INVESTIMENTO_SFDR, +--aggiunta ESG 2024 +CASE + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 ----decommenta per ESG 2024 + THEN '-' ----decommenta per ESG 2024 + ELSE ----decommenta per ESG 2024 + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVEST_SFDR_MIN_SUST_E), '.', ',')-- + '%' ----decommenta per ESG 2024 +END AS PERC_INVESTIMENTO_SFDR_AMB, ----decommenta per ESG 2024 + --decommenta per ESG 2024 + --decommenta per ESG 2024 +CASE ----decommenta per ESG 2024 + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 ----decommenta per ESG 2024 + THEN '-' ----decommenta per ESG 2024 + ELSE ----decommenta per ESG 2024 + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVEST_SFDR_MIN_SUST_S), '.', ',')-- + '%' ----decommenta per ESG 2024 +END AS PERC_INVESTIMENTO_SFDR_SOC, ----decommenta per ESG 2024 + CASE + WHEN ISNULL(esg.PERC_INVESTIMENTO_TAXONOMY, 0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_TAXONOMY), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_TAXONOMY, + isnull(esg.label_PAI_A,'-') as label_PAI_A, + isnull(esg.Label_PAI_S,'-') as label_PAI_S, + isnull(esg.Label_U_INFO_ESG,'-') as Label_U_INFO_ESG, + PATRBF.CTV AS Controvalore, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea + --V +FROM +C6MART.PATRIMONIO_BF PATRBF +INNER JOIN +C6MART.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +left join [C6Staging].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 + AND AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END , nome_progetto, PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024.sql b/sql/storedProduzione/C6Mart_PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024.sql new file mode 100644 index 00000000..f48319f2 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024.sql @@ -0,0 +1,101 @@ +CREATE procedure [C6Mart].[PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024] --'F','DCRCRL47S11D612N' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT + patrbf.cod_prodotto as COD_PRODOTTO, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, +CASE + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',') --+ '%' +END AS PERC_INVESTIMENTO_SFDR, + CASE + WHEN ISNULL(esg.PERC_INVESTIMENTO_TAXONOMY, 0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_TAXONOMY), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_TAXONOMY, + isnull(esg.label_PAI_A,'-') as label_PAI_A, + isnull(esg.Label_PAI_S,'-') as label_PAI_S, + isnull(esg.Label_U_INFO_ESG,'-') as Label_U_INFO_ESG, + PATRBF.CTV AS Controvalore, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea + --V +FROM +C6MART.PATRIMONIO_BF PATRBF +INNER JOIN +C6MART.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +left join [C6Staging].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 + AND AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END , nome_progetto, PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S186DettaglioPortafoglioSei.sql b/sql/storedProduzione/C6Mart_PL_S186DettaglioPortafoglioSei.sql new file mode 100644 index 00000000..4b285ce6 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S186DettaglioPortafoglioSei.sql @@ -0,0 +1,64 @@ +CREATE procedure [C6Mart].[PL_S186DettaglioPortafoglioSei] --'F','RMNFNC55T03A783I' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @appo table +( + [BFCTV] [decimal](15, 2) NULL, + [PatrimonioTerziCTV] [decimal](15, 2) NULL, + [FinanziarioCTV] [decimal](16, 2) NULL, + [FinanziarioPerc] [decimal](6, 2) NULL, + [ImmobiliareCTV] [decimal](15, 2) NULL, + [ImmobiliarePerc] [decimal](6, 2) NULL, + [AltroCTV] [decimal](15, 2) NULL, + [AltroPerc] [decimal](6, 2) NULL, + [TotaleCTV] [decimal](15, 2) NULL, + [ImmobiliarePQCTV] [decimal](15, 2) NULL +) +--creo le tabelle di appoggio +insert into @appo exec [C6Mart].[PL_D2_S152Patrimonio] @Rete,@CodiceFiscale +declare @TotCTV [decimal](15, 2) =(select [BFCTV] from @appo) +SELECT + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATRBF.CTV AS Controvalore, + SUM(PATRBF.CTV) OVER() AS SommaProdottiEsclusi, + --@TotCTV as PatrimonioFideuram, + SUM(CASE + WHEN PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV < 0 THEN 0 + ELSE PATRBF.CTV + END) OVER() AS SommaProdottiEsclusi, --per escludere i CC a Saldo Negativo +@TotCTV as PatrimonioFideuram, +@TotCTV-SUM(CASE + WHEN PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV < 0 THEN 0 + ELSE PATRBF.CTV + END) OVER() AS PortafoglioSei + --@TotCTV-SUM(PATRBF.CTV) OVER() as PortafoglioSei +FROM C6MART.PATRIMONIO_BF PATRBF +INNER JOIN C6MART.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + --AND ( + -- (PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV > 0) OR --per eliminare i CC a saldo Negativo + -- (PATRBF.TIPO_PRODOTTO <> 'CC' AND PATRBF.CTV <> 0) + -- ) + and PATRBF.Nob_Prez='S' + order by PATRBF.CTV desc +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S187SfdrTaxESG.sql b/sql/storedProduzione/C6Mart_PL_S187SfdrTaxESG.sql new file mode 100644 index 00000000..1de2c0c3 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S187SfdrTaxESG.sql @@ -0,0 +1,98 @@ +--select * from wh.Maledetti +CREATE procedure [C6Mart].[PL_S187SfdrTaxESG]-- 'F','FRDGGN27C43L194Y' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6Mart.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale +declare @U_PREFSOST varchar(2) +select @U_PREFSOST=U_PREFSOST from [C6Mart].[W6CliESG] where rete=@Rete and codfis=@CodiceFiscale +if(@pref_esg='1' AND @U_PREFSOST='S') +begin + select + 1 as ID, + 'Prodotti sostenibili SFDR' as Descrizione, + replace(cast(isnull(cli.SFDR_PERCT,0.00) as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union + select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(isnull(cli.SFDR_PERC_OK,000) as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,case when cli.FLAGSFDR='N' then 'Y' + else 'N' end as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 3 as ID, + 'Prodotti non sostenibili' as Descrizione, + replace(cast((100-isnull(cli.SFDR_PERCT,0.00))as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 5 as ID, + 'Prodotti ecosostenibili Taxonomy' as Descrizione, + replace(cast(isnull(cli.TAXO_PERCT,0.00) as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast (isnull(cli.TAXO_PERC_OK,0.00) as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,case when cli.FLAGTAXO='N' then 'Y' + else 'N' end as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 7 as ID, + 'Prodotti non ecosostenibili' as Descrizione, + replace(cast((100-isnull(cli.TAXO_PERCT,0.00)) as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +-- select * from [C6Mart].[W6CliESG] cli +end +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S188PaiESG.sql b/sql/storedProduzione/C6Mart_PL_S188PaiESG.sql new file mode 100644 index 00000000..06cdf8e0 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S188PaiESG.sql @@ -0,0 +1,88 @@ +--select * from wh.Maledetti +CREATE procedure [C6Mart].[PL_S188PaiESG]-- 'F','FRDGGN27C43L194Y' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6Mart.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale +declare @U_PREFSOST varchar(2) +select @U_PREFSOST=U_PREFSOST from [C6Mart].[W6CliESG] where rete=@Rete and codfis=@CodiceFiscale +if(@pref_esg='1' and @U_PREFSOST='S') +begin +select 1 as ID, + 'Prodotti che considerano almeno un PAI ambientale' as Descrizione, + replace(cast(isnull(cli.PAIA_PERCT,0.00) as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(isnull(cli.PAIA_PERC_OK,0.00) as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,case when isnull(cli.PAI_A,'')='' then 'Y' + else 'N' end as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 3 as ID, + 'Prodotti che non considerano PAI ambientali' as Descrizione, + replace(cast((100-isnull(cli.PAIA_PERCT,0.00)) as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + union +select 5 as ID, + 'Prodotti che considerano almeno un PAI sociale' as Descrizione, + replace(cast(isnull(cli.PAIS_PERCT,0.00) as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(isnull(cli.PAIS_PERC_OK,0.00) as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,case when isnull(cli.PAI_S,'')='' then 'Y' + else 'N' end as isNA +from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 7 as ID, + 'Prodotti che non considerano PAI sociali' as Descrizione, + replace(cast((100-isnull(cli.PAIS_PERCT,0.00)) as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +end +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S18PatrimonioFinanziarioRischio.sql b/sql/storedProduzione/C6Mart_PL_S18PatrimonioFinanziarioRischio.sql new file mode 100644 index 00000000..3618db4a --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S18PatrimonioFinanziarioRischio.sql @@ -0,0 +1,86 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S18PatrimonioFinanziarioRischio] 'F','SMPSMN76C26L157Y' +CREATE procedure [C6Mart].[PL_S18PatrimonioFinanziarioRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @varComplessivo DECIMAL(12,3) + DECLARE @varBF DECIMAL(12,3) + DECLARE @varTerzi DECIMAL(12,3) + DECLARE @coperturaBF DECIMAL(12,3) + DECLARE @coperturaTERZI DECIMAL(12,3) + DECLARE @coperturaCOMPLESSIVO DECIMAL(12,3) + DECLARE @codiceProfilo SMALLINT + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + SELECT + @varComplessivo = VAR_PERC_PTF, + @coperturaCOMPLESSIVO = COPERTURA + FROM + C6Mart.RISCHIO_AGGREGATO AS RA + WHERE + RA.RETE = @Rete AND + RA.COD_FISCALE = @CodiceFiscale AND + RA.COD_AGGREG = 'COMPLESSIVO' + SELECT + @varBF = VAR_PERC_PTF, + @coperturaBF = COPERTURA + FROM + C6Mart.RISCHIO_AGGREGATO AS RA + WHERE + RA.RETE = @Rete AND + RA.COD_FISCALE = @CodiceFiscale AND + RA.COD_AGGREG = 'COMPLESSIVO|BF' + SELECT + @varTerzi = VAR_PERC_PTF, + @coperturaTERZI = COPERTURA + FROM + C6Mart.RISCHIO_AGGREGATO AS RA + WHERE + RA.RETE = @Rete AND + RA.COD_FISCALE = @CodiceFiscale AND + RA.COD_AGGREG = 'COMPLESSIVO|TERZI' + SELECT + @codiceProfilo = M.PROFILO_ASS, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = CR.DESCRIZIONE + FROM + C6Mart.MIFID AS M + INNER JOIN C6Mart.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + SELECT + @codiceProfilo as codiceProfilo, + @varProfilo as varProfilo, +-- isnull(@varComplessivo,0) as varComplessivo, +-- isnull(@varBF,0) as varBF, +-- isnull(@varTerzi,0) as varTerzi, + @varComplessivo as varComplessivo, + @varBF as varBF, + @varTerzi as varTerzi, + CASE + WHEN @coperturaCOMPLESSIVO IS NULL THEN 'n.c.' + WHEN @coperturaCOMPLESSIVO = 0 THEN 'n.c.' + ELSE NULL + END AS varComplessivoString, + CASE + WHEN @coperturaBF IS NULL THEN 'n.c.' + WHEN @coperturaBF = 0 THEN 'n.c.' + ELSE NULL + END AS varBFString, + CASE + WHEN @coperturaTERZI IS NULL THEN 'n.c.' + WHEN @coperturaTERZI = 0 THEN 'n.c.' + ELSE NULL + END AS varTerziString, + isnull(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S1Patrimonio.sql b/sql/storedProduzione/C6Mart_PL_S1Patrimonio.sql new file mode 100644 index 00000000..2f2d35d9 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S1Patrimonio.sql @@ -0,0 +1,101 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].PL_S1Patrimonio 'F','BRTVTR64T13L219G' +CREATE procedure [C6Mart].[PL_S1Patrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT @PatrimonioBF=SUM(CTV) + FROM C6Mart.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + and patrBF.Cod_Fiscale = @CodiceFiscale + and patrBF.id_area <> 'CC' + --select '@PaRT_VIAGGIANTI' + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Mart.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Mart.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + --select '@PatrimonioBF',@PatrimonioBF + SELECT @PatrimonioTerzi=SUM(ROUND(CTV,2)) + FROM C6Mart.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + --select '@PatrimonioTerzi',@PatrimonioTerzi + SELECT @PatrimonioImmobiliare=SUM(patrImm.VALORE_STIMATO) + FROM C6Mart.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + --select '@PatrimonioImmobiliare',@PatrimonioImmobiliare +-- SELECT @CCBF=SUM(ccBB.saldo) +-- FROM C6Mart.ANAG_CC ccBB +-- WHERE +-- ccBB.Rete = @Rete +-- and ccBB.Cod_Fiscale = @CodiceFiscale + --select '@CCBF',@CCBF + SELECT @PatrimonioAltro=SUM(patrAltro.ctv) + FROM C6Mart.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + and patrAltro.Cod_Fiscale = @CodiceFiscale + --select '@PatrimonioAltro',@PatrimonioAltro + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF+ @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + --SET @CCBF = coalesce(@CCBF,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) +-- SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro+@CCBF,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + --select '@PatrimonioTotale',@PatrimonioTotale +-- SELECT @PatrimonioBF + @CCBF as BFCTV, +-- @PatrimonioTerzi as PatrimonioTerziCTV, +-- @PatrimonioBF + @CCBF +@PatrimonioTerzi as FinanziarioCTV, +-- cast((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @CCBF + @PatrimonioTerzi)/ @PatrimonioTotale end) as Decimal(15,2)) * 100.00 as FinanziarioPerc, +-- @PatrimonioImmobiliare as ImmobiliareCTV, +-- cast(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end as Decimal(15,2)) *100.00 as ImmobiliarePerc, +-- @PatrimonioAltro as AltroCTV, +-- cast(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end as Decimal(15,2)) *100.00 as AltroPerc, +-- @PatrimonioTotale as TotaleCTV + SELECT @PatrimonioBF as BFCTV, + @PatrimonioTerzi as PatrimonioTerziCTV, + @PatrimonioBF + @PatrimonioTerzi as FinanziarioCTV, + --cast((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) as Decimal(15,2)) * 100.00 as FinanziarioPerc, + convert(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) as FinanziarioPerc, + @PatrimonioImmobiliare as ImmobiliareCTV, + --cast(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end as Decimal(15,2)) *100.00 as ImmobiliarePerc, + convert(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) as ImmobiliarePerc, + @PatrimonioAltro as AltroCTV, + --cast(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end as Decimal(15,2)) *100.00 as AltroPerc, + convert(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) as AltroPerc, + @PatrimonioTotale as TotaleCTV +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S23DettaglioRischio.sql b/sql/storedProduzione/C6Mart_PL_S23DettaglioRischio.sql new file mode 100644 index 00000000..3c4169e3 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S23DettaglioRischio.sql @@ -0,0 +1,70 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S23DettaglioRischio] 'F','BRDMRZ48E28D612K' +CREATE procedure [C6Mart].[PL_S23DettaglioRischio] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT DISTINCT + isnull(MIFID.PROFILO_ASS,0) as codiceProfilo, + CASE + WHEN (CODRISCHIO.MAX_VAR is null) THEN 'n.c' + ELSE null + END as varProfiloMaxString, + CODRISCHIO.MAX_VAR as varProfiloMax, + MIFID.RISKCLASS AS CreditRiskMax, + CASE + WHEN MIFID.RISKCLASS IS NULL THEN 'n.c.' + ELSE NULL + END AS CreditRiskMaxString, + PT.INTERMEDIARIO AS Intermediario, + ISNULL(RISCHIO.VAR_PERC_PTF,0) as varIntermediario, + CASE + WHEN RISCHIO.COPERTURA = 0 THEN 'n.c.' + WHEN RISCHIO.COPERTURA IS NULL THEN 'n.c.' + ELSE NULL + END AS varIntermediarioString, + rischio.copertura as coperturaBF, + CASE + WHEN RISCHIO.COPERTURA = 0 THEN 'n.c.' + WHEN RISCHIO.COPERTURA IS NULL THEN 'n.c.' + ELSE NULL + END AS coperturaBFString, + CASE + -- WHEN RISCHIO.COPERTURA > 0 AND RISCHIO.VAR_PERC_PTF <= CODRISCHIO.MAX_VAR THEN 1 + -- modified by mzaki + WHEN RISCHIO.COPERTURA > 0 AND RISCHIO.VAR_PERC_PTF <= CODRISCHIO.MAX_VAR + AND isnull(RISCHIO.CREDITRISK,0) <= MIFID.RISKCLASS THEN 1 + -- + WHEN RISCHIO.COPERTURA = 0 THEN -1 + ELSE 0 + END AS rispetto, + ----------------------- + RISCHIO.CREDITRISK as creditRisk, + CASE + WHEN RISCHIO.CREDITRISK is null and RISCHIO.COPERTURA = 0 THEN 'n.c.' + WHEN RISCHIO.CREDITRISK is null and RISCHIO.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIO.CREDITRISK is null then 'n.a.' + ELSE null + END as creditRiskString + FROM C6MART.PATRIMONIO_TERZI PT + LEFT OUTER JOIN C6MART.RISCHIO_AGGREGATO RISCHIO + ON RISCHIO.RETE = PT.RETE + AND RISCHIO.COD_FISCALE = PT.COD_FISCALE + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|TERZI|' + PT.INTERMEDIARIO + LEFT JOIN C6MART.MIFID MIFID + ON MIFID.RETE = PT.RETE + AND MIFID.COD_FISCALE = PT.COD_FISCALE + LEFT JOIN C6MART.CODIFICA_RISCHIO CODRISCHIO + ON MIFID.PROFILO_ASS = CODRISCHIO.PROFILO + WHERE 1 = 1 +-- AND PT.TIPO_PRODOTTO <> 'Conti correnti' + AND PT.RETE = @Rete + AND PT.cod_fiscale = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S25Anagrafica.sql b/sql/storedProduzione/C6Mart_PL_S25Anagrafica.sql new file mode 100644 index 00000000..e905339f --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S25Anagrafica.sql @@ -0,0 +1,79 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S25Anagrafica] 'F', 'FSTMRA69D23A501O' +CREATE procedure [C6Mart].[PL_S25Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, + REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + ISNULL(CONTRATTOSEI.CAP, '') + ' ' + CONTRATTOSEI.[Citta] + + ISNULL(' (' + CONTRATTOSEI.PROVINCIA + ')', '') AS Residenza, + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_INZIOAVANZATO) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + null AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + CONTRATTOSEI.[Provincia] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.vCONTRATTI AS CONTRATTOSEI --SEI -- TABELLA BASE + INNER JOIN + C6MART.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + INNER JOIN + C6MART.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + LEFT JOIN + C6MART.ANAG_CLIENTI_PREV + ON + ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + LEFT JOIN + C6MART.DATI_REPORT + ON + ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + WHERE 1 = 1 + AND ANAG_CLIENTI.RETE = @RETE + AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S26PatrimonioImmobiliare.sql b/sql/storedProduzione/C6Mart_PL_S26PatrimonioImmobiliare.sql new file mode 100644 index 00000000..964c613e --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S26PatrimonioImmobiliare.sql @@ -0,0 +1,27 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_S26PatrimonioImmobiliare] 'F','PLZMRA41S41H501Z' +CREATE procedure [C6Mart].[PL_S26PatrimonioImmobiliare] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + SELECT + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + FROM C6MART.PATRIMONIO_IMMOBILIARE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S27ALtroPatrimonio.sql b/sql/storedProduzione/C6Mart_PL_S27ALtroPatrimonio.sql new file mode 100644 index 00000000..6ead3e93 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S27ALtroPatrimonio.sql @@ -0,0 +1,22 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_S27ALtroPatrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + SELECT + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM C6MART.PATRIMONIO_ALTRO + WHERE PATRIMONIO_ALTRO.RETE = @Rete + AND PATRIMONIO_ALTRO.COD_FISCALE = @CodiceFiscale + ORDER BY PATRIMONIO_ALTRO.CTV DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S2PatrimonioFinanziario.sql b/sql/storedProduzione/C6Mart_PL_S2PatrimonioFinanziario.sql new file mode 100644 index 00000000..244abbcf --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S2PatrimonioFinanziario.sql @@ -0,0 +1,274 @@ +-- ============================================= +-- Author: Luca De Lisio +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_S2PatrimonioFinanziario] 'S','LCRGPR67H19Z326U' +CREATE procedure [C6Mart].[PL_S2PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SELECT + A.BANCA, + A.ORDINAMENTO, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Banca Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + --PRODOTTI BF ESCLUSI GLI ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- +-- --V per i cc negativi vado sull'area della patrimonio bf essendo i pos in liq +-- --LEFT JOIN +-- -- C6Mart.ClientiConCCNegativo CCNegativo +-- -- ON +-- -- PATRBF.RETE = CCNegativo.Rete +-- -- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- --PATRBF.TIPO_PRODOTTO = 'CC' +-- PATRBF.ID_AREA <> 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- --AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + --DETTAGLIO ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT JOIN + C6MART.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6Mart.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_S2PatrimonioFinanziario] Script Date: 08/02/2022 16:53:30 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: Luca De Lisio +---- Create date: +---- Description: +---- ============================================= +----[C6Mart].[PL_S2PatrimonioFinanziario] 'S','LCRGPR67H19Z326U' +--ALTER procedure [C6Mart].[PL_S2PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +--SELECT +-- A.BANCA, +-- A.ORDINAMENTO, +-- A.AssetClassId, +-- A.AssetClassName, +-- cast(A.Controvalore as decimal(19,6)) Controvalore, +-- A.Percentuale, +-- cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +--FROM +--( +-- SELECT DISTINCT +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Banca Fideuram' +-- END AS Banca, +-- ASSETCLASS.ORDINAMENTO AS Ordinamento, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') +-- ) * 100 AS Percentuale +-- FROM ( +-- --PRODOTTI BF ESCLUSI GLI ASUL +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- and patrbf.id_area <> 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +---- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +---- SELECT +---- ASSETPERC.ID_ASSETCLASS, +---- PATRBF.CTV*ASSETPERC.PERC as Controvalore +---- FROM +---- C6MART.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MART.ASSET_PERC ASSETPERC +---- ON +---- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +---- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +---- AND ASSETPERC.LIVELLO = 1 +---- +---- --V per i cc negativi vado sull'area della patrimonio bf essendo i pos in liq +---- --LEFT JOIN +---- -- C6Mart.ClientiConCCNegativo CCNegativo +---- -- ON +---- -- PATRBF.RETE = CCNegativo.Rete +---- -- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- WHERE +---- --ELIMINO I CC CON SALDO NEGATIVO +---- --PATRBF.TIPO_PRODOTTO = 'CC' +---- PATRBF.ID_AREA <> 'CC' +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- --AND CCNegativo.Cod_Fiscale IS NULL +---- UNION ALL +-- --DETTAGLIO ASUL +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MART.PATRIMONIO_TERZI PATRTERZI +-- LEFT JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI NON A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MART.PATRIMONIO_TERZI PATRTERZI +-- LEFT JOIN +-- C6MART.ASSET_PERC_TERZI ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6Mart.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--ORDER BY A.ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S31PatrimonioFinanziarioIntermediario.sql b/sql/storedProduzione/C6Mart_PL_S31PatrimonioFinanziarioIntermediario.sql new file mode 100644 index 00000000..457619f6 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S31PatrimonioFinanziarioIntermediario.sql @@ -0,0 +1,26 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S31PatrimonioFinanziarioIntermediario] 'F','BRTVTR64T13L219G' +CREATE procedure [C6Mart].[PL_S31PatrimonioFinanziarioIntermediario] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SELECT DISTINCT + PATRIMONIO_TERZI.INTERMEDIARIO as Intermediario, + SUM(ROUND(PATRIMONIO_TERZI.CTV,2)) OVER (PARTITION BY PATRIMONIO_TERZI.INTERMEDIARIO) as Controvalore, + (SUM(PATRIMONIO_TERZI.CTV) OVER (PARTITION BY PATRIMONIO_TERZI.INTERMEDIARIO)/ + SUM(PATRIMONIO_TERZI.CTV) OVER (PARTITION BY 'Totale'))*100 as Percentuale, + SUM(PATRIMONIO_TERZI.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM C6MART.PATRIMONIO_TERZI + WHERE PATRIMONIO_TERZI.RETE = @Rete + AND PATRIMONIO_TERZI.COD_FISCALE = @CodiceFiscale + ORDER BY PATRIMONIO_TERZI.INTERMEDIARIO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S32PatrimonioFinanziarioMAssetClass.sql b/sql/storedProduzione/C6Mart_PL_S32PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..e3fe15a3 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S32PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,61 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_S32PatrimonioFinanziarioMAssetClass] 'F','QGLLND58R42E897H' +--[C6Mart].[PL_S32PatrimonioFinanziarioMAssetClass] 'F','BRTVTR64T13L219G' +--[C6Mart].[PL_S32PatrimonioFinanziarioMAssetClass] 'F','LNTNNE59L06F205C' +--[C6Mart].[PL_S32PatrimonioFinanziarioMAssetClass] 'S', 'GHGGPP32M04L219F' +--[C6Mart].[PL_S32PatrimonioFinanziarioMAssetClass] 'S','GHGRTI63T44L219D' +CREATE procedure [C6Mart].[PL_S32PatrimonioFinanziarioMAssetClass] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT DISTINCT + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + CASE + WHEN SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') = 0 THEN 1 + ELSE SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + END + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN C6MART.ASSET_PERC_TERZI ASSETPERC + ON PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN C6Mart.ASSETCLASS ASSETCLASS + ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + ORDER BY ASSETCLASS.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S36ProfiloRischio.sql b/sql/storedProduzione/C6Mart_PL_S36ProfiloRischio.sql new file mode 100644 index 00000000..180afa1d --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S36ProfiloRischio.sql @@ -0,0 +1,30 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S36ProfiloRischio] 'F','GRNNTN55B07I158D' +CREATE procedure [C6Mart].[PL_S36ProfiloRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SELECT + M.PROFILO_ASS AS codiceProfilo, +-- CR.DESCRIZIONE AS nomeProfilo, + PR.NomeProfilo as nomeProfilo, + dbo.ToShortDateString(M.DATA_INIZIO_VAL) AS dataInizioValidita, + CR.MAX_VAR as varMassimo + FROM + C6Mart.MIFID AS M INNER JOIN + C6Mart.CODIFICA_RISCHIO AS CR ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN + dbo.ProfiliDiRischio as pr on + pr.CodiceProfilo = cr.profilo + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S37PiramideModello.sql b/sql/storedProduzione/C6Mart_PL_S37PiramideModello.sql new file mode 100644 index 00000000..e84a51ec --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S37PiramideModello.sql @@ -0,0 +1,46 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S37PiramideModello] 'F','RSSGPL33R01L219K' +CREATE procedure [C6Mart].[PL_S37PiramideModello] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +-- VECCHIA VERSIONE CON UNA RIGA DI TROPPO PER L'AREA INV +-- SELECT +-- AREA_BISOGNO.ID_AREA AS Need_Breve, -- NOME BREVE DELL'AREA DI BISOGNO +-- PIRAMIDE_MOD.NOME_PROGETTO AS Nome_Progetto, -- NOME DEL PROGETTO (AREA INV) +-- ISNULL(PIRAMIDE_MOD.PERC_AREA,0) AS Perc_Need, -- PERCENTUALE DI ALLOCAZIONE SULL'AREA DI BISOGNO +-- PIRAMIDE_MOD.ORIZZ_TEMP AS Orizz_Temp, -- ORIZZONTE TEMPORALE DEL PROGETTO +-- SUM(CASE WHEN PIRAMIDE_MOD.NOME_PROGETTO IS NULL THEN ISNULL(PIRAMIDE_MOD.PERC_AREA,0) ELSE 0 END) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE, AREA_BISOGNO.ID_AREA) AS Totale_Percentuale, -- PERCENTUALE DI ALLOCAZIONE DEI PROGETTI +-- SUM(CASE WHEN PIRAMIDE_MOD.NOME_PROGETTO IS NULL THEN ISNULL(PIRAMIDE_MOD.PERC_AREA,0) ELSE 0 END) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE) AS Totale, +-- COUNT(CASE WHEN AREA_BISOGNO.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NOT NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE) AS NumeroProgettiInv, +-- AREA_BISOGNO.ORDINAMENTO +-- FROM C6MART.AREA_BISOGNO +-- LEFT JOIN C6MART.PIRAMIDE_MOD ON PIRAMIDE_MOD.ID_AREA = AREA_BISOGNO.ID_AREA +-- AND PIRAMIDE_MOD.RETE = @Rete +-- AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale +-- WHERE AREA_BISOGNO.ORDINAMENTO < 6 +-- ORDER BY AREA_BISOGNO.ORDINAMENTO + SELECT + AREA_BISOGNO.ID_AREA AS Need_Breve, -- NOME BREVE DELL'AREA DI BISOGNO + PIRAMIDE_MOD.NOME_PROGETTO AS Nome_Progetto, -- NOME DEL PROGETTO (AREA INV) + ISNULL(PIRAMIDE_MOD.PERC_AREA,0) AS Perc_Need, -- PERCENTUALE DI ALLOCAZIONE SULL'AREA DI BISOGNO + PIRAMIDE_MOD.ORIZZ_TEMP AS Orizz_Temp, -- ORIZZONTE TEMPORALE DEL PROGETTO + SUM(ISNULL(PIRAMIDE_MOD.PERC_AREA,0)) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE, AREA_BISOGNO.ID_AREA) AS Totale_Percentuale, -- PERCENTUALE DI ALLOCAZIONE DEI PROGETTI + SUM(ISNULL(PIRAMIDE_MOD.PERC_AREA,0)) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE) AS Totale, + COUNT(CASE WHEN AREA_BISOGNO.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NOT NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE) AS NumeroProgettiInv, + AREA_BISOGNO.ORDINAMENTO + FROM C6MART.AREA_BISOGNO + LEFT JOIN C6MART.PIRAMIDE_MOD + ON PIRAMIDE_MOD.ID_AREA = AREA_BISOGNO.ID_AREA + AND((PIRAMIDE_MOD.ID_AREA = 'INV' AND (PIRAMIDE_MOD.NOME_PROGETTO IS NOT NULL OR PIRAMIDE_MOD.NOME_PROGETTO = 'Default')) + OR PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE')) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + WHERE AREA_BISOGNO.ORDINAMENTO < 6 + ORDER BY AREA_BISOGNO.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S42RischioDiversificazione.sql b/sql/storedProduzione/C6Mart_PL_S42RischioDiversificazione.sql new file mode 100644 index 00000000..f9abb7cc --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S42RischioDiversificazione.sql @@ -0,0 +1,71 @@ +-- [C6Mart].[PL_S42RischioDiversificazione] 'F', 'RSSRRT43L14E591E' +CREATE procedure [C6Mart].[PL_S42RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +--V VARIABILI DI APPOGGIO PER LA VERIFICA SE IL CLIENTE HA SOLO CC + DECLARE @ESISTECC INT + DECLARE @NUMPOSIZIONI INT + SELECT @ESISTECC = COUNT(DISTINCT COD_FISCALE) + FROM C6MART.PATRIMONIO_BF + WHERE ID_AREA = 'CC' + AND COD_FISCALE = @CodiceFiscale + GROUP BY ID_AREA + SELECT @NUMPOSIZIONI = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE ID_AREA <> 'CC' + AND COD_FISCALE = @CodiceFiscale +SELECT +K.COD_FISCALE, +K.RETE, +VAR_PERC_PTF AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as varString, + CASE + WHEN (ISNULL(copertura,100) < 100) + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +--V solo CC allora la copertura è 100 +CASE + WHEN (@ESISTECC - @NUMPOSIZIONI) > 0 THEN 100 + ELSE ISNULL(COPERTURA,0.00) +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Banca Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MART.RISCHIO_AGGREGATO K left outer JOIN c6mart.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Mart.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY 11 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S43ContoCorrenteBF.sql b/sql/storedProduzione/C6Mart_PL_S43ContoCorrenteBF.sql new file mode 100644 index 00000000..da4d6da9 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S43ContoCorrenteBF.sql @@ -0,0 +1,26 @@ +--[C6Mart].[PL_S43ContoCorrenteBF] 'F','QDRFNC49E21A367Z' +CREATE procedure [C6Mart].[PL_S43ContoCorrenteBF] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + dbo.ToShortDateString(ANAG_CC.DATA_APERTURA) AS datadiSottoscrizione, + ANAG_CC.COD_CC AS conto, + cast(ANAG_CC.SALDOCONTABILE as decimal(15,2)) as Controvalore, + cast(ANAG_CC.SALDODISPONIBILE as decimal(15,2)) as SALDO_DISPONIBILE, + null as creditrisk , + 'n.a.' as creditriskstring, + 0 as var, + null as varString, + 0 as totaleVar, + null as totaleVarString + FROM + C6Mart.ANAG_CC + WHERE + ANAG_CC.rete= @Rete + AND ANAG_CC.cod_fiscale= @CodiceFiscale + AND ANAG_CC.SALDOCONTABILE < 0 + ORDER BY + ANAG_CC.SALDOCONTABILE DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S43DettaglioProdottiBF.sql b/sql/storedProduzione/C6Mart_PL_S43DettaglioProdottiBF.sql new file mode 100644 index 00000000..ac840176 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S43DettaglioProdottiBF.sql @@ -0,0 +1,212 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +-- ============================================= +-- cast(C6Mart.ANAG_CC.SALDO as decimal(15,2)) as Controvalore +-- [C6Mart].[PL_S43DettaglioProdottiBF] 'F', 'NDRRRT54L20D869S' +--SELECT * FROM PATR1 +CREATE procedure [C6Mart].[PL_S43DettaglioProdottiBF] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009','EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +PATRBF.NOME_PROGETTO AS EE, PATRBF.ID_AREA, +CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID AS TMP, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA + END AS needarea, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS versato_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' + THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS MinusPlusValenza_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenza_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL + END AS somma_var_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL + END AS somma_copertura_need_prog, + cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c.') AS var_needareaString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_AREA.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_AREA.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END as var_needareaString, + CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL(5,2)) AS copertura_needarea, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 + --Valerio danilo THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE NULL + END AS copertura_needareaString, + RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, + --CASE WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as var_need_progString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END as var_need_progString, + RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATRBF.CTV AS Controvalore, + PATRBF.VERSATO_NETTO AS VersatoNetto, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, + PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, + RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, +-- CASE WHEN ISNULL(RISCHIO_PROD.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as varProdottoString, + CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as varProdottoString, + RISCHIO_PROD.Copertura AS Coperturaprodotto, + PATRBF.REND_ANNO AS PerformanceYTD, + PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, + PARTVIA_DISINV AS partitaViaggiante, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 THEN '*' + ELSE NULL + END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM C6MART.PATRIMONIO_BF PATRBF +INNER JOIN C6MART.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN AREA.ID_AREA = 'Na' THEN 'RISORSENONASSOCIATE|' +-- ELSE + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL)-- AND (LEFT(PATRBF.ID_AREA,3)<>'Na' Or PATRBF.NOME_PROGETTO <> 'Default') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = + case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 +--Bido + --AND ( + --PATRBF.CTV > 0 + --OR ( PATRBF.CTV < 0 AND patrbf.tipo_prodotto = 'cc' ) + --) +-- +ORDER BY AREASORTORDER, nome_progetto, PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql b/sql/storedProduzione/C6Mart_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql new file mode 100644 index 00000000..8fe51707 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql @@ -0,0 +1,211 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- cast(C6Mart.ANAG_CC.SALDO as decimal(15,2)) as Controvalore +-- [C6Mart].[PL_S43DettaglioProdottiBF] 'F', 'NDRRRT54L20D869S' +--SELECT * FROM PATR1 +CREATE procedure [C6Mart].[PL_S43DettaglioProdottiBF_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +PATRBF.NOME_PROGETTO AS EE, PATRBF.ID_AREA, +CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID AS TMP, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA + END AS needarea, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS versato_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' + THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS MinusPlusValenza_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenza_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL + END AS somma_var_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL + END AS somma_copertura_need_prog, + cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c.') AS var_needareaString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_AREA.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_AREA.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END as var_needareaString, + CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL(5,2)) AS copertura_needarea, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 + --Valerio danilo THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE NULL + END AS copertura_needareaString, + RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, + --CASE WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as var_need_progString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END as var_need_progString, + RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATRBF.CTV AS Controvalore, + PATRBF.VERSATO_NETTO AS VersatoNetto, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, + PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, + RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, +-- CASE WHEN ISNULL(RISCHIO_PROD.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as varProdottoString, + CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as varProdottoString, + RISCHIO_PROD.Copertura AS Coperturaprodotto, + PATRBF.REND_ANNO AS PerformanceYTD, + PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, + PARTVIA_DISINV AS partitaViaggiante, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 THEN '*' + ELSE NULL + END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM C6MART.PATRIMONIO_BF PATRBF +INNER JOIN C6MART.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN AREA.ID_AREA = 'Na' THEN 'RISORSENONASSOCIATE|' +-- ELSE + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL)-- AND (LEFT(PATRBF.ID_AREA,3)<>'Na' Or PATRBF.NOME_PROGETTO <> 'Default') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = + case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 +--Bido + --AND ( + --PATRBF.CTV > 0 + --OR ( PATRBF.CTV < 0 AND patrbf.tipo_prodotto = 'cc' ) + --) +-- +ORDER BY AREASORTORDER, nome_progetto, PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S43LineaSelfBF.sql b/sql/storedProduzione/C6Mart_PL_S43LineaSelfBF.sql new file mode 100644 index 00000000..ec85c33d --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S43LineaSelfBF.sql @@ -0,0 +1,27 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S43LineaSelfBF] '','' +CREATE procedure [C6Mart].[PL_S43LineaSelfBF] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(datasott) as DataSott, + CodInterno, + CodSottoprodotto + FROM + C6Mart.ANAG_SELF LS + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND isnull(ctv,0) < 0 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql b/sql/storedProduzione/C6Mart_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..28acc19b --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S43LineaSelfBF] '','' +CREATE procedure [C6Mart].[PL_S43LineaSelfBF_20181214_PreMioFoglio] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(datasott) as DataSott + FROM + C6Mart.ANAG_SELF LS + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND isnull(ctv,0) < 0 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S47ContoCorrenteBF.sql b/sql/storedProduzione/C6Mart_PL_S47ContoCorrenteBF.sql new file mode 100644 index 00000000..0dc2f182 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S47ContoCorrenteBF.sql @@ -0,0 +1,32 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6Mart].[PL_S47ContoCorrenteBF] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SELECT + dbo.ToShortDateString(ANAG_CC.DATA_APERTURA) AS datadiSottoscrizione, + ANAG_CC.COD_CC AS conto, + cast(ANAG_CC.SALDO as decimal(15,2)) as Controvalore, + null as creditrisk , + 'n.a.' as creditriskstring, + 0 as var, + null as varString, + 0 as totaleVar, + null as totaleVarString + FROM + C6Mart.ANAG_CC + WHERE + ANAG_CC.rete= @Rete + AND ANAG_CC.cod_fiscale= @CodiceFiscale + ORDER BY + ANAG_CC.SALDO DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S48DettaglioProdotti.sql b/sql/storedProduzione/C6Mart_PL_S48DettaglioProdotti.sql new file mode 100644 index 00000000..40398d53 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S48DettaglioProdotti.sql @@ -0,0 +1,100 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S48DettaglioProdotti] 'f', 'BLLDRA53P28C894B' +CREATE procedure [C6Mart].[PL_S48DettaglioProdotti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK is NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6Mart.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6Mart.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6Mart.RISCHIO_AGGREGATO RISCHIOAGGREG + ON + PATRTERZI.RETE = RISCHIOAGGREG.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGREG.COD_FISCALE + AND RISCHIOAGGREG.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + WHERE 1 = 1 + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.DESCR_GRUPPO_PRODOTTO IS NOT NULL + ORDER BY + OrdinamentoProdotti, + Controvalore DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S49PolizzeAltriIstituti.sql b/sql/storedProduzione/C6Mart_PL_S49PolizzeAltriIstituti.sql new file mode 100644 index 00000000..36acb116 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S49PolizzeAltriIstituti.sql @@ -0,0 +1,62 @@ +-- ============================================= +-- Author: Marco Gentilezza +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_S49PolizzeAltriIstituti] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +--SELECT +-- PATRTERZI..INTERMEDIARIO, +-- dbo.toShortDateString(PATRTERZI.DATA_sottoscrizione) AS DataDiSottoscrizione, +-- dbo.toShortDateString(PATRTERZI.DATA_scadenza) AS DataDiScadenza, +-- PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, +-- C6Mart.ANAG_PRODOTTi.NOME_PRODOTTO as Descrizione, +-- NULL AS Aggiornamento, +-- PATRTERZI.PREMIO AS PRESTAZIONEASSICURATA, +-- PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, +-- PATRTERZI.VERSATO_FP AS AmmontareVersamento +-- FROM +-- C6Mart.PATRIMONIO_TERZI PATRTERZI. +-- INNER JOIN ANAG_PRODOTTI_TERZI ANAGTERZI +-- ON +-- C6Mart.ANAG_PRODOTTI_TERZI.COD_PRODOTTO = PATRTERZI.COD_PRODOTTO +-- +-- left JOIN +-- C6Mart.Rischio_aggregato +-- ON PATRTERZI.RETE = C6Mart.Rischio_aggregato.RETE +-- and c6mart.RISCHIO_AggrEGATO.cod_aggrEG ='COMPLESSIVO|TERZI|' + PATRTERZI.COD_PRODOTTO +-- and PATRTERZI.cod_fiscale = C6Mart.Rischio_aggregato.cod_fiscale +-- +-- where PATRTERZI.RETE = @Rete +-- and PATRTERZI.COD_FISCALE = @CodiceFiscale +-- --and C6Mart.PATRIMONIO_BF.position_id =@PositionID +-- --AND coalesce(PATRTERZI.NUM_POLIZZA, '') <> '' +-- AND C6Mart.ANAG_PRODOTTI.DESCR_PRODOTTO = 'ASUL' +-- +-- +-- union +-- + SELECT + PATRTERZI.INTERMEDIARIO AS INTERMEDIARIO, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PRESTAZIONEASSICURATA, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + FROM C6Mart.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6Mart.ANAG_PRODOTTI_TERZI ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' + WHERE PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S50FondiAltriIstituti.sql b/sql/storedProduzione/C6Mart_PL_S50FondiAltriIstituti.sql new file mode 100644 index 00000000..c53804a3 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S50FondiAltriIstituti.sql @@ -0,0 +1,62 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S50FondiAltriIstituti] 'F','BLLDRA53P28C894B' +CREATE procedure [C6Mart].[PL_S50FondiAltriIstituti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.INTERMEDIARIO, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DATASOTTOSCRIZIONE, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END as creditriskstring + FROM + C6Mart.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6Mart.ANAG_PRODOTTI_terzi ANAGPRODTERZI + ON + PATRTERZI.cod_prodotto_terzi=ANAGPRODTERZI.cod_prodotto_terzi + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6Mart.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6Mart.RISCHIO_AGGREGATO RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + WHERE + PATRTERZI.rete = @Rete + and PATRTERZI.cod_fiscale = @CodiceFiscale + --AND PATRTERZI.TIPO_PRODOTTO = 'Fondi pensione' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S51ContoCorrenteAI.sql b/sql/storedProduzione/C6Mart_PL_S51ContoCorrenteAI.sql new file mode 100644 index 00000000..928170b0 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S51ContoCorrenteAI.sql @@ -0,0 +1,26 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S51ContoCorrenteAI] 'F', 'SMPSMN76C26L157Y' +CREATE procedure [C6Mart].[PL_S51ContoCorrenteAI] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + CCTerzi.INTERMEDIARIO, + CCTerzi.COD_CC AS ContoCorrente, + CCTerzi.SALDO, + null as creditrisk, + 'n.a.' as creditriskstring, + 0.00 as var + FROM + C6Mart.ANAG_CC_Terzi CCTerzi + WHERE + CCTerzi.rete= @Rete + AND CCTerzi.cod_fiscale= @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S56PatrimonioBFAreeBisogno.sql b/sql/storedProduzione/C6Mart_PL_S56PatrimonioBFAreeBisogno.sql new file mode 100644 index 00000000..9621d7ea --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S56PatrimonioBFAreeBisogno.sql @@ -0,0 +1,64 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_S56PatrimonioBFAreeBisogno] 'F','TNNLGU58R01B259Y' +CREATE procedure [C6Mart].[PL_S56PatrimonioBFAreeBisogno] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + COALESCE(PIRAMIDE_VERT.CTV_AREA, 0.00) AS ControValore, + COALESCE( + CAST(100*(PIRAMIDE_VERT.CTV_AREA / + SUM(COALESCE(PIRAMIDE_VERT.CTV_AREA,0)) OVER (PARTITION BY PIRAMIDE_VERT.RETE, PIRAMIDE_VERT.COD_FISCALE)) AS DECIMAL(5,2)) + , 0.00) AS Peso, + COALESCE(RISCHIO_AGGREGATO.VAR_PERC_PTF, 0.00) AS Var_NeedArea, + NULL AS Var_NeedAreaString, + COALESCE(RISCHIO_AGGREGATO.COPERTURA, 0) AS Copertura_NeedArea, + CASE + WHEN RISCHIO_AGGREGATO.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIO_AGGREGATO.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS Copertura_NeedAreaString, + NULL AS RischioRelativo, -- TODO: CHIEDERE + NULL AS Nota, -- TODO: CHIEDERE + SUM(COALESCE(PIRAMIDE_VERT.CTV_AREA,0)) OVER (PARTITION BY 'Totale') AS Somma_Controval, + RISCHIO_TOTALE.VAR_PERC_PTF AS Var_tot, + RISCHIO_TOTALE.COPERTURA AS Copertura_tot, + CASE + WHEN RISCHIO_TOTALE.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIO_TOTALE.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS Copertura_totString + FROM C6MART.AREA_BISOGNO + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT RETE, COD_FISCALE, LEFT(ID_AREA,3) AS ID_AREA, SUM(COALESCE(CTV_AREA,0)) AS CTV_AREA + FROM C6MART.PIRAMIDE_VERT + WHERE PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + GROUP BY RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT ON PIRAMIDE_VERT.ID_AREA = AREA_BISOGNO.ID_AREA +-- LEFT JOIN C6MART.PIRAMIDE_VERT +-- ON LEFT(PIRAMIDE_VERT.ID_AREA,3) = AREA_BISOGNO.ID_AREA +-- AND PIRAMIDE_VERT.RETE = @Rete +-- AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + LEFT JOIN C6MART.RISCHIO_AGGREGATO + ON RISCHIO_AGGREGATO.COD_AGGREG = 'PIRAMIDE|' + LEFT(AREA_BISOGNO.ID_AREA,3) + AND RISCHIO_AGGREGATO.RETE = @Rete + AND RISCHIO_AGGREGATO.COD_FISCALE = @CodiceFiscale + LEFT JOIN C6MART.RISCHIO_AGGREGATO AS RISCHIO_TOTALE + ON RISCHIO_TOTALE.COD_AGGREG = 'PIRAMIDE' + AND RISCHIO_TOTALE.RETE = @Rete + AND RISCHIO_TOTALE.COD_FISCALE = @CodiceFiscale + WHERE AREA_BISOGNO.ORDINAMENTO < 6 + ORDER BY AREA_BISOGNO.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S57ConfrontoPiramidi.sql b/sql/storedProduzione/C6Mart_PL_S57ConfrontoPiramidi.sql new file mode 100644 index 00000000..38f25ee4 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S57ConfrontoPiramidi.sql @@ -0,0 +1,227 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6Mart].PL_S57ConfrontoPiramidi 'F','BCCPRZ62A58G713Y' +-- CHIEDERE A FABRIZIO, case @TOTControvaloreModello when 0 .... +CREATE procedure [C6Mart].[PL_S57ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +-- DECLARE @minGradoCoperura AS INT +-- SET @minGradoCoperura = CAST(dbo.getParametro('MINGRADOCOPERTURA') AS INT) + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + (SELECT PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + SUM(PIRAMIDE_MOD.PERC_AREA) AS PERC_AREA + FROM C6MART.PIRAMIDE_MOD + WHERE + PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC', 'INV' ) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + GROUP BY PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA) AS PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + LEFT(ID_AREA,3) AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MART.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + OR ( + PIRAMIDE_MOD.ID_AREA = 'INV' + -- AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL + )) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc') + --V + DECLARE @TOTCC DECIMAL (20,2) + SELECT @TOTCC = ISNULL(CONTROVALORE,0) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'Cc' + --V +-- DECLARE @TOTNA DECIMAL (20,2) +-- SELECT @TOTCC = ISNULL(CONTROVALORE,0) +-- FROM #PIRAMIDE_VERT ATTUALE +-- WHERE ATTUALE.RETE = @Rete +-- AND ATTUALE.COD_FISCALE = @CodiceFiscale +-- AND ID_AREA = 'Na' + --V + DECLARE @TOT DECIMAL (20,2) + SELECT @TOT = SUM(ISNULL(CONTROVALORE,0)) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + -- V D S + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + -- + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + --V SOLO CC -> VAR = 0 + WHEN @TOTCC = @TOT THEN NULL + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN @TOTCC = @TOT THEN NULL + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIORISFIN.VAR_PERC_PTF + END AS VAR_RISFIN, + CASE + WHEN @TOTCC = @TOT THEN NULL + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM C6MART.AREA_BISOGNO + LEFT JOIN #PIRAMIDE_VERT ATTUALE + ON ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN C6Mart.RISCHIO_AGGREGATO RISCHIOAREA + ON RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND +--[C6Mart].PL_S57ConfrontoPiramidi 'F','CVNPLA52D15H223S' + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + END + ) + LEFT JOIN C6Mart.RISCHIO_AGGREGATO RISCHIOTOTALE + ON RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + -- V + LEFT JOIN + C6Mart.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6Mart.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + --WHERE AREA_BISOGNO.ORDINAMENTO < 6 + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S6PatrimonioFinanziario.sql b/sql/storedProduzione/C6Mart_PL_S6PatrimonioFinanziario.sql new file mode 100644 index 00000000..13bc7e19 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S6PatrimonioFinanziario.sql @@ -0,0 +1,146 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S6PatrimonioFinanziario] 'S','LCRGPR67H19Z326U' +CREATE procedure [C6Mart].[PL_S6PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + DECLARE @NOMERETE VARCHAR(20) + IF @Rete = 'F' + SET @NOMERETE = 'Banca Fideuram' + ELSE IF @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + SELECT + Intermediario, + Ordine, + Banca, + Controvalore, + Percentuale + FROM + ( + SELECT DISTINCT + Intermediario, + Ordine, + @NOMERETE AS Banca, + -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv + SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine)) / + (SUM(ctv) over (partition by 'Totale')) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + @NOMERETE AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6Mart.PATRIMONIO_BF patrBF + /*LEFT JOIN C6Mart.ClientiConCCNegativo CCNegativo + ON PATRBF.RETE = CCNegativo.Rete + AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale + AND PATRBF.TIPO_PRODOTTO = 'CC'*/ + WHERE 1 = 1 + AND patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO + AND patrBF.CTV > = 0 + and patrBF.id_area <> 'cc' --essendo in liquidità ci sono solo i negativi + UNION ALL + SELECT + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6Mart.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + AND patrTerzi.Rete = @Rete + AND patrTerzi.Cod_Fiscale = @CodiceFiscale + GROUP BY patrTerzi.Intermediario + ) PATR + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_S6PatrimonioFinanziario] Script Date: 08/02/2022 16:56:07 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +---- [C6Mart].[PL_S6PatrimonioFinanziario] 'S','LCRGPR67H19Z326U' +--ALTER procedure [C6Mart].[PL_S6PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @Rete = 'F' +-- SET @NOMERETE = 'Banca Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- Intermediario, +-- Ordine, +-- Banca, +-- Controvalore, +-- Percentuale +-- FROM +-- ( +-- SELECT DISTINCT +-- Intermediario, +-- Ordine, +-- @NOMERETE AS Banca, +-- -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv +-- SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, +-- ( +-- (SUM(ctv) over (partition by Intermediario,Ordine)) / +-- (SUM(ctv) over (partition by 'Totale')) +-- ) * 100 AS PERCENTUALE +-- FROM +-- ( +-- SELECT +-- @NOMERETE AS Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 1 AS ordine +-- FROM C6Mart.PATRIMONIO_BF patrBF +-- /*LEFT JOIN C6Mart.ClientiConCCNegativo CCNegativo +-- ON PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- AND PATRBF.TIPO_PRODOTTO = 'CC'*/ +-- WHERE 1 = 1 +-- AND patrBF.Rete = @Rete +-- AND patrBF.Cod_Fiscale = @CodiceFiscale +-- --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO +-- AND patrBF.CTV > = 0 +-- and patrBF.id_area <> 'cc' --essendo in liquidità ci sono solo i negativi +-- UNION ALL +-- SELECT +-- Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 2 AS ordine +-- FROM C6Mart.PATRIMONIO_TERZI patrTerzi +-- WHERE 1 = 1 +-- AND patrTerzi.Rete = @Rete +-- AND patrTerzi.Cod_Fiscale = @CodiceFiscale +-- GROUP BY patrTerzi.Intermediario +-- ) PATR +-- ) A +-- WHERE CONTROVALORE IS NOT NULL +-- ORDER BY Ordine +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S75GradoCopertura.sql b/sql/storedProduzione/C6Mart_PL_S75GradoCopertura.sql new file mode 100644 index 00000000..e347bc8c --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S75GradoCopertura.sql @@ -0,0 +1,332 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S75GradoCopertura] 'F','SMPSMN76C26L157Y' +CREATE procedure [C6Mart].[PL_S75GradoCopertura] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @varCompl decimal(15,3) + DECLARE @coperturaCompl decimal(15,3) + DECLARE @ctvCompl decimal(15,3) + DECLARE @saldoCC decimal(15,3) + --CALCOLO PATRIMONI E ESTRAZIONE VAR + SELECT + @Rete AS Rete, + @CodiceFiscale as CodiceFiscale, + CASE @Rete + WHEN 'F' THEN 'Patrimonio Banca Fideuram' + WHEN 'S' THEN 'Patrimonio Sanpaolo Invest' + ELSE 'Patrimonio IW Private Inv.' + END AS NomePatrimonio, +-- MAX(patrBF.CTV - patrBF.ContoCorrente) AS Controvalore, +-- MAX(patrBF.ContoCorrente) AS ControvaloreCC, +-- MAX(RISCHIO.VAR_PERC_PTF) AS VarPatrimonio, +-- MAX(RISCHIO.COPERTURA) AS Copertura, + patrBF.PatrimonioSenzaCC AS Controvalore, + --patrBF.CTV - patrBF.ContoCorrente AS Controvalore, + patrBF.ContoCorrente AS ControvaloreCC, + RISCHIO.VAR_PERC_PTF AS VarPatrimonio, + RISCHIO.COPERTURA AS Copertura, + 1 AS ORDINE INTO #TEMP75 + FROM C6Mart.vPatrimoniobfAggregato patrBF + LEFT OUTER JOIN C6Mart.RISCHIO_AGGREGATO RISCHIO + ON RISCHIO.RETE = patrBF.RETE + AND RISCHIO.Cod_Fiscale = patrBF.Cod_Fiscale + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|BF' + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + --AND patrBF.PatrimonioSenzaCC > 0 + UNION ALL + SELECT A.Rete,A.CodiceFiscale,A.NomePatrimonio,A.Controvalore,A.ControvaloreCC,A.VarPatrimonio,A.Copertura,A.ORDINE + FROM( + SELECT + @Rete AS Rete, + @CodiceFiscale as CodiceFiscale, + 'Patrimonio altri Istituti' AS NomePatrimonio, + SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END,2)) AS Controvalore, + SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN patrTerzi.CTV ELSE 0 END,2)) AS ControvaloreCC, + MAX(RISCHIO.VAR_PERC_PTF) as VarPatrimonio, + MAX(RISCHIO.COPERTURA) as Copertura, + 2 AS ORDINE + FROM C6Mart.PATRIMONIO_TERZI patrTerzi + LEFT OUTER JOIN C6Mart.RISCHIO_AGGREGATO RISCHIO + ON RISCHIO.RETE = patrTerzi.RETE + AND RISCHIO.COD_FISCALE = patrTerzi.COD_FISCALE + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|TERZI' + WHERE + patrTerzi.Rete = @Rete + AND patrTerzi.COD_FISCALE = @CodiceFiscale + ) A + WHERE ISNULL(A.CONTROVALORE,0)>0 + -- SE IL PATRIMONIO È SOLO 1 NON VA CALCOLATO IL COMPLESSIVO + IF @@ROWCOUNT > 1 + BEGIN + --CALCOLO IL PATRIMONIO COMPLESSIVO ED ESTRAGGO IL VAR + SELECT + @ctvCompl=SUM(patr.CONTROVALORE), + @saldoCC=SUM(patr.CONTROVALORECC), + @varCompl=MAX(RISCHIO.VAR_PERC_PTF), + @coperturaCompl=MAX(RISCHIO.COPERTURA) + FROM #TEMP75 patr + LEFT OUTER JOIN C6Mart.RISCHIO_AGGREGATO RISCHIO + ON RISCHIO.RETE = patr.RETE + AND RISCHIO.COD_FISCALE = patr.CodiceFiscale + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO' + --RESTITUISCO I PATRIMONI + SELECT + ORDINE, + NOMEPATRIMONIO, + CONTROVALORE, + CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END as CCPRESENTE, + (CONTROVALORE/@CTVCompl)*100 as PERCENTUALE, + VARPATRIMONIO AS VAR, + COPERTURA, +-- CASE COPERTURA WHEN 0 THEN 'n.c.' ELSE NULL END AS varString, +-- CASE COPERTURA WHEN 0 THEN 'n.c.' ELSE NULL END AS coperturaString + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS varString, + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS coperturaString, + -- aggiunta per valutare la presenza di controcorrente + CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto + -- fine aggiunta per valutare la presenza di controcorrente + FROM #TEMP75 + WHERE CONTROVALORE IS NOT NULL + UNION ALL + SELECT + 3, + 'Patrimonio complessivo', + @CTVCompl, + CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END as CCPRESENTE, + 100.00 as percentuale, + @varCompl, + @coperturaCompl, +-- CASE @coperturaCompl WHEN 0 THEN 'n.c.' ELSE NULL END AS varString, +-- CASE @coperturaCompl WHEN 0 THEN 'n.c.' ELSE NULL END AS coperturaString + CASE + WHEN @coperturaCompl IS NULL THEN 'n.c.' + WHEN @coperturaCompl = 0 THEN 'n.c.' + ELSE NULL + END AS varString, + CASE + WHEN @coperturaCompl IS NULL THEN 'n.c.' + WHEN @coperturaCompl = 0 THEN 'n.c.' + ELSE NULL + END AS coperturaString, + -- aggiunta per valutare la presenza di controcorrente + CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto + -- fine aggiunta per valutare la presenza di controcorrente + ORDER BY 1 + END + ELSE + BEGIN + --RESTITUISCO L'UNICO PATRIMONIO PRESENTE + SELECT + NOMEPATRIMONIO, + CONTROVALORE, + CASE WHEN CONTROVALORECC > 0 THEN 1 ELSE 0 END as CCPRESENTE, + 100.00 as PERCENTUALE, + VARPATRIMONIO AS VAR, + COPERTURA, +-- CASE COPERTURA WHEN 0 THEN 'n.c.' ELSE NULL END AS varString, +-- CASE COPERTURA WHEN 0 THEN 'n.c.' ELSE NULL END AS coperturaString + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS varString, + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS coperturaString, + -- aggiunta per valutare la presenza di controcorrente + CASE WHEN CONTROVALORECC <> 0 THEN 1 ELSE 0 END as NotaCCNetto + -- fine aggiunta per valutare la presenza di controcorrente + FROM #TEMP75 + WHERE CONTROVALORE IS NOT NULL + END +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_S75GradoCopertura] Script Date: 08/02/2022 16:57:49 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +---- [C6Mart].[PL_S75GradoCopertura] 'F','SMPSMN76C26L157Y' +--ALTER procedure [C6Mart].[PL_S75GradoCopertura] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- DECLARE @varCompl decimal(15,3) +-- DECLARE @coperturaCompl decimal(15,3) +-- DECLARE @ctvCompl decimal(15,3) +-- DECLARE @saldoCC decimal(15,3) +-- --CALCOLO PATRIMONI E ESTRAZIONE VAR +-- SELECT +-- @Rete AS Rete, +-- @CodiceFiscale as CodiceFiscale, +-- CASE @Rete +-- WHEN 'F' THEN 'Patrimonio Banca Fideuram' +-- ELSE 'Patrimonio Sanpaolo Invest' +-- END AS NomePatrimonio, +---- MAX(patrBF.CTV - patrBF.ContoCorrente) AS Controvalore, +---- MAX(patrBF.ContoCorrente) AS ControvaloreCC, +---- MAX(RISCHIO.VAR_PERC_PTF) AS VarPatrimonio, +---- MAX(RISCHIO.COPERTURA) AS Copertura, +-- patrBF.PatrimonioSenzaCC AS Controvalore, +-- --patrBF.CTV - patrBF.ContoCorrente AS Controvalore, +-- patrBF.ContoCorrente AS ControvaloreCC, +-- RISCHIO.VAR_PERC_PTF AS VarPatrimonio, +-- RISCHIO.COPERTURA AS Copertura, +-- 1 AS ORDINE INTO #TEMP75 +-- FROM C6Mart.vPatrimoniobfAggregato patrBF +-- LEFT OUTER JOIN C6Mart.RISCHIO_AGGREGATO RISCHIO +-- ON RISCHIO.RETE = patrBF.RETE +-- AND RISCHIO.Cod_Fiscale = patrBF.Cod_Fiscale +-- AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|BF' +-- WHERE +-- patrBF.Rete = @Rete +-- AND patrBF.Cod_Fiscale = @CodiceFiscale +-- --AND patrBF.PatrimonioSenzaCC > 0 +-- UNION ALL +-- SELECT A.Rete,A.CodiceFiscale,A.NomePatrimonio,A.Controvalore,A.ControvaloreCC,A.VarPatrimonio,A.Copertura,A.ORDINE +-- FROM( +-- SELECT +-- @Rete AS Rete, +-- @CodiceFiscale as CodiceFiscale, +-- 'Patrimonio altri Istituti' AS NomePatrimonio, +-- SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END,2)) AS Controvalore, +-- SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN patrTerzi.CTV ELSE 0 END,2)) AS ControvaloreCC, +-- MAX(RISCHIO.VAR_PERC_PTF) as VarPatrimonio, +-- MAX(RISCHIO.COPERTURA) as Copertura, +-- 2 AS ORDINE +-- FROM C6Mart.PATRIMONIO_TERZI patrTerzi +-- LEFT OUTER JOIN C6Mart.RISCHIO_AGGREGATO RISCHIO +-- ON RISCHIO.RETE = patrTerzi.RETE +-- AND RISCHIO.COD_FISCALE = patrTerzi.COD_FISCALE +-- AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|TERZI' +-- WHERE +-- patrTerzi.Rete = @Rete +-- AND patrTerzi.COD_FISCALE = @CodiceFiscale +-- ) A +-- WHERE ISNULL(A.CONTROVALORE,0)>0 +-- -- SE IL PATRIMONIO È SOLO 1 NON VA CALCOLATO IL COMPLESSIVO +-- IF @@ROWCOUNT > 1 +-- BEGIN +-- --CALCOLO IL PATRIMONIO COMPLESSIVO ED ESTRAGGO IL VAR +-- SELECT +-- @ctvCompl=SUM(patr.CONTROVALORE), +-- @saldoCC=SUM(patr.CONTROVALORECC), +-- @varCompl=MAX(RISCHIO.VAR_PERC_PTF), +-- @coperturaCompl=MAX(RISCHIO.COPERTURA) +-- FROM #TEMP75 patr +-- LEFT OUTER JOIN C6Mart.RISCHIO_AGGREGATO RISCHIO +-- ON RISCHIO.RETE = patr.RETE +-- AND RISCHIO.COD_FISCALE = patr.CodiceFiscale +-- AND RISCHIO.COD_AGGREG = 'COMPLESSIVO' +-- --RESTITUISCO I PATRIMONI +-- SELECT +-- ORDINE, +-- NOMEPATRIMONIO, +-- CONTROVALORE, +-- CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END as CCPRESENTE, +-- (CONTROVALORE/@CTVCompl)*100 as PERCENTUALE, +-- VARPATRIMONIO AS VAR, +-- COPERTURA, +---- CASE COPERTURA WHEN 0 THEN 'n.c.' ELSE NULL END AS varString, +---- CASE COPERTURA WHEN 0 THEN 'n.c.' ELSE NULL END AS coperturaString +-- CASE +-- WHEN COPERTURA IS NULL THEN 'n.c.' +-- WHEN COPERTURA = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS varString, +-- CASE +-- WHEN COPERTURA IS NULL THEN 'n.c.' +-- WHEN COPERTURA = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS coperturaString, +-- -- aggiunta per valutare la presenza di controcorrente +-- CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto +-- -- fine aggiunta per valutare la presenza di controcorrente +-- FROM #TEMP75 +-- WHERE CONTROVALORE IS NOT NULL +-- UNION ALL +-- SELECT +-- 3, +-- 'Patrimonio complessivo', +-- @CTVCompl, +-- CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END as CCPRESENTE, +-- 100.00 as percentuale, +-- @varCompl, +-- @coperturaCompl, +---- CASE @coperturaCompl WHEN 0 THEN 'n.c.' ELSE NULL END AS varString, +---- CASE @coperturaCompl WHEN 0 THEN 'n.c.' ELSE NULL END AS coperturaString +-- CASE +-- WHEN @coperturaCompl IS NULL THEN 'n.c.' +-- WHEN @coperturaCompl = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS varString, +-- CASE +-- WHEN @coperturaCompl IS NULL THEN 'n.c.' +-- WHEN @coperturaCompl = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS coperturaString, +-- -- aggiunta per valutare la presenza di controcorrente +-- CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto +-- -- fine aggiunta per valutare la presenza di controcorrente +-- ORDER BY 1 +-- END +-- ELSE +-- BEGIN +-- --RESTITUISCO L'UNICO PATRIMONIO PRESENTE +-- SELECT +-- NOMEPATRIMONIO, +-- CONTROVALORE, +-- CASE WHEN CONTROVALORECC > 0 THEN 1 ELSE 0 END as CCPRESENTE, +-- 100.00 as PERCENTUALE, +-- VARPATRIMONIO AS VAR, +-- COPERTURA, +---- CASE COPERTURA WHEN 0 THEN 'n.c.' ELSE NULL END AS varString, +---- CASE COPERTURA WHEN 0 THEN 'n.c.' ELSE NULL END AS coperturaString +-- CASE +-- WHEN COPERTURA IS NULL THEN 'n.c.' +-- WHEN COPERTURA = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS varString, +-- CASE +-- WHEN COPERTURA IS NULL THEN 'n.c.' +-- WHEN COPERTURA = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS coperturaString, +-- -- aggiunta per valutare la presenza di controcorrente +-- CASE WHEN CONTROVALORECC <> 0 THEN 1 ELSE 0 END as NotaCCNetto +-- -- fine aggiunta per valutare la presenza di controcorrente +-- FROM #TEMP75 +-- WHERE CONTROVALORE IS NOT NULL +-- END +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S76PatrimonioNonRappresentabileAssettClass.sql b/sql/storedProduzione/C6Mart_PL_S76PatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..8890f15d --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S76PatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,144 @@ +-- ============================================= +-- Author: Luca De Lisio +-- Create date: 04/12/2008 +-- Description: +-- ============================================= +--[C6Mart].[PL_S76PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +CREATE procedure [C6Mart].[PL_S76PatrimonioNonRappresentabileAssettClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Banca Fideuram' + ELSE IF @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + UNION ALL + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MART.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO + ORDER BY CONTROVALORE DESC +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_S76PatrimonioNonRappresentabileAssettClass] Script Date: 08/02/2022 17:04:40 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: Luca De Lisio +---- Create date: 04/12/2008 +---- Description: +---- ============================================= +----[C6Mart].[PL_S76PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +--ALTER procedure [C6Mart].[PL_S76PatrimonioNonRappresentabileAssettClass] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @RETE = 'F' +-- SET @NOMERETE = 'Banca Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- PATRBF.CTV as Controvalore, +-- PATRBF.CTV as controvalore_contratto, +-- PATRBF.PARTVIA_DISINV as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO <> 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- UNION ALL +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- SUM(ASUL.CTV) as Controvalore, +-- MAX(PATRBF.CTV) as controvalore_contratto, +-- SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN C6MART.DETTAGLIO_ASUL ASUL +-- ON PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- GROUP BY +-- PATRBF.ID_CONTRATTO, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , +-- ANAGP.DESCR_PRODOTTO +-- ORDER BY CONTROVALORE DESC +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S95ProfiloDiRischio.sql b/sql/storedProduzione/C6Mart_PL_S95ProfiloDiRischio.sql new file mode 100644 index 00000000..7d922c33 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S95ProfiloDiRischio.sql @@ -0,0 +1,49 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S95ProfiloDiRischio] 'F','BBBPSN44E20B041U' +CREATE procedure [C6Mart].[PL_S95ProfiloDiRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6Mart.MIFID AS M + INNER JOIN C6Mart.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskClass, + @experience as experince +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S96RischiomercatoRischiocredito.sql b/sql/storedProduzione/C6Mart_PL_S96RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..abc25e2e --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S96RischiomercatoRischiocredito.sql @@ -0,0 +1,446 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6Mart].[PL_S96RischiomercatoRischiocredito] 'S','92004630635' +CREATE procedure [C6Mart].[PL_S96RischiomercatoRischiocredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + --V La copertura viene valorizzata con un valore da 0 da 100 + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + -- ELSE NULL + -- END AS COVERAGESTRING, + NULL AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) )*100 AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6mart.patrimonio_bf PATRBF,C6Mart.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.cod_fiscale = @codiceFiscale + and PATRBF.rete= @rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6mart.PATRIMONIO_TERZI TERZI,C6Mart.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.cod_fiscale =@codiceFiscale + and TERZI.rete=@rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6mart.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6mart.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6mart.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6mart.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Banca Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'W' then 'Patrimonio IW Private Inv.' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6mart.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6mart.PATRIMONIO_TERZI TERZI + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6mart.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6mart.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6mart.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6mart.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_S96RischiomercatoRischiocredito] Script Date: 08/02/2022 17:07:22 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +-- --[C6Mart].[PL_S96RischiomercatoRischiocredito] 'S','92004630635' +--ALTER procedure [C6Mart].[PL_S96RischiomercatoRischiocredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- PATRBF.INSTITUTENAME, +-- CTV, +-- M.PROFILO_ASS AS CODICEPROFILO, +-- CR.MAX_VAR AS VARMAX, +-- RISK_AGG.VAR_PERC_PTF AS VAR , +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END AS VARSTRING, +-- RISK_AGG.CREDITRISK RISKCLASS, +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END AS RISKCLASSSTRING, +-- --V La copertura viene valorizzata con un valore da 0 da 100 +-- ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +-- -- CASE +-- -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- -- ELSE NULL +-- -- END AS COVERAGESTRING, +-- NULL AS COVERAGESTRING, +-- M.RISKCLASS AS RISKCLASSMAX, +-- (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) )*100 AS PERCENTAGE, +-- --V +-- ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, +-- SUM(PATRBF.CTV) AS CTV, +-- --V +-- 1 as ORDINE, +-- RISK_AGG.Ully_perc +-- from +-- c6mart.patrimonio_bf PATRBF,C6Mart.RISCHIO_AGGREGATO RISK_AGG +-- where +-- 1=1 +-- and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE +-- and PATRBF.rete= RISK_AGG.rete +-- and PATRBF.cod_fiscale = @codiceFiscale +-- and PATRBF.rete= @rete +-- and PATRBF.CTV > 0 +-- and +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or +-- --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- RISK_AGG.Ully_perc, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END +-- UNION +-- SELECT +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- 'Patrimonio altri Istituti' AS INSTITUTENAME, +-- SUM(ROUND(TERZI.CTV,2)) AS CTV, +-- --V +-- 2 as ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- c6mart.PATRIMONIO_TERZI TERZI,C6Mart.RISCHIO_AGGREGATO RISK_AGG +-- where +-- 1=1 +-- and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE +-- and TERZI.rete= RISK_AGG.rete +-- and TERZI.cod_fiscale =@codiceFiscale +-- and TERZI.rete=@rete +-- and TERZI.CTV > 0 +-- and +-- ( +-- --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- GROUP BY +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- RISK_AGG.Ully_perc +-- ) PATRBF +-- LEFT OUTER JOIN +-- c6mart.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN c6mart.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- c6mart.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- c6mart.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- AND +-- (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Banca Fideuram' +-- WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' +-- else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- UNION ALL +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- 'Patrimonio Complessivo' AS INSTITUTENAME, +-- SUM(CTV), +-- MAX(M.PROFILO_ASS) AS CODICEPROFILO, +-- MAX(CR.MAX_VAR) AS VARMAX, +-- MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , +-- MAX( CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END) AS VARSTRING, +-- MAX(RISK_AGG.CREDITRISK) RISKCLASS, +-- MAX( +-- case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END ) +-- AS RISKCLASSSTRING, +-- MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, +-- MAX( CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END) AS COVERAGESTRING, +-- --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, +-- MAX(M.RISKCLASS) AS RISKCLASSMAX, +-- 100 AS PERCENTAGE, +-- --V +-- 3 AS ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- SUM(PATRBF.CTV) AS CTV +-- from +-- c6mart.patrimonio_bf PATRBF +-- where +-- 1=1 +-- and cod_fiscale =@codiceFiscale +-- and rete=@rete +-- and PATRBF.CTV > 0 +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE +-- UNION +-- SELECT +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- SUM(ROUND(TERZI.CTV,2)) AS CTV +-- FROM +-- c6mart.PATRIMONIO_TERZI TERZI +-- where +-- 1=1 +-- and cod_fiscale =@codiceFiscale +-- and rete=@rete +-- and TERZI.CTV > 0 +-- GROUP BY +-- TERZI.RETE, +-- TERZI.COD_FISCALE +-- ) PATRBF +-- LEFT OUTER JOIN +-- c6mart.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN c6mart.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- c6mart.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- c6mart.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO' +-- ) +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- RISK_AGG.Ully_perc +-- --V +-- order by ordine +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_S96RischiomercatoRischiocredito_old.sql b/sql/storedProduzione/C6Mart_PL_S96RischiomercatoRischiocredito_old.sql new file mode 100644 index 00000000..3241efc0 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_S96RischiomercatoRischiocredito_old.sql @@ -0,0 +1,213 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6Mart].[PL_S96RischiomercatoRischiocredito] 'F','BRNDRA65B04B300I' +CREATE procedure [C6Mart].[PL_S96RischiomercatoRischiocredito_old] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --V VARIABILI DI APPOGGIO PER LA VERIFICA SE IL CLIENTE HA SOLO CC + DECLARE @ESISTECC INT + DECLARE @NUMPOSIZIONI INT + SELECT @ESISTECC = COUNT(DISTINCT COD_FISCALE) + FROM C6MART.PATRIMONIO_BF + WHERE ID_AREA = 'CC' + AND COD_FISCALE = @CodiceFiscale + GROUP BY ID_AREA + SELECT @NUMPOSIZIONI = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE ID_AREA <> 'CC' + AND COD_FISCALE = @CodiceFiscale + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + CASE WHEN (@ESISTECC - @NUMPOSIZIONI) > 0 and institutename in ('Patrimonio Banca Fideuram','Patrimonio Sanpaolo Invest') THEN 0 + ELSE RISK_AGG.VAR_PERC_PTF + END AS VAR , + CASE + WHEN (@ESISTECC - @NUMPOSIZIONI) > 0 THEN NULL + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN (@ESISTECC - @NUMPOSIZIONI) > 0 THEN 'n.a.' + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + CASE + WHEN (@ESISTECC - @NUMPOSIZIONI) > 0 THEN 100 + ELSE ISNULL(RISK_AGG.COPERTURA,0.00) + END AS COVERAGE, + CASE + WHEN (@ESISTECC - @NUMPOSIZIONI) > 0 THEN NULL + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) )*100 AS PERCENTAGE, + ORDINE + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + 1 as ORDINE + from + c6mart.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale = @codiceFiscale + and rete= @rete + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + --SUM(TERZI.CTV) AS CTV, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + 2 as ORDINE + FROM + C6MART.PATRIMONIO_TERZI TERZI + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + C6Mart.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN C6Mart.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6mart.CODIFICA_CREDITRISK CK + ON +-- tringali + M.riskclass=CK.PROFILO + -- M.PROFILO_ASS=CK.PROFILO + LEFT OUTER JOIN + c6mart.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Banca Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + --SUM(CTV), + SUM(ROUND(CTV,2)), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + 3 AS ORDINE + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6mart.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + --SUM(TERZI.CTV) AS CTV + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + C6MART.PATRIMONIO_TERZI TERZI + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + C6Mart.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN C6Mart.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6mart.CODIFICA_CREDITRISK CK + ON +-- tringali + M.riskclass=CK.PROFILO + -- M.PROFILO_ASS=CK.PROFILO + LEFT OUTER JOIN + c6mart.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + --V + order by ordine +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PL_SavingMap.sql b/sql/storedProduzione/C6Mart_PL_SavingMap.sql new file mode 100644 index 00000000..cb65f444 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PL_SavingMap.sql @@ -0,0 +1,19 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_SavingMap] 'S','BCCNCL47B10H769B','507112FO702' --'000001VP001' +create procedure [C6Mart].[PL_SavingMap] + @rete varchar(1), + @codfis varchar(16), + @codConf varchar(11) +AS +BEGIN + declare @ris as int + declare @ritorno as int + -- viene passato il contratto di un foglio: verifico se su questo è attivo saving map L'informazione è contenuta nella colonna MAF del cc + select @ritorno = (select count(*) from c6mart.patrimonio_bf where + cod_fiscale = @codfis and rete = @rete and cod_maf = @codConf ) + select @ritorno +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PROM_TuttiIPortafogli.sql b/sql/storedProduzione/C6Mart_PROM_TuttiIPortafogli.sql new file mode 100644 index 00000000..d3935a13 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PROM_TuttiIPortafogli.sql @@ -0,0 +1,44 @@ +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +--[C6Mart].[PROM_TuttiIPortafogli] +CREATE procedure [C6Mart].[PROM_TuttiIPortafogli] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,cast([CtvNominale] as varchar) as CtvNominale + ,cast([CtvReale] as varchar) as CtvReale +FROM ( + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Mart].[vTuttiIPortafogli] --[C6StampeCentralizzate] + union all + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Mart].[vTuttiIPortafogli_ccLiq] --[C6StampeCentralizzate] +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PROM_TuttiIPortafogli_old.sql b/sql/storedProduzione/C6Mart_PROM_TuttiIPortafogli_old.sql new file mode 100644 index 00000000..7a0bf776 --- /dev/null +++ b/sql/storedProduzione/C6Mart_PROM_TuttiIPortafogli_old.sql @@ -0,0 +1,58 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +--[C6Mart].[PROM_TuttiIPortafogli] +CREATE procedure [C6Mart].[PROM_TuttiIPortafogli_old] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT + A.Rete, + A.CodiceFiscale, + A.Portafoglio, + A.CodiceProdotto, + A.Piazza, + A.CodiceValuta, + A.Classe, + CAST(A.CtvNominale AS VARCHAR(50)) AS CtvNominale, + CAST(A.CtvReale AS VARCHAR(50))AS CtvReale +FROM( + SELECT + Rete, + CodiceFiscale, + Portafoglio, + CodiceProdotto, + Piazza, + CodiceValuta, + Classe, + --V Gestione CC negativo + CASE + when CtvNominale < 0 then 0 + else CtvNominale + END AS CtvNominale, + CASE + when CtvReale < 0 then 0 + else CtvReale + END AS CtvReale + FROM [C6Mart].[vTuttiIPortafogli] + UNION + SELECT + Rete, + CodiceFiscale, + REPLACE(Portafoglio,'COMPLESSIVO|BF|RISFIN|','PIRAMIDE|'), + CodiceProdotto, + Piazza, + CodiceValuta, + Classe, + CtvNominale, + CtvReale + FROM [C6Mart].[vTuttiIPortafogli] + where PORTAFOGLIO LIKE 'COMPLESSIVO|BF|RISFIN%' + AND PORTAFOGLIO NOT LIKE 'COMPLESSIVO|BF|RISFIN|NA%' + AND PORTAFOGLIO NOT LIKE 'COMPLESSIVO|BF|CC|%' +) A +--WHERE RTRIM(LTRIM(ISNULL(A.CodiceProdotto,'$'))) <> '$' +ORDER BY 1,2,3 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_Popola_S133_S157DatiPiramide.sql b/sql/storedProduzione/C6Mart_Popola_S133_S157DatiPiramide.sql new file mode 100644 index 00000000..b6e04d00 --- /dev/null +++ b/sql/storedProduzione/C6Mart_Popola_S133_S157DatiPiramide.sql @@ -0,0 +1,291 @@ +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +CREATE procedure [c6mart].[Popola_S133_S157DatiPiramide] +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT_TEMP + FROM + C6Mart.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MART.PATRIMONIO_BF PIRAMIDE_VERT + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + and PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + and PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF','INV') + --OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL) /* 20161202 nome_progetto sempre diverso da null */ + ) +/* 20161214 - aggiunto aggragazione percentuali per area */ + SELECT + RETE, + COD_FISCALE, + ID_AREA, + sum(PERC_AREA) as PERC_AREA, + CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + #PIRAMIDE_VERT_TEMP + group by rete,cod_fiscale, id_area, CONTROVALORE +truncate table c6mart.TB_S133_S157DatiPiramide +insert into c6mart.TB_S133_S157DatiPiramide + SELECT distinct /* 20161202 */ + ATTUALE.RETE, + ATTUALE.COD_FISCALE, + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + ISNULL(ATTUALE.CONTROVALORE,0) PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ISNULL(ATTUALE.PERC_AREA,0) ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ISNULL(ATTUALE.CONTROVALORE,0) DifferenzaEuro, + 0 differenzapercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + --WHEN AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + 0 somma_controvalAttuale, + 0 somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + RISCHIOTOTALE.VAR_PERC_PTF var_tot, + null var_totString, + RISCHIOTOTALE_PIR.VAR_PERC_PTF var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_tot_pirString, + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + c6mart.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + c6mart.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + c6mart.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + c6mart.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + c6mart.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN|PIRAMIDE' --Per Aladdin è stato aggiunto il tag |PIRAMIDE + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' +------------------------------------------------------------------ +SELECT rete, cod_fiscale,sum(ATTUALE.CONTROVALORE) TotControvalore +into #temp +FROM #PIRAMIDE_VERT ATTUALE +WHERE ID_AREA not in ('Na', 'Cc','Self') +group by rete,cod_fiscale +update s157 +set s157.PercentualeAttuale =CASE + WHEN vert.TotControvalore = 0 THEN 0 + ELSE (100 * s157.PercentualeAttuale / ISNULL(vert.TotControvalore,1)) + END, +s157.ControvaloreModello=ROUND(ISNULL(s157.ControvaloreModello * vert.TotControvalore / 100 , 0),2) , +s157.DifferenzaEuro = ROUND(ISNULL(s157.DifferenzaEuro,0),2) - ROUND(ISNULL(s157.Totale_Percentuale * vert.TotControvalore / 100 , 0),2), +s157.DifferenzaPercentuale = CASE + WHEN vert.TotControvalore = 0 THEN - s157.Totale_Percentuale + ELSE ISNULL( (100 * ISNULL(s157.ControvaloreAttuale,0) / vert.TotControvalore - s157.Totale_Percentuale) , 0) + END , +s157.somma_controvalAttuale =vert.TotControvalore, +s157.somma_controvalModello=vert.TotControvalore +from c6mart.TB_S133_S157DatiPiramide s157 +inner join #temp vert +on vert.rete = s157.rete and vert.cod_fiscale = s157.codicefiscale +select rete,cod_fiscale,'TOT' as Tipo,count(*) over ( partition by rete,cod_fiscale) TOT + into #TempContatori + FROM c6mart.PATRIMONIO_BF +union +select rete,cod_fiscale,'TOTCCSELF',count(*) over ( partition by rete,cod_fiscale) TOTCCSELF + FROM c6mart.PATRIMONIO_BF + where TIPO_PRODOTTO = 'CC' OR ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELF',count(*) over ( partition by rete,cod_fiscale) TOTSELF + FROM c6mart.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELFLIQ',count(*) over ( partition by rete,cod_fiscale) TOTSELFLIQ + FROM c6mart.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') AND ID_AREA = 'LIQ' +union +select rete,cod_fiscale,'TOTLIQ',count(*) over ( partition by rete,cod_fiscale) TOTLIQ + FROM c6mart.PATRIMONIO_BF + where ID_AREA = 'LIQ' + select + totale1.rete, + totale1.cod_fiscale, + ISNULL(totale1.TOT,0) as TOT, + ISNULL(totale2.TOT,0) as TOTCCSELF, + ISNULL(totale3.TOT,0) as TOTSELF, + ISNULL(totale4.TOT,0) as TOTSELFLIQ, + ISNULL(totale5.TOT,0) as TOTLIQ + into #Contatori + from + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOT') as totale1 + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTCCSELF') as totale2 + on totale1.rete=totale2.rete + and totale1.cod_fiscale=totale2.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELF') as totale3 + on totale1.rete=totale3.rete + and totale1.cod_fiscale=totale3.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELFLIQ') as totale4 + on totale1.rete=totale4.rete + and totale1.cod_fiscale=totale4.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTLIQ') as totale5 + on totale1.rete=totale5.rete + and totale1.cod_fiscale=totale5.cod_fiscale +update s157 +set +var_needareaString= CASE + WHEN TOTSELFLIQ = TOTLIQ and needarea = 'LIQ' THEN 'n.c.' + ELSE var_needareaString + END, +var_tot = CASE + WHEN TOTCCSELF = TOT THEN 0.00 + ELSE var_tot + END , +var_totString=CASE + WHEN (TOTCCSELF <> TOT) AND(copertura_tot IS NULL OR copertura_tot = 0) THEN 'n.c.' + WHEN (TOTSELF = TOT) THEN 'n.c.' + ELSE NULL + END , +var_tot_pir =CASE + WHEN TOTCCSELF = TOT THEN 0 + ELSE var_tot_pir +END , +var_tot_pirString=CASE + WHEN var_tot_pirString <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + WHEN TOTSELF = TOT THEN 'n.c.' + ELSE var_tot_pirString + END + ELSE var_tot_pirString + END , +VAR_RISFINSTRING=CASE + WHEN VAR_RISFINSTRING <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + ELSE VAR_RISFINSTRING + END + ELSE VAR_RISFINSTRING + END +from c6mart.TB_S133_S157DatiPiramide s157 +inner join ( select * from #Contatori ) contatori +on contatori.rete = s157.rete and contatori.cod_fiscale = s157.codicefiscale +--and codicefiscale='00247580970' + Drop TABLE #temp + DROP TABLE #PIRAMIDE_VERT + drop table #Contatori + drop table #TempContatori +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_Popola_S148DistribuzioneAssetClass.sql b/sql/storedProduzione/C6Mart_Popola_S148DistribuzioneAssetClass.sql new file mode 100644 index 00000000..50ad4ace --- /dev/null +++ b/sql/storedProduzione/C6Mart_Popola_S148DistribuzioneAssetClass.sql @@ -0,0 +1,388 @@ +--[c6mart].[Popola_S148DistribuzioneAssetClass] 'F','LRNRMR33D51C166I' +CREATE procedure [C6Mart].[Popola_S148DistribuzioneAssetClass] + -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN +truncate table c6mart.TB_S148DistribuzioneAssetClass +INSERT INTO c6mart.TB_S148DistribuzioneAssetClass +--SELECT @Rete as Rete, @CodiceFiscale as CodiceFiscale, +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Banca Fideuram' +-- END AS Banca, + select rete, + cod_fiscale, + CASE rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ORDINAMENTO, + AssetClassId, + AssetClassName, + SUM(Controvalore) As Controvalore, + --SUM(CONTROVALORE) / Totale As Percentuale, + SUM(CONTROVALORE) / Totale * 100 As Percentuale, + Totale +FROM +( +SELECT rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, + --ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'Totale') * 100, 2) AS Percentuale, + cast(ROUND(SUM(Controvalore) OVER (PARTITION BY 'Totale',rete,cod_fiscale),2) as decimal(19,5)) AS Totale + FROM ( + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM c6mart.PATRIMONIO_BF AS PATR_BF + INNER JOIN c6mart.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE +--inizio interventi OMNIA +-- PATR_BF.ID_AREA NOT IN ('Cc','Pre1','Pre2','Pre') + PATR_BF.ID_AREA NOT IN ('SELF','Cc','Pre1','Pre2','Pre') +--fine interventi OMNIA + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + --AND PATR_BF.COD_FISCALE= @CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM c6mart.DETTAGLIO_ASUL ASUL + INNER JOIN c6mart.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN c6mart.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + --ASUL.RETE = @Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM c6mart.PATRIMONIO_BF ASUL + INNER JOIN c6mart.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + WHERE + --ASUL.RETE =@Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA NOT IN ('Pre1','Pre2','Pre') + ) val + where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS + UNION ALL + /* nuovo */ + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM c6mart.PATRIMONIO_BF AS PATR_BF + INNER JOIN c6mart.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE + PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + --AND PATR_BF.COD_FISCALE=@CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM c6mart.DETTAGLIO_ASUL ASUL + INNER JOIN c6mart.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN c6mart.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + --ASUL.RETE = @Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM c6mart.PATRIMONIO_BF ASUL + INNER JOIN c6mart.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + WHERE + -- ASUL.RETE =@Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA IN ('Pre1','Pre2','Pre') + ) val + where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS + ) + VALORIASSET + INNER JOIN c6mart.ASSETCLASS AS ASSETCLASS + ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +-- WHERE +-- VALORIASSET.RETE =@Rete +-- AND VALORIASSET.COD_FISCALE = @CodiceFiscale +) a +Group By rete,cod_fiscale,ORDINAMENTO, AssetClassId, AssetClassName, Totale + ORDER BY ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [c6mart].[Popola_S148DistribuzioneAssetClass] Script Date: 10/02/2022 16:42:22 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +----[c6mart].[Popola_S148DistribuzioneAssetClass] 'F','LRNRMR33D51C166I' +--ALTER procedure [c6mart].[Popola_S148DistribuzioneAssetClass] +-- -- Add the parameters for the stored procedure here +---- @Rete char(1), +---- @CodiceFiscale varchar(16) +--AS +--BEGIN +--truncate table c6mart.TB_S148DistribuzioneAssetClass +--INSERT INTO c6mart.TB_S148DistribuzioneAssetClass +----SELECT @Rete as Rete, @CodiceFiscale as CodiceFiscale, +---- CASE @Rete +---- WHEN 'S' THEN 'Sanpaolo Invest' +---- ELSE 'Banca Fideuram' +---- END AS Banca, +-- select rete, +-- cod_fiscale, +-- CASE rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Fideuram' +-- END AS Banca, +-- ORDINAMENTO, +-- AssetClassId, +-- AssetClassName, +-- SUM(Controvalore) As Controvalore, +-- --SUM(CONTROVALORE) / Totale As Percentuale, +-- SUM(CONTROVALORE) / Totale * 100 As Percentuale, +-- Totale +--FROM +--( +--SELECT rete, +-- cod_fiscale, +-- ASSETCLASS.ORDINAMENTO, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, +-- --ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'Totale') * 100, 2) AS Percentuale, +-- cast(ROUND(SUM(Controvalore) OVER (PARTITION BY 'Totale',rete,cod_fiscale),2) as decimal(19,5)) AS Totale +-- FROM ( +-- SELECT +-- VAL.RETE, +-- VAL.COD_FISCALE, +-- SUM(CONTROVALORE) AS CONTROVALORE, +-- ID_ASSETCLASS +-- FROM +-- (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare +-- SELECT +-- PATR_BF.RETE, +-- PATR_BF.COD_FISCALE, +-- (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, +-- ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS +-- FROM c6mart.PATRIMONIO_BF AS PATR_BF +-- INNER JOIN c6mart.ASSET_PERC AS ASSETPERC +-- ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- WHERE +----inizio interventi OMNIA +---- PATR_BF.ID_AREA NOT IN ('Cc','Pre1','Pre2','Pre') +-- PATR_BF.ID_AREA NOT IN ('SELF','Cc','Pre1','Pre2','Pre') +----fine interventi OMNIA +-- AND ASSETPERC.LIVELLO = 2 +-- --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') +-- AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') +-- --AND PATR_BF.COD_FISCALE= @CodiceFiscale +-- -- AND PATR_BF.RETE= @Rete +---- +-- UNION ALL +-- ---DETTAGLIO ASUL SENZA GLI SKANDIA +-- SELECT PATR_BF.RETE, +-- PATR_BF.COD_FISCALE, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore, +-- ASSETPERC.ID_ASSETCLASS +-- FROM c6mart.DETTAGLIO_ASUL ASUL +-- INNER JOIN c6mart.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 2 +-- INNER JOIN c6mart.PATRIMONIO_BF PATR_BF +-- ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE +-- AND ASUL.RETE=PATR_BF.RETE +-- AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO +-- WHERE +-- --ASUL.RETE = @Rete +-- --AND ASUL.COD_FISCALE = @CodiceFiscale +-- PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') +-- UNION ALL +-- --DETTAGLIO ASUL SKANDIA +-- SELECT ASUL.RETE, +-- ASUL.COD_FISCALE, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore, +-- ASSETPERC.ID_ASSETCLASS +-- FROM c6mart.PATRIMONIO_BF ASUL +-- INNER JOIN c6mart.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) +-- AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) +-- AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 2 +-- WHERE +-- --ASUL.RETE =@Rete +-- --AND ASUL.COD_FISCALE = @CodiceFiscale +-- --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 +-- ASUL.tipo_Prodotto = 'ASU2' +-- AND ASUL.ID_AREA NOT IN ('Pre1','Pre2','Pre') +-- ) val +-- where Controvalore >0 +-- GROUP BY +-- VAL.RETE, +-- val.COD_FISCALE, +-- VAL.ID_ASSETCLASS +-- UNION ALL +-- /* nuovo */ +-- SELECT +-- VAL.RETE, +-- VAL.COD_FISCALE, +-- SUM(CONTROVALORE) AS CONTROVALORE, +-- ID_ASSETCLASS +-- FROM +-- (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare +-- SELECT +-- PATR_BF.RETE, +-- PATR_BF.COD_FISCALE, +-- (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, +-- ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS +-- FROM c6mart.PATRIMONIO_BF AS PATR_BF +-- INNER JOIN c6mart.ASSET_PERC AS ASSETPERC +-- ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- WHERE +-- PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') +-- AND ASSETPERC.LIVELLO = 2 +-- --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') +-- AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') +-- --AND PATR_BF.COD_FISCALE=@CodiceFiscale +-- -- AND PATR_BF.RETE= @Rete +---- +-- UNION ALL +-- ---DETTAGLIO ASUL SENZA GLI SKANDIA +-- SELECT PATR_BF.RETE, +-- PATR_BF.COD_FISCALE, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore, +-- ASSETPERC.ID_ASSETCLASS +-- FROM c6mart.DETTAGLIO_ASUL ASUL +-- INNER JOIN c6mart.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 2 +-- INNER JOIN c6mart.PATRIMONIO_BF PATR_BF +-- ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE +-- AND ASUL.RETE=PATR_BF.RETE +-- AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO +-- WHERE +-- --ASUL.RETE = @Rete +-- --AND ASUL.COD_FISCALE = @CodiceFiscale +-- PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') +-- UNION ALL +-- --DETTAGLIO ASUL SKANDIA +-- SELECT ASUL.RETE, +-- ASUL.COD_FISCALE, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore, +-- ASSETPERC.ID_ASSETCLASS +-- FROM c6mart.PATRIMONIO_BF ASUL +-- INNER JOIN c6mart.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) +-- AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) +-- AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 2 +-- WHERE +-- -- ASUL.RETE =@Rete +-- -- AND ASUL.COD_FISCALE = @CodiceFiscale +-- --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 +-- ASUL.tipo_Prodotto = 'ASU2' +-- AND ASUL.ID_AREA IN ('Pre1','Pre2','Pre') +-- ) val +-- where Controvalore >0 +-- GROUP BY +-- VAL.RETE, +-- val.COD_FISCALE, +-- VAL.ID_ASSETCLASS +-- ) +-- VALORIASSET +-- INNER JOIN c6mart.ASSETCLASS AS ASSETCLASS +-- ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +---- WHERE +---- VALORIASSET.RETE =@Rete +---- AND VALORIASSET.COD_FISCALE = @CodiceFiscale +--) a +--Group By rete,cod_fiscale,ORDINAMENTO, AssetClassId, AssetClassName, Totale +-- ORDER BY ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_Popolamento_RP_W6DAILY.sql b/sql/storedProduzione/C6Mart_Popolamento_RP_W6DAILY.sql new file mode 100644 index 00000000..bcb243b0 --- /dev/null +++ b/sql/storedProduzione/C6Mart_Popolamento_RP_W6DAILY.sql @@ -0,0 +1,171 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6Mart].[Popolamento_RP_W6DAILY] +AS +BEGIN + SET NOCOUNT ON; + --dichiaro variabile data di trimestrale + DECLARE @dttrim int + --valorizzo la data di trimestrale al giorno del congelamento + set @dttrim = CAST(CONVERT(varchar, CAST(getdate() as DATETIME),112) as int) + --print @dttrim + --Tronchiamo la tabella RP_vTuttiIPortafogli_Aladdin_tab e la ripopoliamo + --a partire dalla vista RP_vTuttiIPortafogli_Aladdin + Truncate table C6StampeCentralizzate.C6Mart.w6daily + -- + insert into C6StampeCentralizzate.C6Mart.w6daily + select + 'G' as FLGCLI , + 'M' as FLGBL , + 'A' as TIPOELA, + @dttrim as DTTRIM, + rete, + codfis, + piva, + codman, + '' as CODFID, + '' as CODAGE, + CASE + --WHEN cod_interno <> 'SINT3MEUR' and famprodt = 'DT' THEN isnull(cod_interno,'') + WHEN ((cod_interno <> 'SINT3MEUR' and cod_interno <> 'SINT6MEUR') and famprodt = 'DT') THEN isnull(cod_interno,'') + ELSE '' + END as CODABI, + ISNULL(termid,00000000), + cast(annos as int) as anno , + cast(progs as int) as prog , + 0 as quote, + cast(ctvreale as float) as CTV, + codconf, --17 + rubr, + custgar, + ISNULL(cod_interno,''), + '' as codana, + CASE + WHEN cast(annos as int) <> 0 and cast(progs as int) <> 0 then 'S' + ELSE 'N' + END as FLAGPCT, + --CASE + -- WHEN famprodt <> 'DT' and famprodt <> 'CC' THEN isnull(cod_interno,'') + -- ELSE '' + --END + '' as codprod, + ISNULL(cod_sottoprodotto,''), + ISNULL(cod_isin,''), + '' as codlinea, + tipoptf, + area, + progetto, + isnull(codprj,'') as codprj, + ISNULL(chiave_prodotto_terzi,''), + ISNULL(assetterzi,''), + ISNULL(famprodt,''), + ISNULL(intermediario,''), + ISNULL(codiceadeguatezza,''), + ISNULL(cod_maf,''), + conto, + numpolizza, + position_id, + '' as PREFSOST, + '' as FLAGAMB, + '' as FLAGSOC, + '' as FLAGGOV + from [C6StampeCentralizzate].[C6Mart].[RP_vTuttiIPortafogli_Aladdin] + -- Aggiungiamo le informazioni mancanti per il codman piva_fiduciaria + update C6StampeCentralizzate.C6Mart.w6daily + set codprj = '' + where codprj = 0 + select substring(b.codicefiscale,4,len(b.codicefiscale)) as codman,b.rete,b.pivafiduciaria into + #tab + from C6StampeCentralizzate.C6Mart.w6daily a + inner join (select distinct rete,codicefiscale,pivafiduciaria from [C6StampeCentralizzate].[C6Staging].[SPB_CONTR_SINTESI] where pivafiduciaria is not null ) b + on a.rete=b.rete and isnull(a.codman,'')=isnull(substring(b.codicefiscale,4,len(b.codicefiscale)),'') + --select b.cod_mandato,b.rete,b.piva_fiduciaria into + -- #tab + -- FROM + -- [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] a + -- inner join (select distinct rete,cod_mandato,piva_fiduciaria from [C6StampeCentralizzate].[C6StagingPeriodico].[APPO_CONTRATTI_V] where cod_mandato<>'') b + -- on a.rete= b.rete and isnull(a.codman,'')=isnull(b.cod_mandato,'') + update C6StampeCentralizzate.C6Mart.w6daily + set piva = pivafiduciaria + from #tab tab + inner join C6StampeCentralizzate.C6Mart.w6daily as a + on a.rete= tab.rete and isnull(a.codman,'')=isnull(tab.codman,'') + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + -- set piva = piva_fiduciaria + -- from #tab tab + -- inner join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] as a + -- on a.rete= tab.rete and isnull(a.codman,'')=isnull(tab.cod_mandato,'') + update C6StampeCentralizzate.C6Mart.w6daily + set codage = isnull(appo.CODAGENTE,'') + from C6StampeCentralizzate.C6Mart.w6daily w + left join (select distinct [RETE],[CODAGENTE],[CODICEFISCALE],[PIVAFIDUCIARIA] from [C6StampeCentralizzate].[C6Staging].[SPB_CONTR_SINTESI] ) appo + on w.rete= appo.rete and isnull(w.codfis,'') = isnull(appo.CODICEFISCALE,'') + ----1 update per CF + --update [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + -- set codage = appo.cod_agente + -- from c6stagingperiodico.appo_contratti appo + -- left join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] w + -- on w.rete= appo.rete and isnull(w.codfis,'') = isnull(appo.cod_fiscale,'') + update C6StampeCentralizzate.C6Mart.w6daily + set codage = isnull(appo.CODAGENTE,'') + from C6StampeCentralizzate.C6Mart.w6daily w + left join (select distinct [RETE],[CODAGENTE],[CODICEFISCALE],[PIVAFIDUCIARIA] from [C6StampeCentralizzate].[C6Staging].[SPB_CONTR_SINTESI] ) appo + on w.rete= appo.rete and isnull(w.piva,'') = isnull(appo.CODICEFISCALE,'') + where w.piva <> '' + ----2 update per Piva + --update [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + -- set codage = appo.cod_agente + -- from c6stagingperiodico.appo_contratti appo + -- left join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] w + -- on w.rete= appo.rete and isnull(w.piva,'') = isnull(appo.cod_fiscale,'') + -- where w.piva <> '' + update C6StampeCentralizzate.C6Mart.w6daily + set codage = isnull(appo.CODAGENTE,'') + from C6StampeCentralizzate.C6Mart.w6daily w + left join (select distinct [RETE],[CODAGENTE],[CODICEFISCALE],[PIVAFIDUCIARIA] from [C6StampeCentralizzate].[C6Staging].[SPB_CONTR_SINTESI] ) appo + on w.rete= appo.rete and 'FF@'+(isnull(w.codman,'')) = isnull(appo.CODICEFISCALE,'') + where w.codman <> '' + ----3 update per Fiduciaria + --update [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + -- set codage = appo.cod_agente + -- from c6stagingperiodico.appo_contratti appo + -- left join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] w + -- on w.rete= appo.rete and 'FF@'+(isnull(w.codman,'')) = isnull(appo.cod_fiscale,'') + -- where w.codman <> '' + --eliminazione righe duplicate per API ma le teniamo in una tb di Recupero per eventuali analisi + --truncate table [C6MartPeriodico].[W6CLI_REK] + --insert into [C6MartPeriodico].[W6CLI_REK] + --select * + --from [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] where tipoptf = 'TIPOPRODTERZI|TERZI' + delete from + [C6StampeCentralizzate].[C6Mart].[w6daily] where tipoptf = 'TIPOPRODTERZI|TERZI' + update C6StampeCentralizzate.C6Mart.w6daily + set PREFSOST = case when esg.Profsost = '1' then '1' else '0' end, + FLAGAMB = case when esg.sost_E = 'Y' then 'Y' else 'N' end , + FLAGSOC = case when esg.sost_S = 'Y' then 'Y' else 'N' end , + FLAGGOV = case when esg.sost_G = 'Y' then 'Y' else 'N' end + from C6StampeCentralizzate.C6Mart.w6daily w + left join [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] esg + on w.rete= esg.rete and isnull(w.codfis,'') = isnull(esg.CODICE_FISCALE,'') + update C6StampeCentralizzate.C6Mart.w6daily + set PREFSOST = case when esg.Profsost = '1' then '1' else '0' end, + FLAGAMB = case when esg.sost_E = 'Y' then 'Y' else 'N' end , + FLAGSOC = case when esg.sost_S = 'Y' then 'Y' else 'N' end , + FLAGGOV = case when esg.sost_G = 'Y' then 'Y' else 'N' end + from C6StampeCentralizzate.C6Mart.w6daily w + left join [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] esg + on w.rete= esg.rete and isnull(w.piva,'') = isnull(esg.CODICE_FISCALE,'') + where piva <> '' + update C6StampeCentralizzate.C6Mart.w6daily + set PREFSOST = case when esg.Profsost = '1' then '1' else '0' end , + FLAGAMB = case when esg.sost_E = 'Y' then 'Y' else 'N' end , + FLAGSOC = case when esg.sost_S = 'Y' then 'Y' else 'N' end , + FLAGGOV = case when esg.sost_G = 'Y' then 'Y' else 'N' end + from C6StampeCentralizzate.C6Mart.w6daily w + left join [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] esg + on w.rete= esg.rete and isnull('FF@'+ w.codman,'') = isnull(esg.CODICE_FISCALE,'') + where codman <> '' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_PreCheckIDX.sql b/sql/storedProduzione/C6Mart_PreCheckIDX.sql new file mode 100644 index 00000000..e87a328b --- /dev/null +++ b/sql/storedProduzione/C6Mart_PreCheckIDX.sql @@ -0,0 +1,49 @@ +CREATE procedure C6Mart.PreCheckIDX +as +begin + declare @Rete varchar(1) + declare @CodiceFiscale varchar(20) + declare @idReport int + declare @Riga varchar(2000) + declare @id int + declare @flagRigaOk int + declare @dataGenerazione datetime + declare @dataVenerdi datetime + declare @giorniDietro int + set @Riga = '' + set @id = 0 + set @dataVenerdi = getdate() + set @giorniDietro = + case DATEPART(dw, @dataVenerdi) + when 2 then 0 + when 3 then 1 + when 4 then 2 + when 5 then 3 + when 6 then 4 + when 7 then 5 + when 1 then 6 + end + set @dataVenerdi = convert(varchar(4), year(@dataVenerdi)) + right('0' + convert(varchar(2), month(@dataVenerdi)), 2) + right('0' + convert(varchar(2), day(@dataVenerdi)), 2) + set @dataGenerazione = dateadd(d, -@giorniDietro, @dataVenerdi) + create table #tIdx (id int, Riga varchar(2000), flagOk int) + declare cur cursor for + select Rete, CodiceFiscale, idReport from c6mart.gestione_pdf_ftp where datagenerazione >= @dataGenerazione + --and id_Fk_zip = -1 + open cur + fetch next from cur into @Rete, @CodiceFiscale, @idReport + while @@fetch_status = 0 + begin + set @id = @id + 1 + set @Riga = C6Mart.Concatena_Check(@Rete, @CodiceFiscale, @idReport) + if isnull(@Riga, '') = '' + set @flagRigaOk = 0 + else + set @flagRigaOk = 1 + insert into #tIdx (id, Riga, flagOk) values (@id, @Riga, @flagRigaOk) + fetch next from cur into @Rete, @CodiceFiscale, @idReport + end + close cur + deallocate cur + select * from #tIdx + drop table #tIdx +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RM_Sintesi_Cliente.sql b/sql/storedProduzione/C6Mart_RM_Sintesi_Cliente.sql new file mode 100644 index 00000000..cce70547 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RM_Sintesi_Cliente.sql @@ -0,0 +1,28 @@ +-- [C6Mart].[RM_Sintesi_Cliente] 179 +CREATE procedure [C6Mart].[RM_Sintesi_Cliente] + @IdReport INT +AS +BEGIN + SET NOCOUNT ON; + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS NomeCognome, + ANAG_CLIENTI.DATA_NASCITA AS DataNascita, + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + ISNULL(CONTRATTOSEI.INDIRIZZO,'') + ' ' + + ISNULL(CONTRATTOSEI.CAP,'') + ' ' + + ISNULL(CONTRATTOSEI.CITTA,'') + + CASE + WHEN CONTRATTOSEI.PROV IS NULL THEN '' + ELSE ' (' + CONTRATTOSEI.PROV + ')' + END AS IndirizzoDiContratto, + isnull(CONTRATTOSEI.PRESSO,'') AS Presso + FROM C6MART.GESTIONE_PDF_FTP + INNER JOIN C6MART.CONTRATTOSEI + ON CONTRATTOSEI.RETE = GESTIONE_PDF_FTP.RETE + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CODICEFISCALE + INNER JOIN C6MART.ANAG_CLIENTI + ON ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + WHERE GESTIONE_PDF_FTP.IDREPORT = @IdReport +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_AggiornaFlagContratto.sql b/sql/storedProduzione/C6Mart_RP_AggiornaFlagContratto.sql new file mode 100644 index 00000000..dde6eca9 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_AggiornaFlagContratto.sql @@ -0,0 +1,134 @@ +--select * from C6Mart.CONTRATTOSEI_METADATI +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6Mart].[RP_AggiornaFlagContratto] +AS +BEGIN +-- SET NOCOUNT ON added to prevent extra result sets from +-- interfering with SELECT statements. +-- SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_AggiornaFlagContratto', + GETDATE(), + 'Elaborazione giornaliera' + ) +/* +select top 1 * +from C6Mart.CONTRATTOSEI_METADATI where risorseNa is null +*/ + --AGGIORNAMENTO TABELLA CONTRATTOSEI + --FLAG RISORSE NON ASSOCIATE + --SOLO PER I CLIENTI A CUI ANDREBBE INVIATO IL REPORT + UPDATE C6Mart.CONTRATTOSEI_METADATI + SET + RisorseNA = + CASE + WHEN CLIENTIRISNA.percRisorseNA >= CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2)) THEN 'S' + ELSE 'N' + END + --AGGIUNTA perchè mancava, FABRIZIO E VALERIO per Azzeramento numero solleciti email + --,NumSolleciti = + -- CASE + -- WHEN (C6.ClienteMigrato = 'S') and (CLIENTIRISNA.percRisorseNA < CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2))) THEN 0 + -- ELSE NumSolleciti + -- END + FROM C6Mart.CONTRATTOSEI_METADATI C6 + JOIN + C6MART.VCONTRATTI VCONTR + ON + C6.CHIAVECLIENTEPB = VCONTR.CHIAVECLIENTEPB + LEFT JOIN ( + SELECT + NA.RETE, + NA.COD_FISCALE, + CASE + WHEN TOT.CTVTOTALE = 0 THEN 0 + ELSE 100 * NA.CTVNA / TOT.CTVTOTALE + END AS percRisorseNA + FROM ( + SELECT + ISNULL(SUM(PATRBF.CTV),0) AS CTVNA, + PATRBF.RETE, PATRBF.COD_FISCALE + FROM C6Mart.PATRIMONIO_BF PATRBF + --INNER JOIN C6Mart.RP_vTuttiIContratti VCONTRATTIPERSEI + -- ON PATRBF.RETE = VCONTRATTIPERSEI.RETE + -- AND PATRBF.COD_FISCALE = VCONTRATTIPERSEI.COD_FISCALE + WHERE ID_AREA = 'Na' + GROUP BY + PATRBF.RETE, PATRBF.COD_FISCALE + ) NA + INNER JOIN ( + SELECT + SUM(PATRBF.CTV) AS CTVTOTALE, + PATRBF.RETE, PATRBF.COD_FISCALE + FROM C6Mart.PATRIMONIO_BF PATRBF + WHERE ID_AREA <> 'Cc' + GROUP BY + PATRBF.RETE, PATRBF.COD_FISCALE + ) TOT + ON TOT.RETE = NA.RETE AND TOT.COD_FISCALE = NA.COD_FISCALE + ) CLIENTIRISNA + ON VCONTR.RETE = CLIENTIRISNA.RETE + AND VCONTR.COD_FISCALE = CLIENTIRISNA.COD_FISCALE + WHERE C6.InvioBenvenuto = 'N' + --V Aggiorna il flag Profilo Attivo per i clienti che non hanno ricevuto il report + UPDATE C6MART.CONTRATTOSEI_METADATI + SET profiloAttivo = CASE WHEN (ISNULL(MIFID.SCADUTO,1) = 1) THEN 0 ELSE 1 end + FROM C6MART.CONTRATTOSEI_METADATI + JOIN C6MART.VCONTRATTI + ON VCONTRATTI.CHIAVECLIENTEPB = CONTRATTOSEI_METADATI.CHIAVECLIENTEPB + LEFT JOIN C6MART.MIFID + --ON CONTRATTOSEI_METADATI.chiaveClientePB = MIFID.chiaveClientePB + ON MIFID.RETE = VCONTRATTI.RETE + AND MIFID.COD_FISCALE = VCONTRATTI.COD_FISCALE + WHERE InvioBenvenuto = 'N' +--select * from C6MART.VCONTRATTI + --V Aggiorna i dati di migrazione + UPDATE C6MART.CONTRATTOSEI_METADATI + -------------en 20161026 clienti automaticamente migrati + SET clienteMigrato = 'S' + --case when (C6Staging.RP_Migraz_Pianificazione.chiaveClientePB is null) then 'N' + --else 'S' + --END + FROM C6MART.CONTRATTOSEI_METADATI + LEFT JOIN C6Staging.RP_Pianificazione + ON CONTRATTOSEI_METADATI.chiaveClientePB = C6Staging.RP_Pianificazione.chiaveClientePb + --LEFT JOIN C6Staging.RP_Migraz_Pianificazione + --ON CONTRATTOSEI_METADATI.chiaveClientePB = C6Staging.RP_Migraz_Pianificazione.chiaveClientePb + WHERE InvioBenvenuto = 'N' +-- Profilo Esperienze e Conoscenze EC aggiunto 30/06/2022 +update C6MART.CONTRATTOSEI_METADATI +set PROFILO_EC= case when MIFID.EXPERIENCE>=1 then 1 + when MIFID.EXPERIENCE<1 then 0 + else NULL end +from C6MART.CONTRATTOSEI_METADATI +JOIN C6MART.VCONTRATTI +ON VCONTRATTI.CHIAVECLIENTEPB = CONTRATTOSEI_METADATI.CHIAVECLIENTEPB +LEFT join C6Mart.MIFID +ON MIFID.RETE = VCONTRATTI.RETE +AND MIFID.COD_FISCALE = VCONTRATTI.COD_FISCALE +--fine EC + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_AggiornaFlagContratto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_AggiornaFlagContratto' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_AggiornaFlagContratto_20161026.sql b/sql/storedProduzione/C6Mart_RP_AggiornaFlagContratto_20161026.sql new file mode 100644 index 00000000..7104cfcd --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_AggiornaFlagContratto_20161026.sql @@ -0,0 +1,119 @@ +--select * from C6Mart.CONTRATTOSEI_METADATI +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6Mart].[RP_AggiornaFlagContratto_20161026] +AS +BEGIN +-- SET NOCOUNT ON added to prevent extra result sets from +-- interfering with SELECT statements. +-- SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_AggiornaFlagContratto', + GETDATE(), + 'Elaborazione giornaliera' + ) +/* +select top 1 * +from C6Mart.CONTRATTOSEI_METADATI where risorseNa is null +*/ + --AGGIORNAMENTO TABELLA CONTRATTOSEI + --FLAG RISORSE NON ASSOCIATE + --SOLO PER I CLIENTI A CUI ANDREBBE INVIATO IL REPORT + UPDATE C6Mart.CONTRATTOSEI_METADATI + SET + RisorseNA = + CASE + WHEN CLIENTIRISNA.percRisorseNA >= CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2)) THEN 'S' + ELSE 'N' + END + --AGGIUNTA perchè mancava, FABRIZIO E VALERIO per Azzeramento numero solleciti email + --,NumSolleciti = + -- CASE + -- WHEN (C6.ClienteMigrato = 'S') and (CLIENTIRISNA.percRisorseNA < CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2))) THEN 0 + -- ELSE NumSolleciti + -- END + FROM C6Mart.CONTRATTOSEI_METADATI C6 + JOIN + C6MART.VCONTRATTI VCONTR + ON + C6.CHIAVECLIENTEPB = VCONTR.CHIAVECLIENTEPB + LEFT JOIN ( + SELECT + NA.RETE, + NA.COD_FISCALE, + CASE + WHEN TOT.CTVTOTALE = 0 THEN 0 + ELSE 100 * NA.CTVNA / TOT.CTVTOTALE + END AS percRisorseNA + FROM ( + SELECT + ISNULL(SUM(PATRBF.CTV),0) AS CTVNA, + PATRBF.RETE, PATRBF.COD_FISCALE + FROM C6Mart.PATRIMONIO_BF PATRBF + --INNER JOIN C6Mart.RP_vTuttiIContratti VCONTRATTIPERSEI + -- ON PATRBF.RETE = VCONTRATTIPERSEI.RETE + -- AND PATRBF.COD_FISCALE = VCONTRATTIPERSEI.COD_FISCALE + WHERE ID_AREA = 'Na' + GROUP BY + PATRBF.RETE, PATRBF.COD_FISCALE + ) NA + INNER JOIN ( + SELECT + SUM(PATRBF.CTV) AS CTVTOTALE, + PATRBF.RETE, PATRBF.COD_FISCALE + FROM C6Mart.PATRIMONIO_BF PATRBF + WHERE ID_AREA <> 'Cc' + GROUP BY + PATRBF.RETE, PATRBF.COD_FISCALE + ) TOT + ON TOT.RETE = NA.RETE AND TOT.COD_FISCALE = NA.COD_FISCALE + ) CLIENTIRISNA + ON VCONTR.RETE = CLIENTIRISNA.RETE + AND VCONTR.COD_FISCALE = CLIENTIRISNA.COD_FISCALE + WHERE C6.InvioBenvenuto = 'N' + --V Aggiorna il flag Profilo Attivo per i clienti che non hanno ricevuto il report + UPDATE C6MART.CONTRATTOSEI_METADATI + SET profiloAttivo = CASE WHEN (ISNULL(MIFID.SCADUTO,1) = 1) THEN 0 ELSE 1 end + FROM C6MART.CONTRATTOSEI_METADATI + JOIN C6MART.VCONTRATTI + ON VCONTRATTI.CHIAVECLIENTEPB = CONTRATTOSEI_METADATI.CHIAVECLIENTEPB + LEFT JOIN C6MART.MIFID + --ON CONTRATTOSEI_METADATI.chiaveClientePB = MIFID.chiaveClientePB + ON MIFID.RETE = VCONTRATTI.RETE + AND MIFID.COD_FISCALE = VCONTRATTI.COD_FISCALE + WHERE InvioBenvenuto = 'N' +--select * from C6MART.VCONTRATTI + --V Aggiorna i dati di migrazione + UPDATE C6MART.CONTRATTOSEI_METADATI + SET clienteMigrato = + case when (C6Staging.RP_Migraz_Pianificazione.chiaveClientePB is null) then 'N' + else 'S' + END + FROM C6MART.CONTRATTOSEI_METADATI + LEFT JOIN C6Staging.RP_Migraz_Pianificazione + ON CONTRATTOSEI_METADATI.chiaveClientePB = C6Staging.RP_Migraz_Pianificazione.chiaveClientePb + WHERE InvioBenvenuto = 'N' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_AggiornaFlagContratto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_AggiornaFlagContratto' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_ANAG_CC.sql b/sql/storedProduzione/C6Mart_RP_DM_ANAG_CC.sql new file mode 100644 index 00000000..d9a4a541 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_ANAG_CC.sql @@ -0,0 +1,86 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ANAG_CC] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CC', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_CC + INSERT INTO [C6Mart].[ANAG_CC] + ( +--chiaveClientePB +-- , + [RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDOCONTABILE] + ,[SALDODISPONIBILE] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + -- 20170421 elimina duplicati + --SELECT + SELECT DISTINCT +-- VCONTRATTI.chiaveclientepb, + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + 'BANCA FIDEURAM' AS INTERMEDIARIO, + NULL AS COINTEST, + SPB_CONTR_SINTESI.CONTO AS COD_CC, + NULL AS FASCIA_CPP, + SPB_CONTR_SINTESI.CTV AS SALDOCONTABILE, + -- è diverso da quello restituito dalla contratto sintesi CC.SALDOCONTABILE AS SALDOCONTABILE, + CC.SALDODISPONIBILE AS SALDODISPONIBILE, + SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO C6MART.ANAG_CC + FROM C6STAGING.SPB_CONTR_SINTESI + LEFT JOIN C6MART.VCONTRATTI ON VCONTRATTI.CODICECONTRATTO = SPB_CONTR_SINTESI.CODICECONTRATTO + --V Aggiunta del saldo contabile e disponibile + JOIN C6STAGING.SPB_CONTOCORRENTE CC + ON SPB_CONTR_SINTESI.CONTO = CC.CONTO + AND SPB_CONTR_SINTESI.RETE = CC.RETE + AND SPB_CONTR_SINTESI.CODICEFISCALE = CC.CODICEFISCALE + WHERE SPB_CONTR_SINTESI.TIPOPRODOTTO = 'Cc' AND VCONTRATTI.DATA_FINEAVANZATO is null + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CC' + ) +END +--select * from c6mart.RP_vContrattiNonGenerati \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_ANAG_CC_20170421.sql b/sql/storedProduzione/C6Mart_RP_DM_ANAG_CC_20170421.sql new file mode 100644 index 00000000..1f93fb15 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_ANAG_CC_20170421.sql @@ -0,0 +1,84 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ANAG_CC_20170421] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CC', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_CC + INSERT INTO [C6Mart].[ANAG_CC] + ( +--chiaveClientePB +-- , + [RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDOCONTABILE] + ,[SALDODISPONIBILE] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT +-- VCONTRATTI.chiaveclientepb, + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + 'BANCA FIDEURAM' AS INTERMEDIARIO, + NULL AS COINTEST, + SPB_CONTR_SINTESI.CONTO AS COD_CC, + NULL AS FASCIA_CPP, + SPB_CONTR_SINTESI.CTV AS SALDOCONTABILE, + -- è diverso da quello restituito dalla contratto sintesi CC.SALDOCONTABILE AS SALDOCONTABILE, + CC.SALDODISPONIBILE AS SALDODISPONIBILE, + SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO C6MART.ANAG_CC + FROM C6STAGING.SPB_CONTR_SINTESI + LEFT JOIN C6MART.VCONTRATTI ON VCONTRATTI.CODICECONTRATTO = SPB_CONTR_SINTESI.CODICECONTRATTO + --V Aggiunta del saldo contabile e disponibile + JOIN C6STAGING.SPB_CONTOCORRENTE CC + ON SPB_CONTR_SINTESI.CONTO = CC.CONTO + AND SPB_CONTR_SINTESI.RETE = CC.RETE + AND SPB_CONTR_SINTESI.CODICEFISCALE = CC.CODICEFISCALE + WHERE SPB_CONTR_SINTESI.TIPOPRODOTTO = 'Cc' AND VCONTRATTI.DATA_FINEAVANZATO is null + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CC' + ) +END +--select * from c6mart.RP_vContrattiNonGenerati \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_ANAG_CC_TERZI.sql b/sql/storedProduzione/C6Mart_RP_DM_ANAG_CC_TERZI.sql new file mode 100644 index 00000000..2221a13f --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_ANAG_CC_TERZI.sql @@ -0,0 +1,109 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ANAG_CC_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + --DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + --SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CC_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_CC_TERZI + INSERT INTO [C6Mart].[ANAG_CC_TERZI] + ( +-- chiaveClientePB +-- , + [RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDO] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB]) + --conticorrenti.Saldo, + --conticorrenti.Contocorrente, + --sum (conticorrenti.Saldo) over (partition by conticorrenti.chiaveclientepb) as totalesaldo, + --conticorrenti.Intermediario + --Tutti i ContiCorrenti Terzi non a catalogo + SELECT +-- VCONTRATTI.chiaveclientepb, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + dettProdT.nomeIntermediario AS INTERMEDIARIO, + NULL AS COINTEST, + patrT.nomeProdotto AS COD_CC, + NULL AS FASCIA_CPP, + patrT.ctv AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + --INTO C6MART.ANAG_CC_TERZI + FROM + C6Staging.RP_PatrimonioTerzi patrT, + C6Staging.RP_DettProdottiTerzi dettProdT, + c6staging.RP_AnAlberatura alber, + C6Mart.VCONTRATTI + WHERE + dettProdT.Alberatura = alber.Alberatura + AND dettProdT.chiaveProdotto IS NULL + AND patrT.chiaveProdottoTerzi = dettProdT.chiaveProdottoTerzi + AND patrT.chiaveClientePB = VCONTRATTI.chiaveClientePB + AND alber.Livello3= 'Conti correnti' + AND patrT.tipoProd= 'Assets.FinancialAssets.CurrentAccount' + UNION ALL + --'Conti Correnti Terzi in catalogo' + SELECT +-- VCONTRATTI.chiaveclientepb, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + dettProdT.nomeIntermediario AS INTERMEDIARIO, + NULL AS COINTEST, + patrT.nomeProdotto AS COD_CC, + NULL AS FASCIA_CPP, + patrT.ctv AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + FROM + C6Staging.RP_PatrimonioTerzi patrT, + C6Staging.RP_DettProdottiTerzi dettProdT, + C6Staging.RP_CatalogoProdotti catprod, + C6Mart.VCONTRATTI + WHERE + patrT.chiaveProdottoTerzi = dettprodT.chiaveProdottoTerzi + AND patrT.chiaveClientePB = VCONTRATTI.chiaveClientePB + AND dettprodT.ChiaveProdotto IS NOT NULL + AND catprod.ChiaveProdotto = dettprodT.ChiaveProdotto + AND catprod.TipoProdotto = 'CC' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CC_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_ANAG_CLIENTI.sql b/sql/storedProduzione/C6Mart_RP_DM_ANAG_CLIENTI.sql new file mode 100644 index 00000000..d0745186 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_ANAG_CLIENTI.sql @@ -0,0 +1,209 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +--select count(*) from c6mart.anag_clienti +CREATE procedure [C6Mart].[RP_DM_ANAG_CLIENTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- DELETE C6MART.ANAG_CLIENTI +-- FROM C6MART.ANAG_CLIENTI +-- INNER JOIN c6staging.RP_Cliente +-- ON ANAG_CLIENTI.chiaveCliente = RP_Cliente.chiaveCliente +-- --ON RP_ANAG_CLIENTI.RETE = RP_Cliente.RETE_PB +-- --AND RP_ANAG_CLIENTI.COD_FISCALE = RP_Cliente.codFis + truncate table C6MART.ANAG_CLIENTI + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'DELETE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + INSERT INTO [C6Mart].[ANAG_CLIENTI] + ( + [RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + distinct + VCONTRATTI.RETE AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + ISNULL(SPB_CLIENTI.NOME,CLI.nome) AS NOME, + ISNULL(SPB_CLIENTI.COGNOME,CLI.cognome) AS COGNOME, + ISNULL(tabNucleo.dtNascita,SPB_CLIENTI.DATADINASCITA) AS DATA_NASCITA, + NULL AS STATO_CIVILE, + tabNucleo.componentiNucleo AS NUM_COMPONENTI, + tabFigli.numFigli AS NUM_FIGLI, + FLOOR(DateDiff(Day, ISNULL(tabNucleo.dtNascita,SPB_CLIENTI.DATADINASCITA), GetDate()) / 365.25) AS ETA, + NULL AS PARTITA_IVA, + SPB_CLIENTI.CITTADINANZA AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(SPB_INDIRIZZI.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(SPB_INDIRIZZI.CITTA, '') AS LOCALITA, + ISNULL(SPB_INDIRIZZI.PROVINCIA, '') AS PROVINCIA, + ISNULL(SPB_INDIRIZZI.CAP, '') AS CAP, + ISNULL(SPB_INDIRIZZI.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + VCONTRATTI.EMAIL AS E_MAIL, + SPB_CLIENTI.DATAATTIVAZIONECLIENTE AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + CASE + WHEN SUBSTRING(VCONTRATTI.COD_FISCALE,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + VCONTRATTI.COD_AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO [C6Mart].[RP_ANAG_CLIENTI] + FROM + C6Mart.VCONTRATTI + LEFT JOIN + (select + COUNT(*) as componentiNucleo, + chiaveClientePB1 as clienteConParentela, + cl.chiaveCliente, + cl.nome, + cl.cognome, + cl.dtNascita + from + C6staging.RP_Parentela p + inner join C6staging.RP_GradoParentela g + on p.idparentela = g.idparentela + inner join C6Staging.RP_ClientePB c + on c.chiaveClientePB = p.chiaveClientePB1 + inner join C6Staging.RP_Cliente cl + on c.chiaveCliente = cl.chiaveCliente + and p.dtfine>getdate() + group by + chiaveClientePB1, cl.chiaveCliente, cl.nome, cl.cognome, cl.dtNascita) tabNucleo + ON + VCONTRATTI.chiaveClientePB = tabNucleo.clienteConParentela + LEFT JOIN + (select + COUNT(*) as numFigli, + chiaveClientePB1 as clienteConParentela, + cl.chiaveCliente, + cl.nome, + cl.cognome, + cl.dtNascita + from + C6staging.RP_Parentela p + inner join C6staging.RP_GradoParentela g + on p.idparentela = g.idparentela + inner join C6Staging.RP_ClientePB c + on c.chiaveClientePB = p.chiaveClientePB1 + inner join C6Staging.RP_Cliente cl + on c.chiaveCliente = cl.chiaveCliente + where + g.descParentela in ('Figlio','Figlia','Figlio del partner','figlia del partner') + and p.dtfine>getdate() + group by + chiaveClientePB1, cl.chiaveCliente, cl.nome, cl.cognome, cl.dtNascita) tabFigli + ON + VCONTRATTI.chiaveClientePB = tabFigli.clienteConParentela + AND + tabFigli.clienteConParentela = tabNucleo.clienteConParentela + LEFT OUTER JOIN + C6STAGING.SPB_CLIENTI + ON + C6STAGING.SPB_CLIENTI.CODICERETE = VCONTRATTI.RETE + AND C6STAGING.SPB_CLIENTI.CODICEFISCALE = VCONTRATTI.COD_FISCALE + LEFT OUTER JOIN + C6STAGING.SPB_INDIRIZZI + ON + C6STAGING.SPB_INDIRIZZI.RETE = VCONTRATTI.RETE + AND C6STAGING.SPB_INDIRIZZI.CODICEFISCALE = VCONTRATTI.COD_FISCALE + JOIN + C6MART.CONTRATTOSEI_METADATI METADATI + ON + VCONTRATTI.CHIAVECLIENTEPB = METADATI.CHIAVECLIENTEPB + LEFT JOIN c6staging.RP_Cliente CLI + ON + VCONTRATTI.COD_FISCALE = CASE + WHEN (LEN(CLI.CODFIS) = 16) THEN CLI.CODFIS + WHEN (LEN(CLI.CODMAN) = 0 AND LEN(CLI.PIVA) > 0) THEN CLI.PIVA + ELSE 'FF@'+CODMAN + END + WHERE + VCONTRATTI.DATA_FINEAVANZATO > getDate() + --AND ISNULL(INVIOBENVENUTO,'N') = 'N' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_ANAG_PRODOTTI.sql b/sql/storedProduzione/C6Mart_RP_DM_ANAG_PRODOTTI.sql new file mode 100644 index 00000000..89f88b44 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_ANAG_PRODOTTI.sql @@ -0,0 +1,82 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ANAG_PRODOTTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_PRODOTTI + INSERT INTO [C6Mart].[ANAG_PRODOTTI] + ( + [COD_PRODOTTO] + ,[COD_ISIN] + ,[PAESE] + ,[ID_AREA] + ,[CAT_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[COD_MAF] + ,[RATING] + ,[COD_ADEGUATEZZA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,DESCR_SGR) + SELECT + CatalogueID AS COD_PRODOTTO, + ISNULL(CodIsin, '') AS COD_ISIN, + NULL AS PAESE, + '' AS ID_AREA, + NULL AS CAT_PRODOTTO, + TipoProdotto AS TIPO_PRODOTTO, + NomeProdotto AS DESCR_PRODOTTO, + PrezzoValuta AS DIV_QUOTAZIONE, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + CodMaf AS COD_MAF, + NULL AS RATING, + CodAdeguatezza AS COD_ADEGUATEZZA, + CodSottoprodotto AS COD_SOTTOPRODOTTO, + ISNULL(CodInterno, '') AS COD_INTERNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + DESCR_SGR as DESCR_SGR + FROM C6Staging.RP_CatalogoProdotti + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_ANAG_PRODOTTI_TERZI.sql b/sql/storedProduzione/C6Mart_RP_DM_ANAG_PRODOTTI_TERZI.sql new file mode 100644 index 00000000..6899dda6 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_ANAG_PRODOTTI_TERZI.sql @@ -0,0 +1,79 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ANAG_PRODOTTI_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_PRODOTTI_TERZI + INSERT INTO [C6Mart].[ANAG_PRODOTTI_TERZI] + ([COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[NOME_PRODOTTO] + ,[ALBERO_PRODOTTI] + ,[COD_ISIN] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[INTERMEDIARIO] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[PAESE] + ,[RATING] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + --C6Mart.VCONTRATTI.chiaveClientePB AS chiaveClientePB, + C6Staging.RP_DettProdottiTerzi.chiaveProdotto AS COD_PRODOTTO, + C6Staging.RP_PatrimonioTerzi.chiaveProdottoTerzi AS COD_PRODOTTO_TERZI, + C6Staging.RP_PatrimonioTerzi.nomeProdotto AS NOME_PRODOTTO, + NULL AS ALBERO_PRODOTTI, + NULL AS COD_ISIN, + C6Staging.RP_PatrimonioTerzi.tipoprod AS DESCR_PRODOTTO, + NULL AS DIV_QUOTAZIONE, + NULL AS INTERMEDIARIO, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + NULL AS PAESE, + NULL AS RATING, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO C6MART.ANAG_PRODOTTI_TERZI + FROM C6Staging.RP_DettProdottiTerzi + INNER JOIN C6Staging.RP_PatrimonioTerzi + ON C6Staging.RP_DettProdottiTerzi.chiaveProdottoTerzi = C6Staging.RP_PatrimonioTerzi.chiaveProdottoTerzi + INNER JOIN C6Mart.VCONTRATTI + ON C6Staging.RP_PatrimonioTerzi.chiaveClientePB = C6Mart.VCONTRATTI.chiaveClientePB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_ANAG_PRODOTTI_VALUTE.sql b/sql/storedProduzione/C6Mart_RP_DM_ANAG_PRODOTTI_VALUTE.sql new file mode 100644 index 00000000..bf53590c --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_ANAG_PRODOTTI_VALUTE.sql @@ -0,0 +1,52 @@ +CREATE procedure [c6mart].[RP_DM_ANAG_PRODOTTI_VALUTE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_VALUTE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [c6mart].ANAG_PRODOTTI_VALUTE + INSERT INTO [c6mart].[ANAG_PRODOTTI_VALUTE] + SELECT DISTINCT --added by pk 20160506 + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + VALUTE.DIVISA, + CAST (VALUTE.PESO AS DECIMAL (6,3)), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM c6staging.RP_CATALOGOPRODOTTI CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(ChiaveProdotto) AS ChiaveProdotto + FROM c6staging.RP_CATALOGOPRODOTTI CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.ChiaveProdotto = DOPPICATITEMREF.ChiaveProdotto + INNER JOIN + [c6staging].[RP_RDR_VALUTE_DB_DTGIORNALIERI] VALUTE + ON VALUTE.CHIAVEPRODOTTO = CATITEMREF.ChiaveProdotto + where VALUTE.PESO >= -999.099 and VALUTE.PESO <= 999.099 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_ANAG_PROMOTORI.sql b/sql/storedProduzione/C6Mart_RP_DM_ANAG_PROMOTORI.sql new file mode 100644 index 00000000..e19e202e --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_ANAG_PROMOTORI.sql @@ -0,0 +1,112 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ANAG_PROMOTORI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PROMOTORI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_PROMOTORI + INSERT INTO [C6Mart].[ANAG_PROMOTORI] + ([RETE] + ,[ID_PROMOTORE] + ,[LIVELLO] + ,[COD_FISCALE] + ,[PARTITA_IVA] + ,[COGNOME] + ,[NOME] + ,[RAG_SOC] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[COD_ABI] + ,[COD_CAB] + ,[COD_CIN] + ,[COD_CC] + ,[STATO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + PB.RETE AS RETE, + PB.codage AS ID_PROMOTORE, + SPB_NAC.LIVELLONELLAGERARCHIA AS LIVELLO, + NULL AS COD_FISCALE, + NULL AS PARTITA_IVA, + rtrim(ltrim(PB.COGNOME)) AS COGNOME, + rtrim(ltrim(PB.NOME)) AS NOME, + NULL AS RAG_SOC, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + rtrim(ltrim(PB.INDIRIZZO)) AS INDIRIZZO, + rtrim(ltrim(PB.CITTA)) AS LOCALITA, + rtrim(ltrim(PB.PROVINCIA)) AS PROVINCIA, + rtrim(ltrim(PB.CAP)) AS CAP, + NULL AS NAZIONE, + rtrim(ltrim(PB.PREFISSO + PB.TELEFONO1)) AS TEL_RECAPITO, + NULL AS TEL_CELL, + rtrim(ltrim(EMAIL_PB.EMAIL)) AS E_MAIL, + NULL AS COD_ABI, + NULL AS COD_CAB, + NULL AS COD_CIN, + NULL AS COD_CC, + CASE WHEN PF.RETE IS NULL THEN 'ATTIVO' ELSE 'FITTIZIO' END + AS STATO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO C6MART.ANAG_PROMOTORI + FROM C6Staging.RP_anagrafica_promotori PB + --LEFT JOIN C6MART.EMAIL_PB EMAIL_PB + -- ON PB.RETE = EMAIL_PB.RETE + -- AND PB.codage = EMAIL_PB.CODICE + OUTER APPLY (SELECT TOP 1 * FROM C6MART.EMAIL_PB EMAIL_PB1 --MODIFICA INSERITA IN SEGUITO A UN ERRORE PER DUPLICAZINOE DI CHIAVE NELLA TABELLA DI DESTINAZIONE + WHERE PB.RETE = EMAIL_PB1.RETE --LA DUPLICAZIONE SCATURIVA DALLA JOIN CON LA EMAIL_PB SU CUI, PER UNO STESSO AGENTE ERANO PRESENTI + AND PB.codage = EMAIL_PB1.CODICE --UNA MAIL VUOTA E UNA CORRETTAMENTE VALORIZZATA + ORDER BY EMAIL DESC ) EMAIL_PB + LEFT JOIN C6STAGING.SPB_NAC SPB_NAC + ON PB.RETE = SPB_NAC.CODICERETE + AND PB.codage = SPB_NAC.CODICEAGENTE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (PB.codage BETWEEN PF.CODICEDA AND PF.CODICEA) + AND PB.RETE = PF.RETE +WHERE + PB.stato = 'A' + --Aggiunta Valerio non inserisco in anagrafica pb terminati in quanto non hanno il livello + and SPB_NAC.CODICEAGENTE is not null + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PROMOTORI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PROMOTORI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_ASSETCLASS.sql b/sql/storedProduzione/C6Mart_RP_DM_ASSETCLASS.sql new file mode 100644 index 00000000..f7a91a43 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_ASSETCLASS.sql @@ -0,0 +1,69 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from c6mart.assetclass +CREATE procedure [C6Mart].[RP_DM_ASSETCLASS] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ASSETCLASS + SELECT + A.ASSET AS ID_ASSETCLASS, + A.DESCRIZIONE AS DESCRIZIONE, + A.LIVELLO AS LIVELLO, + B.ORDINAMENTO_ASSET AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + --SELECT * + into #temp + FROM C6STAGING.RP_ASSETCLASS A + JOIN + C6Staging.RP_REP_ASSET_1_E_2_ORDINATE B + ON A.ASSET = B.CODICE_ASSET_CLASS_INGRESSO + order by B.ORDINAMENTO_ASSET desc + INSERT INTO [C6Mart].[ASSETCLASS] + ([ID_ASSETCLASS] + ,[DESCRIZIONE] + ,[LIVELLO] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + ID_ASSETCLASS, + DESCRIZIONE, + LIVELLO, + ORDINAMENTO, + ID_ELAB + from #temp order by ORDINAMENTO desc + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSETCLASS' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_ASSETCLASS_TERZI.sql b/sql/storedProduzione/C6Mart_RP_DM_ASSETCLASS_TERZI.sql new file mode 100644 index 00000000..90329332 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_ASSETCLASS_TERZI.sql @@ -0,0 +1,68 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from [C6Mart].[ASSETCLASS_TERZI] +--[C6Mart].[DM_ASSETCLASS_TERZI] +CREATE procedure [C6Mart].[RP_DM_ASSETCLASS_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ASSETCLASS_TERZI + INSERT INTO [C6Mart].[ASSETCLASS_TERZI] + ([ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_ADEGUATEZZA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + B.CODICE_ASSET_CLASS_INGRESSO, + B.CODICE_ISIN, + B.CODICE_MAF, + ISNULL(B.CODICE_ADEGUATEZZA,'$'), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM --C6STAGING.RP_ASSETCLASS A + --JOIN + C6Staging.RP_REP_ASSET_1_E_2_ORDINATE B + --ON A.ASSET = B.CODICE_ASSET_CLASS_INGRESSO + --LTRIM(RTRIM(ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO)) AS ID_ASSETCLASS, + --LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN,'$'))) AS COD_ISIN, + --LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF,'$'))) AS COD_MAF, + --LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA,'$'))) AS COD_ADEGUATEZZA + --, + --@ID_ELAB AS ID_ELAB, + --@TIPO_ELAB AS TIPO_ELAB + --FROM C6STAGING.ALL_ASSET_CLASS_PER_PROMET + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_ASSET_PERC.sql b/sql/storedProduzione/C6Mart_RP_DM_ASSET_PERC.sql new file mode 100644 index 00000000..9d3c7731 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_ASSET_PERC.sql @@ -0,0 +1,87 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ASSET_PERC] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ASSET_PERC + INSERT INTO [C6Mart].[ASSET_PERC] + ( + [COD_PRODOTTO] + ,[ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[LIVELLO] + ,[PERC] + ,[ID_ELAB] +,[TIPO_ELAB] +) + SELECT DISTINCT + --SUBSTRING(con.position_id,1,57) AS COD_PRODOTTO, + --dbo.Crea_positionID(con.codConf, con.conto, con.rubricato, con.custGar, pospor.numPolizza, con.termId, con.anno, con.prog) AS COD_PRODOTTO + cat.CatalogueID AS COD_PRODOTTO + ,LTRIM(RTRIM(ac.Asset)) AS ID_ASSETCLASS + ,cat.CodIsin AS COD_ISIN + ,cat.CodMaf AS COD_MAF + ,cat.CodInterno AS COD_INTERNO + ,cat.CodSottoprodotto AS COD_SOTTOPRODOTTO + ,ac.Livello AS LIVELLO + ,map.Percentuale AS PERC + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + --INTO C6MART.ASSET_PERC + FROM + /* + C6Staging.RP_CONSULENZA AS con + INNER JOIN + C6Staging.RP_PosizioniPortafoglio AS pospor + ON + con.chiaveProgetto = pospor.chiaveProgetto + INNER JOIN*/ + C6Staging.RP_Mappatura AS map + /*ON + pospor.chiaveProdotto = map.ChiaveProdotto*/ + INNER JOIN + C6Staging.RP_AssetClass AS ac + ON + map.Asset = ac.Asset + INNER JOIN + C6Staging.RP_CatalogoProdotti cat + ON + map.ChiaveProdotto = cat.ChiaveProdotto +--WHERE SUBSTRING(con.position_id,1,57) IS NOT NULL --togliere + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSET_PERC' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_ASSET_PERC_TERZI.sql b/sql/storedProduzione/C6Mart_RP_DM_ASSET_PERC_TERZI.sql new file mode 100644 index 00000000..da0dfd06 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_ASSET_PERC_TERZI.sql @@ -0,0 +1,107 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ASSET_PERC_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ASSET_PERC_TERZI + INSERT INTO [C6Mart].[ASSET_PERC_TERZI] + ([COD_PRODOTTO_TERZI] -- + ,[ID_ASSETCLASS] -- + ,[LIVELLO] -- + ,[NOME_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[PERC] -- + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + RP_PatrimonioTerzi.chiaveProdottoTerzi AS COD_PRODOTTO_TERZI, + RP_AssetClass.Asset AS ID_ASSETCLASS, + RP_AssetClass.Livello AS LIVELLO, + NULL AS NOME_PRODOTTO, + NULL AS TIPO_PRODOTTO, + RP_MappaturaPT.percentuale / 100 AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO C6MART.ASSET_PERC_TERZI + FROM + C6Staging.RP_PatrimonioTerzi + INNER JOIN + C6Staging.RP_DettProdottiTerzi + ON + C6Staging.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6Staging.RP_DettProdottiTerzi.chiaveProdottoTerzi + INNER JOIN + C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + ON + C6Staging.RP_DettProdottiTerzi.alberatura = C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + INNER JOIN + C6Staging.RP_MappaturaPT + ON + C6Staging.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6Staging.RP_MappaturaPT.chiaveProdottoTerzi + INNER JOIN + C6Staging.RP_AssetClass + ON + C6Staging.RP_MappaturaPT.asset = C6Staging.RP_AssetClass.Asset + --SELECT DISTINCT + -- PATR_TP.CHIAVE_THR AS COD_PRODOTTO_TERZI, + -- ASS.OID_ AS ID_ASSETCLASS, + -- ASS.ASSETCLASSLEV AS LIVELLO, + -- PATR_TP.NOMEPRODOTTO AS NOME_PRODOTTO, + -- ALBERO.ALBERO_GERARCHIA_3 AS TIPO_PRODOTTO, + -- ACB.BDPERCENTAGE AS PERC, + -- @ID_ELAB AS ID_ELAB, + -- @TIPO_ELAB AS TIPO_ELAB + --FROM + -- C6STAGING.ALL_PATR_TERZI PATR_TP, + -- C6STAGING.ACBDENOTH ACB, + -- C6STAGING.ASSETCLASS ASS, + -- C6STAGING.S4_S5_S13_TRAD_UNTIL_LIV3 ALBERO + --WHERE 1 = 1 + -- AND PATR_TP.CHIAVE_FNC IS NOT NULL + -- AND ALBERO.DESCRIZIONE_ORIGINALE = PATR_TP.DESCRIZIONE_ALBERATURA + -- AND ACB.F_PFINANCIAL_815C0 = PATR_TP.CHIAVE_FNC + -- AND ACB.F_OID__PASSE_CDF1A = ASS.OID_ + -- AND ASS.ASSETCLASSLEV IN (1,2) + -- AND PATR_TP.PRODOTTO_IN_CATALOGO IS NULL + --GROUP BY + -- PATR_TP.CHIAVE_THR, + -- PATR_TP.NOMEPRODOTTO, + -- ASS.OID_, + -- ASS.ASSETCLASSLEV, + -- ALBERO.ALBERO_GERARCHIA_3, + -- ACB.BDPERCENTAGE, + -- ACB.OID_ + --ORDER BY 2,4 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_Benvenuto_Scarti.sql b/sql/storedProduzione/C6Mart_RP_DM_Benvenuto_Scarti.sql new file mode 100644 index 00000000..4d843673 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_Benvenuto_Scarti.sql @@ -0,0 +1,262 @@ +CREATE procedure [C6Mart].[RP_DM_Benvenuto_Scarti] +AS +BEGIN + SET NOCOUNT ON; +-- Truncate table +TRUNCATE TABLE C6Mart.tbNotAllocatedResources; +--truncate table C6MartPeriodico.Benvenuto_Scarti; +-- Insert into tbNotAllocatedResources +INSERT INTO C6Mart.tbNotAllocatedResources (COD_FISCALE, RETE, CTV) +SELECT + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.RETE, + SUM(ISNULL(CTV, 0)) as CTV +FROM + C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT ON + PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE + WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA, 4) + ELSE LEFT(PIRAMIDE_VERT.ID_AREA, 3) + END = PIRAMIDE_MOD.ID_AREA +WHERE + PIRAMIDE_MOD.ID_AREA = 'Na' + AND ISNULL(CTV, 0) > 0 +GROUP BY + PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE; +-- Declare variables +DECLARE @sogliaRfa AS DECIMAL(18, 0); +DECLARE @sogliaRfaDB AS DECIMAL(18, 0); +DECLARE @data_perf AS DATETIME; +DECLARE @nomeRep AS VARCHAR(32); +-- Set variable values +SET @sogliaRfa = (SELECT valore FROM [CONSUNI].[ConsulenzaUnica].[dbo].[param] WHERE parametro = 'sogliaRFA'); +SET @data_perf = '20200401'; +SET @sogliaRfaDB = 0; +SET @nomeRep = (SELECT Reportistica FROM [C6Mart].[TB_Selettore_GetDataThreads]); +-- Insert into Benvenuto_Scarti +INSERT INTO C6Mart.Benvenuto_Scarti +-- Clienti Risorse Non Allocate Problema Allineamento Massivo +SELECT + contratti.Rete as Rete, + contratti.Cod_Agente Cod_Agente, + contratti.Cod_Fiscale Codice_Fiscale, + contratti.CodiceContratto CodiceContratto, + CASE WHEN contratti.tip_contratto = '3' THEN 'DIRECT' ELSE 'SEI' END as Tipologia_Cliente, + 'Problema Allineamento Massivo' as Motivazione, + GETDATE() +FROM + C6Mart.RP_vContrattiPerGenerazioneReport contratti + LEFT JOIN C6Mart.tbNotAllocatedResources as nar ON + contratti.Rete = nar.Rete + AND contratti.Cod_Fiscale = nar.Cod_Fiscale + LEFT JOIN C6Mart.ANAG_CLIENTI clienti ON + contratti.Rete = clienti.Rete + AND contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER JOIN C6Mart.vPatrimoniobfAggregato_SenzaNobPrez patrimonioBF ON + contratti.Rete = patrimonioBF.Rete + AND contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + LEFT OUTER JOIN C6Mart.MIFID MIFID ON + contratti.Rete = MIFID.Rete + AND contratti.Cod_Fiscale = MIFID.Cod_Fiscale +WHERE + 1 = 1 + AND nar.rete IS NOT NULL +UNION ALL +-- Problema DATA QUALITY +SELECT + test.rete, + contratti.Cod_Agente, + test.COD_FISCALE, + contratti.CodiceContratto CodiceContratto, + CASE WHEN contratti.tip_contratto = '3' THEN 'DIRECT' ELSE 'SEI' END as Tipologia_Cliente, + test.Motivo as Motivazione, + GETDATE() +FROM + c6mart.Test_Quality test + INNER JOIN C6Mart.RP_vContrattiPerGenerazioneReport contratti ON + contratti.Rete = test.Rete + AND contratti.Cod_Fiscale = test.Cod_Fiscale +UNION ALL +-- Soglia RFA Non Corretta SEI +SELECT + contratti.Rete as Rete, + contratti.Cod_Agente Cod_Agente, + contratti.Cod_Fiscale Codice_Fiscale, + contratti.CodiceContratto CodiceContratto, + CASE WHEN contratti.tip_contratto = '3' THEN 'DIRECT' ELSE 'SEI' END as Tipologia_Cliente, + 'Soglia RFA Non corretta RFA = ' + CAST(patrimonioBF.ctv AS VARCHAR(100)) as Motivazione, + GETDATE() +FROM + C6Mart.RP_vContrattiPerGenerazioneReport contratti + LEFT JOIN C6Mart.tbNotAllocatedResources as nar ON + contratti.Rete = nar.Rete + AND contratti.Cod_Fiscale = nar.Cod_Fiscale + LEFT JOIN C6Mart.ANAG_CLIENTI clienti ON + contratti.Rete = clienti.Rete + AND contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER JOIN C6Mart.vPatrimoniobfAggregato_SenzaNobPrez patrimonioBF ON + contratti.Rete = patrimonioBF.Rete + AND contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + LEFT OUTER JOIN C6Mart.MIFID MIFID ON + contratti.Rete = MIFID.Rete + AND contratti.Cod_Fiscale = MIFID.Cod_Fiscale +WHERE + 1 = 1 + AND patrimonioBF.ctv < @sogliaRFA + AND contratti.tip_contratto <> 3 + UNION ALL +-- Soglia RFA Non Corretta SEI +SELECT + contratti.Rete as Rete, + contratti.Cod_Agente Cod_Agente, + contratti.Cod_Fiscale Codice_Fiscale, + contratti.CodiceContratto CodiceContratto, + CASE WHEN contratti.tip_contratto = '3' THEN 'DIRECT' ELSE 'SEI' END as Tipologia_Cliente, + 'Soglia RFA Non corretta RFA = ' + CAST(patrimonioBF.ctv AS VARCHAR(100)) as Motivazione, + GETDATE() +FROM + C6Mart.RP_vContrattiPerGenerazioneReport contratti + LEFT JOIN C6Mart.tbNotAllocatedResources as nar ON + contratti.Rete = nar.Rete + AND contratti.Cod_Fiscale = nar.Cod_Fiscale + LEFT JOIN C6Mart.ANAG_CLIENTI clienti ON + contratti.Rete = clienti.Rete + AND contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER JOIN C6Mart.vPatrimoniobfAggregato_SenzaNobPrez patrimonioBF ON + contratti.Rete = patrimonioBF.Rete + AND contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + LEFT OUTER JOIN C6Mart.MIFID MIFID ON + contratti.Rete = MIFID.Rete + AND contratti.Cod_Fiscale = MIFID.Cod_Fiscale +WHERE + 1 = 1 + AND patrimonioBF.ctv <= @sogliaRFADB + AND contratti.tip_contratto = 3 +UNION ALL +-- Lettera di Benvenuto Gia Ricevuta +--SELECT +-- C6.Rete, +-- Cod_Agente, +-- C6.Cod_Fiscale, +-- CodiceContratto, +-- CASE WHEN tip_contratto = '3' THEN 'DIRECT' ELSE 'SEI' END as Tipologia_Cliente, +-- 'Lettera di Benvenuto già inviata' as Motivazione, +-- GETDATE() +--FROM +-- C6Mart.RP_vTuttiIContratti AS C6 +--WHERE +-- 1 = 1 +-- AND (InvioBenvenuto <> 'N') +--UNION ALL +-- Clienti Risorse Non Allocate Problema Allineamento Massivo +SELECT + C6.Rete, + Cod_Agente, + C6.Cod_Fiscale, + CodiceContratto, + CASE WHEN tip_contratto = '3' THEN 'DIRECT' ELSE 'SEI' END as Tipologia_Cliente, + 'Risorse non allocate (Problema allineamento Massivo)' as Motivazione, + GETDATE() +FROM + C6Mart.RP_vTuttiIContratti AS C6 +WHERE + 1 = 1 + AND (ISNULL(RisorseNa, 'N') <> 'N') +UNION ALL +-- Cliente Revocato +SELECT + C6.Rete, + Cod_Agente, + C6.Cod_Fiscale, + CodiceContratto, + CASE WHEN tip_contratto = '3' THEN 'DIRECT' ELSE 'SEI' END as Tipologia_Cliente, + 'Cliente Revocato' as Motivazione, + GETDATE() +FROM + C6Mart.RP_vTuttiIContratti AS C6 +WHERE + 1 = 1 + AND (ISNULL(NumRevoche, 0) <> 0) +UNION ALL +-- Numero giorni perfezionamento non corretto +SELECT + C6.Rete, + Cod_Agente, + C6.Cod_Fiscale, + CodiceContratto, + CASE WHEN tip_contratto = '3' THEN 'DIRECT' ELSE 'SEI' END AS Tipologia_Cliente, + 'Data Di Perfezionamento: ' + ISNULL(CAST(Data_Perf AS VARCHAR(10)), '') + '|' + + ' Giorni che devono passare dal Perfezionamento: ' + CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS VARCHAR(10)) + '|' + + ' Data Prevista di Generazione Report: ' + ISNULL(CAST(dbo.getferiale(DATEADD(d, CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT), CAST(Data_Perf AS DATE))) AS VARCHAR(10)), '') AS Motivazione, + GETDATE() +FROM + C6Mart.RP_vTuttiIContratti AS C6 +WHERE + 1 = 1 + AND (DATEDIFF(d, Data_Perf, GETDATE()) < CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) +UNION ALL +-- Profilo EC Minimo +SELECT + C6.Rete, + Cod_Agente, + C6.Cod_Fiscale, + CodiceContratto, + CASE WHEN tip_contratto = '3' THEN 'DIRECT' ELSE 'SEI' END AS Tipologia_Cliente, + 'Profilo EC Minimo' as Motivazione, + GETDATE() +FROM + C6Mart.RP_vTuttiIContratti AS C6 +WHERE + 1 = 1 + AND Profilo_EC <> 1 +UNION ALL +-- Spiegazione visto che questa SP parte alla fine della generazione del report se nella [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A] (stessa query di sotto ma con meno info) sono presenti dei record significa che c'è qualche errore nella generazione del PDF + SELECT distinct + contratti.Rete + ,contratti.Cod_Agente Agente + ,contratti.Cod_Fiscale CodiceFiscale + ,contratti.CodiceContratto CodiceContratto + ,CASE WHEN contratti.tip_contratto = '3' THEN 'DIRECT' ELSE 'SEI' END AS Tipologia_Cliente + ,'Errore generazione PDF (Controlla Global Error e LogN)' as Motivazione + ,getdate() as Data_Inserimento + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.tbNotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + INNER join C6Mart.vPatrimoniobfAggregato_SenzaNobPrez patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + where 1=1 + and nar.rete is null --pk + and ((patrimonioBF.ctv >= @sogliaRFA or contratti.data_perf < @data_perf) or (patrimonioBF.ctv >= 25000 and contratti.data_inizioavanzato < '20240412')) --rimossa per Fideuram Direct / Direct Banker + and contratti.tip_contratto <> 3 +UNION ALL + SELECT distinct + contratti.Rete + ,contratti.Cod_Agente Agente + ,contratti.Cod_Fiscale CodiceFiscale + ,contratti.CodiceContratto CodiceContratto + ,CASE WHEN contratti.tip_contratto = '3' THEN 'DIRECT' ELSE 'SEI' END AS Tipologia_Cliente + ,'Errore generazione PDF (Controlla Global Error e LogN)' + ,getdate() as Data_Inserimento + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.tbNotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + INNER join C6Mart.vPatrimoniobfAggregato_SenzaNobPrez patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left join c6mart.vcontrattic6 vcontr + on vcontr.codicecontratto = contratti.codicecontratto + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + and contratti.tip_contratto = 3 + AND patrimonioBF.ctv >= @sogliaRFADB + and vcontr.data_perf < @data_perf + and contratti.Cod_Fiscale in (select CODICE_FISCALE from c6staging.VAR_ADEGUATEZZA_INDICATORI) +-- Select all from Benvenuto_Scarti +--SELECT * FROM C6MartPeriodico.Benvenuto_Scarti; +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_BrsClienteESG.sql b/sql/storedProduzione/C6Mart_RP_DM_BrsClienteESG.sql new file mode 100644 index 00000000..dffdfb27 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_BrsClienteESG.sql @@ -0,0 +1,73 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_BrsClienteESG] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_BrsClienteESG', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- declare @data varchar(8) +--set @data= [C6MartPeriodico].[getTrimestre2](getdate(),0) +truncate table C6Mart.BrsClienteESG +insert into [C6StampeCentralizzate].[C6Mart].[BrsClienteESG] +SELECT esg.[rete] + ,esg.[Codice_Fiscale] + ,case when isnull(Sost_E,'N')='N' and isnull(Sost_S,'N')='N' and isnull(Sost_G,'N')='N' then 0 else 1 end as [Preferenza_esg_cliente] + ,case when Sost_E='S' then 'Y' + when Sost_E='N' then 'N' + else 'N' end as + [ESG_E] + ,case when Sost_S='S' then 'Y' + when Sost_S='N' then 'N' + else 'N' end as + [ESG_S] + ,case when Sost_G='S' then 'Y' + when Sost_G='N' then 'N' + else 'N' end as [ESG_G] + ,esg.PesoSostESG as [obiettivo_ESG_minimo] + ,NULL as [ESG_Rating] + ,esg.SostPercE as [ESG_E_perc] + ,esg.SostPercS as [ESG_S_perc] + ,esg.SostPercG as [ESG_G_perc] + FROM C6Mart.SPB_W6CLIESG esg + --SELECT [rete] + -- -- ,[codfis] + -- ,[Preferenza_esg_cliente] + -- ,[ESG_E] + -- ,[ESG_S] + -- ,[ESG_G] + -- ,[obiettivo_ESG_minimo] + -- ,[ESG_Rating] + -- ,[ESG_E_perc] + -- ,[ESG_S_perc] + -- ,[ESG_G_perc] + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[ESG_Metriche_Cliente_IL] + --select * from [C6StampeCentralizzate].[C6StagingPeriodico].[ESG_Metriche_Cliente_IL] + --select * from C6StagingPeriodico.wseian2 + --select * from C6MartPeriodico.W6CLIESG + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_BrsClienteESG' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_BrsClienteESG' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_CHECK_RFA_MINUS.sql b/sql/storedProduzione/C6Mart_RP_DM_CHECK_RFA_MINUS.sql new file mode 100644 index 00000000..a23ece0f --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_CHECK_RFA_MINUS.sql @@ -0,0 +1,168 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_CHECK_RFA_MINUS] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CHECK_RFA_MINUS', + GETDATE(), + 'Elaborazione giornaliera' + ) + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + declare @sogliaRfa as decimal (18,0) + declare @sogliaRfaDB as decimal (18,0) + declare @data_perf as datetime + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + SET @data_perf = '20200401' + SET @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + SET @sogliaRfaDB=0 --SOGLIA RFA per i Fideuram Direct + -- Log esecuzione + -- update consuni.consulenzaUnica.dbo.dettaglioClientePB + -- set flagRfaMinus = 1 + SELECT contratti.rete, vinfo.cod_agente, contratti.Cod_Fiscale, contratti.Piva_Fiduciaria, contratti.CodiceContratto, vinfo.chiaveclientepb,'NSAA' as Decod_Cososp + INTO #flagRfaMinusUno + FROM C6Mart.RP_vTuttiIContratti AS contratti + INNER join C6Mart.vPatrimoniobfAggregato_SenzaNobPrez patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + inner join --consuni.consulenzaUnica.dbo.vinfocliente vinfo + c6mart.vcontratti vinfo + on vinfo.cod_Fiscale = contratti.cod_fiscale + and vinfo.rete = contratti.rete + inner join consuni.consulenzaUnica.dbo.dettaglioClientePB dett + on dett.chiaveclientepb = vinfo.chiaveclientePb + WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + --AND (ISNULL(RisorseNa, 'N') = 'N') + --AND (ISNULL(NumRevoche, 0) = 0) + AND ((DATEDIFF(d,vinfo.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR vinfo.cod_agente='015312') + --AND contratti.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) + AND (((case when patrimonioBF.contocorrente<0 then patrimoniobf.patrimoniosenzacc else patrimoniobf.ctv end) < @sogliaRfa and vinfo.data_perf >= @data_perf and vinfo.DATA_INZIOAVANZATO >= '20240412') + OR ((case when patrimonioBF.contocorrente<0 then patrimoniobf.patrimoniosenzacc else patrimoniobf.ctv end) < '25000' and vinfo.DATA_INZIOAVANZATO < '20240412')) --modificata il 04012020 la fonte del ctv da patrimoniobf.ctv con la case when per escludere i cc negativi dal conto + AND vinfo.TIP_CONTRATTO<>3 --per escludere i fideuram direct che hanno una soglia RFA diversa +union all +SELECT contratti.rete, vinfo.cod_agente, contratti.Cod_Fiscale, contratti.Piva_Fiduciaria, contratti.CodiceContratto, vinfo.chiaveclientepb,'NSAA' --NSAA + FROM C6Mart.RP_vTuttiIContratti AS contratti + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + inner join --consuni.consulenzaUnica.dbo.vinfocliente vinfo + c6mart.vcontratti vinfo + on vinfo.cod_Fiscale = contratti.cod_fiscale + and vinfo.rete = contratti.rete + inner join consuni.consulenzaUnica.dbo.dettaglioClientePB dett + on dett.chiaveclientepb = vinfo.chiaveclientePb + WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + --AND (ISNULL(RisorseNa, 'N') = 'N') + --AND (ISNULL(NumRevoche, 0) = 0) + AND ((DATEDIFF(d,vinfo.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR vinfo.cod_agente='015312') + --AND contratti.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) + AND (case when patrimonioBF.contocorrente<0 then patrimoniobf.patrimoniosenzacc else patrimoniobf.ctv end) < @sogliaRfaDB and vinfo.data_perf >= @data_perf --modificata il 04012020 la fonte del ctv da patrimoniobf.ctv con la case when per escludere i cc negativi dal conto + AND vinfo.TIP_CONTRATTO=3 --per escludere i fideuram direct che hanno una soglia RFA diversa + union ALL + --Modifica Per rafforzamento Azione protezione per la clientela + SELECT contratti.rete, vinfo.cod_agente, contratti.Cod_Fiscale, contratti.Piva_Fiduciaria, contratti.CodiceContratto, vinfo.chiaveclientepb,'NBAM' + FROM C6Mart.RP_vTuttiIContratti AS contratti + inner join c6mart.vcontratti vinfo + on vinfo.cod_Fiscale = contratti.cod_fiscale + and vinfo.rete = contratti.rete + inner join consuni.consulenzaUnica.dbo.dettaglioClientePB dett + on dett.chiaveclientepb = vinfo.chiaveclientePb + WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + AND Profilo_EC<1 + -- and vinfo.TIP_CONTRATTO<>3 Commentato per Rafforzamento Direct 20240531 + --FINE Modifica Per rafforzamento Azione protezione per la clientela + update pb + set pb.flagRfaMinus = 1 , pb.decod_cososp =uno.Decod_Cososp + from consuni.consulenzaUnica.dbo.dettaglioClientePB pb + inner join #flagRfaMinusUno uno on pb.chiaveclientePB=uno.chiaveClientePB + --update consuni.consulenzaUnica.dbo.dettaglioClientePB + --set flagRfaMinus = 0 + SELECT contratti.rete, vinfo.cod_agente, contratti.Cod_Fiscale, contratti.Piva_Fiduciaria, contratti.CodiceContratto, vinfo.chiaveclientepb + INTO #flagRfaMinusZero + FROM C6Mart.RP_vTuttiIContratti AS contratti + INNER join C6Mart.vPatrimoniobfAggregato_SenzaNobPrez patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + inner join --consuni.consulenzaUnica.dbo.vinfocliente vinfo + c6mart.vcontratti vinfo + on vinfo.cod_Fiscale = contratti.cod_fiscale + and vinfo.rete = contratti.rete + inner join consuni.consulenzaUnica.dbo.dettaglioClientePB dett + on dett.chiaveclientepb = vinfo.chiaveclientePb + WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + AND (((case when patrimonioBF.contocorrente<0 then patrimoniobf.patrimoniosenzacc else patrimoniobf.ctv end) >= @sogliaRfa and flagRfaMinus = 1) OR (vinfo.data_perf < @data_perf AND flagRfaMinus = 1)) --modificata il 04012020 la fonte del ctv da patrimoniobf.ctv con la case when per escludere i cc negativi dal conto + AND vinfo.TIP_CONTRATTO<>3 + UNION ALL + SELECT contratti.rete, vinfo.cod_agente, contratti.Cod_Fiscale, contratti.Piva_Fiduciaria, contratti.CodiceContratto, vinfo.chiaveclientepb + FROM C6Mart.RP_vTuttiIContratti AS contratti + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + inner join --consuni.consulenzaUnica.dbo.vinfocliente vinfo + c6mart.vcontratti vinfo + on vinfo.cod_Fiscale = contratti.cod_fiscale + and vinfo.rete = contratti.rete + inner join consuni.consulenzaUnica.dbo.dettaglioClientePB dett + on dett.chiaveclientepb = vinfo.chiaveclientePb + WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + --AND (ISNULL(RisorseNa, 'N') = 'N') + --AND (ISNULL(NumRevoche, 0) = 0) + AND ((DATEDIFF(d,vinfo.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR vinfo.cod_agente='015312') + --AND contratti.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) + AND (((case when patrimonioBF.contocorrente<0 then patrimoniobf.patrimoniosenzacc else patrimoniobf.ctv end) >= @sogliaRfaDB and flagRfaMinus = 1) OR (vinfo.data_perf < @data_perf AND flagRfaMinus = 1)) --modificata il 04012020 la fonte del ctv da patrimoniobf.ctv con la case when per escludere i cc negativi dal conto + AND vinfo.TIP_CONTRATTO=3 + UNION ALL + SELECT contratti.rete, vinfo.cod_agente, contratti.Cod_Fiscale, contratti.Piva_Fiduciaria, contratti.CodiceContratto, vinfo.chiaveclientepb + FROM C6Mart.RP_vTuttiIContratti AS contratti + inner join c6mart.vcontratti vinfo + on vinfo.cod_Fiscale = contratti.cod_fiscale + and vinfo.rete = contratti.rete + inner join consuni.consulenzaUnica.dbo.dettaglioClientePB dett + on dett.chiaveclientepb = vinfo.chiaveclientePb + WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + AND Profilo_EC>=1 + --and vinfo.TIP_CONTRATTO<>3 Commentato per Rafforzamento Direct 20240531 + --select * from #flagRfaMinusUno + --select * from #flagRfaMinusZero + update consuni.consulenzaUnica.dbo.dettaglioClientePB + set flagRfaMinus = 0 , decod_cososp =NULL + where chiaveclientepb in (select chiaveclientepb from #flagRfaMinusZero) + --insert into ltmpRfaMin1 + -- select GETDATE() as DtModFlag, 1 as Flagval ,* from #flagRfaMinusUno + --insert into ltmpRfaMin0 + --select GETDATE() as DtModFlag, 0 as Flagval ,* from #flagRfaMinusZero + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CHECK_RFA_MINUS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_CHECK_RFA_MINUS' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_CHECK_RFA_MINUS_20240412.sql b/sql/storedProduzione/C6Mart_RP_DM_CHECK_RFA_MINUS_20240412.sql new file mode 100644 index 00000000..915da94b --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_CHECK_RFA_MINUS_20240412.sql @@ -0,0 +1,138 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_CHECK_RFA_MINUS_20240412] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CHECK_RFA_MINUS', + GETDATE(), + 'Elaborazione giornaliera' + ) + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + declare @sogliaRfa as decimal (18,0) + declare @sogliaRfaDB as decimal (18,0) + declare @data_perf as datetime + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + SET @data_perf = '20200401' + SET @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + SET @sogliaRfaDB=0 --SOGLIA RFA per i Fideuram Direct + -- Log esecuzione + -- update consuni.consulenzaUnica.dbo.dettaglioClientePB + -- set flagRfaMinus = 1 + SELECT contratti.rete, vinfo.cod_agente, contratti.Cod_Fiscale, contratti.Piva_Fiduciaria, contratti.CodiceContratto, vinfo.chiaveclientepb + INTO #flagRfaMinusUno + FROM C6Mart.RP_vTuttiIContratti AS contratti + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + inner join --consuni.consulenzaUnica.dbo.vinfocliente vinfo + c6mart.vcontratti vinfo + on vinfo.cod_Fiscale = contratti.cod_fiscale + and vinfo.rete = contratti.rete + inner join consuni.consulenzaUnica.dbo.dettaglioClientePB dett + on dett.chiaveclientepb = vinfo.chiaveclientePb + WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + --AND (ISNULL(RisorseNa, 'N') = 'N') + --AND (ISNULL(NumRevoche, 0) = 0) + --AND ((DATEDIFF(d,vinfo.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR vinfo.cod_agente='015312') + --AND contratti.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) + AND ((case when patrimonioBF.contocorrente<0 then patrimoniobf.patrimoniosenzacc else patrimoniobf.ctv end) < @sogliaRfa or Profilo_EC<=1) and vinfo.data_perf >= @data_perf --modificata il 04012020 la fonte del ctv da patrimoniobf.ctv con la case when per escludere i cc negativi dal conto + AND vinfo.TIP_CONTRATTO<>3 --per escludere i fideuram direct che hanno una soglia RFA diversa +union all +SELECT contratti.rete, vinfo.cod_agente, contratti.Cod_Fiscale, contratti.Piva_Fiduciaria, contratti.CodiceContratto, vinfo.chiaveclientepb + FROM C6Mart.RP_vTuttiIContratti AS contratti + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + inner join --consuni.consulenzaUnica.dbo.vinfocliente vinfo + c6mart.vcontratti vinfo + on vinfo.cod_Fiscale = contratti.cod_fiscale + and vinfo.rete = contratti.rete + inner join consuni.consulenzaUnica.dbo.dettaglioClientePB dett + on dett.chiaveclientepb = vinfo.chiaveclientePb + WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + --AND (ISNULL(RisorseNa, 'N') = 'N') + --AND (ISNULL(NumRevoche, 0) = 0) + --AND ((DATEDIFF(d,vinfo.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR vinfo.cod_agente='015312') + --AND contratti.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) + AND (case when patrimonioBF.contocorrente<0 then patrimoniobf.patrimoniosenzacc else patrimoniobf.ctv end) < @sogliaRfaDB and vinfo.data_perf >= @data_perf --modificata il 04012020 la fonte del ctv da patrimoniobf.ctv con la case when per escludere i cc negativi dal conto + AND vinfo.TIP_CONTRATTO=3 --per escludere i fideuram direct che hanno una soglia RFA diversa + update consuni.consulenzaUnica.dbo.dettaglioClientePB + set flagRfaMinus = 1 + where chiaveclientepb in (select chiaveclientepb from #flagRfaMinusUno) + --update consuni.consulenzaUnica.dbo.dettaglioClientePB + --set flagRfaMinus = 0 + SELECT contratti.rete, vinfo.cod_agente, contratti.Cod_Fiscale, contratti.Piva_Fiduciaria, contratti.CodiceContratto, vinfo.chiaveclientepb + INTO #flagRfaMinusZero + FROM C6Mart.RP_vTuttiIContratti AS contratti + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + inner join --consuni.consulenzaUnica.dbo.vinfocliente vinfo + c6mart.vcontratti vinfo + on vinfo.cod_Fiscale = contratti.cod_fiscale + and vinfo.rete = contratti.rete + inner join consuni.consulenzaUnica.dbo.dettaglioClientePB dett + on dett.chiaveclientepb = vinfo.chiaveclientePb + WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + --AND (ISNULL(RisorseNa, 'N') = 'N') + --AND (ISNULL(NumRevoche, 0) = 0) + --AND ((DATEDIFF(d,vinfo.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR vinfo.cod_agente='015312') + --AND contratti.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) + AND (((case when patrimonioBF.contocorrente<0 then patrimoniobf.patrimoniosenzacc else patrimoniobf.ctv end) >= @sogliaRfa and Profilo_EC>=1 and flagRfaMinus = 1) OR (vinfo.data_perf < @data_perf AND flagRfaMinus = 1)) --modificata il 04012020 la fonte del ctv da patrimoniobf.ctv con la case when per escludere i cc negativi dal conto + AND vinfo.TIP_CONTRATTO<>3 + UNION ALL + SELECT contratti.rete, vinfo.cod_agente, contratti.Cod_Fiscale, contratti.Piva_Fiduciaria, contratti.CodiceContratto, vinfo.chiaveclientepb + FROM C6Mart.RP_vTuttiIContratti AS contratti + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + inner join --consuni.consulenzaUnica.dbo.vinfocliente vinfo + c6mart.vcontratti vinfo + on vinfo.cod_Fiscale = contratti.cod_fiscale + and vinfo.rete = contratti.rete + inner join consuni.consulenzaUnica.dbo.dettaglioClientePB dett + on dett.chiaveclientepb = vinfo.chiaveclientePb + WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + --AND (ISNULL(RisorseNa, 'N') = 'N') + --AND (ISNULL(NumRevoche, 0) = 0) + --AND ((DATEDIFF(d,vinfo.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR vinfo.cod_agente='015312') + --AND contratti.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) + AND (((case when patrimonioBF.contocorrente<0 then patrimoniobf.patrimoniosenzacc else patrimoniobf.ctv end) >= @sogliaRfaDB and flagRfaMinus = 1) OR (vinfo.data_perf < @data_perf AND flagRfaMinus = 1)) --modificata il 04012020 la fonte del ctv da patrimoniobf.ctv con la case when per escludere i cc negativi dal conto + AND vinfo.TIP_CONTRATTO=3 + update consuni.consulenzaUnica.dbo.dettaglioClientePB + set flagRfaMinus = 0 + where chiaveclientepb in (select chiaveclientepb from #flagRfaMinusZero) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CHECK_RFA_MINUS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_CHECK_RFA_MINUS' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_CHECK_RFA_MINUS_preRafforzamento.sql b/sql/storedProduzione/C6Mart_RP_DM_CHECK_RFA_MINUS_preRafforzamento.sql new file mode 100644 index 00000000..761a19c1 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_CHECK_RFA_MINUS_preRafforzamento.sql @@ -0,0 +1,138 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_CHECK_RFA_MINUS_preRafforzamento] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CHECK_RFA_MINUS', + GETDATE(), + 'Elaborazione giornaliera' + ) + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + declare @sogliaRfa as decimal (18,0) + declare @sogliaRfaDB as decimal (18,0) + declare @data_perf as datetime + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + SET @data_perf = '20200401' + SET @sogliaRfa = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + SET @sogliaRfaDB=0 --SOGLIA RFA per i Fideuram Direct + -- Log esecuzione + -- update consuni.consulenzaUnica.dbo.dettaglioClientePB + -- set flagRfaMinus = 1 + SELECT contratti.rete, vinfo.cod_agente, contratti.Cod_Fiscale, contratti.Piva_Fiduciaria, contratti.CodiceContratto, vinfo.chiaveclientepb + INTO #flagRfaMinusUno + FROM C6Mart.RP_vTuttiIContratti AS contratti + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + inner join --consuni.consulenzaUnica.dbo.vinfocliente vinfo + c6mart.vcontratti vinfo + on vinfo.cod_Fiscale = contratti.cod_fiscale + and vinfo.rete = contratti.rete + inner join consuni.consulenzaUnica.dbo.dettaglioClientePB dett + on dett.chiaveclientepb = vinfo.chiaveclientePb + WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + --AND (ISNULL(RisorseNa, 'N') = 'N') + --AND (ISNULL(NumRevoche, 0) = 0) + --AND ((DATEDIFF(d,vinfo.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR vinfo.cod_agente='015312') + --AND contratti.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) + AND ((case when patrimonioBF.contocorrente<0 then patrimoniobf.patrimoniosenzacc else patrimoniobf.ctv end) < @sogliaRfa or Profilo_EC<=1) and vinfo.data_perf >= @data_perf --modificata il 04012020 la fonte del ctv da patrimoniobf.ctv con la case when per escludere i cc negativi dal conto + AND vinfo.TIP_CONTRATTO<>3 --per escludere i fideuram direct che hanno una soglia RFA diversa +union all +SELECT contratti.rete, vinfo.cod_agente, contratti.Cod_Fiscale, contratti.Piva_Fiduciaria, contratti.CodiceContratto, vinfo.chiaveclientepb + FROM C6Mart.RP_vTuttiIContratti AS contratti + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + inner join --consuni.consulenzaUnica.dbo.vinfocliente vinfo + c6mart.vcontratti vinfo + on vinfo.cod_Fiscale = contratti.cod_fiscale + and vinfo.rete = contratti.rete + inner join consuni.consulenzaUnica.dbo.dettaglioClientePB dett + on dett.chiaveclientepb = vinfo.chiaveclientePb + WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + --AND (ISNULL(RisorseNa, 'N') = 'N') + --AND (ISNULL(NumRevoche, 0) = 0) + --AND ((DATEDIFF(d,vinfo.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR vinfo.cod_agente='015312') + --AND contratti.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) + AND (case when patrimonioBF.contocorrente<0 then patrimoniobf.patrimoniosenzacc else patrimoniobf.ctv end) < @sogliaRfaDB and vinfo.data_perf >= @data_perf --modificata il 04012020 la fonte del ctv da patrimoniobf.ctv con la case when per escludere i cc negativi dal conto + AND vinfo.TIP_CONTRATTO=3 --per escludere i fideuram direct che hanno una soglia RFA diversa + update consuni.consulenzaUnica.dbo.dettaglioClientePB + set flagRfaMinus = 1 + where chiaveclientepb in (select chiaveclientepb from #flagRfaMinusUno) + --update consuni.consulenzaUnica.dbo.dettaglioClientePB + --set flagRfaMinus = 0 + SELECT contratti.rete, vinfo.cod_agente, contratti.Cod_Fiscale, contratti.Piva_Fiduciaria, contratti.CodiceContratto, vinfo.chiaveclientepb + INTO #flagRfaMinusZero + FROM C6Mart.RP_vTuttiIContratti AS contratti + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + inner join --consuni.consulenzaUnica.dbo.vinfocliente vinfo + c6mart.vcontratti vinfo + on vinfo.cod_Fiscale = contratti.cod_fiscale + and vinfo.rete = contratti.rete + inner join consuni.consulenzaUnica.dbo.dettaglioClientePB dett + on dett.chiaveclientepb = vinfo.chiaveclientePb + WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + --AND (ISNULL(RisorseNa, 'N') = 'N') + --AND (ISNULL(NumRevoche, 0) = 0) + --AND ((DATEDIFF(d,vinfo.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR vinfo.cod_agente='015312') + --AND contratti.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) + AND (((case when patrimonioBF.contocorrente<0 then patrimoniobf.patrimoniosenzacc else patrimoniobf.ctv end) >= @sogliaRfa and Profilo_EC>=1 and flagRfaMinus = 1) OR (vinfo.data_perf < @data_perf AND flagRfaMinus = 1)) --modificata il 04012020 la fonte del ctv da patrimoniobf.ctv con la case when per escludere i cc negativi dal conto + AND vinfo.TIP_CONTRATTO<>3 + UNION ALL + SELECT contratti.rete, vinfo.cod_agente, contratti.Cod_Fiscale, contratti.Piva_Fiduciaria, contratti.CodiceContratto, vinfo.chiaveclientepb + FROM C6Mart.RP_vTuttiIContratti AS contratti + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + inner join --consuni.consulenzaUnica.dbo.vinfocliente vinfo + c6mart.vcontratti vinfo + on vinfo.cod_Fiscale = contratti.cod_fiscale + and vinfo.rete = contratti.rete + inner join consuni.consulenzaUnica.dbo.dettaglioClientePB dett + on dett.chiaveclientepb = vinfo.chiaveclientePb + WHERE (1 = 1) + AND (InvioBenvenuto = 'N') + --AND (ISNULL(RisorseNa, 'N') = 'N') + --AND (ISNULL(NumRevoche, 0) = 0) + --AND ((DATEDIFF(d,vinfo.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT)) OR vinfo.cod_agente='015312') + --AND contratti.Cod_Fiscale IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) + AND (((case when patrimonioBF.contocorrente<0 then patrimoniobf.patrimoniosenzacc else patrimoniobf.ctv end) >= @sogliaRfaDB and flagRfaMinus = 1) OR (vinfo.data_perf < @data_perf AND flagRfaMinus = 1)) --modificata il 04012020 la fonte del ctv da patrimoniobf.ctv con la case when per escludere i cc negativi dal conto + AND vinfo.TIP_CONTRATTO=3 + update consuni.consulenzaUnica.dbo.dettaglioClientePB + set flagRfaMinus = 0 + where chiaveclientepb in (select chiaveclientepb from #flagRfaMinusZero) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CHECK_RFA_MINUS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_CHECK_RFA_MINUS' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_CheckEmail.sql b/sql/storedProduzione/C6Mart_RP_DM_CheckEmail.sql new file mode 100644 index 00000000..c290f62f --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_CheckEmail.sql @@ -0,0 +1,64 @@ +CREATE procedure [C6Mart].[RP_DM_CheckEmail] +AS +BEGIN +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @ID_ELAB INT +DECLARE @MaxInvioSoll as SMALLINT +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') as smallint) +SET @ID_ELAB = C6MART.GETIDELAB() +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) --7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint) --7 +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) + VALUES ('RP_DM_CheckEmail',GETDATE(),'Elaborazione giornaliera') +SELECT E.Email_Id,E.Tipo,E.Data_Generazione,E.Inviata,E.Data_Invio,E.Data_Comunicazione_Host,E.ID_ELAB,C.* +INTO #EMAILCK +FROM C6MART.GESTIONE_EMAIL E INNER JOIN C6MART.VCONTRATTISEI C +ON E.COD_FISCALE=C.COD_FISCALE AND E.RETE=C.RETE +WHERE ISNULL(E.Inviata,'N') <> 'S' +DELETE c6mart.test_logmd WHERE CMD = 'GENERATO GIORNO PRECEDENTE' +INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE) +SELECT 'GENERATO GIORNO PRECEDENTE',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE +Data_Generazione < convert(varchar, GetDate(), 101) +INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE) +SELECT 'EMAIL NOMIG NON CONGRUENTE',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE +Data_Generazione >= convert(varchar, GetDate(), 101) +AND SUBSTRING(TIPO,2,11) = '_SOLL_NOMIG' AND CLIENTEMIGRATO = 'S' +INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE) +SELECT 'EMAIL NOASS NON CONGRUENTE',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE +Data_Generazione >= convert(varchar, GetDate(), 101) +AND SUBSTRING(TIPO,2,11) = '_SOLL_NOASS' AND RISORSENA = 'N' +INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE) +SELECT 'EMAIL NOPRO NON CONGRUENTE',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE +Data_Generazione >= convert(varchar, GetDate(), 101) +AND SUBSTRING(TIPO,2,11) = '_SOLL_NOPRO' AND PROFILOATTIVO = 1 +INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE) +SELECT 'SUPERATO PERIODO DI PERF',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE +Data_Generazione >= convert(varchar, GetDate(), 101) +AND SUBSTRING(TIPO,2,11) IN ('_SOLL_NOMIG','_SOLL_NOASS','_SOLL_NOPRO') +AND DATEDIFF(d,DATA_PERF, GETDATE()) > (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) +INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE) +SELECT 'BLOCCATO CF 01484040488',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE +Data_Generazione >= convert(varchar, GetDate(), 101) +AND COD_FISCALE = '01484040488' +-- Log esecuzione +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CheckEmail' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_CheckEmail' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_Check_GestioneEmailNOPRO.sql b/sql/storedProduzione/C6Mart_RP_DM_Check_GestioneEmailNOPRO.sql new file mode 100644 index 00000000..9f243d6c --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_Check_GestioneEmailNOPRO.sql @@ -0,0 +1,33 @@ +CREATE PROCEDURE [C6Mart].[RP_DM_Check_GestioneEmailNOPRO] +( + @MaxCount INT +) +AS +BEGIN + SET NOCOUNT ON; + -- Inizializza la variabile che conterrà la count della query + DECLARE @CountResult INT; + -- Esegui la query e ottieni la count + SELECT @CountResult = COUNT(*) + FROM C6Mart.gestione_email gest + WHERE id_elab = (SELECT MAX(id_elab) FROM C6Mart.GESTIONE_EMAIL) + AND tipo LIKE '%SOLL%'; + -- Controlla se la count è maggiore del valore massimo consentito e restituisci l'errore in caso affermativo + IF @CountResult > @MaxCount + BEGIN + -- Concatenate the error message with the exact count value + DECLARE @ErrorMessage NVARCHAR(200); + SET @ErrorMessage = CONCAT('Errore: La count è maggiore di ', CAST(@MaxCount AS NVARCHAR(10)), + '. Il valore corrente è ', CAST(@CountResult AS NVARCHAR(10)), '.'); + -- Raise the error + RAISERROR (@ErrorMessage, 16, 1); + RETURN; + END + ELSE + BEGIN + -- Display a message indicating no error and include the current count value + PRINT 'Count <= ' + CAST(@MaxCount AS NVARCHAR(10)) + '. Valore corrente: ' + CAST(@CountResult AS NVARCHAR(10)) + '.'; + -- Or if you prefer, you can use the SELECT statement to return the message as a result set + -- SELECT 'Count <= ' + CAST(@MaxCount AS NVARCHAR(10)) + '. Valore corrente: ' + CAST(@CountResult AS NVARCHAR(10)) + '.' AS Message; + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_DETTAGLIO_ASUL.sql b/sql/storedProduzione/C6Mart_RP_DM_DETTAGLIO_ASUL.sql new file mode 100644 index 00000000..cdd11711 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_DETTAGLIO_ASUL.sql @@ -0,0 +1,100 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_DETTAGLIO_ASUL] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_DETTAGLIO_ASUL', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.DETTAGLIO_ASUL + INSERT INTO [C6Mart].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + ISNULL( + dbo.Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPOPRODOTTO, SPB_ASS_UNIT.CODICEINTERNO, SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE, SPB_ASS_UNIT.CODICEISINSOTTOSTANTE, SPB_ASS_UNIT.CODICESOTTOPRODOTTO), + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODICECONTRATTO AS ID_CONTRATTO, + SPB_ASS_UNIT.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODICEINTERNO AS COD_INTERNO, + SPB_ASS_UNIT.CONTROVALORE AS CTV, + SPB_ASS_UNIT.DATADIRIFERIMENTO AS DATA_RIF, + SPB_ASS_UNIT.ISINFITTIZIO AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.CODICEISINSOTTOSTANTE AS COD_ISIN_SOTT, + SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6STAGING.SPB_CONTR_SINTESI + INNER JOIN + C6STAGING.SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODICECONTRATTO = SPB_ASS_UNIT.CODICECONTRATTO + LEFT OUTER JOIN + C6STAGING.RP_CATALOGOPRODOTTI CAT + ON SPB_ASS_UNIT.CODICEINTERNO = CAT.CODINTERNO + AND SPB_ASS_UNIT.CODICESOTTOPRODOTTO = CAT.CODSOTTOPRODOTTO + AND VISIBILITA=1 + AND (SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = ''and codisin='$' OR ( + SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = CAT.CODADEGUATEZZA AND + SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE = CAT.CODMAF + ) + ) + /* + C6STAGING.CATITEMREF + ON SPB_ASS_UNIT.CODICEINTERNO = CATITEMREF.COD_INTERNO + AND SPB_ASS_UNIT.CODICESOTTOPRODOTTO = CATITEMREF.COD_SOTTOPRODOTTO + AND isvisible=1 + AND (SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = ''and cod_isin='$' OR ( + SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = CATITEMREF.COD_ADEGUATEZZA AND + SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE = CATITEMREF.COD_MAF + ) + )*/ + WHERE + SPB_CONTR_SINTESI.CTV <> 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_DETTAGLIO_ASUL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_DETTAGLIO_ASUL' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_EMAIL_PB.sql b/sql/storedProduzione/C6Mart_RP_DM_EMAIL_PB.sql new file mode 100644 index 00000000..a1e9181a --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_EMAIL_PB.sql @@ -0,0 +1,87 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 26 gennaio 2009 +-- Description: Recupera PB, RM, DM, AM le cui email non sono ancora valorizzate. +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_EMAIL_PB] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_EMAIL_PB', + GETDATE(), + 'Elaborazione giornaliera' + ) + SELECT DISTINCT + CODICI_PB.RETE AS RETE, + CODICI_PB.CODICE AS CODICE, + (CASE CODICI_PB.RETE WHEN 'F' THEN 'R' when 'W' then 'W' ELSE 'P' END) AS PREFISSO, + (CASE CODICI_PB.RETE WHEN 'F' THEN 'R' when 'W' then 'W' ELSE 'P' END) + CODICI_PB.CODICE AS FIRMA +--, +-- CODICI_PB.LIVELLO AS LIVELLO, +-- CODICI_PB.LIV_ORD AS LIV_ORD + FROM + ( + SELECT STRUTTURA.RETE, STRUTTURA.PB CODICE--, 'PB' as LIVELLO, 1 AS LIV_ORD + FROM C6Mart.VCONTRATTI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + UNION + SELECT STRUTTURA.RETE, STRUTTURA.RM CODICE--, 'RM' as LIVELLO, 2 AS LIV_ORD + FROM C6Mart.VCONTRATTI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + UNION + SELECT STRUTTURA.RETE, STRUTTURA.DM CODICE--, 'DM' as LIVELLO, 3 AS LIV_ORD + FROM C6Mart.VCONTRATTI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + UNION + SELECT STRUTTURA.RETE, STRUTTURA.AM CODICE--, 'AM' as LIVELLO, 4 AS LIV_ORD + FROM C6Mart.VCONTRATTI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + ) CODICI_PB + LEFT JOIN C6MART.EMAIL_PB EMAIL_PB_ESISTENTI + ON EMAIL_PB_ESISTENTI.RETE = CODICI_PB.RETE + AND EMAIL_PB_ESISTENTI.CODICE = CODICI_PB.CODICE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (CODICI_PB.CODICE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND CODICI_PB.RETE = PF.RETE + WHERE + --CODICI_PB.CODICE = '014777' and + isnull(EMAIL_PB_ESISTENTI.EMAIL, '') = '' + --AND PF.RETE IS NULL +--togliere + --and CODICI_PB.CODICE not in ('010712','015115','015117','015091','015182','006167','015125','015126','015185','006154','006200') +and CODICI_PB.CODICE not in ('015185') +---eliminato il filtro '010712' +---eliminato il filtro su '015089'--,'015163', 12/08 + --ORDER BY CODICI_PB.LIV_ORD + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_EMAIL_PB' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_EMAIL_PB' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_ESG_ANAG_METRICHE.sql b/sql/storedProduzione/C6Mart_RP_DM_ESG_ANAG_METRICHE.sql new file mode 100644 index 00000000..ac4ca8b9 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_ESG_ANAG_METRICHE.sql @@ -0,0 +1,182 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from c6mart.assetclass +CREATE procedure [C6Mart].[RP_DM_ESG_ANAG_METRICHE] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ESG_ANAG_METRICHE', + GETDATE(), + 'Elaborazione giornaliera' + ) +TRUNCATE TABLE C6STAGING.ESG_ANAG_METRICHE + INSERT INTO [C6STAGING].ESG_ANAG_METRICHE + ( [COD_PRODOTTO] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[CatSFDR] + ,[ESGRating] + ,[TrendESGRating] + ,[LABEL_Green_Bond] + ,[LABEL_Social_Bond] + ,[LABEL_Sustainability_Bond] + ,[LABEL_Transition_Bond] + ,[LABEL_Sust_linked_bond] + ,LABEL_EU_GREEN_BOND_STANDARD + ,[PERC_INVESTIMENTO_TAXONOMY] + ,[PERC_INVESTIMENTO_SFDR] + ,[PERC_INVEST_SFDR_MIN_SUST_E] + ,[PERC_INVEST_SFDR_MIN_SUST_S] + ,[PAI_LAB_A_Emissioni_Gas_Serra] + ,[PAI_LAB_A_Biodiversita] + ,[PAI_LAB_A_Acqua] + ,[PAI_LAB_A_Rifiuti] + ,[PAI_LAB_A_Gov_Ambientale] + ,[PAI_LAB_A_Comb_Fossili] + ,[PAI_LAB_A_Eff_energetica] + ,[PAI_LAB_A_Settore_Immobiliare] + ,[PAI_LAB_S_Questioni_Soc_Dip] + ,[PAI_LAB_S_Gov_Sociali] + ,[U_INFO_ESG] + ,[ID_ELAB] + ,[TIPO_ELAB] + ) + SELECT + --ChiaveProdotto, + CatalogueID AS COD_PRODOTTO, + C.CodSottoprodotto AS COD_SOTTOPRODOTTO, + ISNULL(C.CodInterno, '') AS COD_INTERNO, + C.CodMaf AS COD_MAF, + C.CodAdeguatezza AS COD_ADEGUATEZZA, + ISNULL(C.CodIsin, '') AS COD_ISIN, + case when Ltrim(rtrim(ESG_E)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_E)) = 'N' then 'NO' + else 'NO' end as ESG_E, + case when Ltrim(rtrim(ESG_S)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_S)) = 'N' then 'NO' + else 'NO' end as ESG_S, + case when Ltrim(rtrim(ESG_G)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_G)) = 'N' then 'NO' + else 'NO' end as ESG_G, + case when CatSFDR='-' then '' else substring(CatSFDR,1,5) +' SFDR' end as CatSFDR, + Ltrim(rtrim(ESGRating)) as ESGRating , + Ltrim(rtrim(TrendESGRating)) as TrendESGRating, + case when LABEL_Green_Bond<> '-' then 'Green Bond' else '' end as LABEL_Green_Bond, + case when LABEL_Social_Bond<> '-' then 'Social Bond' else '' end as LABEL_Social_Bond, + case when LABEL_Sustainability_Bond<> '-' then 'Sustainability Bond' else '' end as LABEL_Sustainability_Bond, + case when LABEL_Transition_Bond<> '-' then 'Transition Bond' else '' end as LABEL_Transition_Bond, + case when LABEL_Sust_linked_bond<> '-' then 'Sustainability Linked Bond' else '' end as LABEL_Sust_linked_bond, + case when LABEL_EU_GREEN_BOND_STANDARD<> '-' then 'EU Green Bond Standard' else '' end as LABEL_EU_GREEN_BOND_STANDARD, + PERC_INVESTIMENTO_TAXONOMY *100 as PERC_INVESTIMENTO_TAXONOMY, + PERC_INVESTIMENTO_SFDR * 100 as PERC_INVESTIMENTO_SFDR, + [PERC_INVEST_SFDR_MIN_SUST_E] * 100 as PERC_INVEST_SFDR_MIN_SUST_E , + [PERC_INVEST_SFDR_MIN_SUST_S] * 100 as PERC_INVEST_SFDR_MIN_SUST_S, + case when PAI_LAB_A_Emissioni_Gas_Serra<>'-' then 'Emissioni Gas Serra' else '' end as PAI_LAB_A_Emissioni_Gas_Serra, + case when PAI_LAB_A_Biodiversita<>'-' then 'Biodiversità' else '' end as PAI_LAB_A_Biodiversita, + case when PAI_LAB_A_Acqua<>'-' then 'Acqua' else '' end as PAI_LAB_A_Acqua, + case when PAI_LAB_A_Rifiuti<>'-' then 'Rifiuti' else '' end as PAI_LAB_A_Rifiuti, + case when PAI_LAB_A_Gov_Ambientale<>'-' then 'Governativi di tipo Ambientale' else '' end as PAI_LAB_A_Gov_Ambientale, + case when PAI_LAB_A_Comb_Fossili<>'-' then 'Combustibili Fossili' else '' end as PAI_LAB_A_Comb_Fossili, + case when PAI_LAB_A_Eff_energetica<>'-' then 'Efficienza Energetica' else '' end as PAI_LAB_A_Eff_energetica, + case when PAI_LAB_A_Settore_Immobiliare <>'-' then 'Settore Immobiliare' else '' end as PAI_LAB_A_Settore_Immobiliare, + case when PAI_LAB_S_Questioni_Soc_Dip<>'-' then 'Questioni Sociali e dei Dipendenti' else '' end as PAI_LAB_S_Questioni_Soc_Dip, + case when PAI_LAB_S_Gov_Sociali<>'-' then 'Governativi di tipo Sociale' else '' end as PAI_LAB_S_Gov_Sociali, + case when U_INFO_ESG='TOOL_01' then 'Nota1' + when U_INFO_ESG='TOOL_02' then 'Nota2' + else '' end as U_INFO_ESG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6Staging.RP_CatalogoProdotti c + Inner Join C6Staging.RP_TB_ESG_ANAG_STRUM a + ON c.ChiaveProdotto = a.ChiaveProdotto +UPDATE m1 +SET m1.label_pai_a = NULLIF(CONCAT_WS(', ', + NULLIF(m2.PAI_LAB_A_Emissioni_Gas_Serra, ''), + NULLIF(m2.PAI_LAB_A_Biodiversita, ''), + NULLIF(m2.PAI_LAB_A_Acqua, ''), + NULLIF(m2.PAI_LAB_A_Rifiuti, ''), + NULLIF(m2.PAI_LAB_A_Gov_Ambientale, ''), + NULLIF(m2.PAI_LAB_A_Settore_Immobiliare, '') + --NULLIF(m2.PAI_LAB_A_Comb_Fossili, ''), + --NULLIF(m2.PAI_LAB_A_Eff_energetica, '') + -- NULLIF(m2.PAI_LAB_S_Questioni_Soc_Dip, ''), + -- NULLIF(m2.PAI_LAB_S_Gov_Sociali, '') + ), '') +FROM C6STAGING.ESG_ANAG_METRICHE m1 +INNER JOIN C6STAGING.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') +UPDATE m1 +SET m1.label_pai_s = NULLIF(CONCAT_WS(', ', + NULLIF(m2.PAI_LAB_S_Questioni_Soc_Dip, ''), + NULLIF(m2.PAI_LAB_S_Gov_Sociali, '') + ), '') +FROM C6STAGING.ESG_ANAG_METRICHE m1 +INNER JOIN C6STAGING.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') + --select * from C6STAGING.ESG_ANAG_METRICHE +UPDATE m1 +SET m1.Label_U_INFO_ESG = NULLIF(CONCAT_WS(', ', + NULLIF(m2.LABEL_Green_Bond, ''), + NULLIF(m2.Label_Social_Bond, ''), + NULLIF(m2.Label_Sustainability_Bond, ''), + NULLIF(m2.Label_Transition_Bond, ''), + NULLIF(m2.Label_Sust_linked_Bond, ''), + NULLIF(m2.Label_EU_Green_Bond_Standard, ''), + NULLIF(m2.CatSFDR, ''), + NULLIF(m2.U_INFO_ESG, '') + ), '') +FROM C6STAGING.ESG_ANAG_METRICHE m1 +INNER JOIN C6STAGING.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ESG_ANAG_METRICHE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ESG_ANAG_METRICHE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4.sql b/sql/storedProduzione/C6Mart_RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4.sql new file mode 100644 index 00000000..8f0c0506 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4.sql @@ -0,0 +1,175 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from c6mart.assetclass +CREATE procedure [C6Mart].[RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ESG_ANAG_METRICHE', + GETDATE(), + 'Elaborazione giornaliera' + ) +TRUNCATE TABLE C6STAGING.ESG_ANAG_METRICHE + INSERT INTO [C6STAGING].ESG_ANAG_METRICHE + ( [COD_PRODOTTO] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[CatSFDR] + ,[ESGRating] + ,[TrendESGRating] + ,[LABEL_Green_Bond] + ,[LABEL_Social_Bond] + ,[LABEL_Sustainability_Bond] + ,[LABEL_Transition_Bond] + ,[LABEL_Sust_linked_bond] + ,LABEL_EU_GREEN_BOND_STANDARD + ,[PERC_INVESTIMENTO_TAXONOMY] + ,[PERC_INVESTIMENTO_SFDR] + ,[PAI_LAB_A_Emissioni_Gas_Serra] + ,[PAI_LAB_A_Biodiversita] + ,[PAI_LAB_A_Acqua] + ,[PAI_LAB_A_Rifiuti] + ,[PAI_LAB_A_Gov_Ambientale] + ,[PAI_LAB_A_Comb_Fossili] + ,[PAI_LAB_A_Eff_energetica] + ,[PAI_LAB_S_Questioni_Soc_Dip] + ,[PAI_LAB_S_Gov_Sociali] + ,[U_INFO_ESG] + ,[ID_ELAB] + ,[TIPO_ELAB] + ) + SELECT + --ChiaveProdotto, + CatalogueID AS COD_PRODOTTO, + C.CodSottoprodotto AS COD_SOTTOPRODOTTO, + ISNULL(C.CodInterno, '') AS COD_INTERNO, + C.CodMaf AS COD_MAF, + C.CodAdeguatezza AS COD_ADEGUATEZZA, + ISNULL(C.CodIsin, '') AS COD_ISIN, + case when Ltrim(rtrim(ESG_E)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_E)) = 'N' then 'NO' + else 'NO' end as ESG_E, + case when Ltrim(rtrim(ESG_S)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_S)) = 'N' then 'NO' + else 'NO' end as ESG_S, + case when Ltrim(rtrim(ESG_G)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_G)) = 'N' then 'NO' + else 'NO' end as ESG_G, + case when CatSFDR='-' then '' else substring(CatSFDR,1,5) +' SFDR' end as CatSFDR, + Ltrim(rtrim(ESGRating)) as ESGRating , + Ltrim(rtrim(TrendESGRating)) as TrendESGRating, + case when LABEL_Green_Bond<> '-' then 'Green Bond' else '' end as LABEL_Green_Bond, + case when LABEL_Social_Bond<> '-' then 'Social Bond' else '' end as LABEL_Social_Bond, + case when LABEL_Sustainability_Bond<> '-' then 'Sustainability Bond' else '' end as LABEL_Sustainability_Bond, + case when LABEL_Transition_Bond<> '-' then 'Transition Bond' else '' end as LABEL_Transition_Bond, + case when LABEL_Sust_linked_bond<> '-' then 'Sustainability Linked Bond' else '' end as LABEL_Sust_linked_bond, + case when LABEL_EU_GREEN_BOND_STANDARD<> '-' then 'EU Green Bond Standard' else '' end as LABEL_EU_GREEN_BOND_STANDARD, + PERC_INVESTIMENTO_TAXONOMY *100 as PERC_INVESTIMENTO_TAXONOMY, + PERC_INVESTIMENTO_SFDR * 100 as PERC_INVESTIMENTO_SFDR, + case when PAI_LAB_A_Emissioni_Gas_Serra<>'-' then 'Emissioni Gas Serra' else '' end as PAI_LAB_A_Emissioni_Gas_Serra, + case when PAI_LAB_A_Biodiversita<>'-' then 'Biodiversità' else '' end as PAI_LAB_A_Biodiversita, + case when PAI_LAB_A_Acqua<>'-' then 'Acqua' else '' end as PAI_LAB_A_Acqua, + case when PAI_LAB_A_Rifiuti<>'-' then 'Rifiuti' else '' end as PAI_LAB_A_Rifiuti, + case when PAI_LAB_A_Gov_Ambientale<>'-' then 'Governativi Ambientali' else '' end as PAI_LAB_A_Gov_Ambientale, + case when PAI_LAB_A_Comb_Fossili<>'-' then 'Combustibili Fossili' else '' end as PAI_LAB_A_Comb_Fossili, + case when PAI_LAB_A_Eff_energetica<>'-' then 'Efficienza Energetica' else '' end as PAI_LAB_A_Eff_energetica, + case when PAI_LAB_S_Questioni_Soc_Dip<>'-' then 'Questioni Sociali e dei Dipendenti' else '' end as PAI_LAB_S_Questioni_Soc_Dip, + case when PAI_LAB_S_Gov_Sociali<>'-' then 'Governativi Sociali' else '' end as PAI_LAB_S_Gov_Sociali, + case when U_INFO_ESG='TOOL_01' then 'Nota1' + when U_INFO_ESG='TOOL_02' then 'Nota2' + else '' end as U_INFO_ESG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6Staging.RP_CatalogoProdotti c + Inner Join C6Staging.RP_TB_ESG_ANAG_STRUM a + ON c.ChiaveProdotto = a.ChiaveProdotto +UPDATE m1 +SET m1.label_pai_a = NULLIF(CONCAT_WS(', ', + NULLIF(m2.PAI_LAB_A_Emissioni_Gas_Serra, ''), + NULLIF(m2.PAI_LAB_A_Biodiversita, ''), + NULLIF(m2.PAI_LAB_A_Acqua, ''), + NULLIF(m2.PAI_LAB_A_Rifiuti, ''), + NULLIF(m2.PAI_LAB_A_Gov_Ambientale, ''), + NULLIF(m2.PAI_LAB_A_Comb_Fossili, ''), + NULLIF(m2.PAI_LAB_A_Eff_energetica, '') + -- NULLIF(m2.PAI_LAB_S_Questioni_Soc_Dip, ''), + -- NULLIF(m2.PAI_LAB_S_Gov_Sociali, '') + ), '') +FROM C6STAGING.ESG_ANAG_METRICHE m1 +INNER JOIN C6STAGING.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') +UPDATE m1 +SET m1.label_pai_s = NULLIF(CONCAT_WS(', ', + NULLIF(m2.PAI_LAB_S_Questioni_Soc_Dip, ''), + NULLIF(m2.PAI_LAB_S_Gov_Sociali, '') + ), '') +FROM C6STAGING.ESG_ANAG_METRICHE m1 +INNER JOIN C6STAGING.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') + --select * from C6STAGING.ESG_ANAG_METRICHE +UPDATE m1 +SET m1.Label_U_INFO_ESG = NULLIF(CONCAT_WS(', ', + NULLIF(m2.LABEL_Green_Bond, ''), + NULLIF(m2.Label_Social_Bond, ''), + NULLIF(m2.Label_Sustainability_Bond, ''), + NULLIF(m2.Label_Transition_Bond, ''), + NULLIF(m2.Label_Sust_linked_Bond, ''), + NULLIF(m2.Label_EU_Green_Bond_Standard, ''), + NULLIF(m2.CatSFDR, ''), + NULLIF(m2.U_INFO_ESG, '') + ), '') +FROM C6STAGING.ESG_ANAG_METRICHE m1 +INNER JOIN C6STAGING.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ESG_ANAG_METRICHE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ESG_ANAG_METRICHE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_GestioneEmail.sql b/sql/storedProduzione/C6Mart_RP_DM_GestioneEmail.sql new file mode 100644 index 00000000..387450c1 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_GestioneEmail.sql @@ -0,0 +1,255 @@ +--delete from c6mart.gestione_Email where data_Generazione > getDate()-1 +--truncate table log_esecuzione +--select * from log_esecuzione +CREATE procedure [C6Mart].[RP_DM_GestioneEmail] +AS +BEGIN +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- PERFEZIONAMENTO; +-- MANCATA MIGRAZIONE; +-- REINVIO SOLLECITO MANCATA MIGRAZIONE. +--LA GESTIONE DELLE EMAIL PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO O +--PER REINVIO DEL SOLLECITO PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO +--VIENE FATTA DOPO L'ALLINEAMENTO CON I DATI DEL SIMPB +--ESTRAZIONE EMAIL PERFEZIONAMENTO +--TIPO EMAIL: "PERF" +--L'EMAIL VIENE INVIATA PER TUTTI I CLIENTI CHE HANNO DATA DI PERFEZIONAMENTO VALORIZZATA +--IL CONTROLLO SULLA DATA DI GENERAZIONE >= DELLA DATA DI PERFEZIONAMENTO E' DOVUTO AL +--FATTO CHE IL CONTRATTO PUO` ESSERE CHIUSO E RIAPERTO ED IN QUESTO CASO LA MAIL DI PERFEZIONAMENTO +--DEVE ESSERE REINVIATA +-- EMAIL DI ADESIONE AL SERVIZIO SEI +-- TIPO EMAIL 'PERF' +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @ID_ELAB INT +DECLARE @MaxInvioSoll as SMALLINT +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') as smallint) +SET @ID_ELAB = C6MART.GETIDELAB() +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) --7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint) --7 +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - Mail Perf',GETDATE(),'Elaborazione giornaliera') +--0. MODIFICO I RECORD IN GESTIONE EMAIL CON TIPO = PERF PER EVITARE IL REINVIO MULTIPLO A SEGUITO DELLA RIATTIVAZIONE +--UPDATE C6MART.GESTIONE_EMAIL +--SET TIPO = 'OLD' +--FROM C6MART.Gestione_EMAIL EMAIL +-- INNER JOIN C6MART.VCONTRATTI VC +-- ON VC.COD_FISCALE = EMAIL.COD_FISCALE +-- AND VC.rete = EMAIL.RETE +-- AND EMAIL.TIPO = 'PERF' +-- INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC +-- ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +-- AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO = '9999-12-31 00:00:00.000' +-- AND MC.Tip_riattivazione = 1 +--1. INSERIMENTO MAIL DI "PERFEZIONAMENTO" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- NON PRESENTI SU GESTIONE_EMAIL +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione, ID_ELAB) +-------------------------------------------------------------------------CLIENTI SEI-------------------------------------------------------------------------------- +SELECT + VC.Rete, + VC.Cod_Fiscale, + 'PERF' as TipoEmail, + GETDATE() AS DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6Mart.VCONTRATTI VC +INNER JOIN C6Mart.CONTRATTOSEI_METADATI MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb +LEFT JOIN C6Mart.GESTIONE_EMAIL EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + AND EMAIL.TIPO = 'PERF' + AND EMAIL.Data_Generazione >= VC.Data_Perf -- CONDIZIONE PER ESCLUDERE DAL JOIN UN CONTRATTO CHIUSO E RIAPERTO. +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF -- IN QUESTO MODO LO INSERIAMO NUOVAMENTE IN GESTIONE_MAIL. + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + --AND VC.InvioBenvenuto = 'N' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND EMAIL.COD_FISCALE IS NULL + AND PF.RETE IS NULL + and vc.TIP_CONTRATTO<>3 + ---------------------------------------------------------------------FINE CLIENTI SEI------------------------------------------------------------ +union all + ---------------------------------------------------------------------CLIENTI REMOTE ADVISORY-------------------------------------------------------- +SELECT + VC.Rete, + VC.Cod_Fiscale, + 'PERF_DA' as TipoEmail, + GETDATE() AS DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6Mart.VCONTRATTI VC +INNER JOIN C6Mart.CONTRATTOSEI_METADATI MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb +LEFT JOIN C6Mart.GESTIONE_EMAIL EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + AND EMAIL.TIPO = 'PERF_DA' + AND EMAIL.Data_Generazione >= VC.Data_Perf -- CONDIZIONE PER ESCLUDERE DAL JOIN UN CONTRATTO CHIUSO E RIAPERTO. +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF -- IN QUESTO MODO LO INSERIAMO NUOVAMENTE IN GESTIONE_MAIL. + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + --AND VC.InvioBenvenuto = 'N' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND EMAIL.COD_FISCALE IS NULL + AND PF.RETE IS NULL + and vc.TIP_CONTRATTO=3 + ---------------------------------------------------------------------FINE CLIENTI REMOTE ADVISORY-------------------------------------------------------- +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'INSERT',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf' AND + Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf') +--------en +--------INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) +-------- VALUES ('RP_DM_GestioneEmail - SollecitiNOMIG',GETDATE(),'Elaborazione giornaliera') +---------- 2. INSERIMENTO MAIL "SOLLECITI" +---------- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +---------- E PRESENTI SU GESTIONE_EMAIL +---------- IL PB NON HA EFFETTUATO LA MIGRAZIONE +---------- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO è NULL -> CONSIDERIAMO DATA_PERF +--------INSERT INTO C6Mart.GESTIONE_EMAIL +-------- (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +--------SELECT +-------- VC.rete, +-------- VC.cod_fiscale, +-------- CASE +-------- WHEN ISNULL(MD.numSolleciti,0) = 0 THEN '1_SOLL_NOMIG' +-------- WHEN MD.numSolleciti = 1 THEN '2_SOLL_NOMIG' +-------- WHEN MD.numSolleciti = 2 THEN '3_SOLL_NOMIG' +-------- ELSE 'S_SOLL_NOMIG' +-------- END as tipoEmail, +-------- getDate() as DataGenerazione, +-------- @ID_ELAB AS ID_ELAB +--------FROM C6Mart.VCONTRATTI VC +--------INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +-------- ON MD.chiaveclientepb = VC.chiaveclientepb +--------LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF +-------- ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA +-------- AND VC.RETE = PF.RETE +--------WHERE 1 = 1 +-------- AND MD.numSolleciti < @MaxInvioSoll +-------- AND ( +-------- (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) +-------- OR +-------- (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) +-------- ) +-------- AND MD.clienteMigrato = 'N' +-------- AND MD.InvioBenvenuto = 'N' +-------- AND VC.Data_FineAvanzato > getDate() +-------- --AND MD.GenerazioneReport = 'S' +-------- AND PF.RETE IS NULL +---------- 2.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" +---------- AUMENTIAMO IL NUMERO numSolleciti +---------- AGGIORNIAMO LA DATA Data_UltimoSollecito +--------UPDATE +-------- c6mart.[CONTRATTOSEI_METADATI] +--------SET +-------- numSolleciti = isnull(numSolleciti,0) + 1, +-------- Data_UltimoSollecito = getDate() +--------FROM C6Mart.vcontratti VC +--------INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +-------- ON MD.ChiaveClientePb = VC.ChiaveClientePb +--------LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF +-------- ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA +-------- AND VC.RETE = PF.RETE +--------WHERE 1 = 1 +-------- AND MD.numSolleciti < @MaxInvioSoll +-------- AND ( +-------- (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) +-------- OR +-------- (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) +-------- ) +-------- AND MD.clienteMigrato = 'N' +-------- AND MD.InvioBenvenuto = 'N' -- richiesto da Tringali per non inviare mail se report già inviato +-------- AND VC.Data_FineAvanzato > getDate() +-------- --AND VC.GenerazioneReport = 'S' +-------- AND PF.RETE IS NULL +---------- Log esecuzione +--------UPDATE LOG_ESECUZIONE +--------SET Fine = GETDATE(),Tipo = 'UPDATE',Righe = @@ROWCOUNT +--------WHERE Nome = 'RP_DM_GestioneEmail - SollecitiNOMIG' AND Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - SollecitiNOMIG') +----------------en +INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - Mail Revoca',GETDATE(),'Elaborazione giornaliera') +-- 3. INSERIMENTO MAIL "REVOCA" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE DOPO @MaxInvioSoll SOLLECITI +-- N.B. OCCHIO ALLA CONDIZIONE -> (c6.clienteMigrato = 'N' AND numSolleciti = @MaxInvioSoll) OR numSolleciti > @MaxInvioSoll +-- OVVERO: BUONA LA MIGRAZIONE EFFETTUATA DOPO L'ULTIMO SOLLECITO MA NON DOPO LA PRIMA REVOCA +--rimosso perche dava errori/ da attivare eventualmente +--INSERT INTO C6Mart.GESTIONE_EMAIL +-- (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +--SELECT +-- email.rete, +-- email.cod_fiscale, +-- 'REVOCA_NOMIG' as tipoEmail, +-- getDate() as DataGenerazione, +-- @ID_ELAB AS ID_ELAB --max(Data_Generazione) +--FROM C6Mart.vcontratti VC +--INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +-- ON MD.chiaveclientepb = VC.chiaveclientepb +--INNER JOIN c6mart.gestione_Email EMAIL +-- ON VC.RETE = EMAIL.RETE +-- AND VC.COD_FISCALE = EMAIL.COD_FISCALE +--LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF +-- ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA +-- AND VC.RETE = PF.RETE +--WHERE 1 = 1 +-- AND EMAIL.Tipo IN ('S_SOLL_NOMIG','REVOCA_NOMIG') +-- AND ( +-- (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO +-- OR +-- (MD.numSolleciti = @MaxInvioSoll and MD.clienteMigrato = 'N')-- SONO NEL CASO DI PRIMA REVOCA +-- ) +-- AND VC.Data_FineAvanzato > getDate() +-- --AND VC.GenerazioneReport = 'S' +-- AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) +-- AND PF.RETE IS NULL +--GROUP BY email.rete, email.cod_fiscale +--rimosso perche dava errori/ da attivare eventualmente +-- 3.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "REVOCA" +-- AUMENTIAMO IL NUMERO numSolleciti +-- NON AGGIORNIAMO LA DATA Data_UltimoSollecito +-- N.B. VERIFICARE SE IL CAMPO Data_UltimoSollecito VA AGGIORNATO +UPDATE c6mart.[CONTRATTOSEI_METADATI] +SET + numRevoche = isnull(numRevoche,0) + 1, + data_UltimaRevoca = getDate() +FROM C6Mart.vcontratti VC +INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb +INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOMIG','REVOCA_NOMIG') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.clienteMigrato = 'N')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + update C6Mart.GESTIONE_EMAIL + set Inviata = 'S', Data_Invio = getdate() + where Cod_Fiscale = 'CRCTMS62A05H501D' +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'INSERT',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - Mail Revoca' AND Inizio = ( + SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - Mail Revoca') +COMMIT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_GestioneEmailNA.sql b/sql/storedProduzione/C6Mart_RP_DM_GestioneEmailNA.sql new file mode 100644 index 00000000..52398c87 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_GestioneEmailNA.sql @@ -0,0 +1,148 @@ +CREATE PROCEDURE [C6Mart].[RP_DM_GestioneEmailNA] +AS +BEGIN +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)--7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT)--12 +SET @ID_ELAB = C6MART.GETIDELAB() + INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmailNA_AND',GETDATE(),'Elaborazione giornaliera') +BEGIN TRANSACTION + SELECT DISTINCT ChiaveClientePB + INTO #CaricamentoMassivoC6SC + FROM [CONSUNI].ConsulenzaUnicaFL.dbo.CaricamentoMassivoC6SC WHERE ESITO = 0 AND CHIUSO = 'N' + SELECT + vc.rete, + vc.cod_fiscale, + VC.ChiaveClientePb, + CASE + WHEN ISNULL(numSolleciti,0) = 0 THEN '1_SOLL_NOASS' + WHEN numSolleciti = 1 THEN '2_SOLL_NOASS' + WHEN numSolleciti = 2 THEN '3_SOLL_NOASS' + ELSE 'S_SOLL_NOASS' + END as tipoEmail, + getDate() as DataGenerazione, + CASE WHEN RSES.chiaveclientepb IS NULL THEN 'N' ELSE 'S' END AS ContrRSES, + @ID_ELAB AS ID_ELAB + INTO #CLIENTINA + FROM C6Mart.vcontrattisei VC + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + LEFT JOIN #CaricamentoMassivoC6SC RSES + ON RSES.chiaveclientepb = VC.chiaveclientepb + WHERE 1 = 1 + AND VC.numSolleciti < @MaxInvioSoll + -- modifica del 3/10/2018 per gestire i casi in cui VC.Data_UltimoSollecito = 0 e che manda in errore + -- la sp (Error: Implicit conversion from data type datetime to smallint is not allowed. Use the CONVERT function to run this query) + --AND ((ISNULL(VC.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + -- OR + -- (DATEDIFF(DAY,isnull(VC.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO)) + AND ((ISNULL(VC.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull( + case when isdate(VC.Data_UltimoSollecito) = 1 + then VC.Data_UltimoSollecito + else + GETDATE() + end + ,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO)) + --fine modifica del 3/10/2018 + -- modifica del 3/10/2018 per gestire i valori 'date' del campo e che mandano in errore di conversione la sp + --AND VC.InvioBenvenuto = 'N' + AND cast(VC.InvioBenvenuto as varchar) = 'N' + -- fine modifica del 3/10/2018 + AND VC.clienteMigrato = 'S' + AND VC.risorseNA = 'S' + AND VC.Data_FineAvanzato > getDate() + AND PF.RETE IS NULL + --AND VC.COD_FISCALE + VC.RETE IN (SELECT COD_FISCALE+RETE FROM C6MART.TestEmailAnd) + INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + rete, + cod_fiscale, + tipoEmail, + DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM #CLIENTINA + WHERE ContrRSES = 'S' + UPDATE c6mart.CONTRATTOSEI_METADATI + SET numSolleciti = isnull(numSolleciti,0) + 1, Data_UltimoSollecito = getDate() + where chiaveclientepb in ( + select chiaveclientepb FROM #CLIENTINA + WHERE ContrRSES = 'S') + INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOASS' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOASS','REVOCA_NOASS') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.risorseNA = 'S')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + --AND VC.COD_FISCALE + VC.RETE IN (SELECT COD_FISCALE+RETE FROM C6MART.TestEmailAnd) + GROUP BY email.rete, email.cod_fiscale + UPDATE c6mart.[CONTRATTOSEI_METADATI] SET numRevoche = isnull(numRevoche,0) + 1, data_UltimaRevoca = getDate() + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOASS','REVOCA_NOASS') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.risorseNA = 'S')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + --AND VC.COD_FISCALE + VC.RETE IN (SELECT COD_FISCALE+RETE FROM C6MART.TestEmailAnd) + update C6Mart.GESTIONE_EMAIL + set Inviata = 'S', Data_Invio = getdate() + where Cod_Fiscale = 'CRCTMS62A05H501D' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNA_AND' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNA_AND' + ) +COMMIT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_GestioneEmailNA_20181003.sql b/sql/storedProduzione/C6Mart_RP_DM_GestioneEmailNA_20181003.sql new file mode 100644 index 00000000..eefe0404 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_GestioneEmailNA_20181003.sql @@ -0,0 +1,130 @@ +CREATE PROCEDURE [C6Mart].[RP_DM_GestioneEmailNA_20181003] +AS +BEGIN +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)--7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT)--12 +SET @ID_ELAB = C6MART.GETIDELAB() + INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmailNA_AND',GETDATE(),'Elaborazione giornaliera') +BEGIN TRANSACTION + SELECT DISTINCT ChiaveClientePB + INTO #CaricamentoMassivoC6SC + FROM [CONSUNI].ConsulenzaUnicaFL.dbo.CaricamentoMassivoC6SC WHERE ESITO = 0 AND CHIUSO = 'N' + SELECT + vc.rete, + vc.cod_fiscale, + VC.ChiaveClientePb, + CASE + WHEN ISNULL(numSolleciti,0) = 0 THEN '1_SOLL_NOASS' + WHEN numSolleciti = 1 THEN '2_SOLL_NOASS' + WHEN numSolleciti = 2 THEN '3_SOLL_NOASS' + ELSE 'S_SOLL_NOASS' + END as tipoEmail, + getDate() as DataGenerazione, + CASE WHEN RSES.chiaveclientepb IS NULL THEN 'N' ELSE 'S' END AS ContrRSES, + @ID_ELAB AS ID_ELAB + INTO #CLIENTINA + FROM C6Mart.vcontrattisei VC + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + LEFT JOIN #CaricamentoMassivoC6SC RSES + ON RSES.chiaveclientepb = VC.chiaveclientepb + WHERE 1 = 1 + AND VC.numSolleciti < @MaxInvioSoll + AND ((ISNULL(VC.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(VC.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO)) + AND VC.InvioBenvenuto = 'N' + AND VC.clienteMigrato = 'S' + AND VC.risorseNA = 'S' + AND VC.Data_FineAvanzato > getDate() + AND PF.RETE IS NULL + --AND VC.COD_FISCALE + VC.RETE IN (SELECT COD_FISCALE+RETE FROM C6MART.TestEmailAnd) + INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + rete, + cod_fiscale, + tipoEmail, + DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM #CLIENTINA + WHERE ContrRSES = 'S' + UPDATE c6mart.CONTRATTOSEI_METADATI + SET numSolleciti = isnull(numSolleciti,0) + 1, Data_UltimoSollecito = getDate() + where chiaveclientepb in ( + select chiaveclientepb FROM #CLIENTINA + WHERE ContrRSES = 'S') + INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOASS' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOASS','REVOCA_NOASS') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.risorseNA = 'S')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + --AND VC.COD_FISCALE + VC.RETE IN (SELECT COD_FISCALE+RETE FROM C6MART.TestEmailAnd) + GROUP BY email.rete, email.cod_fiscale + UPDATE c6mart.[CONTRATTOSEI_METADATI] SET numRevoche = isnull(numRevoche,0) + 1, data_UltimaRevoca = getDate() + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOASS','REVOCA_NOASS') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.risorseNA = 'S')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + --AND VC.COD_FISCALE + VC.RETE IN (SELECT COD_FISCALE+RETE FROM C6MART.TestEmailAnd) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNA_AND' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNA_AND' + ) +COMMIT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_GestioneEmailNA_Fc.sql b/sql/storedProduzione/C6Mart_RP_DM_GestioneEmailNA_Fc.sql new file mode 100644 index 00000000..43cf133c --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_GestioneEmailNA_Fc.sql @@ -0,0 +1,94 @@ +-- ============================================= +-- Author: +-- Create date: <17/11/2008,,> +-- Description: +-- ============================================= +CREATE PROCEDURE [C6Mart].[RP_DM_GestioneEmailNA_Fc] +AS +BEGIN +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)--7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT)--12 +SET @ID_ELAB = C6MART.GETIDELAB() + SELECT DISTINCT ChiaveClientePB + INTO #CaricamentoMassivoC6SC + FROM [CONSEVO].ConsulenzaEvolutaFL.dbo.CaricamentoMassivoC6SC WHERE ESITO = 0 AND CHIUSO = 'N' + SELECT + vc.rete, + vc.cod_fiscale, + VC.ChiaveClientePb, + CASE + WHEN ISNULL(numSolleciti,0) = 0 THEN '1_SOLL_NOASS' + WHEN numSolleciti = 1 THEN '2_SOLL_NOASS' + WHEN numSolleciti = 2 THEN '3_SOLL_NOASS' + ELSE 'S_SOLL_NOASS' + END as tipoEmail, + getDate() as DataGenerazione, + CASE WHEN RSES.chiaveclientepb IS NULL THEN 'N' ELSE 'S' END AS ContrRSES, + @ID_ELAB AS ID_ELAB + INTO #CLIENTINA + FROM C6Mart.vcontrattisei VC + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + LEFT JOIN #CaricamentoMassivoC6SC RSES + ON RSES.chiaveclientepb = VC.chiaveclientepb + WHERE 1 = 1 + AND VC.numSolleciti < @MaxInvioSoll + AND ((ISNULL(VC.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(VC.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO)) + AND VC.InvioBenvenuto = 'N' + AND VC.clienteMigrato = 'S' + AND VC.risorseNA = 'S' + AND VC.Data_FineAvanzato > getDate() + AND PF.RETE IS NULL + AND VC.COD_FISCALE + VC.RETE IN (SELECT COD_FISCALE+RETE FROM C6MART.TestEmail_Fc) + --INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + rete, + cod_fiscale, + tipoEmail tipo, + DataGenerazione Data_Generazione, + @ID_ELAB AS ID_ELAB + into Gestione_Email_FC + FROM #CLIENTINA + WHERE ContrRSES = 'S' + --UPDATE c6mart.CONTRATTOSEI_METADATI + --SET numSolleciti = isnull(numSolleciti,0) + 1, Data_UltimoSollecito = getDate() + --where chiaveclientepb in ( + --select chiaveclientepb FROM #CLIENTINA + --WHERE ContrRSES = 'S') + INSERT INTO Gestione_Email_FC (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOASS' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOASS','REVOCA_NOASS') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.risorseNA = 'S')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + AND VC.COD_FISCALE + VC.RETE IN (SELECT COD_FISCALE+RETE FROM C6MART.TestEmail_FC) + GROUP BY email.rete, email.cod_fiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_GestioneEmailNOPRO.sql b/sql/storedProduzione/C6Mart_RP_DM_GestioneEmailNOPRO.sql new file mode 100644 index 00000000..c574b743 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_GestioneEmailNOPRO.sql @@ -0,0 +1,280 @@ +--select * from c6mart.gestione_Email where data_Generazione > getDate()-1 and tipo like '%pro%' +-- ============================================= +-- Author: +-- Create date: <19/14/2011,,> -1 ai -2! +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_GestioneEmailNOPRO] +AS +BEGIN +BEGIN TRANSACTION +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT) +SET @ID_ELAB = C6MART.GETIDELAB() +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'RP_DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' +) +-- 1. INSERIMENTO MAIL "SOLLECITI" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA ATTIVATO UN PROFILO VALIDO AL CLIENTE + -- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO è NULL -> CONSIDERIAMO DATA_PERF + INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + VC.rete, + VC.cod_fiscale, + CASE + WHEN ISNULL(MD.numSolleciti,0) = 0 THEN '1_SOLL_NOPRO' + WHEN MD.numSolleciti = 1 THEN '2_SOLL_NOPRO' + WHEN MD.numSolleciti = 2 THEN '3_SOLL_NOPRO' + ELSE 'S_SOLL_NOPRO' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'S' + AND MD.risorseNA = 'N' + AND MD.profiloAttivo = 0 + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + and vc.TIP_CONTRATTO<>3 + union + SELECT + VC.rete, + VC.cod_fiscale, + CASE + WHEN ISNULL(MD.numSolleciti,0) = 0 THEN '1_SOLL_NOPRO_DA' + WHEN MD.numSolleciti = 1 THEN '2_SOLL_NOPRO_DA' + WHEN MD.numSolleciti = 2 THEN '3_SOLL_NOPRO_DA' + ELSE 'S_SOLL_NOPRO_DA' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'S' + AND MD.risorseNA = 'N' + AND MD.profiloAttivo = 0 + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + and vc.TIP_CONTRATTO=3 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 1.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" + -- AUMENTIAMO IL NUMERO numSolleciti + -- AGGIORNIAMO LA DATA Data_UltimoSollecito + UPDATE + c6mart.CONTRATTOSEI_METADATI + SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'S' + AND MD.risorseNA = 'N' + AND MD.profiloAttivo = 0 + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 2. INSERIMENTO MAIL "REVOCA" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA EFFETTUATO L'ATTIVAZIONE DEL PROFILO @MaxInvioSoll SOLLECITI + -- N.B. OCCHIO ALLA CONDIZIONE -> (c6.risorseNA = 'N' AND numSolleciti = @MaxInvioSoll) OR numSolleciti > @MaxInvioSoll + -- OVVERO: BUONA L'ASSOCIAZIONE DELLE RISORSE EFFETTUATA DOPO L'ULTIMO SOLLECITO MA NON DOPO LA PRIMA REVOCA + INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOPRO' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB --max(Data_Generazione) + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb + INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOPRO','REVOCA_NOPRO') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.profiloAttivo = 0)-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + GROUP BY email.rete, email.cod_fiscale + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 2.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "REVOCA" + -- AUMENTIAMO IL NUMERO numSolleciti + -- NON AGGIORNIAMO LA DATA Data_UltimoSollecito + -- N.B. VERIFICARE SE IL CAMPO Data_UltimoSollecito VA AGGIORNATO + UPDATE c6mart.[CONTRATTOSEI_METADATI] + SET + numRevoche = isnull(numRevoche,0) + 1, + data_UltimaRevoca = getDate() + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb + INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOPRO','REVOCA_NOPRO') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.profiloAttivo = 0)-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + update C6Mart.GESTIONE_EMAIL + set Inviata = 'S', Data_Invio = getdate() + where Cod_Fiscale = 'CRCTMS62A05H501D' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' + ) +COMMIT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_GestioneEmailSessione.sql b/sql/storedProduzione/C6Mart_RP_DM_GestioneEmailSessione.sql new file mode 100644 index 00000000..18497570 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_GestioneEmailSessione.sql @@ -0,0 +1,63 @@ +-- ============================================= +-- Author: +-- Create date: <17/11/2008,,> +-- Description: +-- ============================================= +CREATE PROCEDURE [C6Mart].[RP_DM_GestioneEmailSessione] +AS +BEGIN +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) - 1 --7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) - 1 --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT)--12 +SET @ID_ELAB = C6MART.GETIDELAB() + INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmailSessione',GETDATE(),'Elaborazione giornaliera') + --select * from [CONSEVO].ConsulenzaEvolutaFL.dbo.CaricamentoMassivoC6SC + --where DataGenerazione < convert(datetime,convert (varchar, getdate(), 112)) + update [CONSEVO].ConsulenzaEvolutaFL.dbo.CaricamentoMassivoC6SC set chiuso = 'S' + where DataGenerazione < convert(datetime,convert (varchar, getdate(), 112)) + SELECT * + INTO #CaricamentoMassivoC6SC + FROM [CONSEVO].ConsulenzaEvolutaFL.dbo.CaricamentoMassivoC6SC WHERE CHIUSO = 'N' + INSERT INTO [CONSEVO].ConsulenzaEvolutaFL.dbo.CaricamentoMassivoC6SC + SELECT DISTINCT VC.chiaveclientepb,GETDATE(),-2,'N' + FROM C6Mart.vcontrattisei VC + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + LEFT JOIN #CaricamentoMassivoC6SC RSES + ON RSES.chiaveclientepb = VC.chiaveclientepb + WHERE 1 = 1 + AND VC.numSolleciti < @MaxInvioSoll + AND ((ISNULL(VC.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(VC.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO)) + AND VC.InvioBenvenuto = 'N' + --AND (VC.clienteMigrato = 'N' OR VC.risorseNA = 'S' OR VC.PROFILOATTIVO = 0) + AND VC.clienteMigrato = 'S' + AND VC.risorseNA = 'S' + AND VC.Data_FineAvanzato > getDate() + AND PF.RETE IS NULL + AND RSES.chiaveclientepb IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailSessione' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailSessione' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_GestioneEmail_20161028.sql b/sql/storedProduzione/C6Mart_RP_DM_GestioneEmail_20161028.sql new file mode 100644 index 00000000..b157cd67 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_GestioneEmail_20161028.sql @@ -0,0 +1,218 @@ +--delete from c6mart.gestione_Email where data_Generazione > getDate()-1 +--truncate table log_esecuzione +--select * from log_esecuzione +CREATE procedure [C6Mart].[RP_DM_GestioneEmail_20161028] +AS +BEGIN +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- PERFEZIONAMENTO; +-- MANCATA MIGRAZIONE; +-- REINVIO SOLLECITO MANCATA MIGRAZIONE. +--LA GESTIONE DELLE EMAIL PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO O +--PER REINVIO DEL SOLLECITO PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO +--VIENE FATTA DOPO L'ALLINEAMENTO CON I DATI DEL SIMPB +--ESTRAZIONE EMAIL PERFEZIONAMENTO +--TIPO EMAIL: "PERF" +--L'EMAIL VIENE INVIATA PER TUTTI I CLIENTI CHE HANNO DATA DI PERFEZIONAMENTO VALORIZZATA +--IL CONTROLLO SULLA DATA DI GENERAZIONE >= DELLA DATA DI PERFEZIONAMENTO E' DOVUTO AL +--FATTO CHE IL CONTRATTO PUO` ESSERE CHIUSO E RIAPERTO ED IN QUESTO CASO LA MAIL DI PERFEZIONAMENTO +--DEVE ESSERE REINVIATA +-- EMAIL DI ADESIONE AL SERVIZIO SEI +-- TIPO EMAIL 'PERF' +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @ID_ELAB INT +DECLARE @MaxInvioSoll as SMALLINT +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') as smallint) +SET @ID_ELAB = C6MART.GETIDELAB() +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) --7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint) --7 +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - Mail Perf',GETDATE(),'Elaborazione giornaliera') +--0. MODIFICO I RECORD IN GESTIONE EMAIL CON TIPO = PERF PER EVITARE IL REINVIO MULTIPLO A SEGUITO DELLA RIATTIVAZIONE +--UPDATE C6MART.GESTIONE_EMAIL +--SET TIPO = 'OLD' +--FROM C6MART.Gestione_EMAIL EMAIL +-- INNER JOIN C6MART.VCONTRATTI VC +-- ON VC.COD_FISCALE = EMAIL.COD_FISCALE +-- AND VC.rete = EMAIL.RETE +-- AND EMAIL.TIPO = 'PERF' +-- INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC +-- ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +-- AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO = '9999-12-31 00:00:00.000' +-- AND MC.Tip_riattivazione = 1 +--1. INSERIMENTO MAIL DI "PERFEZIONAMENTO" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- NON PRESENTI SU GESTIONE_EMAIL +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione, ID_ELAB) +SELECT + VC.Rete, + VC.Cod_Fiscale, + 'PERF' as TipoEmail, + GETDATE() AS DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6Mart.VCONTRATTI VC +INNER JOIN C6Mart.CONTRATTOSEI_METADATI MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb +LEFT JOIN C6Mart.GESTIONE_EMAIL EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + AND EMAIL.TIPO = 'PERF' + AND EMAIL.Data_Generazione >= VC.Data_Perf -- CONDIZIONE PER ESCLUDERE DAL JOIN UN CONTRATTO CHIUSO E RIAPERTO. +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF -- IN QUESTO MODO LO INSERIAMO NUOVAMENTE IN GESTIONE_MAIL. + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + --AND VC.InvioBenvenuto = 'N' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND EMAIL.COD_FISCALE IS NULL + AND PF.RETE IS NULL +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'INSERT',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf' AND + Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf') +INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - SollecitiNOMIG',GETDATE(),'Elaborazione giornaliera') +-- 2. INSERIMENTO MAIL "SOLLECITI" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE +-- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO è NULL -> CONSIDERIAMO DATA_PERF +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT + VC.rete, + VC.cod_fiscale, + CASE + WHEN ISNULL(MD.numSolleciti,0) = 0 THEN '1_SOLL_NOMIG' + WHEN MD.numSolleciti = 1 THEN '2_SOLL_NOMIG' + WHEN MD.numSolleciti = 2 THEN '3_SOLL_NOMIG' + ELSE 'S_SOLL_NOMIG' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6Mart.VCONTRATTI VC +INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'N' + AND MD.InvioBenvenuto = 'N' + AND VC.Data_FineAvanzato > getDate() + --AND MD.GenerazioneReport = 'S' + AND PF.RETE IS NULL +-- 2.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" +-- AUMENTIAMO IL NUMERO numSolleciti +-- AGGIORNIAMO LA DATA Data_UltimoSollecito +UPDATE + c6mart.[CONTRATTOSEI_METADATI] +SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() +FROM C6Mart.vcontratti VC +INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'N' + AND MD.InvioBenvenuto = 'N' -- richiesto da Tringali per non inviare mail se report già inviato + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'UPDATE',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - SollecitiNOMIG' AND Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - SollecitiNOMIG') +INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - Mail Revoca',GETDATE(),'Elaborazione giornaliera') +-- 3. INSERIMENTO MAIL "REVOCA" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE DOPO @MaxInvioSoll SOLLECITI +-- N.B. OCCHIO ALLA CONDIZIONE -> (c6.clienteMigrato = 'N' AND numSolleciti = @MaxInvioSoll) OR numSolleciti > @MaxInvioSoll +-- OVVERO: BUONA LA MIGRAZIONE EFFETTUATA DOPO L'ULTIMO SOLLECITO MA NON DOPO LA PRIMA REVOCA +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOMIG' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB --max(Data_Generazione) +FROM C6Mart.vcontratti VC +INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb +INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOMIG','REVOCA_NOMIG') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.clienteMigrato = 'N')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL +GROUP BY email.rete, email.cod_fiscale +-- 3.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "REVOCA" +-- AUMENTIAMO IL NUMERO numSolleciti +-- NON AGGIORNIAMO LA DATA Data_UltimoSollecito +-- N.B. VERIFICARE SE IL CAMPO Data_UltimoSollecito VA AGGIORNATO +UPDATE c6mart.[CONTRATTOSEI_METADATI] +SET + numRevoche = isnull(numRevoche,0) + 1, + data_UltimaRevoca = getDate() +FROM C6Mart.vcontratti VC +INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb +INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOMIG','REVOCA_NOMIG') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.clienteMigrato = 'N')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'INSERT',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - Mail Revoca' AND Inizio = ( + SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - Mail Revoca') +COMMIT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_ALTRO.sql b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_ALTRO.sql new file mode 100644 index 00000000..f79f3e67 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_ALTRO.sql @@ -0,0 +1,191 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_ALTRO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_ALTRO', + GETDATE(), + 'Elaborazione giornaliera' + ) +TRUNCATE TABLE C6MART.PATRIMONIO_ALTRO +INSERT INTO [C6Mart].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +--INTO C6MART.RP_PATRIMONIO_ALTRO +FROM + C6Staging.RP_DettPatrAziendale dettPatrAz, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + -- AC: Modifica del 11/10/2018 in seguito ad errore su CF: GLBGDU58B07F712V + --and VCONTRATTI.COD_FISCALE <> 'LRNLCU73D28I470U' + and VCONTRATTI.COD_FISCALE NOT IN ('LRNLCU73D28I470U', 'GLBGDU58B07F712V') + -- AC: Fine Modifica +UNION ALL +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + --(dettAltriProd.valoreStimato) as valore, + SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6Staging.RP_DettAltriProdotti dettAltriProd, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + -- AC: Modifica del 11/10/2018 in seguito ad errore su CF: GLBGDU58B07F712V + --and VCONTRATTI.COD_FISCALE <> 'LRNLCU73D28I470U' + and VCONTRATTI.COD_FISCALE NOT IN ('LRNLCU73D28I470U', 'GLBGDU58B07F712V') + -- AC: Fine Modifica + --inizio intervento + --Fcianfa 25/08/2015 intervento segnalato da ticket n4t4, per calcolare il ctv viene erroneamente effettuata una somma che fa si che sul report per ogni riga viene riportato il totale. + INSERT INTO [C6Mart].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + dettPatrAz.valoreStimato AS CTV, + --SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +--INTO C6MART.RP_PATRIMONIO_ALTRO +FROM + C6Staging.RP_DettPatrAziendale dettPatrAz, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + -- AC: Modifica del 11/10/2018 in seguito ad errore su CF: GLBGDU58B07F712V + --and VCONTRATTI.COD_FISCALE <> 'LRNLCU73D28I470U' + and VCONTRATTI.COD_FISCALE NOT IN ('LRNLCU73D28I470U', 'GLBGDU58B07F712V') + -- AC: Fine Modifica +UNION ALL +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + dettAltriProd.valoreStimato AS CTV, + --SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6Staging.RP_DettAltriProdotti dettAltriProd, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + -- AC: Modifica del 11/10/2018 in seguito ad errore su CF: GLBGDU58B07F712V + --and VCONTRATTI.COD_FISCALE <> 'LRNLCU73D28I470U' + and VCONTRATTI.COD_FISCALE NOT IN ('LRNLCU73D28I470U', 'GLBGDU58B07F712V') + -- AC: Fine Modifica +--fine intervento +--SELECT +-- VCONTRATTI.chiaveClientePB, +-- VCONTRATTI.rete AS RETE, +-- VCONTRATTI.COD_FISCALE, +-- RP_DettProdottiTerzi.numQuote AS QUANTITA, +-- --SUBSTRING(ALL_PATR_TERZI.DENOMINAZIONE,1,50) AS DESCRIZIONE, (sembra non essere utilizzato) +-- NULL AS DESCRIZIONE, +-- --ALL_PATR_TERZI.PATRIMONIO_ALTRO_PB_E6F18 AS CTV, (sto vedendo con Serena) +-- NULL AS CTV, +-- @ID_ELAB AS ID_ELAB, +-- @TIPO_ELAB AS TIPO_ELAB +--FROM C6Staging.RP_PatrimonioTerzi +--INNER JOIN VCONTRATTI +--ON RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +--INNER JOIN C6Staging.RP_DettProdottiTerzi +--ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi +----WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_E6F18 +--UNION +--SELECT +-- VCONTRATTI.chiaveClientePB, +-- VCONTRATTI.rete AS RETE, +-- VCONTRATTI.COD_FISCALE, +-- NULL AS QUANTITA, +-- --SUBSTRING(ALL_PATR_TERZI.DENOMINAZIONE_PN_F87B4,1,50) AS DESCRIZIONE, (sembra non essere utilizzato) +-- NULL AS DESCRIZIONE, +-- --ALL_PATR_TERZI.PATRIMONIO_ALTRO_PN_F87B4 AS CTV, (sto vedendo con Serena) +-- NULL AS CTV, +-- @ID_ELAB AS ID_ELAB, +-- @TIPO_ELAB AS TIPO_ELAB +--FROM C6Staging.RP_PatrimonioTerzi +--INNER JOIN VCONTRATTI +--ON RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +----WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_F87B4 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_ALTRO_20150825.sql b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_ALTRO_20150825.sql new file mode 100644 index 00000000..d2fd2b71 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_ALTRO_20150825.sql @@ -0,0 +1,122 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_ALTRO_20150825] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_ALTRO', + GETDATE(), + 'Elaborazione giornaliera' + ) +TRUNCATE TABLE C6MART.PATRIMONIO_ALTRO +INSERT INTO [C6Mart].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +--INTO C6MART.RP_PATRIMONIO_ALTRO +FROM + C6Staging.RP_DettPatrAziendale dettPatrAz, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +UNION ALL +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + --(dettAltriProd.valoreStimato) as valore, + SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6Staging.RP_DettAltriProdotti dettAltriProd, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +--SELECT +-- VCONTRATTI.chiaveClientePB, +-- VCONTRATTI.rete AS RETE, +-- VCONTRATTI.COD_FISCALE, +-- RP_DettProdottiTerzi.numQuote AS QUANTITA, +-- --SUBSTRING(ALL_PATR_TERZI.DENOMINAZIONE,1,50) AS DESCRIZIONE, (sembra non essere utilizzato) +-- NULL AS DESCRIZIONE, +-- --ALL_PATR_TERZI.PATRIMONIO_ALTRO_PB_E6F18 AS CTV, (sto vedendo con Serena) +-- NULL AS CTV, +-- @ID_ELAB AS ID_ELAB, +-- @TIPO_ELAB AS TIPO_ELAB +--FROM C6Staging.RP_PatrimonioTerzi +--INNER JOIN VCONTRATTI +--ON RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +--INNER JOIN C6Staging.RP_DettProdottiTerzi +--ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi +----WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_E6F18 +--UNION +--SELECT +-- VCONTRATTI.chiaveClientePB, +-- VCONTRATTI.rete AS RETE, +-- VCONTRATTI.COD_FISCALE, +-- NULL AS QUANTITA, +-- --SUBSTRING(ALL_PATR_TERZI.DENOMINAZIONE_PN_F87B4,1,50) AS DESCRIZIONE, (sembra non essere utilizzato) +-- NULL AS DESCRIZIONE, +-- --ALL_PATR_TERZI.PATRIMONIO_ALTRO_PN_F87B4 AS CTV, (sto vedendo con Serena) +-- NULL AS CTV, +-- @ID_ELAB AS ID_ELAB, +-- @TIPO_ELAB AS TIPO_ELAB +--FROM C6Staging.RP_PatrimonioTerzi +--INNER JOIN VCONTRATTI +--ON RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +----WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_F87B4 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_ALTRO_20160615.sql b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_ALTRO_20160615.sql new file mode 100644 index 00000000..8e569021 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_ALTRO_20160615.sql @@ -0,0 +1,179 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_ALTRO_20160615] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_ALTRO', + GETDATE(), + 'Elaborazione giornaliera' + ) +TRUNCATE TABLE C6MART.PATRIMONIO_ALTRO +INSERT INTO [C6Mart].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +--INTO C6MART.RP_PATRIMONIO_ALTRO +FROM + C6Staging.RP_DettPatrAziendale dettPatrAz, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + and VCONTRATTI.COD_FISCALE <> 'LRNLCU73D28I470U' +UNION ALL +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + --(dettAltriProd.valoreStimato) as valore, + SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6Staging.RP_DettAltriProdotti dettAltriProd, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + and VCONTRATTI.COD_FISCALE <> 'LRNLCU73D28I470U' + --inizio intervento + --Fcianfa 25/08/2015 intervento segnalato da ticket n4t4, per calcolare il ctv viene erroneamente effettuata una somma che fa si che sul report per ogni riga viene riportato il totale. + INSERT INTO [C6Mart].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + dettPatrAz.valoreStimato AS CTV, + --SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +--INTO C6MART.RP_PATRIMONIO_ALTRO +FROM + C6Staging.RP_DettPatrAziendale dettPatrAz, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + and VCONTRATTI.COD_FISCALE = 'LRNLCU73D28I470U' +UNION ALL +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + dettAltriProd.valoreStimato AS CTV, + --SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6Staging.RP_DettAltriProdotti dettAltriProd, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + and VCONTRATTI.COD_FISCALE = 'LRNLCU73D28I470U' +--fine intervento +--SELECT +-- VCONTRATTI.chiaveClientePB, +-- VCONTRATTI.rete AS RETE, +-- VCONTRATTI.COD_FISCALE, +-- RP_DettProdottiTerzi.numQuote AS QUANTITA, +-- --SUBSTRING(ALL_PATR_TERZI.DENOMINAZIONE,1,50) AS DESCRIZIONE, (sembra non essere utilizzato) +-- NULL AS DESCRIZIONE, +-- --ALL_PATR_TERZI.PATRIMONIO_ALTRO_PB_E6F18 AS CTV, (sto vedendo con Serena) +-- NULL AS CTV, +-- @ID_ELAB AS ID_ELAB, +-- @TIPO_ELAB AS TIPO_ELAB +--FROM C6Staging.RP_PatrimonioTerzi +--INNER JOIN VCONTRATTI +--ON RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +--INNER JOIN C6Staging.RP_DettProdottiTerzi +--ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi +----WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_E6F18 +--UNION +--SELECT +-- VCONTRATTI.chiaveClientePB, +-- VCONTRATTI.rete AS RETE, +-- VCONTRATTI.COD_FISCALE, +-- NULL AS QUANTITA, +-- --SUBSTRING(ALL_PATR_TERZI.DENOMINAZIONE_PN_F87B4,1,50) AS DESCRIZIONE, (sembra non essere utilizzato) +-- NULL AS DESCRIZIONE, +-- --ALL_PATR_TERZI.PATRIMONIO_ALTRO_PN_F87B4 AS CTV, (sto vedendo con Serena) +-- NULL AS CTV, +-- @ID_ELAB AS ID_ELAB, +-- @TIPO_ELAB AS TIPO_ELAB +--FROM C6Staging.RP_PatrimonioTerzi +--INNER JOIN VCONTRATTI +--ON RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +----WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_F87B4 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_BF.sql b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_BF.sql new file mode 100644 index 00000000..9a6fed40 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_BF.sql @@ -0,0 +1,517 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_BF] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf where nob_prez is null +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; +--delete TEMPORANEA per superare un problema del WS che restituisce una riga doppia +--delete from c6staging.spb_contr_sintesi +--where codicefiscale = 'MNTMRC82C08I608Y' +--and CODICEMAF = '1362945' +--and ISIN = 'IE00B42Z5J44' +--delete from c6staging.spb_contr_sintesi +--where codicefiscale = 'FZAMRA55C50H501E' +--and CODICEMAF = '1362945' +--and ISIN = 'IE00B42Z5J44' + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione giornaliera' + ) + --TRUNCATE TABLE C6MART.PATRIMONIO_BF + DELETE FROM C6MART.PATRIMONIO_BF + TRUNCATE TABLE C6Staging.RP_Consulenza +--Ricerco dati da Pianificazione + SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + --,pian.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,PosPor.conto + ,PosPor.rubricato + ,PosPor.codConf + ,PosPor.numPolizza + ,PosPor.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,'' as position_id + ,termId + ,anno + ,prog + ,case when nob.CODCONF_ES is null then 'N' else 'S' end as nob_prez +INTO #TempPianif +FROM + C6Staging.RP_Pianificazione AS pian + INNER JOIN C6Staging.RP_Progetto AS pro + ON pian.chiaveConsulenza = pro.chiaveConsulenza + INNER JOIN C6Staging.RP_ProgettiPiramideModello pirmod + ON pro.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6Staging.RP_PosizioniPortafoglio AS pospor + ON pro.chiaveProgetto = pospor.chiaveProgetto + INNER JOIN C6Staging.RP_DettaglioPosizionePortafoglio AS dettposport + ON pospor.chiavePosizionePtf = dettposport.chiavePosizionePtf + INNER JOIN C6Staging.RP_CatalogoProdotti AS catprod + ON pospor.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6Staging.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6Mart.VCONTRATTI contr + ON pian.chiaveClientePB = contr.chiaveClientePB + JOIN C6mart.contrattosei_metadati meta + ON contr.chiaveClientePB = meta.chiaveClientePB + LEFT JOIN [C6Staging].[RP_NobPrez] nob + ON PosPor.CODCONF=nob.CODCONF_ES + and contr.chiaveClientePB=nob.CHIAVECLIENTEPB + and catprod.dossier=nob.dossier + WHERE + pospor.dtFineValidita > getdate() + AND pro.dtfinevalidita='9999-12-31 00:00:00.000' + AND pirmod.dtfinevalidita='9999-12-31 00:00:00.000' + AND (INVIOBENVENUTO = 'N')--or contr.cod_fiscale='RMNFNC55T03A783I') +INSERT INTO C6Staging.RP_Consulenza + SELECT * + FROM #TempPianif +--UNION ALL +----ricerco dati da Migrazione +--SELECT +-- contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza +-- ,contr.rete +-- ,contr.cod_fiscale +-- ,pirmod.nomeProgetto +-- --,mig.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza +-- ,promig.chiaveProgetto +-- ,promig.area +-- ,promig.tipoProgetto +-- ,catprod.azob as StrType +-- ,catprod.Complessita +-- ,emit.Descrizione AS DescrizioneEmittente +-- ,MigPos.conto +-- ,MigPos.rubricato +-- ,MigPos.codConf +-- ,MigPos.numPolizza +-- ,MigPos.custGar +-- ,catprod.TipoProdotto +-- ,catprod.CodSottoprodotto +-- ,catprod.CodInterno +-- ,catprod.CodMaf +-- ,catprod.CodIsin +-- ,'' as position_id +-- ,migpos.termId +-- ,migpos.anno +-- ,migpos.prog +--FROM +-- C6Staging.RP_Migraz_Pianificazione AS mig +-- INNER JOIN C6Staging.RP_Migraz_Progetto AS promig +-- ON mig.chiaveconsulenza = promig.chiaveconsulenza +-- INNER JOIN C6Staging.RP_ProgettiPiramideModello pirmod +-- ON promig.chiaveprogettoMod=pirmod.chiaveprogettomod +-- INNER JOIN C6Staging.RP_Migraz_Posizioni AS migpos +-- ON promig.chiaveprogetto = migpos.chiaveprogetto +-- INNER JOIN C6Staging.RP_CatalogoProdotti AS catprod +-- ON migpos.chiaveProdotto = catprod.ChiaveProdotto +-- LEFT JOIN C6Staging.RP_AnEmittente emit +-- ON catprod.emittente=emit.emittente +-- INNER JOIN C6Mart.VCONTRATTI contr +-- ON mig.chiaveClientePB = contr.chiaveClientePB +-- INNER JOIN C6Mart.CONTRATTOSEI_METADATI c6meta +-- ON c6meta.chiaveClientePB = contr.chiaveClientePB +-- LEFT JOIN #TempPianif tp +-- ON mig.chiaveClientePB = tp.chiaveClientePB +-- WHERE +-- pirmod.dtfinevalidita='9999-12-31 00:00:00.000' +-- AND tp.chiaveClientePB IS NULL +-- AND INVIOBENVENUTO = 'N' +-- AND migpos.dtfinevalidita > getDate() + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) + -- AGGIORNAMENTO POSITION_ID SU CONSULENZA +--drop table #TempPianif + --select * from c6staging.rp_consulenza tempo d'esecuzione su 3622 righe 10min + EXEC c6staging.RP_CREA_POSITIONID_CONSULENZA + INSERT INTO C6MART.TEST_QUALITY + SELECT distinct RETE,COD_FISCALE,'POSITIONID DI CONSULENZA NON VALIDO' + FROM c6staging.rp_consulenza WHERE isnull(position_id ,'')='' +--***************************** + --PROBLEMA CON POSITION ID ASU2 LSEL + --select * from c6staging.rp_consulenza where position_id is null +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Elaborazione giornaliera' + ) + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODICEFISCALE AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB.TIPOPRODOTTO IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO + ELSE SPB.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB.CODICESTATO AS COD_STATO, + SPB.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB.CODICEMAF AS COD_MAF, + SPB.CODICEINTERNO AS COD_INTERNO, + SPB.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB.TIPOPRODOTTO AS TIPO_PRODOTTO, + --CASE + -- WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' 16/09/2016 + -- ELSE LTRIM(RTRIM(CON.nomeProgetto)) + --END AS NOME_PROGETTO, + -- Modifica del 1/2/2018 per gestire la mancata generazione dei report del giornaliero nel caso in cui il + -- nomeProgetto non è valorizzato (la classe DSS160ProdottiAreeBisogno.cs in caso di progetto investimento non + -- non valorizza il datatable 'dettaglioProgetti' quando il nome del progetto non è valorizzato). Es. cf 'TMBCST76M67M082T' + --CON.nomeProgetto AS NOME_PROGETTO, --- COMMENTATO IL CASE WHEN, PRENDO DIRETTAMENTE IL NOME + CASE + WHEN CON.area = 'inv' AND isnull(CON.nomeProgetto, '') = '' THEN 'Progetto Investimento' + ELSE CON.nomeProgetto + END AS NOME_PROGETTO, + -- Fine Modifica del 1/2/2018 + CON.area AS ID_AREA, + SPB.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + SPB.PREZZO AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPOPRODOTTO = 'GE' + OR SPB.TIPOPRODOTTO = 'GES') + AND SPB.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPOPRODOTTO = 'ASUL' AND SPB.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + SPB.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPOPRODOTTO = 'GE' + OR SPB.TIPOPRODOTTO = 'GES') + AND SPB.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPOPRODOTTO = 'ASUL' AND SPB.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDIMENTODASOTTOSCRIZIONE + END AS REND_SOTTOSCRIZIONE, + CASE + WHEN (SPB.TIPOPRODOTTO = 'GE' + OR SPB.TIPOPRODOTTO = 'GES') + AND SPB.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPOPRODOTTO = 'ASUL' AND SPB.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDIMENTODAINIZIOTRIMESTRE + END AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPOPRODOTTO = 'GE' + OR SPB.TIPOPRODOTTO = 'GES') + AND SPB.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPOPRODOTTO = 'ASUL' AND SPB.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDIMENTODAINIZIOANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, + CON.chiaveProgetto, + NULL as ClienteDB, + CON.NOB_PREZ as NOB_PREZ, + CASE + WHEN SPB.TIPOPRODOTTO IN ('DT') THEN 'DT' else '' end as Dossier + --,CON.lineaself + INTO #PATRIMONIO + FROM C6STAGING.SPB_CONTR_SINTESI SPB + INNER JOIN C6Staging.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODICEFISCALE + AND CON.Position_id = SPB.positionid + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPOPRODOTTO <> 'CC' +--***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' +--***FINE INTERVENTI OMNIA*** + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODICEFISCALE AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB.TIPOPRODOTTO = 'DT' /* OR SPB.TIPOPRODOTTO = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO + ELSE SPB.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB.CODICESTATO AS COD_STATO, + SPB.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB.CODICEMAF AS COD_MAF, + SPB.CODICEINTERNO AS COD_INTERNO, + SPB.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB.TIPOPRODOTTO AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, +--***INIZIO INTERVENTI OMNIA*** + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CASE WHEN SPB.CTV>=0 THEN 'Liq' + WHEN SPB.CTV<0 and SPB.TIPOPRODOTTO = 'CC' THEN 'Cc' + WHEN SPB.CTV<0 and SPB.Isin in('EURO00000009', 'EURO10000007') THEN 'Self' + ELSE null + END AS ID_AREA, +--***FINE INTERVENTI OMNIA*** + SPB.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + SPB.PREZZO AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + SPB.CVN AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + SPB.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDIMENTODASOTTOSCRIZIONE AS REND_SOTTOSCRIZIONE, + SPB.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDIMENTODAINIZIOANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, + CON.chiaveProgetto, + NULL as ClienteDB, + CON.NOB_PREZ as NOB_PREZ, + CASE + WHEN SPB.TIPOPRODOTTO IN ('DT') THEN 'DT' else '' end as Dossier + --,CON.lineaself + FROM C6STAGING.SPB_CONTR_SINTESI SPB + INNER JOIN C6Staging.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODICEFISCALE + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGING.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGING.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPOPRODOTTO = 'CC' +--***INIZIO INTERVENTI OMNIA*** + OR SPB.Isin in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** + /* + truncate table c6mart.patrimonio_bf + select top 1 * from #patrimonio + */ +SELECT [RETE] + ,[COD_FISCALE] + ,[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ChiaveClientePb] + ,[chiaveProgetto] + ,[ClienteDB] + ,[NOB_PREZ] + ,[Dossier] + INTO #PATRIMONIO2 + FROM #PATRIMONIO + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODICEFISCALE AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB.TIPOPRODOTTO IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO + ELSE SPB.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB.CODICESTATO AS COD_STATO, + SPB.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB.CODICEMAF AS COD_MAF, + SPB.CODICEINTERNO AS COD_INTERNO, + SPB.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB.TIPOPRODOTTO AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + SPB.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + SPB.PREZZO AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPOPRODOTTO = 'GE' + OR SPB.TIPOPRODOTTO = 'GES') + AND SPB.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + ELSE convert(decimal(15,3),SPB.CVN) + END AS VERSATO_NETTO, + convert(decimal(15,3),SPB.PARTVIA) AS PARTVIA_DISINV, + SPB.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + convert(decimal(8,5),SPB.RENDIMENTODASOTTOSCRIZIONE) AS REND_SOTTOSCRIZIONE, + convert(decimal(8,5),SPB.RENDIMENTODAINIZIOTRIMESTRE) AS REND_TRIMESTRE, + convert(decimal(8,5),SPB.RENDIMENTODAINIZIOANNO) AS REND_ANNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + PATR.STRTYPE, + null as COMPLEX, + null as EMITTENTE, + SPB.ISIN, + VCON.CHIAVECLIENTEPB, + patr.chiaveProgetto, + NULL as ClienteDB, + PATR.NOB_PREZ as NOB_PREZ, + CASE + WHEN SPB.TIPOPRODOTTO IN ('DT') THEN 'DT' else '' end as Dossier + FROM C6STAGING.SPB_CONTR_SINTESI SPB + LEFT JOIN #PATRIMONIO PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODICEFISCALE = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + --LEFT JOIN C6STAGING.RP_vNewPositionProposta NEWPOSITION + -- ON SPB.POSITIONID = NEWPOSITION.positionIDProposta + JOIN C6MART.VCONTRATTI VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODICEFISCALE = VCON.COD_FISCALE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM #PATRIMONIO2 + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + INSERT INTO C6MART.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE + INSERT INTO C6MART.PATRIMONIO_BF + SELECT P.* FROM + #PATRIMONIO2 P LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--modifica 05/09/2023 per togliere i prodotti con Codice Interno GD ai Fideuram Direct/ Direct Banker +update b +set b.clienteDB='S' +from C6Mart.PATRIMONIO_BF b inner join C6Mart.VCONTRATTI v on b.chiaveClientePB=v.chiaveClientePB where v.TIP_CONTRATTO=3 +delete from C6Mart.PATRIMONIO_BF where COD_INTERNO='GD' and clienteDB='S' +update b +set b.nob_prez='S' +from C6Mart.PATRIMONIO_BF b inner join C6Staging.RP_NobPrez v on b.ID_CONTRATTO=v.CODCONF_ES and b.Dossier=v.DOSSIER +--fine modifica 05/09/2023 per togliere i prodotti con Codice Interno GD ai Fideuram Direct/ Direct Banker + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) +-- +DROP TABLE #TempPianif +-- +DROP table #patrimonio +DROP table #PATRIMONIO2 +drop table #PATRIMONIO_DUPLICATI +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_BF_20180201.sql b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_BF_20180201.sql new file mode 100644 index 00000000..87cdee0d --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_BF_20180201.sql @@ -0,0 +1,476 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_BF_20180201] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; +--delete TEMPORANEA per superare un problema del WS che restituisce una riga doppia +--delete from c6staging.spb_contr_sintesi +--where codicefiscale = 'MNTMRC82C08I608Y' +--and CODICEMAF = '1362945' +--and ISIN = 'IE00B42Z5J44' +--delete from c6staging.spb_contr_sintesi +--where codicefiscale = 'FZAMRA55C50H501E' +--and CODICEMAF = '1362945' +--and ISIN = 'IE00B42Z5J44' + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione giornaliera' + ) + --TRUNCATE TABLE C6MART.PATRIMONIO_BF + DELETE FROM C6MART.PATRIMONIO_BF + TRUNCATE TABLE C6Staging.RP_Consulenza +--Ricerco dati da Pianificazione + SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + --,pian.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,PosPor.conto + ,PosPor.rubricato + ,PosPor.codConf + ,PosPor.numPolizza + ,PosPor.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,'' as position_id + ,termId + ,anno + ,prog +INTO #TempPianif +FROM + C6Staging.RP_Pianificazione AS pian + INNER JOIN C6Staging.RP_Progetto AS pro + ON pian.chiaveConsulenza = pro.chiaveConsulenza + INNER JOIN C6Staging.RP_ProgettiPiramideModello pirmod + ON pro.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6Staging.RP_PosizioniPortafoglio AS pospor + ON pro.chiaveProgetto = pospor.chiaveProgetto + INNER JOIN C6Staging.RP_DettaglioPosizionePortafoglio AS dettposport + ON pospor.chiavePosizionePtf = dettposport.chiavePosizionePtf + INNER JOIN C6Staging.RP_CatalogoProdotti AS catprod + ON pospor.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6Staging.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6Mart.VCONTRATTI contr + ON pian.chiaveClientePB = contr.chiaveClientePB + JOIN C6mart.contrattosei_metadati meta + ON contr.chiaveClientePB = meta.chiaveClientePB + WHERE + pospor.dtFineValidita > getdate() + AND pro.dtfinevalidita='9999-12-31 00:00:00.000' + AND pirmod.dtfinevalidita='9999-12-31 00:00:00.000' + AND INVIOBENVENUTO = 'N' +INSERT INTO C6Staging.RP_Consulenza + SELECT * + FROM #TempPianif +--UNION ALL +----ricerco dati da Migrazione +--SELECT +-- contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza +-- ,contr.rete +-- ,contr.cod_fiscale +-- ,pirmod.nomeProgetto +-- --,mig.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza +-- ,promig.chiaveProgetto +-- ,promig.area +-- ,promig.tipoProgetto +-- ,catprod.azob as StrType +-- ,catprod.Complessita +-- ,emit.Descrizione AS DescrizioneEmittente +-- ,MigPos.conto +-- ,MigPos.rubricato +-- ,MigPos.codConf +-- ,MigPos.numPolizza +-- ,MigPos.custGar +-- ,catprod.TipoProdotto +-- ,catprod.CodSottoprodotto +-- ,catprod.CodInterno +-- ,catprod.CodMaf +-- ,catprod.CodIsin +-- ,'' as position_id +-- ,migpos.termId +-- ,migpos.anno +-- ,migpos.prog +--FROM +-- C6Staging.RP_Migraz_Pianificazione AS mig +-- INNER JOIN C6Staging.RP_Migraz_Progetto AS promig +-- ON mig.chiaveconsulenza = promig.chiaveconsulenza +-- INNER JOIN C6Staging.RP_ProgettiPiramideModello pirmod +-- ON promig.chiaveprogettoMod=pirmod.chiaveprogettomod +-- INNER JOIN C6Staging.RP_Migraz_Posizioni AS migpos +-- ON promig.chiaveprogetto = migpos.chiaveprogetto +-- INNER JOIN C6Staging.RP_CatalogoProdotti AS catprod +-- ON migpos.chiaveProdotto = catprod.ChiaveProdotto +-- LEFT JOIN C6Staging.RP_AnEmittente emit +-- ON catprod.emittente=emit.emittente +-- INNER JOIN C6Mart.VCONTRATTI contr +-- ON mig.chiaveClientePB = contr.chiaveClientePB +-- INNER JOIN C6Mart.CONTRATTOSEI_METADATI c6meta +-- ON c6meta.chiaveClientePB = contr.chiaveClientePB +-- LEFT JOIN #TempPianif tp +-- ON mig.chiaveClientePB = tp.chiaveClientePB +-- WHERE +-- pirmod.dtfinevalidita='9999-12-31 00:00:00.000' +-- AND tp.chiaveClientePB IS NULL +-- AND INVIOBENVENUTO = 'N' +-- AND migpos.dtfinevalidita > getDate() + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) + -- AGGIORNAMENTO POSITION_ID SU CONSULENZA +--drop table #TempPianif + --select * from c6staging.rp_consulenza tempo d'esecuzione su 3622 righe 10min + EXEC c6staging.RP_CREA_POSITIONID_CONSULENZA + INSERT INTO C6MART.TEST_QUALITY + SELECT distinct RETE,COD_FISCALE,'POSITIONID DI CONSULENZA NON VALIDO' + FROM c6staging.rp_consulenza WHERE isnull(position_id ,'')='' +--***************************** + --PROBLEMA CON POSITION ID ASU2 LSEL + --select * from c6staging.rp_consulenza where position_id is null +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Elaborazione giornaliera' + ) + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODICEFISCALE AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB.TIPOPRODOTTO IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO + ELSE SPB.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB.CODICESTATO AS COD_STATO, + SPB.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB.CODICEMAF AS COD_MAF, + SPB.CODICEINTERNO AS COD_INTERNO, + SPB.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB.TIPOPRODOTTO AS TIPO_PRODOTTO, + --CASE + -- WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' 16/09/2016 + -- ELSE LTRIM(RTRIM(CON.nomeProgetto)) + --END AS NOME_PROGETTO, + CON.nomeProgetto AS NOME_PROGETTO, --- COMMENTATO IL CASE WHEN, PRENDO DIRETTAMENTE IL NOME + CON.area AS ID_AREA, + SPB.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + SPB.PREZZO AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPOPRODOTTO = 'GE' + OR SPB.TIPOPRODOTTO = 'GES') + AND SPB.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPOPRODOTTO = 'ASUL' AND SPB.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + SPB.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPOPRODOTTO = 'GE' + OR SPB.TIPOPRODOTTO = 'GES') + AND SPB.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPOPRODOTTO = 'ASUL' AND SPB.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDIMENTODASOTTOSCRIZIONE + END AS REND_SOTTOSCRIZIONE, + CASE + WHEN (SPB.TIPOPRODOTTO = 'GE' + OR SPB.TIPOPRODOTTO = 'GES') + AND SPB.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPOPRODOTTO = 'ASUL' AND SPB.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDIMENTODAINIZIOTRIMESTRE + END AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPOPRODOTTO = 'GE' + OR SPB.TIPOPRODOTTO = 'GES') + AND SPB.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPOPRODOTTO = 'ASUL' AND SPB.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDIMENTODAINIZIOANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB + --,CON.lineaself + INTO #PATRIMONIO + FROM C6STAGING.SPB_CONTR_SINTESI SPB + INNER JOIN C6Staging.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODICEFISCALE + AND CON.Position_id = SPB.positionid + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPOPRODOTTO <> 'CC' +--***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' +--***FINE INTERVENTI OMNIA*** + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODICEFISCALE AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB.TIPOPRODOTTO = 'DT' /* OR SPB.TIPOPRODOTTO = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO + ELSE SPB.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB.CODICESTATO AS COD_STATO, + SPB.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB.CODICEMAF AS COD_MAF, + SPB.CODICEINTERNO AS COD_INTERNO, + SPB.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB.TIPOPRODOTTO AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, +--***INIZIO INTERVENTI OMNIA*** + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CASE WHEN SPB.CTV>=0 THEN 'Liq' + WHEN SPB.CTV<0 and SPB.TIPOPRODOTTO = 'CC' THEN 'Cc' + WHEN SPB.CTV<0 and SPB.Isin in('EURO00000009', 'EURO10000007') THEN 'Self' + ELSE null + END AS ID_AREA, +--***FINE INTERVENTI OMNIA*** + SPB.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + SPB.PREZZO AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + SPB.CVN AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + SPB.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDIMENTODASOTTOSCRIZIONE AS REND_SOTTOSCRIZIONE, + SPB.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDIMENTODAINIZIOANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB + --,CON.lineaself + FROM C6STAGING.SPB_CONTR_SINTESI SPB + INNER JOIN C6Staging.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODICEFISCALE + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGING.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGING.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPOPRODOTTO = 'CC' +--***INIZIO INTERVENTI OMNIA*** + OR SPB.Isin in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** + /* + truncate table c6mart.patrimonio_bf + select top 1 * from #patrimonio + */ +SELECT [RETE] + ,[COD_FISCALE] + ,[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ChiaveClientePb] + INTO #PATRIMONIO2 + FROM #PATRIMONIO + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODICEFISCALE AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB.TIPOPRODOTTO IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO + ELSE SPB.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB.CODICESTATO AS COD_STATO, + SPB.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB.CODICEMAF AS COD_MAF, + SPB.CODICEINTERNO AS COD_INTERNO, + SPB.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB.TIPOPRODOTTO AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + SPB.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + SPB.PREZZO AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPOPRODOTTO = 'GE' + OR SPB.TIPOPRODOTTO = 'GES') + AND SPB.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + ELSE convert(decimal(15,3),SPB.CVN) + END AS VERSATO_NETTO, + convert(decimal(15,3),SPB.PARTVIA) AS PARTVIA_DISINV, + SPB.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + convert(decimal(8,5),SPB.RENDIMENTODASOTTOSCRIZIONE) AS REND_SOTTOSCRIZIONE, + convert(decimal(8,5),SPB.RENDIMENTODAINIZIOTRIMESTRE) AS REND_TRIMESTRE, + convert(decimal(8,5),SPB.RENDIMENTODAINIZIOANNO) AS REND_ANNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + STRTYPE, + null as COMPLEX, + null as EMITTENTE, + SPB.ISIN, + VCON.CHIAVECLIENTEPB + FROM C6STAGING.SPB_CONTR_SINTESI SPB + LEFT JOIN #PATRIMONIO PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODICEFISCALE = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + --LEFT JOIN C6STAGING.RP_vNewPositionProposta NEWPOSITION + -- ON SPB.POSITIONID = NEWPOSITION.positionIDProposta + JOIN C6MART.VCONTRATTI VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODICEFISCALE = VCON.COD_FISCALE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM #PATRIMONIO2 + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + INSERT INTO C6MART.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE + INSERT INTO C6MART.PATRIMONIO_BF + SELECT P.* FROM + #PATRIMONIO2 P LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) +-- +DROP TABLE #TempPianif +-- +DROP table #patrimonio +DROP table #PATRIMONIO2 +drop table #PATRIMONIO_DUPLICATI +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE.sql b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE.sql new file mode 100644 index 00000000..01cfc2ed --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE.sql @@ -0,0 +1,96 @@ +--select * from c6mart.patrimonio_immobiliare +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_IMMOBILIARE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_IMMOBILIARE + INSERT INTO [C6Mart].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + -- DISTINCT Atringali 12012010 + C.RETE, --ALL_PATR_TERZI.RETE_PB AS RETE, + C.COD_FISCALE, --ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + B.DESCRIZIONE, --ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, --b.descrizione + B.TIPOLOGIA, + /* + CASE ALL_PATR_TERZI.TIPOLOGIA_RDESCR --tipologia? cos'è il codice Tipologia + WHEN 'Civil' THEN 'Civile' + WHEN 'Economic' THEN 'Economica' + WHEN 'Posh' THEN 'Signorile' + ELSE '' + END AS TIPOLOGIA, + Verificare il tipo tipologia sul nuovo per mettere la giusta case + verificato con alessia la descrizione tipologia può finire sul report + */ + B.COMUNE AS COMUNE, --ALL_PATR_TERZI.LOCALITA AS LOCALITA, --comune è null verificare se è corretto + B.codProvincia AS PROVINCIA, --NULL AS PROVINCIA, --provincia + NULL AS CAP, + NULL AS NAZIONE, + B.VALOREIMMOBILETOTALE, --ALL_PATR_TERZI.PATRIMONIO_IMMOBILIARE AS VALORE_STIMATO,--valore immobile + B.RENDITAANNUA, --ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, --renditaAnnua + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.RP_PATRIMONIOTERZI A + JOIN C6STAGING.RP_DETTIMMOBILIARE B + ON A.CHIAVEPRODOTTOTERZI = B.CHIAVEPRODOTTOTERZI + JOIN C6MART.VCONTRATTI C + ON A.CHIAVECLIENTEPB = C.CHIAVECLIENTEPB + WHERE A.IDTIPOPRODOTTO = 'IM' + /* + FROM C6STAGING.ALL_PATR_TERZI + WHERE ALL_PATR_TERZI.CHIAVE_PR_31921 IS NOT NULL + --V Dal passaggio in prod del 21/10/2010 su oracle questo campo è sempre null AND ALL_PATR_TERZI.CHIAVE_RDESC IS NOT NULL + AND ALL_PATR_TERZI.DESCRIZIONE_RDESCR IS NOT NULL + */ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_20190107_ProQuota.sql b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_20190107_ProQuota.sql new file mode 100644 index 00000000..a5cff69e --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_20190107_ProQuota.sql @@ -0,0 +1,100 @@ +--select * from c6mart.patrimonio_immobiliare +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_IMMOBILIARE_20190107_ProQuota] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_IMMOBILIARE_20190107_ProQuota + INSERT INTO [C6Mart].[PATRIMONIO_IMMOBILIARE_20190107_ProQuota] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[VALORE_STIMATO_PROQUOTA] + ,[PROQUOTA]) + SELECT + -- DISTINCT Atringali 12012010 + C.RETE, --ALL_PATR_TERZI.RETE_PB AS RETE, + C.COD_FISCALE, --ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + B.DESCRIZIONE, --ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, --b.descrizione + B.TIPOLOGIA, + /* + CASE ALL_PATR_TERZI.TIPOLOGIA_RDESCR --tipologia? cos'è il codice Tipologia + WHEN 'Civil' THEN 'Civile' + WHEN 'Economic' THEN 'Economica' + WHEN 'Posh' THEN 'Signorile' + ELSE '' + END AS TIPOLOGIA, + Verificare il tipo tipologia sul nuovo per mettere la giusta case + verificato con alessia la descrizione tipologia può finire sul report + */ + B.COMUNE AS COMUNE, --ALL_PATR_TERZI.LOCALITA AS LOCALITA, --comune è null verificare se è corretto + B.codProvincia AS PROVINCIA, --NULL AS PROVINCIA, --provincia + NULL AS CAP, + NULL AS NAZIONE, + B.VALOREIMMOBILETOTALE, --ALL_PATR_TERZI.PATRIMONIO_IMMOBILIARE AS VALORE_STIMATO,--valore immobile + B.RENDITAANNUA, --ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, --renditaAnnua + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + B.valoreImmobileProQuota, + B.ProQuota + FROM C6STAGING.RP_PATRIMONIOTERZI A + JOIN C6STAGING.RP_DETTIMMOBILIARE_20190107_ProQuota B + ON A.CHIAVEPRODOTTOTERZI = B.CHIAVEPRODOTTOTERZI + JOIN C6MART.VCONTRATTI C + ON A.CHIAVECLIENTEPB = C.CHIAVECLIENTEPB + WHERE A.IDTIPOPRODOTTO = 'IM' + /* + FROM C6STAGING.ALL_PATR_TERZI + WHERE ALL_PATR_TERZI.CHIAVE_PR_31921 IS NOT NULL + --V Dal passaggio in prod del 21/10/2010 su oracle questo campo è sempre null AND ALL_PATR_TERZI.CHIAVE_RDESC IS NOT NULL + AND ALL_PATR_TERZI.DESCRIZIONE_RDESCR IS NOT NULL + */ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql new file mode 100644 index 00000000..0ebc9268 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql @@ -0,0 +1,106 @@ +--select * from c6mart.PATRIMONIO_IMMOBILIARE_ProQuota +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE_PROQUOTA', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_IMMOBILIARE_ProQuota + INSERT INTO [C6Mart].[PATRIMONIO_IMMOBILIARE_ProQuota]( + [RETE], + [COD_FISCALE], + Descrizione, + Tipologia, + Localita, + AffittoPercepito, + [VALORE_STIMATO], + Totale, + TotaleAffitto, + [TIPOLOGIA_DIRITTO], + [PROQUOTA], + [VALORE_STIMATO_PROQUOTA], + TotaleProQuota + ) + select + vp.Rete, + vp.Cod_Fiscale, + vp.Descrizione , + vp.Tipologia, + vp.Localita, + vp.AffittoPercepito, + vp.Valore, + vp.Totale, + vp.TotaleAffitto, + vp.TipologiaDiritto, + vp.ProQuota, + vp.Valore_ProQuota, + vp.TotaleProQuota + from + [C6Mart].[RP_vContrattiPerGenerazioneReport] vc + inner join C6Mart.vPatrimonioImmobiliare vp + on vc.rete = vp.rete + and vc.cod_fiscale = vp.cod_fiscale + --select vContratti.Rete, + -- vContratti.Cod_Fiscale, + -- dett.valoreImmobileTotale as Valore_Stimato, + -- coin.moltiplicatoreDiritto * dett.valoreImmobileTotale as Valore_Stimato_ProQuota, + -- coin.moltiplicatoreDiritto * 100 as ProQuota, + -- dett.TipologiaDiritto + --from + -- C6Mart.vContrattiPerGenerazioneReport vContratti + -- --(select top 100 rete, cod_fiscale from c6mart.vContratti where Cod_Fiscale = 'BRNVLM35H61L407Q') vContratti + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.vInfoCliente vInfo + -- on vContratti.Cod_Fiscale = vInfo.CodFis + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.Cointestatari coin + -- on vInfo.chiaveClientePB = coin.chiaveClientePB + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.DettImmobiliare dett + -- on dett.chiaveProdottoTerzi = coin.chiaveProdottoTerzi + --union + --select vContratti.Rete, + -- vContratti.Cod_Fiscale, + -- dett.valoreImmobileTotale as Valore_Stimato, + -- dett.valoreImmobileTotale as Valore_Stimato_ProQuota, + -- 100 as ProQuota, + -- isnull(dett.TipologiaDiritto, 'Proprietà') as TipologiaDiritto + --from + -- C6Mart.vContrattiPerGenerazioneReport vContratti + -- --(select top 100 rete, cod_fiscale from c6mart.vContratti where Cod_Fiscale = 'BRNVLM35H61L407Q') vContratti + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.vInfoCliente vInfo + -- on vContratti.Cod_Fiscale = vInfo.CodFis + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.PatrimonioTerzi coin + -- on vInfo.chiaveClientePB = coin.chiaveClientePB + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.DettImmobiliare dett + -- on dett.chiaveProdottoTerzi = coin.chiaveProdottoTerzi + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE_PROQUOTA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE_PROQUOTA' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_TERZI.sql b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_TERZI.sql new file mode 100644 index 00000000..0e21610c --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_TERZI.sql @@ -0,0 +1,159 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_TERZI] +AS +BEGIN + SET NOCOUNT ON; + SET ARITHABORT OFF + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_TERZI + INSERT INTO [C6Mart].[PATRIMONIO_TERZI] + ( +--chiaveClientePB, + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + RP_PatrimonioTerzi.chiaveProdottoTerzi AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6Staging.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6Staging.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + --------------------- intervento del 19/2/2018 per gestire ctv e capitale_investito più grandi del consentito + --RP_PatrimonioTerzi.ctv AS CTV, + --RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + case + when RP_PatrimonioTerzi.ctv > 999999999999.00 then 999999999999.00 + else RP_PatrimonioTerzi.ctv + end AS CTV, + case + when RP_DettProdottiTerzi.capitaleInvestito > 999999999999.00 then 999999999999.00 + else RP_DettProdottiTerzi.capitaleInvestito + end AS VERSATO_NETTO, + --------------------- fine intervento del 19/2/2018 + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + WHEN RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.Other' + THEN 'Portafoglio Generico' + WHEN RP_PatrimonioTerzi.tipoProd IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') + THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + RP_CatalogoProdotti.AzOb AS STRTYPE, --manca (farselo dire da Alessia) (obbligazionario o azionario) + RP_CatalogoProdotti.Complessita AS COMPLEX, + RP_AnEmittente.Descrizione AS EMITTENTE, + RP_PatrimonioTerzi.chiaveProdottoTerzi AS chiave_thr, --da rivedere + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6Mart.VCONTRATTI + INNER JOIN + C6Staging.RP_PatrimonioTerzi + ON VCONTRATTI.chiaveClientePB = RP_PatrimonioTerzi.chiaveClientePB + INNER JOIN + C6Staging.RP_DettProdottiTerzi + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi + INNER JOIN + C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3 ON C6Staging.RP_DettProdottiTerzi.alberatura = C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + LEFT JOIN + C6Staging.RP_CatalogoProdotti ON C6Staging.RP_DettProdottiTerzi.chiaveProdotto = C6Staging.RP_CatalogoProdotti.ChiaveProdotto + LEFT JOIN + C6Staging.RP_AnEmittente ON C6Staging.RP_CatalogoProdotti.Emittente = C6Staging.RP_AnEmittente.Emittente + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_TERZI_20180219.sql b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_TERZI_20180219.sql new file mode 100644 index 00000000..0be85dd5 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_TERZI_20180219.sql @@ -0,0 +1,249 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_TERZI_20180219] +AS +BEGIN + SET NOCOUNT ON; + SET ARITHABORT OFF + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_TERZI + INSERT INTO [C6Mart].[PATRIMONIO_TERZI] + ( +--chiaveClientePB, + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) +--select +--ALL_PATR_TERZI.RETE_PB AS RETE, -- +-- ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, -- +-- NULL AS NUM_POLIZZA, +-- ALL_PATR_TERZI.TIPO_POLIZZA_BT_97BEE AS TIPO_POLIZZA, +-- --COALESCE(PRODOTTI_A_CATALOGO.TIPO_PRODOTTO, PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO) AS TIPO_PRODOTTO, +-- CASE +-- WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' AND S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 = 'Conti correnti' +-- THEN 'Altro' +-- ELSE +-- COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) +-- END AS TIPO_PRODOTTO, +-- PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO2 AS TIPO_PRODOTTO2, +-- ISNULL(ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO,'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, -- +-- ISNULL(ALL_PATR_TERZI.CHIAVE_THR,'PRODOTTO IN CATALOGO') AS COD_PRODOTTO_TERZI, -- +-- ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, -- +-- --ALL_PATR_TERZI.DATA_INIZIO_INV AS DATA_SOTTOSCRIZIONE, -- +-- --ISNULL(ALL_PATR_TERZI.DATA_INIZIO_INV, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ) AS DATA_SOTTOSCRIZIONE, +-- --ALL_PATR_TERZI.BALANCEDATETIME_DI_THR AS DATA_SOTTOSCRIZIONE, +-- CASE +-- WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.PolizzeRivalutabili') -- PRODOTTI S49 +-- THEN ISNULL(ALL_PATR_TERZI.DATA_SOTTOSCRIZIONE, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ) +-- WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.ProdottiPrevidenziali') -- PRODOTTI S50 +-- THEN ALL_PATR_TERZI.BALANCEDATETIME_DI_THR -- EQUIVALENTE A ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ +-- ELSE -- PRODOTTI S48 +-- ALL_PATR_TERZI.DATA_INIZIO_INV +-- END AS DATA_SOTTOSCRIZIONE, +-- ALL_PATR_TERZI.DATA_SCADENZA AS DATA_SCADENZA, +-- ALL_PATR_TERZI.TIPO_VERSAMENTO_BT_6797 AS FREQ_RATA, -- +-- NULL AS DURATA_POLIZZA, +-- ALL_PATR_TERZI.PREMIO_VERSAMENTO AS PREMIO, +-- NULL AS ALIQUOTA, +-- ALL_PATR_TERZI.BALANCEDATETIME_DI_THR AS DATA_SOTT_FP, +-- NULL AS DATA_REGOLAMENTO, +-- NULL AS QUANTITA, +-- NULL AS PREZZO, +-- ALL_PATR_TERZI.PATRIMONIO_TERZI AS CTV, -- +-- ALL_PATR_TERZI.CAPITALE_INVESTITO AS VERSATO_NETTO, -- +-- NULL AS DIV_REGOLAMENTO, +-- NULL AS CAMBIO, +-- CASE +-- WHEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' +-- THEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 +-- WHEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' +-- THEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 +-- WHEN (S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' +-- AND ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) +-- THEN 'Prodotti di Tipo amministrato (escluso C/C)' +-- WHEN (S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') +-- or (S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' +-- and S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' +-- and S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) +-- THEN 'Assicurativi Unit/Index Linked' +-- WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' +-- THEN 'Portafoglio Generico' +-- WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') +-- THEN NULL +-- ELSE NULL +-- END AS DESCR_GRUPPO_PRODOTTO, -- +-- STRTYPE, -- +-- COMPLEX, -- +-- EMITTENTE, -- +-- ALL_PATR_TERZI.CHIAVE_THR, +-- @ID_ELAB AS ID_ELAB, +-- @TIPO_ELAB AS TIPO_ELAB +-- FROM C6STAGING.ALL_PATR_TERZI +-- INNER JOIN C6STAGING.S4_S5_S13_TRAD_UNTIL_LIV3 +-- ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA +-- LEFT JOIN ( +-- SELECT DISTINCT +-- ALL_PATR_TERZI.CHIAVE_THR AS CHIAVE_THR, -- +-- COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, -- +-- S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 AS TIPO_PRODOTTO2 +-- FROM C6STAGING.ALL_PATR_TERZI +-- INNER JOIN C6STAGING.S4_S5_S13_TRAD_UNTIL_LIV3 +-- ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA +-- ) AS PRODOTTI_NON_A_CATALOGO +-- ON PRODOTTI_NON_A_CATALOGO.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_THR +-- LEFT JOIN ( +-- SELECT +-- CATITEMREF.CATALOGUEID AS CATALOGUEID, +-- CATITEMREF.TIPOPRODOTTO AS TIPO_PRODOTTO, +-- CATITEMREF.STRTYPE, +-- CATITEMREF.COMPLEX, +-- MIT.DESCR AS EMITTENTE +-- FROM +-- C6STAGING.CATITEMREF LEFT OUTER JOIN +-- C6STAGING.EMIT MIT +-- ON MIT.CODEMI=CATITEMREF.CODEMI +-- ) PRODOTTI_A_CATALOGO +-- ON PRODOTTI_A_CATALOGO.CATALOGUEID = ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO + SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere +-- CASE +-- WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' AND S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 = 'Conti correnti' +-- THEN 'Altro' +-- ELSE +-- COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) +-- END AS TIPO_PRODOTTO, + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + RP_PatrimonioTerzi.chiaveProdottoTerzi AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6Staging.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6Staging.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + RP_PatrimonioTerzi.ctv AS CTV, + RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + WHEN RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.Other' + THEN 'Portafoglio Generico' + WHEN RP_PatrimonioTerzi.tipoProd IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') + THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + --'' AS DESCR_GRUPPO_PRODOTTO, --se mi dici adesso come si chiama questo campo (ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO) è fatta + RP_CatalogoProdotti.AzOb AS STRTYPE, --manca (farselo dire da Alessia) (obbligazionario o azionario) + RP_CatalogoProdotti.Complessita AS COMPLEX, + RP_AnEmittente.Descrizione AS EMITTENTE, + RP_PatrimonioTerzi.chiaveProdottoTerzi AS chiave_thr, --da rivedere + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO C6MART.PATRIMONIO_TERZI + FROM + C6Mart.VCONTRATTI + INNER JOIN + C6Staging.RP_PatrimonioTerzi + ON VCONTRATTI.chiaveClientePB = RP_PatrimonioTerzi.chiaveClientePB + INNER JOIN + C6Staging.RP_DettProdottiTerzi + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi + INNER JOIN + C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3 ON C6Staging.RP_DettProdottiTerzi.alberatura = C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + LEFT JOIN + C6Staging.RP_CatalogoProdotti ON C6Staging.RP_DettProdottiTerzi.chiaveProdotto = C6Staging.RP_CatalogoProdotti.ChiaveProdotto + LEFT JOIN + C6Staging.RP_AnEmittente ON C6Staging.RP_CatalogoProdotti.Emittente = C6Staging.RP_AnEmittente.Emittente + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_TERZI_Param.sql b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_TERZI_Param.sql new file mode 100644 index 00000000..2b7230f1 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_TERZI_Param.sql @@ -0,0 +1,147 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_TERZI_Param]( + @Rete varchar(1), + @CodiceFiscale varchar(20) +) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + --INSERT INTO LOG_ESECUZIONE + -- (Nome, Inizio, Nota) + --VALUES ( + -- 'RP_DM_PATRIMONIO_TERZI', + -- GETDATE(), + -- 'Elaborazione giornaliera' + --) + --TRUNCATE TABLE C6MART.PATRIMONIO_TERZI + INSERT INTO [C6Mart].[PATRIMONIO_TERZI] + ( +--chiaveClientePB, + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere +-- CASE +-- WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' AND S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 = 'Conti correnti' +-- THEN 'Altro' +-- ELSE +-- COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) +-- END AS TIPO_PRODOTTO, + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + RP_PatrimonioTerzi.chiaveProdottoTerzi AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6Staging.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6Staging.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + RP_PatrimonioTerzi.ctv AS CTV, + RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + WHEN RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.Other' + THEN 'Portafoglio Generico' + WHEN RP_PatrimonioTerzi.tipoProd IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') + THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + --'' AS DESCR_GRUPPO_PRODOTTO, --se mi dici adesso come si chiama questo campo (ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO) è fatta + RP_CatalogoProdotti.AzOb AS STRTYPE, --manca (farselo dire da Alessia) (obbligazionario o azionario) + RP_CatalogoProdotti.Complessita AS COMPLEX, + RP_AnEmittente.Descrizione AS EMITTENTE, + RP_PatrimonioTerzi.chiaveProdottoTerzi AS chiave_thr, --da rivedere + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO C6MART.PATRIMONIO_TERZI + FROM + C6Mart.VCONTRATTI + INNER JOIN + C6Staging.RP_PatrimonioTerzi + ON VCONTRATTI.chiaveClientePB = RP_PatrimonioTerzi.chiaveClientePB + INNER JOIN + C6Staging.RP_DettProdottiTerzi + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi + INNER JOIN + C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3 ON C6Staging.RP_DettProdottiTerzi.alberatura = C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + LEFT JOIN + C6Staging.RP_CatalogoProdotti ON C6Staging.RP_DettProdottiTerzi.chiaveProdotto = C6Staging.RP_CatalogoProdotti.ChiaveProdotto + LEFT JOIN + C6Staging.RP_AnEmittente ON C6Staging.RP_CatalogoProdotti.Emittente = C6Staging.RP_AnEmittente.Emittente + where + VCONTRATTI.rete = @Rete + and + VCONTRATTI.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_TERZI_luca.sql b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_TERZI_luca.sql new file mode 100644 index 00000000..663182b1 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_PATRIMONIO_TERZI_luca.sql @@ -0,0 +1,136 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_TERZI_luca] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + TRUNCATE TABLE C6MART.PATRIMONIO_TERZI + INSERT INTO [C6Mart].[PATRIMONIO_TERZI] + ( +--chiaveClientePB, + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + --(CASE RP_DettProdottiTerzi.tipoPolizza + -- WHEN 'CapitaleDifferito' THEN 'Capitale differito' + -- WHEN 'MistaImmediata' THEN 'Mista immediata' + -- WHEN 'VitaIntera' THEN 'Vita intera' + -- WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + -- WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + -- ELSE RP_DettProdottiTerzi.tipoPolizza + -- END) AS TIPO_POLIZZA, + null AS TIPO_POLIZZA, + --COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere + null AS TIPO_PRODOTTO, + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + RP_PatrimonioTerzi.chiaveProdottoTerzi AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + --RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + null AS INTERMEDIARIO, + --case when C6Staging.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + -- then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + -- when C6Staging.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + -- then RP_PatrimonioTerzi.DATACTV + -- else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + --end AS DATA_SOTTOSCRIZIONE, + null AS DATA_SOTTOSCRIZIONE, + --RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + null AS DATA_SCADENZA, + --RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + null AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + case + when RP_PatrimonioTerzi.ctv > 999999999999.00 then 999999999999.00 + else RP_PatrimonioTerzi.ctv + end AS CTV, + case + when RP_DettProdottiTerzi.capitaleInvestito > 999999999999.00 then 999999999999.00 + else RP_DettProdottiTerzi.capitaleInvestito + end AS VERSATO_NETTO, + --RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, --mod + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + WHEN RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.Other' + THEN 'Portafoglio Generico' + WHEN RP_PatrimonioTerzi.tipoProd IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') + THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + RP_CatalogoProdotti.AzOb AS STRTYPE, --manca (farselo dire da Alessia) (obbligazionario o azionario) + RP_CatalogoProdotti.Complessita AS COMPLEX, + RP_AnEmittente.Descrizione AS EMITTENTE, + RP_PatrimonioTerzi.chiaveProdottoTerzi AS chiave_thr, --da rivedere + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6Mart.VCONTRATTI + INNER JOIN + C6Staging.RP_PatrimonioTerzi + ON VCONTRATTI.chiaveClientePB = RP_PatrimonioTerzi.chiaveClientePB + INNER JOIN + C6Staging.RP_DettProdottiTerzi + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi + INNER JOIN + C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3 ON C6Staging.RP_DettProdottiTerzi.alberatura = C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + LEFT JOIN + C6Staging.RP_CatalogoProdotti ON C6Staging.RP_DettProdottiTerzi.chiaveProdotto = C6Staging.RP_CatalogoProdotti.ChiaveProdotto + LEFT JOIN + C6Staging.RP_AnEmittente ON C6Staging.RP_CatalogoProdotti.Emittente = C6Staging.RP_AnEmittente.Emittente +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_PIRAMIDE_MOD.sql b/sql/storedProduzione/C6Mart_RP_DM_PIRAMIDE_MOD.sql new file mode 100644 index 00000000..043685fe --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_PIRAMIDE_MOD.sql @@ -0,0 +1,95 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PIRAMIDE_MOD] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PIRAMIDE_MOD', + GETDATE(), + 'Elaborazione giornaliera' + ) + --TRUNCATE TABLE C6MART.PIRAMIDE_MOD + DELETE FROM C6MART.PIRAMIDE_MOD + INSERT INTO [C6Mart].[PIRAMIDE_MOD] + ( +--chiaveClientePB +-- , + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE, + rp_pirmod.area AS ID_AREA, + --case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then rp_pirmod.nomeProgetto + -- ELSE NULL END + -- AS NOME_PROGETTO, + rp_pirmod.nomeProgetto AS NOME_PROGETTO, --- NUOVO + --en-20160916 + --case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' + -- else 'Default' + -- end AS TIPO_PROGETTO, + null AS TIPO_PROGETTO, + rp_pirmod.percentualeProgetto AS PERC_AREA, + NULL AS CTV_PROGETTO, + NULL AS CTV_AREA, + rp_pirmod.durata AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6Staging.RP_ProgettiPiramideModello AS rp_pirmod + INNER JOIN + C6Mart.VCONTRATTI + ON + rp_pirmod.chiaveClientePB = C6Mart.VCONTRATTI.chiaveClientePB + WHERE + DtFineValidita > getdate() + --en-201616 and ((area = 'Inv') OR (area <> 'Inv' and tipoProgetto = 0)) + and area not in ('VOID','LIGHT') --- AGGIUNTO 19/09 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI.sql b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI.sql new file mode 100644 index 00000000..15d8ed83 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI.sql @@ -0,0 +1,296 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +-- Modifica del 27/11/2018 per la gestione del doppio pb - +-- Nel caso di doppio pb, con pb primario diverso dal precedente (CHIAVECLIENTEPB nuova), dobbiamo evitare di far stampare un nuovo +-- report di benvenuto, creando una occorrenza sulla CONTRATTOSEI_METADATI CON INVIOBENVENUTO = 'S' + INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + 'S', + 'N', + 1, + 0, + 0, + NULL, + NULL, + 'S', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + inner joiN [C6mart].[GESTIONE_PDF_FTP] B + ON A.RETE= B.RETE AND A.COD_FISCALE = B.CODICEFISCALE + AND A.CODICECONTRATTO = LEFT(B.NOMEFILE,LEN(A.CODICECONTRATTO)) + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] c + ON A.chiaveClientePB = C.CHIAVECLIENTEPB + WHERE C.CHIAVECLIENTEPB IS NULL +-- Fine Modifica del 27/11/2018 per la gestione del doppio pb - +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + --Clienti professionali esclusi dal giornaliero 13/06/2017 + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale in ( + --'FMGNGPP55B25G224T', + --'FFF@5844' + --) + ------per rimediare errore nel giornaliero il 27/07/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('F00624130431') + ------T-2271865-L0H7 del 26/10/2017 --scommentato il 2/1/2018, richiesto via mail di sollecito l'invio lettera + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale in ( + ----'FTSTLCN48R14H501A' + ----) + ------ cliente con prodotti multiramo da sistemare 13/11/2017 + ------ intervanto aggregazione s+m completato e testato il 20171116 + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale in ( + --'FDFRNTN54C12E625S' + --) + ------per rimediare l'errore VarAdeguatezza il 05/12/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('F01248331215') + ------per rimediare l'errore VarAdeguatezza il 22/12/2017; 03/01/2018 riprovato con errorr + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('FRYNCRL63E11L219J') + ------per rimediare l'errore VarAdeguatezza il 04/01/2018 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('S02312260710') +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- +-- Modifica del 03/10/2018 per gestire i casi in cui il campo InvioBenvenuto è una data +begin try + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL + end try + begin catch + end catch +-- Fine Modifica del 03/10/2018 +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_2011026.sql b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_2011026.sql new file mode 100644 index 00000000..f474475f --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_2011026.sql @@ -0,0 +1,237 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_2011026] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti professionali esclusi dal giornaliero 13/06/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FMGNGPP55B25G224T', + 'FFF@5844' + ) + ------per rimediare errore nel giornaliero il 27/07/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'F00624130431' + ) +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20160315.sql b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20160315.sql new file mode 100644 index 00000000..62611e93 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20160315.sql @@ -0,0 +1,194 @@ +--create view as +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20160315] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI + SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +-- DELETE from C6MART.VCONTRATTI +-- where rete+cod_fiscale = 'FFF@9700' +----FINE FORZATURA +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_201700302_ripristino_del_20170127.sql b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_201700302_ripristino_del_20170127.sql new file mode 100644 index 00000000..6abfcc25 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_201700302_ripristino_del_20170127.sql @@ -0,0 +1,210 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_201700302_ripristino_del_20170127] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'FMRTRND45C07F930Z' + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'FVNARRT65S64Z326I' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170127.sql b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170127.sql new file mode 100644 index 00000000..e766ac04 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170127.sql @@ -0,0 +1,210 @@ +CREATE PROCEDURE [C6Mart].[RP_DM_POPOLACONTRATTI_20170127] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'FMRTRND45C07F930Z' + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'FVNARRT65S64Z326I' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170322.sql b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170322.sql new file mode 100644 index 00000000..865634d6 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170322.sql @@ -0,0 +1,210 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20170322] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170524.sql b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170524.sql new file mode 100644 index 00000000..3152aadc --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170524.sql @@ -0,0 +1,213 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20170524] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per errore del giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170607_mifid.sql b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170607_mifid.sql new file mode 100644 index 00000000..817d7f49 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170607_mifid.sql @@ -0,0 +1,216 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20170607_mifid] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170613.sql b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170613.sql new file mode 100644 index 00000000..60f78f1d --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170613.sql @@ -0,0 +1,226 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20170613] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170727_VarAdeguatezza.sql b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170727_VarAdeguatezza.sql new file mode 100644 index 00000000..45aded75 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20170727_VarAdeguatezza.sql @@ -0,0 +1,232 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20170727_VarAdeguatezza] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti professionali esclusi dal giornaliero 13/06/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FMGNGPP55B25G224T', + 'FFF@5844' + ) +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20171113.sql b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20171113.sql new file mode 100644 index 00000000..16e1e323 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20171113.sql @@ -0,0 +1,242 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20171113] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti professionali esclusi dal giornaliero 13/06/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FMGNGPP55B25G224T', + 'FFF@5844' + ) + ------per rimediare errore nel giornaliero il 27/07/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'F00624130431' + ) + ------T-2271865-L0H7 del 26/10/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FTSTLCN48R14H501A' + ) +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20171205.sql b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20171205.sql new file mode 100644 index 00000000..85037884 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20171205.sql @@ -0,0 +1,248 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20171205] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti professionali esclusi dal giornaliero 13/06/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FMGNGPP55B25G224T', + 'FFF@5844' + ) + ------per rimediare errore nel giornaliero il 27/07/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'F00624130431' + ) + ------T-2271865-L0H7 del 26/10/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FTSTLCN48R14H501A' + ) + ------ cliente con prodotti multiramo da sistemare 13/11/2017 + ------ intervanto aggregazione s+m completato e testato il 20171116 + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale in ( + --'FDFRNTN54C12E625S' + --) +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20171222.sql b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20171222.sql new file mode 100644 index 00000000..d9d569f7 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20171222.sql @@ -0,0 +1,253 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20171222] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti professionali esclusi dal giornaliero 13/06/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FMGNGPP55B25G224T', + 'FFF@5844' + ) + ------per rimediare errore nel giornaliero il 27/07/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'F00624130431' + ) + ------T-2271865-L0H7 del 26/10/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FTSTLCN48R14H501A' + ) + ------ cliente con prodotti multiramo da sistemare 13/11/2017 + ------ intervanto aggregazione s+m completato e testato il 20171116 + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale in ( + --'FDFRNTN54C12E625S' + --) + ------per rimediare l'errore VarAdeguatezza il 05/12/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'F01248331215' + ) +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20180102.sql b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20180102.sql new file mode 100644 index 00000000..7f01ac8f --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20180102.sql @@ -0,0 +1,258 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20180102] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti professionali esclusi dal giornaliero 13/06/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FMGNGPP55B25G224T', + 'FFF@5844' + ) + ------per rimediare errore nel giornaliero il 27/07/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'F00624130431' + ) + ------T-2271865-L0H7 del 26/10/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FTSTLCN48R14H501A' + ) + ------ cliente con prodotti multiramo da sistemare 13/11/2017 + ------ intervanto aggregazione s+m completato e testato il 20171116 + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale in ( + --'FDFRNTN54C12E625S' + --) + ------per rimediare l'errore VarAdeguatezza il 05/12/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'F01248331215' + ) + ------per rimediare l'errore VarAdeguatezza il 22/12/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FRYNCRL63E11L219J' + ) +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20180103.sql b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20180103.sql new file mode 100644 index 00000000..aa99b649 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20180103.sql @@ -0,0 +1,258 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20180103] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti professionali esclusi dal giornaliero 13/06/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FMGNGPP55B25G224T', + 'FFF@5844' + ) + ------per rimediare errore nel giornaliero il 27/07/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'F00624130431' + ) + ------T-2271865-L0H7 del 26/10/2017 --scommentato il 2/1/2018, richiesto via mail di sollecito l'invio lettera + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale in ( + ----'FTSTLCN48R14H501A' + ----) + ------ cliente con prodotti multiramo da sistemare 13/11/2017 + ------ intervanto aggregazione s+m completato e testato il 20171116 + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale in ( + --'FDFRNTN54C12E625S' + --) + ------per rimediare l'errore VarAdeguatezza il 05/12/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'F01248331215' + ) + ------per rimediare l'errore VarAdeguatezza il 22/12/2017 + ------DELETE from C6MART.VCONTRATTI + ------where rete+cod_fiscale in ( + ------'FRYNCRL63E11L219J' + ------) +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20180104.sql b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20180104.sql new file mode 100644 index 00000000..6bb0c558 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20180104.sql @@ -0,0 +1,258 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20180104] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti professionali esclusi dal giornaliero 13/06/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FMGNGPP55B25G224T', + 'FFF@5844' + ) + ------per rimediare errore nel giornaliero il 27/07/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'F00624130431' + ) + ------T-2271865-L0H7 del 26/10/2017 --scommentato il 2/1/2018, richiesto via mail di sollecito l'invio lettera + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale in ( + ----'FTSTLCN48R14H501A' + ----) + ------ cliente con prodotti multiramo da sistemare 13/11/2017 + ------ intervanto aggregazione s+m completato e testato il 20171116 + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale in ( + --'FDFRNTN54C12E625S' + --) + ------per rimediare l'errore VarAdeguatezza il 05/12/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'F01248331215' + ) + ------per rimediare l'errore VarAdeguatezza il 22/12/2017; 03/01/2018 riprovato con errorr + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FRYNCRL63E11L219J' + ) +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20181003.sql b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20181003.sql new file mode 100644 index 00000000..306c6fed --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20181003.sql @@ -0,0 +1,255 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20181003] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + --Clienti professionali esclusi dal giornaliero 13/06/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FMGNGPP55B25G224T', + 'FFF@5844' + ) + ------per rimediare errore nel giornaliero il 27/07/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('F00624130431') + ------T-2271865-L0H7 del 26/10/2017 --scommentato il 2/1/2018, richiesto via mail di sollecito l'invio lettera + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale in ( + ----'FTSTLCN48R14H501A' + ----) + ------ cliente con prodotti multiramo da sistemare 13/11/2017 + ------ intervanto aggregazione s+m completato e testato il 20171116 + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale in ( + --'FDFRNTN54C12E625S' + --) + ------per rimediare l'errore VarAdeguatezza il 05/12/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('F01248331215') + ------per rimediare l'errore VarAdeguatezza il 22/12/2017; 03/01/2018 riprovato con errorr + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('FRYNCRL63E11L219J') + ------per rimediare l'errore VarAdeguatezza il 04/01/2018 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('S02312260710') +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20181127.sql b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20181127.sql new file mode 100644 index 00000000..88deeb94 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_POPOLACONTRATTI_20181127.sql @@ -0,0 +1,261 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20181127] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + --Clienti professionali esclusi dal giornaliero 13/06/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FMGNGPP55B25G224T', + 'FFF@5844' + ) + ------per rimediare errore nel giornaliero il 27/07/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('F00624130431') + ------T-2271865-L0H7 del 26/10/2017 --scommentato il 2/1/2018, richiesto via mail di sollecito l'invio lettera + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale in ( + ----'FTSTLCN48R14H501A' + ----) + ------ cliente con prodotti multiramo da sistemare 13/11/2017 + ------ intervanto aggregazione s+m completato e testato il 20171116 + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale in ( + --'FDFRNTN54C12E625S' + --) + ------per rimediare l'errore VarAdeguatezza il 05/12/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('F01248331215') + ------per rimediare l'errore VarAdeguatezza il 22/12/2017; 03/01/2018 riprovato con errorr + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('FRYNCRL63E11L219J') + ------per rimediare l'errore VarAdeguatezza il 04/01/2018 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('S02312260710') +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- +-- Modifica del 03/10/2018 per gestire i casi in cui il campo InvioBenvenuto è una data +begin try + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL + end try + begin catch + end catch +-- Fine Modifica del 03/10/2018 +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_W6CLIESG.sql b/sql/storedProduzione/C6Mart_RP_DM_W6CLIESG.sql new file mode 100644 index 00000000..00e00515 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_W6CLIESG.sql @@ -0,0 +1,240 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_W6CLIESG] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_W6CLIESG', + GETDATE(), + 'Elaborazione Lettere di Benvenuto' + ) + TRUNCATE TABLE C6Mart.SPB_W6CLIESG + TRUNCATE TABLE C6Mart.W6CLIESG + INSERT INTO C6Mart.SPB_W6CLIESG + ( + [Rete] + ,[Codice_Agente] + ,[Codice_Fiscale] + ,[Piva_Fiduciaria] + ,[Codman] + ,[BeneficioDiversificazione] + ,[ValoreVaR] + ,[Riserva] + ,[PesoSostESG] + ,[CSP] + ,[ConcLungoPeriodo] + ,[Liquidita] + ,[NoSostESG] + ,[SostPercE] + ,[SostPercS] + ,[SostPercG] + ,[SostESGInLinea] + ,[SostPercEInLinea] + ,[SostPercSInLinea] + ,[SostPercGInLinea] + ,[NoSostSFDR] + ,[SostSFDR] + ,[SostSFDRInLinea] + ,[NoSostTaxonomy] + ,[SostTaxonomy] + ,[SostTaxonomyInLinea] + ,[NoSostPaiE] + ,[SostPaiE] + ,[SostPaiEInLinea] + ,[NoSostPaiS] + ,[SostPaiS] + ,[SostPaiSInLinea] + ,[Sost_E] + ,[Sost_S] + ,[Sost_G] + ,[percESG] + ,[UlterioriPrefSost] + ,[PercSFDR] + ,[PercTaxonomy] + ,[PAI_E] + ,[PAI_S] + ,[ListPAI_E] + ,[ListPAI_S]) + SELECT distinct + [Rete] + ,[Codice_Agente] + ,case when ISNULL(CODMAN,'')<>'' then 'FF@'+CODMAN + else Codice_Fiscale end as Codice_Fiscale + ,[Piva_Fiduciaria] + ,[Codman] + ,[BeneficioDiversificazione] + ,[ValoreVaR] + ,[Riserva] + ,[PesoSostESG] + ,[CSP] + ,[ConcLungoPeriodo] + ,[Liquidita] + ,[NoSostESG] + ,[SostPercE] + ,[SostPercS] + ,[SostPercG] + ,[SostESGInLinea] + ,[SostPercEInLinea] + ,[SostPercSInLinea] + ,[SostPercGInLinea] + ,[NoSostSFDR] + ,[SostSFDR] + ,[SostSFDRInLinea] + ,[NoSostTaxonomy] + ,[SostTaxonomy] + ,[SostTaxonomyInLinea] + ,[NoSostPaiE] + ,[SostPaiE] + ,[SostPaiEInLinea] + ,[NoSostPaiS] + ,[SostPaiS] + ,[SostPaiSInLinea] + ,[Sost_E] + ,[Sost_S] + ,[Sost_G] + ,[percESG] + ,[UlterioriPrefSost] + ,[PercSFDR] + ,[PercTaxonomy] + ,isnull([PAI_E],'') + ,isnull([PAI_S],'') + ,[ListPAI_E] + ,[ListPAI_S] +FROM [C6StampeCentralizzate].[C6Staging].[SPB_W6CliESG] +drop table if exists #st_split_E +drop table if exists #st_split_S +drop table if exists #st_split_ES +-- Step 1: Creazione delle tabelle temporanee +SELECT + value AS ListPAI_E, + [Rete], + [Codice_Agente], + CASE + WHEN CODMAN <> '' THEN 'FF@' + CODMAN + ELSE Codice_Fiscale + END AS COD_FISCALE +INTO #st_split_E +FROM C6Mart.SPB_W6CLIESG +CROSS APPLY STRING_SPLIT(ListPAI_E, '|') +SELECT + value AS ListPAI_S, + [Rete], + [Codice_Agente], + CASE + WHEN CODMAN <> '' THEN 'FF@' + CODMAN + ELSE Codice_Fiscale + END AS COD_FISCALE +INTO #st_split_S +FROM C6Mart.SPB_W6CLIESG +CROSS APPLY STRING_SPLIT(ListPAI_S, '|') +--select * from C6Mart.SPB_W6CLIESG +--select * from #st_split_E +--select * from #st_split_S +-- Step 2: Aggregare le descrizioni in un'unica query +SELECT + [Rete], + [COD_FISCALE], + STRING_AGG(CASE + WHEN ListPAI_E = 'PAI_A01' THEN 'Emissioni gas serra' + WHEN ListPAI_E = 'PAI_A02' THEN 'Biodiversità' + WHEN ListPAI_E = 'PAI_A03' THEN 'Acqua' + WHEN ListPAI_E = 'PAI_A04' THEN 'Rifiuti' + WHEN ListPAI_E = 'PAI_A05' THEN 'Governativi di tipo Ambientale' + WHEN ListPAI_E = 'PAI_A07' THEN 'Efficienza energetica' + WHEN ListPAI_E = 'PAI_A08' THEN 'Settore Immobiliare' + ELSE NULL + END, ', ') AS PAI_E, + STRING_AGG(CASE + WHEN ListPAI_S = 'PAI_S01' THEN 'Questioni Sociali e dei Dipendenti' + WHEN ListPAI_S = 'PAI_S02' THEN 'Governativi di tipo Sociale' + ELSE NULL + END, ', ') AS PAI_S +into #st_split_ES +FROM ( + SELECT Rete, COD_FISCALE, ListPAI_E, NULL AS ListPAI_S + FROM #st_split_E + UNION ALL + SELECT Rete, COD_FISCALE, NULL AS ListPAI_E, ListPAI_S + FROM #st_split_S +) AS Combined +GROUP BY + [Rete], + [COD_FISCALE] +update b +set b.PAI_E=es.PAI_E, b.PAI_S=es.PAI_S +from C6Mart.SPB_W6CLIESG b +inner join #st_split_ES es +on b.Rete = es.Rete +and b.Codice_Fiscale = es.COD_FISCALE +insert into [C6Mart].[W6CLIESG] +SELECT CAST(CONVERT(VARCHAR(8), GETDATE(), 112) AS DECIMAL(8, 0)) AS DTTRIM, +RETE, +codice_fiscale as CODFIS, +'' as CODMAN, +UlterioriPrefSost as U_PREFSOST, +case when isnull(PercSFDR,0.00)=0.00 then 'N' else 'S' end as FLAGSFDR, +case when isnull(PercTaxonomy,0.00)=0.00 then 'N' else 'S' end as FLAGTAXO, +case when ListPAI_E='' and ListPAI_S='' then 'N' else 'S' end as FLAGPAI, +PercSFDR as SFDR_PERC, +PercTaxonomy as TAXO_PERC, +case when ListPAI_E like '%PAI_A01%' then 'S' else 'N' end as PAI_A01, +case when ListPAI_E like '%PAI_A02%' then 'S' else 'N' end as PAI_A02, +case when ListPAI_E like '%PAI_A03%' then 'S' else 'N' end as PAI_A03, +case when ListPAI_E like '%PAI_A04%' then 'S' else 'N' end as PAI_A04, +case when ListPAI_E like '%PAI_A05%' then 'S' else 'N' end as PAI_A05, +case when ListPAI_E like '%PAI_A07%' then 'S' else 'N' end as PAI_A07, +case when ListPAI_E like '%PAI_A08%' then 'S' else 'N' end as PAI_A08, +case when ListPAI_S like '%PAI_S01%' then 'S' else 'N' end as PAI_S01, +case when ListPAI_S like '%PAI_S02%' then 'S' else 'N' end as PAI_S02, +CASE WHEN ListPAI_E like '%PAI_A01%' THEN 'Emissioni gas serra' else '' end as PAI_A1, +CASE WHEN ListPAI_E like '%PAI_A02%' THEN 'Biodiversità' else '' end as PAI_A2, +CASE WHEN ListPAI_E like '%PAI_A03%' THEN 'Acqua' else '' end as PAI_A3, +CASE WHEN ListPAI_E like '%PAI_A04%' THEN 'Rifiuti' else '' end as PAI_A4, +CASE WHEN ListPAI_E like '%PAI_A05%' THEN 'Governativi di tipo Ambientale' else '' end as PAI_A5, +CASE WHEN ListPAI_E like '%PAI_A07%' THEN 'Efficienza energetica' else '' end as PAI_A7, +CASE WHEN ListPAI_E like '%PAI_A08%' THEN 'Settore Immobiliare' else '' end as PAI_A8, +CASE WHEN ListPAI_S like '%PAI_S01%' THEN 'Questioni Sociali e dei Dipendenti' else '' end as PAI_S1, +CASE WHEN ListPAI_S like '%PAI_S02%' THEN 'Governativi di tipo Sociale' else '' end as PAI_S2, +PAI_E as PAI_A, +PAI_S, +'N' as PAI_NO_DETT, +PesoSostESG as PERC1ESG, +SostPercE as PERCAMB, +SostPercS as PERCSOC, +SostPercG as PERCGOV, +SostPercEInLinea as PERCAMB_OK, +SostPercsInLinea as PERCSOC_OK, +SostPercgInLinea as PERCGOV_OK, +SostSFDR as SFDR_PERCT, +SostSFDRInLinea as SFDR_PERC_OK, +SostTaxonomy as TAXO_PERCT, +SostTaxonomyInLinea as TAXO_PERC_OK, +SostPaiE as PAIA_PERCT, +SostPaiEInLinea as PAIA_PERC_OK, +SostPaiS as PAIS_PERCT, +SostPaiSInLinea as PAIS_PERC_OK +from [c6mart].[SPB_W6CliESG] + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_W6CliESG' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_W6CliESG' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_W6CatESG.sql b/sql/storedProduzione/C6Mart_RP_DM_W6CatESG.sql new file mode 100644 index 00000000..f492f523 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_W6CatESG.sql @@ -0,0 +1,128 @@ +CREATE procedure [C6Mart].[RP_DM_W6CatESG] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_SPB_W6CatESG', + GETDATE(), + 'Elaborazione giornaliera' + ) +--drop table c6staging.RP_CatalogoProdotti + truncate table [C6StampeCentralizzate].[C6Mart].[SPB_W6CatESG] + truncate table [C6StampeCentralizzate].[C6Mart].[W6CatESG] +INSERT INTO [C6Mart].[SPB_W6CatESG] + ([Rete] + ,[Codice_Agente] + ,[Codice_Fiscale] + ,[Piva_Fiduciaria] + ,[CodiceContratto] + ,[FamigliaProdotto] + ,[CodiceProdotto] + ,[DescrizioneProdotto] + ,[CodiceTitolo] + ,[Conto] + ,[Custgar] + ,[Asset] + ,[Pct] + ,[CodiceSottoprodotto] + ,[DescrizioneSottoprodotto] + ,[Isin] + ,[IsinProxy] + ,[TipoFondo] + ,[Controvalore] + ,[Importo] + ,[QuantitaValoreNominale] + ,[VarComparto] + ,[CodiceLinea] + ,[Sost_E] + ,[Sost_S] + ,[Sost_G] + ,[ClasseComplessita] + ,[DescrizioneClasseComplessita] + ,[OrizzonteTemporale] + ,[FlagRiserva]) +SELECT [Rete] + ,[Codice_Agente] + ,[Codice_Fiscale] + ,[Piva_Fiduciaria] + ,[CodiceContratto] + ,case when [FamigliaProdotto]='AS' then 'ASU1' + when [FamigliaProdotto]='OF' then 'GE' + else [FamigliaProdotto] end as [FamigliaProdotto] + ,[CodiceProdotto] + ,[DescrizioneProdotto] + ,[CodiceTitolo] + ,[Conto] + ,[Custgar] + ,[Asset] + ,[Pct] + ,case when [CodiceLinea]='FP' then 'FP' else [CodiceSottoprodotto] end as [CodiceSottoprodotto] + ,[DescrizioneSottoprodotto] + ,[Isin] + ,[IsinProxy] + ,[TipoFondo] + ,[Controvalore] + ,[Importo] + ,[QuantitaValoreNominale] + ,[VarComparto] + ,[CodiceLinea] + ,[Sost_E] + ,[Sost_S] + ,[Sost_G] + ,[ClasseComplessita] + ,[DescrizioneClasseComplessita] + ,[OrizzonteTemporale] + ,[FlagRiserva] + FROM [C6StampeCentralizzate].[C6Staging].[SPB_W6CatESG] + update b + set b.positionID=a.POSITIONID --, b.catalogueID=a.catalogueID + from [C6Mart].[SPB_W6CatESG] b + left join C6Staging.SPB_CONTR_SINTESI a + on a.RETE=b.rete + and a.CODICEFISCALE=b.codice_fiscale + and a.CODICECONTRATTO=b.codicecontratto + and a.CTV = b.controvalore + update b + set b.positionID=a.POSITIONID --, b.catalogueID=a.catalogueID + from [C6Mart].[SPB_W6CatESG] b + left join C6Staging.SPB_CONTR_SINTESI a + on a.RETE=b.rete + and a.CODICEFISCALE=b.codice_fiscale + and a.CODICECONTRATTO=b.codicecontratto + and a.CODICEINTERNO = b.CodiceProdotto + and a.CODICESOTTOPRODOTTO=b.CodiceSottoprodotto + where b.PositionID is null + insert into [C6Mart].[W6CATESG] + select GETDATE() as dttrim, + '03296' as Banca, + Rete , + Codice_Fiscale as codfis, + '' as codman, + case when Sost_E='Y' then 'Y' else 'N' end as esg_e_prod_cli, + case when Sost_S='Y' then 'Y' else 'N' end as esg_s_prod_cli, + case when Sost_G='Y' then 'Y' else 'N' end as esg_g_prod_cli, + SUBSTRING(POSITIONID,1,57) as prodotto_id, + PositionID as position_id + from C6Mart.SPB_W6CatESG +-- select * from C6Staging.SPB_CONTR_SINTESI --where CODICEFISCALE='BCCSHR68B66H433Z' +-- select * from [C6Mart].[SPB_W6CatESG] --where Codice_Fiscale='BCCSHR68B66H433Z' + --- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_SPB_W6CatESG' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_SPB_W6CatESG' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_DM_WSEICAP.sql b/sql/storedProduzione/C6Mart_RP_DM_WSEICAP.sql new file mode 100644 index 00000000..948e04c5 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_DM_WSEICAP.sql @@ -0,0 +1,71 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_WSEICAP] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_WSEICAP', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6Mart.WSEICAP + INSERT INTO C6Mart.[WSEICAP] + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[COD_FISCALE] + ,[CODCONF] + ,[SUBPROD] + ,[ISIN] + ,[DTINIZ] + ,[DTFINE] + ,[CTV_COMMIT] + ,[IMPVERS] + ,[IMPRES] + ,[DESCPROD] + ,[SGR]) + select + '99999999' as DTTRIM, + '99999999' as DTRIFE, +PATRBF.rete as RETE, +PATRBF.COD_FISCALE as COD_FISCALE, +PATRBF.ID_CONTRATTO as CODCONF, +PATRBF.COD_SOTTOPRODOTTO as SUBPROD, +PATRBF.ISIN as ISIN, +ICAP.dataInizioCommitment as DTINIZ, +ICAP.dataFineCommitment as DTFINE, +ICAP.totaleCommitment as CTV_COMMIT, +ICAP.importoVersato as IMPVERS, +ICAP.importoDaVersare as IMPRES, +ANAG.DESCR_PRODOTTO as DESCPROD, +ANAG.DESCR_SGR as SGR +from C6Mart.PATRIMONIO_BF PATRBF +inner join C6Staging.SPB_wseicap ICAP on PATRBF.ID_CONTRATTO=ICAP.codicecontratto +and PATRBF.ISIN=ICAP.isin +left join C6MART.ANAG_PRODOTTI ANAG +ON ANAG.COD_PRODOTTO = PATRBF.COD_PRODOTTO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_WSEICAP' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_WSEICAP' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql b/sql/storedProduzione/C6Mart_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql new file mode 100644 index 00000000..9a2cc043 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql @@ -0,0 +1,90 @@ +--SELECT TOP 1 * FROM C6MART.VCONTRATTI +--[C6Mart].[GESTIONE_SELECT_LETTERE_DA_INVIARE]'F','AA@55670',1,-1 +CREATE procedure [C6Mart].[RP_GESTIONE_SELECT_LETTERE_DA_INVIARE] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' +AS +BEGIN + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() +--declare @prova as varchar(10) +--select @prova = 'AA@55670' +--select @prova +--select charindex('@',@prova) + SELECT + dbo.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, + --aclie.cognome as cognome, + csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.PROVINCIA end as provincia, + csei.cap as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + dbo.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_MONITORAGGIO, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.DATA_INZIOAVANZATO, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) as testo, + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma + FROM + [C6Mart].[TESTO_LETTERA_ACCETTAZIONE] tla, + [C6Mart].[VCONTRATTI] csei + JOIN + C6MART.CONTRATTOSEI_METADATI META + ON + META.CHIAVECLIENTEPB= CSEI.CHIAVECLIENTEPB + INNER JOIN + [C6Mart].[ANAG_CLIENTI] aclie + on + csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + LEFT OUTER JOIN + C6Mart.GESTIONE_PDF_FTP gpdf + on + gpdf.rete = csei.rete and + gpdf.codiceFiscale = csei.cod_fiscale + WHERE + csei.rete = @rete and + csei.cod_Fiscale = @cf and + csei.data_fineAvanzato > getDate() and + tla.id = @codiceLettera and + (gpdf.idReport = @idReport or @idreport = -1) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_PROM_TuttiIPortafogli.sql b/sql/storedProduzione/C6Mart_RP_PROM_TuttiIPortafogli.sql new file mode 100644 index 00000000..2b6683e8 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_PROM_TuttiIPortafogli.sql @@ -0,0 +1,44 @@ +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +--[C6Mart].[PROM_TuttiIPortafogli] +CREATE procedure [C6Mart].[RP_PROM_TuttiIPortafogli] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,cast([CtvNominale] as varchar) as CtvNominale + ,cast([CtvReale] as varchar) as CtvReale +FROM ( + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Mart].[RP_vTuttiIPortafogli] + union all + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Mart].[RP_vTuttiIPortafogli_ccLiq] +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_PROM_TuttiIPortafogli2_Indicatore.sql b/sql/storedProduzione/C6Mart_RP_PROM_TuttiIPortafogli2_Indicatore.sql new file mode 100644 index 00000000..25695795 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_PROM_TuttiIPortafogli2_Indicatore.sql @@ -0,0 +1,104 @@ +CREATE procedure [C6Mart].[RP_PROM_TuttiIPortafogli2_Indicatore] + -- Add the parameters for the stored procedure here +AS +BEGIN +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] +FROM +( + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + FROM [C6Mart].[RP_vTuttiIPortafogli_newkey] + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O','FVTTTZN76R63A940M','SMLZFLV47S49H501Z') + UNION + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + FROM [C6Mart].[RP_vTuttiIPortafogli_newkey] + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O','FVTTTZN76R63A940M','SMLZFLV47S49H501Z') + UNION + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + FROM [C6Mart].[RP_vTuttiIPortafogli_newkey] + where ([Portafoglio] like '%COMPLESSIVO|TERZI%' or [Portafoglio] like '%COMPLESSIVO|BF%') + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O','FVTTTZN76R63A940M','SMLZFLV47S49H501Z') +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_PROM_TuttiIPortafogli_20180612_NewMotorePrometeia.sql b/sql/storedProduzione/C6Mart_RP_PROM_TuttiIPortafogli_20180612_NewMotorePrometeia.sql new file mode 100644 index 00000000..409296ae --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_PROM_TuttiIPortafogli_20180612_NewMotorePrometeia.sql @@ -0,0 +1,55 @@ +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +--[C6Mart].[PROM_TuttiIPortafogli] +CREATE procedure [C6Mart].[RP_PROM_TuttiIPortafogli_20180612_NewMotorePrometeia] + -- Add the parameters for the stored procedure here +AS +BEGIN +--COMMENTATA PERCHé LA CREAZIONE VA IN ERRORE A CAUSA DEI CAMPI MANCANTI NELLE VISTE: ELIMINARE IL COMMENTO QUANDO SI UTILIZZA QUESTA NUOVA VERSIONE +--SELECT [Rete] +-- ,[CodiceFiscale] +-- ,[Portafoglio] +-- ,[CodiceProdotto] +-- -- 23/5/2018 --------- +-- ,[CodiceAdeguatezza] +-- ----------------------- +-- ,[Piazza] +-- ,[CodiceValuta] +-- ,[Classe] +-- ,cast([CtvNominale] as varchar) as CtvNominale +-- ,cast([CtvReale] as varchar) as CtvReale +--FROM ( +-- SELECT [Rete] +-- ,[CodiceFiscale] +-- ,[Portafoglio] +-- ,[CodiceProdotto] +-- -- 23/5/2018 --------- +-- ,[CodiceAdeguatezza] +-- ----------------------- +-- ,[Piazza] +-- ,[CodiceValuta] +-- ,[Classe] +-- ,[CtvNominale] +-- ,[CtvReale] +-- FROM [C6Mart].[RP_vTuttiIPortafogli] +-- union all +-- SELECT [Rete] +-- ,[CodiceFiscale] +-- ,[Portafoglio] +-- ,[CodiceProdotto] +-- -- 23/5/2018 --------- +-- ,[CodiceAdeguatezza] +-- ----------------------- +-- ,[Piazza] +-- ,[CodiceValuta] +-- ,[Classe] +-- ,[CtvNominale] +-- ,[CtvReale] +-- FROM [C6Mart].[RP_vTuttiIPortafogli_ccLiq] +--) T +--order by rete,codiceFiscale,Portafoglio +select 1 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_PROM_TuttiIPortafogli_20180612_PreMotorePrometeia.sql b/sql/storedProduzione/C6Mart_RP_PROM_TuttiIPortafogli_20180612_PreMotorePrometeia.sql new file mode 100644 index 00000000..efa5028a --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_PROM_TuttiIPortafogli_20180612_PreMotorePrometeia.sql @@ -0,0 +1,44 @@ +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +--[C6Mart].[PROM_TuttiIPortafogli] +CREATE procedure [C6Mart].[RP_PROM_TuttiIPortafogli_20180612_PreMotorePrometeia] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,cast([CtvNominale] as varchar) as CtvNominale + ,cast([CtvReale] as varchar) as CtvReale +FROM ( + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Mart].[RP_vTuttiIPortafogli] + union all + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Mart].[RP_vTuttiIPortafogli_ccLiq] +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql b/sql/storedProduzione/C6Mart_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql new file mode 100644 index 00000000..bbe9e3a9 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql @@ -0,0 +1,77 @@ +-- ============================================= +-- Author: alessandro Tringali +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_SRV_ESTRAZ_GIORNALIERA_CC] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_SRV_ESTRAZ_GIORNALIERA_CC', + GETDATE(), + 'Elaborazione giornaliera' + ) +--V Cancellazione delle tuple inserite nel giorno corrente, può accadere che la procedura viene +-- lanciata più di una volta, in quel caso inserirei righe doppie. +DELETE FROM C6MART.ESTRAZ_GIORNALIERA_CC +WHERE DATEDIFF(dd,dataGenerazione,getDate()) = 0 +INSERT INTO C6MART.ESTRAZ_GIORNALIERA_CC +SELECT +a.COD_FISCALE, +A.RETE, +CODICECONTRATTO, +DATAGENERAZIONE, +NUMERO_CC, +C.CTV_CC, +D.TOT_CTV, +D.TOT_CTV_NO_CC +FROM +C6MART.VCONTRATTI A, +C6MART.GESTIONE_PDF_FTP B, +( + SELECT + COD_FISCALE, + RETE, + COD_CC AS NUMERO_CC, + SUM(SALDOCONTABILE) AS CTV_CC + FROM C6MART.ANAG_CC + GROUP BY + COD_FISCALE, + RETE, + COD_CC + ) C, +( SELECT COD_FISCALE, RETE, + SUM(CTV) AS TOT_CTV, + SUM(CASE WHEN TIPO_PRODOTTO='CC' THEN 0 ELSE CTV END) AS TOT_CTV_NO_CC FROM C6MART.PATRIMONIO_BF + GROUP BY COD_FISCALE, RETE +)D +WHERE +A.COD_FISCALE=B.CODICEFISCALE +AND A.RETE=B.RETE +AND A.COD_FISCALE=C.COD_FISCALE +AND A.RETE=C.RETE +AND A.COD_FISCALE=D.COD_FISCALE +AND A.RETE=D.RETE +ORDER BY 1,2,3,5 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'DELETE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_SRV_ESTRAZ_GIORNALIERA_CC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_SRV_ESTRAZ_GIORNALIERA_CC' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_RP_Selettore_GetDataThreads.sql b/sql/storedProduzione/C6Mart_RP_Selettore_GetDataThreads.sql new file mode 100644 index 00000000..43ac9648 --- /dev/null +++ b/sql/storedProduzione/C6Mart_RP_Selettore_GetDataThreads.sql @@ -0,0 +1,7 @@ +CREATE PROCEDURE [C6Mart].[RP_Selettore_GetDataThreads] + @BatchName NVARCHAR(100) +AS +BEGIN +truncate table [C6Mart].[TB_Selettore_GetDataThreads] +insert into [C6Mart].[TB_Selettore_GetDataThreads] values (@BatchName,'Verrà stampata la Reportistica '+ @BatchName +' Giornaliera',getdate()) +END; \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_SRV_CHECK_C6_GIORNALIERO.sql b/sql/storedProduzione/C6Mart_SRV_CHECK_C6_GIORNALIERO.sql new file mode 100644 index 00000000..c65bd541 --- /dev/null +++ b/sql/storedProduzione/C6Mart_SRV_CHECK_C6_GIORNALIERO.sql @@ -0,0 +1,698 @@ +CREATE procedure [C6Mart].[SRV_CHECK_C6_GIORNALIERO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @DataOggiPerVar VARCHAR(8) + SET @DataOggiPerVar = convert(VARCHAR(8), getdate(), 112) + --V Esegue la procedura di estrazione dei CC + EXEC [C6Mart].[SRV_ESTRAZ_GIORNALIERA_CC] + -- Report generati + SELECT + C.Rete, + C.Cod_Agente, + case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else C.Cod_Fiscale end as Cod_fiscale, + C.Data_Perf + INTO #ReportGenerati + FROM + C6Mart.GESTIONE_PDF_FTP AS GPF + INNER JOIN C6Mart.VCONTRATTI AS C + ON GPF.RETE = C.Rete + AND GPF.CODICEFISCALE = C.Cod_Fiscale + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on C.chiaveclientepb = M.chiaveclientepb + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND Data_FineAvanzato > getDate() + ORDER BY + C.Rete, + C.Cod_Agente, + C.Cod_Fiscale + -- Report non generati + SELECT + Rete, + Cod_Agente, + case when Cod_Fiscale like '%@%' then piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else Cod_Fiscale end as Cod_fiscale, + Data_Perf, + ClienteMigrato, + RisorseNA, + profiloAttivo, + 'Ragione:' + ---------------en_20161026 eliminated NA + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Cliente non migrato ' --/ Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato ' --/ Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Cliente non migrato / Profilo non attivo ' --/ Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato / Profilo non attivo ' --/ Risorse non associate ' + -- ELSE '' + --END + ------------------en_20161026 ClienteMigrato always S + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Cliente non migrato / Profilo non attivo ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato / Profilo non attivo ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Cliente non migrato ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato ' + -- ELSE '' + --END + -------------------en_20161026 eliminated NA + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Risorse non associate / Profilo non attivo ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate / Profilo non attivo ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate ' + -- ELSE '' + --END + -------------------en_20161026 + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca ' ----en / Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' In attesa di gestione Revoca ' + ELSE '' + END + /*+ CASE + WHEN PartViaDisinv = 'S' THEN ' Partite viaggianti disinvestimento' + ELSE '' + END*/ + AS Ragione + INTO #ReportNonGenerati + FROM + C6Mart.vcontratti as CONTRATTOSEI + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on CONTRATTOSEI.chiaveclientepb = M.chiaveclientepb + WHERE + M.InvioBenvenuto = 'N' + AND DATEDIFF(d, Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + -------------en_20161026 no risorse non alloacate / no NA + AND RisorseNA = 'N' + AND ClienteMigrato = 'S' + AND ( + --ClienteMigrato = 'N' + --OR RisorseNA = 'S' + -------------en_20161026 + --OR + --V Condizione per non generazione a causa di profilo non attivo + ProfiloAttivo = 0 + OR Data_UltimaRevoca is not null + -- + /*OR PartViaDisinv = 'S'*/) + AND Data_FineAvanzato > getDate() + ORDER BY + Rete, + Cod_Agente, + Cod_Fiscale + -- Email + SELECT + CASE Tipo + WHEN 'PERF' THEN 'perfezionamento' + ---------------en_20161026 eliminated NA and always ClienteMigrato = 'S' + --WHEN '1_SOLL_NOASS' THEN '1° sollecito risorse non associate' + --WHEN '2_SOLL_NOASS' THEN '2° sollecito risorse non associate' + --WHEN '3_SOLL_NOASS' THEN '3° sollecito risorse non associate' + --WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + --WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + --WHEN '1_SOLL_NOMIG' THEN '1° sollecito cliente non migrato' + --WHEN '2_SOLL_NOMIG' THEN '2° sollecito cliente non migrato' + --WHEN '3_SOLL_NOMIG' THEN '3° sollecito cliente non migrato' + --WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + --WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + ---------------------------------------- + --V aggiunta tipo mail profilo non attivo + WHEN '1_SOLL_NOPRO' THEN '1° sollecito profilo non attivo' + WHEN '2_SOLL_NOPRO' THEN '2° sollecito profilo non attivo' + WHEN '3_SOLL_NOPRO' THEN '3° sollecito profilo non attivo' + WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + END AS Tipo, + COUNT(Tipo) AS Totale + INTO #EmailInviate + FROM + C6Mart.GESTIONE_EMAIL + WHERE + Inviata = 'S' + AND dbo.toShortDateString(Data_Invio) = dbo.toShortDateString(GETDATE()) + GROUP BY + Tipo + ORDER BY TIPO + -- Indirizzi più lunghi di 36 caratteri + SELECT + C.Rete, + Cod_Agente, + Cod_Fiscale, + Indirizzo, + LEN(Indirizzo) AS LunghezzaIndirizzo + INTO #IndirizziLunghi + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.GESTIONE_PDF_FTP AS GPF + ON C.Rete = GPF.RETE + AND C.Cod_Fiscale = GPF.CODICEFISCALE + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND LEN(Indirizzo) > 36 + ORDER BY + Rete, + Cod_Agente, + Cod_Fiscale + -- Prodotti non a catalogo + SELECT + RETE, + CODICEFISCALE, + CODICECONTRATTO, + CODICEINTERNO, + CODICESOTTOPRODOTTO, + CODICEMAF, + ISIN + INTO #ProdNonInCat + FROM + C6Staging.SPB_CONTR_SINTESI + WHERE + POSITIONID IS NULL + -- VaR discordanti + SELECT + RA.RETE, + RA.COD_FISCALE, + RA.VAR_PERC_PTF, + VC.VAR_COMPLESSIVO_BF, + CASE + WHEN RA.VAR_PERC_PTF = VC.VAR_COMPLESSIVO_BF THEN 'OK' + ELSE 'KO' + END AS VAR_CORRETTO + INTO #VaRDiscordanti + FROM + C6Mart.RISCHIO_AGGREGATO AS RA + --INNER JOIN VAR_CHECK AS VC + INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE + WHERE + (RA.COD_AGGREG = 'COMPLESSIVO|BF') + ORDER BY + RA.RETE, + RA.COD_FISCALE + INSERT INTO VaRDiscordanti_appo SELECT *, GETDATE() FROM #VaRDiscordanti + -- Posizioni in stato liquidato + SELECT + PB.RETE, + PB.COD_FISCALE, + ID_CONTRATTO + INTO #PosizioniStatoL + FROM + C6Mart.PATRIMONIO_BF AS PB + INNER JOIN #VaRDiscordanti AS VD + ON PB.RETE = VD.RETE + AND PB.COD_FISCALE = VD.COD_FISCALE + WHERE + PB.COD_STATO = 'L' + AND PB.CTV >= 0 + AND VD.VAR_CORRETTO = 'KO' + ORDER BY + PB.RETE, + PB.COD_FISCALE + -- Clienti senza data sottoscrizione + SELECT DISTINCT + PB.RETE, + C.COD_AGENTE, + PB.COD_FISCALE, + PB.ID_CONTRATTO + INTO #ClientiSenzaDataSott + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.PATRIMONIO_BF AS PB + ON C.Rete = PB.RETE + AND C.Cod_Fiscale = PB.COD_FISCALE + INNER JOIN C6Mart.RISCHIO_AGGREGATO AS RA + ON PB.RETE = RA.RETE + AND PB.COD_FISCALE = RA.COD_FISCALE + WHERE + PB.DATA_SOTTOSCRIZIONE IS NULL + AND PB.TIPO_PRODOTTO = 'DT' + -- Clienti senza piramide modello + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + data_perf + INTO #ClientiSenzaPiramideModello + FROM + C6Mart.vcontratti as CONTRATTOSEI + inner join + C6Mart.contrattosei_metadati as M + on CONTRATTOSEI.chiaveclientepb = m.chiaveclientepb + WHERE + --Data_FineAvanzato < getDate() + Data_FineAvanzato > getDate() + AND inviobenvenuto = 'N' + AND clientemigrato = 'S' + AND risorseNA = 'N' + AND profiloAttivo = 1 + AND DATEDIFF(d, Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND Rete+Cod_Fiscale NOT IN ( + SELECT + Rete+COD_FISCALE + FROM + C6Mart.PIRAMIDE_MOD) + --scarti simpb contrattoSintesi + SELECT C6.Rete, Cod_Agente, codiceFiscale,DATA_PERF + INTO #ClientiSenzaContrattoSintesi + FROM C6STAGING.SPB_SCARTI SPB + JOIN + C6MART.RP_vContrattiMigrati C6 + ON + SPB.CODICEFISCALE = C6.COD_FISCALE + WHERE pacchettoSSIS = 'SPB_CONTRSINTESI' + --scarti simpb mifid + SELECT codiceFiscale,DATA_PERF + INTO #ClientiSenzaProfiloMIFID + FROM C6STAGING.SPB_SCARTI SPB + JOIN + C6MART.RP_vContrattiMigrati C6 + ON + SPB.CODICEFISCALE = C6.COD_FISCALE + WHERE pacchettoSSIS = 'SPB_MIFID' + DECLARE @testoMail VARCHAR(MAX) + DECLARE @rete CHAR(1) + DECLARE @codiceAgente VARCHAR(6) + DECLARE @codiceFiscale VARCHAR(25) + DECLARE @data DATETIME + DECLARE @ragione VARCHAR(100) + DECLARE @tipo VARCHAR(100) + DECLARE @indirizzo VARCHAR(100) + DECLARE @totale INT + DECLARE @codiceContratto VARCHAR(11) + DECLARE @codiceinterno VARCHAR(10) + DECLARE @codicesottoprodotto VARCHAR(5) + DECLARE @codicemaf VARCHAR(20) + DECLARE @isin VARCHAR(12) + DECLARE @varPercPtf DECIMAL(5, 2) + DECLARE @varComplessivoBf DECIMAL(5, 2) + SET @testoMail = '' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Tipo, + Totale + FROM + #EmailInviate + OPEN reader + FETCH NEXT FROM reader INTO @tipo, @totale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @tipo, @totale + END + SET @testoMail = @testoMail + '
E-mail inviate:
' + @tipo + '' + CAST(@totale AS VARCHAR) + '
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Data_Perf + FROM + #ReportGenerati + --modifica Emanuele x escludere l'agente di prova + WHERE Cod_Agente <> '015312' + --modifica Emanuele x escludere l'agente di prova + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + END + SELECT @totale = COUNT(*) FROM #ReportGenerati + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Report generati:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Data_Perf, + Ragione + FROM + #ReportNonGenerati + --modifica Emanuele x escludere l'agente di prova + WHERE Cod_Agente <> '015312' + --modifica Emanuele x escludere l'agente di prova + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data, @ragione + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data, @ragione + END + SELECT @totale = COUNT(*) FROM #ReportNonGenerati + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Report non generati:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '' + @ragione + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Indirizzo, + LEN(Indirizzo) AS LunghezzaIndirizzo + FROM + #IndirizziLunghi + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @indirizzo, @totale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @indirizzo, @totale + END + SELECT @totale = COUNT(*) FROM #IndirizziLunghi + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Indirizzi più lunghi di 36 caratteri:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + @indirizzo + '' + CAST(@totale AS VARCHAR) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + CODICEFISCALE, + CODICECONTRATTO, + CODICEINTERNO, + CODICESOTTOPRODOTTO, + CODICEMAF, + ISIN + FROM #ProdNonInCat + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto, @codiceinterno, @codicesottoprodotto, @codicemaf, @isin + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto, @codiceinterno, @codicesottoprodotto, @codicemaf, @isin + END + SELECT @totale = COUNT(*) FROM #ProdNonInCat + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con prodotti non a catalogo (CodConf, CodInt/SubProd/CodMaf/Isin):
' + @rete + '' + @codiceFiscale + '' + @codiceContratto + '   ' + SET @testoMail = @testoMail + ltrim(rtrim(@codiceinterno)) + '/' + SET @testoMail = @testoMail + ltrim(rtrim(@codicesottoprodotto)) + '/' + SET @testoMail = @testoMail + ltrim(rtrim(@codicemaf)) + '/' + SET @testoMail = @testoMail + ltrim(rtrim(@isin)) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_FISCALE, + VAR_PERC_PTF, + VAR_COMPLESSIVO_BF + FROM + #VaRDiscordanti + WHERE + VAR_CORRETTO = 'KO' + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @varPercPtf, @varComplessivoBf + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @varPercPtf, @varComplessivoBf + END + SELECT @totale = COUNT(*) FROM #VaRDiscordanti WHERE VAR_CORRETTO = 'KO' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con VaR discordante:
' + @rete + '' + @codiceFiscale + '' + CAST(@varPercPtf AS VARCHAR) + '' + CAST(@varComplessivoBf AS VARCHAR) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_FISCALE, + ID_CONTRATTO + FROM + #PosizioniStatoL + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #PosizioniStatoL + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con posizioni stato Liquidato:
' + @rete + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_AGENTE, + COD_FISCALE, + ID_CONTRATTO + FROM + #ClientiSenzaDataSott + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaDataSott + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza data sottoscrizione
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + isnull(Cod_Agente,''), + Cod_Fiscale, + data_perf + FROM + #ClientiSenzaPiramideModello + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaPiramideModello + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza piramide modello
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + isnull(Cod_Agente,''), + codiceFiscale, + data_perf + FROM + #ClientiSenzaContrattoSintesi + OPEN reader + FETCH NEXT FROM reader INTO @rete,@codiceAgente,@codiceFiscale,@data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete,@codiceAgente,@codiceFiscale,@data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaContrattoSintesi + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza righe Contratto Sintesi
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + codiceFiscale,data_perf + FROM + #ClientiSenzaProfiloMIFID + OPEN reader + FETCH NEXT FROM reader INTO @codiceFiscale,@data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @codiceFiscale,@data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaProfiloMIFID + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza righe profilo MIFID
' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader +--------------------------------------------------------------------- +--Email non inviate + --SET @testoMail = @testoMail + '

' + --DECLARE reader CURSOR LOCAL FORWARD_ONLY + --FOR + -- SELECT a.rete, a.cod_fiscale, a.cod_agente, + -- CASE Tipo + -- WHEN 'PERF' THEN 'perfezionamento' + -- WHEN '1_SOLL_NOASS' THEN '1° sollecito risorse non associate' + -- WHEN '2_SOLL_NOASS' THEN '2° sollecito risorse non associate' + -- WHEN '3_SOLL_NOASS' THEN '3° sollecito risorse non associate' + -- WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + -- WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + -- WHEN '1_SOLL_NOMIG' THEN '1° sollecito cliente non migrato' + -- WHEN '2_SOLL_NOMIG' THEN '2° sollecito cliente non migrato' + -- WHEN '3_SOLL_NOMIG' THEN '3° sollecito cliente non migrato' + -- WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + -- WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + -- --V aggiunta tipo mail profilo non attivo + -- WHEN '1_SOLL_NOPRO' THEN '1° sollecito profilo non attivo' + -- WHEN '2_SOLL_NOPRO' THEN '2° sollecito profilo non attivo' + -- WHEN '3_SOLL_NOPRO' THEN '3° sollecito profilo non attivo' + -- WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + -- WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + -- END AS Tipo + -- FROM C6Mart.Contrattosei a + -- inner join C6Mart.GESTIONE_EMAIL b + -- on + -- a.rete = b.rete + -- and + -- a.cod_fiscale = b.cod_fiscale + -- WHERE isnull(b.Inviata,'N')='N' + --OPEN reader + --FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceAgente, @tipo + --WHILE @@FETCH_STATUS = 0 + --BEGIN + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceAgente, @tipo + --END + --SELECT @totale = COUNT(*) FROM C6Mart.GESTIONE_EMAIL WHERE isnull(Inviata,'N')='N' + --SET @testoMail = @testoMail + '' + --SET @testoMail = @testoMail + '
Email non inviate:
' + @rete + '' + @codiceFiscale + '' + @codiceAgente + '' + @tipo + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + --CLOSE reader + --DEALLOCATE reader +--------------------------------------------------------------------- + SET @testoMail = @testoMail + '' + SELECT @testoMail + DROP TABLE #ReportGenerati + DROP TABLE #ReportNonGenerati + DROP TABLE #EmailInviate + DROP TABLE #IndirizziLunghi + DROP TABLE #PosizioniStatoL + DROP TABLE #ProdNonInCat + DROP TABLE #VaRDiscordanti + DROP TABLE #ClientiSenzaDataSott + DROP TABLE #ClientiSenzaPiramideModello + DROP TABLE #ClientiSenzaContrattoSintesi + DROP TABLE #ClientiSenzaProfiloMIFID +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026.sql b/sql/storedProduzione/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026.sql new file mode 100644 index 00000000..b178c10a --- /dev/null +++ b/sql/storedProduzione/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026.sql @@ -0,0 +1,682 @@ +CREATE procedure [C6Mart].[SRV_CHECK_C6_GIORNALIERO_20161026] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @DataOggiPerVar VARCHAR(8) + SET @DataOggiPerVar = convert(VARCHAR(8), getdate(), 112) + --V Esegue la procedura di estrazione dei CC + EXEC [C6Mart].[SRV_ESTRAZ_GIORNALIERA_CC] + -- Report generati + SELECT + C.Rete, + C.Cod_Agente, + case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else C.Cod_Fiscale end as Cod_fiscale, + C.Data_Perf + INTO #ReportGenerati + FROM + C6Mart.GESTIONE_PDF_FTP AS GPF + INNER JOIN C6Mart.VCONTRATTI AS C + ON GPF.RETE = C.Rete + AND GPF.CODICEFISCALE = C.Cod_Fiscale + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on C.chiaveclientepb = M.chiaveclientepb + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND Data_FineAvanzato > getDate() + ORDER BY + C.Rete, + C.Cod_Agente, + C.Cod_Fiscale + -- Report non generati + SELECT + Rete, + Cod_Agente, + case when Cod_Fiscale like '%@%' then piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else Cod_Fiscale end as Cod_fiscale, + Data_Perf, + ClienteMigrato, + RisorseNA, + profiloAttivo, + 'Ragione:' + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Cliente non migrato ' --/ Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato ' --/ Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Cliente non migrato / Profilo non attivo ' --/ Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato / Profilo non attivo ' --/ Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Cliente non migrato / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Cliente non migrato ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Risorse non associate / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' In attesa di gestione Revoca ' + ELSE '' + END + /*+ CASE + WHEN PartViaDisinv = 'S' THEN ' Partite viaggianti disinvestimento' + ELSE '' + END*/ + AS Ragione + INTO #ReportNonGenerati + FROM + C6Mart.vcontratti as CONTRATTOSEI + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on CONTRATTOSEI.chiaveclientepb = M.chiaveclientepb + WHERE + M.InvioBenvenuto = 'N' + AND DATEDIFF(d, Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND (ClienteMigrato = 'N' + OR RisorseNA = 'S' + --V Condizione per non generazione a causa di profilo non attivo + OR ProfiloAttivo = 0 + OR Data_UltimaRevoca is not null + -- + /*OR PartViaDisinv = 'S'*/) + AND Data_FineAvanzato > getDate() + ORDER BY + Rete, + Cod_Agente, + Cod_Fiscale + -- Email + SELECT + CASE Tipo + WHEN 'PERF' THEN 'perfezionamento' + WHEN '1_SOLL_NOASS' THEN '1° sollecito risorse non associate' + WHEN '2_SOLL_NOASS' THEN '2° sollecito risorse non associate' + WHEN '3_SOLL_NOASS' THEN '3° sollecito risorse non associate' + WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + WHEN '1_SOLL_NOMIG' THEN '1° sollecito cliente non migrato' + WHEN '2_SOLL_NOMIG' THEN '2° sollecito cliente non migrato' + WHEN '3_SOLL_NOMIG' THEN '3° sollecito cliente non migrato' + WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + --V aggiunta tipo mail profilo non attivo + WHEN '1_SOLL_NOPRO' THEN '1° sollecito profilo non attivo' + WHEN '2_SOLL_NOPRO' THEN '2° sollecito profilo non attivo' + WHEN '3_SOLL_NOPRO' THEN '3° sollecito profilo non attivo' + WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + END AS Tipo, + COUNT(Tipo) AS Totale + INTO #EmailInviate + FROM + C6Mart.GESTIONE_EMAIL + WHERE + Inviata = 'S' + AND dbo.toShortDateString(Data_Invio) = dbo.toShortDateString(GETDATE()) + GROUP BY + Tipo + ORDER BY TIPO + -- Indirizzi più lunghi di 36 caratteri + SELECT + C.Rete, + Cod_Agente, + Cod_Fiscale, + Indirizzo, + LEN(Indirizzo) AS LunghezzaIndirizzo + INTO #IndirizziLunghi + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.GESTIONE_PDF_FTP AS GPF + ON C.Rete = GPF.RETE + AND C.Cod_Fiscale = GPF.CODICEFISCALE + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND LEN(Indirizzo) > 36 + ORDER BY + Rete, + Cod_Agente, + Cod_Fiscale + -- Prodotti non a catalogo + SELECT + RETE, + CODICEFISCALE, + CODICECONTRATTO, + CODICEINTERNO, + CODICESOTTOPRODOTTO, + CODICEMAF, + ISIN + INTO #ProdNonInCat + FROM + C6Staging.SPB_CONTR_SINTESI + WHERE + POSITIONID IS NULL + -- VaR discordanti + SELECT + RA.RETE, + RA.COD_FISCALE, + RA.VAR_PERC_PTF, + VC.VAR_COMPLESSIVO_BF, + CASE + WHEN RA.VAR_PERC_PTF = VC.VAR_COMPLESSIVO_BF THEN 'OK' + ELSE 'KO' + END AS VAR_CORRETTO + INTO #VaRDiscordanti + FROM + C6Mart.RISCHIO_AGGREGATO AS RA + --INNER JOIN VAR_CHECK AS VC + INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE + WHERE + (RA.COD_AGGREG = 'COMPLESSIVO|BF') + ORDER BY + RA.RETE, + RA.COD_FISCALE + INSERT INTO VaRDiscordanti_appo SELECT *, GETDATE() FROM #VaRDiscordanti + -- Posizioni in stato liquidato + SELECT + PB.RETE, + PB.COD_FISCALE, + ID_CONTRATTO + INTO #PosizioniStatoL + FROM + C6Mart.PATRIMONIO_BF AS PB + INNER JOIN #VaRDiscordanti AS VD + ON PB.RETE = VD.RETE + AND PB.COD_FISCALE = VD.COD_FISCALE + WHERE + PB.COD_STATO = 'L' + AND PB.CTV >= 0 + AND VD.VAR_CORRETTO = 'KO' + ORDER BY + PB.RETE, + PB.COD_FISCALE + -- Clienti senza data sottoscrizione + SELECT DISTINCT + PB.RETE, + C.COD_AGENTE, + PB.COD_FISCALE, + PB.ID_CONTRATTO + INTO #ClientiSenzaDataSott + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.PATRIMONIO_BF AS PB + ON C.Rete = PB.RETE + AND C.Cod_Fiscale = PB.COD_FISCALE + INNER JOIN C6Mart.RISCHIO_AGGREGATO AS RA + ON PB.RETE = RA.RETE + AND PB.COD_FISCALE = RA.COD_FISCALE + WHERE + PB.DATA_SOTTOSCRIZIONE IS NULL + AND PB.TIPO_PRODOTTO = 'DT' + -- Clienti senza piramide modello + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + data_perf + INTO #ClientiSenzaPiramideModello + FROM + C6Mart.vcontratti as CONTRATTOSEI + inner join + C6Mart.contrattosei_metadati as M + on CONTRATTOSEI.chiaveclientepb = m.chiaveclientepb + WHERE + --Data_FineAvanzato < getDate() + Data_FineAvanzato > getDate() + AND inviobenvenuto = 'N' + AND clientemigrato = 'S' + AND risorseNA = 'N' + AND profiloAttivo = 1 + AND DATEDIFF(d, Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND Rete+Cod_Fiscale NOT IN ( + SELECT + Rete+COD_FISCALE + FROM + C6Mart.PIRAMIDE_MOD) + --scarti simpb contrattoSintesi + SELECT C6.Rete, Cod_Agente, codiceFiscale,DATA_PERF + INTO #ClientiSenzaContrattoSintesi + FROM C6STAGING.SPB_SCARTI SPB + JOIN + C6MART.RP_vContrattiMigrati C6 + ON + SPB.CODICEFISCALE = C6.COD_FISCALE + WHERE pacchettoSSIS = 'SPB_CONTRSINTESI' + --scarti simpb mifid + SELECT codiceFiscale,DATA_PERF + INTO #ClientiSenzaProfiloMIFID + FROM C6STAGING.SPB_SCARTI SPB + JOIN + C6MART.RP_vContrattiMigrati C6 + ON + SPB.CODICEFISCALE = C6.COD_FISCALE + WHERE pacchettoSSIS = 'SPB_MIFID' + DECLARE @testoMail VARCHAR(MAX) + DECLARE @rete CHAR(1) + DECLARE @codiceAgente VARCHAR(6) + DECLARE @codiceFiscale VARCHAR(25) + DECLARE @data DATETIME + DECLARE @ragione VARCHAR(100) + DECLARE @tipo VARCHAR(100) + DECLARE @indirizzo VARCHAR(100) + DECLARE @totale INT + DECLARE @codiceContratto VARCHAR(11) + DECLARE @codiceinterno VARCHAR(10) + DECLARE @codicesottoprodotto VARCHAR(5) + DECLARE @codicemaf VARCHAR(20) + DECLARE @isin VARCHAR(12) + DECLARE @varPercPtf DECIMAL(5, 2) + DECLARE @varComplessivoBf DECIMAL(5, 2) + SET @testoMail = '' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Tipo, + Totale + FROM + #EmailInviate + OPEN reader + FETCH NEXT FROM reader INTO @tipo, @totale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @tipo, @totale + END + SET @testoMail = @testoMail + '
E-mail inviate:
' + @tipo + '' + CAST(@totale AS VARCHAR) + '
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Data_Perf + FROM + #ReportGenerati + --modifica Emanuele x escludere l'agente di prova + WHERE Cod_Agente <> '015312' + --modifica Emanuele x escludere l'agente di prova + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + END + SELECT @totale = COUNT(*) FROM #ReportGenerati + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Report generati:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Data_Perf, + Ragione + FROM + #ReportNonGenerati + --modifica Emanuele x escludere l'agente di prova + WHERE Cod_Agente <> '015312' + --modifica Emanuele x escludere l'agente di prova + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data, @ragione + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data, @ragione + END + SELECT @totale = COUNT(*) FROM #ReportNonGenerati + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Report non generati:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '' + @ragione + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Indirizzo, + LEN(Indirizzo) AS LunghezzaIndirizzo + FROM + #IndirizziLunghi + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @indirizzo, @totale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @indirizzo, @totale + END + SELECT @totale = COUNT(*) FROM #IndirizziLunghi + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Indirizzi più lunghi di 36 caratteri:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + @indirizzo + '' + CAST(@totale AS VARCHAR) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + CODICEFISCALE, + CODICECONTRATTO, + CODICEINTERNO, + CODICESOTTOPRODOTTO, + CODICEMAF, + ISIN + FROM #ProdNonInCat + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto, @codiceinterno, @codicesottoprodotto, @codicemaf, @isin + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto, @codiceinterno, @codicesottoprodotto, @codicemaf, @isin + END + SELECT @totale = COUNT(*) FROM #ProdNonInCat + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con prodotti non a catalogo (CodConf, CodInt/SubProd/CodMaf/Isin):
' + @rete + '' + @codiceFiscale + '' + @codiceContratto + '   ' + SET @testoMail = @testoMail + ltrim(rtrim(@codiceinterno)) + '/' + SET @testoMail = @testoMail + ltrim(rtrim(@codicesottoprodotto)) + '/' + SET @testoMail = @testoMail + ltrim(rtrim(@codicemaf)) + '/' + SET @testoMail = @testoMail + ltrim(rtrim(@isin)) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_FISCALE, + VAR_PERC_PTF, + VAR_COMPLESSIVO_BF + FROM + #VaRDiscordanti + WHERE + VAR_CORRETTO = 'KO' + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @varPercPtf, @varComplessivoBf + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @varPercPtf, @varComplessivoBf + END + SELECT @totale = COUNT(*) FROM #VaRDiscordanti WHERE VAR_CORRETTO = 'KO' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con VaR discordante:
' + @rete + '' + @codiceFiscale + '' + CAST(@varPercPtf AS VARCHAR) + '' + CAST(@varComplessivoBf AS VARCHAR) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_FISCALE, + ID_CONTRATTO + FROM + #PosizioniStatoL + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #PosizioniStatoL + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con posizioni stato Liquidato:
' + @rete + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_AGENTE, + COD_FISCALE, + ID_CONTRATTO + FROM + #ClientiSenzaDataSott + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaDataSott + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza data sottoscrizione
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + data_perf + FROM + #ClientiSenzaPiramideModello + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaPiramideModello + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza piramide modello
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + codiceFiscale, + data_perf + FROM + #ClientiSenzaContrattoSintesi + OPEN reader + FETCH NEXT FROM reader INTO @rete,@codiceAgente,@codiceFiscale,@data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete,@codiceAgente,@codiceFiscale,@data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaContrattoSintesi + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza righe Contratto Sintesi
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + codiceFiscale,data_perf + FROM + #ClientiSenzaProfiloMIFID + OPEN reader + FETCH NEXT FROM reader INTO @codiceFiscale,@data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @codiceFiscale,@data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaProfiloMIFID + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza righe profilo MIFID
' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader +--------------------------------------------------------------------- +--Email non inviate + --SET @testoMail = @testoMail + '

' + --DECLARE reader CURSOR LOCAL FORWARD_ONLY + --FOR + -- SELECT a.rete, a.cod_fiscale, a.cod_agente, + -- CASE Tipo + -- WHEN 'PERF' THEN 'perfezionamento' + -- WHEN '1_SOLL_NOASS' THEN '1° sollecito risorse non associate' + -- WHEN '2_SOLL_NOASS' THEN '2° sollecito risorse non associate' + -- WHEN '3_SOLL_NOASS' THEN '3° sollecito risorse non associate' + -- WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + -- WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + -- WHEN '1_SOLL_NOMIG' THEN '1° sollecito cliente non migrato' + -- WHEN '2_SOLL_NOMIG' THEN '2° sollecito cliente non migrato' + -- WHEN '3_SOLL_NOMIG' THEN '3° sollecito cliente non migrato' + -- WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + -- WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + -- --V aggiunta tipo mail profilo non attivo + -- WHEN '1_SOLL_NOPRO' THEN '1° sollecito profilo non attivo' + -- WHEN '2_SOLL_NOPRO' THEN '2° sollecito profilo non attivo' + -- WHEN '3_SOLL_NOPRO' THEN '3° sollecito profilo non attivo' + -- WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + -- WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + -- END AS Tipo + -- FROM C6Mart.Contrattosei a + -- inner join C6Mart.GESTIONE_EMAIL b + -- on + -- a.rete = b.rete + -- and + -- a.cod_fiscale = b.cod_fiscale + -- WHERE isnull(b.Inviata,'N')='N' + --OPEN reader + --FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceAgente, @tipo + --WHILE @@FETCH_STATUS = 0 + --BEGIN + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceAgente, @tipo + --END + --SELECT @totale = COUNT(*) FROM C6Mart.GESTIONE_EMAIL WHERE isnull(Inviata,'N')='N' + --SET @testoMail = @testoMail + '' + --SET @testoMail = @testoMail + '
Email non inviate:
' + @rete + '' + @codiceFiscale + '' + @codiceAgente + '' + @tipo + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + --CLOSE reader + --DEALLOCATE reader +--------------------------------------------------------------------- + SET @testoMail = @testoMail + '' + SELECT @testoMail + DROP TABLE #ReportGenerati + DROP TABLE #ReportNonGenerati + DROP TABLE #EmailInviate + DROP TABLE #IndirizziLunghi + DROP TABLE #PosizioniStatoL + DROP TABLE #ProdNonInCat + DROP TABLE #VaRDiscordanti + DROP TABLE #ClientiSenzaDataSott + DROP TABLE #ClientiSenzaPiramideModello + DROP TABLE #ClientiSenzaContrattoSintesi + DROP TABLE #ClientiSenzaProfiloMIFID +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026_2.sql b/sql/storedProduzione/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026_2.sql new file mode 100644 index 00000000..421835b3 --- /dev/null +++ b/sql/storedProduzione/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026_2.sql @@ -0,0 +1,689 @@ +CREATE procedure [C6Mart].[SRV_CHECK_C6_GIORNALIERO_20161026_2] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @DataOggiPerVar VARCHAR(8) + SET @DataOggiPerVar = convert(VARCHAR(8), getdate(), 112) + --V Esegue la procedura di estrazione dei CC + EXEC [C6Mart].[SRV_ESTRAZ_GIORNALIERA_CC] + -- Report generati + SELECT + C.Rete, + C.Cod_Agente, + case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else C.Cod_Fiscale end as Cod_fiscale, + C.Data_Perf + INTO #ReportGenerati + FROM + C6Mart.GESTIONE_PDF_FTP AS GPF + INNER JOIN C6Mart.VCONTRATTI AS C + ON GPF.RETE = C.Rete + AND GPF.CODICEFISCALE = C.Cod_Fiscale + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on C.chiaveclientepb = M.chiaveclientepb + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND Data_FineAvanzato > getDate() + ORDER BY + C.Rete, + C.Cod_Agente, + C.Cod_Fiscale + -- Report non generati + SELECT + Rete, + Cod_Agente, + case when Cod_Fiscale like '%@%' then piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else Cod_Fiscale end as Cod_fiscale, + Data_Perf, + ClienteMigrato, + RisorseNA, + profiloAttivo, + 'Ragione:' + ---------------en 20161026 eliminated NA + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Cliente non migrato ' --/ Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato ' --/ Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Cliente non migrato / Profilo non attivo ' --/ Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato / Profilo non attivo ' --/ Risorse non associate ' + -- ELSE '' + --END + ------------------en 20161026 + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Cliente non migrato / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Cliente non migrato ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato ' + ELSE '' + END + -------------------en 20161026 eliminated NA + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Risorse non associate / Profilo non attivo ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate / Profilo non attivo ' + -- ELSE '' + --END + -------------------en 20161026 + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' In attesa di gestione Revoca ' + ELSE '' + END + /*+ CASE + WHEN PartViaDisinv = 'S' THEN ' Partite viaggianti disinvestimento' + ELSE '' + END*/ + AS Ragione + INTO #ReportNonGenerati + FROM + C6Mart.vcontratti as CONTRATTOSEI + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on CONTRATTOSEI.chiaveclientepb = M.chiaveclientepb + WHERE + M.InvioBenvenuto = 'N' + AND DATEDIFF(d, Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND RisorseNA = 'N' + AND (ClienteMigrato = 'N' + -------------en 20161026 no risorse non alloacate / no NA + --OR RisorseNA = 'S' + -------------en 20161026 + --V Condizione per non generazione a causa di profilo non attivo + OR ProfiloAttivo = 0 + OR Data_UltimaRevoca is not null + -- + /*OR PartViaDisinv = 'S'*/) + AND Data_FineAvanzato > getDate() + ORDER BY + Rete, + Cod_Agente, + Cod_Fiscale + -- Email + SELECT + CASE Tipo + WHEN 'PERF' THEN 'perfezionamento' + WHEN '1_SOLL_NOASS' THEN '1° sollecito risorse non associate' + WHEN '2_SOLL_NOASS' THEN '2° sollecito risorse non associate' + WHEN '3_SOLL_NOASS' THEN '3° sollecito risorse non associate' + WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + WHEN '1_SOLL_NOMIG' THEN '1° sollecito cliente non migrato' + WHEN '2_SOLL_NOMIG' THEN '2° sollecito cliente non migrato' + WHEN '3_SOLL_NOMIG' THEN '3° sollecito cliente non migrato' + WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + --V aggiunta tipo mail profilo non attivo + WHEN '1_SOLL_NOPRO' THEN '1° sollecito profilo non attivo' + WHEN '2_SOLL_NOPRO' THEN '2° sollecito profilo non attivo' + WHEN '3_SOLL_NOPRO' THEN '3° sollecito profilo non attivo' + WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + END AS Tipo, + COUNT(Tipo) AS Totale + INTO #EmailInviate + FROM + C6Mart.GESTIONE_EMAIL + WHERE + Inviata = 'S' + AND dbo.toShortDateString(Data_Invio) = dbo.toShortDateString(GETDATE()) + GROUP BY + Tipo + ORDER BY TIPO + -- Indirizzi più lunghi di 36 caratteri + SELECT + C.Rete, + Cod_Agente, + Cod_Fiscale, + Indirizzo, + LEN(Indirizzo) AS LunghezzaIndirizzo + INTO #IndirizziLunghi + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.GESTIONE_PDF_FTP AS GPF + ON C.Rete = GPF.RETE + AND C.Cod_Fiscale = GPF.CODICEFISCALE + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND LEN(Indirizzo) > 36 + ORDER BY + Rete, + Cod_Agente, + Cod_Fiscale + -- Prodotti non a catalogo + SELECT + RETE, + CODICEFISCALE, + CODICECONTRATTO, + CODICEINTERNO, + CODICESOTTOPRODOTTO, + CODICEMAF, + ISIN + INTO #ProdNonInCat + FROM + C6Staging.SPB_CONTR_SINTESI + WHERE + POSITIONID IS NULL + -- VaR discordanti + SELECT + RA.RETE, + RA.COD_FISCALE, + RA.VAR_PERC_PTF, + VC.VAR_COMPLESSIVO_BF, + CASE + WHEN RA.VAR_PERC_PTF = VC.VAR_COMPLESSIVO_BF THEN 'OK' + ELSE 'KO' + END AS VAR_CORRETTO + INTO #VaRDiscordanti + FROM + C6Mart.RISCHIO_AGGREGATO AS RA + --INNER JOIN VAR_CHECK AS VC + INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE + WHERE + (RA.COD_AGGREG = 'COMPLESSIVO|BF') + ORDER BY + RA.RETE, + RA.COD_FISCALE + INSERT INTO VaRDiscordanti_appo SELECT *, GETDATE() FROM #VaRDiscordanti + -- Posizioni in stato liquidato + SELECT + PB.RETE, + PB.COD_FISCALE, + ID_CONTRATTO + INTO #PosizioniStatoL + FROM + C6Mart.PATRIMONIO_BF AS PB + INNER JOIN #VaRDiscordanti AS VD + ON PB.RETE = VD.RETE + AND PB.COD_FISCALE = VD.COD_FISCALE + WHERE + PB.COD_STATO = 'L' + AND PB.CTV >= 0 + AND VD.VAR_CORRETTO = 'KO' + ORDER BY + PB.RETE, + PB.COD_FISCALE + -- Clienti senza data sottoscrizione + SELECT DISTINCT + PB.RETE, + C.COD_AGENTE, + PB.COD_FISCALE, + PB.ID_CONTRATTO + INTO #ClientiSenzaDataSott + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.PATRIMONIO_BF AS PB + ON C.Rete = PB.RETE + AND C.Cod_Fiscale = PB.COD_FISCALE + INNER JOIN C6Mart.RISCHIO_AGGREGATO AS RA + ON PB.RETE = RA.RETE + AND PB.COD_FISCALE = RA.COD_FISCALE + WHERE + PB.DATA_SOTTOSCRIZIONE IS NULL + AND PB.TIPO_PRODOTTO = 'DT' + -- Clienti senza piramide modello + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + data_perf + INTO #ClientiSenzaPiramideModello + FROM + C6Mart.vcontratti as CONTRATTOSEI + inner join + C6Mart.contrattosei_metadati as M + on CONTRATTOSEI.chiaveclientepb = m.chiaveclientepb + WHERE + --Data_FineAvanzato < getDate() + Data_FineAvanzato > getDate() + AND inviobenvenuto = 'N' + AND clientemigrato = 'S' + AND risorseNA = 'N' + AND profiloAttivo = 1 + AND DATEDIFF(d, Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND Rete+Cod_Fiscale NOT IN ( + SELECT + Rete+COD_FISCALE + FROM + C6Mart.PIRAMIDE_MOD) + --scarti simpb contrattoSintesi + SELECT C6.Rete, Cod_Agente, codiceFiscale,DATA_PERF + INTO #ClientiSenzaContrattoSintesi + FROM C6STAGING.SPB_SCARTI SPB + JOIN + C6MART.RP_vContrattiMigrati C6 + ON + SPB.CODICEFISCALE = C6.COD_FISCALE + WHERE pacchettoSSIS = 'SPB_CONTRSINTESI' + --scarti simpb mifid + SELECT codiceFiscale,DATA_PERF + INTO #ClientiSenzaProfiloMIFID + FROM C6STAGING.SPB_SCARTI SPB + JOIN + C6MART.RP_vContrattiMigrati C6 + ON + SPB.CODICEFISCALE = C6.COD_FISCALE + WHERE pacchettoSSIS = 'SPB_MIFID' + DECLARE @testoMail VARCHAR(MAX) + DECLARE @rete CHAR(1) + DECLARE @codiceAgente VARCHAR(6) + DECLARE @codiceFiscale VARCHAR(25) + DECLARE @data DATETIME + DECLARE @ragione VARCHAR(100) + DECLARE @tipo VARCHAR(100) + DECLARE @indirizzo VARCHAR(100) + DECLARE @totale INT + DECLARE @codiceContratto VARCHAR(11) + DECLARE @codiceinterno VARCHAR(10) + DECLARE @codicesottoprodotto VARCHAR(5) + DECLARE @codicemaf VARCHAR(20) + DECLARE @isin VARCHAR(12) + DECLARE @varPercPtf DECIMAL(5, 2) + DECLARE @varComplessivoBf DECIMAL(5, 2) + SET @testoMail = '' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Tipo, + Totale + FROM + #EmailInviate + OPEN reader + FETCH NEXT FROM reader INTO @tipo, @totale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @tipo, @totale + END + SET @testoMail = @testoMail + '
E-mail inviate:
' + @tipo + '' + CAST(@totale AS VARCHAR) + '
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Data_Perf + FROM + #ReportGenerati + --modifica Emanuele x escludere l'agente di prova + WHERE Cod_Agente <> '015312' + --modifica Emanuele x escludere l'agente di prova + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + END + SELECT @totale = COUNT(*) FROM #ReportGenerati + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Report generati:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Data_Perf, + Ragione + FROM + #ReportNonGenerati + --modifica Emanuele x escludere l'agente di prova + WHERE Cod_Agente <> '015312' + --modifica Emanuele x escludere l'agente di prova + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data, @ragione + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data, @ragione + END + SELECT @totale = COUNT(*) FROM #ReportNonGenerati + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Report non generati:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '' + @ragione + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Indirizzo, + LEN(Indirizzo) AS LunghezzaIndirizzo + FROM + #IndirizziLunghi + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @indirizzo, @totale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @indirizzo, @totale + END + SELECT @totale = COUNT(*) FROM #IndirizziLunghi + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Indirizzi più lunghi di 36 caratteri:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + @indirizzo + '' + CAST(@totale AS VARCHAR) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + CODICEFISCALE, + CODICECONTRATTO, + CODICEINTERNO, + CODICESOTTOPRODOTTO, + CODICEMAF, + ISIN + FROM #ProdNonInCat + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto, @codiceinterno, @codicesottoprodotto, @codicemaf, @isin + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto, @codiceinterno, @codicesottoprodotto, @codicemaf, @isin + END + SELECT @totale = COUNT(*) FROM #ProdNonInCat + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con prodotti non a catalogo (CodConf, CodInt/SubProd/CodMaf/Isin):
' + @rete + '' + @codiceFiscale + '' + @codiceContratto + '   ' + SET @testoMail = @testoMail + ltrim(rtrim(@codiceinterno)) + '/' + SET @testoMail = @testoMail + ltrim(rtrim(@codicesottoprodotto)) + '/' + SET @testoMail = @testoMail + ltrim(rtrim(@codicemaf)) + '/' + SET @testoMail = @testoMail + ltrim(rtrim(@isin)) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_FISCALE, + VAR_PERC_PTF, + VAR_COMPLESSIVO_BF + FROM + #VaRDiscordanti + WHERE + VAR_CORRETTO = 'KO' + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @varPercPtf, @varComplessivoBf + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @varPercPtf, @varComplessivoBf + END + SELECT @totale = COUNT(*) FROM #VaRDiscordanti WHERE VAR_CORRETTO = 'KO' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con VaR discordante:
' + @rete + '' + @codiceFiscale + '' + CAST(@varPercPtf AS VARCHAR) + '' + CAST(@varComplessivoBf AS VARCHAR) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_FISCALE, + ID_CONTRATTO + FROM + #PosizioniStatoL + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #PosizioniStatoL + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con posizioni stato Liquidato:
' + @rete + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_AGENTE, + COD_FISCALE, + ID_CONTRATTO + FROM + #ClientiSenzaDataSott + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaDataSott + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza data sottoscrizione
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + data_perf + FROM + #ClientiSenzaPiramideModello + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaPiramideModello + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza piramide modello
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + codiceFiscale, + data_perf + FROM + #ClientiSenzaContrattoSintesi + OPEN reader + FETCH NEXT FROM reader INTO @rete,@codiceAgente,@codiceFiscale,@data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete,@codiceAgente,@codiceFiscale,@data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaContrattoSintesi + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza righe Contratto Sintesi
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + codiceFiscale,data_perf + FROM + #ClientiSenzaProfiloMIFID + OPEN reader + FETCH NEXT FROM reader INTO @codiceFiscale,@data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @codiceFiscale,@data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaProfiloMIFID + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza righe profilo MIFID
' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader +--------------------------------------------------------------------- +--Email non inviate + --SET @testoMail = @testoMail + '

' + --DECLARE reader CURSOR LOCAL FORWARD_ONLY + --FOR + -- SELECT a.rete, a.cod_fiscale, a.cod_agente, + -- CASE Tipo + -- WHEN 'PERF' THEN 'perfezionamento' + -- WHEN '1_SOLL_NOASS' THEN '1° sollecito risorse non associate' + -- WHEN '2_SOLL_NOASS' THEN '2° sollecito risorse non associate' + -- WHEN '3_SOLL_NOASS' THEN '3° sollecito risorse non associate' + -- WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + -- WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + -- WHEN '1_SOLL_NOMIG' THEN '1° sollecito cliente non migrato' + -- WHEN '2_SOLL_NOMIG' THEN '2° sollecito cliente non migrato' + -- WHEN '3_SOLL_NOMIG' THEN '3° sollecito cliente non migrato' + -- WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + -- WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + -- --V aggiunta tipo mail profilo non attivo + -- WHEN '1_SOLL_NOPRO' THEN '1° sollecito profilo non attivo' + -- WHEN '2_SOLL_NOPRO' THEN '2° sollecito profilo non attivo' + -- WHEN '3_SOLL_NOPRO' THEN '3° sollecito profilo non attivo' + -- WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + -- WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + -- END AS Tipo + -- FROM C6Mart.Contrattosei a + -- inner join C6Mart.GESTIONE_EMAIL b + -- on + -- a.rete = b.rete + -- and + -- a.cod_fiscale = b.cod_fiscale + -- WHERE isnull(b.Inviata,'N')='N' + --OPEN reader + --FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceAgente, @tipo + --WHILE @@FETCH_STATUS = 0 + --BEGIN + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceAgente, @tipo + --END + --SELECT @totale = COUNT(*) FROM C6Mart.GESTIONE_EMAIL WHERE isnull(Inviata,'N')='N' + --SET @testoMail = @testoMail + '' + --SET @testoMail = @testoMail + '
Email non inviate:
' + @rete + '' + @codiceFiscale + '' + @codiceAgente + '' + @tipo + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + --CLOSE reader + --DEALLOCATE reader +--------------------------------------------------------------------- + SET @testoMail = @testoMail + '' + SELECT @testoMail + DROP TABLE #ReportGenerati + DROP TABLE #ReportNonGenerati + DROP TABLE #EmailInviate + DROP TABLE #IndirizziLunghi + DROP TABLE #PosizioniStatoL + DROP TABLE #ProdNonInCat + DROP TABLE #VaRDiscordanti + DROP TABLE #ClientiSenzaDataSott + DROP TABLE #ClientiSenzaPiramideModello + DROP TABLE #ClientiSenzaContrattoSintesi + DROP TABLE #ClientiSenzaProfiloMIFID +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_SRV_CHECK_C6_GIORNALIERO_AND.sql b/sql/storedProduzione/C6Mart_SRV_CHECK_C6_GIORNALIERO_AND.sql new file mode 100644 index 00000000..03e46370 --- /dev/null +++ b/sql/storedProduzione/C6Mart_SRV_CHECK_C6_GIORNALIERO_AND.sql @@ -0,0 +1,410 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[SRV_CHECK_C6_GIORNALIERO_AND] +AS +BEGIN + SET NOCOUNT ON; +SELECT DISTINCT * INTO #TEST_QUALITY FROM ( +SELECT *,12 AS ISLOG FROM C6MART.TEST_QUALITY +UNION +SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'Cliente con VaR discordante '+ convert(varchar,RA.VAR_PERC_PTF) + ' ' + convert(varchar,VC.VAR_COMPLESSIVO_BF) AS MOTIVO,0 +FROM + C6Mart.RISCHIO_AGGREGATO AS RA + INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE +WHERE + RA.COD_AGGREG = 'COMPLESSIVO|BF' + AND ABS(RA.VAR_PERC_PTF - VC.VAR_COMPLESSIVO_BF) > 0.02 + AND (VC.FiduMulitMand = 'N') +UNION +SELECT DISTINCT RETE,COD_FISCALE,'Indirizzo più lunghi di 36 caratteri' AS MOTIVO,6 +FROM C6Mart.vcontrattisei +WHERE data_fineavanzato > GETDATE() + AND isnull(numrevoche,0) = 0 + AND inviobenvenuto = 'N' + AND LEN(Indirizzo) > 36 +UNION + SELECT DISTINCT RETE,CODICEFISCALE + ,'Prodotto non a catalogo ' + isnull(codiceContratto,'') +', '+ ltrim(rtrim(isnull(codiceinterno,''))) + '/'+ ltrim(rtrim(isnull(codicesottoprodotto,''))) + '/'+ ltrim(rtrim(isnull(codicemaf,''))) + '/'+ ltrim(rtrim(isnull(isin,''))) As motivo ,7 +FROM C6Staging.SPB_CONTR_SINTESI WHERE POSITIONID IS NULL +UNION +SELECT DISTINCT CM.Rete,CM.Cod_Fiscale,'Cliente senza righe Contratto Sintesi' AS MOTIVO,8 +FROM C6Mart.RP_VContrattiMigrati CM +LEFT JOIN C6Staging.SPB_CONTR_SINTESI CS +ON CM.Cod_Fiscale = CS.CODICEFISCALE AND CM.RETE = CS.RETE +WHERE CS.CODICEFISCALE IS NULL +UNION +SELECT DISTINCT PB.RETE,PB.COD_FISCALE,'Cliente senza data sottoscrizione ' + dbo.toShortDateString(PB.ID_CONTRATTO) AS MOTIVO,9 + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.PATRIMONIO_BF AS PB + ON C.Rete = PB.RETE + AND C.Cod_Fiscale = PB.COD_FISCALE + INNER JOIN C6Mart.RISCHIO_AGGREGATO AS RA + ON PB.RETE = RA.RETE + AND PB.COD_FISCALE = RA.COD_FISCALE + WHERE + PB.DATA_SOTTOSCRIZIONE IS NULL + AND PB.TIPO_PRODOTTO = 'DT' +UNION +SELECT DISTINCT VC.Rete,VC.Cod_Fiscale,'Cliente senza piramide modello' AS MOTIVO,10 +FROM C6Mart.vcontrattiSEI VC + LEFT JOIN C6Mart.PIRAMIDE_MOD PM + ON VC.Cod_Fiscale=PM.Cod_Fiscale AND VC.RETE=PM.RETE +WHERE + VC.Data_FineAvanzato > getDate() + AND VC.inviobenvenuto = 'N' + AND VC.clientemigrato = 'S' + AND VC.risorseNA = 'N' + AND VC.profiloAttivo = 1 + AND DATEDIFF(d, VC.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND ISNULL(VC.NUMREVOCHE,0) = 0 + AND PM.Cod_Fiscale IS NULL +UNION +SELECT DISTINCT CM.RETE,CM.Cod_Fiscale,'Cliente senza righe profilo MIFID' AS MOTIVO,11 +FROM C6Mart.RP_VContrattiMigrati CM +LEFT JOIN C6Staging.SPB_MIFID MD +ON CM.Cod_Fiscale = MD.CODICEFISCALE AND CM.RETE = MD.RETE +WHERE MD.CODICEFISCALE IS NULL +) T +INSERT INTO #TEST_QUALITY +SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'Cliente con VaR discordante '+ convert(varchar,RA.VAR_PERC_PTF) + ' ' + convert(varchar,VC.VAR_COMPLESSIVO_BF) + CASE WHEN VC.FiduMulitMand = 'S' THEN ' FiduMulitMand' ELSE ' ' END AS MOTIVO,5 +FROM + C6Mart.RISCHIO_AGGREGATO AS RA + INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE +WHERE + RA.COD_AGGREG = 'COMPLESSIVO|BF' + AND ABS(RA.VAR_PERC_PTF - VC.VAR_COMPLESSIVO_BF) <> 0.00 +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in EMAIL' AS MOTIVO,12 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](email) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in INDIRIZZO' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](Indirizzo) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in CAP' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](CAP) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in Citta' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](Citta) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in Provincia' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](Provincia) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in Nazione' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](Nazione) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in Presso' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](Presso) = 'S' and data_fineavanzato > getdate() + SELECT + Tipo + ,CASE Tipo + WHEN 'PERF' THEN 'Perfezionamento' + WHEN '1_SOLL_NOASS' THEN '1º sollecito risorse non associate' + WHEN '2_SOLL_NOASS' THEN '2º sollecito risorse non associate' + WHEN '3_SOLL_NOASS' THEN '3º sollecito risorse non associate' + WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + WHEN '1_SOLL_NOMIG' THEN '1º sollecito cliente non migrato' + WHEN '2_SOLL_NOMIG' THEN '2º sollecito cliente non migrato' + WHEN '3_SOLL_NOMIG' THEN '3º sollecito cliente non migrato' + WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + WHEN '1_SOLL_NOPRO' THEN '1º sollecito profilo non attivo' + WHEN '2_SOLL_NOPRO' THEN '2º sollecito profilo non attivo' + WHEN '3_SOLL_NOPRO' THEN '3º sollecito profilo non attivo' + WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + END AS DescTipo + ,CASE Tipo + WHEN 'PERF' THEN 1 + WHEN '1_SOLL_NOMIG' THEN 2 + WHEN '2_SOLL_NOMIG' THEN 3 + WHEN '3_SOLL_NOMIG' THEN 4 + WHEN 'S_SOLL_NOMIG' THEN 5 + WHEN 'REVOCA_NOMIG' THEN 6 + WHEN '1_SOLL_NOASS' THEN 7 + WHEN '2_SOLL_NOASS' THEN 8 + WHEN '3_SOLL_NOASS' THEN 9 + WHEN 'S_SOLL_NOASS' THEN 10 + WHEN 'REVOCA_NOASS' THEN 11 + WHEN '1_SOLL_NOPRO' THEN 12 + WHEN '2_SOLL_NOPRO' THEN 13 + WHEN '3_SOLL_NOPRO' THEN 14 + WHEN 'S_SOLL_NOPRO' THEN 15 + WHEN 'REVOCA_NOPRO' THEN 16 + END AS Ordine + ,COUNT(Tipo) AS Totale + INTO #EmailInviate + FROM C6Mart.GESTIONE_EMAIL + WHERE dbo.toShortDateString(Data_generazione) = dbo.toShortDateString(GETDATE()) + GROUP BY Tipo + SELECT C.rete + ,C.Cod_fiscale + ,C.cod_Agente + ,case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(C.cod_fiscale,4,6) else C.Cod_Fiscale end as cliente + ,C.data_perf + ,Tipo + ,C.ClienteMIGRATO + ,C.RISORSENA + ,C.PROFILOATTIVO + ,case when dbo.toShortDateString(Data_generazione) = dbo.toShortDateString(GETDATE()) then 'S' else 'N' end as FLAGG + ,case when dbo.toShortDateString(Data_invio) = dbo.toShortDateString(GETDATE()) then 'S' else 'N' end as FLAGI + ,inviata + ,row_number() over (partition by C.rete,C.Cod_fiscale ORDER BY CASE Tipo + WHEN 'PERF' THEN 1 + WHEN '1_SOLL_NOMIG' THEN 2 + WHEN '2_SOLL_NOMIG' THEN 3 + WHEN '3_SOLL_NOMIG' THEN 4 + WHEN 'S_SOLL_NOMIG' THEN 5 + WHEN 'REVOCA_NOMIG' THEN 6 + WHEN '1_SOLL_NOASS' THEN 7 + WHEN '2_SOLL_NOASS' THEN 8 + WHEN '3_SOLL_NOASS' THEN 9 + WHEN 'S_SOLL_NOASS' THEN 10 + WHEN 'REVOCA_NOASS' THEN 11 + WHEN '1_SOLL_NOPRO' THEN 12 + WHEN '2_SOLL_NOPRO' THEN 13 + WHEN '3_SOLL_NOPRO' THEN 14 + WHEN 'S_SOLL_NOPRO' THEN 15 + WHEN 'REVOCA_NOPRO' THEN 16 + END) as duplicato + INTO #EmailInviateDett + FROM C6Mart.GESTIONE_EMAIL E INNER JOIN C6MART.VCONTRATTISEI C + ON E.COD_FISCALE = C.COD_FISCALE AND E.RETE=C.RETE + WHERE dbo.toShortDateString(Data_generazione) = dbo.toShortDateString(GETDATE()) + OR dbo.toShortDateString(Data_invio) = dbo.toShortDateString(GETDATE()) +SELECT + C.Rete, + C.Cod_fiscale, + C.Cod_Agente, + case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(C.cod_fiscale,4,6) else C.Cod_Fiscale end as cliente, + C.Data_Perf + INTO #ReportGenerati + FROM + C6Mart.GESTIONE_PDF_FTP AS GPF + INNER JOIN C6Mart.VCONTRATTI AS C + ON GPF.RETE = C.Rete + AND GPF.CODICEFISCALE = C.Cod_Fiscale + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on C.chiaveclientepb = M.chiaveclientepb + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND Data_FineAvanzato > getDate() +SElECT DISTINCT + V.COD_FISCALE + ,V.RETE + ,V.COD_AGENTE + ,V.piva_fiduciaria + ,V.DATA_PERF + ,V.ClienteMigrato + ,V.RisorseNA + ,V.profiloAttivo + ,V.Data_UltimaRevoca + ,CASE WHEN Q.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END AS TestQuality + ,CASE WHEN DATEDIFF(d, DATA_PERF, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) THEN 'S' ELSE 'N' END AS FinePerf + ,InvioBenvenuto as Generato +INTO #TuttiReport +FROM C6MART.VCONTRATTISEI V +LEFT JOIN #TEST_QUALITY Q + ON V.COD_FISCALE = Q.COD_FISCALE AND V.RETE = Q.RETE +WHERE 1=1 +AND V.INVIOBENVENUTO = 'N' +AND DATA_FINEAVANZATO > getDate() +SELECT * +, 'n.ro giorni trascorsi dal perfezionamento: ' + CONVERT(VARCHAR,DATEDIFF(d,DATA_PERF, GETDATE())) AS Motivo +,CASE when Cod_Fiscale like '%@%' then piva_fiduciaria + ' ' + substring( cod_fiscale,4,6) else Cod_Fiscale end as CLIENTE +INTO #ReportNonGenerati +FROM #TuttiReport WHERE(FINEPERF = 'S') OR (FINEPERF = 'N' AND TestQuality = 'S') +SELECT + Q.RETE + ,Q.COD_FISCALE + ,Q.MOTIVO + ,CASE WHEN Q.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END AS TestQuality + ,CASE WHEN DATEDIFF(d, DATA_PERF, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) THEN 'S' ELSE 'N' END AS FinePerf + ,InvioBenvenuto as Generato + ,Q.ISLOG +INTO #DettReport +FROM #TEST_QUALITY Q +INNER JOIN C6MART.VCONTRATTISEI V + ON V.COD_FISCALE = Q.COD_FISCALE AND V.RETE = Q.RETE + WHERE ISLOG > 0 +UNION +SELECT rete,COD_FISCALE,'In attesa di gestione Revoca 'AS MOTIVO,TestQuality,FinePerf, Generato,1 as ISLOG from #ReportNonGenerati WHERE Data_UltimaRevoca IS NOT NULL +UNION +SELECT rete,COD_FISCALE,'Cliente non migrato ' AS MOTIVO,TestQuality,FinePerf,Generato,2 as ISLOG from #ReportNonGenerati WHERE isnull(ClienteMigrato,'N') = 'N' +UNION +SELECT rete,COD_FISCALE,'Risorse non associate ' AS MOTIVO,TestQuality,FinePerf,Generato,3 as ISLOG from #ReportNonGenerati WHERE isnull(RisorseNA,'S') = 'S' +UNION +SELECT rete,COD_FISCALE,'Profilo non attivo ' AS MOTIVO,TestQuality,FinePerf,Generato,4 as ISLOG from #ReportNonGenerati WHERE isnull(profiloAttivo,0) = 0 +-- SELECT * FROM #EmailInviateDett +-- SELECT * FROM #EmailInviate +-- SELECT * FROM #TEST_QUALITY +-- SELECT * FROM #TuttiReport where cod_fiscale = 'VCCGPP46D06F205X' +-- SELECT * FROM #ReportGenerati where cod_fiscale = 'VCCGPP46D06F205X' +-- SELECT * FROM #ReportNonGenerati where cod_fiscale = 'VCCGPP46D06F205X' +-- SELECT * FROM #DettReport where cod_fiscale = 'VCCGPP46D06F205X' +-- SELECT * FROM #EmailInviate +DECLARE @testoMail0 VARCHAR(MAX) +DECLARE @testoMail1 VARCHAR(MAX) +DECLARE @testoMail2 VARCHAR(MAX) +DECLARE @testoMail3 VARCHAR(MAX) +DECLARE @testoMail4 VARCHAR(MAX) +DECLARE @rete CHAR(1) +DECLARE @cod_fiscale CHAR(16) +DECLARE @codiceAgente VARCHAR(6) +DECLARE @cliente VARCHAR(25) +DECLARE @data DATETIME +DECLARE @Motivo VARCHAR(100) +DECLARE @testQuality CHAR(1) +DECLARE @FinePerf CHAR(1) +DECLARE @totale INT + -- [C6Mart].[SRV_CHECK_C6_GIORNALIERO_AND] +set @testoMail0 = '

Rapporto giornaliero

' +set @testoMail1 = ''; +SET @testoMail2 = '' +SET @testoMail3 = '' +SET @testoMail4 = '' +SET @totale = 0 +--********************************************************************************* +--********************************************************************************* +--********************************************************************************* + SET @totale = 0 + SELECT @totale = isnull(sum(totale),0) FROM #EmailInviate + SET @testoMail1 = @testoMail1 + '

' + DECLARE @tipoEmail VARCHAR(100) + DECLARE @DescTipo VARCHAR(100) + DECLARE @totaleEmail VARCHAR(100) + DECLARE @ClienteMIGRATO VARCHAR(1) + DECLARE @RISORSENA VARCHAR(1) + DECLARE @FLAGG VARCHAR(1) + DECLARE @FLAGI VARCHAR(1) + DECLARE @PROFILOATTIVO INT + DECLARE @DUPLICATO INT + DECLARE reader CURSOR FOR SELECT DescTipo,convert(varchar,totale),tipo FROM #EmailInviate ORDER BY Ordine + OPEN reader + FETCH NEXT FROM reader INTO @DescTipo, @totaleEmail,@tipoEmail + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail1 = @testoMail1 +'
E-mail inviate
'+@DescTipo+''+@totaleEmail+'
' + FETCH NEXT FROM reader INTO @DescTipo, @totaleEmail,@tipoEmail + END + SET @testoMail1 = @testoMail1 + 'Totale: ' + CAST(@totale AS VARCHAR) + '' + CLOSE reader + DEALLOCATE reader + DECLARE reader CURSOR FOR SELECT rete,Cod_fiscale, cod_Agente, cliente, data_perf,tipo,ClienteMIGRATO,RISORSENA ,PROFILOATTIVO,DUPLICATO,FLAGG,FLAGI FROM #EmailInviateDett order by DUPLICATO asc + OPEN reader + FETCH NEXT FROM reader INTO @rete, @Cod_Fiscale, @codiceAgente , @cliente, @data,@tipoEmail,@ClienteMIGRATO,@RISORSENA ,@PROFILOATTIVO,@DUPLICATO,@FLAGG,@FLAGI + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
'+@rete+''+@codiceAgente+''+@cliente+''+dbo.toShortDateString(@data)+'
'); + IF @PROFILOATTIVO = 1 AND @RISORSENA = 'N' AND @ClienteMIGRATO = 'S' AND @tipoEmail <> 'PERF' AND @tipoEmail<>'REVOCA_NOMIG' AND @tipoEmail<>'REVOCA_NOASS' AND @tipoEmail<>'REVOCA_NOPRO' + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
Tipo Email Errata
'); + IF @DUPLICATO <> 1 + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
' + CONVERT(VARCHAR,@DUPLICATO) + 'º email inviata
'); + IF @FLAGG = 'S' AND @FLAGI = 'N' + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
Email non inviata
'); + IF @FLAGG = 'N' AND @FLAGI = 'S' AND @tipoEmail<>'REVOCA_NOMIG' AND @tipoEmail<>'REVOCA_NOASS' AND @tipoEmail<>'REVOCA_NOPRO' + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
Invio Email Errata
'); + IF @PROFILOATTIVO <> 1 + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
Profilo non attivo
'); + IF @RISORSENA <> 'N' + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
Risorse non associate
'); + IF @ClienteMIGRATO <> 'S' + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
Cliente non migrato
'); + FETCH NEXT FROM reader INTO @rete, @Cod_Fiscale, @codiceAgente , @cliente, @data,@tipoEmail,@ClienteMIGRATO,@RISORSENA ,@PROFILOATTIVO,@DUPLICATO,@FLAGG,@FLAGI + END + CLOSE reader + DEALLOCATE reader +--********************************************************************************* +--********************************************************************************* +--********************************************************************************* + SET @totale = 0 + SELECT @totale = COUNT(*) FROM #ReportGenerati + SET @testoMail2 = @testoMail2 + '

' + DECLARE reader CURSOR FOR SELECT rete,Cod_fiscale, cod_Agente, cliente, data_perf FROM #ReportGenerati ORDER BY DATA_PERF + OPEN reader + FETCH NEXT FROM reader INTO @rete,@Cod_fiscale, @codiceAgente, @cliente, @data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail2 = @testoMail2 +'
Report generati
'+@rete+''+@codiceAgente+''+@cliente+''+dbo.toShortDateString(@data)+'
' + FETCH NEXT FROM reader INTO @rete,@Cod_fiscale, @codiceAgente, @cliente, @data + END + SET @testoMail2 = @testoMail2 + 'Totale: ' + CAST(@totale AS VARCHAR) + '' + SET @testoMail0 = @testoMail0 + '
Report generati'+CAST(@totale AS VARCHAR)+'
' + CLOSE reader + DEALLOCATE reader +--********************************************************************************* +--********************************************************************************* +--********************************************************************************* + SET @totale = 0 + SELECT @totale = COUNT(*) FROM #ReportNonGenerati WHERE FINEPERF = 'S' + SET @testoMail3 = @testoMail3 + '

' + DECLARE reader CURSOR FOR SELECT rete, cod_fiscale, cod_Agente, cliente, data_perf, Motivo,testQuality FROM #ReportNonGenerati WHERE FINEPERF = 'S' ORDER BY DATA_PERF + OPEN reader + FETCH NEXT FROM reader INTO @rete, @cod_fiscale, @codiceAgente, @cliente, @data, @Motivo,@testQuality + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail3 = @testoMail3 +'
Report non generati
'+@rete+''+@codiceAgente+''+@cliente+''+dbo.toShortDateString(@data)+''+@Motivo+'
' + FETCH NEXT FROM reader INTO @rete, @cod_fiscale, @codiceAgente, @cliente, @data, @Motivo,@testQuality + END + SET @testoMail3 = @testoMail3 + 'Totale: ' + CAST(@totale AS VARCHAR) + '' + SET @testoMail0 = @testoMail0 + '
Report non generati'+CAST(@totale AS VARCHAR)+'
' + CLOSE reader + DEALLOCATE reader +----********************************************************************************* +----********************************************************************************* +----********************************************************************************* + SET @totale = 0 + DECLARE @totale2 INT + SELECT @totale = COUNT(*) FROM #ReportNonGenerati WHERE FINEPERF = 'N' AND TestQuality = 'S' + SELECT @totale2 = COUNT(*) FROM #TuttiReport WHERE FINEPERF = 'N' + SET @testoMail4 = @testoMail4 + '

' + DECLARE reader CURSOR FOR SELECT rete, cod_fiscale, cod_Agente, cliente, data_perf, Motivo,testQuality FROM #ReportNonGenerati WHERE FINEPERF = 'N' AND TestQuality = 'S' ORDER BY DATA_PERF + OPEN reader + FETCH NEXT FROM reader INTO @rete, @cod_fiscale, @codiceAgente, @cliente, @data, @Motivo,@testQuality + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail4 = @testoMail4 +'
Report errati in Perfezionamento
'+@rete+''+@codiceAgente+''+@cliente+''+dbo.toShortDateString(@data)+''+@Motivo+'
' + FETCH NEXT FROM reader INTO @rete, @cod_fiscale, @codiceAgente, @cliente, @data, @Motivo,@testQuality + END + SET @testoMail4 = @testoMail4 + 'Totale: ' + CAST(@totale AS VARCHAR) + ' su ' + CAST(@totale2 AS VARCHAR) + '' + SET @testoMail0 = @testoMail0 + '
Report errati in Perfezionamento'+ CAST(@totale AS VARCHAR) + ' su ' + CAST(@totale2 AS VARCHAR) +'
' + CLOSE reader + DEALLOCATE reader +----********************************************************************************* +----********************************************************************************* +----********************************************************************************* + DECLARE reader CURSOR FOR SELECT Rete,Cod_Fiscale,Motivo,TestQuality,CASE WHEN generato ='S' THEN 'G' ELSE FinePerf END FinePerf FROM #DettReport order by ISLOG desc + OPEN reader + FETCH NEXT FROM reader INTO @rete, @Cod_Fiscale, @Motivo , @testQuality, @FinePerf + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail2 = REPLACE(@testoMail2,'',''+'
'+@Motivo+'
'); + SET @testoMail3 = REPLACE(@testoMail3,'',''+'
'+@Motivo+'
'); + SET @testoMail4 = REPLACE(@testoMail4,'',''+'
'+@Motivo+'
'); + FETCH NEXT FROM reader INTO @rete, @Cod_Fiscale, @Motivo, @testQuality, @FinePerf + END + CLOSE reader + DEALLOCATE reader +----********************************************************************************* +----********************************************************************************* +----********************************************************************************* +SET @testoMail0 = @testoMail0 + '

In allegato dettaglio del Giornaliero' +DROP TABLE #TEST_QUALITY +DROP TABLE #EmailInviate +DROP TABLE #EmailInviateDett +DROP TABLE #TuttiReport +DROP TABLE #ReportNonGenerati +DROP TABLE #DettReport +DROP TABLE #ReportGenerati +SELECT @testoMail0,@testoMail1,@testoMail2,@testoMail3,@testoMail4,'' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_SRV_ESTRAZ_GIORNALIERA_CC.sql b/sql/storedProduzione/C6Mart_SRV_ESTRAZ_GIORNALIERA_CC.sql new file mode 100644 index 00000000..e000d62e --- /dev/null +++ b/sql/storedProduzione/C6Mart_SRV_ESTRAZ_GIORNALIERA_CC.sql @@ -0,0 +1,77 @@ +-- ============================================= +-- Author: alessandro Tringali +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[SRV_ESTRAZ_GIORNALIERA_CC] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_ESTRAZ_GIORNALIERA_CC', + GETDATE(), + 'Elaborazione giornaliera' + ) +--V Cancellazione delle tuple inserite nel giorno corrente, può accadere che la procedura viene +-- lanciata più di una volta, in quel caso inserirei righe doppie. +DELETE FROM C6MART.ESTRAZ_GIORNALIERA_CC +WHERE DATEDIFF(dd,dataGenerazione,getDate()) = 0 +INSERT INTO C6MART.ESTRAZ_GIORNALIERA_CC +SELECT +a.COD_FISCALE, +A.RETE, +CODICECONTRATTO, +DATAGENERAZIONE, +NUMERO_CC, +C.CTV_CC, +D.TOT_CTV, +D.TOT_CTV_NO_CC +FROM +C6MART.VCONTRATTI A, +C6MART.GESTIONE_PDF_FTP B, +( + SELECT + COD_FISCALE, + RETE, + COD_CC AS NUMERO_CC, + SUM(SALDOCONTABILE) AS CTV_CC + FROM C6MART.ANAG_CC + GROUP BY + COD_FISCALE, + RETE, + COD_CC + ) C, +( SELECT COD_FISCALE, RETE, + SUM(CTV) AS TOT_CTV, + SUM(CASE WHEN TIPO_PRODOTTO='CC' THEN 0 ELSE CTV END) AS TOT_CTV_NO_CC FROM C6MART.PATRIMONIO_BF + GROUP BY COD_FISCALE, RETE +)D +WHERE +A.COD_FISCALE=B.CODICEFISCALE +AND A.RETE=B.RETE +AND A.COD_FISCALE=C.COD_FISCALE +AND A.RETE=C.RETE +AND A.COD_FISCALE=D.COD_FISCALE +AND A.RETE=D.RETE +ORDER BY 1,2,3,5 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'DELETE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_ESTRAZ_GIORNALIERA_CC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_ESTRAZ_GIORNALIERA_CC' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_SRV_SELECT_EMAIL_BY_ISODATE.sql b/sql/storedProduzione/C6Mart_SRV_SELECT_EMAIL_BY_ISODATE.sql new file mode 100644 index 00000000..4291b572 --- /dev/null +++ b/sql/storedProduzione/C6Mart_SRV_SELECT_EMAIL_BY_ISODATE.sql @@ -0,0 +1,31 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[SRV_SELECT_EMAIL_BY_ISODATE] + @date VARCHAR(8) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + IF ISDATE(@date) = 0 + RETURN + SELECT + Email_Id, + Rete, + Cod_Fiscale, + Tipo, + Data_Generazione, + Inviata, + Data_Invio, + Data_Comunicazione_Host, + ID_ELAB + FROM + C6Mart.GESTIONE_EMAIL + WHERE + DATEPART(yy, Data_Generazione) = DATEPART(yy, @date) AND + DATEPART(m, Data_Generazione) = DATEPART(m, @date) AND + DATEPART(d, Data_Generazione) = DATEPART(d, @date) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_SRV_STORICIZZAZIONE.sql b/sql/storedProduzione/C6Mart_SRV_STORICIZZAZIONE.sql new file mode 100644 index 00000000..938f66da --- /dev/null +++ b/sql/storedProduzione/C6Mart_SRV_STORICIZZAZIONE.sql @@ -0,0 +1,672 @@ +-- ============================================= +-- Author: paolo giovanetti +-- Create date: 23 gennaio 2009 +-- Description: - rimossa la transazione inutile +-- - aggiunta la storicizzazione delle elaborazioni e del global_error +-- - la storicizzazione di GESTIONE_ZIP_FTP prevede la sua pulizia sul MART !! +-- ============================================= +CREATE procedure [C6Mart].[SRV_STORICIZZAZIONE] + @NomeTabella VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico espresso in giorni + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MART.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + SET @ID_ELAB = C6MART.GETIDELAB() +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX INIZIO TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --XXXXXXXXXXXXXXXXXXXXXXXX ALBERO_PRODOTTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALBERO_PRODOTTI') + BEGIN + DELETE FROM C6Storico.ALBERO_PRODOTTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ALBERO_PRODOTTI + (DESCRIZIONE_ORIGINALE, ALBERO_GERARCHIA_1, ALBERO_GERARCHIA_2, ALBERO_GERARCHIA_3, ID_ELAB) + SELECT + AP.DESCRIZIONE_ORIGINALE, AP.ALBERO_GERARCHIA_1, AP.ALBERO_GERARCHIA_2, AP.ALBERO_GERARCHIA_3, AP.ID_ELAB + FROM C6Mart.ALBERO_PRODOTTI AP + LEFT OUTER JOIN C6Storico.ALBERO_PRODOTTI SAP + ON AP.DESCRIZIONE_ORIGINALE = SAP.DESCRIZIONE_ORIGINALE + WHERE AP.ID_ELAB = @ID_ELAB AND AP.DESCRIZIONE_ORIGINALE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CC XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CC') + BEGIN + DELETE FROM C6Storico.ANAG_CC WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_CC + (RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDOCONTABILE,SALDODISPONIBILE, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB, TIPO_ELAB) + SELECT + AC.RETE, AC.COD_FISCALE, AC.INTERMEDIARIO, AC.COINTEST, AC.COD_CC, AC.FASCIA_CPP, AC.SALDOCONTABILE, AC.SALDODISPONIBILE, AC.DATA_APERTURA, AC.DATA_CHIUSURA, AC.ID_ELAB, AC.TIPO_ELAB + FROM C6Mart.ANAG_CC AC + LEFT OUTER JOIN C6Storico.ANAG_CC SAC + ON AC.RETE = SAC.RETE + AND AC.COD_FISCALE = SAC.COD_FISCALE + AND AC.COD_CC = SAC.COD_CC + WHERE AC.ID_ELAB = @ID_ELAB AND SAC.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CC_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CC_TERZI') + BEGIN + DELETE FROM C6Storico.ANAG_CC_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_CC_TERZI + (RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB) + SELECT + ACT.RETE, ACT.COD_FISCALE, ACT.INTERMEDIARIO, ACT.COINTEST, ACT.COD_CC, ACT.FASCIA_CPP, ACT.SALDO, ACT.DATA_APERTURA, ACT.DATA_CHIUSURA, ACT.ID_ELAB + FROM C6Mart.ANAG_CC_TERZI ACT + LEFT OUTER JOIN C6Storico.ANAG_CC_TERZI SACT + ON ACT.RETE = SACT.RETE + AND ACT.COD_FISCALE = SACT.COD_FISCALE + AND ACT.INTERMEDIARIO = SACT.INTERMEDIARIO + AND ACT.COD_CC = SACT.COD_CC + WHERE ACT.ID_ELAB = @ID_ELAB AND SACT.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CLIENTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CLIENTI') + BEGIN + DELETE FROM C6Storico.ANAG_CLIENTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_CLIENTI + (RETE, COD_FISCALE, NOME, COGNOME, DATA_NASCITA, STATO_CIVILE, NUM_COMPONENTI, NUM_FIGLI, ETA, PARTITA_IVA, CITTADINANZA, PERSONA_FIS_GIUR, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, PRESSO, TEL_RECAPITO, TEL_CELL, E_MAIL, DATA_INIZIO, DATA_FINE, STATO, RAG_SOC, SESSO, ID_PROMOTORE, ID_ELAB, TIPO_ELAB) + SELECT + AC.RETE, AC.COD_FISCALE, AC.NOME, AC.COGNOME, AC.DATA_NASCITA, AC.STATO_CIVILE, AC.NUM_COMPONENTI, AC.NUM_FIGLI, AC.ETA, AC.PARTITA_IVA, AC.CITTADINANZA, AC.PERSONA_FIS_GIUR, AC.INDIRIZZO, AC.LOCALITA, AC.PROVINCIA, AC.CAP, AC.NAZIONE, AC.PRESSO, AC.TEL_RECAPITO, AC.TEL_CELL, AC.E_MAIL, AC.DATA_INIZIO, AC.DATA_FINE, AC.STATO, AC.RAG_SOC, AC.SESSO, AC.ID_PROMOTORE, AC.ID_ELAB, AC.TIPO_ELAB + FROM C6Mart.ANAG_CLIENTI AC + LEFT OUTER JOIN C6Storico.ANAG_CLIENTI SAC + ON AC.RETE = SAC.RETE + AND AC.COD_FISCALE = SAC.COD_FISCALE + WHERE AC.ID_ELAB = @ID_ELAB AND SAC.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CLIENTI_PREV XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CLIENTI_PREV') + -- BEGIN + -- DELETE FROM C6Storico.ANAG_CLIENTI_PREV WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.ANAG_CLIENTI_PREV + -- (RETE, COD_FISCALE, STATO_LAVORATIVO, PROFESSIONE, CAT_PROFESSIONALE, DATA_INIZIO, DATA_FINE, RETRIB_LORDA, PROFESSIONE_SEC, CAT_PROFESSIONALE_SEC, DATA_INIZIO_SEC, DATA_FINE_SEC, RETRIB_LORDA_SEC, PROFESSIONE_PREC, CAT_PROFESSIONALE_PREC, DATA_INIZIO_PREC, DATA_FINE_PREC, RETRIB_LORDA_PREC, RICONGIUNZIONE, ID_ELAB, TIPO_ELAB) + -- SELECT + -- RETE, COD_FISCALE, STATO_LAVORATIVO, PROFESSIONE, CAT_PROFESSIONALE, DATA_INIZIO, DATA_FINE, RETRIB_LORDA, PROFESSIONE_SEC, CAT_PROFESSIONALE_SEC, DATA_INIZIO_SEC, DATA_FINE_SEC, RETRIB_LORDA_SEC, PROFESSIONE_PREC, CAT_PROFESSIONALE_PREC, DATA_INIZIO_PREC, DATA_FINE_PREC, RETRIB_LORDA_PREC, RICONGIUNZIONE, ID_ELAB, TIPO_ELAB + -- FROM C6Mart.ANAG_CLIENTI_PREV WHERE ID_ELAB = @ID_ELAB + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CONTRATTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CONTRATTI') + BEGIN + DELETE FROM C6Storico.ANAG_CONTRATTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_CONTRATTI + (ID_CONTRATTO, RETE, COD_FISCALE, COD_PRODOTTO, INTERMEDIARIO, DATA_SOTTOSCRIZIONE, DATA_PERF, DATA_CHIUSURA, STATO, COD_SOTTOPRODOTTO, TIPO_PRODOTTO, COD_INTERNO, COD_MANDATO, COD_CC, RUBRICATO, CUSTODIA_GAR, ID_ELAB, TIPO_ELAB) + SELECT + AC.ID_CONTRATTO, AC.RETE, AC.COD_FISCALE, AC.COD_PRODOTTO, AC.INTERMEDIARIO, AC.DATA_SOTTOSCRIZIONE, AC.DATA_PERF, AC.DATA_CHIUSURA, AC.STATO, AC.COD_SOTTOPRODOTTO, AC.TIPO_PRODOTTO, AC.COD_INTERNO, AC.COD_MANDATO, AC.COD_CC, AC.RUBRICATO, AC.CUSTODIA_GAR, AC.ID_ELAB, AC.TIPO_ELAB + FROM C6Mart.ANAG_CONTRATTI AC + LEFT OUTER JOIN C6Storico.ANAG_CONTRATTI SAC + ON AC.ID_CONTRATTO = SAC.ID_CONTRATTO + AND AC.RETE = SAC.RETE + AND AC.COD_FISCALE = SAC.COD_FISCALE + AND AC.COD_PRODOTTO = SAC.COD_PRODOTTO + WHERE AC.ID_ELAB = @ID_ELAB AND SAC.ID_CONTRATTO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CONTRATTI_ASS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CONTRATTI_ASS') + BEGIN + DELETE FROM C6Storico.ANAG_CONTRATTI_ASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_CONTRATTI_ASS + (RETE, COD_FISCALE, NUM_POLIZZA, ID_CONTRATTO, TIPO_PRODOTTO, PREMIO, IMPORTO_RATA, FREQ_RATA, IMPORTO_ASSICURATO, DURATA_POLIZZA, ALIQUOTA, COD_SOTTOPRODOTTO, COD_INTERNO, DATA_APERTURA, DATA_CHIUSURA, INTERMEDIARIO, STATO, DIV_RIFERIMENTO, CAMBIO, ID_ELAB, TIPO_ELAB) + SELECT + ACA.RETE, ACA.COD_FISCALE, ACA.NUM_POLIZZA, ACA.ID_CONTRATTO, ACA.TIPO_PRODOTTO, ACA.PREMIO, ACA.IMPORTO_RATA, ACA.FREQ_RATA, ACA.IMPORTO_ASSICURATO, ACA.DURATA_POLIZZA, ACA.ALIQUOTA, ACA.COD_SOTTOPRODOTTO, ACA.COD_INTERNO, ACA.DATA_APERTURA, ACA.DATA_CHIUSURA, ACA.INTERMEDIARIO, ACA.STATO, ACA.DIV_RIFERIMENTO, ACA.CAMBIO, ACA.ID_ELAB, ACA.TIPO_ELAB + FROM C6Mart.ANAG_CONTRATTI_ASS ACA + LEFT OUTER JOIN C6Storico.ANAG_CONTRATTI_ASS SACA + ON ACA.RETE = SACA.RETE + AND ACA.COD_FISCALE = SACA.COD_FISCALE + AND ACA.ID_CONTRATTO = SACA.ID_CONTRATTO + AND ACA.COD_SOTTOPRODOTTO = SACA.COD_SOTTOPRODOTTO + WHERE ACA.ID_ELAB = @ID_ELAB AND SACA.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_EMITTENTI XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_EMITTENTI') + -- BEGIN + -- DELETE FROM C6Storico.ANAG_EMITTENTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.ANAG_EMITTENTI + -- (ID_EMITTENTE, DESCRIZIONE, NOTE, ID_ELAB) + -- SELECT + -- ID_EMITTENTE, DESCRIZIONE, NOTE, ID_ELAB + -- FROM C6Mart.ANAG_EMITTENTI WHERE ID_ELAB = @ID_ELAB + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_PRODOTTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_PRODOTTI') + BEGIN + DELETE FROM C6Storico.ANAG_PRODOTTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_PRODOTTI + (COD_PRODOTTO, COD_ISIN, PAESE, ID_AREA, CAT_PRODOTTO, TIPO_PRODOTTO, DESCR_PRODOTTO, DIV_QUOTAZIONE, DIV_REGOLAMENTO, ID_EMITTENTE, MERCATO_CONTRATT, COD_MAF, RATING, COD_ADEGUATEZZA, COD_SOTTOPRODOTTO, COD_INTERNO, ID_ELAB, TIPO_ELAB) + SELECT + AP.COD_PRODOTTO, AP.COD_ISIN, AP.PAESE, AP.ID_AREA, AP.CAT_PRODOTTO, AP.TIPO_PRODOTTO, AP.DESCR_PRODOTTO, AP.DIV_QUOTAZIONE, AP.DIV_REGOLAMENTO, AP.ID_EMITTENTE, AP.MERCATO_CONTRATT, AP.COD_MAF, AP.RATING, AP.COD_ADEGUATEZZA, AP.COD_SOTTOPRODOTTO, AP.COD_INTERNO, AP.ID_ELAB, AP.TIPO_ELAB + FROM C6Mart.ANAG_PRODOTTI AP + LEFT OUTER JOIN C6Storico.ANAG_PRODOTTI SAP + ON AP.COD_PRODOTTO = SAP.COD_PRODOTTO + WHERE AP.ID_ELAB = @ID_ELAB AND SAP.COD_PRODOTTO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_PRODOTTI_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_PRODOTTI_TERZI') + BEGIN + DELETE FROM C6Storico.ANAG_PRODOTTI_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_PRODOTTI_TERZI + (COD_PRODOTTO, COD_PRODOTTO_TERZI, NOME_PRODOTTO, ALBERO_PRODOTTI, COD_ISIN, DESCR_PRODOTTO, DIV_QUOTAZIONE, INTERMEDIARIO, DIV_REGOLAMENTO, ID_EMITTENTE, MERCATO_CONTRATT, PAESE, RATING, ID_ELAB, TIPO_ELAB) + SELECT + APT.COD_PRODOTTO, APT.COD_PRODOTTO_TERZI, APT.NOME_PRODOTTO, APT.ALBERO_PRODOTTI, APT.COD_ISIN, APT.DESCR_PRODOTTO, APT.DIV_QUOTAZIONE, APT.INTERMEDIARIO, APT.DIV_REGOLAMENTO, APT.ID_EMITTENTE, APT.MERCATO_CONTRATT, APT.PAESE, APT.RATING, APT.ID_ELAB, APT.TIPO_ELAB + FROM C6Mart.ANAG_PRODOTTI_TERZI APT + LEFT OUTER JOIN C6Storico.ANAG_PRODOTTI_TERZI SAPT + ON APT.COD_PRODOTTO_TERZI = SAPT.COD_PRODOTTO_TERZI + WHERE APT.ID_ELAB = @ID_ELAB AND SAPT.COD_PRODOTTO_TERZI IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_PROMOTORI') + BEGIN + DELETE FROM C6Storico.ANAG_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_PROMOTORI + (RETE, ID_PROMOTORE, LIVELLO, COD_FISCALE, PARTITA_IVA, COGNOME, NOME, RAG_SOC, DATA_INIZIO, DATA_FINE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, TEL_RECAPITO, TEL_CELL, E_MAIL, COD_ABI, COD_CAB, COD_CIN, COD_CC, STATO, ID_ELAB, TIPO_ELAB) + SELECT + AP.RETE, AP.ID_PROMOTORE, AP.LIVELLO, AP.COD_FISCALE, AP.PARTITA_IVA, AP.COGNOME, AP.NOME, AP.RAG_SOC, AP.DATA_INIZIO, AP.DATA_FINE, AP.INDIRIZZO, AP.LOCALITA, AP.PROVINCIA, AP.CAP, AP.NAZIONE, AP.TEL_RECAPITO, AP.TEL_CELL, AP.E_MAIL, AP.COD_ABI, AP.COD_CAB, AP.COD_CIN, AP.COD_CC, AP.STATO, AP.ID_ELAB, AP.TIPO_ELAB + FROM C6Mart.ANAG_PROMOTORI AP + LEFT OUTER JOIN C6Storico.ANAG_PROMOTORI SAP + ON AP.RETE = SAP.RETE + AND AP.ID_PROMOTORE = SAP.ID_PROMOTORE + AND AP.LIVELLO = SAP.LIVELLO + WHERE AP.ID_ELAB = @ID_ELAB AND SAP.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX AREA_BISOGNO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'AREA_BISOGNO') + BEGIN + DELETE FROM C6Storico.AREA_BISOGNO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.AREA_BISOGNO + (ID_AREA, NOME_AREA, ORDINAMENTO, ID_ELAB) + SELECT + AB.ID_AREA, AB.NOME_AREA, AB.ORDINAMENTO, AB.ID_ELAB + FROM C6Mart.AREA_BISOGNO AB + LEFT OUTER JOIN C6Storico.AREA_BISOGNO SAB + ON AB.ID_AREA = SAB.ID_AREA + WHERE AB.ID_ELAB = @ID_ELAB AND SAB.ID_AREA IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSET_PERC XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSET_PERC') + BEGIN + DELETE FROM C6Storico.ASSET_PERC WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ASSET_PERC + (COD_PRODOTTO, ID_ASSETCLASS, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, LIVELLO, PERC, ID_ELAB, TIPO_ELAB) + SELECT + AP.COD_PRODOTTO, AP.ID_ASSETCLASS, AP.COD_ISIN, AP.COD_MAF, AP.COD_INTERNO, AP.COD_SOTTOPRODOTTO, AP.LIVELLO, AP.PERC, AP.ID_ELAB, AP.TIPO_ELAB + FROM C6Mart.ASSET_PERC AP + LEFT OUTER JOIN C6Storico.ASSET_PERC SAP + ON AP.COD_PRODOTTO = SAP.COD_PRODOTTO + AND AP.ID_ASSETCLASS = SAP.ID_ASSETCLASS + WHERE AP.ID_ELAB = @ID_ELAB AND SAP.COD_PRODOTTO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSET_PERC_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSET_PERC_TERZI') + BEGIN + DELETE FROM C6Storico.ASSET_PERC_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ASSET_PERC_TERZI + (COD_PRODOTTO_TERZI, ID_ASSETCLASS, LIVELLO, NOME_PRODOTTO, TIPO_PRODOTTO, PERC, ID_ELAB, TIPO_ELAB) + SELECT + APT.COD_PRODOTTO_TERZI, APT.ID_ASSETCLASS, APT.LIVELLO, APT.NOME_PRODOTTO, APT.TIPO_PRODOTTO, APT.PERC, APT.ID_ELAB, APT.TIPO_ELAB + FROM C6Mart.ASSET_PERC_TERZI APT + LEFT OUTER JOIN C6Storico.ASSET_PERC_TERZI SAPT + ON APT.COD_PRODOTTO_TERZI = SAPT.COD_PRODOTTO_TERZI + AND APT.ID_ASSETCLASS = SAPT.ID_ASSETCLASS + AND APT.LIVELLO = SAPT.LIVELLO + WHERE APT.ID_ELAB = @ID_ELAB AND SAPT.COD_PRODOTTO_TERZI IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS') + BEGIN + DELETE FROM C6Storico.ASSETCLASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ASSETCLASS + (ID_ASSETCLASS, DESCRIZIONE, LIVELLO, ORDINAMENTO, ID_ELAB) + SELECT + A.ID_ASSETCLASS, A.DESCRIZIONE, A.LIVELLO, A.ORDINAMENTO, A.ID_ELAB + FROM C6Mart.ASSETCLASS A + LEFT OUTER JOIN C6Storico.ASSETCLASS SA + ON A.ID_ASSETCLASS = SA.ID_ASSETCLASS + WHERE A.ID_ELAB = @ID_ELAB AND SA.ID_ASSETCLASS IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS_TERZI') + BEGIN + DELETE FROM C6Storico.ASSETCLASS_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ASSETCLASS_TERZI + (ID_ASSETCLASS, COD_ISIN, COD_MAF, COD_ADEGUATEZZA, ID_ELAB, TIPO_ELAB) + SELECT + AT.ID_ASSETCLASS, AT.COD_ISIN, AT.COD_MAF, AT.COD_ADEGUATEZZA, AT.ID_ELAB, AT.TIPO_ELAB + FROM C6Mart.ASSETCLASS_TERZI AT + LEFT OUTER JOIN C6Storico.ASSETCLASS_TERZI SAT + ON AT.ID_ASSETCLASS = SAT.ID_ASSETCLASS + WHERE AT.ID_ELAB = @ID_ELAB AND SAT.ID_ASSETCLASS IS NULL + END +-- --XXXXXXXXXXXXXXXXXXXXXXXX CATEGORIE_PRODOTTO XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'CATEGORIE_PRODOTTO') +-- BEGIN +-- DELETE FROM C6Storico.CATEGORIE_PRODOTTO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storico.CATEGORIE_PRODOTTO +-- (CAT_PRODOTTO, DESCRIZIONE, ORDINAMENTO) +-- SELECT +-- CAT_PRODOTTO, DESCRIZIONE, ORDINAMENTO +-- FROM C6Mart.CATEGORIE_PRODOTTO WHERE ID_ELAB = @ID_ELAB +-- END +-- --XXXXXXXXXXXXXXXXXXXXXXXX CODICI_PROMOTORI_FITTIZI XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'CODICI_PROMOTORI_FITTIZI') +-- BEGIN +-- DELETE FROM C6Storico.CODICI_PROMOTORI_FITTIZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storico.CODICI_PROMOTORI_FITTIZI +-- (Rete, CodiceDA, CodiceA) +-- SELECT +-- Rete, CodiceDA, CodiceA +-- FROM C6Mart.CODICI_PROMOTORI_FITTIZI WHERE ID_ELAB = @ID_ELAB +-- END + --XXXXXXXXXXXXXXXXXXXXXXXX CODIFICA_PIRAMIDI XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'CODIFICA_PIRAMIDI') + -- BEGIN + -- DELETE FROM C6Storico.CODIFICA_PIRAMIDI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.CODIFICA_PIRAMIDI + -- (ID_PIRAMIDE, DESCRIZIONE, NOTE, ID_ELAB) + -- SELECT + -- ID_PIRAMIDE, DESCRIZIONE, NOTE, ID_ELAB + -- FROM C6Mart.CODIFICA_PIRAMIDI WHERE ID_ELAB = @ID_ELAB + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX CODIFICA_RISCHIO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CODIFICA_RISCHIO') + BEGIN + DELETE FROM C6Storico.CODIFICA_RISCHIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.CODIFICA_RISCHIO + (PROFILO, DESCRIZIONE, MIN_VAR, MAX_VAR, ID_ELAB) + SELECT + CR.PROFILO, CR.DESCRIZIONE, CR.MIN_VAR, CR.MAX_VAR, CR.ID_ELAB + FROM C6Mart.CODIFICA_RISCHIO CR + LEFT OUTER JOIN C6Storico.CODIFICA_RISCHIO SCR + ON CR.PROFILO = SCR.PROFILO + WHERE CR.ID_ELAB = @ID_ELAB AND SCR.PROFILO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX COLORI XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'COLORI') + -- BEGIN + -- DELETE FROM C6Storico.COLORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.COLORI + -- (Tipo, Codice, Ordinamento, [Descrizione breve], [Descrizione estesa], HexColor, Red, Green, Blue, ID_ELAB) + -- SELECT + -- Tipo, Codice, Ordinamento, [Descrizione breve], [Descrizione estesa], HexColor, Red, Green, Blue, ID_ELAB + -- FROM C6Mart.COLORI WHERE ID_ELAB = @ID_ELAB + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX CONTRATTOSEI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONTRATTOSEI') + BEGIN + DELETE FROM C6Storico.CONTRATTOSEI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.CONTRATTOSEI + (Rete, Cod_Fiscale, PIva_Fiduciaria, Data_Sott, CodiceContratto, Cod_Agente, Data_Perf_Base, Data_Perf, Fascia_CPP, Email, Indirizzo, CAP, Citta, Prov, Nazione, Presso, Data_Inizio, Freq_Diagnosi, Freq_Monitor, Freq_DiagnosiPrec, Freq_MonitorPrec, Data_InizioConsInv, Data_InizioBase, Data_FineBase, Data_InizioAvanzato, Data_FineAvanzato, ProgressivoInvio, GenerazioneReport, InvioBenvenuto, DataUltimoInvio, ClienteMigrato, RisorseNA, NumSolleciti, Data_UltimoSollecito, NumRevoche, Data_UltimaRevoca, Note, ID_ELAB) + SELECT + C.Rete, C.Cod_Fiscale, C.PIva_Fiduciaria, C.Data_Sott, C.CodiceContratto, C.Cod_Agente, C.Data_Perf_Base, C.Data_Perf, C.Fascia_CPP, C.Email, C.Indirizzo, C.CAP, C.Citta, C.Prov, C.Nazione, C.Presso, C.Data_Inizio, C.Freq_Diagnosi, C.Freq_Monitor, C.Freq_DiagnosiPrec, C.Freq_MonitorPrec, C.Data_InizioConsInv, C.Data_InizioBase, C.Data_FineBase, C.Data_InizioAvanzato, C.Data_FineAvanzato, C.ProgressivoInvio, C.GenerazioneReport, C.InvioBenvenuto, C.DataUltimoInvio, C.ClienteMigrato, C.RisorseNA, C.NumSolleciti, C.Data_UltimoSollecito, C.NumRevoche, C.Data_UltimaRevoca, C.Note, @ID_ELAB + FROM C6Mart.CONTRATTOSEI C + LEFT OUTER JOIN C6Storico.CONTRATTOSEI SC + ON C.Rete = SC.Rete + AND C.Cod_Fiscale = SC.Cod_Fiscale + AND C.CodiceContratto = SC.CodiceContratto + WHERE SC.Rete IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX DATI_REPORT XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'DATI_REPORT') + -- BEGIN + -- DELETE FROM C6Storico.DATI_REPORT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.DATI_REPORT + -- (RETE, COD_FISCALE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, FLAG_REPORT, REPORT_DIAGN, REPORT_MONIT, DATA_REPORT, REPORT_FREQ, ID_ELAB, TIPO_ELAB) + -- SELECT + -- RETE, COD_FISCALE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, FLAG_REPORT, REPORT_DIAGN, REPORT_MONIT, DATA_REPORT, REPORT_FREQ, ID_ELAB, TIPO_ELAB + -- FROM C6Mart.DATI_REPORT WHERE ID_ELAB = @ID_ELAB + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX DETTAGLIO_ASUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'DETTAGLIO_ASUL') + BEGIN + DELETE FROM C6Storico.DETTAGLIO_ASUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.DETTAGLIO_ASUL + (RETE, COD_FISCALE, COD_PRODOTTO, ID_CONTRATTO, COD_SOTTOPRODOTTO, COD_INTERNO, CTV, DATA_RIF, COD_ISIN_FITTIZIO, COD_ISIN_SOTT, COD_MAF_SOTT, ID_ELAB, TIPO_ELAB) + SELECT + DA.RETE, DA.COD_FISCALE, DA.COD_PRODOTTO, DA.ID_CONTRATTO, DA.COD_SOTTOPRODOTTO, DA.COD_INTERNO, DA.CTV, DA.DATA_RIF, DA.COD_ISIN_FITTIZIO, DA.COD_ISIN_SOTT, DA.COD_MAF_SOTT, DA.ID_ELAB, DA.TIPO_ELAB + FROM C6Mart.DETTAGLIO_ASUL DA + LEFT OUTER JOIN C6Storico.DETTAGLIO_ASUL SDA + ON DA.RETE = SDA.RETE + AND DA.COD_FISCALE = SDA.COD_FISCALE + AND DA.COD_PRODOTTO = SDA.COD_PRODOTTO + AND DA.ID_CONTRATTO = SDA.ID_CONTRATTO + AND DA.COD_SOTTOPRODOTTO = SDA.COD_SOTTOPRODOTTO + AND DA.COD_INTERNO = SDA.COD_INTERNO + AND DA.CTV = SDA.CTV + AND DA.DATA_RIF = SDA.DATA_RIF + AND DA.COD_ISIN_FITTIZIO = SDA.COD_ISIN_FITTIZIO + AND DA.COD_ISIN_SOTT = SDA.COD_ISIN_SOTT + AND DA.COD_MAF_SOTT = SDA.COD_MAF_SOTT + WHERE DA.ID_ELAB = @ID_ELAB AND SDA.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ELABORAZIONI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ELABORAZIONI') + BEGIN + DELETE FROM C6Storico.ELABORAZIONI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ELABORAZIONI + (ID_ELAB, TIPO_ELAB, DATA_OPERAZIONE) + SELECT + E.ID_ELAB, E.TIPO_ELAB, E.DATA_OPERAZIONE + FROM C6Mart.ELABORAZIONI E + LEFT OUTER JOIN C6Storico.ELABORAZIONI SE + ON E.ID_ELAB = SE.ID_ELAB + WHERE E.ID_ELAB = @ID_ELAB AND SE.ID_ELAB IS NULL + END +-- --XXXXXXXXXXXXXXXXXXXXXXXX EMAIL_ATTACHMENT XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'EMAIL_ATTACHMENT') +-- BEGIN +-- DELETE FROM C6Storico.EMAIL_ATTACHMENT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storico.EMAIL_ATTACHMENT +-- (Attachment_Id, Email_Id, Attachment) +-- SELECT +-- Attachment_Id, Email_Id, Attachment +-- FROM C6Mart.EMAIL_ATTACHMENT WHERE ID_ELAB = @ID_ELAB +-- END + --XXXXXXXXXXXXXXXXXXXXXXXX EMAIL_PB XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'EMAIL_PB') + -- BEGIN + -- DELETE FROM C6Storico.EMAIL_PB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.EMAIL_PB + -- (RETE, CODICE, PREFISSO, FIRMA, EMAIL) + -- SELECT + -- EP.RETE, EP.CODICE, EP.PREFISSO, EP.FIRMA, EP.EMAIL + -- FROM C6Mart.EMAIL_PB EP + -- LEFT OUTER JOIN C6Storico.EMAIL_PB SEP + -- ON EP.FIRMA = SEP.FIRMA + -- WHERE EP.ID_ELAB = @ID_ELAB AND SEP.FIRMA IS NULL + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX ESITI_CARICAMENTI XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'ESITI_CARICAMENTI') + -- BEGIN + -- DELETE FROM C6Storico.ESITI_CARICAMENTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.ESITI_CARICAMENTI + -- (PROGR, DATA_INIZIO, DATA_FINE, ESITO, NOTE, ID_ELAB) + -- SELECT + -- PROGR, DATA_INIZIO, DATA_FINE, ESITO, NOTE, ID_ELAB + -- FROM C6Mart.ESITI_CARICAMENTI WHERE ID_ELAB = @ID_ELAB + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX GER_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'GER_PROMOTORI') + -- BEGIN + -- DELETE FROM C6Storico.GER_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.GER_PROMOTORI + -- (RETE, ID_PROMOTORE, LIVELLO, ID_MANAGER, SUBORDINATI, ID_ELAB, TIPO_ELAB) + -- SELECT + -- RETE, ID_PROMOTORE, LIVELLO, ID_MANAGER, SUBORDINATI, ID_ELAB, TIPO_ELAB + -- FROM C6Mart.GER_PROMOTORI WHERE ID_ELAB = @ID_ELAB + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX GESTIONE_EMAIL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'GESTIONE_EMAIL') + BEGIN + DELETE FROM C6Storico.GESTIONE_EMAIL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.GESTIONE_EMAIL + (Email_Id, Rete, Cod_Fiscale, Tipo, Data_Generazione, Inviata, Data_Invio, Data_Comunicazione_Host, ID_ELAB) + SELECT + GE.Email_Id, GE.Rete, GE.Cod_Fiscale, GE.Tipo, GE.Data_Generazione, GE.Inviata, GE.Data_Invio, GE.Data_Comunicazione_Host, GE.ID_ELAB + FROM C6Mart.GESTIONE_EMAIL GE + LEFT OUTER JOIN C6Storico.GESTIONE_EMAIL SGE + ON GE.Email_Id = SGE.Email_Id + WHERE GE.ID_ELAB = @ID_ELAB AND SGE.Email_Id IS NULL + END +-- --XXXXXXXXXXXXXXXXXXXXXXXX GESTIONE_PDF_FTP XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'GESTIONE_PDF_FTP') +-- BEGIN +-- DELETE FROM C6Storico.GESTIONE_PDF_FTP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storico.GESTIONE_PDF_FTP +-- (Rete, CodiceFiscale, IdReport, TipoReport, DataGenerazione, DataInvio, DataInvioRistampa, FlagInvio, NomeFile, numeroPagine, ID_ELAB, id_Fk_zip) +-- SELECT +-- Rete, CodiceFiscale, IdReport, TipoReport, DataGenerazione, DataInvio, DataInvioRistampa, FlagInvio, NomeFile, numeroPagine, ID_ELAB, id_Fk_zip +-- FROM C6Mart.GESTIONE_PDF_FTP WHERE ID_ELAB = @ID_ELAB +-- END + --XXXXXXXXXXXXXXXXXXXXXXXX GESTIONE_ZIP_FTP XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'GESTIONE_ZIP_FTP') + BEGIN + DELETE FROM C6Storico.GESTIONE_ZIP_FTP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.GESTIONE_ZIP_FTP + (id, nomefile, dataInvio, flagInvio, nomeCartella, ID_ELAB) + SELECT + GZF.id, GZF.nomefile, GZF.dataInvio, GZF.flagInvio, GZF.nomeCartella, GZF.ID_ELAB + FROM C6Mart.GESTIONE_ZIP_FTP GZF + LEFT OUTER JOIN C6Storico.GESTIONE_ZIP_FTP SGZF + ON GZF.id = SGZF.id + WHERE GZF.ID_ELAB = @ID_ELAB AND SGZF.id IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX MIFID XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MIFID') + BEGIN + DELETE FROM C6Storico.MIFID WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.MIFID + (RETE, COD_FISCALE, COMPILAZIONE, PROFILO_ASS, PROFILO_CALC, DATA_INIZIO_VAL, DATA_FINE_VAL, ID_ELAB, TIPO_ELAB) + SELECT + M.RETE, M.COD_FISCALE, M.COMPILAZIONE, M.PROFILO_ASS, M.PROFILO_CALC, M.DATA_INIZIO_VAL, M.DATA_FINE_VAL, M.ID_ELAB, M.TIPO_ELAB + FROM C6Mart.MIFID M + LEFT OUTER JOIN C6Storico.MIFID SM + ON M.RETE = SM.RETE + AND M.COD_FISCALE = SM.COD_FISCALE + WHERE M.ID_ELAB = @ID_ELAB AND SM.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PARTITE_VIAGGIANTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PARTITE_VIAGGIANTI') + BEGIN + DELETE FROM C6Storico.PARTITE_VIAGGIANTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PARTITE_VIAGGIANTI + (RETE, COD_FISCALE, IMPORTO, ID_ELAB, TIPO_ELAB) + SELECT + PV.RETE, PV.COD_FISCALE, PV.IMPORTO, PV.ID_ELAB, PV.TIPO_ELAB + FROM C6Mart.PARTITE_VIAGGIANTI PV + LEFT OUTER JOIN C6Storico.PARTITE_VIAGGIANTI SPV + ON PV.RETE = SPV.RETE + AND PV.COD_FISCALE = SPV.COD_FISCALE + WHERE PV.ID_ELAB = @ID_ELAB AND SPV.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_AGG XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_AGG') + BEGIN + DELETE FROM C6Storico.PATRIMONIO_AGG WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PATRIMONIO_AGG + (RETE, COD_FISCALE, COD_PRODOTTO, LIQUIDATO, INVESTITO, ID_AREA, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, COD_PRODOTTO, LIQUIDATO, INVESTITO, ID_AREA, ID_ELAB, TIPO_ELAB + FROM C6Mart.PATRIMONIO_AGG WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_ALTRO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_ALTRO') + BEGIN + DELETE FROM C6Storico.PATRIMONIO_ALTRO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PATRIMONIO_ALTRO + (RETE, COD_FISCALE, QUANTITA, DESCRIZIONE, CTV, ID_ELAB, TIPO_ELAB) + SELECT + PA.RETE, PA.COD_FISCALE, PA.QUANTITA, PA.DESCRIZIONE, PA.CTV, PA.ID_ELAB, PA.TIPO_ELAB + FROM C6Mart.PATRIMONIO_ALTRO PA + LEFT OUTER JOIN C6Storico.PATRIMONIO_ALTRO SPA + ON PA.RETE = SPA.RETE + AND PA.COD_FISCALE = SPA.COD_FISCALE + AND PA.QUANTITA = SPA.QUANTITA + AND PA.DESCRIZIONE = SPA.DESCRIZIONE + AND PA.CTV = SPA.CTV + WHERE PA.ID_ELAB = @ID_ELAB AND SPA.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_BF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_BF') + BEGIN + DELETE FROM C6Storico.PATRIMONIO_BF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PATRIMONIO_BF + (RETE, COD_FISCALE, POSITION_ID, COD_PRODOTTO, ID_CONTRATTO, DATA_SOTTOSCRIZIONE, COD_STATO, NUM_POLIZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TIPO_PRODOTTO, NOME_PROGETTO, ID_AREA, DATA_OPERAZIONE, DATA_VALUTA, DATA_REGOLAMENTO, QUANTITA, PREZZO, CTV, CTV_NOMINALE, VERSATO_NETTO, PARTVIA_DISINV, DATA_PARTVIA_DISINV, PARTVIA_INV, REND_SOTTOSCRIZIONE, REND_TRIMESTRE, REND_ANNO, ID_ELAB, TIPO_ELAB) + SELECT + PB.RETE, PB.COD_FISCALE, PB.POSITION_ID, PB.COD_PRODOTTO, PB.ID_CONTRATTO, PB.DATA_SOTTOSCRIZIONE, PB.COD_STATO, PB.NUM_POLIZZA, PB.COD_MAF, PB.COD_INTERNO, PB.COD_SOTTOPRODOTTO, PB.TIPO_PRODOTTO, PB.NOME_PROGETTO, PB.ID_AREA, PB.DATA_OPERAZIONE, PB.DATA_VALUTA, PB.DATA_REGOLAMENTO, PB.QUANTITA, PB.PREZZO, PB.CTV, PB.CTV_NOMINALE, PB.VERSATO_NETTO, PB.PARTVIA_DISINV, PB.DATA_PARTVIA_DISINV, PB.PARTVIA_INV, PB.REND_SOTTOSCRIZIONE, PB.REND_TRIMESTRE, PB.REND_ANNO, PB.ID_ELAB, PB.TIPO_ELAB + FROM C6Mart.PATRIMONIO_BF PB + LEFT OUTER JOIN C6Storico.PATRIMONIO_BF SPB + ON PB.RETE = SPB.RETE + AND PB.COD_FISCALE = SPB.COD_FISCALE + AND PB.POSITION_ID = SPB.POSITION_ID + WHERE PB.ID_ELAB = @ID_ELAB AND SPB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_IMMOBILIARE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_IMMOBILIARE') + BEGIN + DELETE FROM C6Storico.PATRIMONIO_IMMOBILIARE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PATRIMONIO_IMMOBILIARE + (RETE, COD_FISCALE, DESCRIZIONE, TIPOLOGIA, LOCALITA, PROVINCIA, CAP, NAZIONE, VALORE_STIMATO, AFFITTO, NOTE, DIV_RIFERIMENTO, CAMBIO, ID_ELAB, TIPO_ELAB) + SELECT + PI.RETE, PI.COD_FISCALE, PI.DESCRIZIONE, PI.TIPOLOGIA, PI.LOCALITA, PI.PROVINCIA, PI.CAP, PI.NAZIONE, PI.VALORE_STIMATO, PI.AFFITTO, PI.NOTE, PI.DIV_RIFERIMENTO, PI.CAMBIO, PI.ID_ELAB, PI.TIPO_ELAB + FROM C6Mart.PATRIMONIO_IMMOBILIARE PI + LEFT OUTER JOIN C6Storico.PATRIMONIO_IMMOBILIARE SPI + ON PI.RETE = SPI.RETE + AND PI.COD_FISCALE = SPI.COD_FISCALE + AND PI.DESCRIZIONE = SPI.DESCRIZIONE + AND PI.TIPOLOGIA = SPI.TIPOLOGIA + AND PI.LOCALITA = SPI.LOCALITA + AND PI.PROVINCIA = SPI.PROVINCIA + AND PI.CAP = SPI.CAP + AND PI.NAZIONE = PI.NAZIONE + AND PI.VALORE_STIMATO = SPI.VALORE_STIMATO + AND PI.AFFITTO = SPI.AFFITTO + AND PI.NOTE = SPI.NOTE + AND PI.DIV_RIFERIMENTO = SPI.DIV_RIFERIMENTO + AND PI.CAMBIO = SPI.CAMBIO + WHERE PI.ID_ELAB = @ID_ELAB AND SPI.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_TERZI') + BEGIN + DELETE FROM C6Storico.PATRIMONIO_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PATRIMONIO_TERZI + (RETE, COD_FISCALE, NUM_POLIZZA, TIPO_POLIZZA, TIPO_PRODOTTO, TIPO_PRODOTTO2, COD_PRODOTTO, COD_PRODOTTO_TERZI, INTERMEDIARIO, DATA_SOTTOSCRIZIONE, DATA_SCADENZA, FREQ_RATA, DURATA_POLIZZA, PREMIO, ALIQUOTA, DATA_SOTT_FP, DATA_REGOLAMENTO, QUANTITA, PREZZO, CTV, VERSATO_NETTO, DIV_REGOLAMENTO, CAMBIO, DESCR_GRUPPO_PRODOTTO, ID_ELAB, TIPO_ELAB) + SELECT + PT.RETE, PT.COD_FISCALE, PT.NUM_POLIZZA, PT.TIPO_POLIZZA, PT.TIPO_PRODOTTO, PT.TIPO_PRODOTTO2, PT.COD_PRODOTTO, PT.COD_PRODOTTO_TERZI, PT.INTERMEDIARIO, PT.DATA_SOTTOSCRIZIONE, PT.DATA_SCADENZA, PT.FREQ_RATA, PT.DURATA_POLIZZA, PT.PREMIO, PT.ALIQUOTA, PT.DATA_SOTT_FP, PT.DATA_REGOLAMENTO, PT.QUANTITA, PT.PREZZO, PT.CTV, PT.VERSATO_NETTO, PT.DIV_REGOLAMENTO, PT.CAMBIO, PT.DESCR_GRUPPO_PRODOTTO, PT.ID_ELAB, PT.TIPO_ELAB + FROM C6Mart.PATRIMONIO_TERZI PT + LEFT OUTER JOIN C6Storico.PATRIMONIO_TERZI SPT + ON PT.RETE = SPT.RETE + AND PT.COD_FISCALE = SPT.COD_FISCALE + AND PT.COD_PRODOTTO = SPT.COD_PRODOTTO + AND PT.COD_PRODOTTO_TERZI = SPT.COD_PRODOTTO_TERZI + WHERE PT.ID_ELAB = @ID_ELAB AND SPT.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PIRAMIDE_MOD XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PIRAMIDE_MOD') + BEGIN + DELETE FROM C6Storico.PIRAMIDE_MOD WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PIRAMIDE_MOD + (RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, TIPO_PROGETTO, PERC_AREA, CTV_PROGETTO, CTV_AREA, ORIZZ_TEMP, CTV_TOTALE, STATO_CONSULENZA, DATA_STATO_CONS, DATA_MIGR_CONS, ID_CONTRATTO, ID_ELAB, TIPO_ELAB) + SELECT + PM.RETE, PM.COD_FISCALE, PM.ID_AREA, PM.NOME_PROGETTO, PM.TIPO_PROGETTO, PM.PERC_AREA, PM.CTV_PROGETTO, PM.CTV_AREA, PM.ORIZZ_TEMP, PM.CTV_TOTALE, PM.STATO_CONSULENZA, PM.DATA_STATO_CONS, PM.DATA_MIGR_CONS, PM.ID_CONTRATTO, PM.ID_ELAB, PM.TIPO_ELAB + FROM C6Mart.PIRAMIDE_MOD PM + LEFT OUTER JOIN C6Storico.PIRAMIDE_MOD SPM + ON PM.RETE = SPM.RETE + AND PM.COD_FISCALE = SPM.COD_FISCALE + AND PM.ID_AREA = SPM.ID_AREA + AND PM.NOME_PROGETTO = SPM.NOME_PROGETTO + WHERE PM.ID_ELAB = @ID_ELAB AND SPM.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PIRAMIDE_VERT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PIRAMIDE_VERT') + BEGIN + DELETE FROM C6Storico.PIRAMIDE_VERT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PIRAMIDE_VERT + (RETE, COD_FISCALE, ID_AREA, CTV_AREA, ID_ELAB, TIPO_ELAB) + SELECT + PV.RETE, PV.COD_FISCALE, PV.ID_AREA, PV.CTV_AREA, PV.ID_ELAB, PV.TIPO_ELAB + FROM C6Mart.PIRAMIDE_VERT PV + LEFT OUTER JOIN C6Storico.PIRAMIDE_VERT SPV + ON PV.RETE = SPV.RETE + AND PV.COD_FISCALE = SPV.COD_FISCALE + AND PV.ID_AREA = SPV.ID_AREA + WHERE PV.ID_ELAB = @ID_ELAB AND SPV.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PREVIDENZIALE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PREVIDENZIALE') + BEGIN + DELETE FROM C6Storico.PREVIDENZIALE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PREVIDENZIALE + (RETE, COD_FISCALE, ANNO_PENSIONE, ETA_PENSIONE, TOT_CONSUMI_ATTESI, TOT_REDDITO_ANNUO, REDDITO_CONSUMI_ESS, PENSIONE_ATTESA_, RENDITA_PREV_COMPL, RENDITA_ASS, REDDITO_CONSUMI_SEC, RENDITA_ASS_TRAD, RENDITA_ASS_UNIT, RENDITA_IMMOB, ALTRE_RENDITE, DIV_RIFERIMENTO, CAMBIO, ID_ELAB, TIPO_ELAB) + SELECT + P.RETE, P.COD_FISCALE, P.ANNO_PENSIONE, P.ETA_PENSIONE, P.TOT_CONSUMI_ATTESI, P.TOT_REDDITO_ANNUO, P.REDDITO_CONSUMI_ESS, P.PENSIONE_ATTESA_, P.RENDITA_PREV_COMPL, P.RENDITA_ASS, P.REDDITO_CONSUMI_SEC, P.RENDITA_ASS_TRAD, P.RENDITA_ASS_UNIT, P.RENDITA_IMMOB, P.ALTRE_RENDITE, P.DIV_RIFERIMENTO, P.CAMBIO, P.ID_ELAB, P.TIPO_ELAB + FROM C6Mart.PREVIDENZIALE P + LEFT OUTER JOIN C6Storico.PREVIDENZIALE SP + ON P.RETE = SP.RETE + AND P.COD_FISCALE = SP.COD_FISCALE + WHERE P.ID_ELAB = @ID_ELAB AND SP.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX RISCHIO_AGGREGATO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'RISCHIO_AGGREGATO') + BEGIN + DELETE FROM C6Storico.RISCHIO_AGGREGATO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.RISCHIO_AGGREGATO + (RETE, COD_FISCALE, COD_AGGREG, VAR_ASSOLUTO_PTF, VAR_PERC_PTF, CVAR_ASSOLUTO_PTF, CVAR_PERC_PTF, MCVAR, MCVARP, BENEFICIO, COPERTURA, CTV_AGGREG, ID_ELAB, TIPO_ELAB) + SELECT + RA.RETE, RA.COD_FISCALE, RA.COD_AGGREG, RA.VAR_ASSOLUTO_PTF, RA.VAR_PERC_PTF, RA.CVAR_ASSOLUTO_PTF, RA.CVAR_PERC_PTF, RA.MCVAR, RA.MCVARP, RA.BENEFICIO, RA.COPERTURA, RA.CTV_AGGREG, RA.ID_ELAB, RA.TIPO_ELAB + FROM C6Mart.RISCHIO_AGGREGATO RA + LEFT OUTER JOIN C6Storico.RISCHIO_AGGREGATO SRA + ON RA.RETE = SRA.RETE + AND RA.COD_FISCALE = SRA.COD_FISCALE + AND RA.COD_AGGREG = SRA.COD_AGGREG + WHERE RA.ID_ELAB = @ID_ELAB AND SRA.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX RISCHIO_DETTAGLIO XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'RISCHIO_DETTAGLIO') + -- BEGIN + -- DELETE FROM C6Storico.RISCHIO_DETTAGLIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.RISCHIO_DETTAGLIO + -- (RETE, COD_FISCALE, COD_AGGREG, CHIAVE_PRODOTTO, VAR_ASSOLUTO_PTF, VAR_PERC_PTF, CVAR_ASSOLUTO_PTF, CVAR_PERC_PTF, MCVAR, MCVARP, TIPO_COPERTURA, CTV_AGGREG, MERCATO_CONTRATT, DIV_CONTRATT, ID_ELAB, TIPO_ELAB) + -- SELECT + -- RETE, COD_FISCALE, COD_AGGREG, CHIAVE_PRODOTTO, VAR_ASSOLUTO_PTF, VAR_PERC_PTF, CVAR_ASSOLUTO_PTF, CVAR_PERC_PTF, MCVAR, MCVARP, TIPO_COPERTURA, CTV_AGGREG, MERCATO_CONTRATT, DIV_CONTRATT, ID_ELAB, TIPO_ELAB + -- FROM C6Mart.RISCHIO_DETTAGLIO WHERE ID_ELAB = @ID_ELAB + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX STRUTTURA_RETE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'STRUTTURA_RETE') + BEGIN + DELETE FROM C6Storico.STRUTTURA_RETE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.STRUTTURA_RETE + (Rete, PB, CognomeNomePB, SPV, CognomeNomeSPV, RM, CognomeNomeRM, DM, CognomeNomeDM, AM, CognomeNomeAM, Livello, ID_ELAB, TIPO_ELAB) + SELECT + SR.Rete, SR.PB, SR.CognomeNomePB, SR.SPV, SR.CognomeNomeSPV, SR.RM, SR.CognomeNomeRM, SR.DM, SR.CognomeNomeDM, SR.AM, SR.CognomeNomeAM, SR.Livello, SR.ID_ELAB, SR.TIPO_ELAB + FROM C6Mart.STRUTTURA_RETE SR + LEFT OUTER JOIN C6Storico.STRUTTURA_RETE SSR + ON SR.Rete = SSR.Rete + AND SR.PB = SSR.PB + WHERE SR.ID_ELAB = @ID_ELAB AND SSR.Rete IS NULL + END +-- --XXXXXXXXXXXXXXXXXXXXXXXX TABELLESTORICIZZATE XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'TABELLESTORICIZZATE') +-- BEGIN +-- DELETE FROM C6Storico.TABELLESTORICIZZATE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storico.TABELLESTORICIZZATE +-- (Nome) +-- SELECT +-- Nome +-- FROM C6Mart.TABELLESTORICIZZATE WHERE ID_ELAB = @ID_ELAB +-- END + --XXXXXXXXXXXXXXXXXXXXXXXX TESTO_LETTERA_ACCETTAZIONE XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'TESTO_LETTERA_ACCETTAZIONE') + -- BEGIN + -- DELETE FROM C6Storico.TESTO_LETTERA_ACCETTAZIONE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.TESTO_LETTERA_ACCETTAZIONE + -- (ID, TESTO, DESCRIZIONE, ID_ELAB) + -- SELECT + -- ID, TESTO, DESCRIZIONE, ID_ELAB + -- FROM C6Mart.TESTO_LETTERA_ACCETTAZIONE WHERE ID_ELAB = @ID_ELAB + -- END +-- --XXXXXXXXXXXXXXXXXXXXXXXX TIPO_EMAIL XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'TIPO_EMAIL') +-- BEGIN +-- DELETE FROM C6Storico.TIPO_EMAIL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storico.TIPO_EMAIL +-- (Tipo, Descrizione, E_From, E_To, E_Cc, E_Ccn, E_Subject, Testo) +-- SELECT +-- Tipo, Descrizione, E_From, E_To, E_Cc, E_Ccn, E_Subject, Testo +-- FROM C6Mart.TIPO_EMAIL WHERE ID_ELAB = @ID_ELAB +-- END +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX FINE TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + -- XX -- XX -- XX -- XX AGGIORNAMENTO DATI C6Mart.TabelleStoricizzate XX -- XX -- XX -- XX -- + IF(@NomeTabella IS NOT NULL) + BEGIN + UPDATE C6Mart.TabelleStoricizzate + SET + FINE = GETDATE(), + DURATA = DATEDIFF(SECOND ,INIZIO, GETDATE()) + WHERE NOME = @NomeTabella + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql b/sql/storedProduzione/C6Mart_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql new file mode 100644 index 00000000..ac48fa07 --- /dev/null +++ b/sql/storedProduzione/C6Mart_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql @@ -0,0 +1,72 @@ +CREATE procedure [C6Mart].[SRV_STORICIZZAZIONE_GLOBAL_ERROR] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico espresso in giorni + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_STORICIZZAZIONE_GLOBAL_ERROR', + GETDATE(), + 'Elaborazione giornaliera' + ) + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MART.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + SET @ID_ELAB = C6MART.GETIDELAB() + DELETE FROM C6STORICO.GLOBAL_ERROR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'DELETE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_STORICIZZAZIONE_GLOBAL_ERROR', + GETDATE(), + 'Elaborazione giornaliera' + ) + INSERT INTO C6STORICO.GLOBAL_ERROR + (ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB) + SELECT + ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB + FROM dbo.GLOBAL_ERROR WHERE ID_ELAB = @ID_ELAB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR' + ) + TRUNCATE TABLE dbo.GLOBAL_ERROR +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_SRV_STORICIZZAZIONE_OLD.sql b/sql/storedProduzione/C6Mart_SRV_STORICIZZAZIONE_OLD.sql new file mode 100644 index 00000000..eec877bd --- /dev/null +++ b/sql/storedProduzione/C6Mart_SRV_STORICIZZAZIONE_OLD.sql @@ -0,0 +1,507 @@ +-- Stored procedure +-- ============================================= +-- Author: paolo giovanetti +-- Create date: 23 gennaio 2009 +-- Description: - rimossa la transazione inutile +-- - aggiunta la storicizzazione delle elaborazioni e del global_error +-- - la storicizzazione di GESTIONE_ZIP_FTP prevede la sua pulizia sul MART !! +-- ============================================= +CREATE PROCEDURE [C6Mart].[SRV_STORICIZZAZIONE_OLD] + @NomeTabella VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico espresso in giorni + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MART.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + SET @ID_ELAB = C6MART.GETIDELAB() +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX INIZIO TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --XXXXXXXXXXXXXXXXXXXXXXXX ALBERO_PRODOTTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALBERO_PRODOTTI') + BEGIN + DELETE FROM C6Storico.ALBERO_PRODOTTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ALBERO_PRODOTTI + (DESCRIZIONE_ORIGINALE, ALBERO_GERARCHIA_1, ALBERO_GERARCHIA_2, ALBERO_GERARCHIA_3, ID_ELAB) + SELECT + DESCRIZIONE_ORIGINALE, ALBERO_GERARCHIA_1, ALBERO_GERARCHIA_2, ALBERO_GERARCHIA_3, ID_ELAB + FROM C6Mart.ALBERO_PRODOTTI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CC XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CC') + BEGIN + DELETE FROM C6Storico.ANAG_CC WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_CC + (RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB, TIPO_ELAB + FROM C6Mart.ANAG_CC WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CC_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CC_TERZI') + BEGIN + DELETE FROM C6Storico.ANAG_CC_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_CC_TERZI + (RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB) + SELECT + RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB + FROM C6Mart.ANAG_CC_TERZI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CLIENTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CLIENTI') + BEGIN + DELETE FROM C6Storico.ANAG_CLIENTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_CLIENTI + (RETE, COD_FISCALE, NOME, COGNOME, DATA_NASCITA, STATO_CIVILE, NUM_COMPONENTI, NUM_FIGLI, ETA, PARTITA_IVA, CITTADINANZA, PERSONA_FIS_GIUR, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, PRESSO, TEL_RECAPITO, TEL_CELL, E_MAIL, DATA_INIZIO, DATA_FINE, STATO, RAG_SOC, SESSO, ID_PROMOTORE, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, NOME, COGNOME, DATA_NASCITA, STATO_CIVILE, NUM_COMPONENTI, NUM_FIGLI, ETA, PARTITA_IVA, CITTADINANZA, PERSONA_FIS_GIUR, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, PRESSO, TEL_RECAPITO, TEL_CELL, E_MAIL, DATA_INIZIO, DATA_FINE, STATO, RAG_SOC, SESSO, ID_PROMOTORE, ID_ELAB, TIPO_ELAB + FROM C6Mart.ANAG_CLIENTI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CLIENTI_PREV XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CLIENTI_PREV') + BEGIN + DELETE FROM C6Storico.ANAG_CLIENTI_PREV WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_CLIENTI_PREV + (RETE, COD_FISCALE, STATO_LAVORATIVO, PROFESSIONE, CAT_PROFESSIONALE, DATA_INIZIO, DATA_FINE, RETRIB_LORDA, PROFESSIONE_SEC, CAT_PROFESSIONALE_SEC, DATA_INIZIO_SEC, DATA_FINE_SEC, RETRIB_LORDA_SEC, PROFESSIONE_PREC, CAT_PROFESSIONALE_PREC, DATA_INIZIO_PREC, DATA_FINE_PREC, RETRIB_LORDA_PREC, RICONGIUNZIONE, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, STATO_LAVORATIVO, PROFESSIONE, CAT_PROFESSIONALE, DATA_INIZIO, DATA_FINE, RETRIB_LORDA, PROFESSIONE_SEC, CAT_PROFESSIONALE_SEC, DATA_INIZIO_SEC, DATA_FINE_SEC, RETRIB_LORDA_SEC, PROFESSIONE_PREC, CAT_PROFESSIONALE_PREC, DATA_INIZIO_PREC, DATA_FINE_PREC, RETRIB_LORDA_PREC, RICONGIUNZIONE, ID_ELAB, TIPO_ELAB + FROM C6Mart.ANAG_CLIENTI_PREV WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CONTRATTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CONTRATTI') + BEGIN + DELETE FROM C6Storico.ANAG_CONTRATTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_CONTRATTI + (ID_CONTRATTO, RETE, COD_FISCALE, COD_PRODOTTO, INTERMEDIARIO, DATA_SOTTOSCRIZIONE, DATA_PERF, DATA_CHIUSURA, STATO, COD_SOTTOPRODOTTO, TIPO_PRODOTTO, COD_INTERNO, COD_MANDATO, COD_CC, RUBRICATO, CUSTODIA_GAR, ID_ELAB, TIPO_ELAB) + SELECT + ID_CONTRATTO, RETE, COD_FISCALE, COD_PRODOTTO, INTERMEDIARIO, DATA_SOTTOSCRIZIONE, DATA_PERF, DATA_CHIUSURA, STATO, COD_SOTTOPRODOTTO, TIPO_PRODOTTO, COD_INTERNO, COD_MANDATO, COD_CC, RUBRICATO, CUSTODIA_GAR, ID_ELAB, TIPO_ELAB + FROM C6Mart.ANAG_CONTRATTI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CONTRATTI_ASS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CONTRATTI_ASS') + BEGIN + DELETE FROM C6Storico.ANAG_CONTRATTI_ASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_CONTRATTI_ASS + (RETE, COD_FISCALE, NUM_POLIZZA, ID_CONTRATTO, TIPO_PRODOTTO, PREMIO, IMPORTO_RATA, FREQ_RATA, IMPORTO_ASSICURATO, DURATA_POLIZZA, ALIQUOTA, COD_SOTTOPRODOTTO, COD_INTERNO, DATA_APERTURA, DATA_CHIUSURA, INTERMEDIARIO, STATO, DIV_RIFERIMENTO, CAMBIO, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, NUM_POLIZZA, ID_CONTRATTO, TIPO_PRODOTTO, PREMIO, IMPORTO_RATA, FREQ_RATA, IMPORTO_ASSICURATO, DURATA_POLIZZA, ALIQUOTA, COD_SOTTOPRODOTTO, COD_INTERNO, DATA_APERTURA, DATA_CHIUSURA, INTERMEDIARIO, STATO, DIV_RIFERIMENTO, CAMBIO, ID_ELAB, TIPO_ELAB + FROM C6Mart.ANAG_CONTRATTI_ASS WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_EMITTENTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_EMITTENTI') + BEGIN + DELETE FROM C6Storico.ANAG_EMITTENTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_EMITTENTI + (ID_EMITTENTE, DESCRIZIONE, NOTE, ID_ELAB) + SELECT + ID_EMITTENTE, DESCRIZIONE, NOTE, ID_ELAB + FROM C6Mart.ANAG_EMITTENTI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_PRODOTTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_PRODOTTI') + BEGIN + DELETE FROM C6Storico.ANAG_PRODOTTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_PRODOTTI + (COD_PRODOTTO, COD_ISIN, PAESE, ID_AREA, CAT_PRODOTTO, TIPO_PRODOTTO, DESCR_PRODOTTO, DIV_QUOTAZIONE, DIV_REGOLAMENTO, ID_EMITTENTE, MERCATO_CONTRATT, COD_MAF, RATING, COD_ADEGUATEZZA, COD_SOTTOPRODOTTO, COD_INTERNO, ID_ELAB, TIPO_ELAB) + SELECT + COD_PRODOTTO, COD_ISIN, PAESE, ID_AREA, CAT_PRODOTTO, TIPO_PRODOTTO, DESCR_PRODOTTO, DIV_QUOTAZIONE, DIV_REGOLAMENTO, ID_EMITTENTE, MERCATO_CONTRATT, COD_MAF, RATING, COD_ADEGUATEZZA, COD_SOTTOPRODOTTO, COD_INTERNO, ID_ELAB, TIPO_ELAB + FROM C6Mart.ANAG_PRODOTTI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_PRODOTTI_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_PRODOTTI_TERZI') + BEGIN + DELETE FROM C6Storico.ANAG_PRODOTTI_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_PRODOTTI_TERZI + (COD_PRODOTTO, COD_PRODOTTO_TERZI, NOME_PRODOTTO, ALBERO_PRODOTTI, COD_ISIN, DESCR_PRODOTTO, DIV_QUOTAZIONE, INTERMEDIARIO, DIV_REGOLAMENTO, ID_EMITTENTE, MERCATO_CONTRATT, PAESE, RATING, ID_ELAB, TIPO_ELAB) + SELECT + COD_PRODOTTO, COD_PRODOTTO_TERZI, NOME_PRODOTTO, ALBERO_PRODOTTI, COD_ISIN, DESCR_PRODOTTO, DIV_QUOTAZIONE, INTERMEDIARIO, DIV_REGOLAMENTO, ID_EMITTENTE, MERCATO_CONTRATT, PAESE, RATING, ID_ELAB, TIPO_ELAB + FROM C6Mart.ANAG_PRODOTTI_TERZI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_PROMOTORI') + BEGIN + DELETE FROM C6Storico.ANAG_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_PROMOTORI + (RETE, ID_PROMOTORE, LIVELLO, COD_FISCALE, PARTITA_IVA, COGNOME, NOME, RAG_SOC, DATA_INIZIO, DATA_FINE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, TEL_RECAPITO, TEL_CELL, E_MAIL, COD_ABI, COD_CAB, COD_CIN, COD_CC, STATO, ID_ELAB, TIPO_ELAB) + SELECT + RETE, ID_PROMOTORE, LIVELLO, COD_FISCALE, PARTITA_IVA, COGNOME, NOME, RAG_SOC, DATA_INIZIO, DATA_FINE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, TEL_RECAPITO, TEL_CELL, E_MAIL, COD_ABI, COD_CAB, COD_CIN, COD_CC, STATO, ID_ELAB, TIPO_ELAB + FROM C6Mart.ANAG_PROMOTORI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX AREA_BISOGNO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'AREA_BISOGNO') + BEGIN + DELETE FROM C6Storico.AREA_BISOGNO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.AREA_BISOGNO + (ID_AREA, NOME_AREA, ORDINAMENTO, ID_ELAB) + SELECT + ID_AREA, NOME_AREA, ORDINAMENTO, ID_ELAB + FROM C6Mart.AREA_BISOGNO WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSET_PERC XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSET_PERC') + BEGIN + DELETE FROM C6Storico.ASSET_PERC WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ASSET_PERC + (COD_PRODOTTO, ID_ASSETCLASS, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, LIVELLO, PERC, ID_ELAB, TIPO_ELAB) + SELECT + COD_PRODOTTO, ID_ASSETCLASS, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, LIVELLO, PERC, ID_ELAB, TIPO_ELAB + FROM C6Mart.ASSET_PERC WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSET_PERC_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSET_PERC_TERZI') + BEGIN + DELETE FROM C6Storico.ASSET_PERC_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ASSET_PERC_TERZI + (COD_PRODOTTO_TERZI, ID_ASSETCLASS, LIVELLO, NOME_PRODOTTO, TIPO_PRODOTTO, PERC, ID_ELAB, TIPO_ELAB) + SELECT + COD_PRODOTTO_TERZI, ID_ASSETCLASS, LIVELLO, NOME_PRODOTTO, TIPO_PRODOTTO, PERC, ID_ELAB, TIPO_ELAB + FROM C6Mart.ASSET_PERC_TERZI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS') + BEGIN + DELETE FROM C6Storico.ASSETCLASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ASSETCLASS + (ID_ASSETCLASS, DESCRIZIONE, LIVELLO, ORDINAMENTO, ID_ELAB) + SELECT + ID_ASSETCLASS, DESCRIZIONE, LIVELLO, ORDINAMENTO, ID_ELAB + FROM C6Mart.ASSETCLASS WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS_TERZI') + BEGIN + DELETE FROM C6Storico.ASSETCLASS_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ASSETCLASS_TERZI + (ID_ASSETCLASS, COD_ISIN, COD_MAF, COD_ADEGUATEZZA, ID_ELAB, TIPO_ELAB) + SELECT + ID_ASSETCLASS, COD_ISIN, COD_MAF, COD_ADEGUATEZZA, ID_ELAB, TIPO_ELAB + FROM C6Mart.ASSETCLASS_TERZI WHERE ID_ELAB = @ID_ELAB + END +-- --XXXXXXXXXXXXXXXXXXXXXXXX CATEGORIE_PRODOTTO XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'CATEGORIE_PRODOTTO') +-- BEGIN +-- DELETE FROM C6Storico.CATEGORIE_PRODOTTO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storico.CATEGORIE_PRODOTTO +-- (CAT_PRODOTTO, DESCRIZIONE, ORDINAMENTO) +-- SELECT +-- CAT_PRODOTTO, DESCRIZIONE, ORDINAMENTO +-- FROM C6Mart.CATEGORIE_PRODOTTO WHERE ID_ELAB = @ID_ELAB +-- END +-- --XXXXXXXXXXXXXXXXXXXXXXXX CODICI_PROMOTORI_FITTIZI XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'CODICI_PROMOTORI_FITTIZI') +-- BEGIN +-- DELETE FROM C6Storico.CODICI_PROMOTORI_FITTIZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storico.CODICI_PROMOTORI_FITTIZI +-- (Rete, CodiceDA, CodiceA) +-- SELECT +-- Rete, CodiceDA, CodiceA +-- FROM C6Mart.CODICI_PROMOTORI_FITTIZI WHERE ID_ELAB = @ID_ELAB +-- END + --XXXXXXXXXXXXXXXXXXXXXXXX CODIFICA_PIRAMIDI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CODIFICA_PIRAMIDI') + BEGIN + DELETE FROM C6Storico.CODIFICA_PIRAMIDI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.CODIFICA_PIRAMIDI + (ID_PIRAMIDE, DESCRIZIONE, NOTE, ID_ELAB) + SELECT + ID_PIRAMIDE, DESCRIZIONE, NOTE, ID_ELAB + FROM C6Mart.CODIFICA_PIRAMIDI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX CODIFICA_RISCHIO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CODIFICA_RISCHIO') + BEGIN + DELETE FROM C6Storico.CODIFICA_RISCHIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.CODIFICA_RISCHIO + (PROFILO, DESCRIZIONE, MIN_VAR, MAX_VAR, ID_ELAB) + SELECT + PROFILO, DESCRIZIONE, MIN_VAR, MAX_VAR, ID_ELAB + FROM C6Mart.CODIFICA_RISCHIO WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX COLORI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'COLORI') + BEGIN + DELETE FROM C6Storico.COLORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.COLORI + (Tipo, Codice, Ordinamento, [Descrizione breve], [Descrizione estesa], HexColor, Red, Green, Blue, ID_ELAB) + SELECT + Tipo, Codice, Ordinamento, [Descrizione breve], [Descrizione estesa], HexColor, Red, Green, Blue, ID_ELAB + FROM C6Mart.COLORI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONTRATTOSEI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONTRATTOSEI') + BEGIN + DELETE FROM C6Storico.CONTRATTOSEI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.CONTRATTOSEI + (Rete, Cod_Fiscale, Data_Sott, CodiceContratto, Cod_Agente, Data_Perf_Base, Data_Perf, Fascia_CPP, Email, Indirizzo, CAP, Citta, Prov, Nazione, Presso, Data_Inizio, Freq_Diagnosi, Freq_Monitor, Freq_DiagnosiPrec, Freq_MonitorPrec, Data_InizioConsInv, Data_InizioBase, Data_FineBase, Data_InizioAvanzato, Data_FineAvanzato, ProgressivoInvio, GenerazioneReport, InvioBenvenuto, DataUltimoInvio, ClienteMigrato, RisorseNA, NumSolleciti, Data_UltimoSollecito, NumRevoche, Data_UltimaRevoca, Note, ID_ELAB) + SELECT + Rete, Cod_Fiscale, Data_Sott, CodiceContratto, Cod_Agente, Data_Perf_Base, Data_Perf, Fascia_CPP, Email, Indirizzo, CAP, Citta, Prov, Nazione, Presso, Data_Inizio, Freq_Diagnosi, Freq_Monitor, Freq_DiagnosiPrec, Freq_MonitorPrec, Data_InizioConsInv, Data_InizioBase, Data_FineBase, Data_InizioAvanzato, Data_FineAvanzato, ProgressivoInvio, GenerazioneReport, InvioBenvenuto, DataUltimoInvio, ClienteMigrato, RisorseNA, NumSolleciti, Data_UltimoSollecito, NumRevoche, Data_UltimaRevoca, Note, @ID_ELAB + FROM C6Mart.CONTRATTOSEI --WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX DATI_REPORT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'DATI_REPORT') + BEGIN + DELETE FROM C6Storico.DATI_REPORT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.DATI_REPORT + (RETE, COD_FISCALE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, FLAG_REPORT, REPORT_DIAGN, REPORT_MONIT, DATA_REPORT, REPORT_FREQ, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, FLAG_REPORT, REPORT_DIAGN, REPORT_MONIT, DATA_REPORT, REPORT_FREQ, ID_ELAB, TIPO_ELAB + FROM C6Mart.DATI_REPORT WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX DETTAGLIO_ASUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'DETTAGLIO_ASUL') + BEGIN + DELETE FROM C6Storico.DETTAGLIO_ASUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.DETTAGLIO_ASUL + (RETE, COD_FISCALE, COD_PRODOTTO, ID_CONTRATTO, COD_SOTTOPRODOTTO, COD_INTERNO, CTV, DATA_RIF, COD_ISIN_FITTIZIO, COD_ISIN_SOTT, COD_MAF_SOTT, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, COD_PRODOTTO, ID_CONTRATTO, COD_SOTTOPRODOTTO, COD_INTERNO, CTV, DATA_RIF, COD_ISIN_FITTIZIO, COD_ISIN_SOTT, COD_MAF_SOTT, ID_ELAB, TIPO_ELAB + FROM C6Mart.DETTAGLIO_ASUL WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ELABORAZIONI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ELABORAZIONI') + BEGIN + DELETE FROM C6Storico.ELABORAZIONI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ELABORAZIONI + (ID_ELAB, TIPO_ELAB, DATA_OPERAZIONE) + SELECT + ID_ELAB, TIPO_ELAB, DATA_OPERAZIONE + FROM C6Mart.ELABORAZIONI WHERE ID_ELAB = @ID_ELAB + END +-- --XXXXXXXXXXXXXXXXXXXXXXXX EMAIL_ATTACHMENT XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'EMAIL_ATTACHMENT') +-- BEGIN +-- DELETE FROM C6Storico.EMAIL_ATTACHMENT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storico.EMAIL_ATTACHMENT +-- (Attachment_Id, Email_Id, Attachment) +-- SELECT +-- Attachment_Id, Email_Id, Attachment +-- FROM C6Mart.EMAIL_ATTACHMENT WHERE ID_ELAB = @ID_ELAB +-- END +-- --XXXXXXXXXXXXXXXXXXXXXXXX EMAIL_PB XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'EMAIL_PB') +-- BEGIN +-- DELETE FROM C6Storico.EMAIL_PB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storico.EMAIL_PB +-- (RETE, CODICE, PREFISSO, FIRMA, EMAIL) +-- SELECT +-- RETE, CODICE, PREFISSO, FIRMA, EMAIL +-- FROM C6Mart.EMAIL_PB WHERE ID_ELAB = @ID_ELAB +-- END + --XXXXXXXXXXXXXXXXXXXXXXXX ESITI_CARICAMENTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ESITI_CARICAMENTI') + BEGIN + DELETE FROM C6Storico.ESITI_CARICAMENTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ESITI_CARICAMENTI + (PROGR, DATA_INIZIO, DATA_FINE, ESITO, NOTE, ID_ELAB) + SELECT + PROGR, DATA_INIZIO, DATA_FINE, ESITO, NOTE, ID_ELAB + FROM C6Mart.ESITI_CARICAMENTI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX GER_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'GER_PROMOTORI') + BEGIN + DELETE FROM C6Storico.GER_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.GER_PROMOTORI + (RETE, ID_PROMOTORE, LIVELLO, ID_MANAGER, SUBORDINATI, ID_ELAB, TIPO_ELAB) + SELECT + RETE, ID_PROMOTORE, LIVELLO, ID_MANAGER, SUBORDINATI, ID_ELAB, TIPO_ELAB + FROM C6Mart.GER_PROMOTORI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX GESTIONE_EMAIL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'GESTIONE_EMAIL') + BEGIN + DELETE FROM C6Storico.GESTIONE_EMAIL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.GESTIONE_EMAIL + (Email_Id, Rete, Cod_Fiscale, Tipo, Data_Generazione, Inviata, Data_Invio, Data_Comunicazione_Host, ID_ELAB) + SELECT + Email_Id, Rete, Cod_Fiscale, Tipo, Data_Generazione, Inviata, Data_Invio, Data_Comunicazione_Host, ID_ELAB + FROM C6Mart.GESTIONE_EMAIL WHERE ID_ELAB = @ID_ELAB + END +-- --XXXXXXXXXXXXXXXXXXXXXXXX GESTIONE_PDF_FTP XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'GESTIONE_PDF_FTP') +-- BEGIN +-- DELETE FROM C6Storico.GESTIONE_PDF_FTP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storico.GESTIONE_PDF_FTP +-- (Rete, CodiceFiscale, IdReport, TipoReport, DataGenerazione, DataInvio, DataInvioRistampa, FlagInvio, NomeFile, numeroPagine, ID_ELAB, id_Fk_zip) +-- SELECT +-- Rete, CodiceFiscale, IdReport, TipoReport, DataGenerazione, DataInvio, DataInvioRistampa, FlagInvio, NomeFile, numeroPagine, ID_ELAB, id_Fk_zip +-- FROM C6Mart.GESTIONE_PDF_FTP WHERE ID_ELAB = @ID_ELAB +-- END + --XXXXXXXXXXXXXXXXXXXXXXXX GESTIONE_ZIP_FTP XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'GESTIONE_ZIP_FTP') + BEGIN + DELETE FROM C6Storico.GESTIONE_ZIP_FTP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.GESTIONE_ZIP_FTP + (id, nomefile, dataInvio, flagInvio, nomeCartella, ID_ELAB) + SELECT + id, nomefile, dataInvio, flagInvio, nomeCartella, ID_ELAB + FROM C6Mart.GESTIONE_ZIP_FTP WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX MIFID XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MIFID') + BEGIN + DELETE FROM C6Storico.MIFID WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.MIFID + (RETE, COD_FISCALE, COMPILAZIONE, PROFILO_ASS, PROFILO_CALC, DATA_INIZIO_VAL, DATA_FINE_VAL, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, COMPILAZIONE, PROFILO_ASS, PROFILO_CALC, DATA_INIZIO_VAL, DATA_FINE_VAL, ID_ELAB, TIPO_ELAB + FROM C6Mart.MIFID WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX PARTITE_VIAGGIANTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PARTITE_VIAGGIANTI') + BEGIN + DELETE FROM C6Storico.PARTITE_VIAGGIANTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PARTITE_VIAGGIANTI + (RETE, COD_FISCALE, IMPORTO, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, IMPORTO, ID_ELAB, TIPO_ELAB + FROM C6Mart.PARTITE_VIAGGIANTI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_AGG XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_AGG') + BEGIN + DELETE FROM C6Storico.PATRIMONIO_AGG WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PATRIMONIO_AGG + (RETE, COD_FISCALE, COD_PRODOTTO, LIQUIDATO, INVESTITO, ID_AREA, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, COD_PRODOTTO, LIQUIDATO, INVESTITO, ID_AREA, ID_ELAB, TIPO_ELAB + FROM C6Mart.PATRIMONIO_AGG WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_ALTRO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_ALTRO') + BEGIN + DELETE FROM C6Storico.PATRIMONIO_ALTRO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PATRIMONIO_ALTRO + (RETE, COD_FISCALE, QUANTITA, DESCRIZIONE, CTV, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, QUANTITA, DESCRIZIONE, CTV, ID_ELAB, TIPO_ELAB + FROM C6Mart.PATRIMONIO_ALTRO WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_BF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_BF') + BEGIN + DELETE FROM C6Storico.PATRIMONIO_BF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PATRIMONIO_BF + (RETE, COD_FISCALE, POSITION_ID, COD_PRODOTTO, ID_CONTRATTO, DATA_SOTTOSCRIZIONE, COD_STATO, NUM_POLIZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TIPO_PRODOTTO, NOME_PROGETTO, ID_AREA, DATA_OPERAZIONE, DATA_VALUTA, DATA_REGOLAMENTO, QUANTITA, PREZZO, CTV, CTV_NOMINALE, VERSATO_NETTO, PARTVIA_DISINV, DATA_PARTVIA_DISINV, PARTVIA_INV, REND_SOTTOSCRIZIONE, REND_TRIMESTRE, REND_ANNO, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, POSITION_ID, COD_PRODOTTO, ID_CONTRATTO, DATA_SOTTOSCRIZIONE, COD_STATO, NUM_POLIZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TIPO_PRODOTTO, NOME_PROGETTO, ID_AREA, DATA_OPERAZIONE, DATA_VALUTA, DATA_REGOLAMENTO, QUANTITA, PREZZO, CTV, CTV_NOMINALE, VERSATO_NETTO, PARTVIA_DISINV, DATA_PARTVIA_DISINV, PARTVIA_INV, REND_SOTTOSCRIZIONE, REND_TRIMESTRE, REND_ANNO, ID_ELAB, TIPO_ELAB + FROM C6Mart.PATRIMONIO_BF WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_IMMOBILIARE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_IMMOBILIARE') + BEGIN + DELETE FROM C6Storico.PATRIMONIO_IMMOBILIARE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PATRIMONIO_IMMOBILIARE + (RETE, COD_FISCALE, DESCRIZIONE, TIPOLOGIA, LOCALITA, PROVINCIA, CAP, NAZIONE, VALORE_STIMATO, AFFITTO, NOTE, DIV_RIFERIMENTO, CAMBIO, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, DESCRIZIONE, TIPOLOGIA, LOCALITA, PROVINCIA, CAP, NAZIONE, VALORE_STIMATO, AFFITTO, NOTE, DIV_RIFERIMENTO, CAMBIO, ID_ELAB, TIPO_ELAB + FROM C6Mart.PATRIMONIO_IMMOBILIARE WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_TERZI') + BEGIN + DELETE FROM C6Storico.PATRIMONIO_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PATRIMONIO_TERZI + (RETE, COD_FISCALE, NUM_POLIZZA, TIPO_POLIZZA, TIPO_PRODOTTO, TIPO_PRODOTTO2, COD_PRODOTTO, COD_PRODOTTO_TERZI, INTERMEDIARIO, DATA_SOTTOSCRIZIONE, DATA_SCADENZA, FREQ_RATA, DURATA_POLIZZA, PREMIO, ALIQUOTA, DATA_SOTT_FP, DATA_REGOLAMENTO, QUANTITA, PREZZO, CTV, VERSATO_NETTO, DIV_REGOLAMENTO, CAMBIO, DESCR_GRUPPO_PRODOTTO, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, NUM_POLIZZA, TIPO_POLIZZA, TIPO_PRODOTTO, TIPO_PRODOTTO2, COD_PRODOTTO, COD_PRODOTTO_TERZI, INTERMEDIARIO, DATA_SOTTOSCRIZIONE, DATA_SCADENZA, FREQ_RATA, DURATA_POLIZZA, PREMIO, ALIQUOTA, DATA_SOTT_FP, DATA_REGOLAMENTO, QUANTITA, PREZZO, CTV, VERSATO_NETTO, DIV_REGOLAMENTO, CAMBIO, DESCR_GRUPPO_PRODOTTO, ID_ELAB, TIPO_ELAB + FROM C6Mart.PATRIMONIO_TERZI WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX PIRAMIDE_MOD XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PIRAMIDE_MOD') + BEGIN + DELETE FROM C6Storico.PIRAMIDE_MOD WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PIRAMIDE_MOD + (RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, TIPO_PROGETTO, PERC_AREA, CTV_PROGETTO, CTV_AREA, ORIZZ_TEMP, CTV_TOTALE, STATO_CONSULENZA, DATA_STATO_CONS, DATA_MIGR_CONS, ID_CONTRATTO, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, TIPO_PROGETTO, PERC_AREA, CTV_PROGETTO, CTV_AREA, ORIZZ_TEMP, CTV_TOTALE, STATO_CONSULENZA, DATA_STATO_CONS, DATA_MIGR_CONS, ID_CONTRATTO, ID_ELAB, TIPO_ELAB + FROM C6Mart.PIRAMIDE_MOD WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX PIRAMIDE_VERT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PIRAMIDE_VERT') + BEGIN + DELETE FROM C6Storico.PIRAMIDE_VERT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PIRAMIDE_VERT + (RETE, COD_FISCALE, ID_AREA, CTV_AREA, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, ID_AREA, CTV_AREA, ID_ELAB, TIPO_ELAB + FROM C6Mart.PIRAMIDE_VERT WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX PREVIDENZIALE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PREVIDENZIALE') + BEGIN + DELETE FROM C6Storico.PREVIDENZIALE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PREVIDENZIALE + (RETE, COD_FISCALE, ANNO_PENSIONE, ETA_PENSIONE, TOT_CONSUMI_ATTESI, TOT_REDDITO_ANNUO, REDDITO_CONSUMI_ESS, PENSIONE_ATTESA_, RENDITA_PREV_COMPL, RENDITA_ASS, REDDITO_CONSUMI_SEC, RENDITA_ASS_TRAD, RENDITA_ASS_UNIT, RENDITA_IMMOB, ALTRE_RENDITE, DIV_RIFERIMENTO, CAMBIO, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, ANNO_PENSIONE, ETA_PENSIONE, TOT_CONSUMI_ATTESI, TOT_REDDITO_ANNUO, REDDITO_CONSUMI_ESS, PENSIONE_ATTESA_, RENDITA_PREV_COMPL, RENDITA_ASS, REDDITO_CONSUMI_SEC, RENDITA_ASS_TRAD, RENDITA_ASS_UNIT, RENDITA_IMMOB, ALTRE_RENDITE, DIV_RIFERIMENTO, CAMBIO, ID_ELAB, TIPO_ELAB + FROM C6Mart.PREVIDENZIALE WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX RISCHIO_AGGREGATO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'RISCHIO_AGGREGATO') + BEGIN + DELETE FROM C6Storico.RISCHIO_AGGREGATO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.RISCHIO_AGGREGATO + (RETE, COD_FISCALE, COD_AGGREG, VAR_ASSOLUTO_PTF, VAR_PERC_PTF, CVAR_ASSOLUTO_PTF, CVAR_PERC_PTF, MCVAR, MCVARP, BENEFICIO, COPERTURA, CTV_AGGREG, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, COD_AGGREG, VAR_ASSOLUTO_PTF, VAR_PERC_PTF, CVAR_ASSOLUTO_PTF, CVAR_PERC_PTF, MCVAR, MCVARP, BENEFICIO, COPERTURA, CTV_AGGREG, ID_ELAB, TIPO_ELAB + FROM C6Mart.RISCHIO_AGGREGATO WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX RISCHIO_DETTAGLIO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'RISCHIO_DETTAGLIO') + BEGIN + DELETE FROM C6Storico.RISCHIO_DETTAGLIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.RISCHIO_DETTAGLIO + (RETE, COD_FISCALE, COD_AGGREG, CHIAVE_PRODOTTO, VAR_ASSOLUTO_PTF, VAR_PERC_PTF, CVAR_ASSOLUTO_PTF, CVAR_PERC_PTF, MCVAR, MCVARP, TIPO_COPERTURA, CTV_AGGREG, MERCATO_CONTRATT, DIV_CONTRATT, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, COD_AGGREG, CHIAVE_PRODOTTO, VAR_ASSOLUTO_PTF, VAR_PERC_PTF, CVAR_ASSOLUTO_PTF, CVAR_PERC_PTF, MCVAR, MCVARP, TIPO_COPERTURA, CTV_AGGREG, MERCATO_CONTRATT, DIV_CONTRATT, ID_ELAB, TIPO_ELAB + FROM C6Mart.RISCHIO_DETTAGLIO WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX STRUTTURA_RETE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'STRUTTURA_RETE') + BEGIN + DELETE FROM C6Storico.STRUTTURA_RETE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.STRUTTURA_RETE + (Rete, PB, CognomeNomePB, SPV, CognomeNomeSPV, RM, CognomeNomeRM, DM, CognomeNomeDM, AM, CognomeNomeAM, Livello, ID_ELAB, TIPO_ELAB) + SELECT + Rete, PB, CognomeNomePB, SPV, CognomeNomeSPV, RM, CognomeNomeRM, DM, CognomeNomeDM, AM, CognomeNomeAM, Livello, ID_ELAB, TIPO_ELAB + FROM C6Mart.STRUTTURA_RETE WHERE ID_ELAB = @ID_ELAB + END +-- --XXXXXXXXXXXXXXXXXXXXXXXX TABELLESTORICIZZATE XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'TABELLESTORICIZZATE') +-- BEGIN +-- DELETE FROM C6Storico.TABELLESTORICIZZATE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storico.TABELLESTORICIZZATE +-- (Nome) +-- SELECT +-- Nome +-- FROM C6Mart.TABELLESTORICIZZATE WHERE ID_ELAB = @ID_ELAB +-- END + --XXXXXXXXXXXXXXXXXXXXXXXX TESTO_LETTERA_ACCETTAZIONE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TESTO_LETTERA_ACCETTAZIONE') + BEGIN + DELETE FROM C6Storico.TESTO_LETTERA_ACCETTAZIONE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.TESTO_LETTERA_ACCETTAZIONE + (ID, TESTO, DESCRIZIONE, ID_ELAB) + SELECT + ID, TESTO, DESCRIZIONE, ID_ELAB + FROM C6Mart.TESTO_LETTERA_ACCETTAZIONE WHERE ID_ELAB = @ID_ELAB + END +-- --XXXXXXXXXXXXXXXXXXXXXXXX TIPO_EMAIL XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'TIPO_EMAIL') +-- BEGIN +-- DELETE FROM C6Storico.TIPO_EMAIL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storico.TIPO_EMAIL +-- (Tipo, Descrizione, E_From, E_To, E_Cc, E_Ccn, E_Subject, Testo) +-- SELECT +-- Tipo, Descrizione, E_From, E_To, E_Cc, E_Ccn, E_Subject, Testo +-- FROM C6Mart.TIPO_EMAIL WHERE ID_ELAB = @ID_ELAB +-- END +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX FINE TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_SRV_SVUOTAMART.sql b/sql/storedProduzione/C6Mart_SRV_SVUOTAMART.sql new file mode 100644 index 00000000..a084cdf7 --- /dev/null +++ b/sql/storedProduzione/C6Mart_SRV_SVUOTAMART.sql @@ -0,0 +1,39 @@ +CREATE procedure [C6Mart].[SRV_SVUOTAMART] +AS +BEGIN + SET NOCOUNT ON; + TRUNCATE TABLE [C6Mart].[ALBERO_PRODOTTI] + TRUNCATE TABLE [C6Mart].[ANAG_CC] + TRUNCATE TABLE [C6Mart].[ANAG_CC_TERZI] + DELETE C6MART.ANAG_CLIENTI + FROM C6MART.ANAG_CLIENTI + INNER JOIN C6STAGING.ALL_CF_PB + ON ANAG_CLIENTI.RETE = ALL_CF_PB.RETE_PB + AND ANAG_CLIENTI.COD_FISCALE = ALL_CF_PB.CODICEFISCALE + TRUNCATE TABLE [C6Mart].[ANAG_CONTRATTI] + TRUNCATE TABLE [C6Mart].[ANAG_CONTRATTI_ASS] + TRUNCATE TABLE [C6Mart].[ANAG_PRODOTTI] + TRUNCATE TABLE [C6Mart].[ANAG_PRODOTTI_TERZI] + TRUNCATE TABLE [C6Mart].[ANAG_PROMOTORI] + TRUNCATE TABLE [C6Mart].[AREA_BISOGNO] + TRUNCATE TABLE [C6Mart].[ASSET_PERC] + TRUNCATE TABLE [C6Mart].[ASSET_PERC_TERZI] + TRUNCATE TABLE [C6Mart].[ASSETCLASS] + TRUNCATE TABLE [C6Mart].[ASSETCLASS_TERZI] + TRUNCATE TABLE [C6Mart].[CATEGORIE_PRODOTTO] + TRUNCATE TABLE [C6Mart].[CODIFICA_RISCHIO] + TRUNCATE TABLE [C6Mart].[DETTAGLIO_ASUL] + TRUNCATE TABLE [C6Mart].[EMAIL_PB] + TRUNCATE TABLE [C6Mart].[MIFID] + TRUNCATE TABLE [C6Mart].[PARTITE_VIAGGIANTI] + TRUNCATE TABLE [C6Mart].[PATRIMONIO_AGG] + TRUNCATE TABLE [C6Mart].[PATRIMONIO_ALTRO] + TRUNCATE TABLE [C6Mart].[PATRIMONIO_BF] + TRUNCATE TABLE [C6Mart].[PATRIMONIO_IMMOBILIARE] + TRUNCATE TABLE [C6Mart].[PATRIMONIO_TERZI] + TRUNCATE TABLE [C6Mart].[PIRAMIDE_MOD] + TRUNCATE TABLE [C6Mart].[PIRAMIDE_VERT] + TRUNCATE TABLE [C6Mart].[PREVIDENZIALE] + TRUNCATE TABLE [C6Mart].[RISCHIO_AGGREGATO] + TRUNCATE TABLE [C6Mart].[STRUTTURA_RETE] +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_SRV_TABELLE_IN_MART.sql b/sql/storedProduzione/C6Mart_SRV_TABELLE_IN_MART.sql new file mode 100644 index 00000000..dc7c4171 --- /dev/null +++ b/sql/storedProduzione/C6Mart_SRV_TABELLE_IN_MART.sql @@ -0,0 +1,38 @@ +CREATE procedure [C6Mart].[SRV_TABELLE_IN_MART] +AS +BEGIN + DECLARE @tabella AS VARCHAR(50) + SET @tabella = NULL + SELECT TOP 1 @tabella = A.tabella + FROM( + SELECT tables.name tabella + FROM sys.tables tables + INNER JOIN sys.schemas schemas + ON tables.schema_id = schemas.schema_id + WHERE schemas.name = 'C6Mart' + AND tables.name <> 'TabelleStoricizzate' + ) A + WHERE A.tabella NOT IN ( + SELECT Nome + FROM C6Mart.TabelleStoricizzate + ) + ORDER BY A.tabella + -- vedi stessa sp di Staging + /*INSERT INTO [C6Mart].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella)*/ + DECLARE @tabellaMartDaStoricizzare AS SMALLINT + IF @tabella IS NOT NULL + BEGIN + INSERT INTO [C6Mart].[TabelleStoricizzate] + ([Nome], [Inizio]) + VALUES + (@tabella, GETDATE()) + EXEC [C6Mart].[SRV_STORICIZZAZIONE] @tabella + SET @tabellaMartDaStoricizzare = 1 + END + ELSE + SET @tabellaMartDaStoricizzare = 0 + SELECT @tabellaMartDaStoricizzare tabella, @tabella nome +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_SRV_TRUNCATE_STAGING.sql b/sql/storedProduzione/C6Mart_SRV_TRUNCATE_STAGING.sql new file mode 100644 index 00000000..2ca3f05d --- /dev/null +++ b/sql/storedProduzione/C6Mart_SRV_TRUNCATE_STAGING.sql @@ -0,0 +1,49 @@ +CREATE procedure [C6Mart].[SRV_TRUNCATE_STAGING] + -- Add the parameters for the stored procedure here +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- *** TABELLE GESTIONE ERRORE *** -- + -- TRUNCATE TABLE dbo.GLOBAL_ERROR; + -- *** FINE TABELLE GESTIONE ERRORE *** -- + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'Staging SEI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6Staging.ALL_CF_PB; + TRUNCATE TABLE C6Staging.ALL_CF_STATO; + TRUNCATE TABLE C6Staging.ALL_CONSUL_ASUL; + TRUNCATE TABLE C6Staging.ALL_PATR_TERZI; + TRUNCATE TABLE C6Staging.ALL_PATRBF; + TRUNCATE TABLE C6Staging.ALL_POS_CONS_CAT; + TRUNCATE TABLE C6Staging.ALL_PROPOSTA; + TRUNCATE TABLE C6Staging.ACBDENOTH; + TRUNCATE TABLE C6Staging.ACBDENTRY; + TRUNCATE TABLE C6Staging.ADBKRELAT; + TRUNCATE TABLE C6Staging.ASSETCLASS; + TRUNCATE TABLE C6Staging.C_BO_453FB; + TRUNCATE TABLE C6Staging.CATINAREA; + --TRUNCATE TABLE C6Staging.CATITEMREF; GESTITA SEPARATAMENTE + TRUNCATE TABLE C6Staging.COMPTYPE; + TRUNCATE TABLE C6Staging.CONO; + TRUNCATE TABLE C6Staging.CONSAREA; + TRUNCATE TABLE C6Staging.CONSUL; + TRUNCATE TABLE C6Staging.INDREND; + TRUNCATE TABLE C6Staging.INSTRBDS; + TRUNCATE TABLE C6Staging.MACROASSETCLASS; + TRUNCATE TABLE C6Staging.NEEDAREA; + TRUNCATE TABLE C6Staging.OTHINTRST; + TRUNCATE TABLE C6Staging.PORTMOD; + TRUNCATE TABLE C6Staging.POSITION; + TRUNCATE TABLE C6Staging.PRCONSUL; + TRUNCATE TABLE C6Staging.QUANTIF; + TRUNCATE TABLE C6Staging.S4_S5_S13_TRAD_UNTIL_LIV3; + TRUNCATE TABLE C6Staging.WANAB; + TRUNCATE TABLE C6Staging.WRENAB; + TRUNCATE TABLE C6Staging.WSCABP; +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_TabellaCaratteriAnomali.sql b/sql/storedProduzione/C6Mart_TabellaCaratteriAnomali.sql new file mode 100644 index 00000000..7ccc09d7 --- /dev/null +++ b/sql/storedProduzione/C6Mart_TabellaCaratteriAnomali.sql @@ -0,0 +1,38 @@ +-- 1. Caratteri Anomali +CREATE procedure C6Mart.TabellaCaratteriAnomali +as +begin + create table #TableCaratteriAnomali ( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL + ) + INSERT INTO #TableCaratteriAnomali + exec [C6Mart].[CercaCaratteriAnomali] + select a.*, + c.Indirizzo as Indirizzo_vContratti, + d.indirizzo as indirizzo_Anag, + d.localita as localita_Anag, + d.Provincia as provincia_anag, + d.nazione as nazione_anag, + d.presso as presso_anag + --into #RecordDaModificare + from #TableCaratteriAnomali a + inner join c6mart.gestione_pdf_ftp b + on a.rete = b.rete + and + a.cod_fiscale = b.codicefiscale + inner join C6Mart.VCONTRATTI c + on a.rete = c.rete + and + a.cod_fiscale = c.cod_fiscale + inner join C6Mart.ANAG_CLIENTI d + on a.rete = d.rete + and + a.cod_fiscale = d.cod_fiscale + where b.DataInvio is null + drop table #TableCaratteriAnomali +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_UT_INSERT_ERROR.sql b/sql/storedProduzione/C6Mart_UT_INSERT_ERROR.sql new file mode 100644 index 00000000..3bcdc01f --- /dev/null +++ b/sql/storedProduzione/C6Mart_UT_INSERT_ERROR.sql @@ -0,0 +1,35 @@ +CREATE procedure [C6Mart].[UT_INSERT_ERROR] + @codiceErrore as int, + @descrizioErrore as text, + @dataTime as datetime, + @localeId as int, + @descrizionePackage as text, + @nomePackage as varchar(50) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + INSERT INTO [dbo].[GLOBAL_ERROR] + ([Cancel] + ,[ErrorCode] + ,[ErrorDescription] + ,[EventHandlerStartTime] + ,[LocaleID] + ,[Propagate] + ,[SourceDescription] + ,[SourceID] + ,[SourceName] + ,[Time]) + VALUES + (null + ,@codiceErrore + ,@descrizioErrore + ,@dataTime + ,@localeId + ,null + ,@descrizionePackage + ,null + ,@nomePackage + ,@dataTime) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_Util_Test_PL.sql b/sql/storedProduzione/C6Mart_Util_Test_PL.sql new file mode 100644 index 00000000..dff88e25 --- /dev/null +++ b/sql/storedProduzione/C6Mart_Util_Test_PL.sql @@ -0,0 +1,61 @@ +CREATE procedure [C6Mart].[Util_Test_PL] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT 'PL_S10PatrimonioFinanziario' + exec C6Mart.PL_S10PatrimonioFinanziario @Rete , @CodiceFiscale +--select 1 + SELECT 'PL_S18PatrimonioFinanziarioRischio' +-- +-- + exec C6Mart.PL_S18PatrimonioFinanziarioRischio @Rete,@CodiceFiscale +-- + SELECT 'PL_S1Patrimonio' +-- +-- + exec C6Mart.PL_S1Patrimonio @Rete,@CodiceFiscale +-- +-- + SELECT 'PL_S23DettaglioRischio' + exec C6Mart.PL_S23DettaglioRischio @Rete,@CodiceFiscale + SELECT 'PL_S25Anagrafica' + exec C6Mart.PL_S25Anagrafica @Rete,@CodiceFiscale + SELECT 'PL_S26PatrimonioImmobiliare' + exec C6Mart.PL_S26PatrimonioImmobiliare @Rete,@CodiceFiscale + SELECT 'PL_S27ALtroPatrimonio' + exec C6Mart.PL_S27ALtroPatrimonio @Rete,@CodiceFiscale + SELECT 'PL_S2PatrimonioFinanziario' + exec C6Mart.PL_S2PatrimonioFinanziario @Rete,@CodiceFiscale + SELECT 'PL_S31PatrimonioFinanziarioIntermediario' + exec C6Mart.PL_S31PatrimonioFinanziarioIntermediario @Rete,@CodiceFiscale + SELECT 'PL_S32PatrimonioFinanziarioMAssetClass' + exec C6Mart.PL_S32PatrimonioFinanziarioMAssetClass @Rete,@CodiceFiscale + SELECT 'PL_S36ProfiloRischio' + exec C6Mart.PL_S36ProfiloRischio @Rete,@CodiceFiscale + SELECT 'PL_S37PiramideModello' + exec C6Mart.PL_S37PiramideModello @Rete,@CodiceFiscale + SELECT 'PL_S43DettaglioProdottiBF' + exec C6Mart.PL_S43DettaglioProdottiBF @Rete,@CodiceFiscale + SELECT 'PL_S47ContoCorrenteBF' + exec C6Mart.PL_S47ContoCorrenteBF @Rete,@CodiceFiscale + SELECT 'PL_S48DettaglioProdotti' + exec C6Mart.PL_S48DettaglioProdotti @Rete,@CodiceFiscale + SELECT 'PL_S49PolizzeAltriIstituti' + exec C6Mart.PL_S49PolizzeAltriIstituti @Rete,@CodiceFiscale + SELECT 'PL_S50FondiAltriIstituti' + exec C6Mart.PL_S50FondiAltriIstituti @Rete,@CodiceFiscale + SELECT 'PL_S51ContoCorrenteAI' + exec C6Mart.PL_S51ContoCorrenteAI @Rete,@CodiceFiscale + SELECT 'PL_S56PatrimonioBFAreeBisogno' + exec C6Mart.PL_S56PatrimonioBFAreeBisogno @Rete,@CodiceFiscale + SELECT 'PL_S57ConfrontoPiramidi' + exec C6Mart.PL_S57ConfrontoPiramidi @Rete,@CodiceFiscale + SELECT 'PL_S6PatrimonioFinanziario' + exec C6Mart.PL_S6PatrimonioFinanziario @Rete,@CodiceFiscale + SELECT 'PL_S75GradoCopertura' + exec C6Mart.PL_S75GradoCopertura @Rete,@CodiceFiscale + SELECT 'PL_S76PatrimonioNonRappresentabileAssettClass' + exec C6Mart.PL_S76PatrimonioNonRappresentabileAssettClass @Rete,@CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_Verifica_Lancio_Giornaliero.sql b/sql/storedProduzione/C6Mart_Verifica_Lancio_Giornaliero.sql new file mode 100644 index 00000000..3c59c087 --- /dev/null +++ b/sql/storedProduzione/C6Mart_Verifica_Lancio_Giornaliero.sql @@ -0,0 +1,25 @@ +CREATE procedure [C6Mart].[Verifica_Lancio_Giornaliero] +AS +BEGIN + declare @lancia_giornaliero as int + --declare @data_inizio as datetime + --select max(inizio) from log_esecuzione + --where nota like '%Elaborazione giornaliera%' + if datediff(day,(select max(inizio) from log_esecuzione where nota like '%Elaborazione giornaliera%'),getdate()) <= 0 + begin + insert into LOG_ESECUZIONE values ( + 'C6Mart.Verifica_Lancio_Giornaliero', + GETDATE(), + GETDATE(), + 'LANCIO DOPPIO', + 1,'Errore elaborazione giornaliero') + RAISERROR (50000,-1,-1, 'Lancio giornaliero'); + --set @lancia_giornaliero = 0 + end + --else + -- begin + -- insert into LOG_ESECUZIONE values ( + -- 'C6Mart.Verifica_Lancio_Giornaliero', + -- GETDATE(),GETDATE(),'LANCIO OK',1,'elaborazione giornaliero ok') + -- end +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_aggiornaDataValidazione.sql b/sql/storedProduzione/C6Mart_aggiornaDataValidazione.sql new file mode 100644 index 00000000..cec23762 --- /dev/null +++ b/sql/storedProduzione/C6Mart_aggiornaDataValidazione.sql @@ -0,0 +1,18 @@ +CREATE procedure [C6Mart].[aggiornaDataValidazione] as +begin +select + DataGenerazione as data, + SUBSTRING(NomeFile, 1, 11) as codiceContratto, --SUBSTRING(NomeFile, 0, 12) + case + when (id_fk_zip = -1) then 0 + else 1 + end as definitivo, + getDate() as dataAggiornamento +from +( +select +datagenerazione, nomefile,id_fk_zip, +row_number() over (partition by SUBSTRING(NomeFile, 1, 11) order by datagenerazione desc ) pippo from --SUBSTRING(NomeFile, 0, 12) +c6mart.gestione_pdf_ftp +)l where pippo =1 +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_getCodiceContratto.sql b/sql/storedProduzione/C6Mart_getCodiceContratto.sql new file mode 100644 index 00000000..ce93e213 --- /dev/null +++ b/sql/storedProduzione/C6Mart_getCodiceContratto.sql @@ -0,0 +1,39 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[getCodiceContratto] + @codiceFiscale as varchar(16), + @rete as varchar(1), + @codicePB as varchar(6) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT DISTINCT + CodiceContratto + FROM + C6Mart.contrattoSEI c6 +-- JOIN +-- C6Mart.anag_clienti ac +-- ON +-- c6.cod_fiscale = ac.cod_fiscale AND +-- c6.rete = ac.rete +-- JOIN +-- C6Mart.anag_promotori ap +-- ON +-- c6.cod_agente = ap.id_promotore + WHERE c6.rete = @rete AND + c6.cod_fiscale = @codiceFiscale AND + c6.cod_agente = @codicePB +-- WHERE +-- ((@rete is null) or (c6.rete = @rete)) AND +-- ((@CodicePB is null) or (c6.Cod_Agente like @codicePB + '%')) AND +-- ((@cod_fiscale is null) or (c6.cod_fiscale like @cod_fiscale + '%')) AND +-- ((@nomeCliente is null) or (ac.nome like @nomeCliente + '%')) AND +-- ((@cognomeCliente is null) or (ac.cognome like @cognomeCliente + '%')) AND +-- ((@cognomePB is null) or (ap.cognome like @cognomePB + '%')) AND +-- ((@nomePB is null) or (ap.nome like @nomePB + '%')) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_rp_aggiornaDataValidazione.sql b/sql/storedProduzione/C6Mart_rp_aggiornaDataValidazione.sql new file mode 100644 index 00000000..fd841e89 --- /dev/null +++ b/sql/storedProduzione/C6Mart_rp_aggiornaDataValidazione.sql @@ -0,0 +1,104 @@ +CREATE procedure [C6Mart].[rp_aggiornaDataValidazione] +AS +begin +/* +delete from [CONSUNI].ConsulenzaUnicaFL.[dbo].CBS_STAMPAREPORT_TEST +insert into [CONSUNI].ConsulenzaUnicaFL.[dbo].CBS_STAMPAREPORT_TEST +select + DataGenerazione as data, + SUBSTRING(NomeFile, 1, 11) as codiceContratto, --SUBSTRING(NomeFile, 0, 12) + case + when (id_fk_zip = -1) then 0 + else 1 + end as definitivo, + getDate() as dataAggiornamento +from +( + select + datagenerazione, nomefile,id_fk_zip, + row_number() over (partition by SUBSTRING(NomeFile, 1, 11) order by datagenerazione desc ) pippo from --SUBSTRING(NomeFile, 0, 12) + c6mart.gestione_pdf_ftp + --where SUBSTRING(NomeFile, 1, 11) in ('001771CO205') --SUBSTRING(NomeFile, 0, 12) +)l where pippo =1 +*/ +--delete from [CONSUNI].ConsulenzaUnicaFL.[dbo].CBS_STAMPAREPORT +--insert into [CONSUNI].ConsulenzaUnicaFL.[dbo].CBS_STAMPAREPORT +--select +-- DataGenerazione as data, +-- SUBSTRING(NomeFile, 1, 11) as codiceContratto, --SUBSTRING(NomeFile, 0, 12) +-- case +-- when (id_fk_zip = -1) then 0 +-- else 1 +-- end as definitivo, +-- getDate() as dataAggiornamento +--from +--( +-- select +-- datagenerazione, +-- nomefile, +-- id_fk_zip, +-- row_number() over (partition by SUBSTRING(NomeFile, 1, 11) order by datagenerazione desc ) as ordine, --SUBSTRING(NomeFile, 0, 12) +-- upgrade +-- from (select pdf.*,case when md.TIP_riattivazione = 2 then 1 else 0 end upgrade +-- from c6mart.gestione_pdf_ftp pdf +-- left join c6mart.vcontratti vc +-- on SUBSTRING(pdf.NomeFile, 1, 11) = vc.codicecontratto --SUBSTRING(pdf.NomeFile, 0, 12) +-- left join c6mart.contrattosei_metadati md +-- on md.chiaveclientepb = vc.chiaveclientepb) pdf2 +--) l +--where ( ordine = 1 and upgrade = 0 ) or (ordine = 2 and upgrade = 1) +--BEGIN TRANSACTION +-- BEGIN TRY + DELETE FROM [CONSUNI].ConsulenzaUnicaFL.[dbo].CBS_STAMPAREPORT + INSERT INTO [CONSUNI].ConsulenzaUnicaFL.[dbo].CBS_STAMPAREPORT + SELECT + dbo.getFeriale(DataGenerazione) AS data, + SUBSTRING(NomeFile, 1, 11) AS codiceContratto, --SUBSTRING(NomeFile, 0, 12) + CASE + WHEN (id_fk_zip = -1) THEN 0 + ELSE 1 + END AS definitivo, + getDate() AS dataAggiornamento + FROM + ( + SELECT + datagenerazione, + nomefile, + id_fk_zip, + row_number() over (partition by SUBSTRING(NomeFile, 1, 11) order by datagenerazione desc ) as ordine, --SUBSTRING(NomeFile, 0, 12) + upgrade, + InvioBenvenuto, + DataFineAvanzato + FROM ( + SELECT pdf.*,CASE WHEN md.TIP_riattivazione = 2 THEN 1 ELSE 0 END upgrade ,md.inviobenvenuto AS InvioBenvenuto,data_fineavanzato as DataFineAvanzato + FROM c6mart.gestione_pdf_ftp pdf + left join c6mart.vcontratti vc + ON SUBSTRING(pdf.NomeFile, 1, 11) = vc.codicecontratto + left join c6mart.contrattosei_metadati md + ON md.chiaveclientepb = vc.chiaveclientepb + --WHERE md.inviobenvenuto = 'S' and data_fineavanzato > getdate() + ------where datagenerazione<='2016-08-19 12:44:37.497' --en 20160922 temporaneo + ) pdf2 + ) l + WHERE ( ordine = 1 and upgrade = 0 and InvioBenvenuto='S' and DataFineAvanzato > getdate() ) + OR + ( ordine = 2 and upgrade = 1 ) +-- EN20160405-start: Soluzione per Ticket T-1396128-M1Y0 + OR + ( ordine = 1 and upgrade = 1 and SUBSTRING(NomeFile, 1, 11)='013614CO205' ) + --forzatura per CRVRRT74P02L675V + --union all + --select '2013-10-18 13:54:50.883' as data,'002249CB000' as codiceContratto,'1' as definitivo,getDate() AS dataAggiornamento + --fine forzatura per CRVRRT74P02L675V +-- EN20160405-end: +-- COMMIT TRANSACTION +-- +--END TRY +-- +--BEGIN CATCH +-- ROLLBACK TRANSACTION +-- DECLARE @Msg NVARCHAR(MAX) +-- SELECT @Msg=ERROR_MESSAGE() +-- RAISERROR('Descrizione errore: %s', 20, 101,@msg) WITH LOG +--END CATCH +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_rp_aggiornaDataValidazione_20160405.sql b/sql/storedProduzione/C6Mart_rp_aggiornaDataValidazione_20160405.sql new file mode 100644 index 00000000..e35c5fed --- /dev/null +++ b/sql/storedProduzione/C6Mart_rp_aggiornaDataValidazione_20160405.sql @@ -0,0 +1,95 @@ +CREATE procedure [C6Mart].[rp_aggiornaDataValidazione_20160405] +AS +begin +/* +delete from [CONSEVO].ConsulenzaBaseFL.[dbo].CBS_STAMPAREPORT_TEST +insert into [CONSEVO].ConsulenzaBaseFL.[dbo].CBS_STAMPAREPORT_TEST +select + DataGenerazione as data, + SUBSTRING(NomeFile, 1, 11) as codiceContratto, --SUBSTRING(NomeFile, 0, 12) + case + when (id_fk_zip = -1) then 0 + else 1 + end as definitivo, + getDate() as dataAggiornamento +from +( + select + datagenerazione, nomefile,id_fk_zip, + row_number() over (partition by SUBSTRING(NomeFile, 1, 11) order by datagenerazione desc ) pippo from --SUBSTRING(NomeFile, 0, 12) + c6mart.gestione_pdf_ftp + --where SUBSTRING(NomeFile, 1, 11) in ('001771CO205') --SUBSTRING(NomeFile, 0, 12) +)l where pippo =1 +*/ +--delete from [CONSEVO].ConsulenzaBaseFL.[dbo].CBS_STAMPAREPORT +--insert into [CONSEVO].ConsulenzaBaseFL.[dbo].CBS_STAMPAREPORT +--select +-- DataGenerazione as data, +-- SUBSTRING(NomeFile, 1, 11) as codiceContratto, --SUBSTRING(NomeFile, 0, 12) +-- case +-- when (id_fk_zip = -1) then 0 +-- else 1 +-- end as definitivo, +-- getDate() as dataAggiornamento +--from +--( +-- select +-- datagenerazione, +-- nomefile, +-- id_fk_zip, +-- row_number() over (partition by SUBSTRING(NomeFile, 1, 11) order by datagenerazione desc ) as ordine, --SUBSTRING(NomeFile, 0, 12) +-- upgrade +-- from (select pdf.*,case when md.TIP_riattivazione = 2 then 1 else 0 end upgrade +-- from c6mart.gestione_pdf_ftp pdf +-- left join c6mart.vcontratti vc +-- on SUBSTRING(pdf.NomeFile, 1, 11) = vc.codicecontratto --SUBSTRING(pdf.NomeFile, 0, 12) +-- left join c6mart.contrattosei_metadati md +-- on md.chiaveclientepb = vc.chiaveclientepb) pdf2 +--) l +--where ( ordine = 1 and upgrade = 0 ) or (ordine = 2 and upgrade = 1) +--BEGIN TRANSACTION +-- BEGIN TRY + DELETE FROM [CONSEVO].ConsulenzaBaseFL.[dbo].CBS_STAMPAREPORT + INSERT INTO [CONSEVO].ConsulenzaBaseFL.[dbo].CBS_STAMPAREPORT + SELECT + DataGenerazione AS data, + SUBSTRING(NomeFile, 1, 11) AS codiceContratto, --SUBSTRING(NomeFile, 0, 12) + CASE + WHEN (id_fk_zip = -1) THEN 0 + ELSE 1 + END AS definitivo, + getDate() AS dataAggiornamento + FROM + ( + SELECT + datagenerazione, + nomefile, + id_fk_zip, + row_number() over (partition by SUBSTRING(NomeFile, 1, 11) order by datagenerazione desc ) as ordine, --SUBSTRING(NomeFile, 0, 12) + upgrade, + InvioBenvenuto, + DataFineAvanzato + FROM ( + SELECT pdf.*,CASE WHEN md.TIP_riattivazione = 2 THEN 1 ELSE 0 END upgrade ,md.inviobenvenuto AS InvioBenvenuto,data_fineavanzato as DataFineAvanzato + FROM c6mart.gestione_pdf_ftp pdf + left join c6mart.vcontratti vc + ON SUBSTRING(pdf.NomeFile, 1, 11) = vc.codicecontratto + left join c6mart.contrattosei_metadati md + ON md.chiaveclientepb = vc.chiaveclientepb + --WHERE md.inviobenvenuto = 'S' and data_fineavanzato > getdate() + ) pdf2 + ) l + WHERE ( ordine = 1 and upgrade = 0 and InvioBenvenuto='S' and DataFineAvanzato > getdate() ) + OR + ( ordine = 2 and upgrade = 1 ) +-- COMMIT TRANSACTION +-- +--END TRY +-- +--BEGIN CATCH +-- ROLLBACK TRANSACTION +-- DECLARE @Msg NVARCHAR(MAX) +-- SELECT @Msg=ERROR_MESSAGE() +-- RAISERROR('Descrizione errore: %s', 20, 101,@msg) WITH LOG +--END CATCH +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_sp_getDatiReport.sql b/sql/storedProduzione/C6Mart_sp_getDatiReport.sql new file mode 100644 index 00000000..ed0c0533 --- /dev/null +++ b/sql/storedProduzione/C6Mart_sp_getDatiReport.sql @@ -0,0 +1,32 @@ +CREATE procedure [C6Mart].[sp_getDatiReport] +AS +BEGIN +select + Contratti.codicecontratto as codiceContratto , + pdf.rete as rete , + pdf.codicefiscale as codiceFiscale , + clienti.nome as nomeCliente , + clienti.cognome as cognomeCliente, + pdf.TipoReport as TipoReport, + pdf.idReport as IdReport , + contratti.cod_agente as codAgente , + isnull(promot.nome,'') as nomeAgente , + isnull(promot.Cognome,'') as cognomeAgente , + pdf.numeropagine as numeroPagine , + pdf.NomeFile as NomeFile, + contratti.tip_contratto tipoContratto, + id_fk_zip, + pdf.IDReport as identityReport +from [C6Mart].[GESTIONE_PDF_FTP] PDF + inner join [C6Mart].[ANAG_CLIENTI] Clienti + on pdf.rete=clienti.rete and pdf.codicefiscale=clienti.COD_FISCALE + inner join c6mart.vContratti Contratti + on contratti.rete=pdf.rete and contratti.cod_fiscale= pdf.codicefiscale + left join [C6Mart].[ANAG_Promotori] promot + on contratti.rete=promot.rete and contratti.cod_agente= promot.id_promotore + inner join dbo.reportDainserire_recupero rep + on pdf.IDReport = rep.identificativo +where + pdf.DataGenerazione = rep.Data +--order by IdentityReport +End \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_temp_RP_DM_GestioneEmail.sql b/sql/storedProduzione/C6Mart_temp_RP_DM_GestioneEmail.sql new file mode 100644 index 00000000..47ef0316 --- /dev/null +++ b/sql/storedProduzione/C6Mart_temp_RP_DM_GestioneEmail.sql @@ -0,0 +1,226 @@ +--delete from c6mart.gestione_Email where data_Generazione > getDate()-1 +--truncate table log_esecuzione +--select * from log_esecuzione +CREATE procedure [C6Mart].[temp_RP_DM_GestioneEmail] +AS +BEGIN +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- PERFEZIONAMENTO; +-- MANCATA MIGRAZIONE; +-- REINVIO SOLLECITO MANCATA MIGRAZIONE. +--LA GESTIONE DELLE EMAIL PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO O +--PER REINVIO DEL SOLLECITO PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO +--VIENE FATTA DOPO L'ALLINEAMENTO CON I DATI DEL SIMPB +--ESTRAZIONE EMAIL PERFEZIONAMENTO +--TIPO EMAIL: "PERF" +--L'EMAIL VIENE INVIATA PER TUTTI I CLIENTI CHE HANNO DATA DI PERFEZIONAMENTO VALORIZZATA +--IL CONTROLLO SULLA DATA DI GENERAZIONE >= DELLA DATA DI PERFEZIONAMENTO E' DOVUTO AL +--FATTO CHE IL CONTRATTO PUO` ESSERE CHIUSO E RIAPERTO ED IN QUESTO CASO LA MAIL DI PERFEZIONAMENTO +--DEVE ESSERE REINVIATA +-- EMAIL DI ADESIONE AL SERVIZIO SEI +-- TIPO EMAIL 'PERF' +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @ID_ELAB INT +DECLARE @MaxInvioSoll as SMALLINT +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') as smallint) +SET @ID_ELAB = C6MART.GETIDELAB() +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) --7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint) --7 +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - Mail Perf',GETDATE(),'Elaborazione giornaliera') +--0. MODIFICO I RECORD IN GESTIONE EMAIL CON TIPO = PERF PER EVITARE IL REINVIO MULTIPLO A SEGUITO DELLA RIATTIVAZIONE +UPDATE C6MART.GESTIONE_EMAIL +SET TIPO = 'OLD' +FROM C6MART.Gestione_EMAIL EMAIL + INNER JOIN C6MART.VCONTRATTI VC + ON VC.COD_FISCALE = EMAIL.COD_FISCALE + AND VC.rete = EMAIL.RETE + AND EMAIL.TIPO = 'PERF' + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC + ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB + AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO = '9999-12-31 00:00:00.000' + AND MC.Tip_riattivazione = 1 +--1. INSERIMENTO MAIL DI "PERFEZIONAMENTO" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- NON PRESENTI SU GESTIONE_EMAIL +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione, ID_ELAB) +SELECT + VC.Rete, + VC.Cod_Fiscale, + 'PERF' as TipoEmail, + GETDATE() AS DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6Mart.VCONTRATTI VC +INNER JOIN C6Mart.CONTRATTOSEI_METADATI MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb +LEFT JOIN C6Mart.GESTIONE_EMAIL EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + AND EMAIL.TIPO = 'PERF' + AND EMAIL.Data_Generazione >= VC.Data_Perf -- CONDIZIONE PER ESCLUDERE DAL JOIN UN CONTRATTO CHIUSO E RIAPERTO. +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF -- IN QUESTO MODO LO INSERIAMO NUOVAMENTE IN GESTIONE_MAIL. + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + --AND VC.InvioBenvenuto = 'N' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND EMAIL.COD_FISCALE IS NULL + AND PF.RETE IS NULL +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'INSERT',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf' AND + Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf') +INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - SollecitiNOMIG',GETDATE(),'Elaborazione giornaliera') +-- 2. INSERIMENTO MAIL "SOLLECITI" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE +-- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO è NULL -> CONSIDERIAMO DATA_PERF +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT + VC.rete, + VC.cod_fiscale, + CASE + WHEN ISNULL(MD.numSolleciti,0) = 0 THEN '1_SOLL_NOMIG' + WHEN MD.numSolleciti = 1 THEN '2_SOLL_NOMIG' + WHEN MD.numSolleciti = 2 THEN '3_SOLL_NOMIG' + ELSE 'S_SOLL_NOMIG' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6Mart.VCONTRATTI VC +INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb +--LEFT JOIN C6MART.GESTIONE_EMAIL EMAIL +-- ON VC.RETE = EMAIL.RETE +-- AND VC.COD_FISCALE = EMAIL.COD_FISCALE + --AND EMAIL.DATA_GENERAZIONE < getDate() +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'N' + AND MD.InvioBenvenuto = 'N' + AND VC.Data_FineAvanzato > getDate() +-- AND (EMAIL.COD_FISCALE IS NULL OR EMAIL.INVIATA = 'S') + AND PF.RETE IS NULL + AND VC.COD_FISCALE = 'TSSDNI82P44A984U' +-- 2.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" +-- AUMENTIAMO IL NUMERO numSolleciti +-- AGGIORNIAMO LA DATA Data_UltimoSollecito +UPDATE + c6mart.[CONTRATTOSEI_METADATI] +SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() +FROM C6Mart.vcontratti VC +INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'N' + AND MD.InvioBenvenuto = 'N' -- richiesto da Tringali per non inviare mail se report già inviato + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + AND VC.COD_FISCALE = 'TSSDNI82P44A984U' +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'UPDATE',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - SollecitiNOMIG' AND Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - SollecitiNOMIG') +INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - Mail Revoca',GETDATE(),'Elaborazione giornaliera') +-- 3. INSERIMENTO MAIL "REVOCA" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE DOPO @MaxInvioSoll SOLLECITI +-- N.B. OCCHIO ALLA CONDIZIONE -> (c6.clienteMigrato = 'N' AND numSolleciti = @MaxInvioSoll) OR numSolleciti > @MaxInvioSoll +-- OVVERO: BUONA LA MIGRAZIONE EFFETTUATA DOPO L'ULTIMO SOLLECITO MA NON DOPO LA PRIMA REVOCA +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOMIG' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB --max(Data_Generazione) +FROM C6Mart.vcontratti VC +INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb +INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOMIG','REVOCA_NOMIG') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.clienteMigrato = 'N')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + AND VC.COD_FISCALE = 'TSSDNI82P44A984U' +GROUP BY email.rete, email.cod_fiscale +-- 3.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "REVOCA" +-- AUMENTIAMO IL NUMERO numSolleciti +-- NON AGGIORNIAMO LA DATA Data_UltimoSollecito +-- N.B. VERIFICARE SE IL CAMPO Data_UltimoSollecito VA AGGIORNATO +UPDATE c6mart.[CONTRATTOSEI_METADATI] +SET + numRevoche = isnull(numRevoche,0) + 1, + data_UltimaRevoca = getDate() +FROM C6Mart.vcontratti VC +INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb +INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOMIG','REVOCA_NOMIG') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.clienteMigrato = 'N')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + AND VC.COD_FISCALE = 'TSSDNI82P44A984U' +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'INSERT',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - Mail Revoca' AND Inizio = ( + SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - Mail Revoca') +COMMIT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_zzzPL_D2_S150Anagrafica.sql b/sql/storedProduzione/C6Mart_zzzPL_D2_S150Anagrafica.sql new file mode 100644 index 00000000..c031618e --- /dev/null +++ b/sql/storedProduzione/C6Mart_zzzPL_D2_S150Anagrafica.sql @@ -0,0 +1,91 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[zzzPL_D2_S150Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + --V Indirizzo Secondo AULETTA + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_INZIOAVANZATO) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + null AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + CONTRATTOSEI.[Provincia] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.VCONTRATTI AS CONTRATTOSEI -- TABELLA BASE + INNER JOIN + C6MART.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MART.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + LEFT JOIN + C6MART.ANAG_CLIENTI_PREV + ON + ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + LEFT JOIN + C6MART.DATI_REPORT + ON + ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + WHERE 1 = 1 + AND ANAG_CLIENTI.RETE = @RETE + AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_zzzPL_D2_S168TabellaEmittenti.sql b/sql/storedProduzione/C6Mart_zzzPL_D2_S168TabellaEmittenti.sql new file mode 100644 index 00000000..158152c5 --- /dev/null +++ b/sql/storedProduzione/C6Mart_zzzPL_D2_S168TabellaEmittenti.sql @@ -0,0 +1,396 @@ +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6Mart].[PL_D_S168TabellaEmittenti] 'F','FF@7181' +CREATE procedure [C6Mart].[zzzPL_D2_S168TabellaEmittenti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS, + RATING + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +--RATING as RATING +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +--RATING as RATING +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V +LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS, +RATING +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10 +--RATING +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_zzzPL_D_S157ConfrontoPiramidi.sql b/sql/storedProduzione/C6Mart_zzzPL_D_S157ConfrontoPiramidi.sql new file mode 100644 index 00000000..0a23399c --- /dev/null +++ b/sql/storedProduzione/C6Mart_zzzPL_D_S157ConfrontoPiramidi.sql @@ -0,0 +1,203 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6Mart].[PL_D_S157ConfrontoPiramidi] 'F','CMRCST54E45B300G' +CREATE procedure [C6Mart].[zzzPL_D_S157ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MART.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + LEFT(ID_AREA,3) AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MART.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + OR (PIRAMIDE_MOD.ID_AREA = 'INV')) -- AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc') + --V + DECLARE @TOTCC AS INT + SELECT @TOTCC = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND TIPO_PRODOTTO = 'Cc' + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCC = @TOT THEN 0.00 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + WHEN (@TOTCC <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'jjn.c.' + --V SOLO CC -> VAR = 0 + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCC = @TOT THEN NULL + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCC = @TOT THEN NULL + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MART.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + END + ) + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_zzzPL_D_S170RischioDiversificazione.sql b/sql/storedProduzione/C6Mart_zzzPL_D_S170RischioDiversificazione.sql new file mode 100644 index 00000000..bfe316bd --- /dev/null +++ b/sql/storedProduzione/C6Mart_zzzPL_D_S170RischioDiversificazione.sql @@ -0,0 +1,70 @@ +CREATE procedure [C6Mart].[zzzPL_D_S170RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @contaCC as int + select @contaCC = count(*) + from C6MART.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from C6MART.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete +SELECT + K.COD_FISCALE, + K.RETE, + K.CTV_AGGREG, + K.CREDITRISK, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END +as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Banca Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM C6MART.RISCHIO_AGGREGATO K +left outer JOIN C6MART.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete +left outer join C6MART.CODIFICA_RISCHIO b + ON A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_zzzQUALITY_CARATTERIVCONTRATTI.sql b/sql/storedProduzione/C6Mart_zzzQUALITY_CARATTERIVCONTRATTI.sql new file mode 100644 index 00000000..db875103 --- /dev/null +++ b/sql/storedProduzione/C6Mart_zzzQUALITY_CARATTERIVCONTRATTI.sql @@ -0,0 +1,217 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[zzzQUALITY_CARATTERIVCONTRATTI] +AS +BEGIN +declare @num int +set @num = 1 +CREATE TABLE #tab_temp( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL) +set @num = 1 +while @num < 150 +begin + insert into #tab_temp + SELECT ascii(substring(email,@num,1)), + substring(email,@num,1), + rete, + Cod_Fiscale, + 'EMAIL', + email + FROM C6Mart.vcontratti + WHERE + ascii(substring(email,@num,len(email))) not between 64 and 90 + and ascii(substring(email,@num,len(email))) not between 97 and 122 + and ascii(substring(email,@num,len(email))) not between 48 and 57 + and ascii(substring(email,@num,len(email))) <> 32 + and ascii(substring(email,@num,len(email))) <> 40 + and ascii(substring(email,@num,len(email))) <> 41 + and ascii(substring(email,@num,len(email))) <> 43 + and ascii(substring(email,@num,len(email))) <> 44 + and ascii(substring(email,@num,len(email))) <> 45 + and ascii(substring(email,@num,len(email))) <> 46 + and ascii(substring(email,@num,len(email))) <> 95 + and ascii(substring(email,@num,len(email))) <> 39 + and ascii(substring(email,@num,len(email))) <> 47 + and ascii(substring(email,@num,len(email))) <> 63 + set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin + insert into #tab_temp + SELECT ascii(substring(Indirizzo,@num,1)), + substring(Indirizzo,@num,1), + rete, + Cod_Fiscale, + 'INDIRIZZO', + Indirizzo + FROM C6Mart.vcontratti + WHERE + ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 64 and 90 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 97 and 122 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 48 and 57 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 32 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 40 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 41 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 43 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 44 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 45 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 46 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 95 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 39 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 47 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 63 + set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin + insert into #tab_temp + SELECT ascii(substring(CAP,@num,1)), + substring(CAP,@num,1), + rete, + Cod_Fiscale, + 'CAP', + CAP + FROM C6Mart.vcontratti + WHERE + ascii(substring(CAP,@num,len(CAP))) not between 64 and 90 + and ascii(substring(CAP,@num,len(CAP))) not between 97 and 122 + and ascii(substring(CAP,@num,len(CAP))) not between 48 and 57 + and ascii(substring(CAP,@num,len(CAP))) <> 32 + and ascii(substring(CAP,@num,len(CAP))) <> 40 + and ascii(substring(CAP,@num,len(CAP))) <> 41 + and ascii(substring(CAP,@num,len(CAP))) <> 43 + and ascii(substring(CAP,@num,len(CAP))) <> 44 + and ascii(substring(CAP,@num,len(CAP))) <> 45 + and ascii(substring(CAP,@num,len(CAP))) <> 46 + and ascii(substring(CAP,@num,len(CAP))) <> 95 + and ascii(substring(CAP,@num,len(CAP))) <> 39 + and ascii(substring(CAP,@num,len(CAP))) <> 47 + and ascii(substring(CAP,@num,len(CAP))) <> 63 + set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin + insert into #tab_temp + SELECT ascii(substring(Citta,@num,1)), + substring(Citta,@num,1), + rete, + Cod_Fiscale, + 'Citta', + Citta + FROM C6Mart.vcontratti + WHERE + ascii(substring(Citta,@num,len(Citta))) not between 64 and 90 + and ascii(substring(Citta,@num,len(Citta))) not between 97 and 122 + and ascii(substring(Citta,@num,len(Citta))) not between 48 and 57 + and ascii(substring(Citta,@num,len(Citta))) <> 32 + and ascii(substring(Citta,@num,len(Citta))) <> 40 + and ascii(substring(Citta,@num,len(Citta))) <> 41 + and ascii(substring(Citta,@num,len(Citta))) <> 43 + and ascii(substring(Citta,@num,len(Citta))) <> 44 + and ascii(substring(Citta,@num,len(Citta))) <> 45 + and ascii(substring(Citta,@num,len(Citta))) <> 46 + and ascii(substring(Citta,@num,len(Citta))) <> 95 + and ascii(substring(Citta,@num,len(Citta))) <> 39 + and ascii(substring(Citta,@num,len(Citta))) <> 47 + and ascii(substring(Citta,@num,len(Citta))) <> 63 + set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Provincia,@num,1)), + substring(Citta,@num,1), + rete, + Cod_Fiscale, + 'Provincia', + Provincia +FROM C6Mart.vcontratti +WHERE + ascii(substring(Provincia,@num,len(Provincia))) not between 64 and 90 +and ascii(substring(Provincia,@num,len(Provincia))) not between 97 and 122 +and ascii(substring(Provincia,@num,len(Provincia))) not between 48 and 57 +and ascii(substring(Provincia,@num,len(Provincia))) <> 32 +and ascii(substring(Provincia,@num,len(Provincia))) <> 40 +and ascii(substring(Provincia,@num,len(Provincia))) <> 41 +and ascii(substring(Provincia,@num,len(Provincia))) <> 43 +and ascii(substring(Provincia,@num,len(Provincia))) <> 44 +and ascii(substring(Provincia,@num,len(Provincia))) <> 45 +and ascii(substring(Provincia,@num,len(Provincia))) <> 46 +and ascii(substring(Provincia,@num,len(Provincia))) <> 95 +and ascii(substring(Provincia,@num,len(Provincia))) <> 39 +and ascii(substring(Provincia,@num,len(Provincia))) <> 47 +and ascii(substring(Provincia,@num,len(Provincia))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Nazione,@num,1)), + substring(Nazione,@num,1), + rete, + Cod_Fiscale, + 'Nazione', + Nazione +FROM C6Mart.vcontratti +WHERE + ascii(substring(Nazione,@num,len(Nazione))) not between 64 and 90 +and ascii(substring(Nazione,@num,len(Nazione))) not between 97 and 122 +and ascii(substring(Nazione,@num,len(Nazione))) not between 48 and 57 +and ascii(substring(Nazione,@num,len(Nazione))) <> 32 +and ascii(substring(Nazione,@num,len(Nazione))) <> 40 +and ascii(substring(Nazione,@num,len(Nazione))) <> 41 +and ascii(substring(Nazione,@num,len(Nazione))) <> 43 +and ascii(substring(Nazione,@num,len(Nazione))) <> 44 +and ascii(substring(Nazione,@num,len(Nazione))) <> 45 +and ascii(substring(Nazione,@num,len(Nazione))) <> 46 +and ascii(substring(Nazione,@num,len(Nazione))) <> 95 +and ascii(substring(Nazione,@num,len(Nazione))) <> 39 +and ascii(substring(Nazione,@num,len(Nazione))) <> 47 +and ascii(substring(Nazione,@num,len(Nazione))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Presso,@num,1)), + substring(Presso,@num,1), + rete, + Cod_Fiscale, + 'Presso', + Presso +FROM C6Mart.vcontratti +WHERE + ascii(substring(Presso,@num,len(Presso))) not between 64 and 90 +and ascii(substring(Presso,@num,len(Presso))) not between 97 and 122 +and ascii(substring(Presso,@num,len(Presso))) not between 48 and 57 +and ascii(substring(Presso,@num,len(Presso))) <> 32 +and ascii(substring(Presso,@num,len(Presso))) <> 40 +and ascii(substring(Presso,@num,len(Presso))) <> 41 +and ascii(substring(Presso,@num,len(Presso))) <> 43 +and ascii(substring(Presso,@num,len(Presso))) <> 44 +and ascii(substring(Presso,@num,len(Presso))) <> 45 +and ascii(substring(Presso,@num,len(Presso))) <> 46 +and ascii(substring(Presso,@num,len(Presso))) <> 95 +and ascii(substring(Presso,@num,len(Presso))) <> 39 +and ascii(substring(Presso,@num,len(Presso))) <> 47 +and ascii(substring(Presso,@num,len(Presso))) <> 63 +set @num = @num + 1 +end + select * from #tab_temp a +--inner join c6mart.gestione_pdf_ftp b on a.rete=b.rete and a.cod_fiscale=b.codicefiscale +--where flaginvio = 'N' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_zzzRP_DM_GestioneEmailNA.sql b/sql/storedProduzione/C6Mart_zzzRP_DM_GestioneEmailNA.sql new file mode 100644 index 00000000..172ba644 --- /dev/null +++ b/sql/storedProduzione/C6Mart_zzzRP_DM_GestioneEmailNA.sql @@ -0,0 +1,248 @@ +-- ============================================= +-- Author: +-- Create date: <17/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[zzzRP_DM_GestioneEmailNA] +AS +BEGIN +--INSERT INTO C6MART.LogVcontrattiseiAnd +-- select getdate()as dtstamp,* from c6mart.vcontrattisei where cod_fiscale + rete in (SELECT COD_FISCALE+RETE FROM C6MART.TestEmailAnd) +--EXECUTE C6Mart.RP_DM_GestioneEmailNA_AND +BEGIN TRANSACTION +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)--7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT)--12 +SET @ID_ELAB = C6MART.GETIDELAB() +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'RP_DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' +) +-- 1. INSERIMENTO MAIL "SOLLECITI" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA EFFETTUATO L'ASSOCIAZIONE DELLE RISORSE + -- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO è NULL -> CONSIDERIAMO DATA_PERF + INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + VC.rete, + VC.cod_fiscale, + CASE + WHEN ISNULL(numSolleciti,0) = 0 THEN '1_SOLL_NOASS' + WHEN numSolleciti = 1 THEN '2_SOLL_NOASS' + WHEN numSolleciti = 2 THEN '3_SOLL_NOASS' + ELSE 'S_SOLL_NOASS' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'S' + AND MD.risorseNA = 'S' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + AND VC.COD_FISCALE + VC.RETE NOT IN (SELECT COD_FISCALE+RETE FROM C6MART.TestEmailAnd) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNA' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 1.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" + -- AUMENTIAMO IL NUMERO numSolleciti + -- AGGIORNIAMO LA DATA Data_UltimoSollecito + UPDATE + c6mart.CONTRATTOSEI_METADATI + SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'S' + AND MD.risorseNA = 'S' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + AND VC.COD_FISCALE + VC.RETE NOT IN (SELECT COD_FISCALE+RETE FROM C6MART.TestEmailAnd) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNA' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 2. INSERIMENTO MAIL "REVOCA" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA EFFETTUATO L'ASSOCIAZIONE DELLE RISORSE DOPO @MaxInvioSoll SOLLECITI + -- N.B. OCCHIO ALLA CONDIZIONE -> (c6.risorseNA = 'N' AND numSolleciti = @MaxInvioSoll) OR numSolleciti > @MaxInvioSoll + -- OVVERO: BUONA L'ASSOCIAZIONE DELLE RISORSE EFFETTUATA DOPO L'ULTIMO SOLLECITO MA NON DOPO LA PRIMA REVOCA + INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOASS' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB --max(Data_Generazione) + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOASS','REVOCA_NOASS') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.risorseNA = 'S')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + AND VC.COD_FISCALE + VC.RETE NOT IN (SELECT COD_FISCALE+RETE FROM C6MART.TestEmailAnd) + GROUP BY email.rete, email.cod_fiscale + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNA' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 2.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "REVOCA" + -- AUMENTIAMO IL NUMERO numSolleciti + -- NON AGGIORNIAMO LA DATA Data_UltimoSollecito + -- N.B. VERIFICARE SE IL CAMPO Data_UltimoSollecito VA AGGIORNATO + UPDATE c6mart.[CONTRATTOSEI_METADATI] + SET + numRevoche = isnull(numRevoche,0) + 1, + data_UltimaRevoca = getDate() + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOASS','REVOCA_NOASS') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.risorseNA = 'S')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + AND VC.COD_FISCALE + VC.RETE NOT IN (SELECT COD_FISCALE+RETE FROM C6MART.TestEmailAnd) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNA' + ) +COMMIT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_zzzSRV_CHECK_C6_GIORNALIERO_AND.sql b/sql/storedProduzione/C6Mart_zzzSRV_CHECK_C6_GIORNALIERO_AND.sql new file mode 100644 index 00000000..28f360dc --- /dev/null +++ b/sql/storedProduzione/C6Mart_zzzSRV_CHECK_C6_GIORNALIERO_AND.sql @@ -0,0 +1,427 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[zzzSRV_CHECK_C6_GIORNALIERO_AND] +AS +BEGIN + SET NOCOUNT ON; +SELECT DISTINCT * INTO #TEST_QUALITY FROM ( +SELECT *,12 AS ISLOG FROM C6MART.TEST_QUALITY +UNION +SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'Cliente con VaR discordante '+ convert(varchar,RA.VAR_PERC_PTF) + ' ' + convert(varchar,VC.VAR_COMPLESSIVO_BF) AS MOTIVO,0 +FROM + C6Mart.RISCHIO_AGGREGATO AS RA + INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE +WHERE + RA.COD_AGGREG = 'COMPLESSIVO|BF' + AND ABS(RA.VAR_PERC_PTF - VC.VAR_COMPLESSIVO_BF) > 0.02 + AND (VC.FiduMulitMand = 'N') +UNION +SELECT DISTINCT RETE,COD_FISCALE,'Indirizzo più lunghi di 36 caratteri' AS MOTIVO,6 +FROM C6Mart.vcontrattisei +WHERE data_fineavanzato > GETDATE() + AND isnull(numrevoche,0) = 0 + AND inviobenvenuto = 'N' + AND LEN(Indirizzo) > 36 +UNION + SELECT DISTINCT RETE,CODICEFISCALE + ,'Prodotto non a catalogo ' + isnull(codiceContratto,'') +', '+ ltrim(rtrim(isnull(codiceinterno,''))) + '/'+ ltrim(rtrim(isnull(codicesottoprodotto,''))) + '/'+ ltrim(rtrim(isnull(codicemaf,''))) + '/'+ ltrim(rtrim(isnull(isin,''))) As motivo ,7 +FROM C6Staging.SPB_CONTR_SINTESI WHERE POSITIONID IS NULL +UNION +SELECT DISTINCT CM.Rete,CM.Cod_Fiscale,'Cliente senza righe Contratto Sintesi' AS MOTIVO,8 +FROM C6Mart.RP_VContrattiMigrati CM +LEFT JOIN C6Staging.SPB_CONTR_SINTESI CS +ON CM.Cod_Fiscale = CS.CODICEFISCALE AND CM.RETE = CS.RETE +WHERE CS.CODICEFISCALE IS NULL +UNION +SELECT DISTINCT PB.RETE,PB.COD_FISCALE,'Cliente senza data sottoscrizione ' + dbo.toShortDateString(PB.ID_CONTRATTO) AS MOTIVO,9 + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.PATRIMONIO_BF AS PB + ON C.Rete = PB.RETE + AND C.Cod_Fiscale = PB.COD_FISCALE + INNER JOIN C6Mart.RISCHIO_AGGREGATO AS RA + ON PB.RETE = RA.RETE + AND PB.COD_FISCALE = RA.COD_FISCALE + WHERE + PB.DATA_SOTTOSCRIZIONE IS NULL + AND PB.TIPO_PRODOTTO = 'DT' +UNION +SELECT DISTINCT VC.Rete,VC.Cod_Fiscale,'Cliente senza piramide modello' AS MOTIVO,10 +FROM C6Mart.vcontrattiSEI VC + LEFT JOIN C6Mart.PIRAMIDE_MOD PM + ON VC.Cod_Fiscale=PM.Cod_Fiscale AND VC.RETE=PM.RETE +WHERE + VC.Data_FineAvanzato > getDate() + AND VC.inviobenvenuto = 'N' + AND VC.clientemigrato = 'S' + AND VC.risorseNA = 'N' + AND VC.profiloAttivo = 1 + AND DATEDIFF(d, VC.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND ISNULL(VC.NUMREVOCHE,0) = 0 + AND PM.Cod_Fiscale IS NULL +UNION +SELECT DISTINCT CM.RETE,CM.Cod_Fiscale,'Cliente senza righe profilo MIFID' AS MOTIVO,11 +FROM C6Mart.RP_VContrattiMigrati CM +LEFT JOIN C6Staging.SPB_MIFID MD +ON CM.Cod_Fiscale = MD.CODICEFISCALE AND CM.RETE = MD.RETE +WHERE MD.CODICEFISCALE IS NULL +) T +INSERT INTO #TEST_QUALITY +SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'Cliente con VaR discordante '+ convert(varchar,RA.VAR_PERC_PTF) + ' ' + convert(varchar,VC.VAR_COMPLESSIVO_BF) + CASE WHEN VC.FiduMulitMand = 'S' THEN ' FiduMulitMand' ELSE ' ' END AS MOTIVO,5 +FROM + C6Mart.RISCHIO_AGGREGATO AS RA + INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE +WHERE + RA.COD_AGGREG = 'COMPLESSIVO|BF' + AND ABS(RA.VAR_PERC_PTF - VC.VAR_COMPLESSIVO_BF) <> 0.00 +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in EMAIL' AS MOTIVO,12 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](email) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in INDIRIZZO' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](Indirizzo) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in CAP' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](CAP) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in Citta' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](Citta) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in Provincia' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](Provincia) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in Nazione' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](Nazione) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in Presso' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](Presso) = 'S' and data_fineavanzato > getdate() + SELECT + Tipo + ,CASE Tipo + WHEN 'PERF' THEN 'Perfezionamento' + WHEN '1_SOLL_NOASS' THEN '1º sollecito risorse non associate' + WHEN '2_SOLL_NOASS' THEN '2º sollecito risorse non associate' + WHEN '3_SOLL_NOASS' THEN '3º sollecito risorse non associate' + WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + WHEN '1_SOLL_NOMIG' THEN '1º sollecito cliente non migrato' + WHEN '2_SOLL_NOMIG' THEN '2º sollecito cliente non migrato' + WHEN '3_SOLL_NOMIG' THEN '3º sollecito cliente non migrato' + WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + WHEN '1_SOLL_NOPRO' THEN '1º sollecito profilo non attivo' + WHEN '2_SOLL_NOPRO' THEN '2º sollecito profilo non attivo' + WHEN '3_SOLL_NOPRO' THEN '3º sollecito profilo non attivo' + WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + END AS DescTipo + ,CASE Tipo + WHEN 'PERF' THEN 1 + WHEN '1_SOLL_NOMIG' THEN 2 + WHEN '2_SOLL_NOMIG' THEN 3 + WHEN '3_SOLL_NOMIG' THEN 4 + WHEN 'S_SOLL_NOMIG' THEN 5 + WHEN 'REVOCA_NOMIG' THEN 6 + WHEN '1_SOLL_NOASS' THEN 7 + WHEN '2_SOLL_NOASS' THEN 8 + WHEN '3_SOLL_NOASS' THEN 9 + WHEN 'S_SOLL_NOASS' THEN 10 + WHEN 'REVOCA_NOASS' THEN 11 + WHEN '1_SOLL_NOPRO' THEN 12 + WHEN '2_SOLL_NOPRO' THEN 13 + WHEN '3_SOLL_NOPRO' THEN 14 + WHEN 'S_SOLL_NOPRO' THEN 15 + WHEN 'REVOCA_NOPRO' THEN 16 + END AS Ordine + ,COUNT(Tipo) AS Totale + INTO #EmailInviate + FROM C6Mart.GESTIONE_EMAIL + WHERE Inviata = 'S' + AND dbo.toShortDateString(Data_Invio) = dbo.toShortDateString(GETDATE()) + --AND Data_Invio > '20140320' and Data_Invio < '20140321' + GROUP BY Tipo + SELECT C.rete + ,C.Cod_fiscale + ,C.cod_Agente + ,case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(C.cod_fiscale,4,6) else C.Cod_Fiscale end as cliente + ,C.data_perf + ,Tipo + ,C.ClienteMIGRATO + ,C.RISORSENA + ,C.PROFILOATTIVO + ,row_number() over (partition by C.rete,C.Cod_fiscale ORDER BY CASE Tipo + WHEN 'PERF' THEN 1 + WHEN '1_SOLL_NOMIG' THEN 2 + WHEN '2_SOLL_NOMIG' THEN 3 + WHEN '3_SOLL_NOMIG' THEN 4 + WHEN 'S_SOLL_NOMIG' THEN 5 + WHEN 'REVOCA_NOMIG' THEN 6 + WHEN '1_SOLL_NOASS' THEN 7 + WHEN '2_SOLL_NOASS' THEN 8 + WHEN '3_SOLL_NOASS' THEN 9 + WHEN 'S_SOLL_NOASS' THEN 10 + WHEN 'REVOCA_NOASS' THEN 11 + WHEN '1_SOLL_NOPRO' THEN 12 + WHEN '2_SOLL_NOPRO' THEN 13 + WHEN '3_SOLL_NOPRO' THEN 14 + WHEN 'S_SOLL_NOPRO' THEN 15 + WHEN 'REVOCA_NOPRO' THEN 16 + END) as duplicato + INTO #EmailInviateDett + FROM C6Mart.GESTIONE_EMAIL E INNER JOIN C6MART.VCONTRATTISEI C + ON E.COD_FISCALE = C.COD_FISCALE AND E.RETE=C.RETE + WHERE Inviata = 'S' + AND dbo.toShortDateString(Data_Invio) = dbo.toShortDateString(GETDATE()) + --AND Data_Invio > '20140320' and Data_Invio < '20140321' + SELECT C.rete + ,C.Cod_fiscale + ,C.cod_Agente + ,case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(C.cod_fiscale,4,6) else C.Cod_Fiscale end as cliente + ,C.data_perf + ,'NoInviate' AS Tipo + ,C.ClienteMIGRATO + ,C.RISORSENA + ,C.PROFILOATTIVO + ,row_number() over (partition by C.rete,C.Cod_fiscale ORDER BY TIPO) as duplicato + INTO #EmailNoInviateDett + FROM C6Mart.GESTIONE_EMAIL E INNER JOIN C6MART.VCONTRATTISEI C + ON E.COD_FISCALE = C.COD_FISCALE AND E.RETE=C.RETE + WHERE Data_Invio is null + AND dbo.toShortDateString(Data_generazione) = dbo.toShortDateString(GETDATE()) + DECLARE @EMAILNOINVIATE AS INT + SELECT @EMAILNOINVIATE = ISnull(COUNT(*),0) FROM #EmailNoInviateDett + IF @EMAILNOINVIATE > 0 + begin + INSERT INTO #EmailInviate VALUES ('NoInviate','Email non inviate',17,@EMAILNOINVIATE) + INSERT INTO #EmailInviateDett SELECT * FROM #EmailNoInviateDett + end +SELECT + C.Rete, + C.Cod_fiscale, + C.Cod_Agente, + case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(C.cod_fiscale,4,6) else C.Cod_Fiscale end as cliente, + C.Data_Perf + INTO #ReportGenerati + FROM + C6Mart.GESTIONE_PDF_FTP AS GPF + INNER JOIN C6Mart.VCONTRATTI AS C + ON GPF.RETE = C.Rete + AND GPF.CODICEFISCALE = C.Cod_Fiscale + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on C.chiaveclientepb = M.chiaveclientepb + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND Data_FineAvanzato > getDate() +SElECT DISTINCT + V.COD_FISCALE + ,V.RETE + ,V.COD_AGENTE + ,V.piva_fiduciaria + ,V.DATA_PERF + ,V.ClienteMigrato + ,V.RisorseNA + ,V.profiloAttivo + ,V.Data_UltimaRevoca + ,CASE WHEN Q.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END AS TestQuality + ,CASE WHEN DATEDIFF(d, DATA_PERF, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) THEN 'S' ELSE 'N' END AS FinePerf + ,InvioBenvenuto as Generato +INTO #TuttiReport +FROM C6MART.VCONTRATTISEI V +LEFT JOIN #TEST_QUALITY Q + ON V.COD_FISCALE = Q.COD_FISCALE AND V.RETE = Q.RETE +WHERE 1=1 +AND V.INVIOBENVENUTO = 'N' +AND DATA_FINEAVANZATO > getDate() +SELECT * +, 'n.ro giorni trascorsi dal perfezionamento: ' + CONVERT(VARCHAR,DATEDIFF(d,DATA_PERF, GETDATE())) AS Motivo +,CASE when Cod_Fiscale like '%@%' then piva_fiduciaria + ' ' + substring( cod_fiscale,4,6) else Cod_Fiscale end as CLIENTE +INTO #ReportNonGenerati +FROM #TuttiReport WHERE(FINEPERF = 'S') OR (FINEPERF = 'N' AND TestQuality = 'S') +SELECT + Q.RETE + ,Q.COD_FISCALE + ,Q.MOTIVO + ,CASE WHEN Q.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END AS TestQuality + ,CASE WHEN DATEDIFF(d, DATA_PERF, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) THEN 'S' ELSE 'N' END AS FinePerf + ,InvioBenvenuto as Generato + ,Q.ISLOG +INTO #DettReport +FROM #TEST_QUALITY Q +INNER JOIN C6MART.VCONTRATTISEI V + ON V.COD_FISCALE = Q.COD_FISCALE AND V.RETE = Q.RETE + WHERE ISLOG > 0 +UNION +SELECT rete,COD_FISCALE,'In attesa di gestione Revoca 'AS MOTIVO,TestQuality,FinePerf, Generato,1 as ISLOG from #ReportNonGenerati WHERE Data_UltimaRevoca IS NOT NULL +UNION +SELECT rete,COD_FISCALE,'Cliente non migrato ' AS MOTIVO,TestQuality,FinePerf,Generato,2 as ISLOG from #ReportNonGenerati WHERE isnull(ClienteMigrato,'N') = 'N' +UNION +SELECT rete,COD_FISCALE,'Risorse non associate ' AS MOTIVO,TestQuality,FinePerf,Generato,3 as ISLOG from #ReportNonGenerati WHERE isnull(RisorseNA,'S') = 'S' +UNION +SELECT rete,COD_FISCALE,'Profilo non attivo ' AS MOTIVO,TestQuality,FinePerf,Generato,4 as ISLOG from #ReportNonGenerati WHERE isnull(profiloAttivo,0) = 0 +-- SELECT * FROM #EmailInviateDett +-- SELECT * FROM #EmailInviate +-- SELECT * FROM #TEST_QUALITY +-- SELECT * FROM #TuttiReport where cod_fiscale = 'VCCGPP46D06F205X' +-- SELECT * FROM #ReportGenerati where cod_fiscale = 'VCCGPP46D06F205X' +-- SELECT * FROM #ReportNonGenerati where cod_fiscale = 'VCCGPP46D06F205X' +-- SELECT * FROM #DettReport where cod_fiscale = 'VCCGPP46D06F205X' +-- SELECT * FROM #EmailInviate +DECLARE @testoMail0 VARCHAR(MAX) +DECLARE @testoMail1 VARCHAR(MAX) +DECLARE @testoMail2 VARCHAR(MAX) +DECLARE @testoMail3 VARCHAR(MAX) +DECLARE @testoMail4 VARCHAR(MAX) +DECLARE @rete CHAR(1) +DECLARE @cod_fiscale CHAR(16) +DECLARE @codiceAgente VARCHAR(6) +DECLARE @cliente VARCHAR(25) +DECLARE @data DATETIME +DECLARE @Motivo VARCHAR(100) +DECLARE @testQuality CHAR(1) +DECLARE @FinePerf CHAR(1) +DECLARE @totale INT + -- [C6Mart].[SRV_CHECK_C6_GIORNALIERO_AND] +set @testoMail0 = '

Rapporto giornaliero

' +set @testoMail1 = ''; +SET @testoMail2 = '' +SET @testoMail3 = '' +SET @testoMail4 = '' +SET @totale = 0 +--********************************************************************************* +--********************************************************************************* +--********************************************************************************* + SET @totale = 0 + SELECT @totale = isnull(sum(totale),0) FROM #EmailInviate + SET @testoMail1 = @testoMail1 + '

' + DECLARE @tipoEmail VARCHAR(100) + DECLARE @DescTipo VARCHAR(100) + DECLARE @totaleEmail VARCHAR(100) + DECLARE @ClienteMIGRATO VARCHAR(1) + DECLARE @RISORSENA VARCHAR(1) + DECLARE @PROFILOATTIVO INT + DECLARE @DUPLICATO INT + DECLARE reader CURSOR FOR SELECT DescTipo,convert(varchar,totale),tipo FROM #EmailInviate ORDER BY Ordine + OPEN reader + FETCH NEXT FROM reader INTO @DescTipo, @totaleEmail,@tipoEmail + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail1 = @testoMail1 +'
E-mail inviate
'+@DescTipo+''+@totaleEmail+'
' + FETCH NEXT FROM reader INTO @DescTipo, @totaleEmail,@tipoEmail + END + SET @testoMail1 = @testoMail1 + 'Totale: ' + CAST(@totale AS VARCHAR) + '' + CLOSE reader + DEALLOCATE reader + DECLARE reader CURSOR FOR SELECT rete,Cod_fiscale, cod_Agente, cliente, data_perf,tipo,ClienteMIGRATO,RISORSENA ,PROFILOATTIVO,DUPLICATO FROM #EmailInviateDett order by DUPLICATO asc + OPEN reader + FETCH NEXT FROM reader INTO @rete, @Cod_Fiscale, @codiceAgente , @cliente, @data,@tipoEmail,@ClienteMIGRATO,@RISORSENA ,@PROFILOATTIVO,@DUPLICATO + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail1 = REPLACE(@testoMail1,'',''+'' +(CASE WHEN @DUPLICATO <> 1 THEN '' ELSE '' END)+ '
'+@rete+''+@codiceAgente+''+@cliente+''+dbo.toShortDateString(@data)+'' + CONVERT(VARCHAR,@DUPLICATO) + 'º email inviata
'); + IF @DUPLICATO = 1 AND @tipoEmail <> 'NoInviate' + BEGIN + IF @PROFILOATTIVO <> 1 + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
Profilo non attivo
'); + IF @RISORSENA <> 'N' + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
Risorse non associate
'); + IF @ClienteMIGRATO <> 'S' + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
Cliente non migrato
'); + IF @PROFILOATTIVO = 1 AND @RISORSENA = 'N' AND @ClienteMIGRATO = 'S' AND @tipoEmail <> 'PERF' + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
Invio Email Errata
'); + END + FETCH NEXT FROM reader INTO @rete, @Cod_Fiscale, @codiceAgente , @cliente, @data,@tipoEmail,@ClienteMIGRATO,@RISORSENA ,@PROFILOATTIVO,@DUPLICATO + END + CLOSE reader + DEALLOCATE reader +--********************************************************************************* +--********************************************************************************* +--********************************************************************************* + SET @totale = 0 + SELECT @totale = COUNT(*) FROM #ReportGenerati + SET @testoMail2 = @testoMail2 + '

' + DECLARE reader CURSOR FOR SELECT rete,Cod_fiscale, cod_Agente, cliente, data_perf FROM #ReportGenerati ORDER BY DATA_PERF + OPEN reader + FETCH NEXT FROM reader INTO @rete,@Cod_fiscale, @codiceAgente, @cliente, @data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail2 = @testoMail2 +'
Report generati
'+@rete+''+@codiceAgente+''+@cliente+''+dbo.toShortDateString(@data)+'
' + FETCH NEXT FROM reader INTO @rete,@Cod_fiscale, @codiceAgente, @cliente, @data + END + SET @testoMail2 = @testoMail2 + 'Totale: ' + CAST(@totale AS VARCHAR) + '' + SET @testoMail0 = @testoMail0 + '
Report generati'+CAST(@totale AS VARCHAR)+'
' + CLOSE reader + DEALLOCATE reader +--********************************************************************************* +--********************************************************************************* +--********************************************************************************* + SET @totale = 0 + SELECT @totale = COUNT(*) FROM #ReportNonGenerati WHERE FINEPERF = 'S' + SET @testoMail3 = @testoMail3 + '

' + DECLARE reader CURSOR FOR SELECT rete, cod_fiscale, cod_Agente, cliente, data_perf, Motivo,testQuality FROM #ReportNonGenerati WHERE FINEPERF = 'S' ORDER BY DATA_PERF + OPEN reader + FETCH NEXT FROM reader INTO @rete, @cod_fiscale, @codiceAgente, @cliente, @data, @Motivo,@testQuality + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail3 = @testoMail3 +'
Report non generati
'+@rete+''+@codiceAgente+''+@cliente+''+dbo.toShortDateString(@data)+''+@Motivo+'
' + FETCH NEXT FROM reader INTO @rete, @cod_fiscale, @codiceAgente, @cliente, @data, @Motivo,@testQuality + END + SET @testoMail3 = @testoMail3 + 'Totale: ' + CAST(@totale AS VARCHAR) + '' + SET @testoMail0 = @testoMail0 + '
Report non generati'+CAST(@totale AS VARCHAR)+'
' + CLOSE reader + DEALLOCATE reader +----********************************************************************************* +----********************************************************************************* +----********************************************************************************* + SET @totale = 0 + DECLARE @totale2 INT + SELECT @totale = COUNT(*) FROM #ReportNonGenerati WHERE FINEPERF = 'N' AND TestQuality = 'S' + SELECT @totale2 = COUNT(*) FROM #TuttiReport WHERE FINEPERF = 'N' + SET @testoMail4 = @testoMail4 + '

' + DECLARE reader CURSOR FOR SELECT rete, cod_fiscale, cod_Agente, cliente, data_perf, Motivo,testQuality FROM #ReportNonGenerati WHERE FINEPERF = 'N' AND TestQuality = 'S' ORDER BY DATA_PERF + OPEN reader + FETCH NEXT FROM reader INTO @rete, @cod_fiscale, @codiceAgente, @cliente, @data, @Motivo,@testQuality + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail4 = @testoMail4 +'
Report errati in Perfezionamento
'+@rete+''+@codiceAgente+''+@cliente+''+dbo.toShortDateString(@data)+''+@Motivo+'
' + FETCH NEXT FROM reader INTO @rete, @cod_fiscale, @codiceAgente, @cliente, @data, @Motivo,@testQuality + END + SET @testoMail4 = @testoMail4 + 'Totale: ' + CAST(@totale AS VARCHAR) + ' su ' + CAST(@totale2 AS VARCHAR) + '' + SET @testoMail0 = @testoMail0 + '
Report errati in Perfezionamento'+ CAST(@totale AS VARCHAR) + ' su ' + CAST(@totale2 AS VARCHAR) +'
' + CLOSE reader + DEALLOCATE reader +----********************************************************************************* +----********************************************************************************* +----********************************************************************************* + DECLARE reader CURSOR FOR SELECT Rete,Cod_Fiscale,Motivo,TestQuality,CASE WHEN generato ='S' THEN 'G' ELSE FinePerf END FinePerf FROM #DettReport order by ISLOG desc + OPEN reader + FETCH NEXT FROM reader INTO @rete, @Cod_Fiscale, @Motivo , @testQuality, @FinePerf + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail2 = REPLACE(@testoMail2,'',''+'
'+@Motivo+'
'); + SET @testoMail3 = REPLACE(@testoMail3,'',''+'
'+@Motivo+'
'); + SET @testoMail4 = REPLACE(@testoMail4,'',''+'
'+@Motivo+'
'); + FETCH NEXT FROM reader INTO @rete, @Cod_Fiscale, @Motivo, @testQuality, @FinePerf + END + CLOSE reader + DEALLOCATE reader +----********************************************************************************* +----********************************************************************************* +----********************************************************************************* +SET @testoMail0 = @testoMail0 + '

In allegato dettaglio del Giornaliero' +DROP TABLE #TEST_QUALITY +DROP TABLE #EmailInviate +DROP TABLE #EmailInviateDett +DROP TABLE #TuttiReport +DROP TABLE #ReportNonGenerati +DROP TABLE #DettReport +DROP TABLE #ReportGenerati +SELECT @testoMail0,@testoMail1,@testoMail2,@testoMail3,@testoMail4,'' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_zzzzPL_D_S157ConfrontoPiramidi.sql b/sql/storedProduzione/C6Mart_zzzzPL_D_S157ConfrontoPiramidi.sql new file mode 100644 index 00000000..544138e9 --- /dev/null +++ b/sql/storedProduzione/C6Mart_zzzzPL_D_S157ConfrontoPiramidi.sql @@ -0,0 +1,227 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6Mart].[PL_D_S157ConfrontoPiramidi] 'S','CSLMCR54P48H501U' +-- CHIEDERE A FABRIZIO, case @TOTControvaloreModello when 0 .... +CREATE procedure [C6Mart].[zzzzPL_D_S157ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +-- DECLARE @minGradoCoperura AS INT +-- SET @minGradoCoperura = CAST(dbo.getParametro('MINGRADOCOPERTURA') AS INT) + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + (SELECT PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + SUM(PIRAMIDE_MOD.PERC_AREA) AS PERC_AREA + FROM C6MART.PIRAMIDE_MOD + WHERE + PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC', 'INV' ) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + GROUP BY PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA) AS PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + LEFT(ID_AREA,3) AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MART.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + OR ( + PIRAMIDE_MOD.ID_AREA = 'INV' + -- AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL + )) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc') + --V + DECLARE @TOTCC DECIMAL (20,2) + SELECT @TOTCC = ISNULL(CONTROVALORE,0) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'Cc' + --V +-- DECLARE @TOTNA DECIMAL (20,2) +-- SELECT @TOTCC = ISNULL(CONTROVALORE,0) +-- FROM #PIRAMIDE_VERT ATTUALE +-- WHERE ATTUALE.RETE = @Rete +-- AND ATTUALE.COD_FISCALE = @CodiceFiscale +-- AND ID_AREA = 'Na' + --V + DECLARE @TOT DECIMAL (20,2) + SELECT @TOT = SUM(ISNULL(CONTROVALORE,0)) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + -- V D S + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + -- + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + --V SOLO CC -> VAR = 0 + WHEN @TOTCC = @TOT THEN NULL + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN @TOTCC = @TOT THEN NULL + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIORISFIN.VAR_PERC_PTF + END AS VAR_RISFIN, + CASE + WHEN @TOTCC = @TOT THEN NULL + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM C6MART.AREA_BISOGNO + LEFT JOIN #PIRAMIDE_VERT ATTUALE + ON ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN C6Mart.RISCHIO_AGGREGATO RISCHIOAREA + ON RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND +--[C6Mart].PL_S57ConfrontoPiramidi 'F','CVNPLA52D15H223S' + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + END + ) + LEFT JOIN C6Mart.RISCHIO_AGGREGATO RISCHIOTOTALE + ON RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + -- V + LEFT JOIN + C6Mart.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6Mart.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + --WHERE AREA_BISOGNO.ORDINAMENTO < 6 + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Mart_zzzzRP_SRV_CHECK_C6_GIORNALIERO.sql b/sql/storedProduzione/C6Mart_zzzzRP_SRV_CHECK_C6_GIORNALIERO.sql new file mode 100644 index 00000000..5901beb9 --- /dev/null +++ b/sql/storedProduzione/C6Mart_zzzzRP_SRV_CHECK_C6_GIORNALIERO.sql @@ -0,0 +1,590 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[zzzzRP_SRV_CHECK_C6_GIORNALIERO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --V Esegue la procedura di estrazione dei CC + EXEC [C6Mart].[RP_SRV_ESTRAZ_GIORNALIERA_CC] + -- Report generati + SELECT + C.Rete, + C.Cod_Agente, + case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else C.Cod_Fiscale end as Cod_fiscale, + C.Data_Perf + INTO #ReportGenerati + FROM + C6Mart.GESTIONE_PDF_FTP AS GPF + INNER JOIN C6Mart.VCONTRATTI AS C + ON GPF.RETE = C.Rete + AND GPF.CODICEFISCALE = C.Cod_Fiscale + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on C.chiaveclientepb = M.chiaveclientepb + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND Data_FineAvanzato > getDate() + ORDER BY + C.Rete, + C.Cod_Agente, + C.Cod_Fiscale + -- Report non generati + SELECT + Rete, + Cod_Agente, + case when Cod_Fiscale like '%@%' then piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else Cod_Fiscale end as Cod_fiscale, + Data_Perf, + 'Ragione:' + CASE + WHEN ClienteMigrato = 'N' THEN ' Cliente non migrato' + ELSE '' + END + + CASE + WHEN RisorseNA = 'S' THEN ' Risorse non associate' + ELSE '' + END + + CASE + WHEN RisorseNA = 'N' and ClienteMigrato = 'S' and profiloAttivo = 0 THEN ' Profilo non attivo' + ELSE '' + END + /*+ CASE + WHEN PartViaDisinv = 'S' THEN ' Partite viaggianti disinvestimento' + ELSE '' + END*/ AS Ragione + INTO #ReportNonGenerati + FROM + C6Mart.vcontratti as CONTRATTOSEI + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on CONTRATTOSEI.chiaveclientepb = M.chiaveclientepb + WHERE + M.InvioBenvenuto = 'N' + AND DATEDIFF(d, Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND (ClienteMigrato = 'N' + OR RisorseNA = 'S' + --V Condizione per non generazione a causa di profilo non attivo + OR ProfiloAttivo = 0 + -- + /*OR PartViaDisinv = 'S'*/) + AND Data_FineAvanzato > getDate() + ORDER BY + Rete, + Cod_Agente, + Cod_Fiscale + -- Email + SELECT + CASE Tipo + WHEN 'PERF' THEN 'perfezionamento' + WHEN '1_SOLL_NOASS' THEN '1° sollecito risorse non associate' + WHEN '2_SOLL_NOASS' THEN '2° sollecito risorse non associate' + WHEN '3_SOLL_NOASS' THEN '3° sollecito risorse non associate' + WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + WHEN '1_SOLL_NOMIG' THEN '1° sollecito cliente non migrato' + WHEN '2_SOLL_NOMIG' THEN '2° sollecito cliente non migrato' + WHEN '3_SOLL_NOMIG' THEN '3° sollecito cliente non migrato' + WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + --V aggiunta tipo mail profilo non attivo + WHEN '1_SOLL_NOPRO' THEN '1° sollecito profilo non attivo' + WHEN '2_SOLL_NOPRO' THEN '2° sollecito profilo non attivo' + WHEN '3_SOLL_NOPRO' THEN '3° sollecito profilo non attivo' + WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + END AS Tipo, + COUNT(Tipo) AS Totale + INTO #EmailInviate + FROM + C6Mart.GESTIONE_EMAIL + WHERE + Inviata = 'S' + AND dbo.toShortDateString(Data_Invio) = dbo.toShortDateString(GETDATE()) + GROUP BY + Tipo + ORDER BY TIPO + -- Indirizzi più lunghi di 36 caratteri + SELECT + C.Rete, + Cod_Agente, + Cod_Fiscale, + Indirizzo, + LEN(Indirizzo) AS LunghezzaIndirizzo + INTO #IndirizziLunghi + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.GESTIONE_PDF_FTP AS GPF + ON C.Rete = GPF.RETE + AND C.Cod_Fiscale = GPF.CODICEFISCALE + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND LEN(Indirizzo) > 36 + ORDER BY + Rete, + Cod_Agente, + Cod_Fiscale + -- Prodotti non a catalogo + SELECT + RETE, + CODICEFISCALE, + CODICECONTRATTO + INTO #ProdNonInCat + FROM + C6Staging.SPB_CONTR_SINTESI + WHERE + POSITIONID IS NULL + -- VaR discordanti + SELECT + RA.RETE, + RA.COD_FISCALE, + RA.VAR_PERC_PTF, + VC.VAR_COMPLESSIVO_BF, + CASE + WHEN RA.VAR_PERC_PTF = VC.VAR_COMPLESSIVO_BF THEN 'OK' + ELSE 'KO' + END AS VAR_CORRETTO + INTO #VaRDiscordanti + FROM + C6Mart.RISCHIO_AGGREGATO AS RA + INNER JOIN VAR_CHECK AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE + WHERE + (RA.COD_AGGREG = 'COMPLESSIVO|BF') + ORDER BY + RA.RETE, + RA.COD_FISCALE + -- Posizioni in stato liquidato + SELECT + PB.RETE, + PB.COD_FISCALE, + ID_CONTRATTO + INTO #PosizioniStatoL + FROM + C6Mart.PATRIMONIO_BF AS PB + INNER JOIN #VaRDiscordanti AS VD + ON PB.RETE = VD.RETE + AND PB.COD_FISCALE = VD.COD_FISCALE + WHERE + PB.COD_STATO = 'L' + AND PB.CTV >= 0 + AND VD.VAR_CORRETTO = 'KO' + ORDER BY + PB.RETE, + PB.COD_FISCALE + -- Clienti senza data sottoscrizione + SELECT DISTINCT + PB.RETE, + C.COD_AGENTE, + PB.COD_FISCALE, + PB.ID_CONTRATTO + INTO #ClientiSenzaDataSott + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.PATRIMONIO_BF AS PB + ON C.Rete = PB.RETE + AND C.Cod_Fiscale = PB.COD_FISCALE + INNER JOIN C6Mart.RISCHIO_AGGREGATO AS RA + ON PB.RETE = RA.RETE + AND PB.COD_FISCALE = RA.COD_FISCALE + WHERE + PB.DATA_SOTTOSCRIZIONE IS NULL + AND PB.TIPO_PRODOTTO = 'DT' + -- Clienti senza piramide modello + SELECT + Rete, + Cod_Agente, + Cod_Fiscale + INTO #ClientiSenzaPiramideModello + FROM + C6Mart.vcontratti as CONTRATTOSEI + inner join + C6Mart.contrattosei_metadati as M + on CONTRATTOSEI.chiaveclientepb = m.chiaveclientepb + WHERE + Data_FineAvanzato < getDate() + AND inviobenvenuto = 'N' + AND clientemigrato = 'S' + AND risorseNA = 'N' + AND DATEDIFF(d, Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND Cod_Fiscale NOT IN ( + SELECT + COD_FISCALE + FROM + C6Mart.PIRAMIDE_MOD) + --scarti simpb contrattoSintesi + SELECT codiceFiscale,DATA_PERF + INTO #ClientiSenzaContrattoSintesi + FROM C6STAGING.SPB_SCARTI SPB + JOIN + C6MART.RP_vContrattiMigrati C6 + ON + SPB.CODICEFISCALE = C6.COD_FISCALE + WHERE pacchettoSSIS = 'SPB_CONTRSINTESI' + --scarti simpb mifid + SELECT codiceFiscale,DATA_PERF + INTO #ClientiSenzaProfiloMIFID + FROM C6STAGING.SPB_SCARTI SPB + JOIN + C6MART.RP_vContrattiMigrati C6 + ON + SPB.CODICEFISCALE = C6.COD_FISCALE + WHERE pacchettoSSIS = 'SPB_MIFID' + DECLARE @testoMail VARCHAR(MAX) + DECLARE @rete CHAR(1) + DECLARE @codiceAgente VARCHAR(6) + DECLARE @codiceFiscale VARCHAR(25) + DECLARE @data DATETIME + DECLARE @ragione VARCHAR(100) + DECLARE @tipo VARCHAR(100) + DECLARE @indirizzo VARCHAR(100) + DECLARE @totale INT + DECLARE @codiceContratto VARCHAR(11) + DECLARE @varPercPtf DECIMAL(5, 2) + DECLARE @varComplessivoBf DECIMAL(5, 2) + SET @testoMail = '' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Tipo, + Totale + FROM + #EmailInviate + OPEN reader + FETCH NEXT FROM reader INTO @tipo, @totale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @tipo, @totale + END + SET @testoMail = @testoMail + '
E-mail inviate:
' + @tipo + '' + CAST(@totale AS VARCHAR) + '
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Data_Perf + FROM + #ReportGenerati + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + END + SELECT @totale = COUNT(*) FROM #ReportGenerati + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Report generati:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Data_Perf, + Ragione + FROM + #ReportNonGenerati + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data, @ragione + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data, @ragione + END + SELECT @totale = COUNT(*) FROM #ReportNonGenerati + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Report non generati:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '' + @ragione + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Indirizzo, + LEN(Indirizzo) AS LunghezzaIndirizzo + FROM + #IndirizziLunghi + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @indirizzo, @totale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @indirizzo, @totale + END + SELECT @totale = COUNT(*) FROM #IndirizziLunghi + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Indirizzi più lunghi di 36 caratteri:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + @indirizzo + '' + CAST(@totale AS VARCHAR) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + CODICEFISCALE, + CODICECONTRATTO + FROM #ProdNonInCat + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #ProdNonInCat + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con prodotti non a catalogo:
' + @rete + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_FISCALE, + VAR_PERC_PTF, + VAR_COMPLESSIVO_BF + FROM + #VaRDiscordanti + WHERE + VAR_CORRETTO = 'KO' + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @varPercPtf, @varComplessivoBf + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @varPercPtf, @varComplessivoBf + END + SELECT @totale = COUNT(*) FROM #VaRDiscordanti WHERE VAR_CORRETTO = 'KO' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con VaR discordante:
' + @rete + '' + @codiceFiscale + '' + CAST(@varPercPtf AS VARCHAR) + '' + CAST(@varComplessivoBf AS VARCHAR) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_FISCALE, + ID_CONTRATTO + FROM + #PosizioniStatoL + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #PosizioniStatoL + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con posizioni stato Liquidato:
' + @rete + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_AGENTE, + COD_FISCALE, + ID_CONTRATTO + FROM + #ClientiSenzaDataSott + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaDataSott + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza data sottoscrizione
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale + FROM + #ClientiSenzaPiramideModello + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaPiramideModello + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza piramide modello
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + codiceFiscale, + data_perf + FROM + #ClientiSenzaContrattoSintesi + OPEN reader + FETCH NEXT FROM reader INTO @codiceFiscale,@data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @codiceFiscale,@data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaContrattoSintesi + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza righe Contratto Sintesi
' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + codiceFiscale,data_perf + FROM + #ClientiSenzaProfiloMIFID + OPEN reader + FETCH NEXT FROM reader INTO @codiceFiscale,@data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @codiceFiscale,@data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaProfiloMIFID + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza righe profilo MIFID
' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader +--------------------------------------------------------------------- +--Email non inviate + --SET @testoMail = @testoMail + '

' + --DECLARE reader CURSOR LOCAL FORWARD_ONLY + --FOR + -- SELECT a.rete, a.cod_fiscale, a.cod_agente, + -- CASE Tipo + -- WHEN 'PERF' THEN 'perfezionamento' + -- WHEN '1_SOLL_NOASS' THEN '1° sollecito risorse non associate' + -- WHEN '2_SOLL_NOASS' THEN '2° sollecito risorse non associate' + -- WHEN '3_SOLL_NOASS' THEN '3° sollecito risorse non associate' + -- WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + -- WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + -- WHEN '1_SOLL_NOMIG' THEN '1° sollecito cliente non migrato' + -- WHEN '2_SOLL_NOMIG' THEN '2° sollecito cliente non migrato' + -- WHEN '3_SOLL_NOMIG' THEN '3° sollecito cliente non migrato' + -- WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + -- WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + -- --V aggiunta tipo mail profilo non attivo + -- WHEN '1_SOLL_NOPRO' THEN '1° sollecito profilo non attivo' + -- WHEN '2_SOLL_NOPRO' THEN '2° sollecito profilo non attivo' + -- WHEN '3_SOLL_NOPRO' THEN '3° sollecito profilo non attivo' + -- WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + -- WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + -- END AS Tipo + -- FROM C6Mart.Contrattosei a + -- inner join C6Mart.GESTIONE_EMAIL b + -- on + -- a.rete = b.rete + -- and + -- a.cod_fiscale = b.cod_fiscale + -- WHERE isnull(b.Inviata,'N')='N' + --OPEN reader + --FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceAgente, @tipo + --WHILE @@FETCH_STATUS = 0 + --BEGIN + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceAgente, @tipo + --END + --SELECT @totale = COUNT(*) FROM C6Mart.GESTIONE_EMAIL WHERE isnull(Inviata,'N')='N' + --SET @testoMail = @testoMail + '' + --SET @testoMail = @testoMail + '
Email non inviate:
' + @rete + '' + @codiceFiscale + '' + @codiceAgente + '' + @tipo + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + --CLOSE reader + --DEALLOCATE reader +--------------------------------------------------------------------- + SET @testoMail = @testoMail + '' + SELECT @testoMail + DROP TABLE #ReportGenerati + DROP TABLE #ReportNonGenerati + DROP TABLE #EmailInviate + DROP TABLE #IndirizziLunghi + DROP TABLE #PosizioniStatoL + DROP TABLE #ProdNonInCat + DROP TABLE #VaRDiscordanti + DROP TABLE #ClientiSenzaDataSott + DROP TABLE #ClientiSenzaPiramideModello + DROP TABLE #ClientiSenzaContrattoSintesi + DROP TABLE #ClientiSenzaProfiloMIFID +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_Popola_APPO_CONTRATTI.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_Popola_APPO_CONTRATTI.sql new file mode 100644 index 00000000..8c1f510e --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_Popola_APPO_CONTRATTI.sql @@ -0,0 +1,7 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[Popola_APPO_CONTRATTI] +AS +BEGIN + truncate table C6StagingPeriodicoImmobiliare.APPO_CONTRATTI + insert into C6StagingPeriodicoImmobiliare.APPO_CONTRATTI + select * from C6StagingPeriodico.APPO_CONTRATTI +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_CREA_POSITIONID_CONSULENZA.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_CREA_POSITIONID_CONSULENZA.sql new file mode 100644 index 00000000..44b79b91 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_CREA_POSITIONID_CONSULENZA.sql @@ -0,0 +1,88 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_CREA_POSITIONID_CONSULENZA] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_immobiliare + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Trimestrale Immobiliare' + ) +truncate table TAB1 +insert into TAB1 +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB','RE','RF','IE') THEN ISNULL(CODISIN,'') + ELSE '' END AS CODISIN, + CODSOTTOPRODOTTO, + position_id +--INTO TAB1 +FROM C6StagingPeriodicoImmobiliare.RP_CONSULENZA +UPDATE TAB1 + SET position_id = + C6STAGINGPERIODICOIMMOBILIARE.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) +DECLARE @CNTNULL as int +SELECT @CNTNULL = COUNT(*) FROM TAB1 WHERE isnull(position_id,'') = '' +--SET @CNTNULL = 0 +IF @CNTNULL = 0 + UPDATE C6StagingPeriodicoImmobiliare.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, + CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB','RE','RF','IE') THEN ISNULL(c.CODISIN,'') + ELSE '' END, + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6StagingPeriodicoImmobiliare.RP_CONSULENZA c + left join TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB','RE','RF','IE') + THEN ISNULL(c.CODISIN,'') + ELSE '' END + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6StagingPeriodicoImmobiliare.RP_CONSULENZA WHERE isnull(position_id,'') <> '' +-- Log esecuzione +UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) +--drop table TAB1 +IF @CNTNULL = 0 + SELECT @CNTNULL = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') = '' +if @CNTNULL > 0 + RAISERROR ('Scarti position_id null', 16, 1 ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql new file mode 100644 index 00000000..fe018fa2 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql @@ -0,0 +1,42 @@ +-- Questa sp aggiorna il campo 'beneficio' della [PROMETEIA_AGGR] con il valore del nuovo indicatore dalla nuova tabella PROMETEIA_AGGR_IndDiv +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE] +AS +BEGIN +-- *********************************************** 10/7/2018 ********************************************** +-- BONIFICA DELLA TABELLA PER I VALORI NON CALCOLATI (Nan) TORNATI DAL SERVIZIO PER ALCUNI CF/PTF +-- NECESSARIA PER NON MANDARE IN ERRORE LA UPDATE +update a set indicatore = '0.0' + FROM [C6StampeCentralizzate].[C6StagingPeriodicoImmobiliare].[PROMETEIA_AGGR_IndDiv] a + where + not indicatore like '%[0-9]%' +-- ********************************************* FINE BONIFICA ******************************************** + --aggiorna il beneficio per il COMPLESSIVO +--UPDATE aggr set aggr.beneficio = CAST(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) AS DECIMAL(12,3)) +--con le replace sostituisco i caratteri speciali a fine testo che mandano in errore il cast quando l'indicatore è = 0.0 - CHAR(13) = cr, CHAR(10) = lf +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodicoImmobiliare].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodicoImmobiliare].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale +where aggr.portafoglio = 'COMPLESSIVO' +--aggiorna il beneficio per il COMPLESSIVO|BF +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodicoImmobiliare].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodicoImmobiliare].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_BF' +where aggr.portafoglio = 'COMPLESSIVO|BF' +--aggiorna il beneficio per il COMPLESSIVO|TERZI +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodicoImmobiliare].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodicoImmobiliare].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_TERZI' +where aggr.portafoglio = 'COMPLESSIVO|TERZI' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_AnAlberatura.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_AnAlberatura.sql new file mode 100644 index 00000000..325ba5bd --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_AnAlberatura.sql @@ -0,0 +1,40 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_AnAlberatura] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AnAlberatura', + GETDATE(), + 'Elaborazione Trimestrale Immobiliare' + ) + truncate table C6StagingPeriodicoImmobiliare.RP_AnAlberatura + insert into C6StagingPeriodicoImmobiliare.RP_AnAlberatura + --select * into C6StagingPeriodicoImmobiliare.RP_AnAlberatura from [CONSEVO].CatalogoProdotti.dbo.AnAlberatura + select + [Alberatura] + ,[Livello1] + ,[Livello2] + ,[Livello3] + ,[Livello4] + ,[Livello5] + from [CONSUNI_PERIODICO].CatalogoProdotti.dbo.AnAlberatura + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AnAlberatura' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_AnAlberatura' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_AnEmittente.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_AnEmittente.sql new file mode 100644 index 00000000..42da911b --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_AnEmittente.sql @@ -0,0 +1,36 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_AnEmittente] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AnEmittente', + GETDATE(), + 'Staging Immobiliare' + ) + truncate table C6StagingPeriodicoImmobiliare.RP_AnEmittente + insert into C6StagingPeriodicoImmobiliare.RP_AnEmittente ( + [Emittente] + ,[Descrizione] ) + select + [Emittente] + ,[Descrizione] + from [CONSUNI].CatalogoProdotti.dbo.AnEmittente + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AnEmittente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_AnEmittente' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_AssetClass.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_AssetClass.sql new file mode 100644 index 00000000..bd80a8c8 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_AssetClass.sql @@ -0,0 +1,36 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_AssetClass] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AssetClass', + GETDATE(), + 'Staging Immobiliare' + ) + truncate table C6StagingPeriodicoImmobiliare.RP_AssetClass + insert into C6StagingPeriodicoImmobiliare.RP_AssetClass + --select * into C6StagingPeriodicoImmobiliare.RP_AssetClass from [CONSEVO].[CatalogoProdotti].dbo.AssetClass + -- 21/12/2016 mod puntamento + --select * from [CONSEVO].[CatalogoProdotti].dbo.AssetClass + select asset,madre,livello,descrizione,codicergb,isresidual from [CONSUNI].[CatalogoProdotti].dbo.AssetClass + -- 21/12/2016 FINE mod puntamento + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AssetClass' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_AssetClass' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_BonificaClientiDoppi.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_BonificaClientiDoppi.sql new file mode 100644 index 00000000..50f04f98 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_BonificaClientiDoppi.sql @@ -0,0 +1,132 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_BonificaClientiDoppi] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_BonificaClientiDoppi', + GETDATE(), + 'Elaborazione Trimestrale Immobiliare' + ) +----------------------------------------------------------------- +drop table if exists #doppiCF +drop table if exists #ClientiDoppiInAppoCF +drop table if exists #ClientiNONInAppoCF +drop table if exists #ClientiChiaveClienteGiustaCF +drop table if exists #ClientiChiaveClienteGiustaESbagliataCF +drop table if exists #ClientiChiaveSbagliataCF +drop table if exists #doppiPIVA +drop table if exists #ClientiDoppiInAppoPIVA +drop table if exists #ClientiNONInAppoPIVA +drop table if exists #ClientiChiaveClienteGiustaPIVA +drop table if exists #ClientiChiaveClienteGiustaESbagliataPIVA +drop table if exists #ClientiChiaveSbagliataPIVA +----Individuo i cf doppi + select rete,codfis,count(*) as numero + into #doppiCF + FROM C6StagingPeriodicoImmobiliare.RP_InfoCliente + where codfis is not null and codfis <> '' + group by rete,codfis + having count(*)>1 + --if + select rete,COD_FISCALE + into #ClientiDoppiInAppoCF + from C6StagingPeriodicoImmobiliare.APPO_CONTRATTI a + where a.rete+a.COD_FISCALE in (select rete+codfis from #doppiCF) + select rete,codfis + into #ClientiNONInAppoCF + from #doppiCF where rete+codfis not in (select rete+cod_fiscale from #ClientiDoppiInAppoCF) + delete from C6StagingPeriodicoImmobiliare.RP_InfoCliente where rete+codFis in (select rete+codfis from #ClientiNONInAppoCF) + --else + select distinct appo.rete,appo.COD_FISCALE,appo.chiaveclientepb + into #ClientiChiaveClienteGiustaCF + from C6StagingPeriodicoImmobiliare.RP_InfoCliente info inner join + C6StagingPeriodicoImmobiliare.appo_contratti appo on info.rete = appo.rete and info.codfis=appo.cod_fiscale +where info.rete + info.codfis in (select rete+cod_fiscale from #ClientiDoppiInAppoCF) +select rete,codfis,chiaveClientePB + into #ClientiChiaveClienteGiustaESbagliataCF +FROM C6StagingPeriodicoImmobiliare.RP_InfoCliente +where rete+codfis in (select rete+cod_fiscale from #ClientiChiaveClienteGiustaCF) +--select * from #ClientiChiaveClienteGiustaESbagliataCF order by codfis +select rete,codfis,chiaveclientePB +into #ClientiChiaveSbagliataCF +from #ClientiChiaveClienteGiustaESbagliataCF where +rete+codFis in (select rete+cod_fiscale from #ClientiChiaveClienteGiustaCF) +and chiaveClientePB not in (select chiaveClientePB from #ClientiChiaveClienteGiustaCF) +--create table #ClientiChiaveSbagliataCF( +--rete char(1), +--codfis varchar(16), +--chiaveClientePB int) +--insert into #ClientiChiaveSbagliataCF +-- SELECT * FROM #ClientiChiaveClienteGiustaESbagliataCF +-- EXCEPT +-- SELECT * FROM #ClientiChiaveClienteGiustaCF +-- select * from #ClientiChiaveSbagliataCF +delete from C6StagingPeriodicoImmobiliare.RP_InfoCliente +where rete+codfis+cast(chiaveClientePB as varchar) in (select rete+codfis+cast(chiaveClientePB as varchar) from #ClientiChiaveSbagliataCF) +--select * from C6StagingPeriodicoImmobiliare.RP_InfoCliente +--where rete+codfis+chiaveClientePB in (select rete+codfis+chiaveClientePB from #ClientiChiaveClienteGiustaCF) +----------------------------------------------------------------- +--Individuo le PIVA doppie + select rete,piva,count(*) as numero + into #doppiPIVA + FROM C6StagingPeriodicoImmobiliare.RP_InfoCliente + where isnull(codman,'')= '' + and piva is not null and piva <> '' + group by rete,piva + having count(*)>1 +-- select * from #doppiPIVA where piva in ( +-- '02477630582', +--'05267780962') + --if + select rete,COD_FISCALE + into #ClientiDoppiInAppoPIVA + from C6StagingPeriodicoImmobiliare.APPO_CONTRATTI a + where a.rete+a.COD_FISCALE in (select rete+piva from #doppiPIVA) + select rete,piva + into #ClientiNONInAppoPIVA + from #doppiPIVA where rete+piva not in (select rete+COD_FISCALE from #ClientiDoppiInAppoPIVA) + delete from C6StagingPeriodicoImmobiliare.RP_InfoCliente where rete+pIva in (select rete+piva from #ClientiNONInAppoPIVA) + --else + select distinct appo.rete,appo.COD_FISCALE,appo.chiaveclientepb + into #ClientiChiaveClienteGiustaPIVA + from C6StagingPeriodicoImmobiliare.RP_InfoCliente info inner join + C6StagingPeriodicoImmobiliare.appo_contratti appo on info.rete = appo.rete and info.piva=appo.cod_fiscale +where info.rete + info.piva in (select rete+cod_fiscale from #ClientiDoppiInAppoPIVA) +-- select * from #ClientiChiaveClienteGiustaPIVA where cod_fiscale in ( +-- '02477630582', +--'05267780962') +select rete,piva,chiaveClientePB + into #ClientiChiaveClienteGiustaESbagliataPIVA +FROM C6StagingPeriodicoImmobiliare.RP_InfoCliente +where rete+piva in (select rete+cod_fiscale from #ClientiChiaveClienteGiustaPIVA) +-- select * from #ClientiChiaveClienteGiustaESbagliataPIVA where piva in ( +-- '02477630582', +--'05267780962') +select rete,piva,chiaveclientePB +into #ClientiChiaveSbagliataPIVA +from #ClientiChiaveClienteGiustaESbagliataPIVA where +rete+piva in (select rete+cod_fiscale from #ClientiChiaveClienteGiustaPIVA) +and chiaveClientePB not in (select chiaveClientePB from #ClientiChiaveClienteGiustaPIVA) +--select * from #ClientiChiaveSbagliataPIVA +delete from C6StagingPeriodicoImmobiliare.RP_InfoCliente +where rete+piva+cast(chiaveClientePB as varchar) in (select rete+piva+cast(chiaveClientePB as varchar) from #ClientiChiaveSbagliataPIVA) + -------------------------------------------------- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_BonificaClientiDoppi' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_BonificaClientiDoppi' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_CONSULENZA.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_CONSULENZA.sql new file mode 100644 index 00000000..5c26cbb0 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_CONSULENZA.sql @@ -0,0 +1,137 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_CONSULENZA] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CONSULENZA', + GETDATE(), + 'Staging Immobiliare' + ) +TRUNCATE TABLE C6StagingPeriodicoImmobiliare.[RP_CONSULENZA] +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,PosPor.conto + ,PosPor.rubricato + ,PosPor.codConf + ,PosPor.numPolizza + ,PosPor.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,POSITION_ID = '' + ,termId + ,anno + ,prog + ,orizzonteTemporale + INTO #ConsulenzaPianificazione +FROM + C6StagingPeriodicoImmobiliare.RP_Pianificazione AS pian + INNER JOIN C6StagingPeriodicoImmobiliare.RP_Progetto AS pro + ON pian.chiaveConsulenza = pro.chiaveConsulenza + INNER JOIN C6StagingPeriodicoImmobiliare.RP_ProgettiPiramideModello pirmod + ON pro.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6StagingPeriodicoImmobiliare.RP_PosizioniPortafoglio AS pospor + ON pro.chiaveProgetto = pospor.chiaveProgetto + INNER JOIN C6StagingPeriodicoImmobiliare.RP_DettaglioPosizionePortafoglio AS dettposport + ON pospor.chiavePosizionePtf = dettposport.chiavePosizionePtf + INNER JOIN C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti AS catprod + ON pospor.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6StagingPeriodicoImmobiliare.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport contr + ON pian.chiaveClientePB = contr.chiaveClientePB + WHERE + pospor.dtFineValidita > getdate() + AND pro.dtfinevalidita='99991231' + AND pirmod.dtfinevalidita='99991231' + --AND INVIOBENVENUTO = 'N' +--ricerco dati da Migrazione +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + --,mig.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,promig.chiaveProgetto + ,promig.area + ,promig.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,MigPos.conto + ,MigPos.rubricato + ,MigPos.codConf + ,MigPos.numPolizza + ,MigPos.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,POSITION_ID = '' + ,migpos.termId + ,migpos.anno + ,migpos.prog + ,null as orizzonteTemporale +INTO #ConsulenzaMigrazione +FROM + C6StagingPeriodicoImmobiliare.RP_Migraz_Pianificazione AS mig + INNER JOIN C6StagingPeriodicoImmobiliare.RP_Migraz_Progetto AS promig + ON mig.chiaveconsulenza = promig.chiaveconsulenza + INNER JOIN C6StagingPeriodicoImmobiliare.RP_ProgettiPiramideModello pirmod + ON promig.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6StagingPeriodicoImmobiliare.RP_Migraz_Posizioni AS migpos + ON promig.chiaveprogetto = migpos.chiaveprogetto + INNER JOIN C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti AS catprod + ON migpos.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6StagingPeriodicoImmobiliare.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport contr + ON mig.chiaveClientePB = contr.chiaveClientePB + LEFT JOIN #ConsulenzaPianificazione tc + ON mig.chiaveClientePB = tc.chiaveClientePB + WHERE + pirmod.dtfinevalidita='99991231' + AND migpos.dtFineValidita > getdate() + AND tc.chiaveClientePB IS NULL + --AND INVIOBENVENUTO = 'N' +INSERT INTO C6StagingPeriodicoImmobiliare.RP_Consulenza + SELECT * FROM #ConsulenzaPianificazione + UNION + SELECT * FROM #ConsulenzaMigrazione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_CONSULENZA' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_CREA_POSITIONID.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_CREA_POSITIONID.sql new file mode 100644 index 00000000..c751e80a --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_CREA_POSITIONID.sql @@ -0,0 +1,284 @@ +-- +--select * from C6StagingPeriodicoImmobiliare.spb_contr_sintesi +--where positionId is null +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_CREA_POSITIONID] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_1', + GETDATE(), + 'Staging Immobiliare' + ) + --******************************************************************************************** +--select * from C6StagingPeriodicoImmobiliare.rp_catalogoprodotti +-- FC 05052014 +-- Interventi : + -- Eliminata ( commentata ) where condition spb.positionid is null + -- Eliminato ( commentato ) ciclo While @Visible +update C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI +set positionid = null + declare @visible int + set @visible = 1 +-- while @visible >= 0 +-- begin + update C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI + set positionid = catalogueid + FROM + C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI SPB inner join + ( + select * from C6StagingPeriodicoImmobiliare.rp_catalogoprodotti where visibilita = @visible + )CAT + on + --caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192','V301','V302') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161213 + --and spb.CODINT not in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + --and spb.CODINT not in ('RS','RB','RM','RV','RE') + and spb.CODINT not in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --fine INTERVENTO 'RF/MP' - 20171204 +--fine INTERVENTO 'RE' - 20161213 +--fine intervento MIGRAZIONE ASU3 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) +--inizio intervento MIGRAZIONE ASU3 + or + --caso 1a +--inizio INTERVENTO 'RE' - 20161213 + --(spb.CODINT in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + -- (spb.CODINT in ('RS','RB','RM','RV','RE') + + (spb.CODINT in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --fine INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +--fine intervento MIGRAZIONE ASU3 + or + --else caso 1b + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192','V301','V302') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and cat.TIPOPRODOTTO = SPB.TipProd + ) + or + --caso 2 +-- (SPB.TipProd in ('ASU2') + (SPB.TipProd in ('ASU2','GP') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end + ) + or + --caso 3 + (SPB.TipProd in ('DT','ASD') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + ) + or + --caso 4 + (SPB.TipProd in ('GES') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODMAF,'') = isnull(spb.MAF,'') + ) +-- --caso 5 +-- or +-- (SPB.isin = 'EURO00000009' +-- and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') +-- and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') +-- and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +-- ) +-- where spb.positionid is null +-- set @visible = @visible - 1 +-- end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' + ) + --******************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_2', + GETDATE(), + 'Staging Immobiliare' + ) + -- drop table #TAB1 + SELECT distinct + TIPPROD, + CODINT, + MAF, + CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END AS CODISIN, + SUBPROD, + POSITIONID, + RETE, + codfis + INTO #TAB1 + FROM C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI where POSITIONID IS NULL + UPDATE #TAB1 + SET POSITIONID = C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPPROD, + CODINT, + MAF, + CODISIN, + SUBPROD + ) + UPDATE C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI + SET POSITIONID = t.POSITIONID + FROM C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI c + inner join #TAB1 t + ON isnull(t.TIPPROD,'')=isnull(c.TIPPROD,'') + AND isnull(t.CODINT,'')=isnull(c.CODINT,'') + AND isnull(t.MAF,'')=isnull(c.MAF,'') + AND t.CODISIN = CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END + AND isnull(t.SUBPROD,'')=isnull(c.SUBPROD,'') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' + ) + --********************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_3', + GETDATE(), + 'Staging Immobiliare' + ) + UPDATE C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI + SET POSITIONID = POSITIONID + dbo.Crea_positionID + ( + TIPPROD, + CODINT, + MAF, + '', + SUBPROD, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + NUMPOL, + CONTO, + RUBR, + CUSTGAR, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + WHERE POSITIONID IS NOT NULL + -- INSERT INTO C6MARTPERIODICO.TEST_QUALITY + --SELECT RETE, codfis, 'SPB_CONTR_SINTESI.POSITIONID IS NULL' + --FROM C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI WHERE ISNULL(POSITIONID,'') ='' + --GROUP BY RETE, codfis + --SELECT @CNT = COUNT(*) FROM C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI WHERE isnull(POSITIONID,'') = '' + --IF @CNTNULL > 0 + -- RAISERROR ('SPB_CONTR_SINTESI.POSITIONID IS NULL', 16, 1 ) +-- UPDATE +-- C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI +-- SET +-- POSITIONID = +---- CASE +---- WHEN TIPPROD = 'CC' THEN '' --MODIFICA TRINGALI +---- ELSE +-- [C6StagingPeriodicoImmobiliare].[RP_Info_DaProdottoCSaCatalogo] --dbo.Info_DaProdottoCSaCatalogo +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- --V ISIN per ASU2 +-- CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END, +-- SUBPROD +-- ) +-- --END +-- + +-- dbo.Crea_positionID +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- '', +-- SUBPROD, +-- CODCONF, -- VERIFICARNE LA CORRETTEZZA +-- NUMPOL, +-- CONTO, +-- RUBR, +-- CUSTGAR, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) +-- END +-- ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_CatalogoProdotti.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_CatalogoProdotti.sql new file mode 100644 index 00000000..4a794d56 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_CatalogoProdotti.sql @@ -0,0 +1,326 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_CatalogoProdotti] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti', + GETDATE(), + 'Staging Immobiliare' + ) +--drop table C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti + truncate table C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti +INSERT INTO [C6StagingPeriodicoImmobiliare].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore] + --into [C6StagingPeriodicoImmobiliare].[RP_CatalogoProdotti] + from [CONSUNI].CatalogoProdotti.dbo.CatalogoProdotti +--UPDATE dei codici MAF Valide solo per la trimestrale di gennaio 2014 +--utilizzate per martellare un errore sul catalogo in linea + --UPDATE C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti + --SET codmaf = '1407435' + --where codmaf = '1406533' + --UPDATE C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti + --SET codmaf = '1308841' + --where codmaf = '1396234' + -- Ricreo il catalogueID come era nel SEI vecchio in quanto mi serve per ricreare il position id + /* + Catalogueid = + decode(codice_isin,null,'############', rpad(codice_isin,12,' ')) || + decode(codice_maf,null,'###############', rpad(codice_maf,15,' ')) || + decode(codice_interno,null,'###############', rpad(codice_interno,15,' ')) || decode(codice_sottoprodotto,null,'###############', rpad(codice_sottoprodotto,15,' ')) + */ + UPDATE C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti + SET CATALOGUEID = + CASE WHEN codisin = '$' or codisin is null then '############' else CONVERT(char(12),codisin) END + + CASE WHEN codmaf = '$' or codmaf is null then '###############' else CONVERT(char(15),codmaf) END + + CASE WHEN codinterno = '$' or codinterno is null then '###############' else CONVERT(char(15),codinterno) END + + CASE WHEN codsottoprodotto = '$' or codsottoprodotto is null then '###############' else CONVERT(char(15),codsottoprodotto) END + -- modifiche estemporanee per 1 trimestrale 2016 - 5/5/2016 - lotto 2 ----------------------------------------- + -- 2/2/2017 ----> insert non più valida - commentata + --insert into C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti + --values ('RS_FVI11 1415480 RS FP ',/*pk*/ 261831 /* 9276460 9+max([CodSottoprodotto])=9276460 pk 20160506*/,'FP','RS','1415480','RS_FVI11','RS_FVI11',null,null,1,null,'FVI MS - Core Beta 30 classe K',1,10.95600, + --9,'9999-12-31 00:00:00.000',1,1,null,10.92800,'EUR','FVCOR30','ASU1',null,null,null,500.00000,'EUR', + --500.00000,'EUR',0,'EUR',0,'EUR',500.00000,'EUR',null,3,null,null,null,'K',null,null,null,1,null,null,null, + --'2016-05-02 00:00:00.000',null,null,null,null,null,null,null,0,null,null,null,null,null,null,1, + --null,null,9,null,null,null,null,null,null,null,null,null,null,1,2,1,null,null) + -- 2/2/2017 ----> fine + -- 3/5/2017 ----> + insert into C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti + values ('RS_FVI11 1415480 RS FP ',294126,'FP','RS','1415480','RS_FVI11','RS_FVI11',null,null,1,null,'FVI MS - Core Beta 30 classe K',1,10.95600, + 9,'9999-12-31 00:00:00.000',1,1,null,10.92800,'EUR','FVCOR30','ASU1',null,null,null,500.00000,'EUR', + 500.00000,'EUR',0,'EUR',0,'EUR',500.00000,'EUR',null,3,null,null,null,'K',null,null,null,1,null,null,null, + '2016-05-02 00:00:00.000',null,null,null,null,null,null,null,0,null,null,null,null,null,null,1, + null,null,9,null,null,null,null,null,null,null,null,null,null,1,2,1,null,null) + -- 3/5/2017 ----> fine + update C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti + set visibilita = 1 + where codinterno = '04806890' and + codisin = 'IT0004806896' + -- fine modifiche estemporanee per 1 trimestrale 2016 - 5/5/2016 - lotto 2 -------------------------------------- + -- modifiche per IV trimestrale 2016 - 20/01/2017 per far caricare nella dettaglioAsul i prodotti dei cf: ------------ + -- CRSLRN54D28C847X,MLSVNC68S45D612E,GMBDNC71D15H501H,FRRLGU70D13F257S + -- update C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti + --set visibilita = 1 + --where codinterno = 's3' and codsottoprodotto in ('AZI73','OBE73') + --update C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti + --set visibilita = 1 + --where codinterno = '80' and codsottoprodotto in ('STR55','STR70') + -- fine modifiche per IV trimestrale 2016 - 20/01/2017 ---------------------------------------------------------------- + -- modifiche per II trimestrale 2017 - 16/06/2017 rimediare alla segnalazione Descrizione Prodotto su Catalogo Prodotti Null+Emittente null + -- esempio cf: F BFCVTR55C30H536X (x descr null) e RSOMRT65B41A145N (emittente null) + update C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti + set visibilita=1 + WHERE CODINTERNO = '04917940' and codisin = 'IT0004917941' + and visibilita = 0 + update C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti + set visibilita=1 + WHERE CODINTERNO = '08662950' and codisin = 'XS0501195480' + and visibilita = 0 + -- fine modifiche per II trimestrale 2017 - 16/06/2017 ---------------------------------------------------------------- + -- modifiche per II trimestrale 2017 - 20/07/2017 rimediare alla mancanza dell'Emittente per il prodotto censito + update C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti + set emittente='0000000055840' + WHERE catalogueid = 'IT0005218380###############09358630 ###############' + -- fine modifiche per II trimestrale 2017 - 20/07/2017 ---------------------------------------------------------------- + -- modifiche per III trimestrale 2017 - 25/09/2017 rimediare alla segnalazione 'Tabella Scadenze : Descrizione Prodotto su Catalogo Prodotti Null' + -- per i 2cf: F/BNZNLM66D21Z312D,F/MNRDTL56S70F351T + update C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti + set visibilita=1 + WHERE CODINTERNO = '03246250' + and visibilita = 0 + -- fine modifiche per III trimestrale 2017 - 25/09/2017 ---------------------------------------------------------------- + -- modifiche per III trimestrale 2017 - 27/10/2017 rimediare alla segnalazione 'Tabella Scadenze : Descrizione Prodotto su Catalogo Prodotti Null' + INSERT INTO [C6StagingPeriodicoImmobiliare].[RP_CatalogoProdotti] + ([CatalogueID],[ChiaveProdotto],[CodSottoprodotto],[CodInterno],[CodMaf],[CodAdeguatezza],[CodIsin],[TipoVersamento],[RischioPrSc],[StatoProdotto] + ,[TipoPolizza],[NomeProdotto],[Visibilita],[PrezzoInEuro],[Alberatura],[DtScadenza],[Categoria],[Istituto],[Piazza],[PrezzoInValuta],[PrezzoValuta] + ,[Codiceadb],[TipoProdotto],[RatingObbligazioni],[RischioMinimo],[CapRisparmio],[CapMinimo],[CapMinimoValuta],[CapMinSucc],[CapMinSuccValuta],[MinRispContr] + ,[MinRispContrValuta],[SuccRispContr],[SuccRispContrValuta],[MinComm],[MinCommValuta],[DelegaGestionale],[TipologiaPerPick],[RischioPrezzo],[RegimeFiscale] + ,[Quotato],[ClasseDiPrezzo],[Lineefinacc],[DurataContrattuale],[RiscFinFaseAcc],[OpzRendVital],[MetaA],[MetaB],[MetaC],[DtRifPrezzo],[CodTipoContratto],[PrezzoNetto] + ,[PrezzoNettoValuta],[DtPrezzoNetto],[CodBloomberg],[DenomUnitLink],[DtInizioValidita],[Negoziabilita],[TassoTecnico],[TassoTecnicoValuta],[CollSkandia] + ,[CodAssetSatellite],[Mercato],[AzOb],[Complessita],[Emittente],[GaranziaDemografica],[SocietaDiGestione],[IndPrz],[Differimento],[DtPrezzo],[TipoObbligazione] + ,[TaglioMinimo],[IsAttivoRc],[RischioCredito],[Copertura],[VarP],[Diversificazione],[FlagCoreSatellite],[PerimetroCoreSatellite],[FondoCore],[TIP_EMITTENTE],[TIP_TASSO]) + VALUES + (null,303877,'GS','RB',null,null,'LU0433182507',null,null,1,null,'First Eagle Amundi International IHE EUR',1,null,98,null,null,null,null,null,null,null,'ASU1' + ,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null + ,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null + ,null,null,null) + UPDATE a + SET CATALOGUEID = + CASE WHEN codisin = '$' or codisin is null then '############' else CONVERT(char(12),codisin) END + + CASE WHEN codmaf = '$' or codmaf is null then '###############' else CONVERT(char(15),codmaf) END + + CASE WHEN codinterno = '$' or codinterno is null then '###############' else CONVERT(char(15),codinterno) END + + CASE WHEN codsottoprodotto = '$' or codsottoprodotto is null then '###############' else CONVERT(char(15),codsottoprodotto) END + from C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti a + where codinterno = 'RB' and codsottoprodotto = 'GS' AND CODMAF is null and codIsin = 'LU0433182507' + INSERT INTO [C6StagingPeriodicoImmobiliare].[RP_CatalogoProdotti] + ([CatalogueID],[ChiaveProdotto],[CodSottoprodotto],[CodInterno],[CodMaf],[CodAdeguatezza],[CodIsin],[TipoVersamento],[RischioPrSc],[StatoProdotto] + ,[TipoPolizza],[NomeProdotto],[Visibilita],[PrezzoInEuro],[Alberatura],[DtScadenza],[Categoria],[Istituto],[Piazza],[PrezzoInValuta],[PrezzoValuta] + ,[Codiceadb],[TipoProdotto],[RatingObbligazioni],[RischioMinimo],[CapRisparmio],[CapMinimo],[CapMinimoValuta],[CapMinSucc],[CapMinSuccValuta],[MinRispContr] + ,[MinRispContrValuta],[SuccRispContr],[SuccRispContrValuta],[MinComm],[MinCommValuta],[DelegaGestionale],[TipologiaPerPick],[RischioPrezzo],[RegimeFiscale] + ,[Quotato],[ClasseDiPrezzo],[Lineefinacc],[DurataContrattuale],[RiscFinFaseAcc],[OpzRendVital],[MetaA],[MetaB],[MetaC],[DtRifPrezzo],[CodTipoContratto],[PrezzoNetto] + ,[PrezzoNettoValuta],[DtPrezzoNetto],[CodBloomberg],[DenomUnitLink],[DtInizioValidita],[Negoziabilita],[TassoTecnico],[TassoTecnicoValuta],[CollSkandia] + ,[CodAssetSatellite],[Mercato],[AzOb],[Complessita],[Emittente],[GaranziaDemografica],[SocietaDiGestione],[IndPrz],[Differimento],[DtPrezzo],[TipoObbligazione] + ,[TaglioMinimo],[IsAttivoRc],[RischioCredito],[Copertura],[VarP],[Diversificazione],[FlagCoreSatellite],[PerimetroCoreSatellite],[FondoCore],[TIP_EMITTENTE],[TIP_TASSO]) + VALUES + (null,303879,'GS','RB',null,null,'LU0782316961',null,null,1,null,'JPM Global Income C Cap EUR',1,null,98,null,null,null,null,null,null,null,'ASU1' + ,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null + ,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null + ,null,null,null) + UPDATE a + SET CATALOGUEID = + CASE WHEN codisin = '$' or codisin is null then '############' else CONVERT(char(12),codisin) END + + CASE WHEN codmaf = '$' or codmaf is null then '###############' else CONVERT(char(15),codmaf) END + + CASE WHEN codinterno = '$' or codinterno is null then '###############' else CONVERT(char(15),codinterno) END + + CASE WHEN codsottoprodotto = '$' or codsottoprodotto is null then '###############' else CONVERT(char(15),codsottoprodotto) END + from C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti a + where codinterno = 'RB' and codsottoprodotto = 'GS' AND CODMAF is null and codIsin = 'LU0782316961' + -- fine modifiche per III trimestrale 2017 - 27/10/2017 ---------------------------------------------------------------- + --------------------------------------- modifiche per IV trimestrale 2017 - 17/1/2018 rimediare alla segnalazione + -- 'Scrittura Tabella PROVENTI : Errata Valorizzazione a NULL del campo Descrizione Prodotto' + -- per il cf: F/RGGVLR38S61H501U + update C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti + set visibilita = 1 + where codinterno = '04969190' and + codisin = 'IT0004969199' + ---------------------------------------- fine modifiche per IV trimestrale 2017 - 17/1/2018 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CatalogoProdotti' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_CatalogoProdotti' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_ChiaviMonitoraggio.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_ChiaviMonitoraggio.sql new file mode 100644 index 00000000..02911c26 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_ChiaviMonitoraggio.sql @@ -0,0 +1,43 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_ChiaviMonitoraggio] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ChiaviMonitoraggio', + GETDATE(), + 'Staging Immobiliare' + ) + truncate table C6StagingPeriodicoImmobiliare.[RP_ChiaviMonitoraggio] +INSERT INTO [C6StagingPeriodicoImmobiliare].[RP_ChiaviMonitoraggio] + ( + [IdMonitoraggio], + [ChiaveProgetto], + [DtCreazione], + [stato], + [dtFineMonitoraggio], + [flagVisualizzaStor] + ) + select * + from [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.ChiaviMonitoraggio + --filtro per non prendere le righe duplicate + WHERE stato = 1 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ChiaviMonitoraggio' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_ChiaviMonitoraggio' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_DettAltriProdotti.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_DettAltriProdotti.sql new file mode 100644 index 00000000..7f629d7d --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_DettAltriProdotti.sql @@ -0,0 +1,51 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_DettAltriProdotti] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettAltriProdotti', + GETDATE(), + 'Staging Immobiliare' + ) + truncate table C6StagingPeriodicoImmobiliare.RP_DettAltriProdotti + insert into C6StagingPeriodicoImmobiliare.RP_DettAltriProdotti + /* 21/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non più utilizzati per l'evolutiva patrimonio immobiliare. + select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.DettAltriProdotti + */ + select [chiaveProdottoTerzi], + [idTipoExtra], + [descrizione], + NULL, + [valoreStimato], + NULL, + NULL, + NULL, + [flagAssicurativo], + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettAltriProdotti + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettAltriProdotti' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_DettAltriProdotti' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_DettImmobiliare.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_DettImmobiliare.sql new file mode 100644 index 00000000..adaeaaf7 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_DettImmobiliare.sql @@ -0,0 +1,58 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_DettImmobiliare] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettImmobiliare', + GETDATE(), + 'Staging Immobiliare' + ) + truncate table C6StagingPeriodicoImmobiliare.RP_DettImmobiliare + insert into C6StagingPeriodicoImmobiliare.RP_DettImmobiliare + /* 21/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non più utilizzati. + Sostituzione del campo valore immobile con valoreimmobiletotale per l'evolutiva patrimonio immobiliare. + select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.DettImmobiliare*/ + select + [chiaveProdottoTerzi], + [descrizione], + [codProvincia], + [provincia], + [codComune], + [comune], + [codZona], + [zona], + [superficie], + NULL, + NULL, + NULL, + --[valoreImmobile], + [valoreImmobileTotale], + NULL, + [renditaAnnua], + NULL, + NULL, + NULL, + NULL, + NULL, + [codTipologia], + [tipologia] + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettImmobiliare + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettImmobiliare' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_DettImmobiliare' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_DettPatrAziendale.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_DettPatrAziendale.sql new file mode 100644 index 00000000..f914fbee --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_DettPatrAziendale.sql @@ -0,0 +1,52 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_DettPatrAziendale] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettPatrAziendale', + GETDATE(), + 'Staging Immobiliare' + ) + truncate table C6StagingPeriodicoImmobiliare.RP_DettPatrAziendale + insert into C6StagingPeriodicoImmobiliare.RP_DettPatrAziendale +/* 20/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non più utilizzati per l'evolutiva patrimonio immobiliare. +select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.DettPatrAziendale */ + select [chiaveProdottoTerzi], + NULL, + [denominazione], + [codTipoCompagnia], + [patrimonio], + NULL, + NULL, + NULL, + [idTipoAzienda], + NULL, + NULL, + [numQuote], + [valoreStimato], + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettPatrAziendale + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettPatrAziendale' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_DettPatrAziendale' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_DettProdottiTerzi.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_DettProdottiTerzi.sql new file mode 100644 index 00000000..3f234482 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_DettProdottiTerzi.sql @@ -0,0 +1,69 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_DettProdottiTerzi] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettProdottiTerzi', + GETDATE(), + 'Staging Immobiliare' + ) + truncate table C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi +--drop table C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi +--select * into C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi from [CONSEVO].[consulenzaEvoluta].dbo.DettProdottiTerzi + insert into C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi + select +chiaveProdottoTerzi, +idIntermediario, +alberatura, +nomeIntermediario, +dtInizioInvest, +totVersato, +totPrelevato, +valutaTotPrelevato, +chiaveProdotto, +numQuote, +divQuoteProd, +dtSottoscrizione, +valutaPremioVers, +tipoPolizza, +tipoVersamento, +tipoFormaPensionistica, +capitaleInvestito, +valutaCapInvestito, +contoPrincipale, +addebitoUtenze, +accreditoStipPens, +cartaCredito, +addebitoMutuo, +isin, +lineaFinanziaria, +fabbisognoPrev, +dtDecorrenza, +modalitaUso, +ctvUltimaPrestNota, +dtUltimaPrestNota, +flgPrestazioneScad, +dtTermineVers, +dtUltimoPremioNoto, +nomeCompagnia, +valutaCtvUltPrestNota +from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettProdottiTerzi + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettProdottiTerzi' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_DettProdottiTerzi' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_DettaglioPosizionePortafoglio.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_DettaglioPosizionePortafoglio.sql new file mode 100644 index 00000000..22a09a85 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_DettaglioPosizionePortafoglio.sql @@ -0,0 +1,57 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_DettaglioPosizionePortafoglio] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettaglioPosizionePortafoglio', + GETDATE(), + 'Staging Immobiliare' + ) + truncate table C6StagingPeriodicoImmobiliare.RP_DettaglioPosizionePortafoglio + insert into C6StagingPeriodicoImmobiliare.RP_DettaglioPosizionePortafoglio ( + [chiavePosizionePtf] + ,[ctv] + ,[rischioCredito] + ,[rischioMercato] + ,[copertura] + ,[isAttivoRC] + ,[ctvNonAllocabile] + ,[quantitaNominale] + ,[partitaViaggiante] + ,[ctvOut] + ,[ctvIni] + ,[dtSaldo] + ) + select + [chiavePosizionePtf], + [ctv], + null as [rischioCredito], --- Da verificare + null as [rischioMercato], + [copertura], + null as [isAttivoRC], --- Da verificare + [ctvNonAllocabile], + [quantitaNominale], + [partitaViaggiante], + [ctvOut], + [ctvIni], + [dtSaldo] + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioPosizionePortafoglio + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettaglioPosizionePortafoglio' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_DettaglioPosizionePortafoglio' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_InfoCliente.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_InfoCliente.sql new file mode 100644 index 00000000..f8efb6b1 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_InfoCliente.sql @@ -0,0 +1,84 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_InfoCliente] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_InfoCliente', + GETDATE(), + 'Elaborazione Trimestrale Immobiliare' + ) + truncate table C6StagingPeriodicoImmobiliare.RP_InfoCliente + insert into C6StagingPeriodicoImmobiliare.RP_InfoCliente + --select * into C6StagingPeriodicoImmobiliare.RP_Cliente from [CONSEVO].consulenzaUnica.dbo.Cliente + select + [chiaveClientePB] + ,[chiaveCliente] + ,[codFis] + ,[pIva] + ,[codMan] + ,[NomeCliente] + --,[CognomeCliente] + ,SUBSTRING([CognomeCliente], 1, 50) -- TOPPA INSERITA PERCHé MODIFCA NON COMUNICATA A REPORTISTA BATCH per errore staging_f1_main in data 08/07/2015 + ,[tipologia] + ,[dtScadQuest] + ,[profilo] + ,[dtQuestionario] + ,[frequenza] + ,[Agente] + ,[NomePb] + ,[CognomePb] + ,[StatoPb] + ,[rete] + ,[codiceContratto] + ,[StatoContratto] + ,[dtFirmaBase] + ,[dtEndBase] + ,[dtFirmaSei] + ,[dtEndSei] + ,[rendicSemestrale] + ,[dtNascita] + ,[sesso] + ,[TipContratto] + ,[ModPagamento] + ,[chiavePB] + ,[flagrol] + from [CONSUNI_PERIODICO].consulenzaUnica.dbo.vInfoCliente + --EN20160428: clienti di tipologia catastali non sono presenti sul sistema + -- sistema SEI e quindi da escludere ma quelli con tipologia NULL + -- son da includere. (senza modifica per FF@9133 non viene caricata l'anagrafica) + --where tipologia != 'c' + where ISNULL(tipologia,'') != 'c' + ----------- Modifica del 15/9/2017 per escluedere i seguenti cf doppi senza toccare il db del congelato + --chiaveClientePB(giusta) COD_FISCALE COD_MANDATO PIVA_FIDUCIARIA COD_AGENTE rete codiceContratto + --615359 BRDRRT69R21L378Q 005861 S 503566CO806 + --1667717 CSTPLA70M67F952U 006473 S 621961CO810 + --674782 CHRGLL44C55Z112E NULL 006302 S 696334CO810 + ---- da escludere perché doppi sulla cliente + --chiaveClientePB chiaveCliente codFis + --1830328 1648328 BRDRRT69R21L378Q + --1830432 1452802 CSTPLA70M67F952U NULL NULL PAOLA + --1818279 1636055 CHRGLL44C55Z112E NULL GISELA ELISABETH WILHELMI + --EN20171031 -- ricodifica da cf CHRGSL44C55Z112M in CHRGLL44C55Z112E effettuqto con successo e l'esclusione eliminata + --and [chiaveClientePB] not in (1830328,1830432,1818279) + and [chiaveClientePB] not in (1830328,1830432) + ----------- FINE Modifica del 15/9/2017 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_InfoCliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_InfoCliente' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Mappatura.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Mappatura.sql new file mode 100644 index 00000000..bdb2baef --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Mappatura.sql @@ -0,0 +1,31 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_Mappatura] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Mappatura', + GETDATE(), + 'Staging Immobiliare' + ) + truncate table C6StagingPeriodicoImmobiliare.RP_Mappatura + insert into C6StagingPeriodicoImmobiliare.RP_Mappatura + select * from [CONSUNI].CatalogoProdotti.dbo.Mappatura + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Mappatura' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_Mappatura' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_MappaturaPT.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_MappaturaPT.sql new file mode 100644 index 00000000..531d64cf --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_MappaturaPT.sql @@ -0,0 +1,32 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_MappaturaPT] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_MappaturaPT', + GETDATE(), + 'Staging Immobiliare' + ) + truncate table C6StagingPeriodicoImmobiliare.RP_MappaturaPT + insert into C6StagingPeriodicoImmobiliare.RP_MappaturaPT + --select * into C6StagingPeriodicoImmobiliare.RP_MappaturaPT from [CONSEVO].[consulenzaUnica].dbo.MappaturaPT + select * from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.MappaturaPT + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_MappaturaPT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_MappaturaPT' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Pianificazione.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Pianificazione.sql new file mode 100644 index 00000000..1d9b7e3c --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Pianificazione.sql @@ -0,0 +1,90 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_Migraz_Pianificazione] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Pianificazione', + GETDATE(), + 'Staging Immobiliare' + ) + truncate table C6StagingPeriodicoImmobiliare.RP_Migraz_Pianificazione + insert into C6StagingPeriodicoImmobiliare.RP_Migraz_Pianificazione ( + chiaveConsulenza + ,chiaveClientePB + ,dtUltimoAggiornamento + ,risorseFinanziarieBF + ,risorseFinanziarieTerzi + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,diversificazione + ,copertura + ,isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,token + ,lineaself + ) + SELECT + chiaveConsulenza + ,pian.chiaveClientePB + ,pian.dtAggiornamento + ,null as risorseFinanziarieBF + ,null as risorseFinanziarieTerzi + ,null as contoCorrente + ,case when (rischioCreditoDecodificatoRisAll like '%n.a.%') or (rischioCreditoDecodificatoRisAll like '%n.c.%') + or (rischioCreditoDecodificatoRisAll like '%classe%') then null else rischioCreditoDecodificatoRisAll end as rischioMercato + ,null as rischioCredito + ,coperturaRFA as diversificazione + ,coperturaRisAll as copertura + ,null as isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,tok.value as Token + ,null AS lineaself +FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.Pianificazione pian +left join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.token tok +on pian.chiaveToken = tok.chiavetoken +inner join [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.eventiCliente ev +on ev.chiaveclientePb = pian.chiaveclientepb +where ev.flagPianificazione = 0 +/* POPOLO RISORSE FINANZIARIE BF */ +SELECT SUM(dett.ctv) as RisorseFinanziareBF,pian.chiaveclientePB +into #APPO + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Pianificazione pian + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveconsulenza = pian.chiaveconsulenza + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + group by pian.chiaveclientePB + UPDATE C6StagingPeriodicoImmobiliare.RP_Pianificazione + SET risorseFinanziarieBF = a.RisorseFinanziareBF + from #APPO a + inner join C6StagingPeriodicoImmobiliare.RP_Pianificazione rpPian + on rpPian.chiaveclientePB = a.chiaveClientePB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Pianificazione' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_Migraz_Pianificazione' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Posizioni.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Posizioni.sql new file mode 100644 index 00000000..66374ff5 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Posizioni.sql @@ -0,0 +1,67 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_Migraz_Posizioni] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Posizioni', + GETDATE(), + 'Staging Immobiliare' + ) + truncate table C6StagingPeriodicoImmobiliare.RP_Migraz_Posizioni + insert into C6StagingPeriodicoImmobiliare.RP_Migraz_Posizioni +SELECT + ptf.[chiavePosizioneptf] + ,[chiaveProgetto] + ,[chiaveProdotto] + ,ptf.[dtInizioValidita] + ,'99991231' as dtFineValidita + ,[conto] + ,[rubricato] + ,[codConf] + ,[numPolizza] + ,[custGar] + ,[codAbi] + ,[termId] + ,[anno] + ,[prog] + ,null as Ctv + FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.PosizioniPortafoglio ptf + select sum(ctv) as Ctv,chiaveprodotto,pospor.chiaveposizionePtf,pospor.chiaveprogetto,codconf + into #appo + from [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.PosizioniPortafoglio pospor + inner join [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.dettaglioPosizionePortafoglio dett + on pospor.chiavePosizionePtf = dett.chiaveposizionePtf + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + on prog.chiaveprogetto = pospor.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Pianificazione pian + on a.chiaveconsulenza = pian.chiaveconsulenza + group by pospor.chiavePosizionePtf,pospor.chiaveprogetto,pospor.chiaveprodotto,codconf + UPDATE C6StagingPeriodicoImmobiliare.RP_Migraz_Posizioni + SET Ctv = a.Ctv + from #APPO a + inner join C6StagingPeriodicoImmobiliare.RP_Migraz_Posizioni migraz + on migraz.chiavePosizione = a.chiavePosizionePtf + and migraz.chiaveprogetto = a.chiaveProgetto + and migraz.chiaveprodotto = a.chiaveprodotto + and migraz.codconf = a.codconf + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Posizioni' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_Migraz_Posizioni' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Progetto.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Progetto.sql new file mode 100644 index 00000000..6abcc29b --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Migraz_Progetto.sql @@ -0,0 +1,65 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_Migraz_Progetto] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Progetto', + GETDATE(), + 'Staging Immobiliare' + ) + truncate table C6StagingPeriodicoImmobiliare.RP_Migraz_Progetto + insert into C6StagingPeriodicoImmobiliare.RP_Migraz_Progetto( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,varProgetto + ,coperturaProgetto + ,ctvProgetto + ,chiaveProgettoMod ) + select + prog.chiaveProgetto + -------------------------> modifica del 18/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non più distinta tra pre1 e pre2 + --,a.area + ,CASE + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + -------------------------> fine modifica del 16/1/2017 + else a.area END AS area + -------------------------> FINE modifica del 18/1/2017 + ,chiaveConsulenza + ,null as tipoProgetto -- NUOVO 16/09 + ,null as dtCreazione + ,null as varProgetto + ,coperturaProgetto + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_Migraz_Progetto' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_NeedArea.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_NeedArea.sql new file mode 100644 index 00000000..83aa8dbf --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_NeedArea.sql @@ -0,0 +1,33 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_NeedArea] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_NeedArea', + GETDATE(), + 'Staging Immobiliare' + ) + truncate table C6StagingPeriodicoImmobiliare.RP_NeedArea + insert into C6StagingPeriodicoImmobiliare.RP_NeedArea + /* 20161222 */ + --select * from [CONSEVO].[CatalogoProdotti].dbo.NeedArea + select * from [CONSUNI].[CatalogoProdotti].dbo.NeedArea + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_NeedArea' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_NeedArea' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_PROGETTICLIENTE.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_PROGETTICLIENTE.sql new file mode 100644 index 00000000..09b7ee03 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_PROGETTICLIENTE.sql @@ -0,0 +1,74 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_PROGETTICLIENTE] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PROGETTICLIENTE', + GETDATE(), + 'Staging Immobiliare' + ) +TRUNCATE TABLE C6StagingPeriodicoImmobiliare.[RP_PROGETTICLIENTE] +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto +INTO #ProgettiPianificazione +FROM + C6StagingPeriodicoImmobiliare.RP_Pianificazione AS pian + INNER JOIN C6StagingPeriodicoImmobiliare.RP_Progetto AS pro + ON pian.chiaveconsulenza = pro.chiaveconsulenza + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON pian.chiaveClientePB = contr.chiaveClientePB + WHERE + (pro.dtfinevalidita='99991231' or pro.dtfinevalidita is null) +--ricerco dati da Migrazione +SELECT + contr.chiaveClientePB + ,contr.rete + ,contr.cod_fiscale + ,promig.chiaveProgetto + ,promig.area + ,promig.tipoProgetto +INTO #ProgettiMigrazione +FROM + C6StagingPeriodicoImmobiliare.RP_Migraz_Pianificazione AS mig + INNER JOIN C6StagingPeriodicoImmobiliare.RP_Migraz_Progetto AS promig + ON mig.chiaveconsulenza = promig.chiaveconsulenza + LEFT JOIN #ProgettiPianificazione tc + ON mig.chiaveClientePB = tc.chiaveClientePB + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON mig.chiaveClientePB = contr.chiaveClientePB + WHERE + tc.chiaveClientePB IS NULL +INSERT INTO C6StagingPeriodicoImmobiliare.RP_PROGETTICLIENTE + SELECT * FROM #ProgettiPianificazione + UNION + SELECT * FROM #ProgettiMigrazione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PROGETTICLIENTE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_PROGETTICLIENTE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_PatrimonioTerzi.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_PatrimonioTerzi.sql new file mode 100644 index 00000000..4a46f85a --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_PatrimonioTerzi.sql @@ -0,0 +1,48 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_PatrimonioTerzi] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PatrimonioTerzi', + GETDATE(), + 'Staging Immobiliare' + ) + truncate table C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi +/* 20/05/2015FCianfa e LM: aggiunta della where condition e valorizzazione a NULL di campi non più utilizzati per l'evolutiva patrimonio immobiliare. +*/ + insert into C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi + SELECT [chiaveProdottoTerzi] + ,[chiaveClientePB] + ,[idTipoProdotto] + ,[nomeProdotto] + ,NULL + ,[valutaCtv] + ,[ctv] + ,NULL + ,[dataCtv] + ,[prezzoMedioCarico] + ,[tipoProd] + ,[dtFine] + ,[divisa] + ,[ultimoPrezzo] + FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].[dbo].[PatrimonioTerzi] + where dtFineValidita >getdate() + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PatrimonioTerzi' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_PatrimonioTerzi' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Pianificazione.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Pianificazione.sql new file mode 100644 index 00000000..2e1f8687 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Pianificazione.sql @@ -0,0 +1,103 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_Pianificazione] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Pianificazione', + GETDATE(), + 'Staging Immobiliare' + ) + truncate table C6StagingPeriodicoImmobiliare.RP_Pianificazione + insert into C6StagingPeriodicoImmobiliare.RP_Pianificazione ( + chiaveConsulenza + ,chiaveClientePB + ,dtUltimoAggiornamento + ,risorseFinanziarieBF + ,risorseFinanziarieTerzi + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,diversificazione + ,copertura + ,isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,dtPianificazioneOrizzontale + ,dtPianificazioneVerticale + ,token + ,varRisorseAllocate + ,coperturaRisorseAllocate + ,lineaself + ) + SELECT + chiaveConsulenza + ,pian.chiaveClientePB + ,pian.dtAggiornamento as dtUltimoAggiornamento + ,Null as risorseFinanziarieBF + ,Null as risorseFinanziarieTerzi + ,Null as contoCorrente + ,null as rischioCredito + ,case when (rischioCreditoDecodificatoRisAll like '%n.a.%') or (rischioCreditoDecodificatoRisAll like '%n.c.%') + or (rischioCreditoDecodificatoRisAll like '%classe%') then null else rischioCreditoDecodificatoRisAll end as rischioMercato + --rischioCreditoDecodificatoRFA as rischioCredito + ,coperturaRFA as diversificazione + ,coperturaRisAll as copertura + ,null as isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,dtPianificazioneOrizzontale + ,dtPianificazioneVerticale + ,tok.value as Token + ,null as varRisorseAllocate + ,coperturaRisorseAllocate + ,null AS lineaself +FROM [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Pianificazione pian +--------------------- modifica del 13/1/2017 (inner join cambiata con left) +left join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.token tok +--------------------- fine modifica del 13/1/2017 (inner join cambiata con left) +on pian.chiaveToken = tok.chiavetoken +inner join [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.eventiCliente ev +on ev.chiaveclientePb = pian.chiaveclientepb +--------------------- modifica del 13/1/2017 (flag pianificazione non più gestito; tutti pianificati) +--where ev.flagPianificazione = 1 +--------------------- fine modifica del 13/1/2017 +/* POPOLO RISORSE FINANZIARIE BF */ +SELECT SUM(dett.ctv) as RisorseFinanziareBF,pian.chiaveclientePB +into #APPO + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Pianificazione pian + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveconsulenza = pian.chiaveconsulenza + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + group by pian.chiaveclientePB + UPDATE C6StagingPeriodicoImmobiliare.RP_Pianificazione + SET risorseFinanziarieBF = a.RisorseFinanziareBF + from #APPO a + inner join C6StagingPeriodicoImmobiliare.RP_Pianificazione rpPian + on rpPian.chiaveclientePB = a.chiaveClientePB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Pianificazione' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_Pianificazione' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_PosizioniPortafoglio.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_PosizioniPortafoglio.sql new file mode 100644 index 00000000..7cc3736f --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_PosizioniPortafoglio.sql @@ -0,0 +1,46 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_PosizioniPortafoglio] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PosizioniPortafoglio', + GETDATE(), + 'Staging Immobiliare' + ) + truncate table C6StagingPeriodicoImmobiliare.RP_PosizioniPortafoglio + insert into C6StagingPeriodicoImmobiliare.RP_PosizioniPortafoglio + select +chiavePosizionePtf, +chiaveProgetto, +dtInizioValidita, +'99991231' as[dtFineValidita], +chiaveProdotto, +conto, +rubricato, +codConf, +numPolizza, +custGar, +codAbi, +termId, +anno, +prog + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniPortafoglio + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PosizioniPortafoglio' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_PosizioniPortafoglio' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_ProgettiPiramideModello.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_ProgettiPiramideModello.sql new file mode 100644 index 00000000..870550fa --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_ProgettiPiramideModello.sql @@ -0,0 +1,102 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_ProgettiPiramideModello] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ProgettiPiramideModello', + GETDATE(), + 'Staging IMMOBILIARE' + ) + --INSERT INTO C6MARTPERIODICO.TEST_QUALITY + --SELECT DISTINCT + -- d.rete, + --case when(isnull(ltrim(rtrim(codman)),'') <> '') then 'FF@'+codman + -- when (isnull(codfis,'') <> '') then codfis + -- else c.piva + --end as Cod_fiscale, + -- 'SCARTO PER PIRAMIDE MODELLO tipoprogetto > 1' AS MOTIVO + --FROM [CONSUNI_PERIODICO].[consulenzaunica].dbo.Contratto a + --JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.ClientePB b + -- ON b.chiaveClientePB = a.chiaveClientePB + -- AND a.status in ('SEI','AVANZATOBASE','REVOCASEI') + --JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.Cliente c + -- ON b.chiaveCliente = c.chiaveCliente + --JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.PromotoreBancario d + -- ON b.chiavePB = d.chiavePB + --WHERE + -- A.chiaveclientepb in ( + -- select distinct chiaveclientepb + -- FROM + -- ( + -- --SELECT chiaveclientepb,area,tipoprogetto,COUNT(*) as c FROM + -- --[CONSUNI_PERIODICO].[consulenzaEvoluta].dbo.ProgettiPiramideModello + -- --where tipoprogetto =0 and area <> 'na' and isnull(dtFineValidita,'99991231')>GETDATE() + -- --group by chiaveclientepb,area,tipoprogetto + -- --having COUNT(*)<>1 + -- SELECT chiaveclientepb,area,COUNT(*) as c + -- FROM [CONSUNI_PERIODICO].consulenzaunica.dbo.piramidemodello pirmod + -- inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.areamodello areamod + -- on pirmod.chiavePiramideMod = areamod.chiaveAreaMod + -- inner join [CONSUNI_PERIODICO].[consulenzaunica].dbo.ProgettiPiramideModello progmod + -- on progmod.chiaveAreaMod = areamod.chiaveAreaMod + -- where area <> 'na' + -- group by chiaveclientepb,area + -- having COUNT(*)<>1 + -- ) t + --) + --drop table C6StagingPeriodicoImmobiliare.RP_ProgettiPiramideModello + truncate table C6StagingPeriodicoImmobiliare.RP_ProgettiPiramideModello + insert into C6StagingPeriodicoImmobiliare.RP_ProgettiPiramideModello +select + prog.chiaveProgettoMod + ,pian.chiaveClientePB + -------------------------> modifica del 18/1/2017 per correggere le anomalie dovute al nome area 'pre1'e 'pre2' + --,am.area + ,CASE + WHEN pirMod.nomeProgetto = 'Previdenza Essenziale' and am.area = 'Pre' THEN 'Pre1' + WHEN pirMod.nomeProgetto = 'Previdenza Secondaria' and am.area = 'Pre' THEN 'Pre2' + ELSE AM.AREA + END AS area + -------------------------> fine modifica del 18/1/2017 + ,percentualeProgetto + ,null as tipoProgetto + /* 20161215 imposta per area previdenza il nome progetto a Default */ + --,nomeProgetto + ,case when am.area = 'Pre' + then 'Default' + else nomeProgetto + end AS nomeProgetto + /* 20161215 fine */ + ,[durata] + ,[note] + ,'99991231' as dtFineValidita + ,null as [dtCreazione] + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.ProgettiPiramideModello pirmod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on prog.chiaveprogettoMod = pirmod.chiaveProgettoMod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.AreaModello am + on am.chiaveAreaMod = pirmod.ChiaveAreaMod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + on a.chiaveArea = prog.chiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Pianificazione pian + on pian.chiaveconsulenza = a.chiaveconsulenza + --update C6StagingPeriodicoImmobiliare.RP_ProgettiPiramideModello set nomeProgetto = null where tipoprogetto = 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ProgettiPiramideModello' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_ProgettiPiramideModello' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Progetto.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Progetto.sql new file mode 100644 index 00000000..6433b415 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_Progetto.sql @@ -0,0 +1,140 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_Progetto] as +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto', + GETDATE(), + 'Staging Immobiliare' + ) + truncate table C6StagingPeriodicoImmobiliare.RP_Progetto + insert into C6StagingPeriodicoImmobiliare.RP_Progetto + ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,varProgetto + ,coperturaProgetto + ,profiloProgetto + ,orizzonteTemporale + ,ctvProgetto + ,chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,percProgetto + ,ctvPianificato + ,chiavePtfMod + ,dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset ) + select + prog.chiaveProgetto + -------------------------> modifica del 13/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non più distinta tra pre1 e pre2 + --,a.area + ,CASE + -------------------------> modifica del 16/1/2017 per correggere le anomalie dovute al nome progetto 'previdenza' sulle aree inv + --WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' THEN 'Pre1' + --WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' THEN 'Pre2' + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + -------------------------> fine modifica del 16/1/2017 + else a.area END AS area + -------------------------> FINE modifica del 13/1/2017 + ,chiaveConsulenza + ,null as tipoProgetto -- NULL 16/09 + ,propirMod.dtInizioValidita as dtCreazione + ,prog.dtaggiornamento as dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,Null as varProgetto + ,coperturaProgetto + ,null as profiloProgetto + /* 20170117 durata > 9 anni */ + ,SUBSTRING (propirMod.durata,1,2) as orizzonteTemporale + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,null as percProgetto + ,ctvPianificato + ,chiavePtfMod + ,'99991231' as dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset + ------------------> MODIFICA DEL 17/1/2017 -- SI DEVE PUNTARE AL CONGELATO E NON ALL'ONLINE + --from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + --inner join CONSUNI.ConsulenzaUnica.dbo.area a + --on a.chiaveArea = prog.chiavearea + --inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + --on propirMod.chiaveprogettomod = prog.chiaveprogettomod + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + ------------------> fine MODIFICA DEL 17/1/2017 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_Progetto' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto_2', + GETDATE(), + 'Staging Immobiliare' + ) + ------------------> MODIFICA DEL 06/11/2017 -- inzio -- durata progetto da PortafoglioModello.orizzontetemporale + select prog.chiaveprogettomod , pm.orizzonteTemporale + into #temp_orizzonteTemporale_ok + from C6StagingPeriodicoImmobiliare.RP_Progetto prog + inner join [consuni_periodico].consulenzaunica.[dbo].PortafoglioModello pm + on prog.chiaveptfMod=pm.chiaveptfMod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + --where prog.orizzontetemporale<>pm.orizzonteTemporale + update C6StagingPeriodicoImmobiliare.RP_Progetto + set RP_Progetto.orizzonteTemporale=ok.orizzonteTemporale + from #temp_orizzonteTemporale_ok ok + where RP_Progetto.chiaveprogettoMod=ok.chiaveprogettoMod + ------------------> MODIFICA DEL 06/11/2017 -- fine + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_Progetto' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql new file mode 100644 index 00000000..ad978adb --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql @@ -0,0 +1,34 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_REP_ASSET_1_E_2_ORDINATE] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_REP_ASSET_1_E_2_ORDINATE', + GETDATE(), + 'Staging Immobiliare' + ) + --drop table C6StagingPeriodicoImmobiliare.RP_REP_ASSET_1_E_2_ORDINATE + truncate table C6StagingPeriodicoImmobiliare.RP_REP_ASSET_1_E_2_ORDINATE + insert into C6StagingPeriodicoImmobiliare.RP_REP_ASSET_1_E_2_ORDINATE + select * + --into C6StagingPeriodicoImmobiliare.RP_REP_ASSET_1_E_2_ORDINATE + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.REP_ASSET_1_E_2_ORDINATE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_REP_ASSET_1_E_2_ORDINATE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_REP_ASSET_1_E_2_ORDINATE' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql new file mode 100644 index 00000000..8afc1d88 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql @@ -0,0 +1,31 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3', + GETDATE(), + 'Staging Immobiliare' + ) + truncate table C6StagingPeriodicoImmobiliare.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + insert into C6StagingPeriodicoImmobiliare.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + select * from [CONSUNI_PERIODICO].[consulenzaUnica].[dbo].[REP_S4_S5_S13_TRAD_UNTIL_LIV3] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI.sql new file mode 100644 index 00000000..c61d554c --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI.sql @@ -0,0 +1,757 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- Aggiunta GESTIONE Fogli V301 (Colaneri, 31/01/2019) +-- ============================================= +--select count(*) from C6StagingPeriodicoImmobiliare.spb_contr_sintesi +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_SPB_CONTR_SINTESI] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Mart Immobiliare' + ) +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + Declare @dtTrime as decimal; + Declare @dtTrimePrec as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + TRUNCATE TABLE [C6StagingPeriodicoImmobiliare].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodicoImmobiliare].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192') + -- Modifica del 31/01/2019 AC + -- dalla WSEICS va esclusa anche la riga che riguarda il prodotto V301 (assimilato a L191 e L192). Questo tipo di prodotti viene caricato, come dettaglio, dalla WSEIGP (vedi ultime select) + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192', 'V301','V302','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') --aggiunto v302 16-05-2022 --aggiunto 3L 25/07/2022 + -- Fine modifica del 31/01/2019 AC +--INIZIO INTERVENTO MIGRAZIONE ASU3 +--INIZIO INTERVENTO 'RE' - 20161213 + --AND CODINT NOT IN ('RS','RB','RV','RM') + --INIZIO INTERVENTO 'RF/MP' - 20171204 + --AND CODINT NOT IN ('RS','RB','RV','RM','RE') + AND CODINT NOT IN ('RS','RB','RV','RM','RE','RF','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') --aggiunto 3L 25/07/2022 + --FINE INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 +--INIZIO INTERVENTO MIGRAZIONE ASU3 +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'ASU1' AS TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,UL.ISINFIT AS ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.CODINT = UL.CODINT + AND CS.SUBPROD = UL.SUBPROD + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +--INIZIO INTERVENTO 'RE' - 20161213 + --AND UL.CODINT IN ('RS','RB','RV','RM') + --INIZIO INTERVENTO 'RF/MP' - 20171204 + --AND UL.CODINT IN ('RS','RB','RV','RM','RE') + AND UL.CODINT IN ('RS','RB','RV','RM','RE','RF','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') --aggiunto 3L 25/07/2022 + --FINE INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 +AND C6.UltimoAperto = 1 +--FINE INTERVENTO MIGRAZIONE ASU3 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime ) AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = @dtTrime + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 +--inizio intervento per Omnia linea Self +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192')) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192') + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +--fine intervento per Omnia linea Self +-- Modifica del 31/01/2019 AC prodotti MioFoglio +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('V301','V302')) AS CS --aggiunto v302 16-05-2022 + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('V301','V302') --aggiunto v302 16-05-2022 + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +-- Fine Modifica del 31/01/2019 +--inizio inserimento su testquality emanuele +--insert into c6martperiodico.test_quality +--select distinct rete, codfis, 'LINEA SELF ISIN A NULL SU TABELLA WSEIGP' from C6StagingPeriodico.WSEIGP where isin is null +--fine inserimento su testquality emanuele + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql new file mode 100644 index 00000000..a100cba3 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql @@ -0,0 +1,546 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select count(*) from C6StagingPeriodicoImmobiliare.spb_contr_sintesi +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Staging Immobiliare' + ) +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = C6MartPeriodicoImmobiliare.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,C6MartPeriodicoImmobiliare.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,C6MartPeriodicoImmobiliare.gettrimestre2(getdate(),0)) ) + Declare @dtTrime as decimal; + Declare @dtTrimePrec as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + TRUNCATE TABLE [C6StagingPeriodicoImmobiliare].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodicoImmobiliare].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192') +--INIZIO INTERVENTO MIGRAZIONE ASU3 +--INIZIO INTERVENTO 'RE' - 20161213 + --AND CODINT NOT IN ('RS','RB','RV','RM') + --INIZIO INTERVENTO 'RF/MP' - 20171204 + --AND CODINT NOT IN ('RS','RB','RV','RM','RE') + AND CODINT NOT IN ('RS','RB','RV','RM','RE','RF') + --FINE INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 +--INIZIO INTERVENTO MIGRAZIONE ASU3 +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'ASU1' AS TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,UL.ISINFIT AS ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.CODINT = UL.CODINT + AND CS.SUBPROD = UL.SUBPROD + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +--INIZIO INTERVENTO 'RE' - 20161213 + --AND UL.CODINT IN ('RS','RB','RV','RM') + --INIZIO INTERVENTO 'RF/MP' - 20171204 + --AND UL.CODINT IN ('RS','RB','RV','RM','RE') + AND UL.CODINT IN ('RS','RB','RV','RM','RE','RF') + --FINE INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 +AND C6.UltimoAperto = 1 +--FINE INTERVENTO MIGRAZIONE ASU3 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime ) AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = @dtTrime + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 +--inizio intervento per Omnia linea Self +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192')) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192') + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +--fine intervento per Omnia linea Self +--inizio inserimento su testquality emanuele +--insert into C6MartPeriodicoImmobiliare.test_quality +--select distinct rete, codfis, 'LINEA SELF ISIN A NULL SU TABELLA WSEIGP' from C6StagingPeriodico.WSEIGP where isin is null +--fine inserimento su testquality emanuele + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_AGGIORNA_DATAFINEVALIDITAPROFILO.sql b/sql/storedProduzione/C6StagingPeriodico_AGGIORNA_DATAFINEVALIDITAPROFILO.sql new file mode 100644 index 00000000..4eb9f6d1 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_AGGIORNA_DATAFINEVALIDITAPROFILO.sql @@ -0,0 +1,11 @@ +-- Questa sp aggiorna la data fine validità del profilo del cliente aggiungendo tre anni alla data di inizio validità +CREATE procedure [C6StagingPeriodico].[AGGIORNA_DATAFINEVALIDITAPROFILO] +AS +BEGIN + update a set [DTFINVAL] = + case when [DTINVAL] = 0 then 0 + else CONVERT(VARCHAR(10),dateadd(year,3,convert(datetime,convert(varchar,DTINVAL))),112) end + from + [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] a + where dttrim = c6martperiodico.getTrimestre2(getDate(),0) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_AGGIORNA_TANAB_CTV.sql b/sql/storedProduzione/C6StagingPeriodico_AGGIORNA_TANAB_CTV.sql new file mode 100644 index 00000000..1df2c5b4 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_AGGIORNA_TANAB_CTV.sql @@ -0,0 +1,14 @@ +-- Questa sp martella i clienti che risultano disallineati, query in cui ctv = 0 +CREATE procedure [C6StagingPeriodico].[AGGIORNA_TANAB_CTV] +AS +BEGIN + declare @dttrim varchar(10) + set @dttrim = c6martperiodico.getTrimestre2(getDate(),0) + update a set a.ctv = 0.00 + from c6stagingperiodico.tanab a + inner join c6stagingperiodico.appo_contratti b + on a.rete=b.rete and a.codfis=b.cod_fiscale + where dtctv <> @dttrim + and dtctv <> '0' + and ctv <> 0 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_AGGIORNA_WSEIAN_FLAGPERPROF.sql b/sql/storedProduzione/C6StagingPeriodico_AGGIORNA_WSEIAN_FLAGPERPROF.sql new file mode 100644 index 00000000..f9ac35a8 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_AGGIORNA_WSEIAN_FLAGPERPROF.sql @@ -0,0 +1,10 @@ +-- Forzatura sulla WSEIAN per i clienti professionali: forzare a 'S' nella WSEIAN i campi CLCOMPL, FLGCONC +CREATE procedure [C6StagingPeriodico].[AGGIORNA_WSEIAN_FLAGPERPROF] +AS +BEGIN +print ('ok') + --update a set CLCOMPL = 'S', FLGCONC = 'S' + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] a + --where flgprof = 'S' + -- and dttrim = c6martperiodico.getTrimestre2(getDate(),0) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_AggiornaContrattiPretrimestrale.sql b/sql/storedProduzione/C6StagingPeriodico_AggiornaContrattiPretrimestrale.sql new file mode 100644 index 00000000..e1a835f3 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_AggiornaContrattiPretrimestrale.sql @@ -0,0 +1,76 @@ +CREATE procedure [C6StagingPeriodico].[AggiornaContrattiPretrimestrale] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'AggiornaContrattiPretrimestrale', + GETDATE(), + 'Elaborazione trimestrale' + ) +INSERT INTO C6StagingPeriodico.ContrattiPreTrimestrale +SELECT + v.chiaveclientepb, + [Cod_Fiscale], + [Cod_Mandato], + [PIva_Fiduciaria], + [Cod_Agente], + [Rete], + [CodiceContratto], + [FlagROL], + [Indirizzo], + [CAP], + [Citta], + [Provincia], + [Nazione], + [Presso], + [Email], + [Freq_Diagnosi], + [FREQ_MONITORAGGIO], + GENERAZIONEREPORT, + DATA_INIZIOBASE, + DATA_FINEBASE, + DATA_PERF_BASE, + DATA_PERF, + DATA_INZIOAVANZATO, + DATA_FINEAVANZATO, + RIATTIVAZIONE, + m.TIP_CONTRATTO, + TIP_RIATTIVAZIONE, + ClienteMIGRATO, + RISORSENA, + PROFILOATTIVO, + NumSolleciti, + NumRevoche, + Data_ultimoSollecito, + Data_ultimaRevoca, + InvioBenvenuto +FROM + [C6Mart].[vContratti] v + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] m + ON v.chiaveclientepb = m.chiaveclientepb +WHERE rete+cod_fiscale+codicecontratto IN +(SELECT rete+codfis+codcontratto FROM ScartiQuadratura WHERE bloccato = 0 and gestito = 0) +UPDATE + ScartiQuadratura +SET + gestito = 1 +WHERE + bloccato = 0 and gestito = 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'AggiornaContrattiPretrimestrale' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'AggiornaContrattiPretrimestrale' + ) \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_CheckDisallineati.sql b/sql/storedProduzione/C6StagingPeriodico_CheckDisallineati.sql new file mode 100644 index 00000000..ebf04931 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_CheckDisallineati.sql @@ -0,0 +1,53 @@ +CREATE procedure C6StagingPeriodico.CheckDisallineati as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'CheckDisallineati', + GETDATE(), + 'Elaborazione Trimestrale' + ) + DECLARE @NumRec Int; + Select @NumRec = count(*) from + consevo_periodico.ConsulenzaEvoluta.dbo.Pianificazione pian + INNER JOIN + consevo_periodico.ConsulenzaEvoluta.dbo.Progetto prg + ON prg.chiaveConsulenza=pian.chiaveConsulenza + INNER JOIN + consevo_periodico.ConsulenzaEvoluta.dbo.PosizioniPortafoglio ptf + ON ptf.chiaveProgetto=prg.chiaveProgetto + LEFT JOIN + consevo_periodico.ConsulenzaEvoluta.dbo.PosizioniMonitorate moni + ON moni.chiaveposizioneptf=ptf.chiaveposizioneptf + INNER JOIN + consevo_periodico.CatalogoProdotti.dbo.CatalogoProdotti cat + ON cat.ChiaveProdotto=ptf.chiaveProdotto + WHERE prg.flagAvviatoMonitoraggio=1 + AND ptf.dtFineValidita>GETDATE() + AND (moni.dtFineValidita>GETDATE() or moni.dtFineValidita is null) + AND moni.chiaveposizioneptf is null + if @NumRec > 0 + RAISERROR (N'Errore', -- Message text. + 10, -- Severity, + 1, -- State, + N'number', -- First argument. + 5); -- Secon + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'Check', + Righe = @@ROWCOUNT + WHERE + Nome = 'CheckDisallineati' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Proposta' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_ClienteProdottiAssicurativiVita.sql b/sql/storedProduzione/C6StagingPeriodico_ClienteProdottiAssicurativiVita.sql new file mode 100644 index 00000000..870ed96b --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_ClienteProdottiAssicurativiVita.sql @@ -0,0 +1,23 @@ +CREATE procedure [C6StagingPeriodico].[ClienteProdottiAssicurativiVita] +@Rete as varchar(1), +@CodiceFiscale as varchar(16) +as +declare @tblFlagNota table +( + FlagAssVita char(1) +) +DECLARE @conta INT +SELECT @conta = count(*) +from C6MartPeriodico.PATRIMONIO_BF bf +inner join C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT +on bf.COD_PRODOTTO = kat.CatalogueID +where kat.Alberatura in (7,8,9) + AND bf.cod_fiscale = @CodiceFiscale + AND bf.rete = @Rete +if @conta >= 1 +begin + insert into @tblFlagNota (FlagAssVita) Values ('S') +end +else + insert into @tblFlagNota (FlagAssVita) Values ('N') +Select FlagAssVita from @tblFlagNota \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_ClienteProdottiAssicurativiVita_Totali.sql b/sql/storedProduzione/C6StagingPeriodico_ClienteProdottiAssicurativiVita_Totali.sql new file mode 100644 index 00000000..1b584471 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_ClienteProdottiAssicurativiVita_Totali.sql @@ -0,0 +1,17 @@ +--Verifica tutti i clienti della APPO_CONTRATTI se hanno la nota fai +--per il singolo cliente [C6StagingPeriodico].[ClienteProdottiAssicurativiVita] 'F','BBNNLL48T52E730L' +CREATE procedure [C6StagingPeriodico].[ClienteProdottiAssicurativiVita_Totali] +as +drop table if exists #assicurativi +SELECT distinct rete,cod_fiscale,count(*) as conta +into #assicurativi +from C6MartPeriodico.PATRIMONIO_BF bf +inner join C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT +on bf.COD_PRODOTTO = kat.CatalogueID +where kat.Alberatura in (7,8,9) and + bf.rete+bf.cod_fiscale in (select rete+COD_FISCALE from C6StagingPeriodico.APPO_CONTRATTI) +group by rete,COD_FISCALE + select a.rete,a.COD_FISCALE, + case when f.conta is null then 'NO' + else 'SI' end as ASSICURATIVI + from C6stagingPeriodico.APPO_CONTRATTI a left join #assicurativi f on a.rete+a.COD_FISCALE=f.RETE+f.COD_FISCALE \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_ClienteProdottiFAI.sql b/sql/storedProduzione/C6StagingPeriodico_ClienteProdottiFAI.sql new file mode 100644 index 00000000..7dd6a145 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_ClienteProdottiFAI.sql @@ -0,0 +1,34 @@ +CREATE procedure [C6StagingPeriodico].[ClienteProdottiFAI] +@Rete as varchar(1), +@CodiceFiscale as varchar(16) +as +declare @tblFlagNota table +( + FlagFAI char(1), + DataFAI varchar(10) +) + --DECLARE @dtrim VARCHAR(8) + --set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + --print @dtrim + Declare @dtrimFAI varchar(10) + set @dtrimFAI = Convert(varchar(10), Cast(c6martperiodico.getPreviousTrimestre(getDate(),0) as Datetime),103) + print @dtrimFAI +DECLARE @conta INT +SELECT @conta = count(*) +FROM [C6MartPeriodico].[PATRIMONIO_BF] +WHERE rtrim(ltrim(cod_interno)) IN ( + 'IA', + 'IP', + 'IC', + 'ID', + 'PE' + ) + AND cod_fiscale = @CodiceFiscale + AND rete = @Rete +if @conta >= 1 +begin + insert into @tblFlagNota (FlagFAI,DataFAI) Values ('S',@dtrimFAI) +end +else + insert into @tblFlagNota (FlagFAI,DataFAI) Values ('N',@dtrimFAI) +Select FlagFAI,DataFAI from @tblFlagNota \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_ClienteProdottiFAI_Totali.sql b/sql/storedProduzione/C6StagingPeriodico_ClienteProdottiFAI_Totali.sql new file mode 100644 index 00000000..987abeae --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_ClienteProdottiFAI_Totali.sql @@ -0,0 +1,21 @@ +--Verifica tutti i clienti della APPO_CONTRATTI se hanno la nota fai +--per il singolo cliente [C6StagingPeriodico].[ClienteProdottiFAI] 'F','BBNNLL48T52E730L' +CREATE procedure [C6StagingPeriodico].[ClienteProdottiFAI_Totali] +as +drop table if exists #fai +SELECT distinct rete,COD_FISCALE, count(*) as Conta +into #fai +FROM [C6MartPeriodico].[PATRIMONIO_BF] +WHERE rtrim(ltrim(cod_interno)) IN ( + 'IA', + 'IP', + 'IC', + 'ID', + 'PE' + ) + and rete+COD_FISCALE in (select rete+COD_FISCALE from C6StagingPeriodico.APPO_CONTRATTI) + group by rete,COD_FISCALE + select a.rete,a.COD_FISCALE, + case when f.conta is null then 'NO' + else 'SI' end as FAI + from C6stagingPeriodico.APPO_CONTRATTI a left join #fai f on a.rete+a.COD_FISCALE=f.RETE+f.COD_FISCALE \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_CopiaTabelleDiReplica.sql b/sql/storedProduzione/C6StagingPeriodico_CopiaTabelleDiReplica.sql new file mode 100644 index 00000000..603817b5 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_CopiaTabelleDiReplica.sql @@ -0,0 +1,59 @@ +CREATE procedure [C6StagingPeriodico].[CopiaTabelleDiReplica] +AS +set nocount on + begin try + insert into LOG_ESECUZIONE_periodico values ( + 'CopiaTabelleDiReplica', + GETDATE(), + null, + 'Copia', + null,'Elaborazione trimestrale') + declare @KO int + set @KO = 0 + declare @err varchar(500) + set @err = '' + -- Modifica del 29/01/2019 + --declare @query nvarchar(max) + --declare @today datetime + --declare @sToday varchar(10) + -- Fine modifica del 29/01/2019 + declare @res table (tablename varchar(100)) + --SET FMTONLY ON + -- Modifica del 29/01/2019 + --set @today = getdate() + --set @sToday = convert(varchar(4), datepart(yyyy, @today)) + right('0' + convert(varchar(2), datepart(mm, @today)), 2) + right('0' + convert(varchar(2), datepart(dd, @today)), 2) + -------------------------------------- TANAB + --set @query = 'select * into C6Stagingperiodico.TANAB_' + @sToday + '_preUpdate from C6Stagingperiodico.TANAB' + --insert @res + --exec sys.sp_executesql @query + -------------------------------------- WSEIAN + --set @query = 'select * into C6Stagingperiodico.WSEIAN_' + @sToday + '_preUpdate from C6Stagingperiodico.WSEIAN' + --insert @res + --exec sys.sp_executesql @query + -- Fine modifica del 29/01/2019 + exec dbo.CreaTabellaBackUp 'TANAB', 'C6Stagingperiodico', 'preUpdate' + exec dbo.CreaTabellaBackUp 'WSEIAN2', 'C6Stagingperiodico', 'preUpdate' + ----------------------------------- + UPDATE + LOG_ESECUZIONE_periodico + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'CopiaTabelleDiReplica' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_periodico + WHERE + Nome = 'CopiaTabelleDiReplica' + ) + end try + begin catch + set @KO = 1 + set @err = ERROR_MESSAGE() + RAISERROR (50000,-1,-1, 'Lancio Trimestrale - Errore C6MartPeriodico.CopiaTabelleDiReplica'); + return + end catch \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_CopiaTabelleDiReplica_20190129.sql b/sql/storedProduzione/C6StagingPeriodico_CopiaTabelleDiReplica_20190129.sql new file mode 100644 index 00000000..3443f808 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_CopiaTabelleDiReplica_20190129.sql @@ -0,0 +1,53 @@ +CREATE procedure [C6StagingPeriodico].[CopiaTabelleDiReplica_20190129] +AS +set nocount on + begin try + insert into LOG_ESECUZIONE_periodico values ( + 'CopiaTabelleDiReplica', + GETDATE(), + null, + 'Copia', + null,'Elaborazione trimestrale') + declare @KO int + set @KO = 0 + declare @err varchar(500) + set @err = '' + declare @query nvarchar(max) + declare @today datetime + declare @sToday varchar(10) + declare @res table (tablename varchar(100)) + --SET FMTONLY ON + set @today = getdate() + set @sToday = convert(varchar(4), datepart(yyyy, @today)) + right('0' + convert(varchar(2), datepart(mm, @today)), 2) + right('0' + convert(varchar(2), datepart(dd, @today)), 2) + ------------------------------------ TANAB + set @query = 'select * into C6Stagingperiodico.TANAB_' + @sToday + '_preUpdate from C6Stagingperiodico.TANAB' + insert @res + exec sys.sp_executesql @query + ------------------------------------ WSEIAN + set @query = 'select * into C6Stagingperiodico.WSEIAN_' + @sToday + '_preUpdate from C6Stagingperiodico.WSEIAN' + insert @res + exec sys.sp_executesql @query + ----------------------------------- + UPDATE + LOG_ESECUZIONE_periodico + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'CopiaTabelleDiReplica' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_periodico + WHERE + Nome = 'CopiaTabelleDiReplica' + ) + end try + begin catch + set @KO = 1 + set @err = ERROR_MESSAGE() + RAISERROR (50000,-1,-1, 'Lancio Trimestrale - Errore C6MartPeriodico.CopiaTabelleDiReplica'); + return + end catch \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_EstrazioneProfiliInScadenza.sql b/sql/storedProduzione/C6StagingPeriodico_EstrazioneProfiliInScadenza.sql new file mode 100644 index 00000000..a87ef2be --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_EstrazioneProfiliInScadenza.sql @@ -0,0 +1,55 @@ +--EXEC EstrazioneProfiliInScadenza 20110509 +CREATE procedure [C6StagingPeriodico].[EstrazioneProfiliInScadenza] +as +BEGIN + DECLARE @id_periodiodo as int + select @id_periodiodo = max(id_periodo) from [10.10.32.84].SEIAlertDW.[dbo].[Vis_Mifid_Report] + TRUNCATE TABLE C6STAGINGPERIODICO.MAIL_PROFILI_RISCHIO + INSERT INTO C6STAGINGPERIODICO.MAIL_PROFILI_RISCHIO + select + a.rete, cod_fiscale, codicecontratto, cod_agente, data_sott, data_perf, + inviobenvenuto as flag_invio_report, profiloAss As Profilo, + dtprofilo as dt_creazione_profilo + from + c6mart.contrattosei a + left outer join + [10.10.32.84].SEIAlertDW.[dbo].[Vis_Mifid_Report] b + on + (case + when len(CodMan) = 0 + then b.CodFiscale + else 'FF@'+ CodMan + end) = a.cod_fiscale + and a.rete=b.rete + and a.cod_agente = substring(b.codagente, 2, len(b.codagente)- 1) + where + b.id_periodo= @id_periodiodo--- chiedi ad antonio il periodo + and a.data_fineavanzato is null + --CONDIZIONE FILTRO PER I PROSSIMI 3 MESI + --And datediff(dd,dtprofilo,dateadd(mm,3,getdate()))/365.25>3 + --And datediff(dd,dtprofilo,getdate())/365.25>3 +-- +-- union +-- +-- select +-- a.rete, cod_fiscale, codicecontratto, cod_agente, data_sott, data_perf, +-- inviobenvenuto as flag_invio_report, profilo, dtprofilo as dt_creazione_profilo +-- from +-- c6mart.contrattosei a +-- left outer join +-- [10.10.32.84].controllodata.dbo.clientiAdeguatezza_ALL b +-- on +-- (case +-- when len("codice mandato") = 0 +-- then b."codice fiscale" +-- else 'FF@'+"codice mandato" +-- end) = a.cod_fiscale +-- and a.rete=b.rete +-- where +-- b.id_periodo= @id_periodiodo +-- and a.data_fineavanzato is null +-- +-- --CONDIZIONE FILTRO PER scaduti +-- And profiloscaduto='S' +--order by dt_creazione_profilo +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale.sql b/sql/storedProduzione/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale.sql new file mode 100644 index 00000000..57dd31cd --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale.sql @@ -0,0 +1,28 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6StagingPeriodico].[PopolaW6TRCLIdavListaClientiTrimestrale] + -- Add the parameters for the stored procedure here +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + insert into [dbo].[W6TRCLI] ([Rete],[Codice_Agente],[Nominativo_ Agente],[CodiceFiscale],[CodiceContratto],[Freq_Monitoraggio],[Freq_ Diagnosi],[Data_Revoca],[TipoContratto],[TipoRiattivazione],[ROL],[ClienteDB]) + select isnull([Rete],''), + isnull([Codice Agente],''), + '', + isnull([Codice Fiscale],''), + isnull([Codice Contratto],''), + isnull([Freq Monitoraggio],''), + isnull([Freq Diagnosi],''), + isnull([Data Revoca],''), + isnull([Tipo Contratto],''), + isnull([Tipo Riattivazione],''), + '', + clienteDB + from [C6StagingPeriodico].[vListaClientiTrimestrale]; +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale_anag_pb.sql b/sql/storedProduzione/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale_anag_pb.sql new file mode 100644 index 00000000..53d58de6 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale_anag_pb.sql @@ -0,0 +1,28 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6StagingPeriodico].[PopolaW6TRCLIdavListaClientiTrimestrale_anag_pb] + -- Add the parameters for the stored procedure here +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + insert into [dbo].[W6TRCLI] ([Rete],[Codice_Agente],[Nominativo_ Agente],[CodiceFiscale],[CodiceContratto],[Freq_Monitoraggio],[Freq_ Diagnosi],[Data_Revoca],[TipoContratto],[TipoRiattivazione],[ROL],[ClienteDB]) + select isnull([Rete],''), + isnull([Codice Agente],''), + isnull([Nominativo],''), + isnull([Codice Fiscale],''), + isnull([Codice Contratto],''), + isnull([Freq Monitoraggio],''), + isnull([Freq Diagnosi],''), + isnull([Data Revoca],0), + isnull([Tipo Contratto],''), + isnull([Tipo Riattivazione],''), + isnull([ROL],''), + clienteDB + from [C6StagingPeriodico].[vListaClientiTrimestrale_anag_pb]; +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_Popola_Prodotti_Fuori_Adeguatezza.sql b/sql/storedProduzione/C6StagingPeriodico_Popola_Prodotti_Fuori_Adeguatezza.sql new file mode 100644 index 00000000..b52864e3 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_Popola_Prodotti_Fuori_Adeguatezza.sql @@ -0,0 +1,50 @@ +-- [C6StagingPeriodico].[Popola_Prodotti_Fuori_Adeguatezza] +CREATE procedure [C6StagingPeriodico].[Popola_Prodotti_Fuori_Adeguatezza] +AS +BEGIN + truncate table [C6StagingPeriodico].Prodotti_Fuori_Adeguatezza + insert into [C6StagingPeriodico].Prodotti_Fuori_Adeguatezza + select + cat.[CatalogueID], + cat.[ChiaveProdotto], + cat.[CodSottoprodotto], + cat.[CodInterno], + cat.[CodMaf], + cat.[CodIsin], + cat.[NomeProdotto], + cat.[TipoProdotto] + from [C6StagingPeriodico].[RP_CatalogoProdotti] cat + where + cat.suitability_perimeter='N' --prodotti fuori adeguatezza + and cat.TipoProdotto<>'DT' + --PRE_MUA + --select + --cat.[CatalogueID], + --cat.[ChiaveProdotto], + --cat.[CodSottoprodotto], + --cat.[CodInterno], + --cat.[CodMaf], + --cat.[CodIsin], + --cat.[NomeProdotto], + --cat.[TipoProdotto] + --from [C6StagingPeriodico].WADPRNA W + --inner join [C6StagingPeriodico].[RP_CatalogoProdotti] cat + --on w.[CODPROD] = cat.[CodInterno] + --where w.[DTFINVAL] = '99991231' -- prendo solo i prodotti validi + --and isnull(w.SUBPROD,'') = '' --se il subprod non è valorizzato vado in join sul catalogo solo per codprod + --union + --select + --cat.[CatalogueID], + --cat.[ChiaveProdotto], + --cat.[CodSottoprodotto], + --cat.[CodInterno], + --cat.[CodMaf], + --cat.[CodIsin], + --cat.[NomeProdotto], + --cat.[TipoProdotto] + --from [C6StagingPeriodico].WADPRNA W + --inner join [C6StagingPeriodico].[RP_CatalogoProdotti] cat + --on w.[CODPROD] = cat.[CodInterno] and w.subprod = cat.[CodSottoprodotto] + --where w.[DTFINVAL] = '99991231' -- prendo solo i prodotti validi + --and isnull(w.SUBPROD,'') <> '' --se il subprod è valorizzato vado in join sul catalogo anche per subprod +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_QD_VAR_RISK_WEEK2.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_QD_VAR_RISK_WEEK2.sql new file mode 100644 index 00000000..5e394401 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_QD_VAR_RISK_WEEK2.sql @@ -0,0 +1,26 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_QD_VAR_RISK_WEEK2] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica QD_VAR_RISK_WEEK2' +TRUNCATE TABLE [C6StagingPeriodico].[QD_VAR_RISK_WEEK2] +INSERT INTO [C6StagingPeriodico].[QD_VAR_RISK_WEEK2] + ([banca], + [rete], + [codfis], + [piva], + [codfid], + [codman], + [isp_total_risk], + [flag_risk]) + SELECT + [banca], + [rete], + [codfis], + [piva], + [codfid], + [codman], + [isp_total_risk], + [flag_risk] + FROM FSEI0.FSEI0.[fsei0_pdc].[qd_var_risk_week] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica QD_VAR_RISK_WEEK2' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_TANAB.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_TANAB.sql new file mode 100644 index 00000000..868beb6d --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_TANAB.sql @@ -0,0 +1,75 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_TANAB] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica TANAB' +TRUNCATE TABLE [C6StagingPeriodico].[TANAB] +INSERT INTO [C6StagingPeriodico].[TANAB] + ([RETE] + ,[CODAREA] + ,[CODPROG] + ,[CODFIS] + ,[DTRIF] + ,[DTFINE] + ,[DTINI] + ,[CTVINI] + ,[DTRENDMAX] + ,[RENDMAX] + ,[DTRENDMIN] + ,[RENDMIN] + ,[DTCTV] + ,[CTV] + ,[RENDATT] + ,[DTCTVMAX] + ,[CTVMAX] + ,[DTCTVMIN] + ,[CTVMIN] + ,[CVN] + ,[CVN_IA] + ,[CVN_IT] + ,[APP_INI] + ,[TOT_APP] + ,[TOT_LIQ] + ,[TOT_CED] + ,[TOT_DIV] + ,[DCD] + ,[DCVN] + ,[SCARTO] + ,[NTOT_APP] + ,[NTOT_LIQ] + ,[RENDATTANN]) +SELECT [RETE] + ,[CODAREA] + ,[CODPROG] + ,[CODFIS] + ,[DTRIF] + ,[DTFINE] + ,[DTINI] + ,[CTVINI] + ,[DTRENDMAX] + ,[RENDMAX] + ,[DTRENDMIN] + ,[RENDMIN] + ,[DTCTV] + ,[CTV] + ,[RENDATT] + ,[DTCTVMAX] + ,[CTVMAX] + ,[DTCTVMIN] + ,[CTVMIN] + ,[CVN] + ,[CVN_IA] + ,[CVN_IT] + ,[APP_INI] + ,[TOT_APP] + ,[TOT_LIQ] + ,[TOT_CED] + ,[TOT_DIV] + ,[DCD] + ,[DCVN] + ,[SCARTO] + ,[NTOT_APP] + ,[NTOT_LIQ] + ,[RENDATTANN] + FROM FSEI0.FSEI0.[fsei0_pdc].[tanab] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica TANAB' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_TCPTAB.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_TCPTAB.sql new file mode 100644 index 00000000..7c3c5535 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_TCPTAB.sql @@ -0,0 +1,138 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_TCPTAB] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica TCPTAB' +TRUNCATE TABLE [C6StagingPeriodico].[TCPTAB] +INSERT INTO [C6StagingPeriodico].[TCPTAB] + ([RETE] + ,[CODAREA] + ,[CODPROG] + ,[CODFIS] + ,[DTRIF] + ,[TIPPROD] + ,[ISIN] + ,[ID_WADEG] + ,[MAF] + ,[CODCONF] + ,[SUBPROD] + ,[CODPROD] + ,[NUMPOL] + ,[CONTO] + ,[CUSTGAR] + ,[RUBR] + ,[CODABI] + ,[TERMID] + ,[ANNO] + ,[PROG] + ,[SPROG] + ,[DTUSCITA] + ,[DTSOTT] + ,[CTVATT] + ,[DTINGRESSO] + ,[CTVINGRESSO] + ,[DTTRIM] + ,[RENDTRIM] + ,[DTANNO] + ,[RENDANNO] + ,[DTINIZ] + ,[RENDINIZ] + ,[DTININAC] + ,[RENDNAC] + ,[CTVVP] + ,[CVNTRIM] + ,[CVNANNO] + ,[CVNINIZ] + ,[CVNNAC] + ,[CODINT] + ,[VALORE] + ,[STLIQ] + ,[DTVALORIZ]) +SELECT RETE + ,CODAREA + ,CODPROG + ,CODFIS + ,DTRIF + ,TIPPROD + ,ISIN + ,ID_WADEG + ,MAF + ,CODCONF + ,SUBPROD + ,CODPROD + ,NUMPOL + ,CONTO + ,CUSTGAR + ,RUBR + ,CODABI + ,TERMID + ,ANNO + ,PROG + ,SPROG + ,DTUSCITA + ,DTSOTT + ,CTVATT + ,DTINGRESSO + ,CTVINGRESSO + ,DTTRIM + ,RENDTRIM + ,DTANNO + ,RENDANNO + ,DTINIZ + ,RENDINIZ + ,DTININAC + ,RENDNAC + ,CTVVP + ,CVNTRIM + ,CVNANNO + ,CVNINIZ + ,CVNNAC + ,CODINT + ,VALORE + ,STLIQ + ,DTVALORIZ +FROM OPENQUERY(FSEI0, 'SELECT RETE + ,CODAREA + ,CODPROG + ,CODFIS + ,DTRIF + ,TIPPROD + ,ISIN + ,ID_WADEG + ,MAF + ,CODCONF + ,SUBPROD + ,CODPROD + ,NUMPOL + ,CONTO + ,CUSTGAR + ,RUBR + ,CODABI + ,TERMID + ,ANNO + ,PROG + ,SPROG + ,DTUSCITA + ,DTSOTT + ,CTVATT + ,DTINGRESSO + ,CTVINGRESSO + ,DTTRIM + ,RENDTRIM + ,DTANNO + ,RENDANNO + ,DTINIZ + ,RENDINIZ + ,DTININAC + ,RENDNAC + ,CTVVP + ,CVNTRIM + ,CVNANNO + ,CVNINIZ + ,CVNNAC + ,CODINT + ,VALORE + ,STLIQ + ,DTVALORIZ +FROM fsei0_pdc.tcptab') + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica TCPTAB' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_TRENAB.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_TRENAB.sql new file mode 100644 index 00000000..624b0769 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_TRENAB.sql @@ -0,0 +1,90 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_TRENAB] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica TRENAB' +TRUNCATE TABLE [C6StagingPeriodico].[TRENAB] +INSERT INTO [C6StagingPeriodico].[TRENAB] + ([RETE] + ,[CODAREA] + ,[CODPROG] + ,[CODFIS] + ,[DTRIF] + ,[DTVALORIZ] + ,[CTV] + ,[DTINIZ] + ,[RENDINIZ] + ,[DTTRIM] + ,[RENDTRIM] + ,[DTANNO] + ,[RENDANNO] + ,[CVN] + ,[CVN_IA] + ,[CVN_IT] + ,[APP_INI] + ,[TOT_APP] + ,[TOT_LIQ] + ,[TOT_CED] + ,[TOT_DIV] + ,[DCD] + ,[DCVN] + ,[SCARTO] + ,[NTOT_APP] + ,[NTOT_LIQ] + ,[RENDATTANN]) +SELECT [RETE] + ,[CODAREA] + ,[CODPROG] + ,[CODFIS] + ,[DTRIF] + ,[DTVALORIZ] + ,[CTV] + ,[DTINIZ] + ,[RENDINIZ] + ,[DTTRIM] + ,[RENDTRIM] + ,[DTANNO] + ,[RENDANNO] + ,[CVN] + ,[CVN_IA] + ,[CVN_IT] + ,[APP_INI] + ,[TOT_APP] + ,[TOT_LIQ] + ,[TOT_CED] + ,[TOT_DIV] + ,[DCD] + ,[DCVN] + ,[SCARTO] + ,[NTOT_APP] + ,[NTOT_LIQ] + ,[RENDATTANN] +FROM OPENQUERY(FSEI0, 'SELECT RETE + ,CODAREA + ,CODPROG + ,CODFIS + ,DTRIF + ,DTVALORIZ + ,CTV + ,DTINIZ + ,RENDINIZ + ,DTTRIM + ,RENDTRIM + ,DTANNO + ,RENDANNO + ,CVN + ,CVN_IA + ,CVN_IT + ,APP_INI + ,TOT_APP + ,TOT_LIQ + ,TOT_CED + ,TOT_DIV + ,DCD + ,DCVN + ,SCARTO + ,NTOT_APP + ,NTOT_LIQ + ,RENDATTANN +FROM fsei0_pdc.trenab') + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica TRENAB' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_TSCABP.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_TSCABP.sql new file mode 100644 index 00000000..a4e8c9d2 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_TSCABP.sql @@ -0,0 +1,75 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_TSCABP] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica TSCABP' +TRUNCATE TABLE [C6StagingPeriodico].[TSCABP] +INSERT INTO [C6StagingPeriodico].[TSCABP] + ([RETE] + ,[CODAREA] + ,[CODPROG] + ,[CODFIS] + ,[DTRIF] + ,[TIPPROD] + ,[CODCONF] + ,[SUBPROD] + ,[CODPROD] + ,[CONTO] + ,[CUSTGAR] + ,[RUBR] + ,[CODABI] + ,[TERMID] + ,[ANNO] + ,[PROG] + ,[DTINGRESSO] + ,[ISTITUTO] + ,[TIPO_PRODOTT] + ,[CONTO_OP] + ,[STRUM_FIN] + ,[ID_MOVIM] + ,[TIPO_OP] + ,[RESTART] + ,[DT_ING_USC] + ,[ING_USC] + ,[COD_ERR] + ,[DESCR_ERR] + ,[DT_ELAB] + ,[DT_INS] + ,[PCT] + ,[PROVENIENZA] + ,[isin]) +SELECT [RETE] + ,[CODAREA] + ,[CODPROG] + ,[CODFIS] + ,[DTRIF] + ,[TIPPROD] + ,[CODCONF] + ,[SUBPROD] + ,[CODPROD] + ,[CONTO] + ,[CUSTGAR] + ,[RUBR] + ,[CODABI] + ,[TERMID] + ,[ANNO] + ,[PROG] + ,[DTINGRESSO] + ,[ISTITUTO] + ,[TIPO_PRODOTT] + ,[CONTO_OP] + ,[STRUM_FIN] + ,[ID_MOVIM] + ,[TIPO_OP] + ,[RESTART] + ,[DT_ING_USC] + ,[ING_USC] + ,[COD_ERR] + ,[DESCR_ERR] + ,[DT_ELAB] + ,[DT_INS] + ,[PCT] + ,[PROVENIENZA] + ,[isin] + FROM FSEI0.FSEI0.[fsei0_pdc].[tscabp] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica TSCABP' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_W6APAG.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_W6APAG.sql new file mode 100644 index 00000000..197551c9 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_W6APAG.sql @@ -0,0 +1,21 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_W6APAG] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica W6APAG' +TRUNCATE TABLE [C6StagingPeriodico].[W6APAG] +INSERT INTO [C6StagingPeriodico].[W6APAG] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[APPORTI] + ,[PRELIEVI]) +SELECT [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[APPORTI] + ,[PRELIEVI] + FROM FSEI0.FSEI0.[fsei0_pdc].[w6apag] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica W6APAG' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_W6APUT.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_W6APUT.sql new file mode 100644 index 00000000..aabcd58e --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_W6APUT.sql @@ -0,0 +1,35 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_W6APUT] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica W6APUT' +TRUNCATE TABLE [C6StagingPeriodico].[W6APUT] +INSERT INTO [C6StagingPeriodico].[W6APUT] + ([RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[DTOPE] + ,[DESPROD] + ,[PROGMOV] + ,[CODCAU] + ,[CODSCAU] + ,[DESCAU] + ,[IMPORTO] + ,[FIRMA]) +SELECT [RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[DTOPE] + ,[DESPROD] + ,[PROGMOV] + ,[CODCAU] + ,[CODSCAU] + ,[DESCAU] + ,[IMPORTO] + ,[FIRMA] + FROM FSEI0.FSEI0.[fsei0_pdc].[w6aput] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica W6APUT' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_W6CLIESG.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_W6CLIESG.sql new file mode 100644 index 00000000..cfd2f7e0 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_W6CLIESG.sql @@ -0,0 +1,79 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_W6CLIESG] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica W6CLIESG' +TRUNCATE TABLE [C6StagingPeriodico].[W6CLIESG] +INSERT INTO [C6StagingPeriodico].[W6CLIESG] + ( [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[U_PREFSOST] + ,[FLAGSFDR] + ,[FLAGTAXO] + ,[FLAGPAI] + ,[SFDR_PERC] + ,[TAXO_PERC] + ,[PAI_A01] + ,[PAI_A02] + ,[PAI_A03] + ,[PAI_A04] + ,[PAI_A05] + ,[PAI_A07] + ,[PAI_A08] + ,[PAI_S01] + ,[PAI_S02] + ,[PAI_NO_DETT] + ,[PERC1ESG] + ,[PERCAMB] + ,[PERCSOC] + ,[PERCGOV] + ,[PERCAMB_OK] + ,[PERCSOC_OK] + ,[PERCGOV_OK] + ,[SFDR_PERCT] + ,[SFDR_PERC_OK] + ,[TAXO_PERCT] + ,[TAXO_PERC_OK] + ,[PAIA_PERCT] + ,[PAIA_PERC_OK] + ,[PAIS_PERCT] + ,[PAIS_PERC_OK]) +SELECT [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[U_PREFSOST] + ,[FLAGSFDR] + ,[FLAGTAXO] + ,[FLAGPAI] + ,[SFDR_PERC] + ,[TAXO_PERC] + ,[PAI_A01] + ,[PAI_A02] + ,[PAI_A03] + ,[PAI_A04] + ,[PAI_A05] + ,[PAI_A07] + ,[PAI_A08] + ,[PAI_S01] + ,[PAI_S02] + ,[PAI_NO_DETT] + ,[PERC1ESG] + ,[PERCAMB] + ,[PERCSOC] + ,[PERCGOV] + ,[PERCAMB_OK] + ,[PERCSOC_OK] + ,[PERCGOV_OK] + ,[SFDR_PERCT] + ,[SFDR_PERC_OK] + ,[TAXO_PERCT] + ,[TAXO_PERC_OK] + ,[PAIA_PERCT] + ,[PAIA_PERC_OK] + ,[PAIS_PERCT] + ,[PAIS_PERC_OK] + FROM FSEI0.FSEI0.[fsei0_pdc].[w6cliesg] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica W6CLIESG' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_W6CLIREP_B.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_W6CLIREP_B.sql new file mode 100644 index 00000000..1bf5b75e --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_W6CLIREP_B.sql @@ -0,0 +1,101 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_W6CLIREP_B] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica W6CLIREP_B' +TRUNCATE TABLE [C6MartPeriodico].[W6CLIREP_B] +INSERT INTO [C6MartPeriodico].[W6CLIREP_B] + ( [FLGCLI] + ,[FLGBL] + ,[TIPOELA] + ,[DTTRIM] + ,[rete] + ,[codfis] + ,[piva] + ,[codman] + ,[CODFID] + ,[CODAGE] + ,[CODABI] + ,[termid] + ,[anno] + ,[prog] + ,[quote] + ,[CTV] + ,[codconf] + ,[rubr] + ,[custgar] + ,[cod_interno] + ,[codana] + ,[FLAGPCT] + ,[codprod] + ,[cod_sottoprodotto] + ,[cod_isin] + ,[codlinea] + ,[tipoptf] + ,[area] + ,[progetto] + ,[codprj] + ,[chiave_prodotto_terzi] + ,[assetterzi] + ,[famprodt] + ,[intermediario] + ,[codiceadeguatezza] + ,[cod_maf] + ,[conto] + ,[numpolizza] + ,[position_id] + ,[PREFSOST] + ,[FLAGAMB] + ,[FLAGSOC] + ,[FLAGGOV]) +SELECT + TRIM([FLGCLI]) AS FLGCLI, + TRIM([FLGBL]) AS FLGBL, + TRIM([TIPOELA]) AS TIPOELA, + [DTTRIM] AS DTTRIM, + TRIM([rete]) AS rete, + TRIM([codfis]) AS codfis, + TRIM([piva]) AS piva, + TRIM([codman]) AS codman, + TRIM([CODFID]) AS CODFID, + TRIM([CODAGE]) AS CODAGE, + TRIM([CODABI]) AS CODABI, + TRIM([termid]) AS termid, + [anno] AS anno, + [prog] AS prog, + [quote] AS quote, + [CTV] AS CTV, + TRIM([codconf]) AS codconf, + TRIM([rubr]) AS rubr, + TRIM([custgar]) AS custgar, + TRIM([codint]) AS codint, + TRIM([codana]) AS codana, + TRIM([FLAGPCT]) AS FLAGPCT, + TRIM([codprod]) AS codprod, + TRIM([subprod]) AS subprod, + TRIM([isin]) AS isin, + TRIM([codlinea]) AS codlinea, + TRIM([tipoptf]) AS tipoptf, + TRIM([area]) AS area, + TRIM([progetto]) AS progetto, + TRIM([codprj]) AS codprj, + TRIM([keyprd]) AS keyprd, + TRIM([assettrz]) AS assettrz, + TRIM([famprd]) AS famprd, + TRIM([interm]) AS interm, + TRIM([codade]) AS codade, + TRIM([codmaf]) AS codmaf, + TRIM([conto]) AS conto, + TRIM([numpol]) AS numpol, + TRIM([posid]) AS posid, + TRIM([PREFSOST]) AS PREFSOST, + TRIM([FLAGAMB]) AS FLAGAMB, + TRIM([FLAGSOC]) AS FLAGSOC, + TRIM([FLAGGOV]) AS FLAGGOV +FROM + FSEI0.FSEI0.[fsei0_pdc].[w6clirep] + DECLARE @DtTrim varchar(9); +SET @DtTrim = dbo.VerificaFestivo((SELECT MAX(dttrim) FROM [C6MartPeriodico].[W6CLIREP_B])); +update [C6MartPeriodico].[W6CLIREP_B] +set DTTRIM=@DtTrim + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica W6CLIREP_B' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WANVIPS.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WANVIPS.sql new file mode 100644 index 00000000..9dd512c3 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WANVIPS.sql @@ -0,0 +1,27 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_WANVIPS] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WANVIPS' +TRUNCATE TABLE [C6StagingPeriodico].[WANVIPS] +INSERT INTO [C6StagingPeriodico].[WANVIPS] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODANA] + ,[FLAG6KC] + ,[CODMAN] + ,[CODCONF] + ,[FLGORIG] + ,[FLGIMM]) +SELECT [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODANA] + ,[FLAG6KC] + ,[CODMAN] + ,[CODCONF] + ,[FLGORIG] + ,[FLGIMM] + FROM FSEI0.FSEI0.[fsei0_pdc].[wanvips] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WANVIPS' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIAD2.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIAD2.sql new file mode 100644 index 00000000..12231754 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIAD2.sql @@ -0,0 +1,27 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIAD2] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIAD2' +TRUNCATE TABLE [C6StagingPeriodico].[WSEIAD2] +INSERT INTO [C6StagingPeriodico].[WSEIAD2] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[DESCPROD] + ,[CTV] + ,[PERCCTV] + ,[COMPL]) +SELECT [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[DESCPROD] + ,[CTV] + ,[PERCCTV] + ,[COMPL] + FROM FSEI0.FSEI0.[fsei0_pdc].[wseiad] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIAD2' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIAN2.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIAN2.sql new file mode 100644 index 00000000..9cc1e5ce --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIAN2.sql @@ -0,0 +1,89 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIAN2] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIAN2' +TRUNCATE TABLE [C6StagingPeriodico].[WSEIAN2] +INSERT INTO [C6StagingPeriodico].[WSEIAN2] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF] + ,[DTINVAL] + ,[CODMAN] + ,[CLASSERC] + ,[COD_PROFEC] + ,[FLAGPG] + ,[CLCOMPL] + ,[FLGCONC] + ,[FLAGNQP] + ,[FLGPRLRDE] + ,[FLGPROF] + ,[DTFINVAL] + ,[CONCEMI] + ,[FREQ] + ,[LLIQUID] + ,[PREFSOST] + ,[FLAGAMB] + ,[FLAGSOC] + ,[FLAGGOV] + ,[ADEGCONC_VALUT] + ,[SOGLIAESG] + ,[COERENZA] + ,[RISERVA] + ,[INVL_PERIOD] + ,[MAXCOMPL] + ,[NOCOMPL] + ,[SPESA_FORZATA] + ,[PERC_ILP] + ,[IMP_RISERVA]) +SELECT [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF] + ,[DTINVAL] + ,[CODMAN] + ,[CLASSERC] + ,[CODPROFEC] + ,[FLAGPG] + ,[CLCOMPL] + ,[FLGCONC] + ,[FLAGNQP] + ,[FLGPRLRDE] + ,[FLGPROF] + ,[DTFINVAL] + ,[CONCEMI] + ,[FREQ] + ,[LLIQUID] + ,[PREFSOST] + ,[FLAGAMB] + ,[FLAGSOC] + ,[FLAGGOV] + ,[ADEGCONC_VALUT] + ,[SOGLIAESG] + ,[COERENZA] + ,[RISERVA] + ,[INVL_PERIOD] + ,[MAXCOMPL] + ,[NOCOMPL] + ,[SPESA_FORZATA] + ,[PERC_ILP] + ,[IMP_RISERVA] + FROM FSEI0.FSEI0.[fsei0_pdc].[wseian] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIAN2' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIBO.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIBO.sql new file mode 100644 index 00000000..e2b8bed8 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIBO.sql @@ -0,0 +1,37 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIBO] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIBO' +TRUNCATE TABLE [C6StagingPeriodico].[WSEIBO] +INSERT INTO [C6StagingPeriodico].[WSEIBO] + ([RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[CODPROD] + ,[NUMPOL] + ,[CTV] + ,[BONUSM] + ,[DTDECM] + ,[BONUS5] + ,[DTDEC5] + ,[BONUS10] + ,[DTDEC10]) +SELECT [RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[CODPROD] + ,[NUMPOL] + ,[CTV] + ,[BONUSM] + ,[DTDECM] + ,[BONUS5] + ,[DTDEC5] + ,[BONUS10] + ,[DTDEC10] + FROM FSEI0.FSEI0.[fsei0_pdc].[wseibo] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIBO' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEICAP.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEICAP.sql new file mode 100644 index 00000000..af78c5ca --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEICAP.sql @@ -0,0 +1,39 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEICAP] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEICAP' +TRUNCATE TABLE [C6StagingPeriodico].[WSEICAP] +INSERT INTO [C6StagingPeriodico].[WSEICAP] + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[SUBPROD] + ,[ISIN] + ,[DTINIZ] + ,[DTFINE] + ,[CTV_COMMIT] + ,[IMPVERS] + ,[IMPRES] + ,[DESCPROD] + ,[SGR]) +SELECT [DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[SUBPROD] + ,[ISIN] + ,[DTINIZ] + ,[DTFINE] + ,[CTV_COMMIT] + ,[IMPVERS] + ,[IMPRES] + ,[DESCPROD] + ,[SGR] + FROM FSEI0.FSEI0.[fsei0_pdc].[wseicap] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEICAP' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEICC.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEICC.sql new file mode 100644 index 00000000..3caf6491 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEICC.sql @@ -0,0 +1,21 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEICC] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEICC' +TRUNCATE TABLE [C6StagingPeriodico].[WSEICC] +INSERT INTO [C6StagingPeriodico].[WSEICC] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONFC] + ,[CODCONFPR]) +SELECT [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONFC] + ,[CODCONFPR] + FROM FSEI0.FSEI0.[fsei0_pdc].[wseicc] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEICC' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEICE2.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEICE2.sql new file mode 100644 index 00000000..e065c49b --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEICE2.sql @@ -0,0 +1,33 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEICE2] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEICE2' +TRUNCATE TABLE [C6StagingPeriodico].[WSEICE2] +INSERT INTO [C6StagingPeriodico].[WSEICE2] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODEMI] + ,[TOTCTV] + ,[DESCEMI] + ,[SOGLIACTV_CONC] + ,[RATING] + ,[CONC] + ,[LIMITE_CONC] + ,[FLGCONC]) +SELECT [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODEMI] + ,[TOTCTV] + ,[DESCEMI] + ,[SOGLIACTV_CONC] + ,[RATING] + ,[CONC] + ,[LIMITE_CONC] + ,[FLGCONC] + FROM FSEI0.FSEI0.[fsei0_pdc].[wseice] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEICE2' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEICS.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEICS.sql new file mode 100644 index 00000000..9e7c0904 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEICS.sql @@ -0,0 +1,75 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEICS] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEICS' +TRUNCATE TABLE [C6StagingPeriodico].[WSEICS] +INSERT INTO [C6StagingPeriodico].[wseics] + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[QUOTE] + ,[CODMAN] + ,[SALRISC] + ,[ATTIVO] + ,[PREZZO] + ,[DIVISA] + ,[BASE_PREZZ]) +SELECT [DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[QUOTE] + ,[CODMAN] + ,[SALRISC] + ,[ATTIVO] + ,[PREZZO] + ,[DIVISA] + ,[BASE_PREZZ] + FROM FSEI0.FSEI0.[fsei0_pdc].[wseics] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEICS' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIDC.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIDC.sql new file mode 100644 index 00000000..686d08fd --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIDC.sql @@ -0,0 +1,72 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIDC] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIDC' +TRUNCATE TABLE [C6StagingPeriodico].[WSEIDC] +INSERT INTO [C6StagingPeriodico].[WSEIDC] + ([RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODANA] + ,[CODMAN] + ,[CODAGE] + ,[INTEST] + ,[CODCONF] + ,[SUBPROD] + ,[DTLETT] + ,[SEX] + ,[INDIR] + ,[CAP] + ,[CITTA] + ,[PROV] + ,[NAZION] + ,[PRESSO] + ,[TIPCONTR] + ,[TEMPLATE] + ,[TIPOLETT] + ) +SELECT [RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODANA] + ,[CODMAN] + ,[CODAGE] + ,[INTEST] + ,[CODCONF] + ,[SUBPROD] + ,[DTLETT] + ,[SEX] + ,[INDIR] + ,[CAP] + ,[CITTA] + ,[PROV] + ,[NAZION] + ,[PRESSO] + ,[TIPCONTR] + ,[TEMPLATE] + ,[TIPOLETT] + FROM FSEI0.FSEI0.[fsei0_pdc].[wseidc] + UNION + SELECT [RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODANA] + ,[CODMAN] + ,[CODAGE] + ,[INTEST] + ,[CODCONF] + ,[SUBPROD] + ,[DTLETT] + ,[SEX] + ,[INDIR] + ,[CAP] + ,[CITTA] + ,[PROV] + ,[NAZION] + ,[PRESSO] + ,[TIPCONTR] + ,[TEMPLATE] + ,[TIPOLETT] + FROM FSEI0.FSEI0.[fsei0_pdc].[w6dbdc] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIDC' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIFP.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIFP.sql new file mode 100644 index 00000000..474c51d6 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIFP.sql @@ -0,0 +1,41 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIFP] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIFP' +TRUNCATE TABLE [C6StagingPeriodico].[WSEIFP] +INSERT INTO [C6StagingPeriodico].[WSEIFP] + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[CODPROD] + ,[SUBPROD] + ,[ISIN] + ,[CTV] + ,[PREZZO] + ,[QUOTE] + ,[PREZZOMAX] + ,[DTPREZZOMAX] + ,[PREZZOPROT] + ,[CTRVIMPPROT]) +SELECT [DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[CODPROD] + ,[SUBPROD] + ,[ISIN] + ,[CTV] + ,[PREZZO] + ,[QUOTE] + ,[PREZZOMAX] + ,[DTPREZZOMAX] + ,[PREZZOPROT] + ,[CTRVIMPPROT] + FROM FSEI0.FSEI0.[fsei0_pdc].[wseifp] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIFP' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIGP.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIGP.sql new file mode 100644 index 00000000..ee868e7e --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIGP.sql @@ -0,0 +1,55 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIGP] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIGP' +TRUNCATE TABLE [C6StagingPeriodico].[WSEIGP] +INSERT INTO [C6StagingPeriodico].[WSEIGP] + ([RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[SUBPROG] + ,[AREAFIN] + ,[DTRIFE] + ,[ISIN] + ,[MAF] + ,[MERCATO] + ,[CODLINEA] + ,[CTV] + ,[QUOTE] + ,[FLAGTRIM] + ,[ATTIVO] + ,[PREZZOMAX] + ,[DTPREZZOMAX] + ,[PREZZOPROT] + ,[CTRVIMPPROT] + ,[PREZZO] + ,[DIVISA] + ,[BASE_PREZZ]) +SELECT [RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[SUBPROG] + ,[AREAFIN] + ,[DTRIFE] + ,[ISIN] + ,[MAF] + ,[MERCATO] + ,[CODLINEA] + ,[CTV] + ,[QUOTE] + ,[FLAGTRIM] + ,[ATTIVO] + ,[PREZZOMAX] + ,[DTPREZZOMAX] + ,[PREZZOPROT] + ,[CTRVIMPPROT] + ,[PREZZO] + ,[DIVISA] + ,[BASE_PREZZ] + FROM FSEI0.FSEI0.[fsei0_pdc].[wseigp] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIGP' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEILP.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEILP.sql new file mode 100644 index 00000000..d8d367bc --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEILP.sql @@ -0,0 +1,33 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEILP] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEILP' +TRUNCATE TABLE [C6StagingPeriodico].[WSEILP] +INSERT INTO [C6StagingPeriodico].[WSEILP] + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[CODPROD] + ,[CODLINEA] + ,[CTV] + ,[CTV_PROT] + ,[CTVMON] + ,[FLAGTRIM]) +SELECT [DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[CODPROD] + ,[CODLINEA] + ,[CTV] + ,[CTVPROT] + ,[CTVMON] + ,[FLAGTRIM] + FROM FSEI0.FSEI0.[fsei0_pdc].[wseilp] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEILP' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIMM_POS_SQL.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIMM_POS_SQL.sql new file mode 100644 index 00000000..e799a68b --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIMM_POS_SQL.sql @@ -0,0 +1,29 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIMM_POS_SQL] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIMM_POS_SQL' +truncate table [C6MartPeriodicoImmobiliare].[W6IMM] +INSERT INTO [C6MartPeriodicoImmobiliare].[W6IMM] + ([RETE] + ,[CODFIS] + ,[CONTRATTO] + ,[CONSULENZA] + ,[SERVIZIO_AGGIUNTIVO] + ,[STATO_ADD_IMMOBILIARE] + ,[STATO_IMPORTAZIONE] + ,[FLAG_IN_PERIMETRO] + ,[RENDICONTO_SEI] + ,[RENDICONTO_IMM]) +SELECT [RETE] + ,[CODFIS] + ,[CODCONF] + ,[TIPCONS] + ,[SERVAGG] + ,[ADDIMM] + ,[STAIMP] + ,[FLAGPE] + ,[RENDSEI] + ,[RENDIMM] + FROM FSEI0.FSEI0.[fsei0_pdc].[w6imm] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIMM_POS_SQL' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIMM_SQL_POS.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIMM_SQL_POS.sql new file mode 100644 index 00000000..f20a697c --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIMM_SQL_POS.sql @@ -0,0 +1,29 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIMM_SQL_POS] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIMM_SQL_POS' +delete from FSEI0.FSEI0.[fsei0_pdc].[w6imm] +INSERT INTO FSEI0.FSEI0.[fsei0_pdc].[w6imm] + ([RETE] + ,[CODFIS] + ,[CODCONF] + ,[TIPCONS] + ,[SERVAGG] + ,[ADDIMM] + ,[STAIMP] + ,[FLAGPE] + ,[RENDSEI] + ,[RENDIMM]) +SELECT [RETE] + ,[CODFIS] + ,[CONTRATTO] + ,[CONSULENZA] + ,[SERVIZIO_AGGIUNTIVO] + ,[STATO_ADD_IMMOBILIARE] + ,[STATO_IMPORTAZIONE] + ,[FLAG_IN_PERIMETRO] + ,[RENDICONTO_SEI] + ,[RENDICONTO_IMM] + FROM [C6MartPeriodicoImmobiliare].[W6IMM] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIMM_SQL_POS' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIPR.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIPR.sql new file mode 100644 index 00000000..6634a218 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIPR.sql @@ -0,0 +1,31 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIPR] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIPR' +TRUNCATE TABLE [C6StagingPeriodico].[WSEIPR] +INSERT INTO [C6StagingPeriodico].[WSEIPR] + ([RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODMAN] + ,[FAMPROD] + ,[CODPROD] + ,[SUBPROD] + ,[CODABI] + ,[DTRIFE] + ,[TIPMOV] + ,[IMPORTO]) +SELECT [RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODMAN] + ,[FAMPROD] + ,[CODPROD] + ,[SUBPROD] + ,[CODABI] + ,[DTRIFE] + ,[TIPMOV] + ,[IMPORTO] + FROM FSEI0.FSEI0.[fsei0_pdc].[wseipr] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIPR' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIPS.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIPS.sql new file mode 100644 index 00000000..324e4735 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIPS.sql @@ -0,0 +1,65 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIPS] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIPS' +TRUNCATE TABLE [C6StagingPeriodico].[WSEIPS] +INSERT INTO [C6StagingPeriodico].[WSEIPS] + ([RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODANA] + ,[CODMAN] + ,[CODAGE] + ,[INTEST] + ,[CODCONF] + ,[SUBPROD] + ,[DTLETT] + ,[SEX] + ,[INDIR] + ,[CAP] + ,[CITTA] + ,[PROV] + ,[NAZION] + ,[PRESSO] + ,[TIPCONTR]) +SELECT [RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODANA] + ,[CODMAN] + ,[CODAGE] + ,[INTEST] + ,[CODCONF] + ,[SUBPROD] + ,[DTLETT] + ,[SEX] + ,[INDIR] + ,[CAP] + ,[CITTA] + ,[PROV] + ,[NAZION] + ,[PRESSO] + ,[TIPCONTR] + FROM FSEI0.FSEI0.[fsei0_pdc].[wseips] + UNION + SELECT [RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODANA] + ,[CODMAN] + ,[CODAGE] + ,[INTEST] + ,[CODCONF] + ,[SUBPROD] + ,[DTLETT] + ,[SEX] + ,[INDIR] + ,[CAP] + ,[CITTA] + ,[PROV] + ,[NAZION] + ,[PRESSO] + ,[TIPCONTR] + FROM FSEI0.FSEI0.[fsei0_pdc].[w6dbps] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIPS' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIPV.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIPV.sql new file mode 100644 index 00000000..59cc4d3d --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIPV.sql @@ -0,0 +1,27 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIPV] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIPV' +TRUNCATE TABLE [C6StagingPeriodico].[WSEIPV] +INSERT INTO [C6StagingPeriodico].[WSEIPV] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[IMPVER] + ,[DTRIFE] + ,[SUBSET] + ,[CODMAN] + ,[BASE_PREZZ]) +SELECT [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[IMPVER] + ,[DTRIFE] + ,[SUBSET] + ,[CODMAN] + ,[BASE_PREZZ] + FROM FSEI0.FSEI0.[fsei0_pdc].[wseipv] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIPV' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIRP.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIRP.sql new file mode 100644 index 00000000..5d0e4922 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIRP.sql @@ -0,0 +1,15 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIRP] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIRP' +TRUNCATE TABLE [C6StagingPeriodico].[WSEIRP] +INSERT INTO [C6StagingPeriodico].[WSEIRP] + ([NOMETAB] + ,[PROCEDURA] + ,[TSP_AGGIOR]) +SELECT [NOMETAB] + ,[PROCEDURA] + ,[TSP_AGGIOR] + FROM FSEI0.FSEI0.[fsei0_pdc].[wseirp] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIRP' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIRPF.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIRPF.sql new file mode 100644 index 00000000..7e1c59c6 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIRPF.sql @@ -0,0 +1,27 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIRPF] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIRPF' +TRUNCATE TABLE [C6StagingPeriodico].[WSEIRPF] +INSERT INTO [C6StagingPeriodico].[WSEIRPF] + ( [dttrim] + ,[rete] + ,[codfis] + ,[codman] + ,[flgprof] + ,[flgec] + ,[data_ora_refresh] + ,[data_ora_inse] + ,[data_ora_aggi]) +SELECT [dttrim] + ,[rete] + ,[codfis] + ,[codman] + ,[flgprof] + ,[flgec] + ,[data_ora_refresh] + ,[data_ora_inse] + ,[data_ora_aggi] + FROM FSEI0.FSEI0.[fsei0_pdc].[wseirpf] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIRPF' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEISC.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEISC.sql new file mode 100644 index 00000000..e8cd2d8f --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEISC.sql @@ -0,0 +1,29 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEISC] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEISC' +TRUNCATE TABLE [C6StagingPeriodico].[WSEISC] +INSERT INTO [C6StagingPeriodico].[WSEISC] + ([RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODMAN] + ,[FAMPROD] + ,[CODPROD] + ,[SUBPROD] + ,[CODABI] + ,[DTSCAD] + ,[TIPMOV]) +SELECT [RETE] + ,[DTTRIM] + ,[CODFIS] + ,[CODMAN] + ,[FAMPROD] + ,[CODPROD] + ,[SUBPROD] + ,[CODABI] + ,[DTSCAD] + ,[TIPMOV] + FROM FSEI0.FSEI0.[fsei0_pdc].[wseisc] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEISC' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIUL.sql b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIUL.sql new file mode 100644 index 00000000..997e0c9f --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_REPTRIM_WSEIUL.sql @@ -0,0 +1,51 @@ +CREATE procedure [C6StagingPeriodico].[REPTRIM_WSEIUL] +AS +BEGIN +exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIUL' +TRUNCATE TABLE [C6StagingPeriodico].[WSEIUL] +INSERT INTO [C6StagingPeriodico].[wseiul] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[CODINT] + ,[SUBPROD] + ,[CTV] + ,[DTRIFE] + ,[ISINFIT] + ,[ISIN] + ,[MAF] + ,[SUBSET] + ,[CODMAN] + ,[PREZZOMAX] + ,[DTPREZZOMAX] + ,[PREZZOPROT] + ,[CTRVIMPPROT] + ,[PREZZO] + ,[QUOTE] + ,[DIVISA] + ,[BASE_PREZZ]) +SELECT [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[CODINT] + ,[SUBPROD] + ,[CTV] + ,[DTRIFE] + ,[ISINFIT] + ,[ISIN] + ,[MAF] + ,[SUBSET] + ,[CODMAN] + ,[PREZZOMAX] + ,[DTPREZZOMAX] + ,[PREZZOPROT] + ,[CTRVIMPPROT] + ,[PREZZO] + ,[QUOTE] + ,[DIVISA] + ,[BASE_PREZZ] + FROM FSEI0.FSEI0.[fsei0_pdc].[wseiul] + exec [C6StagingPeriodico].[RP_W6LogBatch] 'Replica WSEIUL' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_AGGIORNA_SPB_PROF_RISCHIO.sql b/sql/storedProduzione/C6StagingPeriodico_RP_AGGIORNA_SPB_PROF_RISCHIO.sql new file mode 100644 index 00000000..d681d68d --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_AGGIORNA_SPB_PROF_RISCHIO.sql @@ -0,0 +1,9 @@ +CREATE procedure [C6StagingPeriodico].[RP_AGGIORNA_SPB_PROF_RISCHIO] +AS +BEGIN +update C6StagingPeriodico.SPB_PROF_RISCHIO +set VARTRIMESTRALE=d.varmax +from consuni.consulenzaunica.dbo.dprofilo d +inner join C6StagingPeriodico.SPB_PROF_RISCHIO s +on d.profilo=s.CODICEPROFILO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA.sql b/sql/storedProduzione/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA.sql new file mode 100644 index 00000000..98bf6a44 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA.sql @@ -0,0 +1,130 @@ +CREATE procedure [C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Trimestrale' + ) +truncate table TAB1 +insert into TAB1 +SELECT distinct + isnull(TIPOPRODOTTO,'') TIPOPRODOTTO, + isnull(CODINTERNO,'') CODINTERNO, + isnull(CODMAF,'') CODMAF, +--***INIZIO INTERVENTI OMNIA*** +-- CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + --inizio INTERVENTO 'RF/MP' - 20171204 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(CODISIN,'') + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') THEN ISNULL(CODISIN,'') + --fine INTERVENTO 'RF/MP' - 20171204 + ELSE '' END AS CODISIN, +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + isnull(CODSOTTOPRODOTTO,'') CODSOTTOPRODOTTO, + position_id +--INTO TAB1 +FROM C6StagingPeriodico.RP_CONSULENZA +UPDATE TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) +DECLARE @CNTNULL as int +SELECT @CNTNULL = COUNT(*) FROM TAB1 WHERE isnull(position_id,'') = '' +--SET @CNTNULL = 0 +IF @CNTNULL = 0 + UPDATE C6StagingPeriodico.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + --inizio INTERVENTO 'RF/MP' - 20171204 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(c.CODISIN,'') + CASE WHEN C.CODINTERNO in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') THEN ISNULL(c.CODISIN,'') + --fine INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6StagingPeriodico.RP_CONSULENZA c + left join TAB1 t + ON 1=1 + -- FerAcu Ottimizzazione 20241018 + --AND isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + --AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + --AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') + AND t.TIPOPRODOTTO =isnull(c.TIPOPRODOTTO,'') + AND t.CODINTERNO=isnull(c.CODINTERNO,'') + AND t.CODMAF =isnull(c.CODMAF,'') +--***INIZIO INTERVENTI OMNIA*** +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(c.CODISIN,'') ELSE '' END +--inizio INTERVENTO 'RE' - 20161213 + --inizio INTERVENTO 'RF/MP' - 20171204 + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB','RE') + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --fine INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + --AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + AND t.CodSottoprodotto =isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') <> '' +-- Log esecuzione +UPDATE + LOG_ESECUZIONE_PERIODICO +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) +--drop table TAB1 +IF @CNTNULL = 0 + SELECT @CNTNULL = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') = '' +if @CNTNULL > 0 + RAISERROR ('Scarti position_id null', 16, 1 ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20161213.sql b/sql/storedProduzione/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20161213.sql new file mode 100644 index 00000000..546ee060 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20161213.sql @@ -0,0 +1,104 @@ +CREATE procedure [C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA_20161213] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Trimestrale' + ) +truncate table TAB1 +insert into TAB1 +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, +--***INIZIO INTERVENTI OMNIA*** +-- CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + ELSE '' END AS CODISIN, +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + CODSOTTOPRODOTTO, + position_id +--INTO TAB1 +FROM C6StagingPeriodico.RP_CONSULENZA +UPDATE TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) +DECLARE @CNTNULL as int +SELECT @CNTNULL = COUNT(*) FROM TAB1 WHERE isnull(position_id,'') = '' +--SET @CNTNULL = 0 +IF @CNTNULL = 0 + UPDATE C6StagingPeriodico.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', + CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6StagingPeriodico.RP_CONSULENZA c + left join TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') +--***INIZIO INTERVENTI OMNIA*** +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(c.CODISIN,'') ELSE '' END + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB') + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') <> '' +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) +--drop table TAB1 +IF @CNTNULL = 0 + SELECT @CNTNULL = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') = '' +if @CNTNULL > 0 + RAISERROR ('Scarti position_id null', 16, 1 ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20171204_preRFMP.sql b/sql/storedProduzione/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20171204_preRFMP.sql new file mode 100644 index 00000000..120bf3c9 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20171204_preRFMP.sql @@ -0,0 +1,112 @@ +CREATE procedure [C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA_20171204_preRFMP] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Trimestrale' + ) +truncate table TAB1 +insert into TAB1 +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, +--***INIZIO INTERVENTI OMNIA*** +-- CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(CODISIN,'') + ELSE '' END AS CODISIN, +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + CODSOTTOPRODOTTO, + position_id +--INTO TAB1 +FROM C6StagingPeriodico.RP_CONSULENZA +UPDATE TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) +DECLARE @CNTNULL as int +SELECT @CNTNULL = COUNT(*) FROM TAB1 WHERE isnull(position_id,'') = '' +--SET @CNTNULL = 0 +IF @CNTNULL = 0 + UPDATE C6StagingPeriodico.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(c.CODISIN,'') +--FINE INTERVENTO 'RE' - 20161213 + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6StagingPeriodico.RP_CONSULENZA c + left join TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') +--***INIZIO INTERVENTI OMNIA*** +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(c.CODISIN,'') ELSE '' END +--inizio INTERVENTO 'RE' - 20161213 + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB','RE') +--FINE INTERVENTO 'RE' - 20161213 + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') <> '' +-- Log esecuzione +UPDATE + LOG_ESECUZIONE_PERIODICO +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) +--drop table TAB1 +IF @CNTNULL = 0 + SELECT @CNTNULL = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') = '' +if @CNTNULL > 0 + RAISERROR ('Scarti position_id null', 16, 1 ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20190725.sql b/sql/storedProduzione/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20190725.sql new file mode 100644 index 00000000..5888d6c7 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20190725.sql @@ -0,0 +1,121 @@ +CREATE procedure [C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA_20190725] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Trimestrale' + ) +truncate table TAB1 +insert into TAB1 +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, +--***INIZIO INTERVENTI OMNIA*** +-- CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + --inizio INTERVENTO 'RF/MP' - 20171204 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(CODISIN,'') + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB','RE','RF') THEN ISNULL(CODISIN,'') + --fine INTERVENTO 'RF/MP' - 20171204 + ELSE '' END AS CODISIN, +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + CODSOTTOPRODOTTO, + position_id +--INTO TAB1 +FROM C6StagingPeriodico.RP_CONSULENZA +UPDATE TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) +DECLARE @CNTNULL as int +SELECT @CNTNULL = COUNT(*) FROM TAB1 WHERE isnull(position_id,'') = '' +--SET @CNTNULL = 0 +IF @CNTNULL = 0 + UPDATE C6StagingPeriodico.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + --inizio INTERVENTO 'RF/MP' - 20171204 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(c.CODISIN,'') + CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB','RE','RF') THEN ISNULL(c.CODISIN,'') + --fine INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6StagingPeriodico.RP_CONSULENZA c + left join TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') +--***INIZIO INTERVENTI OMNIA*** +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(c.CODISIN,'') ELSE '' END +--inizio INTERVENTO 'RE' - 20161213 + --inizio INTERVENTO 'RF/MP' - 20171204 + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB','RE') + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB','RE','RF') + --fine INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') <> '' +-- Log esecuzione +UPDATE + LOG_ESECUZIONE_PERIODICO +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) +--drop table TAB1 +IF @CNTNULL = 0 + SELECT @CNTNULL = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') = '' +if @CNTNULL > 0 + RAISERROR ('Scarti position_id null', 16, 1 ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_pre_selective.sql new file mode 100644 index 00000000..8a512890 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_pre_selective.sql @@ -0,0 +1,112 @@ +CREATE procedure [C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA_pre_selective] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) +truncate table TAB1 +insert into TAB1 +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, +--***INIZIO INTERVENTI OMNIA*** +-- CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(CODISIN,'') + ELSE '' END AS CODISIN, +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + CODSOTTOPRODOTTO, + position_id +--INTO TAB1 +FROM C6StagingPeriodico.RP_CONSULENZA +UPDATE TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) +DECLARE @CNTNULL as int +SELECT @CNTNULL = COUNT(*) FROM TAB1 WHERE isnull(position_id,'') = '' +--SET @CNTNULL = 0 +IF @CNTNULL = 0 + UPDATE C6StagingPeriodico.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(c.CODISIN,'') +--FINE INTERVENTO 'RE' - 20161213 + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6StagingPeriodico.RP_CONSULENZA c + left join TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') +--***INIZIO INTERVENTI OMNIA*** +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(c.CODISIN,'') ELSE '' END +--inizio INTERVENTO 'RE' - 20161213 + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB','RE') +--FINE INTERVENTO 'RE' - 20161213 + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') <> '' +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA_pre_selective' + ) +--drop table TAB1 +IF @CNTNULL = 0 + SELECT @CNTNULL = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') = '' +if @CNTNULL > 0 + RAISERROR ('Scarti position_id null', 16, 1 ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza.sql b/sql/storedProduzione/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza.sql new file mode 100644 index 00000000..dac2ac30 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza.sql @@ -0,0 +1,121 @@ +CREATE procedure [C6StagingPeriodico].[RP_EstrazioneProfiliInScadenza] +as +BEGIN +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_EstrazioneProfiliInScadenza', + GETDATE(), + 'Elaborazione Trimestrale' + ) + DECLARE @id_periodiodo as int + select @id_periodiodo = max(id_periodo) from [CONSUNI].SEIAlertDW.[dbo].[Vis_Mifid_Report] + --select * into #TempVisMifidReport from [CONSUNI].SEIAlertDW.[dbo].[Vis_Mifid_Report] + select* +into #TempVisMifidReport +from openquery(CONSUNI, +'SELECT + Mifid.Id_Controllo, Mifid.Id_periodo, Mifid.Rete, + Mifid.CodAgente, Mifid.CodFiscale, Mifid.CodMan, + Cli.Cognome, Cli.Nome, Mifid.DtProfilo, + Mifid.ProfiloAss, Mifid.VarMin, Mifid.VarMax, Mifid.VAR_PTFBF, + --dbo.Calcola_ProfiloDaVar(Mifid.VAR_PTFBF) AS ProfiloPTF, + Mifid.PrioritaAdeg, + Mifid.NumGPAdeguate, Mifid.NumGPNonAdeguate, Mifid.PrioritaProfilatura, + Mifid.RFA_BF, Mifid.CTV_BFCC, Mifid.RifQuest, Mifid.TpQuest, + Mifid.PrioritaAzione, Mifid.Codana, Mifid.Faif, Cli.Sesso, Mifid.ProdNoMifid, + Cli.FlagGp, Cli.DtFirmaConsulenza, Cli.DtUltimoMov, + Mifid.ProfiloCalc, + --Mifid.CodFid, + Mifid.ProfiloScadenza, Mifid.NumGPRevocate, + mifid.dtfirmaconsulenzasei, mifid.tipoconsulenzasei, + Mifid.grado_copertura, Mifid.CodProfiloRischioCredito, + Mifid.CodProfEC, Mifid.ClasseRischioCreditoPTF + --into #TempVisMifidReport +FROM (SELECT Profilo, Descrizione, DtInizioValidita, DtFineValidita, VarMin, VarMax, DescrizioneRid + FROM SEIAlertFL.dbo.Profilo AS Profilo_1 + WHERE (YEAR(DtFineValidita) = 9999)) AS Profilo +RIGHT OUTER JOIN ControlloData.dbo.FLSimPB_CodFiscaleProf AS Prof + ON Profilo.Profilo = Prof.ProfiloAss +RIGHT OUTER JOIN SEIALERTDW.dbo.Fact_Mifid AS Mifid +INNER JOIN ControlloData.dbo.FLSimpb_Cliente AS Cli + ON Mifid.CodAgente = Cli.CodAgente + AND Mifid.CodFiscale = Cli.CodFiscale + AND Mifid.CodMan = Cli.CodMan or (Mifid.CodMan is null and Cli.CodMan is null) + ON Prof.Rete = Cli.Rete + AND Prof.codAgente = Cli.CodAgente + AND Prof.CodFiscale = Cli.CodFiscale + AND Prof.CodMan = Cli.CodMan or (Prof.CodMan is null and Cli.CodMan is null) +INNER JOIN SEIalertDW.dbo.ControlloDaElaborareSis co + on Mifid.id_periodo = co.id_periodo + and co.id_controllo = 2') + TRUNCATE TABLE C6STAGINGPERIODICO.RP_MAIL_PROFILI_RISCHIO + INSERT INTO C6STAGINGPERIODICO.RP_MAIL_PROFILI_RISCHIO + select + a.rete, cod_fiscale, codicecontratto, cod_agente, null as data_sott, data_perf, + b.inviobenvenuto as flag_invio_report, profiloAss As Profilo, + dtprofilo as dt_creazione_profilo + from + C6Mart.vcontratti a + inner join C6Mart.contrattosei_metadati b + on a.chiaveclientepb = b.chiaveclientepb + left outer join + --[MIFD_ADEGUATEZZA].SEIAlertDW.[dbo].[Vis_Mifid_Report] c + #TempVisMifidReport c + on + (case + when len(CodMan) = 0 + then c.CodFiscale + else 'FF@'+ CodMan + end) = a.cod_fiscale + and a.rete=c.rete + and a.cod_agente = substring(c.codagente, 2, len(c.codagente)- 1) + where + c.id_periodo= @id_periodiodo--- chiedi ad antonio il periodo + and a.data_fineavanzato > getDate() + --CONDIZIONE FILTRO PER I PROSSIMI 3 MESI + --And datediff(dd,dtprofilo,dateadd(mm,3,getdate()))/365.25>3 + --And datediff(dd,dtprofilo,getdate())/365.25>3 +-- +-- union +-- +-- select +-- a.rete, cod_fiscale, codicecontratto, cod_agente, data_sott, data_perf, +-- inviobenvenuto as flag_invio_report, profilo, dtprofilo as dt_creazione_profilo +-- from +-- c6mart.contrattosei a +-- left outer join +-- [10.10.32.84].controllodata.dbo.clientiAdeguatezza_ALL b +-- on +-- (case +-- when len("codice mandato") = 0 +-- then b."codice fiscale" +-- else 'FF@'+"codice mandato" +-- end) = a.cod_fiscale +-- and a.rete=b.rete +-- where +-- b.id_periodo= @id_periodiodo +-- and a.data_fineavanzato is null +-- +-- --CONDIZIONE FILTRO PER scaduti +-- And profiloscaduto='S' +--order by dt_creazione_profilo +-- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_EstrazioneProfiliInScadenza' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_EstrazioneProfiliInScadenza' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_20161221.sql b/sql/storedProduzione/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_20161221.sql new file mode 100644 index 00000000..8516d50a --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_20161221.sql @@ -0,0 +1,83 @@ +CREATE procedure [C6StagingPeriodico].[RP_EstrazioneProfiliInScadenza_20161221] +as +BEGIN +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_EstrazioneProfiliInScadenza', + GETDATE(), + 'Elaborazione Trimestrale' + ) + DECLARE @id_periodiodo as int + select @id_periodiodo = max(id_periodo) from [MIFD_ADEGUATEZZA].SEIAlertDW.[dbo].[Vis_Mifid_Report] + select * into #TempVisMifidReport from [MIFD_ADEGUATEZZA].SEIAlertDW.[dbo].[Vis_Mifid_Report] + TRUNCATE TABLE C6STAGINGPERIODICO.RP_MAIL_PROFILI_RISCHIO + INSERT INTO C6STAGINGPERIODICO.RP_MAIL_PROFILI_RISCHIO + select + a.rete, cod_fiscale, codicecontratto, cod_agente, null as data_sott, data_perf, + b.inviobenvenuto as flag_invio_report, profiloAss As Profilo, + dtprofilo as dt_creazione_profilo + from + C6Mart.vcontratti a + inner join C6Mart.contrattosei_metadati b + on a.chiaveclientepb = b.chiaveclientepb + left outer join + --[MIFD_ADEGUATEZZA].SEIAlertDW.[dbo].[Vis_Mifid_Report] c + #TempVisMifidReport c + on + (case + when len(CodMan) = 0 + then c.CodFiscale + else 'FF@'+ CodMan + end) = a.cod_fiscale + and a.rete=c.rete + and a.cod_agente = substring(c.codagente, 2, len(c.codagente)- 1) + where + c.id_periodo= @id_periodiodo--- chiedi ad antonio il periodo + and a.data_fineavanzato > getDate() + --CONDIZIONE FILTRO PER I PROSSIMI 3 MESI + --And datediff(dd,dtprofilo,dateadd(mm,3,getdate()))/365.25>3 + --And datediff(dd,dtprofilo,getdate())/365.25>3 +-- +-- union +-- +-- select +-- a.rete, cod_fiscale, codicecontratto, cod_agente, data_sott, data_perf, +-- inviobenvenuto as flag_invio_report, profilo, dtprofilo as dt_creazione_profilo +-- from +-- c6mart.contrattosei a +-- left outer join +-- [10.10.32.84].controllodata.dbo.clientiAdeguatezza_ALL b +-- on +-- (case +-- when len("codice mandato") = 0 +-- then b."codice fiscale" +-- else 'FF@'+"codice mandato" +-- end) = a.cod_fiscale +-- and a.rete=b.rete +-- where +-- b.id_periodo= @id_periodiodo +-- and a.data_fineavanzato is null +-- +-- --CONDIZIONE FILTRO PER scaduti +-- And profiloscaduto='S' +--order by dt_creazione_profilo +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_EstrazioneProfiliInScadenza' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_EstrazioneProfiliInScadenza' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_20180720.sql b/sql/storedProduzione/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_20180720.sql new file mode 100644 index 00000000..cda8431a --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_20180720.sql @@ -0,0 +1,83 @@ +CREATE procedure [C6StagingPeriodico].[RP_EstrazioneProfiliInScadenza_20180720] +as +BEGIN +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_EstrazioneProfiliInScadenza', + GETDATE(), + 'Elaborazione Trimestrale' + ) + DECLARE @id_periodiodo as int + select @id_periodiodo = max(id_periodo) from [CONSUNI].SEIAlertDW.[dbo].[Vis_Mifid_Report] + select * into #TempVisMifidReport from [CONSUNI].SEIAlertDW.[dbo].[Vis_Mifid_Report] + TRUNCATE TABLE C6STAGINGPERIODICO.RP_MAIL_PROFILI_RISCHIO + INSERT INTO C6STAGINGPERIODICO.RP_MAIL_PROFILI_RISCHIO + select + a.rete, cod_fiscale, codicecontratto, cod_agente, null as data_sott, data_perf, + b.inviobenvenuto as flag_invio_report, profiloAss As Profilo, + dtprofilo as dt_creazione_profilo + from + C6Mart.vcontratti a + inner join C6Mart.contrattosei_metadati b + on a.chiaveclientepb = b.chiaveclientepb + left outer join + --[MIFD_ADEGUATEZZA].SEIAlertDW.[dbo].[Vis_Mifid_Report] c + #TempVisMifidReport c + on + (case + when len(CodMan) = 0 + then c.CodFiscale + else 'FF@'+ CodMan + end) = a.cod_fiscale + and a.rete=c.rete + and a.cod_agente = substring(c.codagente, 2, len(c.codagente)- 1) + where + c.id_periodo= @id_periodiodo--- chiedi ad antonio il periodo + and a.data_fineavanzato > getDate() + --CONDIZIONE FILTRO PER I PROSSIMI 3 MESI + --And datediff(dd,dtprofilo,dateadd(mm,3,getdate()))/365.25>3 + --And datediff(dd,dtprofilo,getdate())/365.25>3 +-- +-- union +-- +-- select +-- a.rete, cod_fiscale, codicecontratto, cod_agente, data_sott, data_perf, +-- inviobenvenuto as flag_invio_report, profilo, dtprofilo as dt_creazione_profilo +-- from +-- c6mart.contrattosei a +-- left outer join +-- [10.10.32.84].controllodata.dbo.clientiAdeguatezza_ALL b +-- on +-- (case +-- when len("codice mandato") = 0 +-- then b."codice fiscale" +-- else 'FF@'+"codice mandato" +-- end) = a.cod_fiscale +-- and a.rete=b.rete +-- where +-- b.id_periodo= @id_periodiodo +-- and a.data_fineavanzato is null +-- +-- --CONDIZIONE FILTRO PER scaduti +-- And profiloscaduto='S' +--order by dt_creazione_profilo +-- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_EstrazioneProfiliInScadenza' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_EstrazioneProfiliInScadenza' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_new.sql b/sql/storedProduzione/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_new.sql new file mode 100644 index 00000000..d3c35c10 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_new.sql @@ -0,0 +1,83 @@ +CREATE procedure [C6StagingPeriodico].[RP_EstrazioneProfiliInScadenza_new] +as +BEGIN +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_EstrazioneProfiliInScadenza2', + GETDATE(), + 'Elaborazione Trimestrale' + ) + DECLARE @id_periodiodo as int + declare @date as datetime; + select @id_periodiodo = max(id_periodo) from [MIFD_ADEGUATEZZA].SEIAlertDW.[dbo].[Vis_Mifid_Report] + select * into #TempVisMifidReport from [MIFD_ADEGUATEZZA].SEIAlertDW.[dbo].[Vis_Mifid_Report] + TRUNCATE TABLE C6STAGINGPERIODICO.RP_MAIL_PROFILI_RISCHIO_TEST + INSERT INTO C6STAGINGPERIODICO.RP_MAIL_PROFILI_RISCHIO_TEST + select + a.rete, cod_fiscale, codicecontratto, cod_agente, null as data_sott, data_perf, + b.inviobenvenuto as flag_invio_report, profiloAss As Profilo, + dtprofilo as dt_creazione_profilo + from + C6Mart.vcontratti a + inner join C6Mart.contrattosei_metadati b + on a.chiaveclientepb = b.chiaveclientepb + left outer join + #TempVisMifidReport c + on + (case + when len(CodMan) = 0 + then c.CodFiscale + else 'FF@'+ CodMan + end) = a.cod_fiscale + and a.rete=c.rete + and a.cod_agente = substring(c.codagente, 2, len(c.codagente)- 1) + where + c.id_periodo= @id_periodiodo--- chiedi ad antonio il periodo + and a.data_fineavanzato > getDate() + --CONDIZIONE FILTRO PER I PROSSIMI 3 MESI + --And datediff(dd,dtprofilo,dateadd(mm,3,getdate()))/365.25>3 + --And datediff(dd,dtprofilo,getdate())/365.25>3 +-- +-- union +-- +-- select +-- a.rete, cod_fiscale, codicecontratto, cod_agente, data_sott, data_perf, +-- inviobenvenuto as flag_invio_report, profilo, dtprofilo as dt_creazione_profilo +-- from +-- c6mart.contrattosei a +-- left outer join +-- [10.10.32.84].controllodata.dbo.clientiAdeguatezza_ALL b +-- on +-- (case +-- when len("codice mandato") = 0 +-- then b."codice fiscale" +-- else 'FF@'+"codice mandato" +-- end) = a.cod_fiscale +-- and a.rete=b.rete +-- where +-- b.id_periodo= @id_periodiodo +-- and a.data_fineavanzato is null +-- +-- --CONDIZIONE FILTRO PER scaduti +-- And profiloscaduto='S' +--order by dt_creazione_profilo +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_EstrazioneProfiliInScadenza2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_EstrazioneProfiliInScadenza' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_pre_selective.sql new file mode 100644 index 00000000..11bfa9a5 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_EstrazioneProfiliInScadenza_pre_selective.sql @@ -0,0 +1,83 @@ +CREATE procedure [C6StagingPeriodico].[RP_EstrazioneProfiliInScadenza_pre_selective] +as +BEGIN +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_EstrazioneProfiliInScadenza_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + DECLARE @id_periodiodo as int + select @id_periodiodo = max(id_periodo) from [CONSUNI].SEIAlertDW.[dbo].[Vis_Mifid_Report] + select * into #TempVisMifidReport from [CONSUNI].SEIAlertDW.[dbo].[Vis_Mifid_Report] + TRUNCATE TABLE C6STAGINGPERIODICO.RP_MAIL_PROFILI_RISCHIO + INSERT INTO C6STAGINGPERIODICO.RP_MAIL_PROFILI_RISCHIO + select + a.rete, cod_fiscale, codicecontratto, cod_agente, null as data_sott, data_perf, + b.inviobenvenuto as flag_invio_report, profiloAss As Profilo, + dtprofilo as dt_creazione_profilo + from + C6Mart.vcontratti a + inner join C6Mart.contrattosei_metadati b + on a.chiaveclientepb = b.chiaveclientepb + left outer join + --[MIFD_ADEGUATEZZA].SEIAlertDW.[dbo].[Vis_Mifid_Report] c + #TempVisMifidReport c + on + (case + when len(CodMan) = 0 + then c.CodFiscale + else 'FF@'+ CodMan + end) = a.cod_fiscale + and a.rete=c.rete + and a.cod_agente = substring(c.codagente, 2, len(c.codagente)- 1) + where + c.id_periodo= @id_periodiodo--- chiedi ad antonio il periodo + and a.data_fineavanzato > getDate() + --CONDIZIONE FILTRO PER I PROSSIMI 3 MESI + --And datediff(dd,dtprofilo,dateadd(mm,3,getdate()))/365.25>3 + --And datediff(dd,dtprofilo,getdate())/365.25>3 +-- +-- union +-- +-- select +-- a.rete, cod_fiscale, codicecontratto, cod_agente, data_sott, data_perf, +-- inviobenvenuto as flag_invio_report, profilo, dtprofilo as dt_creazione_profilo +-- from +-- c6mart.contrattosei a +-- left outer join +-- [10.10.32.84].controllodata.dbo.clientiAdeguatezza_ALL b +-- on +-- (case +-- when len("codice mandato") = 0 +-- then b."codice fiscale" +-- else 'FF@'+"codice mandato" +-- end) = a.cod_fiscale +-- and a.rete=b.rete +-- where +-- b.id_periodo= @id_periodiodo +-- and a.data_fineavanzato is null +-- +-- --CONDIZIONE FILTRO PER scaduti +-- And profiloscaduto='S' +--order by dt_creazione_profilo +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_EstrazioneProfiliInScadenza_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_EstrazioneProfiliInScadenza_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_POPOLAMENTO_WSMOV_CONTRATTO_SCARICO.sql b/sql/storedProduzione/C6StagingPeriodico_RP_POPOLAMENTO_WSMOV_CONTRATTO_SCARICO.sql new file mode 100644 index 00000000..1c0697da --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_POPOLAMENTO_WSMOV_CONTRATTO_SCARICO.sql @@ -0,0 +1,26 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6StagingPeriodico].[RP_POPOLAMENTO_WSMOV_CONTRATTO_SCARICO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --troncare la tabella esistente + truncate table [C6StagingPeriodico].WSMOV_CONTRATTO_SCARICO + -- popolamento tabella + insert into [C6StagingPeriodico].WSMOV_CONTRATTO_SCARICO + select + [WSMOV_PRODOTTO] + ,[WSMOV_OPERAZIONE] + ,[WSMOV_FIRMA_DIGITALE] + ,[WSMOV_CONTRATTO] + ,[WSMOV_PROGRESSIVO] + ,[WSMOV_DATA_ESEGUITO] + from [SYSC].[ITIMISYSCDSN].[F].[WSMOV] + where WSMOV_DATA_ESEGUITO >= '20150708' + and wsmov_data_eseguito not like '99%' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql b/sql/storedProduzione/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql new file mode 100644 index 00000000..ad69779b --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql @@ -0,0 +1,39 @@ +-- Questa sp aggiorna il campo 'beneficio' della [PROMETEIA_AGGR] con il valore del nuovo indicatore dalla nuova tabella PROMETEIA_AGGR_IndDiv +CREATE procedure [C6StagingPeriodico].[RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE] +AS +BEGIN +-- *********************************************** 10/7/2018 ********************************************** +-- BONIFICA DELLA TABELLA PER I VALORI NON CALCOLATI (Nan) TORNATI DAL SERVIZIO PER ALCUNI CF/PTF +-- NECESSARIA PER NON MANDARE IN ERRORE LA UPDATE +update a set indicatore = '0.0' + FROM [C6StampeCentralizzate].[C6martPeriodico].[brsinddiv] a + where + not indicatore like '%[0-9]%' +-- ********************************************* FINE BONIFICA ******************************************** + --aggiorna il beneficio per il COMPLESSIVO +--UPDATE aggr set aggr.beneficio = CAST(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) AS DECIMAL(12,3)) +--con le replace sostituisco i caratteri speciali a fine testo che mandano in errore il cast quando l'indicatore è = 0.0 - CHAR(13) = cr, CHAR(10) = lf +UPDATE aggr set aggr.beneficio = CAST(inddiv.indicatore AS DECIMAL(12,3)) +from +[C6martPeriodico].[brsvarallaggr] aggr +inner join +[C6martPeriodico].[brsinddiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale +where aggr.portafoglio = 'COMPLESSIVO' +--aggiorna il beneficio per il COMPLESSIVO|BF +UPDATE aggr set aggr.beneficio = CAST(inddiv.indicatore AS DECIMAL(12,3)) +from +[C6martPeriodico].[brsvarallaggr] aggr +inner join +[C6martPeriodico].[brsinddiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_BF' +where aggr.portafoglio = 'COMPLESSIVO|BF' +--aggiorna il beneficio per il COMPLESSIVO|TERZI +UPDATE aggr set aggr.beneficio = CAST(inddiv.indicatore AS DECIMAL(12,3)) +from +[C6martPeriodico].[brsvarallaggr] aggr +inner join +[C6martPeriodico].[brsinddiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_TERZI' +where aggr.portafoglio = 'COMPLESSIVO|TERZI' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_20180710.sql b/sql/storedProduzione/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_20180710.sql new file mode 100644 index 00000000..8a30df92 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_20180710.sql @@ -0,0 +1,43 @@ +-- Questa sp aggiorna il campo 'beneficio' della [PROMETEIA_AGGR] con il valore del nuovo indicatore dalla nuova tabella PROMETEIA_AGGR_IndDiv +CREATE procedure [C6StagingPeriodico].[RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_20180710] +AS +BEGIN + --update + --[C6StagingPeriodico].[PROMETEIA_AGGR] + --set Beneficio = b.indicatore + --from [C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] b + --where + --([C6StagingPeriodico].[PROMETEIA_AGGR].rete = b.rete + -- and [C6StagingPeriodico].[PROMETEIA_AGGR].CodiceFiscale = b.cod_fiscale) + --and + --[C6StagingPeriodico].[PROMETEIA_AGGR].Portafoglio = 'COMPLESSIVO|BF' + --aggiorna il beneficio per il COMPLESSIVO +--UPDATE aggr set aggr.beneficio = CAST(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) AS DECIMAL(12,3)) +--con le replace sostituisco i caratteri speciali a fine testo che mandano in errore il cast quando l'indicatore è = 0.0 - CHAR(13) = cr, CHAR(10) = lf +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodico].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale +where aggr.portafoglio = 'COMPLESSIVO' +--aggiorna il beneficio per il COMPLESSIVO|BF +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodico].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_BF' +where aggr.portafoglio = 'COMPLESSIVO|BF' +--aggiorna il beneficio per il COMPLESSIVO|TERZI +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodico].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_TERZI' +where aggr.portafoglio = 'COMPLESSIVO|TERZI' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_preAladdin.sql b/sql/storedProduzione/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_preAladdin.sql new file mode 100644 index 00000000..ffa59a3b --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_preAladdin.sql @@ -0,0 +1,42 @@ +-- Questa sp aggiorna il campo 'beneficio' della [PROMETEIA_AGGR] con il valore del nuovo indicatore dalla nuova tabella PROMETEIA_AGGR_IndDiv +CREATE procedure [C6StagingPeriodico].[RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_preAladdin] +AS +BEGIN +-- *********************************************** 10/7/2018 ********************************************** +-- BONIFICA DELLA TABELLA PER I VALORI NON CALCOLATI (Nan) TORNATI DAL SERVIZIO PER ALCUNI CF/PTF +-- NECESSARIA PER NON MANDARE IN ERRORE LA UPDATE +update a set indicatore = '0.0' + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] a + where + not indicatore like '%[0-9]%' +-- ********************************************* FINE BONIFICA ******************************************** + --aggiorna il beneficio per il COMPLESSIVO +--UPDATE aggr set aggr.beneficio = CAST(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) AS DECIMAL(12,3)) +--con le replace sostituisco i caratteri speciali a fine testo che mandano in errore il cast quando l'indicatore è = 0.0 - CHAR(13) = cr, CHAR(10) = lf +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodico].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale +where aggr.portafoglio = 'COMPLESSIVO' +--aggiorna il beneficio per il COMPLESSIVO|BF +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodico].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_BF' +where aggr.portafoglio = 'COMPLESSIVO|BF' +--aggiorna il beneficio per il COMPLESSIVO|TERZI +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodico].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_TERZI' +where aggr.portafoglio = 'COMPLESSIVO|TERZI' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI.20171120_New_en.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI.20171120_New_en.sql new file mode 100644 index 00000000..2d9e49b1 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI.20171120_New_en.sql @@ -0,0 +1,262 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_APPO_CONTRATTI.20171120_New_en] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_APPO_CONTRATTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + declare @dtold datetime + declare @dtpre datetime + declare @dttrim datetime + set @dttrim = cast(c6martperiodico.getTrimestre2(getDate(), 1) as datetime) + --INIZIO INTERVENTO MAU + --set @dtpre = DATEADD(month, -1,@dttrim) + --set @dtold = DATEADD(month, -3,@dttrim) + set @dtold = DATEADD(month, -2,@dttrim) + --FINE INTERVENTO MAU + print @dttrim + print @dtpre + print @dtold +TRUNCATE TABLE ScartiQuadratura + SELECT DISTINCT + CASE WHEN CF IS NULL THEN PIVA + WHEN CF IS NOT NULL AND PIVA IS NOT NULL THEN 'FF@'+CF + ELSE CF + END COD_FISCALE, + RETE, + CODICECONTRATTO, + DATACHIUSURAAVANZATO AS DATA_FINEAVANZATO + INTO #DFA + FROM + [CONSUNI].consulenzaUnica.dbo.VCONTRATTIFINEAVANZATO + --ESTRAIAMO TUTTI I CF CHE HANNO RICEVUTO IL REPORT DI BENVENUTO ENTRO L'ULTIMO GIORNO DEL MESE PRECEDENTE + --AL MESE DI FINE TRIMESTRE (ES: PER IL 4° TRIMESTRE 01/10 - 31/12 REPORT DI BENVENUTO RICEVUTO ENTRO IL 30/11) + SELECT + PDF1.CODICEFISCALE AS CF,PDF1.RETE AS R,SUBSTRING(PDF1.NOMEFILE,0,12) AS C,PDF1.DATAGENERAZIONE AS D + INTO #pdf1 + FROM c6mart.gestione_PDF_ftp PDF1 + WHERE 1=1 + AND DATAGENERAZIONE < @dttrim + select a.* + into #DFA1 + from #DFA a + inner join ( + select c.*,max(data_fineavanzato) over (partition by rete,cod_fiscale) as data_max + from #DFA c + inner join #pdf1 d + on c.rete=d.R and c.cod_fiscale=d.CF and c.codicecontratto=d.C + ) b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and a.data_fineavanzato=b.data_fineavanzato + and a.data_fineavanzato=data_max +---- 2017-11-20 inizio +---- gestire i clienti professionali a cui assegnato un nuovo contratto per i quali non è previsto l'invio della lettera di benvenuto + UNION + select a.* + --into #DFA2 + from #DFA a + inner join ( + select c.*,max(data_fineavanzato) over (partition by rete,cod_fiscale) as data_max + from #DFA c + left join #pdf1 d + on c.rete=d.R and c.cod_fiscale=d.CF and c.codicecontratto=d.C where d.C is null + ) b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and a.data_fineavanzato=b.data_fineavanzato + and a.data_fineavanzato=data_max + inner join C6StagingPeriodico.ClientIProfessionali cp + on a.rete=cp.rete and a.cod_fiscale=cp.codiceFiscale and a.codiceContratto=cp.codiceContratto +----verificare clienti profiessionali +----select * from #DFA1 +----where cod_fiscale in ( +----'MGNGPP55B25G224T', +----'FF@5844', +----'BTTFST43C42B300A', +----'TMSRRT59R13L967T', +----'RSCFNC43M09A965T', +----'NDRMRA39D15C623K', +----'PDRPLA72H21C623T' +----) +-------------------------------------------------------------------------------------------------------------------------- +---- 2017-11-21 fine + --ESTRAIAMO TUTTI I CONTRATTI NON REVOCATI (DATA REVOCA IMPOSTATA CON DEFAULT 99990131) E QUELLI CHE + --SONO STATI REVOCATI DURANTE IL TRIMESTRE OGGETTO DI TRIMESTRALE + --(ES: PER IL 4° TRIMESTRE 01/10 - 31/12 TUTTI I CONTRATTI CHE RISULTANO NON REVOCATI + QUELLI CHE SONO STATI + --REVOCATO DOPO IL 30/09) + SELECT DISTINCT P.* + INTO #PDF + FROM #PDF1 P + INNER JOIN #DFA1 VC + ON P.CF = VC.COD_FISCALE AND P.R=VC.RETE AND P.C=VC.CODICECONTRATTO + WHERE DATA_FINEAVANZATO >= @dtold +select C.* +INTO #CONGELATI +from +#PDF P +INNER JOIN + C6StagingPeriodico.ContrattiPreTrimestrale c +ON P.R = C.RETE +AND P.CF = C.COD_FISCALE +AND P.C = C.CODICECONTRATTO +select C.* +INTO #CONGELATICHIUSI +from +#PDF P +INNER JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + c6martperiodico.getTrimestre(getDAte(), 0)) c +ON + P.R = c.RETE +AND + p.CF = case when len(c.CF) < 16 then 'FF@' + c.CF + when c.CF is null then c.PIVA + else c.CF END +AND P.C = C.COD_CONF +LEFT JOIN #CONGELATI CONG +ON P.R = CONG.RETE +AND P.CF = CONG.COD_FISCALE +AND P.C = CONG.CODICECONTRATTO +WHERE CONG.RETE IS NULL +TRUNCATE TABLE C6StagingPERIODICO.APPO_CONTRATTI +INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI +SELECT + * +FROM + #CONGELATI +-- modifica del 1/12/2016 - contratto non più esistente - query inutile +-- modifica del 5/12/2016 - segnalata squadratura con capgemini: quindi sembra un agente fittizio; ripristino +WHERE codicecontratto <> '390026CO101' and cod_agente <> '015312' --MRRRRT78S30L219K cliente di prova +-- fine modifica del 5/12/2016 +-- fine modifica del 1/12/2016 +and codicecontratto not in +( +select codicecontratto from EsclusioneContrattiPerQuadratura +) +UNION +SELECT +chiaveClientePB, +--case when len(CF) < 16 then 'FF@' + CF else CF END as COD_FISCALE, +case when len(CF) < 16 then 'FF@' + CF + when CF is null then PIVA + else CF END as COD_FISCALE, +NULL as COD_MANDATO, +PIVA as PIVA_FIDUCIARIA, +PB as COD_AGENTE, +RETE, +COD_CONF as codiceContratto, +NULL as flagRol, +INDIRIZZO, +CAP, +CITTA, +PROV as PROVINCIA, +NAZIONE, +null as PRESSO, +EMAIL, +FREQUENZA_DIAGNOSI as FREQ_DIAGNOSI, +FREQUENZA_MONITORAGGIO as FREQ_MONITORAGGIO, +FLAG_STAMPA_REPORT as GENERAZIONEREPORT, +DATA_SOTTOSCRIZIONE_CB as DATA_INIZIOBASE, +DATA_CHIUSURA_CB as DATA_FINEBASE, +DATA_PERFEZIONAMENTO_CB as DATA_PERF_BASE, +DATA_PERFEZIONAMENTO_C6 as DATA_PERF, +DATA_SOTTOSCRIZIONE_C6 as DATA_INZIOAVANZATO, +DATA_CHIUSURA_C6 as DATA_FINEAVANZATO, +null as RIATTIVAZIONE, +--null as TIP_CONTRATTO, +case when TIPCONTRATTO is null then 0 +else +(case when TIPCONTRATTO = 'A' then 1 + else 2 end) end as TIP_CONTRATTO, +null as TIP_RIATTIVAZIONE, +'S' as ClienteMIGRATO, +'N' as RISORSENA, +1 as PROFILOATTIVO, +0 as NumSolleciti, +0 as NumRevoche, +null as Data_ultimoSollecito, +null as Data_ultimaRevoca, +'S' as InvioBenvenuto +FROM +#CONGELATICHIUSI +-- modifica del 1/12/2016 - contratto non più esistente - query inutile +-- modifica del 5/12/2016 - segnalata squadratura con capgemini: quindi sembra un agente fittizio; ripristino +WHERE COD_CONF <> '390026CO101' and PB <> '015312' --MRRRRT78S30L219K cliente di prova +-- fine modifica del 5/12/2016 +-- fine modifica del 1/12/2016 +and COD_CONF not in -- FC 11122013 aggiornato campo codicecontratto INESISTENTE con COD_CONF +( +select codicecontratto from EsclusioneContrattiPerQuadratura +) +UPDATE C6StagingPERIODICO.APPO_CONTRATTI + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,provincia = a.Provincia + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITORAGGIO = a.FREQ_MONITORAGGIO +from c6mart.vcontratti a +inner join C6StagingPERIODICO.APPO_CONTRATTI b +on a.codicecontratto = b.codicecontratto +INSERT INTO ScartiQuadratura +SELECT + P.R + ,P.CF + ,P.C + ,1 + ,0 +FROM + #PDF P +LEFT JOIN + C6StagingPERIODICO.APPO_CONTRATTI AC +ON P.R = AC.rete +AND P.CF = AC.COD_FISCALE +AND P.C = AC.codiceContratto +WHERE AC.RETE IS NULL +and p.c not in ( select codiceContratto from EsclusioneContrattiPerQuadratura ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' + ) +DROP TABLE #DFA +DROP TABLE #DFA1 +DROP TABLE #pdf1 +DROP TABLE #PDF +DROP TABLE #CONGELATI +DROP TABLE #CONGELATICHIUSI + declare @iScarti INT + SELECT @iscarti = count(*) FROM ScartiQuadratura + if @iScarti > 0 + RAISERROR ('Scarti Quadratura presenti (Verificare su tabella "ScartiQuadratura").', -- Message text. + 16, -- Severity. + 1 -- State. + ); +--select count(*) from C6StagingPERIODICO.APPO_CONTRATTI_TEST +--select count(*) from C6StagingPERIODICO.APPO_CONTRATTI +--select count(*) from vcontrcong0913 +--select v.* from #CONTRATTI_DA_CONSIDERARE t +--right join vcontrcong0913 v +--on t.rete= v.rete +--and t.cod_fiscale = v.cod_fiscale +--where t.rete is null +--select top 1 * from +--[consevo].consulenzaUnicafl.dbo.cbs_AvanzatiChiusi c +--where cf = '4200' \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI.sql new file mode 100644 index 00000000..115e946a --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI.sql @@ -0,0 +1,241 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_APPO_CONTRATTI] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_APPO_CONTRATTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + declare @dtold datetime + declare @dtpre datetime + declare @dttrim datetime + set @dttrim = cast(c6martperiodico.getTrimestre2(getDate(), 1) as datetime) + --INIZIO INTERVENTO MAU + --set @dtpre = DATEADD(month, -1,@dttrim) + --set @dtold = DATEADD(month, -3,@dttrim) + set @dtold = DATEADD(month, -2,@dttrim) + --FINE INTERVENTO MAU + print @dttrim + print @dtpre + print @dtold +TRUNCATE TABLE ScartiQuadratura + SELECT DISTINCT + CASE WHEN CF IS NULL THEN PIVA + WHEN CF IS NOT NULL AND PIVA IS NOT NULL THEN 'FF@'+CF + ELSE CF + END COD_FISCALE, + RETE, + CODICECONTRATTO, + DATACHIUSURAAVANZATO AS DATA_FINEAVANZATO + INTO #DFA + FROM + [CONSUNI].consulenzaUnica.dbo.VCONTRATTIFINEAVANZATO + --ESTRAIAMO TUTTI I CF CHE HANNO RICEVUTO IL REPORT DI BENVENUTO ENTRO L'ULTIMO GIORNO DEL MESE PRECEDENTE + --AL MESE DI FINE TRIMESTRE (ES: PER IL 4° TRIMESTRE 01/10 - 31/12 REPORT DI BENVENUTO RICEVUTO ENTRO IL 30/11) + SELECT + PDF1.CODICEFISCALE AS CF,PDF1.RETE AS R,SUBSTRING(PDF1.NOMEFILE,0,12) AS C,PDF1.DATAGENERAZIONE AS D + INTO #pdf1 + FROM c6mart.gestione_PDF_ftp PDF1 + WHERE 1=1 + AND DATAGENERAZIONE < @dttrim + select a.* + into #DFA1 + from #DFA a + inner join ( + select c.*,max(data_fineavanzato) over (partition by rete,cod_fiscale) as data_max + from #DFA c + inner join #pdf1 d + on c.rete=d.R and c.cod_fiscale=d.CF and c.codicecontratto=d.C + ) b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and a.data_fineavanzato=b.data_fineavanzato + and a.data_fineavanzato=data_max + --ESTRAIAMO TUTTI I CONTRATTI NON REVOCATI (DATA REVOCA IMPOSTATA CON DEFAULT 99990131) E QUELLI CHE + --SONO STATI REVOCATI DURANTE IL TRIMESTRE OGGETTO DI TRIMESTRALE + --(ES: PER IL 4° TRIMESTRE 01/10 - 31/12 TUTTI I CONTRATTI CHE RISULTANO NON REVOCATI + QUELLI CHE SONO STATI + --REVOCATO DOPO IL 30/09) + SELECT DISTINCT P.* + INTO #PDF + FROM #PDF1 P + INNER JOIN #DFA1 VC + ON P.CF = VC.COD_FISCALE AND P.R=VC.RETE AND P.C=VC.CODICECONTRATTO + WHERE DATA_FINEAVANZATO >= @dtold +select C.* +INTO #CONGELATI +from +#PDF P +INNER JOIN + C6StagingPeriodico.ContrattiPreTrimestrale c +ON P.R = C.RETE +AND P.CF = C.COD_FISCALE +AND P.C = C.CODICECONTRATTO +select C.* +INTO #CONGELATICHIUSI +from +#PDF P +INNER JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + c6martperiodico.getTrimestre(getDAte(), 0)) c +ON + P.R = c.RETE +AND + p.CF = case when len(c.CF) < 16 then 'FF@' + c.CF + when c.CF is null then c.PIVA + else c.CF END +AND P.C = C.COD_CONF +LEFT JOIN #CONGELATI CONG +ON P.R = CONG.RETE +AND P.CF = CONG.COD_FISCALE +AND P.C = CONG.CODICECONTRATTO +WHERE CONG.RETE IS NULL +TRUNCATE TABLE C6StagingPERIODICO.APPO_CONTRATTI +INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI +SELECT + * +FROM + #CONGELATI +-- modifica del 1/12/2016 - contratto non più esistente - query inutile +-- modifica del 5/12/2016 - segnalata squadratura con capgemini: quindi sembra un agente fittizio; ripristino +WHERE codicecontratto <> '390026CO101' and cod_agente <> '015312' --MRRRRT78S30L219K cliente di prova +-- fine modifica del 5/12/2016 +-- fine modifica del 1/12/2016 +and codicecontratto not in +( +select codicecontratto from EsclusioneContrattiPerQuadratura +) +UNION +SELECT +chiaveClientePB, +--case when len(CF) < 16 then 'FF@' + CF else CF END as COD_FISCALE, +case when len(CF) < 16 then 'FF@' + CF + when CF is null then PIVA + else CF END as COD_FISCALE, +NULL as COD_MANDATO, +PIVA as PIVA_FIDUCIARIA, +PB as COD_AGENTE, +RETE, +COD_CONF as codiceContratto, +NULL as flagRol, +INDIRIZZO, +CAP, +CITTA, +PROV as PROVINCIA, +NAZIONE, +null as PRESSO, +EMAIL, +FREQUENZA_DIAGNOSI as FREQ_DIAGNOSI, +FREQUENZA_MONITORAGGIO as FREQ_MONITORAGGIO, +FLAG_STAMPA_REPORT as GENERAZIONEREPORT, +DATA_SOTTOSCRIZIONE_CB as DATA_INIZIOBASE, +DATA_CHIUSURA_CB as DATA_FINEBASE, +DATA_PERFEZIONAMENTO_CB as DATA_PERF_BASE, +DATA_PERFEZIONAMENTO_C6 as DATA_PERF, +DATA_SOTTOSCRIZIONE_C6 as DATA_INZIOAVANZATO, +DATA_CHIUSURA_C6 as DATA_FINEAVANZATO, +null as RIATTIVAZIONE, +--null as TIP_CONTRATTO, +case when TIPCONTRATTO is null then 0 +else +(case when TIPCONTRATTO = 'A' then 1 + else 2 end) end as TIP_CONTRATTO, +null as TIP_RIATTIVAZIONE, +'S' as ClienteMIGRATO, +'N' as RISORSENA, +1 as PROFILOATTIVO, +0 as NumSolleciti, +0 as NumRevoche, +null as Data_ultimoSollecito, +null as Data_ultimaRevoca, +'S' as InvioBenvenuto +FROM +#CONGELATICHIUSI +-- modifica del 1/12/2016 - contratto non più esistente - query inutile +-- modifica del 5/12/2016 - segnalata squadratura con capgemini: quindi sembra un agente fittizio; ripristino +WHERE COD_CONF <> '390026CO101' and PB <> '015312' --MRRRRT78S30L219K cliente di prova +-- fine modifica del 5/12/2016 +-- fine modifica del 1/12/2016 +and COD_CONF not in -- FC 11122013 aggiornato campo codicecontratto INESISTENTE con COD_CONF +( +select codicecontratto from EsclusioneContrattiPerQuadratura +) +UPDATE C6StagingPERIODICO.APPO_CONTRATTI + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,provincia = a.Provincia + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITORAGGIO = a.FREQ_MONITORAGGIO +from c6mart.vcontratti a +inner join C6StagingPERIODICO.APPO_CONTRATTI b +on a.codicecontratto = b.codicecontratto +INSERT INTO ScartiQuadratura +SELECT + P.R + ,P.CF + ,P.C + ,1 + ,0 +FROM + #PDF P +LEFT JOIN + C6StagingPERIODICO.APPO_CONTRATTI AC +ON P.R = AC.rete +AND P.CF = AC.COD_FISCALE +AND P.C = AC.codiceContratto +WHERE AC.RETE IS NULL +and p.c not in ( select codiceContratto from EsclusioneContrattiPerQuadratura ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' + ) +DROP TABLE #DFA +DROP TABLE #DFA1 +DROP TABLE #pdf1 +DROP TABLE #PDF +DROP TABLE #CONGELATI +DROP TABLE #CONGELATICHIUSI + declare @iScarti INT + SELECT @iscarti = count(*) FROM ScartiQuadratura + if @iScarti > 0 + RAISERROR ('Scarti Quadratura presenti (Verificare su tabella "ScartiQuadratura").', -- Message text. + 16, -- Severity. + 1 -- State. + ); +--aggiornamento 28/11/2022 +update C6StagingPeriodico.APPO_CONTRATTI +set COD_MANDATO='' +where COD_MANDATO is null +update C6StagingPeriodico.APPO_CONTRATTI +set PIVA_FIDUCIARIA='' +where PIVA_FIDUCIARIA is null +--fine aggiornamento 28/11/2022 +--select count(*) from C6StagingPERIODICO.APPO_CONTRATTI_TEST +--select count(*) from C6StagingPERIODICO.APPO_CONTRATTI +--select count(*) from vcontrcong0913 +--select v.* from #CONTRATTI_DA_CONSIDERARE t +--right join vcontrcong0913 v +--on t.rete= v.rete +--and t.cod_fiscale = v.cod_fiscale +--where t.rete is null +--select top 1 * from +--[consevo].consulenzaUnicafl.dbo.cbs_AvanzatiChiusi c +--where cf = '4200' \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20160902.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20160902.sql new file mode 100644 index 00000000..08d1aa0d --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20160902.sql @@ -0,0 +1,225 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_APPO_CONTRATTI_20160902] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_APPO_CONTRATTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + declare @dtold datetime + declare @dtpre datetime + declare @dttrim datetime + set @dttrim = cast(c6martperiodico.getTrimestre2(getDate(), 1) as datetime) + --INIZIO INTERVENTO MAU + --set @dtpre = DATEADD(month, -1,@dttrim) + --set @dtold = DATEADD(month, -3,@dttrim) + set @dtold = DATEADD(month, -2,@dttrim) + --FINE INTERVENTO MAU + print @dttrim + print @dtpre + print @dtold +TRUNCATE TABLE ScartiQuadratura + SELECT DISTINCT + CASE WHEN CF IS NULL THEN PIVA + WHEN CF IS NOT NULL AND PIVA IS NOT NULL THEN 'FF@'+CF + ELSE CF + END COD_FISCALE, + RETE, + CODICECONTRATTO, + DATACHIUSURAAVANZATO AS DATA_FINEAVANZATO + INTO #DFA + FROM + [CONSEVO].consulenzaEvoluta.dbo.VCONTRATTIFINEAVANZATO + --ESTRAIAMO TUTTI I CF CHE HANNO RICEVUTO IL REPORT DI BENVENUTO ENTRO L'ULTIMO GIORNO DEL MESE PRECEDENTE + --AL MESE DI FINE TRIMESTRE (ES: PER IL 4° TRIMESTRE 01/10 - 31/12 REPORT DI BENVENUTO RICEVUTO ENTRO IL 30/11) + SELECT + PDF1.CODICEFISCALE AS CF,PDF1.RETE AS R,SUBSTRING(PDF1.NOMEFILE,0,12) AS C,PDF1.DATAGENERAZIONE AS D + INTO #pdf1 + FROM c6mart.gestione_PDF_ftp PDF1 + WHERE 1=1 + AND DATAGENERAZIONE < @dttrim + select a.* + into #DFA1 + from #DFA a + inner join ( + select c.*,max(data_fineavanzato) over (partition by rete,cod_fiscale) as data_max + from #DFA c + inner join #pdf1 d + on c.rete=d.R and c.cod_fiscale=d.CF and c.codicecontratto=d.C + ) b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and a.data_fineavanzato=b.data_fineavanzato + and a.data_fineavanzato=data_max + --ESTRAIAMO TUTTI I CONTRATTI NON REVOCATI (DATA REVOCA IMPOSTATA CON DEFAULT 99990131) E QUELLI CHE + --SONO STATI REVOCATI DURANTE IL TRIMESTRE OGGETTO DI TRIMESTRALE + --(ES: PER IL 4° TRIMESTRE 01/10 - 31/12 TUTTI I CONTRATTI CHE RISULTANO NON REVOCATI + QUELLI CHE SONO STATI + --REVOCATO DOPO IL 30/09) + SELECT DISTINCT P.* + INTO #PDF + FROM #PDF1 P + INNER JOIN #DFA1 VC + ON P.CF = VC.COD_FISCALE AND P.R=VC.RETE AND P.C=VC.CODICECONTRATTO + WHERE DATA_FINEAVANZATO >= @dtold +select C.* +INTO #CONGELATI +from +#PDF P +INNER JOIN + C6StagingPeriodico.ContrattiPreTrimestrale c +ON P.R = C.RETE +AND P.CF = C.COD_FISCALE +AND P.C = C.CODICECONTRATTO +select C.* +INTO #CONGELATICHIUSI +from +#PDF P +INNER JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + c6martperiodico.getTrimestre(getDAte(), 0)) c +ON + P.R = c.RETE +AND + p.CF = case when len(c.CF) < 16 then 'FF@' + c.CF + when c.CF is null then c.PIVA + else c.CF END +AND P.C = C.COD_CONF +LEFT JOIN #CONGELATI CONG +ON P.R = CONG.RETE +AND P.CF = CONG.COD_FISCALE +AND P.C = CONG.CODICECONTRATTO +WHERE CONG.RETE IS NULL +TRUNCATE TABLE C6StagingPERIODICO.APPO_CONTRATTI +INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI +SELECT + * +FROM + #CONGELATI +WHERE codicecontratto <> '390026CO101' and cod_agente <> '015312' --MRRRRT78S30L219K cliente di prova +AND codicecontratto not in +( +select codicecontratto from EsclusioneContrattiPerQuadratura +) +UNION +SELECT +chiaveClientePB, +--case when len(CF) < 16 then 'FF@' + CF else CF END as COD_FISCALE, +case when len(CF) < 16 then 'FF@' + CF + when CF is null then PIVA + else CF END as COD_FISCALE, +NULL as COD_MANDATO, +PIVA as PIVA_FIDUCIARIA, +PB as COD_AGENTE, +RETE, +COD_CONF as codiceContratto, +NULL as flagRol, +INDIRIZZO, +CAP, +CITTA, +PROV as PROVINCIA, +NAZIONE, +null as PRESSO, +EMAIL, +FREQUENZA_DIAGNOSI as FREQ_DIAGNOSI, +FREQUENZA_MONITORAGGIO as FREQ_MONITORAGGIO, +FLAG_STAMPA_REPORT as GENERAZIONEREPORT, +DATA_SOTTOSCRIZIONE_CB as DATA_INIZIOBASE, +DATA_CHIUSURA_CB as DATA_FINEBASE, +DATA_PERFEZIONAMENTO_CB as DATA_PERF_BASE, +DATA_PERFEZIONAMENTO_C6 as DATA_PERF, +DATA_SOTTOSCRIZIONE_C6 as DATA_INZIOAVANZATO, +DATA_CHIUSURA_C6 as DATA_FINEAVANZATO, +null as RIATTIVAZIONE, +--null as TIP_CONTRATTO, +case when TIPCONTRATTO is null then 0 +else +(case when TIPCONTRATTO = 'A' then 1 + else 2 end) end as TIP_CONTRATTO, +null as TIP_RIATTIVAZIONE, +'S' as ClienteMIGRATO, +'N' as RISORSENA, +1 as PROFILOATTIVO, +0 as NumSolleciti, +0 as NumRevoche, +null as Data_ultimoSollecito, +null as Data_ultimaRevoca, +'S' as InvioBenvenuto +FROM +#CONGELATICHIUSI +WHERE COD_CONF <> '390026CO101' and PB <> '015312' --MRRRRT78S30L219K cliente di prova +AND COD_CONF not in -- FC 11122013 aggiornato campo codicecontratto INESISTENTE con COD_CONF +( +select codicecontratto from EsclusioneContrattiPerQuadratura +) +UPDATE C6StagingPERIODICO.APPO_CONTRATTI + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,provincia = a.Provincia + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITORAGGIO = a.FREQ_MONITORAGGIO +from c6mart.vcontratti a +inner join C6StagingPERIODICO.APPO_CONTRATTI b +on a.codicecontratto = b.codicecontratto +INSERT INTO ScartiQuadratura +SELECT + P.R + ,P.CF + ,P.C + ,1 + ,0 +FROM + #PDF P +LEFT JOIN + C6StagingPERIODICO.APPO_CONTRATTI AC +ON P.R = AC.rete +AND P.CF = AC.COD_FISCALE +AND P.C = AC.codiceContratto +WHERE AC.RETE IS NULL +and p.c not in ( select codiceContratto from EsclusioneContrattiPerQuadratura ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' + ) +DROP TABLE #DFA +DROP TABLE #DFA1 +DROP TABLE #pdf1 +DROP TABLE #PDF +DROP TABLE #CONGELATI +DROP TABLE #CONGELATICHIUSI + declare @iScarti INT + SELECT @iscarti = count(*) FROM ScartiQuadratura + if @iScarti > 0 + RAISERROR ('Scarti Quadratura presenti (Verificare su tabella "ScartiQuadratura").', -- Message text. + 16, -- Severity. + 1 -- State. + ); +--select count(*) from C6StagingPERIODICO.APPO_CONTRATTI_TEST +--select count(*) from C6StagingPERIODICO.APPO_CONTRATTI +--select count(*) from vcontrcong0913 +--select v.* from #CONTRATTI_DA_CONSIDERARE t +--right join vcontrcong0913 v +--on t.rete= v.rete +--and t.cod_fiscale = v.cod_fiscale +--where t.rete is null +--select top 1 * from +--[consevo].consulenzabasefl.dbo.cbs_AvanzatiChiusi c +--where cf = '4200' \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20161205.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20161205.sql new file mode 100644 index 00000000..5ada74bf --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20161205.sql @@ -0,0 +1,229 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_APPO_CONTRATTI_20161205] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_APPO_CONTRATTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + declare @dtold datetime + declare @dtpre datetime + declare @dttrim datetime + set @dttrim = cast(c6martperiodico.getTrimestre2(getDate(), 1) as datetime) + --INIZIO INTERVENTO MAU + --set @dtpre = DATEADD(month, -1,@dttrim) + --set @dtold = DATEADD(month, -3,@dttrim) + set @dtold = DATEADD(month, -2,@dttrim) + --FINE INTERVENTO MAU + print @dttrim + print @dtpre + print @dtold +TRUNCATE TABLE ScartiQuadratura + SELECT DISTINCT + CASE WHEN CF IS NULL THEN PIVA + WHEN CF IS NOT NULL AND PIVA IS NOT NULL THEN 'FF@'+CF + ELSE CF + END COD_FISCALE, + RETE, + CODICECONTRATTO, + DATACHIUSURAAVANZATO AS DATA_FINEAVANZATO + INTO #DFA + FROM + [CONSUNI].consulenzaUnica.dbo.VCONTRATTIFINEAVANZATO + --ESTRAIAMO TUTTI I CF CHE HANNO RICEVUTO IL REPORT DI BENVENUTO ENTRO L'ULTIMO GIORNO DEL MESE PRECEDENTE + --AL MESE DI FINE TRIMESTRE (ES: PER IL 4° TRIMESTRE 01/10 - 31/12 REPORT DI BENVENUTO RICEVUTO ENTRO IL 30/11) + SELECT + PDF1.CODICEFISCALE AS CF,PDF1.RETE AS R,SUBSTRING(PDF1.NOMEFILE,0,12) AS C,PDF1.DATAGENERAZIONE AS D + INTO #pdf1 + FROM c6mart.gestione_PDF_ftp PDF1 + WHERE 1=1 + AND DATAGENERAZIONE < @dttrim + select a.* + into #DFA1 + from #DFA a + inner join ( + select c.*,max(data_fineavanzato) over (partition by rete,cod_fiscale) as data_max + from #DFA c + inner join #pdf1 d + on c.rete=d.R and c.cod_fiscale=d.CF and c.codicecontratto=d.C + ) b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and a.data_fineavanzato=b.data_fineavanzato + and a.data_fineavanzato=data_max + --ESTRAIAMO TUTTI I CONTRATTI NON REVOCATI (DATA REVOCA IMPOSTATA CON DEFAULT 99990131) E QUELLI CHE + --SONO STATI REVOCATI DURANTE IL TRIMESTRE OGGETTO DI TRIMESTRALE + --(ES: PER IL 4° TRIMESTRE 01/10 - 31/12 TUTTI I CONTRATTI CHE RISULTANO NON REVOCATI + QUELLI CHE SONO STATI + --REVOCATO DOPO IL 30/09) + SELECT DISTINCT P.* + INTO #PDF + FROM #PDF1 P + INNER JOIN #DFA1 VC + ON P.CF = VC.COD_FISCALE AND P.R=VC.RETE AND P.C=VC.CODICECONTRATTO + WHERE DATA_FINEAVANZATO >= @dtold +select C.* +INTO #CONGELATI +from +#PDF P +INNER JOIN + C6StagingPeriodico.ContrattiPreTrimestrale c +ON P.R = C.RETE +AND P.CF = C.COD_FISCALE +AND P.C = C.CODICECONTRATTO +select C.* +INTO #CONGELATICHIUSI +from +#PDF P +INNER JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + c6martperiodico.getTrimestre(getDAte(), 0)) c +ON + P.R = c.RETE +AND + p.CF = case when len(c.CF) < 16 then 'FF@' + c.CF + when c.CF is null then c.PIVA + else c.CF END +AND P.C = C.COD_CONF +LEFT JOIN #CONGELATI CONG +ON P.R = CONG.RETE +AND P.CF = CONG.COD_FISCALE +AND P.C = CONG.CODICECONTRATTO +WHERE CONG.RETE IS NULL +TRUNCATE TABLE C6StagingPERIODICO.APPO_CONTRATTI +INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI +SELECT + * +FROM + #CONGELATI +-- modifica del 1/12/2016 - contratto non più esistente - query inutile +--WHERE codicecontratto <> '390026CO101' and cod_agente <> '015312' --MRRRRT78S30L219K cliente di prova +-- fine modifica del 1/12/2016 +where codicecontratto not in +( +select codicecontratto from EsclusioneContrattiPerQuadratura +) +UNION +SELECT +chiaveClientePB, +--case when len(CF) < 16 then 'FF@' + CF else CF END as COD_FISCALE, +case when len(CF) < 16 then 'FF@' + CF + when CF is null then PIVA + else CF END as COD_FISCALE, +NULL as COD_MANDATO, +PIVA as PIVA_FIDUCIARIA, +PB as COD_AGENTE, +RETE, +COD_CONF as codiceContratto, +NULL as flagRol, +INDIRIZZO, +CAP, +CITTA, +PROV as PROVINCIA, +NAZIONE, +null as PRESSO, +EMAIL, +FREQUENZA_DIAGNOSI as FREQ_DIAGNOSI, +FREQUENZA_MONITORAGGIO as FREQ_MONITORAGGIO, +FLAG_STAMPA_REPORT as GENERAZIONEREPORT, +DATA_SOTTOSCRIZIONE_CB as DATA_INIZIOBASE, +DATA_CHIUSURA_CB as DATA_FINEBASE, +DATA_PERFEZIONAMENTO_CB as DATA_PERF_BASE, +DATA_PERFEZIONAMENTO_C6 as DATA_PERF, +DATA_SOTTOSCRIZIONE_C6 as DATA_INZIOAVANZATO, +DATA_CHIUSURA_C6 as DATA_FINEAVANZATO, +null as RIATTIVAZIONE, +--null as TIP_CONTRATTO, +case when TIPCONTRATTO is null then 0 +else +(case when TIPCONTRATTO = 'A' then 1 + else 2 end) end as TIP_CONTRATTO, +null as TIP_RIATTIVAZIONE, +'S' as ClienteMIGRATO, +'N' as RISORSENA, +1 as PROFILOATTIVO, +0 as NumSolleciti, +0 as NumRevoche, +null as Data_ultimoSollecito, +null as Data_ultimaRevoca, +'S' as InvioBenvenuto +FROM +#CONGELATICHIUSI +-- modifica del 1/12/2016 - contratto non più esistente - query inutile +--WHERE COD_CONF <> '390026CO101' and PB <> '015312' --MRRRRT78S30L219K cliente di prova +-- fine modifica del 1/12/2016 +where COD_CONF not in -- FC 11122013 aggiornato campo codicecontratto INESISTENTE con COD_CONF +( +select codicecontratto from EsclusioneContrattiPerQuadratura +) +UPDATE C6StagingPERIODICO.APPO_CONTRATTI + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,provincia = a.Provincia + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITORAGGIO = a.FREQ_MONITORAGGIO +from c6mart.vcontratti a +inner join C6StagingPERIODICO.APPO_CONTRATTI b +on a.codicecontratto = b.codicecontratto +INSERT INTO ScartiQuadratura +SELECT + P.R + ,P.CF + ,P.C + ,1 + ,0 +FROM + #PDF P +LEFT JOIN + C6StagingPERIODICO.APPO_CONTRATTI AC +ON P.R = AC.rete +AND P.CF = AC.COD_FISCALE +AND P.C = AC.codiceContratto +WHERE AC.RETE IS NULL +and p.c not in ( select codiceContratto from EsclusioneContrattiPerQuadratura ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' + ) +DROP TABLE #DFA +DROP TABLE #DFA1 +DROP TABLE #pdf1 +DROP TABLE #PDF +DROP TABLE #CONGELATI +DROP TABLE #CONGELATICHIUSI + declare @iScarti INT + SELECT @iscarti = count(*) FROM ScartiQuadratura + if @iScarti > 0 + RAISERROR ('Scarti Quadratura presenti (Verificare su tabella "ScartiQuadratura").', -- Message text. + 16, -- Severity. + 1 -- State. + ); +--select count(*) from C6StagingPERIODICO.APPO_CONTRATTI_TEST +--select count(*) from C6StagingPERIODICO.APPO_CONTRATTI +--select count(*) from vcontrcong0913 +--select v.* from #CONTRATTI_DA_CONSIDERARE t +--right join vcontrcong0913 v +--on t.rete= v.rete +--and t.cod_fiscale = v.cod_fiscale +--where t.rete is null +--select top 1 * from +--[consevo].consulenzaUnicafl.dbo.cbs_AvanzatiChiusi c +--where cf = '4200' \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20171120.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20171120.sql new file mode 100644 index 00000000..9c83c359 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_20171120.sql @@ -0,0 +1,233 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_APPO_CONTRATTI_20171120] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_APPO_CONTRATTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + declare @dtold datetime + declare @dtpre datetime + declare @dttrim datetime + set @dttrim = cast(c6martperiodico.getTrimestre2(getDate(), 1) as datetime) + --INIZIO INTERVENTO MAU + --set @dtpre = DATEADD(month, -1,@dttrim) + --set @dtold = DATEADD(month, -3,@dttrim) + set @dtold = DATEADD(month, -2,@dttrim) + --FINE INTERVENTO MAU + print @dttrim + print @dtpre + print @dtold +TRUNCATE TABLE ScartiQuadratura + SELECT DISTINCT + CASE WHEN CF IS NULL THEN PIVA + WHEN CF IS NOT NULL AND PIVA IS NOT NULL THEN 'FF@'+CF + ELSE CF + END COD_FISCALE, + RETE, + CODICECONTRATTO, + DATACHIUSURAAVANZATO AS DATA_FINEAVANZATO + INTO #DFA + FROM + [CONSUNI].consulenzaUnica.dbo.VCONTRATTIFINEAVANZATO + --ESTRAIAMO TUTTI I CF CHE HANNO RICEVUTO IL REPORT DI BENVENUTO ENTRO L'ULTIMO GIORNO DEL MESE PRECEDENTE + --AL MESE DI FINE TRIMESTRE (ES: PER IL 4° TRIMESTRE 01/10 - 31/12 REPORT DI BENVENUTO RICEVUTO ENTRO IL 30/11) + SELECT + PDF1.CODICEFISCALE AS CF,PDF1.RETE AS R,SUBSTRING(PDF1.NOMEFILE,0,12) AS C,PDF1.DATAGENERAZIONE AS D + INTO #pdf1 + FROM c6mart.gestione_PDF_ftp PDF1 + WHERE 1=1 + AND DATAGENERAZIONE < @dttrim + select a.* + into #DFA1 + from #DFA a + inner join ( + select c.*,max(data_fineavanzato) over (partition by rete,cod_fiscale) as data_max + from #DFA c + inner join #pdf1 d + on c.rete=d.R and c.cod_fiscale=d.CF and c.codicecontratto=d.C + ) b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and a.data_fineavanzato=b.data_fineavanzato + and a.data_fineavanzato=data_max + --ESTRAIAMO TUTTI I CONTRATTI NON REVOCATI (DATA REVOCA IMPOSTATA CON DEFAULT 99990131) E QUELLI CHE + --SONO STATI REVOCATI DURANTE IL TRIMESTRE OGGETTO DI TRIMESTRALE + --(ES: PER IL 4° TRIMESTRE 01/10 - 31/12 TUTTI I CONTRATTI CHE RISULTANO NON REVOCATI + QUELLI CHE SONO STATI + --REVOCATO DOPO IL 30/09) + SELECT DISTINCT P.* + INTO #PDF + FROM #PDF1 P + INNER JOIN #DFA1 VC + ON P.CF = VC.COD_FISCALE AND P.R=VC.RETE AND P.C=VC.CODICECONTRATTO + WHERE DATA_FINEAVANZATO >= @dtold +select C.* +INTO #CONGELATI +from +#PDF P +INNER JOIN + C6StagingPeriodico.ContrattiPreTrimestrale c +ON P.R = C.RETE +AND P.CF = C.COD_FISCALE +AND P.C = C.CODICECONTRATTO +select C.* +INTO #CONGELATICHIUSI +from +#PDF P +INNER JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + c6martperiodico.getTrimestre(getDAte(), 0)) c +ON + P.R = c.RETE +AND + p.CF = case when len(c.CF) < 16 then 'FF@' + c.CF + when c.CF is null then c.PIVA + else c.CF END +AND P.C = C.COD_CONF +LEFT JOIN #CONGELATI CONG +ON P.R = CONG.RETE +AND P.CF = CONG.COD_FISCALE +AND P.C = CONG.CODICECONTRATTO +WHERE CONG.RETE IS NULL +TRUNCATE TABLE C6StagingPERIODICO.APPO_CONTRATTI +INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI +SELECT + * +FROM + #CONGELATI +-- modifica del 1/12/2016 - contratto non più esistente - query inutile +-- modifica del 5/12/2016 - segnalata squadratura con capgemini: quindi sembra un agente fittizio; ripristino +WHERE codicecontratto <> '390026CO101' and cod_agente <> '015312' --MRRRRT78S30L219K cliente di prova +-- fine modifica del 5/12/2016 +-- fine modifica del 1/12/2016 +and codicecontratto not in +( +select codicecontratto from EsclusioneContrattiPerQuadratura +) +UNION +SELECT +chiaveClientePB, +--case when len(CF) < 16 then 'FF@' + CF else CF END as COD_FISCALE, +case when len(CF) < 16 then 'FF@' + CF + when CF is null then PIVA + else CF END as COD_FISCALE, +NULL as COD_MANDATO, +PIVA as PIVA_FIDUCIARIA, +PB as COD_AGENTE, +RETE, +COD_CONF as codiceContratto, +NULL as flagRol, +INDIRIZZO, +CAP, +CITTA, +PROV as PROVINCIA, +NAZIONE, +null as PRESSO, +EMAIL, +FREQUENZA_DIAGNOSI as FREQ_DIAGNOSI, +FREQUENZA_MONITORAGGIO as FREQ_MONITORAGGIO, +FLAG_STAMPA_REPORT as GENERAZIONEREPORT, +DATA_SOTTOSCRIZIONE_CB as DATA_INIZIOBASE, +DATA_CHIUSURA_CB as DATA_FINEBASE, +DATA_PERFEZIONAMENTO_CB as DATA_PERF_BASE, +DATA_PERFEZIONAMENTO_C6 as DATA_PERF, +DATA_SOTTOSCRIZIONE_C6 as DATA_INZIOAVANZATO, +DATA_CHIUSURA_C6 as DATA_FINEAVANZATO, +null as RIATTIVAZIONE, +--null as TIP_CONTRATTO, +case when TIPCONTRATTO is null then 0 +else +(case when TIPCONTRATTO = 'A' then 1 + else 2 end) end as TIP_CONTRATTO, +null as TIP_RIATTIVAZIONE, +'S' as ClienteMIGRATO, +'N' as RISORSENA, +1 as PROFILOATTIVO, +0 as NumSolleciti, +0 as NumRevoche, +null as Data_ultimoSollecito, +null as Data_ultimaRevoca, +'S' as InvioBenvenuto +FROM +#CONGELATICHIUSI +-- modifica del 1/12/2016 - contratto non più esistente - query inutile +-- modifica del 5/12/2016 - segnalata squadratura con capgemini: quindi sembra un agente fittizio; ripristino +WHERE COD_CONF <> '390026CO101' and PB <> '015312' --MRRRRT78S30L219K cliente di prova +-- fine modifica del 5/12/2016 +-- fine modifica del 1/12/2016 +and COD_CONF not in -- FC 11122013 aggiornato campo codicecontratto INESISTENTE con COD_CONF +( +select codicecontratto from EsclusioneContrattiPerQuadratura +) +UPDATE C6StagingPERIODICO.APPO_CONTRATTI + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,provincia = a.Provincia + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITORAGGIO = a.FREQ_MONITORAGGIO +from c6mart.vcontratti a +inner join C6StagingPERIODICO.APPO_CONTRATTI b +on a.codicecontratto = b.codicecontratto +INSERT INTO ScartiQuadratura +SELECT + P.R + ,P.CF + ,P.C + ,1 + ,0 +FROM + #PDF P +LEFT JOIN + C6StagingPERIODICO.APPO_CONTRATTI AC +ON P.R = AC.rete +AND P.CF = AC.COD_FISCALE +AND P.C = AC.codiceContratto +WHERE AC.RETE IS NULL +and p.c not in ( select codiceContratto from EsclusioneContrattiPerQuadratura ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' + ) +DROP TABLE #DFA +DROP TABLE #DFA1 +DROP TABLE #pdf1 +DROP TABLE #PDF +DROP TABLE #CONGELATI +DROP TABLE #CONGELATICHIUSI + declare @iScarti INT + SELECT @iscarti = count(*) FROM ScartiQuadratura + if @iScarti > 0 + RAISERROR ('Scarti Quadratura presenti (Verificare su tabella "ScartiQuadratura").', -- Message text. + 16, -- Severity. + 1 -- State. + ); +--select count(*) from C6StagingPERIODICO.APPO_CONTRATTI_TEST +--select count(*) from C6StagingPERIODICO.APPO_CONTRATTI +--select count(*) from vcontrcong0913 +--select v.* from #CONTRATTI_DA_CONSIDERARE t +--right join vcontrcong0913 v +--on t.rete= v.rete +--and t.cod_fiscale = v.cod_fiscale +--where t.rete is null +--select top 1 * from +--[consevo].consulenzaUnicafl.dbo.cbs_AvanzatiChiusi c +--where cf = '4200' \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_BKP20141204.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_BKP20141204.sql new file mode 100644 index 00000000..9c25242e --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_BKP20141204.sql @@ -0,0 +1,208 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_APPO_CONTRATTI_BKP20141204] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_APPO_CONTRATTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + declare @dtold datetime + declare @dtpre datetime + declare @dttrim datetime + set @dttrim = cast(c6martperiodico.getTrimestre2(getDate(), 1) as datetime) + --INIZIO INTERVENTO MAU + --set @dtpre = DATEADD(month, -1,@dttrim) + --set @dtold = DATEADD(month, -3,@dttrim) + set @dtold = DATEADD(month, -2,@dttrim) + --FINE INTERVENTO MAU + print @dttrim + print @dtpre + print @dtold +TRUNCATE TABLE ScartiQuadratura + SELECT DISTINCT + CASE WHEN CF IS NULL THEN PIVA + WHEN CF IS NOT NULL AND PIVA IS NOT NULL THEN 'FF@'+CF + ELSE CF + END COD_FISCALE, + RETE, + CODICECONTRATTO, + DATACHIUSURAAVANZATO AS DATA_FINEAVANZATO + INTO #DFA + FROM + [CONSEVO].consulenzaEvoluta.dbo.VCONTRATTIFINEAVANZATO + --ESTRAIAMO TUTTI I CF CHE HANNO RICEVUTO IL REPORT DI BENVENUTO ENTRO L'ULTIMO GIORNO DEL MESE PRECEDENTE + --AL MESE DI FINE TRIMESTRE (ES: PER IL 4° TRIMESTRE 01/10 - 31/12 REPORT DI BENVENUTO RICEVUTO ENTRO IL 30/11) + SELECT + PDF1.CODICEFISCALE AS CF,PDF1.RETE AS R,SUBSTRING(PDF1.NOMEFILE,0,12) AS C,PDF1.DATAGENERAZIONE AS D + INTO #pdf1 + FROM c6mart.gestione_PDF_ftp PDF1 INNER JOIN + (SELECT CODICEFISCALE ,RETE ,MAX(DATAGENERAZIONE) AS DATAGENERAZIONE + FROM c6mart.gestione_PDF_ftp --54491 +--INIZIO INTERVENTI MAU +-- WHERE 1=1 AND DATAGENERAZIONE < @dtpre + WHERE 1=1 AND DATAGENERAZIONE < @dttrim +--INIZIO INTERVENTI MAU + GROUP BY CODICEFISCALE,RETE) PDF2 + ON PDF1.CODICEFISCALE=PDF2.CODICEFISCALE + AND PDF1.RETE=PDF2.RETE + AND PDF1.DATAGENERAZIONE=PDF2.DATAGENERAZIONE + WHERE 1=1 + --ESTRAIAMO TUTTI I CONTRATTI NON REVOCATI (DATA REVOCA IMPOSTATA CON DEFAULT 99990131) E QUELLI CHE + --SONO STATI REVOCATI DURANTE IL TRIMESTRE OGGETTO DI TRIMESTRALE + --(ES: PER IL 4° TRIMESTRE 01/10 - 31/12 TUTTI I CONTRATTI CHE RISULTANO NON REVOCATI + QUELLI CHE SONO STATI + --REVOCATO DOPO IL 30/09) + SELECT DISTINCT P.* + INTO #PDF + FROM #PDF1 P + INNER JOIN #DFA VC + ON P.CF = VC.COD_FISCALE AND P.R=VC.RETE AND P.C=VC.CODICECONTRATTO + WHERE DATA_FINEAVANZATO >= @dtold +select C.* +INTO #CONGELATI +from +#PDF P +INNER JOIN + C6StagingPeriodico.ContrattiPreTrimestrale c +ON P.R = C.RETE +AND P.CF = C.COD_FISCALE +AND P.C = C.CODICECONTRATTO +select C.* +INTO #CONGELATICHIUSI +from +#PDF P +INNER JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + c6martperiodico.getTrimestre(getDAte(), 0)) c +ON + P.R = c.RETE +AND + p.CF = case when len(c.CF) < 16 then 'FF@' + c.CF + when c.CF is null then c.PIVA + else c.CF END +AND P.C = C.COD_CONF +LEFT JOIN #CONGELATI CONG +ON P.R = CONG.RETE +AND P.CF = CONG.COD_FISCALE +AND P.C = CONG.CODICECONTRATTO +WHERE CONG.RETE IS NULL +TRUNCATE TABLE C6StagingPERIODICO.APPO_CONTRATTI +INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI +SELECT + * +FROM + #CONGELATI +WHERE codicecontratto <> '390026CO101' and cod_agente <> '015312' --MRRRRT78S30L219K cliente di prova +AND codicecontratto not in +( +select codicecontratto from EsclusioneContrattiPerQuadratura +) +UNION +SELECT +chiaveClientePB, +--case when len(CF) < 16 then 'FF@' + CF else CF END as COD_FISCALE, +case when len(CF) < 16 then 'FF@' + CF + when CF is null then PIVA + else CF END as COD_FISCALE, +NULL as COD_MANDATO, +PIVA as PIVA_FIDUCIARIA, +PB as COD_AGENTE, +RETE, +COD_CONF as codiceContratto, +NULL as flagRol, +INDIRIZZO, +CAP, +CITTA, +PROV as PROVINCIA, +NAZIONE, +null as PRESSO, +EMAIL, +FREQUENZA_DIAGNOSI as FREQ_DIAGNOSI, +FREQUENZA_MONITORAGGIO as FREQ_MONITORAGGIO, +FLAG_STAMPA_REPORT as GENERAZIONEREPORT, +DATA_SOTTOSCRIZIONE_CB as DATA_INIZIOBASE, +DATA_CHIUSURA_CB as DATA_FINEBASE, +DATA_PERFEZIONAMENTO_CB as DATA_PERF_BASE, +DATA_PERFEZIONAMENTO_C6 as DATA_PERF, +DATA_SOTTOSCRIZIONE_C6 as DATA_INZIOAVANZATO, +DATA_CHIUSURA_C6 as DATA_FINEAVANZATO, +null as RIATTIVAZIONE, +--null as TIP_CONTRATTO, +case when TIPCONTRATTO is null then 0 +else +(case when TIPCONTRATTO = 'A' then 1 + else 2 end) end as TIP_CONTRATTO, +null as TIP_RIATTIVAZIONE, +'S' as ClienteMIGRATO, +'N' as RISORSENA, +1 as PROFILOATTIVO, +0 as NumSolleciti, +0 as NumRevoche, +null as Data_ultimoSollecito, +null as Data_ultimaRevoca, +'S' as InvioBenvenuto +FROM +#CONGELATICHIUSI +WHERE COD_CONF <> '390026CO101' and PB <> '015312' --MRRRRT78S30L219K cliente di prova +AND COD_CONF not in -- FC 11122013 aggiornato campo codicecontratto INESISTENTE con COD_CONF +( +select codicecontratto from EsclusioneContrattiPerQuadratura +) +INSERT INTO ScartiQuadratura +SELECT + P.R + ,P.CF + ,P.C + ,1 + ,0 +FROM + #PDF P +LEFT JOIN + C6StagingPERIODICO.APPO_CONTRATTI AC +ON P.R = AC.rete +AND P.CF = AC.COD_FISCALE +AND P.C = AC.codiceContratto +WHERE AC.RETE IS NULL +and p.c not in ( select codiceContratto from EsclusioneContrattiPerQuadratura ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' + ) +DROP TABLE #DFA +DROP TABLE #pdf1 +DROP TABLE #PDF +DROP TABLE #CONGELATI +DROP TABLE #CONGELATICHIUSI + declare @iScarti INT + SELECT @iscarti = count(*) FROM ScartiQuadratura + if @iScarti > 0 + RAISERROR ('Scarti Quadratura presenti (Verificare su tabella "ScartiQuadratura").', -- Message text. + 16, -- Severity. + 1 -- State. + ); +--select count(*) from C6StagingPERIODICO.APPO_CONTRATTI_TEST +--select count(*) from C6StagingPERIODICO.APPO_CONTRATTI +--select count(*) from vcontrcong0913 +--select v.* from #CONTRATTI_DA_CONSIDERARE t +--right join vcontrcong0913 v +--on t.rete= v.rete +--and t.cod_fiscale = v.cod_fiscale +--where t.rete is null +--select top 1 * from +--[consevo].consulenzabasefl.dbo.cbs_AvanzatiChiusi c +--where cf = '4200' \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_LUCA.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_LUCA.sql new file mode 100644 index 00000000..fa326f47 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_LUCA.sql @@ -0,0 +1,384 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_APPO_CONTRATTI_LUCA] +AS +---- Log esecuzione +-- INSERT INTO LOG_ESECUZIONE +-- (Nome, Inizio, Nota) +-- VALUES ( +-- 'RP_ST_APPO_CONTRATTI', +-- GETDATE(), +-- 'Elaborazione trimestrale' +-- ) + declare @dtold datetime + declare @dtpre datetime + declare @dttrim datetime + set @dttrim = cast(c6martperiodico.getTrimestre2(getDate(), 1) as datetime) + --INIZIO INTERVENTO MAU + --set @dtpre = DATEADD(month, -1,@dttrim) + --set @dtold = DATEADD(month, -3,@dttrim) + set @dtold = DATEADD(month, -2,@dttrim) + --FINE INTERVENTO MAU + print @dttrim + print @dtpre + print @dtold +TRUNCATE TABLE ScartiQuadratura + SELECT DISTINCT + CASE WHEN CF IS NULL THEN PIVA + WHEN CF IS NOT NULL AND PIVA IS NOT NULL THEN 'FF@'+CF + ELSE CF + END COD_FISCALE, + RETE, + CODICECONTRATTO, + DATACHIUSURAAVANZATO AS DATA_FINEAVANZATO + INTO #DFA + FROM + [CONSEVO].consulenzaEvoluta.dbo.VCONTRATTIFINEAVANZATO + --ESTRAIAMO TUTTI I CF CHE HANNO RICEVUTO IL REPORT DI BENVENUTO ENTRO L'ULTIMO GIORNO DEL MESE PRECEDENTE + --AL MESE DI FINE TRIMESTRE (ES: PER IL 4° TRIMESTRE 01/10 - 31/12 REPORT DI BENVENUTO RICEVUTO ENTRO IL 30/11) + SELECT + PDF1.CODICEFISCALE AS CF,PDF1.RETE AS R,SUBSTRING(PDF1.NOMEFILE,0,12) AS C,PDF1.DATAGENERAZIONE AS D + INTO #pdf1 + FROM c6mart.gestione_PDF_ftp PDF1 + WHERE 1=1 + AND DATAGENERAZIONE < @dttrim + select a.* + into #DFA1 + from #DFA a + inner join ( + select c.*,max(data_fineavanzato) over (partition by rete,cod_fiscale) as data_max + from #DFA c + inner join #pdf1 d + on c.rete=d.R and c.cod_fiscale=d.CF and c.codicecontratto=d.C + ) b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and a.data_fineavanzato=b.data_fineavanzato + and a.data_fineavanzato=data_max +-- insert into #DFA1 +-- select a.* +-- from #DFA a +-- inner join ( +-- select c.*,data_fineavanzato as data_max +-- from #DFA c +-- inner join #pdf1 d +-- on c.rete=d.R and c.cod_fiscale=d.CF and c.codicecontratto=d.C +-- and c.codicecontratto +-- in +-- ( +-- '143422CO107' +--,'103587CO104' +--,'113740CO104' +--,'732251CO101' +--,'113741CO105' +-- ) +-- ) b +-- on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and a.data_fineavanzato=b.data_fineavanzato +-- and a.data_fineavanzato=data_max + --ESTRAIAMO TUTTI I CONTRATTI NON REVOCATI (DATA REVOCA IMPOSTATA CON DEFAULT 99990131) E QUELLI CHE + --SONO STATI REVOCATI DURANTE IL TRIMESTRE OGGETTO DI TRIMESTRALE + --(ES: PER IL 4° TRIMESTRE 01/10 - 31/12 TUTTI I CONTRATTI CHE RISULTANO NON REVOCATI + QUELLI CHE SONO STATI + --REVOCATO DOPO IL 30/09) + SELECT DISTINCT P.* + INTO #PDF + FROM #PDF1 P + INNER JOIN #DFA1 VC + ON P.CF = VC.COD_FISCALE AND P.R=VC.RETE AND P.C=VC.CODICECONTRATTO + WHERE DATA_FINEAVANZATO >= @dtold +select C.* +INTO #CONGELATI +from +#PDF P +INNER JOIN + C6StagingPeriodico.ContrattiPreTrimestrale c +ON P.R = C.RETE +AND P.CF = C.COD_FISCALE +AND P.C = C.CODICECONTRATTO +select C.* +INTO #CONGELATICHIUSI +from +#PDF P +INNER JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + c6martperiodico.getTrimestre(getDAte(), 0)) c +ON + P.R = c.RETE +AND + p.CF = case when len(c.CF) < 16 then 'FF@' + c.CF + when c.CF is null then c.PIVA + else c.CF END +AND P.C = C.COD_CONF +LEFT JOIN #CONGELATI CONG +ON P.R = CONG.RETE +AND P.CF = CONG.COD_FISCALE +AND P.C = CONG.CODICECONTRATTO +WHERE CONG.RETE IS NULL +insert +INTO #CONGELATICHIUSI +select C.* +from +#PDF P +INNER JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + '20151230') c +ON + P.R = c.RETE +AND + p.CF = case when len(c.CF) < 16 then 'FF@' + c.CF + when c.CF is null then c.PIVA + else c.CF END +AND P.C = C.COD_CONF +LEFT JOIN #CONGELATI CONG +ON P.R = CONG.RETE +AND P.CF = CONG.COD_FISCALE +AND P.C = CONG.CODICECONTRATTO +WHERE CONG.RETE IS NULL +and p.c + in + ( + '143422CO107' +,'103587CO104' +,'113740CO104' +,'732251CO101' +,'113741CO105' +--FCianfa 20151214: contratti inseriti manualmente perchè hanno cambiato codcontratto tra il 10/12/2015 +,'016254CO105', +'058968CO101' + ) +TRUNCATE TABLE C6StagingPERIODICO.APPO_CONTRATTI +INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI +SELECT + * +FROM + #CONGELATI +WHERE codicecontratto <> '390026CO101' and cod_agente <> '015312' --MRRRRT78S30L219K cliente di prova +AND codicecontratto not in +( +select codicecontratto from EsclusioneContrattiPerQuadratura +) +UNION +SELECT +chiaveClientePB, +--case when len(CF) < 16 then 'FF@' + CF else CF END as COD_FISCALE, +case when len(CF) < 16 then 'FF@' + CF + when CF is null then PIVA + else CF END as COD_FISCALE, +NULL as COD_MANDATO, +PIVA as PIVA_FIDUCIARIA, +PB as COD_AGENTE, +RETE, +COD_CONF as codiceContratto, +NULL as flagRol, +INDIRIZZO, +CAP, +CITTA, +PROV as PROVINCIA, +NAZIONE, +null as PRESSO, +EMAIL, +FREQUENZA_DIAGNOSI as FREQ_DIAGNOSI, +FREQUENZA_MONITORAGGIO as FREQ_MONITORAGGIO, +FLAG_STAMPA_REPORT as GENERAZIONEREPORT, +DATA_SOTTOSCRIZIONE_CB as DATA_INIZIOBASE, +DATA_CHIUSURA_CB as DATA_FINEBASE, +DATA_PERFEZIONAMENTO_CB as DATA_PERF_BASE, +DATA_PERFEZIONAMENTO_C6 as DATA_PERF, +DATA_SOTTOSCRIZIONE_C6 as DATA_INZIOAVANZATO, +DATA_CHIUSURA_C6 as DATA_FINEAVANZATO, +null as RIATTIVAZIONE, +--null as TIP_CONTRATTO, +case when TIPCONTRATTO is null then 0 +else +(case when TIPCONTRATTO = 'A' then 1 + else 2 end) end as TIP_CONTRATTO, +null as TIP_RIATTIVAZIONE, +'S' as ClienteMIGRATO, +'N' as RISORSENA, +1 as PROFILOATTIVO, +0 as NumSolleciti, +0 as NumRevoche, +null as Data_ultimoSollecito, +null as Data_ultimaRevoca, +'S' as InvioBenvenuto +FROM +#CONGELATICHIUSI +WHERE COD_CONF <> '390026CO101' and PB <> '015312' --MRRRRT78S30L219K cliente di prova +AND COD_CONF not in -- FC 11122013 aggiornato campo codicecontratto INESISTENTE con COD_CONF +( +select codicecontratto from EsclusioneContrattiPerQuadratura +) +UPDATE C6StagingPERIODICO.APPO_CONTRATTI + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,provincia = a.Provincia + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITORAGGIO = a.FREQ_MONITORAGGIO +from c6mart.vcontratti a +inner join C6StagingPERIODICO.APPO_CONTRATTI b +on a.codicecontratto = b.codicecontratto +--------------------------------------------------------------- *********** lucama +INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI +SELECT +chiaveClientePB, +cod_fiscale as COD_FISCALE, +NULL as COD_MANDATO, +PIVA_FIDUCIARIA as PIVA_FIDUCIARIA, +COD_AGENTE as COD_AGENTE, +RETE, +codiceContratto as codiceContratto, +NULL as flagRol, +INDIRIZZO, +CAP, +CITTA, +PROVINCIA as PROVINCIA, +NAZIONE, +null as PRESSO, +EMAIL, +FREQ_DIAGNOSI as FREQ_DIAGNOSI, +FREQ_MONITORAGGIO as FREQ_MONITORAGGIO, +GENERAZIONEREPORT as GENERAZIONEREPORT, +DATA_INIZIOBASE as DATA_INIZIOBASE, +DATA_FINEBASE as DATA_FINEBASE, +DATA_PERF_BASE as DATA_PERF_BASE, +DATA_PERF as DATA_PERF, +DATA_INZIOAVANZATO as DATA_INZIOAVANZATO, +DATA_FINEAVANZATO as DATA_FINEAVANZATO, +null as RIATTIVAZIONE, +TIP_CONTRATTO, +null as TIP_RIATTIVAZIONE, +'S' as ClienteMIGRATO, +'N' as RISORSENA, +1 as PROFILOATTIVO, +0 as NumSolleciti, +0 as NumRevoche, +null as Data_ultimoSollecito, +null as Data_ultimaRevoca, +'S' as InvioBenvenuto + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[ContrattiPreTrimestrale] + where + codicecontratto in + ( + '624896CO807', +'370457CO211', +'431343CO205', +'370458CO212', +'397014CO209', +'437949CO207', +'368317CO203', +'407938CO200', +'376652CO205', +'416712CO212', +'387845CO205', +'393685CO208', +'409795CO211', +'617712CO812', +'617093CO804', +'598139CO804', +'615767CO804', +'394695CO204', +'614649CO804', +'532995CO803', +'045807CO210', +'555819CO812', +'588030CO809', +'310417CO205', +'315286CO212', +'601970CO800', +'396831CO208', +'415682CO209', +'591249CO804', +'591248CO803', +'402954CO208', +'628691CO806', +'615890CO810', +'106392CO202', +'625090CO806', +'379278CO205', +'378127CO211', +'380992CO203', +'572948CO807', +'270571CO204', +'590587CO805', +'112539CO200', +'398693CO211', +'020310CO206', +'400512CO210', +'395750CO206', +'416076CO200', +'415483CO205', +'398030CO211', +'395954CO202', +'404935CO200', +'373942CO212', +'397691CO210', +'613347CO802', +'416192CO212', +'402106CO205', +'609576CO801', +'409793CO209', +'613418CO808', +'621776CO807', +'383821CO211', +'622239CO802' +) +--------------------------------------------------------------- *********** FINE lucama +INSERT INTO ScartiQuadratura +SELECT + P.R + ,P.CF + ,P.C + ,1 + ,0 +FROM + #PDF P +LEFT JOIN + C6StagingPERIODICO.APPO_CONTRATTI AC +ON P.R = AC.rete +AND P.CF = AC.COD_FISCALE +AND P.C = AC.codiceContratto +WHERE AC.RETE IS NULL +and p.c not in ( select codiceContratto from EsclusioneContrattiPerQuadratura ) + ---- Log esecuzione + --UPDATE + -- LOG_ESECUZIONE + --SET + -- Fine = GETDATE(), + -- Tipo = 'INSERT', + -- Righe = @@ROWCOUNT + --WHERE + -- Nome = 'RP_ST_APPO_CONTRATTI' AND + -- Inizio = ( + -- SELECT + -- MAX(Inizio) + -- FROM + -- LOG_ESECUZIONE + -- WHERE + -- Nome = 'RP_ST_APPO_CONTRATTI' + -- ) +DROP TABLE #DFA +DROP TABLE #DFA1 +DROP TABLE #pdf1 +DROP TABLE #PDF +DROP TABLE #CONGELATI +DROP TABLE #CONGELATICHIUSI + declare @iScarti INT + SELECT @iscarti = count(*) FROM ScartiQuadratura + if @iScarti > 0 + RAISERROR ('Scarti Quadratura presenti (Verificare su tabella "ScartiQuadratura").', -- Message text. + 16, -- Severity. + 1 -- State. + ); +--select count(*) from C6StagingPERIODICO.APPO_CONTRATTI_TEST +--select count(*) from C6StagingPERIODICO.APPO_CONTRATTI +--select count(*) from vcontrcong0913 +--select v.* from #CONTRATTI_DA_CONSIDERARE t +--right join vcontrcong0913 v +--on t.rete= v.rete +--and t.cod_fiscale = v.cod_fiscale +--where t.rete is null +--select top 1 * from +--[consevo].consulenzabasefl.dbo.cbs_AvanzatiChiusi c +--where cf = '4200' \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_OLD.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_OLD.sql new file mode 100644 index 00000000..0af242a7 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_OLD.sql @@ -0,0 +1,151 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_APPO_CONTRATTI_OLD] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_APPO_CONTRATTI', + GETDATE(), + 'Elaborazione trimestrale' + ) +SELECT C.COD_FISCALE, C.RETE +INTO #CONTRATTI_DA_CONSIDERARE_ATTIVI +FROM + C6StagingPeriodico.ContrattiPreTrimestrale c +INNER JOIN + C6Mart.Gestione_PDF_FTP g +ON + c.cod_fiscale = g.CodiceFiscale +AND + c.rete = g.Rete +AND + g.NomeFile like '%' + c.codiceContratto + '%' +WHERE + ISNULL(Data_FineAvanzato, CAST('99991231' AS datetime)) > C6MartPeriodico.GetPreviousTrimestre(getdate(), 0) /*Precedente Trimestrale*/ +AND g.DataGenerazione < C6MartPeriodico.GetTrimestre2(getdate(),1) +AND c.InvioBenvenuto = 'S' +GROUP BY C.COD_FISCALE, C.RETE +SELECT * +INTO #CONTRATTI_DA_CONSIDERARE +FROM #CONTRATTI_DA_CONSIDERARE_ATTIVI +UNION +SELECT case when len(c.CF) < 16 then 'FF@' + c.CF else c.CF END AS CF, C.RETE +FROM + #CONTRATTI_DA_CONSIDERARE_ATTIVI a +RIGHT JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + C6MartPeriodico.getPreviousTrimestre(getDate(), 0), + c6martperiodico.getTrimestre(getDAte(), 0)) c +ON + a.cod_fiscale = case when len(c.CF) < 16 then 'FF@' + c.CF else c.CF END +AND + a.RETE = c.RETE +INNER JOIN + C6Mart.Gestione_PDF_FTP g +ON + case when len(c.CF) < 16 then 'FF@' + c.CF else c.CF end = g.CodiceFiscale +AND + C.rete = g.Rete +AND + g.NomeFile like '%' + c.COD_CONF + '%' +WHERE + a.Rete is null + AND ISNULL(c.DATA_CHIUSURA_C6, CAST('99991231' AS datetime)) > C6MartPeriodico.GetPreviousTrimestre(getdate(), 0) /*Precedente Trimestrale*/ +AND g.DataGenerazione < C6MartPeriodico.GetTrimestre2(getdate(),1) +GROUP BY C.CF, C.RETE +TRUNCATE TABLE C6StagingPERIODICO.APPO_CONTRATTI +--INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI_TEST select * from C6StagingPERIODICO.APPO_CONTRATTI +INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI +SELECT + C.* +FROM + C6StagingPeriodico.ContrattiPreTrimestrale c +INNER JOIN + #CONTRATTI_DA_CONSIDERARE D +ON + C.RETE = D.RETE +AND + C.COD_FISCALE = D.COD_FISCALE +UNION +SELECT +c.chiaveClientePB, +case when len(c.CF) < 16 then 'FF@' + c.CF else c.CF END as COD_FISCALE, +NULL as COD_MANDATO, +PIVA as PIVA_FIDUCIARIA, +PB as COD_AGENTE, +c.RETE, +COD_CONF as codiceContratto, +NULL as flagRol, +c.INDIRIZZO, +c.CAP, +c.CITTA, +PROV as PROVINCIA, +c.NAZIONE, +null as PRESSO, +c.EMAIL, +FREQUENZA_DIAGNOSI as FREQ_DIAGNOSI, +FREQUENZA_MONITORAGGIO as FREQ_MONITORAGGIO, +FLAG_STAMPA_REPORT as GENERAZIONEREPORT, +DATA_SOTTOSCRIZIONE_CB as DATA_INIZIOBASE, +DATA_CHIUSURA_CB as DATA_FINEBASE, +DATA_PERFEZIONAMENTO_CB as DATA_PERF_BASE, +DATA_PERFEZIONAMENTO_C6 as DATA_PERF, +DATA_SOTTOSCRIZIONE_C6 as DATA_INZIOAVANZATO, +DATA_CHIUSURA_C6 as DATA_FINEAVANZATO, +null as RIATTIVAZIONE, +null as TIP_CONTRATTO, +null as TIP_RIATTIVAZIONE, +'S' as ClienteMIGRATO, +'N' as RISORSENA, +1 as PROFILOATTIVO, +0 as NumSolleciti, +0 as NumRevoche, +null as Data_ultimoSollecito, +null as Data_ultimaRevoca, +'S' as InvioBenvenuto +FROM +C6StagingPeriodico.ContrattiPreTrimestrale t +RIGHT JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + c6martperiodico.getTrimestre(getDAte(), 0)) c +ON + t.RETE = c.RETE +AND + t.Cod_Fiscale = case when len(c.CF) < 16 then 'FF@' + c.CF else c.CF END +INNER JOIN + #CONTRATTI_DA_CONSIDERARE D +ON + C.RETE = D.RETE +AND + case when len(c.CF) < 16 then 'FF@' + c.CF else c.CF END = D.COD_FISCALE +WHERE + t.rete is null + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' + ) +--select count(*) from C6StagingPERIODICO.APPO_CONTRATTI_TEST +--select count(*) from C6StagingPERIODICO.APPO_CONTRATTI +--select count(*) from vcontrcong0913 +--select v.* from #CONTRATTI_DA_CONSIDERARE t +--right join vcontrcong0913 v +--on t.rete= v.rete +--and t.cod_fiscale = v.cod_fiscale +--where t.rete is null +--select top 1 * from +--[consevo].consulenzabasefl.dbo.cbs_AvanzatiChiusi c +--where cf = '4200' \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_TEMP.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_TEMP.sql new file mode 100644 index 00000000..90c01b3c --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_TEMP.sql @@ -0,0 +1,275 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_APPO_CONTRATTI_TEMP] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_APPO_CONTRATTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + declare @dtold datetime + declare @dtpre datetime + declare @dttrim datetime + set @dttrim = cast(c6martperiodico.getTrimestre2(getDate(), 1) as datetime) + --INIZIO INTERVENTO MAU + --set @dtpre = DATEADD(month, -1,@dttrim) + --set @dtold = DATEADD(month, -3,@dttrim) + set @dtold = DATEADD(month, -2,@dttrim) + --FINE INTERVENTO MAU + print @dttrim + print @dtpre + print @dtold +TRUNCATE TABLE ScartiQuadratura + SELECT DISTINCT + CASE WHEN CF IS NULL THEN PIVA + WHEN CF IS NOT NULL AND PIVA IS NOT NULL THEN 'FF@'+CF + ELSE CF + END COD_FISCALE, + RETE, + CODICECONTRATTO, + DATACHIUSURAAVANZATO AS DATA_FINEAVANZATO + INTO #DFA + FROM + [CONSEVO].consulenzaEvoluta.dbo.VCONTRATTIFINEAVANZATO + --ESTRAIAMO TUTTI I CF CHE HANNO RICEVUTO IL REPORT DI BENVENUTO ENTRO L'ULTIMO GIORNO DEL MESE PRECEDENTE + --AL MESE DI FINE TRIMESTRE (ES: PER IL 4° TRIMESTRE 01/10 - 31/12 REPORT DI BENVENUTO RICEVUTO ENTRO IL 30/11) + SELECT + PDF1.CODICEFISCALE AS CF,PDF1.RETE AS R,SUBSTRING(PDF1.NOMEFILE,0,12) AS C,PDF1.DATAGENERAZIONE AS D + INTO #pdf1 + FROM c6mart.gestione_PDF_ftp PDF1 + WHERE 1=1 + AND DATAGENERAZIONE < @dttrim + select a.* + into #DFA1 + from #DFA a + inner join ( + select c.*,max(data_fineavanzato) over (partition by rete,cod_fiscale) as data_max + from #DFA c + inner join #pdf1 d + on c.rete=d.R and c.cod_fiscale=d.CF and c.codicecontratto=d.C + ) b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and a.data_fineavanzato=b.data_fineavanzato + and a.data_fineavanzato=data_max +-- insert into #DFA1 +-- select a.* +-- from #DFA a +-- inner join ( +-- select c.*,data_fineavanzato as data_max +-- from #DFA c +-- inner join #pdf1 d +-- on c.rete=d.R and c.cod_fiscale=d.CF and c.codicecontratto=d.C +-- and c.codicecontratto +-- in +-- ( +-- '143422CO107' +--,'103587CO104' +--,'113740CO104' +--,'732251CO101' +--,'113741CO105' +-- ) +-- ) b +-- on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and a.data_fineavanzato=b.data_fineavanzato +-- and a.data_fineavanzato=data_max + --ESTRAIAMO TUTTI I CONTRATTI NON REVOCATI (DATA REVOCA IMPOSTATA CON DEFAULT 99990131) E QUELLI CHE + --SONO STATI REVOCATI DURANTE IL TRIMESTRE OGGETTO DI TRIMESTRALE + --(ES: PER IL 4° TRIMESTRE 01/10 - 31/12 TUTTI I CONTRATTI CHE RISULTANO NON REVOCATI + QUELLI CHE SONO STATI + --REVOCATO DOPO IL 30/09) + SELECT DISTINCT P.* + INTO #PDF + FROM #PDF1 P + INNER JOIN #DFA1 VC + ON P.CF = VC.COD_FISCALE AND P.R=VC.RETE AND P.C=VC.CODICECONTRATTO + WHERE DATA_FINEAVANZATO >= @dtold +select C.* +INTO #CONGELATI +from +#PDF P +INNER JOIN + C6StagingPeriodico.ContrattiPreTrimestrale c +ON P.R = C.RETE +AND P.CF = C.COD_FISCALE +AND P.C = C.CODICECONTRATTO +select C.* +INTO #CONGELATICHIUSI +from +#PDF P +INNER JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + c6martperiodico.getTrimestre(getDAte(), 0)) c +ON + P.R = c.RETE +AND + p.CF = case when len(c.CF) < 16 then 'FF@' + c.CF + when c.CF is null then c.PIVA + else c.CF END +AND P.C = C.COD_CONF +LEFT JOIN #CONGELATI CONG +ON P.R = CONG.RETE +AND P.CF = CONG.COD_FISCALE +AND P.C = CONG.CODICECONTRATTO +WHERE CONG.RETE IS NULL +insert +INTO #CONGELATICHIUSI +select C.* +from +#PDF P +INNER JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + '20151230') c +ON + P.R = c.RETE +AND + p.CF = case when len(c.CF) < 16 then 'FF@' + c.CF + when c.CF is null then c.PIVA + else c.CF END +AND P.C = C.COD_CONF +LEFT JOIN #CONGELATI CONG +ON P.R = CONG.RETE +AND P.CF = CONG.COD_FISCALE +AND P.C = CONG.CODICECONTRATTO +WHERE CONG.RETE IS NULL +and p.c + in + ( + '143422CO107' +,'103587CO104' +,'113740CO104' +,'732251CO101' +,'113741CO105' + ) +TRUNCATE TABLE C6StagingPERIODICO.APPO_CONTRATTI +INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI +SELECT + * +FROM + #CONGELATI +WHERE codicecontratto <> '390026CO101' and cod_agente <> '015312' --MRRRRT78S30L219K cliente di prova +AND codicecontratto not in +( +select codicecontratto from EsclusioneContrattiPerQuadratura +) +UNION +SELECT +chiaveClientePB, +--case when len(CF) < 16 then 'FF@' + CF else CF END as COD_FISCALE, +case when len(CF) < 16 then 'FF@' + CF + when CF is null then PIVA + else CF END as COD_FISCALE, +NULL as COD_MANDATO, +PIVA as PIVA_FIDUCIARIA, +PB as COD_AGENTE, +RETE, +COD_CONF as codiceContratto, +NULL as flagRol, +INDIRIZZO, +CAP, +CITTA, +PROV as PROVINCIA, +NAZIONE, +null as PRESSO, +EMAIL, +FREQUENZA_DIAGNOSI as FREQ_DIAGNOSI, +FREQUENZA_MONITORAGGIO as FREQ_MONITORAGGIO, +FLAG_STAMPA_REPORT as GENERAZIONEREPORT, +DATA_SOTTOSCRIZIONE_CB as DATA_INIZIOBASE, +DATA_CHIUSURA_CB as DATA_FINEBASE, +DATA_PERFEZIONAMENTO_CB as DATA_PERF_BASE, +DATA_PERFEZIONAMENTO_C6 as DATA_PERF, +DATA_SOTTOSCRIZIONE_C6 as DATA_INZIOAVANZATO, +DATA_CHIUSURA_C6 as DATA_FINEAVANZATO, +null as RIATTIVAZIONE, +--null as TIP_CONTRATTO, +case when TIPCONTRATTO is null then 0 +else +(case when TIPCONTRATTO = 'A' then 1 + else 2 end) end as TIP_CONTRATTO, +null as TIP_RIATTIVAZIONE, +'S' as ClienteMIGRATO, +'N' as RISORSENA, +1 as PROFILOATTIVO, +0 as NumSolleciti, +0 as NumRevoche, +null as Data_ultimoSollecito, +null as Data_ultimaRevoca, +'S' as InvioBenvenuto +FROM +#CONGELATICHIUSI +WHERE COD_CONF <> '390026CO101' and PB <> '015312' --MRRRRT78S30L219K cliente di prova +AND COD_CONF not in -- FC 11122013 aggiornato campo codicecontratto INESISTENTE con COD_CONF +( +select codicecontratto from EsclusioneContrattiPerQuadratura +) +UPDATE C6StagingPERIODICO.APPO_CONTRATTI + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,provincia = a.Provincia + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITORAGGIO = a.FREQ_MONITORAGGIO +from c6mart.vcontratti a +inner join C6StagingPERIODICO.APPO_CONTRATTI b +on a.codicecontratto = b.codicecontratto +INSERT INTO ScartiQuadratura +SELECT + P.R + ,P.CF + ,P.C + ,1 + ,0 +FROM + #PDF P +LEFT JOIN + C6StagingPERIODICO.APPO_CONTRATTI AC +ON P.R = AC.rete +AND P.CF = AC.COD_FISCALE +AND P.C = AC.codiceContratto +WHERE AC.RETE IS NULL +and p.c not in ( select codiceContratto from EsclusioneContrattiPerQuadratura ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' + ) +DROP TABLE #DFA +DROP TABLE #DFA1 +DROP TABLE #pdf1 +DROP TABLE #PDF +DROP TABLE #CONGELATI +DROP TABLE #CONGELATICHIUSI + declare @iScarti INT + SELECT @iscarti = count(*) FROM ScartiQuadratura + if @iScarti > 0 + RAISERROR ('Scarti Quadratura presenti (Verificare su tabella "ScartiQuadratura").', -- Message text. + 16, -- Severity. + 1 -- State. + ); +--select count(*) from C6StagingPERIODICO.APPO_CONTRATTI_TEST +--select count(*) from C6StagingPERIODICO.APPO_CONTRATTI +--select count(*) from vcontrcong0913 +--select v.* from #CONTRATTI_DA_CONSIDERARE t +--right join vcontrcong0913 v +--on t.rete= v.rete +--and t.cod_fiscale = v.cod_fiscale +--where t.rete is null +--select top 1 * from +--[consevo].consulenzabasefl.dbo.cbs_AvanzatiChiusi c +--where cf = '4200' \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_AnAlberatura.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_AnAlberatura.sql new file mode 100644 index 00000000..9bb1b1c8 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_AnAlberatura.sql @@ -0,0 +1,40 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_AnAlberatura] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AnAlberatura', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_AnAlberatura + insert into C6StagingPeriodico.RP_AnAlberatura + --select * into C6StagingPeriodico.RP_AnAlberatura from [CONSEVO].CatalogoProdotti.dbo.AnAlberatura + select + [Alberatura] + ,[Livello1] + ,[Livello2] + ,[Livello3] + ,[Livello4] + ,[Livello5] + from [CONSUNI_PERIODICO].CatalogoProdotti.dbo.AnAlberatura + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AnAlberatura' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_AnAlberatura' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_AnAlberatura_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_AnAlberatura_pre_selective.sql new file mode 100644 index 00000000..40591af6 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_AnAlberatura_pre_selective.sql @@ -0,0 +1,40 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_AnAlberatura_pre_selective] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AnAlberatura_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_AnAlberatura + insert into C6StagingPeriodico.RP_AnAlberatura + --select * into C6StagingPeriodico.RP_AnAlberatura from [CONSEVO].CatalogoProdotti.dbo.AnAlberatura + select + [Alberatura] + ,[Livello1] + ,[Livello2] + ,[Livello3] + ,[Livello4] + ,[Livello5] + from [CONSUNI_PERIODICO].CatalogoProdotti.dbo.AnAlberatura + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AnAlberatura_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_AnAlberatura_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_AnEmittente.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_AnEmittente.sql new file mode 100644 index 00000000..063716a9 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_AnEmittente.sql @@ -0,0 +1,36 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_AnEmittente] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AnEmittente', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_AnEmittente + insert into C6StagingPeriodico.RP_AnEmittente ( + [Emittente] + ,[Descrizione] ) + select + [Emittente] + ,[Descrizione] + from [CONSUNI].CatalogoProdotti.dbo.AnEmittente + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AnEmittente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_AnEmittente' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_AnEmittente_originale.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_AnEmittente_originale.sql new file mode 100644 index 00000000..7ba94628 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_AnEmittente_originale.sql @@ -0,0 +1,31 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_AnEmittente_originale] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AnEmittente', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_AnEmittente + insert into C6StagingPeriodico.RP_AnEmittente + select * from [CONSEVO_PERIODICO].CatalogoProdotti.dbo.AnEmittente + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AnEmittente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_AnEmittente' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_AnEmittente_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_AnEmittente_pre_selective.sql new file mode 100644 index 00000000..654dc80b --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_AnEmittente_pre_selective.sql @@ -0,0 +1,36 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_AnEmittente_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AnEmittente_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_AnEmittente + insert into C6StagingPeriodico.RP_AnEmittente ( + [Emittente] + ,[Descrizione] ) + select + [Emittente] + ,[Descrizione] + from [CONSUNI].CatalogoProdotti.dbo.AnEmittente + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AnEmittente_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_AnEmittente_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Area.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Area.sql new file mode 100644 index 00000000..423622d5 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Area.sql @@ -0,0 +1,64 @@ +-- Procedure +CREATE procedure [C6StagingPeriodico].[RP_ST_Area] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Area', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Area + insert into C6StagingPeriodico.RP_Area ( + [Area] + ,[chiaveConsulenza] + ,[percArea] + ,[coperturaArea] + ,[ctvArea] + ,[varArea] + ) + select + -------------------------> modifica del 18/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non più distinta tra pre1 e pre2 + --, [Area] + CASE + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + else a.area + END AS [Area] + -------------------------> FINE modifica del 13/1/2017 + ,[chiaveConsulenza] + , null as percArea + ,dpos.Copertura as coperturaArea + ,dpos.ctv as ctvArea + ,null as varArea + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on a.chiaveArea = prog.ChiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniPortafoglio pos + on pos.chiaveProgetto = prog.chiaveProgetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioPosizionePortafoglio dpos + on pos.chiavePosizionePtf = dpos.chiavePosizionePtf + --- Modifica del 18/1/2017 per reperire la descrizione del progetto per la case di cui sopra + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + group by area,chiaveconsulenza,dpos.copertura,dpos.ctv ,propirMod.nomeProgetto + --------------------------------------------------------------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Area' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Area' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Area_20170118.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Area_20170118.sql new file mode 100644 index 00000000..a6bb08cf --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Area_20170118.sql @@ -0,0 +1,53 @@ +-- Procedure +CREATE procedure [C6StagingPeriodico].[RP_ST_Area_20170118] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Area', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Area + insert into C6StagingPeriodico.RP_Area ( + [Area] + ,[chiaveConsulenza] + ,[percArea] + ,[coperturaArea] + ,[ctvArea] + ,[varArea] + ) + select + [Area] + ,[chiaveConsulenza] + , null as percArea + ,dpos.Copertura as coperturaArea + ,dpos.ctv as ctvArea + ,null as varArea + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on a.chiaveArea = prog.ChiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniPortafoglio pos + on pos.chiaveProgetto = prog.chiaveProgetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioPosizionePortafoglio dpos + on pos.chiavePosizionePtf = dpos.chiavePosizionePtf + group by area,chiaveconsulenza,dpos.copertura,dpos.ctv + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Area' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Area' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Area_20170320.OBS.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Area_20170320.OBS.sql new file mode 100644 index 00000000..145e6d7f --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Area_20170320.OBS.sql @@ -0,0 +1,53 @@ +-- Procedure +CREATE procedure [C6StagingPeriodico].[RP_ST_Area] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Area', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Area + insert into C6StagingPeriodico.RP_Area ( + [Area] + ,[chiaveConsulenza] + ,[percArea] + ,[coperturaArea] + ,[ctvArea] + ,[varArea] + ) + select + [Area] + ,[chiaveConsulenza] + , null as percArea + ,dpos.Copertura as coperturaArea + ,dpos.ctv as ctvArea + ,null as varArea + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on a.chiaveArea = prog.ChiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniPortafoglio pos + on pos.chiaveProgetto = prog.chiaveProgetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioPosizionePortafoglio dpos + on pos.chiavePosizionePtf = dpos.chiavePosizionePtf + group by area,chiaveconsulenza,dpos.copertura,dpos.ctv + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Area' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Area' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Area_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Area_pre_selective.sql new file mode 100644 index 00000000..472984da --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Area_pre_selective.sql @@ -0,0 +1,53 @@ +-- Procedure +CREATE procedure [C6StagingPeriodico].[RP_ST_Area_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Area_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Area + insert into C6StagingPeriodico.RP_Area ( + [Area] + ,[chiaveConsulenza] + ,[percArea] + ,[coperturaArea] + ,[ctvArea] + ,[varArea] + ) + select + [Area] + ,[chiaveConsulenza] + , null as percArea + ,dpos.Copertura as coperturaArea + ,dpos.ctv as ctvArea + ,null as varArea + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on a.chiaveArea = prog.ChiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniPortafoglio pos + on pos.chiaveProgetto = prog.chiaveProgetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioPosizionePortafoglio dpos + on pos.chiavePosizionePtf = dpos.chiavePosizionePtf + group by area,chiaveconsulenza,dpos.copertura,dpos.ctv + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Area_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Area_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_AssetClass.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_AssetClass.sql new file mode 100644 index 00000000..cb53cc29 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_AssetClass.sql @@ -0,0 +1,36 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_AssetClass] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AssetClass', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_AssetClass + insert into C6StagingPeriodico.RP_AssetClass + --select * into C6StagingPeriodico.RP_AssetClass from [CONSEVO].[CatalogoProdotti].dbo.AssetClass + -- 21/12/2016 mod puntamento + --select * from [CONSEVO].[CatalogoProdotti].dbo.AssetClass + select asset,madre,livello,descrizione,codicergb,isresidual from [CONSUNI].[CatalogoProdotti].dbo.AssetClass + -- 21/12/2016 FINE mod puntamento + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AssetClass' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_AssetClass' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_AssetClass_20161221.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_AssetClass_20161221.sql new file mode 100644 index 00000000..bc554046 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_AssetClass_20161221.sql @@ -0,0 +1,33 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_AssetClass_20161221] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AssetClass', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_AssetClass + insert into C6StagingPeriodico.RP_AssetClass + --select * into C6StagingPeriodico.RP_AssetClass from [CONSEVO].[CatalogoProdotti].dbo.AssetClass + select * from [CONSEVO].[CatalogoProdotti].dbo.AssetClass + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AssetClass' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_AssetClass' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_AssetClass_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_AssetClass_pre_selective.sql new file mode 100644 index 00000000..99509137 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_AssetClass_pre_selective.sql @@ -0,0 +1,36 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_AssetClass_pre_selective] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AssetClass_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_AssetClass + insert into C6StagingPeriodico.RP_AssetClass + --select * into C6StagingPeriodico.RP_AssetClass from [CONSEVO].[CatalogoProdotti].dbo.AssetClass + -- 21/12/2016 mod puntamento + --select * from [CONSEVO].[CatalogoProdotti].dbo.AssetClass + select asset,madre,livello,descrizione,codicergb,isresidual from [CONSUNI].[CatalogoProdotti].dbo.AssetClass + -- 21/12/2016 FINE mod puntamento + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AssetClass_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_AssetClass_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_BonificaClientiDoppi.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_BonificaClientiDoppi.sql new file mode 100644 index 00000000..f193080f --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_BonificaClientiDoppi.sql @@ -0,0 +1,131 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_BonificaClientiDoppi] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_BonificaClientiDoppi', + GETDATE(), + 'Elaborazione Trimestrale' + ) +----------------------------------------------------------------- +drop table if exists #doppiCF +drop table if exists #ClientiDoppiInAppoCF +drop table if exists #ClientiNONInAppoCF +drop table if exists #ClientiChiaveClienteGiustaCF +drop table if exists #ClientiChiaveClienteGiustaESbagliataCF +drop table if exists #ClientiChiaveSbagliataCF +drop table if exists #doppiPIVA +drop table if exists #ClientiDoppiInAppoPIVA +drop table if exists #ClientiNONInAppoPIVA +drop table if exists #ClientiChiaveClienteGiustaPIVA +drop table if exists #ClientiChiaveClienteGiustaESbagliataPIVA +drop table if exists #ClientiChiaveSbagliataPIVA +----Individuo i cf doppi + select rete,codfis,count(*) as numero + into #doppiCF + FROM C6STAGINGPERIODICO.RP_InfoCliente + where codfis is not null and codfis <> '' + group by rete,codfis + having count(*)>1 + --if + select rete,COD_FISCALE + into #ClientiDoppiInAppoCF + from C6stagingPeriodico.APPO_CONTRATTI a + where a.rete+a.COD_FISCALE in (select rete+codfis from #doppiCF) + select rete,codfis + into #ClientiNONInAppoCF + from #doppiCF where rete+codfis not in (select rete+cod_fiscale from #ClientiDoppiInAppoCF) + delete from C6STAGINGPERIODICO.RP_InfoCliente where rete+codFis in (select rete+codfis from #ClientiNONInAppoCF) + --else + select distinct appo.rete,appo.COD_FISCALE,appo.chiaveclientepb + into #ClientiChiaveClienteGiustaCF + from C6STAGINGPERIODICO.RP_InfoCliente info inner join + C6StagingPeriodico.appo_contratti appo on info.rete = appo.rete and info.codfis=appo.cod_fiscale +where info.rete + info.codfis in (select rete+cod_fiscale from #ClientiDoppiInAppoCF) +select rete,codfis,chiaveClientePB + into #ClientiChiaveClienteGiustaESbagliataCF +FROM C6STAGINGPERIODICO.RP_InfoCliente +where rete+codfis in (select rete+cod_fiscale from #ClientiChiaveClienteGiustaCF) +--select * from #ClientiChiaveClienteGiustaESbagliataCF order by codfis +select rete,codfis,chiaveclientePB +into #ClientiChiaveSbagliataCF +from #ClientiChiaveClienteGiustaESbagliataCF where +rete+codFis in (select rete+cod_fiscale from #ClientiChiaveClienteGiustaCF) +and chiaveClientePB not in (select chiaveClientePB from #ClientiChiaveClienteGiustaCF) +--create table #ClientiChiaveSbagliataCF( +--rete char(1), +--codfis varchar(16), +--chiaveClientePB int) +--insert into #ClientiChiaveSbagliataCF +-- SELECT * FROM #ClientiChiaveClienteGiustaESbagliataCF +-- EXCEPT +-- SELECT * FROM #ClientiChiaveClienteGiustaCF +-- select * from #ClientiChiaveSbagliataCF +delete from C6STAGINGPERIODICO.RP_InfoCliente +where rete+codfis+cast(chiaveClientePB as varchar) in (select rete+codfis+cast(chiaveClientePB as varchar) from #ClientiChiaveSbagliataCF) +--select * from C6STAGINGPERIODICO.RP_InfoCliente +--where rete+codfis+chiaveClientePB in (select rete+codfis+chiaveClientePB from #ClientiChiaveClienteGiustaCF) +----------------------------------------------------------------- +--Individuo le PIVA doppie + select rete,piva,count(*) as numero + into #doppiPIVA + FROM C6STAGINGPERIODICO.RP_InfoCliente + where isnull(codman,'')= '' + and piva is not null and piva <> '' + group by rete,piva + having count(*)>1 +-- select * from #doppiPIVA where piva in ( +-- '02477630582', +--'05267780962') + --if + select rete,COD_FISCALE + into #ClientiDoppiInAppoPIVA + from C6stagingPeriodico.APPO_CONTRATTI a + where a.rete+a.COD_FISCALE in (select rete+piva from #doppiPIVA) + select rete,piva + into #ClientiNONInAppoPIVA + from #doppiPIVA where rete+piva not in (select rete+COD_FISCALE from #ClientiDoppiInAppoPIVA) + delete from C6STAGINGPERIODICO.RP_InfoCliente where rete+pIva in (select rete+piva from #ClientiNONInAppoPIVA) + --else + select distinct appo.rete,appo.COD_FISCALE,appo.chiaveclientepb + into #ClientiChiaveClienteGiustaPIVA + from C6STAGINGPERIODICO.RP_InfoCliente info inner join + C6StagingPeriodico.appo_contratti appo on info.rete = appo.rete and info.piva=appo.cod_fiscale +where info.rete + info.piva in (select rete+cod_fiscale from #ClientiDoppiInAppoPIVA) +-- select * from #ClientiChiaveClienteGiustaPIVA where cod_fiscale in ( +-- '02477630582', +--'05267780962') +select rete,piva,chiaveClientePB + into #ClientiChiaveClienteGiustaESbagliataPIVA +FROM C6STAGINGPERIODICO.RP_InfoCliente +where rete+piva in (select rete+cod_fiscale from #ClientiChiaveClienteGiustaPIVA) +-- select * from #ClientiChiaveClienteGiustaESbagliataPIVA where piva in ( +-- '02477630582', +--'05267780962') +select rete,piva,chiaveclientePB +into #ClientiChiaveSbagliataPIVA +from #ClientiChiaveClienteGiustaESbagliataPIVA where +rete+piva in (select rete+cod_fiscale from #ClientiChiaveClienteGiustaPIVA) +and chiaveClientePB not in (select chiaveClientePB from #ClientiChiaveClienteGiustaPIVA) +--select * from #ClientiChiaveSbagliataPIVA +delete from C6STAGINGPERIODICO.RP_InfoCliente +where rete+piva+cast(chiaveClientePB as varchar) in (select rete+piva+cast(chiaveClientePB as varchar) from #ClientiChiaveSbagliataPIVA) + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_BonificaClientiDoppi' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_BonificaClientiDoppi' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CATINAREA.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CATINAREA.sql new file mode 100644 index 00000000..60078505 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CATINAREA.sql @@ -0,0 +1,31 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_CATINAREA] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CATINAREA', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_CATINAREA + insert into C6StagingPeriodico.RP_CATINAREA + select * from CONSUNI.[CatalogoProdotti].dbo.CATINAREA + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CATINAREA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CATINAREA' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CATINAREA_20161222.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CATINAREA_20161222.sql new file mode 100644 index 00000000..d59ec93f --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CATINAREA_20161222.sql @@ -0,0 +1,31 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_CATINAREA_20161222] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CATINAREA', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_CATINAREA + insert into C6StagingPeriodico.RP_CATINAREA + select * from [CONSEVO].[CatalogoProdotti].dbo.CATINAREA + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CATINAREA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CATINAREA' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CATINAREA_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CATINAREA_pre_selective.sql new file mode 100644 index 00000000..dddfddf9 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CATINAREA_pre_selective.sql @@ -0,0 +1,31 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_CATINAREA_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CATINAREA_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_CATINAREA + insert into C6StagingPeriodico.RP_CATINAREA + select * from CONSUNI.[CatalogoProdotti].dbo.CATINAREA + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CATINAREA_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CATINAREA_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CONSULENZA.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CONSULENZA.sql new file mode 100644 index 00000000..ffe4e545 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CONSULENZA.sql @@ -0,0 +1,140 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_CONSULENZA] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CONSULENZA', + GETDATE(), + 'Elaborazione Trimestrale' + ) + exec [dbo].[CreaTabellaBackUp] 'RP_CONSULENZA','C6StagingPeriodico' +TRUNCATE TABLE C6StagingPeriodico.[RP_CONSULENZA] +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,PosPor.conto + ,PosPor.rubricato + ,PosPor.codConf + ,PosPor.numPolizza + ,PosPor.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,POSITION_ID = '' + ,termId + ,anno + ,prog + ,pro.chiavePtfMod + ,orizzonteTemporale + INTO #ConsulenzaPianificazione +FROM + C6StagingPeriodico.RP_Pianificazione AS pian + INNER JOIN C6StagingPeriodico.RP_Progetto AS pro + ON pian.chiaveConsulenza = pro.chiaveConsulenza + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello pirmod + ON pro.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6StagingPeriodico.RP_PosizioniPortafoglio AS pospor + ON pro.chiaveProgetto = pospor.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_DettaglioPosizionePortafoglio AS dettposport + ON pospor.chiavePosizionePtf = dettposport.chiavePosizionePtf + INNER JOIN C6StagingPeriodico.RP_CatalogoProdotti AS catprod + ON pospor.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6StagingPeriodico.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON pian.chiaveClientePB = contr.chiaveClientePB + WHERE + pospor.dtFineValidita > getdate() + AND pro.dtfinevalidita='99991231' + AND pirmod.dtfinevalidita='99991231' + --AND INVIOBENVENUTO = 'N' +--ricerco dati da Migrazione +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + --,mig.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,promig.chiaveProgetto + ,promig.area + ,promig.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,MigPos.conto + ,MigPos.rubricato + ,MigPos.codConf + ,MigPos.numPolizza + ,MigPos.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,POSITION_ID = '' + ,migpos.termId + ,migpos.anno + ,migpos.prog + ,null as orizzonteTemporale + ,promig.chiavePtfMod +INTO #ConsulenzaMigrazione +FROM + C6StagingPeriodico.RP_Migraz_Pianificazione AS mig + INNER JOIN C6StagingPeriodico.RP_Migraz_Progetto AS promig + ON mig.chiaveconsulenza = promig.chiaveconsulenza + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello pirmod + ON promig.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6StagingPeriodico.RP_Migraz_Posizioni AS migpos + ON promig.chiaveprogetto = migpos.chiaveprogetto + INNER JOIN C6StagingPeriodico.RP_CatalogoProdotti AS catprod + ON migpos.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6StagingPeriodico.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON mig.chiaveClientePB = contr.chiaveClientePB + LEFT JOIN #ConsulenzaPianificazione tc + ON mig.chiaveClientePB = tc.chiaveClientePB + WHERE + pirmod.dtfinevalidita='99991231' + AND migpos.dtFineValidita > getdate() + AND tc.chiaveClientePB IS NULL + --AND INVIOBENVENUTO = 'N' +INSERT INTO C6StagingPeriodico.RP_Consulenza + SELECT * FROM #ConsulenzaPianificazione + UNION + SELECT * FROM #ConsulenzaMigrazione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CONSULENZA' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CONSULENZA_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CONSULENZA_pre_selective.sql new file mode 100644 index 00000000..47472ba0 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CONSULENZA_pre_selective.sql @@ -0,0 +1,137 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_CONSULENZA_pre_selective] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CONSULENZA_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) +TRUNCATE TABLE C6StagingPeriodico.[RP_CONSULENZA] +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,PosPor.conto + ,PosPor.rubricato + ,PosPor.codConf + ,PosPor.numPolizza + ,PosPor.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,POSITION_ID = '' + ,termId + ,anno + ,prog + ,orizzonteTemporale + INTO #ConsulenzaPianificazione +FROM + C6StagingPeriodico.RP_Pianificazione AS pian + INNER JOIN C6StagingPeriodico.RP_Progetto AS pro + ON pian.chiaveConsulenza = pro.chiaveConsulenza + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello pirmod + ON pro.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6StagingPeriodico.RP_PosizioniPortafoglio AS pospor + ON pro.chiaveProgetto = pospor.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_DettaglioPosizionePortafoglio AS dettposport + ON pospor.chiavePosizionePtf = dettposport.chiavePosizionePtf + INNER JOIN C6StagingPeriodico.RP_CatalogoProdotti AS catprod + ON pospor.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6StagingPeriodico.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON pian.chiaveClientePB = contr.chiaveClientePB + WHERE + pospor.dtFineValidita > getdate() + AND pro.dtfinevalidita='99991231' + AND pirmod.dtfinevalidita='99991231' + --AND INVIOBENVENUTO = 'N' +--ricerco dati da Migrazione +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + --,mig.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,promig.chiaveProgetto + ,promig.area + ,promig.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,MigPos.conto + ,MigPos.rubricato + ,MigPos.codConf + ,MigPos.numPolizza + ,MigPos.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,POSITION_ID = '' + ,migpos.termId + ,migpos.anno + ,migpos.prog + ,null as orizzonteTemporale +INTO #ConsulenzaMigrazione +FROM + C6StagingPeriodico.RP_Migraz_Pianificazione AS mig + INNER JOIN C6StagingPeriodico.RP_Migraz_Progetto AS promig + ON mig.chiaveconsulenza = promig.chiaveconsulenza + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello pirmod + ON promig.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6StagingPeriodico.RP_Migraz_Posizioni AS migpos + ON promig.chiaveprogetto = migpos.chiaveprogetto + INNER JOIN C6StagingPeriodico.RP_CatalogoProdotti AS catprod + ON migpos.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6StagingPeriodico.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON mig.chiaveClientePB = contr.chiaveClientePB + LEFT JOIN #ConsulenzaPianificazione tc + ON mig.chiaveClientePB = tc.chiaveClientePB + WHERE + pirmod.dtfinevalidita='99991231' + AND migpos.dtFineValidita > getdate() + AND tc.chiaveClientePB IS NULL + --AND INVIOBENVENUTO = 'N' +INSERT INTO C6StagingPeriodico.RP_Consulenza + SELECT * FROM #ConsulenzaPianificazione + UNION + SELECT * FROM #ConsulenzaMigrazione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CONSULENZA_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CONSULENZA_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALE.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALE.sql new file mode 100644 index 00000000..186ef69f --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALE.sql @@ -0,0 +1,81 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_CONTRATTIPRETRIMESTRALE] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CONTRATTIPRETRIMESTRALE', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE EsclusioneContrattiPerQuadratura +TRUNCATE TABLE C6StagingPeriodico.ContrattiPreTrimestrale +INSERT INTO C6StagingPeriodico.ContrattiPreTrimestrale +SELECT + v.chiaveclientepb, + [Cod_Fiscale], + [Cod_Mandato], + [PIva_Fiduciaria], + [Cod_Agente], + [Rete], + [CodiceContratto], + [FlagROL], + [Indirizzo], + [CAP], + [Citta], + [Provincia], + [Nazione], + [Presso], + [Email], + NULL AS Freq_Diagnosi, -- Il diagnosi non esiste più per il Pricing + [FREQ_MONITORAGGIO], + GENERAZIONEREPORT, + DATA_INIZIOBASE, + DATA_FINEBASE, + DATA_PERF_BASE, + DATA_PERF, + DATA_INZIOAVANZATO, + DATA_FINEAVANZATO, + RIATTIVAZIONE, + CASE WHEN m.TIP_CONTRATTO=3 THEN 3 ELSE 2 END AS TIP_CONTRATTO,-- Tutti i report di MOnitoraggio sostituiti con il Monitoraggio Private + TIP_RIATTIVAZIONE, + ClienteMIGRATO, + RISORSENA, + PROFILOATTIVO, + NumSolleciti, + NumRevoche, + Data_ultimoSollecito, + Data_ultimaRevoca, + InvioBenvenuto +FROM + [C6Mart].[vContratti] v + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] m + ON v.chiaveclientepb = m.chiaveclientepb +-- Modifica del 1/12/2016 - non esiste più il contratto di quel pb. Lasciare la where causa uno scarto nella generazione della appo_contratti +-- modifica del 5/12/2016 - segnalata squadratura con capgemini: quindi sembra un agente fittizio; ripristino +WHERE + codicecontratto <> '390026CO101' and cod_agente <> '015312' --MRRRRT78S30L219K cliente di prova +-- fine modifica del 5/12/2016 +-- Fine Modifica del 1/12/2016 +--aggiornamento 28/11/2022 +update C6StagingPeriodico.ContrattiPreTrimestrale +set COD_MANDATO='' +where COD_MANDATO is null +--fine aggiornamento 28/11/2022 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CONTRATTIPRETRIMESTRALE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CONTRATTIPRETRIMESTRALE' + ) \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALEFINETRIMESTRE.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALEFINETRIMESTRE.sql new file mode 100644 index 00000000..5d1946b3 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALEFINETRIMESTRE.sql @@ -0,0 +1,72 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_CONTRATTIPRETRIMESTRALEFINETRIMESTRE] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CONTRATTIPRETRIMESTRALEFINETRIMESTRE', + GETDATE(), + 'Elaborazione trimestrale' + ) +--TRUNCATE TABLE EsclusioneContrattiPerQuadratura +TRUNCATE TABLE C6StagingPeriodico.ContrattiPreTrimestraleFineTrimestre +INSERT INTO C6StagingPeriodico.ContrattiPreTrimestraleFineTrimestre +SELECT + v.chiaveclientepb, + [Cod_Fiscale], + [Cod_Mandato], + [PIva_Fiduciaria], + [Cod_Agente], + [Rete], + [CodiceContratto], + [FlagROL], + [Indirizzo], + [CAP], + [Citta], + [Provincia], + [Nazione], + [Presso], + [Email], + [Freq_Diagnosi], + [FREQ_MONITORAGGIO], + GENERAZIONEREPORT, + DATA_INIZIOBASE, + DATA_FINEBASE, + DATA_PERF_BASE, + DATA_PERF, + DATA_INZIOAVANZATO, + DATA_FINEAVANZATO, + RIATTIVAZIONE, + m.TIP_CONTRATTO, + TIP_RIATTIVAZIONE, + ClienteMIGRATO, + RISORSENA, + PROFILOATTIVO, + NumSolleciti, + NumRevoche, + Data_ultimoSollecito, + Data_ultimaRevoca, + InvioBenvenuto +FROM + [C6Mart].[vContratti] v + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] m + ON v.chiaveclientepb = m.chiaveclientepb +WHERE + codicecontratto <> '390026CO101' and cod_agente <> '015312' --MRRRRT78S30L219K cliente di prova + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CONTRATTIPRETRIMESTRALE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CONTRATTIPRETRIMESTRALE' + ) \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID.sql new file mode 100644 index 00000000..d232ab64 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID.sql @@ -0,0 +1,285 @@ +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6StagingPeriodico].[RP_ST_CREA_POSITIONID] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --******************************************************************************************** +--select * from c6stagingperiodico.rp_catalogoprodotti +-- FC 05052014 +-- Interventi : + -- Eliminata ( commentata ) where condition spb.positionid is null + -- Eliminato ( commentato ) ciclo While @Visible +update C6StagingPeriodico.SPB_CONTR_SINTESI +set positionid = null + declare @visible int + set @visible = 1 +-- while @visible >= 0 +-- begin + update C6StagingPeriodico.SPB_CONTR_SINTESI + set positionid = catalogueid + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB inner join + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = @visible + )CAT + on + --caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192','V301','V302') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161213 + --and spb.CODINT not in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + --and spb.CODINT not in ('RS','RB','RM','RV','RE') + and spb.CODINT not in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --fine INTERVENTO 'RF/MP' - 20171204 +--fine INTERVENTO 'RE' - 20161213 +--fine intervento MIGRAZIONE ASU3 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) +--inizio intervento MIGRAZIONE ASU3 + or + --caso 1a +--inizio INTERVENTO 'RE' - 20161213 + --(spb.CODINT in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + -- (spb.CODINT in ('RS','RB','RM','RV','RE') + + (spb.CODINT in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --fine INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +--fine intervento MIGRAZIONE ASU3 + or + --else caso 1b + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192','V301','V302') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and cat.TIPOPRODOTTO = SPB.TipProd + ) + or + --caso 2 +-- (SPB.TipProd in ('ASU2') + (SPB.TipProd in ('ASU2','GP') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end + ) + or + --caso 3 + (SPB.TipProd in ('DT','ASD') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + ) + or + --caso 4 + (SPB.TipProd in ('GES') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODMAF,'') = isnull(spb.MAF,'') + ) +-- --caso 5 +-- or +-- (SPB.isin = 'EURO00000009' +-- and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') +-- and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') +-- and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +-- ) +-- where spb.positionid is null +-- set @visible = @visible - 1 +-- end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' + ) + --******************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + -- drop table #TAB1 + SELECT distinct + TIPPROD, + CODINT, + MAF, + CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END AS CODISIN, + SUBPROD, + POSITIONID, + RETE, + codfis + INTO #TAB1 + FROM C6StagingPeriodico.SPB_CONTR_SINTESI where POSITIONID IS NULL + UPDATE #TAB1 + SET POSITIONID = C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPPROD, + CODINT, + MAF, + CODISIN, + SUBPROD + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = t.POSITIONID + FROM C6StagingPeriodico.SPB_CONTR_SINTESI c + inner join #TAB1 t + ON isnull(t.TIPPROD,'')=isnull(c.TIPPROD,'') + AND isnull(t.CODINT,'')=isnull(c.CODINT,'') + AND isnull(t.MAF,'')=isnull(c.MAF,'') + AND t.CODISIN = CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END + AND isnull(t.SUBPROD,'')=isnull(c.SUBPROD,'') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' + ) + --********************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = POSITIONID + dbo.Crea_positionID + ( + TIPPROD, + CODINT, + MAF, + '', + SUBPROD, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + trim(NUMPOL), +-- case when codint='IE' then ltrim(NUMPOL) else NUMPOL end, + CONTO, + RUBR, + CUSTGAR, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + WHERE POSITIONID IS NOT NULL + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, codfis, 'SPB_CONTR_SINTESI.POSITIONID IS NULL' + FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE ISNULL(POSITIONID,'') ='' + GROUP BY RETE, codfis + --SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE isnull(POSITIONID,'') = '' + --IF @CNTNULL > 0 + -- RAISERROR ('SPB_CONTR_SINTESI.POSITIONID IS NULL', 16, 1 ) +-- UPDATE +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- SET +-- POSITIONID = +---- CASE +---- WHEN TIPPROD = 'CC' THEN '' --MODIFICA TRINGALI +---- ELSE +-- [C6StagingPeriodico].[RP_Info_DaProdottoCSaCatalogo] --dbo.Info_DaProdottoCSaCatalogo +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- --V ISIN per ASU2 +-- CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END, +-- SUBPROD +-- ) +-- --END +-- + +-- dbo.Crea_positionID +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- '', +-- SUBPROD, +-- CODCONF, -- VERIFICARNE LA CORRETTEZZA +-- NUMPOL, +-- CONTO, +-- RUBR, +-- CUSTGAR, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) +-- END +-- ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20161213.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20161213.sql new file mode 100644 index 00000000..5059b140 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20161213.sql @@ -0,0 +1,270 @@ +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6StagingPeriodico].[RP_ST_CREA_POSITIONID_20161213] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --******************************************************************************************** +--select * from c6stagingperiodico.rp_catalogoprodotti +-- FC 05052014 +-- Interventi : + -- Eliminata ( commentata ) where condition spb.positionid is null + -- Eliminato ( commentato ) ciclo While @Visible +update C6StagingPeriodico.SPB_CONTR_SINTESI +set positionid = null + declare @visible int + set @visible = 1 +-- while @visible >= 0 +-- begin + update C6StagingPeriodico.SPB_CONTR_SINTESI + set positionid = catalogueid + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB inner join + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = @visible + )CAT + on + --caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') +--inizio intervento MIGRAZIONE ASU3 + and spb.CODINT not in ('RS','RB','RM','RV') +--fine intervento MIGRAZIONE ASU3 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) +--inizio intervento MIGRAZIONE ASU3 + or + --caso 1a + (spb.CODINT in ('RS','RB','RM','RV') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +--fine intervento MIGRAZIONE ASU3 + or + --else caso 1b + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and cat.TIPOPRODOTTO = SPB.TipProd + ) + or + --caso 2 +-- (SPB.TipProd in ('ASU2') + (SPB.TipProd in ('ASU2','GP') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end + ) + or + --caso 3 + (SPB.TipProd in ('DT','ASD') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + ) + or + --caso 4 + (SPB.TipProd in ('GES') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODMAF,'') = isnull(spb.MAF,'') + ) +-- --caso 5 +-- or +-- (SPB.isin = 'EURO00000009' +-- and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') +-- and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') +-- and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +-- ) +-- where spb.positionid is null +-- set @visible = @visible - 1 +-- end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' + ) + --******************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + -- drop table #TAB1 + SELECT distinct + TIPPROD, + CODINT, + MAF, + CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END AS CODISIN, + SUBPROD, + POSITIONID, + RETE, + codfis + INTO #TAB1 + FROM C6StagingPeriodico.SPB_CONTR_SINTESI where POSITIONID IS NULL + UPDATE #TAB1 + SET POSITIONID = C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPPROD, + CODINT, + MAF, + CODISIN, + SUBPROD + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = t.POSITIONID + FROM C6StagingPeriodico.SPB_CONTR_SINTESI c + inner join #TAB1 t + ON isnull(t.TIPPROD,'')=isnull(c.TIPPROD,'') + AND isnull(t.CODINT,'')=isnull(c.CODINT,'') + AND isnull(t.MAF,'')=isnull(c.MAF,'') + AND t.CODISIN = CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END + AND isnull(t.SUBPROD,'')=isnull(c.SUBPROD,'') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' + ) + --********************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = POSITIONID + dbo.Crea_positionID + ( + TIPPROD, + CODINT, + MAF, + '', + SUBPROD, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + NUMPOL, + CONTO, + RUBR, + CUSTGAR, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + WHERE POSITIONID IS NOT NULL + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, codfis, 'SPB_CONTR_SINTESI.POSITIONID IS NULL' + FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE ISNULL(POSITIONID,'') ='' + GROUP BY RETE, codfis + --SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE isnull(POSITIONID,'') = '' + --IF @CNTNULL > 0 + -- RAISERROR ('SPB_CONTR_SINTESI.POSITIONID IS NULL', 16, 1 ) +-- UPDATE +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- SET +-- POSITIONID = +---- CASE +---- WHEN TIPPROD = 'CC' THEN '' --MODIFICA TRINGALI +---- ELSE +-- [C6StagingPeriodico].[RP_Info_DaProdottoCSaCatalogo] --dbo.Info_DaProdottoCSaCatalogo +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- --V ISIN per ASU2 +-- CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END, +-- SUBPROD +-- ) +-- --END +-- + +-- dbo.Crea_positionID +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- '', +-- SUBPROD, +-- CODCONF, -- VERIFICARNE LA CORRETTEZZA +-- NUMPOL, +-- CONTO, +-- RUBR, +-- CUSTGAR, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) +-- END +-- ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20171204_preRFMP.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20171204_preRFMP.sql new file mode 100644 index 00000000..9a1e4f44 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20171204_preRFMP.sql @@ -0,0 +1,276 @@ +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6StagingPeriodico].[RP_ST_CREA_POSITIONID_20171204_preRFMP] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --******************************************************************************************** +--select * from c6stagingperiodico.rp_catalogoprodotti +-- FC 05052014 +-- Interventi : + -- Eliminata ( commentata ) where condition spb.positionid is null + -- Eliminato ( commentato ) ciclo While @Visible +update C6StagingPeriodico.SPB_CONTR_SINTESI +set positionid = null + declare @visible int + set @visible = 1 +-- while @visible >= 0 +-- begin + update C6StagingPeriodico.SPB_CONTR_SINTESI + set positionid = catalogueid + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB inner join + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = @visible + )CAT + on + --caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161213 + --and spb.CODINT not in ('RS','RB','RM','RV') + and spb.CODINT not in ('RS','RB','RM','RV','RE') +--fine INTERVENTO 'RE' - 20161213 +--fine intervento MIGRAZIONE ASU3 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) +--inizio intervento MIGRAZIONE ASU3 + or + --caso 1a +--inizio INTERVENTO 'RE' - 20161213 + --(spb.CODINT in ('RS','RB','RM','RV') + (spb.CODINT in ('RS','RB','RM','RV','RE') +--FINE INTERVENTO 'RE' - 20161213 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +--fine intervento MIGRAZIONE ASU3 + or + --else caso 1b + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and cat.TIPOPRODOTTO = SPB.TipProd + ) + or + --caso 2 +-- (SPB.TipProd in ('ASU2') + (SPB.TipProd in ('ASU2','GP') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end + ) + or + --caso 3 + (SPB.TipProd in ('DT','ASD') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + ) + or + --caso 4 + (SPB.TipProd in ('GES') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODMAF,'') = isnull(spb.MAF,'') + ) +-- --caso 5 +-- or +-- (SPB.isin = 'EURO00000009' +-- and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') +-- and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') +-- and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +-- ) +-- where spb.positionid is null +-- set @visible = @visible - 1 +-- end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' + ) + --******************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + -- drop table #TAB1 + SELECT distinct + TIPPROD, + CODINT, + MAF, + CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END AS CODISIN, + SUBPROD, + POSITIONID, + RETE, + codfis + INTO #TAB1 + FROM C6StagingPeriodico.SPB_CONTR_SINTESI where POSITIONID IS NULL + UPDATE #TAB1 + SET POSITIONID = C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPPROD, + CODINT, + MAF, + CODISIN, + SUBPROD + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = t.POSITIONID + FROM C6StagingPeriodico.SPB_CONTR_SINTESI c + inner join #TAB1 t + ON isnull(t.TIPPROD,'')=isnull(c.TIPPROD,'') + AND isnull(t.CODINT,'')=isnull(c.CODINT,'') + AND isnull(t.MAF,'')=isnull(c.MAF,'') + AND t.CODISIN = CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END + AND isnull(t.SUBPROD,'')=isnull(c.SUBPROD,'') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' + ) + --********************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = POSITIONID + dbo.Crea_positionID + ( + TIPPROD, + CODINT, + MAF, + '', + SUBPROD, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + NUMPOL, + CONTO, + RUBR, + CUSTGAR, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + WHERE POSITIONID IS NOT NULL + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, codfis, 'SPB_CONTR_SINTESI.POSITIONID IS NULL' + FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE ISNULL(POSITIONID,'') ='' + GROUP BY RETE, codfis + --SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE isnull(POSITIONID,'') = '' + --IF @CNTNULL > 0 + -- RAISERROR ('SPB_CONTR_SINTESI.POSITIONID IS NULL', 16, 1 ) +-- UPDATE +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- SET +-- POSITIONID = +---- CASE +---- WHEN TIPPROD = 'CC' THEN '' --MODIFICA TRINGALI +---- ELSE +-- [C6StagingPeriodico].[RP_Info_DaProdottoCSaCatalogo] --dbo.Info_DaProdottoCSaCatalogo +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- --V ISIN per ASU2 +-- CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END, +-- SUBPROD +-- ) +-- --END +-- + +-- dbo.Crea_positionID +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- '', +-- SUBPROD, +-- CODCONF, -- VERIFICARNE LA CORRETTEZZA +-- NUMPOL, +-- CONTO, +-- RUBR, +-- CUSTGAR, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) +-- END +-- ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20190725.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20190725.sql new file mode 100644 index 00000000..343d4363 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20190725.sql @@ -0,0 +1,282 @@ +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6StagingPeriodico].[RP_ST_CREA_POSITIONID_20190725] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --******************************************************************************************** +--select * from c6stagingperiodico.rp_catalogoprodotti +-- FC 05052014 +-- Interventi : + -- Eliminata ( commentata ) where condition spb.positionid is null + -- Eliminato ( commentato ) ciclo While @Visible +update C6StagingPeriodico.SPB_CONTR_SINTESI +set positionid = null + declare @visible int + set @visible = 1 +-- while @visible >= 0 +-- begin + update C6StagingPeriodico.SPB_CONTR_SINTESI + set positionid = catalogueid + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB inner join + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = @visible + )CAT + on + --caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161213 + --and spb.CODINT not in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + --and spb.CODINT not in ('RS','RB','RM','RV','RE') + and spb.CODINT not in ('RS','RB','RM','RV','RE','RF') + --fine INTERVENTO 'RF/MP' - 20171204 +--fine INTERVENTO 'RE' - 20161213 +--fine intervento MIGRAZIONE ASU3 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) +--inizio intervento MIGRAZIONE ASU3 + or + --caso 1a +--inizio INTERVENTO 'RE' - 20161213 + --(spb.CODINT in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + -- (spb.CODINT in ('RS','RB','RM','RV','RE') + + (spb.CODINT in ('RS','RB','RM','RV','RE','RF') + --fine INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +--fine intervento MIGRAZIONE ASU3 + or + --else caso 1b + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and cat.TIPOPRODOTTO = SPB.TipProd + ) + or + --caso 2 +-- (SPB.TipProd in ('ASU2') + (SPB.TipProd in ('ASU2','GP') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end + ) + or + --caso 3 + (SPB.TipProd in ('DT','ASD') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + ) + or + --caso 4 + (SPB.TipProd in ('GES') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODMAF,'') = isnull(spb.MAF,'') + ) +-- --caso 5 +-- or +-- (SPB.isin = 'EURO00000009' +-- and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') +-- and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') +-- and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +-- ) +-- where spb.positionid is null +-- set @visible = @visible - 1 +-- end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' + ) + --******************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + -- drop table #TAB1 + SELECT distinct + TIPPROD, + CODINT, + MAF, + CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END AS CODISIN, + SUBPROD, + POSITIONID, + RETE, + codfis + INTO #TAB1 + FROM C6StagingPeriodico.SPB_CONTR_SINTESI where POSITIONID IS NULL + UPDATE #TAB1 + SET POSITIONID = C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPPROD, + CODINT, + MAF, + CODISIN, + SUBPROD + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = t.POSITIONID + FROM C6StagingPeriodico.SPB_CONTR_SINTESI c + inner join #TAB1 t + ON isnull(t.TIPPROD,'')=isnull(c.TIPPROD,'') + AND isnull(t.CODINT,'')=isnull(c.CODINT,'') + AND isnull(t.MAF,'')=isnull(c.MAF,'') + AND t.CODISIN = CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END + AND isnull(t.SUBPROD,'')=isnull(c.SUBPROD,'') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' + ) + --********************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = POSITIONID + dbo.Crea_positionID + ( + TIPPROD, + CODINT, + MAF, + '', + SUBPROD, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + NUMPOL, + CONTO, + RUBR, + CUSTGAR, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + WHERE POSITIONID IS NOT NULL + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, codfis, 'SPB_CONTR_SINTESI.POSITIONID IS NULL' + FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE ISNULL(POSITIONID,'') ='' + GROUP BY RETE, codfis + --SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE isnull(POSITIONID,'') = '' + --IF @CNTNULL > 0 + -- RAISERROR ('SPB_CONTR_SINTESI.POSITIONID IS NULL', 16, 1 ) +-- UPDATE +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- SET +-- POSITIONID = +---- CASE +---- WHEN TIPPROD = 'CC' THEN '' --MODIFICA TRINGALI +---- ELSE +-- [C6StagingPeriodico].[RP_Info_DaProdottoCSaCatalogo] --dbo.Info_DaProdottoCSaCatalogo +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- --V ISIN per ASU2 +-- CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END, +-- SUBPROD +-- ) +-- --END +-- + +-- dbo.Crea_positionID +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- '', +-- SUBPROD, +-- CODCONF, -- VERIFICARNE LA CORRETTEZZA +-- NUMPOL, +-- CONTO, +-- RUBR, +-- CUSTGAR, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) +-- END +-- ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID_BK_eligoTitoli.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID_BK_eligoTitoli.sql new file mode 100644 index 00000000..8dba037d --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID_BK_eligoTitoli.sql @@ -0,0 +1,258 @@ +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[RP_ST_CREA_POSITIONID_BK_eligoTitoli] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --******************************************************************************************** +--select * from c6stagingperiodico.rp_catalogoprodotti +-- FC 05052014 +-- Interventi : + -- Eliminata ( commentata ) where condition spb.positionid is null + -- Eliminato ( commentato ) ciclo While @Visible +update C6StagingPeriodico.SPB_CONTR_SINTESI +set positionid = null + declare @visible int + set @visible = 1 +-- while @visible >= 0 +-- begin + update C6StagingPeriodico.SPB_CONTR_SINTESI + set positionid = catalogueid + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB inner join + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = @visible + )CAT + on + --caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) + or + --else caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and cat.TIPOPRODOTTO = SPB.TipProd + ) + or + --caso 2 +-- (SPB.TipProd in ('ASU2') + (SPB.TipProd in ('ASU2','GP') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end + ) + or + --caso 3 + (SPB.TipProd in ('DT','ASD') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + ) + or + --caso 4 + (SPB.TipProd in ('GES') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODMAF,'') = isnull(spb.MAF,'') + ) +-- --caso 5 +-- or +-- (SPB.isin = 'EURO00000009' +-- and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') +-- and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') +-- and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +-- ) +-- where spb.positionid is null +-- set @visible = @visible - 1 +-- end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' + ) + --******************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + -- drop table #TAB1 + SELECT distinct + TIPPROD, + CODINT, + MAF, + CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END AS CODISIN, + SUBPROD, + POSITIONID, + RETE, + codfis + INTO #TAB1 + FROM C6StagingPeriodico.SPB_CONTR_SINTESI where POSITIONID IS NULL + UPDATE #TAB1 + SET POSITIONID = C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPPROD, + CODINT, + MAF, + CODISIN, + SUBPROD + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = t.POSITIONID + FROM C6StagingPeriodico.SPB_CONTR_SINTESI c + inner join #TAB1 t + ON isnull(t.TIPPROD,'')=isnull(c.TIPPROD,'') + AND isnull(t.CODINT,'')=isnull(c.CODINT,'') + AND isnull(t.MAF,'')=isnull(c.MAF,'') + AND t.CODISIN = CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END + AND isnull(t.SUBPROD,'')=isnull(c.SUBPROD,'') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' + ) + --********************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = POSITIONID + dbo.Crea_positionID + ( + TIPPROD, + CODINT, + MAF, + '', + SUBPROD, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + NUMPOL, + CONTO, + RUBR, + CUSTGAR, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + WHERE POSITIONID IS NOT NULL + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, codfis, 'SPB_CONTR_SINTESI.POSITIONID IS NULL' + FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE ISNULL(POSITIONID,'') ='' + GROUP BY RETE, codfis + --SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE isnull(POSITIONID,'') = '' + --IF @CNTNULL > 0 + -- RAISERROR ('SPB_CONTR_SINTESI.POSITIONID IS NULL', 16, 1 ) +-- UPDATE +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- SET +-- POSITIONID = +---- CASE +---- WHEN TIPPROD = 'CC' THEN '' --MODIFICA TRINGALI +---- ELSE +-- [C6StagingPeriodico].[RP_Info_DaProdottoCSaCatalogo] --dbo.Info_DaProdottoCSaCatalogo +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- --V ISIN per ASU2 +-- CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END, +-- SUBPROD +-- ) +-- --END +-- + +-- dbo.Crea_positionID +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- '', +-- SUBPROD, +-- CODCONF, -- VERIFICARNE LA CORRETTEZZA +-- NUMPOL, +-- CONTO, +-- RUBR, +-- CUSTGAR, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) +-- END +-- ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID_pre_selective.sql new file mode 100644 index 00000000..db505697 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CREA_POSITIONID_pre_selective.sql @@ -0,0 +1,276 @@ +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6StagingPeriodico].[RP_ST_CREA_POSITIONID_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_pre_selective_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --******************************************************************************************** +--select * from c6stagingperiodico.rp_catalogoprodotti +-- FC 05052014 +-- Interventi : + -- Eliminata ( commentata ) where condition spb.positionid is null + -- Eliminato ( commentato ) ciclo While @Visible +update C6StagingPeriodico.SPB_CONTR_SINTESI +set positionid = null + declare @visible int + set @visible = 1 +-- while @visible >= 0 +-- begin + update C6StagingPeriodico.SPB_CONTR_SINTESI + set positionid = catalogueid + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB inner join + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = @visible + )CAT + on + --caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161213 + --and spb.CODINT not in ('RS','RB','RM','RV') + and spb.CODINT not in ('RS','RB','RM','RV','RE') +--fine INTERVENTO 'RE' - 20161213 +--fine intervento MIGRAZIONE ASU3 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) +--inizio intervento MIGRAZIONE ASU3 + or + --caso 1a +--inizio INTERVENTO 'RE' - 20161213 + --(spb.CODINT in ('RS','RB','RM','RV') + (spb.CODINT in ('RS','RB','RM','RV','RE') +--FINE INTERVENTO 'RE' - 20161213 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +--fine intervento MIGRAZIONE ASU3 + or + --else caso 1b + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and cat.TIPOPRODOTTO = SPB.TipProd + ) + or + --caso 2 +-- (SPB.TipProd in ('ASU2') + (SPB.TipProd in ('ASU2','GP') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end + ) + or + --caso 3 + (SPB.TipProd in ('DT','ASD') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + ) + or + --caso 4 + (SPB.TipProd in ('GES') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODMAF,'') = isnull(spb.MAF,'') + ) +-- --caso 5 +-- or +-- (SPB.isin = 'EURO00000009' +-- and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') +-- and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') +-- and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +-- ) +-- where spb.positionid is null +-- set @visible = @visible - 1 +-- end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_pre_selective_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_pre_selective_1' + ) + --******************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_pre_selective_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + -- drop table #TAB1 + SELECT distinct + TIPPROD, + CODINT, + MAF, + CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END AS CODISIN, + SUBPROD, + POSITIONID, + RETE, + codfis + INTO #TAB1 + FROM C6StagingPeriodico.SPB_CONTR_SINTESI where POSITIONID IS NULL + UPDATE #TAB1 + SET POSITIONID = C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPPROD, + CODINT, + MAF, + CODISIN, + SUBPROD + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = t.POSITIONID + FROM C6StagingPeriodico.SPB_CONTR_SINTESI c + inner join #TAB1 t + ON isnull(t.TIPPROD,'')=isnull(c.TIPPROD,'') + AND isnull(t.CODINT,'')=isnull(c.CODINT,'') + AND isnull(t.MAF,'')=isnull(c.MAF,'') + AND t.CODISIN = CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END + AND isnull(t.SUBPROD,'')=isnull(c.SUBPROD,'') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_pre_selective_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_pre_selective_2' + ) + --********************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_pre_selective_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = POSITIONID + dbo.Crea_positionID + ( + TIPPROD, + CODINT, + MAF, + '', + SUBPROD, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + NUMPOL, + CONTO, + RUBR, + CUSTGAR, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + WHERE POSITIONID IS NOT NULL + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, codfis, 'SPB_CONTR_SINTESI.POSITIONID IS NULL' + FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE ISNULL(POSITIONID,'') ='' + GROUP BY RETE, codfis + --SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE isnull(POSITIONID,'') = '' + --IF @CNTNULL > 0 + -- RAISERROR ('SPB_CONTR_SINTESI.POSITIONID IS NULL', 16, 1 ) +-- UPDATE +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- SET +-- POSITIONID = +---- CASE +---- WHEN TIPPROD = 'CC' THEN '' --MODIFICA TRINGALI +---- ELSE +-- [C6StagingPeriodico].[RP_Info_DaProdottoCSaCatalogo] --dbo.Info_DaProdottoCSaCatalogo +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- --V ISIN per ASU2 +-- CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END, +-- SUBPROD +-- ) +-- --END +-- + +-- dbo.Crea_positionID +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- '', +-- SUBPROD, +-- CODCONF, -- VERIFICARNE LA CORRETTEZZA +-- NUMPOL, +-- CONTO, +-- RUBR, +-- CUSTGAR, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) +-- END +-- ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_pre_selective_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_pre_selective_3' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatDivPtf.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatDivPtf.sql new file mode 100644 index 00000000..9eb05d66 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatDivPtf.sql @@ -0,0 +1,317 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_CatDivPtf] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatDivPtf', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatDivPtf + truncate table C6StagingPeriodico.RP_CatDivPtf +INSERT INTO [C6StagingPeriodico].[RP_CatDivPtf] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[Credito] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore] + ,[TIP_TASSO] + ,[Suitability_Perimeter] + ) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[Credito] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore] + ,case when codtassoobbligazioni = 1 then 'Fisso' + when codtassoobbligazioni = 2 then 'Variabile' + else NULL end + ,[Suitability_Perimeter] + --into [C6StagingPeriodico].[RP_CatDivPtf] + from CONSUNI.CatalogoProdotti.dbo.VDivPtfConCatalogo +--UPDATE dei codici MAF Valide solo per la trimestrale di gennaio 2014 +--utilizzate per martellare un errore sul catalogo in linea + --UPDATE C6StagingPeriodico.RP_CatDivPtf + --SET codmaf = '1407435' + --where codmaf = '1406533' + --UPDATE C6StagingPeriodico.RP_CatDivPtf + --SET codmaf = '1308841' + --where codmaf = '1396234' + -- Ricreo il catalogueID come era nel SEI vecchio in quanto mi serve per ricreare il position id + /* + Catalogueid = + decode(codice_isin,null,'############', rpad(codice_isin,12,' ')) || + decode(codice_maf,null,'###############', rpad(codice_maf,15,' ')) || + decode(codice_interno,null,'###############', rpad(codice_interno,15,' ')) || decode(codice_sottoprodotto,null,'###############', rpad(codice_sottoprodotto,15,' ')) + */ + UPDATE C6StagingPeriodico.RP_CatDivPtf + SET CATALOGUEID = + CASE WHEN codisin = '$' or codisin is null then '############' else CONVERT(char(12),codisin) END + + CASE WHEN codmaf = '$' or codmaf is null then '###############' else CONVERT(char(15),codmaf) END + + CASE WHEN codinterno = '$' or codinterno is null then '###############' else CONVERT(char(15),codinterno) END + + CASE WHEN codsottoprodotto = '$' or codsottoprodotto is null then '###############' else CONVERT(char(15),codsottoprodotto) END + -- modifiche estemporanee per 1 trimestrale 2016 - 5/5/2016 - lotto 2 ----------------------------------------- + -- 2/2/2017 ----> insert non più valida - commentata + --insert into C6StagingPeriodico.RP_CatDivPtf + --values ('RS_FVI11 1415480 RS FP ',/*pk*/ 261831 /* 9276460 9+max([CodSottoprodotto])=9276460 pk 20160506*/,'FP','RS','1415480','RS_FVI11','RS_FVI11',null,null,1,null,'FVI MS - Core Beta 30 classe K',1,10.95600, + --9,'9999-12-31 00:00:00.000',1,1,null,10.92800,'EUR','FVCOR30','ASU1',null,null,null,500.00000,'EUR', + --500.00000,'EUR',0,'EUR',0,'EUR',500.00000,'EUR',null,3,null,null,null,'K',null,null,null,1,null,null,null, + --'2016-05-02 00:00:00.000',null,null,null,null,null,null,null,0,null,null,null,null,null,null,1, + --null,null,9,null,null,null,null,null,null,null,null,null,null,1,2,1,null,null) + -- 2/2/2017 ----> fine + -- 3/5/2017 ----> + -- 3/5/2017 ----> fine + update C6StagingPeriodico.RP_CatDivPtf + set visibilita = 1 + where codinterno = '04806890' and + codisin = 'IT0004806896' + -- fine modifiche estemporanee per 1 trimestrale 2016 - 5/5/2016 - lotto 2 -------------------------------------- + -- modifiche per IV trimestrale 2016 - 20/01/2017 per far caricare nella dettaglioAsul i prodotti dei cf: ------------ + -- CRSLRN54D28C847X,MLSVNC68S45D612E,GMBDNC71D15H501H,FRRLGU70D13F257S + -- update C6StagingPeriodico.RP_CatDivPtf + --set visibilita = 1 + --where codinterno = 's3' and codsottoprodotto in ('AZI73','OBE73') + --update C6StagingPeriodico.RP_CatDivPtf + --set visibilita = 1 + --where codinterno = '80' and codsottoprodotto in ('STR55','STR70') + -- fine modifiche per IV trimestrale 2016 - 20/01/2017 ---------------------------------------------------------------- + -- modifiche per II trimestrale 2017 - 16/06/2017 rimediare alla segnalazione Descrizione Prodotto su Catalogo Prodotti Null+Emittente null + -- esempio cf: F BFCVTR55C30H536X (x descr null) e RSOMRT65B41A145N (emittente null) + update c6StagingPeriodico.RP_CatDivPtf + set visibilita=1 + WHERE CODINTERNO = '04917940' and codisin = 'IT0004917941' + and visibilita = 0 + update c6StagingPeriodico.RP_CatDivPtf + set visibilita=1 + WHERE CODINTERNO = '08662950' and codisin = 'XS0501195480' + and visibilita = 0 + -- fine modifiche per II trimestrale 2017 - 16/06/2017 ---------------------------------------------------------------- + -- modifiche per II trimestrale 2017 - 20/07/2017 rimediare alla mancanza dell'Emittente per il prodotto censito + update c6StagingPeriodico.RP_CatDivPtf + set emittente='0000000055840' + WHERE catalogueid = 'IT0005218380###############09358630 ###############' + -- fine modifiche per II trimestrale 2017 - 20/07/2017 ---------------------------------------------------------------- + -- modifiche per III trimestrale 2017 - 25/09/2017 rimediare alla segnalazione 'Tabella Scadenze : Descrizione Prodotto su Catalogo Prodotti Null' + -- per i 2cf: F/BNZNLM66D21Z312D,F/MNRDTL56S70F351T + update c6StagingPeriodico.RP_CatDivPtf + set visibilita=1 + WHERE CODINTERNO = '03246250' + and visibilita = 0 + -- fine modifiche per III trimestrale 2017 - 25/09/2017 ---------------------------------------------------------------- + -- modifiche per III trimestrale 2017 - 27/10/2017 rimediare alla segnalazione 'Tabella Scadenze : Descrizione Prodotto su Catalogo Prodotti Null' + UPDATE a + SET CATALOGUEID = + CASE WHEN codisin = '$' or codisin is null then '############' else CONVERT(char(12),codisin) END + + CASE WHEN codmaf = '$' or codmaf is null then '###############' else CONVERT(char(15),codmaf) END + + CASE WHEN codinterno = '$' or codinterno is null then '###############' else CONVERT(char(15),codinterno) END + + CASE WHEN codsottoprodotto = '$' or codsottoprodotto is null then '###############' else CONVERT(char(15),codsottoprodotto) END + from C6StagingPeriodico.RP_CatDivPtf a + where codinterno = 'RB' and codsottoprodotto = 'GS' AND CODMAF is null and codIsin = 'LU0433182507' + UPDATE a + SET CATALOGUEID = + CASE WHEN codisin = '$' or codisin is null then '############' else CONVERT(char(12),codisin) END + + CASE WHEN codmaf = '$' or codmaf is null then '###############' else CONVERT(char(15),codmaf) END + + CASE WHEN codinterno = '$' or codinterno is null then '###############' else CONVERT(char(15),codinterno) END + + CASE WHEN codsottoprodotto = '$' or codsottoprodotto is null then '###############' else CONVERT(char(15),codsottoprodotto) END + from C6StagingPeriodico.RP_CatDivPtf a + where codinterno = 'RB' and codsottoprodotto = 'GS' AND CODMAF is null and codIsin = 'LU0782316961' + -- fine modifiche per III trimestrale 2017 - 27/10/2017 ---------------------------------------------------------------- + --------------------------------------- modifiche per IV trimestrale 2017 - 17/1/2018 rimediare alla segnalazione + -- 'Scrittura Tabella PROVENTI : Errata Valorizzazione a NULL del campo Descrizione Prodotto' + -- per il cf: F/RGGVLR38S61H501U + update C6StagingPeriodico.RP_CatDivPtf + set visibilita = 1 + where codinterno = '04969190' and + codisin = 'IT0004969199' + ---------------------------------------- fine modifiche per IV trimestrale 2017 - 17/1/2018 + ---- modifiche per I trimestrale 2018 - Aprile 2018 - errore scarto cf CVTGNN61T64G535D + update C6StagingPeriodico.RP_CatDivPtf + set codsottoprodotto = 'HL02' + where ChiaveProdotto = 314880 + ----- fine modifiche per I trimestrale 2018 - Aprile 2018 - errore scarto cf CVTGNN61T64G535D + --------------------------------------- modifiche per trimestrale 2017 - 31/10/2023 rimediare alla segnalazione + -- 'Scrittura Tabella PROVENTI : Errata Valorizzazione a NULL del campo Descrizione Prodotto' + -- per il cf: F/RGGVLR38S61H501U + update C6StagingPeriodico.RP_CatDivPtf + set visibilita = 1 + where ChiaveProdotto='233943' + -- FIX 20250318 PER LINEE GP Ego Personal + UPDATE C6StagingPeriodico.RP_CatDivPtf + SET RischioCredito='3' + where NomeProdotto like '%gp ego personal%' + and Lineefinacc = 'pers' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CatDivPtf' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CatDivPtf' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti.sql new file mode 100644 index 00000000..1d2bdbb2 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti.sql @@ -0,0 +1,348 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_CatalogoProdotti] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_CatalogoProdotti +INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore] + ,[TIP_TASSO] + ,[TIP_EMITTENTE] + ,[Suitability_Perimeter] + ) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore] + ,case when codtassoobbligazioni = 1 then 'Fisso' + when codtassoobbligazioni = 2 then 'Variabile' + when codtassoobbligazioni = 3 then 'Altro' + when codtassoobbligazioni = 0 then 'Zero Coupon' + else NULL end + ,isnull([TipoObbligazione],'Altro') + ,[Suitability_Perimeter] + --into [C6StagingPeriodico].[RP_CatalogoProdotti] + from [CONSUNI].CatalogoProdotti.dbo.CatalogoProdotti +--UPDATE dei codici MAF Valide solo per la trimestrale di gennaio 2014 +--utilizzate per martellare un errore sul catalogo in linea + --UPDATE C6StagingPeriodico.RP_CatalogoProdotti + --SET codmaf = '1407435' + --where codmaf = '1406533' + --UPDATE C6StagingPeriodico.RP_CatalogoProdotti + --SET codmaf = '1308841' + --where codmaf = '1396234' + -- Ricreo il catalogueID come era nel SEI vecchio in quanto mi serve per ricreare il position id + /* + Catalogueid = + decode(codice_isin,null,'############', rpad(codice_isin,12,' ')) || + decode(codice_maf,null,'###############', rpad(codice_maf,15,' ')) || + decode(codice_interno,null,'###############', rpad(codice_interno,15,' ')) || decode(codice_sottoprodotto,null,'###############', rpad(codice_sottoprodotto,15,' ')) + */ + UPDATE C6StagingPeriodico.RP_CatalogoProdotti + SET CATALOGUEID = + CASE WHEN codisin = '$' or codisin is null then '############' else CONVERT(char(12),codisin) END + + CASE WHEN codmaf = '$' or codmaf is null then '###############' else CONVERT(char(15),codmaf) END + + CASE WHEN codinterno = '$' or codinterno is null then '###############' else CONVERT(char(15),codinterno) END + + CASE WHEN codsottoprodotto = '$' or codsottoprodotto is null then '###############' else CONVERT(char(15),codsottoprodotto) END + -- modifiche estemporanee per 1 trimestrale 2016 - 5/5/2016 - lotto 2 ----------------------------------------- + -- 2/2/2017 ----> insert non più valida - commentata + --insert into C6StagingPeriodico.RP_CatalogoProdotti + --values ('RS_FVI11 1415480 RS FP ',/*pk*/ 261831 /* 9276460 9+max([CodSottoprodotto])=9276460 pk 20160506*/,'FP','RS','1415480','RS_FVI11','RS_FVI11',null,null,1,null,'FVI MS - Core Beta 30 classe K',1,10.95600, + --9,'9999-12-31 00:00:00.000',1,1,null,10.92800,'EUR','FVCOR30','ASU1',null,null,null,500.00000,'EUR', + --500.00000,'EUR',0,'EUR',0,'EUR',500.00000,'EUR',null,3,null,null,null,'K',null,null,null,1,null,null,null, + --'2016-05-02 00:00:00.000',null,null,null,null,null,null,null,0,null,null,null,null,null,null,1, + --null,null,9,null,null,null,null,null,null,null,null,null,null,1,2,1,null,null) + -- 2/2/2017 ----> fine + -- 3/5/2017 ----> + insert into C6StagingPeriodico.RP_CatalogoProdotti + values ('RS_FVI11 1415480 RS FP ',294126,'FP','RS','1415480','RS_FVI11','RS_FVI11',null,null,1,null,'FVI MS - Core Beta 30 classe K',1,10.95600, + 9,'9999-12-31 00:00:00.000',1,1,null,10.92800,'EUR','FVCOR30','ASU1',null,null,null,500.00000,'EUR', + 500.00000,'EUR',0,'EUR',0,'EUR',500.00000,'EUR',null,3,null,null,null,'K',null,null,null,1,null,null,null, + '2016-05-02 00:00:00.000',null,null,null,null,null,null,null,0,null,null,null,null,null,null,1, + null,null,9,null,null,null,null,null,null,null,null,null,null,1,2,1,null,null,null) + -- 3/5/2017 ----> fine + update C6StagingPeriodico.RP_CatalogoProdotti + set visibilita = 1 + where codinterno = '04806890' and + codisin = 'IT0004806896' + -- fine modifiche estemporanee per 1 trimestrale 2016 - 5/5/2016 - lotto 2 -------------------------------------- + -- modifiche per IV trimestrale 2016 - 20/01/2017 per far caricare nella dettaglioAsul i prodotti dei cf: ------------ + -- CRSLRN54D28C847X,MLSVNC68S45D612E,GMBDNC71D15H501H,FRRLGU70D13F257S + -- update C6StagingPeriodico.RP_CatalogoProdotti + --set visibilita = 1 + --where codinterno = 's3' and codsottoprodotto in ('AZI73','OBE73') + --update C6StagingPeriodico.RP_CatalogoProdotti + --set visibilita = 1 + --where codinterno = '80' and codsottoprodotto in ('STR55','STR70') + -- fine modifiche per IV trimestrale 2016 - 20/01/2017 ---------------------------------------------------------------- + -- modifiche per II trimestrale 2017 - 16/06/2017 rimediare alla segnalazione Descrizione Prodotto su Catalogo Prodotti Null+Emittente null + -- esempio cf: F BFCVTR55C30H536X (x descr null) e RSOMRT65B41A145N (emittente null) + update c6StagingPeriodico.RP_CatalogoProdotti + set visibilita=1 + WHERE CODINTERNO = '04917940' and codisin = 'IT0004917941' + and visibilita = 0 + update c6StagingPeriodico.RP_CatalogoProdotti + set visibilita=1 + WHERE CODINTERNO = '08662950' and codisin = 'XS0501195480' + and visibilita = 0 + -- fine modifiche per II trimestrale 2017 - 16/06/2017 ---------------------------------------------------------------- + -- modifiche per II trimestrale 2017 - 20/07/2017 rimediare alla mancanza dell'Emittente per il prodotto censito + update c6StagingPeriodico.RP_CatalogoProdotti + set emittente='0000000055840' + WHERE catalogueid = 'IT0005218380###############09358630 ###############' + -- fine modifiche per II trimestrale 2017 - 20/07/2017 ---------------------------------------------------------------- + -- modifiche per III trimestrale 2017 - 25/09/2017 rimediare alla segnalazione 'Tabella Scadenze : Descrizione Prodotto su Catalogo Prodotti Null' + -- per i 2cf: F/BNZNLM66D21Z312D,F/MNRDTL56S70F351T + update c6StagingPeriodico.RP_CatalogoProdotti + set visibilita=1 + WHERE CODINTERNO = '03246250' + and visibilita = 0 + -- fine modifiche per III trimestrale 2017 - 25/09/2017 ---------------------------------------------------------------- + -- modifiche per III trimestrale 2017 - 27/10/2017 rimediare alla segnalazione 'Tabella Scadenze : Descrizione Prodotto su Catalogo Prodotti Null' + INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([CatalogueID],[ChiaveProdotto],[CodSottoprodotto],[CodInterno],[CodMaf],[CodAdeguatezza],[CodIsin],[TipoVersamento],[RischioPrSc],[StatoProdotto] + ,[TipoPolizza],[NomeProdotto],[Visibilita],[PrezzoInEuro],[Alberatura],[DtScadenza],[Categoria],[Istituto],[Piazza],[PrezzoInValuta],[PrezzoValuta] + ,[Codiceadb],[TipoProdotto],[RatingObbligazioni],[RischioMinimo],[CapRisparmio],[CapMinimo],[CapMinimoValuta],[CapMinSucc],[CapMinSuccValuta],[MinRispContr] + ,[MinRispContrValuta],[SuccRispContr],[SuccRispContrValuta],[MinComm],[MinCommValuta],[DelegaGestionale],[TipologiaPerPick],[RischioPrezzo],[RegimeFiscale] + ,[Quotato],[ClasseDiPrezzo],[Lineefinacc],[DurataContrattuale],[RiscFinFaseAcc],[OpzRendVital],[MetaA],[MetaB],[MetaC],[DtRifPrezzo],[CodTipoContratto],[PrezzoNetto] + ,[PrezzoNettoValuta],[DtPrezzoNetto],[CodBloomberg],[DenomUnitLink],[DtInizioValidita],[Negoziabilita],[TassoTecnico],[TassoTecnicoValuta],[CollSkandia] + ,[CodAssetSatellite],[Mercato],[AzOb],[Complessita],[Emittente],[GaranziaDemografica],[SocietaDiGestione],[IndPrz],[Differimento],[DtPrezzo],[TipoObbligazione] + ,[TaglioMinimo],[IsAttivoRc],[RischioCredito],[Copertura],[VarP],[Diversificazione],[FlagCoreSatellite],[PerimetroCoreSatellite],[FondoCore],[TIP_EMITTENTE],[TIP_TASSO]) + VALUES + (null,303877,'GS','RB',null,null,'LU0433182507',null,null,1,null,'First Eagle Amundi International IHE EUR',1,null,98,null,null,null,null,null,null,null,'ASU1' + ,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null + ,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null + ,null,null,null) + UPDATE a + SET CATALOGUEID = + CASE WHEN codisin = '$' or codisin is null then '############' else CONVERT(char(12),codisin) END + + CASE WHEN codmaf = '$' or codmaf is null then '###############' else CONVERT(char(15),codmaf) END + + CASE WHEN codinterno = '$' or codinterno is null then '###############' else CONVERT(char(15),codinterno) END + + CASE WHEN codsottoprodotto = '$' or codsottoprodotto is null then '###############' else CONVERT(char(15),codsottoprodotto) END + from C6StagingPeriodico.RP_CatalogoProdotti a + where codinterno = 'RB' and codsottoprodotto = 'GS' AND CODMAF is null and codIsin = 'LU0433182507' + INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([CatalogueID],[ChiaveProdotto],[CodSottoprodotto],[CodInterno],[CodMaf],[CodAdeguatezza],[CodIsin],[TipoVersamento],[RischioPrSc],[StatoProdotto] + ,[TipoPolizza],[NomeProdotto],[Visibilita],[PrezzoInEuro],[Alberatura],[DtScadenza],[Categoria],[Istituto],[Piazza],[PrezzoInValuta],[PrezzoValuta] + ,[Codiceadb],[TipoProdotto],[RatingObbligazioni],[RischioMinimo],[CapRisparmio],[CapMinimo],[CapMinimoValuta],[CapMinSucc],[CapMinSuccValuta],[MinRispContr] + ,[MinRispContrValuta],[SuccRispContr],[SuccRispContrValuta],[MinComm],[MinCommValuta],[DelegaGestionale],[TipologiaPerPick],[RischioPrezzo],[RegimeFiscale] + ,[Quotato],[ClasseDiPrezzo],[Lineefinacc],[DurataContrattuale],[RiscFinFaseAcc],[OpzRendVital],[MetaA],[MetaB],[MetaC],[DtRifPrezzo],[CodTipoContratto],[PrezzoNetto] + ,[PrezzoNettoValuta],[DtPrezzoNetto],[CodBloomberg],[DenomUnitLink],[DtInizioValidita],[Negoziabilita],[TassoTecnico],[TassoTecnicoValuta],[CollSkandia] + ,[CodAssetSatellite],[Mercato],[AzOb],[Complessita],[Emittente],[GaranziaDemografica],[SocietaDiGestione],[IndPrz],[Differimento],[DtPrezzo],[TipoObbligazione] + ,[TaglioMinimo],[IsAttivoRc],[RischioCredito],[Copertura],[VarP],[Diversificazione],[FlagCoreSatellite],[PerimetroCoreSatellite],[FondoCore],[TIP_EMITTENTE],[TIP_TASSO]) + VALUES + (null,303879,'GS','RB',null,null,'LU0782316961',null,null,1,null,'JPM Global Income C Cap EUR',1,null,98,null,null,null,null,null,null,null,'ASU1' + ,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null + ,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null + ,null,null,null) + UPDATE a + SET CATALOGUEID = + CASE WHEN codisin = '$' or codisin is null then '############' else CONVERT(char(12),codisin) END + + CASE WHEN codmaf = '$' or codmaf is null then '###############' else CONVERT(char(15),codmaf) END + + CASE WHEN codinterno = '$' or codinterno is null then '###############' else CONVERT(char(15),codinterno) END + + CASE WHEN codsottoprodotto = '$' or codsottoprodotto is null then '###############' else CONVERT(char(15),codsottoprodotto) END + from C6StagingPeriodico.RP_CatalogoProdotti a + where codinterno = 'RB' and codsottoprodotto = 'GS' AND CODMAF is null and codIsin = 'LU0782316961' + -- fine modifiche per III trimestrale 2017 - 27/10/2017 ---------------------------------------------------------------- + --------------------------------------- modifiche per IV trimestrale 2017 - 17/1/2018 rimediare alla segnalazione + -- 'Scrittura Tabella PROVENTI : Errata Valorizzazione a NULL del campo Descrizione Prodotto' + -- per il cf: F/RGGVLR38S61H501U + update C6StagingPeriodico.RP_CatalogoProdotti + set visibilita = 1 + where codinterno = '04969190' and + codisin = 'IT0004969199' + ---------------------------------------- fine modifiche per IV trimestrale 2017 - 17/1/2018 + ---- modifiche per I trimestrale 2018 - Aprile 2018 - errore scarto cf CVTGNN61T64G535D + update C6StagingPeriodico.RP_CatalogoProdotti + set codsottoprodotto = 'HL02' + where ChiaveProdotto = 314880 + ----- fine modifiche per I trimestrale 2018 - Aprile 2018 - errore scarto cf CVTGNN61T64G535D + --------------------------------------- modifiche per trimestrale 2017 - 31/10/2023 rimediare alla segnalazione + -- 'Scrittura Tabella PROVENTI : Errata Valorizzazione a NULL del campo Descrizione Prodotto' + -- per il cf: F/RGGVLR38S61H501U + update C6StagingPeriodico.RP_CatalogoProdotti + set visibilita = 1 + where ChiaveProdotto='233943' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CatalogoProdotti' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CatalogoProdotti' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20160505.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20160505.sql new file mode 100644 index 00000000..a8aea9b5 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20160505.sql @@ -0,0 +1,218 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_CatalogoProdotti_20160505] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_CatalogoProdotti +INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore] + --into [C6StagingPeriodico].[RP_CatalogoProdotti] + from [CONSEVO].CatalogoProdotti.dbo.CatalogoProdotti +--UPDATE dei codici MAF Valide solo per la trimestrale di gennaio 2014 +--utilizzate per martellare un errore sul catalogo in linea + --UPDATE C6StagingPeriodico.RP_CatalogoProdotti + --SET codmaf = '1407435' + --where codmaf = '1406533' + --UPDATE C6StagingPeriodico.RP_CatalogoProdotti + --SET codmaf = '1308841' + --where codmaf = '1396234' + -- Ricreo il catalogueID come era nel SEI vecchio in quanto mi serve per ricreare il position id + /* + Catalogueid = + decode(codice_isin,null,'############', rpad(codice_isin,12,' ')) || + decode(codice_maf,null,'###############', rpad(codice_maf,15,' ')) || + decode(codice_interno,null,'###############', rpad(codice_interno,15,' ')) || decode(codice_sottoprodotto,null,'###############', rpad(codice_sottoprodotto,15,' ')) + */ + UPDATE C6StagingPeriodico.RP_CatalogoProdotti + SET CATALOGUEID = + CASE WHEN codisin = '$' or codisin is null then '############' else CONVERT(char(12),codisin) END + + CASE WHEN codmaf = '$' or codmaf is null then '###############' else CONVERT(char(15),codmaf) END + + CASE WHEN codinterno = '$' or codinterno is null then '###############' else CONVERT(char(15),codinterno) END + + CASE WHEN codsottoprodotto = '$' or codsottoprodotto is null then '###############' else CONVERT(char(15),codsottoprodotto) END + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CatalogoProdotti' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CatalogoProdotti' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20160506_LM.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20160506_LM.sql new file mode 100644 index 00000000..5ee7c216 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20160506_LM.sql @@ -0,0 +1,229 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_CatalogoProdotti_20160506_LM] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_CatalogoProdotti +INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore] + --into [C6StagingPeriodico].[RP_CatalogoProdotti] + from [CONSEVO].CatalogoProdotti.dbo.CatalogoProdotti +--UPDATE dei codici MAF Valide solo per la trimestrale di gennaio 2014 +--utilizzate per martellare un errore sul catalogo in linea + --UPDATE C6StagingPeriodico.RP_CatalogoProdotti + --SET codmaf = '1407435' + --where codmaf = '1406533' + --UPDATE C6StagingPeriodico.RP_CatalogoProdotti + --SET codmaf = '1308841' + --where codmaf = '1396234' + -- Ricreo il catalogueID come era nel SEI vecchio in quanto mi serve per ricreare il position id + /* + Catalogueid = + decode(codice_isin,null,'############', rpad(codice_isin,12,' ')) || + decode(codice_maf,null,'###############', rpad(codice_maf,15,' ')) || + decode(codice_interno,null,'###############', rpad(codice_interno,15,' ')) || decode(codice_sottoprodotto,null,'###############', rpad(codice_sottoprodotto,15,' ')) + */ + UPDATE C6StagingPeriodico.RP_CatalogoProdotti + SET CATALOGUEID = + CASE WHEN codisin = '$' or codisin is null then '############' else CONVERT(char(12),codisin) END + + CASE WHEN codmaf = '$' or codmaf is null then '###############' else CONVERT(char(15),codmaf) END + + CASE WHEN codinterno = '$' or codinterno is null then '###############' else CONVERT(char(15),codinterno) END + + CASE WHEN codsottoprodotto = '$' or codsottoprodotto is null then '###############' else CONVERT(char(15),codsottoprodotto) END + -- modifiche estemporanee per 1 trimestrale 2016 - 5/5/2016 - lotto 2 ----------------------------------------- + insert into C6StagingPeriodico.RP_CatalogoProdotti + values ('RS_FVI11 1415480 RS FP ',/*pk*/ /*261831*/ 9276460 /*9+max([CodSottoprodotto])=9276460 pk 20160506*/,'FP','RS','1415480','RS_FVI11','RS_FVI11',null,null,1,null,'FVI MS - Core Beta 30 classe K',1,10.95600, + 9,'9999-12-31 00:00:00.000',1,1,null,10.92800,'EUR','FVCOR30','ASU1',null,null,null,500.00000,'EUR', + 500.00000,'EUR',0,'EUR',0,'EUR',500.00000,'EUR',null,3,null,null,null,'K',null,null,null,1,null,null,null, + '2016-05-02 00:00:00.000',null,null,null,null,null,null,null,0,null,null,null,null,null,null,1, + null,null,9,null,null,null,null,null,null,null,null,null,null,1,2,1,null,null) + update C6StagingPeriodico.RP_CatalogoProdotti + set visibilita = 1 + where codinterno = '04806890' + -- fine modifiche estemporanee per 1 trimestrale 2016 - 5/5/2016 - lotto 2 -------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CatalogoProdotti' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CatalogoProdotti' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170120.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170120.sql new file mode 100644 index 00000000..0862d33c --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170120.sql @@ -0,0 +1,230 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_CatalogoProdotti_20170120] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_CatalogoProdotti +INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore] + --into [C6StagingPeriodico].[RP_CatalogoProdotti] + from [CONSUNI].CatalogoProdotti.dbo.CatalogoProdotti +--UPDATE dei codici MAF Valide solo per la trimestrale di gennaio 2014 +--utilizzate per martellare un errore sul catalogo in linea + --UPDATE C6StagingPeriodico.RP_CatalogoProdotti + --SET codmaf = '1407435' + --where codmaf = '1406533' + --UPDATE C6StagingPeriodico.RP_CatalogoProdotti + --SET codmaf = '1308841' + --where codmaf = '1396234' + -- Ricreo il catalogueID come era nel SEI vecchio in quanto mi serve per ricreare il position id + /* + Catalogueid = + decode(codice_isin,null,'############', rpad(codice_isin,12,' ')) || + decode(codice_maf,null,'###############', rpad(codice_maf,15,' ')) || + decode(codice_interno,null,'###############', rpad(codice_interno,15,' ')) || decode(codice_sottoprodotto,null,'###############', rpad(codice_sottoprodotto,15,' ')) + */ + UPDATE C6StagingPeriodico.RP_CatalogoProdotti + SET CATALOGUEID = + CASE WHEN codisin = '$' or codisin is null then '############' else CONVERT(char(12),codisin) END + + CASE WHEN codmaf = '$' or codmaf is null then '###############' else CONVERT(char(15),codmaf) END + + CASE WHEN codinterno = '$' or codinterno is null then '###############' else CONVERT(char(15),codinterno) END + + CASE WHEN codsottoprodotto = '$' or codsottoprodotto is null then '###############' else CONVERT(char(15),codsottoprodotto) END + -- modifiche estemporanee per 1 trimestrale 2016 - 5/5/2016 - lotto 2 ----------------------------------------- + insert into C6StagingPeriodico.RP_CatalogoProdotti + values ('RS_FVI11 1415480 RS FP ',/*pk*/ 261831 /* 9276460 9+max([CodSottoprodotto])=9276460 pk 20160506*/,'FP','RS','1415480','RS_FVI11','RS_FVI11',null,null,1,null,'FVI MS - Core Beta 30 classe K',1,10.95600, + 9,'9999-12-31 00:00:00.000',1,1,null,10.92800,'EUR','FVCOR30','ASU1',null,null,null,500.00000,'EUR', + 500.00000,'EUR',0,'EUR',0,'EUR',500.00000,'EUR',null,3,null,null,null,'K',null,null,null,1,null,null,null, + '2016-05-02 00:00:00.000',null,null,null,null,null,null,null,0,null,null,null,null,null,null,1, + null,null,9,null,null,null,null,null,null,null,null,null,null,1,2,1,null,null) + update C6StagingPeriodico.RP_CatalogoProdotti + set visibilita = 1 + where codinterno = '04806890' and + codisin = 'IT0004806896' + -- fine modifiche estemporanee per 1 trimestrale 2016 - 5/5/2016 - lotto 2 -------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CatalogoProdotti' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CatalogoProdotti' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170616_Vis1.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170616_Vis1.sql new file mode 100644 index 00000000..ff5d3c07 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170616_Vis1.sql @@ -0,0 +1,249 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_CatalogoProdotti_20170616_Vis1] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_CatalogoProdotti +INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore] + --into [C6StagingPeriodico].[RP_CatalogoProdotti] + from [CONSUNI].CatalogoProdotti.dbo.CatalogoProdotti +--UPDATE dei codici MAF Valide solo per la trimestrale di gennaio 2014 +--utilizzate per martellare un errore sul catalogo in linea + --UPDATE C6StagingPeriodico.RP_CatalogoProdotti + --SET codmaf = '1407435' + --where codmaf = '1406533' + --UPDATE C6StagingPeriodico.RP_CatalogoProdotti + --SET codmaf = '1308841' + --where codmaf = '1396234' + -- Ricreo il catalogueID come era nel SEI vecchio in quanto mi serve per ricreare il position id + /* + Catalogueid = + decode(codice_isin,null,'############', rpad(codice_isin,12,' ')) || + decode(codice_maf,null,'###############', rpad(codice_maf,15,' ')) || + decode(codice_interno,null,'###############', rpad(codice_interno,15,' ')) || decode(codice_sottoprodotto,null,'###############', rpad(codice_sottoprodotto,15,' ')) + */ + UPDATE C6StagingPeriodico.RP_CatalogoProdotti + SET CATALOGUEID = + CASE WHEN codisin = '$' or codisin is null then '############' else CONVERT(char(12),codisin) END + + CASE WHEN codmaf = '$' or codmaf is null then '###############' else CONVERT(char(15),codmaf) END + + CASE WHEN codinterno = '$' or codinterno is null then '###############' else CONVERT(char(15),codinterno) END + + CASE WHEN codsottoprodotto = '$' or codsottoprodotto is null then '###############' else CONVERT(char(15),codsottoprodotto) END + -- modifiche estemporanee per 1 trimestrale 2016 - 5/5/2016 - lotto 2 ----------------------------------------- + -- 2/2/2017 ----> insert non più valida - commentata + --insert into C6StagingPeriodico.RP_CatalogoProdotti + --values ('RS_FVI11 1415480 RS FP ',/*pk*/ 261831 /* 9276460 9+max([CodSottoprodotto])=9276460 pk 20160506*/,'FP','RS','1415480','RS_FVI11','RS_FVI11',null,null,1,null,'FVI MS - Core Beta 30 classe K',1,10.95600, + --9,'9999-12-31 00:00:00.000',1,1,null,10.92800,'EUR','FVCOR30','ASU1',null,null,null,500.00000,'EUR', + --500.00000,'EUR',0,'EUR',0,'EUR',500.00000,'EUR',null,3,null,null,null,'K',null,null,null,1,null,null,null, + --'2016-05-02 00:00:00.000',null,null,null,null,null,null,null,0,null,null,null,null,null,null,1, + --null,null,9,null,null,null,null,null,null,null,null,null,null,1,2,1,null,null) + -- 2/2/2017 ----> fine + -- 3/5/2017 ----> + insert into C6StagingPeriodico.RP_CatalogoProdotti + values ('RS_FVI11 1415480 RS FP ',294126,'FP','RS','1415480','RS_FVI11','RS_FVI11',null,null,1,null,'FVI MS - Core Beta 30 classe K',1,10.95600, + 9,'9999-12-31 00:00:00.000',1,1,null,10.92800,'EUR','FVCOR30','ASU1',null,null,null,500.00000,'EUR', + 500.00000,'EUR',0,'EUR',0,'EUR',500.00000,'EUR',null,3,null,null,null,'K',null,null,null,1,null,null,null, + '2016-05-02 00:00:00.000',null,null,null,null,null,null,null,0,null,null,null,null,null,null,1, + null,null,9,null,null,null,null,null,null,null,null,null,null,1,2,1,null,null) + -- 3/5/2017 ----> fine + update C6StagingPeriodico.RP_CatalogoProdotti + set visibilita = 1 + where codinterno = '04806890' and + codisin = 'IT0004806896' + -- fine modifiche estemporanee per 1 trimestrale 2016 - 5/5/2016 - lotto 2 -------------------------------------- + -- modifiche per IV trimestrale 2016 - 20/01/2017 per far caricare nella dettaglioAsul i prodotti dei cf: ------------ + -- CRSLRN54D28C847X,MLSVNC68S45D612E,GMBDNC71D15H501H,FRRLGU70D13F257S + -- update C6StagingPeriodico.RP_CatalogoProdotti + --set visibilita = 1 + --where codinterno = 's3' and codsottoprodotto in ('AZI73','OBE73') + --update C6StagingPeriodico.RP_CatalogoProdotti + --set visibilita = 1 + --where codinterno = '80' and codsottoprodotto in ('STR55','STR70') + -- fine modifiche per IV trimestrale 2016 - 20/01/2017 ---------------------------------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CatalogoProdotti' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CatalogoProdotti' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170720.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170720.sql new file mode 100644 index 00000000..15a97bce --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170720.sql @@ -0,0 +1,260 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_CatalogoProdotti_20170720] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_CatalogoProdotti +INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore] + --into [C6StagingPeriodico].[RP_CatalogoProdotti] + from [CONSUNI].CatalogoProdotti.dbo.CatalogoProdotti +--UPDATE dei codici MAF Valide solo per la trimestrale di gennaio 2014 +--utilizzate per martellare un errore sul catalogo in linea + --UPDATE C6StagingPeriodico.RP_CatalogoProdotti + --SET codmaf = '1407435' + --where codmaf = '1406533' + --UPDATE C6StagingPeriodico.RP_CatalogoProdotti + --SET codmaf = '1308841' + --where codmaf = '1396234' + -- Ricreo il catalogueID come era nel SEI vecchio in quanto mi serve per ricreare il position id + /* + Catalogueid = + decode(codice_isin,null,'############', rpad(codice_isin,12,' ')) || + decode(codice_maf,null,'###############', rpad(codice_maf,15,' ')) || + decode(codice_interno,null,'###############', rpad(codice_interno,15,' ')) || decode(codice_sottoprodotto,null,'###############', rpad(codice_sottoprodotto,15,' ')) + */ + UPDATE C6StagingPeriodico.RP_CatalogoProdotti + SET CATALOGUEID = + CASE WHEN codisin = '$' or codisin is null then '############' else CONVERT(char(12),codisin) END + + CASE WHEN codmaf = '$' or codmaf is null then '###############' else CONVERT(char(15),codmaf) END + + CASE WHEN codinterno = '$' or codinterno is null then '###############' else CONVERT(char(15),codinterno) END + + CASE WHEN codsottoprodotto = '$' or codsottoprodotto is null then '###############' else CONVERT(char(15),codsottoprodotto) END + -- modifiche estemporanee per 1 trimestrale 2016 - 5/5/2016 - lotto 2 ----------------------------------------- + -- 2/2/2017 ----> insert non più valida - commentata + --insert into C6StagingPeriodico.RP_CatalogoProdotti + --values ('RS_FVI11 1415480 RS FP ',/*pk*/ 261831 /* 9276460 9+max([CodSottoprodotto])=9276460 pk 20160506*/,'FP','RS','1415480','RS_FVI11','RS_FVI11',null,null,1,null,'FVI MS - Core Beta 30 classe K',1,10.95600, + --9,'9999-12-31 00:00:00.000',1,1,null,10.92800,'EUR','FVCOR30','ASU1',null,null,null,500.00000,'EUR', + --500.00000,'EUR',0,'EUR',0,'EUR',500.00000,'EUR',null,3,null,null,null,'K',null,null,null,1,null,null,null, + --'2016-05-02 00:00:00.000',null,null,null,null,null,null,null,0,null,null,null,null,null,null,1, + --null,null,9,null,null,null,null,null,null,null,null,null,null,1,2,1,null,null) + -- 2/2/2017 ----> fine + -- 3/5/2017 ----> + insert into C6StagingPeriodico.RP_CatalogoProdotti + values ('RS_FVI11 1415480 RS FP ',294126,'FP','RS','1415480','RS_FVI11','RS_FVI11',null,null,1,null,'FVI MS - Core Beta 30 classe K',1,10.95600, + 9,'9999-12-31 00:00:00.000',1,1,null,10.92800,'EUR','FVCOR30','ASU1',null,null,null,500.00000,'EUR', + 500.00000,'EUR',0,'EUR',0,'EUR',500.00000,'EUR',null,3,null,null,null,'K',null,null,null,1,null,null,null, + '2016-05-02 00:00:00.000',null,null,null,null,null,null,null,0,null,null,null,null,null,null,1, + null,null,9,null,null,null,null,null,null,null,null,null,null,1,2,1,null,null) + -- 3/5/2017 ----> fine + update C6StagingPeriodico.RP_CatalogoProdotti + set visibilita = 1 + where codinterno = '04806890' and + codisin = 'IT0004806896' + -- fine modifiche estemporanee per 1 trimestrale 2016 - 5/5/2016 - lotto 2 -------------------------------------- + -- modifiche per IV trimestrale 2016 - 20/01/2017 per far caricare nella dettaglioAsul i prodotti dei cf: ------------ + -- CRSLRN54D28C847X,MLSVNC68S45D612E,GMBDNC71D15H501H,FRRLGU70D13F257S + -- update C6StagingPeriodico.RP_CatalogoProdotti + --set visibilita = 1 + --where codinterno = 's3' and codsottoprodotto in ('AZI73','OBE73') + --update C6StagingPeriodico.RP_CatalogoProdotti + --set visibilita = 1 + --where codinterno = '80' and codsottoprodotto in ('STR55','STR70') + -- fine modifiche per IV trimestrale 2016 - 20/01/2017 ---------------------------------------------------------------- + -- modifiche per II trimestrale 2017 - 16/06/2017 rimediare alla segnalazione Descrizione Prodotto su Catalogo Prodotti Null+Emittente null + -- esempio cf: F BFCVTR55C30H536X (x descr null) e RSOMRT65B41A145N (emittente null) + update c6StagingPeriodico.RP_CatalogoProdotti + set visibilita=1 + WHERE CODINTERNO = '04917940' and codisin = 'IT0004917941' + and visibilita = 0 + update c6StagingPeriodico.RP_CatalogoProdotti + set visibilita=1 + WHERE CODINTERNO = '08662950' and codisin = 'XS0501195480' + and visibilita = 0 + -- fine modifiche per II trimestrale 2017 - 16/06/2017 ---------------------------------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CatalogoProdotti' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CatalogoProdotti' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170925.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170925.sql new file mode 100644 index 00000000..7976b8c5 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20170925.sql @@ -0,0 +1,265 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_CatalogoProdotti_20170925] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_CatalogoProdotti +INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore] + --into [C6StagingPeriodico].[RP_CatalogoProdotti] + from [CONSUNI].CatalogoProdotti.dbo.CatalogoProdotti +--UPDATE dei codici MAF Valide solo per la trimestrale di gennaio 2014 +--utilizzate per martellare un errore sul catalogo in linea + --UPDATE C6StagingPeriodico.RP_CatalogoProdotti + --SET codmaf = '1407435' + --where codmaf = '1406533' + --UPDATE C6StagingPeriodico.RP_CatalogoProdotti + --SET codmaf = '1308841' + --where codmaf = '1396234' + -- Ricreo il catalogueID come era nel SEI vecchio in quanto mi serve per ricreare il position id + /* + Catalogueid = + decode(codice_isin,null,'############', rpad(codice_isin,12,' ')) || + decode(codice_maf,null,'###############', rpad(codice_maf,15,' ')) || + decode(codice_interno,null,'###############', rpad(codice_interno,15,' ')) || decode(codice_sottoprodotto,null,'###############', rpad(codice_sottoprodotto,15,' ')) + */ + UPDATE C6StagingPeriodico.RP_CatalogoProdotti + SET CATALOGUEID = + CASE WHEN codisin = '$' or codisin is null then '############' else CONVERT(char(12),codisin) END + + CASE WHEN codmaf = '$' or codmaf is null then '###############' else CONVERT(char(15),codmaf) END + + CASE WHEN codinterno = '$' or codinterno is null then '###############' else CONVERT(char(15),codinterno) END + + CASE WHEN codsottoprodotto = '$' or codsottoprodotto is null then '###############' else CONVERT(char(15),codsottoprodotto) END + -- modifiche estemporanee per 1 trimestrale 2016 - 5/5/2016 - lotto 2 ----------------------------------------- + -- 2/2/2017 ----> insert non più valida - commentata + --insert into C6StagingPeriodico.RP_CatalogoProdotti + --values ('RS_FVI11 1415480 RS FP ',/*pk*/ 261831 /* 9276460 9+max([CodSottoprodotto])=9276460 pk 20160506*/,'FP','RS','1415480','RS_FVI11','RS_FVI11',null,null,1,null,'FVI MS - Core Beta 30 classe K',1,10.95600, + --9,'9999-12-31 00:00:00.000',1,1,null,10.92800,'EUR','FVCOR30','ASU1',null,null,null,500.00000,'EUR', + --500.00000,'EUR',0,'EUR',0,'EUR',500.00000,'EUR',null,3,null,null,null,'K',null,null,null,1,null,null,null, + --'2016-05-02 00:00:00.000',null,null,null,null,null,null,null,0,null,null,null,null,null,null,1, + --null,null,9,null,null,null,null,null,null,null,null,null,null,1,2,1,null,null) + -- 2/2/2017 ----> fine + -- 3/5/2017 ----> + insert into C6StagingPeriodico.RP_CatalogoProdotti + values ('RS_FVI11 1415480 RS FP ',294126,'FP','RS','1415480','RS_FVI11','RS_FVI11',null,null,1,null,'FVI MS - Core Beta 30 classe K',1,10.95600, + 9,'9999-12-31 00:00:00.000',1,1,null,10.92800,'EUR','FVCOR30','ASU1',null,null,null,500.00000,'EUR', + 500.00000,'EUR',0,'EUR',0,'EUR',500.00000,'EUR',null,3,null,null,null,'K',null,null,null,1,null,null,null, + '2016-05-02 00:00:00.000',null,null,null,null,null,null,null,0,null,null,null,null,null,null,1, + null,null,9,null,null,null,null,null,null,null,null,null,null,1,2,1,null,null) + -- 3/5/2017 ----> fine + update C6StagingPeriodico.RP_CatalogoProdotti + set visibilita = 1 + where codinterno = '04806890' and + codisin = 'IT0004806896' + -- fine modifiche estemporanee per 1 trimestrale 2016 - 5/5/2016 - lotto 2 -------------------------------------- + -- modifiche per IV trimestrale 2016 - 20/01/2017 per far caricare nella dettaglioAsul i prodotti dei cf: ------------ + -- CRSLRN54D28C847X,MLSVNC68S45D612E,GMBDNC71D15H501H,FRRLGU70D13F257S + -- update C6StagingPeriodico.RP_CatalogoProdotti + --set visibilita = 1 + --where codinterno = 's3' and codsottoprodotto in ('AZI73','OBE73') + --update C6StagingPeriodico.RP_CatalogoProdotti + --set visibilita = 1 + --where codinterno = '80' and codsottoprodotto in ('STR55','STR70') + -- fine modifiche per IV trimestrale 2016 - 20/01/2017 ---------------------------------------------------------------- + -- modifiche per II trimestrale 2017 - 16/06/2017 rimediare alla segnalazione Descrizione Prodotto su Catalogo Prodotti Null+Emittente null + -- esempio cf: F BFCVTR55C30H536X (x descr null) e RSOMRT65B41A145N (emittente null) + update c6StagingPeriodico.RP_CatalogoProdotti + set visibilita=1 + WHERE CODINTERNO = '04917940' and codisin = 'IT0004917941' + and visibilita = 0 + update c6StagingPeriodico.RP_CatalogoProdotti + set visibilita=1 + WHERE CODINTERNO = '08662950' and codisin = 'XS0501195480' + and visibilita = 0 + -- fine modifiche per II trimestrale 2017 - 16/06/2017 ---------------------------------------------------------------- + -- modifiche per II trimestrale 2017 - 20/07/2017 rimediare alla mancanza dell'Emittente per il prodotto censito + update c6StagingPeriodico.RP_CatalogoProdotti + set emittente='0000000055840' + WHERE catalogueid = 'IT0005218380###############09358630 ###############' + -- fine modifiche per II trimestrale 2017 - 20/07/2017 ---------------------------------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CatalogoProdotti' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CatalogoProdotti' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20171026.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20171026.sql new file mode 100644 index 00000000..d3665805 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20171026.sql @@ -0,0 +1,272 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_CatalogoProdotti_20171026] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_CatalogoProdotti +INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore] + --into [C6StagingPeriodico].[RP_CatalogoProdotti] + from [CONSUNI].CatalogoProdotti.dbo.CatalogoProdotti +--UPDATE dei codici MAF Valide solo per la trimestrale di gennaio 2014 +--utilizzate per martellare un errore sul catalogo in linea + --UPDATE C6StagingPeriodico.RP_CatalogoProdotti + --SET codmaf = '1407435' + --where codmaf = '1406533' + --UPDATE C6StagingPeriodico.RP_CatalogoProdotti + --SET codmaf = '1308841' + --where codmaf = '1396234' + -- Ricreo il catalogueID come era nel SEI vecchio in quanto mi serve per ricreare il position id + /* + Catalogueid = + decode(codice_isin,null,'############', rpad(codice_isin,12,' ')) || + decode(codice_maf,null,'###############', rpad(codice_maf,15,' ')) || + decode(codice_interno,null,'###############', rpad(codice_interno,15,' ')) || decode(codice_sottoprodotto,null,'###############', rpad(codice_sottoprodotto,15,' ')) + */ + UPDATE C6StagingPeriodico.RP_CatalogoProdotti + SET CATALOGUEID = + CASE WHEN codisin = '$' or codisin is null then '############' else CONVERT(char(12),codisin) END + + CASE WHEN codmaf = '$' or codmaf is null then '###############' else CONVERT(char(15),codmaf) END + + CASE WHEN codinterno = '$' or codinterno is null then '###############' else CONVERT(char(15),codinterno) END + + CASE WHEN codsottoprodotto = '$' or codsottoprodotto is null then '###############' else CONVERT(char(15),codsottoprodotto) END + -- modifiche estemporanee per 1 trimestrale 2016 - 5/5/2016 - lotto 2 ----------------------------------------- + -- 2/2/2017 ----> insert non più valida - commentata + --insert into C6StagingPeriodico.RP_CatalogoProdotti + --values ('RS_FVI11 1415480 RS FP ',/*pk*/ 261831 /* 9276460 9+max([CodSottoprodotto])=9276460 pk 20160506*/,'FP','RS','1415480','RS_FVI11','RS_FVI11',null,null,1,null,'FVI MS - Core Beta 30 classe K',1,10.95600, + --9,'9999-12-31 00:00:00.000',1,1,null,10.92800,'EUR','FVCOR30','ASU1',null,null,null,500.00000,'EUR', + --500.00000,'EUR',0,'EUR',0,'EUR',500.00000,'EUR',null,3,null,null,null,'K',null,null,null,1,null,null,null, + --'2016-05-02 00:00:00.000',null,null,null,null,null,null,null,0,null,null,null,null,null,null,1, + --null,null,9,null,null,null,null,null,null,null,null,null,null,1,2,1,null,null) + -- 2/2/2017 ----> fine + -- 3/5/2017 ----> + insert into C6StagingPeriodico.RP_CatalogoProdotti + values ('RS_FVI11 1415480 RS FP ',294126,'FP','RS','1415480','RS_FVI11','RS_FVI11',null,null,1,null,'FVI MS - Core Beta 30 classe K',1,10.95600, + 9,'9999-12-31 00:00:00.000',1,1,null,10.92800,'EUR','FVCOR30','ASU1',null,null,null,500.00000,'EUR', + 500.00000,'EUR',0,'EUR',0,'EUR',500.00000,'EUR',null,3,null,null,null,'K',null,null,null,1,null,null,null, + '2016-05-02 00:00:00.000',null,null,null,null,null,null,null,0,null,null,null,null,null,null,1, + null,null,9,null,null,null,null,null,null,null,null,null,null,1,2,1,null,null) + -- 3/5/2017 ----> fine + update C6StagingPeriodico.RP_CatalogoProdotti + set visibilita = 1 + where codinterno = '04806890' and + codisin = 'IT0004806896' + -- fine modifiche estemporanee per 1 trimestrale 2016 - 5/5/2016 - lotto 2 -------------------------------------- + -- modifiche per IV trimestrale 2016 - 20/01/2017 per far caricare nella dettaglioAsul i prodotti dei cf: ------------ + -- CRSLRN54D28C847X,MLSVNC68S45D612E,GMBDNC71D15H501H,FRRLGU70D13F257S + -- update C6StagingPeriodico.RP_CatalogoProdotti + --set visibilita = 1 + --where codinterno = 's3' and codsottoprodotto in ('AZI73','OBE73') + --update C6StagingPeriodico.RP_CatalogoProdotti + --set visibilita = 1 + --where codinterno = '80' and codsottoprodotto in ('STR55','STR70') + -- fine modifiche per IV trimestrale 2016 - 20/01/2017 ---------------------------------------------------------------- + -- modifiche per II trimestrale 2017 - 16/06/2017 rimediare alla segnalazione Descrizione Prodotto su Catalogo Prodotti Null+Emittente null + -- esempio cf: F BFCVTR55C30H536X (x descr null) e RSOMRT65B41A145N (emittente null) + update c6StagingPeriodico.RP_CatalogoProdotti + set visibilita=1 + WHERE CODINTERNO = '04917940' and codisin = 'IT0004917941' + and visibilita = 0 + update c6StagingPeriodico.RP_CatalogoProdotti + set visibilita=1 + WHERE CODINTERNO = '08662950' and codisin = 'XS0501195480' + and visibilita = 0 + -- fine modifiche per II trimestrale 2017 - 16/06/2017 ---------------------------------------------------------------- + -- modifiche per II trimestrale 2017 - 20/07/2017 rimediare alla mancanza dell'Emittente per il prodotto censito + update c6StagingPeriodico.RP_CatalogoProdotti + set emittente='0000000055840' + WHERE catalogueid = 'IT0005218380###############09358630 ###############' + -- fine modifiche per II trimestrale 2017 - 20/07/2017 ---------------------------------------------------------------- + -- modifiche per III trimestrale 2017 - 25/09/2017 rimediare alla segnalazione 'Tabella Scadenze : Descrizione Prodotto su Catalogo Prodotti Null' + -- per i 2cf: F/BNZNLM66D21Z312D,F/MNRDTL56S70F351T + update c6StagingPeriodico.RP_CatalogoProdotti + set visibilita=1 + WHERE CODINTERNO = '03246250' + and visibilita = 0 + -- fine modifiche per III trimestrale 2017 - 25/09/2017 ---------------------------------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CatalogoProdotti' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CatalogoProdotti' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20180117.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20180117.sql new file mode 100644 index 00000000..b8e9b668 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_20180117.sql @@ -0,0 +1,318 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_CatalogoProdotti_20180117] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_CatalogoProdotti +INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore] + --into [C6StagingPeriodico].[RP_CatalogoProdotti] + from [CONSUNI].CatalogoProdotti.dbo.CatalogoProdotti +--UPDATE dei codici MAF Valide solo per la trimestrale di gennaio 2014 +--utilizzate per martellare un errore sul catalogo in linea + --UPDATE C6StagingPeriodico.RP_CatalogoProdotti + --SET codmaf = '1407435' + --where codmaf = '1406533' + --UPDATE C6StagingPeriodico.RP_CatalogoProdotti + --SET codmaf = '1308841' + --where codmaf = '1396234' + -- Ricreo il catalogueID come era nel SEI vecchio in quanto mi serve per ricreare il position id + /* + Catalogueid = + decode(codice_isin,null,'############', rpad(codice_isin,12,' ')) || + decode(codice_maf,null,'###############', rpad(codice_maf,15,' ')) || + decode(codice_interno,null,'###############', rpad(codice_interno,15,' ')) || decode(codice_sottoprodotto,null,'###############', rpad(codice_sottoprodotto,15,' ')) + */ + UPDATE C6StagingPeriodico.RP_CatalogoProdotti + SET CATALOGUEID = + CASE WHEN codisin = '$' or codisin is null then '############' else CONVERT(char(12),codisin) END + + CASE WHEN codmaf = '$' or codmaf is null then '###############' else CONVERT(char(15),codmaf) END + + CASE WHEN codinterno = '$' or codinterno is null then '###############' else CONVERT(char(15),codinterno) END + + CASE WHEN codsottoprodotto = '$' or codsottoprodotto is null then '###############' else CONVERT(char(15),codsottoprodotto) END + -- modifiche estemporanee per 1 trimestrale 2016 - 5/5/2016 - lotto 2 ----------------------------------------- + -- 2/2/2017 ----> insert non più valida - commentata + --insert into C6StagingPeriodico.RP_CatalogoProdotti + --values ('RS_FVI11 1415480 RS FP ',/*pk*/ 261831 /* 9276460 9+max([CodSottoprodotto])=9276460 pk 20160506*/,'FP','RS','1415480','RS_FVI11','RS_FVI11',null,null,1,null,'FVI MS - Core Beta 30 classe K',1,10.95600, + --9,'9999-12-31 00:00:00.000',1,1,null,10.92800,'EUR','FVCOR30','ASU1',null,null,null,500.00000,'EUR', + --500.00000,'EUR',0,'EUR',0,'EUR',500.00000,'EUR',null,3,null,null,null,'K',null,null,null,1,null,null,null, + --'2016-05-02 00:00:00.000',null,null,null,null,null,null,null,0,null,null,null,null,null,null,1, + --null,null,9,null,null,null,null,null,null,null,null,null,null,1,2,1,null,null) + -- 2/2/2017 ----> fine + -- 3/5/2017 ----> + insert into C6StagingPeriodico.RP_CatalogoProdotti + values ('RS_FVI11 1415480 RS FP ',294126,'FP','RS','1415480','RS_FVI11','RS_FVI11',null,null,1,null,'FVI MS - Core Beta 30 classe K',1,10.95600, + 9,'9999-12-31 00:00:00.000',1,1,null,10.92800,'EUR','FVCOR30','ASU1',null,null,null,500.00000,'EUR', + 500.00000,'EUR',0,'EUR',0,'EUR',500.00000,'EUR',null,3,null,null,null,'K',null,null,null,1,null,null,null, + '2016-05-02 00:00:00.000',null,null,null,null,null,null,null,0,null,null,null,null,null,null,1, + null,null,9,null,null,null,null,null,null,null,null,null,null,1,2,1,null,null) + -- 3/5/2017 ----> fine + update C6StagingPeriodico.RP_CatalogoProdotti + set visibilita = 1 + where codinterno = '04806890' and + codisin = 'IT0004806896' + -- fine modifiche estemporanee per 1 trimestrale 2016 - 5/5/2016 - lotto 2 -------------------------------------- + -- modifiche per IV trimestrale 2016 - 20/01/2017 per far caricare nella dettaglioAsul i prodotti dei cf: ------------ + -- CRSLRN54D28C847X,MLSVNC68S45D612E,GMBDNC71D15H501H,FRRLGU70D13F257S + -- update C6StagingPeriodico.RP_CatalogoProdotti + --set visibilita = 1 + --where codinterno = 's3' and codsottoprodotto in ('AZI73','OBE73') + --update C6StagingPeriodico.RP_CatalogoProdotti + --set visibilita = 1 + --where codinterno = '80' and codsottoprodotto in ('STR55','STR70') + -- fine modifiche per IV trimestrale 2016 - 20/01/2017 ---------------------------------------------------------------- + -- modifiche per II trimestrale 2017 - 16/06/2017 rimediare alla segnalazione Descrizione Prodotto su Catalogo Prodotti Null+Emittente null + -- esempio cf: F BFCVTR55C30H536X (x descr null) e RSOMRT65B41A145N (emittente null) + update c6StagingPeriodico.RP_CatalogoProdotti + set visibilita=1 + WHERE CODINTERNO = '04917940' and codisin = 'IT0004917941' + and visibilita = 0 + update c6StagingPeriodico.RP_CatalogoProdotti + set visibilita=1 + WHERE CODINTERNO = '08662950' and codisin = 'XS0501195480' + and visibilita = 0 + -- fine modifiche per II trimestrale 2017 - 16/06/2017 ---------------------------------------------------------------- + -- modifiche per II trimestrale 2017 - 20/07/2017 rimediare alla mancanza dell'Emittente per il prodotto censito + update c6StagingPeriodico.RP_CatalogoProdotti + set emittente='0000000055840' + WHERE catalogueid = 'IT0005218380###############09358630 ###############' + -- fine modifiche per II trimestrale 2017 - 20/07/2017 ---------------------------------------------------------------- + -- modifiche per III trimestrale 2017 - 25/09/2017 rimediare alla segnalazione 'Tabella Scadenze : Descrizione Prodotto su Catalogo Prodotti Null' + -- per i 2cf: F/BNZNLM66D21Z312D,F/MNRDTL56S70F351T + update c6StagingPeriodico.RP_CatalogoProdotti + set visibilita=1 + WHERE CODINTERNO = '03246250' + and visibilita = 0 + -- fine modifiche per III trimestrale 2017 - 25/09/2017 ---------------------------------------------------------------- + -- modifiche per III trimestrale 2017 - 27/10/2017 rimediare alla segnalazione 'Tabella Scadenze : Descrizione Prodotto su Catalogo Prodotti Null' + INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([CatalogueID],[ChiaveProdotto],[CodSottoprodotto],[CodInterno],[CodMaf],[CodAdeguatezza],[CodIsin],[TipoVersamento],[RischioPrSc],[StatoProdotto] + ,[TipoPolizza],[NomeProdotto],[Visibilita],[PrezzoInEuro],[Alberatura],[DtScadenza],[Categoria],[Istituto],[Piazza],[PrezzoInValuta],[PrezzoValuta] + ,[Codiceadb],[TipoProdotto],[RatingObbligazioni],[RischioMinimo],[CapRisparmio],[CapMinimo],[CapMinimoValuta],[CapMinSucc],[CapMinSuccValuta],[MinRispContr] + ,[MinRispContrValuta],[SuccRispContr],[SuccRispContrValuta],[MinComm],[MinCommValuta],[DelegaGestionale],[TipologiaPerPick],[RischioPrezzo],[RegimeFiscale] + ,[Quotato],[ClasseDiPrezzo],[Lineefinacc],[DurataContrattuale],[RiscFinFaseAcc],[OpzRendVital],[MetaA],[MetaB],[MetaC],[DtRifPrezzo],[CodTipoContratto],[PrezzoNetto] + ,[PrezzoNettoValuta],[DtPrezzoNetto],[CodBloomberg],[DenomUnitLink],[DtInizioValidita],[Negoziabilita],[TassoTecnico],[TassoTecnicoValuta],[CollSkandia] + ,[CodAssetSatellite],[Mercato],[AzOb],[Complessita],[Emittente],[GaranziaDemografica],[SocietaDiGestione],[IndPrz],[Differimento],[DtPrezzo],[TipoObbligazione] + ,[TaglioMinimo],[IsAttivoRc],[RischioCredito],[Copertura],[VarP],[Diversificazione],[FlagCoreSatellite],[PerimetroCoreSatellite],[FondoCore],[TIP_EMITTENTE],[TIP_TASSO]) + VALUES + (null,303877,'GS','RB',null,null,'LU0433182507',null,null,1,null,'First Eagle Amundi International IHE EUR',1,null,98,null,null,null,null,null,null,null,'ASU1' + ,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null + ,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null + ,null,null,null) + UPDATE a + SET CATALOGUEID = + CASE WHEN codisin = '$' or codisin is null then '############' else CONVERT(char(12),codisin) END + + CASE WHEN codmaf = '$' or codmaf is null then '###############' else CONVERT(char(15),codmaf) END + + CASE WHEN codinterno = '$' or codinterno is null then '###############' else CONVERT(char(15),codinterno) END + + CASE WHEN codsottoprodotto = '$' or codsottoprodotto is null then '###############' else CONVERT(char(15),codsottoprodotto) END + from C6StagingPeriodico.RP_CatalogoProdotti a + where codinterno = 'RB' and codsottoprodotto = 'GS' AND CODMAF is null and codIsin = 'LU0433182507' + INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([CatalogueID],[ChiaveProdotto],[CodSottoprodotto],[CodInterno],[CodMaf],[CodAdeguatezza],[CodIsin],[TipoVersamento],[RischioPrSc],[StatoProdotto] + ,[TipoPolizza],[NomeProdotto],[Visibilita],[PrezzoInEuro],[Alberatura],[DtScadenza],[Categoria],[Istituto],[Piazza],[PrezzoInValuta],[PrezzoValuta] + ,[Codiceadb],[TipoProdotto],[RatingObbligazioni],[RischioMinimo],[CapRisparmio],[CapMinimo],[CapMinimoValuta],[CapMinSucc],[CapMinSuccValuta],[MinRispContr] + ,[MinRispContrValuta],[SuccRispContr],[SuccRispContrValuta],[MinComm],[MinCommValuta],[DelegaGestionale],[TipologiaPerPick],[RischioPrezzo],[RegimeFiscale] + ,[Quotato],[ClasseDiPrezzo],[Lineefinacc],[DurataContrattuale],[RiscFinFaseAcc],[OpzRendVital],[MetaA],[MetaB],[MetaC],[DtRifPrezzo],[CodTipoContratto],[PrezzoNetto] + ,[PrezzoNettoValuta],[DtPrezzoNetto],[CodBloomberg],[DenomUnitLink],[DtInizioValidita],[Negoziabilita],[TassoTecnico],[TassoTecnicoValuta],[CollSkandia] + ,[CodAssetSatellite],[Mercato],[AzOb],[Complessita],[Emittente],[GaranziaDemografica],[SocietaDiGestione],[IndPrz],[Differimento],[DtPrezzo],[TipoObbligazione] + ,[TaglioMinimo],[IsAttivoRc],[RischioCredito],[Copertura],[VarP],[Diversificazione],[FlagCoreSatellite],[PerimetroCoreSatellite],[FondoCore],[TIP_EMITTENTE],[TIP_TASSO]) + VALUES + (null,303879,'GS','RB',null,null,'LU0782316961',null,null,1,null,'JPM Global Income C Cap EUR',1,null,98,null,null,null,null,null,null,null,'ASU1' + ,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null + ,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null + ,null,null,null) + UPDATE a + SET CATALOGUEID = + CASE WHEN codisin = '$' or codisin is null then '############' else CONVERT(char(12),codisin) END + + CASE WHEN codmaf = '$' or codmaf is null then '###############' else CONVERT(char(15),codmaf) END + + CASE WHEN codinterno = '$' or codinterno is null then '###############' else CONVERT(char(15),codinterno) END + + CASE WHEN codsottoprodotto = '$' or codsottoprodotto is null then '###############' else CONVERT(char(15),codsottoprodotto) END + from C6StagingPeriodico.RP_CatalogoProdotti a + where codinterno = 'RB' and codsottoprodotto = 'GS' AND CODMAF is null and codIsin = 'LU0782316961' + -- fine modifiche per III trimestrale 2017 - 27/10/2017 ---------------------------------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CatalogoProdotti' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CatalogoProdotti' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_pre_selective.sql new file mode 100644 index 00000000..2140ae13 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_CatalogoProdotti_pre_selective.sql @@ -0,0 +1,230 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_CatalogoProdotti_pre_selective] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_CatalogoProdotti +INSERT INTO [C6StagingPeriodico].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + ,[TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN [TipoProdotto] = 'ASU3' then 'ASU1' else [TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore] + --into [C6StagingPeriodico].[RP_CatalogoProdotti] + from [CONSUNI].CatalogoProdotti.dbo.CatalogoProdotti +--UPDATE dei codici MAF Valide solo per la trimestrale di gennaio 2014 +--utilizzate per martellare un errore sul catalogo in linea + --UPDATE C6StagingPeriodico.RP_CatalogoProdotti + --SET codmaf = '1407435' + --where codmaf = '1406533' + --UPDATE C6StagingPeriodico.RP_CatalogoProdotti + --SET codmaf = '1308841' + --where codmaf = '1396234' + -- Ricreo il catalogueID come era nel SEI vecchio in quanto mi serve per ricreare il position id + /* + Catalogueid = + decode(codice_isin,null,'############', rpad(codice_isin,12,' ')) || + decode(codice_maf,null,'###############', rpad(codice_maf,15,' ')) || + decode(codice_interno,null,'###############', rpad(codice_interno,15,' ')) || decode(codice_sottoprodotto,null,'###############', rpad(codice_sottoprodotto,15,' ')) + */ + UPDATE C6StagingPeriodico.RP_CatalogoProdotti + SET CATALOGUEID = + CASE WHEN codisin = '$' or codisin is null then '############' else CONVERT(char(12),codisin) END + + CASE WHEN codmaf = '$' or codmaf is null then '###############' else CONVERT(char(15),codmaf) END + + CASE WHEN codinterno = '$' or codinterno is null then '###############' else CONVERT(char(15),codinterno) END + + CASE WHEN codsottoprodotto = '$' or codsottoprodotto is null then '###############' else CONVERT(char(15),codsottoprodotto) END + -- modifiche estemporanee per 1 trimestrale 2016 - 5/5/2016 - lotto 2 ----------------------------------------- + insert into C6StagingPeriodico.RP_CatalogoProdotti + values ('RS_FVI11 1415480 RS FP ',/*pk*/ 261831 /* 9276460 9+max([CodSottoprodotto])=9276460 pk 20160506*/,'FP','RS','1415480','RS_FVI11','RS_FVI11',null,null,1,null,'FVI MS - Core Beta 30 classe K',1,10.95600, + 9,'9999-12-31 00:00:00.000',1,1,null,10.92800,'EUR','FVCOR30','ASU1',null,null,null,500.00000,'EUR', + 500.00000,'EUR',0,'EUR',0,'EUR',500.00000,'EUR',null,3,null,null,null,'K',null,null,null,1,null,null,null, + '2016-05-02 00:00:00.000',null,null,null,null,null,null,null,0,null,null,null,null,null,null,1, + null,null,9,null,null,null,null,null,null,null,null,null,null,1,2,1,null,null) + update C6StagingPeriodico.RP_CatalogoProdotti + set visibilita = 1 + where codinterno = '04806890' and + codisin = 'IT0004806896' + -- fine modifiche estemporanee per 1 trimestrale 2016 - 5/5/2016 - lotto 2 -------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CatalogoProdotti_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CatalogoProdotti_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_ChiaviMonitoraggio.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_ChiaviMonitoraggio.sql new file mode 100644 index 00000000..5d9c8087 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_ChiaviMonitoraggio.sql @@ -0,0 +1,43 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_ChiaviMonitoraggio] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ChiaviMonitoraggio', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.[RP_ChiaviMonitoraggio] +INSERT INTO [C6StagingPeriodico].[RP_ChiaviMonitoraggio] + ( + [IdMonitoraggio], + [ChiaveProgetto], + [DtCreazione], + [stato], + [dtFineMonitoraggio], + [flagVisualizzaStor] + ) + select * + from [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.ChiaviMonitoraggio + --filtro per non prendere le righe duplicate + WHERE stato = 1 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ChiaviMonitoraggio' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_ChiaviMonitoraggio' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_ChiaviMonitoraggio_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_ChiaviMonitoraggio_pre_selective.sql new file mode 100644 index 00000000..8126b947 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_ChiaviMonitoraggio_pre_selective.sql @@ -0,0 +1,43 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_ChiaviMonitoraggio_pre_selective] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ChiaviMonitoraggio_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.[RP_ChiaviMonitoraggio] +INSERT INTO [C6StagingPeriodico].[RP_ChiaviMonitoraggio] + ( + [IdMonitoraggio], + [ChiaveProgetto], + [DtCreazione], + [stato], + [dtFineMonitoraggio], + [flagVisualizzaStor] + ) + select * + from [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.ChiaviMonitoraggio + --filtro per non prendere le righe duplicate + WHERE stato = 1 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ChiaviMonitoraggio_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_ChiaviMonitoraggio_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Cliente.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Cliente.sql new file mode 100644 index 00000000..f80b28f1 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Cliente.sql @@ -0,0 +1,70 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Cliente] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Cliente', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Cliente + insert into C6StagingPeriodico.RP_Cliente + select + cli.chiaveCliente + ,codFis + ,pIva + ,codMan + ,nome + ,SUBSTRING(cognome, 1, 50) -- TOPPA INSERITA PERCHé MODIFCA NON COMUNICATA A REPORTISTA BATCH + ,tipologia --CHIEDERE AD ALESSIA SU CLIENTEPB + ,dtNascita + ,indirizzo + ,numCivico + ,c.NomeComune as citta + ,cap + ,n.descrizioneNazione as nazione + ,idQuestionario + ,null--,dtQuestionario + ,null -- ,dtScadQuest + ,profilo + ,cli.frequenza + ,rendicSemestrale + ,codStatoCivile + ,genere as sesso + ,codTitoloStudio + ,flagCanOnLine + ,numFigli + ,codProvNasc + ,codComNasc + ,codNazNasc + ,fonte + ,pinCode + ,cli.cittadinanza + ,null as provincia + from [CONSUNI_PERIODICO].consulenzaUnica.dbo.Cliente cli + LEFT JOIN [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.ClientePB clipb + on clipb.chiavecliente = cli.chiavecliente + left join [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.DComune c + on c.codcomune = cli.codcomRes + left join [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.Dnazione n + on n.codNazione = cli.CodNazRes + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Cliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Cliente' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_ClientePB.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_ClientePB.sql new file mode 100644 index 00000000..6bb51ea0 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_ClientePB.sql @@ -0,0 +1,43 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_ClientePB] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ClientePB', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_ClientePB + insert into C6StagingPeriodico.RP_ClientePB + select + chiaveClientePB, + chiaveCliente, + chiavePB, + idQuestionario, + profilo, + frequenza, + null, + null, + tipologia, + null + from [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.ClientePB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ClientePB' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_ClientePB' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_ClientePB_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_ClientePB_pre_selective.sql new file mode 100644 index 00000000..46621366 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_ClientePB_pre_selective.sql @@ -0,0 +1,43 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_ClientePB_pre_selective] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ClientePB_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_ClientePB + insert into C6StagingPeriodico.RP_ClientePB + select + chiaveClientePB, + chiaveCliente, + chiavePB, + idQuestionario, + profilo, + frequenza, + null, + null, + tipologia, + null + from [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.ClientePB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ClientePB_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_ClientePB_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Cliente_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Cliente_pre_selective.sql new file mode 100644 index 00000000..c4e26e3f --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Cliente_pre_selective.sql @@ -0,0 +1,70 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Cliente_pre_selective] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Cliente_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Cliente + insert into C6StagingPeriodico.RP_Cliente + select + cli.chiaveCliente + ,codFis + ,pIva + ,codMan + ,nome + ,SUBSTRING(cognome, 1, 50) -- TOPPA INSERITA PERCHé MODIFCA NON COMUNICATA A REPORTISTA BATCH + ,tipologia --CHIEDERE AD ALESSIA SU CLIENTEPB + ,dtNascita + ,indirizzo + ,numCivico + ,c.NomeComune as citta + ,cap + ,n.descrizioneNazione as nazione + ,idQuestionario + ,null--,dtQuestionario + ,null -- ,dtScadQuest + ,profilo + ,cli.frequenza + ,rendicSemestrale + ,codStatoCivile + ,genere as sesso + ,codTitoloStudio + ,flagCanOnLine + ,numFigli + ,codProvNasc + ,codComNasc + ,codNazNasc + ,fonte + ,pinCode + ,cli.cittadinanza + ,null as provincia + from [CONSUNI_PERIODICO].consulenzaUnica.dbo.Cliente cli + LEFT JOIN [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.ClientePB clipb + on clipb.chiavecliente = cli.chiavecliente + left join [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.DComune c + on c.codcomune = cli.codcomRes + left join [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.Dnazione n + on n.codNazione = cli.CodNazRes + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Cliente_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Cliente_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Cono.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Cono.sql new file mode 100644 index 00000000..a22aa83d --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Cono.sql @@ -0,0 +1,55 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Cono] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Cono', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_CONO + insert into C6StagingPeriodico.RP_CONO + select + prog.chiaveprogetto, + dtriferimento, + a.chiaveConsulenza, + --a.Area, + -------------------------> modifica del 18/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non più distinta tra pre1 e pre2 + --, [Area] + CASE + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + else a.area + END AS [Area], + -------------------------> FINE modifica del 13/1/2017 + quantileSup, + quantileInf, + quantileInter + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Cono c + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.progetto prog + on c.chiaveprogetto = prog.chiaveprogetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + on prog.chiaveArea = a.ChiaveArea + --- Modifica del 18/1/2017 per reperire la descrizione del progetto per la case di cui sopra + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + -------------------------------------------------------------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Cono' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Cono' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Cono_20170118.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Cono_20170118.sql new file mode 100644 index 00000000..9cd37df7 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Cono_20170118.sql @@ -0,0 +1,43 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Cono_20170118] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Cono', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_CONO + insert into C6StagingPeriodico.RP_CONO + select + prog.chiaveprogetto, + dtriferimento, + a.chiaveConsulenza, + a.Area, + quantileSup, + quantileInf, + quantileInter + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Cono c + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.progetto prog + on c.chiaveprogetto = prog.chiaveprogetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + on prog.chiaveArea = a.ChiaveArea + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Cono' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Cono' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Cono_20170320_OBS.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Cono_20170320_OBS.sql new file mode 100644 index 00000000..0045160f --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Cono_20170320_OBS.sql @@ -0,0 +1,43 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Cono] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Cono', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_CONO + insert into C6StagingPeriodico.RP_CONO + select + prog.chiaveprogetto, + dtriferimento, + a.chiaveConsulenza, + a.Area, + quantileSup, + quantileInf, + quantileInter + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Cono c + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.progetto prog + on c.chiaveprogetto = prog.chiaveprogetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + on prog.chiaveArea = a.ChiaveArea + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Cono' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Cono' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Cono_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Cono_pre_selective.sql new file mode 100644 index 00000000..a69d0061 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Cono_pre_selective.sql @@ -0,0 +1,43 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Cono_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Cono_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_CONO + insert into C6StagingPeriodico.RP_CONO + select + prog.chiaveprogetto, + dtriferimento, + a.chiaveConsulenza, + a.Area, + quantileSup, + quantileInf, + quantileInter + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Cono c + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.progetto prog + on c.chiaveprogetto = prog.chiaveprogetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + on prog.chiaveArea = a.ChiaveArea + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Cono_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Cono_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettAltriProdotti.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettAltriProdotti.sql new file mode 100644 index 00000000..16ef9b4a --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettAltriProdotti.sql @@ -0,0 +1,51 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_DettAltriProdotti] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettAltriProdotti', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_DettAltriProdotti + insert into C6StagingPeriodico.RP_DettAltriProdotti + /* 21/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non più utilizzati per l'evolutiva patrimonio immobiliare. + select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.DettAltriProdotti + */ + select [chiaveProdottoTerzi], + [idTipoExtra], + [descrizione], + NULL, + [valoreStimato], + NULL, + NULL, + NULL, + [flagAssicurativo], + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettAltriProdotti + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettAltriProdotti' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_DettAltriProdotti' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettAltriProdotti_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettAltriProdotti_pre_selective.sql new file mode 100644 index 00000000..afbd6a7b --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettAltriProdotti_pre_selective.sql @@ -0,0 +1,51 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_DettAltriProdotti_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettAltriProdotti_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_DettAltriProdotti + insert into C6StagingPeriodico.RP_DettAltriProdotti + /* 21/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non più utilizzati per l'evolutiva patrimonio immobiliare. + select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.DettAltriProdotti + */ + select [chiaveProdottoTerzi], + [idTipoExtra], + [descrizione], + NULL, + [valoreStimato], + NULL, + NULL, + NULL, + [flagAssicurativo], + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettAltriProdotti + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettAltriProdotti_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettAltriProdotti_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettImmobiliare.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettImmobiliare.sql new file mode 100644 index 00000000..18eaa971 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettImmobiliare.sql @@ -0,0 +1,58 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_DettImmobiliare] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettImmobiliare', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_DettImmobiliare + insert into C6StagingPeriodico.RP_DettImmobiliare + /* 21/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non più utilizzati. + Sostituzione del campo valore immobile con valoreimmobiletotale per l'evolutiva patrimonio immobiliare. + select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.DettImmobiliare*/ + select + [chiaveProdottoTerzi], + [descrizione], + [codProvincia], + [provincia], + [codComune], + [comune], + [codZona], + [zona], + [superficie], + NULL, + NULL, + NULL, + --[valoreImmobile], + [valoreImmobileTotale], + NULL, + [renditaAnnua], + NULL, + NULL, + NULL, + NULL, + NULL, + [codTipologia], + [tipologia] + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettImmobiliare + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettImmobiliare' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_DettImmobiliare' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettImmobiliare_20190205_ProQuota.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettImmobiliare_20190205_ProQuota.sql new file mode 100644 index 00000000..31caa7f4 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettImmobiliare_20190205_ProQuota.sql @@ -0,0 +1,63 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_DettImmobiliare_20190205_ProQuota] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettImmobiliare', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_DettImmobiliare_20190205_ProQuota + insert into C6StagingPeriodico.RP_DettImmobiliare_20190205_ProQuota + /* 21/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non più utilizzati. + Sostituzione del campo valore immobile con valoreimmobiletotale per l'evolutiva patrimonio immobiliare. + select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.DettImmobiliare*/ + select + [chiaveProdottoTerzi], + [descrizione], + [codProvincia], + [provincia], + [codComune], + [comune], + [codZona], + [zona], + [superficie], + NULL, + NULL, + NULL, + --[valoreImmobile], + [valoreImmobileTotale], + NULL, + [renditaAnnua], + NULL, + NULL, + NULL, + NULL, + NULL, + [codTipologia], + [tipologia] + -- modifica del 05/02/2019 per il ProQuota + ,[valoreImmobile], + [TipologiaDiritto], + [QuotaProprieta] + -- fine modifica del 05/02/2019 per il ProQuota + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettImmobiliare + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettImmobiliare' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_DettImmobiliare' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettImmobiliare_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettImmobiliare_pre_selective.sql new file mode 100644 index 00000000..6033df5a --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettImmobiliare_pre_selective.sql @@ -0,0 +1,58 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_DettImmobiliare_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettImmobiliare_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_DettImmobiliare + insert into C6StagingPeriodico.RP_DettImmobiliare + /* 21/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non più utilizzati. + Sostituzione del campo valore immobile con valoreimmobiletotale per l'evolutiva patrimonio immobiliare. + select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.DettImmobiliare*/ + select + [chiaveProdottoTerzi], + [descrizione], + [codProvincia], + [provincia], + [codComune], + [comune], + [codZona], + [zona], + [superficie], + NULL, + NULL, + NULL, + --[valoreImmobile], + [valoreImmobileTotale], + NULL, + [renditaAnnua], + NULL, + NULL, + NULL, + NULL, + NULL, + [codTipologia], + [tipologia] + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettImmobiliare + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettImmobiliare_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettImmobiliare_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettPatrAziendale.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettPatrAziendale.sql new file mode 100644 index 00000000..8bf83617 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettPatrAziendale.sql @@ -0,0 +1,52 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_DettPatrAziendale] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettPatrAziendale', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_DettPatrAziendale + insert into C6StagingPeriodico.RP_DettPatrAziendale +/* 20/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non più utilizzati per l'evolutiva patrimonio immobiliare. +select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.DettPatrAziendale */ + select [chiaveProdottoTerzi], + NULL, + [denominazione], + [codTipoCompagnia], + [patrimonio], + NULL, + NULL, + NULL, + [idTipoAzienda], + NULL, + NULL, + [numQuote], + [valoreStimato], + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettPatrAziendale + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettPatrAziendale' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_DettPatrAziendale' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettPatrAziendale_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettPatrAziendale_pre_selective.sql new file mode 100644 index 00000000..d5c94f72 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettPatrAziendale_pre_selective.sql @@ -0,0 +1,52 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_DettPatrAziendale_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettPatrAziendale_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_DettPatrAziendale + insert into C6StagingPeriodico.RP_DettPatrAziendale +/* 20/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non più utilizzati per l'evolutiva patrimonio immobiliare. +select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.DettPatrAziendale */ + select [chiaveProdottoTerzi], + NULL, + [denominazione], + [codTipoCompagnia], + [patrimonio], + NULL, + NULL, + NULL, + [idTipoAzienda], + NULL, + NULL, + [numQuote], + [valoreStimato], + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettPatrAziendale + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettPatrAziendale_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettPatrAziendale_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettProdottiTerzi.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettProdottiTerzi.sql new file mode 100644 index 00000000..03c25ec0 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettProdottiTerzi.sql @@ -0,0 +1,69 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_DettProdottiTerzi] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettProdottiTerzi', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_DettProdottiTerzi +--drop table C6StagingPeriodico.RP_DettProdottiTerzi +--select * into C6StagingPeriodico.RP_DettProdottiTerzi from [CONSEVO].[consulenzaEvoluta].dbo.DettProdottiTerzi + insert into C6StagingPeriodico.RP_DettProdottiTerzi + select +chiaveProdottoTerzi, +idIntermediario, +alberatura, +nomeIntermediario, +dtInizioInvest, +totVersato, +totPrelevato, +valutaTotPrelevato, +chiaveProdotto, +numQuote, +divQuoteProd, +dtSottoscrizione, +valutaPremioVers, +tipoPolizza, +tipoVersamento, +tipoFormaPensionistica, +capitaleInvestito, +valutaCapInvestito, +contoPrincipale, +addebitoUtenze, +accreditoStipPens, +cartaCredito, +addebitoMutuo, +isin, +lineaFinanziaria, +fabbisognoPrev, +dtDecorrenza, +modalitaUso, +ctvUltimaPrestNota, +dtUltimaPrestNota, +flgPrestazioneScad, +dtTermineVers, +dtUltimoPremioNoto, +nomeCompagnia, +valutaCtvUltPrestNota +from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettProdottiTerzi + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettProdottiTerzi' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_DettProdottiTerzi' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettProdottiTerzi_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettProdottiTerzi_pre_selective.sql new file mode 100644 index 00000000..9e3c582e --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettProdottiTerzi_pre_selective.sql @@ -0,0 +1,69 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_DettProdottiTerzi_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettProdottiTerzi_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_DettProdottiTerzi +--drop table C6StagingPeriodico.RP_DettProdottiTerzi +--select * into C6StagingPeriodico.RP_DettProdottiTerzi from [CONSEVO].[consulenzaEvoluta].dbo.DettProdottiTerzi + insert into C6StagingPeriodico.RP_DettProdottiTerzi + select +chiaveProdottoTerzi, +idIntermediario, +alberatura, +nomeIntermediario, +dtInizioInvest, +totVersato, +totPrelevato, +valutaTotPrelevato, +chiaveProdotto, +numQuote, +divQuoteProd, +dtSottoscrizione, +valutaPremioVers, +tipoPolizza, +tipoVersamento, +tipoFormaPensionistica, +capitaleInvestito, +valutaCapInvestito, +contoPrincipale, +addebitoUtenze, +accreditoStipPens, +cartaCredito, +addebitoMutuo, +isin, +lineaFinanziaria, +fabbisognoPrev, +dtDecorrenza, +modalitaUso, +ctvUltimaPrestNota, +dtUltimaPrestNota, +flgPrestazioneScad, +dtTermineVers, +dtUltimoPremioNoto, +nomeCompagnia, +valutaCtvUltPrestNota +from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettProdottiTerzi + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettProdottiTerzi_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettProdottiTerzi_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettaglioOperazione.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettaglioOperazione.sql new file mode 100644 index 00000000..365f2a59 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettaglioOperazione.sql @@ -0,0 +1,34 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_DettaglioOperazione] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettaglioOperazione', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_DettaglioOperazione + --drop table C6StagingPeriodico.RP_DettaglioOperazione + insert into C6StagingPeriodico.RP_DettaglioOperazione + select + chiaveProposta,codTipoOperazione,chiavePosizionePtf,chiavePosizionePro,chiaveContratto,ctv,ptfIniziale,quantitaNominale,ctvNonRappresentabile,investi,disinvesti,rischioCredito,rischioMercato,copertura,percOperazione,gestPO,relOperazione,opEseguita,posRiallocata,nomeProgettoProp,areaProp,isAttivoRC + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioOperazione + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettaglioOperazione' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_DettaglioOperazione' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettaglioOperazione_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettaglioOperazione_pre_selective.sql new file mode 100644 index 00000000..9ba4558a --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettaglioOperazione_pre_selective.sql @@ -0,0 +1,34 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_DettaglioOperazione_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettaglioOperazione_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_DettaglioOperazione + --drop table C6StagingPeriodico.RP_DettaglioOperazione + insert into C6StagingPeriodico.RP_DettaglioOperazione + select + chiaveProposta,codTipoOperazione,chiavePosizionePtf,chiavePosizionePro,chiaveContratto,ctv,ptfIniziale,quantitaNominale,ctvNonRappresentabile,investi,disinvesti,rischioCredito,rischioMercato,copertura,percOperazione,gestPO,relOperazione,opEseguita,posRiallocata,nomeProgettoProp,areaProp,isAttivoRC + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioOperazione + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettaglioOperazione_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettaglioOperazione_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettaglioPosizionePortafoglio.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettaglioPosizionePortafoglio.sql new file mode 100644 index 00000000..155659e4 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettaglioPosizionePortafoglio.sql @@ -0,0 +1,57 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_DettaglioPosizionePortafoglio] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettaglioPosizionePortafoglio', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_DettaglioPosizionePortafoglio + insert into C6StagingPeriodico.RP_DettaglioPosizionePortafoglio ( + [chiavePosizionePtf] + ,[ctv] + ,[rischioCredito] + ,[rischioMercato] + ,[copertura] + ,[isAttivoRC] + ,[ctvNonAllocabile] + ,[quantitaNominale] + ,[partitaViaggiante] + ,[ctvOut] + ,[ctvIni] + ,[dtSaldo] + ) + select + [chiavePosizionePtf], + [ctv], + null as [rischioCredito], --- Da verificare + null as [rischioMercato], + [copertura], + null as [isAttivoRC], --- Da verificare + [ctvNonAllocabile], + [quantitaNominale], + [partitaViaggiante], + [ctvOut], + [ctvIni], + [dtSaldo] + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioPosizionePortafoglio + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettaglioPosizionePortafoglio' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_DettaglioPosizionePortafoglio' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettaglioPosizionePortafoglio_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettaglioPosizionePortafoglio_pre_selective.sql new file mode 100644 index 00000000..1f4b175d --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DettaglioPosizionePortafoglio_pre_selective.sql @@ -0,0 +1,57 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_DettaglioPosizionePortafoglio_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettaglioPosizionePortafoglio_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_DettaglioPosizionePortafoglio + insert into C6StagingPeriodico.RP_DettaglioPosizionePortafoglio ( + [chiavePosizionePtf] + ,[ctv] + ,[rischioCredito] + ,[rischioMercato] + ,[copertura] + ,[isAttivoRC] + ,[ctvNonAllocabile] + ,[quantitaNominale] + ,[partitaViaggiante] + ,[ctvOut] + ,[ctvIni] + ,[dtSaldo] + ) + select + [chiavePosizionePtf], + [ctv], + null as [rischioCredito], --- Da verificare + null as [rischioMercato], + [copertura], + null as [isAttivoRC], --- Da verificare + [ctvNonAllocabile], + [quantitaNominale], + [partitaViaggiante], + [ctvOut], + [ctvIni], + [dtSaldo] + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioPosizionePortafoglio + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettaglioPosizionePortafoglio_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettaglioPosizionePortafoglio_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_DistribuzionePtfModello_Tattici_AssetClass.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DistribuzionePtfModello_Tattici_AssetClass.sql new file mode 100644 index 00000000..ba44a6d2 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DistribuzionePtfModello_Tattici_AssetClass.sql @@ -0,0 +1,47 @@ +create procedure [C6StagingPeriodico].[RP_ST_DistribuzionePtfModello_Tattici_AssetClass] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DistribuzionePtfModello_Tattici', + GETDATE(), + 'Elaborazione periodica' + ) + --drop table c6staging.RP_Progetto + truncate table [C6StagingPeriodico].[RP_DistribuzionePtfModello_Tattici_AssetClass] + SELECT [chiavePtfMod], Asset, SUM([percentuale]) AS Totale_Percentuale +into #asset_no_desc +FROM CONSUNI.ConsulenzaUnica.dbo.[DistribuzionePtfModello_Tattici] ptf +GROUP BY [chiavePtfMod],asset +order by chiaveptfmod + insert into [C6StagingPeriodico].[RP_DistribuzionePtfModello_Tattici_AssetClass] ( + [chiavePtfMod] + ,ordinamento + ,[asset] + ,[descrizione] + ,[percentuale] ) + select de.[chiavePtfMod],rep.ordinamento_asset,de.[Asset],ass.descrizione,de.Totale_Percentuale + from #asset_no_desc de + left join [CONSUNI].[CatalogoProdotti].dbo.AssetClass ass + on de.Asset=ass.asset + left join [CONSUNI].[consulenzaUnica].dbo.REP_ASSET_1_E_2_ORDINATE rep + on de.asset=rep.codice_asset_class_ingresso + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DistribuzionePtfModello_Tattici' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DistribuzionePtfModello_Tattici' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_DistribuzionePtfModello_Tattici_MacroAssetClass.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DistribuzionePtfModello_Tattici_MacroAssetClass.sql new file mode 100644 index 00000000..47b2625b --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_DistribuzionePtfModello_Tattici_MacroAssetClass.sql @@ -0,0 +1,47 @@ +create procedure [C6StagingPeriodico].[RP_ST_DistribuzionePtfModello_Tattici_MacroAssetClass] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DistribuzionePtfModello_Tattici', + GETDATE(), + 'Elaborazione periodica' + ) + --drop table c6staging.RP_Progetto + truncate table [C6StagingPeriodico].[RP_DistribuzionePtfModello_Tattici_MacroAssetClass] +SELECT [chiavePtfMod], SUBSTRING([asset], 1, 2) AS MacroAsset, SUM([percentuale]) AS Totale_Percentuale +into #asset_no_desc +FROM CONSUNI.ConsulenzaUnica.dbo.[DistribuzionePtfModello_Tattici] ptf +GROUP BY [chiavePtfMod], SUBSTRING([asset], 1, 2) +order by chiaveptfmod + insert into [C6StagingPeriodico].[RP_DistribuzionePtfModello_Tattici_MacroAssetClass] ( + [chiavePtfMod] + ,ordinamento + ,[asset] + ,[descrizione] + ,[percentuale] ) + select de.[chiavePtfMod],rep.ordinamento_asset,de.[MacroAsset],ass.descrizione,de.Totale_Percentuale + from #asset_no_desc de + left join [CONSUNI].[CatalogoProdotti].dbo.AssetClass ass + on de.MacroAsset=ass.asset + left join [CONSUNI].[consulenzaUnica].dbo.REP_ASSET_1_E_2_ORDINATE rep + on de.macroasset=rep.codice_asset_class_ingresso + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DistribuzionePtfModello_Tattici' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DistribuzionePtfModello_Tattici' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_GradoParentela.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_GradoParentela.sql new file mode 100644 index 00000000..eeb0d5d1 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_GradoParentela.sql @@ -0,0 +1,33 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_GradoParentela] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_GradoParentela', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_GradoParentela + insert into C6StagingPeriodico.RP_GradoParentela + --select * into C6StagingPeriodico.RP_GradoParentela from [CONSEVO].[consulenzaUnica].dbo.GradoParentela + select * from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.GradoParentela + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_GradoParentela' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_GradoParentela' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_GradoParentela_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_GradoParentela_pre_selective.sql new file mode 100644 index 00000000..e31cdba5 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_GradoParentela_pre_selective.sql @@ -0,0 +1,33 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_GradoParentela_pre_selective] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_GradoParentela_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_GradoParentela + insert into C6StagingPeriodico.RP_GradoParentela + --select * into C6StagingPeriodico.RP_GradoParentela from [CONSEVO].[consulenzaUnica].dbo.GradoParentela + select * from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.GradoParentela + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_GradoParentela_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_GradoParentela_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_InfoCliente.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_InfoCliente.sql new file mode 100644 index 00000000..7ce25c4c --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_InfoCliente.sql @@ -0,0 +1,86 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_InfoCliente] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_InfoCliente', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_InfoCliente + insert into C6StagingPeriodico.RP_InfoCliente + --select * into C6StagingPeriodico.RP_Cliente from [CONSEVO].consulenzaUnica.dbo.Cliente + select + [chiaveClientePB] + ,[chiaveCliente] + ,[codFis] + ,[pIva] + ,[codMan] + ,[NomeCliente] + --,[CognomeCliente] + ,SUBSTRING([CognomeCliente], 1, 50) -- TOPPA INSERITA PERCHé MODIFCA NON COMUNICATA A REPORTISTA BATCH per errore staging_f1_main in data 08/07/2015 + ,[tipologia] + ,[dtScadQuest] + ,[profilo] + ,[dtQuestionario] + ,[frequenza] + ,[Agente] + ,[NomePb] + ,[CognomePb] + ,[StatoPb] + ,[rete] + ,[codiceContratto] + ,[StatoContratto] + ,[dtFirmaBase] + ,[dtEndBase] + ,[dtFirmaSei] + ,[dtEndSei] + ,[rendicSemestrale] + ,[dtNascita] + ,[sesso] + ,[TipContratto] + ,[ModPagamento] + ,[chiavePB] + ,[flagrol] + from [CONSUNI_PERIODICO].consulenzaUnica.dbo.vInfoCliente + --EN20160428: clienti di tipologia catastali non sono presenti sul sistema + -- sistema SEI e quindi da escludere ma quelli con tipologia NULL + -- son da includere. (senza modifica per FF@9133 non viene caricata l'anagrafica) + --where tipologia != 'c' + where ISNULL(tipologia,'') != 'c' + and codiceContratto is not null + ----------- Modifica del 15/9/2017 per escluedere i seguenti cf doppi senza toccare il db del congelato + --chiaveClientePB(giusta) COD_FISCALE COD_MANDATO PIVA_FIDUCIARIA COD_AGENTE rete codiceContratto + --615359 BRDRRT69R21L378Q 005861 S 503566CO806 + --1667717 CSTPLA70M67F952U 006473 S 621961CO810 + --674782 CHRGLL44C55Z112E NULL 006302 S 696334CO810 + ---- da escludere perché doppi sulla cliente + --chiaveClientePB chiaveCliente codFis + --1830328 1648328 BRDRRT69R21L378Q + --1830432 1452802 CSTPLA70M67F952U NULL NULL PAOLA + --1818279 1636055 CHRGLL44C55Z112E NULL GISELA ELISABETH WILHELMI + --EN20171031 -- ricodifica da cf CHRGSL44C55Z112M in CHRGLL44C55Z112E effettuqto con successo e l'esclusione eliminata + --and [chiaveClientePB] not in (1830328,1830432,1818279) + and [chiaveClientePB] not in (1830328,1830432) + ----------- FINE Modifica del 15/9/2017 + -----------Modifica del 03/05/2023 rimossa chiaveclientepb nella condizione 'not in' (1381534) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_InfoCliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_InfoCliente' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_InfoCliente_20160428.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_InfoCliente_20160428.sql new file mode 100644 index 00000000..3d99f832 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_InfoCliente_20160428.sql @@ -0,0 +1,66 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_InfoCliente_20160428] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_InfoCliente', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_InfoCliente + insert into C6StagingPeriodico.RP_InfoCliente + --select * into C6StagingPeriodico.RP_Cliente from [CONSEVO].ConsulenzaBase.dbo.Cliente + select + [chiaveClientePB] + ,[chiaveCliente] + ,[codFis] + ,[pIva] + ,[codMan] + ,[NomeCliente] + --,[CognomeCliente] + ,SUBSTRING([CognomeCliente], 1, 50) -- TOPPA INSERITA PERCHé MODIFCA NON COMUNICATA A REPORTISTA BATCH per errore staging_f1_main in data 08/07/2015 + ,[tipologia] + ,[dtScadQuest] + ,[profilo] + ,[dtQuestionario] + ,[frequenza] + ,[Agente] + ,[NomePb] + ,[CognomePb] + ,[StatoPb] + ,[rete] + ,[codiceContratto] + ,[StatoContratto] + ,[dtFirmaBase] + ,[dtEndBase] + ,[dtFirmaSei] + ,[dtEndSei] + ,[rendicSemestrale] + ,[dtNascita] + ,[sesso] + ,[TipContratto] + ,[ModPagamento] + ,[chiavePB] + ,[flagrol] + from [CONSEVO_PERIODICO].ConsulenzaBase.dbo.vInfoCliente + where tipologia != 'c' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_InfoCliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_InfoCliente' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_InfoCliente_20170915.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_InfoCliente_20170915.sql new file mode 100644 index 00000000..0260c592 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_InfoCliente_20170915.sql @@ -0,0 +1,70 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_InfoCliente_20170915] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_InfoCliente', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_InfoCliente + insert into C6StagingPeriodico.RP_InfoCliente + --select * into C6StagingPeriodico.RP_Cliente from [CONSEVO].consulenzaUnica.dbo.Cliente + select + [chiaveClientePB] + ,[chiaveCliente] + ,[codFis] + ,[pIva] + ,[codMan] + ,[NomeCliente] + --,[CognomeCliente] + ,SUBSTRING([CognomeCliente], 1, 50) -- TOPPA INSERITA PERCHé MODIFCA NON COMUNICATA A REPORTISTA BATCH per errore staging_f1_main in data 08/07/2015 + ,[tipologia] + ,[dtScadQuest] + ,[profilo] + ,[dtQuestionario] + ,[frequenza] + ,[Agente] + ,[NomePb] + ,[CognomePb] + ,[StatoPb] + ,[rete] + ,[codiceContratto] + ,[StatoContratto] + ,[dtFirmaBase] + ,[dtEndBase] + ,[dtFirmaSei] + ,[dtEndSei] + ,[rendicSemestrale] + ,[dtNascita] + ,[sesso] + ,[TipContratto] + ,[ModPagamento] + ,[chiavePB] + ,[flagrol] + from [CONSUNI_PERIODICO].consulenzaUnica.dbo.vInfoCliente + --EN20160428: clienti di tipologia catastali non sono presenti sul sistema + -- sistema SEI e quindi da escludere ma quelli con tipologia NULL + -- son da includere. (senza modifica per FF@9133 non viene caricata l'anagrafica) + --where tipologia != 'c' + where ISNULL(tipologia,'') != 'c' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_InfoCliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_InfoCliente' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_InfoCliente_20171031.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_InfoCliente_20171031.sql new file mode 100644 index 00000000..029d4f34 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_InfoCliente_20171031.sql @@ -0,0 +1,82 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_InfoCliente_20171031] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_InfoCliente', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_InfoCliente + insert into C6StagingPeriodico.RP_InfoCliente + --select * into C6StagingPeriodico.RP_Cliente from [CONSEVO].consulenzaUnica.dbo.Cliente + select + [chiaveClientePB] + ,[chiaveCliente] + ,[codFis] + ,[pIva] + ,[codMan] + ,[NomeCliente] + --,[CognomeCliente] + ,SUBSTRING([CognomeCliente], 1, 50) -- TOPPA INSERITA PERCHé MODIFCA NON COMUNICATA A REPORTISTA BATCH per errore staging_f1_main in data 08/07/2015 + ,[tipologia] + ,[dtScadQuest] + ,[profilo] + ,[dtQuestionario] + ,[frequenza] + ,[Agente] + ,[NomePb] + ,[CognomePb] + ,[StatoPb] + ,[rete] + ,[codiceContratto] + ,[StatoContratto] + ,[dtFirmaBase] + ,[dtEndBase] + ,[dtFirmaSei] + ,[dtEndSei] + ,[rendicSemestrale] + ,[dtNascita] + ,[sesso] + ,[TipContratto] + ,[ModPagamento] + ,[chiavePB] + ,[flagrol] + from [CONSUNI_PERIODICO].consulenzaUnica.dbo.vInfoCliente + --EN20160428: clienti di tipologia catastali non sono presenti sul sistema + -- sistema SEI e quindi da escludere ma quelli con tipologia NULL + -- son da includere. (senza modifica per FF@9133 non viene caricata l'anagrafica) + --where tipologia != 'c' + where ISNULL(tipologia,'') != 'c' + ----------- Modifica del 15/9/2017 per escluedere i seguenti cf doppi senza toccare il db del congelato + --chiaveClientePB(giusta) COD_FISCALE COD_MANDATO PIVA_FIDUCIARIA COD_AGENTE rete codiceContratto + --615359 BRDRRT69R21L378Q 005861 S 503566CO806 + --1667717 CSTPLA70M67F952U 006473 S 621961CO810 + --674782 CHRGLL44C55Z112E NULL 006302 S 696334CO810 + ---- da escludere perché doppi sulla cliente + --chiaveClientePB chiaveCliente codFis + --1830328 1648328 BRDRRT69R21L378Q + --1830432 1452802 CSTPLA70M67F952U NULL NULL PAOLA + --1818279 1636055 CHRGLL44C55Z112E NULL GISELA ELISABETH WILHELMI + and [chiaveClientePB] not in (1830328,1830432,1818279) + ----------- FINE Modifica del 15/9/2017 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_InfoCliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_InfoCliente' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_InfoCliente_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_InfoCliente_pre_selective.sql new file mode 100644 index 00000000..f7563e7a --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_InfoCliente_pre_selective.sql @@ -0,0 +1,70 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_InfoCliente_pre_selective] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_InfoCliente_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_InfoCliente + insert into C6StagingPeriodico.RP_InfoCliente + --select * into C6StagingPeriodico.RP_Cliente from [CONSEVO].consulenzaUnica.dbo.Cliente + select + [chiaveClientePB] + ,[chiaveCliente] + ,[codFis] + ,[pIva] + ,[codMan] + ,[NomeCliente] + --,[CognomeCliente] + ,SUBSTRING([CognomeCliente], 1, 50) -- TOPPA INSERITA PERCHé MODIFCA NON COMUNICATA A REPORTISTA BATCH per errore staging_f1_main in data 08/07/2015 + ,[tipologia] + ,[dtScadQuest] + ,[profilo] + ,[dtQuestionario] + ,[frequenza] + ,[Agente] + ,[NomePb] + ,[CognomePb] + ,[StatoPb] + ,[rete] + ,[codiceContratto] + ,[StatoContratto] + ,[dtFirmaBase] + ,[dtEndBase] + ,[dtFirmaSei] + ,[dtEndSei] + ,[rendicSemestrale] + ,[dtNascita] + ,[sesso] + ,[TipContratto] + ,[ModPagamento] + ,[chiavePB] + ,[flagrol] + from [CONSUNI_PERIODICO].consulenzaUnica.dbo.vInfoCliente + --EN20160428: clienti di tipologia catastali non sono presenti sul sistema + -- sistema SEI e quindi da escludere ma quelli con tipologia NULL + -- son da includere. (senza modifica per FF@9133 non viene caricata l'anagrafica) + --where tipologia != 'c' + where ISNULL(tipologia,'') != 'c' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_InfoCliente_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_InfoCliente_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Mappatura.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Mappatura.sql new file mode 100644 index 00000000..e3b3512e --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Mappatura.sql @@ -0,0 +1,31 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Mappatura] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Mappatura', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Mappatura + insert into C6StagingPeriodico.RP_Mappatura + select * from [CONSUNI].CatalogoProdotti.dbo.Mappatura + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Mappatura' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Mappatura' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_MappaturaPT.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_MappaturaPT.sql new file mode 100644 index 00000000..ce3d1e55 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_MappaturaPT.sql @@ -0,0 +1,32 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_MappaturaPT] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_MappaturaPT', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_MappaturaPT + insert into C6StagingPeriodico.RP_MappaturaPT + --select * into C6StagingPeriodico.RP_MappaturaPT from [CONSEVO].[consulenzaUnica].dbo.MappaturaPT + select * from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.MappaturaPT + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_MappaturaPT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_MappaturaPT' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_MappaturaPT_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_MappaturaPT_pre_selective.sql new file mode 100644 index 00000000..560e7195 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_MappaturaPT_pre_selective.sql @@ -0,0 +1,32 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_MappaturaPT_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_MappaturaPT_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_MappaturaPT + insert into C6StagingPeriodico.RP_MappaturaPT + --select * into C6StagingPeriodico.RP_MappaturaPT from [CONSEVO].[consulenzaUnica].dbo.MappaturaPT + select * from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.MappaturaPT + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_MappaturaPT_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_MappaturaPT_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Mappatura_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Mappatura_pre_selective.sql new file mode 100644 index 00000000..f168bd97 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Mappatura_pre_selective.sql @@ -0,0 +1,31 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Mappatura_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Mappatura_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Mappatura + insert into C6StagingPeriodico.RP_Mappatura + select * from [CONSUNI].CatalogoProdotti.dbo.Mappatura + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Mappatura_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Mappatura_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Area.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Area.sql new file mode 100644 index 00000000..8e3dc595 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Area.sql @@ -0,0 +1,63 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Area] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Area', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Migraz_Area + insert into C6StagingPeriodico.RP_Migraz_Area ( + [Area] + ,[chiaveConsulenza] + ,[percArea] + ,[ctvArea] + ,[varArea] + ) + select + --[Area] + -------------------------> modifica del 18/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non più distinta tra pre1 e pre2 + CASE + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + else a.area + END AS [Area] + -------------------------> FINE modifica del 13/1/2017 + ,[chiaveConsulenza] + , null as percArea + ,dpos.ctv as ctvArea + ,null as varArea + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on a.chiaveArea = prog.ChiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniPortafoglio pos + on pos.chiaveProgetto = prog.chiaveProgetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioPosizionePortafoglio dpos + on pos.chiavePosizionePtf = dpos.chiavePosizionePtf + --- Modifica del 18/1/2017 per reperire la descrizione del progetto per la case di cui sopra + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + group by area,chiaveconsulenza,dpos.ctv ,propirMod.nomeProgetto + --group by area,chiaveconsulenza,dpos.ctv + --------------------------------------------------------------------------------------------- +-- select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.Migraz_Area + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Area' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Migraz_Area' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Area_20170118.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Area_20170118.sql new file mode 100644 index 00000000..ddb4ef34 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Area_20170118.sql @@ -0,0 +1,51 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Area_20170118] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Area', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Migraz_Area + insert into C6StagingPeriodico.RP_Migraz_Area ( + [Area] + ,[chiaveConsulenza] + ,[percArea] + ,[ctvArea] + ,[varArea] + ) + select + [Area] + ,[chiaveConsulenza] + , null as percArea + ,dpos.ctv as ctvArea + ,null as varArea + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on a.chiaveArea = prog.ChiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniPortafoglio pos + on pos.chiaveProgetto = prog.chiaveProgetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioPosizionePortafoglio dpos + on pos.chiavePosizionePtf = dpos.chiavePosizionePtf + group by area,chiaveconsulenza,dpos.ctv +-- select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.Migraz_Area + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Area' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Area' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Area_20170320_OBS.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Area_20170320_OBS.sql new file mode 100644 index 00000000..03282596 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Area_20170320_OBS.sql @@ -0,0 +1,51 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Area] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Area', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Migraz_Area + insert into C6StagingPeriodico.RP_Migraz_Area ( + [Area] + ,[chiaveConsulenza] + ,[percArea] + ,[ctvArea] + ,[varArea] + ) + select + [Area] + ,[chiaveConsulenza] + , null as percArea + ,dpos.ctv as ctvArea + ,null as varArea + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on a.chiaveArea = prog.ChiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniPortafoglio pos + on pos.chiaveProgetto = prog.chiaveProgetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioPosizionePortafoglio dpos + on pos.chiavePosizionePtf = dpos.chiavePosizionePtf + group by area,chiaveconsulenza,dpos.ctv +-- select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.Migraz_Area + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Area' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Area' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Area_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Area_pre_selective.sql new file mode 100644 index 00000000..65f7d174 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Area_pre_selective.sql @@ -0,0 +1,51 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Area_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Area_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Migraz_Area + insert into C6StagingPeriodico.RP_Migraz_Area ( + [Area] + ,[chiaveConsulenza] + ,[percArea] + ,[ctvArea] + ,[varArea] + ) + select + [Area] + ,[chiaveConsulenza] + , null as percArea + ,dpos.ctv as ctvArea + ,null as varArea + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on a.chiaveArea = prog.ChiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniPortafoglio pos + on pos.chiaveProgetto = prog.chiaveProgetto + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.DettaglioPosizionePortafoglio dpos + on pos.chiavePosizionePtf = dpos.chiavePosizionePtf + group by area,chiaveconsulenza,dpos.ctv +-- select * from [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.Migraz_Area + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Area_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Area_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Pianificazione.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Pianificazione.sql new file mode 100644 index 00000000..cfdc1e25 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Pianificazione.sql @@ -0,0 +1,90 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Pianificazione] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Pianificazione', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Migraz_Pianificazione + insert into C6StagingPeriodico.RP_Migraz_Pianificazione ( + chiaveConsulenza + ,chiaveClientePB + ,dtUltimoAggiornamento + ,risorseFinanziarieBF + ,risorseFinanziarieTerzi + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,diversificazione + ,copertura + ,isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,token + ,lineaself + ) + SELECT + chiaveConsulenza + ,pian.chiaveClientePB + ,pian.dtAggiornamento + ,null as risorseFinanziarieBF + ,null as risorseFinanziarieTerzi + ,null as contoCorrente + ,case when (rischioCreditoDecodificatoRisAll like '%n.a.%') or (rischioCreditoDecodificatoRisAll like '%n.c.%') + or (rischioCreditoDecodificatoRisAll like '%classe%') then null else rischioCreditoDecodificatoRisAll end as rischioMercato + ,null as rischioCredito + ,coperturaRFA as diversificazione + ,coperturaRisAll as copertura + ,null as isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,tok.value as Token + ,null AS lineaself +FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.Pianificazione pian +left join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.token tok +on pian.chiaveToken = tok.chiavetoken +inner join [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.eventiCliente ev +on ev.chiaveclientePb = pian.chiaveclientepb +where ev.flagPianificazione = 0 +/* POPOLO RISORSE FINANZIARIE BF */ +SELECT SUM(dett.ctv) as RisorseFinanziareBF,pian.chiaveclientePB +into #APPO + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Pianificazione pian + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveconsulenza = pian.chiaveconsulenza + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + group by pian.chiaveclientePB + UPDATE C6StagingPeriodico.RP_Pianificazione + SET risorseFinanziarieBF = a.RisorseFinanziareBF + from #APPO a + inner join C6StagingPeriodico.RP_Pianificazione rpPian + on rpPian.chiaveclientePB = a.chiaveClientePB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Pianificazione' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Migraz_Pianificazione' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Pianificazione_OLD.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Pianificazione_OLD.sql new file mode 100644 index 00000000..55df75a6 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Pianificazione_OLD.sql @@ -0,0 +1,49 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Pianificazione] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Pianificazione', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Migraz_Pianificazione + insert into C6StagingPeriodico.RP_Migraz_Pianificazione + SELECT + chiaveConsulenza + ,chiaveClientePB + ,dtUltimoAggiornamento + ,risorseFinanziarieBF + ,risorseFinanziarieTerzi + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,diversificazione + ,copertura + ,isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,token + ,lineaself + --,null AS lineaself + FROM [CONSEVO_PERIODICO].[consulenzaEvoluta].dbo.Migraz_Pianificazione + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Pianificazione' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Pianificazione' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Pianificazione_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Pianificazione_pre_selective.sql new file mode 100644 index 00000000..310cabe4 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Pianificazione_pre_selective.sql @@ -0,0 +1,90 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Pianificazione_pre_selective] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Pianificazione_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Migraz_Pianificazione + insert into C6StagingPeriodico.RP_Migraz_Pianificazione ( + chiaveConsulenza + ,chiaveClientePB + ,dtUltimoAggiornamento + ,risorseFinanziarieBF + ,risorseFinanziarieTerzi + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,diversificazione + ,copertura + ,isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,token + ,lineaself + ) + SELECT + chiaveConsulenza + ,pian.chiaveClientePB + ,pian.dtAggiornamento + ,null as risorseFinanziarieBF + ,null as risorseFinanziarieTerzi + ,null as contoCorrente + ,case when (rischioCreditoDecodificatoRisAll like '%n.a.%') or (rischioCreditoDecodificatoRisAll like '%n.c.%') + or (rischioCreditoDecodificatoRisAll like '%classe%') then null else rischioCreditoDecodificatoRisAll end as rischioMercato + ,null as rischioCredito + ,coperturaRFA as diversificazione + ,coperturaRisAll as copertura + ,null as isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,tok.value as Token + ,null AS lineaself +FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.Pianificazione pian +left join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.token tok +on pian.chiaveToken = tok.chiavetoken +inner join [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.eventiCliente ev +on ev.chiaveclientePb = pian.chiaveclientepb +where ev.flagPianificazione = 0 +/* POPOLO RISORSE FINANZIARIE BF */ +SELECT SUM(dett.ctv) as RisorseFinanziareBF,pian.chiaveclientePB +into #APPO + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Pianificazione pian + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveconsulenza = pian.chiaveconsulenza + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + group by pian.chiaveclientePB + UPDATE C6StagingPeriodico.RP_Pianificazione + SET risorseFinanziarieBF = a.RisorseFinanziareBF + from #APPO a + inner join C6StagingPeriodico.RP_Pianificazione rpPian + on rpPian.chiaveclientePB = a.chiaveClientePB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Pianificazione_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Pianificazione_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Posizioni.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Posizioni.sql new file mode 100644 index 00000000..5eca3649 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Posizioni.sql @@ -0,0 +1,67 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Posizioni] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Posizioni', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Migraz_Posizioni + insert into C6StagingPeriodico.RP_Migraz_Posizioni +SELECT + ptf.[chiavePosizioneptf] + ,[chiaveProgetto] + ,[chiaveProdotto] + ,ptf.[dtInizioValidita] + ,'99991231' as dtFineValidita + ,[conto] + ,[rubricato] + ,[codConf] + ,[numPolizza] + ,[custGar] + ,[codAbi] + ,[termId] + ,[anno] + ,[prog] + ,null as Ctv + FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.PosizioniPortafoglio ptf + select sum(ctv) as Ctv,chiaveprodotto,pospor.chiaveposizionePtf,pospor.chiaveprogetto,codconf + into #appo + from [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.PosizioniPortafoglio pospor + inner join [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.dettaglioPosizionePortafoglio dett + on pospor.chiavePosizionePtf = dett.chiaveposizionePtf + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + on prog.chiaveprogetto = pospor.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Pianificazione pian + on a.chiaveconsulenza = pian.chiaveconsulenza + group by pospor.chiavePosizionePtf,pospor.chiaveprogetto,pospor.chiaveprodotto,codconf + UPDATE C6StagingPeriodico.RP_Migraz_Posizioni + SET Ctv = a.Ctv + from #APPO a + inner join C6StagingPeriodico.RP_Migraz_Posizioni migraz + on migraz.chiavePosizione = a.chiavePosizionePtf + and migraz.chiaveprogetto = a.chiaveProgetto + and migraz.chiaveprodotto = a.chiaveprodotto + and migraz.codconf = a.codconf + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Posizioni' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Migraz_Posizioni' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Posizioni_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Posizioni_pre_selective.sql new file mode 100644 index 00000000..0c0d8f45 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Posizioni_pre_selective.sql @@ -0,0 +1,67 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Posizioni_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Posizioni_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Migraz_Posizioni + insert into C6StagingPeriodico.RP_Migraz_Posizioni +SELECT + ptf.[chiavePosizioneptf] + ,[chiaveProgetto] + ,[chiaveProdotto] + ,ptf.[dtInizioValidita] + ,'99991231' as dtFineValidita + ,[conto] + ,[rubricato] + ,[codConf] + ,[numPolizza] + ,[custGar] + ,[codAbi] + ,[termId] + ,[anno] + ,[prog] + ,null as Ctv + FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.PosizioniPortafoglio ptf + select sum(ctv) as Ctv,chiaveprodotto,pospor.chiaveposizionePtf,pospor.chiaveprogetto,codconf + into #appo + from [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.PosizioniPortafoglio pospor + inner join [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.dettaglioPosizionePortafoglio dett + on pospor.chiavePosizionePtf = dett.chiaveposizionePtf + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + on prog.chiaveprogetto = pospor.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Pianificazione pian + on a.chiaveconsulenza = pian.chiaveconsulenza + group by pospor.chiavePosizionePtf,pospor.chiaveprogetto,pospor.chiaveprodotto,codconf + UPDATE C6StagingPeriodico.RP_Migraz_Posizioni + SET Ctv = a.Ctv + from #APPO a + inner join C6StagingPeriodico.RP_Migraz_Posizioni migraz + on migraz.chiavePosizione = a.chiavePosizionePtf + and migraz.chiaveprogetto = a.chiaveProgetto + and migraz.chiaveprodotto = a.chiaveprodotto + and migraz.codconf = a.codconf + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Posizioni_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Posizioni_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Progetto.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Progetto.sql new file mode 100644 index 00000000..7aa5be1f --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Progetto.sql @@ -0,0 +1,68 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Progetto] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Progetto', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Migraz_Progetto + insert into C6StagingPeriodico.RP_Migraz_Progetto( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,varProgetto + ,coperturaProgetto + ,ctvProgetto + ,chiaveProgettoMod + ,chiavePtfMod + ) + select + prog.chiaveProgetto + -------------------------> modifica del 18/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non più distinta tra pre1 e pre2 + --,a.area + ,CASE + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + -------------------------> fine modifica del 16/1/2017 + else a.area END AS area + -------------------------> FINE modifica del 18/1/2017 + ,chiaveConsulenza + ,null as tipoProgetto -- NUOVO 16/09 + ,null as dtCreazione + ,null as varProgetto + ,coperturaProgetto + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,prog.chiaveptfmod + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Migraz_Progetto' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Progetto_20170113.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Progetto_20170113.sql new file mode 100644 index 00000000..821e6854 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Progetto_20170113.sql @@ -0,0 +1,58 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Progetto_20170113] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Progetto', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Migraz_Progetto + insert into C6StagingPeriodico.RP_Migraz_Progetto( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,varProgetto + ,coperturaProgetto + ,ctvProgetto + ,chiaveProgettoMod ) + select + prog.chiaveProgetto + ,a.area + ,chiaveConsulenza + ,null as tipoProgetto -- NUOVO 16/09 + ,null as dtCreazione + ,null as varProgetto + ,coperturaProgetto + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Progetto' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Progetto_20170118.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Progetto_20170118.sql new file mode 100644 index 00000000..c8e76234 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Progetto_20170118.sql @@ -0,0 +1,58 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Progetto_20170118] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Progetto', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Migraz_Progetto + insert into C6StagingPeriodico.RP_Migraz_Progetto( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,varProgetto + ,coperturaProgetto + ,ctvProgetto + ,chiaveProgettoMod ) + select + prog.chiaveProgetto + ,a.area + ,chiaveConsulenza + ,null as tipoProgetto -- NUOVO 16/09 + ,null as dtCreazione + ,null as varProgetto + ,coperturaProgetto + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Progetto' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Progetto_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Progetto_pre_selective.sql new file mode 100644 index 00000000..08a1edd8 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Migraz_Progetto_pre_selective.sql @@ -0,0 +1,58 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Migraz_Progetto_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Progetto_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Migraz_Progetto + insert into C6StagingPeriodico.RP_Migraz_Progetto( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,varProgetto + ,coperturaProgetto + ,ctvProgetto + ,chiaveProgettoMod ) + select + prog.chiaveProgetto + ,a.area + ,chiaveConsulenza + ,null as tipoProgetto -- NUOVO 16/09 + ,null as dtCreazione + ,null as varProgetto + ,coperturaProgetto + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Progetto_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Progetto_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_MonitoraggioStorico.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_MonitoraggioStorico.sql new file mode 100644 index 00000000..0fa70e33 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_MonitoraggioStorico.sql @@ -0,0 +1,57 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_MonitoraggioStorico] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_MonitoraggioStorico', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_MonitoraggioStorico + INSERT INTO [C6StagingPeriodico].[RP_MonitoraggioStorico] + SELECT + idMonitoraggio, + chiaveClientePB, + dtAvvio, + ctvExt, + ctvInv, + ctvRis, + ctvLiq, + ctvPre, + ctvNa, + ctvCC, + partiteViaggianti, + [var], + copertura, + rischioCredito, + codiceProfilo, + stato, + dtSalvataggio, + classe_rischio_max, + var_max_profilo, + ctvself + --null AS ctvself + -- MIOFOGLIO 1/3/2019 ex 20181206 + , ctvSelfFoglio AS CTVSelfFoglio + -- fine MIOFOGLIO 1/3/2019 ex 20181206 + FROM [CONSUNI_PERIODICO].consulenzaUnica.dbo.MonitoraggioStorico + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_MonitoraggioStorico' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_MonitoraggioStorico' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_MonitoraggioStorico_20181214_PreMioFoglio.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_MonitoraggioStorico_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..ac10cf3a --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_MonitoraggioStorico_20181214_PreMioFoglio.sql @@ -0,0 +1,54 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_MonitoraggioStorico] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_MonitoraggioStorico', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_MonitoraggioStorico + INSERT INTO [C6StagingPeriodico].[RP_MonitoraggioStorico] + SELECT + idMonitoraggio, + chiaveClientePB, + dtAvvio, + ctvExt, + ctvInv, + ctvRis, + ctvLiq, + ctvPre, + ctvNa, + ctvCC, + partiteViaggianti, + [var], + copertura, + rischioCredito, + codiceProfilo, + stato, + dtSalvataggio, + classe_rischio_max, + var_max_profilo, + ctvself + --null AS ctvself + FROM [CONSUNI_PERIODICO].consulenzaUnica.dbo.MonitoraggioStorico + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_MonitoraggioStorico' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_MonitoraggioStorico' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_MonitoraggioStorico_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_MonitoraggioStorico_pre_selective.sql new file mode 100644 index 00000000..dfbc4778 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_MonitoraggioStorico_pre_selective.sql @@ -0,0 +1,54 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_MonitoraggioStorico_pre_selective] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_MonitoraggioStorico_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_MonitoraggioStorico + INSERT INTO [C6StagingPeriodico].[RP_MonitoraggioStorico] + SELECT + idMonitoraggio, + chiaveClientePB, + dtAvvio, + ctvExt, + ctvInv, + ctvRis, + ctvLiq, + ctvPre, + ctvNa, + ctvCC, + partiteViaggianti, + [var], + copertura, + rischioCredito, + codiceProfilo, + stato, + dtSalvataggio, + classe_rischio_max, + var_max_profilo, + ctvself + --null AS ctvself + FROM [CONSUNI_PERIODICO].consulenzaUnica.dbo.MonitoraggioStorico + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_MonitoraggioStorico_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_MonitoraggioStorico_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_NeedArea.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_NeedArea.sql new file mode 100644 index 00000000..9284c906 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_NeedArea.sql @@ -0,0 +1,33 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_NeedArea] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_NeedArea', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_NeedArea + insert into C6StagingPeriodico.RP_NeedArea + /* 20161222 */ + --select * from [CONSEVO].[CatalogoProdotti].dbo.NeedArea + select * from [CONSUNI].[CatalogoProdotti].dbo.NeedArea + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_NeedArea' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_NeedArea' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_NeedArea_20161222.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_NeedArea_20161222.sql new file mode 100644 index 00000000..bc0c0935 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_NeedArea_20161222.sql @@ -0,0 +1,31 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_NeedArea_20161222] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_NeedArea', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_NeedArea + insert into C6StagingPeriodico.RP_NeedArea + select * from [CONSEVO].[CatalogoProdotti].dbo.NeedArea + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_NeedArea' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_NeedArea' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_NeedArea_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_NeedArea_pre_selective.sql new file mode 100644 index 00000000..b6abbbc1 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_NeedArea_pre_selective.sql @@ -0,0 +1,33 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_NeedArea_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_NeedArea_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_NeedArea + insert into C6StagingPeriodico.RP_NeedArea + /* 20161222 */ + --select * from [CONSEVO].[CatalogoProdotti].dbo.NeedArea + select * from [CONSUNI].[CatalogoProdotti].dbo.NeedArea + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_NeedArea_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_NeedArea_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_NobPrez.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_NobPrez.sql new file mode 100644 index 00000000..fff7f93c --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_NobPrez.sql @@ -0,0 +1,50 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_NobPrez] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_NobPrez', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_NobPrez + insert into C6StagingPeriodico.RP_NobPrez ( + [CHIAVECLIENTEPB] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[CODCONF_ES] + ,[DTINI] + ,[DTFIN] + ,DT_AGGIORNAMENTO ) + select +[CHIAVECLIENTEPB] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[CODCONF] + ,[CODCONF_ES] + ,[DTINI] + ,[DTFIN] + ,DT_AGGIORNAMENTO + from [CONSUNI].[ConsulenzaUnica].[dbo].[PRAM_NOBPREZ] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_NobPrez' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_NobPrez' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_PROGETTICLIENTE.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_PROGETTICLIENTE.sql new file mode 100644 index 00000000..bccbc106 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_PROGETTICLIENTE.sql @@ -0,0 +1,74 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_PROGETTICLIENTE] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PROGETTICLIENTE', + GETDATE(), + 'Elaborazione Trimestrale' + ) +TRUNCATE TABLE C6StagingPeriodico.[RP_PROGETTICLIENTE] +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto +INTO #ProgettiPianificazione +FROM + C6StagingPeriodico.RP_Pianificazione AS pian + INNER JOIN C6StagingPeriodico.RP_Progetto AS pro + ON pian.chiaveconsulenza = pro.chiaveconsulenza + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON pian.chiaveClientePB = contr.chiaveClientePB + WHERE + (pro.dtfinevalidita='99991231' or pro.dtfinevalidita is null) +--ricerco dati da Migrazione +SELECT + contr.chiaveClientePB + ,contr.rete + ,contr.cod_fiscale + ,promig.chiaveProgetto + ,promig.area + ,promig.tipoProgetto +INTO #ProgettiMigrazione +FROM + C6StagingPeriodico.RP_Migraz_Pianificazione AS mig + INNER JOIN C6StagingPeriodico.RP_Migraz_Progetto AS promig + ON mig.chiaveconsulenza = promig.chiaveconsulenza + LEFT JOIN #ProgettiPianificazione tc + ON mig.chiaveClientePB = tc.chiaveClientePB + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON mig.chiaveClientePB = contr.chiaveClientePB + WHERE + tc.chiaveClientePB IS NULL +INSERT INTO C6StagingPeriodico.RP_PROGETTICLIENTE + SELECT * FROM #ProgettiPianificazione + UNION + SELECT * FROM #ProgettiMigrazione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PROGETTICLIENTE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_PROGETTICLIENTE' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_TEST_FC.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_TEST_FC.sql new file mode 100644 index 00000000..b4f23627 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_TEST_FC.sql @@ -0,0 +1,49 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_PROGETTICLIENTE_TEST_FC] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto +INTO #ProgettiPianificazione +FROM + C6StagingPeriodico.RP_Pianificazione AS pian + INNER JOIN C6StagingPeriodico.RP_Progetto AS pro + ON pian.chiaveconsulenza = pro.chiaveconsulenza + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON pian.chiaveClientePB = contr.chiaveClientePB + WHERE + (pro.dtfinevalidita='99991231' or pro.dtfinevalidita is null) +--ricerco dati da Migrazione +SELECT + contr.chiaveClientePB + ,contr.rete + ,contr.cod_fiscale + ,promig.chiaveProgetto + ,promig.area + ,promig.tipoProgetto +INTO #ProgettiMigrazione +FROM + C6StagingPeriodico.RP_Migraz_Pianificazione AS mig + INNER JOIN C6StagingPeriodico.RP_Migraz_Progetto AS promig + ON mig.chiaveconsulenza = promig.chiaveconsulenza + LEFT JOIN #ProgettiPianificazione tc + ON mig.chiaveClientePB = tc.chiaveClientePB + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON mig.chiaveClientePB = contr.chiaveClientePB + WHERE + tc.chiaveClientePB IS NULL +insert into C6StagingPeriodico.RP_PROGETTICLIENTE_TEST_FC + SELECT * FROM #ProgettiPianificazione + UNION + SELECT * FROM #ProgettiMigrazione +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_pre_selective.sql new file mode 100644 index 00000000..1f387a06 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_pre_selective.sql @@ -0,0 +1,74 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_PROGETTICLIENTE_pre_selective] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PROGETTICLIENTE_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) +TRUNCATE TABLE C6StagingPeriodico.[RP_PROGETTICLIENTE] +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto +INTO #ProgettiPianificazione +FROM + C6StagingPeriodico.RP_Pianificazione AS pian + INNER JOIN C6StagingPeriodico.RP_Progetto AS pro + ON pian.chiaveconsulenza = pro.chiaveconsulenza + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON pian.chiaveClientePB = contr.chiaveClientePB + WHERE + (pro.dtfinevalidita='99991231' or pro.dtfinevalidita is null) +--ricerco dati da Migrazione +SELECT + contr.chiaveClientePB + ,contr.rete + ,contr.cod_fiscale + ,promig.chiaveProgetto + ,promig.area + ,promig.tipoProgetto +INTO #ProgettiMigrazione +FROM + C6StagingPeriodico.RP_Migraz_Pianificazione AS mig + INNER JOIN C6StagingPeriodico.RP_Migraz_Progetto AS promig + ON mig.chiaveconsulenza = promig.chiaveconsulenza + LEFT JOIN #ProgettiPianificazione tc + ON mig.chiaveClientePB = tc.chiaveClientePB + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON mig.chiaveClientePB = contr.chiaveClientePB + WHERE + tc.chiaveClientePB IS NULL +INSERT INTO C6StagingPeriodico.RP_PROGETTICLIENTE + SELECT * FROM #ProgettiPianificazione + UNION + SELECT * FROM #ProgettiMigrazione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PROGETTICLIENTE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_PROGETTICLIENTE_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Parentela.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Parentela.sql new file mode 100644 index 00000000..22f9b91f --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Parentela.sql @@ -0,0 +1,40 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Parentela] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Parentela', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Parentela + --insert into C6StagingPeriodico.RP_Parentela + --select + --chiaveClientePB1, + --chiaveClientePB2, + --idParentela , + --dtMatrimonio , + --aCarico , + --dtCensimento , + --dtFine + -- from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Parentela + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Parentela' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Parentela' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Parentela_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Parentela_pre_selective.sql new file mode 100644 index 00000000..2f48eb47 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Parentela_pre_selective.sql @@ -0,0 +1,40 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Parentela_pre_selective] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Parentela_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Parentela + --insert into C6StagingPeriodico.RP_Parentela + --select + --chiaveClientePB1, + --chiaveClientePB2, + --idParentela , + --dtMatrimonio , + --aCarico , + --dtCensimento , + --dtFine + -- from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Parentela + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Parentela_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Parentela_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_PatrimonioTerzi.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_PatrimonioTerzi.sql new file mode 100644 index 00000000..12ffcf4a --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_PatrimonioTerzi.sql @@ -0,0 +1,48 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_PatrimonioTerzi] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PatrimonioTerzi', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_PatrimonioTerzi +/* 20/05/2015FCianfa e LM: aggiunta della where condition e valorizzazione a NULL di campi non più utilizzati per l'evolutiva patrimonio immobiliare. +*/ + insert into C6StagingPeriodico.RP_PatrimonioTerzi + SELECT [chiaveProdottoTerzi] + ,[chiaveClientePB] + ,[idTipoProdotto] + ,[nomeProdotto] + ,NULL + ,[valutaCtv] + ,[ctv] + ,NULL + ,[dataCtv] + ,[prezzoMedioCarico] + ,[tipoProd] + ,[dtFine] + ,[divisa] + ,[ultimoPrezzo] + FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].[dbo].[PatrimonioTerzi] + where dtFineValidita >getdate() + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PatrimonioTerzi' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_PatrimonioTerzi' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_PatrimonioTerzi_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_PatrimonioTerzi_pre_selective.sql new file mode 100644 index 00000000..a08973e4 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_PatrimonioTerzi_pre_selective.sql @@ -0,0 +1,48 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_PatrimonioTerzi_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PatrimonioTerzi_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_PatrimonioTerzi +/* 20/05/2015FCianfa e LM: aggiunta della where condition e valorizzazione a NULL di campi non più utilizzati per l'evolutiva patrimonio immobiliare. +*/ + insert into C6StagingPeriodico.RP_PatrimonioTerzi + SELECT [chiaveProdottoTerzi] + ,[chiaveClientePB] + ,[idTipoProdotto] + ,[nomeProdotto] + ,NULL + ,[valutaCtv] + ,[ctv] + ,NULL + ,[dataCtv] + ,[prezzoMedioCarico] + ,[tipoProd] + ,[dtFine] + ,[divisa] + ,[ultimoPrezzo] + FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].[dbo].[PatrimonioTerzi] + where dtFineValidita >getdate() + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PatrimonioTerzi_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_PatrimonioTerzi_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Pianificazione.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Pianificazione.sql new file mode 100644 index 00000000..9237d194 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Pianificazione.sql @@ -0,0 +1,103 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Pianificazione] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Pianificazione', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Pianificazione + insert into C6StagingPeriodico.RP_Pianificazione ( + chiaveConsulenza + ,chiaveClientePB + ,dtUltimoAggiornamento + ,risorseFinanziarieBF + ,risorseFinanziarieTerzi + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,diversificazione + ,copertura + ,isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,dtPianificazioneOrizzontale + ,dtPianificazioneVerticale + ,token + ,varRisorseAllocate + ,coperturaRisorseAllocate + ,lineaself + ) + SELECT + chiaveConsulenza + ,pian.chiaveClientePB + ,pian.dtAggiornamento as dtUltimoAggiornamento + ,Null as risorseFinanziarieBF + ,Null as risorseFinanziarieTerzi + ,Null as contoCorrente + ,null as rischioCredito + ,case when (rischioCreditoDecodificatoRisAll like '%n.a.%') or (rischioCreditoDecodificatoRisAll like '%n.c.%') + or (rischioCreditoDecodificatoRisAll like '%classe%') then null else rischioCreditoDecodificatoRisAll end as rischioMercato + --rischioCreditoDecodificatoRFA as rischioCredito + ,coperturaRFA as diversificazione + ,coperturaRisAll as copertura + ,null as isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,dtPianificazioneOrizzontale + ,dtPianificazioneVerticale + ,tok.value as Token + ,null as varRisorseAllocate + ,coperturaRisorseAllocate + ,null AS lineaself +FROM [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Pianificazione pian +--------------------- modifica del 13/1/2017 (inner join cambiata con left) +left join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.token tok +--------------------- fine modifica del 13/1/2017 (inner join cambiata con left) +on pian.chiaveToken = tok.chiavetoken +inner join [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.eventiCliente ev +on ev.chiaveclientePb = pian.chiaveclientepb +--------------------- modifica del 13/1/2017 (flag pianificazione non più gestito; tutti pianificati) +--where ev.flagPianificazione = 1 +--------------------- fine modifica del 13/1/2017 +/* POPOLO RISORSE FINANZIARIE BF */ +SELECT SUM(dett.ctv) as RisorseFinanziareBF,pian.chiaveclientePB +into #APPO + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Pianificazione pian + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveconsulenza = pian.chiaveconsulenza + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + group by pian.chiaveclientePB + UPDATE C6StagingPeriodico.RP_Pianificazione + SET risorseFinanziarieBF = a.RisorseFinanziareBF + from #APPO a + inner join C6StagingPeriodico.RP_Pianificazione rpPian + on rpPian.chiaveclientePB = a.chiaveClientePB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Pianificazione' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Pianificazione' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Pianificazione_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Pianificazione_pre_selective.sql new file mode 100644 index 00000000..e9142911 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Pianificazione_pre_selective.sql @@ -0,0 +1,99 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Pianificazione_pre_selective] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Pianificazione_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Pianificazione + insert into C6StagingPeriodico.RP_Pianificazione ( + chiaveConsulenza + ,chiaveClientePB + ,dtUltimoAggiornamento + ,risorseFinanziarieBF + ,risorseFinanziarieTerzi + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,diversificazione + ,copertura + ,isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,dtPianificazioneOrizzontale + ,dtPianificazioneVerticale + ,token + ,varRisorseAllocate + ,coperturaRisorseAllocate + ,lineaself + ) + SELECT + chiaveConsulenza + ,pian.chiaveClientePB + ,pian.dtAggiornamento as dtUltimoAggiornamento + ,Null as risorseFinanziarieBF + ,Null as risorseFinanziarieTerzi + ,Null as contoCorrente + ,null as rischioCredito + ,case when (rischioCreditoDecodificatoRisAll like '%n.a.%') or (rischioCreditoDecodificatoRisAll like '%n.c.%') + or (rischioCreditoDecodificatoRisAll like '%classe%') then null else rischioCreditoDecodificatoRisAll end as rischioMercato + --rischioCreditoDecodificatoRFA as rischioCredito + ,coperturaRFA as diversificazione + ,coperturaRisAll as copertura + ,null as isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,dtPianificazioneOrizzontale + ,dtPianificazioneVerticale + ,tok.value as Token + ,null as varRisorseAllocate + ,coperturaRisorseAllocate + ,null AS lineaself +FROM [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Pianificazione pian +inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.token tok +on pian.chiaveToken = tok.chiavetoken +inner join [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.eventiCliente ev +on ev.chiaveclientePb = pian.chiaveclientepb +where ev.flagPianificazione = 1 +/* POPOLO RISORSE FINANZIARIE BF */ +SELECT SUM(dett.ctv) as RisorseFinanziareBF,pian.chiaveclientePB +into #APPO + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Pianificazione pian + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveconsulenza = pian.chiaveconsulenza + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + group by pian.chiaveclientePB + UPDATE C6StagingPeriodico.RP_Pianificazione + SET risorseFinanziarieBF = a.RisorseFinanziareBF + from #APPO a + inner join C6StagingPeriodico.RP_Pianificazione rpPian + on rpPian.chiaveclientePB = a.chiaveClientePB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Pianificazione_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Pianificazione_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_PosizioniPortafoglio.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_PosizioniPortafoglio.sql new file mode 100644 index 00000000..1e8dcc6a --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_PosizioniPortafoglio.sql @@ -0,0 +1,46 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_PosizioniPortafoglio] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PosizioniPortafoglio', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_PosizioniPortafoglio + insert into C6StagingPeriodico.RP_PosizioniPortafoglio + select +chiavePosizionePtf, +chiaveProgetto, +dtInizioValidita, +'99991231' as[dtFineValidita], +chiaveProdotto, +conto, +rubricato, +codConf, +numPolizza, +custGar, +codAbi, +termId, +anno, +prog + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniPortafoglio + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PosizioniPortafoglio' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_PosizioniPortafoglio' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_PosizioniPortafoglio_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_PosizioniPortafoglio_pre_selective.sql new file mode 100644 index 00000000..205eed79 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_PosizioniPortafoglio_pre_selective.sql @@ -0,0 +1,46 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_PosizioniPortafoglio_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PosizioniPortafoglio_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_PosizioniPortafoglio + insert into C6StagingPeriodico.RP_PosizioniPortafoglio + select +chiavePosizionePtf, +chiaveProgetto, +dtInizioValidita, +'99991231' as[dtFineValidita], +chiaveProdotto, +conto, +rubricato, +codConf, +numPolizza, +custGar, +codAbi, +termId, +anno, +prog + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniPortafoglio + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PosizioniPortafoglio_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_PosizioniPortafoglio_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_PosizioniProposta.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_PosizioniProposta.sql new file mode 100644 index 00000000..447b7bd9 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_PosizioniProposta.sql @@ -0,0 +1,43 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_PosizioniProposta] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PosizioniProposta', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_PosizioniProposta + insert into C6StagingPeriodico.RP_PosizioniProposta + select chiavePosizionePro, + chiaveProgetto, + chiaveProdotto, + conto, + rubricato, + codConf, + numPolizza, + custGar, + codAbi, + termId, + anno, + prog + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniProposta + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PosizioniProposta' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_PosizioniProposta' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_PosizioniProposta_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_PosizioniProposta_pre_selective.sql new file mode 100644 index 00000000..d7975539 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_PosizioniProposta_pre_selective.sql @@ -0,0 +1,43 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_PosizioniProposta_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PosizioniProposta_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_PosizioniProposta + insert into C6StagingPeriodico.RP_PosizioniProposta + select chiavePosizionePro, + chiaveProgetto, + chiaveProdotto, + conto, + rubricato, + codConf, + numPolizza, + custGar, + codAbi, + termId, + anno, + prog + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.PosizioniProposta + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PosizioniProposta_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_PosizioniProposta_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_ProgettiPiramideModello.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_ProgettiPiramideModello.sql new file mode 100644 index 00000000..bb1036fe --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_ProgettiPiramideModello.sql @@ -0,0 +1,105 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_ProgettiPiramideModello] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ProgettiPiramideModello', + GETDATE(), + 'Elaborazione Trimestrale' + ) + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT DISTINCT + d.rete, + case when(isnull(ltrim(rtrim(codman)),'') <> '') then 'FF@'+codman + when (isnull(codfis,'') <> '') then codfis + else c.piva + end as Cod_fiscale, + 'SCARTO PER PIRAMIDE MODELLO tipoprogetto > 1' AS MOTIVO + FROM [CONSUNI_PERIODICO].[consulenzaunica].dbo.Contratto a + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.ClientePB b + ON b.chiaveClientePB = a.chiaveClientePB + AND a.status in ('SEI','AVANZATOBASE','REVOCASEI') + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.Cliente c + ON b.chiaveCliente = c.chiaveCliente + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.PromotoreBancario d + ON b.chiavePB = d.chiavePB + WHERE + A.chiaveclientepb in ( + select distinct chiaveclientepb + FROM + ( + --SELECT chiaveclientepb,area,tipoprogetto,COUNT(*) as c FROM + --[CONSUNI_PERIODICO].[consulenzaEvoluta].dbo.ProgettiPiramideModello + --where tipoprogetto =0 and area <> 'na' and isnull(dtFineValidita,'99991231')>GETDATE() + --group by chiaveclientepb,area,tipoprogetto + --having COUNT(*)<>1 + SELECT chiaveclientepb,area,COUNT(*) as c + FROM [CONSUNI_PERIODICO].consulenzaunica.dbo.piramidemodello pirmod + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.areamodello areamod + on pirmod.chiavePiramideMod = areamod.chiaveAreaMod + inner join [CONSUNI_PERIODICO].[consulenzaunica].dbo.ProgettiPiramideModello progmod + on progmod.chiaveAreaMod = areamod.chiaveAreaMod + where area <> 'na' + group by chiaveclientepb,area + having COUNT(*)<>1 + ) t + ) + --drop table C6StagingPeriodico.RP_ProgettiPiramideModello + truncate table C6StagingPeriodico.RP_ProgettiPiramideModello + insert into C6StagingPeriodico.RP_ProgettiPiramideModello +select + prog.chiaveProgettoMod + ,pian.chiaveClientePB + -------------------------> modifica del 18/1/2017 per correggere le anomalie dovute al nome area 'pre1'e 'pre2' + --,am.area + ,CASE + WHEN pirMod.nomeProgetto = 'Previdenza Essenziale' and am.area = 'Pre' THEN 'Pre1' + WHEN pirMod.nomeProgetto = 'Previdenza Secondaria' and am.area = 'Pre' THEN 'Pre2' + ELSE AM.AREA + END AS area + -------------------------> fine modifica del 18/1/2017 + ,percentualeProgetto + ,null as tipoProgetto + /* 20161215 imposta per area previdenza il nome progetto a Default */ + --,nomeProgetto + ,case when am.area = 'Pre' + then 'Default' + else nomeProgetto + end AS nomeProgetto + /* 20161215 fine */ + ,isnull(orizzontetemporale,0) durata + --,[durata] + ,[note] + ,'99991231' as dtFineValidita + ,null as [dtCreazione] + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.ProgettiPiramideModello pirmod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on prog.chiaveprogettoMod = pirmod.chiaveProgettoMod + left join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.portafogliomodello pormod --modifica inserita il 29/04 per orizzontetemporale non congruente con la PUC online + on prog.chiaveptfmod=pormod.chiaveptfmod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.AreaModello am + on am.chiaveAreaMod = pirmod.ChiaveAreaMod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + on a.chiaveArea = prog.chiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Pianificazione pian + on pian.chiaveconsulenza = a.chiaveconsulenza + --update C6StagingPeriodico.RP_ProgettiPiramideModello set nomeProgetto = null where tipoprogetto = 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ProgettiPiramideModello' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_ProgettiPiramideModello' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_20170118.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_20170118.sql new file mode 100644 index 00000000..9214a995 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_20170118.sql @@ -0,0 +1,95 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_ProgettiPiramideModello_20170118] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ProgettiPiramideModello', + GETDATE(), + 'Elaborazione Trimestrale' + ) + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT DISTINCT + d.rete, + case when(isnull(ltrim(rtrim(codman)),'') <> '') then 'FF@'+codman + when (isnull(codfis,'') <> '') then codfis + else c.piva + end as Cod_fiscale, + 'SCARTO PER PIRAMIDE MODELLO tipoprogetto > 1' AS MOTIVO + FROM [CONSUNI_PERIODICO].[consulenzaunica].dbo.Contratto a + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.ClientePB b + ON b.chiaveClientePB = a.chiaveClientePB + AND a.status in ('SEI','AVANZATOBASE','REVOCASEI') + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.Cliente c + ON b.chiaveCliente = c.chiaveCliente + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.PromotoreBancario d + ON b.chiavePB = d.chiavePB + WHERE + A.chiaveclientepb in ( + select distinct chiaveclientepb + FROM + ( + --SELECT chiaveclientepb,area,tipoprogetto,COUNT(*) as c FROM + --[CONSUNI_PERIODICO].[consulenzaEvoluta].dbo.ProgettiPiramideModello + --where tipoprogetto =0 and area <> 'na' and isnull(dtFineValidita,'99991231')>GETDATE() + --group by chiaveclientepb,area,tipoprogetto + --having COUNT(*)<>1 + SELECT chiaveclientepb,area,COUNT(*) as c + FROM [CONSUNI_PERIODICO].consulenzaunica.dbo.piramidemodello pirmod + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.areamodello areamod + on pirmod.chiavePiramideMod = areamod.chiaveAreaMod + inner join [CONSUNI_PERIODICO].[consulenzaunica].dbo.ProgettiPiramideModello progmod + on progmod.chiaveAreaMod = areamod.chiaveAreaMod + where area <> 'na' + group by chiaveclientepb,area + having COUNT(*)<>1 + ) t + ) + --drop table C6StagingPeriodico.RP_ProgettiPiramideModello + truncate table C6StagingPeriodico.RP_ProgettiPiramideModello + insert into C6StagingPeriodico.RP_ProgettiPiramideModello +select + prog.chiaveProgettoMod + ,pian.chiaveClientePB + ,am.area + ,percentualeProgetto + ,null as tipoProgetto + /* 20161215 imposta per area previdenza il nome progetto a Default */ + --,nomeProgetto + ,case when am.area = 'Pre' + then 'Default' + else nomeProgetto + end AS nomeProgetto + /* 20161215 fine */ + ,[durata] + ,[note] + ,'99991231' as dtFineValidita + ,null as [dtCreazione] + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.ProgettiPiramideModello pirmod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on prog.chiaveprogettoMod = pirmod.chiaveProgettoMod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.AreaModello am + on am.chiaveAreaMod = pirmod.ChiaveAreaMod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + on a.chiaveArea = prog.chiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Pianificazione pian + on pian.chiaveconsulenza = a.chiaveconsulenza + --update C6StagingPeriodico.RP_ProgettiPiramideModello set nomeProgetto = null where tipoprogetto = 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ProgettiPiramideModello' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_ProgettiPiramideModello' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_20171106.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_20171106.sql new file mode 100644 index 00000000..46d43d65 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_20171106.sql @@ -0,0 +1,102 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_ProgettiPiramideModello_20171106] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ProgettiPiramideModello', + GETDATE(), + 'Elaborazione Trimestrale' + ) + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT DISTINCT + d.rete, + case when(isnull(ltrim(rtrim(codman)),'') <> '') then 'FF@'+codman + when (isnull(codfis,'') <> '') then codfis + else c.piva + end as Cod_fiscale, + 'SCARTO PER PIRAMIDE MODELLO tipoprogetto > 1' AS MOTIVO + FROM [CONSUNI_PERIODICO].[consulenzaunica].dbo.Contratto a + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.ClientePB b + ON b.chiaveClientePB = a.chiaveClientePB + AND a.status in ('SEI','AVANZATOBASE','REVOCASEI') + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.Cliente c + ON b.chiaveCliente = c.chiaveCliente + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.PromotoreBancario d + ON b.chiavePB = d.chiavePB + WHERE + A.chiaveclientepb in ( + select distinct chiaveclientepb + FROM + ( + --SELECT chiaveclientepb,area,tipoprogetto,COUNT(*) as c FROM + --[CONSUNI_PERIODICO].[consulenzaEvoluta].dbo.ProgettiPiramideModello + --where tipoprogetto =0 and area <> 'na' and isnull(dtFineValidita,'99991231')>GETDATE() + --group by chiaveclientepb,area,tipoprogetto + --having COUNT(*)<>1 + SELECT chiaveclientepb,area,COUNT(*) as c + FROM [CONSUNI_PERIODICO].consulenzaunica.dbo.piramidemodello pirmod + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.areamodello areamod + on pirmod.chiavePiramideMod = areamod.chiaveAreaMod + inner join [CONSUNI_PERIODICO].[consulenzaunica].dbo.ProgettiPiramideModello progmod + on progmod.chiaveAreaMod = areamod.chiaveAreaMod + where area <> 'na' + group by chiaveclientepb,area + having COUNT(*)<>1 + ) t + ) + --drop table C6StagingPeriodico.RP_ProgettiPiramideModello + truncate table C6StagingPeriodico.RP_ProgettiPiramideModello + insert into C6StagingPeriodico.RP_ProgettiPiramideModello +select + prog.chiaveProgettoMod + ,pian.chiaveClientePB + -------------------------> modifica del 18/1/2017 per correggere le anomalie dovute al nome area 'pre1'e 'pre2' + --,am.area + ,CASE + WHEN pirMod.nomeProgetto = 'Previdenza Essenziale' and am.area = 'Pre' THEN 'Pre1' + WHEN pirMod.nomeProgetto = 'Previdenza Secondaria' and am.area = 'Pre' THEN 'Pre2' + ELSE AM.AREA + END AS area + -------------------------> fine modifica del 18/1/2017 + ,percentualeProgetto + ,null as tipoProgetto + /* 20161215 imposta per area previdenza il nome progetto a Default */ + --,nomeProgetto + ,case when am.area = 'Pre' + then 'Default' + else nomeProgetto + end AS nomeProgetto + /* 20161215 fine */ + ,[durata] + ,[note] + ,'99991231' as dtFineValidita + ,null as [dtCreazione] + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.ProgettiPiramideModello pirmod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on prog.chiaveprogettoMod = pirmod.chiaveProgettoMod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.AreaModello am + on am.chiaveAreaMod = pirmod.ChiaveAreaMod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + on a.chiaveArea = prog.chiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Pianificazione pian + on pian.chiaveconsulenza = a.chiaveconsulenza + --update C6StagingPeriodico.RP_ProgettiPiramideModello set nomeProgetto = null where tipoprogetto = 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ProgettiPiramideModello' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_ProgettiPiramideModello' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_pre_selective.sql new file mode 100644 index 00000000..d6652995 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_ProgettiPiramideModello_pre_selective.sql @@ -0,0 +1,95 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_ProgettiPiramideModello_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ProgettiPiramideModello_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT DISTINCT + d.rete, + case when(isnull(ltrim(rtrim(codman)),'') <> '') then 'FF@'+codman + when (isnull(codfis,'') <> '') then codfis + else c.piva + end as Cod_fiscale, + 'SCARTO PER PIRAMIDE MODELLO tipoprogetto > 1' AS MOTIVO + FROM [CONSUNI_PERIODICO].[consulenzaunica].dbo.Contratto a + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.ClientePB b + ON b.chiaveClientePB = a.chiaveClientePB + AND a.status in ('SEI','AVANZATOBASE','REVOCASEI') + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.Cliente c + ON b.chiaveCliente = c.chiaveCliente + JOIN [CONSUNI_PERIODICO].[consulenzaunica].dbo.PromotoreBancario d + ON b.chiavePB = d.chiavePB + WHERE + A.chiaveclientepb in ( + select distinct chiaveclientepb + FROM + ( + --SELECT chiaveclientepb,area,tipoprogetto,COUNT(*) as c FROM + --[CONSUNI_PERIODICO].[consulenzaEvoluta].dbo.ProgettiPiramideModello + --where tipoprogetto =0 and area <> 'na' and isnull(dtFineValidita,'99991231')>GETDATE() + --group by chiaveclientepb,area,tipoprogetto + --having COUNT(*)<>1 + SELECT chiaveclientepb,area,COUNT(*) as c + FROM [CONSUNI_PERIODICO].consulenzaunica.dbo.piramidemodello pirmod + inner join [CONSUNI_PERIODICO].consulenzaunica.dbo.areamodello areamod + on pirmod.chiavePiramideMod = areamod.chiaveAreaMod + inner join [CONSUNI_PERIODICO].[consulenzaunica].dbo.ProgettiPiramideModello progmod + on progmod.chiaveAreaMod = areamod.chiaveAreaMod + where area <> 'na' + group by chiaveclientepb,area + having COUNT(*)<>1 + ) t + ) + --drop table C6StagingPeriodico.RP_ProgettiPiramideModello + truncate table C6StagingPeriodico.RP_ProgettiPiramideModello + insert into C6StagingPeriodico.RP_ProgettiPiramideModello +select + prog.chiaveProgettoMod + ,pian.chiaveClientePB + ,am.area + ,percentualeProgetto + ,null as tipoProgetto + /* 20161215 imposta per area previdenza il nome progetto a Default */ + --,nomeProgetto + ,case when am.area = 'Pre' + then 'Default' + else nomeProgetto + end AS nomeProgetto + /* 20161215 fine */ + ,[durata] + ,[note] + ,'99991231' as dtFineValidita + ,null as [dtCreazione] + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.ProgettiPiramideModello pirmod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Progetto prog + on prog.chiaveprogettoMod = pirmod.chiaveProgettoMod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.AreaModello am + on am.chiaveAreaMod = pirmod.ChiaveAreaMod + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Area a + on a.chiaveArea = prog.chiaveArea + inner join [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Pianificazione pian + on pian.chiaveconsulenza = a.chiaveconsulenza + --update C6StagingPeriodico.RP_ProgettiPiramideModello set nomeProgetto = null where tipoprogetto = 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ProgettiPiramideModello_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_ProgettiPiramideModello_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto.new.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto.new.sql new file mode 100644 index 00000000..707ea65f --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto.new.sql @@ -0,0 +1,109 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Progetto] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto', + GETDATE(), + 'Elaborazione Trimestrale' + ) + --drop table C6StagingPeriodico.RP_Progetto + truncate table C6StagingPeriodico.RP_Progetto + insert into C6StagingPeriodico.RP_Progetto + ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,varProgetto + ,coperturaProgetto + ,profiloProgetto + ,orizzonteTemporale + ,ctvProgetto + ,chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,percProgetto + ,ctvPianificato + ,chiavePtfMod + ,dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset ) + select + prog.chiaveProgetto + -------------------------> modifica del 13/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non più distinta tra pre1 e pre2 + --,a.area + ,CASE + -------------------------> modifica del 16/1/2017 per correggere le anomalie dovute al nome progetto 'previdenza' sulle aree inv + --WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' THEN 'Pre1' + --WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' THEN 'Pre2' + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + -------------------------> fine modifica del 16/1/2017 + else a.area END AS area + -------------------------> FINE modifica del 13/1/2017 + ,chiaveConsulenza + ,null as tipoProgetto -- NULL 16/09 + ,propirMod.dtInizioValidita as dtCreazione + ,prog.dtaggiornamento as dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,Null as varProgetto + ,coperturaProgetto + ,null as profiloProgetto + /* durata progetto da PortafoglioModello.orizzontetemporale + /* 20170117 durata > 9 anni */ + ,SUBSTRING (propirMod.durata,1,2) as orizzonteTemporale + */ + ,orizzontetemporale + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,null as percProgetto + ,ctvPianificato + ,prog.chiavePtfMod + ,'99991231' as dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset + ------------------> MODIFICA DEL 17/1/2017 -- SI DEVE PUNTARE AL CONGELATO E NON ALL'ONLINE + --from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + --inner join CONSUNI.ConsulenzaUnica.dbo.area a + --on a.chiaveArea = prog.chiavearea + --inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + --on propirMod.chiaveprogettomod = prog.chiaveprogettomod + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + ------------------> MODIFICA DEL 06/11/2017 -- inzio -- durata progetto da PortafoglioModello.orizzontetemporale + inner join [consuni_periodico].consulenzaunica.[dbo].PortafoglioModello pm + on prog.chiaveptfMod=pm.chiaveptfMod + ------------------> MODIFICA DEL 06/11/2017 -- fine + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + ------------------> fine MODIFICA DEL 17/1/2017 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Progetto' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto.sql new file mode 100644 index 00000000..5c72425d --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto.sql @@ -0,0 +1,140 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Progetto] as +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Progetto + insert into C6StagingPeriodico.RP_Progetto + ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,varProgetto + ,coperturaProgetto + ,profiloProgetto + ,orizzonteTemporale + ,ctvProgetto + ,chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,percProgetto + ,ctvPianificato + ,chiavePtfMod + ,dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset ) + select + prog.chiaveProgetto + -------------------------> modifica del 13/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non più distinta tra pre1 e pre2 + --,a.area + ,CASE + -------------------------> modifica del 16/1/2017 per correggere le anomalie dovute al nome progetto 'previdenza' sulle aree inv + --WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' THEN 'Pre1' + --WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' THEN 'Pre2' + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + -------------------------> fine modifica del 16/1/2017 + else a.area END AS area + -------------------------> FINE modifica del 13/1/2017 + ,chiaveConsulenza + ,null as tipoProgetto -- NULL 16/09 + ,propirMod.dtInizioValidita as dtCreazione + ,prog.dtaggiornamento as dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,Null as varProgetto + ,coperturaProgetto + ,null as profiloProgetto + /* 20170117 durata > 9 anni */ + ,SUBSTRING (propirMod.durata,1,2) as orizzonteTemporale + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,null as percProgetto + ,ctvPianificato + ,chiavePtfMod + ,'99991231' as dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset + ------------------> MODIFICA DEL 17/1/2017 -- SI DEVE PUNTARE AL CONGELATO E NON ALL'ONLINE + --from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + --inner join CONSUNI.ConsulenzaUnica.dbo.area a + --on a.chiaveArea = prog.chiavearea + --inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + --on propirMod.chiaveprogettomod = prog.chiaveprogettomod + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + ------------------> fine MODIFICA DEL 17/1/2017 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Progetto' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto_2', + GETDATE(), + 'Elaborazione Trimestrale' + ) + ------------------> MODIFICA DEL 06/11/2017 -- inzio -- durata progetto da PortafoglioModello.orizzontetemporale + select prog.chiaveprogettomod , pm.orizzonteTemporale + into #temp_orizzonteTemporale_ok + from C6StagingPeriodico.RP_Progetto prog + inner join [consuni_periodico].consulenzaunica.[dbo].PortafoglioModello pm + on prog.chiaveptfMod=pm.chiaveptfMod + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + --where prog.orizzontetemporale<>pm.orizzonteTemporale + update C6StagingPeriodico.RP_Progetto + set RP_Progetto.orizzonteTemporale=ok.orizzonteTemporale + from #temp_orizzonteTemporale_ok ok + where RP_Progetto.chiaveprogettoMod=ok.chiaveprogettoMod + ------------------> MODIFICA DEL 06/11/2017 -- fine + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Progetto_2' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20170113.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20170113.sql new file mode 100644 index 00000000..652b2d86 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20170113.sql @@ -0,0 +1,84 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Progetto_20170113] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto', + GETDATE(), + 'Elaborazione Trimestrale' + ) + --drop table C6StagingPeriodico.RP_Progetto + truncate table C6StagingPeriodico.RP_Progetto + insert into C6StagingPeriodico.RP_Progetto + ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,varProgetto + ,coperturaProgetto + ,profiloProgetto + ,orizzonteTemporale + ,ctvProgetto + ,chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,percProgetto + ,ctvPianificato + ,chiavePtfMod + ,dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset ) + select + prog.chiaveProgetto + ,a.area + ,chiaveConsulenza + ,null as tipoProgetto -- NULL 16/09 + ,propirMod.dtInizioValidita as dtCreazione + ,prog.dtaggiornamento as dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,Null as varProgetto + ,coperturaProgetto + ,null as profiloProgetto + ,SUBSTRING (propirMod.durata,1,1) as orizzonteTemporale + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,null as percProgetto + ,ctvPianificato + ,chiavePtfMod + ,'99991231' as dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset + from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Progetto' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20170116.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20170116.sql new file mode 100644 index 00000000..4e91d29e --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20170116.sql @@ -0,0 +1,90 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Progetto_20170116] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto', + GETDATE(), + 'Elaborazione Trimestrale' + ) + --drop table C6StagingPeriodico.RP_Progetto + truncate table C6StagingPeriodico.RP_Progetto + insert into C6StagingPeriodico.RP_Progetto + ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,varProgetto + ,coperturaProgetto + ,profiloProgetto + ,orizzonteTemporale + ,ctvProgetto + ,chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,percProgetto + ,ctvPianificato + ,chiavePtfMod + ,dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset ) + select + prog.chiaveProgetto + -------------------------> modifica del 13/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non più distinta tra pre1 e pre2 + --,a.area + ,CASE + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' THEN 'Pre2' + else a.area END AS area + -------------------------> FINE modifica del 13/1/2017 + ,chiaveConsulenza + ,null as tipoProgetto -- NULL 16/09 + ,propirMod.dtInizioValidita as dtCreazione + ,prog.dtaggiornamento as dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,Null as varProgetto + ,coperturaProgetto + ,null as profiloProgetto + ,SUBSTRING (propirMod.durata,1,1) as orizzonteTemporale + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,null as percProgetto + ,ctvPianificato + ,chiavePtfMod + ,'99991231' as dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset + from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Progetto' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20170117.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20170117.sql new file mode 100644 index 00000000..a47323cf --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20170117.sql @@ -0,0 +1,94 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Progetto_20170117] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto', + GETDATE(), + 'Elaborazione Trimestrale' + ) + --drop table C6StagingPeriodico.RP_Progetto + truncate table C6StagingPeriodico.RP_Progetto + insert into C6StagingPeriodico.RP_Progetto + ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,varProgetto + ,coperturaProgetto + ,profiloProgetto + ,orizzonteTemporale + ,ctvProgetto + ,chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,percProgetto + ,ctvPianificato + ,chiavePtfMod + ,dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset ) + select + prog.chiaveProgetto + -------------------------> modifica del 13/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non più distinta tra pre1 e pre2 + --,a.area + ,CASE + -------------------------> modifica del 16/1/2017 per correggere le anomalie dovute al nome progetto 'previdenza' sulle aree inv + --WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' THEN 'Pre1' + --WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' THEN 'Pre2' + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + -------------------------> fine modifica del 16/1/2017 + else a.area END AS area + -------------------------> FINE modifica del 13/1/2017 + ,chiaveConsulenza + ,null as tipoProgetto -- NULL 16/09 + ,propirMod.dtInizioValidita as dtCreazione + ,prog.dtaggiornamento as dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,Null as varProgetto + ,coperturaProgetto + ,null as profiloProgetto + ,SUBSTRING (propirMod.durata,1,1) as orizzonteTemporale + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,null as percProgetto + ,ctvPianificato + ,chiavePtfMod + ,'99991231' as dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset + from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Progetto' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20170117_2.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20170117_2.sql new file mode 100644 index 00000000..c8871be4 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20170117_2.sql @@ -0,0 +1,101 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Progetto_20170117_2] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto', + GETDATE(), + 'Elaborazione Trimestrale' + ) + --drop table C6StagingPeriodico.RP_Progetto + truncate table C6StagingPeriodico.RP_Progetto + insert into C6StagingPeriodico.RP_Progetto + ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,varProgetto + ,coperturaProgetto + ,profiloProgetto + ,orizzonteTemporale + ,ctvProgetto + ,chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,percProgetto + ,ctvPianificato + ,chiavePtfMod + ,dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset ) + select + prog.chiaveProgetto + -------------------------> modifica del 13/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non più distinta tra pre1 e pre2 + --,a.area + ,CASE + -------------------------> modifica del 16/1/2017 per correggere le anomalie dovute al nome progetto 'previdenza' sulle aree inv + --WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' THEN 'Pre1' + --WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' THEN 'Pre2' + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + -------------------------> fine modifica del 16/1/2017 + else a.area END AS area + -------------------------> FINE modifica del 13/1/2017 + ,chiaveConsulenza + ,null as tipoProgetto -- NULL 16/09 + ,propirMod.dtInizioValidita as dtCreazione + ,prog.dtaggiornamento as dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,Null as varProgetto + ,coperturaProgetto + ,null as profiloProgetto + ,SUBSTRING (propirMod.durata,1,2) as orizzonteTemporale + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,null as percProgetto + ,ctvPianificato + ,chiavePtfMod + ,'99991231' as dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset + ------------------> MODIFICA DEL 17/1/2017 -- SI DEVE PUNTARE AL CONGELATO E NON ALL'ONLINE + --from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + --inner join CONSUNI.ConsulenzaUnica.dbo.area a + --on a.chiaveArea = prog.chiavearea + --inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + --on propirMod.chiaveprogettomod = prog.chiaveprogettomod + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + ------------------> fine MODIFICA DEL 17/1/2017 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Progetto' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20170419.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20170419.sql new file mode 100644 index 00000000..41ee73ae --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20170419.sql @@ -0,0 +1,102 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Progetto_20170419] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto', + GETDATE(), + 'Elaborazione Trimestrale' + ) + --drop table C6StagingPeriodico.RP_Progetto + truncate table C6StagingPeriodico.RP_Progetto + insert into C6StagingPeriodico.RP_Progetto + ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,varProgetto + ,coperturaProgetto + ,profiloProgetto + ,orizzonteTemporale + ,ctvProgetto + ,chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,percProgetto + ,ctvPianificato + ,chiavePtfMod + ,dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset ) + select + prog.chiaveProgetto + -------------------------> modifica del 13/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non più distinta tra pre1 e pre2 + --,a.area + ,CASE + -------------------------> modifica del 16/1/2017 per correggere le anomalie dovute al nome progetto 'previdenza' sulle aree inv + --WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' THEN 'Pre1' + --WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' THEN 'Pre2' + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + -------------------------> fine modifica del 16/1/2017 + else a.area END AS area + -------------------------> FINE modifica del 13/1/2017 + ,chiaveConsulenza + ,null as tipoProgetto -- NULL 16/09 + ,propirMod.dtInizioValidita as dtCreazione + ,prog.dtaggiornamento as dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,Null as varProgetto + ,coperturaProgetto + ,null as profiloProgetto + /* 20170117 durata > 9 anni */ + ,SUBSTRING (propirMod.durata,1,2) as orizzonteTemporale + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,null as percProgetto + ,ctvPianificato + ,chiavePtfMod + ,'99991231' as dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset + ------------------> MODIFICA DEL 17/1/2017 -- SI DEVE PUNTARE AL CONGELATO E NON ALL'ONLINE + --from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + --inner join CONSUNI.ConsulenzaUnica.dbo.area a + --on a.chiaveArea = prog.chiavearea + --inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + --on propirMod.chiaveprogettomod = prog.chiaveprogettomod + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + ------------------> fine MODIFICA DEL 17/1/2017 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Progetto' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20171106.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20171106.sql new file mode 100644 index 00000000..cce917cb --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_20171106.sql @@ -0,0 +1,102 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Progetto_20171106] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto', + GETDATE(), + 'Elaborazione Trimestrale' + ) + --drop table C6StagingPeriodico.RP_Progetto + truncate table C6StagingPeriodico.RP_Progetto + insert into C6StagingPeriodico.RP_Progetto + ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,varProgetto + ,coperturaProgetto + ,profiloProgetto + ,orizzonteTemporale + ,ctvProgetto + ,chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,percProgetto + ,ctvPianificato + ,chiavePtfMod + ,dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset ) + select + prog.chiaveProgetto + -------------------------> modifica del 13/1/2017 per gestire l'accorpamento (sulla nuova CU) dell'area previdenza, non più distinta tra pre1 e pre2 + --,a.area + ,CASE + -------------------------> modifica del 16/1/2017 per correggere le anomalie dovute al nome progetto 'previdenza' sulle aree inv + --WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' THEN 'Pre1' + --WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' THEN 'Pre2' + WHEN propirMod.nomeProgetto = 'Previdenza Essenziale' and a.area = 'Pre' THEN 'Pre1' + WHEN propirMod.nomeProgetto = 'Previdenza Secondaria' and a.area = 'Pre' THEN 'Pre2' + -------------------------> fine modifica del 16/1/2017 + else a.area END AS area + -------------------------> FINE modifica del 13/1/2017 + ,chiaveConsulenza + ,null as tipoProgetto -- NULL 16/09 + ,propirMod.dtInizioValidita as dtCreazione + ,prog.dtaggiornamento as dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,Null as varProgetto + ,coperturaProgetto + ,null as profiloProgetto + /* 20170117 durata > 9 anni */ + ,SUBSTRING (propirMod.durata,1,2) as orizzonteTemporale + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,null as percProgetto + ,ctvPianificato + ,chiavePtfMod + ,'99991231' as dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset + ------------------> MODIFICA DEL 17/1/2017 -- SI DEVE PUNTARE AL CONGELATO E NON ALL'ONLINE + --from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + --inner join CONSUNI.ConsulenzaUnica.dbo.area a + --on a.chiaveArea = prog.chiavearea + --inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + --on propirMod.chiaveprogettomod = prog.chiaveprogettomod + from CONSUNI_PERIODICO.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI_PERIODICO.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + ------------------> fine MODIFICA DEL 17/1/2017 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Progetto' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_Robo.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_Robo.sql new file mode 100644 index 00000000..0bf1575f --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_Robo.sql @@ -0,0 +1,62 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Progetto_Robo] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto_Robo', + GETDATE(), + 'Elaborazione giornaliera' + ) + --drop table c6staging.RP_Progetto + truncate table c6stagingperiodico.RP_Progetto_Robo + insert into C6StagingPeriodico.RP_Progetto_Robo ( + [chiaveProgetto] + ,[flagUtilizzoLiquidita] + ,[Iban_codiceContrattoCC] + ,[ctvSogliaCC] + ,[minimoMantenimentoSuCC] + ,[listTagFondiDaUtilizzare] + ,[percentualeFogli] + ,[percentualeFondi] + ,[chiaveclientepb] + ,[dt_inserimento] + ,[dt_aggiornamento] + ,[FlagCsv] + ,[ChiavePtfMod] + ,[isProgettoRobo] ) + select + robo.[chiaveProgetto] + ,robo.[flagUtilizzoLiquidita] + ,robo.[Iban_codiceContrattoCC] + ,robo.[ctvSogliaCC] + ,robo.[minimoMantenimentoSuCC] + ,robo.[listTagFondiDaUtilizzare] + ,robo.[percentualeFogli] + ,robo.[percentualeFondi] + ,robo.[chiaveclientepb] + ,robo.[dt_inserimento] + ,robo.[dt_aggiornamento] + ,robo.[FlagCsv] + ,p.chiaveptfmod + ,'S' + from CONSUNI.ConsulenzaUnica.dbo.[Robo_ProgettoRobo] robo + inner join CONSUNI.ConsulenzaUnica.dbo.[Progetto] p on p.chiaveProgetto=robo.chiaveProgetto + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto_Robo' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Progetto_Robo' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_pre_selective.sql new file mode 100644 index 00000000..e3761754 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Progetto_pre_selective.sql @@ -0,0 +1,84 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Progetto_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + --drop table C6StagingPeriodico.RP_Progetto + truncate table C6StagingPeriodico.RP_Progetto + insert into C6StagingPeriodico.RP_Progetto + ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,varProgetto + ,coperturaProgetto + ,profiloProgetto + ,orizzonteTemporale + ,ctvProgetto + ,chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,percProgetto + ,ctvPianificato + ,chiavePtfMod + ,dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset ) + select + prog.chiaveProgetto + ,a.area + ,chiaveConsulenza + ,null as tipoProgetto -- NULL 16/09 + ,propirMod.dtInizioValidita as dtCreazione + ,prog.dtaggiornamento as dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,Null as varProgetto + ,coperturaProgetto + ,null as profiloProgetto + ,SUBSTRING (propirMod.durata,1,1) as orizzonteTemporale + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,null as percProgetto + ,ctvPianificato + ,chiavePtfMod + ,'99991231' as dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset + from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Progetto_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_PromotoreBancario.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_PromotoreBancario.sql new file mode 100644 index 00000000..5b7e1eed --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_PromotoreBancario.sql @@ -0,0 +1,71 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_PromotoreBancario] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PromotoreBancario', + GETDATE(), + 'Elaborazione Trimestrale' + ) +truncate table C6StagingPeriodico.RP_PromotoreBancario +insert into C6StagingPeriodico.RP_PromotoreBancario +( +chiavePB +,codage +,nome +,cognome +,[status] +,livello +,rete +,indirizzo +,numCivico +,citta +,prov +,cap +,nazione +,ptel +,tel +,tipologia +,grado +,codManager +) + select + chiavePB + ,codage + ,nome + ,cognome + ,[status] + ,livello + ,rete + ,indirizzo + ,numCivico + ,citta + ,prov + ,cap + ,nazione + ,ptel + ,tel + ,tipologia + ,grado + ,null --codManager + from [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.PromotoreBancario + ---- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PromotoreBancario' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_PromotoreBancario' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_PromotoreBancario_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_PromotoreBancario_pre_selective.sql new file mode 100644 index 00000000..7729dea2 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_PromotoreBancario_pre_selective.sql @@ -0,0 +1,71 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_PromotoreBancario_pre_selective] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PromotoreBancario_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) +truncate table C6StagingPeriodico.RP_PromotoreBancario +insert into C6StagingPeriodico.RP_PromotoreBancario +( +chiavePB +,codage +,nome +,cognome +,[status] +,livello +,rete +,indirizzo +,numCivico +,citta +,prov +,cap +,nazione +,ptel +,tel +,tipologia +,grado +,codManager +) + select + chiavePB + ,codage + ,nome + ,cognome + ,[status] + ,livello + ,rete + ,indirizzo + ,numCivico + ,citta + ,prov + ,cap + ,nazione + ,ptel + ,tel + ,tipologia + ,grado + ,null --codManager + from [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.PromotoreBancario + ---- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PromotoreBancario_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_PromotoreBancario_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Proposta.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Proposta.sql new file mode 100644 index 00000000..7c0dadd8 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Proposta.sql @@ -0,0 +1,69 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Proposta] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Proposta', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Proposta + INSERT INTO C6StagingPeriodico.RP_Proposta + SELECT + chiaveProposta + ,chiaveConsulenza + ,[status] + ,chiaveClientePB + ,nomeProposta + ,dtProposta + ,dtValidazione + ,dtUltimoAgg + ,dtScadenza + ,risorseFinanziarieBF + ,risorseFinanziarieBT + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,adeguatezza + ,discesaRegime + ,diversificazione + ,copertura + ,codValidazione + ,urlValidazione + ,urlSimulazione + ,urlReport + ,apporti + ,prelievi + ,flgScadenza + ,flgInadRischioCredito + ,flgInadRischioMercato + ,flgInadComplessita + ,flgInadFrequenza + ,flgInadConcentrazione + ,flgInadLiquidita + ,isAttivoRC + ,token + ,flagNuovoFlusso + ,lineaself + --,null AS lineaself + FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.Proposta + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Proposta' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Proposta' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_Proposta_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Proposta_pre_selective.sql new file mode 100644 index 00000000..7bda550b --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_Proposta_pre_selective.sql @@ -0,0 +1,69 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Proposta_pre_selective] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Proposta_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Proposta + INSERT INTO C6StagingPeriodico.RP_Proposta + SELECT + chiaveProposta + ,chiaveConsulenza + ,[status] + ,chiaveClientePB + ,nomeProposta + ,dtProposta + ,dtValidazione + ,dtUltimoAgg + ,dtScadenza + ,risorseFinanziarieBF + ,risorseFinanziarieBT + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,adeguatezza + ,discesaRegime + ,diversificazione + ,copertura + ,codValidazione + ,urlValidazione + ,urlSimulazione + ,urlReport + ,apporti + ,prelievi + ,flgScadenza + ,flgInadRischioCredito + ,flgInadRischioMercato + ,flgInadComplessita + ,flgInadFrequenza + ,flgInadConcentrazione + ,flgInadLiquidita + ,isAttivoRC + ,token + ,flagNuovoFlusso + ,lineaself + --,null AS lineaself + FROM [CONSUNI_PERIODICO].[ConsulenzaUnica].dbo.Proposta + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Proposta_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Proposta_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI.sql new file mode 100644 index 00000000..4be3691d --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI.sql @@ -0,0 +1,47 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_RDR_VALUTE_DB_DTGIORNALIERI] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI + insert into C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI +-- 2015/03/17 FCianfa inserimento cast per problemi di lettura dati + SELECT DT1.ChiaveProdotto, DT1.Divisa, cast(DT1.Peso as numeric(18,7)) + FROM [CONSUNI_PERIODICO].[consulenzaUnicaFL].dbo.RDR_VALUTE_DB_DTGIORNALIERI DT1 + INNER JOIN + (SELECT chiaveProdotto, divisa, MAX(dtRiferimento) AS MAXDATE + FROM [CONSUNI_PERIODICO].[consulenzaUnicaFL].dbo.RDR_VALUTE_DB_DTGIORNALIERI + GROUP BY chiaveProdotto, divisa) DT2 + ON DT1.chiaveProdotto = DT2.chiaveProdotto + AND DT1.DIVISA= DT2.DIVISA + AND DT1.dtRiferimento = DT2.MAXDATE + ORDER BY DT1.CHIAVEPRODOTTO, dt1.divisa + /*pk 20160506 + insert into C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI +select 9276460, divisa, peso +from C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI +where ChiaveProdotto = 261831 +pk 20160506*/ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_20160506_Pk.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_20160506_Pk.sql new file mode 100644 index 00000000..32a0d433 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_20160506_Pk.sql @@ -0,0 +1,47 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_20160506_Pk] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI + insert into C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI +-- 2015/03/17 FCianfa inserimento cast per problemi di lettura dati + SELECT DT1.ChiaveProdotto, DT1.Divisa, cast(DT1.Peso as numeric(18,7)) + FROM [CONSEVO_PERIODICO].[consulenzaEvolutaFL].dbo.RDR_VALUTE_DB_DTGIORNALIERI DT1 + INNER JOIN + (SELECT chiaveProdotto, divisa, MAX(dtRiferimento) AS MAXDATE + FROM [CONSEVO_PERIODICO].[consulenzaEvolutaFL].dbo.RDR_VALUTE_DB_DTGIORNALIERI + GROUP BY chiaveProdotto, divisa) DT2 + ON DT1.chiaveProdotto = DT2.chiaveProdotto + AND DT1.DIVISA= DT2.DIVISA + AND DT1.dtRiferimento = DT2.MAXDATE + ORDER BY DT1.CHIAVEPRODOTTO, dt1.divisa + /*pk 20160506*/ + insert into C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI +select 9276460, divisa, peso +from C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI +where ChiaveProdotto = 261831 +/*pk 20160506*/ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_pre_selective.sql new file mode 100644 index 00000000..c0d98985 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_pre_selective.sql @@ -0,0 +1,47 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI + insert into C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI +-- 2015/03/17 FCianfa inserimento cast per problemi di lettura dati + SELECT DT1.ChiaveProdotto, DT1.Divisa, cast(DT1.Peso as numeric(18,7)) + FROM [CONSUNI_PERIODICO].[consulenzaUnicaFL].dbo.RDR_VALUTE_DB_DTGIORNALIERI DT1 + INNER JOIN + (SELECT chiaveProdotto, divisa, MAX(dtRiferimento) AS MAXDATE + FROM [CONSUNI_PERIODICO].[consulenzaUnicaFL].dbo.RDR_VALUTE_DB_DTGIORNALIERI + GROUP BY chiaveProdotto, divisa) DT2 + ON DT1.chiaveProdotto = DT2.chiaveProdotto + AND DT1.DIVISA= DT2.DIVISA + AND DT1.dtRiferimento = DT2.MAXDATE + ORDER BY DT1.CHIAVEPRODOTTO, dt1.divisa + /*pk 20160506 + insert into C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI +select 9276460, divisa, peso +from C6StagingPeriodico.RP_RDR_VALUTE_DB_DTGIORNALIERI +where ChiaveProdotto = 261831 +pk 20160506*/ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql new file mode 100644 index 00000000..2f7c85fc --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql @@ -0,0 +1,34 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_REP_ASSET_1_E_2_ORDINATE] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_REP_ASSET_1_E_2_ORDINATE', + GETDATE(), + 'Elaborazione Trimestrale' + ) + --drop table C6StagingPeriodico.RP_REP_ASSET_1_E_2_ORDINATE + truncate table C6StagingPeriodico.RP_REP_ASSET_1_E_2_ORDINATE + insert into C6StagingPeriodico.RP_REP_ASSET_1_E_2_ORDINATE + select * + --into C6StagingPeriodico.RP_REP_ASSET_1_E_2_ORDINATE + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.REP_ASSET_1_E_2_ORDINATE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_REP_ASSET_1_E_2_ORDINATE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_REP_ASSET_1_E_2_ORDINATE' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_REP_ASSET_1_E_2_ORDINATE_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_REP_ASSET_1_E_2_ORDINATE_pre_selective.sql new file mode 100644 index 00000000..a6098100 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_REP_ASSET_1_E_2_ORDINATE_pre_selective.sql @@ -0,0 +1,34 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_REP_ASSET_1_E_2_ORDINATE_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_REP_ASSET_1_E_2_ORDINATE_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + --drop table C6StagingPeriodico.RP_REP_ASSET_1_E_2_ORDINATE + truncate table C6StagingPeriodico.RP_REP_ASSET_1_E_2_ORDINATE + insert into C6StagingPeriodico.RP_REP_ASSET_1_E_2_ORDINATE + select * + --into C6StagingPeriodico.RP_REP_ASSET_1_E_2_ORDINATE + from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.REP_ASSET_1_E_2_ORDINATE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_REP_ASSET_1_E_2_ORDINATE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_REP_ASSET_1_E_2_ORDINATE_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6.sql new file mode 100644 index 00000000..808a4cfc --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6.sql @@ -0,0 +1,66 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_REP_S80_EVOL_STAMPA_C6] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_REP_S80_EVOL_STAMPA_C6', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.[RP_REP_S80_EVOL_STAMPA_C6] + INSERT INTO [C6StagingPeriodico].[RP_REP_S80_EVOL_STAMPA_C6] + SELECT + chiaveclientepb, + area, + ORDINE, + FASE, + DATA_FASE, + CONTROVALORE, + RISORSEALLOCATE, + RISORSENONALLOCATE, + CONTOCORRENTE, + INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + COPERTURA, + PROFILO, + AGENTE, + CRISK, + CRISKMAX, + lineaself, + --null AS lineaself + -- Modifica del 1/3/2019 ex 11/1/2019 - Nuovo campo che deve tornare dalla puc e relativo al nuovo prodotto mio foglio per la corretta gestione della evoluzione del controvalore + -- fino alla modifica della PUC forziamo il ritorno a 0 + lineaSelfFoglio + -- fine modifica del 1/3/2019 ex 11/1/2019 + FROM [CONSUNI_PERIODICO].[consulenzaUnica].dbo.REP_S80_EVOL_STAMPA_C6 + -- MODIFICA "TEMP" per GESTIONE CLASSE DI RISCHIO. + -- Vedi FoglioInterventi codice 1 + -- Fc 14/01/2014 + -- In Fase di Caricamento della tabella C6STAGINGPERIODICO.S80_EVOL_STAMPA_C6 il valore del + -- Campo CRISK deve essere codificato a NULL se = a 5 + -- FC START + update [C6StagingPeriodico].[RP_REP_S80_EVOL_STAMPA_C6] + set CRISK = Null + where crisk = 5; + -- FC END + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_REP_S80_EVOL_STAMPA_C6' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_REP_S80_EVOL_STAMPA_C6' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6_20190111_preMioFoglio.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6_20190111_preMioFoglio.sql new file mode 100644 index 00000000..683532e0 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6_20190111_preMioFoglio.sql @@ -0,0 +1,62 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_REP_S80_EVOL_STAMPA_C6] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_REP_S80_EVOL_STAMPA_C6', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.[RP_REP_S80_EVOL_STAMPA_C6] + INSERT INTO [C6StagingPeriodico].[RP_REP_S80_EVOL_STAMPA_C6] + SELECT + chiaveclientepb, + area, + ORDINE, + FASE, + DATA_FASE, + CONTROVALORE, + RISORSEALLOCATE, + RISORSENONALLOCATE, + CONTOCORRENTE, + INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + COPERTURA, + PROFILO, + AGENTE, + CRISK, + CRISKMAX, + lineaself + --null AS lineaself + FROM [CONSUNI_PERIODICO].[consulenzaUnica].dbo.REP_S80_EVOL_STAMPA_C6 + -- MODIFICA "TEMP" per GESTIONE CLASSE DI RISCHIO. + -- Vedi FoglioInterventi codice 1 + -- Fc 14/01/2014 + -- In Fase di Caricamento della tabella C6STAGINGPERIODICO.S80_EVOL_STAMPA_C6 il valore del + -- Campo CRISK deve essere codificato a NULL se = a 5 + -- FC START + update [C6StagingPeriodico].[RP_REP_S80_EVOL_STAMPA_C6] + set CRISK = Null + where crisk = 5; + -- FC END + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_REP_S80_EVOL_STAMPA_C6' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_REP_S80_EVOL_STAMPA_C6' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6_pre_selective.sql new file mode 100644 index 00000000..46ef3fa7 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_REP_S80_EVOL_STAMPA_C6_pre_selective.sql @@ -0,0 +1,62 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_REP_S80_EVOL_STAMPA_C6_pre_selective] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_REP_S80_EVOL_STAMPA_C6_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.[RP_REP_S80_EVOL_STAMPA_C6] + INSERT INTO [C6StagingPeriodico].[RP_REP_S80_EVOL_STAMPA_C6] + SELECT + chiaveclientepb, + area, + ORDINE, + FASE, + DATA_FASE, + CONTROVALORE, + RISORSEALLOCATE, + RISORSENONALLOCATE, + CONTOCORRENTE, + INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + COPERTURA, + PROFILO, + AGENTE, + CRISK, + CRISKMAX, + lineaself + --null AS lineaself + FROM [CONSUNI_PERIODICO].[consulenzaUnica].dbo.REP_S80_EVOL_STAMPA_C6 + -- MODIFICA "TEMP" per GESTIONE CLASSE DI RISCHIO. + -- Vedi FoglioInterventi codice 1 + -- Fc 14/01/2014 + -- In Fase di Caricamento della tabella C6STAGINGPERIODICO.S80_EVOL_STAMPA_C6 il valore del + -- Campo CRISK deve essere codificato a NULL se = a 5 + -- FC START + update [C6StagingPeriodico].[RP_REP_S80_EVOL_STAMPA_C6] + set CRISK = Null + where crisk = 5; + -- FC END + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_REP_S80_EVOL_STAMPA_C6_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_REP_S80_EVOL_STAMPA_C6_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql new file mode 100644 index 00000000..dfb6e220 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql @@ -0,0 +1,31 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3', + GETDATE(), + 'Elaborazione Trimestale' + ) + truncate table C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + insert into C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + select * from [CONSUNI_PERIODICO].[consulenzaUnica].[dbo].[REP_S4_S5_S13_TRAD_UNTIL_LIV3] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3_pre_selective.sql new file mode 100644 index 00000000..f5f14023 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3_pre_selective.sql @@ -0,0 +1,31 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3_pre_selective', + GETDATE(), + 'Elaborazione Trimestale' + ) + truncate table C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + insert into C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + select * from [CONSUNI_PERIODICO].[consulenzaUnica].[dbo].[REP_S4_S5_S13_TRAD_UNTIL_LIV3] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI.sql new file mode 100644 index 00000000..284ccbe4 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI.sql @@ -0,0 +1,792 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- Aggiunta GESTIONE Fogli V301 (Colaneri, 31/01/2019) +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + Declare @dtTrime as decimal; + Declare @dtTrimePrec as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + exec [dbo].[CreaTabellaBackUp] 'SPB_CONTR_SINTESI','C6StagingPeriodico' + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN] + ,[DIVISA] + ,[BASE_PREZZ]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + ,[DIVISA] + ,[BASE_PREZZ] + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192') + -- Modifica del 31/01/2019 AC + -- dalla WSEICS va esclusa anche la riga che riguarda il prodotto V301 (assimilato a L191 e L192). Questo tipo di prodotti viene caricato, come dettaglio, dalla WSEIGP (vedi ultime select) + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192', 'V301','V302','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') --aggiunto v302 16-05-2022 --aggiunto da 3A a 9M 25/07/2022 + -- Fine modifica del 31/01/2019 AC +--INIZIO INTERVENTO MIGRAZIONE ASU3 +--INIZIO INTERVENTO 'RE' - 20161213 + --AND CODINT NOT IN ('RS','RB','RV','RM') + --INIZIO INTERVENTO 'RF/MP' - 20171204 + --AND CODINT NOT IN ('RS','RB','RV','RM','RE') + AND CODINT NOT IN ('RS','RB','RV','RM','RE','RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M','IC')--aggiunto XP --aggiunto 3A a 9M 25/07/2022 + --FINE INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + ,UL.[DIVISA] + ,UL.[BASE_PREZZ] + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 +--INIZIO INTERVENTO MIGRAZIONE ASU3 +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'ASU1' AS TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,UL.ISINFIT AS ISIN + ,UL.[DIVISA] + ,UL.[BASE_PREZZ] + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.CODINT = UL.CODINT + AND CS.SUBPROD = UL.SUBPROD + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +--INIZIO INTERVENTO 'RE' - 20161213 + --AND UL.CODINT IN ('RS','RB','RV','RM') + --INIZIO INTERVENTO 'RF/MP' - 20171204 + --AND UL.CODINT IN ('RS','RB','RV','RM','RE') + AND UL.CODINT IN ('RS','RB','RV','RM','RE','RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M')--aggiunto 3A a 9M 25/07/2022 + --FINE INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 +AND C6.UltimoAperto = 1 +--FINE INTERVENTO MIGRAZIONE ASU3 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + ,UL.[DIVISA] + ,UL.[BASE_PREZZ] + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime ) AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = @dtTrime + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 +--inizio intervento per Omnia linea Self +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN + ,DIVISA + ,BASE_PREZZ +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + ,GP.[DIVISA] + ,GP.[BASE_PREZZ] + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192')) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN + ,DIVISA + ,BASE_PREZZ +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN + ,DIVISA + ,BASE_PREZZ +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + ,DIVISA + ,BASE_PREZZ + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192') + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +--fine intervento per Omnia linea Self +-- Modifica del 31/01/2019 AC prodotti MioFoglio +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN + ,DIVISA + ,BASE_PREZZ +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + ,GP.[DIVISA] + ,GP.[BASE_PREZZ] + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('V301','V302')) AS CS --aggiunto v302 16-05-2022 + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN + ,DIVISA + ,BASE_PREZZ +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN + ,DIVISA + ,BASE_PREZZ +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + ,DIVISA + ,BASE_PREZZ + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('V301','V302') --aggiunto v302 16/05/2022 + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +-- Fine Modifica del 31/01/2019 +--DELETE temporanea per S&M del 11-Mar-2020 +delete from [C6StagingPeriodico].[SPB_CONTR_SINTESI] +where codconf='71946795210' and codfis='VNZFLV60B48F205H'and codint='09506140' +--END DELETE +--inizio inserimento su testquality emanuele +--insert into c6martperiodico.test_quality +--select distinct rete, codfis, 'LINEA SELF ISIN A NULL SU TABELLA WSEIGP' from C6StagingPeriodico.WSEIGP where isin is null +--fine inserimento su testquality emanuele + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI2.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI2.sql new file mode 100644 index 00000000..70124f15 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI2.sql @@ -0,0 +1,301 @@ +--select count(*) from c6stagingperiodico.spb_contr_sintesi2 +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI2] +AS +BEGIN + --TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI2] + --INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI2] + -- ([POSITIONID] + -- ,[DTTRIM] + -- ,[DTRIFE] + -- ,[RETE] + -- ,[CODFIS] + -- ,[CODCONF] + -- ,[NUMPOL] + -- ,[CONTO] + -- ,[RUBR] + -- ,[CUSTGAR] + -- ,[TIPPROD] + -- ,[CODINT] + -- ,[CODPROD] + -- ,[SUBPROD] + -- ,[MAF] + -- ,[CODABI] + -- ,[PCTKEY] + -- ,[DESTIT] + -- ,[CTV] + -- ,[PARTVIA] + -- ,[PARTVIAAL] + -- ,[DTSOTTOS] + -- ,[RENDINIZ] + -- ,[RENDANNO] + -- ,[VALORE] + -- ,[SUBSET] + -- ,[CVN] + -- ,[SALRISC] + -- ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,C6.cod_fiscale AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + INTO #CS_MENO_K_L191 + FROM C6StagingPeriodico.WSEICS CS + JOIN C6StagingPeriodico.appo_contratti C6 + ON (case when cs.codman <> '' then 'FF@'+ cs.codman else cs.codfis end) = C6.COd_fiscale + AND CS.RETE = C6.RETE + AND CS.SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191') + AND CS.DTTRIM = c6martperiodico.gettrimestre2(getdate(),0) + SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,C6.cod_fiscale AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' else CUSTGAR end as custgar + ,CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + INTO #UL_1 + FROM C6StagingPeriodico.WSEICS CS + join C6StagingPeriodico.appo_contratti C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND CS.[DTTRIM] = c6martperiodico.gettrimestre2(getdate(),0) + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE + CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,C6.COd_fiscale AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' else CUSTGAR end as custgar + ,'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + INTO #UL_2 + FROM C6StagingPeriodico.WSEICS CS + join C6StagingPeriodico.appo_contratti C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND CS.DTTRIM = c6martperiodico.gettrimestre2(getdate(),0) + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE + ( + CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + ) +--inizio intervento per Omnia linea Self +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE WHEN CS.CODMAN ='' THEN CS.CODFIS ELSE 'FF@'+CS.CODMAN END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN = 'EURO00000009' and rubr =' ') then '000' else RUBR end as RUBR + ,case when (GP.ISIN = 'EURO00000009' and rubr =' ') then '0' else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,case when (GP.ISIN = 'EURO00000009' and rubr =' ') then '0' else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET + ,CVN + ,SALRISC + ,GP.ISIN + FROM C6StagingPeriodico.WSEICS CS + join C6StagingPeriodico.appo_contratto C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + and cs.DTTRIM = c6martperiodico.gettrimestre2(getdate(),0) + and cs.subprod = 'L191' + JOIN C6STAGINGPERIODICO.WSEIGP GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + and GP.ISIN is not null + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN + SELECT DISTINCT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,C6.COD_FISCALE AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + INTO #L191 + FROM C6StagingPeriodico.WSEICS CS + join C6StagingPeriodico.appo_contratti C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND CS.DTTRIM = c6martperiodico.gettrimestre2(getdate(),0) + and CS.subprod = 'L191' + and CS.partvia <> 0.00 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20161213.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20161213.sql new file mode 100644 index 00000000..862461c0 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20161213.sql @@ -0,0 +1,534 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20161213] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + Declare @dtTrime as decimal; + Declare @dtTrimePrec as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192') +--INIZIO INTERVENTO MIGRAZIONE ASU3 + AND CODINT NOT IN ('RS','RB','RV','RM') +--FINE INTERVENTO MIGRAZIONE ASU3 +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 +--INIZIO INTERVENTO MIGRAZIONE ASU3 +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'ASU1' AS TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,UL.ISINFIT AS ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.CODINT = UL.CODINT + AND CS.SUBPROD = UL.SUBPROD + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + AND UL.CODINT IN ('RS','RB','RV','RM') +AND C6.UltimoAperto = 1 +--FINE INTERVENTO MIGRAZIONE ASU3 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime ) AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = @dtTrime + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 +--inizio intervento per Omnia linea Self +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192')) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192') + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +--fine intervento per Omnia linea Self +--inizio inserimento su testquality emanuele +--insert into c6martperiodico.test_quality +--select distinct rete, codfis, 'LINEA SELF ISIN A NULL SU TABELLA WSEIGP' from C6StagingPeriodico.WSEIGP where isin is null +--fine inserimento su testquality emanuele + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20170407.SAVE.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20170407.SAVE.sql new file mode 100644 index 00000000..1dce0f0e --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20170407.SAVE.sql @@ -0,0 +1,540 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20170407.SAVE] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + Declare @dtTrime as decimal; + Declare @dtTrimePrec as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192') +--INIZIO INTERVENTO MIGRAZIONE ASU3 +--INIZIO INTERVENTO 'RE' - 20161213 + --AND CODINT NOT IN ('RS','RB','RV','RM') + AND CODINT NOT IN ('RS','RB','RV','RM','RE') +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 +--INIZIO INTERVENTO MIGRAZIONE ASU3 +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'ASU1' AS TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,UL.ISINFIT AS ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.CODINT = UL.CODINT + AND CS.SUBPROD = UL.SUBPROD + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +--INIZIO INTERVENTO 'RE' - 20161213 + --AND UL.CODINT IN ('RS','RB','RV','RM') + AND UL.CODINT IN ('RS','RB','RV','RM','RE') +--FINE INTERVENTO 'RE' - 20161213 +AND C6.UltimoAperto = 1 +--FINE INTERVENTO MIGRAZIONE ASU3 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime ) AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = @dtTrime + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 +--inizio intervento per Omnia linea Self +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192')) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192') + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +--fine intervento per Omnia linea Self +--inizio inserimento su testquality emanuele +--insert into c6martperiodico.test_quality +--select distinct rete, codfis, 'LINEA SELF ISIN A NULL SU TABELLA WSEIGP' from C6StagingPeriodico.WSEIGP where isin is null +--fine inserimento su testquality emanuele + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20171204_preRFMP.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20171204_preRFMP.sql new file mode 100644 index 00000000..487ace4f --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20171204_preRFMP.sql @@ -0,0 +1,540 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20171204_preRFMP] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + Declare @dtTrime as decimal; + Declare @dtTrimePrec as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192') +--INIZIO INTERVENTO MIGRAZIONE ASU3 +--INIZIO INTERVENTO 'RE' - 20161213 + --AND CODINT NOT IN ('RS','RB','RV','RM') + AND CODINT NOT IN ('RS','RB','RV','RM','RE') +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 +--INIZIO INTERVENTO MIGRAZIONE ASU3 +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'ASU1' AS TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,UL.ISINFIT AS ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.CODINT = UL.CODINT + AND CS.SUBPROD = UL.SUBPROD + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +--INIZIO INTERVENTO 'RE' - 20161213 + --AND UL.CODINT IN ('RS','RB','RV','RM') + AND UL.CODINT IN ('RS','RB','RV','RM','RE') +--FINE INTERVENTO 'RE' - 20161213 +AND C6.UltimoAperto = 1 +--FINE INTERVENTO MIGRAZIONE ASU3 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime ) AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = @dtTrime + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 +--inizio intervento per Omnia linea Self +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192')) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192') + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +--fine intervento per Omnia linea Self +--inizio inserimento su testquality emanuele +--insert into c6martperiodico.test_quality +--select distinct rete, codfis, 'LINEA SELF ISIN A NULL SU TABELLA WSEIGP' from C6StagingPeriodico.WSEIGP where isin is null +--fine inserimento su testquality emanuele + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql new file mode 100644 index 00000000..1bd55118 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql @@ -0,0 +1,546 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + Declare @dtTrime as decimal; + Declare @dtTrimePrec as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192') +--INIZIO INTERVENTO MIGRAZIONE ASU3 +--INIZIO INTERVENTO 'RE' - 20161213 + --AND CODINT NOT IN ('RS','RB','RV','RM') + --INIZIO INTERVENTO 'RF/MP' - 20171204 + --AND CODINT NOT IN ('RS','RB','RV','RM','RE') + AND CODINT NOT IN ('RS','RB','RV','RM','RE','RF') + --FINE INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 +--INIZIO INTERVENTO MIGRAZIONE ASU3 +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'ASU1' AS TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,UL.ISINFIT AS ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.CODINT = UL.CODINT + AND CS.SUBPROD = UL.SUBPROD + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +--INIZIO INTERVENTO 'RE' - 20161213 + --AND UL.CODINT IN ('RS','RB','RV','RM') + --INIZIO INTERVENTO 'RF/MP' - 20171204 + --AND UL.CODINT IN ('RS','RB','RV','RM','RE') + AND UL.CODINT IN ('RS','RB','RV','RM','RE','RF') + --FINE INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 +AND C6.UltimoAperto = 1 +--FINE INTERVENTO MIGRAZIONE ASU3 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime ) AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = @dtTrime + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 +--inizio intervento per Omnia linea Self +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192')) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192') + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +--fine intervento per Omnia linea Self +--inizio inserimento su testquality emanuele +--insert into c6martperiodico.test_quality +--select distinct rete, codfis, 'LINEA SELF ISIN A NULL SU TABELLA WSEIGP' from C6StagingPeriodico.WSEIGP where isin is null +--fine inserimento su testquality emanuele + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190725.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190725.sql new file mode 100644 index 00000000..459cb0a0 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190725.sql @@ -0,0 +1,754 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- Aggiunta GESTIONE Fogli V301 (Colaneri, 31/01/2019) +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20190725] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + Declare @dtTrime as decimal; + Declare @dtTrimePrec as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192') + -- Modifica del 31/01/2019 AC + -- dalla WSEICS va esclusa anche la riga che riguarda il prodotto V301 (assimilato a L191 e L192). Questo tipo di prodotti viene caricato, come dettaglio, dalla WSEIGP (vedi ultime select) + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192', 'V301') + -- Fine modifica del 31/01/2019 AC +--INIZIO INTERVENTO MIGRAZIONE ASU3 +--INIZIO INTERVENTO 'RE' - 20161213 + --AND CODINT NOT IN ('RS','RB','RV','RM') + --INIZIO INTERVENTO 'RF/MP' - 20171204 + --AND CODINT NOT IN ('RS','RB','RV','RM','RE') + AND CODINT NOT IN ('RS','RB','RV','RM','RE','RF') + --FINE INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 +--INIZIO INTERVENTO MIGRAZIONE ASU3 +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'ASU1' AS TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,UL.ISINFIT AS ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.CODINT = UL.CODINT + AND CS.SUBPROD = UL.SUBPROD + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +--INIZIO INTERVENTO 'RE' - 20161213 + --AND UL.CODINT IN ('RS','RB','RV','RM') + --INIZIO INTERVENTO 'RF/MP' - 20171204 + --AND UL.CODINT IN ('RS','RB','RV','RM','RE') + AND UL.CODINT IN ('RS','RB','RV','RM','RE','RF') + --FINE INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 +AND C6.UltimoAperto = 1 +--FINE INTERVENTO MIGRAZIONE ASU3 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime ) AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = @dtTrime + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 +--inizio intervento per Omnia linea Self +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192')) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192') + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +--fine intervento per Omnia linea Self +-- Modifica del 31/01/2019 AC prodotti MioFoglio +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('V301')) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('V301') + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +-- Fine Modifica del 31/01/2019 +--inizio inserimento su testquality emanuele +--insert into c6martperiodico.test_quality +--select distinct rete, codfis, 'LINEA SELF ISIN A NULL SU TABELLA WSEIGP' from C6StagingPeriodico.WSEIGP where isin is null +--fine inserimento su testquality emanuele + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli.sql new file mode 100644 index 00000000..99e41c6a --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli.sql @@ -0,0 +1,472 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + Declare @dtTrime as decimal; + Declare @dtTrimePrec as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191') +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime ) AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = @dtTrime + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 +--inizio intervento per Omnia linea Self +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN = 'EURO00000009' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN = 'EURO00000009' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN = 'EURO00000009' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod = 'L191') AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod = 'L191' + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +--fine intervento per Omnia linea Self +--inizio inserimento su testquality emanuele +--insert into c6martperiodico.test_quality +--select distinct rete, codfis, 'LINEA SELF ISIN A NULL SU TABELLA WSEIGP' from C6StagingPeriodico.WSEIGP where isin is null +--fine inserimento su testquality emanuele + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_pre_selective.sql new file mode 100644 index 00000000..756bcf2a --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_pre_selective.sql @@ -0,0 +1,540 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + Declare @dtTrime as decimal; + Declare @dtTrimePrec as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192') +--INIZIO INTERVENTO MIGRAZIONE ASU3 +--INIZIO INTERVENTO 'RE' - 20161213 + --AND CODINT NOT IN ('RS','RB','RV','RM') + AND CODINT NOT IN ('RS','RB','RV','RM','RE') +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 +--INIZIO INTERVENTO MIGRAZIONE ASU3 +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'ASU1' AS TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,UL.ISINFIT AS ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.CODINT = UL.CODINT + AND CS.SUBPROD = UL.SUBPROD + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +--INIZIO INTERVENTO 'RE' - 20161213 + --AND UL.CODINT IN ('RS','RB','RV','RM') + AND UL.CODINT IN ('RS','RB','RV','RM','RE') +--FINE INTERVENTO 'RE' - 20161213 +AND C6.UltimoAperto = 1 +--FINE INTERVENTO MIGRAZIONE ASU3 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime ) AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = @dtTrime + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 +--inizio intervento per Omnia linea Self +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192')) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192') + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +--fine intervento per Omnia linea Self +--inizio inserimento su testquality emanuele +--insert into c6martperiodico.test_quality +--select distinct rete, codfis, 'LINEA SELF ISIN A NULL SU TABELLA WSEIGP' from C6StagingPeriodico.WSEIGP where isin is null +--fine inserimento su testquality emanuele + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_TB_ESG_ANAG_STRUM.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_TB_ESG_ANAG_STRUM.sql new file mode 100644 index 00000000..bf152e1c --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_TB_ESG_ANAG_STRUM.sql @@ -0,0 +1,156 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_TB_ESG_ANAG_STRUM] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_TB_ESG_ANAG_STRUM', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_TB_ESG_ANAG_STRUM +INSERT INTO [C6StagingPeriodico].[RP_TB_ESG_ANAG_STRUM] + ( [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[CatSFDR] + ,[ESGRating] + ,[TrendESGRating] + ,[TrendESGRating_val] + ,[dtInserimento] + ,[dtAggiornamento] + ,[UserIns] + ,[CLIENT_ID] + ,[C_TIPO_STRUMENTO] + ,[LABEL_Green_Bond] + ,[LABEL_Social_Bond] + ,[LABEL_Sustainability_Bond] + ,[LABEL_Transition_Bond] + ,[LABEL_Sust_linked_bond] + ,[LABEL_EU_GREEN_BOND_STANDARD] + ,[SDG_06_NET_ALIGNMENT_SCORE] + ,[SDG_07_NET_ALIGNMENT_SCORE] + ,[SDG_12_NET_ALIGNMENT_SCORE] + ,[SDG_13_NET_ALIGNMENT_SCORE] + ,[SDG_14_NET_ALIGNMENT_SCORE] + ,[SDG_15_NET_ALIGNMENT_SCORE] + ,[SDG_01_NET_ALIGNMENT_SCORE] + ,[SDG_02_NET_ALIGNMENT_SCORE] + ,[SDG_03_NET_ALIGNMENT_SCORE] + ,[SDG_04_NET_ALIGNMENT_SCORE] + ,[SDG_05_NET_ALIGNMENT_SCORE] + ,[SDG_08_NET_ALIGNMENT_SCORE] + ,[SDG_09_NET_ALIGNMENT_SCORE] + ,[SDG_10_NET_ALIGNMENT_SCORE] + ,[SDG_11_NET_ALIGNMENT_SCORE] + ,[SDG_16_NET_ALIGNMENT_SCORE] + ,[SDG_17_NET_ALIGNMENT_SCORE] + ,[PERC_INVESTIMENTO_TAXONOMY] + ,[PERC_INVESTIMENTO_SFDR] + ,[PERC_INVEST_OTHER_E_NO_TAX] + ,[PERC_INVEST_SFDR_MIN_SUST_E] + ,[PERC_INVEST_SFDR_MIN_SUST_S] + ,[PAI_LAB_A_Emissioni_Gas_Serra] + ,[PAI_LAB_A_Biodiversita] + ,[PAI_LAB_A_Acqua] + ,[PAI_LAB_A_Rifiuti] + ,[PAI_LAB_A_Gov_Ambientale] + ,[PAI_LAB_A_Comb_Fossili] + ,[PAI_LAB_A_Eff_energetica] + ,[PAI_LAB_A_Settore_Immobiliare] + ,[PAI_LAB_S_Questioni_Soc_Dip] + ,[PAI_LAB_S_Gov_Sociali] + ,[U_INFO_ESG] + ,[AGGREG_PAI_LAB_A] + ,[AGGREG_PAI_LAB_S] + ,[AGGREG_BOND] + ,[REF_DATE]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[CatSFDR] + ,[ESGRating] + ,[TrendESGRating] + ,[TrendESGRating_val] + ,[dtInserimento] + ,[dtAggiornamento] + ,[UserIns] + ,[CLIENT_ID] + ,[C_TIPO_STRUMENTO] + ,[LABEL_Green_Bond] + ,[LABEL_Social_Bond] + ,[LABEL_Sustainability_Bond] + ,[LABEL_Transition_Bond] + ,[LABEL_Sust_linked_bond] + ,[LABEL_EU_GREEN_BOND_STANDARD] + ,[SDG_06_NET_ALIGNMENT_SCORE] + ,[SDG_07_NET_ALIGNMENT_SCORE] + ,[SDG_12_NET_ALIGNMENT_SCORE] + ,[SDG_13_NET_ALIGNMENT_SCORE] + ,[SDG_14_NET_ALIGNMENT_SCORE] + ,[SDG_15_NET_ALIGNMENT_SCORE] + ,[SDG_01_NET_ALIGNMENT_SCORE] + ,[SDG_02_NET_ALIGNMENT_SCORE] + ,[SDG_03_NET_ALIGNMENT_SCORE] + ,[SDG_04_NET_ALIGNMENT_SCORE] + ,[SDG_05_NET_ALIGNMENT_SCORE] + ,[SDG_08_NET_ALIGNMENT_SCORE] + ,[SDG_09_NET_ALIGNMENT_SCORE] + ,[SDG_10_NET_ALIGNMENT_SCORE] + ,[SDG_11_NET_ALIGNMENT_SCORE] + ,[SDG_16_NET_ALIGNMENT_SCORE] + ,[SDG_17_NET_ALIGNMENT_SCORE] + ,[PERC_INVESTIMENTO_TAXONOMY] + ,[PERC_INVESTIMENTO_SFDR] + ,[PERC_INVEST_OTHER_E_NO_TAX] + ,[PERC_INVEST_SFDR_MIN_SUST_E] + ,[PERC_INVEST_SFDR_MIN_SUST_S] + ,[PAI_LAB_A_Emissioni_Gas_Serra] + ,[PAI_LAB_A_Biodiversita] + ,[PAI_LAB_A_Acqua] + ,[PAI_LAB_A_Rifiuti] + ,[PAI_LAB_A_Gov_Ambientale] + ,[PAI_LAB_A_Comb_Fossili] + ,[PAI_LAB_A_Eff_energetica] + ,[PAI_LAB_A_Settore_Immobiliare] + ,[PAI_LAB_S_Questioni_Soc_Dip] + ,[PAI_LAB_S_Gov_Sociali] + ,[U_INFO_ESG] + ,[AGGREG_PAI_LAB_A] + ,[AGGREG_PAI_LAB_S] + ,[AGGREG_BOND] + ,[REF_DATE] + from [CONSUNI].CatalogoProdotti.dbo.TB_ESG_ANAG_STRUM + --from [COLL].CatalogoProdotti.dbo.TB_ESG_ANAG_STRUM + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_TB_ESG_ANAG_STRUM' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_TB_ESG_ANAG_STRUM' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_TB_ESG_ANAG_STRUM_bkp_Pre_ESG4.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_TB_ESG_ANAG_STRUM_bkp_Pre_ESG4.sql new file mode 100644 index 00000000..61ad32b3 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_TB_ESG_ANAG_STRUM_bkp_Pre_ESG4.sql @@ -0,0 +1,153 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_TB_ESG_ANAG_STRUM_bkp_Pre_ESG4] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_TB_ESG_ANAG_STRUM', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--drop table C6StagingPeriodico.RP_CatalogoProdotti + truncate table C6StagingPeriodico.RP_TB_ESG_ANAG_STRUM +INSERT INTO [C6StagingPeriodico].[RP_TB_ESG_ANAG_STRUM] + ( [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[CatSFDR] + ,[ESGRating] + ,[TrendESGRating] + ,[TrendESGRating_val] + ,[dtInserimento] + ,[dtAggiornamento] + ,[UserIns] + ,[CLIENT_ID] + ,[C_TIPO_STRUMENTO] + ,[LABEL_Green_Bond] + ,[LABEL_Social_Bond] + ,[LABEL_Sustainability_Bond] + ,[LABEL_Transition_Bond] + ,[LABEL_Sust_linked_bond] + ,[LABEL_EU_GREEN_BOND_STANDARD] + ,[SDG_06_NET_ALIGNMENT_SCORE] + ,[SDG_07_NET_ALIGNMENT_SCORE] + ,[SDG_12_NET_ALIGNMENT_SCORE] + ,[SDG_13_NET_ALIGNMENT_SCORE] + ,[SDG_14_NET_ALIGNMENT_SCORE] + ,[SDG_15_NET_ALIGNMENT_SCORE] + ,[SDG_01_NET_ALIGNMENT_SCORE] + ,[SDG_02_NET_ALIGNMENT_SCORE] + ,[SDG_03_NET_ALIGNMENT_SCORE] + ,[SDG_04_NET_ALIGNMENT_SCORE] + ,[SDG_05_NET_ALIGNMENT_SCORE] + ,[SDG_08_NET_ALIGNMENT_SCORE] + ,[SDG_09_NET_ALIGNMENT_SCORE] + ,[SDG_10_NET_ALIGNMENT_SCORE] + ,[SDG_11_NET_ALIGNMENT_SCORE] + ,[SDG_16_NET_ALIGNMENT_SCORE] + ,[SDG_17_NET_ALIGNMENT_SCORE] + ,[PERC_INVESTIMENTO_TAXONOMY] + ,[PERC_INVESTIMENTO_SFDR] + ,[PERC_INVEST_OTHER_E_NO_TAX] + ,[PERC_INVEST_SFDR_MIN_SUST_E] + ,[PERC_INVEST_SFDR_MIN_SUST_S] + ,[PAI_LAB_A_Emissioni_Gas_Serra] + ,[PAI_LAB_A_Biodiversita] + ,[PAI_LAB_A_Acqua] + ,[PAI_LAB_A_Rifiuti] + ,[PAI_LAB_A_Gov_Ambientale] + ,[PAI_LAB_A_Comb_Fossili] + ,[PAI_LAB_A_Eff_energetica] + ,[PAI_LAB_S_Questioni_Soc_Dip] + ,[PAI_LAB_S_Gov_Sociali] + ,[U_INFO_ESG] + ,[AGGREG_PAI_LAB_A] + ,[AGGREG_PAI_LAB_S] + ,[AGGREG_BOND] + ,[REF_DATE]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[CatSFDR] + ,[ESGRating] + ,[TrendESGRating] + ,[TrendESGRating_val] + ,[dtInserimento] + ,[dtAggiornamento] + ,[UserIns] + ,[CLIENT_ID] + ,[C_TIPO_STRUMENTO] + ,[LABEL_Green_Bond] + ,[LABEL_Social_Bond] + ,[LABEL_Sustainability_Bond] + ,[LABEL_Transition_Bond] + ,[LABEL_Sust_linked_bond] + ,[LABEL_EU_GREEN_BOND_STANDARD] + ,[SDG_06_NET_ALIGNMENT_SCORE] + ,[SDG_07_NET_ALIGNMENT_SCORE] + ,[SDG_12_NET_ALIGNMENT_SCORE] + ,[SDG_13_NET_ALIGNMENT_SCORE] + ,[SDG_14_NET_ALIGNMENT_SCORE] + ,[SDG_15_NET_ALIGNMENT_SCORE] + ,[SDG_01_NET_ALIGNMENT_SCORE] + ,[SDG_02_NET_ALIGNMENT_SCORE] + ,[SDG_03_NET_ALIGNMENT_SCORE] + ,[SDG_04_NET_ALIGNMENT_SCORE] + ,[SDG_05_NET_ALIGNMENT_SCORE] + ,[SDG_08_NET_ALIGNMENT_SCORE] + ,[SDG_09_NET_ALIGNMENT_SCORE] + ,[SDG_10_NET_ALIGNMENT_SCORE] + ,[SDG_11_NET_ALIGNMENT_SCORE] + ,[SDG_16_NET_ALIGNMENT_SCORE] + ,[SDG_17_NET_ALIGNMENT_SCORE] + ,[PERC_INVESTIMENTO_TAXONOMY] + ,[PERC_INVESTIMENTO_SFDR] + ,[PERC_INVEST_OTHER_E_NO_TAX] + ,[PERC_INVEST_SFDR_MIN_SUST_E] + ,[PERC_INVEST_SFDR_MIN_SUST_S] + ,[PAI_LAB_A_Emissioni_Gas_Serra] + ,[PAI_LAB_A_Biodiversita] + ,[PAI_LAB_A_Acqua] + ,[PAI_LAB_A_Rifiuti] + ,[PAI_LAB_A_Gov_Ambientale] + ,[PAI_LAB_A_Comb_Fossili] + ,[PAI_LAB_A_Eff_energetica] + ,[PAI_LAB_S_Questioni_Soc_Dip] + ,[PAI_LAB_S_Gov_Sociali] + ,[U_INFO_ESG] + ,[AGGREG_PAI_LAB_A] + ,[AGGREG_PAI_LAB_S] + ,[AGGREG_BOND] + ,[REF_DATE] + from [CONSUNI].CatalogoProdotti.dbo.TB_ESG_ANAG_STRUM + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_TB_ESG_ANAG_STRUM' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_TB_ESG_ANAG_STRUM' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_anagrafica_promotori.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_anagrafica_promotori.sql new file mode 100644 index 00000000..d4084b98 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_anagrafica_promotori.sql @@ -0,0 +1,46 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_anagrafica_promotori] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_anagrafica_promotori', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_anagrafica_promotori + insert into C6StagingPeriodico.RP_anagrafica_promotori + --select * into C6StagingPeriodico.RP_anagrafica_promotori from [CONSEVO].ConsulenzaEvoluta.dbo.anagrafica_promotori + select * from [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.anagrafica_promotori + -- UPDATE INSERITA IL 26/01/2016 PER RISOLVERE LA SEGNALAZIONE DI FOGA' (ID 152) + update C6StagingPeriodico.RP_anagrafica_promotori + set provincia = a.provincia, + telefono1 = a.telefono1, + indirizzo = a.indirizzo, + cap = a.cap, + prefisso = a.prefisso, + citta_nascita = a.citta_nascita, + citta = a.citta + from [CONSUNI].ConsulenzaUnica.dbo.anagrafica_promotori a + inner join C6StagingPeriodico.RP_anagrafica_promotori b + on a.rete = b.rete and a.codage=b.codage + where a.stato = b.stato + ----------------------------------------------------------------------------------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_anagrafica_promotori' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_anagrafica_promotori' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_anagrafica_promotori_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_anagrafica_promotori_pre_selective.sql new file mode 100644 index 00000000..900d0a12 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_anagrafica_promotori_pre_selective.sql @@ -0,0 +1,46 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_anagrafica_promotori_pre_selective] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_anagrafica_promotori_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_anagrafica_promotori + insert into C6StagingPeriodico.RP_anagrafica_promotori + --select * into C6StagingPeriodico.RP_anagrafica_promotori from [CONSEVO].ConsulenzaEvoluta.dbo.anagrafica_promotori + select * from [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.anagrafica_promotori + -- UPDATE INSERITA IL 26/01/2016 PER RISOLVERE LA SEGNALAZIONE DI FOGA' (ID 152) + update C6StagingPeriodico.RP_anagrafica_promotori + set provincia = a.provincia, + telefono1 = a.telefono1, + indirizzo = a.indirizzo, + cap = a.cap, + prefisso = a.prefisso, + citta_nascita = a.citta_nascita, + citta = a.citta + from [CONSUNI].ConsulenzaUnica.dbo.anagrafica_promotori a + inner join C6StagingPeriodico.RP_anagrafica_promotori b + on a.rete = b.rete and a.codage=b.codage + where a.stato = b.stato + ----------------------------------------------------------------------------------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_anagrafica_promotori_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_anagrafica_promotori_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_ST_vNewPositionProposta.sql b/sql/storedProduzione/C6StagingPeriodico_RP_ST_vNewPositionProposta.sql new file mode 100644 index 00000000..855bc6b2 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_ST_vNewPositionProposta.sql @@ -0,0 +1,29 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_vNewPositionProposta] +as +begin +truncate table [C6StagingPeriodico].[RP_vNewPositionProposta] +insert into [C6StagingPeriodico].[RP_vNewPositionProposta] +select + pro.chiaveClientePB, + ope.nomeProgettoProp, + ope.areaProp, + pospro.chiaveProgetto, + cat.codSottoprodotto, + cat.codInterno, + cat.codMaf, + cat.codIsin, + cat.tipoProdotto, + null as positionIdProposta +from + C6StagingPeriodico.RP_Proposta pro, + C6StagingPeriodico.RP_DettaglioOperazione ope, + C6StagingPeriodico.RP_PosizioniProposta pospro, + C6StagingPeriodico.RP_catalogoprodotti cat +where + pro.chiaveproposta=ope.chiaveproposta + and ope.chiaveposizionepro=pospro.chiaveposizionepro + and pospro.chiaveprodotto=cat.chiaveprodotto + and ope.chiaveposizioneptf=0--ISANEWPOSITION = 1 + and ope.posriallocata=0--RICONCILIATA = 0 + and pro.status in ('PE','ES')--STATO_PROPOSTA in ('InEsecuzione', 'ParzialmenteEseguita') +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_APPO_CONTRATTI.sql b/sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_APPO_CONTRATTI.sql new file mode 100644 index 00000000..81dfe916 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_APPO_CONTRATTI.sql @@ -0,0 +1,118 @@ +CREATE procedure [C6StagingPeriodico].[RP_UPDATE_APPO_CONTRATTI] +AS +begin +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_APPO_CONTRATTI', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6StagingPERIODICO.APPO_CONTRATTI_BACKUP +INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI_BACKUP +SELECT * FROM C6StagingPERIODICO.APPO_CONTRATTI +----TRUNCATE TABLE C6StagingPERIODICO.APPO_CONTRATTI +--UPDATE C6StagingPERIODICO.APPO_CONTRATTI +--SET codiceContratto = v.codiceContratto, +--TIP_CONTRATTO = 2 +--FROM +-- C6StagingPERIODICO.APPO_CONTRATTI c +-- INNER JOIN +-- [C6Mart].[vContratti] v +---- dbo.vcontrattiCong011013 v +-- ON c.chiaveclientepb = v.chiaveclientepb +--WHERE +-- c.codiceContratto <> v.codiceContratto +--AND c.TIP_CONTRATTO <> v.TIP_CONTRATTO +--AND v.TIP_CONTRATTO = 2 +declare @firstDayMonthPreTrimestrale datetime +declare @lastDayMonthPreTrimestralePiuUno datetime +set @firstDayMonthPreTrimestrale = c6martperiodico.getTrimestre(getDate(), 1) +set @lastDayMonthPreTrimestralePiuUno = dateadd(day,1,c6martperiodico.getTrimestre(getDate(), 0)) +--set @firstDayMonthPreTrimestrale = '20131201' +--set @lastDayMonthPreTrimestralePiuUno = '20140101' +UPDATE C6StagingPERIODICO.APPO_CONTRATTI +SET codiceContratto = CNTPRI.C, + TIP_CONTRATTO = 2 + ,freq_diagnosi = null + ,data_iniziobase = CNTPRI.data_iniziobase + ,data_finebase = CNTPRI.data_finebase + ,data_perf = CNTPRI.data_perf + ,data_perf_base = CNTPRI.data_perf_base + ,DATA_INZIOAVANZATO = CNTPRI.DATA_INZIOAVANZATO + ,data_fineavanzato = CNTPRI.data_fineavanzato +FROM + (SELECT TT.CF,TT.R,TT.C, VC.TIP_CONTRATTO + ,vc.data_iniziobase + ,vc.data_finebase + ,vc.data_perf + ,vc.data_perf_base + ,VC.DATA_INZIOAVANZATO + ,vc.data_fineavanzato + FROM C6MART.VCONTRATTI VC INNER JOIN + (SELECT + PDF1.CODICEFISCALE AS CF, + PDF1.RETE AS R, + SUBSTRING(PDF1.NOMEFILE,0,12) AS C, + PDF1.DATAGENERAZIONE AS D + FROM c6mart.gestione_PDF_ftp PDF1 INNER JOIN + (SELECT + CODICEFISCALE, + RETE, + MAX(DATAGENERAZIONE) AS DATAGENERAZIONE + FROM c6mart.gestione_PDF_ftp + WHERE 1=1 AND DATAGENERAZIONE >= @firstDayMonthPreTrimestrale and DATAGENERAZIONE < @lastDayMonthPreTrimestralePiuUno + GROUP BY CODICEFISCALE,RETE) PDF2 + ON PDF1.CODICEFISCALE=PDF2.CODICEFISCALE + AND PDF1.RETE=PDF2.RETE + AND PDF1.DATAGENERAZIONE=PDF2.DATAGENERAZIONE + WHERE 1=1 + ) TT + ON TT.CF = VC.COD_FISCALE AND TT.R = VC.RETE + WHERE TIP_CONTRATTO = 2 + ) CNTPRI + inner join C6StagingPERIODICO.APPO_CONTRATTI t + on t.cod_fiscale = CNTPRI.CF AND t.Rete = CNTPRI.R + where t.tip_contratto <> CNTPRI.tip_contratto and CNTPRI.tip_contratto = 2 +UPDATE C6StagingPERIODICO.APPO_CONTRATTI +set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,provincia = a.Provincia + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITORAGGIO = a.FREQ_MONITORAGGIO + ,data_fineavanzato = a.data_fineavanzato +from c6mart.vcontratti a +inner join C6StagingPERIODICO.APPO_CONTRATTI b +on a.codicecontratto = b.codicecontratto +--aggiornamento 28/11/2022 +update C6StagingPeriodico.APPO_CONTRATTI +set COD_MANDATO='' +where COD_MANDATO is null +update C6StagingPeriodico.APPO_CONTRATTI +set PIVA_FIDUCIARIA='' +where PIVA_FIDUCIARIA is null +--fine aggiornamento 28/11/2022 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_COMPLESSITA.sql b/sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_COMPLESSITA.sql new file mode 100644 index 00000000..65dfdbfe --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_COMPLESSITA.sql @@ -0,0 +1,183 @@ +CREATE procedure [C6StagingPeriodico].[RP_UPDATE_COMPLESSITA] +as +begin +/********************FOGLIO 1 UNIT LINKED************************************************************/ +--begin transaction +UPDATE C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +SET COMPLESSITA=1 +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX = 1 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'18', +'19', +'29', +'35', +'37', +'38', +'48', +'49', +'60', +'BT', +'ES', +'FR', +'FS', +'FT', +'FU', +--'GP', +'KP', +'OA', +'PO', +'PY', +'SB', +--'PR', +--'PX', +'SE', +'SF', +--'SI', +'ST', +'SU', +'K1', +'K2', +'K3', +'K4', +'K5', +'K6', +'K7') +/**************************FOGLIO 1 UNIT LINKED*******************INSERITA LA CONDIZIONE PER I SOTTOPRODOTTI DA ESCLUDERE ********************************/ +SELECT * FROM C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +UPDATE C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +SET COMPLESSITA=2 +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=2 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'S1', +'S2', +'S3', +'S4', +'S5', +'S6', +'S7', +'S8' +) +and +--cod_sottoprodotto not in +CodSottoprodotto not in +('20001','20002','20005','20008') +update C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +set complessita = 1 +--UPDATE c6martperiodico.patrimonio_bf +--set complex = 1 +where +--cod_interno in +CodInterno in +('S1','S2','S4','S5','S8') +--and cod_sottoprodotto in +and CodSottoprodotto in +('20001','20002','20005','20008') +/******************************FOGLIO 1 UNIT LINKED**********************************************************/ +UPDATE C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'A7', +'A8') +/**************************************FOGLIO 2 FONDI*************************************************/ +UPDATE C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +CodSottoprodotto IN +( + '7149S' +,'7145S' +,'9968S' +) +/************************************FOGLIO 2 FONDI****************************************************/ +UPDATE C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_SOTTOPRODOTTO = '7146S' +CodSottoprodotto = '7146S' +/***********************************FOGLIO 3 CERTIFICATES************GIOVANNI HA DETTO CHE VANNO UPDATATI A 1 *****************************************/ +UPDATE C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_ISIN IN +CodIsin IN +( + 'DE000A0LJ552' +,'DE000A0MG8R0' +,'IT0004189368' +,'GB00B1WVWP64' +,'GB00B1Y3ZZ16' +,'XS0354254111' +,'GB00B2QM7Y61' +,'XS0235278982' +,'XS0179585186' +) +AND +CodInterno IN +( + '00101740' +,'09139480' +,'09161420' +,'00830060' +,'09205930' +,'00168130' +,'08525040' +,'08556110' +,'09201230' +) +--update c6martperiodico.patrimonio_bf +--set complex = 1 +-- +--where cod_prodotto in( +-- +-- +-- +--select cod_prodotto +--from +--c6martperiodico.anag_prodotti b +--where cod_isin in ( +-- 'DE000A0LJ552' +--,'DE000A0MG8R0' +--,'IT0004189368' +--,'GB00B1WVWP64' +--,'GB00B1Y3ZZ16' +--,'XS0354254111' +--,'GB00B2QM7Y61' +--,'XS0235278982' +--,'XS0179585186' +--) +--AND +--COD_INTERNO IN +--( +-- '00101740' +--,'09139480' +--,'09161420' +--,'00830060' +--,'09205930' +--,'00168130' +--,'08525040' +--,'08556110' +--,'09201230' +--)) +-- +--commit +end +--exec c6martperiodico.dm_complessita \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_20161213.sql b/sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_20161213.sql new file mode 100644 index 00000000..631a74f3 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_20161213.sql @@ -0,0 +1,183 @@ +CREATE procedure [C6StagingPeriodico].[RP_UPDATE_COMPLESSITA_20161213] +as +begin +/********************FOGLIO 1 UNIT LINKED************************************************************/ +--begin transaction +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +SET COMPLESSITA=1 +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX = 1 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'18', +'19', +'29', +'35', +'37', +'38', +'48', +'49', +'60', +'BT', +'ES', +'FR', +'FS', +'FT', +'FU', +--'GP', +'KP', +'OA', +'PO', +'PY', +'SB', +--'PR', +--'PX', +'SE', +'SF', +--'SI', +'ST', +'SU', +'K1', +'K2', +'K3', +'K4', +'K5', +'K6', +'K7') +/**************************FOGLIO 1 UNIT LINKED*******************INSERITA LA CONDIZIONE PER I SOTTOPRODOTTI DA ESCLUDERE ********************************/ +SELECT * FROM [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +SET COMPLESSITA=2 +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=2 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'S1', +'S2', +'S3', +'S4', +'S5', +'S6', +'S7', +'S8' +) +and +--cod_sottoprodotto not in +CodSottoprodotto not in +('20001','20002','20005','20008') +update C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +set complessita = 1 +--UPDATE c6martperiodico.patrimonio_bf +--set complex = 1 +where +--cod_interno in +CodInterno in +('S1','S2','S4','S5','S8') +--and cod_sottoprodotto in +and CodSottoprodotto in +('20001','20002','20005','20008') +/******************************FOGLIO 1 UNIT LINKED**********************************************************/ +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'A7', +'A8') +/**************************************FOGLIO 2 FONDI*************************************************/ +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +CodSottoprodotto IN +( + '7149S' +,'7145S' +,'9968S' +) +/************************************FOGLIO 2 FONDI****************************************************/ +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_SOTTOPRODOTTO = '7146S' +CodSottoprodotto = '7146S' +/***********************************FOGLIO 3 CERTIFICATES************GIOVANNI HA DETTO CHE VANNO UPDATATI A 1 *****************************************/ +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_ISIN IN +CodIsin IN +( + 'DE000A0LJ552' +,'DE000A0MG8R0' +,'IT0004189368' +,'GB00B1WVWP64' +,'GB00B1Y3ZZ16' +,'XS0354254111' +,'GB00B2QM7Y61' +,'XS0235278982' +,'XS0179585186' +) +AND +CodInterno IN +( + '00101740' +,'09139480' +,'09161420' +,'00830060' +,'09205930' +,'00168130' +,'08525040' +,'08556110' +,'09201230' +) +--update c6martperiodico.patrimonio_bf +--set complex = 1 +-- +--where cod_prodotto in( +-- +-- +-- +--select cod_prodotto +--from +--c6martperiodico.anag_prodotti b +--where cod_isin in ( +-- 'DE000A0LJ552' +--,'DE000A0MG8R0' +--,'IT0004189368' +--,'GB00B1WVWP64' +--,'GB00B1Y3ZZ16' +--,'XS0354254111' +--,'GB00B2QM7Y61' +--,'XS0235278982' +--,'XS0179585186' +--) +--AND +--COD_INTERNO IN +--( +-- '00101740' +--,'09139480' +--,'09161420' +--,'00830060' +--,'09205930' +--,'00168130' +--,'08525040' +--,'08556110' +--,'09201230' +--)) +-- +--commit +end +--exec c6martperiodico.dm_complessita \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_pre_selective.sql new file mode 100644 index 00000000..acde344e --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_pre_selective.sql @@ -0,0 +1,183 @@ +CREATE procedure [C6StagingPeriodico].[RP_UPDATE_COMPLESSITA_pre_selective] +as +begin +/********************FOGLIO 1 UNIT LINKED************************************************************/ +--begin transaction +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +SET COMPLESSITA=1 +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX = 1 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'18', +'19', +'29', +'35', +'37', +'38', +'48', +'49', +'60', +'BT', +'ES', +'FR', +'FS', +'FT', +'FU', +--'GP', +'KP', +'OA', +'PO', +'PY', +'SB', +--'PR', +--'PX', +'SE', +'SF', +--'SI', +'ST', +'SU', +'K1', +'K2', +'K3', +'K4', +'K5', +'K6', +'K7') +/**************************FOGLIO 1 UNIT LINKED*******************INSERITA LA CONDIZIONE PER I SOTTOPRODOTTI DA ESCLUDERE ********************************/ +SELECT * FROM [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +SET COMPLESSITA=2 +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=2 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'S1', +'S2', +'S3', +'S4', +'S5', +'S6', +'S7', +'S8' +) +and +--cod_sottoprodotto not in +CodSottoprodotto not in +('20001','20002','20005','20008') +update C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +set complessita = 1 +--UPDATE c6martperiodico.patrimonio_bf +--set complex = 1 +where +--cod_interno in +CodInterno in +('S1','S2','S4','S5','S8') +--and cod_sottoprodotto in +and CodSottoprodotto in +('20001','20002','20005','20008') +/******************************FOGLIO 1 UNIT LINKED**********************************************************/ +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'A7', +'A8') +/**************************************FOGLIO 2 FONDI*************************************************/ +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +CodSottoprodotto IN +( + '7149S' +,'7145S' +,'9968S' +) +/************************************FOGLIO 2 FONDI****************************************************/ +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_SOTTOPRODOTTO = '7146S' +CodSottoprodotto = '7146S' +/***********************************FOGLIO 3 CERTIFICATES************GIOVANNI HA DETTO CHE VANNO UPDATATI A 1 *****************************************/ +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_ISIN IN +CodIsin IN +( + 'DE000A0LJ552' +,'DE000A0MG8R0' +,'IT0004189368' +,'GB00B1WVWP64' +,'GB00B1Y3ZZ16' +,'XS0354254111' +,'GB00B2QM7Y61' +,'XS0235278982' +,'XS0179585186' +) +AND +CodInterno IN +( + '00101740' +,'09139480' +,'09161420' +,'00830060' +,'09205930' +,'00168130' +,'08525040' +,'08556110' +,'09201230' +) +--update c6martperiodico.patrimonio_bf +--set complex = 1 +-- +--where cod_prodotto in( +-- +-- +-- +--select cod_prodotto +--from +--c6martperiodico.anag_prodotti b +--where cod_isin in ( +-- 'DE000A0LJ552' +--,'DE000A0MG8R0' +--,'IT0004189368' +--,'GB00B1WVWP64' +--,'GB00B1Y3ZZ16' +--,'XS0354254111' +--,'GB00B2QM7Y61' +--,'XS0235278982' +--,'XS0179585186' +--) +--AND +--COD_INTERNO IN +--( +-- '00101740' +--,'09139480' +--,'09161420' +--,'00830060' +--,'09205930' +--,'00168130' +--,'08525040' +--,'08556110' +--,'09201230' +--)) +-- +--commit +end +--exec c6martperiodico.dm_complessita \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI.sql b/sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI.sql new file mode 100644 index 00000000..c4e8aa22 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI.sql @@ -0,0 +1,13 @@ +CREATE procedure [C6StagingPeriodico].[RP_UPDATE_RP_CATALOGOPRODOTTI] as +begin + update c6stagingperiodico.RP_CATALOGOPRODOTTI + set + tip_Emittente = B.tipoemittente, + tip_Tasso = B.tipoTasso + from + c6stagingperiodico.RP_CATALOGOPRODOTTI A + join + c6stagingperiodico.decodEmittente B + ON + A.CODISIN = B.ISIN +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI_pre_selective.sql new file mode 100644 index 00000000..5b981723 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI_pre_selective.sql @@ -0,0 +1,13 @@ +CREATE procedure [C6StagingPeriodico].[RP_UPDATE_RP_CATALOGOPRODOTTI_pre_selective] as +begin + update c6stagingperiodico.RP_CATALOGOPRODOTTI + set + tip_Emittente = B.tipoemittente, + tip_Tasso = B.tipoTasso + from + c6stagingperiodico.RP_CATALOGOPRODOTTI A + join + c6stagingperiodico.decodEmittente B + ON + A.CODISIN = B.ISIN +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_W6LogBatch.sql b/sql/storedProduzione/C6StagingPeriodico_RP_W6LogBatch.sql new file mode 100644 index 00000000..cd7aa912 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_W6LogBatch.sql @@ -0,0 +1,36 @@ +CREATE PROCEDURE C6StagingPeriodico.RP_W6LogBatch + @BatchName NVARCHAR(100) +AS +BEGIN + DECLARE @BatchID INT; + -- Trova l'ultimo batch in esecuzione con lo stesso nome + SELECT TOP 1 @BatchID = BatchID + FROM C6StagingPeriodico.W6LogBatch + WHERE BatchName = @BatchName AND EndDate IS NULL + ORDER BY BatchID DESC; + IF @BatchID IS NOT NULL + BEGIN + -- È la fine del batch + -- Aggiorna la data di fine, lo status e calcola il delta in minuti + UPDATE C6StagingPeriodico.W6LogBatch + SET EndDate = GETDATE(), + Status = 'OK', + DeltaMinutes = DATEDIFF(MINUTE, StartDate, GETDATE()) + WHERE BatchID = @BatchID; + -- Output o messaggio di conferma per la fine del batch + SELECT 'Log entry updated for BatchID ' + CAST(@BatchID AS NVARCHAR(20)) + '.' + + ' Batch "' + @BatchName + '" ended.'; + END + ELSE + BEGIN + -- È l'inizio del batch + -- Inserisci i dati relativi al log nella tabella C6StagingPeriodico.W6LogBatch + INSERT INTO C6StagingPeriodico.W6LogBatch (BatchName, Status, StartDate) + VALUES (@BatchName, 'In esecuzione', GETDATE()); + -- Ottieni l'ID del batch appena inserito + SET @BatchID = SCOPE_IDENTITY(); + -- Output o messaggio di conferma per l'inizio del batch + SELECT 'Log entry added for BatchID ' + CAST(@BatchID AS NVARCHAR(20)) + '.' + + ' Batch "' + @BatchName + '" started.'; + END +END; \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_clientiConMigrazione.sql b/sql/storedProduzione/C6StagingPeriodico_RP_clientiConMigrazione.sql new file mode 100644 index 00000000..c1f06825 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_clientiConMigrazione.sql @@ -0,0 +1,20 @@ +CREATE procedure [C6StagingPeriodico].[RP_clientiConMigrazione] +as +begin +truncate table [C6StagingPeriodico].[RP_V_clienti_contrsei_con_migraz] +INSERT INTO [C6StagingPeriodico].[RP_V_clienti_contrsei_con_migraz] + ([chiaveClientePb] + ,[rete] + ,[cod_fiscale] + ,[dtprimaMigrazione]) +select + a.chiaveClientePb, + b.rete, + b.cod_fiscale, + a.dtprimaMigrazione +from +C6StagingPeriodico.RP_MIGRAZ_PIANIFICAZIONE a +join +C6MartPeriodico.RP_vContrattiPerGenerazioneReport b +on a.chiaveClientePb = b.chiaveClientePb +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_RP_clientiConMigrazione_20170413_RM_nomeDB.sql b/sql/storedProduzione/C6StagingPeriodico_RP_clientiConMigrazione_20170413_RM_nomeDB.sql new file mode 100644 index 00000000..8a021e13 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_RP_clientiConMigrazione_20170413_RM_nomeDB.sql @@ -0,0 +1,20 @@ +CREATE procedure [C6StagingPeriodico].[RP_clientiConMigrazione_20170413_RM_nomeDB] +as +begin +truncate table [C6StagingPeriodico].[RP_V_clienti_contrsei_con_migraz] +INSERT INTO [C6StampeCentralizzate].[C6StagingPeriodico].[RP_V_clienti_contrsei_con_migraz] + ([chiaveClientePb] + ,[rete] + ,[cod_fiscale] + ,[dtprimaMigrazione]) +select + a.chiaveClientePb, + b.rete, + b.cod_fiscale, + a.dtprimaMigrazione +from +C6StagingPeriodico.RP_MIGRAZ_PIANIFICAZIONE a +join +C6MartPeriodico.RP_vContrattiPerGenerazioneReport b +on a.chiaveClientePb = b.chiaveClientePb +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_Recupero_Trimestrale_Scarti.sql b/sql/storedProduzione/C6StagingPeriodico_Recupero_Trimestrale_Scarti.sql new file mode 100644 index 00000000..e728ed76 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_Recupero_Trimestrale_Scarti.sql @@ -0,0 +1,30 @@ +CREATE procedure [C6StagingPeriodico].[Recupero_Trimestrale_Scarti] +as + drop table if exists c6stagingperiodico.BRS_AGGR_OUT_ALADDIN_appoggio + --select * + --into c6stagingperiodico.BRS_AGGR_OUT_ALADDIN_appoggio + --from c6stagingperiodico.BRS_AGGR_OUT_ALADDIN + exec [dbo].[CreaTabellaBackUp] 'W6CLIREP','C6MartPeriodico' + exec [dbo].[CreaTabellaBackUp] 'trimestrale_scarti','c6stagingperiodico' + exec [dbo].[CreaTabellaBackUp] 'BRS_AGGR_OUT_ALADDIN','C6stagingPeriodico' + exec [dbo].[CreaTabellaBackUp] 'ESG_Metriche_Cliente_IL','c6stagingperiodico' + drop table if exists #temp + drop table if exists c6stagingperiodico.BRS_AGGR_OUT_ALADDIN_appoggio + --preleva tutti i cf e piva che NON hanno avuto problemi e li mette in BRS_AGGR_OUT_ALADDIN_appoggio + select distinct * +into c6stagingperiodico.BRS_AGGR_OUT_ALADDIN_appoggio + from c6stagingperiodico.BRS_AGGR_OUT_ALADDIN + where Rete+CodiceFiscale+PIva+codman not in (select +Rete+codfis+PIva+codman from c6stagingperiodico.trimestrale_scarti) + --preleva tutti i cf e piva che hanno avuto problemi e li mette in una tabella temporanea per poi metterli nella w6clirep + select * + into #temp + from C6MartPeriodico.W6CLIREP where rete+codfis+piva+codman in (select +Rete+codfis+piva+codman from c6stagingperiodico.trimestrale_scarti) +truncate table C6MartPeriodico.W6CLIREP +insert into C6MartPeriodico.W6CLIREP +select * from #temp +Truncate table c6stagingperiodico.trimestrale_scarti +--update C6MartPeriodico.tab_semaforo +--set inizio_milestone=inizio_lotto +--where id_milestone=5 \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_SRV_CREA_QUERY_STORICO.sql b/sql/storedProduzione/C6StagingPeriodico_SRV_CREA_QUERY_STORICO.sql new file mode 100644 index 00000000..8c775ec1 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_SRV_CREA_QUERY_STORICO.sql @@ -0,0 +1,56 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 marzo 2009 +-- Description: SP FAKE per popolare le tabelle host del SIMPB in modo da avere qualche dato in più +-- quando si eseguono le SP del Presentation Layer +-- ============================================= +CREATE procedure [C6StagingPeriodico].[SRV_CREA_QUERY_STORICO] +AS +BEGIN + DECLARE @SCHEMA AS VARCHAR(50) + DECLARE @SCHEMASTORICO AS VARCHAR(50) + DECLARE @TABLE AS VARCHAR(50) + DECLARE @CAMPI VARCHAR(MAX) + DECLARE @CONDITION AS VARCHAR(50) + SET @SCHEMA = 'C6StagingPeriodico' + SET @SCHEMASTORICO = 'C6StoricoPeriodico' + DECLARE tabelle CURSOR FOR + SELECT UPPER(TABLE_NAME) + FROM INFORMATION_SCHEMA.TABLES + WHERE TABLE_TYPE = 'BASE TABLE' + AND TABLE_SCHEMA = @SCHEMA + ORDER BY TABLE_SCHEMA, TABLE_NAME + OPEN tabelle + FETCH NEXT FROM tabelle + INTO @TABLE + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @CAMPI = '' + SELECT @CAMPI = @CAMPI + ', ' + COLUMN_NAME + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_NAME = @TABLE + AND TABLE_SCHEMA = @SCHEMA + SET @CAMPI = RIGHT(@CAMPI, LEN(@CAMPI) -2 ) + SET @CONDITION = ' WHERE ID_ELAB = @ID_ELAB' + IF CHARINDEX('ID_ELAB', @CAMPI) = 0 -- CAMPO ID_ELAB NON PRESENTE + BEGIN + SET @CAMPI = @CAMPI + ', @ID_ELAB' + SET @CONDITION = '' + END + PRINT ' --XXXXXXXXXXXXXXXXXXXXXXXX ' + @TABLE + ' XXXXXXXXXXXXXXXXXXXXXXXX--' + PRINT ' IF(@NomeTabella IS NULL OR @NomeTabella = ''' + @TABLE + ''')' + PRINT ' BEGIN' + PRINT ' DELETE FROM ' + @SCHEMASTORICO + '.ST_' + @TABLE + ' WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB' + PRINT ' INSERT INTO ' + @SCHEMASTORICO + '.ST_' + @TABLE + PRINT ' (' + REPLACE(@CAMPI,'@','') + ')' + PRINT ' SELECT ' + PRINT ' ' + @CAMPI + PRINT ' FROM ' + @SCHEMA + '.' + @TABLE + @CONDITION + PRINT ' END' + PRINT '' + FETCH NEXT FROM tabelle + INTO @TABLE + END + CLOSE tabelle + DEALLOCATE tabelle +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP.sql b/sql/storedProduzione/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP.sql new file mode 100644 index 00000000..d29eb6e1 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP.sql @@ -0,0 +1,160 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 marzo 2009 +-- Description: SP FAKE per popolare le tabelle host del SIMPB in modo da avere qualche dato in più +-- quando si eseguono le SP del Presentation Layer +-- ============================================= +CREATE procedure [C6StagingPeriodico].[SRV_PopolaTabelleSIMPB_TEMP] +AS +BEGIN + -- [C6StagingPeriodico].[WSEIAN] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEIAN2] + INSERT INTO [C6StagingPeriodico].[WSEIAN2] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF]) + SELECT + CAST ( CONVERT( VARCHAR, GETDATE(), 112) AS DECIMAL(9,0) ) + ,CL.[CODICERETE] + ,CL.[CODICEFISCALE] + ,CL.[NOME] + ,CL.[COGNOME] + ,CAST ( CONVERT( VARCHAR, CL.[DATADINASCITA], 112) AS DECIMAL(9,0) ) AS [DATADINASCITA] + ,IND.[INDIRIZZO] + ,IND.[CAP] + ,IND.[CITTA] + ,IND.[PROVINCIA] + ,IND.[NAZIONE] + ,NULL AS [CODICEPROFILOASSEGNATO] + FROM + [C6Staging].[SPB_CLIENTI] AS CL + INNER JOIN + [C6Staging].[SPB_INDIRIZZI] AS IND + ON + CL.CODICERETE = IND.RETE + AND CL.CODICEFISCALE = IND.CODICEFISCALE + -- [C6StagingPeriodico].[WSEICS] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEICS] + INSERT INTO [C6StagingPeriodico].[WSEICS] + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN]) + SELECT + CAST ( CONVERT( VARCHAR, GETDATE(), 112) AS DECIMAL(9,0) ) + ,CAST ( CONVERT( VARCHAR, [DATADIRIFERIMENTO], 112) AS DECIMAL(9,0) ) AS [DATASALDO] + ,[RETE] + ,[CODICEFISCALE] + ,[CODICECONTRATTO] + ,[NUMEROPOLIZZA] + ,[CONTO] + ,[RUBRICATO] + ,[CUSTODIAGARANZIA] + ,[TIPOPRODOTTO] + ,[CODICEINTERNO] + ,NULL AS [CODICEPRODOTTO] + ,[CODICESOTTOPRODOTTO] + ,[CODICEMAF] + ,'CODABI' AS [CODABI] + ,[PCTKEY] + ,[PCTDESCRIZIONTETITOLOCOLLEGATO] + ,[CTV] + ,[PARTVIA] + ,CAST ( CONVERT( VARCHAR, [PARTVIAAL], 112) AS DECIMAL(9,0) ) AS [PARTVIAAL] + ,CAST ( CONVERT( VARCHAR, [DATAINIZIORENDIMENTO], 112) AS DECIMAL(9,0) ) AS [DATAINIZIORENDIMENTO] + ,[RENDIMENTODASOTTOSCRIZIONE] + ,[RENDIMENTODAINIZIOANNO] + ,[VALORE] + ,NULL AS [SUBSET] + ,[CVN] + FROM + [C6Staging].[SPB_CONTR_SINTESI] CS + -- [C6StagingPeriodico].[WSEIPV] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEIPV] + INSERT INTO [C6StagingPeriodico].[WSEIPV] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[IMPVER] + ,[DTRIFE] + ,[SUBSET]) + SELECT + CAST ( CONVERT( VARCHAR, GETDATE(), 112) AS DECIMAL(9,0) ) + ,C6.[RETE] + ,C6.[COD_FISCALE] + ,C6.[CODICECONTRATTO] + ,[IMPORTOVERSATO] + ,CAST ( CONVERT( VARCHAR, [DATAACQUISIZIONE], 112) AS DECIMAL(9,0) ) AS [DATAACQUISIZIONE] + ,LEFT([NOTA],10) + FROM + [C6Staging].[SPB_PARTITE_VIAGG] PV + INNER JOIN C6Mart.CONTRATTOSEI C6 + ON + C6.RETE = PV.RETE + AND C6.COD_FISCALE = PV.CODICEFISCALE + -- [C6StagingPeriodico].[WSEIUL] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEIUL] + INSERT INTO [C6StagingPeriodico].[WSEIUL] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[CODINT] + ,[SUBPROD] + ,[CTV] + ,[DTRIFE] + ,[ISINFIT] + ,[ISIN] + ,[MAF] + ,[SUBSET]) + SELECT + CAST ( CONVERT( VARCHAR, GETDATE(), 112) AS DECIMAL(9,0) ) + ,C6.[RETE] + ,C6.[COD_FISCALE] + ,C6.[CODICECONTRATTO] + ,AU.[CODICEINTERNO] + ,AU.[CODICESOTTOPRODOTTO] + ,AU.[CONTROVALORE] + ,CAST ( CONVERT( VARCHAR, AU.[DATADIRIFERIMENTO], 112) AS DECIMAL(9,0) ) AS [DATASALDO] + ,AU.[ISINFITTIZIO] + ,AU.[CODICEISINSOTTOSTANTE] + ,AU.[CODICEMAFSOTTOSTANTE] + ,NULL AS [SUBSET] + FROM + [C6Staging].[SPB_ASS_UNIT] AS AU + INNER JOIN C6Mart.CONTRATTOSEI C6 + ON + C6.CODICECONTRATTO = AU.CODICECONTRATTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP_pre_selective.sql new file mode 100644 index 00000000..928ba38f --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP_pre_selective.sql @@ -0,0 +1,160 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 marzo 2009 +-- Description: SP FAKE per popolare le tabelle host del SIMPB in modo da avere qualche dato in più +-- quando si eseguono le SP del Presentation Layer +-- ============================================= +CREATE procedure [C6StagingPeriodico].[SRV_PopolaTabelleSIMPB_TEMP_pre_selective] +AS +BEGIN + -- [C6StagingPeriodico].[WSEIAN] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEIAN2] + INSERT INTO [C6StagingPeriodico].[WSEIAN2] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF]) + SELECT + CAST ( CONVERT( VARCHAR, GETDATE(), 112) AS DECIMAL(9,0) ) + ,CL.[CODICERETE] + ,CL.[CODICEFISCALE] + ,CL.[NOME] + ,CL.[COGNOME] + ,CAST ( CONVERT( VARCHAR, CL.[DATADINASCITA], 112) AS DECIMAL(9,0) ) AS [DATADINASCITA] + ,IND.[INDIRIZZO] + ,IND.[CAP] + ,IND.[CITTA] + ,IND.[PROVINCIA] + ,IND.[NAZIONE] + ,NULL AS [CODICEPROFILOASSEGNATO] + FROM + [C6Staging].[SPB_CLIENTI] AS CL + INNER JOIN + [C6Staging].[SPB_INDIRIZZI] AS IND + ON + CL.CODICERETE = IND.RETE + AND CL.CODICEFISCALE = IND.CODICEFISCALE + -- [C6StagingPeriodico].[WSEICS] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEICS] + INSERT INTO [C6StagingPeriodico].[WSEICS] + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN]) + SELECT + CAST ( CONVERT( VARCHAR, GETDATE(), 112) AS DECIMAL(9,0) ) + ,CAST ( CONVERT( VARCHAR, [DATADIRIFERIMENTO], 112) AS DECIMAL(9,0) ) AS [DATASALDO] + ,[RETE] + ,[CODICEFISCALE] + ,[CODICECONTRATTO] + ,[NUMEROPOLIZZA] + ,[CONTO] + ,[RUBRICATO] + ,[CUSTODIAGARANZIA] + ,[TIPOPRODOTTO] + ,[CODICEINTERNO] + ,NULL AS [CODICEPRODOTTO] + ,[CODICESOTTOPRODOTTO] + ,[CODICEMAF] + ,'CODABI' AS [CODABI] + ,[PCTKEY] + ,[PCTDESCRIZIONTETITOLOCOLLEGATO] + ,[CTV] + ,[PARTVIA] + ,CAST ( CONVERT( VARCHAR, [PARTVIAAL], 112) AS DECIMAL(9,0) ) AS [PARTVIAAL] + ,CAST ( CONVERT( VARCHAR, [DATAINIZIORENDIMENTO], 112) AS DECIMAL(9,0) ) AS [DATAINIZIORENDIMENTO] + ,[RENDIMENTODASOTTOSCRIZIONE] + ,[RENDIMENTODAINIZIOANNO] + ,[VALORE] + ,NULL AS [SUBSET] + ,[CVN] + FROM + [C6Staging].[SPB_CONTR_SINTESI] CS + -- [C6StagingPeriodico].[WSEIPV] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEIPV] + INSERT INTO [C6StagingPeriodico].[WSEIPV] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[IMPVER] + ,[DTRIFE] + ,[SUBSET]) + SELECT + CAST ( CONVERT( VARCHAR, GETDATE(), 112) AS DECIMAL(9,0) ) + ,C6.[RETE] + ,C6.[COD_FISCALE] + ,C6.[CODICECONTRATTO] + ,[IMPORTOVERSATO] + ,CAST ( CONVERT( VARCHAR, [DATAACQUISIZIONE], 112) AS DECIMAL(9,0) ) AS [DATAACQUISIZIONE] + ,LEFT([NOTA],10) + FROM + [C6Staging].[SPB_PARTITE_VIAGG] PV + INNER JOIN C6Mart.CONTRATTOSEI C6 + ON + C6.RETE = PV.RETE + AND C6.COD_FISCALE = PV.CODICEFISCALE + -- [C6StagingPeriodico].[WSEIUL] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEIUL] + INSERT INTO [C6StagingPeriodico].[WSEIUL] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[CODINT] + ,[SUBPROD] + ,[CTV] + ,[DTRIFE] + ,[ISINFIT] + ,[ISIN] + ,[MAF] + ,[SUBSET]) + SELECT + CAST ( CONVERT( VARCHAR, GETDATE(), 112) AS DECIMAL(9,0) ) + ,C6.[RETE] + ,C6.[COD_FISCALE] + ,C6.[CODICECONTRATTO] + ,AU.[CODICEINTERNO] + ,AU.[CODICESOTTOPRODOTTO] + ,AU.[CONTROVALORE] + ,CAST ( CONVERT( VARCHAR, AU.[DATADIRIFERIMENTO], 112) AS DECIMAL(9,0) ) AS [DATASALDO] + ,AU.[ISINFITTIZIO] + ,AU.[CODICEISINSOTTOSTANTE] + ,AU.[CODICEMAFSOTTOSTANTE] + ,NULL AS [SUBSET] + FROM + [C6Staging].[SPB_ASS_UNIT] AS AU + INNER JOIN C6Mart.CONTRATTOSEI C6 + ON + C6.CODICECONTRATTO = AU.CODICECONTRATTO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_SRV_STORICIZZAZIONE.sql b/sql/storedProduzione/C6StagingPeriodico_SRV_STORICIZZAZIONE.sql new file mode 100644 index 00000000..27c6ee7b --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_SRV_STORICIZZAZIONE.sql @@ -0,0 +1,832 @@ +-- ============================================= +-- Author: paolo giovanetti +-- Create date: 6 marzo 2009 +-- Description: storicizzazione STAGING +-- ============================================= +CREATE procedure [C6StagingPeriodico].[SRV_STORICIZZAZIONE] + @NomeTabella VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico espresso in giorni + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MartPeriodico.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENOTH XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENOTH') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ACBDENOTH WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ACBDENOTH + (OID$, VERSION$, BDPERCENTAGE, BDBETA, F_OID$_PASSE_CDF1A, F_PFINANCIAL_815C0, ID_ELAB) + SELECT + ACBDENOTH.OID$, ACBDENOTH.VERSION$, ACBDENOTH.BDPERCENTAGE, ACBDENOTH.BDBETA, ACBDENOTH.F_OID$_PASSE_CDF1A, ACBDENOTH.F_PFINANCIAL_815C0, @ID_ELAB + FROM C6StagingPeriodico.ACBDENOTH + LEFT OUTER JOIN C6StoricoPeriodico.ST_ACBDENOTH + ON ACBDENOTH.OID$ = ST_ACBDENOTH.OID$ + WHERE ST_ACBDENOTH.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENTRY XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENTRY') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ACBDENTRY WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ACBDENTRY + (OID$, VERSION$, F_PINDEXBREA_08079, F_PINSTRUMEN_FBCDE, BDPERCENTAGE, BDBETA, F_OID$_PASSE_B8A1E, F_PFINANCIAL_65EBB, F_PFINANCIAL_C2FD3, ID_ELAB) + SELECT + ACBDENTRY.OID$, ACBDENTRY.VERSION$, ACBDENTRY.F_PINDEXBREA_08079, ACBDENTRY.F_PINSTRUMEN_FBCDE, ACBDENTRY.BDPERCENTAGE, ACBDENTRY.BDBETA, ACBDENTRY.F_OID$_PASSE_B8A1E, ACBDENTRY.F_PFINANCIAL_65EBB, ACBDENTRY.F_PFINANCIAL_C2FD3, @ID_ELAB + FROM C6StagingPeriodico.ACBDENTRY + LEFT OUTER JOIN C6StoricoPeriodico.ST_ACBDENTRY + ON ACBDENTRY.OID$ = ST_ACBDENTRY.OID$ + WHERE ST_ACBDENTRY.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ADBKBASE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ADBKBASE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ADBKBASE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ADBKBASE + (OID$, VERSION$, ADBKID, INSTID, C_ADBKBASE_L_69013, TYPE$_ADBKST_AC419, C_CLIENTNAME_1A67C, C_CLIENTNAME_1E844, F_OID$_PERSO_06FCB, C_CLIENTNAME_8B1DB, C_CLIENTNAME_B4F69, C_CLIENTNAME_EA63A, C_ADBKBASE_D_C669E, C_ADBKBASE_L_1DD83, C_ADBKBASE_L_F8E21, C_ADBKBASE_L_2805C, C_ADBKBASE_T_C94F1, F_OID$_PROFI_98D05, F_OID$_TAXRE_4AC4C, C_CURRENCYSY_36ED7, F_OID$_REFER_66AC8, C_ADBKBASE_M_AE5A8, C_ADBKBASE_A_36B89, C_CURRENCYSY_0483B, C_VALUE_506AF, F_OID$_SOURC_E66C5, F_OID$_QUALI_027C5, F_OID$_BLOCK_A4386, F_OID$_SOURC_3AA10, TYPE$_ADBKTY_20093, F_PCUSTOMGRO_9BC08, F_PENTITY_AD_29FE1, ID_ELAB) + SELECT + ADBKBASE.OID$, ADBKBASE.VERSION$, ADBKBASE.ADBKID, ADBKBASE.INSTID, ADBKBASE.C_ADBKBASE_L_69013, ADBKBASE.TYPE$_ADBKST_AC419, ADBKBASE.C_CLIENTNAME_1A67C, ADBKBASE.C_CLIENTNAME_1E844, ADBKBASE.F_OID$_PERSO_06FCB, ADBKBASE.C_CLIENTNAME_8B1DB, ADBKBASE.C_CLIENTNAME_B4F69, ADBKBASE.C_CLIENTNAME_EA63A, ADBKBASE.C_ADBKBASE_D_C669E, ADBKBASE.C_ADBKBASE_L_1DD83, ADBKBASE.C_ADBKBASE_L_F8E21, ADBKBASE.C_ADBKBASE_L_2805C, ADBKBASE.C_ADBKBASE_T_C94F1, ADBKBASE.F_OID$_PROFI_98D05, ADBKBASE.F_OID$_TAXRE_4AC4C, ADBKBASE.C_CURRENCYSY_36ED7, ADBKBASE.F_OID$_REFER_66AC8, ADBKBASE.C_ADBKBASE_M_AE5A8, ADBKBASE.C_ADBKBASE_A_36B89, ADBKBASE.C_CURRENCYSY_0483B, ADBKBASE.C_VALUE_506AF, ADBKBASE.F_OID$_SOURC_E66C5, ADBKBASE.F_OID$_QUALI_027C5, ADBKBASE.F_OID$_BLOCK_A4386, ADBKBASE.F_OID$_SOURC_3AA10, ADBKBASE.TYPE$_ADBKTY_20093, ADBKBASE.F_PCUSTOMGRO_9BC08, ADBKBASE.F_PENTITY_AD_29FE1, @ID_ELAB + FROM C6StagingPeriodico.ADBKBASE + LEFT OUTER JOIN C6StoricoPeriodico.ST_ADBKBASE + ON ADBKBASE.OID$ = ST_ADBKBASE.OID$ + WHERE ST_ADBKBASE.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ADS4WS_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'ADS4WS_PROMOTORI') +-- BEGIN +-- DELETE FROM C6StoricoPeriodico.ST_ADS4WS_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6StoricoPeriodico.ST_ADS4WS_PROMOTORI +-- (Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, Telefono, TelefonoAgenzia1, TelefonoAgenzia2, ID_ELAB) +-- SELECT +-- ADS4WS_PROMOTORI.Rete, ADS4WS_PROMOTORI.Codice, ADS4WS_PROMOTORI.Cognome, ADS4WS_PROMOTORI.Nome, ADS4WS_PROMOTORI.Prefisso, ADS4WS_PROMOTORI.Firma, ADS4WS_PROMOTORI.DataInizioCollaborazione, ADS4WS_PROMOTORI.DataFineCollaborazione, ADS4WS_PROMOTORI.DataUltimaAggiornamento, ADS4WS_PROMOTORI.CAP, ADS4WS_PROMOTORI.Citta, ADS4WS_PROMOTORI.CittaNascita, ADS4WS_PROMOTORI.DataNascita, ADS4WS_PROMOTORI.Indirizzo, ADS4WS_PROMOTORI.Provincia, ADS4WS_PROMOTORI.Telefono, ADS4WS_PROMOTORI.TelefonoAgenzia1, ADS4WS_PROMOTORI.TelefonoAgenzia2, @ID_ELAB +-- FROM C6StagingPeriodico.ADS4WS_PROMOTORI +-- LEFT OUTER JOIN C6StoricoPeriodico.ST_ADS4WS_PROMOTORI +-- ON ADS4WS_PROMOTORI.Firma = ST_ADS4WS_PROMOTORI.Firma +-- WHERE ST_ADS4WS_PROMOTORI.Firma IS NULL +-- END +-- +-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'ADS4WS_PROMOTORI') +-- BEGIN +-- DELETE FROM C6Storicoperiodico.ST_ADS4WS_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storicoperiodico.ST_ADS4WS_PROMOTORI +-- (Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, PrefissoTelefono, TelefonoAgenzia1, TelefonoAgenzia2, ID_ELAB) +-- SELECT Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, PrefissoTelefono, TelefonoAgenzia1, TelefonoAgenzia2, @ID_ELAB +-- FROM C6Staging.ADS4WS_PROMOTORI +-- END +-- + --XXXXXXXXXXXXXXXXXXXXXXXX AGENTBASE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'AGENTBASE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_AGENTBASE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_AGENTBASE + (OID$, VERSION$, AGENTBASEID, INSTID, TYPE$_AGENTT_4FF1A, AGENTBASESTATUS, CATEGORY, ROLE, COUNTRY, REGION, TAXPAYERID, C_AGENTNAME__D3943, C_AGENTNAME__B1EC3, F_OID$_PERSO_762E5, C_AGENTNAME__ABD50, C_AGENTNAME__7D056, C_AGENTNAME__722CD, LOGINID, ICEPATH, F_PAGENTBASE_7B96C, F_OID$_AGENT_DB156, F_PENTITY_AG_79C9C, ID_ELAB) + SELECT + AGENTBASE.OID$, AGENTBASE.VERSION$, AGENTBASE.AGENTBASEID, AGENTBASE.INSTID, AGENTBASE.TYPE$_AGENTT_4FF1A, AGENTBASE.AGENTBASESTATUS, AGENTBASE.CATEGORY, AGENTBASE.ROLE, AGENTBASE.COUNTRY, AGENTBASE.REGION, AGENTBASE.TAXPAYERID, AGENTBASE.C_AGENTNAME__D3943, AGENTBASE.C_AGENTNAME__B1EC3, AGENTBASE.F_OID$_PERSO_762E5, AGENTBASE.C_AGENTNAME__ABD50, AGENTBASE.C_AGENTNAME__7D056, AGENTBASE.C_AGENTNAME__722CD, AGENTBASE.LOGINID, AGENTBASE.ICEPATH, AGENTBASE.F_PAGENTBASE_7B96C, AGENTBASE.F_OID$_AGENT_DB156, AGENTBASE.F_PENTITY_AG_79C9C, @ID_ELAB + FROM C6StagingPeriodico.AGENTBASE + LEFT OUTER JOIN C6StoricoPeriodico.ST_AGENTBASE + ON AGENTBASE.OID$ = ST_AGENTBASE.OID$ + WHERE ST_AGENTBASE.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_ASSET_CLASS_PER_PROMET XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_ASSET_CLASS_PER_PROMET') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_ASSET_CLASS_PER_PROMET WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_ASSET_CLASS_PER_PROMET + (CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ID_ELAB) + SELECT + ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO, ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN, ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF, ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA, @ID_ELAB + FROM C6StagingPeriodico.ALL_ASSET_CLASS_PER_PROMET + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_ASSET_CLASS_PER_PROMET + ON ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO + AND ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN + AND ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF + AND ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA + WHERE ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CF_PB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CF_PB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_CF_PB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_CF_PB + (ID_CLI, NOME, COGNOME, TIPO, AGENTE, CHIAVE_PB, CHIAVE_CLIENTE, NOME_CLIENTE, COGNOME_CLIENTE, CODICE_FISCALE, TIPO_CLIENTE, RETE_PB, CODICE_PB, DATA_NASCITA, MARITALSTATUS, CODICEFISCALE, ID_ELAB) + SELECT + ALL_CF_PB.ID_CLI, ALL_CF_PB.NOME, ALL_CF_PB.COGNOME, ALL_CF_PB.TIPO, ALL_CF_PB.AGENTE, ALL_CF_PB.CHIAVE_PB, ALL_CF_PB.CHIAVE_CLIENTE, ALL_CF_PB.NOME_CLIENTE, ALL_CF_PB.COGNOME_CLIENTE, ALL_CF_PB.CODICE_FISCALE, ALL_CF_PB.TIPO_CLIENTE, ALL_CF_PB.RETE_PB, ALL_CF_PB.CODICE_PB, ALL_CF_PB.DATA_NASCITA, ALL_CF_PB.MARITALSTATUS, ALL_CF_PB.CODICEFISCALE, @ID_ELAB + FROM C6StagingPeriodico.ALL_CF_PB + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_CF_PB + ON ALL_CF_PB.ID_CLI = ST_ALL_CF_PB.ID_CLI + WHERE ST_ALL_CF_PB.ID_CLI IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CF_STATO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CF_STATO') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_CF_STATO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_CF_STATO + (CF_CLIENTE, RETE, STATO_CONSULENZA, TOTALE_RIGHE, TOTALE_STATI, FLAG_UTILIZZO_STATO, ID_ELAB) + SELECT + ALL_CF_STATO.CF_CLIENTE, ALL_CF_STATO.RETE, ALL_CF_STATO.STATO_CONSULENZA, ALL_CF_STATO.TOTALE_RIGHE, ALL_CF_STATO.TOTALE_STATI, ALL_CF_STATO.FLAG_UTILIZZO_STATO, @ID_ELAB + FROM C6StagingPeriodico.ALL_CF_STATO + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_CF_STATO + ON ALL_CF_STATO.CF_CLIENTE = ST_ALL_CF_STATO.CF_CLIENTE + AND ALL_CF_STATO.RETE = ST_ALL_CF_STATO.RETE + WHERE ST_ALL_CF_STATO.CF_CLIENTE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CONSUL_ASUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CONSUL_ASUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_CONSUL_ASUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_CONSUL_ASUL + (CODICE_FISCALE, RETE, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, AREASORTORDER, NOME_PROGETTO, CATALOGUENAME, TIPO_PROGETTO, CONTRATTO, OID_DI_CATITEMREF, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CODICEINTERNO, SOTTOPRODOTTO, CONTROVALORE_ASUL, ID_MONITORAGGIO, CATEGORIA, NUOVO_OID_CAT_PER_ASSET, CATEGORIA_2, COLO_JOIN, ID_ELAB) + SELECT + ALL_CONSUL_ASUL.CODICE_FISCALE, ALL_CONSUL_ASUL.RETE, ALL_CONSUL_ASUL.NEED_AREA_ABBR_DI_AREA, ALL_CONSUL_ASUL.NEED_AREA_ESTESA_DI_AREA, ALL_CONSUL_ASUL.AREASORTORDER, ALL_CONSUL_ASUL.NOME_PROGETTO, ALL_CONSUL_ASUL.CATALOGUENAME, ALL_CONSUL_ASUL.TIPO_PROGETTO, ALL_CONSUL_ASUL.CONTRATTO, ALL_CONSUL_ASUL.OID_DI_CATITEMREF, ALL_CONSUL_ASUL.CONTROVALORE, ALL_CONSUL_ASUL.CONTROV_IN_POS_DEL_PRODOTTO, ALL_CONSUL_ASUL.STRINGONA_POS, ALL_CONSUL_ASUL.CODICEINTERNO, ALL_CONSUL_ASUL.SOTTOPRODOTTO, ALL_CONSUL_ASUL.CONTROVALORE_ASUL, ALL_CONSUL_ASUL.ID_MONITORAGGIO, ALL_CONSUL_ASUL.CATEGORIA, ALL_CONSUL_ASUL.NUOVO_OID_CAT_PER_ASSET, ALL_CONSUL_ASUL.CATEGORIA_2, ALL_CONSUL_ASUL.COLO_JOIN, @ID_ELAB + FROM C6StagingPeriodico.ALL_CONSUL_ASUL + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_CONSUL_ASUL + ON ALL_CONSUL_ASUL.CODICE_FISCALE = ST_ALL_CONSUL_ASUL.CODICE_FISCALE + AND ALL_CONSUL_ASUL.RETE = ST_ALL_CONSUL_ASUL.RETE + AND ALL_CONSUL_ASUL.COLO_JOIN = ST_ALL_CONSUL_ASUL.COLO_JOIN + WHERE ST_ALL_CONSUL_ASUL.CODICE_FISCALE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_PATR_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PATR_TERZI') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_PATR_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_PATR_TERZI + (CHIAVE_PER_CLIENTE, CODICE_FISCALE, RETE_PB, CAPITALE_INVESTITO, CHIAVE_FNC, PRODOTTO_IN_CATALOGO, DATA_SOTTOSCRIZIONE, PREMIO_VERSAMENTO, C_VALUE_582FF, AMMONTARE_VERSAMENTO, DESCRIZIONE_ALBERATURA, DATA_INIZIO_INV, PATRIMONIO_TERZI, NOME_ISTITUTO, CHIAVE_THR, ASSETID, DESCRIZIONE_PRODOTTO, NOMEPRODOTTO, NOME_ISTITUTO_2, INTERMEDIARIO, DATA_SCADENZA, DATA2_UTILIZ_X_SOTTOSCRIZ, BALANCEDATE_DI_THR, CHIAVE_PR_31921, PATRIMONIO_IMMOBILIARE, LOCALITA, AFFITTOPERCEPITO, CHIAVE_F87B4, PATRIMONIO_ALTRO_PN_F87B4, DENOMINAZIONE_PN_F87B4, ISCOVER, TIPO_ISCOVER, CHIAVE_E6F18, PATRIMONIO_ALTRO_PB_E6F18, DENOMINAZIONE, NUMEROQUOTE, COMPANYTYPE, CHIAVE_COMP, COMPANYNAME, CHIAVE_BT_49D5B, TIPO_BT_49D5B, CHIAVE_BT_55768, TIPO_BT_55768, CHIAVE_BT_B70F0, TIPO_BT_B70F0, CHIAVE_BT_6797A, TIPO_BT_6797A, TIPO_VERSAMENTO_BT_6797A, CHIAVE_BT_97BEE, TIPO_BT_97BEE, TIPO_POLIZZA_BT_97BEE, CHIAVE_RDESCR, TIPO_RDESCR, DESCRIZIONE_RDESCR, TIPOLOGIA_RDESCR, ID_ELAB) + SELECT + ALL_PATR_TERZI.CHIAVE_PER_CLIENTE, ALL_PATR_TERZI.CODICE_FISCALE, ALL_PATR_TERZI.RETE_PB, ALL_PATR_TERZI.CAPITALE_INVESTITO, ALL_PATR_TERZI.CHIAVE_FNC, ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO, ALL_PATR_TERZI.DATA_SOTTOSCRIZIONE, ALL_PATR_TERZI.PREMIO_VERSAMENTO, ALL_PATR_TERZI.C_VALUE_582FF, ALL_PATR_TERZI.AMMONTARE_VERSAMENTO, ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA, ALL_PATR_TERZI.DATA_INIZIO_INV, ALL_PATR_TERZI.PATRIMONIO_TERZI, ALL_PATR_TERZI.NOME_ISTITUTO, ALL_PATR_TERZI.CHIAVE_THR, ALL_PATR_TERZI.ASSETID, ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO, ALL_PATR_TERZI.NOMEPRODOTTO, ALL_PATR_TERZI.NOME_ISTITUTO_2, ALL_PATR_TERZI.INTERMEDIARIO, ALL_PATR_TERZI.DATA_SCADENZA, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ, ALL_PATR_TERZI.BALANCEDATE_DI_THR, ALL_PATR_TERZI.CHIAVE_PR_31921, ALL_PATR_TERZI.PATRIMONIO_IMMOBILIARE, ALL_PATR_TERZI.LOCALITA, ALL_PATR_TERZI.AFFITTOPERCEPITO, ALL_PATR_TERZI.CHIAVE_F87B4, ALL_PATR_TERZI.PATRIMONIO_ALTRO_PN_F87B4, ALL_PATR_TERZI.DENOMINAZIONE_PN_F87B4, ALL_PATR_TERZI.ISCOVER, ALL_PATR_TERZI.TIPO_ISCOVER, ALL_PATR_TERZI.CHIAVE_E6F18, ALL_PATR_TERZI.PATRIMONIO_ALTRO_PB_E6F18, ALL_PATR_TERZI.DENOMINAZIONE, ALL_PATR_TERZI.NUMEROQUOTE, ALL_PATR_TERZI.COMPANYTYPE, ALL_PATR_TERZI.CHIAVE_COMP, ALL_PATR_TERZI.COMPANYNAME, ALL_PATR_TERZI.CHIAVE_BT_49D5B, ALL_PATR_TERZI.TIPO_BT_49D5B, ALL_PATR_TERZI.CHIAVE_BT_55768, ALL_PATR_TERZI.TIPO_BT_55768, ALL_PATR_TERZI.CHIAVE_BT_B70F0, ALL_PATR_TERZI.TIPO_BT_B70F0, ALL_PATR_TERZI.CHIAVE_BT_6797A, ALL_PATR_TERZI.TIPO_BT_6797A, ALL_PATR_TERZI.TIPO_VERSAMENTO_BT_6797A, ALL_PATR_TERZI.CHIAVE_BT_97BEE, ALL_PATR_TERZI.TIPO_BT_97BEE, ALL_PATR_TERZI.TIPO_POLIZZA_BT_97BEE, ALL_PATR_TERZI.CHIAVE_RDESCR, ALL_PATR_TERZI.TIPO_RDESCR, ALL_PATR_TERZI.DESCRIZIONE_RDESCR, ALL_PATR_TERZI.TIPOLOGIA_RDESCR, @ID_ELAB + FROM C6StagingPeriodico.ALL_PATR_TERZI + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_PATR_TERZI + ON ALL_PATR_TERZI.CHIAVE_THR = ST_ALL_PATR_TERZI.CHIAVE_THR + WHERE ST_ALL_PATR_TERZI.CHIAVE_THR IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_POS_CONS_CAT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_POS_CONS_CAT') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_POS_CONS_CAT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_POS_CONS_CAT + (CODICE_FISCALE, RETE, STATO_CONSULENZA, DATA_STATO_CONSULENZA, PK_ALTERNATIVA_CONS, DATA_MIGRAZIONE_CONS, PK_AREA, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, C_PERCENTAGE_86095, C_CTVNEEDARE_EA4FB, PK_PRC, TIPO_PROGETTO, ID_MONITORAGGIO, NOME_PROGETTO, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_INVESTIMEN_60625, CONTROVALORE_PER_INV, PERCENTUALE_MODELLO, C_PERCENTUAL_12346, DATA_ORDINAMENTO_INV, CONTRATTO, OID_DI_CATITEMREF, C_OUTCTV_B4FB8, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CONTO, RUBRICATO, CUSTGAR, NUMPOL, TERMID, ANNO, PROG, NOME_PRODOTTO, NEED_AREA_ABBREVIATA_DI_POS, NEED_AREA_ESTESA_DI_POS, CHIAVE_CATITEMREF, CATALOGUENAME, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, COD_ADEGUATEZZA, ALBERATURA, TIPOPRODOTTO, ISNEGOTIABLE, MAINASSETCLASS, AREASORTORDER, ORIGINE_FILE_CATALOGO, FLAG_PRESENZA_MAPPATURA, RAGGRUPPAMEN_NOME_PROGET, ID_ELAB) + SELECT + ALL_POS_CONS_CAT.CODICE_FISCALE, ALL_POS_CONS_CAT.RETE, ALL_POS_CONS_CAT.STATO_CONSULENZA, ALL_POS_CONS_CAT.DATA_STATO_CONSULENZA, ALL_POS_CONS_CAT.PK_ALTERNATIVA_CONS, ALL_POS_CONS_CAT.DATA_MIGRAZIONE_CONS, ALL_POS_CONS_CAT.PK_AREA, ALL_POS_CONS_CAT.NEED_AREA_ABBR_DI_AREA, ALL_POS_CONS_CAT.NEED_AREA_ESTESA_DI_AREA, ALL_POS_CONS_CAT.C_PERCENTAGE_86095, ALL_POS_CONS_CAT.C_CTVNEEDARE_EA4FB, ALL_POS_CONS_CAT.PK_PRC, ALL_POS_CONS_CAT.TIPO_PROGETTO, ALL_POS_CONS_CAT.ID_MONITORAGGIO, ALL_POS_CONS_CAT.NOME_PROGETTO, ALL_POS_CONS_CAT.C_PROJECTCTV_39520, ALL_POS_CONS_CAT.C_PROJECTOUT_9CFB8, ALL_POS_CONS_CAT.C_RISORSELIQ_DF807, ALL_POS_CONS_CAT.C_INVESTIMEN_60625, ALL_POS_CONS_CAT.CONTROVALORE_PER_INV, ALL_POS_CONS_CAT.PERCENTUALE_MODELLO, ALL_POS_CONS_CAT.C_PERCENTUAL_12346, ALL_POS_CONS_CAT.DATA_ORDINAMENTO_INV, ALL_POS_CONS_CAT.CONTRATTO, ALL_POS_CONS_CAT.OID_DI_CATITEMREF, ALL_POS_CONS_CAT.C_OUTCTV_B4FB8, ALL_POS_CONS_CAT.CONTROVALORE, ALL_POS_CONS_CAT.CONTROV_IN_POS_DEL_PRODOTTO, ALL_POS_CONS_CAT.STRINGONA_POS, ALL_POS_CONS_CAT.CONTO, ALL_POS_CONS_CAT.RUBRICATO, ALL_POS_CONS_CAT.CUSTGAR, ALL_POS_CONS_CAT.NUMPOL, ALL_POS_CONS_CAT.TERMID, ALL_POS_CONS_CAT.ANNO, ALL_POS_CONS_CAT.PROG, ALL_POS_CONS_CAT.NOME_PRODOTTO, ALL_POS_CONS_CAT.NEED_AREA_ABBREVIATA_DI_POS, ALL_POS_CONS_CAT.NEED_AREA_ESTESA_DI_POS, ALL_POS_CONS_CAT.CHIAVE_CATITEMREF, ALL_POS_CONS_CAT.CATALOGUENAME, ALL_POS_CONS_CAT.COD_ISIN, ALL_POS_CONS_CAT.COD_MAF, ALL_POS_CONS_CAT.COD_INTERNO, ALL_POS_CONS_CAT.COD_SOTTOPRODOTTO, ALL_POS_CONS_CAT.COD_ADEGUATEZZA, ALL_POS_CONS_CAT.ALBERATURA, ALL_POS_CONS_CAT.TIPOPRODOTTO, ALL_POS_CONS_CAT.ISNEGOTIABLE, ALL_POS_CONS_CAT.MAINASSETCLASS, ALL_POS_CONS_CAT.AREASORTORDER, ALL_POS_CONS_CAT.ORIGINE_FILE_CATALOGO, ALL_POS_CONS_CAT.FLAG_PRESENZA_MAPPATURA, ALL_POS_CONS_CAT.RAGGRUPPAMEN_NOME_PROGET, @ID_ELAB + FROM C6StagingPeriodico.ALL_POS_CONS_CAT + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_POS_CONS_CAT + ON ALL_POS_CONS_CAT.CODICE_FISCALE = ST_ALL_POS_CONS_CAT.CODICE_FISCALE + AND ALL_POS_CONS_CAT.RETE = ST_ALL_POS_CONS_CAT.RETE + AND ALL_POS_CONS_CAT.PK_ALTERNATIVA_CONS = ST_ALL_POS_CONS_CAT.PK_ALTERNATIVA_CONS + AND ALL_POS_CONS_CAT.STRINGONA_POS = ST_ALL_POS_CONS_CAT.STRINGONA_POS + WHERE ST_ALL_POS_CONS_CAT.CODICE_FISCALE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_PROPOSTA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PROPOSTA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_PROPOSTA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_PROPOSTA + (AGENTE, RETE, NOME_CLIENTE, COGNOME_CLIENTE, CODICEFISCALE, CHIAVE_PROPOSTA, NOME_PROPOSTA, STATO_PROPOSTA, DATA_CREAZIONE_PROPOSTA, DATA_SCADENZA_PROPOSTA, NEED_BREVE, NEED_ESTESA, ORDINE_NEED, CONTROVALORE_TOT_PER_NEED, PERC_PER_NEED, NOME_PROGETTO, CONTROV_CONSULENZA, CONTROV_PROPOSTA, CONTROV_DA_DEFINIRE_LIQ, ISANEWPOSITION, STRINGONA_CLONEPOS, NOME_PRODOTTO_CLONEPOS, INVESTI, DISINVESTI, PTF_INIZ, CTVOPERAZIONE, CONTRACTCODE, POLIZZADECIMAL, CONTO, RUBRICATO, PR_COD_ISIN, PR_COD_MAF, PR_COD_INTERNO, PR_COD_SOTTOPRODOTTO, PR_COD_ADEGUATEZZA, NOME_PRODOTTO_CATALOGO, TIPOPRODOTTO, CHIAVE_CATITEMREF, CHIAVE_PER_LA_CONSULENZA, RICONCILIATA, FLAG_PROPOSTA_PER_PROGETTO, FLAG_PROPOSTA_PER_AREA, FLAG_SALVATAGGIO_MANUALE, RAGGRUPPAMENTO_PROGETTO, ID_ELAB) + SELECT + ALL_PROPOSTA.AGENTE, ALL_PROPOSTA.RETE, ALL_PROPOSTA.NOME_CLIENTE, ALL_PROPOSTA.COGNOME_CLIENTE, ALL_PROPOSTA.CODICEFISCALE, ALL_PROPOSTA.CHIAVE_PROPOSTA, ALL_PROPOSTA.NOME_PROPOSTA, ALL_PROPOSTA.STATO_PROPOSTA, ALL_PROPOSTA.DATA_CREAZIONE_PROPOSTA, ALL_PROPOSTA.DATA_SCADENZA_PROPOSTA, ALL_PROPOSTA.NEED_BREVE, ALL_PROPOSTA.NEED_ESTESA, ALL_PROPOSTA.ORDINE_NEED, ALL_PROPOSTA.CONTROVALORE_TOT_PER_NEED, ALL_PROPOSTA.PERC_PER_NEED, ALL_PROPOSTA.NOME_PROGETTO, ALL_PROPOSTA.CONTROV_CONSULENZA, ALL_PROPOSTA.CONTROV_PROPOSTA, ALL_PROPOSTA.CONTROV_DA_DEFINIRE_LIQ, ALL_PROPOSTA.ISANEWPOSITION, ALL_PROPOSTA.STRINGONA_CLONEPOS, ALL_PROPOSTA.NOME_PRODOTTO_CLONEPOS, ALL_PROPOSTA.INVESTI, ALL_PROPOSTA.DISINVESTI, ALL_PROPOSTA.PTF_INIZ, ALL_PROPOSTA.CTVOPERAZIONE, ALL_PROPOSTA.CONTRACTCODE, ALL_PROPOSTA.POLIZZADECIMAL, ALL_PROPOSTA.CONTO, ALL_PROPOSTA.RUBRICATO, ALL_PROPOSTA.PR_COD_ISIN, ALL_PROPOSTA.PR_COD_MAF, ALL_PROPOSTA.PR_COD_INTERNO, ALL_PROPOSTA.PR_COD_SOTTOPRODOTTO, ALL_PROPOSTA.PR_COD_ADEGUATEZZA, ALL_PROPOSTA.NOME_PRODOTTO_CATALOGO, ALL_PROPOSTA.TIPOPRODOTTO, ALL_PROPOSTA.CHIAVE_CATITEMREF, ALL_PROPOSTA.CHIAVE_PER_LA_CONSULENZA, ALL_PROPOSTA.RICONCILIATA, ALL_PROPOSTA.FLAG_PROPOSTA_PER_PROGETTO, ALL_PROPOSTA.FLAG_PROPOSTA_PER_AREA, ALL_PROPOSTA.FLAG_SALVATAGGIO_MANUALE, ALL_PROPOSTA.RAGGRUPPAMENTO_PROGETTO, @ID_ELAB + FROM C6StagingPeriodico.ALL_PROPOSTA + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_PROPOSTA + ON ALL_PROPOSTA.CHIAVE_PROPOSTA = ST_ALL_PROPOSTA.CHIAVE_PROPOSTA + AND ALL_PROPOSTA.STRINGONA_CLONEPOS = ST_ALL_PROPOSTA.STRINGONA_CLONEPOS + WHERE ST_ALL_PROPOSTA.CHIAVE_PROPOSTA IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX AREEDIBISOGNO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'AREEDIBISOGNO') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_AREEDIBISOGNO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_AREEDIBISOGNO + (AREAID, AREANAME, AREASORTORDER, ID_ELAB) + SELECT + AREEDIBISOGNO.AREAID, AREEDIBISOGNO.AREANAME, AREEDIBISOGNO.AREASORTORDER, @ID_ELAB + FROM C6StagingPeriodico.AREEDIBISOGNO + LEFT OUTER JOIN C6StoricoPeriodico.ST_AREEDIBISOGNO + ON AREEDIBISOGNO.AREAID = ST_AREEDIBISOGNO.AREAID + WHERE ST_AREEDIBISOGNO.AREAID IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSET_1_E_2_ORDINATE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSET_1_E_2_ORDINATE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ASSET_1_E_2_ORDINATE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ASSET_1_E_2_ORDINATE + (CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ASSETCLASSNAME, ORDINAMENTO_ASSET, ID_ELAB) + SELECT + ASSET_1_E_2_ORDINATE.CODICE_ASSET_CLASS_INGRESSO, ASSET_1_E_2_ORDINATE.CODICE_ISIN, ASSET_1_E_2_ORDINATE.CODICE_MAF, ASSET_1_E_2_ORDINATE.CODICE_ADEGUATEZZA, ASSET_1_E_2_ORDINATE.ASSETCLASSNAME, ASSET_1_E_2_ORDINATE.ORDINAMENTO_ASSET, @ID_ELAB + FROM C6StagingPeriodico.ASSET_1_E_2_ORDINATE + LEFT OUTER JOIN C6StoricoPeriodico.ST_ASSET_1_E_2_ORDINATE + ON ASSET_1_E_2_ORDINATE.CODICE_ASSET_CLASS_INGRESSO = ST_ASSET_1_E_2_ORDINATE.CODICE_ASSET_CLASS_INGRESSO + AND ASSET_1_E_2_ORDINATE.CODICE_ISIN = ST_ASSET_1_E_2_ORDINATE.CODICE_ISIN + AND ASSET_1_E_2_ORDINATE.CODICE_MAF = ST_ASSET_1_E_2_ORDINATE.CODICE_MAF + AND ASSET_1_E_2_ORDINATE.CODICE_ADEGUATEZZA = ST_ASSET_1_E_2_ORDINATE.CODICE_ADEGUATEZZA + WHERE ST_ASSET_1_E_2_ORDINATE.CODICE_ASSET_CLASS_INGRESSO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ASSETCLASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ASSETCLASS + (OID$, VERSION$, ASSETCLASSID, ASSETCLASSNAME, ASSETCLASSDESCR, ASSETCLASSLEV, ISRESIDUAL, F_PASSETCLAS_2FB94, F_OID$_ASSET_B965C, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ORDINE, ID_ELAB) + SELECT + ASSETCLASS.OID$, ASSETCLASS.VERSION$, ASSETCLASS.ASSETCLASSID, ASSETCLASS.ASSETCLASSNAME, ASSETCLASS.ASSETCLASSDESCR, ASSETCLASS.ASSETCLASSLEV, ASSETCLASS.ISRESIDUAL, ASSETCLASS.F_PASSETCLAS_2FB94, ASSETCLASS.F_OID$_ASSET_B965C, ASSETCLASS.CODICE_ISIN, ASSETCLASS.CODICE_MAF, ASSETCLASS.CODICE_ADEGUATEZZA, ASSETCLASS.ORDINE, @ID_ELAB + FROM C6StagingPeriodico.ASSETCLASS + LEFT OUTER JOIN C6StoricoPeriodico.ST_ASSETCLASS + ON ASSETCLASS.OID$ = ST_ASSETCLASS.OID$ + WHERE ST_ASSETCLASS.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX C_BO_453FB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'C_BO_453FB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_C_BO_453FB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_C_BO_453FB + (OID$, C_VALUE_7BD3C, C_DESCRIZION_93ABE, PK_PRC, ID_ELAB) + SELECT + C_BO_453FB.OID$, C_BO_453FB.C_VALUE_7BD3C, C_BO_453FB.C_DESCRIZION_93ABE, C_BO_453FB.PK_PRC, @ID_ELAB + FROM C6StagingPeriodico.C_BO_453FB + LEFT OUTER JOIN C6StoricoPeriodico.ST_C_BO_453FB + ON C_BO_453FB.OID$ = ST_C_BO_453FB.OID$ + WHERE ST_C_BO_453FB.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CATINAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CATINAREA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CATINAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CATINAREA + (OID$, VERSION$, C_ISMAINNEED_9C780, NEEDAREAVALUE, F_OID$_NEEDA_2C362, F_PCATALOGUE_5D024, ID_ELAB) + SELECT + CATINAREA.OID$, CATINAREA.VERSION$, CATINAREA.C_ISMAINNEED_9C780, CATINAREA.NEEDAREAVALUE, CATINAREA.F_OID$_NEEDA_2C362, CATINAREA.F_PCATALOGUE_5D024, @ID_ELAB + FROM C6StagingPeriodico.CATINAREA + LEFT OUTER JOIN C6StoricoPeriodico.ST_CATINAREA + ON CATINAREA.OID$ = ST_CATINAREA.OID$ + WHERE ST_CATINAREA.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CATITEMREF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CATITEMREF') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CATITEMREF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CATITEMREF + (OID$, VERSION$, PRODUCTCURRENCY, PRODUCTCOUNTRY, PRODUCTREGION, CATALOGUEID, COD_ISIN, COD_ADEGUATEZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TYPE$_BCATAL_FC317, CATEGORY, INSTITUTIONS, COUNTRY, PIAZZA, ULTIMOPRZCURR, ULTIMOPRZ, CAPITALERISPARMIO, LMINCAPCONTRCURR, LMINCAPCONTR, LSUCCAPCONTRCURR, LSUCCAPCONTR, LMINRISPCONTRCURR, LMINRISPCONTR, LSUCRISPCONTRCURR, LSUCRISPCONTR, LMINCOMMCURR, LMINCOMM, DELEGAGESTIONALE, TIPOLOGIAPERPICK, EXPIRATIONDATE, RISKPRICE, FISCALREGIMENT, QUOTATO, CLASSEDIPREZZO, BONDRATING, BONDDURATION, TEMPMIN, TEMPMAX, PRIPRODCOM, MAINASSETCLASS, MACROACOBPERC, MACROACALPERC, MACROACAZPERC, MACROACMNPERC, LINEEFINACC, TIPOVERS, TIPOPOLIZRAM1, DURATACONTR, GARDEMO, RISKPRESSCAD, LIVFLUTDUR, OPZRENDVIT, METAA, METAB, METAC, RATOBBLIG, ULTIMOPREZZOCURR, ULTIMOPREZZO, DATARIFPREZZO, CODICEADB, AGGIORNFEED, DISTRPROV, CODTIPOCONTR, ULTPRZSECCURR, ULTPRZSEC, DATAULTPRZSEC, CODBLOOMBERG, DENOMUNITLNK, TIPOPRODOTTO, GENERICDATA, GENERICCURCURR, GENERICCUR, GENERICSTRING1, GENERICSTRING2, CATALOGUENAME, EFFECTIVEFROM, EFFECTIVETO, PRODUCTSTATUS, ISVISIBLE, ISNEGOTIABLE, BRIEFDESCRIPTION, F_OID$_VAR_CDDF8, RISKPROFOFSUITCLS, OPINION, OPINIONDATE, F_OID$_CATAL_B3E14, F_OID$_PCATE_F3BF6, F_OID$_MAINA_76C35, F_OID$_INSTR_B5526, F_OID$_MAINS_5FCE5, F_OID$_MAINR_08A23, F_OID$_PRISK_AAC57, F_OID$_PRODU_F8FBB, F_OID$_MARKE_F3D2D, COLL_SKANDIA, CODASSETSAT, ID_ELAB) + SELECT + CATITEMREF.OID$, CATITEMREF.VERSION$, CATITEMREF.PRODUCTCURRENCY, CATITEMREF.PRODUCTCOUNTRY, CATITEMREF.PRODUCTREGION, CATITEMREF.CATALOGUEID, CATITEMREF.COD_ISIN, CATITEMREF.COD_ADEGUATEZZA, CATITEMREF.COD_MAF, CATITEMREF.COD_INTERNO, CATITEMREF.COD_SOTTOPRODOTTO, CATITEMREF.TYPE$_BCATAL_FC317, CATITEMREF.CATEGORY, CATITEMREF.INSTITUTIONS, CATITEMREF.COUNTRY, CATITEMREF.PIAZZA, CATITEMREF.ULTIMOPRZCURR, CATITEMREF.ULTIMOPRZ, CATITEMREF.CAPITALERISPARMIO, CATITEMREF.LMINCAPCONTRCURR, CATITEMREF.LMINCAPCONTR, CATITEMREF.LSUCCAPCONTRCURR, CATITEMREF.LSUCCAPCONTR, CATITEMREF.LMINRISPCONTRCURR, CATITEMREF.LMINRISPCONTR, CATITEMREF.LSUCRISPCONTRCURR, CATITEMREF.LSUCRISPCONTR, CATITEMREF.LMINCOMMCURR, CATITEMREF.LMINCOMM, CATITEMREF.DELEGAGESTIONALE, CATITEMREF.TIPOLOGIAPERPICK, CATITEMREF.EXPIRATIONDATE, CATITEMREF.RISKPRICE, CATITEMREF.FISCALREGIMENT, CATITEMREF.QUOTATO, CATITEMREF.CLASSEDIPREZZO, CATITEMREF.BONDRATING, CATITEMREF.BONDDURATION, CATITEMREF.TEMPMIN, CATITEMREF.TEMPMAX, CATITEMREF.PRIPRODCOM, CATITEMREF.MAINASSETCLASS, CATITEMREF.MACROACOBPERC, CATITEMREF.MACROACALPERC, CATITEMREF.MACROACAZPERC, CATITEMREF.MACROACMNPERC, CATITEMREF.LINEEFINACC, CATITEMREF.TIPOVERS, CATITEMREF.TIPOPOLIZRAM1, CATITEMREF.DURATACONTR, CATITEMREF.GARDEMO, CATITEMREF.RISKPRESSCAD, CATITEMREF.LIVFLUTDUR, CATITEMREF.OPZRENDVIT, CATITEMREF.METAA, CATITEMREF.METAB, CATITEMREF.METAC, CATITEMREF.RATOBBLIG, CATITEMREF.ULTIMOPREZZOCURR, CATITEMREF.ULTIMOPREZZO, CATITEMREF.DATARIFPREZZO, CATITEMREF.CODICEADB, CATITEMREF.AGGIORNFEED, CATITEMREF.DISTRPROV, CATITEMREF.CODTIPOCONTR, CATITEMREF.ULTPRZSECCURR, CATITEMREF.ULTPRZSEC, CATITEMREF.DATAULTPRZSEC, CATITEMREF.CODBLOOMBERG, CATITEMREF.DENOMUNITLNK, CATITEMREF.TIPOPRODOTTO, CATITEMREF.GENERICDATA, CATITEMREF.GENERICCURCURR, CATITEMREF.GENERICCUR, CATITEMREF.GENERICSTRING1, CATITEMREF.GENERICSTRING2, CATITEMREF.CATALOGUENAME, CATITEMREF.EFFECTIVEFROM, CATITEMREF.EFFECTIVETO, CATITEMREF.PRODUCTSTATUS, CATITEMREF.ISVISIBLE, CATITEMREF.ISNEGOTIABLE, CATITEMREF.BRIEFDESCRIPTION, CATITEMREF.F_OID$_VAR_CDDF8, CATITEMREF.RISKPROFOFSUITCLS, CATITEMREF.OPINION, CATITEMREF.OPINIONDATE, CATITEMREF.F_OID$_CATAL_B3E14, CATITEMREF.F_OID$_PCATE_F3BF6, CATITEMREF.F_OID$_MAINA_76C35, CATITEMREF.F_OID$_INSTR_B5526, CATITEMREF.F_OID$_MAINS_5FCE5, CATITEMREF.F_OID$_MAINR_08A23, CATITEMREF.F_OID$_PRISK_AAC57, CATITEMREF.F_OID$_PRODU_F8FBB, CATITEMREF.F_OID$_MARKE_F3D2D, CATITEMREF.COLL_SKANDIA, CATITEMREF.CODASSETSAT, @ID_ELAB + FROM C6StagingPeriodico.CATITEMREF + LEFT OUTER JOIN C6StoricoPeriodico.ST_CATITEMREF + ON CATITEMREF.OID$ = ST_CATITEMREF.OID$ + WHERE ST_CATITEMREF.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CLIENTI_CON_RNA XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'CLIENTI_CON_RNA') + -- BEGIN + -- DELETE FROM C6StoricoPeriodico.ST_CLIENTI_CON_RNA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6StoricoPeriodico.ST_CLIENTI_CON_RNA + -- ([Rete] + -- ,[CodicePB] + -- ,[CodiceFiscale] + -- ,[Percentuale] + -- ,[DataCalcolo] + -- ,ID_ELAB) + -- SELECT [Rete] + -- ,[CodicePB] + -- ,[CodiceFiscale] + -- ,[Percentuale] + -- ,[DataCalcolo] + -- ,@ID_ELAB ID_ELAB + -- FROM C6StagingPeriodico.CLIENTI_CON_RNA + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX CONO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONO') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CONO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CONO + (OID$, VERSION$, C_DATA_FD2A6, C_QUANTILE5_BF710, C_QUANTILE95_0D6CE, F_PPROJECT_P_46507, C_QUANTILE50_C47E0, ID_ELAB) + SELECT + CONO.OID$, CONO.VERSION$, CONO.C_DATA_FD2A6, CONO.C_QUANTILE5_BF710, CONO.C_QUANTILE95_0D6CE, CONO.F_PPROJECT_P_46507, CONO.C_QUANTILE50_C47E0, @ID_ELAB + FROM C6StagingPeriodico.CONO + LEFT OUTER JOIN C6StoricoPeriodico.ST_CONO + ON CONO.OID$ = ST_CONO.OID$ + WHERE ST_CONO.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONSAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONSAREA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CONSAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CONSAREA + (OID$, VERSION$, F_PCONSULENZ_7FBE3, C_CONSULENZA_A58F3, C_CONSULENZA_E94E3, C_NEEDAREA_V_46360, C_NEEDAREA_D_911D8, C_CTVNEEDARE_EA4FB, C_PERCENTAGE_86095, C_OUTCTV_A27B5, C_PATRIMONIO_F4B8E, C_INVESTIMEN_AC24C, C_CONSULENZA_0C219, C_CONSULENZA_1C9D3, ID_ELAB) + SELECT + CONSAREA.OID$, CONSAREA.VERSION$, CONSAREA.F_PCONSULENZ_7FBE3, CONSAREA.C_CONSULENZA_A58F3, CONSAREA.C_CONSULENZA_E94E3, CONSAREA.C_NEEDAREA_V_46360, CONSAREA.C_NEEDAREA_D_911D8, CONSAREA.C_CTVNEEDARE_EA4FB, CONSAREA.C_PERCENTAGE_86095, CONSAREA.C_OUTCTV_A27B5, CONSAREA.C_PATRIMONIO_F4B8E, CONSAREA.C_INVESTIMEN_AC24C, CONSAREA.C_CONSULENZA_0C219, CONSAREA.C_CONSULENZA_1C9D3, @ID_ELAB + FROM C6StagingPeriodico.CONSAREA + LEFT OUTER JOIN C6StoricoPeriodico.ST_CONSAREA + ON CONSAREA.OID$ = ST_CONSAREA.OID$ + WHERE ST_CONSAREA.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONSUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONSUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CONSUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CONSUL + (OID$, VERSION$, C_CONSULENZA_EBDBE, ADBKID, INSTID, TYPE$_TIPOCO_1EA7C, C_CONTROVALO_C57EE, C_PATRIMONIO_0BF30, C_ALTROPATRI_E90EF, C_ALTRO_5AD86, C_DATAINIZIO_35C15, C_RISORSENON_A04BD, C_INVESTIMEN_C4514, C_INVESTIMEN_36DE3, C_IDQUESTION_5549B, C_DATAQUESTI_5069A, C_VARCONSOB_28C92, C_VALORIALLI_0CA23, C_DATAPIRAMI_661DA, C_DATACONSVE_D3DE3, C_DATACONSOR_EA88E, C_PROFILOCON_81F5D, C_DATAMIGRAZ_BF705, C_SALVADANAI_B156A, C_CONSULENZA_2C1E1, C_DATACONSVE_66B66, C_DATACAMBIO_79509, ID_ELAB) + SELECT + CONSUL.OID$, CONSUL.VERSION$, CONSUL.C_CONSULENZA_EBDBE, CONSUL.ADBKID, CONSUL.INSTID, CONSUL.TYPE$_TIPOCO_1EA7C, CONSUL.C_CONTROVALO_C57EE, CONSUL.C_PATRIMONIO_0BF30, CONSUL.C_ALTROPATRI_E90EF, CONSUL.C_ALTRO_5AD86, CONSUL.C_DATAINIZIO_35C15, CONSUL.C_RISORSENON_A04BD, CONSUL.C_INVESTIMEN_C4514, CONSUL.C_INVESTIMEN_36DE3, CONSUL.C_IDQUESTION_5549B, CONSUL.C_DATAQUESTI_5069A, CONSUL.C_VARCONSOB_28C92, CONSUL.C_VALORIALLI_0CA23, CONSUL.C_DATAPIRAMI_661DA, CONSUL.C_DATACONSVE_D3DE3, CONSUL.C_DATACONSOR_EA88E, CONSUL.C_PROFILOCON_81F5D, CONSUL.C_DATAMIGRAZ_BF705, CONSUL.C_SALVADANAI_B156A, CONSUL.C_CONSULENZA_2C1E1, CONSUL.C_DATACONSVE_66B66, CONSUL.C_DATACAMBIO_79509, @ID_ELAB + FROM C6StagingPeriodico.CONSUL + LEFT OUTER JOIN C6StoricoPeriodico.ST_CONSUL + ON CONSUL.OID$ = ST_CONSUL.OID$ + WHERE ST_CONSUL.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX INDREND XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'INDREND') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_INDREND WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_INDREND + (OID$, VERSION$, C_VAR_A94EA, C_TEMPOINVES_CE300, C_COPERTURA_94818, C_PERDITAMAX_F5B51, ID_ELAB) + SELECT + INDREND.OID$, INDREND.VERSION$, INDREND.C_VAR_A94EA, INDREND.C_TEMPOINVES_CE300, INDREND.C_COPERTURA_94818, INDREND.C_PERDITAMAX_F5B51, @ID_ELAB + FROM C6StagingPeriodico.INDREND + LEFT OUTER JOIN C6StoricoPeriodico.ST_INDREND + ON INDREND.OID$ = ST_INDREND.OID$ + WHERE ST_INDREND.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX INSTRBDS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'INSTRBDS') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_INSTRBDS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_INSTRBDS + (OID$, VERSION$, BDISIN, BDMAF, F_OID$_PCATA_5DDA6, PROVENIENZA, ID_ELAB) + SELECT + INSTRBDS.OID$, INSTRBDS.VERSION$, INSTRBDS.BDISIN, INSTRBDS.BDMAF, INSTRBDS.F_OID$_PCATA_5DDA6, INSTRBDS.PROVENIENZA, @ID_ELAB + FROM C6StagingPeriodico.INSTRBDS + LEFT OUTER JOIN C6StoricoPeriodico.ST_INSTRBDS + ON INSTRBDS.OID$ = ST_INSTRBDS.OID$ + WHERE ST_INSTRBDS.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX NEEDAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'NEEDAREA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_NEEDAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_NEEDAREA + (OID$, VERSION$, AREAID, AREANAME, EFFECTIVEFROM, EFFECTIVETO, BRIEFDESCRIPTION, F_PNEEDAREA__742D7, AREASORTORDER, ID_ELAB) + SELECT + NEEDAREA.OID$, NEEDAREA.VERSION$, NEEDAREA.AREAID, NEEDAREA.AREANAME, NEEDAREA.EFFECTIVEFROM, NEEDAREA.EFFECTIVETO, NEEDAREA.BRIEFDESCRIPTION, NEEDAREA.F_PNEEDAREA__742D7, NEEDAREA.AREASORTORDER, @ID_ELAB + FROM C6StagingPeriodico.NEEDAREA + LEFT OUTER JOIN C6StoricoPeriodico.ST_NEEDAREA + ON NEEDAREA.OID$ = ST_NEEDAREA.OID$ + WHERE ST_NEEDAREA.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX NOME_PROGETTO_BOZZA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'NOME_PROGETTO_BOZZA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_NOME_PROGETTO_BOZZA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_NOME_PROGETTO_BOZZA + (ADBKID, INSTID, NUOVO_NOME_PROGETTO, C_PROJECTIDR_51E22, NEEDAREA, ID_ELAB) + SELECT + NOME_PROGETTO_BOZZA.ADBKID, NOME_PROGETTO_BOZZA.INSTID, NOME_PROGETTO_BOZZA.NUOVO_NOME_PROGETTO, NOME_PROGETTO_BOZZA.C_PROJECTIDR_51E22, NOME_PROGETTO_BOZZA.NEEDAREA, @ID_ELAB + FROM C6StagingPeriodico.NOME_PROGETTO_BOZZA + LEFT OUTER JOIN C6StoricoPeriodico.ST_NOME_PROGETTO_BOZZA + ON NOME_PROGETTO_BOZZA.C_PROJECTIDR_51E22 = ST_NOME_PROGETTO_BOZZA.C_PROJECTIDR_51E22 + WHERE ST_NOME_PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX OTHINTRST XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'OTHINTRST') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_OTHINTRST WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_OTHINTRST + (OID$, VERSION$, INTERESTDESC, INTERESTCUR, INTERESTAMT, F_PQUANTIFIC_76FF6, ID_ELAB) + SELECT + OTHINTRST.OID$, OTHINTRST.VERSION$, OTHINTRST.INTERESTDESC, OTHINTRST.INTERESTCUR, OTHINTRST.INTERESTAMT, OTHINTRST.F_PQUANTIFIC_76FF6, @ID_ELAB + FROM C6StagingPeriodico.OTHINTRST + LEFT OUTER JOIN C6StoricoPeriodico.ST_OTHINTRST + ON OTHINTRST.OID$ = ST_OTHINTRST.OID$ + WHERE ST_OTHINTRST.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PHOTO_DATA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PHOTO_DATA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PHOTO_DATA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PHOTO_DATA + (OID_, VERSION_, ADBKID, INSTID, C_DATAREQ_EB2B5, TYPE__TYPE_7CAB6, TYPE__STATUS_1E30E, C_DATASALVAT_D40E3, C_CTVINV_990D8, C_CTVRIS_43FEA, C_CTVLIQ_54D1B, C_CTVPRE_A0E49, C_CTVEXT_34DCC, C_CTVCC_E242D, C_CTVNA_473EA, C_VAR_16494, C_COPVAR_5C6E5, ID_ELAB) + SELECT + PHOTO_DATA.OID_, PHOTO_DATA.VERSION_, PHOTO_DATA.ADBKID, PHOTO_DATA.INSTID, PHOTO_DATA.C_DATAREQ_EB2B5, PHOTO_DATA.TYPE__TYPE_7CAB6, PHOTO_DATA.TYPE__STATUS_1E30E, PHOTO_DATA.C_DATASALVAT_D40E3, PHOTO_DATA.C_CTVINV_990D8, PHOTO_DATA.C_CTVRIS_43FEA, PHOTO_DATA.C_CTVLIQ_54D1B, PHOTO_DATA.C_CTVPRE_A0E49, PHOTO_DATA.C_CTVEXT_34DCC, PHOTO_DATA.C_CTVCC_E242D, PHOTO_DATA.C_CTVNA_473EA, PHOTO_DATA.C_VAR_16494, PHOTO_DATA.C_COPVAR_5C6E5, @ID_ELAB + FROM C6StagingPeriodico.PHOTO_DATA + LEFT OUTER JOIN C6StoricoPeriodico.ST_PHOTO_DATA + ON PHOTO_DATA.OID_ = ST_PHOTO_DATA.OID_ + WHERE ST_PHOTO_DATA.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PORTMOD XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PORTMOD') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PORTMOD WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PORTMOD + (OID$, VERSION$, F_PPROJECT_P_EE748, C_ASSET_CD02D, C_PERCENTUAL_143B7, ID_ELAB) + SELECT + PORTMOD.OID$, PORTMOD.VERSION$, PORTMOD.F_PPROJECT_P_EE748, PORTMOD.C_ASSET_CD02D, PORTMOD.C_PERCENTUAL_143B7, @ID_ELAB + FROM C6StagingPeriodico.PORTMOD + LEFT OUTER JOIN C6StoricoPeriodico.ST_PORTMOD + ON PORTMOD.OID$ = ST_PORTMOD.OID$ + WHERE ST_PORTMOD.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX POSITION XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'POSITION') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_POSITION WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_POSITION + (OID$, VERSION$, F_PCONSULENZ_56F23, POSITIONID, CONSULENZAID, TYPE$_CATALO_35E2A, POSITIONNAME, CONTROVALORE, C_OUTCTV_B4FB8, C_NEEDAREASE_3D485, C_NEEDAREASE_30873, CATALOGUEITEMID, F_OID$_POSIT_00526, F_PPROJECT_P_B5629, CTVINIZIALE, ID_ELAB) + SELECT + POSITION.OID$, POSITION.VERSION$, POSITION.F_PCONSULENZ_56F23, POSITION.POSITIONID, POSITION.CONSULENZAID, POSITION.TYPE$_CATALO_35E2A, POSITION.POSITIONNAME, POSITION.CONTROVALORE, POSITION.C_OUTCTV_B4FB8, POSITION.C_NEEDAREASE_3D485, POSITION.C_NEEDAREASE_30873, POSITION.CATALOGUEITEMID, POSITION.F_OID$_POSIT_00526, POSITION.F_PPROJECT_P_B5629, POSITION.CTVINIZIALE, @ID_ELAB + FROM C6StagingPeriodico.POSITION + LEFT OUTER JOIN C6StoricoPeriodico.ST_POSITION + ON POSITION.OID$ = ST_POSITION.OID$ + WHERE ST_POSITION.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PRCONSUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PRCONSUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PRCONSUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PRCONSUL + (OID$, VERSION$, F_PCONSULENZ_B69E4, C_PROJECTID_9894C, C_CONSULENZA_CB331, C_CONSULENZA_A7FC6, NEEDAREAID, TYPE$_PROJEC_14674, C_PROJECTNAM_11D1A, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_CREATIONDA_732BD, C_LASTMODIFI_3BF4A, C_INVESTIMEN_60625, F_OID$_FREQU_A5FAB, C_IMPORTOPER_7A987, F_OID$_RISKP_9CF4A, F_OID$_ORIZZ_4A868, C_PERDITAAVV_D414B, C_PERDITAMAX_55078, C_GUADAGNOAV_2BD07, C_GUADAGNOMA_D14C4, C_RISERVENON_CCD2D, C_RISERVEMON_5E189, C_RISERVEOBB_121FA, C_RISERVEAZI_175C0, C_CONSULENZA_ACEEE, C_PROJECTIDM_1AF31, C_PROJECTIDR_51E22, C_DATAULTIMO_FFA71, C_PERDITAMAX_BEABF, C_PERDITAMAX_AAB4C, C_GUADAGNOMA_43151, C_GUADAGNOMA_0F76F, F_OID$_PROJE_CD4BB, C_NOTE_B4B97, C_PERCENTUAL_69019, C_PERCENTUAL_12346, F_OID$_RISKS_A3B54, C_ORDERTIMES_80019, ID_ELAB) + SELECT + PRCONSUL.OID$, PRCONSUL.VERSION$, PRCONSUL.F_PCONSULENZ_B69E4, PRCONSUL.C_PROJECTID_9894C, PRCONSUL.C_CONSULENZA_CB331, PRCONSUL.C_CONSULENZA_A7FC6, PRCONSUL.NEEDAREAID, PRCONSUL.TYPE$_PROJEC_14674, PRCONSUL.C_PROJECTNAM_11D1A, PRCONSUL.C_PROJECTCTV_39520, PRCONSUL.C_PROJECTOUT_9CFB8, PRCONSUL.C_RISORSELIQ_DF807, PRCONSUL.C_CREATIONDA_732BD, PRCONSUL.C_LASTMODIFI_3BF4A, PRCONSUL.C_INVESTIMEN_60625, PRCONSUL.F_OID$_FREQU_A5FAB, PRCONSUL.C_IMPORTOPER_7A987, PRCONSUL.F_OID$_RISKP_9CF4A, PRCONSUL.F_OID$_ORIZZ_4A868, PRCONSUL.C_PERDITAAVV_D414B, PRCONSUL.C_PERDITAMAX_55078, PRCONSUL.C_GUADAGNOAV_2BD07, PRCONSUL.C_GUADAGNOMA_D14C4, PRCONSUL.C_RISERVENON_CCD2D, PRCONSUL.C_RISERVEMON_5E189, PRCONSUL.C_RISERVEOBB_121FA, PRCONSUL.C_RISERVEAZI_175C0, PRCONSUL.C_CONSULENZA_ACEEE, PRCONSUL.C_PROJECTIDM_1AF31, PRCONSUL.C_PROJECTIDR_51E22, PRCONSUL.C_DATAULTIMO_FFA71, PRCONSUL.C_PERDITAMAX_BEABF, PRCONSUL.C_PERDITAMAX_AAB4C, PRCONSUL.C_GUADAGNOMA_43151, PRCONSUL.C_GUADAGNOMA_0F76F, PRCONSUL.F_OID$_PROJE_CD4BB, PRCONSUL.C_NOTE_B4B97, PRCONSUL.C_PERCENTUAL_69019, PRCONSUL.C_PERCENTUAL_12346, PRCONSUL.F_OID$_RISKS_A3B54, PRCONSUL.C_ORDERTIMES_80019, @ID_ELAB + FROM C6StagingPeriodico.PRCONSUL + LEFT OUTER JOIN C6StoricoPeriodico.ST_PRCONSUL + ON PRCONSUL.OID$ = ST_PRCONSUL.OID$ + WHERE ST_PRCONSUL.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PROMETEIA_AGGR XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PROMETEIA_AGGR') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PROMETEIA_AGGR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PROMETEIA_AGGR + (Rete, CodiceFiscale, Portafoglio, VaRAssolutoDiPortafoglio, VaRPercentuialeDiPortafoglio, CVaRAssolutoDiPortafoglio, CVaRPercentualeDiPortafoglio, RisksizeDiPortafoglio, McVar, McVarP, Beneficio, Copertura, Totale, ID_ELAB) + SELECT + PROMETEIA_AGGR.Rete, PROMETEIA_AGGR.CodiceFiscale, PROMETEIA_AGGR.Portafoglio, PROMETEIA_AGGR.VaRAssolutoDiPortafoglio, PROMETEIA_AGGR.VaRPercentuialeDiPortafoglio, PROMETEIA_AGGR.CVaRAssolutoDiPortafoglio, PROMETEIA_AGGR.CVaRPercentualeDiPortafoglio, PROMETEIA_AGGR.RisksizeDiPortafoglio, PROMETEIA_AGGR.McVar, PROMETEIA_AGGR.McVarP, PROMETEIA_AGGR.Beneficio, PROMETEIA_AGGR.Copertura, PROMETEIA_AGGR.Totale, @ID_ELAB + FROM C6StagingPeriodico.PROMETEIA_AGGR + LEFT OUTER JOIN C6StoricoPeriodico.PROMETEIA_AGGR + ON PROMETEIA_AGGR.Rete = ST_PROMETEIA_AGGR.Rete + AND PROMETEIA_AGGR.CodiceFiscale = ST_PROMETEIA_AGGR.CodiceFiscale + AND PROMETEIA_AGGR.Portafoglio = ST_PROMETEIA_AGGR.Portafoglio + WHERE ST_PROMETEIA_AGGR.Rete IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX QUANTIF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'QUANTIF') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_QUANTIF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_QUANTIF + (OID$, VERSION$, UPDATEDATE, EXPNEEDSCUR, EXPNEEDSAMT, GROSSINPRIMCUR, GROSSINPRIMAMT, GROSSINSECCUR, GROSSINSECAMT, RETIREMENTYEARS, STATEPENSIONCUR, STATEPENSIONAMT, PRIVATEPENSIONCUR, PRIVATEPENSIONAMT, LIFEINTERESTCUR, LIFEINTERESTAMT, C_FINANCIALI_8D659, C_FINANCIALI_91C75, INSINTERESTCUR, INSINTERESTAMT, INVINTERESTCUR, INVINTERESTAMT, REINTERESTCUR, REINTERESTAMT, PRIMARYGAPCUR, PRIMARYGAPAMT, SECONDARYGAPCUR, SECONDARYGAPAMT, TOCONSUMPTIONETM, TOINTERESTETM, LOCKPERCFRSTBRNC, PRFCONSUMPTIONS, PRFGROSSAMOUNT, PRFPERCFRSTBRNC, PRFADDRETIREMENT, PRFLIFEINTEREST, PRFINTERFRSTBRNC, PRFINTERUNIT, F_OID$_ADDRE_81D21, ID_ELAB) + SELECT + QUANTIF.OID$, QUANTIF.VERSION$, QUANTIF.UPDATEDATE, QUANTIF.EXPNEEDSCUR, QUANTIF.EXPNEEDSAMT, QUANTIF.GROSSINPRIMCUR, QUANTIF.GROSSINPRIMAMT, QUANTIF.GROSSINSECCUR, QUANTIF.GROSSINSECAMT, QUANTIF.RETIREMENTYEARS, QUANTIF.STATEPENSIONCUR, QUANTIF.STATEPENSIONAMT, QUANTIF.PRIVATEPENSIONCUR, QUANTIF.PRIVATEPENSIONAMT, QUANTIF.LIFEINTERESTCUR, QUANTIF.LIFEINTERESTAMT, QUANTIF.C_FINANCIALI_8D659, QUANTIF.C_FINANCIALI_91C75, QUANTIF.INSINTERESTCUR, QUANTIF.INSINTERESTAMT, QUANTIF.INVINTERESTCUR, QUANTIF.INVINTERESTAMT, QUANTIF.REINTERESTCUR, QUANTIF.REINTERESTAMT, QUANTIF.PRIMARYGAPCUR, QUANTIF.PRIMARYGAPAMT, QUANTIF.SECONDARYGAPCUR, QUANTIF.SECONDARYGAPAMT, QUANTIF.TOCONSUMPTIONETM, QUANTIF.TOINTERESTETM, QUANTIF.LOCKPERCFRSTBRNC, QUANTIF.PRFCONSUMPTIONS, QUANTIF.PRFGROSSAMOUNT, QUANTIF.PRFPERCFRSTBRNC, QUANTIF.PRFADDRETIREMENT, QUANTIF.PRFLIFEINTEREST, QUANTIF.PRFINTERFRSTBRNC, QUANTIF.PRFINTERUNIT, QUANTIF.F_OID$_ADDRE_81D21, @ID_ELAB + FROM C6StagingPeriodico.QUANTIF + LEFT OUTER JOIN C6StoricoPeriodico.ST_QUANTIF + ON QUANTIF.OID$ = ST_QUANTIF.OID$ + WHERE ST_QUANTIF.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX RMADBKROLE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'RMADBKROLE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_RMADBKROLE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_RMADBKROLE + (OID$, VERSION$, F_PADDRESSBO_22C0C, RMGROUPROLE, F_OID$_RM_4A3B4, ID_ELAB) + SELECT + RMADBKROLE.OID$, RMADBKROLE.VERSION$, RMADBKROLE.F_PADDRESSBO_22C0C, RMADBKROLE.RMGROUPROLE, RMADBKROLE.F_OID$_RM_4A3B4, @ID_ELAB + FROM C6StagingPeriodico.RMADBKROLE + LEFT OUTER JOIN C6StoricoPeriodico.ST_RMADBKROLE + ON RMADBKROLE.OID$ = ST_RMADBKROLE.OID$ + WHERE ST_RMADBKROLE.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX S4_S5_S13_TRAD_UNTIL_LIV3 XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'S4_S5_S13_TRAD_UNTIL_LIV3') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 + (DESCRIZIONE_ORIGINALE, ALBERO_GERARCHIA_1, ALBERO_GERARCHIA_2, ALBERO_GERARCHIA_3, ORDINAMENTO_GERARCHIA_2, ID_ELAB) + SELECT + S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE, S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1, S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2, S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3, S4_S5_S13_TRAD_UNTIL_LIV3.ORDINAMENTO_GERARCHIA_2, @ID_ELAB + FROM C6StagingPeriodico.S4_S5_S13_TRAD_UNTIL_LIV3 + LEFT OUTER JOIN C6StoricoPeriodico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 + ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ST_S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE + WHERE ST_S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_CONTR_SINTESI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_CONTR_SINTESI') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_SPB_CONTR_SINTESI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_SPB_CONTR_SINTESI + (POSITIONID, DTTRIM, DTRIFE, RETE, CODFIS, CODCONF, NUMPOL, CONTO, RUBR, CUSTGAR, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, PCTKEY, DESTIT, CTV, PARTVIA, PARTVIAAL, DTSOTTOS, RENDINIZ, RENDANNO, VALORE, SUBSET, CVN, QUOTE, ID_ELAB) + SELECT + SPB_CONTR_SINTESI.POSITIONID, SPB_CONTR_SINTESI.DTTRIM, SPB_CONTR_SINTESI.DTRIFE, SPB_CONTR_SINTESI.RETE, SPB_CONTR_SINTESI.CODFIS, SPB_CONTR_SINTESI.CODCONF, SPB_CONTR_SINTESI.NUMPOL, SPB_CONTR_SINTESI.CONTO, SPB_CONTR_SINTESI.RUBR, SPB_CONTR_SINTESI.CUSTGAR, SPB_CONTR_SINTESI.TIPPROD, SPB_CONTR_SINTESI.CODINT, SPB_CONTR_SINTESI.CODPROD, SPB_CONTR_SINTESI.SUBPROD, SPB_CONTR_SINTESI.MAF, SPB_CONTR_SINTESI.CODABI, SPB_CONTR_SINTESI.PCTKEY, SPB_CONTR_SINTESI.DESTIT, SPB_CONTR_SINTESI.CTV, SPB_CONTR_SINTESI.PARTVIA, SPB_CONTR_SINTESI.PARTVIAAL, SPB_CONTR_SINTESI.DTSOTTOS, SPB_CONTR_SINTESI.RENDINIZ, SPB_CONTR_SINTESI.RENDANNO, SPB_CONTR_SINTESI.VALORE, SPB_CONTR_SINTESI.SUBSET, SPB_CONTR_SINTESI.CVN, SPB_CONTR_SINTESI.QUOTE, @ID_ELAB + FROM C6StagingPeriodico.SPB_CONTR_SINTESI + LEFT OUTER JOIN C6StoricoPeriodico.ST_SPB_CONTR_SINTESI + ON SPB_CONTR_SINTESI.DTTRIM = ST_SPB_CONTR_SINTESI.DTTRIM + AND SPB_CONTR_SINTESI.DTRIFE = ST_SPB_CONTR_SINTESI.DTRIFE + AND SPB_CONTR_SINTESI.RETE = ST_SPB_CONTR_SINTESI.RETE + AND SPB_CONTR_SINTESI.CODFIS = ST_SPB_CONTR_SINTESI.CODFIS + AND SPB_CONTR_SINTESI.CODCONF = ST_SPB_CONTR_SINTESI.CODCONF + AND SPB_CONTR_SINTESI.CONTO = ST_SPB_CONTR_SINTESI.CONTO + AND SPB_CONTR_SINTESI.RUBR = ST_SPB_CONTR_SINTESI.RUBR + AND SPB_CONTR_SINTESI.CUSTGAR = ST_SPB_CONTR_SINTESI.CUSTGAR + AND SPB_CONTR_SINTESI.TIPPROD = ST_SPB_CONTR_SINTESI.TIPPROD + AND SPB_CONTR_SINTESI.CODINT = ST_SPB_CONTR_SINTESI.CODINT + AND SPB_CONTR_SINTESI.SUBPROD = ST_SPB_CONTR_SINTESI.SUBPROD + AND SPB_CONTR_SINTESI.CODABI = ST_SPB_CONTR_SINTESI.CODABI + AND SPB_CONTR_SINTESI.PCTKEY = ST_SPB_CONTR_SINTESI.PCTKEY + WHERE ST_SPB_CONTR_SINTESI.DTTRIM IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_MIFID XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_MIFID') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_SPB_MIFID WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_SPB_MIFID + (RETE, CODAGENTE, CODICEFISCALE, ACCETTACOMPILAZIONE, CODICEPROFILOASSEGNATO, CODICEPROFILOCALCOLATO, CODICEQUESTIONARIO, DATAFINEVALIDITA, DATAINIZIOVALIDITA, CODICEAGENTE, CODICEAGENTERESPONSABILE, CODICEAGENTEREALE, TIPOQUESTIONARIO, STATUS, ID_ELAB) + SELECT + SPB_MIFID.RETE, SPB_MIFID.CODAGENTE, SPB_MIFID.CODICEFISCALE, SPB_MIFID.ACCETTACOMPILAZIONE, SPB_MIFID.CODICEPROFILOASSEGNATO, SPB_MIFID.CODICEPROFILOCALCOLATO, SPB_MIFID.CODICEQUESTIONARIO, SPB_MIFID.DATAFINEVALIDITA, SPB_MIFID.DATAINIZIOVALIDITA, SPB_MIFID.CODICEAGENTE, SPB_MIFID.CODICEAGENTERESPONSABILE, SPB_MIFID.CODICEAGENTEREALE, SPB_MIFID.TIPOQUESTIONARIO, SPB_MIFID.STATUS, @ID_ELAB + FROM C6StagingPeriodico.SPB_MIFID + LEFT OUTER JOIN C6StoricoPeriodico.ST_SPB_MIFID + ON SPB_MIFID.RETE = ST_SPB_MIFID.RETE + AND SPB_MIFID.CODICEFISCALE = ST_SPB_MIFID.CODICEFISCALE + WHERE ST_SPB_MIFID.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_PROF_RISCHIO XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_PROF_RISCHIO') + -- BEGIN + -- DELETE FROM C6StoricoPeriodico.ST_SPB_PROF_RISCHIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6StoricoPeriodico.ST_SPB_PROF_RISCHIO + -- (CODICEPROFILO, DESCRIZIONEPROFILO, DESCRIZIONEPROFILOESTESA, PERCENTUALEASSETAZIONARIO, PERCENTUALEASSETOBBLIGAZIONARIO, PERCENTUALEASSETMONETARIO, VOLATILITADA, VOLATILITAA, RENDIMENTOATTESO, VARTRIMESTRALE, ID_ELAB) + -- SELECT + -- CODICEPROFILO, DESCRIZIONEPROFILO, DESCRIZIONEPROFILOESTESA, PERCENTUALEASSETAZIONARIO, PERCENTUALEASSETOBBLIGAZIONARIO, PERCENTUALEASSETMONETARIO, VOLATILITADA, VOLATILITAA, RENDIMENTOATTESO, VARTRIMESTRALE, @ID_ELAB + -- FROM C6StagingPeriodico.SPB_PROF_RISCHIO + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX TABELLESTORICIZZATE XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'TABELLESTORICIZZATE') + -- BEGIN + -- DELETE FROM C6StoricoPeriodico.ST_TABELLESTORICIZZATE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6StoricoPeriodico.ST_TABELLESTORICIZZATE + -- (Nome, Inizio, Fine, Durata, Vecchia_Durata, Storicizzata, ID_ELAB) + -- SELECT + -- Nome, Inizio, Fine, Durata, Vecchia_Durata, Storicizzata, @ID_ELAB + -- FROM C6StagingPeriodico.TABELLESTORICIZZATE + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX TANAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TANAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TANAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TANAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTFINE, DTINI, CTVINI, DTRENDMAX, RENDMAX, DTRENDMIN, RENDMIN, DTCTV, CTV, RENDATT, DTCTVMAX, CTVMAX, DTCTVMIN, CTVMIN, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, RENDATTANN, ID_ELAB) + SELECT + TANAB.RETE, TANAB.CODAREA, TANAB.CODPROG, TANAB.CODFIS, TANAB.DTRIF, TANAB.DTFINE, TANAB.DTINI, TANAB.CTVINI, TANAB.DTRENDMAX, TANAB.RENDMAX, TANAB.DTRENDMIN, TANAB.RENDMIN, TANAB.DTCTV, TANAB.CTV, TANAB.RENDATT, TANAB.DTCTVMAX, TANAB.CTVMAX, TANAB.DTCTVMIN, TANAB.CTVMIN, TANAB.CVN, TANAB.CVN_IA, TANAB.CVN_IT, TANAB.APP_INI, TANAB.TOT_APP, TANAB.TOT_LIQ, TANAB.TOT_CED, TANAB.TOT_DIV, TANAB.DCD, TANAB.DCVN, TANAB.SCARTO, TANAB.NTOT_APP, TANAB.NTOT_LIQ, TANAB.RENDATTANN, @ID_ELAB + FROM C6StagingPeriodico.TANAB + LEFT OUTER JOIN C6StoricoPeriodico.ST_TANAB + ON TANAB.RETE = ST_TANAB.RETE + AND TANAB.CODAREA = ST_TANAB.CODAREA + AND TANAB.CODPROG = ST_TANAB.CODPROG + AND TANAB.CODFIS = ST_TANAB.CODFIS + AND TANAB.DTRIF = ST_TANAB.DTRIF + WHERE ST_TANAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX TCPTAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TCPTAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TCPTAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TCPTAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, ISIN, ID_WADEG, MAF, CODCONF, SUBPROD, CODPROD, NUMPOL, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, SPROG, DTUSCITA, DTSOTT, CTVATT, DTINGRESSO, CTVINGRESSO, DTTRIM, RENDTRIM, DTANNO, RENDANNO, DTINIZ, RENDINIZ, DTININAC, RENDNAC, CTVVP, CVNTRIM, CVNANNO, CVNINIZ, CVNNAC, CODINT, VALORE, STLIQ, DTVALORIZ, ID_ELAB) + SELECT + TCPTAB.RETE, TCPTAB.CODAREA, TCPTAB.CODPROG, TCPTAB.CODFIS, TCPTAB.DTRIF, TCPTAB.TIPPROD, TCPTAB.ISIN, TCPTAB.ID_WADEG, TCPTAB.MAF, TCPTAB.CODCONF, TCPTAB.SUBPROD, TCPTAB.CODPROD, TCPTAB.NUMPOL, TCPTAB.CONTO, TCPTAB.CUSTGAR, TCPTAB.RUBR, TCPTAB.CODABI, TCPTAB.TERMID, TCPTAB.ANNO, TCPTAB.PROG, TCPTAB.SPROG, TCPTAB.DTUSCITA, TCPTAB.DTSOTT, TCPTAB.CTVATT, TCPTAB.DTINGRESSO, TCPTAB.CTVINGRESSO, TCPTAB.DTTRIM, TCPTAB.RENDTRIM, TCPTAB.DTANNO, TCPTAB.RENDANNO, TCPTAB.DTINIZ, TCPTAB.RENDINIZ, TCPTAB.DTININAC, TCPTAB.RENDNAC, TCPTAB.CTVVP, TCPTAB.CVNTRIM, TCPTAB.CVNANNO, TCPTAB.CVNINIZ, TCPTAB.CVNNAC, TCPTAB.CODINT, TCPTAB.VALORE, TCPTAB.STLIQ, TCPTAB.DTVALORIZ, @ID_ELAB + FROM C6StagingPeriodico.TCPTAB + INNER JOIN C6StoricoPeriodico.ST_TCPTAB + ON TCPTAB.RETE = ST_TCPTAB.RETE + AND TCPTAB.CODAREA = ST_TCPTAB.CODAREA + AND TCPTAB.CODPROG = ST_TCPTAB.CODPROG + AND TCPTAB.CODFIS = ST_TCPTAB.CODFIS + AND TCPTAB.DTRIF = ST_TCPTAB.DTRIF + AND TCPTAB.TIPPROD = ST_TCPTAB.TIPPROD + AND TCPTAB.ISIN = ST_TCPTAB.ISIN + AND TCPTAB.MAF = ST_TCPTAB.MAF + AND TCPTAB.CODCONF = ST_TCPTAB.CODCONF + AND TCPTAB.SUBPROD = ST_TCPTAB.SUBPROD + AND TCPTAB.CODPROD = ST_TCPTAB.CODPROD + AND TCPTAB.NUMPOL = ST_TCPTAB.NUMPOL + AND TCPTAB.CONTO = ST_TCPTAB.CONTO + AND TCPTAB.CUSTGAR = ST_TCPTAB.CUSTGAR + AND TCPTAB.RUBR = ST_TCPTAB.RUBR + AND TCPTAB.CODABI = ST_TCPTAB.CODABI + AND TCPTAB.TERMID = ST_TCPTAB.TERMID + AND TCPTAB.ANNO = ST_TCPTAB.ANNO + AND TCPTAB.PROG = ST_TCPTAB.PROG + AND TCPTAB.SPROG = ST_TCPTAB.SPROG + AND TCPTAB.DTINGRESSO = ST_TCPTAB.DTINGRESSO + WHERE ST_TCPTAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX TRENAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TRENAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TRENAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TRENAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTVALORIZ, CTV, DTINIZ, RENDINIZ, DTTRIM, RENDTRIM, DTANNO, RENDANNO, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, RENDATTANN, ID_ELAB) + SELECT + TRENAB.RETE, TRENAB.CODAREA, TRENAB.CODPROG, TRENAB.CODFIS, TRENAB.DTRIF, TRENAB.DTVALORIZ, TRENAB.CTV, TRENAB.DTINIZ, TRENAB.RENDINIZ, TRENAB.DTTRIM, TRENAB.RENDTRIM, TRENAB.DTANNO, TRENAB.RENDANNO, TRENAB.CVN, TRENAB.CVN_IA, TRENAB.CVN_IT, TRENAB.APP_INI, TRENAB.TOT_APP, TRENAB.TOT_LIQ, TRENAB.TOT_CED, TRENAB.TOT_DIV, TRENAB.DCD, TRENAB.DCVN, TRENAB.SCARTO, TRENAB.NTOT_APP, TRENAB.NTOT_LIQ, TRENAB.RENDATTANN, @ID_ELAB + FROM C6StagingPeriodico.TRENAB + LEFT OUTER JOIN C6StoricoPeriodico.ST_TRENAB + ON TRENAB.RETE = ST_TRENAB.RETE + AND TRENAB.CODAREA = ST_TRENAB.CODAREA + AND TRENAB.CODPROG = ST_TRENAB.CODPROG + AND TRENAB.CODFIS = ST_TRENAB.CODFIS + AND TRENAB.DTRIF = ST_TRENAB.DTRIF + AND TRENAB.DTVALORIZ = ST_TRENAB.DTVALORIZ + WHERE ST_TRENAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX TSCABP XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TSCABP') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TSCABP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TSCABP + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, CODCONF, SUBPROD, CODPROD, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, DTINGRESSO, ISTITUTO, TIPO_PRODOTT, CONTO_OP, STRUM_FIN, ID_MOVIM, TIPO_OP, RESTART, DT_ING_USC, ING_USC, COD_ERR, DESCR_ERR, DT_ELAB, DT_INS, PCT, PROVENIENZA, ID_ELAB) + SELECT + TSCABP.RETE, TSCABP.CODAREA, TSCABP.CODPROG, TSCABP.CODFIS, TSCABP.DTRIF, TSCABP.TIPPROD, TSCABP.CODCONF, TSCABP.SUBPROD, TSCABP.CODPROD, TSCABP.CONTO, TSCABP.CUSTGAR, TSCABP.RUBR, TSCABP.CODABI, TSCABP.TERMID, TSCABP.ANNO, TSCABP.PROG, TSCABP.DTINGRESSO, TSCABP.ISTITUTO, TSCABP.TIPO_PRODOTT, TSCABP.CONTO_OP, TSCABP.STRUM_FIN, TSCABP.ID_MOVIM, TSCABP.TIPO_OP, TSCABP.RESTART, TSCABP.DT_ING_USC, TSCABP.ING_USC, TSCABP.COD_ERR, TSCABP.DESCR_ERR, TSCABP.DT_ELAB, TSCABP.DT_INS, TSCABP.PCT, TSCABP.PROVENIENZA, @ID_ELAB + FROM C6StagingPeriodico.TSCABP + LEFT OUTER JOIN C6StoricoPeriodico.ST_TSCABP + ON TSCABP.RETE = ST_TSCABP.RETE + AND TSCABP.CODAREA = ST_TSCABP.CODAREA + AND TSCABP.CODPROG = ST_TSCABP.CODPROG + AND TSCABP.CODFIS = ST_TSCABP.CODFIS + WHERE ST_TSCABP.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WANAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WANAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WANAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WANAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTFINE, DTINI, CTVINI, DTRENDMAX, RENDMAX, DTRENDMIN, RENDMIN, DTCTV, CTV, RENDATT, DTCTVMAX, CTVMAX, DTCTVMIN, CTVMIN, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, ID_ELAB) + SELECT + WANAB.RETE, WANAB.CODAREA, WANAB.CODPROG, WANAB.CODFIS, WANAB.DTRIF, WANAB.DTFINE, WANAB.DTINI, WANAB.CTVINI, WANAB.DTRENDMAX, WANAB.RENDMAX, WANAB.DTRENDMIN, WANAB.RENDMIN, WANAB.DTCTV, WANAB.CTV, WANAB.RENDATT, WANAB.DTCTVMAX, WANAB.CTVMAX, WANAB.DTCTVMIN, WANAB.CTVMIN, WANAB.CVN, WANAB.CVN_IA, WANAB.CVN_IT, WANAB.APP_INI, WANAB.TOT_APP, WANAB.TOT_LIQ, WANAB.TOT_CED, WANAB.TOT_DIV, WANAB.DCD, WANAB.DCVN, WANAB.SCARTO, WANAB.NTOT_APP, WANAB.NTOT_LIQ, @ID_ELAB + FROM C6StagingPeriodico.WANAB + LEFT OUTER JOIN C6StoricoPeriodico.ST_WANAB + ON WANAB.RETE = ST_WANAB.RETE + AND WANAB.CODAREA = ST_WANAB.CODAREA + AND WANAB.CODPROG = ST_WANAB.CODPROG + AND WANAB.CODFIS = ST_WANAB.CODFIS + AND WANAB.DTRIF = ST_WANAB.DTRIF + WHERE ST_WANAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WCPTAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WCPTAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WCPTAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WCPTAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, ISIN, ID_WADEG, MAF, CODCONF, SUBPROD, CODPROD, NUMPOL, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, SPROG, DTUSCITA, DTSOTT, CTVATT, DTINGRESSO, CTVINGRESSO, DTTRIM, RENDTRIM, DTANNO, RENDANNO, DTINIZ, RENDINIZ, DTININAC, RENDNAC, CTVVP, CVNTRIM, CVNANNO, CVNINIZ, CVNNAC, CODINT, VALORE, ID_ELAB) + SELECT + WCPTAB.RETE, WCPTAB.CODAREA, WCPTAB.CODPROG, WCPTAB.CODFIS, WCPTAB.DTRIF, WCPTAB.TIPPROD, WCPTAB.ISIN, WCPTAB.ID_WADEG, WCPTAB.MAF, WCPTAB.CODCONF, WCPTAB.SUBPROD, WCPTAB.CODPROD, WCPTAB.NUMPOL, WCPTAB.CONTO, WCPTAB.CUSTGAR, WCPTAB.RUBR, WCPTAB.CODABI, WCPTAB.TERMID, WCPTAB.ANNO, WCPTAB.PROG, WCPTAB.SPROG, WCPTAB.DTUSCITA, WCPTAB.DTSOTT, WCPTAB.CTVATT, WCPTAB.DTINGRESSO, WCPTAB.CTVINGRESSO, WCPTAB.DTTRIM, WCPTAB.RENDTRIM, WCPTAB.DTANNO, WCPTAB.RENDANNO, WCPTAB.DTINIZ, WCPTAB.RENDINIZ, WCPTAB.DTININAC, WCPTAB.RENDNAC, WCPTAB.CTVVP, WCPTAB.CVNTRIM, WCPTAB.CVNANNO, WCPTAB.CVNINIZ, WCPTAB.CVNNAC, WCPTAB.CODINT, WCPTAB.VALORE, @ID_ELAB + FROM C6StagingPeriodico.WCPTAB + INNER JOIN C6StoricoPeriodico.ST_WCPTAB + ON WCPTAB.RETE = ST_WCPTAB.RETE + AND WCPTAB.CODAREA = ST_WCPTAB.CODAREA + AND WCPTAB.CODPROG = ST_WCPTAB.CODPROG + AND WCPTAB.CODFIS = ST_WCPTAB.CODFIS + AND WCPTAB.DTRIF = ST_WCPTAB.DTRIF + AND WCPTAB.TIPPROD = ST_WCPTAB.TIPPROD + AND WCPTAB.ISIN = ST_WCPTAB.ISIN + AND WCPTAB.MAF = ST_WCPTAB.MAF + AND WCPTAB.CODCONF = ST_WCPTAB.CODCONF + AND WCPTAB.SUBPROD = ST_WCPTAB.SUBPROD + AND WCPTAB.CODPROD = ST_WCPTAB.CODPROD + AND WCPTAB.NUMPOL = ST_WCPTAB.NUMPOL + AND WCPTAB.CONTO = ST_WCPTAB.CONTO + AND WCPTAB.CUSTGAR = ST_WCPTAB.CUSTGAR + AND WCPTAB.RUBR = ST_WCPTAB.RUBR + AND WCPTAB.CODABI = ST_WCPTAB.CODABI + AND WCPTAB.TERMID = ST_WCPTAB.TERMID + AND WCPTAB.ANNO = ST_WCPTAB.ANNO + AND WCPTAB.PROG = ST_WCPTAB.PROG + AND WCPTAB.SPROG = ST_WCPTAB.SPROG + AND WCPTAB.DTINGRESSO = ST_WCPTAB.DTINGRESSO + WHERE ST_WCPTAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WMANDATI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WMANDATI') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WMANDATI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WMANDATI + (PIVA, CODMAND, CODBREVE, ID_ELAB) + SELECT + WMANDATI.PIVA, WMANDATI.CODMAND, WMANDATI.CODBREVE, @ID_ELAB + FROM C6StagingPeriodico.WMANDATI + LEFT OUTER JOIN C6StoricoPeriodico.ST_WMANDATI + ON WMANDATI.CODMAND = ST_WMANDATI.CODMAND + WHERE ST_WMANDATI.CODMAND IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WRENAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WRENAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WRENAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WRENAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTVALORIZ, CTV, DTINIZ, RENDINIZ, DTTRIM, RENDTRIM, DTANNO, RENDANNO, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, ID_ELAB) + SELECT + WRENAB.RETE, WRENAB.CODAREA, WRENAB.CODPROG, WRENAB.CODFIS, WRENAB.DTRIF, WRENAB.DTVALORIZ, WRENAB.CTV, WRENAB.DTINIZ, WRENAB.RENDINIZ, WRENAB.DTTRIM, WRENAB.RENDTRIM, WRENAB.DTANNO, WRENAB.RENDANNO, WRENAB.CVN, WRENAB.CVN_IA, WRENAB.CVN_IT, WRENAB.APP_INI, WRENAB.TOT_APP, WRENAB.TOT_LIQ, WRENAB.TOT_CED, WRENAB.TOT_DIV, WRENAB.DCD, WRENAB.DCVN, WRENAB.SCARTO, WRENAB.NTOT_APP, WRENAB.NTOT_LIQ, @ID_ELAB + FROM C6StagingPeriodico.WRENAB + LEFT OUTER JOIN C6StoricoPeriodico.ST_WRENAB + ON WRENAB.RETE = ST_WRENAB.RETE + AND WRENAB.CODAREA = ST_WRENAB.CODAREA + AND WRENAB.CODPROG = ST_WRENAB.CODPROG + AND WRENAB.CODFIS = ST_WRENAB.CODFIS + AND WRENAB.DTRIF = ST_WRENAB.DTRIF + AND WRENAB.DTVALORIZ = ST_WRENAB.DTVALORIZ + WHERE ST_WRENAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSCABP XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSCABP') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSCABP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSCABP + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, CODCONF, SUBPROD, CODPROD, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, DTINGRESSO, ISTITUTO, TIPO_PRODOTT, CONTO_OP, STRUM_FIN, ID_MOVIM, TIPO_OP, RESTART, DT_ING_USC, ING_USC, COD_ERR, DESCR_ERR, DT_ELAB, DT_INS, PCT, PROVENIENZA, ID_ELAB) + SELECT + WSCABP.RETE, WSCABP.CODAREA, WSCABP.CODPROG, WSCABP.CODFIS, WSCABP.DTRIF, WSCABP.TIPPROD, WSCABP.CODCONF, WSCABP.SUBPROD, WSCABP.CODPROD, WSCABP.CONTO, WSCABP.CUSTGAR, WSCABP.RUBR, WSCABP.CODABI, WSCABP.TERMID, WSCABP.ANNO, WSCABP.PROG, WSCABP.DTINGRESSO, WSCABP.ISTITUTO, WSCABP.TIPO_PRODOTT, WSCABP.CONTO_OP, WSCABP.STRUM_FIN, WSCABP.ID_MOVIM, WSCABP.TIPO_OP, WSCABP.RESTART, WSCABP.DT_ING_USC, WSCABP.ING_USC, WSCABP.COD_ERR, WSCABP.DESCR_ERR, WSCABP.DT_ELAB, WSCABP.DT_INS, WSCABP.PCT, WSCABP.PROVENIENZA, @ID_ELAB + FROM C6StagingPeriodico.WSCABP + LEFT OUTER JOIN C6StoricoPeriodico.ST_WSCABP + ON WSCABP.RETE = ST_WSCABP.RETE + AND WSCABP.CODAREA = ST_WSCABP.CODAREA + AND WSCABP.CODPROG = ST_WSCABP.CODPROG + AND WSCABP.CODFIS = ST_WSCABP.CODFIS + WHERE ST_WSCABP.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEIAN XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEIAN') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEIAN WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEIAN + (DTTRIM, RETE, CODFIS, NOME, COGNOME, DTNASCI, INDIRIZZO, CAP, CITTA, PROVINCIA, NAZIONE, CODPROF, ID_ELAB) + SELECT + WSEIAN.DTTRIM, WSEIAN.RETE, WSEIAN.CODFIS, WSEIAN.NOME, WSEIAN.COGNOME, WSEIAN.DTNASCI, WSEIAN.INDIRIZZO, WSEIAN.CAP, WSEIAN.CITTA, WSEIAN.PROVINCIA, WSEIAN.NAZIONE, WSEIAN.CODPROF, @ID_ELAB + FROM C6StagingPeriodico.WSEIAN2 WSEIAN + LEFT OUTER JOIN C6StoricoPeriodico.ST_WSEIAN + ON WSEIAN.DTTRIM = ST_WSEIAN.DTTRIM + AND WSEIAN.RETE = ST_WSEIAN.RETE + AND WSEIAN.CODFIS = ST_WSEIAN.CODFIS + WHERE ST_WSEIAN.DTTRIM IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEICS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEICS') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEICS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEICS + (DTTRIM, DTRIFE, RETE, CODFIS, CODCONF, NUMPOL, CONTO, RUBR, CUSTGAR, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, PCTKEY, DESTIT, CTV, PARTVIA, PARTVIAAL, DTSOTTOS, RENDINIZ, RENDANNO, VALORE, SUBSET, CVN, QUOTE, ID_ELAB) + SELECT + WSEICS.DTTRIM, WSEICS.DTRIFE, WSEICS.RETE, WSEICS.CODFIS, WSEICS.CODCONF, WSEICS.NUMPOL, WSEICS.CONTO, WSEICS.RUBR, WSEICS.CUSTGAR, WSEICS.TIPPROD, WSEICS.CODINT, WSEICS.CODPROD, WSEICS.SUBPROD, WSEICS.MAF, WSEICS.CODABI, WSEICS.PCTKEY, WSEICS.DESTIT, WSEICS.CTV, WSEICS.PARTVIA, WSEICS.PARTVIAAL, WSEICS.DTSOTTOS, WSEICS.RENDINIZ, WSEICS.RENDANNO, WSEICS.VALORE, WSEICS.SUBSET, WSEICS.CVN, WSEICS.QUOTE, @ID_ELAB + FROM C6StagingPeriodico.WSEICS + LEFT OUTER JOIN C6StoricoPeriodico.ST_WSEICS + ON WSEICS.DTTRIM = ST_WSEICS.DTTRIM + AND WSEICS.DTRIFE = ST_WSEICS.DTRIFE + AND WSEICS.RETE = ST_WSEICS.RETE + AND WSEICS.CODFIS = ST_WSEICS.CODFIS + AND WSEICS.CODCONF = ST_WSEICS.CODCONF + AND WSEICS.CONTO = ST_WSEICS.CONTO + AND WSEICS.RUBR = ST_WSEICS.RUBR + AND WSEICS.CUSTGAR = ST_WSEICS.CUSTGAR + AND WSEICS.TIPPROD = ST_WSEICS.TIPPROD + AND WSEICS.CODINT = ST_WSEICS.CODINT + AND WSEICS.SUBPROD = ST_WSEICS.SUBPROD + AND WSEICS.CODABI = ST_WSEICS.CODABI + AND WSEICS.PCTKEY = ST_WSEICS.PCTKEY + WHERE ST_WSEICS.DTTRIM IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEIPV XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEIPV') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEIPV WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEIPV + (DTTRIM, RETE, CODFIS, CODCONF, IMPVER, DTRIFE, SUBSET, ID_ELAB) + SELECT + WSEIPV.DTTRIM, WSEIPV.RETE, WSEIPV.CODFIS, WSEIPV.CODCONF, WSEIPV.IMPVER, WSEIPV.DTRIFE, WSEIPV.SUBSET, @ID_ELAB + FROM C6StagingPeriodico.WSEIPV + LEFT OUTER JOIN C6StoricoPeriodico.ST_WSEIPV + ON WSEIPV.RETE = ST_WSEIPV.RETE + AND WSEIPV.CODFIS = ST_WSEIPV.CODFIS + AND WSEIPV.CODCONF = ST_WSEIPV.CODCONF + AND WSEIPV.DTRIFE = ST_WSEIPV.DTRIFE + WHERE ST_WSEIPV.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEIUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEIUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEIUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEIUL + (DTTRIM, RETE, CODFIS, CODCONF, CODINT, SUBPROD, CTV, DTRIFE, ISINFIT, ISIN, MAF, SUBSET, ID_ELAB) + SELECT + WSEIUL.DTTRIM, WSEIUL.RETE, WSEIUL.CODFIS, WSEIUL.CODCONF, WSEIUL.CODINT, WSEIUL.SUBPROD, WSEIUL.CTV, WSEIUL.DTRIFE, WSEIUL.ISINFIT, WSEIUL.ISIN, WSEIUL.MAF, WSEIUL.SUBSET, @ID_ELAB + FROM C6StagingPeriodico.WSEIUL + LEFT OUTER JOIN C6StoricoPeriodico.ST_WSEIUL + ON WSEIUL.RETE = ST_WSEIUL.RETE + AND WSEIUL.CODCONF = ST_WSEIUL.CODCONF + AND WSEIUL.CODINT = ST_WSEIUL.CODINT + AND WSEIUL.SUBPROD = ST_WSEIUL.SUBPROD + AND WSEIUL.DTRIFE = ST_WSEIUL.DTRIFE + WHERE ST_WSEIUL.RETE IS NULL + END + -- XX -- XX -- XX AGGIORNAMENTO DATI C6StagingPeriodico.TabelleStoricizzate XX -- XX -- XX -- + IF(@NomeTabella IS NOT NULL) + BEGIN + UPDATE C6StagingPeriodico.TabelleStoricizzate + SET + FINE = GETDATE(), + DURATA = DATEDIFF(SECOND ,INIZIO, GETDATE()) + WHERE NOME = @NomeTabella + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_SRV_STORICIZZAZIONE_OLD.sql b/sql/storedProduzione/C6StagingPeriodico_SRV_STORICIZZAZIONE_OLD.sql new file mode 100644 index 00000000..ac1c3cf5 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_SRV_STORICIZZAZIONE_OLD.sql @@ -0,0 +1,551 @@ +-- ============================================= +-- Author: paolo giovanetti +-- Create date: 6 marzo 2009 +-- Description: storicizzazione STAGING +-- ============================================= +CREATE PROCEDURE [C6StagingPeriodico].[SRV_STORICIZZAZIONE_OLD] + @NomeTabella VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico espresso in giorni + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MartPeriodico.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENOTH XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENOTH') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ACBDENOTH WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ACBDENOTH + (OID$, VERSION$, BDPERCENTAGE, BDBETA, F_OID$_PASSE_CDF1A, F_PFINANCIAL_815C0, ID_ELAB) + SELECT + OID$, VERSION$, BDPERCENTAGE, BDBETA, F_OID$_PASSE_CDF1A, F_PFINANCIAL_815C0, @ID_ELAB + FROM C6StagingPeriodico.ACBDENOTH + END + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENTRY XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENTRY') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ACBDENTRY WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ACBDENTRY + (OID$, VERSION$, F_PINDEXBREA_08079, F_PINSTRUMEN_FBCDE, BDPERCENTAGE, BDBETA, F_OID$_PASSE_B8A1E, F_PFINANCIAL_65EBB, F_PFINANCIAL_C2FD3, ID_ELAB) + SELECT + OID$, VERSION$, F_PINDEXBREA_08079, F_PINSTRUMEN_FBCDE, BDPERCENTAGE, BDBETA, F_OID$_PASSE_B8A1E, F_PFINANCIAL_65EBB, F_PFINANCIAL_C2FD3, @ID_ELAB + FROM C6StagingPeriodico.ACBDENTRY + END + --XXXXXXXXXXXXXXXXXXXXXXXX ADBKBASE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ADBKBASE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ADBKBASE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ADBKBASE + (OID$, VERSION$, ADBKID, INSTID, C_ADBKBASE_L_69013, TYPE$_ADBKST_AC419, C_CLIENTNAME_1A67C, C_CLIENTNAME_1E844, F_OID$_PERSO_06FCB, C_CLIENTNAME_8B1DB, C_CLIENTNAME_B4F69, C_CLIENTNAME_EA63A, C_ADBKBASE_D_C669E, C_ADBKBASE_L_1DD83, C_ADBKBASE_L_F8E21, C_ADBKBASE_L_2805C, C_ADBKBASE_T_C94F1, F_OID$_PROFI_98D05, F_OID$_TAXRE_4AC4C, C_CURRENCYSY_36ED7, F_OID$_REFER_66AC8, C_ADBKBASE_M_AE5A8, C_ADBKBASE_A_36B89, C_CURRENCYSY_0483B, C_VALUE_506AF, F_OID$_SOURC_E66C5, F_OID$_QUALI_027C5, F_OID$_BLOCK_A4386, F_OID$_SOURC_3AA10, TYPE$_ADBKTY_20093, F_PCUSTOMGRO_9BC08, F_PENTITY_AD_29FE1, ID_ELAB) + SELECT + OID$, VERSION$, ADBKID, INSTID, C_ADBKBASE_L_69013, TYPE$_ADBKST_AC419, C_CLIENTNAME_1A67C, C_CLIENTNAME_1E844, F_OID$_PERSO_06FCB, C_CLIENTNAME_8B1DB, C_CLIENTNAME_B4F69, C_CLIENTNAME_EA63A, C_ADBKBASE_D_C669E, C_ADBKBASE_L_1DD83, C_ADBKBASE_L_F8E21, C_ADBKBASE_L_2805C, C_ADBKBASE_T_C94F1, F_OID$_PROFI_98D05, F_OID$_TAXRE_4AC4C, C_CURRENCYSY_36ED7, F_OID$_REFER_66AC8, C_ADBKBASE_M_AE5A8, C_ADBKBASE_A_36B89, C_CURRENCYSY_0483B, C_VALUE_506AF, F_OID$_SOURC_E66C5, F_OID$_QUALI_027C5, F_OID$_BLOCK_A4386, F_OID$_SOURC_3AA10, TYPE$_ADBKTY_20093, F_PCUSTOMGRO_9BC08, F_PENTITY_AD_29FE1, @ID_ELAB + FROM C6StagingPeriodico.ADBKBASE + END + --XXXXXXXXXXXXXXXXXXXXXXXX ADS4WS_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ADS4WS_PROMOTORI') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ADS4WS_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ADS4WS_PROMOTORI + (Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, Telefono, TelefonoAgenzia1, TelefonoAgenzia2, ID_ELAB) + SELECT + Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, Telefono, TelefonoAgenzia1, TelefonoAgenzia2, @ID_ELAB + FROM C6StagingPeriodico.ADS4WS_PROMOTORI + END + --XXXXXXXXXXXXXXXXXXXXXXXX AGENTBASE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'AGENTBASE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_AGENTBASE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_AGENTBASE + (OID$, VERSION$, AGENTBASEID, INSTID, TYPE$_AGENTT_4FF1A, AGENTBASESTATUS, CATEGORY, ROLE, COUNTRY, REGION, TAXPAYERID, C_AGENTNAME__D3943, C_AGENTNAME__B1EC3, F_OID$_PERSO_762E5, C_AGENTNAME__ABD50, C_AGENTNAME__7D056, C_AGENTNAME__722CD, LOGINID, ICEPATH, F_PAGENTBASE_7B96C, F_OID$_AGENT_DB156, F_PENTITY_AG_79C9C, ID_ELAB) + SELECT + OID$, VERSION$, AGENTBASEID, INSTID, TYPE$_AGENTT_4FF1A, AGENTBASESTATUS, CATEGORY, ROLE, COUNTRY, REGION, TAXPAYERID, C_AGENTNAME__D3943, C_AGENTNAME__B1EC3, F_OID$_PERSO_762E5, C_AGENTNAME__ABD50, C_AGENTNAME__7D056, C_AGENTNAME__722CD, LOGINID, ICEPATH, F_PAGENTBASE_7B96C, F_OID$_AGENT_DB156, F_PENTITY_AG_79C9C, @ID_ELAB + FROM C6StagingPeriodico.AGENTBASE + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_ASSET_CLASS_PER_PROMET XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_ASSET_CLASS_PER_PROMET') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_ASSET_CLASS_PER_PROMET WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_ASSET_CLASS_PER_PROMET + (CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ID_ELAB) + SELECT + CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, @ID_ELAB + FROM C6StagingPeriodico.ALL_ASSET_CLASS_PER_PROMET + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CF_PB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CF_PB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_CF_PB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_CF_PB + (ID_CLI, NOME, COGNOME, TIPO, AGENTE, CHIAVE_PB, CHIAVE_CLIENTE, NOME_CLIENTE, COGNOME_CLIENTE, CODICE_FISCALE, TIPO_CLIENTE, RETE_PB, CODICE_PB, DATA_NASCITA, MARITALSTATUS, CODICEFISCALE, ID_ELAB) + SELECT + ID_CLI, NOME, COGNOME, TIPO, AGENTE, CHIAVE_PB, CHIAVE_CLIENTE, NOME_CLIENTE, COGNOME_CLIENTE, CODICE_FISCALE, TIPO_CLIENTE, RETE_PB, CODICE_PB, DATA_NASCITA, MARITALSTATUS, CODICEFISCALE, @ID_ELAB + FROM C6StagingPeriodico.ALL_CF_PB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CF_STATO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CF_STATO') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_CF_STATO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_CF_STATO + (CF_CLIENTE, RETE, STATO_CONSULENZA, TOTALE_RIGHE, TOTALE_STATI, FLAG_UTILIZZO_STATO, ID_ELAB) + SELECT + CF_CLIENTE, RETE, STATO_CONSULENZA, TOTALE_RIGHE, TOTALE_STATI, FLAG_UTILIZZO_STATO, @ID_ELAB + FROM C6StagingPeriodico.ALL_CF_STATO + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CONSUL_ASUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CONSUL_ASUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_CONSUL_ASUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_CONSUL_ASUL + (CODICE_FISCALE, RETE, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, AREASORTORDER, NOME_PROGETTO, CATALOGUENAME, TIPO_PROGETTO, CONTRATTO, OID_DI_CATITEMREF, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CODICEINTERNO, SOTTOPRODOTTO, CONTROVALORE_ASUL, ID_MONITORAGGIO, CATEGORIA, NUOVO_OID_CAT_PER_ASSET, CATEGORIA_2, COLO_JOIN, ID_ELAB) + SELECT + CODICE_FISCALE, RETE, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, AREASORTORDER, NOME_PROGETTO, CATALOGUENAME, TIPO_PROGETTO, CONTRATTO, OID_DI_CATITEMREF, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CODICEINTERNO, SOTTOPRODOTTO, CONTROVALORE_ASUL, ID_MONITORAGGIO, CATEGORIA, NUOVO_OID_CAT_PER_ASSET, CATEGORIA_2, COLO_JOIN, @ID_ELAB + FROM C6StagingPeriodico.ALL_CONSUL_ASUL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_PATR_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PATR_TERZI') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_PATR_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_PATR_TERZI + (CHIAVE_PER_CLIENTE, CODICE_FISCALE, RETE_PB, CAPITALE_INVESTITO, CHIAVE_FNC, PRODOTTO_IN_CATALOGO, DATA_SOTTOSCRIZIONE, PREMIO_VERSAMENTO, C_VALUE_582FF, AMMONTARE_VERSAMENTO, DESCRIZIONE_ALBERATURA, DATA_INIZIO_INV, PATRIMONIO_TERZI, NOME_ISTITUTO, CHIAVE_THR, ASSETID, DESCRIZIONE_PRODOTTO, NOMEPRODOTTO, NOME_ISTITUTO_2, INTERMEDIARIO, DATA_SCADENZA, DATA2_UTILIZ_X_SOTTOSCRIZ, BALANCEDATE_DI_THR, CHIAVE_PR_31921, PATRIMONIO_IMMOBILIARE, LOCALITA, AFFITTOPERCEPITO, CHIAVE_F87B4, PATRIMONIO_ALTRO_PN_F87B4, DENOMINAZIONE_PN_F87B4, ISCOVER, TIPO_ISCOVER, CHIAVE_E6F18, PATRIMONIO_ALTRO_PB_E6F18, DENOMINAZIONE, NUMEROQUOTE, COMPANYTYPE, CHIAVE_COMP, COMPANYNAME, CHIAVE_BT_49D5B, TIPO_BT_49D5B, CHIAVE_BT_55768, TIPO_BT_55768, CHIAVE_BT_B70F0, TIPO_BT_B70F0, CHIAVE_BT_6797A, TIPO_BT_6797A, TIPO_VERSAMENTO_BT_6797A, CHIAVE_BT_97BEE, TIPO_BT_97BEE, TIPO_POLIZZA_BT_97BEE, CHIAVE_RDESCR, TIPO_RDESCR, DESCRIZIONE_RDESCR, TIPOLOGIA_RDESCR, ID_ELAB) + SELECT + CHIAVE_PER_CLIENTE, CODICE_FISCALE, RETE_PB, CAPITALE_INVESTITO, CHIAVE_FNC, PRODOTTO_IN_CATALOGO, DATA_SOTTOSCRIZIONE, PREMIO_VERSAMENTO, C_VALUE_582FF, AMMONTARE_VERSAMENTO, DESCRIZIONE_ALBERATURA, DATA_INIZIO_INV, PATRIMONIO_TERZI, NOME_ISTITUTO, CHIAVE_THR, ASSETID, DESCRIZIONE_PRODOTTO, NOMEPRODOTTO, NOME_ISTITUTO_2, INTERMEDIARIO, DATA_SCADENZA, DATA2_UTILIZ_X_SOTTOSCRIZ, BALANCEDATE_DI_THR, CHIAVE_PR_31921, PATRIMONIO_IMMOBILIARE, LOCALITA, AFFITTOPERCEPITO, CHIAVE_F87B4, PATRIMONIO_ALTRO_PN_F87B4, DENOMINAZIONE_PN_F87B4, ISCOVER, TIPO_ISCOVER, CHIAVE_E6F18, PATRIMONIO_ALTRO_PB_E6F18, DENOMINAZIONE, NUMEROQUOTE, COMPANYTYPE, CHIAVE_COMP, COMPANYNAME, CHIAVE_BT_49D5B, TIPO_BT_49D5B, CHIAVE_BT_55768, TIPO_BT_55768, CHIAVE_BT_B70F0, TIPO_BT_B70F0, CHIAVE_BT_6797A, TIPO_BT_6797A, TIPO_VERSAMENTO_BT_6797A, CHIAVE_BT_97BEE, TIPO_BT_97BEE, TIPO_POLIZZA_BT_97BEE, CHIAVE_RDESCR, TIPO_RDESCR, DESCRIZIONE_RDESCR, TIPOLOGIA_RDESCR, @ID_ELAB + FROM C6StagingPeriodico.ALL_PATR_TERZI + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_POS_CONS_CAT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_POS_CONS_CAT') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_POS_CONS_CAT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_POS_CONS_CAT + (CODICE_FISCALE, RETE, STATO_CONSULENZA, DATA_STATO_CONSULENZA, PK_ALTERNATIVA_CONS, DATA_MIGRAZIONE_CONS, PK_AREA, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, C_PERCENTAGE_86095, C_CTVNEEDARE_EA4FB, PK_PRC, TIPO_PROGETTO, ID_MONITORAGGIO, NOME_PROGETTO, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_INVESTIMEN_60625, CONTROVALORE_PER_INV, PERCENTUALE_MODELLO, C_PERCENTUAL_12346, DATA_ORDINAMENTO_INV, CONTRATTO, OID_DI_CATITEMREF, C_OUTCTV_B4FB8, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CONTO, RUBRICATO, CUSTGAR, NUMPOL, TERMID, ANNO, PROG, NOME_PRODOTTO, NEED_AREA_ABBREVIATA_DI_POS, NEED_AREA_ESTESA_DI_POS, CHIAVE_CATITEMREF, CATALOGUENAME, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, COD_ADEGUATEZZA, ALBERATURA, TIPOPRODOTTO, ISNEGOTIABLE, MAINASSETCLASS, AREASORTORDER, ORIGINE_FILE_CATALOGO, FLAG_PRESENZA_MAPPATURA, RAGGRUPPAMEN_NOME_PROGET, ID_ELAB) + SELECT + CODICE_FISCALE, RETE, STATO_CONSULENZA, DATA_STATO_CONSULENZA, PK_ALTERNATIVA_CONS, DATA_MIGRAZIONE_CONS, PK_AREA, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, C_PERCENTAGE_86095, C_CTVNEEDARE_EA4FB, PK_PRC, TIPO_PROGETTO, ID_MONITORAGGIO, NOME_PROGETTO, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_INVESTIMEN_60625, CONTROVALORE_PER_INV, PERCENTUALE_MODELLO, C_PERCENTUAL_12346, DATA_ORDINAMENTO_INV, CONTRATTO, OID_DI_CATITEMREF, C_OUTCTV_B4FB8, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CONTO, RUBRICATO, CUSTGAR, NUMPOL, TERMID, ANNO, PROG, NOME_PRODOTTO, NEED_AREA_ABBREVIATA_DI_POS, NEED_AREA_ESTESA_DI_POS, CHIAVE_CATITEMREF, CATALOGUENAME, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, COD_ADEGUATEZZA, ALBERATURA, TIPOPRODOTTO, ISNEGOTIABLE, MAINASSETCLASS, AREASORTORDER, ORIGINE_FILE_CATALOGO, FLAG_PRESENZA_MAPPATURA, RAGGRUPPAMEN_NOME_PROGET, @ID_ELAB + FROM C6StagingPeriodico.ALL_POS_CONS_CAT + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_PROPOSTA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PROPOSTA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_PROPOSTA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_PROPOSTA + (AGENTE, RETE, NOME_CLIENTE, COGNOME_CLIENTE, CODICEFISCALE, CHIAVE_PROPOSTA, NOME_PROPOSTA, STATO_PROPOSTA, DATA_CREAZIONE_PROPOSTA, DATA_SCADENZA_PROPOSTA, NEED_BREVE, NEED_ESTESA, ORDINE_NEED, CONTROVALORE_TOT_PER_NEED, PERC_PER_NEED, NOME_PROGETTO, CONTROV_CONSULENZA, CONTROV_PROPOSTA, CONTROV_DA_DEFINIRE_LIQ, ISANEWPOSITION, STRINGONA_CLONEPOS, NOME_PRODOTTO_CLONEPOS, INVESTI, DISINVESTI, PTF_INIZ, CTVOPERAZIONE, CONTRACTCODE, POLIZZADECIMAL, CONTO, RUBRICATO, PR_COD_ISIN, PR_COD_MAF, PR_COD_INTERNO, PR_COD_SOTTOPRODOTTO, PR_COD_ADEGUATEZZA, NOME_PRODOTTO_CATALOGO, TIPOPRODOTTO, CHIAVE_CATITEMREF, CHIAVE_PER_LA_CONSULENZA, RICONCILIATA, FLAG_PROPOSTA_PER_PROGETTO, FLAG_PROPOSTA_PER_AREA, FLAG_SALVATAGGIO_MANUALE, RAGGRUPPAMENTO_PROGETTO, ID_ELAB) + SELECT + AGENTE, RETE, NOME_CLIENTE, COGNOME_CLIENTE, CODICEFISCALE, CHIAVE_PROPOSTA, NOME_PROPOSTA, STATO_PROPOSTA, DATA_CREAZIONE_PROPOSTA, DATA_SCADENZA_PROPOSTA, NEED_BREVE, NEED_ESTESA, ORDINE_NEED, CONTROVALORE_TOT_PER_NEED, PERC_PER_NEED, NOME_PROGETTO, CONTROV_CONSULENZA, CONTROV_PROPOSTA, CONTROV_DA_DEFINIRE_LIQ, ISANEWPOSITION, STRINGONA_CLONEPOS, NOME_PRODOTTO_CLONEPOS, INVESTI, DISINVESTI, PTF_INIZ, CTVOPERAZIONE, CONTRACTCODE, POLIZZADECIMAL, CONTO, RUBRICATO, PR_COD_ISIN, PR_COD_MAF, PR_COD_INTERNO, PR_COD_SOTTOPRODOTTO, PR_COD_ADEGUATEZZA, NOME_PRODOTTO_CATALOGO, TIPOPRODOTTO, CHIAVE_CATITEMREF, CHIAVE_PER_LA_CONSULENZA, RICONCILIATA, FLAG_PROPOSTA_PER_PROGETTO, FLAG_PROPOSTA_PER_AREA, FLAG_SALVATAGGIO_MANUALE, RAGGRUPPAMENTO_PROGETTO, @ID_ELAB + FROM C6StagingPeriodico.ALL_PROPOSTA + END + --XXXXXXXXXXXXXXXXXXXXXXXX AREEDIBISOGNO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'AREEDIBISOGNO') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_AREEDIBISOGNO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_AREEDIBISOGNO + (AREAID, AREANAME, AREASORTORDER, ID_ELAB) + SELECT + AREAID, AREANAME, AREASORTORDER, @ID_ELAB + FROM C6StagingPeriodico.AREEDIBISOGNO + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSET_1_E_2_ORDINATE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSET_1_E_2_ORDINATE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ASSET_1_E_2_ORDINATE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ASSET_1_E_2_ORDINATE + (CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ASSETCLASSNAME, ORDINAMENTO_ASSET, ID_ELAB) + SELECT + CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ASSETCLASSNAME, ORDINAMENTO_ASSET, @ID_ELAB + FROM C6StagingPeriodico.ASSET_1_E_2_ORDINATE + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ASSETCLASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ASSETCLASS + (OID$, VERSION$, ASSETCLASSID, ASSETCLASSNAME, ASSETCLASSDESCR, ASSETCLASSLEV, ISRESIDUAL, F_PASSETCLAS_2FB94, F_OID$_ASSET_B965C, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ORDINE, ID_ELAB) + SELECT + OID$, VERSION$, ASSETCLASSID, ASSETCLASSNAME, ASSETCLASSDESCR, ASSETCLASSLEV, ISRESIDUAL, F_PASSETCLAS_2FB94, F_OID$_ASSET_B965C, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ORDINE, @ID_ELAB + FROM C6StagingPeriodico.ASSETCLASS + END + --XXXXXXXXXXXXXXXXXXXXXXXX C_BO_453FB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'C_BO_453FB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_C_BO_453FB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_C_BO_453FB + (OID$, C_VALUE_7BD3C, C_DESCRIZION_93ABE, PK_PRC, ID_ELAB) + SELECT + OID$, C_VALUE_7BD3C, C_DESCRIZION_93ABE, PK_PRC, @ID_ELAB + FROM C6StagingPeriodico.C_BO_453FB + END + --XXXXXXXXXXXXXXXXXXXXXXXX CATINAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CATINAREA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CATINAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CATINAREA + (OID$, VERSION$, C_ISMAINNEED_9C780, NEEDAREAVALUE, F_OID$_NEEDA_2C362, F_PCATALOGUE_5D024, ID_ELAB) + SELECT + OID$, VERSION$, C_ISMAINNEED_9C780, NEEDAREAVALUE, F_OID$_NEEDA_2C362, F_PCATALOGUE_5D024, @ID_ELAB + FROM C6StagingPeriodico.CATINAREA + END + --XXXXXXXXXXXXXXXXXXXXXXXX CATITEMREF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CATITEMREF') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CATITEMREF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CATITEMREF + (OID$, VERSION$, PRODUCTCURRENCY, PRODUCTCOUNTRY, PRODUCTREGION, CATALOGUEID, COD_ISIN, COD_ADEGUATEZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TYPE$_BCATAL_FC317, CATEGORY, INSTITUTIONS, COUNTRY, PIAZZA, ULTIMOPRZCURR, ULTIMOPRZ, CAPITALERISPARMIO, LMINCAPCONTRCURR, LMINCAPCONTR, LSUCCAPCONTRCURR, LSUCCAPCONTR, LMINRISPCONTRCURR, LMINRISPCONTR, LSUCRISPCONTRCURR, LSUCRISPCONTR, LMINCOMMCURR, LMINCOMM, DELEGAGESTIONALE, TIPOLOGIAPERPICK, EXPIRATIONDATE, RISKPRICE, FISCALREGIMENT, QUOTATO, CLASSEDIPREZZO, BONDRATING, BONDDURATION, TEMPMIN, TEMPMAX, PRIPRODCOM, MAINASSETCLASS, MACROACOBPERC, MACROACALPERC, MACROACAZPERC, MACROACMNPERC, LINEEFINACC, TIPOVERS, TIPOPOLIZRAM1, DURATACONTR, GARDEMO, RISKPRESSCAD, LIVFLUTDUR, OPZRENDVIT, METAA, METAB, METAC, RATOBBLIG, ULTIMOPREZZOCURR, ULTIMOPREZZO, DATARIFPREZZO, CODICEADB, AGGIORNFEED, DISTRPROV, CODTIPOCONTR, ULTPRZSECCURR, ULTPRZSEC, DATAULTPRZSEC, CODBLOOMBERG, DENOMUNITLNK, TIPOPRODOTTO, GENERICDATA, GENERICCURCURR, GENERICCUR, GENERICSTRING1, GENERICSTRING2, CATALOGUENAME, EFFECTIVEFROM, EFFECTIVETO, PRODUCTSTATUS, ISVISIBLE, ISNEGOTIABLE, BRIEFDESCRIPTION, F_OID$_VAR_CDDF8, RISKPROFOFSUITCLS, OPINION, OPINIONDATE, F_OID$_CATAL_B3E14, F_OID$_PCATE_F3BF6, F_OID$_MAINA_76C35, F_OID$_INSTR_B5526, F_OID$_MAINS_5FCE5, F_OID$_MAINR_08A23, F_OID$_PRISK_AAC57, F_OID$_PRODU_F8FBB, F_OID$_MARKE_F3D2D, COLL_SKANDIA, CODASSETSAT, ID_ELAB) + SELECT + OID$, VERSION$, PRODUCTCURRENCY, PRODUCTCOUNTRY, PRODUCTREGION, CATALOGUEID, COD_ISIN, COD_ADEGUATEZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TYPE$_BCATAL_FC317, CATEGORY, INSTITUTIONS, COUNTRY, PIAZZA, ULTIMOPRZCURR, ULTIMOPRZ, CAPITALERISPARMIO, LMINCAPCONTRCURR, LMINCAPCONTR, LSUCCAPCONTRCURR, LSUCCAPCONTR, LMINRISPCONTRCURR, LMINRISPCONTR, LSUCRISPCONTRCURR, LSUCRISPCONTR, LMINCOMMCURR, LMINCOMM, DELEGAGESTIONALE, TIPOLOGIAPERPICK, EXPIRATIONDATE, RISKPRICE, FISCALREGIMENT, QUOTATO, CLASSEDIPREZZO, BONDRATING, BONDDURATION, TEMPMIN, TEMPMAX, PRIPRODCOM, MAINASSETCLASS, MACROACOBPERC, MACROACALPERC, MACROACAZPERC, MACROACMNPERC, LINEEFINACC, TIPOVERS, TIPOPOLIZRAM1, DURATACONTR, GARDEMO, RISKPRESSCAD, LIVFLUTDUR, OPZRENDVIT, METAA, METAB, METAC, RATOBBLIG, ULTIMOPREZZOCURR, ULTIMOPREZZO, DATARIFPREZZO, CODICEADB, AGGIORNFEED, DISTRPROV, CODTIPOCONTR, ULTPRZSECCURR, ULTPRZSEC, DATAULTPRZSEC, CODBLOOMBERG, DENOMUNITLNK, TIPOPRODOTTO, GENERICDATA, GENERICCURCURR, GENERICCUR, GENERICSTRING1, GENERICSTRING2, CATALOGUENAME, EFFECTIVEFROM, EFFECTIVETO, PRODUCTSTATUS, ISVISIBLE, ISNEGOTIABLE, BRIEFDESCRIPTION, F_OID$_VAR_CDDF8, RISKPROFOFSUITCLS, OPINION, OPINIONDATE, F_OID$_CATAL_B3E14, F_OID$_PCATE_F3BF6, F_OID$_MAINA_76C35, F_OID$_INSTR_B5526, F_OID$_MAINS_5FCE5, F_OID$_MAINR_08A23, F_OID$_PRISK_AAC57, F_OID$_PRODU_F8FBB, F_OID$_MARKE_F3D2D, COLL_SKANDIA, CODASSETSAT, @ID_ELAB + FROM C6StagingPeriodico.CATITEMREF + END + --XXXXXXXXXXXXXXXXXXXXXXXX CLIENTI_CON_RNA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CLIENTI_CON_RNA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CLIENTI_CON_RNA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CLIENTI_CON_RNA + ([Rete] + ,[CodicePB] + ,[CodiceFiscale] + ,[Percentuale] + ,[DataCalcolo] + ,ID_ELAB) + SELECT [Rete] + ,[CodicePB] + ,[CodiceFiscale] + ,[Percentuale] + ,[DataCalcolo] + ,@ID_ELAB ID_ELAB + FROM C6StagingPeriodico.CLIENTI_CON_RNA + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONO') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CONO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CONO + (OID$, VERSION$, C_DATA_FD2A6, C_QUANTILE5_BF710, C_QUANTILE95_0D6CE, F_PPROJECT_P_46507, C_QUANTILE50_C47E0, ID_ELAB) + SELECT + OID$, VERSION$, C_DATA_FD2A6, C_QUANTILE5_BF710, C_QUANTILE95_0D6CE, F_PPROJECT_P_46507, C_QUANTILE50_C47E0, @ID_ELAB + FROM C6StagingPeriodico.CONO + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONSAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONSAREA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CONSAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CONSAREA + (OID$, VERSION$, F_PCONSULENZ_7FBE3, C_CONSULENZA_A58F3, C_CONSULENZA_E94E3, C_NEEDAREA_V_46360, C_NEEDAREA_D_911D8, C_CTVNEEDARE_EA4FB, C_PERCENTAGE_86095, C_OUTCTV_A27B5, C_PATRIMONIO_F4B8E, C_INVESTIMEN_AC24C, C_CONSULENZA_0C219, C_CONSULENZA_1C9D3, ID_ELAB) + SELECT + OID$, VERSION$, F_PCONSULENZ_7FBE3, C_CONSULENZA_A58F3, C_CONSULENZA_E94E3, C_NEEDAREA_V_46360, C_NEEDAREA_D_911D8, C_CTVNEEDARE_EA4FB, C_PERCENTAGE_86095, C_OUTCTV_A27B5, C_PATRIMONIO_F4B8E, C_INVESTIMEN_AC24C, C_CONSULENZA_0C219, C_CONSULENZA_1C9D3, @ID_ELAB + FROM C6StagingPeriodico.CONSAREA + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONSUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONSUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CONSUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CONSUL + (OID$, VERSION$, C_CONSULENZA_EBDBE, ADBKID, INSTID, TYPE$_TIPOCO_1EA7C, C_CONTROVALO_C57EE, C_PATRIMONIO_0BF30, C_ALTROPATRI_E90EF, C_ALTRO_5AD86, C_DATAINIZIO_35C15, C_RISORSENON_A04BD, C_INVESTIMEN_C4514, C_INVESTIMEN_36DE3, C_IDQUESTION_5549B, C_DATAQUESTI_5069A, C_VARCONSOB_28C92, C_VALORIALLI_0CA23, C_DATAPIRAMI_661DA, C_DATACONSVE_D3DE3, C_DATACONSOR_EA88E, C_PROFILOCON_81F5D, C_DATAMIGRAZ_BF705, C_SALVADANAI_B156A, C_CONSULENZA_2C1E1, C_DATACONSVE_66B66, C_DATACAMBIO_79509, ID_ELAB) + SELECT + OID$, VERSION$, C_CONSULENZA_EBDBE, ADBKID, INSTID, TYPE$_TIPOCO_1EA7C, C_CONTROVALO_C57EE, C_PATRIMONIO_0BF30, C_ALTROPATRI_E90EF, C_ALTRO_5AD86, C_DATAINIZIO_35C15, C_RISORSENON_A04BD, C_INVESTIMEN_C4514, C_INVESTIMEN_36DE3, C_IDQUESTION_5549B, C_DATAQUESTI_5069A, C_VARCONSOB_28C92, C_VALORIALLI_0CA23, C_DATAPIRAMI_661DA, C_DATACONSVE_D3DE3, C_DATACONSOR_EA88E, C_PROFILOCON_81F5D, C_DATAMIGRAZ_BF705, C_SALVADANAI_B156A, C_CONSULENZA_2C1E1, C_DATACONSVE_66B66, C_DATACAMBIO_79509, @ID_ELAB + FROM C6StagingPeriodico.CONSUL + END + --XXXXXXXXXXXXXXXXXXXXXXXX INDREND XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'INDREND') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_INDREND WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_INDREND + (OID$, VERSION$, C_VAR_A94EA, C_TEMPOINVES_CE300, C_COPERTURA_94818, C_PERDITAMAX_F5B51, ID_ELAB) + SELECT + OID$, VERSION$, C_VAR_A94EA, C_TEMPOINVES_CE300, C_COPERTURA_94818, C_PERDITAMAX_F5B51, @ID_ELAB + FROM C6StagingPeriodico.INDREND + END + --XXXXXXXXXXXXXXXXXXXXXXXX INSTRBDS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'INSTRBDS') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_INSTRBDS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_INSTRBDS + (OID$, VERSION$, BDISIN, BDMAF, F_OID$_PCATA_5DDA6, PROVENIENZA, ID_ELAB) + SELECT + OID$, VERSION$, BDISIN, BDMAF, F_OID$_PCATA_5DDA6, PROVENIENZA, @ID_ELAB + FROM C6StagingPeriodico.INSTRBDS + END + --XXXXXXXXXXXXXXXXXXXXXXXX NEEDAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'NEEDAREA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_NEEDAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_NEEDAREA + (OID$, VERSION$, AREAID, AREANAME, EFFECTIVEFROM, EFFECTIVETO, BRIEFDESCRIPTION, F_PNEEDAREA__742D7, AREASORTORDER, ID_ELAB) + SELECT + OID$, VERSION$, AREAID, AREANAME, EFFECTIVEFROM, EFFECTIVETO, BRIEFDESCRIPTION, F_PNEEDAREA__742D7, AREASORTORDER, @ID_ELAB + FROM C6StagingPeriodico.NEEDAREA + END + --XXXXXXXXXXXXXXXXXXXXXXXX NOME_PROGETTO_BOZZA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'NOME_PROGETTO_BOZZA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_NOME_PROGETTO_BOZZA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_NOME_PROGETTO_BOZZA + (ADBKID, INSTID, NUOVO_NOME_PROGETTO, C_PROJECTIDR_51E22, NEEDAREA, ID_ELAB) + SELECT + ADBKID, INSTID, NUOVO_NOME_PROGETTO, C_PROJECTIDR_51E22, NEEDAREA, @ID_ELAB + FROM C6StagingPeriodico.NOME_PROGETTO_BOZZA + END + --XXXXXXXXXXXXXXXXXXXXXXXX OTHINTRST XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'OTHINTRST') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_OTHINTRST WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_OTHINTRST + (OID$, VERSION$, INTERESTDESC, INTERESTCUR, INTERESTAMT, F_PQUANTIFIC_76FF6, ID_ELAB) + SELECT + OID$, VERSION$, INTERESTDESC, INTERESTCUR, INTERESTAMT, F_PQUANTIFIC_76FF6, @ID_ELAB + FROM C6StagingPeriodico.OTHINTRST + END + --XXXXXXXXXXXXXXXXXXXXXXXX PHOTO_DATA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PHOTO_DATA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PHOTO_DATA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PHOTO_DATA + (OID_, VERSION_, ADBKID, INSTID, C_DATAREQ_EB2B5, TYPE__TYPE_7CAB6, TYPE__STATUS_1E30E, C_DATASALVAT_D40E3, C_CTVINV_990D8, C_CTVRIS_43FEA, C_CTVLIQ_54D1B, C_CTVPRE_A0E49, C_CTVEXT_34DCC, C_CTVCC_E242D, C_CTVNA_473EA, C_VAR_16494, C_COPVAR_5C6E5, ID_ELAB) + SELECT + OID_, VERSION_, ADBKID, INSTID, C_DATAREQ_EB2B5, TYPE__TYPE_7CAB6, TYPE__STATUS_1E30E, C_DATASALVAT_D40E3, C_CTVINV_990D8, C_CTVRIS_43FEA, C_CTVLIQ_54D1B, C_CTVPRE_A0E49, C_CTVEXT_34DCC, C_CTVCC_E242D, C_CTVNA_473EA, C_VAR_16494, C_COPVAR_5C6E5, @ID_ELAB + FROM C6StagingPeriodico.PHOTO_DATA + END + --XXXXXXXXXXXXXXXXXXXXXXXX PORTMOD XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PORTMOD') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PORTMOD WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PORTMOD + (OID$, VERSION$, F_PPROJECT_P_EE748, C_ASSET_CD02D, C_PERCENTUAL_143B7, ID_ELAB) + SELECT + OID$, VERSION$, F_PPROJECT_P_EE748, C_ASSET_CD02D, C_PERCENTUAL_143B7, @ID_ELAB + FROM C6StagingPeriodico.PORTMOD + END + --XXXXXXXXXXXXXXXXXXXXXXXX POSITION XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'POSITION') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_POSITION WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_POSITION + (OID$, VERSION$, F_PCONSULENZ_56F23, POSITIONID, CONSULENZAID, TYPE$_CATALO_35E2A, POSITIONNAME, CONTROVALORE, C_OUTCTV_B4FB8, C_NEEDAREASE_3D485, C_NEEDAREASE_30873, CATALOGUEITEMID, F_OID$_POSIT_00526, F_PPROJECT_P_B5629, CTVINIZIALE, ID_ELAB) + SELECT + OID$, VERSION$, F_PCONSULENZ_56F23, POSITIONID, CONSULENZAID, TYPE$_CATALO_35E2A, POSITIONNAME, CONTROVALORE, C_OUTCTV_B4FB8, C_NEEDAREASE_3D485, C_NEEDAREASE_30873, CATALOGUEITEMID, F_OID$_POSIT_00526, F_PPROJECT_P_B5629, CTVINIZIALE, @ID_ELAB + FROM C6StagingPeriodico.POSITION + END + --XXXXXXXXXXXXXXXXXXXXXXXX PRCONSUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PRCONSUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PRCONSUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PRCONSUL + (OID$, VERSION$, F_PCONSULENZ_B69E4, C_PROJECTID_9894C, C_CONSULENZA_CB331, C_CONSULENZA_A7FC6, NEEDAREAID, TYPE$_PROJEC_14674, C_PROJECTNAM_11D1A, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_CREATIONDA_732BD, C_LASTMODIFI_3BF4A, C_INVESTIMEN_60625, F_OID$_FREQU_A5FAB, C_IMPORTOPER_7A987, F_OID$_RISKP_9CF4A, F_OID$_ORIZZ_4A868, C_PERDITAAVV_D414B, C_PERDITAMAX_55078, C_GUADAGNOAV_2BD07, C_GUADAGNOMA_D14C4, C_RISERVENON_CCD2D, C_RISERVEMON_5E189, C_RISERVEOBB_121FA, C_RISERVEAZI_175C0, C_CONSULENZA_ACEEE, C_PROJECTIDM_1AF31, C_PROJECTIDR_51E22, C_DATAULTIMO_FFA71, C_PERDITAMAX_BEABF, C_PERDITAMAX_AAB4C, C_GUADAGNOMA_43151, C_GUADAGNOMA_0F76F, F_OID$_PROJE_CD4BB, C_NOTE_B4B97, C_PERCENTUAL_69019, C_PERCENTUAL_12346, F_OID$_RISKS_A3B54, C_ORDERTIMES_80019, ID_ELAB) + SELECT + OID$, VERSION$, F_PCONSULENZ_B69E4, C_PROJECTID_9894C, C_CONSULENZA_CB331, C_CONSULENZA_A7FC6, NEEDAREAID, TYPE$_PROJEC_14674, C_PROJECTNAM_11D1A, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_CREATIONDA_732BD, C_LASTMODIFI_3BF4A, C_INVESTIMEN_60625, F_OID$_FREQU_A5FAB, C_IMPORTOPER_7A987, F_OID$_RISKP_9CF4A, F_OID$_ORIZZ_4A868, C_PERDITAAVV_D414B, C_PERDITAMAX_55078, C_GUADAGNOAV_2BD07, C_GUADAGNOMA_D14C4, C_RISERVENON_CCD2D, C_RISERVEMON_5E189, C_RISERVEOBB_121FA, C_RISERVEAZI_175C0, C_CONSULENZA_ACEEE, C_PROJECTIDM_1AF31, C_PROJECTIDR_51E22, C_DATAULTIMO_FFA71, C_PERDITAMAX_BEABF, C_PERDITAMAX_AAB4C, C_GUADAGNOMA_43151, C_GUADAGNOMA_0F76F, F_OID$_PROJE_CD4BB, C_NOTE_B4B97, C_PERCENTUAL_69019, C_PERCENTUAL_12346, F_OID$_RISKS_A3B54, C_ORDERTIMES_80019, @ID_ELAB + FROM C6StagingPeriodico.PRCONSUL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PROMETEIA_AGGR XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PROMETEIA_AGGR') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PROMETEIA_AGGR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PROMETEIA_AGGR + (Rete, CodiceFiscale, Portafoglio, VaRAssolutoDiPortafoglio, VaRPercentuialeDiPortafoglio, CVaRAssolutoDiPortafoglio, CVaRPercentualeDiPortafoglio, RisksizeDiPortafoglio, McVar, McVarP, Beneficio, Copertura, Totale, ID_ELAB) + SELECT + Rete, CodiceFiscale, Portafoglio, VaRAssolutoDiPortafoglio, VaRPercentuialeDiPortafoglio, CVaRAssolutoDiPortafoglio, CVaRPercentualeDiPortafoglio, RisksizeDiPortafoglio, McVar, McVarP, Beneficio, Copertura, Totale, @ID_ELAB + FROM C6StagingPeriodico.PROMETEIA_AGGR + END + --XXXXXXXXXXXXXXXXXXXXXXXX QUANTIF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'QUANTIF') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_QUANTIF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_QUANTIF + (OID$, VERSION$, UPDATEDATE, EXPNEEDSCUR, EXPNEEDSAMT, GROSSINPRIMCUR, GROSSINPRIMAMT, GROSSINSECCUR, GROSSINSECAMT, RETIREMENTYEARS, STATEPENSIONCUR, STATEPENSIONAMT, PRIVATEPENSIONCUR, PRIVATEPENSIONAMT, LIFEINTERESTCUR, LIFEINTERESTAMT, C_FINANCIALI_8D659, C_FINANCIALI_91C75, INSINTERESTCUR, INSINTERESTAMT, INVINTERESTCUR, INVINTERESTAMT, REINTERESTCUR, REINTERESTAMT, PRIMARYGAPCUR, PRIMARYGAPAMT, SECONDARYGAPCUR, SECONDARYGAPAMT, TOCONSUMPTIONETM, TOINTERESTETM, LOCKPERCFRSTBRNC, PRFCONSUMPTIONS, PRFGROSSAMOUNT, PRFPERCFRSTBRNC, PRFADDRETIREMENT, PRFLIFEINTEREST, PRFINTERFRSTBRNC, PRFINTERUNIT, F_OID$_ADDRE_81D21, ID_ELAB) + SELECT + OID$, VERSION$, UPDATEDATE, EXPNEEDSCUR, EXPNEEDSAMT, GROSSINPRIMCUR, GROSSINPRIMAMT, GROSSINSECCUR, GROSSINSECAMT, RETIREMENTYEARS, STATEPENSIONCUR, STATEPENSIONAMT, PRIVATEPENSIONCUR, PRIVATEPENSIONAMT, LIFEINTERESTCUR, LIFEINTERESTAMT, C_FINANCIALI_8D659, C_FINANCIALI_91C75, INSINTERESTCUR, INSINTERESTAMT, INVINTERESTCUR, INVINTERESTAMT, REINTERESTCUR, REINTERESTAMT, PRIMARYGAPCUR, PRIMARYGAPAMT, SECONDARYGAPCUR, SECONDARYGAPAMT, TOCONSUMPTIONETM, TOINTERESTETM, LOCKPERCFRSTBRNC, PRFCONSUMPTIONS, PRFGROSSAMOUNT, PRFPERCFRSTBRNC, PRFADDRETIREMENT, PRFLIFEINTEREST, PRFINTERFRSTBRNC, PRFINTERUNIT, F_OID$_ADDRE_81D21, @ID_ELAB + FROM C6StagingPeriodico.QUANTIF + END + --XXXXXXXXXXXXXXXXXXXXXXXX RMADBKROLE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'RMADBKROLE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_RMADBKROLE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_RMADBKROLE + (OID$, VERSION$, F_PADDRESSBO_22C0C, RMGROUPROLE, F_OID$_RM_4A3B4, ID_ELAB) + SELECT + OID$, VERSION$, F_PADDRESSBO_22C0C, RMGROUPROLE, F_OID$_RM_4A3B4, @ID_ELAB + FROM C6StagingPeriodico.RMADBKROLE + END + --XXXXXXXXXXXXXXXXXXXXXXXX S4_S5_S13_TRAD_UNTIL_LIV3 XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'S4_S5_S13_TRAD_UNTIL_LIV3') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 + (DESCRIZIONE_ORIGINALE, ALBERO_GERARCHIA_1, ALBERO_GERARCHIA_2, ALBERO_GERARCHIA_3, ORDINAMENTO_GERARCHIA_2, ID_ELAB) + SELECT + DESCRIZIONE_ORIGINALE, ALBERO_GERARCHIA_1, ALBERO_GERARCHIA_2, ALBERO_GERARCHIA_3, ORDINAMENTO_GERARCHIA_2, @ID_ELAB + FROM C6StagingPeriodico.S4_S5_S13_TRAD_UNTIL_LIV3 + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_CONTR_SINTESI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_CONTR_SINTESI') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_SPB_CONTR_SINTESI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_SPB_CONTR_SINTESI + (POSITIONID, DTTRIM, DTRIFE, RETE, CODFIS, CODCONF, NUMPOL, CONTO, RUBR, CUSTGAR, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, PCTKEY, DESTIT, CTV, PARTVIA, PARTVIAAL, DTSOTTOS, RENDINIZ, RENDANNO, VALORE, SUBSET, CVN, QUOTE, ID_ELAB) + SELECT + POSITIONID, DTTRIM, DTRIFE, RETE, CODFIS, CODCONF, NUMPOL, CONTO, RUBR, CUSTGAR, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, PCTKEY, DESTIT, CTV, PARTVIA, PARTVIAAL, DTSOTTOS, RENDINIZ, RENDANNO, VALORE, SUBSET, CVN, QUOTE, @ID_ELAB + FROM C6StagingPeriodico.SPB_CONTR_SINTESI + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_MIFID XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_MIFID') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_SPB_MIFID WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_SPB_MIFID + (RETE, CODAGENTE, CODICEFISCALE, ACCETTACOMPILAZIONE, CODICEPROFILOASSEGNATO, CODICEPROFILOCALCOLATO, CODICEQUESTIONARIO, DATAFINEVALIDITA, DATAINIZIOVALIDITA, CODICEAGENTE, CODICEAGENTERESPONSABILE, CODICEAGENTEREALE, TIPOQUESTIONARIO, STATUS, ID_ELAB) + SELECT + RETE, CODAGENTE, CODICEFISCALE, ACCETTACOMPILAZIONE, CODICEPROFILOASSEGNATO, CODICEPROFILOCALCOLATO, CODICEQUESTIONARIO, DATAFINEVALIDITA, DATAINIZIOVALIDITA, CODICEAGENTE, CODICEAGENTERESPONSABILE, CODICEAGENTEREALE, TIPOQUESTIONARIO, STATUS, @ID_ELAB + FROM C6StagingPeriodico.SPB_MIFID + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_PROF_RISCHIO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_PROF_RISCHIO') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_SPB_PROF_RISCHIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_SPB_PROF_RISCHIO + (CODICEPROFILO, DESCRIZIONEPROFILO, DESCRIZIONEPROFILOESTESA, PERCENTUALEASSETAZIONARIO, PERCENTUALEASSETOBBLIGAZIONARIO, PERCENTUALEASSETMONETARIO, VOLATILITADA, VOLATILITAA, RENDIMENTOATTESO, VARTRIMESTRALE, ID_ELAB) + SELECT + CODICEPROFILO, DESCRIZIONEPROFILO, DESCRIZIONEPROFILOESTESA, PERCENTUALEASSETAZIONARIO, PERCENTUALEASSETOBBLIGAZIONARIO, PERCENTUALEASSETMONETARIO, VOLATILITADA, VOLATILITAA, RENDIMENTOATTESO, VARTRIMESTRALE, @ID_ELAB + FROM C6StagingPeriodico.SPB_PROF_RISCHIO + END + --XXXXXXXXXXXXXXXXXXXXXXXX TABELLESTORICIZZATE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TABELLESTORICIZZATE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TABELLESTORICIZZATE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TABELLESTORICIZZATE + (Nome, Inizio, Fine, Durata, Vecchia_Durata, Storicizzata, ID_ELAB) + SELECT + Nome, Inizio, Fine, Durata, Vecchia_Durata, Storicizzata, @ID_ELAB + FROM C6StagingPeriodico.TABELLESTORICIZZATE + END + --XXXXXXXXXXXXXXXXXXXXXXXX TANAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TANAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TANAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TANAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTFINE, DTINI, CTVINI, DTRENDMAX, RENDMAX, DTRENDMIN, RENDMIN, DTCTV, CTV, RENDATT, DTCTVMAX, CTVMAX, DTCTVMIN, CTVMIN, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, RENDATTANN, ID_ELAB) + SELECT + RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTFINE, DTINI, CTVINI, DTRENDMAX, RENDMAX, DTRENDMIN, RENDMIN, DTCTV, CTV, RENDATT, DTCTVMAX, CTVMAX, DTCTVMIN, CTVMIN, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, RENDATTANN, @ID_ELAB + FROM C6StagingPeriodico.TANAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX TCPTAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TCPTAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TCPTAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TCPTAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, ISIN, ID_WADEG, MAF, CODCONF, SUBPROD, CODPROD, NUMPOL, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, SPROG, DTUSCITA, DTSOTT, CTVATT, DTINGRESSO, CTVINGRESSO, DTTRIM, RENDTRIM, DTANNO, RENDANNO, DTINIZ, RENDINIZ, DTININAC, RENDNAC, CTVVP, CVNTRIM, CVNANNO, CVNINIZ, CVNNAC, CODINT, VALORE, STLIQ, DTVALORIZ, ID_ELAB) + SELECT + RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, ISIN, ID_WADEG, MAF, CODCONF, SUBPROD, CODPROD, NUMPOL, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, SPROG, DTUSCITA, DTSOTT, CTVATT, DTINGRESSO, CTVINGRESSO, DTTRIM, RENDTRIM, DTANNO, RENDANNO, DTINIZ, RENDINIZ, DTININAC, RENDNAC, CTVVP, CVNTRIM, CVNANNO, CVNINIZ, CVNNAC, CODINT, VALORE, STLIQ, DTVALORIZ, @ID_ELAB + FROM C6StagingPeriodico.TCPTAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX TRENAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TRENAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TRENAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TRENAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTVALORIZ, CTV, DTINIZ, RENDINIZ, DTTRIM, RENDTRIM, DTANNO, RENDANNO, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, RENDATTANN, ID_ELAB) + SELECT + RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTVALORIZ, CTV, DTINIZ, RENDINIZ, DTTRIM, RENDTRIM, DTANNO, RENDANNO, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, RENDATTANN, @ID_ELAB + FROM C6StagingPeriodico.TRENAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX TSCABP XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TSCABP') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TSCABP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TSCABP + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, CODCONF, SUBPROD, CODPROD, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, DTINGRESSO, ISTITUTO, TIPO_PRODOTT, CONTO_OP, STRUM_FIN, ID_MOVIM, TIPO_OP, RESTART, DT_ING_USC, ING_USC, COD_ERR, DESCR_ERR, DT_ELAB, DT_INS, PCT, PROVENIENZA, ID_ELAB) + SELECT + RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, CODCONF, SUBPROD, CODPROD, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, DTINGRESSO, ISTITUTO, TIPO_PRODOTT, CONTO_OP, STRUM_FIN, ID_MOVIM, TIPO_OP, RESTART, DT_ING_USC, ING_USC, COD_ERR, DESCR_ERR, DT_ELAB, DT_INS, PCT, PROVENIENZA, @ID_ELAB + FROM C6StagingPeriodico.TSCABP + END + --XXXXXXXXXXXXXXXXXXXXXXXX WANAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WANAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WANAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WANAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTFINE, DTINI, CTVINI, DTRENDMAX, RENDMAX, DTRENDMIN, RENDMIN, DTCTV, CTV, RENDATT, DTCTVMAX, CTVMAX, DTCTVMIN, CTVMIN, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, ID_ELAB) + SELECT + RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTFINE, DTINI, CTVINI, DTRENDMAX, RENDMAX, DTRENDMIN, RENDMIN, DTCTV, CTV, RENDATT, DTCTVMAX, CTVMAX, DTCTVMIN, CTVMIN, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, @ID_ELAB + FROM C6StagingPeriodico.WANAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX WCPTAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WCPTAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WCPTAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WCPTAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, ISIN, ID_WADEG, MAF, CODCONF, SUBPROD, CODPROD, NUMPOL, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, SPROG, DTUSCITA, DTSOTT, CTVATT, DTINGRESSO, CTVINGRESSO, DTTRIM, RENDTRIM, DTANNO, RENDANNO, DTINIZ, RENDINIZ, DTININAC, RENDNAC, CTVVP, CVNTRIM, CVNANNO, CVNINIZ, CVNNAC, CODINT, VALORE, ID_ELAB) + SELECT + RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, ISIN, ID_WADEG, MAF, CODCONF, SUBPROD, CODPROD, NUMPOL, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, SPROG, DTUSCITA, DTSOTT, CTVATT, DTINGRESSO, CTVINGRESSO, DTTRIM, RENDTRIM, DTANNO, RENDANNO, DTINIZ, RENDINIZ, DTININAC, RENDNAC, CTVVP, CVNTRIM, CVNANNO, CVNINIZ, CVNNAC, CODINT, VALORE, @ID_ELAB + FROM C6StagingPeriodico.WCPTAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX WRENAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WRENAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WRENAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WRENAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTVALORIZ, CTV, DTINIZ, RENDINIZ, DTTRIM, RENDTRIM, DTANNO, RENDANNO, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, ID_ELAB) + SELECT + RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTVALORIZ, CTV, DTINIZ, RENDINIZ, DTTRIM, RENDTRIM, DTANNO, RENDANNO, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, @ID_ELAB + FROM C6StagingPeriodico.WRENAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSCABP XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSCABP') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSCABP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSCABP + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, CODCONF, SUBPROD, CODPROD, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, DTINGRESSO, ISTITUTO, TIPO_PRODOTT, CONTO_OP, STRUM_FIN, ID_MOVIM, TIPO_OP, RESTART, DT_ING_USC, ING_USC, COD_ERR, DESCR_ERR, DT_ELAB, DT_INS, PCT, PROVENIENZA, ID_ELAB) + SELECT + RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, CODCONF, SUBPROD, CODPROD, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, DTINGRESSO, ISTITUTO, TIPO_PRODOTT, CONTO_OP, STRUM_FIN, ID_MOVIM, TIPO_OP, RESTART, DT_ING_USC, ING_USC, COD_ERR, DESCR_ERR, DT_ELAB, DT_INS, PCT, PROVENIENZA, @ID_ELAB + FROM C6StagingPeriodico.WSCABP + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEIAN XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEIAN') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEIAN WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEIAN + (DTTRIM, RETE, CODFIS, NOME, COGNOME, DTNASCI, INDIRIZZO, CAP, CITTA, PROVINCIA, NAZIONE, CODPROF, ID_ELAB) + SELECT + DTTRIM, RETE, CODFIS, NOME, COGNOME, DTNASCI, INDIRIZZO, CAP, CITTA, PROVINCIA, NAZIONE, CODPROF, @ID_ELAB + FROM C6StagingPeriodico.WSEIAN + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEICS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEICS') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEICS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEICS + (DTTRIM, DTRIFE, RETE, CODFIS, CODCONF, NUMPOL, CONTO, RUBR, CUSTGAR, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, PCTKEY, DESTIT, CTV, PARTVIA, PARTVIAAL, DTSOTTOS, RENDINIZ, RENDANNO, VALORE, SUBSET, CVN, QUOTE, ID_ELAB) + SELECT + DTTRIM, DTRIFE, RETE, CODFIS, CODCONF, NUMPOL, CONTO, RUBR, CUSTGAR, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, PCTKEY, DESTIT, CTV, PARTVIA, PARTVIAAL, DTSOTTOS, RENDINIZ, RENDANNO, VALORE, SUBSET, CVN, QUOTE, @ID_ELAB + FROM C6StagingPeriodico.WSEICS + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEIPV XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEIPV') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEIPV WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEIPV + (DTTRIM, RETE, CODFIS, CODCONF, IMPVER, DTRIFE, SUBSET, ID_ELAB) + SELECT + DTTRIM, RETE, CODFIS, CODCONF, IMPVER, DTRIFE, SUBSET, @ID_ELAB + FROM C6StagingPeriodico.WSEIPV + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEIUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEIUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEIUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEIUL + (DTTRIM, RETE, CODFIS, CODCONF, CODINT, SUBPROD, CTV, DTRIFE, ISINFIT, ISIN, MAF, SUBSET, ID_ELAB) + SELECT + DTTRIM, RETE, CODFIS, CODCONF, CODINT, SUBPROD, CTV, DTRIFE, ISINFIT, ISIN, MAF, SUBSET, @ID_ELAB + FROM C6StagingPeriodico.WSEIUL + END + -- XX -- XX -- XX AGGIORNAMENTO DATI C6StagingPeriodico.TabelleStoricizzate XX -- XX -- XX -- + IF(@NomeTabella IS NOT NULL) + BEGIN + UPDATE C6StagingPeriodico.TabelleStoricizzate + SET + FINE = GETDATE(), + DURATA = DATEDIFF(SECOND ,INIZIO, GETDATE()) + WHERE NOME = @NomeTabella + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_SRV_STORICIZZAZIONE_preAladdin.sql b/sql/storedProduzione/C6StagingPeriodico_SRV_STORICIZZAZIONE_preAladdin.sql new file mode 100644 index 00000000..93d892d6 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_SRV_STORICIZZAZIONE_preAladdin.sql @@ -0,0 +1,832 @@ +-- ============================================= +-- Author: paolo giovanetti +-- Create date: 6 marzo 2009 +-- Description: storicizzazione STAGING +-- ============================================= +CREATE procedure [C6StagingPeriodico].[SRV_STORICIZZAZIONE_preAladdin] + @NomeTabella VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico espresso in giorni + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MartPeriodico.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENOTH XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENOTH') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ACBDENOTH WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ACBDENOTH + (OID$, VERSION$, BDPERCENTAGE, BDBETA, F_OID$_PASSE_CDF1A, F_PFINANCIAL_815C0, ID_ELAB) + SELECT + ACBDENOTH.OID$, ACBDENOTH.VERSION$, ACBDENOTH.BDPERCENTAGE, ACBDENOTH.BDBETA, ACBDENOTH.F_OID$_PASSE_CDF1A, ACBDENOTH.F_PFINANCIAL_815C0, @ID_ELAB + FROM C6StagingPeriodico.ACBDENOTH + LEFT OUTER JOIN C6StoricoPeriodico.ST_ACBDENOTH + ON ACBDENOTH.OID$ = ST_ACBDENOTH.OID$ + WHERE ST_ACBDENOTH.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENTRY XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENTRY') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ACBDENTRY WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ACBDENTRY + (OID$, VERSION$, F_PINDEXBREA_08079, F_PINSTRUMEN_FBCDE, BDPERCENTAGE, BDBETA, F_OID$_PASSE_B8A1E, F_PFINANCIAL_65EBB, F_PFINANCIAL_C2FD3, ID_ELAB) + SELECT + ACBDENTRY.OID$, ACBDENTRY.VERSION$, ACBDENTRY.F_PINDEXBREA_08079, ACBDENTRY.F_PINSTRUMEN_FBCDE, ACBDENTRY.BDPERCENTAGE, ACBDENTRY.BDBETA, ACBDENTRY.F_OID$_PASSE_B8A1E, ACBDENTRY.F_PFINANCIAL_65EBB, ACBDENTRY.F_PFINANCIAL_C2FD3, @ID_ELAB + FROM C6StagingPeriodico.ACBDENTRY + LEFT OUTER JOIN C6StoricoPeriodico.ST_ACBDENTRY + ON ACBDENTRY.OID$ = ST_ACBDENTRY.OID$ + WHERE ST_ACBDENTRY.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ADBKBASE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ADBKBASE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ADBKBASE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ADBKBASE + (OID$, VERSION$, ADBKID, INSTID, C_ADBKBASE_L_69013, TYPE$_ADBKST_AC419, C_CLIENTNAME_1A67C, C_CLIENTNAME_1E844, F_OID$_PERSO_06FCB, C_CLIENTNAME_8B1DB, C_CLIENTNAME_B4F69, C_CLIENTNAME_EA63A, C_ADBKBASE_D_C669E, C_ADBKBASE_L_1DD83, C_ADBKBASE_L_F8E21, C_ADBKBASE_L_2805C, C_ADBKBASE_T_C94F1, F_OID$_PROFI_98D05, F_OID$_TAXRE_4AC4C, C_CURRENCYSY_36ED7, F_OID$_REFER_66AC8, C_ADBKBASE_M_AE5A8, C_ADBKBASE_A_36B89, C_CURRENCYSY_0483B, C_VALUE_506AF, F_OID$_SOURC_E66C5, F_OID$_QUALI_027C5, F_OID$_BLOCK_A4386, F_OID$_SOURC_3AA10, TYPE$_ADBKTY_20093, F_PCUSTOMGRO_9BC08, F_PENTITY_AD_29FE1, ID_ELAB) + SELECT + ADBKBASE.OID$, ADBKBASE.VERSION$, ADBKBASE.ADBKID, ADBKBASE.INSTID, ADBKBASE.C_ADBKBASE_L_69013, ADBKBASE.TYPE$_ADBKST_AC419, ADBKBASE.C_CLIENTNAME_1A67C, ADBKBASE.C_CLIENTNAME_1E844, ADBKBASE.F_OID$_PERSO_06FCB, ADBKBASE.C_CLIENTNAME_8B1DB, ADBKBASE.C_CLIENTNAME_B4F69, ADBKBASE.C_CLIENTNAME_EA63A, ADBKBASE.C_ADBKBASE_D_C669E, ADBKBASE.C_ADBKBASE_L_1DD83, ADBKBASE.C_ADBKBASE_L_F8E21, ADBKBASE.C_ADBKBASE_L_2805C, ADBKBASE.C_ADBKBASE_T_C94F1, ADBKBASE.F_OID$_PROFI_98D05, ADBKBASE.F_OID$_TAXRE_4AC4C, ADBKBASE.C_CURRENCYSY_36ED7, ADBKBASE.F_OID$_REFER_66AC8, ADBKBASE.C_ADBKBASE_M_AE5A8, ADBKBASE.C_ADBKBASE_A_36B89, ADBKBASE.C_CURRENCYSY_0483B, ADBKBASE.C_VALUE_506AF, ADBKBASE.F_OID$_SOURC_E66C5, ADBKBASE.F_OID$_QUALI_027C5, ADBKBASE.F_OID$_BLOCK_A4386, ADBKBASE.F_OID$_SOURC_3AA10, ADBKBASE.TYPE$_ADBKTY_20093, ADBKBASE.F_PCUSTOMGRO_9BC08, ADBKBASE.F_PENTITY_AD_29FE1, @ID_ELAB + FROM C6StagingPeriodico.ADBKBASE + LEFT OUTER JOIN C6StoricoPeriodico.ST_ADBKBASE + ON ADBKBASE.OID$ = ST_ADBKBASE.OID$ + WHERE ST_ADBKBASE.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ADS4WS_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'ADS4WS_PROMOTORI') +-- BEGIN +-- DELETE FROM C6StoricoPeriodico.ST_ADS4WS_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6StoricoPeriodico.ST_ADS4WS_PROMOTORI +-- (Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, Telefono, TelefonoAgenzia1, TelefonoAgenzia2, ID_ELAB) +-- SELECT +-- ADS4WS_PROMOTORI.Rete, ADS4WS_PROMOTORI.Codice, ADS4WS_PROMOTORI.Cognome, ADS4WS_PROMOTORI.Nome, ADS4WS_PROMOTORI.Prefisso, ADS4WS_PROMOTORI.Firma, ADS4WS_PROMOTORI.DataInizioCollaborazione, ADS4WS_PROMOTORI.DataFineCollaborazione, ADS4WS_PROMOTORI.DataUltimaAggiornamento, ADS4WS_PROMOTORI.CAP, ADS4WS_PROMOTORI.Citta, ADS4WS_PROMOTORI.CittaNascita, ADS4WS_PROMOTORI.DataNascita, ADS4WS_PROMOTORI.Indirizzo, ADS4WS_PROMOTORI.Provincia, ADS4WS_PROMOTORI.Telefono, ADS4WS_PROMOTORI.TelefonoAgenzia1, ADS4WS_PROMOTORI.TelefonoAgenzia2, @ID_ELAB +-- FROM C6StagingPeriodico.ADS4WS_PROMOTORI +-- LEFT OUTER JOIN C6StoricoPeriodico.ST_ADS4WS_PROMOTORI +-- ON ADS4WS_PROMOTORI.Firma = ST_ADS4WS_PROMOTORI.Firma +-- WHERE ST_ADS4WS_PROMOTORI.Firma IS NULL +-- END +-- +-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'ADS4WS_PROMOTORI') +-- BEGIN +-- DELETE FROM C6Storicoperiodico.ST_ADS4WS_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storicoperiodico.ST_ADS4WS_PROMOTORI +-- (Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, PrefissoTelefono, TelefonoAgenzia1, TelefonoAgenzia2, ID_ELAB) +-- SELECT Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, PrefissoTelefono, TelefonoAgenzia1, TelefonoAgenzia2, @ID_ELAB +-- FROM C6Staging.ADS4WS_PROMOTORI +-- END +-- + --XXXXXXXXXXXXXXXXXXXXXXXX AGENTBASE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'AGENTBASE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_AGENTBASE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_AGENTBASE + (OID$, VERSION$, AGENTBASEID, INSTID, TYPE$_AGENTT_4FF1A, AGENTBASESTATUS, CATEGORY, ROLE, COUNTRY, REGION, TAXPAYERID, C_AGENTNAME__D3943, C_AGENTNAME__B1EC3, F_OID$_PERSO_762E5, C_AGENTNAME__ABD50, C_AGENTNAME__7D056, C_AGENTNAME__722CD, LOGINID, ICEPATH, F_PAGENTBASE_7B96C, F_OID$_AGENT_DB156, F_PENTITY_AG_79C9C, ID_ELAB) + SELECT + AGENTBASE.OID$, AGENTBASE.VERSION$, AGENTBASE.AGENTBASEID, AGENTBASE.INSTID, AGENTBASE.TYPE$_AGENTT_4FF1A, AGENTBASE.AGENTBASESTATUS, AGENTBASE.CATEGORY, AGENTBASE.ROLE, AGENTBASE.COUNTRY, AGENTBASE.REGION, AGENTBASE.TAXPAYERID, AGENTBASE.C_AGENTNAME__D3943, AGENTBASE.C_AGENTNAME__B1EC3, AGENTBASE.F_OID$_PERSO_762E5, AGENTBASE.C_AGENTNAME__ABD50, AGENTBASE.C_AGENTNAME__7D056, AGENTBASE.C_AGENTNAME__722CD, AGENTBASE.LOGINID, AGENTBASE.ICEPATH, AGENTBASE.F_PAGENTBASE_7B96C, AGENTBASE.F_OID$_AGENT_DB156, AGENTBASE.F_PENTITY_AG_79C9C, @ID_ELAB + FROM C6StagingPeriodico.AGENTBASE + LEFT OUTER JOIN C6StoricoPeriodico.ST_AGENTBASE + ON AGENTBASE.OID$ = ST_AGENTBASE.OID$ + WHERE ST_AGENTBASE.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_ASSET_CLASS_PER_PROMET XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_ASSET_CLASS_PER_PROMET') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_ASSET_CLASS_PER_PROMET WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_ASSET_CLASS_PER_PROMET + (CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ID_ELAB) + SELECT + ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO, ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN, ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF, ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA, @ID_ELAB + FROM C6StagingPeriodico.ALL_ASSET_CLASS_PER_PROMET + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_ASSET_CLASS_PER_PROMET + ON ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO + AND ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN + AND ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF + AND ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA + WHERE ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CF_PB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CF_PB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_CF_PB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_CF_PB + (ID_CLI, NOME, COGNOME, TIPO, AGENTE, CHIAVE_PB, CHIAVE_CLIENTE, NOME_CLIENTE, COGNOME_CLIENTE, CODICE_FISCALE, TIPO_CLIENTE, RETE_PB, CODICE_PB, DATA_NASCITA, MARITALSTATUS, CODICEFISCALE, ID_ELAB) + SELECT + ALL_CF_PB.ID_CLI, ALL_CF_PB.NOME, ALL_CF_PB.COGNOME, ALL_CF_PB.TIPO, ALL_CF_PB.AGENTE, ALL_CF_PB.CHIAVE_PB, ALL_CF_PB.CHIAVE_CLIENTE, ALL_CF_PB.NOME_CLIENTE, ALL_CF_PB.COGNOME_CLIENTE, ALL_CF_PB.CODICE_FISCALE, ALL_CF_PB.TIPO_CLIENTE, ALL_CF_PB.RETE_PB, ALL_CF_PB.CODICE_PB, ALL_CF_PB.DATA_NASCITA, ALL_CF_PB.MARITALSTATUS, ALL_CF_PB.CODICEFISCALE, @ID_ELAB + FROM C6StagingPeriodico.ALL_CF_PB + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_CF_PB + ON ALL_CF_PB.ID_CLI = ST_ALL_CF_PB.ID_CLI + WHERE ST_ALL_CF_PB.ID_CLI IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CF_STATO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CF_STATO') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_CF_STATO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_CF_STATO + (CF_CLIENTE, RETE, STATO_CONSULENZA, TOTALE_RIGHE, TOTALE_STATI, FLAG_UTILIZZO_STATO, ID_ELAB) + SELECT + ALL_CF_STATO.CF_CLIENTE, ALL_CF_STATO.RETE, ALL_CF_STATO.STATO_CONSULENZA, ALL_CF_STATO.TOTALE_RIGHE, ALL_CF_STATO.TOTALE_STATI, ALL_CF_STATO.FLAG_UTILIZZO_STATO, @ID_ELAB + FROM C6StagingPeriodico.ALL_CF_STATO + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_CF_STATO + ON ALL_CF_STATO.CF_CLIENTE = ST_ALL_CF_STATO.CF_CLIENTE + AND ALL_CF_STATO.RETE = ST_ALL_CF_STATO.RETE + WHERE ST_ALL_CF_STATO.CF_CLIENTE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CONSUL_ASUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CONSUL_ASUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_CONSUL_ASUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_CONSUL_ASUL + (CODICE_FISCALE, RETE, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, AREASORTORDER, NOME_PROGETTO, CATALOGUENAME, TIPO_PROGETTO, CONTRATTO, OID_DI_CATITEMREF, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CODICEINTERNO, SOTTOPRODOTTO, CONTROVALORE_ASUL, ID_MONITORAGGIO, CATEGORIA, NUOVO_OID_CAT_PER_ASSET, CATEGORIA_2, COLO_JOIN, ID_ELAB) + SELECT + ALL_CONSUL_ASUL.CODICE_FISCALE, ALL_CONSUL_ASUL.RETE, ALL_CONSUL_ASUL.NEED_AREA_ABBR_DI_AREA, ALL_CONSUL_ASUL.NEED_AREA_ESTESA_DI_AREA, ALL_CONSUL_ASUL.AREASORTORDER, ALL_CONSUL_ASUL.NOME_PROGETTO, ALL_CONSUL_ASUL.CATALOGUENAME, ALL_CONSUL_ASUL.TIPO_PROGETTO, ALL_CONSUL_ASUL.CONTRATTO, ALL_CONSUL_ASUL.OID_DI_CATITEMREF, ALL_CONSUL_ASUL.CONTROVALORE, ALL_CONSUL_ASUL.CONTROV_IN_POS_DEL_PRODOTTO, ALL_CONSUL_ASUL.STRINGONA_POS, ALL_CONSUL_ASUL.CODICEINTERNO, ALL_CONSUL_ASUL.SOTTOPRODOTTO, ALL_CONSUL_ASUL.CONTROVALORE_ASUL, ALL_CONSUL_ASUL.ID_MONITORAGGIO, ALL_CONSUL_ASUL.CATEGORIA, ALL_CONSUL_ASUL.NUOVO_OID_CAT_PER_ASSET, ALL_CONSUL_ASUL.CATEGORIA_2, ALL_CONSUL_ASUL.COLO_JOIN, @ID_ELAB + FROM C6StagingPeriodico.ALL_CONSUL_ASUL + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_CONSUL_ASUL + ON ALL_CONSUL_ASUL.CODICE_FISCALE = ST_ALL_CONSUL_ASUL.CODICE_FISCALE + AND ALL_CONSUL_ASUL.RETE = ST_ALL_CONSUL_ASUL.RETE + AND ALL_CONSUL_ASUL.COLO_JOIN = ST_ALL_CONSUL_ASUL.COLO_JOIN + WHERE ST_ALL_CONSUL_ASUL.CODICE_FISCALE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_PATR_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PATR_TERZI') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_PATR_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_PATR_TERZI + (CHIAVE_PER_CLIENTE, CODICE_FISCALE, RETE_PB, CAPITALE_INVESTITO, CHIAVE_FNC, PRODOTTO_IN_CATALOGO, DATA_SOTTOSCRIZIONE, PREMIO_VERSAMENTO, C_VALUE_582FF, AMMONTARE_VERSAMENTO, DESCRIZIONE_ALBERATURA, DATA_INIZIO_INV, PATRIMONIO_TERZI, NOME_ISTITUTO, CHIAVE_THR, ASSETID, DESCRIZIONE_PRODOTTO, NOMEPRODOTTO, NOME_ISTITUTO_2, INTERMEDIARIO, DATA_SCADENZA, DATA2_UTILIZ_X_SOTTOSCRIZ, BALANCEDATE_DI_THR, CHIAVE_PR_31921, PATRIMONIO_IMMOBILIARE, LOCALITA, AFFITTOPERCEPITO, CHIAVE_F87B4, PATRIMONIO_ALTRO_PN_F87B4, DENOMINAZIONE_PN_F87B4, ISCOVER, TIPO_ISCOVER, CHIAVE_E6F18, PATRIMONIO_ALTRO_PB_E6F18, DENOMINAZIONE, NUMEROQUOTE, COMPANYTYPE, CHIAVE_COMP, COMPANYNAME, CHIAVE_BT_49D5B, TIPO_BT_49D5B, CHIAVE_BT_55768, TIPO_BT_55768, CHIAVE_BT_B70F0, TIPO_BT_B70F0, CHIAVE_BT_6797A, TIPO_BT_6797A, TIPO_VERSAMENTO_BT_6797A, CHIAVE_BT_97BEE, TIPO_BT_97BEE, TIPO_POLIZZA_BT_97BEE, CHIAVE_RDESCR, TIPO_RDESCR, DESCRIZIONE_RDESCR, TIPOLOGIA_RDESCR, ID_ELAB) + SELECT + ALL_PATR_TERZI.CHIAVE_PER_CLIENTE, ALL_PATR_TERZI.CODICE_FISCALE, ALL_PATR_TERZI.RETE_PB, ALL_PATR_TERZI.CAPITALE_INVESTITO, ALL_PATR_TERZI.CHIAVE_FNC, ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO, ALL_PATR_TERZI.DATA_SOTTOSCRIZIONE, ALL_PATR_TERZI.PREMIO_VERSAMENTO, ALL_PATR_TERZI.C_VALUE_582FF, ALL_PATR_TERZI.AMMONTARE_VERSAMENTO, ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA, ALL_PATR_TERZI.DATA_INIZIO_INV, ALL_PATR_TERZI.PATRIMONIO_TERZI, ALL_PATR_TERZI.NOME_ISTITUTO, ALL_PATR_TERZI.CHIAVE_THR, ALL_PATR_TERZI.ASSETID, ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO, ALL_PATR_TERZI.NOMEPRODOTTO, ALL_PATR_TERZI.NOME_ISTITUTO_2, ALL_PATR_TERZI.INTERMEDIARIO, ALL_PATR_TERZI.DATA_SCADENZA, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ, ALL_PATR_TERZI.BALANCEDATE_DI_THR, ALL_PATR_TERZI.CHIAVE_PR_31921, ALL_PATR_TERZI.PATRIMONIO_IMMOBILIARE, ALL_PATR_TERZI.LOCALITA, ALL_PATR_TERZI.AFFITTOPERCEPITO, ALL_PATR_TERZI.CHIAVE_F87B4, ALL_PATR_TERZI.PATRIMONIO_ALTRO_PN_F87B4, ALL_PATR_TERZI.DENOMINAZIONE_PN_F87B4, ALL_PATR_TERZI.ISCOVER, ALL_PATR_TERZI.TIPO_ISCOVER, ALL_PATR_TERZI.CHIAVE_E6F18, ALL_PATR_TERZI.PATRIMONIO_ALTRO_PB_E6F18, ALL_PATR_TERZI.DENOMINAZIONE, ALL_PATR_TERZI.NUMEROQUOTE, ALL_PATR_TERZI.COMPANYTYPE, ALL_PATR_TERZI.CHIAVE_COMP, ALL_PATR_TERZI.COMPANYNAME, ALL_PATR_TERZI.CHIAVE_BT_49D5B, ALL_PATR_TERZI.TIPO_BT_49D5B, ALL_PATR_TERZI.CHIAVE_BT_55768, ALL_PATR_TERZI.TIPO_BT_55768, ALL_PATR_TERZI.CHIAVE_BT_B70F0, ALL_PATR_TERZI.TIPO_BT_B70F0, ALL_PATR_TERZI.CHIAVE_BT_6797A, ALL_PATR_TERZI.TIPO_BT_6797A, ALL_PATR_TERZI.TIPO_VERSAMENTO_BT_6797A, ALL_PATR_TERZI.CHIAVE_BT_97BEE, ALL_PATR_TERZI.TIPO_BT_97BEE, ALL_PATR_TERZI.TIPO_POLIZZA_BT_97BEE, ALL_PATR_TERZI.CHIAVE_RDESCR, ALL_PATR_TERZI.TIPO_RDESCR, ALL_PATR_TERZI.DESCRIZIONE_RDESCR, ALL_PATR_TERZI.TIPOLOGIA_RDESCR, @ID_ELAB + FROM C6StagingPeriodico.ALL_PATR_TERZI + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_PATR_TERZI + ON ALL_PATR_TERZI.CHIAVE_THR = ST_ALL_PATR_TERZI.CHIAVE_THR + WHERE ST_ALL_PATR_TERZI.CHIAVE_THR IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_POS_CONS_CAT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_POS_CONS_CAT') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_POS_CONS_CAT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_POS_CONS_CAT + (CODICE_FISCALE, RETE, STATO_CONSULENZA, DATA_STATO_CONSULENZA, PK_ALTERNATIVA_CONS, DATA_MIGRAZIONE_CONS, PK_AREA, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, C_PERCENTAGE_86095, C_CTVNEEDARE_EA4FB, PK_PRC, TIPO_PROGETTO, ID_MONITORAGGIO, NOME_PROGETTO, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_INVESTIMEN_60625, CONTROVALORE_PER_INV, PERCENTUALE_MODELLO, C_PERCENTUAL_12346, DATA_ORDINAMENTO_INV, CONTRATTO, OID_DI_CATITEMREF, C_OUTCTV_B4FB8, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CONTO, RUBRICATO, CUSTGAR, NUMPOL, TERMID, ANNO, PROG, NOME_PRODOTTO, NEED_AREA_ABBREVIATA_DI_POS, NEED_AREA_ESTESA_DI_POS, CHIAVE_CATITEMREF, CATALOGUENAME, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, COD_ADEGUATEZZA, ALBERATURA, TIPOPRODOTTO, ISNEGOTIABLE, MAINASSETCLASS, AREASORTORDER, ORIGINE_FILE_CATALOGO, FLAG_PRESENZA_MAPPATURA, RAGGRUPPAMEN_NOME_PROGET, ID_ELAB) + SELECT + ALL_POS_CONS_CAT.CODICE_FISCALE, ALL_POS_CONS_CAT.RETE, ALL_POS_CONS_CAT.STATO_CONSULENZA, ALL_POS_CONS_CAT.DATA_STATO_CONSULENZA, ALL_POS_CONS_CAT.PK_ALTERNATIVA_CONS, ALL_POS_CONS_CAT.DATA_MIGRAZIONE_CONS, ALL_POS_CONS_CAT.PK_AREA, ALL_POS_CONS_CAT.NEED_AREA_ABBR_DI_AREA, ALL_POS_CONS_CAT.NEED_AREA_ESTESA_DI_AREA, ALL_POS_CONS_CAT.C_PERCENTAGE_86095, ALL_POS_CONS_CAT.C_CTVNEEDARE_EA4FB, ALL_POS_CONS_CAT.PK_PRC, ALL_POS_CONS_CAT.TIPO_PROGETTO, ALL_POS_CONS_CAT.ID_MONITORAGGIO, ALL_POS_CONS_CAT.NOME_PROGETTO, ALL_POS_CONS_CAT.C_PROJECTCTV_39520, ALL_POS_CONS_CAT.C_PROJECTOUT_9CFB8, ALL_POS_CONS_CAT.C_RISORSELIQ_DF807, ALL_POS_CONS_CAT.C_INVESTIMEN_60625, ALL_POS_CONS_CAT.CONTROVALORE_PER_INV, ALL_POS_CONS_CAT.PERCENTUALE_MODELLO, ALL_POS_CONS_CAT.C_PERCENTUAL_12346, ALL_POS_CONS_CAT.DATA_ORDINAMENTO_INV, ALL_POS_CONS_CAT.CONTRATTO, ALL_POS_CONS_CAT.OID_DI_CATITEMREF, ALL_POS_CONS_CAT.C_OUTCTV_B4FB8, ALL_POS_CONS_CAT.CONTROVALORE, ALL_POS_CONS_CAT.CONTROV_IN_POS_DEL_PRODOTTO, ALL_POS_CONS_CAT.STRINGONA_POS, ALL_POS_CONS_CAT.CONTO, ALL_POS_CONS_CAT.RUBRICATO, ALL_POS_CONS_CAT.CUSTGAR, ALL_POS_CONS_CAT.NUMPOL, ALL_POS_CONS_CAT.TERMID, ALL_POS_CONS_CAT.ANNO, ALL_POS_CONS_CAT.PROG, ALL_POS_CONS_CAT.NOME_PRODOTTO, ALL_POS_CONS_CAT.NEED_AREA_ABBREVIATA_DI_POS, ALL_POS_CONS_CAT.NEED_AREA_ESTESA_DI_POS, ALL_POS_CONS_CAT.CHIAVE_CATITEMREF, ALL_POS_CONS_CAT.CATALOGUENAME, ALL_POS_CONS_CAT.COD_ISIN, ALL_POS_CONS_CAT.COD_MAF, ALL_POS_CONS_CAT.COD_INTERNO, ALL_POS_CONS_CAT.COD_SOTTOPRODOTTO, ALL_POS_CONS_CAT.COD_ADEGUATEZZA, ALL_POS_CONS_CAT.ALBERATURA, ALL_POS_CONS_CAT.TIPOPRODOTTO, ALL_POS_CONS_CAT.ISNEGOTIABLE, ALL_POS_CONS_CAT.MAINASSETCLASS, ALL_POS_CONS_CAT.AREASORTORDER, ALL_POS_CONS_CAT.ORIGINE_FILE_CATALOGO, ALL_POS_CONS_CAT.FLAG_PRESENZA_MAPPATURA, ALL_POS_CONS_CAT.RAGGRUPPAMEN_NOME_PROGET, @ID_ELAB + FROM C6StagingPeriodico.ALL_POS_CONS_CAT + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_POS_CONS_CAT + ON ALL_POS_CONS_CAT.CODICE_FISCALE = ST_ALL_POS_CONS_CAT.CODICE_FISCALE + AND ALL_POS_CONS_CAT.RETE = ST_ALL_POS_CONS_CAT.RETE + AND ALL_POS_CONS_CAT.PK_ALTERNATIVA_CONS = ST_ALL_POS_CONS_CAT.PK_ALTERNATIVA_CONS + AND ALL_POS_CONS_CAT.STRINGONA_POS = ST_ALL_POS_CONS_CAT.STRINGONA_POS + WHERE ST_ALL_POS_CONS_CAT.CODICE_FISCALE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_PROPOSTA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PROPOSTA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_PROPOSTA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_PROPOSTA + (AGENTE, RETE, NOME_CLIENTE, COGNOME_CLIENTE, CODICEFISCALE, CHIAVE_PROPOSTA, NOME_PROPOSTA, STATO_PROPOSTA, DATA_CREAZIONE_PROPOSTA, DATA_SCADENZA_PROPOSTA, NEED_BREVE, NEED_ESTESA, ORDINE_NEED, CONTROVALORE_TOT_PER_NEED, PERC_PER_NEED, NOME_PROGETTO, CONTROV_CONSULENZA, CONTROV_PROPOSTA, CONTROV_DA_DEFINIRE_LIQ, ISANEWPOSITION, STRINGONA_CLONEPOS, NOME_PRODOTTO_CLONEPOS, INVESTI, DISINVESTI, PTF_INIZ, CTVOPERAZIONE, CONTRACTCODE, POLIZZADECIMAL, CONTO, RUBRICATO, PR_COD_ISIN, PR_COD_MAF, PR_COD_INTERNO, PR_COD_SOTTOPRODOTTO, PR_COD_ADEGUATEZZA, NOME_PRODOTTO_CATALOGO, TIPOPRODOTTO, CHIAVE_CATITEMREF, CHIAVE_PER_LA_CONSULENZA, RICONCILIATA, FLAG_PROPOSTA_PER_PROGETTO, FLAG_PROPOSTA_PER_AREA, FLAG_SALVATAGGIO_MANUALE, RAGGRUPPAMENTO_PROGETTO, ID_ELAB) + SELECT + ALL_PROPOSTA.AGENTE, ALL_PROPOSTA.RETE, ALL_PROPOSTA.NOME_CLIENTE, ALL_PROPOSTA.COGNOME_CLIENTE, ALL_PROPOSTA.CODICEFISCALE, ALL_PROPOSTA.CHIAVE_PROPOSTA, ALL_PROPOSTA.NOME_PROPOSTA, ALL_PROPOSTA.STATO_PROPOSTA, ALL_PROPOSTA.DATA_CREAZIONE_PROPOSTA, ALL_PROPOSTA.DATA_SCADENZA_PROPOSTA, ALL_PROPOSTA.NEED_BREVE, ALL_PROPOSTA.NEED_ESTESA, ALL_PROPOSTA.ORDINE_NEED, ALL_PROPOSTA.CONTROVALORE_TOT_PER_NEED, ALL_PROPOSTA.PERC_PER_NEED, ALL_PROPOSTA.NOME_PROGETTO, ALL_PROPOSTA.CONTROV_CONSULENZA, ALL_PROPOSTA.CONTROV_PROPOSTA, ALL_PROPOSTA.CONTROV_DA_DEFINIRE_LIQ, ALL_PROPOSTA.ISANEWPOSITION, ALL_PROPOSTA.STRINGONA_CLONEPOS, ALL_PROPOSTA.NOME_PRODOTTO_CLONEPOS, ALL_PROPOSTA.INVESTI, ALL_PROPOSTA.DISINVESTI, ALL_PROPOSTA.PTF_INIZ, ALL_PROPOSTA.CTVOPERAZIONE, ALL_PROPOSTA.CONTRACTCODE, ALL_PROPOSTA.POLIZZADECIMAL, ALL_PROPOSTA.CONTO, ALL_PROPOSTA.RUBRICATO, ALL_PROPOSTA.PR_COD_ISIN, ALL_PROPOSTA.PR_COD_MAF, ALL_PROPOSTA.PR_COD_INTERNO, ALL_PROPOSTA.PR_COD_SOTTOPRODOTTO, ALL_PROPOSTA.PR_COD_ADEGUATEZZA, ALL_PROPOSTA.NOME_PRODOTTO_CATALOGO, ALL_PROPOSTA.TIPOPRODOTTO, ALL_PROPOSTA.CHIAVE_CATITEMREF, ALL_PROPOSTA.CHIAVE_PER_LA_CONSULENZA, ALL_PROPOSTA.RICONCILIATA, ALL_PROPOSTA.FLAG_PROPOSTA_PER_PROGETTO, ALL_PROPOSTA.FLAG_PROPOSTA_PER_AREA, ALL_PROPOSTA.FLAG_SALVATAGGIO_MANUALE, ALL_PROPOSTA.RAGGRUPPAMENTO_PROGETTO, @ID_ELAB + FROM C6StagingPeriodico.ALL_PROPOSTA + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_PROPOSTA + ON ALL_PROPOSTA.CHIAVE_PROPOSTA = ST_ALL_PROPOSTA.CHIAVE_PROPOSTA + AND ALL_PROPOSTA.STRINGONA_CLONEPOS = ST_ALL_PROPOSTA.STRINGONA_CLONEPOS + WHERE ST_ALL_PROPOSTA.CHIAVE_PROPOSTA IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX AREEDIBISOGNO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'AREEDIBISOGNO') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_AREEDIBISOGNO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_AREEDIBISOGNO + (AREAID, AREANAME, AREASORTORDER, ID_ELAB) + SELECT + AREEDIBISOGNO.AREAID, AREEDIBISOGNO.AREANAME, AREEDIBISOGNO.AREASORTORDER, @ID_ELAB + FROM C6StagingPeriodico.AREEDIBISOGNO + LEFT OUTER JOIN C6StoricoPeriodico.ST_AREEDIBISOGNO + ON AREEDIBISOGNO.AREAID = ST_AREEDIBISOGNO.AREAID + WHERE ST_AREEDIBISOGNO.AREAID IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSET_1_E_2_ORDINATE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSET_1_E_2_ORDINATE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ASSET_1_E_2_ORDINATE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ASSET_1_E_2_ORDINATE + (CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ASSETCLASSNAME, ORDINAMENTO_ASSET, ID_ELAB) + SELECT + ASSET_1_E_2_ORDINATE.CODICE_ASSET_CLASS_INGRESSO, ASSET_1_E_2_ORDINATE.CODICE_ISIN, ASSET_1_E_2_ORDINATE.CODICE_MAF, ASSET_1_E_2_ORDINATE.CODICE_ADEGUATEZZA, ASSET_1_E_2_ORDINATE.ASSETCLASSNAME, ASSET_1_E_2_ORDINATE.ORDINAMENTO_ASSET, @ID_ELAB + FROM C6StagingPeriodico.ASSET_1_E_2_ORDINATE + LEFT OUTER JOIN C6StoricoPeriodico.ST_ASSET_1_E_2_ORDINATE + ON ASSET_1_E_2_ORDINATE.CODICE_ASSET_CLASS_INGRESSO = ST_ASSET_1_E_2_ORDINATE.CODICE_ASSET_CLASS_INGRESSO + AND ASSET_1_E_2_ORDINATE.CODICE_ISIN = ST_ASSET_1_E_2_ORDINATE.CODICE_ISIN + AND ASSET_1_E_2_ORDINATE.CODICE_MAF = ST_ASSET_1_E_2_ORDINATE.CODICE_MAF + AND ASSET_1_E_2_ORDINATE.CODICE_ADEGUATEZZA = ST_ASSET_1_E_2_ORDINATE.CODICE_ADEGUATEZZA + WHERE ST_ASSET_1_E_2_ORDINATE.CODICE_ASSET_CLASS_INGRESSO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ASSETCLASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ASSETCLASS + (OID$, VERSION$, ASSETCLASSID, ASSETCLASSNAME, ASSETCLASSDESCR, ASSETCLASSLEV, ISRESIDUAL, F_PASSETCLAS_2FB94, F_OID$_ASSET_B965C, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ORDINE, ID_ELAB) + SELECT + ASSETCLASS.OID$, ASSETCLASS.VERSION$, ASSETCLASS.ASSETCLASSID, ASSETCLASS.ASSETCLASSNAME, ASSETCLASS.ASSETCLASSDESCR, ASSETCLASS.ASSETCLASSLEV, ASSETCLASS.ISRESIDUAL, ASSETCLASS.F_PASSETCLAS_2FB94, ASSETCLASS.F_OID$_ASSET_B965C, ASSETCLASS.CODICE_ISIN, ASSETCLASS.CODICE_MAF, ASSETCLASS.CODICE_ADEGUATEZZA, ASSETCLASS.ORDINE, @ID_ELAB + FROM C6StagingPeriodico.ASSETCLASS + LEFT OUTER JOIN C6StoricoPeriodico.ST_ASSETCLASS + ON ASSETCLASS.OID$ = ST_ASSETCLASS.OID$ + WHERE ST_ASSETCLASS.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX C_BO_453FB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'C_BO_453FB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_C_BO_453FB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_C_BO_453FB + (OID$, C_VALUE_7BD3C, C_DESCRIZION_93ABE, PK_PRC, ID_ELAB) + SELECT + C_BO_453FB.OID$, C_BO_453FB.C_VALUE_7BD3C, C_BO_453FB.C_DESCRIZION_93ABE, C_BO_453FB.PK_PRC, @ID_ELAB + FROM C6StagingPeriodico.C_BO_453FB + LEFT OUTER JOIN C6StoricoPeriodico.ST_C_BO_453FB + ON C_BO_453FB.OID$ = ST_C_BO_453FB.OID$ + WHERE ST_C_BO_453FB.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CATINAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CATINAREA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CATINAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CATINAREA + (OID$, VERSION$, C_ISMAINNEED_9C780, NEEDAREAVALUE, F_OID$_NEEDA_2C362, F_PCATALOGUE_5D024, ID_ELAB) + SELECT + CATINAREA.OID$, CATINAREA.VERSION$, CATINAREA.C_ISMAINNEED_9C780, CATINAREA.NEEDAREAVALUE, CATINAREA.F_OID$_NEEDA_2C362, CATINAREA.F_PCATALOGUE_5D024, @ID_ELAB + FROM C6StagingPeriodico.CATINAREA + LEFT OUTER JOIN C6StoricoPeriodico.ST_CATINAREA + ON CATINAREA.OID$ = ST_CATINAREA.OID$ + WHERE ST_CATINAREA.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CATITEMREF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CATITEMREF') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CATITEMREF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CATITEMREF + (OID$, VERSION$, PRODUCTCURRENCY, PRODUCTCOUNTRY, PRODUCTREGION, CATALOGUEID, COD_ISIN, COD_ADEGUATEZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TYPE$_BCATAL_FC317, CATEGORY, INSTITUTIONS, COUNTRY, PIAZZA, ULTIMOPRZCURR, ULTIMOPRZ, CAPITALERISPARMIO, LMINCAPCONTRCURR, LMINCAPCONTR, LSUCCAPCONTRCURR, LSUCCAPCONTR, LMINRISPCONTRCURR, LMINRISPCONTR, LSUCRISPCONTRCURR, LSUCRISPCONTR, LMINCOMMCURR, LMINCOMM, DELEGAGESTIONALE, TIPOLOGIAPERPICK, EXPIRATIONDATE, RISKPRICE, FISCALREGIMENT, QUOTATO, CLASSEDIPREZZO, BONDRATING, BONDDURATION, TEMPMIN, TEMPMAX, PRIPRODCOM, MAINASSETCLASS, MACROACOBPERC, MACROACALPERC, MACROACAZPERC, MACROACMNPERC, LINEEFINACC, TIPOVERS, TIPOPOLIZRAM1, DURATACONTR, GARDEMO, RISKPRESSCAD, LIVFLUTDUR, OPZRENDVIT, METAA, METAB, METAC, RATOBBLIG, ULTIMOPREZZOCURR, ULTIMOPREZZO, DATARIFPREZZO, CODICEADB, AGGIORNFEED, DISTRPROV, CODTIPOCONTR, ULTPRZSECCURR, ULTPRZSEC, DATAULTPRZSEC, CODBLOOMBERG, DENOMUNITLNK, TIPOPRODOTTO, GENERICDATA, GENERICCURCURR, GENERICCUR, GENERICSTRING1, GENERICSTRING2, CATALOGUENAME, EFFECTIVEFROM, EFFECTIVETO, PRODUCTSTATUS, ISVISIBLE, ISNEGOTIABLE, BRIEFDESCRIPTION, F_OID$_VAR_CDDF8, RISKPROFOFSUITCLS, OPINION, OPINIONDATE, F_OID$_CATAL_B3E14, F_OID$_PCATE_F3BF6, F_OID$_MAINA_76C35, F_OID$_INSTR_B5526, F_OID$_MAINS_5FCE5, F_OID$_MAINR_08A23, F_OID$_PRISK_AAC57, F_OID$_PRODU_F8FBB, F_OID$_MARKE_F3D2D, COLL_SKANDIA, CODASSETSAT, ID_ELAB) + SELECT + CATITEMREF.OID$, CATITEMREF.VERSION$, CATITEMREF.PRODUCTCURRENCY, CATITEMREF.PRODUCTCOUNTRY, CATITEMREF.PRODUCTREGION, CATITEMREF.CATALOGUEID, CATITEMREF.COD_ISIN, CATITEMREF.COD_ADEGUATEZZA, CATITEMREF.COD_MAF, CATITEMREF.COD_INTERNO, CATITEMREF.COD_SOTTOPRODOTTO, CATITEMREF.TYPE$_BCATAL_FC317, CATITEMREF.CATEGORY, CATITEMREF.INSTITUTIONS, CATITEMREF.COUNTRY, CATITEMREF.PIAZZA, CATITEMREF.ULTIMOPRZCURR, CATITEMREF.ULTIMOPRZ, CATITEMREF.CAPITALERISPARMIO, CATITEMREF.LMINCAPCONTRCURR, CATITEMREF.LMINCAPCONTR, CATITEMREF.LSUCCAPCONTRCURR, CATITEMREF.LSUCCAPCONTR, CATITEMREF.LMINRISPCONTRCURR, CATITEMREF.LMINRISPCONTR, CATITEMREF.LSUCRISPCONTRCURR, CATITEMREF.LSUCRISPCONTR, CATITEMREF.LMINCOMMCURR, CATITEMREF.LMINCOMM, CATITEMREF.DELEGAGESTIONALE, CATITEMREF.TIPOLOGIAPERPICK, CATITEMREF.EXPIRATIONDATE, CATITEMREF.RISKPRICE, CATITEMREF.FISCALREGIMENT, CATITEMREF.QUOTATO, CATITEMREF.CLASSEDIPREZZO, CATITEMREF.BONDRATING, CATITEMREF.BONDDURATION, CATITEMREF.TEMPMIN, CATITEMREF.TEMPMAX, CATITEMREF.PRIPRODCOM, CATITEMREF.MAINASSETCLASS, CATITEMREF.MACROACOBPERC, CATITEMREF.MACROACALPERC, CATITEMREF.MACROACAZPERC, CATITEMREF.MACROACMNPERC, CATITEMREF.LINEEFINACC, CATITEMREF.TIPOVERS, CATITEMREF.TIPOPOLIZRAM1, CATITEMREF.DURATACONTR, CATITEMREF.GARDEMO, CATITEMREF.RISKPRESSCAD, CATITEMREF.LIVFLUTDUR, CATITEMREF.OPZRENDVIT, CATITEMREF.METAA, CATITEMREF.METAB, CATITEMREF.METAC, CATITEMREF.RATOBBLIG, CATITEMREF.ULTIMOPREZZOCURR, CATITEMREF.ULTIMOPREZZO, CATITEMREF.DATARIFPREZZO, CATITEMREF.CODICEADB, CATITEMREF.AGGIORNFEED, CATITEMREF.DISTRPROV, CATITEMREF.CODTIPOCONTR, CATITEMREF.ULTPRZSECCURR, CATITEMREF.ULTPRZSEC, CATITEMREF.DATAULTPRZSEC, CATITEMREF.CODBLOOMBERG, CATITEMREF.DENOMUNITLNK, CATITEMREF.TIPOPRODOTTO, CATITEMREF.GENERICDATA, CATITEMREF.GENERICCURCURR, CATITEMREF.GENERICCUR, CATITEMREF.GENERICSTRING1, CATITEMREF.GENERICSTRING2, CATITEMREF.CATALOGUENAME, CATITEMREF.EFFECTIVEFROM, CATITEMREF.EFFECTIVETO, CATITEMREF.PRODUCTSTATUS, CATITEMREF.ISVISIBLE, CATITEMREF.ISNEGOTIABLE, CATITEMREF.BRIEFDESCRIPTION, CATITEMREF.F_OID$_VAR_CDDF8, CATITEMREF.RISKPROFOFSUITCLS, CATITEMREF.OPINION, CATITEMREF.OPINIONDATE, CATITEMREF.F_OID$_CATAL_B3E14, CATITEMREF.F_OID$_PCATE_F3BF6, CATITEMREF.F_OID$_MAINA_76C35, CATITEMREF.F_OID$_INSTR_B5526, CATITEMREF.F_OID$_MAINS_5FCE5, CATITEMREF.F_OID$_MAINR_08A23, CATITEMREF.F_OID$_PRISK_AAC57, CATITEMREF.F_OID$_PRODU_F8FBB, CATITEMREF.F_OID$_MARKE_F3D2D, CATITEMREF.COLL_SKANDIA, CATITEMREF.CODASSETSAT, @ID_ELAB + FROM C6StagingPeriodico.CATITEMREF + LEFT OUTER JOIN C6StoricoPeriodico.ST_CATITEMREF + ON CATITEMREF.OID$ = ST_CATITEMREF.OID$ + WHERE ST_CATITEMREF.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CLIENTI_CON_RNA XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'CLIENTI_CON_RNA') + -- BEGIN + -- DELETE FROM C6StoricoPeriodico.ST_CLIENTI_CON_RNA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6StoricoPeriodico.ST_CLIENTI_CON_RNA + -- ([Rete] + -- ,[CodicePB] + -- ,[CodiceFiscale] + -- ,[Percentuale] + -- ,[DataCalcolo] + -- ,ID_ELAB) + -- SELECT [Rete] + -- ,[CodicePB] + -- ,[CodiceFiscale] + -- ,[Percentuale] + -- ,[DataCalcolo] + -- ,@ID_ELAB ID_ELAB + -- FROM C6StagingPeriodico.CLIENTI_CON_RNA + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX CONO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONO') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CONO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CONO + (OID$, VERSION$, C_DATA_FD2A6, C_QUANTILE5_BF710, C_QUANTILE95_0D6CE, F_PPROJECT_P_46507, C_QUANTILE50_C47E0, ID_ELAB) + SELECT + CONO.OID$, CONO.VERSION$, CONO.C_DATA_FD2A6, CONO.C_QUANTILE5_BF710, CONO.C_QUANTILE95_0D6CE, CONO.F_PPROJECT_P_46507, CONO.C_QUANTILE50_C47E0, @ID_ELAB + FROM C6StagingPeriodico.CONO + LEFT OUTER JOIN C6StoricoPeriodico.ST_CONO + ON CONO.OID$ = ST_CONO.OID$ + WHERE ST_CONO.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONSAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONSAREA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CONSAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CONSAREA + (OID$, VERSION$, F_PCONSULENZ_7FBE3, C_CONSULENZA_A58F3, C_CONSULENZA_E94E3, C_NEEDAREA_V_46360, C_NEEDAREA_D_911D8, C_CTVNEEDARE_EA4FB, C_PERCENTAGE_86095, C_OUTCTV_A27B5, C_PATRIMONIO_F4B8E, C_INVESTIMEN_AC24C, C_CONSULENZA_0C219, C_CONSULENZA_1C9D3, ID_ELAB) + SELECT + CONSAREA.OID$, CONSAREA.VERSION$, CONSAREA.F_PCONSULENZ_7FBE3, CONSAREA.C_CONSULENZA_A58F3, CONSAREA.C_CONSULENZA_E94E3, CONSAREA.C_NEEDAREA_V_46360, CONSAREA.C_NEEDAREA_D_911D8, CONSAREA.C_CTVNEEDARE_EA4FB, CONSAREA.C_PERCENTAGE_86095, CONSAREA.C_OUTCTV_A27B5, CONSAREA.C_PATRIMONIO_F4B8E, CONSAREA.C_INVESTIMEN_AC24C, CONSAREA.C_CONSULENZA_0C219, CONSAREA.C_CONSULENZA_1C9D3, @ID_ELAB + FROM C6StagingPeriodico.CONSAREA + LEFT OUTER JOIN C6StoricoPeriodico.ST_CONSAREA + ON CONSAREA.OID$ = ST_CONSAREA.OID$ + WHERE ST_CONSAREA.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONSUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONSUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CONSUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CONSUL + (OID$, VERSION$, C_CONSULENZA_EBDBE, ADBKID, INSTID, TYPE$_TIPOCO_1EA7C, C_CONTROVALO_C57EE, C_PATRIMONIO_0BF30, C_ALTROPATRI_E90EF, C_ALTRO_5AD86, C_DATAINIZIO_35C15, C_RISORSENON_A04BD, C_INVESTIMEN_C4514, C_INVESTIMEN_36DE3, C_IDQUESTION_5549B, C_DATAQUESTI_5069A, C_VARCONSOB_28C92, C_VALORIALLI_0CA23, C_DATAPIRAMI_661DA, C_DATACONSVE_D3DE3, C_DATACONSOR_EA88E, C_PROFILOCON_81F5D, C_DATAMIGRAZ_BF705, C_SALVADANAI_B156A, C_CONSULENZA_2C1E1, C_DATACONSVE_66B66, C_DATACAMBIO_79509, ID_ELAB) + SELECT + CONSUL.OID$, CONSUL.VERSION$, CONSUL.C_CONSULENZA_EBDBE, CONSUL.ADBKID, CONSUL.INSTID, CONSUL.TYPE$_TIPOCO_1EA7C, CONSUL.C_CONTROVALO_C57EE, CONSUL.C_PATRIMONIO_0BF30, CONSUL.C_ALTROPATRI_E90EF, CONSUL.C_ALTRO_5AD86, CONSUL.C_DATAINIZIO_35C15, CONSUL.C_RISORSENON_A04BD, CONSUL.C_INVESTIMEN_C4514, CONSUL.C_INVESTIMEN_36DE3, CONSUL.C_IDQUESTION_5549B, CONSUL.C_DATAQUESTI_5069A, CONSUL.C_VARCONSOB_28C92, CONSUL.C_VALORIALLI_0CA23, CONSUL.C_DATAPIRAMI_661DA, CONSUL.C_DATACONSVE_D3DE3, CONSUL.C_DATACONSOR_EA88E, CONSUL.C_PROFILOCON_81F5D, CONSUL.C_DATAMIGRAZ_BF705, CONSUL.C_SALVADANAI_B156A, CONSUL.C_CONSULENZA_2C1E1, CONSUL.C_DATACONSVE_66B66, CONSUL.C_DATACAMBIO_79509, @ID_ELAB + FROM C6StagingPeriodico.CONSUL + LEFT OUTER JOIN C6StoricoPeriodico.ST_CONSUL + ON CONSUL.OID$ = ST_CONSUL.OID$ + WHERE ST_CONSUL.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX INDREND XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'INDREND') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_INDREND WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_INDREND + (OID$, VERSION$, C_VAR_A94EA, C_TEMPOINVES_CE300, C_COPERTURA_94818, C_PERDITAMAX_F5B51, ID_ELAB) + SELECT + INDREND.OID$, INDREND.VERSION$, INDREND.C_VAR_A94EA, INDREND.C_TEMPOINVES_CE300, INDREND.C_COPERTURA_94818, INDREND.C_PERDITAMAX_F5B51, @ID_ELAB + FROM C6StagingPeriodico.INDREND + LEFT OUTER JOIN C6StoricoPeriodico.ST_INDREND + ON INDREND.OID$ = ST_INDREND.OID$ + WHERE ST_INDREND.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX INSTRBDS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'INSTRBDS') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_INSTRBDS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_INSTRBDS + (OID$, VERSION$, BDISIN, BDMAF, F_OID$_PCATA_5DDA6, PROVENIENZA, ID_ELAB) + SELECT + INSTRBDS.OID$, INSTRBDS.VERSION$, INSTRBDS.BDISIN, INSTRBDS.BDMAF, INSTRBDS.F_OID$_PCATA_5DDA6, INSTRBDS.PROVENIENZA, @ID_ELAB + FROM C6StagingPeriodico.INSTRBDS + LEFT OUTER JOIN C6StoricoPeriodico.ST_INSTRBDS + ON INSTRBDS.OID$ = ST_INSTRBDS.OID$ + WHERE ST_INSTRBDS.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX NEEDAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'NEEDAREA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_NEEDAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_NEEDAREA + (OID$, VERSION$, AREAID, AREANAME, EFFECTIVEFROM, EFFECTIVETO, BRIEFDESCRIPTION, F_PNEEDAREA__742D7, AREASORTORDER, ID_ELAB) + SELECT + NEEDAREA.OID$, NEEDAREA.VERSION$, NEEDAREA.AREAID, NEEDAREA.AREANAME, NEEDAREA.EFFECTIVEFROM, NEEDAREA.EFFECTIVETO, NEEDAREA.BRIEFDESCRIPTION, NEEDAREA.F_PNEEDAREA__742D7, NEEDAREA.AREASORTORDER, @ID_ELAB + FROM C6StagingPeriodico.NEEDAREA + LEFT OUTER JOIN C6StoricoPeriodico.ST_NEEDAREA + ON NEEDAREA.OID$ = ST_NEEDAREA.OID$ + WHERE ST_NEEDAREA.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX NOME_PROGETTO_BOZZA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'NOME_PROGETTO_BOZZA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_NOME_PROGETTO_BOZZA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_NOME_PROGETTO_BOZZA + (ADBKID, INSTID, NUOVO_NOME_PROGETTO, C_PROJECTIDR_51E22, NEEDAREA, ID_ELAB) + SELECT + NOME_PROGETTO_BOZZA.ADBKID, NOME_PROGETTO_BOZZA.INSTID, NOME_PROGETTO_BOZZA.NUOVO_NOME_PROGETTO, NOME_PROGETTO_BOZZA.C_PROJECTIDR_51E22, NOME_PROGETTO_BOZZA.NEEDAREA, @ID_ELAB + FROM C6StagingPeriodico.NOME_PROGETTO_BOZZA + LEFT OUTER JOIN C6StoricoPeriodico.ST_NOME_PROGETTO_BOZZA + ON NOME_PROGETTO_BOZZA.C_PROJECTIDR_51E22 = ST_NOME_PROGETTO_BOZZA.C_PROJECTIDR_51E22 + WHERE ST_NOME_PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX OTHINTRST XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'OTHINTRST') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_OTHINTRST WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_OTHINTRST + (OID$, VERSION$, INTERESTDESC, INTERESTCUR, INTERESTAMT, F_PQUANTIFIC_76FF6, ID_ELAB) + SELECT + OTHINTRST.OID$, OTHINTRST.VERSION$, OTHINTRST.INTERESTDESC, OTHINTRST.INTERESTCUR, OTHINTRST.INTERESTAMT, OTHINTRST.F_PQUANTIFIC_76FF6, @ID_ELAB + FROM C6StagingPeriodico.OTHINTRST + LEFT OUTER JOIN C6StoricoPeriodico.ST_OTHINTRST + ON OTHINTRST.OID$ = ST_OTHINTRST.OID$ + WHERE ST_OTHINTRST.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PHOTO_DATA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PHOTO_DATA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PHOTO_DATA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PHOTO_DATA + (OID_, VERSION_, ADBKID, INSTID, C_DATAREQ_EB2B5, TYPE__TYPE_7CAB6, TYPE__STATUS_1E30E, C_DATASALVAT_D40E3, C_CTVINV_990D8, C_CTVRIS_43FEA, C_CTVLIQ_54D1B, C_CTVPRE_A0E49, C_CTVEXT_34DCC, C_CTVCC_E242D, C_CTVNA_473EA, C_VAR_16494, C_COPVAR_5C6E5, ID_ELAB) + SELECT + PHOTO_DATA.OID_, PHOTO_DATA.VERSION_, PHOTO_DATA.ADBKID, PHOTO_DATA.INSTID, PHOTO_DATA.C_DATAREQ_EB2B5, PHOTO_DATA.TYPE__TYPE_7CAB6, PHOTO_DATA.TYPE__STATUS_1E30E, PHOTO_DATA.C_DATASALVAT_D40E3, PHOTO_DATA.C_CTVINV_990D8, PHOTO_DATA.C_CTVRIS_43FEA, PHOTO_DATA.C_CTVLIQ_54D1B, PHOTO_DATA.C_CTVPRE_A0E49, PHOTO_DATA.C_CTVEXT_34DCC, PHOTO_DATA.C_CTVCC_E242D, PHOTO_DATA.C_CTVNA_473EA, PHOTO_DATA.C_VAR_16494, PHOTO_DATA.C_COPVAR_5C6E5, @ID_ELAB + FROM C6StagingPeriodico.PHOTO_DATA + LEFT OUTER JOIN C6StoricoPeriodico.ST_PHOTO_DATA + ON PHOTO_DATA.OID_ = ST_PHOTO_DATA.OID_ + WHERE ST_PHOTO_DATA.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PORTMOD XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PORTMOD') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PORTMOD WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PORTMOD + (OID$, VERSION$, F_PPROJECT_P_EE748, C_ASSET_CD02D, C_PERCENTUAL_143B7, ID_ELAB) + SELECT + PORTMOD.OID$, PORTMOD.VERSION$, PORTMOD.F_PPROJECT_P_EE748, PORTMOD.C_ASSET_CD02D, PORTMOD.C_PERCENTUAL_143B7, @ID_ELAB + FROM C6StagingPeriodico.PORTMOD + LEFT OUTER JOIN C6StoricoPeriodico.ST_PORTMOD + ON PORTMOD.OID$ = ST_PORTMOD.OID$ + WHERE ST_PORTMOD.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX POSITION XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'POSITION') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_POSITION WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_POSITION + (OID$, VERSION$, F_PCONSULENZ_56F23, POSITIONID, CONSULENZAID, TYPE$_CATALO_35E2A, POSITIONNAME, CONTROVALORE, C_OUTCTV_B4FB8, C_NEEDAREASE_3D485, C_NEEDAREASE_30873, CATALOGUEITEMID, F_OID$_POSIT_00526, F_PPROJECT_P_B5629, CTVINIZIALE, ID_ELAB) + SELECT + POSITION.OID$, POSITION.VERSION$, POSITION.F_PCONSULENZ_56F23, POSITION.POSITIONID, POSITION.CONSULENZAID, POSITION.TYPE$_CATALO_35E2A, POSITION.POSITIONNAME, POSITION.CONTROVALORE, POSITION.C_OUTCTV_B4FB8, POSITION.C_NEEDAREASE_3D485, POSITION.C_NEEDAREASE_30873, POSITION.CATALOGUEITEMID, POSITION.F_OID$_POSIT_00526, POSITION.F_PPROJECT_P_B5629, POSITION.CTVINIZIALE, @ID_ELAB + FROM C6StagingPeriodico.POSITION + LEFT OUTER JOIN C6StoricoPeriodico.ST_POSITION + ON POSITION.OID$ = ST_POSITION.OID$ + WHERE ST_POSITION.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PRCONSUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PRCONSUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PRCONSUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PRCONSUL + (OID$, VERSION$, F_PCONSULENZ_B69E4, C_PROJECTID_9894C, C_CONSULENZA_CB331, C_CONSULENZA_A7FC6, NEEDAREAID, TYPE$_PROJEC_14674, C_PROJECTNAM_11D1A, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_CREATIONDA_732BD, C_LASTMODIFI_3BF4A, C_INVESTIMEN_60625, F_OID$_FREQU_A5FAB, C_IMPORTOPER_7A987, F_OID$_RISKP_9CF4A, F_OID$_ORIZZ_4A868, C_PERDITAAVV_D414B, C_PERDITAMAX_55078, C_GUADAGNOAV_2BD07, C_GUADAGNOMA_D14C4, C_RISERVENON_CCD2D, C_RISERVEMON_5E189, C_RISERVEOBB_121FA, C_RISERVEAZI_175C0, C_CONSULENZA_ACEEE, C_PROJECTIDM_1AF31, C_PROJECTIDR_51E22, C_DATAULTIMO_FFA71, C_PERDITAMAX_BEABF, C_PERDITAMAX_AAB4C, C_GUADAGNOMA_43151, C_GUADAGNOMA_0F76F, F_OID$_PROJE_CD4BB, C_NOTE_B4B97, C_PERCENTUAL_69019, C_PERCENTUAL_12346, F_OID$_RISKS_A3B54, C_ORDERTIMES_80019, ID_ELAB) + SELECT + PRCONSUL.OID$, PRCONSUL.VERSION$, PRCONSUL.F_PCONSULENZ_B69E4, PRCONSUL.C_PROJECTID_9894C, PRCONSUL.C_CONSULENZA_CB331, PRCONSUL.C_CONSULENZA_A7FC6, PRCONSUL.NEEDAREAID, PRCONSUL.TYPE$_PROJEC_14674, PRCONSUL.C_PROJECTNAM_11D1A, PRCONSUL.C_PROJECTCTV_39520, PRCONSUL.C_PROJECTOUT_9CFB8, PRCONSUL.C_RISORSELIQ_DF807, PRCONSUL.C_CREATIONDA_732BD, PRCONSUL.C_LASTMODIFI_3BF4A, PRCONSUL.C_INVESTIMEN_60625, PRCONSUL.F_OID$_FREQU_A5FAB, PRCONSUL.C_IMPORTOPER_7A987, PRCONSUL.F_OID$_RISKP_9CF4A, PRCONSUL.F_OID$_ORIZZ_4A868, PRCONSUL.C_PERDITAAVV_D414B, PRCONSUL.C_PERDITAMAX_55078, PRCONSUL.C_GUADAGNOAV_2BD07, PRCONSUL.C_GUADAGNOMA_D14C4, PRCONSUL.C_RISERVENON_CCD2D, PRCONSUL.C_RISERVEMON_5E189, PRCONSUL.C_RISERVEOBB_121FA, PRCONSUL.C_RISERVEAZI_175C0, PRCONSUL.C_CONSULENZA_ACEEE, PRCONSUL.C_PROJECTIDM_1AF31, PRCONSUL.C_PROJECTIDR_51E22, PRCONSUL.C_DATAULTIMO_FFA71, PRCONSUL.C_PERDITAMAX_BEABF, PRCONSUL.C_PERDITAMAX_AAB4C, PRCONSUL.C_GUADAGNOMA_43151, PRCONSUL.C_GUADAGNOMA_0F76F, PRCONSUL.F_OID$_PROJE_CD4BB, PRCONSUL.C_NOTE_B4B97, PRCONSUL.C_PERCENTUAL_69019, PRCONSUL.C_PERCENTUAL_12346, PRCONSUL.F_OID$_RISKS_A3B54, PRCONSUL.C_ORDERTIMES_80019, @ID_ELAB + FROM C6StagingPeriodico.PRCONSUL + LEFT OUTER JOIN C6StoricoPeriodico.ST_PRCONSUL + ON PRCONSUL.OID$ = ST_PRCONSUL.OID$ + WHERE ST_PRCONSUL.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PROMETEIA_AGGR XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PROMETEIA_AGGR') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PROMETEIA_AGGR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PROMETEIA_AGGR + (Rete, CodiceFiscale, Portafoglio, VaRAssolutoDiPortafoglio, VaRPercentuialeDiPortafoglio, CVaRAssolutoDiPortafoglio, CVaRPercentualeDiPortafoglio, RisksizeDiPortafoglio, McVar, McVarP, Beneficio, Copertura, Totale, ID_ELAB) + SELECT + PROMETEIA_AGGR.Rete, PROMETEIA_AGGR.CodiceFiscale, PROMETEIA_AGGR.Portafoglio, PROMETEIA_AGGR.VaRAssolutoDiPortafoglio, PROMETEIA_AGGR.VaRPercentuialeDiPortafoglio, PROMETEIA_AGGR.CVaRAssolutoDiPortafoglio, PROMETEIA_AGGR.CVaRPercentualeDiPortafoglio, PROMETEIA_AGGR.RisksizeDiPortafoglio, PROMETEIA_AGGR.McVar, PROMETEIA_AGGR.McVarP, PROMETEIA_AGGR.Beneficio, PROMETEIA_AGGR.Copertura, PROMETEIA_AGGR.Totale, @ID_ELAB + FROM C6StagingPeriodico.PROMETEIA_AGGR + LEFT OUTER JOIN C6StoricoPeriodico.PROMETEIA_AGGR + ON PROMETEIA_AGGR.Rete = ST_PROMETEIA_AGGR.Rete + AND PROMETEIA_AGGR.CodiceFiscale = ST_PROMETEIA_AGGR.CodiceFiscale + AND PROMETEIA_AGGR.Portafoglio = ST_PROMETEIA_AGGR.Portafoglio + WHERE ST_PROMETEIA_AGGR.Rete IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX QUANTIF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'QUANTIF') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_QUANTIF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_QUANTIF + (OID$, VERSION$, UPDATEDATE, EXPNEEDSCUR, EXPNEEDSAMT, GROSSINPRIMCUR, GROSSINPRIMAMT, GROSSINSECCUR, GROSSINSECAMT, RETIREMENTYEARS, STATEPENSIONCUR, STATEPENSIONAMT, PRIVATEPENSIONCUR, PRIVATEPENSIONAMT, LIFEINTERESTCUR, LIFEINTERESTAMT, C_FINANCIALI_8D659, C_FINANCIALI_91C75, INSINTERESTCUR, INSINTERESTAMT, INVINTERESTCUR, INVINTERESTAMT, REINTERESTCUR, REINTERESTAMT, PRIMARYGAPCUR, PRIMARYGAPAMT, SECONDARYGAPCUR, SECONDARYGAPAMT, TOCONSUMPTIONETM, TOINTERESTETM, LOCKPERCFRSTBRNC, PRFCONSUMPTIONS, PRFGROSSAMOUNT, PRFPERCFRSTBRNC, PRFADDRETIREMENT, PRFLIFEINTEREST, PRFINTERFRSTBRNC, PRFINTERUNIT, F_OID$_ADDRE_81D21, ID_ELAB) + SELECT + QUANTIF.OID$, QUANTIF.VERSION$, QUANTIF.UPDATEDATE, QUANTIF.EXPNEEDSCUR, QUANTIF.EXPNEEDSAMT, QUANTIF.GROSSINPRIMCUR, QUANTIF.GROSSINPRIMAMT, QUANTIF.GROSSINSECCUR, QUANTIF.GROSSINSECAMT, QUANTIF.RETIREMENTYEARS, QUANTIF.STATEPENSIONCUR, QUANTIF.STATEPENSIONAMT, QUANTIF.PRIVATEPENSIONCUR, QUANTIF.PRIVATEPENSIONAMT, QUANTIF.LIFEINTERESTCUR, QUANTIF.LIFEINTERESTAMT, QUANTIF.C_FINANCIALI_8D659, QUANTIF.C_FINANCIALI_91C75, QUANTIF.INSINTERESTCUR, QUANTIF.INSINTERESTAMT, QUANTIF.INVINTERESTCUR, QUANTIF.INVINTERESTAMT, QUANTIF.REINTERESTCUR, QUANTIF.REINTERESTAMT, QUANTIF.PRIMARYGAPCUR, QUANTIF.PRIMARYGAPAMT, QUANTIF.SECONDARYGAPCUR, QUANTIF.SECONDARYGAPAMT, QUANTIF.TOCONSUMPTIONETM, QUANTIF.TOINTERESTETM, QUANTIF.LOCKPERCFRSTBRNC, QUANTIF.PRFCONSUMPTIONS, QUANTIF.PRFGROSSAMOUNT, QUANTIF.PRFPERCFRSTBRNC, QUANTIF.PRFADDRETIREMENT, QUANTIF.PRFLIFEINTEREST, QUANTIF.PRFINTERFRSTBRNC, QUANTIF.PRFINTERUNIT, QUANTIF.F_OID$_ADDRE_81D21, @ID_ELAB + FROM C6StagingPeriodico.QUANTIF + LEFT OUTER JOIN C6StoricoPeriodico.ST_QUANTIF + ON QUANTIF.OID$ = ST_QUANTIF.OID$ + WHERE ST_QUANTIF.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX RMADBKROLE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'RMADBKROLE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_RMADBKROLE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_RMADBKROLE + (OID$, VERSION$, F_PADDRESSBO_22C0C, RMGROUPROLE, F_OID$_RM_4A3B4, ID_ELAB) + SELECT + RMADBKROLE.OID$, RMADBKROLE.VERSION$, RMADBKROLE.F_PADDRESSBO_22C0C, RMADBKROLE.RMGROUPROLE, RMADBKROLE.F_OID$_RM_4A3B4, @ID_ELAB + FROM C6StagingPeriodico.RMADBKROLE + LEFT OUTER JOIN C6StoricoPeriodico.ST_RMADBKROLE + ON RMADBKROLE.OID$ = ST_RMADBKROLE.OID$ + WHERE ST_RMADBKROLE.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX S4_S5_S13_TRAD_UNTIL_LIV3 XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'S4_S5_S13_TRAD_UNTIL_LIV3') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 + (DESCRIZIONE_ORIGINALE, ALBERO_GERARCHIA_1, ALBERO_GERARCHIA_2, ALBERO_GERARCHIA_3, ORDINAMENTO_GERARCHIA_2, ID_ELAB) + SELECT + S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE, S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1, S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2, S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3, S4_S5_S13_TRAD_UNTIL_LIV3.ORDINAMENTO_GERARCHIA_2, @ID_ELAB + FROM C6StagingPeriodico.S4_S5_S13_TRAD_UNTIL_LIV3 + LEFT OUTER JOIN C6StoricoPeriodico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 + ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ST_S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE + WHERE ST_S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_CONTR_SINTESI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_CONTR_SINTESI') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_SPB_CONTR_SINTESI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_SPB_CONTR_SINTESI + (POSITIONID, DTTRIM, DTRIFE, RETE, CODFIS, CODCONF, NUMPOL, CONTO, RUBR, CUSTGAR, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, PCTKEY, DESTIT, CTV, PARTVIA, PARTVIAAL, DTSOTTOS, RENDINIZ, RENDANNO, VALORE, SUBSET, CVN, QUOTE, ID_ELAB) + SELECT + SPB_CONTR_SINTESI.POSITIONID, SPB_CONTR_SINTESI.DTTRIM, SPB_CONTR_SINTESI.DTRIFE, SPB_CONTR_SINTESI.RETE, SPB_CONTR_SINTESI.CODFIS, SPB_CONTR_SINTESI.CODCONF, SPB_CONTR_SINTESI.NUMPOL, SPB_CONTR_SINTESI.CONTO, SPB_CONTR_SINTESI.RUBR, SPB_CONTR_SINTESI.CUSTGAR, SPB_CONTR_SINTESI.TIPPROD, SPB_CONTR_SINTESI.CODINT, SPB_CONTR_SINTESI.CODPROD, SPB_CONTR_SINTESI.SUBPROD, SPB_CONTR_SINTESI.MAF, SPB_CONTR_SINTESI.CODABI, SPB_CONTR_SINTESI.PCTKEY, SPB_CONTR_SINTESI.DESTIT, SPB_CONTR_SINTESI.CTV, SPB_CONTR_SINTESI.PARTVIA, SPB_CONTR_SINTESI.PARTVIAAL, SPB_CONTR_SINTESI.DTSOTTOS, SPB_CONTR_SINTESI.RENDINIZ, SPB_CONTR_SINTESI.RENDANNO, SPB_CONTR_SINTESI.VALORE, SPB_CONTR_SINTESI.SUBSET, SPB_CONTR_SINTESI.CVN, SPB_CONTR_SINTESI.QUOTE, @ID_ELAB + FROM C6StagingPeriodico.SPB_CONTR_SINTESI + LEFT OUTER JOIN C6StoricoPeriodico.ST_SPB_CONTR_SINTESI + ON SPB_CONTR_SINTESI.DTTRIM = ST_SPB_CONTR_SINTESI.DTTRIM + AND SPB_CONTR_SINTESI.DTRIFE = ST_SPB_CONTR_SINTESI.DTRIFE + AND SPB_CONTR_SINTESI.RETE = ST_SPB_CONTR_SINTESI.RETE + AND SPB_CONTR_SINTESI.CODFIS = ST_SPB_CONTR_SINTESI.CODFIS + AND SPB_CONTR_SINTESI.CODCONF = ST_SPB_CONTR_SINTESI.CODCONF + AND SPB_CONTR_SINTESI.CONTO = ST_SPB_CONTR_SINTESI.CONTO + AND SPB_CONTR_SINTESI.RUBR = ST_SPB_CONTR_SINTESI.RUBR + AND SPB_CONTR_SINTESI.CUSTGAR = ST_SPB_CONTR_SINTESI.CUSTGAR + AND SPB_CONTR_SINTESI.TIPPROD = ST_SPB_CONTR_SINTESI.TIPPROD + AND SPB_CONTR_SINTESI.CODINT = ST_SPB_CONTR_SINTESI.CODINT + AND SPB_CONTR_SINTESI.SUBPROD = ST_SPB_CONTR_SINTESI.SUBPROD + AND SPB_CONTR_SINTESI.CODABI = ST_SPB_CONTR_SINTESI.CODABI + AND SPB_CONTR_SINTESI.PCTKEY = ST_SPB_CONTR_SINTESI.PCTKEY + WHERE ST_SPB_CONTR_SINTESI.DTTRIM IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_MIFID XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_MIFID') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_SPB_MIFID WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_SPB_MIFID + (RETE, CODAGENTE, CODICEFISCALE, ACCETTACOMPILAZIONE, CODICEPROFILOASSEGNATO, CODICEPROFILOCALCOLATO, CODICEQUESTIONARIO, DATAFINEVALIDITA, DATAINIZIOVALIDITA, CODICEAGENTE, CODICEAGENTERESPONSABILE, CODICEAGENTEREALE, TIPOQUESTIONARIO, STATUS, ID_ELAB) + SELECT + SPB_MIFID.RETE, SPB_MIFID.CODAGENTE, SPB_MIFID.CODICEFISCALE, SPB_MIFID.ACCETTACOMPILAZIONE, SPB_MIFID.CODICEPROFILOASSEGNATO, SPB_MIFID.CODICEPROFILOCALCOLATO, SPB_MIFID.CODICEQUESTIONARIO, SPB_MIFID.DATAFINEVALIDITA, SPB_MIFID.DATAINIZIOVALIDITA, SPB_MIFID.CODICEAGENTE, SPB_MIFID.CODICEAGENTERESPONSABILE, SPB_MIFID.CODICEAGENTEREALE, SPB_MIFID.TIPOQUESTIONARIO, SPB_MIFID.STATUS, @ID_ELAB + FROM C6StagingPeriodico.SPB_MIFID + LEFT OUTER JOIN C6StoricoPeriodico.ST_SPB_MIFID + ON SPB_MIFID.RETE = ST_SPB_MIFID.RETE + AND SPB_MIFID.CODICEFISCALE = ST_SPB_MIFID.CODICEFISCALE + WHERE ST_SPB_MIFID.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_PROF_RISCHIO XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_PROF_RISCHIO') + -- BEGIN + -- DELETE FROM C6StoricoPeriodico.ST_SPB_PROF_RISCHIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6StoricoPeriodico.ST_SPB_PROF_RISCHIO + -- (CODICEPROFILO, DESCRIZIONEPROFILO, DESCRIZIONEPROFILOESTESA, PERCENTUALEASSETAZIONARIO, PERCENTUALEASSETOBBLIGAZIONARIO, PERCENTUALEASSETMONETARIO, VOLATILITADA, VOLATILITAA, RENDIMENTOATTESO, VARTRIMESTRALE, ID_ELAB) + -- SELECT + -- CODICEPROFILO, DESCRIZIONEPROFILO, DESCRIZIONEPROFILOESTESA, PERCENTUALEASSETAZIONARIO, PERCENTUALEASSETOBBLIGAZIONARIO, PERCENTUALEASSETMONETARIO, VOLATILITADA, VOLATILITAA, RENDIMENTOATTESO, VARTRIMESTRALE, @ID_ELAB + -- FROM C6StagingPeriodico.SPB_PROF_RISCHIO + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX TABELLESTORICIZZATE XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'TABELLESTORICIZZATE') + -- BEGIN + -- DELETE FROM C6StoricoPeriodico.ST_TABELLESTORICIZZATE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6StoricoPeriodico.ST_TABELLESTORICIZZATE + -- (Nome, Inizio, Fine, Durata, Vecchia_Durata, Storicizzata, ID_ELAB) + -- SELECT + -- Nome, Inizio, Fine, Durata, Vecchia_Durata, Storicizzata, @ID_ELAB + -- FROM C6StagingPeriodico.TABELLESTORICIZZATE + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX TANAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TANAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TANAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TANAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTFINE, DTINI, CTVINI, DTRENDMAX, RENDMAX, DTRENDMIN, RENDMIN, DTCTV, CTV, RENDATT, DTCTVMAX, CTVMAX, DTCTVMIN, CTVMIN, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, RENDATTANN, ID_ELAB) + SELECT + TANAB.RETE, TANAB.CODAREA, TANAB.CODPROG, TANAB.CODFIS, TANAB.DTRIF, TANAB.DTFINE, TANAB.DTINI, TANAB.CTVINI, TANAB.DTRENDMAX, TANAB.RENDMAX, TANAB.DTRENDMIN, TANAB.RENDMIN, TANAB.DTCTV, TANAB.CTV, TANAB.RENDATT, TANAB.DTCTVMAX, TANAB.CTVMAX, TANAB.DTCTVMIN, TANAB.CTVMIN, TANAB.CVN, TANAB.CVN_IA, TANAB.CVN_IT, TANAB.APP_INI, TANAB.TOT_APP, TANAB.TOT_LIQ, TANAB.TOT_CED, TANAB.TOT_DIV, TANAB.DCD, TANAB.DCVN, TANAB.SCARTO, TANAB.NTOT_APP, TANAB.NTOT_LIQ, TANAB.RENDATTANN, @ID_ELAB + FROM C6StagingPeriodico.TANAB + LEFT OUTER JOIN C6StoricoPeriodico.ST_TANAB + ON TANAB.RETE = ST_TANAB.RETE + AND TANAB.CODAREA = ST_TANAB.CODAREA + AND TANAB.CODPROG = ST_TANAB.CODPROG + AND TANAB.CODFIS = ST_TANAB.CODFIS + AND TANAB.DTRIF = ST_TANAB.DTRIF + WHERE ST_TANAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX TCPTAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TCPTAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TCPTAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TCPTAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, ISIN, ID_WADEG, MAF, CODCONF, SUBPROD, CODPROD, NUMPOL, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, SPROG, DTUSCITA, DTSOTT, CTVATT, DTINGRESSO, CTVINGRESSO, DTTRIM, RENDTRIM, DTANNO, RENDANNO, DTINIZ, RENDINIZ, DTININAC, RENDNAC, CTVVP, CVNTRIM, CVNANNO, CVNINIZ, CVNNAC, CODINT, VALORE, STLIQ, DTVALORIZ, ID_ELAB) + SELECT + TCPTAB.RETE, TCPTAB.CODAREA, TCPTAB.CODPROG, TCPTAB.CODFIS, TCPTAB.DTRIF, TCPTAB.TIPPROD, TCPTAB.ISIN, TCPTAB.ID_WADEG, TCPTAB.MAF, TCPTAB.CODCONF, TCPTAB.SUBPROD, TCPTAB.CODPROD, TCPTAB.NUMPOL, TCPTAB.CONTO, TCPTAB.CUSTGAR, TCPTAB.RUBR, TCPTAB.CODABI, TCPTAB.TERMID, TCPTAB.ANNO, TCPTAB.PROG, TCPTAB.SPROG, TCPTAB.DTUSCITA, TCPTAB.DTSOTT, TCPTAB.CTVATT, TCPTAB.DTINGRESSO, TCPTAB.CTVINGRESSO, TCPTAB.DTTRIM, TCPTAB.RENDTRIM, TCPTAB.DTANNO, TCPTAB.RENDANNO, TCPTAB.DTINIZ, TCPTAB.RENDINIZ, TCPTAB.DTININAC, TCPTAB.RENDNAC, TCPTAB.CTVVP, TCPTAB.CVNTRIM, TCPTAB.CVNANNO, TCPTAB.CVNINIZ, TCPTAB.CVNNAC, TCPTAB.CODINT, TCPTAB.VALORE, TCPTAB.STLIQ, TCPTAB.DTVALORIZ, @ID_ELAB + FROM C6StagingPeriodico.TCPTAB + INNER JOIN C6StoricoPeriodico.ST_TCPTAB + ON TCPTAB.RETE = ST_TCPTAB.RETE + AND TCPTAB.CODAREA = ST_TCPTAB.CODAREA + AND TCPTAB.CODPROG = ST_TCPTAB.CODPROG + AND TCPTAB.CODFIS = ST_TCPTAB.CODFIS + AND TCPTAB.DTRIF = ST_TCPTAB.DTRIF + AND TCPTAB.TIPPROD = ST_TCPTAB.TIPPROD + AND TCPTAB.ISIN = ST_TCPTAB.ISIN + AND TCPTAB.MAF = ST_TCPTAB.MAF + AND TCPTAB.CODCONF = ST_TCPTAB.CODCONF + AND TCPTAB.SUBPROD = ST_TCPTAB.SUBPROD + AND TCPTAB.CODPROD = ST_TCPTAB.CODPROD + AND TCPTAB.NUMPOL = ST_TCPTAB.NUMPOL + AND TCPTAB.CONTO = ST_TCPTAB.CONTO + AND TCPTAB.CUSTGAR = ST_TCPTAB.CUSTGAR + AND TCPTAB.RUBR = ST_TCPTAB.RUBR + AND TCPTAB.CODABI = ST_TCPTAB.CODABI + AND TCPTAB.TERMID = ST_TCPTAB.TERMID + AND TCPTAB.ANNO = ST_TCPTAB.ANNO + AND TCPTAB.PROG = ST_TCPTAB.PROG + AND TCPTAB.SPROG = ST_TCPTAB.SPROG + AND TCPTAB.DTINGRESSO = ST_TCPTAB.DTINGRESSO + WHERE ST_TCPTAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX TRENAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TRENAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TRENAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TRENAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTVALORIZ, CTV, DTINIZ, RENDINIZ, DTTRIM, RENDTRIM, DTANNO, RENDANNO, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, RENDATTANN, ID_ELAB) + SELECT + TRENAB.RETE, TRENAB.CODAREA, TRENAB.CODPROG, TRENAB.CODFIS, TRENAB.DTRIF, TRENAB.DTVALORIZ, TRENAB.CTV, TRENAB.DTINIZ, TRENAB.RENDINIZ, TRENAB.DTTRIM, TRENAB.RENDTRIM, TRENAB.DTANNO, TRENAB.RENDANNO, TRENAB.CVN, TRENAB.CVN_IA, TRENAB.CVN_IT, TRENAB.APP_INI, TRENAB.TOT_APP, TRENAB.TOT_LIQ, TRENAB.TOT_CED, TRENAB.TOT_DIV, TRENAB.DCD, TRENAB.DCVN, TRENAB.SCARTO, TRENAB.NTOT_APP, TRENAB.NTOT_LIQ, TRENAB.RENDATTANN, @ID_ELAB + FROM C6StagingPeriodico.TRENAB + LEFT OUTER JOIN C6StoricoPeriodico.ST_TRENAB + ON TRENAB.RETE = ST_TRENAB.RETE + AND TRENAB.CODAREA = ST_TRENAB.CODAREA + AND TRENAB.CODPROG = ST_TRENAB.CODPROG + AND TRENAB.CODFIS = ST_TRENAB.CODFIS + AND TRENAB.DTRIF = ST_TRENAB.DTRIF + AND TRENAB.DTVALORIZ = ST_TRENAB.DTVALORIZ + WHERE ST_TRENAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX TSCABP XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TSCABP') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TSCABP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TSCABP + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, CODCONF, SUBPROD, CODPROD, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, DTINGRESSO, ISTITUTO, TIPO_PRODOTT, CONTO_OP, STRUM_FIN, ID_MOVIM, TIPO_OP, RESTART, DT_ING_USC, ING_USC, COD_ERR, DESCR_ERR, DT_ELAB, DT_INS, PCT, PROVENIENZA, ID_ELAB) + SELECT + TSCABP.RETE, TSCABP.CODAREA, TSCABP.CODPROG, TSCABP.CODFIS, TSCABP.DTRIF, TSCABP.TIPPROD, TSCABP.CODCONF, TSCABP.SUBPROD, TSCABP.CODPROD, TSCABP.CONTO, TSCABP.CUSTGAR, TSCABP.RUBR, TSCABP.CODABI, TSCABP.TERMID, TSCABP.ANNO, TSCABP.PROG, TSCABP.DTINGRESSO, TSCABP.ISTITUTO, TSCABP.TIPO_PRODOTT, TSCABP.CONTO_OP, TSCABP.STRUM_FIN, TSCABP.ID_MOVIM, TSCABP.TIPO_OP, TSCABP.RESTART, TSCABP.DT_ING_USC, TSCABP.ING_USC, TSCABP.COD_ERR, TSCABP.DESCR_ERR, TSCABP.DT_ELAB, TSCABP.DT_INS, TSCABP.PCT, TSCABP.PROVENIENZA, @ID_ELAB + FROM C6StagingPeriodico.TSCABP + LEFT OUTER JOIN C6StoricoPeriodico.ST_TSCABP + ON TSCABP.RETE = ST_TSCABP.RETE + AND TSCABP.CODAREA = ST_TSCABP.CODAREA + AND TSCABP.CODPROG = ST_TSCABP.CODPROG + AND TSCABP.CODFIS = ST_TSCABP.CODFIS + WHERE ST_TSCABP.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WANAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WANAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WANAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WANAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTFINE, DTINI, CTVINI, DTRENDMAX, RENDMAX, DTRENDMIN, RENDMIN, DTCTV, CTV, RENDATT, DTCTVMAX, CTVMAX, DTCTVMIN, CTVMIN, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, ID_ELAB) + SELECT + WANAB.RETE, WANAB.CODAREA, WANAB.CODPROG, WANAB.CODFIS, WANAB.DTRIF, WANAB.DTFINE, WANAB.DTINI, WANAB.CTVINI, WANAB.DTRENDMAX, WANAB.RENDMAX, WANAB.DTRENDMIN, WANAB.RENDMIN, WANAB.DTCTV, WANAB.CTV, WANAB.RENDATT, WANAB.DTCTVMAX, WANAB.CTVMAX, WANAB.DTCTVMIN, WANAB.CTVMIN, WANAB.CVN, WANAB.CVN_IA, WANAB.CVN_IT, WANAB.APP_INI, WANAB.TOT_APP, WANAB.TOT_LIQ, WANAB.TOT_CED, WANAB.TOT_DIV, WANAB.DCD, WANAB.DCVN, WANAB.SCARTO, WANAB.NTOT_APP, WANAB.NTOT_LIQ, @ID_ELAB + FROM C6StagingPeriodico.WANAB + LEFT OUTER JOIN C6StoricoPeriodico.ST_WANAB + ON WANAB.RETE = ST_WANAB.RETE + AND WANAB.CODAREA = ST_WANAB.CODAREA + AND WANAB.CODPROG = ST_WANAB.CODPROG + AND WANAB.CODFIS = ST_WANAB.CODFIS + AND WANAB.DTRIF = ST_WANAB.DTRIF + WHERE ST_WANAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WCPTAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WCPTAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WCPTAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WCPTAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, ISIN, ID_WADEG, MAF, CODCONF, SUBPROD, CODPROD, NUMPOL, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, SPROG, DTUSCITA, DTSOTT, CTVATT, DTINGRESSO, CTVINGRESSO, DTTRIM, RENDTRIM, DTANNO, RENDANNO, DTINIZ, RENDINIZ, DTININAC, RENDNAC, CTVVP, CVNTRIM, CVNANNO, CVNINIZ, CVNNAC, CODINT, VALORE, ID_ELAB) + SELECT + WCPTAB.RETE, WCPTAB.CODAREA, WCPTAB.CODPROG, WCPTAB.CODFIS, WCPTAB.DTRIF, WCPTAB.TIPPROD, WCPTAB.ISIN, WCPTAB.ID_WADEG, WCPTAB.MAF, WCPTAB.CODCONF, WCPTAB.SUBPROD, WCPTAB.CODPROD, WCPTAB.NUMPOL, WCPTAB.CONTO, WCPTAB.CUSTGAR, WCPTAB.RUBR, WCPTAB.CODABI, WCPTAB.TERMID, WCPTAB.ANNO, WCPTAB.PROG, WCPTAB.SPROG, WCPTAB.DTUSCITA, WCPTAB.DTSOTT, WCPTAB.CTVATT, WCPTAB.DTINGRESSO, WCPTAB.CTVINGRESSO, WCPTAB.DTTRIM, WCPTAB.RENDTRIM, WCPTAB.DTANNO, WCPTAB.RENDANNO, WCPTAB.DTINIZ, WCPTAB.RENDINIZ, WCPTAB.DTININAC, WCPTAB.RENDNAC, WCPTAB.CTVVP, WCPTAB.CVNTRIM, WCPTAB.CVNANNO, WCPTAB.CVNINIZ, WCPTAB.CVNNAC, WCPTAB.CODINT, WCPTAB.VALORE, @ID_ELAB + FROM C6StagingPeriodico.WCPTAB + INNER JOIN C6StoricoPeriodico.ST_WCPTAB + ON WCPTAB.RETE = ST_WCPTAB.RETE + AND WCPTAB.CODAREA = ST_WCPTAB.CODAREA + AND WCPTAB.CODPROG = ST_WCPTAB.CODPROG + AND WCPTAB.CODFIS = ST_WCPTAB.CODFIS + AND WCPTAB.DTRIF = ST_WCPTAB.DTRIF + AND WCPTAB.TIPPROD = ST_WCPTAB.TIPPROD + AND WCPTAB.ISIN = ST_WCPTAB.ISIN + AND WCPTAB.MAF = ST_WCPTAB.MAF + AND WCPTAB.CODCONF = ST_WCPTAB.CODCONF + AND WCPTAB.SUBPROD = ST_WCPTAB.SUBPROD + AND WCPTAB.CODPROD = ST_WCPTAB.CODPROD + AND WCPTAB.NUMPOL = ST_WCPTAB.NUMPOL + AND WCPTAB.CONTO = ST_WCPTAB.CONTO + AND WCPTAB.CUSTGAR = ST_WCPTAB.CUSTGAR + AND WCPTAB.RUBR = ST_WCPTAB.RUBR + AND WCPTAB.CODABI = ST_WCPTAB.CODABI + AND WCPTAB.TERMID = ST_WCPTAB.TERMID + AND WCPTAB.ANNO = ST_WCPTAB.ANNO + AND WCPTAB.PROG = ST_WCPTAB.PROG + AND WCPTAB.SPROG = ST_WCPTAB.SPROG + AND WCPTAB.DTINGRESSO = ST_WCPTAB.DTINGRESSO + WHERE ST_WCPTAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WMANDATI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WMANDATI') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WMANDATI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WMANDATI + (PIVA, CODMAND, CODBREVE, ID_ELAB) + SELECT + WMANDATI.PIVA, WMANDATI.CODMAND, WMANDATI.CODBREVE, @ID_ELAB + FROM C6StagingPeriodico.WMANDATI + LEFT OUTER JOIN C6StoricoPeriodico.ST_WMANDATI + ON WMANDATI.CODMAND = ST_WMANDATI.CODMAND + WHERE ST_WMANDATI.CODMAND IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WRENAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WRENAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WRENAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WRENAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTVALORIZ, CTV, DTINIZ, RENDINIZ, DTTRIM, RENDTRIM, DTANNO, RENDANNO, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, ID_ELAB) + SELECT + WRENAB.RETE, WRENAB.CODAREA, WRENAB.CODPROG, WRENAB.CODFIS, WRENAB.DTRIF, WRENAB.DTVALORIZ, WRENAB.CTV, WRENAB.DTINIZ, WRENAB.RENDINIZ, WRENAB.DTTRIM, WRENAB.RENDTRIM, WRENAB.DTANNO, WRENAB.RENDANNO, WRENAB.CVN, WRENAB.CVN_IA, WRENAB.CVN_IT, WRENAB.APP_INI, WRENAB.TOT_APP, WRENAB.TOT_LIQ, WRENAB.TOT_CED, WRENAB.TOT_DIV, WRENAB.DCD, WRENAB.DCVN, WRENAB.SCARTO, WRENAB.NTOT_APP, WRENAB.NTOT_LIQ, @ID_ELAB + FROM C6StagingPeriodico.WRENAB + LEFT OUTER JOIN C6StoricoPeriodico.ST_WRENAB + ON WRENAB.RETE = ST_WRENAB.RETE + AND WRENAB.CODAREA = ST_WRENAB.CODAREA + AND WRENAB.CODPROG = ST_WRENAB.CODPROG + AND WRENAB.CODFIS = ST_WRENAB.CODFIS + AND WRENAB.DTRIF = ST_WRENAB.DTRIF + AND WRENAB.DTVALORIZ = ST_WRENAB.DTVALORIZ + WHERE ST_WRENAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSCABP XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSCABP') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSCABP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSCABP + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, CODCONF, SUBPROD, CODPROD, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, DTINGRESSO, ISTITUTO, TIPO_PRODOTT, CONTO_OP, STRUM_FIN, ID_MOVIM, TIPO_OP, RESTART, DT_ING_USC, ING_USC, COD_ERR, DESCR_ERR, DT_ELAB, DT_INS, PCT, PROVENIENZA, ID_ELAB) + SELECT + WSCABP.RETE, WSCABP.CODAREA, WSCABP.CODPROG, WSCABP.CODFIS, WSCABP.DTRIF, WSCABP.TIPPROD, WSCABP.CODCONF, WSCABP.SUBPROD, WSCABP.CODPROD, WSCABP.CONTO, WSCABP.CUSTGAR, WSCABP.RUBR, WSCABP.CODABI, WSCABP.TERMID, WSCABP.ANNO, WSCABP.PROG, WSCABP.DTINGRESSO, WSCABP.ISTITUTO, WSCABP.TIPO_PRODOTT, WSCABP.CONTO_OP, WSCABP.STRUM_FIN, WSCABP.ID_MOVIM, WSCABP.TIPO_OP, WSCABP.RESTART, WSCABP.DT_ING_USC, WSCABP.ING_USC, WSCABP.COD_ERR, WSCABP.DESCR_ERR, WSCABP.DT_ELAB, WSCABP.DT_INS, WSCABP.PCT, WSCABP.PROVENIENZA, @ID_ELAB + FROM C6StagingPeriodico.WSCABP + LEFT OUTER JOIN C6StoricoPeriodico.ST_WSCABP + ON WSCABP.RETE = ST_WSCABP.RETE + AND WSCABP.CODAREA = ST_WSCABP.CODAREA + AND WSCABP.CODPROG = ST_WSCABP.CODPROG + AND WSCABP.CODFIS = ST_WSCABP.CODFIS + WHERE ST_WSCABP.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEIAN XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEIAN') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEIAN WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEIAN + (DTTRIM, RETE, CODFIS, NOME, COGNOME, DTNASCI, INDIRIZZO, CAP, CITTA, PROVINCIA, NAZIONE, CODPROF, ID_ELAB) + SELECT + WSEIAN.DTTRIM, WSEIAN.RETE, WSEIAN.CODFIS, WSEIAN.NOME, WSEIAN.COGNOME, WSEIAN.DTNASCI, WSEIAN.INDIRIZZO, WSEIAN.CAP, WSEIAN.CITTA, WSEIAN.PROVINCIA, WSEIAN.NAZIONE, WSEIAN.CODPROF, @ID_ELAB + FROM C6StagingPeriodico.WSEIAN + LEFT OUTER JOIN C6StoricoPeriodico.ST_WSEIAN + ON WSEIAN.DTTRIM = ST_WSEIAN.DTTRIM + AND WSEIAN.RETE = ST_WSEIAN.RETE + AND WSEIAN.CODFIS = ST_WSEIAN.CODFIS + WHERE ST_WSEIAN.DTTRIM IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEICS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEICS') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEICS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEICS + (DTTRIM, DTRIFE, RETE, CODFIS, CODCONF, NUMPOL, CONTO, RUBR, CUSTGAR, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, PCTKEY, DESTIT, CTV, PARTVIA, PARTVIAAL, DTSOTTOS, RENDINIZ, RENDANNO, VALORE, SUBSET, CVN, QUOTE, ID_ELAB) + SELECT + WSEICS.DTTRIM, WSEICS.DTRIFE, WSEICS.RETE, WSEICS.CODFIS, WSEICS.CODCONF, WSEICS.NUMPOL, WSEICS.CONTO, WSEICS.RUBR, WSEICS.CUSTGAR, WSEICS.TIPPROD, WSEICS.CODINT, WSEICS.CODPROD, WSEICS.SUBPROD, WSEICS.MAF, WSEICS.CODABI, WSEICS.PCTKEY, WSEICS.DESTIT, WSEICS.CTV, WSEICS.PARTVIA, WSEICS.PARTVIAAL, WSEICS.DTSOTTOS, WSEICS.RENDINIZ, WSEICS.RENDANNO, WSEICS.VALORE, WSEICS.SUBSET, WSEICS.CVN, WSEICS.QUOTE, @ID_ELAB + FROM C6StagingPeriodico.WSEICS + LEFT OUTER JOIN C6StoricoPeriodico.ST_WSEICS + ON WSEICS.DTTRIM = ST_WSEICS.DTTRIM + AND WSEICS.DTRIFE = ST_WSEICS.DTRIFE + AND WSEICS.RETE = ST_WSEICS.RETE + AND WSEICS.CODFIS = ST_WSEICS.CODFIS + AND WSEICS.CODCONF = ST_WSEICS.CODCONF + AND WSEICS.CONTO = ST_WSEICS.CONTO + AND WSEICS.RUBR = ST_WSEICS.RUBR + AND WSEICS.CUSTGAR = ST_WSEICS.CUSTGAR + AND WSEICS.TIPPROD = ST_WSEICS.TIPPROD + AND WSEICS.CODINT = ST_WSEICS.CODINT + AND WSEICS.SUBPROD = ST_WSEICS.SUBPROD + AND WSEICS.CODABI = ST_WSEICS.CODABI + AND WSEICS.PCTKEY = ST_WSEICS.PCTKEY + WHERE ST_WSEICS.DTTRIM IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEIPV XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEIPV') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEIPV WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEIPV + (DTTRIM, RETE, CODFIS, CODCONF, IMPVER, DTRIFE, SUBSET, ID_ELAB) + SELECT + WSEIPV.DTTRIM, WSEIPV.RETE, WSEIPV.CODFIS, WSEIPV.CODCONF, WSEIPV.IMPVER, WSEIPV.DTRIFE, WSEIPV.SUBSET, @ID_ELAB + FROM C6StagingPeriodico.WSEIPV + LEFT OUTER JOIN C6StoricoPeriodico.ST_WSEIPV + ON WSEIPV.RETE = ST_WSEIPV.RETE + AND WSEIPV.CODFIS = ST_WSEIPV.CODFIS + AND WSEIPV.CODCONF = ST_WSEIPV.CODCONF + AND WSEIPV.DTRIFE = ST_WSEIPV.DTRIFE + WHERE ST_WSEIPV.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEIUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEIUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEIUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEIUL + (DTTRIM, RETE, CODFIS, CODCONF, CODINT, SUBPROD, CTV, DTRIFE, ISINFIT, ISIN, MAF, SUBSET, ID_ELAB) + SELECT + WSEIUL.DTTRIM, WSEIUL.RETE, WSEIUL.CODFIS, WSEIUL.CODCONF, WSEIUL.CODINT, WSEIUL.SUBPROD, WSEIUL.CTV, WSEIUL.DTRIFE, WSEIUL.ISINFIT, WSEIUL.ISIN, WSEIUL.MAF, WSEIUL.SUBSET, @ID_ELAB + FROM C6StagingPeriodico.WSEIUL + LEFT OUTER JOIN C6StoricoPeriodico.ST_WSEIUL + ON WSEIUL.RETE = ST_WSEIUL.RETE + AND WSEIUL.CODCONF = ST_WSEIUL.CODCONF + AND WSEIUL.CODINT = ST_WSEIUL.CODINT + AND WSEIUL.SUBPROD = ST_WSEIUL.SUBPROD + AND WSEIUL.DTRIFE = ST_WSEIUL.DTRIFE + WHERE ST_WSEIUL.RETE IS NULL + END + -- XX -- XX -- XX AGGIORNAMENTO DATI C6StagingPeriodico.TabelleStoricizzate XX -- XX -- XX -- + IF(@NomeTabella IS NOT NULL) + BEGIN + UPDATE C6StagingPeriodico.TabelleStoricizzate + SET + FINE = GETDATE(), + DURATA = DATEDIFF(SECOND ,INIZIO, GETDATE()) + WHERE NOME = @NomeTabella + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_SRV_TABELLE_IN_STAGING.sql b/sql/storedProduzione/C6StagingPeriodico_SRV_TABELLE_IN_STAGING.sql new file mode 100644 index 00000000..6434f95f --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_SRV_TABELLE_IN_STAGING.sql @@ -0,0 +1,92 @@ +CREATE procedure [C6StagingPeriodico].[SRV_TABELLE_IN_STAGING] +AS +BEGIN +DECLARE @tabella AS VARCHAR(50) + SET @tabella = NULL + SELECT TOP 1 @tabella = A.tabella + FROM( + SELECT tables.name tabella + FROM sys.tables tables + INNER JOIN sys.schemas schemas + ON tables.schema_id = schemas.schema_id + WHERE schemas.name = 'C6StagingPeriodico' + AND tables.name NOT IN ('TabelleStoricizzate','WSEIAN','WSEICS','WSEIPV','WSEIUL','CONGELAMENTO_SEI','PROMETEIA_AGGR') + ) A + WHERE A.tabella NOT IN ( + SELECT Nome + FROM C6StagingPeriodico.TabelleStoricizzate + ) + ORDER BY A.tabella + -- inserisce dei NULL in TabelleStoricizzate!!! + /*INSERT INTO [C6StagingPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella)*/ + DECLARE @tabellaStagingDaStoricizzare AS SMALLINT + IF @tabella IS NOT NULL + BEGIN + INSERT INTO [C6StagingPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella) + EXEC [C6StagingPeriodico].[SRV_STORICIZZAZIONE] @tabella + SET @tabellaStagingDaStoricizzare = 1 + END + ELSE + SET @tabellaStagingDaStoricizzare = 0 + SELECT @tabellaStagingDaStoricizzare tabella, @tabella nome +-- DECLARE @tabella AS VARCHAR(50) +-- SET @tabella = NULL +-- +-- -- AGGIORNAMENTO TABELLA C6StagingPeriodico.TabelleStoricizzate: +-- --> CANCELLO LE VECCHIE +-- DELETE C6StagingPeriodico.TabelleStoricizzate +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- RIGHT JOIN C6StagingPeriodico.TabelleStoricizzate +-- ON tables.name = TabelleStoricizzate.NOME +-- WHERE schemas.name = 'C6StagingPeriodico' +-- AND tables.name IS NULL +-- +-- --> INSERISCO LE NUOVE TABELLE +-- INSERT INTO C6StagingPeriodico.TabelleStoricizzate (NOME, STORICIZZATA) +-- SELECT tables.name, 0 +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- LEFT JOIN C6StagingPeriodico.TabelleStoricizzate +-- ON tables.name = TabelleStoricizzate.NOME +-- WHERE schemas.name = 'C6StagingPeriodico' +-- AND TabelleStoricizzate.NOME IS NULL +-- -- FINE AGGIORNAMENTO TABELLA +-- +-- -- SELEZIONE TABELLA +-- SELECT TOP 1 @tabella = NOME +-- FROM C6StagingPeriodico.TabelleStoricizzate +-- WHERE STORICIZZATA = 0 +-- ORDER BY DURATA DESC +-- +-- -- MARCATURA TABELLA SELEZIONATA +-- UPDATE C6StagingPeriodico.TabelleStoricizzate +-- SET +-- STORICIZZATA = 1, +-- VECCHIA_DURATA = DURATA, +-- INIZIO = GETDATE() +-- WHERE NOME = @tabella +-- +---- select @tabella +---- return +-- +-- DECLARE @tabellaDaStoricizzare AS SMALLINT +-- +-- IF @tabella IS NOT NULL +-- BEGIN +-- --EXEC C6StagingPeriodico.SRV_STORICIZZAZIONE @tabella +-- SET @tabellaDaStoricizzare = 1 +-- END +-- ELSE +-- SET @tabellaDaStoricizzare = 0 +-- +-- SELECT @tabellaDaStoricizzare tabella , @tabella nome +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_SRV_TABELLE_IN_STAGING_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_SRV_TABELLE_IN_STAGING_pre_selective.sql new file mode 100644 index 00000000..74889165 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_SRV_TABELLE_IN_STAGING_pre_selective.sql @@ -0,0 +1,92 @@ +CREATE procedure [C6StagingPeriodico].[SRV_TABELLE_IN_STAGING_pre_selective] +AS +BEGIN +DECLARE @tabella AS VARCHAR(50) + SET @tabella = NULL + SELECT TOP 1 @tabella = A.tabella + FROM( + SELECT tables.name tabella + FROM sys.tables tables + INNER JOIN sys.schemas schemas + ON tables.schema_id = schemas.schema_id + WHERE schemas.name = 'C6StagingPeriodico' + AND tables.name NOT IN ('TabelleStoricizzate','WSEIAN','WSEICS','WSEIPV','WSEIUL','CONGELAMENTO_SEI','PROMETEIA_AGGR') + ) A + WHERE A.tabella NOT IN ( + SELECT Nome + FROM C6StagingPeriodico.TabelleStoricizzate + ) + ORDER BY A.tabella + -- inserisce dei NULL in TabelleStoricizzate!!! + /*INSERT INTO [C6StagingPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella)*/ + DECLARE @tabellaStagingDaStoricizzare AS SMALLINT + IF @tabella IS NOT NULL + BEGIN + INSERT INTO [C6StagingPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella) + EXEC [C6StagingPeriodico].[SRV_STORICIZZAZIONE] @tabella + SET @tabellaStagingDaStoricizzare = 1 + END + ELSE + SET @tabellaStagingDaStoricizzare = 0 + SELECT @tabellaStagingDaStoricizzare tabella, @tabella nome +-- DECLARE @tabella AS VARCHAR(50) +-- SET @tabella = NULL +-- +-- -- AGGIORNAMENTO TABELLA C6StagingPeriodico.TabelleStoricizzate: +-- --> CANCELLO LE VECCHIE +-- DELETE C6StagingPeriodico.TabelleStoricizzate +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- RIGHT JOIN C6StagingPeriodico.TabelleStoricizzate +-- ON tables.name = TabelleStoricizzate.NOME +-- WHERE schemas.name = 'C6StagingPeriodico' +-- AND tables.name IS NULL +-- +-- --> INSERISCO LE NUOVE TABELLE +-- INSERT INTO C6StagingPeriodico.TabelleStoricizzate (NOME, STORICIZZATA) +-- SELECT tables.name, 0 +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- LEFT JOIN C6StagingPeriodico.TabelleStoricizzate +-- ON tables.name = TabelleStoricizzate.NOME +-- WHERE schemas.name = 'C6StagingPeriodico' +-- AND TabelleStoricizzate.NOME IS NULL +-- -- FINE AGGIORNAMENTO TABELLA +-- +-- -- SELEZIONE TABELLA +-- SELECT TOP 1 @tabella = NOME +-- FROM C6StagingPeriodico.TabelleStoricizzate +-- WHERE STORICIZZATA = 0 +-- ORDER BY DURATA DESC +-- +-- -- MARCATURA TABELLA SELEZIONATA +-- UPDATE C6StagingPeriodico.TabelleStoricizzate +-- SET +-- STORICIZZATA = 1, +-- VECCHIA_DURATA = DURATA, +-- INIZIO = GETDATE() +-- WHERE NOME = @tabella +-- +---- select @tabella +---- return +-- +-- DECLARE @tabellaDaStoricizzare AS SMALLINT +-- +-- IF @tabella IS NOT NULL +-- BEGIN +-- --EXEC C6StagingPeriodico.SRV_STORICIZZAZIONE @tabella +-- SET @tabellaDaStoricizzare = 1 +-- END +-- ELSE +-- SET @tabellaDaStoricizzare = 0 +-- +-- SELECT @tabellaDaStoricizzare tabella , @tabella nome +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_ST_CREA_POSITIONID.sql b/sql/storedProduzione/C6StagingPeriodico_ST_CREA_POSITIONID.sql new file mode 100644 index 00000000..da4abf09 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_ST_CREA_POSITIONID.sql @@ -0,0 +1,81 @@ +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[ST_CREA_POSITIONID] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_CREA_POSITIONID', + GETDATE(), + 'Elaborazione trimestrale' + ) + UPDATE + C6StagingPeriodico.SPB_CONTR_SINTESI + SET + POSITIONID = +-- CASE +-- WHEN TIPPROD = 'CC' THEN '' --MODIFICA TRINGALI +-- ELSE + [C6StagingPeriodico].[Info_DaProdottoCSaCatalogo] --dbo.Info_DaProdottoCSaCatalogo + ( + TIPPROD, + CODINT, + MAF, + --V ISIN per ASU2 + CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END, + SUBPROD + ) + --END + + + dbo.Crea_positionID + ( + TIPPROD, + CODINT, + MAF, + '', + SUBPROD, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + NUMPOL, + CONTO, + RUBR, + CUSTGAR, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_CREA_POSITIONID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_CREA_POSITIONID' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_ST_CREA_POSITIONID_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_ST_CREA_POSITIONID_pre_selective.sql new file mode 100644 index 00000000..e5f8d93a --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_ST_CREA_POSITIONID_pre_selective.sql @@ -0,0 +1,81 @@ +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[ST_CREA_POSITIONID_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_CREA_POSITIONID_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + UPDATE + C6StagingPeriodico.SPB_CONTR_SINTESI + SET + POSITIONID = +-- CASE +-- WHEN TIPPROD = 'CC' THEN '' --MODIFICA TRINGALI +-- ELSE + [C6StagingPeriodico].[Info_DaProdottoCSaCatalogo] --dbo.Info_DaProdottoCSaCatalogo + ( + TIPPROD, + CODINT, + MAF, + --V ISIN per ASU2 + CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END, + SUBPROD + ) + --END + + + dbo.Crea_positionID + ( + TIPPROD, + CODINT, + MAF, + '', + SUBPROD, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + NUMPOL, + CONTO, + RUBR, + CUSTGAR, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_CREA_POSITIONID_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_CREA_POSITIONID_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI.sql b/sql/storedProduzione/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI.sql new file mode 100644 index 00000000..4423e52d --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI.sql @@ -0,0 +1,32 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[ST_DATA_CONGELAMENTO_SEI] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- FC 11/07/2014 +-- Cmbiata valorizzazione della data congelamento +-- deve essere sempre uguale all'effettivo congelamento ( ultimo gg trimestre ) + --IF NOT EXISTS ( + --SELECT + -- DATA_CONGELAMENTO + --FROM + -- C6StagingPeriodico.CONGELAMENTO_SEI + --) + -- INSERT INTO + -- C6StagingPeriodico.CONGELAMENTO_SEI + -- VALUES ( + -- GETDATE() + -- ) + truncate table C6StagingPeriodico.CONGELAMENTO_SEI + INSERT INTO + C6StagingPeriodico.CONGELAMENTO_SEI + VALUES ( + C6MartPeriodico.getTrimestre(getdate(),0) + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI_pre_selective.sql new file mode 100644 index 00000000..cf1b6315 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI_pre_selective.sql @@ -0,0 +1,32 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[ST_DATA_CONGELAMENTO_SEI_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- FC 11/07/2014 +-- Cmbiata valorizzazione della data congelamento +-- deve essere sempre uguale all'effettivo congelamento ( ultimo gg trimestre ) + --IF NOT EXISTS ( + --SELECT + -- DATA_CONGELAMENTO + --FROM + -- C6StagingPeriodico.CONGELAMENTO_SEI + --) + -- INSERT INTO + -- C6StagingPeriodico.CONGELAMENTO_SEI + -- VALUES ( + -- GETDATE() + -- ) + truncate table C6StagingPeriodico.CONGELAMENTO_SEI + INSERT INTO + C6StagingPeriodico.CONGELAMENTO_SEI + VALUES ( + C6MartPeriodico.getTrimestre(getdate(),0) + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS.sql b/sql/storedProduzione/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS.sql new file mode 100644 index 00000000..a19a9722 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS.sql @@ -0,0 +1,80 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6StagingPeriodico].[ST_SELECT_FOR_ADS4WS] 1 +CREATE procedure [C6StagingPeriodico].[ST_SELECT_FOR_ADS4WS] + @Tipo AS INTEGER +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SELECT_FOR_ADS4WS', + GETDATE(), + 'Elaborazione trimestrale' + ) + IF @Tipo = 1 + BEGIN + -- ELIMINIAMO I CODICI FITTIZI + SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM C6MartPeriodico.RP_vContrattiPerGenerazioneReport C6 + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE + WHERE PF.RETE IS NULL + -- Porcata per risolvere il problema del promotore non associato --vecchia trimestrale '008636','013917', + AND C6.COD_AGENTE NOT IN ('006003','012192') --,'014504','008392','005087') -- --('008636','013917','010790','012192','014597','004038') + END + ELSE + BEGIN + -- PRENDO I CODICI FITTIZI + SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM C6MartPeriodico.RP_vContrattiPerGenerazioneReport C6 + INNER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE + END + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SELECT_FOR_ADS4WS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_SELECT_FOR_ADS4WS' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS_EMAIL.sql b/sql/storedProduzione/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS_EMAIL.sql new file mode 100644 index 00000000..7ca36840 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS_EMAIL.sql @@ -0,0 +1,78 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Staging].[ST_SELECT_FOR_ADS4WS] 1 +CREATE procedure [C6StagingPeriodico].[ST_SELECT_FOR_ADS4WS_EMAIL] + @Tipo AS INTEGER +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SELECT_FOR_ADS4WS_EMAIL', + GETDATE(), + 'Elaborazione trimestrale' + ) + IF @Tipo = 1 + BEGIN + -- ELIMINIAMO I CODICI FITTIZI + SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM C6MartPeriodico.vContrattiPerGenerazioneReportEmail C6 + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE + WHERE PF.RETE IS NULL + END + ELSE + BEGIN + -- PRENDO I CODICI FITTIZI + SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM C6MartPeriodico.vContrattiPerGenerazioneReportEmail C6 + INNER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE + END + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SELECT_FOR_ADS4WS_EMAIL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_SELECT_FOR_ADS4WS_EMAIL' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_ST_SPB_CONTR_SINTESI.sql b/sql/storedProduzione/C6StagingPeriodico_ST_SPB_CONTR_SINTESI.sql new file mode 100644 index 00000000..f08b2e2b --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_ST_SPB_CONTR_SINTESI.sql @@ -0,0 +1,252 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[ST_SPB_CONTR_SINTESI] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM [C6StagingPeriodico].[WSEICS] AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6Mart.CONTRATTOSEI) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] = c6martperiodico.gettrimestre2(getdate(),0) + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + FROM [C6StagingPeriodico].[WSEICS] AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6Mart.CONTRATTOSEI) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = c6martperiodico.gettrimestre2(getdate(),0) + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM [C6StagingPeriodico].[WSEICS] AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6Mart.CONTRATTOSEI) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = c6martperiodico.gettrimestre2(getdate(),0) + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_asu2.sql b/sql/storedProduzione/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_asu2.sql new file mode 100644 index 00000000..f418d3db --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_asu2.sql @@ -0,0 +1,114 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[ST_SPB_CONTR_SINTESI_asu2] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + FROM [C6StagingPeriodico].[WSEICS] AS CS INNER JOIN + [C6Mart].[CONTRATTOSEI] AS C6 ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] = c6martperiodico.gettrimestre2(getdate(),0) +--V Bisogna inserire una funzione che calcoli il trimestre precedente getPreviousTrim() + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > + --select c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + '20110331' + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_pre_selective.sql new file mode 100644 index 00000000..fe478003 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_pre_selective.sql @@ -0,0 +1,252 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[ST_SPB_CONTR_SINTESI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM [C6StagingPeriodico].[WSEICS] AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6Mart.CONTRATTOSEI) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] = c6martperiodico.gettrimestre2(getdate(),0) + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + FROM [C6StagingPeriodico].[WSEICS] AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6Mart.CONTRATTOSEI) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = c6martperiodico.gettrimestre2(getdate(),0) + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM [C6StagingPeriodico].[WSEICS] AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6Mart.CONTRATTOSEI) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = c6martperiodico.gettrimestre2(getdate(),0) + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_SPB_CONTR_SINTESI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_ST_SVUOTASIMPB.sql b/sql/storedProduzione/C6StagingPeriodico_ST_SVUOTASIMPB.sql new file mode 100644 index 00000000..02e654d8 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_ST_SVUOTASIMPB.sql @@ -0,0 +1,17 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[ST_SVUOTASIMPB] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + TRUNCATE TABLE C6StagingPeriodico.WSEIAN + TRUNCATE TABLE C6StagingPeriodico.WSEICS + TRUNCATE TABLE C6StagingPeriodico.WSEILG + TRUNCATE TABLE C6StagingPeriodico.WSEIPV + TRUNCATE TABLE C6StagingPeriodico.WSEIUL +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_ST_SVUOTASIMPB_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_ST_SVUOTASIMPB_pre_selective.sql new file mode 100644 index 00000000..eac55881 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_ST_SVUOTASIMPB_pre_selective.sql @@ -0,0 +1,17 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[ST_SVUOTASIMPB_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + TRUNCATE TABLE C6StagingPeriodico.WSEIAN + TRUNCATE TABLE C6StagingPeriodico.WSEICS + TRUNCATE TABLE C6StagingPeriodico.WSEILG + TRUNCATE TABLE C6StagingPeriodico.WSEIPV + TRUNCATE TABLE C6StagingPeriodico.WSEIUL +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_UPDATE_CATITEMREF.sql b/sql/storedProduzione/C6StagingPeriodico_UPDATE_CATITEMREF.sql new file mode 100644 index 00000000..872e54da --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_UPDATE_CATITEMREF.sql @@ -0,0 +1,13 @@ +CREATE procedure [C6StagingPeriodico].[UPDATE_CATITEMREF] as +begin + update c6stagingperiodico.catitemref + set + tip_Emittente = B.tipoemittente, + tip_Tasso = B.tipoTasso + from + c6stagingperiodico.catitemref A + join + c6stagingperiodico.decodEmittente B + ON + A.COD_ISIN = B.ISIN +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_UPDATE_CATITEMREF_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_UPDATE_CATITEMREF_pre_selective.sql new file mode 100644 index 00000000..dc4b2573 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_UPDATE_CATITEMREF_pre_selective.sql @@ -0,0 +1,13 @@ +CREATE procedure [C6StagingPeriodico].[UPDATE_CATITEMREF_pre_selective] as +begin + update c6stagingperiodico.catitemref + set + tip_Emittente = B.tipoemittente, + tip_Tasso = B.tipoTasso + from + c6stagingperiodico.catitemref A + join + c6stagingperiodico.decodEmittente B + ON + A.COD_ISIN = B.ISIN +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_UPDATE_COMPLESSITA.sql b/sql/storedProduzione/C6StagingPeriodico_UPDATE_COMPLESSITA.sql new file mode 100644 index 00000000..d3545143 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_UPDATE_COMPLESSITA.sql @@ -0,0 +1,162 @@ +CREATE procedure [C6StagingPeriodico].[UPDATE_COMPLESSITA] +as +begin +/********************FOGLIO 1 UNIT LINKED************************************************************/ +--begin transaction +UPDATE [C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_INTERNO IN +( +'18', +'19', +'29', +'35', +'37', +'38', +'48', +'49', +'60', +'BT', +'ES', +'FR', +'FS', +'FT', +'FU', +--'GP', +'KP', +'OA', +'PO', +'PY', +'SB', +--'PR', +--'PX', +'SE', +'SF', +--'SI', +'ST', +'SU', +'K1', +'K2', +'K3', +'K4', +'K5', +'K6', +'K7') +/**************************FOGLIO 1 UNIT LINKED*******************INSERITA LA CONDIZIONE PER I SOTTOPRODOTTI DA ESCLUDERE ********************************/ +UPDATE [C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=2 +WHERE +COD_INTERNO IN +( +'S1', +'S2', +'S3', +'S4', +'S5', +'S6', +'S7', +'S8' +) +and cod_sottoprodotto not in ('20001','20002','20005','20008') +update c6stagingperiodico.catitemref +--UPDATE c6martperiodico.patrimonio_bf +set complex = 1 +where cod_interno in ('S1','S2','S4','S5','S8') +and cod_sottoprodotto in ('20001','20002','20005','20008') +/******************************FOGLIO 1 UNIT LINKED**********************************************************/ +UPDATE [C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_INTERNO IN +( +'A7', +'A8') +/**************************************FOGLIO 2 FONDI*************************************************/ +UPDATE [C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_SOTTOPRODOTTO IN +( + '7149S' +,'7145S' +,'9968S' +) +/************************************FOGLIO 2 FONDI****************************************************/ +UPDATE [C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_SOTTOPRODOTTO = '7146S' +/***********************************FOGLIO 3 CERTIFICATES************GIOVANNI HA DETTO CHE VANNO UPDATATI A 1 *****************************************/ +UPDATE [C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_ISIN IN +( + 'DE000A0LJ552' +,'DE000A0MG8R0' +,'IT0004189368' +,'GB00B1WVWP64' +,'GB00B1Y3ZZ16' +,'XS0354254111' +,'GB00B2QM7Y61' +,'XS0235278982' +,'XS0179585186' +) +AND +COD_INTERNO IN +( + '00101740' +,'09139480' +,'09161420' +,'00830060' +,'09205930' +,'00168130' +,'08525040' +,'08556110' +,'09201230' +) +--update c6martperiodico.patrimonio_bf +--set complex = 1 +-- +--where cod_prodotto in( +-- +-- +-- +--select cod_prodotto +--from +--c6martperiodico.anag_prodotti b +--where cod_isin in ( +-- 'DE000A0LJ552' +--,'DE000A0MG8R0' +--,'IT0004189368' +--,'GB00B1WVWP64' +--,'GB00B1Y3ZZ16' +--,'XS0354254111' +--,'GB00B2QM7Y61' +--,'XS0235278982' +--,'XS0179585186' +--) +--AND +--COD_INTERNO IN +--( +-- '00101740' +--,'09139480' +--,'09161420' +--,'00830060' +--,'09205930' +--,'00168130' +--,'08525040' +--,'08556110' +--,'09201230' +--)) +-- +--commit +end +--exec c6martperiodico.dm_complessita \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_UPDATE_COMPLESSITA_pre_selective.sql b/sql/storedProduzione/C6StagingPeriodico_UPDATE_COMPLESSITA_pre_selective.sql new file mode 100644 index 00000000..0d40b0b0 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_UPDATE_COMPLESSITA_pre_selective.sql @@ -0,0 +1,162 @@ +CREATE procedure [C6StagingPeriodico].[UPDATE_COMPLESSITA_pre_selective] +as +begin +/********************FOGLIO 1 UNIT LINKED************************************************************/ +--begin transaction +UPDATE [C6StampeCentralizzate].[C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_INTERNO IN +( +'18', +'19', +'29', +'35', +'37', +'38', +'48', +'49', +'60', +'BT', +'ES', +'FR', +'FS', +'FT', +'FU', +--'GP', +'KP', +'OA', +'PO', +'PY', +'SB', +--'PR', +--'PX', +'SE', +'SF', +--'SI', +'ST', +'SU', +'K1', +'K2', +'K3', +'K4', +'K5', +'K6', +'K7') +/**************************FOGLIO 1 UNIT LINKED*******************INSERITA LA CONDIZIONE PER I SOTTOPRODOTTI DA ESCLUDERE ********************************/ +UPDATE [C6StampeCentralizzate].[C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=2 +WHERE +COD_INTERNO IN +( +'S1', +'S2', +'S3', +'S4', +'S5', +'S6', +'S7', +'S8' +) +and cod_sottoprodotto not in ('20001','20002','20005','20008') +update c6stagingperiodico.catitemref +--UPDATE c6martperiodico.patrimonio_bf +set complex = 1 +where cod_interno in ('S1','S2','S4','S5','S8') +and cod_sottoprodotto in ('20001','20002','20005','20008') +/******************************FOGLIO 1 UNIT LINKED**********************************************************/ +UPDATE [C6StampeCentralizzate].[C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_INTERNO IN +( +'A7', +'A8') +/**************************************FOGLIO 2 FONDI*************************************************/ +UPDATE [C6StampeCentralizzate].[C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_SOTTOPRODOTTO IN +( + '7149S' +,'7145S' +,'9968S' +) +/************************************FOGLIO 2 FONDI****************************************************/ +UPDATE [C6StampeCentralizzate].[C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_SOTTOPRODOTTO = '7146S' +/***********************************FOGLIO 3 CERTIFICATES************GIOVANNI HA DETTO CHE VANNO UPDATATI A 1 *****************************************/ +UPDATE [C6StampeCentralizzate].[C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_ISIN IN +( + 'DE000A0LJ552' +,'DE000A0MG8R0' +,'IT0004189368' +,'GB00B1WVWP64' +,'GB00B1Y3ZZ16' +,'XS0354254111' +,'GB00B2QM7Y61' +,'XS0235278982' +,'XS0179585186' +) +AND +COD_INTERNO IN +( + '00101740' +,'09139480' +,'09161420' +,'00830060' +,'09205930' +,'00168130' +,'08525040' +,'08556110' +,'09201230' +) +--update c6martperiodico.patrimonio_bf +--set complex = 1 +-- +--where cod_prodotto in( +-- +-- +-- +--select cod_prodotto +--from +--c6martperiodico.anag_prodotti b +--where cod_isin in ( +-- 'DE000A0LJ552' +--,'DE000A0MG8R0' +--,'IT0004189368' +--,'GB00B1WVWP64' +--,'GB00B1Y3ZZ16' +--,'XS0354254111' +--,'GB00B2QM7Y61' +--,'XS0235278982' +--,'XS0179585186' +--) +--AND +--COD_INTERNO IN +--( +-- '00101740' +--,'09139480' +--,'09161420' +--,'00830060' +--,'09205930' +--,'00168130' +--,'08525040' +--,'08556110' +--,'09201230' +--)) +-- +--commit +end +--exec c6martperiodico.dm_complessita \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_UTIL_popolaPromotoriDaGiornaliero.sql b/sql/storedProduzione/C6StagingPeriodico_UTIL_popolaPromotoriDaGiornaliero.sql new file mode 100644 index 00000000..51a56b70 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_UTIL_popolaPromotoriDaGiornaliero.sql @@ -0,0 +1,9 @@ +CREATE procedure [C6StagingPeriodico].[UTIL_popolaPromotoriDaGiornaliero] +as +begin +--V +--Recupera le info dallo scarico del giornaliero, bisognerebbe rifare il pacchetto..... +truncate table C6StagingPeriodico.ADS4WS_PROMOTORI +insert into C6StagingPeriodico.ADS4WS_PROMOTORI +select * from C6Staging.ADS4WS_PROMOTORI +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_agg_codana_tabellone.sql b/sql/storedProduzione/C6StagingPeriodico_agg_codana_tabellone.sql new file mode 100644 index 00000000..143f136e --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_agg_codana_tabellone.sql @@ -0,0 +1,95 @@ +--select * from c6martperiodico.gestione_pdf_ftp where ID_fk_zip=3302 +--select * from c6martperiodico.gestione_zip_ftp where id=3302 +CREATE procedure [C6StagingPeriodico].[agg_codana_tabellone] + as + begin + if( (select count(*) from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER]) > 0) + begin + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set codana=tab.CODANA,flag6kc=tab.FLAG6KC,flgorig=tab.FLGORIG,flgimm=tab.FLGIMM + from [C6StagingPeriodico].[WANVIPS] tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on tab.rete+tab.CODFIS= a.chiave_acn + where a.chiave_acn not like '%@%' and a.chiave_acn in (select rete+COD_FISCALE from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER]) + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set codana=tab.CODANA,flag6kc=tab.FLAG6KC,flgorig=tab.FLGORIG,flgimm=tab.FLGIMM + from [C6StagingPeriodico].[WANVIPS] tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on tab.rete+'FF@'+tab.CODMAN= a.chiave_acn + where tab.codman <> '' and a.chiave_acn in (select rete+COD_FISCALE from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER]) +--UPDATE [C6StampeCentralizzate].[C6MartPeriodico].tabellone +-- set zip=zip.nomefile+'_LOTTO_'+rtrim(cast(fkidelaborazionezip as char))+'_PACK_'+rtrim(cast(id as char))+'.7z' +--from c6martperiodico.gestione_pdf_ftp pdf inner join c6martperiodico.gestione_zip_ftp zip on id_fk_zip=id +--inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a +--on pdf.rete+pdf.codicefiscale=a.chiave_acn +--where a.chiave_acn in (select rete+COD_FISCALE from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER]) +--if ((select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc) is NULL) +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null +--end +--else +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=(select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc)+1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null and lotto is null +--end +end +else +begin +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set codana=tab.CODANA,flag6kc=tab.FLAG6KC,flgorig=tab.FLGORIG,flgimm=tab.FLGIMM + from [C6StagingPeriodico].[WANVIPS] tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on tab.rete+tab.CODFIS= a.chiave_acn + where a.chiave_acn not like '%@%' + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set codana=tab.CODANA,flag6kc=tab.FLAG6KC,flgorig=tab.FLGORIG,flgimm=tab.FLGIMM + from [C6StagingPeriodico].[WANVIPS] tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on tab.rete+'FF@'+tab.CODMAN= a.chiave_acn + where tab.codman <> '' +--UPDATE [C6StampeCentralizzate].[C6MartPeriodico].tabellone +-- set zip=zip.nomefile+'_LOTTO_'+rtrim(cast(fkidelaborazionezip as char))+'_PACK_'+rtrim(cast(id as char))+'.7z' +--from c6martperiodico.gestione_pdf_ftp pdf inner join c6martperiodico.gestione_zip_ftp zip on id_fk_zip=id +--inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a +--on pdf.rete+pdf.codicefiscale=a.chiave_acn +--select * from [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] where zip is not null +-- +--if ((select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc) is NULL) +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null +--end +--else +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=(select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc)+1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null and lotto is null +--end +--drop table if exists #test +--create table #test ( +--datainvio varchar(8), +--id int identity +--) +----select distinct SUBSTRING ( convert(varchar, DataInvio, 112) ,1 , 11) as DataInvio from c6martperiodico.gestione_pdf_ftp where DataInvio is not null order by DataInvio +--insert into #test +--select distinct SUBSTRING ( convert(varchar, DataInvio, 112) ,1 , 11) as DataInvio from c6martperiodico.gestione_pdf_ftp where DataInvio is not null order by DataInvio +----select * from #test +--update C6MartPeriodico.tabellone +--set lotto=t.id +--from C6MartPeriodico.tabellone a left join #test t on a.zip like '%'+t.datainvio+'%' +--select * from C6MartPeriodico.tabellone where lotto='3' +--select a.rete,a.chiave_acn,t.id from C6MartPeriodico.tabellone a left join #test t on a.zip like '%'+t.datainvio+'%' +--select distinct Rete,CodiceFiscale from c6martperiodico.gestione_pdf_ftp where DataInvio is not null +end +truncate table C6MartPeriodico.APPREND_DTSX_Tabellone +insert into C6MartPeriodico.APPREND_DTSX_Tabellone +select * from C6MartPeriodico.vTabellone +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_agg_lotto_tabellone.sql b/sql/storedProduzione/C6StagingPeriodico_agg_lotto_tabellone.sql new file mode 100644 index 00000000..da3c780e --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_agg_lotto_tabellone.sql @@ -0,0 +1,77 @@ +--select * from c6martperiodico.gestione_pdf_ftp where ID_fk_zip=3302 +--select * from c6martperiodico.gestione_zip_ftp where id=3302 +CREATE procedure [C6StagingPeriodico].[agg_lotto_tabellone] + as + begin + if( (select count(*) from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER]) > 0) + begin +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].tabellone + set zip=zip.nomefile+'_LOTTO_'+rtrim(cast(fkidelaborazionezip as char))+'_PACK_'+rtrim(cast(id as char))+'.7z' +from c6martperiodico.gestione_pdf_ftp pdf inner join c6martperiodico.gestione_zip_ftp zip on id_fk_zip=id +inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a +on pdf.rete+pdf.codicefiscale=a.chiave_acn +where a.chiave_acn in (select rete+COD_FISCALE from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER]) +--if ((select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc) is NULL) +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null +--end +--else +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=(select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc)+1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null and lotto is null +--end +end +else +begin +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].tabellone + set zip=zip.nomefile+'_LOTTO_'+rtrim(cast(fkidelaborazionezip as char))+'_PACK_'+rtrim(cast(id as char))+'.7z' +from c6martperiodico.gestione_pdf_ftp pdf inner join c6martperiodico.gestione_zip_ftp zip on id_fk_zip=id +inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a +on pdf.rete+pdf.codicefiscale=a.chiave_acn +--select * from [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] where zip is not null +-- +--if ((select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc) is NULL) +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null +--end +--else +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=(select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc)+1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null and lotto is null +--end +----select distinct SUBSTRING ( convert(varchar, DataInvio, 112) ,1 , 11) as DataInvio from c6martperiodico.gestione_pdf_ftp where DataInvio is not null order by DataInvio +--insert into #test +--select distinct SUBSTRING ( convert(varchar, DataInvio, 112) ,1 , 11) as DataInvio from c6martperiodico.gestione_pdf_ftp where DataInvio is not null order by DataInvio +----select * from #test +--update C6MartPeriodico.tabellone +--set lotto=t.id +--from C6MartPeriodico.tabellone a left join #test t on a.zip like '%'+t.datainvio+'%' +----select * from C6MartPeriodico.tabellone where lotto='3' +----select a.rete,a.chiave_acn,t.id from C6MartPeriodico.tabellone a left join #test t on a.zip like '%'+t.datainvio+'%' +----select distinct Rete,CodiceFiscale from c6martperiodico.gestione_pdf_ftp where DataInvio is not null +end +drop table if exists #test +create table #test ( +datainvio varchar(8), +id int identity +) +insert into #test +select distinct SUBSTRING ( convert(varchar, DataInvio, 112) ,1 , 11) as DataInvio from c6martperiodico.gestione_pdf_ftp where DataInvio is not null order by DataInvio +--select * from #test +update C6MartPeriodico.tabellone +set lotto=t.id +from C6MartPeriodico.tabellone a left join #test t on a.zip like '%'+t.datainvio+'%' +end +truncate table C6MartPeriodico.APPREND_DTSX_Tabellone +insert into C6MartPeriodico.APPREND_DTSX_Tabellone +select * from C6MartPeriodico.vTabellone \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_agg_wh_tabellone.sql b/sql/storedProduzione/C6StagingPeriodico_agg_wh_tabellone.sql new file mode 100644 index 00000000..ae313596 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_agg_wh_tabellone.sql @@ -0,0 +1,255 @@ +CREATE procedure [C6StagingPeriodico].[agg_wh_tabellone] + as + begin + drop table if exists #appo + drop table if exists #appo1 + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + -- 16/7/2018 + into #appo + -- fine 16/7/2018 + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' then 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' then 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.rete+ PATRBF.cod_fiscale in (select chiave_acn from c6martperiodico.tabellone) + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' then 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' then 'Patrimonio IW Private Inv.' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and terzi.rete+ terzi.cod_fiscale in (select chiave_acn from c6martperiodico.tabellone) + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'W' then 'Patrimonio IW Private Inv.' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and rete+cod_fiscale in (select chiave_acn from c6martperiodico.tabellone) + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and rete+ cod_fiscale in (select chiave_acn from c6martperiodico.tabellone) + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine + select a.RETE,a.COD_FISCALE,a.VARMAX,a.VAR,a.RISKCLASS,a.RISKCLASSMAX, case + when var <= varmax then '1' + when var > varmax then '0' + else '-1' end as Rischio_Mercato,case + --20180820 CR su Rischio Credito: quando non è stato possibile calcolare il rischio credito (quindi il valore di RISKCLASS restituito dalla PL_D2_S169RischiomercatoRischiocredito è NULL) + -- l'indicatore di adeguatezza Rischio Credito è 1 (Adeguato) + when RISKCLASS is null then '1' + --20180820 FINE CR su Rischio Credito + when RISKCLASS <= convert(int,RISKCLASSMAX) then '1' + when RISKCLASS > convert(int,RISKCLASSMAX) then '0' + else -1 + end as Rischio_Credito + into #appo1 + from #appo a where RETE+COD_FISCALE in (select chiave_acn from C6MartPeriodico.tabellone) and ordine=1 order by COD_FISCALE + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set corfa_rfa=w.Patrimoniobancafideuramctv, Stato_Cliente= case when w.scaduto=0 then 'Attivo' when w.Scaduto=1 then 'Scaduto' when w.Scaduto=2 then 'Parziale' end + from wh.Maledetti w inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a on w.rete+w.CodiceFiscale=a.chiave_acn + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set ade_rischio_credito=a.Rischio_Credito, ade_rischio_mercato= case when a.Rischio_Mercato=1 then 'S' else 'N' end + from #appo1 a inner join C6MartPeriodico.tabellone t on a.rete+a.COD_FISCALE=t.chiave_acn + --ESG Rating 29/09/2022 + update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set esg_e_perc=e.esg_e_perc,esg_s_perc=e.ESG_S_perc,esg_g_perc=e.ESG_G_perc + from C6StagingPeriodico.ESG_Metriche_Cliente_IL e inner join C6MartPeriodico.tabellone t + on e.Rete+e.CodiceFiscale=t.chiave_acn + where e.CodiceFiscale<>'' + update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set esg_e_perc=e.esg_e_perc,esg_s_perc=e.ESG_S_perc,esg_g_perc=e.ESG_G_perc + from C6StagingPeriodico.ESG_Metriche_Cliente_IL e inner join C6MartPeriodico.tabellone t + on e.Rete+e.piva+e.CodMan=t.chiave_cap + where e.CodiceFiscale='' + --fine ESG Rating + update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set var_portafoglio=ris.VAR_PERC_PTF + from C6MartPeriodico.RISCHIO_AGGREGATO ris inner join C6MartPeriodico.tabellone t + on ris.Rete+ris.COD_FISCALE=t.chiave_acn where COD_AGGREG = 'COMPLESSIVO' + truncate table C6MartPeriodico.APPREND_DTSX_Tabellone +insert into C6MartPeriodico.APPREND_DTSX_Tabellone +select * from C6MartPeriodico.vTabellone +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_agg_wseian2_tabellone.sql b/sql/storedProduzione/C6StagingPeriodico_agg_wseian2_tabellone.sql new file mode 100644 index 00000000..a3223e24 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_agg_wseian2_tabellone.sql @@ -0,0 +1,104 @@ +--select * from [C6StagingPeriodico].[WSEIAN2] where dttrim='20220531' order by 1 desc +--select * from [C6StagingPeriodico].[WSEIDC] +--select * from [C6StagingPeriodico].[WSEIPS] +--select * from [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] where flgprof='s' and cfm_tipo_consul='retail' +CREATE procedure [C6StagingPeriodico].[agg_wseian2_tabellone] + as + begin + declare @data_ultimo_trimestre varchar(10) + set @data_ultimo_trimestre= [C6MartPeriodico].[getTrimestre2](getdate(),0) + --print @data_ultimo_trimestre + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set dtinval=try_CONVERT(date,cast(ws.dtinval as varchar) ,23),dtfinval=try_CONVERT(date,cast(ws.dtinval+30000 as varchar) ,23), + classerc=ws.CLASSERC,codprofec=ws.COD_PROFEC,flagpg=ws.FLAGPG,clcompl=ws.CLCOMPL, + flgconc=ws.FLGCONC,flagnqp=ws.FLAGNQP,flgprlrde=ws.FLGPRLRDE,flgprof=ws.FLGPROF,codprof=ws.CODPROF, + concemi=ws.CONCEMI,freq=ws.FREQ,lliquid=ws.LLIQUID,ESG=ws.PREFSOST,Environmental=ws.FLAGAMB,Social=ws.FLAGSOC,Governance=ws.FLAGGOV, + Riserva=ws.RISERVA,INVL_PERIOD=ws.INVL_PERIOD,ADEGCONC_VALUT=ws.ADEGCONC_VALUT,Coerenza=ws.COERENZA + from [C6StagingPeriodico].[WSEIAN2] ws + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on ws.Rete+ws.CodFis=a.chiave_acn + where ws.codfis<> '' and ws.DTTRIM =@data_ultimo_trimestre + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set dtinval=try_CONVERT(date,cast(ws.dtinval as varchar) ,23),dtfinval=try_CONVERT(date,cast(ws.dtinval+30000 as varchar) ,23), + classerc=ws.CLASSERC,codprofec=ws.COD_PROFEC,flagpg=ws.FLAGPG,clcompl=ws.CLCOMPL, + flgconc=ws.FLGCONC,flagnqp=ws.FLAGNQP,flgprlrde=ws.FLGPRLRDE,flgprof=ws.FLGPROF,codprof=ws.CODPROF, + concemi=ws.CONCEMI,freq=ws.FREQ,lliquid=ws.LLIQUID,ESG=ws.PREFSOST,Environmental=ws.FLAGAMB,Social=ws.FLAGSOC,Governance=ws.FLAGGOV, + Riserva=ws.RISERVA,INVL_PERIOD=ws.INVL_PERIOD,ADEGCONC_VALUT=ws.ADEGCONC_VALUT,Coerenza=ws.COERENZA + from [C6StagingPeriodico].[WSEIAN2] ws + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on ws.Rete+'FF@'+ws.CODMAN=a.chiave_acn + where ws.codman <> '' and ws.DTTRIM =@data_ultimo_trimestre + --ws.DTTRIM in (select max(DTTRIM) from C6StagingPeriodico.WSEIAN2) + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + --set dtfinval=a.dtinval+30000 --aggiungo 3 anni + --from [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + --where dtinval<>0 + update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set wseidc_tipolett=d.TIPOLETT,wseidc_stato=d.STATO + from C6StagingPeriodico.WSEIDC d inner join C6MartPeriodico.tabellone t + on d.Rete+d.CodFis=t.chiave_acn + where d.codfis<> '' and d.DTTRIM =@data_ultimo_trimestre + update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set wseidc_tipolett=d.TIPOLETT,wseidc_stato=d.stato + from C6StagingPeriodico.WSEIDC d inner join C6MartPeriodico.tabellone t + on d.Rete+'FF@'+d.CODMAN=t.chiave_acn + where d.codman <> '' and d.DTTRIM =@data_ultimo_trimestre + update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set wseips_flag='S' + from C6StagingPeriodico.WSEIPS d inner join C6MartPeriodico.tabellone t + on d.Rete+d.CodFis=t.chiave_acn + where d.codfis<> '' and d.DTTRIM =@data_ultimo_trimestre + update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set wseips_flag='S' + from C6StagingPeriodico.WSEIPS d inner join C6MartPeriodico.tabellone t + on d.Rete+'FF@'+d.CODMAN=t.chiave_acn + where d.codman <> '' and d.DTTRIM =@data_ultimo_trimestre + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + --set corfa_rfa=w.Patrimoniobancafideuramctv + --from wh.Maledetti w inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a on w.rete+w.CodiceContratto=a.rete_acn + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].tabellone + --set cfm_tipo_consul=(case + -- when ws.flgprof='S' Then 'PROFESSIONALE' + -- when ws.flgprof='N' then 'RETAIL' + -- end) + --from [C6StagingPeriodico].[WSEIAN2] ws inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + -- on ws.Rete+ws.CodFis=a.chiave_acn + -- where ws.codfis<> '' + --select * from consuni_periodico.consulenzaunica.dbo.vinfocliente + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].tabellone + --set cfm_tipo_consul=(case + -- when ws.flgprof='S' Then 'PROFESSIONALE' + -- when ws.flgprof='N' then 'RETAIL' + -- end) + --from [C6StagingPeriodico].[WSEIAN2] ws inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + -- on ws.Rete+'FF@'+ws.CODMAN=a.chiave_acn + -- where ws.codman <> '' and a.codman='' + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + --set blacklist=tab.DescrErr + --from [C6MartPeriodico].[ExcludedList] tab inner join + --[C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + -- on tab.Rete+tab.codicefiscale=a.chiave_acn + -- select * from wh.maledetti where Patrimoniocomplessivototalectv<>Patrimoniobancafideuramctv + --select c.RFA-w.Patrimoniobancafideuramctv,c.codicefiscale from wh.maledetti w + --inner join c6martperiodico.gestione_pdf_ftp c on w.rete+w.i_CodiceFiscale=c.rete+c.CodiceFiscale + --where w.Patrimoniocomplessivototalectv<>c.RFA + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + -- set wseidc_stato=wd.STATO,wseidc_tipolett=wd.TIPOLETT + -- from [C6StagingPeriodico].[WSEIDC] wd + -- inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + -- on wd.Rete+wd.CodFis=a.chiave_acn + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + -- set wseidc_stato=wd.STATO,wseidc_tipolett=wd.TIPOLETT + -- from [C6StagingPeriodico].[WSEIDC] wd + -- inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + -- on wd.Rete+'FF@'+wd.CODMAN=a.chiave_acn + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + -- set wseips_flag='S' + -- where chiave_acn in (select rete+codfis from [C6StagingPeriodico].[WSEIPS]) + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + -- set wseips_flag='S' + -- where chiave_acn in (select RETE+'FF@'+CODMAN from [C6StagingPeriodico].[WSEIPS]) + truncate table C6MartPeriodico.APPREND_DTSX_Tabellone +insert into C6MartPeriodico.APPREND_DTSX_Tabellone +select * from C6MartPeriodico.vTabellone +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_get_testo_sezione_adeg_PG_Compl_Conc_CDTTRIM.sql b/sql/storedProduzione/C6StagingPeriodico_get_testo_sezione_adeg_PG_Compl_Conc_CDTTRIM.sql new file mode 100644 index 00000000..e991349b --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_get_testo_sezione_adeg_PG_Compl_Conc_CDTTRIM.sql @@ -0,0 +1,74 @@ +--exec [C6StagingPeriodico].[get_testo_sezione_adeg_PG_Compl_Conc_CDTTRIM] 'F', 'MGNGPP55B25G224T' +CREATE procedure [C6StagingPeriodico].[get_testo_sezione_adeg_PG_Compl_Conc_CDTTRIM] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @d nvarchar(8) +DECLARE @isPG integer +DECLARE @isPG_NQ char(1) +DECLARE @dtrim nvarchar(8) +set @dtrim = c6martperiodico.getTrimestre(getdate(), 0) +if @CodiceFiscale not like 'FF@%' + BEGIN + select @isPG = FLAGPG from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + if @isPG = 0 + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + END + ELSE /* isPG = 1 */ + BEGIN + select @isPG_NQ = + CASE + WHEN FLAGNQP IS NULL or FLAGNQP ='' THEN 'N' + ELSE FLAGNQP + END + from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + if @isPG_NQ = 'S' + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + END + ELSE /* isPG_NQ = N */ + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and adeg.[FLAGNQP]=@isPG_NQ + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + --and an.[FLAGNQP]='N' and coalesce(adeg.[FLGPRLRDE],'yn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + END + END + END +ELSE /* Mandatario - Fiduciaria */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + /* case PG = 0 forced, dont' considerate flags FLAGPG, FLAGNQP, FLGPRLRDE */ + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@dtrim + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_immobiliare_tabellone.sql b/sql/storedProduzione/C6StagingPeriodico_immobiliare_tabellone.sql new file mode 100644 index 00000000..377a32d4 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_immobiliare_tabellone.sql @@ -0,0 +1,14 @@ +--select * from [C6StagingPeriodico].[WSEIAN2] where cod_profec is null +--select * from [C6StagingPeriodico].[WSEIDC] +--select * from [C6StagingPeriodico].[WSEIPS] +--select * from [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] where flgprof='s' and cfm_tipo_consul='retail' +CREATE procedure [C6StagingPeriodico].[immobiliare_tabellone] + as + begin + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set flgpe_perimetro_semestr=i.FLAG_IN_PERIMETRO,solo_rend_imm=isnull(i.RENDICONTO_IMM,'N'),anche_rend_sei=i.RENDICONTO_SEI + from [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] t inner join [C6MartPeriodicoImmobiliare].[W6IMM] i on i.RETE+i.CODFIS=t.chiave_acn + truncate table C6MartPeriodico.APPREND_DTSX_Tabellone +insert into C6MartPeriodico.APPREND_DTSX_Tabellone +select * from C6MartPeriodico.vTabellone +end \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_sp_quadratura.sql b/sql/storedProduzione/C6StagingPeriodico_sp_quadratura.sql new file mode 100644 index 00000000..22927824 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_sp_quadratura.sql @@ -0,0 +1,32 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE c6stagingperiodico.sp_quadratura + -- Add the parameters for the stored procedure here +AS +BEGIN +DROP TABLE if exists #excel +DROP TABLE if exists #txt +drop table if exists #differenze +drop table if exists [C6MartPeriodico].[anag_prelievi_excel_txt_differenze] +SELECT substring(cf,17,1)+ltrim(rtrim(substring(cf,1,16)))+substring(cf,18,4)+substring(cf,23,2)+substring(cf,26,2) as cf +into #txt + FROM [C6MartPeriodico].[anag_prelievi_txt] + select rete+ltrim(rtrim(codfis))+dtavmon as cf2 +into #excel +from [C6MartPeriodico].[anag_prelievi_excel] +select * +into #differenze +from( +select cf from #txt +except +select cf2 from #excel +) t +select cf as CodiceFiscale +into [C6MartPeriodico].[anag_prelievi_excel_txt_differenze] +from #differenze +where cf not like '%00000000000%' +select * from [C6MartPeriodico].[anag_prelievi_excel_txt_differenze] +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg.sql b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg.sql new file mode 100644 index 00000000..a5f69059 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg.sql @@ -0,0 +1,66 @@ +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg] 'f', 'BLDMRA59E22G999d', '2015-06-01' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg] + @Rete nvarchar(1), + @CodiceFiscale varchar(16), + @DTTRIM datetime = null +AS +BEGIN +DECLARE @d nvarchar(8) +set @d = cast(year(@DTTRIM) as nvarchar(4)) + RIGHT('0'+cast(month(@DTTRIM) as nvarchar(2)), 2) + + RIGHT('0'+cast(day(@DTTRIM) as nvarchar(2)),2) +print @d +if @DTTRIM is null +begin +if @CodiceFiscale not like 'FF@%' BEGIN +select @d = max(DTTRIM) from +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +and DTTRIM=@d +END +ELSE +BEGIN +DECLARE @CF as nvarchar(max) +set @CF = replace(@CodiceFiscale, 'FF@', '') +select @d = max(DTTRIM) from +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CF +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CF +and DTTRIM=@d +END +end +else +begin +if @CodiceFiscale not like 'FF@%' BEGIN +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +and DTTRIM=@DTTRIM +END +ELSE +BEGIN +DECLARE @CFF as nvarchar(max) +set @CFF = replace(@CodiceFiscale, 'FF@', '') +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CFF +and DTTRIM=@DTTRIM +END +end +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM.sql b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM.sql new file mode 100644 index 00000000..dd40d706 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM.sql @@ -0,0 +1,74 @@ +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM] 'F', 'MGNGPP55B25G224T' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @d nvarchar(8) +DECLARE @isPG integer +DECLARE @isPG_NQ char(1) +DECLARE @dtrim nvarchar(8) +set @dtrim = c6martperiodico.getTrimestre(getdate(), 0) +if @CodiceFiscale not like 'FF@%' + BEGIN + select @isPG = FLAGPG from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + if @isPG = 0 + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + END + ELSE /* isPG = 1 */ + BEGIN + select @isPG_NQ = + CASE + WHEN FLAGNQP IS NULL or FLAGNQP ='' THEN 'N' + ELSE FLAGNQP + END + from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + if @isPG_NQ = 'S' + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + END + ELSE /* isPG_NQ = N */ + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and adeg.[FLAGNQP]=@isPG_NQ + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + --and an.[FLAGNQP]='N' and coalesce(adeg.[FLGPRLRDE],'yn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + END + END + END +ELSE /* Mandatario - Fiduciaria */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + /* case PG = 0 forced, dont' considerate flags FLAGPG, FLAGNQP, FLGPRLRDE */ + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@dtrim + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN.sql b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN.sql new file mode 100644 index 00000000..5075a3fc --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN.sql @@ -0,0 +1,74 @@ +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN] 'F', 'MGNGPP55B25G224T' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @d nvarchar(8) +DECLARE @isPG integer +DECLARE @isPG_NQ char(1) +DECLARE @dtrim nvarchar(8) +set @dtrim = c6martperiodico.getPreviousTrimestre(getdate(), 0) --c6martperiodico.getTrimestre(getdate(), 0) +if @CodiceFiscale not like 'FF@%' + BEGIN + select @isPG = FLAGPG from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + if @isPG = 0 + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + END + ELSE /* isPG = 1 */ + BEGIN + select @isPG_NQ = + CASE + WHEN FLAGNQP IS NULL or FLAGNQP ='' THEN 'N' + ELSE FLAGNQP + END + from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + if @isPG_NQ = 'S' + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + END + ELSE /* isPG_NQ = N */ + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and adeg.[FLAGNQP]=@isPG_NQ + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + --and an.[FLAGNQP]='N' and coalesce(adeg.[FLGPRLRDE],'yn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + END + END + END +ELSE /* Mandatario - Fiduciaria */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + /* case PG = 0 forced, dont' considerate flags FLAGPG, FLAGNQP, FLGPRLRDE */ + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@dtrim + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.obs.sql b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.obs.sql new file mode 100644 index 00000000..9cd88860 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.obs.sql @@ -0,0 +1,46 @@ +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '97080600154' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'SGHDMN66M07G920Z' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '00118220524' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', 'ZZLLNI57B06D245V' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'LTTGRG68T04I324Z' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF.obs] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @d nvarchar(8) +if @CodiceFiscale not like 'FF@%' + BEGIN + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + and an.[FLAGPG]=0 + or ( + an.[FLAGPG]=1 and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + ) + END +ELSE /* Mandatario */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = @CF + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF + and DTTRIM=@d + and an.[FLAGPG]=0 + or ( + an.[FLAGPG]=1 and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + ) + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.rigen.20170620.sql b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.rigen.20170620.sql new file mode 100644 index 00000000..0e0bb7c2 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.rigen.20170620.sql @@ -0,0 +1,100 @@ +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '97080600154' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'SGHDMN66M07G920Z' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '00118220524' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', 'ZZLLNI57B06D245V' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '96711600013' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '01689841003' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF.rigen.20170620] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @d nvarchar(8) +DECLARE @isPG integer +DECLARE @isPG_NQ char(1) +if @CodiceFiscale not like 'FF@%' + BEGIN + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + select @isPG = FLAGPG from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + if @isPG = 0 + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + END + ELSE /* isPG = 1 */ + BEGIN + select @isPG_NQ = + CASE + WHEN FLAGNQP IS NULL or FLAGNQP ='' THEN 'N' + ELSE FLAGNQP + END + from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + if @isPG_NQ = 'S' + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + END + ELSE /* isPG_NQ = N */ + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and adeg.[FLAGNQP]=@isPG_NQ + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + --and an.[FLAGNQP]='N' and coalesce(adeg.[FLGPRLRDE],'yn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + END + END + END +ELSE /* Mandatario */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = @CF + select @isPG = FLAGPG from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@d + if @isPG = 0 + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@d + END + ELSE + /* isPG_NQ = N MANCA !!! */ + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@d + and an.[FLAGNQP]='S' and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + or ( + an.[FLAGNQP]='N' and coalesce(adeg.[FLGPRLRDE],'yn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + ) + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.sql b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.sql new file mode 100644 index 00000000..8ec3b698 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.sql @@ -0,0 +1,85 @@ +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '97080600154' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'SGHDMN66M07G920Z' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '00118220524' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', 'ZZLLNI57B06D245V' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '96711600013' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '01689841003' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', 'FF@1214' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', 'FF@10005' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '97080600154' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', '00489340455' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @d nvarchar(8) +DECLARE @isPG integer +DECLARE @isPG_NQ char(1) +if @CodiceFiscale not like 'FF@%' + BEGIN + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + select @isPG = FLAGPG from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + if @isPG = 0 + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + END + ELSE /* isPG = 1 */ + BEGIN + select @isPG_NQ = + CASE + WHEN FLAGNQP IS NULL or FLAGNQP ='' THEN 'N' + ELSE FLAGNQP + END + from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + if @isPG_NQ = 'S' + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + END + ELSE /* isPG_NQ = N */ + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and adeg.[FLAGNQP]=@isPG_NQ + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + --and an.[FLAGNQP]='N' and coalesce(adeg.[FLGPRLRDE],'yn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + END + END + END +ELSE /* Mandatario - Fiduciaria */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = @CF + /* case PG = 0 forced, dont' considerate flags FLAGPG, FLAGNQP, FLGPRLRDE */ + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@d + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620.sql b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620.sql new file mode 100644 index 00000000..83ab83b1 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620.sql @@ -0,0 +1,46 @@ +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '97080600154' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'SGHDMN66M07G920Z' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '00118220524' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', 'ZZLLNI57B06D245V' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'LTTGRG68T04I324Z' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF_20170620] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @d nvarchar(8) +if @CodiceFiscale not like 'FF@%' + BEGIN + select @d = max(DTTRIM) from + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + END +ELSE /* Mandatario */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + select @d = max(DTTRIM) from + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF + and DTTRIM=@d + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620_consegnato.sql b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620_consegnato.sql new file mode 100644 index 00000000..8f750292 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620_consegnato.sql @@ -0,0 +1,49 @@ +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '01634240160' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'SGHDMN66M07G920Z' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '00118220524' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', 'ZZLLNI57B06D245V' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'LTTGRG68T04I324Z' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF_20170620_consegnato] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @d nvarchar(8) +if @CodiceFiscale not like 'FF@%' + BEGIN + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d +and ( an.[FLAGPG]=0 + or ( + an.[FLAGPG]=1 and an.[FLAGNQP]=adeg.[FLAGNQP] and coalesce(adeg.[FLGPRLRDE],'sn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + ) + ) + END +ELSE /* Mandatario */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = @CF + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF + and DTTRIM=@d + and an.[FLAGPG]=0 + or ( + an.[FLAGPG]=1 and an.[FLAGNQP]=adeg.[FLAGNQP] and coalesce(adeg.[FLGPRLRDE],'sn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + ) + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_trim.sql b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_trim.sql new file mode 100644 index 00000000..d4c13084 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_trim.sql @@ -0,0 +1,43 @@ +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF_trim] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @d nvarchar(8) +declare @da datetime +set @d = c6martperiodico.getTrimestre(getdate(), 0) +if @CodiceFiscale not like 'FF@%' + BEGIN + --select @d = max(DTTRIM) from + --[C6StagingPeriodico].[WSEIAN] an + --INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + --ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + --WHERE codfis = @CodiceFiscale and RETE = @Rete + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + END +ELSE /* Mandatario */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + --select @d = max(DTTRIM) from + --[C6StagingPeriodico].[WSEIAN] an + --INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + --ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and adeg.[FLAGPG]=0 and adeg.[FLAGNQP]='N' and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + --WHERE codman = @CF and RETE = @Rete + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and adeg.[FLAGPG]=0 and adeg.[FLAGNQP]='N' and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@d + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.1.0.sql b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.1.0.sql new file mode 100644 index 00000000..2dc738be --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.1.0.sql @@ -0,0 +1,24 @@ +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg] 'f', 'BLDMRA59E22G999d', '2015-06-01' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_V.1.0] + @Rete nvarchar(1), + @CodiceFiscale varchar(16), + @DTTRIM datetime = null +AS +BEGIN +DECLARE @d nvarchar(8) +set @d = cast(year(@DTTRIM) as nvarchar(4)) + RIGHT('0'+cast(month(@DTTRIM) as nvarchar(2)), 2) + + RIGHT('0'+cast(day(@DTTRIM) as nvarchar(2)),2) +print @d +if @DTTRIM is null +select @d = max(DTTRIM) from +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +SELECT top(1) [TESTO_NOTA] FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +and DTTRIM=@d +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.2.0.sql b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.2.0.sql new file mode 100644 index 00000000..2e93826e --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.2.0.sql @@ -0,0 +1,66 @@ +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg] 'f', 'BLDMRA59E22G999d', '2015-06-01' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_V.2.0] + @Rete nvarchar(1), + @CodiceFiscale varchar(16), + @DTTRIM datetime = null +AS +BEGIN +DECLARE @d nvarchar(8) +set @d = cast(year(@DTTRIM) as nvarchar(4)) + RIGHT('0'+cast(month(@DTTRIM) as nvarchar(2)), 2) + + RIGHT('0'+cast(day(@DTTRIM) as nvarchar(2)),2) +print @d +if @DTTRIM is null +begin +if @CodiceFiscale not like 'FF@%' BEGIN +select @d = max(DTTRIM) from +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +and DTTRIM=@d +END +ELSE +BEGIN +DECLARE @CF as nvarchar(max) +set @CF = replace(@CodiceFiscale, 'FF@', '') +select @d = max(DTTRIM) from +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CF +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CF +and DTTRIM=@d +END +end +else +begin +if @CodiceFiscale not like 'FF@%' BEGIN +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +and DTTRIM=@DTTRIM +END +ELSE +BEGIN +DECLARE @CFF as nvarchar(max) +set @CFF = replace(@CodiceFiscale, 'FF@', '') +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CFF +and DTTRIM=@DTTRIM +END +end +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.3.0.sql b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.3.0.sql new file mode 100644 index 00000000..8118b2f1 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.3.0.sql @@ -0,0 +1,66 @@ +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg] 'f', 'BLDMRA59E22G999d', '2015-06-01' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_V.3.0] + @Rete nvarchar(1), + @CodiceFiscale varchar(16), + @DTTRIM datetime = null +AS +BEGIN +DECLARE @d nvarchar(8) +set @d = cast(year(@DTTRIM) as nvarchar(4)) + RIGHT('0'+cast(month(@DTTRIM) as nvarchar(2)), 2) + + RIGHT('0'+cast(day(@DTTRIM) as nvarchar(2)),2) +print @d +if @DTTRIM is null +begin +if left(@CodiceFiscale,3) <> 'FF@' BEGIN +select @d = max(DTTRIM) from +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +and DTTRIM=@d +END +ELSE +BEGIN +DECLARE @CF as nvarchar(max) +set @CF = replace(@CodiceFiscale, 'FF@', '') +select @d = max(DTTRIM) from +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CF +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CF +and DTTRIM=@d +END +end +else +begin +if left(@CodiceFiscale,3) <> 'FF@' BEGIN +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +and DTTRIM=@DTTRIM +END +ELSE +BEGIN +DECLARE @CFF as nvarchar(max) +set @CFF = replace(@CodiceFiscale, 'FF@', '') +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CFF +and DTTRIM=@DTTRIM +END +end +END \ No newline at end of file diff --git a/sql/storedProduzione/C6StagingPeriodico_zzzRP_CREA_POSITIONID_CONSULENZA.sql b/sql/storedProduzione/C6StagingPeriodico_zzzRP_CREA_POSITIONID_CONSULENZA.sql new file mode 100644 index 00000000..f7f12cb3 --- /dev/null +++ b/sql/storedProduzione/C6StagingPeriodico_zzzRP_CREA_POSITIONID_CONSULENZA.sql @@ -0,0 +1,89 @@ +-- ============================================= +-- AUTHOR: +-- alter DATE: 10/05/2010 +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[zzzRP_CREA_POSITIONID_CONSULENZA] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione giornaliera' + ) +--select top 1 * from C6StagingPeriodico.consulenza + UPDATE +C6StagingPeriodico.RP_CONSULENZA + SET + POSITION_ID = + [C6StagingPeriodico].[RP_INFO_DAPRODOTTOCSACATALOGO] --DBO.INFO_DAPRODOTTOCSACATALOGO + ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + --V ISIN per ASU2 + --controllare se gli ASU2 vengono gestiti bene + CASE + WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') + ELSE '' + END, + CODSOTTOPRODOTTO + ) + --END + + + DBO.CREA_POSITIONID + ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + '', + CODSOTTOPRODOTTO, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + NUMPOLIZZA, + CONTO, + RUBRICATO, + CUSTGAR, + TERMID, + cast(ANNO as decimal(3,0)), + cast(PROG as decimal(9,0)) + --'',0,0 + /* decommentare dopo che nello ci da le regole per la ricostruzione del pctkey => anno + prog + termid + , + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END +*/ + ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_CREA_FIRMA_PROMOTORE.sql b/sql/storedProduzione/C6Staging_CREA_FIRMA_PROMOTORE.sql new file mode 100644 index 00000000..141b76be --- /dev/null +++ b/sql/storedProduzione/C6Staging_CREA_FIRMA_PROMOTORE.sql @@ -0,0 +1,8 @@ +CREATE procedure [C6Staging].[CREA_FIRMA_PROMOTORE] as +begin +update [C6Staging].[ADS4WS_PROMOTORI] +set firma = case when rete = 'F' then 'R'+codice + else 'P'+codice end, +prefisso = case when rete = 'F' then 'R' + else 'P'end +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_CheckScartiMIFID.sql b/sql/storedProduzione/C6Staging_CheckScartiMIFID.sql new file mode 100644 index 00000000..c3ac7e64 --- /dev/null +++ b/sql/storedProduzione/C6Staging_CheckScartiMIFID.sql @@ -0,0 +1,42 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Staging].[CheckScartiMIFID] + -- Add the parameters for the stored procedure here +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + /*-- Insert statements for procedure here + DECLARE @iScarti INT + SELECT @iScarti = count(rete+codiceFiscale) + FROM C6STAGING.SPB_SCARTI SPB + WHERE pacchettoSSIS = 'SPB_MIFID' +select @iScarti + IF @iScarti > 0 + RAISERROR ('Scarti MIFID presenti.', -- Message text. + 16, -- Severity. + 1 -- State. + ); + */ + declare @iScarti INT + select @iscarti = + count(*) + from + c6mart.vContrattiMigrati n + left join + C6STAGING.SPB_MIFID m + on + n.rete = m.rete and + n.cod_fiscale = m.codiceFiscale + where + m.rete is null + if @iScarti > 0 + RAISERROR ('Scarti MIFID presenti.', -- Message text. + 16, -- Severity. + 1 -- State. + ); +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_DecodificaIndicatoriAdeguatezza.sql b/sql/storedProduzione/C6Staging_DecodificaIndicatoriAdeguatezza.sql new file mode 100644 index 00000000..5e0aafb4 --- /dev/null +++ b/sql/storedProduzione/C6Staging_DecodificaIndicatoriAdeguatezza.sql @@ -0,0 +1,86 @@ +CREATE procedure [C6Staging].[DecodificaIndicatoriAdeguatezza] +as +begin +--1. RM - Rischio Mercato + update a + set [RM_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + on a.RM_ADEGUATEZZA_INDICATORE = b.Adeguato + where b.Ordine = 1 +--2. RC - Rischio Credito + -- 20180821 CR Rischio Credito adeguato se non si riesce a calcolarlo + --update a + --set [RC_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + --from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + -- inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + -- on a.RC_ADEGUATEZZA_INDICATORE = b.Adeguato + --where b.Ordine = 2 + update a + set [RS_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + on a.RS_ADEGUATEZZA_INDICATORE = b.Adeguato + where b.Ordine = 2 + and a.RS_ADEGUATEZZA_INDICATORE in (0, 1) + update a + set + a.RS_ADEGUATEZZA_INDICATORE = 1, + a.RS_ADEGUATEZZA_DESCRIZIONE = (select b.DescrizioneEsito from [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b where b.Ordine = 2 and b.Adeguato = 1) + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + where a.RS_ADEGUATEZZA_INDICATORE = -1 + -- FINE 20180821 CR +--3. CE - Concentrazione emittenti + update a + set [TH_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + on a.TH_ADEGUATEZZA_INDICATORE = b.Adeguato + where b.Ordine = 3 +--4. CM - Complessita + --update a + --set [CM_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + --from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + -- inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + -- on a.CM_ADEGUATEZZA_INDICATORE = b.Adeguato + --where b.Ordine = 4 + update a + set [CM_ADEGUATEZZA_DESCRIZIONE] = (select DescrizioneEsito from [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] where Ordine = 4 and Adeguato = '1') + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + where a.CM_ADEGUATEZZA_INDICATORE = 1 + update a + set [CM_ADEGUATEZZA_DESCRIZIONE] = (select DescrizioneEsito from [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] where Ordine = 4 and Adeguato = '-1') + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + where a.CM_ADEGUATEZZA_INDICATORE = -1 + update a + set [CM_ADEGUATEZZA_DESCRIZIONE] = (select DescrizioneEsito from [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] where Ordine = 4 and Adeguato = '0A') + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + where a.CM_ADEGUATEZZA_INDICATORE = 0 +--5. CC - Concentrazione prodotti complessi + update a + set [CC_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + on a.CC_ADEGUATEZZA_INDICATORE = b.Adeguato + where b.Ordine = 5 +--6. FQ - Frequenza delle operazioni + update a + set [FQ_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + on a.FQ_ADEGUATEZZA_INDICATORE = b.Adeguato + where b.Ordine = 6 +--7. LQ - Liquidità/liquidabilità (Orizzonti temporali degli investimenti) + update a + set [CE_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + on a.CE_ADEGUATEZZA_INDICATORE = b.Adeguato + where b.Ordine = 7 + update a + set [CV_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + on a.CV_ADEGUATEZZA_INDICATORE = b.Adeguato + where b.Ordine = 8 +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_AGGIORNA_SPB_PROF_RISCHIO.sql b/sql/storedProduzione/C6Staging_RP_AGGIORNA_SPB_PROF_RISCHIO.sql new file mode 100644 index 00000000..51041895 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_AGGIORNA_SPB_PROF_RISCHIO.sql @@ -0,0 +1,9 @@ +CREATE procedure [C6Staging].[RP_AGGIORNA_SPB_PROF_RISCHIO] +AS +BEGIN +update C6Staging.SPB_PROF_RISCHIO +set VARTRIMESTRALE=d.varmax +from consuni.consulenzaunica.dbo.dprofilo d +inner join C6Staging.SPB_PROF_RISCHIO s +on d.profilo=s.CODICEPROFILO +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_CREA_POSITIONID.sql b/sql/storedProduzione/C6Staging_RP_CREA_POSITIONID.sql new file mode 100644 index 00000000..e8465191 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_CREA_POSITIONID.sql @@ -0,0 +1,77 @@ +-- ============================================= +-- AUTHOR: +-- alter DATE: 10/05/2010 +-- Description: +-- ============================================= +CREATE procedure [C6Staging].[RP_CREA_POSITIONID] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID', + GETDATE(), + 'Elaborazione giornaliera' + ) + UPDATE +C6Staging.SPB_CONTR_SINTESI + SET + POSITIONID = + [C6STAGING].[RP_INFO_DAPRODOTTOCSACATALOGO] --DBO.INFO_DAPRODOTTOCSACATALOGO + ( + TIPOPRODOTTO, + CODICEINTERNO, + CODICEMAF, + --V ISIN per ASU2 + ISNULL(ISIN,''), + CODICESOTTOPRODOTTO + ) + --END + + + DBO.CREA_POSITIONID + ( + TIPOPRODOTTO, + CODICEINTERNO, + CODICEMAF, + '', + CODICESOTTOPRODOTTO, + CODICECONTRATTO, -- VERIFICARNE LA CORRETTEZZA + NUMEROPOLIZZA, + CONTO, + RUBRICATO, + CUSTODIAGARANZIA, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_CREA_POSITIONID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_CREA_POSITIONID_2011113.sql b/sql/storedProduzione/C6Staging_RP_CREA_POSITIONID_2011113.sql new file mode 100644 index 00000000..c750144f --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_CREA_POSITIONID_2011113.sql @@ -0,0 +1,77 @@ +-- ============================================= +-- AUTHOR: +-- alter DATE: 10/05/2010 +-- Description: +-- ============================================= +CREATE procedure [C6Staging].[RP_CREA_POSITIONID_2011113] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID', + GETDATE(), + 'Elaborazione giornaliera' + ) + UPDATE +C6Staging.SPB_CONTR_SINTESI + SET + POSITIONID = + [C6STAGING].[RP_INFO_DAPRODOTTOCSACATALOGO] --DBO.INFO_DAPRODOTTOCSACATALOGO + ( + TIPOPRODOTTO, + CODICEINTERNO, + CODICEMAF, + --V ISIN per ASU2 + ISNULL(ISIN,''), + CODICESOTTOPRODOTTO + ) + --END + + + DBO.CREA_POSITIONID + ( + TIPOPRODOTTO, + CODICEINTERNO, + CODICEMAF, + '', + CODICESOTTOPRODOTTO, + CODICECONTRATTO, -- VERIFICARNE LA CORRETTEZZA + NUMEROPOLIZZA, + CONTO, + RUBRICATO, + CUSTODIAGARANZIA, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_CREA_POSITIONID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_CREA_POSITIONID_CONSULENZA.sql b/sql/storedProduzione/C6Staging_RP_CREA_POSITIONID_CONSULENZA.sql new file mode 100644 index 00000000..d56b5d0f --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_CREA_POSITIONID_CONSULENZA.sql @@ -0,0 +1,111 @@ +CREATE procedure [C6Staging].[RP_CREA_POSITIONID_CONSULENZA] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Giornaliero' + ) +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + --Inizio intervento Omnia + --CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--inizio INTERVENTO 'RE' - 20161223 + 'RF' - 20171113 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') THEN ISNULL(CODISIN,'') +--fine INTERVENTO 'RE' - 20161223 + ELSE '' END AS CODISIN, +--FINE INTERVENTO MIGRAZIONE ASU3 + --Fine intervento Omnia + CODSOTTOPRODOTTO, + position_id +INTO #TAB1 +FROM C6Staging.RP_CONSULENZA +UPDATE #TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGING.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) +--DECLARE @CNTNULL as int +--SELECT @CNTNULL = COUNT(*) FROM #TAB1 WHERE isnull(position_id,'') = '' +-- +-- +--IF @CNTNULL = 0 + UPDATE C6Staging.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', +--inizio INTERVENTO 'RE' - 20161223 + 'RF' - 20171113 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + CASE WHEN C.CODINTERNO in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') THEN ISNULL(c.CODISIN,'') +--fine INTERVENTO 'RE' - 20161223 + 'RF' - 20171113 + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6Staging.RP_CONSULENZA c + left join #TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') + --Inizio intervento Omnia +--INIZIO INTERVENTO MIGRAZIONE ASU3 + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2', 'GP') THEN ISNULL(c.CODISIN,'') ELSE '' END +--inizio INTERVENTO 'RE' - 20161223 + 'RF' - 20171113 + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB') + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') +--fine INTERVENTO 'RE' - 20161223 + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 + --Fine intervento Omnia + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6Staging.RP_CONSULENZA WHERE isnull(position_id,'') <> '' +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) +drop table #TAB1 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20161223.sql b/sql/storedProduzione/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20161223.sql new file mode 100644 index 00000000..a362c58e --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20161223.sql @@ -0,0 +1,99 @@ +CREATE procedure [C6Staging].[RP_CREA_POSITIONID_CONSULENZA_20161223] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Giornaliero' + ) +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + --Inizio intervento Omnia + --CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + ELSE '' END AS CODISIN, +--FINE INTERVENTO MIGRAZIONE ASU3 + --Fine intervento Omnia + CODSOTTOPRODOTTO, + position_id +INTO #TAB1 +FROM C6Staging.RP_CONSULENZA +UPDATE #TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGING.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) +--DECLARE @CNTNULL as int +--SELECT @CNTNULL = COUNT(*) FROM #TAB1 WHERE isnull(position_id,'') = '' +-- +-- +--IF @CNTNULL = 0 + UPDATE C6Staging.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', + CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6Staging.RP_CONSULENZA c + left join #TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') + --Inizio intervento Omnia +--INIZIO INTERVENTO MIGRAZIONE ASU3 + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2', 'GP') THEN ISNULL(c.CODISIN,'') ELSE '' END + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB') + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 + --Fine intervento Omnia + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6Staging.RP_CONSULENZA WHERE isnull(position_id,'') <> '' +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) +drop table #TAB1 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20171113_orig.sql b/sql/storedProduzione/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20171113_orig.sql new file mode 100644 index 00000000..15831745 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20171113_orig.sql @@ -0,0 +1,108 @@ +CREATE procedure [C6Staging].[RP_CREA_POSITIONID_CONSULENZA] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Giornaliero' + ) +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + --Inizio intervento Omnia + --CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--inizio INTERVENTO 'RE' - 20161223 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(CODISIN,'') +--fine INTERVENTO 'RE' - 20161223 + ELSE '' END AS CODISIN, +--FINE INTERVENTO MIGRAZIONE ASU3 + --Fine intervento Omnia + CODSOTTOPRODOTTO, + position_id +INTO #TAB1 +FROM C6Staging.RP_CONSULENZA +UPDATE #TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGING.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) +--DECLARE @CNTNULL as int +--SELECT @CNTNULL = COUNT(*) FROM #TAB1 WHERE isnull(position_id,'') = '' +-- +-- +--IF @CNTNULL = 0 + UPDATE C6Staging.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', +--inizio INTERVENTO 'RE' - 20161223 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(c.CODISIN,'') +--fine INTERVENTO 'RE' - 20161223 + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6Staging.RP_CONSULENZA c + left join #TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') + --Inizio intervento Omnia +--INIZIO INTERVENTO MIGRAZIONE ASU3 + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2', 'GP') THEN ISNULL(c.CODISIN,'') ELSE '' END +--inizio INTERVENTO 'RE' - 20161223 + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB') + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB','RE') +--fine INTERVENTO 'RE' - 20161223 + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 + --Fine intervento Omnia + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6Staging.RP_CONSULENZA WHERE isnull(position_id,'') <> '' +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) +drop table #TAB1 +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql b/sql/storedProduzione/C6Staging_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql new file mode 100644 index 00000000..a46f5103 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql @@ -0,0 +1,42 @@ +-- Questa sp aggiorna il campo 'beneficio' della [PROMETEIA_AGGR] con il valore del nuovo indicatore dalla nuova tabella PROMETEIA_AGGR_IndDiv +CREATE procedure [C6Staging].[RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE] +AS +BEGIN +update [C6Staging].[PROMETEIA_AGGR_IndDiv] +set indicatore = '0.0' where indicatore = '0' +update [C6Staging].[PROMETEIA_AGGR_IndDiv] +set indicatore = '100.0' where indicatore = '100' +-- FerAcu 20240830 +update [C6Staging].[PROMETEIA_AGGR_IndDiv] +set indicatore = RTRIM(indicatore) + '.00' +where indicatore not like '%.%' + --aggiorna il beneficio per il COMPLESSIVO +--UPDATE aggr set aggr.beneficio = CAST(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) AS DECIMAL(12,3)) +--con le replace sostituisco i caratteri speciali a fine testo che mandano in errore il cast quando l'indicatore è = 0.0 - CHAR(13) = cr, CHAR(10) = lf +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6Staging].[PROMETEIA_AGGR] aggr +inner join +[C6Staging].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale +where aggr.portafoglio = 'COMPLESSIVO' +--aggiorna il beneficio per il COMPLESSIVO|BF +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6Staging].[PROMETEIA_AGGR] aggr +inner join +[C6Staging].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_BF' +where aggr.portafoglio = 'COMPLESSIVO|BF' +--aggiorna il beneficio per il COMPLESSIVO|TERZI +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6Staging].[PROMETEIA_AGGR] aggr +inner join +[C6Staging].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_TERZI' +where aggr.portafoglio = 'COMPLESSIVO|TERZI' +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_AnAlberatura.sql b/sql/storedProduzione/C6Staging_RP_ST_AnAlberatura.sql new file mode 100644 index 00000000..ab7a7b0f --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_AnAlberatura.sql @@ -0,0 +1,46 @@ +CREATE procedure [C6Staging].[RP_ST_AnAlberatura] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AnAlberatura', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_AnAlberatura + insert into c6staging.RP_AnAlberatura ( + Alberatura, + Livello1, + Livello2, + Livello3, + Livello4, + Livello5 +) + select + Alberatura, + Livello1, + Livello2, + Livello3, + Livello4, + Livello5 + from [CONSUNI].CatalogoProdotti.dbo.AnAlberatura + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AnAlberatura' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_AnAlberatura' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_AnEmittente.sql b/sql/storedProduzione/C6Staging_RP_ST_AnEmittente.sql new file mode 100644 index 00000000..e9cf4ef7 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_AnEmittente.sql @@ -0,0 +1,36 @@ +CREATE procedure [C6Staging].[RP_ST_AnEmittente] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AnEmittente', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_AnEmittente + insert into c6staging.RP_AnEmittente ( + [Emittente] + ,[Descrizione] ) + select + [Emittente] + ,[Descrizione] + from [CONSUNI].CatalogoProdotti.dbo.AnEmittente + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AnEmittente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_AnEmittente' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_AssetClass.sql b/sql/storedProduzione/C6Staging_RP_ST_AssetClass.sql new file mode 100644 index 00000000..fe4c11a0 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_AssetClass.sql @@ -0,0 +1,45 @@ +CREATE procedure [C6Staging].[RP_ST_AssetClass] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_AssetClass', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_AssetClass + insert into c6staging.RP_AssetClass ( + Asset, + Madre, + Livello, + Descrizione, + codicergb, + isresidual ) + select + Asset, + Madre, + Livello, + Descrizione, + codicergb, + isresidual + from [CONSUNI].[CatalogoProdotti].dbo.AssetClass + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_AssetClass' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_AssetClass' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_CatalogoProdotti.sql b/sql/storedProduzione/C6Staging_RP_ST_CatalogoProdotti.sql new file mode 100644 index 00000000..942cb93f --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_CatalogoProdotti.sql @@ -0,0 +1,217 @@ +CREATE procedure [C6Staging].[RP_ST_CatalogoProdotti] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CatalogoProdotti', + GETDATE(), + 'Elaborazione giornaliera' + ) +--drop table c6staging.RP_CatalogoProdotti + truncate table c6staging.RP_CatalogoProdotti +INSERT INTO [C6Staging].[RP_CatalogoProdotti] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[TipoVersamento] + ,[RischioPrSc] + ,[StatoProdotto] + ,[TipoPolizza] + ,[NomeProdotto] + ,[Visibilita] + ,[PrezzoInEuro] + ,[Alberatura] + ,[DtScadenza] + ,[Categoria] + ,[Istituto] + ,[Piazza] + ,[PrezzoInValuta] + ,[PrezzoValuta] + ,[Codiceadb] + , [TipoProdotto] + ,[RatingObbligazioni] + ,[RischioMinimo] + ,[CapRisparmio] + ,[CapMinimo] + ,[CapMinimoValuta] + ,[CapMinSucc] + ,[CapMinSuccValuta] + ,[MinRispContr] + ,[MinRispContrValuta] + ,[SuccRispContr] + ,[SuccRispContrValuta] + ,[MinComm] + ,[MinCommValuta] + ,[DelegaGestionale] + ,[TipologiaPerPick] + ,[RischioPrezzo] + ,[RegimeFiscale] + ,[Quotato] + ,[ClasseDiPrezzo] + ,[Lineefinacc] + ,[DurataContrattuale] + ,[RiscFinFaseAcc] + ,[OpzRendVital] + ,[MetaA] + ,[MetaB] + ,[MetaC] + ,[DtRifPrezzo] + ,[CodTipoContratto] + ,[PrezzoNetto] + ,[PrezzoNettoValuta] + ,[DtPrezzoNetto] + ,[CodBloomberg] + ,[DenomUnitLink] + ,[DtInizioValidita] + ,[Negoziabilita] + ,[TassoTecnico] + ,[TassoTecnicoValuta] + ,[CollSkandia] + ,[CodAssetSatellite] + ,[Mercato] + ,[AzOb] + ,[Complessita] + ,[Emittente] + ,[GaranziaDemografica] + ,[SocietaDiGestione] + ,[IndPrz] + ,[Differimento] + ,[DtPrezzo] + ,[TipoObbligazione] + ,[TaglioMinimo] + ,[IsAttivoRc] + ,[RischioCredito] + ,[Copertura] + ,[VarP] + ,[Diversificazione] + ,[FlagCoreSatellite] + ,[PerimetroCoreSatellite] + ,[FondoCore] + ,[DESCR_SGR] + ,[Dossier]) + select cat.[ChiaveProdotto] + ,cat.[CodSottoprodotto] + ,cat.[CodInterno] + ,cat.[CodMaf] + ,cat.[CodAdeguatezza] + ,cat.[CodIsin] + ,cat.[TipoVersamento] + ,cat.[RischioPrSc] + ,cat.[StatoProdotto] + ,cat.[TipoPolizza] + ,cat.[NomeProdotto] + ,cat.[Visibilita] + ,cat.[PrezzoInEuro] + ,cat.[Alberatura] + ,cat.[DtScadenza] + ,cat.[Categoria] + ,cat.[Istituto] + ,cat.[Piazza] + ,cat.[PrezzoInValuta] + ,cat.[PrezzoValuta] + ,cat.[Codiceadb] +-- INIZIO INTERVENTO MIGRAZIONE ASU3 +-- ,[TipoProdotto] + ,CASE WHEN cat.[TipoProdotto] = 'ASU3' then 'ASU1' else cat.[TipoProdotto] END as TipoProdotto +-- FINE INTERVENTO MIGRAZIONE ASU3 + ,cat.[RatingObbligazioni] + ,cat.[RischioMinimo] + ,cat.[CapRisparmio] + ,cat.[CapMinimo] + ,cat.[CapMinimoValuta] + ,cat.[CapMinSucc] + ,cat.[CapMinSuccValuta] + ,cat.[MinRispContr] + ,cat.[MinRispContrValuta] + ,cat.[SuccRispContr] + ,cat.[SuccRispContrValuta] + ,cat.[MinComm] + ,cat.[MinCommValuta] + ,cat.[DelegaGestionale] + ,cat.[TipologiaPerPick] + ,cat.[RischioPrezzo] + ,cat.[RegimeFiscale] + ,cat.[Quotato] + ,cat.[ClasseDiPrezzo] + ,cat.[Lineefinacc] + ,cat.[DurataContrattuale] + ,cat.[RiscFinFaseAcc] + ,cat.[OpzRendVital] + ,cat.[MetaA] + ,cat.[MetaB] + ,cat.[MetaC] + ,cat.[DtRifPrezzo] + ,cat.[CodTipoContratto] + ,cat.[PrezzoNetto] + ,cat.[PrezzoNettoValuta] + ,cat.[DtPrezzoNetto] + ,cat.[CodBloomberg] + ,cat.[DenomUnitLink] + ,cat.[DtInizioValidita] + ,cat.[Negoziabilita] + ,cat.[TassoTecnico] + ,cat.[TassoTecnicoValuta] + ,cat.[CollSkandia] + ,cat.[CodAssetSatellite] + ,cat.[Mercato] + ,cat.[AzOb] + ,cat.[Complessita] + ,cat.[Emittente] + ,cat.[GaranziaDemografica] + ,cat.[SocietaDiGestione] + ,cat.[IndPrz] + ,cat.[Differimento] + ,cat.[DtPrezzo] + ,cat.[TipoObbligazione] + ,cat.[TaglioMinimo] + ,cat.[IsAttivoRc] + ,cat.[RischioCredito] + ,cat.[Copertura] + ,cat.[VarP] + ,cat.[Diversificazione] + ,cat.[FlagCoreSatellite] + ,cat.[PerimetroCoreSatellite] + ,cat.[FondoCore] + ,an.nomeCompagnia + ,case when cat.[TipoProdotto] = 'DT' then 'DT' else '' end as Dossier + --into [C6Staging].[RP_CatalogoProdotti] + from [CONSUNI].CatalogoProdotti.dbo.CatalogoProdotti cat + LEFT JOIN + CONSUNI.CatalogoProdotti.dbo.AnCompagnia an ON cat.SocietaDiGestione=an.SocietaDiGestione + --where chiaveProdotto not in (240922,240923) + -- Ricreo il catalogueID come era nel SEI vecchio in quanto mi serve per ricreare il position id + /* + Catalogueid = + decode(codice_isin,null,'############', rpad(codice_isin,12,' ')) || + decode(codice_maf,null,'###############', rpad(codice_maf,15,' ')) || + decode(codice_interno,null,'###############', rpad(codice_interno,15,' ')) || decode(codice_sottoprodotto,null,'###############', rpad(codice_sottoprodotto,15,' ')) + */ + UPDATE c6staging.RP_CatalogoProdotti + SET CATALOGUEID = + CASE WHEN codisin = '$' or codisin is null then '############' else CONVERT(char(12),codisin) END + + CASE WHEN codmaf = '$' or codmaf is null then '###############' else CONVERT(char(15),codmaf) END + + CASE WHEN codinterno = '$' or codinterno is null then '###############' else CONVERT(char(15),codinterno) END + + CASE WHEN codsottoprodotto = '$' or codsottoprodotto is null then '###############' else CONVERT(char(15),codsottoprodotto) END + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CatalogoProdotti' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CatalogoProdotti' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_Cliente.sql b/sql/storedProduzione/C6Staging_RP_ST_Cliente.sql new file mode 100644 index 00000000..1c149e58 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_Cliente.sql @@ -0,0 +1,107 @@ +CREATE procedure [C6Staging].[RP_ST_Cliente] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Cliente', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_Cliente + --insert into c6staging.RP_Cliente + ----select * into c6staging.RP_Cliente from CONSUNI.ConsulenzaUnica.dbo.Cliente + --select chiaveCliente + -- ,codFis + -- ,pIva + -- ,codMan + -- ,nome + -- ,SUBSTRING(cognome, 1, 50) -- TOPPA INSERITA PERCHé MODIFCA NON COMUNICATA A REPORTISTA BATCH + -- ,tipologia + -- ,dtNascita + -- ,indirizzo + -- ,numCivico + -- ,citta + -- ,cap + -- ,nazione + -- ,idQuestionario + -- ,dtQuestionario + -- ,dtScadQuest + -- ,profilo + -- ,frequenza + -- ,rendicSemestrale + -- ,codStatoCivile + -- ,sesso + -- ,codTitoloStudio + -- ,flagCanOnLine + -- ,numFigli + -- ,codProvNasc + -- ,codComNasc + -- ,codNazNasc + -- ,fonte + -- ,pinCode + -- ,cittadinanza + -- ,provincia from CONSUNI.ConsulenzaUnica.dbo.Cliente + /* NUOVA PER SEMPLIFICAZIONE */ + insert into c6staging.RP_Cliente + select + cli.chiaveCliente + ,codFis + ,pIva + ,codMan + ,nome + ,SUBSTRING(cognome, 1, 50) -- TOPPA INSERITA PERCHé MODIFCA NON COMUNICATA A REPORTISTA BATCH + ,tipologia --CHIEDERE AD ALESSIA SU CLIENTEPB + ,dtNascita + ,indirizzo + ,numCivico + ,c.NomeComune as citta + ,cap + ,n.descrizioneNazione as nazione + ,idQuestionario + ,null--,dtQuestionario + ,null -- ,dtScadQuest + ,profilo + ,cli.frequenza + ,rendicSemestrale + ,codStatoCivile + ,genere as sesso + ,codTitoloStudio + ,flagCanOnLine + ,numFigli + ,codProvNasc + ,codComNasc + ,codNazNasc + ,fonte + ,pinCode + ,cli.cittadinanza + ,null as provincia + from CONSUNI.ConsulenzaUnica.dbo.Cliente cli + -- Modifica del 14/6/2017 per evitare di caricare sulla tabella cliente dei cf duplicati che non hanno riferimenti sulla clientePB + --LEFT JOIN CONSUNI.ConsulenzaUnica.dbo.ClientePB clipb + INNER JOIN CONSUNI.ConsulenzaUnica.dbo.ClientePB clipb + -- fine Modifica del 14/6/2017 + on clipb.chiavecliente = cli.chiavecliente + left join CONSUNI.ConsulenzaUnica.dbo.DComune c + on c.codcomune = cli.codcomRes + left join CONSUNI.ConsulenzaUnica.dbo.Dnazione n + on n.codNazione = cli.CodNazRes + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Cliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Cliente' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_ClientePB.sql b/sql/storedProduzione/C6Staging_RP_ST_ClientePB.sql new file mode 100644 index 00000000..5b8feba6 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_ClientePB.sql @@ -0,0 +1,53 @@ +CREATE procedure [C6Staging].[RP_ST_ClientePB] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ClientePB', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_ClientePB + insert into c6staging.RP_ClientePB ( + chiaveClientePB, + chiaveCliente, + chiavePB, + idQuestionario, + profilo, + frequenza, + pirModAuto, + fonte, + tipologia, + pirModModif ) + select + chiaveClientePB, + chiaveCliente, + chiavePB, + idQuestionario, + profilo, + frequenza, + null, + null, + tipologia, + null + from [CONSUNI].ConsulenzaUnica.dbo.ClientePB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ClientePB' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_ClientePB' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_Cliente_20170614.sql b/sql/storedProduzione/C6Staging_RP_ST_Cliente_20170614.sql new file mode 100644 index 00000000..25931bcd --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_Cliente_20170614.sql @@ -0,0 +1,104 @@ +CREATE procedure [C6Staging].[RP_ST_Cliente_20170614] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Cliente', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_Cliente + --insert into c6staging.RP_Cliente + ----select * into c6staging.RP_Cliente from CONSUNI.ConsulenzaUnica.dbo.Cliente + --select chiaveCliente + -- ,codFis + -- ,pIva + -- ,codMan + -- ,nome + -- ,SUBSTRING(cognome, 1, 50) -- TOPPA INSERITA PERCHé MODIFCA NON COMUNICATA A REPORTISTA BATCH + -- ,tipologia + -- ,dtNascita + -- ,indirizzo + -- ,numCivico + -- ,citta + -- ,cap + -- ,nazione + -- ,idQuestionario + -- ,dtQuestionario + -- ,dtScadQuest + -- ,profilo + -- ,frequenza + -- ,rendicSemestrale + -- ,codStatoCivile + -- ,sesso + -- ,codTitoloStudio + -- ,flagCanOnLine + -- ,numFigli + -- ,codProvNasc + -- ,codComNasc + -- ,codNazNasc + -- ,fonte + -- ,pinCode + -- ,cittadinanza + -- ,provincia from CONSUNI.ConsulenzaUnica.dbo.Cliente + /* NUOVA PER SEMPLIFICAZIONE */ + insert into c6staging.RP_Cliente + select + cli.chiaveCliente + ,codFis + ,pIva + ,codMan + ,nome + ,SUBSTRING(cognome, 1, 50) -- TOPPA INSERITA PERCHé MODIFCA NON COMUNICATA A REPORTISTA BATCH + ,tipologia --CHIEDERE AD ALESSIA SU CLIENTEPB + ,dtNascita + ,indirizzo + ,numCivico + ,c.NomeComune as citta + ,cap + ,n.descrizioneNazione as nazione + ,idQuestionario + ,null--,dtQuestionario + ,null -- ,dtScadQuest + ,profilo + ,cli.frequenza + ,rendicSemestrale + ,codStatoCivile + ,genere as sesso + ,codTitoloStudio + ,flagCanOnLine + ,numFigli + ,codProvNasc + ,codComNasc + ,codNazNasc + ,fonte + ,pinCode + ,cli.cittadinanza + ,null as provincia + from CONSUNI.ConsulenzaUnica.dbo.Cliente cli + LEFT JOIN CONSUNI.ConsulenzaUnica.dbo.ClientePB clipb + on clipb.chiavecliente = cli.chiavecliente + left join CONSUNI.ConsulenzaUnica.dbo.DComune c + on c.codcomune = cli.codcomRes + left join CONSUNI.ConsulenzaUnica.dbo.Dnazione n + on n.codNazione = cli.CodNazRes + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Cliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Cliente' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_DettAltriProdotti.sql b/sql/storedProduzione/C6Staging_RP_ST_DettAltriProdotti.sql new file mode 100644 index 00000000..396f01bd --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_DettAltriProdotti.sql @@ -0,0 +1,52 @@ +CREATE procedure [C6Staging].[RP_ST_DettAltriProdotti] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettAltriProdotti', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_DettAltriProdotti +/* 11/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non più utilizzati per l'evolutiva patrimonio immobiliare. +*/ + insert into c6staging.RP_DettAltriProdotti + --select * into c6staging.RP_DettAltriProdotti from [CONSUNI].[ConsulenzaUnica].dbo.DettAltriProdotti + --select * from [CONSUNI].[ConsulenzaUnica].dbo.DettAltriProdotti + select [chiaveProdottoTerzi], + [idTipoExtra], + [descrizione], + NULL, + [valoreStimato], + NULL, + NULL, + NULL, + [flagAssicurativo], + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + from [CONSUNI].[ConsulenzaUnica].dbo.DettAltriProdotti + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettAltriProdotti' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettAltriProdotti' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_DettImmobiliare.sql b/sql/storedProduzione/C6Staging_RP_ST_DettImmobiliare.sql new file mode 100644 index 00000000..bbe4d314 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_DettImmobiliare.sql @@ -0,0 +1,62 @@ +CREATE procedure [C6Staging].[RP_ST_DettImmobiliare] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettImmobiliare', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_DettImmobiliare + --drop table c6staging.RP_DettImmobiliare + /* 08/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non più utilizzati. + Sostituzione del campo valore immobile con valoreimmobiletotale per l'evolutiva patrimonio immobiliare. +*/ + insert into c6staging.RP_DettImmobiliare + --select * + --into c6staging.RP_DettImmobiliare + select + [chiaveProdottoTerzi], + [descrizione], + [codProvincia], + [provincia], + [codComune], + [comune], + [codZona], + [zona], + [superficie], + NULL, + NULL, + NULL, + --[valoreImmobile], + [valoreImmobileTotale], + NULL, + [renditaAnnua], + NULL, + NULL, + NULL, + NULL, + NULL, + [codTipologia], + [tipologia] + --into c6staging.RP_DettImmobiliare + from [CONSUNI].[ConsulenzaUnica].dbo.DettImmobiliare + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettImmobiliare' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettImmobiliare' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_DettImmobiliare_20190107_ProQuota.sql b/sql/storedProduzione/C6Staging_RP_ST_DettImmobiliare_20190107_ProQuota.sql new file mode 100644 index 00000000..4293399c --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_DettImmobiliare_20190107_ProQuota.sql @@ -0,0 +1,65 @@ +CREATE procedure [C6Staging].[RP_ST_DettImmobiliare_20190107_ProQuota] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettImmobiliare', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_DettImmobiliare_20190107_ProQuota + --drop table c6staging.RP_DettImmobiliare + /* 08/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non più utilizzati. + Sostituzione del campo valore immobile con valoreimmobiletotale per l'evolutiva patrimonio immobiliare. +*/ + insert into c6staging.RP_DettImmobiliare_20190107_ProQuota + --select * + --into c6staging.RP_DettImmobiliare + select + [chiaveProdottoTerzi], + [descrizione], + [codProvincia], + [provincia], + [codComune], + [comune], + [codZona], + [zona], + [superficie], + NULL, + NULL, + NULL, + --[valoreImmobile], + [valoreImmobileTotale], + NULL, + [renditaAnnua], + NULL, + NULL, + NULL, + NULL, + NULL, + [codTipologia], + [tipologia], + [valoreImmobile], + [TipologiaDiritto], + [QuotaProprieta] + --into c6staging.RP_DettImmobiliare +from [CONSUNI].[ConsulenzaUnica].dbo.DettImmobiliare + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettImmobiliare' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettImmobiliare' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_DettPatrAziendale.sql b/sql/storedProduzione/C6Staging_RP_ST_DettPatrAziendale.sql new file mode 100644 index 00000000..c41e27d5 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_DettPatrAziendale.sql @@ -0,0 +1,53 @@ +CREATE procedure [C6Staging].[RP_ST_DettPatrAziendale] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettPatrAziendale', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_DettPatrAziendale + insert into c6staging.RP_DettPatrAziendale +/* 11/05/2015FCianfa e LM: sostituzione della select * con la select puntuale e valorizzazione a NULL di campi non più utilizzati per l'evolutiva patrimonio immobiliare. +*/ + --select * from [CONSUNI].[ConsulenzaUnica].dbo.DettPatrAziendale + select [chiaveProdottoTerzi], + NULL, + [denominazione], + [codTipoCompagnia], + [patrimonio], + NULL, + NULL, + NULL, + [idTipoAzienda], + NULL, + NULL, + [numQuote], + [valoreStimato], + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + from [CONSUNI].[ConsulenzaUnica].dbo.DettPatrAziendale + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettPatrAziendale' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettPatrAziendale' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_DettProdottiTerzi.sql b/sql/storedProduzione/C6Staging_RP_ST_DettProdottiTerzi.sql new file mode 100644 index 00000000..368ee013 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_DettProdottiTerzi.sql @@ -0,0 +1,70 @@ +CREATE procedure [C6Staging].[RP_ST_DettProdottiTerzi] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettProdottiTerzi', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_DettProdottiTerzi +--drop table c6staging.RP_DettProdottiTerzi +--select * into c6staging.RP_DettProdottiTerzi from [CONSUNI].[ConsulenzaUnica].dbo.DettProdottiTerzi + insert into c6staging.RP_DettProdottiTerzi + select + [chiaveProdottoTerzi] + ,[idIntermediario] + ,[alberatura] + ,[nomeIntermediario] + ,[dtInizioInvest] + ,[totVersato] + ,[totPrelevato] + ,[valutaTotPrelevato] + ,[chiaveProdotto] + ,[numQuote] + ,[divQuoteProd] + ,[dtSottoscrizione] + ,[valutaPremioVers] + ,[tipoPolizza] + ,[tipoVersamento] + ,[tipoFormaPensionistica] + ,[capitaleInvestito] + ,[valutaCapInvestito] + ,[contoPrincipale] + ,[addebitoUtenze] + ,[accreditoStipPens] + ,[cartaCredito] + ,[addebitoMutuo] + ,[isin] + ,[lineaFinanziaria] + ,[fabbisognoPrev] + ,[dtDecorrenza] + ,[modalitaUso] + ,[ctvUltimaPrestNota] + ,[dtUltimaPrestNota] + ,[flgPrestazioneScad] + ,[dtTermineVers] + ,[dtUltimoPremioNoto] + ,[nomeCompagnia] + ,[valutaCtvUltPrestNota] + from [CONSUNI].[ConsulenzaUnica].dbo.DettProdottiTerzi + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettProdottiTerzi' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettProdottiTerzi' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_DettaglioOperazione.sql b/sql/storedProduzione/C6Staging_RP_ST_DettaglioOperazione.sql new file mode 100644 index 00000000..27b90684 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_DettaglioOperazione.sql @@ -0,0 +1,55 @@ +CREATE procedure [C6Staging].[RP_ST_DettaglioOperazione] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettaglioOperazione', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_DettaglioOperazione + --drop table c6staging.RP_DettaglioOperazione + insert into c6staging.RP_DettaglioOperazione + --select * into c6staging.RP_DettaglioOperazione from [CONSUNI].[ConsulenzaUnica].dbo.DettaglioOperazione + select [chiaveProposta] + ,[codTipoOperazione] + ,[chiavePosizionePtf] + ,[chiavePosizionePro] + ,[chiaveContratto] + ,[ctv] + ,[ptfIniziale] + ,[quantitaNominale] + ,[ctvNonRappresentabile] + ,[investi] + ,[disinvesti] + ,[rischioCredito] + ,[rischioMercato] + ,[copertura] + ,[percOperazione] + ,[gestPO] + ,[relOperazione] + ,[opEseguita] + ,[posRiallocata] + ,[nomeProgettoProp] + ,[areaProp] + ,[isAttivoRC] + from [CONSUNI].[ConsulenzaUnica].dbo.DettaglioOperazione + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettaglioOperazione' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettaglioOperazione' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_DettaglioPosizionePortafoglio.sql b/sql/storedProduzione/C6Staging_RP_ST_DettaglioPosizionePortafoglio.sql new file mode 100644 index 00000000..65d813f6 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_DettaglioPosizionePortafoglio.sql @@ -0,0 +1,51 @@ +CREATE procedure [C6Staging].[RP_ST_DettaglioPosizionePortafoglio] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_DettaglioPosizionePortafoglio', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_DettaglioPosizionePortafoglio + insert into c6staging.RP_DettaglioPosizionePortafoglio ( + [chiavePosizionePtf] + ,[ctv] + ,[copertura] + ,[ctvNonAllocabile] + ,[quantitaNominale] + ,[partitaViaggiante] + ,[ctvOut] + ,[ctvIni] + ,[dtSaldo] + ) + select + [chiavePosizionePtf] + ,[ctv] + ,[copertura] + ,[ctvNonAllocabile] + ,[quantitaNominale] + ,[partitaViaggiante] + ,[ctvOut] + ,[ctvIni] + ,[dtSaldo] + from [CONSUNI].[ConsulenzaUnica].dbo.DettaglioPosizionePortafoglio + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_DettaglioPosizionePortafoglio' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_DettaglioPosizionePortafoglio' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_GradoParentela.sql b/sql/storedProduzione/C6Staging_RP_ST_GradoParentela.sql new file mode 100644 index 00000000..37f5cf30 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_GradoParentela.sql @@ -0,0 +1,33 @@ +CREATE procedure [C6Staging].[RP_ST_GradoParentela] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_GradoParentela', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_GradoParentela + insert into c6staging.RP_GradoParentela + --select * into c6staging.RP_GradoParentela from [CONSUNI].[ConsulenzaUnica].dbo.GradoParentela + select * from [CONSUNI].[ConsulenzaUnica].dbo.GradoParentela + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_GradoParentela' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_GradoParentela' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_Mappatura.sql b/sql/storedProduzione/C6Staging_RP_ST_Mappatura.sql new file mode 100644 index 00000000..18a8462c --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_Mappatura.sql @@ -0,0 +1,31 @@ +CREATE procedure [C6Staging].[RP_ST_Mappatura] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Mappatura', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_Mappatura + insert into c6staging.RP_Mappatura + select * from [CONSUNI].CatalogoProdotti.dbo.Mappatura + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Mappatura' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Mappatura' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_MappaturaPT.sql b/sql/storedProduzione/C6Staging_RP_ST_MappaturaPT.sql new file mode 100644 index 00000000..a3914de1 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_MappaturaPT.sql @@ -0,0 +1,32 @@ +CREATE procedure [C6Staging].[RP_ST_MappaturaPT] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_MappaturaPT', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_MappaturaPT + insert into c6staging.RP_MappaturaPT + --select * into c6staging.RP_MappaturaPT from [CONSUNI].[ConsulenzaUnica].dbo.MappaturaPT + select * from [CONSUNI].[ConsulenzaUnica].dbo.MappaturaPT + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_MappaturaPT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_MappaturaPT' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_Migraz_Pianificazione.sql b/sql/storedProduzione/C6Staging_RP_ST_Migraz_Pianificazione.sql new file mode 100644 index 00000000..88b1774d --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_Migraz_Pianificazione.sql @@ -0,0 +1,69 @@ +CREATE procedure [C6Staging].[RP_ST_Migraz_Pianificazione] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Pianificazione', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_Migraz_Pianificazione + insert into c6staging.RP_Migraz_Pianificazione( + chiaveConsulenza + ,chiaveClientePB + ,dtUltimoAggiornamento + ,risorseFinanziarieBF + ,risorseFinanziarieTerzi + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,diversificazione + ,copertura + ,isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,token + ,lineaself + ) + SELECT + chiaveConsulenza + ,pian.chiaveClientePB + ,pian.dtAggiornamento + ,null as risorseFinanziarieBF + ,null as risorseFinanziarieTerzi + ,null as contoCorrente + ,case when (rischioCreditoDecodificatoRisAll like '%n.a.%') or (rischioCreditoDecodificatoRisAll like '%n.c.%') + or (rischioCreditoDecodificatoRisAll like '%classe%') then null else rischioCreditoDecodificatoRisAll end as rischioCredito + ,null as rischioMercato + ,null as diversificazione + ,coperturaRisAll as copertura + ,null as isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,tok.value as Token + ,null AS lineaself +FROM [CONSUNI].[ConsulenzaUnica].dbo.Pianificazione pian +left join [CONSUNI].[consulenzaUnica].dbo.token tok +on pian.chiaveToken = tok.chiavetoken +inner join [CONSUNI].[ConsulenzaUnica].dbo.eventiCliente ev +on ev.chiaveclientePb = pian.chiaveclientepb +--where ev.flagPianificazione = 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Pianificazione' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Pianificazione' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_Migraz_Posizioni.sql b/sql/storedProduzione/C6Staging_RP_ST_Migraz_Posizioni.sql new file mode 100644 index 00000000..3fefe715 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_Migraz_Posizioni.sql @@ -0,0 +1,47 @@ +CREATE procedure [C6Staging].[RP_ST_Migraz_Posizioni] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Posizioni', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_Migraz_Posizioni + insert into c6staging.RP_Migraz_Posizioni +select +chiavePosizionePtf , +chiaveProgetto , +chiaveProdotto , +dtInizioValidita, +'99991231' as dtFineValidita, +conto , +rubricato , +codConf , +numPolizza , +custGar , +codAbi , +termId , +anno , +prog , +null as ctv + from [CONSUNI].[ConsulenzaUnica].dbo.PosizioniPortafoglio + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Posizioni' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Posizioni' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_Migraz_Progetto.sql b/sql/storedProduzione/C6Staging_RP_ST_Migraz_Progetto.sql new file mode 100644 index 00000000..f27eef86 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_Migraz_Progetto.sql @@ -0,0 +1,58 @@ +CREATE procedure [C6Staging].[RP_ST_Migraz_Progetto] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Migraz_Progetto', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_Migraz_Progetto + insert into c6staging.RP_Migraz_Progetto ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,varProgetto + ,coperturaProgetto + ,ctvProgetto + ,chiaveProgettoMod ) + select + prog.chiaveProgetto + ,a.area + ,chiaveConsulenza + ,null as tipoProgetto --- SETTATO A NULL 16/09 + ,null as dtCreazione + ,null as varProgetto + ,coperturaProgetto + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Migraz_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Migraz_Progetto' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_NobPrez.sql b/sql/storedProduzione/C6Staging_RP_ST_NobPrez.sql new file mode 100644 index 00000000..ffbe2c44 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_NobPrez.sql @@ -0,0 +1,73 @@ +CREATE procedure [C6Staging].[RP_ST_NobPrez] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_NobPrez', + GETDATE(), + 'Elaborazione giornaliera' + ) +truncate table C6Staging.RP_NobPrez +INSERT INTO [C6Staging].[RP_NobPrez] + ([CHIAVECLIENTEPB] + ,[RETE] + ,[COD_AGENTE] + ,[CODFIS] + ,[PIVA] + ,[CODMAN] + ,[CODCONF] + ,[CODCONF_ES] + ,[DOSSIER] + ,[DTINI] + ,[DTFIN] + ,[CC] + ,[DT_AGGIORNAMENTO] + ,[DT_FIRMASEI] + ,[DTEFFINI] + ,[DTEFFFIN] + ) +SELECT p.[CHIAVECLIENTEPB] + ,p.[RETE] + ,p.[COD_AGENTE] + ,p.[CODFIS] + ,p.[PIVA] + ,p.[CODMAN] + ,p.[CODCONF] + ,p.[CODCONF_ES] + ,case when isnull(p.[DOSSIER],'')='' then '' else 'DT' end + ,p.[DTINI] + ,p.[DTFIN] + ,p.[CC] + ,p.[DT_AGGIORNAMENTO] + ,CONVERT(varchar(8), v.dtfirmaSEI, 112) as DT_FirmaSei + ,p.[DTEFFINI] + ,p.[DTEFFFIN] + from [Consuni].[ConsulenzaUnica].[dbo].[PRAM_NOBPREZ] p + left join [Consuni].[ConsulenzaUnica].[dbo].[vinfocliente] v + on p.chiaveclientePB=v.chiaveclientePB + where CONVERT(varchar(8), v.dtfirmaSEI, 112) between p.DTEFFINI and p.DTEFFFIN + --inizio fix: (Luca di Chiara) + --viene inserita quest'ulteriore condizione perchè il periodo in cui i prodotti devono essere esclusi dal prezziario è indicato dai campi DTEFFINI e DTEFFFIN + --fix eseguita a seguito al ticket TCK-3743659-W4C0T6 per cui un cliente non si attivava perchè venivano erroneamente scartati dal conteggio dell'rfa + --dei prodotti che solo temporaneamente erano stati esclusi dalla base prezzabile + and CONVERT(varchar(8), getdate(), 112) between p.DTEFFINI and p.DTEFFFIN + --fine fix + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_NobPrez' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_NobPrez' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_Parentela.sql b/sql/storedProduzione/C6Staging_RP_ST_Parentela.sql new file mode 100644 index 00000000..f6373c19 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_Parentela.sql @@ -0,0 +1,40 @@ +CREATE procedure [C6Staging].[RP_ST_Parentela] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Parentela', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_Parentela +-- insert into c6staging.RP_Parentela +-- --select * into c6staging.RP_Parentela from [CONSUNI].[consulenzaEvoluta].dbo.Parentela +-- select chiaveClientePB1, +--chiaveClientePB2, +--idParentela , +--dtMatrimonio , +--aCarico , +--dtCensimento , +--dtFine +-- from [CONSUNI].[consulenzaEvoluta].dbo.Parentela + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Parentela' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Parentela' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_PatrimonioTerzi.sql b/sql/storedProduzione/C6Staging_RP_ST_PatrimonioTerzi.sql new file mode 100644 index 00000000..5500be38 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_PatrimonioTerzi.sql @@ -0,0 +1,50 @@ +CREATE procedure [C6Staging].[RP_ST_PatrimonioTerzi] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PatrimonioTerzi', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_PatrimonioTerzi +--drop table c6staging.RP_PatrimonioTerzi +--select * into c6staging.RP_PatrimonioTerzi from [CONSUNI].[ConsulenzaUnica].dbo.PatrimonioTerzi +/* 11/05/2015FCianfa e LM: aggiunta della where condition e valorizzazione a NULL di campi non più utilizzati per l'evolutiva patrimonio immobiliare. +*/ + insert into c6staging.RP_PatrimonioTerzi + select chiaveProdottoTerzi , +chiaveClientePB , +idTipoProdotto , +nomeProdotto , +NULL , +valutaCtv , +ctv , +NULL , +dataCtv , +prezzoMedioCarico , +tipoProd , +dtFine , +divisa , +ultimoPrezzo +from [CONSUNI].[ConsulenzaUnica].dbo.PatrimonioTerzi +where dtFineValidita >getdate() + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PatrimonioTerzi' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_PatrimonioTerzi' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_Pianificazione.sql b/sql/storedProduzione/C6Staging_RP_ST_Pianificazione.sql new file mode 100644 index 00000000..bb37fc43 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_Pianificazione.sql @@ -0,0 +1,110 @@ +CREATE procedure [C6Staging].[RP_ST_Pianificazione] as +begin +declare @diff_giorni as datetime +declare @data_diff as int +set @diff_giorni = (SELECT MAX(dtInizioValidita) From CONSUNI.ConsulenzaUnica.DBO.Token) +set @data_diff = (SELECT DATEDIFF(day, @diff_giorni,getdate())+1) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Pianificazione', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_Pianificazione + insert into c6staging.RP_Pianificazione ( + chiaveConsulenza + ,chiaveClientePB + ,dtUltimoAggiornamento + ,risorseFinanziarieBF + ,risorseFinanziarieTerzi + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,diversificazione + ,copertura + ,isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,dtPianificazioneOrizzontale + ,dtPianificazioneVerticale + ,token + ,varRisorseAllocate + ,coperturaRisorseAllocate + ,lineaself + ) +select chiaveConsulenza +,pian.chiaveClientePB +,pian.dtAggiornamento as dtUltimoAggiornamento +,Null as risorseFinanziarieBF +,Null as risorseFinanziarieTerzi +,Null as contoCorrente +,null as rischioCredito +,case when (rischioCreditoDecodificatoRisAll like '%n.a.%') or (rischioCreditoDecodificatoRisAll like '%n.c.%') +or (rischioCreditoDecodificatoRisAll like '%classe%') then null else rischioCreditoDecodificatoRisAll end as rischioMercato +--rischioCreditoDecodificatoRFA as rischioCredito +,coperturaRFA as diversificazione +,coperturaRisAll as copertura +,null as isAttivoRC +,partiteViaggianti +,dtPrimaMigrazione +,dtPianificazioneOrizzontale +,dtPianificazioneVerticale +,tok.value as Token +,null as varRisorseAllocate +,coperturaRisorseAllocate +,null AS lineaself +-----------------------> MODIFICA DEL 28/11/2016 SU INDICAZIONE DI ALESSIA PER UNA CORRETTA JOIN +--FROM [CONSUNI].[consulenzaUnica].dbo.Pianificazione pian +--inner join [CONSUNI].[consulenzaUnica].dbo.token tok +--on pian.chiaveToken = tok.chiavetoken +--inner join [CONSUNI].[ConsulenzaUnica].dbo.eventiCliente ev +FROM [CONSUNI].[consulenzaUnica].dbo.Pianificazione pian +inner join [CONSUNI].[consulenzaUnica].dbo.Clientepb clipb +on pian.chiaveclientepb = clipb.chiaveclientepb +inner join [CONSUNI].[consulenzaUnica].dbo.token tok +on clipb.chiaveToken = tok.chiavetoken +inner join [CONSUNI].[ConsulenzaUnica].dbo.eventiCliente ev +on ev.chiaveclientePb = pian.chiaveclientepb +and CONVERT(VARCHAR,DATEADD(d, @data_diff,CONVERT(DATETIME,tok.dtiniziovalidita, 112) ),112)= CONVERT(VARCHAR,DATEADD(d, 1,CONVERT(DATETIME,getdate(), 112) ),112) +/* 6/9/2016 Condizione non più necessaria nella nuova CU: il significato di pianificazione è mutato */ +--where ev.flagPianificazione = 1 +/* POPOLO RISORSE FINANZIARIE BF */ +SELECT SUM(dett.ctv) as RisorseFinanziareBF,pian.chiaveclientePB +into #APPO + from CONSUNI.ConsulenzaUnica.dbo.Pianificazione pian + inner join CONSUNI.ConsulenzaUnica.dbo.area a + on a.chiaveconsulenza = pian.chiaveconsulenza + inner join CONSUNI.ConsulenzaUnica.dbo.Progetto prog + on a.chiaveArea = prog.chiavearea + inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + group by pian.chiaveclientePB + UPDATE C6StagingPeriodico.RP_Pianificazione + SET risorseFinanziarieBF = a.RisorseFinanziareBF + from #APPO a + inner join C6StagingPeriodico.RP_Pianificazione rpPian + on rpPian.chiaveclientePB = a.chiaveClientePB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Pianificazione' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Pianificazione' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_Pianificazione_20161128_ORI.sql b/sql/storedProduzione/C6Staging_RP_ST_Pianificazione_20161128_ORI.sql new file mode 100644 index 00000000..7000ad47 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_Pianificazione_20161128_ORI.sql @@ -0,0 +1,99 @@ +CREATE procedure [C6Staging].[RP_ST_Pianificazione_20161128_ORI] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Pianificazione', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_Pianificazione + insert into c6staging.RP_Pianificazione ( + chiaveConsulenza + ,chiaveClientePB + ,dtUltimoAggiornamento + ,risorseFinanziarieBF + ,risorseFinanziarieTerzi + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,diversificazione + ,copertura + ,isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,dtPianificazioneOrizzontale + ,dtPianificazioneVerticale + ,token + ,varRisorseAllocate + ,coperturaRisorseAllocate + ,lineaself + ) + SELECT + chiaveConsulenza + ,pian.chiaveClientePB + ,pian.dtAggiornamento as dtUltimoAggiornamento + ,Null as risorseFinanziarieBF + ,Null as risorseFinanziarieTerzi + ,Null as contoCorrente + ,null as rischioCredito + ,case when (rischioCreditoDecodificatoRisAll like '%n.a.%') or (rischioCreditoDecodificatoRisAll like '%n.c.%') + or (rischioCreditoDecodificatoRisAll like '%classe%') then null else rischioCreditoDecodificatoRisAll end as rischioMercato + --rischioCreditoDecodificatoRFA as rischioCredito + ,coperturaRFA as diversificazione + ,coperturaRisAll as copertura + ,null as isAttivoRC + ,partiteViaggianti + ,dtPrimaMigrazione + ,dtPianificazioneOrizzontale + ,dtPianificazioneVerticale + ,tok.value as Token + ,null as varRisorseAllocate + ,coperturaRisorseAllocate + ,null AS lineaself +FROM [CONSUNI].[consulenzaUnica].dbo.Pianificazione pian +inner join [CONSUNI].[consulenzaUnica].dbo.token tok +on pian.chiaveToken = tok.chiavetoken +inner join [CONSUNI].[ConsulenzaUnica].dbo.eventiCliente ev +on ev.chiaveclientePb = pian.chiaveclientepb +/* 6/9/2016 Condizione non più necessaria nella nuova CU: il significato di pianificazione è mutato */ +--where ev.flagPianificazione = 1 +/* POPOLO RISORSE FINANZIARIE BF */ +SELECT SUM(dett.ctv) as RisorseFinanziareBF,pian.chiaveclientePB +into #APPO + from CONSUNI.ConsulenzaUnica.dbo.Pianificazione pian + inner join CONSUNI.ConsulenzaUnica.dbo.area a + on a.chiaveconsulenza = pian.chiaveconsulenza + inner join CONSUNI.ConsulenzaUnica.dbo.Progetto prog + on a.chiaveArea = prog.chiavearea + inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + inner join CONSUNI.ConsulenzaUnica.dbo.PosizioniPortafoglio pospor + on pospor.chiaveprogetto = prog.chiaveprogetto + inner join CONSUNI.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + on dett.chiaveposizioneptf = pospor.chiaveposizioneptf + group by pian.chiaveclientePB + UPDATE C6StagingPeriodico.RP_Pianificazione + SET risorseFinanziarieBF = a.RisorseFinanziareBF + from #APPO a + inner join C6StagingPeriodico.RP_Pianificazione rpPian + on rpPian.chiaveclientePB = a.chiaveClientePB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Pianificazione' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Pianificazione' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_PosizioniPortafoglio.sql b/sql/storedProduzione/C6Staging_RP_ST_PosizioniPortafoglio.sql new file mode 100644 index 00000000..ae9d5d08 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_PosizioniPortafoglio.sql @@ -0,0 +1,47 @@ +CREATE procedure [C6Staging].[RP_ST_PosizioniPortafoglio] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PosizioniPortafoglio', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_PosizioniPortafoglio + insert into c6staging.RP_PosizioniPortafoglio + select + [chiavePosizionePtf] + ,[chiaveProgetto] + ,[dtInizioValidita] + ,'99991231' as[dtFineValidita] + ,[chiaveProdotto] + ,[conto] + ,[rubricato] + ,[codConf] + ,[numPolizza] + ,[custGar] + ,[codAbi] + ,[termId] + ,[anno] + ,[prog] + from [CONSUNI].[ConsulenzaUnica].dbo.PosizioniPortafoglio + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PosizioniPortafoglio' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_PosizioniPortafoglio' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_PosizioniProposta.sql b/sql/storedProduzione/C6Staging_RP_ST_PosizioniProposta.sql new file mode 100644 index 00000000..c5b19e25 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_PosizioniProposta.sql @@ -0,0 +1,42 @@ +CREATE procedure [C6Staging].[RP_ST_PosizioniProposta] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PosizioniProposta', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_PosizioniProposta + insert into c6staging.RP_PosizioniProposta + SELECT [chiavePosizionePro] + ,[chiaveProgetto] + ,[chiaveProdotto] + ,[conto] + ,[rubricato] + ,[codConf] + ,[numPolizza] + ,[custGar] + ,[codAbi] + ,[termId] + ,[anno] + ,[prog] from [CONSUNI].[ConsulenzaUnica].dbo.PosizioniProposta + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PosizioniProposta' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_PosizioniProposta' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_ProgettiPiramideModello.sql b/sql/storedProduzione/C6Staging_RP_ST_ProgettiPiramideModello.sql new file mode 100644 index 00000000..9aeb11d4 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_ProgettiPiramideModello.sql @@ -0,0 +1,82 @@ +CREATE procedure [C6Staging].[RP_ST_ProgettiPiramideModello] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ProgettiPiramideModello', + GETDATE(), + 'Elaborazione giornaliera' + ) + --INSERT INTO C6MART.TEST_QUALITY + --SELECT DISTINCT + -- d.rete, + -- case when(isnull(ltrim(rtrim(codman)),'') <> '') then 'FF@'+codman + -- when (isnull(codfis,'') <> '') then codfis + -- else c.piva + -- end as Cod_fiscale, + -- 'ProgettiPiramideModello AREE DUPLICATE' AS MOTIVO + --FROM [CONSUNI].[consulenzaUnica].dbo.Contratto a + --JOIN [CONSUNI].[consulenzaUnica].dbo.ClientePB b + -- ON b.chiaveClientePB = a.chiaveClientePB + -- AND a.status in ('SEI','AVANZATOBASE','REVOCASEI') + --JOIN [CONSUNI].[consulenzaUnica].dbo.Cliente c + -- ON b.chiaveCliente = c.chiaveCliente + --JOIN [CONSUNI].[consulenzaUnica].dbo.PromotoreBancario d + -- ON b.chiavePB = d.chiavePB + --WHERE + -- A.chiaveclientepb in ( + -- select distinct chiaveclientepb + -- FROM + -- ( + -- SELECT chiaveclientepb,area,tipoprogetto,COUNT(*) as c FROM + -- [CONSUNI].[consulenzaUnica].dbo.ProgettiPiramideModello + -- where tipoprogetto =0 and area <> 'na' and isnull(dtFineValidita,'99991231')>GETDATE() + -- group by chiaveclientepb,area,tipoprogetto + -- having COUNT(*)<>1 + -- ) t + --) + --drop table c6staging.RP_ProgettiPiramideModello + truncate table c6staging.RP_ProgettiPiramideModello + insert into c6staging.RP_ProgettiPiramideModello + select + prog.chiaveProgettoMod + ,pian.chiaveClientePB + ,am.area + ,percentualeProgetto + ,null as tipoProgetto + ,nomeProgetto + ,isnull(orizzontetemporale,0) durata + ,[note] + ,'99991231' as dtFineValidita + ,null as [dtCreazione] + from [CONSUNI].[consulenzaUnica].dbo.ProgettiPiramideModello pirmod + inner join [CONSUNI].[consulenzaUnica].dbo.Progetto prog + on prog.chiaveprogettoMod = pirmod.chiaveProgettoMod + left join [CONSUNI].[consulenzaUnica].dbo.portafogliomodello pormod --modifica inserita il 24/04 per orizzontetemporale non congruente con la PUC online + on prog.chiaveptfmod=pormod.chiaveptfmod + inner join [CONSUNI].[consulenzaUnica].dbo.AreaModello am + on am.chiaveAreaMod = pirmod.ChiaveAreaMod + inner join [CONSUNI].[consulenzaUnica].dbo.Area a + on a.chiaveArea = prog.chiaveArea + inner join [CONSUNI].[consulenzaUnica].dbo.Pianificazione pian + on pian.chiaveconsulenza = a.chiaveconsulenza + -- update c6staging.RP_ProgettiPiramideModello set nomeProgetto = null where tipoprogetto = 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ProgettiPiramideModello' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_ProgettiPiramideModello' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_Progetto.sql b/sql/storedProduzione/C6Staging_RP_ST_Progetto.sql new file mode 100644 index 00000000..8db538bd --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_Progetto.sql @@ -0,0 +1,97 @@ +CREATE procedure [C6Staging].[RP_ST_Progetto] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto', + GETDATE(), + 'Elaborazione giornaliera' + ) + --drop table c6staging.RP_Progetto + truncate table c6staging.RP_Progetto + insert into c6staging.RP_Progetto ( + chiaveProgetto + ,area + ,chiaveConsulenza + ,tipoProgetto + ,dtCreazione + ,dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,varProgetto + ,coperturaProgetto + ,profiloProgetto + ,orizzonteTemporale + ,ctvProgetto + ,chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,percProgetto + ,ctvPianificato + ,chiavePtfMod + ,dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset ) + select + prog.chiaveProgetto + ,a.area + ,chiaveConsulenza + ,null as tipoProgetto -- sulla Progetto dovrebbero essere già stati filtrati in questo modo + ,propirMod.dtInizioValidita as dtCreazione + ,prog.dtaggiornamento as dtUltimaModifica + ,capLiquidoEntrata + ,capLiquidoUscita + ,varPianificato + ,Null as varProgetto + ,coperturaProgetto + ,null as profiloProgetto + ,SUBSTRING (propirMod.durata,1,1) as orizzonteTemporale + ,null as ctvProgetto + ,propirMod.chiaveProgettoMod + ,flagAvviatoMonitoraggio + ,null as percProgetto + ,ctvPianificato + ,chiavePtfMod + ,'99991231' as dtFineValidita + ,flagCambioParametri + ,flagPianificazione + ,dtReset + from CONSUNI.ConsulenzaUnica.dbo.Progetto prog + inner join CONSUNI.ConsulenzaUnica.dbo.area a + on a.chiaveArea = prog.chiavearea + inner join CONSUNI.ConsulenzaUnica.dbo.ProgettiPiramideModello propirMod + on propirMod.chiaveprogettomod = prog.chiaveprogettomod + -- AGGREGO E VALORIZZO IL CTV DI PROGETTO + select prog.chiaveprogetto, SUM(ctv) as ctvProgetto + INTO #APPO + from CONSUNI.ConsulenzaUnica.dbo.DettaglioPosizionePortafoglio dett + inner join CONSUNI.ConsulenzaUnica.dbo.posizioniportafoglio pos + on dett.chiaveposizioneptf = pos.chiaveposizioneptf + inner join CONSUNI.ConsulenzaUnica.dbo.progetto prog + on prog.chiaveprogetto = pos.chiaveprogetto + group by prog.chiaveprogetto + UPDATE c6staging.RP_Progetto + SET ctvProgetto = ap.ctvProgetto + from #APPO ap + inner join c6staging.RP_Progetto pr + on ap.chiaveprogetto = pr.chiaveprogetto + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Progetto' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_Progetto_Robo.sql b/sql/storedProduzione/C6Staging_RP_ST_Progetto_Robo.sql new file mode 100644 index 00000000..e59a4c78 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_Progetto_Robo.sql @@ -0,0 +1,59 @@ +CREATE procedure [C6Staging].[RP_ST_Progetto_Robo] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Progetto_Robo', + GETDATE(), + 'Elaborazione giornaliera' + ) + --drop table c6staging.RP_Progetto + truncate table c6staging.RP_Progetto_Robo + insert into c6staging.RP_Progetto_Robo ( + [chiaveProgetto] + ,[flagUtilizzoLiquidita] + ,[Iban_codiceContrattoCC] + ,[ctvSogliaCC] + ,[minimoMantenimentoSuCC] + ,[listTagFondiDaUtilizzare] + ,[percentualeFogli] + ,[percentualeFondi] + ,[chiaveclientepb] + ,[dt_inserimento] + ,[dt_aggiornamento] + ,[FlagCsv] + ,[isProgettoRobo] ) + select + [chiaveProgetto] + ,[flagUtilizzoLiquidita] + ,[Iban_codiceContrattoCC] + ,[ctvSogliaCC] + ,[minimoMantenimentoSuCC] + ,[listTagFondiDaUtilizzare] + ,[percentualeFogli] + ,[percentualeFondi] + ,[chiaveclientepb] + ,[dt_inserimento] + ,[dt_aggiornamento] + ,[FlagCsv] + ,'S' + from CONSUNI.ConsulenzaUnica.dbo.[Robo_ProgettoRobo] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Progetto_Robo' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Progetto_Robo' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_PromotoreBancario.sql b/sql/storedProduzione/C6Staging_RP_ST_PromotoreBancario.sql new file mode 100644 index 00000000..a2c1d56a --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_PromotoreBancario.sql @@ -0,0 +1,69 @@ +CREATE procedure [C6Staging].[RP_ST_PromotoreBancario] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PromotoreBancario', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_PromotoreBancario + insert into c6staging.RP_PromotoreBancario ( + [chiavePB] + ,[codage] + ,[nome] + ,[cognome] + ,[status] + ,[livello] + ,[rete] + ,[indirizzo] + ,[numCivico] + ,[citta] + ,[prov] + ,[cap] + ,[nazione] + ,[ptel] + ,[tel] + ,[tipologia] + ,[grado] + ,[codManager] +) + select + [chiavePB] + ,[codage] + ,[nome] + ,[cognome] + ,[status] + ,[livello] + ,[rete] + ,[indirizzo] + ,[numCivico] + ,[citta] + ,[prov] + ,[cap] + ,[nazione] + ,[ptel] + ,[tel] + ,[tipologia] + ,[grado] + ,[codManager] + from [CONSUNI].ConsulenzaUnica.dbo.PromotoreBancario + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PromotoreBancario' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_PromotoreBancario' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_Proposta.sql b/sql/storedProduzione/C6Staging_RP_ST_Proposta.sql new file mode 100644 index 00000000..a7075eb7 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_Proposta.sql @@ -0,0 +1,67 @@ +CREATE procedure [C6Staging].[RP_ST_Proposta] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Proposta', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_Proposta + INSERT INTO c6staging.RP_Proposta + SELECT + chiaveProposta + ,chiaveConsulenza + ,[status] + ,chiaveClientePB + ,nomeProposta + ,dtProposta + ,dtValidazione + ,dtUltimoAgg + ,dtScadenza + ,risorseFinanziarieBF + ,risorseFinanziarieBT + ,contoCorrente + ,rischioCredito + ,rischioMercato + ,adeguatezza + ,discesaRegime + ,diversificazione + ,copertura + ,codValidazione + ,urlValidazione + ,urlSimulazione + ,urlReport + ,apporti + ,prelievi + ,flgScadenza + ,flgInadRischioCredito + ,flgInadRischioMercato + ,flgInadComplessita + ,flgInadFrequenza + ,flgInadConcentrazione + ,flgInadLiquidita + ,isAttivoRC + ,token + ,flagNuovoFlusso + ,null AS lineaself + FROM [CONSUNI].[ConsulenzaUnica].dbo.Proposta + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Proposta' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Proposta' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI.sql b/sql/storedProduzione/C6Staging_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI.sql new file mode 100644 index 00000000..22d1a71f --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_RDR_VALUTE_DB_DTGIORNALIERI.sql @@ -0,0 +1,47 @@ +CREATE procedure [C6Staging].[RP_ST_RDR_VALUTE_DB_DTGIORNALIERI] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table c6staging.RP_RDR_VALUTE_DB_DTGIORNALIERI + insert into c6staging.RP_RDR_VALUTE_DB_DTGIORNALIERI +-- 2015/03/17 FCianfa inserimento cast per problemi di lettura dati + SELECT DT1.ChiaveProdotto, DT1.Divisa, cast(DT1.Peso as numeric(18,7)) + FROM [consuni].[consulenzaUnicaFL].dbo.RDR_VALUTE_DB_DTGIORNALIERI DT1 + INNER JOIN + (SELECT chiaveProdotto, divisa, MAX(dtRiferimento) AS MAXDATE + FROM [consuni].[consulenzaUnicaFL].dbo.RDR_VALUTE_DB_DTGIORNALIERI + GROUP BY chiaveProdotto, divisa) DT2 + ON DT1.chiaveProdotto = DT2.chiaveProdotto + AND DT1.DIVISA= DT2.DIVISA + AND DT1.dtRiferimento = DT2.MAXDATE + ORDER BY DT1.CHIAVEPRODOTTO, dt1.divisa + /*pk 20160506 + insert into c6staging.RP_RDR_VALUTE_DB_DTGIORNALIERI +select 9276460, divisa, peso +from c6staging.RP_RDR_VALUTE_DB_DTGIORNALIERI +where ChiaveProdotto = 261831 +pk 20160506*/ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_RDR_VALUTE_DB_DTGIORNALIERI' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql b/sql/storedProduzione/C6Staging_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql new file mode 100644 index 00000000..c923d84c --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_REP_ASSET_1_E_2_ORDINATE.sql @@ -0,0 +1,34 @@ +CREATE procedure [C6Staging].[RP_ST_REP_ASSET_1_E_2_ORDINATE] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_REP_ASSET_1_E_2_ORDINATE', + GETDATE(), + 'Elaborazione giornaliera' + ) + --drop table c6staging.RP_REP_ASSET_1_E_2_ORDINATE + truncate table c6staging.RP_REP_ASSET_1_E_2_ORDINATE + insert into c6staging.RP_REP_ASSET_1_E_2_ORDINATE + select * + --into c6staging.RP_REP_ASSET_1_E_2_ORDINATE + from [CONSUNI].[ConsulenzaUnica].dbo.REP_ASSET_1_E_2_ORDINATE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_REP_ASSET_1_E_2_ORDINATE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_REP_ASSET_1_E_2_ORDINATE' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql b/sql/storedProduzione/C6Staging_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql new file mode 100644 index 00000000..2844bbac --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3.sql @@ -0,0 +1,31 @@ +CREATE procedure [C6Staging].[RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + insert into c6staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + select * from [CONSUNI].[ConsulenzaUnica].[dbo].[REP_S4_S5_S13_TRAD_UNTIL_LIV3] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_S4_S5_S13_TRAD_UNTIL_LIV3' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_TB_ESG_ANAG_STRUM.sql b/sql/storedProduzione/C6Staging_RP_ST_TB_ESG_ANAG_STRUM.sql new file mode 100644 index 00000000..fb2e91f8 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_TB_ESG_ANAG_STRUM.sql @@ -0,0 +1,153 @@ +CREATE procedure [C6Staging].[RP_ST_TB_ESG_ANAG_STRUM] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_TB_ESG_ANAG_STRUM', + GETDATE(), + 'Elaborazione giornaliera' + ) +truncate table C6Staging.RP_TB_ESG_ANAG_STRUM +INSERT INTO [C6Staging].[RP_TB_ESG_ANAG_STRUM] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[CatSFDR] + ,[ESGRating] + ,[TrendESGRating] + ,[TrendESGRating_Val] + ,[dtInserimento] + ,[dtAggiornamento] + ,[UserIns] + ,[CLIENT_ID] + ,[C_TIPO_STRUMENTO] + ,[LABEL_Green_Bond] + ,[LABEL_Social_Bond] + ,[LABEL_Sustainability_Bond] + ,[LABEL_Transition_Bond] + ,[LABEL_Sust_linked_bond] + ,[LABEL_EU_GREEN_BOND_STANDARD] + ,[SDG_06_NET_ALIGNMENT_SCORE] + ,[SDG_07_NET_ALIGNMENT_SCORE] + ,[SDG_12_NET_ALIGNMENT_SCORE] + ,[SDG_13_NET_ALIGNMENT_SCORE] + ,[SDG_14_NET_ALIGNMENT_SCORE] + ,[SDG_15_NET_ALIGNMENT_SCORE] + ,[SDG_01_NET_ALIGNMENT_SCORE] + ,[SDG_02_NET_ALIGNMENT_SCORE] + ,[SDG_03_NET_ALIGNMENT_SCORE] + ,[SDG_04_NET_ALIGNMENT_SCORE] + ,[SDG_05_NET_ALIGNMENT_SCORE] + ,[SDG_08_NET_ALIGNMENT_SCORE] + ,[SDG_09_NET_ALIGNMENT_SCORE] + ,[SDG_10_NET_ALIGNMENT_SCORE] + ,[SDG_11_NET_ALIGNMENT_SCORE] + ,[SDG_16_NET_ALIGNMENT_SCORE] + ,[SDG_17_NET_ALIGNMENT_SCORE] + ,[PERC_INVESTIMENTO_TAXONOMY] + ,[PERC_INVESTIMENTO_SFDR] + ,[PERC_INVEST_OTHER_E_NO_TAX] + ,[PERC_INVEST_SFDR_MIN_SUST_E] + ,[PERC_INVEST_SFDR_MIN_SUST_S] + ,[PAI_LAB_A_Emissioni_Gas_Serra] + ,[PAI_LAB_A_Biodiversita] + ,[PAI_LAB_A_Acqua] + ,[PAI_LAB_A_Rifiuti] + ,[PAI_LAB_A_Gov_Ambientale] + ,[PAI_LAB_A_Comb_Fossili] + ,[PAI_LAB_A_Eff_energetica] + ,[PAI_LAB_A_Settore_Immobiliare] + ,[PAI_LAB_S_Questioni_Soc_Dip] + ,[PAI_LAB_S_Gov_Sociali] + ,[U_INFO_ESG] + ,[AGGREG_PAI_LAB_A] + ,[AGGREG_PAI_LAB_S] + ,[AGGREG_BOND] + ,[REF_DATE]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,case when [ESG_E]='0' then 'N' else ESG_E end + ,[ESG_S] + ,[ESG_G] + ,[CatSFDR] + ,[ESGRating] + ,[TrendESGRating] + ,[TrendESGRating_Val] + ,[dtInserimento] + ,[dtAggiornamento] + ,[UserIns] + ,[CLIENT_ID] + ,[C_TIPO_STRUMENTO] + ,[LABEL_Green_Bond] + ,[LABEL_Social_Bond] + ,[LABEL_Sustainability_Bond] + ,[LABEL_Transition_Bond] + ,[LABEL_Sust_linked_bond] + ,[LABEL_EU_GREEN_BOND_STANDARD] + ,[SDG_06_NET_ALIGNMENT_SCORE] + ,[SDG_07_NET_ALIGNMENT_SCORE] + ,[SDG_12_NET_ALIGNMENT_SCORE] + ,[SDG_13_NET_ALIGNMENT_SCORE] + ,[SDG_14_NET_ALIGNMENT_SCORE] + ,[SDG_15_NET_ALIGNMENT_SCORE] + ,[SDG_01_NET_ALIGNMENT_SCORE] + ,[SDG_02_NET_ALIGNMENT_SCORE] + ,[SDG_03_NET_ALIGNMENT_SCORE] + ,[SDG_04_NET_ALIGNMENT_SCORE] + ,[SDG_05_NET_ALIGNMENT_SCORE] + ,[SDG_08_NET_ALIGNMENT_SCORE] + ,[SDG_09_NET_ALIGNMENT_SCORE] + ,[SDG_10_NET_ALIGNMENT_SCORE] + ,[SDG_11_NET_ALIGNMENT_SCORE] + ,[SDG_16_NET_ALIGNMENT_SCORE] + ,[SDG_17_NET_ALIGNMENT_SCORE] + ,[PERC_INVESTIMENTO_TAXONOMY] + ,[PERC_INVESTIMENTO_SFDR] + ,[PERC_INVEST_OTHER_E_NO_TAX] + ,[PERC_INVEST_SFDR_MIN_SUST_E] + ,[PERC_INVEST_SFDR_MIN_SUST_S] + ,[PAI_LAB_A_Emissioni_Gas_Serra] + ,[PAI_LAB_A_Biodiversita] + ,[PAI_LAB_A_Acqua] + ,[PAI_LAB_A_Rifiuti] + ,[PAI_LAB_A_Gov_Ambientale] + ,[PAI_LAB_A_Comb_Fossili] + ,[PAI_LAB_A_Eff_energetica] + ,[PAI_LAB_A_Settore_Immobiliare] + ,[PAI_LAB_S_Questioni_Soc_Dip] + ,[PAI_LAB_S_Gov_Sociali] + ,[U_INFO_ESG] + ,[AGGREG_PAI_LAB_A] + ,[AGGREG_PAI_LAB_S] + ,[AGGREG_BOND] + ,[REF_DATE] + from [CONSUNI].CatalogoProdotti.dbo.TB_ESG_ANAG_STRUM + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_TB_ESG_ANAG_STRUM' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_TB_ESG_ANAG_STRUM' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_TB_ESG_ANAG_STRUM_bkp_Pre_ESG4.sql b/sql/storedProduzione/C6Staging_RP_ST_TB_ESG_ANAG_STRUM_bkp_Pre_ESG4.sql new file mode 100644 index 00000000..ce0b8ac5 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_TB_ESG_ANAG_STRUM_bkp_Pre_ESG4.sql @@ -0,0 +1,151 @@ +CREATE procedure [C6Staging].[RP_ST_TB_ESG_ANAG_STRUM_bkp_Pre_ESG4] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_TB_ESG_ANAG_STRUM', + GETDATE(), + 'Elaborazione giornaliera' + ) +truncate table C6Staging.RP_TB_ESG_ANAG_STRUM +INSERT INTO [C6Staging].[RP_TB_ESG_ANAG_STRUM] + ([ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[CatSFDR] + ,[ESGRating] + ,[TrendESGRating] + ,[TrendESGRating_Val] + ,[dtInserimento] + ,[dtAggiornamento] + ,[UserIns] + ,[CLIENT_ID] + ,[C_TIPO_STRUMENTO] + ,[LABEL_Green_Bond] + ,[LABEL_Social_Bond] + ,[LABEL_Sustainability_Bond] + ,[LABEL_Transition_Bond] + ,[LABEL_Sust_linked_bond] + ,[LABEL_EU_GREEN_BOND_STANDARD] + ,[SDG_06_NET_ALIGNMENT_SCORE] + ,[SDG_07_NET_ALIGNMENT_SCORE] + ,[SDG_12_NET_ALIGNMENT_SCORE] + ,[SDG_13_NET_ALIGNMENT_SCORE] + ,[SDG_14_NET_ALIGNMENT_SCORE] + ,[SDG_15_NET_ALIGNMENT_SCORE] + ,[SDG_01_NET_ALIGNMENT_SCORE] + ,[SDG_02_NET_ALIGNMENT_SCORE] + ,[SDG_03_NET_ALIGNMENT_SCORE] + ,[SDG_04_NET_ALIGNMENT_SCORE] + ,[SDG_05_NET_ALIGNMENT_SCORE] + ,[SDG_08_NET_ALIGNMENT_SCORE] + ,[SDG_09_NET_ALIGNMENT_SCORE] + ,[SDG_10_NET_ALIGNMENT_SCORE] + ,[SDG_11_NET_ALIGNMENT_SCORE] + ,[SDG_16_NET_ALIGNMENT_SCORE] + ,[SDG_17_NET_ALIGNMENT_SCORE] + ,[PERC_INVESTIMENTO_TAXONOMY] + ,[PERC_INVESTIMENTO_SFDR] + ,[PERC_INVEST_OTHER_E_NO_TAX] + ,[PERC_INVEST_SFDR_MIN_SUST_E] + ,[PERC_INVEST_SFDR_MIN_SUST_S] + ,[PAI_LAB_A_Emissioni_Gas_Serra] + ,[PAI_LAB_A_Biodiversita] + ,[PAI_LAB_A_Acqua] + ,[PAI_LAB_A_Rifiuti] + ,[PAI_LAB_A_Gov_Ambientale] + ,[PAI_LAB_A_Comb_Fossili] + ,[PAI_LAB_A_Eff_energetica] + ,[PAI_LAB_S_Questioni_Soc_Dip] + ,[PAI_LAB_S_Gov_Sociali] + ,[U_INFO_ESG] + ,[AGGREG_PAI_LAB_A] + ,[AGGREG_PAI_LAB_S] + ,[AGGREG_BOND] + ,[REF_DATE]) + select [ChiaveProdotto] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,case when [ESG_E]='0' then 'N' else ESG_E end + ,[ESG_S] + ,[ESG_G] + ,[CatSFDR] + ,[ESGRating] + ,[TrendESGRating] + ,[TrendESGRating_Val] + ,[dtInserimento] + ,[dtAggiornamento] + ,[UserIns] + ,[CLIENT_ID] + ,[C_TIPO_STRUMENTO] + ,[LABEL_Green_Bond] + ,[LABEL_Social_Bond] + ,[LABEL_Sustainability_Bond] + ,[LABEL_Transition_Bond] + ,[LABEL_Sust_linked_bond] + ,[LABEL_EU_GREEN_BOND_STANDARD] + ,[SDG_06_NET_ALIGNMENT_SCORE] + ,[SDG_07_NET_ALIGNMENT_SCORE] + ,[SDG_12_NET_ALIGNMENT_SCORE] + ,[SDG_13_NET_ALIGNMENT_SCORE] + ,[SDG_14_NET_ALIGNMENT_SCORE] + ,[SDG_15_NET_ALIGNMENT_SCORE] + ,[SDG_01_NET_ALIGNMENT_SCORE] + ,[SDG_02_NET_ALIGNMENT_SCORE] + ,[SDG_03_NET_ALIGNMENT_SCORE] + ,[SDG_04_NET_ALIGNMENT_SCORE] + ,[SDG_05_NET_ALIGNMENT_SCORE] + ,[SDG_08_NET_ALIGNMENT_SCORE] + ,[SDG_09_NET_ALIGNMENT_SCORE] + ,[SDG_10_NET_ALIGNMENT_SCORE] + ,[SDG_11_NET_ALIGNMENT_SCORE] + ,[SDG_16_NET_ALIGNMENT_SCORE] + ,[SDG_17_NET_ALIGNMENT_SCORE] + ,[PERC_INVESTIMENTO_TAXONOMY] + ,[PERC_INVESTIMENTO_SFDR] + ,[PERC_INVEST_OTHER_E_NO_TAX] + ,[PERC_INVEST_SFDR_MIN_SUST_E] + ,[PERC_INVEST_SFDR_MIN_SUST_S] + ,[PAI_LAB_A_Emissioni_Gas_Serra] + ,[PAI_LAB_A_Biodiversita] + ,[PAI_LAB_A_Acqua] + ,[PAI_LAB_A_Rifiuti] + ,[PAI_LAB_A_Gov_Ambientale] + ,[PAI_LAB_A_Comb_Fossili] + ,[PAI_LAB_A_Eff_energetica] + ,[PAI_LAB_S_Questioni_Soc_Dip] + ,[PAI_LAB_S_Gov_Sociali] + ,[U_INFO_ESG] + ,[AGGREG_PAI_LAB_A] + ,[AGGREG_PAI_LAB_S] + ,[AGGREG_BOND] + ,[REF_DATE] + from [CONSUNI].CatalogoProdotti.dbo.TB_ESG_ANAG_STRUM + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_TB_ESG_ANAG_STRUM' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_TB_ESG_ANAG_STRUM' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_anagrafica_promotori.sql b/sql/storedProduzione/C6Staging_RP_ST_anagrafica_promotori.sql new file mode 100644 index 00000000..67e218b8 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_anagrafica_promotori.sql @@ -0,0 +1,32 @@ +CREATE procedure [C6Staging].[RP_ST_anagrafica_promotori] as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_anagrafica_promotori', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_anagrafica_promotori + insert into c6staging.RP_anagrafica_promotori + --select * into c6staging.RP_anagrafica_promotori from [CONSUNI].ConsulenzaUnica.dbo.anagrafica_promotori + select * from [CONSUNI].ConsulenzaUnica.dbo.anagrafica_promotori + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_anagrafica_promotori' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_anagrafica_promotori' + ) +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_ST_vNewPositionProposta.sql b/sql/storedProduzione/C6Staging_RP_ST_vNewPositionProposta.sql new file mode 100644 index 00000000..53a0b5f0 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_ST_vNewPositionProposta.sql @@ -0,0 +1,29 @@ +CREATE procedure [C6Staging].[RP_ST_vNewPositionProposta] +as +begin +truncate table [C6Staging].[RP_vNewPositionProposta] +insert into [C6Staging].[RP_vNewPositionProposta] +select + pro.chiaveClientePB, + ope.nomeProgettoProp, + ope.areaProp, + pospro.chiaveProgetto, + cat.codSottoprodotto, + cat.codInterno, + cat.codMaf, + cat.codIsin, + cat.tipoProdotto, + null as positionIdProposta +from + c6staging.RP_Proposta pro, + c6staging.RP_DettaglioOperazione ope, + c6staging.RP_PosizioniProposta pospro, + c6staging.RP_catalogoprodotti cat +where + pro.chiaveproposta=ope.chiaveproposta + and ope.chiaveposizionepro=pospro.chiaveposizionepro + and pospro.chiaveprodotto=cat.chiaveprodotto + and ope.chiaveposizioneptf=0--ISANEWPOSITION = 1 + and ope.posriallocata=0--RICONCILIATA = 0 + and pro.status in ('PE','ES')--STATO_PROPOSTA in ('InEsecuzione', 'ParzialmenteEseguita') +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_W6LogBatch.sql b/sql/storedProduzione/C6Staging_RP_W6LogBatch.sql new file mode 100644 index 00000000..c9ab0699 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_W6LogBatch.sql @@ -0,0 +1,36 @@ +CREATE PROCEDURE [C6Staging].[RP_W6LogBatch] + @BatchName NVARCHAR(100) +AS +BEGIN + DECLARE @BatchID INT; + -- Trova l'ultimo batch in esecuzione con lo stesso nome + SELECT TOP 1 @BatchID = BatchID + FROM C6Staging.W6LogBatch + WHERE BatchName = @BatchName AND EndDate IS NULL + ORDER BY BatchID DESC; + IF @BatchID IS NOT NULL + BEGIN + -- È la fine del batch + -- Aggiorna la data di fine, lo status e calcola il delta in minuti + UPDATE C6Staging.W6LogBatch + SET EndDate = GETDATE(), + Status = 'OK', + DeltaMinutes = DATEDIFF(MINUTE, StartDate, GETDATE()) + WHERE BatchID = @BatchID; + -- Output o messaggio di conferma per la fine del batch + SELECT 'Log entry updated for BatchID ' + CAST(@BatchID AS NVARCHAR(20)) + '.' + + ' Batch "' + @BatchName + '" ended.'; + END + ELSE + BEGIN + -- È l'inizio del batch + -- Inserisci i dati relativi al log nella tabella C6Staging.W6LogBatch + INSERT INTO C6Staging.W6LogBatch (BatchName, Status, StartDate) + VALUES (@BatchName, 'In esecuzione', GETDATE()); + -- Ottieni l'ID del batch appena inserito + SET @BatchID = SCOPE_IDENTITY(); + -- Output o messaggio di conferma per l'inizio del batch + SELECT 'Log entry added for BatchID ' + CAST(@BatchID AS NVARCHAR(20)) + '.' + + ' Batch "' + @BatchName + '" started.'; + END +END; \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_RP_clientiConMigrazione.sql b/sql/storedProduzione/C6Staging_RP_clientiConMigrazione.sql new file mode 100644 index 00000000..5843b667 --- /dev/null +++ b/sql/storedProduzione/C6Staging_RP_clientiConMigrazione.sql @@ -0,0 +1,20 @@ +CREATE procedure [C6Staging].[RP_clientiConMigrazione] +as +begin +truncate table [C6Staging].[RP_V_clienti_contrsei_con_migraz] +INSERT INTO [C6Staging].[RP_V_clienti_contrsei_con_migraz] --[C6StampeCentralizzate] + ([chiaveClientePb] + ,[rete] + ,[cod_fiscale] + ,[dtprimaMigrazione]) +select + a.chiaveClientePb, + b.rete, + b.cod_fiscale, + a.dtprimaMigrazione +from +c6staging.RP_MIGRAZ_PIANIFICAZIONE a +join +[C6Mart].[vContratti] b +on a.chiaveClientePb = b.chiaveClientePb +end \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_SRV_STORICIZZAZIONE.sql b/sql/storedProduzione/C6Staging_SRV_STORICIZZAZIONE.sql new file mode 100644 index 00000000..a45dbaa7 --- /dev/null +++ b/sql/storedProduzione/C6Staging_SRV_STORICIZZAZIONE.sql @@ -0,0 +1,532 @@ +-- [C6Staging].[SRV_STORICIZZAZIONE] 'ACBDENOTH' +CREATE procedure [C6Staging].[SRV_STORICIZZAZIONE] + @NomeTabella VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MART.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + SET @ID_ELAB = C6MART.GETIDELAB() +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENOTH XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENOTH') + BEGIN + DELETE FROM C6Storico.ST_ACBDENOTH WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ACBDENOTH + (OID_, VERSION_, BDPERCENTAGE, BDBETA, F_OID__PASSE_CDF1A, F_PFINANCIAL_815C0, ID_ELAB) + SELECT ACBDENOTH.OID_, ACBDENOTH.VERSION_, ACBDENOTH.BDPERCENTAGE, ACBDENOTH.BDBETA, ACBDENOTH.F_OID__PASSE_CDF1A, ACBDENOTH.F_PFINANCIAL_815C0, @ID_ELAB + FROM C6Staging.ACBDENOTH + LEFT OUTER JOIN C6Storico.ST_ACBDENOTH + ON ACBDENOTH.OID_ = ST_ACBDENOTH.OID_ + WHERE ST_ACBDENOTH.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENTRY XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENTRY') + BEGIN + DELETE FROM C6Storico.ST_ACBDENTRY WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ACBDENTRY + (OID_, VERSION_, F_PINDEXBREA_08079, F_PINSTRUMEN_FBCDE, BDPERCENTAGE, BDBETA, F_OID__PASSE_B8A1E, F_PFINANCIAL_65EBB, F_PFINANCIAL_C2FD3, ID_ELAB) + SELECT ACBDENTRY.OID_, ACBDENTRY.VERSION_, ACBDENTRY.F_PINDEXBREA_08079, ACBDENTRY.F_PINSTRUMEN_FBCDE, ACBDENTRY.BDPERCENTAGE, ACBDENTRY.BDBETA, ACBDENTRY.F_OID__PASSE_B8A1E, ACBDENTRY.F_PFINANCIAL_65EBB, ACBDENTRY.F_PFINANCIAL_C2FD3, @ID_ELAB + FROM C6Staging.ACBDENTRY + LEFT OUTER JOIN C6Storico.ST_ACBDENTRY + ON ACBDENTRY.OID_ = ST_ACBDENTRY.OID_ + WHERE ST_ACBDENTRY.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ADBKRELAT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ADBKRELAT') + BEGIN + DELETE FROM C6Storico.ST_ADBKRELAT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ADBKRELAT + (OID_, VERSION_, TYPE__TYPE_CAB4A, ADBKRELDESCR, ADBKRELNOTE, DEPENDANT, PHONEDECIMAL, F_OID__ADBKR_CBA9A, F_PADDRESSBO_24DA1, ID_ELAB) + SELECT ADBKRELAT.OID_, ADBKRELAT.VERSION_, ADBKRELAT.TYPE__TYPE_CAB4A, ADBKRELAT.ADBKRELDESCR, ADBKRELAT.ADBKRELNOTE, ADBKRELAT.DEPENDANT, ADBKRELAT.PHONEDECIMAL, ADBKRELAT.F_OID__ADBKR_CBA9A, ADBKRELAT.F_PADDRESSBO_24DA1, @ID_ELAB + FROM C6Staging.ADBKRELAT + LEFT OUTER JOIN C6Storico.ST_ADBKRELAT + ON ADBKRELAT.OID_ = ST_ADBKRELAT.OID_ + WHERE ST_ADBKRELAT.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ADS4WS_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ADS4WS_PROMOTORI') + BEGIN + DELETE FROM C6Storico.ST_ADS4WS_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ADS4WS_PROMOTORI + (Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, PrefissoTelefono, TelefonoAgenzia1, TelefonoAgenzia2, ID_ELAB) + SELECT Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, PrefissoTelefono, TelefonoAgenzia1, TelefonoAgenzia2, @ID_ELAB + FROM C6Staging.ADS4WS_PROMOTORI + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_ASSET_CLASS_PER_PROMET XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_ASSET_CLASS_PER_PROMET') + BEGIN + DELETE FROM C6Storico.ST_ALL_ASSET_CLASS_PER_PROMET WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_ASSET_CLASS_PER_PROMET + (CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ID_ELAB) + SELECT ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO, ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN, ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF, ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA, @ID_ELAB + FROM C6Staging.ALL_ASSET_CLASS_PER_PROMET + LEFT OUTER JOIN C6Storico.ST_ALL_ASSET_CLASS_PER_PROMET + ON ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO + AND ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN + AND ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF + AND ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA + WHERE ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CF_PB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CF_PB') + BEGIN + DELETE FROM C6Storico.ST_ALL_CF_PB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_CF_PB + (ID_CLI, NOME, COGNOME, CODICEFISCALE, TIPO, AGENTE, CHIAVE_PB, CHIAVE_CLIENTE, NOME_CLIENTE, COGNOME_CLIENTE, CODICE_FISCALE, TIPO_CLIENTE, RETE_PB, CODICE_PB, DATA_NASCITA, MARITALSTATUS, ID_ELAB) + SELECT ID_CLI, NOME, COGNOME, CODICEFISCALE, TIPO, AGENTE, CHIAVE_PB, CHIAVE_CLIENTE, NOME_CLIENTE, COGNOME_CLIENTE, CODICE_FISCALE, TIPO_CLIENTE, RETE_PB, CODICE_PB, DATA_NASCITA, MARITALSTATUS, @ID_ELAB + FROM C6Staging.ALL_CF_PB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CF_STATO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CF_STATO') + BEGIN + DELETE FROM C6Storico.ST_ALL_CF_STATO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_CF_STATO + (CF_CLIENTE, RETE, STATO_CONSULENZA, TOTALE_RIGHE, TOTALE_STATI, FLAG_UTILIZZO_STATO, ID_ELAB) + SELECT CF_CLIENTE, RETE, STATO_CONSULENZA, TOTALE_RIGHE, TOTALE_STATI, FLAG_UTILIZZO_STATO, @ID_ELAB + FROM C6Staging.ALL_CF_STATO + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CONSUL_ASUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CONSUL_ASUL') + BEGIN + DELETE FROM C6Storico.ST_ALL_CONSUL_ASUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_CONSUL_ASUL + (CODICE_FISCALE, RETE, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, AREASORTORDER, NOME_PROGETTO, CATALOGUENAME, TIPO_PROGETTO, CONTRATTO, OID_DI_CATITEMREF, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CODICEINTERNO, SOTTOPRODOTTO, CONTROVALORE_ASUL, ID_MONITORAGGIO, CATEGORIA, NUOVO_OID_CAT_PER_ASSET, CATEGORIA_2, COLO_JOIN, ID_ELAB) + SELECT CODICE_FISCALE, RETE, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, AREASORTORDER, NOME_PROGETTO, CATALOGUENAME, TIPO_PROGETTO, CONTRATTO, OID_DI_CATITEMREF, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CODICEINTERNO, SOTTOPRODOTTO, CONTROVALORE_ASUL, ID_MONITORAGGIO, CATEGORIA, NUOVO_OID_CAT_PER_ASSET, CATEGORIA_2, COLO_JOIN, @ID_ELAB + FROM C6Staging.ALL_CONSUL_ASUL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_PATR_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PATR_TERZI') + BEGIN + DELETE FROM C6Storico.ST_ALL_PATR_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_PATR_TERZI + (CHIAVE_PER_CLIENTE, CODICE_FISCALE, RETE_PB, CHIAVE_FNC, PRODOTTO_IN_CATALOGO, DATA_SOTTOSCRIZIONE, PREMIO_VERSAMENTO, C_VALUE_582FF, AMMONTARE_VERSAMENTO, CAPITALE_INVESTITO, DESCRIZIONE_ALBERATURA, DATA_INIZIO_INV, PATRIMONIO_TERZI, NOME_ISTITUTO, CHIAVE_THR, ASSETID, DESCRIZIONE_PRODOTTO, NOMEPRODOTTO, NOME_ISTITUTO_2, INTERMEDIARIO, DATA_SCADENZA, DATA2_UTILIZ_X_SOTTOSCRIZ, BALANCEDATETIME_DI_THR, CHIAVE_PR_31921, PATRIMONIO_IMMOBILIARE, LOCALITA, AFFITTOPERCEPITO, CHIAVE_F87B4, PATRIMONIO_ALTRO_PN_F87B4, DENOMINAZIONE_PN_F87B4, ISCOVER, TIPO_ISCOVER, CHIAVE_E6F18, PATRIMONIO_ALTRO_PB_E6F18, DENOMINAZIONE, NUMEROQUOTE, COMPANYTYPE, CHIAVE_COMP, COMPANYNAME, CHIAVE_BT_49D5B, TIPO_BT_49D5B, CHIAVE_BT_55768, CHIAVE_BT_B70F0, TIPO_BT_B70F0, CHIAVE_BT_6797A, TIPO_BT_6797A, TIPO_VERSAMENTO_BT_6797, CHIAVE_BT_97BEE, TIPO_BT_97BEE, TIPO_POLIZZA_BT_97BEE, CHIAVE_RDESC, TIPO_RDESCR, DESCRIZIONE_RDESCR, TIPOLOGIA_RDESCR, ID_ELAB) + SELECT CHIAVE_PER_CLIENTE, CODICE_FISCALE, RETE_PB, CHIAVE_FNC, PRODOTTO_IN_CATALOGO, DATA_SOTTOSCRIZIONE, PREMIO_VERSAMENTO, C_VALUE_582FF, AMMONTARE_VERSAMENTO, CAPITALE_INVESTITO, DESCRIZIONE_ALBERATURA, DATA_INIZIO_INV, PATRIMONIO_TERZI, NOME_ISTITUTO, CHIAVE_THR, ASSETID, DESCRIZIONE_PRODOTTO, NOMEPRODOTTO, NOME_ISTITUTO_2, INTERMEDIARIO, DATA_SCADENZA, DATA2_UTILIZ_X_SOTTOSCRIZ, BALANCEDATETIME_DI_THR, CHIAVE_PR_31921, PATRIMONIO_IMMOBILIARE, LOCALITA, AFFITTOPERCEPITO, CHIAVE_F87B4, PATRIMONIO_ALTRO_PN_F87B4, DENOMINAZIONE_PN_F87B4, ISCOVER, TIPO_ISCOVER, CHIAVE_E6F18, PATRIMONIO_ALTRO_PB_E6F18, DENOMINAZIONE, NUMEROQUOTE, COMPANYTYPE, CHIAVE_COMP, COMPANYNAME, CHIAVE_BT_49D5B, TIPO_BT_49D5B, CHIAVE_BT_55768, CHIAVE_BT_B70F0, TIPO_BT_B70F0, CHIAVE_BT_6797A, TIPO_BT_6797A, TIPO_VERSAMENTO_BT_6797, CHIAVE_BT_97BEE, TIPO_BT_97BEE, TIPO_POLIZZA_BT_97BEE, CHIAVE_RDESC, TIPO_RDESCR, DESCRIZIONE_RDESCR, TIPOLOGIA_RDESCR, @ID_ELAB + FROM C6Staging.ALL_PATR_TERZI + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_PATRBF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PATRBF') + BEGIN + DELETE FROM C6Storico.ST_ALL_PATRBF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_PATRBF + (AGENTE, CODICEFISCALE, PATRIMONIO_BF_CON_CC, PATRIMONIOBF_SENZA_CC, PATRIMONIOBF_SOLO_CC, ID_ELAB) + SELECT AGENTE, CODICEFISCALE, PATRIMONIO_BF_CON_CC, PATRIMONIOBF_SENZA_CC, PATRIMONIOBF_SOLO_CC, @ID_ELAB + FROM C6Staging.ALL_PATRBF + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_POS_CONS_CAT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_POS_CONS_CAT') + BEGIN + DELETE FROM C6Storico.ST_ALL_POS_CONS_CAT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_POS_CONS_CAT + (CODICE_FISCALE, RETE, STATO_CONSULENZA, DATA_STATO_CONSULENZA, PK_ALTERNATIVA_CONS, DATA_MIGRAZIONE_CONS, PK_AREA, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, C_PERCENTAGE_86095, PK_PRC_, TIPO_PROGETTO, C_CTVNEEDARE_EA4FB, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, PERCENTUALE_MODELLO, ID_MONITORAGGIO_, NOME_PROGETTO, C_PERCENTUAL_12346, DATA_ORDINAMENTO_INV, CONTRATTO, CONTROVALORE_PER_INV, C_INVESTIMEN_60625, OID_DI_CATITEMREF, C_OUTCTV_B4FB8, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CONTO, RUBRICATO, CUSTGAR, NUMPOL, TERMID, ANNO, PROG, NOME_PRODOTTO, NEED_AREA_ABBREVIATA_DI_POS, NEED_AREA_ESTESA_DI_POS, CHIAVE_CATITEMREF, CATALOGUENAME, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, COD_ADEGUATEZZA, ALBERATURA, TIPOPRODOTTO, ISNEGOTIABLE, MAINASSETCLASS, AREASORTORDER, ORIGINE_FILE_CATALOGO, FLAG_PRESENZA_MAPPATURA, RAGGRUPPAMEN_NOME_PROGET, ID_ELAB) + SELECT CODICE_FISCALE, RETE, STATO_CONSULENZA, DATA_STATO_CONSULENZA, PK_ALTERNATIVA_CONS, DATA_MIGRAZIONE_CONS, PK_AREA, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, C_PERCENTAGE_86095, PK_PRC_, TIPO_PROGETTO, C_CTVNEEDARE_EA4FB, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, PERCENTUALE_MODELLO, ID_MONITORAGGIO_, NOME_PROGETTO, C_PERCENTUAL_12346, DATA_ORDINAMENTO_INV, CONTRATTO, CONTROVALORE_PER_INV, C_INVESTIMEN_60625, OID_DI_CATITEMREF, C_OUTCTV_B4FB8, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CONTO, RUBRICATO, CUSTGAR, NUMPOL, TERMID, ANNO, PROG, NOME_PRODOTTO, NEED_AREA_ABBREVIATA_DI_POS, NEED_AREA_ESTESA_DI_POS, CHIAVE_CATITEMREF, CATALOGUENAME, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, COD_ADEGUATEZZA, ALBERATURA, TIPOPRODOTTO, ISNEGOTIABLE, MAINASSETCLASS, AREASORTORDER, ORIGINE_FILE_CATALOGO, FLAG_PRESENZA_MAPPATURA, RAGGRUPPAMEN_NOME_PROGET, @ID_ELAB + FROM C6Staging.ALL_POS_CONS_CAT + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_PROPOSTA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PROPOSTA') + BEGIN + DELETE FROM C6Storico.ST_ALL_PROPOSTA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_PROPOSTA + (AGENTE, RETE, NOME_CLIENTE, COGNOME_CLIENTE, CODICEFISCALE, CHIAVE_PROPOSTA, NOME_PROPOSTA, STATO_PROPOSTA, DATA_CREAZIONE_PROPOSTA, DATA_SCADENZA_PROPOSTA, NEED_BREVE, NEED_ESTESA, ORDINE_NEED, CONTROVALORE_TOT_PER_NEED, PERC_PER_NEED, NOME_PROGETTO, CONTROV_CONSULENZA, CONTROV_PROPOSTA, CONTROV_DA_DEFINIRE_LIQ, ISANEWPOSITION, STRINGONA_CLONEPOS, NOME_PRODOTTO_CLONEPOS, INVESTI, DISINVESTI, PTF_INIZ, CTVOPERAZIONE, CONTRACTCODE, POLIZZADECIMAL, CONTO, RUBRICATO, PR_COD_ISIN, PR_COD_MAF, PR_COD_INTERNO, PR_COD_SOTTOPRODOTTO, PR_COD_ADEGUATEZZA, NOME_PRODOTTO_CATALOGO, TIPOPRODOTTO, CHIAVE_CATITEMREF, CHIAVE_PER_LA_CONSULENZA, RICONCILIATA, FLAG_PROPOSTA_PER_PROGETTO, FLAG_PROPOSTA_PER_AREA, FLAG_SALVATAGGIO_MANUALE, RAGGRUPPAMENTO_PROGETTO, ID_ELAB) + SELECT AGENTE, RETE, NOME_CLIENTE, COGNOME_CLIENTE, CODICEFISCALE, CHIAVE_PROPOSTA, NOME_PROPOSTA, STATO_PROPOSTA, DATA_CREAZIONE_PROPOSTA, DATA_SCADENZA_PROPOSTA, NEED_BREVE, NEED_ESTESA, ORDINE_NEED, CONTROVALORE_TOT_PER_NEED, PERC_PER_NEED, NOME_PROGETTO, CONTROV_CONSULENZA, CONTROV_PROPOSTA, CONTROV_DA_DEFINIRE_LIQ, ISANEWPOSITION, STRINGONA_CLONEPOS, NOME_PRODOTTO_CLONEPOS, INVESTI, DISINVESTI, PTF_INIZ, CTVOPERAZIONE, CONTRACTCODE, POLIZZADECIMAL, CONTO, RUBRICATO, PR_COD_ISIN, PR_COD_MAF, PR_COD_INTERNO, PR_COD_SOTTOPRODOTTO, PR_COD_ADEGUATEZZA, NOME_PRODOTTO_CATALOGO, TIPOPRODOTTO, CHIAVE_CATITEMREF, CHIAVE_PER_LA_CONSULENZA, RICONCILIATA, FLAG_PROPOSTA_PER_PROGETTO, FLAG_PROPOSTA_PER_AREA, FLAG_SALVATAGGIO_MANUALE, RAGGRUPPAMENTO_PROGETTO, @ID_ELAB + FROM C6Staging.ALL_PROPOSTA + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS') + BEGIN + DELETE FROM C6Storico.ST_ASSETCLASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ASSETCLASS + (VERSION_, OID_, ASSETCLASSID, ASSETCLASSNAME, ASSETCLASSDESCR, ASSETCLASSLEV, ORDINE, ISRESIDUAL, F_PASSETCLAS_2FB94, F_OID__ASSET_B965C, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ID_ELAB) + SELECT ASSETCLASS.VERSION_, ASSETCLASS.OID_, ASSETCLASS.ASSETCLASSID, ASSETCLASS.ASSETCLASSNAME, ASSETCLASS.ASSETCLASSDESCR, ASSETCLASS.ASSETCLASSLEV, ASSETCLASS.ORDINE, ASSETCLASS.ISRESIDUAL, ASSETCLASS.F_PASSETCLAS_2FB94, ASSETCLASS.F_OID__ASSET_B965C, ASSETCLASS.CODICE_ISIN, ASSETCLASS.CODICE_MAF, ASSETCLASS.CODICE_ADEGUATEZZA, @ID_ELAB + FROM C6Staging.ASSETCLASS + LEFT OUTER JOIN C6Storico.ST_ASSETCLASS + ON ASSETCLASS.OID_ = ST_ASSETCLASS.OID_ + WHERE ST_ASSETCLASS.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX C_BO_453FB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'C_BO_453FB') + BEGIN + DELETE FROM C6Storico.ST_C_BO_453FB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_C_BO_453FB + (OID$, C_VALUE_7BD3C, C_DESCRIZION_93ABE, PK_PRC, ID_ELAB) + SELECT C_BO_453FB.OID$, C_BO_453FB.C_VALUE_7BD3C, C_BO_453FB.C_DESCRIZION_93ABE, C_BO_453FB.PK_PRC, @ID_ELAB + FROM C6Staging.C_BO_453FB + LEFT OUTER JOIN C6Storico.ST_C_BO_453FB + ON C_BO_453FB.OID$ = ST_C_BO_453FB.OID$ + WHERE ST_C_BO_453FB.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CATINAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CATINAREA') + BEGIN + DELETE FROM C6Storico.ST_CATINAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_CATINAREA + (OID$, VERSION$, C_ISMAINNEED_9C780, NEEDAREAVALUE, F_OID$_NEEDA_2C362, F_PCATALOGUE_5D024, ID_ELAB) + SELECT CATINAREA.OID$, CATINAREA.VERSION$, CATINAREA.C_ISMAINNEED_9C780, CATINAREA.NEEDAREAVALUE, CATINAREA.F_OID$_NEEDA_2C362, CATINAREA.F_PCATALOGUE_5D024, @ID_ELAB + FROM C6Staging.CATINAREA + LEFT OUTER JOIN C6Storico.ST_CATINAREA + ON CATINAREA.OID$ = ST_CATINAREA.OID$ + WHERE ST_CATINAREA.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CATITEMREF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CATITEMREF') + BEGIN + DELETE FROM C6Storico.ST_CATITEMREF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_CATITEMREF + (OID$, VERSION$, PRODUCTCURRENCY, PRODUCTCOUNTRY, PRODUCTREGION, CATALOGUEID, COD_ISIN, COD_ADEGUATEZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TYPE$_BCATAL_FC317, CATEGORY, INSTITUTIONS, COUNTRY, PIAZZA, ULTIMOPRZCURR, ULTIMOPRZ, CAPITALERISPARMIO, LMINCAPCONTRCURR, LMINCAPCONTR, LSUCCAPCONTRCURR, LSUCCAPCONTR, LMINRISPCONTRCURR, LMINRISPCONTR, LSUCRISPCONTRCURR, LSUCRISPCONTR, LMINCOMMCURR, LMINCOMM, DELEGAGESTIONALE, TIPOLOGIAPERPICK, EXPIRATIONDATE, RISKPRICE, FISCALREGIMENT, QUOTATO, CLASSEDIPREZZO, BONDRATING, BONDDURATION, TEMPMIN, TEMPMAX, PRIPRODCOM, MAINASSETCLASS, MACROACOBPERC, MACROACALPERC, MACROACAZPERC, MACROACMNPERC, LINEEFINACC, TIPOVERS, TIPOPOLIZRAM1, DURATACONTR, GARDEMO, RISKPRESSCAD, LIVFLUTDUR, OPZRENDVIT, METAA, METAB, METAC, RATOBBLIG, ULTIMOPREZZOCURR, ULTIMOPREZZO, DATARIFPREZZO, CODICEADB, AGGIORNFEED, DISTRPROV, CODTIPOCONTR, ULTPRZSECCURR, ULTPRZSEC, DATAULTPRZSEC, CODBLOOMBERG, DENOMUNITLNK, TIPOPRODOTTO, GENERICDATA, GENERICCURCURR, GENERICCUR, GENERICSTRING1, GENERICSTRING2, CATALOGUENAME, EFFECTIVEFROM, EFFECTIVETO, PRODUCTSTATUS, ISVISIBLE, ISNEGOTIABLE, BRIEFDESCRIPTION, F_OID$_VAR_CDDF8, RISKPROFOFSUITCLS, OPINION, OPINIONDATE, F_OID$_CATAL_B3E14, F_OID$_PCATE_F3BF6, F_OID$_MAINA_76C35, F_OID$_INSTR_B5526, F_OID$_MAINS_5FCE5, F_OID$_MAINR_08A23, F_OID$_PRISK_AAC57, F_OID$_PRODU_F8FBB, F_OID$_MARKE_F3D2D, COLL_SKANDIA, CODASSETSAT, ID_ELAB) + SELECT CATITEMREF.OID$, CATITEMREF.VERSION$, CATITEMREF.PRODUCTCURRENCY, CATITEMREF.PRODUCTCOUNTRY, CATITEMREF.PRODUCTREGION, CATITEMREF.CATALOGUEID, CATITEMREF.COD_ISIN, CATITEMREF.COD_ADEGUATEZZA, CATITEMREF.COD_MAF, CATITEMREF.COD_INTERNO, CATITEMREF.COD_SOTTOPRODOTTO, CATITEMREF.TYPE$_BCATAL_FC317, CATITEMREF.CATEGORY, CATITEMREF.INSTITUTIONS, CATITEMREF.COUNTRY, CATITEMREF.PIAZZA, CATITEMREF.ULTIMOPRZCURR, CATITEMREF.ULTIMOPRZ, CATITEMREF.CAPITALERISPARMIO, CATITEMREF.LMINCAPCONTRCURR, CATITEMREF.LMINCAPCONTR, CATITEMREF.LSUCCAPCONTRCURR, CATITEMREF.LSUCCAPCONTR, CATITEMREF.LMINRISPCONTRCURR, CATITEMREF.LMINRISPCONTR, CATITEMREF.LSUCRISPCONTRCURR, CATITEMREF.LSUCRISPCONTR, CATITEMREF.LMINCOMMCURR, CATITEMREF.LMINCOMM, CATITEMREF.DELEGAGESTIONALE, CATITEMREF.TIPOLOGIAPERPICK, CATITEMREF.EXPIRATIONDATE, CATITEMREF.RISKPRICE, CATITEMREF.FISCALREGIMENT, CATITEMREF.QUOTATO, CATITEMREF.CLASSEDIPREZZO, CATITEMREF.BONDRATING, CATITEMREF.BONDDURATION, CATITEMREF.TEMPMIN, CATITEMREF.TEMPMAX, CATITEMREF.PRIPRODCOM, CATITEMREF.MAINASSETCLASS, CATITEMREF.MACROACOBPERC, CATITEMREF.MACROACALPERC, CATITEMREF.MACROACAZPERC, CATITEMREF.MACROACMNPERC, CATITEMREF.LINEEFINACC, CATITEMREF.TIPOVERS, CATITEMREF.TIPOPOLIZRAM1, CATITEMREF.DURATACONTR, CATITEMREF.GARDEMO, CATITEMREF.RISKPRESSCAD, CATITEMREF.LIVFLUTDUR, CATITEMREF.OPZRENDVIT, CATITEMREF.METAA, CATITEMREF.METAB, CATITEMREF.METAC, CATITEMREF.RATOBBLIG, CATITEMREF.ULTIMOPREZZOCURR, CATITEMREF.ULTIMOPREZZO, CATITEMREF.DATARIFPREZZO, CATITEMREF.CODICEADB, CATITEMREF.AGGIORNFEED, CATITEMREF.DISTRPROV, CATITEMREF.CODTIPOCONTR, CATITEMREF.ULTPRZSECCURR, CATITEMREF.ULTPRZSEC, CATITEMREF.DATAULTPRZSEC, CATITEMREF.CODBLOOMBERG, CATITEMREF.DENOMUNITLNK, CATITEMREF.TIPOPRODOTTO, CATITEMREF.GENERICDATA, CATITEMREF.GENERICCURCURR, CATITEMREF.GENERICCUR, CATITEMREF.GENERICSTRING1, CATITEMREF.GENERICSTRING2, CATITEMREF.CATALOGUENAME, CATITEMREF.EFFECTIVEFROM, CATITEMREF.EFFECTIVETO, CATITEMREF.PRODUCTSTATUS, CATITEMREF.ISVISIBLE, CATITEMREF.ISNEGOTIABLE, CATITEMREF.BRIEFDESCRIPTION, CATITEMREF.F_OID$_VAR_CDDF8, CATITEMREF.RISKPROFOFSUITCLS, CATITEMREF.OPINION, CATITEMREF.OPINIONDATE, CATITEMREF.F_OID$_CATAL_B3E14, CATITEMREF.F_OID$_PCATE_F3BF6, CATITEMREF.F_OID$_MAINA_76C35, CATITEMREF.F_OID$_INSTR_B5526, CATITEMREF.F_OID$_MAINS_5FCE5, CATITEMREF.F_OID$_MAINR_08A23, CATITEMREF.F_OID$_PRISK_AAC57, CATITEMREF.F_OID$_PRODU_F8FBB, CATITEMREF.F_OID$_MARKE_F3D2D, CATITEMREF.COLL_SKANDIA, CATITEMREF.CODASSETSAT, @ID_ELAB + FROM C6Staging.CATITEMREF + LEFT OUTER JOIN C6Storico.ST_CATITEMREF + ON CATITEMREF.OID$ = ST_CATITEMREF.OID$ + WHERE ST_CATITEMREF.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX COMPTYPE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'COMPTYPE') + BEGIN + DELETE FROM C6Storico.ST_COMPTYPE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_COMPTYPE + (OID_, TYPE_, ID_ELAB) + SELECT COMPTYPE.OID_, COMPTYPE.TYPE_, @ID_ELAB + FROM C6Staging.COMPTYPE + LEFT OUTER JOIN C6Storico.ST_COMPTYPE + ON COMPTYPE.OID_ = ST_COMPTYPE.OID_ + WHERE ST_COMPTYPE.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONO XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'CONO') + -- BEGIN + -- DELETE FROM C6Storico.ST_CONO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.ST_CONO + -- (OID_, VERSION_, C_DATA_FD2A6, C_QUANTILE5_BF710, C_QUANTILE95_0D6CE, F_PPROJECT_P_46507, C_QUANTILE50_C47E0, ID_ELAB) + -- SELECT CONO.OID_, CONO.VERSION_, CONO.C_DATA_FD2A6, CONO.C_QUANTILE5_BF710, CONO.C_QUANTILE95_0D6CE, CONO.F_PPROJECT_P_46507, CONO.C_QUANTILE50_C47E0, @ID_ELAB + -- FROM C6Staging.CONO + -- LEFT OUTER JOIN C6Storico.ST_CONO + -- ON CONO.OID_ = ST_CONO.OID_ + -- WHERE ST_CONO.OID_ IS NULL + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX CONSAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONSAREA') + BEGIN + DELETE FROM C6Storico.ST_CONSAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_CONSAREA + (OID$, VERSION$, F_PCONSULENZ_7FBE3, C_CONSULENZA_A58F3, C_CONSULENZA_E94E3, C_NEEDAREA_V_46360, C_NEEDAREA_D_911D8, C_CTVNEEDARE_EA4FB, C_PERCENTAGE_86095, C_OUTCTV_A27B5, C_PATRIMONIO_F4B8E, C_INVESTIMEN_AC24C, C_CONSULENZA_0C219, C_CONSULENZA_1C9D3, ID_ELAB) + SELECT OID$, VERSION$, F_PCONSULENZ_7FBE3, C_CONSULENZA_A58F3, C_CONSULENZA_E94E3, C_NEEDAREA_V_46360, C_NEEDAREA_D_911D8, C_CTVNEEDARE_EA4FB, C_PERCENTAGE_86095, C_OUTCTV_A27B5, C_PATRIMONIO_F4B8E, C_INVESTIMEN_AC24C, C_CONSULENZA_0C219, C_CONSULENZA_1C9D3, @ID_ELAB + FROM C6Staging.CONSAREA + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONSUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONSUL') + BEGIN + DELETE FROM C6Storico.ST_CONSUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_CONSUL + (OID$, VERSION$, C_CONSULENZA_EBDBE, ADBKID, INSTID, TYPE$_TIPOCO_1EA7C, C_CONTROVALO_C57EE, C_PATRIMONIO_0BF30, C_ALTROPATRI_E90EF, C_ALTRO_5AD86, C_DATAINIZIO_35C15, C_RISORSENON_A04BD, C_INVESTIMEN_C4514, C_INVESTIMEN_36DE3, C_IDQUESTION_5549B, C_DATAQUESTI_5069A, C_VARCONSOB_28C92, C_VALORIALLI_0CA23, C_DATAPIRAMI_661DA, C_DATACONSVE_D3DE3, C_DATACONSOR_EA88E, C_PROFILOCON_81F5D, C_DATAMIGRAZ_BF705, C_SALVADANAI_B156A, C_CONSULENZA_2C1E1, C_DATACONSVE_66B66, C_DATACAMBIO_79509, ID_ELAB) + SELECT OID$, VERSION$, C_CONSULENZA_EBDBE, ADBKID, INSTID, TYPE$_TIPOCO_1EA7C, C_CONTROVALO_C57EE, C_PATRIMONIO_0BF30, C_ALTROPATRI_E90EF, C_ALTRO_5AD86, C_DATAINIZIO_35C15, C_RISORSENON_A04BD, C_INVESTIMEN_C4514, C_INVESTIMEN_36DE3, C_IDQUESTION_5549B, C_DATAQUESTI_5069A, C_VARCONSOB_28C92, C_VALORIALLI_0CA23, C_DATAPIRAMI_661DA, C_DATACONSVE_D3DE3, C_DATACONSOR_EA88E, C_PROFILOCON_81F5D, C_DATAMIGRAZ_BF705, C_SALVADANAI_B156A, C_CONSULENZA_2C1E1, C_DATACONSVE_66B66, C_DATACAMBIO_79509, @ID_ELAB + FROM C6Staging.CONSUL + END + --XXXXXXXXXXXXXXXXXXXXXXXX INDREND XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'INDREND') + BEGIN + DELETE FROM C6Storico.ST_INDREND WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_INDREND + (OID_, VERSION_, C_VAR_A94EA, C_TEMPOINVES_CE300, C_COPERTURA_94818, C_PERDITAMAX_F5B51, ID_ELAB) + SELECT INDREND.OID_, INDREND.VERSION_, INDREND.C_VAR_A94EA, INDREND.C_TEMPOINVES_CE300, INDREND.C_COPERTURA_94818, INDREND.C_PERDITAMAX_F5B51, @ID_ELAB + FROM C6Staging.INDREND + LEFT OUTER JOIN C6Storico.ST_INDREND + ON INDREND.OID_ = ST_INDREND.OID_ + WHERE ST_INDREND.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX INSTRBDS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'INSTRBDS') + BEGIN + DELETE FROM C6Storico.ST_INSTRBDS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_INSTRBDS + (OID_, VERSION_, BDISIN, BDMAF, F_OID__PCATA_5DDA6, PROVENIENZA, ID_ELAB) + SELECT INSTRBDS.OID_, INSTRBDS.VERSION_, INSTRBDS.BDISIN, INSTRBDS.BDMAF, INSTRBDS.F_OID__PCATA_5DDA6, INSTRBDS.PROVENIENZA, @ID_ELAB + FROM C6Staging.INSTRBDS + LEFT OUTER JOIN C6Storico.ST_INSTRBDS + ON INSTRBDS.OID_ = ST_INSTRBDS.OID_ + WHERE ST_INSTRBDS.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX MACROASSETCLASS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MACROASSETCLASS') + BEGIN + DELETE FROM C6Storico.ST_MACROASSETCLASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_MACROASSETCLASS + (ASSETCLASSID, ASSETCLASSNAME, ORDINE, ID_ELAB) + SELECT MACROASSETCLASS.ASSETCLASSID, MACROASSETCLASS.ASSETCLASSNAME, MACROASSETCLASS.ORDINE, @ID_ELAB + FROM C6Staging.MACROASSETCLASS + LEFT OUTER JOIN C6Storico.ST_MACROASSETCLASS + ON MACROASSETCLASS.ASSETCLASSID = ST_MACROASSETCLASS.ASSETCLASSID + WHERE ST_MACROASSETCLASS.ASSETCLASSID IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX NEEDAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'NEEDAREA') + BEGIN + DELETE FROM C6Storico.ST_NEEDAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_NEEDAREA + (OID_, VERSION_, AREAID, AREANAME, EFFECTIVEFROM, EFFECTIVETO, BRIEFDESCRIPTION, F_PNEEDAREA__742D7, AREASORTORDER, ID_ELAB) + SELECT NEEDAREA.OID_, NEEDAREA.VERSION_, NEEDAREA.AREAID, NEEDAREA.AREANAME, NEEDAREA.EFFECTIVEFROM, NEEDAREA.EFFECTIVETO, NEEDAREA.BRIEFDESCRIPTION, NEEDAREA.F_PNEEDAREA__742D7, NEEDAREA.AREASORTORDER, @ID_ELAB + FROM C6Staging.NEEDAREA + LEFT OUTER JOIN C6Storico.ST_NEEDAREA + ON NEEDAREA.OID_ = ST_NEEDAREA.OID_ + WHERE ST_NEEDAREA.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX OTHINTRST XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'OTHINTRST') + BEGIN + DELETE FROM C6Storico.ST_OTHINTRST WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_OTHINTRST + (OID_, VERSION_, INTERESTDESC, INTERESTCUR, INTERESTAMT, F_PQUANTIFIC_76FF6, ID_ELAB) + SELECT OTHINTRST.OID_, OTHINTRST.VERSION_, OTHINTRST.INTERESTDESC, OTHINTRST.INTERESTCUR, OTHINTRST.INTERESTAMT, OTHINTRST.F_PQUANTIFIC_76FF6, @ID_ELAB + FROM C6Staging.OTHINTRST + LEFT OUTER JOIN C6Storico.ST_OTHINTRST + ON OTHINTRST.OID_ = ST_OTHINTRST.OID_ + WHERE ST_OTHINTRST.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PORTMOD XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PORTMOD') + BEGIN + DELETE FROM C6Storico.ST_PORTMOD WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_PORTMOD + (OID_, VERSION_, F_PPROJECT_P_EE748, C_ASSET_CD02D, C_PERCENTUAL_143B7, ID_ELAB) + SELECT PORTMOD.OID_, PORTMOD.VERSION_, PORTMOD.F_PPROJECT_P_EE748, PORTMOD.C_ASSET_CD02D, PORTMOD.C_PERCENTUAL_143B7, @ID_ELAB + FROM C6Staging.PORTMOD + LEFT OUTER JOIN C6Storico.ST_PORTMOD + ON PORTMOD.OID_ = ST_PORTMOD.OID_ + WHERE ST_PORTMOD.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX POSITION XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'POSITION') + BEGIN + DELETE FROM C6Storico.ST_POSITION WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_POSITION + (OID_, VERSION_, F_PCONSULENZ_56F23, POSITIONID, CONSULENZAID, TYPE__CATALO_35E2A, POSITIONNAME, CONTROVALORE, C_OUTCTV_B4FB8, C_NEEDAREASE_3D485, C_NEEDAREASE_30873, CATALOGUEITEMID, F_OID__POSIT_00526, F_PPROJECT_P_B5629, CTVINIZIALE, ID_ELAB) + SELECT OID_, VERSION_, F_PCONSULENZ_56F23, POSITIONID, CONSULENZAID, TYPE__CATALO_35E2A, POSITIONNAME, CONTROVALORE, C_OUTCTV_B4FB8, C_NEEDAREASE_3D485, C_NEEDAREASE_30873, CATALOGUEITEMID, F_OID__POSIT_00526, F_PPROJECT_P_B5629, CTVINIZIALE, @ID_ELAB + FROM C6Staging.POSITION + END + --XXXXXXXXXXXXXXXXXXXXXXXX PRCONSUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PRCONSUL') + BEGIN + DELETE FROM C6Storico.ST_PRCONSUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_PRCONSUL + (OID$, VERSION$, F_PCONSULENZ_B69E4, C_PROJECTID_9894C, C_CONSULENZA_CB331, C_CONSULENZA_A7FC6, NEEDAREAID, TYPE$_PROJEC_14674, C_PROJECTNAM_11D1A, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_CREATIONDA_732BD, C_LASTMODIFI_3BF4A, C_INVESTIMEN_60625, F_OID$_FREQU_A5FAB, C_IMPORTOPER_7A987, F_OID$_RISKP_9CF4A, F_OID$_ORIZZ_4A868, C_PERDITAAVV_D414B, C_PERDITAMAX_55078, C_GUADAGNOAV_2BD07, C_GUADAGNOMA_D14C4, C_RISERVENON_CCD2D, C_RISERVEMON_5E189, C_RISERVEOBB_121FA, C_RISERVEAZI_175C0, C_CONSULENZA_ACEEE, C_PROJECTIDM_1AF31, C_PROJECTIDR_51E22, C_DATAULTIMO_FFA71, C_PERDITAMAX_BEABF, C_PERDITAMAX_AAB4C, C_GUADAGNOMA_43151, C_GUADAGNOMA_0F76F, F_OID$_PROJE_CD4BB, C_NOTE_B4B97, C_PERCENTUAL_69019, C_PERCENTUAL_12346, F_OID$_RISKS_A3B54, C_ORDERTIMES_80019, ID_ELAB) + SELECT OID$, VERSION$, F_PCONSULENZ_B69E4, C_PROJECTID_9894C, C_CONSULENZA_CB331, C_CONSULENZA_A7FC6, NEEDAREAID, TYPE$_PROJEC_14674, C_PROJECTNAM_11D1A, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_CREATIONDA_732BD, C_LASTMODIFI_3BF4A, C_INVESTIMEN_60625, F_OID$_FREQU_A5FAB, C_IMPORTOPER_7A987, F_OID$_RISKP_9CF4A, F_OID$_ORIZZ_4A868, C_PERDITAAVV_D414B, C_PERDITAMAX_55078, C_GUADAGNOAV_2BD07, C_GUADAGNOMA_D14C4, C_RISERVENON_CCD2D, C_RISERVEMON_5E189, C_RISERVEOBB_121FA, C_RISERVEAZI_175C0, C_CONSULENZA_ACEEE, C_PROJECTIDM_1AF31, C_PROJECTIDR_51E22, C_DATAULTIMO_FFA71, C_PERDITAMAX_BEABF, C_PERDITAMAX_AAB4C, C_GUADAGNOMA_43151, C_GUADAGNOMA_0F76F, F_OID$_PROJE_CD4BB, C_NOTE_B4B97, C_PERCENTUAL_69019, C_PERCENTUAL_12346, F_OID$_RISKS_A3B54, C_ORDERTIMES_80019, @ID_ELAB + FROM C6Staging.PRCONSUL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PROMETEIA_AGGR XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PROMETEIA_AGGR') + BEGIN + DELETE FROM C6Storico.ST_PROMETEIA_AGGR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_PROMETEIA_AGGR + (Rete, CodiceFiscale, Portafoglio, VaRAssolutoDiPortafoglio, VaRPercentuialeDiPortafoglio, CVaRAssolutoDiPortafoglio, CVaRPercentualeDiPortafoglio, RisksizeDiPortafoglio, McVar, McVarP, Beneficio, Copertura, Totale, ID_ELAB) + SELECT Rete, CodiceFiscale, Portafoglio, VaRAssolutoDiPortafoglio, VaRPercentuialeDiPortafoglio, CVaRAssolutoDiPortafoglio, CVaRPercentualeDiPortafoglio, RisksizeDiPortafoglio, McVar, McVarP, Beneficio, Copertura, Totale, @ID_ELAB + FROM C6Staging.PROMETEIA_AGGR + END +-- --XXXXXXXXXXXXXXXXXXXXXXXX PROMETEIA_DETT XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'PROMETEIA_DETT') +-- BEGIN +-- DELETE FROM C6Storico.ST_PROMETEIA_DETT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storico.ST_PROMETEIA_DETT +-- (Rete, CodiceFiscale, Portafoglio, CodiceProdotto, Piazza, CodVal, Classe, VarAssoluto, VaRPercentuale, CVarAssoluto, CVarPercentuale, RiskSize, McVar, McVarP, TipoCopertura, CtvNominale, CtvReale, ID_ELAB) +-- SELECT Rete, CodiceFiscale, Portafoglio, CodiceProdotto, Piazza, CodVal, Classe, VarAssoluto, VaRPercentuale, CVarAssoluto, CVarPercentuale, RiskSize, McVar, McVarP, TipoCopertura, CtvNominale, CtvReale, @ID_ELAB +-- FROM C6Staging.PROMETEIA_DETT +-- END + --XXXXXXXXXXXXXXXXXXXXXXXX QUANTIF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'QUANTIF') + BEGIN + DELETE FROM C6Storico.ST_QUANTIF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_QUANTIF + (OID_, VERSION_, UPDATETIMEDATETIME, EXPNEEDSCUR, EXPNEEDSAMT, GROSSINPRIMCUR, GROSSINPRIMAMT, GROSSINSECCUR, GROSSINSECAMT, RETIREMENTYEARS, STATEPENSIONAMT, PRIVATEPENSIONCUR, PRIVATEPENSIONAMT, LIFEINTERESTCUR, LIFEINTERESTAMT, C_FINANCIALI_8D659, C_FINANCIALI_91C75, INSINTERESTCUR, STATEPENSIONCUR, INSINTERESTAMT, INVINTERESTCUR, INVINTERESTAMT, REINTERESTCUR, REINTERESTAMT, PRIMARYGAPCUR, PRIMARYGAPAMT, SECONDARYGAPCUR, SECONDARYGAPAMT, TOCONSUMPTIONETM, TOINTERESTETM, LOCKPERCFRSTBRNC, PRFCONSUMPTIONS, PRFGROSSAMOUNT, PRFPERCFRSTBRNC, PRFADDRETIREMENT, PRFLIFEINTEREST, PRFINTERFRSTBRNC, PRFINTERUNIT, F_OID__ADDRE_81D21, ID_ELAB) + SELECT QUANTIF.OID_, QUANTIF.VERSION_, QUANTIF.UPDATETIMEDATETIME, QUANTIF.EXPNEEDSCUR, QUANTIF.EXPNEEDSAMT, QUANTIF.GROSSINPRIMCUR, QUANTIF.GROSSINPRIMAMT, QUANTIF.GROSSINSECCUR, QUANTIF.GROSSINSECAMT, QUANTIF.RETIREMENTYEARS, QUANTIF.STATEPENSIONAMT, QUANTIF.PRIVATEPENSIONCUR, QUANTIF.PRIVATEPENSIONAMT, QUANTIF.LIFEINTERESTCUR, QUANTIF.LIFEINTERESTAMT, QUANTIF.C_FINANCIALI_8D659, QUANTIF.C_FINANCIALI_91C75, QUANTIF.INSINTERESTCUR, QUANTIF.STATEPENSIONCUR, QUANTIF.INSINTERESTAMT, QUANTIF.INVINTERESTCUR, QUANTIF.INVINTERESTAMT, QUANTIF.REINTERESTCUR, QUANTIF.REINTERESTAMT, QUANTIF.PRIMARYGAPCUR, QUANTIF.PRIMARYGAPAMT, QUANTIF.SECONDARYGAPCUR, QUANTIF.SECONDARYGAPAMT, QUANTIF.TOCONSUMPTIONETM, QUANTIF.TOINTERESTETM, QUANTIF.LOCKPERCFRSTBRNC, QUANTIF.PRFCONSUMPTIONS, QUANTIF.PRFGROSSAMOUNT, QUANTIF.PRFPERCFRSTBRNC, QUANTIF.PRFADDRETIREMENT, QUANTIF.PRFLIFEINTEREST, QUANTIF.PRFINTERFRSTBRNC, QUANTIF.PRFINTERUNIT, QUANTIF.F_OID__ADDRE_81D21, @ID_ELAB + FROM C6Staging.QUANTIF + LEFT OUTER JOIN C6Storico.ST_QUANTIF + ON QUANTIF.OID_ = ST_QUANTIF.OID_ + WHERE ST_QUANTIF.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX S25_CLI_CLIENTE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'S25_CLI_CLIENTE') + BEGIN + DELETE FROM C6Storico.ST_S25_CLI_CLIENTE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_S25_CLI_CLIENTE + (NOME, COGNOME, CODICEFISCALE, DATANASCITA, ETA, PROFESSIONE, NUMEROCOMPONENTI, NUMEROFIGLI, STATO_CIVILE, INDIRIZZO, RETE, ID_ELAB) + SELECT NOME, COGNOME, CODICEFISCALE, DATANASCITA, ETA, PROFESSIONE, NUMEROCOMPONENTI, NUMEROFIGLI, STATO_CIVILE, INDIRIZZO, RETE, @ID_ELAB + FROM C6Staging.S25_CLI_CLIENTE + END + --XXXXXXXXXXXXXXXXXXXXXXXX S4_S5_S13_TRAD_UNTIL_LIV3 XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'S4_S5_S13_TRAD_UNTIL_LIV3') + BEGIN + DELETE FROM C6Storico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 + (DESCRIZIONE_ORIGINALE, ALBERO_GERARCHIA_1, ALBERO_GERARCHIA_2, ALBERO_GERARCHIA_3, ORDINAMENTO_GERARCHIA_2, ID_ELAB) + SELECT S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE, S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1, S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2, S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3, S4_S5_S13_TRAD_UNTIL_LIV3.ORDINAMENTO_GERARCHIA_2, @ID_ELAB + FROM C6Staging.S4_S5_S13_TRAD_UNTIL_LIV3 + LEFT OUTER JOIN C6Storico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 + ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ST_S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE + WHERE ST_S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_ASS_UNIT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_ASS_UNIT') + BEGIN + DELETE FROM C6Storico.ST_SPB_ASS_UNIT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_ASS_UNIT + (CODICECONTRATTO, CODICESOTTOPRODOTTO, CODICEINTERNO, CONTROVALORE, DATADIRIFERIMENTO, ISINFITTIZIO, CODICEISINSOTTOSTANTE, CODICEMAFSOTTOSTANTE, ID_ELAB) + SELECT CODICECONTRATTO, CODICESOTTOPRODOTTO, CODICEINTERNO, CONTROVALORE, DATADIRIFERIMENTO, ISINFITTIZIO, CODICEISINSOTTOSTANTE, CODICEMAFSOTTOSTANTE, @ID_ELAB + FROM C6Staging.SPB_ASS_UNIT + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_CLIENTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_CLIENTI') + BEGIN + DELETE FROM C6Storico.ST_SPB_CLIENTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_CLIENTI + (CODICERETE, CODICEAGENTE, CODICEFISCALE, NOME, COGNOME, DATADINASCITA, NAZIONEDINASCITA, COMUNEDINASCITA, SESSO, CITTADINANZA, TITOLODISTUDIOCODICE, TITOLODISTUDIODESCRIZIONE, TIPOCLIENTE, DATAATTIVAZIONECLIENTE, ID_ELAB) + SELECT CODICERETE, CODICEAGENTE, CODICEFISCALE, NOME, COGNOME, DATADINASCITA, NAZIONEDINASCITA, COMUNEDINASCITA, SESSO, CITTADINANZA, TITOLODISTUDIOCODICE, TITOLODISTUDIODESCRIZIONE, TIPOCLIENTE, DATAATTIVAZIONECLIENTE, @ID_ELAB + FROM C6Staging.SPB_CLIENTI + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_CONTR_SINTESI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_CONTR_SINTESI') + BEGIN + DELETE FROM C6Storico.ST_SPB_CONTR_SINTESI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_CONTR_SINTESI + (POSITIONID, RETE, CODAGENTE, CODICEFISCALE, PIVAFIDUCIARIA, CODICECONTRATTO, NUMEROPOLIZZA, CONTO, RUBRICATO, CUSTODIAGARANZIA, PCTTITOLOCOLLEGATO, TIPOPRODOTTO, CODICEINTERNO, CODICESOTTOPRODOTTO, CODICEMAF, PCTKEY, PCTDESCRIZIONTETITOLOCOLLEGATO, QUOTE, PREZZO, CTV, PARTVIA, PARTVIAAL, DATADIRIFERIMENTO, DATADISOTTOSCRIZIONE, DATAVALNAVAL, CODICESTATO, DATAINIZIORENDIMENTO, RENDIMENTODASOTTOSCRIZIONE, DATATRIMESTRERENDIMENTO, RENDIMENTODAINIZIOTRIMESTRE, DATAANNORENDIMENTO, RENDIMENTODAINIZIOANNO, VALORE, CVN, ID_ELAB) + SELECT POSITIONID, RETE, CODAGENTE, CODICEFISCALE, PIVAFIDUCIARIA, CODICECONTRATTO, NUMEROPOLIZZA, CONTO, RUBRICATO, CUSTODIAGARANZIA, PCTTITOLOCOLLEGATO, TIPOPRODOTTO, CODICEINTERNO, CODICESOTTOPRODOTTO, CODICEMAF, PCTKEY, PCTDESCRIZIONTETITOLOCOLLEGATO, QUOTE, PREZZO, CTV, PARTVIA, PARTVIAAL, DATADIRIFERIMENTO, DATADISOTTOSCRIZIONE, DATAVALNAVAL, CODICESTATO, DATAINIZIORENDIMENTO, RENDIMENTODASOTTOSCRIZIONE, DATATRIMESTRERENDIMENTO, RENDIMENTODAINIZIOTRIMESTRE, DATAANNORENDIMENTO, RENDIMENTODAINIZIOANNO, VALORE, CVN, @ID_ELAB + FROM C6Staging.SPB_CONTR_SINTESI + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_INDIRIZZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_INDIRIZZI') + BEGIN + DELETE FROM C6Storico.ST_SPB_INDIRIZZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_INDIRIZZI + (RETE, CODAGENTE, CODICEFISCALE, TIPOINDIRIZZO, INDIRIZZO, CAP, CITTA, PROVINCIA, NAZIONE, ID_ELAB) + SELECT RETE, CODAGENTE, CODICEFISCALE, TIPOINDIRIZZO, INDIRIZZO, CAP, CITTA, PROVINCIA, NAZIONE, @ID_ELAB + FROM C6Staging.SPB_INDIRIZZI + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_MIFID XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_MIFID') + BEGIN + DELETE FROM C6Storico.ST_SPB_MIFID WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_MIFID + (RETE, CODAGENTE, CODICEFISCALE, ACCETTACOMPILAZIONE, CODICEPROFILOASSEGNATO, CODICEPROFILOCALCOLATO, CODICEQUESTIONARIO, DATAFINEVALIDITA, DATAINIZIOVALIDITA, CODICEAGENTE, CODICEAGENTERESPONSABILE, CODICEAGENTEREALE, TIPOQUESTIONARIO, STATUS, ID_ELAB) + SELECT RETE, CODAGENTE, CODICEFISCALE, NULL, CODICEPROFILOASSEGNATO, NULL, CODICEQUESTIONARIO, DATAFINEVALIDITA, DATAINIZIOVALIDITA, CODAGENTE, NULL, NULL, TIPOQUESTIONARIO, STATUS, @ID_ELAB + FROM C6Staging.SPB_MIFID + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_NAC XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_NAC') + BEGIN + DELETE FROM C6Storico.ST_SPB_NAC WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_NAC + (COGNOMENOME, CODICEAGENTE, RETE, CODICERETE, CODICEMANAGER, LIVELLONELLAGERARCHIA, SUBORDINATI, ID_ELAB) + SELECT SPB_NAC.COGNOMENOME, SPB_NAC.CODICEAGENTE, SPB_NAC.RETE, SPB_NAC.CODICERETE, SPB_NAC.CODICEMANAGER, SPB_NAC.LIVELLONELLAGERARCHIA, SPB_NAC.SUBORDINATI, @ID_ELAB + FROM C6Staging.SPB_NAC + LEFT OUTER JOIN C6Storico.ST_SPB_NAC + ON SPB_NAC.CODICEAGENTE = ST_SPB_NAC.CODICEAGENTE + AND SPB_NAC.CODICERETE = ST_SPB_NAC.CODICERETE + AND SPB_NAC.LIVELLONELLAGERARCHIA = ST_SPB_NAC.LIVELLONELLAGERARCHIA + WHERE ST_SPB_NAC.CODICEAGENTE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_PARTITE_VIAGG XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_PARTITE_VIAGG') + BEGIN + DELETE FROM C6Storico.ST_SPB_PARTITE_VIAGG WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_PARTITE_VIAGG + (RETE, CODAGENTE, CODICEFISCALE, CODICECONFERIMENTO, DESCRPRODOTTO, IMPORTOVERSATO, DATAACQUISIZIONE, DATAINCASSO, DATAVALUTAFONDO, NOTA, ID_ELAB) + SELECT RETE, CODAGENTE, CODICEFISCALE, CODICECONFERIMENTO, DESCRPRODOTTO, IMPORTOVERSATO, DATAACQUISIZIONE, DATAINCASSO, DATAVALUTAFONDO, NOTA, @ID_ELAB + FROM C6Staging.SPB_PARTITE_VIAGG + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_PROF_RISCHIO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_PROF_RISCHIO') + BEGIN + DELETE FROM C6Storico.ST_SPB_PROF_RISCHIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_PROF_RISCHIO + (CODICEPROFILO, DESCRIZIONEPROFILO, DESCRIZIONEPROFILOESTESA, PERCENTUALEASSETAZIONARIO, PERCENTUALEASSETOBBLIGAZIONARIO, PERCENTUALEASSETMONETARIO, VOLATILITADA, VOLATILITAA, RENDIMENTOATTESO, VARTRIMESTRALE, ID_ELAB) + SELECT SPB_PROF_RISCHIO.CODICEPROFILO, SPB_PROF_RISCHIO.DESCRIZIONEPROFILO, SPB_PROF_RISCHIO.DESCRIZIONEPROFILOESTESA, SPB_PROF_RISCHIO.PERCENTUALEASSETAZIONARIO, SPB_PROF_RISCHIO.PERCENTUALEASSETOBBLIGAZIONARIO, SPB_PROF_RISCHIO.PERCENTUALEASSETMONETARIO, SPB_PROF_RISCHIO.VOLATILITADA, SPB_PROF_RISCHIO.VOLATILITAA, SPB_PROF_RISCHIO.RENDIMENTOATTESO, SPB_PROF_RISCHIO.VARTRIMESTRALE, @ID_ELAB + FROM C6Staging.SPB_PROF_RISCHIO + LEFT OUTER JOIN C6Storico.ST_SPB_PROF_RISCHIO + ON SPB_PROF_RISCHIO.CODICEPROFILO = ST_SPB_PROF_RISCHIO.CODICEPROFILO + WHERE ST_SPB_PROF_RISCHIO.CODICEPROFILO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX V_CLIENTI_CONTRSEI_CON_MIGRAZ XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'V_CLIENTI_CONTRSEI_CON_MIGRAZ') + BEGIN + DELETE FROM C6Storico.ST_V_CLIENTI_CONTRSEI_CON_MIGRAZ WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_V_CLIENTI_CONTRSEI_CON_MIGRAZ + (CODICE_FISCALE, RETE_PB, CODICE_CONTRATTO, STATO_CONTRATTO_SEI, DATA_SOTTOSCRIZIONE_C6, DATA_CHIUSURA_C6, FLAG_CLIENTE_MIGRATO, DATA_ULTIMA_MIGRAZIONE, PIVA, ID_ELAB) + SELECT V_CLIENTI_CONTRSEI_CON_MIGRAZ.CODICE_FISCALE, V_CLIENTI_CONTRSEI_CON_MIGRAZ.RETE_PB, V_CLIENTI_CONTRSEI_CON_MIGRAZ.CODICE_CONTRATTO, V_CLIENTI_CONTRSEI_CON_MIGRAZ.STATO_CONTRATTO_SEI, V_CLIENTI_CONTRSEI_CON_MIGRAZ.DATA_SOTTOSCRIZIONE_C6, V_CLIENTI_CONTRSEI_CON_MIGRAZ.DATA_CHIUSURA_C6, V_CLIENTI_CONTRSEI_CON_MIGRAZ.FLAG_CLIENTE_MIGRATO, V_CLIENTI_CONTRSEI_CON_MIGRAZ.DATA_ULTIMA_MIGRAZIONE, V_CLIENTI_CONTRSEI_CON_MIGRAZ.PIVA, @ID_ELAB + FROM C6Staging.V_CLIENTI_CONTRSEI_CON_MIGRAZ + LEFT OUTER JOIN C6Storico.ST_V_CLIENTI_CONTRSEI_CON_MIGRAZ + ON V_CLIENTI_CONTRSEI_CON_MIGRAZ.CODICE_CONTRATTO = ST_V_CLIENTI_CONTRSEI_CON_MIGRAZ.CODICE_CONTRATTO + WHERE ST_V_CLIENTI_CONTRSEI_CON_MIGRAZ.CODICE_CONTRATTO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX VARIAZIONE_CONTRSEI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'VARIAZIONE_CONTRSEI') + BEGIN + DELETE FROM C6Storico.ST_VARIAZIONE_CONTRSEI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_VARIAZIONE_CONTRSEI + (CODICE_CONTRATTO, CODICE_FISCALE, RETE_PB, PB, DATA_PERFEZIONAMENTO_BASE, DATA_SOTTOSCRIZIONE_BASE, DATA_CHIUSURA_BASE, INDIRIZZO, CAP, CITTA, PROVINCIA, NAZIONE, PRESSO, CPP, FLAG_STAMPA_REPORT, FLAG_EMISSIONE_FATTURA, EMAIL, FREQUENZA_DIAGNOSI, FREQUENZA_MONITORAGGIO, DATA_PERFEZIONAMENTO_C6, DATA_SOTTOSCRIZIONE_C6, DATA_CHIUSURA_C6, ORDINE_DI_ELABORAZIONE_RIGA, ULTIMO_PROGRESSIVO_INVIO, ULTIMA_DATA_INVIO, ULTIMA_DATA_ELABORAZIONE, ID_ELAB) + SELECT CODICE_CONTRATTO, CODICE_FISCALE, RETE_PB, PB, DATA_PERFEZIONAMENTO_BASE, DATA_SOTTOSCRIZIONE_BASE, DATA_CHIUSURA_BASE, INDIRIZZO, CAP, CITTA, PROVINCIA, NAZIONE, PRESSO, CPP, FLAG_STAMPA_REPORT, FLAG_EMISSIONE_FATTURA, EMAIL, FREQUENZA_DIAGNOSI, FREQUENZA_MONITORAGGIO, DATA_PERFEZIONAMENTO_C6, DATA_SOTTOSCRIZIONE_C6, DATA_CHIUSURA_C6, ORDINE_DI_ELABORAZIONE_RIGA, ULTIMO_PROGRESSIVO_INVIO, ULTIMA_DATA_INVIO, ULTIMA_DATA_ELABORAZIONE, @ID_ELAB + FROM C6Staging.VARIAZIONE_CONTRSEI + END + --XXXXXXXXXXXXXXXXXXXXXXXX WANAB XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'WANAB') + -- BEGIN + -- DELETE FROM C6Storico.ST_WANAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.ST_WANAB + -- (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTFINE, DTINI, CTVINI, DTRENDMAX, RENDMAX, DTRENDMIN, RENDMIN, DTCTV, CTV, RENDATT, DTCTVMAX, CTVMAX, DTCTVMIN, CTVMIN, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, ID_ELAB) + -- SELECT WANAB.RETE, WANAB.CODAREA, WANAB.CODPROG, WANAB.CODFIS, WANAB.DTRIF, WANAB.DTFINE, WANAB.DTINI, WANAB.CTVINI, WANAB.DTRENDMAX, WANAB.RENDMAX, WANAB.DTRENDMIN, WANAB.RENDMIN, WANAB.DTCTV, WANAB.CTV, WANAB.RENDATT, WANAB.DTCTVMAX, WANAB.CTVMAX, WANAB.DTCTVMIN, WANAB.CTVMIN, WANAB.CVN, WANAB.CVN_IA, WANAB.CVN_IT, WANAB.APP_INI, WANAB.TOT_APP, WANAB.TOT_LIQ, WANAB.TOT_CED, WANAB.TOT_DIV, WANAB.DCD, WANAB.DCVN, WANAB.SCARTO, WANAB.NTOT_APP, WANAB.NTOT_LIQ, @ID_ELAB + -- FROM C6Staging.WANAB + -- LEFT OUTER JOIN C6Storico.ST_WANAB + -- ON WANAB.RETE = ST_WANAB.RETE + -- AND WANAB.CODAREA = ST_WANAB.CODAREA + -- AND WANAB.CODPROG = ST_WANAB.CODPROG + -- AND WANAB.CODFIS = ST_WANAB.CODFIS + -- AND WANAB.DTRIF = ST_WANAB.DTRIF + -- WHERE ST_WANAB.RETE IS NULL + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX WRENAB XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'WRENAB') + -- BEGIN + -- DELETE FROM C6Storico.ST_WRENAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.ST_WRENAB + -- (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTVALORIZ, CTV, DTINIZ, RENDINIZ, DTTRIM, RENDTRIM, DTANNO, RENDANNO, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, ID_ELAB) + -- SELECT WRENAB.RETE, WRENAB.CODAREA, WRENAB.CODPROG, WRENAB.CODFIS, WRENAB.DTRIF, WRENAB.DTVALORIZ, WRENAB.CTV, WRENAB.DTINIZ, WRENAB.RENDINIZ, WRENAB.DTTRIM, WRENAB.RENDTRIM, WRENAB.DTANNO, WRENAB.RENDANNO, WRENAB.CVN, WRENAB.CVN_IA, WRENAB.CVN_IT, WRENAB.APP_INI, WRENAB.TOT_APP, WRENAB.TOT_LIQ, WRENAB.TOT_CED, WRENAB.TOT_DIV, WRENAB.DCD, WRENAB.DCVN, WRENAB.SCARTO, WRENAB.NTOT_APP, WRENAB.NTOT_LIQ, @ID_ELAB + -- FROM C6Staging.WRENAB + -- LEFT OUTER JOIN C6Storico.ST_WRENAB + -- ON WRENAB.RETE = ST_WRENAB.RETE + -- AND WRENAB.CODAREA = ST_WRENAB.CODAREA + -- AND WRENAB.CODPROG = ST_WRENAB.CODPROG + -- AND WRENAB.CODFIS = ST_WRENAB.CODFIS + -- AND WRENAB.DTRIF = ST_WRENAB.DTRIF + -- AND WRENAB.DTVALORIZ = ST_WRENAB.DTVALORIZ + -- WHERE ST_WRENAB.RETE IS NULL + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX WSCABP XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'WSCABP') + -- BEGIN + -- DELETE FROM C6Storico.ST_WSCABP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.ST_WSCABP + -- (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, CODCONF, SUBPROD, CODPROD, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, DTINGRESSO, ISTITUTO, TIPO_PRODOTT, CONTO_OP, STRUM_FIN, ID_MOVIM, TIPO_OP, RESTART, DT_ING_USC, ING_USC, COD_ERR, DESCR_ERR, DT_ELAB, DT_INS, PCT, PROVENIENZA, ID_ELAB) + -- SELECT WSCABP.RETE, WSCABP.CODAREA, WSCABP.CODPROG, WSCABP.CODFIS, WSCABP.DTRIF, WSCABP.TIPPROD, WSCABP.CODCONF, WSCABP.SUBPROD, WSCABP.CODPROD, WSCABP.CONTO, WSCABP.CUSTGAR, WSCABP.RUBR, WSCABP.CODABI, WSCABP.TERMID, WSCABP.ANNO, WSCABP.PROG, WSCABP.DTINGRESSO, WSCABP.ISTITUTO, WSCABP.TIPO_PRODOTT, WSCABP.CONTO_OP, WSCABP.STRUM_FIN, WSCABP.ID_MOVIM, WSCABP.TIPO_OP, WSCABP.RESTART, WSCABP.DT_ING_USC, WSCABP.ING_USC, WSCABP.COD_ERR, WSCABP.DESCR_ERR, WSCABP.DT_ELAB, WSCABP.DT_INS, WSCABP.PCT, WSCABP.PROVENIENZA, @ID_ELAB + -- FROM C6Staging.WSCABP + -- LEFT OUTER JOIN C6Storico.ST_WSCABP + -- ON WSCABP.RETE = ST_WSCABP.RETE + -- AND WSCABP.CODAREA = ST_WSCABP.CODAREA + -- AND WSCABP.CODPROG = ST_WSCABP.CODPROG + -- AND WSCABP.CODFIS = ST_WSCABP.CODFIS + -- WHERE ST_WSCABP.RETE IS NULL + -- END +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX FINE TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + -- XX -- XX -- XX AGGIORNAMENTO DATI C6Staging.TabelleStoricizzate XX -- XX -- XX -- + IF(@NomeTabella IS NOT NULL) + BEGIN + UPDATE C6Staging.TabelleStoricizzate + SET + FINE = GETDATE(), + DURATA = DATEDIFF(SECOND ,INIZIO, GETDATE()) + WHERE NOME = @NomeTabella + END +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_SRV_STORICIZZAZIONE_OLD.sql b/sql/storedProduzione/C6Staging_SRV_STORICIZZAZIONE_OLD.sql new file mode 100644 index 00000000..5a0104e1 --- /dev/null +++ b/sql/storedProduzione/C6Staging_SRV_STORICIZZAZIONE_OLD.sql @@ -0,0 +1,434 @@ +-- [C6Staging].[SRV_STORICIZZAZIONE] 'ACBDENOTH' +CREATE PROCEDURE [C6Staging].[SRV_STORICIZZAZIONE_OLD] + @NomeTabella VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MART.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + SET @ID_ELAB = C6MART.GETIDELAB() +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENOTH XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENOTH') + BEGIN + DELETE FROM C6Storico.ST_ACBDENOTH WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ACBDENOTH + (OID_, VERSION_, BDPERCENTAGE, BDBETA, F_OID__PASSE_CDF1A, F_PFINANCIAL_815C0, ID_ELAB) + SELECT OID_, VERSION_, BDPERCENTAGE, BDBETA, F_OID__PASSE_CDF1A, F_PFINANCIAL_815C0, @ID_ELAB + FROM C6Staging.ACBDENOTH + END + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENTRY XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENTRY') + BEGIN + DELETE FROM C6Storico.ST_ACBDENTRY WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ACBDENTRY + (OID_, VERSION_, F_PINDEXBREA_08079, F_PINSTRUMEN_FBCDE, BDPERCENTAGE, BDBETA, F_OID__PASSE_B8A1E, F_PFINANCIAL_65EBB, F_PFINANCIAL_C2FD3, ID_ELAB) + SELECT OID_, VERSION_, F_PINDEXBREA_08079, F_PINSTRUMEN_FBCDE, BDPERCENTAGE, BDBETA, F_OID__PASSE_B8A1E, F_PFINANCIAL_65EBB, F_PFINANCIAL_C2FD3, @ID_ELAB + FROM C6Staging.ACBDENTRY + END + --XXXXXXXXXXXXXXXXXXXXXXXX ADBKRELAT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ADBKRELAT') + BEGIN + DELETE FROM C6Storico.ST_ADBKRELAT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ADBKRELAT + (OID_, VERSION_, TYPE__TYPE_CAB4A, ADBKRELDESCR, ADBKRELNOTE, DEPENDANT, PHONEDECIMAL, F_OID__ADBKR_CBA9A, F_PADDRESSBO_24DA1, ID_ELAB) + SELECT OID_, VERSION_, TYPE__TYPE_CAB4A, ADBKRELDESCR, ADBKRELNOTE, DEPENDANT, PHONEDECIMAL, F_OID__ADBKR_CBA9A, F_PADDRESSBO_24DA1, @ID_ELAB + FROM C6Staging.ADBKRELAT + END + --XXXXXXXXXXXXXXXXXXXXXXXX ADS4WS_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ADS4WS_PROMOTORI') + BEGIN + DELETE FROM C6Storico.ST_ADS4WS_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ADS4WS_PROMOTORI + (Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, Telefono, TelefonoAgenzia1, TelefonoAgenzia2, ID_ELAB) + SELECT Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, Telefono, TelefonoAgenzia1, TelefonoAgenzia2, @ID_ELAB + FROM C6Staging.ADS4WS_PROMOTORI + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_ASSET_CLASS_PER_PROMET XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_ASSET_CLASS_PER_PROMET') + BEGIN + DELETE FROM C6Storico.ST_ALL_ASSET_CLASS_PER_PROMET WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_ASSET_CLASS_PER_PROMET + (CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ID_ELAB) + SELECT CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, @ID_ELAB + FROM C6Staging.ALL_ASSET_CLASS_PER_PROMET + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CF_PB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CF_PB') + BEGIN + DELETE FROM C6Storico.ST_ALL_CF_PB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_CF_PB + (ID_CLI, NOME, COGNOME, CODICEFISCALE, TIPO, AGENTE, CHIAVE_PB, CHIAVE_CLIENTE, NOME_CLIENTE, COGNOME_CLIENTE, CODICE_FISCALE, TIPO_CLIENTE, RETE_PB, CODICE_PB, DATA_NASCITA, MARITALSTATUS, ID_ELAB) + SELECT ID_CLI, NOME, COGNOME, CODICEFISCALE, TIPO, AGENTE, CHIAVE_PB, CHIAVE_CLIENTE, NOME_CLIENTE, COGNOME_CLIENTE, CODICE_FISCALE, TIPO_CLIENTE, RETE_PB, CODICE_PB, DATA_NASCITA, MARITALSTATUS, @ID_ELAB + FROM C6Staging.ALL_CF_PB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CF_STATO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CF_STATO') + BEGIN + DELETE FROM C6Storico.ST_ALL_CF_STATO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_CF_STATO + (CF_CLIENTE, RETE, STATO_CONSULENZA, TOTALE_RIGHE, TOTALE_STATI, FLAG_UTILIZZO_STATO, ID_ELAB) + SELECT CF_CLIENTE, RETE, STATO_CONSULENZA, TOTALE_RIGHE, TOTALE_STATI, FLAG_UTILIZZO_STATO, @ID_ELAB + FROM C6Staging.ALL_CF_STATO + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CONSUL_ASUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CONSUL_ASUL') + BEGIN + DELETE FROM C6Storico.ST_ALL_CONSUL_ASUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_CONSUL_ASUL + (CODICE_FISCALE, RETE, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, AREASORTORDER, NOME_PROGETTO, CATALOGUENAME, TIPO_PROGETTO, CONTRATTO, OID_DI_CATITEMREF, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CODICEINTERNO, SOTTOPRODOTTO, CONTROVALORE_ASUL, ID_MONITORAGGIO, CATEGORIA, NUOVO_OID_CAT_PER_ASSET, CATEGORIA_2, COLO_JOIN, ID_ELAB) + SELECT CODICE_FISCALE, RETE, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, AREASORTORDER, NOME_PROGETTO, CATALOGUENAME, TIPO_PROGETTO, CONTRATTO, OID_DI_CATITEMREF, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CODICEINTERNO, SOTTOPRODOTTO, CONTROVALORE_ASUL, ID_MONITORAGGIO, CATEGORIA, NUOVO_OID_CAT_PER_ASSET, CATEGORIA_2, COLO_JOIN, @ID_ELAB + FROM C6Staging.ALL_CONSUL_ASUL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_PATR_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PATR_TERZI') + BEGIN + DELETE FROM C6Storico.ST_ALL_PATR_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_PATR_TERZI + (CHIAVE_PER_CLIENTE, CODICE_FISCALE, RETE_PB, CHIAVE_FNC, PRODOTTO_IN_CATALOGO, DATA_SOTTOSCRIZIONE, PREMIO_VERSAMENTO, C_VALUE_582FF, AMMONTARE_VERSAMENTO, CAPITALE_INVESTITO, DESCRIZIONE_ALBERATURA, DATA_INIZIO_INV, PATRIMONIO_TERZI, NOME_ISTITUTO, CHIAVE_THR, ASSETID, DESCRIZIONE_PRODOTTO, NOMEPRODOTTO, NOME_ISTITUTO_2, INTERMEDIARIO, DATA_SCADENZA, DATA2_UTILIZ_X_SOTTOSCRIZ, BALANCEDATETIME_DI_THR, CHIAVE_PR_31921, PATRIMONIO_IMMOBILIARE, LOCALITA, AFFITTOPERCEPITO, CHIAVE_F87B4, PATRIMONIO_ALTRO_PN_F87B4, DENOMINAZIONE_PN_F87B4, ISCOVER, TIPO_ISCOVER, CHIAVE_E6F18, PATRIMONIO_ALTRO_PB_E6F18, DENOMINAZIONE, NUMEROQUOTE, COMPANYTYPE, CHIAVE_COMP, COMPANYNAME, CHIAVE_BT_49D5B, TIPO_BT_49D5B, CHIAVE_BT_55768, CHIAVE_BT_B70F0, TIPO_BT_B70F0, CHIAVE_BT_6797A, TIPO_BT_6797A, TIPO_VERSAMENTO_BT_6797, CHIAVE_BT_97BEE, TIPO_BT_97BEE, TIPO_POLIZZA_BT_97BEE, CHIAVE_RDESC, TIPO_RDESCR, DESCRIZIONE_RDESCR, TIPOLOGIA_RDESCR, ID_ELAB) + SELECT CHIAVE_PER_CLIENTE, CODICE_FISCALE, RETE_PB, CHIAVE_FNC, PRODOTTO_IN_CATALOGO, DATA_SOTTOSCRIZIONE, PREMIO_VERSAMENTO, C_VALUE_582FF, AMMONTARE_VERSAMENTO, CAPITALE_INVESTITO, DESCRIZIONE_ALBERATURA, DATA_INIZIO_INV, PATRIMONIO_TERZI, NOME_ISTITUTO, CHIAVE_THR, ASSETID, DESCRIZIONE_PRODOTTO, NOMEPRODOTTO, NOME_ISTITUTO_2, INTERMEDIARIO, DATA_SCADENZA, DATA2_UTILIZ_X_SOTTOSCRIZ, BALANCEDATETIME_DI_THR, CHIAVE_PR_31921, PATRIMONIO_IMMOBILIARE, LOCALITA, AFFITTOPERCEPITO, CHIAVE_F87B4, PATRIMONIO_ALTRO_PN_F87B4, DENOMINAZIONE_PN_F87B4, ISCOVER, TIPO_ISCOVER, CHIAVE_E6F18, PATRIMONIO_ALTRO_PB_E6F18, DENOMINAZIONE, NUMEROQUOTE, COMPANYTYPE, CHIAVE_COMP, COMPANYNAME, CHIAVE_BT_49D5B, TIPO_BT_49D5B, CHIAVE_BT_55768, CHIAVE_BT_B70F0, TIPO_BT_B70F0, CHIAVE_BT_6797A, TIPO_BT_6797A, TIPO_VERSAMENTO_BT_6797, CHIAVE_BT_97BEE, TIPO_BT_97BEE, TIPO_POLIZZA_BT_97BEE, CHIAVE_RDESC, TIPO_RDESCR, DESCRIZIONE_RDESCR, TIPOLOGIA_RDESCR, @ID_ELAB + FROM C6Staging.ALL_PATR_TERZI + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_PATRBF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PATRBF') + BEGIN + DELETE FROM C6Storico.ST_ALL_PATRBF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_PATRBF + (AGENTE, CODICEFISCALE, PATRIMONIO_BF_CON_CC, PATRIMONIOBF_SENZA_CC, PATRIMONIOBF_SOLO_CC, ID_ELAB) + SELECT AGENTE, CODICEFISCALE, PATRIMONIO_BF_CON_CC, PATRIMONIOBF_SENZA_CC, PATRIMONIOBF_SOLO_CC, @ID_ELAB + FROM C6Staging.ALL_PATRBF + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_POS_CONS_CAT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_POS_CONS_CAT') + BEGIN + DELETE FROM C6Storico.ST_ALL_POS_CONS_CAT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_POS_CONS_CAT + (CODICE_FISCALE, RETE, STATO_CONSULENZA, DATA_STATO_CONSULENZA, PK_ALTERNATIVA_CONS, DATA_MIGRAZIONE_CONS, PK_AREA, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, C_PERCENTAGE_86095, PK_PRC_, TIPO_PROGETTO, C_CTVNEEDARE_EA4FB, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, PERCENTUALE_MODELLO, ID_MONITORAGGIO_, NOME_PROGETTO, C_PERCENTUAL_12346, DATA_ORDINAMENTO_INV, CONTRATTO, CONTROVALORE_PER_INV, C_INVESTIMEN_60625, OID_DI_CATITEMREF, C_OUTCTV_B4FB8, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CONTO, RUBRICATO, CUSTGAR, NUMPOL, TERMID, ANNO, PROG, NOME_PRODOTTO, NEED_AREA_ABBREVIATA_DI_POS, NEED_AREA_ESTESA_DI_POS, CHIAVE_CATITEMREF, CATALOGUENAME, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, COD_ADEGUATEZZA, ALBERATURA, TIPOPRODOTTO, ISNEGOTIABLE, MAINASSETCLASS, AREASORTORDER, ORIGINE_FILE_CATALOGO, FLAG_PRESENZA_MAPPATURA, RAGGRUPPAMEN_NOME_PROGET, ID_ELAB) + SELECT CODICE_FISCALE, RETE, STATO_CONSULENZA, DATA_STATO_CONSULENZA, PK_ALTERNATIVA_CONS, DATA_MIGRAZIONE_CONS, PK_AREA, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, C_PERCENTAGE_86095, PK_PRC_, TIPO_PROGETTO, C_CTVNEEDARE_EA4FB, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, PERCENTUALE_MODELLO, ID_MONITORAGGIO_, NOME_PROGETTO, C_PERCENTUAL_12346, DATA_ORDINAMENTO_INV, CONTRATTO, CONTROVALORE_PER_INV, C_INVESTIMEN_60625, OID_DI_CATITEMREF, C_OUTCTV_B4FB8, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CONTO, RUBRICATO, CUSTGAR, NUMPOL, TERMID, ANNO, PROG, NOME_PRODOTTO, NEED_AREA_ABBREVIATA_DI_POS, NEED_AREA_ESTESA_DI_POS, CHIAVE_CATITEMREF, CATALOGUENAME, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, COD_ADEGUATEZZA, ALBERATURA, TIPOPRODOTTO, ISNEGOTIABLE, MAINASSETCLASS, AREASORTORDER, ORIGINE_FILE_CATALOGO, FLAG_PRESENZA_MAPPATURA, RAGGRUPPAMEN_NOME_PROGET, @ID_ELAB + FROM C6Staging.ALL_POS_CONS_CAT + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_PROPOSTA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PROPOSTA') + BEGIN + DELETE FROM C6Storico.ST_ALL_PROPOSTA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_PROPOSTA + (AGENTE, RETE, NOME_CLIENTE, COGNOME_CLIENTE, CODICEFISCALE, CHIAVE_PROPOSTA, NOME_PROPOSTA, STATO_PROPOSTA, DATA_CREAZIONE_PROPOSTA, DATA_SCADENZA_PROPOSTA, NEED_BREVE, NEED_ESTESA, ORDINE_NEED, CONTROVALORE_TOT_PER_NEED, PERC_PER_NEED, NOME_PROGETTO, CONTROV_CONSULENZA, CONTROV_PROPOSTA, CONTROV_DA_DEFINIRE_LIQ, ISANEWPOSITION, STRINGONA_CLONEPOS, NOME_PRODOTTO_CLONEPOS, INVESTI, DISINVESTI, PTF_INIZ, CTVOPERAZIONE, CONTRACTCODE, POLIZZADECIMAL, CONTO, RUBRICATO, PR_COD_ISIN, PR_COD_MAF, PR_COD_INTERNO, PR_COD_SOTTOPRODOTTO, PR_COD_ADEGUATEZZA, NOME_PRODOTTO_CATALOGO, TIPOPRODOTTO, CHIAVE_CATITEMREF, CHIAVE_PER_LA_CONSULENZA, RICONCILIATA, FLAG_PROPOSTA_PER_PROGETTO, FLAG_PROPOSTA_PER_AREA, FLAG_SALVATAGGIO_MANUALE, RAGGRUPPAMENTO_PROGETTO, ID_ELAB) + SELECT AGENTE, RETE, NOME_CLIENTE, COGNOME_CLIENTE, CODICEFISCALE, CHIAVE_PROPOSTA, NOME_PROPOSTA, STATO_PROPOSTA, DATA_CREAZIONE_PROPOSTA, DATA_SCADENZA_PROPOSTA, NEED_BREVE, NEED_ESTESA, ORDINE_NEED, CONTROVALORE_TOT_PER_NEED, PERC_PER_NEED, NOME_PROGETTO, CONTROV_CONSULENZA, CONTROV_PROPOSTA, CONTROV_DA_DEFINIRE_LIQ, ISANEWPOSITION, STRINGONA_CLONEPOS, NOME_PRODOTTO_CLONEPOS, INVESTI, DISINVESTI, PTF_INIZ, CTVOPERAZIONE, CONTRACTCODE, POLIZZADECIMAL, CONTO, RUBRICATO, PR_COD_ISIN, PR_COD_MAF, PR_COD_INTERNO, PR_COD_SOTTOPRODOTTO, PR_COD_ADEGUATEZZA, NOME_PRODOTTO_CATALOGO, TIPOPRODOTTO, CHIAVE_CATITEMREF, CHIAVE_PER_LA_CONSULENZA, RICONCILIATA, FLAG_PROPOSTA_PER_PROGETTO, FLAG_PROPOSTA_PER_AREA, FLAG_SALVATAGGIO_MANUALE, RAGGRUPPAMENTO_PROGETTO, @ID_ELAB + FROM C6Staging.ALL_PROPOSTA + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS') + BEGIN + DELETE FROM C6Storico.ST_ASSETCLASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ASSETCLASS + (VERSION_, OID_, ASSETCLASSID, ASSETCLASSNAME, ASSETCLASSDESCR, ASSETCLASSLEV, ORDINE, ISRESIDUAL, F_PASSETCLAS_2FB94, F_OID__ASSET_B965C, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ID_ELAB) + SELECT VERSION_, OID_, ASSETCLASSID, ASSETCLASSNAME, ASSETCLASSDESCR, ASSETCLASSLEV, ORDINE, ISRESIDUAL, F_PASSETCLAS_2FB94, F_OID__ASSET_B965C, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, @ID_ELAB + FROM C6Staging.ASSETCLASS + END + --XXXXXXXXXXXXXXXXXXXXXXXX C_BO_453FB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'C_BO_453FB') + BEGIN + DELETE FROM C6Storico.ST_C_BO_453FB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_C_BO_453FB + (OID$, C_VALUE_7BD3C, C_DESCRIZION_93ABE, PK_PRC, ID_ELAB) + SELECT OID$, C_VALUE_7BD3C, C_DESCRIZION_93ABE, PK_PRC, @ID_ELAB + FROM C6Staging.C_BO_453FB + END + --XXXXXXXXXXXXXXXXXXXXXXXX CATINAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CATINAREA') + BEGIN + DELETE FROM C6Storico.ST_CATINAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_CATINAREA + (OID$, VERSION$, C_ISMAINNEED_9C780, NEEDAREAVALUE, F_OID$_NEEDA_2C362, F_PCATALOGUE_5D024, ID_ELAB) + SELECT OID$, VERSION$, C_ISMAINNEED_9C780, NEEDAREAVALUE, F_OID$_NEEDA_2C362, F_PCATALOGUE_5D024, @ID_ELAB + FROM C6Staging.CATINAREA + END + --XXXXXXXXXXXXXXXXXXXXXXXX CATITEMREF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CATITEMREF') + BEGIN + DELETE FROM C6Storico.ST_CATITEMREF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_CATITEMREF + (OID$, VERSION$, PRODUCTCURRENCY, PRODUCTCOUNTRY, PRODUCTREGION, CATALOGUEID, COD_ISIN, COD_ADEGUATEZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TYPE$_BCATAL_FC317, CATEGORY, INSTITUTIONS, COUNTRY, PIAZZA, ULTIMOPRZCURR, ULTIMOPRZ, CAPITALERISPARMIO, LMINCAPCONTRCURR, LMINCAPCONTR, LSUCCAPCONTRCURR, LSUCCAPCONTR, LMINRISPCONTRCURR, LMINRISPCONTR, LSUCRISPCONTRCURR, LSUCRISPCONTR, LMINCOMMCURR, LMINCOMM, DELEGAGESTIONALE, TIPOLOGIAPERPICK, EXPIRATIONDATE, RISKPRICE, FISCALREGIMENT, QUOTATO, CLASSEDIPREZZO, BONDRATING, BONDDURATION, TEMPMIN, TEMPMAX, PRIPRODCOM, MAINASSETCLASS, MACROACOBPERC, MACROACALPERC, MACROACAZPERC, MACROACMNPERC, LINEEFINACC, TIPOVERS, TIPOPOLIZRAM1, DURATACONTR, GARDEMO, RISKPRESSCAD, LIVFLUTDUR, OPZRENDVIT, METAA, METAB, METAC, RATOBBLIG, ULTIMOPREZZOCURR, ULTIMOPREZZO, DATARIFPREZZO, CODICEADB, AGGIORNFEED, DISTRPROV, CODTIPOCONTR, ULTPRZSECCURR, ULTPRZSEC, DATAULTPRZSEC, CODBLOOMBERG, DENOMUNITLNK, TIPOPRODOTTO, GENERICDATA, GENERICCURCURR, GENERICCUR, GENERICSTRING1, GENERICSTRING2, CATALOGUENAME, EFFECTIVEFROM, EFFECTIVETO, PRODUCTSTATUS, ISVISIBLE, ISNEGOTIABLE, BRIEFDESCRIPTION, F_OID$_VAR_CDDF8, RISKPROFOFSUITCLS, OPINION, OPINIONDATE, F_OID$_CATAL_B3E14, F_OID$_PCATE_F3BF6, F_OID$_MAINA_76C35, F_OID$_INSTR_B5526, F_OID$_MAINS_5FCE5, F_OID$_MAINR_08A23, F_OID$_PRISK_AAC57, F_OID$_PRODU_F8FBB, F_OID$_MARKE_F3D2D, COLL_SKANDIA, CODASSETSAT, ID_ELAB) + SELECT OID$, VERSION$, PRODUCTCURRENCY, PRODUCTCOUNTRY, PRODUCTREGION, CATALOGUEID, COD_ISIN, COD_ADEGUATEZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TYPE$_BCATAL_FC317, CATEGORY, INSTITUTIONS, COUNTRY, PIAZZA, ULTIMOPRZCURR, ULTIMOPRZ, CAPITALERISPARMIO, LMINCAPCONTRCURR, LMINCAPCONTR, LSUCCAPCONTRCURR, LSUCCAPCONTR, LMINRISPCONTRCURR, LMINRISPCONTR, LSUCRISPCONTRCURR, LSUCRISPCONTR, LMINCOMMCURR, LMINCOMM, DELEGAGESTIONALE, TIPOLOGIAPERPICK, EXPIRATIONDATE, RISKPRICE, FISCALREGIMENT, QUOTATO, CLASSEDIPREZZO, BONDRATING, BONDDURATION, TEMPMIN, TEMPMAX, PRIPRODCOM, MAINASSETCLASS, MACROACOBPERC, MACROACALPERC, MACROACAZPERC, MACROACMNPERC, LINEEFINACC, TIPOVERS, TIPOPOLIZRAM1, DURATACONTR, GARDEMO, RISKPRESSCAD, LIVFLUTDUR, OPZRENDVIT, METAA, METAB, METAC, RATOBBLIG, ULTIMOPREZZOCURR, ULTIMOPREZZO, DATARIFPREZZO, CODICEADB, AGGIORNFEED, DISTRPROV, CODTIPOCONTR, ULTPRZSECCURR, ULTPRZSEC, DATAULTPRZSEC, CODBLOOMBERG, DENOMUNITLNK, TIPOPRODOTTO, GENERICDATA, GENERICCURCURR, GENERICCUR, GENERICSTRING1, GENERICSTRING2, CATALOGUENAME, EFFECTIVEFROM, EFFECTIVETO, PRODUCTSTATUS, ISVISIBLE, ISNEGOTIABLE, BRIEFDESCRIPTION, F_OID$_VAR_CDDF8, RISKPROFOFSUITCLS, OPINION, OPINIONDATE, F_OID$_CATAL_B3E14, F_OID$_PCATE_F3BF6, F_OID$_MAINA_76C35, F_OID$_INSTR_B5526, F_OID$_MAINS_5FCE5, F_OID$_MAINR_08A23, F_OID$_PRISK_AAC57, F_OID$_PRODU_F8FBB, F_OID$_MARKE_F3D2D, COLL_SKANDIA, CODASSETSAT, @ID_ELAB + FROM C6Staging.CATITEMREF + END + --XXXXXXXXXXXXXXXXXXXXXXXX COMPTYPE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'COMPTYPE') + BEGIN + DELETE FROM C6Storico.ST_COMPTYPE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_COMPTYPE + (OID_, TYPE_, ID_ELAB) + SELECT OID_, TYPE_, @ID_ELAB + FROM C6Staging.COMPTYPE + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONO') + BEGIN + DELETE FROM C6Storico.ST_CONO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_CONO + (OID_, VERSION_, C_DATA_FD2A6, C_QUANTILE5_BF710, C_QUANTILE95_0D6CE, F_PPROJECT_P_46507, C_QUANTILE50_C47E0, ID_ELAB) + SELECT OID_, VERSION_, C_DATA_FD2A6, C_QUANTILE5_BF710, C_QUANTILE95_0D6CE, F_PPROJECT_P_46507, C_QUANTILE50_C47E0, @ID_ELAB + FROM C6Staging.CONO + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONSAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONSAREA') + BEGIN + DELETE FROM C6Storico.ST_CONSAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_CONSAREA + (OID$, VERSION$, F_PCONSULENZ_7FBE3, C_CONSULENZA_A58F3, C_CONSULENZA_E94E3, C_NEEDAREA_V_46360, C_NEEDAREA_D_911D8, C_CTVNEEDARE_EA4FB, C_PERCENTAGE_86095, C_OUTCTV_A27B5, C_PATRIMONIO_F4B8E, C_INVESTIMEN_AC24C, C_CONSULENZA_0C219, C_CONSULENZA_1C9D3, ID_ELAB) + SELECT OID$, VERSION$, F_PCONSULENZ_7FBE3, C_CONSULENZA_A58F3, C_CONSULENZA_E94E3, C_NEEDAREA_V_46360, C_NEEDAREA_D_911D8, C_CTVNEEDARE_EA4FB, C_PERCENTAGE_86095, C_OUTCTV_A27B5, C_PATRIMONIO_F4B8E, C_INVESTIMEN_AC24C, C_CONSULENZA_0C219, C_CONSULENZA_1C9D3, @ID_ELAB + FROM C6Staging.CONSAREA + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONSUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONSUL') + BEGIN + DELETE FROM C6Storico.ST_CONSUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_CONSUL + (OID$, VERSION$, C_CONSULENZA_EBDBE, ADBKID, INSTID, TYPE$_TIPOCO_1EA7C, C_CONTROVALO_C57EE, C_PATRIMONIO_0BF30, C_ALTROPATRI_E90EF, C_ALTRO_5AD86, C_DATAINIZIO_35C15, C_RISORSENON_A04BD, C_INVESTIMEN_C4514, C_INVESTIMEN_36DE3, C_IDQUESTION_5549B, C_DATAQUESTI_5069A, C_VARCONSOB_28C92, C_VALORIALLI_0CA23, C_DATAPIRAMI_661DA, C_DATACONSVE_D3DE3, C_DATACONSOR_EA88E, C_PROFILOCON_81F5D, C_DATAMIGRAZ_BF705, C_SALVADANAI_B156A, C_CONSULENZA_2C1E1, C_DATACONSVE_66B66, C_DATACAMBIO_79509, ID_ELAB) + SELECT OID$, VERSION$, C_CONSULENZA_EBDBE, ADBKID, INSTID, TYPE$_TIPOCO_1EA7C, C_CONTROVALO_C57EE, C_PATRIMONIO_0BF30, C_ALTROPATRI_E90EF, C_ALTRO_5AD86, C_DATAINIZIO_35C15, C_RISORSENON_A04BD, C_INVESTIMEN_C4514, C_INVESTIMEN_36DE3, C_IDQUESTION_5549B, C_DATAQUESTI_5069A, C_VARCONSOB_28C92, C_VALORIALLI_0CA23, C_DATAPIRAMI_661DA, C_DATACONSVE_D3DE3, C_DATACONSOR_EA88E, C_PROFILOCON_81F5D, C_DATAMIGRAZ_BF705, C_SALVADANAI_B156A, C_CONSULENZA_2C1E1, C_DATACONSVE_66B66, C_DATACAMBIO_79509, @ID_ELAB + FROM C6Staging.CONSUL + END + --XXXXXXXXXXXXXXXXXXXXXXXX INDREND XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'INDREND') + BEGIN + DELETE FROM C6Storico.ST_INDREND WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_INDREND + (OID_, VERSION_, C_VAR_A94EA, C_TEMPOINVES_CE300, C_COPERTURA_94818, C_PERDITAMAX_F5B51, ID_ELAB) + SELECT OID_, VERSION_, C_VAR_A94EA, C_TEMPOINVES_CE300, C_COPERTURA_94818, C_PERDITAMAX_F5B51, @ID_ELAB + FROM C6Staging.INDREND + END + --XXXXXXXXXXXXXXXXXXXXXXXX INSTRBDS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'INSTRBDS') + BEGIN + DELETE FROM C6Storico.ST_INSTRBDS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_INSTRBDS + (OID_, VERSION_, BDISIN, BDMAF, F_OID__PCATA_5DDA6, PROVENIENZA, ID_ELAB) + SELECT OID_, VERSION_, BDISIN, BDMAF, F_OID__PCATA_5DDA6, PROVENIENZA, @ID_ELAB + FROM C6Staging.INSTRBDS + END + --XXXXXXXXXXXXXXXXXXXXXXXX MACROASSETCLASS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MACROASSETCLASS') + BEGIN + DELETE FROM C6Storico.ST_MACROASSETCLASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_MACROASSETCLASS + (ASSETCLASSID, ASSETCLASSNAME, ORDINE, ID_ELAB) + SELECT ASSETCLASSID, ASSETCLASSNAME, ORDINE, @ID_ELAB + FROM C6Staging.MACROASSETCLASS + END + --XXXXXXXXXXXXXXXXXXXXXXXX NEEDAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'NEEDAREA') + BEGIN + DELETE FROM C6Storico.ST_NEEDAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_NEEDAREA + (OID_, VERSION_, AREAID, AREANAME, EFFECTIVEFROM, EFFECTIVETO, BRIEFDESCRIPTION, F_PNEEDAREA__742D7, AREASORTORDER, ID_ELAB) + SELECT OID_, VERSION_, AREAID, AREANAME, EFFECTIVEFROM, EFFECTIVETO, BRIEFDESCRIPTION, F_PNEEDAREA__742D7, AREASORTORDER, @ID_ELAB + FROM C6Staging.NEEDAREA + END + --XXXXXXXXXXXXXXXXXXXXXXXX OTHINTRST XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'OTHINTRST') + BEGIN + DELETE FROM C6Storico.ST_OTHINTRST WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_OTHINTRST + (OID_, VERSION_, INTERESTDESC, INTERESTCUR, INTERESTAMT, F_PQUANTIFIC_76FF6, ID_ELAB) + SELECT OID_, VERSION_, INTERESTDESC, INTERESTCUR, INTERESTAMT, F_PQUANTIFIC_76FF6, @ID_ELAB + FROM C6Staging.OTHINTRST + END + --XXXXXXXXXXXXXXXXXXXXXXXX PORTMOD XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PORTMOD') + BEGIN + DELETE FROM C6Storico.ST_PORTMOD WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_PORTMOD + (OID_, VERSION_, F_PPROJECT_P_EE748, C_ASSET_CD02D, C_PERCENTUAL_143B7, ID_ELAB) + SELECT OID_, VERSION_, F_PPROJECT_P_EE748, C_ASSET_CD02D, C_PERCENTUAL_143B7, @ID_ELAB + FROM C6Staging.PORTMOD + END + --XXXXXXXXXXXXXXXXXXXXXXXX POSITION XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'POSITION') + BEGIN + DELETE FROM C6Storico.ST_POSITION WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_POSITION + (OID_, VERSION_, F_PCONSULENZ_56F23, POSITIONID, CONSULENZAID, TYPE__CATALO_35E2A, POSITIONNAME, CONTROVALORE, C_OUTCTV_B4FB8, C_NEEDAREASE_3D485, C_NEEDAREASE_30873, CATALOGUEITEMID, F_OID__POSIT_00526, F_PPROJECT_P_B5629, CTVINIZIALE, ID_ELAB) + SELECT OID_, VERSION_, F_PCONSULENZ_56F23, POSITIONID, CONSULENZAID, TYPE__CATALO_35E2A, POSITIONNAME, CONTROVALORE, C_OUTCTV_B4FB8, C_NEEDAREASE_3D485, C_NEEDAREASE_30873, CATALOGUEITEMID, F_OID__POSIT_00526, F_PPROJECT_P_B5629, CTVINIZIALE, @ID_ELAB + FROM C6Staging.POSITION + END + --XXXXXXXXXXXXXXXXXXXXXXXX PRCONSUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PRCONSUL') + BEGIN + DELETE FROM C6Storico.ST_PRCONSUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_PRCONSUL + (OID$, VERSION$, F_PCONSULENZ_B69E4, C_PROJECTID_9894C, C_CONSULENZA_CB331, C_CONSULENZA_A7FC6, NEEDAREAID, TYPE$_PROJEC_14674, C_PROJECTNAM_11D1A, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_CREATIONDA_732BD, C_LASTMODIFI_3BF4A, C_INVESTIMEN_60625, F_OID$_FREQU_A5FAB, C_IMPORTOPER_7A987, F_OID$_RISKP_9CF4A, F_OID$_ORIZZ_4A868, C_PERDITAAVV_D414B, C_PERDITAMAX_55078, C_GUADAGNOAV_2BD07, C_GUADAGNOMA_D14C4, C_RISERVENON_CCD2D, C_RISERVEMON_5E189, C_RISERVEOBB_121FA, C_RISERVEAZI_175C0, C_CONSULENZA_ACEEE, C_PROJECTIDM_1AF31, C_PROJECTIDR_51E22, C_DATAULTIMO_FFA71, C_PERDITAMAX_BEABF, C_PERDITAMAX_AAB4C, C_GUADAGNOMA_43151, C_GUADAGNOMA_0F76F, F_OID$_PROJE_CD4BB, C_NOTE_B4B97, C_PERCENTUAL_69019, C_PERCENTUAL_12346, F_OID$_RISKS_A3B54, C_ORDERTIMES_80019, ID_ELAB) + SELECT OID$, VERSION$, F_PCONSULENZ_B69E4, C_PROJECTID_9894C, C_CONSULENZA_CB331, C_CONSULENZA_A7FC6, NEEDAREAID, TYPE$_PROJEC_14674, C_PROJECTNAM_11D1A, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_CREATIONDA_732BD, C_LASTMODIFI_3BF4A, C_INVESTIMEN_60625, F_OID$_FREQU_A5FAB, C_IMPORTOPER_7A987, F_OID$_RISKP_9CF4A, F_OID$_ORIZZ_4A868, C_PERDITAAVV_D414B, C_PERDITAMAX_55078, C_GUADAGNOAV_2BD07, C_GUADAGNOMA_D14C4, C_RISERVENON_CCD2D, C_RISERVEMON_5E189, C_RISERVEOBB_121FA, C_RISERVEAZI_175C0, C_CONSULENZA_ACEEE, C_PROJECTIDM_1AF31, C_PROJECTIDR_51E22, C_DATAULTIMO_FFA71, C_PERDITAMAX_BEABF, C_PERDITAMAX_AAB4C, C_GUADAGNOMA_43151, C_GUADAGNOMA_0F76F, F_OID$_PROJE_CD4BB, C_NOTE_B4B97, C_PERCENTUAL_69019, C_PERCENTUAL_12346, F_OID$_RISKS_A3B54, C_ORDERTIMES_80019, @ID_ELAB + FROM C6Staging.PRCONSUL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PROMETEIA_AGGR XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PROMETEIA_AGGR') + BEGIN + DELETE FROM C6Storico.ST_PROMETEIA_AGGR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_PROMETEIA_AGGR + (Rete, CodiceFiscale, Portafoglio, VaRAssolutoDiPortafoglio, VaRPercentuialeDiPortafoglio, CVaRAssolutoDiPortafoglio, CVaRPercentualeDiPortafoglio, RisksizeDiPortafoglio, McVar, McVarP, Beneficio, Copertura, Totale, ID_ELAB) + SELECT Rete, CodiceFiscale, Portafoglio, VaRAssolutoDiPortafoglio, VaRPercentuialeDiPortafoglio, CVaRAssolutoDiPortafoglio, CVaRPercentualeDiPortafoglio, RisksizeDiPortafoglio, McVar, McVarP, Beneficio, Copertura, Totale, @ID_ELAB + FROM C6Staging.PROMETEIA_AGGR + END + --XXXXXXXXXXXXXXXXXXXXXXXX PROMETEIA_DETT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PROMETEIA_DETT') + BEGIN + DELETE FROM C6Storico.ST_PROMETEIA_DETT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_PROMETEIA_DETT + (Rete, CodiceFiscale, Portafoglio, CodiceProdotto, Piazza, CodVal, Classe, VarAssoluto, VaRPercentuale, CVarAssoluto, CVarPercentuale, RiskSize, McVar, McVarP, TipoCopertura, CtvNominale, CtvReale, ID_ELAB) + SELECT Rete, CodiceFiscale, Portafoglio, CodiceProdotto, Piazza, CodVal, Classe, VarAssoluto, VaRPercentuale, CVarAssoluto, CVarPercentuale, RiskSize, McVar, McVarP, TipoCopertura, CtvNominale, CtvReale, @ID_ELAB + FROM C6Staging.PROMETEIA_DETT + END + --XXXXXXXXXXXXXXXXXXXXXXXX QUANTIF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'QUANTIF') + BEGIN + DELETE FROM C6Storico.ST_QUANTIF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_QUANTIF + (OID_, VERSION_, UPDATETIMEDATETIME, EXPNEEDSCUR, EXPNEEDSAMT, GROSSINPRIMCUR, GROSSINPRIMAMT, GROSSINSECCUR, GROSSINSECAMT, RETIREMENTYEARS, STATEPENSIONAMT, PRIVATEPENSIONCUR, PRIVATEPENSIONAMT, LIFEINTERESTCUR, LIFEINTERESTAMT, C_FINANCIALI_8D659, C_FINANCIALI_91C75, INSINTERESTCUR, STATEPENSIONCUR, INSINTERESTAMT, INVINTERESTCUR, INVINTERESTAMT, REINTERESTCUR, REINTERESTAMT, PRIMARYGAPCUR, PRIMARYGAPAMT, SECONDARYGAPCUR, SECONDARYGAPAMT, TOCONSUMPTIONETM, TOINTERESTETM, LOCKPERCFRSTBRNC, PRFCONSUMPTIONS, PRFGROSSAMOUNT, PRFPERCFRSTBRNC, PRFADDRETIREMENT, PRFLIFEINTEREST, PRFINTERFRSTBRNC, PRFINTERUNIT, F_OID__ADDRE_81D21, ID_ELAB) + SELECT OID_, VERSION_, UPDATETIMEDATETIME, EXPNEEDSCUR, EXPNEEDSAMT, GROSSINPRIMCUR, GROSSINPRIMAMT, GROSSINSECCUR, GROSSINSECAMT, RETIREMENTYEARS, STATEPENSIONAMT, PRIVATEPENSIONCUR, PRIVATEPENSIONAMT, LIFEINTERESTCUR, LIFEINTERESTAMT, C_FINANCIALI_8D659, C_FINANCIALI_91C75, INSINTERESTCUR, STATEPENSIONCUR, INSINTERESTAMT, INVINTERESTCUR, INVINTERESTAMT, REINTERESTCUR, REINTERESTAMT, PRIMARYGAPCUR, PRIMARYGAPAMT, SECONDARYGAPCUR, SECONDARYGAPAMT, TOCONSUMPTIONETM, TOINTERESTETM, LOCKPERCFRSTBRNC, PRFCONSUMPTIONS, PRFGROSSAMOUNT, PRFPERCFRSTBRNC, PRFADDRETIREMENT, PRFLIFEINTEREST, PRFINTERFRSTBRNC, PRFINTERUNIT, F_OID__ADDRE_81D21, @ID_ELAB + FROM C6Staging.QUANTIF + END + --XXXXXXXXXXXXXXXXXXXXXXXX S25_CLI_CLIENTE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'S25_CLI_CLIENTE') + BEGIN + DELETE FROM C6Storico.ST_S25_CLI_CLIENTE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_S25_CLI_CLIENTE + (NOME, COGNOME, CODICEFISCALE, DATANASCITA, ETA, PROFESSIONE, NUMEROCOMPONENTI, NUMEROFIGLI, STATO_CIVILE, INDIRIZZO, RETE, ID_ELAB) + SELECT NOME, COGNOME, CODICEFISCALE, DATANASCITA, ETA, PROFESSIONE, NUMEROCOMPONENTI, NUMEROFIGLI, STATO_CIVILE, INDIRIZZO, RETE, @ID_ELAB + FROM C6Staging.S25_CLI_CLIENTE + END + --XXXXXXXXXXXXXXXXXXXXXXXX S4_S5_S13_TRAD_UNTIL_LIV3 XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'S4_S5_S13_TRAD_UNTIL_LIV3') + BEGIN + DELETE FROM C6Storico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 + (DESCRIZIONE_ORIGINALE, ALBERO_GERARCHIA_1, ALBERO_GERARCHIA_2, ALBERO_GERARCHIA_3, ORDINAMENTO_GERARCHIA_2, ID_ELAB) + SELECT DESCRIZIONE_ORIGINALE, ALBERO_GERARCHIA_1, ALBERO_GERARCHIA_2, ALBERO_GERARCHIA_3, ORDINAMENTO_GERARCHIA_2, @ID_ELAB + FROM C6Staging.S4_S5_S13_TRAD_UNTIL_LIV3 + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_ASS_UNIT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_ASS_UNIT') + BEGIN + DELETE FROM C6Storico.ST_SPB_ASS_UNIT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_ASS_UNIT + (CODICECONTRATTO, CODICESOTTOPRODOTTO, CODICEINTERNO, CONTROVALORE, DATADIRIFERIMENTO, ISINFITTIZIO, CODICEISINSOTTOSTANTE, CODICEMAFSOTTOSTANTE, ID_ELAB) + SELECT CODICECONTRATTO, CODICESOTTOPRODOTTO, CODICEINTERNO, CONTROVALORE, DATADIRIFERIMENTO, ISINFITTIZIO, CODICEISINSOTTOSTANTE, CODICEMAFSOTTOSTANTE, @ID_ELAB + FROM C6Staging.SPB_ASS_UNIT + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_CLIENTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_CLIENTI') + BEGIN + DELETE FROM C6Storico.ST_SPB_CLIENTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_CLIENTI + (CODICERETE, CODICEAGENTE, CODICEFISCALE, NOME, COGNOME, DATADINASCITA, NAZIONEDINASCITA, COMUNEDINASCITA, SESSO, CITTADINANZA, TITOLODISTUDIOCODICE, TITOLODISTUDIODESCRIZIONE, TIPOCLIENTE, DATAATTIVAZIONECLIENTE, ID_ELAB) + SELECT CODICERETE, CODICEAGENTE, CODICEFISCALE, NOME, COGNOME, DATADINASCITA, NAZIONEDINASCITA, COMUNEDINASCITA, SESSO, CITTADINANZA, TITOLODISTUDIOCODICE, TITOLODISTUDIODESCRIZIONE, TIPOCLIENTE, DATAATTIVAZIONECLIENTE, @ID_ELAB + FROM C6Staging.SPB_CLIENTI + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_CONTR_SINTESI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_CONTR_SINTESI') + BEGIN + DELETE FROM C6Storico.ST_SPB_CONTR_SINTESI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_CONTR_SINTESI + (POSITIONID, RETE, CODAGENTE, CODICEFISCALE, CODICECONTRATTO, NUMEROPOLIZZA, CONTO, RUBRICATO, CUSTODIAGARANZIA, PCTTITOLOCOLLEGATO, TIPOPRODOTTO, CODICEINTERNO, CODICESOTTOPRODOTTO, CODICEMAF, PCTKEY, PCTDESCRIZIONTETITOLOCOLLEGATO, QUOTE, PREZZO, CTV, PARTVIA, PARTVIAAL, DATADIRIFERIMENTO, DATADISOTTOSCRIZIONE, DATAVALNAVAL, CODICESTATO, DATAINIZIORENDIMENTO, RENDIMENTODASOTTOSCRIZIONE, DATATRIMESTRERENDIMENTO, RENDIMENTODAINIZIOTRIMESTRE, DATAANNORENDIMENTO, RENDIMENTODAINIZIOANNO, VALORE, CVN, ID_ELAB) + SELECT POSITIONID, RETE, CODAGENTE, CODICEFISCALE, CODICECONTRATTO, NUMEROPOLIZZA, CONTO, RUBRICATO, CUSTODIAGARANZIA, PCTTITOLOCOLLEGATO, TIPOPRODOTTO, CODICEINTERNO, CODICESOTTOPRODOTTO, CODICEMAF, PCTKEY, PCTDESCRIZIONTETITOLOCOLLEGATO, QUOTE, PREZZO, CTV, PARTVIA, PARTVIAAL, DATADIRIFERIMENTO, DATADISOTTOSCRIZIONE, DATAVALNAVAL, CODICESTATO, DATAINIZIORENDIMENTO, RENDIMENTODASOTTOSCRIZIONE, DATATRIMESTRERENDIMENTO, RENDIMENTODAINIZIOTRIMESTRE, DATAANNORENDIMENTO, RENDIMENTODAINIZIOANNO, VALORE, CVN, @ID_ELAB + FROM C6Staging.SPB_CONTR_SINTESI + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_INDIRIZZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_INDIRIZZI') + BEGIN + DELETE FROM C6Storico.ST_SPB_INDIRIZZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_INDIRIZZI + (RETE, CODAGENTE, CODICEFISCALE, TIPOINDIRIZZO, INDIRIZZO, CAP, CITTA, PROVINCIA, NAZIONE, ID_ELAB) + SELECT RETE, CODAGENTE, CODICEFISCALE, TIPOINDIRIZZO, INDIRIZZO, CAP, CITTA, PROVINCIA, NAZIONE, @ID_ELAB + FROM C6Staging.SPB_INDIRIZZI + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_MIFID XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_MIFID') + BEGIN + DELETE FROM C6Storico.ST_SPB_MIFID WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_MIFID + (RETE, CODAGENTE, CODICEFISCALE, ACCETTACOMPILAZIONE, CODICEPROFILOASSEGNATO, CODICEPROFILOCALCOLATO, CODICEQUESTIONARIO, DATAFINEVALIDITA, DATAINIZIOVALIDITA, CODICEAGENTE, CODICEAGENTERESPONSABILE, CODICEAGENTEREALE, TIPOQUESTIONARIO, STATUS, ID_ELAB) + SELECT RETE, CODAGENTE, CODICEFISCALE, ACCETTACOMPILAZIONE, CODICEPROFILOASSEGNATO, CODICEPROFILOCALCOLATO, CODICEQUESTIONARIO, DATAFINEVALIDITA, DATAINIZIOVALIDITA, CODICEAGENTE, CODICEAGENTERESPONSABILE, CODICEAGENTEREALE, TIPOQUESTIONARIO, STATUS, @ID_ELAB + FROM C6Staging.SPB_MIFID + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_NAC XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_NAC') + BEGIN + DELETE FROM C6Storico.ST_SPB_NAC WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_NAC + (COGNOMENOME, CODICEAGENTE, RETE, CODICERETE, CODICEMANAGER, LIVELLONELLAGERARCHIA, SUBORDINATI, ID_ELAB) + SELECT COGNOMENOME, CODICEAGENTE, RETE, CODICERETE, CODICEMANAGER, LIVELLONELLAGERARCHIA, SUBORDINATI, @ID_ELAB + FROM C6Staging.SPB_NAC + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_PARTITE_VIAGG XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_PARTITE_VIAGG') + BEGIN + DELETE FROM C6Storico.ST_SPB_PARTITE_VIAGG WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_PARTITE_VIAGG + (RETE, CODAGENTE, CODICEFISCALE, CODICECONFERIMENTO, DESCRPRODOTTO, IMPORTOVERSATO, DATAACQUISIZIONE, DATAINCASSO, DATAVALUTAFONDO, NOTA, ID_ELAB) + SELECT RETE, CODAGENTE, CODICEFISCALE, CODICECONFERIMENTO, DESCRPRODOTTO, IMPORTOVERSATO, DATAACQUISIZIONE, DATAINCASSO, DATAVALUTAFONDO, NOTA, @ID_ELAB + FROM C6Staging.SPB_PARTITE_VIAGG + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_PROF_RISCHIO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_PROF_RISCHIO') + BEGIN + DELETE FROM C6Storico.ST_SPB_PROF_RISCHIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_PROF_RISCHIO + (CODICEPROFILO, DESCRIZIONEPROFILO, DESCRIZIONEPROFILOESTESA, PERCENTUALEASSETAZIONARIO, PERCENTUALEASSETOBBLIGAZIONARIO, PERCENTUALEASSETMONETARIO, VOLATILITADA, VOLATILITAA, RENDIMENTOATTESO, VARTRIMESTRALE, ID_ELAB) + SELECT CODICEPROFILO, DESCRIZIONEPROFILO, DESCRIZIONEPROFILOESTESA, PERCENTUALEASSETAZIONARIO, PERCENTUALEASSETOBBLIGAZIONARIO, PERCENTUALEASSETMONETARIO, VOLATILITADA, VOLATILITAA, RENDIMENTOATTESO, VARTRIMESTRALE, @ID_ELAB + FROM C6Staging.SPB_PROF_RISCHIO + END + --XXXXXXXXXXXXXXXXXXXXXXXX V_CLIENTI_CONTRSEI_CON_MIGRAZ XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'V_CLIENTI_CONTRSEI_CON_MIGRAZ') + BEGIN + DELETE FROM C6Storico.ST_V_CLIENTI_CONTRSEI_CON_MIGRAZ WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_V_CLIENTI_CONTRSEI_CON_MIGRAZ + (CODICE_FISCALE, RETE_PB, CODICE_CONTRATTO, STATO_CONTRATTO_SEI, DATA_SOTTOSCRIZIONE_C6, DATA_CHIUSURA_C6, FLAG_CLIENTE_MIGRATO, DATA_ULTIMA_MIGRAZIONE, ID_ELAB) + SELECT CODICE_FISCALE, RETE_PB, CODICE_CONTRATTO, STATO_CONTRATTO_SEI, DATA_SOTTOSCRIZIONE_C6, DATA_CHIUSURA_C6, FLAG_CLIENTE_MIGRATO, DATA_ULTIMA_MIGRAZIONE, @ID_ELAB + FROM C6Staging.V_CLIENTI_CONTRSEI_CON_MIGRAZ + END + --XXXXXXXXXXXXXXXXXXXXXXXX VARIAZIONE_CONTRSEI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'VARIAZIONE_CONTRSEI') + BEGIN + DELETE FROM C6Storico.ST_VARIAZIONE_CONTRSEI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_VARIAZIONE_CONTRSEI + (CODICE_CONTRATTO, CODICE_FISCALE, RETE_PB, PB, DATA_PERFEZIONAMENTO_BASE, DATA_SOTTOSCRIZIONE_BASE, DATA_CHIUSURA_BASE, INDIRIZZO, CAP, CITTA, PROVINCIA, NAZIONE, PRESSO, CPP, FLAG_STAMPA_REPORT, FLAG_EMISSIONE_FATTURA, EMAIL, FREQUENZA_DIAGNOSI, FREQUENZA_MONITORAGGIO, DATA_PERFEZIONAMENTO_C6, DATA_SOTTOSCRIZIONE_C6, DATA_CHIUSURA_C6, ORDINE_DI_ELABORAZIONE_RIGA, ULTIMO_PROGRESSIVO_INVIO, ULTIMA_DATA_INVIO, ULTIMA_DATA_ELABORAZIONE, ID_ELAB) + SELECT CODICE_CONTRATTO, CODICE_FISCALE, RETE_PB, PB, DATA_PERFEZIONAMENTO_BASE, DATA_SOTTOSCRIZIONE_BASE, DATA_CHIUSURA_BASE, INDIRIZZO, CAP, CITTA, PROVINCIA, NAZIONE, PRESSO, CPP, FLAG_STAMPA_REPORT, FLAG_EMISSIONE_FATTURA, EMAIL, FREQUENZA_DIAGNOSI, FREQUENZA_MONITORAGGIO, DATA_PERFEZIONAMENTO_C6, DATA_SOTTOSCRIZIONE_C6, DATA_CHIUSURA_C6, ORDINE_DI_ELABORAZIONE_RIGA, ULTIMO_PROGRESSIVO_INVIO, ULTIMA_DATA_INVIO, ULTIMA_DATA_ELABORAZIONE, @ID_ELAB + FROM C6Staging.VARIAZIONE_CONTRSEI + END + --XXXXXXXXXXXXXXXXXXXXXXXX WANAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WANAB') + BEGIN + DELETE FROM C6Storico.ST_WANAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_WANAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTFINE, DTINI, CTVINI, DTRENDMAX, RENDMAX, DTRENDMIN, RENDMIN, DTCTV, CTV, RENDATT, DTCTVMAX, CTVMAX, DTCTVMIN, CTVMIN, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, ID_ELAB) + SELECT RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTFINE, DTINI, CTVINI, DTRENDMAX, RENDMAX, DTRENDMIN, RENDMIN, DTCTV, CTV, RENDATT, DTCTVMAX, CTVMAX, DTCTVMIN, CTVMIN, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, @ID_ELAB + FROM C6Staging.WANAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX WRENAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WRENAB') + BEGIN + DELETE FROM C6Storico.ST_WRENAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_WRENAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTVALORIZ, CTV, DTINIZ, RENDINIZ, DTTRIM, RENDTRIM, DTANNO, RENDANNO, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, ID_ELAB) + SELECT RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTVALORIZ, CTV, DTINIZ, RENDINIZ, DTTRIM, RENDTRIM, DTANNO, RENDANNO, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, @ID_ELAB + FROM C6Staging.WRENAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSCABP XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSCABP') + BEGIN + DELETE FROM C6Storico.ST_WSCABP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_WSCABP + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, CODCONF, SUBPROD, CODPROD, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, DTINGRESSO, ISTITUTO, TIPO_PRODOTT, CONTO_OP, STRUM_FIN, ID_MOVIM, TIPO_OP, RESTART, DT_ING_USC, ING_USC, COD_ERR, DESCR_ERR, DT_ELAB, DT_INS, PCT, PROVENIENZA, ID_ELAB) + SELECT RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, CODCONF, SUBPROD, CODPROD, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, DTINGRESSO, ISTITUTO, TIPO_PRODOTT, CONTO_OP, STRUM_FIN, ID_MOVIM, TIPO_OP, RESTART, DT_ING_USC, ING_USC, COD_ERR, DESCR_ERR, DT_ELAB, DT_INS, PCT, PROVENIENZA, @ID_ELAB + FROM C6Staging.WSCABP + END +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX FINE TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_SRV_SVUOTASTAGING.sql b/sql/storedProduzione/C6Staging_SRV_SVUOTASTAGING.sql new file mode 100644 index 00000000..f073539e --- /dev/null +++ b/sql/storedProduzione/C6Staging_SRV_SVUOTASTAGING.sql @@ -0,0 +1,51 @@ +CREATE procedure [C6Staging].[SRV_SVUOTASTAGING] +AS +BEGIN + SET NOCOUNT ON; + TRUNCATE TABLE [C6Staging].[ACBDENOTH] + TRUNCATE TABLE [C6Staging].[ACBDENTRY] + TRUNCATE TABLE [C6Staging].[ADBKRELAT] + TRUNCATE TABLE [C6Staging].[ADS4WS_PROMOTORI] + TRUNCATE TABLE [C6Staging].[ALL_ASSET_CLASS_PER_PROMET] + TRUNCATE TABLE [C6Staging].[ALL_CF_PB] + TRUNCATE TABLE [C6Staging].[ALL_CF_STATO] + TRUNCATE TABLE [C6Staging].[ALL_CONSUL_ASUL] + TRUNCATE TABLE [C6Staging].[ALL_PATR_TERZI] + TRUNCATE TABLE [C6Staging].[ALL_PATRBF] + TRUNCATE TABLE [C6Staging].[ALL_POS_CONS_CAT] + TRUNCATE TABLE [C6Staging].[ALL_PROPOSTA] + TRUNCATE TABLE [C6Staging].[ASSETCLASS] + TRUNCATE TABLE [C6Staging].[C_BO_453FB] + TRUNCATE TABLE [C6Staging].[CATINAREA] + TRUNCATE TABLE [C6Staging].[CATITEMREF] + TRUNCATE TABLE [C6Staging].[COMPTYPE] + TRUNCATE TABLE [C6Staging].[CONO] + TRUNCATE TABLE [C6Staging].[CONSAREA] + TRUNCATE TABLE [C6Staging].[CONSUL] + TRUNCATE TABLE [C6Staging].[INDREND] + TRUNCATE TABLE [C6Staging].[INSTRBDS] + TRUNCATE TABLE [C6Staging].[MACROASSETCLASS] + TRUNCATE TABLE [C6Staging].[NEEDAREA] + TRUNCATE TABLE [C6Staging].[OTHINTRST] + TRUNCATE TABLE [C6Staging].[PORTMOD] + TRUNCATE TABLE [C6Staging].[POSITION] + TRUNCATE TABLE [C6Staging].[PRCONSUL] + TRUNCATE TABLE [C6Staging].[PROMETEIA_AGGR] + TRUNCATE TABLE [C6Staging].[PROMETEIA_DETT] + TRUNCATE TABLE [C6Staging].[QUANTIF] + TRUNCATE TABLE [C6Staging].[S25_CLI_CLIENTE] + TRUNCATE TABLE [C6Staging].[S4_S5_S13_TRAD_UNTIL_LIV3] + TRUNCATE TABLE [C6Staging].[SPB_ASS_UNIT] + TRUNCATE TABLE [C6Staging].[SPB_CLIENTI] + TRUNCATE TABLE [C6Staging].[SPB_CONTR_SINTESI] + TRUNCATE TABLE [C6Staging].[SPB_INDIRIZZI] + TRUNCATE TABLE [C6Staging].[SPB_MIFID] + TRUNCATE TABLE [C6Staging].[SPB_NAC] + TRUNCATE TABLE [C6Staging].[SPB_PARTITE_VIAGG] + TRUNCATE TABLE [C6Staging].[SPB_PROF_RISCHIO] + TRUNCATE TABLE [C6Staging].[V_CLIENTI_CONTRSEI_CON_MIGRAZ] + TRUNCATE TABLE [C6Staging].[VARIAZIONE_CONTRSEI] + TRUNCATE TABLE [C6Staging].[WANAB] + TRUNCATE TABLE [C6Staging].[WRENAB] + TRUNCATE TABLE [C6Staging].[WSCABP] +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_SRV_TABELLE_IN_STAGING.sql b/sql/storedProduzione/C6Staging_SRV_TABELLE_IN_STAGING.sql new file mode 100644 index 00000000..1f8ca3db --- /dev/null +++ b/sql/storedProduzione/C6Staging_SRV_TABELLE_IN_STAGING.sql @@ -0,0 +1,38 @@ +CREATE procedure [C6Staging].[SRV_TABELLE_IN_STAGING] +AS +BEGIN + DECLARE @tabella AS VARCHAR(50) + SET @tabella = NULL + SELECT TOP 1 @tabella = A.tabella + FROM( + SELECT tables.name tabella + FROM sys.tables tables + INNER JOIN sys.schemas schemas + ON tables.schema_id = schemas.schema_id + WHERE schemas.name = 'C6Staging' + AND tables.name <> 'TabelleStoricizzate' + ) A + WHERE A.tabella NOT IN ( + SELECT Nome + FROM C6Staging.TabelleStoricizzate + ) + ORDER BY A.tabella + -- inserisce dei NULL in TabelleStoricizzate!!! + /*INSERT INTO [C6Staging].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella)*/ + DECLARE @tabellaDaStoricizzare AS SMALLINT + IF @tabella IS NOT NULL + BEGIN + INSERT INTO [C6Staging].[TabelleStoricizzate] + ([Nome], [Inizio]) + VALUES + (@tabella, GETDATE()) + EXEC C6Staging.SRV_STORICIZZAZIONE @tabella + SET @tabellaDaStoricizzare = 1 + END + ELSE + SET @tabellaDaStoricizzare = 0 + SELECT @tabellaDaStoricizzare tabella, @tabella nome +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_ST_INSERT_SCARTI_SIMPB.sql b/sql/storedProduzione/C6Staging_ST_INSERT_SCARTI_SIMPB.sql new file mode 100644 index 00000000..035c5a39 --- /dev/null +++ b/sql/storedProduzione/C6Staging_ST_INSERT_SCARTI_SIMPB.sql @@ -0,0 +1,64 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Staging].[ST_SELECT_FOR_ADS4WS] 1 +CREATE procedure [C6Staging].[ST_INSERT_SCARTI_SIMPB] + --@NomePacchetto AS VARCHAR(50) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_INSERT_SCARTI_SIMPB', + GETDATE(), + 'Elaborazione giornaliera2' + ) + TRUNCATE TABLE [C6Staging].[SPB_SCARTI] + INSERT INTO [C6Staging].[SPB_SCARTI] + ([Rete] + ,[CodiceFiscale] + ,[PacchettoSSIS] + ,[ID_Elab]) + SELECT [Rete] + ,[Cod_Fiscale] + ,'SPB_CONTRSINTESI' AS [PacchettoSSIS] + ,C6Mart.getIdElab() + FROM C6Mart.RP_VContrattiMigrati + WHERE Cod_Fiscale NOT IN (SELECT CODICEFISCALE + FROM C6Staging.SPB_CONTR_SINTESI) + INSERT INTO [C6Staging].[SPB_SCARTI] + ([Rete] + ,[CodiceFiscale] + ,[PacchettoSSIS] + ,[ID_Elab]) + SELECT [Rete] + ,[Cod_Fiscale] + ,'SPB_MIFID' AS [PacchettoSSIS] + ,C6Mart.getIdElab() + FROM C6Mart.RP_VContrattiMigrati + WHERE Cod_Fiscale NOT IN (SELECT CODICEFISCALE + FROM C6Staging.SPB_MIFID) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_INSERT_SCARTI_SIMPB' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_INSERT_SCARTI_SIMPB' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_ST_SELECT_FOR_ADS4WS.sql b/sql/storedProduzione/C6Staging_ST_SELECT_FOR_ADS4WS.sql new file mode 100644 index 00000000..dc888f92 --- /dev/null +++ b/sql/storedProduzione/C6Staging_ST_SELECT_FOR_ADS4WS.sql @@ -0,0 +1,80 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Staging].[ST_SELECT_FOR_ADS4WS] 1 +CREATE procedure [C6Staging].[ST_SELECT_FOR_ADS4WS] + @Tipo AS INTEGER +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SELECT_FOR_ADS4WS', + GETDATE(), + 'Elaborazione giornaliera' + ) + IF @Tipo = 1 + BEGIN + -- ELIMINIAMO I CODICI FITTIZI + SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM c6mart.vTuttiIContratti C6 + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE + WHERE PF.RETE IS NULL + AND C6.COD_AGENTE NOT IN ('009202') + --AND C6.COD_AGENTE NOT IN ('003064','015115','015117','004038') + END + ELSE + BEGIN + -- PRENDO I CODICI FITTIZI + SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM c6mart.vTuttiIContratti C6 + INNER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE + END + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SELECT_FOR_ADS4WS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_SELECT_FOR_ADS4WS' + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/C6Staging_inserisci_promotori_fittizi.sql b/sql/storedProduzione/C6Staging_inserisci_promotori_fittizi.sql new file mode 100644 index 00000000..84569f0f --- /dev/null +++ b/sql/storedProduzione/C6Staging_inserisci_promotori_fittizi.sql @@ -0,0 +1,19 @@ +CREATE procedure [C6Staging].[inserisci_promotori_fittizi] as +begin +insert into [C6Staging].[ADS4WS_PROMOTORI] (rete,codice,prefisso,firma) +SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM C6Mart.vContrattiPerGenerazioneReport C6 + INNER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE +end \ No newline at end of file diff --git a/sql/storedProduzione/dbo_AMB_Cerca.sql b/sql/storedProduzione/dbo_AMB_Cerca.sql new file mode 100644 index 00000000..f5decb36 --- /dev/null +++ b/sql/storedProduzione/dbo_AMB_Cerca.sql @@ -0,0 +1,38 @@ +CREATE procedure [dbo].[AMB_Cerca] (@word1 varchar(max) = 'DMECST71D10H501E') as +BEGIN +declare @Datab varchar(300) +declare @query varchar(max) +declare @dbid smallint = 5 +declare @numdb smallint = 1 +select @numdb = max(database_id) from master.sys.databases +IF OBJECT_ID('tempdb.dbo.#temp1', 'U') IS NOT NULL DROP TABLE #temp1; +create table #temp1 (DatabaseName Varchar(300), SchemaName Varchar(300), NomeOggetto varchar(300), TipoOggetto varchar(300), create_date datetime, modify_date datetime) +while (@dbid <= @numdb ) +begin + SELECT @Datab= name FROM master.sys.databases where database_id = @dbid + if @Datab <> 'tempdb' + begin + set @query = + 'Insert Into #temp1 SELECT DISTINCT ''' + @Datab + ''' as DatabaseName, SCHEMA_NAME(schema_id) SchemaName, + o.name AS Object_Name, + o.type_desc, create_date, modify_date + FROM ' + @Datab+'.sys.sql_modules m + INNER JOIN ' + @Datab+ '.sys.objects o + ON m.object_id = o.object_id + WHERE upper(m.definition) like ''%' + @word1 + '%''' + begin try + print @query + exec (@query) + end try + begin catch + Insert Into #temp1 select name , 'si è verificato un errore', + ISNULL( error_message(),'') + FROM master.sys.databases where database_id = @dbid + end catch + end + set @dbid = @dbid + 1 +end +select 'sp_helptext ''' + SchemaName + '.' + NomeOggetto + '''' sp_helptext, * from #temp1 +order by NomeOggetto, TipoOggetto, DatabaseName, SchemaName +drop table #temp1 +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_AMB_InfoPdfTrim.sql b/sql/storedProduzione/dbo_AMB_InfoPdfTrim.sql new file mode 100644 index 00000000..884e7f94 --- /dev/null +++ b/sql/storedProduzione/dbo_AMB_InfoPdfTrim.sql @@ -0,0 +1,10 @@ +Create procedure dbo.AMB_InfoPdfTrim ( @CF varchar(20) = 'DMECST71D10H501E') as +BEGIN + Declare @dtTrime numeric = (select MAX(dttrim) from c6stagingPeriodico.wseips) + Select 'PERIMETRO' APPO_CONTRATTI , * From C6StagingPeriodico.APPO_CONTRATTI where Cod_Fiscale = @CF + Select 'FTP' GESTIONE_PDF_FTP , * From C6MartPeriodico.GESTIONE_PDF_FTP where CodiceFiscale = @CF + Select 'FTP_HST' GESTIONE_PDF_FTP_HST , * From C6MartPeriodico.GESTIONE_PDF_FTP_HST where CodiceFiscale = @CF + select distinct 'wseiPS' wseiPS, 'Profilo Scaduto' as DescrErr, * from c6stagingPeriodico.wseips where CodFis = @CF and dttrim = @dtTrime + select distinct 'wseiDC' wseiDC, case tipolett when '0' then 'RFA=0' when '6' then 'RFA Minus' when '2' then 'BLACKLIST RFA MINUS CLIENTE SEI E IMMOBILIARE' when 'A' then 'Profilo EC' END AS DescrErr, * from c6stagingPeriodico.wseiDC where CodFis = @CF and dttrim = @dtTrime and TIPOLETT not in ('R','S') + Select 'ExcludedList' ExcludedList, * from [C6MartPeriodico].[ExcludedList] e where e.codicefiscale = @CF +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_AMB_InfoTRIM.sql b/sql/storedProduzione/dbo_AMB_InfoTRIM.sql new file mode 100644 index 00000000..2c8ee188 --- /dev/null +++ b/sql/storedProduzione/dbo_AMB_InfoTRIM.sql @@ -0,0 +1,19 @@ +Create procedure dbo.AMB_InfoTRIM ( @CF varchar(20) = 'DMECST71D10H501E') as +BEGIN + Select 'X' GESTIONE_PDF_FTP , * From C6Mart.GESTIONE_PDF_FTP where CodiceFiscale = @CF + Select 'X' vInfoCliente_PROD , chiaveClientePB, codFis, pIva, rete, codiceContratto, StatoContratto, Agente, chiavePb, NomePb, CognomePb, * From consuni.consulenzaunica.dbo.vinfocliente where (CodFis = @CF or Piva= @CF) + Select 'X' gestione_email , * From C6Mart.gestione_email where Cod_Fiscale = @CF + Select 'X' GESTIONE_PDF_FTP , * From C6MartPeriodico.GESTIONE_PDF_FTP where CodiceFiscale = @CF + Select 'X' GESTIONE_PDF_FTP_HST , * From C6MartPeriodico.GESTIONE_PDF_FTP_HST where CodiceFiscale = @CF + Select 'X' ContrattiPretrimestrale , * From C6StagingPeriodico.ContrattiPretrimestrale where Cod_Fiscale = @CF + Select 'X' APPO_CONTRATTI , * From C6StagingPeriodico.APPO_CONTRATTI where Cod_Fiscale = @CF + Select 'X' CONTRATTOSEI , * From C6MartPeriodico.CONTRATTOSEI where Cod_Fiscale = @CF + Select 'X' ANAG_CLIENTI , * From C6MartPeriodico.ANAG_CLIENTI where Cod_Fiscale = @CF + Select 'X' controllo_trimestrale , * From C6MartPeriodico.controllo_trimestrale where Cod_Fiscale = @CF + --c6martperiodico.gestione_zip_ftp zip + Select 'X' CRUSCOTTO_CONTRATTISEI , * From C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where CodiceFiscale = @CF + Select 'X' Popola_PiramideModello , * From C6StagingPeriodico.Popola_PiramideModello where Cod_Fiscale = @CF + Select 'X' RP_InfoCliente , * From C6STAGINGPERIODICO.RP_InfoCliente where (CodFis = @CF or piva = @CF ) + Select 'X' ANAG_CLIENTI , * From C6MartPeriodico.ANAG_CLIENTI where Cod_Fiscale = @CF + Select 'X' PATRIMONIO , * From c6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where Cod_Fiscale = @CF +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_AMB_VerificaLettere.sql b/sql/storedProduzione/dbo_AMB_VerificaLettere.sql new file mode 100644 index 00000000..eacce7fa --- /dev/null +++ b/sql/storedProduzione/dbo_AMB_VerificaLettere.sql @@ -0,0 +1,450 @@ +--INFORMAZIONI UTILI +--La vista vPatrimoniobfAggregato_senzaNobPreZ riporta i dati del portafoglio del cliente su +--cui viene eseguito il check di superamenteo della soglia di 50K. Questa non corrisponde +--all'intero patrimonio del cliente (che è invece presente sulla vPatrimoniobfAggregato) +--ma i soli prodotti che sono inclusi nel servizio SEI, per cui questi sono i soli prodotti +--che contribuiscono al superamento della soglia +----TABELLA DI LOG LETTERE DI BENVENUTO (VIENE TRONCATA A OGNI LANCIO) +--select * +--from LOG_ESECUZIONE +--order by Inizio desc +----UPDATE PER PASSARE DA SEI IN ATTIVAZIONE A SEI ATTIVATO (INSERIRE LA DATA DI GENERAZIONE DELLA LETTERA DI BENVENUTO) +--select top 100 * +----update tab set dtvalid = '2024-05-09 21:29:02.817' +--from Consuni.ConsulenzaUnica.dbo.contratto tab +--where chiaveclientepb= 1713909 +--PER TROVARE LA DATA DI GENERAZIONE CONSULTARE LA TABELLA c6mart.gestione_pdf_ftp +--select * from c6mart.gestione_pdf_ftp where CodiceFiscale='' +-- exec dbo.AMB_VerificaLettere 'MRNLSN62C09L424J' +CREATE procedure dbo.AMB_VerificaLettere ( @cf varchar(20) = 'DMECST71D10H501E') as +BEGIN + --DECLARE @cf VARCHAR(16) = 'VCCMHL75S29D612I' + DECLARE @DataGenerazione varchar(20) + print 'Caso: ' + @cf + -- Controllo se è stato stampato nella tabella gestione_pdf_ftp + IF EXISTS (SELECT 1 FROM c6mart.gestione_pdf_ftp WHERE codicefiscale = @cf) + BEGIN + select @DataGenerazione = convert(varchar, DataGenerazione, 103) from c6mart.gestione_pdf_ftp where CodiceFiscale=@cf + PRINT 'Lettera di Benvenuto Stampata nella tabella gestione_pdf_ftp' + + ' (' + @DataGenerazione + ')' + END + ELSE + BEGIN + PRINT 'ERRORE: Lettera di Benvenuto Non Stampata: Controllo nella rp_vcontrattipergenerazionereport' + -- Controllo nella tabella rp_vcontrattipergenerazionereport se non trovato in gestione_pdf_ftp + IF EXISTS (SELECT 1 FROM c6mart.rp_vcontrattipergenerazionereport WHERE cod_fiscale = @cf) --SELECT * FROM c6mart.rp_vtuttiicontratti + BEGIN + PRINT 'Codice fiscale trovato nella tabella rp_vcontrattipergenerazionereport' + END + ELSE + BEGIN + PRINT 'ERRORE: Codice fiscale non trovato in entrambe le tabelle ( gestione_pdf_ftp e rp_vcontrattipergenerazionereport)' + END + END + -- Fine controllo + --Fine controllo se è stato stampato + --controllo se è nella tabella contratti da escludere + IF EXISTS (SELECT 1 FROM C6Mart.Contratti_Da_Escludere tab WHERE cod_fiscale = @cf) + PRINT 'Il contratto è inserito in una lista di contratti da escludere C6Mart.Contratti_Da_Escludere' + ELSE IF EXISTS (SELECT 1 FROM C6Mart.tbNotAllocatedResources where COD_FISCALE = @cf) + PRINT 'Il contratto è inserito in una lista di contratti da escludere C6Mart.tbNotAllocatedResources' + ELSE + PRINT 'Il contratto non è inserito in una lista di contratti da escludere' + --fine controllo se è nella tabella contratti da escludere + --controllo nella rp_vtuttiicontratti + DECLARE @condizioneNonSoddisfatta NVARCHAR(MAX) = '' + IF NOT EXISTS ( + SELECT 1 + FROM c6mart.rp_vtuttiicontratti + WHERE Cod_Fiscale = @cf + ) + BEGIN + SET @condizioneNonSoddisfatta = 'ERRORE: Cod_Fiscale non trovato nella tabella rp_vtuttiicontratti' + END + ELSE + BEGIN + SELECT + @condizioneNonSoddisfatta = + CASE + WHEN cod_agente IN ('015126') THEN @condizioneNonSoddisfatta + 'cod_agente non soddisfatta; ' + WHEN InvioBenvenuto = 'S' THEN @condizioneNonSoddisfatta + 'InvioBenvenuto non soddisfatta; ' + WHEN ISNULL(RisorseNa, 'N') = 'S' THEN @condizioneNonSoddisfatta + 'RisorseNa non soddisfatta; verifica la C6Staging.rp_Consulenza (Se manca qui metti in sessione) e C6staging.Spb_Contr_Sintesi (Se manca qui problema Servizi)' + WHEN ISNULL(NumRevoche, 0) <> 0 THEN @condizioneNonSoddisfatta + 'NumRevoche non soddisfatta; ' + WHEN ( + DATEDIFF(d, Data_Perf, GETDATE()) < CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND cod_agente <> '015312' + ) THEN @condizioneNonSoddisfatta + 'Data_Perf non soddisfatta; ' + WHEN Cod_Fiscale NOT IN (SELECT COD_FISCALE FROM C6Mart.PIRAMIDE_MOD) THEN @condizioneNonSoddisfatta + 'Cod_Fiscale non presente in PIRAMIDE_MOD; ' + ELSE @condizioneNonSoddisfatta + END + FROM c6mart.rp_vtuttiicontratti + WHERE Cod_Fiscale = @cf + END + IF @condizioneNonSoddisfatta <> '' + BEGIN + PRINT 'ERRORE: Condizione/e non soddisfatta/e: ' + @condizioneNonSoddisfatta + END + ELSE + BEGIN + PRINT 'Cliente presente nella rp_vtuttiicontratti con tutte le condizioni soddisfatte.' + END + --fine controllo nella rp_vtuttiicontratti + --controllo chave cliente duplicata + IF EXISTS ( + SELECT 1 + FROM consuni.consulenzaunica.dbo.vinfocliente + WHERE (codfis = @cf or piva=@cf or codman=SUBSTRING(@cf,4,len(@cf))) AND tipologia = 'A' + HAVING COUNT(DISTINCT rete) > 1 + ) + BEGIN + PRINT 'ERRORE: Chiavecliente duplicata' + SET NOCOUNT ON; + SELECT 'vinfocliente' _vinfocliente_PDC, * + FROM consuni.consulenzaunica.dbo.vinfocliente + WHERE (codfis = @cf or piva=@cf or codman=SUBSTRING(@cf,4,len(@cf))) AND tipologia = 'A' + SET NOCOUNT OFF; + END + ELSE + BEGIN + PRINT 'Nessuna ChiaveDuplicata sulla VinfoCliente' + -- SET NOCOUNT ON; + -- SELECT 'vinfocliente' _vinfocliente_PDC, * + -- FROM consuni.consulenzaunica.dbo.vinfocliente + -- WHERE (codfis = @cf or piva=@cf or codman=SUBSTRING(@cf,4,len(@cf))) AND tipologia = 'A' + -- SET NOCOUNT OFF; + END + --fine controllo chiavecliente duplicata + -- Controllo per stato contratto non valido + IF EXISTS ( + SELECT 1 + FROM consuni.consulenzaunica.dbo.vinfocliente + WHERE (codfis = @cf or piva=@cf or codman=SUBSTRING(@cf,4,len(@cf))) + AND tipologia = 'A' + AND statocontratto NOT IN ('SEI', 'AVANZATOBASE', 'REVOCASEI', 'DADVISORY') + ) + BEGIN + PRINT 'ERRORE: Stato contratto non valido' + END + ELSE + BEGIN + PRINT 'Stato contratto valido' + END + --Fine Controllo per stato contratto non valido + DECLARE @dtFirmaSEI DATETIME + SET @dtFirmaSEI = ( + SELECT MAX(dtFirmaSEI) + FROM consuni.consulenzaunica.dbo.vinfocliente + WHERE (codfis = @cf or piva=@cf or codman=SUBSTRING(@cf,4,len(@cf))) AND dtFirmaSEI IS NOT NULL + ) + DECLARE @currentDate DATETIME + SET @currentDate = GETDATE() + -- Controllo per data di firma + IF @dtFirmaSEI IS NULL + BEGIN + PRINT 'ERRORE: Nessuna data di firma trovata per il codice fiscale specificato.' + END + ELSE IF DATEADD(DAY, 15, @dtFirmaSEI) > @currentDate + BEGIN + PRINT 'ERRORE: Non sono ancora trascorsi 15 giorni dalla firma.' + END + ELSE + BEGIN + PRINT 'La firma è stata apposta da più di 15 giorni.' + -- Fine controllo data Firma + END + -- CURSORI Generazione Lettere SEI e DIRECT + declare @sogliaRfa as decimal (18,0) = (select valore from [CONSUNI].[ConsulenzaUnica].[dbo].[param] where parametro = 'sogliaRFA') + declare @sogliaRfaDB as decimal (18,0) = 0.0 + declare @data_perf as datetime = '20200401' + -- -- -- CURSORE SEI -- -- -- + SELECT distinct + 'CURSORE SEI' CURSORE_SEI + , '--' CONDIZIONI + , Case When nar.rete is null Then 'OK' Else 'KO'End CONDIZIONE_AllocatedResources + , Case when ((patrimonioBF.ctv >= @sogliaRFA or contratti.data_perf < @data_perf) or (patrimonioBF.ctv >= 25000 and contratti.data_inizioavanzato < '20240412')) + then 'OK' + Else 'KO' + End CONDIZIONE_Soglie_e_Date + , @sogliaRFA sogliaRFA_RIFERIMENTO + , patrimonioBF.ctv + , @data_perf data_perf_RIFERIMENTO + , contratti.data_perf + , contratti.data_inizioavanzato + , '---' DATI + ,contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto--,2 as tip_contratto-- + ,case when contratti.tip_contratto=3 then 6 else 5 end as idModelloDiagnosi --5 as idModelloDiagnosi aggiunta per Fideuram Direct / Direct Banker + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio , + ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + -- modifica del 22/10/2018 - il flag professionale è più sotto- questo è un errore + ------0 as Flgprof, + 0 as flagpg + ----------------------------------------------------- fine 09/3/2018 + , + case contratti.TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.tbNotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato_SenzaNobPrez patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + --left join c6mart.vcontrattic6 vcontr + --on vcontr.codicecontratto = contratti.codicecontratto + where 1=1 + and contratti.Rete in ('F', 'S', 'W') + and contratti.Cod_Fiscale = @CF + and contratti.tip_contratto != 3 + -- -- -- DIRECT -- -- -- + SELECT distinct + 'CURSORE DIRECT' CURSORE_DIRECT + , '--' CONDIZIONI + , Case When nar.rete is null Then 'OK' Else 'KO'End CONDIZIONE_AllocatedResources + , Case when exists (select 1 from c6staging.VAR_ADEGUATEZZA_INDICATORI ind Where ind.CODICE_FISCALE = contratti.Cod_Fiscale and ind.rete = contratti.rete) Then 'OK' Else 'KO'End CONDIZIONE_ADEGUATEZZA_INDICATORI + , Case when (patrimonioBF.ctv >= @sogliaRFADB and vcontr.data_perf < @data_perf) + then 'OK' + Else 'KO' + End CONDIZIONE_SoglieDate + , @sogliaRFAdb sogliaRFA_RIFERIMENTO + , patrimonioBF.ctv + , @data_perf data_perf_RIFERIMENTO + , contratti.data_perf + , '---' DATI + , contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,case when contratti.tip_contratto=3 then 6 else 5 end as idModelloDiagnosi --5 as idModelloDiagnosi aggiunta per Fideuram Direct / Direct Banker + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio , + ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + -- modifica del 22/10/2018 - il flag professionale è più sotto- questo è un errore + ------0 as Flgprof, + 0 as flagpg + ----------------------------------------------------- fine 09/3/2018 + , + case contratti.TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.tbNotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato_SenzaNobPrez patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6mart.vcontrattic6 vcontr + on vcontr.codicecontratto = contratti.codicecontratto + where 1=1 + and contratti.Rete in ('F', 'S', 'W') + and contratti.Cod_Fiscale = @CF + and contratti.tip_contratto = 3 + -- Tabelle di riferimento + select '-vinfocliente' vinfocliente,* from consuni.consulenzaunica.dbo.vinfocliente where codfis=@cf + select '-rp_vtuttiicontratti-' rp_vtuttiicontratti,* from c6mart.rp_vtuttiicontratti where Cod_fiscale=@cf + select '-rp_vcontrattipergenerazionereport-' rp_vcontrattipergenerazionereport,* from c6mart.rp_vcontrattipergenerazionereport where Cod_Fiscale=@cf + select '-gestione_email-' gestione_email,* from c6mart.gestione_email where Cod_Fiscale=@cf + select '-gestione_pdf_ftp-' gestione_pdf_ftp,* from c6mart.gestione_pdf_ftp where CodiceFiscale=@cf + select '-Contratti_Da_Escludere-' Contratti_Da_Escludere, * from C6Mart.Contratti_Da_Escludere where cod_fiscale=@cf + select '-tbNotAllocatedResources-' tbNotAllocatedResources, * from C6Mart.tbNotAllocatedResources where COD_FISCALE = @cf + select '-C6Staging.rp_Consulenza-' rp_Consulenza, * from C6Staging.rp_Consulenza where COD_FISCALE = @cf + select '-C6staging.Spb_Contr_Sintesi-' Spb_Contr_Sintesi,* from C6staging.Spb_Contr_Sintesi where CODICEFISCALE = @cf + select '-vPatrimoniobfAggregato-' as Vista_PatrimoniobfAggregato, * from [C6Mart].[vPatrimoniobfAggregato] where COD_FISCALE = @cf + union + select '-vPatrimoniobfAggregato_senzaNobPrez-' as Vista , * from [C6Mart].[vPatrimoniobfAggregato_SenzaNobPrez] where COD_FISCALE = @cf +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_Aggiorna_Trimestrale_SEI_Processi.sql b/sql/storedProduzione/dbo_Aggiorna_Trimestrale_SEI_Processi.sql new file mode 100644 index 00000000..1839764b --- /dev/null +++ b/sql/storedProduzione/dbo_Aggiorna_Trimestrale_SEI_Processi.sql @@ -0,0 +1,22 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE Aggiorna_Trimestrale_SEI_Processi + -- Add the parameters for the stored procedure here + @Attivita as varchar(30) = NULL, + @Semaforo as varchar(10) = NULL, --Y(ellow) --> in esecuzione, R(ed)= fallita,G(reen) = ok eseguita,W(hite) = mai eseguita + @Datainizio as datetime = NULL, + @DataFine as datetime = NULL, + @Note as text = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --if (@Attivita is not null) + --update [dbo].[Cruscotto_Trimestrale_SEI_Processi] + --set (semaforo + --where attivita = @Attivita +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_CERCA.sql b/sql/storedProduzione/dbo_CERCA.sql new file mode 100644 index 00000000..dcfe4f9e --- /dev/null +++ b/sql/storedProduzione/dbo_CERCA.sql @@ -0,0 +1,55 @@ +--[CERCA] '%COD%','P','c6martperiodico' +CREATE procedure [dbo].[CERCA] + @testo varchar(500) = '', + @tipo varchar(2) = '', + @schema varchar(500) = '' +AS +BEGIN +IF @tipo <> '' AND @schema <> '' + SELECT SCHEMA_NAME(schema_id),* FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo) + AND SCHEMA_NAME(schema_id) = @schema + AND type = @tipo + order by 1 +IF @tipo <> '' AND @schema = '' + SELECT SCHEMA_NAME(schema_id),* FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo) + --AND SCHEMA_NAME(schema_id) = @schema + AND type = @tipo + order by 1 +IF @tipo = '' AND @schema <> '' + SELECT SCHEMA_NAME(schema_id),* FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo) + AND SCHEMA_NAME(schema_id) = @schema + --AND type = @tipo + order by 1 +IF @tipo = '' AND @schema = '' + SELECT SCHEMA_NAME(schema_id),* FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo) + --AND SCHEMA_NAME(schema_id) = @schema + --AND type = @tipo + order by 1 +--AF = funzione di aggregazione (CLR) +--C = vincolo CHECK +--D = DEFAULT (vincolo o valore autonomo) +--F = vincolo FOREIGN KEY +--FN = funzione scalare SQL +--FS = funzione scalare di assembly (CLR) +--FT = funzione valutata a livello di tabella assembly (CLR) +--IF = funzione SQL inline valutata a livello di tabella +--IT = tabella interna +--P = stored procedure SQL +--PC = stored procedure di assembly (CLR) +--PG = guida di piano +--PK = vincolo PRIMARY KEY +--R = regola (tipo obsoleto, autonoma) +--RF = procedura-filtro-replica +--S = tabella di base di sistema +--SN = sinonimo +--SO = oggetto sequenza +--SQ = coda di servizio +--TA = trigger DML assembly (CLR) +--TF = funzione valutata a livello di tabella SQL +--TR = trigger DML SQL +--TT = tipo tabella +--U = tabella (definita dall'utente) +--UQ = vincolo UNIQUE +--V = vista +--X = stored procedure estesa +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_CERCA_FA.sql b/sql/storedProduzione/dbo_CERCA_FA.sql new file mode 100644 index 00000000..1cb0230a --- /dev/null +++ b/sql/storedProduzione/dbo_CERCA_FA.sql @@ -0,0 +1,56 @@ +--[CERCA] '%COD%','P','c6martperiodico' +CREATE procedure [dbo].[CERCA_FA] + @testo varchar(500) = '', + @tipo varchar(2) = '', + @schema varchar(500) = '' +AS +BEGIN +set @testo = '%' + @testo + '%' +IF @tipo <> '' AND @schema <> '' + SELECT 'sp_helptext ''' + SCHEMA_NAME(schema_id) + '.' + name + '''' sp_helptext, SCHEMA_NAME(schema_id) SchemaName, * FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo) + AND SCHEMA_NAME(schema_id) = @schema + AND type = @tipo + order by 1 +IF @tipo <> '' AND @schema = '' + SELECT 'sp_helptext ''' + SCHEMA_NAME(schema_id) + '.' + name + '''' sp_helptext, SCHEMA_NAME(schema_id) SchemaName, * FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo) + --AND SCHEMA_NAME(schema_id) = @schema + AND type = @tipo + order by 1 +IF @tipo = '' AND @schema <> '' + SELECT 'sp_helptext ''' + SCHEMA_NAME(schema_id) + '.' + name + '''' sp_helptext, SCHEMA_NAME(schema_id) SchemaName, * FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo) + AND SCHEMA_NAME(schema_id) = @schema + --AND type = @tipo + order by 1 +IF @tipo = '' AND @schema = '' + SELECT 'sp_helptext ''' + SCHEMA_NAME(schema_id) + '.' + name + '''' sp_helptext, SCHEMA_NAME(schema_id) SchemaName, * FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo) + --AND SCHEMA_NAME(schema_id) = @schema + --AND type = @tipo + order by 1 +--AF = funzione di aggregazione (CLR) +--C = vincolo CHECK +--D = DEFAULT (vincolo o valore autonomo) +--F = vincolo FOREIGN KEY +--FN = funzione scalare SQL +--FS = funzione scalare di assembly (CLR) +--FT = funzione valutata a livello di tabella assembly (CLR) +--IF = funzione SQL inline valutata a livello di tabella +--IT = tabella interna +--P = stored procedure SQL +--PC = stored procedure di assembly (CLR) +--PG = guida di piano +--PK = vincolo PRIMARY KEY +--R = regola (tipo obsoleto, autonoma) +--RF = procedura-filtro-replica +--S = tabella di base di sistema +--SN = sinonimo +--SO = oggetto sequenza +--SQ = coda di servizio +--TA = trigger DML assembly (CLR) +--TF = funzione valutata a livello di tabella SQL +--TR = trigger DML SQL +--TT = tipo tabella +--U = tabella (definita dall'utente) +--UQ = vincolo UNIQUE +--V = vista +--X = stored procedure estesa +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_CHECK_INSERT_PRODOTTI_NON_A_CATALOGO.sql b/sql/storedProduzione/dbo_CHECK_INSERT_PRODOTTI_NON_A_CATALOGO.sql new file mode 100644 index 00000000..0a07f309 --- /dev/null +++ b/sql/storedProduzione/dbo_CHECK_INSERT_PRODOTTI_NON_A_CATALOGO.sql @@ -0,0 +1,7 @@ +CREATE procedure [dbo].[CHECK_INSERT_PRODOTTI_NON_A_CATALOGO] +as +truncate table c6stagingperiodico.spb_contr_sintesi_prodotti_NO_PID +insert into c6stagingperiodico.spb_contr_sintesi_prodotti_NO_PID +select * +from c6stagingperiodico.spb_contr_sintesi +where positionid is null \ No newline at end of file diff --git a/sql/storedProduzione/dbo_CONTROLLO_COMPLESSITA.sql b/sql/storedProduzione/dbo_CONTROLLO_COMPLESSITA.sql new file mode 100644 index 00000000..25bcf7d7 --- /dev/null +++ b/sql/storedProduzione/dbo_CONTROLLO_COMPLESSITA.sql @@ -0,0 +1,30 @@ +CREATE procedure [dbo].[CONTROLLO_COMPLESSITA] +as +begin +declare @cf as varchar(16) +set @cf = 'CSRRNZ50R55I802I' +SELECT max(a.complex) as complexMaxInPTF +FROM C6STAGINGPERIODICO.CATITEMREF A INNER JOIN +C6MARTPERIODICO.PATRIMONIO_Bf B +ON A.CATALOGUEID = SUBSTRING(B.POSITION_ID,1,57) +WHERE B.COD_FISCALE=@cf +SELECT max(a.complex) as complexMaxInPTFGiorn +FROM C6STAGING.CATITEMREF A INNER JOIN +C6MARTPERIODICO.PATRIMONIO_Bf B +ON A.CATALOGUEID = SUBSTRING(B.POSITION_ID,1,57) +WHERE B.COD_FISCALE=@cf +SELECT cod_profec as complexProfiloCliente +FROM C6STAGINGPERIODICO.wSEIAN2 +WHERE CODFIS=@cf +AND DTTRIM =20110930 +SELECT * +FROM C6STAGINGPERIODICO.CATITEMREF A INNER JOIN +C6MARTPERIODICO.PATRIMONIO_Bf B +ON A.CATALOGUEID = SUBSTRING(B.POSITION_ID,1,57) +WHERE B.COD_FISCALE=@cf +SELECT * +FROM C6STAGING.CATITEMREF A INNER JOIN +C6MARTPERIODICO.PATRIMONIO_Bf B +ON A.CATALOGUEID = SUBSTRING(B.POSITION_ID,1,57) +WHERE B.COD_FISCALE=@cf +end \ No newline at end of file diff --git a/sql/storedProduzione/dbo_CREA_CAMPIONE.sql b/sql/storedProduzione/dbo_CREA_CAMPIONE.sql new file mode 100644 index 00000000..1995f4be --- /dev/null +++ b/sql/storedProduzione/dbo_CREA_CAMPIONE.sql @@ -0,0 +1,285 @@ +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE] + -- Add the parameters for the stored procedure here +AS +BEGIN +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select a.rete,a.cod_fiscale +from consuni_periodico.ConsulenzaUnica.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport + -- mod 11/7/2018 - vogliamo meno report + --select top 220 + --select top 100 + -- fine mod 11/7/2018 +-- mod 16/4/2019 - vogliamo più report :) +select top 0 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c6 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c16 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c42 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c39 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c45 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c56 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c57 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c58 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +-- modifica di Luca del 14/4/2016 - Per essere sicuri di estrarre tutti i cf in più richiesti pesco dal bacino che contiene +-- tutto cioè #appoCamp1 +-- luca from #appoCamp3 a +from #appoCamp1 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and a.rete+a.cod_fiscale in + (select rete + codicefiscale from [dbo].[Incl_SpecCdT_Campione] ) +-- modifica del 21/9/2018 per escludere dal campione i cf con risorse NA +-- la creazione della tabella CLIENTI_RISORSE_NA è stata inserita nel mart +and a.rete+a.cod_fiscale not in (select distinct rete + cod_fiscale from [C6MartPeriodico].[CLIENTI_RISORSE_NA] ) +-- fine modifica del 21/9/2018 +--aggiunta 13/06/2022 +select distinct * +into #campioneNoDuplicati +from appocampionereport +truncate table appocampionereport +insert into appoCampioneReport +select * from #campioneNoDuplicati +--fine aggiunta +drop table #appoCamp1 +drop table #appoCamp2 +drop table #appoCamp3 +drop table #campioneNoDuplicati +truncate table C6MartPeriodico.TB_Campione +insert into C6MartPeriodico.TB_Campione +select distinct rete, cod_fiscale, 1 --1 è il campo flag stampa che indica che dev esser stampato in fase di generazione del campione, 0 niente stampa +from appocampionereport +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_CREA_CAMPIONE_20160119.sql b/sql/storedProduzione/dbo_CREA_CAMPIONE_20160119.sql new file mode 100644 index 00000000..34883c90 --- /dev/null +++ b/sql/storedProduzione/dbo_CREA_CAMPIONE_20160119.sql @@ -0,0 +1,215 @@ +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_20160119] + -- Add the parameters for the stored procedure here +AS +BEGIN +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select rete,cod_fiscale +from consevo_periodico.ConsulenzaEvoluta.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc +insert into appocampionereport +select top 175 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c6 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c16 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c42 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and a.rete+a.cod_fiscale in + ('FTGLMRA30A04A409N' + ,'FBZZGPP46C18A409M' + ,'FCCRGPP54B27H307C' + ,'FCRNCST86C56G062N' + ,'FGHNDNL46L21G007R' + ,'FGNSMNL58D47H037E' + ,'FNAIGNE40H10B463Q' + ,'FNCLLCU74M70L682S' + ,'FPRNNTN32B06E003M' + ,'FPRTNMR29R62L219X' + ,'FRLDLCN35B18A409N' + ,'FRPILNI47M11L746H' + ,'FSNEPMR60S24I976R' + ,'FTBRFRZ68L20H037P' + ,'FTBRGBR37R22G062P' + ,'FTBRMRZ65H27H037W' + ,'FTTTGDE24D04A409P' + ,'FBRLGCR25P13B885H' + ,'FMRNNZE22A01F205W' + ,'FMRNGMR53P60F205P' +--casi test richiesti da scirocco 10/12/2015 per FOI80 + ,'FBLNMGR55B56D332B' + ,'FDNGGSN33A68B910W' + ,'FFVRPLA56S48Z614J' + ,'FDLLGNN47C09F952J' + ,'FDBNMRA65E67L049H' + ,'FLNZMLN35C46A564D' + ,'FCLNGNN47P06E606N' + ,'FBCHMTN58B07E398F' + ,'SSCSCMD53D12F052Q' +--CASI TEST Rossi Rosanna: Segnalazione di errata rendicontazione nel report di monitoraggio SEI - tt T-1205349-F4W8 + ,'FRSSRNN48C44A783Z' +-- CASI TEST PER CF CHE HANNO PRODOTTI DI BANCHE IN DEFAULT +,'FBNCMHL27S63I760X' +,'FCNTRME55S24B853O' +,'FCRMVGN49S53F791G' +,'FCRSGPT53M02D548K' +,'FGNAGLL33E53A393A' +,'FMGNLRI75A60H901Z' +,'FMGNLRI75A60H901Z' +,'FMNZMNL46C62A393V' +,'FMRNMNG53P46H294F' +,'FNTRMRZ67T17H223L' +,'FPLZLRA40T54L390R' +,'FPRTCHR52L69H017M' +,'FSRVDDE31L44A191J' +, 'SBNOSDR61T03F205W' +,'SBNOSDR61T03F205W' +,'SCLCLNE41M47H434D' +,'SCLCLNE41M47H434D' +,'SCPPBRN41H45C773S' +,'SMGNCRN32R54G547I' +,'SMZZCRL31P55G916D' +,'SSVLSFN64B08A390G' +) +drop table #appoCamp1 +drop table #appoCamp2 +drop table #appoCamp3 +truncate table C6MartPeriodico.TB_Campione +insert into C6MartPeriodico.TB_Campione +select rete, cod_fiscale, 1 --1 è il campo flag stampa che indica che dev esser stampato in fase di generazione del campione, 0 niente stampa +from appocampionereport +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_CREA_CAMPIONE_20160318.sql b/sql/storedProduzione/dbo_CREA_CAMPIONE_20160318.sql new file mode 100644 index 00000000..b30daf6f --- /dev/null +++ b/sql/storedProduzione/dbo_CREA_CAMPIONE_20160318.sql @@ -0,0 +1,320 @@ +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_20160318] + -- Add the parameters for the stored procedure here +AS +BEGIN +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select rete,cod_fiscale +from consevo_periodico.ConsulenzaEvoluta.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport +select top 175 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c6 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c16 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c42 > 0 +order by b.tip_contratto desc, tot desc +------------------------------------------------------------------------------LUCA +--insert into appocampionereport +--select top 1 +----DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +--a.rete,a.cod_fiscale,'',b.tip_contratto +----DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +----case when b.tip_contratto=0 then 'OLD' +---- when b.tip_contratto=1 then 'AFFLUENT' +---- when b.tip_contratto=2 then 'PRIVATE' +----end as TipoContratto, +----a.* +--from #appoCamp3 a +--inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--where stato_report = 23) +--and c39 > 0 +--order by b.tip_contratto desc, tot desc +--insert into appocampionereport +--select top 1 +----DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +--a.rete,a.cod_fiscale,'',b.tip_contratto +----DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +----case when b.tip_contratto=0 then 'OLD' +---- when b.tip_contratto=1 then 'AFFLUENT' +---- when b.tip_contratto=2 then 'PRIVATE' +----end as TipoContratto, +----a.* +--from #appoCamp3 a +--inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--where stato_report = 23) +--and c45 > 0 +--order by b.tip_contratto desc, tot desc +--insert into appocampionereport +--select top 1 +----DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +--a.rete,a.cod_fiscale,'',b.tip_contratto +----DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +----case when b.tip_contratto=0 then 'OLD' +---- when b.tip_contratto=1 then 'AFFLUENT' +---- when b.tip_contratto=2 then 'PRIVATE' +----end as TipoContratto, +----a.* +--from #appoCamp3 a +--inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--where stato_report = 23) +--and c56 > 0 +--order by b.tip_contratto desc, tot desc +--insert into appocampionereport +--select top 1 +----DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +--a.rete,a.cod_fiscale,'',b.tip_contratto +----DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +----case when b.tip_contratto=0 then 'OLD' +---- when b.tip_contratto=1 then 'AFFLUENT' +---- when b.tip_contratto=2 then 'PRIVATE' +----end as TipoContratto, +----a.* +--from #appoCamp3 a +--inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--where stato_report = 23) +--and c57 > 0 +--order by b.tip_contratto desc, tot desc +--insert into appocampionereport +--select top 1 +----DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +--a.rete,a.cod_fiscale,'',b.tip_contratto +----DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +----case when b.tip_contratto=0 then 'OLD' +---- when b.tip_contratto=1 then 'AFFLUENT' +---- when b.tip_contratto=2 then 'PRIVATE' +----end as TipoContratto, +----a.* +--from #appoCamp3 a +--inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--where stato_report = 23) +--and c58 > 0 +--order by b.tip_contratto desc, tot desc +--------------------------------------- FINE LUCA +insert into appocampionereport +select +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and a.rete+a.cod_fiscale in + ('FTGLMRA30A04A409N' + ,'FBZZGPP46C18A409M' + ,'FCCRGPP54B27H307C' + ,'FCRNCST86C56G062N' + ,'FGHNDNL46L21G007R' + ,'FGNSMNL58D47H037E' + ,'FNAIGNE40H10B463Q' + ,'FNCLLCU74M70L682S' + ,'FPRNNTN32B06E003M' + ,'FPRTNMR29R62L219X' --co non più attivo + ,'FRLDLCN35B18A409N' + ,'FRPILNI47M11L746H' + ,'FSNEPMR60S24I976R' + ,'FTBRFRZ68L20H037P' + ,'FTBRGBR37R22G062P' + ,'FTBRMRZ65H27H037W' + ,'FTTTGDE24D04A409P' -- co non più attivo + ,'FBRLGCR25P13B885H' + ,'FMRNNZE22A01F205W' -- profilo scaduto + ,'FMRNGMR53P60F205P' +--casi test richiesti da scirocco 10/12/2015 per FOI80 + ,'FBLNMGR55B56D332B' + ,'FDNGGSN33A68B910W' + ,'FFVRPLA56S48Z614J' + ,'FDLLGNN47C09F952J' + ,'FDBNMRA65E67L049H' + ,'FLNZMLN35C46A564D' + ,'FCLNGNN47P06E606N' + ,'FBCHMTN58B07E398F' + ,'SSCSCMD53D12F052Q' +--CASI TEST Rossi Rosanna: Segnalazione di errata rendicontazione nel report di monitoraggio SEI - tt T-1205349-F4W8 + ,'FRSSRNN48C44A783Z' +-- CASI TEST PER CF CHE HANNO PRODOTTI DI BANCHE IN DEFAULT +,'FBNCMHL27S63I760X' +,'FCNTRME55S24B853O' +,'FCRMVGN49S53F791G' +,'FCRSGPT53M02D548K' +,'FGNAGLL33E53A393A' +,'FMGNLRI75A60H901Z' +,'FMGNLRI75A60H901Z' +,'FMNZMNL46C62A393V' +,'FMRNMNG53P46H294F' +,'FNTRMRZ67T17H223L' +,'FPLZLRA40T54L390R' +,'FPRTCHR52L69H017M' +,'FSRVDDE31L44A191J' +, 'SBNOSDR61T03F205W' +,'SBNOSDR61T03F205W' +,'SCLCLNE41M47H434D' +,'SCLCLNE41M47H434D' +,'SCPPBRN41H45C773S' +,'SMGNCRN32R54G547I' +,'SMZZCRL31P55G916D' +,'SSVLSFN64B08A390G' +) +drop table #appoCamp1 +drop table #appoCamp2 +drop table #appoCamp3 +truncate table C6MartPeriodico.TB_Campione +insert into C6MartPeriodico.TB_Campione +select distinct rete, cod_fiscale, 1 --1 è il campo flag stampa che indica che dev esser stampato in fase di generazione del campione, 0 niente stampa +from appocampionereport +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_CREA_CAMPIONE_20160414.sql b/sql/storedProduzione/dbo_CREA_CAMPIONE_20160414.sql new file mode 100644 index 00000000..a822d2a3 --- /dev/null +++ b/sql/storedProduzione/dbo_CREA_CAMPIONE_20160414.sql @@ -0,0 +1,538 @@ +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_20160414] + -- Add the parameters for the stored procedure here +AS +BEGIN +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select rete,cod_fiscale +from consevo_periodico.ConsulenzaEvoluta.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport +select top 175 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c6 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c16 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c42 > 0 +order by b.tip_contratto desc, tot desc +------------------------------------------------------------------------------LUCA +--insert into appocampionereport +--select top 1 +----DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +--a.rete,a.cod_fiscale,'',b.tip_contratto +----DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +----case when b.tip_contratto=0 then 'OLD' +---- when b.tip_contratto=1 then 'AFFLUENT' +---- when b.tip_contratto=2 then 'PRIVATE' +----end as TipoContratto, +----a.* +--from #appoCamp3 a +--inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--where stato_report = 23) +--and c39 > 0 +--order by b.tip_contratto desc, tot desc +--insert into appocampionereport +--select top 1 +----DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +--a.rete,a.cod_fiscale,'',b.tip_contratto +----DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +----case when b.tip_contratto=0 then 'OLD' +---- when b.tip_contratto=1 then 'AFFLUENT' +---- when b.tip_contratto=2 then 'PRIVATE' +----end as TipoContratto, +----a.* +--from #appoCamp3 a +--inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--where stato_report = 23) +--and c45 > 0 +--order by b.tip_contratto desc, tot desc +--insert into appocampionereport +--select top 1 +----DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +--a.rete,a.cod_fiscale,'',b.tip_contratto +----DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +----case when b.tip_contratto=0 then 'OLD' +---- when b.tip_contratto=1 then 'AFFLUENT' +---- when b.tip_contratto=2 then 'PRIVATE' +----end as TipoContratto, +----a.* +--from #appoCamp3 a +--inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--where stato_report = 23) +--and c56 > 0 +--order by b.tip_contratto desc, tot desc +--insert into appocampionereport +--select top 1 +----DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +--a.rete,a.cod_fiscale,'',b.tip_contratto +----DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +----case when b.tip_contratto=0 then 'OLD' +---- when b.tip_contratto=1 then 'AFFLUENT' +---- when b.tip_contratto=2 then 'PRIVATE' +----end as TipoContratto, +----a.* +--from #appoCamp3 a +--inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--where stato_report = 23) +--and c57 > 0 +--order by b.tip_contratto desc, tot desc +--insert into appocampionereport +--select top 1 +----DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +--a.rete,a.cod_fiscale,'',b.tip_contratto +----DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +----case when b.tip_contratto=0 then 'OLD' +---- when b.tip_contratto=1 then 'AFFLUENT' +---- when b.tip_contratto=2 then 'PRIVATE' +----end as TipoContratto, +----a.* +--from #appoCamp3 a +--inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--where stato_report = 23) +--and c58 > 0 +--order by b.tip_contratto desc, tot desc +--------------------------------------- FINE LUCA +insert into appocampionereport +select +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and a.rete+a.cod_fiscale in +-- RACCOMANDATE + ('FTGLMRA30A04A409N' + ,'FBZZGPP46C18A409M' + ,'FCCRGPP54B27H307C' + ,'FCRNCST86C56G062N' + ,'FGHNDNL46L21G007R' + ,'FGNSMNL58D47H037E' + ,'FNAIGNE40H10B463Q' + ,'FNCLLCU74M70L682S' + ,'FPRNNTN32B06E003M' + ,'FPRTNMR29R62L219X' --co non più attivo + ,'FRLDLCN35B18A409N' + ,'FRPILNI47M11L746H' + ,'FSNEPMR60S24I976R' + ,'FTBRFRZ68L20H037P' + ,'FTBRGBR37R22G062P' + ,'FTBRMRZ65H27H037W' + ,'FTTTGDE24D04A409P' -- co non più attivo + ,'FBRLGCR25P13B885H' + ,'FMRNNZE22A01F205W' -- profilo scaduto + ,'FMRNGMR53P60F205P' +-- 250 casi test individuati da Scirocco-Quaranta +,'SBBALDA42L69C660I', +'FBCCFNC30H12L219Y', +'FBFFNGL37D19D245V', +'FBGLCRD41B61F205K', +'FBGZGNN40M45D612G', +'FBLLLGU46L21A191N', +'FBNGMLL33C49A794A', +'SBNOLGU65H28E290R', +'SBRGNRC63L01L219L', +'FBAAMTR48C43I470Y', +'FBAEMJA43E70Z133C', +'SBBBLGO28A43F637C', +'FBCCDCE46S22I068J', +'FBRZLVR50S44F965F', +'FCCOMNL48P22A056F', +'FCHRLBT33H58L219J', +'FCLMGNZ58E02M147X', +'FCRTLRD44A17A246K', +'SCVCRTI69D68G643C', +'SCZZNNP52R69D969U', +'SDGHCLD59T30L304C', +'FDRSGPP62S55A512W', +'SDSDGRZ52M46G628J', +'FDSMPLG48D30B424N', +'SFBBBBR69D42Z133D', +'SFBNNZE58B58A089T', +'SFVRFRZ63L10L840J', +'SGTAMDR50M71C415E', +'SJCCGRG38T27A326Q', +'SJCPGFR42E03G224H', +'SLVRDLA25S47B157C', +'FBFFNGL40C07A191T', +'SMRTFRL70D17Z114U', +'SNCLCRL76E10H501X', +'FBGODNL68R47H294D', +'SBLDMTN83R42L746N', +'FBLGVLI42D59G747R', +'FPGLCRL55S04F158Y', +'SPGLVCN44C50F817O', +'SPLTCLD48T07L753V', +'FPRVNNL54D46A794W', +'FRNCNDR88B16A475F', +'FRVSDGN37D67F133B', +'FSCCFNC51T07L030D', +'FSCGLRA60S53L736D', +'STLICCT55D19C351B', +'FVLNLVI62R29F398C', +'FZPTCST86P30Z604K', +'FBLLRLD34B06G664X', +'SBNDSNE47R62A040Z', +'FBNNNLI66A49E715K', +'SCCCSDR59E28E472B', +'FCRTGPP56M65F304H', +'SCVDMNG50E49D482N', +'SDBNFNC38L24D969G', +'SDFBPLA70L28H501P', +'FDLMGPR21H24F205P', +'FDLMLCU63R03E289N', +'FDMSLRS44E06D609O', +'SDSCPRZ60M61F952X', +'SDZZLVI61P18L219F', +'FFBBFNC35T50A944D', +'FFBBSVC40R53A851T', +'FFCCFDL48D10F242K', +'SFNTMRA47A11H501U', +'FFRNNGL61R17D704E', +'SFTTMRM60B53F508M', +'SFZZNNA46E52B293U', +'SGAINRC35L25D969J', +'SGBRGLC70L03F257S', +'FGBRGRL41L68H501E', +'FGBRGRL53L14H714J', +'FGVNNDR72S20E463X', +'SLZTPCR47S29A017U', +'FMZZSFN68D05E507F', +'FNBBFNC33T13H223X', +'SNCLFNC61R29G482Y', +'FNSLGRG70L06H727L', +'FNZLPRZ67L44C743K', +'FPTRLLN49A43A633J', +'FPVSRCR72L01A794D', +'FQRTVNN55S10G337A', +'FRNDGNN60M57D458C', +'FSCGLFA40B04G467F', +'SSVNSVN61R15L295O', +'FVDNMRN54A53L682F', +'FVLLFRC78E26F965G', +'FVLTLSN69P45A794U', +'SZLOGFR66L05G031Z', +'SFRZMHL63S11A182H', +'FNDRGFR46H28H816G', +'FGSPCMN24R50G535X', +'FLCTCLB52B22B910V', +'FPRSNLG48A06I452L', +'FFTTRRT64E70H501Q', +'FMRLSLV60A50H223V', +'FFBNCHR75T71C765V', +'SGZZMLV44P59B328P', +'FCCHPCD37P25F654J', +'FPRCLTT53S46E837D', +'FBFFNCL34L57C712F', +'FLCSZEI61L20L219R', +'FGHTMNC62H54L219A', +'FCRTGPP51A68G062O', +'FCMNDNT55C56A944A', +'FGRBLCU78B63E388O', +'FBAANGL45S03E472U', +'FQZECML41P21M021X', +'FVGLFRC84S68L219D', +'FRAICLM62B41A124Z', +'FBLLLGU33M17H598Z', +'FPNZRND47R08H361M', +'FMRLPTR37B27G179W', +'FPRZLNE38S60F717W', +'FBFFNDR60S25H501N', +'FCRTLRD33T19E094X', +'SFNTMRA42C49L781H', +'FBAUMLS47R69F864K', +'FGGLLDI36B42I622Z', +'FBAILDI62S56A794Z', +'FBMBLRF90E50L219G', +'FCMLNRT52L48G157B', +'FCCOLFA50P30A056F', +'FCRNNTN34L12F839V', +'SDBBTMS21A01E885K', +'SBBBNTN59M25H725F', +'SLMNMGR56E46D653B', +'SCFFFPP66D18D969P', +'SFSCGPP45C07L259I', +'SKSRGRD59S24F839I', +'SBZZPTR32S23I573D', +'SBBBFVN61S20F952S', +'SBBALDA40E13G684G', +'SVNTFBA69P29H501I', +'SBGGPLA66P62E463X', +'STLLMRA55P45C474K', +'SCNIBNR28M29G702B', +'SGAIRCE76T49A182F', +'SBNOMGR58L49L741U', +'SKPJVDM70H06Z100X', +'SFVLGNT55B19G742Z', +'SSPGTRS50P66F839Q', +'SMRZCLL53B45A794N', +'SMRZMNC59P68A794V', +'SBSTSLV59R51F952Q', +'SFLSLBT64C65H501Z', +'SCCCRSO46S64H501N', +'SDDMSNO47S45B433P', +'SCVRPQL69M23M082N', +'SBBBMNG29D46D205W', +'SZMBDNL49E45H501D', +'FFF@4268' , +'S08092471005' , +'S92001720017' , +'S02111000598' , +'FJNNVLD16E55F348U', +'SBTNGNN49H22I726G', +'SBRLMNG54M42C014M', +'SFRCLMP43A62C478K', +'FGRMMSM66H16D612I', +'S91020570114' , +'SVLPMRA43E01I287Z', +'SDLLCRL68C03H294E', +'SFLRVGL48D26F979S', +'SBBDFNC28A19E602R', +'FFF@8715' , +'SMSTMRS55S65A783N', +'SPLLGRL41C22E463N', +'SNCCMFR51E42H468M', +'SBBBNLR59H11H501R', +'SBRTRLD43P21H449J', +'SPRTRST58T53L219L', +'SBBNGCR56R59F817O', +'SCNGLLN50E70L245U', +'SQTTGLN57M42A269L', +'SCTCGCR41C21G920A', +'SFSCFRZ67E23G482M', +'SJCCSNT44P56H501L', +'S10733481005' , +'SGSPMGR31T69G482B', +'FCRNPRZ59H55E290K', +'SBRLMLR52P45G337S', +'SFRCLRT65C22E957W', +'FPLTTNM51R63F952U', +'FBBNTTN70H51Z154P', +'SDVSNMR76E49L418D', +'FCCHCLD60M09L706A', +'SBNDRMO45S22F642B', +'SZPPNGL23M70L633U', +'F80218090589' , +'SGGLMCN62M44F112K', +'SPSTBRN29M70G528H', +'SMSTDRN62S06H501I', +'FNFRNMR30C69C574V', +'FPCCNNL55L42B832J', +'FBAIMRC74M29L157G', +'SCAUGNN23C51H501U', +'FBLDMNC70D41C111F', +'SDFBCST94E63G878N', +'FBLLRLA69H24E463K', +'FBMBLRI84R70L219M', +'SCTTMTT78H08F205L', +'F80059170581' , +'FLCTFRC61L04A794V', +'SGSTDMR65R01E715S', +'FBAINTN41C04E864R', +'FDLSNRN48A01H501Y', +'FPRSMVN40D05G273R', +'F01621300597' , +'SGSTSRG60E01H501T', +'FBBBCLD51A17I480R', +'F97762280010' , +'SPLLGRT39M66Z112H', +'SMCCVTR41E09F736B', +'FFBRMLC30E50E864W', +'S01705010591' , +'FBCCFNC37C06D969P', +'FFMGLDI71S49I858Q', +'SCBLSLD45M08H501C', +'S07735910585' , +'FBAASFN72B19E472H', +'F97665800153' , +'FBAAGRL59E54I470S', +'FFMEFMN49B45E956U', +'SNGRCLD62A47Z404V', +'FCRVGNN53T57C243L', +'F00423970060' , +'SBLDNLT64T46A984O', +'SCSLSFN82R22F257J', +'FDTTSLV82T49H501H', +'FVCNLRA79L51B296M', +'FGHRVNT72T57A479A', +'F03387060548' , +'SPLNLSN38P28G401U', +'SZPPDRD57E15G493Z', +'FFLNMHL74M13I829Z', +'FDRSLSN77C25L219Y', +'FTFFCST75T45L219A', +'FGRMLSN66D57A944O', +'FDSGWND29M45C627O', +'FNSTGNN50L27F205U', +'SBBTMTL87D07G348I', +'FBBNNNI58L41F471I', +'FFRNMRZ64H08F454W', +'SGCMGLN45A63B982R', +'FBGGCST58S49D704L', +'FCHRLGU38C09E887Z', +'SDRSRSR49D70F839H', +'SSPSVCN66S01F839D', +'SBBNPML78E44A984U' +) +drop table #appoCamp1 +drop table #appoCamp2 +drop table #appoCamp3 +truncate table C6MartPeriodico.TB_Campione +insert into C6MartPeriodico.TB_Campione +select distinct rete, cod_fiscale, 1 --1 è il campo flag stampa che indica che dev esser stampato in fase di generazione del campione, 0 niente stampa +from appocampionereport +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_CREA_CAMPIONE_20161216.sql b/sql/storedProduzione/dbo_CREA_CAMPIONE_20161216.sql new file mode 100644 index 00000000..87f331c3 --- /dev/null +++ b/sql/storedProduzione/dbo_CREA_CAMPIONE_20161216.sql @@ -0,0 +1,324 @@ +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_20161216] + -- Add the parameters for the stored procedure here +AS +BEGIN +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select rete,cod_fiscale +from consevo_periodico.ConsulenzaEvoluta.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport +select top 175 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c6 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c16 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c42 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c39 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c45 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c56 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c57 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c58 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +-- modifica di Luca del 14/4/2016 - Per essere sicuri di estrarre tutti i cf in più richiesti pesco dal bacino che contiene +-- tutto cioè #appoCamp1 +-- luca from #appoCamp3 a +from #appoCamp1 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and a.rete+a.cod_fiscale in +-- RACCOMANDATE + ('FTGLMRA30A04A409N' --ok + ,'FBZZGPP46C18A409M' --ok + ,'FCCRGPP54B27H307C' --ok + ,'FCRNCST86C56G062N' --ok + ,'FGHNDNL46L21G007R' --ok + ,'FGNSMNL58D47H037E' --ok + ,'FNAIGNE40H10B463Q' --ok + ,'FNCLLCU74M70L682S' --ok + ,'FPRNNTN32B06E003M' --ok + ,'FRLDLCN35B18A409N' --ok + ,'FRPILNI47M11L746H' --ok + ,'FSNEPMR60S24I976R' --ok + ,'FTBRFRZ68L20H037P' --ok + ,'FTBRGBR37R22G062P' --ok + ,'FTBRMRZ65H27H037W' --ok + ,'FBRLGCR25P13B885H' --ok + ,'FMRNGMR53P60F205P' --ok +-- inizio cf cambio rete ----------------------------------------------------------- + ,'SSPSVCN66S01F839D', + 'SSPGTRS50P66F839Q', + 'SDRSRSR49D70F839H', + 'SBNCFNC38C06E466K', + 'SCRDBRN61A57I829K', + 'SCRDLMR58M47G388T', + 'SMRCLSU29R56F237Z', + 'SCRDGRG29R14L833R', + 'SGCCSLL89R62G388M', + 'SVNGSDR60A21A412J', + 'SPRERNI38H26G752A', +-- fine cf cambio rete -------------------------------------------------------------- +-- inizio cf delle banche in default ------------------------------------------------ + 'SBNOSDR61T03F205W', + 'SBNOSDR61T03F205W', + 'SCLCLNE41M47H434D', + 'SCPPBRN41H45C773S', + 'SMGNCRN32R54G547I', + 'SMZZCRL31P55G916D', + 'SSVLSFN64B08A390G', + 'FBNCMHL27S63I760X', + 'FCNTRME55S24B853O', + 'FCRMVGN49S53F791G', + 'FCRSGPT53M02D548K', + 'FGNAGLL33E53A393A', + 'FMGNLRI75A60H901Z', + 'FMGNLRI75A60H901Z', + 'FMNZMNL46C62A393V', + 'FMRNMNG53P46H294F', + 'FNTRMRZ67T17H223L', + 'FPLZLRA40T54L390R', + 'FSRVDDE31L44A191J', + 'FPRTCHR52L69H017M', + 'FGLNNLN39P46L498G', + 'FBRTGPP47M06A541R', +-- fine cf delle banche in default ------------------------------------------------ +-- cf richiesto da Quaranta il 6/10/2016 per verifica del var: se var > 4,50 e indicatori inadeguati allora va fatto l’intervento per riabbassarlo altrimenti ok e quindi sbloccato + 'F94146680262' +) +drop table #appoCamp1 +drop table #appoCamp2 +drop table #appoCamp3 +truncate table C6MartPeriodico.TB_Campione +insert into C6MartPeriodico.TB_Campione +select distinct rete, cod_fiscale, 1 --1 è il campo flag stampa che indica che dev esser stampato in fase di generazione del campione, 0 niente stampa +from appocampionereport +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_CREA_CAMPIONE_20170114.sql b/sql/storedProduzione/dbo_CREA_CAMPIONE_20170114.sql new file mode 100644 index 00000000..ac6e708b --- /dev/null +++ b/sql/storedProduzione/dbo_CREA_CAMPIONE_20170114.sql @@ -0,0 +1,397 @@ +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE PROCEDURE [dbo].[CREA_CAMPIONE_20170114] + -- Add the parameters for the stored procedure here +AS +BEGIN +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select a.rete,a.cod_fiscale +from consuni_periodico.ConsulenzaUnica.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport +select top 175 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c6 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c16 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c42 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c39 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c45 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c56 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c57 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c58 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +-- modifica di Luca del 14/4/2016 - Per essere sicuri di estrarre tutti i cf in più richiesti pesco dal bacino che contiene +-- tutto cioè #appoCamp1 +-- luca from #appoCamp3 a +from #appoCamp1 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and a.rete+a.cod_fiscale in +-- RACCOMANDATE + ('FTGLMRA30A04A409N' --ok + ,'FBZZGPP46C18A409M' --ok + ,'FCCRGPP54B27H307C' --ok + ,'FCRNCST86C56G062N' --ok + ,'FGHNDNL46L21G007R' --ok + ,'FGNSMNL58D47H037E' --ok + ,'FNAIGNE40H10B463Q' --ok + ,'FNCLLCU74M70L682S' --ok + ,'FPRNNTN32B06E003M' --ok + ,'FRLDLCN35B18A409N' --ok + ,'FRPILNI47M11L746H' --ok + ,'FSNEPMR60S24I976R' --ok + ,'FTBRFRZ68L20H037P' --ok + ,'FTBRGBR37R22G062P' --ok + ,'FTBRMRZ65H27H037W' --ok + ,'FBRLGCR25P13B885H' --ok + ,'FMRNGMR53P60F205P' --ok + ------------------------------------- inizio cf multiramo codprod = 'RE' - simulazione 16/12/2016 + ,'FBDNPLA59P08L219U' + ,'FBNCSVN65B46I138Y' + ,'FBNNBRC71R64G702J' + ,'FBRCGPP32P10G195K' + ,'FBRGLLL68P60C573Q' + ,'FBRSGLL39E62D959G' + ,'FBRTMRA27P42Z126N' + ,'FCDONRC40P02L219T' + ,'FCLBCLD66E04G999R' + ,'FCNCDNL55P45F704W' + ,'FCNCMCL39E57A468C' + ,'FCPNRNT37H25I046O' + ,'FCPNSFN67M26D815V' + ,'FCRLGCM42P08H211R' + ,'FCRNLRT39T20F205G' + ,'FCVSCRL38C52E346P' + ,'FCVZLCU61A24H620I' + ,'FCZZRNN42L46D912L' + ,'FDLLPLA50A10B455H' + ,'FDMCNNA38D44L826J' + ,'SMSCCMN66E59F839W' --ok + --,'FNLSMLN67B44G917W' + --,'FMSCLVI54M09E922C' + --,'FFRNLSN45E27C556H' + --,'FCSTGNN56M67C287M' + --,'FDLGGNN74P10D612S' + --,'FBSUDNL67D03G224W' + --,'FDFNGLG39T31F952N' + --,'FMLZGLD42E21L736D' + --,'FPLISFN65R20G337L' + --,'SGLLSLL56T48D969O' + ,'FBNNMCL59M66A470J' --ok + --,'FBRDPLA57C05H501X' + ,'FRSLPTR59C25E151X' --ok + --,'FRSSLVN48T27F592Y' + --,'FCMNFNN62E21A485D' + --,'FFNLMRA53D16G942V' + ,'FCRRMRS45S54I968G' --ok + ,'FDSSDNL87E10G337L' --ok + --,'FPMPGRG32P19H018W' + ,'FPZZMNG57T43E922K' + ,'FRFNMRA40E70F205Y' + ,'FRGNRTL48C50F205X' + ,'FRSANMR53H54F205P' + ,'FRTNGZN42R46D934H' + ,'FRVTTZN54T30I690K' + ,'FSCIFNC31E01D969Y' + ,'FSGLRSN42D50C704M' + ,'FSGNLSN70D01L736O' + ,'FSRSSFN68A69E897D' + ,'FSRTGNN57C31E648W' + ,'FSTCRMR37P43A944U' + ,'FSTRVKY71B52Z211P' + ,'FTRLGPP47D06E232K' + ------------------------------------- inizio cf clienti professionali + ,'FFF@5844' + ,'FMGNGPP55B25G224T' + ,'FLNCFBA59D06H437D' + ------------------------------------- inizio cf Eccessiva Adeguatezza + --,'FPRTFST39D18I921O' + ,'FBAILDI62S56A794Z' + ,'FSBRFNC43M21G999H' + ,'FCSLFPP40H14H224F' + --,'FSTCGFR43L10L792C' + ,'FGSCCLG71M53A182H' + ,'FDLLLBA40C70C553E' + ,'SNREMBR54E68A944E' + ,'SRFFSFN68M66D284B' + ,'SZNTDNC58S16L219G' + --,'SFRRFNC56H28L840B' + ,'SGMBRNE30R47D969Z' + ,'SPRDPLN53P45D969Q' +---- inizio cf cambio rete ----------------------------------------------------------- +-- ,'SSPSVCN66S01F839D', +-- 'SSPGTRS50P66F839Q', +-- 'SDRSRSR49D70F839H', +-- 'SBNCFNC38C06E466K', +-- 'SCRDBRN61A57I829K', +-- 'SCRDLMR58M47G388T', +-- 'SMRCLSU29R56F237Z', +-- 'SCRDGRG29R14L833R', +-- 'SGCCSLL89R62G388M', +-- 'SVNGSDR60A21A412J', +-- 'SPRERNI38H26G752A', +---- fine cf cambio rete -------------------------------------------------------------- +---- inizio cf delle banche in default ------------------------------------------------ +-- 'SBNOSDR61T03F205W', +-- 'SBNOSDR61T03F205W', +-- 'SCLCLNE41M47H434D', +-- 'SCPPBRN41H45C773S', +-- 'SMGNCRN32R54G547I', +-- 'SMZZCRL31P55G916D', +-- 'SSVLSFN64B08A390G', +-- 'FBNCMHL27S63I760X', +-- 'FCNTRME55S24B853O', +-- 'FCRMVGN49S53F791G', +-- 'FCRSGPT53M02D548K', +-- 'FGNAGLL33E53A393A', +-- 'FMGNLRI75A60H901Z', +-- 'FMGNLRI75A60H901Z', +-- 'FMNZMNL46C62A393V', +-- 'FMRNMNG53P46H294F', +-- 'FNTRMRZ67T17H223L', +-- 'FPLZLRA40T54L390R', +-- 'FSRVDDE31L44A191J', +-- 'FPRTCHR52L69H017M', +-- 'FGLNNLN39P46L498G', +-- 'FBRTGPP47M06A541R', +---- fine cf delle banche in default ------------------------------------------------ +---- cf richiesto da Quaranta il 6/10/2016 per verifica del var: se var > 4,50 e indicatori inadeguati allora va fatto l’intervento per riabbassarlo altrimenti ok e quindi sbloccato +-- 'F94146680262' +) +drop table #appoCamp1 +drop table #appoCamp2 +drop table #appoCamp3 +truncate table C6MartPeriodico.TB_Campione +insert into C6MartPeriodico.TB_Campione +select distinct rete, cod_fiscale, 1 --1 è il campo flag stampa che indica che dev esser stampato in fase di generazione del campione, 0 niente stampa +from appocampionereport +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_CREA_CAMPIONE_20170321.sql b/sql/storedProduzione/dbo_CREA_CAMPIONE_20170321.sql new file mode 100644 index 00000000..054ebf95 --- /dev/null +++ b/sql/storedProduzione/dbo_CREA_CAMPIONE_20170321.sql @@ -0,0 +1,397 @@ +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_20170321] + -- Add the parameters for the stored procedure here +AS +BEGIN +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select a.rete,a.cod_fiscale +from consuni_periodico.ConsulenzaUnica.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport +select top 175 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c6 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c16 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c42 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c39 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c45 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c56 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c57 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c58 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +-- modifica di Luca del 14/4/2016 - Per essere sicuri di estrarre tutti i cf in più richiesti pesco dal bacino che contiene +-- tutto cioè #appoCamp1 +-- luca from #appoCamp3 a +from #appoCamp1 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and a.rete+a.cod_fiscale in +-- RACCOMANDATE + ('FTGLMRA30A04A409N' --ok + ,'FBZZGPP46C18A409M' --ok + ,'FCCRGPP54B27H307C' --ok + ,'FCRNCST86C56G062N' --ok + ,'FGHNDNL46L21G007R' --ok + ,'FGNSMNL58D47H037E' --ok + ,'FNAIGNE40H10B463Q' --ok + ,'FNCLLCU74M70L682S' --ok + ,'FPRNNTN32B06E003M' --ok + ,'FRLDLCN35B18A409N' --ok + ,'FRPILNI47M11L746H' --ok + ,'FSNEPMR60S24I976R' --ok + ,'FTBRFRZ68L20H037P' --ok + ,'FTBRGBR37R22G062P' --ok + ,'FTBRMRZ65H27H037W' --ok + ,'FBRLGCR25P13B885H' --ok + ,'FMRNGMR53P60F205P' --ok + ------------------------------------- inizio cf multiramo codprod = 'RE' - simulazione 16/12/2016 + ,'FBDNPLA59P08L219U' + ,'FBNCSVN65B46I138Y' + ,'FBNNBRC71R64G702J' + ,'FBRCGPP32P10G195K' + ,'FBRGLLL68P60C573Q' + ,'FBRSGLL39E62D959G' + ,'FBRTMRA27P42Z126N' + ,'FCDONRC40P02L219T' + ,'FCLBCLD66E04G999R' + ,'FCNCDNL55P45F704W' + ,'FCNCMCL39E57A468C' + ,'FCPNRNT37H25I046O' + ,'FCPNSFN67M26D815V' + ,'FCRLGCM42P08H211R' + ,'FCRNLRT39T20F205G' + ,'FCVSCRL38C52E346P' + ,'FCVZLCU61A24H620I' + ,'FCZZRNN42L46D912L' + ,'FDLLPLA50A10B455H' + ,'FDMCNNA38D44L826J' + ,'SMSCCMN66E59F839W' --ok + --,'FNLSMLN67B44G917W' + --,'FMSCLVI54M09E922C' + --,'FFRNLSN45E27C556H' + --,'FCSTGNN56M67C287M' + --,'FDLGGNN74P10D612S' + --,'FBSUDNL67D03G224W' + --,'FDFNGLG39T31F952N' + --,'FMLZGLD42E21L736D' + --,'FPLISFN65R20G337L' + --,'SGLLSLL56T48D969O' + ,'FBNNMCL59M66A470J' --ok + --,'FBRDPLA57C05H501X' + ,'FRSLPTR59C25E151X' --ok + --,'FRSSLVN48T27F592Y' + --,'FCMNFNN62E21A485D' + --,'FFNLMRA53D16G942V' + ,'FCRRMRS45S54I968G' --ok + ,'FDSSDNL87E10G337L' --ok + --,'FPMPGRG32P19H018W' + ,'FPZZMNG57T43E922K' + ,'FRFNMRA40E70F205Y' + ,'FRGNRTL48C50F205X' + ,'FRSANMR53H54F205P' + ,'FRTNGZN42R46D934H' + ,'FRVTTZN54T30I690K' + ,'FSCIFNC31E01D969Y' + ,'FSGLRSN42D50C704M' + ,'FSGNLSN70D01L736O' + ,'FSRSSFN68A69E897D' + ,'FSRTGNN57C31E648W' + ,'FSTCRMR37P43A944U' + ,'FSTRVKY71B52Z211P' + ,'FTRLGPP47D06E232K' + ------------------------------------- inizio cf clienti professionali + ,'FFF@5844' + ,'FMGNGPP55B25G224T' + ,'FLNCFBA59D06H437D' + ------------------------------------- inizio cf Eccessiva Adeguatezza + --,'FPRTFST39D18I921O' + ,'FBAILDI62S56A794Z' + ,'FSBRFNC43M21G999H' + ,'FCSLFPP40H14H224F' + --,'FSTCGFR43L10L792C' + ,'FGSCCLG71M53A182H' + ,'FDLLLBA40C70C553E' + ,'SNREMBR54E68A944E' + ,'SRFFSFN68M66D284B' + ,'SZNTDNC58S16L219G' + --,'SFRRFNC56H28L840B' + ,'SGMBRNE30R47D969Z' + ,'SPRDPLN53P45D969Q' +---- inizio cf cambio rete ----------------------------------------------------------- +-- ,'SSPSVCN66S01F839D', +-- 'SSPGTRS50P66F839Q', +-- 'SDRSRSR49D70F839H', +-- 'SBNCFNC38C06E466K', +-- 'SCRDBRN61A57I829K', +-- 'SCRDLMR58M47G388T', +-- 'SMRCLSU29R56F237Z', +-- 'SCRDGRG29R14L833R', +-- 'SGCCSLL89R62G388M', +-- 'SVNGSDR60A21A412J', +-- 'SPRERNI38H26G752A', +---- fine cf cambio rete -------------------------------------------------------------- +---- inizio cf delle banche in default ------------------------------------------------ +-- 'SBNOSDR61T03F205W', +-- 'SBNOSDR61T03F205W', +-- 'SCLCLNE41M47H434D', +-- 'SCPPBRN41H45C773S', +-- 'SMGNCRN32R54G547I', +-- 'SMZZCRL31P55G916D', +-- 'SSVLSFN64B08A390G', +-- 'FBNCMHL27S63I760X', +-- 'FCNTRME55S24B853O', +-- 'FCRMVGN49S53F791G', +-- 'FCRSGPT53M02D548K', +-- 'FGNAGLL33E53A393A', +-- 'FMGNLRI75A60H901Z', +-- 'FMGNLRI75A60H901Z', +-- 'FMNZMNL46C62A393V', +-- 'FMRNMNG53P46H294F', +-- 'FNTRMRZ67T17H223L', +-- 'FPLZLRA40T54L390R', +-- 'FSRVDDE31L44A191J', +-- 'FPRTCHR52L69H017M', +-- 'FGLNNLN39P46L498G', +-- 'FBRTGPP47M06A541R', +---- fine cf delle banche in default ------------------------------------------------ +---- cf richiesto da Quaranta il 6/10/2016 per verifica del var: se var > 4,50 e indicatori inadeguati allora va fatto l’intervento per riabbassarlo altrimenti ok e quindi sbloccato +-- 'F94146680262' +) +drop table #appoCamp1 +drop table #appoCamp2 +drop table #appoCamp3 +truncate table C6MartPeriodico.TB_Campione +insert into C6MartPeriodico.TB_Campione +select distinct rete, cod_fiscale, 1 --1 è il campo flag stampa che indica che dev esser stampato in fase di generazione del campione, 0 niente stampa +from appocampionereport +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_CREA_CAMPIONE_20180115_preJoinNewTab.sql b/sql/storedProduzione/dbo_CREA_CAMPIONE_20180115_preJoinNewTab.sql new file mode 100644 index 00000000..0d3097b2 --- /dev/null +++ b/sql/storedProduzione/dbo_CREA_CAMPIONE_20180115_preJoinNewTab.sql @@ -0,0 +1,294 @@ +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +create procedure [dbo].[CREA_CAMPIONE_20180115_preJoinNewTab] + -- Add the parameters for the stored procedure here +AS +BEGIN +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select a.rete,a.cod_fiscale +from consuni_periodico.ConsulenzaUnica.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport +select top 220 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c6 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c16 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c42 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c39 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c45 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c56 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c57 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c58 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +-- modifica di Luca del 14/4/2016 - Per essere sicuri di estrarre tutti i cf in più richiesti pesco dal bacino che contiene +-- tutto cioè #appoCamp1 +-- luca from #appoCamp3 a +from #appoCamp1 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and a.rete+a.cod_fiscale in + ( +-- RACCOMANDATE + 'FBRLGCR25P13B885H' --Raccomandata - Forzare ROL a 'S' (come di consueto) --------no ***************Profilo Scaduto + ,'FBZZGPP46C18A409M' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FCCRGPP54B27H307C' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FCRNCST86C56G062N' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FGHNDNL46L21G007R' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FGNSMNL58D47H037E' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FMRNGMR53P60F205P' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FNAIGNE40H10B463Q' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FNCLLCU74M70L682S' --Raccomandata - Forzare ROL a 'S' (come di consueto) --------no ***************Profilo Scaduto + ,'FPRNNTN32B06E003M' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FRLDLCN35B18A409N' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FRPILNI47M11L746H' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FSNEPMR60S24I976R' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FTBRFRZ68L20H037P' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FTBRGBR37R22G062P' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FTBRMRZ65H27H037W' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FTGLMRA30A04A409N' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ------------------------------------- cf clienti professionali ------------------------------------------------------ + ,'FFF@5844' + ,'FMGNGPP55B25G224T' + ,'FBTTFST43C42B300A' + ,'FTMSRRT59R13L967T' + ,'FRSCFNC43M09A965T' + ,'FNDRMRA39D15C623K' + ,'FPDRPLA72H21C623T' +) +drop table #appoCamp1 +drop table #appoCamp2 +drop table #appoCamp3 +truncate table C6MartPeriodico.TB_Campione +insert into C6MartPeriodico.TB_Campione +select distinct rete, cod_fiscale, 1 --1 è il campo flag stampa che indica che dev esser stampato in fase di generazione del campione, 0 niente stampa +from appocampionereport +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_CREA_CAMPIONE_20180711.sql b/sql/storedProduzione/dbo_CREA_CAMPIONE_20180711.sql new file mode 100644 index 00000000..e23177c5 --- /dev/null +++ b/sql/storedProduzione/dbo_CREA_CAMPIONE_20180711.sql @@ -0,0 +1,267 @@ +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_20180711] + -- Add the parameters for the stored procedure here +AS +BEGIN +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select a.rete,a.cod_fiscale +from consuni_periodico.ConsulenzaUnica.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport +select top 220 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c6 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c16 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c42 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c39 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c45 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c56 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c57 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c58 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +-- modifica di Luca del 14/4/2016 - Per essere sicuri di estrarre tutti i cf in più richiesti pesco dal bacino che contiene +-- tutto cioè #appoCamp1 +-- luca from #appoCamp3 a +from #appoCamp1 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and a.rete+a.cod_fiscale in + (select rete + codicefiscale from [dbo].[Incl_SpecCdT_Campione] ) +drop table #appoCamp1 +drop table #appoCamp2 +drop table #appoCamp3 +truncate table C6MartPeriodico.TB_Campione +insert into C6MartPeriodico.TB_Campione +select distinct rete, cod_fiscale, 1 --1 è il campo flag stampa che indica che dev esser stampato in fase di generazione del campione, 0 niente stampa +from appocampionereport +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_CREA_CAMPIONE_20180921.sql b/sql/storedProduzione/dbo_CREA_CAMPIONE_20180921.sql new file mode 100644 index 00000000..c3a9af6b --- /dev/null +++ b/sql/storedProduzione/dbo_CREA_CAMPIONE_20180921.sql @@ -0,0 +1,270 @@ +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_20180921] + -- Add the parameters for the stored procedure here +AS +BEGIN +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select a.rete,a.cod_fiscale +from consuni_periodico.ConsulenzaUnica.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport +-- mod 11/7/2018 - vogliamo meno report + --select top 220 +select top 100 +-- fine mod 11/7/2018 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c6 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c16 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c42 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c39 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c45 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c56 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c57 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c58 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +-- modifica di Luca del 14/4/2016 - Per essere sicuri di estrarre tutti i cf in più richiesti pesco dal bacino che contiene +-- tutto cioè #appoCamp1 +-- luca from #appoCamp3 a +from #appoCamp1 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and a.rete+a.cod_fiscale in + (select rete + codicefiscale from [dbo].[Incl_SpecCdT_Campione] ) +drop table #appoCamp1 +drop table #appoCamp2 +drop table #appoCamp3 +truncate table C6MartPeriodico.TB_Campione +insert into C6MartPeriodico.TB_Campione +select distinct rete, cod_fiscale, 1 --1 è il campo flag stampa che indica che dev esser stampato in fase di generazione del campione, 0 niente stampa +from appocampionereport +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_CREA_CAMPIONE_TEST.sql b/sql/storedProduzione/dbo_CREA_CAMPIONE_TEST.sql new file mode 100644 index 00000000..56924d02 --- /dev/null +++ b/sql/storedProduzione/dbo_CREA_CAMPIONE_TEST.sql @@ -0,0 +1,267 @@ +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_TEST] + -- Add the parameters for the stored procedure here +AS +BEGIN +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select a.rete,a.cod_fiscale +from consuni_periodico.ConsulenzaUnica.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport +select top 220 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c6 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c16 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c42 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c39 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c45 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c56 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c57 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c58 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +-- modifica di Luca del 14/4/2016 - Per essere sicuri di estrarre tutti i cf in più richiesti pesco dal bacino che contiene +-- tutto cioè #appoCamp1 +-- luca from #appoCamp3 a +from #appoCamp1 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and a.rete+a.cod_fiscale in + (select c.rete + c.codicefiscale from [dbo].[Incl_SpecCdT_Campione] ) +drop table #appoCamp1 +drop table #appoCamp2 +drop table #appoCamp3 +truncate table C6MartPeriodico.TB_Campione +insert into C6MartPeriodico.TB_Campione +select distinct rete, cod_fiscale, 1 --1 è il campo flag stampa che indica che dev esser stampato in fase di generazione del campione, 0 niente stampa +from appocampionereport +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_Controlli_Mattina_PdC.sql b/sql/storedProduzione/dbo_Controlli_Mattina_PdC.sql new file mode 100644 index 00000000..5c05a265 --- /dev/null +++ b/sql/storedProduzione/dbo_Controlli_Mattina_PdC.sql @@ -0,0 +1,82 @@ +-- ============================================= +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[Controlli_Mattina_PdC] +AS +BEGIN +drop table if exists #batch +create table #batch( +id int identity, +nomeBatch varchar(128) +) +insert into #batch values('CatalogoProdotti') +insert into #batch values('replicaMarketing') +insert into #batch values('AMPRO') +insert into #batch values('ClassiDiPrezzo') +insert into #batch values('ReplicaWasset') +insert into #batch values('TMD') +insert into #batch values('CalcolaVarNP') +insert into #batch values('FlussoRol') +insert into #batch values('ReplicaBasket') +insert into #batch values('ReplicaNAV') +insert into #batch values('W6CVNA') +insert into #batch values('MAC') +insert into #batch values('CalcolaVarNP_PtfCons') +insert into #batch values('Carica_PTFCONS_DatiFlussoMK') +insert into #batch values('ESEGUITI') +insert into #batch values('Flusso F') +insert into #batch values('FlussoPortafogli') +insert into #batch values('FlussoRol') +insert into #batch values('Perfezionamento') +insert into #batch values('ReplicaWNPTAB_APP') +insert into #batch values('RiallocazioneGuidataNA') +insert into #batch values('RDR') +insert into #batch values('replicaMonitoraggio') +insert into #batch values('AllineamentoMassivo_RiallocazioneGuidataNA') +insert into #batch values('ProdottiEsenti') +insert into #batch values('AllineamentoMassivo') +insert into #batch values('replicaW6LPST') +insert into #batch values('AllineamentoMassivo_RCM') +insert into #batch values('ReplicaClientiMovimentati') +insert into #batch values('CambioReteAmministrato') +insert into #batch values('ContrattoNuclei') +insert into #batch values('Movimentazione_Trimestrale') +insert into #batch values('CaricaListaIntermediari') +insert into #batch values('ContrattoSei') +insert into #batch values('ESTRAZIONE_SIMWEB') +insert into #batch values('ReplicaWassal') +insert into #batch values('ReplicaWKCCAT') +insert into #batch values('ReplicaWNPTAB') +insert into #batch values('ReplicaDichiarazioniPB') +--select * from #batch +drop table if exists #log_batch +create table #log_batch ( +NomeBatch varchar(128), +Dtesecuzione datetime, +Stato varchar(200), +DtFineElaborazione datetime) +insert into #log_batch (NomeBatch,DtEsecuzione,Stato,DtFineElaborazione) +(SELECT NomeBatch,DtEsecuzione,Stato,DtFineElaborazione +FROM consuni.[ConsulenzaUnicaFL].[dbo].[logBatchGenerale] +WHERE +CONVERT(DATETIME, CONVERT(DATE, DtEsecuzione))= CONVERT(DATETIME, CONVERT(DATE, GETDATE())) +--ORDER BY DTEsecuzione desc, nomebatch +Union all +SELECT NomeBatch,DtEsecuzione,Stato,DtFineElaborazione +FROM consuni.[ConsulenzaUnicaFL].[dbo].[logBatchGenerale] +WHERE +CONVERT(DATETIME, CONVERT(DATE, DtEsecuzione))= CONVERT(DATETIME, CONVERT(DATE, GETDATE()-1)) +and CONVERT(DATETIME, CONVERT(DATETIME, DtEsecuzione))>CONVERT(DATETIME, CONVERT(DATETIME,dateadd(hh,0,GETDATE()-1))) +--ORDER BY DTEsecuzione desc, nomebatch +) +--select * from #log_batch +select id,b.NomeBatch,Dtesecuzione,Stato,DtFineElaborazione +into #def +from #batch b left join #log_batch l on b.nomeBatch=l.NomeBatch order by id +SELECT DISTINCT + b.id,b.NomeBatch,b.Dtesecuzione,b.Stato,b.DtFineElaborazione +FROM #def b +WHERE b.Dtesecuzione = (SELECT MAX(Dtesecuzione) FROM #def c WHERE c.nomeBatch = b.nomeBatch ) or b.Dtesecuzione is null +ORDER BY b.id +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_CopyObjectFromSchema.sql b/sql/storedProduzione/dbo_CopyObjectFromSchema.sql new file mode 100644 index 00000000..5afaaca7 --- /dev/null +++ b/sql/storedProduzione/dbo_CopyObjectFromSchema.sql @@ -0,0 +1,74 @@ +--[dbo].[CopyObjectFromSchema] 'C6Mart', 'tt4', 'RP_' +CREATE procedure [dbo].[CopyObjectFromSchema] +@FromSchemaName NVARCHAR(50), +@ToSchemaName NVARCHAR(50), +@LikeName NVARCHAR(MAX) +AS +Begin +DECLARE @ObjCopyName VARCHAR(MAX); +DECLARE @ObjContent nvarchar(MAX); +DECLARE @ObjIDSchemaTo INT +if (@FromSchemaName is null Or @FromSchemaName = '' Or + @ToSchemaName is null Or @ToSchemaName = '') +begin + RAISERROR ('Valorizzare entrambi gli Schema Name!', -- Message text. + 16, -- Severity. + 1 -- State. + ); + return +end +IF (NOT EXISTS (SELECT * FROM sys.schemas WHERE name = @ToSchemaName)) +BEGIN + EXEC ('CREATE SCHEMA ' + @ToSchemaName + ' AUTHORIZATION [dbo]') +END +SET @ObjIDSchemaTo = (SELECT SCHEMA_ID FROM sys.schemas WHERE name= @ToSchemaName) +DECLARE TABLECURSOR CURSOR FOR +SELECT [NAME] FROM sys.objects WHERE [TYPE] in (N'U') and schema_id = (SELECT SCHEMA_ID FROM sys.schemas WHERE name= @FromSchemaName) +AND [NAME] LIKE '%' + @LikeName + '%' +OPEN TABLECURSOR +FETCH NEXT FROM TABLECURSOR INTO @ObjCopyName +WHILE @@FETCH_STATUS = 0 +BEGIN --STORED PROC LOOP + BEGIN TRY + PRINT @ObjCopyName + IF (EXISTS (SELECT * FROM sys.objects WHERE name = @ObjCopyName and schema_id = (SELECT SCHEMA_ID FROM sys.schemas WHERE name= @ToSchemaName))) + BEGIN + execute dbo.DropObject @ObjCopyName, @ObjIDSchemaTo + END + Declare @statement nvarchar(max) + Set @statement = 'SELECT * INTO ' + @ToSchemaName + '.' + @ObjCopyName + ' FROM ' + @FromSchemaName + '.' + @ObjCopyName + ' WHERE 1=2' + print @statement + execute sp_executeSQL @statement + END TRY + BEGIN CATCH + SELECT ERROR_MESSAGE() + END CATCH + FETCH NEXT FROM TABLECURSOR INTO @ObjCopyName +END +CLOSE TABLECURSOR; +DEALLOCATE TABLECURSOR; +DECLARE PROCCURSOR CURSOR FOR + SELECT NAME, REPLACE (OBJECT_DEFINITION(OBJECT_ID), @FromSchemaName, @ToSchemaName) + FROM sys.objects WHERE [TYPE] in (N'P', N'PC', N'FN', N'V') and schema_id = (SELECT SCHEMA_ID FROM sys.schemas WHERE name= @FromSchemaName) + AND NAME LIKE '%' + @LikeName + '%' ORDER BY [TYPE] +OPEN PROCCURSOR +FETCH NEXT FROM PROCCURSOR INTO @ObjCopyName, @ObjContent +WHILE @@FETCH_STATUS = 0 +BEGIN --STORED PROC LOOP + BEGIN TRY + PRINT @ObjCopyName + PRINT @ObjContent + IF (EXISTS (SELECT * FROM sys.objects WHERE name = @ObjCopyName and schema_id = (SELECT SCHEMA_ID FROM sys.schemas WHERE name= @ToSchemaName))) + BEGIN + execute dbo.DropObject @ObjCopyName, @ObjIDSchemaTo + END + execute sp_executeSQL @statement = @ObjContent + END TRY + BEGIN CATCH + SELECT ERROR_MESSAGE(), @ObjCopyName, @ObjContent + END CATCH + FETCH NEXT FROM PROCCURSOR INTO @ObjCopyName, @ObjContent +END --STORED PROC LOOP +CLOSE PROCCURSOR; +DEALLOCATE PROCCURSOR; +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_CreaTabellaBackUp.sql b/sql/storedProduzione/dbo_CreaTabellaBackUp.sql new file mode 100644 index 00000000..e694fbbb --- /dev/null +++ b/sql/storedProduzione/dbo_CreaTabellaBackUp.sql @@ -0,0 +1,23 @@ +CREATE procedure [dbo].[CreaTabellaBackUp]( + @tableName varchar(100), + @schema varchar(100), + @suffix varchar(100) = '' +) +as + declare @data datetime + declare @dataString varchar(20) + declare @SQL nvarchar(4000) + set @data = getdate() + set @dataString = convert(varchar(4), year(@data)) + right('0' + convert(varchar(2), month(@data)), 2) + right('0' + convert(varchar(2), day(@data)), 2) + -- Se è stato passato un suffisso per specificare il motivo del backup della tabella (es: PreGenerazione...) + if isnull(@suffix, '') <> '' + set @suffix = '_' + @suffix + -- Se la tabella con data + suffisso è già presente si aggiunge alla stringa data anche l'orario + IF EXISTS (SELECT 'X' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @tableName + '_' + @dataString + @suffix AND TABLE_SCHEMA = @schema) + begin + print 'La tabella ' + @schema + '.' + @tableName + '_' + @dataString + @suffix + ' già esiste nel DB.' + set @dataString = @dataString + '_' + right('0' + convert(varchar(2), DATEPART(hour, @data)), 2) + right('0' + convert(varchar(2), DATEPART(minute, @data)), 2) + right('0' + convert(varchar(2), DATEPART(second, @data)), 2) + end + set @SQL = 'select * into ' + @schema + '.' + @tableName + '_' + @dataString + @suffix + ' from ' + @schema + '.' + @tableName + print @SQL + exec sp_executeSql @SQL \ No newline at end of file diff --git a/sql/storedProduzione/dbo_DropObject.sql b/sql/storedProduzione/dbo_DropObject.sql new file mode 100644 index 00000000..6eb079e1 --- /dev/null +++ b/sql/storedProduzione/dbo_DropObject.sql @@ -0,0 +1,29 @@ +CREATE procedure [dbo].[DropObject] +@objectname varchar(max), +@schemaid int +AS +BEGIN +print @objectname +print @schemaid + DECLARE @ObjectType varchar(max) + Set @ObjectType = (SELECT [type] FROM sys.objects WHERE name = @objectname and schema_id = @schemaid) +print @ObjectType + DECLARE @DropType varchar(max) + Set @DropType = '' + IF @ObjectType IN ('PC', 'P') + SELECT @DropType = 'PROCEDURE' + IF @ObjectType IN ('FN', 'FS', 'FT', 'IF', 'TF') + SELECT @DropType = 'FUNCTION' + IF @ObjectType = 'AF' + SELECT @DropType = 'AGGREGATE' + IF @ObjectType = 'U' + SELECT @DropType = 'TABLE' + IF @ObjectType = 'V' + SELECT @DropType = 'VIEW' + IF @DropType <> '' + begin + DECLARE @schemaName varchar(100) + SET @schemaName = (SELECT name FROM sys.schemas WHERE schema_id = @schemaid) + EXEC('DROP '+ @DropType + ' [' + @schemaName + '].[' + @objectname + ']') + end +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_ElencoClientiImmobiliareDaStampare.sql b/sql/storedProduzione/dbo_ElencoClientiImmobiliareDaStampare.sql new file mode 100644 index 00000000..18cff2db --- /dev/null +++ b/sql/storedProduzione/dbo_ElencoClientiImmobiliareDaStampare.sql @@ -0,0 +1,86 @@ +CREATE PROCEDURE [dbo].[ElencoClientiImmobiliareDaStampare] + @chiaveRichiestaInput VARCHAR(Max), + @DataFineTrimestreCorrente varchar(10) +AS +BEGIN + SET NOCOUNT ON; +IF OBJECT_ID('tempdb.dbo.#vRichiesteMonitoraggioCatastoCliente', 'U') IS NOT NULL + DROP TABLE #vRichiesteMonitoraggioCatastoCliente; +SELECT DISTINCT ca.rete + ,ca.codfis +INTO #vRichiesteMonitoraggioCatastoCliente +FROM consuni_periodico.ConsulenzaUnicaFL.dbo.vRichiesteMonitoraggioCatastoCliente ca +EXCEPT +SELECT rete + ,CASE + WHEN len(codicefiscale) <> 16 + AND len(codman) < 4 + THEN piva + WHEN LEN(codicefiscale) = 16 + THEN codicefiscale + WHEN len(CodMan) > 1 + THEN 'FF@' + CodMan + ELSE '' + END AS codicefiscale +FROM [C6MartPeriodicoImmobiliare].[blacklist] +--IF OBJECT_ID('tempdb.dbo.#TempChiaveRichiesta', 'U') IS NOT NULL +-- DROP TABLE #TempChiaveRichiesta; +--CREATE TABLE #TempChiaveRichiesta (chiaveRichiesta VARCHAR(1000)) +--WHILE LEN(@chiaveRichiestaInput) > 0 +--BEGIN +-- DECLARE @chiaveRichiesta VARCHAR(1000) +-- IF CHARINDEX(',', @chiaveRichiestaInput) > 0 +-- SET @chiaveRichiesta = SUBSTRING(@chiaveRichiestaInput, 0, CHARINDEX(',', @chiaveRichiestaInput)) +-- ELSE +-- BEGIN +-- SET @chiaveRichiesta = @chiaveRichiestaInput +-- SET @chiaveRichiestaInput = '' +-- END +-- INSERT INTO #TempChiaveRichiesta +-- VALUES (@chiaveRichiesta) +-- SET @chiaveRichiestaInput = REPLACE(@chiaveRichiestaInput, @chiaveRichiesta + ',', '') +--END +--SELECT chiaveRichiesta +--FROM #TempChiaveRichiesta +IF len(@chiaveRichiestaInput) > 1 + SELECT DISTINCT vRichiesteMonitoraggioCatastoCliente.* + ,vInfoCliente.chiaveClientePB + ,vInfoCliente.CodiceContratto + ,ContrattoSei.TIPCONTRATTO + FROM consuni_periodico.ConsulenzaUnica.dbo.vInfoCliente vInfoCliente + RIGHT JOIN consuni_periodico.ConsulenzaUnicaFL.dbo.vRichiesteMonitoraggioCatastoCliente vRichiesteMonitoraggioCatastoCliente ON ( + LTRIM(RTRIM(vInfoCliente.codFis)) = LTRIM(RTRIM(vRichiesteMonitoraggioCatastoCliente.codFis)) + OR vInfoCliente.pIva = vRichiesteMonitoraggioCatastoCliente.codFis + ) + AND (vInfoCliente.Agente = vRichiesteMonitoraggioCatastoCliente.agente) + INNER JOIN #vRichiesteMonitoraggioCatastoCliente mc ON mc.codfis = vRichiesteMonitoraggioCatastoCliente.codFis + AND mc.rete = vRichiesteMonitoraggioCatastoCliente.rete + LEFT JOIN consuni_periodico.ConsulenzaUnicaFL.dbo.CBS_DbContrattoSei ContrattoSei ON vInfoCliente.CodiceContratto = ContrattoSei.COD_CONF + WHERE NOT (vRichiesteMonitoraggioCatastoCliente.dtElabRichiestaCatasto IS NULL) + AND NOT (vRichiesteMonitoraggioCatastoCliente.dtElabRicezioneRischio IS NULL) + AND vRichiesteMonitoraggioCatastoCliente.dtRiferimento = @DataFineTrimestreCorrente + AND vRichiesteMonitoraggioCatastoCliente.chiaveRichiesta IN ( + --SELECT chiaveRichiesta + --FROM #TempChiaveRichiesta + select * from string_split(@chiaveRichiestaInput,',') + ) + ORDER BY chiaveRichiesta +ELSE + SELECT DISTINCT vRichiesteMonitoraggioCatastoCliente.* + ,vInfoCliente.chiaveClientePB + ,vInfoCliente.CodiceContratto + ,ContrattoSei.TIPCONTRATTO + FROM consuni_periodico.ConsulenzaUnica.dbo.vInfoCliente vInfoCliente + RIGHT JOIN consuni_periodico.ConsulenzaUnicaFL.dbo.vRichiesteMonitoraggioCatastoCliente vRichiesteMonitoraggioCatastoCliente ON ( + LTRIM(RTRIM(vInfoCliente.codFis)) = LTRIM(RTRIM(vRichiesteMonitoraggioCatastoCliente.codFis)) + OR vInfoCliente.pIva = vRichiesteMonitoraggioCatastoCliente.codFis + ) + AND (vInfoCliente.Agente = vRichiesteMonitoraggioCatastoCliente.agente) + INNER JOIN #vRichiesteMonitoraggioCatastoCliente mc ON mc.codfis = vRichiesteMonitoraggioCatastoCliente.codFis + AND mc.rete = vRichiesteMonitoraggioCatastoCliente.rete + LEFT JOIN consuni_periodico.ConsulenzaUnicaFL.dbo.CBS_DbContrattoSei ContrattoSei ON vInfoCliente.CodiceContratto = ContrattoSei.COD_CONF + WHERE NOT (vRichiesteMonitoraggioCatastoCliente.dtElabRichiestaCatasto IS NULL) + AND NOT (vRichiesteMonitoraggioCatastoCliente.dtElabRicezioneRischio IS NULL) + AND vRichiesteMonitoraggioCatastoCliente.dtRiferimento = @DataFineTrimestreCorrente + ORDER BY chiaveRichiesta + END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_GetAllTableSize.sql b/sql/storedProduzione/dbo_GetAllTableSize.sql new file mode 100644 index 00000000..0b83651d --- /dev/null +++ b/sql/storedProduzione/dbo_GetAllTableSize.sql @@ -0,0 +1,46 @@ +CREATE procedure [dbo].[GetAllTableSize] +@schema varchar(50) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @TableName VARCHAR(200) + -- Insert statements for procedure here + DECLARE tableCursor CURSOR FOR + SELECT DISTINCT @schema+'.'+sys.objects.[name] + FROM sys.schemas INNER JOIN sys.objects ON sys.schemas.schema_id=sys.objects.schema_id + WHERE type='U' AND is_ms_shipped=0 ORDER BY @schema+'.'+sys.objects.[name] -- WHERE is_ms_shipped is Microsoft generated objects + FOR READ ONLY + --A procedure level temp table to store the results + CREATE TABLE #TempTable + ( + tableName varchar(200), + numberofRows varchar(100), + reservedSize varchar(50), + dataSize varchar(50), + indexSize varchar(50), + unusedSize varchar(50) + ) + --Open the cursor + OPEN tableCursor + --Get the first Record from the cursor + FETCH NEXT FROM tableCursor INTO @TableName + --Loop until the cursor was not able to fetch + WHILE (@@Fetch_Status >= 0) + BEGIN + --Insert the results of the sp_spaceused query to the temp table + INSERT #TempTable + EXEC sp_spaceused @TableName + --Get the next Record + FETCH NEXT FROM tableCursor INTO @TableName + END + --Close/Deallocate the cursor + CLOSE tableCursor + DEALLOCATE tableCursor + --Select all records so we can use the reults + SELECT * + FROM #TempTable + ORDER BY CAST(SUBSTRING(dataSize,1,LEN(dataSize) - 3) AS int) DESC + DROP TABLE #TempTable +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_GetLancio.sql b/sql/storedProduzione/dbo_GetLancio.sql new file mode 100644 index 00000000..793ab578 --- /dev/null +++ b/sql/storedProduzione/dbo_GetLancio.sql @@ -0,0 +1,9 @@ +CREATE procedure [dbo].[GetLancio](@tipo nvarchar(32)='Monitoraggio',@client nvarchar(32)='GestorePDF') +as +BEGIN + set nocount on + declare @id int=0; + insert into dbo.Lanci(Tipo,Client) values (@tipo,@client); + set @id=@@IDENTITY; + select uid from dbo.Lanci where Id=@id; +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_GetLogs.sql b/sql/storedProduzione/dbo_GetLogs.sql new file mode 100644 index 00000000..65266f6c --- /dev/null +++ b/sql/storedProduzione/dbo_GetLogs.sql @@ -0,0 +1,34 @@ +-- select * from dbo.logN where Level = 'error' +--[dbo].[GetLogs] +--[dbo].[GetLogs] '2016-04-13 09:36:18.887' +CREATE procedure [dbo].[GetLogs] + @LogsSince DateTime = NULL +AS +BEGIN +print 'a' + ;with raw_data as +( +select logged, ltrim(rtrim(replace(replace(replace(replace(message,'constructing', ''),'of',''), ' does not finished due to the error', ''),'finished',''))) par , +case when message like '%finished' then 'finished' when message like '%not finished%' then 'error' else 'started' end as process_status, message +from [dbo].[LogN] +where + message like '%constructing%' and + ((@LogsSince IS NOT NULL and logged >= @LogsSince) or (@LogsSince IS NULL)) +), r1 as +( +select *, substring(par, 0, charindex(':', par)) as head_1, substring(par, charindex(':', par)+1,1000) as tail_1 + from raw_data + ), r2 as + ( select [message],logged, process_status, head_1, substring(tail_1, 0, charindex(':', tail_1)) as head_2, substring(tail_1, charindex(':', tail_1)+1,1000) as tail_2 + from r1 + ), r3 as + ( + select [message],logged, process_status, head_1, head_2, substring(tail_2, 0, charindex(':', tail_2)) as head_3, substring(tail_2, charindex(':', tail_2)+1,1000) as tail_3 + from r2 + ), r4 as + ( + select [message],logged, process_status, head_1 as CodiceFiscale, head_2 as Rete, head_3 as TipoContratto, substring(tail_3, 2, len(tail_3)) as ReportType + from r3 + ) + select * from r4 where process_status ='error' order by logged desc +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_GetPDFTemplateConfiguration.sql b/sql/storedProduzione/dbo_GetPDFTemplateConfiguration.sql new file mode 100644 index 00000000..f77ee24c --- /dev/null +++ b/sql/storedProduzione/dbo_GetPDFTemplateConfiguration.sql @@ -0,0 +1,9 @@ +CREATE procedure [dbo].[GetPDFTemplateConfiguration](@Rete varchar(1), @Tipo int, @Trimestrale int) +as +begin +SELECT *,TemplateReportPath, TemplateCopertinaPath, TemplateGlossarioPath, TemplateWelcomeLetterPath, ReportTypeFontColor_R, ReportTypeFontColor_G, ReportTypeFontColor_B, +ChapterBackground_R, ChapterBackground_G, ChapterBackground_B, ChapterFontColor_R, ChapterFontColor_G, ChapterFontColor_B, +TableHeaderFontColor_R, TableHeaderFontColor_G, TableHeaderFontColor_B +FROM dbo.ReportTemplate t inner join dbo.PDFTemplateConfiguration c on c.PDFConfigurationID = t.PDFConfigurationID +WHERE t.Rete = @Rete and t.IsTrimestrale = @Trimestrale and t.ContractType = @Tipo +end \ No newline at end of file diff --git a/sql/storedProduzione/dbo_GetPDFTemplateConfiguration_Rosaspina.sql b/sql/storedProduzione/dbo_GetPDFTemplateConfiguration_Rosaspina.sql new file mode 100644 index 00000000..afd56e98 --- /dev/null +++ b/sql/storedProduzione/dbo_GetPDFTemplateConfiguration_Rosaspina.sql @@ -0,0 +1,9 @@ +CREATE procedure [dbo].[GetPDFTemplateConfiguration_Rosaspina](@Rete varchar(1), @Tipo int, @Trimestrale int) +as +begin +SELECT *,TemplateReportPath, TemplateCopertinaPath, TemplateGlossarioPath, TemplateWelcomeLetterPath, ReportTypeFontColor_R, ReportTypeFontColor_G, ReportTypeFontColor_B, +ChapterBackground_R, ChapterBackground_G, ChapterBackground_B, ChapterFontColor_R, ChapterFontColor_G, ChapterFontColor_B, +TableHeaderFontColor_R, TableHeaderFontColor_G, TableHeaderFontColor_B +FROM dbo.ReportTemplate t inner join dbo.PDFTemplateConfiguration_Rosaspina c on c.PDFConfigurationID = t.PDFConfigurationID +WHERE t.Rete = @Rete and t.IsTrimestrale = @Trimestrale and t.ContractType = @Tipo +end \ No newline at end of file diff --git a/sql/storedProduzione/dbo_GetStatistics.sql b/sql/storedProduzione/dbo_GetStatistics.sql new file mode 100644 index 00000000..ae5ef57c --- /dev/null +++ b/sql/storedProduzione/dbo_GetStatistics.sql @@ -0,0 +1,6 @@ +CREATE procedure [dbo].[GetStatistics] +as +begin +select * from GetStatistics_stato_report +select * from GetStatistics_elab +end \ No newline at end of file diff --git a/sql/storedProduzione/dbo_GetStatistics_Prepare.sql b/sql/storedProduzione/dbo_GetStatistics_Prepare.sql new file mode 100644 index 00000000..e8f09d3a --- /dev/null +++ b/sql/storedProduzione/dbo_GetStatistics_Prepare.sql @@ -0,0 +1,7 @@ +CREATE procedure [dbo].[GetStatistics_Prepare] +as +begin +truncate table dbo.GetStatistics_recordsToProcess +insert into dbo.GetStatistics_recordsToProcess(codiceFiscale) +select codicefiscale FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab in (1,2) +end \ No newline at end of file diff --git a/sql/storedProduzione/dbo_GetTextTemplateConfiguration.sql b/sql/storedProduzione/dbo_GetTextTemplateConfiguration.sql new file mode 100644 index 00000000..d9b7c24c --- /dev/null +++ b/sql/storedProduzione/dbo_GetTextTemplateConfiguration.sql @@ -0,0 +1,12 @@ +CREATE procedure [dbo].[GetTextTemplateConfiguration](@Rete varchar(1), @Tipo int, @Trimestrale int, @FieldName varchar(15)) +as +begin +SELECT top (1) ttc.TextValue +FROM dbo.ReportTemplate rt inner join dbo.TextTemplateConfigurationMapping ttcm on rt.TemplateID = ttcm.TemplateID + inner join dbo.TextTemplateConfiguration ttc on ttc.TextFieldID = ttcm.TextFieldID +WHERE + (@Rete like rt.Rete) and + (@Trimestrale = rt.IsTrimestrale or rt.IsTrimestrale = -1) and + (@Tipo = rt.ContractType or rt.ContractType = -1) and + (@FieldName = ttc.TextFieldName) +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_GetVariableValue.sql b/sql/storedProduzione/dbo_GetVariableValue.sql new file mode 100644 index 00000000..63c64503 --- /dev/null +++ b/sql/storedProduzione/dbo_GetVariableValue.sql @@ -0,0 +1,22 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- dbo.GetVariableValue 's132_tempTestoAlt', 'N', null, 1 +create PROCEDURE dbo.GetVariableValue + @VariableName nvarchar(128), + @Flagnqp nvarchar(1) = null, + @Flagprlrde nvarchar(1) = null, + @Flagpg int = null +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + select trv.variableValue from dbo.TextReplacementVariables trv + where + (@Flagnqp is null or @Flagnqp = trv.Flagnqp or trv.Flagnqp is null) and + (@Flagprlrde is null or @Flagprlrde = trv.Flagprlrde or trv.Flagprlrde is null) and + (@Flagpg is null or @Flagpg = trv.Flagpg or trv.Flagpg is null) +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_HexToRGB.sql b/sql/storedProduzione/dbo_HexToRGB.sql new file mode 100644 index 00000000..f4d2e305 --- /dev/null +++ b/sql/storedProduzione/dbo_HexToRGB.sql @@ -0,0 +1,40 @@ +CREATE procedure [dbo].[HexToRGB] + -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN +CREATE TABLE #TempTable(Asset varchar(10), Descrizione varchar(200),CodiceEsa varchar(15),R int,G int,B int) +--DICHIARO CURSORE +DECLARE curAssetColor CURSOR FOR +select Asset,Descrizione,right(codicergb,6) as HEX FROM [C6StampeCentralizzate].[C6StagingPeriodico].[RP_AssetClass] where livello = 2 +declare @Asset [varchar](10) +declare @Descrizione [varchar](200) +declare @codiceHex [varchar](15) +--ATTIVO IL CURSORE +OPEN curAssetColor +--PRELEVO la prossima riga +FETCH NEXT FROM curAssetColor into @Asset,@Descrizione,@codiceHex +--Finchè trovo nuove righe... +WHILE @@FETCH_STATUS = 0 +begin + DECLARE @temp AS TABLE (hex char(6)) + INSERT INTO @temp + VALUES (@codiceHex) -- Should convert to Red: Green: Blue: + insert into #TempTable + SELECT @Asset,@Descrizione,'#' + @codiceHex + ,R + ,G + ,B + FROM @temp + OUTER APPLY dbo.udf_HexToRGB(@codiceHex) + --Continuo con le operazioni + FETCH NEXT FROM curAssetColor into @Asset,@Descrizione,@codiceHex + delete from @temp +end +--CHIUDO il CURSORE +CLOSE curAssetColor +--RIMUOVO il CURSORE dalla memoria +DEALLOCATE curAssetColor +select * from #TempTable +end \ No newline at end of file diff --git a/sql/storedProduzione/dbo_InsertStartIntoLogFromDtsx.sql b/sql/storedProduzione/dbo_InsertStartIntoLogFromDtsx.sql new file mode 100644 index 00000000..7e05018c --- /dev/null +++ b/sql/storedProduzione/dbo_InsertStartIntoLogFromDtsx.sql @@ -0,0 +1,19 @@ +CREATE procedure [dbo].[InsertStartIntoLogFromDtsx] + -- Add the parameters for the stored procedure here + @Nome as varchar(100) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + INSERT INTO [dbo].[LOG_ESECUZIONE_PERIODICO] + ([Nome] + ,[Inizio] + ,[Nota] + ) + VALUES ( + @nome, + getDate(), + --'Elaborazione giornaliera') + 'Elaborazione trimestrale') +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_InsertStartIntoLogFromDtsxImmobiliare.sql b/sql/storedProduzione/dbo_InsertStartIntoLogFromDtsxImmobiliare.sql new file mode 100644 index 00000000..fa3e25df --- /dev/null +++ b/sql/storedProduzione/dbo_InsertStartIntoLogFromDtsxImmobiliare.sql @@ -0,0 +1,19 @@ +CREATE procedure [dbo].[InsertStartIntoLogFromDtsxImmobiliare] + -- Add the parameters for the stored procedure here + @Nome as varchar(100) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + INSERT INTO [dbo].[LOG_ESECUZIONE_PERIODICO_IMMOBILIARE] + ([Nome] + ,[Inizio] + ,[Nota] + ) + VALUES ( + @nome, + getDate(), + --'Elaborazione giornaliera') + 'Elaborazione Trimestrale Immobiliare') +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_InsertStopIntoLogFromDtsx.sql b/sql/storedProduzione/dbo_InsertStopIntoLogFromDtsx.sql new file mode 100644 index 00000000..340889ee --- /dev/null +++ b/sql/storedProduzione/dbo_InsertStopIntoLogFromDtsx.sql @@ -0,0 +1,28 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[InsertStopIntoLogFromDtsx] + -- Add the parameters for the stored procedure here + @Nome as varchar(100) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + UPDATE + dbo.LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE() + WHERE + Nome = @Nome AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = @Nome + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_InsertStopIntoLogFromDtsxImmobiliare.sql b/sql/storedProduzione/dbo_InsertStopIntoLogFromDtsxImmobiliare.sql new file mode 100644 index 00000000..d6424e0e --- /dev/null +++ b/sql/storedProduzione/dbo_InsertStopIntoLogFromDtsxImmobiliare.sql @@ -0,0 +1,28 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[InsertStopIntoLogFromDtsxImmobiliare] + -- Add the parameters for the stored procedure here + @Nome as varchar(100) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + UPDATE + dbo.LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE() + WHERE + Nome = @Nome AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = @Nome + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_JOB_Controlli_View.sql b/sql/storedProduzione/dbo_JOB_Controlli_View.sql new file mode 100644 index 00000000..c80e1128 --- /dev/null +++ b/sql/storedProduzione/dbo_JOB_Controlli_View.sql @@ -0,0 +1,8 @@ +create procedure [dbo].[JOB_Controlli_View] as +begin +insert into C6MartPeriodico.selettore values +(5,getdate(),'Controlli View') +truncate table [dbo].[TB_Flussi_Mappatura] +truncate table [dbo].[TB_Controlli_Mattina_View] +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; +end \ No newline at end of file diff --git a/sql/storedProduzione/dbo_ListaCampione.sql b/sql/storedProduzione/dbo_ListaCampione.sql new file mode 100644 index 00000000..f145cda5 --- /dev/null +++ b/sql/storedProduzione/dbo_ListaCampione.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[ListaCampione] +AS +BEGIN + SET NOCOUNT ON; + SELECT a.* FROM C6MARTPERIODICO.SELEZIONECAMPIONE2 a + INNER JOIN appoCampioneReport b + ON a.rete = b.rete + AND a.cod_fiscale = b.cod_fiscale + ORDER BY rete, cod_fiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_ListaCampioneDettaglioMovimenti.sql b/sql/storedProduzione/dbo_ListaCampioneDettaglioMovimenti.sql new file mode 100644 index 00000000..8c39269b --- /dev/null +++ b/sql/storedProduzione/dbo_ListaCampioneDettaglioMovimenti.sql @@ -0,0 +1,19 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[ListaCampioneDettaglioMovimenti] +AS +BEGIN + SET NOCOUNT ON; + drop table if exists c6martperiodico.TB_ListaCampioneDettaglioMovimenti + SELECT a.RETE, a.COD_FIS, isnull(a.DETT_MOV_PREC,0) as DETT_MOV_PREC , isnull(a.DETT_MOV_CORR,0) as DETT_MOV_CORR + into c6martperiodico.TB_ListaCampioneDettaglioMovimenti + FROM C6MartPeriodico.DettaglioMovimenti a + INNER JOIN appoCampioneReport b + ON a.RETE = b.rete + AND a.COD_FIS = b.cod_fiscale + ORDER BY a.RETE, a.COD_FIS + select * from c6martperiodico.TB_ListaCampioneDettaglioMovimenti +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_ListaCampioneDettaglioMovimenti_Parziale.sql b/sql/storedProduzione/dbo_ListaCampioneDettaglioMovimenti_Parziale.sql new file mode 100644 index 00000000..692019fe --- /dev/null +++ b/sql/storedProduzione/dbo_ListaCampioneDettaglioMovimenti_Parziale.sql @@ -0,0 +1,58 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[ListaCampioneDettaglioMovimenti_Parziale] +AS +BEGIN + SET NOCOUNT ON; + drop table if exists c6martperiodico.TB_ListaCampioneDettaglioMovimenti_Parziale + SELECT a.RETE, a.COD_FIS, substring(b.provenienza,20,3) as CASISTICA, isnull(a.DETT_MOV_PREC,0) as DETT_MOV_PREC , isnull(a.DETT_MOV_CORR,0) as DETT_MOV_CORR + into c6martperiodico.TB_ListaCampioneDettaglioMovimenti_Parziale + FROM C6MartPeriodico.DettaglioMovimenti a + INNER JOIN appoCampioneReport b + ON a.RETE = b.rete + AND a.COD_FIS = b.cod_fiscale + AND provenienza like '%Apporti e Prelievi%' + ORDER BY a.RETE, a.COD_FIS + if( (select COUNT(*) from c6martperiodico.TB_ListaCampioneDettaglioMovimenti_Parziale)=0) + begin +drop table If exists #appo +select top 1 a.rete,a.cod_fiscale,s.DESCRIZIONE +into #appo +from C6MartPeriodico.selezionecampione s +inner join appoCampioneReport a +on s.rete+s.cod_fiscale=a.rete+a.cod_fiscale +where c39<>0 +union all +select top 1 a.rete,a.cod_fiscale,s.DESCRIZIONE from C6MartPeriodico.selezionecampione s +inner join appoCampioneReport a +on s.rete+s.cod_fiscale=a.rete+a.cod_fiscale +where c40<>0 +union all +select top 1 a.rete,a.cod_fiscale,s.DESCRIZIONE from C6MartPeriodico.selezionecampione s +inner join appoCampioneReport a +on s.rete+s.cod_fiscale=a.rete+a.cod_fiscale +where c41<>0 +union all +select top 1 a.rete,a.cod_fiscale,s.DESCRIZIONE from C6MartPeriodico.selezionecampione s +inner join appoCampioneReport a +on s.rete+s.cod_fiscale=a.rete+a.cod_fiscale +where c42<>0 +union all +select top 1 a.rete,a.cod_fiscale,s.DESCRIZIONE from C6MartPeriodico.selezionecampione s +inner join appoCampioneReport a +on s.rete+s.cod_fiscale=a.rete+a.cod_fiscale +where c43<>0 +union all +select top 1 a.rete,a.cod_fiscale,s.DESCRIZIONE from C6MartPeriodico.selezionecampione s +inner join appoCampioneReport a +on s.rete+s.cod_fiscale=a.rete+a.cod_fiscale +where c44<>0 + update a set PROVENIENZA = 'APPORTI E PRELIEVI' + FROM appoCampioneReport a + where cod_fiscale in (select cod_fiscale from #appo) + exec [dbo].[ListaCampioneDettaglioMovimenti_Parziale] + end +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_LogFTP.sql b/sql/storedProduzione/dbo_LogFTP.sql new file mode 100644 index 00000000..c6bae9fb --- /dev/null +++ b/sql/storedProduzione/dbo_LogFTP.sql @@ -0,0 +1,30 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[LogFTP] + -- Add the parameters for the stored procedure here + @WelcomeMessage varchar(150), + @BannerMessage varchar(150), + @ResponseURI varchar(150), + @StatusDescription varchar(150), + @StatusCode varchar(150) +AS +BEGIN + INSERT INTO [C6StampeCentralizzate].[dbo].[LOG_FTP] + ([Date] + ,[WelcomeMessage] + ,[BannerMessage] + ,[ResponseURI] + ,[StatusDescription] + ,[StatusCode]) + VALUES + (getDate() + ,@WelcomeMessage + ,@BannerMessage + ,@ResponseURI + ,@StatusDescription + ,@StatusCode + ) +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_PreGenerationElabCounter.sql b/sql/storedProduzione/dbo_PreGenerationElabCounter.sql new file mode 100644 index 00000000..013d873b --- /dev/null +++ b/sql/storedProduzione/dbo_PreGenerationElabCounter.sql @@ -0,0 +1,6 @@ +create procedure dbo.PreGenerationElabCounter +as +begin +SELECT elab, count(ELAB) as value from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +group by ELAB +end \ No newline at end of file diff --git a/sql/storedProduzione/dbo_PreGenerationStatoCounter.sql b/sql/storedProduzione/dbo_PreGenerationStatoCounter.sql new file mode 100644 index 00000000..af2a8211 --- /dev/null +++ b/sql/storedProduzione/dbo_PreGenerationStatoCounter.sql @@ -0,0 +1,5 @@ +create procedure dbo.PreGenerationStatoCounter +as +begin +SELECT [stato_report] as stato ,count([stato_report]) as value from [C6MartPeriodico].[controllo_trimestrale] group by [stato_report] +end \ No newline at end of file diff --git a/sql/storedProduzione/dbo_RP_Popola_PiramideModello.sql b/sql/storedProduzione/dbo_RP_Popola_PiramideModello.sql new file mode 100644 index 00000000..aef4d366 --- /dev/null +++ b/sql/storedProduzione/dbo_RP_Popola_PiramideModello.sql @@ -0,0 +1,45 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [dbo].[RP_Popola_PiramideModello] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @datacongelamento as datetime + declare @dataInizioTrimestre as datetime + declare @FineTrimestre as datetime + set @datacongelamento = C6MartPeriodico.getDataCongelamento() + set @FineTrimestre = C6MartPeriodico.getDataCongelamento()+1 + --convert (date, DATEADD(month, 0, '2020-10-31 00:00:00.000')) + --Sostituire la data congelamento con la reale data di congelament tramite la funzione già esistente + set @dataInizioTrimestre = DATEADD(m,-3,DATEADD(mm, DATEDIFF(m,0,@datacongelamento), 0)) + --print @datacongelamento + --print @FineTrimestre + --print @dataInizioTrimestre + -- Insert statements for procedure here + select Rete, + Cod_fiscale, + Data_foto + into #ClientiPiramideIniziale + from [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + where data_foto between @dataInizioTrimestre and @FineTrimestre + --select min(data_foto) from [C6MartPeriodico].[MONITORAGGIO_INIZIALE] where data_foto >= '2020-05-30 00:00:00.000' + insert into C6StagingPeriodico.Popola_PiramideModello + select Rete, + Cod_fiscale, + Data_foto, + isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Ext'),0.00) as PERC_EXT, + isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Inv'),0.00) as PERC_INV, + isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Pre'),0.00) as PERC_PRE, + isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Ris'),0.00) as PERC_RIS, + isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Liq'),0.00) as PERC_LIQ + from #ClientiPiramideIniziale + where rtrim(ltrim(rete))+rtrim(ltrim(cod_fiscale))+rtrim(ltrim(convert(varchar,data_foto,105))) not in + (select distinct(rtrim(ltrim(rete))+rtrim(ltrim(cod_fiscale))+rtrim(ltrim(convert(varchar,data_foto,105)))) from C6StagingPeriodico.Popola_PiramideModello) + --and rtrim(ltrim(rete))+rtrim(ltrim(cod_fiscale)) not in + --(select distinct(rtrim(ltrim(rete))+rtrim(ltrim(cod_fiscale))) from C6StagingPeriodico.Popola_PiramideModello) +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_SO_getNewSubscriptions.sql b/sql/storedProduzione/dbo_SO_getNewSubscriptions.sql new file mode 100644 index 00000000..26a6ae67 --- /dev/null +++ b/sql/storedProduzione/dbo_SO_getNewSubscriptions.sql @@ -0,0 +1,17 @@ +CREATE procedure [dbo].[SO_getNewSubscriptions] + @ultimaDataRilevata_ISODATE as varchar(8) +AS +BEGIN + DECLARE @the_date datetime + SET @the_date = CAST(@ultimaDataRilevata_ISODATE AS DATETIME) +SELECT + [Cod_Fiscale], + [CodiceContratto], + [Cod_Agente], + [Rete], + dbo.ToShortDateString([Data_Perf]) as data_perfezionamento_C6, + dbo.ToShortDateString([data_fineAvanzato] )as data_chiusura_C6 +FROM [C6Mart].[CONTRATTOSEI] +WHERE Data_Perf > @the_date +ORDER BY data_perf +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_SRV_CONTROLLA_FASE1.sql b/sql/storedProduzione/dbo_SRV_CONTROLLA_FASE1.sql new file mode 100644 index 00000000..36e574bd --- /dev/null +++ b/sql/storedProduzione/dbo_SRV_CONTROLLA_FASE1.sql @@ -0,0 +1,16 @@ +CREATE procedure [dbo].[SRV_CONTROLLA_FASE1] +as begin +select * from log_esecuzione +select * from global_error +select * +from c6mart.gestione_pdf_Ftp a +join c6mart.contrattosei b +on a.rete = b.rete and a.codiceFiscale = b.cod_fiscale +and nazione <> 'italia' +and dataGenerazione > getDate() - 1 +select * +from c6mart.gestione_pdf_Ftp a +join port_errati b +on a.rete = b.rete and a.codiceFiscale = b.cod_fiscale +and dataGenerazione > getDate() - 1 +end \ No newline at end of file diff --git a/sql/storedProduzione/dbo_SRV_ESTRAZIONE_ULTIMO_INVIO_REPORT.sql b/sql/storedProduzione/dbo_SRV_ESTRAZIONE_ULTIMO_INVIO_REPORT.sql new file mode 100644 index 00000000..7d09b1be --- /dev/null +++ b/sql/storedProduzione/dbo_SRV_ESTRAZIONE_ULTIMO_INVIO_REPORT.sql @@ -0,0 +1,36 @@ +CREATE procedure [dbo].[SRV_ESTRAZIONE_ULTIMO_INVIO_REPORT] AS +SELECT + BF.RETE, + BF.COD_FISCALE, + --Dbo.ToShortDateString( +( SELECT CONVERT(VARCHAR(10),DATA_CONGELAMENTO - 1 , 103) FROM C6MartPeriodico.CONGELAMENTO_SEI) AS DataFase, + --PatrimonioNonAssociato AS RisorseNonAllocate, + ctv - contoCorrente as cvtRisorseFinanziarie, + ContoCorrente, + PartiteViaggiantiDisinv + isnull(pv.importo,0) AS Partita_viaggiante, + CTV + PartiteViaggiantiDisinv + isnull(pv.importo,0) as totalePatrimonio, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + isnull(RA.COPERTURA,0) AS Copertura, +-- TRINGALI MODIFICARE + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' + else cast(ra.creditrisk as varchar) end as RiskClass + FROM + C6MartPeriodico.vPatrimonioBFAggregato AS BF + INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON BF.RETE = MIFID.RETE + AND BF.COD_FISCALE = MIFID.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = BF.RETE + AND RA.COD_FISCALE = BF.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' +left outer join C6MartPeriodico.PARTITE_VIAGGIANTI pv + on bf.rete=pv.rete + and bf.cod_fiscale=pv.cod_fiscale +order by 1,2 \ No newline at end of file diff --git a/sql/storedProduzione/dbo_SRV_ReportDaCancellare.sql b/sql/storedProduzione/dbo_SRV_ReportDaCancellare.sql new file mode 100644 index 00000000..60cf2200 --- /dev/null +++ b/sql/storedProduzione/dbo_SRV_ReportDaCancellare.sql @@ -0,0 +1,51 @@ +-- ============================================= +-- Author: Atzeri Emanuele +-- Create date: +-- Description: +-- ============================================= +--select * from c6mart.vcontratti +--where cod_fiscale = 'VNCLDA54H15M109X' +-------------------------------------------- +--insert into ReportDaCancellare +-------------------------------------------- +--select rete, codicefiscale, SUBSTRING(NomeFile, 1, 11), idreport, datagenerazione +--from c6mart.gestione_pdf_ftp +--where SUBSTRING(NomeFile, 1, 11) = '010580CO200' +CREATE PROCEDURE [dbo].[SRV_ReportDaCancellare] + -- Add the parameters for the stored procedure here +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --SET NOCOUNT ON; +BEGIN TRANSACTION + BEGIN TRY + update c6mart.contrattosei_metadati + set invioBenvenuto = 'N' + from c6mart.contrattosei_metadati m + join c6mart.vcontratti v + on m.chiaveClientepb = v.chiaveclientepb + join c6mart.gestione_pdf_ftp p + on v.cod_fiscale = p.codiceFiscale + and v.rete = p.rete + where p.idreport in + ( + select idreport from ReportDaCancellare + ) + delete from c6mart.gestione_pdf_ftp where idreport in + ( + select idreport from ReportDaCancellare + ) + insert into ReportDaCancellareBCK + (rete, codfis, codconf, idreport, dtgenera) + select * from ReportDaCancellare + truncate table ReportDaCancellare + COMMIT TRANSACTION +END TRY +BEGIN CATCH + ROLLBACK TRANSACTION + DECLARE @Msg NVARCHAR(MAX) + SELECT @Msg=ERROR_MESSAGE() + RAISERROR('Descrizione errore: %s', 20, 101,@msg) WITH LOG +END CATCH +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_SRV_SELECT_PROFILI_SCADUTI.sql b/sql/storedProduzione/dbo_SRV_SELECT_PROFILI_SCADUTI.sql new file mode 100644 index 00000000..67979b44 --- /dev/null +++ b/sql/storedProduzione/dbo_SRV_SELECT_PROFILI_SCADUTI.sql @@ -0,0 +1,8 @@ +CREATE procedure [dbo].[SRV_SELECT_PROFILI_SCADUTI] AS +BEGIN + SELECT * + FROM C6STAGINGPERIODICO.MAIL_PROFILI_RISCHIO + WHERE datediff(dd,dt_CREAZIONE_profilo,dateadd(mm,3,getdate()))/365.25>3 + OR PROFILO = 0 + ORDER BY DT_CREAZIONE_PROFILO +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_SRV_insertLogPreCalcoloDatiGenerator.sql b/sql/storedProduzione/dbo_SRV_insertLogPreCalcoloDatiGenerator.sql new file mode 100644 index 00000000..bc0972df --- /dev/null +++ b/sql/storedProduzione/dbo_SRV_insertLogPreCalcoloDatiGenerator.sql @@ -0,0 +1,21 @@ +CREATE procedure [dbo].[SRV_insertLogPreCalcoloDatiGenerator] +@generator as varchar(60), +@durata as float, +@numeroClientiElaborati as int +AS +BEGIN +-- +--create table SRV_LOG_PreCalcoloDatiGenerator ( +-- generator varchar(60) null, +-- durata float null, +-- numeroClientiElaborati int null, +-- dataInserimento datetime null +--) +-- +insert into SRV_LOG_PreCalcoloDatiGenerator values( + @generator, + @durata, + @numeroClientiElaborati, + getDate() +) +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_SearchAllTables.sql b/sql/storedProduzione/dbo_SearchAllTables.sql new file mode 100644 index 00000000..55eb069f --- /dev/null +++ b/sql/storedProduzione/dbo_SearchAllTables.sql @@ -0,0 +1,51 @@ +CREATE PROC SearchAllTables +( + @SearchStr nvarchar(100) +) +AS +BEGIN + CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630)) + SET NOCOUNT ON + DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110) + SET @TableName = '' + SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''') + WHILE @TableName IS NOT NULL + BEGIN + SET @ColumnName = '' + SET @TableName = + ( + SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)) + FROM INFORMATION_SCHEMA.TABLES + WHERE TABLE_TYPE = 'BASE TABLE' + AND QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName + AND OBJECTPROPERTY( + OBJECT_ID( + QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) + ), 'IsMSShipped' + ) = 0 + ) + WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL) + BEGIN + SET @ColumnName = + ( + SELECT MIN(QUOTENAME(COLUMN_NAME)) + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_SCHEMA = PARSENAME(@TableName, 2) + AND TABLE_NAME = PARSENAME(@TableName, 1) + AND DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar', 'int', 'decimal') + AND QUOTENAME(COLUMN_NAME) > @ColumnName + ) + IF @ColumnName IS NOT NULL + BEGIN + INSERT INTO #Results + EXEC + ( + 'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630) + FROM ' + @TableName + ' (NOLOCK) ' + + ' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2 + ) + END + END + END + SELECT ColumnName, ColumnValue FROM #Results +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_SelezioneCampione_Fc.sql b/sql/storedProduzione/dbo_SelezioneCampione_Fc.sql new file mode 100644 index 00000000..98a18f57 --- /dev/null +++ b/sql/storedProduzione/dbo_SelezioneCampione_Fc.sql @@ -0,0 +1,33 @@ +CREATE procedure [dbo].[SelezioneCampione_Fc] + -- @NomeTabella as varchar(50), + @NomeChiave as varchar(50) +AS +BEGIN + DECLARE @sql nvarchar(max) + DECLARE @SQLString NVARCHAR(500) + DECLARE @ParmDefinition NVARCHAR(500) + DECLARE @IntVariable INT + DECLARE @Lastlname varchar(30) + DECLARE @LastlnameOUT INT + Set @IntVariable=1 + DECLARE @Giorni int, @i int + SET @Giorni = 5 + SET @i = 0 +--WHILE @IntVariable < 5 +--BEGIN + SET @SQLString = N'select @LastlnameOUT = count(*) from [C6MartPeriodico].[selezionecampione2] WHERE ' + + quotename(@NomeChiave) + ' > 0 ' + SET @ParmDefinition = N' @LastlnameOUT varchar(30) OUTPUT' + EXECUTE sp_executesql @SQLString,@ParmDefinition,@LastlnameOUT=@Lastlname OUTPUT + IF @Lastlname>0 + Begin + select @Lastlname + END + -- SET @sql = N'insert into selezionecampione2_fc (rete,cod_fiscale,'+quotename(@NomeChiave)+') ' + + -- ' select top 10 rete,cod_fiscale,'+@NomeChiave+' from [C6MartPeriodico].[selezionecampione2] WHERE ' + + -- quotename(@NomeChiave) + ' > 0 ' + -- EXEC sp_executesql @sql + -- set @IntVariable=@IntVariable+1; + --End -- IF +--END --While +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_SubscribedCustomer_Compare.sql b/sql/storedProduzione/dbo_SubscribedCustomer_Compare.sql new file mode 100644 index 00000000..a4b615f8 --- /dev/null +++ b/sql/storedProduzione/dbo_SubscribedCustomer_Compare.sql @@ -0,0 +1,28 @@ +CREATE procedure [dbo].[SubscribedCustomer_Compare] +AS +BEGIN + SET NOCOUNT ON; + TRUNCATE TABLE [C6StampeCentralizzate].[dbo].[SubscribedCustomer_ComparedResults] + INSERT INTO [C6StampeCentralizzate].[dbo].[SubscribedCustomer_ComparedResults] ([Rete], [FiscalCode], [DateOfMonitoring], [Description]) + SELECT hp.[Rete], hp.[FiscalCode], hp.[DateOfMonitoring], 'Cliente mancante in lista Fideuram' + FROM [C6StampeCentralizzate].[dbo].[SubscribedCustomer_HP] hp + LEFT OUTER JOIN [C6StampeCentralizzate].[dbo].[SubscribedCustomer_Bank] bank + ON hp.[Rete] = bank.[Rete] and + hp.[FiscalCode] = bank.[FiscalCode] and + hp.[DateOfMonitoring] = bank.[DateOfMonitoring] + WHERE + bank.[Rete] IS NULL OR + bank.[FiscalCode] IS NULL OR + bank.[DateOfMonitoring] IS NULL + INSERT INTO [C6StampeCentralizzate].[dbo].[SubscribedCustomer_ComparedResults] ([Rete], [FiscalCode], [DateOfMonitoring], [Description]) + SELECT bank.[Rete], bank.[FiscalCode], bank.[DateOfMonitoring], 'Cliente mancante in lista HP' + FROM [C6StampeCentralizzate].[dbo].[SubscribedCustomer_Bank] bank + LEFT OUTER JOIN [C6StampeCentralizzate].[dbo].[SubscribedCustomer_HP] hp + ON bank.[Rete] = hp.[Rete] and + bank.[FiscalCode] = hp.[FiscalCode] and + bank.[DateOfMonitoring] = hp.[DateOfMonitoring] + WHERE + hp.[Rete] IS NULL OR + hp.[FiscalCode] IS NULL OR + hp.[DateOfMonitoring] IS NULL +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_TEST_GETNEXTTRIMESTRE.sql b/sql/storedProduzione/dbo_TEST_GETNEXTTRIMESTRE.sql new file mode 100644 index 00000000..61c96d68 --- /dev/null +++ b/sql/storedProduzione/dbo_TEST_GETNEXTTRIMESTRE.sql @@ -0,0 +1,53 @@ +-- Stored procedure +CREATE procedure [dbo].[TEST_GETNEXTTRIMESTRE] +AS +BEGIN +--marzo +select c6martperiodico.getNextTrimestre(cast ('20121201' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20121231' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120101' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120131' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120228' as datetime),0) +--giugno +select c6martperiodico.getNextTrimestre(cast ('20120301' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120331' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120401' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120430' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120531' as datetime),0) +--settembre +select c6martperiodico.getNextTrimestre(cast ('20120601' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120630' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120701' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120731' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120831' as datetime),0) +--dicembre +select c6martperiodico.getNextTrimestre(cast ('20120901' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120930' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20121001' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20121031' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20121130' as datetime),0) +--marzo +select c6martperiodico.getNextTrimestre(cast ('20121201' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20121231' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120101' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120131' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120228' as datetime),1) +--giugno +select c6martperiodico.getNextTrimestre(cast ('20120301' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120331' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120401' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120430' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120531' as datetime),1) +--settembre +select c6martperiodico.getNextTrimestre(cast ('20120601' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120630' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120701' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120731' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120831' as datetime),1) +--dicembre +select c6martperiodico.getNextTrimestre(cast ('20120901' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120930' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20121001' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20121031' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20121130' as datetime),1) +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_TEST_GETTRIMESTRE2.sql b/sql/storedProduzione/dbo_TEST_GETTRIMESTRE2.sql new file mode 100644 index 00000000..3d2a59ff --- /dev/null +++ b/sql/storedProduzione/dbo_TEST_GETTRIMESTRE2.sql @@ -0,0 +1,53 @@ +-- Stored procedure +CREATE procedure [dbo].[TEST_GETTRIMESTRE2] +AS +BEGIN +--dicembre +select c6martperiodico.getTrimestre2(cast ('20121201' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20121231' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120101' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120131' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120228' as datetime),0) +--marzo +select c6martperiodico.getTrimestre2(cast ('20120301' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120331' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120401' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120430' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120531' as datetime),0) +--giugno +select c6martperiodico.getTrimestre2(cast ('20120601' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120630' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120701' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120731' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120831' as datetime),0) +--settembre +select c6martperiodico.getTrimestre2(cast ('20120901' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120930' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20121001' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20121031' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20121130' as datetime),0) +--dicembre +select c6martperiodico.getTrimestre2(cast ('20121201' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20121231' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120101' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120131' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120228' as datetime),1) +--marzo +select c6martperiodico.getTrimestre2(cast ('20120301' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120331' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120401' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120430' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120531' as datetime),1) +--giugno +select c6martperiodico.getTrimestre2(cast ('20120601' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120630' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120701' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120731' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120831' as datetime),1) +--settembre +select c6martperiodico.getTrimestre2(cast ('20120901' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120930' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20121001' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20121031' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20121130' as datetime),1) +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_TEST_MERGED_PROCEDURE.sql b/sql/storedProduzione/dbo_TEST_MERGED_PROCEDURE.sql new file mode 100644 index 00000000..7479aea7 --- /dev/null +++ b/sql/storedProduzione/dbo_TEST_MERGED_PROCEDURE.sql @@ -0,0 +1,4338 @@ +CREATE procedure [dbo].[TEST_MERGED_PROCEDURE] +@Rete char(1), +@CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED +----------------------------------------------- C6MartPeriodico.PL_S43LineaSelfBF +SELECT '' as 'C6MartPeriodico.PL_S43LineaSelfBF', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(cast(datasott as varchar)) as DataSott + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND isnull(ctv,0) < 0 +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D_S333Fonditalia80 +Select + '' as 'C6MartPeriodico.PL_D_S333Fonditalia80', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale + ,[DES_PROD] + ,[COD_CONF] + ,[QUOTA] + ,[NUMEROQUOTE] + ,[CONTROVALORE] + ,[DATARIF] + ,[DES_MAX] + ,[QUOTA_MAX] + ,[QUOTA_MAX_PERC] + ,[DATARIF_MAX] + ,[DES_PROT] + ,[QUOTA_PROT] + ,[NUMEROQUOTE_PROT] + ,[CONTROVALORE_PROT] +from [C6martperiodico].[capprot] + WHERE [Rete] = @Rete + AND [Codfis] = @CodiceFiscale +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_S10PatrimonioFinanziario +SELECT '' as 'C6MartPeriodico.PL_S10PatrimonioFinanziario' , @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + A.BANCA, + A.ORDINAMENTO, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,5)) Controvalore, + cast(A.Percentuale as decimal(19,5)) Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Banca Fideuram' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN C6Mart.ClientiConCCNegativo CCNegativo +---- ON PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- --PATRBF.TIPO_PRODOTTO = 'CC' +-- PATRBF.ID_AREA = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- --AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN C6Mart.ASSETCLASS ASSETCLASS + ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +--V Aggiunto controllo che il cvt sia maggiore di zero, altrimenti +-- viene visualizzato sul report una riga con 0 +WHERE A.CONTROVALORE > 0 +ORDER BY A.ORDINAMENTO +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_Prodotti_Non_Associati_Area_Inv +SELECT '' as 'C6MartPeriodico.PL_Prodotti_Non_Associati_Area_Inv', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, +PATRBF.RETE, +PATRBF.COD_FISCALE, +ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') AS NOME_PROGETTO, +ID_AREA as NEED_AREA, +SUM(CTV) AS CONTROVALOREATTUALE, +MAX(ISNULL(RISK.VAR_PERC_PTF,0)) AS var_needarea, +--PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString +FROM +C6MARTPERIODICO.PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +C6MARTPERIODICO.RISCHIO_AGGREGATO RISK +ON PATRBF.RETE = RISK.RETE + AND PATRBF.COD_FISCALE = RISK.COD_FISCALE + AND RISK.COD_AGGREG = 'PIRAMIDE|Inv|'+ ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.id_AREA = 'Inv' + AND PATRBF.NOME_PROGETTO='Prodotti non associati a progetti' +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti'), +ID_AREA, +CHIAVE_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D_S332FVI_CS80_CT80 +SELECT '' as 'C6MartPeriodico.PL_D_S332FVI_CS80_CT80', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Banca Fideuram' + END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + --PRODOTTI BF ESCLUSI GLI ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --CON SKANDIA + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + where assetclass.descrizione in ('Monetario', 'Obbligazionario', 'Azionario') +) A +ORDER BY A.ORDINAMENTO +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_MP_S137BIS_FOI80 Total +SELECT '' as 'C6MartPeriodico.PL_MP_S137BIS_FOI80', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + DTTRIM, + DTRIFE, + RETE, + CODFIS, + DESPROD, + CODMAN, + CODCONF, + CODPROD, + SUBPROD, + ISIN, + CTV, + PREZZO, + QUOTE, + PREZZOMAX, + DTPREZZOMAX, + DESMAX, + PREZZOPROT, + CTRVIMPPROT, + DESPROT, + DESPRODTIT, + QUOTA_MAX_PERC + FROM C6MartPeriodico.FOI80 + WHERE 1=1 + AND RETE = @Rete + AND CODFIS = @CodiceFiscale +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.GESTIONE_S_Intermediari + SELECT DISTINCT '' as 'C6MartPeriodico.GESTIONE_S_Intermediari', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, INTERMEDIARIO + FROM C6Mart.PATRIMONIO_TERZI + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_S80BisEvoluzioneRischio +SELECT '' as 'C6MartPeriodico.PL_S80BisEvoluzioneRischio', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + Fase + ,DataFase + ,VarMassimoProfiloFinanziario + ,VarComplessivo + ,Copertura + ,RISKCLASS + ,RISKCLASSMAX + ,RiskClassString + ,RiskClassMaxString + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S80BisEvoluzioneRischio] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S150Anagrafica +SELECT '' as 'C6MartPeriodico.PL_D2_S150Anagrafica', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + [Cliente] + ,[DatadiNascita] + ,[ETA] + ,[Professione] + ,[StatoCivile] + ,[NucleoFamiliare] + ,[Residenza] + ,[CodiceFiscale] + ,[CodicePB] + ,[CodiceRete] + ,[CodiceContratto] + ,[StatoContratto] + ,[DataSottoscrizione] + ,[DataPerfezionamento] + ,[FasciaCPP] + ,[IndirizzoEmail] + ,[ProduzioneReport] + ,[Indirizzo] + ,[CAP] + ,[Citta] + ,[Provincia] + ,[Nazione] + ,[PRESSO] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S25Anagrafica] + WHERE [CodiceRete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S151ProfiloDiRischio +BEGIN +DECLARE @varBF DECIMAL(12,2) +DECLARE @coperturaBF DECIMAL(12,2) +DECLARE @codiceProfilo SMALLINT +DECLARE @dataProfilo DATETIME +DECLARE @varProfilo DECIMAL(5,2) +DECLARE @nomeProfilo VARCHAR(50) +DECLARE @riskclass VARCHAR(50) +DECLARE @experience SMALLINT +SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience +FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO +WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale +SELECT '' as 'C6MartPeriodico.PL_D2_S151ProfiloDiRischio', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskclass, + @experience as experince +END +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S152Patrimonio +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT @PatrimonioBF = SUM(CTV) + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area not in ('CC','SELF') + SELECT @Part_viaggianti = SUM(IMPORTO) + FROM + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Martperiodico.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) T + SELECT @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + SELECT @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT @PatrimonioAltro = SUM(patrAltro.ctv) + FROM C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + SELECT '' as 'C6MartPeriodico.PL_D2_S152Patrimonio', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV +END +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S153PatrimonioFinanziario + SELECT '' as 'C6MartPeriodico.PL_D2_S153PatrimonioFinanziario', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Intermediario, + Ordine, + CASE @Rete WHEN 'F' THEN 'Banca Fideuram' ELSE 'Sanpaolo Invest' END AS Banca, + SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine)) / + (SUM(ctv) over (partition by 'Totale')) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + CASE @Rete WHEN 'F' THEN 'Banca Fideuram' ELSE 'Sanpaolo Invest' END AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE 1 = 1 + AND patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + and patrBF.id_area not in ('CC','SELF') + UNION ALL + SELECT + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + AND patrTerzi.Rete = @Rete + AND patrTerzi.Cod_Fiscale = @CodiceFiscale + GROUP BY patrTerzi.Intermediario + ) PATR + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S154PatrimonioFinanziario +SELECT '' as 'C6MartPeriodico.PL_D2_S154PatrimonioFinanziario', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + CASE @Rete WHEN 'S' THEN 'Sanpaolo Invest'ELSE 'Banca Fideuram' END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + SELECT --PRODOTTI BF ESCLUSI GLI ASUL + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO NOT IN ('ASUL') + AND PATRBF.ID_AREA not in ('CC','SELF') + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --CON SKANDIA + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S155PatrimonioImmobiliare + SELECT '' as 'C6MartPeriodico.PL_D2_S155PatrimonioImmobiliare', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S156ALtroPatrimonio + SELECT '' as 'C6MartPeriodico.PL_D2_S156ALtroPatrimonio', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM + C6MartPeriodico.PATRIMONIO_ALTRO + WHERE + PATRIMONIO_ALTRO.RETE = @Rete + AND PATRIMONIO_ALTRO.COD_FISCALE = @CodiceFiscale + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S157ConfrontoPiramidi +SELECT '' as 'C6MartPeriodico.PL_D2_S157ConfrontoPiramidi', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S133_S157DatiPiramide] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S158PiramideModello +SELECT '' as 'C6MartPeriodico.PL_D2_S158PiramideModello', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + BF.NOME_PROGETTO AS NomePrg, + PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + AGGR.VAR_PERC_PTF as VarPrg, + SUM(BF.CTV)AS ControvalorePrg + FROM C6MartPeriodico.PATRIMONIO_BF BF + INNER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AGGR + ON BF.RETE= AGGR.RETE + AND BF.COD_FISCALE= AGGR.COD_FISCALE + AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD + ON BF.RETE= PIRMOD.RETE + AND BF.COD_FISCALE= PIRMOD.COD_FISCALE + AND BF.ID_AREA = PIRMOD.ID_AREA + AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'inv' + AND BF.RETE = @Rete + AND BF.COD_FISCALE = @CodiceFiscale + AND BF.CTV > 0 + group BY BF.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,AGGR.VAR_PERC_PTF +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S159PatrimonioFinanziario +SELECT '' as 'C6MartPeriodico.PL_D2_S159PatrimonioFinanziario', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(19,5)) AS Controvalore, + cast(A.Percentuale as decimal(19,5)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Banca Fideuram' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area not in ('CC','Self') + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S160DettaglioProdottiBF +BEGIN +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +SELECT '' as 'C6MartPeriodico.PL_D2_S160DettaglioProdottiBF', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_progetto,nome_progetto, PATRBF.CTV DESC +END +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S162DettaglioProdotti + SELECT '' as 'C6MartPeriodico.PL_D2_S162DettaglioProdotti', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + ON + PATRTERZI.RETE = RISCHIOAGGREG.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGREG.COD_FISCALE + AND RISCHIOAGGREG.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + WHERE 1 = 1 + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.DESCR_GRUPPO_PRODOTTO IS NOT NULL + ORDER BY + OrdinamentoProdotti, + Controvalore DESC +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S163PatrimonioFinanziarioMAssetClass +SELECT DISTINCT '' as 'C6MartPeriodico.PL_D2_S163PatrimonioFinanziarioMAssetClass', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN C6MART.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + ORDER BY + ASSETCLASS.ORDINAMENTO +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S164PolizzeAltriIstituti +SELECT '' as 'C6MartPeriodico.PL_D2_S164PolizzeAltriIstituti', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' + WHERE PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S165FondiAltriIstituti +SELECT '' as 'C6MartPeriodico.PL_D2_S165FondiAltriIstituti', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + WHERE + PATRTERZI.rete = @Rete + and PATRTERZI.cod_fiscale = @CodiceFiscale + --AND PATRTERZI.TIPO_PRODOTTO = 'Fondi pensione' +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S166ContoCorrenteAI +SELECT '' as 'C6MartPeriodico.PL_D2_S166ContoCorrenteAI', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + CCTerzi.INTERMEDIARIO AS Intermediario, + CCTerzi.COD_CC AS ContoCorrente, + CCTerzi.SALDO AS Saldo, + null as creditrisk, + 'n.a.' as creditriskstring, + 0.00 as var + FROM + C6MartPeriodico.ANAG_CC_Terzi CCTerzi + WHERE + CCTerzi.rete= @Rete + AND CCTerzi.cod_fiscale= @CodiceFiscale +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S167DistribuzioneRischioCredito +SELECT '' as 'C6MartPeriodico.PL_D2_S167DistribuzioneRischioCredito', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, RETE, + COD_FISCALE, + INTERMEDIARIO, + CASE + WHEN INTERMEDIARIO IN ('Banca Fideuram', + 'Sanpaolo Invest') THEN 1 + ELSE 2 + END AS ORDINE, + SUM(CTV) AS CTV_TOT, + SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, + SUM(CASE WHEN RISKCLASS = 'Classe A' + OR RISKCLASS = 'Classe B' + OR RISKCLASS = 'Classe C' + OR RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) AS CTV_CreditRisk, + SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, + --CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE + WHEN SUM(CTV)=0 THEN 0 + ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + OR RISKCLASS = 'Classe B' + OR RISKCLASS = 'Classe C' + OR RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 +END AS PERC_CreditRisk, +CASE + WHEN SUM(CTV)=0 THEN 0 + ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 +END AS PERC_NA +FROM ( -- Start 1.1 + SELECT PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END AS RISKCLASS, + CASE + WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' + ELSE 'Sanpaolo Invest' + END AS INTERMEDIARIO, + --SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 + AND patrbf.id_area IN ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS ctv + FROM [C6Martperiodico].PATRIMONIO_BF PATRBF ---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN + (SELECT cod_fiscale, + rete, + sum(ctv) AS cc_ctv + FROM [C6MARTPERIODICO].pATRIMONIO_BF + WHERE id_Area IN ('Cc', + 'Self') + GROUP BY cod_fiscale, + rete) ctvcc ON patrbf.cod_fiscale=ctvcc.cod_fiscale + AND patrbf.rete=ctvcc.rete --fine calcolo somma cc +LEFT OUTER JOIN [C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto AS varchar),'') + '|' --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('EXT', + 'INV', + 'PRE', + 'RIS', + 'LIQ') THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('CC') THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('SELF') THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('NA') THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' -- + END + PATRBF.POSITION_ID --INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT OUTER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR ON RISCHIO_PROD.CREDITRISK = cr.profilo --V + WHERE PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.RETE = @Rete -- +GROUP BY PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END, + CASE + WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' + ELSE 'SANPAOLO' + END --- End 1.1 +UNION ALL -- Start 1.2 + SELECT PATRTERZI.RETE, + PATRTERZI.COD_FISCALE, + CASE + WHEN RISCHIOPROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END AS RISKCLASS, + 'Altri Istituti' AS INTERMEDIARIO, + --PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV + FROM [C6Martperiodico].PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + (SELECT cod_fiscale, + rete, + sum(ctv) AS cc_ctv + FROM [C6Martperiodico].pATRIMONIO_terzi + WHERE tipo_prodotto='Conti correnti' + GROUP BY cod_fiscale, + rete) ctvcc ON patrterzi.cod_fiscale=ctvcc.cod_fiscale + AND patrterzi.rete=ctvcc.rete + LEFT OUTER JOIN [C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD ON PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR ON RISCHIOPROD.CREDITRISK = cr.profilo --V + WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.RETE = @Rete -- +GROUP BY PATRTERZI.RETE, + PATRTERZI.COD_FISCALE, + --PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE +END -- End 1.2 +)H +GROUP BY RETE, + COD_FISCALE, + INTERMEDIARIO -------- +UNION ALL ----------- +--QUERY TOTALE +SELECT '' as 'C6MartPeriodico.PL_D2_S167DistribuzioneRischioCredito', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, RETE, + COD_FISCALE, + 'Complessivo' AS INTERMEDIARIO, + 3 AS ORDINE, + SUM(CTV) AS CTV_TOT, + SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, + SUM(CASE WHEN RISKCLASS = 'Classe A' + OR RISKCLASS = 'Classe B' + OR RISKCLASS = 'Classe C' + OR RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) AS CTV_CreditRisk, + SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, + --CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE + WHEN SUM(CTV)=0 THEN 0 + ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + OR RISKCLASS = 'Classe B' + OR RISKCLASS = 'Classe C' + OR RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 +END AS PERC_CreditRisk, +CASE + WHEN SUM(CTV)=0 THEN 0 + ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 +END AS PERC_NA +FROM (--- Start 2.1 + SELECT PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END AS RISKCLASS, + --SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 + AND patrbf.id_area IN ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS CTV + FROM [C6Martperiodico].PATRIMONIO_BF PATRBF --per fare la somma algebrica dei cc +LEFT OUTER JOIN + (SELECT cod_fiscale, + rete, + sum(ctv) AS cc_ctv + FROM [C6MARTPERIODICO].pATRIMONIO_BF + WHERE id_Area IN ('Cc', + 'Self') + GROUP BY cod_fiscale, + rete) ctvcc ON patrbf.cod_fiscale=ctvcc.cod_fiscale + AND patrbf.rete=ctvcc.rete --fine somma cc +LEFT OUTER JOIN [C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto AS varchar),'')+'|' --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('EXT', + 'INV', + 'PRE', + 'RIS', + 'LIQ') THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('CC') THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('SELF') THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('NA') THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' -- + END + PATRBF.POSITION_ID + LEFT OUTER JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR ON RISCHIO_PROD.CREDITRISK = cr.profilo --V + WHERE PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.RETE = @Rete -- +GROUP BY PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END -- End 2.1 +UNION ALL -- Start 2.2 + SELECT PATRTERZI.RETE, + PATRTERZI.COD_FISCALE, + CASE + WHEN RISCHIOPROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END AS RISKCLASS, + SUM(ROUND(CTV,2)) AS CTV + FROM [C6Martperiodico].PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + (SELECT cod_fiscale, + rete, + sum(ctv) AS cc_ctv + FROM [C6Martperiodico].pATRIMONIO_terzi + WHERE tipo_prodotto='Conti correnti' + GROUP BY cod_fiscale, + rete) ctvcc ON patrterzi.cod_fiscale=ctvcc.cod_fiscale + AND patrterzi.rete=ctvcc.rete + LEFT OUTER JOIN [C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD ON PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR ON RISCHIOPROD.CREDITRISK = cr.profilo --V + WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.RETE = @Rete -- + GROUP BY PATRTERZI.RETE, + PATRTERZI.COD_FISCALE, + CASE + WHEN RISCHIOPROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END --- End 2.2 +)H +GROUP BY RETE, + COD_FISCALE +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S168TabellaEmittenti +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT '' as 'C6MartPeriodico.PL_D2_S168TabellaEmittenti', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS, + RATING + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +--RATING as RATING +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +--RATING as RATING +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V +LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS, +RATING +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10 +--RATING +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END +-------------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_S43DettaglioProdottiBF +BEGIN +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ2 AS INT + SELECT @TOTSELFLIQ2 = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ2 AS INT + SELECT @TOTLIQ2 = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT '' as 'C6MartPeriodico.PL_S43DettaglioProdottiBF', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ2 = @TOTLIQ2 and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + --LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_PROGETTO,nome_progetto, PATRBF.CTV DESC +END +--select top 1 * from c6martperiodico.patrimonio_bf where tipo_prodotto = 'CC' +--select SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)),ANAG_CC.COD_CC +--from c6martperiodico.anag_cc +--------------------------------------------------------------- + ---------------------------------------------------------------C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito + BEGIN -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; +SELECT '' as 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk IS NULL THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, + --V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL -- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN (SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE)) = 0 THEN 1 ELSE (SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE)) END) *100,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc +FROM + ( SELECT PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' + ELSE 'Patrimonio Sanpaolo Invest' + END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 AS ORDINE, + RISK_AGG.Ully_perc + FROM c6martperiodico.patrimonio_bf PATRBF, + C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + WHERE 1=1 + AND PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + AND PATRBF.rete= RISK_AGG.rete + AND PATRBF.cod_fiscale = @codiceFiscale + AND PATRBF.rete= @rete + AND PATRBF.CTV > 0 + AND ( RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE + WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' + ELSE 'Patrimonio Sanpaolo Invest' + END + UNION SELECT TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 AS ORDINE, + RISK_AGG.Ully_perc + FROM c6martperiodico.PATRIMONIO_TERZI TERZI, + C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + WHERE 1=1 + AND TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + AND TERZI.rete= RISK_AGG.rete + AND TERZI.cod_fiscale =@codiceFiscale + AND TERZI.rete=@rete + AND TERZI.CTV > 0 + AND ( --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' ) + GROUP BY TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc ) PATRBF +LEFT OUTER JOIN c6martperiodico.MIFID AS M ON PATRBF.COD_FISCALE=M.COD_FISCALE +AND PATRBF.RETE=M.RETE +LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR ON M.PROFILO_ASS = CR.PROFILO +LEFT OUTER JOIN c6martperiodico.CODIFICA_CREDITRISK CK ON M.riskclass=CK.PROFILO +LEFT OUTER JOIN c6martperiodico.RISCHIO_AGGREGATO RISK_AGG ON PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +AND PATRBF.RETE=RISK_AGG.RETE +AND (CASE + WHEN RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' + AND PATRBF.RETE= 'F' THEN 'Patrimonio Banca Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + AND PATRBF.RETE= 'S' THEN 'Patrimonio Sanpaolo Invest' + ELSE 'Patrimonio altri Istituti' + END)= PATRBF.INSTITUTENAME +WHERE ( RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + OR RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' ) +UNION ALL +SELECT '' as 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR, + MAX(CASE WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( CASE WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' WHEN RISK_AGG.creditrisk IS NULL THEN 'n.a.' WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' ELSE NULL END) AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX(CASE WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc +FROM + ( SELECT PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + FROM c6martperiodico.patrimonio_bf PATRBF + WHERE 1=1 + AND cod_fiscale =@codiceFiscale + AND rete=@rete + AND PATRBF.CTV > 0 + GROUP BY PATRBF.RETE, + PATRBF.COD_FISCALE + UNION SELECT TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM c6martperiodico.PATRIMONIO_TERZI TERZI + WHERE 1=1 + AND cod_fiscale =@codiceFiscale + AND rete=@rete + AND TERZI.CTV > 0 + GROUP BY TERZI.RETE, + TERZI.COD_FISCALE ) PATRBF +LEFT OUTER JOIN c6martperiodico.MIFID AS M ON PATRBF.COD_FISCALE=M.COD_FISCALE +AND PATRBF.RETE=M.RETE +LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR ON M.PROFILO_ASS = CR.PROFILO +LEFT OUTER JOIN c6martperiodico.CODIFICA_CREDITRISK CK ON M.riskclass=CK.PROFILO +LEFT OUTER JOIN c6martperiodico.RISCHIO_AGGREGATO RISK_AGG ON PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +AND PATRBF.RETE=RISK_AGG.RETE +WHERE ( RISK_AGG.COD_AGGREG= 'COMPLESSIVO' ) +GROUP BY PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc --V +ORDER BY ordine END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_D2_S170RischioDiversificazione +BEGIN + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 +SELECT '' as 'C6MartPeriodico.PL_D2_S170RischioDiversificazione', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Banca Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_D2_S171PatrimonioNonRappresentabileAssettClass +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Banca Fideuram' + ELSE + SET @NOMERETE = 'Sanpaolo Invest' + SELECT '' as 'C6MartPeriodico.PL_D2_S171PatrimonioNonRappresentabileAssettClass', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL +--INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <> 0.00 +--INIZIO INTERVENTI OMNIA + UNION ALL + SELECT '' as 'C6MartPeriodico.PL_D2_S171PatrimonioNonRappresentabileAssettClass', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO + ORDER BY CONTROVALORE DESC +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_S25Anagrafica +BEGIN +SELECT '' as 'C6MartPeriodico.PL_S25Anagrafica', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, [Cliente] + ,[DatadiNascita] + ,[ETA] + ,[Professione] + ,[StatoCivile] + ,[NucleoFamiliare] + ,[Residenza] + ,[CodiceFiscale] + ,[CodicePB] + ,[CodiceRete] + ,[CodiceContratto] + ,[StatoContratto] + ,[DataSottoscrizione] + ,[DataPerfezionamento] + ,[FasciaCPP] + ,[IndirizzoEmail] + ,[ProduzioneReport] + ,[Indirizzo] + ,[CAP] + ,[Citta] + ,[Provincia] + ,[Nazione] + ,[PRESSO] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S25Anagrafica] + WHERE [CodiceRete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_AreeMonitorate +-- 2resultsets +BEGIN -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +SELECT '' as 'C6MartPeriodico.PL_AreeMonitorate', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, max(convert(datetime,convert(varchar(8),dtuscita))) AS dtfine, + rete, + codarea, + codfis, + codprog INTO #tcptab_aggr_dt +FROM c6stagingperiodico.tcptab +WHERE ctvatt>0 +GROUP BY rete, + codfis, + codarea, + codprog +SELECT '' as 'C6MartPeriodico.PL_AreeMonitorate', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, a.codfis, + a.rete, + a.codarea, + a.codprog, + a.dtfine tanab_dt, + b.dtfine tcptab_dt INTO #dis_dt +FROM c6stagingperiodico.tanab a +FULL JOIN #tcptab_aggr_dt b ON a.rete = b.rete +AND a.codfis = b.codfis +AND a.codarea = b.codarea +AND a.codprog = b.codprog +WHERE convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine + AND b.dtfine 0 +AND PIRMOD.ID_AREA NOT IN ('Pre1', + 'Pre2', + 'Cc') --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 AS AREAPROGETTOSOTTOMONITORAGGIO + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +WHERE PATRBF.RETE= @Rete +AND PATRBF.COD_FISCALE = @CodiceFiscale +AND PATRBF.CTV < 0 +AND id_area = 'CC' -- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT 'Self' AS Need_Area, + 'Liquidità negativa "Linee GP Eligo"' AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 AS AREAPROGETTOSOTTOMONITORAGGIO + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +WHERE PATRBF.RETE= @Rete +AND PATRBF.COD_FISCALE = @CodiceFiscale +AND PATRBF.CTV < 0 +AND id_area = 'SELF' -- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + 8 AS ORDINE, + 0 AS AREAPROGETTOSOTTOMONITORAGGIO + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +WHERE PATRBF.RETE= @Rete +AND PATRBF.COD_FISCALE = @CodiceFiscale +AND PATRBF.CTV > 0 +AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT CASE WHEN PATRBF.ID_AREA IN ('Pre', + 'Pre1', + 'Pre2') THEN 'Pre' ELSE PATRBF.ID_AREA END AS Need_Area, + CASE WHEN PATRBF.ID_AREA IN ('Pre', + 'Pre1', + 'Pre2') THEN 'Previdenza' ELSE AREA.NOME_AREA END AS NEED_ESTESA, + CASE WHEN PATRBF.NOME_PROGETTO IS NULL + AND PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' ELSE PATRBF.NOME_PROGETTO END AS Nome_Progetto, + --case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA WHEN 'Liq' THEN 1 WHEN 'Ris' THEN 2 WHEN 'Pre' THEN 3 WHEN 'Pre1' THEN 3 WHEN 'Pre2' THEN 3 WHEN 'Inv' THEN 4 WHEN 'Ext' THEN 5 WHEN 'Na' THEN 7 END AS ORDINE, +CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO +WHERE 1=1 +AND PATRBF.RETE= @Rete +AND PATRBF.COD_FISCALE = @CodiceFiscale +AND PATRBF.CTV > 0 +AND PATRBF.EXTRANAC=1 +AND PATRBF.ID_AREA NOT IN ('Na', + 'Cc')) A +GROUP BY NEED_AREA, + NEED_ESTESA, + NOME_PROGETTO, + ORDINAMENTO_PROGETTO +ORDER BY ORDINE, + ORDINAMENTO_PROGETTO END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S137Bonus +BEGIN + SELECT '' as 'C6MartPeriodico.PL_MP_S137Bonus', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, [RETE], + bonus.[COD_FISCALE], + [DES_PROD] = CASE + WHEN desrc.descrizione is null THEN '' + ELSE desrc.descrizione + END, + bonus.[COD_CONF], + bonus.[CTV], + bonus.[DT_TRIM], + 'Bonus Maturato' as [DESBONUS_M], + bonus.[BONUS_M], + bonus.[DTDEC_M], + 'Bonus a scadenza 5 anni' as [DESBONUS_5], + bonus.[BONUS_5], + bonus.[DTDEC_5], + 'Bonus a scadenza 10 anni' as [DESBONUS_10], + bonus.[BONUS_10], + bonus.[DTDEC_10], + bonus.[COD_PROD] + FROM [C6MartPeriodico].[BONUS] bonus + Left Join c6martperiodico.descrizione_bonus desrc + on desrc.cod_prod = bonus.cod_prod + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S135MonitoraggioInvestimento +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT '' as 'C6MartPeriodico.PL_MP_S135MonitoraggioInvestimento', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + UNION + SELECT '' as 'C6MartPeriodico.PL_MP_S135MonitoraggioInvestimento', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S134MonitoraggioLiquidita +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- DECLARE @RendimNonRappr BIT +SELECT '' as 'C6MartPeriodico.PL_MP_S134MonitoraggioLiquidita', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + case when RENDIMNONRAPPR=1 then 1 else 0 end AS cf_rendim_non_rappr, + MONIT.id_Area AS Need_Area, + CASE + WHEN MONIT.NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(MONIT.NOME_PROGETTO)) + END AS Nome_Progetto, + monit.ordinamento_progetto, + dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, + CTV_MONITORATO AS ControvaloreMonitorato, + APPORTO_INIZIALE AS ApportoIniziale, + APPORTO_SUCCESSIVO AS ApportoSuccessivo, + LIQUIDAZIONI, + CEDOLE_DIVIDENDI AS CedoleEDividendi, + MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, + RENDIMENTO_CUMULATO AS Rendimento_Attuale, + RISORSE_ASSOCIATE AS RisorseApportate, + dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, + RENDIMENTO_ANNUALIZZATO + FROM + C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT + LEFT OUTER JOIN + ( + SELECT + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end as NOME_PROGETTO, + patr_bf.ordinamento_progetto, + 1 as RENDIMNONRAPPR + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + LEFT OUTER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + WHERE + PATR_BF.RETE = @Rete + AND PATR_BF.COD_FISCALE = @CodiceFiscale + AND PATR_BF.REND_NON_RAPPR = 1 + group by + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end, + patr_bf.ordinamento_progetto + ) PATR_BF + ON PATR_BF.COD_FISCALE=MONIT.COD_FISCALE + AND PATR_BF.RETE= MONIT.RETE + AND left(PATR_BF.ID_AREA,3)=left(MONIT.ID_AREA,3) + AND isnull(PATR_BF.NOME_PROGETTO,'XXX')=isnull(MONIT.NOME_PROGETTO,'XXX') + And monit.ordinamento_progetto=patr_bf.ordinamento_progetto + WHERE + MONIT.RETE = @Rete AND + MONIT.COD_FISCALE = @CodiceFiscale +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S134BISMonitoraggioLiqInv +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT '' as 'C6MartPeriodico.PL_MP_S134BISMonitoraggioLiqInv', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + UNION + SELECT '' as 'C6MartPeriodico.PL_MP_S134BISMonitoraggioLiqInv', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S133BISPrincipaliProdotti +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT TOP 10 '' as 'C6MartPeriodico.PL_MP_S133BISPrincipaliProdotti', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + ANAGPROD.DESCR_PRODOTTO AS descrProdotto + ,PATRBF.CTV AS Controvalore + ,CASE + WHEN patrbf.tipo_prodotto = 'CC' THEN 0.00 + ELSE RISCHIO_PROD.VAR_PERC_PTF + END AS VaRprodotto + ,((CASE + WHEN ((PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100) is null then 0.00 + ELSE(PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100 + END) / (CASE + WHEN sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') = 0 THEN 1 + ELSE sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') + END))*100 as rischioRelativo + ,(PATRBF.CTV/(sum(PATRBF.CTV) over (partition by 'totale')))*100 AS pesoRelativo + ,PATRBF.ID_AREA AS codAreaBisogno + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO + INNER JOIN C6MartPeriodico.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.ordinamento_progetto as varchar),'') + '|' + WHEN LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END + + PATRBF.POSITION_ID + WHERE PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 + AND PATRBF.ID_AREA <> 'Cc' + ORDER BY rischioRelativo DESC +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S133AreeBisognoPrincProd +BEGIN +SELECT '' as 'C6MartPeriodico.PL_MP_S133AreeBisognoPrincProd', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S133_S157DatiPiramide] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +end +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S132ProfiloRischioAdeguatezza +SELECT '' as 'C6MartPeriodico.PL_MP_S132ProfiloRischioAdeguatezza', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, [RETE] + ,[COD_FISCALE] + ,[INSTITUTENAME] + ,[CTV] + ,[CODICEPROFILO] + ,[DATAINIZIOVALIDITA] + ,[VARMAX] + ,[NOMEPROFILO] + ,[VAR] + ,[VARSTRING] + ,[RISKCLASS] + ,[RISKCLASSSTRING] + ,[COVERAGE] + ,[COVERAGESTRING] + ,[RISKCLASSMAX] + ,[PERCENTAGE] + ,[VarIsOk] + ,[RiskClassIsOk] + ,[ComplexityIsOk] + ,[Ully_perc] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S132ProfiloRischioAdeguatezza] + WHERE [RETE] = @Rete + AND [COD_FISCALE] = @CodiceFiscale +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S146RischioDiversificazione +BEGIN + declare @contaCC2 as int + select @contaCC2 = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS2 as int + select @contaPOS2 = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete +SELECT '' as 'C6MartPeriodico.PL_MP_S146RischioDiversificazione', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, +K.COD_FISCALE, +K.RETE, +CASE + WHEN (@contaPOS2 - @contaCC2 = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS2 - @contaCC2 <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS2 - @contaCC2 <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (@contaPOS2 - @contaCC2 = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Banca Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY 11 +end +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S141AnalisiRisparmioTable +BEGIN + SET NOCOUNT ON; +declare @patr_compl2 decimal(18,3) +select @patr_compl2=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT '' as 'C6MartPeriodico.PL_MP_S141AnalisiRisparmioTable', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale,--U.* + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +FROM ( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + --RATING AS RATING, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + FROM + (SELECT --Y.* + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + --RATING AS RATING, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + RATING, + CREDITRISKCLASS + ) Y + GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +------COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl2) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +FROM +( +SELECT --L.* + COD_FISCALE, + RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER, + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , + SUM(COPERTURA) AS COPERTURA +FROM +( + SELECT --V.* + V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + RATING, + INTERMEDIARIO, + CREDITRISKCLASS + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10 +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +) U + ORDER BY U.CONCENTRATION DESC +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S140AnalisiRisparmioCharts +BEGIN +SET NOCOUNT ON; + --QUERY PER INTERMEDIARIO +SELECT '' as 'C6MartPeriodico.PL_MP_S140AnalisiRisparmioCharts', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, RETE, + COD_FISCALE, + INTERMEDIARIO, + CASE + WHEN INTERMEDIARIO IN ('Banca Fideuram', + 'Sanpaolo Invest') THEN 1 + ELSE 2 + END AS ORDINE, + SUM(CTV) AS CTV_TOT, + SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, + SUM(CASE WHEN RISKCLASS = 'Classe A' + OR RISKCLASS = 'Classe B' + OR RISKCLASS = 'Classe C' + OR RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) AS CTV_CreditRisk, + SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, + --CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE + WHEN SUM(CTV)=0 THEN 0 + ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + OR RISKCLASS = 'Classe B' + OR RISKCLASS = 'Classe C' + OR RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 +END AS PERC_CreditRisk, +CASE + WHEN SUM(CTV)=0 THEN 0 + ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 +END AS PERC_NA +FROM ( -- Start 1.1 + SELECT PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END AS RISKCLASS, + CASE + WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' + ELSE 'Sanpaolo Invest' + END AS INTERMEDIARIO, + --SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +SUM(CASE WHEN ctvcc.cc_ctv <0 + AND patrbf.id_area='cc' THEN 0 WHEN ctvself.self_ctv <0 + AND patrbf.id_area='self' THEN 0 ELSE PATRBF.CTV END) AS ctv --FINE INTERVENTI OMNIA +FROM [C6Martperiodico].PATRIMONIO_BF PATRBF ---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN + (SELECT cod_fiscale, + rete, + sum(ctv) AS cc_ctv + FROM [C6MARTPERIODICO].pATRIMONIO_BF + WHERE id_Area='Cc' + GROUP BY cod_fiscale, + rete) ctvcc ON patrbf.cod_fiscale=ctvcc.cod_fiscale + AND patrbf.rete=ctvcc.rete --fine calcolo somma cc +--INIZIO INTERVENTI OMNIA +---Per calcolare la somma algebrica dei self negativi +LEFT OUTER JOIN + (SELECT cod_fiscale, + rete, + sum(ctv) AS self_ctv + FROM [C6MARTPERIODICO].pATRIMONIO_BF + WHERE id_Area='Self' + GROUP BY cod_fiscale, + rete) ctvself ON patrbf.cod_fiscale=ctvself.cod_fiscale + AND patrbf.rete=ctvself.rete --fine calcolo somma self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN [C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto AS varchar),'') + '|' --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('EXT', + 'INV', + 'PRE', + 'RIS', + 'LIQ') THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('CC') THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('NA') THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' -- + END + PATRBF.POSITION_ID --INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT OUTER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR ON RISCHIO_PROD.CREDITRISK = cr.profilo --V + WHERE PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.RETE = @Rete -- +GROUP BY PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END, + CASE + WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' + ELSE 'SANPAOLO' + END --- End 1.1 +UNION ALL -- Start 1.2 + SELECT PATRTERZI.RETE, + PATRTERZI.COD_FISCALE, + CASE + WHEN RISCHIOPROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END AS RISKCLASS, + PATRTERZI.INTERMEDIARIO, + SUM(ROUND(CTV,2)) AS CTV + FROM [C6Martperiodico].PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + (SELECT cod_fiscale, + rete, + sum(ctv) AS cc_ctv + FROM [C6Martperiodico].pATRIMONIO_terzi + WHERE tipo_prodotto='Conti correnti' + GROUP BY cod_fiscale, + rete) ctvcc ON patrterzi.cod_fiscale=ctvcc.cod_fiscale + AND patrterzi.rete=ctvcc.rete + LEFT OUTER JOIN [C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD ON PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR ON RISCHIOPROD.CREDITRISK = cr.profilo --V + WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.RETE = @Rete -- +GROUP BY PATRTERZI.RETE, + PATRTERZI.COD_FISCALE, + PATRTERZI.INTERMEDIARIO, + CASE + WHEN RISCHIOPROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END -- End 1.2 +)H +GROUP BY RETE, + COD_FISCALE, + INTERMEDIARIO -------- +UNION ALL ----------- +--QUERY TOTALE +SELECT '' as 'C6MartPeriodico.PL_MP_S140AnalisiRisparmioCharts', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, RETE, + COD_FISCALE, + 'Complessivo' AS INTERMEDIARIO, + 3 AS ORDINE, + SUM(CTV) AS CTV_TOT, + SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, + SUM(CASE WHEN RISKCLASS = 'Classe A' + OR RISKCLASS = 'Classe B' + OR RISKCLASS = 'Classe C' + OR RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) AS CTV_CreditRisk, + SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, + --CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE + WHEN SUM(CTV)=0 THEN 0 + ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + OR RISKCLASS = 'Classe B' + OR RISKCLASS = 'Classe C' + OR RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 +END AS PERC_CreditRisk, +CASE + WHEN SUM(CTV)=0 THEN 0 + ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 +END AS PERC_NA +FROM (--- Start 2.1 + SELECT PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END AS RISKCLASS, + --SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 + AND patrbf.id_area='cc' THEN 0 WHEN ctvself.self_ctv <0 + AND patrbf.id_area='self' THEN 0 ELSE PATRBF.CTV END) AS CTV --FINE INTERVENTI OMNIA +FROM [C6Martperiodico].PATRIMONIO_BF PATRBF --per fare la somma algebrica dei cc +LEFT OUTER JOIN + (SELECT cod_fiscale, + rete, + sum(ctv) AS cc_ctv + FROM [C6MARTPERIODICO].pATRIMONIO_BF + WHERE id_Area='Cc' + GROUP BY cod_fiscale, + rete) ctvcc ON patrbf.cod_fiscale=ctvcc.cod_fiscale + AND patrbf.rete=ctvcc.rete --fine somma cc +--INIZIO INTERVENTI OMNIA +--per fare la somma algebrica dei self negativi +LEFT OUTER JOIN + (SELECT cod_fiscale, + rete, + sum(ctv) AS self_ctv + FROM [C6MARTPERIODICO].pATRIMONIO_BF + WHERE id_Area='Self' + GROUP BY cod_fiscale, + rete) ctvself ON patrbf.cod_fiscale=ctvself.cod_fiscale + AND patrbf.rete=ctvself.rete --fine somma Self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN [C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto AS varchar),'')+'|' --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('EXT', + 'INV', + 'PRE', + 'RIS', + 'LIQ') THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('CC') THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('NA') THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' -- + END + PATRBF.POSITION_ID + LEFT OUTER JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR ON RISCHIO_PROD.CREDITRISK = cr.profilo --V + WHERE PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.RETE = @Rete -- +GROUP BY PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END -- End 2.1 +UNION ALL -- Start 2.2 + SELECT PATRTERZI.RETE, + PATRTERZI.COD_FISCALE, + CASE + WHEN RISCHIOPROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END AS RISKCLASS, + SUM(ROUND(CTV,2)) AS CTV + FROM [C6Martperiodico].PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + (SELECT cod_fiscale, + rete, + sum(ctv) AS cc_ctv + FROM [C6Martperiodico].pATRIMONIO_terzi + WHERE tipo_prodotto='Conti correnti' + GROUP BY cod_fiscale, + rete) ctvcc ON patrterzi.cod_fiscale=ctvcc.cod_fiscale + AND patrterzi.rete=ctvcc.rete + LEFT OUTER JOIN [C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD ON PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR ON RISCHIOPROD.CREDITRISK = cr.profilo --V + WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.RETE = @Rete -- + GROUP BY PATRTERZI.RETE, + PATRTERZI.COD_FISCALE, + CASE + WHEN RISCHIOPROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END --- End 2.2 +)H +GROUP BY RETE, + COD_FISCALE END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S137BISCapitaleProtetto +BEGIN + --SELECT top 1 + -- 'Interfund Capital Protection' AS DES_PROD, + -- '001234.RS.S678' AS COD_CONF, + -- '120,1040' AS QUOTA, + -- '100,1234' AS NUMEROQUOTE, + -- '12.025,22' AS CONTROVALORE, + -- '31/03/2014' AS DATARIF, + -- 'Quota massima' AS DES_MAX, + -- '125,4573' AS QUOTA_MAX, + -- '80' AS QUOTA_MAX_PERC, + -- '31/03/2013' AS DATARIF_MAX, + -- 'Quota e controvalore protetti*' AS DES_PROT, + -- '100,3658' AS QUOTA_PROT, + -- '100,1234' AS NUMEROQUOTE_PROT, + -- '10.048,97' AS CONTROVALORE_PROT + SELECT '' as 'C6MartPeriodico.PL_MP_S137BISCapitaleProtetto', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + DES_PROD + ,COD_CONF + ,QUOTA + ,NUMEROQUOTE + ,CONTROVALORE + ,DATARIF + ,DES_MAX + ,QUOTA_MAX + ,QUOTA_MAX_PERC + ,DATARIF_MAX + ,DES_PROT + ,QUOTA_PROT + ,NUMEROQUOTE_PROT + ,CONTROVALORE_PROT + FROM C6MartPeriodico.CAPPROT + WHERE RETE = @Rete + AND CODFIS = @CodiceFiscale + Union + SELECT '' as 'C6MartPeriodico.PL_MP_S137BISCapitaleProtetto', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + DES_PROD + ,COD_CONF + ,QUOTA + ,NUMEROQUOTE + ,CONTROVALORE + ,DATARIF + ,DES_MAX + ,QUOTA_MAX + ,QUOTA_MAX_PERC + ,DATARIF_MAX + ,DES_PROT + ,QUOTA_PROT + ,NUMEROQUOTE_PROT + ,CONTROVALORE_PROT + FROM C6MartPeriodico.CAPPROT + WHERE RETE = @Rete + AND CODFIS = @CodiceFiscale +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_S43ContoCorrenteBF +BEGIN + SELECT '' as 'C6MartPeriodico.PL_S43ContoCorrenteBF', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + dbo.ToShortDateString(ANAG_CC.DATA_APERTURA) AS datadiSottoscrizione, + ANAG_CC.COD_CC AS conto, + cast(ANAG_CC.SALDOCONTABILE as decimal(15,2)) as Controvalore, + cast(ANAG_CC.SALDODISPONIBILE as decimal(15,2)) as SALDO_DISPONIBILE, + null as creditrisk , + 'n.a.' as creditriskstring, + 0 as var, + null as varString, + 0 as totaleVar, + null as totaleVarString + FROM + C6MartPeriodico.ANAG_CC + WHERE + ANAG_CC.rete= @Rete + AND ANAG_CC.cod_fiscale= @CodiceFiscale + AND ANAG_CC.SALDOCONTABILE < 0 + ORDER BY + ANAG_CC.SALDOCONTABILE DESC +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_S43BISDettaglioProdottiBF +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ3 AS INT + SELECT @TOTSELFLIQ3 = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ3 AS INT + SELECT @TOTLIQ3 = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT '' as 'C6MartPeriodico.PL_S43BISDettaglioProdottiBF', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, +--Bido +SUM(PATRBF.CTV ) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ3 = @TOTLIQ3 and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --V THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +--TRINGALI + CASE + WHEN (ISNULL(RISCHIO_AGGR_PROG.copertura,100) < 100) + --v THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_need_progString, +--INIZIO INTERVENTI OMNIA QUIIIIIIII +--case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null +-- and patrbf.tipo_prodotto='CC' +-- and patrbf.id_area='liq') + --then + -- CASE WHEN patrbf.data_sottoscrizione>monatt.data_attivazione + -- THEN + -- dbo.TOSHORTDATESTRING(patrbf.data_sottoscrizione) + -- ELSE + -- CASE WHEN monatt.data_attivazione> '20110211' + -- then dbo.TOSHORTDATESTRING(monatt.data_attivazione) + -- ELSE dbo.TOSHORTDATESTRING('20110211') + -- END + -- END + -- END + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.id_area='liq' + and (patrbf.tipo_prodotto='CC' + or patrbf.isin in('EURO00000009', 'EURO10000007'))) + then dbo.TOSHORTDATESTRING(C6MartPeriodico.getTrimestre2(getdate(),0)) +--FINE INTERVENTI OMNIA + else +--disasteriscare + --dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) +--cancellare inizio + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.chiave_progetto = '2205396' + and patrbf.tipo_prodotto = 'FI') + then '26/06/2014' + else + dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) + end +--cancellare fine + end AS dataAssociazione, -- CAMBIATA TRINGALI--marianna, cambiata per i cc senza data di associazione +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.VERSATO_NETTO_DA_ASSOC,0) end AS VersatoNetto, +CASE WHEN (MONIT.VERSATO_NETTO_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as VersatoNettoString, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.UTILE_PERDITA_DA_ASSOC,0) END AS MinusPlusValenza, +CASE WHEN (MONIT.UTILE_PERDITA_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in ('EURO00000009', 'EURO10000007' )THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_PROD.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK is null THEN 'n.a.' + ELSE NULL + END as creditriskstring, +-- CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + -- LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +--MODIFICA TRINGALI PER PRENDERE DETTAGLIO MONITORAGGIO +C6MartPeriodico.MONITORAGGIO_DETTAGLIO MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + --AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + and PATRBF.POSITION_ID=MONIT.POSITION_ID + --AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONATT +ON + PATRBF.RETE = MONATT.RETE + AND PATRBF.COD_FISCALE = MONATT.COD_FISCALE + AND + (PATRBF.ID_AREA=(CASE WHEN MONATT.ID_AREA='Exr' THEN 'Ext' ELSE MONATT.ID_AREA END) AND PATRBF.ID_AREA <> 'INV' + OR + PATRBF.ID_AREA = 'INV' AND PATRBF.ID_AREA = MONATT.ID_AREA AND PATRBF.ORDINAMENTO_PROGETTO = MONATT.ORDINAMENTO_PROGETTO + ) +--blocchiamo il monitoraggio per i progetti a ctv=0 + --And ctv_monitorato>0 +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <> 0 +ORDER BY + AREASORTORDER, PATRBF.NOME_PROGETTO, PATRBF.CTV DESC -- modifica TRINGALI +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT '' as 'C6MartPeriodico.PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + PATR_BF.ID_AREA AS Need_Area, + PATR_BF.ID_CONTRATTO AS Contratto, + CASE + WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA + ELSE ltrim(rtrim(PATR_BF.NOME_PROGETTO)) + END AS Area_O_Nome_Progetto, + --PRODOTTI.DESCR_PRODOTTO AS Descrizione, + CASE WHEN PATR_BF.TIPO_PRODOTTO <> 'CC' THEN PRODOTTI.DESCR_PRODOTTO + ELSE PRODOTTI.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATR_BF.PARTVIA_DISINV AS PartitaViaggiante, + SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.POSITION_ID) AS Controvalore, + dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI AS PRODOTTI ON + PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO + --V La sezione deve uscire soltanto per aree monitorate + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE M ON + PATR_BF.RETE = M.RETE AND PATR_BF.COD_FISCALE = M.COD_FISCALE + AND( + (PATR_BF.ID_AREA = M.ID_AREA AND PATR_BF.ID_AREA <> 'INV') + OR + (PATR_BF.ID_AREA = 'INV' AND PATR_BF.ID_AREA = M.ID_AREA AND PATR_BF.ORDINAMENTO_PROGETTO = M.ORDINAMENTO_PROGETTO) + ) + LEFT OUTER JOIN C6MartPeriodico.ANAG_CC ON + ANAG_CC.COD_FISCALE = PATR_BF.COD_FISCALE + AND ANAG_CC.RETE = PATR_BF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATR_BF.position_id,72,9) + WHERE + PATR_BF.RETE = @Rete + AND PATR_BF.COD_FISCALE = @CodiceFiscale + AND PATR_BF.REND_NON_RAPPR = 1 + ORDER BY + Area_O_Nome_Progetto +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_S85RendimentoPortafoglioCono +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT '' as 'C6MartPeriodico.PL_S85RendimentoPortafoglioCono', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,isnull([NOME_PROGETTO],'XXX') as NOME_PROGETTO + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB] +into #pir_mod_xxx + FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] + WHERE cod_fiscale = @CodiceFiscale AND rete = @rete +--select * from #pir_mod_xxx where cod_fiscale = 'FF@7181' + SELECT '' as 'C6MartPeriodico.PL_S85RendimentoPortafoglioCono', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + CONO.ID_AREA AS NEED_AREA, + CASE + WHEN CONO.NOME_PROGETTO = 'XXX' THEN '' + ELSE CONO.NOME_PROGETTO + END AS NOME_PROGETTO, + cono.ordinamento_progetto, + CONO.DATA_CONO, + CONO.SCENARIO_OTTIMISTICO AS OTTIMISTICO, + CONO.SCENARIO_PESSIMISTICO AS PESSIMISTICO, + isnull(PIRMOD.ORIZZ_TEMP_NUM,0) * 12 AS ORIZZONTE_MESI, + MONIT.RENDIMENTO_CUMULATO AS RENDIMENTO, + MONIT.DATA_CTV AS DATA_MONIT + FROM + C6MartPeriodico.CONO_PIANIFICAZIONE AS CONO + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE AS MONIT + ON CONO.RETE = MONIT.RETE + AND CONO.COD_FISCALE = MONIT.COD_FISCALE + AND CONO.ID_AREA = MONIT.ID_AREA + AND CONO.NOME_PROGETTO = MONIT.NOME_PROGETTO + And cono.ordinamento_progetto=monit.ordinamento_progetto --l'ordinamento progetto è sempre pari alla chiaveprogetto e non idmonitoraggio + INNER JOIN #pir_mod_xxx as PIRMOD + ON CONO.RETE = PIRMOD.RETE + AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE + AND CONO.ID_AREA = PIRMOD.ID_AREA + AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + And cono.ordinamento_progetto=pirmod.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD +-- ON CONO.RETE = PIRMOD.RETE +-- AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE +-- AND CONO.ID_AREA = PIRMOD.ID_AREA +-- AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + WHERE + CONO.RETE = @Rete AND + CONO.COD_FISCALE = @CodiceFiscale + --and DATA_CTV is not null + ORDER BY CONO.DATA_CONO + drop table #pir_mod_xxx +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_S82DatiSintetici +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + /*DECLARE @TOTRischio DECIMAL(20,2) + SELECT + @TOTRischio = SUM(ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV) + FROM + C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA INNER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAREA ON + PATRAREA.RETE = RISCHIOAREA.RETE AND + PATRAREA.COD_FISCALE = RISCHIOAREA.COD_FISCALE + WHERE + PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE','INV') AND + PATRAREA.RETE = @Rete AND + PATRAREA.COD_FISCALE = @CodiceFiscale*/ + SELECT '' as 'C6MartPeriodico.PL_S82DatiSintetici', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + PATRAREA.ID_AREA AS need_area, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PATRAREA.ORDINAMENTO_PROGETTO, + /*V Calcolato a livello di codice + CASE + WHEN PATRAGGR.CTV = 0 THEN 0 + ELSE PATRAREA.CTV / PATRAGGR.CTV * 100 + END AS pesoPerc,*/ + PATRAREA.CTV AS ControvaloreAttuale + /* Calcolato a livello di codice + CASE + WHEN @TOTRischio = 0 THEN 0 + ELSE ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV / @TOTRischio * 100 + END AS rischioRelativo*/ + FROM C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS PATRAGGR + ON PATRAGGR.RETE = PATRAREA.Rete + AND PATRAGGR.COD_FISCALE = PATRAREA.COD_FISCALE + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON RISCHIOAREA.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRAREA.ID_AREA,3) + AND RISCHIOAREA.RETE = PATRAREA.Rete + AND RISCHIOAREA.COD_FISCALE = PATRAREA.COD_FISCALE + WHERE 1=1 + AND PATRAREA.RETE = @Rete + AND PATRAREA.COD_FISCALE = @CodiceFiscale + AND PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE') +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_S82BisDatiSintetici +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + /*DECLARE @TOTRischio DECIMAL(20,2) + SELECT + @TOTRischio = SUM(ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV) + FROM + C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA INNER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAREA ON + PATRAREA.RETE = RISCHIOAREA.RETE AND + PATRAREA.COD_FISCALE = RISCHIOAREA.COD_FISCALE + WHERE + PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE','INV') AND + PATRAREA.RETE = @Rete AND + PATRAREA.COD_FISCALE = @CodiceFiscale*/ + SELECT DISTINCT '' as 'C6MartPeriodico.PL_S82BisDatiSintetici', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + BF.ORDINAMENTO_PROGETTO, + 'Inv' AS need_area, + ltrim(rtrim(ISNULL(PIRMOD.NOME_PROGETTO,BF.NOME_PROGETTO))) AS NOME_PROGETTO, + ISNULL(RA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RA.COPERTURA IS NULL THEN 'n.c.' + WHEN RA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RA.COPERTURA IS NULL THEN 'n.c.' + WHEN RA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PIRMOD.ORIZZ_TEMP AS orizzonte_Pianificato, + --C6MartPeriodico.getDescFromDate(DATEDIFF(m,(DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM,PIRMOD.DATA_PIANIF)) ,GETDATE()) + 1) AS durataResidua, + --DATEDIFF(m,DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM, PIRMOD.DATA_PIANIF) ,GETDATE()) + 1 AS durataResidua, + C6MartPeriodico.getDescFromDate(DATEDIFF(m,C6MartPeriodico.getTrimestre(GETDATE(),0),(DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM,PIRMOD.DATA_PIANIF)) )) AS durataResidua, + /*V Calcolato a livello di codice + CASE + WHEN BFAggr.CTV = 0 THEN 0 + ELSE SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO) / BFAggr.CTV * 100 + END AS pesoPerc,*/ + SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO, bf.ordinamento_progetto) AS ControvaloreAttuale + /*V Calcolato a livello di codice + CASE + WHEN @TOTRischio = 0 THEN 0 + ELSE ISNULL(RA.VAR_PERC_PTF,0) * SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO) / @TOTRischio * 100 + END AS rischioRelativo*/ + FROM + C6MartPeriodico.PATRIMONIO_BF AS BF + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON BF.RETE = RA.RETE + AND BF.COD_FISCALE = RA.COD_FISCALE + --V AND RA.COD_AGGREG = 'PIRAMIDE|Inv' + AND RA.COD_AGGREG = 'RISFIN|PIRAMIDE|Inv|'+ BF.NOME_PROGETTO + '|' + cast(bf.ordinamento_progetto as varchar) + -- + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD + ON BF.RETE = PIRMOD.RETE + AND BF.COD_FISCALE = PIRMOD.COD_FISCALE + --AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + AND BF.ORDINAMENTO_PROGETTO = PIRMOD.ORDINAMENTO_PROGETTO + AND PIRMOD.ID_AREA = 'Inv' + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS BFAggr + ON BF.RETE = BFAggr.RETE + AND BF.COD_FISCALE = BFAggr.COD_FISCALE + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE AS MONIT + ON BF.RETE = MONIT.RETE + AND BF.COD_FISCALE = MONIT.COD_FISCALE + AND BF.ID_AREA = MONIT.ID_AREA + AND BF.NOME_PROGETTO = MONIT.NOME_PROGETTO + AND BF.ORDINAMENTO_PROGETTO = MONIT.ORDINAMENTO_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'Inv' + AND BF.RETE = @Rete + AND BF.COD_FISCALE = @CodiceFiscale + --AND BF.ORDINAMENTO_PROGETTO=1521667 +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_S76AlternativaPatrimonioNonRappresentabileAssettClass +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @NOMERETE2 VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE2 = 'Banca Fideuram' + ELSE + SET @NOMERETE2 = 'Sanpaolo Invest' + SELECT '' as 'C6MartPeriodico.PL_S76AlternativaPatrimonioNonRappresentabileAssettClass', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE2 as Intermediario + --patrbf.ordinamento_progetto + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL +--INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <> 0.00 +UNION ALL +SELECT '' as 'C6MartPeriodico.PL_S76AlternativaPatrimonioNonRappresentabileAssettClass', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + sum(ASUL.CTV) as Controvalore, + sum(ASUL.CTV) as controvalore_contratto, + Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE2 as Intermediario + --patrbf.ordinamento_progetto + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN + C6MartPeriodico.DETTAGLIO_ASUL ASUL + ON + PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + left JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + ASSETPERC.COD_PRODOTTO IS NULL + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + GROUP BY + PATRBF.ID_CONTRATTO, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end, + PATRBF.NOME_PROGETTO, + patrbf.chiave_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE), + ANAGP.DESCR_PRODOTTO +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S149DettaglioProdottiAffluent +BEGIN +SELECT '' as 'C6MartPeriodico.PL_MP_S149DettaglioProdottiAffluent', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, ISNULL(SUM(ctv),0) +FROM C6MartPeriodico.PATRIMONIO_BF + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_S80Alternativa +BEGIN + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) +BEGIN +SELECT '' as 'C6MartPeriodico.PL_S80Alternativa', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] + WHERE [Rete] = @Rete + AND [Cod_Fiscale] = @CodiceFiscale +END +ELSE +BEGIN +SELECT '' as 'C6MartPeriodico.PL_S80Alternativa', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] + WHERE + 1=2 +END +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_D_S331AreeBisogno +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT '' as 'C6MartPeriodico.PL_D_S331AreeBisogno', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, [NeedArea] + ,[AreaName] + ,[ControvaloreAttuale] + ,Controvaloremodello as [ControvaloreProtetto] + ,totale_percentuale as [ContributoProtezione] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] + --FROM [C6StampeCentralizzate3112].[C6MartPeriodico].[TB_S331_DatiPiramide] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END +--------------------------------------------------------------- +end \ No newline at end of file diff --git a/sql/storedProduzione/dbo_TrimTable.sql b/sql/storedProduzione/dbo_TrimTable.sql new file mode 100644 index 00000000..9758788b --- /dev/null +++ b/sql/storedProduzione/dbo_TrimTable.sql @@ -0,0 +1,28 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[TrimTable] + @table VARCHAR(128) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @sql NVARCHAR(MAX) + SET @sql = 'SELECT * +INTO #Temp +FROM ' + @table + ' +WHERE ID_ELAB = ( + SELECT MAX(ID_ELAB) + FROM ' + @table + +') +TRUNCATE TABLE ' + @table + +' +INSERT INTO ' + @table + ' +SELECT * +FROM #Temp +DROP TABLE #Temp' +EXEC sp_executesql @sql +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_TrimWSEITables.sql b/sql/storedProduzione/dbo_TrimWSEITables.sql new file mode 100644 index 00000000..462cc627 --- /dev/null +++ b/sql/storedProduzione/dbo_TrimWSEITables.sql @@ -0,0 +1,84 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[TrimWSEITables] + @data DECIMAL(9,0) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ok BIT + SET @ok = 0 + BEGIN TRAN + -- WSEIAN + SELECT * + INTO #TEMPAN + FROM C6StagingPeriodico.WSEIAN2 + WHERE DTTRIM = @data + IF @@ROWCOUNT > 0 + BEGIN + TRUNCATE TABLE C6StagingPeriodico.WSEIAN2 + INSERT INTO C6StagingPeriodico.WSEIAN2 + SELECT * + FROM #TEMPAN + SET @ok = 1 + END + ELSE + SET @ok = 0 + DROP TABLE #TEMPAN + -- WSEICS + SELECT * + INTO #TEMPCS + FROM C6StagingPeriodico.WSEICS + WHERE DTTRIM = @data + IF @@ROWCOUNT > 0 + BEGIN + TRUNCATE TABLE C6StagingPeriodico.WSEICS + INSERT INTO C6StagingPeriodico.WSEICS + SELECT * + FROM #TEMPCS + SET @ok = 1 + END + ELSE + SET @ok = 0 + DROP TABLE #TEMPCS + -- WSEIPV + SELECT * + INTO #TEMPPV + FROM C6StagingPeriodico.WSEIPV + WHERE DTTRIM = @data + IF @@ROWCOUNT > 0 + BEGIN + TRUNCATE TABLE C6StagingPeriodico.WSEIPV + INSERT INTO C6StagingPeriodico.WSEIPV + SELECT * + FROM #TEMPPV + SET @ok = 1 + END + ELSE + SET @ok = 0 + DROP TABLE #TEMPPV + -- WSEIUL + SELECT * + INTO #TEMPUL + FROM C6StagingPeriodico.WSEIUL + WHERE DTTRIM = @data + IF @@ROWCOUNT > 0 + BEGIN + TRUNCATE TABLE C6StagingPeriodico.WSEIUL + INSERT INTO C6StagingPeriodico.WSEIUL + SELECT * + FROM #TEMPUL + SET @ok = 1 + END + ELSE + SET @ok = 0 + DROP TABLE #TEMPUL + IF @ok = 1 + COMMIT TRAN + ELSE + ROLLBACK TRAN +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_UPDATE_EVASIONE.sql b/sql/storedProduzione/dbo_UPDATE_EVASIONE.sql new file mode 100644 index 00000000..742a0f77 --- /dev/null +++ b/sql/storedProduzione/dbo_UPDATE_EVASIONE.sql @@ -0,0 +1,9 @@ +CREATE procedure [dbo].[UPDATE_EVASIONE] +@idMetadato as int +AS +BEGIN +update dbo.RichiestaPdfStorico +set richiestaEvasa = 1 +where idMetadato = @idMetadato +--select * from dbo.RichiestaPdfStorico +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_UTIL_ESTRAI_COMPLEX_MODIFICATA.sql b/sql/storedProduzione/dbo_UTIL_ESTRAI_COMPLEX_MODIFICATA.sql new file mode 100644 index 00000000..52a25d98 --- /dev/null +++ b/sql/storedProduzione/dbo_UTIL_ESTRAI_COMPLEX_MODIFICATA.sql @@ -0,0 +1,112 @@ +CREATE procedure [dbo].[UTIL_ESTRAI_COMPLEX_MODIFICATA] +as +select C.RETE,C.COD_FISCALE,D.EXPERIENCE,A.COD_INTERNO,A.COD_SOTTOPRODOTTO,C.TIPO_PRODOTTO,A.COD_ISIN,A.COMPLEX AS NEW_COMPLEX, + B.COMPLEX AS OLD_COMPLEX +from c6stagingperiodico.catitemref a +join c6staging.catitemref b --catalogo del giornaliero con complessità non modificata +on a.catalogueId = b.catalogueId +join c6martperiodico.patrimonio_bf c +on c.cod_prodotto = a.catalogueId +join c6martperiodico.mifid d +on c.cod_fiscale = d.cod_fiscale and c.rete = d.rete +where + A.COD_INTERNO IN + ( + '18', + '19', + '29', + '35', + '37', + '38', + '48', + '49', + '60', + 'BT', + 'ES', + 'FR', + 'FS', + 'FT', + 'FU', + 'GP', + 'KP', + 'OA', + 'PO', + 'PY', + 'SB', + 'PR', + 'PX', + 'SE', + 'SF', + 'SI', + 'ST', + 'SU', + 'K1', + 'K2', + 'K3', + 'K4', + 'K5', + 'K6', + 'K7' + ) + OR + (A.COD_INTERNO IN + ( + 'S1', + 'S2', + 'S3', + 'S4', + 'S5', + 'S6', + 'S7', + 'S8' + ) + and A.cod_sottoprodotto not in ('20001','20002','20005','20008') + ) + OR + ( A.cod_interno in ('S1','S2','S4','S5','S8') + and A.cod_sottoprodotto in ('20001','20002','20005','20008') + ) + OR + A.COD_INTERNO IN + ( + 'A7', + 'A8' + ) + OR + A.COD_SOTTOPRODOTTO IN + ( + '7149S' + ,'7145S' + ,'9968S' + ) + OR + A.COD_SOTTOPRODOTTO = '7146S' + OR + ( + A.COD_ISIN IN + ( + 'DE000A0LJ552' + ,'DE000A0MG8R0' + ,'IT0004189368' + ,'GB00B1WVWP64' + ,'GB00B1Y3ZZ16' + ,'XS0354254111' + ,'GB00B2QM7Y61' + ,'XS0235278982' + ,'XS0179585186' + ) + AND + A.COD_INTERNO IN + ( + '00101740' + ,'09139480' + ,'09161420' + ,'00830060' + ,'09205930' + ,'00168130' + ,'08525040' + ,'08556110' + ,'09201230' + ) + ) +ORDER BY C.RETE,C.COD_FISCALE,D.EXPERIENCE desc \ No newline at end of file diff --git a/sql/storedProduzione/dbo_Utility_Query_Incrocio.sql b/sql/storedProduzione/dbo_Utility_Query_Incrocio.sql new file mode 100644 index 00000000..eec5ef85 --- /dev/null +++ b/sql/storedProduzione/dbo_Utility_Query_Incrocio.sql @@ -0,0 +1,23 @@ +CREATE procedure [dbo].[Utility_Query_Incrocio] (@cod_fis varchar(16) = '') +AS +BEGIN +declare @codicefiscale varchar(18) +declare @codicecontratto varchar(11) +declare @chiaveclientepb varchar(11) +declare @nomecognome varchar(255) +SET @nomecognome = '' +SET @chiaveclientepb = '' +set @codicecontratto = '' +set @codicefiscale = @cod_fis +select @codicefiscale=cod_fiscale from c6mart.anag_clienti where nome+cognome = @nomecognome +select @codicefiscale=cod_fiscale from c6mart.vcontratti where codicecontratto = @codicecontratto +select @codicefiscale=cod_fiscale from c6mart.vcontratti where chiaveclientepb = @chiaveclientepb +select CODICECONTRATTO,DATA_PERF,DATA_FINEAVANZATO,CASE TIP_CONTRATTO WHEN 0 THEN 'OLD' WHEN 1 THEN 'AFFLUENT' WHEN 2 THEN 'PRIVATE' ELSE 'ERR' END AS TIPOCONTRATTO,CASE RIATTIVAZIONE WHEN 1 THEN 'RIATTIVAZIONE' WHEN 2 THEN 'UPGRADE' ELSE '' END AS RIATTIVAZIONE,RETE,* from c6mart.vcontratti where cod_fiscale = @codicefiscale +select CHIAVECLIENTEPB, ClienteMIGRATO, RISORSENA, PROFILOATTIVO, InvioBenvenuto, NumSolleciti, NumRevoche, CASE TIP_CONTRATTO WHEN 0 THEN 'OLD' WHEN 1 THEN 'AFFLUENT' WHEN 2 THEN 'PRIVATE' ELSE 'ERR' END AS TIPOCONTRATTO,CASE TIP_RIATTIVAZIONE WHEN 1 THEN 'RIATTIVAZIONE' WHEN 2 THEN 'UPGRADE' ELSE '' END AS RIATTIVAZIONE , Data_ultimoSollecito ,Data_ultimaRevoca from c6mart.contrattosei_metadati where chiaveclientepb = (select chiaveclientepb from c6mart.vcontratti where cod_fiscale = @codicefiscale) +select * from c6mart.gestione_pdf_ftp where codicefiscale = @codicefiscale +select * from c6mart.gestione_email where cod_fiscale = @codicefiscale +select * from [CONSUNI].ConsulenzaUnicaFL.[dbo].CBS_STAMPAREPORT where codicecontratto in (select CODICECONTRATTO from c6mart.vcontratti where cod_fiscale = @codicefiscale) +select * from c6mart.test_quality where cod_fiscale = @codicefiscale +select * from [CONSUNI].ConsulenzaUnicaFL.[dbo].CBS_HistDatiIngresso h where h.TRCOM_CODFISC=@codicefiscale or h.TRCOM_MANDATO=substring(@codicefiscale,4,4) order by 2 +select * from [CONSUNI].ConsulenzaUnicaFL.[dbo].CBS_Scarti h where h.TRCOM_CODFISC=@codicefiscale or h.TRCOM_MANDATO=substring(@codicefiscale,4,4) order by 2 +End \ No newline at end of file diff --git a/sql/storedProduzione/dbo_VerificaAllMassGior.sql b/sql/storedProduzione/dbo_VerificaAllMassGior.sql new file mode 100644 index 00000000..c00efd8a --- /dev/null +++ b/sql/storedProduzione/dbo_VerificaAllMassGior.sql @@ -0,0 +1,45 @@ +-- ============================================= +-- Author: Luca di Chiara +-- Create date: 29/07/2024 +-- Description: Procedura per il controllo del buon esito dell'allineamento maiisvo propedeutico alle lettere di benvenuto +-- ============================================= +CREATE PROCEDURE [dbo].[VerificaAllMassGior] + -- Add the parameters for the stored procedure here +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + Declare @ELABORAZIONE_CONCLUSA bit =0 + declare @InizioVerifica datetime = getdate() + declare @dtinizio datetime + declare @stato varchar(20) ='' + --Prima di eseguire il primo check attendo 2 minuti + --per dare tempo al precedente dtsx di inserire un nuovo record nella logbatch generale + --se non attendo il rischio è che nel successivo controllo sulla logbatchgenerale, + --venga preso in considerazione il record relativo ad un'esecuzione precedente + WAITFOR DELAY '00:02:00' + print '... sleep 2 ...' + WHILE @ELABORAZIONE_CONCLUSA = 0 + BEGIN + RAISError(N'', 0, 1) WITH NOWAIT + -- si aspetta al massimo 15 minuti per il termine dell'allineamento massivo dopodiche si manda in errore + if datediff( minute, @InizioVerifica , getdate()) > 15 + Begin + select * from MandaInErrore + print 'Superato tempo limite per attendere la conclusione dell''elaborazione dell allineamentomassivo, interrompiamo' + End + Else + Begin + select top 1 @dtinizio = dtesecuzione, @stato = stato from consuni.consulenzaunicafl.dbo.logbatchgenerale where nomebatch like 'AllineamentoMassivoGiornaliero' order by dtesecuzione desc + if datediff( minute, @dtinizio , getdate()) <= 15 AND @STATO = 'OK' + BEGIN + SET @ELABORAZIONE_CONCLUSA = 1 + END + END + -- attesa di 20 secondi + WAITFOR DELAY '00:00:10' + print '... aspetto 10 secondi prima di ricontrollare ...' + END +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_creaExcelVerificaCampioneS80.sql b/sql/storedProduzione/dbo_creaExcelVerificaCampioneS80.sql new file mode 100644 index 00000000..87ed3217 --- /dev/null +++ b/sql/storedProduzione/dbo_creaExcelVerificaCampioneS80.sql @@ -0,0 +1,58 @@ +-- ============================================= +-- Author: +-- Create date: <25/09/2014> +-- Description: +-- ============================================= +CREATE procedure [dbo].[creaExcelVerificaCampioneS80] +AS +BEGIN +SELECT PAT.Rete AS rete, + PAT.Cod_Fiscale AS cf, + --PAT.Fase AS TIPO, + CASE WHEN PAT.Fase = 1 THEN 'Avvio monitoraggio' + WHEN PAT.Fase = 2 THEN 'Precedente invio' + END AS [Type], + PAT.DataFase AS [Data riferimento], + PAT.CTV_EXT AS [Extra rendimento], + PAT.CTV_INV AS Investimento, + PAT.CTV_PRE AS Previdenza, + PAT.CTV_RIS AS Riserva, + PAT.CTV_LIQ AS [Liquidità], + PAT.RisorseAllocate AS [Totale risorse allocate], + PAT.RisorseNonAllocate AS [Risorse non allocate], + PAT.ContoCorrente AS [Scoperto di Conto Corrente], + PAT.Partita_viaggiante AS [Investimenti in corso], + PAT.RisorseAllocate + PAT.RisorseNonAllocate + PAT.ContoCorrente + PAT.Partita_viaggiante AS [Totale patrimonio], + RIS.VarMassimoProfiloFinanziario AS [VaR massimo profilo finanziario], + RIS.VarComplessivo AS [Rischio Mercato (VaR%)], + RIS.Copertura AS Copertura, + --RIS.RISKCLASSMAX AS [Rischio Credito massimo], + CASE WHEN RIS.RISKCLASSMAX IS NULL THEN 0 + ELSE RIS.RISKCLASSMAX + END AS [Rischio Credito massimo], + CASE WHEN RIS.RiskClass = '0' and RIS.RISKclassSTRING ='n.a.' THEN '5' + WHEN RIS.RiskClass is null and RIS.RISKclassSTRING ='n.a.' THEN '0' + WHEN RIS.RiskClass is null AND RIS.RISKclassSTRING ='n.d.' THEN null + --NEL FOGLIO XLS DI ESTRAZIONE DATI S80 PER QC RICORDARSI DI sotituire + --NULL con 'n.d.' + --'5' con 'n.a.' + --'0' con 'n.a.' + ELSE RIS.RiskClass + END AS [Rischio Credito] + FROM + C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio PAT + inner join + C6MartPeriodico.TB_S80BisEvoluzioneRischio RIS + on + RIS.RETE=PAT.RETE + AND + RIS.CodiceFiscale=PAT.Cod_Fiscale + AND + RIS.Fase=PAT.Fase + AND + RIS.DataFase=PAT.DataFase + inner join dbo.appocampionereport CAMP + on CAMP.rete=PAT.Rete and CAMP.cod_fiscale=PAT.Cod_Fiscale + WHERE PAT.FASE != '3' + ORDER BY PAT.Rete, PAT.Cod_Fiscale, PAT.FASE +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_creaExcelVerificaCampioneS80_excel.sql b/sql/storedProduzione/dbo_creaExcelVerificaCampioneS80_excel.sql new file mode 100644 index 00000000..fc62711a --- /dev/null +++ b/sql/storedProduzione/dbo_creaExcelVerificaCampioneS80_excel.sql @@ -0,0 +1,43 @@ +-- ============================================= +-- Author: +-- Create date: <25/09/2014> +-- Description: +-- ============================================= +CREATE procedure [dbo].[creaExcelVerificaCampioneS80_excel] +AS +BEGIN +drop table if exists c6martperiodico.VerificaS80Campione +create table c6martperiodico.VerificaS80Campione( +rete varchar(3), +cf varchar(32), +Type varchar(100), +[Data riferimento] datetime, +[Extra rendimento] varchar (100), +Investimento varchar(100), +Previdenza varchar(100), +Riserva varchar(100), +Liquidità varchar(100), +[Totale risorse allocate] varchar(100), +[Risorse non allocate] varchar(100), +[Scoperto di Conto Corrente] varchar(100), +[Investimenti in corso] varchar (100), +[Totale patrimonio] varchar (100), +[VaR massimo profilo finanziario] varchar (100), +[Rischio Mercato (VaR%)] varchar (100), +Copertura varchar (100), +[Rischio Credito Massimo] varchar(100), +[Rischio Credito] varchar(100) +); +insert into c6martperiodico.VerificaS80Campione +exec [dbo].[creaExcelVerificaCampioneS80]; +--exec [dbo].[creaExcelVerificaCampioneS80] +update c6martperiodico.VerificaS80Campione +set [Rischio Credito]='n.a.' +from c6martperiodico.VerificaS80Campione +where [Rischio Credito]='5.000' +update c6martperiodico.VerificaS80Campione +set [Rischio Credito]='n.d.' +from c6martperiodico.VerificaS80Campione +where [Rischio Credito] is NULL +select * from c6martperiodico.VerificaS80Campione +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_getListaPdfStorici.sql b/sql/storedProduzione/dbo_getListaPdfStorici.sql new file mode 100644 index 00000000..2baf558e --- /dev/null +++ b/sql/storedProduzione/dbo_getListaPdfStorici.sql @@ -0,0 +1,32 @@ +-- ============================================= +-- Author: Valerio Colaianni +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[getListaPdfStorici] + AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + select 'E:\TSM\ARCHIVE\PDF\'+nomeFile + from RichiestaPdfStorico + where richiestaEvasa = 0 +--INSERT INTO LOG_ESECUZIONE +-- (Nome, Inizio, Nota) +-- VALUES ( +-- 'getListaPdfStorici', +-- GETDATE(), +-- 'Elaborazione' +--) +-- Inserimento per recupero manuale di test del 24/05/2016 - DA COMMENTARE UNA VOLTA FATTO + --select + --'E:\TSM\ARCHIVE\578944.pdf' + --union + --select + --'E:\TSM\ARCHIVE\578980.pdf' + --union + --select + --'E:\TSM\ARCHIVE\579000.pdf' +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_inserisciRichiestaStorico.sql b/sql/storedProduzione/dbo_inserisciRichiestaStorico.sql new file mode 100644 index 00000000..ecbb0175 --- /dev/null +++ b/sql/storedProduzione/dbo_inserisciRichiestaStorico.sql @@ -0,0 +1,17 @@ +--[dbo].[inserisciRichiestaStorico] 47,'S','SSTLCN46T54L331H','001594' +--select * from RichiestaPdfStorico truncate table RichiestaPdfStorico +CREATE procedure [dbo].[inserisciRichiestaStorico] +@identificativo as int, +@rete as char(1), +@cod_fiscale as varchar(16), +@cod_agente as varchar(6) +AS +BEGIN +declare @idMeta as int +declare @tempNomeFile as varchar(20) +set @tempNomeFile = cast(@identificativo as varchar)+'.pdf' +select @idMeta = idMetadato from RichiestaPdfStorico where idMetadato = @identificativo and Richiestaevasa = 0 +if(isnull(@idMeta,0) <> @identificativo) + insert into dbo.RichiestaPdfStorico(nomeFile,rete,cod_fiscale,cod_agente,richiestaEvasa,idMetadato) + values (@tempNomeFile,@rete,@cod_fiscale,@cod_agente,0,@identificativo) +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_spPDFRecovery.sql b/sql/storedProduzione/dbo_spPDFRecovery.sql new file mode 100644 index 00000000..d079a44c --- /dev/null +++ b/sql/storedProduzione/dbo_spPDFRecovery.sql @@ -0,0 +1,21 @@ +-- ============================================= +-- Author: +-- Create date: <27/12/2018> +-- Description: <> +-- ============================================= +CREATE PROCEDURE dbo.spPDFRecovery +( + @id int +) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + select + [Image], + Cliente, + Rete + from [VMBFDSREPSEI01\I1].SEIReport.dbo.C6ReportFisico + where Identificativo = @id +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_sp_WhoIsActive.sql b/sql/storedProduzione/dbo_sp_WhoIsActive.sql new file mode 100644 index 00000000..0c221e69 --- /dev/null +++ b/sql/storedProduzione/dbo_sp_WhoIsActive.sql @@ -0,0 +1,5063 @@ +CREATE PROC dbo.sp_WhoIsActive +( +--~ + --Filters--Both inclusive and exclusive + --Set either filter to '' to disable + --Valid filter types are: session, program, database, login, and host + --Session is a session ID, and either 0 or '' can be used to indicate "all" sessions + --All other filter types support % or _ as wildcards + @filter sysname = '', + @filter_type VARCHAR(10) = 'session', + @not_filter sysname = '', + @not_filter_type VARCHAR(10) = 'session', + --Retrieve data about the calling session? + @show_own_spid BIT = 0, + --Retrieve data about system sessions? + @show_system_spids BIT = 0, + --Controls how sleeping SPIDs are handled, based on the idea of levels of interest + --0 does not pull any sleeping SPIDs + --1 pulls only those sleeping SPIDs that also have an open transaction + --2 pulls all sleeping SPIDs + @show_sleeping_spids TINYINT = 1, + --If 1, gets the full stored procedure or running batch, when available + --If 0, gets only the actual statement that is currently running in the batch or procedure + @get_full_inner_text BIT = 0, + --Get associated query plans for running tasks, if available + --If @get_plans = 1, gets the plan based on the request's statement offset + --If @get_plans = 2, gets the entire plan based on the request's plan_handle + @get_plans TINYINT = 0, + --Get the associated outer ad hoc query or stored procedure call, if available + @get_outer_command BIT = 0, + --Enables pulling transaction log write info and transaction duration + @get_transaction_info BIT = 0, + --Get information on active tasks, based on three interest levels + --Level 0 does not pull any task-related information + --Level 1 is a lightweight mode that pulls the top non-CXPACKET wait, giving preference to blockers + --Level 2 pulls all available task-based metrics, including: + --number of active tasks, current wait stats, physical I/O, context switches, and blocker information + @get_task_info TINYINT = 1, + --Gets associated locks for each request, aggregated in an XML format + @get_locks BIT = 0, + --Get average time for past runs of an active query + --(based on the combination of plan handle, sql handle, and offset) + @get_avg_time BIT = 0, + --Get additional non-performance-related information about the session or request + --text_size, language, date_format, date_first, quoted_identifier, arithabort, ansi_null_dflt_on, + --ansi_defaults, ansi_warnings, ansi_padding, ansi_nulls, concat_null_yields_null, + --transaction_isolation_level, lock_timeout, deadlock_priority, row_count, command_type + -- + --If a SQL Agent job is running, an subnode called agent_info will be populated with some or all of + --the following: job_id, job_name, step_id, step_name, msdb_query_error (in the event of an error) + -- + --If @get_task_info is set to 2 and a lock wait is detected, a subnode called block_info will be + --populated with some or all of the following: lock_type, database_name, object_id, file_id, hobt_id, + --applock_hash, metadata_resource, metadata_class_id, object_name, schema_name + @get_additional_info BIT = 0, + --Walk the blocking chain and count the number of + --total SPIDs blocked all the way down by a given session + --Also enables task_info Level 1, if @get_task_info is set to 0 + @find_block_leaders BIT = 0, + --Pull deltas on various metrics + --Interval in seconds to wait before doing the second data pull + @delta_interval TINYINT = 0, + --List of desired output columns, in desired order + --Note that the final output will be the intersection of all enabled features and all + --columns in the list. Therefore, only columns associated with enabled features will + --actually appear in the output. Likewise, removing columns from this list may effectively + --disable features, even if they are turned on + -- + --Each element in this list must be one of the valid output column names. Names must be + --delimited by square brackets. White space, formatting, and additional characters are + --allowed, as long as the list contains exact matches of delimited valid column names. + @output_column_list VARCHAR(8000) = '[dd%][session_id][sql_text][sql_command][login_name][wait_info][tasks][tran_log%][cpu%][temp%][block%][reads%][writes%][context%][physical%][query_plan][locks][%]', + --Column(s) by which to sort output, optionally with sort directions. + --Valid column choices: + --session_id, physical_io, reads, physical_reads, writes, tempdb_allocations, + --tempdb_current, CPU, context_switches, used_memory, physical_io_delta, reads_delta, + --physical_reads_delta, writes_delta, tempdb_allocations_delta, tempdb_current_delta, + --CPU_delta, context_switches_delta, used_memory_delta, tasks, tran_start_time, + --open_tran_count, blocking_session_id, blocked_session_count, percent_complete, + --host_name, login_name, database_name, start_time, login_time, program_name + -- + --Note that column names in the list must be bracket-delimited. Commas and/or white + --space are not required. + @sort_order VARCHAR(500) = '[start_time] ASC', + --Formats some of the output columns in a more "human readable" form + --0 disables outfput format + --1 formats the output for variable-width fonts + --2 formats the output for fixed-width fonts + @format_output TINYINT = 1, + --If set to a non-blank value, the script will attempt to insert into the specified + --destination table. Please note that the script will not verify that the table exists, + --or that it has the correct schema, before doing the insert. + --Table can be specified in one, two, or three-part format + @destination_table VARCHAR(4000) = '', + --If set to 1, no data collection will happen and no result set will be returned; instead, + --a CREATE TABLE statement will be returned via the @schema parameter, which will match + --the schema of the result set that would be returned by using the same collection of the + --rest of the parameters. The CREATE TABLE statement will have a placeholder token of + -- in place of an actual table name. + @return_schema BIT = 0, + @schema VARCHAR(MAX) = NULL OUTPUT, + --Help! What do I do? + @help BIT = 0 +--~ +) +/* +OUTPUT COLUMNS +-------------- +Formatted/Non: [session_id] [smallint] NOT NULL + Session ID (a.k.a. SPID) +Formatted: [dd hh:mm:ss.mss] [varchar](15) NULL +Non-Formatted: + For an active request, time the query has been running + For a sleeping session, time since the last batch completed +Formatted: [dd hh:mm:ss.mss (avg)] [varchar](15) NULL +Non-Formatted: [avg_elapsed_time] [int] NULL + (Requires @get_avg_time option) + How much time has the active portion of the query taken in the past, on average? +Formatted: [physical_io] [varchar](30) NULL +Non-Formatted: [physical_io] [bigint] NULL + Shows the number of physical I/Os, for active requests +Formatted: [reads] [varchar](30) NULL +Non-Formatted: [reads] [bigint] NULL + For an active request, number of reads done for the current query + For a sleeping session, total number of reads done over the lifetime of the session +Formatted: [physical_reads] [varchar](30) NULL +Non-Formatted: [physical_reads] [bigint] NULL + For an active request, number of physical reads done for the current query + For a sleeping session, total number of physical reads done over the lifetime of the session +Formatted: [writes] [varchar](30) NULL +Non-Formatted: [writes] [bigint] NULL + For an active request, number of writes done for the current query + For a sleeping session, total number of writes done over the lifetime of the session +Formatted: [tempdb_allocations] [varchar](30) NULL +Non-Formatted: [tempdb_allocations] [bigint] NULL + For an active request, number of TempDB writes done for the current query + For a sleeping session, total number of TempDB writes done over the lifetime of the session +Formatted: [tempdb_current] [varchar](30) NULL +Non-Formatted: [tempdb_current] [bigint] NULL + For an active request, number of TempDB pages currently allocated for the query + For a sleeping session, number of TempDB pages currently allocated for the session +Formatted: [CPU] [varchar](30) NULL +Non-Formatted: [CPU] [int] NULL + For an active request, total CPU time consumed by the current query + For a sleeping session, total CPU time consumed over the lifetime of the session +Formatted: [context_switches] [varchar](30) NULL +Non-Formatted: [context_switches] [bigint] NULL + Shows the number of context switches, for active requests +Formatted: [used_memory] [varchar](30) NOT NULL +Non-Formatted: [used_memory] [bigint] NOT NULL + For an active request, total memory consumption for the current query + For a sleeping session, total current memory consumption +Formatted: [physical_io_delta] [varchar](30) NULL +Non-Formatted: [physical_io_delta] [bigint] NULL + (Requires @delta_interval option) + Difference between the number of physical I/Os reported on the first and second collections. + If the request started after the first collection, the value will be NULL +Formatted: [reads_delta] [varchar](30) NULL +Non-Formatted: [reads_delta] [bigint] NULL + (Requires @delta_interval option) + Difference between the number of reads reported on the first and second collections. + If the request started after the first collection, the value will be NULL +Formatted: [physical_reads_delta] [varchar](30) NULL +Non-Formatted: [physical_reads_delta] [bigint] NULL + (Requires @delta_interval option) + Difference between the number of physical reads reported on the first and second collections. + If the request started after the first collection, the value will be NULL +Formatted: [writes_delta] [varchar](30) NULL +Non-Formatted: [writes_delta] [bigint] NULL + (Requires @delta_interval option) + Difference between the number of writes reported on the first and second collections. + If the request started after the first collection, the value will be NULL +Formatted: [tempdb_allocations_delta] [varchar](30) NULL +Non-Formatted: [tempdb_allocations_delta] [bigint] NULL + (Requires @delta_interval option) + Difference between the number of TempDB writes reported on the first and second collections. + If the request started after the first collection, the value will be NULL +Formatted: [tempdb_current_delta] [varchar](30) NULL +Non-Formatted: [tempdb_current_delta] [bigint] NULL + (Requires @delta_interval option) + Difference between the number of allocated TempDB pages reported on the first and second + collections. If the request started after the first collection, the value will be NULL +Formatted: [CPU_delta] [varchar](30) NULL +Non-Formatted: [CPU_delta] [int] NULL + (Requires @delta_interval option) + Difference between the CPU time reported on the first and second collections. + If the request started after the first collection, the value will be NULL +Formatted: [context_switches_delta] [varchar](30) NULL +Non-Formatted: [context_switches_delta] [bigint] NULL + (Requires @delta_interval option) + Difference between the context switches count reported on the first and second collections + If the request started after the first collection, the value will be NULL +Formatted: [used_memory_delta] [varchar](30) NULL +Non-Formatted: [used_memory_delta] [bigint] NULL + Difference between the memory usage reported on the first and second collections + If the request started after the first collection, the value will be NULL +Formatted: [tasks] [varchar](30) NULL +Non-Formatted: [tasks] [smallint] NULL + Number of worker tasks currently allocated, for active requests +Formatted/Non: [status] [varchar](30) NOT NULL + Activity status for the session (running, sleeping, etc) +Formatted/Non: [wait_info] [nvarchar](4000) NULL + Aggregates wait information, in the following format: + (Ax: Bms/Cms/Dms)E + A is the number of waiting tasks currently waiting on resource type E. B/C/D are wait + times, in milliseconds. If only one thread is waiting, its wait time will be shown as B. + If two tasks are waiting, each of their wait times will be shown (B/C). If three or more + tasks are waiting, the minimum, average, and maximum wait times will be shown (B/C/D). + If wait type E is a page latch wait and the page is of a "special" type (e.g. PFS, GAM, SGAM), + the page type will be identified. + If wait type E is CXPACKET, the nodeId from the query plan will be identified +Formatted/Non: [locks] [xml] NULL + (Requires @get_locks option) + Aggregates lock information, in XML format. + The lock XML includes the lock mode, locked object, and aggregates the number of requests. + Attempts are made to identify locked objects by name +Formatted/Non: [tran_start_time] [datetime] NULL + (Requires @get_transaction_info option) + Date and time that the first transaction opened by a session caused a transaction log + write to occur. +Formatted/Non: [tran_log_writes] [nvarchar](4000) NULL + (Requires @get_transaction_info option) + Aggregates transaction log write information, in the following format: + A:wB (C kB) + A is a database that has been touched by an active transaction + B is the number of log writes that have been made in the database as a result of the transaction + C is the number of log kilobytes consumed by the log records +Formatted: [open_tran_count] [varchar](30) NULL +Non-Formatted: [open_tran_count] [smallint] NULL + Shows the number of open transactions the session has open +Formatted: [sql_command] [xml] NULL +Non-Formatted: [sql_command] [nvarchar](max) NULL + (Requires @get_outer_command option) + Shows the "outer" SQL command, i.e. the text of the batch or RPC sent to the server, + if available +Formatted: [sql_text] [xml] NULL +Non-Formatted: [sql_text] [nvarchar](max) NULL + Shows the SQL text for active requests or the last statement executed + for sleeping sessions, if available in either case. + If @get_full_inner_text option is set, shows the full text of the batch. + Otherwise, shows only the active statement within the batch. + If the query text is locked, a special timeout message will be sent, in the following format: + + If an error occurs, an error message will be sent, in the following format: + +Formatted/Non: [query_plan] [xml] NULL + (Requires @get_plans option) + Shows the query plan for the request, if available. + If the plan is locked, a special timeout message will be sent, in the following format: + + If an error occurs, an error message will be sent, in the following format: + +Formatted/Non: [blocking_session_id] [smallint] NULL + When applicable, shows the blocking SPID +Formatted: [blocked_session_count] [varchar](30) NULL +Non-Formatted: [blocked_session_count] [smallint] NULL + (Requires @find_block_leaders option) + The total number of SPIDs blocked by this session, + all the way down the blocking chain. +Formatted: [percent_complete] [varchar](30) NULL +Non-Formatted: [percent_complete] [real] NULL + When applicable, shows the percent complete (e.g. for backups, restores, and some rollbacks) +Formatted/Non: [host_name] [sysname] NOT NULL + Shows the host name for the connection +Formatted/Non: [login_name] [sysname] NOT NULL + Shows the login name for the connection +Formatted/Non: [database_name] [sysname] NULL + Shows the connected database +Formatted/Non: [program_name] [sysname] NULL + Shows the reported program/application name +Formatted/Non: [additional_info] [xml] NULL + (Requires @get_additional_info option) + Returns additional non-performance-related session/request information + If the script finds a SQL Agent job running, the name of the job and job step will be reported + If @get_task_info = 2 and the script finds a lock wait, the locked object will be reported +Formatted/Non: [start_time] [datetime] NOT NULL + For active requests, shows the time the request started + For sleeping sessions, shows the time the last batch completed +Formatted/Non: [login_time] [datetime] NOT NULL + Shows the time that the session connected +Formatted/Non: [request_id] [int] NULL + For active requests, shows the request_id + Should be 0 unless MARS is being used +Formatted/Non: [collection_time] [datetime] NOT NULL + Time that this script's final SELECT ran +*/ +AS +BEGIN; + SET NOCOUNT ON; + SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; + SET QUOTED_IDENTIFIER ON; + SET ANSI_PADDING ON; + SET CONCAT_NULL_YIELDS_NULL ON; + SET ANSI_WARNINGS ON; + SET NUMERIC_ROUNDABORT OFF; + SET ARITHABORT ON; + IF + @filter IS NULL + OR @filter_type IS NULL + OR @not_filter IS NULL + OR @not_filter_type IS NULL + OR @show_own_spid IS NULL + OR @show_system_spids IS NULL + OR @show_sleeping_spids IS NULL + OR @get_full_inner_text IS NULL + OR @get_plans IS NULL + OR @get_outer_command IS NULL + OR @get_transaction_info IS NULL + OR @get_task_info IS NULL + OR @get_locks IS NULL + OR @get_avg_time IS NULL + OR @get_additional_info IS NULL + OR @find_block_leaders IS NULL + OR @delta_interval IS NULL + OR @format_output IS NULL + OR @output_column_list IS NULL + OR @sort_order IS NULL + OR @return_schema IS NULL + OR @destination_table IS NULL + OR @help IS NULL + BEGIN; + RAISERROR('Input parameters cannot be NULL', 16, 1); + RETURN; + END; + IF @filter_type NOT IN ('session', 'program', 'database', 'login', 'host') + BEGIN; + RAISERROR('Valid filter types are: session, program, database, login, host', 16, 1); + RETURN; + END; + IF @filter_type = 'session' AND @filter LIKE '%[^0123456789]%' + BEGIN; + RAISERROR('Session filters must be valid integers', 16, 1); + RETURN; + END; + IF @not_filter_type NOT IN ('session', 'program', 'database', 'login', 'host') + BEGIN; + RAISERROR('Valid filter types are: session, program, database, login, host', 16, 1); + RETURN; + END; + IF @not_filter_type = 'session' AND @not_filter LIKE '%[^0123456789]%' + BEGIN; + RAISERROR('Session filters must be valid integers', 16, 1); + RETURN; + END; + IF @show_sleeping_spids NOT IN (0, 1, 2) + BEGIN; + RAISERROR('Valid values for @show_sleeping_spids are: 0, 1, or 2', 16, 1); + RETURN; + END; + IF @get_plans NOT IN (0, 1, 2) + BEGIN; + RAISERROR('Valid values for @get_plans are: 0, 1, or 2', 16, 1); + RETURN; + END; + IF @get_task_info NOT IN (0, 1, 2) + BEGIN; + RAISERROR('Valid values for @get_task_info are: 0, 1, or 2', 16, 1); + RETURN; + END; + IF @format_output NOT IN (0, 1, 2) + BEGIN; + RAISERROR('Valid values for @format_output are: 0, 1, or 2', 16, 1); + RETURN; + END; + IF @help = 1 + BEGIN; + DECLARE + @header VARCHAR(MAX), + @params VARCHAR(MAX), + @outputs VARCHAR(MAX); + SELECT + @header = + REPLACE + ( + REPLACE + ( + CONVERT + ( + VARCHAR(MAX), + SUBSTRING + ( + t.text, + CHARINDEX('/' + REPLICATE('*', 93), t.text) + 94, + CHARINDEX(REPLICATE('*', 93) + '/', t.text) - (CHARINDEX('/' + REPLICATE('*', 93), t.text) + 94) + ) + ), + CHAR(13)+CHAR(10), + CHAR(13) + ), + ' ', + '' + ), + @params = + CHAR(13) + + REPLACE + ( + REPLACE + ( + CONVERT + ( + VARCHAR(MAX), + SUBSTRING + ( + t.text, + CHARINDEX('--~', t.text) + 5, + CHARINDEX('--~', t.text, CHARINDEX('--~', t.text) + 5) - (CHARINDEX('--~', t.text) + 5) + ) + ), + CHAR(13)+CHAR(10), + CHAR(13) + ), + ' ', + '' + ), + @outputs = + CHAR(13) + + REPLACE + ( + REPLACE + ( + REPLACE + ( + CONVERT + ( + VARCHAR(MAX), + SUBSTRING + ( + t.text, + CHARINDEX('OUTPUT COLUMNS'+CHAR(13)+CHAR(10)+'--------------', t.text) + 32, + CHARINDEX('*/', t.text, CHARINDEX('OUTPUT COLUMNS'+CHAR(13)+CHAR(10)+'--------------', t.text) + 32) - (CHARINDEX('OUTPUT COLUMNS'+CHAR(13)+CHAR(10)+'--------------', t.text) + 32) + ) + ), + CHAR(9), + CHAR(255) + ), + CHAR(13)+CHAR(10), + CHAR(13) + ), + ' ', + '' + ) + + CHAR(13) + FROM sys.dm_exec_requests AS r + CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) AS t + WHERE + r.session_id = @@SPID; + WITH + a0 AS + (SELECT 1 AS n UNION ALL SELECT 1), + a1 AS + (SELECT 1 AS n FROM a0 AS a, a0 AS b), + a2 AS + (SELECT 1 AS n FROM a1 AS a, a1 AS b), + a3 AS + (SELECT 1 AS n FROM a2 AS a, a2 AS b), + a4 AS + (SELECT 1 AS n FROM a3 AS a, a3 AS b), + numbers AS + ( + SELECT TOP(LEN(@header) - 1) + ROW_NUMBER() OVER + ( + ORDER BY (SELECT NULL) + ) AS number + FROM a4 + ORDER BY + number + ) + SELECT + RTRIM(LTRIM( + SUBSTRING + ( + @header, + number + 1, + CHARINDEX(CHAR(13), @header, number + 1) - number - 1 + ) + )) AS [------header---------------------------------------------------------------------------------------------------------------] + FROM numbers + WHERE + SUBSTRING(@header, number, 1) = CHAR(13); + WITH + a0 AS + (SELECT 1 AS n UNION ALL SELECT 1), + a1 AS + (SELECT 1 AS n FROM a0 AS a, a0 AS b), + a2 AS + (SELECT 1 AS n FROM a1 AS a, a1 AS b), + a3 AS + (SELECT 1 AS n FROM a2 AS a, a2 AS b), + a4 AS + (SELECT 1 AS n FROM a3 AS a, a3 AS b), + numbers AS + ( + SELECT TOP(LEN(@params) - 1) + ROW_NUMBER() OVER + ( + ORDER BY (SELECT NULL) + ) AS number + FROM a4 + ORDER BY + number + ), + tokens AS + ( + SELECT + RTRIM(LTRIM( + SUBSTRING + ( + @params, + number + 1, + CHARINDEX(CHAR(13), @params, number + 1) - number - 1 + ) + )) AS token, + number, + CASE + WHEN SUBSTRING(@params, number + 1, 1) = CHAR(13) THEN number + ELSE COALESCE(NULLIF(CHARINDEX(',' + CHAR(13) + CHAR(13), @params, number), 0), LEN(@params)) + END AS param_group, + ROW_NUMBER() OVER + ( + PARTITION BY + CHARINDEX(',' + CHAR(13) + CHAR(13), @params, number), + SUBSTRING(@params, number+1, 1) + ORDER BY + number + ) AS group_order + FROM numbers + WHERE + SUBSTRING(@params, number, 1) = CHAR(13) + ), + parsed_tokens AS + ( + SELECT + MIN + ( + CASE + WHEN token LIKE '@%' THEN token + ELSE NULL + END + ) AS parameter, + MIN + ( + CASE + WHEN token LIKE '--%' THEN RIGHT(token, LEN(token) - 2) + ELSE NULL + END + ) AS description, + param_group, + group_order + FROM tokens + WHERE + NOT + ( + token = '' + AND group_order > 1 + ) + GROUP BY + param_group, + group_order + ) + SELECT + CASE + WHEN description IS NULL AND parameter IS NULL THEN '-------------------------------------------------------------------------' + WHEN param_group = MAX(param_group) OVER() THEN parameter + ELSE COALESCE(LEFT(parameter, LEN(parameter) - 1), '') + END AS [------parameter----------------------------------------------------------], + CASE + WHEN description IS NULL AND parameter IS NULL THEN '----------------------------------------------------------------------------------------------------------------------' + ELSE COALESCE(description, '') + END AS [------description-----------------------------------------------------------------------------------------------------] + FROM parsed_tokens + ORDER BY + param_group, + group_order; + WITH + a0 AS + (SELECT 1 AS n UNION ALL SELECT 1), + a1 AS + (SELECT 1 AS n FROM a0 AS a, a0 AS b), + a2 AS + (SELECT 1 AS n FROM a1 AS a, a1 AS b), + a3 AS + (SELECT 1 AS n FROM a2 AS a, a2 AS b), + a4 AS + (SELECT 1 AS n FROM a3 AS a, a3 AS b), + numbers AS + ( + SELECT TOP(LEN(@outputs) - 1) + ROW_NUMBER() OVER + ( + ORDER BY (SELECT NULL) + ) AS number + FROM a4 + ORDER BY + number + ), + tokens AS + ( + SELECT + RTRIM(LTRIM( + SUBSTRING + ( + @outputs, + number + 1, + CASE + WHEN + COALESCE(NULLIF(CHARINDEX(CHAR(13) + 'Formatted', @outputs, number + 1), 0), LEN(@outputs)) < + COALESCE(NULLIF(CHARINDEX(CHAR(13) + CHAR(255) COLLATE Latin1_General_Bin2, @outputs, number + 1), 0), LEN(@outputs)) + THEN COALESCE(NULLIF(CHARINDEX(CHAR(13) + 'Formatted', @outputs, number + 1), 0), LEN(@outputs)) - number - 1 + ELSE + COALESCE(NULLIF(CHARINDEX(CHAR(13) + CHAR(255) COLLATE Latin1_General_Bin2, @outputs, number + 1), 0), LEN(@outputs)) - number - 1 + END + ) + )) AS token, + number, + COALESCE(NULLIF(CHARINDEX(CHAR(13) + 'Formatted', @outputs, number + 1), 0), LEN(@outputs)) AS output_group, + ROW_NUMBER() OVER + ( + PARTITION BY + COALESCE(NULLIF(CHARINDEX(CHAR(13) + 'Formatted', @outputs, number + 1), 0), LEN(@outputs)) + ORDER BY + number + ) AS output_group_order + FROM numbers + WHERE + SUBSTRING(@outputs, number, 10) = CHAR(13) + 'Formatted' + OR SUBSTRING(@outputs, number, 2) = CHAR(13) + CHAR(255) COLLATE Latin1_General_Bin2 + ), + output_tokens AS + ( + SELECT + *, + CASE output_group_order + WHEN 2 THEN MAX(CASE output_group_order WHEN 1 THEN token ELSE NULL END) OVER (PARTITION BY output_group) + ELSE '' + END COLLATE Latin1_General_Bin2 AS column_info + FROM tokens + ) + SELECT + CASE output_group_order + WHEN 1 THEN '-----------------------------------' + WHEN 2 THEN + CASE + WHEN CHARINDEX('Formatted/Non:', column_info) = 1 THEN + SUBSTRING(column_info, CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info)+1, CHARINDEX(']', column_info, CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info)+2) - CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info)) + ELSE + SUBSTRING(column_info, CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info)+2, CHARINDEX(']', column_info, CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info)+2) - CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info)-1) + END + ELSE '' + END AS formatted_column_name, + CASE output_group_order + WHEN 1 THEN '-----------------------------------' + WHEN 2 THEN + CASE + WHEN CHARINDEX('Formatted/Non:', column_info) = 1 THEN + SUBSTRING(column_info, CHARINDEX(']', column_info)+2, LEN(column_info)) + ELSE + SUBSTRING(column_info, CHARINDEX(']', column_info)+2, CHARINDEX('Non-Formatted:', column_info, CHARINDEX(']', column_info)+2) - CHARINDEX(']', column_info)-3) + END + ELSE '' + END AS formatted_column_type, + CASE output_group_order + WHEN 1 THEN '---------------------------------------' + WHEN 2 THEN + CASE + WHEN CHARINDEX('Formatted/Non:', column_info) = 1 THEN '' + ELSE + CASE + WHEN SUBSTRING(column_info, CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info, CHARINDEX('Non-Formatted:', column_info))+1, 1) = '<' THEN + SUBSTRING(column_info, CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info, CHARINDEX('Non-Formatted:', column_info))+1, CHARINDEX('>', column_info, CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info, CHARINDEX('Non-Formatted:', column_info))+1) - CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info, CHARINDEX('Non-Formatted:', column_info))) + ELSE + SUBSTRING(column_info, CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info, CHARINDEX('Non-Formatted:', column_info))+1, CHARINDEX(']', column_info, CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info, CHARINDEX('Non-Formatted:', column_info))+1) - CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info, CHARINDEX('Non-Formatted:', column_info))) + END + END + ELSE '' + END AS unformatted_column_name, + CASE output_group_order + WHEN 1 THEN '---------------------------------------' + WHEN 2 THEN + CASE + WHEN CHARINDEX('Formatted/Non:', column_info) = 1 THEN '' + ELSE + CASE + WHEN SUBSTRING(column_info, CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info, CHARINDEX('Non-Formatted:', column_info))+1, 1) = '<' THEN '' + ELSE + SUBSTRING(column_info, CHARINDEX(']', column_info, CHARINDEX('Non-Formatted:', column_info))+2, CHARINDEX('Non-Formatted:', column_info, CHARINDEX(']', column_info)+2) - CHARINDEX(']', column_info)-3) + END + END + ELSE '' + END AS unformatted_column_type, + CASE output_group_order + WHEN 1 THEN '----------------------------------------------------------------------------------------------------------------------' + ELSE REPLACE(token, CHAR(255) COLLATE Latin1_General_Bin2, '') + END AS [------description-----------------------------------------------------------------------------------------------------] + FROM output_tokens + WHERE + NOT + ( + output_group_order = 1 + AND output_group = LEN(@outputs) + ) + ORDER BY + output_group, + CASE output_group_order + WHEN 1 THEN 99 + ELSE output_group_order + END; + RETURN; + END; + WITH + a0 AS + (SELECT 1 AS n UNION ALL SELECT 1), + a1 AS + (SELECT 1 AS n FROM a0 AS a, a0 AS b), + a2 AS + (SELECT 1 AS n FROM a1 AS a, a1 AS b), + a3 AS + (SELECT 1 AS n FROM a2 AS a, a2 AS b), + a4 AS + (SELECT 1 AS n FROM a3 AS a, a3 AS b), + numbers AS + ( + SELECT TOP(LEN(@output_column_list)) + ROW_NUMBER() OVER + ( + ORDER BY (SELECT NULL) + ) AS number + FROM a4 + ORDER BY + number + ), + tokens AS + ( + SELECT + '|[' + + SUBSTRING + ( + @output_column_list, + number + 1, + CHARINDEX(']', @output_column_list, number) - number - 1 + ) + '|]' AS token, + number + FROM numbers + WHERE + SUBSTRING(@output_column_list, number, 1) = '[' + ), + ordered_columns AS + ( + SELECT + x.column_name, + ROW_NUMBER() OVER + ( + PARTITION BY + x.column_name + ORDER BY + tokens.number, + x.default_order + ) AS r, + ROW_NUMBER() OVER + ( + ORDER BY + tokens.number, + x.default_order + ) AS s + FROM tokens + JOIN + ( + SELECT '[session_id]' AS column_name, 1 AS default_order + UNION ALL + SELECT '[dd hh:mm:ss.mss]', 2 + WHERE + @format_output IN (1, 2) + UNION ALL + SELECT '[dd hh:mm:ss.mss (avg)]', 3 + WHERE + @format_output IN (1, 2) + AND @get_avg_time = 1 + UNION ALL + SELECT '[avg_elapsed_time]', 4 + WHERE + @format_output = 0 + AND @get_avg_time = 1 + UNION ALL + SELECT '[physical_io]', 5 + WHERE + @get_task_info = 2 + UNION ALL + SELECT '[reads]', 6 + UNION ALL + SELECT '[physical_reads]', 7 + UNION ALL + SELECT '[writes]', 8 + UNION ALL + SELECT '[tempdb_allocations]', 9 + UNION ALL + SELECT '[tempdb_current]', 10 + UNION ALL + SELECT '[CPU]', 11 + UNION ALL + SELECT '[context_switches]', 12 + WHERE + @get_task_info = 2 + UNION ALL + SELECT '[used_memory]', 13 + UNION ALL + SELECT '[physical_io_delta]', 14 + WHERE + @delta_interval > 0 + AND @get_task_info = 2 + UNION ALL + SELECT '[reads_delta]', 15 + WHERE + @delta_interval > 0 + UNION ALL + SELECT '[physical_reads_delta]', 16 + WHERE + @delta_interval > 0 + UNION ALL + SELECT '[writes_delta]', 17 + WHERE + @delta_interval > 0 + UNION ALL + SELECT '[tempdb_allocations_delta]', 18 + WHERE + @delta_interval > 0 + UNION ALL + SELECT '[tempdb_current_delta]', 19 + WHERE + @delta_interval > 0 + UNION ALL + SELECT '[CPU_delta]', 20 + WHERE + @delta_interval > 0 + UNION ALL + SELECT '[context_switches_delta]', 21 + WHERE + @delta_interval > 0 + AND @get_task_info = 2 + UNION ALL + SELECT '[used_memory_delta]', 22 + WHERE + @delta_interval > 0 + UNION ALL + SELECT '[tasks]', 23 + WHERE + @get_task_info = 2 + UNION ALL + SELECT '[status]', 24 + UNION ALL + SELECT '[wait_info]', 25 + WHERE + @get_task_info > 0 + OR @find_block_leaders = 1 + UNION ALL + SELECT '[locks]', 26 + WHERE + @get_locks = 1 + UNION ALL + SELECT '[tran_start_time]', 27 + WHERE + @get_transaction_info = 1 + UNION ALL + SELECT '[tran_log_writes]', 28 + WHERE + @get_transaction_info = 1 + UNION ALL + SELECT '[open_tran_count]', 29 + UNION ALL + SELECT '[sql_command]', 30 + WHERE + @get_outer_command = 1 + UNION ALL + SELECT '[sql_text]', 31 + UNION ALL + SELECT '[query_plan]', 32 + WHERE + @get_plans >= 1 + UNION ALL + SELECT '[blocking_session_id]', 33 + WHERE + @get_task_info > 0 + OR @find_block_leaders = 1 + UNION ALL + SELECT '[blocked_session_count]', 34 + WHERE + @find_block_leaders = 1 + UNION ALL + SELECT '[percent_complete]', 35 + UNION ALL + SELECT '[host_name]', 36 + UNION ALL + SELECT '[login_name]', 37 + UNION ALL + SELECT '[database_name]', 38 + UNION ALL + SELECT '[program_name]', 39 + UNION ALL + SELECT '[additional_info]', 40 + WHERE + @get_additional_info = 1 + UNION ALL + SELECT '[start_time]', 41 + UNION ALL + SELECT '[login_time]', 42 + UNION ALL + SELECT '[request_id]', 43 + UNION ALL + SELECT '[collection_time]', 44 + ) AS x ON + x.column_name LIKE token ESCAPE '|' + ) + SELECT + @output_column_list = + STUFF + ( + ( + SELECT + ',' + column_name as [text()] + FROM ordered_columns + WHERE + r = 1 + ORDER BY + s + FOR XML + PATH('') + ), + 1, + 1, + '' + ); + IF COALESCE(RTRIM(@output_column_list), '') = '' + BEGIN; + RAISERROR('No valid column matches found in @output_column_list or no columns remain due to selected options.', 16, 1); + RETURN; + END; + IF @destination_table <> '' + BEGIN; + SET @destination_table = + --database + COALESCE(QUOTENAME(PARSENAME(@destination_table, 3)) + '.', '') + + --schema + COALESCE(QUOTENAME(PARSENAME(@destination_table, 2)) + '.', '') + + --table + COALESCE(QUOTENAME(PARSENAME(@destination_table, 1)), ''); + IF COALESCE(RTRIM(@destination_table), '') = '' + BEGIN; + RAISERROR('Destination table not properly formatted.', 16, 1); + RETURN; + END; + END; + WITH + a0 AS + (SELECT 1 AS n UNION ALL SELECT 1), + a1 AS + (SELECT 1 AS n FROM a0 AS a, a0 AS b), + a2 AS + (SELECT 1 AS n FROM a1 AS a, a1 AS b), + a3 AS + (SELECT 1 AS n FROM a2 AS a, a2 AS b), + a4 AS + (SELECT 1 AS n FROM a3 AS a, a3 AS b), + numbers AS + ( + SELECT TOP(LEN(@sort_order)) + ROW_NUMBER() OVER + ( + ORDER BY (SELECT NULL) + ) AS number + FROM a4 + ORDER BY + number + ), + tokens AS + ( + SELECT + '|[' + + SUBSTRING + ( + @sort_order, + number + 1, + CHARINDEX(']', @sort_order, number) - number - 1 + ) + '|]' AS token, + SUBSTRING + ( + @sort_order, + CHARINDEX(']', @sort_order, number) + 1, + COALESCE(NULLIF(CHARINDEX('[', @sort_order, CHARINDEX(']', @sort_order, number)), 0), LEN(@sort_order)) - CHARINDEX(']', @sort_order, number) + ) AS next_chunk, + number + FROM numbers + WHERE + SUBSTRING(@sort_order, number, 1) = '[' + ), + ordered_columns AS + ( + SELECT + x.column_name + + CASE + WHEN tokens.next_chunk LIKE '%asc%' THEN ' ASC' + WHEN tokens.next_chunk LIKE '%desc%' THEN ' DESC' + ELSE '' + END AS column_name, + ROW_NUMBER() OVER + ( + PARTITION BY + x.column_name + ORDER BY + tokens.number + ) AS r, + tokens.number + FROM tokens + JOIN + ( + SELECT '[session_id]' AS column_name + UNION ALL + SELECT '[physical_io]' + UNION ALL + SELECT '[reads]' + UNION ALL + SELECT '[physical_reads]' + UNION ALL + SELECT '[writes]' + UNION ALL + SELECT '[tempdb_allocations]' + UNION ALL + SELECT '[tempdb_current]' + UNION ALL + SELECT '[CPU]' + UNION ALL + SELECT '[context_switches]' + UNION ALL + SELECT '[used_memory]' + UNION ALL + SELECT '[physical_io_delta]' + UNION ALL + SELECT '[reads_delta]' + UNION ALL + SELECT '[physical_reads_delta]' + UNION ALL + SELECT '[writes_delta]' + UNION ALL + SELECT '[tempdb_allocations_delta]' + UNION ALL + SELECT '[tempdb_current_delta]' + UNION ALL + SELECT '[CPU_delta]' + UNION ALL + SELECT '[context_switches_delta]' + UNION ALL + SELECT '[used_memory_delta]' + UNION ALL + SELECT '[tasks]' + UNION ALL + SELECT '[tran_start_time]' + UNION ALL + SELECT '[open_tran_count]' + UNION ALL + SELECT '[blocking_session_id]' + UNION ALL + SELECT '[blocked_session_count]' + UNION ALL + SELECT '[percent_complete]' + UNION ALL + SELECT '[host_name]' + UNION ALL + SELECT '[login_name]' + UNION ALL + SELECT '[database_name]' + UNION ALL + SELECT '[start_time]' + UNION ALL + SELECT '[login_time]' + UNION ALL + SELECT '[program_name]' + ) AS x ON + x.column_name LIKE token ESCAPE '|' + ) + SELECT + @sort_order = COALESCE(z.sort_order, '') + FROM + ( + SELECT + STUFF + ( + ( + SELECT + ',' + column_name as [text()] + FROM ordered_columns + WHERE + r = 1 + ORDER BY + number + FOR XML + PATH('') + ), + 1, + 1, + '' + ) AS sort_order + ) AS z; + CREATE TABLE #sessions + ( + recursion SMALLINT NOT NULL, + session_id SMALLINT NOT NULL, + request_id INT NOT NULL, + session_number INT NOT NULL, + elapsed_time INT NOT NULL, + avg_elapsed_time INT NULL, + physical_io BIGINT NULL, + reads BIGINT NULL, + physical_reads BIGINT NULL, + writes BIGINT NULL, + tempdb_allocations BIGINT NULL, + tempdb_current BIGINT NULL, + CPU INT NULL, + thread_CPU_snapshot BIGINT NULL, + context_switches BIGINT NULL, + used_memory BIGINT NOT NULL, + tasks SMALLINT NULL, + status VARCHAR(30) NOT NULL, + wait_info NVARCHAR(4000) NULL, + locks XML NULL, + transaction_id BIGINT NULL, + tran_start_time DATETIME NULL, + tran_log_writes NVARCHAR(4000) NULL, + open_tran_count SMALLINT NULL, + sql_command XML NULL, + sql_handle VARBINARY(64) NULL, + statement_start_offset INT NULL, + statement_end_offset INT NULL, + sql_text XML NULL, + plan_handle VARBINARY(64) NULL, + query_plan XML NULL, + blocking_session_id SMALLINT NULL, + blocked_session_count SMALLINT NULL, + percent_complete REAL NULL, + host_name sysname NULL, + login_name sysname NOT NULL, + database_name sysname NULL, + program_name sysname NULL, + additional_info XML NULL, + start_time DATETIME NOT NULL, + login_time DATETIME NULL, + last_request_start_time DATETIME NULL, + PRIMARY KEY CLUSTERED (session_id, request_id, recursion) WITH (IGNORE_DUP_KEY = ON), + UNIQUE NONCLUSTERED (transaction_id, session_id, request_id, recursion) WITH (IGNORE_DUP_KEY = ON) + ); + IF @return_schema = 0 + BEGIN; + --Disable unnecessary autostats on the table + CREATE STATISTICS s_session_id ON #sessions (session_id) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_request_id ON #sessions (request_id) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_transaction_id ON #sessions (transaction_id) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_session_number ON #sessions (session_number) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_status ON #sessions (status) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_start_time ON #sessions (start_time) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_last_request_start_time ON #sessions (last_request_start_time) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_recursion ON #sessions (recursion) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + DECLARE @recursion SMALLINT; + SET @recursion = + CASE @delta_interval + WHEN 0 THEN 1 + ELSE -1 + END; + DECLARE @first_collection_ms_ticks BIGINT; + DECLARE @last_collection_start DATETIME; + DECLARE @sys_info BIT; + SET @sys_info = ISNULL(CONVERT(BIT, SIGN(OBJECT_ID('sys.dm_os_sys_info'))), 0); + --Used for the delta pull + REDO:; + IF + @get_locks = 1 + AND @recursion = 1 + AND @output_column_list LIKE '%|[locks|]%' ESCAPE '|' + BEGIN; + SELECT + y.resource_type, + y.database_name, + y.object_id, + y.file_id, + y.page_type, + y.hobt_id, + y.allocation_unit_id, + y.index_id, + y.schema_id, + y.principal_id, + y.request_mode, + y.request_status, + y.session_id, + y.resource_description, + y.request_count, + s.request_id, + s.start_time, + CONVERT(sysname, NULL) AS object_name, + CONVERT(sysname, NULL) AS index_name, + CONVERT(sysname, NULL) AS schema_name, + CONVERT(sysname, NULL) AS principal_name, + CONVERT(NVARCHAR(2048), NULL) AS query_error + INTO #locks + FROM + ( + SELECT + sp.spid AS session_id, + CASE sp.status + WHEN 'sleeping' THEN CONVERT(INT, 0) + ELSE sp.request_id + END AS request_id, + CASE sp.status + WHEN 'sleeping' THEN sp.last_batch + ELSE COALESCE(req.start_time, sp.last_batch) + END AS start_time, + sp.dbid + FROM sys.sysprocesses AS sp + OUTER APPLY + ( + SELECT TOP(1) + CASE + WHEN + ( + sp.hostprocess > '' + OR r.total_elapsed_time < 0 + ) THEN + r.start_time + ELSE + DATEADD + ( + ms, + 1000 * (DATEPART(ms, DATEADD(second, -(r.total_elapsed_time / 1000), GETDATE())) / 500) - DATEPART(ms, DATEADD(second, -(r.total_elapsed_time / 1000), GETDATE())), + DATEADD(second, -(r.total_elapsed_time / 1000), GETDATE()) + ) + END AS start_time + FROM sys.dm_exec_requests AS r + WHERE + r.session_id = sp.spid + AND r.request_id = sp.request_id + ) AS req + WHERE + --Process inclusive filter + 1 = + CASE + WHEN @filter <> '' THEN + CASE @filter_type + WHEN 'session' THEN + CASE + WHEN + CONVERT(SMALLINT, @filter) = 0 + OR sp.spid = CONVERT(SMALLINT, @filter) + THEN 1 + ELSE 0 + END + WHEN 'program' THEN + CASE + WHEN sp.program_name LIKE @filter THEN 1 + ELSE 0 + END + WHEN 'login' THEN + CASE + WHEN sp.loginame LIKE @filter THEN 1 + ELSE 0 + END + WHEN 'host' THEN + CASE + WHEN sp.hostname LIKE @filter THEN 1 + ELSE 0 + END + WHEN 'database' THEN + CASE + WHEN DB_NAME(sp.dbid) LIKE @filter THEN 1 + ELSE 0 + END + ELSE 0 + END + ELSE 1 + END + --Process exclusive filter + AND 0 = + CASE + WHEN @not_filter <> '' THEN + CASE @not_filter_type + WHEN 'session' THEN + CASE + WHEN sp.spid = CONVERT(SMALLINT, @not_filter) THEN 1 + ELSE 0 + END + WHEN 'program' THEN + CASE + WHEN sp.program_name LIKE @not_filter THEN 1 + ELSE 0 + END + WHEN 'login' THEN + CASE + WHEN sp.loginame LIKE @not_filter THEN 1 + ELSE 0 + END + WHEN 'host' THEN + CASE + WHEN sp.hostname LIKE @not_filter THEN 1 + ELSE 0 + END + WHEN 'database' THEN + CASE + WHEN DB_NAME(sp.dbid) LIKE @not_filter THEN 1 + ELSE 0 + END + ELSE 0 + END + ELSE 0 + END + AND + ( + @show_own_spid = 1 + OR sp.spid <> @@SPID + ) + AND + ( + @show_system_spids = 1 + OR sp.hostprocess > '' + ) + AND sp.ecid = 0 + ) AS s + INNER HASH JOIN + ( + SELECT + x.resource_type, + x.database_name, + x.object_id, + x.file_id, + CASE + WHEN x.page_no = 1 OR x.page_no % 8088 = 0 THEN 'PFS' + WHEN x.page_no = 2 OR x.page_no % 511232 = 0 THEN 'GAM' + WHEN x.page_no = 3 OR (x.page_no - 1) % 511232 = 0 THEN 'SGAM' + WHEN x.page_no = 6 OR (x.page_no - 6) % 511232 = 0 THEN 'DCM' + WHEN x.page_no = 7 OR (x.page_no - 7) % 511232 = 0 THEN 'BCM' + WHEN x.page_no IS NOT NULL THEN '*' + ELSE NULL + END AS page_type, + x.hobt_id, + x.allocation_unit_id, + x.index_id, + x.schema_id, + x.principal_id, + x.request_mode, + x.request_status, + x.session_id, + x.request_id, + CASE + WHEN COALESCE(x.object_id, x.file_id, x.hobt_id, x.allocation_unit_id, x.index_id, x.schema_id, x.principal_id) IS NULL THEN NULLIF(resource_description, '') + ELSE NULL + END AS resource_description, + COUNT(*) AS request_count + FROM + ( + SELECT + tl.resource_type + + CASE + WHEN tl.resource_subtype = '' THEN '' + ELSE '.' + tl.resource_subtype + END AS resource_type, + COALESCE(DB_NAME(tl.resource_database_id), N'(null)') AS database_name, + CONVERT + ( + INT, + CASE + WHEN tl.resource_type = 'OBJECT' THEN tl.resource_associated_entity_id + WHEN tl.resource_description LIKE '%object_id = %' THEN + ( + SUBSTRING + ( + tl.resource_description, + (CHARINDEX('object_id = ', tl.resource_description) + 12), + COALESCE + ( + NULLIF + ( + CHARINDEX(',', tl.resource_description, CHARINDEX('object_id = ', tl.resource_description) + 12), + 0 + ), + DATALENGTH(tl.resource_description)+1 + ) - (CHARINDEX('object_id = ', tl.resource_description) + 12) + ) + ) + ELSE NULL + END + ) AS object_id, + CONVERT + ( + INT, + CASE + WHEN tl.resource_type = 'FILE' THEN CONVERT(INT, tl.resource_description) + WHEN tl.resource_type IN ('PAGE', 'EXTENT', 'RID') THEN LEFT(tl.resource_description, CHARINDEX(':', tl.resource_description)-1) + ELSE NULL + END + ) AS file_id, + CONVERT + ( + INT, + CASE + WHEN tl.resource_type IN ('PAGE', 'EXTENT', 'RID') THEN + SUBSTRING + ( + tl.resource_description, + CHARINDEX(':', tl.resource_description) + 1, + COALESCE + ( + NULLIF + ( + CHARINDEX(':', tl.resource_description, CHARINDEX(':', tl.resource_description) + 1), + 0 + ), + DATALENGTH(tl.resource_description)+1 + ) - (CHARINDEX(':', tl.resource_description) + 1) + ) + ELSE NULL + END + ) AS page_no, + CASE + WHEN tl.resource_type IN ('PAGE', 'KEY', 'RID', 'HOBT') THEN tl.resource_associated_entity_id + ELSE NULL + END AS hobt_id, + CASE + WHEN tl.resource_type = 'ALLOCATION_UNIT' THEN tl.resource_associated_entity_id + ELSE NULL + END AS allocation_unit_id, + CONVERT + ( + INT, + CASE + WHEN + /*TODO: Deal with server principals*/ + tl.resource_subtype <> 'SERVER_PRINCIPAL' + AND tl.resource_description LIKE '%index_id or stats_id = %' THEN + ( + SUBSTRING + ( + tl.resource_description, + (CHARINDEX('index_id or stats_id = ', tl.resource_description) + 23), + COALESCE + ( + NULLIF + ( + CHARINDEX(',', tl.resource_description, CHARINDEX('index_id or stats_id = ', tl.resource_description) + 23), + 0 + ), + DATALENGTH(tl.resource_description)+1 + ) - (CHARINDEX('index_id or stats_id = ', tl.resource_description) + 23) + ) + ) + ELSE NULL + END + ) AS index_id, + CONVERT + ( + INT, + CASE + WHEN tl.resource_description LIKE '%schema_id = %' THEN + ( + SUBSTRING + ( + tl.resource_description, + (CHARINDEX('schema_id = ', tl.resource_description) + 12), + COALESCE + ( + NULLIF + ( + CHARINDEX(',', tl.resource_description, CHARINDEX('schema_id = ', tl.resource_description) + 12), + 0 + ), + DATALENGTH(tl.resource_description)+1 + ) - (CHARINDEX('schema_id = ', tl.resource_description) + 12) + ) + ) + ELSE NULL + END + ) AS schema_id, + CONVERT + ( + INT, + CASE + WHEN tl.resource_description LIKE '%principal_id = %' THEN + ( + SUBSTRING + ( + tl.resource_description, + (CHARINDEX('principal_id = ', tl.resource_description) + 15), + COALESCE + ( + NULLIF + ( + CHARINDEX(',', tl.resource_description, CHARINDEX('principal_id = ', tl.resource_description) + 15), + 0 + ), + DATALENGTH(tl.resource_description)+1 + ) - (CHARINDEX('principal_id = ', tl.resource_description) + 15) + ) + ) + ELSE NULL + END + ) AS principal_id, + tl.request_mode, + tl.request_status, + tl.request_session_id AS session_id, + tl.request_request_id AS request_id, + /*TODO: Applocks, other resource_descriptions*/ + RTRIM(tl.resource_description) AS resource_description, + tl.resource_associated_entity_id + /*********************************************/ + FROM + ( + SELECT + request_session_id, + CONVERT(VARCHAR(120), resource_type) COLLATE Latin1_General_Bin2 AS resource_type, + CONVERT(VARCHAR(120), resource_subtype) COLLATE Latin1_General_Bin2 AS resource_subtype, + resource_database_id, + CONVERT(VARCHAR(512), resource_description) COLLATE Latin1_General_Bin2 AS resource_description, + resource_associated_entity_id, + CONVERT(VARCHAR(120), request_mode) COLLATE Latin1_General_Bin2 AS request_mode, + CONVERT(VARCHAR(120), request_status) COLLATE Latin1_General_Bin2 AS request_status, + request_request_id + FROM sys.dm_tran_locks + ) AS tl + ) AS x + GROUP BY + x.resource_type, + x.database_name, + x.object_id, + x.file_id, + CASE + WHEN x.page_no = 1 OR x.page_no % 8088 = 0 THEN 'PFS' + WHEN x.page_no = 2 OR x.page_no % 511232 = 0 THEN 'GAM' + WHEN x.page_no = 3 OR (x.page_no - 1) % 511232 = 0 THEN 'SGAM' + WHEN x.page_no = 6 OR (x.page_no - 6) % 511232 = 0 THEN 'DCM' + WHEN x.page_no = 7 OR (x.page_no - 7) % 511232 = 0 THEN 'BCM' + WHEN x.page_no IS NOT NULL THEN '*' + ELSE NULL + END, + x.hobt_id, + x.allocation_unit_id, + x.index_id, + x.schema_id, + x.principal_id, + x.request_mode, + x.request_status, + x.session_id, + x.request_id, + CASE + WHEN COALESCE(x.object_id, x.file_id, x.hobt_id, x.allocation_unit_id, x.index_id, x.schema_id, x.principal_id) IS NULL THEN NULLIF(resource_description, '') + ELSE NULL + END + ) AS y ON + y.session_id = s.session_id + AND y.request_id = s.request_id + OPTION (HASH GROUP); + --Disable unnecessary autostats on the table + CREATE STATISTICS s_database_name ON #locks (database_name) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_object_id ON #locks (object_id) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_hobt_id ON #locks (hobt_id) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_allocation_unit_id ON #locks (allocation_unit_id) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_index_id ON #locks (index_id) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_schema_id ON #locks (schema_id) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_principal_id ON #locks (principal_id) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_request_id ON #locks (request_id) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_start_time ON #locks (start_time) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_resource_type ON #locks (resource_type) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_object_name ON #locks (object_name) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_schema_name ON #locks (schema_name) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_page_type ON #locks (page_type) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_request_mode ON #locks (request_mode) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_request_status ON #locks (request_status) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_resource_description ON #locks (resource_description) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_index_name ON #locks (index_name) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_principal_name ON #locks (principal_name) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + END; + DECLARE + @sql VARCHAR(MAX), + @sql_n NVARCHAR(MAX); + SET @sql = + CONVERT(VARCHAR(MAX), '') + + 'DECLARE @blocker BIT; + SET @blocker = 0; + DECLARE @i INT; + SET @i = 2147483647; + DECLARE @sessions TABLE + ( + session_id SMALLINT NOT NULL, + request_id INT NOT NULL, + login_time DATETIME, + last_request_end_time DATETIME, + status VARCHAR(30), + statement_start_offset INT, + statement_end_offset INT, + sql_handle BINARY(20), + host_name NVARCHAR(128), + login_name NVARCHAR(128), + program_name NVARCHAR(128), + database_id SMALLINT, + memory_usage INT, + open_tran_count SMALLINT, + ' + + CASE + WHEN + ( + @get_task_info <> 0 + OR @find_block_leaders = 1 + ) THEN + 'wait_type NVARCHAR(32), + wait_resource NVARCHAR(256), + wait_time BIGINT, + ' + ELSE + '' + END + + 'blocked SMALLINT, + is_user_process BIT, + cmd VARCHAR(32), + PRIMARY KEY CLUSTERED (session_id, request_id) WITH (IGNORE_DUP_KEY = ON) + ); + DECLARE @blockers TABLE + ( + session_id INT NOT NULL PRIMARY KEY WITH (IGNORE_DUP_KEY = ON) + ); + BLOCKERS:; + INSERT @sessions + ( + session_id, + request_id, + login_time, + last_request_end_time, + status, + statement_start_offset, + statement_end_offset, + sql_handle, + host_name, + login_name, + program_name, + database_id, + memory_usage, + open_tran_count, + ' + + CASE + WHEN + ( + @get_task_info <> 0 + OR @find_block_leaders = 1 + ) THEN + 'wait_type, + wait_resource, + wait_time, + ' + ELSE + '' + END + + 'blocked, + is_user_process, + cmd + ) + SELECT TOP(@i) + spy.session_id, + spy.request_id, + spy.login_time, + spy.last_request_end_time, + spy.status, + spy.statement_start_offset, + spy.statement_end_offset, + spy.sql_handle, + spy.host_name, + spy.login_name, + spy.program_name, + spy.database_id, + spy.memory_usage, + spy.open_tran_count, + ' + + CASE + WHEN + ( + @get_task_info <> 0 + OR @find_block_leaders = 1 + ) THEN + 'spy.wait_type, + CASE + WHEN + spy.wait_type LIKE N''PAGE%LATCH_%'' + OR spy.wait_type = N''CXPACKET'' + OR spy.wait_type LIKE N''LATCH[_]%'' + OR spy.wait_type = N''OLEDB'' THEN + spy.wait_resource + ELSE + NULL + END AS wait_resource, + spy.wait_time, + ' + ELSE + '' + END + + 'spy.blocked, + spy.is_user_process, + spy.cmd + FROM + ( + SELECT TOP(@i) + spx.*, + ' + + CASE + WHEN + ( + @get_task_info <> 0 + OR @find_block_leaders = 1 + ) THEN + 'ROW_NUMBER() OVER + ( + PARTITION BY + spx.session_id, + spx.request_id + ORDER BY + CASE + WHEN spx.wait_type LIKE N''LCK[_]%'' THEN + 1 + ELSE + 99 + END, + spx.wait_time DESC, + spx.blocked DESC + ) AS r + ' + ELSE + '1 AS r + ' + END + + 'FROM + ( + SELECT TOP(@i) + sp0.session_id, + sp0.request_id, + sp0.login_time, + sp0.last_request_end_time, + LOWER(sp0.status) AS status, + CASE + WHEN sp0.cmd = ''CREATE INDEX'' THEN + 0 + ELSE + sp0.stmt_start + END AS statement_start_offset, + CASE + WHEN sp0.cmd = N''CREATE INDEX'' THEN + -1 + ELSE + COALESCE(NULLIF(sp0.stmt_end, 0), -1) + END AS statement_end_offset, + sp0.sql_handle, + sp0.host_name, + sp0.login_name, + sp0.program_name, + sp0.database_id, + sp0.memory_usage, + sp0.open_tran_count, + ' + + CASE + WHEN + ( + @get_task_info <> 0 + OR @find_block_leaders = 1 + ) THEN + 'CASE + WHEN sp0.wait_time > 0 AND sp0.wait_type <> N''CXPACKET'' THEN + sp0.wait_type + ELSE + NULL + END AS wait_type, + CASE + WHEN sp0.wait_time > 0 AND sp0.wait_type <> N''CXPACKET'' THEN + sp0.wait_resource + ELSE + NULL + END AS wait_resource, + CASE + WHEN sp0.wait_type <> N''CXPACKET'' THEN + sp0.wait_time + ELSE + 0 + END AS wait_time, + ' + ELSE + '' + END + + 'sp0.blocked, + sp0.is_user_process, + sp0.cmd + FROM + ( + SELECT TOP(@i) + sp1.session_id, + sp1.request_id, + sp1.login_time, + sp1.last_request_end_time, + sp1.status, + sp1.cmd, + sp1.stmt_start, + sp1.stmt_end, + MAX(NULLIF(sp1.sql_handle, 0x00)) OVER (PARTITION BY sp1.session_id, sp1.request_id) AS sql_handle, + sp1.host_name, + MAX(sp1.login_name) OVER (PARTITION BY sp1.session_id, sp1.request_id) AS login_name, + sp1.program_name, + sp1.database_id, + MAX(sp1.memory_usage) OVER (PARTITION BY sp1.session_id, sp1.request_id) AS memory_usage, + MAX(sp1.open_tran_count) OVER (PARTITION BY sp1.session_id, sp1.request_id) AS open_tran_count, + sp1.wait_type, + sp1.wait_resource, + sp1.wait_time, + sp1.blocked, + sp1.hostprocess, + sp1.is_user_process + FROM + ( + SELECT TOP(@i) + sp2.spid AS session_id, + CASE sp2.status + WHEN ''sleeping'' THEN + CONVERT(INT, 0) + ELSE + sp2.request_id + END AS request_id, + MAX(sp2.login_time) AS login_time, + MAX(sp2.last_batch) AS last_request_end_time, + MAX(CONVERT(VARCHAR(30), RTRIM(sp2.status)) COLLATE Latin1_General_Bin2) AS status, + MAX(CONVERT(VARCHAR(32), RTRIM(sp2.cmd)) COLLATE Latin1_General_Bin2) AS cmd, + MAX(sp2.stmt_start) AS stmt_start, + MAX(sp2.stmt_end) AS stmt_end, + MAX(sp2.sql_handle) AS sql_handle, + MAX(CONVERT(sysname, RTRIM(sp2.hostname)) COLLATE SQL_Latin1_General_CP1_CI_AS) AS host_name, + MAX(CONVERT(sysname, RTRIM(sp2.loginame)) COLLATE SQL_Latin1_General_CP1_CI_AS) AS login_name, + MAX + ( + CASE + WHEN blk.queue_id IS NOT NULL THEN + N''Service Broker + database_id: '' + CONVERT(NVARCHAR, blk.database_id) + + N'' queue_id: '' + CONVERT(NVARCHAR, blk.queue_id) + ELSE + CONVERT + ( + sysname, + RTRIM(sp2.program_name) + ) + END COLLATE SQL_Latin1_General_CP1_CI_AS + ) AS program_name, + MAX(sp2.dbid) AS database_id, + MAX(sp2.memusage) AS memory_usage, + MAX(sp2.open_tran) AS open_tran_count, + RTRIM(sp2.lastwaittype) AS wait_type, + RTRIM(sp2.waitresource) AS wait_resource, + MAX(sp2.waittime) AS wait_time, + COALESCE(NULLIF(sp2.blocked, sp2.spid), 0) AS blocked, + MAX + ( + CASE + WHEN blk.session_id = sp2.spid THEN + ''blocker'' + ELSE + RTRIM(sp2.hostprocess) + END + ) AS hostprocess, + CONVERT + ( + BIT, + MAX + ( + CASE + WHEN sp2.hostprocess > '''' THEN + 1 + ELSE + 0 + END + ) + ) AS is_user_process + FROM + ( + SELECT TOP(@i) + session_id, + CONVERT(INT, NULL) AS queue_id, + CONVERT(INT, NULL) AS database_id + FROM @blockers + UNION ALL + SELECT TOP(@i) + CONVERT(SMALLINT, 0), + CONVERT(INT, NULL) AS queue_id, + CONVERT(INT, NULL) AS database_id + WHERE + @blocker = 0 + UNION ALL + SELECT TOP(@i) + CONVERT(SMALLINT, spid), + queue_id, + database_id + FROM sys.dm_broker_activated_tasks + WHERE + @blocker = 0 + ) AS blk + INNER JOIN sys.sysprocesses AS sp2 ON + sp2.spid = blk.session_id + OR + ( + blk.session_id = 0 + AND @blocker = 0 + ) + ' + + CASE + WHEN + ( + @get_task_info = 0 + AND @find_block_leaders = 0 + ) THEN + 'WHERE + sp2.ecid = 0 + ' + ELSE + '' + END + + 'GROUP BY + sp2.spid, + CASE sp2.status + WHEN ''sleeping'' THEN + CONVERT(INT, 0) + ELSE + sp2.request_id + END, + RTRIM(sp2.lastwaittype), + RTRIM(sp2.waitresource), + COALESCE(NULLIF(sp2.blocked, sp2.spid), 0) + ) AS sp1 + ) AS sp0 + WHERE + @blocker = 1 + OR + (1=1 + ' + + --inclusive filter + CASE + WHEN @filter <> '' THEN + CASE @filter_type + WHEN 'session' THEN + CASE + WHEN CONVERT(SMALLINT, @filter) <> 0 THEN + 'AND sp0.session_id = CONVERT(SMALLINT, @filter) + ' + ELSE + '' + END + WHEN 'program' THEN + 'AND sp0.program_name LIKE @filter + ' + WHEN 'login' THEN + 'AND sp0.login_name LIKE @filter + ' + WHEN 'host' THEN + 'AND sp0.host_name LIKE @filter + ' + WHEN 'database' THEN + 'AND DB_NAME(sp0.database_id) LIKE @filter + ' + ELSE + '' + END + ELSE + '' + END + + --exclusive filter + CASE + WHEN @not_filter <> '' THEN + CASE @not_filter_type + WHEN 'session' THEN + CASE + WHEN CONVERT(SMALLINT, @not_filter) <> 0 THEN + 'AND sp0.session_id <> CONVERT(SMALLINT, @not_filter) + ' + ELSE + '' + END + WHEN 'program' THEN + 'AND sp0.program_name NOT LIKE @not_filter + ' + WHEN 'login' THEN + 'AND sp0.login_name NOT LIKE @not_filter + ' + WHEN 'host' THEN + 'AND sp0.host_name NOT LIKE @not_filter + ' + WHEN 'database' THEN + 'AND DB_NAME(sp0.database_id) NOT LIKE @not_filter + ' + ELSE + '' + END + ELSE + '' + END + + CASE @show_own_spid + WHEN 1 THEN + '' + ELSE + 'AND sp0.session_id <> @@spid + ' + END + + CASE + WHEN @show_system_spids = 0 THEN + 'AND sp0.hostprocess > '''' + ' + ELSE + '' + END + + CASE @show_sleeping_spids + WHEN 0 THEN + 'AND sp0.status <> ''sleeping'' + ' + WHEN 1 THEN + 'AND + ( + sp0.status <> ''sleeping'' + OR sp0.open_tran_count > 0 + ) + ' + ELSE + '' + END + + ') + ) AS spx + ) AS spy + WHERE + spy.r = 1; + ' + + CASE @recursion + WHEN 1 THEN + 'IF @@ROWCOUNT > 0 + BEGIN; + INSERT @blockers + ( + session_id + ) + SELECT TOP(@i) + blocked + FROM @sessions + WHERE + NULLIF(blocked, 0) IS NOT NULL + EXCEPT + SELECT TOP(@i) + session_id + FROM @sessions; + ' + + CASE + WHEN + ( + @get_task_info > 0 + OR @find_block_leaders = 1 + ) THEN + 'IF @@ROWCOUNT > 0 + BEGIN; + SET @blocker = 1; + GOTO BLOCKERS; + END; + ' + ELSE + '' + END + + 'END; + ' + ELSE + '' + END + + 'SELECT TOP(@i) + @recursion AS recursion, + x.session_id, + x.request_id, + DENSE_RANK() OVER + ( + ORDER BY + x.session_id + ) AS session_number, + ' + + CASE + WHEN @output_column_list LIKE '%|[dd hh:mm:ss.mss|]%' ESCAPE '|' THEN + 'x.elapsed_time ' + ELSE + '0 ' + END + + 'AS elapsed_time, + ' + + CASE + WHEN + ( + @output_column_list LIKE '%|[dd hh:mm:ss.mss (avg)|]%' ESCAPE '|' OR + @output_column_list LIKE '%|[avg_elapsed_time|]%' ESCAPE '|' + ) + AND @recursion = 1 + THEN + 'x.avg_elapsed_time / 1000 ' + ELSE + 'NULL ' + END + + 'AS avg_elapsed_time, + ' + + CASE + WHEN + @output_column_list LIKE '%|[physical_io|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[physical_io_delta|]%' ESCAPE '|' + THEN + 'x.physical_io ' + ELSE + 'NULL ' + END + + 'AS physical_io, + ' + + CASE + WHEN + @output_column_list LIKE '%|[reads|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[reads_delta|]%' ESCAPE '|' + THEN + 'x.reads ' + ELSE + '0 ' + END + + 'AS reads, + ' + + CASE + WHEN + @output_column_list LIKE '%|[physical_reads|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[physical_reads_delta|]%' ESCAPE '|' + THEN + 'x.physical_reads ' + ELSE + '0 ' + END + + 'AS physical_reads, + ' + + CASE + WHEN + @output_column_list LIKE '%|[writes|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[writes_delta|]%' ESCAPE '|' + THEN + 'x.writes ' + ELSE + '0 ' + END + + 'AS writes, + ' + + CASE + WHEN + @output_column_list LIKE '%|[tempdb_allocations|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[tempdb_allocations_delta|]%' ESCAPE '|' + THEN + 'x.tempdb_allocations ' + ELSE + '0 ' + END + + 'AS tempdb_allocations, + ' + + CASE + WHEN + @output_column_list LIKE '%|[tempdb_current|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[tempdb_current_delta|]%' ESCAPE '|' + THEN + 'x.tempdb_current ' + ELSE + '0 ' + END + + 'AS tempdb_current, + ' + + CASE + WHEN + @output_column_list LIKE '%|[CPU|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[CPU_delta|]%' ESCAPE '|' + THEN + 'x.CPU ' + ELSE + '0 ' + END + + 'AS CPU, + ' + + CASE + WHEN + @output_column_list LIKE '%|[CPU_delta|]%' ESCAPE '|' + AND @get_task_info = 2 + AND @sys_info = 1 + THEN + 'x.thread_CPU_snapshot ' + ELSE + '0 ' + END + + 'AS thread_CPU_snapshot, + ' + + CASE + WHEN + @output_column_list LIKE '%|[context_switches|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[context_switches_delta|]%' ESCAPE '|' + THEN + 'x.context_switches ' + ELSE + 'NULL ' + END + + 'AS context_switches, + ' + + CASE + WHEN + @output_column_list LIKE '%|[used_memory|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[used_memory_delta|]%' ESCAPE '|' + THEN + 'x.used_memory ' + ELSE + '0 ' + END + + 'AS used_memory, + ' + + CASE + WHEN + @output_column_list LIKE '%|[tasks|]%' ESCAPE '|' + AND @recursion = 1 + THEN + 'x.tasks ' + ELSE + 'NULL ' + END + + 'AS tasks, + ' + + CASE + WHEN + ( + @output_column_list LIKE '%|[status|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[sql_command|]%' ESCAPE '|' + ) + AND @recursion = 1 + THEN + 'x.status ' + ELSE + ''''' ' + END + + 'AS status, + ' + + CASE + WHEN + @output_column_list LIKE '%|[wait_info|]%' ESCAPE '|' + AND @recursion = 1 + THEN + CASE @get_task_info + WHEN 2 THEN + 'COALESCE(x.task_wait_info, x.sys_wait_info) ' + ELSE + 'x.sys_wait_info ' + END + ELSE + 'NULL ' + END + + 'AS wait_info, + ' + + CASE + WHEN + ( + @output_column_list LIKE '%|[tran_start_time|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[tran_log_writes|]%' ESCAPE '|' + ) + AND @recursion = 1 + THEN + 'x.transaction_id ' + ELSE + 'NULL ' + END + + 'AS transaction_id, + ' + + CASE + WHEN + @output_column_list LIKE '%|[open_tran_count|]%' ESCAPE '|' + AND @recursion = 1 + THEN + 'x.open_tran_count ' + ELSE + 'NULL ' + END + + 'AS open_tran_count, + ' + + CASE + WHEN + @output_column_list LIKE '%|[sql_text|]%' ESCAPE '|' + AND @recursion = 1 + THEN + 'x.sql_handle ' + ELSE + 'NULL ' + END + + 'AS sql_handle, + ' + + CASE + WHEN + ( + @output_column_list LIKE '%|[sql_text|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[query_plan|]%' ESCAPE '|' + ) + AND @recursion = 1 + THEN + 'x.statement_start_offset ' + ELSE + 'NULL ' + END + + 'AS statement_start_offset, + ' + + CASE + WHEN + ( + @output_column_list LIKE '%|[sql_text|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[query_plan|]%' ESCAPE '|' + ) + AND @recursion = 1 + THEN + 'x.statement_end_offset ' + ELSE + 'NULL ' + END + + 'AS statement_end_offset, + ' + + 'NULL AS sql_text, + ' + + CASE + WHEN + @output_column_list LIKE '%|[query_plan|]%' ESCAPE '|' + AND @recursion = 1 + THEN + 'x.plan_handle ' + ELSE + 'NULL ' + END + + 'AS plan_handle, + ' + + CASE + WHEN + @output_column_list LIKE '%|[blocking_session_id|]%' ESCAPE '|' + AND @recursion = 1 + THEN + 'NULLIF(x.blocking_session_id, 0) ' + ELSE + 'NULL ' + END + + 'AS blocking_session_id, + ' + + CASE + WHEN + @output_column_list LIKE '%|[percent_complete|]%' ESCAPE '|' + AND @recursion = 1 + THEN + 'x.percent_complete ' + ELSE + 'NULL ' + END + + 'AS percent_complete, + ' + + CASE + WHEN + @output_column_list LIKE '%|[host_name|]%' ESCAPE '|' + AND @recursion = 1 + THEN + 'x.host_name ' + ELSE + ''''' ' + END + + 'AS host_name, + ' + + CASE + WHEN + @output_column_list LIKE '%|[login_name|]%' ESCAPE '|' + AND @recursion = 1 + THEN + 'x.login_name ' + ELSE + ''''' ' + END + + 'AS login_name, + ' + + CASE + WHEN + @output_column_list LIKE '%|[database_name|]%' ESCAPE '|' + AND @recursion = 1 + THEN + 'DB_NAME(x.database_id) ' + ELSE + 'NULL ' + END + + 'AS database_name, + ' + + CASE + WHEN + @output_column_list LIKE '%|[program_name|]%' ESCAPE '|' + AND @recursion = 1 + THEN + 'x.program_name ' + ELSE + ''''' ' + END + + 'AS program_name, + ' + + CASE + WHEN + @output_column_list LIKE '%|[additional_info|]%' ESCAPE '|' + AND @recursion = 1 + THEN + '( + SELECT TOP(@i) + x.text_size, + x.language, + x.date_format, + x.date_first, + CASE x.quoted_identifier + WHEN 0 THEN ''OFF'' + WHEN 1 THEN ''ON'' + END AS quoted_identifier, + CASE x.arithabort + WHEN 0 THEN ''OFF'' + WHEN 1 THEN ''ON'' + END AS arithabort, + CASE x.ansi_null_dflt_on + WHEN 0 THEN ''OFF'' + WHEN 1 THEN ''ON'' + END AS ansi_null_dflt_on, + CASE x.ansi_defaults + WHEN 0 THEN ''OFF'' + WHEN 1 THEN ''ON'' + END AS ansi_defaults, + CASE x.ansi_warnings + WHEN 0 THEN ''OFF'' + WHEN 1 THEN ''ON'' + END AS ansi_warnings, + CASE x.ansi_padding + WHEN 0 THEN ''OFF'' + WHEN 1 THEN ''ON'' + END AS ansi_padding, + CASE ansi_nulls + WHEN 0 THEN ''OFF'' + WHEN 1 THEN ''ON'' + END AS ansi_nulls, + CASE x.concat_null_yields_null + WHEN 0 THEN ''OFF'' + WHEN 1 THEN ''ON'' + END AS concat_null_yields_null, + CASE x.transaction_isolation_level + WHEN 0 THEN ''Unspecified'' + WHEN 1 THEN ''ReadUncomitted'' + WHEN 2 THEN ''ReadCommitted'' + WHEN 3 THEN ''Repeatable'' + WHEN 4 THEN ''Serializable'' + WHEN 5 THEN ''Snapshot'' + END AS transaction_isolation_level, + x.lock_timeout, + x.deadlock_priority, + x.row_count, + x.command_type, + ' + + CASE + WHEN OBJECT_ID('master.dbo.fn_varbintohexstr') IS NOT NULL THEN + 'master.dbo.fn_varbintohexstr(x.sql_handle) AS sql_handle, + master.dbo.fn_varbintohexstr(x.plan_handle) AS plan_handle,' + ELSE + 'CONVERT(VARCHAR(256), x.sql_handle, 1) AS sql_handle, + CONVERT(VARCHAR(256), x.plan_handle, 1) AS plan_handle,' + END + + ' + x.statement_start_offset, + x.statement_end_offset, + ' + + CASE + WHEN @output_column_list LIKE '%|[program_name|]%' ESCAPE '|' THEN + '( + SELECT TOP(1) + CONVERT(uniqueidentifier, CONVERT(XML, '''').value(''xs:hexBinary( substring(sql:column("agent_info.job_id_string"), 0) )'', ''binary(16)'')) AS job_id, + agent_info.step_id, + ( + SELECT TOP(1) + NULL + FOR XML + PATH(''job_name''), + TYPE + ), + ( + SELECT TOP(1) + NULL + FOR XML + PATH(''step_name''), + TYPE + ) + FROM + ( + SELECT TOP(1) + SUBSTRING(x.program_name, CHARINDEX(''0x'', x.program_name) + 2, 32) AS job_id_string, + SUBSTRING(x.program_name, CHARINDEX('': Step '', x.program_name) + 7, CHARINDEX('')'', x.program_name, CHARINDEX('': Step '', x.program_name)) - (CHARINDEX('': Step '', x.program_name) + 7)) AS step_id + WHERE + x.program_name LIKE N''SQLAgent - TSQL JobStep (Job 0x%'' + ) AS agent_info + FOR XML + PATH(''agent_job_info''), + TYPE + ), + ' + ELSE '' + END + + CASE + WHEN @get_task_info = 2 THEN + 'CONVERT(XML, x.block_info) AS block_info, + ' + ELSE + '' + END + ' + x.host_process_id, + x.group_id + FOR XML + PATH(''additional_info''), + TYPE + ) ' + ELSE + 'NULL ' + END + + 'AS additional_info, + x.start_time, + ' + + CASE + WHEN + @output_column_list LIKE '%|[login_time|]%' ESCAPE '|' + AND @recursion = 1 + THEN + 'x.login_time ' + ELSE + 'NULL ' + END + + 'AS login_time, + x.last_request_start_time + FROM + ( + SELECT TOP(@i) + y.*, + CASE + WHEN DATEDIFF(hour, y.start_time, GETDATE()) > 576 THEN + DATEDIFF(second, GETDATE(), y.start_time) + ELSE DATEDIFF(ms, y.start_time, GETDATE()) + END AS elapsed_time, + COALESCE(tempdb_info.tempdb_allocations, 0) AS tempdb_allocations, + COALESCE + ( + CASE + WHEN tempdb_info.tempdb_current < 0 THEN 0 + ELSE tempdb_info.tempdb_current + END, + 0 + ) AS tempdb_current, + ' + + CASE + WHEN + ( + @get_task_info <> 0 + OR @find_block_leaders = 1 + ) THEN + 'N''('' + CONVERT(NVARCHAR, y.wait_duration_ms) + N''ms)'' + + y.wait_type + + CASE + WHEN y.wait_type LIKE N''PAGE%LATCH_%'' THEN + N'':'' + + COALESCE(DB_NAME(CONVERT(INT, LEFT(y.resource_description, CHARINDEX(N'':'', y.resource_description) - 1))), N''(null)'') + + N'':'' + + SUBSTRING(y.resource_description, CHARINDEX(N'':'', y.resource_description) + 1, LEN(y.resource_description) - CHARINDEX(N'':'', REVERSE(y.resource_description)) - CHARINDEX(N'':'', y.resource_description)) + + N''('' + + CASE + WHEN + CONVERT(INT, RIGHT(y.resource_description, CHARINDEX(N'':'', REVERSE(y.resource_description)) - 1)) = 1 OR + CONVERT(INT, RIGHT(y.resource_description, CHARINDEX(N'':'', REVERSE(y.resource_description)) - 1)) % 8088 = 0 + THEN + N''PFS'' + WHEN + CONVERT(INT, RIGHT(y.resource_description, CHARINDEX(N'':'', REVERSE(y.resource_description)) - 1)) = 2 OR + CONVERT(INT, RIGHT(y.resource_description, CHARINDEX(N'':'', REVERSE(y.resource_description)) - 1)) % 511232 = 0 + THEN + N''GAM'' + WHEN + CONVERT(INT, RIGHT(y.resource_description, CHARINDEX(N'':'', REVERSE(y.resource_description)) - 1)) = 3 OR + (CONVERT(INT, RIGHT(y.resource_description, CHARINDEX(N'':'', REVERSE(y.resource_description)) - 1)) - 1) % 511232 = 0 + THEN + N''SGAM'' + WHEN + CONVERT(INT, RIGHT(y.resource_description, CHARINDEX(N'':'', REVERSE(y.resource_description)) - 1)) = 6 OR + (CONVERT(INT, RIGHT(y.resource_description, CHARINDEX(N'':'', REVERSE(y.resource_description)) - 1)) - 6) % 511232 = 0 + THEN + N''DCM'' + WHEN + CONVERT(INT, RIGHT(y.resource_description, CHARINDEX(N'':'', REVERSE(y.resource_description)) - 1)) = 7 OR + (CONVERT(INT, RIGHT(y.resource_description, CHARINDEX(N'':'', REVERSE(y.resource_description)) - 1)) - 7) % 511232 = 0 + THEN + N''BCM'' + ELSE + N''*'' + END + + N'')'' + WHEN y.wait_type = N''CXPACKET'' THEN + N'':'' + SUBSTRING(y.resource_description, CHARINDEX(N''nodeId'', y.resource_description) + 7, 4) + WHEN y.wait_type LIKE N''LATCH[_]%'' THEN + N'' ['' + LEFT(y.resource_description, COALESCE(NULLIF(CHARINDEX(N'' '', y.resource_description), 0), LEN(y.resource_description) + 1) - 1) + N'']'' + WHEN + y.wait_type = N''OLEDB'' + AND y.resource_description LIKE N''%(SPID=%)'' THEN + N''['' + LEFT(y.resource_description, CHARINDEX(N''(SPID='', y.resource_description) - 2) + + N'':'' + SUBSTRING(y.resource_description, CHARINDEX(N''(SPID='', y.resource_description) + 6, CHARINDEX(N'')'', y.resource_description, (CHARINDEX(N''(SPID='', y.resource_description) + 6)) - (CHARINDEX(N''(SPID='', y.resource_description) + 6)) + '']'' + ELSE + N'''' + END COLLATE Latin1_General_Bin2 AS sys_wait_info, + ' + ELSE + '' + END + + CASE + WHEN @get_task_info = 2 THEN + 'tasks.physical_io, + tasks.context_switches, + tasks.tasks, + tasks.block_info, + tasks.wait_info AS task_wait_info, + tasks.thread_CPU_snapshot, + ' + ELSE + '' + END + + CASE + WHEN NOT (@get_avg_time = 1 AND @recursion = 1) THEN + 'CONVERT(INT, NULL) ' + ELSE + 'qs.total_elapsed_time / qs.execution_count ' + END + + 'AS avg_elapsed_time + FROM + ( + SELECT TOP(@i) + sp.session_id, + sp.request_id, + COALESCE(r.logical_reads, s.logical_reads) AS reads, + COALESCE(r.reads, s.reads) AS physical_reads, + COALESCE(r.writes, s.writes) AS writes, + COALESCE(r.CPU_time, s.CPU_time) AS CPU, + sp.memory_usage + COALESCE(r.granted_query_memory, 0) AS used_memory, + LOWER(sp.status) AS status, + COALESCE(r.sql_handle, sp.sql_handle) AS sql_handle, + COALESCE(r.statement_start_offset, sp.statement_start_offset) AS statement_start_offset, + COALESCE(r.statement_end_offset, sp.statement_end_offset) AS statement_end_offset, + ' + + CASE + WHEN + ( + @get_task_info <> 0 + OR @find_block_leaders = 1 + ) THEN + 'sp.wait_type COLLATE Latin1_General_Bin2 AS wait_type, + sp.wait_resource COLLATE Latin1_General_Bin2 AS resource_description, + sp.wait_time AS wait_duration_ms, + ' + ELSE + '' + END + + 'NULLIF(sp.blocked, 0) AS blocking_session_id, + r.plan_handle, + NULLIF(r.percent_complete, 0) AS percent_complete, + sp.host_name, + sp.login_name, + sp.program_name, + s.host_process_id, + COALESCE(r.text_size, s.text_size) AS text_size, + COALESCE(r.language, s.language) AS language, + COALESCE(r.date_format, s.date_format) AS date_format, + COALESCE(r.date_first, s.date_first) AS date_first, + COALESCE(r.quoted_identifier, s.quoted_identifier) AS quoted_identifier, + COALESCE(r.arithabort, s.arithabort) AS arithabort, + COALESCE(r.ansi_null_dflt_on, s.ansi_null_dflt_on) AS ansi_null_dflt_on, + COALESCE(r.ansi_defaults, s.ansi_defaults) AS ansi_defaults, + COALESCE(r.ansi_warnings, s.ansi_warnings) AS ansi_warnings, + COALESCE(r.ansi_padding, s.ansi_padding) AS ansi_padding, + COALESCE(r.ansi_nulls, s.ansi_nulls) AS ansi_nulls, + COALESCE(r.concat_null_yields_null, s.concat_null_yields_null) AS concat_null_yields_null, + COALESCE(r.transaction_isolation_level, s.transaction_isolation_level) AS transaction_isolation_level, + COALESCE(r.lock_timeout, s.lock_timeout) AS lock_timeout, + COALESCE(r.deadlock_priority, s.deadlock_priority) AS deadlock_priority, + COALESCE(r.row_count, s.row_count) AS row_count, + COALESCE(r.command, sp.cmd) AS command_type, + COALESCE + ( + CASE + WHEN + ( + s.is_user_process = 0 + AND r.total_elapsed_time >= 0 + ) THEN + DATEADD + ( + ms, + 1000 * (DATEPART(ms, DATEADD(second, -(r.total_elapsed_time / 1000), GETDATE())) / 500) - DATEPART(ms, DATEADD(second, -(r.total_elapsed_time / 1000), GETDATE())), + DATEADD(second, -(r.total_elapsed_time / 1000), GETDATE()) + ) + END, + NULLIF(COALESCE(r.start_time, sp.last_request_end_time), CONVERT(DATETIME, ''19000101'', 112)), + sp.login_time + ) AS start_time, + sp.login_time, + CASE + WHEN s.is_user_process = 1 THEN + s.last_request_start_time + ELSE + COALESCE + ( + DATEADD + ( + ms, + 1000 * (DATEPART(ms, DATEADD(second, -(r.total_elapsed_time / 1000), GETDATE())) / 500) - DATEPART(ms, DATEADD(second, -(r.total_elapsed_time / 1000), GETDATE())), + DATEADD(second, -(r.total_elapsed_time / 1000), GETDATE()) + ), + s.last_request_start_time + ) + END AS last_request_start_time, + r.transaction_id, + sp.database_id, + sp.open_tran_count, + ' + + CASE + WHEN EXISTS + ( + SELECT + * + FROM sys.all_columns AS ac + WHERE + ac.object_id = OBJECT_ID('sys.dm_exec_sessions') + AND ac.name = 'group_id' + ) + THEN 's.group_id' + ELSE 'CONVERT(INT, NULL) AS group_id' + END + ' + FROM @sessions AS sp + LEFT OUTER LOOP JOIN sys.dm_exec_sessions AS s ON + s.session_id = sp.session_id + AND s.login_time = sp.login_time + LEFT OUTER LOOP JOIN sys.dm_exec_requests AS r ON + sp.status <> ''sleeping'' + AND r.session_id = sp.session_id + AND r.request_id = sp.request_id + AND + ( + ( + s.is_user_process = 0 + AND sp.is_user_process = 0 + ) + OR + ( + r.start_time = s.last_request_start_time + AND s.last_request_end_time <= sp.last_request_end_time + ) + ) + ) AS y + ' + + CASE + WHEN @get_task_info = 2 THEN + CONVERT(VARCHAR(MAX), '') + + 'LEFT OUTER HASH JOIN + ( + SELECT TOP(@i) + task_nodes.task_node.value(''(session_id/text())[1]'', ''SMALLINT'') AS session_id, + task_nodes.task_node.value(''(request_id/text())[1]'', ''INT'') AS request_id, + task_nodes.task_node.value(''(physical_io/text())[1]'', ''BIGINT'') AS physical_io, + task_nodes.task_node.value(''(context_switches/text())[1]'', ''BIGINT'') AS context_switches, + task_nodes.task_node.value(''(tasks/text())[1]'', ''INT'') AS tasks, + task_nodes.task_node.value(''(block_info/text())[1]'', ''NVARCHAR(4000)'') AS block_info, + task_nodes.task_node.value(''(waits/text())[1]'', ''NVARCHAR(4000)'') AS wait_info, + task_nodes.task_node.value(''(thread_CPU_snapshot/text())[1]'', ''BIGINT'') AS thread_CPU_snapshot + FROM + ( + SELECT TOP(@i) + CONVERT + ( + XML, + REPLACE + ( + CONVERT(NVARCHAR(MAX), tasks_raw.task_xml_raw) COLLATE Latin1_General_Bin2, + N'''', + N'', '' + ) + ) AS task_xml + FROM + ( + SELECT TOP(@i) + CASE waits.r + WHEN 1 THEN + waits.session_id + ELSE + NULL + END AS [session_id], + CASE waits.r + WHEN 1 THEN + waits.request_id + ELSE + NULL + END AS [request_id], + CASE waits.r + WHEN 1 THEN + waits.physical_io + ELSE + NULL + END AS [physical_io], + CASE waits.r + WHEN 1 THEN + waits.context_switches + ELSE + NULL + END AS [context_switches], + CASE waits.r + WHEN 1 THEN + waits.thread_CPU_snapshot + ELSE + NULL + END AS [thread_CPU_snapshot], + CASE waits.r + WHEN 1 THEN + waits.tasks + ELSE + NULL + END AS [tasks], + CASE waits.r + WHEN 1 THEN + waits.block_info + ELSE + NULL + END AS [block_info], + REPLACE + ( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + CONVERT + ( + NVARCHAR(MAX), + N''('' + + CONVERT(NVARCHAR, num_waits) + N''x: '' + + CASE num_waits + WHEN 1 THEN + CONVERT(NVARCHAR, min_wait_time) + N''ms'' + WHEN 2 THEN + CASE + WHEN min_wait_time <> max_wait_time THEN + CONVERT(NVARCHAR, min_wait_time) + N''/'' + CONVERT(NVARCHAR, max_wait_time) + N''ms'' + ELSE + CONVERT(NVARCHAR, max_wait_time) + N''ms'' + END + ELSE + CASE + WHEN min_wait_time <> max_wait_time THEN + CONVERT(NVARCHAR, min_wait_time) + N''/'' + CONVERT(NVARCHAR, avg_wait_time) + N''/'' + CONVERT(NVARCHAR, max_wait_time) + N''ms'' + ELSE + CONVERT(NVARCHAR, max_wait_time) + N''ms'' + END + END + + N'')'' + wait_type COLLATE Latin1_General_Bin2 + ), + NCHAR(31),N''?''),NCHAR(30),N''?''),NCHAR(29),N''?''),NCHAR(28),N''?''),NCHAR(27),N''?''),NCHAR(26),N''?''),NCHAR(25),N''?''),NCHAR(24),N''?''),NCHAR(23),N''?''),NCHAR(22),N''?''), + NCHAR(21),N''?''),NCHAR(20),N''?''),NCHAR(19),N''?''),NCHAR(18),N''?''),NCHAR(17),N''?''),NCHAR(16),N''?''),NCHAR(15),N''?''),NCHAR(14),N''?''),NCHAR(12),N''?''), + NCHAR(11),N''?''),NCHAR(8),N''?''),NCHAR(7),N''?''),NCHAR(6),N''?''),NCHAR(5),N''?''),NCHAR(4),N''?''),NCHAR(3),N''?''),NCHAR(2),N''?''),NCHAR(1),N''?''), + NCHAR(0), + N'''' + ) AS [waits] + FROM + ( + SELECT TOP(@i) + w1.*, + ROW_NUMBER() OVER + ( + PARTITION BY + w1.session_id, + w1.request_id + ORDER BY + w1.block_info DESC, + w1.num_waits DESC, + w1.wait_type + ) AS r + FROM + ( + SELECT TOP(@i) + task_info.session_id, + task_info.request_id, + task_info.physical_io, + task_info.context_switches, + task_info.thread_CPU_snapshot, + task_info.num_tasks AS tasks, + CASE + WHEN task_info.runnable_time IS NOT NULL THEN + ''RUNNABLE'' + ELSE + wt2.wait_type + END AS wait_type, + NULLIF(COUNT(COALESCE(task_info.runnable_time, wt2.waiting_task_address)), 0) AS num_waits, + MIN(COALESCE(task_info.runnable_time, wt2.wait_duration_ms)) AS min_wait_time, + AVG(COALESCE(task_info.runnable_time, wt2.wait_duration_ms)) AS avg_wait_time, + MAX(COALESCE(task_info.runnable_time, wt2.wait_duration_ms)) AS max_wait_time, + MAX(wt2.block_info) AS block_info + FROM + ( + SELECT TOP(@i) + t.session_id, + t.request_id, + SUM(CONVERT(BIGINT, t.pending_io_count)) OVER (PARTITION BY t.session_id, t.request_id) AS physical_io, + SUM(CONVERT(BIGINT, t.context_switches_count)) OVER (PARTITION BY t.session_id, t.request_id) AS context_switches, + ' + + CASE + WHEN + @output_column_list LIKE '%|[CPU_delta|]%' ESCAPE '|' + AND @sys_info = 1 + THEN + 'SUM(tr.usermode_time + tr.kernel_time) OVER (PARTITION BY t.session_id, t.request_id) ' + ELSE + 'CONVERT(BIGINT, NULL) ' + END + + ' AS thread_CPU_snapshot, + COUNT(*) OVER (PARTITION BY t.session_id, t.request_id) AS num_tasks, + t.task_address, + t.task_state, + CASE + WHEN + t.task_state = ''RUNNABLE'' + AND w.runnable_time > 0 THEN + w.runnable_time + ELSE + NULL + END AS runnable_time + FROM sys.dm_os_tasks AS t + CROSS APPLY + ( + SELECT TOP(1) + sp2.session_id + FROM @sessions AS sp2 + WHERE + sp2.session_id = t.session_id + AND sp2.request_id = t.request_id + AND sp2.status <> ''sleeping'' + ) AS sp20 + LEFT OUTER HASH JOIN + ( + ' + + CASE + WHEN @sys_info = 1 THEN + 'SELECT TOP(@i) + ( + SELECT TOP(@i) + ms_ticks + FROM sys.dm_os_sys_info + ) - + w0.wait_resumed_ms_ticks AS runnable_time, + w0.worker_address, + w0.thread_address, + w0.task_bound_ms_ticks + FROM sys.dm_os_workers AS w0 + WHERE + w0.state = ''RUNNABLE'' + OR @first_collection_ms_ticks >= w0.task_bound_ms_ticks' + ELSE + 'SELECT + CONVERT(BIGINT, NULL) AS runnable_time, + CONVERT(VARBINARY(8), NULL) AS worker_address, + CONVERT(VARBINARY(8), NULL) AS thread_address, + CONVERT(BIGINT, NULL) AS task_bound_ms_ticks + WHERE + 1 = 0' + END + + ' + ) AS w ON + w.worker_address = t.worker_address + ' + + CASE + WHEN + @output_column_list LIKE '%|[CPU_delta|]%' ESCAPE '|' + AND @sys_info = 1 + THEN + 'LEFT OUTER HASH JOIN sys.dm_os_threads AS tr ON + tr.thread_address = w.thread_address + AND @first_collection_ms_ticks >= w.task_bound_ms_ticks + ' + ELSE + '' + END + + ') AS task_info + LEFT OUTER HASH JOIN + ( + SELECT TOP(@i) + wt1.wait_type, + wt1.waiting_task_address, + MAX(wt1.wait_duration_ms) AS wait_duration_ms, + MAX(wt1.block_info) AS block_info + FROM + ( + SELECT DISTINCT TOP(@i) + wt.wait_type + + CASE + WHEN wt.wait_type LIKE N''PAGE%LATCH_%'' THEN + '':'' + + COALESCE(DB_NAME(CONVERT(INT, LEFT(wt.resource_description, CHARINDEX(N'':'', wt.resource_description) - 1))), N''(null)'') + + N'':'' + + SUBSTRING(wt.resource_description, CHARINDEX(N'':'', wt.resource_description) + 1, LEN(wt.resource_description) - CHARINDEX(N'':'', REVERSE(wt.resource_description)) - CHARINDEX(N'':'', wt.resource_description)) + + N''('' + + CASE + WHEN + CONVERT(INT, RIGHT(wt.resource_description, CHARINDEX(N'':'', REVERSE(wt.resource_description)) - 1)) = 1 OR + CONVERT(INT, RIGHT(wt.resource_description, CHARINDEX(N'':'', REVERSE(wt.resource_description)) - 1)) % 8088 = 0 + THEN + N''PFS'' + WHEN + CONVERT(INT, RIGHT(wt.resource_description, CHARINDEX(N'':'', REVERSE(wt.resource_description)) - 1)) = 2 OR + CONVERT(INT, RIGHT(wt.resource_description, CHARINDEX(N'':'', REVERSE(wt.resource_description)) - 1)) % 511232 = 0 + THEN + N''GAM'' + WHEN + CONVERT(INT, RIGHT(wt.resource_description, CHARINDEX(N'':'', REVERSE(wt.resource_description)) - 1)) = 3 OR + (CONVERT(INT, RIGHT(wt.resource_description, CHARINDEX(N'':'', REVERSE(wt.resource_description)) - 1)) - 1) % 511232 = 0 + THEN + N''SGAM'' + WHEN + CONVERT(INT, RIGHT(wt.resource_description, CHARINDEX(N'':'', REVERSE(wt.resource_description)) - 1)) = 6 OR + (CONVERT(INT, RIGHT(wt.resource_description, CHARINDEX(N'':'', REVERSE(wt.resource_description)) - 1)) - 6) % 511232 = 0 + THEN + N''DCM'' + WHEN + CONVERT(INT, RIGHT(wt.resource_description, CHARINDEX(N'':'', REVERSE(wt.resource_description)) - 1)) = 7 OR + (CONVERT(INT, RIGHT(wt.resource_description, CHARINDEX(N'':'', REVERSE(wt.resource_description)) - 1)) - 7) % 511232 = 0 + THEN + N''BCM'' + ELSE + N''*'' + END + + N'')'' + WHEN wt.wait_type = N''CXPACKET'' THEN + N'':'' + SUBSTRING(wt.resource_description, CHARINDEX(N''nodeId'', wt.resource_description) + 7, 4) + WHEN wt.wait_type LIKE N''LATCH[_]%'' THEN + N'' ['' + LEFT(wt.resource_description, COALESCE(NULLIF(CHARINDEX(N'' '', wt.resource_description), 0), LEN(wt.resource_description) + 1) - 1) + N'']'' + ELSE + N'''' + END COLLATE Latin1_General_Bin2 AS wait_type, + CASE + WHEN + ( + wt.blocking_session_id IS NOT NULL + AND wt.wait_type LIKE N''LCK[_]%'' + ) THEN + ( + SELECT TOP(@i) + x.lock_type, + REPLACE + ( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + DB_NAME + ( + CONVERT + ( + INT, + SUBSTRING(wt.resource_description, NULLIF(CHARINDEX(N''dbid='', wt.resource_description), 0) + 5, COALESCE(NULLIF(CHARINDEX(N'' '', wt.resource_description, CHARINDEX(N''dbid='', wt.resource_description) + 5), 0), LEN(wt.resource_description) + 1) - CHARINDEX(N''dbid='', wt.resource_description) - 5) + ) + ), + NCHAR(31),N''?''),NCHAR(30),N''?''),NCHAR(29),N''?''),NCHAR(28),N''?''),NCHAR(27),N''?''),NCHAR(26),N''?''),NCHAR(25),N''?''),NCHAR(24),N''?''),NCHAR(23),N''?''),NCHAR(22),N''?''), + NCHAR(21),N''?''),NCHAR(20),N''?''),NCHAR(19),N''?''),NCHAR(18),N''?''),NCHAR(17),N''?''),NCHAR(16),N''?''),NCHAR(15),N''?''),NCHAR(14),N''?''),NCHAR(12),N''?''), + NCHAR(11),N''?''),NCHAR(8),N''?''),NCHAR(7),N''?''),NCHAR(6),N''?''),NCHAR(5),N''?''),NCHAR(4),N''?''),NCHAR(3),N''?''),NCHAR(2),N''?''),NCHAR(1),N''?''), + NCHAR(0), + N'''' + ) AS database_name, + CASE x.lock_type + WHEN N''objectlock'' THEN + SUBSTRING(wt.resource_description, NULLIF(CHARINDEX(N''objid='', wt.resource_description), 0) + 6, COALESCE(NULLIF(CHARINDEX(N'' '', wt.resource_description, CHARINDEX(N''objid='', wt.resource_description) + 6), 0), LEN(wt.resource_description) + 1) - CHARINDEX(N''objid='', wt.resource_description) - 6) + ELSE + NULL + END AS object_id, + CASE x.lock_type + WHEN N''filelock'' THEN + SUBSTRING(wt.resource_description, NULLIF(CHARINDEX(N''fileid='', wt.resource_description), 0) + 7, COALESCE(NULLIF(CHARINDEX(N'' '', wt.resource_description, CHARINDEX(N''fileid='', wt.resource_description) + 7), 0), LEN(wt.resource_description) + 1) - CHARINDEX(N''fileid='', wt.resource_description) - 7) + ELSE + NULL + END AS file_id, + CASE + WHEN x.lock_type in (N''pagelock'', N''extentlock'', N''ridlock'') THEN + SUBSTRING(wt.resource_description, NULLIF(CHARINDEX(N''associatedObjectId='', wt.resource_description), 0) + 19, COALESCE(NULLIF(CHARINDEX(N'' '', wt.resource_description, CHARINDEX(N''associatedObjectId='', wt.resource_description) + 19), 0), LEN(wt.resource_description) + 1) - CHARINDEX(N''associatedObjectId='', wt.resource_description) - 19) + WHEN x.lock_type in (N''keylock'', N''hobtlock'', N''allocunitlock'') THEN + SUBSTRING(wt.resource_description, NULLIF(CHARINDEX(N''hobtid='', wt.resource_description), 0) + 7, COALESCE(NULLIF(CHARINDEX(N'' '', wt.resource_description, CHARINDEX(N''hobtid='', wt.resource_description) + 7), 0), LEN(wt.resource_description) + 1) - CHARINDEX(N''hobtid='', wt.resource_description) - 7) + ELSE + NULL + END AS hobt_id, + CASE x.lock_type + WHEN N''applicationlock'' THEN + SUBSTRING(wt.resource_description, NULLIF(CHARINDEX(N''hash='', wt.resource_description), 0) + 5, COALESCE(NULLIF(CHARINDEX(N'' '', wt.resource_description, CHARINDEX(N''hash='', wt.resource_description) + 5), 0), LEN(wt.resource_description) + 1) - CHARINDEX(N''hash='', wt.resource_description) - 5) + ELSE + NULL + END AS applock_hash, + CASE x.lock_type + WHEN N''metadatalock'' THEN + SUBSTRING(wt.resource_description, NULLIF(CHARINDEX(N''subresource='', wt.resource_description), 0) + 12, COALESCE(NULLIF(CHARINDEX(N'' '', wt.resource_description, CHARINDEX(N''subresource='', wt.resource_description) + 12), 0), LEN(wt.resource_description) + 1) - CHARINDEX(N''subresource='', wt.resource_description) - 12) + ELSE + NULL + END AS metadata_resource, + CASE x.lock_type + WHEN N''metadatalock'' THEN + SUBSTRING(wt.resource_description, NULLIF(CHARINDEX(N''classid='', wt.resource_description), 0) + 8, COALESCE(NULLIF(CHARINDEX(N'' dbid='', wt.resource_description) - CHARINDEX(N''classid='', wt.resource_description), 0), LEN(wt.resource_description) + 1) - 8) + ELSE + NULL + END AS metadata_class_id + FROM + ( + SELECT TOP(1) + LEFT(wt.resource_description, CHARINDEX(N'' '', wt.resource_description) - 1) COLLATE Latin1_General_Bin2 AS lock_type + ) AS x + FOR XML + PATH('''') + ) + ELSE NULL + END AS block_info, + wt.wait_duration_ms, + wt.waiting_task_address + FROM + ( + SELECT TOP(@i) + wt0.wait_type COLLATE Latin1_General_Bin2 AS wait_type, + wt0.resource_description COLLATE Latin1_General_Bin2 AS resource_description, + wt0.wait_duration_ms, + wt0.waiting_task_address, + CASE + WHEN wt0.blocking_session_id = p.blocked THEN + wt0.blocking_session_id + ELSE + NULL + END AS blocking_session_id + FROM sys.dm_os_waiting_tasks AS wt0 + CROSS APPLY + ( + SELECT TOP(1) + s0.blocked + FROM @sessions AS s0 + WHERE + s0.session_id = wt0.session_id + AND COALESCE(s0.wait_type, N'''') <> N''OLEDB'' + AND wt0.wait_type <> N''OLEDB'' + ) AS p + ) AS wt + ) AS wt1 + GROUP BY + wt1.wait_type, + wt1.waiting_task_address + ) AS wt2 ON + wt2.waiting_task_address = task_info.task_address + AND wt2.wait_duration_ms > 0 + AND task_info.runnable_time IS NULL + GROUP BY + task_info.session_id, + task_info.request_id, + task_info.physical_io, + task_info.context_switches, + task_info.thread_CPU_snapshot, + task_info.num_tasks, + CASE + WHEN task_info.runnable_time IS NOT NULL THEN + ''RUNNABLE'' + ELSE + wt2.wait_type + END + ) AS w1 + ) AS waits + ORDER BY + waits.session_id, + waits.request_id, + waits.r + FOR XML + PATH(N''tasks''), + TYPE + ) AS tasks_raw (task_xml_raw) + ) AS tasks_final + CROSS APPLY tasks_final.task_xml.nodes(N''/tasks'') AS task_nodes (task_node) + WHERE + task_nodes.task_node.exist(N''session_id'') = 1 + ) AS tasks ON + tasks.session_id = y.session_id + AND tasks.request_id = y.request_id + ' + ELSE + '' + END + + 'LEFT OUTER HASH JOIN + ( + SELECT TOP(@i) + t_info.session_id, + COALESCE(t_info.request_id, -1) AS request_id, + SUM(t_info.tempdb_allocations) AS tempdb_allocations, + SUM(t_info.tempdb_current) AS tempdb_current + FROM + ( + SELECT TOP(@i) + tsu.session_id, + tsu.request_id, + tsu.user_objects_alloc_page_count + + tsu.internal_objects_alloc_page_count AS tempdb_allocations, + tsu.user_objects_alloc_page_count + + tsu.internal_objects_alloc_page_count - + tsu.user_objects_dealloc_page_count - + tsu.internal_objects_dealloc_page_count AS tempdb_current + FROM sys.dm_db_task_space_usage AS tsu + CROSS APPLY + ( + SELECT TOP(1) + s0.session_id + FROM @sessions AS s0 + WHERE + s0.session_id = tsu.session_id + ) AS p + UNION ALL + SELECT TOP(@i) + ssu.session_id, + NULL AS request_id, + ssu.user_objects_alloc_page_count + + ssu.internal_objects_alloc_page_count AS tempdb_allocations, + ssu.user_objects_alloc_page_count + + ssu.internal_objects_alloc_page_count - + ssu.user_objects_dealloc_page_count - + ssu.internal_objects_dealloc_page_count AS tempdb_current + FROM sys.dm_db_session_space_usage AS ssu + CROSS APPLY + ( + SELECT TOP(1) + s0.session_id + FROM @sessions AS s0 + WHERE + s0.session_id = ssu.session_id + ) AS p + ) AS t_info + GROUP BY + t_info.session_id, + COALESCE(t_info.request_id, -1) + ) AS tempdb_info ON + tempdb_info.session_id = y.session_id + AND tempdb_info.request_id = + CASE + WHEN y.status = N''sleeping'' THEN + -1 + ELSE + y.request_id + END + ' + + CASE + WHEN + NOT + ( + @get_avg_time = 1 + AND @recursion = 1 + ) THEN + '' + ELSE + 'LEFT OUTER HASH JOIN + ( + SELECT TOP(@i) + * + FROM sys.dm_exec_query_stats + ) AS qs ON + qs.sql_handle = y.sql_handle + AND qs.plan_handle = y.plan_handle + AND qs.statement_start_offset = y.statement_start_offset + AND qs.statement_end_offset = y.statement_end_offset + ' + END + + ') AS x + OPTION (KEEPFIXED PLAN, OPTIMIZE FOR (@i = 1)); '; + SET @sql_n = CONVERT(NVARCHAR(MAX), @sql); + SET @last_collection_start = GETDATE(); + IF + @recursion = -1 + AND @sys_info = 1 + BEGIN; + SELECT + @first_collection_ms_ticks = ms_ticks + FROM sys.dm_os_sys_info; + END; + INSERT #sessions + ( + recursion, + session_id, + request_id, + session_number, + elapsed_time, + avg_elapsed_time, + physical_io, + reads, + physical_reads, + writes, + tempdb_allocations, + tempdb_current, + CPU, + thread_CPU_snapshot, + context_switches, + used_memory, + tasks, + status, + wait_info, + transaction_id, + open_tran_count, + sql_handle, + statement_start_offset, + statement_end_offset, + sql_text, + plan_handle, + blocking_session_id, + percent_complete, + host_name, + login_name, + database_name, + program_name, + additional_info, + start_time, + login_time, + last_request_start_time + ) + EXEC sp_executesql + @sql_n, + N'@recursion SMALLINT, @filter sysname, @not_filter sysname, @first_collection_ms_ticks BIGINT', + @recursion, @filter, @not_filter, @first_collection_ms_ticks; + --Collect transaction information? + IF + @recursion = 1 + AND + ( + @output_column_list LIKE '%|[tran_start_time|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[tran_log_writes|]%' ESCAPE '|' + ) + BEGIN; + DECLARE @i INT; + SET @i = 2147483647; + UPDATE s + SET + tran_start_time = + CONVERT + ( + DATETIME, + LEFT + ( + x.trans_info, + NULLIF(CHARINDEX(NCHAR(254) COLLATE Latin1_General_Bin2, x.trans_info) - 1, -1) + ), + 121 + ), + tran_log_writes = + RIGHT + ( + x.trans_info, + LEN(x.trans_info) - CHARINDEX(NCHAR(254) COLLATE Latin1_General_Bin2, x.trans_info) + ) + FROM + ( + SELECT TOP(@i) + trans_nodes.trans_node.value('(session_id/text())[1]', 'SMALLINT') AS session_id, + COALESCE(trans_nodes.trans_node.value('(request_id/text())[1]', 'INT'), 0) AS request_id, + trans_nodes.trans_node.value('(trans_info/text())[1]', 'NVARCHAR(4000)') AS trans_info + FROM + ( + SELECT TOP(@i) + CONVERT + ( + XML, + REPLACE + ( + CONVERT(NVARCHAR(MAX), trans_raw.trans_xml_raw) COLLATE Latin1_General_Bin2, + N'', N'' + ) + ) + FROM + ( + SELECT TOP(@i) + CASE u_trans.r + WHEN 1 THEN u_trans.session_id + ELSE NULL + END AS [session_id], + CASE u_trans.r + WHEN 1 THEN u_trans.request_id + ELSE NULL + END AS [request_id], + CONVERT + ( + NVARCHAR(MAX), + CASE + WHEN u_trans.database_id IS NOT NULL THEN + CASE u_trans.r + WHEN 1 THEN COALESCE(CONVERT(NVARCHAR, u_trans.transaction_start_time, 121) + NCHAR(254), N'') + ELSE N'' + END + + REPLACE + ( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + CONVERT(VARCHAR(128), COALESCE(DB_NAME(u_trans.database_id), N'(null)')), + NCHAR(31),N'?'),NCHAR(30),N'?'),NCHAR(29),N'?'),NCHAR(28),N'?'),NCHAR(27),N'?'),NCHAR(26),N'?'),NCHAR(25),N'?'),NCHAR(24),N'?'),NCHAR(23),N'?'),NCHAR(22),N'?'), + NCHAR(21),N'?'),NCHAR(20),N'?'),NCHAR(19),N'?'),NCHAR(18),N'?'),NCHAR(17),N'?'),NCHAR(16),N'?'),NCHAR(15),N'?'),NCHAR(14),N'?'),NCHAR(12),N'?'), + NCHAR(11),N'?'),NCHAR(8),N'?'),NCHAR(7),N'?'),NCHAR(6),N'?'),NCHAR(5),N'?'),NCHAR(4),N'?'),NCHAR(3),N'?'),NCHAR(2),N'?'),NCHAR(1),N'?'), + NCHAR(0), + N'?' + ) + + N': ' + + CONVERT(NVARCHAR, u_trans.log_record_count) + N' (' + CONVERT(NVARCHAR, u_trans.log_kb_used) + N' kB)' + + N',' + ELSE + N'N/A,' + END COLLATE Latin1_General_Bin2 + ) AS [trans_info] + FROM + ( + SELECT TOP(@i) + trans.*, + ROW_NUMBER() OVER + ( + PARTITION BY + trans.session_id, + trans.request_id + ORDER BY + trans.transaction_start_time DESC + ) AS r + FROM + ( + SELECT TOP(@i) + session_tran_map.session_id, + session_tran_map.request_id, + s_tran.database_id, + COALESCE(SUM(s_tran.database_transaction_log_record_count), 0) AS log_record_count, + COALESCE(SUM(s_tran.database_transaction_log_bytes_used), 0) / 1024 AS log_kb_used, + MIN(s_tran.database_transaction_begin_time) AS transaction_start_time + FROM + ( + SELECT TOP(@i) + * + FROM sys.dm_tran_active_transactions + WHERE + transaction_begin_time <= @last_collection_start + ) AS a_tran + INNER HASH JOIN + ( + SELECT TOP(@i) + * + FROM sys.dm_tran_database_transactions + WHERE + database_id < 32767 + ) AS s_tran ON + s_tran.transaction_id = a_tran.transaction_id + LEFT OUTER HASH JOIN + ( + SELECT TOP(@i) + * + FROM sys.dm_tran_session_transactions + ) AS tst ON + s_tran.transaction_id = tst.transaction_id + CROSS APPLY + ( + SELECT TOP(1) + s3.session_id, + s3.request_id + FROM + ( + SELECT TOP(1) + s1.session_id, + s1.request_id + FROM #sessions AS s1 + WHERE + s1.transaction_id = s_tran.transaction_id + AND s1.recursion = 1 + UNION ALL + SELECT TOP(1) + s2.session_id, + s2.request_id + FROM #sessions AS s2 + WHERE + s2.session_id = tst.session_id + AND s2.recursion = 1 + ) AS s3 + ORDER BY + s3.request_id + ) AS session_tran_map + GROUP BY + session_tran_map.session_id, + session_tran_map.request_id, + s_tran.database_id + ) AS trans + ) AS u_trans + FOR XML + PATH('trans'), + TYPE + ) AS trans_raw (trans_xml_raw) + ) AS trans_final (trans_xml) + CROSS APPLY trans_final.trans_xml.nodes('/trans') AS trans_nodes (trans_node) + ) AS x + INNER HASH JOIN #sessions AS s ON + s.session_id = x.session_id + AND s.request_id = x.request_id + OPTION (OPTIMIZE FOR (@i = 1)); + END; + --Variables for text and plan collection + DECLARE + @session_id SMALLINT, + @request_id INT, + @sql_handle VARBINARY(64), + @plan_handle VARBINARY(64), + @statement_start_offset INT, + @statement_end_offset INT, + @start_time DATETIME, + @database_name sysname; + IF + @recursion = 1 + AND @output_column_list LIKE '%|[sql_text|]%' ESCAPE '|' + BEGIN; + DECLARE sql_cursor + CURSOR LOCAL FAST_FORWARD + FOR + SELECT + session_id, + request_id, + sql_handle, + statement_start_offset, + statement_end_offset + FROM #sessions + WHERE + recursion = 1 + AND sql_handle IS NOT NULL + OPTION (KEEPFIXED PLAN); + OPEN sql_cursor; + FETCH NEXT FROM sql_cursor + INTO + @session_id, + @request_id, + @sql_handle, + @statement_start_offset, + @statement_end_offset; + --Wait up to 5 ms for the SQL text, then give up + SET LOCK_TIMEOUT 5; + WHILE @@FETCH_STATUS = 0 + BEGIN; + BEGIN TRY; + UPDATE s + SET + s.sql_text = + ( + SELECT + REPLACE + ( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + N'--' + NCHAR(13) + NCHAR(10) + + CASE + WHEN @get_full_inner_text = 1 THEN est.text + WHEN LEN(est.text) < (@statement_end_offset / 2) + 1 THEN est.text + WHEN SUBSTRING(est.text, (@statement_start_offset/2), 2) LIKE N'[a-zA-Z0-9][a-zA-Z0-9]' THEN est.text + ELSE + CASE + WHEN @statement_start_offset > 0 THEN + SUBSTRING + ( + est.text, + ((@statement_start_offset/2) + 1), + ( + CASE + WHEN @statement_end_offset = -1 THEN 2147483647 + ELSE ((@statement_end_offset - @statement_start_offset)/2) + 1 + END + ) + ) + ELSE RTRIM(LTRIM(est.text)) + END + END + + NCHAR(13) + NCHAR(10) + N'--' COLLATE Latin1_General_Bin2, + NCHAR(31),N'?'),NCHAR(30),N'?'),NCHAR(29),N'?'),NCHAR(28),N'?'),NCHAR(27),N'?'),NCHAR(26),N'?'),NCHAR(25),N'?'),NCHAR(24),N'?'),NCHAR(23),N'?'),NCHAR(22),N'?'), + NCHAR(21),N'?'),NCHAR(20),N'?'),NCHAR(19),N'?'),NCHAR(18),N'?'),NCHAR(17),N'?'),NCHAR(16),N'?'),NCHAR(15),N'?'),NCHAR(14),N'?'),NCHAR(12),N'?'), + NCHAR(11),N'?'),NCHAR(8),N'?'),NCHAR(7),N'?'),NCHAR(6),N'?'),NCHAR(5),N'?'),NCHAR(4),N'?'),NCHAR(3),N'?'),NCHAR(2),N'?'),NCHAR(1),N'?'), + NCHAR(0), + N'' + ) AS [processing-instruction(query)] + FOR XML + PATH(''), + TYPE + ), + s.statement_start_offset = + CASE + WHEN LEN(est.text) < (@statement_end_offset / 2) + 1 THEN 0 + WHEN SUBSTRING(CONVERT(VARCHAR(MAX), est.text), (@statement_start_offset/2), 2) LIKE '[a-zA-Z0-9][a-zA-Z0-9]' THEN 0 + ELSE @statement_start_offset + END, + s.statement_end_offset = + CASE + WHEN LEN(est.text) < (@statement_end_offset / 2) + 1 THEN -1 + WHEN SUBSTRING(CONVERT(VARCHAR(MAX), est.text), (@statement_start_offset/2), 2) LIKE '[a-zA-Z0-9][a-zA-Z0-9]' THEN -1 + ELSE @statement_end_offset + END + FROM + #sessions AS s, + ( + SELECT TOP(1) + text + FROM + ( + SELECT + text, + 0 AS row_num + FROM sys.dm_exec_sql_text(@sql_handle) + UNION ALL + SELECT + NULL, + 1 AS row_num + ) AS est0 + ORDER BY + row_num + ) AS est + WHERE + s.session_id = @session_id + AND s.request_id = @request_id + AND s.recursion = 1 + OPTION (KEEPFIXED PLAN); + END TRY + BEGIN CATCH; + UPDATE s + SET + s.sql_text = + CASE ERROR_NUMBER() + WHEN 1222 THEN '' + ELSE '' + END + FROM #sessions AS s + WHERE + s.session_id = @session_id + AND s.request_id = @request_id + AND s.recursion = 1 + OPTION (KEEPFIXED PLAN); + END CATCH; + FETCH NEXT FROM sql_cursor + INTO + @session_id, + @request_id, + @sql_handle, + @statement_start_offset, + @statement_end_offset; + END; + --Return this to the default + SET LOCK_TIMEOUT -1; + CLOSE sql_cursor; + DEALLOCATE sql_cursor; + END; + IF + @get_outer_command = 1 + AND @recursion = 1 + AND @output_column_list LIKE '%|[sql_command|]%' ESCAPE '|' + BEGIN; + DECLARE @buffer_results TABLE + ( + EventType VARCHAR(30), + Parameters INT, + EventInfo NVARCHAR(4000), + start_time DATETIME, + session_number INT IDENTITY(1,1) NOT NULL PRIMARY KEY + ); + DECLARE buffer_cursor + CURSOR LOCAL FAST_FORWARD + FOR + SELECT + session_id, + MAX(start_time) AS start_time + FROM #sessions + WHERE + recursion = 1 + GROUP BY + session_id + ORDER BY + session_id + OPTION (KEEPFIXED PLAN); + OPEN buffer_cursor; + FETCH NEXT FROM buffer_cursor + INTO + @session_id, + @start_time; + WHILE @@FETCH_STATUS = 0 + BEGIN; + BEGIN TRY; + --In SQL Server 2008, DBCC INPUTBUFFER will throw + --an exception if the session no longer exists + INSERT @buffer_results + ( + EventType, + Parameters, + EventInfo + ) + EXEC sp_executesql + N'DBCC INPUTBUFFER(@session_id) WITH NO_INFOMSGS;', + N'@session_id SMALLINT', + @session_id; + UPDATE br + SET + br.start_time = @start_time + FROM @buffer_results AS br + WHERE + br.session_number = + ( + SELECT MAX(br2.session_number) + FROM @buffer_results br2 + ); + END TRY + BEGIN CATCH + END CATCH; + FETCH NEXT FROM buffer_cursor + INTO + @session_id, + @start_time; + END; + UPDATE s + SET + sql_command = + ( + SELECT + REPLACE + ( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + CONVERT + ( + NVARCHAR(MAX), + N'--' + NCHAR(13) + NCHAR(10) + br.EventInfo + NCHAR(13) + NCHAR(10) + N'--' COLLATE Latin1_General_Bin2 + ), + NCHAR(31),N'?'),NCHAR(30),N'?'),NCHAR(29),N'?'),NCHAR(28),N'?'),NCHAR(27),N'?'),NCHAR(26),N'?'),NCHAR(25),N'?'),NCHAR(24),N'?'),NCHAR(23),N'?'),NCHAR(22),N'?'), + NCHAR(21),N'?'),NCHAR(20),N'?'),NCHAR(19),N'?'),NCHAR(18),N'?'),NCHAR(17),N'?'),NCHAR(16),N'?'),NCHAR(15),N'?'),NCHAR(14),N'?'),NCHAR(12),N'?'), + NCHAR(11),N'?'),NCHAR(8),N'?'),NCHAR(7),N'?'),NCHAR(6),N'?'),NCHAR(5),N'?'),NCHAR(4),N'?'),NCHAR(3),N'?'),NCHAR(2),N'?'),NCHAR(1),N'?'), + NCHAR(0), + N'' + ) AS [processing-instruction(query)] + FROM @buffer_results AS br + WHERE + br.session_number = s.session_number + AND br.start_time = s.start_time + AND + ( + ( + s.start_time = s.last_request_start_time + AND EXISTS + ( + SELECT * + FROM sys.dm_exec_requests r2 + WHERE + r2.session_id = s.session_id + AND r2.request_id = s.request_id + AND r2.start_time = s.start_time + ) + ) + OR + ( + s.request_id = 0 + AND EXISTS + ( + SELECT * + FROM sys.dm_exec_sessions s2 + WHERE + s2.session_id = s.session_id + AND s2.last_request_start_time = s.last_request_start_time + ) + ) + ) + FOR XML + PATH(''), + TYPE + ) + FROM #sessions AS s + WHERE + recursion = 1 + OPTION (KEEPFIXED PLAN); + CLOSE buffer_cursor; + DEALLOCATE buffer_cursor; + END; + IF + @get_plans >= 1 + AND @recursion = 1 + AND @output_column_list LIKE '%|[query_plan|]%' ESCAPE '|' + BEGIN; + DECLARE @live_plan BIT; + SET @live_plan = ISNULL(CONVERT(BIT, SIGN(OBJECT_ID('sys.dm_exec_query_statistics_xml'))), 0) + DECLARE plan_cursor + CURSOR LOCAL FAST_FORWARD + FOR + SELECT + session_id, + request_id, + plan_handle, + statement_start_offset, + statement_end_offset + FROM #sessions + WHERE + recursion = 1 + AND plan_handle IS NOT NULL + OPTION (KEEPFIXED PLAN); + OPEN plan_cursor; + FETCH NEXT FROM plan_cursor + INTO + @session_id, + @request_id, + @plan_handle, + @statement_start_offset, + @statement_end_offset; + --Wait up to 5 ms for a query plan, then give up + SET LOCK_TIMEOUT 5; + WHILE @@FETCH_STATUS = 0 + BEGIN; + DECLARE @query_plan XML; + SET @query_plan = NULL; + IF @live_plan = 1 + BEGIN; + BEGIN TRY; + SELECT + @query_plan = x.query_plan + FROM sys.dm_exec_query_statistics_xml(@session_id) AS x; + IF + @query_plan IS NOT NULL + AND EXISTS + ( + SELECT + * + FROM sys.dm_exec_requests AS r + WHERE + r.session_id = @session_id + AND r.request_id = @request_id + AND r.plan_handle = @plan_handle + AND r.statement_start_offset = @statement_start_offset + AND r.statement_end_offset = @statement_end_offset + ) + BEGIN; + UPDATE s + SET + s.query_plan = @query_plan + FROM #sessions AS s + WHERE + s.session_id = @session_id + AND s.request_id = @request_id + AND s.recursion = 1 + OPTION (KEEPFIXED PLAN); + END; + END TRY + BEGIN CATCH; + SET @query_plan = NULL; + END CATCH; + END; + IF @query_plan IS NULL + BEGIN; + BEGIN TRY; + UPDATE s + SET + s.query_plan = + ( + SELECT + CONVERT(xml, query_plan) + FROM sys.dm_exec_text_query_plan + ( + @plan_handle, + CASE @get_plans + WHEN 1 THEN + @statement_start_offset + ELSE + 0 + END, + CASE @get_plans + WHEN 1 THEN + @statement_end_offset + ELSE + -1 + END + ) + ) + FROM #sessions AS s + WHERE + s.session_id = @session_id + AND s.request_id = @request_id + AND s.recursion = 1 + OPTION (KEEPFIXED PLAN); + END TRY + BEGIN CATCH; + IF ERROR_NUMBER() = 6335 + BEGIN; + UPDATE s + SET + s.query_plan = + ( + SELECT + N'--' + NCHAR(13) + NCHAR(10) + + N'-- Could not render showplan due to XML data type limitations. ' + NCHAR(13) + NCHAR(10) + + N'-- To see the graphical plan save the XML below as a .SQLPLAN file and re-open in SSMS.' + NCHAR(13) + NCHAR(10) + + N'--' + NCHAR(13) + NCHAR(10) + + REPLACE(qp.query_plan, N'' + ELSE '' + END + FROM #sessions AS s + WHERE + s.session_id = @session_id + AND s.request_id = @request_id + AND s.recursion = 1 + OPTION (KEEPFIXED PLAN); + END; + END CATCH; + END; + FETCH NEXT FROM plan_cursor + INTO + @session_id, + @request_id, + @plan_handle, + @statement_start_offset, + @statement_end_offset; + END; + --Return this to the default + SET LOCK_TIMEOUT -1; + CLOSE plan_cursor; + DEALLOCATE plan_cursor; + END; + IF + @get_locks = 1 + AND @recursion = 1 + AND @output_column_list LIKE '%|[locks|]%' ESCAPE '|' + BEGIN; + DECLARE locks_cursor + CURSOR LOCAL FAST_FORWARD + FOR + SELECT DISTINCT + database_name + FROM #locks + WHERE + EXISTS + ( + SELECT * + FROM #sessions AS s + WHERE + s.session_id = #locks.session_id + AND recursion = 1 + ) + AND database_name <> '(null)' + OPTION (KEEPFIXED PLAN); + OPEN locks_cursor; + FETCH NEXT FROM locks_cursor + INTO + @database_name; + WHILE @@FETCH_STATUS = 0 + BEGIN; + BEGIN TRY; + SET @sql_n = CONVERT(NVARCHAR(MAX), '') + + 'UPDATE l ' + + 'SET ' + + 'object_name = ' + + 'REPLACE ' + + '( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'o.name COLLATE Latin1_General_Bin2, ' + + 'NCHAR(31),N''?''),NCHAR(30),N''?''),NCHAR(29),N''?''),NCHAR(28),N''?''),NCHAR(27),N''?''),NCHAR(26),N''?''),NCHAR(25),N''?''),NCHAR(24),N''?''),NCHAR(23),N''?''),NCHAR(22),N''?''), ' + + 'NCHAR(21),N''?''),NCHAR(20),N''?''),NCHAR(19),N''?''),NCHAR(18),N''?''),NCHAR(17),N''?''),NCHAR(16),N''?''),NCHAR(15),N''?''),NCHAR(14),N''?''),NCHAR(12),N''?''), ' + + 'NCHAR(11),N''?''),NCHAR(8),N''?''),NCHAR(7),N''?''),NCHAR(6),N''?''),NCHAR(5),N''?''),NCHAR(4),N''?''),NCHAR(3),N''?''),NCHAR(2),N''?''),NCHAR(1),N''?''), ' + + 'NCHAR(0), ' + + N''''' ' + + '), ' + + 'index_name = ' + + 'REPLACE ' + + '( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'i.name COLLATE Latin1_General_Bin2, ' + + 'NCHAR(31),N''?''),NCHAR(30),N''?''),NCHAR(29),N''?''),NCHAR(28),N''?''),NCHAR(27),N''?''),NCHAR(26),N''?''),NCHAR(25),N''?''),NCHAR(24),N''?''),NCHAR(23),N''?''),NCHAR(22),N''?''), ' + + 'NCHAR(21),N''?''),NCHAR(20),N''?''),NCHAR(19),N''?''),NCHAR(18),N''?''),NCHAR(17),N''?''),NCHAR(16),N''?''),NCHAR(15),N''?''),NCHAR(14),N''?''),NCHAR(12),N''?''), ' + + 'NCHAR(11),N''?''),NCHAR(8),N''?''),NCHAR(7),N''?''),NCHAR(6),N''?''),NCHAR(5),N''?''),NCHAR(4),N''?''),NCHAR(3),N''?''),NCHAR(2),N''?''),NCHAR(1),N''?''), ' + + 'NCHAR(0), ' + + N''''' ' + + '), ' + + 'schema_name = ' + + 'REPLACE ' + + '( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 's.name COLLATE Latin1_General_Bin2, ' + + 'NCHAR(31),N''?''),NCHAR(30),N''?''),NCHAR(29),N''?''),NCHAR(28),N''?''),NCHAR(27),N''?''),NCHAR(26),N''?''),NCHAR(25),N''?''),NCHAR(24),N''?''),NCHAR(23),N''?''),NCHAR(22),N''?''), ' + + 'NCHAR(21),N''?''),NCHAR(20),N''?''),NCHAR(19),N''?''),NCHAR(18),N''?''),NCHAR(17),N''?''),NCHAR(16),N''?''),NCHAR(15),N''?''),NCHAR(14),N''?''),NCHAR(12),N''?''), ' + + 'NCHAR(11),N''?''),NCHAR(8),N''?''),NCHAR(7),N''?''),NCHAR(6),N''?''),NCHAR(5),N''?''),NCHAR(4),N''?''),NCHAR(3),N''?''),NCHAR(2),N''?''),NCHAR(1),N''?''), ' + + 'NCHAR(0), ' + + N''''' ' + + '), ' + + 'principal_name = ' + + 'REPLACE ' + + '( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'dp.name COLLATE Latin1_General_Bin2, ' + + 'NCHAR(31),N''?''),NCHAR(30),N''?''),NCHAR(29),N''?''),NCHAR(28),N''?''),NCHAR(27),N''?''),NCHAR(26),N''?''),NCHAR(25),N''?''),NCHAR(24),N''?''),NCHAR(23),N''?''),NCHAR(22),N''?''), ' + + 'NCHAR(21),N''?''),NCHAR(20),N''?''),NCHAR(19),N''?''),NCHAR(18),N''?''),NCHAR(17),N''?''),NCHAR(16),N''?''),NCHAR(15),N''?''),NCHAR(14),N''?''),NCHAR(12),N''?''), ' + + 'NCHAR(11),N''?''),NCHAR(8),N''?''),NCHAR(7),N''?''),NCHAR(6),N''?''),NCHAR(5),N''?''),NCHAR(4),N''?''),NCHAR(3),N''?''),NCHAR(2),N''?''),NCHAR(1),N''?''), ' + + 'NCHAR(0), ' + + N''''' ' + + ') ' + + 'FROM #locks AS l ' + + 'LEFT OUTER JOIN ' + QUOTENAME(@database_name) + '.sys.allocation_units AS au ON ' + + 'au.allocation_unit_id = l.allocation_unit_id ' + + 'LEFT OUTER JOIN ' + QUOTENAME(@database_name) + '.sys.partitions AS p ON ' + + 'p.hobt_id = ' + + 'COALESCE ' + + '( ' + + 'l.hobt_id, ' + + 'CASE ' + + 'WHEN au.type IN (1, 3) THEN au.container_id ' + + 'ELSE NULL ' + + 'END ' + + ') ' + + 'LEFT OUTER JOIN ' + QUOTENAME(@database_name) + '.sys.partitions AS p1 ON ' + + 'l.hobt_id IS NULL ' + + 'AND au.type = 2 ' + + 'AND p1.partition_id = au.container_id ' + + 'LEFT OUTER JOIN ' + QUOTENAME(@database_name) + '.sys.objects AS o ON ' + + 'o.object_id = COALESCE(l.object_id, p.object_id, p1.object_id) ' + + 'LEFT OUTER JOIN ' + QUOTENAME(@database_name) + '.sys.indexes AS i ON ' + + 'i.object_id = COALESCE(l.object_id, p.object_id, p1.object_id) ' + + 'AND i.index_id = COALESCE(l.index_id, p.index_id, p1.index_id) ' + + 'LEFT OUTER JOIN ' + QUOTENAME(@database_name) + '.sys.schemas AS s ON ' + + 's.schema_id = COALESCE(l.schema_id, o.schema_id) ' + + 'LEFT OUTER JOIN ' + QUOTENAME(@database_name) + '.sys.database_principals AS dp ON ' + + 'dp.principal_id = l.principal_id ' + + 'WHERE ' + + 'l.database_name = @database_name ' + + 'OPTION (KEEPFIXED PLAN); '; + EXEC sp_executesql + @sql_n, + N'@database_name sysname', + @database_name; + END TRY + BEGIN CATCH; + UPDATE #locks + SET + query_error = + REPLACE + ( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + CONVERT + ( + NVARCHAR(MAX), + ERROR_MESSAGE() COLLATE Latin1_General_Bin2 + ), + NCHAR(31),N'?'),NCHAR(30),N'?'),NCHAR(29),N'?'),NCHAR(28),N'?'),NCHAR(27),N'?'),NCHAR(26),N'?'),NCHAR(25),N'?'),NCHAR(24),N'?'),NCHAR(23),N'?'),NCHAR(22),N'?'), + NCHAR(21),N'?'),NCHAR(20),N'?'),NCHAR(19),N'?'),NCHAR(18),N'?'),NCHAR(17),N'?'),NCHAR(16),N'?'),NCHAR(15),N'?'),NCHAR(14),N'?'),NCHAR(12),N'?'), + NCHAR(11),N'?'),NCHAR(8),N'?'),NCHAR(7),N'?'),NCHAR(6),N'?'),NCHAR(5),N'?'),NCHAR(4),N'?'),NCHAR(3),N'?'),NCHAR(2),N'?'),NCHAR(1),N'?'), + NCHAR(0), + N'' + ) + WHERE + database_name = @database_name + OPTION (KEEPFIXED PLAN); + END CATCH; + FETCH NEXT FROM locks_cursor + INTO + @database_name; + END; + CLOSE locks_cursor; + DEALLOCATE locks_cursor; + CREATE CLUSTERED INDEX IX_SRD ON #locks (session_id, request_id, database_name); + UPDATE s + SET + s.locks = + ( + SELECT + REPLACE + ( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + CONVERT + ( + NVARCHAR(MAX), + l1.database_name COLLATE Latin1_General_Bin2 + ), + NCHAR(31),N'?'),NCHAR(30),N'?'),NCHAR(29),N'?'),NCHAR(28),N'?'),NCHAR(27),N'?'),NCHAR(26),N'?'),NCHAR(25),N'?'),NCHAR(24),N'?'),NCHAR(23),N'?'),NCHAR(22),N'?'), + NCHAR(21),N'?'),NCHAR(20),N'?'),NCHAR(19),N'?'),NCHAR(18),N'?'),NCHAR(17),N'?'),NCHAR(16),N'?'),NCHAR(15),N'?'),NCHAR(14),N'?'),NCHAR(12),N'?'), + NCHAR(11),N'?'),NCHAR(8),N'?'),NCHAR(7),N'?'),NCHAR(6),N'?'),NCHAR(5),N'?'),NCHAR(4),N'?'),NCHAR(3),N'?'),NCHAR(2),N'?'),NCHAR(1),N'?'), + NCHAR(0), + N'' + ) AS [Database/@name], + MIN(l1.query_error) AS [Database/@query_error], + ( + SELECT + l2.request_mode AS [Lock/@request_mode], + l2.request_status AS [Lock/@request_status], + COUNT(*) AS [Lock/@request_count] + FROM #locks AS l2 + WHERE + l1.session_id = l2.session_id + AND l1.request_id = l2.request_id + AND l2.database_name = l1.database_name + AND l2.resource_type = 'DATABASE' + GROUP BY + l2.request_mode, + l2.request_status + FOR XML + PATH(''), + TYPE + ) AS [Database/Locks], + ( + SELECT + COALESCE(l3.object_name, '(null)') AS [Object/@name], + l3.schema_name AS [Object/@schema_name], + ( + SELECT + l4.resource_type AS [Lock/@resource_type], + l4.page_type AS [Lock/@page_type], + l4.index_name AS [Lock/@index_name], + CASE + WHEN l4.object_name IS NULL THEN l4.schema_name + ELSE NULL + END AS [Lock/@schema_name], + l4.principal_name AS [Lock/@principal_name], + l4.resource_description AS [Lock/@resource_description], + l4.request_mode AS [Lock/@request_mode], + l4.request_status AS [Lock/@request_status], + SUM(l4.request_count) AS [Lock/@request_count] + FROM #locks AS l4 + WHERE + l4.session_id = l3.session_id + AND l4.request_id = l3.request_id + AND l3.database_name = l4.database_name + AND COALESCE(l3.object_name, '(null)') = COALESCE(l4.object_name, '(null)') + AND COALESCE(l3.schema_name, '') = COALESCE(l4.schema_name, '') + AND l4.resource_type <> 'DATABASE' + GROUP BY + l4.resource_type, + l4.page_type, + l4.index_name, + CASE + WHEN l4.object_name IS NULL THEN l4.schema_name + ELSE NULL + END, + l4.principal_name, + l4.resource_description, + l4.request_mode, + l4.request_status + FOR XML + PATH(''), + TYPE + ) AS [Object/Locks] + FROM #locks AS l3 + WHERE + l3.session_id = l1.session_id + AND l3.request_id = l1.request_id + AND l3.database_name = l1.database_name + AND l3.resource_type <> 'DATABASE' + GROUP BY + l3.session_id, + l3.request_id, + l3.database_name, + COALESCE(l3.object_name, '(null)'), + l3.schema_name + FOR XML + PATH(''), + TYPE + ) AS [Database/Objects] + FROM #locks AS l1 + WHERE + l1.session_id = s.session_id + AND l1.request_id = s.request_id + AND l1.start_time IN (s.start_time, s.last_request_start_time) + AND s.recursion = 1 + GROUP BY + l1.session_id, + l1.request_id, + l1.database_name + FOR XML + PATH(''), + TYPE + ) + FROM #sessions s + OPTION (KEEPFIXED PLAN); + END; + IF + @find_block_leaders = 1 + AND @recursion = 1 + AND @output_column_list LIKE '%|[blocked_session_count|]%' ESCAPE '|' + BEGIN; + WITH + blockers AS + ( + SELECT + session_id, + session_id AS top_level_session_id, + CONVERT(VARCHAR(8000), '.' + CONVERT(VARCHAR(8000), session_id) + '.') AS the_path + FROM #sessions + WHERE + recursion = 1 + UNION ALL + SELECT + s.session_id, + b.top_level_session_id, + CONVERT(VARCHAR(8000), b.the_path + CONVERT(VARCHAR(8000), s.session_id) + '.') AS the_path + FROM blockers AS b + JOIN #sessions AS s ON + s.blocking_session_id = b.session_id + AND s.recursion = 1 + AND b.the_path NOT LIKE '%.' + CONVERT(VARCHAR(8000), s.session_id) + '.%' COLLATE Latin1_General_Bin2 + ) + UPDATE s + SET + s.blocked_session_count = x.blocked_session_count + FROM #sessions AS s + JOIN + ( + SELECT + b.top_level_session_id AS session_id, + COUNT(*) - 1 AS blocked_session_count + FROM blockers AS b + GROUP BY + b.top_level_session_id + ) x ON + s.session_id = x.session_id + WHERE + s.recursion = 1; + END; + IF + @get_task_info = 2 + AND @output_column_list LIKE '%|[additional_info|]%' ESCAPE '|' + AND @recursion = 1 + BEGIN; + CREATE TABLE #blocked_requests + ( + session_id SMALLINT NOT NULL, + request_id INT NOT NULL, + database_name sysname NOT NULL, + object_id INT, + hobt_id BIGINT, + schema_id INT, + schema_name sysname NULL, + object_name sysname NULL, + query_error NVARCHAR(2048), + PRIMARY KEY (database_name, session_id, request_id) + ); + CREATE STATISTICS s_database_name ON #blocked_requests (database_name) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_schema_name ON #blocked_requests (schema_name) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_object_name ON #blocked_requests (object_name) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_query_error ON #blocked_requests (query_error) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + INSERT #blocked_requests + ( + session_id, + request_id, + database_name, + object_id, + hobt_id, + schema_id + ) + SELECT + session_id, + request_id, + database_name, + object_id, + hobt_id, + CONVERT(INT, SUBSTRING(schema_node, CHARINDEX(' = ', schema_node) + 3, LEN(schema_node))) AS schema_id + FROM + ( + SELECT + session_id, + request_id, + agent_nodes.agent_node.value('(database_name/text())[1]', 'sysname') AS database_name, + agent_nodes.agent_node.value('(object_id/text())[1]', 'int') AS object_id, + agent_nodes.agent_node.value('(hobt_id/text())[1]', 'bigint') AS hobt_id, + agent_nodes.agent_node.value('(metadata_resource/text()[.="SCHEMA"]/../../metadata_class_id/text())[1]', 'varchar(100)') AS schema_node + FROM #sessions AS s + CROSS APPLY s.additional_info.nodes('//block_info') AS agent_nodes (agent_node) + WHERE + s.recursion = 1 + ) AS t + WHERE + t.database_name IS NOT NULL + AND + ( + t.object_id IS NOT NULL + OR t.hobt_id IS NOT NULL + OR t.schema_node IS NOT NULL + ); + DECLARE blocks_cursor + CURSOR LOCAL FAST_FORWARD + FOR + SELECT DISTINCT + database_name + FROM #blocked_requests; + OPEN blocks_cursor; + FETCH NEXT FROM blocks_cursor + INTO + @database_name; + WHILE @@FETCH_STATUS = 0 + BEGIN; + BEGIN TRY; + SET @sql_n = + CONVERT(NVARCHAR(MAX), '') + + 'UPDATE b ' + + 'SET ' + + 'b.schema_name = ' + + 'REPLACE ' + + '( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 's.name COLLATE Latin1_General_Bin2, ' + + 'NCHAR(31),N''?''),NCHAR(30),N''?''),NCHAR(29),N''?''),NCHAR(28),N''?''),NCHAR(27),N''?''),NCHAR(26),N''?''),NCHAR(25),N''?''),NCHAR(24),N''?''),NCHAR(23),N''?''),NCHAR(22),N''?''), ' + + 'NCHAR(21),N''?''),NCHAR(20),N''?''),NCHAR(19),N''?''),NCHAR(18),N''?''),NCHAR(17),N''?''),NCHAR(16),N''?''),NCHAR(15),N''?''),NCHAR(14),N''?''),NCHAR(12),N''?''), ' + + 'NCHAR(11),N''?''),NCHAR(8),N''?''),NCHAR(7),N''?''),NCHAR(6),N''?''),NCHAR(5),N''?''),NCHAR(4),N''?''),NCHAR(3),N''?''),NCHAR(2),N''?''),NCHAR(1),N''?''), ' + + 'NCHAR(0), ' + + N''''' ' + + '), ' + + 'b.object_name = ' + + 'REPLACE ' + + '( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'o.name COLLATE Latin1_General_Bin2, ' + + 'NCHAR(31),N''?''),NCHAR(30),N''?''),NCHAR(29),N''?''),NCHAR(28),N''?''),NCHAR(27),N''?''),NCHAR(26),N''?''),NCHAR(25),N''?''),NCHAR(24),N''?''),NCHAR(23),N''?''),NCHAR(22),N''?''), ' + + 'NCHAR(21),N''?''),NCHAR(20),N''?''),NCHAR(19),N''?''),NCHAR(18),N''?''),NCHAR(17),N''?''),NCHAR(16),N''?''),NCHAR(15),N''?''),NCHAR(14),N''?''),NCHAR(12),N''?''), ' + + 'NCHAR(11),N''?''),NCHAR(8),N''?''),NCHAR(7),N''?''),NCHAR(6),N''?''),NCHAR(5),N''?''),NCHAR(4),N''?''),NCHAR(3),N''?''),NCHAR(2),N''?''),NCHAR(1),N''?''), ' + + 'NCHAR(0), ' + + N''''' ' + + ') ' + + 'FROM #blocked_requests AS b ' + + 'LEFT OUTER JOIN ' + QUOTENAME(@database_name) + '.sys.partitions AS p ON ' + + 'p.hobt_id = b.hobt_id ' + + 'LEFT OUTER JOIN ' + QUOTENAME(@database_name) + '.sys.objects AS o ON ' + + 'o.object_id = COALESCE(p.object_id, b.object_id) ' + + 'LEFT OUTER JOIN ' + QUOTENAME(@database_name) + '.sys.schemas AS s ON ' + + 's.schema_id = COALESCE(o.schema_id, b.schema_id) ' + + 'WHERE ' + + 'b.database_name = @database_name; '; + EXEC sp_executesql + @sql_n, + N'@database_name sysname', + @database_name; + END TRY + BEGIN CATCH; + UPDATE #blocked_requests + SET + query_error = + REPLACE + ( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + CONVERT + ( + NVARCHAR(MAX), + ERROR_MESSAGE() COLLATE Latin1_General_Bin2 + ), + NCHAR(31),N'?'),NCHAR(30),N'?'),NCHAR(29),N'?'),NCHAR(28),N'?'),NCHAR(27),N'?'),NCHAR(26),N'?'),NCHAR(25),N'?'),NCHAR(24),N'?'),NCHAR(23),N'?'),NCHAR(22),N'?'), + NCHAR(21),N'?'),NCHAR(20),N'?'),NCHAR(19),N'?'),NCHAR(18),N'?'),NCHAR(17),N'?'),NCHAR(16),N'?'),NCHAR(15),N'?'),NCHAR(14),N'?'),NCHAR(12),N'?'), + NCHAR(11),N'?'),NCHAR(8),N'?'),NCHAR(7),N'?'),NCHAR(6),N'?'),NCHAR(5),N'?'),NCHAR(4),N'?'),NCHAR(3),N'?'),NCHAR(2),N'?'),NCHAR(1),N'?'), + NCHAR(0), + N'' + ) + WHERE + database_name = @database_name; + END CATCH; + FETCH NEXT FROM blocks_cursor + INTO + @database_name; + END; + CLOSE blocks_cursor; + DEALLOCATE blocks_cursor; + UPDATE s + SET + additional_info.modify + (' + insert {sql:column("b.schema_name")} + as last + into (/additional_info/block_info)[1] + ') + FROM #sessions AS s + INNER JOIN #blocked_requests AS b ON + b.session_id = s.session_id + AND b.request_id = s.request_id + AND s.recursion = 1 + WHERE + b.schema_name IS NOT NULL; + UPDATE s + SET + additional_info.modify + (' + insert {sql:column("b.object_name")} + as last + into (/additional_info/block_info)[1] + ') + FROM #sessions AS s + INNER JOIN #blocked_requests AS b ON + b.session_id = s.session_id + AND b.request_id = s.request_id + AND s.recursion = 1 + WHERE + b.object_name IS NOT NULL; + UPDATE s + SET + additional_info.modify + (' + insert {sql:column("b.query_error")} + as last + into (/additional_info/block_info)[1] + ') + FROM #sessions AS s + INNER JOIN #blocked_requests AS b ON + b.session_id = s.session_id + AND b.request_id = s.request_id + AND s.recursion = 1 + WHERE + b.query_error IS NOT NULL; + END; + IF + @output_column_list LIKE '%|[program_name|]%' ESCAPE '|' + AND @output_column_list LIKE '%|[additional_info|]%' ESCAPE '|' + AND @recursion = 1 + AND DB_ID('msdb') IS NOT NULL + BEGIN; + SET @sql_n = + N'BEGIN TRY; + DECLARE @job_name sysname; + SET @job_name = NULL; + DECLARE @step_name sysname; + SET @step_name = NULL; + SELECT + @job_name = + REPLACE + ( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + j.name, + NCHAR(31),N''?''),NCHAR(30),N''?''),NCHAR(29),N''?''),NCHAR(28),N''?''),NCHAR(27),N''?''),NCHAR(26),N''?''),NCHAR(25),N''?''),NCHAR(24),N''?''),NCHAR(23),N''?''),NCHAR(22),N''?''), + NCHAR(21),N''?''),NCHAR(20),N''?''),NCHAR(19),N''?''),NCHAR(18),N''?''),NCHAR(17),N''?''),NCHAR(16),N''?''),NCHAR(15),N''?''),NCHAR(14),N''?''),NCHAR(12),N''?''), + NCHAR(11),N''?''),NCHAR(8),N''?''),NCHAR(7),N''?''),NCHAR(6),N''?''),NCHAR(5),N''?''),NCHAR(4),N''?''),NCHAR(3),N''?''),NCHAR(2),N''?''),NCHAR(1),N''?''), + NCHAR(0), + N''?'' + ), + @step_name = + REPLACE + ( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + s.step_name, + NCHAR(31),N''?''),NCHAR(30),N''?''),NCHAR(29),N''?''),NCHAR(28),N''?''),NCHAR(27),N''?''),NCHAR(26),N''?''),NCHAR(25),N''?''),NCHAR(24),N''?''),NCHAR(23),N''?''),NCHAR(22),N''?''), + NCHAR(21),N''?''),NCHAR(20),N''?''),NCHAR(19),N''?''),NCHAR(18),N''?''),NCHAR(17),N''?''),NCHAR(16),N''?''),NCHAR(15),N''?''),NCHAR(14),N''?''),NCHAR(12),N''?''), + NCHAR(11),N''?''),NCHAR(8),N''?''),NCHAR(7),N''?''),NCHAR(6),N''?''),NCHAR(5),N''?''),NCHAR(4),N''?''),NCHAR(3),N''?''),NCHAR(2),N''?''),NCHAR(1),N''?''), + NCHAR(0), + N''?'' + ) + FROM msdb.dbo.sysjobs AS j + INNER JOIN msdb.dbo.sysjobsteps AS s ON + j.job_id = s.job_id + WHERE + j.job_id = @job_id + AND s.step_id = @step_id; + IF @job_name IS NOT NULL + BEGIN; + UPDATE s + SET + additional_info.modify + ('' + insert text{sql:variable("@job_name")} + into (/additional_info/agent_job_info/job_name)[1] + '') + FROM #sessions AS s + WHERE + s.session_id = @session_id + AND s.recursion = 1 + OPTION (KEEPFIXED PLAN); + UPDATE s + SET + additional_info.modify + ('' + insert text{sql:variable("@step_name")} + into (/additional_info/agent_job_info/step_name)[1] + '') + FROM #sessions AS s + WHERE + s.session_id = @session_id + AND s.recursion = 1 + OPTION (KEEPFIXED PLAN); + END; + END TRY + BEGIN CATCH; + DECLARE @msdb_error_message NVARCHAR(256); + SET @msdb_error_message = ERROR_MESSAGE(); + UPDATE s + SET + additional_info.modify + ('' + insert {sql:variable("@msdb_error_message")} + as last + into (/additional_info/agent_job_info)[1] + '') + FROM #sessions AS s + WHERE + s.session_id = @session_id + AND s.recursion = 1 + OPTION (KEEPFIXED PLAN); + END CATCH;' + DECLARE @job_id UNIQUEIDENTIFIER; + DECLARE @step_id INT; + DECLARE agent_cursor + CURSOR LOCAL FAST_FORWARD + FOR + SELECT + s.session_id, + agent_nodes.agent_node.value('(job_id/text())[1]', 'uniqueidentifier') AS job_id, + agent_nodes.agent_node.value('(step_id/text())[1]', 'int') AS step_id + FROM #sessions AS s + CROSS APPLY s.additional_info.nodes('//agent_job_info') AS agent_nodes (agent_node) + WHERE + s.recursion = 1 + OPTION (KEEPFIXED PLAN); + OPEN agent_cursor; + FETCH NEXT FROM agent_cursor + INTO + @session_id, + @job_id, + @step_id; + WHILE @@FETCH_STATUS = 0 + BEGIN; + EXEC sp_executesql + @sql_n, + N'@job_id UNIQUEIDENTIFIER, @step_id INT, @session_id SMALLINT', + @job_id, @step_id, @session_id + FETCH NEXT FROM agent_cursor + INTO + @session_id, + @job_id, + @step_id; + END; + CLOSE agent_cursor; + DEALLOCATE agent_cursor; + END; + IF + @delta_interval > 0 + AND @recursion <> 1 + BEGIN; + SET @recursion = 1; + DECLARE @delay_time CHAR(12); + SET @delay_time = CONVERT(VARCHAR, DATEADD(second, @delta_interval, 0), 114); + WAITFOR DELAY @delay_time; + GOTO REDO; + END; + END; + SET @sql = + --Outer column list + CONVERT + ( + VARCHAR(MAX), + CASE + WHEN + @destination_table <> '' + AND @return_schema = 0 + THEN 'INSERT ' + @destination_table + ' ' + ELSE '' + END + + 'SELECT ' + + @output_column_list + ' ' + + CASE @return_schema + WHEN 1 THEN 'INTO #session_schema ' + ELSE '' + END + --End outer column list + ) + + --Inner column list + CONVERT + ( + VARCHAR(MAX), + 'FROM ' + + '( ' + + 'SELECT ' + + 'session_id, ' + + --[dd hh:mm:ss.mss] + CASE + WHEN @format_output IN (1, 2) THEN + 'CASE ' + + 'WHEN elapsed_time < 0 THEN ' + + 'RIGHT ' + + '( ' + + 'REPLICATE(''0'', max_elapsed_length) + CONVERT(VARCHAR, (-1 * elapsed_time) / 86400), ' + + 'max_elapsed_length ' + + ') + ' + + 'RIGHT ' + + '( ' + + 'CONVERT(VARCHAR, DATEADD(second, (-1 * elapsed_time), 0), 120), ' + + '9 ' + + ') + ' + + '''.000'' ' + + 'ELSE ' + + 'RIGHT ' + + '( ' + + 'REPLICATE(''0'', max_elapsed_length) + CONVERT(VARCHAR, elapsed_time / 86400000), ' + + 'max_elapsed_length ' + + ') + ' + + 'RIGHT ' + + '( ' + + 'CONVERT(VARCHAR, DATEADD(second, elapsed_time / 1000, 0), 120), ' + + '9 ' + + ') + ' + + '''.'' + ' + + 'RIGHT(''000'' + CONVERT(VARCHAR, elapsed_time % 1000), 3) ' + + 'END AS [dd hh:mm:ss.mss], ' + ELSE + '' + END + + --[dd hh:mm:ss.mss (avg)] / avg_elapsed_time + CASE + WHEN @format_output IN (1, 2) THEN + 'RIGHT ' + + '( ' + + '''00'' + CONVERT(VARCHAR, avg_elapsed_time / 86400000), ' + + '2 ' + + ') + ' + + 'RIGHT ' + + '( ' + + 'CONVERT(VARCHAR, DATEADD(second, avg_elapsed_time / 1000, 0), 120), ' + + '9 ' + + ') + ' + + '''.'' + ' + + 'RIGHT(''000'' + CONVERT(VARCHAR, avg_elapsed_time % 1000), 3) AS [dd hh:mm:ss.mss (avg)], ' + ELSE + 'avg_elapsed_time, ' + END + + --physical_io + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, physical_io))) OVER() - LEN(CONVERT(VARCHAR, physical_io))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, physical_io), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, physical_io), 1), 19)) AS ' + ELSE '' + END + 'physical_io, ' + + --reads + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, reads))) OVER() - LEN(CONVERT(VARCHAR, reads))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, reads), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, reads), 1), 19)) AS ' + ELSE '' + END + 'reads, ' + + --physical_reads + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, physical_reads))) OVER() - LEN(CONVERT(VARCHAR, physical_reads))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, physical_reads), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, physical_reads), 1), 19)) AS ' + ELSE '' + END + 'physical_reads, ' + + --writes + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, writes))) OVER() - LEN(CONVERT(VARCHAR, writes))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, writes), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, writes), 1), 19)) AS ' + ELSE '' + END + 'writes, ' + + --tempdb_allocations + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, tempdb_allocations))) OVER() - LEN(CONVERT(VARCHAR, tempdb_allocations))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, tempdb_allocations), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, tempdb_allocations), 1), 19)) AS ' + ELSE '' + END + 'tempdb_allocations, ' + + --tempdb_current + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, tempdb_current))) OVER() - LEN(CONVERT(VARCHAR, tempdb_current))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, tempdb_current), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, tempdb_current), 1), 19)) AS ' + ELSE '' + END + 'tempdb_current, ' + + --CPU + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, CPU))) OVER() - LEN(CONVERT(VARCHAR, CPU))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, CPU), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, CPU), 1), 19)) AS ' + ELSE '' + END + 'CPU, ' + + --context_switches + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, context_switches))) OVER() - LEN(CONVERT(VARCHAR, context_switches))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, context_switches), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, context_switches), 1), 19)) AS ' + ELSE '' + END + 'context_switches, ' + + --used_memory + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, used_memory))) OVER() - LEN(CONVERT(VARCHAR, used_memory))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, used_memory), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, used_memory), 1), 19)) AS ' + ELSE '' + END + 'used_memory, ' + + CASE + WHEN @output_column_list LIKE '%|_delta|]%' ESCAPE '|' THEN + --physical_io_delta + 'CASE ' + + 'WHEN ' + + 'first_request_start_time = last_request_start_time ' + + 'AND num_events = 2 ' + + 'AND physical_io_delta >= 0 ' + + 'THEN ' + + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, physical_io_delta))) OVER() - LEN(CONVERT(VARCHAR, physical_io_delta))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, physical_io_delta), 1), 19)) ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, physical_io_delta), 1), 19)) ' + ELSE 'physical_io_delta ' + END + + 'ELSE NULL ' + + 'END AS physical_io_delta, ' + + --reads_delta + 'CASE ' + + 'WHEN ' + + 'first_request_start_time = last_request_start_time ' + + 'AND num_events = 2 ' + + 'AND reads_delta >= 0 ' + + 'THEN ' + + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, reads_delta))) OVER() - LEN(CONVERT(VARCHAR, reads_delta))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, reads_delta), 1), 19)) ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, reads_delta), 1), 19)) ' + ELSE 'reads_delta ' + END + + 'ELSE NULL ' + + 'END AS reads_delta, ' + + --physical_reads_delta + 'CASE ' + + 'WHEN ' + + 'first_request_start_time = last_request_start_time ' + + 'AND num_events = 2 ' + + 'AND physical_reads_delta >= 0 ' + + 'THEN ' + + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, physical_reads_delta))) OVER() - LEN(CONVERT(VARCHAR, physical_reads_delta))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, physical_reads_delta), 1), 19)) ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, physical_reads_delta), 1), 19)) ' + ELSE 'physical_reads_delta ' + END + + 'ELSE NULL ' + + 'END AS physical_reads_delta, ' + + --writes_delta + 'CASE ' + + 'WHEN ' + + 'first_request_start_time = last_request_start_time ' + + 'AND num_events = 2 ' + + 'AND writes_delta >= 0 ' + + 'THEN ' + + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, writes_delta))) OVER() - LEN(CONVERT(VARCHAR, writes_delta))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, writes_delta), 1), 19)) ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, writes_delta), 1), 19)) ' + ELSE 'writes_delta ' + END + + 'ELSE NULL ' + + 'END AS writes_delta, ' + + --tempdb_allocations_delta + 'CASE ' + + 'WHEN ' + + 'first_request_start_time = last_request_start_time ' + + 'AND num_events = 2 ' + + 'AND tempdb_allocations_delta >= 0 ' + + 'THEN ' + + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, tempdb_allocations_delta))) OVER() - LEN(CONVERT(VARCHAR, tempdb_allocations_delta))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, tempdb_allocations_delta), 1), 19)) ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, tempdb_allocations_delta), 1), 19)) ' + ELSE 'tempdb_allocations_delta ' + END + + 'ELSE NULL ' + + 'END AS tempdb_allocations_delta, ' + + --tempdb_current_delta + --this is the only one that can (legitimately) go negative + 'CASE ' + + 'WHEN ' + + 'first_request_start_time = last_request_start_time ' + + 'AND num_events = 2 ' + + 'THEN ' + + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, tempdb_current_delta))) OVER() - LEN(CONVERT(VARCHAR, tempdb_current_delta))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, tempdb_current_delta), 1), 19)) ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, tempdb_current_delta), 1), 19)) ' + ELSE 'tempdb_current_delta ' + END + + 'ELSE NULL ' + + 'END AS tempdb_current_delta, ' + + --CPU_delta + 'CASE ' + + 'WHEN ' + + 'first_request_start_time = last_request_start_time ' + + 'AND num_events = 2 ' + + 'THEN ' + + 'CASE ' + + 'WHEN ' + + 'thread_CPU_delta > CPU_delta ' + + 'AND thread_CPU_delta > 0 ' + + 'THEN ' + + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, thread_CPU_delta + CPU_delta))) OVER() - LEN(CONVERT(VARCHAR, thread_CPU_delta))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, thread_CPU_delta), 1), 19)) ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, thread_CPU_delta), 1), 19)) ' + ELSE 'thread_CPU_delta ' + END + + 'WHEN CPU_delta >= 0 THEN ' + + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, thread_CPU_delta + CPU_delta))) OVER() - LEN(CONVERT(VARCHAR, CPU_delta))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, CPU_delta), 1), 19)) ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, CPU_delta), 1), 19)) ' + ELSE 'CPU_delta ' + END + + 'ELSE NULL ' + + 'END ' + + 'ELSE ' + + 'NULL ' + + 'END AS CPU_delta, ' + + --context_switches_delta + 'CASE ' + + 'WHEN ' + + 'first_request_start_time = last_request_start_time ' + + 'AND num_events = 2 ' + + 'AND context_switches_delta >= 0 ' + + 'THEN ' + + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, context_switches_delta))) OVER() - LEN(CONVERT(VARCHAR, context_switches_delta))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, context_switches_delta), 1), 19)) ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, context_switches_delta), 1), 19)) ' + ELSE 'context_switches_delta ' + END + + 'ELSE NULL ' + + 'END AS context_switches_delta, ' + + --used_memory_delta + 'CASE ' + + 'WHEN ' + + 'first_request_start_time = last_request_start_time ' + + 'AND num_events = 2 ' + + 'AND used_memory_delta >= 0 ' + + 'THEN ' + + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, used_memory_delta))) OVER() - LEN(CONVERT(VARCHAR, used_memory_delta))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, used_memory_delta), 1), 19)) ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, used_memory_delta), 1), 19)) ' + ELSE 'used_memory_delta ' + END + + 'ELSE NULL ' + + 'END AS used_memory_delta, ' + ELSE '' + END + + --tasks + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, tasks))) OVER() - LEN(CONVERT(VARCHAR, tasks))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, tasks), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, tasks), 1), 19)) ' + ELSE '' + END + 'tasks, ' + + 'status, ' + + 'wait_info, ' + + 'locks, ' + + 'tran_start_time, ' + + 'LEFT(tran_log_writes, LEN(tran_log_writes) - 1) AS tran_log_writes, ' + + --open_tran_count + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, open_tran_count))) OVER() - LEN(CONVERT(VARCHAR, open_tran_count))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, open_tran_count), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, open_tran_count), 1), 19)) AS ' + ELSE '' + END + 'open_tran_count, ' + + --sql_command + CASE @format_output + WHEN 0 THEN 'REPLACE(REPLACE(CONVERT(NVARCHAR(MAX), sql_command), '''', '''') AS ' + ELSE '' + END + 'sql_command, ' + + --sql_text + CASE @format_output + WHEN 0 THEN 'REPLACE(REPLACE(CONVERT(NVARCHAR(MAX), sql_text), '''', '''') AS ' + ELSE '' + END + 'sql_text, ' + + 'query_plan, ' + + 'blocking_session_id, ' + + --blocked_session_count + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, blocked_session_count))) OVER() - LEN(CONVERT(VARCHAR, blocked_session_count))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, blocked_session_count), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, blocked_session_count), 1), 19)) AS ' + ELSE '' + END + 'blocked_session_count, ' + + --percent_complete + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, CONVERT(MONEY, percent_complete), 2))) OVER() - LEN(CONVERT(VARCHAR, CONVERT(MONEY, percent_complete), 2))) + CONVERT(CHAR(22), CONVERT(MONEY, percent_complete), 2)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, CONVERT(CHAR(22), CONVERT(MONEY, blocked_session_count), 1)) AS ' + ELSE '' + END + 'percent_complete, ' + + 'host_name, ' + + 'login_name, ' + + 'database_name, ' + + 'program_name, ' + + 'additional_info, ' + + 'start_time, ' + + 'login_time, ' + + 'CASE ' + + 'WHEN status = N''sleeping'' THEN NULL ' + + 'ELSE request_id ' + + 'END AS request_id, ' + + 'GETDATE() AS collection_time ' + --End inner column list + ) + + --Derived table and INSERT specification + CONVERT + ( + VARCHAR(MAX), + 'FROM ' + + '( ' + + 'SELECT TOP(2147483647) ' + + '*, ' + + 'CASE ' + + 'MAX ' + + '( ' + + 'LEN ' + + '( ' + + 'CONVERT ' + + '( ' + + 'VARCHAR, ' + + 'CASE ' + + 'WHEN elapsed_time < 0 THEN ' + + '(-1 * elapsed_time) / 86400 ' + + 'ELSE ' + + 'elapsed_time / 86400000 ' + + 'END ' + + ') ' + + ') ' + + ') OVER () ' + + 'WHEN 1 THEN 2 ' + + 'ELSE ' + + 'MAX ' + + '( ' + + 'LEN ' + + '( ' + + 'CONVERT ' + + '( ' + + 'VARCHAR, ' + + 'CASE ' + + 'WHEN elapsed_time < 0 THEN ' + + '(-1 * elapsed_time) / 86400 ' + + 'ELSE ' + + 'elapsed_time / 86400000 ' + + 'END ' + + ') ' + + ') ' + + ') OVER () ' + + 'END AS max_elapsed_length, ' + + CASE + WHEN @output_column_list LIKE '%|_delta|]%' ESCAPE '|' THEN + 'MAX(physical_io * recursion) OVER (PARTITION BY session_id, request_id) + ' + + 'MIN(physical_io * recursion) OVER (PARTITION BY session_id, request_id) AS physical_io_delta, ' + + 'MAX(reads * recursion) OVER (PARTITION BY session_id, request_id) + ' + + 'MIN(reads * recursion) OVER (PARTITION BY session_id, request_id) AS reads_delta, ' + + 'MAX(physical_reads * recursion) OVER (PARTITION BY session_id, request_id) + ' + + 'MIN(physical_reads * recursion) OVER (PARTITION BY session_id, request_id) AS physical_reads_delta, ' + + 'MAX(writes * recursion) OVER (PARTITION BY session_id, request_id) + ' + + 'MIN(writes * recursion) OVER (PARTITION BY session_id, request_id) AS writes_delta, ' + + 'MAX(tempdb_allocations * recursion) OVER (PARTITION BY session_id, request_id) + ' + + 'MIN(tempdb_allocations * recursion) OVER (PARTITION BY session_id, request_id) AS tempdb_allocations_delta, ' + + 'MAX(tempdb_current * recursion) OVER (PARTITION BY session_id, request_id) + ' + + 'MIN(tempdb_current * recursion) OVER (PARTITION BY session_id, request_id) AS tempdb_current_delta, ' + + 'MAX(CPU * recursion) OVER (PARTITION BY session_id, request_id) + ' + + 'MIN(CPU * recursion) OVER (PARTITION BY session_id, request_id) AS CPU_delta, ' + + 'MAX(thread_CPU_snapshot * recursion) OVER (PARTITION BY session_id, request_id) + ' + + 'MIN(thread_CPU_snapshot * recursion) OVER (PARTITION BY session_id, request_id) AS thread_CPU_delta, ' + + 'MAX(context_switches * recursion) OVER (PARTITION BY session_id, request_id) + ' + + 'MIN(context_switches * recursion) OVER (PARTITION BY session_id, request_id) AS context_switches_delta, ' + + 'MAX(used_memory * recursion) OVER (PARTITION BY session_id, request_id) + ' + + 'MIN(used_memory * recursion) OVER (PARTITION BY session_id, request_id) AS used_memory_delta, ' + + 'MIN(last_request_start_time) OVER (PARTITION BY session_id, request_id) AS first_request_start_time, ' + ELSE '' + END + + 'COUNT(*) OVER (PARTITION BY session_id, request_id) AS num_events ' + + 'FROM #sessions AS s1 ' + + CASE + WHEN @sort_order = '' THEN '' + ELSE + 'ORDER BY ' + + @sort_order + END + + ') AS s ' + + 'WHERE ' + + 's.recursion = 1 ' + + ') x ' + + 'OPTION (KEEPFIXED PLAN); ' + + '' + + CASE @return_schema + WHEN 1 THEN + 'SET @schema = ' + + '''CREATE TABLE ( '' + ' + + 'STUFF ' + + '( ' + + '( ' + + 'SELECT ' + + ''','' + ' + + 'QUOTENAME(COLUMN_NAME) + '' '' + ' + + 'DATA_TYPE + ' + + 'CASE ' + + 'WHEN DATA_TYPE LIKE ''%char'' THEN ''('' + COALESCE(NULLIF(CONVERT(VARCHAR, CHARACTER_MAXIMUM_LENGTH), ''-1''), ''max'') + '') '' ' + + 'ELSE '' '' ' + + 'END + ' + + 'CASE IS_NULLABLE ' + + 'WHEN ''NO'' THEN ''NOT '' ' + + 'ELSE '''' ' + + 'END + ''NULL'' AS [text()] ' + + 'FROM tempdb.INFORMATION_SCHEMA.COLUMNS ' + + 'WHERE ' + + 'TABLE_NAME = (SELECT name FROM tempdb.sys.objects WHERE object_id = OBJECT_ID(''tempdb..#session_schema'')) ' + + 'ORDER BY ' + + 'ORDINAL_POSITION ' + + 'FOR XML ' + + 'PATH('''') ' + + '), + ' + + '1, ' + + '1, ' + + ''''' ' + + ') + ' + + ''')''; ' + ELSE '' + END + --End derived table and INSERT specification + ); + SET @sql_n = CONVERT(NVARCHAR(MAX), @sql); + EXEC sp_executesql + @sql_n, + N'@schema VARCHAR(MAX) OUTPUT', + @schema OUTPUT; +END; \ No newline at end of file diff --git a/sql/storedProduzione/dbo_sp_alterdiagram.sql b/sql/storedProduzione/dbo_sp_alterdiagram.sql new file mode 100644 index 00000000..72c6eac9 --- /dev/null +++ b/sql/storedProduzione/dbo_sp_alterdiagram.sql @@ -0,0 +1,52 @@ +CREATE PROCEDURE dbo.sp_alterdiagram + ( + @diagramname sysname, + @owner_id int = null, + @version int, + @definition varbinary(max) + ) + WITH EXECUTE AS 'dbo' + AS + BEGIN + set nocount on + declare @theId int + declare @retval int + declare @IsDbo int + declare @UIDFound int + declare @DiagId int + declare @ShouldChangeUID int + if(@diagramname is null) + begin + RAISERROR ('Invalid ARG', 16, 1) + return -1 + end + execute as caller; + select @theId = DATABASE_PRINCIPAL_ID(); + select @IsDbo = IS_MEMBER(N'db_owner'); + if(@owner_id is null) + select @owner_id = @theId; + revert; + select @ShouldChangeUID = 0 + select @DiagId = diagram_id, @UIDFound = principal_id from dbo.sysdiagrams where principal_id = @owner_id and name = @diagramname + if(@DiagId IS NULL or (@IsDbo = 0 and @theId <> @UIDFound)) + begin + RAISERROR ('Diagram does not exist or you do not have permission.', 16, 1); + return -3 + end + if(@IsDbo <> 0) + begin + if(@UIDFound is null or USER_NAME(@UIDFound) is null) -- invalid principal_id + begin + select @ShouldChangeUID = 1 ; + end + end + -- update dds data + update dbo.sysdiagrams set definition = @definition where diagram_id = @DiagId ; + -- change owner + if(@ShouldChangeUID = 1) + update dbo.sysdiagrams set principal_id = @theId where diagram_id = @DiagId ; + -- update dds version + if(@version is not null) + update dbo.sysdiagrams set version = @version where diagram_id = @DiagId ; + return 0 + END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_sp_change_codfiscale_SEIReport.sql b/sql/storedProduzione/dbo_sp_change_codfiscale_SEIReport.sql new file mode 100644 index 00000000..5ca80e62 --- /dev/null +++ b/sql/storedProduzione/dbo_sp_change_codfiscale_SEIReport.sql @@ -0,0 +1,37 @@ +-- D_DTSX 20180511 +-- Esegue l'allineamento sulla SEIReport. +-- Sostituisce la sp_change_codfiscale della SEIReport, per poter eseguire l'allineamento direttamente dalla 203. +-- Viene richiamata dalla nuova stored procedure srv_change_codfiscaleMassiva_CU_SEIReport, che sostituisce la srv_change_codfiscaleMassiva_CU su SEIReport. +CREATE PROCEDURE [dbo].[sp_change_codfiscale_SEIReport] + -- Add the parameters for the stored procedure here + @nuovo varchar(16), + @vecchio varchar(16) +AS +BEGIN + SET NOCOUNT ON; +begin try + begin + transaction update_cf + update [VMBFDSREPSEI01\I1].SeiReport.dbo.Cliente + set codEsterno = @nuovo, + codFiscale = @nuovo + where codEsterno = @vecchio + --print @@rowcount + update [VMBFDSREPSEI01\I1].SeiReport.dbo.C6ReportFisico + set cliente = @nuovo + where cliente = @vecchio + update [VMBFDSREPSEI01\I1].SeiReport.dbo.C6ReportFisico_CAMPAGNA + set cliente = @nuovo + where cliente = @vecchio + update [VMBFDSREPSEI01\I1].SeiReport.dbo.LogFilePDF + set codicefiscale= @nuovo + where codicefiscale= @vecchio + update [VMBFDSREPSEI01\I1].SeiReport.dbo.RepositoryMetadati + set cod_fiscale=@nuovo + where cod_fiscale=@vecchio + commit transaction update_cf +end try +begin catch + rollback transaction update_cf +end catch +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_sp_creatediagram.sql b/sql/storedProduzione/dbo_sp_creatediagram.sql new file mode 100644 index 00000000..13cec40f --- /dev/null +++ b/sql/storedProduzione/dbo_sp_creatediagram.sql @@ -0,0 +1,51 @@ +CREATE PROCEDURE dbo.sp_creatediagram + ( + @diagramname sysname, + @owner_id int = null, + @version int, + @definition varbinary(max) + ) + WITH EXECUTE AS 'dbo' + AS + BEGIN + set nocount on + declare @theId int + declare @retval int + declare @IsDbo int + declare @userName sysname + if(@version is null or @diagramname is null) + begin + RAISERROR (N'E_INVALIDARG', 16, 1); + return -1 + end + execute as caller; + select @theId = DATABASE_PRINCIPAL_ID(); + select @IsDbo = IS_MEMBER(N'db_owner'); + revert; + if @owner_id is null + begin + select @owner_id = @theId; + end + else + begin + if @theId <> @owner_id + begin + if @IsDbo = 0 + begin + RAISERROR (N'E_INVALIDARG', 16, 1); + return -1 + end + select @theId = @owner_id + end + end + -- next 2 line only for test, will be removed after define name unique + if EXISTS(select diagram_id from dbo.sysdiagrams where principal_id = @theId and name = @diagramname) + begin + RAISERROR ('The name is already used.', 16, 1); + return -2 + end + insert into dbo.sysdiagrams(name, principal_id , version, definition) + VALUES(@diagramname, @theId, @version, @definition) ; + select @retval = @@IDENTITY + return @retval + END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_sp_dropdiagram.sql b/sql/storedProduzione/dbo_sp_dropdiagram.sql new file mode 100644 index 00000000..6f0ff712 --- /dev/null +++ b/sql/storedProduzione/dbo_sp_dropdiagram.sql @@ -0,0 +1,33 @@ +CREATE PROCEDURE dbo.sp_dropdiagram + ( + @diagramname sysname, + @owner_id int = null + ) + WITH EXECUTE AS 'dbo' + AS + BEGIN + set nocount on + declare @theId int + declare @IsDbo int + declare @UIDFound int + declare @DiagId int + if(@diagramname is null) + begin + RAISERROR ('Invalid value', 16, 1); + return -1 + end + EXECUTE AS CALLER; + select @theId = DATABASE_PRINCIPAL_ID(); + select @IsDbo = IS_MEMBER(N'db_owner'); + if(@owner_id is null) + select @owner_id = @theId; + REVERT; + select @DiagId = diagram_id, @UIDFound = principal_id from dbo.sysdiagrams where principal_id = @owner_id and name = @diagramname + if(@DiagId IS NULL or (@IsDbo = 0 and @UIDFound <> @theId)) + begin + RAISERROR ('Diagram does not exist or you do not have permission.', 16, 1) + return -3 + end + delete from dbo.sysdiagrams where diagram_id = @DiagId; + return 0; + END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_sp_dts_addlogentry.sql b/sql/storedProduzione/dbo_sp_dts_addlogentry.sql new file mode 100644 index 00000000..94b7b932 --- /dev/null +++ b/sql/storedProduzione/dbo_sp_dts_addlogentry.sql @@ -0,0 +1 @@ +CREATE PROCEDURE [dbo].[sp_dts_addlogentry] @event sysname, @computer nvarchar(128), @operator nvarchar(128), @source nvarchar(1024), @sourceid uniqueidentifier, @executionid uniqueidentifier, @starttime datetime, @endtime datetime, @datacode int, @databytes image, @message nvarchar(2048)AS INSERT INTO sysdtslog90 ( event, computer, operator, source, sourceid, executionid, starttime, endtime, datacode, databytes, message ) VALUES ( @event, @computer, @operator, @source, @sourceid, @executionid, @starttime, @endtime, @datacode, @databytes, @message ) RETURN 0 \ No newline at end of file diff --git a/sql/storedProduzione/dbo_sp_getColors.sql b/sql/storedProduzione/dbo_sp_getColors.sql new file mode 100644 index 00000000..7075275a --- /dev/null +++ b/sql/storedProduzione/dbo_sp_getColors.sql @@ -0,0 +1,18 @@ +CREATE procedure [dbo].[sp_getColors] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here +SELECT [Tipo] + ,[Codice] + ,[Ordinamento] + ,[Descrizione breve] + ,[Descrizione estesa] + ,[HexColor] + ,[Red] + ,[Green] + ,[Blue] + FROM [dbo].[Colori] +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_sp_helpdiagramdefinition.sql b/sql/storedProduzione/dbo_sp_helpdiagramdefinition.sql new file mode 100644 index 00000000..cc26fda5 --- /dev/null +++ b/sql/storedProduzione/dbo_sp_helpdiagramdefinition.sql @@ -0,0 +1,33 @@ +CREATE PROCEDURE dbo.sp_helpdiagramdefinition + ( + @diagramname sysname, + @owner_id int = null + ) + WITH EXECUTE AS N'dbo' + AS + BEGIN + set nocount on + declare @theId int + declare @IsDbo int + declare @DiagId int + declare @UIDFound int + if(@diagramname is null) + begin + RAISERROR (N'E_INVALIDARG', 16, 1); + return -1 + end + execute as caller; + select @theId = DATABASE_PRINCIPAL_ID(); + select @IsDbo = IS_MEMBER(N'db_owner'); + if(@owner_id is null) + select @owner_id = @theId; + revert; + select @DiagId = diagram_id, @UIDFound = principal_id from dbo.sysdiagrams where principal_id = @owner_id and name = @diagramname; + if(@DiagId IS NULL or (@IsDbo = 0 and @UIDFound <> @theId )) + begin + RAISERROR ('Diagram does not exist or you do not have permission.', 16, 1); + return -3 + end + select version, definition FROM dbo.sysdiagrams where diagram_id = @DiagId ; + return 0 + END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_sp_helpdiagrams.sql b/sql/storedProduzione/dbo_sp_helpdiagrams.sql new file mode 100644 index 00000000..57cbd17b --- /dev/null +++ b/sql/storedProduzione/dbo_sp_helpdiagrams.sql @@ -0,0 +1,29 @@ +CREATE PROCEDURE dbo.sp_helpdiagrams + ( + @diagramname sysname = NULL, + @owner_id int = NULL + ) + WITH EXECUTE AS N'dbo' + AS + BEGIN + DECLARE @user sysname + DECLARE @dboLogin bit + EXECUTE AS CALLER; + SET @user = USER_NAME(); + SET @dboLogin = CONVERT(bit,IS_MEMBER('db_owner')); + REVERT; + SELECT + [Database] = DB_NAME(), + [Name] = name, + [ID] = diagram_id, + [Owner] = USER_NAME(principal_id), + [OwnerID] = principal_id + FROM + sysdiagrams + WHERE + (@dboLogin = 1 OR USER_NAME(principal_id) = @user) AND + (@diagramname IS NULL OR name = @diagramname) AND + (@owner_id IS NULL OR principal_id = @owner_id) + ORDER BY + 4, 5, 1 + END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_sp_renamediagram.sql b/sql/storedProduzione/dbo_sp_renamediagram.sql new file mode 100644 index 00000000..9198e3e4 --- /dev/null +++ b/sql/storedProduzione/dbo_sp_renamediagram.sql @@ -0,0 +1,51 @@ +CREATE PROCEDURE dbo.sp_renamediagram + ( + @diagramname sysname, + @owner_id int = null, + @new_diagramname sysname + ) + WITH EXECUTE AS 'dbo' + AS + BEGIN + set nocount on + declare @theId int + declare @IsDbo int + declare @UIDFound int + declare @DiagId int + declare @DiagIdTarg int + declare @u_name sysname + if((@diagramname is null) or (@new_diagramname is null)) + begin + RAISERROR ('Invalid value', 16, 1); + return -1 + end + EXECUTE AS CALLER; + select @theId = DATABASE_PRINCIPAL_ID(); + select @IsDbo = IS_MEMBER(N'db_owner'); + if(@owner_id is null) + select @owner_id = @theId; + REVERT; + select @u_name = USER_NAME(@owner_id) + select @DiagId = diagram_id, @UIDFound = principal_id from dbo.sysdiagrams where principal_id = @owner_id and name = @diagramname + if(@DiagId IS NULL or (@IsDbo = 0 and @UIDFound <> @theId)) + begin + RAISERROR ('Diagram does not exist or you do not have permission.', 16, 1) + return -3 + end + -- if((@u_name is not null) and (@new_diagramname = @diagramname)) -- nothing will change + -- return 0; + if(@u_name is null) + select @DiagIdTarg = diagram_id from dbo.sysdiagrams where principal_id = @theId and name = @new_diagramname + else + select @DiagIdTarg = diagram_id from dbo.sysdiagrams where principal_id = @owner_id and name = @new_diagramname + if((@DiagIdTarg is not null) and @DiagId <> @DiagIdTarg) + begin + RAISERROR ('The name is already used.', 16, 1); + return -2 + end + if(@u_name is null) + update dbo.sysdiagrams set [name] = @new_diagramname, principal_id = @theId where diagram_id = @DiagId + else + update dbo.sysdiagrams set [name] = @new_diagramname where diagram_id = @DiagId + return 0 + END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_sp_upgraddiagrams.sql b/sql/storedProduzione/dbo_sp_upgraddiagrams.sql new file mode 100644 index 00000000..5bb7a970 --- /dev/null +++ b/sql/storedProduzione/dbo_sp_upgraddiagrams.sql @@ -0,0 +1,52 @@ +CREATE PROCEDURE dbo.sp_upgraddiagrams + AS + BEGIN + IF OBJECT_ID(N'dbo.sysdiagrams') IS NOT NULL + return 0; + CREATE TABLE dbo.sysdiagrams + ( + name sysname NOT NULL, + principal_id int NOT NULL, -- we may change it to varbinary(85) + diagram_id int PRIMARY KEY IDENTITY, + version int, + definition varbinary(max) + CONSTRAINT UK_principal_name UNIQUE + ( + principal_id, + name + ) + ); + /* Add this if we need to have some form of extended properties for diagrams */ + /* + IF OBJECT_ID(N'dbo.sysdiagram_properties') IS NULL + BEGIN + CREATE TABLE dbo.sysdiagram_properties + ( + diagram_id int, + name sysname, + value varbinary(max) NOT NULL + ) + END + */ + IF OBJECT_ID(N'dbo.dtproperties') IS NOT NULL + begin + insert into dbo.sysdiagrams + ( + [name], + [principal_id], + [version], + [definition] + ) + select + convert(sysname, dgnm.[uvalue]), + DATABASE_PRINCIPAL_ID(N'dbo'), -- will change to the sid of sa + 0, -- zero for old format, dgdef.[version], + dgdef.[lvalue] + from dbo.[dtproperties] dgnm + inner join dbo.[dtproperties] dggd on dggd.[property] = 'DtgSchemaGUID' and dggd.[objectid] = dgnm.[objectid] + inner join dbo.[dtproperties] dgdef on dgdef.[property] = 'DtgSchemaDATA' and dgdef.[objectid] = dgnm.[objectid] + where dgnm.[property] = 'DtgSchemaNAME' and dggd.[uvalue] like N'_EA3E6268-D998-11CE-9454-00AA00A3F36E_' + return 2; + end + return 1; + END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_srv_change_Professional_Base_CU.sql b/sql/storedProduzione/dbo_srv_change_Professional_Base_CU.sql new file mode 100644 index 00000000..1cad1753 --- /dev/null +++ b/sql/storedProduzione/dbo_srv_change_Professional_Base_CU.sql @@ -0,0 +1,16 @@ +CREATE procedure [dbo].[srv_change_Professional_Base_CU] + -- Add the parameters for the stored procedure here + @cod_conf varchar(64) +AS +BEGIN +declare @cod_conf_old varchar(64) +declare @data_chiusura varchar(128) +select top 1 @cod_conf_old= cod_conf_old from consulenzaunicafl.dbo.cbs_dbcontrattosei where cod_conf=@cod_conf +select top 1 @data_chiusura = trcom_dtinvio from consulenzaunicafl.dbo.cbs_histdatiingresso where trcom_codconf=@cod_conf_old and trcom_causale='RS6' +order by TRCOM_PRINVIO desc +update consulenzaunicafl.dbo.cbs_dbcontrattosei +set COD_CONF=@cod_conf_old , COD_CONF_OLD= null, tipoconsulenza='D', +data_chiusura_c6=@data_chiusura -- data trcom_invio con trcom_causale=RS6 +from consulenzaunicafl.dbo.cbs_dbcontrattosei +where cod_conf=@cod_conf +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_srv_change_codfiscale.sql b/sql/storedProduzione/dbo_srv_change_codfiscale.sql new file mode 100644 index 00000000..7229f4d1 --- /dev/null +++ b/sql/storedProduzione/dbo_srv_change_codfiscale.sql @@ -0,0 +1,106 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- RSIMLS46A45B670G RSIMLS46A46B670I +-- RMNVLM40L50H027T RMNWLM40L50H027U +--srv_change_codfiscale 'BRGPNG47C50F382V','FRNNLN53D59A757M',1 +--srv_change_codfiscale '04920830827','04020830827','0',0 +CREATE PROCEDURE [dbo].[srv_change_codfiscale] + -- Add the parameters for the stored procedure here + @nuovo varchar(16), + @vecchio varchar(16) + --FC 03/10/2014 + --Aggiunto Parametro gestione CF o P.I. + -- 1 = CF + -- 0 =P.I. + ,@isCodFis int + ,@retcodErr int output +AS +BEGIN + --SET NOCOUNT ON; +--toDo FC +begin try +-- begin transaction update_cf +--------GIORNALIERO--------------------------------------------- +-- update C6Mart.CONTRATTOSEI +-- set Cod_Fiscale = @nuovo +-- where Cod_Fiscale = @vecchio + update C6Mart.GESTIONE_PDF_FTP + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + update c6Mart.gestione_email + set cod_fiscale = @nuovo + where cod_fiscale = @vecchio +--------TRIMESTRALE--------------------------------------------- + update C6StagingPeriodico.ContrattiPretrimestrale + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6StagingPeriodico.APPO_CONTRATTI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.CONTRATTOSEI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.ANAG_CLIENTI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.controllo_trimestrale + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.GESTIONE_PDF_FTP + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio +-- Sul Sei tabella Cliente il CF è diviso per categoria P.I.V.A. o Cod. Fiscale + IF @isCodFis = 1 + Update C6STAGINGPERIODICO.RP_InfoCliente + set codfis =@nuovo + where codfis = @vecchio + IF @isCodFis = 0 + Update C6STAGINGPERIODICO.RP_InfoCliente + set piva =@nuovo + where piva = @vecchio +-- Sul Sei tabella Cliente il CF è diviso per categoria P.I.V.A. o Cod. Fiscale + IF @isCodFis = 1 + Update [CONSEVO_PERIODICO].ConsulenzaBase.dbo.Cliente + set codfis =@nuovo + where codfis = @vecchio + IF @isCodFis = 0 + Update [CONSEVO_PERIODICO].ConsulenzaBase.dbo.Cliente + set piva = @nuovo + where piva = @vecchio +--EXEC [VMBFDSREPSEI01\I1].[seireport].dbo.sp_change_codfiscale @NUOVO,@VECCHIO +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.Cliente +-- set codEsterno = @nuovo, +-- codFiscale = @nuovo +-- where codEsterno = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.C6ReportFisico +-- set cliente = @nuovo +-- where cliente = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.C6ReportFisico_CAMPAGNA +-- set cliente = @nuovo +-- where cliente = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.LogFilePDF +-- set codicefiscale= @nuovo +-- where codicefiscale= @vecchio +--toFC +--commit transaction update_cf +select @retcodErr=0 +--select * from C6Mart.gestione_email where cod_fiscale='VGNLSI31D47D526G' +--select * from C6Mart.CONTRATTOSEI where cod_fiscale=@nuovo +--toFC +end try +begin catch +-- --print('errore') +-- select 'CF : '+@nuovo CodFiscale,@@error codErr,ERROR_MESSAGE() errMss + --rollback transaction update_cf + select @retcodErr=-1 +end catch +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_srv_change_codfiscaleMassiva.sql b/sql/storedProduzione/dbo_srv_change_codfiscaleMassiva.sql new file mode 100644 index 00000000..062831a5 --- /dev/null +++ b/sql/storedProduzione/dbo_srv_change_codfiscaleMassiva.sql @@ -0,0 +1,76 @@ +-- ============================================= +-- Author: Atzeri Emanuele +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[srv_change_codfiscaleMassiva] + -- Add the parameters for the stored procedure here +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --SET NOCOUNT ON; + DECLARE @Vecchio varchar(16) + DECLARE @Nuovo varchar(16) + DECLARE @DataIns datetime + DECLARE @isCodFis int + --DECLARE @UltimaData varchar(8) + Declare @contErr int + Declare @CodErr int + Declare @retDescErr varchar(500) + set @CodErr= 1 + set @contErr= 0 +-- SELECT @UltimaData = MAX(convert(varchar(8), DataOperazione, 112)) FROM dbo.RicodificaMassiva +-- UPDATE [CONSEVO].ConsulenzaBaseFL.dbo.RICODIF_CF_PIVA +-- SET Base = 0 +-- FROM [CONSEVO].ConsulenzaBaseFL.dbo.RICODIF_CF_PIVA a +-- INNER JOIN C6Mart.Gestione_PDF_FTP b +-- ON a.CF_OLD = b.CodiceFiscale +-- WHERE +-- Base is null +-- +-- UPDATE [CONSEVO].ConsulenzaBaseFL.dbo.RICODIF_CF_PIVA +-- SET Base = 1 +-- WHERE +-- Base is null + DECLARE Ricodifica_cursor CURSOR FOR +-- SELECT Vecchio, Nuovo FROM dbo.RicodificaMassiva +-- WHERE DataOperazione > @UltimaData + SELECT CF_OLD, CF_NEW, DTINSERIMENTO from RICODIF_CF_PIVA + ORDER BY DTINSERIMENTO + OPEN Ricodifica_cursor + FETCH NEXT FROM Ricodifica_cursor + INTO @Vecchio, @Nuovo, @DataIns + WHILE @@FETCH_STATUS = 0 + BEGIN + select @isCodfis=dbo.RegExIsMatch ( '\D' , @Nuovo , 1 ) + EXEC dbo.srv_change_codfiscale @Nuovo, @Vecchio , @isCodFis , @retcodErr=@CodErr output + if @CodErr = 0 + begin + UPDATE [CONSEVO].ConsulenzaBaseFL.dbo.RICODIF_CF_PIVA + SET RicodificatoContratto6 = 1 + WHERE + CF_OLD = @Vecchio + AND + CF_NEW = @Nuovo + AND + DTINSERIMENTO = @DataIns + AND + RicodificatoContratto6 is null + end + else + begin + select @CodErr, 'Errore ' + set @contErr=@contErr+1; + end + FETCH NEXT FROM Ricodifica_cursor + INTO @Vecchio, @Nuovo, @DataIns + END + CLOSE Ricodifica_cursor + DEALLOCATE Ricodifica_cursor + select @contErr +-- UPDATE [CONSEVO].ConsulenzaBaseFL.dbo.RICODIF_CF_PIVA +-- SET RicodificatoContratto6 = 0 +-- WHERE +-- RicodificatoContratto6 is null +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_srv_change_codfiscaleMassiva_CU.sql b/sql/storedProduzione/dbo_srv_change_codfiscaleMassiva_CU.sql new file mode 100644 index 00000000..93e00761 --- /dev/null +++ b/sql/storedProduzione/dbo_srv_change_codfiscaleMassiva_CU.sql @@ -0,0 +1,55 @@ +-- ============================================= +-- Author: Atzeri Emanuele +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[srv_change_codfiscaleMassiva_CU] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @Vecchio varchar(16) + DECLARE @Nuovo varchar(16) + DECLARE @DataIns datetime + DECLARE @isCodFis int + Declare @contErr int + Declare @CodErr int + Declare @retDescErr varchar(500) + set @CodErr= 1 + set @contErr= 0 + DECLARE Ricodifica_cursor CURSOR FOR + SELECT CF_OLD, CF_NEW, DTINSERIMENTO from RICODIF_CF_PIVA_CU + ORDER BY DTINSERIMENTO + OPEN Ricodifica_cursor + FETCH NEXT FROM Ricodifica_cursor + INTO @Vecchio, @Nuovo, @DataIns + WHILE @@FETCH_STATUS = 0 + BEGIN + select @isCodfis=dbo.RegExIsMatch ( '\D' , @Nuovo , 1 ) + EXEC dbo.srv_change_codfiscale_CU @Nuovo, @Vecchio , @isCodFis , @retcodErr=@CodErr output + if @CodErr = 0 + begin + UPDATE [CONSUNI].ConsulenzaUnicaFL.dbo.RICODIF_CF_PIVA + SET RicodificatoContratto6 = 1 + WHERE + CF_OLD = @Vecchio + AND + CF_NEW = @Nuovo + AND + DTINSERIMENTO = @DataIns + AND + RicodificatoContratto6 is null + end + else + begin + select @CodErr, 'Errore ' + set @contErr=@contErr+1; + end + FETCH NEXT FROM Ricodifica_cursor + INTO @Vecchio, @Nuovo, @DataIns + END + CLOSE Ricodifica_cursor + DEALLOCATE Ricodifica_cursor + select @contErr as 'result' + return @contErr +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_srv_change_codfiscaleMassiva_CU_SEIReport.sql b/sql/storedProduzione/dbo_srv_change_codfiscaleMassiva_CU_SEIReport.sql new file mode 100644 index 00000000..8ccb44fb --- /dev/null +++ b/sql/storedProduzione/dbo_srv_change_codfiscaleMassiva_CU_SEIReport.sql @@ -0,0 +1,28 @@ +-- D_DTSX 20180511 +-- Esegue l'allineamento sulla SEIReport. +-- Sostituisce la srv_change_codfiscaleMassiva_CU della SEIReport, per poter eseguire l'allineamento direttamente dalla 203. +-- Richiama la nuova stored procedure sp_change_codfiscale_SEIReport, che sostituisce la sp_change_codfiscale su SEIReport. +CREATE PROCEDURE [dbo].[srv_change_codfiscaleMassiva_CU_SEIReport] +AS +BEGIN + DECLARE @Vecchio varchar(16) + DECLARE @Nuovo varchar(16) + --DECLARE @UltimaData varchar(8) + --SELECT @UltimaData = MAX(convert(varchar(8), DataOperazione, 112)) FROM [10.10.32.203].C6StampeCentralizzate.dbo.RicodificaMassiva + DECLARE Ricodifica_cursor CURSOR FOR +-- SELECT Vecchio, Nuovo FROM [10.10.32.203].C6StampeCentralizzate.dbo.RicodificaMassiva +-- WHERE DataOperazione > @UltimaData + SELECT CF_OLD, CF_NEW FROM RICODIF_CF_PIVA_CU + ORDER BY DTINSERIMENTO + OPEN Ricodifica_cursor + FETCH NEXT FROM Ricodifica_cursor + INTO @Vecchio, @Nuovo + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC dbo.[sp_change_codfiscale_SEIReport] @Nuovo, @Vecchio + FETCH NEXT FROM Ricodifica_cursor + INTO @Vecchio, @Nuovo + END + CLOSE Ricodifica_cursor + DEALLOCATE Ricodifica_cursor +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_srv_change_codfiscale_20161114.sql b/sql/storedProduzione/dbo_srv_change_codfiscale_20161114.sql new file mode 100644 index 00000000..a4463acd --- /dev/null +++ b/sql/storedProduzione/dbo_srv_change_codfiscale_20161114.sql @@ -0,0 +1,106 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- RSIMLS46A45B670G RSIMLS46A46B670I +-- RMNVLM40L50H027T RMNWLM40L50H027U +--srv_change_codfiscale 'BRGPNG47C50F382V','FRNNLN53D59A757M',1 +--srv_change_codfiscale '04920830827','04020830827','0',0 +CREATE PROCEDURE [dbo].[srv_change_codfiscale_20161114] + -- Add the parameters for the stored procedure here + @nuovo varchar(16), + @vecchio varchar(16) + --FC 03/10/2014 + --Aggiunto Parametro gestione CF o P.I. + -- 1 = CF + -- 0 =P.I. + ,@isCodFis int + ,@retcodErr int output +AS +BEGIN + --SET NOCOUNT ON; +--toDo FC +begin try +-- begin transaction update_cf +--------GIORNALIERO--------------------------------------------- +-- update C6Mart.CONTRATTOSEI +-- set Cod_Fiscale = @nuovo +-- where Cod_Fiscale = @vecchio + update C6Mart.GESTIONE_PDF_FTP + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + update c6Mart.gestione_email + set cod_fiscale = @nuovo + where cod_fiscale = @vecchio +--------TRIMESTRALE--------------------------------------------- + update C6StagingPeriodico.ContrattiPretrimestrale + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6StagingPeriodico.APPO_CONTRATTI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.CONTRATTOSEI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.ANAG_CLIENTI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.controllo_trimestrale + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.GESTIONE_PDF_FTP + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio +-- Sul Sei tabella Cliente il CF è diviso per categoria P.I.V.A. o Cod. Fiscale + IF @isCodFis = 1 + Update C6STAGINGPERIODICO.RP_InfoCliente + set codfis =@nuovo + where codfis = @vecchio + IF @isCodFis = 0 + Update C6STAGINGPERIODICO.RP_InfoCliente + set piva =@nuovo + where piva = @vecchio +-- Sul Sei tabella Cliente il CF è diviso per categoria P.I.V.A. o Cod. Fiscale + IF @isCodFis = 1 + Update [CONSEVO_PERIODICO].ConsulenzaBase.dbo.Cliente + set codfis =@nuovo + where codfis = @vecchio + IF @isCodFis = 0 + Update [CONSEVO_PERIODICO].ConsulenzaBase.dbo.Cliente + set piva = @nuovo + where piva = @vecchio +--EXEC [VMBFDSREPSEI01\I1].[seireport].dbo.sp_change_codfiscale @NUOVO,@VECCHIO +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.Cliente +-- set codEsterno = @nuovo, +-- codFiscale = @nuovo +-- where codEsterno = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.C6ReportFisico +-- set cliente = @nuovo +-- where cliente = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.C6ReportFisico_CAMPAGNA +-- set cliente = @nuovo +-- where cliente = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.LogFilePDF +-- set codicefiscale= @nuovo +-- where codicefiscale= @vecchio +--toFC +--commit transaction update_cf +select @retcodErr=0 +--select * from C6Mart.gestione_email where cod_fiscale='VGNLSI31D47D526G' +--select * from C6Mart.CONTRATTOSEI where cod_fiscale=@nuovo +--toFC +end try +begin catch +-- --print('errore') +-- select 'CF : '+@nuovo CodFiscale,@@error codErr,ERROR_MESSAGE() errMss + --rollback transaction update_cf + select @retcodErr=-1 +end catch +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_srv_change_codfiscale_20161114_OLwhenQready.sql b/sql/storedProduzione/dbo_srv_change_codfiscale_20161114_OLwhenQready.sql new file mode 100644 index 00000000..e110a8d1 --- /dev/null +++ b/sql/storedProduzione/dbo_srv_change_codfiscale_20161114_OLwhenQready.sql @@ -0,0 +1,107 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- RSIMLS46A45B670G RSIMLS46A46B670I +-- RMNVLM40L50H027T RMNWLM40L50H027U +--srv_change_codfiscale 'BRGPNG47C50F382V','FRNNLN53D59A757M',1 +--srv_change_codfiscale '04920830827','04020830827','0',0 +CREATE procedure [dbo].[srv_change_codfiscale_20161114_OLwhenQready] + -- Add the parameters for the stored procedure here + @nuovo varchar(16), + @vecchio varchar(16) + --FC 03/10/2014 + --Aggiunto Parametro gestione CF o P.I. + -- 1 = CF + -- 0 =P.I. + ,@isCodFis int + ,@retcodErr int output +AS +BEGIN + --SET NOCOUNT ON; +--toDo FC +begin try +-- begin transaction update_cf +--------GIORNALIERO--------------------------------------------- +-- update C6Mart.CONTRATTOSEI +-- set Cod_Fiscale = @nuovo +-- where Cod_Fiscale = @vecchio + update C6Mart.GESTIONE_PDF_FTP + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + update c6Mart.gestione_email + set cod_fiscale = @nuovo + where cod_fiscale = @vecchio +--------TRIMESTRALE--------------------------------------------- + update C6StagingPeriodico.ContrattiPretrimestrale + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6StagingPeriodico.APPO_CONTRATTI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.CONTRATTOSEI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.ANAG_CLIENTI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.controllo_trimestrale + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.GESTIONE_PDF_FTP + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio +-- Sul Sei tabella Cliente il CF è diviso per categoria P.I.V.A. o Cod. Fiscale + IF @isCodFis = 1 + Update C6STAGINGPERIODICO.RP_InfoCliente + set codfis =@nuovo + where codfis = @vecchio + IF @isCodFis = 0 + Update C6STAGINGPERIODICO.RP_InfoCliente + set piva =@nuovo + where piva = @vecchio +-- Sul Sei tabella Cliente il CF è diviso per categoria P.I.V.A. o Cod. Fiscale +--en20161114 update done in specific SP for Quarterly + ----IF @isCodFis = 1 + ----Update [CONSEVO_PERIODICO].ConsulenzaBase.dbo.Cliente + ----set codfis =@nuovo + ----where codfis = @vecchio + ----IF @isCodFis = 0 + ----Update [CONSEVO_PERIODICO].ConsulenzaBase.dbo.Cliente + ----set piva = @nuovo + ----where piva = @vecchio +--EXEC [VMBFDSREPSEI01\I1].[seireport].dbo.sp_change_codfiscale @NUOVO,@VECCHIO +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.Cliente +-- set codEsterno = @nuovo, +-- codFiscale = @nuovo +-- where codEsterno = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.C6ReportFisico +-- set cliente = @nuovo +-- where cliente = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.C6ReportFisico_CAMPAGNA +-- set cliente = @nuovo +-- where cliente = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.LogFilePDF +-- set codicefiscale= @nuovo +-- where codicefiscale= @vecchio +--toFC +--commit transaction update_cf +select @retcodErr=0 +--select * from C6Mart.gestione_email where cod_fiscale='VGNLSI31D47D526G' +--select * from C6Mart.CONTRATTOSEI where cod_fiscale=@nuovo +--toFC +end try +begin catch +-- --print('errore') +-- select 'CF : '+@nuovo CodFiscale,@@error codErr,ERROR_MESSAGE() errMss + --rollback transaction update_cf + select @retcodErr=-1 +end catch +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_srv_change_codfiscale_CU.sql b/sql/storedProduzione/dbo_srv_change_codfiscale_CU.sql new file mode 100644 index 00000000..84dbad99 --- /dev/null +++ b/sql/storedProduzione/dbo_srv_change_codfiscale_CU.sql @@ -0,0 +1,103 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- RSIMLS46A45B670G RSIMLS46A46B670I +-- RMNVLM40L50H027T RMNWLM40L50H027U +--[dbo].[srv_change_codfiscale_CU] 'BRGPNG47C50F382V','FRNNLN53D59A757M',1 +--[dbo].[srv_change_codfiscale_CU] '04920830827','04020830827','0',0 +CREATE procedure [dbo].[srv_change_codfiscale_CU] + -- Add the parameters for the stored procedure here + @nuovo varchar(16), + @vecchio varchar(16) + --FC 03/10/2014 + --Aggiunto Parametro gestione CF o P.I. + -- 1 = CF + -- 0 =P.I. + ,@isCodFis int + ,@retcodErr int output +AS +BEGIN + --SET NOCOUNT ON; +--toDo FC +begin try +-- begin transaction update_cf +--------GIORNALIERO--------------------------------------------- +-- update C6Mart.CONTRATTOSEI +-- set Cod_Fiscale = @nuovo +-- where Cod_Fiscale = @vecchio + update C6Mart.GESTIONE_PDF_FTP + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + update c6Mart.gestione_email + set cod_fiscale = @nuovo + where cod_fiscale = @vecchio +--------TRIMESTRALE--------------------------------------------- + update C6StagingPeriodico.ContrattiPretrimestrale + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6StagingPeriodico.APPO_CONTRATTI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.CONTRATTOSEI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.ANAG_CLIENTI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.controllo_trimestrale + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.GESTIONE_PDF_FTP + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + update [C6StagingPeriodico].[Popola_PiramideModello] + set cod_fiscale = @nuovo + where cod_fiscale = @vecchio + --aggiunta 11/07/2022 per app Rendicontazione + update C6MartPeriodico.tabellone + set chiave_acn=rete_acn+@nuovo, codfis=@nuovo + where codfis=@vecchio + update C6MartPeriodico.tabellone + set codice_fiscale=@nuovo + where codice_fiscale=@vecchio + update C6StagingPeriodico.datiROL2 + set CODFIS=@nuovo + where CODFIS=@vecchio + --fine aggiunta +-- Sul Sei tabella Cliente il CF è diviso per categoria P.I.V.A. o Cod. Fiscale + IF @isCodFis = 1 + Update C6STAGINGPERIODICO.RP_InfoCliente + set codfis =@nuovo + where codfis = @vecchio + IF @isCodFis = 0 + Update C6STAGINGPERIODICO.RP_InfoCliente + set piva =@nuovo + where piva = @vecchio +-- Sul Sei tabella Cliente il CF è diviso per categoria P.I.V.A. o Cod. Fiscale + IF @isCodFis = 1 + Update [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.Cliente + set codfis =@nuovo + where codfis = @vecchio + IF @isCodFis = 0 + Update [CONSUNI_PERIODICO].ConsulenzaUnica.dbo.Cliente + set piva = @nuovo + where piva = @vecchio +--toFC +--commit transaction update_cf +select @retcodErr=0 +--select * from C6Mart.gestione_email where cod_fiscale='VGNLSI31D47D526G' +--select * from C6Mart.CONTRATTOSEI where cod_fiscale=@nuovo +--toFC +end try +begin catch +-- --print('errore') +-- select 'CF : '+@nuovo CodFiscale,@@error codErr,ERROR_MESSAGE() errMss + --rollback transaction update_cf + select @retcodErr=-1 +end catch +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_srv_change_codfiscale_mod.sql b/sql/storedProduzione/dbo_srv_change_codfiscale_mod.sql new file mode 100644 index 00000000..759b3882 --- /dev/null +++ b/sql/storedProduzione/dbo_srv_change_codfiscale_mod.sql @@ -0,0 +1,106 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- RSIMLS46A45B670G RSIMLS46A46B670I +-- RMNVLM40L50H027T RMNWLM40L50H027U +--srv_change_codfiscale 'BRGPNG47C50F382V','FRNNLN53D59A757M',1 +--srv_change_codfiscale '04920830827','04020830827','0',0 +CREATE PROCEDURE [dbo].[srv_change_codfiscale_mod] + -- Add the parameters for the stored procedure here + @nuovo varchar(16), + @vecchio varchar(16) + --FC 03/10/2014 + --Aggiunto Parametro gestione CF o P.I. + -- 1 = CF + -- 0 =P.I. + ,@isCodFis int + ,@retcodErr int output +AS +BEGIN + --SET NOCOUNT ON; +--toDo FC +begin try +-- begin transaction update_cf +--------GIORNALIERO--------------------------------------------- +-- update C6Mart.CONTRATTOSEI +-- set Cod_Fiscale = @nuovo +-- where Cod_Fiscale = @vecchio + update C6Mart.GESTIONE_PDF_FTP + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + update c6Mart.gestione_email + set cod_fiscale = @nuovo + where cod_fiscale = @vecchio +--------TRIMESTRALE--------------------------------------------- + update C6StagingPeriodico.ContrattiPretrimestrale + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6StagingPeriodico.APPO_CONTRATTI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.CONTRATTOSEI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.ANAG_CLIENTI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.controllo_trimestrale + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.GESTIONE_PDF_FTP + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio +-- Sul Sei tabella Cliente il CF è diviso per categoria P.I.V.A. o Cod. Fiscale + IF @isCodFis = 1 + Update C6STAGINGPERIODICO.RP_InfoCliente + set codfis =@nuovo + where codfis = @vecchio + IF @isCodFis = 0 + Update C6STAGINGPERIODICO.RP_InfoCliente + set piva =@nuovo + where piva = @vecchio +-- Sul Sei tabella Cliente il CF è diviso per categoria P.I.V.A. o Cod. Fiscale + IF @isCodFis = 1 + Update [CONSEVO_PERIODICO].ConsulenzaBase.dbo.Cliente + set codfis =@nuovo + where codfis = @vecchio + IF @isCodFis = 0 + Update [CONSEVO_PERIODICO].ConsulenzaBase.dbo.Cliente + set piva = @nuovo + where piva = @vecchio +--EXEC [VMBFDSREPSEI01\I1].[seireport].dbo.sp_change_codfiscale @NUOVO,@VECCHIO +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.Cliente +-- set codEsterno = @nuovo, +-- codFiscale = @nuovo +-- where codEsterno = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.C6ReportFisico +-- set cliente = @nuovo +-- where cliente = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.C6ReportFisico_CAMPAGNA +-- set cliente = @nuovo +-- where cliente = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.LogFilePDF +-- set codicefiscale= @nuovo +-- where codicefiscale= @vecchio +--toFC +--commit transaction update_cf +select @retcodErr=0 +--select * from C6Mart.gestione_email where cod_fiscale='VGNLSI31D47D526G' +--select * from C6Mart.CONTRATTOSEI where cod_fiscale=@nuovo +--toFC +end try +begin catch +-- --print('errore') +select 'CF : '+@nuovo CodFiscale,@@error codErr,ERROR_MESSAGE() errMss + --rollback transaction update_cf + select @retcodErr=-1 +end catch +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_srv_change_rete_CU.sql b/sql/storedProduzione/dbo_srv_change_rete_CU.sql new file mode 100644 index 00000000..61a3c4b0 --- /dev/null +++ b/sql/storedProduzione/dbo_srv_change_rete_CU.sql @@ -0,0 +1,98 @@ +/* +DECLARE @RetSP int +DECLARE @retcodErr int +EXECUTE @RetSP = [dbo].[srv_change_rete_CU] + 'F' -- @nuovaRete + , 'S' -- @vecchiaRete + , 'VLNLLL61D62Z133G' -- @CF + , 1 -- @isCodFis: 0-PIva; 1-CF; 2-CodMan Fiduciarie + , '507435CO801' -- @CodiceContratto + , @retcodErr OUTPUT + Select @RetSP RetSP, @retcodErr retcodErr +*/ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[srv_change_rete_CU] + -- Add the parameters for the stored procedure here + @nuovaRete varchar(1) + , @vecchiaRete varchar(1) + , @CF varchar(16) + --FC 03/10/2014 + --Aggiunto Parametro gestione CF o P.I. + -- 1 = CF + -- 0 =P.I. + -- 2 =CodMan Fiduciarie + , @isCodFis int + , @CodiceContratto varchar(20) + , @retcodErr int output +AS +BEGIN + --SET NOCOUNT ON; +--toDo FC +begin try +-- begin transaction update_cf +--------GIORNALIERO--------------------------------------------- +-- update C6Mart.CONTRATTOSEI +-- set Cod_Fiscale = @nuovo +-- where Cod_Fiscale = @vecchio + update C6Mart.GESTIONE_PDF_FTP + set rete = @nuovaRete + where CodiceFiscale = @CF and Rete=@vecchiaRete + update c6Mart.gestione_email + set rete = @nuovaRete + where Cod_Fiscale = @CF and Rete=@vecchiaRete +--------TRIMESTRALE--------------------------------------------- + update C6StagingPeriodico.ContrattiPretrimestrale + set rete = @nuovaRete + where Cod_Fiscale = @CF and codiceContratto = @CodiceContratto and Rete = @vecchiaRete + update C6StagingPeriodico.APPO_CONTRATTI + set rete = @nuovaRete + where Cod_Fiscale = @CF and Rete=@vecchiaRete + update C6MartPeriodico.CONTRATTOSEI + set rete = @nuovaRete + where Cod_Fiscale = @CF and codiceContratto = @CodiceContratto and Rete=@vecchiaRete + update C6MartPeriodico.ANAG_CLIENTI + set rete = @nuovaRete + where Cod_Fiscale = @CF and Rete=@vecchiaRete + update C6MartPeriodico.controllo_trimestrale + set rete = @nuovaRete + where Cod_Fiscale = @CF and Rete=@vecchiaRete + update C6MartPeriodico.GESTIONE_PDF_FTP + set rete = @nuovaRete + where CodiceFiscale = @CF and codiceContratto = @CodiceContratto and Rete=@vecchiaRete + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set rete = @nuovaRete + where CodiceFiscale = @CF and Rete=@vecchiaRete + update [C6StagingPeriodico].[Popola_PiramideModello] + set rete = @nuovaRete + where Cod_Fiscale = @CF and Rete=@vecchiaRete +-- Sul Sei tabella Cliente il CF è diviso per categoria P.I.V.A., Cod. Fiscale o CodMan per Fiduciarie + IF @isCodFis = 1 + Update C6STAGINGPERIODICO.RP_InfoCliente + set rete = @nuovaRete + where CodFis = @CF and codiceContratto = @CodiceContratto and Rete=@vecchiaRete + IF @isCodFis = 0 + Update C6STAGINGPERIODICO.RP_InfoCliente + set rete = @nuovaRete + where piva = @CF and codiceContratto = @CodiceContratto and Rete=@vecchiaRete + IF @isCodFis = 2 + Update C6STAGINGPERIODICO.RP_InfoCliente + set rete = @nuovaRete + where CodMan = @CF and codiceContratto = @CodiceContratto and Rete=@vecchiaRete +--toFC +--commit transaction update_cf +select @retcodErr=0 +--select * from C6Mart.gestione_email where cod_fiscale='VGNLSI31D47D526G' +--select * from C6Mart.CONTRATTOSEI where cod_fiscale=@nuovo +--toFC +end try +begin catch +-- --print('errore') +-- select 'CF : '+@nuovo CodFiscale,@@error codErr,ERROR_MESSAGE() errMss + --rollback transaction update_cf + select @retcodErr=-1 +end catch +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_test_S80All_fc.sql b/sql/storedProduzione/dbo_test_S80All_fc.sql new file mode 100644 index 00000000..946fd43c --- /dev/null +++ b/sql/storedProduzione/dbo_test_S80All_fc.sql @@ -0,0 +1,249 @@ +CREATE procedure [dbo].[test_S80All_fc] +AS +BEGIN +/* + Purpose: Calculate the total quantity and sales of the product in + product wise. + Input : No input specified. It will calculate for all the products + in Product Master table. + Output : ProductID,ProductName,Total Quantity and Grand Total of + sale. + Method : The report generated without using the Cursor +----------------------------------------------------------------------- +********************* Modification History ************************* +----------------------------------------------------------------------- +S.No Name Date Version +----------------------------------------------------------------------- +1. Erode Senthilkumar Sep 01, 2009 1.0 +----------------------------------------------------------------------- +*/ + SET NOCOUNT ON + SET XACT_ABORT ON + DECLARE @ProductID INT + DECLARE @ProductName VARCHAR(100) + DECLARE @TotalQty INT + DECLARE @Total MONEY + DECLARE @Index INT + DECLARE @RecordCnt INT + DECLARE @tab TABLE( + id INT IDENTITY(1,1) + ,rete char(1) + ,codicefiscale varchar(16) + ,totCC int + ,totNoCC int + ) + DECLARE @testTab TABLE + ( + id INT IDENTITY(1,1) + ,rete char(1) + ,codicefiscale VARCHAR(100) + ,CountCC INT + ,CountNoCC int + ) + DECLARE @Rete char(1) + DECLARE @CodiceFiscale varchar(16) + -- Recupero data congelamento SEI + DECLARE @MONIT_INIT INT + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + DECLARE @AGGR INT + declare @contaCC as int + declare @contapos as int + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + SELECT @Index = 1 + INSERT INTO @tab(rete,codicefiscale,totCC,totNoCC) + select rete,cod_fiscale + ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc + ,sum ( case when tipo_prodotto <>'CC' then tot else 0 end ) as nocc + from + ( select rete,cod_fiscale,tipo_prodotto,count(*) tot + from c6martperiodico.patrimonio_Bf + --where cod_fiscale = @codiceFiscale and rete = @rete + group by rete,cod_fiscale,tipo_prodotto + ) as gr + group by rete,cod_fiscale + SELECT @RecordCnt = COUNT(id) FROM @tab + WHILE (@Index <= @RecordCnt) + BEGIN + SELECT @rete=rete + ,@codicefiscale=codicefiscale + ,@contacc=totCC + ,@contapos=totNoCC + FROM @tab WHERE id = @Index + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @AGGR=COUNT(*) + FROM + C6MARTPERIODICO.RISCHIO_AGGREGATO + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + IF (@MONIT_ATTIV > 0 AND @AGGR > 0 AND @MONIT_INIT > 0) + BEGIN + -- Attivazione monitoraggio +-- nuova versione da testare +insert into c6martperiodico.tb_S80BisEvoluzioneRischio + SELECT + @rete, + @codicefiscale, + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO + ELSE ROUND(INI.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + INI.VAR_COPERTURA AS Copertura, + INI.RISKCLASS, + INI.RISKCLASSMAX, + case + when INI.RISKCLASS is null then 'n.d.' + when INI.RISKCLASS = 0 then 'n.a.' + else null + end as RiskClassString, + case + when INI.RISKCLASSMAX is null then 'n.d.' + when INI.RISKCLASSMAX = 0 then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + LEFT OUTER join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.RETE = @Rete AND + INI.COD_FISCALE = @CodiceFiscale +-- SELECT +-- 1 AS Fase, +-- INI.DATA_FOTO AS DataFase, +-- INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, +-- --V +-- CASE +-- WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO +-- ELSE ROUND(INI.VAR_COMPLESSIVO,2) +-- END AS VarComplessivo, +-- INI.VAR_COPERTURA AS Copertura +-- FROM +-- C6MartPeriodico.MONITORAGGIO_INIZIALE INI +-- +-- WHERE +-- INI.RETE = @Rete AND +-- INI.COD_FISCALE = @CodiceFiscale + UNION ALL + -- Precedente invio report + SELECT + @rete, + @codicefiscale, + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN rep.VAR_COMPLESSIVO IS NULL THEN rep.VAR_COMPLESSIVO + ELSE ROUND(rep.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + rep.VAR_COPERTURA AS Copertura, + rep.RISKCLASS, + rep.RISKCLASSMAX, + case when rep.RISKCLASS is null then 'n.a.' + else null + end as RiskClassString, + case when rep.RISKCLASSMAX is null then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + rep.RETE = @Rete AND + rep.COD_FISCALE = @CodiceFiscale + AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + SELECT + @rete, + @codicefiscale, + 3 fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + CASE + WHEN (@contaPOS - @contaCC = 0 ) THEN 100 + ELSE isnull(RA.COPERTURA,0) + END AS Copertura, +-- TRINGALI MODIFICARE + ra.creditrisk as RISKCLASS, + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' + else null end as RiskClassString, + case when mifid.riskclass is null then 'n.a.' + else null end as RiskClassMaxString + FROM + C6MartPeriodico.vPatrimonioBFAggregato AS BF + INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON BF.RETE = MIFID.RETE + AND BF.COD_FISCALE = MIFID.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = BF.RETE + AND RA.COD_FISCALE = BF.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' + WHERE + BF.RETE = @Rete AND + BF.COD_FISCALE = @CodiceFiscale +END +ELSE +BEGIN + insert into c6martperiodico.tb_S80BisEvoluzioneRischio + ( rete,codicefiscale,fase,datafase,VarMassimoProfiloFinanziario,VarComplessivo,Copertura) + SELECT + @rete, + @codicefiscale, + 2 AS Fase, + DATA_INVIO AS DataFase, + VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN VAR_COMPLESSIVO IS NULL THEN VAR_COMPLESSIVO + ELSE ROUND(VAR_COMPLESSIVO,2) + END AS VarComplessivo, + VAR_COPERTURA AS Copertura + FROM + C6MartPeriodico.MONITORAGGIO_REPORT + WHERE +1=2 +END + SELECT @Index = @Index + 1 + END + SELECT count(*) FROM @testTab +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_test_compl_testo_sezione_adeg_obsoleta.sql b/sql/storedProduzione/dbo_test_compl_testo_sezione_adeg_obsoleta.sql new file mode 100644 index 00000000..1d07431d --- /dev/null +++ b/sql/storedProduzione/dbo_test_compl_testo_sezione_adeg_obsoleta.sql @@ -0,0 +1,16 @@ +-- [dbo].[test_compl_testo_sezione_adeg] 'S', 'BNOSDR61T03F205W' --ok ok +-- [dbo].[test_compl_testo_sezione_adeg] 'F', 'BBOLLN35H65Z110L' --nok nok +CREATE procedure [dbo].[test_compl_testo_sezione_adeg_obsoleta] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT TESTO_NOTA + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN_TEST_COMPLESSITA] ancmpl + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] adeg + ON [adeg].[complessita] = [ancmpl].[CLCOMPL] + and [adeg].[concentrazione] = [ancmpl].[FLGCONC] + where rete = @Rete and codfis = @CodiceFiscale + and DTTRIM='20151231' +--'Tutti gli strumenti finanziari nel suo portafoglio risultano avere una complessità coerente con il suo livello di esperienza e conoscenza risultante dal questionario di profilatura' +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_test_fc.sql b/sql/storedProduzione/dbo_test_fc.sql new file mode 100644 index 00000000..e88101d1 --- /dev/null +++ b/sql/storedProduzione/dbo_test_fc.sql @@ -0,0 +1,7 @@ +CREATE procedure [dbo].[test_fc] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +select @rete,@codicefiscale +End \ No newline at end of file diff --git a/sql/storedProduzione/dbo_usp_ExportImage.sql b/sql/storedProduzione/dbo_usp_ExportImage.sql new file mode 100644 index 00000000..42b69eb6 --- /dev/null +++ b/sql/storedProduzione/dbo_usp_ExportImage.sql @@ -0,0 +1,35 @@ +CREATE PROCEDURE [dbo].[usp_ExportImage] ( + @PicName NVARCHAR (100) + ,@ImageFolderPath NVARCHAR(1000) + ,@Filename NVARCHAR(1000) + ) +AS +BEGIN + DECLARE @ImageData VARBINARY (max); + DECLARE @Path2OutFile NVARCHAR (2000); + DECLARE @Obj INT + SET NOCOUNT ON + SELECT @ImageData = ( + SELECT convert (VARBINARY (max), PictureData, 1) + FROM Pictures + WHERE pictureName = @PicName + ); + SET @Path2OutFile = CONCAT ( + @ImageFolderPath + ,'\' + , @Filename + ); + BEGIN TRY + EXEC sp_OACreate 'ADODB.Stream' ,@Obj OUTPUT; + EXEC sp_OASetProperty @Obj ,'Type',1; + EXEC sp_OAMethod @Obj,'Open'; + EXEC sp_OAMethod @Obj,'Write', NULL, @ImageData; + EXEC sp_OAMethod @Obj,'SaveToFile', NULL, @Path2OutFile, 2; + EXEC sp_OAMethod @Obj,'Close'; + EXEC sp_OADestroy @Obj; + END TRY + BEGIN CATCH + EXEC sp_OADestroy @Obj; + END CATCH + SET NOCOUNT OFF +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_usp_ImportImage.sql b/sql/storedProduzione/dbo_usp_ImportImage.sql new file mode 100644 index 00000000..3af4823e --- /dev/null +++ b/sql/storedProduzione/dbo_usp_ImportImage.sql @@ -0,0 +1,21 @@ +CREATE PROCEDURE dbo.usp_ImportImage ( + @PicName NVARCHAR (100) + , @ImageFolderPath NVARCHAR (1000) + , @Filename NVARCHAR (1000) + ) +AS +BEGIN + DECLARE @Path2OutFile NVARCHAR (2000); + DECLARE @tsql NVARCHAR (2000); + SET NOCOUNT ON + SET @Path2OutFile = CONCAT ( + @ImageFolderPath + ,'\' + , @Filename + ); + SET @tsql = 'insert into Pictures (pictureName, picFileName, PictureData) ' + + ' SELECT ' + '''' + @PicName + '''' + ',' + '''' + @Filename + '''' + ', * ' + + 'FROM Openrowset( Bulk ' + '''' + @Path2OutFile + '''' + ', Single_Blob) as img' + EXEC (@tsql) + SET NOCOUNT OFF +END \ No newline at end of file diff --git a/sql/storedProduzione/dbo_vinfocliente.sql b/sql/storedProduzione/dbo_vinfocliente.sql new file mode 100644 index 00000000..e7b7a3b1 --- /dev/null +++ b/sql/storedProduzione/dbo_vinfocliente.sql @@ -0,0 +1,18 @@ +--[CERCA] '%COD%','P','c6martperiodico' +CREATE procedure [dbo].[vinfocliente] + @cf VARCHAR(16) +AS +BEGIN + SELECT * + FROM consuni.consulenzaunica.dbo.vinfocliente + WHERE codfis = @cf or piva=@cf or codman=SUBSTRING(@cf,4,len(@cf)) or codicecontratto=@cf + SELECT chiaveclientepb,codicecontratto + into #chpb + FROM consuni.consulenzaunica.dbo.vinfocliente + WHERE codfis = @cf or piva=@cf or codman=SUBSTRING(@cf,4,len(@cf)) or codicecontratto=@cf +select * from consuni.consulenzaunica.dbo.contratto where chiaveclientepb in (SELECT chiaveclientepb + from #chpb) + SELECT * + FROM consuni.consulenzaunicafl.dbo.cbs_histdatiingresso where trcom_codconf in (SELECT codicecontratto + from #chpb) order by 1 desc +END \ No newline at end of file diff --git a/sql/storedProduzione/level2martperiodico_DM_PatrimonioBFAggregato.sql b/sql/storedProduzione/level2martperiodico_DM_PatrimonioBFAggregato.sql new file mode 100644 index 00000000..3edbe103 --- /dev/null +++ b/sql/storedProduzione/level2martperiodico_DM_PatrimonioBFAggregato.sql @@ -0,0 +1,13 @@ +CREATE procedure [level2martperiodico].[DM_PatrimonioBFAggregato] +AS +truncate table [level2martperiodico].[PatrimonioBFAggregato] +insert into [level2martperiodico].[PatrimonioBFAggregato] +SELECT PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE, + SUM(CTV) as CTV, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as PatrimonioNonAssociato, + sum(case Upper(id_area) when 'CC' then ctv else 0 end ) as ContoCorrente, + sum(case Upper(id_area) when 'CC' then 0 else ctv end ) as PatrimonioSenzaCC, + --MAX((isnull(PART_VIAGG.PARTVIA_INV,0))) as PartiteViaggiantiInv, + sum((isnull([C6MartPeriodico].PATRIMONIO_BF.PARTVIA_DISINV,0))) as PartiteViaggiantiDisinv +FROM [C6MartPeriodico].PATRIMONIO_BF +GROUP BY PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE \ No newline at end of file diff --git a/sql/storedProduzione/level2martperiodico_DM_PatrimonioBFAggregato_pre_selective.sql b/sql/storedProduzione/level2martperiodico_DM_PatrimonioBFAggregato_pre_selective.sql new file mode 100644 index 00000000..912d75f4 --- /dev/null +++ b/sql/storedProduzione/level2martperiodico_DM_PatrimonioBFAggregato_pre_selective.sql @@ -0,0 +1,13 @@ +CREATE procedure [level2martperiodico].[DM_PatrimonioBFAggregato_pre_selective] +AS +truncate table [level2martperiodico].[PatrimonioBFAggregato] +insert into [level2martperiodico].[PatrimonioBFAggregato] +SELECT PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE, + SUM(CTV) as CTV, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as PatrimonioNonAssociato, + sum(case Upper(id_area) when 'CC' then ctv else 0 end ) as ContoCorrente, + sum(case Upper(id_area) when 'CC' then 0 else ctv end ) as PatrimonioSenzaCC, + --MAX((isnull(PART_VIAGG.PARTVIA_INV,0))) as PartiteViaggiantiInv, + sum((isnull([C6MartPeriodico].PATRIMONIO_BF.PARTVIA_DISINV,0))) as PartiteViaggiantiDisinv +FROM [C6MartPeriodico].PATRIMONIO_BF +GROUP BY PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE \ No newline at end of file diff --git a/sql/storedProduzione/level2martperiodico_DM_PatrimonioNonRappresentabileAsset.sql b/sql/storedProduzione/level2martperiodico_DM_PatrimonioNonRappresentabileAsset.sql new file mode 100644 index 00000000..5f8f91ad --- /dev/null +++ b/sql/storedProduzione/level2martperiodico_DM_PatrimonioNonRappresentabileAsset.sql @@ -0,0 +1,70 @@ +CREATE procedure [level2martperiodico].[DM_PatrimonioNonRappresentabileAsset] +AS +truncate table [level2martperiodico].[PatrimonioNonRappresentabileAsset] +insert into [level2martperiodico].[PatrimonioNonRappresentabileAsset] +SELECT + RETE, + COD_FISCALE, + --SUM(Controvalore) as Controvalore + SUM( cast(Controvalore as decimal(15,3))) as Controvalore + FROM ( + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.CTV as Controvalore + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND ASSETPERC.COD_PRODOTTO IS NULL + UNION ALL +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- ASUL.CTV as Controvalore +-- FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL +-- ON PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- +SELECT ASUL.RETE, + ASUL.COD_FISCALe, + ASUL.CTV*isnull(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + left JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + ASSETPERC.COD_PRODOTTO IS NULL + ) PATR_NO_RAPPR + GROUP BY + RETE, + COD_FISCALE \ No newline at end of file diff --git a/sql/storedProduzione/level2martperiodico_DM_PatrimonioNonRappresentabileAsset_pre_selective.sql b/sql/storedProduzione/level2martperiodico_DM_PatrimonioNonRappresentabileAsset_pre_selective.sql new file mode 100644 index 00000000..5a626ad1 --- /dev/null +++ b/sql/storedProduzione/level2martperiodico_DM_PatrimonioNonRappresentabileAsset_pre_selective.sql @@ -0,0 +1,70 @@ +CREATE procedure [level2martperiodico].[DM_PatrimonioNonRappresentabileAsset_pre_selective] +AS +truncate table [level2martperiodico].[PatrimonioNonRappresentabileAsset] +insert into [level2martperiodico].[PatrimonioNonRappresentabileAsset] +SELECT + RETE, + COD_FISCALE, + --SUM(Controvalore) as Controvalore + SUM( cast(Controvalore as decimal(15,3))) as Controvalore + FROM ( + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.CTV as Controvalore + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND ASSETPERC.COD_PRODOTTO IS NULL + UNION ALL +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- ASUL.CTV as Controvalore +-- FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL +-- ON PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- +SELECT ASUL.RETE, + ASUL.COD_FISCALe, + ASUL.CTV*isnull(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + left JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + ASSETPERC.COD_PRODOTTO IS NULL + ) PATR_NO_RAPPR + GROUP BY + RETE, + COD_FISCALE \ No newline at end of file diff --git a/sql/storedProduzione/level2martperiodico_DM_PatrimonioTerziAggregato.sql b/sql/storedProduzione/level2martperiodico_DM_PatrimonioTerziAggregato.sql new file mode 100644 index 00000000..355f9ee0 --- /dev/null +++ b/sql/storedProduzione/level2martperiodico_DM_PatrimonioTerziAggregato.sql @@ -0,0 +1,40 @@ +CREATE procedure [level2martperiodico].[DM_PatrimonioTerziAggregato] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'level2martperiodico.DM_PatrimonioTerziAggregato', + GETDATE(), + 'Elaborazione trimestrale' + ) +truncate table [level2martperiodico].PatrimonioTerziAggregato +insert into [level2martperiodico].PatrimonioTerziAggregato +SELECT + RETE, + COD_FISCALE, + SUM(ROUND(CTV, 2)) AS CTV, + SUM(ROUND(CASE WHEN TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END, 2)) AS ControvaloreSenzaCC, + SUM(ROUND(CASE WHEN TIPO_PRODOTTO = 'Conti correnti' THEN CTV ELSE 0 END, 2)) AS ControvaloreCC, + count(DISTINCT INTERMEDIARIO) as NumeroIntermediari +FROM + C6MartPeriodico.PATRIMONIO_TERZI +GROUP BY + RETE, + COD_FISCALE + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'level2martperiodico.DM_PatrimonioTerziAggregato' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'level2martperiodico.DM_PatrimonioTerziAggregato' + ) \ No newline at end of file diff --git a/sql/storedProduzione/level2martperiodico_DM_PatrimonioTerziAggregato_pre_selective.sql b/sql/storedProduzione/level2martperiodico_DM_PatrimonioTerziAggregato_pre_selective.sql new file mode 100644 index 00000000..069c5a24 --- /dev/null +++ b/sql/storedProduzione/level2martperiodico_DM_PatrimonioTerziAggregato_pre_selective.sql @@ -0,0 +1,40 @@ +CREATE procedure [level2martperiodico].[DM_PatrimonioTerziAggregato_pre_selective] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'level2martperiodico.DM_PatrimonioTerziAggregato_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) +truncate table [level2martperiodico].PatrimonioTerziAggregato +insert into [level2martperiodico].PatrimonioTerziAggregato +SELECT + RETE, + COD_FISCALE, + SUM(ROUND(CTV, 2)) AS CTV, + SUM(ROUND(CASE WHEN TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END, 2)) AS ControvaloreSenzaCC, + SUM(ROUND(CASE WHEN TIPO_PRODOTTO = 'Conti correnti' THEN CTV ELSE 0 END, 2)) AS ControvaloreCC, + count(DISTINCT INTERMEDIARIO) as NumeroIntermediari +FROM + C6MartPeriodico.PATRIMONIO_TERZI +GROUP BY + RETE, + COD_FISCALE + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'level2martperiodico.DM_PatrimonioTerziAggregato_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'level2martperiodico.DM_PatrimonioTerziAggregato_pre_selective' + ) \ No newline at end of file diff --git a/sql/storedProduzione/wh_MERGED_PROCEDURE.sql b/sql/storedProduzione/wh_MERGED_PROCEDURE.sql new file mode 100644 index 00000000..3e29bfa5 --- /dev/null +++ b/sql/storedProduzione/wh_MERGED_PROCEDURE.sql @@ -0,0 +1,447 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [wh].[MERGED_PROCEDURE] +AS +BEGIN + SET NOCOUNT ON; +--------------------------------------------------------------------- +---------------------------------------------- +--maledetti +declare @data varchar(8) +set @data=c6martperiodico.getPreviousTrimestre(getDate(),0) +begin +truncate table wh.Maledetti +insert into wh.Maledetti --70 minutes +( +[i_CodiceFiscale] + ,[i_Rete] + ,[Rete] + ,[NomeRete] + ,[Agente] + ,[CognomeAgente] + ,[NomeAgente] + ,[IndirizzoAgente] + ,[CapAgente] + ,[CittaAgente] + ,[TelefonoAgente] + ,[CodiceFiscale] + ,[CognomeCliente] + ,[NomeCliente] + ,[ProfiloIsAct] + ,[PatrimonioNonRappresentabile] + ,[PartiteViaggiantiDisinv] + ,[PartiteViaggiantiInv] + ,[ContoCorrente] + ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,[RisorseNonAssociate] + ,[Patrimonioaltroctv] + ,[Patrimonioimmobiliarectv] + ,[PatrimonioTerzictv] + ,[PatrimonioTerziCtvAlNettoContoCorrente] + ,[PatrimonioTerziContoCorrente] + ,[Patrimoniobancafideuramctv] + ,[Patrimoniocomplessivototalectv] + ,[NumeroIntermediari] + ,[CodiceContratto] + ,[tip_contratto] + ,[contrattoold] + ,[NoMonitoraggio] + ,[descrizioneDiagnosi] + ,[idModelloDiagnosi] + ,[idReportDiagnosi] + ,[descrizioneMonitoraggio] + ,[idReportMonitoraggio] + ,[idModelloMonitoraggio] + ,[AdesioneSuccessivaAvanzato] + ,[VaRRisorseNonAssociate] + ,[CoperturaRisorseNonAssociate] + ,[VaRTotaleRisorseFinanziarie] + ,[CoperturaTotaleRisorseFinanziarie] + ,[IdReportPDFDiagnosi] + ,[IdReportPDFMonitoraggio] + ,scaduto + ) +SELECT + DISTINCT + contratti.Cod_Fiscale as i_CodiceFiscale + ,contratti.Rete as i_Rete + --DATI COMUNI + --RETE + ,contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Inv.' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,case when contratti.tip_contratto in (0,1,2) + then 2 else 3 end AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,ISNULL(monit.NoMonitoraggio, 1) AS NoMonitoraggio --fix 20161012 + ,'Diagnosi' as descrizioneDiagnosi + ,-1 AS idModelloDiagnosi + ,-1 AS idReportDiagnosi + ,'Monitoraggio' as descrizioneMonitoraggio + ,4 as idReportMonitoraggio--4 + ,CASE isnull(tip_contratto,0) + WHEN 0 THEN 13--12 + WHEN 1 THEN 13--12 + WHEN 2 THEN 13--13 + WHEN 3 THEN 6 -- Fideuram Direct + END AS idModelloMonitoraggio + --************************************************* + ,0 AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFMonitoraggio + ,mifid.scaduto + FROM [C6MartPeriodico].contrattoSEI contratti + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + --65992 + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + -- 64864 + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --modificata da Valerio 12 marzo 2012 + --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + --64864 + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + --64864 + left join ( + select distinct monit.rete, monit.cod_fiscale, + case when isnull(monitInit.data_foto,getDate()) >= @data then 1 -- case when isnull(monitInit.data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) then 1 pre 01/10/2022 + when monitReport.cod_fiscale is null then 1 else 0 end as NoMonitoraggio + from c6martperiodico.monitoraggio_attuale monit + left join c6martperiodico.monitoraggio_iniziale monitInit on monit.rete = monitInit.rete and monit.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport on monit.rete = monitReport.rete and monit.cod_fiscale = monitReport.cod_fiscale + ) monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + WHERE 1=1 + --144104 + end +------------------------------------------------------------------------- +--update +-- [C6MartPeriodico].[ANAG_CLIENTI] +-- set cognome = 'SOCIETA'' ITALIANA DI REVISIONE E FIDUCIARIA',nome = '' +-- where cognome = 'SOCIETA'' ITALIANA DI REVISIONE E FIDUCIARIA' +--update +--wh.maledetti +--set cognomeCliente = 'SOCIETA'' ITALIANA DI REVISIONE E FIDUCIARIA' +--where +--cognomeCliente = 'SOCIETA'' ITALIANA DI REVI' +--aggiornamento 21/12/2022 + update + [C6MartPeriodico].[ANAG_CLIENTI] + set cognome = 'SOCIETA ITALIANA DI REVISIONE E FIDUCIARIA S.P.A',nome = '' + where --cognome like '%SOCIETA ITALIANA DI REVI%' + cognome like '%SOCIET%' and cognome like '%ITA%' and cognome like '%REV%' +update +wh.maledetti +set cognomeCliente='SOCIETA ITALIANA DI REVISIONE E FIDUCIARIA S.P.A', NomeCliente=''--'-'+' '+SUBSTRING(i_CodiceFiscale, 4,LEN(i_codiceFiscale)) +where --i_codicefiscale = 'FF@10724' + CognomeCliente like '%SOCIET%' and CognomeCliente like '%ITA%' and CognomeCliente like '%REV%' +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [wh].[MERGED_PROCEDURE] Script Date: 08/02/2022 17:22:24 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +--ALTER procedure [wh].[MERGED_PROCEDURE] +--AS +--BEGIN +-- SET NOCOUNT ON; +----------------------------------------------------------------------- +------------------------------------------------ +----maledetti +--begin +--truncate table wh.Maledetti +--insert into wh.Maledetti --70 minutes +--( +--[i_CodiceFiscale] +-- ,[i_Rete] +-- ,[Rete] +-- ,[NomeRete] +-- ,[Agente] +-- ,[CognomeAgente] +-- ,[NomeAgente] +-- ,[IndirizzoAgente] +-- ,[CapAgente] +-- ,[CittaAgente] +-- ,[TelefonoAgente] +-- ,[CodiceFiscale] +-- ,[CognomeCliente] +-- ,[NomeCliente] +-- ,[ProfiloIsAct] +-- ,[PatrimonioNonRappresentabile] +-- ,[PartiteViaggiantiDisinv] +-- ,[PartiteViaggiantiInv] +-- ,[ContoCorrente] +-- ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +-- ,[RisorseNonAssociate] +-- ,[Patrimonioaltroctv] +-- ,[Patrimonioimmobiliarectv] +-- ,[PatrimonioTerzictv] +-- ,[PatrimonioTerziCtvAlNettoContoCorrente] +-- ,[PatrimonioTerziContoCorrente] +-- ,[Patrimoniobancafideuramctv] +-- ,[Patrimoniocomplessivototalectv] +-- ,[NumeroIntermediari] +-- ,[CodiceContratto] +-- ,[tip_contratto] +-- ,[contrattoold] +-- ,[NoMonitoraggio] +-- ,[descrizioneDiagnosi] +-- ,[idModelloDiagnosi] +-- ,[idReportDiagnosi] +-- ,[descrizioneMonitoraggio] +-- ,[idReportMonitoraggio] +-- ,[idModelloMonitoraggio] +-- ,[AdesioneSuccessivaAvanzato] +-- ,[VaRRisorseNonAssociate] +-- ,[CoperturaRisorseNonAssociate] +-- ,[VaRTotaleRisorseFinanziarie] +-- ,[CoperturaTotaleRisorseFinanziarie] +-- ,[IdReportPDFDiagnosi] +-- ,[IdReportPDFMonitoraggio] +-- ,scaduto +-- ) +--SELECT +-- DISTINCT +-- contratti.Cod_Fiscale as i_CodiceFiscale +-- ,contratti.Rete as i_Rete +-- --DATI COMUNI +-- --RETE +-- ,contratti.Rete +-- ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete +-- --AGENTE +-- ,contratti.Cod_Agente Agente +-- ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente +-- ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente +-- ,isnull(promotori.Indirizzo,'') IndirizzoAgente +-- ,isnull(promotori.Cap,'') CapAgente +-- ,isnull(promotori.Localita,'') CittaAgente +-- ,isnull(promotori.TEL_Recapito,'') TelefonoAgente +-- --CLIENTE +-- ,contratti.Cod_Fiscale CodiceFiscale +-- ,clienti.Cognome CognomeCliente +-- ,clienti.nome NomeCliente +-- --PATRIMONI CLIENTE +-- ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct +-- ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile +-- ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv +-- ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv +-- ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente +-- ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente +-- ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate +-- ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv +-- ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv +-- ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv +-- ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente +-- ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente +-- ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv +-- ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv +-- ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari +-- --CONTRATTO +-- ,contratti.CodiceContratto CodiceContratto +-- ,contratti.tip_contratto AS tip_contratto +-- ,0 AS contrattoold +-- --************************************************* +-- ,ISNULL(monit.NoMonitoraggio, 1) AS NoMonitoraggio --fix 20161012 +-- ,'Diagnosi' as descrizioneDiagnosi +-- ,CASE +-- WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 5 +-- ELSE -1 +-- END AS idModelloDiagnosi +-- ,CASE +-- WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 1 +-- ELSE -1 +-- END AS idReportDiagnosi +-- ,'Monitoraggio' as descrizioneMonitoraggio +-- ,4 as idReportMonitoraggio--4 +-- ,CASE isnull(tip_contratto,0) +-- WHEN 0 THEN 12--12 +-- WHEN 1 THEN 12--12 +-- WHEN 2 THEN 13--13 +-- END AS idModelloMonitoraggio +-- --************************************************* +-- ,0 AS AdesioneSuccessivaAvanzato +-- ,CASE +-- WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 +-- ELSE RISCHIO_NA.VAR_PERC_PTF +-- END AS VaRRisorseNonAssociate +-- ,CASE +-- WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 +-- ELSE RISCHIO_NA.COPERTURA +-- END AS CoperturaRisorseNonAssociate +-- ,CASE +-- WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 +-- ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF +-- END AS VaRTotaleRisorseFinanziarie +-- ,CASE +-- WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 +-- ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA +-- END AS CoperturaTotaleRisorseFinanziarie +-- ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' +-- AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) +-- AS IdReportPDFDiagnosi +-- ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' +-- AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) +-- AS IdReportPDFMonitoraggio +-- ,mifid.scaduto +-- FROM [C6MartPeriodico].contrattoSEI contratti +-- left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori +-- on contratti.Rete = promotori.Rete +-- and contratti.Cod_Agente = promotori.Id_Promotore +-- --65992 +-- inner join [C6MartPeriodico].ANAG_CLIENTI clienti +-- on contratti.Rete = clienti.Rete +-- and contratti.Cod_Fiscale = clienti.Cod_Fiscale +-- --V non stampo se non ha patrimonio +-- inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF +-- on contratti.Rete = patrimonioBF.Rete +-- and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale +-- -- 64864 +-- left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro +-- on contratti.Rete = patrimonioAltro.Rete +-- and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale +-- --64864 +-- left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare +-- on contratti.Rete = patrimonioImmobiliare.Rete +-- and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale +-- left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi +-- on contratti.Rete = patrimonioTerzi.Rete +-- and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale +-- --64864 +-- left outer join [C6MartPeriodico].MIFID MIFID +-- on contratti.Rete = MIFID.Rete +-- and contratti.Cod_Fiscale = MIFID.Cod_Fiscale +-- left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset +-- on contratti.Rete = PatrNonRapprAsset.Rete +-- and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale +-- left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari +-- on contratti.Rete = numIntermediari.Rete +-- and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale +-- --64864 +-- left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA +-- on contratti.Rete = RISCHIO_NA.Rete +-- and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale +-- and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' +-- --modificata da Valerio 12 marzo 2012 +-- --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE +-- inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE +-- on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete +-- and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale +-- and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' +-- --64864 +-- left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI +-- on contratti.Rete = PARTITEVIAGGIANTI.RETE +-- and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE +-- --64864 +-- left join ( +-- select distinct monit.rete, monit.cod_fiscale, +-- case when isnull(monitInit.data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) then 1 +-- when monitReport.cod_fiscale is null then 1 else 0 end as NoMonitoraggio +-- from c6martperiodico.monitoraggio_attuale monit +-- left join c6martperiodico.monitoraggio_iniziale monitInit on monit.rete = monitInit.rete and monit.cod_fiscale = monitInit.cod_fiscale +-- left join c6martperiodico.monitoraggio_report monitReport on monit.rete = monitReport.rete and monit.cod_fiscale = monitReport.cod_fiscale +-- ) monit +-- on patrimonioBF.rete = monit.rete +-- and patrimonioBF.cod_fiscale = monit.cod_fiscale +-- WHERE 1=1 +-- --144104 +-- end +--------------------------------------------------------------------------- +--END \ No newline at end of file diff --git a/sql/storedProduzione/wh_MERGED_PROCEDURE_20160709_byen.sql b/sql/storedProduzione/wh_MERGED_PROCEDURE_20160709_byen.sql new file mode 100644 index 00000000..6196cd6c --- /dev/null +++ b/sql/storedProduzione/wh_MERGED_PROCEDURE_20160709_byen.sql @@ -0,0 +1,4416 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [wh].[MERGED_PROCEDURE_2060709_byen] +AS +BEGIN + SET NOCOUNT ON; +--------------------------------------------------------------------- +truncate table wh.pl_s85rendimentoportafogliocono +truncate table wh.pl_areemonitorate +truncate table wh.pl_s43lineaselfbf +truncate table wh.pl_s10patrimoniofinanziario +truncate table wh.pl_prodotti_non_associati_area_inv +truncate table wh.pl_d2_s151profilodirischio +truncate table wh.pl_d2_s152patrimonio +truncate table wh.pl_d2_s153patrimoniofinanziario +truncate table wh.pl_d2_s154patrimoniofinanziario +truncate table wh.pl_d2_s155patrimonioimmobiliare +truncate table wh.pl_d2_s156altropatrimonio +truncate table wh.pl_d2_s157confrontopiramidi +truncate table wh.pl_d2_s158piramidemodello +truncate table wh.pl_d2_s159patrimoniofinanziario +truncate table wh.pl_d2_s160dettaglioprodottibf +truncate table wh.pl_d2_s162dettaglioprodotti +truncate table wh.pl_d2_s163patrimoniofinanziariomassetclass +truncate table wh.pl_d2_s164polizzealtriistituti +truncate table wh.pl_d2_s165fondialtriistituti +truncate table wh.pl_d2_s167distribuzionerischiocredito +truncate table wh.pl_d2_s168tabellaemittenti +truncate table wh.pl_s43dettaglioprodottibf +truncate table wh.pl_d2_s169rischiomercatorischiocredito +truncate table wh.pl_d2_s170rischiodiversificazione +truncate table wh.pl_d2_s171patrimoniononrappresentabileassettclass +truncate table wh.pl_mp_s137bonus +truncate table wh.pl_mp_s135monitoraggioinvestimento +truncate table wh.pl_mp_s134monitoraggioliquidita +truncate table wh.pl_mp_s134bismonitoraggioliqinv +truncate table wh.pl_mp_s133bisprincipaliprodotti +truncate table wh.pl_mp_s133areebisognoprincprod +truncate table wh.pl_mp_s146rischiodiversificazione +truncate table wh.pl_mp_s141analisirisparmiotable +truncate table wh.pl_mp_s140analisirisparmiocharts +truncate table wh.pl_mp_s137biscapitaleprotetto +truncate table wh.pl_s43contocorrentebf +truncate table wh.pl_s43bisdettaglioprodottibf +truncate table wh.pl_s88patrimoniononconsideratonelcalcolodelrendimento +truncate table wh.pl_s82datisintetici +truncate table wh.pl_s82bisdatisintetici +truncate table wh.pl_s76alternativapatrimoniononrappresentabileassettclass +truncate table wh.pl_s80alternativa +truncate table wh.pl_s96rischiomercatorischiocredito +truncate table wh.pl_d_s170rischiodiversificazione +------------------------------------------------------------------------ +-------------------------------------------PL_S82DatiSintetici +INSERT INTO WH.PL_S82DatiSintetici +SELECT 'C6MartPeriodico.PL_S82DatiSintetici' as ProcedureName, PATRAREA.RETE as i_rete ,PATRAREA.COD_FISCALE as i_codiceFiscale, + PATRAREA.ID_AREA AS need_area, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PATRAREA.ORDINAMENTO_PROGETTO, + /*V Calcolato a livello di codice + CASE + WHEN PATRAGGR.CTV = 0 THEN 0 + ELSE PATRAREA.CTV / PATRAGGR.CTV * 100 + END AS pesoPerc,*/ + PATRAREA.CTV AS ControvaloreAttuale + /* Calcolato a livello di codice + CASE + WHEN @TOTRischio = 0 THEN 0 + ELSE ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV / @TOTRischio * 100 + END AS rischioRelativo*/ + FROM C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS PATRAGGR + ON PATRAGGR.RETE = PATRAREA.Rete + AND PATRAGGR.COD_FISCALE = PATRAREA.COD_FISCALE + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON RISCHIOAREA.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRAREA.ID_AREA,3) + AND RISCHIOAREA.RETE = PATRAREA.Rete + AND RISCHIOAREA.COD_FISCALE = PATRAREA.COD_FISCALE + WHERE 1=1 + AND PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE') +------------------------------------------------------------------------- +-------------------------------------------PL_S85RendimentoPortafoglioCono + BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,isnull([NOME_PROGETTO],'XXX') as NOME_PROGETTO + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB] +into #pir_mod_xxx + FROM [C6MartPeriodico].[PIRAMIDE_MOD] +--select * from #pir_mod_xxx where cod_fiscale = 'FF@7181' +INSERT INTO WH.PL_S85RendimentoPortafoglioCono +SELECT 'C6MartPeriodico.PL_S85RendimentoPortafoglioCono' as ProcedureName, CONO.RETE as i_rete ,CONO.COD_FISCALE as i_codiceFiscale, + CONO.ID_AREA AS NEED_AREA, + CASE + WHEN CONO.NOME_PROGETTO = 'XXX' THEN '' + ELSE CONO.NOME_PROGETTO + END AS NOME_PROGETTO, + cono.ordinamento_progetto, + CONO.DATA_CONO, + CONO.SCENARIO_OTTIMISTICO AS OTTIMISTICO, + CONO.SCENARIO_PESSIMISTICO AS PESSIMISTICO, + isnull(PIRMOD.ORIZZ_TEMP_NUM,0) * 12 AS ORIZZONTE_MESI, + MONIT.RENDIMENTO_CUMULATO AS RENDIMENTO, + MONIT.DATA_CTV AS DATA_MONIT + FROM + C6MartPeriodico.CONO_PIANIFICAZIONE AS CONO + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE AS MONIT + ON CONO.RETE = MONIT.RETE + AND CONO.COD_FISCALE = MONIT.COD_FISCALE + AND CONO.ID_AREA = MONIT.ID_AREA + AND CONO.NOME_PROGETTO = MONIT.NOME_PROGETTO + And cono.ordinamento_progetto=monit.ordinamento_progetto --l'ordinamento progetto è sempre pari alla chiaveprogetto e non idmonitoraggio + INNER JOIN #pir_mod_xxx as PIRMOD + ON CONO.RETE = PIRMOD.RETE + AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE + AND CONO.ID_AREA = PIRMOD.ID_AREA + AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + And cono.ordinamento_progetto=pirmod.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD +-- ON CONO.RETE = PIRMOD.RETE +-- AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE +-- AND CONO.ID_AREA = PIRMOD.ID_AREA +-- AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + ORDER BY CONO.DATA_CONO + drop table #pir_mod_xxx +END +------------------------------------------------------------------------- +-------------------------------------------pl_areemonitorate +BEGIN +INSERT INTO WH.PL_AreeMonitorate +SELECT 'C6MartPeriodico.PL_AreeMonitorate' as ProcedureName, [RETE] as i_rete ,[COD_FISCALE] as i_codiceFiscale, +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +--CONTROLLO NOME PROGETTO DUPLICATO, TOLTO IL MAX, AGGIUNTO NEL GROUP BY +ORDINAMENTO_PROGETTO, +--MAX(ORDINAMENTO_PROGETTO) AS ORDINAMENTO_PROGETTO, +MAX(ORDINE) AS ORDINE, +--rimettere il min e commentare il ctv=0 +max(AREAPROGETTOSOTTOMONITORAGGIO) AS AREAPROGETTOSOTTOMONITORAGGIO +FROM +( + --1.1 liq sotto monit + SELECT + PIRMOD.RETE AS RETE, + PIRMOD.COD_FISCALE as COD_FISCALE, + PIRMOD.ID_AREA AS Need_Area, + AREA.NOME_AREA AS Need_Estesa, + CASE WHEN PIRMOD.NOME_PROGETTO is null and pirmod.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PIRMOD.NOME_PROGETTO)) + END AS Nome_Progetto, + PIRMOD.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PIRMOD.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 6 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + (SELECT + RETE, + COD_FISCALE, + case when ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else id_area end as Id_area, + NOME_PROGETTO, + TIPO_PROGETTO, + PERC_AREA, + CTV_PROGETTO, + CTV_AREA, + ORIZZ_TEMP_NUM, + ORIZZ_TEMP, + CTV_TOTALE, + STATO_CONSULENZA, + DATA_STATO_CONS, + DATA_MIGR_CONS, + DATA_PIANIF, + ID_CONTRATTO, ---LEVARE??? + ORDINAMENTO_PROGETTO + FROM + C6MartPeriodico.CONS_ATTIVAGGIORNATA + ) PIRMOD + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PIRMOD.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PIRMOD.COD_FISCALE + AND MONIT.RETE=PIRMOD.RETE + AND MONIT.ID_AREA= PIRMOD.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PIRMOD.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PIRMOD.ORDINAMENTO_PROGETTO + WHERE + PIRMOD.CTV_PROGETTO > 0 + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.CTV < 0 and id_area = 'CC' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + 'Self' AS Need_Area, + 'Liquidità negativa "Linee GP Eligo"' AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.CTV < 0 and id_area = 'SELF' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 8 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + --case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +) A +GROUP BY +RETE, +COD_FISCALE, +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END +------------------------------------------------------------------------- +-------------------------------------------PL_S43LineaSelfBF +BEGIN + INSERT INTO WH.PL_S43LineaSelfBF + SELECT 'C6MartPeriodico.PL_S43LineaSelfBF' as ProcedureName, LS.rete as i_rete ,LS.codfis as i_codiceFiscale, + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(cast(datasott as varchar)) as DataSott + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + isnull(ctv,0) < 0 +END +------------------------------------------------------------------------- +-------------------------------------------PL_S10PatrimonioFinanziario +BEGIN + INSERT INTO WH.PL_S10PatrimonioFinanziario + SELECT 'C6MartPeriodico.PL_S10PatrimonioFinanziario' as ProcedureName, [Rete] as i_rete ,[CodiceFiscale] as i_codiceFiscale, + [Banca] + ,[Ordinamento] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6MartPeriodico].[tb_S10PatrimonioFinanziario] + order by ordinamento +END +------------------------------------------------------------------------- +-------------------------------------------PL_Prodotti_Non_Associati_Area_Inv +BEGIN +INSERT INTO WH.PL_Prodotti_Non_Associati_Area_Inv + SELECT 'C6MartPeriodico.PL_Prodotti_Non_Associati_Area_Inv' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, +PATRBF.RETE, +PATRBF.COD_FISCALE, +ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') AS NOME_PROGETTO, +ID_AREA as NEED_AREA, +SUM(CTV) AS CONTROVALOREATTUALE, +MAX(ISNULL(RISK.VAR_PERC_PTF,0)) AS var_needarea, +--PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString +FROM +C6MARTPERIODICO.PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +C6MARTPERIODICO.RISCHIO_AGGREGATO RISK +ON PATRBF.RETE = RISK.RETE + AND PATRBF.COD_FISCALE = RISK.COD_FISCALE + AND RISK.COD_AGGREG = 'PIRAMIDE|Inv|'+ ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') +WHERE 1 = 1 + AND PATRBF.id_AREA = 'Inv' + AND PATRBF.NOME_PROGETTO='Prodotti non associati a progetti' +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti'), +ID_AREA, +CHIAVE_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S151ProfiloDiRischio +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + INSERT INTO WH.PL_D2_S151ProfiloDiRischio + SELECT 'C6MartPeriodico.PL_D2_S151ProfiloDiRischio' as ProcedureName, M.RETE as i_rete, M.COD_FISCALE as i_codiceFiscale, + M.PROFILO_ASS as codiceProfilo, + DBO.TOSHORTDATESTRING(M.DATA_INIZIO_VAL) as dataInizioValidita, + CR.MAX_VAR as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + ProfiliDiRischio.NOMEPROFILO as nomeProfilo, + m.riskclass as riskclass, + m.experience as experince + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO +END +------------------------------------------------------------------------- +-------------------------------------------pl_d2_s152patrimonio +BEGIN +if object_id('tempdb..#PatrimonioBF') is not null + drop table #PatrimonioBF +if object_id('tempdb..#Part_viaggianti') is not null + drop table #Part_viaggianti +if object_id('tempdb..#PatrimonioTerzi') is not null + drop table #PatrimonioTerzi +if object_id('tempdb..#PatrimonioImmobiliare') is not null + drop table #PatrimonioImmobiliare +if object_id('tempdb..#PatrimonioAltro') is not null + drop table #PatrimonioAltro +if object_id('tempdb..#merge') is not null + drop table #merge +SELECT SUM(CTV) as Value, patrBF.Rete, patrBF.Cod_Fiscale +into #PatrimonioBF + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE patrBF.id_area not in ('CC','SELF') + group by patrBF.Cod_Fiscale, patrBF.Rete + SELECT SUM(IMPORTO) as Value, Rete, Cod_Fiscale + into #Part_viaggianti + FROM + ( + SELECT SUM(IMPORTO) AS IMPORTO, partvia.Rete, partvia.Cod_Fiscale + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + group by partvia.Rete, partvia.Cod_Fiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO, partvia.Rete, partvia.Cod_Fiscale + FROM C6Martperiodico.patrimonio_bf partvia + group by partvia.Rete, partvia.Cod_Fiscale + ) T + group by Rete, Cod_Fiscale + SELECT SUM(ROUND(CTV,2)) as Value, patrTerzi.Rete, + patrTerzi.Cod_Fiscale + into #PatrimonioTerzi + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + group by patrTerzi.Rete, + patrTerzi.Cod_Fiscale + SELECT SUM(patrImm.VALORE_STIMATO) as Value, + patrImm.Rete, patrImm.Cod_Fiscale + into #PatrimonioImmobiliare + FROM C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + group by patrImm.Rete, patrImm.Cod_Fiscale + SELECT SUM(patrAltro.ctv) as Value, patrAltro.Rete, patrAltro.Cod_Fiscale + into #PatrimonioAltro + FROM C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + group by patrAltro.Rete, patrAltro.Cod_Fiscale + select distinct rete, cod_fiscale + into #merge + from + ( + select rete, cod_fiscale from #PatrimonioBF UNION ALL + select rete, cod_fiscale from #PatrimonioTerzi UNION ALL + select rete, cod_fiscale from #Part_viaggianti UNION ALL + select rete, cod_fiscale from #PatrimonioImmobiliare UNION ALL + select rete, cod_fiscale from #PatrimonioAltro + )x + truncate table WH.pl_d2_s152patrimonio + ;with data as + ( + select m.rete, m.cod_fiscale, + cast(COALESCE(a.value,0.00)+COALESCE(c.value,0.00) as numeric(18,2)) as PatrimonioBF, + cast(COALESCE(a.value,0.00)+COALESCE(b.value,0.00)+COALESCE(c.value,0.00) as numeric(18,2)) as FinanziarioCTV, + cast(COALESCE(a.value,0.00)+COALESCE(b.value,0.00)+COALESCE(c.value,0.00)+COALESCE(d.value,0.00)+COALESCE(e.value,0.00) as numeric(18,2)) as PatrimonioTotale, + cast(COALESCE(b.value,0.00) as numeric(18,2)) as PatrimonioTerziCTV, + cast(COALESCE(d.value,0.00) as numeric(18,2)) as PatrimonioImmobiliare, + cast(COALESCE(e.value,0.00) as numeric(18,2)) as PatrimonioAltro + from #merge m + left join #PatrimonioBF a on a.rete = m.rete and a.cod_fiscale = m.cod_fiscale + left join #PatrimonioTerzi b on b.rete = m.rete and b.cod_fiscale = m.cod_fiscale + left join #Part_viaggianti c on c.rete = m.rete and c.cod_fiscale = m.cod_fiscale + left join #PatrimonioImmobiliare d on d.rete = m.rete and d.cod_fiscale = m.cod_fiscale + left join #PatrimonioAltro e on e.rete = m.rete and e.cod_fiscale = m.cod_fiscale + ) + INSERT INTO WH.pl_d2_s152patrimonio + SELECT 'C6MartPeriodico.pl_d2_s152patrimonio' as ProcedureName, rete as i_rete, cod_fiscale as i_codiceFiscale, + PatrimonioBF, + PatrimonioTerziCTV, + FinanziarioCTV, + CONVERT(decimal(6,2), + case when PatrimonioTotale = 0.00 then 0.00 + else FinanziarioCTV / PatrimonioTotale end + * 100.00) AS FinanziarioPerc, + PatrimonioImmobiliare, + CONVERT(decimal(6,2), + case when PatrimonioTotale = 0.00 then 0.00 + else PatrimonioImmobiliare/PatrimonioTotale end + * 100.00) AS ImmobiliarePerc, + PatrimonioAltro, + CONVERT(decimal(6,2), + case PatrimonioTotale when 0.00 then 0.00 + else PatrimonioAltro/PatrimonioTotale end + * 100.00) AS AltroPerc, + PatrimonioTotale as TotaleCTV + from data +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S153PatrimonioFinanziario +BEGIN + INSERT INTO WH.PL_D2_S153PatrimonioFinanziario + SELECT 'C6MartPeriodico.PL_D2_S151ProfiloDiRischio' as ProcedureName, Rete as i_rete, Cod_Fiscale as i_codiceFiscale, + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Rete, + Cod_Fiscale, + Intermediario, + Ordine, + CASE Rete WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS Banca, + SUM(ctv) over (partition by Intermediario,Ordine,Rete,Cod_fiscale) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine,Rete,Cod_Fiscale)) / + wh.IsZero((SUM(ctv) over (partition by 'Totale'+Rete+Cod_fiscale)),1) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + patrBF.Rete as Rete, + patrBF.Cod_Fiscale as Cod_Fiscale, + CASE patrBF.Rete WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE 1 = 1 + and patrBF.id_area not in ('CC','SELF') + GROUP BY patrBF.Rete, patrBF.Cod_Fiscale + UNION ALL + SELECT + patrTerzi.Rete as Rete, + patrTerzi.Cod_Fiscale as Cod_Fiscale, + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + GROUP BY patrTerzi.Intermediario, patrTerzi.Rete, patrTerzi.Cod_Fiscale + ) PATR + GROUP BY Cod_Fiscale, Rete, intermediario, ordine, ctv + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S154PatrimonioFinanziario +BEGIN +INSERT INTO WH.PL_D2_S154PatrimonioFinanziario + SELECT 'C6MartPeriodico.PL_D2_S154PatrimonioFinanziario' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(38,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE),2) as decimal(38,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + RETE, + COD_FISCALE, + CASE RETE WHEN 'S' THEN 'Sanpaolo Invest'ELSE 'Fideuram' END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE) / + NULLIF(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE),0) + ) * 100 AS Percentuale + FROM ( + SELECT --PRODOTTI BF ESCLUSI GLI ASUL + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO NOT IN ('ASUL') + AND PATRBF.ID_AREA not in ('CC','SELF') + UNION ALL + SELECT + ASUL.RETE AS RETE, + ASUL.COD_FISCALE as COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + UNION ALL + --CON SKANDIA + SELECT + ASUL.RETE AS RETE, + ASUL.COD_FISCALE as COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + PATRTERZI.RETE AS RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + PATRTERZI.RETE AS RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + --GROUP BY RETE, COD_FISCALE, ASSETCLASS.ordinamento, VALORIASSET.ID_ASSETCLASS, ASSETCLASS.DESCRIZIONE, VALORIASSET.CONTROVALORE +) A +--GROUP BY RETE, COD_FISCALE, A.BANCA, A.ORDINAMENTO, A.ASSETCLASSID, A.ASSETCLASSNAME, A.CONTROVALORE, A.PERCENTUALE +ORDER BY A.ORDINAMENTO +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S155PatrimonioImmobiliare +BEGIN +INSERT INTO WH.PL_D2_S155PatrimonioImmobiliare + SELECT 'C6MartPeriodico.PL_D2_S155PatrimonioImmobiliare' as ProcedureName, PATRIMONIO_IMMOBILIARE.RETE as i_rete, PATRIMONIO_IMMOBILIARE.COD_FISCALE as i_codiceFiscale, + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale'+PATRIMONIO_IMMOBILIARE.RETE+PATRIMONIO_IMMOBILIARE.COD_FISCALE) as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto'+PATRIMONIO_IMMOBILIARE.RETE+PATRIMONIO_IMMOBILIARE.COD_FISCALE) as TotaleAffitto + FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + GROUP BY PATRIMONIO_IMMOBILIARE.RETE, PATRIMONIO_IMMOBILIARE.COD_FISCALE, PATRIMONIO_IMMOBILIARE.descrizione, PATRIMONIO_IMMOBILIARE.TIPOLOGIA, PATRIMONIO_IMMOBILIARE.LOCALITA, PATRIMONIO_IMMOBILIARE.AFFITTO, PATRIMONIO_IMMOBILIARE.VALORE_STIMATO + ORDER BY PATRIMONIO_IMMOBILIARE.valore_stimato DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S156ALtroPatrimonio +BEGIN + INSERT INTO WH.PL_D2_S156ALtroPatrimonio + SELECT 'C6MartPeriodico.PL_D2_S156ALtroPatrimonio' as ProcedureName, PATRIMONIO_ALTRO.RETE as i_rete, PATRIMONIO_ALTRO.COD_FISCALE as i_codiceFiscale, + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale',PATRIMONIO_ALTRO.RETE, PATRIMONIO_ALTRO.COD_FISCALE ) as Totale + FROM + C6MartPeriodico.PATRIMONIO_ALTRO + GROUP BY PATRIMONIO_ALTRO.RETE, PATRIMONIO_ALTRO.COD_FISCALE, PATRIMONIO_ALTRO.DESCRIZIONE, PATRIMONIO_ALTRO.QUANTITA, PATRIMONIO_ALTRO.CTV + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S157ConfrontoPiramidi +BEGIN +INSERT INTO WH.PL_D2_S157ConfrontoPiramidi +SELECT 'C6MartPeriodico.PL_D2_S157ConfrontoPiramidi' as ProcedureName, RETE as i_rete, [CodiceFiscale] as i_codiceFiscale, + [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] + where [CodiceFiscale] is not null and [Rete] is not null + order by ordinamento +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S158PiramideModello +BEGIN +INSERT INTO WH.PL_D2_S158PiramideModello +SELECT 'C6MartPeriodico.PL_D2_S158PiramideModello' as ProcedureName, BF.RETE as i_rete, BF.COD_FISCALE as i_codiceFiscale, + BF.NOME_PROGETTO AS NomePrg, + PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + AGGR.VAR_PERC_PTF as VarPrg, + SUM(BF.CTV)AS ControvalorePrg + FROM C6MartPeriodico.PATRIMONIO_BF BF + INNER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AGGR + ON BF.RETE= AGGR.RETE + AND BF.COD_FISCALE= AGGR.COD_FISCALE + AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD + ON BF.RETE= PIRMOD.RETE + AND BF.COD_FISCALE= PIRMOD.COD_FISCALE + AND BF.ID_AREA = PIRMOD.ID_AREA + AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'inv' + AND BF.CTV > 0 + group BY BF.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,AGGR.VAR_PERC_PTF, BF.RETE, BF.COD_FISCALE +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S159PatrimonioFinanziario +BEGIN +INSERT INTO WH.PL_D2_S159PatrimonioFinanziario +SELECT 'C6MartPeriodico.PL_D2_S159PatrimonioFinanziario' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(38,6)) AS Controvalore, + cast(A.Percentuale as decimal(38,6)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE),2) as decimal(38,6)) AS Totale +FROM +( + SELECT DISTINCT + RETE, + COD_FISCALE, + CASE RETE + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Fideuram' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE) ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE AS COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area not in ('CC','Self') + UNION ALL + SELECT + ASUL.RETE AS RETE, + ASUL.COD_FISCALE AS COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + UNION ALL + SELECT ASUL.RETE AS RETE, + ASUL.COD_FISCALE AS COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +--group by RETE, COD_FISCALE, a.banca, a.ordinamento, a.assetclassid, a.assetclassname, a.controvalore, a.percentuale +ORDER BY A.ORDINAMENTO +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S160DettaglioProdottiBF +BEGIN +INSERT INTO WH.PL_D2_S160DettaglioProdottiBF +SELECT 'C6MartPeriodico.PL_D2_S160DettaglioProdottiBF' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN (SELECT COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF tmp2 + WHERE ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' and + tmp2.COD_FISCALE = PATRBF.COD_FISCALE AND + TMP2.RETE = PATRBF.RETE) = (SELECT COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF tmp3 + WHERE ID_AREA = 'LIQ' and tmp3.COD_FISCALE = PATRBF.COD_FISCALE AND + TMP3.RETE = PATRBF.RETE) and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 and + PATRBF.CTV <>0 +--GROUP BY PATRBF.COD_FISCALE, PATRBF.RETE, AREA.ID_AREA, AREA.NOME_AREA, AREA.ORDINAMENTO, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO, PATRBF.CTV, +-- MONIT.MINUS_PLUSVALENZA, RISCHIO_AGGR_PROG.COPERTURA, RISCHIO_AGGR_PROG.VAR_PERC_PTF, RISCHIO_AGGR_AREA.VAR_PERC_PTF, RISCHIO_AGGR_AREA.COPERTURA, +-- PATRBF.DATA_SOTTOSCRIZIONE, PATRBF.ID_CONTRATTO, PATRBF.TIPO_PRODOTTO, ANAGPROD.DESCR_PRODOTTO, ANAG_CC.COD_CC, RISCHIO_PROD.VAR_PERC_PTF, +-- RISCHIO_PROD.COPERTURA, PATRBF.ISIN, PATRBF.REND_ANNO, PATRBF.REND_SOTTOSCRIZIONE, PATRBF.PARTVIA_DISINV, RISCHIO_PROD.CREDITRISK, RISCHIO_PROD.CREDITRISKEMIT +ORDER BY + AREASORTORDER,CHIAVE_progetto,nome_progetto, PATRBF.CTV DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S162DettaglioProdotti +BEGIN +INSERT INTO WH.PL_D2_S162DettaglioProdotti + SELECT 'C6MartPeriodico.PL_D2_S162DettaglioProdotti' as ProcedureName, PATRTERZI.RETE as i_rete, PATRTERZI.COD_FISCALE as i_codiceFiscale, + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + ON + PATRTERZI.RETE = RISCHIOAGGREG.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGREG.COD_FISCALE + AND RISCHIOAGGREG.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + WHERE 1 = 1 + AND PATRTERZI.DESCR_GRUPPO_PRODOTTO IS NOT NULL + --GROUP BY PATRTERZI.COD_FISCALE, PATRTERZI.RETE, PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.INTERMEDIARIO, PATRTERZI.DATA_SOTTOSCRIZIONE, ANAGPRODTERZI.NOME_PRODOTTO, PATRTERZI.CTV, PATRTERZI.VERSATO_NETTO, + -- RISCHIOPROD.VAR_PERC_PTF, RISCHIOPROD.COPERTURA, RISCHIOAGGREG.VAR_PERC_PTF, RISCHIOAGGREG.COPERTURA, PATRTERZI.COD_PRODOTTO, RISCHIOPROD.CREDITRISK, RISCHIOPROD.CREDITRISKEMIT + ORDER BY + OrdinamentoProdotti, + Controvalore DESC +END +------------------------------------------------------------------------- +-------------------------------------------pl_d2_s163patrimoniofinanziariomassetclass +BEGIN +INSERT INTO WH.pl_d2_s163patrimoniofinanziariomassetclass +SELECT DISTINCT 'C6MartPeriodico.pl_d2_s163patrimoniofinanziariomassetclass' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS, RETE,COD_FISCALE) as decimal(19,6)) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS, RETE,COD_FISCALE) / + case SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE', RETE,COD_FISCALE) + when 0 then 1 + else SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE', RETE,COD_FISCALE) + end +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE', RETE,COD_FISCALE) as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + PATRTERZI.RETE as RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + PATRTERZI.RETE as RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + ) VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + -- GROUP BY COD_FISCALE, RETE, ASSETCLASS.ORDINAMENTO, ASSETCLASS.ID_ASSETCLASS, VALORIASSET.ID_ASSETCLASS, ASSETCLASS.DESCRIZIONE, VALORIASSET.CONTROVALORE +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S164PolizzeAltriIstituti +BEGIN +INSERT INTO WH.PL_D2_S164PolizzeAltriIstituti + SELECT 'C6MartPeriodico.PL_D2_S164PolizzeAltriIstituti' as ProcedureName, PATRTERZI.RETE as i_rete, PATRTERZI.COD_FISCALE as i_codiceFiscale, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S165FondiAltriIstituti +BEGIN + INSERT INTO WH.PL_D2_S165FondiAltriIstituti + SELECT 'C6MartPeriodico.PL_D2_S165FondiAltriIstituti' as ProcedureName, PATRTERZI.RETE as i_rete, PATRTERZI.COD_FISCALE as i_codiceFiscale, + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + GROUP BY + PATRTERZI.COD_FISCALE, PATRTERZI.RETE, PATRTERZI.intermediario, ANAGPRODTERZI.NOME_PRODOTTO, PATRTERZI.DATA_SOTTOSCRIZIONE, PATRTERZI.FREQ_RATA, + PATRTERZI.CTV, PATRTERZI.VERSATO_NETTO, RISCHIOPROD.VAR_PERC_PTF, RISCHIOPROD.COPERTURA, RISCHIOAGGR.VAR_PERC_PTF, RISCHIOAGGR.COPERTURA, + PATRTERZI.COD_PRODOTTO, RISCHIOAGGR.CREDITRISK +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S167DistribuzioneRischioCredito +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_D2_S167DistribuzioneRischioCredito + SELECT 'C6MartPeriodico.PL_D2_S167DistribuzioneRischioCredito' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +'Altri Istituti' AS INTERMEDIARIO, +--PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +--PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT 'C6MartPeriodico.PL_D2_S167DistribuzioneRischioCredito' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S168TabellaEmittenti +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_D2_S168TabellaEmittenti + SELECT 'C6MartPeriodico.PL_D2_S168TabellaEmittenti' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS, + RATING + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ + (select sum(ctv_prodotto) from + c6martperiodico.patrimonio_emittenti + where cod_fiscale = L.COD_FISCALE and rete = L.RETE + and ctv_prodotto > 0) + *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +--RATING as RATING +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +--RATING as RATING +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V +LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS, +RATING +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10 +--RATING +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END +------------------------------------------------------------------------- +-----------------------------------------------PL_S43DettaglioProdottiBF +BEGIN +SELECT COUNT(*) as TOTSELFLIQ, PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE + INTO #TOTSELFLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE + SELECT COUNT(*) as TOTLIQ, PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE + INTO #TOTLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE +INSERT INTO WH.PL_S43DettaglioProdottiBF +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT 'C6MartPeriodico.PL_S43DettaglioProdottiBF' as ProcedureName, PATRBF.RETE, PATRBF.COD_FISCALE , +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN TOTSELFLIQ = TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + --LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +left JOIN #TOTSELFLIQ t1 on t1.rete = PATRBF.RETE and t1.COD_FISCALE = PATRBF.COD_FISCALE +left JOIN #TOTLIQ t2 on t2.rete = PATRBF.RETE and t2.COD_FISCALE = PATRBF.COD_FISCALE +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_PROGETTO,nome_progetto, PATRBF.CTV DESC +if object_id('tempdb..#TOTSELFLIQ') is not null + drop table #TOTSELFLIQ +if object_id('tempdb..#TOTLIQ') is not null + drop table #TOTLIQ +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S169RischiomercatoRischiocredito +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_D2_S169RischiomercatoRischiocredito + SELECT 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S170RischioDiversificazione +BEGIN +INSERT INTO WH.PL_D2_S170RischioDiversificazione + SELECT 'C6MartPeriodico.PL_D2_S170RischioDiversificazione' as ProcedureName, K.RETE as i_rete, K.COD_FISCALE as i_codiceFiscale, +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + when cod_Aggreg = 'COMPLESSIVO|TERZI' then (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + when cod_Aggreg = 'COMPLESSIVO' then (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN ((select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND (select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND (select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN ((select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +ORDER BY ordine +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S171PatrimonioNonRappresentabileAssettClass +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + INSERT INTO WH.PL_D2_S171PatrimonioNonRappresentabileAssettClass + SELECT 'C6MartPeriodico.PL_D2_S171PatrimonioNonRappresentabileAssettClass' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + CASE PATRBF.RETE WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' end as Intermediario + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL +--INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <> 0.00 +--INIZIO INTERVENTI OMNIA + UNION ALL + SELECT 'C6MartPeriodico.PL_D2_S171PatrimonioNonRappresentabileAssettClass' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + CASE PATRBF.RETE WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' end as Intermediario + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO, + PATRBF.RETE, + PATRBF.COD_FISCALE + ORDER BY CONTROVALORE DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S137Bonus +BEGIN +INSERT INTO WH.PL_MP_S137Bonus + SELECT 'C6MartPeriodico.PL_MP_S137Bonus' as ProcedureName, [RETE] as i_rete, [COD_FISCALE] as i_codiceF, + [RETE], + bonus.[COD_FISCALE], + [DES_PROD] = CASE + WHEN desrc.descrizione is null THEN '' + ELSE desrc.descrizione + END, + bonus.[COD_CONF], + bonus.[CTV], + bonus.[DT_TRIM], + 'Bonus Maturato' as [DESBONUS_M], + bonus.[BONUS_M], + bonus.[DTDEC_M], + 'Bonus a scadenza 5 anni' as [DESBONUS_5], + bonus.[BONUS_5], + bonus.[DTDEC_5], + 'Bonus a scadenza 10 anni' as [DESBONUS_10], + bonus.[BONUS_10], + bonus.[DTDEC_10], + bonus.[COD_PROD] + FROM [C6MartPeriodico].[BONUS] bonus + Left Join c6martperiodico.descrizione_bonus desrc + on desrc.cod_prod = bonus.cod_prod +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S135MonitoraggioInvestimento +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_MP_S135MonitoraggioInvestimento + SELECT 'C6MartPeriodico.PL_MP_S135MonitoraggioInvestimento' as ProcedureName, [RETE] as i_rete, [COD_FISCALE] as i_codiceF, + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + UNION + SELECT 'C6MartPeriodico.PL_MP_S135MonitoraggioInvestimento' as ProcedureName, [RETE] as i_rete, [COD_FISCALE] as i_codiceF, + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S134MonitoraggioLiquidita +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- DECLARE @RendimNonRappr BIT +INSERT INTO WH.PL_MP_S134MonitoraggioLiquidita + SELECT 'C6MartPeriodico.PL_MP_S134MonitoraggioLiquidita' as ProcedureName, MONIT.RETE as i_rete, MONIT.COD_FISCALE as i_codiceF, + case when RENDIMNONRAPPR=1 then 1 else 0 end AS cf_rendim_non_rappr, + MONIT.id_Area AS Need_Area, + CASE + WHEN MONIT.NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(MONIT.NOME_PROGETTO)) + END AS Nome_Progetto, + monit.ordinamento_progetto, + dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, + CTV_MONITORATO AS ControvaloreMonitorato, + APPORTO_INIZIALE AS ApportoIniziale, + APPORTO_SUCCESSIVO AS ApportoSuccessivo, + LIQUIDAZIONI, + CEDOLE_DIVIDENDI AS CedoleEDividendi, + MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, + RENDIMENTO_CUMULATO AS Rendimento_Attuale, + RISORSE_ASSOCIATE AS RisorseApportate, + dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, + RENDIMENTO_ANNUALIZZATO + FROM + C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT + LEFT OUTER JOIN + ( + SELECT + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end as NOME_PROGETTO, + patr_bf.ordinamento_progetto, + 1 as RENDIMNONRAPPR + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + LEFT OUTER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + WHERE + PATR_BF.REND_NON_RAPPR = 1 + group by + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end, + patr_bf.ordinamento_progetto + ) PATR_BF + ON PATR_BF.COD_FISCALE=MONIT.COD_FISCALE + AND PATR_BF.RETE= MONIT.RETE + AND left(PATR_BF.ID_AREA,3)=left(MONIT.ID_AREA,3) + AND isnull(PATR_BF.NOME_PROGETTO,'XXX')=isnull(MONIT.NOME_PROGETTO,'XXX') + And monit.ordinamento_progetto=patr_bf.ordinamento_progetto +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S134BISMonitoraggioLiqInv +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_MP_S134BISMonitoraggioLiqInv + SELECT 'C6MartPeriodico.PL_MP_S134BISMonitoraggioLiqInv' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceF, + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + UNION + SELECT 'C6MartPeriodico.PL_MP_S134BISMonitoraggioLiqInv' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceF, + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S133BISPrincipaliProdotti +BEGIN +;with ata as +( +SELECT PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceF, + ANAGPROD.DESCR_PRODOTTO AS descrProdotto + ,PATRBF.CTV AS Controvalore + ,CASE + WHEN patrbf.tipo_prodotto = 'CC' THEN 0.00 + ELSE RISCHIO_PROD.VAR_PERC_PTF + END AS VaRprodotto + ,((CASE + WHEN ((PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100) is null then 0.00 + ELSE(PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100 + END) / (CASE + WHEN sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale'+PATRBF.RETE+PATRBF.COD_FISCALE) = 0 THEN 1 + ELSE sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale'+PATRBF.RETE+PATRBF.COD_FISCALE) + END))*100 as rischioRelativo + ,(PATRBF.CTV/(sum(PATRBF.CTV) over (partition by 'totale'+PATRBF.RETE+PATRBF.COD_FISCALE)))*100 AS pesoRelativo + ,PATRBF.ID_AREA AS codAreaBisogno + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO + INNER JOIN C6MartPeriodico.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.ordinamento_progetto as varchar),'') + '|' + WHEN LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END + + PATRBF.POSITION_ID + WHERE + PATRBF.CTV <>0 + AND PATRBF.ID_AREA <> 'Cc' + ), tot as + (select *, row_number() over (partition by i_rete, i_codiceF ORDER BY rischioRelativo DESC) as pos + from ata + ) + INSERT INTO WH.PL_MP_S133BISPrincipaliProdotti + SELECT 'C6MartPeriodico.PL_MP_S133BISPrincipaliProdotti' as ProcedureName, i_rete, i_codiceF, descrProdotto, Controvalore, VaRprodotto, + rischioRelativo, pesoRelativo, codAreaBisogno from tot where pos <=10 +END +------------------------------------------------------------------------- +----[C6MartPeriodico].[PL_MP_S133AreeBisognoPrincProd] +BEGIN +INSERT INTO wh.[PL_MP_S133AreeBisognoPrincProd] +SELECT 'PL_MP_S133AreeBisognoPrincProd', [Rete] + ,[CodiceFiscale] + ,[NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] + order by ordinamento +END +------------------------------------------------------------------------- +------ [C6MartPeriodico].[PL_MP_S146RischioDiversificazione] +begin + select count(*) as contaCC, cod_fiscale, rete + into #contaCC + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' + group by cod_fiscale, rete + select count(*) as contaPOS, cod_fiscale, rete + into #contaPOS + from c6martperiodico.patrimonio_Bf + group by cod_fiscale, rete +INSERT INTO wh.PL_MP_S146RischioDiversificazione +SELECT 'PL_MP_S146RischioDiversificazione',K.RETE, K.COD_FISCALE, +K.COD_FISCALE, +K.RETE, +CASE + WHEN (contaPOS - contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND contaPOS - contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND contaPOS - contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (contaPOS - contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +left join #contaCC cc on K.COD_FISCALE = cc.COD_FISCALE and K.RETE = cc.rete +left join #contaPOS pos on K.COD_FISCALE = pos.COD_FISCALE and K.RETE = pos.rete +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +ORDER BY Ordine +END +------------------------------------------------------------------------- +---------[C6MartPeriodico].[PL_MP_S141AnalisiRisparmioTable] +begin +select sum(ctv_prodotto) as patr_compl, rete, cod_fiscale +into #patr_compl +from c6martperiodico.patrimonio_emittenti +where ctv_prodotto > 0 +group by rete, cod_fiscale +INSERT INTO wh.PL_MP_S141AnalisiRisparmioTable +SELECT 'PL_MP_S141AnalisiRisparmioTable',RETE, COD_FISCALE, + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +FROM ( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + --RATING AS RATING, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, +--EN 26012016: solo se per un emittente nessun prodotto riporta nessuna copertura +-- viene impostato nc=1 (non classificato) e si assume che nessuna riskclass +-- sia valorizzato. +-- sum(case when copertura > 0 then 0 else 1 end) as nc + min(case when copertura > 0 then 0 else 1 end) as nc + FROM + (SELECT --Y.* + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + --RATING AS RATING, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + RATING, + CREDITRISKCLASS + ) Y + GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +------COMPLESSIVO + SELECT + l.COD_FISCALE, + l.RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(p.patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, +--EN 26012016 +-- sum(case when copertura > 0 then 0 else 1 end) as nc + min(case when copertura > 0 then 0 else 1 end) as nc +FROM +( +SELECT --L.* + y.COD_FISCALE, + y.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER, + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , + SUM(COPERTURA) AS COPERTURA +FROM +( + SELECT --V.* + V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + RATING, + INTERMEDIARIO, + CREDITRISKCLASS + ) Y +GROUP BY + y.COD_FISCALE, + y.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10 +) L + inner join #patr_compl p on p.rete = l.rete and p.cod_fiscale = l.cod_fiscale +GROUP BY + l. COD_FISCALE, + l.RETE, + INTERMEDIARIO, + EMITTENTE +) U + ORDER BY U.CONCENTRATION DESC +END +------------------------------------------------------------------------- +------[C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts] +BEGIN +--QUERY PER INTERMEDIARIO +INSERT INTO wh.PL_MP_S140AnalisiRisparmioCharts +SELECT 'PL_MP_S140AnalisiRisparmioCharts', RETE, COD_FISCALE, *FROM +( +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS ctv +--FINE INTERVENTI OMNIA +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +--INIZIO INTERVENTI OMNIA +---Per calcolare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine calcolo somma self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS CTV +--FINE INTERVENTI OMNIA +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +--INIZIO INTERVENTI OMNIA +--per fare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine somma Self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +)X +END +------------------------------------------------------------------------- +----- [C6MartPeriodico].[PL_MP_S137BISCapitaleProtetto] + begin + INSERT INTO wh.PL_MP_S137BISCapitaleProtetto + SELECT 'PL_MP_S137BISCapitaleProtetto', RETE + ,CODFIS + ,DES_PROD + ,COD_CONF + ,QUOTA + ,NUMEROQUOTE + ,CONTROVALORE + ,DATARIF + ,DES_MAX + ,QUOTA_MAX + ,QUOTA_MAX_PERC + ,DATARIF_MAX + ,DES_PROT + ,QUOTA_PROT + ,NUMEROQUOTE_PROT + ,CONTROVALORE_PROT + ,DES_PROD_TIT -- Aggiunta per E-FOI80 + FROM C6MartPeriodico.CAPPROT + WHERE 1=1 +END +------------------------------------------------------------------------- +------------ [C6MartPeriodico].[PL_S43ContoCorrenteBF] +BEGIN + INSERT INTO wh.PL_S43ContoCorrenteBF + SELECT 'PL_S43ContoCorrenteBF', ANAG_CC.rete, ANAG_CC.cod_fiscale, + dbo.ToShortDateString(ANAG_CC.DATA_APERTURA) AS datadiSottoscrizione, + ANAG_CC.COD_CC AS conto, + cast(ANAG_CC.SALDOCONTABILE as decimal(15,2)) as Controvalore, + cast(ANAG_CC.SALDODISPONIBILE as decimal(15,2)) as SALDO_DISPONIBILE, + null as creditrisk , + 'n.a.' as creditriskstring, + 0 as var, + null as varString, + 0 as totaleVar, + null as totaleVarString + FROM + C6MartPeriodico.ANAG_CC + WHERE + ANAG_CC.SALDOCONTABILE < 0 + ORDER BY + ANAG_CC.SALDOCONTABILE DESC +END +------------------------------------------------------------------------- +------[C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] +BEGIN + SELECT COUNT(*) as TOTSELFLIQ, PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + into #TOTSELFLIQ1 + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + SELECT COUNT(*) as TOTLIQ, PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + into #PATRIMONIO_BF + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + INSERT INTO wh.[PL_S43BISDettaglioProdottiBF] +SELECT 'PL_S43BISDettaglioProdottiBF', PATRBF.RETE, PATRBF.COD_FISCALE, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, +--Bido +SUM(PATRBF.CTV ) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN TOTSELFLIQ = TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --V THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +--TRINGALI + CASE + WHEN (ISNULL(RISCHIO_AGGR_PROG.copertura,100) < 100) + --v THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_need_progString, + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.id_area='liq' + and (patrbf.tipo_prodotto='CC' + or patrbf.isin in('EURO00000009', 'EURO10000007'))) + then dbo.TOSHORTDATESTRING(C6MartPeriodico.getTrimestre2(getdate(),0)) +--FINE INTERVENTI OMNIA + else +--disasteriscare + --dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) +--cancellare inizio + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.chiave_progetto = '2205396' + and patrbf.tipo_prodotto = 'FI') + then '26/06/2014' + else + dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) + end +--cancellare fine + end AS dataAssociazione, -- CAMBIATA TRINGALI--marianna, cambiata per i cc senza data di associazione +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.VERSATO_NETTO_DA_ASSOC,0) end AS VersatoNetto, +CASE WHEN (MONIT.VERSATO_NETTO_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as VersatoNettoString, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.UTILE_PERDITA_DA_ASSOC,0) END AS MinusPlusValenza, +CASE WHEN (MONIT.UTILE_PERDITA_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in ('EURO00000009', 'EURO10000007' )THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_PROD.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK is null THEN 'n.a.' + ELSE NULL + END as creditriskstring, +-- CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + -- LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) +LEFT JOIN #PATRIMONIO_BF bf on bf.rete = PATRBF.rete and bf.cod_fiscale = PATRBF.cod_fiscale +LEFT JOIN #TOTSELFLIQ1 tot on tot.rete = PATRBF.rete and tot.cod_fiscale = PATRBF.cod_fiscale +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +--MODIFICA TRINGALI PER PRENDERE DETTAGLIO MONITORAGGIO +C6MartPeriodico.MONITORAGGIO_DETTAGLIO MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + --AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + and PATRBF.POSITION_ID=MONIT.POSITION_ID + --AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONATT +ON + PATRBF.RETE = MONATT.RETE + AND PATRBF.COD_FISCALE = MONATT.COD_FISCALE + AND + (PATRBF.ID_AREA=(CASE WHEN MONATT.ID_AREA='Exr' THEN 'Ext' ELSE MONATT.ID_AREA END) AND PATRBF.ID_AREA <> 'INV' + OR + PATRBF.ID_AREA = 'INV' AND PATRBF.ID_AREA = MONATT.ID_AREA AND PATRBF.ORDINAMENTO_PROGETTO = MONATT.ORDINAMENTO_PROGETTO + ) +--blocchiamo il monitoraggio per i progetti a ctv=0 + --And ctv_monitorato>0 +WHERE 1 = 1 + AND ( PATRBF.CTV <> 0 + --E-DEFAULT4 per gestire l'esposizione dei prodotti con ctv = 0 delle banche in default - 18/1/2016 + or (PATRBF.tipo_prodotto = 'DT' and + PATRBF.cod_interno in ('08558830','08594680','04880930','04867780','03972990', + '04281500','04539780','04657780','04966850','04119400','04931400', + '04556320', + '04119600','04291890','04064530' +))) + --fine E-DEFAULT4 +ORDER BY + AREASORTORDER, PATRBF.NOME_PROGETTO, PATRBF.CTV DESC -- modifica TRINGALI +if object_id('tempdb..#TOTSELFLIQ1') is not null + drop table #TOTSELFLIQ1 +if object_id('tempdb..#PATRIMONIO_BF') is not null + drop table #PATRIMONIO_BF +END +------------------------------------------------------------------------- +------ [C6MartPeriodico].[PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento] +BEGIN + INSERT INTO wh.PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento + SELECT 'PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento', PATR_BF.RETE, + PATR_BF.COD_FISCALE, + PATR_BF.ID_AREA AS Need_Area, + PATR_BF.ID_CONTRATTO AS Contratto, + CASE + WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA + ELSE ltrim(rtrim(PATR_BF.NOME_PROGETTO)) + END AS Area_O_Nome_Progetto, + --PRODOTTI.DESCR_PRODOTTO AS Descrizione, + CASE WHEN PATR_BF.TIPO_PRODOTTO <> 'CC' THEN PRODOTTI.DESCR_PRODOTTO + ELSE PRODOTTI.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATR_BF.PARTVIA_DISINV AS PartitaViaggiante, + SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.RETE, + PATR_BF.COD_FISCALE,PATR_BF.POSITION_ID) AS Controvalore, + dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI AS PRODOTTI ON + PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO + --V La sezione deve uscire soltanto per aree monitorate + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE M ON + PATR_BF.RETE = M.RETE AND PATR_BF.COD_FISCALE = M.COD_FISCALE + AND( + (PATR_BF.ID_AREA = M.ID_AREA AND PATR_BF.ID_AREA <> 'INV') + OR + (PATR_BF.ID_AREA = 'INV' AND PATR_BF.ID_AREA = M.ID_AREA AND PATR_BF.ORDINAMENTO_PROGETTO = M.ORDINAMENTO_PROGETTO) + ) + LEFT OUTER JOIN C6MartPeriodico.ANAG_CC ON + ANAG_CC.COD_FISCALE = PATR_BF.COD_FISCALE + AND ANAG_CC.RETE = PATR_BF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATR_BF.position_id,72,9) + WHERE + PATR_BF.REND_NON_RAPPR = 1 + ORDER BY + Area_O_Nome_Progetto +END +------------------------------------------------------------------------- +----- [C6MartPeriodico].[PL_S82BisDatiSintetici] +BEGIN + INSERT INTO wh.PL_S82BisDatiSintetici + SELECT DISTINCT 'PL_S82BisDatiSintetici', + BF.RETE, + BF.COD_FISCALE, + BF.ORDINAMENTO_PROGETTO, + 'Inv' AS need_area, + ltrim(rtrim(ISNULL(PIRMOD.NOME_PROGETTO,BF.NOME_PROGETTO))) AS NOME_PROGETTO, + ISNULL(RA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RA.COPERTURA IS NULL THEN 'n.c.' + WHEN RA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RA.COPERTURA IS NULL THEN 'n.c.' + WHEN RA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PIRMOD.ORIZZ_TEMP AS orizzonte_Pianificato, + C6MartPeriodico.getDescFromDate(DATEDIFF(m,C6MartPeriodico.getTrimestre(GETDATE(),0),(DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM,PIRMOD.DATA_PIANIF)) )) AS durataResidua, + SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO, bf.ordinamento_progetto) AS ControvaloreAttuale + FROM + C6MartPeriodico.PATRIMONIO_BF AS BF + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON BF.RETE = RA.RETE + AND BF.COD_FISCALE = RA.COD_FISCALE + --V AND RA.COD_AGGREG = 'PIRAMIDE|Inv' + AND RA.COD_AGGREG = 'RISFIN|PIRAMIDE|Inv|'+ BF.NOME_PROGETTO + '|' + cast(bf.ordinamento_progetto as varchar) + -- + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD + ON BF.RETE = PIRMOD.RETE + AND BF.COD_FISCALE = PIRMOD.COD_FISCALE + --AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + AND BF.ORDINAMENTO_PROGETTO = PIRMOD.ORDINAMENTO_PROGETTO + AND PIRMOD.ID_AREA = 'Inv' + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS BFAggr + ON BF.RETE = BFAggr.RETE + AND BF.COD_FISCALE = BFAggr.COD_FISCALE + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE AS MONIT + ON BF.RETE = MONIT.RETE + AND BF.COD_FISCALE = MONIT.COD_FISCALE + AND BF.ID_AREA = MONIT.ID_AREA + AND BF.NOME_PROGETTO = MONIT.NOME_PROGETTO + AND BF.ORDINAMENTO_PROGETTO = MONIT.ORDINAMENTO_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'Inv' + END + --AND BF.ORDINAMENTO_PROGETTO=1521667 +------------------------------------------------------------------------- +----- [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] +begin +INSERT INTO wh.PL_S76AlternativaPatrimonioNonRappresentabileAssettClass +SELECT 'PL_S76AlternativaPatrimonioNonRappresentabileAssettClass', * FROM +( + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + case when PATRBF.RETE = 'F' then 'Fideuram' else 'Sanpaolo Invest' end as Intermediario + --patrbf.ordinamento_progetto + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + AND PATRBF.CTV <> 0.00 +UNION ALL +SELECT PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + sum(ASUL.CTV) as Controvalore, + sum(ASUL.CTV) as controvalore_contratto, + Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + case when PATRBF.RETE = 'F' then 'Fideuram' else 'Sanpaolo Invest' end as Intermediario + --patrbf.ordinamento_progetto + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN + C6MartPeriodico.DETTAGLIO_ASUL ASUL + ON + PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + left JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + ASSETPERC.COD_PRODOTTO IS NULL + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, PATRBF.ID_CONTRATTO, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end, + PATRBF.NOME_PROGETTO, + patrbf.chiave_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE), + ANAGP.DESCR_PRODOTTO + )XX +END +------------------------------------------------------------------------- +------------------------------- [C6MartPeriodico].[PL_D_S170RischioDiversificazione] +BEGIN + select count(*) as contaCC, cod_fiscale, rete + into #contaCCC + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' + group by cod_fiscale, rete + select count(*) as contaPOS, cod_fiscale, rete + into #contaPOSS + from c6martperiodico.patrimonio_Bf + group by cod_fiscale, rete + SELECT isnull(sum(ctv),0) as ctvbf, cod_fiscale, rete + INTO #ctvbf + FROM c6martperiodico.patrimonio_bf + where CTV > 0 + group by cod_fiscale, rete + SELECT isnull(sum(ctv),0) as ctvterzi, cod_fiscale, rete + INTO #ctvterzi + FROM c6martperiodico.patrimonio_terzi + where CTV > 0 + group by cod_fiscale, rete + INSERT INTO wh.PL_D_S170RischioDiversificazione +SELECT 'PL_D_S170RischioDiversificazione',K.RETE,K.COD_FISCALE, +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then COALESCE(ctvbf,0) + when cod_Aggreg = 'COMPLESSIVO|TERZI' then COALESCE(ctvterzi,0) + when cod_Aggreg = 'COMPLESSIVO' then COALESCE(ctvbf,0) + COALESCE(ctvterzi,0) + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN (COALESCE(contaPOS,0) - COALESCE(contacc,0) = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND COALESCE(contaPOS,0) - COALESCE(contacc,0) <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND COALESCE(contaPOS,0) - COALESCE(contacc,0) <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (contaPOS - contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +full outer join #contaCCC cc on k.COD_FISCALE = cc.cod_fiscale and k.Rete = cc.rete +full outer join #contaPOSS pos on k.COD_FISCALE = pos.cod_fiscale and k.Rete = pos.rete +full outer join #ctvbf bf on k.COD_FISCALE = bf.cod_fiscale and k.Rete = bf.rete +full outer join #ctvterzi terzi on k.COD_FISCALE = terzi.cod_fiscale and k.Rete = terzi.rete +WHERE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +ORDER BY ordine +END +------------------------------------------------------------------------- +----------------------------------[C6MartPeriodico].[PL_S96RischiomercatoRischiocredito] +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + INSERT INTO wh.PL_S96RischiomercatoRischiocredito + SELECT 'PL_S96RischiomercatoRischiocredito', RETE, COD_FISCALE, * + FROM ( + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + )X + order by ordine + END +------------------------------------------------------------------------- +-------------------- [C6MartPeriodico].[PL_S80Alternativa] +BEGIN +if object_id('tempdb..#aa2') is not null + drop table #aa2 +if object_id('tempdb..#ab2') is not null + drop table #ab2 +if object_id('tempdb..#pos2') is not null + drop table #pos2 + SELECT COUNT(*) as MONIT_ATTIV, RETE, COD_FISCALE + into #aa2 + FROM C6MARTPERIODICO.MONITORAGGIO_ATTUALE + GROUP BY RETE, COD_FISCALE + SELECT COUNT(*) as MONIT_INIT, RETE, COD_FISCALE + into #ab2 + FROM C6MARTPERIODICO.MONITORAGGIO_INIZIALE + GROUP BY RETE, COD_FISCALE + select a.RETE, a.COD_FISCALE + into #pos2 + from #aa2 a inner join #ab2 b on a.rete = b.rete and a.COD_FISCALE = b.COD_FISCALE + INSERT INTO wh.PL_S80Alternativa + SELECT 'PL_S80Alternativa' as ProcedureName, v.RETE as i_rete, v.Cod_Fiscale as i_codiceFiscale, v.[RETE] + ,v.[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] v + inner join #pos2 p on p.rete = v.rete and p.Cod_Fiscale = v.Cod_Fiscale +END +END \ No newline at end of file diff --git a/sql/storedProduzione/wh_MERGED_PROCEDURE_20161012.sql b/sql/storedProduzione/wh_MERGED_PROCEDURE_20161012.sql new file mode 100644 index 00000000..360f4b80 --- /dev/null +++ b/sql/storedProduzione/wh_MERGED_PROCEDURE_20161012.sql @@ -0,0 +1,4589 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [wh].[MERGED_PROCEDURE_20161012] +AS +BEGIN + SET NOCOUNT ON; +--------------------------------------------------------------------- +truncate table wh.pl_s85rendimentoportafogliocono +truncate table wh.pl_areemonitorate +truncate table wh.pl_s43lineaselfbf +truncate table wh.pl_s10patrimoniofinanziario +truncate table wh.pl_prodotti_non_associati_area_inv +truncate table wh.pl_d2_s151profilodirischio +truncate table wh.pl_d2_s152patrimonio +truncate table wh.pl_d2_s153patrimoniofinanziario +truncate table wh.pl_d2_s154patrimoniofinanziario +truncate table wh.pl_d2_s155patrimonioimmobiliare +truncate table wh.pl_d2_s156altropatrimonio +truncate table wh.pl_d2_s157confrontopiramidi +truncate table wh.pl_d2_s158piramidemodello +truncate table wh.pl_d2_s159patrimoniofinanziario +truncate table wh.pl_d2_s160dettaglioprodottibf +truncate table wh.pl_d2_s162dettaglioprodotti +truncate table wh.pl_d2_s163patrimoniofinanziariomassetclass +truncate table wh.pl_d2_s164polizzealtriistituti +truncate table wh.pl_d2_s165fondialtriistituti +truncate table wh.pl_d2_s167distribuzionerischiocredito +truncate table wh.pl_d2_s168tabellaemittenti +truncate table wh.pl_s43dettaglioprodottibf +truncate table wh.pl_d2_s169rischiomercatorischiocredito +truncate table wh.pl_d2_s170rischiodiversificazione +truncate table wh.pl_d2_s171patrimoniononrappresentabileassettclass +truncate table wh.pl_mp_s137bonus +truncate table wh.pl_mp_s135monitoraggioinvestimento +truncate table wh.pl_mp_s134monitoraggioliquidita +truncate table wh.pl_mp_s134bismonitoraggioliqinv +truncate table wh.pl_mp_s133bisprincipaliprodotti +truncate table wh.pl_mp_s133areebisognoprincprod +truncate table wh.pl_mp_s146rischiodiversificazione +truncate table wh.pl_mp_s141analisirisparmiotable +truncate table wh.pl_mp_s140analisirisparmiocharts +truncate table wh.pl_mp_s137biscapitaleprotetto +truncate table wh.pl_s43contocorrentebf +truncate table wh.pl_s43bisdettaglioprodottibf +truncate table wh.pl_s88patrimoniononconsideratonelcalcolodelrendimento +truncate table wh.pl_s82datisintetici +truncate table wh.pl_s82bisdatisintetici +truncate table wh.pl_s76alternativapatrimoniononrappresentabileassettclass +truncate table wh.pl_s80alternativa +truncate table wh.pl_s96rischiomercatorischiocredito +truncate table wh.pl_d_s170rischiodiversificazione +------------------------------------------------------------------------ +-------------------------------------------PL_S82DatiSintetici +INSERT INTO WH.PL_S82DatiSintetici +SELECT 'C6MartPeriodico.PL_S82DatiSintetici' as ProcedureName, PATRAREA.RETE as i_rete ,PATRAREA.COD_FISCALE as i_codiceFiscale, + PATRAREA.ID_AREA AS need_area, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PATRAREA.ORDINAMENTO_PROGETTO, + /*V Calcolato a livello di codice + CASE + WHEN PATRAGGR.CTV = 0 THEN 0 + ELSE PATRAREA.CTV / PATRAGGR.CTV * 100 + END AS pesoPerc,*/ + PATRAREA.CTV AS ControvaloreAttuale + /* Calcolato a livello di codice + CASE + WHEN @TOTRischio = 0 THEN 0 + ELSE ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV / @TOTRischio * 100 + END AS rischioRelativo*/ + FROM C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS PATRAGGR + ON PATRAGGR.RETE = PATRAREA.Rete + AND PATRAGGR.COD_FISCALE = PATRAREA.COD_FISCALE + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON RISCHIOAREA.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRAREA.ID_AREA,3) + AND RISCHIOAREA.RETE = PATRAREA.Rete + AND RISCHIOAREA.COD_FISCALE = PATRAREA.COD_FISCALE + WHERE 1=1 + AND PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE') +------------------------------------------------------------------------- +-------------------------------------------PL_S85RendimentoPortafoglioCono + BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,isnull([NOME_PROGETTO],'XXX') as NOME_PROGETTO + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB] +into #pir_mod_xxx + FROM [C6MartPeriodico].[PIRAMIDE_MOD] +--select * from #pir_mod_xxx where cod_fiscale = 'FF@7181' +INSERT INTO WH.PL_S85RendimentoPortafoglioCono +SELECT 'C6MartPeriodico.PL_S85RendimentoPortafoglioCono' as ProcedureName, CONO.RETE as i_rete ,CONO.COD_FISCALE as i_codiceFiscale, + CONO.ID_AREA AS NEED_AREA, + CASE + WHEN CONO.NOME_PROGETTO = 'XXX' THEN '' + ELSE CONO.NOME_PROGETTO + END AS NOME_PROGETTO, + cono.ordinamento_progetto, + CONO.DATA_CONO, + CONO.SCENARIO_OTTIMISTICO AS OTTIMISTICO, + CONO.SCENARIO_PESSIMISTICO AS PESSIMISTICO, + isnull(PIRMOD.ORIZZ_TEMP_NUM,0) * 12 AS ORIZZONTE_MESI, + MONIT.RENDIMENTO_CUMULATO AS RENDIMENTO, + MONIT.DATA_CTV AS DATA_MONIT + FROM + C6MartPeriodico.CONO_PIANIFICAZIONE AS CONO + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE AS MONIT + ON CONO.RETE = MONIT.RETE + AND CONO.COD_FISCALE = MONIT.COD_FISCALE + AND CONO.ID_AREA = MONIT.ID_AREA + AND CONO.NOME_PROGETTO = MONIT.NOME_PROGETTO + And cono.ordinamento_progetto=monit.ordinamento_progetto --l'ordinamento progetto è sempre pari alla chiaveprogetto e non idmonitoraggio + INNER JOIN #pir_mod_xxx as PIRMOD + ON CONO.RETE = PIRMOD.RETE + AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE + AND CONO.ID_AREA = PIRMOD.ID_AREA + AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + And cono.ordinamento_progetto=pirmod.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD +-- ON CONO.RETE = PIRMOD.RETE +-- AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE +-- AND CONO.ID_AREA = PIRMOD.ID_AREA +-- AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + ORDER BY CONO.DATA_CONO + drop table #pir_mod_xxx +END +------------------------------------------------------------------------- +-------------------------------------------pl_areemonitorate +BEGIN +INSERT INTO WH.PL_AreeMonitorate +SELECT 'C6MartPeriodico.PL_AreeMonitorate' as ProcedureName, [RETE] as i_rete ,[COD_FISCALE] as i_codiceFiscale, +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +--CONTROLLO NOME PROGETTO DUPLICATO, TOLTO IL MAX, AGGIUNTO NEL GROUP BY +ORDINAMENTO_PROGETTO, +--MAX(ORDINAMENTO_PROGETTO) AS ORDINAMENTO_PROGETTO, +MAX(ORDINE) AS ORDINE, +--rimettere il min e commentare il ctv=0 +max(AREAPROGETTOSOTTOMONITORAGGIO) AS AREAPROGETTOSOTTOMONITORAGGIO +FROM +( + --1.1 liq sotto monit + SELECT + PIRMOD.RETE AS RETE, + PIRMOD.COD_FISCALE as COD_FISCALE, + PIRMOD.ID_AREA AS Need_Area, + AREA.NOME_AREA AS Need_Estesa, + CASE WHEN PIRMOD.NOME_PROGETTO is null and pirmod.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PIRMOD.NOME_PROGETTO)) + END AS Nome_Progetto, + PIRMOD.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PIRMOD.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 6 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + (SELECT + RETE, + COD_FISCALE, + case when ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else id_area end as Id_area, + NOME_PROGETTO, + TIPO_PROGETTO, + PERC_AREA, + CTV_PROGETTO, + CTV_AREA, + ORIZZ_TEMP_NUM, + ORIZZ_TEMP, + CTV_TOTALE, + STATO_CONSULENZA, + DATA_STATO_CONS, + DATA_MIGR_CONS, + DATA_PIANIF, + ID_CONTRATTO, ---LEVARE??? + ORDINAMENTO_PROGETTO + FROM + C6MartPeriodico.CONS_ATTIVAGGIORNATA + ) PIRMOD + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PIRMOD.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PIRMOD.COD_FISCALE + AND MONIT.RETE=PIRMOD.RETE + AND MONIT.ID_AREA= PIRMOD.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PIRMOD.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PIRMOD.ORDINAMENTO_PROGETTO + WHERE + PIRMOD.CTV_PROGETTO > 0 + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.CTV < 0 and id_area = 'CC' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + 'Self' AS Need_Area, + 'Liquidità negativa "Linee GP Eligo"' AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.CTV < 0 and id_area = 'SELF' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 8 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + --case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +) A +GROUP BY +RETE, +COD_FISCALE, +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END +------------------------------------------------------------------------- +-------------------------------------------PL_S43LineaSelfBF +BEGIN + INSERT INTO WH.PL_S43LineaSelfBF + SELECT 'C6MartPeriodico.PL_S43LineaSelfBF' as ProcedureName, LS.rete as i_rete ,LS.codfis as i_codiceFiscale, + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(cast(datasott as varchar)) as DataSott + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + isnull(ctv,0) < 0 +END +------------------------------------------------------------------------- +-------------------------------------------PL_S10PatrimonioFinanziario +BEGIN + INSERT INTO WH.PL_S10PatrimonioFinanziario + SELECT 'C6MartPeriodico.PL_S10PatrimonioFinanziario' as ProcedureName, [Rete] as i_rete ,[CodiceFiscale] as i_codiceFiscale, + [Banca] + ,[Ordinamento] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6MartPeriodico].[tb_S10PatrimonioFinanziario] + order by ordinamento +END +------------------------------------------------------------------------- +-------------------------------------------PL_Prodotti_Non_Associati_Area_Inv +BEGIN +INSERT INTO WH.PL_Prodotti_Non_Associati_Area_Inv + SELECT 'C6MartPeriodico.PL_Prodotti_Non_Associati_Area_Inv' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, +PATRBF.RETE, +PATRBF.COD_FISCALE, +ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') AS NOME_PROGETTO, +ID_AREA as NEED_AREA, +SUM(CTV) AS CONTROVALOREATTUALE, +MAX(ISNULL(RISK.VAR_PERC_PTF,0)) AS var_needarea, +--PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString +FROM +C6MARTPERIODICO.PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +C6MARTPERIODICO.RISCHIO_AGGREGATO RISK +ON PATRBF.RETE = RISK.RETE + AND PATRBF.COD_FISCALE = RISK.COD_FISCALE + AND RISK.COD_AGGREG = 'PIRAMIDE|Inv|'+ ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') +WHERE 1 = 1 + AND PATRBF.id_AREA = 'Inv' + AND PATRBF.NOME_PROGETTO='Prodotti non associati a progetti' +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti'), +ID_AREA, +CHIAVE_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S151ProfiloDiRischio +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + INSERT INTO WH.PL_D2_S151ProfiloDiRischio + SELECT 'C6MartPeriodico.PL_D2_S151ProfiloDiRischio' as ProcedureName, M.RETE as i_rete, M.COD_FISCALE as i_codiceFiscale, + M.PROFILO_ASS as codiceProfilo, + DBO.TOSHORTDATESTRING(M.DATA_INIZIO_VAL) as dataInizioValidita, + CR.MAX_VAR as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + ProfiliDiRischio.NOMEPROFILO as nomeProfilo, + m.riskclass as riskclass, + m.experience as experince + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO +END +------------------------------------------------------------------------- +-------------------------------------------pl_d2_s152patrimonio +BEGIN +SELECT SUM(CTV) as Value, patrBF.Rete, patrBF.Cod_Fiscale +into #PatrimonioBF + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE patrBF.id_area not in ('CC','SELF') + group by patrBF.Cod_Fiscale, patrBF.Rete + SELECT SUM(IMPORTO) as Value, Rete, Cod_Fiscale + into #Part_viaggianti + FROM + ( + SELECT SUM(IMPORTO) AS IMPORTO, partvia.Rete, partvia.Cod_Fiscale + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + group by partvia.Rete, partvia.Cod_Fiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO, partvia.Rete, partvia.Cod_Fiscale + FROM C6Martperiodico.patrimonio_bf partvia + group by partvia.Rete, partvia.Cod_Fiscale + ) T + group by Rete, Cod_Fiscale + SELECT SUM(ROUND(CTV,2)) as Value, patrTerzi.Rete, + patrTerzi.Cod_Fiscale + into #PatrimonioTerzi + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + group by patrTerzi.Rete, + patrTerzi.Cod_Fiscale + SELECT SUM(patrImm.VALORE_STIMATO) as Value, + patrImm.Rete, patrImm.Cod_Fiscale + into #PatrimonioImmobiliare + FROM C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + group by patrImm.Rete, patrImm.Cod_Fiscale + SELECT SUM(patrAltro.ctv) as Value, patrAltro.Rete, patrAltro.Cod_Fiscale + into #PatrimonioAltro + FROM C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + group by patrAltro.Rete, patrAltro.Cod_Fiscale + select distinct rete, cod_fiscale + into #merge + from + ( + select rete, cod_fiscale from #PatrimonioBF UNION ALL + select rete, cod_fiscale from #PatrimonioTerzi UNION ALL + select rete, cod_fiscale from #Part_viaggianti UNION ALL + select rete, cod_fiscale from #PatrimonioImmobiliare UNION ALL + select rete, cod_fiscale from #PatrimonioAltro + )x + truncate table WH.pl_d2_s152patrimonio + ;with data as + ( + select m.rete, m.cod_fiscale, + cast(COALESCE(a.value,0.00)+COALESCE(c.value,0.00) as numeric(18,2)) as PatrimonioBF, + cast(COALESCE(a.value,0.00)+COALESCE(b.value,0.00)+COALESCE(c.value,0.00) as numeric(18,2)) as FinanziarioCTV, + cast(COALESCE(a.value,0.00)+COALESCE(b.value,0.00)+COALESCE(c.value,0.00)+COALESCE(d.value,0.00)+COALESCE(e.value,0.00) as numeric(18,2)) as PatrimonioTotale, + cast(COALESCE(b.value,0.00) as numeric(18,2)) as PatrimonioTerziCTV, + cast(COALESCE(d.value,0.00) as numeric(18,2)) as PatrimonioImmobiliare, + cast(COALESCE(e.value,0.00) as numeric(18,2)) as PatrimonioAltro + from #merge m + left join #PatrimonioBF a on a.rete = m.rete and a.cod_fiscale = m.cod_fiscale + left join #PatrimonioTerzi b on b.rete = m.rete and b.cod_fiscale = m.cod_fiscale + left join #Part_viaggianti c on c.rete = m.rete and c.cod_fiscale = m.cod_fiscale + left join #PatrimonioImmobiliare d on d.rete = m.rete and d.cod_fiscale = m.cod_fiscale + left join #PatrimonioAltro e on e.rete = m.rete and e.cod_fiscale = m.cod_fiscale + ) + INSERT INTO WH.pl_d2_s152patrimonio + SELECT 'C6MartPeriodico.pl_d2_s152patrimonio' as ProcedureName, rete as i_rete, cod_fiscale as i_codiceFiscale, + PatrimonioBF, + PatrimonioTerziCTV, + FinanziarioCTV, + CONVERT(decimal(6,2), + case when PatrimonioTotale = 0.00 then 0.00 + else FinanziarioCTV / PatrimonioTotale end + * 100.00) AS FinanziarioPerc, + PatrimonioImmobiliare, + CONVERT(decimal(6,2), + case when PatrimonioTotale = 0.00 then 0.00 + else PatrimonioImmobiliare/PatrimonioTotale end + * 100.00) AS ImmobiliarePerc, + PatrimonioAltro, + CONVERT(decimal(6,2), + case PatrimonioTotale when 0.00 then 0.00 + else PatrimonioAltro/PatrimonioTotale end + * 100.00) AS AltroPerc, + PatrimonioTotale as TotaleCTV + from data +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S153PatrimonioFinanziario +BEGIN + INSERT INTO WH.PL_D2_S153PatrimonioFinanziario + SELECT 'C6MartPeriodico.PL_D2_S151ProfiloDiRischio' as ProcedureName, Rete as i_rete, Cod_Fiscale as i_codiceFiscale, + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Rete, + Cod_Fiscale, + Intermediario, + Ordine, + CASE Rete WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS Banca, + SUM(ctv) over (partition by Intermediario,Ordine,Rete,Cod_fiscale) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine,Rete,Cod_Fiscale)) / + wh.IsZero((SUM(ctv) over (partition by 'Totale'+Rete+Cod_fiscale)),1) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + patrBF.Rete as Rete, + patrBF.Cod_Fiscale as Cod_Fiscale, + CASE patrBF.Rete WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE 1 = 1 + and patrBF.id_area not in ('CC','SELF') + GROUP BY patrBF.Rete, patrBF.Cod_Fiscale + UNION ALL + SELECT + patrTerzi.Rete as Rete, + patrTerzi.Cod_Fiscale as Cod_Fiscale, + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + GROUP BY patrTerzi.Intermediario, patrTerzi.Rete, patrTerzi.Cod_Fiscale + ) PATR + GROUP BY Cod_Fiscale, Rete, intermediario, ordine, ctv + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S154PatrimonioFinanziario +BEGIN +INSERT INTO WH.PL_D2_S154PatrimonioFinanziario + SELECT 'C6MartPeriodico.PL_D2_S154PatrimonioFinanziario' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(38,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE),2) as decimal(38,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + RETE, + COD_FISCALE, + CASE RETE WHEN 'S' THEN 'Sanpaolo Invest'ELSE 'Fideuram' END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE) / + NULLIF(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE),0) + ) * 100 AS Percentuale + FROM ( + SELECT --PRODOTTI BF ESCLUSI GLI ASUL + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO NOT IN ('ASUL') + AND PATRBF.ID_AREA not in ('CC','SELF') + UNION ALL + SELECT + ASUL.RETE AS RETE, + ASUL.COD_FISCALE as COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + UNION ALL + --CON SKANDIA + SELECT + ASUL.RETE AS RETE, + ASUL.COD_FISCALE as COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + PATRTERZI.RETE AS RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + PATRTERZI.RETE AS RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + --GROUP BY RETE, COD_FISCALE, ASSETCLASS.ordinamento, VALORIASSET.ID_ASSETCLASS, ASSETCLASS.DESCRIZIONE, VALORIASSET.CONTROVALORE +) A +--GROUP BY RETE, COD_FISCALE, A.BANCA, A.ORDINAMENTO, A.ASSETCLASSID, A.ASSETCLASSNAME, A.CONTROVALORE, A.PERCENTUALE +ORDER BY A.ORDINAMENTO +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S155PatrimonioImmobiliare +BEGIN +INSERT INTO WH.PL_D2_S155PatrimonioImmobiliare + SELECT 'C6MartPeriodico.PL_D2_S155PatrimonioImmobiliare' as ProcedureName, PATRIMONIO_IMMOBILIARE.RETE as i_rete, PATRIMONIO_IMMOBILIARE.COD_FISCALE as i_codiceFiscale, + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale'+PATRIMONIO_IMMOBILIARE.RETE+PATRIMONIO_IMMOBILIARE.COD_FISCALE) as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto'+PATRIMONIO_IMMOBILIARE.RETE+PATRIMONIO_IMMOBILIARE.COD_FISCALE) as TotaleAffitto + FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + --GROUP BY PATRIMONIO_IMMOBILIARE.RETE, PATRIMONIO_IMMOBILIARE.COD_FISCALE, PATRIMONIO_IMMOBILIARE.descrizione, PATRIMONIO_IMMOBILIARE.TIPOLOGIA, PATRIMONIO_IMMOBILIARE.LOCALITA, PATRIMONIO_IMMOBILIARE.AFFITTO, PATRIMONIO_IMMOBILIARE.VALORE_STIMATO + ORDER BY PATRIMONIO_IMMOBILIARE.valore_stimato DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S156ALtroPatrimonio +BEGIN + INSERT INTO WH.PL_D2_S156ALtroPatrimonio + SELECT 'C6MartPeriodico.PL_D2_S156ALtroPatrimonio' as ProcedureName, PATRIMONIO_ALTRO.RETE as i_rete, PATRIMONIO_ALTRO.COD_FISCALE as i_codiceFiscale, + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale',PATRIMONIO_ALTRO.RETE, PATRIMONIO_ALTRO.COD_FISCALE ) as Totale + FROM + C6MartPeriodico.PATRIMONIO_ALTRO + --GROUP BY PATRIMONIO_ALTRO.RETE, PATRIMONIO_ALTRO.COD_FISCALE, PATRIMONIO_ALTRO.DESCRIZIONE, PATRIMONIO_ALTRO.QUANTITA, PATRIMONIO_ALTRO.CTV + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S157ConfrontoPiramidi +BEGIN +INSERT INTO WH.PL_D2_S157ConfrontoPiramidi +SELECT 'C6MartPeriodico.PL_D2_S157ConfrontoPiramidi' as ProcedureName, RETE as i_rete, [CodiceFiscale] as i_codiceFiscale, + [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] + where [CodiceFiscale] is not null and [Rete] is not null + order by ordinamento +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S158PiramideModello +BEGIN +INSERT INTO WH.PL_D2_S158PiramideModello +SELECT 'C6MartPeriodico.PL_D2_S158PiramideModello' as ProcedureName, BF.RETE as i_rete, BF.COD_FISCALE as i_codiceFiscale, + BF.NOME_PROGETTO AS NomePrg, + PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + AGGR.VAR_PERC_PTF as VarPrg, + SUM(BF.CTV)AS ControvalorePrg + FROM C6MartPeriodico.PATRIMONIO_BF BF + INNER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AGGR + ON BF.RETE= AGGR.RETE + AND BF.COD_FISCALE= AGGR.COD_FISCALE + AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD + ON BF.RETE= PIRMOD.RETE + AND BF.COD_FISCALE= PIRMOD.COD_FISCALE + AND BF.ID_AREA = PIRMOD.ID_AREA + AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'inv' + AND BF.CTV > 0 + group BY BF.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,AGGR.VAR_PERC_PTF, BF.RETE, BF.COD_FISCALE +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S159PatrimonioFinanziario +BEGIN +INSERT INTO WH.PL_D2_S159PatrimonioFinanziario +SELECT 'C6MartPeriodico.PL_D2_S159PatrimonioFinanziario' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(38,6)) AS Controvalore, + cast(A.Percentuale as decimal(38,6)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE),2) as decimal(38,6)) AS Totale +FROM +( + SELECT DISTINCT + RETE, + COD_FISCALE, + CASE RETE + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Fideuram' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE) ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE AS COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area not in ('CC','Self') + UNION ALL + SELECT + ASUL.RETE AS RETE, + ASUL.COD_FISCALE AS COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + UNION ALL + SELECT ASUL.RETE AS RETE, + ASUL.COD_FISCALE AS COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +--group by RETE, COD_FISCALE, a.banca, a.ordinamento, a.assetclassid, a.assetclassname, a.controvalore, a.percentuale +ORDER BY A.ORDINAMENTO +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S160DettaglioProdottiBF +BEGIN +INSERT INTO WH.PL_D2_S160DettaglioProdottiBF +SELECT 'C6MartPeriodico.PL_D2_S160DettaglioProdottiBF' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN (SELECT COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF tmp2 + WHERE ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' and + tmp2.COD_FISCALE = PATRBF.COD_FISCALE AND + TMP2.RETE = PATRBF.RETE) = (SELECT COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF tmp3 + WHERE ID_AREA = 'LIQ' and tmp3.COD_FISCALE = PATRBF.COD_FISCALE AND + TMP3.RETE = PATRBF.RETE) and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 and + PATRBF.CTV <>0 +--GROUP BY PATRBF.COD_FISCALE, PATRBF.RETE, AREA.ID_AREA, AREA.NOME_AREA, AREA.ORDINAMENTO, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO, PATRBF.CTV, +-- MONIT.MINUS_PLUSVALENZA, RISCHIO_AGGR_PROG.COPERTURA, RISCHIO_AGGR_PROG.VAR_PERC_PTF, RISCHIO_AGGR_AREA.VAR_PERC_PTF, RISCHIO_AGGR_AREA.COPERTURA, +-- PATRBF.DATA_SOTTOSCRIZIONE, PATRBF.ID_CONTRATTO, PATRBF.TIPO_PRODOTTO, ANAGPROD.DESCR_PRODOTTO, ANAG_CC.COD_CC, RISCHIO_PROD.VAR_PERC_PTF, +-- RISCHIO_PROD.COPERTURA, PATRBF.ISIN, PATRBF.REND_ANNO, PATRBF.REND_SOTTOSCRIZIONE, PATRBF.PARTVIA_DISINV, RISCHIO_PROD.CREDITRISK, RISCHIO_PROD.CREDITRISKEMIT +ORDER BY + AREASORTORDER,CHIAVE_progetto,nome_progetto, PATRBF.CTV DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S162DettaglioProdotti +BEGIN +INSERT INTO WH.PL_D2_S162DettaglioProdotti + SELECT 'C6MartPeriodico.PL_D2_S162DettaglioProdotti' as ProcedureName, PATRTERZI.RETE as i_rete, PATRTERZI.COD_FISCALE as i_codiceFiscale, + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + ON + PATRTERZI.RETE = RISCHIOAGGREG.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGREG.COD_FISCALE + AND RISCHIOAGGREG.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + WHERE 1 = 1 + AND PATRTERZI.DESCR_GRUPPO_PRODOTTO IS NOT NULL + --GROUP BY PATRTERZI.COD_FISCALE, PATRTERZI.RETE, PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.INTERMEDIARIO, PATRTERZI.DATA_SOTTOSCRIZIONE, ANAGPRODTERZI.NOME_PRODOTTO, PATRTERZI.CTV, PATRTERZI.VERSATO_NETTO, + -- RISCHIOPROD.VAR_PERC_PTF, RISCHIOPROD.COPERTURA, RISCHIOAGGREG.VAR_PERC_PTF, RISCHIOAGGREG.COPERTURA, PATRTERZI.COD_PRODOTTO, RISCHIOPROD.CREDITRISK, RISCHIOPROD.CREDITRISKEMIT + ORDER BY + OrdinamentoProdotti, + Controvalore DESC +END +------------------------------------------------------------------------- +-------------------------------------------pl_d2_s163patrimoniofinanziariomassetclass +BEGIN +INSERT INTO WH.pl_d2_s163patrimoniofinanziariomassetclass +SELECT DISTINCT 'C6MartPeriodico.pl_d2_s163patrimoniofinanziariomassetclass' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS, RETE,COD_FISCALE) as decimal(19,6)) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS, RETE,COD_FISCALE) / + case SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE', RETE,COD_FISCALE) + when 0 then 1 + else SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE', RETE,COD_FISCALE) + end +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE', RETE,COD_FISCALE) as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + PATRTERZI.RETE as RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + PATRTERZI.RETE as RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + ) VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + -- GROUP BY COD_FISCALE, RETE, ASSETCLASS.ORDINAMENTO, ASSETCLASS.ID_ASSETCLASS, VALORIASSET.ID_ASSETCLASS, ASSETCLASS.DESCRIZIONE, VALORIASSET.CONTROVALORE +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S164PolizzeAltriIstituti +BEGIN +INSERT INTO WH.PL_D2_S164PolizzeAltriIstituti + SELECT 'C6MartPeriodico.PL_D2_S164PolizzeAltriIstituti' as ProcedureName, PATRTERZI.RETE as i_rete, PATRTERZI.COD_FISCALE as i_codiceFiscale, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S165FondiAltriIstituti +BEGIN + INSERT INTO WH.PL_D2_S165FondiAltriIstituti + SELECT 'C6MartPeriodico.PL_D2_S165FondiAltriIstituti' as ProcedureName, PATRTERZI.RETE as i_rete, PATRTERZI.COD_FISCALE as i_codiceFiscale, + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + -- GROUP BY + -- PATRTERZI.COD_FISCALE, PATRTERZI.RETE, PATRTERZI.intermediario, ANAGPRODTERZI.NOME_PRODOTTO, PATRTERZI.DATA_SOTTOSCRIZIONE, PATRTERZI.FREQ_RATA, + -- PATRTERZI.CTV, PATRTERZI.VERSATO_NETTO, RISCHIOPROD.VAR_PERC_PTF, RISCHIOPROD.COPERTURA, RISCHIOAGGR.VAR_PERC_PTF, RISCHIOAGGR.COPERTURA, + -- PATRTERZI.COD_PRODOTTO, RISCHIOAGGR.CREDITRISK +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S167DistribuzioneRischioCredito +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_D2_S167DistribuzioneRischioCredito + SELECT 'C6MartPeriodico.PL_D2_S167DistribuzioneRischioCredito' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +'Altri Istituti' AS INTERMEDIARIO, +--PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +--PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT 'C6MartPeriodico.PL_D2_S167DistribuzioneRischioCredito' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S168TabellaEmittenti +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_D2_S168TabellaEmittenti + SELECT 'C6MartPeriodico.PL_D2_S168TabellaEmittenti' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS, + RATING + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ + (select sum(ctv_prodotto) from + c6martperiodico.patrimonio_emittenti + where cod_fiscale = L.COD_FISCALE and rete = L.RETE + and ctv_prodotto > 0) + *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +--RATING as RATING +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +--RATING as RATING +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V +LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS, +RATING +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10 +--RATING +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END +------------------------------------------------------------------------- +-----------------------------------------------PL_S43DettaglioProdottiBF +BEGIN +SELECT COUNT(*) as TOTSELFLIQ, PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE + INTO #TOTSELFLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE + SELECT COUNT(*) as TOTLIQ, PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE + INTO #TOTLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE +INSERT INTO WH.PL_S43DettaglioProdottiBF +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT 'C6MartPeriodico.PL_S43DettaglioProdottiBF' as ProcedureName, PATRBF.RETE, PATRBF.COD_FISCALE , +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN TOTSELFLIQ = TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + --LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +left JOIN #TOTSELFLIQ t1 on t1.rete = PATRBF.RETE and t1.COD_FISCALE = PATRBF.COD_FISCALE +left JOIN #TOTLIQ t2 on t2.rete = PATRBF.RETE and t2.COD_FISCALE = PATRBF.COD_FISCALE +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_PROGETTO,nome_progetto, PATRBF.CTV DESC + drop table #TOTSELFLIQ +drop table #TOTLIQ +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S169RischiomercatoRischiocredito +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_D2_S169RischiomercatoRischiocredito + SELECT 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S170RischioDiversificazione +BEGIN +INSERT INTO WH.PL_D2_S170RischioDiversificazione + SELECT 'C6MartPeriodico.PL_D2_S170RischioDiversificazione' as ProcedureName, K.RETE as i_rete, K.COD_FISCALE as i_codiceFiscale, +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + when cod_Aggreg = 'COMPLESSIVO|TERZI' then (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + when cod_Aggreg = 'COMPLESSIVO' then (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN ((select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND (select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND (select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN ((select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +ORDER BY ordine +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S171PatrimonioNonRappresentabileAssettClass +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + INSERT INTO WH.PL_D2_S171PatrimonioNonRappresentabileAssettClass + SELECT 'C6MartPeriodico.PL_D2_S171PatrimonioNonRappresentabileAssettClass' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + CASE PATRBF.RETE WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' end as Intermediario + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL +--INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <> 0.00 +--INIZIO INTERVENTI OMNIA + UNION ALL + SELECT 'C6MartPeriodico.PL_D2_S171PatrimonioNonRappresentabileAssettClass' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + CASE PATRBF.RETE WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' end as Intermediario + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO, + PATRBF.RETE, + PATRBF.COD_FISCALE + ORDER BY CONTROVALORE DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S137Bonus +BEGIN +INSERT INTO WH.PL_MP_S137Bonus + SELECT 'C6MartPeriodico.PL_MP_S137Bonus' as ProcedureName, [RETE] as i_rete, [COD_FISCALE] as i_codiceF, + [RETE], + bonus.[COD_FISCALE], + [DES_PROD] = CASE + WHEN desrc.descrizione is null THEN '' + ELSE desrc.descrizione + END, + bonus.[COD_CONF], + bonus.[CTV], + bonus.[DT_TRIM], + 'Bonus Maturato' as [DESBONUS_M], + bonus.[BONUS_M], + bonus.[DTDEC_M], + 'Bonus a scadenza 5 anni' as [DESBONUS_5], + bonus.[BONUS_5], + bonus.[DTDEC_5], + 'Bonus a scadenza 10 anni' as [DESBONUS_10], + bonus.[BONUS_10], + bonus.[DTDEC_10], + bonus.[COD_PROD] + FROM [C6MartPeriodico].[BONUS] bonus + Left Join c6martperiodico.descrizione_bonus desrc + on desrc.cod_prod = bonus.cod_prod +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S135MonitoraggioInvestimento +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_MP_S135MonitoraggioInvestimento + SELECT 'C6MartPeriodico.PL_MP_S135MonitoraggioInvestimento' as ProcedureName, [RETE] as i_rete, [COD_FISCALE] as i_codiceF, + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + UNION + SELECT 'C6MartPeriodico.PL_MP_S135MonitoraggioInvestimento' as ProcedureName, [RETE] as i_rete, [COD_FISCALE] as i_codiceF, + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S134MonitoraggioLiquidita +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- DECLARE @RendimNonRappr BIT +INSERT INTO WH.PL_MP_S134MonitoraggioLiquidita + SELECT 'C6MartPeriodico.PL_MP_S134MonitoraggioLiquidita' as ProcedureName, MONIT.RETE as i_rete, MONIT.COD_FISCALE as i_codiceF, + case when RENDIMNONRAPPR=1 then 1 else 0 end AS cf_rendim_non_rappr, + MONIT.id_Area AS Need_Area, + CASE + WHEN MONIT.NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(MONIT.NOME_PROGETTO)) + END AS Nome_Progetto, + monit.ordinamento_progetto, + dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, + CTV_MONITORATO AS ControvaloreMonitorato, + APPORTO_INIZIALE AS ApportoIniziale, + APPORTO_SUCCESSIVO AS ApportoSuccessivo, + LIQUIDAZIONI, + CEDOLE_DIVIDENDI AS CedoleEDividendi, + MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, + RENDIMENTO_CUMULATO AS Rendimento_Attuale, + RISORSE_ASSOCIATE AS RisorseApportate, + dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, + RENDIMENTO_ANNUALIZZATO + FROM + C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT + LEFT OUTER JOIN + ( + SELECT + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end as NOME_PROGETTO, + patr_bf.ordinamento_progetto, + 1 as RENDIMNONRAPPR + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + LEFT OUTER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + WHERE + PATR_BF.REND_NON_RAPPR = 1 + group by + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end, + patr_bf.ordinamento_progetto + ) PATR_BF + ON PATR_BF.COD_FISCALE=MONIT.COD_FISCALE + AND PATR_BF.RETE= MONIT.RETE + AND left(PATR_BF.ID_AREA,3)=left(MONIT.ID_AREA,3) + AND isnull(PATR_BF.NOME_PROGETTO,'XXX')=isnull(MONIT.NOME_PROGETTO,'XXX') + And monit.ordinamento_progetto=patr_bf.ordinamento_progetto +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S134BISMonitoraggioLiqInv +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_MP_S134BISMonitoraggioLiqInv + SELECT 'C6MartPeriodico.PL_MP_S134BISMonitoraggioLiqInv' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceF, + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + UNION + SELECT 'C6MartPeriodico.PL_MP_S134BISMonitoraggioLiqInv' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceF, + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S133BISPrincipaliProdotti +BEGIN +;with ata as +( +SELECT PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceF, + ANAGPROD.DESCR_PRODOTTO AS descrProdotto + ,PATRBF.CTV AS Controvalore + ,CASE + WHEN patrbf.tipo_prodotto = 'CC' THEN 0.00 + ELSE RISCHIO_PROD.VAR_PERC_PTF + END AS VaRprodotto + ,((CASE + WHEN ((PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100) is null then 0.00 + ELSE(PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100 + END) / (CASE + WHEN sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale'+PATRBF.RETE+PATRBF.COD_FISCALE) = 0 THEN 1 + ELSE sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale'+PATRBF.RETE+PATRBF.COD_FISCALE) + END))*100 as rischioRelativo + ,(PATRBF.CTV/(sum(PATRBF.CTV) over (partition by 'totale'+PATRBF.RETE+PATRBF.COD_FISCALE)))*100 AS pesoRelativo + ,PATRBF.ID_AREA AS codAreaBisogno + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO + INNER JOIN C6MartPeriodico.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.ordinamento_progetto as varchar),'') + '|' + WHEN LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END + + PATRBF.POSITION_ID + WHERE + PATRBF.CTV <>0 + AND PATRBF.ID_AREA <> 'Cc' + ), tot as + (select *, row_number() over (partition by i_rete, i_codiceF ORDER BY rischioRelativo DESC) as pos + from ata + ) + INSERT INTO WH.PL_MP_S133BISPrincipaliProdotti + SELECT 'C6MartPeriodico.PL_MP_S133BISPrincipaliProdotti' as ProcedureName, i_rete, i_codiceF, descrProdotto, Controvalore, VaRprodotto, + rischioRelativo, pesoRelativo, codAreaBisogno from tot where pos <=10 +END +------------------------------------------------------------------------- +----[C6MartPeriodico].[PL_MP_S133AreeBisognoPrincProd] +BEGIN +INSERT INTO wh.[PL_MP_S133AreeBisognoPrincProd] +SELECT 'PL_MP_S133AreeBisognoPrincProd', [Rete] + ,[CodiceFiscale] + ,[NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] + order by ordinamento +END +------------------------------------------------------------------------- +------ [C6MartPeriodico].[PL_MP_S146RischioDiversificazione] +begin + select count(*) as contaCC, cod_fiscale, rete + into #contaCC + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' + group by cod_fiscale, rete + select count(*) as contaPOS, cod_fiscale, rete + into #contaPOS + from c6martperiodico.patrimonio_Bf + group by cod_fiscale, rete +INSERT INTO wh.PL_MP_S146RischioDiversificazione +SELECT 'PL_MP_S146RischioDiversificazione',K.RETE, K.COD_FISCALE, +K.COD_FISCALE, +K.RETE, +CASE + WHEN (contaPOS - contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND contaPOS - contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND contaPOS - contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (contaPOS - contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +left join #contaCC cc on K.COD_FISCALE = cc.COD_FISCALE and K.RETE = cc.rete +left join #contaPOS pos on K.COD_FISCALE = pos.COD_FISCALE and K.RETE = pos.rete +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +ORDER BY Ordine +END +------------------------------------------------------------------------- +---------[C6MartPeriodico].[PL_MP_S141AnalisiRisparmioTable] +begin +select sum(ctv_prodotto) as patr_compl, rete, cod_fiscale +into #patr_compl +from c6martperiodico.patrimonio_emittenti +where ctv_prodotto > 0 +group by rete, cod_fiscale +INSERT INTO wh.PL_MP_S141AnalisiRisparmioTable +SELECT 'PL_MP_S141AnalisiRisparmioTable',RETE, COD_FISCALE, + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +FROM ( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + --RATING AS RATING, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, +--EN 26012016: solo se per un emittente nessun prodotto riporta nessuna copertura +-- viene impostato nc=1 (non classificato) e si assume che nessuna riskclass +-- sia valorizzato. +-- sum(case when copertura > 0 then 0 else 1 end) as nc + min(case when copertura > 0 then 0 else 1 end) as nc + FROM + (SELECT --Y.* + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + --RATING AS RATING, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + RATING, + CREDITRISKCLASS + ) Y + GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +------COMPLESSIVO + SELECT + l.COD_FISCALE, + l.RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(p.patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, +--EN 26012016 +-- sum(case when copertura > 0 then 0 else 1 end) as nc + min(case when copertura > 0 then 0 else 1 end) as nc +FROM +( +SELECT --L.* + y.COD_FISCALE, + y.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER, + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , + SUM(COPERTURA) AS COPERTURA +FROM +( + SELECT --V.* + V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + RATING, + INTERMEDIARIO, + CREDITRISKCLASS + ) Y +GROUP BY + y.COD_FISCALE, + y.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10 +) L + inner join #patr_compl p on p.rete = l.rete and p.cod_fiscale = l.cod_fiscale +GROUP BY + l. COD_FISCALE, + l.RETE, + INTERMEDIARIO, + EMITTENTE +) U + ORDER BY U.CONCENTRATION DESC +END +------------------------------------------------------------------------- +------[C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts] +BEGIN +--QUERY PER INTERMEDIARIO +INSERT INTO wh.PL_MP_S140AnalisiRisparmioCharts +SELECT 'PL_MP_S140AnalisiRisparmioCharts', RETE, COD_FISCALE, *FROM +( +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS ctv +--FINE INTERVENTI OMNIA +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +--INIZIO INTERVENTI OMNIA +---Per calcolare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine calcolo somma self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS CTV +--FINE INTERVENTI OMNIA +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +--INIZIO INTERVENTI OMNIA +--per fare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine somma Self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +)X +END +------------------------------------------------------------------------- +----- [C6MartPeriodico].[PL_MP_S137BISCapitaleProtetto] + begin + INSERT INTO wh.PL_MP_S137BISCapitaleProtetto + SELECT 'PL_MP_S137BISCapitaleProtetto', RETE + ,CODFIS + ,DES_PROD + ,COD_CONF + ,QUOTA + ,NUMEROQUOTE + ,CONTROVALORE + ,DATARIF + ,DES_MAX + ,QUOTA_MAX + ,QUOTA_MAX_PERC + ,DATARIF_MAX + ,DES_PROT + ,QUOTA_PROT + ,NUMEROQUOTE_PROT + ,CONTROVALORE_PROT + ,DES_PROD_TIT -- Aggiunta per E-FOI80 + FROM C6MartPeriodico.CAPPROT + WHERE 1=1 +END +------------------------------------------------------------------------- +------------ [C6MartPeriodico].[PL_S43ContoCorrenteBF] +BEGIN + INSERT INTO wh.PL_S43ContoCorrenteBF + SELECT 'PL_S43ContoCorrenteBF', ANAG_CC.rete, ANAG_CC.cod_fiscale, + dbo.ToShortDateString(ANAG_CC.DATA_APERTURA) AS datadiSottoscrizione, + ANAG_CC.COD_CC AS conto, + cast(ANAG_CC.SALDOCONTABILE as decimal(15,2)) as Controvalore, + cast(ANAG_CC.SALDODISPONIBILE as decimal(15,2)) as SALDO_DISPONIBILE, + null as creditrisk , + 'n.a.' as creditriskstring, + 0 as var, + null as varString, + 0 as totaleVar, + null as totaleVarString + FROM + C6MartPeriodico.ANAG_CC + WHERE + ANAG_CC.SALDOCONTABILE < 0 + ORDER BY + ANAG_CC.SALDOCONTABILE DESC +END +------------------------------------------------------------------------- +------[C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] +BEGIN + SELECT COUNT(*) as TOTSELFLIQ, PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + into #TOTSELFLIQ1 + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + SELECT COUNT(*) as TOTLIQ, PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + into #PATRIMONIO_BF + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + INSERT INTO wh.[PL_S43BISDettaglioProdottiBF] +SELECT 'PL_S43BISDettaglioProdottiBF', PATRBF.RETE, PATRBF.COD_FISCALE, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, +--Bido +SUM(PATRBF.CTV ) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN TOTSELFLIQ = TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --V THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +--TRINGALI + CASE + WHEN (ISNULL(RISCHIO_AGGR_PROG.copertura,100) < 100) + --v THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_need_progString, + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.id_area='liq' + and (patrbf.tipo_prodotto='CC' + or patrbf.isin in('EURO00000009', 'EURO10000007'))) + then dbo.TOSHORTDATESTRING(C6MartPeriodico.getTrimestre2(getdate(),0)) +--FINE INTERVENTI OMNIA + else +--disasteriscare + --dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) +--cancellare inizio + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.chiave_progetto = '2205396' + and patrbf.tipo_prodotto = 'FI') + then '26/06/2014' + else + dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) + end +--cancellare fine + end AS dataAssociazione, -- CAMBIATA TRINGALI--marianna, cambiata per i cc senza data di associazione +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.VERSATO_NETTO_DA_ASSOC,0) end AS VersatoNetto, +CASE WHEN (MONIT.VERSATO_NETTO_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as VersatoNettoString, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.UTILE_PERDITA_DA_ASSOC,0) END AS MinusPlusValenza, +CASE WHEN (MONIT.UTILE_PERDITA_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in ('EURO00000009', 'EURO10000007' )THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_PROD.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK is null THEN 'n.a.' + ELSE NULL + END as creditriskstring, +-- CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + -- LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) +LEFT JOIN #PATRIMONIO_BF bf on bf.rete = PATRBF.rete and bf.cod_fiscale = PATRBF.cod_fiscale +LEFT JOIN #TOTSELFLIQ1 tot on tot.rete = PATRBF.rete and tot.cod_fiscale = PATRBF.cod_fiscale +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +--MODIFICA TRINGALI PER PRENDERE DETTAGLIO MONITORAGGIO +C6MartPeriodico.MONITORAGGIO_DETTAGLIO MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + --AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + and PATRBF.POSITION_ID=MONIT.POSITION_ID + --AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONATT +ON + PATRBF.RETE = MONATT.RETE + AND PATRBF.COD_FISCALE = MONATT.COD_FISCALE + AND + (PATRBF.ID_AREA=(CASE WHEN MONATT.ID_AREA='Exr' THEN 'Ext' ELSE MONATT.ID_AREA END) AND PATRBF.ID_AREA <> 'INV' + OR + PATRBF.ID_AREA = 'INV' AND PATRBF.ID_AREA = MONATT.ID_AREA AND PATRBF.ORDINAMENTO_PROGETTO = MONATT.ORDINAMENTO_PROGETTO + ) +--blocchiamo il monitoraggio per i progetti a ctv=0 + --And ctv_monitorato>0 +WHERE 1 = 1 + AND ( PATRBF.CTV <> 0 + --E-DEFAULT4 per gestire l'esposizione dei prodotti con ctv = 0 delle banche in default - 18/1/2016 + or (PATRBF.tipo_prodotto = 'DT' and + PATRBF.cod_interno in ('08558830','08594680','04880930','04867780','03972990', + '04281500','04539780','04657780','04966850','04119400','04931400', + '04556320', + '04119600','04291890','04064530' +))) + --fine E-DEFAULT4 +ORDER BY + AREASORTORDER, PATRBF.NOME_PROGETTO, PATRBF.CTV DESC -- modifica TRINGALI +drop table #PATRIMONIO_BF +END +------------------------------------------------------------------------- +------ [C6MartPeriodico].[PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento] +BEGIN + INSERT INTO wh.PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento + SELECT 'PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento', PATR_BF.RETE, + PATR_BF.COD_FISCALE, + PATR_BF.ID_AREA AS Need_Area, + PATR_BF.ID_CONTRATTO AS Contratto, + CASE + WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA + ELSE ltrim(rtrim(PATR_BF.NOME_PROGETTO)) + END AS Area_O_Nome_Progetto, + --PRODOTTI.DESCR_PRODOTTO AS Descrizione, + CASE WHEN PATR_BF.TIPO_PRODOTTO <> 'CC' THEN PRODOTTI.DESCR_PRODOTTO + ELSE PRODOTTI.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATR_BF.PARTVIA_DISINV AS PartitaViaggiante, + SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.RETE, + PATR_BF.COD_FISCALE,PATR_BF.POSITION_ID) AS Controvalore, + dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI AS PRODOTTI ON + PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO + --V La sezione deve uscire soltanto per aree monitorate + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE M ON + PATR_BF.RETE = M.RETE AND PATR_BF.COD_FISCALE = M.COD_FISCALE + AND( + (PATR_BF.ID_AREA = M.ID_AREA AND PATR_BF.ID_AREA <> 'INV') + OR + (PATR_BF.ID_AREA = 'INV' AND PATR_BF.ID_AREA = M.ID_AREA AND PATR_BF.ORDINAMENTO_PROGETTO = M.ORDINAMENTO_PROGETTO) + ) + LEFT OUTER JOIN C6MartPeriodico.ANAG_CC ON + ANAG_CC.COD_FISCALE = PATR_BF.COD_FISCALE + AND ANAG_CC.RETE = PATR_BF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATR_BF.position_id,72,9) + WHERE + PATR_BF.REND_NON_RAPPR = 1 + ORDER BY + Area_O_Nome_Progetto +END +------------------------------------------------------------------------- +----- [C6MartPeriodico].[PL_S82BisDatiSintetici] +BEGIN + INSERT INTO wh.PL_S82BisDatiSintetici + SELECT DISTINCT 'PL_S82BisDatiSintetici', + BF.RETE, + BF.COD_FISCALE, + BF.ORDINAMENTO_PROGETTO, + 'Inv' AS need_area, + ltrim(rtrim(ISNULL(PIRMOD.NOME_PROGETTO,BF.NOME_PROGETTO))) AS NOME_PROGETTO, + ISNULL(RA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RA.COPERTURA IS NULL THEN 'n.c.' + WHEN RA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RA.COPERTURA IS NULL THEN 'n.c.' + WHEN RA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PIRMOD.ORIZZ_TEMP AS orizzonte_Pianificato, + C6MartPeriodico.getDescFromDate(DATEDIFF(m,C6MartPeriodico.getTrimestre(GETDATE(),0),(DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM,PIRMOD.DATA_PIANIF)) )) AS durataResidua, + SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO, bf.ordinamento_progetto) AS ControvaloreAttuale + FROM + C6MartPeriodico.PATRIMONIO_BF AS BF + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON BF.RETE = RA.RETE + AND BF.COD_FISCALE = RA.COD_FISCALE + --V AND RA.COD_AGGREG = 'PIRAMIDE|Inv' + AND RA.COD_AGGREG = 'RISFIN|PIRAMIDE|Inv|'+ BF.NOME_PROGETTO + '|' + cast(bf.ordinamento_progetto as varchar) + -- + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD + ON BF.RETE = PIRMOD.RETE + AND BF.COD_FISCALE = PIRMOD.COD_FISCALE + --AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + AND BF.ORDINAMENTO_PROGETTO = PIRMOD.ORDINAMENTO_PROGETTO + AND PIRMOD.ID_AREA = 'Inv' + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS BFAggr + ON BF.RETE = BFAggr.RETE + AND BF.COD_FISCALE = BFAggr.COD_FISCALE + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE AS MONIT + ON BF.RETE = MONIT.RETE + AND BF.COD_FISCALE = MONIT.COD_FISCALE + AND BF.ID_AREA = MONIT.ID_AREA + AND BF.NOME_PROGETTO = MONIT.NOME_PROGETTO + AND BF.ORDINAMENTO_PROGETTO = MONIT.ORDINAMENTO_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'Inv' + END + --AND BF.ORDINAMENTO_PROGETTO=1521667 +------------------------------------------------------------------------- +----- [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] +begin +INSERT INTO wh.PL_S76AlternativaPatrimonioNonRappresentabileAssettClass +SELECT 'PL_S76AlternativaPatrimonioNonRappresentabileAssettClass', * FROM +( + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + case when PATRBF.RETE = 'F' then 'Fideuram' else 'Sanpaolo Invest' end as Intermediario + --patrbf.ordinamento_progetto + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + AND PATRBF.CTV <> 0.00 +UNION ALL +SELECT PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + sum(ASUL.CTV) as Controvalore, + sum(ASUL.CTV) as controvalore_contratto, + Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + case when PATRBF.RETE = 'F' then 'Fideuram' else 'Sanpaolo Invest' end as Intermediario + --patrbf.ordinamento_progetto + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN + C6MartPeriodico.DETTAGLIO_ASUL ASUL + ON + PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + left JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + ASSETPERC.COD_PRODOTTO IS NULL + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, PATRBF.ID_CONTRATTO, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end, + PATRBF.NOME_PROGETTO, + patrbf.chiave_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE), + ANAGP.DESCR_PRODOTTO + )XX +END +------------------------------------------------------------------------- +------------------------------- [C6MartPeriodico].[PL_D_S170RischioDiversificazione] +BEGIN + select count(*) as contaCC, cod_fiscale, rete + into #contaCCC + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' + group by cod_fiscale, rete + select count(*) as contaPOS, cod_fiscale, rete + into #contaPOSS + from c6martperiodico.patrimonio_Bf + group by cod_fiscale, rete + SELECT isnull(sum(ctv),0) as ctvbf, cod_fiscale, rete + INTO #ctvbf + FROM c6martperiodico.patrimonio_bf + where CTV > 0 + group by cod_fiscale, rete + SELECT isnull(sum(ctv),0) as ctvterzi, cod_fiscale, rete + INTO #ctvterzi + FROM c6martperiodico.patrimonio_terzi + where CTV > 0 + group by cod_fiscale, rete + INSERT INTO wh.PL_D_S170RischioDiversificazione +SELECT 'PL_D_S170RischioDiversificazione',K.RETE,K.COD_FISCALE, +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then COALESCE(ctvbf,0) + when cod_Aggreg = 'COMPLESSIVO|TERZI' then COALESCE(ctvterzi,0) + when cod_Aggreg = 'COMPLESSIVO' then COALESCE(ctvbf,0) + COALESCE(ctvterzi,0) + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN (COALESCE(contaPOS,0) - COALESCE(contacc,0) = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND COALESCE(contaPOS,0) - COALESCE(contacc,0) <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND COALESCE(contaPOS,0) - COALESCE(contacc,0) <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (contaPOS - contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +full outer join #contaCCC cc on k.COD_FISCALE = cc.cod_fiscale and k.Rete = cc.rete +full outer join #contaPOSS pos on k.COD_FISCALE = pos.cod_fiscale and k.Rete = pos.rete +full outer join #ctvbf bf on k.COD_FISCALE = bf.cod_fiscale and k.Rete = bf.rete +full outer join #ctvterzi terzi on k.COD_FISCALE = terzi.cod_fiscale and k.Rete = terzi.rete +WHERE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +ORDER BY ordine +END +------------------------------------------------------------------------- +----------------------------------[C6MartPeriodico].[PL_S96RischiomercatoRischiocredito] +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + truncate table wh.PL_S96RischiomercatoRischiocredito + INSERT INTO wh.PL_S96RischiomercatoRischiocredito + SELECT 'PL_S96RischiomercatoRischiocredito', RETE, COD_FISCALE, * + FROM ( + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + -- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + )X + order by ordine + END +------------------------------------------------------------------------- +-------------------- [C6MartPeriodico].[PL_S80Alternativa] +BEGIN + SELECT COUNT(*) as MONIT_ATTIV, RETE, COD_FISCALE + into #aa2 + FROM C6MARTPERIODICO.MONITORAGGIO_ATTUALE + GROUP BY RETE, COD_FISCALE + SELECT COUNT(*) as MONIT_INIT, RETE, COD_FISCALE + into #ab2 + FROM C6MARTPERIODICO.MONITORAGGIO_INIZIALE + GROUP BY RETE, COD_FISCALE + select a.RETE, a.COD_FISCALE + into #pos2 + from #aa2 a inner join #ab2 b on a.rete = b.rete and a.COD_FISCALE = b.COD_FISCALE + INSERT INTO wh.PL_S80Alternativa + SELECT 'PL_S80Alternativa' as ProcedureName, v.RETE as i_rete, v.Cod_Fiscale as i_codiceFiscale, v.[RETE] + ,v.[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] v + inner join #pos2 p on p.rete = v.rete and p.Cod_Fiscale = v.Cod_Fiscale +END +---------------------------------------------- +--maledetti +begin +truncate table wh.Maledetti +insert into wh.Maledetti --70 minutes +( +[i_CodiceFiscale] + ,[i_Rete] + ,[Rete] + ,[NomeRete] + ,[Agente] + ,[CognomeAgente] + ,[NomeAgente] + ,[IndirizzoAgente] + ,[CapAgente] + ,[CittaAgente] + ,[TelefonoAgente] + ,[CodiceFiscale] + ,[CognomeCliente] + ,[NomeCliente] + ,[ProfiloIsAct] + ,[PatrimonioNonRappresentabile] + ,[PartiteViaggiantiDisinv] + ,[PartiteViaggiantiInv] + ,[ContoCorrente] + ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,[RisorseNonAssociate] + ,[Patrimonioaltroctv] + ,[Patrimonioimmobiliarectv] + ,[PatrimonioTerzictv] + ,[PatrimonioTerziCtvAlNettoContoCorrente] + ,[PatrimonioTerziContoCorrente] + ,[Patrimoniobancafideuramctv] + ,[Patrimoniocomplessivototalectv] + ,[NumeroIntermediari] + ,[CodiceContratto] + ,[tip_contratto] + ,[contrattoold] + ,[NoMonitoraggio] + ,[descrizioneDiagnosi] + ,[idModelloDiagnosi] + ,[idReportDiagnosi] + ,[descrizioneMonitoraggio] + ,[idReportMonitoraggio] + ,[idModelloMonitoraggio] + ,[AdesioneSuccessivaAvanzato] + ,[VaRRisorseNonAssociate] + ,[CoperturaRisorseNonAssociate] + ,[VaRTotaleRisorseFinanziarie] + ,[CoperturaTotaleRisorseFinanziarie] + ,[IdReportPDFDiagnosi] + ,[IdReportPDFMonitoraggio] + ,scaduto + ) + SELECT DISTINCT + contratti.Cod_Fiscale as i_CodiceFiscale + ,contratti.Rete as i_Rete + --DATI COMUNI + --RETE + ,contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,CASE WHEN count(monit.id_area) OVER (PARTITION BY monit.rete,monit.cod_fiscale) = 0 + or isnull(monitInit.data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) + or monitReport.cod_fiscale is null + THEN 1 + ELSE 0 + END AS NoMonitoraggio + ,'Diagnosi' as descrizioneDiagnosi + ,CASE + WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 5 + ELSE -1 + END AS idModelloDiagnosi + ,CASE + WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 1 + ELSE -1 + END AS idReportDiagnosi + ,'Monitoraggio' as descrizioneMonitoraggio + ,4 as idReportMonitoraggio--4 + ,CASE isnull(tip_contratto,0) + WHEN 0 THEN 12--12 + WHEN 1 THEN 12--12 + WHEN 2 THEN 13--13 + END AS idModelloMonitoraggio + --************************************************* + ,0 AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFMonitoraggio + ,mifid.scaduto + FROM [C6MartPeriodico].contrattoSEI contratti + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --modificata da Valerio 12 marzo 2012 + --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6martperiodico.monitoraggio_attuale monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + left join c6martperiodico.monitoraggio_iniziale monitInit + on patrimonioBF.rete = monitInit.rete + and patrimonioBF.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport + on patrimonioBF.rete = monitReport.rete + and patrimonioBF.cod_fiscale = monitReport.cod_fiscale + WHERE 1=1 + end +------------------------------------------------------------------------- +END \ No newline at end of file diff --git a/sql/storedProduzione/wh_MERGED_PROCEDURE_20170615.sql b/sql/storedProduzione/wh_MERGED_PROCEDURE_20170615.sql new file mode 100644 index 00000000..31e5fb37 --- /dev/null +++ b/sql/storedProduzione/wh_MERGED_PROCEDURE_20170615.sql @@ -0,0 +1,4592 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [wh].[MERGED_PROCEDURE_20170615] +AS +BEGIN + SET NOCOUNT ON; +--------------------------------------------------------------------- +truncate table wh.pl_s85rendimentoportafogliocono +truncate table wh.pl_areemonitorate +truncate table wh.pl_s43lineaselfbf +truncate table wh.pl_s10patrimoniofinanziario +truncate table wh.pl_prodotti_non_associati_area_inv +truncate table wh.pl_d2_s151profilodirischio +truncate table wh.pl_d2_s152patrimonio +truncate table wh.pl_d2_s153patrimoniofinanziario +truncate table wh.pl_d2_s154patrimoniofinanziario +truncate table wh.pl_d2_s155patrimonioimmobiliare +truncate table wh.pl_d2_s156altropatrimonio +truncate table wh.pl_d2_s157confrontopiramidi +truncate table wh.pl_d2_s158piramidemodello +truncate table wh.pl_d2_s159patrimoniofinanziario +truncate table wh.pl_d2_s160dettaglioprodottibf +truncate table wh.pl_d2_s162dettaglioprodotti +truncate table wh.pl_d2_s163patrimoniofinanziariomassetclass +truncate table wh.pl_d2_s164polizzealtriistituti +truncate table wh.pl_d2_s165fondialtriistituti +truncate table wh.pl_d2_s167distribuzionerischiocredito +truncate table wh.pl_d2_s168tabellaemittenti +truncate table wh.pl_s43dettaglioprodottibf +truncate table wh.pl_d2_s169rischiomercatorischiocredito +truncate table wh.pl_d2_s170rischiodiversificazione +truncate table wh.pl_d2_s171patrimoniononrappresentabileassettclass +truncate table wh.pl_mp_s137bonus +truncate table wh.pl_mp_s135monitoraggioinvestimento +truncate table wh.pl_mp_s134monitoraggioliquidita +truncate table wh.pl_mp_s134bismonitoraggioliqinv +truncate table wh.pl_mp_s133bisprincipaliprodotti +truncate table wh.pl_mp_s133areebisognoprincprod +truncate table wh.pl_mp_s146rischiodiversificazione +truncate table wh.pl_mp_s141analisirisparmiotable +truncate table wh.pl_mp_s140analisirisparmiocharts +truncate table wh.pl_mp_s137biscapitaleprotetto +truncate table wh.pl_s43contocorrentebf +truncate table wh.pl_s43bisdettaglioprodottibf +truncate table wh.pl_s88patrimoniononconsideratonelcalcolodelrendimento +truncate table wh.pl_s82datisintetici +truncate table wh.pl_s82bisdatisintetici +truncate table wh.pl_s76alternativapatrimoniononrappresentabileassettclass +truncate table wh.pl_s80alternativa +truncate table wh.pl_s96rischiomercatorischiocredito +truncate table wh.pl_d_s170rischiodiversificazione +------------------------------------------------------------------------ +-------------------------------------------PL_S82DatiSintetici +INSERT INTO WH.PL_S82DatiSintetici +SELECT 'C6MartPeriodico.PL_S82DatiSintetici' as ProcedureName, PATRAREA.RETE as i_rete ,PATRAREA.COD_FISCALE as i_codiceFiscale, + PATRAREA.ID_AREA AS need_area, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PATRAREA.ORDINAMENTO_PROGETTO, + /*V Calcolato a livello di codice + CASE + WHEN PATRAGGR.CTV = 0 THEN 0 + ELSE PATRAREA.CTV / PATRAGGR.CTV * 100 + END AS pesoPerc,*/ + PATRAREA.CTV AS ControvaloreAttuale + /* Calcolato a livello di codice + CASE + WHEN @TOTRischio = 0 THEN 0 + ELSE ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV / @TOTRischio * 100 + END AS rischioRelativo*/ + FROM C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS PATRAGGR + ON PATRAGGR.RETE = PATRAREA.Rete + AND PATRAGGR.COD_FISCALE = PATRAREA.COD_FISCALE + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON RISCHIOAREA.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRAREA.ID_AREA,3) + AND RISCHIOAREA.RETE = PATRAREA.Rete + AND RISCHIOAREA.COD_FISCALE = PATRAREA.COD_FISCALE + WHERE 1=1 + AND PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE') +------------------------------------------------------------------------- +-------------------------------------------PL_S85RendimentoPortafoglioCono + BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,isnull([NOME_PROGETTO],'XXX') as NOME_PROGETTO + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB] +into #pir_mod_xxx + FROM [C6MartPeriodico].[PIRAMIDE_MOD] +--select * from #pir_mod_xxx where cod_fiscale = 'FF@7181' +INSERT INTO WH.PL_S85RendimentoPortafoglioCono +SELECT 'C6MartPeriodico.PL_S85RendimentoPortafoglioCono' as ProcedureName, CONO.RETE as i_rete ,CONO.COD_FISCALE as i_codiceFiscale, + CONO.ID_AREA AS NEED_AREA, + CASE + WHEN CONO.NOME_PROGETTO = 'XXX' THEN '' + ELSE CONO.NOME_PROGETTO + END AS NOME_PROGETTO, + cono.ordinamento_progetto, + CONO.DATA_CONO, + CONO.SCENARIO_OTTIMISTICO AS OTTIMISTICO, + CONO.SCENARIO_PESSIMISTICO AS PESSIMISTICO, + isnull(PIRMOD.ORIZZ_TEMP_NUM,0) * 12 AS ORIZZONTE_MESI, + MONIT.RENDIMENTO_CUMULATO AS RENDIMENTO, + MONIT.DATA_CTV AS DATA_MONIT + FROM + C6MartPeriodico.CONO_PIANIFICAZIONE AS CONO + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE AS MONIT + ON CONO.RETE = MONIT.RETE + AND CONO.COD_FISCALE = MONIT.COD_FISCALE + AND CONO.ID_AREA = MONIT.ID_AREA + AND CONO.NOME_PROGETTO = MONIT.NOME_PROGETTO + And cono.ordinamento_progetto=monit.ordinamento_progetto --l'ordinamento progetto è sempre pari alla chiaveprogetto e non idmonitoraggio + INNER JOIN #pir_mod_xxx as PIRMOD + ON CONO.RETE = PIRMOD.RETE + AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE + AND CONO.ID_AREA = PIRMOD.ID_AREA + AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + And cono.ordinamento_progetto=pirmod.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD +-- ON CONO.RETE = PIRMOD.RETE +-- AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE +-- AND CONO.ID_AREA = PIRMOD.ID_AREA +-- AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + ORDER BY CONO.DATA_CONO + drop table #pir_mod_xxx +END +------------------------------------------------------------------------- +-------------------------------------------pl_areemonitorate +BEGIN +INSERT INTO WH.PL_AreeMonitorate +SELECT 'C6MartPeriodico.PL_AreeMonitorate' as ProcedureName, [RETE] as i_rete ,[COD_FISCALE] as i_codiceFiscale, +NEED_AREA, +NEED_ESTESA, +max(NOME_PROGETTO) as NOME_PROGETTO, +--CONTROLLO NOME PROGETTO DUPLICATO, TOLTO IL MAX, AGGIUNTO NEL GROUP BY +ISNULL(ORDINAMENTO_PROGETTO,-1111), +--MAX(ORDINAMENTO_PROGETTO) AS ORDINAMENTO_PROGETTO, +MAX(ORDINE) AS ORDINE, +--rimettere il min e commentare il ctv=0 +max(AREAPROGETTOSOTTOMONITORAGGIO) AS AREAPROGETTOSOTTOMONITORAGGIO +FROM +( + --1.1 liq sotto monit + SELECT + PIRMOD.RETE AS RETE, + PIRMOD.COD_FISCALE as COD_FISCALE, + PIRMOD.ID_AREA AS Need_Area, + AREA.NOME_AREA AS Need_Estesa, + CASE WHEN PIRMOD.NOME_PROGETTO is null and pirmod.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PIRMOD.NOME_PROGETTO)) + END AS Nome_Progetto, + PIRMOD.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PIRMOD.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 6 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + (SELECT + RETE, + COD_FISCALE, + case when ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else id_area end as Id_area, + NOME_PROGETTO, + TIPO_PROGETTO, + PERC_AREA, + CTV_PROGETTO, + CTV_AREA, + ORIZZ_TEMP_NUM, + ORIZZ_TEMP, + CTV_TOTALE, + STATO_CONSULENZA, + DATA_STATO_CONS, + DATA_MIGR_CONS, + DATA_PIANIF, + ID_CONTRATTO, ---LEVARE??? + ORDINAMENTO_PROGETTO + FROM + C6MartPeriodico.CONS_ATTIVAGGIORNATA + ) PIRMOD + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PIRMOD.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PIRMOD.COD_FISCALE + AND MONIT.RETE=PIRMOD.RETE + AND MONIT.ID_AREA= PIRMOD.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PIRMOD.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PIRMOD.ORDINAMENTO_PROGETTO + WHERE + PIRMOD.CTV_PROGETTO > 0 + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.CTV < 0 and id_area = 'CC' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + 'Self' AS Need_Area, + 'Liquidità negativa "Linee GP Eligo"' AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.CTV < 0 and id_area = 'SELF' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 8 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + --case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +) A +GROUP BY +RETE, +COD_FISCALE, +NEED_AREA, +NEED_ESTESA, +ISNULL(ORDINAMENTO_PROGETTO,-1111) + ORDER BY + ORDINE +END +------------------------------------------------------------------------- +-------------------------------------------PL_S43LineaSelfBF +BEGIN + INSERT INTO WH.PL_S43LineaSelfBF + SELECT 'C6MartPeriodico.PL_S43LineaSelfBF' as ProcedureName, LS.rete as i_rete ,LS.codfis as i_codiceFiscale, + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(cast(datasott as varchar)) as DataSott + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + isnull(ctv,0) < 0 +END +------------------------------------------------------------------------- +-------------------------------------------PL_S10PatrimonioFinanziario +BEGIN + INSERT INTO WH.PL_S10PatrimonioFinanziario + SELECT 'C6MartPeriodico.PL_S10PatrimonioFinanziario' as ProcedureName, [Rete] as i_rete ,[CodiceFiscale] as i_codiceFiscale, + [Banca] + ,[Ordinamento] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6MartPeriodico].[tb_S10PatrimonioFinanziario] + order by ordinamento +END +------------------------------------------------------------------------- +-------------------------------------------PL_Prodotti_Non_Associati_Area_Inv +BEGIN +INSERT INTO WH.PL_Prodotti_Non_Associati_Area_Inv + SELECT 'C6MartPeriodico.PL_Prodotti_Non_Associati_Area_Inv' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, +PATRBF.RETE, +PATRBF.COD_FISCALE, +ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') AS NOME_PROGETTO, +ID_AREA as NEED_AREA, +SUM(CTV) AS CONTROVALOREATTUALE, +MAX(ISNULL(RISK.VAR_PERC_PTF,0)) AS var_needarea, +--PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString +FROM +C6MARTPERIODICO.PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +C6MARTPERIODICO.RISCHIO_AGGREGATO RISK +ON PATRBF.RETE = RISK.RETE + AND PATRBF.COD_FISCALE = RISK.COD_FISCALE + AND RISK.COD_AGGREG = 'PIRAMIDE|Inv|'+ ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') +WHERE 1 = 1 + AND PATRBF.id_AREA = 'Inv' + AND PATRBF.NOME_PROGETTO='Prodotti non associati a progetti' +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti'), +ID_AREA, +CHIAVE_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S151ProfiloDiRischio +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + INSERT INTO WH.PL_D2_S151ProfiloDiRischio + SELECT 'C6MartPeriodico.PL_D2_S151ProfiloDiRischio' as ProcedureName, M.RETE as i_rete, M.COD_FISCALE as i_codiceFiscale, + M.PROFILO_ASS as codiceProfilo, + DBO.TOSHORTDATESTRING(M.DATA_INIZIO_VAL) as dataInizioValidita, + CR.MAX_VAR as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + ProfiliDiRischio.NOMEPROFILO as nomeProfilo, + m.riskclass as riskclass, + m.experience as experince + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO +END +------------------------------------------------------------------------- +-------------------------------------------pl_d2_s152patrimonio +BEGIN +SELECT SUM(CTV) as Value, patrBF.Rete, patrBF.Cod_Fiscale +into #PatrimonioBF + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE patrBF.id_area not in ('CC','SELF') + group by patrBF.Cod_Fiscale, patrBF.Rete + SELECT SUM(IMPORTO) as Value, Rete, Cod_Fiscale + into #Part_viaggianti + FROM + ( + SELECT SUM(IMPORTO) AS IMPORTO, partvia.Rete, partvia.Cod_Fiscale + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + group by partvia.Rete, partvia.Cod_Fiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO, partvia.Rete, partvia.Cod_Fiscale + FROM C6Martperiodico.patrimonio_bf partvia + group by partvia.Rete, partvia.Cod_Fiscale + ) T + group by Rete, Cod_Fiscale + SELECT SUM(ROUND(CTV,2)) as Value, patrTerzi.Rete, + patrTerzi.Cod_Fiscale + into #PatrimonioTerzi + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + group by patrTerzi.Rete, + patrTerzi.Cod_Fiscale + SELECT SUM(patrImm.VALORE_STIMATO) as Value, + patrImm.Rete, patrImm.Cod_Fiscale + into #PatrimonioImmobiliare + FROM C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + group by patrImm.Rete, patrImm.Cod_Fiscale + SELECT SUM(patrAltro.ctv) as Value, patrAltro.Rete, patrAltro.Cod_Fiscale + into #PatrimonioAltro + FROM C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + group by patrAltro.Rete, patrAltro.Cod_Fiscale + select distinct rete, cod_fiscale + into #merge + from + ( + select rete, cod_fiscale from #PatrimonioBF UNION ALL + select rete, cod_fiscale from #PatrimonioTerzi UNION ALL + select rete, cod_fiscale from #Part_viaggianti UNION ALL + select rete, cod_fiscale from #PatrimonioImmobiliare UNION ALL + select rete, cod_fiscale from #PatrimonioAltro + )x + truncate table WH.pl_d2_s152patrimonio + ;with data as + ( + select m.rete, m.cod_fiscale, + cast(COALESCE(a.value,0.00)+COALESCE(c.value,0.00) as numeric(18,2)) as PatrimonioBF, + cast(COALESCE(a.value,0.00)+COALESCE(b.value,0.00)+COALESCE(c.value,0.00) as numeric(18,2)) as FinanziarioCTV, + cast(COALESCE(a.value,0.00)+COALESCE(b.value,0.00)+COALESCE(c.value,0.00)+COALESCE(d.value,0.00)+COALESCE(e.value,0.00) as numeric(18,2)) as PatrimonioTotale, + cast(COALESCE(b.value,0.00) as numeric(18,2)) as PatrimonioTerziCTV, + cast(COALESCE(d.value,0.00) as numeric(18,2)) as PatrimonioImmobiliare, + cast(COALESCE(e.value,0.00) as numeric(18,2)) as PatrimonioAltro + from #merge m + left join #PatrimonioBF a on a.rete = m.rete and a.cod_fiscale = m.cod_fiscale + left join #PatrimonioTerzi b on b.rete = m.rete and b.cod_fiscale = m.cod_fiscale + left join #Part_viaggianti c on c.rete = m.rete and c.cod_fiscale = m.cod_fiscale + left join #PatrimonioImmobiliare d on d.rete = m.rete and d.cod_fiscale = m.cod_fiscale + left join #PatrimonioAltro e on e.rete = m.rete and e.cod_fiscale = m.cod_fiscale + ) + INSERT INTO WH.pl_d2_s152patrimonio + SELECT 'C6MartPeriodico.pl_d2_s152patrimonio' as ProcedureName, rete as i_rete, cod_fiscale as i_codiceFiscale, + PatrimonioBF, + PatrimonioTerziCTV, + FinanziarioCTV, + CONVERT(decimal(6,2), + case when PatrimonioTotale = 0.00 then 0.00 + else FinanziarioCTV / PatrimonioTotale end + * 100.00) AS FinanziarioPerc, + PatrimonioImmobiliare, + CONVERT(decimal(6,2), + case when PatrimonioTotale = 0.00 then 0.00 + else PatrimonioImmobiliare/PatrimonioTotale end + * 100.00) AS ImmobiliarePerc, + PatrimonioAltro, + CONVERT(decimal(6,2), + case PatrimonioTotale when 0.00 then 0.00 + else PatrimonioAltro/PatrimonioTotale end + * 100.00) AS AltroPerc, + PatrimonioTotale as TotaleCTV + from data +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S153PatrimonioFinanziario +BEGIN + INSERT INTO WH.PL_D2_S153PatrimonioFinanziario + SELECT 'C6MartPeriodico.PL_D2_S151ProfiloDiRischio' as ProcedureName, Rete as i_rete, Cod_Fiscale as i_codiceFiscale, + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Rete, + Cod_Fiscale, + Intermediario, + Ordine, + CASE Rete WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS Banca, + SUM(ctv) over (partition by Intermediario,Ordine,Rete,Cod_fiscale) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine,Rete,Cod_Fiscale)) / + wh.IsZero((SUM(ctv) over (partition by 'Totale'+Rete+Cod_fiscale)),1) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + patrBF.Rete as Rete, + patrBF.Cod_Fiscale as Cod_Fiscale, + CASE patrBF.Rete WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE 1 = 1 + and patrBF.id_area not in ('CC','SELF') + GROUP BY patrBF.Rete, patrBF.Cod_Fiscale + UNION ALL + SELECT + patrTerzi.Rete as Rete, + patrTerzi.Cod_Fiscale as Cod_Fiscale, + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + GROUP BY patrTerzi.Intermediario, patrTerzi.Rete, patrTerzi.Cod_Fiscale + ) PATR + GROUP BY Cod_Fiscale, Rete, intermediario, ordine, ctv + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S154PatrimonioFinanziario +BEGIN +INSERT INTO WH.PL_D2_S154PatrimonioFinanziario + SELECT 'C6MartPeriodico.PL_D2_S154PatrimonioFinanziario' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(38,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE),2) as decimal(38,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + RETE, + COD_FISCALE, + CASE RETE WHEN 'S' THEN 'Sanpaolo Invest'ELSE 'Fideuram' END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE) / + NULLIF(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE),0) + ) * 100 AS Percentuale + FROM ( + SELECT --PRODOTTI BF ESCLUSI GLI ASUL + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO NOT IN ('ASUL') + AND PATRBF.ID_AREA not in ('CC','SELF') + UNION ALL + SELECT + ASUL.RETE AS RETE, + ASUL.COD_FISCALE as COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + UNION ALL + --CON SKANDIA + SELECT + ASUL.RETE AS RETE, + ASUL.COD_FISCALE as COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + PATRTERZI.RETE AS RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + PATRTERZI.RETE AS RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + --GROUP BY RETE, COD_FISCALE, ASSETCLASS.ordinamento, VALORIASSET.ID_ASSETCLASS, ASSETCLASS.DESCRIZIONE, VALORIASSET.CONTROVALORE +) A +--GROUP BY RETE, COD_FISCALE, A.BANCA, A.ORDINAMENTO, A.ASSETCLASSID, A.ASSETCLASSNAME, A.CONTROVALORE, A.PERCENTUALE +ORDER BY A.ORDINAMENTO +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S155PatrimonioImmobiliare +BEGIN +INSERT INTO WH.PL_D2_S155PatrimonioImmobiliare + SELECT 'C6MartPeriodico.PL_D2_S155PatrimonioImmobiliare' as ProcedureName, PATRIMONIO_IMMOBILIARE.RETE as i_rete, PATRIMONIO_IMMOBILIARE.COD_FISCALE as i_codiceFiscale, + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale'+PATRIMONIO_IMMOBILIARE.RETE+PATRIMONIO_IMMOBILIARE.COD_FISCALE) as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto'+PATRIMONIO_IMMOBILIARE.RETE+PATRIMONIO_IMMOBILIARE.COD_FISCALE) as TotaleAffitto + FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + --GROUP BY PATRIMONIO_IMMOBILIARE.RETE, PATRIMONIO_IMMOBILIARE.COD_FISCALE, PATRIMONIO_IMMOBILIARE.descrizione, PATRIMONIO_IMMOBILIARE.TIPOLOGIA, PATRIMONIO_IMMOBILIARE.LOCALITA, PATRIMONIO_IMMOBILIARE.AFFITTO, PATRIMONIO_IMMOBILIARE.VALORE_STIMATO + ORDER BY PATRIMONIO_IMMOBILIARE.valore_stimato DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S156ALtroPatrimonio +BEGIN + INSERT INTO WH.PL_D2_S156ALtroPatrimonio + SELECT 'C6MartPeriodico.PL_D2_S156ALtroPatrimonio' as ProcedureName, PATRIMONIO_ALTRO.RETE as i_rete, PATRIMONIO_ALTRO.COD_FISCALE as i_codiceFiscale, + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale',PATRIMONIO_ALTRO.RETE, PATRIMONIO_ALTRO.COD_FISCALE ) as Totale + FROM + C6MartPeriodico.PATRIMONIO_ALTRO + --GROUP BY PATRIMONIO_ALTRO.RETE, PATRIMONIO_ALTRO.COD_FISCALE, PATRIMONIO_ALTRO.DESCRIZIONE, PATRIMONIO_ALTRO.QUANTITA, PATRIMONIO_ALTRO.CTV + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S157ConfrontoPiramidi +BEGIN +INSERT INTO WH.PL_D2_S157ConfrontoPiramidi +SELECT 'C6MartPeriodico.PL_D2_S157ConfrontoPiramidi' as ProcedureName, RETE as i_rete, [CodiceFiscale] as i_codiceFiscale, + [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] + where [CodiceFiscale] is not null and [Rete] is not null + order by ordinamento +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S158PiramideModello +BEGIN +INSERT INTO WH.PL_D2_S158PiramideModello +SELECT 'C6MartPeriodico.PL_D2_S158PiramideModello' as ProcedureName, BF.RETE as i_rete, BF.COD_FISCALE as i_codiceFiscale, + BF.NOME_PROGETTO AS NomePrg, + PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + AGGR.VAR_PERC_PTF as VarPrg, + SUM(BF.CTV)AS ControvalorePrg + FROM C6MartPeriodico.PATRIMONIO_BF BF + INNER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AGGR + ON BF.RETE= AGGR.RETE + AND BF.COD_FISCALE= AGGR.COD_FISCALE + AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD + ON BF.RETE= PIRMOD.RETE + AND BF.COD_FISCALE= PIRMOD.COD_FISCALE + AND BF.ID_AREA = PIRMOD.ID_AREA + AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'inv' + AND BF.CTV > 0 + group BY BF.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,AGGR.VAR_PERC_PTF, BF.RETE, BF.COD_FISCALE +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S159PatrimonioFinanziario +BEGIN +INSERT INTO WH.PL_D2_S159PatrimonioFinanziario +SELECT 'C6MartPeriodico.PL_D2_S159PatrimonioFinanziario' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(38,6)) AS Controvalore, + cast(A.Percentuale as decimal(38,6)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE),2) as decimal(38,6)) AS Totale +FROM +( + SELECT DISTINCT + RETE, + COD_FISCALE, + CASE RETE + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Fideuram' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE) ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE AS COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area not in ('CC','Self') + UNION ALL + SELECT + ASUL.RETE AS RETE, + ASUL.COD_FISCALE AS COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + UNION ALL + SELECT ASUL.RETE AS RETE, + ASUL.COD_FISCALE AS COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +--group by RETE, COD_FISCALE, a.banca, a.ordinamento, a.assetclassid, a.assetclassname, a.controvalore, a.percentuale +ORDER BY A.ORDINAMENTO +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S160DettaglioProdottiBF +BEGIN +INSERT INTO WH.PL_D2_S160DettaglioProdottiBF +SELECT 'C6MartPeriodico.PL_D2_S160DettaglioProdottiBF' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN (SELECT COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF tmp2 + WHERE ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' and + tmp2.COD_FISCALE = PATRBF.COD_FISCALE AND + TMP2.RETE = PATRBF.RETE) = (SELECT COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF tmp3 + WHERE ID_AREA = 'LIQ' and tmp3.COD_FISCALE = PATRBF.COD_FISCALE AND + TMP3.RETE = PATRBF.RETE) and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 and + PATRBF.CTV <>0 +--GROUP BY PATRBF.COD_FISCALE, PATRBF.RETE, AREA.ID_AREA, AREA.NOME_AREA, AREA.ORDINAMENTO, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO, PATRBF.CTV, +-- MONIT.MINUS_PLUSVALENZA, RISCHIO_AGGR_PROG.COPERTURA, RISCHIO_AGGR_PROG.VAR_PERC_PTF, RISCHIO_AGGR_AREA.VAR_PERC_PTF, RISCHIO_AGGR_AREA.COPERTURA, +-- PATRBF.DATA_SOTTOSCRIZIONE, PATRBF.ID_CONTRATTO, PATRBF.TIPO_PRODOTTO, ANAGPROD.DESCR_PRODOTTO, ANAG_CC.COD_CC, RISCHIO_PROD.VAR_PERC_PTF, +-- RISCHIO_PROD.COPERTURA, PATRBF.ISIN, PATRBF.REND_ANNO, PATRBF.REND_SOTTOSCRIZIONE, PATRBF.PARTVIA_DISINV, RISCHIO_PROD.CREDITRISK, RISCHIO_PROD.CREDITRISKEMIT +ORDER BY + AREASORTORDER,CHIAVE_progetto,nome_progetto, PATRBF.CTV DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S162DettaglioProdotti +BEGIN +INSERT INTO WH.PL_D2_S162DettaglioProdotti + SELECT 'C6MartPeriodico.PL_D2_S162DettaglioProdotti' as ProcedureName, PATRTERZI.RETE as i_rete, PATRTERZI.COD_FISCALE as i_codiceFiscale, + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + ON + PATRTERZI.RETE = RISCHIOAGGREG.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGREG.COD_FISCALE + AND RISCHIOAGGREG.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + WHERE 1 = 1 + AND PATRTERZI.DESCR_GRUPPO_PRODOTTO IS NOT NULL + --GROUP BY PATRTERZI.COD_FISCALE, PATRTERZI.RETE, PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.INTERMEDIARIO, PATRTERZI.DATA_SOTTOSCRIZIONE, ANAGPRODTERZI.NOME_PRODOTTO, PATRTERZI.CTV, PATRTERZI.VERSATO_NETTO, + -- RISCHIOPROD.VAR_PERC_PTF, RISCHIOPROD.COPERTURA, RISCHIOAGGREG.VAR_PERC_PTF, RISCHIOAGGREG.COPERTURA, PATRTERZI.COD_PRODOTTO, RISCHIOPROD.CREDITRISK, RISCHIOPROD.CREDITRISKEMIT + ORDER BY + OrdinamentoProdotti, + Controvalore DESC +END +------------------------------------------------------------------------- +-------------------------------------------pl_d2_s163patrimoniofinanziariomassetclass +BEGIN +INSERT INTO WH.pl_d2_s163patrimoniofinanziariomassetclass +SELECT DISTINCT 'C6MartPeriodico.pl_d2_s163patrimoniofinanziariomassetclass' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS, RETE,COD_FISCALE) as decimal(19,6)) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS, RETE,COD_FISCALE) / + case SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE', RETE,COD_FISCALE) + when 0 then 1 + else SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE', RETE,COD_FISCALE) + end +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE', RETE,COD_FISCALE) as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + PATRTERZI.RETE as RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + PATRTERZI.RETE as RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + ) VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + -- GROUP BY COD_FISCALE, RETE, ASSETCLASS.ORDINAMENTO, ASSETCLASS.ID_ASSETCLASS, VALORIASSET.ID_ASSETCLASS, ASSETCLASS.DESCRIZIONE, VALORIASSET.CONTROVALORE +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S164PolizzeAltriIstituti +BEGIN +INSERT INTO WH.PL_D2_S164PolizzeAltriIstituti + SELECT 'C6MartPeriodico.PL_D2_S164PolizzeAltriIstituti' as ProcedureName, PATRTERZI.RETE as i_rete, PATRTERZI.COD_FISCALE as i_codiceFiscale, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S165FondiAltriIstituti +BEGIN + INSERT INTO WH.PL_D2_S165FondiAltriIstituti + SELECT 'C6MartPeriodico.PL_D2_S165FondiAltriIstituti' as ProcedureName, PATRTERZI.RETE as i_rete, PATRTERZI.COD_FISCALE as i_codiceFiscale, + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + -- GROUP BY + -- PATRTERZI.COD_FISCALE, PATRTERZI.RETE, PATRTERZI.intermediario, ANAGPRODTERZI.NOME_PRODOTTO, PATRTERZI.DATA_SOTTOSCRIZIONE, PATRTERZI.FREQ_RATA, + -- PATRTERZI.CTV, PATRTERZI.VERSATO_NETTO, RISCHIOPROD.VAR_PERC_PTF, RISCHIOPROD.COPERTURA, RISCHIOAGGR.VAR_PERC_PTF, RISCHIOAGGR.COPERTURA, + -- PATRTERZI.COD_PRODOTTO, RISCHIOAGGR.CREDITRISK +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S167DistribuzioneRischioCredito +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_D2_S167DistribuzioneRischioCredito + SELECT 'C6MartPeriodico.PL_D2_S167DistribuzioneRischioCredito' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +'Altri Istituti' AS INTERMEDIARIO, +--PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +--PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT 'C6MartPeriodico.PL_D2_S167DistribuzioneRischioCredito' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S168TabellaEmittenti +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_D2_S168TabellaEmittenti + SELECT 'C6MartPeriodico.PL_D2_S168TabellaEmittenti' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS, + RATING + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ + (select sum(ctv_prodotto) from + c6martperiodico.patrimonio_emittenti + where cod_fiscale = L.COD_FISCALE and rete = L.RETE + and ctv_prodotto > 0) + *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +--RATING as RATING +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +--RATING as RATING +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V +LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS, +RATING +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10 +--RATING +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END +------------------------------------------------------------------------- +-----------------------------------------------PL_S43DettaglioProdottiBF +BEGIN +SELECT COUNT(*) as TOTSELFLIQ, PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE + INTO #TOTSELFLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE + SELECT COUNT(*) as TOTLIQ, PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE + INTO #TOTLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE +INSERT INTO WH.PL_S43DettaglioProdottiBF +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT 'C6MartPeriodico.PL_S43DettaglioProdottiBF' as ProcedureName, PATRBF.RETE, PATRBF.COD_FISCALE , +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN TOTSELFLIQ = TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + --LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +left JOIN #TOTSELFLIQ t1 on t1.rete = PATRBF.RETE and t1.COD_FISCALE = PATRBF.COD_FISCALE +left JOIN #TOTLIQ t2 on t2.rete = PATRBF.RETE and t2.COD_FISCALE = PATRBF.COD_FISCALE +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_PROGETTO,nome_progetto, PATRBF.CTV DESC + drop table #TOTSELFLIQ +drop table #TOTLIQ +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S169RischiomercatoRischiocredito +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_D2_S169RischiomercatoRischiocredito + SELECT 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S170RischioDiversificazione +BEGIN +INSERT INTO WH.PL_D2_S170RischioDiversificazione + SELECT 'C6MartPeriodico.PL_D2_S170RischioDiversificazione' as ProcedureName, K.RETE as i_rete, K.COD_FISCALE as i_codiceFiscale, +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + when cod_Aggreg = 'COMPLESSIVO|TERZI' then (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + when cod_Aggreg = 'COMPLESSIVO' then (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN ((select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND (select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND (select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN ((select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +ORDER BY ordine +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S171PatrimonioNonRappresentabileAssettClass +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + INSERT INTO WH.PL_D2_S171PatrimonioNonRappresentabileAssettClass + SELECT 'C6MartPeriodico.PL_D2_S171PatrimonioNonRappresentabileAssettClass' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + CASE PATRBF.RETE WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' end as Intermediario + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL +--INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <> 0.00 +--INIZIO INTERVENTI OMNIA + UNION ALL + SELECT 'C6MartPeriodico.PL_D2_S171PatrimonioNonRappresentabileAssettClass' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + CASE PATRBF.RETE WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' end as Intermediario + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO, + PATRBF.RETE, + PATRBF.COD_FISCALE + ORDER BY CONTROVALORE DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S137Bonus +BEGIN +INSERT INTO WH.PL_MP_S137Bonus + SELECT 'C6MartPeriodico.PL_MP_S137Bonus' as ProcedureName, [RETE] as i_rete, [COD_FISCALE] as i_codiceF, + [RETE], + bonus.[COD_FISCALE], + [DES_PROD] = CASE + WHEN desrc.descrizione is null THEN '' + ELSE desrc.descrizione + END, + bonus.[COD_CONF], + bonus.[CTV], + bonus.[DT_TRIM], + 'Bonus Maturato' as [DESBONUS_M], + bonus.[BONUS_M], + bonus.[DTDEC_M], + 'Bonus a scadenza 5 anni' as [DESBONUS_5], + bonus.[BONUS_5], + bonus.[DTDEC_5], + 'Bonus a scadenza 10 anni' as [DESBONUS_10], + bonus.[BONUS_10], + bonus.[DTDEC_10], + bonus.[COD_PROD] + FROM [C6MartPeriodico].[BONUS] bonus + Left Join c6martperiodico.descrizione_bonus desrc + on desrc.cod_prod = bonus.cod_prod +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S135MonitoraggioInvestimento +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_MP_S135MonitoraggioInvestimento + SELECT 'C6MartPeriodico.PL_MP_S135MonitoraggioInvestimento' as ProcedureName, [RETE] as i_rete, [COD_FISCALE] as i_codiceF, + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + UNION + SELECT 'C6MartPeriodico.PL_MP_S135MonitoraggioInvestimento' as ProcedureName, [RETE] as i_rete, [COD_FISCALE] as i_codiceF, + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S134MonitoraggioLiquidita +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- DECLARE @RendimNonRappr BIT +INSERT INTO WH.PL_MP_S134MonitoraggioLiquidita + SELECT 'C6MartPeriodico.PL_MP_S134MonitoraggioLiquidita' as ProcedureName, MONIT.RETE as i_rete, MONIT.COD_FISCALE as i_codiceF, + case when RENDIMNONRAPPR=1 then 1 else 0 end AS cf_rendim_non_rappr, + MONIT.id_Area AS Need_Area, + CASE + WHEN MONIT.NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(MONIT.NOME_PROGETTO)) + END AS Nome_Progetto, + monit.ordinamento_progetto, + dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, + CTV_MONITORATO AS ControvaloreMonitorato, + APPORTO_INIZIALE AS ApportoIniziale, + APPORTO_SUCCESSIVO AS ApportoSuccessivo, + LIQUIDAZIONI, + CEDOLE_DIVIDENDI AS CedoleEDividendi, + MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, + RENDIMENTO_CUMULATO AS Rendimento_Attuale, + RISORSE_ASSOCIATE AS RisorseApportate, + dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, + RENDIMENTO_ANNUALIZZATO + FROM + C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT + LEFT OUTER JOIN + ( + SELECT + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end as NOME_PROGETTO, + patr_bf.ordinamento_progetto, + 1 as RENDIMNONRAPPR + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + LEFT OUTER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + WHERE + PATR_BF.REND_NON_RAPPR = 1 + group by + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end, + patr_bf.ordinamento_progetto + ) PATR_BF + ON PATR_BF.COD_FISCALE=MONIT.COD_FISCALE + AND PATR_BF.RETE= MONIT.RETE + AND left(PATR_BF.ID_AREA,3)=left(MONIT.ID_AREA,3) + AND isnull(PATR_BF.NOME_PROGETTO,'XXX')=isnull(MONIT.NOME_PROGETTO,'XXX') + And monit.ordinamento_progetto=patr_bf.ordinamento_progetto +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S134BISMonitoraggioLiqInv +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_MP_S134BISMonitoraggioLiqInv + SELECT 'C6MartPeriodico.PL_MP_S134BISMonitoraggioLiqInv' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceF, + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + UNION + SELECT 'C6MartPeriodico.PL_MP_S134BISMonitoraggioLiqInv' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceF, + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S133BISPrincipaliProdotti +BEGIN +;with ata as +( +SELECT PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceF, + ANAGPROD.DESCR_PRODOTTO AS descrProdotto + ,PATRBF.CTV AS Controvalore + ,CASE + WHEN patrbf.tipo_prodotto = 'CC' THEN 0.00 + ELSE RISCHIO_PROD.VAR_PERC_PTF + END AS VaRprodotto + ,((CASE + WHEN ((PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100) is null then 0.00 + ELSE(PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100 + END) / (CASE + WHEN sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale'+PATRBF.RETE+PATRBF.COD_FISCALE) = 0 THEN 1 + ELSE sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale'+PATRBF.RETE+PATRBF.COD_FISCALE) + END))*100 as rischioRelativo + ,(PATRBF.CTV/(sum(PATRBF.CTV) over (partition by 'totale'+PATRBF.RETE+PATRBF.COD_FISCALE)))*100 AS pesoRelativo + ,PATRBF.ID_AREA AS codAreaBisogno + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO + INNER JOIN C6MartPeriodico.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.ordinamento_progetto as varchar),'') + '|' + WHEN LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END + + PATRBF.POSITION_ID + WHERE + PATRBF.CTV <>0 + AND PATRBF.ID_AREA <> 'Cc' + ), tot as + (select *, row_number() over (partition by i_rete, i_codiceF ORDER BY rischioRelativo DESC, Controvalore DESC) as pos + from ata + ) + INSERT INTO WH.PL_MP_S133BISPrincipaliProdotti + SELECT 'C6MartPeriodico.PL_MP_S133BISPrincipaliProdotti' as ProcedureName, i_rete, i_codiceF, descrProdotto, Controvalore, VaRprodotto, + rischioRelativo, pesoRelativo, codAreaBisogno from tot where pos <=10 +END +------------------------------------------------------------------------- +----[C6MartPeriodico].[PL_MP_S133AreeBisognoPrincProd] +BEGIN +INSERT INTO wh.[PL_MP_S133AreeBisognoPrincProd] +SELECT 'PL_MP_S133AreeBisognoPrincProd', [Rete] + ,[CodiceFiscale] + ,[NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] + order by ordinamento +END +------------------------------------------------------------------------- +------ [C6MartPeriodico].[PL_MP_S146RischioDiversificazione] +begin + select count(*) as contaCC, cod_fiscale, rete + into #contaCC + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' + group by cod_fiscale, rete + select count(*) as contaPOS, cod_fiscale, rete + into #contaPOS + from c6martperiodico.patrimonio_Bf + group by cod_fiscale, rete +INSERT INTO wh.PL_MP_S146RischioDiversificazione +SELECT 'PL_MP_S146RischioDiversificazione',K.RETE, K.COD_FISCALE, +K.COD_FISCALE, +K.RETE, +CASE + WHEN (contaPOS - contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND contaPOS - contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND contaPOS - contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (contaPOS - contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +left join #contaCC cc on K.COD_FISCALE = cc.COD_FISCALE and K.RETE = cc.rete +left join #contaPOS pos on K.COD_FISCALE = pos.COD_FISCALE and K.RETE = pos.rete +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +ORDER BY Ordine +END +------------------------------------------------------------------------- +---------[C6MartPeriodico].[PL_MP_S141AnalisiRisparmioTable] +begin +select sum(ctv_prodotto) as patr_compl, rete, cod_fiscale +into #patr_compl +from c6martperiodico.patrimonio_emittenti +where ctv_prodotto > 0 +group by rete, cod_fiscale +INSERT INTO wh.PL_MP_S141AnalisiRisparmioTable +SELECT 'PL_MP_S141AnalisiRisparmioTable',RETE, COD_FISCALE, + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +FROM ( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + --RATING AS RATING, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, +--EN 26012016: solo se per un emittente nessun prodotto riporta nessuna copertura +-- viene impostato nc=1 (non classificato) e si assume che nessuna riskclass +-- sia valorizzato. +-- sum(case when copertura > 0 then 0 else 1 end) as nc + min(case when copertura > 0 then 0 else 1 end) as nc + FROM + (SELECT --Y.* + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + --RATING AS RATING, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + RATING, + CREDITRISKCLASS + ) Y + GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +------COMPLESSIVO + SELECT + l.COD_FISCALE, + l.RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(p.patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, +--EN 26012016 +-- sum(case when copertura > 0 then 0 else 1 end) as nc + min(case when copertura > 0 then 0 else 1 end) as nc +FROM +( +SELECT --L.* + y.COD_FISCALE, + y.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER, + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , + SUM(COPERTURA) AS COPERTURA +FROM +( + SELECT --V.* + V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + RATING, + INTERMEDIARIO, + CREDITRISKCLASS + ) Y +GROUP BY + y.COD_FISCALE, + y.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10 +) L + inner join #patr_compl p on p.rete = l.rete and p.cod_fiscale = l.cod_fiscale +GROUP BY + l. COD_FISCALE, + l.RETE, + INTERMEDIARIO, + EMITTENTE +) U + ORDER BY U.CONCENTRATION DESC +END +------------------------------------------------------------------------- +------[C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts] +BEGIN +--QUERY PER INTERMEDIARIO +INSERT INTO wh.PL_MP_S140AnalisiRisparmioCharts +SELECT 'PL_MP_S140AnalisiRisparmioCharts', RETE, COD_FISCALE, *FROM +( +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS ctv +--FINE INTERVENTI OMNIA +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +--INIZIO INTERVENTI OMNIA +---Per calcolare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine calcolo somma self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS CTV +--FINE INTERVENTI OMNIA +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +--INIZIO INTERVENTI OMNIA +--per fare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine somma Self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +)X +END +------------------------------------------------------------------------- +----- [C6MartPeriodico].[PL_MP_S137BISCapitaleProtetto] + begin + INSERT INTO wh.PL_MP_S137BISCapitaleProtetto + SELECT 'PL_MP_S137BISCapitaleProtetto', RETE + ,CODFIS + ,DES_PROD + ,COD_CONF + ,QUOTA + ,NUMEROQUOTE + ,CONTROVALORE + ,DATARIF + ,DES_MAX + ,QUOTA_MAX + ,QUOTA_MAX_PERC + ,DATARIF_MAX + ,DES_PROT + ,QUOTA_PROT + ,NUMEROQUOTE_PROT + ,CONTROVALORE_PROT + ,DES_PROD_TIT -- Aggiunta per E-FOI80 + FROM C6MartPeriodico.CAPPROT + WHERE 1=1 +END +------------------------------------------------------------------------- +------------ [C6MartPeriodico].[PL_S43ContoCorrenteBF] +BEGIN + INSERT INTO wh.PL_S43ContoCorrenteBF + SELECT 'PL_S43ContoCorrenteBF', ANAG_CC.rete, ANAG_CC.cod_fiscale, + dbo.ToShortDateString(ANAG_CC.DATA_APERTURA) AS datadiSottoscrizione, + ANAG_CC.COD_CC AS conto, + cast(ANAG_CC.SALDOCONTABILE as decimal(15,2)) as Controvalore, + cast(ANAG_CC.SALDODISPONIBILE as decimal(15,2)) as SALDO_DISPONIBILE, + null as creditrisk , + 'n.a.' as creditriskstring, + 0 as var, + null as varString, + 0 as totaleVar, + null as totaleVarString + FROM + C6MartPeriodico.ANAG_CC + WHERE + ANAG_CC.SALDOCONTABILE < 0 + ORDER BY + ANAG_CC.SALDOCONTABILE DESC +END +------------------------------------------------------------------------- +------[C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] +BEGIN + SELECT COUNT(*) as TOTSELFLIQ, PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + into #TOTSELFLIQ1 + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + SELECT COUNT(*) as TOTLIQ, PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + into #PATRIMONIO_BF + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + INSERT INTO wh.[PL_S43BISDettaglioProdottiBF] +SELECT 'PL_S43BISDettaglioProdottiBF', PATRBF.RETE, PATRBF.COD_FISCALE, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +ISNULL(PATRBF.ORDINAMENTO_PROGETTO,-1111) , +--Bido +SUM(PATRBF.CTV ) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN TOTSELFLIQ = TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --V THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +--TRINGALI + CASE + WHEN (ISNULL(RISCHIO_AGGR_PROG.copertura,100) < 100) + --v THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_need_progString, + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.id_area='liq' + and (patrbf.tipo_prodotto='CC' + or patrbf.isin in('EURO00000009', 'EURO10000007'))) + then dbo.TOSHORTDATESTRING(C6MartPeriodico.getTrimestre2(getdate(),0)) +--FINE INTERVENTI OMNIA + else +--disasteriscare + --dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) +--cancellare inizio + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.chiave_progetto = '2205396' + and patrbf.tipo_prodotto = 'FI') + then '26/06/2014' + else + dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) + end +--cancellare fine + end AS dataAssociazione, -- CAMBIATA TRINGALI--marianna, cambiata per i cc senza data di associazione +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.VERSATO_NETTO_DA_ASSOC,0) end AS VersatoNetto, +CASE WHEN (MONIT.VERSATO_NETTO_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as VersatoNettoString, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.UTILE_PERDITA_DA_ASSOC,0) END AS MinusPlusValenza, +CASE WHEN (MONIT.UTILE_PERDITA_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in ('EURO00000009', 'EURO10000007' )THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_PROD.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK is null THEN 'n.a.' + ELSE NULL + END as creditriskstring, +-- CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + -- LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) +LEFT JOIN #PATRIMONIO_BF bf on bf.rete = PATRBF.rete and bf.cod_fiscale = PATRBF.cod_fiscale +LEFT JOIN #TOTSELFLIQ1 tot on tot.rete = PATRBF.rete and tot.cod_fiscale = PATRBF.cod_fiscale +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +--MODIFICA TRINGALI PER PRENDERE DETTAGLIO MONITORAGGIO +C6MartPeriodico.MONITORAGGIO_DETTAGLIO MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + --AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + and PATRBF.POSITION_ID=MONIT.POSITION_ID + --AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONATT +ON + PATRBF.RETE = MONATT.RETE + AND PATRBF.COD_FISCALE = MONATT.COD_FISCALE + AND + (PATRBF.ID_AREA=(CASE WHEN MONATT.ID_AREA='Exr' THEN 'Ext' ELSE MONATT.ID_AREA END) AND PATRBF.ID_AREA <> 'INV' + OR + PATRBF.ID_AREA = 'INV' AND PATRBF.ID_AREA = MONATT.ID_AREA AND PATRBF.ORDINAMENTO_PROGETTO = MONATT.ORDINAMENTO_PROGETTO + ) +--blocchiamo il monitoraggio per i progetti a ctv=0 + --And ctv_monitorato>0 +WHERE 1 = 1 + AND ( PATRBF.CTV <> 0 + --E-DEFAULT4 per gestire l'esposizione dei prodotti con ctv = 0 delle banche in default - 18/1/2016 + or (PATRBF.tipo_prodotto = 'DT' and + PATRBF.cod_interno in ('08558830','08594680','04880930','04867780','03972990', + '04281500','04539780','04657780','04966850','04119400','04931400', + '04556320', + '04119600','04291890','04064530' +))) + --fine E-DEFAULT4 +ORDER BY + AREASORTORDER, PATRBF.NOME_PROGETTO, PATRBF.CTV DESC -- modifica TRINGALI +drop table #PATRIMONIO_BF +END +------------------------------------------------------------------------- +------ [C6MartPeriodico].[PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento] +BEGIN + INSERT INTO wh.PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento + SELECT 'PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento', PATR_BF.RETE, + PATR_BF.COD_FISCALE, + PATR_BF.ID_AREA AS Need_Area, + PATR_BF.ID_CONTRATTO AS Contratto, + CASE + WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA + ELSE ltrim(rtrim(PATR_BF.NOME_PROGETTO)) + END AS Area_O_Nome_Progetto, + --PRODOTTI.DESCR_PRODOTTO AS Descrizione, + CASE WHEN PATR_BF.TIPO_PRODOTTO <> 'CC' THEN PRODOTTI.DESCR_PRODOTTO + ELSE PRODOTTI.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATR_BF.PARTVIA_DISINV AS PartitaViaggiante, + SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.RETE, + PATR_BF.COD_FISCALE,PATR_BF.POSITION_ID) AS Controvalore, + dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI AS PRODOTTI ON + PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO + --V La sezione deve uscire soltanto per aree monitorate + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE M ON + PATR_BF.RETE = M.RETE AND PATR_BF.COD_FISCALE = M.COD_FISCALE + AND( + (PATR_BF.ID_AREA = M.ID_AREA AND PATR_BF.ID_AREA <> 'INV') + OR + (PATR_BF.ID_AREA = 'INV' AND PATR_BF.ID_AREA = M.ID_AREA AND PATR_BF.ORDINAMENTO_PROGETTO = M.ORDINAMENTO_PROGETTO) + ) + LEFT OUTER JOIN C6MartPeriodico.ANAG_CC ON + ANAG_CC.COD_FISCALE = PATR_BF.COD_FISCALE + AND ANAG_CC.RETE = PATR_BF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATR_BF.position_id,72,9) + WHERE + PATR_BF.REND_NON_RAPPR = 1 + ORDER BY + Area_O_Nome_Progetto +END +------------------------------------------------------------------------- +----- [C6MartPeriodico].[PL_S82BisDatiSintetici] +BEGIN + INSERT INTO wh.PL_S82BisDatiSintetici + SELECT DISTINCT 'PL_S82BisDatiSintetici', + BF.RETE, + BF.COD_FISCALE, + BF.ORDINAMENTO_PROGETTO, + 'Inv' AS need_area, + ltrim(rtrim(ISNULL(PIRMOD.NOME_PROGETTO,BF.NOME_PROGETTO))) AS NOME_PROGETTO, + ISNULL(RA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RA.COPERTURA IS NULL THEN 'n.c.' + WHEN RA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RA.COPERTURA IS NULL THEN 'n.c.' + WHEN RA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PIRMOD.ORIZZ_TEMP AS orizzonte_Pianificato, + C6MartPeriodico.getDescFromDate(DATEDIFF(m,C6MartPeriodico.getTrimestre(GETDATE(),0),(DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM,PIRMOD.DATA_PIANIF)) )) AS durataResidua, + SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO, bf.ordinamento_progetto) AS ControvaloreAttuale + FROM + C6MartPeriodico.PATRIMONIO_BF AS BF + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON BF.RETE = RA.RETE + AND BF.COD_FISCALE = RA.COD_FISCALE + --V AND RA.COD_AGGREG = 'PIRAMIDE|Inv' + AND RA.COD_AGGREG = 'RISFIN|PIRAMIDE|Inv|'+ BF.NOME_PROGETTO + '|' + cast(bf.ordinamento_progetto as varchar) + -- + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD + ON BF.RETE = PIRMOD.RETE + AND BF.COD_FISCALE = PIRMOD.COD_FISCALE + --AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + AND BF.ORDINAMENTO_PROGETTO = PIRMOD.ORDINAMENTO_PROGETTO + AND PIRMOD.ID_AREA = 'Inv' + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS BFAggr + ON BF.RETE = BFAggr.RETE + AND BF.COD_FISCALE = BFAggr.COD_FISCALE + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE AS MONIT + ON BF.RETE = MONIT.RETE + AND BF.COD_FISCALE = MONIT.COD_FISCALE + AND BF.ID_AREA = MONIT.ID_AREA + AND BF.NOME_PROGETTO = MONIT.NOME_PROGETTO + AND BF.ORDINAMENTO_PROGETTO = MONIT.ORDINAMENTO_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'Inv' + END + --AND BF.ORDINAMENTO_PROGETTO=1521667 +------------------------------------------------------------------------- +----- [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] +begin +INSERT INTO wh.PL_S76AlternativaPatrimonioNonRappresentabileAssettClass +SELECT 'PL_S76AlternativaPatrimonioNonRappresentabileAssettClass', * FROM +( + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + case when PATRBF.RETE = 'F' then 'Fideuram' else 'Sanpaolo Invest' end as Intermediario + --patrbf.ordinamento_progetto + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + AND PATRBF.CTV <> 0.00 +UNION ALL +SELECT PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + sum(ASUL.CTV) as Controvalore, + sum(ASUL.CTV) as controvalore_contratto, + Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + case when PATRBF.RETE = 'F' then 'Fideuram' else 'Sanpaolo Invest' end as Intermediario + --patrbf.ordinamento_progetto + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN + C6MartPeriodico.DETTAGLIO_ASUL ASUL + ON + PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + left JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + ASSETPERC.COD_PRODOTTO IS NULL + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, PATRBF.ID_CONTRATTO, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end, + PATRBF.NOME_PROGETTO, + patrbf.chiave_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE), + ANAGP.DESCR_PRODOTTO + )XX +END +------------------------------------------------------------------------- +------------------------------- [C6MartPeriodico].[PL_D_S170RischioDiversificazione] +BEGIN + select count(*) as contaCC, cod_fiscale, rete + into #contaCCC + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' + group by cod_fiscale, rete + select count(*) as contaPOS, cod_fiscale, rete + into #contaPOSS + from c6martperiodico.patrimonio_Bf + group by cod_fiscale, rete + SELECT isnull(sum(ctv),0) as ctvbf, cod_fiscale, rete + INTO #ctvbf + FROM c6martperiodico.patrimonio_bf + where CTV > 0 + group by cod_fiscale, rete + SELECT isnull(sum(ctv),0) as ctvterzi, cod_fiscale, rete + INTO #ctvterzi + FROM c6martperiodico.patrimonio_terzi + where CTV > 0 + group by cod_fiscale, rete + INSERT INTO wh.PL_D_S170RischioDiversificazione +SELECT 'PL_D_S170RischioDiversificazione',K.RETE,K.COD_FISCALE, +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then COALESCE(ctvbf,0) + when cod_Aggreg = 'COMPLESSIVO|TERZI' then COALESCE(ctvterzi,0) + when cod_Aggreg = 'COMPLESSIVO' then COALESCE(ctvbf,0) + COALESCE(ctvterzi,0) + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN (COALESCE(contaPOS,0) - COALESCE(contacc,0) = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND COALESCE(contaPOS,0) - COALESCE(contacc,0) <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND COALESCE(contaPOS,0) - COALESCE(contacc,0) <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (contaPOS - contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +full outer join #contaCCC cc on k.COD_FISCALE = cc.cod_fiscale and k.Rete = cc.rete +full outer join #contaPOSS pos on k.COD_FISCALE = pos.cod_fiscale and k.Rete = pos.rete +full outer join #ctvbf bf on k.COD_FISCALE = bf.cod_fiscale and k.Rete = bf.rete +full outer join #ctvterzi terzi on k.COD_FISCALE = terzi.cod_fiscale and k.Rete = terzi.rete +WHERE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +ORDER BY ordine +END +------------------------------------------------------------------------- +----------------------------------[C6MartPeriodico].[PL_S96RischiomercatoRischiocredito] +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + truncate table wh.PL_S96RischiomercatoRischiocredito + INSERT INTO wh.PL_S96RischiomercatoRischiocredito + SELECT 'PL_S96RischiomercatoRischiocredito', RETE, COD_FISCALE, * + FROM ( + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + -- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + )X + order by ordine + END +------------------------------------------------------------------------- +-------------------- [C6MartPeriodico].[PL_S80Alternativa] +BEGIN + SELECT COUNT(*) as MONIT_ATTIV, RETE, COD_FISCALE + into #aa2 + FROM C6MARTPERIODICO.MONITORAGGIO_ATTUALE + GROUP BY RETE, COD_FISCALE + SELECT COUNT(*) as MONIT_INIT, RETE, COD_FISCALE + into #ab2 + FROM C6MARTPERIODICO.MONITORAGGIO_INIZIALE + GROUP BY RETE, COD_FISCALE + select a.RETE, a.COD_FISCALE + into #pos2 + from #aa2 a inner join #ab2 b on a.rete = b.rete and a.COD_FISCALE = b.COD_FISCALE + INSERT INTO wh.PL_S80Alternativa + SELECT 'PL_S80Alternativa' as ProcedureName, v.RETE as i_rete, v.Cod_Fiscale as i_codiceFiscale, v.[RETE] + ,v.[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] v + inner join #pos2 p on p.rete = v.rete and p.Cod_Fiscale = v.Cod_Fiscale +END +---------------------------------------------- +--maledetti +begin +truncate table wh.Maledetti +insert into wh.Maledetti --70 minutes +( +[i_CodiceFiscale] + ,[i_Rete] + ,[Rete] + ,[NomeRete] + ,[Agente] + ,[CognomeAgente] + ,[NomeAgente] + ,[IndirizzoAgente] + ,[CapAgente] + ,[CittaAgente] + ,[TelefonoAgente] + ,[CodiceFiscale] + ,[CognomeCliente] + ,[NomeCliente] + ,[ProfiloIsAct] + ,[PatrimonioNonRappresentabile] + ,[PartiteViaggiantiDisinv] + ,[PartiteViaggiantiInv] + ,[ContoCorrente] + ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,[RisorseNonAssociate] + ,[Patrimonioaltroctv] + ,[Patrimonioimmobiliarectv] + ,[PatrimonioTerzictv] + ,[PatrimonioTerziCtvAlNettoContoCorrente] + ,[PatrimonioTerziContoCorrente] + ,[Patrimoniobancafideuramctv] + ,[Patrimoniocomplessivototalectv] + ,[NumeroIntermediari] + ,[CodiceContratto] + ,[tip_contratto] + ,[contrattoold] + ,[NoMonitoraggio] + ,[descrizioneDiagnosi] + ,[idModelloDiagnosi] + ,[idReportDiagnosi] + ,[descrizioneMonitoraggio] + ,[idReportMonitoraggio] + ,[idModelloMonitoraggio] + ,[AdesioneSuccessivaAvanzato] + ,[VaRRisorseNonAssociate] + ,[CoperturaRisorseNonAssociate] + ,[VaRTotaleRisorseFinanziarie] + ,[CoperturaTotaleRisorseFinanziarie] + ,[IdReportPDFDiagnosi] + ,[IdReportPDFMonitoraggio] + ,scaduto + ) +SELECT + DISTINCT + contratti.Cod_Fiscale as i_CodiceFiscale + ,contratti.Rete as i_Rete + --DATI COMUNI + --RETE + ,contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,ISNULL(monit.NoMonitoraggio, 1) AS NoMonitoraggio --fix 20161012 + ,'Diagnosi' as descrizioneDiagnosi + ,CASE + WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 5 + ELSE -1 + END AS idModelloDiagnosi + ,CASE + WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 1 + ELSE -1 + END AS idReportDiagnosi + ,'Monitoraggio' as descrizioneMonitoraggio + ,4 as idReportMonitoraggio--4 + ,CASE isnull(tip_contratto,0) + WHEN 0 THEN 12--12 + WHEN 1 THEN 12--12 + WHEN 2 THEN 13--13 + END AS idModelloMonitoraggio + --************************************************* + ,0 AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFMonitoraggio + ,mifid.scaduto + FROM [C6MartPeriodico].contrattoSEI contratti + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + --65992 + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + -- 64864 + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --modificata da Valerio 12 marzo 2012 + --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + --64864 + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + --64864 + left join ( + select distinct monit.rete, monit.cod_fiscale, + case when isnull(monitInit.data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) then 1 + when monitReport.cod_fiscale is null then 1 else 0 end as NoMonitoraggio + from c6martperiodico.monitoraggio_attuale monit + left join c6martperiodico.monitoraggio_iniziale monitInit on monit.rete = monitInit.rete and monit.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport on monit.rete = monitReport.rete and monit.cod_fiscale = monitReport.cod_fiscale + ) monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + WHERE 1=1 + --144104 + end +------------------------------------------------------------------------- +END \ No newline at end of file diff --git a/sql/storedProduzione/wh_MERGED_PROCEDURE_20180619.sql b/sql/storedProduzione/wh_MERGED_PROCEDURE_20180619.sql new file mode 100644 index 00000000..7fcef203 --- /dev/null +++ b/sql/storedProduzione/wh_MERGED_PROCEDURE_20180619.sql @@ -0,0 +1,4592 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [wh].[MERGED_PROCEDURE_20180619] +AS +BEGIN + SET NOCOUNT ON; +--------------------------------------------------------------------- +truncate table wh.pl_s85rendimentoportafogliocono +truncate table wh.pl_areemonitorate +truncate table wh.pl_s43lineaselfbf +truncate table wh.pl_s10patrimoniofinanziario +truncate table wh.pl_prodotti_non_associati_area_inv +truncate table wh.pl_d2_s151profilodirischio +truncate table wh.pl_d2_s152patrimonio +truncate table wh.pl_d2_s153patrimoniofinanziario +truncate table wh.pl_d2_s154patrimoniofinanziario +truncate table wh.pl_d2_s155patrimonioimmobiliare +truncate table wh.pl_d2_s156altropatrimonio +truncate table wh.pl_d2_s157confrontopiramidi +truncate table wh.pl_d2_s158piramidemodello +truncate table wh.pl_d2_s159patrimoniofinanziario +truncate table wh.pl_d2_s160dettaglioprodottibf +truncate table wh.pl_d2_s162dettaglioprodotti +truncate table wh.pl_d2_s163patrimoniofinanziariomassetclass +truncate table wh.pl_d2_s164polizzealtriistituti +truncate table wh.pl_d2_s165fondialtriistituti +truncate table wh.pl_d2_s167distribuzionerischiocredito +truncate table wh.pl_d2_s168tabellaemittenti +truncate table wh.pl_s43dettaglioprodottibf +truncate table wh.pl_d2_s169rischiomercatorischiocredito +truncate table wh.pl_d2_s170rischiodiversificazione +truncate table wh.pl_d2_s171patrimoniononrappresentabileassettclass +truncate table wh.pl_mp_s137bonus +truncate table wh.pl_mp_s135monitoraggioinvestimento +truncate table wh.pl_mp_s134monitoraggioliquidita +truncate table wh.pl_mp_s134bismonitoraggioliqinv +truncate table wh.pl_mp_s133bisprincipaliprodotti +truncate table wh.pl_mp_s133areebisognoprincprod +truncate table wh.pl_mp_s146rischiodiversificazione +truncate table wh.pl_mp_s141analisirisparmiotable +truncate table wh.pl_mp_s140analisirisparmiocharts +truncate table wh.pl_mp_s137biscapitaleprotetto +truncate table wh.pl_s43contocorrentebf +truncate table wh.pl_s43bisdettaglioprodottibf +truncate table wh.pl_s88patrimoniononconsideratonelcalcolodelrendimento +truncate table wh.pl_s82datisintetici +truncate table wh.pl_s82bisdatisintetici +truncate table wh.pl_s76alternativapatrimoniononrappresentabileassettclass +truncate table wh.pl_s80alternativa +truncate table wh.pl_s96rischiomercatorischiocredito +truncate table wh.pl_d_s170rischiodiversificazione +------------------------------------------------------------------------ +-------------------------------------------PL_S82DatiSintetici +INSERT INTO WH.PL_S82DatiSintetici +SELECT 'C6MartPeriodico.PL_S82DatiSintetici' as ProcedureName, PATRAREA.RETE as i_rete ,PATRAREA.COD_FISCALE as i_codiceFiscale, + PATRAREA.ID_AREA AS need_area, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PATRAREA.ORDINAMENTO_PROGETTO, + /*V Calcolato a livello di codice + CASE + WHEN PATRAGGR.CTV = 0 THEN 0 + ELSE PATRAREA.CTV / PATRAGGR.CTV * 100 + END AS pesoPerc,*/ + PATRAREA.CTV AS ControvaloreAttuale + /* Calcolato a livello di codice + CASE + WHEN @TOTRischio = 0 THEN 0 + ELSE ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV / @TOTRischio * 100 + END AS rischioRelativo*/ + FROM C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS PATRAGGR + ON PATRAGGR.RETE = PATRAREA.Rete + AND PATRAGGR.COD_FISCALE = PATRAREA.COD_FISCALE + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON RISCHIOAREA.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRAREA.ID_AREA,3) + AND RISCHIOAREA.RETE = PATRAREA.Rete + AND RISCHIOAREA.COD_FISCALE = PATRAREA.COD_FISCALE + WHERE 1=1 + AND PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE') +------------------------------------------------------------------------- +-------------------------------------------PL_S85RendimentoPortafoglioCono + BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,isnull([NOME_PROGETTO],'XXX') as NOME_PROGETTO + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB] +into #pir_mod_xxx + FROM [C6MartPeriodico].[PIRAMIDE_MOD] +--select * from #pir_mod_xxx where cod_fiscale = 'FF@7181' +INSERT INTO WH.PL_S85RendimentoPortafoglioCono +SELECT 'C6MartPeriodico.PL_S85RendimentoPortafoglioCono' as ProcedureName, CONO.RETE as i_rete ,CONO.COD_FISCALE as i_codiceFiscale, + CONO.ID_AREA AS NEED_AREA, + CASE + WHEN CONO.NOME_PROGETTO = 'XXX' THEN '' + ELSE CONO.NOME_PROGETTO + END AS NOME_PROGETTO, + cono.ordinamento_progetto, + CONO.DATA_CONO, + CONO.SCENARIO_OTTIMISTICO AS OTTIMISTICO, + CONO.SCENARIO_PESSIMISTICO AS PESSIMISTICO, + isnull(PIRMOD.ORIZZ_TEMP_NUM,0) * 12 AS ORIZZONTE_MESI, + MONIT.RENDIMENTO_CUMULATO AS RENDIMENTO, + MONIT.DATA_CTV AS DATA_MONIT + FROM + C6MartPeriodico.CONO_PIANIFICAZIONE AS CONO + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE AS MONIT + ON CONO.RETE = MONIT.RETE + AND CONO.COD_FISCALE = MONIT.COD_FISCALE + AND CONO.ID_AREA = MONIT.ID_AREA + AND CONO.NOME_PROGETTO = MONIT.NOME_PROGETTO + And cono.ordinamento_progetto=monit.ordinamento_progetto --l'ordinamento progetto è sempre pari alla chiaveprogetto e non idmonitoraggio + INNER JOIN #pir_mod_xxx as PIRMOD + ON CONO.RETE = PIRMOD.RETE + AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE + AND CONO.ID_AREA = PIRMOD.ID_AREA + AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + And cono.ordinamento_progetto=pirmod.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD +-- ON CONO.RETE = PIRMOD.RETE +-- AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE +-- AND CONO.ID_AREA = PIRMOD.ID_AREA +-- AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + ORDER BY CONO.DATA_CONO + drop table #pir_mod_xxx +END +------------------------------------------------------------------------- +-------------------------------------------pl_areemonitorate +BEGIN +INSERT INTO WH.PL_AreeMonitorate +SELECT 'C6MartPeriodico.PL_AreeMonitorate' as ProcedureName, [RETE] as i_rete ,[COD_FISCALE] as i_codiceFiscale, +NEED_AREA, +NEED_ESTESA, +max(NOME_PROGETTO) as NOME_PROGETTO, +--CONTROLLO NOME PROGETTO DUPLICATO, TOLTO IL MAX, AGGIUNTO NEL GROUP BY +ISNULL(ORDINAMENTO_PROGETTO,-1111), +--MAX(ORDINAMENTO_PROGETTO) AS ORDINAMENTO_PROGETTO, +MAX(ORDINE) AS ORDINE, +--rimettere il min e commentare il ctv=0 +max(AREAPROGETTOSOTTOMONITORAGGIO) AS AREAPROGETTOSOTTOMONITORAGGIO +FROM +( + --1.1 liq sotto monit + SELECT + PIRMOD.RETE AS RETE, + PIRMOD.COD_FISCALE as COD_FISCALE, + PIRMOD.ID_AREA AS Need_Area, + AREA.NOME_AREA AS Need_Estesa, + CASE WHEN PIRMOD.NOME_PROGETTO is null and pirmod.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PIRMOD.NOME_PROGETTO)) + END AS Nome_Progetto, + PIRMOD.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PIRMOD.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 6 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + (SELECT + RETE, + COD_FISCALE, + case when ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else id_area end as Id_area, + NOME_PROGETTO, + TIPO_PROGETTO, + PERC_AREA, + CTV_PROGETTO, + CTV_AREA, + ORIZZ_TEMP_NUM, + ORIZZ_TEMP, + CTV_TOTALE, + STATO_CONSULENZA, + DATA_STATO_CONS, + DATA_MIGR_CONS, + DATA_PIANIF, + ID_CONTRATTO, ---LEVARE??? + ORDINAMENTO_PROGETTO + FROM + C6MartPeriodico.CONS_ATTIVAGGIORNATA + ) PIRMOD + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PIRMOD.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PIRMOD.COD_FISCALE + AND MONIT.RETE=PIRMOD.RETE + AND MONIT.ID_AREA= PIRMOD.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PIRMOD.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PIRMOD.ORDINAMENTO_PROGETTO + WHERE + PIRMOD.CTV_PROGETTO > 0 + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.CTV < 0 and id_area = 'CC' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + 'Self' AS Need_Area, + 'Liquidità negativa "Linee GP Eligo"' AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.CTV < 0 and id_area = 'SELF' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 8 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + --case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +) A +GROUP BY +RETE, +COD_FISCALE, +NEED_AREA, +NEED_ESTESA, +ISNULL(ORDINAMENTO_PROGETTO,-1111) + ORDER BY + ORDINE +END +------------------------------------------------------------------------- +-------------------------------------------PL_S43LineaSelfBF +BEGIN + INSERT INTO WH.PL_S43LineaSelfBF + SELECT 'C6MartPeriodico.PL_S43LineaSelfBF' as ProcedureName, LS.rete as i_rete ,LS.codfis as i_codiceFiscale, + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(cast(datasott as varchar)) as DataSott + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + isnull(ctv,0) < 0 +END +------------------------------------------------------------------------- +-------------------------------------------PL_S10PatrimonioFinanziario +BEGIN + INSERT INTO WH.PL_S10PatrimonioFinanziario + SELECT 'C6MartPeriodico.PL_S10PatrimonioFinanziario' as ProcedureName, [Rete] as i_rete ,[CodiceFiscale] as i_codiceFiscale, + [Banca] + ,[Ordinamento] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6MartPeriodico].[tb_S10PatrimonioFinanziario] + order by ordinamento +END +------------------------------------------------------------------------- +-------------------------------------------PL_Prodotti_Non_Associati_Area_Inv +BEGIN +INSERT INTO WH.PL_Prodotti_Non_Associati_Area_Inv + SELECT 'C6MartPeriodico.PL_Prodotti_Non_Associati_Area_Inv' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, +PATRBF.RETE, +PATRBF.COD_FISCALE, +ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') AS NOME_PROGETTO, +ID_AREA as NEED_AREA, +SUM(CTV) AS CONTROVALOREATTUALE, +MAX(ISNULL(RISK.VAR_PERC_PTF,0)) AS var_needarea, +--PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString +FROM +C6MARTPERIODICO.PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +C6MARTPERIODICO.RISCHIO_AGGREGATO RISK +ON PATRBF.RETE = RISK.RETE + AND PATRBF.COD_FISCALE = RISK.COD_FISCALE + AND RISK.COD_AGGREG = 'PIRAMIDE|Inv|'+ ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') +WHERE 1 = 1 + AND PATRBF.id_AREA = 'Inv' + AND PATRBF.NOME_PROGETTO='Prodotti non associati a progetti' +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti'), +ID_AREA, +CHIAVE_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S151ProfiloDiRischio +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + INSERT INTO WH.PL_D2_S151ProfiloDiRischio + SELECT 'C6MartPeriodico.PL_D2_S151ProfiloDiRischio' as ProcedureName, M.RETE as i_rete, M.COD_FISCALE as i_codiceFiscale, + M.PROFILO_ASS as codiceProfilo, + DBO.TOSHORTDATESTRING(M.DATA_INIZIO_VAL) as dataInizioValidita, + CR.MAX_VAR as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + ProfiliDiRischio.NOMEPROFILO as nomeProfilo, + m.riskclass as riskclass, + m.experience as experince + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO +END +------------------------------------------------------------------------- +-------------------------------------------pl_d2_s152patrimonio +BEGIN +SELECT SUM(CTV) as Value, patrBF.Rete, patrBF.Cod_Fiscale +into #PatrimonioBF + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE patrBF.id_area not in ('CC','SELF') + group by patrBF.Cod_Fiscale, patrBF.Rete + SELECT SUM(IMPORTO) as Value, Rete, Cod_Fiscale + into #Part_viaggianti + FROM + ( + SELECT SUM(IMPORTO) AS IMPORTO, partvia.Rete, partvia.Cod_Fiscale + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + group by partvia.Rete, partvia.Cod_Fiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO, partvia.Rete, partvia.Cod_Fiscale + FROM C6Martperiodico.patrimonio_bf partvia + group by partvia.Rete, partvia.Cod_Fiscale + ) T + group by Rete, Cod_Fiscale + SELECT SUM(ROUND(CTV,2)) as Value, patrTerzi.Rete, + patrTerzi.Cod_Fiscale + into #PatrimonioTerzi + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + group by patrTerzi.Rete, + patrTerzi.Cod_Fiscale + SELECT SUM(patrImm.VALORE_STIMATO) as Value, + patrImm.Rete, patrImm.Cod_Fiscale + into #PatrimonioImmobiliare + FROM C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + group by patrImm.Rete, patrImm.Cod_Fiscale + SELECT SUM(patrAltro.ctv) as Value, patrAltro.Rete, patrAltro.Cod_Fiscale + into #PatrimonioAltro + FROM C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + group by patrAltro.Rete, patrAltro.Cod_Fiscale + select distinct rete, cod_fiscale + into #merge + from + ( + select rete, cod_fiscale from #PatrimonioBF UNION ALL + select rete, cod_fiscale from #PatrimonioTerzi UNION ALL + select rete, cod_fiscale from #Part_viaggianti UNION ALL + select rete, cod_fiscale from #PatrimonioImmobiliare UNION ALL + select rete, cod_fiscale from #PatrimonioAltro + )x + truncate table WH.pl_d2_s152patrimonio + ;with data as + ( + select m.rete, m.cod_fiscale, + cast(COALESCE(a.value,0.00)+COALESCE(c.value,0.00) as numeric(18,2)) as PatrimonioBF, + cast(COALESCE(a.value,0.00)+COALESCE(b.value,0.00)+COALESCE(c.value,0.00) as numeric(18,2)) as FinanziarioCTV, + cast(COALESCE(a.value,0.00)+COALESCE(b.value,0.00)+COALESCE(c.value,0.00)+COALESCE(d.value,0.00)+COALESCE(e.value,0.00) as numeric(18,2)) as PatrimonioTotale, + cast(COALESCE(b.value,0.00) as numeric(18,2)) as PatrimonioTerziCTV, + cast(COALESCE(d.value,0.00) as numeric(18,2)) as PatrimonioImmobiliare, + cast(COALESCE(e.value,0.00) as numeric(18,2)) as PatrimonioAltro + from #merge m + left join #PatrimonioBF a on a.rete = m.rete and a.cod_fiscale = m.cod_fiscale + left join #PatrimonioTerzi b on b.rete = m.rete and b.cod_fiscale = m.cod_fiscale + left join #Part_viaggianti c on c.rete = m.rete and c.cod_fiscale = m.cod_fiscale + left join #PatrimonioImmobiliare d on d.rete = m.rete and d.cod_fiscale = m.cod_fiscale + left join #PatrimonioAltro e on e.rete = m.rete and e.cod_fiscale = m.cod_fiscale + ) + INSERT INTO WH.pl_d2_s152patrimonio + SELECT 'C6MartPeriodico.pl_d2_s152patrimonio' as ProcedureName, rete as i_rete, cod_fiscale as i_codiceFiscale, + PatrimonioBF, + PatrimonioTerziCTV, + FinanziarioCTV, + CONVERT(decimal(6,2), + case when PatrimonioTotale = 0.00 then 0.00 + else FinanziarioCTV / PatrimonioTotale end + * 100.00) AS FinanziarioPerc, + PatrimonioImmobiliare, + CONVERT(decimal(6,2), + case when PatrimonioTotale = 0.00 then 0.00 + else PatrimonioImmobiliare/PatrimonioTotale end + * 100.00) AS ImmobiliarePerc, + PatrimonioAltro, + CONVERT(decimal(6,2), + case PatrimonioTotale when 0.00 then 0.00 + else PatrimonioAltro/PatrimonioTotale end + * 100.00) AS AltroPerc, + PatrimonioTotale as TotaleCTV + from data +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S153PatrimonioFinanziario +BEGIN + INSERT INTO WH.PL_D2_S153PatrimonioFinanziario + SELECT 'C6MartPeriodico.PL_D2_S151ProfiloDiRischio' as ProcedureName, Rete as i_rete, Cod_Fiscale as i_codiceFiscale, + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Rete, + Cod_Fiscale, + Intermediario, + Ordine, + CASE Rete WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS Banca, + SUM(ctv) over (partition by Intermediario,Ordine,Rete,Cod_fiscale) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine,Rete,Cod_Fiscale)) / + wh.IsZero((SUM(ctv) over (partition by 'Totale'+Rete+Cod_fiscale)),1) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + patrBF.Rete as Rete, + patrBF.Cod_Fiscale as Cod_Fiscale, + CASE patrBF.Rete WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE 1 = 1 + and patrBF.id_area not in ('CC','SELF') + GROUP BY patrBF.Rete, patrBF.Cod_Fiscale + UNION ALL + SELECT + patrTerzi.Rete as Rete, + patrTerzi.Cod_Fiscale as Cod_Fiscale, + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + GROUP BY patrTerzi.Intermediario, patrTerzi.Rete, patrTerzi.Cod_Fiscale + ) PATR + GROUP BY Cod_Fiscale, Rete, intermediario, ordine, ctv + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S154PatrimonioFinanziario +BEGIN +INSERT INTO WH.PL_D2_S154PatrimonioFinanziario + SELECT 'C6MartPeriodico.PL_D2_S154PatrimonioFinanziario' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(38,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE),2) as decimal(38,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + RETE, + COD_FISCALE, + CASE RETE WHEN 'S' THEN 'Sanpaolo Invest'ELSE 'Fideuram' END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE) / + NULLIF(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE),0) + ) * 100 AS Percentuale + FROM ( + SELECT --PRODOTTI BF ESCLUSI GLI ASUL + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO NOT IN ('ASUL') + AND PATRBF.ID_AREA not in ('CC','SELF') + UNION ALL + SELECT + ASUL.RETE AS RETE, + ASUL.COD_FISCALE as COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + UNION ALL + --CON SKANDIA + SELECT + ASUL.RETE AS RETE, + ASUL.COD_FISCALE as COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + PATRTERZI.RETE AS RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + PATRTERZI.RETE AS RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + --GROUP BY RETE, COD_FISCALE, ASSETCLASS.ordinamento, VALORIASSET.ID_ASSETCLASS, ASSETCLASS.DESCRIZIONE, VALORIASSET.CONTROVALORE +) A +--GROUP BY RETE, COD_FISCALE, A.BANCA, A.ORDINAMENTO, A.ASSETCLASSID, A.ASSETCLASSNAME, A.CONTROVALORE, A.PERCENTUALE +ORDER BY A.ORDINAMENTO +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S155PatrimonioImmobiliare +BEGIN +INSERT INTO WH.PL_D2_S155PatrimonioImmobiliare + SELECT 'C6MartPeriodico.PL_D2_S155PatrimonioImmobiliare' as ProcedureName, PATRIMONIO_IMMOBILIARE.RETE as i_rete, PATRIMONIO_IMMOBILIARE.COD_FISCALE as i_codiceFiscale, + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale'+PATRIMONIO_IMMOBILIARE.RETE+PATRIMONIO_IMMOBILIARE.COD_FISCALE) as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto'+PATRIMONIO_IMMOBILIARE.RETE+PATRIMONIO_IMMOBILIARE.COD_FISCALE) as TotaleAffitto + FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + --GROUP BY PATRIMONIO_IMMOBILIARE.RETE, PATRIMONIO_IMMOBILIARE.COD_FISCALE, PATRIMONIO_IMMOBILIARE.descrizione, PATRIMONIO_IMMOBILIARE.TIPOLOGIA, PATRIMONIO_IMMOBILIARE.LOCALITA, PATRIMONIO_IMMOBILIARE.AFFITTO, PATRIMONIO_IMMOBILIARE.VALORE_STIMATO + ORDER BY PATRIMONIO_IMMOBILIARE.valore_stimato DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S156ALtroPatrimonio +BEGIN + INSERT INTO WH.PL_D2_S156ALtroPatrimonio + SELECT 'C6MartPeriodico.PL_D2_S156ALtroPatrimonio' as ProcedureName, PATRIMONIO_ALTRO.RETE as i_rete, PATRIMONIO_ALTRO.COD_FISCALE as i_codiceFiscale, + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale',PATRIMONIO_ALTRO.RETE, PATRIMONIO_ALTRO.COD_FISCALE ) as Totale + FROM + C6MartPeriodico.PATRIMONIO_ALTRO + --GROUP BY PATRIMONIO_ALTRO.RETE, PATRIMONIO_ALTRO.COD_FISCALE, PATRIMONIO_ALTRO.DESCRIZIONE, PATRIMONIO_ALTRO.QUANTITA, PATRIMONIO_ALTRO.CTV + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S157ConfrontoPiramidi +BEGIN +INSERT INTO WH.PL_D2_S157ConfrontoPiramidi +SELECT 'C6MartPeriodico.PL_D2_S157ConfrontoPiramidi' as ProcedureName, RETE as i_rete, [CodiceFiscale] as i_codiceFiscale, + [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] + where [CodiceFiscale] is not null and [Rete] is not null + order by ordinamento +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S158PiramideModello +BEGIN +INSERT INTO WH.PL_D2_S158PiramideModello +SELECT 'C6MartPeriodico.PL_D2_S158PiramideModello' as ProcedureName, BF.RETE as i_rete, BF.COD_FISCALE as i_codiceFiscale, + BF.NOME_PROGETTO AS NomePrg, + PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + AGGR.VAR_PERC_PTF as VarPrg, + SUM(BF.CTV)AS ControvalorePrg + FROM C6MartPeriodico.PATRIMONIO_BF BF + INNER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AGGR + ON BF.RETE= AGGR.RETE + AND BF.COD_FISCALE= AGGR.COD_FISCALE + AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD + ON BF.RETE= PIRMOD.RETE + AND BF.COD_FISCALE= PIRMOD.COD_FISCALE + AND BF.ID_AREA = PIRMOD.ID_AREA + AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'inv' + AND BF.CTV > 0 + group BY BF.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,AGGR.VAR_PERC_PTF, BF.RETE, BF.COD_FISCALE +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S159PatrimonioFinanziario +BEGIN +INSERT INTO WH.PL_D2_S159PatrimonioFinanziario +SELECT 'C6MartPeriodico.PL_D2_S159PatrimonioFinanziario' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(38,6)) AS Controvalore, + cast(A.Percentuale as decimal(38,6)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE),2) as decimal(38,6)) AS Totale +FROM +( + SELECT DISTINCT + RETE, + COD_FISCALE, + CASE RETE + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Fideuram' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE) ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE AS COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area not in ('CC','Self') + UNION ALL + SELECT + ASUL.RETE AS RETE, + ASUL.COD_FISCALE AS COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + UNION ALL + SELECT ASUL.RETE AS RETE, + ASUL.COD_FISCALE AS COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +--group by RETE, COD_FISCALE, a.banca, a.ordinamento, a.assetclassid, a.assetclassname, a.controvalore, a.percentuale +ORDER BY A.ORDINAMENTO +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S160DettaglioProdottiBF +BEGIN +INSERT INTO WH.PL_D2_S160DettaglioProdottiBF +SELECT 'C6MartPeriodico.PL_D2_S160DettaglioProdottiBF' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN (SELECT COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF tmp2 + WHERE ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' and + tmp2.COD_FISCALE = PATRBF.COD_FISCALE AND + TMP2.RETE = PATRBF.RETE) = (SELECT COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF tmp3 + WHERE ID_AREA = 'LIQ' and tmp3.COD_FISCALE = PATRBF.COD_FISCALE AND + TMP3.RETE = PATRBF.RETE) and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 and + PATRBF.CTV <>0 +--GROUP BY PATRBF.COD_FISCALE, PATRBF.RETE, AREA.ID_AREA, AREA.NOME_AREA, AREA.ORDINAMENTO, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO, PATRBF.CTV, +-- MONIT.MINUS_PLUSVALENZA, RISCHIO_AGGR_PROG.COPERTURA, RISCHIO_AGGR_PROG.VAR_PERC_PTF, RISCHIO_AGGR_AREA.VAR_PERC_PTF, RISCHIO_AGGR_AREA.COPERTURA, +-- PATRBF.DATA_SOTTOSCRIZIONE, PATRBF.ID_CONTRATTO, PATRBF.TIPO_PRODOTTO, ANAGPROD.DESCR_PRODOTTO, ANAG_CC.COD_CC, RISCHIO_PROD.VAR_PERC_PTF, +-- RISCHIO_PROD.COPERTURA, PATRBF.ISIN, PATRBF.REND_ANNO, PATRBF.REND_SOTTOSCRIZIONE, PATRBF.PARTVIA_DISINV, RISCHIO_PROD.CREDITRISK, RISCHIO_PROD.CREDITRISKEMIT +ORDER BY + AREASORTORDER,CHIAVE_progetto,nome_progetto, PATRBF.CTV DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S162DettaglioProdotti +BEGIN +INSERT INTO WH.PL_D2_S162DettaglioProdotti + SELECT 'C6MartPeriodico.PL_D2_S162DettaglioProdotti' as ProcedureName, PATRTERZI.RETE as i_rete, PATRTERZI.COD_FISCALE as i_codiceFiscale, + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + ON + PATRTERZI.RETE = RISCHIOAGGREG.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGREG.COD_FISCALE + AND RISCHIOAGGREG.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + WHERE 1 = 1 + AND PATRTERZI.DESCR_GRUPPO_PRODOTTO IS NOT NULL + --GROUP BY PATRTERZI.COD_FISCALE, PATRTERZI.RETE, PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.INTERMEDIARIO, PATRTERZI.DATA_SOTTOSCRIZIONE, ANAGPRODTERZI.NOME_PRODOTTO, PATRTERZI.CTV, PATRTERZI.VERSATO_NETTO, + -- RISCHIOPROD.VAR_PERC_PTF, RISCHIOPROD.COPERTURA, RISCHIOAGGREG.VAR_PERC_PTF, RISCHIOAGGREG.COPERTURA, PATRTERZI.COD_PRODOTTO, RISCHIOPROD.CREDITRISK, RISCHIOPROD.CREDITRISKEMIT + ORDER BY + OrdinamentoProdotti, + Controvalore DESC +END +------------------------------------------------------------------------- +-------------------------------------------pl_d2_s163patrimoniofinanziariomassetclass +BEGIN +INSERT INTO WH.pl_d2_s163patrimoniofinanziariomassetclass +SELECT DISTINCT 'C6MartPeriodico.pl_d2_s163patrimoniofinanziariomassetclass' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS, RETE,COD_FISCALE) as decimal(19,6)) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS, RETE,COD_FISCALE) / + case SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE', RETE,COD_FISCALE) + when 0 then 1 + else SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE', RETE,COD_FISCALE) + end +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE', RETE,COD_FISCALE) as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + PATRTERZI.RETE as RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + PATRTERZI.RETE as RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + ) VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + -- GROUP BY COD_FISCALE, RETE, ASSETCLASS.ORDINAMENTO, ASSETCLASS.ID_ASSETCLASS, VALORIASSET.ID_ASSETCLASS, ASSETCLASS.DESCRIZIONE, VALORIASSET.CONTROVALORE +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S164PolizzeAltriIstituti +BEGIN +INSERT INTO WH.PL_D2_S164PolizzeAltriIstituti + SELECT 'C6MartPeriodico.PL_D2_S164PolizzeAltriIstituti' as ProcedureName, PATRTERZI.RETE as i_rete, PATRTERZI.COD_FISCALE as i_codiceFiscale, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S165FondiAltriIstituti +BEGIN + INSERT INTO WH.PL_D2_S165FondiAltriIstituti + SELECT 'C6MartPeriodico.PL_D2_S165FondiAltriIstituti' as ProcedureName, PATRTERZI.RETE as i_rete, PATRTERZI.COD_FISCALE as i_codiceFiscale, + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + -- GROUP BY + -- PATRTERZI.COD_FISCALE, PATRTERZI.RETE, PATRTERZI.intermediario, ANAGPRODTERZI.NOME_PRODOTTO, PATRTERZI.DATA_SOTTOSCRIZIONE, PATRTERZI.FREQ_RATA, + -- PATRTERZI.CTV, PATRTERZI.VERSATO_NETTO, RISCHIOPROD.VAR_PERC_PTF, RISCHIOPROD.COPERTURA, RISCHIOAGGR.VAR_PERC_PTF, RISCHIOAGGR.COPERTURA, + -- PATRTERZI.COD_PRODOTTO, RISCHIOAGGR.CREDITRISK +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S167DistribuzioneRischioCredito +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_D2_S167DistribuzioneRischioCredito + SELECT 'C6MartPeriodico.PL_D2_S167DistribuzioneRischioCredito' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +'Altri Istituti' AS INTERMEDIARIO, +--PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +--PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT 'C6MartPeriodico.PL_D2_S167DistribuzioneRischioCredito' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S168TabellaEmittenti +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_D2_S168TabellaEmittenti + SELECT 'C6MartPeriodico.PL_D2_S168TabellaEmittenti' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS, + RATING + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ + (select sum(ctv_prodotto) from + c6martperiodico.patrimonio_emittenti + where cod_fiscale = L.COD_FISCALE and rete = L.RETE + and ctv_prodotto > 0) + *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +--RATING as RATING +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +--RATING as RATING +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V +LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS, +RATING +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10 +--RATING +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END +------------------------------------------------------------------------- +-----------------------------------------------PL_S43DettaglioProdottiBF +BEGIN +SELECT COUNT(*) as TOTSELFLIQ, PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE + INTO #TOTSELFLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE + SELECT COUNT(*) as TOTLIQ, PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE + INTO #TOTLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE +INSERT INTO WH.PL_S43DettaglioProdottiBF +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT 'C6MartPeriodico.PL_S43DettaglioProdottiBF' as ProcedureName, PATRBF.RETE, PATRBF.COD_FISCALE , +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN TOTSELFLIQ = TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + --LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +left JOIN #TOTSELFLIQ t1 on t1.rete = PATRBF.RETE and t1.COD_FISCALE = PATRBF.COD_FISCALE +left JOIN #TOTLIQ t2 on t2.rete = PATRBF.RETE and t2.COD_FISCALE = PATRBF.COD_FISCALE +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_PROGETTO,nome_progetto, PATRBF.CTV DESC + drop table #TOTSELFLIQ +drop table #TOTLIQ +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S169RischiomercatoRischiocredito +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_D2_S169RischiomercatoRischiocredito + SELECT 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S170RischioDiversificazione +BEGIN +INSERT INTO WH.PL_D2_S170RischioDiversificazione + SELECT 'C6MartPeriodico.PL_D2_S170RischioDiversificazione' as ProcedureName, K.RETE as i_rete, K.COD_FISCALE as i_codiceFiscale, +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + when cod_Aggreg = 'COMPLESSIVO|TERZI' then (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + when cod_Aggreg = 'COMPLESSIVO' then (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN ((select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND (select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND (select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN ((select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +ORDER BY ordine +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S171PatrimonioNonRappresentabileAssettClass +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + INSERT INTO WH.PL_D2_S171PatrimonioNonRappresentabileAssettClass + SELECT 'C6MartPeriodico.PL_D2_S171PatrimonioNonRappresentabileAssettClass' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + CASE PATRBF.RETE WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' end as Intermediario + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL +--INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <> 0.00 +--INIZIO INTERVENTI OMNIA + UNION ALL + SELECT 'C6MartPeriodico.PL_D2_S171PatrimonioNonRappresentabileAssettClass' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + CASE PATRBF.RETE WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' end as Intermediario + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO, + PATRBF.RETE, + PATRBF.COD_FISCALE + ORDER BY CONTROVALORE DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S137Bonus +BEGIN +INSERT INTO WH.PL_MP_S137Bonus + SELECT 'C6MartPeriodico.PL_MP_S137Bonus' as ProcedureName, [RETE] as i_rete, [COD_FISCALE] as i_codiceF, + [RETE], + bonus.[COD_FISCALE], + [DES_PROD] = CASE + WHEN desrc.descrizione is null THEN '' + ELSE desrc.descrizione + END, + bonus.[COD_CONF], + bonus.[CTV], + bonus.[DT_TRIM], + 'Bonus Maturato' as [DESBONUS_M], + bonus.[BONUS_M], + bonus.[DTDEC_M], + 'Bonus a scadenza 5 anni' as [DESBONUS_5], + bonus.[BONUS_5], + bonus.[DTDEC_5], + 'Bonus a scadenza 10 anni' as [DESBONUS_10], + bonus.[BONUS_10], + bonus.[DTDEC_10], + bonus.[COD_PROD] + FROM [C6MartPeriodico].[BONUS] bonus + Left Join c6martperiodico.descrizione_bonus desrc + on desrc.cod_prod = bonus.cod_prod +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S135MonitoraggioInvestimento +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_MP_S135MonitoraggioInvestimento + SELECT 'C6MartPeriodico.PL_MP_S135MonitoraggioInvestimento' as ProcedureName, [RETE] as i_rete, [COD_FISCALE] as i_codiceF, + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + UNION + SELECT 'C6MartPeriodico.PL_MP_S135MonitoraggioInvestimento' as ProcedureName, [RETE] as i_rete, [COD_FISCALE] as i_codiceF, + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S134MonitoraggioLiquidita +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- DECLARE @RendimNonRappr BIT +INSERT INTO WH.PL_MP_S134MonitoraggioLiquidita + SELECT 'C6MartPeriodico.PL_MP_S134MonitoraggioLiquidita' as ProcedureName, MONIT.RETE as i_rete, MONIT.COD_FISCALE as i_codiceF, + case when RENDIMNONRAPPR=1 then 1 else 0 end AS cf_rendim_non_rappr, + MONIT.id_Area AS Need_Area, + CASE + WHEN MONIT.NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(MONIT.NOME_PROGETTO)) + END AS Nome_Progetto, + monit.ordinamento_progetto, + dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, + CTV_MONITORATO AS ControvaloreMonitorato, + APPORTO_INIZIALE AS ApportoIniziale, + APPORTO_SUCCESSIVO AS ApportoSuccessivo, + LIQUIDAZIONI, + CEDOLE_DIVIDENDI AS CedoleEDividendi, + MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, + RENDIMENTO_CUMULATO AS Rendimento_Attuale, + RISORSE_ASSOCIATE AS RisorseApportate, + dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, + RENDIMENTO_ANNUALIZZATO + FROM + C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT + LEFT OUTER JOIN + ( + SELECT + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end as NOME_PROGETTO, + patr_bf.ordinamento_progetto, + 1 as RENDIMNONRAPPR + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + LEFT OUTER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + WHERE + PATR_BF.REND_NON_RAPPR = 1 + group by + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end, + patr_bf.ordinamento_progetto + ) PATR_BF + ON PATR_BF.COD_FISCALE=MONIT.COD_FISCALE + AND PATR_BF.RETE= MONIT.RETE + AND left(PATR_BF.ID_AREA,3)=left(MONIT.ID_AREA,3) + AND isnull(PATR_BF.NOME_PROGETTO,'XXX')=isnull(MONIT.NOME_PROGETTO,'XXX') + And monit.ordinamento_progetto=patr_bf.ordinamento_progetto +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S134BISMonitoraggioLiqInv +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_MP_S134BISMonitoraggioLiqInv + SELECT 'C6MartPeriodico.PL_MP_S134BISMonitoraggioLiqInv' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceF, + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + UNION + SELECT 'C6MartPeriodico.PL_MP_S134BISMonitoraggioLiqInv' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceF, + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S133BISPrincipaliProdotti +BEGIN +;with ata as +( +SELECT PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceF, + ANAGPROD.DESCR_PRODOTTO AS descrProdotto + ,PATRBF.CTV AS Controvalore + ,CASE + WHEN patrbf.tipo_prodotto = 'CC' THEN 0.00 + ELSE RISCHIO_PROD.VAR_PERC_PTF + END AS VaRprodotto + ,((CASE + WHEN ((PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100) is null then 0.00 + ELSE(PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100 + END) / (CASE + WHEN sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale'+PATRBF.RETE+PATRBF.COD_FISCALE) = 0 THEN 1 + ELSE sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale'+PATRBF.RETE+PATRBF.COD_FISCALE) + END))*100 as rischioRelativo + ,(PATRBF.CTV/(sum(PATRBF.CTV) over (partition by 'totale'+PATRBF.RETE+PATRBF.COD_FISCALE)))*100 AS pesoRelativo + ,PATRBF.ID_AREA AS codAreaBisogno + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO + INNER JOIN C6MartPeriodico.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.ordinamento_progetto as varchar),'') + '|' + WHEN LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END + + PATRBF.POSITION_ID + WHERE + PATRBF.CTV <>0 + AND PATRBF.ID_AREA <> 'Cc' + ), tot as + (select *, row_number() over (partition by i_rete, i_codiceF ORDER BY rischioRelativo DESC, Controvalore DESC) as pos + from ata + ) + INSERT INTO WH.PL_MP_S133BISPrincipaliProdotti + SELECT 'C6MartPeriodico.PL_MP_S133BISPrincipaliProdotti' as ProcedureName, i_rete, i_codiceF, descrProdotto, Controvalore, VaRprodotto, + rischioRelativo, pesoRelativo, codAreaBisogno from tot where pos <=10 +END +------------------------------------------------------------------------- +----[C6MartPeriodico].[PL_MP_S133AreeBisognoPrincProd] +BEGIN +INSERT INTO wh.[PL_MP_S133AreeBisognoPrincProd] +SELECT 'PL_MP_S133AreeBisognoPrincProd', [Rete] + ,[CodiceFiscale] + ,[NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] + order by ordinamento +END +------------------------------------------------------------------------- +------ [C6MartPeriodico].[PL_MP_S146RischioDiversificazione] +begin + select count(*) as contaCC, cod_fiscale, rete + into #contaCC + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' + group by cod_fiscale, rete + select count(*) as contaPOS, cod_fiscale, rete + into #contaPOS + from c6martperiodico.patrimonio_Bf + group by cod_fiscale, rete +INSERT INTO wh.PL_MP_S146RischioDiversificazione +SELECT 'PL_MP_S146RischioDiversificazione',K.RETE, K.COD_FISCALE, +K.COD_FISCALE, +K.RETE, +CASE + WHEN (contaPOS - contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND contaPOS - contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND contaPOS - contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (contaPOS - contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +left join #contaCC cc on K.COD_FISCALE = cc.COD_FISCALE and K.RETE = cc.rete +left join #contaPOS pos on K.COD_FISCALE = pos.COD_FISCALE and K.RETE = pos.rete +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +ORDER BY Ordine +END +------------------------------------------------------------------------- +---------[C6MartPeriodico].[PL_MP_S141AnalisiRisparmioTable] +begin +select sum(ctv_prodotto) as patr_compl, rete, cod_fiscale +into #patr_compl +from c6martperiodico.patrimonio_emittenti +where ctv_prodotto > 0 +group by rete, cod_fiscale +INSERT INTO wh.PL_MP_S141AnalisiRisparmioTable +SELECT 'PL_MP_S141AnalisiRisparmioTable',RETE, COD_FISCALE, + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +FROM ( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + --RATING AS RATING, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, +--EN 26012016: solo se per un emittente nessun prodotto riporta nessuna copertura +-- viene impostato nc=1 (non classificato) e si assume che nessuna riskclass +-- sia valorizzato. +-- sum(case when copertura > 0 then 0 else 1 end) as nc + min(case when copertura > 0 then 0 else 1 end) as nc + FROM + (SELECT --Y.* + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + --RATING AS RATING, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + RATING, + CREDITRISKCLASS + ) Y + GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +------COMPLESSIVO + SELECT + l.COD_FISCALE, + l.RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(p.patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, +--EN 26012016 +-- sum(case when copertura > 0 then 0 else 1 end) as nc + min(case when copertura > 0 then 0 else 1 end) as nc +FROM +( +SELECT --L.* + y.COD_FISCALE, + y.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER, + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , + SUM(COPERTURA) AS COPERTURA +FROM +( + SELECT --V.* + V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + RATING, + INTERMEDIARIO, + CREDITRISKCLASS + ) Y +GROUP BY + y.COD_FISCALE, + y.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10 +) L + inner join #patr_compl p on p.rete = l.rete and p.cod_fiscale = l.cod_fiscale +GROUP BY + l. COD_FISCALE, + l.RETE, + INTERMEDIARIO, + EMITTENTE +) U + ORDER BY U.CONCENTRATION DESC +END +------------------------------------------------------------------------- +------[C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts] +BEGIN +--QUERY PER INTERMEDIARIO +INSERT INTO wh.PL_MP_S140AnalisiRisparmioCharts +SELECT 'PL_MP_S140AnalisiRisparmioCharts', RETE, COD_FISCALE, *FROM +( +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS ctv +--FINE INTERVENTI OMNIA +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +--INIZIO INTERVENTI OMNIA +---Per calcolare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine calcolo somma self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS CTV +--FINE INTERVENTI OMNIA +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +--INIZIO INTERVENTI OMNIA +--per fare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine somma Self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +)X +END +------------------------------------------------------------------------- +----- [C6MartPeriodico].[PL_MP_S137BISCapitaleProtetto] + begin + INSERT INTO wh.PL_MP_S137BISCapitaleProtetto + SELECT 'PL_MP_S137BISCapitaleProtetto', RETE + ,CODFIS + ,DES_PROD + ,COD_CONF + ,QUOTA + ,NUMEROQUOTE + ,CONTROVALORE + ,DATARIF + ,DES_MAX + ,QUOTA_MAX + ,QUOTA_MAX_PERC + ,DATARIF_MAX + ,DES_PROT + ,QUOTA_PROT + ,NUMEROQUOTE_PROT + ,CONTROVALORE_PROT + ,DES_PROD_TIT -- Aggiunta per E-FOI80 + FROM C6MartPeriodico.CAPPROT + WHERE 1=1 +END +------------------------------------------------------------------------- +------------ [C6MartPeriodico].[PL_S43ContoCorrenteBF] +BEGIN + INSERT INTO wh.PL_S43ContoCorrenteBF + SELECT 'PL_S43ContoCorrenteBF', ANAG_CC.rete, ANAG_CC.cod_fiscale, + dbo.ToShortDateString(ANAG_CC.DATA_APERTURA) AS datadiSottoscrizione, + ANAG_CC.COD_CC AS conto, + cast(ANAG_CC.SALDOCONTABILE as decimal(15,2)) as Controvalore, + cast(ANAG_CC.SALDODISPONIBILE as decimal(15,2)) as SALDO_DISPONIBILE, + null as creditrisk , + 'n.a.' as creditriskstring, + 0 as var, + null as varString, + 0 as totaleVar, + null as totaleVarString + FROM + C6MartPeriodico.ANAG_CC + WHERE + ANAG_CC.SALDOCONTABILE < 0 + ORDER BY + ANAG_CC.SALDOCONTABILE DESC +END +------------------------------------------------------------------------- +------[C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] +BEGIN + SELECT COUNT(*) as TOTSELFLIQ, PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + into #TOTSELFLIQ1 + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + SELECT COUNT(*) as TOTLIQ, PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + into #PATRIMONIO_BF + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + INSERT INTO wh.[PL_S43BISDettaglioProdottiBF] +SELECT 'PL_S43BISDettaglioProdottiBF', PATRBF.RETE, PATRBF.COD_FISCALE, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +ISNULL(PATRBF.ORDINAMENTO_PROGETTO,-1111) , +--Bido +SUM(PATRBF.CTV ) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN TOTSELFLIQ = TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --V THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +--TRINGALI + CASE + WHEN (ISNULL(RISCHIO_AGGR_PROG.copertura,100) < 100) + --v THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_need_progString, + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.id_area='liq' + and (patrbf.tipo_prodotto='CC' + or patrbf.isin in('EURO00000009', 'EURO10000007'))) + then dbo.TOSHORTDATESTRING(C6MartPeriodico.getTrimestre2(getdate(),0)) +--FINE INTERVENTI OMNIA + else +--disasteriscare + --dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) +--cancellare inizio + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.chiave_progetto = '2205396' + and patrbf.tipo_prodotto = 'FI') + then '26/06/2014' + else + dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) + end +--cancellare fine + end AS dataAssociazione, -- CAMBIATA TRINGALI--marianna, cambiata per i cc senza data di associazione +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.VERSATO_NETTO_DA_ASSOC,0) end AS VersatoNetto, +CASE WHEN (MONIT.VERSATO_NETTO_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as VersatoNettoString, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.UTILE_PERDITA_DA_ASSOC,0) END AS MinusPlusValenza, +CASE WHEN (MONIT.UTILE_PERDITA_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in ('EURO00000009', 'EURO10000007' )THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_PROD.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK is null THEN 'n.a.' + ELSE NULL + END as creditriskstring, +-- CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + -- LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) +LEFT JOIN #PATRIMONIO_BF bf on bf.rete = PATRBF.rete and bf.cod_fiscale = PATRBF.cod_fiscale +LEFT JOIN #TOTSELFLIQ1 tot on tot.rete = PATRBF.rete and tot.cod_fiscale = PATRBF.cod_fiscale +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +--MODIFICA TRINGALI PER PRENDERE DETTAGLIO MONITORAGGIO +C6MartPeriodico.MONITORAGGIO_DETTAGLIO MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + --AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + and PATRBF.POSITION_ID=MONIT.POSITION_ID + --AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONATT +ON + PATRBF.RETE = MONATT.RETE + AND PATRBF.COD_FISCALE = MONATT.COD_FISCALE + AND + (PATRBF.ID_AREA=(CASE WHEN MONATT.ID_AREA='Exr' THEN 'Ext' ELSE MONATT.ID_AREA END) AND PATRBF.ID_AREA <> 'INV' + OR + PATRBF.ID_AREA = 'INV' AND PATRBF.ID_AREA = MONATT.ID_AREA AND PATRBF.ORDINAMENTO_PROGETTO = MONATT.ORDINAMENTO_PROGETTO + ) +--blocchiamo il monitoraggio per i progetti a ctv=0 + --And ctv_monitorato>0 +WHERE 1 = 1 + AND ( PATRBF.CTV <> 0 + --E-DEFAULT4 per gestire l'esposizione dei prodotti con ctv = 0 delle banche in default - 18/1/2016 + or (PATRBF.tipo_prodotto = 'DT' and + PATRBF.cod_interno in ('08558830','08594680','04880930','04867780','03972990', + '04281500','04539780','04657780','04966850','04119400','04931400', + '04556320', + '04119600','04291890','04064530' +))) + --fine E-DEFAULT4 +ORDER BY + AREASORTORDER, PATRBF.NOME_PROGETTO, PATRBF.CTV DESC -- modifica TRINGALI +drop table #PATRIMONIO_BF +END +------------------------------------------------------------------------- +------ [C6MartPeriodico].[PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento] +BEGIN + INSERT INTO wh.PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento + SELECT 'PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento', PATR_BF.RETE, + PATR_BF.COD_FISCALE, + PATR_BF.ID_AREA AS Need_Area, + PATR_BF.ID_CONTRATTO AS Contratto, + CASE + WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA + ELSE ltrim(rtrim(PATR_BF.NOME_PROGETTO)) + END AS Area_O_Nome_Progetto, + --PRODOTTI.DESCR_PRODOTTO AS Descrizione, + CASE WHEN PATR_BF.TIPO_PRODOTTO <> 'CC' THEN PRODOTTI.DESCR_PRODOTTO + ELSE PRODOTTI.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATR_BF.PARTVIA_DISINV AS PartitaViaggiante, + SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.RETE, + PATR_BF.COD_FISCALE,PATR_BF.POSITION_ID) AS Controvalore, + dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI AS PRODOTTI ON + PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO + --V La sezione deve uscire soltanto per aree monitorate + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE M ON + PATR_BF.RETE = M.RETE AND PATR_BF.COD_FISCALE = M.COD_FISCALE + AND( + (PATR_BF.ID_AREA = M.ID_AREA AND PATR_BF.ID_AREA <> 'INV') + OR + (PATR_BF.ID_AREA = 'INV' AND PATR_BF.ID_AREA = M.ID_AREA AND PATR_BF.ORDINAMENTO_PROGETTO = M.ORDINAMENTO_PROGETTO) + ) + LEFT OUTER JOIN C6MartPeriodico.ANAG_CC ON + ANAG_CC.COD_FISCALE = PATR_BF.COD_FISCALE + AND ANAG_CC.RETE = PATR_BF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATR_BF.position_id,72,9) + WHERE + PATR_BF.REND_NON_RAPPR = 1 + ORDER BY + Area_O_Nome_Progetto +END +------------------------------------------------------------------------- +----- [C6MartPeriodico].[PL_S82BisDatiSintetici] +BEGIN + INSERT INTO wh.PL_S82BisDatiSintetici + SELECT DISTINCT 'PL_S82BisDatiSintetici', + BF.RETE, + BF.COD_FISCALE, + BF.ORDINAMENTO_PROGETTO, + 'Inv' AS need_area, + ltrim(rtrim(ISNULL(PIRMOD.NOME_PROGETTO,BF.NOME_PROGETTO))) AS NOME_PROGETTO, + ISNULL(RA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RA.COPERTURA IS NULL THEN 'n.c.' + WHEN RA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RA.COPERTURA IS NULL THEN 'n.c.' + WHEN RA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PIRMOD.ORIZZ_TEMP AS orizzonte_Pianificato, + C6MartPeriodico.getDescFromDate(DATEDIFF(m,C6MartPeriodico.getTrimestre(GETDATE(),0),(DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM,PIRMOD.DATA_PIANIF)) )) AS durataResidua, + SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO, bf.ordinamento_progetto) AS ControvaloreAttuale + FROM + C6MartPeriodico.PATRIMONIO_BF AS BF + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON BF.RETE = RA.RETE + AND BF.COD_FISCALE = RA.COD_FISCALE + --V AND RA.COD_AGGREG = 'PIRAMIDE|Inv' + AND RA.COD_AGGREG = 'RISFIN|PIRAMIDE|Inv|'+ BF.NOME_PROGETTO + '|' + cast(bf.ordinamento_progetto as varchar) + -- + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD + ON BF.RETE = PIRMOD.RETE + AND BF.COD_FISCALE = PIRMOD.COD_FISCALE + --AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + AND BF.ORDINAMENTO_PROGETTO = PIRMOD.ORDINAMENTO_PROGETTO + AND PIRMOD.ID_AREA = 'Inv' + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS BFAggr + ON BF.RETE = BFAggr.RETE + AND BF.COD_FISCALE = BFAggr.COD_FISCALE + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE AS MONIT + ON BF.RETE = MONIT.RETE + AND BF.COD_FISCALE = MONIT.COD_FISCALE + AND BF.ID_AREA = MONIT.ID_AREA + AND BF.NOME_PROGETTO = MONIT.NOME_PROGETTO + AND BF.ORDINAMENTO_PROGETTO = MONIT.ORDINAMENTO_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'Inv' + END + --AND BF.ORDINAMENTO_PROGETTO=1521667 +------------------------------------------------------------------------- +----- [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] +begin +INSERT INTO wh.PL_S76AlternativaPatrimonioNonRappresentabileAssettClass +SELECT 'PL_S76AlternativaPatrimonioNonRappresentabileAssettClass', * FROM +( + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + case when PATRBF.RETE = 'F' then 'Fideuram' else 'Sanpaolo Invest' end as Intermediario + --patrbf.ordinamento_progetto + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + AND PATRBF.CTV <> 0.00 +UNION ALL +SELECT PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + sum(ASUL.CTV) as Controvalore, + sum(ASUL.CTV) as controvalore_contratto, + Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + case when PATRBF.RETE = 'F' then 'Fideuram' else 'Sanpaolo Invest' end as Intermediario + --patrbf.ordinamento_progetto + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN + C6MartPeriodico.DETTAGLIO_ASUL ASUL + ON + PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + left JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + ASSETPERC.COD_PRODOTTO IS NULL + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, PATRBF.ID_CONTRATTO, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end, + PATRBF.NOME_PROGETTO, + patrbf.chiave_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE), + ANAGP.DESCR_PRODOTTO + )XX +END +------------------------------------------------------------------------- +------------------------------- [C6MartPeriodico].[PL_D_S170RischioDiversificazione] +BEGIN + select count(*) as contaCC, cod_fiscale, rete + into #contaCCC + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' + group by cod_fiscale, rete + select count(*) as contaPOS, cod_fiscale, rete + into #contaPOSS + from c6martperiodico.patrimonio_Bf + group by cod_fiscale, rete + SELECT isnull(sum(ctv),0) as ctvbf, cod_fiscale, rete + INTO #ctvbf + FROM c6martperiodico.patrimonio_bf + where CTV > 0 + group by cod_fiscale, rete + SELECT isnull(sum(ctv),0) as ctvterzi, cod_fiscale, rete + INTO #ctvterzi + FROM c6martperiodico.patrimonio_terzi + where CTV > 0 + group by cod_fiscale, rete + INSERT INTO wh.PL_D_S170RischioDiversificazione +SELECT 'PL_D_S170RischioDiversificazione',K.RETE,K.COD_FISCALE, +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then COALESCE(ctvbf,0) + when cod_Aggreg = 'COMPLESSIVO|TERZI' then COALESCE(ctvterzi,0) + when cod_Aggreg = 'COMPLESSIVO' then COALESCE(ctvbf,0) + COALESCE(ctvterzi,0) + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN (COALESCE(contaPOS,0) - COALESCE(contacc,0) = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND COALESCE(contaPOS,0) - COALESCE(contacc,0) <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND COALESCE(contaPOS,0) - COALESCE(contacc,0) <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (contaPOS - contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +full outer join #contaCCC cc on k.COD_FISCALE = cc.cod_fiscale and k.Rete = cc.rete +full outer join #contaPOSS pos on k.COD_FISCALE = pos.cod_fiscale and k.Rete = pos.rete +full outer join #ctvbf bf on k.COD_FISCALE = bf.cod_fiscale and k.Rete = bf.rete +full outer join #ctvterzi terzi on k.COD_FISCALE = terzi.cod_fiscale and k.Rete = terzi.rete +WHERE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +ORDER BY ordine +END +------------------------------------------------------------------------- +----------------------------------[C6MartPeriodico].[PL_S96RischiomercatoRischiocredito] +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + truncate table wh.PL_S96RischiomercatoRischiocredito + INSERT INTO wh.PL_S96RischiomercatoRischiocredito + SELECT 'PL_S96RischiomercatoRischiocredito', RETE, COD_FISCALE, * + FROM ( + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + -- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + )X + order by ordine + END +------------------------------------------------------------------------- +-------------------- [C6MartPeriodico].[PL_S80Alternativa] +BEGIN + SELECT COUNT(*) as MONIT_ATTIV, RETE, COD_FISCALE + into #aa2 + FROM C6MARTPERIODICO.MONITORAGGIO_ATTUALE + GROUP BY RETE, COD_FISCALE + SELECT COUNT(*) as MONIT_INIT, RETE, COD_FISCALE + into #ab2 + FROM C6MARTPERIODICO.MONITORAGGIO_INIZIALE + GROUP BY RETE, COD_FISCALE + select a.RETE, a.COD_FISCALE + into #pos2 + from #aa2 a inner join #ab2 b on a.rete = b.rete and a.COD_FISCALE = b.COD_FISCALE + INSERT INTO wh.PL_S80Alternativa + SELECT 'PL_S80Alternativa' as ProcedureName, v.RETE as i_rete, v.Cod_Fiscale as i_codiceFiscale, v.[RETE] + ,v.[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] v + inner join #pos2 p on p.rete = v.rete and p.Cod_Fiscale = v.Cod_Fiscale +END +---------------------------------------------- +--maledetti +begin +truncate table wh.Maledetti +insert into wh.Maledetti --70 minutes +( +[i_CodiceFiscale] + ,[i_Rete] + ,[Rete] + ,[NomeRete] + ,[Agente] + ,[CognomeAgente] + ,[NomeAgente] + ,[IndirizzoAgente] + ,[CapAgente] + ,[CittaAgente] + ,[TelefonoAgente] + ,[CodiceFiscale] + ,[CognomeCliente] + ,[NomeCliente] + ,[ProfiloIsAct] + ,[PatrimonioNonRappresentabile] + ,[PartiteViaggiantiDisinv] + ,[PartiteViaggiantiInv] + ,[ContoCorrente] + ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,[RisorseNonAssociate] + ,[Patrimonioaltroctv] + ,[Patrimonioimmobiliarectv] + ,[PatrimonioTerzictv] + ,[PatrimonioTerziCtvAlNettoContoCorrente] + ,[PatrimonioTerziContoCorrente] + ,[Patrimoniobancafideuramctv] + ,[Patrimoniocomplessivototalectv] + ,[NumeroIntermediari] + ,[CodiceContratto] + ,[tip_contratto] + ,[contrattoold] + ,[NoMonitoraggio] + ,[descrizioneDiagnosi] + ,[idModelloDiagnosi] + ,[idReportDiagnosi] + ,[descrizioneMonitoraggio] + ,[idReportMonitoraggio] + ,[idModelloMonitoraggio] + ,[AdesioneSuccessivaAvanzato] + ,[VaRRisorseNonAssociate] + ,[CoperturaRisorseNonAssociate] + ,[VaRTotaleRisorseFinanziarie] + ,[CoperturaTotaleRisorseFinanziarie] + ,[IdReportPDFDiagnosi] + ,[IdReportPDFMonitoraggio] + ,scaduto + ) +SELECT + DISTINCT + contratti.Cod_Fiscale as i_CodiceFiscale + ,contratti.Rete as i_Rete + --DATI COMUNI + --RETE + ,contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,ISNULL(monit.NoMonitoraggio, 1) AS NoMonitoraggio --fix 20161012 + ,'Diagnosi' as descrizioneDiagnosi + ,CASE + WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 5 + ELSE -1 + END AS idModelloDiagnosi + ,CASE + WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 1 + ELSE -1 + END AS idReportDiagnosi + ,'Monitoraggio' as descrizioneMonitoraggio + ,4 as idReportMonitoraggio--4 + ,CASE isnull(tip_contratto,0) + WHEN 0 THEN 12--12 + WHEN 1 THEN 12--12 + WHEN 2 THEN 13--13 + END AS idModelloMonitoraggio + --************************************************* + ,0 AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFMonitoraggio + ,mifid.scaduto + FROM [C6MartPeriodico].contrattoSEI contratti + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + --65992 + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + -- 64864 + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --modificata da Valerio 12 marzo 2012 + --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + --64864 + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + --64864 + left join ( + select distinct monit.rete, monit.cod_fiscale, + case when isnull(monitInit.data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) then 1 + when monitReport.cod_fiscale is null then 1 else 0 end as NoMonitoraggio + from c6martperiodico.monitoraggio_attuale monit + left join c6martperiodico.monitoraggio_iniziale monitInit on monit.rete = monitInit.rete and monit.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport on monit.rete = monitReport.rete and monit.cod_fiscale = monitReport.cod_fiscale + ) monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + WHERE 1=1 + --144104 + end +------------------------------------------------------------------------- +END \ No newline at end of file diff --git a/sql/storedProduzione/wh_MERGED_PROCEDURE_20181010.sql b/sql/storedProduzione/wh_MERGED_PROCEDURE_20181010.sql new file mode 100644 index 00000000..96525612 --- /dev/null +++ b/sql/storedProduzione/wh_MERGED_PROCEDURE_20181010.sql @@ -0,0 +1,4599 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [wh].[MERGED_PROCEDURE] +AS +BEGIN + SET NOCOUNT ON; +--------------------------------------------------------------------- +truncate table wh.pl_s85rendimentoportafogliocono +truncate table wh.pl_areemonitorate +truncate table wh.pl_s43lineaselfbf +truncate table wh.pl_s10patrimoniofinanziario +truncate table wh.pl_prodotti_non_associati_area_inv +truncate table wh.pl_d2_s151profilodirischio +truncate table wh.pl_d2_s152patrimonio +truncate table wh.pl_d2_s153patrimoniofinanziario +truncate table wh.pl_d2_s154patrimoniofinanziario +truncate table wh.pl_d2_s155patrimonioimmobiliare +truncate table wh.pl_d2_s156altropatrimonio +truncate table wh.pl_d2_s157confrontopiramidi +truncate table wh.pl_d2_s158piramidemodello +truncate table wh.pl_d2_s159patrimoniofinanziario +truncate table wh.pl_d2_s160dettaglioprodottibf +truncate table wh.pl_d2_s162dettaglioprodotti +truncate table wh.pl_d2_s163patrimoniofinanziariomassetclass +truncate table wh.pl_d2_s164polizzealtriistituti +truncate table wh.pl_d2_s165fondialtriistituti +truncate table wh.pl_d2_s167distribuzionerischiocredito +truncate table wh.pl_d2_s168tabellaemittenti +truncate table wh.pl_s43dettaglioprodottibf +truncate table wh.pl_d2_s169rischiomercatorischiocredito +truncate table wh.pl_d2_s170rischiodiversificazione +truncate table wh.pl_d2_s171patrimoniononrappresentabileassettclass +truncate table wh.pl_mp_s137bonus +truncate table wh.pl_mp_s135monitoraggioinvestimento +truncate table wh.pl_mp_s134monitoraggioliquidita +truncate table wh.pl_mp_s134bismonitoraggioliqinv +truncate table wh.pl_mp_s133bisprincipaliprodotti +truncate table wh.pl_mp_s133areebisognoprincprod +truncate table wh.pl_mp_s146rischiodiversificazione +truncate table wh.pl_mp_s141analisirisparmiotable +truncate table wh.pl_mp_s140analisirisparmiocharts +truncate table wh.pl_mp_s137biscapitaleprotetto +truncate table wh.pl_s43contocorrentebf +truncate table wh.pl_s43bisdettaglioprodottibf +truncate table wh.pl_s88patrimoniononconsideratonelcalcolodelrendimento +truncate table wh.pl_s82datisintetici +truncate table wh.pl_s82bisdatisintetici +truncate table wh.pl_s76alternativapatrimoniononrappresentabileassettclass +truncate table wh.pl_s80alternativa +truncate table wh.pl_s96rischiomercatorischiocredito +truncate table wh.pl_d_s170rischiodiversificazione +------------------------------------------------------------------------ +-------------------------------------------PL_S82DatiSintetici +INSERT INTO WH.PL_S82DatiSintetici +SELECT 'C6MartPeriodico.PL_S82DatiSintetici' as ProcedureName, PATRAREA.RETE as i_rete ,PATRAREA.COD_FISCALE as i_codiceFiscale, + PATRAREA.ID_AREA AS need_area, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PATRAREA.ORDINAMENTO_PROGETTO, + /*V Calcolato a livello di codice + CASE + WHEN PATRAGGR.CTV = 0 THEN 0 + ELSE PATRAREA.CTV / PATRAGGR.CTV * 100 + END AS pesoPerc,*/ + PATRAREA.CTV AS ControvaloreAttuale + /* Calcolato a livello di codice + CASE + WHEN @TOTRischio = 0 THEN 0 + ELSE ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV / @TOTRischio * 100 + END AS rischioRelativo*/ + FROM C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS PATRAGGR + ON PATRAGGR.RETE = PATRAREA.Rete + AND PATRAGGR.COD_FISCALE = PATRAREA.COD_FISCALE + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON RISCHIOAREA.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRAREA.ID_AREA,3) + AND RISCHIOAREA.RETE = PATRAREA.Rete + AND RISCHIOAREA.COD_FISCALE = PATRAREA.COD_FISCALE + WHERE 1=1 + AND PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE') +------------------------------------------------------------------------- +-------------------------------------------PL_S85RendimentoPortafoglioCono + BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,isnull([NOME_PROGETTO],'XXX') as NOME_PROGETTO + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB] +into #pir_mod_xxx + FROM [C6MartPeriodico].[PIRAMIDE_MOD] +--select * from #pir_mod_xxx where cod_fiscale = 'FF@7181' +INSERT INTO WH.PL_S85RendimentoPortafoglioCono +SELECT 'C6MartPeriodico.PL_S85RendimentoPortafoglioCono' as ProcedureName, CONO.RETE as i_rete ,CONO.COD_FISCALE as i_codiceFiscale, + CONO.ID_AREA AS NEED_AREA, + CASE + WHEN CONO.NOME_PROGETTO = 'XXX' THEN '' + ELSE CONO.NOME_PROGETTO + END AS NOME_PROGETTO, + cono.ordinamento_progetto, + CONO.DATA_CONO, + CONO.SCENARIO_OTTIMISTICO AS OTTIMISTICO, + CONO.SCENARIO_PESSIMISTICO AS PESSIMISTICO, + isnull(PIRMOD.ORIZZ_TEMP_NUM,0) * 12 AS ORIZZONTE_MESI, + MONIT.RENDIMENTO_CUMULATO AS RENDIMENTO, + MONIT.DATA_CTV AS DATA_MONIT + FROM + C6MartPeriodico.CONO_PIANIFICAZIONE AS CONO + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE AS MONIT + ON CONO.RETE = MONIT.RETE + AND CONO.COD_FISCALE = MONIT.COD_FISCALE + AND CONO.ID_AREA = MONIT.ID_AREA + AND CONO.NOME_PROGETTO = MONIT.NOME_PROGETTO + And cono.ordinamento_progetto=monit.ordinamento_progetto --l'ordinamento progetto è sempre pari alla chiaveprogetto e non idmonitoraggio + INNER JOIN #pir_mod_xxx as PIRMOD + ON CONO.RETE = PIRMOD.RETE + AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE + AND CONO.ID_AREA = PIRMOD.ID_AREA + AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + And cono.ordinamento_progetto=pirmod.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD +-- ON CONO.RETE = PIRMOD.RETE +-- AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE +-- AND CONO.ID_AREA = PIRMOD.ID_AREA +-- AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + ORDER BY CONO.DATA_CONO + drop table #pir_mod_xxx +END +------------------------------------------------------------------------- +-------------------------------------------pl_areemonitorate +BEGIN +INSERT INTO WH.PL_AreeMonitorate +SELECT 'C6MartPeriodico.PL_AreeMonitorate' as ProcedureName, [RETE] as i_rete ,[COD_FISCALE] as i_codiceFiscale, +NEED_AREA, +NEED_ESTESA, +max(NOME_PROGETTO) as NOME_PROGETTO, +--CONTROLLO NOME PROGETTO DUPLICATO, TOLTO IL MAX, AGGIUNTO NEL GROUP BY +ISNULL(ORDINAMENTO_PROGETTO,-1111), +--MAX(ORDINAMENTO_PROGETTO) AS ORDINAMENTO_PROGETTO, +MAX(ORDINE) AS ORDINE, +--rimettere il min e commentare il ctv=0 +max(AREAPROGETTOSOTTOMONITORAGGIO) AS AREAPROGETTOSOTTOMONITORAGGIO +FROM +( + --1.1 liq sotto monit + SELECT + PIRMOD.RETE AS RETE, + PIRMOD.COD_FISCALE as COD_FISCALE, + PIRMOD.ID_AREA AS Need_Area, + AREA.NOME_AREA AS Need_Estesa, + CASE WHEN PIRMOD.NOME_PROGETTO is null and pirmod.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PIRMOD.NOME_PROGETTO)) + END AS Nome_Progetto, + PIRMOD.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PIRMOD.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 6 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + (SELECT + RETE, + COD_FISCALE, + case when ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else id_area end as Id_area, + NOME_PROGETTO, + TIPO_PROGETTO, + PERC_AREA, + CTV_PROGETTO, + CTV_AREA, + ORIZZ_TEMP_NUM, + ORIZZ_TEMP, + CTV_TOTALE, + STATO_CONSULENZA, + DATA_STATO_CONS, + DATA_MIGR_CONS, + DATA_PIANIF, + ID_CONTRATTO, ---LEVARE??? + ORDINAMENTO_PROGETTO + FROM + C6MartPeriodico.CONS_ATTIVAGGIORNATA + ) PIRMOD + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PIRMOD.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PIRMOD.COD_FISCALE + AND MONIT.RETE=PIRMOD.RETE + AND MONIT.ID_AREA= PIRMOD.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PIRMOD.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PIRMOD.ORDINAMENTO_PROGETTO + WHERE + PIRMOD.CTV_PROGETTO > 0 + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.CTV < 0 and id_area = 'CC' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + 'Self' AS Need_Area, + 'Liquidità negativa "Linee GP Eligo"' AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.CTV < 0 and id_area = 'SELF' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 8 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + --case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +) A +GROUP BY +RETE, +COD_FISCALE, +NEED_AREA, +NEED_ESTESA, +ISNULL(ORDINAMENTO_PROGETTO,-1111) + ORDER BY + ORDINE +END +------------------------------------------------------------------------- +-------------------------------------------PL_S43LineaSelfBF +BEGIN + INSERT INTO WH.PL_S43LineaSelfBF + SELECT 'C6MartPeriodico.PL_S43LineaSelfBF' as ProcedureName, LS.rete as i_rete ,LS.codfis as i_codiceFiscale, + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(cast(datasott as varchar)) as DataSott + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + isnull(ctv,0) < 0 +END +------------------------------------------------------------------------- +-------------------------------------------PL_S10PatrimonioFinanziario +BEGIN + INSERT INTO WH.PL_S10PatrimonioFinanziario + SELECT 'C6MartPeriodico.PL_S10PatrimonioFinanziario' as ProcedureName, [Rete] as i_rete ,[CodiceFiscale] as i_codiceFiscale, + [Banca] + ,[Ordinamento] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6MartPeriodico].[tb_S10PatrimonioFinanziario] + order by ordinamento +END +------------------------------------------------------------------------- +-------------------------------------------PL_Prodotti_Non_Associati_Area_Inv +BEGIN +INSERT INTO WH.PL_Prodotti_Non_Associati_Area_Inv + SELECT 'C6MartPeriodico.PL_Prodotti_Non_Associati_Area_Inv' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, +PATRBF.RETE, +PATRBF.COD_FISCALE, +ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') AS NOME_PROGETTO, +ID_AREA as NEED_AREA, +SUM(CTV) AS CONTROVALOREATTUALE, +MAX(ISNULL(RISK.VAR_PERC_PTF,0)) AS var_needarea, +--PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString +FROM +C6MARTPERIODICO.PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +C6MARTPERIODICO.RISCHIO_AGGREGATO RISK +ON PATRBF.RETE = RISK.RETE + AND PATRBF.COD_FISCALE = RISK.COD_FISCALE + AND RISK.COD_AGGREG = 'PIRAMIDE|Inv|'+ ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') +WHERE 1 = 1 + AND PATRBF.id_AREA = 'Inv' + AND PATRBF.NOME_PROGETTO='Prodotti non associati a progetti' +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti'), +ID_AREA, +CHIAVE_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S151ProfiloDiRischio +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + INSERT INTO WH.PL_D2_S151ProfiloDiRischio + SELECT 'C6MartPeriodico.PL_D2_S151ProfiloDiRischio' as ProcedureName, M.RETE as i_rete, M.COD_FISCALE as i_codiceFiscale, + M.PROFILO_ASS as codiceProfilo, + DBO.TOSHORTDATESTRING(M.DATA_INIZIO_VAL) as dataInizioValidita, + CR.MAX_VAR as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + ProfiliDiRischio.NOMEPROFILO as nomeProfilo, + m.riskclass as riskclass, + m.experience as experince + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO +END +------------------------------------------------------------------------- +-------------------------------------------pl_d2_s152patrimonio +BEGIN +SELECT SUM(CTV) as Value, patrBF.Rete, patrBF.Cod_Fiscale +into #PatrimonioBF + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE patrBF.id_area not in ('CC','SELF') + group by patrBF.Cod_Fiscale, patrBF.Rete + SELECT SUM(IMPORTO) as Value, Rete, Cod_Fiscale + into #Part_viaggianti + FROM + ( + SELECT SUM(IMPORTO) AS IMPORTO, partvia.Rete, partvia.Cod_Fiscale + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + group by partvia.Rete, partvia.Cod_Fiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO, partvia.Rete, partvia.Cod_Fiscale + FROM C6Martperiodico.patrimonio_bf partvia + group by partvia.Rete, partvia.Cod_Fiscale + ) T + group by Rete, Cod_Fiscale + SELECT SUM(ROUND(CTV,2)) as Value, patrTerzi.Rete, + patrTerzi.Cod_Fiscale + into #PatrimonioTerzi + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + group by patrTerzi.Rete, + patrTerzi.Cod_Fiscale + SELECT SUM(patrImm.VALORE_STIMATO) as Value, + patrImm.Rete, patrImm.Cod_Fiscale + into #PatrimonioImmobiliare + FROM C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + group by patrImm.Rete, patrImm.Cod_Fiscale + SELECT SUM(patrAltro.ctv) as Value, patrAltro.Rete, patrAltro.Cod_Fiscale + into #PatrimonioAltro + FROM C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + group by patrAltro.Rete, patrAltro.Cod_Fiscale + select distinct rete, cod_fiscale + into #merge + from + ( + select rete, cod_fiscale from #PatrimonioBF UNION ALL + select rete, cod_fiscale from #PatrimonioTerzi UNION ALL + select rete, cod_fiscale from #Part_viaggianti UNION ALL + select rete, cod_fiscale from #PatrimonioImmobiliare UNION ALL + select rete, cod_fiscale from #PatrimonioAltro + )x + truncate table WH.pl_d2_s152patrimonio + ;with data as + ( + select m.rete, m.cod_fiscale, + cast(COALESCE(a.value,0.00)+COALESCE(c.value,0.00) as numeric(18,2)) as PatrimonioBF, + cast(COALESCE(a.value,0.00)+COALESCE(b.value,0.00)+COALESCE(c.value,0.00) as numeric(18,2)) as FinanziarioCTV, + cast(COALESCE(a.value,0.00)+COALESCE(b.value,0.00)+COALESCE(c.value,0.00)+COALESCE(d.value,0.00)+COALESCE(e.value,0.00) as numeric(18,2)) as PatrimonioTotale, + cast(COALESCE(b.value,0.00) as numeric(18,2)) as PatrimonioTerziCTV, + cast(COALESCE(d.value,0.00) as numeric(18,2)) as PatrimonioImmobiliare, + cast(COALESCE(e.value,0.00) as numeric(18,2)) as PatrimonioAltro + from #merge m + left join #PatrimonioBF a on a.rete = m.rete and a.cod_fiscale = m.cod_fiscale + left join #PatrimonioTerzi b on b.rete = m.rete and b.cod_fiscale = m.cod_fiscale + left join #Part_viaggianti c on c.rete = m.rete and c.cod_fiscale = m.cod_fiscale + left join #PatrimonioImmobiliare d on d.rete = m.rete and d.cod_fiscale = m.cod_fiscale + left join #PatrimonioAltro e on e.rete = m.rete and e.cod_fiscale = m.cod_fiscale + ) + INSERT INTO WH.pl_d2_s152patrimonio + SELECT 'C6MartPeriodico.pl_d2_s152patrimonio' as ProcedureName, rete as i_rete, cod_fiscale as i_codiceFiscale, + PatrimonioBF, + PatrimonioTerziCTV, + FinanziarioCTV, + CONVERT(decimal(6,2), + case when PatrimonioTotale = 0.00 then 0.00 + else FinanziarioCTV / PatrimonioTotale end + * 100.00) AS FinanziarioPerc, + PatrimonioImmobiliare, + CONVERT(decimal(6,2), + case when PatrimonioTotale = 0.00 then 0.00 + else PatrimonioImmobiliare/PatrimonioTotale end + * 100.00) AS ImmobiliarePerc, + PatrimonioAltro, + CONVERT(decimal(6,2), + case PatrimonioTotale when 0.00 then 0.00 + else PatrimonioAltro/PatrimonioTotale end + * 100.00) AS AltroPerc, + PatrimonioTotale as TotaleCTV + from data +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S153PatrimonioFinanziario +BEGIN + INSERT INTO WH.PL_D2_S153PatrimonioFinanziario + SELECT 'C6MartPeriodico.PL_D2_S151ProfiloDiRischio' as ProcedureName, Rete as i_rete, Cod_Fiscale as i_codiceFiscale, + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Rete, + Cod_Fiscale, + Intermediario, + Ordine, + CASE Rete WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS Banca, + SUM(ctv) over (partition by Intermediario,Ordine,Rete,Cod_fiscale) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine,Rete,Cod_Fiscale)) / + wh.IsZero((SUM(ctv) over (partition by 'Totale'+Rete+Cod_fiscale)),1) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + patrBF.Rete as Rete, + patrBF.Cod_Fiscale as Cod_Fiscale, + CASE patrBF.Rete WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE 1 = 1 + and patrBF.id_area not in ('CC','SELF') + GROUP BY patrBF.Rete, patrBF.Cod_Fiscale + UNION ALL + SELECT + patrTerzi.Rete as Rete, + patrTerzi.Cod_Fiscale as Cod_Fiscale, + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + GROUP BY patrTerzi.Intermediario, patrTerzi.Rete, patrTerzi.Cod_Fiscale + ) PATR + GROUP BY Cod_Fiscale, Rete, intermediario, ordine, ctv + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S154PatrimonioFinanziario +BEGIN +INSERT INTO WH.PL_D2_S154PatrimonioFinanziario + SELECT 'C6MartPeriodico.PL_D2_S154PatrimonioFinanziario' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(38,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE),2) as decimal(38,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + RETE, + COD_FISCALE, + CASE RETE WHEN 'S' THEN 'Sanpaolo Invest'ELSE 'Fideuram' END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE) / + NULLIF(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE),0) + ) * 100 AS Percentuale + FROM ( + SELECT --PRODOTTI BF ESCLUSI GLI ASUL + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO NOT IN ('ASUL') + AND PATRBF.ID_AREA not in ('CC','SELF') + UNION ALL + SELECT + ASUL.RETE AS RETE, + ASUL.COD_FISCALE as COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + UNION ALL + --CON SKANDIA + SELECT + ASUL.RETE AS RETE, + ASUL.COD_FISCALE as COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + PATRTERZI.RETE AS RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + PATRTERZI.RETE AS RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + --GROUP BY RETE, COD_FISCALE, ASSETCLASS.ordinamento, VALORIASSET.ID_ASSETCLASS, ASSETCLASS.DESCRIZIONE, VALORIASSET.CONTROVALORE +) A +--GROUP BY RETE, COD_FISCALE, A.BANCA, A.ORDINAMENTO, A.ASSETCLASSID, A.ASSETCLASSNAME, A.CONTROVALORE, A.PERCENTUALE +ORDER BY A.ORDINAMENTO +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S155PatrimonioImmobiliare +BEGIN +INSERT INTO WH.PL_D2_S155PatrimonioImmobiliare + SELECT 'C6MartPeriodico.PL_D2_S155PatrimonioImmobiliare' as ProcedureName, PATRIMONIO_IMMOBILIARE.RETE as i_rete, PATRIMONIO_IMMOBILIARE.COD_FISCALE as i_codiceFiscale, + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale'+PATRIMONIO_IMMOBILIARE.RETE+PATRIMONIO_IMMOBILIARE.COD_FISCALE) as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto'+PATRIMONIO_IMMOBILIARE.RETE+PATRIMONIO_IMMOBILIARE.COD_FISCALE) as TotaleAffitto + FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + --GROUP BY PATRIMONIO_IMMOBILIARE.RETE, PATRIMONIO_IMMOBILIARE.COD_FISCALE, PATRIMONIO_IMMOBILIARE.descrizione, PATRIMONIO_IMMOBILIARE.TIPOLOGIA, PATRIMONIO_IMMOBILIARE.LOCALITA, PATRIMONIO_IMMOBILIARE.AFFITTO, PATRIMONIO_IMMOBILIARE.VALORE_STIMATO + ORDER BY PATRIMONIO_IMMOBILIARE.valore_stimato DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S156ALtroPatrimonio +BEGIN + INSERT INTO WH.PL_D2_S156ALtroPatrimonio + SELECT 'C6MartPeriodico.PL_D2_S156ALtroPatrimonio' as ProcedureName, PATRIMONIO_ALTRO.RETE as i_rete, PATRIMONIO_ALTRO.COD_FISCALE as i_codiceFiscale, + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale',PATRIMONIO_ALTRO.RETE, PATRIMONIO_ALTRO.COD_FISCALE ) as Totale + FROM + C6MartPeriodico.PATRIMONIO_ALTRO + --GROUP BY PATRIMONIO_ALTRO.RETE, PATRIMONIO_ALTRO.COD_FISCALE, PATRIMONIO_ALTRO.DESCRIZIONE, PATRIMONIO_ALTRO.QUANTITA, PATRIMONIO_ALTRO.CTV + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S157ConfrontoPiramidi +BEGIN +INSERT INTO WH.PL_D2_S157ConfrontoPiramidi +SELECT 'C6MartPeriodico.PL_D2_S157ConfrontoPiramidi' as ProcedureName, RETE as i_rete, [CodiceFiscale] as i_codiceFiscale, + [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] + where [CodiceFiscale] is not null and [Rete] is not null + order by ordinamento +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S158PiramideModello +BEGIN +INSERT INTO WH.PL_D2_S158PiramideModello +SELECT 'C6MartPeriodico.PL_D2_S158PiramideModello' as ProcedureName, BF.RETE as i_rete, BF.COD_FISCALE as i_codiceFiscale, + BF.NOME_PROGETTO AS NomePrg, + PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + AGGR.VAR_PERC_PTF as VarPrg, + SUM(BF.CTV)AS ControvalorePrg + FROM C6MartPeriodico.PATRIMONIO_BF BF + INNER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AGGR + ON BF.RETE= AGGR.RETE + AND BF.COD_FISCALE= AGGR.COD_FISCALE + AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD + ON BF.RETE= PIRMOD.RETE + AND BF.COD_FISCALE= PIRMOD.COD_FISCALE + AND BF.ID_AREA = PIRMOD.ID_AREA + AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'inv' + AND BF.CTV > 0 + group BY BF.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,AGGR.VAR_PERC_PTF, BF.RETE, BF.COD_FISCALE +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S159PatrimonioFinanziario +BEGIN +INSERT INTO WH.PL_D2_S159PatrimonioFinanziario +SELECT 'C6MartPeriodico.PL_D2_S159PatrimonioFinanziario' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(38,6)) AS Controvalore, + cast(A.Percentuale as decimal(38,6)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE),2) as decimal(38,6)) AS Totale +FROM +( + SELECT DISTINCT + RETE, + COD_FISCALE, + CASE RETE + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Fideuram' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE) ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE AS COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area not in ('CC','Self') + UNION ALL + SELECT + ASUL.RETE AS RETE, + ASUL.COD_FISCALE AS COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + UNION ALL + SELECT ASUL.RETE AS RETE, + ASUL.COD_FISCALE AS COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +--group by RETE, COD_FISCALE, a.banca, a.ordinamento, a.assetclassid, a.assetclassname, a.controvalore, a.percentuale +ORDER BY A.ORDINAMENTO +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S160DettaglioProdottiBF +BEGIN +INSERT INTO WH.PL_D2_S160DettaglioProdottiBF +SELECT 'C6MartPeriodico.PL_D2_S160DettaglioProdottiBF' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN (SELECT COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF tmp2 + WHERE ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' and + tmp2.COD_FISCALE = PATRBF.COD_FISCALE AND + TMP2.RETE = PATRBF.RETE) = (SELECT COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF tmp3 + WHERE ID_AREA = 'LIQ' and tmp3.COD_FISCALE = PATRBF.COD_FISCALE AND + TMP3.RETE = PATRBF.RETE) and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 and + PATRBF.CTV <>0 +--GROUP BY PATRBF.COD_FISCALE, PATRBF.RETE, AREA.ID_AREA, AREA.NOME_AREA, AREA.ORDINAMENTO, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO, PATRBF.CTV, +-- MONIT.MINUS_PLUSVALENZA, RISCHIO_AGGR_PROG.COPERTURA, RISCHIO_AGGR_PROG.VAR_PERC_PTF, RISCHIO_AGGR_AREA.VAR_PERC_PTF, RISCHIO_AGGR_AREA.COPERTURA, +-- PATRBF.DATA_SOTTOSCRIZIONE, PATRBF.ID_CONTRATTO, PATRBF.TIPO_PRODOTTO, ANAGPROD.DESCR_PRODOTTO, ANAG_CC.COD_CC, RISCHIO_PROD.VAR_PERC_PTF, +-- RISCHIO_PROD.COPERTURA, PATRBF.ISIN, PATRBF.REND_ANNO, PATRBF.REND_SOTTOSCRIZIONE, PATRBF.PARTVIA_DISINV, RISCHIO_PROD.CREDITRISK, RISCHIO_PROD.CREDITRISKEMIT +ORDER BY + AREASORTORDER,CHIAVE_progetto,nome_progetto, PATRBF.CTV DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S162DettaglioProdotti +BEGIN +INSERT INTO WH.PL_D2_S162DettaglioProdotti + SELECT 'C6MartPeriodico.PL_D2_S162DettaglioProdotti' as ProcedureName, PATRTERZI.RETE as i_rete, PATRTERZI.COD_FISCALE as i_codiceFiscale, + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + ON + PATRTERZI.RETE = RISCHIOAGGREG.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGREG.COD_FISCALE + AND RISCHIOAGGREG.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + WHERE 1 = 1 + AND PATRTERZI.DESCR_GRUPPO_PRODOTTO IS NOT NULL + --GROUP BY PATRTERZI.COD_FISCALE, PATRTERZI.RETE, PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.INTERMEDIARIO, PATRTERZI.DATA_SOTTOSCRIZIONE, ANAGPRODTERZI.NOME_PRODOTTO, PATRTERZI.CTV, PATRTERZI.VERSATO_NETTO, + -- RISCHIOPROD.VAR_PERC_PTF, RISCHIOPROD.COPERTURA, RISCHIOAGGREG.VAR_PERC_PTF, RISCHIOAGGREG.COPERTURA, PATRTERZI.COD_PRODOTTO, RISCHIOPROD.CREDITRISK, RISCHIOPROD.CREDITRISKEMIT + ORDER BY + OrdinamentoProdotti, + Controvalore DESC +END +------------------------------------------------------------------------- +-------------------------------------------pl_d2_s163patrimoniofinanziariomassetclass +BEGIN +INSERT INTO WH.pl_d2_s163patrimoniofinanziariomassetclass +SELECT DISTINCT 'C6MartPeriodico.pl_d2_s163patrimoniofinanziariomassetclass' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS, RETE,COD_FISCALE) as decimal(19,6)) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS, RETE,COD_FISCALE) / + case SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE', RETE,COD_FISCALE) + when 0 then 1 + else SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE', RETE,COD_FISCALE) + end +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE', RETE,COD_FISCALE) as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + PATRTERZI.RETE as RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + PATRTERZI.RETE as RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + ) VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + -- GROUP BY COD_FISCALE, RETE, ASSETCLASS.ORDINAMENTO, ASSETCLASS.ID_ASSETCLASS, VALORIASSET.ID_ASSETCLASS, ASSETCLASS.DESCRIZIONE, VALORIASSET.CONTROVALORE +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S164PolizzeAltriIstituti +BEGIN +INSERT INTO WH.PL_D2_S164PolizzeAltriIstituti + SELECT 'C6MartPeriodico.PL_D2_S164PolizzeAltriIstituti' as ProcedureName, PATRTERZI.RETE as i_rete, PATRTERZI.COD_FISCALE as i_codiceFiscale, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S165FondiAltriIstituti +BEGIN + INSERT INTO WH.PL_D2_S165FondiAltriIstituti + SELECT 'C6MartPeriodico.PL_D2_S165FondiAltriIstituti' as ProcedureName, PATRTERZI.RETE as i_rete, PATRTERZI.COD_FISCALE as i_codiceFiscale, + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + -- GROUP BY + -- PATRTERZI.COD_FISCALE, PATRTERZI.RETE, PATRTERZI.intermediario, ANAGPRODTERZI.NOME_PRODOTTO, PATRTERZI.DATA_SOTTOSCRIZIONE, PATRTERZI.FREQ_RATA, + -- PATRTERZI.CTV, PATRTERZI.VERSATO_NETTO, RISCHIOPROD.VAR_PERC_PTF, RISCHIOPROD.COPERTURA, RISCHIOAGGR.VAR_PERC_PTF, RISCHIOAGGR.COPERTURA, + -- PATRTERZI.COD_PRODOTTO, RISCHIOAGGR.CREDITRISK +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S167DistribuzioneRischioCredito +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_D2_S167DistribuzioneRischioCredito + SELECT 'C6MartPeriodico.PL_D2_S167DistribuzioneRischioCredito' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +'Altri Istituti' AS INTERMEDIARIO, +--PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +--PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT 'C6MartPeriodico.PL_D2_S167DistribuzioneRischioCredito' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S168TabellaEmittenti +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_D2_S168TabellaEmittenti + SELECT 'C6MartPeriodico.PL_D2_S168TabellaEmittenti' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS, + RATING + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ + (select sum(ctv_prodotto) from + c6martperiodico.patrimonio_emittenti + where cod_fiscale = L.COD_FISCALE and rete = L.RETE + and ctv_prodotto > 0) + *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +--RATING as RATING +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +--RATING as RATING +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V +LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS, +RATING +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10 +--RATING +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END +------------------------------------------------------------------------- +-----------------------------------------------PL_S43DettaglioProdottiBF +BEGIN +SELECT COUNT(*) as TOTSELFLIQ, PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE + INTO #TOTSELFLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE + SELECT COUNT(*) as TOTLIQ, PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE + INTO #TOTLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE +INSERT INTO WH.PL_S43DettaglioProdottiBF +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT 'C6MartPeriodico.PL_S43DettaglioProdottiBF' as ProcedureName, PATRBF.RETE, PATRBF.COD_FISCALE , +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN TOTSELFLIQ = TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + --LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +left JOIN #TOTSELFLIQ t1 on t1.rete = PATRBF.RETE and t1.COD_FISCALE = PATRBF.COD_FISCALE +left JOIN #TOTLIQ t2 on t2.rete = PATRBF.RETE and t2.COD_FISCALE = PATRBF.COD_FISCALE +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_PROGETTO,nome_progetto, PATRBF.CTV DESC + drop table #TOTSELFLIQ +drop table #TOTLIQ +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S169RischiomercatoRischiocredito +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_D2_S169RischiomercatoRischiocredito + SELECT 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S170RischioDiversificazione +BEGIN +INSERT INTO WH.PL_D2_S170RischioDiversificazione + SELECT 'C6MartPeriodico.PL_D2_S170RischioDiversificazione' as ProcedureName, K.RETE as i_rete, K.COD_FISCALE as i_codiceFiscale, +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + when cod_Aggreg = 'COMPLESSIVO|TERZI' then (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + when cod_Aggreg = 'COMPLESSIVO' then (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN ((select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND (select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND (select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +------------------------- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi + --beneficio as diversificazione, +case +when cod_Aggreg = 'COMPLESSIVO' then null +when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio +when cod_Aggreg = 'COMPLESSIVO|TERZI' then null +END AS diversificazione, +-------------------------- fine modifica del 19/6/2018 +CASE + WHEN ((select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +ORDER BY ordine +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S171PatrimonioNonRappresentabileAssettClass +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + INSERT INTO WH.PL_D2_S171PatrimonioNonRappresentabileAssettClass + SELECT 'C6MartPeriodico.PL_D2_S171PatrimonioNonRappresentabileAssettClass' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + CASE PATRBF.RETE WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' end as Intermediario + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL +--INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <> 0.00 +--INIZIO INTERVENTI OMNIA + UNION ALL + SELECT 'C6MartPeriodico.PL_D2_S171PatrimonioNonRappresentabileAssettClass' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + CASE PATRBF.RETE WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' end as Intermediario + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO, + PATRBF.RETE, + PATRBF.COD_FISCALE + ORDER BY CONTROVALORE DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S137Bonus +BEGIN +INSERT INTO WH.PL_MP_S137Bonus + SELECT 'C6MartPeriodico.PL_MP_S137Bonus' as ProcedureName, [RETE] as i_rete, [COD_FISCALE] as i_codiceF, + [RETE], + bonus.[COD_FISCALE], + [DES_PROD] = CASE + WHEN desrc.descrizione is null THEN '' + ELSE desrc.descrizione + END, + bonus.[COD_CONF], + bonus.[CTV], + bonus.[DT_TRIM], + 'Bonus Maturato' as [DESBONUS_M], + bonus.[BONUS_M], + bonus.[DTDEC_M], + 'Bonus a scadenza 5 anni' as [DESBONUS_5], + bonus.[BONUS_5], + bonus.[DTDEC_5], + 'Bonus a scadenza 10 anni' as [DESBONUS_10], + bonus.[BONUS_10], + bonus.[DTDEC_10], + bonus.[COD_PROD] + FROM [C6MartPeriodico].[BONUS] bonus + Left Join c6martperiodico.descrizione_bonus desrc + on desrc.cod_prod = bonus.cod_prod +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S135MonitoraggioInvestimento +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_MP_S135MonitoraggioInvestimento + SELECT 'C6MartPeriodico.PL_MP_S135MonitoraggioInvestimento' as ProcedureName, [RETE] as i_rete, [COD_FISCALE] as i_codiceF, + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + UNION + SELECT 'C6MartPeriodico.PL_MP_S135MonitoraggioInvestimento' as ProcedureName, [RETE] as i_rete, [COD_FISCALE] as i_codiceF, + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S134MonitoraggioLiquidita +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- DECLARE @RendimNonRappr BIT +INSERT INTO WH.PL_MP_S134MonitoraggioLiquidita + SELECT 'C6MartPeriodico.PL_MP_S134MonitoraggioLiquidita' as ProcedureName, MONIT.RETE as i_rete, MONIT.COD_FISCALE as i_codiceF, + case when RENDIMNONRAPPR=1 then 1 else 0 end AS cf_rendim_non_rappr, + MONIT.id_Area AS Need_Area, + CASE + WHEN MONIT.NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(MONIT.NOME_PROGETTO)) + END AS Nome_Progetto, + monit.ordinamento_progetto, + dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, + CTV_MONITORATO AS ControvaloreMonitorato, + APPORTO_INIZIALE AS ApportoIniziale, + APPORTO_SUCCESSIVO AS ApportoSuccessivo, + LIQUIDAZIONI, + CEDOLE_DIVIDENDI AS CedoleEDividendi, + MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, + RENDIMENTO_CUMULATO AS Rendimento_Attuale, + RISORSE_ASSOCIATE AS RisorseApportate, + dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, + RENDIMENTO_ANNUALIZZATO + FROM + C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT + LEFT OUTER JOIN + ( + SELECT + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end as NOME_PROGETTO, + patr_bf.ordinamento_progetto, + 1 as RENDIMNONRAPPR + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + LEFT OUTER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + WHERE + PATR_BF.REND_NON_RAPPR = 1 + group by + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end, + patr_bf.ordinamento_progetto + ) PATR_BF + ON PATR_BF.COD_FISCALE=MONIT.COD_FISCALE + AND PATR_BF.RETE= MONIT.RETE + AND left(PATR_BF.ID_AREA,3)=left(MONIT.ID_AREA,3) + AND isnull(PATR_BF.NOME_PROGETTO,'XXX')=isnull(MONIT.NOME_PROGETTO,'XXX') + And monit.ordinamento_progetto=patr_bf.ordinamento_progetto +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S134BISMonitoraggioLiqInv +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_MP_S134BISMonitoraggioLiqInv + SELECT 'C6MartPeriodico.PL_MP_S134BISMonitoraggioLiqInv' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceF, + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + UNION + SELECT 'C6MartPeriodico.PL_MP_S134BISMonitoraggioLiqInv' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceF, + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S133BISPrincipaliProdotti +BEGIN +;with ata as +( +SELECT PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceF, + ANAGPROD.DESCR_PRODOTTO AS descrProdotto + ,PATRBF.CTV AS Controvalore + ,CASE + WHEN patrbf.tipo_prodotto = 'CC' THEN 0.00 + ELSE RISCHIO_PROD.VAR_PERC_PTF + END AS VaRprodotto + ,((CASE + WHEN ((PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100) is null then 0.00 + ELSE(PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100 + END) / (CASE + WHEN sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale'+PATRBF.RETE+PATRBF.COD_FISCALE) = 0 THEN 1 + ELSE sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale'+PATRBF.RETE+PATRBF.COD_FISCALE) + END))*100 as rischioRelativo + ,(PATRBF.CTV/(sum(PATRBF.CTV) over (partition by 'totale'+PATRBF.RETE+PATRBF.COD_FISCALE)))*100 AS pesoRelativo + ,PATRBF.ID_AREA AS codAreaBisogno + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO + INNER JOIN C6MartPeriodico.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.ordinamento_progetto as varchar),'') + '|' + WHEN LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END + + PATRBF.POSITION_ID + WHERE + PATRBF.CTV <>0 + AND PATRBF.ID_AREA <> 'Cc' + ), tot as + (select *, row_number() over (partition by i_rete, i_codiceF ORDER BY rischioRelativo DESC, Controvalore DESC) as pos + from ata + ) + INSERT INTO WH.PL_MP_S133BISPrincipaliProdotti + SELECT 'C6MartPeriodico.PL_MP_S133BISPrincipaliProdotti' as ProcedureName, i_rete, i_codiceF, descrProdotto, Controvalore, VaRprodotto, + rischioRelativo, pesoRelativo, codAreaBisogno from tot where pos <=10 +END +------------------------------------------------------------------------- +----[C6MartPeriodico].[PL_MP_S133AreeBisognoPrincProd] +BEGIN +INSERT INTO wh.[PL_MP_S133AreeBisognoPrincProd] +SELECT 'PL_MP_S133AreeBisognoPrincProd', [Rete] + ,[CodiceFiscale] + ,[NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] + order by ordinamento +END +------------------------------------------------------------------------- +------ [C6MartPeriodico].[PL_MP_S146RischioDiversificazione] +begin + select count(*) as contaCC, cod_fiscale, rete + into #contaCC + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' + group by cod_fiscale, rete + select count(*) as contaPOS, cod_fiscale, rete + into #contaPOS + from c6martperiodico.patrimonio_Bf + group by cod_fiscale, rete +INSERT INTO wh.PL_MP_S146RischioDiversificazione +SELECT 'PL_MP_S146RischioDiversificazione',K.RETE, K.COD_FISCALE, +K.COD_FISCALE, +K.RETE, +CASE + WHEN (contaPOS - contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND contaPOS - contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND contaPOS - contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (contaPOS - contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +left join #contaCC cc on K.COD_FISCALE = cc.COD_FISCALE and K.RETE = cc.rete +left join #contaPOS pos on K.COD_FISCALE = pos.COD_FISCALE and K.RETE = pos.rete +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +ORDER BY Ordine +END +------------------------------------------------------------------------- +---------[C6MartPeriodico].[PL_MP_S141AnalisiRisparmioTable] +begin +select sum(ctv_prodotto) as patr_compl, rete, cod_fiscale +into #patr_compl +from c6martperiodico.patrimonio_emittenti +where ctv_prodotto > 0 +group by rete, cod_fiscale +INSERT INTO wh.PL_MP_S141AnalisiRisparmioTable +SELECT 'PL_MP_S141AnalisiRisparmioTable',RETE, COD_FISCALE, + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +FROM ( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + --RATING AS RATING, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, +--EN 26012016: solo se per un emittente nessun prodotto riporta nessuna copertura +-- viene impostato nc=1 (non classificato) e si assume che nessuna riskclass +-- sia valorizzato. +-- sum(case when copertura > 0 then 0 else 1 end) as nc + min(case when copertura > 0 then 0 else 1 end) as nc + FROM + (SELECT --Y.* + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + --RATING AS RATING, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + RATING, + CREDITRISKCLASS + ) Y + GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +------COMPLESSIVO + SELECT + l.COD_FISCALE, + l.RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(p.patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, +--EN 26012016 +-- sum(case when copertura > 0 then 0 else 1 end) as nc + min(case when copertura > 0 then 0 else 1 end) as nc +FROM +( +SELECT --L.* + y.COD_FISCALE, + y.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER, + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , + SUM(COPERTURA) AS COPERTURA +FROM +( + SELECT --V.* + V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + RATING, + INTERMEDIARIO, + CREDITRISKCLASS + ) Y +GROUP BY + y.COD_FISCALE, + y.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10 +) L + inner join #patr_compl p on p.rete = l.rete and p.cod_fiscale = l.cod_fiscale +GROUP BY + l. COD_FISCALE, + l.RETE, + INTERMEDIARIO, + EMITTENTE +) U + ORDER BY U.CONCENTRATION DESC +END +------------------------------------------------------------------------- +------[C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts] +BEGIN +--QUERY PER INTERMEDIARIO +INSERT INTO wh.PL_MP_S140AnalisiRisparmioCharts +SELECT 'PL_MP_S140AnalisiRisparmioCharts', RETE, COD_FISCALE, *FROM +( +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS ctv +--FINE INTERVENTI OMNIA +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +--INIZIO INTERVENTI OMNIA +---Per calcolare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine calcolo somma self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS CTV +--FINE INTERVENTI OMNIA +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +--INIZIO INTERVENTI OMNIA +--per fare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine somma Self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +)X +END +------------------------------------------------------------------------- +----- [C6MartPeriodico].[PL_MP_S137BISCapitaleProtetto] + begin + INSERT INTO wh.PL_MP_S137BISCapitaleProtetto + SELECT 'PL_MP_S137BISCapitaleProtetto', RETE + ,CODFIS + ,DES_PROD + ,COD_CONF + ,QUOTA + ,NUMEROQUOTE + ,CONTROVALORE + ,DATARIF + ,DES_MAX + ,QUOTA_MAX + ,QUOTA_MAX_PERC + ,DATARIF_MAX + ,DES_PROT + ,QUOTA_PROT + ,NUMEROQUOTE_PROT + ,CONTROVALORE_PROT + ,DES_PROD_TIT -- Aggiunta per E-FOI80 + FROM C6MartPeriodico.CAPPROT + WHERE 1=1 +END +------------------------------------------------------------------------- +------------ [C6MartPeriodico].[PL_S43ContoCorrenteBF] +BEGIN + INSERT INTO wh.PL_S43ContoCorrenteBF + SELECT 'PL_S43ContoCorrenteBF', ANAG_CC.rete, ANAG_CC.cod_fiscale, + dbo.ToShortDateString(ANAG_CC.DATA_APERTURA) AS datadiSottoscrizione, + ANAG_CC.COD_CC AS conto, + cast(ANAG_CC.SALDOCONTABILE as decimal(15,2)) as Controvalore, + cast(ANAG_CC.SALDODISPONIBILE as decimal(15,2)) as SALDO_DISPONIBILE, + null as creditrisk , + 'n.a.' as creditriskstring, + 0 as var, + null as varString, + 0 as totaleVar, + null as totaleVarString + FROM + C6MartPeriodico.ANAG_CC + WHERE + ANAG_CC.SALDOCONTABILE < 0 + ORDER BY + ANAG_CC.SALDOCONTABILE DESC +END +------------------------------------------------------------------------- +------[C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] +BEGIN + SELECT COUNT(*) as TOTSELFLIQ, PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + into #TOTSELFLIQ1 + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + SELECT COUNT(*) as TOTLIQ, PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + into #PATRIMONIO_BF + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + INSERT INTO wh.[PL_S43BISDettaglioProdottiBF] +SELECT 'PL_S43BISDettaglioProdottiBF', PATRBF.RETE, PATRBF.COD_FISCALE, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +ISNULL(PATRBF.ORDINAMENTO_PROGETTO,-1111) , +--Bido +SUM(PATRBF.CTV ) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN TOTSELFLIQ = TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --V THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +--TRINGALI + CASE + WHEN (ISNULL(RISCHIO_AGGR_PROG.copertura,100) < 100) + --v THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_need_progString, + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.id_area='liq' + and (patrbf.tipo_prodotto='CC' + or patrbf.isin in('EURO00000009', 'EURO10000007'))) + then dbo.TOSHORTDATESTRING(C6MartPeriodico.getTrimestre2(getdate(),0)) +--FINE INTERVENTI OMNIA + else +--disasteriscare + --dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) +--cancellare inizio + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.chiave_progetto = '2205396' + and patrbf.tipo_prodotto = 'FI') + then '26/06/2014' + else + dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) + end +--cancellare fine + end AS dataAssociazione, -- CAMBIATA TRINGALI--marianna, cambiata per i cc senza data di associazione +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.VERSATO_NETTO_DA_ASSOC,0) end AS VersatoNetto, +CASE WHEN (MONIT.VERSATO_NETTO_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as VersatoNettoString, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.UTILE_PERDITA_DA_ASSOC,0) END AS MinusPlusValenza, +CASE WHEN (MONIT.UTILE_PERDITA_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in ('EURO00000009', 'EURO10000007' )THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_PROD.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK is null THEN 'n.a.' + ELSE NULL + END as creditriskstring, +-- CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + -- LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) +LEFT JOIN #PATRIMONIO_BF bf on bf.rete = PATRBF.rete and bf.cod_fiscale = PATRBF.cod_fiscale +LEFT JOIN #TOTSELFLIQ1 tot on tot.rete = PATRBF.rete and tot.cod_fiscale = PATRBF.cod_fiscale +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +--MODIFICA TRINGALI PER PRENDERE DETTAGLIO MONITORAGGIO +C6MartPeriodico.MONITORAGGIO_DETTAGLIO MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + --AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + and PATRBF.POSITION_ID=MONIT.POSITION_ID + --AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONATT +ON + PATRBF.RETE = MONATT.RETE + AND PATRBF.COD_FISCALE = MONATT.COD_FISCALE + AND + (PATRBF.ID_AREA=(CASE WHEN MONATT.ID_AREA='Exr' THEN 'Ext' ELSE MONATT.ID_AREA END) AND PATRBF.ID_AREA <> 'INV' + OR + PATRBF.ID_AREA = 'INV' AND PATRBF.ID_AREA = MONATT.ID_AREA AND PATRBF.ORDINAMENTO_PROGETTO = MONATT.ORDINAMENTO_PROGETTO + ) +--blocchiamo il monitoraggio per i progetti a ctv=0 + --And ctv_monitorato>0 +WHERE 1 = 1 + AND ( PATRBF.CTV <> 0 + --E-DEFAULT4 per gestire l'esposizione dei prodotti con ctv = 0 delle banche in default - 18/1/2016 + or (PATRBF.tipo_prodotto = 'DT' and + PATRBF.cod_interno in ('08558830','08594680','04880930','04867780','03972990', + '04281500','04539780','04657780','04966850','04119400','04931400', + '04556320', + '04119600','04291890','04064530' +))) + --fine E-DEFAULT4 +ORDER BY + AREASORTORDER, PATRBF.NOME_PROGETTO, PATRBF.CTV DESC -- modifica TRINGALI +drop table #PATRIMONIO_BF +END +------------------------------------------------------------------------- +------ [C6MartPeriodico].[PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento] +BEGIN + INSERT INTO wh.PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento + SELECT 'PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento', PATR_BF.RETE, + PATR_BF.COD_FISCALE, + PATR_BF.ID_AREA AS Need_Area, + PATR_BF.ID_CONTRATTO AS Contratto, + CASE + WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA + ELSE ltrim(rtrim(PATR_BF.NOME_PROGETTO)) + END AS Area_O_Nome_Progetto, + --PRODOTTI.DESCR_PRODOTTO AS Descrizione, + CASE WHEN PATR_BF.TIPO_PRODOTTO <> 'CC' THEN PRODOTTI.DESCR_PRODOTTO + ELSE PRODOTTI.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATR_BF.PARTVIA_DISINV AS PartitaViaggiante, + SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.RETE, + PATR_BF.COD_FISCALE,PATR_BF.POSITION_ID) AS Controvalore, + dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI AS PRODOTTI ON + PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO + --V La sezione deve uscire soltanto per aree monitorate + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE M ON + PATR_BF.RETE = M.RETE AND PATR_BF.COD_FISCALE = M.COD_FISCALE + AND( + (PATR_BF.ID_AREA = M.ID_AREA AND PATR_BF.ID_AREA <> 'INV') + OR + (PATR_BF.ID_AREA = 'INV' AND PATR_BF.ID_AREA = M.ID_AREA AND PATR_BF.ORDINAMENTO_PROGETTO = M.ORDINAMENTO_PROGETTO) + ) + LEFT OUTER JOIN C6MartPeriodico.ANAG_CC ON + ANAG_CC.COD_FISCALE = PATR_BF.COD_FISCALE + AND ANAG_CC.RETE = PATR_BF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATR_BF.position_id,72,9) + WHERE + PATR_BF.REND_NON_RAPPR = 1 + ORDER BY + Area_O_Nome_Progetto +END +------------------------------------------------------------------------- +----- [C6MartPeriodico].[PL_S82BisDatiSintetici] +BEGIN + INSERT INTO wh.PL_S82BisDatiSintetici + SELECT DISTINCT 'PL_S82BisDatiSintetici', + BF.RETE, + BF.COD_FISCALE, + BF.ORDINAMENTO_PROGETTO, + 'Inv' AS need_area, + ltrim(rtrim(ISNULL(PIRMOD.NOME_PROGETTO,BF.NOME_PROGETTO))) AS NOME_PROGETTO, + ISNULL(RA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RA.COPERTURA IS NULL THEN 'n.c.' + WHEN RA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RA.COPERTURA IS NULL THEN 'n.c.' + WHEN RA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PIRMOD.ORIZZ_TEMP AS orizzonte_Pianificato, + C6MartPeriodico.getDescFromDate(DATEDIFF(m,C6MartPeriodico.getTrimestre(GETDATE(),0),(DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM,PIRMOD.DATA_PIANIF)) )) AS durataResidua, + SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO, bf.ordinamento_progetto) AS ControvaloreAttuale + FROM + C6MartPeriodico.PATRIMONIO_BF AS BF + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON BF.RETE = RA.RETE + AND BF.COD_FISCALE = RA.COD_FISCALE + --V AND RA.COD_AGGREG = 'PIRAMIDE|Inv' + AND RA.COD_AGGREG = 'RISFIN|PIRAMIDE|Inv|'+ BF.NOME_PROGETTO + '|' + cast(bf.ordinamento_progetto as varchar) + -- + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD + ON BF.RETE = PIRMOD.RETE + AND BF.COD_FISCALE = PIRMOD.COD_FISCALE + --AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + AND BF.ORDINAMENTO_PROGETTO = PIRMOD.ORDINAMENTO_PROGETTO + AND PIRMOD.ID_AREA = 'Inv' + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS BFAggr + ON BF.RETE = BFAggr.RETE + AND BF.COD_FISCALE = BFAggr.COD_FISCALE + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE AS MONIT + ON BF.RETE = MONIT.RETE + AND BF.COD_FISCALE = MONIT.COD_FISCALE + AND BF.ID_AREA = MONIT.ID_AREA + AND BF.NOME_PROGETTO = MONIT.NOME_PROGETTO + AND BF.ORDINAMENTO_PROGETTO = MONIT.ORDINAMENTO_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'Inv' + END + --AND BF.ORDINAMENTO_PROGETTO=1521667 +------------------------------------------------------------------------- +----- [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] +begin +INSERT INTO wh.PL_S76AlternativaPatrimonioNonRappresentabileAssettClass +SELECT 'PL_S76AlternativaPatrimonioNonRappresentabileAssettClass', * FROM +( + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + case when PATRBF.RETE = 'F' then 'Fideuram' else 'Sanpaolo Invest' end as Intermediario + --patrbf.ordinamento_progetto + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + AND PATRBF.CTV <> 0.00 +UNION ALL +SELECT PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + sum(ASUL.CTV) as Controvalore, + sum(ASUL.CTV) as controvalore_contratto, + Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + case when PATRBF.RETE = 'F' then 'Fideuram' else 'Sanpaolo Invest' end as Intermediario + --patrbf.ordinamento_progetto + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN + C6MartPeriodico.DETTAGLIO_ASUL ASUL + ON + PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + left JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + ASSETPERC.COD_PRODOTTO IS NULL + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, PATRBF.ID_CONTRATTO, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end, + PATRBF.NOME_PROGETTO, + patrbf.chiave_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE), + ANAGP.DESCR_PRODOTTO + )XX +END +------------------------------------------------------------------------- +------------------------------- [C6MartPeriodico].[PL_D_S170RischioDiversificazione] +BEGIN + select count(*) as contaCC, cod_fiscale, rete + into #contaCCC + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' + group by cod_fiscale, rete + select count(*) as contaPOS, cod_fiscale, rete + into #contaPOSS + from c6martperiodico.patrimonio_Bf + group by cod_fiscale, rete + SELECT isnull(sum(ctv),0) as ctvbf, cod_fiscale, rete + INTO #ctvbf + FROM c6martperiodico.patrimonio_bf + where CTV > 0 + group by cod_fiscale, rete + SELECT isnull(sum(ctv),0) as ctvterzi, cod_fiscale, rete + INTO #ctvterzi + FROM c6martperiodico.patrimonio_terzi + where CTV > 0 + group by cod_fiscale, rete + INSERT INTO wh.PL_D_S170RischioDiversificazione +SELECT 'PL_D_S170RischioDiversificazione',K.RETE,K.COD_FISCALE, +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then COALESCE(ctvbf,0) + when cod_Aggreg = 'COMPLESSIVO|TERZI' then COALESCE(ctvterzi,0) + when cod_Aggreg = 'COMPLESSIVO' then COALESCE(ctvbf,0) + COALESCE(ctvterzi,0) + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN (COALESCE(contaPOS,0) - COALESCE(contacc,0) = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND COALESCE(contaPOS,0) - COALESCE(contacc,0) <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND COALESCE(contaPOS,0) - COALESCE(contacc,0) <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (contaPOS - contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +full outer join #contaCCC cc on k.COD_FISCALE = cc.cod_fiscale and k.Rete = cc.rete +full outer join #contaPOSS pos on k.COD_FISCALE = pos.cod_fiscale and k.Rete = pos.rete +full outer join #ctvbf bf on k.COD_FISCALE = bf.cod_fiscale and k.Rete = bf.rete +full outer join #ctvterzi terzi on k.COD_FISCALE = terzi.cod_fiscale and k.Rete = terzi.rete +WHERE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +ORDER BY ordine +END +------------------------------------------------------------------------- +----------------------------------[C6MartPeriodico].[PL_S96RischiomercatoRischiocredito] +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + truncate table wh.PL_S96RischiomercatoRischiocredito + INSERT INTO wh.PL_S96RischiomercatoRischiocredito + SELECT 'PL_S96RischiomercatoRischiocredito', RETE, COD_FISCALE, * + FROM ( + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + -- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + )X + order by ordine + END +------------------------------------------------------------------------- +-------------------- [C6MartPeriodico].[PL_S80Alternativa] +BEGIN + SELECT COUNT(*) as MONIT_ATTIV, RETE, COD_FISCALE + into #aa2 + FROM C6MARTPERIODICO.MONITORAGGIO_ATTUALE + GROUP BY RETE, COD_FISCALE + SELECT COUNT(*) as MONIT_INIT, RETE, COD_FISCALE + into #ab2 + FROM C6MARTPERIODICO.MONITORAGGIO_INIZIALE + GROUP BY RETE, COD_FISCALE + select a.RETE, a.COD_FISCALE + into #pos2 + from #aa2 a inner join #ab2 b on a.rete = b.rete and a.COD_FISCALE = b.COD_FISCALE + INSERT INTO wh.PL_S80Alternativa + SELECT 'PL_S80Alternativa' as ProcedureName, v.RETE as i_rete, v.Cod_Fiscale as i_codiceFiscale, v.[RETE] + ,v.[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] v + inner join #pos2 p on p.rete = v.rete and p.Cod_Fiscale = v.Cod_Fiscale +END +---------------------------------------------- +--maledetti +begin +truncate table wh.Maledetti +insert into wh.Maledetti --70 minutes +( +[i_CodiceFiscale] + ,[i_Rete] + ,[Rete] + ,[NomeRete] + ,[Agente] + ,[CognomeAgente] + ,[NomeAgente] + ,[IndirizzoAgente] + ,[CapAgente] + ,[CittaAgente] + ,[TelefonoAgente] + ,[CodiceFiscale] + ,[CognomeCliente] + ,[NomeCliente] + ,[ProfiloIsAct] + ,[PatrimonioNonRappresentabile] + ,[PartiteViaggiantiDisinv] + ,[PartiteViaggiantiInv] + ,[ContoCorrente] + ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,[RisorseNonAssociate] + ,[Patrimonioaltroctv] + ,[Patrimonioimmobiliarectv] + ,[PatrimonioTerzictv] + ,[PatrimonioTerziCtvAlNettoContoCorrente] + ,[PatrimonioTerziContoCorrente] + ,[Patrimoniobancafideuramctv] + ,[Patrimoniocomplessivototalectv] + ,[NumeroIntermediari] + ,[CodiceContratto] + ,[tip_contratto] + ,[contrattoold] + ,[NoMonitoraggio] + ,[descrizioneDiagnosi] + ,[idModelloDiagnosi] + ,[idReportDiagnosi] + ,[descrizioneMonitoraggio] + ,[idReportMonitoraggio] + ,[idModelloMonitoraggio] + ,[AdesioneSuccessivaAvanzato] + ,[VaRRisorseNonAssociate] + ,[CoperturaRisorseNonAssociate] + ,[VaRTotaleRisorseFinanziarie] + ,[CoperturaTotaleRisorseFinanziarie] + ,[IdReportPDFDiagnosi] + ,[IdReportPDFMonitoraggio] + ,scaduto + ) +SELECT + DISTINCT + contratti.Cod_Fiscale as i_CodiceFiscale + ,contratti.Rete as i_Rete + --DATI COMUNI + --RETE + ,contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,ISNULL(monit.NoMonitoraggio, 1) AS NoMonitoraggio --fix 20161012 + ,'Diagnosi' as descrizioneDiagnosi + ,CASE + WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 5 + ELSE -1 + END AS idModelloDiagnosi + ,CASE + WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 1 + ELSE -1 + END AS idReportDiagnosi + ,'Monitoraggio' as descrizioneMonitoraggio + ,4 as idReportMonitoraggio--4 + ,CASE isnull(tip_contratto,0) + WHEN 0 THEN 12--12 + WHEN 1 THEN 12--12 + WHEN 2 THEN 13--13 + END AS idModelloMonitoraggio + --************************************************* + ,0 AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFMonitoraggio + ,mifid.scaduto + FROM [C6MartPeriodico].contrattoSEI contratti + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + --65992 + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + -- 64864 + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --modificata da Valerio 12 marzo 2012 + --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + --64864 + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + --64864 + left join ( + select distinct monit.rete, monit.cod_fiscale, + case when isnull(monitInit.data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) then 1 + when monitReport.cod_fiscale is null then 1 else 0 end as NoMonitoraggio + from c6martperiodico.monitoraggio_attuale monit + left join c6martperiodico.monitoraggio_iniziale monitInit on monit.rete = monitInit.rete and monit.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport on monit.rete = monitReport.rete and monit.cod_fiscale = monitReport.cod_fiscale + ) monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + WHERE 1=1 + --144104 + end +------------------------------------------------------------------------- +END \ No newline at end of file diff --git a/sql/storedProduzione/wh_MERGED_PROCEDURE_NUOVA.sql b/sql/storedProduzione/wh_MERGED_PROCEDURE_NUOVA.sql new file mode 100644 index 00000000..39e31849 --- /dev/null +++ b/sql/storedProduzione/wh_MERGED_PROCEDURE_NUOVA.sql @@ -0,0 +1,305 @@ +CREATE procedure [wh].[MERGED_PROCEDURE_NUOVA] +AS +BEGIN + SET NOCOUNT ON; +--------------------------------------------------------------------- +truncate table wh.pl_s85rendimentoportafogliocono +truncate table wh.pl_areemonitorate +truncate table wh.pl_s43lineaselfbf +truncate table wh.pl_s10patrimoniofinanziario +truncate table wh.pl_prodotti_non_associati_area_inv +truncate table wh.pl_d2_s151profilodirischio +truncate table wh.pl_d2_s152patrimonio +truncate table wh.pl_d2_s153patrimoniofinanziario +truncate table wh.pl_d2_s154patrimoniofinanziario +truncate table wh.pl_d2_s155patrimonioimmobiliare +truncate table wh.pl_d2_s156altropatrimonio +truncate table wh.pl_d2_s157confrontopiramidi +truncate table wh.pl_d2_s158piramidemodello +truncate table wh.pl_d2_s159patrimoniofinanziario +truncate table wh.pl_d2_s160dettaglioprodottibf +truncate table wh.pl_d2_s162dettaglioprodotti +truncate table wh.pl_d2_s163patrimoniofinanziariomassetclass +truncate table wh.pl_d2_s164polizzealtriistituti +truncate table wh.pl_d2_s165fondialtriistituti +truncate table wh.pl_d2_s167distribuzionerischiocredito +truncate table wh.pl_d2_s168tabellaemittenti +truncate table wh.pl_s43dettaglioprodottibf +truncate table wh.PL_D2_S169RischiomercatoRischiocredito +truncate table wh.pl_d2_s170rischiodiversificazione +truncate table wh.pl_d2_s171patrimoniononrappresentabileassettclass +truncate table wh.pl_mp_s137bonus +truncate table wh.pl_mp_s135monitoraggioinvestimento +truncate table wh.pl_mp_s134monitoraggioliquidita +truncate table wh.pl_mp_s134bismonitoraggioliqinv +truncate table wh.pl_mp_s133bisprincipaliprodotti +truncate table wh.pl_mp_s133areebisognoprincprod +truncate table wh.pl_mp_s146rischiodiversificazione +truncate table wh.pl_mp_s141analisirisparmiotable +truncate table wh.pl_mp_s140analisirisparmiocharts +truncate table wh.pl_mp_s137biscapitaleprotetto +truncate table wh.pl_s43contocorrentebf +truncate table wh.pl_s43bisdettaglioprodottibf +truncate table wh.pl_s88patrimoniononconsideratonelcalcolodelrendimento +truncate table wh.pl_s82datisintetici +truncate table wh.pl_s82bisdatisintetici +truncate table wh.pl_s76alternativapatrimoniononrappresentabileassettclass +truncate table wh.pl_s80alternativa +truncate table wh.pl_s96rischiomercatorischiocredito +truncate table wh.pl_d2_s170rischiodiversificazione +truncate table wh.PL_D_S178IndicatoriEsitoAdeguatezza +------------------------------------------------------------------------ +---------------------------------------------PL_S85RendimentoPortafoglioCono + BEGIN + exec wh.MERGED_PROCEDURE_S85 + END +--------------------------------------------------------------------------- +---------------------------------------------PL_S43LineaSelfBF + BEGIN + exec wh.MERGED_PROCEDURE_S43 + END +--------------------------------------------------------------------------- +---------------------------------------------PL_S10PatrimonioFinanziario + BEGIN + exec [wh].[MERGED_PROCEDURE_S10] + END +--------------------------------------------------------------------------- +---------------------------------------------PL_Prodotti_Non_Associati_Area_Inv + BEGIN + exec [wh].[MERGED_PROCEDURE_PL_Prodotti_Non_Associati_Area_Inv] + END +--------------------------------------------------------------------------- +---------------------------------------------PL_D3_S151ProfiloDiRischio + BEGIN + exec [wh].[MERGED_PROCEDURE_S151] + END +--------------------------------------------------------------------------- +---------------------------------------------PL_D2_S169RischiomercatoRischiocredito + BEGIN + exec wh.MERGED_PROCEDURE_S169 + END +--------------------------------------------------------------------------- +---------------------------------------------PL_D2_S170RischioDiversificazione + BEGIN + exec wh.MERGED_PROCEDURE_S170 + END +--------------------------------------------------------------------------- +---------------------------------------------PL_D_S178IndicatoriEsitoAdeguatezza: 8:24 min + BEGIN + exec wh.MERGED_PROCEDURE_S178 + END +--------------------------------------------------------------------------- +---------------------------------------------Maledetti + begin + truncate table wh.Maledetti + insert into wh.Maledetti --70 minutes + ( [i_CodiceFiscale] + ,[i_Rete] + ,[Rete] + ,[NomeRete] + ,[Agente] + ,[CognomeAgente] + ,[NomeAgente] + ,[IndirizzoAgente] + ,[CapAgente] + ,[CittaAgente] + ,[TelefonoAgente] + ,[CodiceFiscale] + ,[CognomeCliente] + ,[NomeCliente] + ,[ProfiloIsAct] + ,[PatrimonioNonRappresentabile] + ,[PartiteViaggiantiDisinv] + ,[PartiteViaggiantiInv] + ,[ContoCorrente] + ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,[RisorseNonAssociate] + ,[Patrimonioaltroctv] + ,[Patrimonioimmobiliarectv] + ,[PatrimonioTerzictv] + ,[PatrimonioTerziCtvAlNettoContoCorrente] + ,[PatrimonioTerziContoCorrente] + ,[Patrimoniobancafideuramctv] + ,[Patrimoniocomplessivototalectv] + ,[NumeroIntermediari] + ,[CodiceContratto] + ,[tip_contratto] + ,[contrattoold] + ,[NoMonitoraggio] + ,[descrizioneDiagnosi] + ,[idModelloDiagnosi] + ,[idReportDiagnosi] + ,[descrizioneMonitoraggio] + ,[idReportMonitoraggio] + ,[idModelloMonitoraggio] + ,[AdesioneSuccessivaAvanzato] + ,[VaRRisorseNonAssociate] + ,[CoperturaRisorseNonAssociate] + ,[VaRTotaleRisorseFinanziarie] + ,[CoperturaTotaleRisorseFinanziarie] + ,[IdReportPDFDiagnosi] + ,[IdReportPDFMonitoraggio] + ,scaduto + ) + select distinct + contratti.Cod_Fiscale as i_CodiceFiscale + ,contratti.Rete as i_Rete + --DATI COMUNI + --RETE + ,contratti.Rete + ,CASE + WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' + ELSE 'Sanpaolo Invest' + END AS NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) + WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') + ELSE '' + END) AS CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) + WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') + ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE + WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 + ELSE 1 + END AS ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,ISNULL(monit.NoMonitoraggio, 1) AS NoMonitoraggio --fix 20161012 + ,'Diagnosi' as descrizioneDiagnosi + ,CASE + WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 5 + ELSE -1 + END AS idModelloDiagnosi + ,CASE + WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 1 + ELSE -1 + END AS idReportDiagnosi + ,'Monitoraggio' as descrizioneMonitoraggio + ,4 as idReportMonitoraggio--4 + ,CASE isnull(tip_contratto,0) + WHEN 0 THEN 12--12 + WHEN 1 THEN 12--12 + WHEN 2 THEN 13--13 + END AS idModelloMonitoraggio + --************************************************* + ,0 AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie + ,isnull((SELECT max(idReport) + FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' + AND ftp.codicefiscale = contratti.cod_fiscale + AND ftp.rete = contratti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) + FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'M' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFMonitoraggio + ,mifid.scaduto + FROM [C6MartPeriodico].contrattoSEI contratti + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + --65992 + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + -- 64864 + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --modificata da Valerio 12 marzo 2012 + --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + --64864 + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + --64864 + left join ( + select distinct monit.rete, monit.cod_fiscale, + case when isnull(monitInit.data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) then 1 + when monitReport.cod_fiscale is null then 1 else 0 end as NoMonitoraggio + from c6martperiodico.monitoraggio_attuale monit + left join c6martperiodico.monitoraggio_iniziale monitInit on monit.rete = monitInit.rete and monit.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport on monit.rete = monitReport.rete and monit.cod_fiscale = monitReport.cod_fiscale + ) monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + WHERE 1=1 + --144104 + end +------------------------------------------------------------------------- +END \ No newline at end of file diff --git a/sql/storedProduzione/wh_MERGED_PROCEDURE_PL_Prodotti_Non_Associati_Area_Inv.sql b/sql/storedProduzione/wh_MERGED_PROCEDURE_PL_Prodotti_Non_Associati_Area_Inv.sql new file mode 100644 index 00000000..2bae519b --- /dev/null +++ b/sql/storedProduzione/wh_MERGED_PROCEDURE_PL_Prodotti_Non_Associati_Area_Inv.sql @@ -0,0 +1,41 @@ +CREATE procedure [wh].[MERGED_PROCEDURE_PL_Prodotti_Non_Associati_Area_Inv] +AS +BEGIN + SET NOCOUNT ON; + INSERT INTO WH.PL_Prodotti_Non_Associati_Area_Inv + SELECT 'C6MartPeriodico.PL_Prodotti_Non_Associati_Area_Inv' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.RETE, + PATRBF.COD_FISCALE, + ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') AS NOME_PROGETTO, + ID_AREA as NEED_AREA, + SUM(CTV) AS CONTROVALOREATTUALE, + MAX(ISNULL(RISK.VAR_PERC_PTF,0)) AS var_needarea, + --PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + LEFT OUTER JOIN + C6MARTPERIODICO.RISCHIO_AGGREGATO RISK + ON PATRBF.RETE = RISK.RETE + AND PATRBF.COD_FISCALE = RISK.COD_FISCALE + AND RISK.COD_AGGREG = 'PIRAMIDE|Inv|'+ ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') + WHERE 1 = 1 + AND PATRBF.id_AREA = 'Inv' + AND PATRBF.NOME_PROGETTO='Prodotti non associati a progetti' + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti'), + ID_AREA, + CHIAVE_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END +END \ No newline at end of file diff --git a/sql/storedProduzione/wh_MERGED_PROCEDURE_S10.sql b/sql/storedProduzione/wh_MERGED_PROCEDURE_S10.sql new file mode 100644 index 00000000..50aa4846 --- /dev/null +++ b/sql/storedProduzione/wh_MERGED_PROCEDURE_S10.sql @@ -0,0 +1,16 @@ +CREATE procedure [wh].[MERGED_PROCEDURE_S10] +AS +BEGIN + SET NOCOUNT ON; + INSERT INTO WH.PL_S10PatrimonioFinanziario + SELECT 'C6MartPeriodico.PL_S10PatrimonioFinanziario' as ProcedureName, [Rete] as i_rete ,[CodiceFiscale] as i_codiceFiscale, + [Banca] + ,[Ordinamento] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6MartPeriodico].[tb_S10PatrimonioFinanziario] + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedProduzione/wh_MERGED_PROCEDURE_S151.sql b/sql/storedProduzione/wh_MERGED_PROCEDURE_S151.sql new file mode 100644 index 00000000..f7ef0113 --- /dev/null +++ b/sql/storedProduzione/wh_MERGED_PROCEDURE_S151.sql @@ -0,0 +1,53 @@ +CREATE procedure [wh].[MERGED_PROCEDURE_S151] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @DataFineTrim decimal(9, 0) + select @DataFineTrim = max(dtTrim) from [C6StagingPeriodico].[WSEIAN2] + create table #WSEIAN (rete varchar(1), CodiceFiscale varchar(20), dtfinval decimal(9, 0)) + --drop table #WSEIAN + insert into #WSEIAN + select rete, 'FF@' + CODMAN as CodiceFiscale, dtfinval + from [C6StagingPeriodico].[WSEIAN2] + where DTTRIM = @DataFineTrim + and isnull(codman, '') <> '' + union + select rete, CodFis as CodiceFiscale, dtfinval + from [C6StagingPeriodico].[WSEIAN2] + where DTTRIM = @DataFineTrim + and isnull(codman, '') = '' + INSERT into wh.PL_D3_S151ProfiloDiRischio + SELECT 'C6MartPeriodico.PL_D3_S151ProfiloDiRischio' as ProcedureName, M.rete as i_rete, M.COD_FISCALE as i_codiceFiscale, + M.PROFILO_ASS as codiceProfilo, + DBO.TOSHORTDATESTRING (M.DATA_INIZIO_VAL) as dataInizioValidita, + case + when #WSEIAN.dtfinval <> 0 and #WSEIAN.dtfinval is not null and ltrim(rtrim(#WSEIAN.dtfinval)) <> '' + then CONVERT(datetime, CONVERT(varchar,CONVERT(int, #WSEIAN.dtfinval)), 0) + else null + end as dataScadenzaProfilo, + CR.MAX_VAR as varMassimo, + ProfiliDiRischio.NOMEPROFILO as nomeProfilo, + ProfiliDiRischio.DescrizioneProfilo as descrizioneProfilo, + m.riskclass, + m.experience as experince, + case m.experience + when 0 then '-' + when 1 then 'Minima' + when 2 then 'Bassa' + when 3 then 'Media' + when 4 then 'Alta' + when 5 then 'Molto alta' + else '-' + end as descrizioneEsperienza + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + inner join #WSEIAN + on M.Rete = #WSEIAN.rete + and M.COD_FISCALE = #WSEIAN.CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedProduzione/wh_MERGED_PROCEDURE_S169.sql b/sql/storedProduzione/wh_MERGED_PROCEDURE_S169.sql new file mode 100644 index 00000000..fc01c3c4 --- /dev/null +++ b/sql/storedProduzione/wh_MERGED_PROCEDURE_S169.sql @@ -0,0 +1,223 @@ +CREATE procedure [wh].[MERGED_PROCEDURE_S169] +AS +BEGIN + SET NOCOUNT ON; + -- QUERY PATRIMONIO CASA E PATRIMONIO TERZI + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, + NULL AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE + WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) * 100, 2) AS PERCENTAGE, + ORDINE, + RISK_AGG.Ully_perc + into #appo + from + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + case + when PATRBF.RETE = 'F' then 'Patrimonio Fideuram' + else 'Patrimonio Sanpaolo Invest' + end AS INSTITUTENAME, + sum(PATRBF.CTV) as CTV, + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF, + C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.CTV > 0 + and RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' + group by + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + case + when PATRBF.RETE = 'F' then 'Patrimonio Fideuram' + else 'Patrimonio Sanpaolo Invest' + end + union + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.PATRIMONIO_TERZI TERZI, + C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.CTV > 0 + and RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + group by + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN c6martperiodico.MIFID AS M + ON PATRBF.COD_FISCALE = M.COD_FISCALE + AND PATRBF.RETE = M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN c6martperiodico.CODIFICA_CREDITRISK CK + ON M.riskclass = CK.PROFILO + LEFT OUTER JOIN c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + AND PATRBF.RETE = RISK_AGG.RETE + AND (case + when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE = 'F' then 'Patrimonio Fideuram' + when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE = 'S' then 'Patrimonio Sanpaolo Invest' + else 'Patrimonio altri Istituti' + end) = PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + -- FINE QUERY PER PATRIMONIO CASA E PATRIMONIO TERZI + -- SEPARAZIONE DEL PATRIMONIO CASA E DEL PATRIMONIO TERZI + select * into #ordine1 from #appo where ordine = 1 + select * into #ordine2 from #appo where ordine = 2 + -- QUERY PATRIMONIO COMPLESSIVO + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV) AS CTV, + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX(CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX(case + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END) AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX(CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + 3 AS ORDINE, + RISK_AGG.Ully_perc + into #Ordine3 + from + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and + PATRBF.CTV > 0 + group by + PATRBF.RETE, + PATRBF.COD_FISCALE + union + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and + TERZI.CTV > 0 + group by + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + left outer join c6martperiodico.MIFID AS M + on PATRBF.COD_FISCALE =M.COD_FISCALE + and PATRBF.RETE = M.RETE + left outer join c6martperiodico.CODIFICA_RISCHIO AS CR + on M.PROFILO_ASS = CR.PROFILO + left outer join c6martperiodico.CODIFICA_CREDITRISK CK + on M.riskclass = CK.PROFILO + left outer join c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + on PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.RETE = RISK_AGG.RETE + where + RISK_AGG.COD_AGGREG = 'COMPLESSIVO' + group by + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + -- FINE QUERY PATRIMONIO COMPLESSIVO + -- INSERIMENTO NELLA TABELLA MERGED DELLA UNION TRA PATRIMONIO CASA (#Ordine1), PATRIMONIO TERZI (#Ordine2), PATRIMONIO COMPLESSIVO (#Ordine3) + INSERT INTO WH.PL_D2_S169RischiomercatoRischiocredito + select 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito' as ProcedureName, #Ordine1.RETE as i_rete, #Ordine1.COD_FISCALE as i_codiceFiscale, #Ordine1.RETE, #Ordine1.COD_FISCALE, #Ordine1.INSTITUTENAME, #Ordine1.CTV, #Ordine1.CODICEPROFILO, #Ordine1.VARMAX, #Ordine1.VAR, #Ordine1.VARSTRING, #Ordine1.RISKCLASS, #Ordine1.RISKCLASSSTRING, #Ordine1.COVERAGE, convert(varchar(100), #Ordine1.COVERAGESTRING) as COVERAGESTRING, #Ordine1.RISKCLASSMAX, #Ordine1.PERCENTAGE, #Ordine1.ORDINE, #Ordine1.Ully_perc from #Ordine1 --64740 + union + select 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito' as ProcedureName, #Ordine2.RETE as i_rete, #Ordine2.COD_FISCALE as i_codiceFiscale, #Ordine2.RETE, #Ordine2.COD_FISCALE, #Ordine2.INSTITUTENAME, #Ordine2.CTV, #Ordine2.CODICEPROFILO, #Ordine2.VARMAX, #Ordine2.VAR, #Ordine2.VARSTRING, #Ordine2.RISKCLASS, #Ordine2.RISKCLASSSTRING, #Ordine2.COVERAGE, convert(varchar(100), #Ordine2.COVERAGESTRING) as COVERAGESTRING, #Ordine2.RISKCLASSMAX, #Ordine2.PERCENTAGE, #Ordine2.ORDINE, #Ordine2.Ully_perc from #Ordine2 --7274 + union + select 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito' as ProcedureName, #Ordine3.RETE as i_rete, #Ordine3.COD_FISCALE as i_codiceFiscale, #Ordine3.RETE, #Ordine3.COD_FISCALE, #Ordine3.INSTITUTENAME, #Ordine3.CTV, #Ordine3.CODICEPROFILO, #Ordine3.VARMAX, #Ordine3.VAR, #Ordine3.VARSTRING, #Ordine3.RISKCLASS, #Ordine3.RISKCLASSSTRING, #Ordine3.COVERAGE, convert(varchar(100), #Ordine3.COVERAGESTRING) as COVERAGESTRING, #Ordine3.RISKCLASSMAX, #Ordine3.PERCENTAGE, #Ordine3.ORDINE, #Ordine3.Ully_perc from #Ordine3 --64832 + -- CON UNION CON LA LEFT JOIN TRA #Ordine3 e #Ordine1 PER PRENDERE TUTTI I CASI IN CUI NON C'E' LA RIGA DEL PATRIMONIO CASA. VIENE CREATA UNA RIGA FITTIZIA + union + select + 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito' as ProcedureName, #Ordine3.RETE as i_rete, #Ordine3.COD_FISCALE as i_codiceFiscale, + #Ordine3.Rete, + #Ordine3.Cod_Fiscale, + case when #Ordine3.RETE= 'F' then 'Patrimonio Fideuram' + WHEN #Ordine3.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + end as INSTITUTENAME, + 0 as CTV, + #Ordine3.CODICEPROFILO, + #Ordine3.VARMAX, + 0 AS VAR, + 'n.c.' AS VARSTRING, + 0 as RISKCLASS, + 'n.c.' as RISKCLASSSTRING, + #Ordine3.COVERAGE, + NULL AS COVERAGESTRING, + #Ordine3.RISKCLASSMAX, + 0.0 as PERCENTAGE, + 1 as ordine, + 0 as Ully_perc + from #Ordine3 + left join #Ordine1 + on #Ordine3.Rete = #Ordine1.Rete + and #Ordine3.Cod_Fiscale = #Ordine1.Cod_Fiscale + where #Ordine1.Cod_Fiscale is null +END \ No newline at end of file diff --git a/sql/storedProduzione/wh_MERGED_PROCEDURE_S170.sql b/sql/storedProduzione/wh_MERGED_PROCEDURE_S170.sql new file mode 100644 index 00000000..5fd8e470 --- /dev/null +++ b/sql/storedProduzione/wh_MERGED_PROCEDURE_S170.sql @@ -0,0 +1,139 @@ +CREATE procedure [wh].[MERGED_PROCEDURE_S170] +AS +BEGIN + SET NOCOUNT ON; + -- Appoggio in tabelle temporanee + select rete, cod_fiscale, count(*) as contaCC + into #tContaCC + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' + group by rete, cod_fiscale + select rete, cod_fiscale, count(*) as contaPos + into #tContaPos + from c6martperiodico.patrimonio_Bf + group by rete, cod_fiscale + SELECT rete, cod_fiscale, isnull(sum(ctv),0) as CTVBF + into #tCTVBF + FROM c6martperiodico.patrimonio_bf + where CTV > 0 + group by rete, cod_fiscale + SELECT rete, cod_fiscale, isnull(sum(ctv),0) as CTVTerzi + into #tCTVTerzi + FROM c6martperiodico.patrimonio_terzi + where CTV > 0 + group by rete, cod_fiscale + -- Calcolo Complessità Massima + DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + create table #tMaxComplessita (Rete varchar(1), CodiceFiscale varchar(20), MaxComplessita int) + insert into #tMaxComplessita (Rete, CodiceFiscale, MaxComplessita) + select rete, 'FF@' + CODMAN as CodiceFiscale, MAXCOMPL as maxComplessita + from [C6StagingPeriodico].[WSEIAN2] + where DTTRIM = @DataFineTrim + -- and compl_base <> 10 + and isnull(codman, '') <> '' + group by rete, 'FF@' + CODMAN,MAXCOMPL + union + select rete, CodFis as CodiceFiscale, MAXCOMPL as maxComplessita + from [C6StagingPeriodico].[WSEIAN2] + where DTTRIM = @DataFineTrim + --and compl_base <> 10 + and isnull(codman, '') = '' + group by rete, CodFis,MAXCOMPL + --select * from #tContaCC where rete = 'F' and cod_Fiscale = 'RSCFNC43M09A965T' + --select * from #tContaPos where rete = 'F' and cod_Fiscale = 'RSCFNC43M09A965T' + --select * from #tCTVBF where rete = 'F' and cod_Fiscale = 'RSCFNC43M09A965T' + --select * from #tCTVTerzi where rete = 'F' and cod_Fiscale = 'RSCFNC43M09A965T' + insert into wh.PL_D2_S170RischioDiversificazione + SELECT 'C6MartPeriodico.PL_D2_S170RischioDiversificazione' as ProcedureName, K.Rete as i_Rete, K.Cod_Fiscale as i_CodiceFiscale, + K.COD_FISCALE, + K.RETE, + CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then isnull(#tCTVBF.CTVBF, 0) + when cod_Aggreg = 'COMPLESSIVO|TERZI' then isnull(#tCTVTerzi.CTVTerzi, 0) + when cod_Aggreg = 'COMPLESSIVO' then isnull(#tCTVBF.CTVBF, 0) + isnull(#tCTVTerzi.CTVTerzi, 0) + else 0 + END AS CTV_AGGREG, + K.CREDITRISK, + CASE + WHEN (isnull(#tContaPOS.contaPOS, 0) - isnull(#tContaCC.ContaCC, 0) = 0) THEN 0 + ELSE VAR_PERC_PTF + END AS VAR, + CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND isnull(#tContaPOS.contaPOS, 0) - isnull(#tContaCC.ContaCC, 0) <> 0 THEN 'n.c.' ELSE NULL END as varString, + CASE + WHEN (ISNULL(copertura,100) < 100) AND isnull(#tContaPOS.contaPOS, 0) - isnull(#tContaCC.ContaCC, 0) <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null + END AS coperturaString, + -- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi + beneficio as diversificazione, + --case + --when cod_Aggreg = 'COMPLESSIVO' then null + --when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio + --when cod_Aggreg = 'COMPLESSIVO|TERZI' then null + --END AS diversificazione, + -- fine modifica del 19/6/2018 + CASE + WHEN (isnull(#tContaPOS.contaPOS, 0) - isnull(#tContaCC.ContaCC, 0) = 0) THEN 100 + ELSE COPERTURA + END AS COPERTURA, + case + when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' + when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) + when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' + ELSE '' + END AS PATRIMONIO, + case + when b.profilo is null then -1 + else b.profilo + end as profiloCode, + isnull(b.max_var, 0) as var_profilo, + ------------------------ MIFID2 - MAGGIO 2018 + case #tMaxComplessita.MaxComplessita + when 0 then '-' + when 1 then 'Minima' + when 2 then 'Bassa' + when 3 then 'Media' + when 4 then 'Alta' + when 5 then 'Molto alta' + else '-' + end + as complessita, + ------------------------- FINE MIFID2 - MAGGIO 2018 + --V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo + --V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. + case + when cod_Aggreg = 'COMPLESSIVO' then 3 + when cod_Aggreg = 'COMPLESSIVO|BF' then 1 + when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 + ELSE '' + END AS Ordine + FROM C6MARTperiodico.RISCHIO_AGGREGATO K + left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale + and k.rete = a.rete + left outer join C6Martperiodico.CODIFICA_RISCHIO b + on A.PROFILO_ASS=B.PROFILO + left join #tContaCC + on K.rete = #tContaCC.rete + and K.cod_fiscale = #tContaCC.cod_fiscale + left join #tContaPos + on K.rete = #tContaPos.rete + and K.cod_fiscale = #tContaPos.cod_fiscale + left join #tCTVBF + on K.rete = #tCTVBF.rete + and K.cod_fiscale = #tCTVBF.cod_fiscale + left join #tCTVTerzi + on K.rete = #tCTVTerzi.rete + and K.cod_fiscale = #tCTVTerzi.cod_fiscale + left join #tMaxComplessita + on K.rete = #tMaxComplessita.rete + and K.cod_fiscale = #tMaxComplessita.codicefiscale + WHERE + --A.PROFILO_ASS=B.PROFILO + --AND K.RETE=A.RETE + --AND K.COD_FISCALE= A.COD_FISCALE + COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') + ORDER BY ordine +END \ No newline at end of file diff --git a/sql/storedProduzione/wh_MERGED_PROCEDURE_S178.sql b/sql/storedProduzione/wh_MERGED_PROCEDURE_S178.sql new file mode 100644 index 00000000..15759581 --- /dev/null +++ b/sql/storedProduzione/wh_MERGED_PROCEDURE_S178.sql @@ -0,0 +1,143 @@ +CREATE procedure [wh].[MERGED_PROCEDURE_S178] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + --exec [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] 'F', '00158650309' + --exec [C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza] 'F', '00158650309' + --exec [wh].[p_PL_D_S178IndicatoriEsitoAdeguatezza] 'F', '00158650309' + insert into [wh].[PL_D_S178IndicatoriEsitoAdeguatezza] + select 'C6MartPeriodico.PL_D_S178IndicatoriEsitoAdeguatezza', a.i_rete, a.i_CodiceFiscale, + a.i_rete, + a.i_CodiceFiscale, + -- RISCHIO MERCATO + --var, varmax, + case + when var <= varmax then '1' + when var > varmax then '0' + else -1 + end as RM_Adeguatezza, + case + when var <= varmax then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '1') + when var > varmax then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '-1') + end as RM_Descrizione, + -- FINE RISCHIO MERCATO + -- RISCHIO CREDITO + --RISKCLASS, RISKCLASSMAX, + case + --20180820 CR su Rischio Credito: quando non è stato possibile calcolare il rischio credito (quindi il valore di RISKCLASS restituito dalla PL_D2_S169RischiomercatoRischiocredito è NULL) + -- l'indicatore di adeguatezza Rischio Credito è 1 (Adeguato) + when RISKCLASS is null then '1' + --20180820 FINE CR su Rischio Credito + when RISKCLASS <= convert(int,RISKCLASSMAX) then '1' + when RISKCLASS > convert(int,RISKCLASSMAX) then '0' + else -1 + end as RC_Adeguatezza, + case + --20180820 CR su Rischio Credito: quando non è stato possibile calcolare il rischio credito (quindi il valore di RISKCLASS restituito dalla PL_D2_S169RischiomercatoRischiocredito è NULL) + -- l'indicatore di adeguatezza Rischio Credito è 1 (Adeguato) + when RISKCLASS is null then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '1') + --20180820 FINE CR su Rischio Credito + when RISKCLASS <= convert(int,RISKCLASSMAX) then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '1') + when RISKCLASS > convert(int,RISKCLASSMAX) then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '-1') + end as RC_Descrizione, + -- FINE RISCHIO CREDITO + -- CONCENTRAZIONE EMITTENTI + --b.concemi, + case + when upper(b.concemi) = 'S' then '1' + when upper(b.concemi) = 'N' then '0' + else -1 + end as CE_Adeguatezza, + case + when upper(b.concemi) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '1') + when upper(b.concemi) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '-1') + end as CE_Descrizione, + -- FINE CONCENTRAZIONE EMITTENTI + -- COMPLESSITA' + --b.flgprof, b.flagpg, b.flagnqp, b.flgprlrde, b.clcompl, + case + when b.flgprof = 'S' then 'prof' + when b.flagpg = 1 and b.flgprof = 'N' and b.flagnqp = 'S' and b.flgprlrde = 'N' then '-1' --Massimiliano dice che va messo prima di tutti senza testare altri flag 17/5/2018 + when upper(b.clcompl) = 'N' and + (select nocompl from [C6StagingPeriodico].[WSEIAN2] where codfis = a.i_codiceFiscale and dttrim = @DataFineTrim ) = 'S' then '0' + when upper(b.clcompl) = 'N' and b.flagpg = 0 then '0' + when upper(b.clcompl) = 'N' and b.flagpg = 1 and b.flgprlrde = 'N' then '0' + when upper(b.clcompl) = 'S' then '1' + end as CM_Adeguatezza, + case + when b.flagpg = 1 and b.flgprof = 'N' and b.flagnqp = 'S' and b.flgprlrde = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '-1') + when upper(clcompl) = 'N' and + (select nocompl from [C6StagingPeriodico].[WSEIAN2] where codfis = a.i_codiceFiscale and dttrim = @DataFineTrim ) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0C') + when upper(clcompl) = 'N' and b.flagpg = 0 then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0A') + when upper(clcompl) = 'N' and b.flagpg = 1 and b.flgprlrde = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0B') + when upper(clcompl) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '1') + end as CM_Descrizione, + -- FINE COMPLESSITA' + -- CONCENTRAZIONE PRODOTTI COMPLESSI + --b.flgprof, b.flgconc, + case + when b.flgprof = 'S' then 'prof' + when upper(b.flgconc) = 'S' then '1' + when upper(b.flgconc) = 'N' then '0' + else '-1' + end as CC_Adeguatezza, + case + when upper(b.flgconc) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '1') + when upper(b.flgconc) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '-1') + end as CC_Descrizione, + -- FINE CONCENTRAZIONE PRODOTTI COMPLESSI + -- FREQUENZA + --b.flgprof, b.freq, + case + when b.flgprof = 'S' then 'prof' + when upper(b.freq) = 'S' then '1' + when upper(b.freq) = 'N' then '0' + else '-1' + end as FQ_Adeguatezza, + case + when upper(b.freq) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '1') + when upper(b.freq) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '-1') + end as FQ_Descrizione, + -- FINE FREQUENZA + -- LIQUIDITA' / LIQUIDABILITA' + --b.lliquid, + case + when upper(b.lliquid) = 'S' then '1' + when upper(b.lliquid) = 'N' then '0' + else '-1' + end as LQ_Adeguatezza, + case + when upper(b.lliquid) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '1') + when upper(b.lliquid) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '-1') + end as LQ_Descrizione + -- FINE LIQUIDITA' / LIQUIDABILITA' + from [wh].[PL_D2_S169RischiomercatoRischiocredito] a + inner join C6StagingPeriodico.WSEIAN2 b + on a.i_rete = b.rete + and a.i_codiceFiscale = + (case + when isnull(b.CodMan, '') <> '' then 'FF@' + b.CodMan + else b.CodFis + end) + where + a.ordine = 1 + --and a.i_codiceFiscale in ( + ----codici di test + --'ff@10005', + --'00072930076', + --'00118220524', + --'00123360075', + --'00156630063', + --'00158650309' + --) + and b.DtTrim = @DataFineTrim + --select top 10 * from c6stagingperiodico.wseian where isnull(codman, '') <> '' +END \ No newline at end of file diff --git a/sql/storedProduzione/wh_MERGED_PROCEDURE_S43.sql b/sql/storedProduzione/wh_MERGED_PROCEDURE_S43.sql new file mode 100644 index 00000000..0b417e0c --- /dev/null +++ b/sql/storedProduzione/wh_MERGED_PROCEDURE_S43.sql @@ -0,0 +1,17 @@ +CREATE procedure [wh].[MERGED_PROCEDURE_S43] +AS +BEGIN + SET NOCOUNT ON; + INSERT INTO WH.PL_S43LineaSelfBF + SELECT 'C6MartPeriodico.PL_S43LineaSelfBF' as ProcedureName, LS.rete as i_rete ,LS.codfis as i_codiceFiscale, + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(cast(datasott as varchar)) as DataSott + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + isnull(ctv,0) < 0 +END \ No newline at end of file diff --git a/sql/storedProduzione/wh_MERGED_PROCEDURE_S85.sql b/sql/storedProduzione/wh_MERGED_PROCEDURE_S85.sql new file mode 100644 index 00000000..a625f516 --- /dev/null +++ b/sql/storedProduzione/wh_MERGED_PROCEDURE_S85.sql @@ -0,0 +1,62 @@ +CREATE procedure [wh].[MERGED_PROCEDURE_S85] +AS +BEGIN + SET NOCOUNT ON; + SELECT + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,isnull([NOME_PROGETTO],'XXX') as NOME_PROGETTO + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB] + into #pir_mod_xxx + FROM [C6MartPeriodico].[PIRAMIDE_MOD] + --select * from #pir_mod_xxx where cod_fiscale = 'FF@7181' + INSERT INTO WH.PL_S85RendimentoPortafoglioCono + SELECT 'C6MartPeriodico.PL_S85RendimentoPortafoglioCono' as ProcedureName, CONO.RETE as i_rete ,CONO.COD_FISCALE as i_codiceFiscale, + CONO.ID_AREA AS NEED_AREA, + CASE + WHEN CONO.NOME_PROGETTO = 'XXX' THEN '' + ELSE CONO.NOME_PROGETTO + END AS NOME_PROGETTO, + cono.ordinamento_progetto, + CONO.DATA_CONO, + CONO.SCENARIO_OTTIMISTICO AS OTTIMISTICO, + CONO.SCENARIO_PESSIMISTICO AS PESSIMISTICO, + isnull(PIRMOD.ORIZZ_TEMP_NUM,0) * 12 AS ORIZZONTE_MESI, + MONIT.RENDIMENTO_CUMULATO AS RENDIMENTO, + MONIT.DATA_CTV AS DATA_MONIT + FROM + C6MartPeriodico.CONO_PIANIFICAZIONE AS CONO + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE AS MONIT + ON CONO.RETE = MONIT.RETE + AND CONO.COD_FISCALE = MONIT.COD_FISCALE + AND CONO.ID_AREA = MONIT.ID_AREA + AND CONO.NOME_PROGETTO = MONIT.NOME_PROGETTO + And cono.ordinamento_progetto=monit.ordinamento_progetto --l'ordinamento progetto è sempre pari alla chiaveprogetto e non idmonitoraggio + INNER JOIN #pir_mod_xxx as PIRMOD + ON CONO.RETE = PIRMOD.RETE + AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE + AND CONO.ID_AREA = PIRMOD.ID_AREA + AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + And cono.ordinamento_progetto=pirmod.ordinamento_progetto + -- INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD + -- ON CONO.RETE = PIRMOD.RETE + -- AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE + -- AND CONO.ID_AREA = PIRMOD.ID_AREA + -- AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + ORDER BY CONO.DATA_CONO + drop table #pir_mod_xxx +END \ No newline at end of file diff --git a/sql/storedProduzione/wh_MERGED_PROCEDURE_SINGLE.sql b/sql/storedProduzione/wh_MERGED_PROCEDURE_SINGLE.sql new file mode 100644 index 00000000..54e51b98 --- /dev/null +++ b/sql/storedProduzione/wh_MERGED_PROCEDURE_SINGLE.sql @@ -0,0 +1,4696 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [wh].[MERGED_PROCEDURE_SINGLE] +AS +BEGIN + SET NOCOUNT ON; +--------------------------------------------------------------------- +truncate table wh.pl_s85rendimentoportafogliocono +truncate table wh.pl_areemonitorate +truncate table wh.pl_s43lineaselfbf +truncate table wh.pl_s10patrimoniofinanziario +truncate table wh.pl_prodotti_non_associati_area_inv +truncate table wh.pl_d2_s151profilodirischio +truncate table wh.pl_d2_s152patrimonio +truncate table wh.pl_d2_s153patrimoniofinanziario +truncate table wh.pl_d2_s154patrimoniofinanziario +truncate table wh.pl_d2_s155patrimonioimmobiliare +truncate table wh.pl_d2_s156altropatrimonio +truncate table wh.pl_d2_s157confrontopiramidi +truncate table wh.pl_d2_s158piramidemodello +truncate table wh.pl_d2_s159patrimoniofinanziario +truncate table wh.pl_d2_s160dettaglioprodottibf +truncate table wh.pl_d2_s162dettaglioprodotti +truncate table wh.pl_d2_s163patrimoniofinanziariomassetclass +truncate table wh.pl_d2_s164polizzealtriistituti +truncate table wh.pl_d2_s165fondialtriistituti +truncate table wh.pl_d2_s167distribuzionerischiocredito +truncate table wh.pl_d2_s168tabellaemittenti +truncate table wh.pl_s43dettaglioprodottibf +truncate table wh.pl_d2_s169rischiomercatorischiocredito +truncate table wh.pl_d2_s170rischiodiversificazione +truncate table wh.pl_d2_s171patrimoniononrappresentabileassettclass +truncate table wh.pl_mp_s137bonus +truncate table wh.pl_mp_s135monitoraggioinvestimento +truncate table wh.pl_mp_s134monitoraggioliquidita +truncate table wh.pl_mp_s134bismonitoraggioliqinv +truncate table wh.pl_mp_s133bisprincipaliprodotti +truncate table wh.pl_mp_s133areebisognoprincprod +truncate table wh.pl_mp_s146rischiodiversificazione +truncate table wh.pl_mp_s141analisirisparmiotable +truncate table wh.pl_mp_s140analisirisparmiocharts +truncate table wh.pl_mp_s137biscapitaleprotetto +truncate table wh.pl_s43contocorrentebf +truncate table wh.pl_s43bisdettaglioprodottibf +truncate table wh.pl_s88patrimoniononconsideratonelcalcolodelrendimento +truncate table wh.pl_s82datisintetici +truncate table wh.pl_s82bisdatisintetici +truncate table wh.pl_s76alternativapatrimoniononrappresentabileassettclass +truncate table wh.pl_s80alternativa +truncate table wh.pl_s96rischiomercatorischiocredito +truncate table wh.pl_d_s170rischiodiversificazione +------------------------------------------------------------------------ +-------------------------------------------PL_S82DatiSintetici +INSERT INTO WH.PL_S82DatiSintetici +SELECT 'C6MartPeriodico.PL_S82DatiSintetici' as ProcedureName, PATRAREA.RETE as i_rete ,PATRAREA.COD_FISCALE as i_codiceFiscale, + PATRAREA.ID_AREA AS need_area, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PATRAREA.ORDINAMENTO_PROGETTO, + /*V Calcolato a livello di codice + CASE + WHEN PATRAGGR.CTV = 0 THEN 0 + ELSE PATRAREA.CTV / PATRAGGR.CTV * 100 + END AS pesoPerc,*/ + PATRAREA.CTV AS ControvaloreAttuale + /* Calcolato a livello di codice + CASE + WHEN @TOTRischio = 0 THEN 0 + ELSE ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV / @TOTRischio * 100 + END AS rischioRelativo*/ + FROM C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS PATRAGGR + ON PATRAGGR.RETE = PATRAREA.Rete + AND PATRAGGR.COD_FISCALE = PATRAREA.COD_FISCALE + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON RISCHIOAREA.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRAREA.ID_AREA,3) + AND RISCHIOAREA.RETE = PATRAREA.Rete + AND RISCHIOAREA.COD_FISCALE = PATRAREA.COD_FISCALE + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = PATRAREA.COD_FISCALE + WHERE 1=1 + AND PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE') +------------------------------------------------------------------------- +-------------------------------------------PL_S85RendimentoPortafoglioCono + BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,isnull([NOME_PROGETTO],'XXX') as NOME_PROGETTO + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB] +into #pir_mod_xxx + FROM [C6MartPeriodico].[PIRAMIDE_MOD] p + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = p.[COD_FISCALE] +--select * from #pir_mod_xxx where cod_fiscale = 'FF@7181' +INSERT INTO WH.PL_S85RendimentoPortafoglioCono +SELECT 'C6MartPeriodico.PL_S85RendimentoPortafoglioCono' as ProcedureName, CONO.RETE as i_rete ,CONO.COD_FISCALE as i_codiceFiscale, + CONO.ID_AREA AS NEED_AREA, + CASE + WHEN CONO.NOME_PROGETTO = 'XXX' THEN '' + ELSE CONO.NOME_PROGETTO + END AS NOME_PROGETTO, + cono.ordinamento_progetto, + CONO.DATA_CONO, + CONO.SCENARIO_OTTIMISTICO AS OTTIMISTICO, + CONO.SCENARIO_PESSIMISTICO AS PESSIMISTICO, + isnull(PIRMOD.ORIZZ_TEMP_NUM,0) * 12 AS ORIZZONTE_MESI, + MONIT.RENDIMENTO_CUMULATO AS RENDIMENTO, + MONIT.DATA_CTV AS DATA_MONIT + FROM + C6MartPeriodico.CONO_PIANIFICAZIONE AS CONO + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE AS MONIT + ON CONO.RETE = MONIT.RETE + AND CONO.COD_FISCALE = MONIT.COD_FISCALE + AND CONO.ID_AREA = MONIT.ID_AREA + AND CONO.NOME_PROGETTO = MONIT.NOME_PROGETTO + And cono.ordinamento_progetto=monit.ordinamento_progetto --l'ordinamento progetto è sempre pari alla chiaveprogetto e non idmonitoraggio + INNER JOIN #pir_mod_xxx as PIRMOD + ON CONO.RETE = PIRMOD.RETE + AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE + AND CONO.ID_AREA = PIRMOD.ID_AREA + AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + And cono.ordinamento_progetto=pirmod.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD +-- ON CONO.RETE = PIRMOD.RETE +-- AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE +-- AND CONO.ID_AREA = PIRMOD.ID_AREA +-- AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + ORDER BY CONO.DATA_CONO + drop table #pir_mod_xxx +END +------------------------------------------------------------------------- +-------------------------------------------pl_areemonitorate +BEGIN +INSERT INTO WH.PL_AreeMonitorate +SELECT 'C6MartPeriodico.PL_AreeMonitorate' as ProcedureName, [RETE] as i_rete ,[COD_FISCALE] as i_codiceFiscale, +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +--CONTROLLO NOME PROGETTO DUPLICATO, TOLTO IL MAX, AGGIUNTO NEL GROUP BY +ORDINAMENTO_PROGETTO, +--MAX(ORDINAMENTO_PROGETTO) AS ORDINAMENTO_PROGETTO, +MAX(ORDINE) AS ORDINE, +--rimettere il min e commentare il ctv=0 +max(AREAPROGETTOSOTTOMONITORAGGIO) AS AREAPROGETTOSOTTOMONITORAGGIO +FROM +( + --1.1 liq sotto monit + SELECT + PIRMOD.RETE AS RETE, + PIRMOD.COD_FISCALE as COD_FISCALE, + PIRMOD.ID_AREA AS Need_Area, + AREA.NOME_AREA AS Need_Estesa, + CASE WHEN PIRMOD.NOME_PROGETTO is null and pirmod.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PIRMOD.NOME_PROGETTO)) + END AS Nome_Progetto, + PIRMOD.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PIRMOD.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 6 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + (SELECT + RETE, + COD_FISCALE, + case when ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else id_area end as Id_area, + NOME_PROGETTO, + TIPO_PROGETTO, + PERC_AREA, + CTV_PROGETTO, + CTV_AREA, + ORIZZ_TEMP_NUM, + ORIZZ_TEMP, + CTV_TOTALE, + STATO_CONSULENZA, + DATA_STATO_CONS, + DATA_MIGR_CONS, + DATA_PIANIF, + ID_CONTRATTO, ---LEVARE??? + ORDINAMENTO_PROGETTO + FROM + C6MartPeriodico.CONS_ATTIVAGGIORNATA + ) PIRMOD + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = PIRMOD.COD_FISCALE + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PIRMOD.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PIRMOD.COD_FISCALE + AND MONIT.RETE=PIRMOD.RETE + AND MONIT.ID_AREA= PIRMOD.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PIRMOD.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PIRMOD.ORDINAMENTO_PROGETTO + WHERE + PIRMOD.CTV_PROGETTO > 0 + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = PATRBF.COD_FISCALE + WHERE + PATRBF.CTV < 0 and id_area = 'CC' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + 'Self' AS Need_Area, + 'Liquidità negativa "Linee GP Eligo"' AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = PATRBF.COD_FISCALE + WHERE + PATRBF.CTV < 0 and id_area = 'SELF' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 8 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = PATRBF.COD_FISCALE + WHERE + PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + --case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = PATRBF.COD_FISCALE + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +) A +GROUP BY +RETE, +COD_FISCALE, +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END +------------------------------------------------------------------------- +-------------------------------------------PL_S43LineaSelfBF +BEGIN + INSERT INTO WH.PL_S43LineaSelfBF + SELECT 'C6MartPeriodico.PL_S43LineaSelfBF' as ProcedureName, LS.rete as i_rete ,LS.codfis as i_codiceFiscale, + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(cast(datasott as varchar)) as DataSott + FROM + C6MartPeriodico.ANAG_SELF LS + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = LS.codfis + WHERE + isnull(ctv,0) < 0 +END +------------------------------------------------------------------------- +-------------------------------------------PL_S10PatrimonioFinanziario +BEGIN + INSERT INTO WH.PL_S10PatrimonioFinanziario + SELECT 'C6MartPeriodico.PL_S10PatrimonioFinanziario' as ProcedureName, [Rete] as i_rete ,[CodiceFiscale] as i_codiceFiscale, + [Banca] + ,[Ordinamento] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6MartPeriodico].[tb_S10PatrimonioFinanziario] + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = [CodiceFiscale] + order by ordinamento +END +------------------------------------------------------------------------- +-------------------------------------------PL_Prodotti_Non_Associati_Area_Inv +BEGIN +INSERT INTO WH.PL_Prodotti_Non_Associati_Area_Inv + SELECT 'C6MartPeriodico.PL_Prodotti_Non_Associati_Area_Inv' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, +PATRBF.RETE, +PATRBF.COD_FISCALE, +ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') AS NOME_PROGETTO, +ID_AREA as NEED_AREA, +SUM(CTV) AS CONTROVALOREATTUALE, +MAX(ISNULL(RISK.VAR_PERC_PTF,0)) AS var_needarea, +--PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString +FROM +C6MARTPERIODICO.PATRIMONIO_BF PATRBF +INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = PATRBF.COD_FISCALE +LEFT OUTER JOIN +C6MARTPERIODICO.RISCHIO_AGGREGATO RISK +ON PATRBF.RETE = RISK.RETE + AND PATRBF.COD_FISCALE = RISK.COD_FISCALE + AND RISK.COD_AGGREG = 'PIRAMIDE|Inv|'+ ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') +WHERE 1 = 1 + AND PATRBF.id_AREA = 'Inv' + AND PATRBF.NOME_PROGETTO='Prodotti non associati a progetti' +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti'), +ID_AREA, +CHIAVE_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S151ProfiloDiRischio +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + INSERT INTO WH.PL_D2_S151ProfiloDiRischio + SELECT 'C6MartPeriodico.PL_D2_S151ProfiloDiRischio' as ProcedureName, M.RETE as i_rete, M.COD_FISCALE as i_codiceFiscale, + M.PROFILO_ASS as codiceProfilo, + DBO.TOSHORTDATESTRING(M.DATA_INIZIO_VAL) as dataInizioValidita, + CR.MAX_VAR as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + ProfiliDiRischio.NOMEPROFILO as nomeProfilo, + m.riskclass as riskclass, + m.experience as experince + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = M.COD_FISCALE + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO +END +------------------------------------------------------------------------- +-------------------------------------------pl_d2_s152patrimonio +BEGIN +SELECT SUM(CTV) as Value, patrBF.Rete, patrBF.Cod_Fiscale +into #PatrimonioBF + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = patrBF.Cod_Fiscale + WHERE patrBF.id_area not in ('CC','SELF') + group by patrBF.Cod_Fiscale, patrBF.Rete + SELECT SUM(IMPORTO) as Value, Rete, Cod_Fiscale + into #Part_viaggianti + FROM + ( + SELECT SUM(IMPORTO) AS IMPORTO, partvia.Rete, partvia.Cod_Fiscale + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = partvia.Cod_Fiscale + group by partvia.Rete, partvia.Cod_Fiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO, partvia.Rete, partvia.Cod_Fiscale + FROM C6Martperiodico.patrimonio_bf partvia + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = partvia.Cod_Fiscale + group by partvia.Rete, partvia.Cod_Fiscale + ) T + group by Rete, Cod_Fiscale + SELECT SUM(ROUND(CTV,2)) as Value, patrTerzi.Rete, + patrTerzi.Cod_Fiscale + into #PatrimonioTerzi + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = patrTerzi.Cod_Fiscale + group by patrTerzi.Rete, + patrTerzi.Cod_Fiscale + SELECT SUM(patrImm.VALORE_STIMATO) as Value, + patrImm.Rete, patrImm.Cod_Fiscale + into #PatrimonioImmobiliare + FROM C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = patrImm.Cod_Fiscale + group by patrImm.Rete, patrImm.Cod_Fiscale + SELECT SUM(patrAltro.ctv) as Value, patrAltro.Rete, patrAltro.Cod_Fiscale + into #PatrimonioAltro + FROM C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = patrAltro.Cod_Fiscale + group by patrAltro.Rete, patrAltro.Cod_Fiscale + select distinct rete, cod_fiscale + into #merge + from + ( + select rete, cod_fiscale from #PatrimonioBF UNION ALL + select rete, cod_fiscale from #PatrimonioTerzi UNION ALL + select rete, cod_fiscale from #Part_viaggianti UNION ALL + select rete, cod_fiscale from #PatrimonioImmobiliare UNION ALL + select rete, cod_fiscale from #PatrimonioAltro + )x + truncate table WH.pl_d2_s152patrimonio + ;with data as + ( + select m.rete, m.cod_fiscale, + cast(COALESCE(a.value,0.00)+COALESCE(c.value,0.00) as numeric(18,2)) as PatrimonioBF, + cast(COALESCE(a.value,0.00)+COALESCE(b.value,0.00)+COALESCE(c.value,0.00) as numeric(18,2)) as FinanziarioCTV, + cast(COALESCE(a.value,0.00)+COALESCE(b.value,0.00)+COALESCE(c.value,0.00)+COALESCE(d.value,0.00)+COALESCE(e.value,0.00) as numeric(18,2)) as PatrimonioTotale, + cast(COALESCE(b.value,0.00) as numeric(18,2)) as PatrimonioTerziCTV, + cast(COALESCE(d.value,0.00) as numeric(18,2)) as PatrimonioImmobiliare, + cast(COALESCE(e.value,0.00) as numeric(18,2)) as PatrimonioAltro + from #merge m + left join #PatrimonioBF a on a.rete = m.rete and a.cod_fiscale = m.cod_fiscale + left join #PatrimonioTerzi b on b.rete = m.rete and b.cod_fiscale = m.cod_fiscale + left join #Part_viaggianti c on c.rete = m.rete and c.cod_fiscale = m.cod_fiscale + left join #PatrimonioImmobiliare d on d.rete = m.rete and d.cod_fiscale = m.cod_fiscale + left join #PatrimonioAltro e on e.rete = m.rete and e.cod_fiscale = m.cod_fiscale + ) + INSERT INTO WH.pl_d2_s152patrimonio + SELECT 'C6MartPeriodico.pl_d2_s152patrimonio' as ProcedureName, rete as i_rete, cod_fiscale as i_codiceFiscale, + PatrimonioBF, + PatrimonioTerziCTV, + FinanziarioCTV, + CONVERT(decimal(6,2), + case when PatrimonioTotale = 0.00 then 0.00 + else FinanziarioCTV / PatrimonioTotale end + * 100.00) AS FinanziarioPerc, + PatrimonioImmobiliare, + CONVERT(decimal(6,2), + case when PatrimonioTotale = 0.00 then 0.00 + else PatrimonioImmobiliare/PatrimonioTotale end + * 100.00) AS ImmobiliarePerc, + PatrimonioAltro, + CONVERT(decimal(6,2), + case PatrimonioTotale when 0.00 then 0.00 + else PatrimonioAltro/PatrimonioTotale end + * 100.00) AS AltroPerc, + PatrimonioTotale as TotaleCTV + from data +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S153PatrimonioFinanziario +BEGIN + INSERT INTO WH.PL_D2_S153PatrimonioFinanziario + SELECT 'C6MartPeriodico.PL_D2_S151ProfiloDiRischio' as ProcedureName, Rete as i_rete, Cod_Fiscale as i_codiceFiscale, + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Rete, + Cod_Fiscale, + Intermediario, + Ordine, + CASE Rete WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS Banca, + SUM(ctv) over (partition by Intermediario,Ordine,Rete,Cod_fiscale) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine,Rete,Cod_Fiscale)) / + wh.IsZero((SUM(ctv) over (partition by 'Totale'+Rete+Cod_fiscale)),1) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + patrBF.Rete as Rete, + patrBF.Cod_Fiscale as Cod_Fiscale, + CASE patrBF.Rete WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = patrBF.Cod_Fiscale + WHERE 1 = 1 + and patrBF.id_area not in ('CC','SELF') + GROUP BY patrBF.Rete, patrBF.Cod_Fiscale + UNION ALL + SELECT + patrTerzi.Rete as Rete, + patrTerzi.Cod_Fiscale as Cod_Fiscale, + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = patrTerzi.Cod_Fiscale + WHERE 1 = 1 + GROUP BY patrTerzi.Intermediario, patrTerzi.Rete, patrTerzi.Cod_Fiscale + ) PATR + GROUP BY Cod_Fiscale, Rete, intermediario, ordine, ctv + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S154PatrimonioFinanziario +BEGIN +INSERT INTO WH.PL_D2_S154PatrimonioFinanziario + SELECT 'C6MartPeriodico.PL_D2_S154PatrimonioFinanziario' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(38,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE),2) as decimal(38,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + RETE, + COD_FISCALE, + CASE RETE WHEN 'S' THEN 'Sanpaolo Invest'ELSE 'Fideuram' END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE) / + NULLIF(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE),0) + ) * 100 AS Percentuale + FROM ( + SELECT --PRODOTTI BF ESCLUSI GLI ASUL + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE as COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = PATRBF.COD_FISCALE + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO NOT IN ('ASUL') + AND PATRBF.ID_AREA not in ('CC','SELF') + UNION ALL + SELECT + ASUL.RETE AS RETE, + ASUL.COD_FISCALE as COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = ASUL.COD_FISCALE + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + UNION ALL + --CON SKANDIA + SELECT + ASUL.RETE AS RETE, + ASUL.COD_FISCALE as COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = ASUL.COD_FISCALE + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + PATRTERZI.RETE AS RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = PATRTERZI.COD_FISCALE + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + PATRTERZI.RETE AS RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = PATRTERZI.COD_FISCALE + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + --GROUP BY RETE, COD_FISCALE, ASSETCLASS.ordinamento, VALORIASSET.ID_ASSETCLASS, ASSETCLASS.DESCRIZIONE, VALORIASSET.CONTROVALORE +) A +--GROUP BY RETE, COD_FISCALE, A.BANCA, A.ORDINAMENTO, A.ASSETCLASSID, A.ASSETCLASSNAME, A.CONTROVALORE, A.PERCENTUALE +ORDER BY A.ORDINAMENTO +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S155PatrimonioImmobiliare +BEGIN +INSERT INTO WH.PL_D2_S155PatrimonioImmobiliare + SELECT 'C6MartPeriodico.PL_D2_S155PatrimonioImmobiliare' as ProcedureName, PATRIMONIO_IMMOBILIARE.RETE as i_rete, PATRIMONIO_IMMOBILIARE.COD_FISCALE as i_codiceFiscale, + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale'+PATRIMONIO_IMMOBILIARE.RETE+PATRIMONIO_IMMOBILIARE.COD_FISCALE) as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto'+PATRIMONIO_IMMOBILIARE.RETE+PATRIMONIO_IMMOBILIARE.COD_FISCALE) as TotaleAffitto + FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = PATRIMONIO_IMMOBILIARE.COD_FISCALE + --GROUP BY PATRIMONIO_IMMOBILIARE.RETE, PATRIMONIO_IMMOBILIARE.COD_FISCALE, PATRIMONIO_IMMOBILIARE.descrizione, PATRIMONIO_IMMOBILIARE.TIPOLOGIA, PATRIMONIO_IMMOBILIARE.LOCALITA, PATRIMONIO_IMMOBILIARE.AFFITTO, PATRIMONIO_IMMOBILIARE.VALORE_STIMATO + ORDER BY PATRIMONIO_IMMOBILIARE.valore_stimato DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S156ALtroPatrimonio +BEGIN + INSERT INTO WH.PL_D2_S156ALtroPatrimonio + SELECT 'C6MartPeriodico.PL_D2_S156ALtroPatrimonio' as ProcedureName, PATRIMONIO_ALTRO.RETE as i_rete, PATRIMONIO_ALTRO.COD_FISCALE as i_codiceFiscale, + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale',PATRIMONIO_ALTRO.RETE, PATRIMONIO_ALTRO.COD_FISCALE ) as Totale + FROM + C6MartPeriodico.PATRIMONIO_ALTRO + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = PATRIMONIO_ALTRO.COD_FISCALE + --GROUP BY PATRIMONIO_ALTRO.RETE, PATRIMONIO_ALTRO.COD_FISCALE, PATRIMONIO_ALTRO.DESCRIZIONE, PATRIMONIO_ALTRO.QUANTITA, PATRIMONIO_ALTRO.CTV + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S157ConfrontoPiramidi +BEGIN +INSERT INTO WH.PL_D2_S157ConfrontoPiramidi +SELECT 'C6MartPeriodico.PL_D2_S157ConfrontoPiramidi' as ProcedureName, RETE as i_rete, [CodiceFiscale] as i_codiceFiscale, + [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] p + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = p.[CodiceFiscale] + where [CodiceFiscale] is not null and [Rete] is not null + order by ordinamento +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S158PiramideModello +BEGIN +INSERT INTO WH.PL_D2_S158PiramideModello +SELECT 'C6MartPeriodico.PL_D2_S158PiramideModello' as ProcedureName, BF.RETE as i_rete, BF.COD_FISCALE as i_codiceFiscale, + BF.NOME_PROGETTO AS NomePrg, + PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + AGGR.VAR_PERC_PTF as VarPrg, + SUM(BF.CTV)AS ControvalorePrg + FROM C6MartPeriodico.PATRIMONIO_BF BF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode = BF.COD_FISCALE + INNER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AGGR + ON BF.RETE= AGGR.RETE + AND BF.COD_FISCALE= AGGR.COD_FISCALE + AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD + ON BF.RETE= PIRMOD.RETE + AND BF.COD_FISCALE= PIRMOD.COD_FISCALE + AND BF.ID_AREA = PIRMOD.ID_AREA + AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'inv' + AND BF.CTV > 0 + group BY BF.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,AGGR.VAR_PERC_PTF, BF.RETE, BF.COD_FISCALE +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S159PatrimonioFinanziario +BEGIN +INSERT INTO WH.PL_D2_S159PatrimonioFinanziario +SELECT 'C6MartPeriodico.PL_D2_S159PatrimonioFinanziario' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(38,6)) AS Controvalore, + cast(A.Percentuale as decimal(38,6)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE),2) as decimal(38,6)) AS Totale +FROM +( + SELECT DISTINCT + RETE, + COD_FISCALE, + CASE RETE + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Fideuram' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS+RETE+COD_FISCALE) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'+RETE+COD_FISCALE) ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + PATRBF.RETE AS RETE, + PATRBF.COD_FISCALE AS COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRBF.COD_FISCALE + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area not in ('CC','Self') + UNION ALL + SELECT + ASUL.RETE AS RETE, + ASUL.COD_FISCALE AS COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =ASUL.COD_FISCALE + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + UNION ALL + SELECT ASUL.RETE AS RETE, + ASUL.COD_FISCALE AS COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =ASUL.COD_FISCALE + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +--group by RETE, COD_FISCALE, a.banca, a.ordinamento, a.assetclassid, a.assetclassname, a.controvalore, a.percentuale +ORDER BY A.ORDINAMENTO +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S160DettaglioProdottiBF +BEGIN +INSERT INTO WH.PL_D2_S160DettaglioProdottiBF +SELECT 'C6MartPeriodico.PL_D2_S160DettaglioProdottiBF' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA+PATRBF.RETE+PATRBF.COD_FISCALE),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN (SELECT COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF tmp2 + WHERE ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' and + tmp2.COD_FISCALE = PATRBF.COD_FISCALE AND + TMP2.RETE = PATRBF.RETE) = (SELECT COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF tmp3 + WHERE ID_AREA = 'LIQ' and tmp3.COD_FISCALE = PATRBF.COD_FISCALE AND + TMP3.RETE = PATRBF.RETE) and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRBF.COD_FISCALE +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 and + PATRBF.CTV <>0 +--GROUP BY PATRBF.COD_FISCALE, PATRBF.RETE, AREA.ID_AREA, AREA.NOME_AREA, AREA.ORDINAMENTO, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO, PATRBF.CTV, +-- MONIT.MINUS_PLUSVALENZA, RISCHIO_AGGR_PROG.COPERTURA, RISCHIO_AGGR_PROG.VAR_PERC_PTF, RISCHIO_AGGR_AREA.VAR_PERC_PTF, RISCHIO_AGGR_AREA.COPERTURA, +-- PATRBF.DATA_SOTTOSCRIZIONE, PATRBF.ID_CONTRATTO, PATRBF.TIPO_PRODOTTO, ANAGPROD.DESCR_PRODOTTO, ANAG_CC.COD_CC, RISCHIO_PROD.VAR_PERC_PTF, +-- RISCHIO_PROD.COPERTURA, PATRBF.ISIN, PATRBF.REND_ANNO, PATRBF.REND_SOTTOSCRIZIONE, PATRBF.PARTVIA_DISINV, RISCHIO_PROD.CREDITRISK, RISCHIO_PROD.CREDITRISKEMIT +ORDER BY + AREASORTORDER,CHIAVE_progetto,nome_progetto, PATRBF.CTV DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S162DettaglioProdotti +BEGIN +INSERT INTO WH.PL_D2_S162DettaglioProdotti + SELECT 'C6MartPeriodico.PL_D2_S162DettaglioProdotti' as ProcedureName, PATRTERZI.RETE as i_rete, PATRTERZI.COD_FISCALE as i_codiceFiscale, + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO,PATRTERZI.COD_FISCALE,PATRTERZI.RETE) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRTERZI.COD_FISCALE + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + ON + PATRTERZI.RETE = RISCHIOAGGREG.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGREG.COD_FISCALE + AND RISCHIOAGGREG.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + WHERE 1 = 1 + AND PATRTERZI.DESCR_GRUPPO_PRODOTTO IS NOT NULL + --GROUP BY PATRTERZI.COD_FISCALE, PATRTERZI.RETE, PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.INTERMEDIARIO, PATRTERZI.DATA_SOTTOSCRIZIONE, ANAGPRODTERZI.NOME_PRODOTTO, PATRTERZI.CTV, PATRTERZI.VERSATO_NETTO, + -- RISCHIOPROD.VAR_PERC_PTF, RISCHIOPROD.COPERTURA, RISCHIOAGGREG.VAR_PERC_PTF, RISCHIOAGGREG.COPERTURA, PATRTERZI.COD_PRODOTTO, RISCHIOPROD.CREDITRISK, RISCHIOPROD.CREDITRISKEMIT + ORDER BY + OrdinamentoProdotti, + Controvalore DESC +END +------------------------------------------------------------------------- +-------------------------------------------pl_d2_s163patrimoniofinanziariomassetclass +BEGIN +INSERT INTO WH.pl_d2_s163patrimoniofinanziariomassetclass +SELECT DISTINCT 'C6MartPeriodico.pl_d2_s163patrimoniofinanziariomassetclass' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS, RETE,COD_FISCALE) as decimal(19,6)) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS, RETE,COD_FISCALE) / + case SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE', RETE,COD_FISCALE) + when 0 then 1 + else SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE', RETE,COD_FISCALE) + end +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE', RETE,COD_FISCALE) as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + PATRTERZI.RETE as RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRTERZI.COD_FISCALE + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + PATRTERZI.RETE as RETE, + PATRTERZI.COD_FISCALE as COD_FISCALE, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRTERZI.COD_FISCALE + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + ) VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + -- GROUP BY COD_FISCALE, RETE, ASSETCLASS.ORDINAMENTO, ASSETCLASS.ID_ASSETCLASS, VALORIASSET.ID_ASSETCLASS, ASSETCLASS.DESCRIZIONE, VALORIASSET.CONTROVALORE +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S164PolizzeAltriIstituti +BEGIN +INSERT INTO WH.PL_D2_S164PolizzeAltriIstituti + SELECT 'C6MartPeriodico.PL_D2_S164PolizzeAltriIstituti' as ProcedureName, PATRTERZI.RETE as i_rete, PATRTERZI.COD_FISCALE as i_codiceFiscale, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRTERZI.COD_FISCALE + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S165FondiAltriIstituti +BEGIN + INSERT INTO WH.PL_D2_S165FondiAltriIstituti + SELECT 'C6MartPeriodico.PL_D2_S165FondiAltriIstituti' as ProcedureName, PATRTERZI.RETE as i_rete, PATRTERZI.COD_FISCALE as i_codiceFiscale, + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRTERZI.COD_FISCALE + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + -- GROUP BY + -- PATRTERZI.COD_FISCALE, PATRTERZI.RETE, PATRTERZI.intermediario, ANAGPRODTERZI.NOME_PRODOTTO, PATRTERZI.DATA_SOTTOSCRIZIONE, PATRTERZI.FREQ_RATA, + -- PATRTERZI.CTV, PATRTERZI.VERSATO_NETTO, RISCHIOPROD.VAR_PERC_PTF, RISCHIOPROD.COPERTURA, RISCHIOAGGR.VAR_PERC_PTF, RISCHIOAGGR.COPERTURA, + -- PATRTERZI.COD_PRODOTTO, RISCHIOAGGR.CREDITRISK +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S167DistribuzioneRischioCredito +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_D2_S167DistribuzioneRischioCredito + SELECT 'C6MartPeriodico.PL_D2_S167DistribuzioneRischioCredito' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRBF.COD_FISCALE +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +'Altri Istituti' AS INTERMEDIARIO, +--PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRTERZI.COD_FISCALE +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +--PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT 'C6MartPeriodico.PL_D2_S167DistribuzioneRischioCredito' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRBF.COD_FISCALE +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRTERZI.COD_FISCALE +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S168TabellaEmittenti +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_D2_S168TabellaEmittenti + SELECT 'C6MartPeriodico.PL_D2_S168TabellaEmittenti' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceFiscale, + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =V.COD_FISCALE + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS, + RATING + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ + (select sum(ctv_prodotto) from + c6martperiodico.patrimonio_emittenti + where cod_fiscale = L.COD_FISCALE and rete = L.RETE + and ctv_prodotto > 0) + *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +--RATING as RATING +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +--RATING as RATING +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =V.COD_FISCALE +LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS, +RATING +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10 +--RATING +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END +------------------------------------------------------------------------- +-----------------------------------------------PL_S43DettaglioProdottiBF +BEGIN +SELECT COUNT(*) as TOTSELFLIQ, PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE + INTO #TOTSELFLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRIMONIO_BF.COD_FISCALE + WHERE ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE + SELECT COUNT(*) as TOTLIQ, PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE + INTO #TOTLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRIMONIO_BF.COD_FISCALE + WHERE ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.COD_FISCALE, PATRIMONIO_BF.RETE +INSERT INTO WH.PL_S43DettaglioProdottiBF +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT 'C6MartPeriodico.PL_S43DettaglioProdottiBF' as ProcedureName, PATRBF.RETE, PATRBF.COD_FISCALE , +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO,PATRBF.RETE, PATRBF.COD_FISCALE) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA,PATRBF.RETE, PATRBF.COD_FISCALE),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN TOTSELFLIQ = TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRBF.COD_FISCALE +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + --LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +left JOIN #TOTSELFLIQ t1 on t1.rete = PATRBF.RETE and t1.COD_FISCALE = PATRBF.COD_FISCALE +left JOIN #TOTLIQ t2 on t2.rete = PATRBF.RETE and t2.COD_FISCALE = PATRBF.COD_FISCALE +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_PROGETTO,nome_progetto, PATRBF.CTV DESC + drop table #TOTSELFLIQ +drop table #TOTLIQ +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S169RischiomercatoRischiocredito +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_D2_S169RischiomercatoRischiocredito + SELECT 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG, + wh.MERGED_PROCEDURE_LIST l + where + 1=1 and l.FiscalCode = PATRBF.COD_FISCALE + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG, + wh.MERGED_PROCEDURE_LIST l + where + 1=1 and l.FiscalCode = TERZI.COD_FISCALE + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRBF.COD_FISCALE + where + 1=1 + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =TERZI.COD_FISCALE + where + 1=1 + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S170RischioDiversificazione +BEGIN +INSERT INTO WH.PL_D2_S170RischioDiversificazione + SELECT 'C6MartPeriodico.PL_D2_S170RischioDiversificazione' as ProcedureName, K.RETE as i_rete, K.COD_FISCALE as i_codiceFiscale, +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + when cod_Aggreg = 'COMPLESSIVO|TERZI' then (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + when cod_Aggreg = 'COMPLESSIVO' then (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + (SELECT isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = K.COD_FISCALE + and rete= K.RETE + and CTV > 0) + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN ((select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND (select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND (select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN ((select count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = K.COD_FISCALE and rete = K.RETE) - (select count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = K.COD_FISCALE and rete = K.RETE) = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =K.COD_FISCALE + left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +ORDER BY ordine +END +------------------------------------------------------------------------- +-------------------------------------------PL_D2_S171PatrimonioNonRappresentabileAssettClass +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + INSERT INTO WH.PL_D2_S171PatrimonioNonRappresentabileAssettClass + SELECT 'C6MartPeriodico.PL_D2_S171PatrimonioNonRappresentabileAssettClass' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + CASE PATRBF.RETE WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' end as Intermediario + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRBF.COD_FISCALE + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL +--INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <> 0.00 +--INIZIO INTERVENTI OMNIA + UNION ALL + SELECT 'C6MartPeriodico.PL_D2_S171PatrimonioNonRappresentabileAssettClass' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + CASE PATRBF.RETE WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' end as Intermediario + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRBF.COD_FISCALE + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO, + PATRBF.RETE, + PATRBF.COD_FISCALE + ORDER BY CONTROVALORE DESC +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S137Bonus +BEGIN +INSERT INTO WH.PL_MP_S137Bonus + SELECT 'C6MartPeriodico.PL_MP_S137Bonus' as ProcedureName, [RETE] as i_rete, [COD_FISCALE] as i_codiceF, + [RETE], + bonus.[COD_FISCALE], + [DES_PROD] = CASE + WHEN desrc.descrizione is null THEN '' + ELSE desrc.descrizione + END, + bonus.[COD_CONF], + bonus.[CTV], + bonus.[DT_TRIM], + 'Bonus Maturato' as [DESBONUS_M], + bonus.[BONUS_M], + bonus.[DTDEC_M], + 'Bonus a scadenza 5 anni' as [DESBONUS_5], + bonus.[BONUS_5], + bonus.[DTDEC_5], + 'Bonus a scadenza 10 anni' as [DESBONUS_10], + bonus.[BONUS_10], + bonus.[DTDEC_10], + bonus.[COD_PROD] + FROM [C6MartPeriodico].[BONUS] bonus + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =bonus.COD_FISCALE + Left Join c6martperiodico.descrizione_bonus desrc + on desrc.cod_prod = bonus.cod_prod +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S135MonitoraggioInvestimento +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_MP_S135MonitoraggioInvestimento + SELECT 'C6MartPeriodico.PL_MP_S135MonitoraggioInvestimento' as ProcedureName, [RETE] as i_rete, [COD_FISCALE] as i_codiceF, + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE a + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =a.COD_FISCALE + UNION + SELECT 'C6MartPeriodico.PL_MP_S135MonitoraggioInvestimento' as ProcedureName, [RETE] as i_rete, [COD_FISCALE] as i_codiceF, + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO a + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =a.COD_FISCALE + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S134MonitoraggioLiquidita +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- DECLARE @RendimNonRappr BIT +INSERT INTO WH.PL_MP_S134MonitoraggioLiquidita + SELECT 'C6MartPeriodico.PL_MP_S134MonitoraggioLiquidita' as ProcedureName, MONIT.RETE as i_rete, MONIT.COD_FISCALE as i_codiceF, + case when RENDIMNONRAPPR=1 then 1 else 0 end AS cf_rendim_non_rappr, + MONIT.id_Area AS Need_Area, + CASE + WHEN MONIT.NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(MONIT.NOME_PROGETTO)) + END AS Nome_Progetto, + monit.ordinamento_progetto, + dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, + CTV_MONITORATO AS ControvaloreMonitorato, + APPORTO_INIZIALE AS ApportoIniziale, + APPORTO_SUCCESSIVO AS ApportoSuccessivo, + LIQUIDAZIONI, + CEDOLE_DIVIDENDI AS CedoleEDividendi, + MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, + RENDIMENTO_CUMULATO AS Rendimento_Attuale, + RISORSE_ASSOCIATE AS RisorseApportate, + dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, + RENDIMENTO_ANNUALIZZATO + FROM + C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =MONIT.COD_FISCALE + LEFT OUTER JOIN + ( + SELECT + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end as NOME_PROGETTO, + patr_bf.ordinamento_progetto, + 1 as RENDIMNONRAPPR + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATR_BF.COD_FISCALE + LEFT OUTER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + WHERE + PATR_BF.REND_NON_RAPPR = 1 + group by + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end, + patr_bf.ordinamento_progetto + ) PATR_BF + ON PATR_BF.COD_FISCALE=MONIT.COD_FISCALE + AND PATR_BF.RETE= MONIT.RETE + AND left(PATR_BF.ID_AREA,3)=left(MONIT.ID_AREA,3) + AND isnull(PATR_BF.NOME_PROGETTO,'XXX')=isnull(MONIT.NOME_PROGETTO,'XXX') + And monit.ordinamento_progetto=patr_bf.ordinamento_progetto +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S134BISMonitoraggioLiqInv +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +INSERT INTO WH.PL_MP_S134BISMonitoraggioLiqInv + SELECT 'C6MartPeriodico.PL_MP_S134BISMonitoraggioLiqInv' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceF, + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE a + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =a.COD_FISCALE + UNION + SELECT 'C6MartPeriodico.PL_MP_S134BISMonitoraggioLiqInv' as ProcedureName, RETE as i_rete, COD_FISCALE as i_codiceF, + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO a + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =a.COD_FISCALE + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END +------------------------------------------------------------------------- +-------------------------------------------PL_MP_S133BISPrincipaliProdotti +BEGIN +;with ata as +( +SELECT PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceF, + ANAGPROD.DESCR_PRODOTTO AS descrProdotto + ,PATRBF.CTV AS Controvalore + ,CASE + WHEN patrbf.tipo_prodotto = 'CC' THEN 0.00 + ELSE RISCHIO_PROD.VAR_PERC_PTF + END AS VaRprodotto + ,((CASE + WHEN ((PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100) is null then 0.00 + ELSE(PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100 + END) / (CASE + WHEN sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale'+PATRBF.RETE+PATRBF.COD_FISCALE) = 0 THEN 1 + ELSE sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale'+PATRBF.RETE+PATRBF.COD_FISCALE) + END))*100 as rischioRelativo + ,(PATRBF.CTV/(sum(PATRBF.CTV) over (partition by 'totale'+PATRBF.RETE+PATRBF.COD_FISCALE)))*100 AS pesoRelativo + ,PATRBF.ID_AREA AS codAreaBisogno + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRBF.COD_FISCALE + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO + INNER JOIN C6MartPeriodico.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.ordinamento_progetto as varchar),'') + '|' + WHEN LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END + + PATRBF.POSITION_ID + WHERE + PATRBF.CTV <>0 + AND PATRBF.ID_AREA <> 'Cc' + ), tot as + (select *, row_number() over (partition by i_rete, i_codiceF ORDER BY rischioRelativo DESC, Controvalore DESC) as pos + from ata + ) + INSERT INTO WH.PL_MP_S133BISPrincipaliProdotti + SELECT 'C6MartPeriodico.PL_MP_S133BISPrincipaliProdotti' as ProcedureName, i_rete, i_codiceF, descrProdotto, Controvalore, VaRprodotto, + rischioRelativo, pesoRelativo, codAreaBisogno from tot where pos <=10 +END +------------------------------------------------------------------------- +----[C6MartPeriodico].[PL_MP_S133AreeBisognoPrincProd] +BEGIN +INSERT INTO wh.[PL_MP_S133AreeBisognoPrincProd] +SELECT 'PL_MP_S133AreeBisognoPrincProd', [Rete] + ,[CodiceFiscale] + ,[NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] a + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =a.[CodiceFiscale] + order by ordinamento +END +------------------------------------------------------------------------- +------ [C6MartPeriodico].[PL_MP_S146RischioDiversificazione] +begin + select count(*) as contaCC, cod_fiscale, rete + into #contaCC + from c6martperiodico.patrimonio_Bf a + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =a.cod_fiscale + where tipo_prodotto = 'CC' + group by cod_fiscale, rete + select count(*) as contaPOS, cod_fiscale, rete + into #contaPOS + from c6martperiodico.patrimonio_Bf a + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =a.cod_fiscale + group by cod_fiscale, rete +INSERT INTO wh.PL_MP_S146RischioDiversificazione +SELECT 'PL_MP_S146RischioDiversificazione',K.RETE, K.COD_FISCALE, +K.COD_FISCALE, +K.RETE, +CASE + WHEN (contaPOS - contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND contaPOS - contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND contaPOS - contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (contaPOS - contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =K.cod_fiscale + left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +left join #contaCC cc on K.COD_FISCALE = cc.COD_FISCALE and K.RETE = cc.rete +left join #contaPOS pos on K.COD_FISCALE = pos.COD_FISCALE and K.RETE = pos.rete +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +ORDER BY Ordine +END +------------------------------------------------------------------------- +---------[C6MartPeriodico].[PL_MP_S141AnalisiRisparmioTable] +begin +select sum(ctv_prodotto) as patr_compl, rete, cod_fiscale +into #patr_compl +from c6martperiodico.patrimonio_emittenti a +INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =a.cod_fiscale +where ctv_prodotto > 0 +group by rete, cod_fiscale +INSERT INTO wh.PL_MP_S141AnalisiRisparmioTable +SELECT 'PL_MP_S141AnalisiRisparmioTable',RETE, COD_FISCALE, + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +FROM ( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + --RATING AS RATING, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, +--EN 26012016: solo se per un emittente nessun prodotto riporta nessuna copertura +-- viene impostato nc=1 (non classificato) e si assume che nessuna riskclass +-- sia valorizzato. +-- sum(case when copertura > 0 then 0 else 1 end) as nc + min(case when copertura > 0 then 0 else 1 end) as nc + FROM + (SELECT --Y.* + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + --RATING AS RATING, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =v.cod_fiscale + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + RATING, + CREDITRISKCLASS + ) Y + GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +------COMPLESSIVO + SELECT + l.COD_FISCALE, + l.RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(p.patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, +--EN 26012016 +-- sum(case when copertura > 0 then 0 else 1 end) as nc + min(case when copertura > 0 then 0 else 1 end) as nc +FROM +( +SELECT --L.* + y.COD_FISCALE, + y.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER, + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , + SUM(COPERTURA) AS COPERTURA +FROM +( + SELECT --V.* + V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =v.cod_fiscale + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + RATING, + INTERMEDIARIO, + CREDITRISKCLASS + ) Y +GROUP BY + y.COD_FISCALE, + y.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10 +) L + inner join #patr_compl p on p.rete = l.rete and p.cod_fiscale = l.cod_fiscale +GROUP BY + l. COD_FISCALE, + l.RETE, + INTERMEDIARIO, + EMITTENTE +) U + ORDER BY U.CONCENTRATION DESC +END +------------------------------------------------------------------------- +------[C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts] +BEGIN +--QUERY PER INTERMEDIARIO +INSERT INTO wh.PL_MP_S140AnalisiRisparmioCharts +SELECT 'PL_MP_S140AnalisiRisparmioCharts', RETE, COD_FISCALE, *FROM +( +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS ctv +--FINE INTERVENTI OMNIA +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRBF.cod_fiscale +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +--INIZIO INTERVENTI OMNIA +---Per calcolare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF a +INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =a.cod_fiscale +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine calcolo somma self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRTERZI.cod_fiscale +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi a +INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =a.cod_fiscale +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS CTV +--FINE INTERVENTI OMNIA +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRBF.cod_fiscale +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF a +INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =a.cod_fiscale +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +--INIZIO INTERVENTI OMNIA +--per fare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF a +INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =a.cod_fiscale +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine somma Self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRTERZI.cod_fiscale +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi a +INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =a.cod_fiscale +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +)X +END +------------------------------------------------------------------------- +----- [C6MartPeriodico].[PL_MP_S137BISCapitaleProtetto] + begin + INSERT INTO wh.PL_MP_S137BISCapitaleProtetto + SELECT 'PL_MP_S137BISCapitaleProtetto', RETE + ,CODFIS + ,DES_PROD + ,COD_CONF + ,QUOTA + ,NUMEROQUOTE + ,CONTROVALORE + ,DATARIF + ,DES_MAX + ,QUOTA_MAX + ,QUOTA_MAX_PERC + ,DATARIF_MAX + ,DES_PROT + ,QUOTA_PROT + ,NUMEROQUOTE_PROT + ,CONTROVALORE_PROT + ,DES_PROD_TIT -- Aggiunta per E-FOI80 + FROM C6MartPeriodico.CAPPROT a + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =a.codfis + WHERE 1=1 +END +------------------------------------------------------------------------- +------------ [C6MartPeriodico].[PL_S43ContoCorrenteBF] +BEGIN + INSERT INTO wh.PL_S43ContoCorrenteBF + SELECT 'PL_S43ContoCorrenteBF', ANAG_CC.rete, ANAG_CC.cod_fiscale, + dbo.ToShortDateString(ANAG_CC.DATA_APERTURA) AS datadiSottoscrizione, + ANAG_CC.COD_CC AS conto, + cast(ANAG_CC.SALDOCONTABILE as decimal(15,2)) as Controvalore, + cast(ANAG_CC.SALDODISPONIBILE as decimal(15,2)) as SALDO_DISPONIBILE, + null as creditrisk , + 'n.a.' as creditriskstring, + 0 as var, + null as varString, + 0 as totaleVar, + null as totaleVarString + FROM + C6MartPeriodico.ANAG_CC + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =ANAG_CC.cod_fiscale + WHERE + ANAG_CC.SALDOCONTABILE < 0 + ORDER BY + ANAG_CC.SALDOCONTABILE DESC +END +------------------------------------------------------------------------- +------[C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] +BEGIN + SELECT COUNT(*) as TOTSELFLIQ, PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + into #TOTSELFLIQ1 + FROM C6MARTPERIODICO.PATRIMONIO_BF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRIMONIO_BF.cod_fiscale + WHERE ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + SELECT COUNT(*) as TOTLIQ, PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + into #PATRIMONIO_BF + FROM C6MARTPERIODICO.PATRIMONIO_BF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRIMONIO_BF.cod_fiscale + WHERE ID_AREA = 'LIQ' + GROUP BY PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE + INSERT INTO wh.[PL_S43BISDettaglioProdottiBF] +SELECT 'PL_S43BISDettaglioProdottiBF', PATRBF.RETE, PATRBF.COD_FISCALE, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, +--Bido +SUM(PATRBF.CTV ) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.RETE, PATRBF.COD_FISCALE),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN TOTSELFLIQ = TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --V THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +--TRINGALI + CASE + WHEN (ISNULL(RISCHIO_AGGR_PROG.copertura,100) < 100) + --v THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_need_progString, + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.id_area='liq' + and (patrbf.tipo_prodotto='CC' + or patrbf.isin in('EURO00000009', 'EURO10000007'))) + then dbo.TOSHORTDATESTRING(C6MartPeriodico.getTrimestre2(getdate(),0)) +--FINE INTERVENTI OMNIA + else +--disasteriscare + --dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) +--cancellare inizio + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.chiave_progetto = '2205396' + and patrbf.tipo_prodotto = 'FI') + then '26/06/2014' + else + dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) + end +--cancellare fine + end AS dataAssociazione, -- CAMBIATA TRINGALI--marianna, cambiata per i cc senza data di associazione +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.VERSATO_NETTO_DA_ASSOC,0) end AS VersatoNetto, +CASE WHEN (MONIT.VERSATO_NETTO_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as VersatoNettoString, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.UTILE_PERDITA_DA_ASSOC,0) END AS MinusPlusValenza, +CASE WHEN (MONIT.UTILE_PERDITA_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in ('EURO00000009', 'EURO10000007' )THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_PROD.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK is null THEN 'n.a.' + ELSE NULL + END as creditriskstring, +-- CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRBF.cod_fiscale +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + -- LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) +LEFT JOIN #PATRIMONIO_BF bf on bf.rete = PATRBF.rete and bf.cod_fiscale = PATRBF.cod_fiscale +LEFT JOIN #TOTSELFLIQ1 tot on tot.rete = PATRBF.rete and tot.cod_fiscale = PATRBF.cod_fiscale +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +--MODIFICA TRINGALI PER PRENDERE DETTAGLIO MONITORAGGIO +C6MartPeriodico.MONITORAGGIO_DETTAGLIO MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + --AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + and PATRBF.POSITION_ID=MONIT.POSITION_ID + --AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONATT +ON + PATRBF.RETE = MONATT.RETE + AND PATRBF.COD_FISCALE = MONATT.COD_FISCALE + AND + (PATRBF.ID_AREA=(CASE WHEN MONATT.ID_AREA='Exr' THEN 'Ext' ELSE MONATT.ID_AREA END) AND PATRBF.ID_AREA <> 'INV' + OR + PATRBF.ID_AREA = 'INV' AND PATRBF.ID_AREA = MONATT.ID_AREA AND PATRBF.ORDINAMENTO_PROGETTO = MONATT.ORDINAMENTO_PROGETTO + ) +--blocchiamo il monitoraggio per i progetti a ctv=0 + --And ctv_monitorato>0 +WHERE 1 = 1 + AND ( PATRBF.CTV <> 0 + --E-DEFAULT4 per gestire l'esposizione dei prodotti con ctv = 0 delle banche in default - 18/1/2016 + or (PATRBF.tipo_prodotto = 'DT' and + PATRBF.cod_interno in ('08558830','08594680','04880930','04867780','03972990', + '04281500','04539780','04657780','04966850','04119400','04931400', + '04556320', + '04119600','04291890','04064530' +))) + --fine E-DEFAULT4 +ORDER BY + AREASORTORDER, PATRBF.NOME_PROGETTO, PATRBF.CTV DESC -- modifica TRINGALI +drop table #PATRIMONIO_BF +END +------------------------------------------------------------------------- +------ [C6MartPeriodico].[PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento] +BEGIN + INSERT INTO wh.PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento + SELECT 'PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento', PATR_BF.RETE, + PATR_BF.COD_FISCALE, + PATR_BF.ID_AREA AS Need_Area, + PATR_BF.ID_CONTRATTO AS Contratto, + CASE + WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA + ELSE ltrim(rtrim(PATR_BF.NOME_PROGETTO)) + END AS Area_O_Nome_Progetto, + --PRODOTTI.DESCR_PRODOTTO AS Descrizione, + CASE WHEN PATR_BF.TIPO_PRODOTTO <> 'CC' THEN PRODOTTI.DESCR_PRODOTTO + ELSE PRODOTTI.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATR_BF.PARTVIA_DISINV AS PartitaViaggiante, + SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.RETE, + PATR_BF.COD_FISCALE,PATR_BF.POSITION_ID) AS Controvalore, + dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATR_BF.cod_fiscale + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI AS PRODOTTI ON + PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO + --V La sezione deve uscire soltanto per aree monitorate + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE M ON + PATR_BF.RETE = M.RETE AND PATR_BF.COD_FISCALE = M.COD_FISCALE + AND( + (PATR_BF.ID_AREA = M.ID_AREA AND PATR_BF.ID_AREA <> 'INV') + OR + (PATR_BF.ID_AREA = 'INV' AND PATR_BF.ID_AREA = M.ID_AREA AND PATR_BF.ORDINAMENTO_PROGETTO = M.ORDINAMENTO_PROGETTO) + ) + LEFT OUTER JOIN C6MartPeriodico.ANAG_CC ON + ANAG_CC.COD_FISCALE = PATR_BF.COD_FISCALE + AND ANAG_CC.RETE = PATR_BF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATR_BF.position_id,72,9) + WHERE + PATR_BF.REND_NON_RAPPR = 1 + ORDER BY + Area_O_Nome_Progetto +END +------------------------------------------------------------------------- +----- [C6MartPeriodico].[PL_S82BisDatiSintetici] +BEGIN + INSERT INTO wh.PL_S82BisDatiSintetici + SELECT DISTINCT 'PL_S82BisDatiSintetici', + BF.RETE, + BF.COD_FISCALE, + BF.ORDINAMENTO_PROGETTO, + 'Inv' AS need_area, + ltrim(rtrim(ISNULL(PIRMOD.NOME_PROGETTO,BF.NOME_PROGETTO))) AS NOME_PROGETTO, + ISNULL(RA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RA.COPERTURA IS NULL THEN 'n.c.' + WHEN RA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RA.COPERTURA IS NULL THEN 'n.c.' + WHEN RA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PIRMOD.ORIZZ_TEMP AS orizzonte_Pianificato, + C6MartPeriodico.getDescFromDate(DATEDIFF(m,C6MartPeriodico.getTrimestre(GETDATE(),0),(DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM,PIRMOD.DATA_PIANIF)) )) AS durataResidua, + SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO, bf.ordinamento_progetto) AS ControvaloreAttuale + FROM + C6MartPeriodico.PATRIMONIO_BF AS BF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =BF.cod_fiscale + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON BF.RETE = RA.RETE + AND BF.COD_FISCALE = RA.COD_FISCALE + --V AND RA.COD_AGGREG = 'PIRAMIDE|Inv' + AND RA.COD_AGGREG = 'RISFIN|PIRAMIDE|Inv|'+ BF.NOME_PROGETTO + '|' + cast(bf.ordinamento_progetto as varchar) + -- + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD + ON BF.RETE = PIRMOD.RETE + AND BF.COD_FISCALE = PIRMOD.COD_FISCALE + --AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + AND BF.ORDINAMENTO_PROGETTO = PIRMOD.ORDINAMENTO_PROGETTO + AND PIRMOD.ID_AREA = 'Inv' + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS BFAggr + ON BF.RETE = BFAggr.RETE + AND BF.COD_FISCALE = BFAggr.COD_FISCALE + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE AS MONIT + ON BF.RETE = MONIT.RETE + AND BF.COD_FISCALE = MONIT.COD_FISCALE + AND BF.ID_AREA = MONIT.ID_AREA + AND BF.NOME_PROGETTO = MONIT.NOME_PROGETTO + AND BF.ORDINAMENTO_PROGETTO = MONIT.ORDINAMENTO_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'Inv' + END + --AND BF.ORDINAMENTO_PROGETTO=1521667 +------------------------------------------------------------------------- +----- [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] +begin +INSERT INTO wh.PL_S76AlternativaPatrimonioNonRappresentabileAssettClass +SELECT 'PL_S76AlternativaPatrimonioNonRappresentabileAssettClass', * FROM +( + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + case when PATRBF.RETE = 'F' then 'Fideuram' else 'Sanpaolo Invest' end as Intermediario + --patrbf.ordinamento_progetto + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRBF.cod_fiscale + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + AND PATRBF.CTV <> 0.00 +UNION ALL +SELECT PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + sum(ASUL.CTV) as Controvalore, + sum(ASUL.CTV) as controvalore_contratto, + Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + case when PATRBF.RETE = 'F' then 'Fideuram' else 'Sanpaolo Invest' end as Intermediario + --patrbf.ordinamento_progetto + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRBF.cod_fiscale + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN + C6MartPeriodico.DETTAGLIO_ASUL ASUL + ON + PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + left JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + ASSETPERC.COD_PRODOTTO IS NULL + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, PATRBF.ID_CONTRATTO, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end, + PATRBF.NOME_PROGETTO, + patrbf.chiave_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE), + ANAGP.DESCR_PRODOTTO + )XX +END +------------------------------------------------------------------------- +------------------------------- [C6MartPeriodico].[PL_D_S170RischioDiversificazione] +BEGIN + select count(*) as contaCC, cod_fiscale, rete + into #contaCCC + from c6martperiodico.patrimonio_Bf a + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =a.cod_fiscale + where tipo_prodotto = 'CC' + group by cod_fiscale, rete + select count(*) as contaPOS, cod_fiscale, rete + into #contaPOSS + from c6martperiodico.patrimonio_Bf a + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =a.cod_fiscale + group by cod_fiscale, rete + SELECT isnull(sum(ctv),0) as ctvbf, cod_fiscale, rete + INTO #ctvbf + FROM c6martperiodico.patrimonio_bf a + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =a.cod_fiscale + where CTV > 0 + group by cod_fiscale, rete + SELECT isnull(sum(ctv),0) as ctvterzi, cod_fiscale, rete + INTO #ctvterzi + FROM c6martperiodico.patrimonio_terzi a + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =a.cod_fiscale + where CTV > 0 + group by cod_fiscale, rete + INSERT INTO wh.PL_D_S170RischioDiversificazione +SELECT 'PL_D_S170RischioDiversificazione',K.RETE,K.COD_FISCALE, +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then COALESCE(ctvbf,0) + when cod_Aggreg = 'COMPLESSIVO|TERZI' then COALESCE(ctvterzi,0) + when cod_Aggreg = 'COMPLESSIVO' then COALESCE(ctvbf,0) + COALESCE(ctvterzi,0) + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN (COALESCE(contaPOS,0) - COALESCE(contacc,0) = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND COALESCE(contaPOS,0) - COALESCE(contacc,0) <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND COALESCE(contaPOS,0) - COALESCE(contacc,0) <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (contaPOS - contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =k.cod_fiscale + left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +full outer join #contaCCC cc on k.COD_FISCALE = cc.cod_fiscale and k.Rete = cc.rete +full outer join #contaPOSS pos on k.COD_FISCALE = pos.cod_fiscale and k.Rete = pos.rete +full outer join #ctvbf bf on k.COD_FISCALE = bf.cod_fiscale and k.Rete = bf.rete +full outer join #ctvterzi terzi on k.COD_FISCALE = terzi.cod_fiscale and k.Rete = terzi.rete +WHERE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +ORDER BY ordine +END +------------------------------------------------------------------------- +----------------------------------[C6MartPeriodico].[PL_S96RischiomercatoRischiocredito] +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + truncate table wh.PL_S96RischiomercatoRischiocredito + INSERT INTO wh.PL_S96RischiomercatoRischiocredito + SELECT 'PL_S96RischiomercatoRischiocredito', RETE, COD_FISCALE, * + FROM ( + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG, + wh.MERGED_PROCEDURE_LIST l + where + 1=1 and l.fiscalcode = PATRBF.COD_FISCALE + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + -- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG, + wh.MERGED_PROCEDURE_LIST l + where + 1=1 and l.fiscalcode = TERZI.COD_FISCALE + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =PATRBF.cod_fiscale + where + 1=1 + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =TERZI.cod_fiscale + where + 1=1 + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + )X + order by ordine + END +------------------------------------------------------------------------- +-------------------- [C6MartPeriodico].[PL_S80Alternativa] +BEGIN + SELECT COUNT(*) as MONIT_ATTIV, RETE, COD_FISCALE + into #aa2 + FROM C6MARTPERIODICO.MONITORAGGIO_ATTUALE a + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =a.cod_fiscale + GROUP BY RETE, COD_FISCALE + SELECT COUNT(*) as MONIT_INIT, RETE, COD_FISCALE + into #ab2 + FROM C6MARTPERIODICO.MONITORAGGIO_INIZIALE a + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =a.cod_fiscale + GROUP BY RETE, COD_FISCALE + select a.RETE, a.COD_FISCALE + into #pos2 + from #aa2 a inner join #ab2 b on a.rete = b.rete and a.COD_FISCALE = b.COD_FISCALE + INSERT INTO wh.PL_S80Alternativa + SELECT 'PL_S80Alternativa' as ProcedureName, v.RETE as i_rete, v.Cod_Fiscale as i_codiceFiscale, v.[RETE] + ,v.[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] v + INNER JOIN wh.MERGED_PROCEDURE_LIST l on l.FiscalCode =v.cod_fiscale + inner join #pos2 p on p.rete = v.rete and p.Cod_Fiscale = v.Cod_Fiscale +END +---------------------------------------------- +--maledetti +begin +truncate table wh.Maledetti +insert into wh.Maledetti --70 minutes +( +[i_CodiceFiscale] + ,[i_Rete] + ,[Rete] + ,[NomeRete] + ,[Agente] + ,[CognomeAgente] + ,[NomeAgente] + ,[IndirizzoAgente] + ,[CapAgente] + ,[CittaAgente] + ,[TelefonoAgente] + ,[CodiceFiscale] + ,[CognomeCliente] + ,[NomeCliente] + ,[ProfiloIsAct] + ,[PatrimonioNonRappresentabile] + ,[PartiteViaggiantiDisinv] + ,[PartiteViaggiantiInv] + ,[ContoCorrente] + ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,[RisorseNonAssociate] + ,[Patrimonioaltroctv] + ,[Patrimonioimmobiliarectv] + ,[PatrimonioTerzictv] + ,[PatrimonioTerziCtvAlNettoContoCorrente] + ,[PatrimonioTerziContoCorrente] + ,[Patrimoniobancafideuramctv] + ,[Patrimoniocomplessivototalectv] + ,[NumeroIntermediari] + ,[CodiceContratto] + ,[tip_contratto] + ,[contrattoold] + ,[NoMonitoraggio] + ,[descrizioneDiagnosi] + ,[idModelloDiagnosi] + ,[idReportDiagnosi] + ,[descrizioneMonitoraggio] + ,[idReportMonitoraggio] + ,[idModelloMonitoraggio] + ,[AdesioneSuccessivaAvanzato] + ,[VaRRisorseNonAssociate] + ,[CoperturaRisorseNonAssociate] + ,[VaRTotaleRisorseFinanziarie] + ,[CoperturaTotaleRisorseFinanziarie] + ,[IdReportPDFDiagnosi] + ,[IdReportPDFMonitoraggio] + ,scaduto + ) +SELECT + DISTINCT + contratti.Cod_Fiscale as i_CodiceFiscale + ,contratti.Rete as i_Rete + --DATI COMUNI + --RETE + ,contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,ISNULL(monit.NoMonitoraggio, 1) AS NoMonitoraggio --fix 20161012 + ,'Diagnosi' as descrizioneDiagnosi + ,CASE + WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 5 + ELSE -1 + END AS idModelloDiagnosi + ,CASE + WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 1 + ELSE -1 + END AS idReportDiagnosi + ,'Monitoraggio' as descrizioneMonitoraggio + ,4 as idReportMonitoraggio--4 + ,CASE isnull(tip_contratto,0) + WHEN 0 THEN 12--12 + WHEN 1 THEN 12--12 + WHEN 2 THEN 13--13 + END AS idModelloMonitoraggio + --************************************************* + ,0 AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFMonitoraggio + ,mifid.scaduto + FROM [C6MartPeriodico].contrattoSEI contratti + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + --65992 + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + -- 64864 + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --modificata da Valerio 12 marzo 2012 + --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + --64864 + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + --64864 + left join ( + select distinct monit.rete, monit.cod_fiscale, + case when isnull(monitInit.data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) then 1 + when monitReport.cod_fiscale is null then 1 else 0 end as NoMonitoraggio + from c6martperiodico.monitoraggio_attuale monit + left join c6martperiodico.monitoraggio_iniziale monitInit on monit.rete = monitInit.rete and monit.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport on monit.rete = monitReport.rete and monit.cod_fiscale = monitReport.cod_fiscale + ) monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + WHERE 1=1 and + contratti.Cod_Fiscale in (select fiscalcode from wh.MERGED_PROCEDURE_LIST) + --144104 + end +------------------------------------------------------------------------- +END \ No newline at end of file diff --git a/sql/storedProduzione/wh_ProduceMaladetti.sql b/sql/storedProduzione/wh_ProduceMaladetti.sql new file mode 100644 index 00000000..7f31233f --- /dev/null +++ b/sql/storedProduzione/wh_ProduceMaladetti.sql @@ -0,0 +1,393 @@ +CREATE procedure [wh].[ProduceMaladetti] +as +begin +truncate table wh.Maledetti +insert into wh.Maledetti --70 minutes +( +[i_CodiceFiscale] + ,[i_Rete] + ,[Rete] + ,[NomeRete] + ,[Agente] + ,[CognomeAgente] + ,[NomeAgente] + ,[IndirizzoAgente] + ,[CapAgente] + ,[CittaAgente] + ,[TelefonoAgente] + ,[CodiceFiscale] + ,[CognomeCliente] + ,[NomeCliente] + ,[ProfiloIsAct] + ,[PatrimonioNonRappresentabile] + ,[PartiteViaggiantiDisinv] + ,[PartiteViaggiantiInv] + ,[ContoCorrente] + ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,[RisorseNonAssociate] + ,[Patrimonioaltroctv] + ,[Patrimonioimmobiliarectv] + ,[PatrimonioTerzictv] + ,[PatrimonioTerziCtvAlNettoContoCorrente] + ,[PatrimonioTerziContoCorrente] + ,[Patrimoniobancafideuramctv] + ,[Patrimoniocomplessivototalectv] + ,[NumeroIntermediari] + ,[CodiceContratto] + ,[tip_contratto] + ,[contrattoold] + ,[NoMonitoraggio] + ,[descrizioneDiagnosi] + ,[idModelloDiagnosi] + ,[idReportDiagnosi] + ,[descrizioneMonitoraggio] + ,[idReportMonitoraggio] + ,[idModelloMonitoraggio] + ,[AdesioneSuccessivaAvanzato] + ,[VaRRisorseNonAssociate] + ,[CoperturaRisorseNonAssociate] + ,[VaRTotaleRisorseFinanziarie] + ,[CoperturaTotaleRisorseFinanziarie] + ,[IdReportPDFDiagnosi] + ,[IdReportPDFMonitoraggio] + ) + SELECT DISTINCT + contratti.Cod_Fiscale as i_CodiceFiscale + ,contratti.Rete as i_Rete + --DATI COMUNI + --RETE + ,contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Inv.' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,CASE WHEN count(monit.id_area) OVER (PARTITION BY monit.rete,monit.cod_fiscale) = 0 + or isnull(monitInit.data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) + or monitReport.cod_fiscale is null + THEN 1 + ELSE 0 + END AS NoMonitoraggio + ,'Diagnosi' as descrizioneDiagnosi + ,CASE + WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 5 + ELSE -1 + END AS idModelloDiagnosi + ,CASE + WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 1 + ELSE -1 + END AS idReportDiagnosi + ,'Monitoraggio' as descrizioneMonitoraggio + ,4 as idReportMonitoraggio--4 + ,CASE isnull(tip_contratto,0) + WHEN 0 THEN 12--12 + WHEN 1 THEN 12--12 + WHEN 2 THEN 13--13 + END AS idModelloMonitoraggio + --************************************************* + ,0 AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFMonitoraggio + FROM [C6MartPeriodico].contrattoSEI contratti + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --modificata da Valerio 12 marzo 2012 + --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6martperiodico.monitoraggio_attuale monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + left join c6martperiodico.monitoraggio_iniziale monitInit + on patrimonioBF.rete = monitInit.rete + and patrimonioBF.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport + on patrimonioBF.rete = monitReport.rete + and patrimonioBF.cod_fiscale = monitReport.cod_fiscale + WHERE 1=1 + and mifid.scaduto = 0 + end +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [wh].[ProduceMaladetti] Script Date: 08/02/2022 17:28:30 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +--ALTER procedure [wh].[ProduceMaladetti] +--as +--begin +--truncate table wh.Maledetti +--insert into wh.Maledetti --70 minutes +--( +--[i_CodiceFiscale] +-- ,[i_Rete] +-- ,[Rete] +-- ,[NomeRete] +-- ,[Agente] +-- ,[CognomeAgente] +-- ,[NomeAgente] +-- ,[IndirizzoAgente] +-- ,[CapAgente] +-- ,[CittaAgente] +-- ,[TelefonoAgente] +-- ,[CodiceFiscale] +-- ,[CognomeCliente] +-- ,[NomeCliente] +-- ,[ProfiloIsAct] +-- ,[PatrimonioNonRappresentabile] +-- ,[PartiteViaggiantiDisinv] +-- ,[PartiteViaggiantiInv] +-- ,[ContoCorrente] +-- ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +-- ,[RisorseNonAssociate] +-- ,[Patrimonioaltroctv] +-- ,[Patrimonioimmobiliarectv] +-- ,[PatrimonioTerzictv] +-- ,[PatrimonioTerziCtvAlNettoContoCorrente] +-- ,[PatrimonioTerziContoCorrente] +-- ,[Patrimoniobancafideuramctv] +-- ,[Patrimoniocomplessivototalectv] +-- ,[NumeroIntermediari] +-- ,[CodiceContratto] +-- ,[tip_contratto] +-- ,[contrattoold] +-- ,[NoMonitoraggio] +-- ,[descrizioneDiagnosi] +-- ,[idModelloDiagnosi] +-- ,[idReportDiagnosi] +-- ,[descrizioneMonitoraggio] +-- ,[idReportMonitoraggio] +-- ,[idModelloMonitoraggio] +-- ,[AdesioneSuccessivaAvanzato] +-- ,[VaRRisorseNonAssociate] +-- ,[CoperturaRisorseNonAssociate] +-- ,[VaRTotaleRisorseFinanziarie] +-- ,[CoperturaTotaleRisorseFinanziarie] +-- ,[IdReportPDFDiagnosi] +-- ,[IdReportPDFMonitoraggio] +-- ) +-- SELECT DISTINCT +-- contratti.Cod_Fiscale as i_CodiceFiscale +-- ,contratti.Rete as i_Rete +-- --DATI COMUNI +-- --RETE +-- ,contratti.Rete +-- ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete +-- --AGENTE +-- ,contratti.Cod_Agente Agente +-- ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente +-- ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente +-- ,isnull(promotori.Indirizzo,'') IndirizzoAgente +-- ,isnull(promotori.Cap,'') CapAgente +-- ,isnull(promotori.Localita,'') CittaAgente +-- ,isnull(promotori.TEL_Recapito,'') TelefonoAgente +-- --CLIENTE +-- ,contratti.Cod_Fiscale CodiceFiscale +-- ,clienti.Cognome CognomeCliente +-- ,clienti.nome NomeCliente +-- --PATRIMONI CLIENTE +-- ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct +-- ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile +-- ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv +-- ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv +-- ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente +-- ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente +-- ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate +-- ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv +-- ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv +-- ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv +-- ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente +-- ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente +-- ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv +-- ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv +-- ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari +-- --CONTRATTO +-- ,contratti.CodiceContratto CodiceContratto +-- ,contratti.tip_contratto AS tip_contratto +-- ,0 AS contrattoold +-- --************************************************* +-- ,CASE WHEN count(monit.id_area) OVER (PARTITION BY monit.rete,monit.cod_fiscale) = 0 +-- or isnull(monitInit.data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) +-- or monitReport.cod_fiscale is null +-- THEN 1 +-- ELSE 0 +-- END AS NoMonitoraggio +-- ,'Diagnosi' as descrizioneDiagnosi +-- ,CASE +-- WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 5 +-- ELSE -1 +-- END AS idModelloDiagnosi +-- ,CASE +-- WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 1 +-- ELSE -1 +-- END AS idReportDiagnosi +-- ,'Monitoraggio' as descrizioneMonitoraggio +-- ,4 as idReportMonitoraggio--4 +-- ,CASE isnull(tip_contratto,0) +-- WHEN 0 THEN 12--12 +-- WHEN 1 THEN 12--12 +-- WHEN 2 THEN 13--13 +-- END AS idModelloMonitoraggio +-- --************************************************* +-- ,0 AS AdesioneSuccessivaAvanzato +-- ,CASE +-- WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 +-- ELSE RISCHIO_NA.VAR_PERC_PTF +-- END AS VaRRisorseNonAssociate +-- ,CASE +-- WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 +-- ELSE RISCHIO_NA.COPERTURA +-- END AS CoperturaRisorseNonAssociate +-- ,CASE +-- WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 +-- ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF +-- END AS VaRTotaleRisorseFinanziarie +-- ,CASE +-- WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 +-- ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA +-- END AS CoperturaTotaleRisorseFinanziarie +-- ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' +-- AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) +-- AS IdReportPDFDiagnosi +-- ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' +-- AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) +-- AS IdReportPDFMonitoraggio +-- FROM [C6MartPeriodico].contrattoSEI contratti +-- left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori +-- on contratti.Rete = promotori.Rete +-- and contratti.Cod_Agente = promotori.Id_Promotore +-- inner join [C6MartPeriodico].ANAG_CLIENTI clienti +-- on contratti.Rete = clienti.Rete +-- and contratti.Cod_Fiscale = clienti.Cod_Fiscale +-- --V non stampo se non ha patrimonio +-- inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF +-- on contratti.Rete = patrimonioBF.Rete +-- and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale +-- left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro +-- on contratti.Rete = patrimonioAltro.Rete +-- and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale +-- left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare +-- on contratti.Rete = patrimonioImmobiliare.Rete +-- and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale +-- left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi +-- on contratti.Rete = patrimonioTerzi.Rete +-- and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale +-- left outer join [C6MartPeriodico].MIFID MIFID +-- on contratti.Rete = MIFID.Rete +-- and contratti.Cod_Fiscale = MIFID.Cod_Fiscale +-- left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset +-- on contratti.Rete = PatrNonRapprAsset.Rete +-- and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale +-- left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari +-- on contratti.Rete = numIntermediari.Rete +-- and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale +-- left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA +-- on contratti.Rete = RISCHIO_NA.Rete +-- and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale +-- and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' +-- --modificata da Valerio 12 marzo 2012 +-- --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE +-- inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE +-- on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete +-- and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale +-- and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' +-- left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI +-- on contratti.Rete = PARTITEVIAGGIANTI.RETE +-- and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE +-- left join c6martperiodico.monitoraggio_attuale monit +-- on patrimonioBF.rete = monit.rete +-- and patrimonioBF.cod_fiscale = monit.cod_fiscale +-- left join c6martperiodico.monitoraggio_iniziale monitInit +-- on patrimonioBF.rete = monitInit.rete +-- and patrimonioBF.cod_fiscale = monitInit.cod_fiscale +-- left join c6martperiodico.monitoraggio_report monitReport +-- on patrimonioBF.rete = monitReport.rete +-- and patrimonioBF.cod_fiscale = monitReport.cod_fiscale +-- WHERE 1=1 +-- and mifid.scaduto = 0 +-- end \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_AreeMonitorate.sql b/sql/storedProduzione/wh_p_PL_AreeMonitorate.sql new file mode 100644 index 00000000..dc1ea762 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_AreeMonitorate.sql @@ -0,0 +1,5 @@ +CREATE procedure [wh].[p_PL_AreeMonitorate] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NEED_AREA,NEED_ESTESA,NOME_PROGETTO,ORDINAMENTO_PROGETTO,ORDINE,AREAPROGETTOSOTTOMONITORAGGIO from wh.PL_AreeMonitorate + where i_rete = @rete and i_codiceFiscale = @codiceFiscale + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_D2_S151ProfiloDiRischio.sql b/sql/storedProduzione/wh_p_PL_D2_S151ProfiloDiRischio.sql new file mode 100644 index 00000000..c7673292 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_D2_S151ProfiloDiRischio.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_D2_S151ProfiloDiRischio] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,codiceProfilo,dataInizioValidita,varMassimo,varBF,coperturaBF,nomeProfilo,riskclass,experince from wh.PL_D2_S151ProfiloDiRischio where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_D2_S152Patrimonio.sql b/sql/storedProduzione/wh_p_PL_D2_S152Patrimonio.sql new file mode 100644 index 00000000..56e10b05 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_D2_S152Patrimonio.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_D2_S152Patrimonio] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,BFCTV,PatrimonioTerziCTV,FinanziarioCTV,FinanziarioPerc,ImmobiliareCTV,ImmobiliarePerc,AltroCTV,AltroPerc,TotaleCTV from wh.PL_D2_S152Patrimonio where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_D2_S153PatrimonioFinanziario.sql b/sql/storedProduzione/wh_p_PL_D2_S153PatrimonioFinanziario.sql new file mode 100644 index 00000000..7e132c96 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_D2_S153PatrimonioFinanziario.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_D2_S153PatrimonioFinanziario] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Intermediario,Ordine,Banca,Controvalore,Percentuale from wh.PL_D2_S153PatrimonioFinanziario + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY Ordine \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_D2_S154PatrimonioFinanziario.sql b/sql/storedProduzione/wh_p_PL_D2_S154PatrimonioFinanziario.sql new file mode 100644 index 00000000..c06686ca --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_D2_S154PatrimonioFinanziario.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_D2_S154PatrimonioFinanziario] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Banca,Ordinamento,AssetClassId,AssetClassName,Controvalore,Percentuale,PatrimonioFinanziarioCTV from wh.PL_D2_S154PatrimonioFinanziario + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY ORDINAMENTO \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_D2_S155PatrimonioImmobiliare.sql b/sql/storedProduzione/wh_p_PL_D2_S155PatrimonioImmobiliare.sql new file mode 100644 index 00000000..3d220b85 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_D2_S155PatrimonioImmobiliare.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_D2_S155PatrimonioImmobiliare] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Descrizione,Tipologia,Localita,AffittoPercepito,Valore,Totale,TotaleAffitto from wh.PL_D2_S155PatrimonioImmobiliare +where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY Valore desc \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_D2_S156ALtroPatrimonio.sql b/sql/storedProduzione/wh_p_PL_D2_S156ALtroPatrimonio.sql new file mode 100644 index 00000000..634f42d3 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_D2_S156ALtroPatrimonio.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_D2_S156ALtroPatrimonio] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Denominazione,NumeroQuote,Valore,Totale from wh.PL_D2_S156ALtroPatrimonio +where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY Valore DESC \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_D2_S157ConfrontoPiramidi.sql b/sql/storedProduzione/wh_p_PL_D2_S157ConfrontoPiramidi.sql new file mode 100644 index 00000000..a58ef1e6 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_D2_S157ConfrontoPiramidi.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_D2_S157ConfrontoPiramidi] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NeedArea,AreaName,PercentualeModello,PercentualeAttuale,ControvaloreAttuale,ControvaloreModello,Totale_Percentuale,DifferenzaEuro,DifferenzaPercentuale,var_needarea,var_needareaString,copertura_needarea,copertura_needareaString,Nota,somma_controvalAttuale,somma_controvalModello,somma_percentualeAttuale,somma_percentualeModello,var_tot,var_totString,var_tot_pir,var_tot_pirString,copertura_tot,copertura_totString,copertura_tot_pir,copertura_tot_pirString,VAR_RISFIN,VAR_RISFINSTRING,copertura_risfin,copertura_risfinString,ordinamento from wh.PL_D2_S157ConfrontoPiramidi + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY ordinamento \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_D2_S158PiramideModello.sql b/sql/storedProduzione/wh_p_PL_D2_S158PiramideModello.sql new file mode 100644 index 00000000..b866fd33 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_D2_S158PiramideModello.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_D2_S158PiramideModello] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NomePrg,OrizzTempPrg,VarPrg,ControvalorePrg from wh.PL_D2_S158PiramideModello where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_D2_S159PatrimonioFinanziario.sql b/sql/storedProduzione/wh_p_PL_D2_S159PatrimonioFinanziario.sql new file mode 100644 index 00000000..cbe2a929 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_D2_S159PatrimonioFinanziario.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_D2_S159PatrimonioFinanziario] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Banca,Ordinamento,AssetClassId,AssetClassName,Controvalore,Percentuale,Totale from wh.PL_D2_S159PatrimonioFinanziario +where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY ORDINAMENTO \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_D2_S160DettaglioProdottiBF.sql b/sql/storedProduzione/wh_p_PL_D2_S160DettaglioProdottiBF.sql new file mode 100644 index 00000000..39d1d85f --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_D2_S160DettaglioProdottiBF.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_D2_S160DettaglioProdottiBF] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,needarea,needareades,areasortorder,nome_progetto,ORDINAMENTO_PROGETTO,somma_controval_needarea,versato_needarea,versato_needareaString,MinusPlusValenza_needarea,MinusPlusValenza_needareaString,somma_controval_need_prog,versato_need_prog,versato_need_progString,MinusPlusValenza_need_prog,MinusPlusValenza_need_progString,somma_var_need_prog,somma_copertura_need_prog,var_needarea,var_needareaString,copertura_needarea,copertura_needareaString,var_need_prog,var_need_progString,copertura_need_prog,dataSottoscrizione,ContrattoDossier,Descrizione,Controvalore,VersatoNetto,VersatoNettoString,MinusPlusValenza,MinusPlusValenzaString,VaRprodotto,varProdottoString,Coperturaprodotto,PerformanceYTD,performanceDS,partitaViaggiante,nota_needarea,creditrisk,creditriskstring,creditriskemit from wh.PL_D2_S160DettaglioProdottiBF + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY AREASORTORDER,ORDINAMENTO_PROGETTO,nome_progetto, Controvalore DESC \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_D2_S162DettaglioProdotti.sql b/sql/storedProduzione/wh_p_PL_D2_S162DettaglioProdotti.sql new file mode 100644 index 00000000..f9b521c8 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_D2_S162DettaglioProdotti.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_D2_S162DettaglioProdotti] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,TipoProdotto,Intermediario,DataDiSottoscrizioni,Descrizione,Controvalore,VersatoNetto,MinusPlusValenza,VarPerc,VersatoNettoString,MinusPlusValenzaString,VarPercString,TotaleCTV,TotaleVersatoNetto,TotaleVersatoNettoString,TotaleMinus,TotaleMinusString,TotaleVar,TotaleVarString,Copertura_Tot,Aggiornamento,Copertura_Totale,Rete,Cod_Fiscale,Tipo,Note,ProdNonInCatalogo,OrdinamentoProdotti,creditrisk,creditriskstring,creditriskemit from wh.PL_D2_S162DettaglioProdotti where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql b/sql/storedProduzione/wh_p_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..0a80490a --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,4 @@ +CREATE procedure [wh].[p_PL_D2_S163PatrimonioFinanziarioMAssetClass] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Ordinamento,AssetClassId,AssetClassName,Controvalore,Percentuale,PatrimonioFinanziarioCTV from wh.PL_D2_S163PatrimonioFinanziarioMAssetClass + where i_rete = @rete and i_codiceFiscale = @codiceFiscale + ORDER BY + ORDINAMENTO \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_D2_S164PolizzeAltriIstituti.sql b/sql/storedProduzione/wh_p_PL_D2_S164PolizzeAltriIstituti.sql new file mode 100644 index 00000000..8566782d --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_D2_S164PolizzeAltriIstituti.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_D2_S164PolizzeAltriIstituti] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Intermediario,DataDiSottoscrizione,DataDiScadenza,TipologiaPolizza,Descrizione,Aggiornamento,PrestazioneAssicurata,TipoVersamento,AmmontareVersamento from wh.PL_D2_S164PolizzeAltriIstituti where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_D2_S165FondiAltriIstituti.sql b/sql/storedProduzione/wh_p_PL_D2_S165FondiAltriIstituti.sql new file mode 100644 index 00000000..4aacb4e0 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_D2_S165FondiAltriIstituti.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_D2_S165FondiAltriIstituti] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Intermediario,descrizione_prodotto,DataSottoscrizione,tipo_versamento,controvalore,ammontare,somma_controval,Var_Prodotto,Var_ProdottoString,Var_Totale,Var_TotaleString,copertura_totale,Nota,ProdNonInCatalogo,creditrisk,creditriskstring from wh.PL_D2_S165FondiAltriIstituti where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_D2_S167DistribuzioneRischioCredito.sql b/sql/storedProduzione/wh_p_PL_D2_S167DistribuzioneRischioCredito.sql new file mode 100644 index 00000000..52be6390 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_D2_S167DistribuzioneRischioCredito.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_D2_S167DistribuzioneRischioCredito] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,RETE,COD_FISCALE,INTERMEDIARIO,ORDINE,CTV_TOT,CTV_notCovered,CTV_CreditRisk,CTV_na,PERC_CreditRisk,PERC_NA from wh.PL_D2_S167DistribuzioneRischioCredito where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_D2_S168TabellaEmittenti.sql b/sql/storedProduzione/wh_p_PL_D2_S168TabellaEmittenti.sql new file mode 100644 index 00000000..319d4acd --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_D2_S168TabellaEmittenti.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_D2_S168TabellaEmittenti] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,COD_FISCALE,RETE,RATING_AAA,RATING_AAp,RATING_AA,RATING_AAm,RATING_Ap,RATING_A,RATING_Am,RATING_BBBp,RATING_BBB,RATING_BBBm,RATING_BBp,RATING_BB,RATING_BBm,RATING_Bp,RATING_B,RATING_Bm,RATING_CCCp,RATING_CCC,RATING_CCCm,RATING_CC,RATING_C,RATING_D,RATING_na,FLG_RISKCLASS1,FLG_RISKCLASS2,FLG_RISKCLASS3,FLG_RISKCLASS4,FLG_RISKCLASS5,FLG_RISKCLASS6,FLG_RISKCLASS7,FLG_RISKCLASS8,FLG_RISKCLASS9,FLG_RISKCLASS10,INTERMEDIARIO,ISSUER,STOCKSCounterValue,bondsCounterValue,CONCENTRATION_ISSUER,CONCENTRATION,NC from wh.PL_D2_S168TabellaEmittenti + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_D2_S169RischiomercatoRischiocredito.sql b/sql/storedProduzione/wh_p_PL_D2_S169RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..a862eff5 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_D2_S169RischiomercatoRischiocredito.sql @@ -0,0 +1,3 @@ +CREATE procedure [wh].[p_PL_D2_S169RischiomercatoRischiocredito] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,RETE,COD_FISCALE,INSTITUTENAME,CTV,CODICEPROFILO,VARMAX,VAR,VARSTRING,RISKCLASS,RISKCLASSSTRING,COVERAGE,COVERAGESTRING,RISKCLASSMAX,PERCENTAGE,ORDINE,Ully_perc from wh.PL_D2_S169RischiomercatoRischiocredito + where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY ordine \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_D2_S170RischioDiversificazione.sql b/sql/storedProduzione/wh_p_PL_D2_S170RischioDiversificazione.sql new file mode 100644 index 00000000..7e0df7e6 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_D2_S170RischioDiversificazione.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_D2_S170RischioDiversificazione] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,COD_FISCALE,RETE,CTV_AGGREG,CREDITRISK,VAR,varString,coperturaString,diversificazione,COPERTURA,PATRIMONIO,profiloCode,var_profilo,complessita,Ordine from wh.PL_D2_S170RischioDiversificazione + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY ordine \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql b/sql/storedProduzione/wh_p_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..cc0d3d40 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,3 @@ +CREATE procedure [wh].[p_PL_D2_S171PatrimonioNonRappresentabileAssettClass] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Contratto,DataSottoscrizione,Descrizione,Controvalore,controvalore_contratto,PartitaViaggiante,Intermediario from wh.PL_D2_S171PatrimonioNonRappresentabileAssettClass +where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY CONTROVALORE DESC \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_D_S170RischioDiversificazione.sql b/sql/storedProduzione/wh_p_PL_D_S170RischioDiversificazione.sql new file mode 100644 index 00000000..2d2df177 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_D_S170RischioDiversificazione.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_D_S170RischioDiversificazione] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,COD_FISCALE,RETE,CTV_AGGREG,CREDITRISK,VAR,varString,coperturaString,diversificazione,COPERTURA,PATRIMONIO,profiloCode,var_profilo,Ordine from wh.PL_D_S170RischioDiversificazione + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY ordine \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_D_S178IndicatoriEsitoAdeguatezza.sql b/sql/storedProduzione/wh_p_PL_D_S178IndicatoriEsitoAdeguatezza.sql new file mode 100644 index 00000000..3012bbec --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_D_S178IndicatoriEsitoAdeguatezza.sql @@ -0,0 +1,53 @@ +CREATE procedure [wh].[p_PL_D_S178IndicatoriEsitoAdeguatezza] (@Rete char(1), @CodiceFiscale varchar(16)) as +select * into #appo from [wh].[PL_D_S178IndicatoriEsitoAdeguatezza] where i_rete = @rete and i_codiceFiscale = @codiceFiscale + select + 1 as Ordine, + 'Rischio Mercato' as Indicatore, + RM_Adeguatezza as Adeguato, + RM_Descrizione as DescrizioneEsito + from #appo + union + select + 2 as Ordine, + 'Rischio Credito' as Indicatore, + RC_Adeguatezza as Adeguato, + RC_Descrizione as DescrizioneEsito + from #appo + union + select + 3 as Ordine, + 'Concentrazione emittenti' as Indicatore, + CE_Adeguatezza as Adeguato, + CE_Descrizione as DescrizioneEsito + from #appo + union + select + 4 as Ordine, + 'Complessità' as Indicatore, + CM_Adeguatezza as Adeguato, + CM_Descrizione as DescrizioneEsito + from #appo + where CM_Adeguatezza <> 'prof' + union + select + 5 as Ordine, + 'Concentrazione in prodotti complessi' as Indicatore, + CC_Adeguatezza as Adeguato, + CC_Descrizione as DescrizioneEsito + from #appo + where CC_Adeguatezza <> 'prof' + union + select + 6 as Ordine, + 'Frequenza delle operazioni' as Indicatore, + FQ_Adeguatezza as Adeguato, + FQ_Descrizione as DescrizioneEsito + from #appo + where FQ_Adeguatezza <> 'prof' + union + select + 7 as Ordine, + 'Liquidità/Liquidabilità (Orizzonte temporali degli investimenti)' as Indicatore, + LQ_Adeguatezza as Adeguato, + LQ_Descrizione as DescrizioneEsito + from #appo \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_MP_S133AreeBisognoPrincProd.sql b/sql/storedProduzione/wh_p_PL_MP_S133AreeBisognoPrincProd.sql new file mode 100644 index 00000000..551f45b9 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_MP_S133AreeBisognoPrincProd.sql @@ -0,0 +1,3 @@ +CREATE procedure [wh].[p_PL_MP_S133AreeBisognoPrincProd] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NeedArea,AreaName,PercentualeModello,PercentualeAttuale,ControvaloreAttuale,ControvaloreModello,Totale_Percentuale,DifferenzaEuro,DifferenzaPercentuale,var_needarea,var_needareaString,copertura_needarea,copertura_needareaString,Nota,somma_controvalAttuale,somma_controvalModello,somma_percentualeAttuale,somma_percentualeModello,var_tot,var_totString,var_tot_pir,var_tot_pirString,copertura_tot,copertura_totString,copertura_tot_pir,copertura_tot_pirString,VAR_RISFIN,VAR_RISFINSTRING,copertura_risfin,copertura_risfinString,ordinamento +from wh.PL_MP_S133AreeBisognoPrincProd + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY ordinamento \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_MP_S133BISPrincipaliProdotti.sql b/sql/storedProduzione/wh_p_PL_MP_S133BISPrincipaliProdotti.sql new file mode 100644 index 00000000..2a4fe7f9 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_MP_S133BISPrincipaliProdotti.sql @@ -0,0 +1,3 @@ +CREATE procedure [wh].[p_PL_MP_S133BISPrincipaliProdotti] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,descrProdotto,Controvalore,VaRprodotto,rischioRelativo,pesoRelativo,codAreaBisogno from wh.PL_MP_S133BISPrincipaliProdotti + where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY rischioRelativo DESC,descrProdotto DESC \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_MP_S134BISMonitoraggioLiqInv.sql b/sql/storedProduzione/wh_p_PL_MP_S134BISMonitoraggioLiqInv.sql new file mode 100644 index 00000000..9daf04ea --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_MP_S134BISMonitoraggioLiqInv.sql @@ -0,0 +1,3 @@ +CREATE procedure [wh].[p_PL_MP_S134BISMonitoraggioLiqInv] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NEED_AREA,NOME_PROGETTO,ordinamento_progetto,DATAVALORIZZAZIONE,CONTROVALORE,RISORSEASSOCIATE from wh.PL_MP_S134BISMonitoraggioLiqInv + where i_rete = @rete and i_codiceFiscale = @codiceFiscale + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_MP_S134MonitoraggioLiquidita.sql b/sql/storedProduzione/wh_p_PL_MP_S134MonitoraggioLiquidita.sql new file mode 100644 index 00000000..6e81834c --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_MP_S134MonitoraggioLiquidita.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_MP_S134MonitoraggioLiquidita] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,cf_rendim_non_rappr,Need_Area,Nome_Progetto,ordinamento_progetto,DataAttivazioneMonitoraggio,ControvaloreMonitorato,ApportoIniziale,ApportoSuccessivo,LIQUIDAZIONI,CedoleEDividendi,MinusPlusAreaProgetto,Rendimento_Attuale,RisorseApportate,DataControvalore,RENDIMENTO_ANNUALIZZATO from wh.PL_MP_S134MonitoraggioLiquidita where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_MP_S135MonitoraggioInvestimento.sql b/sql/storedProduzione/wh_p_PL_MP_S135MonitoraggioInvestimento.sql new file mode 100644 index 00000000..5a0a4889 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_MP_S135MonitoraggioInvestimento.sql @@ -0,0 +1,3 @@ +CREATE procedure [wh].[p_PL_MP_S135MonitoraggioInvestimento] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NEED_AREA,NOME_PROGETTO,ordinamento_progetto,DATAVALORIZZAZIONE,CONTROVALORE,RISORSEASSOCIATE from wh.PL_MP_S135MonitoraggioInvestimento + where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_MP_S137BISCapitaleProtetto.sql b/sql/storedProduzione/wh_p_PL_MP_S137BISCapitaleProtetto.sql new file mode 100644 index 00000000..6f012f6b --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_MP_S137BISCapitaleProtetto.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_MP_S137BISCapitaleProtetto] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,DES_PROD,COD_CONF,QUOTA,NUMEROQUOTE,CONTROVALORE,DATARIF,DES_MAX,QUOTA_MAX,QUOTA_MAX_PERC,DATARIF_MAX,DES_PROT,QUOTA_PROT,NUMEROQUOTE_PROT,CONTROVALORE_PROT,DES_PROD_TIT from wh.PL_MP_S137BISCapitaleProtetto where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_MP_S137Bonus.sql b/sql/storedProduzione/wh_p_PL_MP_S137Bonus.sql new file mode 100644 index 00000000..240b7b94 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_MP_S137Bonus.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_MP_S137Bonus] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,RETE,COD_FISCALE,DES_PROD,COD_CONF,CTV,DT_TRIM,DESBONUS_M,BONUS_M,DTDEC_M,DESBONUS_5,BONUS_5,DTDEC_5,DESBONUS_10,BONUS_10,DTDEC_10,COD_PROD from wh.PL_MP_S137Bonus where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_MP_S140AnalisiRisparmioCharts.sql b/sql/storedProduzione/wh_p_PL_MP_S140AnalisiRisparmioCharts.sql new file mode 100644 index 00000000..1e06609f --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_MP_S140AnalisiRisparmioCharts.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_MP_S140AnalisiRisparmioCharts] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,RETE,COD_FISCALE,INTERMEDIARIO,ORDINE,CTV_TOT,CTV_notCovered,CTV_CreditRisk,CTV_na,PERC_CreditRisk,PERC_NA from wh.PL_MP_S140AnalisiRisparmioCharts where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_MP_S141AnalisiRisparmioTable.sql b/sql/storedProduzione/wh_p_PL_MP_S141AnalisiRisparmioTable.sql new file mode 100644 index 00000000..85d16ed9 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_MP_S141AnalisiRisparmioTable.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_MP_S141AnalisiRisparmioTable] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,COD_FISCALE,RETE,RATING_AAA,RATING_AAp,RATING_AA,RATING_AAm,RATING_Ap,RATING_A,RATING_Am,RATING_BBBp,RATING_BBB,RATING_BBBm,RATING_BBp,RATING_BB,RATING_BBm,RATING_Bp,RATING_B,RATING_Bm,RATING_CCCp,RATING_CCC,RATING_CCCm,RATING_CC,RATING_C,RATING_D,RATING_na,FLG_RISKCLASS1,FLG_RISKCLASS2,FLG_RISKCLASS3,FLG_RISKCLASS4,FLG_RISKCLASS5,FLG_RISKCLASS6,FLG_RISKCLASS7,FLG_RISKCLASS8,FLG_RISKCLASS9,FLG_RISKCLASS10,INTERMEDIARIO,ISSUER,STOCKSCounterValue,bondsCounterValue,CONCENTRATION_ISSUER,CONCENTRATION,NC from wh.PL_MP_S141AnalisiRisparmioTable + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY CONCENTRATION DESC \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_MP_S146RischioDiversificazione.sql b/sql/storedProduzione/wh_p_PL_MP_S146RischioDiversificazione.sql new file mode 100644 index 00000000..9ca7ab5c --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_MP_S146RischioDiversificazione.sql @@ -0,0 +1,3 @@ +CREATE procedure [wh].[p_PL_MP_S146RischioDiversificazione] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,COD_FISCALE,RETE,VAR,varString,coperturaString,diversificazione,COPERTURA,PATRIMONIO,profiloCode,var_profilo,Ordine from wh.PL_MP_S146RischioDiversificazione +where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY Ordine \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_Prodotti_Non_Associati_Area_Inv.sql b/sql/storedProduzione/wh_p_PL_Prodotti_Non_Associati_Area_Inv.sql new file mode 100644 index 00000000..06aa0d7f --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_Prodotti_Non_Associati_Area_Inv.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_Prodotti_Non_Associati_Area_Inv] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,RETE,COD_FISCALE,NOME_PROGETTO,NEED_AREA,CONTROVALOREATTUALE,var_needarea,ORDINAMENTO_PROGETTO,var_needareaString from wh.PL_Prodotti_Non_Associati_Area_Inv where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_S10PatrimonioFinanziario.sql b/sql/storedProduzione/wh_p_PL_S10PatrimonioFinanziario.sql new file mode 100644 index 00000000..560dfb90 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_S10PatrimonioFinanziario.sql @@ -0,0 +1,3 @@ +CREATE procedure [wh].[p_PL_S10PatrimonioFinanziario] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,BANCA,ORDINAMENTO,AssetClassId,AssetClassName,Controvalore,Percentuale,Totale from wh.PL_S10PatrimonioFinanziario + where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY ordinamento \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_S43BISDettaglioProdottiBF.sql b/sql/storedProduzione/wh_p_PL_S43BISDettaglioProdottiBF.sql new file mode 100644 index 00000000..ef3d323d --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_S43BISDettaglioProdottiBF.sql @@ -0,0 +1,3 @@ +CREATE procedure [wh].[p_PL_S43BISDettaglioProdottiBF] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,needarea,needareades,areasortorder,nome_progetto,ORDINAMENTO_PROGETTO,somma_controval_needarea,versato_needarea,versato_needareaString,MinusPlusValenza_needarea,MinusPlusValenza_needareaString,somma_controval_need_prog,versato_need_prog,versato_need_progString,MinusPlusValenza_need_prog,MinusPlusValenza_need_progString,somma_var_need_prog,somma_copertura_need_prog,var_needarea,var_needareaString,copertura_needarea,copertura_needareaString,var_need_prog,var_need_progString,copertura_need_prog,copertura_need_progString,dataAssociazione,ContrattoDossier,Descrizione,Controvalore,VersatoNetto,VersatoNettoString,MinusPlusValenza,MinusPlusValenzaString,VaRprodotto,varProdottoString,Coperturaprodotto,PerformanceYTD,performanceDS,partitaViaggiante,nota_needarea,creditrisk,creditriskstring,creditriskemit from wh.PL_S43BISDettaglioProdottiBF +where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY AREASORTORDER, NOME_PROGETTO, Controvalore DESC -- modifica TRINGALI \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_S43ContoCorrenteBF.sql b/sql/storedProduzione/wh_p_PL_S43ContoCorrenteBF.sql new file mode 100644 index 00000000..66feedf4 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_S43ContoCorrenteBF.sql @@ -0,0 +1,3 @@ +CREATE procedure [wh].[p_PL_S43ContoCorrenteBF] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,datadiSottoscrizione,conto,Controvalore,SALDO_DISPONIBILE,creditrisk,creditriskstring,var,varString,totaleVar,totaleVarString from wh.PL_S43ContoCorrenteBF + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY + Controvalore DESC \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_S43DettaglioProdottiBF.sql b/sql/storedProduzione/wh_p_PL_S43DettaglioProdottiBF.sql new file mode 100644 index 00000000..82e0908c --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_S43DettaglioProdottiBF.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_S43DettaglioProdottiBF] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,needarea,needareades,areasortorder,nome_progetto,ORDINAMENTO_PROGETTO,somma_controval_needarea,versato_needarea,versato_needareaString,MinusPlusValenza_needarea,MinusPlusValenza_needareaString,somma_controval_need_prog,versato_need_prog,versato_need_progString,MinusPlusValenza_need_prog,MinusPlusValenza_need_progString,somma_var_need_prog,somma_copertura_need_prog,var_needarea,var_needareaString,copertura_needarea,copertura_needareaString,var_need_prog,var_need_progString,copertura_need_prog,dataSottoscrizione,ContrattoDossier,Descrizione,Controvalore,VersatoNetto,VersatoNettoString,MinusPlusValenza,MinusPlusValenzaString,VaRprodotto,varProdottoString,Coperturaprodotto,PerformanceYTD,performanceDS,partitaViaggiante,nota_needarea,creditrisk,creditriskstring,creditriskemit from wh.PL_S43DettaglioProdottiBF + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY AREASORTORDER,ORDINAMENTO_PROGETTO,nome_progetto, Controvalore DESC \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_S43LineaSelfBF.sql b/sql/storedProduzione/wh_p_PL_S43LineaSelfBF.sql new file mode 100644 index 00000000..96165a38 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_S43LineaSelfBF.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_S43LineaSelfBF] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NumContratto,Controvalore,NomeProdotto,DataSott from wh.PL_S43LineaSelfBF where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql b/sql/storedProduzione/wh_p_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..b3e68577 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Contratto,Area,NEEDAREA,Progetto,ord_progetto,DataSottoscrizione,Descrizione,Controvalore,controvalore_contratto,PartitaViaggiante,Intermediario from wh.PL_S76AlternativaPatrimonioNonRappresentabileAssettClass where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_S80Alternativa.sql b/sql/storedProduzione/wh_p_PL_S80Alternativa.sql new file mode 100644 index 00000000..0c04a1b3 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_S80Alternativa.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_S80Alternativa] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,RETE,Cod_Fiscale,Fase,DataFase,Partita_viaggiante,CTV_EXT,CTV_INV,CTV_PRE,CTV_RIS,CTV_LIQ,RisorseAllocate,RisorseNonAllocate,RisorseFinanziarie,Contocorrente,ctvself,TotalePatrimonio,DettMov,NumeroAsterischiNota from wh.PL_S80Alternativa where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_S82BisDatiSintetici.sql b/sql/storedProduzione/wh_p_PL_S82BisDatiSintetici.sql new file mode 100644 index 00000000..f3121968 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_S82BisDatiSintetici.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_S82BisDatiSintetici] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,ORDINAMENTO_PROGETTO,need_area,NOME_PROGETTO,var_needarea,var_needareaString,copertura_needarea,copertura_needareaString,orizzonte_Pianificato,durataResidua,ControvaloreAttuale from wh.PL_S82BisDatiSintetici where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_S82DatiSintetici.sql b/sql/storedProduzione/wh_p_PL_S82DatiSintetici.sql new file mode 100644 index 00000000..c6b62e38 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_S82DatiSintetici.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_S82DatiSintetici] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,need_area,var_needarea,var_needareaString,copertura_needarea,copertura_needareaString,ORDINAMENTO_PROGETTO,ControvaloreAttuale from wh.PL_S82DatiSintetici where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_S85RendimentoPortafoglioCono.sql b/sql/storedProduzione/wh_p_PL_S85RendimentoPortafoglioCono.sql new file mode 100644 index 00000000..d505a246 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_S85RendimentoPortafoglioCono.sql @@ -0,0 +1,3 @@ +CREATE procedure [wh].[p_PL_S85RendimentoPortafoglioCono] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NEED_AREA,NOME_PROGETTO,ordinamento_progetto,DATA_CONO,OTTIMISTICO,PESSIMISTICO,ORIZZONTE_MESI,RENDIMENTO,DATA_MONIT from wh.PL_S85RendimentoPortafoglioCono +where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY DATA_CONO \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql b/sql/storedProduzione/wh_p_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql new file mode 100644 index 00000000..814dc284 --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql @@ -0,0 +1,4 @@ +CREATE procedure [wh].[p_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Need_Area,Contratto,Area_O_Nome_Progetto,Descrizione,PartitaViaggiante,Controvalore,DataSottoscrizione from wh.PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento + where i_rete = @rete and i_codiceFiscale = @codiceFiscale + ORDER BY + Area_O_Nome_Progetto \ No newline at end of file diff --git a/sql/storedProduzione/wh_p_PL_S96RischiomercatoRischiocredito.sql b/sql/storedProduzione/wh_p_PL_S96RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..bcfb101c --- /dev/null +++ b/sql/storedProduzione/wh_p_PL_S96RischiomercatoRischiocredito.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_S96RischiomercatoRischiocredito] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,RETE,COD_FISCALE,INSTITUTENAME,CTV,CODICEPROFILO,VARMAX,VAR,VARSTRING,RISKCLASS,RISKCLASSSTRING,COVERAGE,COVERAGESTRING,RISKCLASSMAX,PERCENTAGE,ORDINE,Ully_perc from wh.PL_S96RischiomercatoRischiocredito + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY ordine \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_Blacklist_Blocco_Tabellone.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_Blacklist_Blocco_Tabellone.sql new file mode 100644 index 00000000..8ea9c793 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_Blacklist_Blocco_Tabellone.sql @@ -0,0 +1,61 @@ +CREATE procedure [C6MartPeriodicoImmobiliare].[Blacklist_Blocco_Tabellone] @param1 varchar(20) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +-- [C6MartPeriodico].[Blacklist_Blocco_Tabellone] Blocco +-- [C6MartPeriodico].[Blacklist_Blocco_Tabellone] SBlocco +--select * from c6martperiodico.tabellone where blacklist is not null +--select * from C6MartPeriodico.ExcludedList +--select * from C6MartPeriodico.ExcludedList_testing +-- +--select * from c6martperiodico.tabellone where codice_fiscale='BBBMRA56T09L736R' +--select * from C6MartPeriodico.ExcludedList where codicefiscale='FRILXA72T04H501R' +--select codicefiscale,COUNT(*) from C6MartPeriodico.ExcludedList group by codicefiscale having COUNT(*)>1 +--insert into C6MartPeriodico.ExcludedList +--values ('F','BBBMRA56T09L736R','TestF',GETDATE(),1), +--('F','BBBMRA56T09L736R','TestB',GETDATE(),1), +--('F','BBBMRA56T09L736R','TestC',GETDATE(),1), +--('F','BBBMRA56T09L736R','TestF',GETDATE(),1) +----delete from C6MartPeriodico.ExcludedList where DescrErr='TestC' +if (@param1='BLOCCO') +begin +drop table if exists #riunisco_imm +drop table if exists #rimuovoduplicati_imm +update C6MartPeriodico.tabellone +set blacklist_imm=NULL +select distinct rete,codicefiscale,DescrErr +into #rimuovoduplicati_imm +from C6MartPeriodicoImmobiliare.ExcludedList +SELECT rete,codicefiscale,STRING_AGG( ISNULL(DescrErr, ' '), ',') As descrerr + into #riunisco_imm + From #rimuovoduplicati_imm group by rete,codicefiscale +update C6MartPeriodico.tabellone +set blacklist_imm=r.descrerr +from #riunisco_imm r inner join C6MartPeriodico.tabellone t +on t.chiave_acn=r.Rete+r.codicefiscale +update C6MartPeriodico.tabellone +set lettera_sost_imm='S' +where blacklist_imm like '%sostitutiva%' +end +if (@param1='SBLOCCO') +begin +update C6MartPeriodico.tabellone +set blacklist_imm=NULL +drop table if exists #riunisco1_imm +drop table if exists #rimuovoduplicati1_imm +select distinct rete,codicefiscale,DescrErr +into #rimuovoduplicati1_imm +from C6MartPeriodicoImmobiliare.ExcludedList +SELECT rete,codicefiscale,STRING_AGG( ISNULL(DescrErr, ' '), ',') As descrerr + into #riunisco1_imm + From #rimuovoduplicati1_imm group by rete,codicefiscale +update C6MartPeriodico.tabellone +set blacklist_imm=r.descrerr +from #riunisco1_imm r inner join C6MartPeriodico.tabellone t +on t.chiave_acn=r.Rete+r.codicefiscale +update C6MartPeriodico.tabellone +set lettera_sost_imm='S' +where blacklist_imm like '%sostitutiva%' +end +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_ANAG_SELF.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_ANAG_SELF.sql new file mode 100644 index 00000000..158896b4 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_ANAG_SELF.sql @@ -0,0 +1,75 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[DM_ANAG_SELF] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + TRUNCATE TABLE [C6MartPeriodicoImmobiliare].[ANAG_SELF] + INSERT INTO [C6MartPeriodicoImmobiliare].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,NOMEPRODOTTO + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB] + -- mio foglio + ,CodInterno + ,CodSottoprodotto) + SELECT + SPB.RETE + ,SPB.CODFIS + ,SPB.CODCONF + ,CAT.NomeProdotto + ,SPB.CTV + ,SPB.DTSOTTOS + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + ,CodInterno + ,CodSottoprodotto + FROM + C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI SPB + inner join C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti CAT + on SPB.isin = CAT.codisin and CAT.visibilita = 1 + -- aggiunto il 17/12/2018 per gestire l'ambiguità tra GP e FO a parità di Isin + and SPB.CodInt = CAT.CodInterno + -- fine modifica + WHERE SPB.isin in ('EURO00000009', 'EURO10000007') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'DM_ANAG_SELF' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_ANAG_SELF_20181214_PreMioFoglio.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_ANAG_SELF_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..812a44cf --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_ANAG_SELF_20181214_PreMioFoglio.sql @@ -0,0 +1,67 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[DM_ANAG_SELF_20181214_PreMioFoglio] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + TRUNCATE TABLE [C6MartPeriodicoImmobiliare].[ANAG_SELF] + INSERT INTO [C6MartPeriodicoImmobiliare].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,NOMEPRODOTTO + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SPB.RETE + ,SPB.CODFIS + ,SPB.CODCONF + ,CAT.NomeProdotto + ,SPB.CTV + ,SPB.DTSOTTOS + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI SPB + inner join C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti CAT + on SPB.isin = CAT.codisin and CAT.visibilita = 1 + WHERE SPB.isin in ('EURO00000009', 'EURO10000007') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'DM_ANAG_SELF' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_CODIFICA_CREDITRISK.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_CODIFICA_CREDITRISK.sql new file mode 100644 index 00000000..922b91e3 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_CODIFICA_CREDITRISK.sql @@ -0,0 +1,50 @@ +-- ============================================= +-- Author: Valerio Colaianni +-- Create date: 17 marzo 2009 +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[DM_CODIFICA_CREDITRISK] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_CREDITRISK', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.CODIFICA_CREDITRISK + INSERT INTO C6MartPeriodicoImmobiliare.[CODIFICA_CREDITRISK] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAL] + ,[MAX_VAL] + ,[ID_ELAB]) + SELECT + COD, + DESCR, + MINVAL, + MAXVAL, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodicoImmobiliare.RISKCLASS + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CODIFICA_CREDITRISK' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'DM_CODIFICA_CREDITRISK' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_CODIFICA_RISCHIO.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_CODIFICA_RISCHIO.sql new file mode 100644 index 00000000..552fa97a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_CODIFICA_RISCHIO.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 marzo 2009 +-- Description: NOTA BENE: I JOIN NON DOVREBBERO MAI ESSERE FATTI COME SOTTO, TRATTASI DI WORK AROUND +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[DM_CODIFICA_RISCHIO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_RISCHIO', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.CODIFICA_RISCHIO + INSERT INTO C6MartPeriodicoImmobiliare.[CODIFICA_RISCHIO] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAR] + ,[MAX_VAR] + ,[ID_ELAB]) + SELECT + SPB_PROF_RISCHIO.CODICEPROFILO AS PROFILO, + SPB_PROF_RISCHIO.DESCRIZIONEPROFILO AS DESCRIZIONE, + ISNULL(SPB_MIN.VARTRIMESTRALE,-0.01) + 0.01 AS MIN_VAR, + SPB_PROF_RISCHIO.VARTRIMESTRALE AS MAX_VAR, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodicoImmobiliare.SPB_PROF_RISCHIO + LEFT JOIN C6StagingPeriodicoImmobiliare.SPB_PROF_RISCHIO SPB_MIN + ON SPB_MIN.CODICEPROFILO + 1 = SPB_PROF_RISCHIO.CODICEPROFILO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CODIFICA_RISCHIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'DM_CODIFICA_RISCHIO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_MIFID.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_MIFID.sql new file mode 100644 index 00000000..46b4a3ad --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_MIFID.sql @@ -0,0 +1,129 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: Aggiunta chiave primaria autoincrement su tabella di staging +-- per eliminazione duplicati. +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[DM_MIFID] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MIFID', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.MIFID + INSERT INTO C6MartPeriodicoImmobiliare.[MIFID] + ([RETE] + ,[COD_FISCALE] + ,[PROFILO_ASS] + ,[DATA_INIZIO_VAL] + ,[ID_ELAB] + ,[RISKCLASS] + ,[EXPERIENCE] + ,SCADUTO ) + SELECT + AN.RETE AS RETE, + AN.CODFIS AS COD_FISCALE, + AN.CODPROF AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + CLASSeRC, + COD_PROFEC, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN + ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + FROM + C6StagingPeriodico.WSEIAN2 AS AN + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + --ON AL.RETE_PB = AN.RETE + --AND AL.CODICEFISCALE = AN.CODFIS + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN='' +UNION +SELECT + AN.RETE AS RETE, + 'FF@' + AN.CODMAN AS COD_FISCALE, --AN.CODFIS AS COD_FISCALE, + AN.CODPROF AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + classErc, + COD_PROFEC, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN + ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + FROM + C6StagingPeriodico.WSEIAN2 AS AN + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + -- ON AL.RETE_PB = AN.RETE + -- AND SUBSTRING(AL.CODICEFISCALE,4,4) = AN.CODMAN + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN <> '' + --AND AL.CODICEFISCALE LIKE '%@%' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MIFID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'DM_MIFID' + ) +END +--select count(*) from c6martperiodico.mifid \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_PARTITE_VIAGGIANTI.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_PARTITE_VIAGGIANTI.sql new file mode 100644 index 00000000..33733cc5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_PARTITE_VIAGGIANTI.sql @@ -0,0 +1,64 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[DM_PARTITE_VIAGGIANTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PARTITE_VIAGGIANTI', + GETDATE(), + 'Mart Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.PARTITE_VIAGGIANTI + INSERT INTO C6MartPeriodicoImmobiliare.PARTITE_VIAGGIANTI + (RETE + ,COD_FISCALE + ,IMPORTO + ,ID_ELAB + ,TIPO_ELAB) + SELECT + WSEIPV.RETE AS RETE, + case when isnull(codman,'') ='' then WSEIPV.CODFIS else 'FF@'+ codman end AS COD_FISCALE, + SUM(IMPVER) AS IMPORTO, + @ID_ELAB, + @TIPO_ELAB + FROM + C6StagingPeriodico.WSEIPV + WHERE + WSEIPV.DTTRIM = ( + SELECT + MAX(DTTRIM) + FROM + C6StagingPeriodico.WSEIPV + ) + GROUP BY + WSEIPV.RETE, + case when isnull(codman,'') ='' then WSEIPV.CODFIS else 'FF@'+ codman end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_RISCHIO_AGGREGATO.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_RISCHIO_AGGREGATO.sql new file mode 100644 index 00000000..d3daea7a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_DM_RISCHIO_AGGREGATO.sql @@ -0,0 +1,96 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[DM_RISCHIO_AGGREGATO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Mart Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.RISCHIO_AGGREGATO + INSERT INTO C6MartPeriodicoImmobiliare.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + -- Modifica del 5/11/2018 - per gestire i casi in cui numtitrc contiene caratteri speciali (cr e lf) + --C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + C6martperiodico.getCreditRiskClass(Ully_perc,REPLACE(REPLACE(numtitrc, CHAR(13),''), CHAR(10),'')) AS CREDITRISK, + -- Fine Modifica del 5/11/2018 + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + -- Modifica del 5/11/2018 - per gestire i casi in cui numtitrc contiene caratteri speciali (cr e lf) + --c6martperiodico.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + c6martperiodico.getCreditRiskClassEmit(Ully_perc,REPLACE(REPLACE(numtitrc, CHAR(13),''), CHAR(10),'')) as CREDITRISKCLASS_EMIT + -- Fine Modifica del 5/11/2018 + FROM + C6StagingPeriodicoImmobiliare.PROMETEIA_AGGR +--begin transaction +update C6MartPeriodicoImmobiliare.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_Delete_Immobiliare_GestionePDF.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_Delete_Immobiliare_GestionePDF.sql new file mode 100644 index 00000000..28fdab79 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_Delete_Immobiliare_GestionePDF.sql @@ -0,0 +1,31 @@ +-- ================================================================================== +-- Author: +-- Create date: <15.02.2019> +-- Description: +-- ================================================================================== +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[Delete_Immobiliare_GestionePDF] + @DataRiferimento varchar(8), + @Return int OUTPUT +/* +SP Parameter Comment +*/ +AS +SET NOCOUNT ON; +/* +SP Body Comment +*/ + BEGIN TRAN + BEGIN TRY + DELETE FROM [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF] + WHERE [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF].[DataRiferimento] = @DataRiferimento + Set @Return=1; + END TRY + BEGIN CATCH + BEGIN + IF @@TRANCOUNT > 0 + ROLLBACK TRANSACTION; + Set @Return=-ERROR_NUMBER(); + END + END CATCH + IF @@TRANCOUNT > 0 + COMMIT TRANSACTION; \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestionePDF.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestionePDF.sql new file mode 100644 index 00000000..9954a224 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestionePDF.sql @@ -0,0 +1,123 @@ +-- ================================================================================== +-- Author: +-- Create date: <15.02.2019> +-- Description: +-- ================================================================================== +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[Insert_Immobiliare_GestionePDF] + @IDReport int, + @IDReportSemestrale int, + @IDChiaveRichiesta bigint, + @Rete varchar(1), + @ChiaveAgente varchar(8), + @NominativoAgente varchar(255), + @CodiceFiscale varchar(16), + @ChiaveCliente int, + @NominativoCliente varchar(255), + @DataRichiestaCatasto datetime, + @DataRicezioneCatasto datetime, + @DataRichiestaRischio datetime, + @DataRicezioneRischio datetime, + @Utente varchar(50), + @Rfa decimal(19, 7), + @Diversificazione decimal(19, 7), + @Var decimal(19, 7), + @DataRiferimento varchar(8), + @CodiceContratto varchar(11), + @TipoContratto varchar(1), + @TipoReport varchar(2), + @DataReport datetime, + @DataReportUpdate datetime, + @DataZip datetime, + @DataZipUpdate datetime, + @DataInvio datetime, + @DataInvioUpdate datetime, + @FlagInvio varchar(1), + @NomeFile varchar(50), + @IDZip int, + @Return int OUTPUT +/* +SP Parameter Comment +*/ +WITH EXEC AS CALLER +AS +/* +SP Body Comment +*/ + BEGIN TRANSACTION + BEGIN TRY + SELECT @IdReport = (SELECT ISNULL(MAX([IDReport]),0) + 1 FROM [Immobiliare_GestionePDF] with (tablockx, holdlock, updlock)) + SELECT @IdReportSemestrale = (SELECT ISNULL(MAX([IDReportSemestrale]),0) + 1 FROM [Immobiliare_GestionePDF] WHERE [DataRiferimento] = @DataRiferimento) + INSERT INTO [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF]( + [IDReport] + ,[IDReportSemestrale] + ,[IDChiaveRichiesta] + ,[Rete] + ,[ChiaveAgente] + ,[NominativoAgente] + ,[CodiceFiscale] + ,[ChiaveCliente] + ,[NominativoCliente] + ,[DataRichiestaCatasto] + ,[DataRicezioneCatasto] + ,[DataRichiestaRischio] + ,[DataRicezioneRischio] + ,[Utente] + ,[Rfa] + ,[Diversificazione] + ,[Var] + ,[DataRiferimento] + ,[CodiceContratto] + ,[TipoContratto] + ,[TipoReport] + ,[DataReport] + ,[DataReportUpdate] + ,[DataZip] + ,[DataZipUpdate] + ,[DataInvio] + ,[DataInvioUpdate] + ,[FlagInvio] + ,[NomeFile] + ,[IDZip]) + VALUES ( + @IDReport, + @IDReportSemestrale, + @IDChiaveRichiesta, + @Rete, + @ChiaveAgente, + @NominativoAgente, + @CodiceFiscale, + @ChiaveCliente, + @NominativoCliente, + @DataRichiestaCatasto, + @DataRicezioneCatasto, + @DataRichiestaRischio, + @DataRicezioneRischio, + @Utente, + @Rfa, + @Diversificazione, + @Var, + @DataRiferimento, + @CodiceContratto, + @TipoContratto, + @TipoReport, + @DataReport, + @DataReportUpdate, + @DataZip, + @DataZipUpdate, + @DataInvio, + @DataInvioUpdate, + @FlagInvio, + @NomeFile, + @IDZip ) + Set @Return=@IdReport; + END TRY + BEGIN CATCH + IF ERROR_NUMBER()=2601 + BEGIN + Set @Return=-2601; + END + IF @@TRANCOUNT > 0 + ROLLBACK TRANSACTION; + END CATCH + IF @@TRANCOUNT > 0 + COMMIT TRANSACTION; \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestioneZIP.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestioneZIP.sql new file mode 100644 index 00000000..aae62ca7 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_Insert_Immobiliare_GestioneZIP.sql @@ -0,0 +1,52 @@ +-- ================================================================================== +-- Author: +-- Create date: <27.02.2019> +-- Description: +-- ================================================================================== +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[Insert_Immobiliare_GestioneZIP] + @IDZip int, + @NomeFile varchar(255), + @DataInvio datetime, + @FlagInvio varchar(1), + @NomeCartella varchar(255), + @IDLottoElaborazione int, + @DataRiferimento varchar(8), + @Return int OUTPUT +/* +SP Parameter Comment +*/ +WITH EXEC AS CALLER +AS +/* +SP Body Comment +*/ + BEGIN TRANSACTION + BEGIN TRY + INSERT INTO [C6MartPeriodicoImmobiliare].[Immobiliare_GestioneZIP]( + [IDZip] + ,[NomeFile] + ,[DataInvio] + ,[FlagInvio] + ,[NomeCartella] + ,[IDLottoElaborazione] + ,[DataRiferimento]) + VALUES ( + @IDZip, + @NomeFile, + @DataInvio, + @FlagInvio, + @NomeCartella, + @IDLottoElaborazione, + @DataRiferimento) + Set @Return=@IdZip; + END TRY + BEGIN CATCH + IF ERROR_NUMBER()=2601 + BEGIN + Set @Return=-2601; + END + IF @@TRANCOUNT > 0 + ROLLBACK TRANSACTION; + END CATCH + IF @@TRANCOUNT > 0 + COMMIT TRANSACTION; \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_MERGED_PROCEDURE.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_MERGED_PROCEDURE.sql new file mode 100644 index 00000000..61eae988 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_MERGED_PROCEDURE.sql @@ -0,0 +1,109 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[MERGED_PROCEDURE] +AS +BEGIN + SET NOCOUNT ON; +truncate table C6MartperiodicoImmobiliare.Maledetti +insert into C6MartperiodicoImmobiliare.Maledetti --70 minutes +( +[i_CodiceFiscale] + ,[i_Rete] + ,[Rete] + ,[NomeRete] + ,[Agente] + ,[CognomeAgente] + ,[NomeAgente] + ,[IndirizzoAgente] + ,[CapAgente] + ,[CittaAgente] + ,[TelefonoAgente] + ,[CodiceFiscale] + ,[CognomeCliente] + ,[NomeCliente] + ,[ProfiloIsAct] + ,[PatrimonioNonRappresentabile] + ,[PartiteViaggiantiDisinv] + ,[PartiteViaggiantiInv] + ,[ContoCorrente] + ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,[RisorseNonAssociate] + ,[Patrimonioaltroctv] + ,[Patrimonioimmobiliarectv] + ,[PatrimonioTerzictv] + ,[PatrimonioTerziCtvAlNettoContoCorrente] + ,[PatrimonioTerziContoCorrente] + ,[Patrimoniobancafideuramctv] + ,[Patrimoniocomplessivototalectv] + ,[NumeroIntermediari] + ,[CodiceContratto] + ,[tip_contratto] + ,[contrattoold] + ,[NoMonitoraggio] + ,[descrizioneDiagnosi] + ,[idModelloDiagnosi] + ,[idReportDiagnosi] + ,[descrizioneMonitoraggio] + ,[idReportMonitoraggio] + ,[idModelloMonitoraggio] + ,[AdesioneSuccessivaAvanzato] + ,[VaRRisorseNonAssociate] + ,[CoperturaRisorseNonAssociate] + ,[VaRTotaleRisorseFinanziarie] + ,[CoperturaTotaleRisorseFinanziarie] + ,[IdReportPDFDiagnosi] + ,[IdReportPDFMonitoraggio] + ,scaduto + ) +SELECT [i_CodiceFiscale] + ,[i_Rete] + ,[Rete] + ,[NomeRete] + ,[Agente] + ,[CognomeAgente] + ,[NomeAgente] + ,[IndirizzoAgente] + ,[CapAgente] + ,[CittaAgente] + ,[TelefonoAgente] + ,[CodiceFiscale] + ,[CognomeCliente] + ,[NomeCliente] + ,[ProfiloIsAct] + ,[PatrimonioNonRappresentabile] + ,[PartiteViaggiantiDisinv] + ,[PartiteViaggiantiInv] + ,[ContoCorrente] + ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,[RisorseNonAssociate] + ,[Patrimonioaltroctv] + ,[Patrimonioimmobiliarectv] + ,[PatrimonioTerzictv] + ,[PatrimonioTerziCtvAlNettoContoCorrente] + ,[PatrimonioTerziContoCorrente] + ,[Patrimoniobancafideuramctv] + ,[Patrimoniocomplessivototalectv] + ,[NumeroIntermediari] + ,[CodiceContratto] + ,[tip_contratto] + ,[contrattoold] + ,[NoMonitoraggio] + ,[descrizioneDiagnosi] + ,[idModelloDiagnosi] + ,[idReportDiagnosi] + ,[descrizioneMonitoraggio] + ,[idReportMonitoraggio] + ,[idModelloMonitoraggio] + ,[AdesioneSuccessivaAvanzato] + ,[VaRRisorseNonAssociate] + ,[CoperturaRisorseNonAssociate] + ,[VaRTotaleRisorseFinanziarie] + ,[CoperturaTotaleRisorseFinanziarie] + ,[IdReportPDFDiagnosi] + ,[IdReportPDFMonitoraggio] + ,[scaduto] + FROM [wh].[Maledetti] +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_D2_S170RischioDiversificazione.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_D2_S170RischioDiversificazione.sql new file mode 100644 index 00000000..dde34416 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_D2_S170RischioDiversificazione.sql @@ -0,0 +1,86 @@ +-- [C6MartPeriodicoImmobiliare].[PL_D2_S170RischioDiversificazione] 'F','FF@7181' +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_D2_S170RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @contaCC as int + select @contaCC = count(*) + from C6MartPeriodicoImmobiliare.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from C6MartPeriodicoImmobiliare.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM C6MartPeriodicoImmobiliare.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM C6MartPeriodicoImmobiliare.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 +SELECT +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MartPeriodicoImmobiliare.RISCHIO_AGGREGATO K left outer JOIN C6MartPeriodicoImmobiliare.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6MartPeriodicoImmobiliare.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_D_S152Patrimonio.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_D_S152Patrimonio.sql new file mode 100644 index 00000000..9765309c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_D_S152Patrimonio.sql @@ -0,0 +1,88 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodicoImmobiliare].[PL_D_S152Patrimonio] 'F','BCHRRT54L12G999R' +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_D_S152Patrimonio] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT + @PatrimonioBF = SUM(CTV) + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area <> 'CC' --escludo il cc negativo +-- SELECT @Part_viaggianti=SUM(IMPORTO) +-- FROM C6MartPeriodicoImmobiliare.PARTITE_VIAGGIANTI partvia +-- WHERE +-- partvia.Rete = @Rete +-- and partvia.Cod_Fiscale = @CodiceFiscale + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6MartPeriodicoImmobiliare.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6MartPeriodicoImmobiliare.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + SELECT + @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioAltro = SUM(patrAltro.ctv) + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_D_S154PatrimonioFinanziario.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_D_S154PatrimonioFinanziario.sql new file mode 100644 index 00000000..32072f0f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_D_S154PatrimonioFinanziario.sql @@ -0,0 +1,152 @@ +-- Stored procedure +-- ============================================= +-- Author: Luca De Lisio +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodicoImmobiliare].[PL_D_S154PatrimonioFinanziario] 'F','BCHRRT54L12G999R' +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_D_S154PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SELECT + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Fideuram' + END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + ISNULL(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + NULLIF(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'), 0),0.00) + ) * 100 AS Percentuale + FROM ( + --PRODOTTI BF ESCLUSI GLI ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodicoImmobiliare.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodicoImmobiliare.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodicoImmobiliare.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MartPeriodicoImmobiliare.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + --DETTAGLIO ASUL SENZA SKANDIA + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodicoImmobiliare.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodicoImmobiliare.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --CON SKANDIA + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodicoImmobiliare.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodicoImmobiliare.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodicoImmobiliare.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodicoImmobiliare.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodicoImmobiliare.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_GetClientNegativeCurrentAccountsValue.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_GetClientNegativeCurrentAccountsValue.sql new file mode 100644 index 00000000..1ebf7fc2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_GetClientNegativeCurrentAccountsValue.sql @@ -0,0 +1,29 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodicoImmobiliare].[PL_GetClientNegativeCurrentAccountsValue] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_GetClientNegativeCurrentAccountsValue] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @PatrimonioBF DECIMAL(15,2) + -- Insert statements for procedure here + SELECT + --@PatrimonioBF = case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND ID_AREA = 'CC' + and CTV < 0 + --Return @PatrimonioBF +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_GetClientSelfNegCurrentAccountValue.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_GetClientSelfNegCurrentAccountValue.sql new file mode 100644 index 00000000..8bda6efc --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_GetClientSelfNegCurrentAccountValue.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodicoImmobiliare].[PL_GetClientSelfNegCurrentAccountValue] 'S','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_GetClientSelfNegCurrentAccountValue] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --DECLARE @PatrimonioBF DECIMAL(15,2) + SELECT + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6MartPeriodicoImmobiliare.ANAG_SELF LS + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND ctv < 0 + --Return @PatrimonioBF +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_MP_S133AreeBisognoPrincProd.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_MP_S133AreeBisognoPrincProd.sql new file mode 100644 index 00000000..86a7f7b6 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_MP_S133AreeBisognoPrincProd.sql @@ -0,0 +1,42 @@ +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_MP_S133AreeBisognoPrincProd] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6StampeCentralizzate].[C6MartPeriodicoImmobiliare].[TB_S133_S157DatiPiramide] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_MP_S140AnalisiRisparmioCharts.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_MP_S140AnalisiRisparmioCharts.sql new file mode 100644 index 00000000..f5896e81 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_MP_S140AnalisiRisparmioCharts.sql @@ -0,0 +1,338 @@ +-- [C6MartPeriodicoImmobiliare].[PL_MP_S140AnalisiRisparmioCharts] 'S','RTRRLF23S12Z105V' +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[PL_MP_S140AnalisiRisparmioCharts] +@Rete char(1), @CodiceFiscale varchar(16) +WITH EXEC AS CALLER +AS +BEGIN + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS ctv +--FINE INTERVENTI OMNIA +FROM +[C6MartPeriodicoImmobiliare].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MartPeriodicoImmobiliare].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +--INIZIO INTERVENTI OMNIA +---Per calcolare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MartPeriodicoImmobiliare].pATRIMONIO_BF +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine calcolo somma self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6MartPeriodicoImmobiliare].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodicoImmobiliare.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodicoImmobiliare.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MartPeriodicoImmobiliare].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MartPeriodicoImmobiliare].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MartPeriodicoImmobiliare].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MartPeriodicoImmobiliare].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS CTV +--FINE INTERVENTI OMNIA +FROM +[C6MartPeriodicoImmobiliare].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MartPeriodicoImmobiliare].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +--INIZIO INTERVENTI OMNIA +--per fare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MartPeriodicoImmobiliare].pATRIMONIO_BF +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine somma Self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6MartPeriodicoImmobiliare].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6MartPeriodicoImmobiliare].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MartPeriodicoImmobiliare].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MartPeriodicoImmobiliare].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MartPeriodicoImmobiliare].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MartPeriodicoImmobiliare].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..61477bfb --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,116 @@ +--[C6MartPeriodicoImmobiliare].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] 's','FLLGRG54H28A479K' +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Fideuram' + ELSE + SET @NOMERETE = 'Sanpaolo Invest' + SELECT + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario + --patrbf.ordinamento_progetto + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodicoImmobiliare.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodicoImmobiliare.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodicoImmobiliare.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL +--INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <> 0.00 +UNION ALL +SELECT + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + sum(ASUL.CTV) as Controvalore, + sum(ASUL.CTV) as controvalore_contratto, + Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario + --patrbf.ordinamento_progetto + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodicoImmobiliare.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodicoImmobiliare.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN + C6MartPeriodicoImmobiliare.DETTAGLIO_ASUL ASUL + ON + PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + left JOIN + C6MartPeriodicoImmobiliare.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + ASSETPERC.COD_PRODOTTO IS NULL + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + GROUP BY + PATRBF.ID_CONTRATTO, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end, + PATRBF.NOME_PROGETTO, + patrbf.chiave_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE), + ANAGP.DESCR_PRODOTTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql new file mode 100644 index 00000000..8612bfb2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql @@ -0,0 +1,62 @@ +-- Stored procedure +-- ============================================= +-- [C6MartPeriodicoImmobiliare].[PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento] 's','FLLGRG54H28A479K' +CREATE procedure [C6MartPeriodicoImmobiliare].[PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --SELECT + -- PATR_BF.ID_AREA AS Need_Area, + -- PATR_BF.ID_CONTRATTO AS Contratto, + -- CASE + -- WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA + -- ELSE ltrim(rtrim(PATR_BF.NOME_PROGETTO)) + -- END AS Area_O_Nome_Progetto, + -- PRODOTTI.DESCR_PRODOTTO AS Descrizione, + -- PATR_BF.PARTVIA_DISINV AS PartitaViaggiante, + -- SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.POSITION_ID) AS Controvalore, + -- dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione + --FROM + -- C6MartPeriodicoImmobiliare.PATRIMONIO_BF AS PATR_BF + -- INNER JOIN C6MartPeriodicoImmobiliare.AREA_BISOGNO AS AREA ON + -- PATR_BF.ID_AREA = AREA.ID_AREA + -- INNER JOIN C6MartPeriodicoImmobiliare.ANAG_PRODOTTI AS PRODOTTI ON + -- PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + --PATR_BF.RETE, + --PATR_BF.COD_FISCALE, + --PATR_BF.ID_AREA AS Need_Area, + --PATR_BF.ID_CONTRATTO AS Contratto, + --CASE + -- WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA + -- ELSE ltrim(rtrim(PATR_BF.NOME_PROGETTO)) + --END AS Area_O_Nome_Progetto, + --PRODOTTI.DESCR_PRODOTTO AS Descrizione, + --CASE WHEN PATR_BF.TIPO_PRODOTTO <> 'CC' THEN PRODOTTI.DESCR_PRODOTTO + -- ELSE PRODOTTI.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + --END AS Descrizione, + --PRODOTTI.DESCR_PRODOTTO AS Descrizione, + --PATR_BF.PARTVIA_DISINV AS PartitaViaggiante, + --SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.POSITION_ID) AS Controvalore, + SUM(PATR_BF.CTV) AS Controvalore + --dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodicoImmobiliare.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + INNER JOIN C6MartPeriodicoImmobiliare.ANAG_PRODOTTI AS PRODOTTI ON + PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO + WHERE + PATR_BF.RETE = @Rete + AND PATR_BF.COD_FISCALE = @CodiceFiscale + and PATR_BF.ID_AREA not in ('Pre1','Pre2') and PATR_BF.TIPO_PRODOTTO <> 'CC' + AND PATR_BF.REND_NON_RAPPR = 1 +GROUP BY PATR_BF.RETE, PATR_BF.COD_FISCALE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_Popola_S133_S157DatiPiramide.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_Popola_S133_S157DatiPiramide.sql new file mode 100644 index 00000000..814f5787 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_Popola_S133_S157DatiPiramide.sql @@ -0,0 +1,291 @@ +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +CREATE procedure [C6MartPeriodicoImmobiliare].[Popola_S133_S157DatiPiramide] +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT_TEMP + FROM + C6MartPeriodicoImmobiliare.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MartPeriodicoImmobiliare.PATRIMONIO_BF PIRAMIDE_VERT + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + and PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + and PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF','INV') + --OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL) /* 20161202 nome_progetto sempre diverso da null */ + ) +/* 20161214 - aggiunto aggragazione percentuali per area */ + SELECT + RETE, + COD_FISCALE, + ID_AREA, + sum(PERC_AREA) as PERC_AREA, + CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + #PIRAMIDE_VERT_TEMP + group by rete,cod_fiscale, id_area, CONTROVALORE +truncate table C6MartPeriodicoImmobiliare.TB_S133_S157DatiPiramide +insert into C6MartPeriodicoImmobiliare.TB_S133_S157DatiPiramide + SELECT distinct /* 20161202 */ + ATTUALE.RETE, + ATTUALE.COD_FISCALE, + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + ISNULL(ATTUALE.CONTROVALORE,0) PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ISNULL(ATTUALE.PERC_AREA,0) ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ISNULL(ATTUALE.CONTROVALORE,0) DifferenzaEuro, + 0 differenzapercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + --WHEN AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + 0 somma_controvalAttuale, + 0 somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + RISCHIOTOTALE.VAR_PERC_PTF var_tot, + null var_totString, + RISCHIOTOTALE_PIR.VAR_PERC_PTF var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_tot_pirString, + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodicoImmobiliare.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodicoImmobiliare.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + C6MartPeriodicoImmobiliare.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodicoImmobiliare.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodicoImmobiliare.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' +------------------------------------------------------------------ +SELECT rete, cod_fiscale,sum(ATTUALE.CONTROVALORE) TotControvalore +into #temp +FROM #PIRAMIDE_VERT ATTUALE +WHERE ID_AREA not in ('Na', 'Cc','Self') +group by rete,cod_fiscale +update s157 +set s157.PercentualeAttuale =CASE + WHEN vert.TotControvalore = 0 THEN 0 + ELSE (100 * s157.PercentualeAttuale / ISNULL(vert.TotControvalore,1)) + END, +s157.ControvaloreModello=ROUND(ISNULL(s157.ControvaloreModello * vert.TotControvalore / 100 , 0),2) , +s157.DifferenzaEuro = ROUND(ISNULL(s157.DifferenzaEuro,0),2) - ROUND(ISNULL(s157.Totale_Percentuale * vert.TotControvalore / 100 , 0),2), +s157.DifferenzaPercentuale = CASE + WHEN vert.TotControvalore = 0 THEN - s157.Totale_Percentuale + ELSE ISNULL( (100 * ISNULL(s157.ControvaloreAttuale,0) / vert.TotControvalore - s157.Totale_Percentuale) , 0) + END , +s157.somma_controvalAttuale =vert.TotControvalore, +s157.somma_controvalModello=vert.TotControvalore +from C6MartPeriodicoImmobiliare.TB_S133_S157DatiPiramide s157 +inner join #temp vert +on vert.rete = s157.rete and vert.cod_fiscale = s157.codicefiscale +select rete,cod_fiscale,'TOT' as Tipo,count(*) over ( partition by rete,cod_fiscale) TOT + into #TempContatori + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF +union +select rete,cod_fiscale,'TOTCCSELF',count(*) over ( partition by rete,cod_fiscale) TOTCCSELF + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF + where TIPO_PRODOTTO = 'CC' OR ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELF',count(*) over ( partition by rete,cod_fiscale) TOTSELF + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELFLIQ',count(*) over ( partition by rete,cod_fiscale) TOTSELFLIQ + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') AND ID_AREA = 'LIQ' +union +select rete,cod_fiscale,'TOTLIQ',count(*) over ( partition by rete,cod_fiscale) TOTLIQ + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF + where ID_AREA = 'LIQ' + select + totale1.rete, + totale1.cod_fiscale, + ISNULL(totale1.TOT,0) as TOT, + ISNULL(totale2.TOT,0) as TOTCCSELF, + ISNULL(totale3.TOT,0) as TOTSELF, + ISNULL(totale4.TOT,0) as TOTSELFLIQ, + ISNULL(totale5.TOT,0) as TOTLIQ + into #Contatori + from + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOT') as totale1 + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTCCSELF') as totale2 + on totale1.rete=totale2.rete + and totale1.cod_fiscale=totale2.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELF') as totale3 + on totale1.rete=totale3.rete + and totale1.cod_fiscale=totale3.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELFLIQ') as totale4 + on totale1.rete=totale4.rete + and totale1.cod_fiscale=totale4.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTLIQ') as totale5 + on totale1.rete=totale5.rete + and totale1.cod_fiscale=totale5.cod_fiscale +update s157 +set +var_needareaString= CASE + WHEN TOTSELFLIQ = TOTLIQ and needarea = 'LIQ' THEN 'n.c.' + ELSE var_needareaString + END, +var_tot = CASE + WHEN TOTCCSELF = TOT THEN 0.00 + ELSE var_tot + END , +var_totString=CASE + WHEN (TOTCCSELF <> TOT) AND(copertura_tot IS NULL OR copertura_tot = 0) THEN 'n.c.' + WHEN (TOTSELF = TOT) THEN 'n.c.' + ELSE NULL + END , +var_tot_pir =CASE + WHEN TOTCCSELF = TOT THEN 0 + ELSE var_tot_pir +END , +var_tot_pirString=CASE + WHEN var_tot_pirString <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + WHEN TOTSELF = TOT THEN 'n.c.' + ELSE var_tot_pirString + END + ELSE var_tot_pirString + END , +VAR_RISFINSTRING=CASE + WHEN VAR_RISFINSTRING <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + ELSE VAR_RISFINSTRING + END + ELSE VAR_RISFINSTRING + END +from C6MartPeriodicoImmobiliare.TB_S133_S157DatiPiramide s157 +inner join ( select * from #Contatori ) contatori +on contatori.rete = s157.rete and contatori.cod_fiscale = s157.codicefiscale +--and codicefiscale='00247580970' + Drop TABLE #temp + DROP TABLE #PIRAMIDE_VERT + drop table #Contatori + drop table #TempContatori +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ANAG_CLIENTI.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ANAG_CLIENTI.sql new file mode 100644 index 00000000..2ee3fe1f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ANAG_CLIENTI.sql @@ -0,0 +1,143 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ANAG_CLIENTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.ANAG_CLIENTI + INSERT INTO C6MartPeriodicoImmobiliare.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE AS RETE, + [dbo].[FFCODICEFISCALE] (AL.CODFIS,AL.CODMAN,AL.PIVA)AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOMECLIENTE)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOMECLIENTE)) AS COGNOME, + ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + NULL AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + [dbo].[FFPIVA] (AL.CODMAN, AL.PIVA) AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODFIS,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodicoImmobiliare.RP_InfoCliente AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN2 CL + ON CL.RETE = AL.RETE + AND ( ltrim(rtrim(CL.CODFIS)) = CASE WHEN ISNULL(AL.CODFIS, '') = '' THEN AL.PIVA ELSE AL.CODFIS END ) + AND (ISNULL(CL.CODMAN, '') = ISNULL(AL.CODMAN, '')) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2) +--and al.codfis not in +--( +--'FF@8464', +--'LBRMRA73H15H501A', +--'FF@5134' +--) +------------------------------- +/* 20170409 rete + cf duplicato +--S SFRCLD60E12Z110N +--F TTLVNT44H04L746B +*/ + and AL.AGENTE is not null + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI.sql new file mode 100644 index 00000000..523eabcd --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI.sql @@ -0,0 +1,94 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ANAG_PRODOTTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.ANAG_PRODOTTI + INSERT INTO [C6MartPeriodicoImmobiliare].[ANAG_PRODOTTI] + (--ChiaveProdotto, + [COD_PRODOTTO] + ,[COD_ISIN] + ,[PAESE] + ,[ID_AREA] + ,[CAT_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[COD_MAF] + ,[RATING] + ,[COD_ADEGUATEZZA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[DT_SCADENZA] + ,[TIPO_EMITTENTE] + ,[TIPO_TASSO] + ,[FLG_OB]) + SELECT + --ChiaveProdotto, + CatalogueID AS COD_PRODOTTO, + ISNULL(CodIsin, '') AS COD_ISIN, + NULL AS PAESE, + '' AS ID_AREA, + (SELECT CASE + WHEN a.Livello1 like '%Assicurativo%' THEN 'Gestito Finanziario' + else a.Livello1 + END) AS CAT_PRODOTTO, + TipoProdotto AS TIPO_PRODOTTO, + NomeProdotto AS DESCR_PRODOTTO, + PrezzoValuta AS DIV_QUOTAZIONE, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + CodMaf AS COD_MAF, + case when LTRIM(RTRIM(RATINGobbligazioni)) = '' THEN null ELSE RATINGobbligazioni end AS RATING, + CodAdeguatezza AS COD_ADEGUATEZZA, + CodSottoprodotto AS COD_SOTTOPRODOTTO, + ISNULL(CodInterno, '') AS COD_INTERNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + DtScadenza, + TIP_EMITTENTE, + TIP_TASSO, + CASE WHEN c.Alberatura = 98 THEN 'S' ELSE 'N' END AS FLG_OB + FROM C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti c +Inner Join C6StagingPeriodicoImmobiliare.RP_AnAlberatura a + ON c.Alberatura = a.Alberatura + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI_TERZI.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI_TERZI.sql new file mode 100644 index 00000000..7c056556 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ANAG_PRODOTTI_TERZI.sql @@ -0,0 +1,80 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ANAG_PRODOTTI_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_TERZI', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.ANAG_PRODOTTI_TERZI + INSERT INTO [C6MartPeriodicoImmobiliare].[ANAG_PRODOTTI_TERZI] + ([COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[NOME_PRODOTTO] + ,[ALBERO_PRODOTTI] + ,[COD_ISIN] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[INTERMEDIARIO] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[PAESE] + ,[RATING] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + --C6MartPeriodicoImmobiliare.VCONTRATTI.chiaveClientePB AS chiaveClientePB, + C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.chiaveProdotto AS COD_PRODOTTO, + ISNULL(Mapping.Temp_oidProd ,C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.nomeProdotto AS NOME_PRODOTTO, + NULL AS ALBERO_PRODOTTI, + NULL AS COD_ISIN, + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.tipoprod AS DESCR_PRODOTTO, + NULL AS DIV_QUOTAZIONE, + C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + NULL AS PAESE, + NULL AS RATING, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi + INNER JOIN C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi + ON C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.chiaveProdottoTerzi = C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.chiaveProdottoTerzi + INNER JOIN [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] VCONTRATTI + ON C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + LEFT JOIN C6StagingPeriodicoImmobiliare.RP_MappingTerzi Mapping + ON C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.chiaveProdottoTerzi = Mapping.chiaveProdottoTerzi + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_AREA_BISOGNO.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_AREA_BISOGNO.sql new file mode 100644 index 00000000..c23081e2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_AREA_BISOGNO.sql @@ -0,0 +1,47 @@ +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_AREA_BISOGNO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + TRUNCATE TABLE C6MartPeriodicoImmobiliare.AREA_BISOGNO + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_AREA_BISOGNO', + GETDATE(), + 'Mart Immobiliare' + ) + INSERT INTO C6MartPeriodicoImmobiliare.[AREA_BISOGNO] + ([ID_AREA] + ,[NOME_AREA] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(Area)) AS ID_AREA, + LTRIM(RTRIM(Descrizione)) AS NOME_AREA, + Ordinamento AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodicoImmobiliare.RP_NEEDAREA + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_AREA_BISOGNO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_AREA_BISOGNO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS.sql new file mode 100644 index 00000000..b1dee3ef --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS.sql @@ -0,0 +1,66 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from C6MartPeriodicoImmobiliare.assetclass +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ASSETCLASS] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS', + GETDATE(), + 'Mart Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.ASSETCLASS + SELECT + A.ASSET AS ID_ASSETCLASS, + A.DESCRIZIONE AS DESCRIZIONE, + A.LIVELLO AS LIVELLO, + B.ORDINAMENTO_ASSET AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + into #temp_asset + FROM C6StagingPeriodicoImmobiliare.RP_ASSETCLASS A + JOIN + C6StagingPeriodicoImmobiliare.RP_REP_ASSET_1_E_2_ORDINATE B + ON A.ASSET = B.CODICE_ASSET_CLASS_INGRESSO + INSERT INTO [C6MartPeriodicoImmobiliare].[ASSETCLASS] + ([ID_ASSETCLASS] + ,[DESCRIZIONE] + ,[LIVELLO] + ,[ORDINAMENTO] + ,[ID_ELAB]) + select ID_ASSETCLASS, + DESCRIZIONE, + LIVELLO, + ORDINAMENTO, + ID_ELAB + from #temp_asset + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_ASSETCLASS' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS_TERZI.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS_TERZI.sql new file mode 100644 index 00000000..e53b470a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ASSETCLASS_TERZI.sql @@ -0,0 +1,58 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from [C6MartPeriodicoImmobiliare].[ASSETCLASS_TERZI] +--[C6MartPeriodicoImmobiliare].[DM_ASSETCLASS_TERZI] +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ASSETCLASS_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS_TERZI', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.ASSETCLASS_TERZI + INSERT INTO [C6MartPeriodicoImmobiliare].[ASSETCLASS_TERZI] + ([ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_ADEGUATEZZA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + B.CODICE_ASSET_CLASS_INGRESSO, + B.CODICE_ISIN, + B.CODICE_MAF, + ISNULL(B.CODICE_ADEGUATEZZA,'$'), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodicoImmobiliare.RP_REP_ASSET_1_E_2_ORDINATE B + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC.sql new file mode 100644 index 00000000..c81b4b12 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC.sql @@ -0,0 +1,73 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ASSET_PERC] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC', + GETDATE(), + 'Mart Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.ASSET_PERC + INSERT INTO [C6MartPeriodicoImmobiliare].[ASSET_PERC] + ([COD_PRODOTTO] + ,[ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[LIVELLO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + cat.CatalogueID AS COD_PRODOTTO, + LTRIM(RTRIM(ac.Asset)) AS ID_ASSETCLASS, + cat.CodIsin AS COD_ISIN, + cat.CodMaf AS COD_MAF, + cat.CodInterno AS COD_INTERNO, + cat.CodSottoprodotto AS COD_SOTTOPRODOTTO, + ac.Livello AS LIVELLO, + LTRIM(RTRIM(map.Percentuale)) AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodicoImmobiliare.RP_Mappatura AS map + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_AssetClass AS ac + ON + map.Asset = ac.Asset + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti cat + ON + map.ChiaveProdotto = cat.ChiaveProdotto + where map.Percentuale >= -999.099 and map.Percentuale <= 999.099 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_ASSET_PERC' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC_TERZI.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC_TERZI.sql new file mode 100644 index 00000000..96f0600d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_ASSET_PERC_TERZI.sql @@ -0,0 +1,80 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_ASSET_PERC_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC_TERZI', + GETDATE(), + 'Mart Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.ASSET_PERC_TERZI + INSERT INTO [C6MartPeriodicoImmobiliare].[ASSET_PERC_TERZI] + ([COD_PRODOTTO_TERZI] -- + ,[ID_ASSETCLASS] -- + ,[LIVELLO] -- + ,[NOME_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[PERC] -- + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ISNULL(Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, + RP_AssetClass.Asset AS ID_ASSETCLASS, + RP_AssetClass.Livello AS LIVELLO, + NULL AS NOME_PRODOTTO, + NULL AS TIPO_PRODOTTO, + RP_MappaturaPT.percentuale / 100 AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi + ON + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + ON + C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.alberatura = C6StagingPeriodicoImmobiliare.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_MappaturaPT + ON + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6StagingPeriodicoImmobiliare.RP_MappaturaPT.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_AssetClass + ON + C6StagingPeriodicoImmobiliare.RP_MappaturaPT.asset = C6StagingPeriodicoImmobiliare.RP_AssetClass.Asset + LEFT JOIN + C6StagingPeriodicoImmobiliare.RP_MappingTerzi Mapping + ON + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.chiaveProdottoTerzi = Mapping.chiaveProdottoTerzi + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_CONTRATTOSEI.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_CONTRATTOSEI.sql new file mode 100644 index 00000000..068a022e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_CONTRATTOSEI.sql @@ -0,0 +1,117 @@ +----------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_CONTRATTOSEI] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CONTRATTOSEI', + GETDATE(), + 'Elaborazione trimestrale Immobiliare' + ) +TRUNCATE TABLE C6MartPeriodicoImmobiliare.CONTRATTOSEI +INSERT INTO C6MartPeriodicoImmobiliare.CONTRATTOSEI +SELECT + [Rete], + [Cod_Fiscale], + [PIva_Fiduciaria], + [DATA_INZIOAVANZATO] as [Data_Sott], + [CodiceContratto], + [Cod_Agente], + [Data_Perf_Base], + [Data_Perf], + null as [Fascia_CPP], + null as [Email], + [Indirizzo], + [CAP], + [Citta], + [Provincia], + [Nazione], + [Presso], + null as[Data_Inizio], + [Freq_Diagnosi], + [FREQ_MONITORAGGIO], + null as [Freq_DiagnosiPrec], + null as [Freq_MonitorPrec], + null as [Data_InizioConsInv], + [Data_InizioBase], + [Data_FineBase], + [DATA_INZIOAVANZATO], + [Data_FineAvanzato], + null as [ProgressivoInvio], + 'N', + 'N', + null as [DataUltimoInvio], + [ClienteMigrato], + [RisorseNA], + null as [PartViaDisinv], + [NumSolleciti], + [Data_UltimoSollecito], + [NumRevoche], + [Data_UltimaRevoca], + null as [Note], + null as [Data_Invio_Diagnosi_Trimestrale], + null as [Data_Invio_Monitoraggio_Trimestrale], + [ProfiloAttivo], + null as [Rol], + [TIP_CONTRATTO], + [TIP_RIATTIVAZIONE] +FROM + [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CONTRATTOSEI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_CONTRATTOSEI' + ) +UPDATE C6MartPeriodicoImmobiliare.contrattosei + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,prov = a.Provincia + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITOR = a.FREQ_MONITORAGGIO +from c6mart.vcontratti a +inner join C6MartPeriodicoImmobiliare.contrattosei b +on a.codicecontratto = b.codicecontratto +UPDATE contr + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,provincia = a.Prov + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITORAGGIO = a.FREQ_MONITOR +from C6MartPeriodicoImmobiliare.contrattosei a +inner join [C6StagingPeriodico].[APPO_CONTRATTI] contr on a.codicecontratto = contr.codicecontratto +left join [C6StagingPeriodicoImmobiliare].[APPO_CONTRATTI_LIMITER] lim on lim.COD_FISCALE = contr.COD_FISCALE and lim.rete = contr.rete +where lim.cod_fiscale is not null or 0 = (select count(*) from [C6StagingPeriodicoImmobiliare].[APPO_CONTRATTI_LIMITER] with (nolock)) +-- Allineamento Flag Rol su contratto sei +Update C6MartPeriodicoImmobiliare.ContrattoSei +Set Rol = Case D.statorol + When 'S' then D.statorol + Else 'N' + End, + EmAil = Case d.alertrol + When 'S' then D.Email + End +from C6MartPeriodicoImmobiliare.ContrattoSei C inner join C6StagingPeriodico.datiRol2 D +on d.codContratto = c.codiceContratto \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_DETTAGLIO_ASUL.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_DETTAGLIO_ASUL.sql new file mode 100644 index 00000000..636cbff4 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_DETTAGLIO_ASUL.sql @@ -0,0 +1,266 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodicoImmobiliare].[TEMP_RP_DM_DETTAGLIO_ASUL] +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[RP_DM_DETTAGLIO_ASUL] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_1', + GETDATE(), + 'Mart Immobiliare' + ) + DECLARE @MaxDTTrim AS decimal(9,0) + SELECT @MaxDTTrim = MAX(DTTRIM) FROM C6STAGINGPERIODICO.WSEIUL + TRUNCATE TABLE C6MartPeriodicoImmobiliare.DETTAGLIO_ASUL + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + --ISNULL( + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + -- SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + CAST('' AS VARCHAR(255)) AS COD_PRODOTTO, + --ISNULL(SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57), + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD) + -- ) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + SPB_CONTR_SINTESI.POSITIONID AS SPB_POSITIONID + INTO #TEMP_DETTAGLIO_ASUL + FROM + C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.CodInterno + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.CodSottoprodotto + -------------------> Mod del 23/1/2017 - ripristinata and sulla visibilità precedentemente commentata + AND CATITEMREF.Visibilita = 1 + -------------------> Fine Mod del 23/1/2017 + AND (SPB_ASS_UNIT.ISIN = '' --and CATITEMREF.CodIsin is null --= '$' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.CodAdeguatezza + AND + SPB_ASS_UNIT.MAF = CATITEMREF.CodMaf) + ) +WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = @MaxDTTrim + -------------------> Mod del 23/1/2017 -Commentata and sulla visibilità + --AND CATITEMREF.Visibilita = 1 + -------------------> Fine Mod del 23/1/2017 + and SPB_CONTR_SINTESI.CTV <> 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_2', + GETDATE(), + 'Mart Immobiliare' + ) + declare @visible int + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + INNER JOIN + ( + select * from C6StagingPeriodicoImmobiliare.rp_catalogoprodotti where visibilita = 1 + )CAT + on + --caso 1 + (COD_SOTTOPRODOTTO not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'')) + or + --else caso 1 + (COD_SOTTOPRODOTTO in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'') + and cat.TIPOPRODOTTO = 'ASUL') + --*********************************************************************************** + WHERE COD_PRODOTTO = '' + set @visible = @visible - 1 + end + -------------------> Mod del 23/1/2017 + --aggiorno tutti quelli che non hanno almeno un prodotto in catalogo con visibilità 1 + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + INNER JOIN C6StagingPeriodicoImmobiliare.rp_catalogoprodotti cat + on + isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'') + and cat.TIPOPRODOTTO = 'ASUL' + --) + --*********************************************************************************** + WHERE COD_PRODOTTO = '' + set @visible = @visible - 1 + end + -------------------> Fine Mod del 23/1/2017 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_2' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_3', + GETDATE(), + 'Mart Immobiliare' + ) + -------------> modifica del 23/01/2017 - questa update non è corretta - sostituiamo con scarto su data quality + --UPDATE #TEMP_DETTAGLIO_ASUL + --SET COD_PRODOTTO = SPB_POSITIONID + --WHERE COD_PRODOTTO = '' + --select + -- 14 as idTipoCtr, + -- rete as rete, + -- cod_fiscale as codfis, + -- (select DescSegnalazione from C6MartPeriodicoImmobiliare.tb_tipocontrollo where idtipocontrollo = 14) + temp.cod_interno + '/' + temp.cod_sottoprodotto + '/' +temp.id_contratto + -- as descrizione, + -- @ID_ELAB as idelab, + -- '' as richiesta, + -- 0 as idfase, + -- getdate() as dataelab + --into #TbErrori + --from #TEMP_DETTAGLIO_ASUL temp + --WHERE temp.COD_PRODOTTO = '' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_3' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_4', + GETDATE(), + 'Mart Immobiliare' + ) + INSERT INTO [C6MartPeriodicoImmobiliare].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + [RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB] + FROM #TEMP_DETTAGLIO_ASUL + DROP TABLE #TEMP_DETTAGLIO_ASUL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_4' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_4' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_ALTRO.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_ALTRO.sql new file mode 100644 index 00000000..66bad0ee --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_ALTRO.sql @@ -0,0 +1,86 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_PATRIMONIO_ALTRO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_ALTRO', + GETDATE(), + 'Mart Immobiliare' + ) +TRUNCATE TABLE C6MartPeriodicoImmobiliare.PATRIMONIO_ALTRO +INSERT INTO [C6MartPeriodicoImmobiliare].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb, dettPatrAz.denominazione) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6StagingPeriodicoImmobiliare.RP_DettPatrAziendale dettPatrAz, + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi patrTerzi, + [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +UNION ALL +SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb, dettAltriProd.descrizione) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6StagingPeriodicoImmobiliare.RP_DettAltriProdotti dettAltriProd, + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_BF.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_BF.sql new file mode 100644 index 00000000..f84a27b6 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_BF.sql @@ -0,0 +1,747 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +--------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_PATRIMONIO_BF] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() +INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Mart Immobiliare' + ) +TRUNCATE TABLE C6MartPeriodicoImmobiliare.PATRIMONIO_BF +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + -- 20170421 elimina char ; dal nome progetto che causa errore 2000 durante elaborazione prometeia exe + --ELSE LTRIM(RTRIM(CON.nomeProgetto)) + ELSE replace (LTRIM(RTRIM(CON.nomeProgetto)), ';', '') + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + INTO TEMP_PATRIMONIO_CAMPIONE + FROM C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPeriodicoImmobiliare.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodicoImmobiliare.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + --and con.cod_fiscale + CON.RETE IN + --( + --select COD_FISCALE + RETE + --FROM ANDREA_RINO_CODICI_PATRIMONIO + --) + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPPROD = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + --ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + FROM C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPeriodicoImmobiliare.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6StagingPeriodicoImmobiliare.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodicoImmobiliare.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6StagingPeriodicoImmobiliare.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin in ('EURO00000009', 'EURO10000007') + --FINE INTERVENTI OMNIA*** +--and con.cod_fiscale + CON.RETE IN +--( +--select COD_FISCALE + RETE +--FROM ANDREA_RINO_CODICI_PATRIMONIO +--) +UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_1', + GETDATE(), + 'Mart Immobiliare' + ) + --DROP TABLE #PATRIMONIO_DUPLICATI + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM TEMP_PATRIMONIO_CAMPIONE + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + --Scrittura Tabella Data Quality + --id 4 'POSIZIONI DUPLICATE - PATRIMONIO_BF' +--exec C6MartPeriodico.SP_DQ_PosizioniDuplicate 2 +-- INSERT INTO C6MARTPERIODICO.TEST_QUALITY +-- SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' +-- FROM #PATRIMONIO_DUPLICATI +-- GROUP BY RETE, COD_FISCALE +UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_2', + GETDATE(), + 'Mart Immobiliare' + ) + INSERT INTO C6MartPeriodicoImmobiliare.PATRIMONIO_BF +([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] +-- ,[STATO_CONSULENZA] +-- ,[DATA_STATO_CONS] +-- ,[DATA_MIGR_CONS] +-- , [DATA_PIANIF] +-- ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVE_PROGETTO]) + SELECT P.[RETE] + ,P.[COD_FISCALE] + ,P.[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,NULL --[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZONTETEMPORALE] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVEPROGETTO] +FROM +TEMP_PATRIMONIO_CAMPIONE P + LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--select rete, cod_fiscale, positionid, count(*) from #PATRIMONIO group by rete, cod_fiscale, positionid having count(*) > 1 + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, +-- case when isnull(CON.tipoProgetto, '') = '' then 'Default' +-- when CON.tipoProgetto = 0 then 'Default' +-- else 'Progetto investimento' end + '' as TIPO_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + CASE WHEN ORIZZ_TEMP_NUM = 0 THEN NULL ELSE ORIZZ_TEMP_NUM END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + KAT.AzOb As STRTYPE, + KAT.Complessita as COMPLEX, + MIT.DESCRIZIONE AS EMITTENTE, + SPB.ISIN, + @ID_ELAB, + @TIPO_ELAB, + -1 AS CHIAVE_PROGETTO + FROM C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI_v SPB + LEFT JOIN TEMP_PATRIMONIO_CAMPIONE PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + JOIN [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + INNER JOIN C6StagingPeriodicoImmobiliare.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6StagingPeriodicoImmobiliare.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--and SPB.CODFIS + SPB.RETE IN +-- ( +-- select COD_FISCALE + RETE +-- FROM ANDREA_RINO_CODICI_PATRIMONIO +-- ) +UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_3', + GETDATE(), + 'Mart Immobiliare' + ) + --************************************************************************************************* + -- RECUPERO CHIAVE PROGETTO DALLA CONSULENZA PER I PRODOTTI CHE SCENDONO DAL WS MA NON SONO NEL DB + SELECT DISTINCT COD_FISCALE, RETE, NULL AS CHIAVEPROGETTO + INTO #CHIAVEPROGETTONULL + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF + WHERE CHIAVE_PROGETTO = -1 + UPDATE #CHIAVEPROGETTONULL SET CHIAVEPROGETTO = R.CHIAVEPROGETTO + FROM + #CHIAVEPROGETTONULL C INNER JOIN C6StagingPeriodicoImmobiliare.RP_PROGETTICLIENTE R + ON C.COD_FISCALE = R.COD_FISCALE + AND C.RETE = R.RETE + AND R.area = 'Na' + UPDATE C6MartPeriodicoImmobiliare.PATRIMONIO_BF SET + CHIAVE_PROGETTO = T.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = T.CHIAVEPROGETTO + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF P INNER JOIN #CHIAVEPROGETTONULL T + ON P.COD_FISCALE = T.COD_FISCALE + AND P.RETE = T.RETE + WHERE P.CHIAVE_PROGETTO = -1 + --************************************************************************************************* + drop table #CHIAVEPROGETTONULL + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' + ) +--DROP table TEMP_PATRIMONIO_CAMPIONE +INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Mart Immobiliare' + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodicoImmobiliare.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, +--INIZIO INTERVENTO CORRETTIVO 20150130 +-- '', + CONS.CodIsin, +--FINE INTERVENTO CORRETTIVO 20150130 + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND TCP.SUBPROD=TSCA.SUBPROD + AND TCP.ISIN=TSCA.ISIN + AND TCP.dtrif=TSCA.dtrif + AND TCP.dtingresso=TSCA.dtingresso +--FINE INTERVENTO CORRETTIVO 20150130 + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + --C6StagingPeriodicoImmobiliare.RP_CONSULENZA_v AS CONS + C6StagingPeriodicoImmobiliare.RP_CONSULENZA AS CONS + ON + TSCA.CODCONF = CONS.CODCONF +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND (TSCA.CODPROD = CONS.CodInterno + OR TSCA.CODABI = CONS.CodInterno) +--FINE INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.ISIN, '') = ISNULL(CONS.CodIsin, '') +-- AND TCP.CODINT = CONS.CODINTERNO +--FINE INTERVENTO CORRETTIVO 20150130 + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE +--INIZIO INTERVENTO CORRETTIVO 20150130 + TCP.dtuscita = '99991231' +-- TSCA.DTRIF <> 0 +--FINE INTERVENTO CORRETTIVO 20150130 + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN C6MartPeriodicoImmobiliare.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + DROP TABLE #REND_NON_RAPPR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_3', + GETDATE(), + 'Mart Immobiliare' + ) +UPDATE C6MartPeriodicoImmobiliare.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MartPeriodicoImmobiliare.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +C6MartPeriodicoImmobiliare.patrimonio_bf +SET Id_area = 'Liq', +REND_NON_RAPPR=1 +WHERE TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +--AND ID_AREA = 'na' +AND CTV > 0 +UPDATE +C6MartPeriodicoImmobiliare.patrimonio_bf +SET Id_area = 'Cc' +WHERE TIPO_PRODOTTO='CC' +--AND ID_AREA = 'na' +AND CTV < 0 +--***INIZIO INTERVENTI OMNIA*** +UPDATE +C6MartPeriodicoImmobiliare.patrimonio_bf +SET Id_area = 'Self' +--INIZIO INTERVENTO CORRETTIVO 20150130 + ,REND_NON_RAPPR=0 +--FINE INTERVENTO CORRETTIVO 20150130 +WHERE ISIN in ('EURO00000009', 'EURO10000007') +--AND ID_AREA = 'na' +AND CTV < 0 +--***FINE INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I CC DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MartPeriodicoImmobiliare.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF BF + inner join C6StagingPeriodicoImmobiliare.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Cc') + AND BF.id_AREA=R.AREA + WHERE BF.TIPO_PRODOTTO='CC' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***INIZIO INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I SELF GP OMNIA DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MartPeriodicoImmobiliare.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MartPeriodicoImmobiliare.PATRIMONIO_BF BF + inner join C6StagingPeriodicoImmobiliare.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Self') + AND BF.id_AREA=R.AREA + WHERE BF.ISIN in ('EURO00000009', 'EURO10000007') + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***FINE INTERVENTI OMNIA*** +--aggiunta Emanuele +UPDATE +C6MartPeriodicoImmobiliare.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +UPDATE C6MartPeriodicoImmobiliare.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' + ) +--insert into c6martperiodico.test_quality +--select distinct a.rete, a.cod_fiscale, 'ORDINAMENTO PROGETTO PER AREA DUPLICATO' +--from +--(SELECT * FRom c6martperiodico.patrimonio_bf ) a +--inner join +--(SELECT * FRom c6martperiodico.patrimonio_bf ) b +--on a.cod_fiscale = b.cod_fiscale +--and a.rete= b.rete +--and a.id_area = b.id_area +--where a.id_area <> 'Inv' +--and a.ordinamento_progetto <> b.ordinamento_progetto +--exec C6MartPeriodico.SP_DQ_ProgettoDuplicatoArea 2 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE.sql new file mode 100644 index 00000000..856891f8 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE.sql @@ -0,0 +1,79 @@ +--select * from C6MartPeriodicoImmobiliare.patrimonio_immobiliare +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_PATRIMONIO_IMMOBILIARE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Mart Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.PATRIMONIO_IMMOBILIARE + INSERT INTO [C6MartPeriodicoImmobiliare].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + C.RETE, --ALL_PATR_TERZI.RETE_PB AS RETE, + C.COD_FISCALE, --ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + B.DESCRIZIONE, --ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, --b.descrizione + B.TIPOLOGIA, + B.COMUNE AS COMUNE, --ALL_PATR_TERZI.LOCALITA AS LOCALITA, --comune è null verificare se è corretto + B.codProvincia AS PROVINCIA, --NULL AS PROVINCIA, --provincia + NULL AS CAP, + NULL AS NAZIONE, + B.VALOREIMMOBILETOTALE, + B.RENDITAANNUA, --ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, --renditaAnnua + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodicoImmobiliare.RP_PATRIMONIOTERZI A + JOIN C6StagingPeriodicoImmobiliare.RP_DETTIMMOBILIARE B + ON A.CHIAVEPRODOTTOTERZI = B.CHIAVEPRODOTTOTERZI + JOIN [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] C + ON A.CHIAVECLIENTEPB = C.CHIAVECLIENTEPB + WHERE A.IDTIPOPRODOTTO = 'IM' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql new file mode 100644 index 00000000..60d157c5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql @@ -0,0 +1,79 @@ +--select * from C6MartPeriodicoImmobiliare.patrimonio_immobiliare +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Mart Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.PATRIMONIO_IMMOBILIARE + INSERT INTO [C6MartPeriodicoImmobiliare].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + C.RETE, --ALL_PATR_TERZI.RETE_PB AS RETE, + C.COD_FISCALE, --ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + B.DESCRIZIONE, --ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, --b.descrizione + B.TIPOLOGIA, + B.COMUNE AS COMUNE, --ALL_PATR_TERZI.LOCALITA AS LOCALITA, --comune è null verificare se è corretto + B.codProvincia AS PROVINCIA, --NULL AS PROVINCIA, --provincia + NULL AS CAP, + NULL AS NAZIONE, + B.VALOREIMMOBILETOTALE, + B.RENDITAANNUA, --ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, --renditaAnnua + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodicoImmobiliare.RP_PATRIMONIOTERZI A + JOIN C6StagingPeriodicoImmobiliare.RP_DETTIMMOBILIARE B + ON A.CHIAVEPRODOTTOTERZI = B.CHIAVEPRODOTTOTERZI + JOIN [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] C + ON A.CHIAVECLIENTEPB = C.CHIAVECLIENTEPB + WHERE A.IDTIPOPRODOTTO = 'IM' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_TERZI.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_TERZI.sql new file mode 100644 index 00000000..e1662386 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PATRIMONIO_TERZI.sql @@ -0,0 +1,163 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_DM_PATRIMONIO_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_TERZI', + GETDATE(), + 'Mart Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.PATRIMONIO_TERZI + INSERT INTO [C6MartPeriodicoImmobiliare].[PATRIMONIO_TERZI] + ( + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(MAPPING.Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + --------------------- intervento del 2/3/2018 per gestire ctv e capitale_investito più grandi del consentito + ---RP_PatrimonioTerzi.ctv AS CTV, + ----RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + case + when RP_PatrimonioTerzi.ctv > 999999999999.00 then 999999999999.00 + else RP_PatrimonioTerzi.ctv + end AS CTV, + case + when RP_DettProdottiTerzi.capitaleInvestito > 999999999999.00 then 999999999999.00 + else RP_DettProdottiTerzi.capitaleInvestito + end AS VERSATO_NETTO, + --------------------- fine intervento del 2/3/2018 + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + /* 20170427 aggiunto Assets.FinancialAssets.OtherFin e Assets.FinancialAssets.OtherAss al gruppo Portafoglio Generico */ + --WHEN RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.Other' + WHEN RP_PatrimonioTerzi.tipoProd in ('Assets.FinancialAssets.Other', 'Assets.FinancialAssets.OtherFin', 'Assets.FinancialAssets.OtherAss') + THEN 'Portafoglio Generico' + WHEN RP_PatrimonioTerzi.tipoProd IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') + THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + --'' AS DESCR_GRUPPO_PRODOTTO, --se mi dici adesso come si chiama questo campo (ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO) è fatta + RP_CatalogoProdotti.AzOb AS STRTYPE, --manca (farselo dire da Alessia) (obbligazionario o azionario) + RP_CatalogoProdotti.Complessita AS COMPLEX, + RP_AnEmittente.Descrizione AS EMITTENTE, + MAPPING.Temp_oidProd AS chiave_thr, --da rivedere + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] VCONTRATTI + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_PatrimonioTerzi + ON VCONTRATTI.chiaveClientePB = RP_PatrimonioTerzi.chiaveClientePB + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi + LEFT JOIN + C6StagingPeriodicoImmobiliare.RP_MappingTerzi MAPPING + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = MAPPING.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodicoImmobiliare.RP_S4_S5_S13_TRAD_UNTIL_LIV3 ON C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.alberatura = C6StagingPeriodicoImmobiliare.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + LEFT JOIN + C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti ON C6StagingPeriodicoImmobiliare.RP_DettProdottiTerzi.chiaveProdotto = C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti.ChiaveProdotto + LEFT JOIN + C6StagingPeriodicoImmobiliare.RP_AnEmittente ON C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti.Emittente = C6StagingPeriodicoImmobiliare.RP_AnEmittente.Emittente + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PIRAMIDE_MOD.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PIRAMIDE_MOD.sql new file mode 100644 index 00000000..3e8a0a51 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_DM_PIRAMIDE_MOD.sql @@ -0,0 +1,211 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[RP_DM_PIRAMIDE_MOD] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PIRAMIDE_MOD', + GETDATE(), + 'Mart Immobiliare' + ) + TRUNCATE TABLE C6MartPeriodicoImmobiliare.PIRAMIDE_MOD + INSERT INTO [C6MartPeriodicoImmobiliare].[PIRAMIDE_MOD] + ( + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE, + rp_pirmod.area AS ID_AREA, + -- 2016-12-02: nomeProgetto sempre presente e differente da NULL + --case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then rp_pirmod.nomeProgetto + -- ELSE NULL END + -- fine + rp_pirmod.nomeProgetto AS NOME_PROGETTO, + case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' + else 'Default' + end AS TIPO_PROGETTO, + rp_pirmod.percentualeProgetto AS PERC_AREA, + ISNULL(Progetto.CTVPROGETTO, MigrazProgetto.CTVPROGETTO) AS CTV_PROGETTO, + NULL AS CTV_AREA, + --convert(int,REPLACE(durata,'anni','')) AS ORIZZ_TEMP_NUM, + Progetto.orizzonteTemporale AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(Progetto.orizzonteTemporale, 0) = 0 THEN '' ELSE + cast(Progetto.orizzonteTemporale as varchar(2)) + ' anni' END AS ORIZZ_TEMP, + --rp_pirmod.durata AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + ISNULL(Progetto.ChiaveProgetto, MigrazProgetto.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_ProgettiPiramideModello AS rp_pirmod +INNER JOIN + [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] vCONTRATTI + ON + rp_pirmod.chiaveClientePB = vCONTRATTI.chiaveClientePB + LEFT JOIN + C6StagingPeriodico.RP_Progetto Progetto + on rp_pirmod.chiaveprogettomod = Progetto.chiaveprogettomod + LEFT JOIN + C6StagingPeriodico.RP_Migraz_Progetto MigrazProgetto + on rp_pirmod.chiaveprogettomod = MigrazProgetto.chiaveprogettomod + AND Progetto.chiaveprogettomod is null + WHERE 1=1 + and rp_pirmod.DtFineValidita > getdate() + -- modifica del 30/11/2016 - il tipoProgetto non è più un campo significativo; ecludo le aree light e void + --and ((rp_pirmod.area = 'Inv') OR (rp_pirmod.area <> 'Inv' and rp_pirmod.tipoProgetto = 0)) + and rp_pirmod.area not in ('LIGHT', 'VOID') + -- fine -- modifica del 30/11/2016 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' + ) +-------------------------------------> modifica del 19/1/2017 per inserire il record di aggregazione per l'area 'Pre' + /* + PER OGNI CF MI ESTRAGGO SOLO I RECORD DELL'AREA 'PRE1' E 'PRE2' RINOMINANDOLI COME 'PRE' + PER POTERLI POI AGGREGARE + */ + SELECT + VCONTRATTI.rete AS RETE, + ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE, + CASE WHEN rp_pirmod.area IN ('Pre','Pre1','Pre2') THEN 'Pre' + else rp_pirmod.area + END AS ID_AREA, + rp_pirmod.nomeProgetto AS NOME_PROGETTO, + case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' + else 'Default' + end AS TIPO_PROGETTO, + rp_pirmod.percentualeProgetto AS PERC_AREA, + ISNULL(Progetto.CTVPROGETTO, MigrazProgetto.CTVPROGETTO) AS CTV_PROGETTO, + NULL AS CTV_AREA, + Progetto.orizzonteTemporale AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(Progetto.orizzonteTemporale, 0) = 0 THEN '' ELSE + cast(Progetto.orizzonteTemporale as varchar(2)) + ' anni' END AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + ISNULL(Progetto.ChiaveProgetto, MigrazProgetto.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + into #appo + FROM C6StagingPeriodico.RP_ProgettiPiramideModello AS rp_pirmod + INNER JOIN + [C6MartPeriodicoImmobiliare].[RP_vContrattiPerGenerazioneReport] vCONTRATTI + ON + rp_pirmod.chiaveClientePB = vCONTRATTI.chiaveClientePB + LEFT JOIN + C6StagingPeriodico.RP_Progetto Progetto + on rp_pirmod.chiaveprogettomod = Progetto.chiaveprogettomod + LEFT JOIN + C6StagingPeriodico.RP_Migraz_Progetto MigrazProgetto + on rp_pirmod.chiaveprogettomod = MigrazProgetto.chiaveprogettomod + AND Progetto.chiaveprogettomod is null + WHERE 1=1 + AND rp_pirmod.area in ('Pre','Pre1','Pre2') + and rp_pirmod.DtFineValidita > getdate() + and rp_pirmod.area not in ('LIGHT', 'VOID') + /* + ORA INSERISCO UN SOLO RECORD 'PRE' PER OGNI CF COME AGGREGAZIONE DELL'AREE 'PRE1' E 'PRE2' + DOPO QUESTA INSERT, PER OGNI CF, HO DI NUOVO 'PRE', 'PRE1', E 'PRE2' + */ + insert into [C6MartPeriodicoImmobiliare].[PIRAMIDE_MOD] + ( + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + select + rete, + cod_fiscale, + id_area, + nome_progetto, + tipo_progetto, + sum(perc_area) as perc_area, + sum(ctv_progetto) as ctv_progetto, + sum(ctv_area) as ctv_area, + orizz_temp_num, + orizz_temp, + sum(ctv_totale) as ctv_totale, + stato_consulenza, + data_stato_cons, + data_migr_cons, + id_contratto, + max(ordinamento_progetto), + id_elab, + tipo_elab + from #appo + group by + rete, + cod_fiscale, + id_area, + nome_progetto, + tipo_progetto, + orizz_temp_num, + orizz_temp, + stato_consulenza, + data_stato_cons, + data_migr_cons, + id_contratto,id_elab, + tipo_elab +---------------------------------------------------------------> FINE MODIFICA DEL 19/1/2017 +END +-- select durata, convert(int,REPLACE(durata,'anni','')) FROM C6StagingPeriodico.RP_ProgettiPiramideModello where durata is not null \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2.sql new file mode 100644 index 00000000..a2ff4593 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2.sql @@ -0,0 +1,57 @@ +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_PROM_TuttiIPortafogli2] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT + -- descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] +FROM ( + SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6MartPeriodicoImmobiliare].[RP_vTuttiIPortafogli] + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6MartPeriodicoImmobiliare].[RP_vTuttiIPortafogli_ccLiq] +) T +--where t.codicefiscale <> 'MNTGFR35R06G337T' +--where ((t.rete = 'F' +--and t.codicefiscale > 'KRLPBL79L31Z107U') +--or (t.rete = 'S')) +---------------------------------------------------------------- +-- excluded for T2_L1 and T2_L2 to bypass Prometeia dtsx failure +--where T.codicefiscale = 'BRRNGL37T26F063Y' +---------------------------------------------------------------- +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2_Indicatore.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2_Indicatore.sql new file mode 100644 index 00000000..91b6187a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_RP_PROM_TuttiIPortafogli2_Indicatore.sql @@ -0,0 +1,155 @@ +CREATE procedure [C6MartPeriodicoImmobiliare].[RP_PROM_TuttiIPortafogli2_Indicatore] + -- Add the parameters for the stored procedure here +AS +BEGIN +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + -- ,case + --when [CtvNominale] < 0 then '0.00' + --else convert(varchar(20),[CtvNominale]) + -- end as [CtvNominale] + -- ,case + --when [CtvReale] < 0 then '0.00' + --else convert(varchar(20),[CtvReale]) + -- end as [CtvReale] + --orig: + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 +FROM +( + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6MartperiodicoImmobiliare].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + -- and rete+codicefiscale not in + --('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + --'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + --'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--and rete+codicefiscale in (select rete+codfis from consuni.consulenzaunicafl.dbo.immobiliare_richiestemonitoraggiocatastocliente where dtriferimento is null) +--********************ELIMINARE***************** + --and codicefiscale = 'BRRNGL37T26F063Y' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6MartperiodicoImmobiliare].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + -- and rete+codicefiscale not in + --('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + --'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + --'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--and rete+codicefiscale in (select rete+codfis from consuni.consulenzaunicafl.dbo.immobiliare_richiestemonitoraggiocatastocliente where dtriferimento is null) +--********************ELIMINARE***************** + --and codicefiscale = 'BRRNGL37T26F063Y' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6MartperiodicoImmobiliare].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where ([Portafoglio] like '%COMPLESSIVO|TERZI%' or [Portafoglio] like '%COMPLESSIVO|BF%') + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + -- and rete+codicefiscale not in + --('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + --'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + --'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--and rete+codicefiscale in (select rete+codfis from consuni.consulenzaunicafl.dbo.immobiliare_richiestemonitoraggiocatastocliente where dtriferimento is null) +--********************ELIMINARE***************** + --and codicefiscale = 'BRRNGL37T26F063Y' +--********************ELIMINARE***************** +) T +--where codicefiscale+portafoglio = 'BRRNGL37T26F063YCOMPLESSIVO|BF|Liq|Progetto investimento||EURO000000099000002 FO V301 091343FO10600000000000000000000000000000000000000000000000' +--Da ELIMINARE 13 Apr 2020 --> +where portafoglio not like '%||%' +--Da ELIMINARE 13 Apr 2020 <-- +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_SP_Valorizza_Stati_semaforo_IMM.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_SP_Valorizza_Stati_semaforo_IMM.sql new file mode 100644 index 00000000..d7e1e4f0 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_SP_Valorizza_Stati_semaforo_IMM.sql @@ -0,0 +1,298 @@ +-- flag_stato=1 completato (verde) +-- flag_stato=2 in esecuzione (giallo) +-- flag_stato=3 non lavorato (rosso) +--truncate table C6MartPeriodicoImmobiliare.tab_semaforo +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_TRIM quad_end,SEI + --select * from C6MartPeriodicoImmobiliare.tab_semaforo +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodicoImmobiliare].[SP_Valorizza_Stati_semaforo_IMM] @param1 varchar(20),@tipo varchar(20) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + declare + @intero int, + @semestrale varchar(3), + @lotto varchar(3), + @testi_statici varchar(3), + --@lotto_zero varchar(3), + @omi varchar(3), + @richiesta_catasto varchar(3), + @richiesta_rischio varchar(3), + @Generazione_Invio_PDF varchar(3), + --descrizioni + @desc_semestrale varchar(256), + @desc_testi_statici varchar(256), + @desc_lotto varchar(256), + @desc_omi varchar(256), + @desc_richiesta_catasto varchar(256), + @desc_richiesta_rischio varchar(256), + @desc_Generazione_Invio_PDF varchar(256) + set @intero='0' + set @semestrale='1' + --set @lotto='2' + set @testi_statici='2' + set @omi='3' + set @richiesta_catasto='4' + set @richiesta_rischio='5' + --set @adeguatezza='7' + --set @post_ade='8' + set @Generazione_Invio_PDF='6' + set @desc_semestrale='Rendicontazioni sugli investimenti per i clienti con contratto di consulenza "IMMOBILIARI". ' + set @desc_testi_statici='Fase dei testi statici.' + set @desc_lotto='Preparazione delle rendicontazioni in corso.' + set @desc_omi='Fase di omi per il database di marketing.' + set @desc_richiesta_catasto='Fase di Richiesta al Catasto' + set @desc_richiesta_rischio='Fase di Richiesta del Rischio.' + set @desc_Generazione_Invio_PDF='Generazione e Invio PDF.' + --select * from C6MartPeriodicoImmobiliare.tab_semaforo + --inserimento + --select * from C6MartPeriodicoImmobiliare.tab_semaforo + --insert into C6MartPeriodicoImmobiliare.tab_semaforo values + --avvio_trimestre + --update C6MartPeriodicoImmobiliare.tab_semaforo + --set descrizione='Fase di omi per il database di marketing' + --from C6MartPeriodicoImmobiliare.tab_semaforo + --where id_milestone=4 +if ((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo)=0) +begin +insert into C6MartPeriodicoImmobiliare.tab_semaforo values +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@semestrale,'SEMESTRALE',@desc_semestrale,'','',3,@intero,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@lotto_zero,'LOTTO 0','','','',3,@intero,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@lotto,'LOTTO',@desc_lotto,'','',3,@intero+1,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@testi_statici,'TESTI STATICI',@desc_testi_statici,'','',3,@intero,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@omi,'OMI',@desc_omi,'','',3,@intero,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@richiesta_catasto,'RICHIESTA CATASTO',@desc_richiesta_catasto,'','',3,@intero,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@richiesta_rischio,'RICHIESTA RISCHIO',@desc_richiesta_rischio,'','',3,@intero,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@adeguatezza,'ADEGUATEZZA'+' '+ cast(@intero+1 as varchar),'','','',3,@intero+1), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@post_ade,'POST_ADE'+' '+ cast(@intero+1 as varchar),'','','',3,@intero+1), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@Generazione_Invio_PDF,'GENERAZIONE E INVIO PDF',@desc_Generazione_Invio_PDF,'','',3,@intero,'','',0) +end +--insert into C6MartPeriodicoImmobiliare.tab_semaforo values +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@semestrale,'SEMESTRALE',@desc_semestrale,'','',3,@intero,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@lotto_zero,'LOTTO 0','','','',3,@intero,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@testi_statici,'TESTI STATICI',@desc_testi_statici,getdate()+1,getdate()+4,3,@intero,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@lotto,'LOTTO'+' '+ cast(@intero+1 as varchar),@desc_lotto,getdate()+5,getdate()+30,3,@intero+1,getdate()+5,getdate()+30,0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@omi,'OMI',@desc_omi,getdate()+6,getdate()+8,3,@intero+1,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@richiesta_catasto,'RICHIESTA CATASTO'+' '+ cast(@intero+1 as varchar),@desc_richiesta_catasto,getdate()+6,getdate()+8,3,@intero+1,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@richiesta_rischio,'RICHIESTA RISCHIO'+' '+ cast(@intero+1 as varchar),@desc_richiesta_rischio,getdate()+9,getdate()+11,3,@intero+1,'','',0), +----([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@adeguatezza,'ADEGUATEZZA'+' '+ cast(@intero+1 as varchar),'','','',3,@intero+1), +----([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@post_ade,'POST_ADE'+' '+ cast(@intero+1 as varchar),'','','',3,@intero+1), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@Generazione_Invio_PDF,'GENERAZIONE E INVIO PDF'+' '+ cast(@intero+1 as varchar),@desc_Generazione_Invio_PDF,getdate()+12,getdate()+14,3,@intero+1,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@certificazione,'CERTIFICAZIONE',@desc_certificazione,getdate()+13,getdate()+17,3,@intero+1,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@zipping,'ZIPPING'+' '+ cast(@intero+1 as varchar),@desc_zipping,getdate()+18,getdate()+21,3,@intero+1,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@approval,'APPROVAL',@desc_approval,getdate()+23,getdate()+25,3,@intero+1,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@invio,'INVIO PDF'+' '+ cast(@intero+1 as varchar),@desc_invio,getdate()+25,getdate()+27,3,@intero+1,'','',0), +--([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,@postalizzazione,'POSTALIZZAZIONE'+' '+ cast(@intero+1 as varchar),@desc_postalizzazione,getdate()+27,getdate()+30,3,@intero+1,'','',0) +if (@param1='SEM_START') +begin +if ((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='SEMESTRALE' and tipo_reportistica=@tipo and flg_stato=1)>0) +begin +truncate table C6MartPeriodicoImmobiliare.tab_semaforo +--;throw 51014,'Presente una semestrale conclusa, per continuare fai una truncate su questa tabella',0 +end +select @intero= COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='SEMESTRALE' and tipo_reportistica=@tipo +if(@intero>0) +begin +update C6MartPeriodicoImmobiliare.tab_semaforo +set inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end, +trim_corrente=[C6MartPeriodico].[getTrimestre](GETDATE(),0), +--fine_milestone=GETDATE()+50, +--fine_lotto=GETDATE()+50, +flg_stato=2 +where milestone='SEMESTRALE' and tipo_reportistica=@tipo; +--exec C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM LOTTO_START,@tipo +end +--else +--begin +--insert into C6MartPeriodicoImmobiliare.tab_semaforo +--values ([C6MartPeriodicoImmobiliare].[getTrimestre](GETDATE(),0),@tipo,'SEMESTRALE','',GETDATE(),GETDATE()+50,2,@intero) +--end +end +--if(@param1='LOTTO_START') +--begin +--if((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='SEMESTRALE' and flg_stato=2 and tipo_reportistica=@tipo)<>0) +--begin +--update C6MartPeriodicoImmobiliare.tab_semaforo +--set inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end, +--inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +--flg_stato=2 +----fine_milestone=GETDATE()+4, +----fine_lotto=GETDATE()+4 +--from C6MartPeriodicoImmobiliare.tab_semaforo +--where milestone='LOTTO' and tipo_reportistica=@tipo +--end +--else +--begin +--;throw 50003,'Nessuna fase di Semestrale in corso',0 +--end +--end +if(@param1='TESTI_START') +begin +if((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='SEMESTRALE' and flg_stato=2 and tipo_reportistica=@tipo)<>0) +begin +update C6MartPeriodicoImmobiliare.tab_semaforo +set inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end, +inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +flg_stato=2 +--fine_milestone=GETDATE()+4, +--fine_lotto=GETDATE()+4 +from C6MartPeriodicoImmobiliare.tab_semaforo +where milestone='TESTI STATICI' and tipo_reportistica=@tipo +end +else +begin +;throw 50003,'Nessuna fase di Lotto in corso',0 +end +end +if(@param1='OMI_START') +begin +if((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='SEMESTRALE' and flg_stato=2 and tipo_reportistica=@tipo)<>0) +begin +update C6MartPeriodicoImmobiliare.tab_semaforo +set inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end, +inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +flg_stato=2 +--fine_milestone=GETDATE()+4, +--fine_lotto=GETDATE()+4 +from C6MartPeriodicoImmobiliare.tab_semaforo +where milestone='OMI' and tipo_reportistica=@tipo +end +else +begin +;throw 50003,'Nessuna fase di Lotto in corso',0 +end +end +if(@param1='CATASTO_START') +begin +if((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='OMI' and flg_stato=1 and tipo_reportistica=@tipo)<>0) +begin +update C6MartPeriodicoImmobiliare.tab_semaforo +set inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end, +inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +flg_stato=2 +--fine_milestone=GETDATE()+4, +--fine_lotto=GETDATE()+4 +from C6MartPeriodicoImmobiliare.tab_semaforo +where milestone='RICHIESTA CATASTO' and tipo_reportistica=@tipo +end +else +begin +;throw 50003,'Fase di OMI non completata',0 +end +end +if(@param1='RISCHIO_START') +begin +if((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='OMI' and flg_stato=1 and tipo_reportistica=@tipo)<>0) +begin +update C6MartPeriodicoImmobiliare.tab_semaforo +set inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end, +inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +flg_stato=2 +--fine_milestone=GETDATE()+4, +--fine_lotto=GETDATE()+4 +from C6MartPeriodicoImmobiliare.tab_semaforo +where milestone='RICHIESTA RISCHIO' and tipo_reportistica=@tipo +end +else +begin +;throw 50003,'Fase di OMI non completata',0 +end +end +if(@param1='ZIPPING_START') +begin +if((select COUNT(*) from C6MartPeriodicoImmobiliare.tab_semaforo where milestone='RICHIESTA RISCHIO' and flg_stato=1 and tipo_reportistica=@tipo)<>0) +begin +update C6MartPeriodicoImmobiliare.tab_semaforo +set inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end, +inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +flg_stato=2 +--fine_milestone=GETDATE()+4, +--fine_lotto=GETDATE()+4 +from C6MartPeriodicoImmobiliare.tab_semaforo +where milestone='GENERAZIONE E INVIO PDF' and tipo_reportistica=@tipo +end +else +begin +;throw 50003,'Fase di Richiesta non completata',0 +end +end +if (@param1='SEM_END') +begin +--select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='SEMESTRALE' and tipo_reportistica=@tipo +--if(@intero>0 and (select flg_stato from C6MartPeriodico.tab_semaforo where milestone='SEMESTRALE' and tipo_reportistica=@tipo) <>0 ) +--begin +--exec C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM lotto_end,IMM +--end +update C6MartPeriodicoImmobiliare.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodicoImmobiliare.tab_semaforo +where milestone='SEMESTRALE' and tipo_reportistica=@tipo +end +--if(@param1='LOTTO_END') +--begin +--if ((select count(*) from C6MartPeriodicoImmobiliare.tab_semaforo where inizio_milestone='GENERAZIONE E INVIO PDF' and flg_stato=2)>0) +--begin +--exec C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM zipping_end,IMM +----end +--update C6MartPeriodico.tab_semaforo +--set fine_milestone=GETDATE(),flg_stato=1 +--from C6MartPeriodico.tab_semaforo +--where milestone = 'LOTTO'and tipo_reportistica=@tipo +--end +--if(@param1='ZIPPING_END') +--begin +--update C6MartPeriodico.tab_semaforo +--set fine_milestone=GETDATE(),flg_stato=1 +--from C6MartPeriodico.tab_semaforo +--where milestone = 'GENERAZIONE E INVIO PDF' and tipo_reportistica=@tipo +--end +if(@param1='RISCHIO_END') +begin +update C6MartPeriodicoImmobiliare.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodicoImmobiliare.tab_semaforo +where milestone = 'RICHIESTA RISCHIO' and tipo_reportistica=@tipo +end +if(@param1='CATASTO_END') +begin +update C6MartPeriodicoImmobiliare.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodicoImmobiliare.tab_semaforo +where milestone = 'RICHIESTA CATASTO' and tipo_reportistica=@tipo +end +if(@param1='OMI_END') +begin +update C6MartPeriodicoImmobiliare.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodicoImmobiliare.tab_semaforo +where milestone = 'OMI' and tipo_reportistica=@tipo +end +if(@param1='TEST_END') +begin +update C6MartPeriodicoImmobiliare.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodicoImmobiliare.tab_semaforo +where milestone = 'TESTI STATICI' and tipo_reportistica=@tipo +end +----truncate table C6MartPeriodicoImmobiliare.tab_semaforo +--select * from C6MartPeriodicoImmobiliare.tab_semaforo order by inizio_milestone desc +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM sem_start,IMM +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM testi_start,IMM +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM omi_start,IMM +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM catasto_start,IMM +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM rischio_start,IMM +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM zipping_start,IMM +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM sem_end,IMM +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM testi_end,IMM +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM omi_end,IMM +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM catasto_end,IMM +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM rischio_end,IMM +--C6MartPeriodicoImmobiliare.SP_Valorizza_Stati_semaforo_IMM zipping_end,IMM +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_UpdateDateReport_Immobiliare_GestionePDF.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_UpdateDateReport_Immobiliare_GestionePDF.sql new file mode 100644 index 00000000..22e165a1 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_UpdateDateReport_Immobiliare_GestionePDF.sql @@ -0,0 +1,63 @@ +-- ================================================================================== +-- Author: +-- Create date: <27.02.2019> +-- Description: +-- ================================================================================== +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[UpdateDateReport_Immobiliare_GestionePDF] + @IdReport int , + @DataReport datetime, + @DataReportUpdate datetime, + @DataZip datetime, + @DataZipUpdate datetime, + @DataInvio datetime, + @DataInvioUpdate datetime, + @NomeFile varchar(50), + @IdZip int , + @Return int OUTPUT +WITH EXEC AS CALLER +AS +/* +SP Body Comment +*/ + BEGIN TRANSACTION + BEGIN TRY + IF @IDZip > 0 + BEGIN + UPDATE [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF] + SET + [DataReport] = @DataReport, + [DataReportUpdate] = @DataReportUpdate, + [DataZip] = @DataZip, + [DataZipUpdate] = @DataZipUpdate, + [DataInvio] = @DataInvio, + [DataInvioUpdate] = @DataInvioUpdate, + [NomeFile] = @NomeFile, + [IDZip] = @IdZip + WHERE [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF].[IDReport] = @IdReport + Set @Return=1; + END + ELSE + BEGIN + UPDATE [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF] + SET + [DataReport] = @DataReport, + [DataReportUpdate] = @DataReportUpdate, + [DataZip] = @DataZip, + [DataZipUpdate] = @DataZipUpdate, + [DataInvio] = @DataInvio, + [DataInvioUpdate] = @DataInvioUpdate, + [NomeFile] = @NomeFile + WHERE [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF].[IDReport] = @IdReport + Set @Return=1; + END + END TRY + BEGIN CATCH + IF ERROR_NUMBER()=2601 + BEGIN + IF @@TRANCOUNT > 0 + ROLLBACK TRANSACTION; + Set @Return=-2601; + END + END CATCH + IF @@TRANCOUNT > 0 + COMMIT TRANSACTION; \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_Update_Immobiliare_GestioneZIP.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_Update_Immobiliare_GestioneZIP.sql new file mode 100644 index 00000000..d97b7987 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_Update_Immobiliare_GestioneZIP.sql @@ -0,0 +1,39 @@ +-- ================================================================================== +-- Author: +-- Create date: <27.02.2019> +-- Description: +-- ================================================================================== +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[Update_Immobiliare_GestioneZIP] + @IdZip int , + @DataInvio datetime, + @FlagInvio varchar(1), + @Return int OUTPUT +WITH EXEC AS CALLER +AS +/* +SP Body Comment +*/ + BEGIN TRANSACTION + BEGIN TRY + UPDATE [C6MartPeriodicoImmobiliare].[Immobiliare_GestioneZIP] + SET + [DataInvio] = @DataInvio, + [FlagInvio] = @FlagInvio + WHERE [C6MartPeriodicoImmobiliare].[Immobiliare_GestioneZIP].[IDZip] = @IdZip + UPDATE [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF] + SET + [DataInvio] = @DataInvio, + [FlagInvio] = @FlagInvio + WHERE [C6MartPeriodicoImmobiliare].[Immobiliare_GestionePDF].[IDZip] = @IdZip + Set @Return=1; + END TRY + BEGIN CATCH + IF ERROR_NUMBER()=2601 + BEGIN + IF @@TRANCOUNT > 0 + ROLLBACK TRANSACTION; + Set @Return=-2601; + END + END CATCH + IF @@TRANCOUNT > 0 + COMMIT TRANSACTION; \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_sp_caricaBlacklist.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_sp_caricaBlacklist.sql new file mode 100644 index 00000000..42fa8ced --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_sp_caricaBlacklist.sql @@ -0,0 +1,37 @@ +-- Stored procedure +CREATE PROCEDURE [C6MartPeriodicoImmobiliare].[sp_caricaBlacklist] +AS +BEGIN + Declare @dtTrime as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + truncate table C6MartPeriodicoImmobiliare.blacklist + insert into C6MartPeriodicoImmobiliare.blacklist + select distinct + Rete + ,case when codman <> '' then 'FF@' + CODMAN + when len(codfis)=11 then NULL else codfis end as codiceFiscale + ,case when LEN(codfis) =11 and codman='' then codfis else NULL end as Piva + ,case when codman<>'' then codman else NULL end as Codman + ,case when tipolett = '2' then 'BLACKLIST RFA MINUS CLIENTE SEI E IMMOBILIARE' + when tipolett = '1' then 'BLACKLIST RFA MINUS CLIENTE IMMOBILIARE' END AS DescrErr + ,getdate() as [DataIns] + -- ,1 as [Bloccato] +from c6stagingPeriodico.wseidc +where dttrim = @dtTrime and (tipolett='2' or TIPOLETT='1') +insert into C6MartPeriodicoImmobiliare.blacklist +select distinct + ps.Rete + ,case when codman <> '' then 'FF@' + CODMAN + when len(ps.codfis)=11 then NULL else ps.codfis end as codiceFiscale + ,case when LEN(ps.codfis) =11 and codman='' then ps.codfis else NULL end as Piva + ,case when codman<>'' then codman else NULL end as Codman + , 'Profilo Scaduto' as DescrErr + , getdate() as [DataIns] + -- , 1 as [Bloccato] +from c6stagingPeriodico.wseips ps + join c6martperiodicoimmobiliare.w6imm imm on imm.RETE = ps.RETE and imm.CODFIS = ps.CODFIS +where 1=1 + and dttrim = @dtTrime + and imm.flag_in_perimetro='S' +exec [C6MartPeriodicoImmobiliare].[Blacklist_Blocco_Tabellone] 'blocco' --aggiorna tabellone +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_start_email_Testi_Statici_tabellone.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_start_email_Testi_Statici_tabellone.sql new file mode 100644 index 00000000..3abed126 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_start_email_Testi_Statici_tabellone.sql @@ -0,0 +1,6 @@ +CREATE procedure [C6MartPeriodicoImmobiliare].[start_email_Testi_Statici_tabellone] as +begin +insert into C6MartPeriodico.selettore values +(8,getdate(),'Invio Email Testi Statici Immobiliare') +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodicoImmobiliare_start_email_Zipping_tabellone.sql b/sql/storedTestbes/C6MartPeriodicoImmobiliare_start_email_Zipping_tabellone.sql new file mode 100644 index 00000000..2ce83b04 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodicoImmobiliare_start_email_Zipping_tabellone.sql @@ -0,0 +1,6 @@ +create procedure [C6MartPeriodicoImmobiliare].[start_email_Zipping_tabellone] as +begin +insert into C6MartPeriodico.selettore values +(9,getdate(),'Invio Email Zipping Immobiliare') +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_AGGIORNA_NUMERO_PAGINE.sql b/sql/storedTestbes/C6MartPeriodico_AGGIORNA_NUMERO_PAGINE.sql new file mode 100644 index 00000000..5a0ab4da --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_AGGIORNA_NUMERO_PAGINE.sql @@ -0,0 +1,18 @@ +CREATE procedure [C6MartPeriodico].[AGGIORNA_NUMERO_PAGINE] +( + @rete varchar(1), + @codicefiscale varchar(20), + @idreport int, + @incremento int +) +as +begin + update c6martperiodico.gestione_pdf_ftp + set numeroPagine = numeroPagine + @incremento + where + rete = @rete + and + codicefiscale = @CodiceFiscale + and + IdReport = @IdReport +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_AL_AggiornaPortafoglioCliente.sql b/sql/storedTestbes/C6MartPeriodico_AL_AggiornaPortafoglioCliente.sql new file mode 100644 index 00000000..c721c58f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_AL_AggiornaPortafoglioCliente.sql @@ -0,0 +1,56 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[AL_AggiornaPortafoglioCliente] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'AL_AggiornaPortafoglioCliente', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[PIRAMIDE_VERT] + --CALCOLO AGGREGATI + INSERT INTO [C6MartPeriodico].[PIRAMIDE_VERT] + ( + RETE, + COD_FISCALE, + ID_AREA, + CTV_AREA/*, + ID_ELAB*/ + ) + SELECT + PATR.RETE, + PATR.COD_FISCALE, + PATR.ID_AREA, + SUM(CTV)/*, + ID_ELAB*/ + FROM [C6MartPeriodico].[PATRIMONIO_BF] PATR + GROUP BY + PATR.RETE, + PATR.COD_FISCALE, + PATR.ID_AREA/*, + PATR.ID_ELAB*/ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'AL_AggiornaPortafoglioCliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'AL_AggiornaPortafoglioCliente' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_AL_AggiornaPortafoglioCliente_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_AL_AggiornaPortafoglioCliente_pre_selective.sql new file mode 100644 index 00000000..d999a25c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_AL_AggiornaPortafoglioCliente_pre_selective.sql @@ -0,0 +1,56 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[AL_AggiornaPortafoglioCliente_pre_selective] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'AL_AggiornaPortafoglioCliente_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[PIRAMIDE_VERT] + --CALCOLO AGGREGATI + INSERT INTO [C6MartPeriodico].[PIRAMIDE_VERT] + ( + RETE, + COD_FISCALE, + ID_AREA, + CTV_AREA/*, + ID_ELAB*/ + ) + SELECT + PATR.RETE, + PATR.COD_FISCALE, + PATR.ID_AREA, + SUM(CTV)/*, + ID_ELAB*/ + FROM [C6MartPeriodico].[PATRIMONIO_BF] PATR + GROUP BY + PATR.RETE, + PATR.COD_FISCALE, + PATR.ID_AREA/*, + PATR.ID_ELAB*/ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'AL_AggiornaPortafoglioCliente_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'AL_AggiornaPortafoglioCliente_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_AggiornaFlagRolContrattoSei.sql b/sql/storedTestbes/C6MartPeriodico_AggiornaFlagRolContrattoSei.sql new file mode 100644 index 00000000..f45b407b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_AggiornaFlagRolContrattoSei.sql @@ -0,0 +1,15 @@ +CREATE procedure [C6MartPeriodico].[AggiornaFlagRolContrattoSei] +AS +BEGIN +-- Allineamento Flag Rol su contratto sei +Update C6MartPeriodico.ContrattoSei +Set Rol = Case D.statorol + When 'S' then D.statorol + Else 'N' + End, + EmAil = Case d.alertrol + When 'S' then D.Email + End +from C6MartPeriodico.ContrattoSei C inner join C6StagingPeriodico.datiRol2 D +on d.codContratto = c.codiceContratto +End \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_AppRendTabReader.sql b/sql/storedTestbes/C6MartPeriodico_AppRendTabReader.sql new file mode 100644 index 00000000..1829412a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_AppRendTabReader.sql @@ -0,0 +1,14 @@ +CREATE procedure [C6MartPeriodico].[AppRendTabReader] + @ColumnSql varchar(5000), + @whereSql varchar(5000) +AS +BEGIN +DECLARE @mywhere varchar(4000); +DECLARE @myselect varchar(5000); +DECLARE @mystmt varchar(5000); +SET @myselect = ' SELECT '+ @ColumnSql; +--SET @myselect = ' SELECT TOP(3000)* '; +SET @mywhere = ' WHERE '+ @whereSql; +SET @mystmt = @myselect + ' FROM [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] ' + @mywhere + 'order by codice_fiscale'; +EXEC( @mystmt ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_AppRendTabReader_bl.sql b/sql/storedTestbes/C6MartPeriodico_AppRendTabReader_bl.sql new file mode 100644 index 00000000..ed4e9e33 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_AppRendTabReader_bl.sql @@ -0,0 +1,14 @@ +CREATE procedure [C6MartPeriodico].[AppRendTabReader_bl] + @ColumnSql varchar(5000), + @motivo varchar(5000) +AS +BEGIN +DECLARE @mywhere varchar(4000); +DECLARE @myselect varchar(1000); +DECLARE @mystmt varchar(5000); +SET @myselect = ' SELECT '+ @ColumnSql; +SET @mywhere = ' WHERE codice_fiscale in (select codicefiscale FROM [C6StampeCentralizzate].[C6MartPeriodico].[ExcludedList]" + + " WHERE [DescrErr] = '''+@motivo+''')'; +SET @mystmt = @myselect + ' FROM [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] ' + @mywhere ; +EXEC( @mystmt ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_BONIFICA_WSEIUL.sql b/sql/storedTestbes/C6MartPeriodico_BONIFICA_WSEIUL.sql new file mode 100644 index 00000000..5d09afe1 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_BONIFICA_WSEIUL.sql @@ -0,0 +1,53 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- NUOVA STORED PER INTERVENTO MIGRAZIONE ASU3 +CREATE procedure [C6MartPeriodico].[BONIFICA_WSEIUL] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'BONIFICA_WSEIUL', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- Bonifica effettuata nell'ambito della migrazione di alcuni prodotti alla tipologia ASU3: +-- per tali prodotti, nel campo ISIN la replica DB2 fornisce il valore del sottoprodotto +-- in quanto nel campo SUBPROD è stata impostata la Linea (al processo di Trimestrale l'informazione +-- del sottoprodotto non è necessaria mentre è necessario ripulire il campo ISIN utilizzato esclusivamente +-- per i prodotti SKANDIA + UPDATE C6STAGINGPERIODICO.WSEIUL + SET ISIN = '' + /* 20161220 introdotto nuovo prodotto con codint = RE */ + WHERE CODINT in ('RM','RS','RB','RV','RE') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'BONIFICA_WSEIUL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'BONIFICA_WSEIUL' + ) +--grant execute on [C6MartPeriodico].[BONIFICA_WSEIUL] to public +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_BONIFICA_WSEIUL_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_BONIFICA_WSEIUL_pre_selective.sql new file mode 100644 index 00000000..edaeb690 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_BONIFICA_WSEIUL_pre_selective.sql @@ -0,0 +1,53 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- NUOVA STORED PER INTERVENTO MIGRAZIONE ASU3 +CREATE procedure [C6MartPeriodico].[BONIFICA_WSEIUL_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'BONIFICA_WSEIUL_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- Bonifica effettuata nell'ambito della migrazione di alcuni prodotti alla tipologia ASU3: +-- per tali prodotti, nel campo ISIN la replica DB2 fornisce il valore del sottoprodotto +-- in quanto nel campo SUBPROD è stata impostata la Linea (al processo di Trimestrale l'informazione +-- del sottoprodotto non è necessaria mentre è necessario ripulire il campo ISIN utilizzato esclusivamente +-- per i prodotti SKANDIA + UPDATE C6STAGINGPERIODICO.WSEIUL + SET ISIN = '' + /* 20161220 introdotto nuovo prodotto con codint = RE */ + WHERE CODINT in ('RM','RS','RB','RV','RE') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'BONIFICA_WSEIUL_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'BONIFICA_WSEIUL_pre_selective' + ) +--grant execute on [C6MartPeriodico].[BONIFICA_WSEIUL_pre_selective] to public +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Blacklist_Blocco_Tabellone.sql b/sql/storedTestbes/C6MartPeriodico_Blacklist_Blocco_Tabellone.sql new file mode 100644 index 00000000..98053f06 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Blacklist_Blocco_Tabellone.sql @@ -0,0 +1,71 @@ +CREATE procedure [C6MartPeriodico].[Blacklist_Blocco_Tabellone] +@param1 varchar(20) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +-- [C6MartPeriodico].[Blacklist_Blocco_Tabellone] Blocco +-- [C6MartPeriodico].[Blacklist_Blocco_Tabellone] SBlocco +--select * from c6martperiodico.tabellone where blacklist is not null +--select * from C6MartPeriodico.ExcludedList +--select * from C6MartPeriodico.ExcludedList_testing +-- +--select * from c6martperiodico.tabellone where codice_fiscale='BBBMRA56T09L736R' +--select * from C6MartPeriodico.ExcludedList where codicefiscale='FRILXA72T04H501R' +--select codicefiscale,COUNT(*) from C6MartPeriodico.ExcludedList group by codicefiscale having COUNT(*)>1 +--insert into C6MartPeriodico.ExcludedList +--values ('F','BBBMRA56T09L736R','TestF',GETDATE(),1), +--('F','BBBMRA56T09L736R','TestB',GETDATE(),1), +--('F','BBBMRA56T09L736R','TestC',GETDATE(),1), +--('F','BBBMRA56T09L736R','TestF',GETDATE(),1) +----delete from C6MartPeriodico.ExcludedList where DescrErr='TestC' +if (@param1='BLOCCO') +begin +drop table if exists #riunisco +drop table if exists #rimuovoduplicati +update C6MartPeriodico.tabellone +set blacklist=NULL +select distinct rete,codicefiscale,DescrErr +into #rimuovoduplicati +from C6MartPeriodico.ExcludedList +SELECT rete,codicefiscale,STRING_AGG( ISNULL(DescrErr, ' '), ',') As descrerr + into #riunisco + From #rimuovoduplicati group by rete,codicefiscale +update C6MartPeriodico.tabellone +set blacklist=r.descrerr +from #riunisco r inner join C6MartPeriodico.tabellone t +on t.chiave_acn=r.Rete+r.codicefiscale +update C6MartPeriodico.tabellone +set lettera_sost='S' +where blacklist like '%sostitutiva%' +end +if (@param1='SBLOCCO') +begin +update C6MartPeriodico.tabellone +set blacklist=NULL +drop table if exists #riunisco1 +drop table if exists #rimuovoduplicati1 +select distinct rete,codicefiscale,DescrErr +into #rimuovoduplicati1 +from C6MartPeriodico.ExcludedList +SELECT rete,codicefiscale,STRING_AGG( ISNULL(DescrErr, ' '), ',') As descrerr + into #riunisco1 + From #rimuovoduplicati1 group by rete,codicefiscale +update C6MartPeriodico.tabellone +set blacklist=r.descrerr +from #riunisco1 r inner join C6MartPeriodico.tabellone t +on t.chiave_acn=r.Rete+r.codicefiscale +update C6MartPeriodico.tabellone +set lettera_sost='S' +where blacklist like '%sostitutiva%' +end +--update C6MartPeriodico.tabellone +----set inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +--set blacklist=case when blacklist = exc.descrErr then REPLACE(blacklist,exc.DescrErr,'') else blacklist end +--from C6MartPeriodico.ExcludedList_testing exc +--where chiave_acn=exc.rete+exc.codicefiscale and exc.DescrErr<>'SEGNALAZIONE_VP' +--end +--select chiave_acn,value from C6MartPeriodico.tabellone +--CROSS APPLY STRING_SPLIT(blacklist, ',') +--select * from C6MartPeriodico.motivazioni_blacklist +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Blocco_Blacklist_AppRendicontazione.sql b/sql/storedTestbes/C6MartPeriodico_Blocco_Blacklist_AppRendicontazione.sql new file mode 100644 index 00000000..30d1af3a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Blocco_Blacklist_AppRendicontazione.sql @@ -0,0 +1,34 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[Blocco_Blacklist_AppRendicontazione] +as +begin + --select * + --from C6MartPeriodico.ExcludedList_testing + --where DescrErr='Segnalazione_VP' + --select * from C6MartPeriodico.ExcludedList + if((select COUNT(*) from C6MartPeriodico.ExcludedList_sblocco where DescrErr like '%VP%' )<>0) + begin + delete from C6MartPeriodico.ExcludedList where DescrErr like '%VP%' + insert into C6MartPeriodico.ExcludedList + select * from C6MartPeriodico.ExcludedList_sblocco + where DescrErr like '%VP%' + end + delete from C6MartPeriodico.ExcludedList where Rete+codicefiscale+DescrErr in( + select Rete+codicefiscale+DescrErr + from C6MartPeriodico.ExcludedList_sblocco + where DescrErr not like '%Segnalazione_VP%' OR DescrErr not like '%Blacklist VP%' or DescrErr not like '%DESCR_ANOM_VP%' + ) + --aggiunta 23/08/2022 per gestire lo svuotamento di tutti i cf con descrizione='DESCR_ANOM_VP' + if((select count(*) from C6MartPeriodico.ExcludedList_sblocco where DescrErr='XXXXXXXXXXXXXXXX')>0) --cioè se è presente una riga con questa motivazione + begin + delete from C6MartPeriodico.ExcludedList where DescrErr like '%DESCR_ANOM_VP%' + end + --fine aggiunta + insert into C6MartPeriodico.Sblocco_Blacklist + select rete,codicefiscale,DescrErr,DataIns,Bloccato from C6MartPeriodico.ExcludedList_sblocco --serve per avere una storia di tutte le operazioni fatte ma è inutile + truncate table C6MartPeriodico.ExcludedList_sblocco + end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_BonificaDataQuality.sql b/sql/storedTestbes/C6MartPeriodico_BonificaDataQuality.sql new file mode 100644 index 00000000..6984c824 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_BonificaDataQuality.sql @@ -0,0 +1,50 @@ +CREATE procedure [C6MartPeriodico].[BonificaDataQuality] +as + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'BonificaDataQuality', + GETDATE(), + 'Elaborazione trimestrale' + ) +--1) copia +exec [dbo].[CreaTabellaBackUp] 'tb_SegnalazioniDataQuality','C6MartPeriodico','preBonifica' +--SELECT * into [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality_2018mmdd _preBonifica +--FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] +--2) metto in tabella temporanea la nuova tabella bonificata +SELECT q.* +into #appo + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] q + left join c6stagingperiodico.appo_contratti_limiter limit + on limit.cod_fiscale = q.codicefiscale and limit.rete = q.rete + where limit.cod_fiscale is not null or 0 = (select count(*) from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] with (nolock)) +--3) cancello la tabella attuale +truncate table [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] +--4) la ricreo bonificata +insert into [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] + ([idTipoControllo] + ,[rete] + ,[codiceFiscale] + ,[descSegnalazione] + ,[idElaborazione] + ,[richiesta] + ,[idFaseElaborazione] + ,[dataInserimento]) +select [idTipoControllo],[rete],[codiceFiscale],[descSegnalazione],[idElaborazione],[richiesta],[idFaseElaborazione],[dataInserimento] from #appo +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'BonificaDataQuality' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'BonificaDataQuality' + ) \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CHECK_AGGIORNA_ERRORI_GENERAZIONE.sql b/sql/storedTestbes/C6MartPeriodico_CHECK_AGGIORNA_ERRORI_GENERAZIONE.sql new file mode 100644 index 00000000..81968990 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CHECK_AGGIORNA_ERRORI_GENERAZIONE.sql @@ -0,0 +1,11 @@ +CREATE procedure [C6MartPeriodico].[CHECK_AGGIORNA_ERRORI_GENERAZIONE] AS BEGIN + UPDATE + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE + SET + STATO_REPORT = 11, + DATA_TRANSIZIONE = GETDATE() + WHERE + STATO_REPORT IN (1,10) + AND RETE+COD_FISCALE IN + (SELECT RETE+COD_FISCALE FROM C6MARTPERIODICO.SCARTI) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CHECK_CTV_PER_NEEDAREA_PER_CLIENT.sql b/sql/storedTestbes/C6MartPeriodico_CHECK_CTV_PER_NEEDAREA_PER_CLIENT.sql new file mode 100644 index 00000000..b651bac7 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CHECK_CTV_PER_NEEDAREA_PER_CLIENT.sql @@ -0,0 +1,145 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 31 ottobre 2010 +-- Description: Compare the counter value calculated per need area and client between SP of section S57 and section S43 +-- ============================================= +CREATE procedure [C6MartPeriodico].[CHECK_CTV_PER_NEEDAREA_PER_CLIENT] +AS +BEGIN +DECLARE @reteLoop varchar(1) +DECLARE @cod_FiscaleLoop varchar(16) +Create Table #tempDifferenceInCTVPerAreaPerClient ( +RETE varchar(1), +Cod_Fiscale varchar(16), +NeedArea VARCHAR(20), +S57CTV decimal(38,3), +S43CTV decimal(38,3) +) +CREATE TABLE #tempS57Output ( + NeedArea VARCHAR(20), + AreaName VARCHAR(30), + PercentualeModello decimal(38,3), + PercentualeAttuale decimal(38,3), + ControvaloreAttuale decimal(38,3), + ControvaloreModello decimal(38,3), + Totale_Percentuale decimal (15,3), + DifferenzaEuro decimal (15,3), + DifferenzaPercentuale decimal (15,3), + var_needarea decimal (15,3), + var_needareaString varchar(5), + copertura_needarea decimal(38,3), + copertura_needareaString varchar(5), + Nota int, + somma_controvalAttuale decimal(38,3), + somma_controvalModello decimal(38,3), + somma_percentualeAttuale decimal(38,3), + somma_percentualeModello decimal(38,3), + var_tot decimal(38,3), + var_totString varchar(5), + var_tot_pir decimal(38,3), + var_tot_pirString varchar(5), + copertura_tot decimal(38,3), + copertura_totString varchar(5), + copertura_tot_pir decimal(38,3), + copertura_tot_pirString varchar(5), + VAR_RISFIN decimal(38,3), + VAR_RISFINSTRING varchar(5), + copertura_risfin decimal(38,3), + copertura_risfinString varchar(5), + ordinamento int) +CREATE TABLE #tempS43Output ( + NeedArea VARCHAR(20), + AreaName VARCHAR(30), + areasortorder int, + nome_progetto varchar(50), + somma_controval_needarea decimal(38,3), + versato_needarea decimal(38,3), + versato_needareaString varchar(5), + MinusPlusValenza_needarea decimal(38,3), + MinusPlusValenza_needareaString varchar(5), + somma_controval_need_prog decimal(38,3), + versato_need_prog decimal(38,3), + versato_need_progString varchar(5), + MinusPlusValenza_need_prog decimal(38,3), + MinusPlusValenza_need_progString varchar(5), + somma_var_need_prog decimal(38,3), + somma_copertura_need_prog decimal(38,3), + var_needarea decimal (15,3), + var_needareaString varchar(5), + copertura_needarea decimal (15,3), + copertura_needareaString varchar(30), + var_need_prog decimal(38,3), + var_need_progString varchar(5), + copertura_need_prog decimal(38,3), + dataSottoscrizione varchar(10), + ContrattoDossier varchar(11), + Descrizione varchar(128), + Controvalore decimal(38,3), + VersatoNetto decimal(38,3), + VersatoNettoString varchar(5), + MinusPlusValenza decimal(38,3), + MinusPlusValenzaString varchar(5), + VaRprodotto decimal(38,3), + varProdottoString varchar(5), + Coperturaprodotto decimal(38,3), + PerformanceYTD decimal(38,3), + performanceDS decimal(38,3), + partitaViaggiante decimal(38,3), + nota_needarea varchar(1), + creditrisk int, + creditriskstring varchar(5)) +DECLARE allCleints_cursor CURSOR FOR +--SELECT distinct [Rete] +-- ,[Cod_Fiscale] +-- +-- FROM C6MartPeriodico.PATRIMONIO_BF +--where cod_fiscale in (select cod_fiscale from c6mart.contrattosei where cod_Esito=1) +--and cod_fiscale in ( select cod_fiscale from campionereport) +SELECT distinct [Rete] ,[Cod_Fiscale] +FROM C6MartPeriodico.PATRIMONIO_BF +--where cod_fiscale in (select cod_fiscale from c6mart.contrattosei where cod_Esito=1) + Where [Cod_Fiscale] <> 'DNTTMS48E03F205P' +--and [Cod_Fiscale] = 'BRGNNI46T05H555X' +OPEN allCleints_cursor +FETCH NEXT FROM allCleints_cursor INTO @reteLoop, @cod_FiscaleLoop +WHILE @@FETCH_STATUS = 0 +BEGIN + print @reteLoop + print @cod_FiscaleLoop + INSERT INTO #tempS57Output + EXEC C6MartPeriodico.PL_S57ConfrontoPiramidi + @Rete = @reteLoop, + @CodiceFiscale = @cod_FiscaleLoop + INSERT INTO #tempS43Output + EXEC C6MartPeriodico.PL_S43DettaglioProdottiBF + @Rete = @reteLoop, + @CodiceFiscale = @cod_FiscaleLoop +-- select * from #tempS43Output + insert into #tempDifferenceInCTVPerAreaPerClient + select @reteLoop ,@cod_FiscaleLoop , + S57.NeedArea as NeedArea, + SUM(S57.ControvaloreAttuale) as S57TotalCounterValuePerCleint, + case when SUM(tempS43.Controvalore) is null then 0 else SUM(tempS43.Controvalore) end as S43TotalCounterValuePerCleint + from #tempS57Output as S57 + left outer join ( select S43.NeedArea, SUM(S43.Controvalore) as Controvalore + from #tempS43Output as S43 + where S43.NeedArea not in ('Cc','Na') + group by S43.NeedArea) tempS43 + on S57.NeedArea = tempS43.NeedArea + where S57.NeedArea not in ('Cc', 'Na') + group by S57.NeedArea +--select * from #tempDifferenceInCTVPerAreaPerClient + --select * from #tempDifferenceInCTVPerAreaPerClient + delete from #tempS43Output + delete from #tempS57Output + FETCH NEXT FROM allCleints_cursor INTO @reteLoop, @cod_FiscaleLoop +END +CLOSE allCleints_cursor +DEALLOCATE allCleints_cursor +select * from #tempDifferenceInCTVPerAreaPerClient as Diff +where Diff.S43CTV <> Diff.S57CTV +--group by Diff.Rete, Diff.Cod_Fiscale, Diff.NeedArea +DROP TABLE #tempS57output +DROP TABLE #tempS43output +DROP TABLE #tempDifferenceInCTVPerAreaPerClient +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CHECK_GET_CTV_ISSUES.sql b/sql/storedTestbes/C6MartPeriodico_CHECK_GET_CTV_ISSUES.sql new file mode 100644 index 00000000..635f56ad --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CHECK_GET_CTV_ISSUES.sql @@ -0,0 +1,16 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +-- [C6MartPeriodico].[PL_S57ConfrontoPiramidi] 'S','TMOSST58P03L840W' +CREATE procedure [C6MartPeriodico].[CHECK_GET_CTV_ISSUES] +AS +BEGIN +SELECT Rete, Cod_Fiscale , SUM(S57CTV) as S57CTV, SUM(S43_S47CTV) as S43_S47CTV, SUM(S10CTV) as S10CTV , SUM(S75CTV) as S75CTV +FROM Check_DifferenceInCTVPerClient +where S57CTV <> S43_S47CTV +OR S57CTV <> S10CTV +OR S57CTV <> S75CTV +group by Rete, Cod_Fiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CHECK_GET_CTV_ISSUES_PER_AREA.sql b/sql/storedTestbes/C6MartPeriodico_CHECK_GET_CTV_ISSUES_PER_AREA.sql new file mode 100644 index 00000000..48dbd2a2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CHECK_GET_CTV_ISSUES_PER_AREA.sql @@ -0,0 +1,14 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +CREATE procedure [C6MartPeriodico].[CHECK_GET_CTV_ISSUES_PER_AREA] +AS +BEGIN +--SELECT Rete, Cod_Fiscale , NeedArea, SUM(S57CTV) as S57CTV, SUM(S43CTV) as S43CTV +SELECT Rete, Cod_Fiscale , NeedArea, S57CTV, S43CTV +FROM dbo.Check_DifferenceInCTVPerClientPerArea +where S57CTV <> S43CTV +--group by Rete, Cod_Fiscale ,NeedArea +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CHECK_GET_CUSTOMERS_FOR_CHECK.sql b/sql/storedTestbes/C6MartPeriodico_CHECK_GET_CUSTOMERS_FOR_CHECK.sql new file mode 100644 index 00000000..ce7b2a2d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CHECK_GET_CUSTOMERS_FOR_CHECK.sql @@ -0,0 +1,19 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +CREATE procedure [C6MartPeriodico].[CHECK_GET_CUSTOMERS_FOR_CHECK] +-- Add the parameters for the stored procedure here +AS +BEGIN +SELECT distinct [Rete] ,[Cod_Fiscale] +FROM C6MartPeriodico.PATRIMONIO_BF +--where cod_fiscale in (select cod_fiscale from c6mart.contrattosei where cod_Esito=1) +--And [Cod_Fiscale] <> 'DNTTMS48E03F205P' +Where [Cod_Fiscale] <>'CVLGRL50A23C469M' +--AND [Cod_Fiscale] = 'LBRRMN81R48L388B' +--AND [Cod_Fiscale] IN ('BAASFN72B19E472H' ,'BAEMJA43E70Z133C') +--Select distinct [Rete] , [Cod_Fiscale] FROM C6MartPeriodico.PATRIMONIO_BF +--where [Cod_Fiscale] <> 'DNTTMS48E03F205P' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CHECK_GET_NeedAreas.sql b/sql/storedTestbes/C6MartPeriodico_CHECK_GET_NeedAreas.sql new file mode 100644 index 00000000..57cf65e0 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CHECK_GET_NeedAreas.sql @@ -0,0 +1,6 @@ +CREATE procedure [C6MartPeriodico].[CHECK_GET_NeedAreas] +AS +BEGIN +SELECT [ID_AREA] +FROM [C6MartPeriodico].[AREA_BISOGNO] +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CHECK_GET_Perc_ISSUES.sql b/sql/storedTestbes/C6MartPeriodico_CHECK_GET_Perc_ISSUES.sql new file mode 100644 index 00000000..22ca53e6 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CHECK_GET_Perc_ISSUES.sql @@ -0,0 +1,13 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +CREATE procedure [C6MartPeriodico].[CHECK_GET_Perc_ISSUES] +-- Add the parameters for the stored procedure here +AS +BEGIN +select * +from Check_TotalPercPerClient +where S10Perc <> 100 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET.sql b/sql/storedTestbes/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET.sql new file mode 100644 index 00000000..1720144d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET.sql @@ -0,0 +1,24 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +-- [C6MartPeriodico].[PL_S57ConfrontoPiramidi] 'S','TMOSST58P03L840W' +CREATE procedure [C6MartPeriodico].[CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET] +@Rete char(1), +@CodiceFiscale varchar(16) +AS +BEGIN + SELECT +-- 'BF' AS NOMEPATRIMONIO, +-- 9999 AS ORDINAMENTO , +-- '' AS ASSETCLASSID , +-- '' AS ASSETCLASSNAME, + CONTROVALORE +-- 0.00 AS PERCENTUALE , +-- --CONTROVALORE +-- CONTROVALORE as totale + FROM [C6STAMPECENTRALIZZATE].[C6MARTPERIODICO].[VPATRIMONIONONRAPPRESENTABILEASSET] + WHERE RETE= @Rete + AND COD_FISCALE= @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET_ALL.sql b/sql/storedTestbes/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET_ALL.sql new file mode 100644 index 00000000..825ef4bb --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET_ALL.sql @@ -0,0 +1,16 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +-- [C6MartPeriodico].[PL_S57ConfrontoPiramidi] 'S','TMOSST58P03L840W' +CREATE procedure [C6MartPeriodico].[CHECK_GET_S10_PATRIMONIO_NON_RAPPRESENTABILE_ASSET_ALL] +--@Rete char(1), +--@CodiceFiscale varchar(16) +AS +BEGIN +SELECT [RETE] + ,[COD_FISCALE] + ,[Controvalore] + FROM [C6STAMPECENTRALIZZATE].[C6MartPeriodico].[vPatrimonioNonRappresentabileAsset] +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CHECK_GET_VAR_ISSUES.sql b/sql/storedTestbes/C6MartPeriodico_CHECK_GET_VAR_ISSUES.sql new file mode 100644 index 00000000..e6edac67 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CHECK_GET_VAR_ISSUES.sql @@ -0,0 +1,12 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +-- [C6MartPeriodico].[PL_S57ConfrontoPiramidi] 'S','TMOSST58P03L840W' +CREATE procedure [C6MartPeriodico].[CHECK_GET_VAR_ISSUES] +AS +BEGIN +SELECT Rete, Cod_Fiscale , S57VAR , S75VAR +FROM Check_DifferenceInVARPerClient +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CHECK_INSERT_CTV_PER_AREA.sql b/sql/storedTestbes/C6MartPeriodico_CHECK_INSERT_CTV_PER_AREA.sql new file mode 100644 index 00000000..24ec6751 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CHECK_INSERT_CTV_PER_AREA.sql @@ -0,0 +1,17 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +CREATE procedure [C6MartPeriodico].[CHECK_INSERT_CTV_PER_AREA] +-- Add the parameters for the stored procedure here +@Rete char(1), +@CodiceFiscale varchar(16), +@NeedArea varchar(20), +@S57CTV decimal(38,3), +@S43CTV decimal(38,3) +AS +BEGIN +insert into Check_DifferenceInCTVPerClientPerArea([RETE] ,[Cod_Fiscale] ,[NeedArea] ,[S57CTV] ,[S43CTV]) +VALUES ( @Rete, @CodiceFiscale, @NeedArea,@S57CTV , @S43CTV ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CHECK_INSERT_CTV_PER_SECTION.sql b/sql/storedTestbes/C6MartPeriodico_CHECK_INSERT_CTV_PER_SECTION.sql new file mode 100644 index 00000000..8fa9a6fb --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CHECK_INSERT_CTV_PER_SECTION.sql @@ -0,0 +1,19 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +-- [C6MartPeriodico].[PL_S57ConfrontoPiramidi] 'S','TMOSST58P03L840W' +CREATE procedure [C6MartPeriodico].[CHECK_INSERT_CTV_PER_SECTION] +-- Add the parameters for the stored procedure here +@Rete char(1), +@CodiceFiscale varchar(16), +@S57CTV decimal(38,3), +@S43_S47CTV decimal(38,3), +@S10CTV decimal(38,3), +@S75CTV decimal(38,3) +AS +BEGIN +insert into Check_DifferenceInCTVPerClient ([RETE] ,[Cod_Fiscale] ,[S57CTV] ,[S43_S47CTV] ,[S10CTV] , [S75CTV]) +VALUES ( @Rete, @CodiceFiscale, @S57CTV, @S43_S47CTV, @S10CTV, @S75CTV ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CHECK_INSERT_S10_PERC.sql b/sql/storedTestbes/C6MartPeriodico_CHECK_INSERT_S10_PERC.sql new file mode 100644 index 00000000..9a50357c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CHECK_INSERT_S10_PERC.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +CREATE procedure [C6MartPeriodico].[CHECK_INSERT_S10_PERC] +-- Add the parameters for the stored procedure here +@Rete char(1), +@CodiceFiscale varchar(16), +@S10Perc decimal(38,3) +AS +BEGIN +insert into Check_TotalPercPerClient ([RETE] ,[Cod_Fiscale] ,[S10Perc]) +VALUES ( @Rete, @CodiceFiscale, @S10Perc ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CHECK_INSERT_VAR_PER_SECTION.sql b/sql/storedTestbes/C6MartPeriodico_CHECK_INSERT_VAR_PER_SECTION.sql new file mode 100644 index 00000000..626af1ef --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CHECK_INSERT_VAR_PER_SECTION.sql @@ -0,0 +1,16 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +CREATE procedure [C6MartPeriodico].[CHECK_INSERT_VAR_PER_SECTION] +-- Add the parameters for the stored procedure here +@Rete char(1), +@CodiceFiscale varchar(16), +@S57VAR decimal(38,3), +@S75VAR decimal(38,3) +AS +BEGIN +insert into Check_DifferenceInVARPerClient ([RETE] ,[Cod_Fiscale] ,[S57VAR] , [S75VAR]) +VALUES ( @Rete, @CodiceFiscale, @S57VAR, @S75VAR ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO.sql b/sql/storedTestbes/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO.sql new file mode 100644 index 00000000..4f020c1e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO.sql @@ -0,0 +1,22 @@ +-- Stored procedure +-- =========================================================================== +-- Author: Emanuele atzeri +-- Create date: 28/06/2011 +-- Description: Setta a stato 23 i report con profilo MIFID scaduto e RFA a 0 +-- =========================================================================== +CREATE procedure [C6MartPeriodico].[CHECK_PROFILOSCADUTO_RFAZERO] +AS +BEGIN +UPDATE + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SET + STATO_REPORT = 23, + DATA_TRANSIZIONE = GETDATE() +WHERE RETE+COD_FISCALE IN +( + select a.rete+a.cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO a + inner join C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO b + on a.rete = b.rete + and a.cod_fiscale = b.cod_fiscale +) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO_pre_selective.sql new file mode 100644 index 00000000..a78853ad --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CHECK_PROFILOSCADUTO_RFAZERO_pre_selective.sql @@ -0,0 +1,22 @@ +-- Stored procedure +-- =========================================================================== +-- Author: Emanuele atzeri +-- Create date: 28/06/2011 +-- Description: Setta a stato 23 i report con profilo MIFID scaduto e RFA a 0 +-- =========================================================================== +CREATE procedure [C6MartPeriodico].[CHECK_PROFILOSCADUTO_RFAZERO_pre_selective] +AS +BEGIN +UPDATE + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SET + STATO_REPORT = 23, + DATA_TRANSIZIONE = GETDATE() +WHERE RETE+COD_FISCALE IN +( + select a.rete+a.cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO a + inner join C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO b + on a.rete = b.rete + and a.cod_fiscale = b.cod_fiscale +) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CHECK_PROFILO_SCADUTO.sql b/sql/storedTestbes/C6MartPeriodico_CHECK_PROFILO_SCADUTO.sql new file mode 100644 index 00000000..35b9f310 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CHECK_PROFILO_SCADUTO.sql @@ -0,0 +1,42 @@ +-- Stored procedure +-- =============================================================== +-- Author: colaianni-consoli +-- Create date: 28/06/2011 +-- Description: Setta a stato 3 i report con profilo MIFID scaduto +-- =============================================================== +CREATE procedure [C6MartPeriodico].[CHECK_PROFILO_SCADUTO] +AS +BEGIN +TRUNCATE TABLE C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO +INSERT INTO C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO +SELECT a.rete, a.cod_fiscale, a.codicecontratto +from +-- Modifica MV 18/04/2015 +--c6martperiodico.rp_vcontrattipergenerazionereport a +C6stagingPERIODICO.appo_contratti_v a +inner join C6MARTPERIODICO.MIFID b +on a.rete = b.rete +and a.cod_fiscale = b.cod_fiscale +where b.SCADUTO=1 +UPDATE + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SET + STATO_REPORT = 3, + DATA_TRANSIZIONE = GETDATE() +WHERE + RETE+COD_FISCALE IN + ( + SELECT RETE+COD_FISCALE + FROM C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO + ) +--UPDATE +-- C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--SET +-- STATO_REPORT = 3, +-- DATA_TRANSIZIONE = GETDATE() +--WHERE +-- RETE+COD_FISCALE NOT IN +-- ( +-- SELECT * FROM C6MARTPERIODICO.MIFID WHERE SCADUTO=1 +-- ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CHECK_PROFILO_SCADUTO_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_CHECK_PROFILO_SCADUTO_pre_selective.sql new file mode 100644 index 00000000..13962d59 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CHECK_PROFILO_SCADUTO_pre_selective.sql @@ -0,0 +1,42 @@ +-- Stored procedure +-- =============================================================== +-- Author: colaianni-consoli +-- Create date: 28/06/2011 +-- Description: Setta a stato 3 i report con profilo MIFID scaduto +-- =============================================================== +CREATE procedure [C6MartPeriodico].[CHECK_PROFILO_SCADUTO_pre_selective] +AS +BEGIN +TRUNCATE TABLE C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO +INSERT INTO C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO +SELECT a.rete, a.cod_fiscale, a.codicecontratto +from +-- Modifica MV 18/04/2015 +--c6martperiodico.rp_vcontrattipergenerazionereport a +C6stagingPERIODICO.appo_contratti a +inner join C6MARTPERIODICO.MIFID b +on a.rete = b.rete +and a.cod_fiscale = b.cod_fiscale +where b.SCADUTO=1 +UPDATE + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SET + STATO_REPORT = 3, + DATA_TRANSIZIONE = GETDATE() +WHERE + RETE+COD_FISCALE IN + ( + SELECT RETE+COD_FISCALE + FROM C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO + ) +--UPDATE +-- C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--SET +-- STATO_REPORT = 3, +-- DATA_TRANSIZIONE = GETDATE() +--WHERE +-- RETE+COD_FISCALE NOT IN +-- ( +-- SELECT * FROM C6MARTPERIODICO.MIFID WHERE SCADUTO=1 +-- ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CHECK_RFA_ZERO.sql b/sql/storedTestbes/C6MartPeriodico_CHECK_RFA_ZERO.sql new file mode 100644 index 00000000..2d84fc8e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CHECK_RFA_ZERO.sql @@ -0,0 +1,30 @@ +-- Stored procedure +-- ================================================= +-- Author: COLAIANNI-CONSOLI +-- Create date: 28/06/2011 +-- Description: SETTA A STATO 2 I REPORT CON RFA=0 +-- ================================================= +CREATE procedure [C6MartPeriodico].[CHECK_RFA_ZERO] +AS +BEGIN +TRUNCATE TABLE C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO +INSERT INTO C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO +SELECT a.rete, a.cod_fiscale, a.codicecontratto +from +--c6martperiodico.rp_vcontrattipergenerazionereport a +C6stagingPERIODICO.appo_contratti_v a +left join C6MARTPERIODICO.PATRIMONIO_BF b +on a.rete = b.rete +and a.cod_fiscale = b.cod_fiscale +where b.rete is null +UPDATE + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SET + STATO_REPORT = 2, + DATA_TRANSIZIONE = GETDATE() +WHERE + RETE+COD_FISCALE IN + ( + SELECT RETE+COD_FISCALE FROM C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CHECK_RFA_ZERO_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_CHECK_RFA_ZERO_pre_selective.sql new file mode 100644 index 00000000..a54d0ab3 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CHECK_RFA_ZERO_pre_selective.sql @@ -0,0 +1,30 @@ +-- Stored procedure +-- ================================================= +-- Author: COLAIANNI-CONSOLI +-- Create date: 28/06/2011 +-- Description: SETTA A STATO 2 I REPORT CON RFA=0 +-- ================================================= +CREATE procedure [C6MartPeriodico].[CHECK_RFA_ZERO_pre_selective] +AS +BEGIN +TRUNCATE TABLE C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO +INSERT INTO C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO +SELECT a.rete, a.cod_fiscale, a.codicecontratto +from +--c6martperiodico.rp_vcontrattipergenerazionereport a +C6stagingPERIODICO.appo_contratti a +left join C6MARTPERIODICO.PATRIMONIO_BF b +on a.rete = b.rete +and a.cod_fiscale = b.cod_fiscale +where b.rete is null +UPDATE + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SET + STATO_REPORT = 2, + DATA_TRANSIZIONE = GETDATE() +WHERE + RETE+COD_FISCALE IN + ( + SELECT RETE+COD_FISCALE FROM C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CREA_FIRMA_PROMOTORE.sql b/sql/storedTestbes/C6MartPeriodico_CREA_FIRMA_PROMOTORE.sql new file mode 100644 index 00000000..721cac27 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CREA_FIRMA_PROMOTORE.sql @@ -0,0 +1,8 @@ +CREATE procedure [C6MartPeriodico].[CREA_FIRMA_PROMOTORE] as +begin +update [C6StagingPeriodico].[ADS4WS_PROMOTORI] +set firma = case when rete = 'F' then 'R'+codice + else 'P'+codice end, +prefisso = case when rete = 'F' then 'R' + else 'P'end +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CRUSCOTTOTRIMESTRALE.sql b/sql/storedTestbes/C6MartPeriodico_CRUSCOTTOTRIMESTRALE.sql new file mode 100644 index 00000000..896c0971 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CRUSCOTTOTRIMESTRALE.sql @@ -0,0 +1,139 @@ +CREATE procedure [C6MartPeriodico].[CRUSCOTTOTRIMESTRALE] + @codiceFiscale as char(16) = '' +AS +BEGIN + IF @codiceFiscale <> '' + SELECT b.*,a.dtstamp,a.errormessage + FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR a + on a.codicefiscale = b.codicefiscale and a.rete=b.rete where 1=1 + and b.codicefiscale = @codiceFiscale + DECLARE @dt AS DATETIME + DECLARE @dt2 AS DATETIME + DECLARE @QUANTI AS INT + DECLARE @APP AS varchar(100) + PRINT '**********************************************************************' + SELECT @dt = min(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + SELECT @dt2 = max(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + set @APP = 'DataInizio ' + convert(varchar,@dt,103) + ' ' + convert(varchar,@dt,114) + IF (SELECT COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab in(0,1,2,3)) = 0 + SET @APP = @APP + ' tempo totale di elaborazione ' ELSE SET @APP = @APP + ' tempo parziale di elaborazione ' + DECLARE @s bigint; + DECLARE @mi int; + DECLARE @h int; + DECLARE @d int; + SET @d=0 + SET @h=0 + SET @mi=0 + SET @s=0 + SELECT @s = DATEDIFF(second,@dt,getdate()) + IF @s <> 0 BEGIN + SET @mi = @s / 60; + SET @s = @s % 60; + END; + IF @mi <> 0 BEGIN + SET @h = @mi / 60; + SET @mi = @mi % 60; + END; + IF @h <> 0 BEGIN + SET @d = @h / 24; + SET @h = @h % 24; + END; + SET @APP = @APP + 'Giorni:' + CONVERT( VARCHAR(3) , @d ) + ' Ore:' + CONVERT( VARCHAR(2) , @h ) + ' Minuti:' + CONVERT( VARCHAR(2) , @mi ) + ' Secondi:' + CONVERT( VARCHAR(2) , @s ); + IF @APP IS NULL SET @APP = 'STANDBY' + PRINT @APP + PRINT '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab in(0,1,2) + PRINT 'daElaborare ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=3 + PRINT 'inElaborazione ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=10 + PRINT 'Elaborati ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-1 + PRINT 'noElaborabili ( Scartati-1 ) ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=4 + PRINT 'Da NON Elaborare ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) FROM [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] + PRINT 'ScartatiTAB ' + convert(VARCHAR,@QUANTI) + PRINT '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-2 + PRINT 'Scartati-2 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-3 + PRINT 'Scartati-3 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab<-3 + PRINT 'Scartati-n ' + convert(VARCHAR,@QUANTI) + PRINT '**********************************************************************' + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi > -1 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 + PRINT 'ELABORATI ******** ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 0 and isdiagnosi > -1 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 + PRINT 'IN ELABORAZIONE ******** ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2and tipocliente = 0 and isdiagnosi > -1 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 + PRINT 'SCARTATI-2 ******* ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 0 and isdiagnosi > -1 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 + PRINT 'SCARTATI-3 ******* ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 0 and isdiagnosi > -1 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 + PRINT 'SCARTATI-n ******* ' + convert(VARCHAR,@QUANTI) + /* SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-1 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-1 and tipocliente = 0 and isdiagnosi > -1 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-1 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-1 and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-1 + PRINT 'SCARTATI-1 ******* ' + convert(VARCHAR,@QUANTI) */ + PRINT ' ' + PRINT '**********************************************************************' + PRINT 'ELAB 0 DA ELABORARE PRIORITA ALTA'--[C6MartPeriodico].[CRUSCOTTOTRIMESTRALE] + PRINT 'ELAB 1 DA ELABORARE PRIORITA MEDIA' + PRINT 'ELAB 2 DA ELABORARE PRIORITA NORMALE' + PRINT 'ELAB 3 IN ELABORAZIONE' + PRINT 'ELAB 4 DA NON ELABORARE' + PRINT 'ELAB 10 ELABORATO' + PRINT 'ELAB -1 SCARTO DA DATATHREAD' + PRINT 'ELAB -2 ERRORE APPLICATIVO' + PRINT 'ELAB -3 ERRORE APPLICATIVO generatorpdf' + PRINT 'ELAB < -3 ERRORE APPLICATIVO non assegnati' + PRINT '**********************************************************************' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CRUSCOTTOTRIMESTRALEMAU.sql b/sql/storedTestbes/C6MartPeriodico_CRUSCOTTOTRIMESTRALEMAU.sql new file mode 100644 index 00000000..bc348f93 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CRUSCOTTOTRIMESTRALEMAU.sql @@ -0,0 +1,213 @@ +--select count(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +--select top 10 * from global_error order by id desc +-- select count(*) from [C6StagingPeriodico].[datiROL2] +-- [C6MartPeriodico].[CRUSCOTTOTRIMESTRALE] BTTPLA59B25F240A +CREATE procedure [C6MartPeriodico].[CRUSCOTTOTRIMESTRALEMAU] + @codiceFiscale as char(16) = '' +AS +BEGIN + IF @codiceFiscale <> '' + SELECT b.*,a.dtstamp,a.errormessage + FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR a + on a.codicefiscale = b.codicefiscale and a.rete=b.rete where 1=1 + and b.codicefiscale = @codiceFiscale + DECLARE @dt AS DATETIME + DECLARE @dt2 AS DATETIME + DECLARE @QUANTI AS INT + DECLARE @APP AS varchar(100) + PRINT '**********************************************************************' + SELECT @dt = min(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + SELECT @dt2 = max(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + set @APP = 'DataInizio ' + convert(varchar,@dt,103) + ' ' + convert(varchar,@dt,114) + IF (SELECT COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab in(0,1,2,3)) = 0 + SET @APP = @APP + ' tempo totale di elaborazione ' ELSE SET @APP = @APP + ' tempo parziale di elaborazione ' + DECLARE @s bigint; + DECLARE @mi int; + DECLARE @h int; + DECLARE @d int; + SET @d=0 + SET @h=0 + SET @mi=0 + SET @s=0 + SELECT @s = DATEDIFF(second,@dt,getdate()) + IF @s <> 0 BEGIN + SET @mi = @s / 60; + SET @s = @s % 60; + END; + IF @mi <> 0 BEGIN + SET @h = @mi / 60; + SET @mi = @mi % 60; + END; + IF @h <> 0 BEGIN + SET @d = @h / 24; + SET @h = @h % 24; + END; + SET @APP = @APP + 'Giorni:' + CONVERT( VARCHAR(3) , @d ) + ' Ore:' + CONVERT( VARCHAR(2) , @h ) + ' Minuti:' + CONVERT( VARCHAR(2) , @mi ) + ' Secondi:' + CONVERT( VARCHAR(2) , @s ); + IF @APP IS NULL SET @APP = 'STANDBY' + PRINT @APP + PRINT '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab in(0,1,2) + PRINT 'daElaborare ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=3 + PRINT 'inElaborazione ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=10 + PRINT 'Elaborati ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-1 + PRINT 'noElaborabili ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=4 + PRINT 'BLACKLIST ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) FROM [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] + PRINT 'ScartatiTAB ' + convert(VARCHAR,@QUANTI) + PRINT '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-2 + PRINT 'Scartati-2 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-3 + PRINT 'Scartati-3 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab<-3 + PRINT 'Scartati-n ' + convert(VARCHAR,@QUANTI) + PRINT '**********************************************************************' + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi = 4 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 + PRINT 'ELABORATI ******** ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 0 and isdiagnosi = 4 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 + PRINT 'IN ELABORAZIONE ******** ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2and tipocliente = 0 and isdiagnosi = 4 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 + PRINT 'SCARTATI-2 ******* ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3and tipocliente = 0 and isdiagnosi = 4 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 + PRINT 'SCARTATI-3 ******* ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 0 and isdiagnosi = 4 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 + PRINT 'SCARTATI-n ******* ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-1 and tipocliente = 0 and isdiagnosi = -1 + PRINT 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-1 and tipocliente = 0 and isdiagnosi = 4 + PRINT 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-1 and tipocliente = 1 + PRINT 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-1 and tipocliente = 2 + PRINT 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-1 + PRINT 'SCARTATI-1 ******* ' + convert(VARCHAR,@QUANTI) + PRINT '**********************************************************************' + PRINT 'ELAB 0 DA ELABORARE PRIORITA ALTA'--[C6MartPeriodico].[CRUSCOTTOTRIMESTRALE] + PRINT 'ELAB 1 DA ELABORARE PRIORITA MEDIA' + PRINT 'ELAB 2 DA ELABORARE PRIORITA NORMALE' + PRINT 'ELAB 3 IN ELABORAZIONE' + PRINT 'ELAB 4 IN BLACKLIST' + PRINT 'ELAB 10 ELABORATO' + PRINT 'ELAB -1 SCARTO DA DATATHREAD' + PRINT 'ELAB -2 ERRORE APPLICATIVO' + PRINT 'ELAB -3 ERRORE APPLICATIVO generatorpdf' + PRINT 'ELAB < -3 ERRORE APPLICATIVO non assegnati' + PRINT '**********************************************************************' + -- SELECT b.*,a.dtstamp,a.errormessage + --FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + --left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR a + --on a.codicefiscale = b.codicefiscale and a.rete=b.rete where 1=1 + --and elab< 0 +END +--select time,* from global_error order by id desc DELETE global_error +--SELECT * FROM [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] +--SELECT count(*) FROM [C6MartPeriodico].[CRUSCOTTO_CONTRATTISEI] +--select count(*) from c6martperiodico.contrattosei +--update [C6MartPeriodico].[CRUSCOTTOSWITCH] set elab = 0 +--truncate table [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] +--truncate table C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +--insert into C6MartPeriodico.CRUSCOTTO_CONTRATTISEI select cod_fiscale as codice_fiscale,rete as rete ,4 as elab,null,null,null as dtstamp from c6stagingperiodico.appo_contratti +--update [C6MartPeriodico].[CRUSCOTTOSWITCH] set elab = 1 + --c6stagingperiodico.appo_contratti + --delete C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR where codicefiscale+rete in ( + --select codicefiscale+rete from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + --where elab = -2) + --update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab= 2 where elab = 3 + --update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 400 where elab = -2 +--delete C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR +--where codicefiscale in (select codicefiscale from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab = 4) +--update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 where elab = 400 +--update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 +--where codicefiscale in +--(select cod_fiscale from appoCampioneReport where TipoContratto = 'Affluent') +--update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 +--where codicefiscale in +--(select cod_fiscale from appoCampioneReport where TipoContratto = 'private') +--update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 +--where codicefiscale in +--(select cod_fiscale from appoCampioneReport where TipoContratto = 'old') +-- update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 +--where codicefiscale in +-- ('GSTMGS42D51L833Z') +-- [C6MartPeriodico].[CRUSCOTTOTRIMESTRALE] + --scartati da datathread SE STATO_REPORT != 2 O 3 --problema +--SELECT a.*,B.STATO_REPORT FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI A +--LEFT JOIN C6MartPeriodico.CONTROLLO_TRIMESTRALE B +--ON A.CODICEFISCALE = B.COD_fISCALE and a.RETE=B.RETE +--WHERE A.elab in(0,1,2,-1,4) AND B.STATO_REPORT IN (2,3,23) +--ORDER BY STATO_REPORT + -- delete C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR + --where codicefiscale in (select codicefiscale from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab = -2) + --update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 where elab = -2 +--select * from global_error order by id desc + --SELECT 'update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 5 where codicefiscale+rete = ''' + b.codicefiscale+b.rete+'''' + --FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + --left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR a + --on a.codicefiscale = b.codicefiscale and a.rete=b.rete + --left join disallineati2 d + --on d.rete = b.rete and d.cod_fiscale = b.codicefiscale + --where 1=1 + --and elab =2 + --and tipocliente = 2 + -- SELECT b.*,a.dtstamp,a.errormessage + --FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + --left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR a + --on a.codicefiscale = b.codicefiscale and a.rete=b.rete where 1=1 + --and elab = 4 + --select * from c6mart.contrattosei where cod_fiscale = 'TGLMRA30A04A409N' +-- select * from c6martperiodico.cruscotto_contrattisei +--where elab in (-2,-3,3) +--update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 where elab = -2 +--update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 2 where elab = 3 + --[C6MartPeriodico].[CRUSCOTTOTRIMESTRALE] CNLMTT75A24C111A +--DGALGO47C44H379A F 1.OLD con Diagnosi 2.Elaborati Da stampare +--DGRMRA70L14H703Z F 1.OLD con Diagnosi 2.Elaborati Da stampare +--DLARNT59S67Z315W F 0.OLD 2.Elaborati Da stampare +--CNLMTT75A24C111A S 0.OLD 2.Elaborati Da stampare + --select 'update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI set elab = 4 where codicefiscale+rete ='''+ codicefiscale+rete+'''' from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab = 4 \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE.sql b/sql/storedTestbes/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE.sql new file mode 100644 index 00000000..73030543 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE.sql @@ -0,0 +1,107 @@ +CREATE procedure [C6MartPeriodico].[CRUSCOTTOTRIMESTRALE_FILE] +AS +BEGIN + DECLARE @dt AS DATETIME + DECLARE @dt2 AS DATETIME + DECLARE @QUANTI AS INT + DECLARE @APP AS varchar(100) + declare @ooo as VARCHAR (2000) + SET @ooo = '' + set @ooo = @ooo + '\r\n' + '**********************************************************************' + SELECT @dt = min(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + SELECT @dt2 = max(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + -- FC 02/03/2015 Aggiornamento Convert + set @APP = 'DataInizio ' + convert(varchar,@dt,120) + IF (SELECT COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab in(0,1,2,3)) = 0 + SET @APP = @APP + ' tempo totale di elaborazione ' + ELSE + SET @APP = @APP + ' tempo parziale di elaborazione ' + SET @APP = @APP + convert(VARCHAR,DATEADD(second,DATEDIFF(second,@dt,getdate()), convert(varchar,@dt,102)) ,108) + IF @APP IS NULL SET @APP = 'STANDBY' + set @ooo = @ooo + '\r\n ' + @APP + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab in(0,1,2) + set @ooo = @ooo + '\r\n ' + 'daElaborare ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=3 + set @ooo = @ooo + '\r\n ' + 'inElaborazione ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=10 + set @ooo = @ooo + '\r\n ' + 'Elaborati ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-1 + set @ooo = @ooo + '\r\n ' + 'noElaborabili ( Scartati-1 ) ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=4 + set @ooo = @ooo + '\r\n ' + 'Da NON Elaborare ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) FROM [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] + set @ooo = @ooo + '\r\n ' + 'ScartatiTAB ' + convert(VARCHAR,@QUANTI) + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-2 + set @ooo = @ooo + '\r\n ' + 'Scartati-2 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-3 + set @ooo = @ooo + '\r\n ' + 'Scartati-3 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab<-3 + set @ooo = @ooo + '\r\n ' + 'Scartati-n ' + convert(VARCHAR,@QUANTI) + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi = -1 + set @ooo = @ooo + '\r\n ' + 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi > -1 + set @ooo = @ooo + '\r\n ' + 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 1 + set @ooo = @ooo + '\r\n ' + 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 2 + set @ooo = @ooo + '\r\n ' + 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 + set @ooo = @ooo + '\r\n ' + 'ELABORATI ******** ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 0 and isdiagnosi = -1 + set @ooo = @ooo + '\r\n ' + 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 0 and isdiagnosi > -1 + set @ooo = @ooo + '\r\n ' + 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 1 + set @ooo = @ooo + '\r\n ' + 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 2 + set @ooo = @ooo + '\r\n ' + 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 + set @ooo = @ooo + '\r\n ' + 'IN ELABORAZIONE ******** ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 and tipocliente = 0 and isdiagnosi = -1 + set @ooo = @ooo + '\r\n ' + 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2and tipocliente = 0 and isdiagnosi > -1 + set @ooo = @ooo + '\r\n ' + 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 and tipocliente = 1 + set @ooo = @ooo + '\r\n ' + 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 and tipocliente = 2 + set @ooo = @ooo + '\r\n ' + 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 + set @ooo = @ooo + '\r\n ' + 'SCARTATI-2 ******* ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 0 and isdiagnosi = -1 + set @ooo = @ooo + '\r\n ' + 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 0 and isdiagnosi > -1 + set @ooo = @ooo + '\r\n ' + 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 1 + set @ooo = @ooo + '\r\n ' + 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 2 + set @ooo = @ooo + '\r\n ' + 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 + set @ooo = @ooo + '\r\n ' + 'SCARTATI-3 ******* ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 0 and isdiagnosi = -1 + set @ooo = @ooo + '\r\n ' + 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 0 and isdiagnosi > -1 + set @ooo = @ooo + '\r\n ' + 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 1 + set @ooo = @ooo + '\r\n ' + 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 2 + set @ooo = @ooo + '\r\n ' + 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 + set @ooo = @ooo + '\r\n ' + 'SCARTATI-n ******* ' + convert(VARCHAR,@QUANTI) + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + set @ooo = @ooo + '\r\n ' + 'ELAB 0 DA ELABORARE PRIORITA ALTA'--[C6MartPeriodico].[CRUSCOTTOTRIMESTRALE] + set @ooo = @ooo + '\r\n ' + 'ELAB 1 DA ELABORARE PRIORITA MEDIA' + set @ooo = @ooo + '\r\n ' + 'ELAB 2 DA ELABORARE PRIORITA NORMALE' + set @ooo = @ooo + '\r\n ' + 'ELAB 3 IN ELABORAZIONE' + set @ooo = @ooo + '\r\n ' + 'ELAB 4 IN BLACKLIST' + set @ooo = @ooo + '\r\n ' + 'ELAB 10 ELABORATO' + set @ooo = @ooo + '\r\n ' + 'ELAB -1 SCARTO DA DATATHREAD' + set @ooo = @ooo + '\r\n ' + 'ELAB -2 ERRORE APPLICATIVO' + set @ooo = @ooo + '\r\n ' + 'ELAB -3 ERRORE APPLICATIVO generatorpdf' + set @ooo = @ooo + '\r\n ' + 'ELAB < -3 ERRORE APPLICATIVO non assegnati' + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + SELECT @ooo, COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab in(0,1,2) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE_test.sql b/sql/storedTestbes/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE_test.sql new file mode 100644 index 00000000..de3177dd --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CRUSCOTTOTRIMESTRALE_FILE_test.sql @@ -0,0 +1,107 @@ +CREATE procedure [C6MartPeriodico].[CRUSCOTTOTRIMESTRALE_FILE_test] +AS +BEGIN + DECLARE @dt AS DATETIME + DECLARE @dt2 AS DATETIME + DECLARE @QUANTI AS INT + DECLARE @APP AS varchar(100) + declare @ooo as VARCHAR (2000) + SET @ooo = '' + set @ooo = @ooo + '\r\n' + '**********************************************************************' + SELECT @dt = min(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + SELECT @dt2 = max(dtstamp) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE dtstamp is not null + -- FC 02/03/2015 Aggiornamento Convert + set @APP = 'DataInizio ' + convert(varchar,@dt,120) + IF (SELECT COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab in(0,1,2,3)) = 0 + SET @APP = @APP + ' tempo totale di elaborazione ' + ELSE + SET @APP = @APP + ' tempo parziale di elaborazione ' + SET @APP = @APP + convert(VARCHAR,DATEADD(millisecond,DATEDIFF(millisecond,@dt,getdate()), convert(varchar,@dt,102)) ,108) + IF @APP IS NULL SET @APP = 'STANDBY' + set @ooo = @ooo + '\r\n ' + @APP + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab in(0,1,2) + set @ooo = @ooo + '\r\n ' + 'daElaborare ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=3 + set @ooo = @ooo + '\r\n ' + 'inElaborazione ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=10 + set @ooo = @ooo + '\r\n ' + 'Elaborati ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-1 + set @ooo = @ooo + '\r\n ' + 'noElaborabili ( Scartati-1 ) ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=4 + set @ooo = @ooo + '\r\n ' + 'Da NON Elaborare ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) FROM [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] + set @ooo = @ooo + '\r\n ' + 'ScartatiTAB ' + convert(VARCHAR,@QUANTI) + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-2 + set @ooo = @ooo + '\r\n ' + 'Scartati-2 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab=-3 + set @ooo = @ooo + '\r\n ' + 'Scartati-3 ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab<-3 + set @ooo = @ooo + '\r\n ' + 'Scartati-n ' + convert(VARCHAR,@QUANTI) + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi = -1 + set @ooo = @ooo + '\r\n ' + 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 0 and isdiagnosi > -1 + set @ooo = @ooo + '\r\n ' + 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 1 + set @ooo = @ooo + '\r\n ' + 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 and tipocliente = 2 + set @ooo = @ooo + '\r\n ' + 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =10 + set @ooo = @ooo + '\r\n ' + 'ELABORATI ******** ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 0 and isdiagnosi = -1 + set @ooo = @ooo + '\r\n ' + 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 0 and isdiagnosi > -1 + set @ooo = @ooo + '\r\n ' + 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 1 + set @ooo = @ooo + '\r\n ' + 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 and tipocliente = 2 + set @ooo = @ooo + '\r\n ' + 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =3 + set @ooo = @ooo + '\r\n ' + 'IN ELABORAZIONE ******** ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 and tipocliente = 0 and isdiagnosi = -1 + set @ooo = @ooo + '\r\n ' + 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2and tipocliente = 0 and isdiagnosi > -1 + set @ooo = @ooo + '\r\n ' + 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 and tipocliente = 1 + set @ooo = @ooo + '\r\n ' + 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 and tipocliente = 2 + set @ooo = @ooo + '\r\n ' + 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-2 + set @ooo = @ooo + '\r\n ' + 'SCARTATI-2 ******* ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 0 and isdiagnosi = -1 + set @ooo = @ooo + '\r\n ' + 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 0 and isdiagnosi > -1 + set @ooo = @ooo + '\r\n ' + 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 1 + set @ooo = @ooo + '\r\n ' + 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 and tipocliente = 2 + set @ooo = @ooo + '\r\n ' + 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab =-3 + set @ooo = @ooo + '\r\n ' + 'SCARTATI-3 ******* ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 0 and isdiagnosi = -1 + set @ooo = @ooo + '\r\n ' + 'Old ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 0 and isdiagnosi > -1 + set @ooo = @ooo + '\r\n ' + 'Old con diagnosi ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 1 + set @ooo = @ooo + '\r\n ' + 'Affluent ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 and tipocliente = 2 + set @ooo = @ooo + '\r\n ' + 'Private ' + convert(VARCHAR,@QUANTI) + SELECT @QUANTI = count(*) FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab <-3 + set @ooo = @ooo + '\r\n ' + 'SCARTATI-n ******* ' + convert(VARCHAR,@QUANTI) + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + set @ooo = @ooo + '\r\n ' + 'ELAB 0 DA ELABORARE PRIORITA ALTA'--[C6MartPeriodico].[CRUSCOTTOTRIMESTRALE] + set @ooo = @ooo + '\r\n ' + 'ELAB 1 DA ELABORARE PRIORITA MEDIA' + set @ooo = @ooo + '\r\n ' + 'ELAB 2 DA ELABORARE PRIORITA NORMALE' + set @ooo = @ooo + '\r\n ' + 'ELAB 3 IN ELABORAZIONE' + set @ooo = @ooo + '\r\n ' + 'ELAB 4 IN BLACKLIST' + set @ooo = @ooo + '\r\n ' + 'ELAB 10 ELABORATO' + set @ooo = @ooo + '\r\n ' + 'ELAB -1 SCARTO DA DATATHREAD' + set @ooo = @ooo + '\r\n ' + 'ELAB -2 ERRORE APPLICATIVO' + set @ooo = @ooo + '\r\n ' + 'ELAB -3 ERRORE APPLICATIVO generatorpdf' + set @ooo = @ooo + '\r\n ' + 'ELAB < -3 ERRORE APPLICATIVO non assegnati' + set @ooo = @ooo + '\r\n ' + '**********************************************************************' + SELECT @ooo, COUNT(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI where elab in(0,1,2) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Caricamento_TBGEN.sql b/sql/storedTestbes/C6MartPeriodico_Caricamento_TBGEN.sql new file mode 100644 index 00000000..627adc26 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Caricamento_TBGEN.sql @@ -0,0 +1,22 @@ +--[C6martPeriodico].[Caricamento_TBGEN] +CREATE procedure [C6MartPeriodico].[Caricamento_TBGEN] + -- Add the parameters for the stored procedure here +AS +BEGIN +DECLARE @Rete char(1) +DECLARE @CodiceFiscale varchar(16) +DECLARE cursore CURSOR FOR +SELECT --top 100 + rete, + cod_fiscale +FROM c6martperiodico.vcontrattipergenerazionereport +OPEN cursore +FETCH NEXT FROM cursore INTO @Rete,@CodiceFiscale +WHILE @@fetch_status=0 +BEGIN +EXECUTE [C6MartPeriodico].[POPOLA_D2_S157ConfrontoPiramidi_SVIL] @Rete,@CodiceFiscale +--EXECUTE [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] @Rete,@CodiceFiscale +FETCH NEXT FROM cursore INTO @Rete, @CodiceFiscale +END +CLOSE cursore +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CercaCaratteriAnomali.sql b/sql/storedTestbes/C6MartPeriodico_CercaCaratteriAnomali.sql new file mode 100644 index 00000000..22e39f2c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CercaCaratteriAnomali.sql @@ -0,0 +1,356 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[CercaCaratteriAnomali] +AS +BEGIN +declare @num int +set @num = 1 +CREATE TABLE #tab_temp( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL) +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(email,@num,1)), + substring(email,@num,1), + rete, + Cod_Fiscale, + 'EMAIL', + email +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(email,@num,len(email))) not between 64 and 90 +and ascii(substring(email,@num,len(email))) not between 97 and 122 +and ascii(substring(email,@num,len(email))) not between 48 and 57 +and ascii(substring(email,@num,len(email))) <> 32 +and ascii(substring(email,@num,len(email))) <> 40 +and ascii(substring(email,@num,len(email))) <> 41 +and ascii(substring(email,@num,len(email))) <> 43 +and ascii(substring(email,@num,len(email))) <> 44 +and ascii(substring(email,@num,len(email))) <> 45 +and ascii(substring(email,@num,len(email))) <> 46 +and ascii(substring(email,@num,len(email))) <> 95 +and ascii(substring(email,@num,len(email))) <> 39 +and ascii(substring(email,@num,len(email))) <> 47 +and ascii(substring(email,@num,len(email))) <> 63 +set @num = @num + 1 +end +--inizio intervento: 05/02/2015 FCianfa Controllo caratteriAnomali su campi Nome e Cognome della tb c6martperiodico.ANAG_CLIENTI +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Nome+Cognome,@num,1)), + substring(Nome+Cognome,@num,1), + rete, + Cod_Fiscale, + 'Nome+Cognome', + Nome+Cognome +FROM C6MartPeriodico.ANAG_CLIENTI +WHERE + ascii(substring(Nome+Cognome,@num,len(Nome))) not between 64 and 90 +and ascii(substring(Nome+Cognome,@num,len(Nome))) not between 97 and 122 +and ascii(substring(Nome+Cognome,@num,len(Nome))) not between 48 and 57 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 32 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 40 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 41 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 43 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 44 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 45 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 46 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 95 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 39 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 38 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 47 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 63 +set @num = @num + 1 +end +--fine intervento: 05/02/2015 FCianfa Controllo caratteriAnomali su campi Nome e Cognome della tb c6martperiodico.ANAG_CLIENTI +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Indirizzo,@num,1)), + substring(Indirizzo,@num,1), + rete, + Cod_Fiscale, + 'INDIRIZZO', + Indirizzo +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 64 and 90 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 97 and 122 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 48 and 57 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 32 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 40 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 41 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 43 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 44 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 45 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 46 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 95 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 39 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 47 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(CAP,@num,1)), + substring(CAP,@num,1), + rete, + Cod_Fiscale, + 'CAP', + CAP +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(CAP,@num,len(CAP))) not between 64 and 90 +and ascii(substring(CAP,@num,len(CAP))) not between 97 and 122 +and ascii(substring(CAP,@num,len(CAP))) not between 48 and 57 +and ascii(substring(CAP,@num,len(CAP))) <> 32 +and ascii(substring(CAP,@num,len(CAP))) <> 40 +and ascii(substring(CAP,@num,len(CAP))) <> 41 +and ascii(substring(CAP,@num,len(CAP))) <> 43 +and ascii(substring(CAP,@num,len(CAP))) <> 44 +and ascii(substring(CAP,@num,len(CAP))) <> 45 +and ascii(substring(CAP,@num,len(CAP))) <> 46 +and ascii(substring(CAP,@num,len(CAP))) <> 95 +and ascii(substring(CAP,@num,len(CAP))) <> 39 +and ascii(substring(CAP,@num,len(CAP))) <> 47 +and ascii(substring(CAP,@num,len(CAP))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Citta,@num,1)), + substring(Citta,@num,1), + rete, + Cod_Fiscale, + 'Citta', + Citta +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Citta,@num,len(Citta))) not between 64 and 90 +and ascii(substring(Citta,@num,len(Citta))) not between 97 and 122 +and ascii(substring(Citta,@num,len(Citta))) not between 48 and 57 +and ascii(substring(Citta,@num,len(Citta))) <> 32 +and ascii(substring(Citta,@num,len(Citta))) <> 40 +and ascii(substring(Citta,@num,len(Citta))) <> 41 +and ascii(substring(Citta,@num,len(Citta))) <> 43 +and ascii(substring(Citta,@num,len(Citta))) <> 44 +and ascii(substring(Citta,@num,len(Citta))) <> 45 +and ascii(substring(Citta,@num,len(Citta))) <> 46 +and ascii(substring(Citta,@num,len(Citta))) <> 95 +and ascii(substring(Citta,@num,len(Citta))) <> 39 +and ascii(substring(Citta,@num,len(Citta))) <> 47 +and ascii(substring(Citta,@num,len(Citta))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Prov,@num,1)), + substring(Citta,@num,1), + rete, + Cod_Fiscale, + 'Prov', + Prov +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Prov,@num,len(Prov))) not between 64 and 90 +and ascii(substring(Prov,@num,len(Prov))) not between 97 and 122 +and ascii(substring(Prov,@num,len(Prov))) not between 48 and 57 +and ascii(substring(Prov,@num,len(Prov))) <> 32 +and ascii(substring(Prov,@num,len(Prov))) <> 40 +and ascii(substring(Prov,@num,len(Prov))) <> 41 +and ascii(substring(Prov,@num,len(Prov))) <> 43 +and ascii(substring(Prov,@num,len(Prov))) <> 44 +and ascii(substring(Prov,@num,len(Prov))) <> 45 +and ascii(substring(Prov,@num,len(Prov))) <> 46 +and ascii(substring(Prov,@num,len(Prov))) <> 95 +and ascii(substring(Prov,@num,len(Prov))) <> 39 +and ascii(substring(Prov,@num,len(Prov))) <> 47 +and ascii(substring(Prov,@num,len(Prov))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Nazione,@num,1)), + substring(Nazione,@num,1), + rete, + Cod_Fiscale, + 'Nazione', + Nazione +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Nazione,@num,len(Nazione))) not between 64 and 90 +and ascii(substring(Nazione,@num,len(Nazione))) not between 97 and 122 +and ascii(substring(Nazione,@num,len(Nazione))) not between 48 and 57 +and ascii(substring(Nazione,@num,len(Nazione))) <> 32 +and ascii(substring(Nazione,@num,len(Nazione))) <> 40 +and ascii(substring(Nazione,@num,len(Nazione))) <> 41 +and ascii(substring(Nazione,@num,len(Nazione))) <> 43 +and ascii(substring(Nazione,@num,len(Nazione))) <> 44 +and ascii(substring(Nazione,@num,len(Nazione))) <> 45 +and ascii(substring(Nazione,@num,len(Nazione))) <> 46 +and ascii(substring(Nazione,@num,len(Nazione))) <> 95 +and ascii(substring(Nazione,@num,len(Nazione))) <> 39 +and ascii(substring(Nazione,@num,len(Nazione))) <> 47 +and ascii(substring(Nazione,@num,len(Nazione))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Presso,@num,1)), + substring(Presso,@num,1), + rete, + Cod_Fiscale, + 'Presso', + Presso +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Presso,@num,len(Presso))) not between 64 and 90 +and ascii(substring(Presso,@num,len(Presso))) not between 97 and 122 +and ascii(substring(Presso,@num,len(Presso))) not between 48 and 57 +and ascii(substring(Presso,@num,len(Presso))) <> 32 +and ascii(substring(Presso,@num,len(Presso))) <> 40 +and ascii(substring(Presso,@num,len(Presso))) <> 41 +and ascii(substring(Presso,@num,len(Presso))) <> 43 +and ascii(substring(Presso,@num,len(Presso))) <> 44 +and ascii(substring(Presso,@num,len(Presso))) <> 45 +and ascii(substring(Presso,@num,len(Presso))) <> 46 +and ascii(substring(Presso,@num,len(Presso))) <> 95 +and ascii(substring(Presso,@num,len(Presso))) <> 39 +and ascii(substring(Presso,@num,len(Presso))) <> 47 +and ascii(substring(Presso,@num,len(Presso))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Rol,@num,1)), + substring(Rol,@num,1), + rete, + Cod_Fiscale, + 'Rol', + Rol +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Rol,@num,len(Rol))) not between 64 and 90 +and ascii(substring(Rol,@num,len(Rol))) not between 97 and 122 +and ascii(substring(Rol,@num,len(Rol))) not between 48 and 57 +and ascii(substring(Rol,@num,len(Rol))) <> 32 +and ascii(substring(Rol,@num,len(Rol))) <> 40 +and ascii(substring(Rol,@num,len(Rol))) <> 41 +and ascii(substring(Rol,@num,len(Rol))) <> 43 +and ascii(substring(Rol,@num,len(Rol))) <> 44 +and ascii(substring(Rol,@num,len(Rol))) <> 45 +and ascii(substring(Rol,@num,len(Rol))) <> 46 +and ascii(substring(Rol,@num,len(Rol))) <> 95 +and ascii(substring(Rol,@num,len(Rol))) <> 39 +and ascii(substring(Rol,@num,len(Rol))) <> 47 +and ascii(substring(Rol,@num,len(Rol))) <> 63 +set @num = @num + 1 +end +select distinct * from #tab_temp +------------------------------------------------------- +--SELECT * FROM C6MartPeriodico.ContrattoSEI +--WHERE +-- Email like '%¿%' +--OR +-- Indirizzo like '%¿%' +--OR +-- CAP like '%¿%' +--OR +-- Citta like '%¿%' +--OR +-- Prov like '%¿%' +--OR +-- Nazione like '%¿%' +--OR +-- Presso like '%¿%' +--OR +-- Rol like '%¿%' +--OR +-- Email like '%Ç%' +--OR +-- Indirizzo like '%Ç%' +--OR +-- CAP like '%Ç%' +--OR +-- Citta like '%Ç%' +--OR +-- Prov like '%Ç%' +--OR +-- Nazione like '%Ç%' +--OR +-- Presso like '%Ç%' +--OR +-- Rol like '%Ç%' +--OR +-- Email like '%À%' +--OR +-- Indirizzo like '%À%' +--OR +-- CAP like '%À%' +--OR +-- Citta like '%À%' +--OR +-- Prov like '%À%' +--OR +-- Nazione like '%À%' +--OR +-- Presso like '%À%' +--OR +-- Rol like '%À%' +--OR +-- Email like '%É%' +--OR +-- Indirizzo like '%É%' +--OR +-- CAP like '%É%' +--OR +-- Citta like '%É%' +--OR +-- Prov like '%É%' +--OR +-- Nazione like '%É%' +--OR +-- Presso like '%É%' +--OR +-- Rol like '%É%' +--OR +-- Email like '%µ%' +--OR +-- Indirizzo like '%µ%' +--OR +-- CAP like '%µ%' +--OR +-- Citta like '%µ%' +--OR +-- Prov like '%µ%' +--OR +-- Nazione like '%µ%' +--OR +-- Presso like '%µ%' +--OR +-- Rol like '%µ%' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CercaCaratteriAnomali_20150205.sql b/sql/storedTestbes/C6MartPeriodico_CercaCaratteriAnomali_20150205.sql new file mode 100644 index 00000000..6296321f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CercaCaratteriAnomali_20150205.sql @@ -0,0 +1,356 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[CercaCaratteriAnomali_20150205] +AS +BEGIN +declare @num int +set @num = 1 +CREATE TABLE #tab_temp( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL) +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(email,@num,1)), + substring(email,@num,1), + rete, + Cod_Fiscale, + 'EMAIL', + email +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(email,@num,len(email))) not between 64 and 90 +and ascii(substring(email,@num,len(email))) not between 97 and 122 +and ascii(substring(email,@num,len(email))) not between 48 and 57 +and ascii(substring(email,@num,len(email))) <> 32 +and ascii(substring(email,@num,len(email))) <> 40 +and ascii(substring(email,@num,len(email))) <> 41 +and ascii(substring(email,@num,len(email))) <> 43 +and ascii(substring(email,@num,len(email))) <> 44 +and ascii(substring(email,@num,len(email))) <> 45 +and ascii(substring(email,@num,len(email))) <> 46 +and ascii(substring(email,@num,len(email))) <> 95 +and ascii(substring(email,@num,len(email))) <> 39 +and ascii(substring(email,@num,len(email))) <> 47 +and ascii(substring(email,@num,len(email))) <> 63 +set @num = @num + 1 +end +--inizio intervento: 05/02/2015 FCianfa Controllo caratteriAnomali su campi Nome e Cognome della tb c6martperiodico.ANAG_CLIENTI +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Nome+Cognome,@num,1)), + substring(Nome+Cognome,@num,1), + rete, + Cod_Fiscale, + 'Nome+Cognome', + Nome+Cognome +FROM C6MartPeriodico.ANAG_CLIENTI +WHERE + ascii(substring(Nome+Cognome,@num,len(Nome))) not between 64 and 90 +and ascii(substring(Nome+Cognome,@num,len(Nome))) not between 97 and 122 +and ascii(substring(Nome+Cognome,@num,len(Nome))) not between 48 and 57 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 32 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 40 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 41 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 43 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 44 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 45 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 46 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 95 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 39 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 38 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 47 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 63 +set @num = @num + 1 +end +--fine intervento: 05/02/2015 FCianfa Controllo caratteriAnomali su campi Nome e Cognome della tb c6martperiodico.ANAG_CLIENTI +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Indirizzo,@num,1)), + substring(Indirizzo,@num,1), + rete, + Cod_Fiscale, + 'INDIRIZZO', + Indirizzo +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 64 and 90 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 97 and 122 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 48 and 57 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 32 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 40 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 41 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 43 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 44 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 45 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 46 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 95 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 39 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 47 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(CAP,@num,1)), + substring(CAP,@num,1), + rete, + Cod_Fiscale, + 'CAP', + CAP +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(CAP,@num,len(CAP))) not between 64 and 90 +and ascii(substring(CAP,@num,len(CAP))) not between 97 and 122 +and ascii(substring(CAP,@num,len(CAP))) not between 48 and 57 +and ascii(substring(CAP,@num,len(CAP))) <> 32 +and ascii(substring(CAP,@num,len(CAP))) <> 40 +and ascii(substring(CAP,@num,len(CAP))) <> 41 +and ascii(substring(CAP,@num,len(CAP))) <> 43 +and ascii(substring(CAP,@num,len(CAP))) <> 44 +and ascii(substring(CAP,@num,len(CAP))) <> 45 +and ascii(substring(CAP,@num,len(CAP))) <> 46 +and ascii(substring(CAP,@num,len(CAP))) <> 95 +and ascii(substring(CAP,@num,len(CAP))) <> 39 +and ascii(substring(CAP,@num,len(CAP))) <> 47 +and ascii(substring(CAP,@num,len(CAP))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Citta,@num,1)), + substring(Citta,@num,1), + rete, + Cod_Fiscale, + 'Citta', + Citta +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Citta,@num,len(Citta))) not between 64 and 90 +and ascii(substring(Citta,@num,len(Citta))) not between 97 and 122 +and ascii(substring(Citta,@num,len(Citta))) not between 48 and 57 +and ascii(substring(Citta,@num,len(Citta))) <> 32 +and ascii(substring(Citta,@num,len(Citta))) <> 40 +and ascii(substring(Citta,@num,len(Citta))) <> 41 +and ascii(substring(Citta,@num,len(Citta))) <> 43 +and ascii(substring(Citta,@num,len(Citta))) <> 44 +and ascii(substring(Citta,@num,len(Citta))) <> 45 +and ascii(substring(Citta,@num,len(Citta))) <> 46 +and ascii(substring(Citta,@num,len(Citta))) <> 95 +and ascii(substring(Citta,@num,len(Citta))) <> 39 +and ascii(substring(Citta,@num,len(Citta))) <> 47 +and ascii(substring(Citta,@num,len(Citta))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Prov,@num,1)), + substring(Citta,@num,1), + rete, + Cod_Fiscale, + 'Prov', + Prov +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Prov,@num,len(Prov))) not between 64 and 90 +and ascii(substring(Prov,@num,len(Prov))) not between 97 and 122 +and ascii(substring(Prov,@num,len(Prov))) not between 48 and 57 +and ascii(substring(Prov,@num,len(Prov))) <> 32 +and ascii(substring(Prov,@num,len(Prov))) <> 40 +and ascii(substring(Prov,@num,len(Prov))) <> 41 +and ascii(substring(Prov,@num,len(Prov))) <> 43 +and ascii(substring(Prov,@num,len(Prov))) <> 44 +and ascii(substring(Prov,@num,len(Prov))) <> 45 +and ascii(substring(Prov,@num,len(Prov))) <> 46 +and ascii(substring(Prov,@num,len(Prov))) <> 95 +and ascii(substring(Prov,@num,len(Prov))) <> 39 +and ascii(substring(Prov,@num,len(Prov))) <> 47 +and ascii(substring(Prov,@num,len(Prov))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Nazione,@num,1)), + substring(Nazione,@num,1), + rete, + Cod_Fiscale, + 'Nazione', + Nazione +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Nazione,@num,len(Nazione))) not between 64 and 90 +and ascii(substring(Nazione,@num,len(Nazione))) not between 97 and 122 +and ascii(substring(Nazione,@num,len(Nazione))) not between 48 and 57 +and ascii(substring(Nazione,@num,len(Nazione))) <> 32 +and ascii(substring(Nazione,@num,len(Nazione))) <> 40 +and ascii(substring(Nazione,@num,len(Nazione))) <> 41 +and ascii(substring(Nazione,@num,len(Nazione))) <> 43 +and ascii(substring(Nazione,@num,len(Nazione))) <> 44 +and ascii(substring(Nazione,@num,len(Nazione))) <> 45 +and ascii(substring(Nazione,@num,len(Nazione))) <> 46 +and ascii(substring(Nazione,@num,len(Nazione))) <> 95 +and ascii(substring(Nazione,@num,len(Nazione))) <> 39 +and ascii(substring(Nazione,@num,len(Nazione))) <> 47 +and ascii(substring(Nazione,@num,len(Nazione))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Presso,@num,1)), + substring(Presso,@num,1), + rete, + Cod_Fiscale, + 'Presso', + Presso +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Presso,@num,len(Presso))) not between 64 and 90 +and ascii(substring(Presso,@num,len(Presso))) not between 97 and 122 +and ascii(substring(Presso,@num,len(Presso))) not between 48 and 57 +and ascii(substring(Presso,@num,len(Presso))) <> 32 +and ascii(substring(Presso,@num,len(Presso))) <> 40 +and ascii(substring(Presso,@num,len(Presso))) <> 41 +and ascii(substring(Presso,@num,len(Presso))) <> 43 +and ascii(substring(Presso,@num,len(Presso))) <> 44 +and ascii(substring(Presso,@num,len(Presso))) <> 45 +and ascii(substring(Presso,@num,len(Presso))) <> 46 +and ascii(substring(Presso,@num,len(Presso))) <> 95 +and ascii(substring(Presso,@num,len(Presso))) <> 39 +and ascii(substring(Presso,@num,len(Presso))) <> 47 +and ascii(substring(Presso,@num,len(Presso))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Rol,@num,1)), + substring(Rol,@num,1), + rete, + Cod_Fiscale, + 'Rol', + Rol +FROM C6MartPeriodico.ContrattoSEI +WHERE + ascii(substring(Rol,@num,len(Rol))) not between 64 and 90 +and ascii(substring(Rol,@num,len(Rol))) not between 97 and 122 +and ascii(substring(Rol,@num,len(Rol))) not between 48 and 57 +and ascii(substring(Rol,@num,len(Rol))) <> 32 +and ascii(substring(Rol,@num,len(Rol))) <> 40 +and ascii(substring(Rol,@num,len(Rol))) <> 41 +and ascii(substring(Rol,@num,len(Rol))) <> 43 +and ascii(substring(Rol,@num,len(Rol))) <> 44 +and ascii(substring(Rol,@num,len(Rol))) <> 45 +and ascii(substring(Rol,@num,len(Rol))) <> 46 +and ascii(substring(Rol,@num,len(Rol))) <> 95 +and ascii(substring(Rol,@num,len(Rol))) <> 39 +and ascii(substring(Rol,@num,len(Rol))) <> 47 +and ascii(substring(Rol,@num,len(Rol))) <> 63 +set @num = @num + 1 +end +select distinct * from #tab_temp +------------------------------------------------------- +--SELECT * FROM C6MartPeriodico.ContrattoSEI +--WHERE +-- Email like '%¿%' +--OR +-- Indirizzo like '%¿%' +--OR +-- CAP like '%¿%' +--OR +-- Citta like '%¿%' +--OR +-- Prov like '%¿%' +--OR +-- Nazione like '%¿%' +--OR +-- Presso like '%¿%' +--OR +-- Rol like '%¿%' +--OR +-- Email like '%Ç%' +--OR +-- Indirizzo like '%Ç%' +--OR +-- CAP like '%Ç%' +--OR +-- Citta like '%Ç%' +--OR +-- Prov like '%Ç%' +--OR +-- Nazione like '%Ç%' +--OR +-- Presso like '%Ç%' +--OR +-- Rol like '%Ç%' +--OR +-- Email like '%À%' +--OR +-- Indirizzo like '%À%' +--OR +-- CAP like '%À%' +--OR +-- Citta like '%À%' +--OR +-- Prov like '%À%' +--OR +-- Nazione like '%À%' +--OR +-- Presso like '%À%' +--OR +-- Rol like '%À%' +--OR +-- Email like '%É%' +--OR +-- Indirizzo like '%É%' +--OR +-- CAP like '%É%' +--OR +-- Citta like '%É%' +--OR +-- Prov like '%É%' +--OR +-- Nazione like '%É%' +--OR +-- Presso like '%É%' +--OR +-- Rol like '%É%' +--OR +-- Email like '%µ%' +--OR +-- Indirizzo like '%µ%' +--OR +-- CAP like '%µ%' +--OR +-- Citta like '%µ%' +--OR +-- Prov like '%µ%' +--OR +-- Nazione like '%µ%' +--OR +-- Presso like '%µ%' +--OR +-- Rol like '%µ%' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_CheckQuadraturaRfa0Mifid.sql b/sql/storedTestbes/C6MartPeriodico_CheckQuadraturaRfa0Mifid.sql new file mode 100644 index 00000000..759e40a4 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_CheckQuadraturaRfa0Mifid.sql @@ -0,0 +1,47 @@ +-- Stored procedure +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 10/01/2014 +-- Description: Controllo Quadratura Rfa0-Mifid +-- ============================================= +CREATE procedure [C6MartPeriodico].[CheckQuadraturaRfa0Mifid] +AS +BEGIN + truncate TABLE dbo.CheckQuadraturaProfiloRfaMifid +insert into dbo.CheckQuadraturaProfiloRfaMifid + Select a.* + from ( +select rete as Rete,cod_fiscale as Codice_Fiscale,'MIFID-Manca su lista Fideuram' as Tipo_Controllo,getdate() as Data_Operazione +from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO +except +select rete as Rete,codfis as Codice_Fiscale,'MIFID-Manca su lista Fideuram' as Tipo_Controllo ,getdate() as Data_Operazione +from dbo.CheckMifidScirocco +) as a +insert into dbo.CheckQuadraturaProfiloRfaMifid + Select a.* + from ( +select rete as Rete,codfis as Codice_Fiscale,'MIFID-Manca su lista HP' as Tipo_Controllo,getdate() as Data_Operazione +from dbo.CheckMifidScirocco +except +select rete as Rete,cod_fiscale as Codice_Fiscale,'MIFID-Manca su lista HP' as Tipo_Controllo ,getdate() as Data_Operazione +from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO +) as a +insert into dbo.CheckQuadraturaProfiloRfaMifid +Select a.* + from ( +select rete as Rete,cod_fiscale as Codice_Fiscale,'RFA0-Manca su lista Fideuram' as Tipo_Controllo,getdate() as Data_Operazione +from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO +except +select rete as Rete,codfis as Codice_Fiscale,'RFA0-Manca su lista Fideuram' as Tipo_Controllo ,getdate() as Data_Operazione +from dbo.CheckRfaScirocco +) as a +insert into dbo.CheckQuadraturaProfiloRfaMifid +Select a.* + from ( +select rete as Rete,codfis as Codice_Fiscale,'RFA0-Manca su lista HP' as Tipo_Controllo,getdate() as Data_Operazione +from dbo.CheckRfaScirocco +except +select rete as Rete,cod_fiscale as Codice_Fiscale,'RFA0-Manca su lista HP' as Tipo_Controllo ,getdate() as Data_Operazione +from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO +) as a +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Controlla_Stato_Stampa_Cruscotto.sql b/sql/storedTestbes/C6MartPeriodico_Controlla_Stato_Stampa_Cruscotto.sql new file mode 100644 index 00000000..b9b3f9d6 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Controlla_Stato_Stampa_Cruscotto.sql @@ -0,0 +1,39 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[Controlla_Stato_Stampa_Cruscotto] +AS +BEGIN +truncate table [C6MartPeriodico].[TB_Controlla_Stato_Stampa_Cruscotto] +declare @conteggio_prima int +declare @conteggio_dopo int +insert into [C6MartPeriodico].[TB_Controlla_Stato_Stampa_Cruscotto] +select convert(varchar, getdate(), 121) as data_prima,count(*) as conteggio_prima,0 as data_dopo,0 as conteggio_dopo + from c6martperiodico.controllo_trimestrale + where stato_report=4 + group by stato_report + having count(*)> 0 + WAITFOR DELAY '03:00:00' +update [C6MartPeriodico].[TB_Controlla_Stato_Stampa_Cruscotto] +set conteggio_dopo=(select count(*) as conteggio_dopo + from c6martperiodico.controllo_trimestrale + where stato_report=4 + group by stato_report + having count(*)> 0), + data_dopo=convert(varchar, getdate(), 121) + --select * from [C6MartPeriodico].[TB_Controlla_Stato_Stampa_Cruscotto] + select @conteggio_prima = conteggio_prima from [C6MartPeriodico].[TB_Controlla_Stato_Stampa_Cruscotto] + select @conteggio_dopo = conteggio_dopo from [C6MartPeriodico].[TB_Controlla_Stato_Stampa_Cruscotto] + if(@conteggio_prima=@conteggio_dopo) + begin + print('OK') + end + else + begin + insert into [C6MartPeriodico].[TB_ST_Controlla_Stato_Stampa_Cruscotto] + select * from [C6MartPeriodico].[TB_Controlla_Stato_Stampa_Cruscotto] + exec [C6MartPeriodico].[Controlla_Stato_Stampa_Cruscotto] + end +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ALL_PATRIMONIO.sql b/sql/storedTestbes/C6MartPeriodico_DM_ALL_PATRIMONIO.sql new file mode 100644 index 00000000..56e4419b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ALL_PATRIMONIO.sql @@ -0,0 +1,326 @@ +-- ============================================= +-- AUTHOR: ALESSANDRO TRINGALI +-- CREATE DATE: 18 SETTEMBRE 2009 +-- DESCRIPTION: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ALL_PATRIMONIO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MARTPERIODICO].GETIDELAB() + -- LOG ESECUZIONE + INSERT INTO LOG_ESECUZIONE + (NOME, INIZIO, NOTA) + VALUES ( + 'DM_ALL_PATRIMONIO', + GETDATE(), + 'ELABORAZIONE TRIMESTRALE' + ) + TRUNCATE TABLE [C6MartPeriodico].[ALL_PATRIMONIO] + INSERT INTO [C6MARTPERIODICO].[ALL_PATRIMONIO] + ( + [CODICE_FISCALE] + ,[RETE] + ,[POSITIONID] + ,[CATALOGUENAME] + ,[CATALOGUEID] + ,[COD_ADEGUATEZZA] + ,[INTERMEDIARIO] + ,[PATRIMONIO_INTERMEDIARIO] + ,[EMITTENTE] + ,[PATRIMONIO_EMITTENTE] + ,[COMPLESSITA] + ,[TIPO_PRODOTTO] + ,[CONTROVALORE_PRODOTTO] + ,[AZ_OB] + ,[PATRIMONIO_AZ_OB_EMIT] + ,[PATRIM_AZ_OB_EMIT_INTER] + ,[PATRIMONIO_COMPLESSIVO] + ,[CHIAVE_THR] + ) +SELECT + CODICE_FISCALE, + RETE, + POSITIONID, + DATI.CATALOGUENAME, + CAT.CATALOGUEID, + CASE + WHEN ADEGUATEZZA IS NULL + THEN CAT.COD_ADEGUATEZZA + ELSE ADEGUATEZZA + END AS COD_ADEGUATEZZA, + INTERMEDIARIO, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,INTERMEDIARIO) AS PATRIMONIO_INTERMEDIARIO, + EMIT.DESCR AS EMITTENTE, + CASE + WHEN EMIT.DESCR IS NULL THEN NULL + ELSE SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,EMIT.DESCR) + END AS PATRIMONIO_EMITTENTE, + CAT.COMPLEX AS COMPLESSITA, + CAT.TIPOPRODOTTO, + CONTROVALORE AS CONTROVALORE_PRODOTTO, + CASE WHEN CAT.STRTYPE IS NULL + THEN AZ_OB + ELSE CAT.STRTYPE + END AS AZ_OB, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,CASE WHEN CAT.STRTYPE IS NULL THEN AZ_OB ELSE CAT.STRTYPE END,EMIT.DESCR) AS PATRIMONIO_AZ_OB_EMIT, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,INTERMEDIARIO,CASE WHEN CAT.STRTYPE IS NULL THEN AZ_OB ELSE CAT.STRTYPE END,EMIT.DESCR, POSITIONID) AS PATRIM_AZ_OB_EMIT_INTER, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE) AS PATRIMONIO_COMPLESSIVO, + CHIAVE_THR + FROM ( + SELECT NULL AS AGENTE, + C.RETE, + C.CODICE_FISCALE, + C.CATALOGUENAME, + C.CONTROVALORE, + 'BF' AS INTERMEDIARIO, + SUBSTRING(C.STRINGONA_POS, 1, 57) AS CATALOGUEID, + C.STRINGONA_POS AS POSITIONID, + NULL AS ADEGUATEZZA, + 'BF' AS PROVENIENZA, + NULL AZ_OB, + '' AS CHIAVE_THR + FROM C6STAGINGPERIODICO.ALL_CONSUL_ASUL C + union all + SELECT agente, + substring(agente,1,1) as rete, + codicefiscale as codice_FISCALE, + nome_prodotto as cataloguename, + SUM(controvalore) AS controvalore, + intermediario, + case when codiceisin = '' then '############' else codiceisin + replicate(' ', 12-len(codiceisin)) end + + + case when codicemaf = '' then '###############' else codicemaf + replicate(' ', 15-len(codicemaf)) end + + + case when codiceinterno = '' then '###############' else codiceinterno + replicate(' ', 15-len(codiceinterno)) end + + + case when codicesottoprodotto = '' then '###############' else codicesottoprodotto + replicate(' ', 15-len(codicesottoprodotto)) end + as catalogueid, + null as positionid, + codiceadeguatezza as ADEGUATEZZA , + 'PPT' as provenienza, + --alberatura, + case + when substring( alberatura,1,13)='Amm.Titoli.Ob' + OR substring( alberatura,1,15)='Amm.Strutturati' + then 'OB' + when substring( alberatura,1,17)='Amm.Titoli.Azioni' + OR substring( alberatura,1,18)='Amm.Titoli.Diritti' + OR substring( alberatura,1,20)='Amm.Derivati.Warrant' + OR substring( alberatura,1,19)='Amm.Derivati.CovWar' + then 'AZ' + else null + end as az_ob, + CHIAVE_THR + FROM (SELECT cf_e_pb.agente AS agente, + cf_e_pb.codice_fiscale AS codicefiscale, + nome_istituto AS intermediario, + SUM(paTRIMonio) AS controvalore, + REPLACE(codice_isin, '$', '') AS codiceisin, + REPLACE(codice_adeguatezza, '$', '') AS codiceadeguatezza, + REPLACE(codice_maf, '$', '') AS codicemaf, + REPLACE(codice_interno, '$', '') AS codiceinterno, + REPLACE(codice_sottoprodotto, + '$', + '' ) AS codicesottoprodotto, + CASE + WHEN traduz_alberat.albero_gerarchia_3 = + 'Conti correnti' AND + tipo_prodotto = + 'Assets.FinancialAssets.CurrentAccount' THEN + 'Cc' + ELSE + 'xxx' + END AS need_si_o_no_cc, + provenienza, + CASE + WHEN provenienza = 'dati NON in catalogo' THEN + 1 + ELSE + 0 + END AS prodotti_non_in_catalogo, + tipo_prodotto, + nome_prodotto, + alberatura, + CHIAVE_THR + FROM ( + -- asset per dati NON in catalogo + SELECT aa.paTRIMonio, + aa.chiave_cliente, + aa.nome_istituto, + bb.codice_isin, + bb.codice_adeguatezza, + bb.codice_maf, + NULL AS codice_interno, + NULL AS codice_sottoprodotto, + aa.alberatura, + aa.provenienza, + tipo_prodotto, + nomeprodotto AS nome_prodotto, + CHIAVE_THR + FROM (SELECT patr_tp.paTRIMonio_terzi * + acb.bdpercentage AS paTRIMonio, + patr_tp.chiave_per_cliente AS chiave_cliente, + patr_tp.intermediario AS nome_istituto, + ass.assetclassid, + substring(patr_tp.descrizione_alberatura, + 1, + 45) AS alberatura, + 'dati NON in catalogo' AS provenienza, + patr_tp.descrizione_prodotto AS tipo_prodotto, + patr_tp.nomeprodotto, + CHIAVE_THR + FROM c6stagingperiodico.All_patr_terzi_senza_asset patr_tp, + c6stagingperiodico.acbdenoth acb, + c6stagingperiodico.assetclass ass + WHERE ass.assetclasslev = 2 + AND patr_tp.prodotto_in_catalogo IS NULL + AND patr_tp.chiave_fnc IS NOT NULL + AND acb.f_pfinancial_815c0 = patr_tp.chiave_fnc + AND acb.f_oid$_passe_cdf1a = ass.oid$ + ) aa, + c6stagingperiodico.all_asset_class_per_promet bb + WHERE bb.codice_asset_class_ingresso = aa.assetclassid + UNION ALL + -- asset per dati in catalogo che hanno cod_adeguatezza valorizzato + SELECT patr_tp.paTRIMonio_terzi AS paTRIMonio, + patr_tp.chiave_per_cliente AS chiave_cliente, + patr_tp.intermediario AS nome_istituto, + cat.cod_isin, + cat.cod_adeguatezza, + cat.cod_maf, + cat.cod_interno, + cat.cod_sottoprodotto, + substring(cat.type$_bcatal_fc317, 64, 45) AS alberatura, + 'dati in catalogo che hanno cod_adeguatezza valorizzato' AS provenienza, + patr_tp.descrizione_prodotto AS tipo_prodotto, + patr_tp.nomeprodotto, + CHIAVE_THR + FROM c6stagingperiodico.all_patr_terzi_senza_asset patr_tp, + c6stagingperiodico.catitemref cat + WHERE patr_tp.chiave_fnc IS NOT NULL + AND cat.cod_adeguatezza != '$' + AND patr_tp.prodotto_in_catalogo = cat.catalogueid + UNION ALL + SELECT a.paTRIMonio, + a.chiave_cliente, + a.nome_istituto, + b.codice_isin, + b.codice_adeguatezza, + b.codice_maf, + NULL AS codice_interno, + NULL AS codice_sottoprodotto, + a.alberatura, + a.provenienza, + tipo_prodotto, + nomeprodotto AS nome_prodotto, + CHIAVE_THR + FROM ( + -- ASSET ESISTENTI PER DATI DEL CATALOGO CON ADEGUATEZZA A NULL + SELECT PATR_TP.PATRIMONIO_TERZI * + ACB.BDPERCENTAGE AS PATRIMONIO, + PATR_TP.CHIAVE_PER_CLIENTE AS CHIAVE_CLIENTE, + PATR_TP.INTERMEDIARIO AS NOME_ISTITUTO, + LTRIM(ASS.ASSETCLASSID) AS ASSETCLASSID, + ASS.ASSETCLASSLEV, + SUBSTRING(CAT.TYPE$_BCATAL_FC317, 64, 45) AS ALBERATURA, + 'DATI IN CATALOGO CHE HANNO COD_ADEGUATEZZA A NULL E ASSET VALORIZZATO' AS PROVENIENZA, + PATR_TP.DESCRIZIONE_PRODOTTO AS TIPO_PRODOTTO, + PATR_TP.NOMEPRODOTTO, + patr_tp.CHIAVE_THR + FROM C6STAGINGPERIODICO.ASSETCLASS ASS, + C6STAGINGPERIODICO.ALL_PATR_TERZI_SENZA_ASSET PATR_TP, + C6STAGINGPERIODICO.CATITEMREF CAT, + C6STAGINGPERIODICO.INSTRBDS INS, + C6STAGINGPERIODICO.ACBDENTRY ACB + WHERE CAT.COD_ADEGUATEZZA = '$' + AND ASS.ASSETCLASSLEV = 2 + AND PATR_TP.PRODOTTO_IN_CATALOGO = CAT.CATALOGUEID + AND PATR_TP.CHIAVE_FNC IS NOT NULL + AND CAT.OID$ = INS.F_OID$_PCATA_5DDA6 + AND INS.OID$ = ACB.F_PINSTRUMEN_FBCDE + AND ACB.F_OID$_PASSE_B8A1E = ASS.OID$ + UNION ALL + -- ASSET NON ESISTENTI PER DATI DEL CATALOGO CON ADEGUATEZZA A NULL (SETTATI AD ALTRO PER CONVENZIONE) + SELECT PATR_TP.PATRIMONIO_TERZI AS PATRIMONIO, + PATR_TP.CHIAVE_PER_CLIENTE AS CHIAVE_CLIENTE, + PATR_TP.INTERMEDIARIO AS NOME_ISTITUTO, + 'AL1' AS ASSETCLASSID, + 2, + SUBSTRING(CAT.TYPE$_BCATAL_FC317, 64, 45) AS ALBERATURA, + 'DATI IN CATALOGO CHE HANNO COD_ADEGUATEZZA A NULL E ASSET NON VALORIZZATO', + PATR_TP.DESCRIZIONE_PRODOTTO AS TIPO_PRODOTTO, + PATR_TP.NOMEPRODOTTO, + patr_tp.CHIAVE_THR + FROM C6STAGINGPERIODICO.ALL_PATR_TERZI_SENZA_ASSET PATR_TP, + C6STAGINGPERIODICO.CATITEMREF CAT, + C6STAGINGPERIODICO.INSTRBDS INS + WHERE CAT.COD_ADEGUATEZZA = '$' + AND PATR_TP.CHIAVE_FNC IS NOT NULL + AND PATR_TP.PRODOTTO_IN_CATALOGO = CAT.CATALOGUEID + AND CAT.OID$ = INS.F_OID$_PCATA_5DDA6 --(+) + AND INS.F_OID$_PCATA_5DDA6 IS NULL + ) A, + C6STAGINGPERIODICO.ALL_ASSET_CLASS_PER_PROMET B + WHERE B.CODICE_ASSET_CLASS_INGRESSO = A.ASSETCLASSID + ) patrimonio_PT, + C6STAGINGPERIODICO.ALL_CF_PB CF_E_PB, + C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3 TRADUZ_ALBERAT + WHERE CF_E_PB.OID = patrimonio_PT.CHIAVE_CLIENTE + AND TRADUZ_ALBERAT.DESCRIZIONE_ORIGINALE = patrimonio_PT.ALBERATURA + GROUP BY CF_E_PB.AGENTE, + CF_E_PB.CODICE_FISCALE, + NOME_ISTITUTO, + REPLACE(codice_isin, '$', ''), + REPLACE(codice_adeguatezza, + '$', + '' + ), + REPLACE(codice_maf, '$', ''), + REPLACE(codice_interno, '$', ''), + REPLACE(codice_sottoprodotto, + '$', + '' + ), + PROVENIENZA, + TRADUZ_ALBERAT.ALBERO_GERARCHIA_3, + TIPO_PRODOTTO, + NOME_PRODOTTO, + ALBERATURA, + CHIAVE_THR) TUTTO_PPT + GROUP BY AGENTE, + CODICEFISCALE, + INTERMEDIARIO, + NOME_PRODOTTO, + CODICEISIN, + CODICEADEGUATEZZA, + CODICEMAF, + CODICEINTERNO, + CODICESOTTOPRODOTTO, + PRODOTTI_NON_IN_CATALOGO, + ALBERATURA, + CHIAVE_THR + ) DATI, + C6STAGINGPERIODICO.CATITEMREF CAT, + C6STAGINGPERIODICO.EMIT + WHERE CAT.CATALOGUEID = DATI.CATALOGUEID + AND CAT.CODEMI = EMIT.CODEMI + -- LOG ESECUZIONE + UPDATE + LOG_ESECUZIONE + SET + FINE = GETDATE(), + TIPO = 'INSERT', + RIGHE = @@ROWCOUNT + WHERE + NOME = 'DM_ALL_PATRIMONIO' AND + INIZIO = ( + SELECT + MAX(INIZIO) + FROM + LOG_ESECUZIONE + WHERE + NOME = 'DM_ALL_PATRIMONIO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CC.sql b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CC.sql new file mode 100644 index 00000000..9a3cc4e4 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CC.sql @@ -0,0 +1,82 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CC] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CC', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[ANAG_CC] + INSERT INTO [C6MartPeriodico].[ANAG_CC] + ([RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDOCONTABILE] + ,[SALDODISPONIBILE] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + CONTR_SINTESI.RETE AS RETE, + CONTR_SINTESI.CODFIS AS COD_FISCALE, + 'FIDEURAM' AS INTERMEDIARIO, + NULL AS COINTEST, + CONTR_SINTESI.CONTO AS COD_CC, + '' AS FASCIA_CPP, + CONTR_SINTESI.CTV AS SALDOCONTABILE, + CONTR_SINTESI.SALRISC AS SALDODISPONIBILE, + --CONTR_SINTESI.DATADISOTTOSCRIZIONE AS DATA_APERTURA, + CAST(CAST(CONTR_SINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME) AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI AS CONTR_SINTESI + WHERE + CONTR_SINTESI.TIPPROD = 'Cc' + -- FerAcu 20240116 risolvere duplicazioni + and not (CODFIS = 'NFRDNL84L30D612S' and CONTO = '00166487247' and RETE = 'F' and CODINT = 'VP') + and not (CODFIS = 'CRLNTN57R17G273H' and CONTO = '00167278823' and RETE = 'F' and CODINT = '91') + and not (CODFIS = 'CNOGRG38D23A271O' and CONTO = '00166129502' and RETE = 'F' and CODINT = '91') + and not (CODFIS = 'NDRGNN42L59D704K' and CONTO = '00166139788' and RETE = 'F' and CODINT = '91') + and not (CODFIS = 'FRRGRL57M24B885X' and CONTO = '00166050608' and RETE = 'F' and CODINT = '91') + and not (CODFIS = 'LNRFRC79R18F401E' and CONTO = '00167389552' and RETE = 'F' and CODINT = '91') + and not (CODFIS = 'VIEPRZ64D63D612I' and CONTO = '00166403317' and RETE = 'F' and CODINT = '91') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_ANAG_CC' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CC_TERZI.sql b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CC_TERZI.sql new file mode 100644 index 00000000..b977e91a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CC_TERZI.sql @@ -0,0 +1,71 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CC_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CC_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CC_TERZI + INSERT INTO [C6MartPeriodico].[ANAG_CC_TERZI] + ([RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDO] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB]) + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + NULL AS COINTEST, + ALL_PATR_TERZI.NOMEPRODOTTO AS COD_CC, + CONTRATTOSEI.FASCIA_CPP AS FASCIA_CPP, + ALL_PATR_TERZI.PATRIMONIO_TERZI AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + LEFT JOIN + C6Mart.CONTRATTOSEI + ON + CONTRATTOSEI.COD_FISCALE = ALL_PATR_TERZI.CODICE_FISCALE + AND CONTRATTOSEI.RETE = ALL_PATR_TERZI.RETE_PB + WHERE + ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_FNC + AND DESCRIZIONE_PRODOTTO LIKE '%CURRENTACCOUNT%' + AND DESCRIZIONE_ALBERATURA LIKE '%CONTICORRENTI%' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CC_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CC_TERZI_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CC_TERZI_pre_selective.sql new file mode 100644 index 00000000..61871451 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CC_TERZI_pre_selective.sql @@ -0,0 +1,71 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CC_TERZI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CC_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CC_TERZI + INSERT INTO [C6MartPeriodico].[ANAG_CC_TERZI] + ([RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDO] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB]) + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + NULL AS COINTEST, + ALL_PATR_TERZI.NOMEPRODOTTO AS COD_CC, + CONTRATTOSEI.FASCIA_CPP AS FASCIA_CPP, + ALL_PATR_TERZI.PATRIMONIO_TERZI AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + LEFT JOIN + C6Mart.CONTRATTOSEI + ON + CONTRATTOSEI.COD_FISCALE = ALL_PATR_TERZI.CODICE_FISCALE + AND CONTRATTOSEI.RETE = ALL_PATR_TERZI.RETE_PB + WHERE + ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_FNC + AND DESCRIZIONE_PRODOTTO LIKE '%CURRENTACCOUNT%' + AND DESCRIZIONE_ALBERATURA LIKE '%CONTICORRENTI%' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CC_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CC_TERZI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CC_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CC_pre_selective.sql new file mode 100644 index 00000000..0667fe07 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CC_pre_selective.sql @@ -0,0 +1,74 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CC_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CC_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[ANAG_CC] + INSERT INTO [C6MartPeriodico].[ANAG_CC] + ([RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDOCONTABILE] + ,[SALDODISPONIBILE] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + CONTR_SINTESI.RETE AS RETE, + CONTR_SINTESI.CODFIS AS COD_FISCALE, + 'FIDEURAM' AS INTERMEDIARIO, + NULL AS COINTEST, + CONTR_SINTESI.CONTO AS COD_CC, + '' AS FASCIA_CPP, + CONTR_SINTESI.CTV AS SALDOCONTABILE, + CONTR_SINTESI.SALRISC AS SALDODISPONIBILE, + --CONTR_SINTESI.DATADISOTTOSCRIZIONE AS DATA_APERTURA, + CAST(CAST(CONTR_SINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME) AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI AS CONTR_SINTESI + WHERE + CONTR_SINTESI.TIPPROD = 'Cc' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CC_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CC_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CLIENTI.sql b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CLIENTI.sql new file mode 100644 index 00000000..5f724a25 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CLIENTI.sql @@ -0,0 +1,221 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CLIENTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE_PB AS RETE, + AL.CODICEFISCALE AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOME)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOME)) AS COGNOME, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libero' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libera' + ELSE NULL + END AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + NULL AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.CODICE_PB AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN2 CL + ON CL.RETE = AL.RETE_PB + AND ( ltrim(rtrim(CL.CODFIS)) = AL.CODICEFISCALE) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 + ) and Al.codicefiscale not like '%@%' + union + SELECT + AL.RETE_PB AS RETE, + AL.CODICEFISCALE AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOME)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOME)) AS COGNOME, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libero' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libera' + ELSE NULL + END AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + NULL AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.CODICE_PB AS ID_PROMOTORE , + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN2 CL + ON CL.RETE = AL.RETE_PB + AND ( CL.CODMAN = substring(AL.CODICEFISCALE,4,4)) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 + ) and Al.codicefiscale like '%@%' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CLIENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CLIENTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql new file mode 100644 index 00000000..a5469e76 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql @@ -0,0 +1,143 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE_PB AS RETE, + AL.CODICEFISCALE AS COD_FISCALE, + AL.NOME AS NOME, + AL.COGNOME AS COGNOME, + AL.DATA_NASCITA AS DATA_NASCITA, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libero' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libera' + ELSE NULL + END AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(AL.DATA_NASCITA) AS ETA, + NULL AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(C6.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(C6.CITTA, '') AS LOCALITA, + ISNULL(C6.PROV, '') AS PROVINCIA, + ISNULL(C6.CAP, '') AS CAP, + ISNULL(C6.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + NULL AS SESSO, + AL.CODICE_PB AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB AL + LEFT JOIN + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, INDIRIZZO, CITTA, PROV, CAP, NAZIONE, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6Mart.CONTRATTOSEI) C6 + ON AL.RETE_PB = C6.RETE + AND AL.CODICEFISCALE = C6.COD_FISCALE + WHERE + --C6.Data_FINEAvanzato IS NULL + ISNULL(C6.Data_FineAvanzato, CAST('99991231' AS datetime)) > cast(c6martperiodico.getPreviousTrimestre(getDate(),0) as datetime)--CAST('20100930' AS datetime)) + AND C6.UltimoAperto = 1 +/* +LEFT JOIN C6STAGINGPERIODICO.WSEIAN CL + ON CL.RETE = AL.RETE_PB + AND CL.CODFIS = AL.CODICEFISCALE + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN + ) +*/ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CLIENTI_PREV.sql b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CLIENTI_PREV.sql new file mode 100644 index 00000000..e3c7e3f3 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CLIENTI_PREV.sql @@ -0,0 +1,60 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CLIENTI_PREV] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + TRUNCATE TABLE C6MARTPERIODICO.ANAG_CLIENTI_PREV; + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI_PREV] + ([RETE] + ,[COD_FISCALE] + ,[STATO_LAVORATIVO] + ,[PROFESSIONE] + ,[CAT_PROFESSIONALE] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[RETRIB_LORDA] + ,[PROFESSIONE_SEC] + ,[CAT_PROFESSIONALE_SEC] + ,[DATA_INIZIO_SEC] + ,[DATA_FINE_SEC] + ,[RETRIB_LORDA_SEC] + ,[PROFESSIONE_PREC] + ,[CAT_PROFESSIONALE_PREC] + ,[DATA_INIZIO_PREC] + ,[DATA_FINE_PREC] + ,[RETRIB_LORDA_PREC] + ,[RICONGIUNZIONE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SUBSTRING(ALL_CF_PB.RETE_PB,1,1) AS RETE, + SUBSTRING(ALL_CF_PB.CODICE_FISCALE,1,16) AS COD_FISCALE, + NULL AS STATO_LAVORATIVO, + NULL AS PROFESSIONE, + NULL AS CAT_PROFESSIONALE, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS RETRIB_LORDA, + NULL AS PROFESSIONE_SEC, + NULL AS CAT_PROFESSIONALE_SEC, + NULL AS DATA_INIZIO_SEC, + NULL AS DATA_FINE_SEC, + NULL AS RETRIB_LORDA_SEC, + NULL AS PROFESSIONE_PREC, + NULL AS CAT_PROFESSIONALE_PREC, + NULL AS DATA_INIZIO_PREC, + NULL AS DATA_FINE_PREC, + NULL AS RETRIB_LORDA_PREC, + NULL AS RICONGIUNZIONE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CLIENTI_PREV_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CLIENTI_PREV_pre_selective.sql new file mode 100644 index 00000000..3921bae9 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CLIENTI_PREV_pre_selective.sql @@ -0,0 +1,60 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CLIENTI_PREV_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + TRUNCATE TABLE C6MARTPERIODICO.ANAG_CLIENTI_PREV; + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI_PREV] + ([RETE] + ,[COD_FISCALE] + ,[STATO_LAVORATIVO] + ,[PROFESSIONE] + ,[CAT_PROFESSIONALE] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[RETRIB_LORDA] + ,[PROFESSIONE_SEC] + ,[CAT_PROFESSIONALE_SEC] + ,[DATA_INIZIO_SEC] + ,[DATA_FINE_SEC] + ,[RETRIB_LORDA_SEC] + ,[PROFESSIONE_PREC] + ,[CAT_PROFESSIONALE_PREC] + ,[DATA_INIZIO_PREC] + ,[DATA_FINE_PREC] + ,[RETRIB_LORDA_PREC] + ,[RICONGIUNZIONE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SUBSTRING(ALL_CF_PB.RETE_PB,1,1) AS RETE, + SUBSTRING(ALL_CF_PB.CODICE_FISCALE,1,16) AS COD_FISCALE, + NULL AS STATO_LAVORATIVO, + NULL AS PROFESSIONE, + NULL AS CAT_PROFESSIONALE, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS RETRIB_LORDA, + NULL AS PROFESSIONE_SEC, + NULL AS CAT_PROFESSIONALE_SEC, + NULL AS DATA_INIZIO_SEC, + NULL AS DATA_FINE_SEC, + NULL AS RETRIB_LORDA_SEC, + NULL AS PROFESSIONE_PREC, + NULL AS CAT_PROFESSIONALE_PREC, + NULL AS DATA_INIZIO_PREC, + NULL AS DATA_FINE_PREC, + NULL AS RETRIB_LORDA_PREC, + NULL AS RICONGIUNZIONE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CLIENTI_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CLIENTI_pre_selective.sql new file mode 100644 index 00000000..bfeb712c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_CLIENTI_pre_selective.sql @@ -0,0 +1,221 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_CLIENTI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CLIENTI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE_PB AS RETE, + AL.CODICEFISCALE AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOME)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOME)) AS COGNOME, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libero' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libera' + ELSE NULL + END AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + NULL AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.CODICE_PB AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN2 CL + ON CL.RETE = AL.RETE_PB + AND ( ltrim(rtrim(CL.CODFIS)) = AL.CODICEFISCALE) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 + ) and Al.codicefiscale not like '%@%' + union + SELECT + AL.RETE_PB AS RETE, + AL.CODICEFISCALE AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOME)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOME)) AS COGNOME, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libero' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libera' + ELSE NULL + END AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + NULL AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.CODICE_PB AS ID_PROMOTORE , + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN2 CL + ON CL.RETE = AL.RETE_PB + AND ( CL.CODMAN = substring(AL.CODICEFISCALE,4,4)) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 + ) and Al.codicefiscale like '%@%' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CLIENTI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CLIENTI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI.sql b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI.sql new file mode 100644 index 00000000..c94b852f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI.sql @@ -0,0 +1,102 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PRODOTTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].ANAG_PRODOTTI + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI] + ([COD_PRODOTTO] + ,[COD_ISIN] + ,[PAESE] + ,[ID_AREA] + ,[CAT_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[COD_MAF] + ,[RATING] + ,[COD_ADEGUATEZZA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[DT_SCADENZA] + ,[TIPO_TASSO] + ,[TIPO_EMITTENTE] + ,[FLG_OB] + ) + SELECT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + CATITEMREF.COD_ISIN AS COD_ISIN, + CATITEMREF.COUNTRY AS PAESE, + '' AS ID_AREA, + (SELECT CASE SUBSTRING(CATITEMREF.TYPE$_BCATAL_FC317,64,3) + WHEN 'Ges' THEN 'Gestito Finanziario' + WHEN 'Amm' THEN 'Amministrato' + WHEN 'Ass' THEN 'Assicurativo' + END) AS CAT_PRODOTTO, + CATITEMREF.TIPOPRODOTTO AS TIPO_PRODOTTO, + CATITEMREF.CATALOGUENAME AS DESCR_PRODOTTO, + CATITEMREF.PRODUCTCURRENCY AS DIV_QUOTAZIONE, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + CATITEMREF.PIAZZA AS MERCATO_CONTRATT, + CATITEMREF.COD_MAF AS COD_MAF, + CATITEMREF.RATOBBLIG AS RATING, + CATITEMREF.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + CATITEMREF.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + CATITEMREF.COD_INTERNO AS COD_INTERNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CATITEMREF.expirationdate AS DT_SCADENZA, + CASE + WHEN CATITEMREF.TIP_TASSO = '0 CPN' THEN 'Zero Coupon' + ELSE CATITEMREF.TIP_TASSO + END AS TIPO_TASSO, + CATITEMREF.TIP_EMITTENTE AS TIPO_EMITTENTE, + CASE WHEN TYPE$_BCATAL_FC317 like '%.Titoli.Ob%' THEN 'S' + ELSE 'N' + END AS FLG_OB + FROM C6STAGINGPERIODICO.CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(OID$) AS OID + FROM C6STAGINGPERIODICO.CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.OID$ = DOPPICATITEMREF.OID + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI.sql b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI.sql new file mode 100644 index 00000000..83339d8b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI.sql @@ -0,0 +1,74 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PRODOTTI_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_PRODOTTI_TERZI + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_TERZI] + ([COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[NOME_PRODOTTO] + ,[ALBERO_PRODOTTI] + ,[COD_ISIN] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[INTERMEDIARIO] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[PAESE] + ,[RATING] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO AS COD_PRODOTTO, + ALL_PATR_TERZI.CHIAVE_THR AS COD_PRODOTTO_TERZI, + ALL_PATR_TERZI.NOMEPRODOTTO AS NOME_PRODOTTO, + ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA AS ALBERO_PRODOTTI, + NULL AS COD_ISIN, + ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO AS DESCR_PRODOTTO, + NULL AS DIV_QUOTAZIONE, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + NULL AS PAESE, + NULL AS RATING, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI ALL_PATR_TERZI + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql new file mode 100644 index 00000000..ede51aa1 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql @@ -0,0 +1,74 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PRODOTTI_TERZI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_PRODOTTI_TERZI + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_TERZI] + ([COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[NOME_PRODOTTO] + ,[ALBERO_PRODOTTI] + ,[COD_ISIN] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[INTERMEDIARIO] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[PAESE] + ,[RATING] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO AS COD_PRODOTTO, + ALL_PATR_TERZI.CHIAVE_THR AS COD_PRODOTTO_TERZI, + ALL_PATR_TERZI.NOMEPRODOTTO AS NOME_PRODOTTO, + ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA AS ALBERO_PRODOTTI, + NULL AS COD_ISIN, + ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO AS DESCR_PRODOTTO, + NULL AS DIV_QUOTAZIONE, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + NULL AS PAESE, + NULL AS RATING, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI ALL_PATR_TERZI + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI_TERZI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE.sql b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE.sql new file mode 100644 index 00000000..0a293f17 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE.sql @@ -0,0 +1,56 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PRODOTTI_VALUTE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI_VALUTE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].ANAG_PRODOTTI_VALUTE + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_VALUTE] + SELECT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + VALUTE.DIVISA, + VALUTE.PESO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(OID$) AS OID + FROM C6STAGINGPERIODICO.CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.OID$ = DOPPICATITEMREF.OID + INNER JOIN --SELECT TOP 1 * FROM + [C6StagingPeriodico].[RDR_VALUTE_DB_DTGIORNALIERI] VALUTE + ON VALUTE.CHIAVEPRODOTTO = CATITEMREF.OID$ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI_VALUTE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI_VALUTE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql new file mode 100644 index 00000000..a8c53762 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql @@ -0,0 +1,56 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PRODOTTI_VALUTE_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI_VALUTE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].ANAG_PRODOTTI_VALUTE + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_VALUTE] + SELECT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + VALUTE.DIVISA, + VALUTE.PESO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(OID$) AS OID + FROM C6STAGINGPERIODICO.CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.OID$ = DOPPICATITEMREF.OID + INNER JOIN --SELECT TOP 1 * FROM + [C6StagingPeriodico].[RDR_VALUTE_DB_DTGIORNALIERI] VALUTE + ON VALUTE.CHIAVEPRODOTTO = CATITEMREF.OID$ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI_VALUTE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI_VALUTE_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI_pre_selective.sql new file mode 100644 index 00000000..687fa7c3 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PRODOTTI_pre_selective.sql @@ -0,0 +1,102 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PRODOTTI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].ANAG_PRODOTTI + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI] + ([COD_PRODOTTO] + ,[COD_ISIN] + ,[PAESE] + ,[ID_AREA] + ,[CAT_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[COD_MAF] + ,[RATING] + ,[COD_ADEGUATEZZA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[DT_SCADENZA] + ,[TIPO_TASSO] + ,[TIPO_EMITTENTE] + ,[FLG_OB] + ) + SELECT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + CATITEMREF.COD_ISIN AS COD_ISIN, + CATITEMREF.COUNTRY AS PAESE, + '' AS ID_AREA, + (SELECT CASE SUBSTRING(CATITEMREF.TYPE$_BCATAL_FC317,64,3) + WHEN 'Ges' THEN 'Gestito Finanziario' + WHEN 'Amm' THEN 'Amministrato' + WHEN 'Ass' THEN 'Assicurativo' + END) AS CAT_PRODOTTO, + CATITEMREF.TIPOPRODOTTO AS TIPO_PRODOTTO, + CATITEMREF.CATALOGUENAME AS DESCR_PRODOTTO, + CATITEMREF.PRODUCTCURRENCY AS DIV_QUOTAZIONE, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + CATITEMREF.PIAZZA AS MERCATO_CONTRATT, + CATITEMREF.COD_MAF AS COD_MAF, + CATITEMREF.RATOBBLIG AS RATING, + CATITEMREF.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + CATITEMREF.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + CATITEMREF.COD_INTERNO AS COD_INTERNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CATITEMREF.expirationdate AS DT_SCADENZA, + CASE + WHEN CATITEMREF.TIP_TASSO = '0 CPN' THEN 'Zero Coupon' + ELSE CATITEMREF.TIP_TASSO + END AS TIPO_TASSO, + CATITEMREF.TIP_EMITTENTE AS TIPO_EMITTENTE, + CASE WHEN TYPE$_BCATAL_FC317 like '%.Titoli.Ob%' THEN 'S' + ELSE 'N' + END AS FLG_OB + FROM C6STAGINGPERIODICO.CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(OID$) AS OID + FROM C6STAGINGPERIODICO.CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.OID$ = DOPPICATITEMREF.OID + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PROMOTORI.sql b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PROMOTORI.sql new file mode 100644 index 00000000..4b8ed463 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PROMOTORI.sql @@ -0,0 +1,111 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PROMOTORI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PROMOTORI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_PROMOTORI + INSERT INTO C6MartPeriodico.[ANAG_PROMOTORI] + ([RETE] + ,[ID_PROMOTORE] + ,[LIVELLO] + ,[COD_FISCALE] + ,[PARTITA_IVA] + ,[COGNOME] + ,[NOME] + ,[RAG_SOC] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[COD_ABI] + ,[COD_CAB] + ,[COD_CIN] + ,[COD_CC] + ,[STATO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ADS4WS_PROMOTORI.RETE AS RETE, + ADS4WS_PROMOTORI.CODICE AS ID_PROMOTORE, + 'PB' AS LIVELLO, -- TODO: DA RIMUOVERE UNA VOLTA IMPORTATI I DATI DAL SIMPB + NULL AS COD_FISCALE, + NULL AS PARTITA_IVA, + rtrim(ltrim(ADS4WS_PROMOTORI.COGNOME)) AS COGNOME, + rtrim(ltrim(ADS4WS_PROMOTORI.NOME)) AS NOME, + NULL AS RAG_SOC, + CASE WHEN ADS4WS_PROMOTORI.DataInizioCollaborazione=0 THEN NULL ELSE + CAST(CAST(ADS4WS_PROMOTORI.DataInizioCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_INIZIO, + CASE WHEN ADS4WS_PROMOTORI.DataFineCollaborazione=0 THEN NULL ELSE + CAST(CAST(ADS4WS_PROMOTORI.DataFineCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_FINE, + rtrim(ltrim(ADS4WS_PROMOTORI.INDIRIZZO)) AS INDIRIZZO, + rtrim(ltrim(ADS4WS_PROMOTORI.CITTA)) AS LOCALITA, + rtrim(ltrim(ADS4WS_PROMOTORI.PROVINCIA)) AS PROVINCIA, + rtrim(ltrim(ADS4WS_PROMOTORI.CAP)) AS CAP, + NULL AS NAZIONE, + rtrim(ltrim(ADS4WS_PROMOTORI.prefissotelefono + ADS4WS_PROMOTORI.TelefonoAgenzia1)) AS TEL_RECAPITO, + NULL AS TEL_CELL, + rtrim(ltrim(EMAIL_PB.EMAIL)) AS E_MAIL, + NULL AS COD_ABI, + NULL AS COD_CAB, + NULL AS COD_CIN, + NULL AS COD_CC, +-- CASE +-- WHEN SPB_NAC.CODICEAGENTE IS NULL THEN 'TERMINATO' +-- ELSE + CASE + WHEN PF.RETE IS NULL THEN 'ATTIVO' + ELSE 'FITTIZIO' + END +-- END + AS STATO +, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ADS4WS_PROMOTORI ADS4WS_PROMOTORI + LEFT JOIN C6MARTPERIODICO.EMAIL_PB EMAIL_PB + ON ADS4WS_PROMOTORI.RETE = EMAIL_PB.RETE + AND ADS4WS_PROMOTORI.CODICE = EMAIL_PB.CODICE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (ADS4WS_PROMOTORI.CODICE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND ADS4WS_PROMOTORI.RETE = PF.RETE + WHERE ADS4WS_PROMOTORI.STATO = 'A' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PROMOTORI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PROMOTORI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PROMOTORI_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PROMOTORI_pre_selective.sql new file mode 100644 index 00000000..03e2f3e8 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_PROMOTORI_pre_selective.sql @@ -0,0 +1,111 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_PROMOTORI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PROMOTORI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_PROMOTORI + INSERT INTO C6MartPeriodico.[ANAG_PROMOTORI] + ([RETE] + ,[ID_PROMOTORE] + ,[LIVELLO] + ,[COD_FISCALE] + ,[PARTITA_IVA] + ,[COGNOME] + ,[NOME] + ,[RAG_SOC] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[COD_ABI] + ,[COD_CAB] + ,[COD_CIN] + ,[COD_CC] + ,[STATO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ADS4WS_PROMOTORI.RETE AS RETE, + ADS4WS_PROMOTORI.CODICE AS ID_PROMOTORE, + 'PB' AS LIVELLO, -- TODO: DA RIMUOVERE UNA VOLTA IMPORTATI I DATI DAL SIMPB + NULL AS COD_FISCALE, + NULL AS PARTITA_IVA, + rtrim(ltrim(ADS4WS_PROMOTORI.COGNOME)) AS COGNOME, + rtrim(ltrim(ADS4WS_PROMOTORI.NOME)) AS NOME, + NULL AS RAG_SOC, + CASE WHEN ADS4WS_PROMOTORI.DataInizioCollaborazione=0 THEN NULL ELSE + CAST(CAST(ADS4WS_PROMOTORI.DataInizioCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_INIZIO, + CASE WHEN ADS4WS_PROMOTORI.DataFineCollaborazione=0 THEN NULL ELSE + CAST(CAST(ADS4WS_PROMOTORI.DataFineCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_FINE, + rtrim(ltrim(ADS4WS_PROMOTORI.INDIRIZZO)) AS INDIRIZZO, + rtrim(ltrim(ADS4WS_PROMOTORI.CITTA)) AS LOCALITA, + rtrim(ltrim(ADS4WS_PROMOTORI.PROVINCIA)) AS PROVINCIA, + rtrim(ltrim(ADS4WS_PROMOTORI.CAP)) AS CAP, + NULL AS NAZIONE, + rtrim(ltrim(ADS4WS_PROMOTORI.prefissotelefono + ADS4WS_PROMOTORI.TelefonoAgenzia1)) AS TEL_RECAPITO, + NULL AS TEL_CELL, + rtrim(ltrim(EMAIL_PB.EMAIL)) AS E_MAIL, + NULL AS COD_ABI, + NULL AS COD_CAB, + NULL AS COD_CIN, + NULL AS COD_CC, +-- CASE +-- WHEN SPB_NAC.CODICEAGENTE IS NULL THEN 'TERMINATO' +-- ELSE + CASE + WHEN PF.RETE IS NULL THEN 'ATTIVO' + ELSE 'FITTIZIO' + END +-- END + AS STATO +, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ADS4WS_PROMOTORI ADS4WS_PROMOTORI + LEFT JOIN C6MARTPERIODICO.EMAIL_PB EMAIL_PB + ON ADS4WS_PROMOTORI.RETE = EMAIL_PB.RETE + AND ADS4WS_PROMOTORI.CODICE = EMAIL_PB.CODICE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (ADS4WS_PROMOTORI.CODICE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND ADS4WS_PROMOTORI.RETE = PF.RETE + WHERE ADS4WS_PROMOTORI.STATO = 'A' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PROMOTORI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PROMOTORI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ANAG_SELF.sql b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_SELF.sql new file mode 100644 index 00000000..95e55bbb --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_SELF.sql @@ -0,0 +1,74 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_SELF] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[ANAG_SELF] + INSERT INTO [C6MartPeriodico].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,NOMEPRODOTTO + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB] + ,CodInterno + ,CodSottoprodotto) + SELECT + SPB.RETE + ,SPB.CODFIS + ,SPB.CODCONF + ,CAT.NomeProdotto + ,SPB.CTV + ,SPB.DTSOTTOS + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + ,CodInterno + ,CodSottoprodotto + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB + inner join C6StagingPeriodico.RP_CatalogoProdotti CAT + on SPB.isin = CAT.codisin and CAT.visibilita = 1 + -- aggiunto il 17/12/2018 per gestire l'ambiguità tra GP e FO a parità di Isin + and SPB.CodInt = CAT.CodInterno + -- fine modifica + WHERE SPB.isin in ('EURO00000009', 'EURO10000007') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_ANAG_SELF' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ANAG_SELF_20181214_PreMioFoglio.sql b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_SELF_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..6501426b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_SELF_20181214_PreMioFoglio.sql @@ -0,0 +1,67 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_SELF_20181214_PreMioFoglio] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[ANAG_SELF] + INSERT INTO [C6MartPeriodico].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,NOMEPRODOTTO + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SPB.RETE + ,SPB.CODFIS + ,SPB.CODCONF + ,CAT.NomeProdotto + ,SPB.CTV + ,SPB.DTSOTTOS + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB + inner join C6StagingPeriodico.RP_CatalogoProdotti CAT + on SPB.isin = CAT.codisin and CAT.visibilita = 1 + WHERE SPB.isin in ('EURO00000009', 'EURO10000007') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_ANAG_SELF' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ANAG_SELF_BK_eligoTitoli.sql b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_SELF_BK_eligoTitoli.sql new file mode 100644 index 00000000..b693a385 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_SELF_BK_eligoTitoli.sql @@ -0,0 +1,62 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_SELF_BK_eligoTitoli] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[ANAG_SELF] + INSERT INTO [C6MartPeriodico].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + RETE + ,CODFIS + ,CODCONF + ,CTV + ,DTSOTTOS + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI + WHERE isin = 'EURO00000009' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_SELF' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ANAG_SELF_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_SELF_pre_selective.sql new file mode 100644 index 00000000..a8efbbdf --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ANAG_SELF_pre_selective.sql @@ -0,0 +1,67 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ANAG_SELF_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[ANAG_SELF] + INSERT INTO [C6MartPeriodico].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,NOMEPRODOTTO + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SPB.RETE + ,SPB.CODFIS + ,SPB.CODCONF + ,CAT.NomeProdotto + ,SPB.CTV + ,SPB.DTSOTTOS + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB + inner join C6StagingPeriodico.RP_CatalogoProdotti CAT + on SPB.isin = CAT.codisin and CAT.visibilita = 1 + WHERE SPB.isin in ('EURO00000009', 'EURO10000007') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_SELF_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_AREA_BISOGNO.sql b/sql/storedTestbes/C6MartPeriodico_DM_AREA_BISOGNO.sql new file mode 100644 index 00000000..155ade3d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_AREA_BISOGNO.sql @@ -0,0 +1,47 @@ +CREATE procedure [C6MartPeriodico].[DM_AREA_BISOGNO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + TRUNCATE TABLE C6MartPeriodico.AREA_BISOGNO + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_AREA_BISOGNO', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MartPeriodico.[AREA_BISOGNO] + ([ID_AREA] + ,[NOME_AREA] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(NEEDAREA.OID$)) AS ID_AREA, + LTRIM(RTRIM(NEEDAREA.AREANAME)) AS NOME_AREA, + NEEDAREA.AREASORTORDER AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.NEEDAREA + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_AREA_BISOGNO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_AREA_BISOGNO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_AREA_BISOGNO_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_AREA_BISOGNO_pre_selective.sql new file mode 100644 index 00000000..a86a3bc0 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_AREA_BISOGNO_pre_selective.sql @@ -0,0 +1,47 @@ +CREATE procedure [C6MartPeriodico].[DM_AREA_BISOGNO_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + TRUNCATE TABLE C6MartPeriodico.AREA_BISOGNO + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_AREA_BISOGNO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MartPeriodico.[AREA_BISOGNO] + ([ID_AREA] + ,[NOME_AREA] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(NEEDAREA.OID$)) AS ID_AREA, + LTRIM(RTRIM(NEEDAREA.AREANAME)) AS NOME_AREA, + NEEDAREA.AREASORTORDER AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.NEEDAREA + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_AREA_BISOGNO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_AREA_BISOGNO_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ASSETCLASS.sql b/sql/storedTestbes/C6MartPeriodico_DM_ASSETCLASS.sql new file mode 100644 index 00000000..8b1ff7f6 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ASSETCLASS.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSETCLASS] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSETCLASS', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].ASSETCLASS + INSERT INTO [C6MartPeriodico].[ASSETCLASS] + ([ID_ASSETCLASS] + ,[DESCRIZIONE] + ,[LIVELLO] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(ASSETCLASS.OID$)) AS ID_ASSETCLASS, + LTRIM(RTRIM(ASSETCLASS.ASSETCLASSDESCR)) AS DESCRIZIONE, + ASSETCLASS.ASSETCLASSLEV AS LIVELLO, + ASSETCLASS.ORDINE AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodico.ASSETCLASS + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSETCLASS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSETCLASS' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ASSETCLASS_TERZI.sql b/sql/storedTestbes/C6MartPeriodico_DM_ASSETCLASS_TERZI.sql new file mode 100644 index 00000000..f71a75b7 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ASSETCLASS_TERZI.sql @@ -0,0 +1,55 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSETCLASS_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + SET @TIPO_ELAB = [C6MartPeriodico].GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSETCLASS_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].ASSETCLASS_TERZI + INSERT INTO [C6MartPeriodico].[ASSETCLASS_TERZI] + ([ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_ADEGUATEZZA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + LTRIM(RTRIM(ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO)) AS ID_ASSETCLASS, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN,'$'))) AS COD_ISIN, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF,'$'))) AS COD_MAF, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA,'$'))) AS COD_ADEGUATEZZA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.ALL_ASSET_CLASS_PER_PROMET + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSETCLASS_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSETCLASS_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ASSETCLASS_TERZI_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_ASSETCLASS_TERZI_pre_selective.sql new file mode 100644 index 00000000..9a356938 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ASSETCLASS_TERZI_pre_selective.sql @@ -0,0 +1,55 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSETCLASS_TERZI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + SET @TIPO_ELAB = [C6MartPeriodico].GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSETCLASS_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].ASSETCLASS_TERZI + INSERT INTO [C6MartPeriodico].[ASSETCLASS_TERZI] + ([ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_ADEGUATEZZA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + LTRIM(RTRIM(ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO)) AS ID_ASSETCLASS, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN,'$'))) AS COD_ISIN, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF,'$'))) AS COD_MAF, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA,'$'))) AS COD_ADEGUATEZZA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.ALL_ASSET_CLASS_PER_PROMET + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSETCLASS_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSETCLASS_TERZI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ASSETCLASS_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_ASSETCLASS_pre_selective.sql new file mode 100644 index 00000000..f44df965 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ASSETCLASS_pre_selective.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSETCLASS_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSETCLASS_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].ASSETCLASS + INSERT INTO [C6MartPeriodico].[ASSETCLASS] + ([ID_ASSETCLASS] + ,[DESCRIZIONE] + ,[LIVELLO] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(ASSETCLASS.OID$)) AS ID_ASSETCLASS, + LTRIM(RTRIM(ASSETCLASS.ASSETCLASSDESCR)) AS DESCRIZIONE, + ASSETCLASS.ASSETCLASSLEV AS LIVELLO, + ASSETCLASS.ORDINE AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodico.ASSETCLASS + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSETCLASS_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSETCLASS_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ASSET_PERC.sql b/sql/storedTestbes/C6MartPeriodico_DM_ASSET_PERC.sql new file mode 100644 index 00000000..23309dcd --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ASSET_PERC.sql @@ -0,0 +1,76 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSET_PERC] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSET_PERC', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[ASSET_PERC] + INSERT INTO [C6MartPeriodico].[ASSET_PERC] + ([COD_PRODOTTO] + ,[ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[LIVELLO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + LTRIM(RTRIM(ACBDENTRY.F_OID$_PASSE_B8A1E)) AS ID_ASSETCLASS, + CATITEMREF.COD_ISIN AS COD_ISIN, + CATITEMREF.COD_MAF AS COD_MAF, + CATITEMREF.COD_INTERNO AS COD_INTERNO, + CATITEMREF.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + LTRIM(RTRIM(ASSETCLASS.ASSETCLASSLEV)) AS LIVELLO, + LTRIM(RTRIM(ACBDENTRY.BDPERCENTAGE)) AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.CATITEMREF + INNER JOIN + C6StagingPeriodico.INSTRBDS + ON + INSTRBDS.F_OID$_PCATA_5DDA6 = CATITEMREF.OID$ + INNER JOIN + C6StagingPeriodico.ACBDENTRY + ON + ACBDENTRY.F_PINSTRUMEN_FBCDE = INSTRBDS.OID$ + INNER JOIN + C6StagingPeriodico.ASSETCLASS + ON + ASSETCLASS.OID$ = ACBDENTRY.F_OID$_PASSE_B8A1E + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSET_PERC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSET_PERC' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ASSET_PERC_TERZI.sql b/sql/storedTestbes/C6MartPeriodico_DM_ASSET_PERC_TERZI.sql new file mode 100644 index 00000000..caaa3873 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ASSET_PERC_TERZI.sql @@ -0,0 +1,79 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSET_PERC_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + SET @TIPO_ELAB = [C6MartPeriodico].GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSET_PERC_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[ASSET_PERC_TERZI] + INSERT INTO [C6MartPeriodico].[ASSET_PERC_TERZI] + ([COD_PRODOTTO_TERZI] + ,[ID_ASSETCLASS] + ,[LIVELLO] + ,[NOME_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + PATR_TP.CHIAVE_THR AS COD_PRODOTTO_TERZI, + ASS.OID$ AS ID_ASSETCLASS, + ASS.ASSETCLASSLEV AS LIVELLO, + CONVERT( VARCHAR(50),PATR_TP.NOMEPRODOTTO) AS NOME_PRODOTTO, + ALBERO.ALBERO_GERARCHIA_3 AS TIPO_PRODOTTO, + ACB.BDPERCENTAGE AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI PATR_TP, + C6StagingPeriodico.ACBDENOTH ACB, + C6StagingPeriodico.ASSETCLASS ASS, + C6StagingPeriodico.S4_S5_S13_TRAD_UNTIL_LIV3 ALBERO + WHERE 1 = 1 + AND PATR_TP.CHIAVE_FNC IS NOT NULL + AND ALBERO.DESCRIZIONE_ORIGINALE = PATR_TP.DESCRIZIONE_ALBERATURA + AND ACB.F_PFINANCIAL_815C0 = PATR_TP.CHIAVE_FNC + AND ACB.F_OID$_PASSE_CDF1A = ASS.OID$ + AND ASS.ASSETCLASSLEV IN (1,2) + AND PATR_TP.PRODOTTO_IN_CATALOGO IS NULL + GROUP BY + PATR_TP.CHIAVE_THR, + PATR_TP.NOMEPRODOTTO, + ASS.OID$, + ASS.ASSETCLASSLEV, + ALBERO.ALBERO_GERARCHIA_3, + ACB.BDPERCENTAGE, + ACB.OID$ + ORDER BY 2,4 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSET_PERC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSET_PERC_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ASSET_PERC_TERZI_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_ASSET_PERC_TERZI_pre_selective.sql new file mode 100644 index 00000000..0213abcb --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ASSET_PERC_TERZI_pre_selective.sql @@ -0,0 +1,79 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSET_PERC_TERZI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + SET @TIPO_ELAB = [C6MartPeriodico].GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSET_PERC_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[ASSET_PERC_TERZI] + INSERT INTO [C6MartPeriodico].[ASSET_PERC_TERZI] + ([COD_PRODOTTO_TERZI] + ,[ID_ASSETCLASS] + ,[LIVELLO] + ,[NOME_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + PATR_TP.CHIAVE_THR AS COD_PRODOTTO_TERZI, + ASS.OID$ AS ID_ASSETCLASS, + ASS.ASSETCLASSLEV AS LIVELLO, + CONVERT( VARCHAR(50),PATR_TP.NOMEPRODOTTO) AS NOME_PRODOTTO, + ALBERO.ALBERO_GERARCHIA_3 AS TIPO_PRODOTTO, + ACB.BDPERCENTAGE AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI PATR_TP, + C6StagingPeriodico.ACBDENOTH ACB, + C6StagingPeriodico.ASSETCLASS ASS, + C6StagingPeriodico.S4_S5_S13_TRAD_UNTIL_LIV3 ALBERO + WHERE 1 = 1 + AND PATR_TP.CHIAVE_FNC IS NOT NULL + AND ALBERO.DESCRIZIONE_ORIGINALE = PATR_TP.DESCRIZIONE_ALBERATURA + AND ACB.F_PFINANCIAL_815C0 = PATR_TP.CHIAVE_FNC + AND ACB.F_OID$_PASSE_CDF1A = ASS.OID$ + AND ASS.ASSETCLASSLEV IN (1,2) + AND PATR_TP.PRODOTTO_IN_CATALOGO IS NULL + GROUP BY + PATR_TP.CHIAVE_THR, + PATR_TP.NOMEPRODOTTO, + ASS.OID$, + ASS.ASSETCLASSLEV, + ALBERO.ALBERO_GERARCHIA_3, + ACB.BDPERCENTAGE, + ACB.OID$ + ORDER BY 2,4 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSET_PERC_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSET_PERC_TERZI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ASSET_PERC_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_ASSET_PERC_pre_selective.sql new file mode 100644 index 00000000..ba57e59d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ASSET_PERC_pre_selective.sql @@ -0,0 +1,76 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ASSET_PERC_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSET_PERC_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[ASSET_PERC] + INSERT INTO [C6MartPeriodico].[ASSET_PERC] + ([COD_PRODOTTO] + ,[ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[LIVELLO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + LTRIM(RTRIM(ACBDENTRY.F_OID$_PASSE_B8A1E)) AS ID_ASSETCLASS, + CATITEMREF.COD_ISIN AS COD_ISIN, + CATITEMREF.COD_MAF AS COD_MAF, + CATITEMREF.COD_INTERNO AS COD_INTERNO, + CATITEMREF.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + LTRIM(RTRIM(ASSETCLASS.ASSETCLASSLEV)) AS LIVELLO, + LTRIM(RTRIM(ACBDENTRY.BDPERCENTAGE)) AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.CATITEMREF + INNER JOIN + C6StagingPeriodico.INSTRBDS + ON + INSTRBDS.F_OID$_PCATA_5DDA6 = CATITEMREF.OID$ + INNER JOIN + C6StagingPeriodico.ACBDENTRY + ON + ACBDENTRY.F_PINSTRUMEN_FBCDE = INSTRBDS.OID$ + INNER JOIN + C6StagingPeriodico.ASSETCLASS + ON + ASSETCLASS.OID$ = ACBDENTRY.F_OID$_PASSE_B8A1E + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSET_PERC_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSET_PERC_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_BONUS.sql b/sql/storedTestbes/C6MartPeriodico_DM_BONUS.sql new file mode 100644 index 00000000..847dc091 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_BONUS.sql @@ -0,0 +1,69 @@ +CREATE procedure [C6MartPeriodico].[DM_BONUS] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @DTMAX INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEIBO + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_BONUS', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[BONUS] + INSERT INTO [C6MartPeriodico].[BONUS] + ( + [RETE], + [COD_FISCALE], + [CTV], + [DT_TRIM], + [BONUS_M], + [DTDEC_M], + [BONUS_5], + [DTDEC_5], + [BONUS_10], + [DTDEC_10], + [COD_CONF], + [COD_PROD] + ) + SELECT + WSEIBO.[RETE] as [RETE], + WSEIBO.[CODFIS] as [COD_FISCALE], + WSEIBO.[CTV] as [CTV], + convert(datetime,convert(varchar,WSEIBO.[DTTRIM]),100) as [DT_TRIM], + WSEIBO.[BONUSM] as [BONUS_M], + convert(datetime,convert(varchar,WSEIBO.[DTDECM]),100) as [DTDEC_M], + WSEIBO.[BONUS5] as [BONUS_5], + convert(datetime,convert(varchar,WSEIBO.[DTDEC5]),100) as [DTDEC_5], + WSEIBO.[BONUS10] as [BONUS_10], + convert(datetime,convert(varchar,WSEIBO.[DTDEC10]),100) as [DTDEC_10], + WSEIBO.[CODCONF] as [COD_CONF], + WSEIBO.[CODPROD] as [COD_PROD] + FROM + c6StagingPeriodico.WSEIBO + WHERE + WSEIBO.[DTTRIM] = @DTMAX + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_BONUS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_BONUS' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_BONUS_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_BONUS_pre_selective.sql new file mode 100644 index 00000000..387fbc2e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_BONUS_pre_selective.sql @@ -0,0 +1,69 @@ +CREATE procedure [C6MartPeriodico].[DM_BONUS_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @DTMAX INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEIBO + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_BONUS_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[BONUS] + INSERT INTO [C6MartPeriodico].[BONUS] + ( + [RETE], + [COD_FISCALE], + [CTV], + [DT_TRIM], + [BONUS_M], + [DTDEC_M], + [BONUS_5], + [DTDEC_5], + [BONUS_10], + [DTDEC_10], + [COD_CONF], + [COD_PROD] + ) + SELECT + WSEIBO.[RETE] as [RETE], + WSEIBO.[CODFIS] as [COD_FISCALE], + WSEIBO.[CTV] as [CTV], + convert(datetime,convert(varchar,WSEIBO.[DTTRIM]),100) as [DT_TRIM], + WSEIBO.[BONUSM] as [BONUS_M], + convert(datetime,convert(varchar,WSEIBO.[DTDECM]),100) as [DTDEC_M], + WSEIBO.[BONUS5] as [BONUS_5], + convert(datetime,convert(varchar,WSEIBO.[DTDEC5]),100) as [DTDEC_5], + WSEIBO.[BONUS10] as [BONUS_10], + convert(datetime,convert(varchar,WSEIBO.[DTDEC10]),100) as [DTDEC_10], + WSEIBO.[CODCONF] as [COD_CONF], + WSEIBO.[CODPROD] as [COD_PROD] + FROM + c6StagingPeriodico.WSEIBO + WHERE + WSEIBO.[DTTRIM] = @DTMAX + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_BONUS_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_BONUS_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_CAPPROT.sql b/sql/storedTestbes/C6MartPeriodico_DM_CAPPROT.sql new file mode 100644 index 00000000..3f59be5f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_CAPPROT.sql @@ -0,0 +1,206 @@ +-- ============================================= +-- Author: +-- Create date: <18/11/2014, Pomezia> +-- Description: +-- ============================================= +-- ============================================= +-- +-- MOd: <26/11/2015, Pomezia> +-- Description: Aggiunto il campo 'des_prod_tit' per modifiche E-FOI80 +-- ============================================= +--[C6MartPeriodico].[DM_CAPPROT] +CREATE procedure [C6MartPeriodico].[DM_CAPPROT] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @Par_percentuale INT +SET @Par_percentuale = 80 +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_CAPPROT', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.CAPPROT + INSERT INTO C6MartPeriodico.CAPPROT + ([RETE] + ,[CODFIS] + ,[DES_PROD] + ,[COD_CONF] + ,[QUOTA] + ,[NUMEROQUOTE] + ,[CONTROVALORE] + ,[DATARIF] + ,[DES_MAX] + ,[QUOTA_MAX] + ,[QUOTA_MAX_PERC] + ,[DATARIF_MAX] + ,[DES_PROT] + ,[QUOTA_PROT] + ,[NUMEROQUOTE_PROT] + ,[CONTROVALORE_PROT] + ,[DES_PROD_TIT] + ) + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isin=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isin <> '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isinFIT=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isinFIT <> '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isin = '' + AND UL.isinFIT = '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIGP GP + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on GP.isin=ISNULL(CAT.codisin,'') + and CAT.tipoprodotto = 'GP' + and CAT.visibilita = 1 + WHERE GP.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 +-- lancio il caricamento delle nuove tabelle per la gestione del capitale protetto (My Blue 'CS80', +-- My White 'CT80', Linea Protetta 'RF/FP' ---- +-- Dicembre 2017 +exec [C6MartPeriodico].[DM_CAPPROT_FVI] +exec [C6MartPeriodico].[DM_STORICO_CAPPROT_FVI] +--------------------------------------------------------------------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CAPPROT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_CAPPROT' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_CAPPROT_20171129.sql b/sql/storedTestbes/C6MartPeriodico_DM_CAPPROT_20171129.sql new file mode 100644 index 00000000..0020aa97 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_CAPPROT_20171129.sql @@ -0,0 +1,200 @@ +-- ============================================= +-- Author: +-- Create date: <18/11/2014, Pomezia> +-- Description: +-- ============================================= +-- ============================================= +-- +-- MOd: <26/11/2015, Pomezia> +-- Description: Aggiunto il campo 'des_prod_tit' per modifiche E-FOI80 +-- ============================================= +--[C6MartPeriodico].[DM_CAPPROT] +CREATE procedure [C6MartPeriodico].[DM_CAPPROT_20171129] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @Par_percentuale INT +SET @Par_percentuale = 80 +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_CAPPROT', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.CAPPROT + INSERT INTO C6MartPeriodico.CAPPROT + ([RETE] + ,[CODFIS] + ,[DES_PROD] + ,[COD_CONF] + ,[QUOTA] + ,[NUMEROQUOTE] + ,[CONTROVALORE] + ,[DATARIF] + ,[DES_MAX] + ,[QUOTA_MAX] + ,[QUOTA_MAX_PERC] + ,[DATARIF_MAX] + ,[DES_PROT] + ,[QUOTA_PROT] + ,[NUMEROQUOTE_PROT] + ,[CONTROVALORE_PROT] + ,[DES_PROD_TIT] + ) + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isin=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isin <> '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isinFIT=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isinFIT <> '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isin = '' + AND UL.isinFIT = '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIGP GP + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on GP.isin=ISNULL(CAT.codisin,'') + and CAT.tipoprodotto = 'GP' + and CAT.visibilita = 1 + WHERE GP.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CAPPROT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_CAPPROT' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_CAPPROT_BKP.sql b/sql/storedTestbes/C6MartPeriodico_DM_CAPPROT_BKP.sql new file mode 100644 index 00000000..b05617e0 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_CAPPROT_BKP.sql @@ -0,0 +1,174 @@ +-- ============================================= +-- Author: +-- Create date: <18/11/2014, Pomezia> +-- Description: +-- ============================================= +--[C6MartPeriodico].[DM_CAPPROT] +CREATE procedure [C6MartPeriodico].[DM_CAPPROT_BKP] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @Par_percentuale INT +SET @Par_percentuale = 80 +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CAPPROT', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.CAPPROT + INSERT INTO C6MartPeriodico.CAPPROT + ([RETE] + ,[CODFIS] + ,[DES_PROD] + ,[COD_CONF] + ,[QUOTA] + ,[NUMEROQUOTE] + ,[CONTROVALORE] + ,[DATARIF] + ,[DES_MAX] + ,[QUOTA_MAX] + ,[QUOTA_MAX_PERC] + ,[DATARIF_MAX] + ,[DES_PROT] + ,[QUOTA_PROT] + ,[NUMEROQUOTE_PROT] + ,[CONTROVALORE_PROT] + ) + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + 'Quota e controvalore protetti' AS DES_PROT, + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isin=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isin <> '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + 'Quota e controvalore protetti' AS DES_PROT, + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isinFIT=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isinFIT <> '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + 'Quota e controvalore protetti' AS DES_PROT, + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isin = '' + AND UL.isinFIT = '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + 'Quota e controvalore protetti' AS DES_PROT, + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT + FROM C6StagingPeriodico.WSEIGP GP + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on GP.isin=ISNULL(CAT.codisin,'') + and CAT.tipoprodotto = 'GP' + and CAT.visibilita = 1 + WHERE GP.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CAPPROT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CAPPROT' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_CAPPROT_FVI.sql b/sql/storedTestbes/C6MartPeriodico_DM_CAPPROT_FVI.sql new file mode 100644 index 00000000..c3d3f472 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_CAPPROT_FVI.sql @@ -0,0 +1,152 @@ +-- ============================================= +-- Description: +-- ============================================= +--[C6MartPeriodico].[DM_CAPPROT_FVI] +CREATE procedure [C6MartPeriodico].[DM_CAPPROT_FVI] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_CAPPROT_FVI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.CAPPROT_FVI + INSERT INTO C6MartPeriodico.CAPPROT_FVI + ( +[RETE], +[CODFIS], +[CODPROD], +[SUBPROD], +[DES_PROD], +[COD_CONF], +[CONTROVALORE_RIFERIMENTO], +[COMPONENTE_PERFORMANCE], +[COMPONENTE_PROTEZIONE], +[DES_PROT], +[CONTROVALORE_PROT], +[DATARIF], +[DES_PROD_TIT], +[somma_ctv] + ) + select + RETE, + CODFIS, + CODPROD, + SUBPROD, + DES_PROD, + COD_CONF, + CONTROVALORE_RIFERIMENTO, + COMPONENTE_PERFORMANCE, + COMPONENTE_PROTEZIONE, + DES_PROT, + CONTROVALORE_PROT, + DATARIF, + DES_PROD_TIT , + -- Errore segnalato in certificazione campione ad Aprile 2018 - + -- cf PRNMCD44M17L682S/F - id 4 - verificare a pag 17/24 del report il totale patrimonio controvalore protetto ( non quadra il tot € 28.346,65) che non ritorna con le due linee blue e white pag  18/19 + -- IL TOTALE DELLA LINEA NON DEVE ESSERE RAGGRUPPATO PER CODCONF MA PER LINEA (SUBPROD) + -- + -- sum(CONTROVALORE_RIFERIMENTO) over (partition by COD_CONF ) as tot_controvalore + sum(CONTROVALORE_RIFERIMENTO) over (partition by codfis,COD_CONF,SUBPROD ) as tot_controvalore + -- Fine modifica Aprile 2018 + from( + select + LP.RETE AS RETE, + LP.CODFIS AS CODFIS, + LP.CODPROD AS CODPROD, + LP.CODLINEA AS SUBPROD, + CAT.NOMEPRODOTTO as DES_PROD, + LP.CODCONF AS COD_CONF, + CS.CTV AS CONTROVALORE_RIFERIMENTO, + -- correzione calcolo per errore documento di analisi - 18/12/2017 + --LP.[CTV PROT] - LP.CTVMON AS COMPONENTE_PERFORMANCE, + CS.CTV - LP.CTVMON AS COMPONENTE_PERFORMANCE, + -- fine correzione calcolo per errore documento di analisi - 18/12/2017 + LP.CTVMON AS COMPONENTE_PROTEZIONE, + 'Quota e controvalore protetti *' AS DES_PROT, + LP.[CTV_PROT] AS CONTROVALORE_PROT, + @DataFineTrim AS DATARIF, + case + when lp.codlinea = 'CS80' then 'FV Insieme Linea My Blue Protection 80' + when lp.codlinea = 'CT80' then 'FV Insieme Linea My White Protection 80' + end + AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEILP LP + JOIN [C6StagingPeriodico].[wseics] CS + ON + LP.RETE = CS.RETE + AND LP.CODFIS = CS.CODFIS + AND LP.CODCONF = CS.CODCONF + AND LP.CODLINEA = CS.SUBPROD + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on + cat.codmaf = 'RS_'+lp.codlinea + and CAT.visibilita = 1 +WHERE LP.DTTRIM = @DataFineTrim and cs.dttrim = @DataFineTrim and lp.codlinea in ('CS80','CT80') +union +select + LP.RETE AS RETE, + LP.CODFIS AS CODFIS, + LP.CODPROD AS CODPROD, + LP.CODLINEA AS SUBPROD, + 'FV Sintonia Linea Protezione 85' as DES_PROD, + LP.CODCONF AS COD_CONF, +/* + il controvalore di riferimento deve coincidere con la somma dei controvalori dei singoli fondi + sottostanti alla linea (selezionati dal cliente e monetari movimentati dal Risk Provider) + e della gestione separata “FV Vivadue” +*/ +(select sum(CTV) from [C6StagingPeriodico].[wseics] + where rete = LP.RETE + AND CODFIS = LP.CODFIS and dttrim = @DataFineTrim and CODCONF = LP.CODCONF and codprod = lp.codprod) + AS CONTROVALORE_RIFERIMENTO, + -- correzione calcolo per errore documento di analisi - 18/12/2017 + ---LP.[CTV PROT] - LP.CTVMON AS COMPONENTE_PERFORMANCE, + (select sum(CTV) from [C6StagingPeriodico].[wseics] + where rete = LP.RETE + AND CODFIS = LP.CODFIS and dttrim = @DataFineTrim and CODCONF = LP.CODCONF and codprod = lp.codprod) - LP.CTVMON AS COMPONENTE_PERFORMANCE, + -- fine correzione calcolo per errore documento di analisi - 18/12/2017 + LP.CTVMON AS COMPONENTE_PROTEZIONE, + 'Quota e controvalore protetti *' AS DES_PROT, + LP.[CTV_PROT] AS CONTROVALORE_PROT, + @DataFineTrim AS DATARIF, + 'FV Sintonia Linea Protezione 85' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEILP LP + JOIN [C6StagingPeriodico].[wseics] CS + ON + LP.RETE = CS.RETE + AND LP.CODFIS = CS.CODFIS + AND LP.CODCONF = CS.CODCONF + AND LP.CODLINEA = CS.SUBPROD +WHERE + LP.DTTRIM = @DataFineTrim + and cs.dttrim = @DataFineTrim + and lp.codlinea = 'MP' + and lp.flagtrim = 'S' --creo un record per ogni contratto, prendendo i dati del record con i dati aggregati (flagtrim = 's') + ) a + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CAPPROT_FVI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_CAPPROT_FVI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_CAPPROT_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_CAPPROT_pre_selective.sql new file mode 100644 index 00000000..21bba86b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_CAPPROT_pre_selective.sql @@ -0,0 +1,200 @@ +-- ============================================= +-- Author: +-- Create date: <18/11/2014, Pomezia> +-- Description: +-- ============================================= +-- ============================================= +-- +-- MOd: <26/11/2015, Pomezia> +-- Description: Aggiunto il campo 'des_prod_tit' per modifiche E-FOI80 +-- ============================================= +--[C6MartPeriodico].[DM_CAPPROT_pre_selective] +CREATE procedure [C6MartPeriodico].[DM_CAPPROT_pre_selective] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @Par_percentuale INT +SET @Par_percentuale = 80 +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CAPPROT_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.CAPPROT + INSERT INTO C6MartPeriodico.CAPPROT + ([RETE] + ,[CODFIS] + ,[DES_PROD] + ,[COD_CONF] + ,[QUOTA] + ,[NUMEROQUOTE] + ,[CONTROVALORE] + ,[DATARIF] + ,[DES_MAX] + ,[QUOTA_MAX] + ,[QUOTA_MAX_PERC] + ,[DATARIF_MAX] + ,[DES_PROT] + ,[QUOTA_PROT] + ,[NUMEROQUOTE_PROT] + ,[CONTROVALORE_PROT] + ,[DES_PROD_TIT] + ) + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isin=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isin <> '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and UL.isinFIT=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isinFIT <> '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIUL UL + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on UL.codint=CAT.codinterno + and UL.subprod=CAT.codsottoprodotto + and CAT.visibilita = 1 + WHERE UL.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + AND UL.isin = '' + AND UL.isinFIT = '' + union + select --top 10 + RETE AS RETE, + CODFIS AS CODFIS, + CAT.NOMEPRODOTTO as DES_PROD, + CODCONF AS COD_CONF, + PREZZO AS QUOTA, +-- CTV/ PREZZO AS NUMEROQUOTE, + QUOTE AS NUMEROQUOTE, + CTV AS CONTROVALORE, + @DataFineTrim AS DATARIF, + 'Quota massima' AS DES_MAX, + PREZZOMAX AS QUOTA_MAX, + @Par_percentuale AS QUOTA_MAX_PERC, + CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, + -- E-FOI80 + --'Quota e controvalore protetti' AS DES_PROT, + 'Quota e controvalore protetti *' AS DES_PROT, + -- fine E-FOI80 + PREZZOPROT AS QUOTA_PROT, +-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, + QUOTE AS NUMEROQUOTE_PROT, + CTRVIMPPROT AS CONTROVALORE_PROT, + -- Campo aggiunto per E-FOI80 + 'Interfund Crescita Protetta 80' AS DES_PROD_TIT + FROM C6StagingPeriodico.WSEIGP GP + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on GP.isin=ISNULL(CAT.codisin,'') + and CAT.tipoprodotto = 'GP' + and CAT.visibilita = 1 + WHERE GP.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CAPPROT_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CAPPROT_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_CLIENTI_CON_RNA_ALTO.sql b/sql/storedTestbes/C6MartPeriodico_DM_CLIENTI_CON_RNA_ALTO.sql new file mode 100644 index 00000000..8e8dbe23 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_CLIENTI_CON_RNA_ALTO.sql @@ -0,0 +1,37 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CLIENTI_CON_RNA_ALTO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @Rna DECIMAL(19,3) + SET @Rna = CAST(dbo.getParametro('PERCMAXRISORSENA') AS DECIMAL(19,3)) * 0.01 + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + TRUNCATE TABLE [C6MartPeriodico].[CLIENTI_CON_RNA_ALTO] + INSERT INTO [C6MartPeriodico].[CLIENTI_CON_RNA_ALTO] + (Rete, + CodicePB, + CodiceFiscale, + Percentuale, + DataCalcolo, + ID_ELAB, + TIPO_ELAB) + SELECT + Rete, + CodicePB, + CodiceFiscale, + Percentuale, + DataCalcolo, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.CLIENTI_CON_RNA + WHERE Percentuale > @Rna +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI.sql b/sql/storedTestbes/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI.sql new file mode 100644 index 00000000..061dc308 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI.sql @@ -0,0 +1,18 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CLIENTI_NON_MIGRATI] +AS +BEGIN + SELECT + RETE, + COD_FISCALE, + ID_PROMOTORE + FROM + C6MartPeriodico.ANAG_CLIENTI + WHERE + (NOME IS NULL OR NOME = '') + AND (COGNOME IS NULL OR COGNOME = '') +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI_pre_selective.sql new file mode 100644 index 00000000..0a27f7de --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_CLIENTI_NON_MIGRATI_pre_selective.sql @@ -0,0 +1,18 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CLIENTI_NON_MIGRATI_pre_selective] +AS +BEGIN + SELECT + RETE, + COD_FISCALE, + ID_PROMOTORE + FROM + C6MartPeriodico.ANAG_CLIENTI + WHERE + (NOME IS NULL OR NOME = '') + AND (COGNOME IS NULL OR COGNOME = '') +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_CODIFICA_CREDITRISK.sql b/sql/storedTestbes/C6MartPeriodico_DM_CODIFICA_CREDITRISK.sql new file mode 100644 index 00000000..ab3dcc13 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_CODIFICA_CREDITRISK.sql @@ -0,0 +1,50 @@ +-- ============================================= +-- Author: Valerio Colaianni +-- Create date: 17 marzo 2009 +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CODIFICA_CREDITRISK] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_CREDITRISK', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.CODIFICA_CREDITRISK + INSERT INTO C6MartPeriodico.[CODIFICA_CREDITRISK] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAL] + ,[MAX_VAL] + ,[ID_ELAB]) + SELECT + COD, + DESCR, + MINVAL, + MAXVAL, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.RISKCLASS + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CODIFICA_CREDITRISK' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_CODIFICA_CREDITRISK' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_CODIFICA_CREDITRISK_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_CODIFICA_CREDITRISK_pre_selective.sql new file mode 100644 index 00000000..d282fbe1 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_CODIFICA_CREDITRISK_pre_selective.sql @@ -0,0 +1,50 @@ +-- ============================================= +-- Author: Valerio Colaianni +-- Create date: 17 marzo 2009 +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CODIFICA_CREDITRISK_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_CREDITRISK_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.CODIFICA_CREDITRISK + INSERT INTO C6MartPeriodico.[CODIFICA_CREDITRISK] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAL] + ,[MAX_VAL] + ,[ID_ELAB]) + SELECT + COD, + DESCR, + MINVAL, + MAXVAL, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.RISKCLASS + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CODIFICA_CREDITRISK_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CODIFICA_CREDITRISK_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_CODIFICA_RISCHIO.sql b/sql/storedTestbes/C6MartPeriodico_DM_CODIFICA_RISCHIO.sql new file mode 100644 index 00000000..0114dee9 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_CODIFICA_RISCHIO.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 marzo 2009 +-- Description: NOTA BENE: I JOIN NON DOVREBBERO MAI ESSERE FATTI COME SOTTO, TRATTASI DI WORK AROUND +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CODIFICA_RISCHIO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_RISCHIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.CODIFICA_RISCHIO + INSERT INTO C6MartPeriodico.[CODIFICA_RISCHIO] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAR] + ,[MAX_VAR] + ,[ID_ELAB]) + SELECT + SPB_PROF_RISCHIO.CODICEPROFILO AS PROFILO, + SPB_PROF_RISCHIO.DESCRIZIONEPROFILO AS DESCRIZIONE, + ISNULL(SPB_MIN.VARTRIMESTRALE,-0.01) + 0.01 AS MIN_VAR, + SPB_PROF_RISCHIO.VARTRIMESTRALE AS MAX_VAR, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.SPB_PROF_RISCHIO + LEFT JOIN C6STAGINGPERIODICO.SPB_PROF_RISCHIO SPB_MIN + ON SPB_MIN.CODICEPROFILO + 1 = SPB_PROF_RISCHIO.CODICEPROFILO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CODIFICA_RISCHIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_CODIFICA_RISCHIO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_CODIFICA_RISCHIO_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_CODIFICA_RISCHIO_pre_selective.sql new file mode 100644 index 00000000..38138dae --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_CODIFICA_RISCHIO_pre_selective.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 marzo 2009 +-- Description: NOTA BENE: I JOIN NON DOVREBBERO MAI ESSERE FATTI COME SOTTO, TRATTASI DI WORK AROUND +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CODIFICA_RISCHIO_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_RISCHIO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.CODIFICA_RISCHIO + INSERT INTO C6MartPeriodico.[CODIFICA_RISCHIO] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAR] + ,[MAX_VAR] + ,[ID_ELAB]) + SELECT + SPB_PROF_RISCHIO.CODICEPROFILO AS PROFILO, + SPB_PROF_RISCHIO.DESCRIZIONEPROFILO AS DESCRIZIONE, + ISNULL(SPB_MIN.VARTRIMESTRALE,-0.01) + 0.01 AS MIN_VAR, + SPB_PROF_RISCHIO.VARTRIMESTRALE AS MAX_VAR, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.SPB_PROF_RISCHIO + LEFT JOIN C6STAGINGPERIODICO.SPB_PROF_RISCHIO SPB_MIN + ON SPB_MIN.CODICEPROFILO + 1 = SPB_PROF_RISCHIO.CODICEPROFILO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CODIFICA_RISCHIO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CODIFICA_RISCHIO_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_COMPLESSITA.sql b/sql/storedTestbes/C6MartPeriodico_DM_COMPLESSITA.sql new file mode 100644 index 00000000..7bb927b2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_COMPLESSITA.sql @@ -0,0 +1,84 @@ +-- ============================================= +-- Author: +-- Create date: <12/05/2010> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_COMPLESSITA] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_COMPLESSITA', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].COMPLESSITA + INSERT INTO [C6MartPeriodico].[COMPLESSITA] + ( + [RETE] + ,[COD_FISCALE] + ,[COMPLESSITA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLESSITA]) AS [COMPLESSITA], + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM +( + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLEx]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf + where tipo_prodOTTO <>'ASUL' + GROUP BY + [RETE], + [COD_FISCALE] + union all + SELECT + m.[RETE], + m.[COD_FISCALE], + MAX(c.[COMPLEX]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf m, + c6martperiodico.dettaglio_asul k, + c6stagingperiodico.catitemref c + where m.cod_fiscale= k.cod_fiscale + and m.rete=k.rete + and k.id_contratto=m.id_contratto + and k.cod_prodotto= c.catalogueid + and m.tipo_prodotto='ASUL' + group by + m.[RETE], + m.[COD_FISCALE] + ) H + group by + [RETE], + [COD_FISCALE] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_COMPLESSITA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_COMPLESSITA' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_COMPLESSITA_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_COMPLESSITA_pre_selective.sql new file mode 100644 index 00000000..7d8d78c8 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_COMPLESSITA_pre_selective.sql @@ -0,0 +1,84 @@ +-- ============================================= +-- Author: +-- Create date: <12/05/2010> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_COMPLESSITA_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_COMPLESSITA_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].COMPLESSITA + INSERT INTO [C6MartPeriodico].[COMPLESSITA] + ( + [RETE] + ,[COD_FISCALE] + ,[COMPLESSITA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLESSITA]) AS [COMPLESSITA], + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM +( + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLEx]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf + where tipo_prodOTTO <>'ASUL' + GROUP BY + [RETE], + [COD_FISCALE] + union all + SELECT + m.[RETE], + m.[COD_FISCALE], + MAX(c.[COMPLEX]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf m, + c6martperiodico.dettaglio_asul k, + c6stagingperiodico.catitemref c + where m.cod_fiscale= k.cod_fiscale + and m.rete=k.rete + and k.id_contratto=m.id_contratto + and k.cod_prodotto= c.catalogueid + and m.tipo_prodotto='ASUL' + group by + m.[RETE], + m.[COD_FISCALE] + ) H + group by + [RETE], + [COD_FISCALE] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_COMPLESSITA_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_COMPLESSITA_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_CONGELAMENTO_SEI.sql b/sql/storedTestbes/C6MartPeriodico_DM_CONGELAMENTO_SEI.sql new file mode 100644 index 00000000..d10a972e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_CONGELAMENTO_SEI.sql @@ -0,0 +1,23 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CONGELAMENTO_SEI] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + TRUNCATE TABLE C6MartPeriodico.CONGELAMENTO_SEI + INSERT INTO C6MartPeriodico.CONGELAMENTO_SEI + ([DATA_CONGELAMENTO] + ,[ID_ELAB]) + SELECT + DATA_CONGELAMENTO, + @ID_ELAB + FROM + C6StagingPeriodico.CONGELAMENTO_SEI +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_CONGELAMENTO_SEI_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_CONGELAMENTO_SEI_pre_selective.sql new file mode 100644 index 00000000..c877b932 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_CONGELAMENTO_SEI_pre_selective.sql @@ -0,0 +1,23 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CONGELAMENTO_SEI_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + TRUNCATE TABLE C6MartPeriodico.CONGELAMENTO_SEI + INSERT INTO C6MartPeriodico.CONGELAMENTO_SEI + ([DATA_CONGELAMENTO] + ,[ID_ELAB]) + SELECT + DATA_CONGELAMENTO, + @ID_ELAB + FROM + C6StagingPeriodico.CONGELAMENTO_SEI +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_CONO_PIANIFICAZIONE.sql b/sql/storedTestbes/C6MartPeriodico_DM_CONO_PIANIFICAZIONE.sql new file mode 100644 index 00000000..40bd5851 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_CONO_PIANIFICAZIONE.sql @@ -0,0 +1,86 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CONO_PIANIFICAZIONE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CONO_PIANIFICAZIONE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[CONO_PIANIFICAZIONE] + INSERT INTO [C6MartPeriodico].[CONO_PIANIFICAZIONE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CONO] + ,[SCENARIO_PESSIMISTICO] + ,[SCENARIO_MEDIO] + ,[SCENARIO_OTTIMISTICO] + ,[ID_ELAB] + ,ordinamento_progetto) + SELECT + CONSUL.INSTID AS RETE, + CONSUL.ADBKID AS COD_FISCALE, + AREA.C_NEEDAREA_v_46360 AS ID_AREA, + ISNULL(CASE + WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN PRCONSUL.C_PROJECTNAM_11D1A + ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO + END, 'XXX') AS NOME_PROGETTO, + CONO.C_DATA_FD2A6 AS DATA_CONO, + CAST(CONO.C_QUANTILE5_BF710 AS DECIMAL(19,7)) * 100 AS SCENARIO_PESSIMISTICO, + CAST(CONO.C_QUANTILE50_C47E0 AS DECIMAL(19,7)) * 100 AS SCENARIO_MEDIO, + CAST(CONO.C_QUANTILE95_0D6CE AS DECIMAL(19,7)) * 100 AS SCENARIO_OTTIMISTICO, + @ID_ELAB, + wanab.codprog + FROM C6StagingPeriodico.TANAB AS WANAB + INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL + ON WANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 + INNER JOIN C6StagingPeriodico.CONSAREA AS AREA + ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ + INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL + ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO + ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE + AND CONSUL.INSTID = SCELTA_STATO.RETE + AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA + INNER JOIN C6StagingPeriodico.C_BO_453FB AS ORIZZ_TEMP + ON PRCONSUL.F_OID$_ORIZZ_4A868 = ORIZZ_TEMP.OID$ + INNER JOIN C6StagingPeriodico.CONO AS CONO + ON PRCONSUL.OID$ = CONO.F_PPROJECT_P_46507 + LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA + ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 + WHERE 1 = 1 + AND WANAB.DTFINE = '99991231' + AND ((PRCONSUL.NEEDAREAID = 'Inv' AND PRCONSUL.TYPE$_PROJEC_14674 = 'ProgettoInvestimento') + OR PRCONSUL.NEEDAREAID = 'Ris') + AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 + --and wanab.codfis <> 'GRVMRZ63C14L566J' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CONO_PIANIFICAZIONE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CONO_PIANIFICAZIONE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_CONO_PIANIFICAZIONE_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_CONO_PIANIFICAZIONE_pre_selective.sql new file mode 100644 index 00000000..132a3f34 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_CONO_PIANIFICAZIONE_pre_selective.sql @@ -0,0 +1,86 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_CONO_PIANIFICAZIONE_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CONO_PIANIFICAZIONE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[CONO_PIANIFICAZIONE] + INSERT INTO [C6MartPeriodico].[CONO_PIANIFICAZIONE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CONO] + ,[SCENARIO_PESSIMISTICO] + ,[SCENARIO_MEDIO] + ,[SCENARIO_OTTIMISTICO] + ,[ID_ELAB] + ,ordinamento_progetto) + SELECT + CONSUL.INSTID AS RETE, + CONSUL.ADBKID AS COD_FISCALE, + AREA.C_NEEDAREA_v_46360 AS ID_AREA, + ISNULL(CASE + WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN PRCONSUL.C_PROJECTNAM_11D1A + ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO + END, 'XXX') AS NOME_PROGETTO, + CONO.C_DATA_FD2A6 AS DATA_CONO, + CAST(CONO.C_QUANTILE5_BF710 AS DECIMAL(19,7)) * 100 AS SCENARIO_PESSIMISTICO, + CAST(CONO.C_QUANTILE50_C47E0 AS DECIMAL(19,7)) * 100 AS SCENARIO_MEDIO, + CAST(CONO.C_QUANTILE95_0D6CE AS DECIMAL(19,7)) * 100 AS SCENARIO_OTTIMISTICO, + @ID_ELAB, + wanab.codprog + FROM C6StagingPeriodico.TANAB AS WANAB + INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL + ON WANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 + INNER JOIN C6StagingPeriodico.CONSAREA AS AREA + ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ + INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL + ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO + ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE + AND CONSUL.INSTID = SCELTA_STATO.RETE + AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA + INNER JOIN C6StagingPeriodico.C_BO_453FB AS ORIZZ_TEMP + ON PRCONSUL.F_OID$_ORIZZ_4A868 = ORIZZ_TEMP.OID$ + INNER JOIN C6StagingPeriodico.CONO AS CONO + ON PRCONSUL.OID$ = CONO.F_PPROJECT_P_46507 + LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA + ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 + WHERE 1 = 1 + AND WANAB.DTFINE = '99991231' + AND ((PRCONSUL.NEEDAREAID = 'Inv' AND PRCONSUL.TYPE$_PROJEC_14674 = 'ProgettoInvestimento') + OR PRCONSUL.NEEDAREAID = 'Ris') + AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 + --and wanab.codfis <> 'GRVMRZ63C14L566J' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CONO_PIANIFICAZIONE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CONO_PIANIFICAZIONE_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA.sql b/sql/storedTestbes/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA.sql new file mode 100644 index 00000000..2854a127 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA.sql @@ -0,0 +1,202 @@ +--select ordinamento_progetto,id_area,* +--FROM +-- C6MARTPERIODICO.PATRIMONIO_BF +-- WHERE +-- 1=1 +-- AND ID_AREA not in ('Na', 'Cc') +-- and ctv >0 +-- and cod_fiscale = 'GNGFRZ63H17D810C' +-- and id_area like 'pre%' +-- +--select * from c6martperiodico.cons_attivaggiornata +--where cod_fiscale = 'GNGFRZ63H17D810C' +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: < 26/09/2009> +-- Description: +-- ============================================= +--[C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] +CREATE procedure [C6MartPeriodico].[DM_CONS_ATTIVAGGIORNATA] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_CONS_ATTIVAGGIORNATA', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] + INSERT INTO [C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] + ( [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[DATA_PIANIF] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO]) + SELECT + [RETE] + ,[COD_FISCALE] + ,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END AS ID_AREA + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,(MAX(ISNULL(CTV_AREA,0))/MAX(ISNULL(CTV_TOTALE,0)))*100 AS PERC_AREA + , MAX(CTV_PROGETTO) AS CTV_PROGETTO + ,MAX(CTV_AREA) AS CTV_aREA + ,max([ORIZZ_TEMP_NUM]) + ,max([ORIZZ_TEMP]) + ,MAX(CTV_TOTALE) AS CTV_TOTALE + ,MAX([STATO_CONSULENZA]) AS STATO_CONSULENZA + ,MAX([DATA_STATO_CONS]) AS DATA_sTATO_CONS + ,max([DATA_MIGR_CONS]) as DATA_MIGR_CONS + ,MAX(DATA_PIANIF) AS DATA_PIANIF + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + FROM + ( + SELECT + COD_FISCALE, + RETE, + ID_AREA, + NOME_PROGETTO, + CTV, + 0 AS ID_CONTRATTO, + [ORDINAMENTO_PROGETTO], + [tipo_progetto], + SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, SUBSTRING(ID_AREA,1,3), NOME_PROGETTO) CTV_PROGETTO, + SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, RETE,SUBSTRING(ID_AREA,1,3)) CTV_AREA, + MAX([ORIZZ_TEMP_NUM])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) AS [ORIZZ_TEMP_NUM], + MAX([ORIZZ_TEMP])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) [ORIZZ_TEMP], + SUM([CTV])OVER (PARTITION BY COD_FISCALE) AS CTV_TOTALE, + MAX([STATO_CONSULENZA])OVER (PARTITION BY COD_FISCALE, RETE) AS [STATO_CONSULENZA], + MAX([DATA_STATO_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_STATO_CONS] , + MAX([DATA_MIGR_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_MIGR_CONS] , + MAX([DATA_PIANIF])OVER (PARTITION BY COD_FISCALE, RETE ) AS DATA_PIANIF + FROM + C6MARTPERIODICO.PATRIMONIO_BF + WHERE + 1=1 + AND ID_AREA not in ('Na', 'Cc','Pre','Pre1','Pre2') + and ctv >0 + ) K + GROUP BY + COD_FISCALE + ,RETE + ,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + INSERT INTO [C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] + ( [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[DATA_PIANIF] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO]) + SELECT + [RETE] + ,[COD_FISCALE] + ,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END AS ID_AREA + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,(MAX(ISNULL(CTV_AREA,0))/MAX(ISNULL(CTV_TOTALE,0)))*100 AS PERC_AREA + , MAX(CTV_PROGETTO) AS CTV_PROGETTO + ,MAX(CTV_AREA) AS CTV_aREA + ,max([ORIZZ_TEMP_NUM]) + ,max([ORIZZ_TEMP]) + ,MAX(CTV_TOTALE) AS CTV_TOTALE + ,MAX([STATO_CONSULENZA]) AS STATO_CONSULENZA + ,MAX([DATA_STATO_CONS]) AS DATA_sTATO_CONS + ,max([DATA_MIGR_CONS]) as DATA_MIGR_CONS + ,MAX(DATA_PIANIF) AS DATA_PIANIF + ,[ID_CONTRATTO] + ,MAX([ORDINAMENTO_PROGETTO]) + FROM + ( + SELECT + COD_FISCALE, + RETE, + ID_AREA, + NOME_PROGETTO, + CTV, + 0 AS ID_CONTRATTO, + [ORDINAMENTO_PROGETTO], + case + when extranac = 1 + then 'Default' + else tipo_progetto + end as tipo_progetto, + SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, SUBSTRING(ID_AREA,1,3), NOME_PROGETTO) CTV_PROGETTO, + SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, RETE,SUBSTRING(ID_AREA,1,3)) CTV_AREA, + MAX([ORIZZ_TEMP_NUM])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) AS [ORIZZ_TEMP_NUM], + MAX([ORIZZ_TEMP])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) [ORIZZ_TEMP], + SUM([CTV])OVER (PARTITION BY COD_FISCALE) AS CTV_TOTALE, + MAX([STATO_CONSULENZA])OVER (PARTITION BY COD_FISCALE, RETE) AS [STATO_CONSULENZA], + MAX([DATA_STATO_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_STATO_CONS] , + MAX([DATA_MIGR_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_MIGR_CONS] , + MAX([DATA_PIANIF])OVER (PARTITION BY COD_FISCALE, RETE ) AS DATA_PIANIF + FROM + C6MARTPERIODICO.PATRIMONIO_BF + WHERE + 1=1 + AND ID_AREA in ('Pre','Pre1','Pre2') + and ctv >0 + ) K + GROUP BY + COD_FISCALE + ,RETE + ,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_CONTRATTO] + --,[ORDINAMENTO_PROGETTO] +-- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CONS_ATTIVAGGIORNATA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_CONS_ATTIVAGGIORNATA' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA_pre_selective.sql new file mode 100644 index 00000000..968063e1 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_CONS_ATTIVAGGIORNATA_pre_selective.sql @@ -0,0 +1,202 @@ +--select ordinamento_progetto,id_area,* +--FROM +-- C6MARTPERIODICO.PATRIMONIO_BF +-- WHERE +-- 1=1 +-- AND ID_AREA not in ('Na', 'Cc') +-- and ctv >0 +-- and cod_fiscale = 'GNGFRZ63H17D810C' +-- and id_area like 'pre%' +-- +--select * from c6martperiodico.cons_attivaggiornata +--where cod_fiscale = 'GNGFRZ63H17D810C' +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: < 26/09/2009> +-- Description: +-- ============================================= +--[C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] +CREATE procedure [C6MartPeriodico].[DM_CONS_ATTIVAGGIORNATA_pre_selective] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CONS_ATTIVAGGIORNATA_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] + INSERT INTO [C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] + ( [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[DATA_PIANIF] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO]) + SELECT + [RETE] + ,[COD_FISCALE] + ,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END AS ID_AREA + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,(MAX(ISNULL(CTV_AREA,0))/MAX(ISNULL(CTV_TOTALE,0)))*100 AS PERC_AREA + , MAX(CTV_PROGETTO) AS CTV_PROGETTO + ,MAX(CTV_AREA) AS CTV_aREA + ,max([ORIZZ_TEMP_NUM]) + ,max([ORIZZ_TEMP]) + ,MAX(CTV_TOTALE) AS CTV_TOTALE + ,MAX([STATO_CONSULENZA]) AS STATO_CONSULENZA + ,MAX([DATA_STATO_CONS]) AS DATA_sTATO_CONS + ,max([DATA_MIGR_CONS]) as DATA_MIGR_CONS + ,MAX(DATA_PIANIF) AS DATA_PIANIF + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + FROM + ( + SELECT + COD_FISCALE, + RETE, + ID_AREA, + NOME_PROGETTO, + CTV, + 0 AS ID_CONTRATTO, + [ORDINAMENTO_PROGETTO], + [tipo_progetto], + SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, SUBSTRING(ID_AREA,1,3), NOME_PROGETTO) CTV_PROGETTO, + SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, RETE,SUBSTRING(ID_AREA,1,3)) CTV_AREA, + MAX([ORIZZ_TEMP_NUM])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) AS [ORIZZ_TEMP_NUM], + MAX([ORIZZ_TEMP])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) [ORIZZ_TEMP], + SUM([CTV])OVER (PARTITION BY COD_FISCALE) AS CTV_TOTALE, + MAX([STATO_CONSULENZA])OVER (PARTITION BY COD_FISCALE, RETE) AS [STATO_CONSULENZA], + MAX([DATA_STATO_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_STATO_CONS] , + MAX([DATA_MIGR_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_MIGR_CONS] , + MAX([DATA_PIANIF])OVER (PARTITION BY COD_FISCALE, RETE ) AS DATA_PIANIF + FROM + C6MARTPERIODICO.PATRIMONIO_BF + WHERE + 1=1 + AND ID_AREA not in ('Na', 'Cc','Pre','Pre1','Pre2') + and ctv >0 + ) K + GROUP BY + COD_FISCALE + ,RETE + ,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + INSERT INTO [C6MartPeriodico]. [CONS_ATTIVAGGIORNATA] + ( [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[DATA_PIANIF] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO]) + SELECT + [RETE] + ,[COD_FISCALE] + ,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END AS ID_AREA + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,(MAX(ISNULL(CTV_AREA,0))/MAX(ISNULL(CTV_TOTALE,0)))*100 AS PERC_AREA + , MAX(CTV_PROGETTO) AS CTV_PROGETTO + ,MAX(CTV_AREA) AS CTV_aREA + ,max([ORIZZ_TEMP_NUM]) + ,max([ORIZZ_TEMP]) + ,MAX(CTV_TOTALE) AS CTV_TOTALE + ,MAX([STATO_CONSULENZA]) AS STATO_CONSULENZA + ,MAX([DATA_STATO_CONS]) AS DATA_sTATO_CONS + ,max([DATA_MIGR_CONS]) as DATA_MIGR_CONS + ,MAX(DATA_PIANIF) AS DATA_PIANIF + ,[ID_CONTRATTO] + ,MAX([ORDINAMENTO_PROGETTO]) + FROM + ( + SELECT + COD_FISCALE, + RETE, + ID_AREA, + NOME_PROGETTO, + CTV, + 0 AS ID_CONTRATTO, + [ORDINAMENTO_PROGETTO], + case + when extranac = 1 + then 'Default' + else tipo_progetto + end as tipo_progetto, + SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, SUBSTRING(ID_AREA,1,3), NOME_PROGETTO) CTV_PROGETTO, + SUM(C6MARTPERIODICO.PATRIMONIO_BF.CTV) OVER (PARTITION BY COD_FISCALE, RETE,SUBSTRING(ID_AREA,1,3)) CTV_AREA, + MAX([ORIZZ_TEMP_NUM])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) AS [ORIZZ_TEMP_NUM], + MAX([ORIZZ_TEMP])OVER (PARTITION BY COD_FISCALE, RETE, SUBSTRING(ID_AREA,1,3), ORDINAMENTO_PROGETTO) [ORIZZ_TEMP], + SUM([CTV])OVER (PARTITION BY COD_FISCALE) AS CTV_TOTALE, + MAX([STATO_CONSULENZA])OVER (PARTITION BY COD_FISCALE, RETE) AS [STATO_CONSULENZA], + MAX([DATA_STATO_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_STATO_CONS] , + MAX([DATA_MIGR_CONS])OVER (PARTITION BY COD_FISCALE, RETE) AS [DATA_MIGR_CONS] , + MAX([DATA_PIANIF])OVER (PARTITION BY COD_FISCALE, RETE ) AS DATA_PIANIF + FROM + C6MARTPERIODICO.PATRIMONIO_BF + WHERE + 1=1 + AND ID_AREA in ('Pre','Pre1','Pre2') + and ctv >0 + ) K + GROUP BY + COD_FISCALE + ,RETE + ,CASE WHEN ID_AREA IN ('Pre','Pre1','Pre2') THEN 'Pre' ELSE ID_AREA END + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_CONTRATTO] + --,[ORDINAMENTO_PROGETTO] +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CONS_ATTIVAGGIORNATA_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CONS_ATTIVAGGIORNATA_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_CONTRATTOSEI.sql b/sql/storedTestbes/C6MartPeriodico_DM_CONTRATTOSEI.sql new file mode 100644 index 00000000..5f90df46 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_CONTRATTOSEI.sql @@ -0,0 +1,40 @@ +--select count(distinct cod_fiscale) from c6martperiodico.rischio_aggregato +--select * from c6martperiodico.scarti +-- FARE FUNZIONE GETPREVTRIMESTRE PER LA DATA DI REVOCA +--select c6martperiodico.gettrimestre2(getdate(),0) +--select c6martperiodico.gettrimestre2(getdate(),1) +--select count(*) from [C6MartPeriodico].[vContrattiPerGenerazioneReport] select count(*) from [C6MartPeriodico].gestione_pdf_ftp where dataGenerazione > c6martperiodico.gettrimestre2(getDate(),1) +--select count(*) from [C6MartPeriodico].[vContrattiPerGenerazioneReport] where freq_diagnosi is not null +--select c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +CREATE procedure [C6MartPeriodico].[DM_CONTRATTOSEI] +AS +TRUNCATE TABLE C6MartPERIODICO.CONTRATTOSEI +INSERT INTO C6MartPERIODICO.CONTRATTOSEI +SELECT + distinct C6.* +FROM + C6Mart.CONTRATTOSEI AS C6 +INNER JOIN C6MartPeriodico.vContrattiPerGenerazioneReport VCON +ON +C6.CodiceContratto = VCON.CodiceContratto +--FROM +-- C6Mart.CONTRATTOSEI AS C6 +-- INNER JOIN C6Mart.GESTIONE_PDF_FTP AS PDF +-- ON C6.Rete = PDF.Rete AND C6.Cod_Fiscale = PDF.CodiceFiscale AND C6.CodiceContratto = SUBSTRING(pdf.NomeFile, 1, 11) --SUBSTRING(PDF.NomeFile, 0, 12) +-- --INNER JOIN c6Martperiodico.Mifid AS mi ON c6.rete=mi.rete AND c6.cod_fiscale=mi.cod_fiscale +-- --inner join c6martperiodico.patrimonio_bf bf on c6.rete = bf.rete and c6.cod_fiscale = bf.cod_fiscale +-- --includi campione +-- --INNER JOIN dbo.CampioneReport AS t ON t.Cod_fiscale = C6.Cod_Fiscale AND t.Rete = C6.Rete +--WHERE +-- --CONDIZIONE 1: Stampo i clienti che hanno revocato nel trimestre +-- ISNULL(C6.Data_FineAvanzato, CAST('99991231' AS datetime)) > c6martperiodico.getPreviousTrimestre(getdate(),0) +-- --V commentare nel giro email +-- --and mi.scaduto =0 +-- --CONDIZIONE 2: Stampo i clienti che hanno ricevuto il benvenuto fino al 1 giorno del mese della chiusura del trimestre +-- and PDF.DataGenerazione < c6martperiodico.gettrimestre2(getdate(),1) --'20110301' +-- --and c6.cod_fiscale in('BLDRRT64D28G482H') --'GZZSLD52E20G869L') +-- --stampa campione per dipartimento +-- --and (provenienza = 'QC') +-- --STAMPO SOLO CHI HA DIAGNOSI and c6.Freq_Diagnosi is not null +-- --CONDIZIONE 3: Stampo il report trimestrale una sola volta nel trimestre +-- AND isnull(C6.Data_Invio_Monitoraggio_Trimestrale,cast('20091101' as datetime)) < c6martperiodico.gettrimestre2(getdate(),0)--'20110331' --cast(C6MartPeriodico.getTrimestre(GETDATE(), 0) as datetime) \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_CONTROLLO_TRIMESTRALE.sql b/sql/storedTestbes/C6MartPeriodico_DM_CONTROLLO_TRIMESTRALE.sql new file mode 100644 index 00000000..e1b4d487 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_CONTROLLO_TRIMESTRALE.sql @@ -0,0 +1,16 @@ +-- Stored procedure +-- ===================================================== +-- Author: colaianni-consoli +-- Create date: 28/06/2011 +-- Description: CARICA LA TABELLA CONTROLLO_TRIMESTRALE +-- CON TUTTI I REPORT OGGETTO DI STAMPA +-- ===================================================== +CREATE procedure [C6MartPeriodico].[DM_CONTROLLO_TRIMESTRALE] AS BEGIN +TRUNCATE TABLE C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +INSERT INTO + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SELECT + COD_FISCALE, RETE, CASE WHEN FREQ_DIAGNOSI IS NULL THEN 0 ELSE 1 END, NULL, NULL, 1, NULL, GETDATE() +FROM + C6MARTPERIODICO.VCONTRATTIPERGENERAZIONEREPORT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_DATI_REPORT.sql b/sql/storedTestbes/C6MartPeriodico_DM_DATI_REPORT.sql new file mode 100644 index 00000000..c256e81a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_DATI_REPORT.sql @@ -0,0 +1,47 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_DATI_REPORT] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + TRUNCATE TABLE C6MartPeriodico.DATI_REPORT + INSERT INTO C6MartPeriodico.[DATI_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[FLAG_REPORT] + ,[REPORT_DIAGN] + ,[REPORT_MONIT] + ,[DATA_REPORT] + ,[REPORT_FREQ] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + NULL AS RETE, + NULL AS COD_FISCALE, + NULL AS INDIRIZZO, + NULL AS LOCALITA, + NULL AS PROVINCIA, + NULL AS CAP, + NULL AS NAZIONE, + NULL AS FLAG_REPORT, + NULL AS REPORT_DIAGN, + NULL AS REPORT_MONIT, + NULL AS DATA_REPORT, + NULL AS REPORT_PROP, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.CATITEMREF + WHERE 1=0 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_DATI_REPORT_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_DATI_REPORT_pre_selective.sql new file mode 100644 index 00000000..addc137c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_DATI_REPORT_pre_selective.sql @@ -0,0 +1,47 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_DATI_REPORT_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + TRUNCATE TABLE C6MartPeriodico.DATI_REPORT + INSERT INTO C6MartPeriodico.[DATI_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[FLAG_REPORT] + ,[REPORT_DIAGN] + ,[REPORT_MONIT] + ,[DATA_REPORT] + ,[REPORT_FREQ] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + NULL AS RETE, + NULL AS COD_FISCALE, + NULL AS INDIRIZZO, + NULL AS LOCALITA, + NULL AS PROVINCIA, + NULL AS CAP, + NULL AS NAZIONE, + NULL AS FLAG_REPORT, + NULL AS REPORT_DIAGN, + NULL AS REPORT_MONIT, + NULL AS DATA_REPORT, + NULL AS REPORT_PROP, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.CATITEMREF + WHERE 1=0 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_DETTAGLIO_ASUL.sql b/sql/storedTestbes/C6MartPeriodico_DM_DETTAGLIO_ASUL.sql new file mode 100644 index 00000000..fa413753 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_DETTAGLIO_ASUL.sql @@ -0,0 +1,99 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_DETTAGLIO_ASUL] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_DETTAGLIO_ASUL', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MARTPERIODICO.DETTAGLIO_ASUL + INSERT INTO [C6MartPeriodico].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + ISNULL( + dbo.Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL AS SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGING.CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.COD_INTERNO + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.COD_SOTTOPRODOTTO + AND (LTRIM(RTRIM(SPB_ASS_UNIT.ISIN)) = '' --SPB_ASS_UNIT.ISIN = ' ' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.COD_ADEGUATEZZA AND + SPB_ASS_UNIT.MAF = CATITEMREF.COD_MAF + ) + ) + WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = ( + SELECT + MAX(DTTRIM) + FROM + C6STAGINGPERIODICO.WSEIUL + ) + AND CATITEMREF.isvisible = 1 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_DETTAGLIO_ASUL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_DETTAGLIO_ASUL' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_DETTAGLIO_ASUL_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_DETTAGLIO_ASUL_pre_selective.sql new file mode 100644 index 00000000..ab670dc2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_DETTAGLIO_ASUL_pre_selective.sql @@ -0,0 +1,99 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_DETTAGLIO_ASUL_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_DETTAGLIO_ASUL_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MARTPERIODICO.DETTAGLIO_ASUL + INSERT INTO [C6MartPeriodico].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + ISNULL( + dbo.Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL AS SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGING.CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.COD_INTERNO + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.COD_SOTTOPRODOTTO + AND (LTRIM(RTRIM(SPB_ASS_UNIT.ISIN)) = '' --SPB_ASS_UNIT.ISIN = ' ' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.COD_ADEGUATEZZA AND + SPB_ASS_UNIT.MAF = CATITEMREF.COD_MAF + ) + ) + WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = ( + SELECT + MAX(DTTRIM) + FROM + C6STAGINGPERIODICO.WSEIUL + ) + AND CATITEMREF.isvisible = 1 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_DETTAGLIO_ASUL_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_DETTAGLIO_ASUL_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_DettaglioMovimenti.sql b/sql/storedTestbes/C6MartPeriodico_DM_DettaglioMovimenti.sql new file mode 100644 index 00000000..c514846d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_DettaglioMovimenti.sql @@ -0,0 +1,157 @@ +CREATE procedure [C6MartPeriodico].[DM_DettaglioMovimenti] +AS BEGIN +DECLARE @RETE char(1), @CODFIS varchar(16), @CODMAN varchar(6) +DECLARE @DETT_MOV_PREC decimal(15,2), @DETT_MOV_CORR decimal(15,2), @MOV_TRIMESTRE_PREC decimal(15,2) +DECLARE @TrimestreDettMov varchar(8) +DECLARE @appoDataAvvioMon varchar(8) +--SET @appoDataAvvioMon = '20151201' +-- Modifica del 13/9/2016 con la creazione di una funzione che torna la dataAvvioMon, eliminando così l'aggiornamento manuale e quindi uno step dalla simulazione +--------->SET @appoDataAvvioMon = '20160301' --simulazione del 18/03/2016 +SET @appoDataAvvioMon = c6martperiodico.get_appoDataAvvioMon(null) +-- Fine modifica del 13/9/2016 +--SET @TrimestreDettMov = C6MartPeriodico.getTrimestreDettMov() +SET @TrimestreDettMov = C6MartPeriodico.getTrimestre2(getdate(), 0) --'20120531' simul +TRUNCATE TABLE C6MartPeriodico.DettaglioMovimenti +DECLARE DettMov_cursor CURSOR FOR +SELECT + RETE, + CODFIS, + CODMAN +FROM + [C6StagingPeriodico].[W6APAG] +--WHERE +-- CODFIS='BCCPRZ52T67H945W' AND RETE='F' +GROUP BY + RETE, + CODFIS, + CODMAN +/* +SELECT + [RETE], + CASE + WHEN CODMAN = '' + THEN CODFIS + ELSE 'FF@' + CODMAN + END AS COD_FIS +FROM + [C6StagingPeriodico].[W6APTR] +GROUP BY + RETE, + CASE WHEN CODMAN = '' THEN CODFIS ELSE 'FF@' + CODMAN END +*/ +DECLARE @DataAvvioMon DATETIME --varchar(8) +DECLARE @DataPrecInvioRep DATETIME --varchar(8) +OPEN DettMov_cursor +FETCH NEXT FROM DettMov_cursor +INTO @RETE, @CODFIS, @CODMAN +WHILE @@FETCH_STATUS = 0 +BEGIN + IF @CODMAN <> '' + SET @CODFIS = 'FF@' + @CODMAN + SELECT @DataAvvioMon = DATA_FOTO + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @RETE AND + COD_FISCALE = @CODFIS + IF EXISTS (SELECT * FROM C6MARTPERIODICO.MONITORAGGIO_REPORT + WHERE RETE = @RETE AND COD_FISCALE = @CODFIS) + BEGIN + --PRECEDENTE + IF @DataAvvioMon < '20111001' + SET @DETT_MOV_PREC = null +----------------------------------- + IF @CODMAN <> '' + SET @CODFIS = 'FF§' + @CODMAN + IF @DataAvvioMon >= '20111001' AND @DataAvvioMon <= @appoDataAvvioMon + SELECT + @DETT_MOV_PREC = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM < @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + --CORRENTE + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + Set @MOV_TRIMESTRE_PREC = @DETT_MOV_CORR + END + ELSE + BEGIN + --ACCORPAMENTO (cambiare prossima simulazione) + SET @DETT_MOV_PREC = null + IF @DataAvvioMon < '20111001' + SET @DETT_MOV_CORR = null + IF @DataAvvioMon >= '20111001' AND @DataAvvioMon < @appoDataAvvioMon + begin + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + GROUP BY RETE, CODFIS, CODMAN + SELECT + @MOV_TRIMESTRE_PREC = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + end + IF @DataAvvioMon >= @appoDataAvvioMon + begin + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + Set @MOV_TRIMESTRE_PREC = @DETT_MOV_CORR + end +------------------------------------ + END + IF @CODMAN <> '' + SET @CODFIS = 'FF@' + @CODMAN + INSERT INTO C6MartPeriodico.DettaglioMovimenti + (RETE, COD_FIS, DETT_MOV_PREC, DETT_MOV_CORR, DETT_MOV_TRIMESTRE_PREC) + VALUES + (@RETE, @CODFIS, @DETT_MOV_PREC, @DETT_MOV_CORR, @MOV_TRIMESTRE_PREC) + SET @DETT_MOV_PREC = null + SET @DETT_MOV_CORR = null + SET @MOV_TRIMESTRE_PREC = null + FETCH NEXT FROM DettMov_cursor + INTO @RETE, @CODFIS, @CODMAN +END +CLOSE DettMov_cursor +DEALLOCATE DettMov_cursor +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_DettaglioMovimenti_20160913.sql b/sql/storedTestbes/C6MartPeriodico_DM_DettaglioMovimenti_20160913.sql new file mode 100644 index 00000000..06fd5a31 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_DettaglioMovimenti_20160913.sql @@ -0,0 +1,154 @@ +CREATE procedure [C6MartPeriodico].[DM_DettaglioMovimenti_20160913] +AS BEGIN +DECLARE @RETE char(1), @CODFIS varchar(16), @CODMAN varchar(6) +DECLARE @DETT_MOV_PREC decimal(15,2), @DETT_MOV_CORR decimal(15,2), @MOV_TRIMESTRE_PREC decimal(15,2) +DECLARE @TrimestreDettMov varchar(8) +DECLARE @appoDataAvvioMon varchar(8) +--SET @appoDataAvvioMon = '20151201' +SET @appoDataAvvioMon = '20160301' --simulazione del 18/03/2016 +--SET @TrimestreDettMov = C6MartPeriodico.getTrimestreDettMov() +SET @TrimestreDettMov = C6MartPeriodico.getTrimestre2(getdate(), 0) --'20120531' simul +TRUNCATE TABLE C6MartPeriodico.DettaglioMovimenti +DECLARE DettMov_cursor CURSOR FOR +SELECT + RETE, + CODFIS, + CODMAN +FROM + [C6StagingPeriodico].[W6APAG] +--WHERE +-- CODFIS='BCCPRZ52T67H945W' AND RETE='F' +GROUP BY + RETE, + CODFIS, + CODMAN +/* +SELECT + [RETE], + CASE + WHEN CODMAN = '' + THEN CODFIS + ELSE 'FF@' + CODMAN + END AS COD_FIS +FROM + [C6StagingPeriodico].[W6APTR] +GROUP BY + RETE, + CASE WHEN CODMAN = '' THEN CODFIS ELSE 'FF@' + CODMAN END +*/ +DECLARE @DataAvvioMon DATETIME --varchar(8) +DECLARE @DataPrecInvioRep DATETIME --varchar(8) +OPEN DettMov_cursor +FETCH NEXT FROM DettMov_cursor +INTO @RETE, @CODFIS, @CODMAN +WHILE @@FETCH_STATUS = 0 +BEGIN + IF @CODMAN <> '' + SET @CODFIS = 'FF@' + @CODMAN + SELECT @DataAvvioMon = DATA_FOTO + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @RETE AND + COD_FISCALE = @CODFIS + IF EXISTS (SELECT * FROM C6MARTPERIODICO.MONITORAGGIO_REPORT + WHERE RETE = @RETE AND COD_FISCALE = @CODFIS) + BEGIN + --PRECEDENTE + IF @DataAvvioMon < '20111001' + SET @DETT_MOV_PREC = null +----------------------------------- + IF @CODMAN <> '' + SET @CODFIS = 'FF§' + @CODMAN + IF @DataAvvioMon >= '20111001' AND @DataAvvioMon <= @appoDataAvvioMon + SELECT + @DETT_MOV_PREC = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM < @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + --CORRENTE + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + Set @MOV_TRIMESTRE_PREC = @DETT_MOV_CORR + END + ELSE + BEGIN + --ACCORPAMENTO (cambiare prossima simulazione) + SET @DETT_MOV_PREC = null + IF @DataAvvioMon < '20111001' + SET @DETT_MOV_CORR = null + IF @DataAvvioMon >= '20111001' AND @DataAvvioMon < @appoDataAvvioMon + begin + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + GROUP BY RETE, CODFIS, CODMAN + SELECT + @MOV_TRIMESTRE_PREC = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + end + IF @DataAvvioMon >= @appoDataAvvioMon + begin + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + Set @MOV_TRIMESTRE_PREC = @DETT_MOV_CORR + end +------------------------------------ + END + IF @CODMAN <> '' + SET @CODFIS = 'FF@' + @CODMAN + INSERT INTO C6MartPeriodico.DettaglioMovimenti + (RETE, COD_FIS, DETT_MOV_PREC, DETT_MOV_CORR, DETT_MOV_TRIMESTRE_PREC) + VALUES + (@RETE, @CODFIS, @DETT_MOV_PREC, @DETT_MOV_CORR, @MOV_TRIMESTRE_PREC) + SET @DETT_MOV_PREC = null + SET @DETT_MOV_CORR = null + SET @MOV_TRIMESTRE_PREC = null + FETCH NEXT FROM DettMov_cursor + INTO @RETE, @CODFIS, @CODMAN +END +CLOSE DettMov_cursor +DEALLOCATE DettMov_cursor +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_DettaglioMovimenti_old.sql b/sql/storedTestbes/C6MartPeriodico_DM_DettaglioMovimenti_old.sql new file mode 100644 index 00000000..49157d18 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_DettaglioMovimenti_old.sql @@ -0,0 +1,95 @@ +CREATE procedure [C6MartPeriodico].[DM_DettaglioMovimenti_old] +AS BEGIN +DECLARE @RETE char(1), @CODFIS varchar(16), @CODMAN varchar(6) +DECLARE @DETT_MOV_PREC decimal(15,2), @DETT_MOV_CORR decimal(15,2) +DECLARE @TrimestreDettMov varchar(8) +SET @TrimestreDettMov = C6MartPeriodico.getTrimestreDettMov() +TRUNCATE TABLE C6MartPeriodico.DettaglioMovimenti +DECLARE DettMov_cursor CURSOR FOR +SELECT + RETE, + CODFIS, + CODMAN +FROM + [C6StagingPeriodico].[W6APTR] +GROUP BY + RETE, + CODFIS, + CODMAN +/* +SELECT + [RETE], + CASE + WHEN CODMAN = '' + THEN CODFIS + ELSE 'FF@' + CODMAN + END AS COD_FIS +FROM + [C6StagingPeriodico].[W6APTR] +GROUP BY + RETE, + CASE WHEN CODMAN = '' THEN CODFIS ELSE 'FF@' + CODMAN END +*/ +OPEN DettMov_cursor +FETCH NEXT FROM DettMov_cursor +INTO @RETE, @CODFIS, @CODMAN +WHILE @@FETCH_STATUS = 0 +BEGIN + IF EXISTS (SELECT * FROM [C6StagingPeriodico].[S80_EVOL_STAMPA_C6] + WHERE RETE = @RETE AND COD_FISCALE = @CODFIS) + BEGIN + --PRECEDENTE + SELECT + @DETT_MOV_PREC = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM < @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + --CORRENTE + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + END + ELSE + BEGIN + --ACCORPAMENTO (cambiare prossima simulazione) + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + GROUP BY RETE, CODFIS, CODMAN + END + IF @CODMAN <> '' + SET @CODFIS = 'FF@' + @CODMAN + INSERT INTO C6MartPeriodico.DettaglioMovimenti + (RETE, COD_FIS, DETT_MOV_PREC, DETT_MOV_CORR) + VALUES + (@RETE, @CODFIS, @DETT_MOV_PREC, @DETT_MOV_CORR) + SET @DETT_MOV_PREC = null + SET @DETT_MOV_CORR = null + FETCH NEXT FROM DettMov_cursor + INTO @RETE, @CODFIS, @CODMAN +END +CLOSE DettMov_cursor +DEALLOCATE DettMov_cursor +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_DettaglioMovimenti_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_DettaglioMovimenti_pre_selective.sql new file mode 100644 index 00000000..68a4736a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_DettaglioMovimenti_pre_selective.sql @@ -0,0 +1,157 @@ +CREATE procedure [C6MartPeriodico].[DM_DettaglioMovimenti_pre_selective] +AS BEGIN +DECLARE @RETE char(1), @CODFIS varchar(16), @CODMAN varchar(6) +DECLARE @DETT_MOV_PREC decimal(15,2), @DETT_MOV_CORR decimal(15,2), @MOV_TRIMESTRE_PREC decimal(15,2) +DECLARE @TrimestreDettMov varchar(8) +DECLARE @appoDataAvvioMon varchar(8) +--SET @appoDataAvvioMon = '20151201' +-- Modifica del 13/9/2016 con la creazione di una funzione che torna la dataAvvioMon, eliminando così l'aggiornamento manuale e quindi uno step dalla simulazione +--------->SET @appoDataAvvioMon = '20160301' --simulazione del 18/03/2016 +SET @appoDataAvvioMon = c6martperiodico.get_appoDataAvvioMon(null) +-- Fine modifica del 13/9/2016 +--SET @TrimestreDettMov = C6MartPeriodico.getTrimestreDettMov() +SET @TrimestreDettMov = C6MartPeriodico.getTrimestre2(getdate(), 0) --'20120531' simul +TRUNCATE TABLE C6MartPeriodico.DettaglioMovimenti +DECLARE DettMov_cursor CURSOR FOR +SELECT + RETE, + CODFIS, + CODMAN +FROM + [C6StagingPeriodico].[W6APAG] +--WHERE +-- CODFIS='BCCPRZ52T67H945W' AND RETE='F' +GROUP BY + RETE, + CODFIS, + CODMAN +/* +SELECT + [RETE], + CASE + WHEN CODMAN = '' + THEN CODFIS + ELSE 'FF@' + CODMAN + END AS COD_FIS +FROM + [C6StagingPeriodico].[W6APTR] +GROUP BY + RETE, + CASE WHEN CODMAN = '' THEN CODFIS ELSE 'FF@' + CODMAN END +*/ +DECLARE @DataAvvioMon DATETIME --varchar(8) +DECLARE @DataPrecInvioRep DATETIME --varchar(8) +OPEN DettMov_cursor +FETCH NEXT FROM DettMov_cursor +INTO @RETE, @CODFIS, @CODMAN +WHILE @@FETCH_STATUS = 0 +BEGIN + IF @CODMAN <> '' + SET @CODFIS = 'FF@' + @CODMAN + SELECT @DataAvvioMon = DATA_FOTO + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @RETE AND + COD_FISCALE = @CODFIS + IF EXISTS (SELECT * FROM C6MARTPERIODICO.MONITORAGGIO_REPORT + WHERE RETE = @RETE AND COD_FISCALE = @CODFIS) + BEGIN + --PRECEDENTE + IF @DataAvvioMon < '20111001' + SET @DETT_MOV_PREC = null +----------------------------------- + IF @CODMAN <> '' + SET @CODFIS = 'FF§' + @CODMAN + IF @DataAvvioMon >= '20111001' AND @DataAvvioMon <= @appoDataAvvioMon + SELECT + @DETT_MOV_PREC = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM < @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + --CORRENTE + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + Set @MOV_TRIMESTRE_PREC = @DETT_MOV_CORR + END + ELSE + BEGIN + --ACCORPAMENTO (cambiare prossima simulazione) + SET @DETT_MOV_PREC = null + IF @DataAvvioMon < '20111001' + SET @DETT_MOV_CORR = null + IF @DataAvvioMon >= '20111001' AND @DataAvvioMon < @appoDataAvvioMon + begin + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + GROUP BY RETE, CODFIS, CODMAN + SELECT + @MOV_TRIMESTRE_PREC = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + end + IF @DataAvvioMon >= @appoDataAvvioMon + begin + SELECT + @DETT_MOV_CORR = (sum(APPORTI) - sum(PRELIEVI)) + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APAG] + WHERE + RETE = @RETE + AND + CODFIS = @CODFIS + AND + CODMAN = @CODMAN + AND + DTTRIM = @TrimestreDettMov + GROUP BY RETE, CODFIS, CODMAN + Set @MOV_TRIMESTRE_PREC = @DETT_MOV_CORR + end +------------------------------------ + END + IF @CODMAN <> '' + SET @CODFIS = 'FF@' + @CODMAN + INSERT INTO C6MartPeriodico.DettaglioMovimenti + (RETE, COD_FIS, DETT_MOV_PREC, DETT_MOV_CORR, DETT_MOV_TRIMESTRE_PREC) + VALUES + (@RETE, @CODFIS, @DETT_MOV_PREC, @DETT_MOV_CORR, @MOV_TRIMESTRE_PREC) + SET @DETT_MOV_PREC = null + SET @DETT_MOV_CORR = null + SET @MOV_TRIMESTRE_PREC = null + FETCH NEXT FROM DettMov_cursor + INTO @RETE, @CODFIS, @CODMAN +END +CLOSE DettMov_cursor +DEALLOCATE DettMov_cursor +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_ELABORAZIONI_EMAIL_RNA.sql b/sql/storedTestbes/C6MartPeriodico_DM_ELABORAZIONI_EMAIL_RNA.sql new file mode 100644 index 00000000..4aa7a380 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_ELABORAZIONI_EMAIL_RNA.sql @@ -0,0 +1,93 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_ELABORAZIONI_EMAIL_RNA] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE_PB AS RETE, + AL.CODICEFISCALE AS COD_FISCALE, + AL.NOME AS NOME, + AL.COGNOME AS COGNOME, + ISNULL(AL.DATA_NASCITA, CL.DTNASCI) AS DATA_NASCITA, + CASE + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) < '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libero' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Married' THEN 'Coniugata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + WHEN SUBSTRING(AL.CODICE_FISCALE,10,2) > '40' + AND AL.MARITALSTATUS = 'Single' THEN 'Libera' + ELSE NULL + END AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + DATEDIFF(YY, ISNULL(AL.DATA_NASCITA, CL.DTNASCI), GETDATE()) AS ETA, + NULL AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + NULL AS SESSO, + AL.CODICE_PB AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN2 CL + ON CL.RETE = AL.RETE_PB + AND CL.CODFIS = AL.CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_EMAIL_PB.sql b/sql/storedTestbes/C6MartPeriodico_DM_EMAIL_PB.sql new file mode 100644 index 00000000..cab791ff --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_EMAIL_PB.sql @@ -0,0 +1,68 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22 gennaio 2009 +-- Description: MOLTO SEMPLIFICATA RISPETTO A QUELLA DELLA FASE UNO: SOLO PB +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_EMAIL_PB] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --TRUNCATE TABLE C6MARTPERIODICO.EMAIL_PB + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_EMAIL_PB', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT DISTINCT + CONTRATTOSEI.RETE AS RETE, + CONTRATTOSEI.COD_AGENTE AS CODICE, + CASE CONTRATTOSEI.RETE + WHEN 'F' THEN 'R' + when 'W' THEN 'W' + ELSE 'P' + END AS PREFISSO, + CASE CONTRATTOSEI.RETE + WHEN 'F' THEN 'R' + when 'W' THEN 'W' + ELSE 'P' + END + CONTRATTOSEI.COD_AGENTE AS FIRMA +, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6MARTPERIODICO.RP_vContrattiPerGenerazioneReport CONTRATTOSEI + LEFT JOIN C6MARTPERIODICO.EMAIL_PB EMAIL_PB_ESISTENTI + ON EMAIL_PB_ESISTENTI.RETE = CONTRATTOSEI.RETE + AND EMAIL_PB_ESISTENTI.CODICE = CONTRATTOSEI.COD_AGENTE + LEFT JOIN C6MARTPERIODICO.CODICI_PROMOTORI_FITTIZI PF + ON (CONTRATTOSEI.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND CONTRATTOSEI.RETE = PF.RETE + WHERE EMAIL_PB_ESISTENTI.EMAIL IS NULL + AND PF.RETE IS NULL + ORDER BY 1,2 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_EMAIL_PB' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_EMAIL_PB' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_EMAIL_PB_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_EMAIL_PB_pre_selective.sql new file mode 100644 index 00000000..e96150ec --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_EMAIL_PB_pre_selective.sql @@ -0,0 +1,66 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22 gennaio 2009 +-- Description: MOLTO SEMPLIFICATA RISPETTO A QUELLA DELLA FASE UNO: SOLO PB +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_EMAIL_PB_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --TRUNCATE TABLE C6MARTPERIODICO.EMAIL_PB + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_EMAIL_PB_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT DISTINCT + CONTRATTOSEI.RETE AS RETE, + CONTRATTOSEI.COD_AGENTE AS CODICE, + CASE CONTRATTOSEI.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE CONTRATTOSEI.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + CONTRATTOSEI.COD_AGENTE AS FIRMA +, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6MARTPERIODICO.RP_vContrattiPerGenerazioneReport CONTRATTOSEI + LEFT JOIN C6MARTPERIODICO.EMAIL_PB EMAIL_PB_ESISTENTI + ON EMAIL_PB_ESISTENTI.RETE = CONTRATTOSEI.RETE + AND EMAIL_PB_ESISTENTI.CODICE = CONTRATTOSEI.COD_AGENTE + LEFT JOIN C6MARTPERIODICO.CODICI_PROMOTORI_FITTIZI PF + ON (CONTRATTOSEI.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND CONTRATTOSEI.RETE = PF.RETE + WHERE EMAIL_PB_ESISTENTI.EMAIL IS NULL + AND PF.RETE IS NULL + ORDER BY 1,2 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_EMAIL_PB_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_EMAIL_PB_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_FOI80.sql b/sql/storedTestbes/C6MartPeriodico_DM_FOI80.sql new file mode 100644 index 00000000..00ddf499 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_FOI80.sql @@ -0,0 +1,180 @@ +-- ============================================= +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_FOI80] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @Par_percentuale INT +SET @Par_percentuale = 80 +DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_FOI80', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.FOI80 + INSERT INTO C6MartPeriodico.FOI80 + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[DESPROD] + ,[CODMAN] + ,[CODCONF] + ,[CODPROD] + ,[SUBPROD] + ,[ISIN] + ,[CTV] + ,[PREZZO] + ,[QUOTE] + ,[PREZZOMAX] + ,[DTPREZZOMAX] + ,[DESMAX] + ,[PREZZOPROT] + ,[CTRVIMPPROT] + ,[DESPROT] + ,[DESPRODTIT] + ,[QUOTA_MAX_PERC] + ) + select --top 10 + @DataFineTrim AS DTTRIM, + DTRIFE AS DTRIFE, + RETE AS RETE, + CODFIS AS CODFIS, + --ISNULL(CAT.NOMEPRODOTTO,'Da SP - Fonditalia Crescita Protetta 80 Cap EUR') as DESPROD, + CAT.NOMEPRODOTTO as DESPROD, + ISNULL(CODMAN,'') AS CODMAN, + CODCONF AS COD_CONF, + CODPROD AS CODPROD, + SUBPROD AS SUBPROD, + ISIN AS ISIN, + CTV AS CTV, + PREZZO AS PREZZO, + QUOTE AS QUOTE, + PREZZOMAX AS PREZZOMAX, + DTPREZZOMAX AS DTPREZZOMAX, + 'Quota massima' AS DESMAX, + PREZZOPROT AS PREZZOPROT, + CTRVIMPPROT AS CTRVIMPPROT, + 'Quota e controvalore protetti *' AS DESPROT, + 'Fonditalia Crescita Protetta 80' AS [DESPRODTIT], + @Par_percentuale AS QUOTA_MAX_PERC + FROM C6StagingPeriodico.WSEIFP FP + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on --UL.codint=CAT.codinterno and + FP.subprod=CAT.codsottoprodotto + --and FP.isin=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE FP.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + --AND FP.isin <> '' +-- union +-- select --top 10 +-- RETE AS RETE, +-- CODFIS AS CODFIS, +-- CAT.NOMEPRODOTTO as DES_PROD, +-- CODCONF AS COD_CONF, +-- PREZZO AS QUOTA, +---- CTV/ PREZZO AS NUMEROQUOTE, +-- QUOTE AS NUMEROQUOTE, +-- CTV AS CONTROVALORE, +-- @DataFineTrim AS DATARIF, +-- 'Quota massima' AS DES_MAX, +-- PREZZOMAX AS QUOTA_MAX, +-- @Par_percentuale AS QUOTA_MAX_PERC, +-- CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, +-- 'Quota e controvalore protetti' AS DES_PROT, +-- PREZZOPROT AS QUOTA_PROT, +---- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, +-- QUOTE AS NUMEROQUOTE_PROT, +-- CTRVIMPPROT AS CONTROVALORE_PROT +-- FROM C6StagingPeriodico.WSEIUL UL +-- LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT +-- on UL.codint=CAT.codinterno +-- and UL.subprod=CAT.codsottoprodotto +-- and UL.isinFIT=ISNULL(CAT.codisin,'') +-- and CAT.visibilita = 1 +-- WHERE UL.DTTRIM = @DataFineTrim +-- and PREZZOMAX <> 0.000 +-- AND UL.isinFIT <> '' +-- union +-- select --top 10 +-- RETE AS RETE, +-- CODFIS AS CODFIS, +-- CAT.NOMEPRODOTTO as DES_PROD, +-- CODCONF AS COD_CONF, +-- PREZZO AS QUOTA, +---- CTV/ PREZZO AS NUMEROQUOTE, +-- QUOTE AS NUMEROQUOTE, +-- CTV AS CONTROVALORE, +-- @DataFineTrim AS DATARIF, +-- 'Quota massima' AS DES_MAX, +-- PREZZOMAX AS QUOTA_MAX, +-- @Par_percentuale AS QUOTA_MAX_PERC, +-- CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, +-- 'Quota e controvalore protetti' AS DES_PROT, +-- PREZZOPROT AS QUOTA_PROT, +---- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, +-- QUOTE AS NUMEROQUOTE_PROT, +-- CTRVIMPPROT AS CONTROVALORE_PROT +-- FROM C6StagingPeriodico.WSEIUL UL +-- LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT +-- on UL.codint=CAT.codinterno +-- and UL.subprod=CAT.codsottoprodotto +-- and CAT.visibilita = 1 +-- WHERE UL.DTTRIM = @DataFineTrim +-- and PREZZOMAX <> 0.000 +-- AND UL.isin = '' +-- AND UL.isinFIT = '' +-- union +-- select --top 10 +-- RETE AS RETE, +-- CODFIS AS CODFIS, +-- CAT.NOMEPRODOTTO as DES_PROD, +-- CODCONF AS COD_CONF, +-- PREZZO AS QUOTA, +---- CTV/ PREZZO AS NUMEROQUOTE, +-- QUOTE AS NUMEROQUOTE, +-- CTV AS CONTROVALORE, +-- @DataFineTrim AS DATARIF, +-- 'Quota massima' AS DES_MAX, +-- PREZZOMAX AS QUOTA_MAX, +-- @Par_percentuale AS QUOTA_MAX_PERC, +-- CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, +-- 'Quota e controvalore protetti' AS DES_PROT, +-- PREZZOPROT AS QUOTA_PROT, +---- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, +-- QUOTE AS NUMEROQUOTE_PROT, +-- CTRVIMPPROT AS CONTROVALORE_PROT +-- FROM C6StagingPeriodico.WSEIGP GP +-- LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT +-- on GP.isin=ISNULL(CAT.codisin,'') +-- and CAT.tipoprodotto = 'GP' +-- and CAT.visibilita = 1 +-- WHERE GP.DTTRIM = @DataFineTrim +-- and PREZZOMAX <> 0.000 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_FOI80' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_FOI80' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_FOI80_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_FOI80_pre_selective.sql new file mode 100644 index 00000000..24dc1631 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_FOI80_pre_selective.sql @@ -0,0 +1,180 @@ +-- ============================================= +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_FOI80_pre_selective] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @Par_percentuale INT +SET @Par_percentuale = 80 +DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_FOI80_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.FOI80 + INSERT INTO C6MartPeriodico.FOI80 + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[DESPROD] + ,[CODMAN] + ,[CODCONF] + ,[CODPROD] + ,[SUBPROD] + ,[ISIN] + ,[CTV] + ,[PREZZO] + ,[QUOTE] + ,[PREZZOMAX] + ,[DTPREZZOMAX] + ,[DESMAX] + ,[PREZZOPROT] + ,[CTRVIMPPROT] + ,[DESPROT] + ,[DESPRODTIT] + ,[QUOTA_MAX_PERC] + ) + select --top 10 + @DataFineTrim AS DTTRIM, + DTRIFE AS DTRIFE, + RETE AS RETE, + CODFIS AS CODFIS, + --ISNULL(CAT.NOMEPRODOTTO,'Da SP - Fonditalia Crescita Protetta 80 Cap EUR') as DESPROD, + CAT.NOMEPRODOTTO as DESPROD, + ISNULL(CODMAN,'') AS CODMAN, + CODCONF AS COD_CONF, + CODPROD AS CODPROD, + SUBPROD AS SUBPROD, + ISIN AS ISIN, + CTV AS CTV, + PREZZO AS PREZZO, + QUOTE AS QUOTE, + PREZZOMAX AS PREZZOMAX, + DTPREZZOMAX AS DTPREZZOMAX, + 'Quota massima' AS DESMAX, + PREZZOPROT AS PREZZOPROT, + CTRVIMPPROT AS CTRVIMPPROT, + 'Quota e controvalore protetti *' AS DESPROT, + 'Fonditalia Crescita Protetta 80' AS [DESPRODTIT], + @Par_percentuale AS QUOTA_MAX_PERC + FROM C6StagingPeriodico.WSEIFP FP + LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT + on --UL.codint=CAT.codinterno and + FP.subprod=CAT.codsottoprodotto + --and FP.isin=ISNULL(CAT.codisin,'') + and CAT.visibilita = 1 + WHERE FP.DTTRIM = @DataFineTrim + and PREZZOMAX <> 0.000 + --AND FP.isin <> '' +-- union +-- select --top 10 +-- RETE AS RETE, +-- CODFIS AS CODFIS, +-- CAT.NOMEPRODOTTO as DES_PROD, +-- CODCONF AS COD_CONF, +-- PREZZO AS QUOTA, +---- CTV/ PREZZO AS NUMEROQUOTE, +-- QUOTE AS NUMEROQUOTE, +-- CTV AS CONTROVALORE, +-- @DataFineTrim AS DATARIF, +-- 'Quota massima' AS DES_MAX, +-- PREZZOMAX AS QUOTA_MAX, +-- @Par_percentuale AS QUOTA_MAX_PERC, +-- CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, +-- 'Quota e controvalore protetti' AS DES_PROT, +-- PREZZOPROT AS QUOTA_PROT, +---- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, +-- QUOTE AS NUMEROQUOTE_PROT, +-- CTRVIMPPROT AS CONTROVALORE_PROT +-- FROM C6StagingPeriodico.WSEIUL UL +-- LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT +-- on UL.codint=CAT.codinterno +-- and UL.subprod=CAT.codsottoprodotto +-- and UL.isinFIT=ISNULL(CAT.codisin,'') +-- and CAT.visibilita = 1 +-- WHERE UL.DTTRIM = @DataFineTrim +-- and PREZZOMAX <> 0.000 +-- AND UL.isinFIT <> '' +-- union +-- select --top 10 +-- RETE AS RETE, +-- CODFIS AS CODFIS, +-- CAT.NOMEPRODOTTO as DES_PROD, +-- CODCONF AS COD_CONF, +-- PREZZO AS QUOTA, +---- CTV/ PREZZO AS NUMEROQUOTE, +-- QUOTE AS NUMEROQUOTE, +-- CTV AS CONTROVALORE, +-- @DataFineTrim AS DATARIF, +-- 'Quota massima' AS DES_MAX, +-- PREZZOMAX AS QUOTA_MAX, +-- @Par_percentuale AS QUOTA_MAX_PERC, +-- CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, +-- 'Quota e controvalore protetti' AS DES_PROT, +-- PREZZOPROT AS QUOTA_PROT, +---- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, +-- QUOTE AS NUMEROQUOTE_PROT, +-- CTRVIMPPROT AS CONTROVALORE_PROT +-- FROM C6StagingPeriodico.WSEIUL UL +-- LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT +-- on UL.codint=CAT.codinterno +-- and UL.subprod=CAT.codsottoprodotto +-- and CAT.visibilita = 1 +-- WHERE UL.DTTRIM = @DataFineTrim +-- and PREZZOMAX <> 0.000 +-- AND UL.isin = '' +-- AND UL.isinFIT = '' +-- union +-- select --top 10 +-- RETE AS RETE, +-- CODFIS AS CODFIS, +-- CAT.NOMEPRODOTTO as DES_PROD, +-- CODCONF AS COD_CONF, +-- PREZZO AS QUOTA, +---- CTV/ PREZZO AS NUMEROQUOTE, +-- QUOTE AS NUMEROQUOTE, +-- CTV AS CONTROVALORE, +-- @DataFineTrim AS DATARIF, +-- 'Quota massima' AS DES_MAX, +-- PREZZOMAX AS QUOTA_MAX, +-- @Par_percentuale AS QUOTA_MAX_PERC, +-- CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX, +-- 'Quota e controvalore protetti' AS DES_PROT, +-- PREZZOPROT AS QUOTA_PROT, +---- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT, +-- QUOTE AS NUMEROQUOTE_PROT, +-- CTRVIMPPROT AS CONTROVALORE_PROT +-- FROM C6StagingPeriodico.WSEIGP GP +-- LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT +-- on GP.isin=ISNULL(CAT.codisin,'') +-- and CAT.tipoprodotto = 'GP' +-- and CAT.visibilita = 1 +-- WHERE GP.DTTRIM = @DataFineTrim +-- and PREZZOMAX <> 0.000 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_FOI80_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_FOI80_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_DEFINITIVI.sql b/sql/storedTestbes/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_DEFINITIVI.sql new file mode 100644 index 00000000..c3f9465b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_DEFINITIVI.sql @@ -0,0 +1,49 @@ +-- ============================================= +-- Author: +-- Create date: <13/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_GESTIONE_EMAIL_REPORT_DEFINITIVI] +AS +BEGIN +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() +DECLARE @GETDATE AS DATETIME +SELECT @GETDATE = GETDATE() + --1. INSERIMENTO MAIL "LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- NON PRESENTI SU GESTIONE_EMAIL +DECLARE @TIPOEMAIL AS VARCHAR(50) +SET @TIPOEMAIL = 'LC_REP_DEF' + INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,CodicePB,Tipo,Data_Generazione, ID_ELAB) + SELECT + DISTINCT + REPGEN.Rete, + ANAG_CLIENTI.ID_PROMOTORE as CodicePB, + @TIPOEMAIL as TipoEmail, + @GETDATE AS DataGenerazione, + @ID_ELAB as ID_ELAB + FROM C6MartPeriodico.GESTIONE_PDF_FTP REPGEN + INNER JOIN C6MartPeriodico.ANAG_CLIENTI ANAG_CLIENTI + ON REPGEN.RETE = ANAG_CLIENTI.RETE + AND REPGEN.CODICEFISCALE = ANAG_CLIENTI.COD_FISCALE + AND ISNULL(REPGEN.FLAGINVIO,'N') = 'S' + AND ISNULL(REPGEN.Definitivo,0) = 1 + LEFT OUTER JOIN C6MartPeriodico.GESTIONE_EMAIL EMAIL + ON REPGEN.RETE = EMAIL.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = EMAIL.CodicePB + AND EMAIL.TIPO = @TIPOEMAIL + AND ISNULL(EMAIL.[Inviata],'N') = 'N' + LEFT OUTER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON ANAG_CLIENTI.ID_PROMOTORE BETWEEN PF.CODICEDA AND PF.CODICEA + AND REPGEN.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.CodicePB IS NULL + AND PF.RETE IS NULL +IF @@ERROR<>0 ROLLBACK +COMMIT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_GENERATI.sql b/sql/storedTestbes/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_GENERATI.sql new file mode 100644 index 00000000..f9432b28 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_GESTIONE_EMAIL_REPORT_GENERATI.sql @@ -0,0 +1,41 @@ +-- ============================================= +-- Author: +-- Create date: <13/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_GESTIONE_EMAIL_REPORT_GENERATI] +AS +BEGIN +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() +DECLARE @GETDATE AS DATETIME +SELECT @GETDATE = GETDATE() + --1. INSERIMENTO MAIL "LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- NON PRESENTI SU GESTIONE_EMAIL +DECLARE @TIPOEMAIL AS VARCHAR(50) +SET @TIPOEMAIL = 'LC_REP_GEN' +-- Controllo se ci sono report generati + DECLARE @NUM_RIGHE AS INT + SELECT @NUM_RIGHE = COUNT(*) + FROM C6MartPeriodico.GESTIONE_PDF_FTP REPGEN + LEFT OUTER JOIN C6MartPeriodico.GESTIONE_EMAIL EMAIL + ON REPGEN.ID_ELAB = EMAIL.ID_ELAB + AND ISNULL(REPGEN.FLAGINVIO,'N') = 'N' + AND EMAIL.TIPO = @TIPOEMAIL + AND ISNULL(EMAIL.[Inviata],'N') = 'N' + WHERE 1 = 1 + --AND REPGEN.ID_ELAB = @ID_ELAB + AND EMAIL.ID_ELAB IS NULL +IF @NUM_RIGHE > 0 +BEGIN +INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,CodicePB,SistemiOperativi ,Tipo,Data_Generazione, ID_ELAB) +VALUES('','','S',@TIPOEMAIL,@GETDATE,@ID_ELAB) +END +IF @@ERROR<>0 ROLLBACK +COMMIT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_GESTIONE_EMAIL_RNA.sql b/sql/storedTestbes/C6MartPeriodico_DM_GESTIONE_EMAIL_RNA.sql new file mode 100644 index 00000000..2e03c586 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_GESTIONE_EMAIL_RNA.sql @@ -0,0 +1,52 @@ +-- ============================================= +-- Author: +-- Create date: <13/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_GESTIONE_EMAIL_RNA] +AS +BEGIN +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() +DECLARE @GETDATE AS DATETIME +SELECT @GETDATE = GETDATE() +-- RECUPERO LA TIPOLOGIA DI EMAIL DI SOLLECITO +DECLARE @NUMEL_EMAIL_AL_MESE AS INT +SELECT @NUMEL_EMAIL_AL_MESE = C6MartPeriodico.getNumeroElaborazioniEmailAlMese() +DECLARE @TIPOEMAIL AS VARCHAR(50) +IF(@NUMEL_EMAIL_AL_MESE = 0) + SET @TIPOEMAIL = 'LC_NOASS' +ELSE + SET @TIPOEMAIL = 'LC_' + CAST(@NUMEL_EMAIL_AL_MESE as VARCHAR(1)) + '_SOLL_NOASS' + --1. INSERIMENTO MAIL "LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- NON PRESENTI SU GESTIONE_EMAIL + INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,CodicePB,Tipo,Data_Generazione, ID_ELAB) + SELECT + DISTINCT + C6.Rete, + C6.CodicePB as CodicePB, + @TIPOEMAIL as TipoEmail, + @GETDATE AS DataGenerazione, + @ID_ELAB as ID_ELAB + FROM C6MartPeriodico.CLIENTI_CON_RNA_ALTO C6 + LEFT OUTER JOIN C6MartPeriodico.GESTIONE_EMAIL EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.CodicePB = EMAIL.CodicePB + AND EMAIL.TIPO = @TIPOEMAIL + AND YEAR(EMAIL.Data_Generazione) = YEAR(@GETDATE) + AND MONTH(EMAIL.Data_Generazione) = MONTH(@GETDATE) + LEFT OUTER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.CodicePB BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.CodicePB IS NULL + AND PF.RETE IS NULL +-- +IF @@ERROR<>0 ROLLBACK +COMMIT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_MAIL_PROFILI_RISCHIO.sql b/sql/storedTestbes/C6MartPeriodico_DM_MAIL_PROFILI_RISCHIO.sql new file mode 100644 index 00000000..1f93fa23 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_MAIL_PROFILI_RISCHIO.sql @@ -0,0 +1,28 @@ +-- Stored procedure +CREATE procedure [C6MartPeriodico].[DM_MAIL_PROFILI_RISCHIO] AS +BEGIN +truncate table [C6MartPeriodico].[MAIL_PROFILI_RISCHIO] +insert into [C6MartPeriodico].[MAIL_PROFILI_RISCHIO] +SELECT [rete] + ,[cod_fiscale] + ,[codicecontratto] + ,[cod_agente] + ,[data_sott] + ,[data_perf] + ,[flag_invio_report] + ,[profilo] + ,[dt_creazione_profilo] + ,case + when profilo = 0 then 1 + else 0 + end as flagScaduto + ,case + when datediff(dd,dt_creazione_profilo,c6martperiodico.gettrimestre2(getdate(),0)) / 365.25 < 3 then 0 + else 1 + end as flagScadenzaTrim + ,case + when datediff(dd,dt_creazione_profilo,c6martperiodico.getNexttrimestre(getdate(),0)) / 365.25 < 3 then 0 + else 1 + end as flagScadenzaNextTrim + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[RP_MAIL_PROFILI_RISCHIO] +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_MIFID.sql b/sql/storedTestbes/C6MartPeriodico_DM_MIFID.sql new file mode 100644 index 00000000..6c076e50 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_MIFID.sql @@ -0,0 +1,138 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: Aggiunta chiave primaria autoincrement su tabella di staging +-- per eliminazione duplicati. +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MIFID] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_MIFID', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.MIFID + INSERT INTO C6MartPeriodico.[MIFID] + ([RETE] + ,[COD_FISCALE] + ,[PROFILO_ASS] + ,[DATA_INIZIO_VAL] + ,[ID_ELAB] + ,[RISKCLASS] + ,[EXPERIENCE] + ,SCADUTO ) + SELECT + AN.RETE AS RETE, + AN.CODFIS AS COD_FISCALE, + case when RPF.FLGPROF='P' then 0 else AN.CODPROF end AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + CLASSeRC, + CASE + WHEN + RPF.FLGPROF='P' then -1 else COD_PROFEC + end, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN RPF.FLGPROF='P' then 2 + when ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + FROM + C6StagingPeriodico.WSEIAN2 AS AN + LEFT JOIN C6MartPeriodico.wseirpf RPF + ON AN.RETE=RPF.RETE AND AN.CODFIS=RPF.CODFIS + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + --ON AL.RETE_PB = AN.RETE + --AND AL.CODICEFISCALE = AN.CODFIS + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN='' +UNION +SELECT + AN.RETE AS RETE, + 'FF@' + AN.CODMAN AS COD_FISCALE, --AN.CODFIS AS COD_FISCALE, + case when RPF.FLGPROF='P' then 0 else AN.CODPROF end AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + classErc, + case when RPF.FLGPROF='P' then -1 else COD_PROFEC + end, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN RPF.FLGPROF='P' then 2 + WHEN + ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + FROM + C6StagingPeriodico.WSEIAN2 AS AN + LEFT JOIN C6MartPeriodico.wseirpf RPF + ON AN.RETE=RPF.RETE AND AN.CODFIS=RPF.CODFIS AND AN.CODMAN=RPF.CODMAN + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + -- ON AL.RETE_PB = AN.RETE + -- AND SUBSTRING(AL.CODICEFISCALE,4,4) = AN.CODMAN + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN <> '' + --AND AL.CODICEFISCALE LIKE '%@%' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MIFID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_MIFID' + ) +END +--select count(*) from c6martperiodico.mifid \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_MIFID_BKP_20231114_PRE_RAFFORZAMENTO.sql b/sql/storedTestbes/C6MartPeriodico_DM_MIFID_BKP_20231114_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..6f707e97 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_MIFID_BKP_20231114_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,129 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: Aggiunta chiave primaria autoincrement su tabella di staging +-- per eliminazione duplicati. +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MIFID_BKP_20231114_PRE_RAFFORZAMENTO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_MIFID', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.MIFID + INSERT INTO C6MartPeriodico.[MIFID] + ([RETE] + ,[COD_FISCALE] + ,[PROFILO_ASS] + ,[DATA_INIZIO_VAL] + ,[ID_ELAB] + ,[RISKCLASS] + ,[EXPERIENCE] + ,SCADUTO ) + SELECT + AN.RETE AS RETE, + AN.CODFIS AS COD_FISCALE, + AN.CODPROF AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + CLASSeRC, + COD_PROFEC, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN + ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + FROM + C6StagingPeriodico.WSEIAN2 AS AN + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + --ON AL.RETE_PB = AN.RETE + --AND AL.CODICEFISCALE = AN.CODFIS + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN='' +UNION +SELECT + AN.RETE AS RETE, + 'FF@' + AN.CODMAN AS COD_FISCALE, --AN.CODFIS AS COD_FISCALE, + AN.CODPROF AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + classErc, + COD_PROFEC, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN + ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + FROM + C6StagingPeriodico.WSEIAN2 AS AN + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + -- ON AL.RETE_PB = AN.RETE + -- AND SUBSTRING(AL.CODICEFISCALE,4,4) = AN.CODMAN + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN <> '' + --AND AL.CODICEFISCALE LIKE '%@%' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MIFID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_MIFID' + ) +END +--select count(*) from c6martperiodico.mifid \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_MIFID_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_MIFID_pre_selective.sql new file mode 100644 index 00000000..8e6a4cae --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_MIFID_pre_selective.sql @@ -0,0 +1,129 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: Aggiunta chiave primaria autoincrement su tabella di staging +-- per eliminazione duplicati. +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MIFID_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MIFID_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.MIFID + INSERT INTO C6MartPeriodico.[MIFID] + ([RETE] + ,[COD_FISCALE] + ,[PROFILO_ASS] + ,[DATA_INIZIO_VAL] + ,[ID_ELAB] + ,[RISKCLASS] + ,[EXPERIENCE] + ,SCADUTO ) + SELECT + AN.RETE AS RETE, + AN.CODFIS AS COD_FISCALE, + AN.CODPROF AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + CLASSeRC, + COD_PROFEC, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN + ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + FROM + C6StagingPeriodico.WSEIAN2 AS AN + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + --ON AL.RETE_PB = AN.RETE + --AND AL.CODICEFISCALE = AN.CODFIS + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN='' +UNION +SELECT + AN.RETE AS RETE, + 'FF@' + AN.CODMAN AS COD_FISCALE, --AN.CODFIS AS COD_FISCALE, + AN.CODPROF AS PROFILO_ASS, + CASE + WHEN AN.DTINVAL = 0 THEN CASE + WHEN AN.CODPROF = 0 THEN NULL + ELSE GETDATE() + END + ELSE CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_INIZIO_VAL, + @ID_ELAB AS ID_ELAB, + classErc, + COD_PROFEC, +-- CASE +-- WHEN datediff(dd, +-- case when isnull(AN.DTINVAL,0) <> 0 +-- then CAST(CAST(AN.DTINVAL AS VARCHAR(8)) AS DATETIME) +-- else CAST('19900101' as DATETIME) +-- END +-- , c6martperiodico.gettrimestre2(getdate(),0))/365.25<3 THEN 0 +-- ELSE 1 +-- END AS SCADUTO + CASE + WHEN + ISNULL(AN.CODPROF,0)>0 THEN 0 + ELSE 1 + END AS SCADUTO + FROM + C6StagingPeriodico.WSEIAN2 AS AN + --C6StagingPeriodico.ALL_CF_PB AS AL + --LEFT OUTER JOIN C6StagingPeriodico.WSEIAN AS AN + -- ON AL.RETE_PB = AN.RETE + -- AND SUBSTRING(AL.CODICEFISCALE,4,4) = AN.CODMAN + WHERE AN.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2 ) + AND AN.CODMAN <> '' + --AND AL.CODICEFISCALE LIKE '%@%' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MIFID_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MIFID_pre_selective' + ) +END +--select count(*) from c6martperiodico.mifid \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE.sql b/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE.sql new file mode 100644 index 00000000..73cd34e6 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE.sql @@ -0,0 +1,159 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_ATTUALE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_ATTUALE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_ATTIVAZIONE] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[APPORTO_INIZIALE] + ,[APPORTO_SUCCESSIVO] + ,[LIQUIDAZIONI] + ,[CEDOLE_DIVIDENDI] + ,[MINUS_PLUSVALENZA] + ,[RISORSE_ASSOCIATE] + ,[RENDIMENTO_CUMULATO] + ,[RENDIMENTO_ANNUALIZZATO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB]) +-- SELECT +-- WANAB.RETE, +-- WANAB.CODFIS AS COD_FISCALE, +-- CASE +-- WHEN WANAB.CODAREA = 'INV' THEN 'Inv' +-- WHEN WANAB.CODAREA = 'RIS' THEN 'Ris' +-- WHEN WANAB.CODAREA = 'EXR' THEN 'Ext' +-- WHEN WANAB.CODAREA = 'LIQ' THEN 'Liq' +-- END AS ID_AREA, +-- ISNULL(CASE +-- WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN PRCONSUL.C_PROJECTNAM_11D1A +-- ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO +-- END, 'XXX') AS NOME_PROGETTO, +-- CAST(CAST(WANAB.DTRIF AS VARCHAR(8)) AS DATETIME) AS DATA_ATTIVAZIONE, +-- CASE +-- WHEN WANAB.DTCTV = 0 THEN NULL +-- ELSE CAST(CAST(WANAB.DTCTV AS VARCHAR(8)) AS DATETIME) +-- END AS DATA_CTV, +-- WANAB.CTV AS CTV_MONITORATO, +-- WANAB.APP_INI AS APPORTO_INIZIALE, +-- WANAB.NTOT_APP AS APPORTO_SUCCESSIVO, +-- WANAB.NTOT_LIQ AS LIQUIDAZIONI, +-- WANAB.TOT_CED + WANAB.TOT_DIV AS CEDOLE_DIVIDENDI, +-- WANAB.CTV - (WANAB.APP_INI + WANAB.TOT_APP - WANAB.TOT_LIQ - WANAB.TOT_CED - WANAB.TOT_DIV) AS MINUS_PLUSVALENZA, +-- WANAB.APP_INI + WANAB.NTOT_APP - WANAB.NTOT_LIQ - WANAB.TOT_CED - WANAB.TOT_DIV AS RISORSE_ASSOCIATE, +-- WANAB.RENDATT AS RENDIMENTO_CUMULATO, +-- WANAB.RENDATT AS RENDIMENTO_ANNUALIZZATO, +-- WANAB.CODPROG AS ORDINAMENTO_PROGETTO, +-- @ID_ELAB AS ID_ELAB +-- +-- FROM C6StagingPeriodico.WANAB AS WANAB +-- INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL +-- ON WANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 +-- INNER JOIN C6StagingPeriodico.CONSAREA AS AREA +-- ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ +-- INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL +-- ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ +-- INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO +-- ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE +-- AND CONSUL.INSTID = SCELTA_STATO.RETE +-- AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA +-- LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA +-- ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 +-- WHERE 1 = 1 +-- AND WANAB.DTFINE = 99991231 +-- AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 +-- +-- UNION + SELECT + TANAB.RETE, + CASE + WHEN MANDATI.CODMAND IS NULL THEN TANAB.CODFIS + ELSE dbo.getFiduciariaByCodMand(MANDATI.CODMAND) + END AS COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CASE + WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + ELSE LTRIM(RTRIM(PROGETTO_BOZZA.NUOVO_NOME_PROGETTO)) + END, 'XXX') AS NOME_PROGETTO, + CAST(CAST(TANAB.DTRIF AS VARCHAR(8)) AS DATETIME) AS DATA_ATTIVAZIONE, + CASE + WHEN TANAB.DTCTV = 0 THEN NULL + ELSE CAST(CAST(TANAB.DTCTV AS VARCHAR(8)) AS DATETIME) + END AS DATA_CTV, + TANAB.CTV AS CTV_MONITORATO, + TANAB.APP_INI AS APPORTO_INIZIALE, + TANAB.NTOT_APP AS APPORTO_SUCCESSIVO, + TANAB.NTOT_LIQ AS LIQUIDAZIONI, + TANAB.TOT_CED + TANAB.TOT_DIV AS CEDOLE_DIVIDENDI, + TANAB.CTV - (TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ) AS MINUS_PLUSVALENZA, + -- TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ - TANAB.TOT_CED - TANAB.TOT_DIV AS RISORSE_ASSOCIATE, + TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ AS RISORSE_ASSOCIATE, + cast(TANAB.RENDATT as decimal(15,2)) AS RENDIMENTO_CUMULATO, + TANAB.RENDATTANN AS RENDIMENTO_ANNUALIZZATO, + TANAB.CODPROG AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodico.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL + ON TANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 + INNER JOIN C6StagingPeriodico.CONSAREA AS AREA + ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ + INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL + ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO + ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE + AND CONSUL.INSTID = SCELTA_STATO.RETE + AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA + LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA + ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 + LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI + ON TANAB.CODFIS = MANDATI.CODMAND + WHERE 1 = 1 + AND TANAB.DTFINE = 99991231 + AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 + --da eliminare Trimestrale Ottobre 2012 + --and TANAB.CODFIS <> '6120' + --V disabilitazione + --AND tanab.codfis not in('GRVMRZ63C14L566J','DNGMRA56E66D542Z') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_ATTUALE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_ATTUALE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE_pre_selective.sql new file mode 100644 index 00000000..801e9587 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_ATTUALE_pre_selective.sql @@ -0,0 +1,159 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_ATTUALE_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_ATTUALE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_ATTIVAZIONE] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[APPORTO_INIZIALE] + ,[APPORTO_SUCCESSIVO] + ,[LIQUIDAZIONI] + ,[CEDOLE_DIVIDENDI] + ,[MINUS_PLUSVALENZA] + ,[RISORSE_ASSOCIATE] + ,[RENDIMENTO_CUMULATO] + ,[RENDIMENTO_ANNUALIZZATO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB]) +-- SELECT +-- WANAB.RETE, +-- WANAB.CODFIS AS COD_FISCALE, +-- CASE +-- WHEN WANAB.CODAREA = 'INV' THEN 'Inv' +-- WHEN WANAB.CODAREA = 'RIS' THEN 'Ris' +-- WHEN WANAB.CODAREA = 'EXR' THEN 'Ext' +-- WHEN WANAB.CODAREA = 'LIQ' THEN 'Liq' +-- END AS ID_AREA, +-- ISNULL(CASE +-- WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN PRCONSUL.C_PROJECTNAM_11D1A +-- ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO +-- END, 'XXX') AS NOME_PROGETTO, +-- CAST(CAST(WANAB.DTRIF AS VARCHAR(8)) AS DATETIME) AS DATA_ATTIVAZIONE, +-- CASE +-- WHEN WANAB.DTCTV = 0 THEN NULL +-- ELSE CAST(CAST(WANAB.DTCTV AS VARCHAR(8)) AS DATETIME) +-- END AS DATA_CTV, +-- WANAB.CTV AS CTV_MONITORATO, +-- WANAB.APP_INI AS APPORTO_INIZIALE, +-- WANAB.NTOT_APP AS APPORTO_SUCCESSIVO, +-- WANAB.NTOT_LIQ AS LIQUIDAZIONI, +-- WANAB.TOT_CED + WANAB.TOT_DIV AS CEDOLE_DIVIDENDI, +-- WANAB.CTV - (WANAB.APP_INI + WANAB.TOT_APP - WANAB.TOT_LIQ - WANAB.TOT_CED - WANAB.TOT_DIV) AS MINUS_PLUSVALENZA, +-- WANAB.APP_INI + WANAB.NTOT_APP - WANAB.NTOT_LIQ - WANAB.TOT_CED - WANAB.TOT_DIV AS RISORSE_ASSOCIATE, +-- WANAB.RENDATT AS RENDIMENTO_CUMULATO, +-- WANAB.RENDATT AS RENDIMENTO_ANNUALIZZATO, +-- WANAB.CODPROG AS ORDINAMENTO_PROGETTO, +-- @ID_ELAB AS ID_ELAB +-- +-- FROM C6StagingPeriodico.WANAB AS WANAB +-- INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL +-- ON WANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 +-- INNER JOIN C6StagingPeriodico.CONSAREA AS AREA +-- ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ +-- INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL +-- ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ +-- INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO +-- ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE +-- AND CONSUL.INSTID = SCELTA_STATO.RETE +-- AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA +-- LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA +-- ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 +-- WHERE 1 = 1 +-- AND WANAB.DTFINE = 99991231 +-- AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 +-- +-- UNION + SELECT + TANAB.RETE, + CASE + WHEN MANDATI.CODMAND IS NULL THEN TANAB.CODFIS + ELSE dbo.getFiduciariaByCodMand(MANDATI.CODMAND) + END AS COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CASE + WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + ELSE LTRIM(RTRIM(PROGETTO_BOZZA.NUOVO_NOME_PROGETTO)) + END, 'XXX') AS NOME_PROGETTO, + CAST(CAST(TANAB.DTRIF AS VARCHAR(8)) AS DATETIME) AS DATA_ATTIVAZIONE, + CASE + WHEN TANAB.DTCTV = 0 THEN NULL + ELSE CAST(CAST(TANAB.DTCTV AS VARCHAR(8)) AS DATETIME) + END AS DATA_CTV, + TANAB.CTV AS CTV_MONITORATO, + TANAB.APP_INI AS APPORTO_INIZIALE, + TANAB.NTOT_APP AS APPORTO_SUCCESSIVO, + TANAB.NTOT_LIQ AS LIQUIDAZIONI, + TANAB.TOT_CED + TANAB.TOT_DIV AS CEDOLE_DIVIDENDI, + TANAB.CTV - (TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ) AS MINUS_PLUSVALENZA, + -- TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ - TANAB.TOT_CED - TANAB.TOT_DIV AS RISORSE_ASSOCIATE, + TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ AS RISORSE_ASSOCIATE, + cast(TANAB.RENDATT as decimal(15,2)) AS RENDIMENTO_CUMULATO, + TANAB.RENDATTANN AS RENDIMENTO_ANNUALIZZATO, + TANAB.CODPROG AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodico.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL + ON TANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 + INNER JOIN C6StagingPeriodico.CONSAREA AS AREA + ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ + INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL + ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO + ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE + AND CONSUL.INSTID = SCELTA_STATO.RETE + AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA + LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA + ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 + LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI + ON TANAB.CODFIS = MANDATI.CODMAND + WHERE 1 = 1 + AND TANAB.DTFINE = 99991231 + AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 + --da eliminare Trimestrale Ottobre 2012 + --and TANAB.CODFIS <> '6120' + --V disabilitazione + --AND tanab.codfis not in('GRVMRZ63C14L566J','DNGMRA56E66D542Z') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_ATTUALE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_ATTUALE_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO.sql b/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO.sql new file mode 100644 index 00000000..b21d5d3c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO.sql @@ -0,0 +1,124 @@ +-- ============================================= +-- Author: Alessandro Tringali +-- Create date: 18 Settembre 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_DETTAGLIO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_DETTAGLIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + case when A.TIPPROD='CC' and data_associazione < '20110211' then cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + CASE + WHEN MAN.CODMAND IS NULL THEN TCP.CODFIS + ELSE dbo.getFiduciariaByCodMand(MAN.CODMAND) + END AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + LEFT OUTER JOIN + C6STAGINGPERIODICO.WMANDATI MAN + ON ANA.CODFIS = MAN.CODMAND + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CUSTGAR is null OR LTRIM(RTRIM(a.CUSTGAR)) = '') then '0' else A.CUSTGAR end)=B.CUSTGAR +-- AND A.MAF=B.MAF + --V Modifica skandia di tipo ASU2 + AND b.isin = case when (a.tipprod = 'ASU2') then a.isin else 'na' end + --da eliminare Trimestrale Ottobre 2012 + --and B.CODFIS not in ('FF@6120', 'SNTRNI51C01D077B', 'FNTLRA71A61E625O', 'NTMLSN59D60E625H') + --and a.cod_fiscale not in ('GHBSRG47C01B033J') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_DETTAGLIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_DETTAGLIO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql new file mode 100644 index 00000000..7fd8ddc9 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql @@ -0,0 +1,124 @@ +-- ============================================= +-- Author: Alessandro Tringali +-- Create date: 18 Settembre 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_DETTAGLIO_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_DETTAGLIO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + case when A.TIPPROD='CC' and data_associazione < '20110211' then cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + CASE + WHEN MAN.CODMAND IS NULL THEN TCP.CODFIS + ELSE dbo.getFiduciariaByCodMand(MAN.CODMAND) + END AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + LEFT OUTER JOIN + C6STAGINGPERIODICO.WMANDATI MAN + ON ANA.CODFIS = MAN.CODMAND + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CUSTGAR is null OR LTRIM(RTRIM(a.CUSTGAR)) = '') then '0' else A.CUSTGAR end)=B.CUSTGAR +-- AND A.MAF=B.MAF + --V Modifica skandia di tipo ASU2 + AND b.isin = case when (a.tipprod = 'ASU2') then a.isin else 'na' end + --da eliminare Trimestrale Ottobre 2012 + --and B.CODFIS not in ('FF@6120', 'SNTRNI51C01D077B', 'FNTLRA71A61E625O', 'NTMLSN59D60E625H') + --and a.cod_fiscale not in ('GHBSRG47C01B033J') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_DETTAGLIO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_DETTAGLIO_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE.sql b/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE.sql new file mode 100644 index 00000000..54435d25 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE.sql @@ -0,0 +1,83 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_INIZIALE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_INIZIALE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + ([RETE] + ,[COD_FISCALE] + ,[DATA_FOTO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] + ,[RISKCLASS] + , [RISKCLASSMAX] + ,[ID_ELAB]) + SELECT + INSTID AS RETE, + ADBKID AS COD_FISCALE, + C_DATASALVAT_D40E3 AS DATA_FOTO, + C_CTVEXT_34DCC + C_CTVINV_990D8 + C_CTVRIS_43FEA + C_CTVPRE_A0E49 + C_CTVLIQ_54D1B + C_CTVCC_E242D + C_CTVNA_473EA + AS CTV_TOTALE, + C_CTVEXT_34DCC AS CTV_EXT, + C_CTVINV_990D8 AS CTV_INV, + C_CTVRIS_43FEA AS CTV_RIS, + C_CTVPRE_A0E49 AS CTV_PRE, + C_CTVLIQ_54D1B AS CTV_LIQ, + C_CTVCC_E242D AS CTV_CC, + C_CTVNA_473EA AS CTV_NA, + C_INVESTIMEN_5F936 AS PARTITA_VIAGGIANTE, + C_VAR_16494 AS VAR_COMPLESSIVO, + C_COPVAR_5C6E5 AS VAR_COPERTURA, + CODICE_PROFILO AS PROFILO, + VAR_MAX_PROFILO AS VAR_MAX_PROFILO, + c6martperiodico.Codifica_CRisk_PhotoData(RISKCLASS), + c6martperiodico.Codifica_CRisk_PhotoData(RISKCLASSMAX), + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.PHOTO_DATA + WHERE 1 = 1 + AND SUBSTRING(TYPE__TYPE_7CAB6, 1, 1) = '1' + AND SUBSTRING(TYPE__STATUS_1E30E, 1 , 1) = '2' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_INIZIALE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_INIZIALE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA.sql b/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA.sql new file mode 100644 index 00000000..c7b9ffa3 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA.sql @@ -0,0 +1,325 @@ +--exec C6MartPeriodico.DM_MONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_INIZIALE_AGGIORNAMENTO_RFA] +as +begin + DECLARE @DataCongelamento DATETIME; + DECLARE @DataCongelamento_Day int; + DECLARE @DataCongelamento_Month int; + DECLARE @DataCongelamento_Year int; + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento(); + SET @DataCongelamento_Day = day(@DataCongelamento); + SET @DataCongelamento_Month = month(@DataCongelamento); + SET @DataCongelamento_Year = year(@DataCongelamento); + ------------------------------------------------------------------- + -- Preparazione del tracciato dei valori + -- da inserire in MONITORAGGIO_INIZIALE e PHOTO_DATA + ------------------------------------------------------------------- + declare @NuoviValori table + ( + Rete varchar(1) + ,Cod_Fiscale varchar(16) + ,Data_Foto datetime + ,Ctv_Totale decimal(15, 2) + ,Ctv_Ext decimal(15, 2) + ,Ctv_Inv decimal(15, 2) + ,Ctv_Ris decimal(15, 2) + ,Ctv_Pre decimal(15, 2) + ,Ctv_Liq decimal(15, 2) + ,Ctv_Cc decimal(15, 2) + ,Ctv_Na decimal(15, 2) + ,ImportoPartiteViaggianti decimal(15, 2) + ,Var_Complessivo decimal(15, 3) + ,Var_Copertura decimal(15, 3) + ); + with K as + ( select distinct Rete, Cod_Fiscale, Data_Foto + from C6MartPeriodico.MONITORAGGIO_INIZIALE + where ( day(Data_Foto) = 31 and month(Data_Foto) = 12 and year(data_foto) = @dataCongelamento_year and + @DataCongelamento_Day = 31 and @DataCongelamento_Month = 12) + or + ( day(Data_Foto) = 31 and month(Data_Foto) = 3 and year(data_foto) = @dataCongelamento_year and + @DataCongelamento_Day = 1 and @DataCongelamento_Month = 4) + or + ( day(Data_Foto) = 30 and month(Data_Foto) = 6 and year(data_foto) = @dataCongelamento_year and + @DataCongelamento_Day = 1 and @DataCongelamento_Month = 7) + or + ( day(Data_Foto) = 30 and month(Data_Foto) = 9 and year(data_foto) = @dataCongelamento_year and + @DataCongelamento_Day = 1 and @DataCongelamento_Month = 10) + ) + , Controvalore_Totale as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Ctv) as Ctv_Totale + from K + inner join + ( + select Rete, Cod_Fiscale, Ctv + from C6MartPeriodico.Patrimonio_Bf + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , Controvalore_Ext as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Ctv) as Ctv_Ext + from K + inner join + ( + select Rete, Cod_Fiscale, Ctv + from C6MartPeriodico.Patrimonio_Bf + where id_Area = 'Ext' + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , Controvalore_Inv as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Ctv) as Ctv_Inv + from K + inner join + ( + select Rete, Cod_Fiscale, Ctv + from C6MartPeriodico.Patrimonio_Bf + where id_Area = 'Inv' + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , Controvalore_Ris as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Ctv) as Ctv_Ris + from K + inner join + ( + select Rete, Cod_Fiscale, Ctv + from C6MartPeriodico.Patrimonio_Bf + where id_Area = 'Ris' + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , Controvalore_Pre as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Ctv) as Ctv_Pre + from K + inner join + ( + select Rete, Cod_Fiscale, Ctv + from C6MartPeriodico.Patrimonio_Bf + where id_Area in ('Pre','Pre1','Pre2') + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , Controvalore_Liq as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Ctv) as Ctv_Liq + from K + inner join + ( + select Rete, Cod_Fiscale, Ctv + from C6MartPeriodico.Patrimonio_Bf + where id_Area = 'Liq' + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , Controvalore_Cc as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Ctv) as Ctv_Cc + from K + inner join + ( + select Rete, Cod_Fiscale, Ctv + from C6MartPeriodico.Patrimonio_Bf + where id_Area = 'Cc' + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , Controvalore_Na as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Ctv) as Ctv_Na + from K + inner join + ( + select Rete, Cod_Fiscale, Ctv + from C6MartPeriodico.Patrimonio_Bf + where id_Area = 'Na' + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , PartiteViaggianti as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Importo) as Importo + from K + inner join + ( + select Rete, Cod_Fiscale, Importo + from c6martperiodico.partite_viaggianti + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , PartiteViaggianti_Patrimonio_Bf as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.PartVia_DisInv) as Importo + from K + inner join + ( + select Rete, Cod_Fiscale, PartVia_DisInv + from c6martperiodico.Patrimonio_Bf + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + group by K.Rete, K.Cod_Fiscale + ) + , VarCopertura as + ( + select K.Rete, K.Cod_Fiscale, + Sum(C.Var_Perc_Ptf) as Var_Complessivo, + Sum(C.Copertura) as Var_Copertura + from K + inner join + ( + select Rete, Cod_Fiscale, Var_Perc_Ptf, Copertura, COD_AGGREG + from C6MartPeriodico.RISCHIO_AGGREGATO + ) C + on K.Rete = C.Rete and + K.Cod_Fiscale = C.Cod_Fiscale + where C.COD_AGGREG = 'COMPLESSIVO|BF' + group by K.Rete, K.Cod_Fiscale + ) + ------------------------------------------------------------------- + -- Calcolo dei nuovi valori per l'aggiornamento + -- della MONITORAGGIO_INIZIALE e della PHOTO_DATA + ------------------------------------------------------------------- + insert into @NuoviValori + select K.Rete, + K.Cod_Fiscale, + K.Data_Foto, + coalesce(Controvalore_Totale.Ctv_Totale, 0) as Ctv_Totale, + coalesce(Controvalore_Ext.Ctv_Ext, 0) as Ctv_Ext, + coalesce(Controvalore_Inv.Ctv_Inv, 0) as Ctv_Inv, + coalesce(Controvalore_Ris.Ctv_Ris, 0) as Ctv_Ris, + coalesce(Controvalore_Pre.Ctv_Pre, 0) as Ctv_Pre, + coalesce(Controvalore_Liq.Ctv_Liq, 0) as Ctv_Liq, + coalesce(Controvalore_Cc.Ctv_Cc, 0) as Ctv_Cc, + coalesce(Controvalore_Na.Ctv_Na, 0) as Ctv_Na, + coalesce(PartiteViaggianti.Importo + PartiteViaggianti_Patrimonio_Bf.Importo, 0) as ImportoPartiteViaggianti, + coalesce(VarCopertura.Var_Complessivo, 0) as Var_Complessivo, + coalesce(VarCopertura.Var_Copertura, 0) as Var_Copertura + from K + inner join Controvalore_Totale on K.Rete = Controvalore_Totale.Rete and + K.Cod_Fiscale = Controvalore_Totale.Cod_Fiscale + left join Controvalore_Ext on K.Rete = Controvalore_Ext.Rete and + K.Cod_Fiscale = Controvalore_Ext.Cod_Fiscale + left join Controvalore_Inv on K.Rete = Controvalore_Inv.Rete and + K.Cod_Fiscale = Controvalore_Inv.Cod_Fiscale + left join Controvalore_Ris on K.Rete = Controvalore_Ris.Rete and + K.Cod_Fiscale = Controvalore_Ris.Cod_Fiscale + left join Controvalore_Pre on K.Rete = Controvalore_Pre.Rete and + K.Cod_Fiscale = Controvalore_Pre.Cod_Fiscale + left join Controvalore_Liq on K.Rete = Controvalore_Liq.Rete and + K.Cod_Fiscale = Controvalore_Liq.Cod_Fiscale + left join Controvalore_Cc on K.Rete = Controvalore_Cc.Rete and + K.Cod_Fiscale = Controvalore_Cc.Cod_Fiscale + left join Controvalore_Na on K.Rete = Controvalore_Na.Rete and + K.Cod_Fiscale = Controvalore_Na.Cod_Fiscale + inner join VarCopertura on Controvalore_Totale.Rete = VarCopertura.Rete and + Controvalore_Totale.Cod_Fiscale = VarCopertura.Cod_Fiscale + left join PartiteViaggianti on VarCopertura.Rete = PartiteViaggianti.Rete and + VarCopertura.Cod_Fiscale = PartiteViaggianti.Cod_Fiscale + left join PartiteViaggianti_Patrimonio_Bf + on PartiteViaggianti.Rete = PartiteViaggianti_Patrimonio_Bf.Rete and + PartiteViaggianti.Cod_Fiscale = PartiteViaggianti_Patrimonio_Bf.Cod_Fiscale + ------------------------------------------------------------------- + -- Aggiornamento MONITORAGGIO_INIZIALE + ------------------------------------------------------------------- + Update Destinazione + set CTV_Totale = NuoviValori.Ctv_Totale + ,CTV_EXT = NuoviValori.Ctv_Ext + ,CTV_INV = NuoviValori.Ctv_Inv + ,CTV_RIS = NuoviValori.Ctv_Ris + ,CTV_PRE = NuoviValori.Ctv_Pre + ,CTV_LIQ = NuoviValori.Ctv_Liq + ,CTV_CC = NuoviValori.Ctv_Cc + ,CTV_NA = NuoviValori.Ctv_Na + ,PARTITA_VIAGGIANTE = NuoviValori.ImportoPartiteViaggianti + ,VAR_COMPLESSIVO = NuoviValori.Var_Complessivo + ,VAR_COPERTURA = NuoviValori.Var_Copertura + from + @NuoviValori NuoviValori + inner join + C6MartPeriodico.MONITORAGGIO_INIZIALE Destinazione + on NuoviValori.Rete = Destinazione.Rete and + NuoviValori.Cod_Fiscale = Destinazione.Cod_Fiscale + ------------------------------------------------------------------- + -- Aggiornamento PHOTO_DATA + ------------------------------------------------------------------- + Update Destinazione + set C_CTVEXT_34DCC = NuoviValori.Ctv_Ext + ,C_CTVINV_990D8 = NuoviValori.Ctv_Inv + ,C_CTVRIS_43FEA = NuoviValori.Ctv_Ris + ,C_CTVPRE_A0E49 = NuoviValori.Ctv_Pre + ,C_CTVLIQ_54D1B = NuoviValori.Ctv_Liq + ,C_CTVCC_E242D = NuoviValori.Ctv_Cc + ,C_CTVNA_473EA = NuoviValori.Ctv_Na + ,C_INVESTIMEN_5F936 = NuoviValori.ImportoPartiteViaggianti + ,C_VAR_16494 = NuoviValori.Var_Complessivo + ,C_COPVAR_5C6E5 = NuoviValori.Var_Copertura + from + @NuoviValori NuoviValori + inner join + C6STAGINGPERIODICO.PHOTO_DATA Destinazione + on NuoviValori.Rete = Destinazione.INSTID and + NuoviValori.Cod_Fiscale = Destinazione.ADBKID and + NuoviValori.Data_Foto = Destinazione.C_DATASALVAT_D40E3 + where Destinazione.TYPE__STATUS_1E30E = 2 + ------------------------------------------------------------------- + -- Ritorno valori per uso ORACLE + ------------------------------------------------------------------- + select Staging.OID_ + ,NuoviValori.Rete as INSTID + ,NuoviValori.Cod_Fiscale as ADBKID + ,NuoviValori.Data_Foto as C_DATASALVAT_D40E3 + --,NuoviValori.Ctv_Totale as + ,NuoviValori.Ctv_Ext as C_CTVEXT_34DCC + ,NuoviValori.Ctv_Inv as C_CTVINV_990D8 + ,NuoviValori.Ctv_Ris as C_CTVRIS_43FEA + ,NuoviValori.Ctv_Pre as C_CTVPRE_A0E49 + ,NuoviValori.Ctv_Liq as C_CTVLIQ_54D1B + ,NuoviValori.Ctv_Cc as C_CTVCC_E242D + ,NuoviValori.Ctv_Na as C_CTVNA_473EA + ,NuoviValori.ImportoPartiteViaggianti as C_INVESTIMEN_5F936 + ,NuoviValori.Var_Complessivo as C_VAR_16494 + ,NuoviValori.Var_Copertura as C_COPVAR_5C6E5 + from + @NuoviValori NuoviValori + inner join + C6STAGINGPERIODICO.PHOTO_DATA Staging + on NuoviValori.Rete = Staging.INSTID and + NuoviValori.Cod_Fiscale = Staging.ADBKID and + NuoviValori.Data_Foto = Staging.C_DATASALVAT_D40E3 + where Staging.TYPE__STATUS_1E30E = 2 + /*togliere "Developing" */ +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_pre_selective.sql new file mode 100644 index 00000000..acace122 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_INIZIALE_pre_selective.sql @@ -0,0 +1,83 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_INIZIALE_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_INIZIALE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + ([RETE] + ,[COD_FISCALE] + ,[DATA_FOTO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] + ,[RISKCLASS] + , [RISKCLASSMAX] + ,[ID_ELAB]) + SELECT + INSTID AS RETE, + ADBKID AS COD_FISCALE, + C_DATASALVAT_D40E3 AS DATA_FOTO, + C_CTVEXT_34DCC + C_CTVINV_990D8 + C_CTVRIS_43FEA + C_CTVPRE_A0E49 + C_CTVLIQ_54D1B + C_CTVCC_E242D + C_CTVNA_473EA + AS CTV_TOTALE, + C_CTVEXT_34DCC AS CTV_EXT, + C_CTVINV_990D8 AS CTV_INV, + C_CTVRIS_43FEA AS CTV_RIS, + C_CTVPRE_A0E49 AS CTV_PRE, + C_CTVLIQ_54D1B AS CTV_LIQ, + C_CTVCC_E242D AS CTV_CC, + C_CTVNA_473EA AS CTV_NA, + C_INVESTIMEN_5F936 AS PARTITA_VIAGGIANTE, + C_VAR_16494 AS VAR_COMPLESSIVO, + C_COPVAR_5C6E5 AS VAR_COPERTURA, + CODICE_PROFILO AS PROFILO, + VAR_MAX_PROFILO AS VAR_MAX_PROFILO, + c6martperiodico.Codifica_CRisk_PhotoData(RISKCLASS), + c6martperiodico.Codifica_CRisk_PhotoData(RISKCLASSMAX), + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.PHOTO_DATA + WHERE 1 = 1 + AND SUBSTRING(TYPE__TYPE_7CAB6, 1, 1) = '1' + AND SUBSTRING(TYPE__STATUS_1E30E, 1 , 1) = '2' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_INIZIALE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_INIZIALE_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_REPORT.sql b/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_REPORT.sql new file mode 100644 index 00000000..4c774905 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_REPORT.sql @@ -0,0 +1,83 @@ +-- ============================================= +-- Author: Alessandro Tringali +-- Create date: 19 Dicembre 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_REPORT] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_REPORT', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_REPORT] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[DATA_INVIO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] +, riskclass +, riskclassmax + ,[ID_ELAB]) + SELECT + RETE, + COD_FISCALE, + DATA_FASE AS DATA_INVIO, + SUM(CONTROVALORE) as CTV_TOTALE, + SUM(CASE WHEN AREA= 'EXT' THEN CONTROVALORE ELSE 0 END ) AS CTV_EXT, + SUM(CASE WHEN AREA= 'INV' THEN CONTROVALORE ELSE 0 END ) AS CTV_INV, + SUM(CASE WHEN AREA= 'RIS' THEN CONTROVALORE ELSE 0 END )AS CTV_RIS, + SUM(CASE WHEN AREA= 'PRE' THEN CONTROVALORE ELSE 0 END )AS CTV_PRE, + SUM(CASE WHEN AREA= 'LIQ' THEN CONTROVALORE ELSE 0 END ) AS CTV_LIQ, + Max(CONTOCORRENTE )AS CTV_CC, + Max(RISORSENONALLOCATE) AS CTV_NA, + MAX(INVESTIMENTIINCORSO) AS PARTITA_VIAGGIANTE, + MAX(VAR_PERC_PTF) AS VAR_COMPLESSIVO, + MAX(COPERTURA) as VAR_COPERTURA, + mAX(PROFILO) AS PROFILO, + MAX(MAX_VAR) AS VAR_MAX_PROFILO, + MAX(RISKCLASS) AS RISKCLASS, + MAX(RISKCLASSMAX) AS RISKCLASSMAX, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.S80_EVOL_STAMPA_C6 + GROUP BY + RETE, + COD_FISCALE, + DATA_FASE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_REPORT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_REPORT' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_REPORT_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_REPORT_pre_selective.sql new file mode 100644 index 00000000..4383c685 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_REPORT_pre_selective.sql @@ -0,0 +1,83 @@ +-- ============================================= +-- Author: Alessandro Tringali +-- Create date: 19 Dicembre 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_REPORT_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_REPORT_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_REPORT] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[DATA_INVIO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] +, riskclass +, riskclassmax + ,[ID_ELAB]) + SELECT + RETE, + COD_FISCALE, + DATA_FASE AS DATA_INVIO, + SUM(CONTROVALORE) as CTV_TOTALE, + SUM(CASE WHEN AREA= 'EXT' THEN CONTROVALORE ELSE 0 END ) AS CTV_EXT, + SUM(CASE WHEN AREA= 'INV' THEN CONTROVALORE ELSE 0 END ) AS CTV_INV, + SUM(CASE WHEN AREA= 'RIS' THEN CONTROVALORE ELSE 0 END )AS CTV_RIS, + SUM(CASE WHEN AREA= 'PRE' THEN CONTROVALORE ELSE 0 END )AS CTV_PRE, + SUM(CASE WHEN AREA= 'LIQ' THEN CONTROVALORE ELSE 0 END ) AS CTV_LIQ, + Max(CONTOCORRENTE )AS CTV_CC, + Max(RISORSENONALLOCATE) AS CTV_NA, + MAX(INVESTIMENTIINCORSO) AS PARTITA_VIAGGIANTE, + MAX(VAR_PERC_PTF) AS VAR_COMPLESSIVO, + MAX(COPERTURA) as VAR_COPERTURA, + mAX(PROFILO) AS PROFILO, + MAX(MAX_VAR) AS VAR_MAX_PROFILO, + MAX(RISKCLASS) AS RISKCLASS, + MAX(RISKCLASSMAX) AS RISKCLASSMAX, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.S80_EVOL_STAMPA_C6 + GROUP BY + RETE, + COD_FISCALE, + DATA_FASE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_REPORT_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_REPORT_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_STORICO.sql b/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_STORICO.sql new file mode 100644 index 00000000..b7f53614 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_STORICO.sql @@ -0,0 +1,141 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_STORICO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_STORICO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_STORICO] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_STORICO] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[RISORSE_ASSOCIATE] + ,[ID_ELAB] + ,CEDOLE_DIV + ,ordinamento_progetto) + SELECT + TANAB.RETE AS RETE, + CASE + WHEN MANDATI.CODMAND IS NULL THEN TANAB.CODFIS + ELSE dbo.getFiduciariaByCodMand(MANDATI.CODMAND) + END AS COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CASE + WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + ELSE LTRIM(RTRIM(PROGETTO_BOZZA.NUOVO_NOME_PROGETTO)) + END, 'XXX') AS NOME_PROGETTO, + CAST(CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) AS DATETIME) AS DATA_CTV, + WRENAB.CTV AS CTV_MONITORATO, + WRENAB.CVN AS RISORSE_ASSOCIATE, + @ID_ELAB AS ID_ELAB, + (TANAB.TOT_CED + TANAB.TOT_DIV) AS CEDOLE_DIV, + tanab.codprog + FROM C6STAGINGPERIODICO.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB + ON TANAB.CODPROG = WRENAB.CODPROG + AND TANAB.DTRIF = WRENAB.DTRIF + INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL + ON TANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 + INNER JOIN C6StagingPeriodico.CONSAREA AS AREA + ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ + INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL + ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO + ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE + AND CONSUL.INSTID = SCELTA_STATO.RETE + AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA + LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA + ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 + LEFT OUTER JOIN C6StagingPeriodico.WMANDATI AS MANDATI + ON TANAB.CODFIS = MANDATI.CODMAND + WHERE 1 = 1 + AND TANAB.DTFINE = '99991231' + AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 + --and tanab.codfis not in('GRVMRZ63C14L566J','DNGMRA56E66D542Z') +-- UNION +-- +-- SELECT +-- TANAB.RETE AS RETE, +-- CASE +-- WHEN MANDATI.CODMAND IS NULL THEN TANAB.CODFIS +-- ELSE dbo.getFiduciariaByCodMand(MANDATI.CODMAND) +-- END AS COD_FISCALE, +-- CASE +-- WHEN TANAB.CODAREA = 'INV' THEN 'Inv' +-- WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' +-- WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' +-- WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' +-- END AS ID_AREA, +-- ISNULL(CASE +-- WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN PRCONSUL.C_PROJECTNAM_11D1A +-- ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO +-- END, 'XXX') AS NOME_PROGETTO, +-- CAST(CAST(TRENAB.DTVALORIZ AS VARCHAR(8)) AS DATETIME) AS DATA_CTV, +-- TRENAB.CTV AS CTV_MONITORATO, +-- TRENAB.CVN AS RISORSE_ASSOCIATE, +-- @ID_ELAB AS ID_ELAB +-- +-- FROM C6STAGINGPERIODICO.TANAB AS TANAB +-- INNER JOIN C6StagingPeriodico.TRENAB AS TRENAB +-- ON TANAB.CODPROG = TRENAB.CODPROG +-- AND TANAB.DTRIF = TRENAB.DTRIF +-- INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL +-- ON TANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 +-- INNER JOIN C6StagingPeriodico.CONSAREA AS AREA +-- ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ +-- INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL +-- ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ +-- INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO +-- ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE +-- AND CONSUL.INSTID = SCELTA_STATO.RETE +-- AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA +-- LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA +-- ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 +-- LEFT OUTER JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON TANAB.CODFIS = MANDATI.CODMAND +-- WHERE 1 = 1 +-- AND TANAB.DTFINE = '99991231' +-- AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_STORICO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_STORICO' + ) +END +--------------------------------------------------------------------------------------------------------------------- +/****** Object: StoredProcedure [C6MartPeriodico].[PL_S84ControvaloreRisorseApportate] Script Date: 12/02/2010 13:24:00 ******/ +SET ANSI_NULLS ON \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_STORICO_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_STORICO_pre_selective.sql new file mode 100644 index 00000000..b8206083 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_MONITORAGGIO_STORICO_pre_selective.sql @@ -0,0 +1,141 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 19 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_MONITORAGGIO_STORICO_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MONITORAGGIO_STORICO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_STORICO] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_STORICO] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[RISORSE_ASSOCIATE] + ,[ID_ELAB] + ,CEDOLE_DIV + ,ordinamento_progetto) + SELECT + TANAB.RETE AS RETE, + CASE + WHEN MANDATI.CODMAND IS NULL THEN TANAB.CODFIS + ELSE dbo.getFiduciariaByCodMand(MANDATI.CODMAND) + END AS COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CASE + WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + ELSE LTRIM(RTRIM(PROGETTO_BOZZA.NUOVO_NOME_PROGETTO)) + END, 'XXX') AS NOME_PROGETTO, + CAST(CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) AS DATETIME) AS DATA_CTV, + WRENAB.CTV AS CTV_MONITORATO, + WRENAB.CVN AS RISORSE_ASSOCIATE, + @ID_ELAB AS ID_ELAB, + (TANAB.TOT_CED + TANAB.TOT_DIV) AS CEDOLE_DIV, + tanab.codprog + FROM C6STAGINGPERIODICO.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB + ON TANAB.CODPROG = WRENAB.CODPROG + AND TANAB.DTRIF = WRENAB.DTRIF + INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL + ON TANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 + INNER JOIN C6StagingPeriodico.CONSAREA AS AREA + ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ + INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL + ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO + ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE + AND CONSUL.INSTID = SCELTA_STATO.RETE + AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA + LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA + ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 + LEFT OUTER JOIN C6StagingPeriodico.WMANDATI AS MANDATI + ON TANAB.CODFIS = MANDATI.CODMAND + WHERE 1 = 1 + AND TANAB.DTFINE = '99991231' + AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 + --and tanab.codfis not in('GRVMRZ63C14L566J','DNGMRA56E66D542Z') +-- UNION +-- +-- SELECT +-- TANAB.RETE AS RETE, +-- CASE +-- WHEN MANDATI.CODMAND IS NULL THEN TANAB.CODFIS +-- ELSE dbo.getFiduciariaByCodMand(MANDATI.CODMAND) +-- END AS COD_FISCALE, +-- CASE +-- WHEN TANAB.CODAREA = 'INV' THEN 'Inv' +-- WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' +-- WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' +-- WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' +-- END AS ID_AREA, +-- ISNULL(CASE +-- WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN PRCONSUL.C_PROJECTNAM_11D1A +-- ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO +-- END, 'XXX') AS NOME_PROGETTO, +-- CAST(CAST(TRENAB.DTVALORIZ AS VARCHAR(8)) AS DATETIME) AS DATA_CTV, +-- TRENAB.CTV AS CTV_MONITORATO, +-- TRENAB.CVN AS RISORSE_ASSOCIATE, +-- @ID_ELAB AS ID_ELAB +-- +-- FROM C6STAGINGPERIODICO.TANAB AS TANAB +-- INNER JOIN C6StagingPeriodico.TRENAB AS TRENAB +-- ON TANAB.CODPROG = TRENAB.CODPROG +-- AND TANAB.DTRIF = TRENAB.DTRIF +-- INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL +-- ON TANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31 +-- INNER JOIN C6StagingPeriodico.CONSAREA AS AREA +-- ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$ +-- INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL +-- ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ +-- INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO +-- ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE +-- AND CONSUL.INSTID = SCELTA_STATO.RETE +-- AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA +-- LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA +-- ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22 +-- LEFT OUTER JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON TANAB.CODFIS = MANDATI.CODMAND +-- WHERE 1 = 1 +-- AND TANAB.DTFINE = '99991231' +-- AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MONITORAGGIO_STORICO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MONITORAGGIO_STORICO_pre_selective' + ) +END +--------------------------------------------------------------------------------------------------------------------- +/****** Object: StoredProcedure [C6MartPeriodico].[PL_S84ControvaloreRisorseApportate] Script Date: 12/02/2010 13:24:00 ******/ +SET ANSI_NULLS ON \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_PARTITE_VIAGGIANTI.sql b/sql/storedTestbes/C6MartPeriodico_DM_PARTITE_VIAGGIANTI.sql new file mode 100644 index 00000000..685b6997 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_PARTITE_VIAGGIANTI.sql @@ -0,0 +1,64 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PARTITE_VIAGGIANTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_PARTITE_VIAGGIANTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MARTPERIODICO.PARTITE_VIAGGIANTI + INSERT INTO C6MartPeriodico.PARTITE_VIAGGIANTI + (RETE + ,COD_FISCALE + ,IMPORTO + ,ID_ELAB + ,TIPO_ELAB) + SELECT + WSEIPV.RETE AS RETE, + case when isnull(codman,'') ='' then WSEIPV.CODFIS else 'FF@'+ codman end AS COD_FISCALE, + SUM(IMPVER) AS IMPORTO, + @ID_ELAB, + @TIPO_ELAB + FROM + C6StagingPeriodico.WSEIPV + WHERE + WSEIPV.DTTRIM = ( + SELECT + MAX(DTTRIM) + FROM + C6StagingPeriodico.WSEIPV + ) + GROUP BY + WSEIPV.RETE, + case when isnull(codman,'') ='' then WSEIPV.CODFIS else 'FF@'+ codman end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_PARTITE_VIAGGIANTI_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_PARTITE_VIAGGIANTI_pre_selective.sql new file mode 100644 index 00000000..14e64aae --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_PARTITE_VIAGGIANTI_pre_selective.sql @@ -0,0 +1,64 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PARTITE_VIAGGIANTI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PARTITE_VIAGGIANTI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MARTPERIODICO.PARTITE_VIAGGIANTI + INSERT INTO C6MartPeriodico.PARTITE_VIAGGIANTI + (RETE + ,COD_FISCALE + ,IMPORTO + ,ID_ELAB + ,TIPO_ELAB) + SELECT + WSEIPV.RETE AS RETE, + case when isnull(codman,'') ='' then WSEIPV.CODFIS else 'FF@'+ codman end AS COD_FISCALE, + SUM(IMPVER) AS IMPORTO, + @ID_ELAB, + @TIPO_ELAB + FROM + C6StagingPeriodico.WSEIPV + WHERE + WSEIPV.DTTRIM = ( + SELECT + MAX(DTTRIM) + FROM + C6StagingPeriodico.WSEIPV + ) + GROUP BY + WSEIPV.RETE, + case when isnull(codman,'') ='' then WSEIPV.CODFIS else 'FF@'+ codman end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_ALTRO.sql b/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_ALTRO.sql new file mode 100644 index 00000000..dac08e38 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_ALTRO.sql @@ -0,0 +1,74 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_ALTRO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_ALTRO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_ALTRO + INSERT INTO [C6MartPeriodico].[PATRIMONIO_ALTRO] + ([RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.NUMEROQUOTE AS QUANTITA, + right(ALL_PATR_TERZI.DENOMINAZIONE,50) AS DESCRIZIONE, + ALL_PATR_TERZI.PATRIMONIO_ALTRO_PB_E6F18 AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + WHERE + ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_E6F18 + UNION + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + NULL AS QUANTITA, + right(ALL_PATR_TERZI.DENOMINAZIONE_PN_F87B4,50) AS DESCRIZIONE, + ALL_PATR_TERZI.PATRIMONIO_ALTRO_PN_F87B4 AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + WHERE + ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_F87B4 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_ALTRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_ALTRO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_ALTRO_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_ALTRO_pre_selective.sql new file mode 100644 index 00000000..8decf6c2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_ALTRO_pre_selective.sql @@ -0,0 +1,74 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_ALTRO_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_ALTRO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_ALTRO + INSERT INTO [C6MartPeriodico].[PATRIMONIO_ALTRO] + ([RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.NUMEROQUOTE AS QUANTITA, + right(ALL_PATR_TERZI.DENOMINAZIONE,50) AS DESCRIZIONE, + ALL_PATR_TERZI.PATRIMONIO_ALTRO_PB_E6F18 AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + WHERE + ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_E6F18 + UNION + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + NULL AS QUANTITA, + right(ALL_PATR_TERZI.DENOMINAZIONE_PN_F87B4,50) AS DESCRIZIONE, + ALL_PATR_TERZI.PATRIMONIO_ALTRO_PN_F87B4 AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + WHERE + ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_F87B4 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_ALTRO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_ALTRO_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_BF.sql b/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_BF.sql new file mode 100644 index 00000000..e8d3887e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_BF.sql @@ -0,0 +1,815 @@ +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_BF] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_BF + SELECT + CONTRATTOSINTESI.RETE AS RETE, + CONTRATTOSINTESI.CODFIS AS COD_FISCALE, + CONTRATTOSINTESI.POSITIONID AS POSITIONID, + SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + CONTRATTOSINTESI.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(CONTRATTOSINTESI.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, --CONTRATTOSINTESI.CODICESTATO AS COD_STATO, + CONTRATTOSINTESI.NUMPOL AS NUM_POLIZZA, + CONTRATTOSINTESI.MAF AS COD_MAF, + CONTRATTOSINTESI.CODINT AS COD_INTERNO, + CONTRATTOSINTESI.SUBPROD AS COD_SOTTOPRODOTTO, + CONTRATTOSINTESI.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CONSAREA.C_NEEDAREA_V_46360 = 'Inv' AND PRCONSUL.C_PROJECTNAM_11D1A IS NULL THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + END AS NOME_PROGETTO, + PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + CASE + WHEN ISDATE(CONTRATTOSINTESI.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, --CONTRATTOSINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, --CONVERT(DATETIME, CONTRATTOSINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + CONTRATTOSINTESI.QUOTE AS QUANTITA, --CONTRATTOSINTESI.QUOTE AS QUANTITA, + NULL AS PREZZO, --CONTRATTOSINTESI.PREZZO AS PREZZO, + CONTRATTOSINTESI.CTV AS CTV, + CONTRATTOSINTESI.VALORE AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + CONTRATTOSINTESI.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(CONTRATTOSINTESI.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + --CONTRATTOSINTESI.RENDINIZ AS REND_SOTTOSCRIZIONE, + CASE + WHEN (CONTRATTOSINTESI.TIPPROD = 'GE' + OR CONTRATTOSINTESI.TIPPROD = 'GES') + AND CONTRATTOSINTESI.DTSOTTOS < 20070101 --cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN CONTRATTOSINTESI.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN CONTRATTOSINTESI.TIPPROD = 'ASUL' AND CONTRATTOSINTESI.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE CONTRATTOSINTESI.RENDINIZ + END AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + CASE + WHEN (CONTRATTOSINTESI.TIPPROD = 'GE' + OR CONTRATTOSINTESI.TIPPROD = 'GES') + AND CONTRATTOSINTESI.DTSOTTOS < 20070101 --cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN CONTRATTOSINTESI.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN CONTRATTOSINTESI.TIPPROD = 'ASUL' AND CONTRATTOSINTESI.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE CONTRATTOSINTESI.RENDANNO + END AS REND_ANNO, + 0 AS REND_NON_RAPPR, + PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO, + C_BO_453FB.C_VALUE_7BD3C AS ORIZZ_TEMP_NUM, + C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP, + CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA, + ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + CONSUL.C_DATAMIGRAZ_BF705 AS DATA_MIGR_CONS, + PRCONSUL.C_LASTMODIFI_3BF4A AS DATA_PIANIF, + 0 AS EXTRANAC, + KAT.STRTYPE, + KAT.COMPLEX, + MIT.DESCR AS EMITTENTE, + CONTRATTOSINTESI.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + INTO #PATRIMONIO + FROM + [C6StagingPeriodico].[SPB_CONTR_SINTESI] AS CONTRATTOSINTESI + INNER JOIN + C6STAGINGPERIODICO.ALL_CF_STATO AS ALL_CF_STATO + ON + ALL_CF_STATO.RETE = CONTRATTOSINTESI.RETE + AND ALL_CF_STATO.CF_CLIENTE = CONTRATTOSINTESI.CODFIS + AND ALL_CF_STATO.FLAG_UTILIZZO_STATO = 1 --Attuale + INNER JOIN + C6STAGINGPERIODICO.POSITION AS POSITION + ON + POSITION.POSITIONID = CONTRATTOSINTESI.POSITIONID + INNER JOIN + C6STAGINGPERIODICO.CONSUL AS CONSUL + ON + CONSUL.OID$ = POSITION.F_PCONSULENZ_56F23 + AND CONSUL.TYPE$_TIPOCO_1EA7C = ALL_CF_STATO.STATO_CONSULENZA --'AttivaAggiornata' + INNER JOIN + C6STAGINGPERIODICO.PRCONSUL AS PRCONSUL + ON + PRCONSUL.OID$ = POSITION.F_PPROJECT_P_B5629 + INNER JOIN + C6STAGINGPERIODICO.CONSAREA AS CONSAREA + ON + CONSAREA.OID$ = PRCONSUL.F_PCONSULENZ_B69E4 + INNER JOIN C6STAGINGPERIODICO.CATITEMREF KAT + ON + KAT.oid$ = POSITION.f_oid$_posit_00526 + left join + C6STAGINGPERIODICO.EMIT MIT + ON KAT.CODEMI= MIT.CODEMI + LEFT JOIN + C6STAGINGPERIODICO.C_BO_453FB + ON C_BO_453FB.PK_PRC = PRCONSUL.OID$ + WHERE + CONTRATTOSINTESI.POSITIONID IS NOT NULL + and CONTRATTOSINTESI.tipprod <> 'CC' --TRINGALI + --da eliminare Trimestrale Ottobre 12 + --and CONTRATTOSINTESI.CODFIS not in ('CLNNNL71B67L259H', 'DNGFNC69C09E472H') +--da eliminare Trimestrale Gen 2013 +-- and CONTRATTOSINTESI.RETE + '-' + CONTRATTOSINTESI.CODFIS not in --('CLNNNL71B67L259H', 'DNGFNC69C09E472H') +--( +--'F-DLMSFN62L10F464C', +--'S-FF@7888', +--'F-TRLGNI38T10D325V', +--'F-SRRGNE58T04H981R', +--'F-MGLNTN55C23L259M', +--'F-TRFRLM68H67F132X', +--'F-CNTLNE72B50H501I', +--'S-FRLFRC77A42H501Z' +--) + UNION ALL -- MODIFICA FATTA PER AVERE I CONTI CORRENTI 26 NOVEMBRE (MAURIZIO) +--aggiunta consulenza per recuperare il cod progetto +SELECT + CONTRATTOSINTESI.RETE AS RETE, + CONTRATTOSINTESI.CODFIS AS COD_FISCALE, + CONTRATTOSINTESI.POSITIONID AS POSITIONID, + SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + CONTRATTOSINTESI.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(CONTRATTOSINTESI.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, --CONTRATTOSINTESI.CODICESTATO AS COD_STATO, + CONTRATTOSINTESI.NUMPOL AS NUM_POLIZZA, + CONTRATTOSINTESI.MAF AS COD_MAF, + CONTRATTOSINTESI.CODINT AS COD_INTERNO, + CONTRATTOSINTESI.SUBPROD AS COD_SOTTOPRODOTTO, + CONTRATTOSINTESI.TIPPROD AS TIPO_PRODOTTO, + NULL AS NOME_PROGETTO, + '' AS TIPO_PROGETTO, + CASE WHEN CONTRATTOSINTESI.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, + CASE + WHEN ISDATE(CONTRATTOSINTESI.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, --CONTRATTOSINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, --CONVERT(DATETIME, CONTRATTOSINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + CONTRATTOSINTESI.QUOTE AS QUANTITA, --CONTRATTOSINTESI.QUOTE AS QUANTITA, + NULL AS PREZZO, --CONTRATTOSINTESI.PREZZO AS PREZZO, + CONTRATTOSINTESI.CTV AS CTV, + CONTRATTOSINTESI.VALORE AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, --CONTRATTOSINTESI.CVN AS VERSATO_NETTO, + CONTRATTOSINTESI.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(CONTRATTOSINTESI.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, --PARTITEVIAGGIANTI.IMPORTOVERSATO AS PARTVIA_INV, + CONTRATTOSINTESI.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + CONTRATTOSINTESI.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO, + null AS ORIZZ_TEMP_NUM, + NULL AS ORIZZ_TEMP, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS DATA_PIANIF, + 0 AS EXTRANAC, + KAT.STRTYPE, + KAT.COMPLEX, + MIT.DESCR AS EMITTENTE, + CONTRATTOSINTESI.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + [C6StagingPeriodico].[SPB_CONTR_SINTESI] AS CONTRATTOSINTESI + INNER JOIN C6STAGINGPERIODICO.CATITEMREF KAT + ON SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.EMIT MIT + ON MIT.CODEMI=KAT.CODEMI + INNER JOIN + C6STAGINGPERIODICO.ALL_CF_STATO AS ALL_CF_STATO + ON + ALL_CF_STATO.RETE = CONTRATTOSINTESI.RETE + AND ALL_CF_STATO.CF_CLIENTE = CONTRATTOSINTESI.CODFIS + AND ALL_CF_STATO.FLAG_UTILIZZO_STATO = 1 --Attuale + INNER JOIN + C6STAGINGPERIODICO.POSITION AS POSITION + ON + POSITION.POSITIONID = CONTRATTOSINTESI.POSITIONID + INNER JOIN + C6STAGINGPERIODICO.CONSUL AS CONSUL + ON + CONSUL.OID$ = POSITION.F_PCONSULENZ_56F23 + AND CONSUL.TYPE$_TIPOCO_1EA7C = ALL_CF_STATO.STATO_CONSULENZA --'AttivaAggiornata' + INNER JOIN + C6STAGINGPERIODICO.PRCONSUL AS PRCONSUL + ON + PRCONSUL.OID$ = POSITION.F_PPROJECT_P_B5629 + WHERE + TIPPROD = 'CC' + --and CONTRATTOSINTESI.CODFIS not in ('CLNNNL71B67L259H', 'DNGFNC69C09E472H') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MartPeriodico.[PATRIMONIO_BF] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + , [DATA_PIANIF] + ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + RETE, + COD_FISCALE, + POSITIONID, + COD_PRODOTTO, + ID_CONTRATTO, + DATA_SOTTOSCRIZIONE, + COD_STATO, + NUM_POLIZZA, + COD_MAF, + COD_INTERNO, + COD_SOTTOPRODOTTO, + TIPO_PRODOTTO, + NOME_PROGETTO, + TIPO_PROGETTO, + ID_AREA, + DATA_OPERAZIONE, + DATA_VALUTA, + DATA_REGOLAMENTO, + QUANTITA, + PREZZO, + CTV, + CTV_NOMINALE, + VERSATO_NETTO, + PARTVIA_DISINV, + DATA_PARTVIA_DISINV, + PARTVIA_INV, + REND_SOTTOSCRIZIONE, + REND_TRIMESTRE, + REND_ANNO, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + ORIZZ_TEMP, + STATO_CONSULENZA, + DATA_STATO_CONS, + DATA_MIGR_CONS, + DATA_PIANIF, + EXTRANAC, + STRTYPE, + COMPLEX, + EMITTENTE, + ISIN, + @ID_ELAB, + @TIPO_ELAB + FROM #PATRIMONIO + UNION ALL -- MODIFICA PER AVERE TUTTI I PRODOTTI NON ALLOCATI + SELECT + CONTRATTOSINTESI.RETE AS RETE, + CONTRATTOSINTESI.CODFIS AS COD_FISCALE, + CONTRATTOSINTESI.POSITIONID AS POSITIONID, + SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + CONTRATTOSINTESI.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(CONTRATTOSINTESI.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, --CONTRATTOSINTESI.CODICESTATO AS COD_STATO, + CONTRATTOSINTESI.NUMPOL AS NUM_POLIZZA, + CONTRATTOSINTESI.MAF AS COD_MAF, + CONTRATTOSINTESI.CODINT AS COD_INTERNO, + CONTRATTOSINTESI.SUBPROD AS COD_SOTTOPRODOTTO, + CONTRATTOSINTESI.TIPPROD AS TIPO_PRODOTTO, + LTRIM(RTRIM(NEWPOSITION.NOME_PROGETTO)) AS NOME_PROGETTO, + '' AS TIPO_PROGETTO, + --V Modifica fatta per riallocare correttamente un cc che scende dallo scarico della wseics e non è presente in consulenza e in proposta, + --altrimenti verrebbe allocato a 'Na' + CASE + WHEN(CONTRATTOSINTESI.TIPPROD = 'CC' AND CONTRATTOSINTESI.CTV < 0) THEN 'CC' +-------------------------------------------------------------------------------------------------- + --modificato Emanuele + --WHEN(CONTRATTOSINTESI.TIPPROD = 'CC' AND CONTRATTOSINTESI.CTV >= 0) THEN 'LIQ' + WHEN(CONTRATTOSINTESI.TIPPROD = 'CC' AND CONTRATTOSINTESI.CTV >= 0) THEN 'Liq' +-------------------------------------------------------------------------------------------------- + ELSE ISNULL(NEWPOSITION.NEED_BREVE,'Na') + END AS ID_AREA, + CASE + WHEN ISDATE(CONTRATTOSINTESI.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, --CONTRATTOSINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, --CONVERT(DATETIME, CONTRATTOSINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + CONTRATTOSINTESI.QUOTE AS QUANTITA, --CONTRATTOSINTESI.QUOTE AS QUANTITA, + NULL AS PREZZO, --CONTRATTOSINTESI.PREZZO AS PREZZO, + CONTRATTOSINTESI.CTV AS CTV, + CONTRATTOSINTESI.VALORE AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + CONTRATTOSINTESI.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(CONTRATTOSINTESI.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + CONTRATTOSINTESI.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + CONTRATTOSINTESI.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + ORIZZ_TEMP, + STATO_CONSULENZA, + DATA_STATO_CONS, + DATA_MIGR_CONS, + DATA_PIANIF, + 0 AS EXTRANAC, + KAT.STRTYPE, + KAT.COMPLEX, + MIT.DESCR AS EMITTENTE, + CONTRATTOSINTESI.ISIN, + @ID_ELAB, + @TIPO_ELAB + FROM + [C6StagingPeriodico].[SPB_CONTR_SINTESI] AS CONTRATTOSINTESI + LEFT JOIN + #PATRIMONIO AS PATR + ON + CONTRATTOSINTESI.RETE = PATR.RETE + AND CONTRATTOSINTESI.CODFIS = PATR.COD_FISCALE + AND CONTRATTOSINTESI.POSITIONID = PATR.POSITIONID + LEFT OUTER JOIN C6STAGINGPERIODICO.CATITEMREF KAT + ON SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.EMIT MIT + ON MIT.CODEMI=KAT.CODEMI + LEFT JOIN C6STAGINGPERIODICO.vNewPositionProposta NEWPOSITION + ON + CONTRATTOSINTESI.RETE = NEWPOSITION.RETE + AND CONTRATTOSINTESI.CODFIS = NEWPOSITION.CODICEFISCALE + AND CONTRATTOSINTESI.POSITIONID = NEWPOSITION.positionIDProposta + WHERE + CONTRATTOSINTESI.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--da eliminare Trimestrale Gen 2013 +-- and CONTRATTOSINTESI.RETE + '-' + CONTRATTOSINTESI.CODFIS not in --('CLNNNL71B67L259H', 'DNGFNC69C09E472H') +--( +--'F-DLMSFN62L10F464C', +--'S-FF@7888', +--'F-TRLGNI38T10D325V', +--'F-SRRGNE58T04H981R', +--'F-MGLNTN55C23L259M', +--'F-TRFRLM68H67F132X', +--'F-CNTLNE72B50H501I', +--'S-FRLFRC77A42H501Z' +--) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF2' + ) + DROP TABLE #PATRIMONIO + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF3', + GETDATE(), + 'Elaborazione trimestrale' + ) + -- AGGIORNAMENTO PRODOTTI EXTRA NAC +-- +-- SELECT +-- MISS.POSITIONID, +-- MISS.CODFIS AS COD_FISCALE, +-- MISS.RETE, +-- C_NEEDAREA_V_46360 AS ID_AREA, +-- C_PROJECTNAM_11D1A AS NOME_PROGETTO, +-- C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO +-- INTO #MISS_PAST +-- FROM +-- ( +-- SELECT A.POSITIONID, CODFIS, RETE +-- FROM +-- C6STAGINGPERIODICO.SPB_CONTR_SINTESI A +-- LEFT OUTER JOIN +-- ( +-- SELECT D.POSITIONID, A.ADBKID, A.INSTID +-- FROM +-- C6STAGINGPERIODICO.CONSUL A, +-- C6STAGINGPERIODICO.PRCONSUL B, +-- C6STAGINGPERIODICO.CONSAREA C, +-- C6STAGINGPERIODICO.POSITION D, +-- C6STAGINGPERIODICO.ALL_CF_STATO F +-- WHERE +-- 1=1 +-- AND A.OID$ = C.F_PCONSULENZ_7FBE3 +-- AND B.OID$ = D.F_PPROJECT_P_B5629 +-- AND C.OID$ = B.F_PCONSULENZ_B69E4 +-- AND F.RETE = A.INSTID +-- AND F.CF_CLIENTE = A.ADBKID +-- AND F.FLAG_UTILIZZO_STATO = 1 +-- AND A.TYPE$_TIPOCO_1EA7C = F.STATO_CONSULENZA +-- and C.C_NEEDAREA_V_46360 <> 'Cc' +-- ) B +-- ON +-- B.POSITIONID=A.POSITIONID +-- AND B.ADBKID=A.CODFIS +-- AND B.INSTID=A.RETE +-- WHERE +-- B.POSITIONID IS NULL +-- ) MISS, +-- ( +-- SELECT D.POSITIONID, +-- A.ADBKID, A.INSTID, +-- C.C_NEEDAREA_V_46360, +-- TYPE$_PROJEC_14674, +-- C_PROJECTNAM_11D1A, +-- C_PROJECTIDM_1AF31 +-- FROM +-- C6STAGINGPERIODICO.CONSUL A, +-- C6STAGINGPERIODICO.PRCONSUL B, +-- C6STAGINGPERIODICO.CONSAREA C, +-- C6STAGINGPERIODICO.POSITION D +-- WHERE +-- 1=1 +-- AND A.OID$ = C.F_PCONSULENZ_7FBE3 +-- AND B.OID$ = D.F_PPROJECT_P_B5629 +-- AND C.OID$ = B.F_PCONSULENZ_B69E4 +-- AND A.TYPE$_TIPOCO_1EA7C = 'Attiva' +-- and C.C_NEEDAREA_V_46360 <> 'Cc' +-- ) PAST +-- WHERE +-- MISS.POSITIONID=PAST.POSITIONID +-- AND MISS.CODFIS=PAST.ADBKID +--- MISS +SELECT A.POSITIONID, CODFIS, RETE + into #MISS + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI A + LEFT OUTER JOIN + ( + SELECT D.POSITIONID, A.ADBKID, A.INSTID + FROM + C6STAGINGPERIODICO.CONSUL A, + C6STAGINGPERIODICO.PRCONSUL B, + C6STAGINGPERIODICO.CONSAREA C, + C6STAGINGPERIODICO.POSITION D, + C6STAGINGPERIODICO.ALL_CF_STATO F + WHERE + 1=1 + AND A.OID$ = C.F_PCONSULENZ_7FBE3 + AND B.OID$ = D.F_PPROJECT_P_B5629 + AND C.OID$ = B.F_PCONSULENZ_B69E4 + AND F.RETE = A.INSTID + AND F.CF_CLIENTE = A.ADBKID + AND F.FLAG_UTILIZZO_STATO = 1 + AND A.TYPE$_TIPOCO_1EA7C = F.STATO_CONSULENZA + --and C.C_NEEDAREA_V_46360 <> 'Cc' + and D.type$_catalo_35E2a <> 'ContiCorrenti' + ) B + ON + B.POSITIONID=A.POSITIONID + AND B.ADBKID=A.CODFIS + AND B.INSTID=A.RETE + WHERE + B.POSITIONID IS NULL +-- PAST +SELECT D.POSITIONID, + A.ADBKID, A.INSTID, + C.C_NEEDAREA_V_46360, + TYPE$_PROJEC_14674, + C_PROJECTNAM_11D1A, + C_PROJECTIDM_1AF31 + into #PAST + FROM + C6STAGINGPERIODICO.CONSUL A, + C6STAGINGPERIODICO.PRCONSUL B, + C6STAGINGPERIODICO.CONSAREA C, + C6STAGINGPERIODICO.POSITION D + WHERE + 1=1 + AND A.OID$ = C.F_PCONSULENZ_7FBE3 + AND B.OID$ = D.F_PPROJECT_P_B5629 + AND C.OID$ = B.F_PCONSULENZ_B69E4 + AND A.TYPE$_TIPOCO_1EA7C = 'Attiva' + --and C.C_NEEDAREA_V_46360 <> 'Cc' + and D.type$_catalo_35E2a <> 'ContiCorrenti' +SELECT + MISS.POSITIONID, + MISS.CODFIS AS COD_FISCALE, + MISS.RETE, + C_NEEDAREA_V_46360 AS ID_AREA, + C_PROJECTNAM_11D1A AS NOME_PROGETTO, + C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO + INTO #miss_PAST + FROM + #MISS miss, + #PAST past + WHERE + MISS.POSITIONID=PAST.POSITIONID + AND MISS.CODFIS=PAST.ADBKID + UPDATE + PATR_BF + SET + PATR_BF.ID_AREA = MISS_PAST.ID_AREA, + PATR_BF.NOME_PROGETTO = MISS_PAST.NOME_PROGETTO, + PATR_BF.ORDINAMENTO_PROGETTO = MISS_PAST.ORDINAMENTO_PROGETTO, + PATR_BF.EXTRANAC = 1 + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN #MISS_PAST AS MISS_PAST + ON PATR_BF.RETE = MISS_PAST.RETE + AND PATR_BF.COD_FISCALE = MISS_PAST.COD_FISCALE + AND PATR_BF.POSITION_ID = MISS_PAST.POSITIONID + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF3' + ) + DROP TABLE #MISS_PAST + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF4', + GETDATE(), + 'Elaborazione trimestrale' + ) + -- IMPOSTA IL FLAG DEI PRODOTTI CON RENDIMENTO NON RAPPRESENTABILE + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + ( + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + PRC.COD_INTERNO, + PRC.COD_MAF, + '', + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + PRC.COD_INTERNO, + PRC.COD_MAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + PRC.NUMPOL, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + INNER JOIN + C6StagingPeriodico.ALL_POS_CONS_CAT AS PRC ON + TSCA.CODPROG = PRC.ID_MONITORAGGIO + AND TSCA.CODCONF = PRC.CONTRATTO + AND REPLACE(TSCA.SUBPROD, ' ', '$') = PRC.COD_SOTTOPRODOTTO + AND TCP.CODINT = PRC.COD_INTERNO + WHERE + TSCA.DTRIF <> 0 + ) REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF4' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF4' + ) +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF5', + GETDATE(), + 'Elaborazione trimestrale' + ) +SELECT + ALL_CF_PB.RETE_PB AS RETE, + ALL_CF_PB.CODICE_FISCALE AS COD_FISCALE, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + PRCONSUL.C_PROJECTNAM_11D1A AS NOME_PROGETTO, + PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO, + PRCONSUL.C_PERCENTUAL_69019 AS PERC_AREA, + PRCONSUL.C_PROJECTCTV_39520 AS CTV_PROGETTO, + CONSAREA.C_CTVNEEDARE_EA4FB AS CTV_AREA, + C_BO_453FB.C_VALUE_7BD3C AS ORIZZ_TEMP_NUM, + C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA, + ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + CONSUL.C_DATAMIGRAZ_BF705 AS DATA_MIGR_CONS, + PRCONSUL.C_LASTMODIFI_3BF4A AS DATA_PIANIF, + NULL AS ID_CONTRATTO, + PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO + into #AGG_PROG + FROM C6STAGINGPERIODICO.ALL_CF_PB + INNER JOIN C6STAGINGPERIODICO.CONSUL + ON CONSUL.INSTID = ALL_CF_PB.RETE_PB + AND CONSUL.ADBKID = ALL_CF_PB.CODICEFISCALE + AND CONSUL.TYPE$_TIPOCO_1EA7C = 'Bozza' + INNER JOIN C6STAGINGPERIODICO.CONSAREA + ON CONSAREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6STAGINGPERIODICO.PRCONSUL + ON PRCONSUL.F_PCONSULENZ_B69E4 = CONSAREA.OID$ + LEFT JOIN C6STAGINGPERIODICO.C_BO_453FB + ON C_BO_453FB.PK_PRC = PRCONSUL.OID$ + where CONSAREA.C_NEEDAREA_V_46360='Inv' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +NOME_PROGETTO = L.NOME_PROGETTO +FROM +#AGG_PROG L +WHERE +C6MARTPERIODICO.PATRIMONIO_BF.COD_FISCALE=L.COD_FISCALE +AND C6MARTPERIODICO.PATRIMONIO_BF.RETE=L.RETE +AND C6MARTPERIODICO.PATRIMONIO_BF.ORDINAMENTO_PROGETTO=L.ORDINAMENTO_PROGETTO +AND C6MARTPERIODICO.PATRIMONIO_BF.NOME_PROGETTO <> L.NOME_PROGETTO +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq' +WHERE TIPO_PRODOTTO='CC' +AND ID_AREA = 'na' +AND CTV > 0 +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +--------------------------------------- +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF5' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF5' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_BF_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_BF_pre_selective.sql new file mode 100644 index 00000000..3c9b0daa --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_BF_pre_selective.sql @@ -0,0 +1,815 @@ +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_BF_pre_selective] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_BF + SELECT + CONTRATTOSINTESI.RETE AS RETE, + CONTRATTOSINTESI.CODFIS AS COD_FISCALE, + CONTRATTOSINTESI.POSITIONID AS POSITIONID, + SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + CONTRATTOSINTESI.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(CONTRATTOSINTESI.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, --CONTRATTOSINTESI.CODICESTATO AS COD_STATO, + CONTRATTOSINTESI.NUMPOL AS NUM_POLIZZA, + CONTRATTOSINTESI.MAF AS COD_MAF, + CONTRATTOSINTESI.CODINT AS COD_INTERNO, + CONTRATTOSINTESI.SUBPROD AS COD_SOTTOPRODOTTO, + CONTRATTOSINTESI.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CONSAREA.C_NEEDAREA_V_46360 = 'Inv' AND PRCONSUL.C_PROJECTNAM_11D1A IS NULL THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + END AS NOME_PROGETTO, + PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + CASE + WHEN ISDATE(CONTRATTOSINTESI.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, --CONTRATTOSINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, --CONVERT(DATETIME, CONTRATTOSINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + CONTRATTOSINTESI.QUOTE AS QUANTITA, --CONTRATTOSINTESI.QUOTE AS QUANTITA, + NULL AS PREZZO, --CONTRATTOSINTESI.PREZZO AS PREZZO, + CONTRATTOSINTESI.CTV AS CTV, + CONTRATTOSINTESI.VALORE AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + CONTRATTOSINTESI.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(CONTRATTOSINTESI.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + --CONTRATTOSINTESI.RENDINIZ AS REND_SOTTOSCRIZIONE, + CASE + WHEN (CONTRATTOSINTESI.TIPPROD = 'GE' + OR CONTRATTOSINTESI.TIPPROD = 'GES') + AND CONTRATTOSINTESI.DTSOTTOS < 20070101 --cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN CONTRATTOSINTESI.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN CONTRATTOSINTESI.TIPPROD = 'ASUL' AND CONTRATTOSINTESI.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE CONTRATTOSINTESI.RENDINIZ + END AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + CASE + WHEN (CONTRATTOSINTESI.TIPPROD = 'GE' + OR CONTRATTOSINTESI.TIPPROD = 'GES') + AND CONTRATTOSINTESI.DTSOTTOS < 20070101 --cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN CONTRATTOSINTESI.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN CONTRATTOSINTESI.TIPPROD = 'ASUL' AND CONTRATTOSINTESI.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE CONTRATTOSINTESI.RENDANNO + END AS REND_ANNO, + 0 AS REND_NON_RAPPR, + PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO, + C_BO_453FB.C_VALUE_7BD3C AS ORIZZ_TEMP_NUM, + C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP, + CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA, + ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + CONSUL.C_DATAMIGRAZ_BF705 AS DATA_MIGR_CONS, + PRCONSUL.C_LASTMODIFI_3BF4A AS DATA_PIANIF, + 0 AS EXTRANAC, + KAT.STRTYPE, + KAT.COMPLEX, + MIT.DESCR AS EMITTENTE, + CONTRATTOSINTESI.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + INTO #PATRIMONIO + FROM + [C6StagingPeriodico].[SPB_CONTR_SINTESI] AS CONTRATTOSINTESI + INNER JOIN + C6STAGINGPERIODICO.ALL_CF_STATO AS ALL_CF_STATO + ON + ALL_CF_STATO.RETE = CONTRATTOSINTESI.RETE + AND ALL_CF_STATO.CF_CLIENTE = CONTRATTOSINTESI.CODFIS + AND ALL_CF_STATO.FLAG_UTILIZZO_STATO = 1 --Attuale + INNER JOIN + C6STAGINGPERIODICO.POSITION AS POSITION + ON + POSITION.POSITIONID = CONTRATTOSINTESI.POSITIONID + INNER JOIN + C6STAGINGPERIODICO.CONSUL AS CONSUL + ON + CONSUL.OID$ = POSITION.F_PCONSULENZ_56F23 + AND CONSUL.TYPE$_TIPOCO_1EA7C = ALL_CF_STATO.STATO_CONSULENZA --'AttivaAggiornata' + INNER JOIN + C6STAGINGPERIODICO.PRCONSUL AS PRCONSUL + ON + PRCONSUL.OID$ = POSITION.F_PPROJECT_P_B5629 + INNER JOIN + C6STAGINGPERIODICO.CONSAREA AS CONSAREA + ON + CONSAREA.OID$ = PRCONSUL.F_PCONSULENZ_B69E4 + INNER JOIN C6STAGINGPERIODICO.CATITEMREF KAT + ON + KAT.oid$ = POSITION.f_oid$_posit_00526 + left join + C6STAGINGPERIODICO.EMIT MIT + ON KAT.CODEMI= MIT.CODEMI + LEFT JOIN + C6STAGINGPERIODICO.C_BO_453FB + ON C_BO_453FB.PK_PRC = PRCONSUL.OID$ + WHERE + CONTRATTOSINTESI.POSITIONID IS NOT NULL + and CONTRATTOSINTESI.tipprod <> 'CC' --TRINGALI + --da eliminare Trimestrale Ottobre 12 + --and CONTRATTOSINTESI.CODFIS not in ('CLNNNL71B67L259H', 'DNGFNC69C09E472H') +--da eliminare Trimestrale Gen 2013 +-- and CONTRATTOSINTESI.RETE + '-' + CONTRATTOSINTESI.CODFIS not in --('CLNNNL71B67L259H', 'DNGFNC69C09E472H') +--( +--'F-DLMSFN62L10F464C', +--'S-FF@7888', +--'F-TRLGNI38T10D325V', +--'F-SRRGNE58T04H981R', +--'F-MGLNTN55C23L259M', +--'F-TRFRLM68H67F132X', +--'F-CNTLNE72B50H501I', +--'S-FRLFRC77A42H501Z' +--) + UNION ALL -- MODIFICA FATTA PER AVERE I CONTI CORRENTI 26 NOVEMBRE (MAURIZIO) +--aggiunta consulenza per recuperare il cod progetto +SELECT + CONTRATTOSINTESI.RETE AS RETE, + CONTRATTOSINTESI.CODFIS AS COD_FISCALE, + CONTRATTOSINTESI.POSITIONID AS POSITIONID, + SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + CONTRATTOSINTESI.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(CONTRATTOSINTESI.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, --CONTRATTOSINTESI.CODICESTATO AS COD_STATO, + CONTRATTOSINTESI.NUMPOL AS NUM_POLIZZA, + CONTRATTOSINTESI.MAF AS COD_MAF, + CONTRATTOSINTESI.CODINT AS COD_INTERNO, + CONTRATTOSINTESI.SUBPROD AS COD_SOTTOPRODOTTO, + CONTRATTOSINTESI.TIPPROD AS TIPO_PRODOTTO, + NULL AS NOME_PROGETTO, + '' AS TIPO_PROGETTO, + CASE WHEN CONTRATTOSINTESI.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, + CASE + WHEN ISDATE(CONTRATTOSINTESI.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, --CONTRATTOSINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, --CONVERT(DATETIME, CONTRATTOSINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + CONTRATTOSINTESI.QUOTE AS QUANTITA, --CONTRATTOSINTESI.QUOTE AS QUANTITA, + NULL AS PREZZO, --CONTRATTOSINTESI.PREZZO AS PREZZO, + CONTRATTOSINTESI.CTV AS CTV, + CONTRATTOSINTESI.VALORE AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, --CONTRATTOSINTESI.CVN AS VERSATO_NETTO, + CONTRATTOSINTESI.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(CONTRATTOSINTESI.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, --PARTITEVIAGGIANTI.IMPORTOVERSATO AS PARTVIA_INV, + CONTRATTOSINTESI.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + CONTRATTOSINTESI.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO, + null AS ORIZZ_TEMP_NUM, + NULL AS ORIZZ_TEMP, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS DATA_PIANIF, + 0 AS EXTRANAC, + KAT.STRTYPE, + KAT.COMPLEX, + MIT.DESCR AS EMITTENTE, + CONTRATTOSINTESI.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + [C6StagingPeriodico].[SPB_CONTR_SINTESI] AS CONTRATTOSINTESI + INNER JOIN C6STAGINGPERIODICO.CATITEMREF KAT + ON SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.EMIT MIT + ON MIT.CODEMI=KAT.CODEMI + INNER JOIN + C6STAGINGPERIODICO.ALL_CF_STATO AS ALL_CF_STATO + ON + ALL_CF_STATO.RETE = CONTRATTOSINTESI.RETE + AND ALL_CF_STATO.CF_CLIENTE = CONTRATTOSINTESI.CODFIS + AND ALL_CF_STATO.FLAG_UTILIZZO_STATO = 1 --Attuale + INNER JOIN + C6STAGINGPERIODICO.POSITION AS POSITION + ON + POSITION.POSITIONID = CONTRATTOSINTESI.POSITIONID + INNER JOIN + C6STAGINGPERIODICO.CONSUL AS CONSUL + ON + CONSUL.OID$ = POSITION.F_PCONSULENZ_56F23 + AND CONSUL.TYPE$_TIPOCO_1EA7C = ALL_CF_STATO.STATO_CONSULENZA --'AttivaAggiornata' + INNER JOIN + C6STAGINGPERIODICO.PRCONSUL AS PRCONSUL + ON + PRCONSUL.OID$ = POSITION.F_PPROJECT_P_B5629 + WHERE + TIPPROD = 'CC' + --and CONTRATTOSINTESI.CODFIS not in ('CLNNNL71B67L259H', 'DNGFNC69C09E472H') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF_pre_selective' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF_pre_selective2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MartPeriodico.[PATRIMONIO_BF] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + , [DATA_PIANIF] + ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + RETE, + COD_FISCALE, + POSITIONID, + COD_PRODOTTO, + ID_CONTRATTO, + DATA_SOTTOSCRIZIONE, + COD_STATO, + NUM_POLIZZA, + COD_MAF, + COD_INTERNO, + COD_SOTTOPRODOTTO, + TIPO_PRODOTTO, + NOME_PROGETTO, + TIPO_PROGETTO, + ID_AREA, + DATA_OPERAZIONE, + DATA_VALUTA, + DATA_REGOLAMENTO, + QUANTITA, + PREZZO, + CTV, + CTV_NOMINALE, + VERSATO_NETTO, + PARTVIA_DISINV, + DATA_PARTVIA_DISINV, + PARTVIA_INV, + REND_SOTTOSCRIZIONE, + REND_TRIMESTRE, + REND_ANNO, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + ORIZZ_TEMP, + STATO_CONSULENZA, + DATA_STATO_CONS, + DATA_MIGR_CONS, + DATA_PIANIF, + EXTRANAC, + STRTYPE, + COMPLEX, + EMITTENTE, + ISIN, + @ID_ELAB, + @TIPO_ELAB + FROM #PATRIMONIO + UNION ALL -- MODIFICA PER AVERE TUTTI I PRODOTTI NON ALLOCATI + SELECT + CONTRATTOSINTESI.RETE AS RETE, + CONTRATTOSINTESI.CODFIS AS COD_FISCALE, + CONTRATTOSINTESI.POSITIONID AS POSITIONID, + SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + CONTRATTOSINTESI.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(CONTRATTOSINTESI.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, --CONTRATTOSINTESI.CODICESTATO AS COD_STATO, + CONTRATTOSINTESI.NUMPOL AS NUM_POLIZZA, + CONTRATTOSINTESI.MAF AS COD_MAF, + CONTRATTOSINTESI.CODINT AS COD_INTERNO, + CONTRATTOSINTESI.SUBPROD AS COD_SOTTOPRODOTTO, + CONTRATTOSINTESI.TIPPROD AS TIPO_PRODOTTO, + LTRIM(RTRIM(NEWPOSITION.NOME_PROGETTO)) AS NOME_PROGETTO, + '' AS TIPO_PROGETTO, + --V Modifica fatta per riallocare correttamente un cc che scende dallo scarico della wseics e non è presente in consulenza e in proposta, + --altrimenti verrebbe allocato a 'Na' + CASE + WHEN(CONTRATTOSINTESI.TIPPROD = 'CC' AND CONTRATTOSINTESI.CTV < 0) THEN 'CC' +-------------------------------------------------------------------------------------------------- + --modificato Emanuele + --WHEN(CONTRATTOSINTESI.TIPPROD = 'CC' AND CONTRATTOSINTESI.CTV >= 0) THEN 'LIQ' + WHEN(CONTRATTOSINTESI.TIPPROD = 'CC' AND CONTRATTOSINTESI.CTV >= 0) THEN 'Liq' +-------------------------------------------------------------------------------------------------- + ELSE ISNULL(NEWPOSITION.NEED_BREVE,'Na') + END AS ID_AREA, + CASE + WHEN ISDATE(CONTRATTOSINTESI.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, --CONTRATTOSINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, --CONVERT(DATETIME, CONTRATTOSINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + CONTRATTOSINTESI.QUOTE AS QUANTITA, --CONTRATTOSINTESI.QUOTE AS QUANTITA, + NULL AS PREZZO, --CONTRATTOSINTESI.PREZZO AS PREZZO, + CONTRATTOSINTESI.CTV AS CTV, + CONTRATTOSINTESI.VALORE AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + CONTRATTOSINTESI.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(CONTRATTOSINTESI.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(CONTRATTOSINTESI.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + CONTRATTOSINTESI.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + CONTRATTOSINTESI.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + ORIZZ_TEMP, + STATO_CONSULENZA, + DATA_STATO_CONS, + DATA_MIGR_CONS, + DATA_PIANIF, + 0 AS EXTRANAC, + KAT.STRTYPE, + KAT.COMPLEX, + MIT.DESCR AS EMITTENTE, + CONTRATTOSINTESI.ISIN, + @ID_ELAB, + @TIPO_ELAB + FROM + [C6StagingPeriodico].[SPB_CONTR_SINTESI] AS CONTRATTOSINTESI + LEFT JOIN + #PATRIMONIO AS PATR + ON + CONTRATTOSINTESI.RETE = PATR.RETE + AND CONTRATTOSINTESI.CODFIS = PATR.COD_FISCALE + AND CONTRATTOSINTESI.POSITIONID = PATR.POSITIONID + LEFT OUTER JOIN C6STAGINGPERIODICO.CATITEMREF KAT + ON SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.EMIT MIT + ON MIT.CODEMI=KAT.CODEMI + LEFT JOIN C6STAGINGPERIODICO.vNewPositionProposta NEWPOSITION + ON + CONTRATTOSINTESI.RETE = NEWPOSITION.RETE + AND CONTRATTOSINTESI.CODFIS = NEWPOSITION.CODICEFISCALE + AND CONTRATTOSINTESI.POSITIONID = NEWPOSITION.positionIDProposta + WHERE + CONTRATTOSINTESI.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--da eliminare Trimestrale Gen 2013 +-- and CONTRATTOSINTESI.RETE + '-' + CONTRATTOSINTESI.CODFIS not in --('CLNNNL71B67L259H', 'DNGFNC69C09E472H') +--( +--'F-DLMSFN62L10F464C', +--'S-FF@7888', +--'F-TRLGNI38T10D325V', +--'F-SRRGNE58T04H981R', +--'F-MGLNTN55C23L259M', +--'F-TRFRLM68H67F132X', +--'F-CNTLNE72B50H501I', +--'S-FRLFRC77A42H501Z' +--) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF_pre_selective2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF_pre_selective2' + ) + DROP TABLE #PATRIMONIO + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF_pre_selective3', + GETDATE(), + 'Elaborazione trimestrale' + ) + -- AGGIORNAMENTO PRODOTTI EXTRA NAC +-- +-- SELECT +-- MISS.POSITIONID, +-- MISS.CODFIS AS COD_FISCALE, +-- MISS.RETE, +-- C_NEEDAREA_V_46360 AS ID_AREA, +-- C_PROJECTNAM_11D1A AS NOME_PROGETTO, +-- C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO +-- INTO #MISS_PAST +-- FROM +-- ( +-- SELECT A.POSITIONID, CODFIS, RETE +-- FROM +-- C6STAGINGPERIODICO.SPB_CONTR_SINTESI A +-- LEFT OUTER JOIN +-- ( +-- SELECT D.POSITIONID, A.ADBKID, A.INSTID +-- FROM +-- C6STAGINGPERIODICO.CONSUL A, +-- C6STAGINGPERIODICO.PRCONSUL B, +-- C6STAGINGPERIODICO.CONSAREA C, +-- C6STAGINGPERIODICO.POSITION D, +-- C6STAGINGPERIODICO.ALL_CF_STATO F +-- WHERE +-- 1=1 +-- AND A.OID$ = C.F_PCONSULENZ_7FBE3 +-- AND B.OID$ = D.F_PPROJECT_P_B5629 +-- AND C.OID$ = B.F_PCONSULENZ_B69E4 +-- AND F.RETE = A.INSTID +-- AND F.CF_CLIENTE = A.ADBKID +-- AND F.FLAG_UTILIZZO_STATO = 1 +-- AND A.TYPE$_TIPOCO_1EA7C = F.STATO_CONSULENZA +-- and C.C_NEEDAREA_V_46360 <> 'Cc' +-- ) B +-- ON +-- B.POSITIONID=A.POSITIONID +-- AND B.ADBKID=A.CODFIS +-- AND B.INSTID=A.RETE +-- WHERE +-- B.POSITIONID IS NULL +-- ) MISS, +-- ( +-- SELECT D.POSITIONID, +-- A.ADBKID, A.INSTID, +-- C.C_NEEDAREA_V_46360, +-- TYPE$_PROJEC_14674, +-- C_PROJECTNAM_11D1A, +-- C_PROJECTIDM_1AF31 +-- FROM +-- C6STAGINGPERIODICO.CONSUL A, +-- C6STAGINGPERIODICO.PRCONSUL B, +-- C6STAGINGPERIODICO.CONSAREA C, +-- C6STAGINGPERIODICO.POSITION D +-- WHERE +-- 1=1 +-- AND A.OID$ = C.F_PCONSULENZ_7FBE3 +-- AND B.OID$ = D.F_PPROJECT_P_B5629 +-- AND C.OID$ = B.F_PCONSULENZ_B69E4 +-- AND A.TYPE$_TIPOCO_1EA7C = 'Attiva' +-- and C.C_NEEDAREA_V_46360 <> 'Cc' +-- ) PAST +-- WHERE +-- MISS.POSITIONID=PAST.POSITIONID +-- AND MISS.CODFIS=PAST.ADBKID +--- MISS +SELECT A.POSITIONID, CODFIS, RETE + into #MISS + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI A + LEFT OUTER JOIN + ( + SELECT D.POSITIONID, A.ADBKID, A.INSTID + FROM + C6STAGINGPERIODICO.CONSUL A, + C6STAGINGPERIODICO.PRCONSUL B, + C6STAGINGPERIODICO.CONSAREA C, + C6STAGINGPERIODICO.POSITION D, + C6STAGINGPERIODICO.ALL_CF_STATO F + WHERE + 1=1 + AND A.OID$ = C.F_PCONSULENZ_7FBE3 + AND B.OID$ = D.F_PPROJECT_P_B5629 + AND C.OID$ = B.F_PCONSULENZ_B69E4 + AND F.RETE = A.INSTID + AND F.CF_CLIENTE = A.ADBKID + AND F.FLAG_UTILIZZO_STATO = 1 + AND A.TYPE$_TIPOCO_1EA7C = F.STATO_CONSULENZA + --and C.C_NEEDAREA_V_46360 <> 'Cc' + and D.type$_catalo_35E2a <> 'ContiCorrenti' + ) B + ON + B.POSITIONID=A.POSITIONID + AND B.ADBKID=A.CODFIS + AND B.INSTID=A.RETE + WHERE + B.POSITIONID IS NULL +-- PAST +SELECT D.POSITIONID, + A.ADBKID, A.INSTID, + C.C_NEEDAREA_V_46360, + TYPE$_PROJEC_14674, + C_PROJECTNAM_11D1A, + C_PROJECTIDM_1AF31 + into #PAST + FROM + C6STAGINGPERIODICO.CONSUL A, + C6STAGINGPERIODICO.PRCONSUL B, + C6STAGINGPERIODICO.CONSAREA C, + C6STAGINGPERIODICO.POSITION D + WHERE + 1=1 + AND A.OID$ = C.F_PCONSULENZ_7FBE3 + AND B.OID$ = D.F_PPROJECT_P_B5629 + AND C.OID$ = B.F_PCONSULENZ_B69E4 + AND A.TYPE$_TIPOCO_1EA7C = 'Attiva' + --and C.C_NEEDAREA_V_46360 <> 'Cc' + and D.type$_catalo_35E2a <> 'ContiCorrenti' +SELECT + MISS.POSITIONID, + MISS.CODFIS AS COD_FISCALE, + MISS.RETE, + C_NEEDAREA_V_46360 AS ID_AREA, + C_PROJECTNAM_11D1A AS NOME_PROGETTO, + C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO + INTO #miss_PAST + FROM + #MISS miss, + #PAST past + WHERE + MISS.POSITIONID=PAST.POSITIONID + AND MISS.CODFIS=PAST.ADBKID + UPDATE + PATR_BF + SET + PATR_BF.ID_AREA = MISS_PAST.ID_AREA, + PATR_BF.NOME_PROGETTO = MISS_PAST.NOME_PROGETTO, + PATR_BF.ORDINAMENTO_PROGETTO = MISS_PAST.ORDINAMENTO_PROGETTO, + PATR_BF.EXTRANAC = 1 + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN #MISS_PAST AS MISS_PAST + ON PATR_BF.RETE = MISS_PAST.RETE + AND PATR_BF.COD_FISCALE = MISS_PAST.COD_FISCALE + AND PATR_BF.POSITION_ID = MISS_PAST.POSITIONID + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF_pre_selective3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF_pre_selective3' + ) + DROP TABLE #MISS_PAST + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF_pre_selective4', + GETDATE(), + 'Elaborazione trimestrale' + ) + -- IMPOSTA IL FLAG DEI PRODOTTI CON RENDIMENTO NON RAPPRESENTABILE + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + ( + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + PRC.COD_INTERNO, + PRC.COD_MAF, + '', + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + PRC.COD_INTERNO, + PRC.COD_MAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + PRC.NUMPOL, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + INNER JOIN + C6StagingPeriodico.ALL_POS_CONS_CAT AS PRC ON + TSCA.CODPROG = PRC.ID_MONITORAGGIO + AND TSCA.CODCONF = PRC.CONTRATTO + AND REPLACE(TSCA.SUBPROD, ' ', '$') = PRC.COD_SOTTOPRODOTTO + AND TCP.CODINT = PRC.COD_INTERNO + WHERE + TSCA.DTRIF <> 0 + ) REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF_pre_selective4' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF_pre_selective4' + ) +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF_pre_selective5', + GETDATE(), + 'Elaborazione trimestrale' + ) +SELECT + ALL_CF_PB.RETE_PB AS RETE, + ALL_CF_PB.CODICE_FISCALE AS COD_FISCALE, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + PRCONSUL.C_PROJECTNAM_11D1A AS NOME_PROGETTO, + PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO, + PRCONSUL.C_PERCENTUAL_69019 AS PERC_AREA, + PRCONSUL.C_PROJECTCTV_39520 AS CTV_PROGETTO, + CONSAREA.C_CTVNEEDARE_EA4FB AS CTV_AREA, + C_BO_453FB.C_VALUE_7BD3C AS ORIZZ_TEMP_NUM, + C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA, + ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + CONSUL.C_DATAMIGRAZ_BF705 AS DATA_MIGR_CONS, + PRCONSUL.C_LASTMODIFI_3BF4A AS DATA_PIANIF, + NULL AS ID_CONTRATTO, + PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO + into #AGG_PROG + FROM C6STAGINGPERIODICO.ALL_CF_PB + INNER JOIN C6STAGINGPERIODICO.CONSUL + ON CONSUL.INSTID = ALL_CF_PB.RETE_PB + AND CONSUL.ADBKID = ALL_CF_PB.CODICEFISCALE + AND CONSUL.TYPE$_TIPOCO_1EA7C = 'Bozza' + INNER JOIN C6STAGINGPERIODICO.CONSAREA + ON CONSAREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6STAGINGPERIODICO.PRCONSUL + ON PRCONSUL.F_PCONSULENZ_B69E4 = CONSAREA.OID$ + LEFT JOIN C6STAGINGPERIODICO.C_BO_453FB + ON C_BO_453FB.PK_PRC = PRCONSUL.OID$ + where CONSAREA.C_NEEDAREA_V_46360='Inv' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +NOME_PROGETTO = L.NOME_PROGETTO +FROM +#AGG_PROG L +WHERE +C6MARTPERIODICO.PATRIMONIO_BF.COD_FISCALE=L.COD_FISCALE +AND C6MARTPERIODICO.PATRIMONIO_BF.RETE=L.RETE +AND C6MARTPERIODICO.PATRIMONIO_BF.ORDINAMENTO_PROGETTO=L.ORDINAMENTO_PROGETTO +AND C6MARTPERIODICO.PATRIMONIO_BF.NOME_PROGETTO <> L.NOME_PROGETTO +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq' +WHERE TIPO_PRODOTTO='CC' +AND ID_AREA = 'na' +AND CTV > 0 +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +--------------------------------------- +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF_pre_selective5' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF_pre_selective5' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI.sql b/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI.sql new file mode 100644 index 00000000..48c7c471 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI.sql @@ -0,0 +1,161 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_EMITTENTI] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_EMITTENTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_EMITTENTI +INSERT INTO +[C6MARTPERIODICO].[PATRIMONIO_EMITTENTI] +( +COD_FISCALE, +RETE, +POSITION_ID, +COD_PRODOTTO, +COD_ADEGUATEZZA, +INTERMEDIARIO, +CTV_INTERMEDIARIO, +CTV_INTER_NOCC_NEG, +EMITTENTE, +COMPLESSITA, +CTV_EMITTENTE, +CTV_PRODOTTO, +FLG_AZ_OB, +CREDITRISKCLASS, +CTV_AZIONARIO, +CTV_OBBLIGAZIONARIO, +CTV_AZ_OB_EMIT, +CTV_AZ_OB_EMIT_INTER, +CTV_COMPLESSIVO, +CTV_COMPL_NOCC_NEG, +CONC_EMITTENTE, +CONC_EMIT_INTERM, +COPERTURA +) + SELECT H.COD_FISCALE, + H.RETE, + H.POSITION_ID, + H.COD_PRODOTTO AS CATALOGUENAME, + '' AS COD_ADEGUATEZZA, + 'BF' AS INTERMEDIARIO, + sum(h.ctv) over (partition by h.cod_fiscale, h.rete) AS PATRIMONIO_INTERMEDIARIO, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END ) over (partition by h.cod_fiscale, h.rete) AS PATRIMONIO_INTER_nocc_neg, + H.EMITTENTE, + H.COMPLEX AS COMPLESSITA, + sum(h.ctv) over (partition by h.cod_fiscale, H.rete, H.EMITTENTE) AS PATRIMONIO_EMITTENTE, + h.ctv as CONTROVALORE_PRODOTTO, + CASE WHEN H.STRTYPE IN ('AZ', 'OB') THEN H.STRTYPE ELSE NULL END AS AZ_OB, + K.classe AS CREDITRISKCLASS, + SUM( case when STRTYPE = 'AZ' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE, H.POSITION_ID) AS CTV_AZIONARIO, + SUM(case when STRTYPE = 'OB' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE, H.POSITION_ID) AS CTV_OBBLIGAZIONARIO, + SUM( case when STRTYPE IN ( 'AZ','OB') then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE) PATRIMONIO_AZ_OB_EMIT, + SUM( case when STRTYPE IN ( 'AZ','OB') then h.ctv else 0 end ) OVER( PARTITION BY H.COd_FISCALE,H.RETE,EMITTENTE) PATRIM_AZ_OB_EMIT_INTER, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPLESSIVO, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPL_nocc_neg, + 0 as concentrazione_emittente, + 0 AS concentraz_emit_interm, + r.copertura + FROM C6MARTPERIODICO.PATRIMONIO_BF H + LEFT OUTER join + C6MARTPERIODICO.RISCHIO_AGGREGATO R + on + H.COD_FISCALE=R.COD_FISCALE + AND H.RETE=R.RETE + AND r.COD_AGGREG = + ((CASE + WHEN (h.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(h.ID_AREA,3) + '|' + h.NOME_PROGETTO+ '|'+ isnull(cast(H.ordinamento_progetto as varchar),'')+'|' + ELSE + CASE WHEN (h.ID_AREA = 'NA') THEN 'RISFIN|' + LEFT(h.ID_AREA,3) + '|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(h.ID_AREA,3) + '|' + END + END) + + h.POSITION_ID) + left outer join + --select * from + --C6MartPeriodico.CODIFICA_CREDITRISK K + C6MartPeriodico.RISCHIOEMITTENTI K + on + R.CREDITRISKEMIT=ORDINE +---- PATRIMONIO TERZI +UNION all +SELECT DISTINCT h.COD_FISCALE, + h.RETE, + '' AS POSITION_ID, + H.COD_PRODOTTO AS CATALOGUENAME, + '' as COD_ADEGUATEZZA, + CASE + WHEN h.INTERMEDIARIO = 'BF' THEN + NULL + ELSE + h.INTERMEDIARIO + END AS INTERMEDIARIO, + sum(ROUND(h.CTV,2)) over (partition by h.cod_fiscale, h.rete, H.INTERMEDIARIO) as PATRIMONIO_INTERMEDIARIO, + sum(case when h.tipo_prodotto='CC' and ROUND(h.CTV,2) < 0 then 0 else ROUND(h.CTV,2) END ) over (partition by h.cod_fiscale, h.rete, H.INTERMEDIARIO) AS PATRIMONIO_INTER_nocc_neg, + h.EMITTENTE, + h.complex as COMPLESSITA, + 0 AS PATRIMONIO_EMITTENTE, + ROUND(h.CTV,2) as CONTROVALORE_PRODOTTO, + CASE WHEN H.STRTYPE IN ('AZ', 'OB') THEN H.STRTYPE ELSE NULL END AS AZ_OB, + K.classe AS CREDITRISKCLASS, + SUM( case when STRTYPE = 'AZ' then ROUND(h.CTV,2) else 0 end ) OVER( PARTITION BY H.COd_FISCALE,H.RETE, H.EMITTENTE, H.intermediario, H.COD_PRODOTTO_TERZI) AS CTV_AZIONARIO,--aggiunto il cod_prodotto_terzi per identificare il singolo prodotto + SUM(case when STRTYPE = 'OB' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE, H.EMITTENTE, H.intermediario, H.COD_PRODOTTO_TERZI ) AS CTV_OBBLIGAZIONARIO, --aggiunto il cod_prodotto_terzi per identificare il singolo prodotto + SUM( case when STRTYPE IN ( 'AZ','OB') then ROUND(h.CTV,2) else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE) PATRIMONIO_AZ_OB_EMIT, + SUM( case when STRTYPE IN ( 'AZ','OB') then ROUND(h.CTV,2) else 0 end ) OVER( PARTITION BY H.COd_FISCALE,H.RETE,EMITTENTE, h.intermediario ) PATRIM_AZ_OB_EMIT_INTER, + sum(case when h.tipo_prodotto='CC' and ROUND(h.CTV,2) < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPLESSIVO, + sum(case when h.tipo_prodotto='CC' and ROUND(h.CTV,2) < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete, h.intermediario) as PATRIMONIO_COMPL_nocc_neg, + 0 as concentrazione_emittente, + 0 as concentraz_emit_interm, + r.copertura + FROM + C6MARTPERIODICO.PATRIMONIO_TERZI H + LEFT OUTER JOIN + C6MARTPERIODICO.RISCHIO_AGGREGATO R + ON + H.COD_FISCALE=R.COD_FISCALE + AND H.RETE=R.RETE + AND r.COD_AGGREG ='COMPLESSIVO|TERZI|' + RTRIM(H.INTERMEDIARIO) + '|' + RTRIM(H.chiave_thr) + LEFT OUTER join + C6Martperiodico.RISCHIOEMITTENTI K + on + R.CREDITRISKEMIT=ORDINE + WHERE + 1=1 + AND H.INTERMEDIARIO <> 'BF' + --AND V.POSITIONID=H.COD_PRODOTTO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_EMITTENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_PATRIMONIO_EMITTENTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI_pre_selective.sql new file mode 100644 index 00000000..018f5541 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_EMITTENTI_pre_selective.sql @@ -0,0 +1,161 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_EMITTENTI_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_EMITTENTI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_EMITTENTI +INSERT INTO +[C6MARTPERIODICO].[PATRIMONIO_EMITTENTI] +( +COD_FISCALE, +RETE, +POSITION_ID, +COD_PRODOTTO, +COD_ADEGUATEZZA, +INTERMEDIARIO, +CTV_INTERMEDIARIO, +CTV_INTER_NOCC_NEG, +EMITTENTE, +COMPLESSITA, +CTV_EMITTENTE, +CTV_PRODOTTO, +FLG_AZ_OB, +CREDITRISKCLASS, +CTV_AZIONARIO, +CTV_OBBLIGAZIONARIO, +CTV_AZ_OB_EMIT, +CTV_AZ_OB_EMIT_INTER, +CTV_COMPLESSIVO, +CTV_COMPL_NOCC_NEG, +CONC_EMITTENTE, +CONC_EMIT_INTERM, +COPERTURA +) + SELECT H.COD_FISCALE, + H.RETE, + H.POSITION_ID, + H.COD_PRODOTTO AS CATALOGUENAME, + '' AS COD_ADEGUATEZZA, + 'BF' AS INTERMEDIARIO, + sum(h.ctv) over (partition by h.cod_fiscale, h.rete) AS PATRIMONIO_INTERMEDIARIO, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END ) over (partition by h.cod_fiscale, h.rete) AS PATRIMONIO_INTER_nocc_neg, + H.EMITTENTE, + H.COMPLEX AS COMPLESSITA, + sum(h.ctv) over (partition by h.cod_fiscale, H.rete, H.EMITTENTE) AS PATRIMONIO_EMITTENTE, + h.ctv as CONTROVALORE_PRODOTTO, + CASE WHEN H.STRTYPE IN ('AZ', 'OB') THEN H.STRTYPE ELSE NULL END AS AZ_OB, + K.classe AS CREDITRISKCLASS, + SUM( case when STRTYPE = 'AZ' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE, H.POSITION_ID) AS CTV_AZIONARIO, + SUM(case when STRTYPE = 'OB' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE, H.POSITION_ID) AS CTV_OBBLIGAZIONARIO, + SUM( case when STRTYPE IN ( 'AZ','OB') then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE) PATRIMONIO_AZ_OB_EMIT, + SUM( case when STRTYPE IN ( 'AZ','OB') then h.ctv else 0 end ) OVER( PARTITION BY H.COd_FISCALE,H.RETE,EMITTENTE) PATRIM_AZ_OB_EMIT_INTER, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPLESSIVO, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPL_nocc_neg, + 0 as concentrazione_emittente, + 0 AS concentraz_emit_interm, + r.copertura + FROM C6MARTPERIODICO.PATRIMONIO_BF H + LEFT OUTER join + C6MARTPERIODICO.RISCHIO_AGGREGATO R + on + H.COD_FISCALE=R.COD_FISCALE + AND H.RETE=R.RETE + AND r.COD_AGGREG = + ((CASE + WHEN (h.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(h.ID_AREA,3) + '|' + h.NOME_PROGETTO+ '|'+ isnull(cast(H.ordinamento_progetto as varchar),'')+'|' + ELSE + CASE WHEN (h.ID_AREA = 'NA') THEN 'RISFIN|' + LEFT(h.ID_AREA,3) + '|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(h.ID_AREA,3) + '|' + END + END) + + h.POSITION_ID) + left outer join + --select * from + --C6MartPeriodico.CODIFICA_CREDITRISK K + C6MartPeriodico.RISCHIOEMITTENTI K + on + R.CREDITRISKEMIT=ORDINE +---- PATRIMONIO TERZI +UNION all +SELECT DISTINCT h.COD_FISCALE, + h.RETE, + '' AS POSITION_ID, + H.COD_PRODOTTO AS CATALOGUENAME, + '' as COD_ADEGUATEZZA, + CASE + WHEN h.INTERMEDIARIO = 'BF' THEN + NULL + ELSE + h.INTERMEDIARIO + END AS INTERMEDIARIO, + sum(ROUND(h.CTV,2)) over (partition by h.cod_fiscale, h.rete, H.INTERMEDIARIO) as PATRIMONIO_INTERMEDIARIO, + sum(case when h.tipo_prodotto='CC' and ROUND(h.CTV,2) < 0 then 0 else ROUND(h.CTV,2) END ) over (partition by h.cod_fiscale, h.rete, H.INTERMEDIARIO) AS PATRIMONIO_INTER_nocc_neg, + h.EMITTENTE, + h.complex as COMPLESSITA, + 0 AS PATRIMONIO_EMITTENTE, + ROUND(h.CTV,2) as CONTROVALORE_PRODOTTO, + CASE WHEN H.STRTYPE IN ('AZ', 'OB') THEN H.STRTYPE ELSE NULL END AS AZ_OB, + K.classe AS CREDITRISKCLASS, + SUM( case when STRTYPE = 'AZ' then ROUND(h.CTV,2) else 0 end ) OVER( PARTITION BY H.COd_FISCALE,H.RETE, H.EMITTENTE, H.intermediario, H.COD_PRODOTTO_TERZI) AS CTV_AZIONARIO,--aggiunto il cod_prodotto_terzi per identificare il singolo prodotto + SUM(case when STRTYPE = 'OB' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE, H.EMITTENTE, H.intermediario, H.COD_PRODOTTO_TERZI ) AS CTV_OBBLIGAZIONARIO, --aggiunto il cod_prodotto_terzi per identificare il singolo prodotto + SUM( case when STRTYPE IN ( 'AZ','OB') then ROUND(h.CTV,2) else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE) PATRIMONIO_AZ_OB_EMIT, + SUM( case when STRTYPE IN ( 'AZ','OB') then ROUND(h.CTV,2) else 0 end ) OVER( PARTITION BY H.COd_FISCALE,H.RETE,EMITTENTE, h.intermediario ) PATRIM_AZ_OB_EMIT_INTER, + sum(case when h.tipo_prodotto='CC' and ROUND(h.CTV,2) < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPLESSIVO, + sum(case when h.tipo_prodotto='CC' and ROUND(h.CTV,2) < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete, h.intermediario) as PATRIMONIO_COMPL_nocc_neg, + 0 as concentrazione_emittente, + 0 as concentraz_emit_interm, + r.copertura + FROM + C6MARTPERIODICO.PATRIMONIO_TERZI H + LEFT OUTER JOIN + C6MARTPERIODICO.RISCHIO_AGGREGATO R + ON + H.COD_FISCALE=R.COD_FISCALE + AND H.RETE=R.RETE + AND r.COD_AGGREG ='COMPLESSIVO|TERZI|' + RTRIM(H.INTERMEDIARIO) + '|' + RTRIM(H.chiave_thr) + LEFT OUTER join + C6Martperiodico.RISCHIOEMITTENTI K + on + R.CREDITRISKEMIT=ORDINE + WHERE + 1=1 + AND H.INTERMEDIARIO <> 'BF' + --AND V.POSITIONID=H.COD_PRODOTTO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_EMITTENTI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_EMITTENTI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE.sql b/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE.sql new file mode 100644 index 00000000..3eaef97f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE.sql @@ -0,0 +1,83 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_IMMOBILIARE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_IMMOBILIARE + INSERT INTO [C6MartPeriodico].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + --DISTINCT atringali 12012010 + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, + CASE ALL_PATR_TERZI.TIPOLOGIA_RDESCR + WHEN 'Civil' THEN 'Civile' + WHEN 'Economic' THEN 'Economica' + WHEN 'Posh' THEN 'Signorile' + ELSE '' + END AS TIPOLOGIA, + ALL_PATR_TERZI.LOCALITA AS LOCALITA, + NULL AS PROVINCIA, + NULL AS CAP, + NULL AS NAZIONE, + ALL_PATR_TERZI.PATRIMONIO_IMMOBILIARE AS VALORE_STIMATO, + ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + WHERE + ALL_PATR_TERZI.CHIAVE_PR_31921 IS NOT NULL + AND ALL_PATR_TERZI.DESCRIZIONE_RDESCR IS NOT NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_IMMOBILIARE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql new file mode 100644 index 00000000..41f814e5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql @@ -0,0 +1,83 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_IMMOBILIARE_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_IMMOBILIARE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_IMMOBILIARE + INSERT INTO [C6MartPeriodico].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + --DISTINCT atringali 12012010 + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, + CASE ALL_PATR_TERZI.TIPOLOGIA_RDESCR + WHEN 'Civil' THEN 'Civile' + WHEN 'Economic' THEN 'Economica' + WHEN 'Posh' THEN 'Signorile' + ELSE '' + END AS TIPOLOGIA, + ALL_PATR_TERZI.LOCALITA AS LOCALITA, + NULL AS PROVINCIA, + NULL AS CAP, + NULL AS NAZIONE, + ALL_PATR_TERZI.PATRIMONIO_IMMOBILIARE AS VALORE_STIMATO, + ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_PATR_TERZI + WHERE + ALL_PATR_TERZI.CHIAVE_PR_31921 IS NOT NULL + AND ALL_PATR_TERZI.DESCRIZIONE_RDESCR IS NOT NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_IMMOBILIARE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_IMMOBILIARE_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_TERZI.sql b/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_TERZI.sql new file mode 100644 index 00000000..6c2fb99b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_TERZI.sql @@ -0,0 +1,162 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_TERZI + INSERT INTO C6MartPeriodico.[PATRIMONIO_TERZI] + ([RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB] +) + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + ALL_PATR_TERZI.TIPO_POLIZZA_BT_97BEE AS TIPO_POLIZZA, + --COALESCE(PRODOTTI_A_CATALOGO.TIPO_PRODOTTO, PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO) AS TIPO_PRODOTTO, + CASE + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' AND S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 = 'Conti correnti' + THEN 'Altro' + ELSE + COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) + END AS TIPO_PRODOTTO, + PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO2 AS TIPO_PRODOTTO2, + ISNULL(ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO,'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(ALL_PATR_TERZI.CHIAVE_THR,'PRODOTTO IN CATALOGO') AS COD_PRODOTTO_TERZI, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + CASE + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.PolizzeRivalutabili') -- PRODOTTI S49 + THEN ISNULL(ALL_PATR_TERZI.DATA_SOTTOSCRIZIONE, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ) + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.ProdottiPrevidenziali') -- PRODOTTI S50 + THEN ALL_PATR_TERZI.BALANCEDATE_DI_THR -- EQUIVALENTE A ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ + ELSE -- PRODOTTI S48 + ALL_PATR_TERZI.DATA_INIZIO_INV + END + AS DATA_SOTTOSCRIZIONE, + ALL_PATR_TERZI.DATA_SCADENZA +AS DATA_SCADENZA, + ALL_PATR_TERZI.TIPO_VERSAMENTO_BT_6797A AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + ALL_PATR_TERZI.PREMIO_VERSAMENTO AS PREMIO, + NULL AS ALIQUOTA, + ALL_PATR_TERZI.BALANCEDATE_DI_THR AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + ALL_PATR_TERZI.PATRIMONIO_TERZI AS CTV, + ALL_PATR_TERZI.CAPITALE_INVESTITO AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' THEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' THEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' THEN 'Portafoglio Generico' + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + STRTYPE, + COMPLEX, + EMITTENTE, + ALL_PATR_TERZI.CHIAVE_THR, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + c6stagingperiodico.all_patr_terzi as ALL_PATR_TERZI--C6STAGINGPERIODICO.ALL_PATR_TERZI C6STAGINGPERIODICO.ALL_PATR_TERZI + INNER JOIN + C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3 + ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA + LEFT JOIN ( + SELECT DISTINCT + ALL_PATR_TERZI.CHIAVE_THR AS CHIAVE_THR, + COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, + S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 AS TIPO_PRODOTTO2 + FROM + c6stagingperiodico.all_patr_terzi as ALL_PATR_TERZI --C6STAGINGPERIODICO.ALL_PATR_TERZI + INNER JOIN + C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3 + ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA + ) PRODOTTI_NON_A_CATALOGO + ON PRODOTTI_NON_A_CATALOGO.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_THR + LEFT JOIN ( + SELECT + CATITEMREF.CATALOGUEID AS CATALOGUEID, + CATITEMREF.TIPOPRODOTTO AS TIPO_PRODOTTO, + CATITEMREF.STRTYPE, + CATITEMREF.COMPLEX, + MIT.DESCR AS EMITTENTE + FROM + C6STAGINGPERIODICO.CATITEMREF LEFT OUTER JOIN + C6STAGINGPERIODICO.EMIT MIT + ON MIT.CODEMI=CATITEMREF.CODEMI + ) PRODOTTI_A_CATALOGO + ON PRODOTTI_A_CATALOGO.CATALOGUEID = ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_TERZI_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_TERZI_pre_selective.sql new file mode 100644 index 00000000..090cc3b2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_PATRIMONIO_TERZI_pre_selective.sql @@ -0,0 +1,162 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_TERZI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_TERZI + INSERT INTO C6MartPeriodico.[PATRIMONIO_TERZI] + ([RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB] +) + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + ALL_PATR_TERZI.TIPO_POLIZZA_BT_97BEE AS TIPO_POLIZZA, + --COALESCE(PRODOTTI_A_CATALOGO.TIPO_PRODOTTO, PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO) AS TIPO_PRODOTTO, + CASE + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' AND S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 = 'Conti correnti' + THEN 'Altro' + ELSE + COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) + END AS TIPO_PRODOTTO, + PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO2 AS TIPO_PRODOTTO2, + ISNULL(ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO,'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(ALL_PATR_TERZI.CHIAVE_THR,'PRODOTTO IN CATALOGO') AS COD_PRODOTTO_TERZI, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + CASE + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.PolizzeRivalutabili') -- PRODOTTI S49 + THEN ISNULL(ALL_PATR_TERZI.DATA_SOTTOSCRIZIONE, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ) + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.ProdottiPrevidenziali') -- PRODOTTI S50 + THEN ALL_PATR_TERZI.BALANCEDATE_DI_THR -- EQUIVALENTE A ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ + ELSE -- PRODOTTI S48 + ALL_PATR_TERZI.DATA_INIZIO_INV + END + AS DATA_SOTTOSCRIZIONE, + ALL_PATR_TERZI.DATA_SCADENZA +AS DATA_SCADENZA, + ALL_PATR_TERZI.TIPO_VERSAMENTO_BT_6797A AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + ALL_PATR_TERZI.PREMIO_VERSAMENTO AS PREMIO, + NULL AS ALIQUOTA, + ALL_PATR_TERZI.BALANCEDATE_DI_THR AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + ALL_PATR_TERZI.PATRIMONIO_TERZI AS CTV, + ALL_PATR_TERZI.CAPITALE_INVESTITO AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' THEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' THEN C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' THEN 'Portafoglio Generico' + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + STRTYPE, + COMPLEX, + EMITTENTE, + ALL_PATR_TERZI.CHIAVE_THR, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + c6stagingperiodico.all_patr_terzi as ALL_PATR_TERZI--C6STAGINGPERIODICO.ALL_PATR_TERZI C6STAGINGPERIODICO.ALL_PATR_TERZI + INNER JOIN + C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3 + ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA + LEFT JOIN ( + SELECT DISTINCT + ALL_PATR_TERZI.CHIAVE_THR AS CHIAVE_THR, + COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, + S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 AS TIPO_PRODOTTO2 + FROM + c6stagingperiodico.all_patr_terzi as ALL_PATR_TERZI --C6STAGINGPERIODICO.ALL_PATR_TERZI + INNER JOIN + C6STAGINGPERIODICO.S4_S5_S13_TRAD_UNTIL_LIV3 + ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA + ) PRODOTTI_NON_A_CATALOGO + ON PRODOTTI_NON_A_CATALOGO.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_THR + LEFT JOIN ( + SELECT + CATITEMREF.CATALOGUEID AS CATALOGUEID, + CATITEMREF.TIPOPRODOTTO AS TIPO_PRODOTTO, + CATITEMREF.STRTYPE, + CATITEMREF.COMPLEX, + MIT.DESCR AS EMITTENTE + FROM + C6STAGINGPERIODICO.CATITEMREF LEFT OUTER JOIN + C6STAGINGPERIODICO.EMIT MIT + ON MIT.CODEMI=CATITEMREF.CODEMI + ) PRODOTTI_A_CATALOGO + ON PRODOTTI_A_CATALOGO.CATALOGUEID = ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_TERZI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_PIRAMIDE_MOD.sql b/sql/storedTestbes/C6MartPeriodico_DM_PIRAMIDE_MOD.sql new file mode 100644 index 00000000..d6a7320e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_PIRAMIDE_MOD.sql @@ -0,0 +1,92 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PIRAMIDE_MOD] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PIRAMIDE_MOD', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PIRAMIDE_MOD + INSERT INTO C6MartPeriodico.[PIRAMIDE_MOD] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[DATA_PIANIF] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_CF_PB.RETE_PB AS RETE, + ALL_CF_PB.CODICE_FISCALE AS COD_FISCALE, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + PRCONSUL.C_PROJECTNAM_11D1A AS NOME_PROGETTO, + PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO, + PRCONSUL.C_PERCENTUAL_69019 AS PERC_AREA, + PRCONSUL.C_PROJECTCTV_39520 AS CTV_PROGETTO, + CONSAREA.C_CTVNEEDARE_EA4FB AS CTV_AREA, + C_BO_453FB.C_VALUE_7BD3C AS ORIZZ_TEMP_NUM, + C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA, + ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + CONSUL.C_DATAMIGRAZ_BF705 AS DATA_MIGR_CONS, + PRCONSUL.C_LASTMODIFI_3BF4A AS DATA_PIANIF, + NULL AS ID_CONTRATTO, + PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB + INNER JOIN C6STAGINGPERIODICO.CONSUL + ON CONSUL.INSTID = ALL_CF_PB.RETE_PB + AND CONSUL.ADBKID = ALL_CF_PB.CODICEFISCALE + AND CONSUL.TYPE$_TIPOCO_1EA7C = 'Bozza' --'AttivaAggiornata' + INNER JOIN C6STAGINGPERIODICO.CONSAREA + ON CONSAREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6STAGINGPERIODICO.PRCONSUL + ON PRCONSUL.F_PCONSULENZ_B69E4 = CONSAREA.OID$ + LEFT JOIN C6STAGINGPERIODICO.C_BO_453FB + ON C_BO_453FB.PK_PRC = PRCONSUL.OID$ + -- WHERE C6STAGINGPERIODICO.ALL_CF_PB.CODICEFISCALE='PDRSRG35P16A794I' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PIRAMIDE_MOD' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PIRAMIDE_MOD' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_PIRAMIDE_MOD_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_PIRAMIDE_MOD_pre_selective.sql new file mode 100644 index 00000000..0d85f0a4 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_PIRAMIDE_MOD_pre_selective.sql @@ -0,0 +1,92 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PIRAMIDE_MOD_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PIRAMIDE_MOD_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PIRAMIDE_MOD + INSERT INTO C6MartPeriodico.[PIRAMIDE_MOD] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[DATA_PIANIF] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_CF_PB.RETE_PB AS RETE, + ALL_CF_PB.CODICE_FISCALE AS COD_FISCALE, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + PRCONSUL.C_PROJECTNAM_11D1A AS NOME_PROGETTO, + PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO, + PRCONSUL.C_PERCENTUAL_69019 AS PERC_AREA, + PRCONSUL.C_PROJECTCTV_39520 AS CTV_PROGETTO, + CONSAREA.C_CTVNEEDARE_EA4FB AS CTV_AREA, + C_BO_453FB.C_VALUE_7BD3C AS ORIZZ_TEMP_NUM, + C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA, + ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + CONSUL.C_DATAMIGRAZ_BF705 AS DATA_MIGR_CONS, + PRCONSUL.C_LASTMODIFI_3BF4A AS DATA_PIANIF, + NULL AS ID_CONTRATTO, + PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.ALL_CF_PB + INNER JOIN C6STAGINGPERIODICO.CONSUL + ON CONSUL.INSTID = ALL_CF_PB.RETE_PB + AND CONSUL.ADBKID = ALL_CF_PB.CODICEFISCALE + AND CONSUL.TYPE$_TIPOCO_1EA7C = 'Bozza' --'AttivaAggiornata' + INNER JOIN C6STAGINGPERIODICO.CONSAREA + ON CONSAREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6STAGINGPERIODICO.PRCONSUL + ON PRCONSUL.F_PCONSULENZ_B69E4 = CONSAREA.OID$ + LEFT JOIN C6STAGINGPERIODICO.C_BO_453FB + ON C_BO_453FB.PK_PRC = PRCONSUL.OID$ + -- WHERE C6STAGINGPERIODICO.ALL_CF_PB.CODICEFISCALE='PDRSRG35P16A794I' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PIRAMIDE_MOD_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PIRAMIDE_MOD_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_PIRAMIDE_VERT.sql b/sql/storedTestbes/C6MartPeriodico_DM_PIRAMIDE_VERT.sql new file mode 100644 index 00000000..efe54b4d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_PIRAMIDE_VERT.sql @@ -0,0 +1,66 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 25/11/2008 +-- Description: Modificate le tabelle da cui pescare i dati (non più la all_pos_cons_cat) +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_PIRAMIDE_VERT] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + SET @TIPO_ELAB = [C6MartPeriodico].GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PIRAMIDE_VERT', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[PIRAMIDE_VERT] + INSERT INTO [C6MartPeriodico].[PIRAMIDE_VERT] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[CTV_AREA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ALL_CF_PB.RETE_PB AS RETE, + ALL_CF_PB.CODICE_FISCALE AS COD_FISCALE, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + CONSAREA.C_CTVNEEDARE_EA4FB AS CTV_AREA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.ALL_CF_PB + INNER JOIN + C6StagingPeriodico.CONSUL + ON + CONSUL.INSTID = ALL_CF_PB.RETE_PB + AND CONSUL.ADBKID = ALL_CF_PB.CODICEFISCALE + AND CONSUL.TYPE$_TIPOCO_1EA7C = 'Bozza' --'AttivaAggiornata' + INNER JOIN + C6StagingPeriodico.CONSAREA + ON + CONSAREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PIRAMIDE_VERT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PIRAMIDE_VERT' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre.sql b/sql/storedTestbes/C6MartPeriodico_DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre.sql new file mode 100644 index 00000000..1a46283d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre.sql @@ -0,0 +1,50 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[DM_POPOLAMENTO_AM_OperazioniUltimoTrimestre] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- storicizzare le operazione dell'ultimo trimestre prima di troncare la tabella + --troncare la tabella esistente +truncate table [C6StampeCentralizzate].[C6STAGINGPERIODICO].AM_OperazioniUltimoTrimestre +-- step propedeutici al popolamento della tabella svuotata +select sca.rete,sca.codfis, sca.NumeroContratto, sca.Contratto, sca.ImportoOperazione, sca.Operazione, sca.DataOperazione, sca.FirmaDigitale +into #propedeutica +from +( +select +a.rete, +case +when isnull(a.codman,'') = '' then a.codfis +when a.codman <> '' then 'FF@'+ a.codman +end as codfis, +a.codconf as NumeroContratto, +a.DESPROD as Contratto, +a.IMPORTO as ImportoOperazione, +a.DESCAU as Operazione, +substring(cast(a.DTOPE as varchar),7,2) + '/'+ substring(cast(a.DTope as varchar),5,2) + '/' + substring(cast(a.Dtope as varchar),1,4) as DataOperazione, +w.descrizione_report as FirmaDigitale +from c6stagingPeriodico.w6aput AS a +inner join [dbo].[W6APUT_AnaFirma] as w +on a.firma = w.firma +where a.dttrim = (select max(dttrim) from c6stagingPeriodico.w6aput) +--AND @datacongelamento +) sca +--- aggiunta del CF e rete per entrare nella SP successiva +insert into [C6StampeCentralizzate].[C6STAGINGPERIODICO].AM_OperazioniUltimoTrimestre +SELECT RETE, + codfis AS CodiceFiscale + ,DataOperazione + ,Contratto + ,NumeroContratto + ,Operazione + ,ImportoOperazione + ,FirmaDigitale +FROM #propedeutica +order by rete,codicefiscale, CONVERT(DATETIME, DataOperazione, 103) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_PROVENTI.sql b/sql/storedTestbes/C6MartPeriodico_DM_PROVENTI.sql new file mode 100644 index 00000000..aba0a0cf --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_PROVENTI.sql @@ -0,0 +1,87 @@ +CREATE procedure [C6MartPeriodico].[DM_PROVENTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @DTMAX INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEIPR + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_PROVENTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[PROVENTI] +--select * from [C6MartPeriodico].[PROVENTI] + INSERT INTO [C6MartPeriodico].[PROVENTI] ( + WSEIPR.RETE, + DTTRIM, + COD_FISCALE, + COD_INTERNO , + COD_SOTTOPRODOTTO , + DESPROD , + DTRIFE, + TIPMOV, + IMPORTO + ) + SELECT + WSEIPR.RETE, + convert(datetime,convert(varchar,WSEIPR.[DTTRIM]),100) as [DT_TRIM], + WSEIPR.CODFIS, + COD_INTERNO = CASE + -- WHEN WSEIPR.FAMPROD <> 'DT' THEN WSEIPR.CODPROD + -- ELSE WSEIPR.CODABI + WHEN LTRIM(RTRIM(isnull(WSEIPR.CODABI,''))) = '' THEN WSEIPR.CODPROD + ELSE LTRIM(RTRIM(WSEIPR.CODABI)) + END, + COD_SOTTOPRODOTTO = CASE + WHEN LTRIM(RTRIM(isnull(WSEIPR.SUBPROD,''))) = '' THEN '' + ELSE LTRIM(RTRIM(WSEIPR.SUBPROD)) + END, + --[C6MartPeriodico].[getDESPRODCAT](CODPROD,SUBPROD) as DESPROD , + [C6MartPeriodico].[getDESPRODCAT] + (CASE + WHEN LTRIM(RTRIM(isnull(WSEIPR.CODABI,''))) = '' THEN WSEIPR.CODPROD + ELSE LTRIM(RTRIM(WSEIPR.CODABI)) + END, + CASE + WHEN LTRIM(RTRIM(isnull(WSEIPR.SUBPROD,''))) = '' THEN NULL + ELSE LTRIM(RTRIM(WSEIPR.SUBPROD)) + END) as DESPROD , + convert(datetime,convert(varchar,WSEIPR.[DTRIFE]),100) as DTRIFE, + WSEIPR.TIPMOV, + WSEIPR.IMPORTO + FROM c6StagingPeriodico.WSEIPR WSEIPR + WHERE + WSEIPR.[DTTRIM] = @DTMAX + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PROVENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_PROVENTI' + ) +-- FC 22/01/2014 +-- Verifica e scarto prodotti + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT a.RETE, a.COD_FISCALE, 'PROVENTI.DESPROD IS NULL' + FROM [C6MartPeriodico].[PROVENTI] a --WHERE ISNULL(DesProd,'') ='' + INNER JOIN c6stagingperiodico.appo_contratti_v b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and b.tip_contratto=2 + WHERE ISNULL(DesProd,'') ='' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_PROVENTI_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_PROVENTI_pre_selective.sql new file mode 100644 index 00000000..f913c57b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_PROVENTI_pre_selective.sql @@ -0,0 +1,87 @@ +CREATE PROCEDURE [C6MartPeriodico].[DM_PROVENTI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @DTMAX INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEIPR + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PROVENTI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[PROVENTI] +--select * from [C6MartPeriodico].[PROVENTI] + INSERT INTO [C6MartPeriodico].[PROVENTI] ( + WSEIPR.RETE, + DTTRIM, + COD_FISCALE, + COD_INTERNO , + COD_SOTTOPRODOTTO , + DESPROD , + DTRIFE, + TIPMOV, + IMPORTO + ) + SELECT + WSEIPR.RETE, + convert(datetime,convert(varchar,WSEIPR.[DTTRIM]),100) as [DT_TRIM], + WSEIPR.CODFIS, + COD_INTERNO = CASE + -- WHEN WSEIPR.FAMPROD <> 'DT' THEN WSEIPR.CODPROD + -- ELSE WSEIPR.CODABI + WHEN LTRIM(RTRIM(isnull(WSEIPR.CODABI,''))) = '' THEN WSEIPR.CODPROD + ELSE LTRIM(RTRIM(WSEIPR.CODABI)) + END, + COD_SOTTOPRODOTTO = CASE + WHEN LTRIM(RTRIM(isnull(WSEIPR.SUBPROD,''))) = '' THEN '' + ELSE LTRIM(RTRIM(WSEIPR.SUBPROD)) + END, + --[C6MartPeriodico].[getDESPRODCAT](CODPROD,SUBPROD) as DESPROD , + [C6MartPeriodico].[getDESPRODCAT] + (CASE + WHEN LTRIM(RTRIM(isnull(WSEIPR.CODABI,''))) = '' THEN WSEIPR.CODPROD + ELSE LTRIM(RTRIM(WSEIPR.CODABI)) + END, + CASE + WHEN LTRIM(RTRIM(isnull(WSEIPR.SUBPROD,''))) = '' THEN NULL + ELSE LTRIM(RTRIM(WSEIPR.SUBPROD)) + END) as DESPROD , + convert(datetime,convert(varchar,WSEIPR.[DTRIFE]),100) as DTRIFE, + WSEIPR.TIPMOV, + WSEIPR.IMPORTO + FROM c6StagingPeriodico.WSEIPR WSEIPR + WHERE + WSEIPR.[DTTRIM] = @DTMAX + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PROVENTI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PROVENTI_pre_selective' + ) +-- FC 22/01/2014 +-- Verifica e scarto prodotti + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT a.RETE, a.COD_FISCALE, 'PROVENTI.DESPROD IS NULL' + FROM [C6MartPeriodico].[PROVENTI] a --WHERE ISNULL(DesProd,'') ='' + INNER JOIN c6stagingperiodico.appo_contratti b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and b.tip_contratto=2 + WHERE ISNULL(DesProd,'') ='' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_RISCHIOEMITTENTI.sql b/sql/storedTestbes/C6MartPeriodico_DM_RISCHIOEMITTENTI.sql new file mode 100644 index 00000000..ac14d456 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_RISCHIOEMITTENTI.sql @@ -0,0 +1,15 @@ +CREATE procedure [C6MartPeriodico].[DM_RISCHIOEMITTENTI] +as +begin +truncate table C6MARTperiodico.[RischioEmittenti] +INSERT INTO [C6StampeCentralizzate].C6MARTperiodico.[RischioEmittenti] + ([Classe] + ,[Min] + ,[Max] + ,[Ordine]) + SELECT [Classe] + ,[MinVal] + ,[MaxVal] + ,[Ordine] + FROM [C6StampeCentralizzate].[C6Stagingperiodico].[RiskEmit] +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO.sql b/sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO.sql new file mode 100644 index 00000000..ea15b335 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO.sql @@ -0,0 +1,95 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_RISCHIO_AGGREGATO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.RISCHIO_AGGREGATO + INSERT INTO C6MartPeriodico.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + case when PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO >= 99.99 then 99.99 + when PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO <= 0.0 then 0.0 + else CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) end AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + -- Modifica del 27/6/2018 - per errore cast + --CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(12,3)) AS BENEFICIO, + -- fine Modifica del 27/6/2018 + CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + c6martperiodico.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + FROM + C6martPERIODICO.brsvarallaggr PROMETEIA_AGGR +--begin transaction +update c6martperiodico.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_20180627_preNewInd.sql b/sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_20180627_preNewInd.sql new file mode 100644 index 00000000..94d7226b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_20180627_preNewInd.sql @@ -0,0 +1,90 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_RISCHIO_AGGREGATO_20180627_preNewInd] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.RISCHIO_AGGREGATO + INSERT INTO C6MartPeriodico.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + c6martperiodico.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + FROM + C6STAGINGPERIODICO.PROMETEIA_AGGR +--begin transaction +update c6martperiodico.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_OLD2.sql b/sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_OLD2.sql new file mode 100644 index 00000000..c58ddf4c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_OLD2.sql @@ -0,0 +1,97 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_RISCHIO_AGGREGATO_OLD2] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.RISCHIO_AGGREGATO + INSERT INTO C6MartPeriodico.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(10,2)) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + --CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + --V il CC deve avere sempre copertura = 100 + CASE + WHEN PORTAFOGLIO = 'COMPLESSIVO|BF|CC' THEN 100 + ELSE CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) + END AS COPERTURA, + --CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(10,2)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + --nuovo + C6martperiodico.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISK_EMIT + FROM + C6STAGINGPERIODICO.PROMETEIA_AGGR +--begin transaction +update c6martperiodico.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_old.sql b/sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_old.sql new file mode 100644 index 00000000..d6f90496 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_old.sql @@ -0,0 +1,88 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_RISCHIO_AGGREGATO_old] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.RISCHIO_AGGREGATO + INSERT INTO C6MartPeriodico.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(10,2)) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC + FROM + C6STAGINGPERIODICO.PROMETEIA_AGGR +--begin transaction +update c6martperiodico.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_preAladdin.sql b/sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_preAladdin.sql new file mode 100644 index 00000000..83291c1a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_preAladdin.sql @@ -0,0 +1,93 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_RISCHIO_AGGREGATO_preAladdin] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.RISCHIO_AGGREGATO + INSERT INTO C6MartPeriodico.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + -- Modifica del 27/6/2018 - per errore cast + --CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(12,3)) AS BENEFICIO, + -- fine Modifica del 27/6/2018 + CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + c6martperiodico.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + FROM + C6STAGINGPERIODICO.PROMETEIA_AGGR +--begin transaction +update c6martperiodico.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective.sql new file mode 100644 index 00000000..e3e9fba8 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective.sql @@ -0,0 +1,90 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_RISCHIO_AGGREGATO_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.RISCHIO_AGGREGATO + INSERT INTO C6MartPeriodico.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + c6martperiodico.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + FROM + C6martPERIODICO.brsvarallaggr PROMETEIA_AGGR +--begin transaction +update c6martperiodico.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective_preAladdin.sql b/sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective_preAladdin.sql new file mode 100644 index 00000000..0594a772 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_RISCHIO_AGGREGATO_pre_selective_preAladdin.sql @@ -0,0 +1,90 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[DM_RISCHIO_AGGREGATO_pre_selective_preAladdin] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.RISCHIO_AGGREGATO + INSERT INTO C6MartPeriodico.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(15,3)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + C6martperiodico.getCreditRiskClass(Ully_perc,numtitrc) AS CREDITRISK, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + c6martperiodico.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + FROM + C6STAGINGPERIODICO.PROMETEIA_AGGR +--begin transaction +update c6martperiodico.rischio_aggregato +set copertura = 100 +where cod_aggreg = 'RISFIN|PIRAMIDE|Liq' +and CTV_AGGREG = 0 +--commit +--and cod_fiscale= 'TRPDRA75D15A794T' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_SCADENZE.sql b/sql/storedTestbes/C6MartPeriodico_DM_SCADENZE.sql new file mode 100644 index 00000000..6a192721 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_SCADENZE.sql @@ -0,0 +1,87 @@ +CREATE procedure [C6MartPeriodico].[DM_SCADENZE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @DTMAX INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEISC + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'DM_SCADENZE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[SCADENZE] +--select * from [C6MartPeriodico].[[SCADENZE]] + INSERT INTO [C6MartPeriodico].[SCADENZE] ( + WSEIPR.RETE, + DTTRIM, + COD_FISCALE, + COD_INTERNO , + COD_SOTTOPRODOTTO, + DESPROD, + DTSCAD, + TIPMOV + ) + SELECT + WSEISC.RETE, + convert(datetime,convert(varchar,WSEISC.[DTTRIM]),100) as [DT_TRIM], + WSEISC.CODFIS, + COD_INTERNO = CASE + -- WHEN WSEISC.FAMPROD <> 'DT' THEN WSEISC.CODPROD + -- ELSE WSEISC.CODABI + WHEN LTRIM(RTRIM(isnull(WSEISC.CODABI,''))) = '' THEN WSEISC.CODPROD + ELSE LTRIM(RTRIM(WSEISC.CODABI)) + END, + COD_SOTTOPRODOTTO = CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.SUBPROD,''))) = '' THEN '' + ELSE LTRIM(RTRIM(WSEISC.SUBPROD)) + END, + -- [C6MartPeriodico].[getDESPRODCAT](CODPROD,SUBPROD) as DESPROD , + [C6MartPeriodico].[getDESPRODCAT] + (CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.CODABI,''))) = '' THEN WSEISC.CODPROD + ELSE LTRIM(RTRIM(WSEISC.CODABI)) + END, + CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.SUBPROD,''))) = '' THEN NULL + ELSE LTRIM(RTRIM(WSEISC.SUBPROD)) + END) as DESPROD , + convert(datetime,convert(varchar,WSEISC.DTSCAD),100) as DTSCAD, + WSEISC.TIPMOV + FROM c6StagingPeriodico.WSEISC WSEISC + -- modifica del 28/4/2017 per s&m selective + inner join c6StagingPeriodico.appo_contratti_v appo + on wseisc.rete = appo.rete and + wseisc.codfis = appo.cod_fiscale + --fine modifica del 28/4/2017 per s&m selective + WHERE + WSEISC.[DTTRIM] = @DTMAX + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_SCADENZE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_SCADENZE' + ) +-- FC 22/01/2014 +-- Verifica e scarto prodotti + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'SCADENZE.DESPROD IS NULL' + FROM [C6MartPeriodico].[SCADENZE] WHERE ISNULL(DesProd,'') ='' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_SCADENZE_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_DM_SCADENZE_pre_selective.sql new file mode 100644 index 00000000..1b747280 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_SCADENZE_pre_selective.sql @@ -0,0 +1,82 @@ +CREATE procedure [C6MartPeriodico].[DM_SCADENZE_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @DTMAX INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEISC + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_SCADENZE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[SCADENZE] +--select * from [C6MartPeriodico].[[SCADENZE]] + INSERT INTO [C6MartPeriodico].[SCADENZE] ( + WSEIPR.RETE, + DTTRIM, + COD_FISCALE, + COD_INTERNO , + COD_SOTTOPRODOTTO, + DESPROD, + DTSCAD, + TIPMOV + ) + SELECT + WSEISC.RETE, + convert(datetime,convert(varchar,WSEISC.[DTTRIM]),100) as [DT_TRIM], + WSEISC.CODFIS, + COD_INTERNO = CASE + -- WHEN WSEISC.FAMPROD <> 'DT' THEN WSEISC.CODPROD + -- ELSE WSEISC.CODABI + WHEN LTRIM(RTRIM(isnull(WSEISC.CODABI,''))) = '' THEN WSEISC.CODPROD + ELSE LTRIM(RTRIM(WSEISC.CODABI)) + END, + COD_SOTTOPRODOTTO = CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.SUBPROD,''))) = '' THEN '' + ELSE LTRIM(RTRIM(WSEISC.SUBPROD)) + END, + -- [C6MartPeriodico].[getDESPRODCAT](CODPROD,SUBPROD) as DESPROD , + [C6MartPeriodico].[getDESPRODCAT] + (CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.CODABI,''))) = '' THEN WSEISC.CODPROD + ELSE LTRIM(RTRIM(WSEISC.CODABI)) + END, + CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.SUBPROD,''))) = '' THEN NULL + ELSE LTRIM(RTRIM(WSEISC.SUBPROD)) + END) as DESPROD , + convert(datetime,convert(varchar,WSEISC.DTSCAD),100) as DTSCAD, + WSEISC.TIPMOV + FROM c6StagingPeriodico.WSEISC WSEISC + WHERE + WSEISC.[DTTRIM] = @DTMAX + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_SCADENZE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_SCADENZE_pre_selective' + ) +-- FC 22/01/2014 +-- Verifica e scarto prodotti + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'SCADENZE.DESPROD IS NULL' + FROM [C6MartPeriodico].[SCADENZE] WHERE ISNULL(DesProd,'') ='' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_SCADENZE_pre_selective_luca.sql b/sql/storedTestbes/C6MartPeriodico_DM_SCADENZE_pre_selective_luca.sql new file mode 100644 index 00000000..fe0a37a7 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_SCADENZE_pre_selective_luca.sql @@ -0,0 +1,82 @@ +CREATE procedure [C6MartPeriodico].[DM_SCADENZE_pre_selective_luca] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + DECLARE @DTMAX INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEISC + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_SCADENZE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[SCADENZE] +--select * from [C6MartPeriodico].[[SCADENZE]] + INSERT INTO [C6MartPeriodico].[SCADENZE] ( + WSEIPR.RETE, + DTTRIM, + COD_FISCALE, + COD_INTERNO , + COD_SOTTOPRODOTTO, + DESPROD, + DTSCAD, + TIPMOV + ) + SELECT + WSEISC.RETE, + convert(datetime,convert(varchar,WSEISC.[DTTRIM]),100) as [DT_TRIM], + WSEISC.CODFIS, + COD_INTERNO = CASE + -- WHEN WSEISC.FAMPROD <> 'DT' THEN WSEISC.CODPROD + -- ELSE WSEISC.CODABI + WHEN LTRIM(RTRIM(isnull(WSEISC.CODABI,''))) = '' THEN WSEISC.CODPROD + ELSE LTRIM(RTRIM(WSEISC.CODABI)) + END, + COD_SOTTOPRODOTTO = CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.SUBPROD,''))) = '' THEN '' + ELSE LTRIM(RTRIM(WSEISC.SUBPROD)) + END, + -- [C6MartPeriodico].[getDESPRODCAT](CODPROD,SUBPROD) as DESPROD , + [C6MartPeriodico].[getDESPRODCAT] + (CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.CODABI,''))) = '' THEN WSEISC.CODPROD + ELSE LTRIM(RTRIM(WSEISC.CODABI)) + END, + CASE + WHEN LTRIM(RTRIM(isnull(WSEISC.SUBPROD,''))) = '' THEN NULL + ELSE LTRIM(RTRIM(WSEISC.SUBPROD)) + END) as DESPROD , + convert(datetime,convert(varchar,WSEISC.DTSCAD),100) as DTSCAD, + WSEISC.TIPMOV + FROM c6StagingPeriodico.WSEISC WSEISC + WHERE + WSEISC.[DTTRIM] = @DTMAX + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_SCADENZE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_SCADENZE' + ) +-- FC 22/01/2014 +-- Verifica e scarto prodotti + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'SCADENZE.DESPROD IS NULL' + FROM [C6MartPeriodico].[SCADENZE] WHERE ISNULL(DesProd,'') ='' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_STORICO_CAPPROT_FVI.sql b/sql/storedTestbes/C6MartPeriodico_DM_STORICO_CAPPROT_FVI.sql new file mode 100644 index 00000000..bce7f22f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_STORICO_CAPPROT_FVI.sql @@ -0,0 +1,74 @@ +-- ============================================= +-- Description: 'S' + and LP.DTTRIM = @DataFineTrim and cs.dttrim = @DataFineTrim +-------------------------------------------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_STORICO_CAPPROT_FVI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'DM_STORICO_CAPPROT_FVI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_TEST_QUALITY.sql b/sql/storedTestbes/C6MartPeriodico_DM_TEST_QUALITY.sql new file mode 100644 index 00000000..ca210bd5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_TEST_QUALITY.sql @@ -0,0 +1,112 @@ +CREATE PROCEDURE [C6MartPeriodico].[DM_TEST_QUALITY] +AS +BEGIN +declare @date datetime +declare @trimestre datetime +set @date = getdate() +set @trimestre = [C6MartPeriodico].[getTrimestre] (@date, 0) +SELECT 'TESTING FOR TRIMESTRALE = ' + cast( @trimestre as NVARCHAR(20)) +--set @trimestre = '2017-06-30' +SELECT 'TESTING DATA_MONIT' +;with dd as +( +SELECT + CONO.ID_AREA AS NEED_AREA, + CASE + WHEN CONO.NOME_PROGETTO = 'XXX' THEN '' + ELSE CONO.NOME_PROGETTO + END AS NOME_PROGETTO, + CONO.RETE, + CONO.COD_FISCALE, + CONO.DATA_CONO, + MONIT.DATA_CTV as DATA_MONIT +FROM + C6MartPeriodico.CONO_PIANIFICAZIONE AS CONO + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE AS MONIT + ON CONO.RETE = MONIT.RETE + AND CONO.COD_FISCALE = MONIT.COD_FISCALE + AND CONO.ID_AREA = MONIT.ID_AREA + AND CONO.NOME_PROGETTO = MONIT.NOME_PROGETTO + AND cono.ordinamento_progetto=monit.ordinamento_progetto +),reduced_data as +( +select distinct d.* +from dd d + inner join (select * from dd where data_cono = @trimestre) x on d.need_area = x.need_area and d.nome_progetto = x.nome_progetto + and x.rete = d.rete and x.cod_fiscale = d.cod_fiscale +), +correct_data as +( +select * from reduced_data d where data_cono = data_monit +) +select d.RETE, d.COD_FISCALE, 'missing data for DATA_MONIT for NOME_PROGETTO = ' + d.nome_progetto + ' NEED_AREA = '+ d.need_area as MOTIVO +from reduced_data d + left join correct_data x on d.need_area = x.need_area and d.nome_progetto = x.nome_progetto + and x.rete = d.rete and x.cod_fiscale = d.cod_fiscale +where x.need_area is null +group by d.rete, d.cod_fiscale, d.need_area, d.nome_progetto +SELECT 'TESTING data_perf in c6mart.vcontratti' +DECLARE @dtrim VARCHAR(8) + set @dtrim = c6martperiodico.getPreviousTrimestre(getDate(),0) + SELECT codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim,rank INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' and dttrim = @dtrim + )X +select * from wh.Maledetti m inner join #WSEIAN_1 wse + on wse.codfis = m.i_codiceFiscale and wse.rete = m.i_rete left join [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC +on vc.cod_fiscale = i_codiceFiscale and vc.rete = i_rete +where data_perf is null and wse.FLGPROF = 'S' +SELECT 'TESTING SCARTO PER PIRAMIDE MODELLO' +SELECT RETE, COD_FISCALE, + CASE + WHEN PMOD.PRC > 100 THEN 'SCARTO PER PIRAMIDE MODELLO SUPERIORE A 100' + WHEN PMOD.PRC < 1 THEN 'SCARTO PER PIRAMIDE MODELLO BELOW 1' + ELSE 'SCARTO PER PIRAMIDE MODELLO INFERIORE A 100' +END AS MOTIVO +FROM C6MARTPeriodico.VCONTRATTI VC + INNER JOIN + (SELECT chiaveclientepb, sum(percentualeprogetto) AS PRC FROM c6stagingperiodico.rp_progettipiramidemodello + WHERE 1=1 + AND ((area = 'Inv' and tipoProgetto = 1) OR (area <> 'Inv' and tipoProgetto = 0)) + AND DtFineValidita > getdate() + GROUP BY chiaveclientepb + ) AS PMOD + ON VC.chiaveclientepb = PMOD.chiaveclientepb +WHERE PMOD.PRC < 1 or PMOD.PRC > 100 +DECLARE @d nvarchar(8) +set @d = c6martperiodico.getTrimestre(getdate(), 1) +;with alldata as +( +select * from [C6StagingPeriodico].[WSEIAN2] WHERE codfis not like 'FF%' and DTTRIM=@d +), moddata as +( SELECT an.* + FROM [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis not like 'FF%' and DTTRIM=@d +) +select * from alldata d left join moddata m on m.rete = d.rete and m.codfis = d.codfis and m.dttrim = d.dttrim +where m.codfis is null +;with alldata as +( +select * from [C6StagingPeriodico].[WSEIAN2] WHERE codfis like 'FF%' and DTTRIM=@d +), moddata as +( SELECT an.* + FROM [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and adeg.[FLAGPG]=0 and adeg.[FLAGNQP]='N' and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis like 'FF%' + and DTTRIM=@d +) +select * from alldata d left join moddata m on m.rete = d.rete and m.codfis = d.codfis and m.dttrim = d.dttrim +where m.codfis is null +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DM_dettaglio_MOV.sql b/sql/storedTestbes/C6MartPeriodico_DM_dettaglio_MOV.sql new file mode 100644 index 00000000..7e90e02c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DM_dettaglio_MOV.sql @@ -0,0 +1,19 @@ +CREATE procedure [C6MartPeriodico].[DM_dettaglio_MOV] +AS BEGIN +--INSERT INTO C6MartPeriodico.Dettaglio_MOV +SELECT + [RETE], + CASE + WHEN CODMAN ='' + THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS, + sum(APPORTI) - sum(PRELIEVI) as dettaglio +FROM + [C6StagingPeriodico].[W6APTR] +WHERE + DTTRIM =(select max(dttrim) from [C6StagingPeriodico].[W6APTR]) +GROUP BY + RETE, + CASE WHEN CODMAN ='' THEN CODFIS ELSE 'FF@'+CODMAN END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Decodifica_Concentrazione_Prodotti_Complessi.sql b/sql/storedTestbes/C6MartPeriodico_Decodifica_Concentrazione_Prodotti_Complessi.sql new file mode 100644 index 00000000..9b2c5aa0 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Decodifica_Concentrazione_Prodotti_Complessi.sql @@ -0,0 +1,144 @@ +--[C6MartPeriodico].[PL_D_S180ProdottiComplessitaAlta] 'f', 'ff@9225' +CREATE procedure [C6MartPeriodico].[Decodifica_Concentrazione_Prodotti_Complessi] --'F','SPNTTR67T20F205D' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @adeguato char(1) +select @adeguato= flgconc from C6MartPeriodico.WSEIAN2 where RETE=@Rete and CODFIS=@CodiceFiscale +if(@adeguato='N') +begin + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @TotalePatrimonio decimal(12,2) + -- acquisiamo il totale patrimonio del cliente + SELECT @TotalePatrimonio = ctv + FROM + C6MartPeriodico.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +-- + SELECT + 1 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi + into #temp +FROM + [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 3 + union all + SELECT + 2 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 2 + union all + SELECT + 3 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 1 + -- --20180905 Fine modifica + order by ordine,Compl_Base desc + delete from #temp where ordine=1 and SommaPesi<20 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta è <20 + delete from #temp where ordine=2 and SommaPesi<30 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta è <30 + delete from #temp where ordine=3 and SommaPesi<50 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta e medio-bassa è <50 +DECLARE @countLimMax VARCHAR(50) +SELECT @countLimMax = count(*) FROM #temp +DECLARE @maxCompl VARCHAR(50) +select @maxCompl = max(compl_base) from [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] where rete=@rete and Cod_fiscale=@CodiceFiscale +declare @IndPatrimonio decimal(12,2) + -- acquisiamo il totale patrimonio del cliente + SELECT @IndPatrimonio = case when ctv>50000 then 2 + when ctv>75000 then 3 + when ctv>150000 then 4 + else 0 end + FROM + C6MartPeriodico.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +--print(@countLimMax) +--print(@maxCompl) +--print(@IndPatrimonio) +if (@countLimMax=0 and @maxCompl>@IndPatrimonio) +begin +update C6MartPeriodico.WSEIAN2 +set FLGCONC = 'A' +where rete=@Rete +and CODFIS=@CodiceFiscale +--print('Il livello di concentrazione di prodotti complessi nel suo portafoglio è NON ADEGUATO in quanto non coerente rispetto al patrimonio minimo richiesto per la sottoscrizione di tali prodotti.') +end +if (@countLimMax>0 and @maxCompl<=@IndPatrimonio) +begin +update C6MartPeriodico.WSEIAN2 +set FLGCONC = 'B' +where rete=@Rete +and CODFIS=@CodiceFiscale +--print('Il livello di concentrazione di prodotti complessi nel suo portafoglio è NON ADEGUATO in quanto superiore ai limiti massimi stabiliti dalla Banca.') +end +if (@countLimMax>0 and @maxCompl>@IndPatrimonio) +begin +update C6MartPeriodico.WSEIAN2 +set FLGCONC = 'C' +where rete=@Rete +and CODFIS=@CodiceFiscale +--print('Il livello di concentrazione di prodotti complessi nel suo portafoglio è NON ADEGUATO in quanto superiore ai limiti massimi stabiliti dalla Banca e non coerente rispetto al patrimonio minimo richiesto per la sottoscrizione di tali prodotti.') +end +end +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DeleteGruppo_ExcludedList.sql b/sql/storedTestbes/C6MartPeriodico_DeleteGruppo_ExcludedList.sql new file mode 100644 index 00000000..2a54062a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DeleteGruppo_ExcludedList.sql @@ -0,0 +1,7 @@ +CREATE procedure [C6MartPeriodico].[DeleteGruppo_ExcludedList] + @motivo varchar(200) +AS +BEGIN +Delete FROM [C6StampeCentralizzate].[C6MartPeriodico].[ExcludedList_testing] + WHERE [DescrErr] = @motivo +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_DistinctGruppo_ExcludedList.sql b/sql/storedTestbes/C6MartPeriodico_DistinctGruppo_ExcludedList.sql new file mode 100644 index 00000000..7fd07c55 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_DistinctGruppo_ExcludedList.sql @@ -0,0 +1,6 @@ +CREATE procedure [C6MartPeriodico].[DistinctGruppo_ExcludedList] +AS +BEGIN +SELECT distinct [DescrErr] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[ExcludedList_testing] +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Estrazione_Campione.sql b/sql/storedTestbes/C6MartPeriodico_Estrazione_Campione.sql new file mode 100644 index 00000000..1cd01a34 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Estrazione_Campione.sql @@ -0,0 +1,40 @@ +CREATE procedure [C6MartPeriodico].[Estrazione_Campione] +AS +BEGIN +drop table if exists C6MartPeriodico.TB_Estrazione_Campione +select top(1) rete_acn,codice_fiscale,'Cliente W Retail (Non Professionale) con solo Monitoraggio' as Nota into C6MartPeriodico.TB_Estrazione_Campione from C6MartPeriodico.tabellone where rete_acn='W' and segmento<>'PRIVATE' and freq_diagnosi<>'T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente W Private (Non Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='W' and segmento='PRIVATE' and freq_diagnosi<>'T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente W Retail (Non Professionale) con Monitoraggio e Diagnosi'as Nota from C6MartPeriodico.tabellone where rete_acn='W' and segmento='PRIVATE' and freq_diagnosi='T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente S Retail (Non Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='S' and segmento<>'PRIVATE' and freq_diagnosi<>'T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente S Retail (Non Professionale) con Monitoraggio e Diagnosi'as Nota from C6MartPeriodico.tabellone where rete_acn='S' and segmento<>'PRIVATE' and freq_diagnosi='T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente S Private (Non Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='S' and segmento='PRIVATE' and freq_diagnosi<>'T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente F Retail (Non Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='F' and segmento<>'PRIVATE' and freq_diagnosi<>'T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente F Retail (Non Professionale) con Monitoraggio e Diagnosi'as Nota from C6MartPeriodico.tabellone where rete_acn='F' and segmento<>'PRIVATE' and freq_diagnosi='T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente F Private (Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='F' and segmento='PRIVATE' and freq_diagnosi<>'T' and flgprof='S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente F Private (Non Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='F' and segmento='PRIVATE' and freq_diagnosi<>'T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente F Retail (Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='F' and segmento<>'PRIVATE' and freq_diagnosi<>'T' and flgprof='S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente F Retail (Professionale) con Monitoraggio e Diagnosi'as Nota from C6MartPeriodico.tabellone where rete_acn='F' and segmento<>'PRIVATE' and freq_diagnosi='T' and flgprof='S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente F Private (Non Professionale) con Monitoraggio e Diagnosi'as Nota from C6MartPeriodico.tabellone where rete_acn='F' and segmento='PRIVATE' and freq_diagnosi='T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente S Retail (Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='S' and segmento<>'PRIVATE' and freq_diagnosi<>'T' and flgprof='S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente S Private (Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='S' and segmento='PRIVATE' and freq_diagnosi<>'T' and flgprof='S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente S Private (Non Professionale) con Monitoraggio e Diagnosi'as Nota from C6MartPeriodico.tabellone where rete_acn='S' and segmento='PRIVATE' and freq_diagnosi='T' and flgprof<>'S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente W Retail (Professionale) con solo Monitoraggio' as Nota from C6MartPeriodico.tabellone where rete_acn='W' and segmento<>'PRIVATE' and freq_diagnosi<>'T' and flgprof='S' +union all +select top(1) rete_acn,codice_fiscale,'Cliente W Private (Professionale) con solo Monitoraggio'as Nota from C6MartPeriodico.tabellone where rete_acn='W' and segmento='PRIVATE' and freq_diagnosi<>'T' and flgprof='S' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Estrazione_Campione_Cruscotto.sql b/sql/storedTestbes/C6MartPeriodico_Estrazione_Campione_Cruscotto.sql new file mode 100644 index 00000000..7f6f79bd --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Estrazione_Campione_Cruscotto.sql @@ -0,0 +1,40 @@ +CREATE procedure [C6MartPeriodico].[Estrazione_Campione_Cruscotto] +AS +BEGIN +drop table if exists C6MartPeriodico.TB_Estrazione_Campione_Cruscotto +select top(1) rete,codice_fiscale,'Cliente W Retail (Non Professionale) con solo Monitoraggio' as Nota into C6MartPeriodico.TB_Estrazione_Campione_Cruscotto from c6martperiodico.rp_tb_tipologia_campione where rete='W' and segmento<>'PRIVATE' and Diagnosi<>'SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente W Private (Non Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='W' and segmento='PRIVATE' and Diagnosi<>'SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente W Retail (Non Professionale) con Monitoraggio e Diagnosi'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='W' and segmento='PRIVATE' and Diagnosi='SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente S Retail (Non Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='S' and segmento<>'PRIVATE' and Diagnosi<>'SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente S Retail (Non Professionale) con Monitoraggio e Diagnosi'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='S' and segmento<>'PRIVATE' and Diagnosi='SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente S Private (Non Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='S' and segmento='PRIVATE' and Diagnosi<>'SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente F Retail (Non Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='F' and segmento<>'PRIVATE' and Diagnosi<>'SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente F Retail (Non Professionale) con Monitoraggio e Diagnosi'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='F' and segmento<>'PRIVATE' and Diagnosi='SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente F Private (Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='F' and segmento='PRIVATE' and Diagnosi<>'SI' and Professionale='SI' +union all +select top(1) rete,codice_fiscale,'Cliente F Private (Non Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='F' and segmento='PRIVATE' and Diagnosi<>'SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente F Retail (Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='F' and segmento<>'PRIVATE' and Diagnosi<>'SI' and Professionale='SI' +union all +select top(1) rete,codice_fiscale,'Cliente F Retail (Professionale) con Monitoraggio e Diagnosi'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='F' and segmento<>'PRIVATE' and Diagnosi='SI' and Professionale='SI' +union all +select top(1) rete,codice_fiscale,'Cliente F Private (Non Professionale) con Monitoraggio e Diagnosi'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='F' and segmento='PRIVATE' and Diagnosi='SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente S Retail (Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='S' and segmento<>'PRIVATE' and Diagnosi<>'SI' and Professionale='SI' +union all +select top(1) rete,codice_fiscale,'Cliente S Private (Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='S' and segmento='PRIVATE' and Diagnosi<>'SI' and Professionale='SI' +union all +select top(1) rete,codice_fiscale,'Cliente S Private (Non Professionale) con Monitoraggio e Diagnosi'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='S' and segmento='PRIVATE' and Diagnosi='SI' and Professionale<>'SI' +union all +select top(1) rete,codice_fiscale,'Cliente W Retail (Professionale) con solo Monitoraggio' as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='W' and segmento<>'PRIVATE' and Diagnosi<>'SI' and Professionale='SI' +union all +select top(1) rete,codice_fiscale,'Cliente W Private (Professionale) con solo Monitoraggio'as Nota from c6martperiodico.rp_tb_tipologia_campione where rete='W' and segmento='PRIVATE' and Diagnosi<>'SI' and Professionale='SI' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GC_CONVALIDAREPORTSELECT.sql b/sql/storedTestbes/C6MartPeriodico_GC_CONVALIDAREPORTSELECT.sql new file mode 100644 index 00000000..103397e4 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GC_CONVALIDAREPORTSELECT.sql @@ -0,0 +1,202 @@ +-- ============================================= +-- Author: Berni Francesco +-- Create date: 24 Aprile 2009 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[GC_CONVALIDAREPORTSELECT] +CREATE procedure [C6MartPeriodico].[GC_CONVALIDAREPORTSELECT] +AS +BEGIN +Declare @DiagnosiVerificati as int +Declare @DiagnosiNonVerificati as int +Declare @DiagnosiOK as int +Declare @DiagnosiKO as int +Declare @MonitoraggioVerificati as int +Declare @MonitoraggioNonVerificati as int +Declare @MonitoraggioOK as int +Declare @MonitoraggioKO as int +-- Totali +Declare @TotaleDiagnosi as int +Declare @TotaleMonitoraggio as int +Declare @TotaleVerificati as int +Declare @TotaleNonVerificati as int +Declare @TotaleOK as int +Declare @TotaleKO as int +-- Diagnosi +-- Diagnosi Verificati +SELECT @DiagnosiVerificati = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fiscale = B.CodiceFiscale + Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C + ON B.IDREPORT = C.IDREPORT + WHERE + B.[TipoReport] = 'D' + AND ISNULL(B.FlagInvio,'N') = 'N' + AND ISNULL(B.DEFINITIVO, 0) = 0 + AND C.datafine is null + AND ISNULL(C.Verifica, 0) = 1 +-- Diagnosi Non Verificati +SELECT @DiagnosiNonVerificati = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fiscale = B.CodiceFiscale + Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C + ON B.IDREPORT = C.IDREPORT + WHERE + B.[TipoReport] = 'D' + AND ISNULL(B.FlagInvio,'N') = 'N' + AND ISNULL(B.DEFINITIVO, 0) = 0 + AND C.datafine is null + AND ISNULL(C.Verifica, 0) = 0 +-- Diagnosi OK +SELECT @DiagnosiOK = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fiscale = B.CodiceFiscale + Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C + ON B.IDREPORT = C.IDREPORT + WHERE + B.[TipoReport] = 'D' + AND ISNULL(B.FlagInvio,'N') = 'N' + AND ISNULL(B.DEFINITIVO, 0) = 0 + AND C.datafine is null + and ISNULL(C.Esito,'-') = 'OK' +-- Diagnosi KO +SELECT @DiagnosiKO = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fiscale = B.CodiceFiscale + Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C + ON B.IDREPORT = C.IDREPORT + WHERE + B.[TipoReport] = 'D' + AND ISNULL(B.FlagInvio,'N') = 'N' + AND ISNULL(B.DEFINITIVO, 0) = 0 + AND C.datafine is null + and ISNULL(C.Esito,'-') = 'KO' +-- Monitoraggio +-- Monitoraggio Verificati +SELECT @MonitoraggioVerificati = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fiscale = B.CodiceFiscale + Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C + ON B.IDREPORT = C.IDREPORT + WHERE + B.[TipoReport] = 'M' + AND ISNULL(B.FlagInvio,'N') = 'N' + AND ISNULL(B.DEFINITIVO, 0) = 0 + AND C.datafine is null + AND ISNULL(C.Verifica, 0) = 1 +-- Monitoraggio Non Verificati +SELECT @MonitoraggioNonVerificati = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fiscale = B.CodiceFiscale + Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C + ON B.IDREPORT = C.IDREPORT + WHERE + B.[TipoReport] = 'M' + AND ISNULL(B.FlagInvio,'N') = 'N' + AND ISNULL(B.DEFINITIVO, 0) = 0 + AND C.datafine is null + AND ISNULL(C.Verifica, 0) = 0 +-- Monitoraggio OK +SELECT @MonitoraggioOK = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fiscale = B.CodiceFiscale + Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C + ON B.IDREPORT = C.IDREPORT + WHERE + B.[TipoReport] = 'M' + AND ISNULL(B.FlagInvio,'N') = 'N' + AND ISNULL(B.DEFINITIVO, 0) = 0 + AND C.datafine is null + and ISNULL(C.Esito,'-') = 'OK' +-- Monitoraggio KO +SELECT @MonitoraggioKO = count(distinct B.IDREPORT) + FROM + C6Mart.CONTRATTOSEI A INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP B ON + A.Rete = B.Rete AND + A.Cod_Fiscale = B.CodiceFiscale + Left outer JOIN C6MartPeriodico.VERIFICHECAMPIONE C + ON B.IDREPORT = C.IDREPORT + WHERE + B.[TipoReport] = 'M' + AND ISNULL(B.FlagInvio,'N') = 'N' + AND ISNULL(B.DEFINITIVO, 0) = 0 + AND C.datafine is null + and ISNULL(C.Esito,'-') = 'KO' +--print convert(varchar, @DiagnosiVerificati) +set @TotaleDiagnosi = @DiagnosiVerificati+@DiagnosiNonVerificati--+ @DiagnosiOK+@DiagnosiKO +set @TotaleMonitoraggio = @MonitoraggioVerificati+@MonitoraggioNonVerificati --+ @MonitoraggioOK+@MonitoraggioKO +set @TotaleVerificati = @DiagnosiVerificati+@MonitoraggioVerificati +set @TotaleNonVerificati = @DiagnosiNonVerificati+@MonitoraggioNonVerificati +set @TotaleOK = @DiagnosiOK+@MonitoraggioOK +set @TotaleKO = @DiagnosiKO+@MonitoraggioKO +Select riga, Report, Diagnosi,UrlDiagnosi, Monitoraggio,UrlMonitoraggio, UrlTotale, Totale +from +( + Select 1 as riga, + 'Totale' as Report, + @TotaleDiagnosi AS Diagnosi, + 'VerificheCampione.aspx?tiporeport=D&prov=CR' As UrlDiagnosi, + @TotaleMonitoraggio AS Monitoraggio, + 'VerificheCampione.aspx?tiporeport=M&prov=CR' As UrlMonitoraggio, + 'VerificheCampione.aspx?prov=CR' As UrlTotale, + @TotaleDiagnosi + @TotaleMonitoraggio as Totale + union + Select 2 as riga, + 'Verificati' as Report, + @DiagnosiVerificati AS Diagnosi, + 'VerificheCampione.aspx?tiporeport=D&verificati=1&prov=CR' As UrlDiagnosi, + @MonitoraggioVerificati AS Monitoraggio, + 'VerificheCampione.aspx?tiporeport=M&verificati=1&prov=CR' As UrlMonitoraggio, + 'VerificheCampione.aspx?verificati=1&prov=CR' As UrlTotale, + @TotaleVerificati as Totale + union + Select 3 as riga, + 'Non Verificati' as Report, + @DiagnosiNonVerificati AS Diagnosi, + 'VerificheCampione.aspx?tiporeport=D&verificati=0&prov=CR' As UrlDiagnosi, + @MonitoraggioNonVerificati AS Monitoraggio, + 'VerificheCampione.aspx?tiporeport=M&verificati=0&prov=CR' As UrlMonitoraggio, + 'VerificheCampione.aspx?verificati=0&prov=CR' As UrlTotale, + @TotaleNonVerificati as Totale + union + Select 4 as riga, + 'Esito OK' as Report, + @DiagnosiOK AS Diagnosi, + 'VerificheCampione.aspx?tiporeport=D&esito=OK&prov=CR' As UrlDiagnosi, + @MonitoraggioOK AS Monitoraggio, + 'VerificheCampione.aspx?tiporeport=M&esito=OK&prov=CR' As UrlMonitoraggio, + 'VerificheCampione.aspx?esito=OK&prov=CR' As UrlTotale, + @TotaleOK as Totale + union + Select 5 as riga, + 'Esito KO' as Report, + @DiagnosiKO AS Diagnosi, + 'VerificheCampione.aspx?tiporeport=D&esito=KO&prov=CR' As UrlDiagnosi, + @MonitoraggioKO AS Monitoraggio, + 'VerificheCampione.aspx?tiporeport=M&esito=KO&prov=CR' As UrlMonitoraggio, + 'VerificheCampione.aspx?esito=KO&prov=CR' As UrlTotale, + @TotaleKO as Totale +) As Tabella +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GC_DELETE_CONVALIDA_ANNULLA.sql b/sql/storedTestbes/C6MartPeriodico_GC_DELETE_CONVALIDA_ANNULLA.sql new file mode 100644 index 00000000..a4d50e50 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GC_DELETE_CONVALIDA_ANNULLA.sql @@ -0,0 +1,64 @@ +-- ============================================= +-- Author: Francesco Berni +-- Create date: 28/04/2009 +-- Description: Stored Procedure inserimento dati varifiche campione +-- ============================================= +CREATE procedure [C6MartPeriodico].[GC_DELETE_CONVALIDA_ANNULLA] + @Idreports varchar(3000) = 'NODELETE', + @Delimiter char(1) = '|', + @TipoOperazione char(1) +AS +BEGIN +IF (@Idreports <> 'NODELETE') +BEGIN + Declare @contatore as int + -- Inizio Log + CREATE TABLE #ConvalidaReport( + riga int NULL, + Report varchar(100) NULL, + Diagnosi int NULL, + UrlDiagnosi varchar(100) NULL, + Monitoraggio int NULL, + UrlMonitoraggio varchar(100) NULL, + UrlTotale varchar(100) NULL, + Totale int NULL + ) + INSERT INTO #ConvalidaReport + EXEC + [C6MartPeriodico].[GC_CONVALIDAREPORTSELECT] + insert into [C6MartPeriodico].LogOperazioniConvalidaAnnulla + select + getdate() as data, + case @TipoOperazione when 'A' then 'ANNULLA' else + case @TipoOperazione when 'C' then 'CONVALIDA' End End AS TIPO_OPERAZIONE, + Report , + Diagnosi , + Monitoraggio , + Totale + from #ConvalidaReport + drop table #ConvalidaReport + -- Fine Log + -- Cancella tutti i report su GESTIONE_PDF_FTP + DELETE C6MartPeriodico.GESTIONE_PDF_FTP + from C6MartPeriodico.GESTIONE_PDF_FTP + inner join (select [value] from dbo.Split(@Delimiter, @Idreports)) as tab + on C6MartPeriodico.GESTIONE_PDF_FTP.idreport = tab.[value] + set @contatore = @@rowcount + -- Convalida + if (@TipoOperazione = 'C') + Begin + UPDATE C6MartPeriodico.GESTIONE_PDF_FTP + SET Definitivo = 1 + WHERE --Secondo berni: isnull(Definitivo, 0) = 0 + --V + codicefiscale in(SELECT codiceFiscale FROM c6martperiodico.VERIFICHECAMPIONE where esito = 'OK' and DATAFINE is null) + End + -- Storicizzo anche i record cancellati + UPDATE [C6MartPeriodico].[VERIFICHECAMPIONE] + SET datafine = GETDATE() + WHERE datafine is null + return @contatore +END +ELSE + return -1 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GC_INSERT_VERIFICHE_CAMPIONE.sql b/sql/storedTestbes/C6MartPeriodico_GC_INSERT_VERIFICHE_CAMPIONE.sql new file mode 100644 index 00000000..b6206768 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GC_INSERT_VERIFICHE_CAMPIONE.sql @@ -0,0 +1,44 @@ +-- ============================================= +-- Author: Francesco Berni +-- Create date: 28/04/2009 +-- Description: Stored Procedure inserimento dati varifiche campione +-- ============================================= +CREATE procedure [C6MartPeriodico].[GC_INSERT_VERIFICHE_CAMPIONE] + @IdReport int, + @Rete char(1) = '', + @CodicePB varchar(6) = '', + @CodiceFiscale varchar(16) = '', + @UserModify varchar(7) = '', + @TipoReport varchar(2) = '', + @Verifica bit = null, + @Esito varchar(2) = '-' +AS +BEGIN + SET NOCOUNT ON; + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[VERIFICHECAMPIONE] + SET datafine = getdate() + WHERE IdReport = @IdReport and datafine is null + INSERT INTO [C6StampeCentralizzate].[C6MartPeriodico].[VERIFICHECAMPIONE] + ([Rete] + ,[CodiceFiscale] + ,[CodAgente] + ,[UserModify] + ,[TipoReport] + ,[Verifica] + ,[Esito] + ,[IdReport] + ,[datainizio] + ,[datafine]) + VALUES + (@Rete + ,@CodiceFiscale + ,@CodicePB + ,@UserModify + ,@TipoReport + ,@Verifica + ,@Esito + ,@IdReport + , GetDate() + , null + ) + END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GC_REPORTDACANCELLARESELECT.sql b/sql/storedTestbes/C6MartPeriodico_GC_REPORTDACANCELLARESELECT.sql new file mode 100644 index 00000000..f9b57a3e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GC_REPORTDACANCELLARESELECT.sql @@ -0,0 +1,26 @@ +-- ============================================= +-- Author: Berni Francesco +-- Create date: 24 Aprile 2009 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[GC_REPORTDACANCELLARESELECT] +CREATE procedure [C6MartPeriodico].[GC_REPORTDACANCELLARESELECT] + -- Add the parameters for the stored procedure here + @flag char(1) +AS +BEGIN +if (@flag = 'A') + -- ANNULLA REPORT + Select distinct IdReport from C6MartPeriodico.GESTIONE_PDF_FTP + where isnull(FlagInvio,'N') = 'N' +else if (@flag = 'C') + -- CONVALIDA REPORT + Select distinct C6MartPeriodico.GESTIONE_PDF_FTP.IdReport + FROM C6MartPeriodico.GESTIONE_PDF_FTP + INNER JOIN C6MartPeriodico.VERIFICHECAMPIONE + ON C6MartPeriodico.GESTIONE_PDF_FTP.IdReport = C6MartPeriodico.VERIFICHECAMPIONE.IdReport + where isnull(C6MartPeriodico.GESTIONE_PDF_FTP.FlagInvio,'N') = 'N' + AND isnull(C6MartPeriodico.GESTIONE_PDF_FTP.Definitivo, 0) = 0 + AND C6MartPeriodico.VERIFICHECAMPIONE.Esito = 'KO' + AND C6MartPeriodico.VERIFICHECAMPIONE.datafine IS NULL +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GC_VerificheCampioneSelect.sql b/sql/storedTestbes/C6MartPeriodico_GC_VerificheCampioneSelect.sql new file mode 100644 index 00000000..81335299 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GC_VerificheCampioneSelect.sql @@ -0,0 +1,124 @@ +-- ============================================= +-- Author: Berni Francesco +-- Create date: 24 Aprile 2009 +-- Description: +-- ============================================= +-- C6MartPeriodico.[GC_VerificheCampioneSelect] 'F', '011717' +CREATE procedure [C6MartPeriodico].[GC_VerificheCampioneSelect] + -- Add the parameters for the stored procedure here + @Rete char(1) = null, + @CodicePB varchar(6) = null, + @CodiceFiscale varchar(16) = null, + @NomeCliente varchar(50) = null, + @CognomeCliente varchar(50) = null, + @DataSottDA datetime = null, + @DataSottA datetime = null, + @RFADA decimal = null, + @RFAA decimal = null, + @VaRDA decimal = null, + @VaRA decimal = null, + @Delimiter char(1) = '|', + @Profilo varchar(50) = null, + @Diagnosi bit = 0, + @Monitoraggio bit = 0, + @NonVerificato bit = 0, + @Verificato bit = 0, + @OK bit = 0, + @KO bit = 0, + @pdfC6 int = 1 +AS +BEGIN +SELECT distinct C6MartPeriodico.GESTIONE_PDF_FTP.IdReport, + C6Mart.CONTRATTOSEI.Rete, + Case C6Mart.CONTRATTOSEI.Rete when 'F' then 'Fideuram' else + Case C6Mart.CONTRATTOSEI.Rete when 'S' then 'San Paolo' End End + as Rete, + C6Mart.CONTRATTOSEI.Cod_Agente, + CASE + WHEN C6Mart.CONTRATTOSEI.Cod_Fiscale LIKE '%@%' THEN C6MartPeriodico.ANAG_CLIENTI.COGNOME + ' ' + REPLACE(C6MartPeriodico.ANAG_CLIENTI.NOME,'$','') + ' - ' + SUBSTRING(C6Mart.CONTRATTOSEI.Cod_Fiscale, CHARINDEX('@',C6Mart.CONTRATTOSEI.Cod_Fiscale) + 1 , LEN(C6Mart.CONTRATTOSEI.Cod_Fiscale) - CHARINDEX('@',C6Mart.CONTRATTOSEI.Cod_Fiscale) + 1) + ELSE C6MartPeriodico.ANAG_CLIENTI.COGNOME + ' ' + C6MartPeriodico.ANAG_CLIENTI.NOME + END AS NOMINATIVOCLIENTE, + Case C6MartPeriodico.GESTIONE_PDF_FTP.TipoReport when 'D' then 'Diagnosi' else + Case C6MartPeriodico.GESTIONE_PDF_FTP.TipoReport when 'M' then 'Monitoraggio' End End + as TipoReport, + C6MartPeriodico.VERIFICHECAMPIONE.UserModify, + ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Verifica, 0) AS VERIFICA, + ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Esito, '-') AS Esito, + C6Mart.CONTRATTOSEI.Cod_Fiscale, + @pdfC6 as pdfC6 +-- From + FROM C6Mart.CONTRATTOSEI INNER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP ON + C6Mart.CONTRATTOSEI.Rete = C6MartPeriodico.GESTIONE_PDF_FTP.Rete AND + C6Mart.CONTRATTOSEI.Cod_Fiscale = C6MartPeriodico.GESTIONE_PDF_FTP.CodiceFiscale + --INNER JOIN + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO + ON C6Mart.CONTRATTOSEI.Rete = C6MartPeriodico.RISCHIO_AGGREGATO.RETE + AND C6Mart.CONTRATTOSEI.Cod_Fiscale = C6MartPeriodico.RISCHIO_AGGREGATO.COD_FISCALE + --AND C6MartPeriodico.RISCHIO_AGGREGATO.COD_AGGREG = 'COMPLESSIVO|BF' + INNER JOIN + C6MartPeriodico.MIFID + ON C6Mart.CONTRATTOSEI.Rete = C6MartPeriodico.MIFID.RETE + AND C6Mart.CONTRATTOSEI.Cod_Fiscale = C6MartPeriodico.MIFID.COD_FISCALE + INNER JOIN + C6MartPeriodico.ANAG_CLIENTI ON + C6Mart.CONTRATTOSEI.Rete = C6MartPeriodico.ANAG_CLIENTI.RETE + AND C6Mart.CONTRATTOSEI.Cod_Fiscale = C6MartPeriodico.ANAG_CLIENTI.COD_FISCALE + INNER JOIN + C6MartPeriodico.vPatrimonioBFAggregato ON + C6Mart.CONTRATTOSEI.Rete = C6MartPeriodico.vPatrimonioBFAggregato.RETE + AND C6Mart.CONTRATTOSEI.Cod_Fiscale = C6MartPeriodico.vPatrimonioBFAggregato.COD_FISCALE + LEFT OUTER JOIN + C6MartPeriodico.VERIFICHECAMPIONE ON + C6MartPeriodico.GESTIONE_PDF_FTP.IdReport = C6MartPeriodico.VERIFICHECAMPIONE.IdReport + WHERE 1=1 + -- rete + AND (@Rete is null OR @Rete = '-' OR C6Mart.CONTRATTOSEI.Rete = @Rete) + AND (@CodicePB is null OR C6Mart.CONTRATTOSEI.Cod_Agente = @CodicePB) + --AND (@CodiceFiscale is null OR C6Mart.CONTRATTOSEI.Cod_Fiscale = @CodiceFiscale) + AND (@CodiceFiscale is null OR C6Mart.CONTRATTOSEI.Cod_Fiscale like @CodiceFiscale + '%') + AND (@NomeCliente is null OR C6MartPeriodico.ANAG_CLIENTI.NOME LIKE '%' + @NomeCliente + '%') + AND (@CognomeCliente is null OR UPPER(C6MartPeriodico.ANAG_CLIENTI.COGNOME) LIKE UPPER(@CognomeCliente)) + AND ( + (@Diagnosi = 1 AND C6MartPeriodico.GESTIONE_PDF_FTP.TipoReport = 'D') + OR + (@Monitoraggio = 1 AND C6MartPeriodico.GESTIONE_PDF_FTP.TipoReport = 'M') + OR + (@Monitoraggio = 0 AND @Diagnosi = 0 AND C6MartPeriodico.GESTIONE_PDF_FTP.TipoReport IN ('D', 'M')) + ) + AND (@DataSottDA is null OR C6Mart.CONTRATTOSEI.Data_Sott > CONVERT(DATETIME, @DataSottDA , 103)) + AND (@DataSottA is null OR C6Mart.CONTRATTOSEI.Data_Sott < CONVERT(DATETIME, @DataSottA , 103)) + AND (@RFADA is null OR C6MartPeriodico.vPatrimonioBFAggregato.CTV > @RFADA) + AND (@RFAA is null OR C6MartPeriodico.vPatrimonioBFAggregato.CTV < @RFAA) + AND (@VaRDA is null OR C6MartPeriodico.RISCHIO_AGGREGATO.VAR_PERC_PTF > @VaRDA) + AND (@VaRA is null OR C6MartPeriodico.RISCHIO_AGGREGATO.VAR_PERC_PTF < @VaRA) + AND ( + @Profilo IS NULL OR C6MartPeriodico.MIFID.PROFILO_ASS in + (select [value] from dbo.Split(@Delimiter, @Profilo)) + ) + AND ( +---- (@Verificato = 0 OR (@Verificato = 1 AND C6MartPeriodico.VERIFICHECAMPIONE.Verifica = 1)) +---- OR +---- (@NonVerificato = 0 OR (@NonVerificato = 1 AND C6MartPeriodico.VERIFICHECAMPIONE.Verifica = 0)) + (@Verificato = 1 AND ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Verifica,0) = 1) + OR + (@NonVerificato = 1 AND ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Verifica,0) = 0) + OR + (@Verificato = 0 AND @NonVerificato = 0 + AND (ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Verifica,0) = 1 + OR ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Verifica,0) = 0)) + ) + AND ( + (@OK = 1 AND ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Esito, '-') = 'OK') + OR + (@KO = 1 AND ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Esito, '-') = 'KO') + OR + (@OK = 0 AND @KO = 0 AND ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Esito, '-') IN ('-','KO','OK')) + OR + (@OK = 1 AND @KO = 1 AND ISNULL(C6MartPeriodico.VERIFICHECAMPIONE.Esito, '-') IN ('-','KO','OK')) + ) + --AND ISNULL(C6MartPeriodico.GESTIONE_PDF_FTP.FlagInvio,'N') = 'N' --C6MartPeriodico.getIdElab() + AND C6MartPeriodico.VERIFICHECAMPIONE.datafine is null + --AND ISNULL(C6MartPeriodico.GESTIONE_PDF_FTP.DEFINITIVO, 0) = 0 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_C6_S_Generator.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_C6_S_Generator.sql new file mode 100644 index 00000000..5755100e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_C6_S_Generator.sql @@ -0,0 +1,35 @@ +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 4, 14, 'T' PPVV +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 4, 6, 'T' Direct Advisory +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 1, 5, 'T' Diagnosi +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 4, 13, 'T' (monitoraggio,private,trim) +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 4, 12, 'T' (monitoraggio,old/affluent,trim) +CREATE procedure [C6MartPeriodico].[GESTIONE_C6_S_Generator] +@idReport as int, +@idModello as int, +@periodicita as varchar(1) = 'T' +AS +BEGIN + SET NOCOUNT ON; +if (@idModello=12) +begin +select * from C6MartPeriodico.generator_monitoraggio order BY ordineCapitolo,ordineParagrafo,ordineSezione +end +if (@idModello=13) +begin +select * from C6MartPeriodico.generator_monitoraggio_private +--where codicesezione not in ('S181','S185') +order BY ordineCapitolo,ordineParagrafo,ordineSezione +end +if (@idModello=5) +begin +select * from C6MartPeriodico.generator_diagnosi order BY ordineCapitolo,ordineParagrafo,ordineSezione +end +if (@idModello=6) +begin +select * from C6MartPeriodico.generator_direct order BY ordineCapitolo,ordineParagrafo,ordineSezione +end +if (@idModello=14) +begin +select * from C6MartPeriodico.generator_PPVV order BY ordineCapitolo,ordineParagrafo,ordineSezione +end +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_C6_S_Generator_OLD.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_C6_S_Generator_OLD.sql new file mode 100644 index 00000000..c502ead9 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_C6_S_Generator_OLD.sql @@ -0,0 +1,106 @@ +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 1, 4, 'T' +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 1, 5, 'T' diagnosi +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 4, 13, 'T' (monitoraggio,private,trim) +-- [C6MartPeriodico].[GESTIONE_C6_S_Generator] 4, 12, 'T' (monitoraggio,old/affluent,trim) +CREATE procedure [C6MartPeriodico].[GESTIONE_C6_S_Generator_OLD] +@idReport as int, +@idModello as int, +@periodicita as varchar(1) = 'T' +AS +BEGIN + SET NOCOUNT ON; +-- CREO LA TABELLA #R6Capitolopdf +SELECT dboPeriodico.R6Capitolo.id, + dboPeriodico.R6Capitolo.titolo, + dboPeriodico.R6Capitolo.testo, + dboPeriodico.R6Capitolo.testoAlternativo, + dboPeriodico.R6Capitolo.nuovapagina, + dboPeriodico.R6Capitolo.queryOracle, + dboPeriodico.R6Capitolo.querySql, + dboPeriodico.R6Capitolo.querySqlPeriodico +into #R6CAPITOLOPDF +FROM +dboPeriodico.ReportSezionePers AS a INNER JOIN +dboPeriodico.R6_SezioneR6Capitolo AS b ON a.IdSezione = b.IdSezione INNER JOIN +dboPeriodico.R6Capitolo ON b.IdCapitoloPDF = dboPeriodico.R6Capitolo.id +where a.idreport = @idModello +-- CREO LA TABELLA #R6ParagrafoPDF +SELECT dboPeriodico.R6Paragrafo.id, + dboPeriodico.R6Paragrafo.titolo, + dboPeriodico.R6Paragrafo.testo, + dboPeriodico.R6Paragrafo.queryOracle, + dboPeriodico.R6Paragrafo.querySql, + dboPeriodico.R6Paragrafo.querySqlPeriodico, + dboPeriodico.R6Paragrafo.SottoTitoloQuery, + dboPeriodico.R6Paragrafo.SpazioNecessarioSezioneSuccessiva +into #R6PARAGRAFOPDF +FROM dboPeriodico.ReportSezionePers AS a INNER JOIN + dboPeriodico.R6_SezioneR6Paragrafo AS b ON a.IdSezione = b.IdSezione INNER JOIN + dboPeriodico.R6Paragrafo ON b.IdParagrafoPDF = dboPeriodico.R6Paragrafo.id + where a.idreport = @idModello +-- CREO LA TABELLA #R6SEZIONEPDF +SELECT + dboPeriodico.R6Sezione.id, + dboPeriodico.R6Sezione.codice, + dboPeriodico.R6Sezione.queryOracle, + dboPeriodico.R6Sezione.querySql, + dboPeriodico.R6Sezione.querySqlPeriodico, + dboPeriodico.R6Sezione.ordineQueryOracle, + dboPeriodico.R6Sezione.ordineQuerySql + --R6Sezione.nuovaPaginaDopo +into #R6SEZIONEPDF +FROM dboPeriodico.ReportSezionePers AS a INNER JOIN + dboPeriodico.R6_SezioneR6Sezione AS b ON a.IdSezione = b.idFkSezione INNER JOIN + dboPeriodico.R6Sezione ON b.idFkC6Sezione = dboPeriodico.R6Sezione.id +WHERE (a.IdReport = @idModello) +SELECT DISTINCT #R6CAPITOLOPDF.id as idCapitolo + ,dboPeriodico.R6ReportR6Capitolo.ordineCapitolo as ordineCapitolo + ,#R6CAPITOLOPDF.titolo as titoloCapitolo + ,#R6CAPITOLOPDF.testo as testoCapitolo + ,#R6CAPITOLOPDF.testoAlternativo as testoCapitoloAlternativo + ,#R6CAPITOLOPDF.nuovapagina as nuovaPaginaCapitolo +-- ,#R6CAPITOLOPDF.queryOracle as queryOracleCapitolo +,Case when @periodicita = 'G' then isnull(#R6CAPITOLOPDF.querySql,'') else + Case when @periodicita = 'T' then isnull(#R6CAPITOLOPDF.querySqlPeriodico,'') + END END as querySqlCapitolo + ,#R6PARAGRAFOPDF.id as idParagrafo + ,dboPeriodico.R6CapitoloR6Paragrafo.ordineParagrafo as ordineParagrafo + ,#R6PARAGRAFOPDF.titolo as titoloParagrafo + ,#R6PARAGRAFOPDF.sottoTitoloQuery as sottoTitoloParagrafo + ,#R6PARAGRAFOPDF.testo as testoParagrafo + ,#R6PARAGRAFOPDF.spazioNecessarioSezioneSuccessiva as spazioNecessarioSezioneSuccessiva +-- ,isnull(#R6PARAGRAFOPDF.queryOracle,'') as queryOracleParagrafo +,Case when @periodicita = 'G' then isnull(#R6PARAGRAFOPDF.querySql,'') else + Case when @periodicita = 'T' then isnull(#R6PARAGRAFOPDF.querySqlPeriodico,'') + END END as querySqlParagrafo + ,dboPeriodico.R6CapitoloR6Paragrafo.indicizzato as indicizzatoParagrafo + ,dboPeriodico.R6ParagrafoR6Sezione.ordineSezione as ordineSezione + ,#R6SEZIONEPDF.id as idSezione + ,#R6SEZIONEPDF.codice as codiceSezione +-- ,isnull(#R6SEZIONEPDF.queryOracle,'') as queryOracleSezione +,Case when @periodicita = 'G' then isnull(#R6SEZIONEPDF.querySql,'') else + Case when @periodicita = 'T' then isnull(#R6SEZIONEPDF.querySqlPeriodico,'') + END END as querySqlSezione + ,dboPeriodico.R6ParagrafoR6Sezione.indicizzato as indicizzatoSezione + ,dboPeriodico.R6ParagrafoR6Sezione.filtroDataView as filtroSezione + ,dboPeriodico.R6ParagrafoR6Sezione.titolo as titoloSezione + ,isnull(dboPeriodico.R6ParagrafoR6Sezione.testo,'') as testoSezione + ,isnull(dboPeriodico.R6ParagrafoR6Sezione.testo1 ,'') as testoSezioneAlternativo + ,isnull(dboPeriodico.R6ParagrafoR6Sezione.nota,'') as notaSezione + ,isnull(dboPeriodico.R6ParagrafoR6Sezione.nota1,'') as notaSezioneAlternativo, + dboPeriodico.R6ParagrafoR6Sezione.nuovaPaginaDopo as nuovaPaginaDopo + --,#R6SEZIONEPDF.nuovaPaginaDopo as nuovaPaginaDopo +INTO #TABV +FROM #R6SEZIONEPDF +INNER JOIN dboPeriodico.R6ParagrafoR6Sezione ON #R6SEZIONEPDF.id = dboPeriodico.R6ParagrafoR6Sezione.idFkSezione +INNER JOIN #R6PARAGRAFOPDF ON dboPeriodico.R6ParagrafoR6Sezione.idFkParagrafo = #R6PARAGRAFOPDF.id +INNER JOIN dboPeriodico.R6CapitoloR6Paragrafo ON #R6PARAGRAFOPDF.id = dboPeriodico.R6CapitoloR6Paragrafo.idFkParagrafo +INNER JOIN #R6CAPITOLOPDF ON dboPeriodico.R6CapitoloR6Paragrafo.idFkCapitolo = #R6CAPITOLOPDF.id +INNER JOIN dboPeriodico.R6ReportR6Capitolo ON #R6CAPITOLOPDF.id = dboPeriodico.R6ReportR6Capitolo.idFkCapitolo +WHERE dboPeriodico.R6ParagrafoR6Sezione.idFkReport = @idReport +ORDER BY ordineCapitolo,ordineParagrafo,ordineSezione +DROP TABLE #R6CAPITOLOPDF +DROP TABLE #R6PARAGRAFOPDF +DROP TABLE #R6SEZIONEPDF +SELECT * FROM #TABV ORDER BY ordineCapitolo,ordineParagrafo,ordineSezione +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE.sql new file mode 100644 index 00000000..1508879b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[GESTIONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE] 'leggi','flag_archiviazione',2 +CREATE procedure [C6MartPeriodico].[GESTIONE_CRUSCOTTO_APPLICAZIONE_SIMULAZIONE] +@tipoOperazione nvarchar(30) +--@tipoFlag nvarchar(30), +--@valoreFlag int +as +IF @tipoOperazione = 'leggi' + begin + select * from dbo.Cruscotto_Applicazione_Simulazione + end +ELSE IF @tipoOperazione = 'truncate' + begin + truncate table dbo.Cruscotto_Applicazione_Simulazione + select * from dbo.dbo.Cruscotto_Applicazione_Simulazione; + end +ELSE IF @tipoOperazione = 'updateFlag' + begin + --EXECUTE ('update dbo.Cruscotto_Archiviazione set ' + @tipoFlag + '=' + @valoreFlag); + select * from dbo.Cruscotto_Archiviazione; + end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_CUSTOMER_ERROR.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_CUSTOMER_ERROR.sql new file mode 100644 index 00000000..a7dd7fb6 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_CUSTOMER_ERROR.sql @@ -0,0 +1,28 @@ +-- Stored procedure +-- ============================================= +-- Author: Marian Zaki +-- Create date: 18/08/2010 +-- Description: Insert the exception raised for a customer +-- while generating the diagnosis or the monitoring reports. +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_CUSTOMER_ERROR] + @rete as char(1), + @cod_fiscale as varchar(16), + @tipoReport as char(1), + @errorText as text +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + INSERT INTO [C6MartPeriodico].[Scarti] + ([Rete] + ,[Cod_fiscale] + ,[TipoReport] + ,[ErrorText]) + VALUES + (@rete + ,@cod_fiscale + ,@tipoReport + ,@errorText) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP.sql new file mode 100644 index 00000000..089abc27 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP.sql @@ -0,0 +1,29 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_ELABORAZIONE_ZIP] +AS +BEGIN + DECLARE @IDElaborazioneZip int + -- Controllo se esiste un'ultima elaborazione zip non terminata. + SELECT @IDElaborazioneZip = IDElaborazioneZip + FROM [C6MartPeriodico].ELABORAZIONI_ZIP + WHERE IDElaborazioneZip = (SELECT MAX(IDElaborazioneZip) + FROM [C6MartPeriodico].ELABORAZIONI_ZIP) + AND DataFine IS NULL + IF @IDElaborazioneZip IS NULL + BEGIN + BEGIN TRY + BEGIN TRANSACTION INSERT_ELABORAZIONE_ZIP + INSERT INTO [C6MartPeriodico].[ELABORAZIONI_ZIP] + ([DataInizio]) + VALUES + (GETDATE()) + COMMIT TRANSACTION INSERT_ELABORAZIONE_ZIP + SELECT SCOPE_IDENTITY() AS IDElaborazioneZIP + END TRY + BEGIN CATCH + ROLLBACK TRANSACTION INSERT_ELABORAZIONE_ZIP + SELECT 0 AS IDElaborazioneZIP + END CATCH + END + ELSE + SELECT @IDElaborazioneZip AS IDElaborazioneZIP +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP_20170328.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP_20170328.sql new file mode 100644 index 00000000..68034c5a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONE_ZIP_20170328.sql @@ -0,0 +1,29 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_ELABORAZIONE_ZIP_20170328] +AS +BEGIN + DECLARE @IDElaborazioneZip int + -- Controllo se esiste un'ultima elaborazione zip non terminata. + SELECT @IDElaborazioneZip = IDElaborazioneZip + FROM [C6MartPeriodico].ELABORAZIONI_ZIP + WHERE IDElaborazioneZip = (SELECT MAX(IDElaborazioneZip) + FROM [C6MartPeriodico].ELABORAZIONI_ZIP) + AND DataFine IS NULL + IF @IDElaborazioneZip IS NULL + BEGIN + BEGIN TRY + BEGIN TRANSACTION INSERT_ELABORAZIONE_ZIP + INSERT INTO [C6StampeCentralizzate].[C6MartPeriodico].[ELABORAZIONI_ZIP] + ([DataInizio]) + VALUES + (GETDATE()) + COMMIT TRANSACTION INSERT_ELABORAZIONE_ZIP + SELECT SCOPE_IDENTITY() AS IDElaborazioneZIP + END TRY + BEGIN CATCH + ROLLBACK TRANSACTION INSERT_ELABORAZIONE_ZIP + SELECT 0 AS IDElaborazioneZIP + END CATCH + END + ELSE + SELECT @IDElaborazioneZip AS IDElaborazioneZIP +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONI_EMAIL_RNA.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONI_EMAIL_RNA.sql new file mode 100644 index 00000000..4d7009fb --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_ELABORAZIONI_EMAIL_RNA.sql @@ -0,0 +1,18 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_ELABORAZIONI_EMAIL_RNA] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + INSERT INTO [C6StampeCentralizzate].[C6MartPeriodico].[ELABORAZIONI_EMAIL_RNA] + ([Data_Elaborazione] + ,[ID_ELAB]) + VALUES + (getdate() + ,@ID_ELAB) + END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_EMAIL_DA_INVIARE.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_EMAIL_DA_INVIARE.sql new file mode 100644 index 00000000..80e35d7d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_EMAIL_DA_INVIARE.sql @@ -0,0 +1,107 @@ +--[C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE] +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_EMAIL_DA_INVIARE] +AS +--INSERT INTO C6MartPeriodico.Gestione_EmailBCK +--SELECT * FROM C6MartPeriodico.GESTIONE_EMAIL +--WHERE Data_Generazione < '20130613' +--UPDATE STATISTICS C6MartPeriodico.GESTIONE_EMAIL +--select * from c6martperiodico.anag_promotori where id_promotore = '014890' +--select * from c6storico.anag_promotori where id_promotore = '014890' +--update c6martperiodico.anag_promotori set e_mail = 'LBATTISTI2@bancafideuram.it' where id_promotore = '014890' +--drop table temp_mail +-- +--select * +--from temp_mail +--where testo not like '%' +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'GESTIONE_INSERT_EMAIL_DA_INVIARE', + GETDATE(), + 'Elaborazione trimestrale' + ) +--recupero la percentuale limite di risorse non associate +DECLARE @Ambiente varchar(20) +select @Ambiente= dbo.getParametro('Ambiente') +DECLARE @DestinatarioEmail varchar(255) +select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail') +DECLARE @SERVIZI_OPERATIVI as varchar(50) +select @SERVIZI_OPERATIVI= dbo.getParametro('EmailServiziOperativi') +DECLARE @RESPONSABILE_PROCESSO as varchar(50) +select @RESPONSABILE_PROCESSO= dbo.getParametro('EmailResponsabileProcesso') +-- Cancellazione delle email non inviate, da rigenerare +DELETE from C6MartPeriodico.MailAvvisoTrimestraleAiPB +WHERE email_id in ( +SELECT m.email_id +from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +inner join [C6MartPeriodico].[GESTIONE_EMAIL] + ON GESTIONE_EMAIL.email_id = m.email_id +WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N') +INSERT INTO C6MartPeriodico.MailAvvisoTrimestraleAiPB +SELECT --top 800 + GESTIONE_EMAIL.[ID_ELAB] + ,GESTIONE_EMAIL.rete + ,GESTIONE_EMAIL.codICEPB cod_agente + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,'' Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,@SERVIZI_OPERATIVI,@RESPONSABILE_PROCESSO) + else + @DestinatarioEmail + end as [E_To] + ,'' E_Ccn + ,'' E_Cc + , case + when + @Ambiente = 'Produzione' + then + /* 20161206 solo per periodico */ + dbo.Replace_Subject_Email_Periodico(TIPO_EMAIL.[E_Subject],'','',ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + else + dbo.Replace_Subject_Email_Periodico(TIPO_EMAIL.[E_Subject],'','',ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '---' + end as E_Subject + ,dbo.Replace_Testo_Email_Periodico(GESTIONE_EMAIL.RETE,GESTIONE_EMAIL.[CodicePB],GESTIONE_EMAIL.TIPO,TIPO_EMAIL.[Testo]) Testo +--drop table temp_mail +--into temp_mail +FROM [C6MartPeriodico].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6MartPeriodico].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + AND GESTIONE_EMAIL.[Tipo] <> 'LC_REP_GEN' +-- INNER JOIN [C6Mart].[CONTRATTOSEI] CONTRATTOSEI +-- ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] +-- AND CONTRATTOSEI.Cod_Agente = GESTIONE_EMAIL.CodicePB +-- INNER JOIN [C6MartPeriodico].[ANAG_CLIENTI] ANAG_CLIENTI +-- ON ANAG_CLIENTI.Rete = CONTRATTOSEI.[Rete] +-- AND ANAG_CLIENTI.Cod_Fiscale = CONTRATTOSEI.Cod_Fiscale + INNER JOIN [C6MartPeriodico].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = GESTIONE_EMAIL.[CodicePB] + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' + --AND GESTIONE_EMAIL.rete = 's' +--da inserire su select +-- and testo like '%' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'GESTIONE_INSERT_EMAIL_DA_INVIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'GESTIONE_INSERT_EMAIL_DA_INVIARE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP.sql new file mode 100644 index 00000000..31d5079a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP.sql @@ -0,0 +1,212 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_PDF_FTP] + @Rete char(1), + @CodiceFiscale varchar(16), + @IDReport int, + @NomeFile varchar(50), + @TipoReport varchar(1), + @NumeroPagine int, + @RFA decimal(18,2) = 0, + @CodiceContratto varchar(11) +AS +BEGIN +BEGIN TRY +BEGIN TRANSACTION + declare @step varchar(20) + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6Martperiodico.GETIDELAB() + set @step='Step 1' + DECLARE @isDelete int +declare @appIdReport int + select @isDelete=count(*) + from C6MartPeriodico.GESTIONE_PDF_FTP WITH (TABLOCKX) WHERE + rete=@Rete and codicefiscale=@CodiceFiscale + and TipoReport = @TipoReport + and IDReport = identityReport +IF @isDelete > 0 + BEGIN +set @step='Step 2' + DELETE C6MartPeriodico.GESTIONE_PDF_FTP WITH (TABLOCKX) WHERE + rete=@Rete and codicefiscale=@CodiceFiscale + and TipoReport = @TipoReport + and IDReport = identityReport + end + set @step='Step 3' + DECLARE @isUpdate int + select @isUpdate=count(*) + from C6MartPeriodico.GESTIONE_PDF_FTP WITH (TABLOCKX) WHERE + rete=@Rete and codicefiscale=@CodiceFiscale + and TipoReport = @TipoReport + and IDReport <> identityReport +IF @isUpdate = 0 + BEGIN + set @step='Step 4' +while exists(select 1 from C6MartPeriodico.GESTIONE_PDF_FTP where IDReport = @IDReport) +begin +set @IDReport = @IDReport+ 1 +end + insert into C6MartPeriodico.GESTIONE_PDF_FTP + ( + Rete, + CodiceFiscale, + IDReport, + DataGenerazione, + DataInvio, + FlagInvio, + NomeFile, + TipoReport, + numeroPagine, + RFA, + id_Fk_zip, + ID_ELAB, + Definitivo, + codicecontratto + ) + values + ( + @Rete, + @CodiceFiscale, + @IDReport, + Getdate(), + null, + 'N', + @NomeFile, + @TipoReport, + @NumeroPagine, + @RFA, + -1, + @ID_ELAB, + 0, + @CodiceContratto + ) + -- ToDo ...togliere la select e gestire la variabile @@identity + -- Recupero id appena creato + --where condition per nomefile ( r e cf possono dare id sbagliati ( Mon-Diag) ) + set @step='Step 5' + select @appIdReport=identityReport + from C6MartPeriodico.GESTIONE_PDF_FTP WITH (TABLOCKX) + where rete=@Rete and codicefiscale=@CodiceFiscale + and tiporeport=@TipoReport + --where nomefile=@NomeFile; + if @appIDReport > 0 Begin + set @step='Step 6' + --aggiorno id report per mantenere la gestione in tutto il progetto + update C6MartPeriodico.GESTIONE_PDF_FTP + set idReport=@appIdReport + where rete=@Rete and codicefiscale=@CodiceFiscale + and identityReport=@appIdReport and tiporeport=@TipoReport + END + END +ELSE + BEGIN + set @step='Step 7' + UPdate C6martperiodico.Gestione_pdf_ftp + SET + DataGenerazione=Getdate(), + DataInvio=null, + FlagInvio='N', + NomeFile=@NomeFile, + TipoReport=@TipoReport, + numeroPagine=@NumeroPagine, + RFA=@RFA, + id_Fk_zip=-1, + ID_ELAB=@ID_ELAB, + Definitivo=0, + codicecontratto=@CodiceContratto + where RETE = @Rete and CodiceFiscale=@CodiceFiscale + and idReport=@IDReport + set @step='Step 8' + select @appIdReport=identityReport + from C6MartPeriodico.GESTIONE_PDF_FTP WITH (TABLOCKX) + where rete=@Rete and codicefiscale=@CodiceFiscale + and tiporeport=@TipoReport + END +set @IdReport = @appIdReport +-- FC 05022015 +-- IdReport temporaneo per gestione Parallelizzazione +-- L'idReport verrà aggiornato una volta generato in fase di inserimento del PDF su ReportManager +-- ToDo ...togliere la select e gestire la variabile @@identity + -- declare @appIdReport int + -- -- Recupero id appena creato + -- --where condition per nomefile ( r e cf possono dare id sbagliati ( Mon-Diag) ) + -- select @appIdReport=identityReport + -- from C6MartPeriodico.GESTIONE_PDF_FTP + -- where rete=@Rete and codicefiscale=@CodiceFiscale + -- and tiporeport=@TipoReport + -- --where nomefile=@NomeFile; + --if @appIDReport > 0 Begin + -- --aggiorno id report per mantenere la gestione in tutto il progetto + -- update C6MartPeriodico.GESTIONE_PDF_FTP + -- set idReport=@appIdReport + -- where rete=@Rete and codicefiscale=@CodiceFiscale + -- and identityReport=@appIdReport and tiporeport=@TipoReport +-- COLAIANNI-CONSOLI - 28.06.2011 +-- SETTA NELLA CONTROLLO_TRIMESTRALE LO STATO REPORT CORRISPONDENTE ALLA PRODUZIONE DEL REPORT: +-- DI DIAGNOSI (STATO: SEMILAVORATO) O DI MONITORAGGIO (STATO: STAMPATO) + IF (@TipoReport = 'D') + BEGIN + set @step='Step 9' + UPDATE c6martperiodico.controllo_trimestrale + SET stato_report=10, id_report_d=@IDReport, DATA_TRANSIZIONE=GETDATE() + WHERE stato_report = 1 + AND Rete = @Rete + AND Cod_Fiscale = @CodiceFiscale + END + ELSE IF (@TipoReport = 'M') + BEGIN + set @step='Step 10' + UPDATE c6martperiodico.controllo_trimestrale + SET stato_report=4, id_report_m=@IDReport, DATA_TRANSIZIONE=GETDATE() + WHERE ( (stato_report = 1 and flag_diagnosi=0) OR (stato_report = 10) ) + AND Rete = @Rete + AND Cod_Fiscale = @CodiceFiscale + END + --return @numeroRighe + -- return @@ROWCOUNT + set @step='Step 11' + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = getdate() + ,elab = 10 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + where Rete = @Rete + AND CodiceFiscale = @CodiceFiscale +-- FC 05022015 +-- IdReport temporaneo per gestione Parallelizzazione +-- L'idReport verrà aggiornato una volta generato in fase di inserimento del PDF su ReportManager + set @step='Step 12' + if @IDReport > 0 Begin + select @IdReport + from C6MartPeriodico.GESTIONE_PDF_FTP + where rete=@Rete and codicefiscale=@CodiceFiscale + and tiporeport=@TipoReport + end + else + Begin + set @IDReport=-1 + select @IDReport + END +COMMIT TRANSACTION +END TRY +BEGIN CATCH + IF @@TRANCOUNT > 0 + ROLLBACK TRAN --RollBack in case of Error + Declare @CodiceErrore int + Declare @DescirzioneErrore varchar(250) + declare @dataTime datetime + Declare @nomePackage varchar(250) + select @CodiceErrore=error_number(), + @nomePackage=ERROR_PROCEDURE() , + @DescirzioneErrore=ERROR_MESSAGE() , + @dataTime = getdate() + set @DescirzioneErrore = @DescirzioneErrore + @step + ' (' + @CodiceFiscale + ';' + @Rete + cast(@IDReport as nvarchar(20)) + ')' + exec [C6Mart].[UT_INSERT_ERROR] @CodiceErrore,@DescirzioneErrore,@dataTime,null,null,@nomePackage + IF @@TRANCOUNT > 0 + ROLLBACK TRAN --RollBack in case of Error +END CATCH +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_04082015.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_04082015.sql new file mode 100644 index 00000000..07319671 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_04082015.sql @@ -0,0 +1,133 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_PDF_FTP_04082015] + @Rete char(1), + @CodiceFiscale varchar(16), + @IDReport int, + @NomeFile varchar(50), + @TipoReport varchar(1), + @NumeroPagine int, + @RFA decimal(18,2) = 0, + @CodiceContratto varchar(11) +AS +BEGIN + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6Martperiodico.GETIDELAB() +BEGIN TRY + DELETE C6MartPeriodico.GESTIONE_PDF_FTP WHERE + rete=@Rete and codicefiscale=@CodiceFiscale + and TipoReport = @TipoReport + --IDReport = @IDReport + insert into C6MartPeriodico.GESTIONE_PDF_FTP + ( + Rete, + CodiceFiscale, + IDReport, + DataGenerazione, + DataInvio, + FlagInvio, + NomeFile, + TipoReport, + numeroPagine, + RFA, + id_Fk_zip, + ID_ELAB, + Definitivo, + codicecontratto + ) + values + ( + @Rete, + @CodiceFiscale, + @IDReport, + Getdate(), + null, + 'N', + @NomeFile, + @TipoReport, + @NumeroPagine, + @RFA, + -1, + @ID_ELAB, + 0, + @CodiceContratto + ) +-- FC 05022015 +-- IdReport temporaneo per gestione Parallelizzazione +-- L'idReport verrà aggiornato una volta generato in fase di inserimento del PDF su ReportManager +-- ToDo ...togliere la select e gestire la variabile @@identity + declare @appIdReport int + -- Recupero id appena creato + --where condition per nomefile ( r e cf possono dare id sbagliati ( Mon-Diag) ) + select @appIdReport=identityReport + from C6MartPeriodico.GESTIONE_PDF_FTP + where rete=@Rete and codicefiscale=@CodiceFiscale + and tiporeport=@TipoReport + --where nomefile=@NomeFile; + if @appIDReport > 0 Begin + --aggiorno id report per mantenere la gestione in tutto il progetto + update C6MartPeriodico.GESTIONE_PDF_FTP + set idReport=@appIdReport + where rete=@Rete and codicefiscale=@CodiceFiscale + and identityReport=@appIdReport and tiporeport=@TipoReport + set @IdReport = @appIdReport +-- COLAIANNI-CONSOLI - 28.06.2011 +-- SETTA NELLA CONTROLLO_TRIMESTRALE LO STATO REPORT CORRISPONDENTE ALLA PRODUZIONE DEL REPORT: +-- DI DIAGNOSI (STATO: SEMILAVORATO) O DI MONITORAGGIO (STATO: STAMPATO) + IF (@TipoReport = 'D') + BEGIN + UPDATE c6martperiodico.controllo_trimestrale + SET stato_report=10, id_report_d=@IDReport, DATA_TRANSIZIONE=GETDATE() + WHERE stato_report = 1 + AND Rete = @Rete + AND Cod_Fiscale = @CodiceFiscale + END + ELSE IF (@TipoReport = 'M') + BEGIN + UPDATE c6martperiodico.controllo_trimestrale + SET stato_report=4, id_report_m=@IDReport, DATA_TRANSIZIONE=GETDATE() + WHERE ( (stato_report = 1 and flag_diagnosi=0) OR (stato_report = 10) ) + AND Rete = @Rete + AND Cod_Fiscale = @CodiceFiscale + END + --return @numeroRighe + -- return @@ROWCOUNT + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = getdate() + ,elab = 10 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + where Rete = @Rete + AND CodiceFiscale = @CodiceFiscale + END +-- FC 05022015 +-- IdReport temporaneo per gestione Parallelizzazione +-- L'idReport verrà aggiornato una volta generato in fase di inserimento del PDF su ReportManager + if @IDReport > 0 Begin + select @IdReport + from C6MartPeriodico.GESTIONE_PDF_FTP + where rete=@Rete and codicefiscale=@CodiceFiscale + and tiporeport=@TipoReport + end + else + Begin + set @IDReport=-1 + select @IDReport + END +END TRY +BEGIN CATCH + Declare @CodiceErrore int + Declare @DescirzioneErrore varchar + declare @dataTime datetime + Declare @nomePackage varchar + select @CodiceErrore=error_number(), + @nomePackage=ERROR_PROCEDURE() , + @DescirzioneErrore=ERROR_MESSAGE() , + @dataTime = getdate() + exec [C6Mart].[UT_INSERT_ERROR] @CodiceErrore,@DescirzioneErrore,@dataTime,null,null,@nomePackage +END CATCH +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_GET_ID.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_GET_ID.sql new file mode 100644 index 00000000..0cf2229b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_GET_ID.sql @@ -0,0 +1,18 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_PDF_FTP_GET_ID] +( + @Rete char(1), + @CodiceFiscale varchar(16), + @TipoReport varchar(1) +) +AS +BEGIN +if exists ( select 1 from C6MartPeriodico.GESTIONE_PDF_FTP + where rete=@Rete and codicefiscale=@CodiceFiscale + and tiporeport=@TipoReport) + select top(1) IdReport + from C6MartPeriodico.GESTIONE_PDF_FTP + where rete=@Rete and codicefiscale=@CodiceFiscale + and tiporeport=@TipoReport + else + select -1 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql new file mode 100644 index 00000000..b0c9d012 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql @@ -0,0 +1,45 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22/12/2008 +-- Description: Per gestione richieste di reinvio PDF da parte di utenti HD o US +-- ============================================= +--[C6MartPeriodico].[GESTIONE_INSERT_PDF_FTP_RISTAMPA]1055,1081 +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_PDF_FTP_RISTAMPA] + @Id INT, + @IdNuovo INT +AS +BEGIN + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + INSERT INTO C6MartPeriodico.GESTIONE_PDF_FTP + ( + Rete, + CodiceFiscale, + IDReport, + DataGenerazione, + DataInvio, + FlagInvio, + NomeFile, + TipoReport, + numeroPagine, + RFA, + id_Fk_zip, + ID_ELAB + ) + SELECT + Rete, + CodiceFiscale, + @IdNuovo, + Getdate(), + null, + 'N', + NomeFile, + 'LR', + numeroPagine + 1, + RFA, + -1, + @ID_ELAB + FROM C6MartPeriodico.GESTIONE_PDF_FTP + WHERE IdReport = @Id + RETURN @@ROWCOUNT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_ZIP.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_ZIP.sql new file mode 100644 index 00000000..d96b78c4 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_ZIP.sql @@ -0,0 +1,58 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- Inserimento nuovo [C6Mart].[GESTIONE_INSERT_ZIP] -1,'NomeFileOk','NomeFileOk' +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_ZIP] +@NomeFile as varchar(255), +@NomeCartella as varchar(255), +@FKIDElaborazioneZip as int +AS +BEGIN +BEGIN TRANSACTION +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6Martperiodico.GETIDELAB() +declare @IdZip as int +set @IdZip = -1 +--recupero idzip se Esiste insieme al NomeCartella +SELECT @IdZip=id,@NomeCartella=NomeCartella +FROM + C6MartPeriodico.GESTIONE_ZIP_FTP +WHERE + FlagInvio = 'N' + AND DateCopyToSend IS NULL +IF(@IDZIP = -1)--NON ESISTE + BEGIN + INSERT INTO [C6MartPeriodico].[GESTIONE_ZIP_FTP] + ( [NOMEFILE] + ,[DATAINVIO] + ,[FLAGINVIO] + ,[NOMECARTELLA] + ,[ID_ELAB] + ,[FKIDElaborazioneZip]) + VALUES + ( @NOMEFILE + ,NULL + ,'N' + ,@NOMECARTELLA + ,@ID_ELAB + ,@FKIDElaborazioneZip) + SET @IDZIP = SCOPE_IDENTITY() + END +ELSE --ESISTE + BEGIN + UPDATE [C6MartPeriodico].[GESTIONE_ZIP_FTP] + SET [NOMEFILE] = @NOMEFILE + WHERE ID = @IDZIP + END +IF @@error <> 0 + begin + rollback + end +else + begin + commit + select @IdZip IdZip,@NomeFile NomeFile,@NomeCartella NomeCartella + end +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_ZIP_IDX_NOINSERT.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_ZIP_IDX_NOINSERT.sql new file mode 100644 index 00000000..1f1d135a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_INSERT_ZIP_IDX_NOINSERT.sql @@ -0,0 +1,18 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_INSERT_ZIP_IDX_NOINSERT] +@NomeCartella as varchar(255) +AS +bEGIN +--select id IdZip, NomeFile, NomeCartella +--from [C6MartPeriodico].[GESTIONE_ZIP_FTP_idx] where nomecartella = @NomeCartella +declare @c as varchar(1) +set @c = '[' +declare @path as varchar(max) +set @path = @NomeCartella +declare @nomefile as varchar(100) +declare @id as int +set @nomefile = substring(@path, 0, charindex('_LOTTO',@path)) +set @id = cast( substring(@path, charindex('_PACK_',@path)+6, charindex(@c,@path)-(charindex('_PACK_',@path)+6)) as int) +select id IdZip, @NomeCartella as NomeFile, NomeCartella +from [C6MartPeriodico].[GESTIONE_ZIP_FTP] +where nomefile = @nomefile and id = @id +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_PDF_REVERT_FISCAL_CODE.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_PDF_REVERT_FISCAL_CODE.sql new file mode 100644 index 00000000..cca79f2f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_PDF_REVERT_FISCAL_CODE.sql @@ -0,0 +1,11 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_PDF_REVERT_FISCAL_CODE] +( + @FiscalCode nvarchar(max), + @Rete nvarchar(max) +) +AS +BEGIN + update [C6MartPeriodico].[cruscotto_contrattisei] set elab=1 where codicefiscale = @FiscalCode and rete=@rete + update [C6MartPeriodico].[CONTROLLO_TRIMESTRALE] set stato_report=1, flag_diagnosi = 0 where cod_fiscale = @FiscalCode and rete=@rete + delete from [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] where codicefiscale = @FiscalCode and rete=@rete +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SCARTI_CRUSCOTTO.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SCARTI_CRUSCOTTO.sql new file mode 100644 index 00000000..c4ba0d48 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SCARTI_CRUSCOTTO.sql @@ -0,0 +1,12 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SCARTI_CRUSCOTTO] + @codicefiscale as varchar(16), + @rete as varchar(1), + @stato as int, + @errormessage as varchar(1000) +AS +BEGIN + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = @stato where codicefiscale = @codicefiscale and rete = @rete and elab = 3 + IF @@ROWCOUNT <> 0 AND @stato < -1 + INSERT INTO [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] VALUES (@codicefiscale,@rete,getdate(),@errormessage) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_ELABORAZIONI_EMAIL_RNA.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_ELABORAZIONI_EMAIL_RNA.sql new file mode 100644 index 00000000..3748322e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_ELABORAZIONI_EMAIL_RNA.sql @@ -0,0 +1,11 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_ELABORAZIONI_EMAIL_RNA] +AS +BEGIN + SET NOCOUNT ON; + select C6MartPeriodico.getNumeroElaborazioniEmailAlMese() as righe +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql new file mode 100644 index 00000000..23f43d0d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql @@ -0,0 +1,37 @@ +--[C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE] +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE] +AS +BEGIN +--*********************** Modifica del 13-14/09/2016 per inserire gli eventuali errori nella nuova tabella +insert into [C6MartPeriodico].MailAvvisoTrimestraleAiPB__ERR_EMAIL_TO (ID_ELAB,rete,cod_agente,TIPO,Email_Id,Cod_Fiscale,E_From,E_To,E_Ccn,E_Cc,E_Subject,Testo,codicePB,data_generazione,Inviata,Data_Invio) +SELECT m.*, e.codicePB, e.data_generazione, e.Inviata, e.Data_Invio +from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +inner join [C6MartPeriodico].[GESTIONE_EMAIL] e + ON e.email_id = m.email_id +left join C6MartPeriodico.MailAvvisoTrimestraleAiPB__ERR_EMAIL_TO err +on err.cod_agente = m.cod_agente and err.cod_fiscale = m.cod_fiscale +WHERE isnull(e.Inviata,'N')='N' +and m.testo like '%' +and m.e_subject is not null +and e.email_id NOT IN ('14383','2176','137') +and (m.e_to is null or m.e_to = '') +and err.cod_agente is null +--SELECT top 800 * +--from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +--inner join [C6MartPeriodico].[GESTIONE_EMAIL] +-- ON GESTIONE_EMAIL.email_id = m.email_id +--WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' +--and testo like '%' +--and e_subject is not null +--and GESTIONE_EMAIL.email_id NOT IN ('14383','2176','137') +SELECT top 800 * +from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +inner join [C6MartPeriodico].[GESTIONE_EMAIL] e + ON e.email_id = m.email_id +WHERE isnull(e.Inviata,'N')='N' +and testo like '%' +and e_subject is not null +and e.email_id NOT IN ('14383','2176','137') +and (e_to is not null and e_to <> '') +--*********************** Fine Modifica del 13-14/09/2016 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_20160913.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_20160913.sql new file mode 100644 index 00000000..afa5aa17 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_20160913.sql @@ -0,0 +1,13 @@ +--[C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE] +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE_20160913] +AS +BEGIN +SELECT top 800 * +from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +inner join [C6MartPeriodico].[GESTIONE_EMAIL] + ON GESTIONE_EMAIL.email_id = m.email_id +WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' +and testo like '%' +and e_subject is not null +and GESTIONE_EMAIL.email_id NOT IN ('14383','2176','137') +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_bk.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_bk.sql new file mode 100644 index 00000000..c5aa0617 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_EMAIL_DA_INVIARE_bk.sql @@ -0,0 +1,37 @@ +--[C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE] +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_EMAIL_DA_INVIARE_bk] +AS +BEGIN +--*********************** Modifica del 13-14/09/2016 per inserire gli eventuali errori nella nuova tabella +insert into [C6MartPeriodico].MailAvvisoTrimestraleAiPB__ERR_EMAIL_TO (ID_ELAB,rete,cod_agente,TIPO,Email_Id,Cod_Fiscale,E_From,E_To,E_Ccn,E_Cc,E_Subject,Testo,codicePB,data_generazione,Inviata,Data_Invio) +SELECT m.*, e.codicePB, e.data_generazione, e.Inviata, e.Data_Invio +from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +inner join [C6MartPeriodico].[GESTIONE_EMAIL] e + ON e.email_id = m.email_id +left join C6MartPeriodico.MailAvvisoTrimestraleAiPB__ERR_EMAIL_TO err +on err.cod_agente = m.cod_agente and err.cod_fiscale = m.cod_fiscale +WHERE isnull(e.Inviata,'N')='N' +and m.testo like '%' +and m.e_subject is not null +and e.email_id NOT IN ('14383','2176','137') +and (m.e_to is null or m.e_to = '') +and err.cod_agente is null +--SELECT top 800 * +--from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +--inner join [C6MartPeriodico].[GESTIONE_EMAIL] +-- ON GESTIONE_EMAIL.email_id = m.email_id +--WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' +--and testo like '%' +--and e_subject is not null +--and GESTIONE_EMAIL.email_id NOT IN ('14383','2176','137') +SELECT top 800 * +from C6MartPeriodico.MailAvvisoTrimestraleAiPB m +inner join [C6MartPeriodico].[GESTIONE_EMAIL] e + ON e.email_id = m.email_id +WHERE isnull(e.Inviata,'N')='N' +and testo like '%' +and e_subject is not null +and e.email_id NOT IN ('14383','2176','137') +and (e_to is not null and e_to <> '') +--*********************** Fine Modifica del 13-14/09/2016 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE.sql new file mode 100644 index 00000000..1d8366ae --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE.sql @@ -0,0 +1,54 @@ +CREATE PROCEDURE [C6MartPeriodico].[GESTIONE_SELECT_FTP_DA_INVIARE] + @isLotto1 int = 0 +AS +BEGIN + SELECT + GESTIONE_PDF_FTP.Rete, + GESTIONE_PDF_FTP.CodiceFiscale , + --GESTIONE_PDF_FTP.IdReport + GESTIONE_PDF_FTP.identityreport as IdReport +-- ,(NomeFile + '_' + (Case TipoReport when 'D' then 'DP' WHEN 'M' THEN 'MP' else TipoReport end)) as NomeFile + ,( + NomeFile + '_' + + ( + CASE GESTIONE_PDF_FTP.TipoReport WHEN 'D' THEN 'DP' + WHEN 'M' THEN ( + CASE CONTRATTOSEI.TIP_CONTRATTO + WHEN 2 THEN 'PP' + ELSE 'MP' + END + ) + ELSE GESTIONE_PDF_FTP.TipoReport + END + ) + ) as NomeFile + ,TipoReport + --,convert(varchar,GESTIONE_PDF_FTP.IdReport)+ '_' + NomeFile NomeFilelocale + ,convert(varchar,GESTIONE_PDF_FTP.identityreport)+ '_' + NomeFile NomeFilelocale + FROM C6MartPeriodico.GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN c6martperiodico.controllo_trimestrale + on controllo_trimestrale.Rete = GESTIONE_PDF_FTP.Rete + and controllo_trimestrale.Cod_Fiscale = GESTIONE_PDF_FTP.CodiceFiscale + LEFT JOIN (SELECT [Cod_Fiscale],[Rete] FROM [C6MartPeriodico].[WHITELIST_ZIP] + WHERE [Pacchetto_Zip] iS null) WHITELIST_ZIP + on WHITELIST_ZIP.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + and WHITELIST_ZIP.Rete = CONTRATTOSEI.RETE + left join [C6MartPeriodico].[ExcludedList] on GESTIONE_PDF_FTP.Rete = [ExcludedList].Rete and GESTIONE_PDF_FTP.codicefiscale = [ExcludedList].codicefiscale + WHERE + FlagInvio = 'N' + -- and GESTIONE_PDF_FTP.Rete = null and GESTIONE_PDF_FTP.codicefiscale = null + and ExcludedList.Rete is null + ---- AND Definitivo = 0 Il FLag non è piu gestito per la generazione Zip + and dataGenerazione > c6martperiodico.gettrimestre(getdate(),0) + --and stato_report=4 + and (WHITELIST_ZIP.rete is not null or @isLotto1 = 0 or 0 = ( SELECT count(*) + FROM [C6MartPeriodico].[WHITELIST_ZIP] + WHERE [Pacchetto_Zip] iS null + )) + --EN20170706 - output ordered by CAP demand from SELECTA + --order by rete,codiceFiscale,identityreport --idreport + order by rete,CAP, codiceFiscale,identityreport --idreport +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170413_b4_NewZipFtpProcess.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170413_b4_NewZipFtpProcess.sql new file mode 100644 index 00000000..5b9f6d2b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170413_b4_NewZipFtpProcess.sql @@ -0,0 +1,55 @@ +CREATE PROCEDURE [C6MartPeriodico].[GESTIONE_SELECT_FTP_DA_INVIARE_20170413_b4_NewZipFtpProcess] + @isLotto1 int = 0 +AS +BEGIN + SELECT + GESTIONE_PDF_FTP.Rete, + GESTIONE_PDF_FTP.CodiceFiscale , + --GESTIONE_PDF_FTP.IdReport + GESTIONE_PDF_FTP.identityreport as IdReport +-- ,(NomeFile + '_' + (Case TipoReport when 'D' then 'DP' WHEN 'M' THEN 'MP' else TipoReport end)) as NomeFile + ,( + NomeFile + '_' + + ( + CASE GESTIONE_PDF_FTP.TipoReport WHEN 'D' THEN 'DP' + WHEN 'M' THEN ( + CASE CONTRATTOSEI.TIP_CONTRATTO + WHEN 2 THEN 'PP' + ELSE 'MP' + END + ) + ELSE GESTIONE_PDF_FTP.TipoReport + END + ) + ) as NomeFile + ,TipoReport + --,convert(varchar,GESTIONE_PDF_FTP.IdReport)+ '_' + NomeFile NomeFilelocale + ,convert(varchar,GESTIONE_PDF_FTP.identityreport)+ '_' + NomeFile NomeFilelocale +-- ,Case TipoReport when 'D' then 'DW' else TipoReport end +-- ,dp mp +-- DataGenerazione, +-- DataInvio, +-- FlagInvio, +-- NomeFile + FROM C6MartPeriodico.GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN c6martperiodico.controllo_trimestrale + on controllo_trimestrale.Rete = GESTIONE_PDF_FTP.Rete + and controllo_trimestrale.Cod_Fiscale = GESTIONE_PDF_FTP.CodiceFiscale + LEFT JOIN (SELECT [Cod_Fiscale],[Rete] FROM [C6MartPeriodico].[WHITELIST_ZIP] + WHERE [Pacchetto_Zip] iS null) WHITELIST_ZIP + on WHITELIST_ZIP.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + and WHITELIST_ZIP.Rete = CONTRATTOSEI.RETE + WHERE + FlagInvio = 'N' + ---- AND Definitivo = 0 Il FLag non è piu gestito per la generazione Zip + and dataGenerazione > c6martperiodico.gettrimestre(getdate(),0) + and stato_report=4 + and (WHITELIST_ZIP.rete is not null or @isLotto1 = 0 or 0 = ( SELECT count(*) + FROM [C6MartPeriodico].[WHITELIST_ZIP] + WHERE [Pacchetto_Zip] iS null + )) + order by rete,codiceFiscale,identityreport --idreport +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170712_b4_OrderedByCAP.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170712_b4_OrderedByCAP.sql new file mode 100644 index 00000000..9586e830 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_DA_INVIARE_20170712_b4_OrderedByCAP.sql @@ -0,0 +1,52 @@ +CREATE PROCEDURE [C6MartPeriodico].[GESTIONE_SELECT_FTP_DA_INVIARE_20170712_b4_OrderedByCAP] + @isLotto1 int = 0 +AS +BEGIN + SELECT + GESTIONE_PDF_FTP.Rete, + GESTIONE_PDF_FTP.CodiceFiscale , + --GESTIONE_PDF_FTP.IdReport + GESTIONE_PDF_FTP.identityreport as IdReport +-- ,(NomeFile + '_' + (Case TipoReport when 'D' then 'DP' WHEN 'M' THEN 'MP' else TipoReport end)) as NomeFile + ,( + NomeFile + '_' + + ( + CASE GESTIONE_PDF_FTP.TipoReport WHEN 'D' THEN 'DP' + WHEN 'M' THEN ( + CASE CONTRATTOSEI.TIP_CONTRATTO + WHEN 2 THEN 'PP' + ELSE 'MP' + END + ) + ELSE GESTIONE_PDF_FTP.TipoReport + END + ) + ) as NomeFile + ,TipoReport + --,convert(varchar,GESTIONE_PDF_FTP.IdReport)+ '_' + NomeFile NomeFilelocale + ,convert(varchar,GESTIONE_PDF_FTP.identityreport)+ '_' + NomeFile NomeFilelocale + FROM C6MartPeriodico.GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN c6martperiodico.controllo_trimestrale + on controllo_trimestrale.Rete = GESTIONE_PDF_FTP.Rete + and controllo_trimestrale.Cod_Fiscale = GESTIONE_PDF_FTP.CodiceFiscale + LEFT JOIN (SELECT [Cod_Fiscale],[Rete] FROM [C6MartPeriodico].[WHITELIST_ZIP] + WHERE [Pacchetto_Zip] iS null) WHITELIST_ZIP + on WHITELIST_ZIP.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + and WHITELIST_ZIP.Rete = CONTRATTOSEI.RETE + left join [C6MartPeriodico].[ExcludedList] on GESTIONE_PDF_FTP.Rete = [ExcludedList].Rete and GESTIONE_PDF_FTP.codicefiscale = [ExcludedList].codicefiscale + WHERE + FlagInvio = 'N' + -- and GESTIONE_PDF_FTP.Rete = null and GESTIONE_PDF_FTP.codicefiscale = null + and ExcludedList.Rete is null + ---- AND Definitivo = 0 Il FLag non è piu gestito per la generazione Zip + and dataGenerazione > c6martperiodico.gettrimestre(getdate(),0) + --and stato_report=4 + and (WHITELIST_ZIP.rete is not null or @isLotto1 = 0 or 0 = ( SELECT count(*) + FROM [C6MartPeriodico].[WHITELIST_ZIP] + WHERE [Pacchetto_Zip] iS null + )) + order by rete,codiceFiscale,identityreport --idreport +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI.sql new file mode 100644 index 00000000..6c2fc4ec --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI.sql @@ -0,0 +1,47 @@ +--exec [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI] +-- ============================================= +-- Author: +-- Create date: <2018/03/06> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI] +@idFkzip int +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Estrazione dei record + SELECT DISTINCT + C6MartPeriodico.GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale + into #t + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip + -- Conteggio dei report generati per ciascuna coppia Rete-CodiceFiscale (Se uno solo di tipo M oppure due, di tipo D + tipo M) + select + #t.Rete, + #t.CodiceFiscale, + count(*) as cont + into #t1 + from #t inner join C6MartPeriodico.GESTIONE_PDF_FTP + on #t.Rete = C6MartPeriodico.GESTIONE_PDF_FTP.Rete + and #t.CodiceFiscale = C6MartPeriodico.GESTIONE_PDF_FTP.CodiceFiscale + group by #t.Rete, #t.CodiceFiscale + -- Composizione della riga da scrivere nel file IDX + select + [C6MartPeriodico].CONCATENA(#t.Rete, #t.CodiceFiscale) as Riga, + #t1.cont as Tipo + from #t inner join #t1 + on #t.Rete = #t1.Rete + and #t.CodiceFiscale = #t1.CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180214_bonifica.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180214_bonifica.sql new file mode 100644 index 00000000..97333277 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180214_bonifica.sql @@ -0,0 +1,27 @@ +--exec sp_recompile '[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI]' +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_20180214_bonifica] +@idFkzip int +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT DISTINCT + [C6MartPeriodico].CONCATENA_20180214_bonifica(C6MartPeriodico.GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale, + @idFkzip) AS riga + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180308_PreIDX2.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180308_PreIDX2.sql new file mode 100644 index 00000000..3f05828b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180308_PreIDX2.sql @@ -0,0 +1,26 @@ +--exec sp_recompile '[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI]' +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_20180308_PreIDX2] +@idFkzip int +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT DISTINCT + [C6MartPeriodico].CONCATENA(C6MartPeriodico.GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale) AS riga + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180420.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180420.sql new file mode 100644 index 00000000..2df4ccd6 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20180420.sql @@ -0,0 +1,47 @@ +--exec [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI] +-- ============================================= +-- Author: +-- Create date: <2018/03/06> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_20180420] +@idFkzip int +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Estrazione dei record + SELECT DISTINCT + C6MartPeriodico.GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale + into #t + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip + -- Conteggio dei report generati per ciascuna coppia Rete-CodiceFiscale (Se uno solo di tipo M oppure due, di tipo D + tipo M) + select + #t.Rete, + #t.CodiceFiscale, + count(*) as cont + into #t1 + from #t inner join C6MartPeriodico.GESTIONE_PDF_FTP + on #t.Rete = C6MartPeriodico.GESTIONE_PDF_FTP.Rete + and #t.CodiceFiscale = C6MartPeriodico.GESTIONE_PDF_FTP.CodiceFiscale + group by #t.Rete, #t.CodiceFiscale + -- Composizione della riga da scrivere nel file IDX + select + #t1.cont as Tipo, + [C6MartPeriodico].CONCATENA(#t.Rete, #t.CodiceFiscale) as Riga + from #t inner join #t1 + on #t.Rete = #t1.Rete + and #t.CodiceFiscale = #t1.CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20240225.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20240225.sql new file mode 100644 index 00000000..5e2d3aa0 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_20240225.sql @@ -0,0 +1,45 @@ +--exec [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI] +-- ============================================= +-- Author: +-- Create date: <2018/03/06> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_20240225] --'' +@idFkzip int +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Estrazione dei record + SELECT DISTINCT + C6MartPeriodico.GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale + into #t + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + -- Conteggio dei report generati per ciascuna coppia Rete-CodiceFiscale (Se uno solo di tipo M oppure due, di tipo D + tipo M) + select + #t.Rete, + #t.CodiceFiscale, + count(*) as cont + into #t1 + from #t inner join C6MartPeriodico.GESTIONE_PDF_FTP + on #t.Rete = C6MartPeriodico.GESTIONE_PDF_FTP.Rete + and #t.CodiceFiscale = C6MartPeriodico.GESTIONE_PDF_FTP.CodiceFiscale + group by #t.Rete, #t.CodiceFiscale + -- Composizione della riga da scrivere nel file IDX + select + [C6MartPeriodico].CONCATENA_20240225(#t.Rete, #t.CodiceFiscale) as Riga, + #t1.cont as Tipo + from #t inner join #t1 + on #t.Rete = #t1.Rete + and #t.CodiceFiscale = #t1.CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME.sql new file mode 100644 index 00000000..eedd72f1 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME.sql @@ -0,0 +1,46 @@ +--exec [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME] +-- ============================================= +-- Author: +-- Create date: <2018/03/06> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME] +@idFkzip int +AS +BEGIN + SET NOCOUNT ON; + SELECT DISTINCT + [C6MartPeriodico].GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale, + (case when tiporeport = 'D' then '' else NomeFile end) as NomeFile + into #t + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip + -- Conteggio dei report generati per ciascuna coppia Rete-CodiceFiscale (Se uno solo di tipo M oppure due, di tipo D + tipo M) + select + #t.Rete, + #t.CodiceFiscale, + count(*) as cont + into #t1 + from #t inner join C6MartPeriodico.GESTIONE_PDF_FTP + on #t.Rete = C6MartPeriodico.GESTIONE_PDF_FTP.Rete + and #t.CodiceFiscale = C6MartPeriodico.GESTIONE_PDF_FTP.CodiceFiscale + group by #t.Rete, #t.CodiceFiscale + -- Composizione della riga da scrivere nel file IDX + select + [C6MartPeriodico].CONCATENA(#t.Rete, #t.CodiceFiscale) as Riga, + #t.NomeFile, + #t1.cont as Tipo + from #t inner join #t1 + on #t.Rete = #t1.Rete + and #t.CodiceFiscale = #t1.CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180308_PreIDX2.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180308_PreIDX2.sql new file mode 100644 index 00000000..1b1dcaf9 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180308_PreIDX2.sql @@ -0,0 +1,18 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180308_PreIDX2] +@idFkzip int +AS +BEGIN + SET NOCOUNT ON; + SELECT DISTINCT + [C6MartPeriodico].CONCATENA(C6MartPeriodico.GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale) AS riga , (case when tiporeport = 'D' then '' else NomeFile end) as NomeFile + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180420.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180420.sql new file mode 100644 index 00000000..34ed47e7 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180420.sql @@ -0,0 +1,46 @@ +--exec [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME] +-- ============================================= +-- Author: +-- Create date: <2018/03/06> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_INCLUDINGFILENAME_20180420] +@idFkzip int +AS +BEGIN + SET NOCOUNT ON; + SELECT DISTINCT + [C6MartPeriodico].GESTIONE_PDF_FTP.Rete, + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale, + (case when tiporeport = 'D' then '' else NomeFile end) as NomeFile + into #t + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @idFkzip + -- Conteggio dei report generati per ciascuna coppia Rete-CodiceFiscale (Se uno solo di tipo M oppure due, di tipo D + tipo M) + select + #t.Rete, + #t.CodiceFiscale, + count(*) as cont + into #t1 + from #t inner join C6MartPeriodico.GESTIONE_PDF_FTP + on #t.Rete = C6MartPeriodico.GESTIONE_PDF_FTP.Rete + and #t.CodiceFiscale = C6MartPeriodico.GESTIONE_PDF_FTP.CodiceFiscale + group by #t.Rete, #t.CodiceFiscale + -- Composizione della riga da scrivere nel file IDX + select + #t1.cont as Tipo, + [C6MartPeriodico].CONCATENA(#t.Rete, #t.CodiceFiscale) as Riga, + #t.NomeFile + from #t inner join #t1 + on #t.Rete = #t1.Rete + and #t.CodiceFiscale = #t1.CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_prova_20141223.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_prova_20141223.sql new file mode 100644 index 00000000..ae5e1d58 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_INVIATI_prova_20141223.sql @@ -0,0 +1,52 @@ +--exec sp_recompile '[C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI]' +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_INVIATI_prova_20141223] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @idFkzip int + select @idFkzip = max(id_fk_zip) + from c6martperiodico.gestione_pdf_ftp_prova_20141223 +print @idFkzip +-- Facciate(6)CppBollettini(2)IDENTIFICATIVODOCUMENTO(50)NOMINATIVODESTINATARIO(50)VIA(50)CAP(5)LOCALITA(50)PROVINCIA(2)NAZIONE(1)TIPOPOSTALIZZAZIONE(2)FILESPOOL(50)ALLEGATO1(1)ALLEGATO1(2)NAZIONEESTERA(30) +--FacciateXXXXX(6)00CodiceFiscale(50)NOMINATIVODESTINATARIO(50)VIA(50)CAP(5)LOCALITA(50)PROVINCIA(2)IoE(1)PE(2)NOMEFILE(50)0(1)0(2)NAZIONEESTERA(30) +-- (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) +-- + '00' --CppBollettini(2) +-- + ' ' --IDENTIFICATIVODOCUMENTO(50) +-- + LEFT(isnull(ANAG_CLIENTI.Cognome,'COGNOME') + ' ' + ISNULL(ANAG_CLIENTI.Nome,'NOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) +-- + LEFT(CONTRATTOSEI.Indirizzo + ' ',50) --VIA(50) +-- + LEFT(CONTRATTOSEI.CAP + ' ',5) --CAP(5) +-- + LEFT(CONTRATTOSEI.Citta + ' ',50) --LOCALITA(50) +-- + LEFT(CONTRATTOSEI.Prov + ' ',2)--PROVINCIA(2) +-- + (CASE UPPER(CONTRATTOSEI.Nazione) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) +-- + 'PE' --TIPOPOSTALIZZAZIONE(2) +-- + LEFT(GESTIONE_PDF_FTP.NomeFile + ' ',50)--NOMEFILE(50) +-- + '0' --0(1) +-- + '0' --0(2) +-- + LEFT((CASE UPPER(CONTRATTOSEI.Nazione) WHEN 'ITALIA' THEN '' ELSE CONTRATTOSEI.Nazione END) + ' ',30)) -- NAZIONEESTERA(30) +-- + SELECT DISTINCT + --codiceFiscale, + --id_fk_zip, + [C6MartPeriodico].CONCATENA_prova_20141223(C6MartPeriodico.GESTIONE_PDF_FTP_prova_20141223.Rete, C6MartPeriodico.GESTIONE_PDF_FTP_prova_20141223.CodiceFiscale) AS riga + FROM C6MartPeriodico.GESTIONE_PDF_FTP_prova_20141223 + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP_prova_20141223.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP_prova_20141223.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP_prova_20141223.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP_prova_20141223.CodiceFiscale + WHERE --DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 +-- OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0 + GESTIONE_PDF_FTP_prova_20141223.id_fk_zip = @idFkzip -- 351 + --(select max(id_fk_zip) + -- from c6martperiodico.gestione_pdf_ftp + --) + --order by codiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_WHITELIST.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_WHITELIST.sql new file mode 100644 index 00000000..eb93cfd1 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_FTP_WHITELIST.sql @@ -0,0 +1,48 @@ +-- Stored procedure +--[C6MartPeriodico].[GESTIONE_SELECT_FTP_WHITELIST]343 +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_FTP_WHITELIST] +@IdZip as INT +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT DISTINCT + contrattosei.cod_fiscale,contrattosei.rete, + [C6MartPeriodico].[CONCATENA_WHITELIST](C6MartPeriodico.GESTIONE_PDF_FTP.Rete, C6MartPeriodico.GESTIONE_PDF_FTP.CodiceFiscale, @IdZip) AS riga + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MARTPERIODICO.CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE + GESTIONE_PDF_FTP.id_fk_zip = @IdZip + AND + contrattosei.rete+CONTRATTOSEI.COD_FISCALE NOT IN (SELECT rete+CodiceFiscale FROM C6MartPeriodico.ExcludedList where bloccato = 1) + UPDATE C6MARTPERIODICO.CONTROLLO_TRIMESTRALE SET + STATO_REPORT = 8, + DATA_TRANSIZIONE=GETDATE() + WHERE STATO_REPORT=6 + AND + cod_fiscale+rete in + (select codicefiscale+rete + from c6martperiodico.gestione_pdf_ftp + where id_fk_zip=@idZIP + ) + AND + RETE+cod_fiscale NOT IN (SELECT rete+CodiceFiscale FROM C6MartPeriodico.ExcludedList where bloccato = 1) + UPDATE C6MARTPERIODICO.CONTROLLO_TRIMESTRALE SET + STATO_REPORT = 7, + DATA_TRANSIZIONE=GETDATE() + WHERE STATO_REPORT=9 + AND + cod_fiscale+rete in + (select codicefiscale+rete + from c6martperiodico.gestione_pdf_ftp + where id_fk_zip=@idZIP + ) + AND + RETE+cod_fiscale IN (SELECT rete+CodiceFiscale FROM C6MartPeriodico.ExcludedList where bloccato = 1) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_HOST.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_HOST.sql new file mode 100644 index 00000000..fd92dc6f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_HOST.sql @@ -0,0 +1,56 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_HOST] + AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --FTP + SELECT +-- null idFtp, +-- null idEmail, +--C6Mart.GESTIONE_PDF_FTP.*, + ([C6MartPeriodico].GESTIONE_PDF_FTP.Rete + [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale + right('00000000000' + + --C6Mart.CONTRATTOSEI.CodiceContratto,11 + v.CodiceContratto,11 + ) + + 'C' + + (Case TipoReport when 'D' then 'LD' + when 'LR' then 'LR' + when 'M' then 'LM' + else TipoReport end) + + (Case TipoReport when 'D' then CONVERT(VARCHAR(10), [C6MartPeriodico].GESTIONE_PDF_FTP.DataInvio, 112) + when 'LR' then CONVERT(VARCHAR(10), [C6MartPeriodico].GESTIONE_PDF_FTP.DataInvioRistampa, 112) + when 'M' then CONVERT(VARCHAR(10), [C6MartPeriodico].GESTIONE_PDF_FTP.DataInvio, 112) else null end)) as riga + FROM [C6MartPeriodico].GESTIONE_PDF_FTP + INNER JOIN C6MartPeriodico.vContrattiPerGenerazioneReport v --C6Mart.VCONTRATTOSEI + ON v.Rete = [C6MartPeriodico].GESTIONE_PDF_FTP.Rete + and v.COD_FISCALE = [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN [C6MartPeriodico].ANAG_CLIENTI + ON [C6MartPeriodico].ANAG_CLIENTI.Rete = [C6MartPeriodico].GESTIONE_PDF_FTP.Rete + and [C6MartPeriodico].ANAG_CLIENTI.COD_FISCALE = [C6MartPeriodico].GESTIONE_PDF_FTP.CodiceFiscale +-- WHERE DAY(C6Mart.GESTIONE_PDF_FTP.DataInvio) = DAY(GETDATE()) +-- AND MONTH(GETDATE()) = MONTH(C6Mart.GESTIONE_PDF_FTP.DataInvio) +-- AND YEAR(GETDATE()) = YEAR(C6Mart.GESTIONE_PDF_FTP.DataInvio) + WHERE DATEDIFF(DAY,isnull([C6MartPeriodico].GESTIONE_PDF_FTP.DataInvio,[C6MartPeriodico].GESTIONE_PDF_FTP.DataInvioRistampa),GETDATE()) = 0 + and isnull(data_fineAvanzato,cast('99991231' as datetime)) > c6martperiodico.getTrimestre(getDate(),0) +-- UNION ALL +-- --EMAIL +-- SELECT +-- null idFtp, +-- C6Mart.GESTIONE_EMAIL.Email_Id idEmail, +-- ('Rete:' + isnull(C6Mart.GESTIONE_EMAIL.Rete,'') + ';' + 'CodiceFiscale:' + isnull(C6Mart.GESTIONE_EMAIL.Cod_Fiscale,'') + ';' + 'Codice Contratto:' + isnull(C6Mart.CONTRATTOSEI.CodiceContratto,'') + ';' + 'Tipo Invio:' + 'E' + ';' + 'Tipo Comunicazione:' + 'EI' + ';' + 'Data Invio al Cliente:' + isnull(CONVERT(VARCHAR(10), C6Mart.GESTIONE_EMAIL.Data_Invio, 112),'')) as riga +-- FROM C6Mart.GESTIONE_EMAIL +-- INNER JOIN C6Mart.CONTRATTOSEI +-- ON C6Mart.CONTRATTOSEI.Rete = C6Mart.GESTIONE_EMAIL.Rete +-- and C6Mart.CONTRATTOSEI.COD_FISCALE = C6Mart.GESTIONE_EMAIL.Cod_Fiscale +-- INNER JOIN C6Mart.ANAG_CLIENTI +-- ON C6Mart.ANAG_CLIENTI.Rete = C6Mart.GESTIONE_EMAIL.Rete +-- and C6Mart.ANAG_CLIENTI.COD_FISCALE = C6Mart.GESTIONE_EMAIL.Cod_Fiscale +-- WHERE Data_Comunicazione_Host is null +-- and C6Mart.GESTIONE_EMAIL.Data_Invio is not null +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_LAST_ELAB_ZIP.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_LAST_ELAB_ZIP.sql new file mode 100644 index 00000000..a7a44663 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_LAST_ELAB_ZIP.sql @@ -0,0 +1,8 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_LAST_ELAB_ZIP] +AS +BEGIN + SELECT IDElaborazioneZip, DataFine + FROM [C6MartPeriodico].ELABORAZIONI_ZIP + WHERE IDElaborazioneZip = (SELECT MAX(IDElaborazioneZip) + FROM [C6MartPeriodico].ELABORAZIONI_ZIP) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_LAST_ZIP.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_LAST_ZIP.sql new file mode 100644 index 00000000..14edd9fd --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_LAST_ZIP.sql @@ -0,0 +1,34 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- Inserimento nuovo [C6Mart].[GESTIONE_INSERT_ZIP] -1,'NomeFileOk','NomeFileOk' +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_LAST_ZIP] +AS +BEGIN + DECLARE @IdZip AS INT + SET @IdZip = -1 + DECLARE @NomeCartella AS VARCHAR(255) + Declare @NomeFile as varchar(50) + Declare @NumeroCFZip as int + --recupero idzip se Esiste insieme al NomeCartella + SELECT @IdZip=id,@NomeCartella=NomeCartella,@NomeFile =NomeFile + FROM + C6MartPeriodico.GESTIONE_ZIP_FTP + WHERE + FlagInvio = 'N' + AND DateCopyToSend IS NULL + -- Se la generazione file Zip è in fase di ripartenza ( FlagInvio = 'N' + -- AND DateCopyToSend IS NULL ) conto il Numero dei Clienti relativo ai report già copiati + -- nella cartella di appoggio(NomeCartella) + IF @IdZip > -1 Begin + select @NumeroCFZip=count( *) + from ( + select distinct rete,codicefiscale + from c6martperiodico.gestione_pdf_ftp + where id_fk_zip=@IdZip) a + end + --SELECT @IdZip IdZip, @NomeCartella NomeCartella,@NomeFile + select @IdZip IdZip,@NomeFile NomeFile,@NomeCartella NomeCartella,@NumeroCFZip NumeroCFZip +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql new file mode 100644 index 00000000..48ead67d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql @@ -0,0 +1,98 @@ +--[C6MartPeriodico].[GESTIONE_SELECT_LETTERE_DA_INVIARE]'F','CSCGPP34A03L050L',106,-1,'Monitoraggio' +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_LETTERE_DA_INVIARE] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' +AS +BEGIN + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() + --Modifica per la variazione di testo nella lettera di accompagnamento nel caso di diagnosi + IF @codiceLettera in (7,8) AND @tipoReport = 'DIAGNOSI' + SET @codiceLettera = @codiceLettera + 2 + --aggiunto controllo per clienti speciali in data 21/09/2020 + IF @rete+@cf in (select rete+codFis from [C6MartPeriodico].[GESTIONE_TESTO_PARTICOLARE_LETTERE_DA_INVIARE] where flagAttivo = 1) AND @tipoReport = 'DIAGNOSI' + begin + IF @rete = 'F' + begin + SET @codiceLettera = 110 + print @codiceLettera + end + IF @rete = 'S' + begin + SET @codiceLettera = 111 + print @codiceLettera + end + end + SELECT + c6martperiodico.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, +csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.prov end as provincia, + case when (upper(csei.nazione) <> 'ITALIA') then '' else csei.cap end as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + c6martperiodico.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_Monitor, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.Data_Sott, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) as testo, + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma, + 0 as pagina + FROM + [C6MartPeriodico].[TESTO_LETTERA_ACCETTAZIONE] tla, + [C6MartPeriodico].[CONTRATTOSEI] csei + INNER JOIN + [C6MartPeriodico].[ANAG_CLIENTI] aclie + on + csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + LEFT OUTER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP gpdf + on + gpdf.rete = csei.rete and + gpdf.codiceFiscale = csei.cod_fiscale + WHERE + csei.rete = @rete and + csei.cod_Fiscale = @cf and + tla.id = @codiceLettera and + (gpdf.idReport = @idReport or @idreport = -1) + AND isnull(csei.data_fineavanzato,'99991231') > c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getDate(),-1),0) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql new file mode 100644 index 00000000..cb3ba615 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql @@ -0,0 +1,98 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' +AS +BEGIN + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() + --Modifica per la variazione di testo nella lettera di accompagnamento nel caso di diagnosi + IF @codiceLettera in (7,8) AND @tipoReport = 'DIAGNOSI' + SET @codiceLettera = @codiceLettera + 2 + --aggiunto controllo per clienti speciali in data 21/09/2020 + IF @rete+@cf in (select rete+codFis from [C6MartPeriodico].[GESTIONE_TESTO_PARTICOLARE_LETTERE_DA_INVIARE] where flagAttivo = 1) AND @tipoReport = 'DIAGNOSI' + begin + IF @rete = 'F' + begin + SET @codiceLettera = 110 + print @codiceLettera + end + IF @rete = 'S' + begin + SET @codiceLettera = 111 + print @codiceLettera + end + end + SELECT + c6martperiodico.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, +csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.prov end as provincia, + case when (upper(csei.nazione) <> 'ITALIA') then '' else csei.cap end as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + c6martperiodico.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_Monitor, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.Data_Sott, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) as testo, + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma, + 0 as pagina + FROM + [C6MartPeriodico].[TESTO_LETTERA_ACCETTAZIONE_Rosaspina] tla, + [C6MartPeriodico].[CONTRATTOSEI] csei + INNER JOIN + [C6MartPeriodico].[ANAG_CLIENTI] aclie + on + csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + LEFT OUTER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP gpdf + on + gpdf.rete = csei.rete and + gpdf.codiceFiscale = csei.cod_fiscale + WHERE + csei.rete = @rete and + csei.cod_Fiscale = @cf and + tla.id = @codiceLettera and + (gpdf.idReport = @idReport or @idreport = -1) + -- AND isnull(csei.data_fineavanzato,'99991231') > c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getDate(),-1),0) + -- 22/12/2022 commentata la condizione di sopra che per me non ha senso di esistere in quanto in trim sono presenti solo clienti che devono avere il report +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_NUM_MAX_ELABORAZIONI_EMAIL_RNA.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_NUM_MAX_ELABORAZIONI_EMAIL_RNA.sql new file mode 100644 index 00000000..c50cc1eb --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_NUM_MAX_ELABORAZIONI_EMAIL_RNA.sql @@ -0,0 +1,11 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_NUM_MAX_ELABORAZIONI_EMAIL_RNA] +AS +BEGIN + SET NOCOUNT ON; + select CAST(dbo.getParametro('MaxInvioSoll_Periodico') AS INT) as numMaxSolleciti +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql new file mode 100644 index 00000000..564cf2bb --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql @@ -0,0 +1,20 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22/12/2008 +-- Description: Per gestione richieste di reinvio PDF da parte di utenti HD o US +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO] + @IdReport INT +AS +BEGIN + declare @ritorno as int + set @ritorno = 1 + select @ritorno = 0 + from C6MartPeriodico.GESTIONE_PDF_FTP A + inner join (select Rete, CodiceFiscale FROM C6MartPeriodico.GESTIONE_PDF_FTP WHERE IdReport = @IdReport) B + on A.Rete = B.Rete + and A.CodiceFiscale = B.CodiceFiscale + and TipoReport = 'LR' + and FlagInvio = 'N' + select @ritorno +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql new file mode 100644 index 00000000..af0b76be --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE.sql @@ -0,0 +1,103 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + --set @dtrim = '20241231' + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6stagingPeriodico].[WSEIAN2] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6stagingPeriodico].[WSEIAN2] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT top(@volThreads) + Maledetti.[CodiceFiscale] +,Maledetti.[Rete] +,Maledetti.[tip_contratto] +,Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + and flag_stampa=1 + and tip_contratto<>3 + order by + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] + ,Maledetti.[tip_contratto] + --prendo quelli SEI +-- update t set flag_stampa=2 from c6martperiodico.TB_Campione t where cod_fiscale in (select CodiceFiscale from #result) + ----forzatura per Fideuram direct + --update #result + --set tip_contratto=3, idModelloMonitoraggio=6 + ----fine forzatura per fideuram direct +select * from #result +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA.sql new file mode 100644 index 00000000..d505a911 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA.sql @@ -0,0 +1,110 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + --set @dtrim = '20230331' + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' and dttrim = @dtrim + )X +SELECT top(@volThreads) + Maledetti.[CodiceFiscale] +,Maledetti.[Rete] +,Maledetti.[tip_contratto] +,Maledetti.[NomeRete] +,Maledetti.[Agente] +,Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente] +,Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente] +,Maledetti.[CittaAgente] +,Maledetti.[TelefonoAgente] +,Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione_DA Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + and flag_stampa=1 + and tip_contratto=3 +order by + Maledetti.[CodiceFiscale] +,Maledetti.[Rete] +,Maledetti.[tip_contratto] + --prendo quelli Fideuram Direct\ Direct Advisory +-- update t set flag_stampa=2 +-- from c6martperiodico.TB_Campione_DA t where cod_fiscale in (select CodiceFiscale from #result) + ----forzatura per Fideuram direct + ----update #result + ----set tip_contratto=3, idModelloMonitoraggio=6 + ----fine forzatura per fideuram direct + select * from #result +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_FA.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_FA.sql new file mode 100644 index 00000000..26720f9c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_FA.sql @@ -0,0 +1,97 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_FA] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + --set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + -- Ultimo ggiorno del mese scorso + set @dtrim = Convert(varchar(8), Dateadd(d, -1, CONVERT(varchar(6), getDate(), 112) + '01'), 112) + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione_DA Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + and flag_stampa=1 + and tip_contratto=3 --prendo quelli Fideuram Direct\ Direct Advisory + --update t set flag_stampa=2 +-- from c6martperiodico.TB_Campione_DA t where cod_fiscale in (select CodiceFiscale from #result) + ----forzatura per Fideuram direct + ----update #result + ----set tip_contratto=3, idModelloMonitoraggio=6 + ----fine forzatura per fideuram direct + select * from #result +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_Francesco.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_Francesco.sql new file mode 100644 index 00000000..a540c820 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_Francesco.sql @@ -0,0 +1,107 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_Francesco] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + --set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + set @dtrim = '20240229' + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione_DA Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + and flag_stampa=1 + and tip_contratto=3 --prendo quelli Fideuram Direct\ Direct Advisory + --update t set flag_stampa=2 + -- from c6martperiodico.TB_Campione_DA t where cod_fiscale in (select CodiceFiscale from #result) + ----forzatura per Fideuram direct + ----update #result + ----set tip_contratto=3, idModelloMonitoraggio=6 + ----fine forzatura per fideuram direct + select * from #result +END +--select top 1000 * from wh.Maledetti +--where 1 = 1 +--and i_CodiceFiscale in ( +--'DLLNTN75E26C034V' +--,'GLSHBR78H05D530H' +--,'LCNGNZ82P14H163B' +--,'MRLSLV83E60D912U' +--,'MTUGNN75R08L109R' +--,'PNTMRZ72P13F152Q' +--,'VGNMRA68C64F205S' +--) +----where idReportMonitoraggio is null \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_GB.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_GB.sql new file mode 100644 index 00000000..e24df50d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_GB.sql @@ -0,0 +1,84 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_DA_GB] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) = c6martperiodico.gettrimestre(getDate(),0); + --set @dtrim = '20230331' + WITH WSEIAN_1 as + ( select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6StagingPeriodico].[WSEIAN2] WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6StagingPeriodico].[WSEIAN2] WHERE codman <> '' and dttrim = @dtrim + ) + SELECT TOP (@volThreads) + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] + ,Maledetti.[tip_contratto] + ,Maledetti.[NomeRete] + ,Maledetti.[Agente] + ,Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente] + ,Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente] + ,Maledetti.[CittaAgente] + ,Maledetti.[TelefonoAgente] + ,Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFMonitoraggio + ,CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp' + ,CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde' + ,CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg' + ,CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + ,scaduto + FROM wh.Maledetti Maledetti + inner join c6martperiodico.TB_Campione_GB Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + left outer join WSEIAN_1 wse on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE 1=1 + and flag_stampa=1 + and tip_contratto=3 + ORDER BY + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] + ,Maledetti.[tip_contratto]; +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FA.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FA.sql new file mode 100644 index 00000000..47bed319 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FA.sql @@ -0,0 +1,100 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FA] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + --set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + --set @dtrim = '20231130' --simulazione + -- Ultimo ggiorno del mese scorso + set @dtrim = '20250228' --Convert(varchar(8), Dateadd(d, -1, CONVERT(varchar(6), getDate(), 112) + '01'), 112) + --select @dtrim + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + --and flag_stampa=1 + --and tip_contratto<>3 --prendo quelli SEI + and Maledetti.[CodiceFiscale] in ('PVNMRA43R67C814I', 'BRBCRL73B65E256C') + --update t set flag_stampa=2 +-- from c6martperiodico.TB_Campione t where cod_fiscale in (select CodiceFiscale from #result) + ----forzatura per Fideuram direct + --update #result + --set tip_contratto=3, idModelloMonitoraggio=6 + ----fine forzatura per fideuram direct +select * from #result +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FORCE.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FORCE.sql new file mode 100644 index 00000000..42ef63fa --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FORCE.sql @@ -0,0 +1,99 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FORCE] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + --> ricommentare + -- set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + --set @dtrim = '20230331' + set @dtrim = '20240831' --> decommentare + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6martPeriodico].[WSEIAN2] + WHERE codman = '' --and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6martPeriodico].[WSEIAN2] + WHERE codman <> '' --and dttrim = @dtrim + )X + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti + -- left outer join #WSEIAN_1 wse + inner join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + and flag_stampa=1 + and tip_contratto<>3 --prendo quelli SEI + update t set flag_stampa=2 + from c6martperiodico.TB_Campione t where cod_fiscale in (select CodiceFiscale from #result) + ----forzatura per Fideuram direct + --update #result + --set tip_contratto=3, idModelloMonitoraggio=6 + ----fine forzatura per fideuram direct +select * from #result +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FOR_STATISTICS.obs.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FOR_STATISTICS.obs.sql new file mode 100644 index 00000000..c4a6fd62 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FOR_STATISTICS.obs.sql @@ -0,0 +1,81 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_FOR_STATISTICS.obs] +(@VolThreads int = 100000) +AS +BEGIN + SET NOCOUNT ON; + declare @dataTrimestre as datetime + declare @dataTrimestrePRec as datetime +SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0), +@dataTrimestrePRec=c6martperiodico.getPreviousTrimestre(getDate(),0) + SELECT DISTINCT + contratti.Cod_Fiscale CodiceFiscale + FROM [C6MartPeriodico].contrattoSEI contratti + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF +--left join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --modificata da Valerio 12 marzo 2012 + --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6martperiodico.monitoraggio_attuale monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + left join c6martperiodico.monitoraggio_iniziale monitInit + on patrimonioBF.rete = monitInit.rete + and patrimonioBF.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport + on patrimonioBF.rete = monitReport.rete + and patrimonioBF.cod_fiscale = monitReport.cod_fiscale + inner join c6martperiodico.TB_Campione Campione + on contratti.rete= Campione.rete and contratti.cod_fiscale= Campione.cod_fiscale + and flag_stampa=1 + WHERE 1=1 +-- DA ELIMINARE .... IL CAMPIONE DEVE ESSERE INSERITO E GESTITO NELLA TABELLA c6martperiodico.TB_CAMPIONE + --and contratti.rete+contratti.cod_fiscale in + --( + --select rete+cod_fiscale from c6martperiodico.TB_CAMPIONE + --) +--and contratti.rete+contratti.cod_fiscale in +--( +--'FGSPLSN31B26E648J', +--'FVSNPTR31L14B402B', +--'FBRGFBA61P09B639N' +--) +--insert into c6martperiodico.TB_Campione +--values ('F','RZUGTN30M07C351I',1) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Francesco.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Francesco.sql new file mode 100644 index 00000000..953658e0 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Francesco.sql @@ -0,0 +1,99 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Francesco] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + --set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + --set @dtrim = '20231130' --simulazione + set @dtrim = '20240630' + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + --inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + --and flag_stampa=1 + --and CodiceFiscale = 'SVNPTR37B21D725U' + and CodiceFiscale = 'GLTFNC52R23B832X' + --and tip_contratto<>3 --prendo quelli SEI + --update t set flag_stampa=2 +-- from c6martperiodico.TB_Campione t where cod_fiscale in (select CodiceFiscale from #result) + ----forzatura per Fideuram direct + --update #result + --set tip_contratto=3, idModelloMonitoraggio=6 + ----fine forzatura per fideuram direct +select * from #result +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_PK.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_PK.sql new file mode 100644 index 00000000..ed652b8b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_PK.sql @@ -0,0 +1,88 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_PK] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + --and rank=1 + --and flag_stampa=1 + and Maledetti.[CodiceFiscale] = 'MSATTL51L23E648U' +select * from #result +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Pino.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Pino.sql new file mode 100644 index 00000000..e3372e63 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Pino.sql @@ -0,0 +1,89 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_Pino] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + set @dtrim = c6martperiodico.gettrimestre(getDate(),0)-201 + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + and flag_stampa=1 + update t set flag_stampa=2 + from c6martperiodico.TB_Campione t where cod_fiscale in (select CodiceFiscale from #result) +select * from #result +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_NonOptimized.obs.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_NonOptimized.obs.sql new file mode 100644 index 00000000..dde73091 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_NonOptimized.obs.sql @@ -0,0 +1,232 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_NonOptimized.obs] --10 +(@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + declare @dataTrimestre as datetime + declare @dataTrimestrePRec as datetime +SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0), +@dataTrimestrePRec=c6martperiodico.getPreviousTrimestre(getDate(),0) + Select distinct top (@volThreads) contratti.Cod_Fiscale + into #ct + FROM [C6MartPeriodico].contrattoSEI contratti + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF +--left join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --modificata da Valerio 12 marzo 2012 + --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6martperiodico.monitoraggio_attuale monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + left join c6martperiodico.monitoraggio_iniziale monitInit + on patrimonioBF.rete = monitInit.rete + and patrimonioBF.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport + on patrimonioBF.rete = monitReport.rete + and patrimonioBF.cod_fiscale = monitReport.cod_fiscale + inner join c6martperiodico.TB_Campione Campione + on contratti.rete= Campione.rete and contratti.cod_fiscale= Campione.cod_fiscale + and flag_stampa=1 + SELECT DISTINCT + --DATI COMUNI + --RETE + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,CASE WHEN count(monit.id_area) OVER (PARTITION BY monit.rete,monit.cod_fiscale) = 0 + or isnull(monitInit.data_foto,getDate()) >= @dataTrimestrePRec + or monitReport.cod_fiscale is null + THEN 1 + ELSE 0 + END AS NoMonitoraggio + ,'Diagnosi' as descrizioneDiagnosi +--INIZIO +-- PER FORZARE LA STAMPA DEL REPORT DI DIAGNOSI A PRESCINDERE DAL TIPO DI CONTRATTO +-- E DAL VALORE PRESENTE NEL FLAG DI FREQUENZA DIAGNOSI, E' NECESSARIO +-- ASTERISCARE LE RIGHE SEGUENTI: + ,CASE + WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 5 + ELSE -1 + END AS idModelloDiagnosi + ,CASE + WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 1 + ELSE -1 + END AS idReportDiagnosi +-- E DISASTERISCARE LE RIGHE SEGUENTI: + --,5 as idModelloDiagnosi + --,1 as idReportDiagnosi +--FINE + ,'Monitoraggio' as descrizioneMonitoraggio + ,4 as idReportMonitoraggio--4 +-- ,13 as idModelloMonitoraggio + ,CASE isnull(tip_contratto,0) + WHEN 0 THEN 12--12 + WHEN 1 THEN 12--12 + WHEN 2 THEN 13--13 + END AS idModelloMonitoraggio + --************************************************* + ,0 AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFMonitoraggio + FROM [C6MartPeriodico].contrattoSEI contratti + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF +--left join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --modificata da Valerio 12 marzo 2012 + --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6martperiodico.monitoraggio_attuale monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + left join c6martperiodico.monitoraggio_iniziale monitInit + on patrimonioBF.rete = monitInit.rete + and patrimonioBF.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport + on patrimonioBF.rete = monitReport.rete + and patrimonioBF.cod_fiscale = monitReport.cod_fiscale + inner join c6martperiodico.TB_Campione Campione + on contratti.rete= Campione.rete and contratti.cod_fiscale= Campione.cod_fiscale + and flag_stampa=1 + WHERE 1=1 and contratti.Cod_Fiscale in + (select Cod_Fiscale from #ct) + update t set flag_stampa=2 + from c6martperiodico.TB_Campione t where cod_fiscale in (select Cod_Fiscale from #ct) +-- DA ELIMINARE .... IL CAMPIONE DEVE ESSERE INSERITO E GESTITO NELLA TABELLA c6martperiodico.TB_CAMPIONE + --and contratti.rete+contratti.cod_fiscale in + --( + --select rete+cod_fiscale from c6martperiodico.TB_CAMPIONE + --) +--and contratti.rete+contratti.cod_fiscale in +--( +--'FGSPLSN31B26E648J', +--'FVSNPTR31L14B402B', +--'FBRGFBA61P09B639N' +--) +--insert into c6martperiodico.TB_Campione +--values ('F','RZUGTN30M07C351I',1) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_ONDEMAND_OPT_EN.obs.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_ONDEMAND_OPT_EN.obs.sql new file mode 100644 index 00000000..3923fb2f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_ONDEMAND_OPT_EN.obs.sql @@ -0,0 +1,61 @@ +CREATE PROCEDURE [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_QRM_ONDEMAND_OPT_EN.obs] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio + into #result + FROM wh.Maledetti Maledetti + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale +---- inner join c6martperiodico.TB_Campione_ONDEMAND Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale +---- and flag_stampa=1 + WHERE 1=1 +and codiceFiscale in ( +'LCRTMS53A29A271R' +) +---- +---- update t set flag_stampa=2 +---- from c6martperiodico.TB_Campione_ONDEMAND t where cod_fiscale in (select CodiceFiscale from #result) +---- +select * from #result +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_SEI_GB.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_SEI_GB.sql new file mode 100644 index 00000000..c4b87c5c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_SEI_GB.sql @@ -0,0 +1,86 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_SEI_GB] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) = c6martperiodico.gettrimestre(getDate(),0); + WITH WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman <> '' and dttrim = @dtrim + ) + SELECT TOP (@volThreads) + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] + ,Maledetti.[tip_contratto] + ,Maledetti.[NomeRete] + ,Maledetti.[Agente] + ,Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente] + ,Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente] + ,Maledetti.[CittaAgente] + ,Maledetti.[TelefonoAgente] + ,Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFMonitoraggio + ,CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' + THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp' + ,CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde' + ,CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg' + ,CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + ,scaduto + FROM + wh.Maledetti Maledetti + inner join c6martperiodico.TB_Campione_GB Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + left outer join WSEIAN_1 wse on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE 1=1 + and flag_stampa=1 + and tip_contratto<>3 + ORDER BY + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] + ,Maledetti.[tip_contratto]; +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_luca.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_luca.sql new file mode 100644 index 00000000..43cdc7d8 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_luca.sql @@ -0,0 +1,89 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_luca] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + set @dtrim = '20201231' + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + --inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + --left join [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR] PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + --left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + WHERE 1=1 + and rank=1 + and flag_stampa=1 + update t set flag_stampa=2 + from c6martperiodico.TB_Campione t where cod_fiscale in (select CodiceFiscale from #result) +select * from #result +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano.sql new file mode 100644 index 00000000..d0c1fc76 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano.sql @@ -0,0 +1,88 @@ +--[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano] 10 +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + --set @dtrim = '20180630' + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE 1=1 + and rank=1 + and codiceFiscale in ( +'TMPFDN42P05B648Q' + ) +select * from #result +END +--exec [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano] 1000 \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano_PROVAPROF.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano_PROVAPROF.sql new file mode 100644 index 00000000..83adf101 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano_PROVAPROF.sql @@ -0,0 +1,89 @@ +--[C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano] 10 +create procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Adriano_PROVAPROF] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + --set @dtrim = select c6martperiodico.gettrimestre(getDate(),0) + set @dtrim = '20180531' + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +--,Maledetti.[idModelloDiagnosi] +,5 as idModelloDiagnosi +--,Maledetti.[idReportDiagnosi] +,1 as idReportDiagnosi +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + --CASE + -- WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + -- ELSE wse.FLGPROF + --END as 'FLGPROF' + 'S' as FLGPROF + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE 1=1 +and codiceFiscale in ( +'BDCGNN45T31H223V' +) +select * from #result +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_EN.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_EN.sql new file mode 100644 index 00000000..263e44d8 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_EN.sql @@ -0,0 +1,98 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_EN] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE 1=1 + and rank=1 + and codiceFiscale in ( +'BZZDNL44P18G927I', --con /rend + --'FRRFBA63P19D704L' -- sostituisce TC TMSRRT59R13L967T +'TRNLRT63C18L826X', -- on page 16 black spot isn’t aligned on chart of chapter “Piani d'Accumulo” +--'TTVNNA39S64H935H', +'STTLNZ56R58L781G' --nota sovrascrive linea rosso, perchè spazio sotto tabella non disponibile +--------'02477630582' --suore problema con sezione Dettaglio Prodotti +--, --suore: mancano progetti delle are Inv e Ris +--'GRSRRT58A28E379O', --- PL_S85RendimentoPortafoglioCono Ris Default orizzonte_mesi=0 +--'GSNMDL32E57I470S', --- PL_S85RendimentoPortafoglioCono Ris Default orizzonte_mesi=0, ma non monitorato +--'TMSRRT59R13L967T', --per nota spazio disponibile sotto tabella +--'CSLLFA49H25F004M', +--'MTTGLG26T01F205L' +--'MRTVNT41H17C740W', +--'DNDGNN63S43A246B' + ) +select * from #result +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca.sql new file mode 100644 index 00000000..64cab292 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca.sql @@ -0,0 +1,105 @@ +-- [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca] 10 +CREATE PROCEDURE [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CAMPIONE_onDemand_Luca] +@volThreads int = 10000 +WITH EXEC AS CALLER +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) + --set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + set @dtrim = '20200630' + SELECT * INTO #WSEIAN_1 + FROM + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, 1 as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman <> '' and dttrim = @dtrim + )X + SELECT top(@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] +,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] +,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] +,Maledetti.[NomeCliente] +,Maledetti.[ProfiloIsAct] +,Maledetti.[PatrimonioNonRappresentabile] +,Maledetti.[PartiteViaggiantiDisinv] +,Maledetti.[PartiteViaggiantiInv] +,Maledetti.[ContoCorrente] +,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +,Maledetti.[RisorseNonAssociate] +,Maledetti.[Patrimonioaltroctv] +,Maledetti.[Patrimonioimmobiliarectv] +,Maledetti.[PatrimonioTerzictv] +,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] +,Maledetti.[PatrimonioTerziContoCorrente] +,Maledetti.[Patrimoniobancafideuramctv] +,Maledetti.[Patrimoniocomplessivototalectv] +,Maledetti.[NumeroIntermediari] +,Maledetti.[CodiceContratto] +,Maledetti.[tip_contratto] +,Maledetti.[contrattoold] +,Maledetti.[NoMonitoraggio] +,Maledetti.[descrizioneDiagnosi] +,Maledetti.[idModelloDiagnosi] +,Maledetti.[idReportDiagnosi] +--,5 as [idModelloDiagnosi] +--,1 as [idReportDiagnosi] +,Maledetti.[descrizioneMonitoraggio] +,Maledetti.[idReportMonitoraggio] +,Maledetti.[idModelloMonitoraggio] +,Maledetti.[AdesioneSuccessivaAvanzato] +,Maledetti.[VaRRisorseNonAssociate] +,Maledetti.[CoperturaRisorseNonAssociate] +,Maledetti.[VaRTotaleRisorseFinanziarie] +,Maledetti.[CoperturaTotaleRisorseFinanziarie] +,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) + AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + into #result + FROM wh.Maledetti Maledetti + left outer join #WSEIAN_1 wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE 1=1 + and rank=1 + --and codiceFiscale = '02477630582'-- 'BTTMRS67A69F839N'-- + --and codiceFiscale = '80002590711' -- HA 4+4 CON PROTEZIONE ED E' SEI PRIVATE + --and codiceFiscale in ('BBNLSN51E27D612T') --HA INTERFUND CON PROTEZIONE ED E' SEI + --and codiceFiscale in ('BCCFNC79H62F205H') --HA FONDITALIA CON PROTEZIONE ED E' SEI + --and codiceFiscale in ('CHTDRA58S17D969J') --HA 4+4 CON PROTEZIONE ED E' SEI PRIVATE + --and codiceFiscale in ('MRNNMR31D50D969T') --HA 4+4 CON PROTEZIONE ED E' SEI PRIVATE + --and codiceFiscale in ('TZZMGB41H57F241X') --HA 4+4 CON PROTEZIONE ED E' SEI + --and codiceFiscale in ('BCCRRT43T09H449J') -- HA INTERFUND E FONDITALIA + --and codiceFiscale in ('STTLNZ56R58L781G') --NON HA PRODOTTI CON PROTEZIONE + --and codiceFiscale in ('CRLSRG45M29A271V') --NON HA PRODOTTI CON PROTEZIONE + --and codiceFiscale in ('80060810589') --NON HA PRODOTTI CON PROTEZIONE + --and codiceFiscale in ('SRRGMR39P04Z315W') --NON HA PRODOTTI CON PROTEZIONE + and codiceFiscale in ( +--'PSSPND83R64Z604J', +--'PSSPTR59R30L400E', +'CRLFNC41S11A561R' + ) +select * from #result +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO.sql new file mode 100644 index 00000000..7c5558e7 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO.sql @@ -0,0 +1,126 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO] (@volThreads int=99999) +AS +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_01.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_01.sql new file mode 100644 index 00000000..9881d9d3 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_01.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_01] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int = 1 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_02.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_02.sql new file mode 100644 index 00000000..7184044b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_02.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_02] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int = 2 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_03.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_03.sql new file mode 100644 index 00000000..9554e2c5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_03.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_03] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int = 3 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_04.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_04.sql new file mode 100644 index 00000000..ab0c0097 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_04.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_04] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int = 4 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_05.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_05.sql new file mode 100644 index 00000000..1910531d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_05.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_05] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int = 5 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_06.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_06.sql new file mode 100644 index 00000000..534c5c47 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_06.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_06] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int = 6 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_07.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_07.sql new file mode 100644 index 00000000..9c882e0d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_07.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_07] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int = 7 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_08.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_08.sql new file mode 100644 index 00000000..06070082 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_08.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_08] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int = 8 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_09.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_09.sql new file mode 100644 index 00000000..785e0487 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_09.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_09] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int = 9 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_1.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_1.sql new file mode 100644 index 00000000..1e07ede4 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_1.sql @@ -0,0 +1,139 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_1] (@volThreads int=99999) +AS +Declare @ID_PARALLEL int = 1 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_10.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_10.sql new file mode 100644 index 00000000..3f29ee53 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_10.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_10] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =10 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_11.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_11.sql new file mode 100644 index 00000000..b13514af --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_11.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_11] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =11 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_12.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_12.sql new file mode 100644 index 00000000..ad17feef --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_12.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_12] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =12 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_13.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_13.sql new file mode 100644 index 00000000..2c8a25ad --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_13.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_13] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =13 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_14.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_14.sql new file mode 100644 index 00000000..7ddb02a0 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_14.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_14] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =14 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_15.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_15.sql new file mode 100644 index 00000000..7ea96356 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_15.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_15] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =15 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_16.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_16.sql new file mode 100644 index 00000000..54b020a3 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_16.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_16] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =16 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_17.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_17.sql new file mode 100644 index 00000000..3203bb80 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_17.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_17] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =17 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_18.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_18.sql new file mode 100644 index 00000000..c3a3d8ad --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_18.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_18] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =18 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_19.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_19.sql new file mode 100644 index 00000000..c12f917a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_19.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_19] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =19 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_2.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_2.sql new file mode 100644 index 00000000..e8ae34ac --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_2.sql @@ -0,0 +1,140 @@ +CREATE +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_2] (@volThreads int=99999) +AS +Declare @ID_PARALLEL int = 2 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_20.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_20.sql new file mode 100644 index 00000000..6a14cf24 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_20.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_20] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =20 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_21.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_21.sql new file mode 100644 index 00000000..5ce14a33 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_21.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_21] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =21 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_22.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_22.sql new file mode 100644 index 00000000..601fda8d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_22.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_22] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =22 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_23.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_23.sql new file mode 100644 index 00000000..180e21c0 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_23.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_23] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =23 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_24.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_24.sql new file mode 100644 index 00000000..b65b363a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_24.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_24] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =24 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_25.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_25.sql new file mode 100644 index 00000000..7ccbb053 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_25.sql @@ -0,0 +1,141 @@ +Create +--alter +procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_25] (@volThreads int = 99999) +AS +Declare @ID_PARALLEL int =25 +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = cdt.CODICEFISCALE and par.Rete = cdt.Rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab --and + --scaduto = 0 + and tip_contratto<>3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + join C6MartPeriodico.TRIMESTRALE_RUN_MASS_PARALLEL par on par.ID_PARALLEL = @ID_PARALLEL and par.CODICEFISCALE = b.CODICEFISCALE and par.Rete = b.Rete + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_DA.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_DA.sql new file mode 100644 index 00000000..661a9c8a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_DA.sql @@ -0,0 +1,124 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_CRUSCOTTO_DA] (@volThreads int=99999) +AS +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +update C6MartPeriodico.CRUSCOTTOSWITCH set dtstamp = getdate() where elab = 1 +IF @@ROWCOUNT = 1 +BEGIN + declare @dtstampe as datetime + set @dtstampe = getdate() + declare @conta as int + declare @elab as int + declare @dataTrimestre as datetime + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set elab = 1 + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + where elab = 3 and datediff(minute, dtstamp, @dtstampe)>5 and datediff(minute, dtstamp, @dtstampe)<25 + set @elab = 0--DA ELABORARE PRIORITA ALTA + select @conta = count(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab = @elab + if(@conta=0) + BEGIN + set @elab = 1--DA ELABORARE PRIORITA MEDIA + select @conta = count(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab = @elab + END + if(@conta=0) + BEGIN + set @elab = 2--DA ELABORARE + select @conta = count(*) from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab = @elab + END + SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) + SELECT distinct TOP (@volThreads) Maledetti.[Rete],Maledetti.[NomeRete],Maledetti.[Agente],Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente],Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente],Maledetti.[CittaAgente],Maledetti.[TelefonoAgente],Maledetti.[CodiceFiscale],Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[tip_contratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = cdt.codicefiscale AND ftp.rete = cdt.Rete),0) AS IdReportPDFMonitoraggio, + CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp', + --wse.flgprlrde as 'flagprlrde', + CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde', + CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg', + CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF', + scaduto as scaduto + into #result + FROM wh.Maledetti Maledetti +--EN20170712: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete +--EN20170712: end + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cdt on cdt.codicefiscale = Maledetti.i_codicefiscale and cdt.rete = Maledetti.rete + left join C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR PDFGENERATOR on PDFGENERATOR.rete = Maledetti.i_rete and PDFGENERATOR.codicefiscale = Maledetti.i_codicefiscale + left join C6MartPeriodico.tb_SegnalazioniDataQuality Quality on Quality.rete = Maledetti.i_rete and Quality.codicefiscale = Maledetti.i_codicefiscale + left join [C6StampeCentralizzate].[C6MartPeriodico].ExcludedList bl on bl.codicefiscale = Maledetti.i_codicefiscale and bl.Rete = Maledetti.i_rete + where cdt.elab = @elab and scaduto = 0 and tip_contratto=3 + -- FerAcu 20241106 per non stamparte i casi in BL che creano problemi in fase di ZIPPING + and bl.codicefiscale is null + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set + dtstamp = @dtstampe + ,elab = case + when a.codicefiscale is null then -1 + else 3 + end + ,tipoCliente = a.TIP_CONTRATTO + ,isDiagnosi = a.IDMODELLODIAGNOSI + from #result a + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI b + on a.codicefiscale = b.codicefiscale and a.rete = b.rete + select * from #result +END +COMMIT TRANSACTION +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti.sql new file mode 100644 index 00000000..c0653fab --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti.sql @@ -0,0 +1,212 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti] +(@volThreads int) +AS +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +declare @dataTrimestre as datetime +SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) +----EN20170712: begin +-- ;with WSEIAN_1 as +-- ( +-- select codfis, rete, flagnqp, flgprlrde, FLAGPG, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank +-- from [C6StagingPeriodico].[WSEIAN] +-- WHERE codman = '' +-- UNION ALL +-- select 'FF@'+ codman as codfis, rete, 'N' as flagnqp, null as flgprlrde, null asFLAGPG, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank +-- from [C6StagingPeriodico].[WSEIAN] +-- WHERE codman <> '' +-- ) +----EN20170712: end +--EN20171024: begin + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) +--EN20171024: end +SELECT DISTINCT TOP(@volThreads) + --DATI COMUNI + --RETE + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --*********************************************************************************************** + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + --***************************************************************************************************** + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,0 AS NoMonitoraggio + ,'Diagnosi' as descrizioneDiagnosi + ,-1 idModelloDiagnosi + ,-1 AS idReportDiagnosi + ,'Monitoraggio' as descrizioneMonitoraggio + ,4 as idReportMonitoraggio + ,14 AS idModelloMonitoraggio + --************************************************* + ,0 AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFMonitoraggio +--EN20170712: begin + ,CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp' + --wse.flgprlrde as 'flagprlrde', + ,CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde' + ,CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg' +--EN20170712: end +--EN20171024: begin + ,CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' , +--EN20171024: end +SCADUTO + INTO #Maledetti + FROM [C6MartPeriodico].contrattoSEI contratti + --C6MartPeriodico.vcontrattipergenerazionereport contratti +--EN20170716: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = contratti.Cod_Fiscale and wse.rete = contratti.rete +--EN20170716: end + INNER JOIN (SELECT COD_FISCALE,RETE FROM [C6MartPeriodico].vPatrimoniobfAggregato + WHERE ( CTV + PatrimonioNonAssociato + ContoCorrente + PatrimonioSenzaCC) = 0 + and PartiteViaggiantiDisinv > 0 + UNION + SELECT PV1.COD_FISCALE,PV1.RETE FROM C6MartPeriodico.PARTITE_VIAGGIANTI PV1 + LEFT JOIN [C6MartPeriodico].vPatrimoniobfAggregato BFA + ON BFA.COD_FISCALE = PV1.COD_FISCALE AND BFA.RETE = PV1.RETE + WHERE BFA.COD_FISCALE IS NULL) PV + ON contratti.COD_FISCALE = PV.COD_FISCALE AND contratti.RETE = PV.RETE + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + --inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + LEFT join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + left join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6martperiodico.monitoraggio_attuale monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + left join c6martperiodico.monitoraggio_iniziale monitInit + on patrimonioBF.rete = monitInit.rete + and patrimonioBF.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport + on patrimonioBF.rete = monitReport.rete + and patrimonioBF.cod_fiscale = monitReport.cod_fiscale + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI CRUS + on contratti.rete = CRUS.rete + and contratti.cod_fiscale = CRUS.codicefiscale + WHERE 1=1 + and CRUS.elab in (0,1,2) + and mifid.scaduto = 0 + and contratti.cod_fiscale+contratti.rete not in(SELECT codicefiscale+rete FROM [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR]) + and contratti.cod_fiscale+contratti.rete not in(SELECT codicefiscale+rete FROM C6MartPeriodico.tb_SegnalazioniDataQuality) +update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +set +dtstamp = getdate() +,elab = 3 +,tipoCliente = m.TIP_CONTRATTO +,isDiagnosi = m.IDMODELLODIAGNOSI +from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI cru +inner join #Maledetti m + on cru.codicefiscale = m.codicefiscale + and cru.rete = m.rete +where elab in (0,1,2) +select * from #Maledetti +END +COMMIT TRANSACTION \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_CAMPIONE.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_CAMPIONE.sql new file mode 100644 index 00000000..6b91da69 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_CAMPIONE.sql @@ -0,0 +1,202 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_CAMPIONE] +(@volThreads int = 10000) +AS +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +declare @dataTrimestre as datetime +SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) +----EN20170712: begin +-- ;with WSEIAN_1 as +-- ( +-- select codfis, rete, flagnqp, flgprlrde, FLAGPG, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank +-- from [C6StagingPeriodico].[WSEIAN] +-- WHERE codman = '' +-- UNION ALL +-- select 'FF@'+ codman as codfis, rete, 'N' as flagnqp, null as flgprlrde, null asFLAGPG, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank +-- from [C6StagingPeriodico].[WSEIAN] +-- WHERE codman <> '' +-- ) +----EN20170712: end +--EN20171024: begin + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN2] + WHERE codman <> '' + ) +--EN20171024: end +SELECT DISTINCT TOP(@volThreads) + --DATI COMUNI + --RETE + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --*********************************************************************************************** + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + --***************************************************************************************************** + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,0 AS NoMonitoraggio + ,'Diagnosi' as descrizioneDiagnosi + ,-1 idModelloDiagnosi + ,-1 AS idReportDiagnosi + ,'Monitoraggio' as descrizioneMonitoraggio + ,4 as idReportMonitoraggio + ,14 AS idModelloMonitoraggio + --************************************************* + ,0 AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFMonitoraggio +--EN20170712: begin + ,CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp' + --wse.flgprlrde as 'flagprlrde', + ,CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde' + ,CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg' +--EN20170712: end +--EN20171024: begin + ,CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' +--EN20171024: end + INTO #Maledetti + FROM [C6MartPeriodico].contrattoSEI contratti + --C6MartPeriodico.vcontrattipergenerazionereport contratti +--EN20170716: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = contratti.Cod_Fiscale and wse.rete = contratti.rete +--EN20170716: end + INNER JOIN (SELECT COD_FISCALE,RETE FROM [C6MartPeriodico].vPatrimoniobfAggregato + WHERE ( CTV + PatrimonioNonAssociato + ContoCorrente + PatrimonioSenzaCC) = 0 + and PartiteViaggiantiDisinv > 0 + UNION + SELECT PV1.COD_FISCALE,PV1.RETE FROM C6MartPeriodico.PARTITE_VIAGGIANTI PV1 + LEFT JOIN [C6MartPeriodico].vPatrimoniobfAggregato BFA + ON BFA.COD_FISCALE = PV1.COD_FISCALE AND BFA.RETE = PV1.RETE + WHERE BFA.COD_FISCALE IS NULL) PV + ON contratti.COD_FISCALE = PV.COD_FISCALE AND contratti.RETE = PV.RETE + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + --inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + LEFT join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + left join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6martperiodico.monitoraggio_attuale monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + left join c6martperiodico.monitoraggio_iniziale monitInit + on patrimonioBF.rete = monitInit.rete + and patrimonioBF.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport + on patrimonioBF.rete = monitReport.rete + and patrimonioBF.cod_fiscale = monitReport.cod_fiscale + inner join c6martperiodico.TB_Campione CRUS + on contratti.rete = CRUS.rete + and contratti.cod_fiscale = CRUS.cod_fiscale + WHERE 1=1 + -- and CRUS.elab in (0,1,2) + and mifid.scaduto = 0 + and contratti.cod_fiscale+contratti.rete not in(SELECT codicefiscale+rete FROM [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR]) + and contratti.cod_fiscale+contratti.rete not in(SELECT codicefiscale+rete FROM C6MartPeriodico.tb_SegnalazioniDataQuality) + update t set flag_stampa=2 + from c6martperiodico.TB_Campione t where cod_fiscale in (select CodiceFiscale from #Maledetti) +select * from #Maledetti +END +COMMIT TRANSACTION \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano.sql new file mode 100644 index 00000000..38d248d2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano.sql @@ -0,0 +1,202 @@ +-- exec [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano] 10 +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_PartiteViaggianti_OnDemand_Adriano] +(@volThreads int) +AS +BEGIN SET TRANSACTION ISOLATION LEVEL READ COMMITTED +BEGIN TRANSACTION +declare @dataTrimestre as datetime +SELECT @dataTrimestre = c6martperiodico.gettrimestre2(getdate(),0) +----EN20170712: begin +-- ;with WSEIAN_1 as +-- ( +-- select codfis, rete, flagnqp, flgprlrde, FLAGPG, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank +-- from [C6StagingPeriodico].[WSEIAN] +-- WHERE codman = '' +-- UNION ALL +-- select 'FF@'+ codman as codfis, rete, 'N' as flagnqp, null as flgprlrde, null asFLAGPG, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank +-- from [C6StagingPeriodico].[WSEIAN] +-- WHERE codman <> '' +-- ) +----EN20170712: end +--EN20171024: begin + ;with WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codfis, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman = '' + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim, row_number() over( partition by codman, rete order by dttrim desc) as rank + from [C6StagingPeriodico].[WSEIAN] + WHERE codman <> '' + ) +--EN20171024: end +SELECT DISTINCT TOP(@volThreads) + --DATI COMUNI + --RETE + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --*********************************************************************************************** + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + --***************************************************************************************************** + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,0 AS NoMonitoraggio + ,'Diagnosi' as descrizioneDiagnosi + ,-1 idModelloDiagnosi + ,-1 AS idReportDiagnosi + ,'Monitoraggio' as descrizioneMonitoraggio + ,4 as idReportMonitoraggio + ,14 AS idModelloMonitoraggio + --************************************************* + ,0 AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFMonitoraggio +--EN20170712: begin + ,CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp' + --wse.flgprlrde as 'flagprlrde', + ,CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde' + ,CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg' +--EN20170712: end +--EN20171024: begin + ,CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' +--EN20171024: end + INTO #Maledetti + FROM [C6MartPeriodico].contrattoSEI contratti + --C6MartPeriodico.vcontrattipergenerazionereport contratti +--EN20170716: begin + left outer join (select * from WSEIAN_1 where rank=1) wse + on wse.codfis = contratti.Cod_Fiscale and wse.rete = contratti.rete +--EN20170716: end + INNER JOIN (SELECT COD_FISCALE,RETE FROM [C6MartPeriodico].vPatrimoniobfAggregato + WHERE ( CTV + PatrimonioNonAssociato + ContoCorrente + PatrimonioSenzaCC) = 0 + and PartiteViaggiantiDisinv > 0 + UNION + SELECT PV1.COD_FISCALE,PV1.RETE FROM C6MartPeriodico.PARTITE_VIAGGIANTI PV1 + LEFT JOIN [C6MartPeriodico].vPatrimoniobfAggregato BFA + ON BFA.COD_FISCALE = PV1.COD_FISCALE AND BFA.RETE = PV1.RETE + WHERE BFA.COD_FISCALE IS NULL) PV + ON contratti.COD_FISCALE = PV.COD_FISCALE AND contratti.RETE = PV.RETE + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + --inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + LEFT join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + left join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6martperiodico.monitoraggio_attuale monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + left join c6martperiodico.monitoraggio_iniziale monitInit + on patrimonioBF.rete = monitInit.rete + and patrimonioBF.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport + on patrimonioBF.rete = monitReport.rete + and patrimonioBF.cod_fiscale = monitReport.cod_fiscale + inner join C6MartPeriodico.CRUSCOTTO_CONTRATTISEI CRUS + on contratti.rete = CRUS.rete + and contratti.cod_fiscale = CRUS.codicefiscale + WHERE 1=1 + --and CRUS.elab in (0,1,2) + and mifid.scaduto = 0 + and contratti.cod_fiscale+contratti.rete not in(SELECT codicefiscale+rete FROM [C6MartPeriodico].[CRUSCOTTO_SCARTI_PDFGENERATOR]) + and contratti.cod_fiscale+contratti.rete not in(SELECT codicefiscale+rete FROM C6MartPeriodico.tb_SegnalazioniDataQuality) + and contratti.cod_fiscale in ('VNCLNI44T60G388L') +select * from #Maledetti +END +COMMIT TRANSACTION \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE.sql new file mode 100644 index 00000000..0255ad73 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE.sql @@ -0,0 +1,55 @@ +--[C6MartPeriodico].[GESTIONE_SELECT_REPORTS_ERRATACORRIGE] +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_REPORTS_ERRATACORRIGE] +as +begin + select + b.Rete, + b.CodiceFiscale, + b.IdReport, + b.TipoReport, + b.DataGenerazione, + b.DataInvio, + b.DataInvioRistampa, + b.FlagInvio, + b.NomeFile, + b.numeroPagine, + b.ID_ELAB, + b.id_Fk_zip, + b.Definitivo, + b.CodiceContratto, + b.identityReport, + convert(varchar(10), IdReport) + '_' + NomeFile + '.pdf' as nomeFileReportGenerato + from [C6MartPeriodico].[clienti_brochure] a + inner join C6MartPeriodico.Gestione_PDF_FTP b + on a.rete = b.rete + and a.cod_fiscale = b.codicefiscale + -- TEST + --create table #clienti_brochure ( + --[rete] [char](1), + --[cod_fiscale] [varchar](16)) + --insert into #clienti_brochure + --select 'F', '85005130159' union + --select 'S', '03844111009' + --select + -- b.Rete, + -- b.CodiceFiscale, + -- b.IdReport, + -- b.TipoReport, + -- b.DataGenerazione, + -- b.DataInvio, + -- b.DataInvioRistampa, + -- b.FlagInvio, + -- b.NomeFile, + -- b.numeroPagine, + -- b.ID_ELAB, + -- b.id_Fk_zip, + -- b.Definitivo, + -- b.CodiceContratto, + -- b.identityReport, + -- convert(varchar(10), IdReport) + '_' + NomeFile + '.pdf' as nomeFileReportGenerato + ----from [C6MartPeriodico].[clienti_brochure] a + --from #clienti_brochure a + -- inner join C6MartPeriodico.Gestione_PDF_FTP b + -- on a.rete = b.rete + -- and a.cod_fiscale = b.codicefiscale +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE_test.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE_test.sql new file mode 100644 index 00000000..d7b09913 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_REPORTS_ERRATACORRIGE_test.sql @@ -0,0 +1,56 @@ +--[C6MartPeriodico].[GESTIONE_SELECT_REPORTS_ERRATACORRIGE] +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_REPORTS_ERRATACORRIGE_test] +as +begin + select + b.Rete, + b.CodiceFiscale, + b.IdReport, + b.TipoReport, + b.DataGenerazione, + b.DataInvio, + b.DataInvioRistampa, + b.FlagInvio, + b.NomeFile, + b.numeroPagine, + b.ID_ELAB, + b.id_Fk_zip, + b.Definitivo, + b.CodiceContratto, + b.identityReport, + convert(varchar(10), IdReport) + '_' + NomeFile + '.pdf' as nomeFileReportGenerato + from [C6MartPeriodico].[clienti_brochure] a + inner join C6MartPeriodico.Gestione_PDF_FTP b + on a.rete = b.rete + and a.cod_fiscale = b.codicefiscale + where b.identityreport = 91 + -- TEST + --create table #clienti_brochure ( + --[rete] [char](1), + --[cod_fiscale] [varchar](16)) + --insert into #clienti_brochure + --select 'F', '85005130159' union + --select 'S', '03844111009' + --select + -- b.Rete, + -- b.CodiceFiscale, + -- b.IdReport, + -- b.TipoReport, + -- b.DataGenerazione, + -- b.DataInvio, + -- b.DataInvioRistampa, + -- b.FlagInvio, + -- b.NomeFile, + -- b.numeroPagine, + -- b.ID_ELAB, + -- b.id_Fk_zip, + -- b.Definitivo, + -- b.CodiceContratto, + -- b.identityReport, + -- convert(varchar(10), IdReport) + '_' + NomeFile + '.pdf' as nomeFileReportGenerato + ----from [C6MartPeriodico].[clienti_brochure] a + --from #clienti_brochure a + -- inner join C6MartPeriodico.Gestione_PDF_FTP b + -- on a.rete = b.rete + -- and a.cod_fiscale = b.codicefiscale +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV.sql new file mode 100644 index 00000000..f8b48d20 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV.sql @@ -0,0 +1,64 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[GESTIONE_SELECT_S80_EVOLUZIONE_CTV] '31/12/2015' +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_EVOLUZIONE_CTV] + @datafase varchar(10) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + a.rete, + a.cod_fiscale, + @datafase as DataFase, + EXTRARENDIMENTO, + INVESTIMENTO, + PREVIDENZA, + RISERVA, + LIQUIDITA, + RisorseNonAllocate, + contocorrente, + PARTVIA_DISINV + isnull(b.importo,0) AS Partita_viaggiante, + --sum(case Upper(a.id_area) when 'CC' then 0 else a.ctv end ) as risorseFinanziarie, + a.CTV + isnull(b.importo,0)+ PARTVIA_DISINV AS Totale, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 ELSE ROUND(RA.VAR_PERC_PTF,2) END AS VarComplessivo, + isnull(RA.COPERTURA,0) AS Copertura, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + -- TRINGALI MODIFICARE + ra.creditrisk as RISKCLASS, + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' else null end as RiskClassString, + case when mifid.riskclass is null then 'n.a.' else null end as RiskClassMaxString +FROM + (SELECT + rete, + cod_fiscale, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) AS EXTRARENDIMENTO, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) AS INVESTIMENTO, + sum(case when Upper(id_area) IN ('PRE1', 'PRE2') then ctv else 0 end ) AS PREVIDENZA, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) AS RISERVA, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS LIQUIDITA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS RisorseNonAllocate, + sum(case Upper(id_area) when 'CC' then ctv else 0 end ) as contocorrente, + sum((isnull(PARTVIA_DISINV,0))) as PARTVIA_DISINV, + sum(CTV) as CTV + FROM + [C6MartPeriodico].PATRIMONIO_BF + GROUP BY rete, cod_fiscale) a +LEFT JOIN c6martperiodico.partite_viaggianti b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON a.RETE = MIFID.RETE + AND a.COD_FISCALE = MIFID.COD_FISCALE +INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO +LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = a.RETE + AND RA.COD_FISCALE = a.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart.sql new file mode 100644 index 00000000..ce2cb787 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart.sql @@ -0,0 +1,47 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_EVOLUZIONE_CTV_dopoMart] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT + INI.rete AS Rete, + INI.cod_fiscale AS [Codice fiscale], + convert(varchar(8), rep.DATA_INVIO, 112) AS [Data fase], + rep.ctv_ext as Extrarendimento, + rep.ctv_inv as Investimento, + rep.ctv_pre as Previdenza, + rep.ctv_ris as Riserva, + rep.ctv_liq as Liquidità, + rep.CTV_NA AS [Risorse non allocate], + rep.CTV_CC AS [Conto Corrente], + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS [Partita viaggiante], + --CTV_TOTALE + CTV_CC + CTV_NA + ISNULL(PARTITA_VIAGGIANTE,0) AS ControvaloreComplessivo --V aggiunto il cc e na per coerenza con le altre fasi + rep.CTV_TOTALE + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS [Totale CTV], --V tolto il cc e na in quanto gia conteggiati + rep.VAR_COMPLESSIVO AS [Var complessivo], +rep.VAR_COPERTURA AS [Var copertura], +rep.VAR_MAX_PROFILO AS [Var MAX profilo finanziario], +isnull(rep.RISKCLASS, 0) as RisksClass, --0 al posto di n.a. altrimenti rompeva +rep.RISKCLASSMAX AS RisksClassMax +--,case when ra.creditrisk is null then 'n.a.' else null end as RiskClassString, +-- case when mifid.riskclass is null then 'n.a.' else null end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE +-- WHERE 1=1 +-- +-- and INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) +-- and ISNULL(DATA_INVIO,cast('29991231' as datetime))<'20110331' +-- +-- AND rep.rete is not null +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_mariano.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_mariano.sql new file mode 100644 index 00000000..1ad98401 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_CU_mariano.sql @@ -0,0 +1,230 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_FASE2_CU_mariano] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @DataFase datetime +DECLARE @DataFineAvanzato datetime +SET @DataFase = CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) --'20130930' +SET @DataFineAvanzato = getdate() --'20130731' +insert into [CONSUNI].ConsulenzaUnica.dbo.REP_S80_EVOL_STAMPA_C6 +SELECT + A.ChiaveClientePB, + -- 20190206 + CASE + WHEN AREA IN ('SELFXY', 'SELFFO') THEN 'SELF' + ELSE UPPER(AREA) + END as AREA, + --UPPER(AREA) as AREA, + --/20190206 + CASE + WHEN AREA = 'Inv' THEN 2 + WHEN AREA = 'Pre' THEN 3 + WHEN AREA = 'Ris' THEN 4 + WHEN AREA = 'Ext' THEN 1 + WHEN AREA = 'Liq' THEN 5 + WHEN AREA = 'Na' THEN 6 + WHEN AREA = 'Cc' THEN 7 + -- 20190206 nella subquery c'è stato bisogno di differenziare l'Area Self tra XY e FO, quindi adesso bisogna gestire le aree come SELFXY e SELFFO + WHEN AREA = 'SelfXY' THEN 8 + WHEN AREA = 'SelfFO' THEN 9 + --WHEN AREA = 'Self' THEN 8 + --/20190206 + ELSE 0 + END AS ORDINE, + FASE, + @DataFase AS DATA_FASE, + CONTROVALORE, + SUM(RISORSEALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSEALLOCATE, + SUM(RISORSENONALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSENONALLOCATE, + SUM(CONTOCORRENTE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS CONTOCORRENTE, + SUM(PVDISINV) over (partition by A.cod_fiscale,A.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + RA.COPERTURA, + MFD.PROFILO_ASS AS PROFILO, + COD_AGENTE AS AGENTE, + case + when isnull(ra.CREDITRISK,0) > 0 + then cast(ra.CREDITRISK as varchar(5)) + --else 'n.a.' + else '5' + end AS RISKCLASS, + MFD.RISKCLASS AS RISKCLASSMAX, + -- 20190206 in base al cod_interno (XY/FO) l'Area è restituita dalla subquery su Patrimonio_BF come SELFXY e SELFFO, una restituisce il controvalore della LineaSelf e l'altra il controvalore della LineaSelfFogli + CASE WHEN AREA IN ('SelfXY') THEN CONTROVALORE ELSE 0 END AS LineaSelf, + CASE WHEN AREA IN ('SelfFO') THEN CONTROVALORE ELSE 0 END AS LineaSelfFoglio + --CASE WHEN AREA IN ('Self') THEN CONTROVALORE ELSE 0 END AS LineaSelf + --/20190206 +FROM + (SELECT + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + -- 20190206 + CASE + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'XY' THEN 'SELFXY' + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'FO' THEN 'SELFFO' + ELSE LEFT(PBF.ID_AREA,3) + END as AREA, + --CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END AS AREA, + --/20190206 + 2 AS FASE, + SUM(CTV) AS CONTROVALORE, + sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, + max(isnull(PVIA.IMPORTO,0)) AS PVINV, + SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE PBF.CTV END) AS RISORSEALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Na') THEN PBF.CTV ELSE 0 END) AS RISORSENONALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Cc') THEN PBF.CTV ELSE 0 END) AS CONTOCORRENTE + FROM + C6MART.VCONTRATTI VC + INNER JOIN + C6MARTPERIODICO.PATRIMONIO_BF PBF + ON VC.rete = PBF.rete + AND VC.cod_Fiscale = PBF.cod_fiscale + LEFT OUTER JOIN + C6MARTPERIODICO.PARTITE_VIAGGIANTI PVIA + ON + PBF.COD_FISCALE=PVIA.COD_FISCALE + AND PBF.RETE=PVIA.RETE + INNER JOIN + ( +select codicefiscale,rete,tiporeport,flaginvio from C6MartPeriodico.gestione_pdf_ftp_bk2510_1stlotto +union +select codicefiscale,rete,tiporeport,flaginvio from C6MartPeriodico.gestione_pdf_ftp_bk2810_2ndlotto +union +select codicefiscale,rete,tiporeport,flaginvio from C6MartPeriodico.gestione_pdf_ftp_bk2910 +union +select codicefiscale,rete,tiporeport,flaginvio from C6MartPeriodico.gestione_pdf_ftp_bk2910b) PDFFTP + ON + VC.COD_FISCALE=PDFFTP.CODICEFISCALE + AND VC.RETE=PDFFTP.RETE + WHERE 1=1 + AND TIPOREPORT = 'M' + AND FLAGINVIO='S' +-- AND DEFINITIVO=1 + AND ISNULL(VC.DATA_FINEAVANZATO, '99991231') > @DataFineAvanzato + GROUP BY + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + -- 20190206 + CASE + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'XY' THEN 'SELFXY' + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'FO' THEN 'SELFFO' + ELSE LEFT(PBF.ID_AREA,3) + END + --CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END + --/20190206 + ) A + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON A.RETE = RA.RETE + AND A.COD_FISCALE = RA.COD_FISCALE + INNER JOIN C6MartPeriodico.MIFID AS MFD + ON A.RETE = MFD.RETE + AND A.COD_FISCALE = MFD.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MFD.PROFILO_ASS = CR.PROFILO + WHERE COD_AGGREG = 'COMPLESSIVO|BF' +--------------------------------------------------------------------------------------- +--SELECT +-- H.ChiaveClientePB, +---- ltrim(rtrim(H.COD_FISCALE)) as COD_FISCALE, +---- H.RETE, +-- +-- UPPER(AREA) as AREA, +-- CASE +-- WHEN AREA = 'Inv' THEN 2 +-- WHEN AREA = 'Pre' THEN 3 +-- WHEN AREA = 'Ris' THEN 4 +-- WHEN AREA = 'Ext' THEN 1 +-- WHEN AREA = 'Liq' THEN 5 +-- WHEN AREA = 'Na' THEN 6 +-- WHEN AREA = 'Cc' THEN 7 +-- ELSE 0 +-- END AS ORDINE, +-- FASE, +-- --Cast('20110930' as datetime) AS DATA_FASE, +-- --'20091231' AS DATA_FASE, +-- --CONVERT(DATETIME, C6MARTPERIODICO.GETPREVIOUSTRIMESTRE(getdate(),0), 103) AS DATA_FASE, +-- --CONVERT(varchar(8), C6MARTPERIODICO.GETPREVIOUSTRIMESTRE(getdate(),0), 112) AS DATA_FASE, +-- CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) AS DATA_FASE, +-- CONTROVALORE, +-- SUM(RISORSEALLOCATE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS RISORSEALLOCATE, +-- SUM(RISORSENONALLOCATE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS RISORSENONALLOCATE, +-- SUM(CONTOCORRENTE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS CONTOCORRENTE, +-- sum(PVDISINV) over (partition by h.cod_fiscale,H.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, +-- VAR_PERC_PTF, +-- MAX_VAR, +-- RA.COPERTURA, +-- M.PROFILO_ASS AS PROFILO, +-- COD_AGENTE AS AGENTE, +-- case +-- when isnull(ra.CREDITRISK,0) > 0 +-- then cast(ra.CREDITRISK as varchar(5)) +-- --else 'n.a.' +-- else '5' +-- end AS RISKCLASS, +-- M.RISKCLASS AS RISKCLASSMAX +--FROM +-- (SELECT +-- VC.ChiaveClientePB, +-- A.COD_FISCALE, +-- A.RETE, +-- LEFT(A.ID_AREA,3) AS AREA, +-- 2 AS FASE, +-- SUM(CTV) AS CONTROVALORE, +-- sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, +-- max(isnull(C.IMPORTO,0)) AS PVINV, +-- SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE A.CTV END) AS RISORSEALLOCATE, +-- SUM(CASE WHEN ID_AREA IN ('Na') THEN A.CTV ELSE 0 END) AS RISORSENONALLOCATE, +-- SUM(CASE WHEN ID_AREA IN ('Cc') THEN A.CTV ELSE 0 END) AS CONTOCORRENTE +-- FROM +-- C6MART.VCONTRATTI VC +-- INNER JOIN +-- C6MARTPERIODICO.PATRIMONIO_BF A +-- ON VC.rete = A.rete +-- AND VC.cod_Fiscale = A.cod_fiscale +-- LEFT OUTER JOIN +-- C6MARTPERIODICO.PARTITE_VIAGGIANTI C +-- ON +-- A.COD_FISCALE=C.COD_FISCALE +-- AND A.RETE=C.RETE +-- WHERE A.COD_FISCALE IN ( +-- SELECT DISTINCT +-- CODICEFISCALE +-- FROM +-- C6MARTPERIODICO.GESTIONE_PDF_FTP B +-- WHERE +-- FLAGINVIO='S' +-- --AND DEFINITIVO=1 -- DA SCOMMENTARE IN PRODUZIONE +-- ) +-- GROUP BY +-- VC.ChiaveClientePB, +-- A.COD_FISCALE, +-- A.RETE, +-- LEFT(A.ID_AREA,3) +-- ) H +-- LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA +-- ON H.RETE = RA.RETE +-- AND H.COD_FISCALE = RA.COD_FISCALE +-- INNER JOIN C6MartPeriodico.MIFID AS M +-- ON H.RETE = M.RETE +-- AND H.COD_FISCALE = M.COD_FISCALE +-- INNER JOIN C6MART.CONTRATTOSEI C6 +-- ON H.COD_FISCALE=C6.COD_FISCALE +-- AND H.RETE=C6.RETE +---- MODIFICARE ATRINGALI +-- AND ISNULL(C6.DATA_FINEAVANZATO, '99991231') > getdate() --'20091231' +-- INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- WHERE COD_AGGREG = 'COMPLESSIVO|BF' +-- --and H.cod_fiscale='PCTGNN45A30G276G' +--------------------------------------------------------------------------------------- +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE.sql new file mode 100644 index 00000000..0dc75d8f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE.sql @@ -0,0 +1,195 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_FASE2_SELECTIVE] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @DataFase datetime +DECLARE @DataFineAvanzato datetime +SET @DataFase = CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) --'20130930' +SET @DataFineAvanzato = getdate() --'20130731' +insert into c6martperiodico.RP_REP_S80_EVOL_STAMPA_C6_TMP +SELECT + A.ChiaveClientePB, + UPPER(AREA) as AREA, + CASE + WHEN AREA = 'Inv' THEN 2 + WHEN AREA = 'Pre' THEN 3 + WHEN AREA = 'Ris' THEN 4 + WHEN AREA = 'Ext' THEN 1 + WHEN AREA = 'Liq' THEN 5 + WHEN AREA = 'Na' THEN 6 + WHEN AREA = 'Cc' THEN 7 + WHEN AREA = 'Self' THEN 8 + ELSE 0 + END AS ORDINE, + FASE, + @DataFase AS DATA_FASE, + CONTROVALORE, + SUM(RISORSEALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSEALLOCATE, + SUM(RISORSENONALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSENONALLOCATE, + SUM(CONTOCORRENTE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS CONTOCORRENTE, + SUM(PVDISINV) over (partition by A.cod_fiscale,A.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + RA.COPERTURA, + MFD.PROFILO_ASS AS PROFILO, + COD_AGENTE AS AGENTE, + case + when isnull(ra.CREDITRISK,0) > 0 + then cast(ra.CREDITRISK as varchar(5)) + --else 'n.a.' + else '5' + end AS RISKCLASS, + MFD.RISKCLASS AS RISKCLASSMAX, + CASE WHEN AREA IN ('Self') THEN CONTROVALORE ELSE 0 END AS LineaSelf +FROM + (SELECT + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END AS AREA, + 2 AS FASE, + SUM(CTV) AS CONTROVALORE, + sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, + max(isnull(PVIA.IMPORTO,0)) AS PVINV, + SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE PBF.CTV END) AS RISORSEALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Na') THEN PBF.CTV ELSE 0 END) AS RISORSENONALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Cc') THEN PBF.CTV ELSE 0 END) AS CONTOCORRENTE + FROM + C6MART.VCONTRATTI VC + INNER JOIN + C6MARTPERIODICO.PATRIMONIO_BF PBF + ON VC.rete = PBF.rete + AND VC.cod_Fiscale = PBF.cod_fiscale + LEFT OUTER JOIN + C6MARTPERIODICO.PARTITE_VIAGGIANTI PVIA + ON + PBF.COD_FISCALE=PVIA.COD_FISCALE + AND PBF.RETE=PVIA.RETE + INNER JOIN + C6MARTPERIODICO.GESTIONE_PDF_FTP PDFFTP + ON + VC.COD_FISCALE=PDFFTP.CODICEFISCALE + AND VC.RETE=PDFFTP.RETE + WHERE 1=1 + AND TIPOREPORT = 'M' + AND FLAGINVIO='S' +-- AND DEFINITIVO=1 + AND ISNULL(VC.DATA_FINEAVANZATO, '99991231') > @DataFineAvanzato + GROUP BY + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END + ) A + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON A.RETE = RA.RETE + AND A.COD_FISCALE = RA.COD_FISCALE + INNER JOIN C6MartPeriodico.MIFID AS MFD + ON A.RETE = MFD.RETE + AND A.COD_FISCALE = MFD.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MFD.PROFILO_ASS = CR.PROFILO + WHERE COD_AGGREG = 'COMPLESSIVO|BF' +--------------------------------------------------------------------------------------- +--SELECT +-- H.ChiaveClientePB, +---- ltrim(rtrim(H.COD_FISCALE)) as COD_FISCALE, +---- H.RETE, +-- +-- UPPER(AREA) as AREA, +-- CASE +-- WHEN AREA = 'Inv' THEN 2 +-- WHEN AREA = 'Pre' THEN 3 +-- WHEN AREA = 'Ris' THEN 4 +-- WHEN AREA = 'Ext' THEN 1 +-- WHEN AREA = 'Liq' THEN 5 +-- WHEN AREA = 'Na' THEN 6 +-- WHEN AREA = 'Cc' THEN 7 +-- ELSE 0 +-- END AS ORDINE, +-- FASE, +-- --Cast('20110930' as datetime) AS DATA_FASE, +-- --'20091231' AS DATA_FASE, +-- --CONVERT(DATETIME, C6MARTPERIODICO.GETPREVIOUSTRIMESTRE(getdate(),0), 103) AS DATA_FASE, +-- --CONVERT(varchar(8), C6MARTPERIODICO.GETPREVIOUSTRIMESTRE(getdate(),0), 112) AS DATA_FASE, +-- CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) AS DATA_FASE, +-- CONTROVALORE, +-- SUM(RISORSEALLOCATE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS RISORSEALLOCATE, +-- SUM(RISORSENONALLOCATE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS RISORSENONALLOCATE, +-- SUM(CONTOCORRENTE) OVER (PARTITION BY H.COD_FISCALE,H.RETE) AS CONTOCORRENTE, +-- sum(PVDISINV) over (partition by h.cod_fiscale,H.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, +-- VAR_PERC_PTF, +-- MAX_VAR, +-- RA.COPERTURA, +-- M.PROFILO_ASS AS PROFILO, +-- COD_AGENTE AS AGENTE, +-- case +-- when isnull(ra.CREDITRISK,0) > 0 +-- then cast(ra.CREDITRISK as varchar(5)) +-- --else 'n.a.' +-- else '5' +-- end AS RISKCLASS, +-- M.RISKCLASS AS RISKCLASSMAX +--FROM +-- (SELECT +-- VC.ChiaveClientePB, +-- A.COD_FISCALE, +-- A.RETE, +-- LEFT(A.ID_AREA,3) AS AREA, +-- 2 AS FASE, +-- SUM(CTV) AS CONTROVALORE, +-- sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, +-- max(isnull(C.IMPORTO,0)) AS PVINV, +-- SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE A.CTV END) AS RISORSEALLOCATE, +-- SUM(CASE WHEN ID_AREA IN ('Na') THEN A.CTV ELSE 0 END) AS RISORSENONALLOCATE, +-- SUM(CASE WHEN ID_AREA IN ('Cc') THEN A.CTV ELSE 0 END) AS CONTOCORRENTE +-- FROM +-- C6MART.VCONTRATTI VC +-- INNER JOIN +-- C6MARTPERIODICO.PATRIMONIO_BF A +-- ON VC.rete = A.rete +-- AND VC.cod_Fiscale = A.cod_fiscale +-- LEFT OUTER JOIN +-- C6MARTPERIODICO.PARTITE_VIAGGIANTI C +-- ON +-- A.COD_FISCALE=C.COD_FISCALE +-- AND A.RETE=C.RETE +-- WHERE A.COD_FISCALE IN ( +-- SELECT DISTINCT +-- CODICEFISCALE +-- FROM +-- C6MARTPERIODICO.GESTIONE_PDF_FTP B +-- WHERE +-- FLAGINVIO='S' +-- --AND DEFINITIVO=1 -- DA SCOMMENTARE IN PRODUZIONE +-- ) +-- GROUP BY +-- VC.ChiaveClientePB, +-- A.COD_FISCALE, +-- A.RETE, +-- LEFT(A.ID_AREA,3) +-- ) H +-- LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA +-- ON H.RETE = RA.RETE +-- AND H.COD_FISCALE = RA.COD_FISCALE +-- INNER JOIN C6MartPeriodico.MIFID AS M +-- ON H.RETE = M.RETE +-- AND H.COD_FISCALE = M.COD_FISCALE +-- INNER JOIN C6MART.CONTRATTOSEI C6 +-- ON H.COD_FISCALE=C6.COD_FISCALE +-- AND H.RETE=C6.RETE +---- MODIFICARE ATRINGALI +-- AND ISNULL(C6.DATA_FINEAVANZATO, '99991231') > getdate() --'20091231' +-- INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- WHERE COD_AGGREG = 'COMPLESSIVO|BF' +-- --and H.cod_fiscale='PCTGNN45A30G276G' +--------------------------------------------------------------------------------------- +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE_FINAL.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE_FINAL.sql new file mode 100644 index 00000000..195ff5a5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_FASE2_SELECTIVE_FINAL.sql @@ -0,0 +1,12 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_FASE2_SELECTIVE_FINAL] +AS +BEGIN +SET NOCOUNT ON; +insert into Consuni.ConsulenzaUnica.dbo.REP_S80_EVOL_STAMPA_C6 +select * from c6martperiodico.RP_REP_S80_EVOL_STAMPA_C6_TMP +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_PARZIALE_FASE2_CU.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_PARZIALE_FASE2_CU.sql new file mode 100644 index 00000000..4de2b489 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_S80_PARZIALE_FASE2_CU.sql @@ -0,0 +1,100 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_S80_PARZIALE_FASE2_CU] +AS +BEGIN +SET NOCOUNT ON; +DECLARE @DataFase datetime +DECLARE @DataFineAvanzato datetime +SET @DataFase = CONVERT(DATETIME, C6MARTPERIODICO.GETTRIMESTRE2(getdate(),0), 103) --'20130930' +SET @DataFineAvanzato = getdate() --'20130731' +insert into [dbo].[REP_S80_EVOL_STAMPA_C6_PARZIALE] +SELECT + A.ChiaveClientePB, + UPPER(AREA) as AREA, + CASE + WHEN AREA = 'Inv' THEN 2 + WHEN AREA = 'Pre' THEN 3 + WHEN AREA = 'Ris' THEN 4 + WHEN AREA = 'Ext' THEN 1 + WHEN AREA = 'Liq' THEN 5 + WHEN AREA = 'Na' THEN 6 + WHEN AREA = 'Cc' THEN 7 + WHEN AREA = 'Self' THEN 8 + ELSE 0 + END AS ORDINE, + FASE, + @DataFase AS DATA_FASE, + CONTROVALORE, + SUM(RISORSEALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSEALLOCATE, + SUM(RISORSENONALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSENONALLOCATE, + SUM(CONTOCORRENTE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS CONTOCORRENTE, + SUM(PVDISINV) over (partition by A.cod_fiscale,A.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + RA.COPERTURA, + MFD.PROFILO_ASS AS PROFILO, + COD_AGENTE AS AGENTE, + case + when isnull(ra.CREDITRISK,0) > 0 + then cast(ra.CREDITRISK as varchar(5)) + --else 'n.a.' + else '5' + end AS RISKCLASS, + MFD.RISKCLASS AS RISKCLASSMAX, + CASE WHEN AREA IN ('Self') THEN CONTROVALORE ELSE 0 END AS LineaSelf +FROM + (SELECT + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END AS AREA, + 2 AS FASE, + SUM(CTV) AS CONTROVALORE, + sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, + max(isnull(PVIA.IMPORTO,0)) AS PVINV, + SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE PBF.CTV END) AS RISORSEALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Na') THEN PBF.CTV ELSE 0 END) AS RISORSENONALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Cc') THEN PBF.CTV ELSE 0 END) AS CONTOCORRENTE + FROM + C6MART.VCONTRATTI VC + INNER JOIN + C6MARTPERIODICO.PATRIMONIO_BF PBF + ON VC.rete = PBF.rete + AND VC.cod_Fiscale = PBF.cod_fiscale + LEFT OUTER JOIN + C6MARTPERIODICO.PARTITE_VIAGGIANTI PVIA + ON + PBF.COD_FISCALE=PVIA.COD_FISCALE + AND PBF.RETE=PVIA.RETE + INNER JOIN + C6MARTPERIODICO.GESTIONE_PDF_FTP PDFFTP + ON + VC.COD_FISCALE=PDFFTP.CODICEFISCALE + AND VC.RETE=PDFFTP.RETE + WHERE 1=1 + AND TIPOREPORT = 'M' + AND FLAGINVIO='S' +-- AND DEFINITIVO=1 + AND ISNULL(VC.DATA_FINEAVANZATO, '99991231') > @DataFineAvanzato + GROUP BY + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE WHEN PBF.ID_AREA = 'Self' THEN PBF.ID_AREA ELSE LEFT(PBF.ID_AREA,3) END + ) A + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON A.RETE = RA.RETE + AND A.COD_FISCALE = RA.COD_FISCALE + INNER JOIN C6MartPeriodico.MIFID AS MFD + ON A.RETE = MFD.RETE + AND A.COD_FISCALE = MFD.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MFD.PROFILO_ASS = CR.PROFILO + WHERE COD_AGGREG = 'COMPLESSIVO|BF' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_SPECIFIC_ZIP.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_SPECIFIC_ZIP.sql new file mode 100644 index 00000000..de4ca785 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_SPECIFIC_ZIP.sql @@ -0,0 +1,23 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_SPECIFIC_ZIP] +(@CARTELLA as VARCHAR(255)) +as +BEGIN + DECLARE @IdZip AS INT + SET @IdZip = -1 + DECLARE @NomeCartella AS VARCHAR(255) + Declare @NomeFile as varchar(50) + Declare @NumeroCFZip as int + SELECT @IdZip=id,@NomeCartella=NomeCartella,@NomeFile =NomeFile + FROM + C6MartPeriodico.GESTIONE_ZIP_FTP_IDX + WHERE + NomeCartella = @CARTELLA + IF @IdZip > -1 Begin + select @NumeroCFZip=count( *) + from ( + select distinct rete,codicefiscale + from c6martperiodico.GESTIONE_PDF_FTP_IDX + where id_fk_zip=@IdZip) a + end + select @IdZip IdZip,@NomeFile NomeFile,@NomeCartella NomeCartella,@NumeroCFZip NumeroCFZip +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_ZIP_DA_INVIARE.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_ZIP_DA_INVIARE.sql new file mode 100644 index 00000000..9e66e2b2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_ZIP_DA_INVIARE.sql @@ -0,0 +1,27 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_ZIP_DA_INVIARE] +@FKIDElaborazioneZip int +AS +BEGIN + SELECT +-- Rete, +-- CodiceFiscale, + id IdZip + ,NomeFile +-- , +-- TipoReport, +-- DataGenerazione, +-- DataInvio, +-- FlagInvio, +-- NomeFile SELECT * + FROM + [C6MartPeriodico].GESTIONE_ZIP_FTP + WHERE + FlagInvio = 'N' + AND DateCopyToSend IS NOT NULL + AND FKIDElaborazioneZip = @FKIDElaborazioneZip +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_ZIP_WHITELIST.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_ZIP_WHITELIST.sql new file mode 100644 index 00000000..5713baf6 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_SELECT_ZIP_WHITELIST.sql @@ -0,0 +1,22 @@ +-- ============================================= +-- Author: Hazem +-- Create date: 09/06/2010 +-- Description: Selecta white list packages +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_SELECT_ZIP_WHITELIST] +AS +BEGIN + declare @lotto as smallint + select @lotto = max(IDElaborazioneZIP) FROM C6MartPeriodico.ELABORAZIONI_ZIP WHERE DataFine IS NOT NULL + SELECT + id as IdZip, + @lotto as lotto, + nomeFile + FROM + C6MartPeriodico.GESTIONE_ZIP_FTP + WHERE + --DataInvio >= C6MartPeriodico.getTrimestre(GETDATE(),0) + --AND + --id = 998 and + fkIDElaborazioneZIP = @lotto--(SELECT max(IDElaborazioneZIP) FROM C6MartPeriodico.ELABORAZIONI_ZIP WHERE DataFine IS NOT NULL) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_S_Intermediari.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_S_Intermediari.sql new file mode 100644 index 00000000..31949d15 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_S_Intermediari.sql @@ -0,0 +1,21 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[GESTIONE_S_Intermediari] 'S','GHGRTI63T44L219D' +--[C6MartPeriodico].[GESTIONE_S_Intermediari] 'F','BGLSRG61E30L702A' +CREATE procedure [C6MartPeriodico].[GESTIONE_S_Intermediari] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceCliente varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SELECT DISTINCT INTERMEDIARIO + FROM C6MartPeriodico.PATRIMONIO_TERZI + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceCliente +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP.sql new file mode 100644 index 00000000..84b76d1d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP.sql @@ -0,0 +1,15 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_UPDATE_ELABORAZIONE_ZIP] +@IDElaborazioneZip int +AS +BEGIN + BEGIN TRY + BEGIN TRANSACTION INSERT_ELABORAZIONE_ZIP + UPDATE [C6MartPeriodico].[ELABORAZIONI_ZIP] + SET [DataFine] = GETDATE() + WHERE IDElaborazioneZip = @IDElaborazioneZip + COMMIT TRANSACTION INSERT_ELABORAZIONE_ZIP + END TRY + BEGIN CATCH + ROLLBACK TRANSACTION INSERT_ELABORAZIONE_ZIP + END CATCH +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP_20170328.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP_20170328.sql new file mode 100644 index 00000000..697f3a83 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_ELABORAZIONE_ZIP_20170328.sql @@ -0,0 +1,15 @@ +CREATE procedure [C6MartPeriodico].[GESTIONE_UPDATE_ELABORAZIONE_ZIP_20170328] +@IDElaborazioneZip int +AS +BEGIN + BEGIN TRY + BEGIN TRANSACTION INSERT_ELABORAZIONE_ZIP + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[ELABORAZIONI_ZIP] + SET [DataFine] = GETDATE() + WHERE IDElaborazioneZip = @IDElaborazioneZip + COMMIT TRANSACTION INSERT_ELABORAZIONE_ZIP + END TRY + BEGIN CATCH + ROLLBACK TRANSACTION INSERT_ELABORAZIONE_ZIP + END CATCH +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_HOST.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_HOST.sql new file mode 100644 index 00000000..27e891c2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_HOST.sql @@ -0,0 +1,13 @@ +--exec [C6Mart].[Gestione_EMAIL_Inviate] @Email_Id=7,@DataInvio='2008-11-17 18:10:43:603' +CREATE procedure [C6MartPeriodico].[GESTIONE_UPDATE_EMAIL_HOST] + @Email_Id int +AS +BEGIN + SET NOCOUNT ON; + UPDATE [C6MartPeriodico].GESTIONE_EMAIL + SET Data_Comunicazione_Host = getdate() + WHERE Email_Id = @Email_Id + RETURN @@ROWCOUNT +END +SELECT * +FROM [C6MartPeriodico].GESTIONE_EMAIL \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_INVIATE.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_INVIATE.sql new file mode 100644 index 00000000..a322fd7c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_EMAIL_INVIATE.sql @@ -0,0 +1,13 @@ +--exec [C6Mart].[Gestione_EMAIL_Inviate] @Email_Id=7,@DataInvio='2008-11-17 18:10:43:603' +CREATE procedure [C6MartPeriodico].[GESTIONE_UPDATE_EMAIL_INVIATE] + @Email_Id int, + @DataInvio datetime +AS +BEGIN + SET NOCOUNT ON; + UPDATE [C6MartPeriodico].GESTIONE_EMAIL + SET Data_Invio = @DataInvio, + Inviata = 'S' + WHERE Email_Id = @Email_Id + RETURN @@ROWCOUNT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_FTP.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_FTP.sql new file mode 100644 index 00000000..1e415e89 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_FTP.sql @@ -0,0 +1,33 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- 22/12/2008 MODIFICA PER GESTIONE RISTAMPE +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_UPDATE_FTP] + @Id INT, + @TipoReport varchar(2), + @IdZip INT +AS +BEGIN + IF @TipoReport <> 'LR' -- INVIO NORMALE + BEGIN + UPDATE [C6MartPeriodico].GESTIONE_PDF_FTP + SET + DataInvio = GetDate(), + FlagInvio = 'S', + Id_fk_Zip = @IdZip + WHERE + IdReport = @Id + END + ELSE -- INVIO DI UNA RISTAMPA. TENGO TRACCIA SOLO DELL'ULTIMA DATA DI RISTAMPA + BEGIN + UPDATE [C6MartPeriodico].GESTIONE_PDF_FTP + SET + DataInvioRistampa = GetDate(), + FlagInvio = 'S', + Id_fk_Zip = @IdZip + WHERE + IdReport = @Id + END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_ZIP.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_ZIP.sql new file mode 100644 index 00000000..489fb4f9 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_ZIP.sql @@ -0,0 +1,32 @@ +CREATE PROCEDURE [C6MartPeriodico].[GESTIONE_UPDATE_ZIP] + @Id int +AS +BEGIN +Begin try + UPDATE [C6MartPeriodico].GESTIONE_ZIP_FTP + SET + DataInvio = GetDate(), + FlagInvio = 'S' + WHERE + Id = @Id; +update t +SET + t.STATO_REPORT = 6, + t.PACCHETTO_ZIP = @Id, + t.DATA_TRANSIZIONE=GETDATE() +from C6MartPeriodico.CONTROLLO_TRIMESTRALE t +inner join C6MARTPERIODICO.GESTIONE_PDF_FTP g +on t.rete=g.rete and t.cod_fiscale = g.codicefiscale +and ID_FK_ZIP = @Id +where STATO_REPORT = 4 +update t +SET + t.[Pacchetto_Zip] = @Id, + t.DATA_TRANSIZIONE=GETDATE() +from [C6MartPeriodico].[WHITELIST_ZIP] t +inner join C6MARTPERIODICO.GESTIONE_PDF_FTP g +on t.rete=g.rete and t.cod_fiscale = g.codicefiscale + end try + begin catch + end catch +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_ZIP_COPY.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_ZIP_COPY.sql new file mode 100644 index 00000000..55e25055 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_ZIP_COPY.sql @@ -0,0 +1,39 @@ +-- [C6MartPeriodico].[GESTIONE_UPDATE_ZIP_COPY] 811 +CREATE procedure [C6MartPeriodico].[GESTIONE_UPDATE_ZIP_COPY] + @Id int +AS +BEGIN + UPDATE [C6MartPeriodico].GESTIONE_ZIP_FTP + SET + DateCopyToSend = GetDate() + WHERE + Id = @Id; +-- COLAIANNI-CONSOLI - 28.06.2011 +-- SETTA NELLA CONTROLLO_REPORT LO STATO 6 (INVIATO) +-- PER TUTTI I REPORT CHE SI TROVANO NELLO STATO 4 (STAMPATO) + --UPDATE [C6MartPeriodico].CONTROLLO_TRIMESTRALE + --SET + -- STATO_REPORT = 6, + -- PACCHETTO_ZIP = @Id, + -- DATA_TRANSIZIONE=GETDATE() + --WHERE + -- STATO_REPORT = 4 + -- AND COD_FISCALE+RETE IN + -- ( + -- SELECT CODICEFISCALE+RETE + -- FROM C6MARTPERIODICO.GESTIONE_PDF_FTP + -- WHERE ID_FK_ZIP = @id + -- ); +-- Caruso-Verdecchia 17/04/2014 +--Sostituita per time-out +update t +SET + t.STATO_REPORT = 6, + t.PACCHETTO_ZIP = @Id, + t.DATA_TRANSIZIONE=GETDATE() +from C6MartPeriodico.CONTROLLO_TRIMESTRALE t +inner join C6MARTPERIODICO.GESTIONE_PDF_FTP g +on t.rete=g.rete and t.cod_fiscale = g.codicefiscale +and ID_FK_ZIP = @Id +where STATO_REPORT = 4 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_ZIP_SENT_FTP.sql b/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_ZIP_SENT_FTP.sql new file mode 100644 index 00000000..2d81da29 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GESTIONE_UPDATE_ZIP_SENT_FTP.sql @@ -0,0 +1,32 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[GESTIONE_UPDATE_ZIP_SENT_FTP] + @Id int +AS +BEGIN + UPDATE [C6MartPeriodico].GESTIONE_ZIP_FTP + SET + DataInvio = GetDate(), + FlagInvio = 'S' + WHERE + Id = @Id +-- COLAIANNI-CONSOLI - 28.06.2011 +-- SETTA NELLA CONTROLLO_REPORT LO STATO 6 (INVIATO) +-- PER TUTTI I REPORT CHE SI TROVANO NELLO STATO 4 (STAMPATO) + UPDATE [C6MartPeriodico].CONTROLLO_TRIMESTRALE + SET + STATO_REPORT = 6, + PACCHETTO_ZIP = @Id, + DATA_TRANSIZIONE=GETDATE() + WHERE + STATO_REPORT = 4 + AND COD_FISCALE+RETE IN + ( + SELECT CODICEFISCALE+RETE + FROM C6MARTPERIODICO.GESTIONE_PDF_FTP + WHERE ID_FK_ZIP = @id + ); +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_DA.sql b/sql/storedTestbes/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_DA.sql new file mode 100644 index 00000000..66a09b52 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_DA.sql @@ -0,0 +1,85 @@ +CREATE procedure [C6MartPeriodico].[GETDATATHREADS_TRIMESTRALE_DA] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) = c6martperiodico.gettrimestre(getDate(),0); + WITH WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman <> '' and dttrim = @dtrim + ) + SELECT TOP (@volThreads) + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] + ,Maledetti.[tip_contratto] + ,Maledetti.[NomeRete] + ,Maledetti.[Agente] + ,Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente] + ,Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente] + ,Maledetti.[CittaAgente] + ,Maledetti.[TelefonoAgente] + ,Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFMonitoraggio + ,CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' + THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp' + ,CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde' + ,CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg' + ,CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + ,scaduto + FROM + wh.Maledetti Maledetti + inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + left outer join WSEIAN_1 wse on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE + Maledetti.tip_contratto=3 + and flag_stampa=1 + ORDER BY + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_DA_GB.sql b/sql/storedTestbes/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_DA_GB.sql new file mode 100644 index 00000000..6a1b6aca --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_DA_GB.sql @@ -0,0 +1,85 @@ +CREATE procedure [C6MartPeriodico].[GETDATATHREADS_TRIMESTRALE_DA_GB] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) = c6martperiodico.gettrimestre(getDate(),0); + WITH WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman <> '' and dttrim = @dtrim + ) + SELECT TOP (@volThreads) + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] + ,Maledetti.[tip_contratto] + ,Maledetti.[NomeRete] + ,Maledetti.[Agente] + ,Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente] + ,Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente] + ,Maledetti.[CittaAgente] + ,Maledetti.[TelefonoAgente] + ,Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFMonitoraggio + ,CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' + THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp' + ,CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde' + ,CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg' + ,CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + ,scaduto + FROM + wh.Maledetti Maledetti + inner join c6martperiodico.TB_Campione_GB Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + left outer join WSEIAN_1 wse on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE + Maledetti.tip_contratto=3 + and flag_stampa=1 + ORDER BY + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete]; +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_GB.sql b/sql/storedTestbes/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_GB.sql new file mode 100644 index 00000000..31fa0512 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_GB.sql @@ -0,0 +1,87 @@ +CREATE procedure [C6MartPeriodico].[GETDATATHREADS_TRIMESTRALE_GB] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) = c6martperiodico.gettrimestre(getDate(),0); + WITH WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman <> '' and dttrim = @dtrim + ) + SELECT TOP (@volThreads) + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] + ,Maledetti.[tip_contratto] + ,Maledetti.[NomeRete] + ,Maledetti.[Agente] + ,Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente] + ,Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente] + ,Maledetti.[CittaAgente] + ,Maledetti.[TelefonoAgente] + ,Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFMonitoraggio + ,CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' + THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp' + ,CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde' + ,CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg' + ,CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + ,scaduto + FROM + wh.Maledetti Maledetti + inner join c6martperiodico.TB_Campione_GB Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + left outer join WSEIAN_1 wse on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE + -- Maledetti.tip_contratto<>3 + -- and + flag_stampa=1 + ORDER BY + Maledetti.tip_contratto desc + ,Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_SEI.sql b/sql/storedTestbes/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_SEI.sql new file mode 100644 index 00000000..e8fc0656 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_SEI.sql @@ -0,0 +1,85 @@ +CREATE procedure [C6MartPeriodico].[GETDATATHREADS_TRIMESTRALE_SEI] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) = c6martperiodico.gettrimestre(getDate(),0); + WITH WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman <> '' and dttrim = @dtrim + ) + SELECT TOP (@volThreads) + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] + ,Maledetti.[tip_contratto] + ,Maledetti.[NomeRete] + ,Maledetti.[Agente] + ,Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente] + ,Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente] + ,Maledetti.[CittaAgente] + ,Maledetti.[TelefonoAgente] + ,Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFMonitoraggio + ,CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' + THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp' + ,CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde' + ,CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg' + ,CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + ,scaduto + FROM + wh.Maledetti Maledetti + inner join c6martperiodico.TB_Campione Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + left outer join WSEIAN_1 wse on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE + Maledetti.tip_contratto<>3 + and flag_stampa=1 + ORDER BY + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_SEI_GB.sql b/sql/storedTestbes/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_SEI_GB.sql new file mode 100644 index 00000000..f5c68132 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GETDATATHREADS_TRIMESTRALE_SEI_GB.sql @@ -0,0 +1,85 @@ +CREATE procedure [C6MartPeriodico].[GETDATATHREADS_TRIMESTRALE_SEI_GB] (@volThreads int = 10000) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @dtrim VARCHAR(8) = c6martperiodico.gettrimestre(getDate(),0); + WITH WSEIAN_1 as + ( + select codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman = '' and dttrim = @dtrim + UNION ALL + select 'FF@'+ codman as codfis, rete, flagnqp, flgprlrde, FLAGPG, FLGPROF, dttrim from [C6stagingPeriodico].[WSEIAN2] WHERE codman <> '' and dttrim = @dtrim + ) + SELECT TOP (@volThreads) + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete] + ,Maledetti.[tip_contratto] + ,Maledetti.[NomeRete] + ,Maledetti.[Agente] + ,Maledetti.[CognomeAgente] + ,Maledetti.[NomeAgente] + ,Maledetti.[IndirizzoAgente] + ,Maledetti.[CapAgente] + ,Maledetti.[CittaAgente] + ,Maledetti.[TelefonoAgente] + ,Maledetti.[CognomeCliente] + ,Maledetti.[NomeCliente] + ,Maledetti.[ProfiloIsAct] + ,Maledetti.[PatrimonioNonRappresentabile] + ,Maledetti.[PartiteViaggiantiDisinv] + ,Maledetti.[PartiteViaggiantiInv] + ,Maledetti.[ContoCorrente] + ,Maledetti.[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,Maledetti.[RisorseNonAssociate] + ,Maledetti.[Patrimonioaltroctv] + ,Maledetti.[Patrimonioimmobiliarectv] + ,Maledetti.[PatrimonioTerzictv] + ,Maledetti.[PatrimonioTerziCtvAlNettoContoCorrente] + ,Maledetti.[PatrimonioTerziContoCorrente] + ,Maledetti.[Patrimoniobancafideuramctv] + ,Maledetti.[Patrimoniocomplessivototalectv] + ,Maledetti.[NumeroIntermediari] + ,Maledetti.[CodiceContratto] + ,Maledetti.[contrattoold] + ,Maledetti.[NoMonitoraggio] + ,Maledetti.[descrizioneDiagnosi] + ,Maledetti.[idModelloDiagnosi] + ,Maledetti.[idReportDiagnosi] + ,Maledetti.[descrizioneMonitoraggio] + ,Maledetti.[idReportMonitoraggio] + ,Maledetti.[idModelloMonitoraggio] + ,Maledetti.[AdesioneSuccessivaAvanzato] + ,Maledetti.[VaRRisorseNonAssociate] + ,Maledetti.[CoperturaRisorseNonAssociate] + ,Maledetti.[VaRTotaleRisorseFinanziarie] + ,Maledetti.[CoperturaTotaleRisorseFinanziarie] + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' AND ftp.codicefiscale = Maledetti.codicefiscale AND ftp.rete = Maledetti.Rete),0) AS IdReportPDFMonitoraggio + ,CASE + WHEN wse.flagnqp IS NULL or wse.flagnqp ='' + THEN 'N' + ELSE wse.flagnqp + END as 'flagnqp' + ,CASE + WHEN wse.flgprlrde ='' THEN NULL + ELSE wse.flgprlrde + END as 'flagprlrde' + ,CASE + WHEN wse.FLAGPG IS NULL THEN 0 + ELSE wse.FLAGPG + END as 'flagpg' + ,CASE + WHEN wse.FLGPROF IS NULL or wse.FLGPROF ='' THEN 'N' + ELSE wse.FLGPROF + END as 'FLGPROF' + ,scaduto + FROM + wh.Maledetti Maledetti + inner join c6martperiodico.TB_Campione_GB Campione on Maledetti.rete= Campione.rete and Maledetti.i_codicefiscale= Campione.cod_fiscale + left outer join WSEIAN_1 wse on wse.codfis = Maledetti.CodICEFiscale and wse.rete = Maledetti.rete + WHERE + Maledetti.tip_contratto<>3 + and flag_stampa=1 + ORDER BY + Maledetti.[CodiceFiscale] + ,Maledetti.[Rete]; +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Genera_Cruscotto_ContrattoSei.sql b/sql/storedTestbes/C6MartPeriodico_Genera_Cruscotto_ContrattoSei.sql new file mode 100644 index 00000000..2a3a3ff8 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Genera_Cruscotto_ContrattoSei.sql @@ -0,0 +1,50 @@ +CREATE procedure [C6MartPeriodico].[Genera_Cruscotto_ContrattoSei] +AS +BEGIN +-- INSERIMNETO NELLA TABELLA [C6MartPeriodico].Cruscotto_ContrattoSei dei contratti da elaborare +-- nel processo GeneraPDF +-- ELAB 0 DA ELABORARE PRIORITA ALTA' +-- ELAB 1 DA ELABORARE PRIORITA MEDIA' +-- ELAB 2 DA ELABORARE PRIORITA NORMALE' +-- ELAB 3 IN ELABORAZIONE' +-- ELAB 4 DA NON ELABORARE' +-- ELAB 10 ELABORATO' +-- ELAB -1 SCARTO DA DATATHREAD' +-- ELAB -2 ERRORE APPLICATIVO' +-- ELAB -3 ERRORE APPLICATIVO generatorpdf' +-- ELAB < -3 ERRORE APPLICATIVO non assegnati' +-- truncate Tabella [C6MartPeriodico].Cruscotto_ContrattoSei ( Elaborazione Precendete) +-- Lista Contratti da Elaborare in Processo GeneraPDF +truncate table C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +-- truncate Tabella [C6MartPeriodico].CRUSCOTTO_SCARTI_PDFGENERATOR ( Elaborazione Precendete) +-- Tabella Degli Scarti Processi PRecedenti +truncate table C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR +-- Aggiornamento Tabella C6MartPeriodico].[CRUSCOTTOSWITCH] +-- Flag di Elaborazione Processo GeneraPDf +-- 0 = Stop esecuzione Processo +-- 1 = Ok esecuzione processo +update [C6MartPeriodico].[CRUSCOTTOSWITCH] set elab = 1 +-- Inserimenti in Tabella Cruscotto di tutti i contratti da elaborare +insert into C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +select cod_fiscale as codice_fiscale, + rete as rete , + 2 as elab, -- Flag Elaborazione + null, + null, + null as dtstamp +-- Modifica del 27/3/2017 - Staging e Mart selettivo + --from C6StagingPeriodico.APPO_CONTRATTI +from C6stagingPERIODICO.appo_contratti_v +-- Fine Modifica del 27/3/2017 - Staging e Mart selettivo +-- Aggiornamento Dei Contratti da "non elaborare" +-- Non elaborare i contratti Scartati dal Mart ( Tabella Data Quality C6MartPeriodico.tb_SegnalazioniDataQuality ) +Update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +set Elab=4 +from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI Cr inner join C6MartPeriodico.tb_SegnalazioniDataQuality Dq +on Cr.Rete=Dq.Rete and Cr.CodiceFiscale=Dq.CodiceFiscale +-- Non elaborare i contratti Scartati x Disallineamenti +--Update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +--set Elab=4 +--from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI Cr inner join dbo.disallineati2 Di +--on Cr.Rete=Di.Rete and Cr.CodiceFiscale=Di.Cod_Fiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Genera_Cruscotto_ContrattoSei_20170407.SAVE.sql b/sql/storedTestbes/C6MartPeriodico_Genera_Cruscotto_ContrattoSei_20170407.SAVE.sql new file mode 100644 index 00000000..05e8b2ab --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Genera_Cruscotto_ContrattoSei_20170407.SAVE.sql @@ -0,0 +1,47 @@ +CREATE procedure [C6MartPeriodico].[Genera_Cruscotto_ContrattoSei_20170407.SAVE] +AS +BEGIN +-- INSERIMNETO NELLA TABELLA [C6MartPeriodico].Cruscotto_ContrattoSei dei contratti da elaborare +-- nel processo GeneraPDF +-- ELAB 0 DA ELABORARE PRIORITA ALTA' +-- ELAB 1 DA ELABORARE PRIORITA MEDIA' +-- ELAB 2 DA ELABORARE PRIORITA NORMALE' +-- ELAB 3 IN ELABORAZIONE' +-- ELAB 4 DA NON ELABORARE' +-- ELAB 10 ELABORATO' +-- ELAB -1 SCARTO DA DATATHREAD' +-- ELAB -2 ERRORE APPLICATIVO' +-- ELAB -3 ERRORE APPLICATIVO generatorpdf' +-- ELAB < -3 ERRORE APPLICATIVO non assegnati' +-- truncate Tabella [C6MartPeriodico].Cruscotto_ContrattoSei ( Elaborazione Precendete) +-- Lista Contratti da Elaborare in Processo GeneraPDF +truncate table C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +-- truncate Tabella [C6MartPeriodico].CRUSCOTTO_SCARTI_PDFGENERATOR ( Elaborazione Precendete) +-- Tabella Degli Scarti Processi PRecedenti +truncate table C6MartPeriodico.CRUSCOTTO_SCARTI_PDFGENERATOR +-- Aggiornamento Tabella C6MartPeriodico].[CRUSCOTTOSWITCH] +-- Flag di Elaborazione Processo GeneraPDf +-- 0 = Stop esecuzione Processo +-- 1 = Ok esecuzione processo +update [C6MartPeriodico].[CRUSCOTTOSWITCH] set elab = 1 +-- Inserimenti in Tabella Cruscotto di tutti i contratti da elaborare +insert into C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +select cod_fiscale as codice_fiscale, + rete as rete , + 2 as elab, -- Flag Elaborazione + null, + null, + null as dtstamp +from C6StagingPeriodico.APPO_CONTRATTI +-- Aggiornamento Dei Contratti da "non elaborare" +-- Non elaborare i contratti Scartati dal Mart ( Tabella Data Quality C6MartPeriodico.tb_SegnalazioniDataQuality ) +Update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +set Elab=4 +from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI Cr inner join C6MartPeriodico.tb_SegnalazioniDataQuality Dq +on Cr.Rete=Dq.Rete and Cr.CodiceFiscale=Dq.CodiceFiscale +-- Non elaborare i contratti Scartati x Disallineamenti +--Update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +--set Elab=4 +--from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI Cr inner join dbo.disallineati2 Di +--on Cr.Rete=Di.Rete and Cr.CodiceFiscale=Di.Cod_Fiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Gestione_Bonus.sql b/sql/storedTestbes/C6MartPeriodico_Gestione_Bonus.sql new file mode 100644 index 00000000..a185546f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Gestione_Bonus.sql @@ -0,0 +1,14 @@ +--[C6MartPeriodico].[Gestione_Bonus] 'S', 'CHTDRA58S17D969J' +CREATE procedure [C6MartPeriodico].[Gestione_Bonus] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + select COD_FISCALE as CodiceFiscale + from [C6MartPeriodico].Bonus + where + RETE = @Rete + AND COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Gestione_ProdottiProtetti.sql b/sql/storedTestbes/C6MartPeriodico_Gestione_ProdottiProtetti.sql new file mode 100644 index 00000000..cdc22c42 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Gestione_ProdottiProtetti.sql @@ -0,0 +1,89 @@ +--[C6MartPeriodico].[Gestione_ProdottiProtetti] 'F', 'BBNLSN51E27D612T' +CREATE procedure [C6MartPeriodico].[Gestione_ProdottiProtetti] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +declare @isinInterfund80 varchar(20) +set @isinInterfund80 = 'LU1106988527' +BEGIN +declare @OrdineRiga int +declare @conta int +set @conta = 0 +set @OrdineRiga = 0 + -- 1 LINEA MULTIRAMO + SELECT + @CodiceFiscale as CodiceFiscale + ,'FV Sintonia Linea Protezione 85' as DescrizioneProdotto + ,COD_CONF as Contratto + ,'TipoParagrafo1' as TipoParagrafo + ,'TipoProdotto1' as TipoProdotto + ,ROW_NUMBER() OVER(order by @CodiceFiscale) as OrdineRiga + into #LineaMultiramo + from [C6MartPeriodico].[CAPPROT_FVI] + where rete = @Rete + and codfis = @CodiceFiscale + and codprod = 'RF' and subprod = 'MP' + select @conta = count(*) from #LineaMultiramo + if @conta > 0 + select @OrdineRiga = max(OrdineRiga) from #LineaMultiramo + -- 2 BLUE AND WHITE + SELECT + @CodiceFiscale as CodiceFiscale + ,DES_PROD_TIT as DescrizioneProdotto + ,COD_CONF as Contratto + ,'TipoParagrafo2' as TipoParagrafo + , + case + when SUBPROD = 'CS80' then 'TipoProdotto2' + when SUBPROD = 'CT80' then 'TipoProdotto3' + end as TipoProdotto + ,ROW_NUMBER() OVER(order by somma_ctv desc, controvalore_riferimento desc) + @OrdineRiga AS OrdineRiga + into #BlueWhite + from [C6MartPeriodico].[CAPPROT_FVI] + where SUBPROD in ('CS80', 'CT80') + and Rete = @Rete + and CODFIS = @CodiceFiscale + order by somma_ctv desc, controvalore_riferimento desc + select @conta = count(*) from #BlueWhite + if @conta > 0 + select @OrdineRiga = max(OrdineRiga) from #BlueWhite + --3 INTERFUND + SELECT + a.CODFIS as CodiceFiscale + ,a.des_prod_tit as DescrizioneProdotto + ,'' as Contratto + ,'TipoParagrafo3' as TipoParagrafo + ,'TipoProdotto1' as TipoProdotto + ,@OrdineRiga + 1 AS OrdineRiga + into #Interfund80 + FROM C6MartPeriodico.capprot a + WHERE 1=1 + AND a.RETE = @Rete + AND a.CODFIS = @CodiceFiscale + select @conta = count(*) from #Interfund80 + if @conta > 0 + select @OrdineRiga = max(OrdineRiga) from #Interfund80 + -- 4 FONDITALIA + SELECT + a.CODFIS as CodiceFiscale + ,a.desprodtit as DescrizioneProdotto + ,'' as Contratto + ,'TipoParagrafo3' as TipoParagrafo + ,'TipoProdotto2' as TipoProdotto + ,@OrdineRiga + 1 AS OrdineRiga + into #Fonditalia80 + FROM c6martperiodico.foi80 a + WHERE 1=1 + AND a.RETE = @Rete + AND a.CODFIS = @CodiceFiscale + select * from #LineaMultiramo + union + select * from #BlueWhite + union + select * from #Interfund80 + union + select * from #Fonditalia80 + order by OrdineRiga +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Gestione_ProdottiProtetti_20171215.sql b/sql/storedTestbes/C6MartPeriodico_Gestione_ProdottiProtetti_20171215.sql new file mode 100644 index 00000000..8b8a6ea3 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Gestione_ProdottiProtetti_20171215.sql @@ -0,0 +1,89 @@ +--[C6MartPeriodico].[Gestione_ProdottiProtetti] 'F', 'TTVNNA39S64H935H' +CREATE procedure [C6MartPeriodico].[Gestione_ProdottiProtetti_20171215] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +declare @isinInterfund80 varchar(20) +set @isinInterfund80 = 'LU1106988527' +BEGIN +declare @OrdineRiga int +declare @conta int +set @conta = 0 +set @OrdineRiga = 0 + -- 1 LINEA MULTIRAMO + SELECT + @CodiceFiscale as CodiceFiscale + ,'Polizza Multiramo con protezione Linea Protetta' as DescrizioneProdotto + ,COD_CONF as Contratto + ,'TipoParagrafo1' as TipoParagrafo + ,'TipoProdotto1' as TipoProdotto + ,ROW_NUMBER() OVER(order by @CodiceFiscale) as OrdineRiga + into #LineaMultiramo + from [C6MartPeriodico].[CAPPROT_FVI] + where rete = @Rete + and codfis = @CodiceFiscale + and codprod = 'RF' and subprod = 'MP' + select @conta = count(*) from #LineaMultiramo + if @conta > 0 + select @OrdineRiga = max(OrdineRiga) from #LineaMultiramo + -- 2 BLUE AND WHITE + SELECT + @CodiceFiscale as CodiceFiscale + ,DES_PROD_TIT as DescrizioneProdotto + ,COD_CONF as Contratto + ,'TipoParagrafo2' as TipoParagrafo + , + case + when SUBPROD = 'CS80' then 'TipoProdotto2' + when SUBPROD = 'CT80' then 'TipoProdotto3' + end as TipoProdotto + ,ROW_NUMBER() OVER(order by somma_ctv desc, controvalore_riferimento desc) + @OrdineRiga AS OrdineRiga + into #BlueWhite + from [C6MartPeriodico].[CAPPROT_FVI] + where SUBPROD in ('CS80', 'CT80') + and Rete = @Rete + and CODFIS = @CodiceFiscale + order by somma_ctv desc, controvalore_riferimento desc + select @conta = count(*) from #BlueWhite + if @conta > 0 + select @OrdineRiga = max(OrdineRiga) from #BlueWhite + --3 INTERFUND + SELECT + a.CODFIS as CodiceFiscale + ,a.des_prod_tit as DescrizioneProdotto + ,'' as Contratto + ,'TipoParagrafo3' as TipoParagrafo + ,'TipoProdotto1' as TipoProdotto + ,ROW_NUMBER() OVER(order by controvalore desc) + @OrdineRiga AS OrdineRiga + into #Interfund80 + FROM C6MartPeriodico.capprot a + WHERE 1=1 + AND a.RETE = @Rete + AND a.CODFIS = @CodiceFiscale + select @conta = count(*) from #Interfund80 + if @conta > 0 + select @OrdineRiga = max(OrdineRiga) from #Interfund80 + -- 4 FONDITALIA + SELECT + a.CODFIS as CodiceFiscale + ,a.desprodtit as DescrizioneProdotto + ,'' as Contratto + ,'TipoParagrafo3' as TipoParagrafo + ,'TipoProdotto2' as TipoProdotto + ,ROW_NUMBER() OVER(order by ctv desc) + @OrdineRiga AS OrdineRiga + into #Fonditalia80 + FROM c6martperiodico.foi80 a + WHERE 1=1 + AND a.RETE = @Rete + AND a.CODFIS = @CodiceFiscale + select * from #LineaMultiramo + union + select * from #BlueWhite + union + select * from #Interfund80 + union + select * from #Fonditalia80 + order by OrdineRiga +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GetFilesForSendingByFTP.sql b/sql/storedTestbes/C6MartPeriodico_GetFilesForSendingByFTP.sql new file mode 100644 index 00000000..cb4cdff9 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GetFilesForSendingByFTP.sql @@ -0,0 +1,5 @@ +CREATE procedure [C6MartPeriodico].[GetFilesForSendingByFTP] +AS +BEGIN + select id, nomefile from [C6MartPeriodico].[GESTIONE_ZIP_FTP] where datecopytosend is null +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GetQueryContratti.sql b/sql/storedTestbes/C6MartPeriodico_GetQueryContratti.sql new file mode 100644 index 00000000..6e5efa2a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GetQueryContratti.sql @@ -0,0 +1,13 @@ +CREATE procedure [C6MartPeriodico].[GetQueryContratti] +as + SELECT + '[' + s.name + '].[' + p.Name + ']' as QueryContratti, + SchemaName = s.name, + ProcedureName = p.name, + s.* + FROM + sys.procedures p + INNER JOIN sys.schemas s + ON p.schema_id = s.schema_id + where s.name like 'C6Mart%' and p.name like '%GETDATATHREADS%' + order by p.name \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_GetRiskArea.sql b/sql/storedTestbes/C6MartPeriodico_GetRiskArea.sql new file mode 100644 index 00000000..59ec1c7f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_GetRiskArea.sql @@ -0,0 +1,20 @@ +--[C6MartPeriodico].[GetRiskArea] 'S', 'GLLRFL52L02L219D' +CREATE procedure [C6MartPeriodico].[GetRiskArea] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + select + case + when b.profilo is null then -1 + else b.profilo + end as profiloCode + FROM + C6MartPeriodico.mifid a + left outer join C6MartPeriodico.CODIFICA_RISCHIO b + on A.PROFILO_ASS=B.PROFILO + WHERE + a.COD_FISCALE = @CodiceFiscale + and a.RETE= @Rete +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_INSERISCI_FASE2_PER_CAMBIO_RETE.sql b/sql/storedTestbes/C6MartPeriodico_INSERISCI_FASE2_PER_CAMBIO_RETE.sql new file mode 100644 index 00000000..ec2b667b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_INSERISCI_FASE2_PER_CAMBIO_RETE.sql @@ -0,0 +1,154 @@ +CREATE procedure [C6MartPeriodico].[INSERISCI_FASE2_PER_CAMBIO_RETE] +AS +--Creo un cursore per ciclare sui cf per i quali devo ri-creare la fase2 +DECLARE Cur_CF CURSOR FOR + SELECT [RETE_C],[RETE_R],[CODFIS],[FLAG_ELAB],DT_ELAB FROM [C6StampeCentralizzate].[C6MartPeriodico].[ANAG_CAMBIO_RETE] +--creo la tabella temporanea dove inserire la riga letta +declare @t_DTCHRETE as datetime +declare @t_COGNOME as varchar(50) +declare @t_RETE_C [varchar](1) +declare @t_RETE_R [varchar](1) +declare @t_CODFIS [varchar](16) +declare @t_CODAGE_C [varchar](6) +declare @t_CODAGE_R [varchar](6) +declare @t_FLAG_ELAB [varchar](1) +declare @t_DT_ELAB [datetime] +---------------------------------------------------------- +DECLARE @DataFase datetime +DECLARE @DataFineAvanzato datetime +SET @DataFase = CONVERT(DATETIME, [c6newcu].C6MARTPERIODICO.GETTRIMESTRE2('2019-02-14',0), 103) +SET @DataFineAvanzato = '2019-02-14' --IMPOSTO LA DATA DEL BACKUP DEL DB TRIMESTRALE +---------------------------------------------------------- +--ATTIVARE il CURSORE +OPEN Cur_CF +--PRELEVO la prossima riga +FETCH NEXT FROM Cur_CF into @t_RETE_C,@t_RETE_R,@t_CODFIS,@t_FLAG_ELAB,@t_DT_ELAB +--Finchè trovo nuove righe... +WHILE @@FETCH_STATUS = 0 +begin + --print @t_RETE_R + '/' + @t_CODFIS + ' <' + @t_FLAG_ELAB + '>' + if @t_FLAG_ELAB = 'S' + begin + -- inserisco nella tabella di log + INSERT INTO [C6MartPeriodico].[LOG_CAMBIO_RETE] VALUES (getdate(),@t_RETE_C,@t_RETE_R,@t_CODFIS, 'GIA'' ELABORATO IN DATA '+LEFT(CONVERT(VARCHAR, @t_DT_ELAB, 120), 10)); + end + ELSE + begin + --********************************************************************************************** + -- inserimento in [consulenzaUnica].dbo.REP_S80_EVOL_STAMPA_C6 + -- query estratta dalla sp di ribaltamento dei dati in post trimestrale + -- + --********************************************************************************************** + insert into [CONSUNI].[consulenzaUnica].dbo.REP_S80_EVOL_STAMPA_C6 + SELECT + A.ChiaveClientePB, + CASE + WHEN AREA IN ('SELFXY', 'SELFFO') THEN 'SELF' + ELSE UPPER(AREA) + END as AREA, + CASE + WHEN AREA = 'Inv' THEN 2 + WHEN AREA = 'Pre' THEN 3 + WHEN AREA = 'Ris' THEN 4 + WHEN AREA = 'Ext' THEN 1 + WHEN AREA = 'Liq' THEN 5 + WHEN AREA = 'Na' THEN 6 + WHEN AREA = 'Cc' THEN 7 + WHEN AREA = 'SelfXY' THEN 8 + WHEN AREA = 'SelfFO' THEN 9 + ELSE 0 + END AS ORDINE, + FASE, + @DataFase AS DATA_FASE, + CONTROVALORE, + SUM(RISORSEALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSEALLOCATE, + SUM(RISORSENONALLOCATE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS RISORSENONALLOCATE, + SUM(CONTOCORRENTE) OVER (PARTITION BY A.COD_FISCALE,A.RETE) AS CONTOCORRENTE, + SUM(PVDISINV) over (partition by A.cod_fiscale,A.RETE) + isnull(PVINV,0) AS INVESTIMENTIINCORSO, + VAR_PERC_PTF, + MAX_VAR, + RA.COPERTURA, + MFD.PROFILO_ASS AS PROFILO, + COD_AGENTE AS AGENTE, + case + when isnull(ra.CREDITRISK,0) > 0 + then cast(ra.CREDITRISK as varchar(5)) + --else 'n.a.' + else '5' + end AS RISKCLASS, + MFD.RISKCLASS AS RISKCLASSMAX, + CASE WHEN AREA IN ('SelfXY') THEN CONTROVALORE ELSE 0 END AS LineaSelf, + CASE WHEN AREA IN ('SelfFO') THEN CONTROVALORE ELSE 0 END AS LineaSelfFoglio + FROM + (SELECT + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'XY' THEN 'SELFXY' + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'FO' THEN 'SELFFO' + ELSE LEFT(PBF.ID_AREA,3) + END as AREA, + 2 AS FASE, + SUM(CTV) AS CONTROVALORE, + sum(isnull(PARTVIA_DISINV,0)) AS PVDISINV, + max(isnull(PVIA.IMPORTO,0)) AS PVINV, + SUM(CASE WHEN ID_AREA IN ('Na','Cc') THEN 0 ELSE PBF.CTV END) AS RISORSEALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Na') THEN PBF.CTV ELSE 0 END) AS RISORSENONALLOCATE, + SUM(CASE WHEN ID_AREA IN ('Cc') THEN PBF.CTV ELSE 0 END) AS CONTOCORRENTE + FROM + [c6stampecentralizzate].C6MART.VCONTRATTI VC + INNER JOIN + [c6newcu].C6MARTPERIODICO.PATRIMONIO_BF PBF + ON PBF.rete = @t_RETE_C + AND VC.cod_Fiscale = PBF.cod_fiscale + LEFT OUTER JOIN + [c6newcu].C6MARTPERIODICO.PARTITE_VIAGGIANTI PVIA + ON + PBF.COD_FISCALE=PVIA.COD_FISCALE + AND PBF.RETE=PVIA.RETE + INNER JOIN + [c6newcu].C6MARTPERIODICO.GESTIONE_PDF_FTP PDFFTP + ON + VC.COD_FISCALE=PDFFTP.CODICEFISCALE + AND PDFFTP.RETE = @t_RETE_C + WHERE 1=1 + AND TIPOREPORT = 'M' + AND FLAGINVIO='S' + AND ISNULL(VC.DATA_FINEAVANZATO, '99991231') > @DataFineAvanzato + and vc.cod_fiscale = @t_CODFIS + GROUP BY + VC.ChiaveClientePB, + VC.COD_AGENTE, + PBF.COD_FISCALE, + PBF.RETE, + CASE + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'XY' THEN 'SELFXY' + WHEN PBF.ID_AREA = 'Self' and PBF.COD_INTERNO = 'FO' THEN 'SELFFO' + ELSE LEFT(PBF.ID_AREA,3) + END + ) A + LEFT OUTER JOIN [c6newcu].C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON A.RETE = RA.RETE + AND A.COD_FISCALE = RA.COD_FISCALE + INNER JOIN [c6newcu].C6MartPeriodico.MIFID AS MFD + ON A.RETE = MFD.RETE + AND A.COD_FISCALE = MFD.COD_FISCALE + INNER JOIN [c6newcu].C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MFD.PROFILO_ASS = CR.PROFILO + WHERE COD_AGGREG = 'COMPLESSIVO|BF' + --********************************************************************************************** + -- FINE inserimento in [consulenzaUnica].dbo.REP_S80_EVOL_STAMPA_C6 + -- + --********************************************************************************************** + -- inserisco nella tabella di log + INSERT INTO [C6MartPeriodico].[LOG_CAMBIO_RETE] VALUES (getdate(),@t_RETE_C,@t_RETE_R,@t_CODFIS, 'Inserite ' + Convert(Varchar(12),@@rowCount) + ' righe' ); + end + --Continuo + FETCH NEXT FROM Cur_CF into @t_RETE_C,@t_RETE_R,@t_CODFIS,@t_FLAG_ELAB,@t_DT_ELAB +end +--CHIUDO il CURSORE +CLOSE Cur_CF +--RIMUOVO il CURSORE dalla memoria +DEALLOCATE Cur_CF \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Inserimento_TrimestraleScarti_ExcludedList.sql b/sql/storedTestbes/C6MartPeriodico_Inserimento_TrimestraleScarti_ExcludedList.sql new file mode 100644 index 00000000..d319f67d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Inserimento_TrimestraleScarti_ExcludedList.sql @@ -0,0 +1,5 @@ +CREATE procedure [C6MartPeriodico].[Inserimento_TrimestraleScarti_ExcludedList] +as + -- Log esecuzione + INSERT INTO [C6MartPeriodico].[ExcludedList] + select rete,codfis,blacklist,datainsert,bloccato=1 from C6StagingPeriodico.TRIMESTRALE_SCARTI \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Inserimento_TrimestraleScarti_SegnalazioneDataQuality.sql b/sql/storedTestbes/C6MartPeriodico_Inserimento_TrimestraleScarti_SegnalazioneDataQuality.sql new file mode 100644 index 00000000..edae4a65 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Inserimento_TrimestraleScarti_SegnalazioneDataQuality.sql @@ -0,0 +1,9 @@ +CREATE procedure [C6MartPeriodico].[Inserimento_TrimestraleScarti_SegnalazioneDataQuality] +as +SELECT idTipoControllo,RETE,CODFIS,DescSegnalazione,idElaborazione=(select max(id_elab) from c6martperiodico.elaborazioni ),idFaseElaborazione=2,datainsert + into #appoggio1 + FROM [C6StagingPeriodico].[Trimestrale_Scarti] q + left join [C6MartPeriodico].[tb_TipoControllo] a + on a.DescTipoControllo like q.BLACKLIST + INSERT INTO [C6MartPeriodico].[tb_SegnalazioniDataQuality] (idTipoControllo,rete,codiceFiscale,descSegnalazione,idElaborazione,idFaseElaborazione,dataInserimento) + select * from #appoggio1 \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Motivo_ExcludedList.sql b/sql/storedTestbes/C6MartPeriodico_Motivo_ExcludedList.sql new file mode 100644 index 00000000..7320e55e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Motivo_ExcludedList.sql @@ -0,0 +1,12 @@ +CREATE procedure [C6MartPeriodico].[Motivo_ExcludedList] + @motivo varchar(200) +AS +BEGIN +SELECT [Rete] + ,[codicefiscale] + ,[DescrErr] + ,[DataIns] + ,[Bloccato] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[ExcludedList_testing] + WHERE [DescrErr] = @motivo +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate.sql b/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate.sql new file mode 100644 index 00000000..08b30f15 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate.sql @@ -0,0 +1,293 @@ +-- Stored procedure +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate] --'F','BCCMLS56L57F257O' + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @tip_contratto int +select @tip_contratto=tip_contratto from wh.Maledetti where rete=@Rete and CodiceFiscale=@CodiceFiscale +--set @tip_contratto=3 --forzatura per FD +if(@tip_contratto=3) +begin +SELECT +NEED_AREA, +NEED_ESTESA, +--NOME_PROGETTO, + CASE + WHEN ROW_NUMBER() OVER (PARTITION BY NOME_PROGETTO ORDER BY MAX(ORDINE), ORDINAMENTO_PROGETTO) > 1 + THEN NOME_PROGETTO + ' (' + CAST(ROW_NUMBER() OVER (PARTITION BY NOME_PROGETTO ORDER BY MAX(ORDINE), ORDINAMENTO_PROGETTO) - 1 AS NVARCHAR(10)) + ')' + ELSE NOME_PROGETTO + END AS Nome_Progetto, +--CONTROLLO NOME PROGETTO DUPLICATO, TOLTO IL MAX, AGGIUNTO NEL GROUP BY +ORDINAMENTO_PROGETTO, +--MAX(ORDINAMENTO_PROGETTO) AS ORDINAMENTO_PROGETTO, +MAX(ORDINE) AS ORDINE, +--rimettere il min e commentare il ctv=0 +max(AREAPROGETTOSOTTOMONITORAGGIO) AS AREAPROGETTOSOTTOMONITORAGGIO +into #temp +FROM +( + --1.1 liq sotto monit + SELECT + 'Inv' AS Need_Area, + 'Investimento' AS Need_Estesa, + CASE WHEN PIRMOD.NOME_PROGETTO is null and pirmod.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PIRMOD.NOME_PROGETTO)) + END AS Nome_Progetto, + PIRMOD.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PIRMOD.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 6 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + (SELECT + RETE, + COD_FISCALE, + case when ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else id_area end as Id_area, + NOME_PROGETTO, + TIPO_PROGETTO, + PERC_AREA, + CTV_PROGETTO, + CTV_AREA, + ORIZZ_TEMP_NUM, + ORIZZ_TEMP, + CTV_TOTALE, + STATO_CONSULENZA, + DATA_STATO_CONS, + DATA_MIGR_CONS, + DATA_PIANIF, + ID_CONTRATTO, ---LEVARE??? + ORDINAMENTO_PROGETTO + FROM + C6MartPeriodico.CONS_ATTIVAGGIORNATA + WHERE + COD_FISCALE=@CodiceFiscale + and rete= @Rete + ) PIRMOD + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PIRMOD.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PIRMOD.COD_FISCALE + AND MONIT.RETE=PIRMOD.RETE + AND MONIT.ID_AREA= PIRMOD.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PIRMOD.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PIRMOD.ORDINAMENTO_PROGETTO + --inner join C6StagingPeriodico.RP_Progetto_Robo rob ON rob.chiaveProgetto=monit.ORDINAMENTO_PROGETTO + WHERE + PIRMOD.RETE= @Rete + AND PIRMOD.COD_FISCALE = @CodiceFiscale + AND PIRMOD.CTV_PROGETTO > 0 +------------------------ MIFID2 - MAGGIO 2018 + --AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc', 'LIGHT') + -- and pirmod.Id_area in ('Inv','Liq') --aggiunta per fideuram Direct +------------------------- FINE MIFID2 - MAGGIO 2018 +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + MAX(ORDINE), + ORDINAMENTO_PROGETTO + update #temp + set ORDINE=4 + where Need_Area='Inv' + select * from #temp +end +else +begin +SELECT +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +--CONTROLLO NOME PROGETTO DUPLICATO, TOLTO IL MAX, AGGIUNTO NEL GROUP BY +ORDINAMENTO_PROGETTO, +--MAX(ORDINAMENTO_PROGETTO) AS ORDINAMENTO_PROGETTO, +MAX(ORDINE) AS ORDINE, +--rimettere il min e commentare il ctv=0 +max(AREAPROGETTOSOTTOMONITORAGGIO) AS AREAPROGETTOSOTTOMONITORAGGIO +FROM +( + --1.1 liq sotto monit + SELECT + PIRMOD.ID_AREA AS Need_Area, + AREA.NOME_AREA AS Need_Estesa, + CASE WHEN PIRMOD.NOME_PROGETTO is null and pirmod.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PIRMOD.NOME_PROGETTO)) + END AS Nome_Progetto, + PIRMOD.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PIRMOD.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 6 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + (SELECT + RETE, + COD_FISCALE, + case when ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else id_area end as Id_area, + NOME_PROGETTO, + TIPO_PROGETTO, + PERC_AREA, + CTV_PROGETTO, + CTV_AREA, + ORIZZ_TEMP_NUM, + ORIZZ_TEMP, + CTV_TOTALE, + STATO_CONSULENZA, + DATA_STATO_CONS, + DATA_MIGR_CONS, + DATA_PIANIF, + ID_CONTRATTO, ---LEVARE??? + ORDINAMENTO_PROGETTO + FROM + C6MartPeriodico.CONS_ATTIVAGGIORNATA + WHERE + COD_FISCALE=@CodiceFiscale + and rete= @Rete + ) PIRMOD + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PIRMOD.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PIRMOD.COD_FISCALE + AND MONIT.RETE=PIRMOD.RETE + AND MONIT.ID_AREA= PIRMOD.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PIRMOD.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PIRMOD.ORDINAMENTO_PROGETTO + WHERE + PIRMOD.RETE= @Rete + AND PIRMOD.COD_FISCALE = @CodiceFiscale + AND PIRMOD.CTV_PROGETTO > 0 +------------------------ MIFID2 - MAGGIO 2018 + --AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc', 'LIGHT') +------------------------- FINE MIFID2 - MAGGIO 2018 + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'CC' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Self' AS Need_Area, + -- 20181205 AC + --'Liquidità negativa "Linee GP Eligo"' AS Need_Estesa, + case + when cod_interno = 'XY' then 'Liquidità negativa "Linea GP Eligo"' + when cod_interno = 'FO' then 'Liquidità negativa "Il Mio Foglio"' + end AS Need_Estesa, + -- /20181205 AC + -- 20181205 AC + --NULL AS Nome_Progetto, + rtrim(cod_interno) AS Nome_Progetto, + -- /20181205 AC + --999999 as ORDINAMENTO_PROGETTO, + -- 20181205 AC + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + --'' as ORDINAMENTO_PROGETTO, + -- /20181205 AC + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'SELF' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 8 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + --case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO + end +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_20180604_PreMifid2.sql b/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_20180604_PreMifid2.sql new file mode 100644 index 00000000..7253309b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_20180604_PreMifid2.sql @@ -0,0 +1,266 @@ +-- Stored procedure +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_20180604_PreMifid2] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +and b.dtfine 0 + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'CC' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Self' AS Need_Area, + 'Liquidità negativa "Linee GP Eligo"' AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'SELF' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 8 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + --case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +--UNION +----impostiamo l'area non monitorata se il ctv monitorato monitorato è zero +-- SELECT DISTINCT +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , +-- CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE PATRBF.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Pre1' THEN 3 +-- WHEN 'Pre2' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 7 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- FROM +-- C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT +-- ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE +-- AND MONIT.RETE=PATRBF.RETE +-- AND MONIT.ID_AREA= PATRBF.ID_AREA +-- AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') +-- AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO +-- +-- WHERE +-- 1=1 +-- AND PATRBF.RETE= @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND monit.ctv_monitorato = 0 +-- --AND PATRBF.EXTRANAC=1 +-- AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +-- +-- +-- UNION +-- --marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab +-- +-- +-- SELECT distinct +-- b.ID_AREA AS Need_Area, +-- AREA.NOME_AREA AS Need_Estesa, +-- CASE WHEN b.NOME_PROGETTO is null and b.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE LTRIM(RTRIM(b.NOME_PROGETTO)) +-- END AS Nome_Progetto, +-- case when b.id_area='Na' then 999999 else b.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE b.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 6 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- from #dis_dt a inner join +-- c6martperiodico.piramide_mod b +-- on a.rete = b.rete and a.codfis = b.cod_fiscale and a.codarea = case when b.id_area='ext' then 'exr' else b.id_area end and a.codprog = b.ordinamento_progetto +-- inner join c6martperiodico.patrimonio_bf c +-- on a.rete = c.rete and a.codfis = c.cod_fiscale and a.codarea = case when c.id_area='ext' then 'exr' else c.id_area end and a.codprog = c.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- b.ID_AREA = AREA.ID_AREA +-- where b.ctv_progetto>0 +-- and c.ctv>0 +-- AND c.ID_AREA NOT IN ('Na', 'Cc') +-- and b.RETE= @Rete +-- AND b.COD_FISCALE = @CodiceFiscale +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_20180927_PreOttimizzazione.sql b/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_20180927_PreOttimizzazione.sql new file mode 100644 index 00000000..f0b44beb --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_20180927_PreOttimizzazione.sql @@ -0,0 +1,269 @@ +-- Stored procedure +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_20180927_PreOttimizzazione] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +and b.dtfine 0 +------------------------ MIFID2 - MAGGIO 2018 + --AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc', 'LIGHT') +------------------------- FINE MIFID2 - MAGGIO 2018 + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'CC' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Self' AS Need_Area, + 'Liquidità negativa "Linee GP Eligo"' AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'SELF' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 8 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + --case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +--UNION +----impostiamo l'area non monitorata se il ctv monitorato monitorato è zero +-- SELECT DISTINCT +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , +-- CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE PATRBF.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Pre1' THEN 3 +-- WHEN 'Pre2' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 7 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- FROM +-- C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT +-- ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE +-- AND MONIT.RETE=PATRBF.RETE +-- AND MONIT.ID_AREA= PATRBF.ID_AREA +-- AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') +-- AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO +-- +-- WHERE +-- 1=1 +-- AND PATRBF.RETE= @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND monit.ctv_monitorato = 0 +-- --AND PATRBF.EXTRANAC=1 +-- AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +-- +-- +-- UNION +-- --marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab +-- +-- +-- SELECT distinct +-- b.ID_AREA AS Need_Area, +-- AREA.NOME_AREA AS Need_Estesa, +-- CASE WHEN b.NOME_PROGETTO is null and b.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE LTRIM(RTRIM(b.NOME_PROGETTO)) +-- END AS Nome_Progetto, +-- case when b.id_area='Na' then 999999 else b.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE b.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 6 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- from #dis_dt a inner join +-- c6martperiodico.piramide_mod b +-- on a.rete = b.rete and a.codfis = b.cod_fiscale and a.codarea = case when b.id_area='ext' then 'exr' else b.id_area end and a.codprog = b.ordinamento_progetto +-- inner join c6martperiodico.patrimonio_bf c +-- on a.rete = c.rete and a.codfis = c.cod_fiscale and a.codarea = case when c.id_area='ext' then 'exr' else c.id_area end and a.codprog = c.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- b.ID_AREA = AREA.ID_AREA +-- where b.ctv_progetto>0 +-- and c.ctv>0 +-- AND c.ID_AREA NOT IN ('Na', 'Cc') +-- and b.RETE= @Rete +-- AND b.COD_FISCALE = @CodiceFiscale +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_20181214_PreMioFoglio.sql b/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..3a22de12 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_20181214_PreMioFoglio.sql @@ -0,0 +1,271 @@ +-- Stored procedure +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_20181214_PreMioFoglio] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +-- 20180927 COMMENTATO PERCHE' QUESTE DUE TABELLE TEMPORANEE NON VENGONO UTILIZZATE +--select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +--into #tcptab_aggr_dt +--from c6stagingperiodico.tcptab +--where ctvatt>0 +--group by rete,codfis,codarea,codprog +--select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +--into #dis_dt +--from c6stagingperiodico.tanab a full join +--#tcptab_aggr_dt b +--on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +--where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +--and b.dtfine 0 +------------------------ MIFID2 - MAGGIO 2018 + --AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc', 'LIGHT') +------------------------- FINE MIFID2 - MAGGIO 2018 + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'CC' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Self' AS Need_Area, + 'Liquidità negativa "Linee GP Eligo"' AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'SELF' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 8 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + --case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +--UNION +----impostiamo l'area non monitorata se il ctv monitorato monitorato è zero +-- SELECT DISTINCT +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , +-- CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE PATRBF.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Pre1' THEN 3 +-- WHEN 'Pre2' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 7 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- FROM +-- C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT +-- ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE +-- AND MONIT.RETE=PATRBF.RETE +-- AND MONIT.ID_AREA= PATRBF.ID_AREA +-- AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') +-- AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO +-- +-- WHERE +-- 1=1 +-- AND PATRBF.RETE= @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND monit.ctv_monitorato = 0 +-- --AND PATRBF.EXTRANAC=1 +-- AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +-- +-- +-- UNION +-- --marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab +-- +-- +-- SELECT distinct +-- b.ID_AREA AS Need_Area, +-- AREA.NOME_AREA AS Need_Estesa, +-- CASE WHEN b.NOME_PROGETTO is null and b.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE LTRIM(RTRIM(b.NOME_PROGETTO)) +-- END AS Nome_Progetto, +-- case when b.id_area='Na' then 999999 else b.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE b.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 6 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- from #dis_dt a inner join +-- c6martperiodico.piramide_mod b +-- on a.rete = b.rete and a.codfis = b.cod_fiscale and a.codarea = case when b.id_area='ext' then 'exr' else b.id_area end and a.codprog = b.ordinamento_progetto +-- inner join c6martperiodico.patrimonio_bf c +-- on a.rete = c.rete and a.codfis = c.cod_fiscale and a.codarea = case when c.id_area='ext' then 'exr' else c.id_area end and a.codprog = c.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- b.ID_AREA = AREA.ID_AREA +-- where b.ctv_progetto>0 +-- and c.ctv>0 +-- AND c.ID_AREA NOT IN ('Na', 'Cc') +-- and b.RETE= @Rete +-- AND b.COD_FISCALE = @CodiceFiscale +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_85.sql b/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_85.sql new file mode 100644 index 00000000..38459e74 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_85.sql @@ -0,0 +1,203 @@ +-- Stored procedure +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'F','DNERNZ56P01A757W' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_85] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +and b.dtfine 0 + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'CC' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, +-- 999999 as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') + UNION + --marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + SELECT distinct + b.ID_AREA AS Need_Area, + AREA.NOME_AREA AS Need_Estesa, + CASE WHEN b.NOME_PROGETTO is null and b.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(b.NOME_PROGETTO)) + END AS Nome_Progetto, + --case when b.id_area='Na' then 999999 else b.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + b.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE b.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 6 + END AS ORDINE, + 0 AS AREAPROGETTOSOTTOMONITORAGGIO + from #dis_dt a inner join + c6martperiodico.piramide_mod b + on a.rete = b.rete and a.codfis = b.cod_fiscale and a.codarea = case when b.id_area='ext' then 'exr' else b.id_area end and a.codprog = b.ordinamento_progetto + inner join c6martperiodico.patrimonio_bf c + on a.rete = c.rete and a.codfis = c.cod_fiscale and a.codarea = case when c.id_area='ext' then 'exr' else c.id_area end and a.codprog = c.ordinamento_progetto + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + b.ID_AREA = AREA.ID_AREA + where b.ctv_progetto>0 + and c.ctv>0 + AND c.ID_AREA NOT IN ('Na', 'Cc') + and b.RETE= @Rete + AND b.COD_FISCALE = @CodiceFiscale +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_BK_eligoTitoli.sql b/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_BK_eligoTitoli.sql new file mode 100644 index 00000000..6e6cb7fc --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_BK_eligoTitoli.sql @@ -0,0 +1,265 @@ +-- Stored procedure +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +and b.dtfine 0 + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'CC' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Self' AS Need_Area, + 'Liquidità GP Eligo Fondi'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'SELF' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 8 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + --case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +--UNION +----impostiamo l'area non monitorata se il ctv monitorato monitorato è zero +-- SELECT DISTINCT +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , +-- CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE PATRBF.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Pre1' THEN 3 +-- WHEN 'Pre2' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 7 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- FROM +-- C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT +-- ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE +-- AND MONIT.RETE=PATRBF.RETE +-- AND MONIT.ID_AREA= PATRBF.ID_AREA +-- AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') +-- AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO +-- +-- WHERE +-- 1=1 +-- AND PATRBF.RETE= @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND monit.ctv_monitorato = 0 +-- --AND PATRBF.EXTRANAC=1 +-- AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +-- +-- +-- UNION +-- --marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab +-- +-- +-- SELECT distinct +-- b.ID_AREA AS Need_Area, +-- AREA.NOME_AREA AS Need_Estesa, +-- CASE WHEN b.NOME_PROGETTO is null and b.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE LTRIM(RTRIM(b.NOME_PROGETTO)) +-- END AS Nome_Progetto, +-- case when b.id_area='Na' then 999999 else b.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE b.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 6 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- from #dis_dt a inner join +-- c6martperiodico.piramide_mod b +-- on a.rete = b.rete and a.codfis = b.cod_fiscale and a.codarea = case when b.id_area='ext' then 'exr' else b.id_area end and a.codprog = b.ordinamento_progetto +-- inner join c6martperiodico.patrimonio_bf c +-- on a.rete = c.rete and a.codfis = c.cod_fiscale and a.codarea = case when c.id_area='ext' then 'exr' else c.id_area end and a.codprog = c.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- b.ID_AREA = AREA.ID_AREA +-- where b.ctv_progetto>0 +-- and c.ctv>0 +-- AND c.ID_AREA NOT IN ('Na', 'Cc') +-- and b.RETE= @Rete +-- AND b.COD_FISCALE = @CodiceFiscale +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_PRESBAGLIATA.sql b/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_PRESBAGLIATA.sql new file mode 100644 index 00000000..67d8642a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_PRESBAGLIATA.sql @@ -0,0 +1,250 @@ +-- +--select * from c6martperiodico.patrimonio_bf +--where id_area like 'Pre%' +-- +-- Stored procedure +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'S','BLTRNZ48M02F269I' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_PRESBAGLIATA] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where + (b.dtfine 0 + AND PIRMOD.ID_AREA NOT IN ('Pre','Pre1', 'Pre2', 'Cc') + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'CC' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + 999999 as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + 999999 as ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +--UNION +----impostiamo l'area non monitorata se il ctv monitorato monitorato è zero +-- SELECT DISTINCT +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , +-- CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE PATRBF.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Pre1' THEN 3 +-- WHEN 'Pre2' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 7 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- FROM +-- C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT +-- ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE +-- AND MONIT.RETE=PATRBF.RETE +-- AND MONIT.ID_AREA= PATRBF.ID_AREA +-- AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') +-- AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO +-- +-- WHERE +-- 1=1 +-- AND PATRBF.RETE= @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND monit.ctv_monitorato = 0 +-- --AND PATRBF.EXTRANAC=1 +-- AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +-- + UNION + --marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + SELECT distinct + b.ID_AREA AS Need_Area, + AREA.NOME_AREA AS Need_Estesa, + CASE WHEN b.NOME_PROGETTO is null and b.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(b.NOME_PROGETTO)) + END AS Nome_Progetto, + --case when b.id_area='Na' then 999999 else b.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + case when C.ID_AREA in ('Pre','Pre1','Pre2') then 1 else C.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + CASE C.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + 0 AS AREAPROGETTOSOTTOMONITORAGGIO + from #dis_dt a inner join + c6martperiodico.piramide_mod b + on a.rete = b.rete and a.codfis = b.cod_fiscale and a.codarea = case when b.id_area='ext' then 'exr' else b.id_area end and a.codprog = b.ordinamento_progetto + inner join c6martperiodico.patrimonio_bf c + on a.rete = c.rete and a.codfis = c.cod_fiscale and a.codarea = case when c.id_area='ext' then 'exr' else c.id_area end and a.codprog = c.ordinamento_progetto + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + b.ID_AREA = AREA.ID_AREA + where b.ctv_progetto>0 + and c.ctv>0 + AND c.ID_AREA NOT IN ('Na', 'Cc') + and b.RETE= @Rete + AND b.COD_FISCALE = @CodiceFiscale +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_SIMULAZIONE.sql b/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_SIMULAZIONE.sql new file mode 100644 index 00000000..326d29f9 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_SIMULAZIONE.sql @@ -0,0 +1,246 @@ +-- Stored procedure +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'F','DNGMRA56E66D542Z' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_SIMULAZIONE] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +and b.dtfine 0 + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'CC' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + 999999 as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + 999999 as ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +--UNION +----impostiamo l'area non monitorata se il ctv monitorato monitorato è zero +-- SELECT DISTINCT +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , +-- CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE PATRBF.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Pre1' THEN 3 +-- WHEN 'Pre2' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 7 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- FROM +-- C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT +-- ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE +-- AND MONIT.RETE=PATRBF.RETE +-- AND MONIT.ID_AREA= PATRBF.ID_AREA +-- AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') +-- AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO +-- +-- WHERE +-- 1=1 +-- AND PATRBF.RETE= @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND monit.ctv_monitorato = 0 +-- --AND PATRBF.EXTRANAC=1 +-- AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +-- +-- +-- UNION +-- --marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab +-- +-- +-- SELECT distinct +-- b.ID_AREA AS Need_Area, +-- AREA.NOME_AREA AS Need_Estesa, +-- CASE WHEN b.NOME_PROGETTO is null and b.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE LTRIM(RTRIM(b.NOME_PROGETTO)) +-- END AS Nome_Progetto, +-- case when b.id_area='Na' then 999999 else b.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE b.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 6 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- from #dis_dt a inner join +-- c6martperiodico.piramide_mod b +-- on a.rete = b.rete and a.codfis = b.cod_fiscale and a.codarea = case when b.id_area='ext' then 'exr' else b.id_area end and a.codprog = b.ordinamento_progetto +-- inner join c6martperiodico.patrimonio_bf c +-- on a.rete = c.rete and a.codfis = c.cod_fiscale and a.codarea = case when c.id_area='ext' then 'exr' else c.id_area end and a.codprog = c.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- b.ID_AREA = AREA.ID_AREA +-- where b.ctv_progetto>0 +-- and c.ctv>0 +-- AND c.ID_AREA NOT IN ('Na', 'Cc') +-- and b.RETE= @Rete +-- AND b.COD_FISCALE = @CodiceFiscale +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_bck201204.sql b/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_bck201204.sql new file mode 100644 index 00000000..933a9571 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_bck201204.sql @@ -0,0 +1,246 @@ +-- Stored procedure +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate_SIMULAZIONE] 'S','CZZLRD57R07I982G' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_bck201204] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +and b.dtfine 0 + AND PIRMOD.ID_AREA NOT IN ('Pre','Pre1', 'Pre2', 'Cc') + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'CC' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + 999999 as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + 999999 as ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +--UNION +----impostiamo l'area non monitorata se il ctv monitorato monitorato è zero +-- SELECT DISTINCT +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , +-- CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE PATRBF.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Pre1' THEN 3 +-- WHEN 'Pre2' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 7 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- FROM +-- C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT +-- ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE +-- AND MONIT.RETE=PATRBF.RETE +-- AND MONIT.ID_AREA= PATRBF.ID_AREA +-- AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') +-- AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO +-- +-- WHERE +-- 1=1 +-- AND PATRBF.RETE= @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND monit.ctv_monitorato = 0 +-- --AND PATRBF.EXTRANAC=1 +-- AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +-- +-- +-- UNION +-- --marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab +-- +-- +-- SELECT distinct +-- b.ID_AREA AS Need_Area, +-- AREA.NOME_AREA AS Need_Estesa, +-- CASE WHEN b.NOME_PROGETTO is null and b.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE LTRIM(RTRIM(b.NOME_PROGETTO)) +-- END AS Nome_Progetto, +-- case when b.id_area='Na' then 999999 else b.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE b.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 6 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- from #dis_dt a inner join +-- c6martperiodico.piramide_mod b +-- on a.rete = b.rete and a.codfis = b.cod_fiscale and a.codarea = case when b.id_area='ext' then 'exr' else b.id_area end and a.codprog = b.ordinamento_progetto +-- inner join c6martperiodico.patrimonio_bf c +-- on a.rete = c.rete and a.codfis = c.cod_fiscale and a.codarea = case when c.id_area='ext' then 'exr' else c.id_area end and a.codprog = c.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- b.ID_AREA = AREA.ID_AREA +-- where b.ctv_progetto>0 +-- and c.ctv>0 +-- AND c.ID_AREA NOT IN ('Na', 'Cc') +-- and b.RETE= @Rete +-- AND b.COD_FISCALE = @CodiceFiscale +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_bkup_20120101.sql b/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_bkup_20120101.sql new file mode 100644 index 00000000..3e63705b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_bkup_20120101.sql @@ -0,0 +1,239 @@ +-- Stored procedure +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'F','BRGNRC55E09H223U' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_bkup_20120101] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +into #tcptab_aggr_dt +from c6stagingperiodico.tcptab +where ctvatt>0 +group by rete,codfis,codarea,codprog +select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +into #dis_dt +from c6stagingperiodico.tanab a full join +#tcptab_aggr_dt b +on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +and b.dtfine 0 + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'CC' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + 999999 as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + 999999 as ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +UNION +--impostiamo l'area non monitorata se il ctv monitorato monitorato è zero + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + 0 AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND monit.ctv_monitorato = 0 + --AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') + UNION + --marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + SELECT distinct + b.ID_AREA AS Need_Area, + AREA.NOME_AREA AS Need_Estesa, + CASE WHEN b.NOME_PROGETTO is null and b.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(b.NOME_PROGETTO)) + END AS Nome_Progetto, + case when b.id_area='Na' then 999999 else b.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + CASE b.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 6 + END AS ORDINE, + 0 AS AREAPROGETTOSOTTOMONITORAGGIO + from #dis_dt a inner join + c6martperiodico.piramide_mod b + on a.rete = b.rete and a.codfis = b.cod_fiscale and a.codarea = case when b.id_area='ext' then 'exr' else b.id_area end and a.codprog = b.ordinamento_progetto + inner join c6martperiodico.patrimonio_bf c + on a.rete = c.rete and a.codfis = c.cod_fiscale and a.codarea = case when c.id_area='ext' then 'exr' else c.id_area end and a.codprog = c.ordinamento_progetto + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + b.ID_AREA = AREA.ID_AREA + where b.ctv_progetto>0 + and c.ctv>0 + AND c.ID_AREA NOT IN ('Na', 'Cc') + and b.RETE= @Rete + AND b.COD_FISCALE = @CodiceFiscale +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO +--ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_preFD.sql b/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_preFD.sql new file mode 100644 index 00000000..f0f3768c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_AreeMonitorate_preFD.sql @@ -0,0 +1,283 @@ +-- Stored procedure +-- ============================================= +-- Author: ALESSANDRO TRINGALI +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--[C6MartPeriodico].[PL_AreeMonitorate] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodico].[PL_AreeMonitorate_preFD] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +--marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +-- 20180927 COMMENTATO PERCHE' QUESTE DUE TABELLE TEMPORANEE NON VENGONO UTILIZZATE +--select max(convert(datetime,convert(varchar(8),dtuscita))) as dtfine,rete, codarea,codfis,codprog +--into #tcptab_aggr_dt +--from c6stagingperiodico.tcptab +--where ctvatt>0 +--group by rete,codfis,codarea,codprog +--select a.codfis,a.rete,a.codarea,a.codprog,a.dtfine tanab_dt,b.dtfine tcptab_dt +--into #dis_dt +--from c6stagingperiodico.tanab a full join +--#tcptab_aggr_dt b +--on a.rete = b.rete and a.codfis = b.codfis and a.codarea = b.codarea and a.codprog = b.codprog +--where convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine +--and b.dtfine 0 +------------------------ MIFID2 - MAGGIO 2018 + --AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc') + AND PIRMOD.ID_AREA NOT IN ('Pre1', 'Pre2', 'Cc', 'LIGHT') +------------------------- FINE MIFID2 - MAGGIO 2018 + --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'CC' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Self' AS Need_Area, + -- 20181205 AC + --'Liquidità negativa "Linee GP Eligo"' AS Need_Estesa, + case + when cod_interno = 'XY' then 'Liquidità negativa "Linea GP Eligo"' + when cod_interno = 'FO' then 'Liquidità negativa "Il Mio Foglio"' + end AS Need_Estesa, + -- /20181205 AC + -- 20181205 AC + --NULL AS Nome_Progetto, + rtrim(cod_interno) AS Nome_Progetto, + -- /20181205 AC + --999999 as ORDINAMENTO_PROGETTO, + -- 20181205 AC + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + --'' as ORDINAMENTO_PROGETTO, + -- /20181205 AC + 7 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV < 0 and id_area = 'SELF' +-- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT + 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + 8 AS ORDINE, + 0 as AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + WHERE + PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, + case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , + CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, + --case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA + WHEN 'Liq' THEN 1 + WHEN 'Ris' THEN 2 + WHEN 'Pre' THEN 3 + WHEN 'Pre1' THEN 3 + WHEN 'Pre2' THEN 3 + WHEN 'Inv' THEN 4 + WHEN 'Ext' THEN 5 + WHEN 'Na' THEN 7 + END AS ORDINE, + CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT + ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO + WHERE + 1=1 + AND PATRBF.RETE= @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV > 0 + AND PATRBF.EXTRANAC=1 + AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +--UNION +----impostiamo l'area non monitorata se il ctv monitorato monitorato è zero +-- SELECT DISTINCT +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Pre' else PATRBF.ID_AREA end AS Need_Area, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 'Previdenza' else AREA.NOME_AREA end as NEED_ESTESA , +-- CASE WHEN PATRBF.NOME_PROGETTO is null and PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE PATRBF.NOME_PROGETTO end AS Nome_Progetto, +-- case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE PATRBF.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Pre1' THEN 3 +-- WHEN 'Pre2' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 7 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- FROM +-- C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT +-- ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE +-- AND MONIT.RETE=PATRBF.RETE +-- AND MONIT.ID_AREA= PATRBF.ID_AREA +-- AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') +-- AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO +-- +-- WHERE +-- 1=1 +-- AND PATRBF.RETE= @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND monit.ctv_monitorato = 0 +-- --AND PATRBF.EXTRANAC=1 +-- AND PATRBF.ID_AREA NOT IN ('Na', 'Cc') +-- +-- +-- UNION +-- --marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab +-- +-- +-- SELECT distinct +-- b.ID_AREA AS Need_Area, +-- AREA.NOME_AREA AS Need_Estesa, +-- CASE WHEN b.NOME_PROGETTO is null and b.id_area='Inv' THEN 'Prodotti non associati a progetti' +-- ELSE LTRIM(RTRIM(b.NOME_PROGETTO)) +-- END AS Nome_Progetto, +-- case when b.id_area='Na' then 999999 else b.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, +-- CASE b.ID_AREA +-- WHEN 'Liq' THEN 1 +-- WHEN 'Ris' THEN 2 +-- WHEN 'Pre' THEN 3 +-- WHEN 'Inv' THEN 4 +-- WHEN 'Ext' THEN 5 +-- WHEN 'Na' THEN 6 +-- END AS ORDINE, +-- 0 AS AREAPROGETTOSOTTOMONITORAGGIO +-- from #dis_dt a inner join +-- c6martperiodico.piramide_mod b +-- on a.rete = b.rete and a.codfis = b.cod_fiscale and a.codarea = case when b.id_area='ext' then 'exr' else b.id_area end and a.codprog = b.ordinamento_progetto +-- inner join c6martperiodico.patrimonio_bf c +-- on a.rete = c.rete and a.codfis = c.cod_fiscale and a.codarea = case when c.id_area='ext' then 'exr' else c.id_area end and a.codprog = c.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- b.ID_AREA = AREA.ID_AREA +-- where b.ctv_progetto>0 +-- and c.ctv>0 +-- AND c.ID_AREA NOT IN ('Na', 'Cc') +-- and b.RETE= @Rete +-- AND b.COD_FISCALE = @CodiceFiscale +) A +GROUP BY +NEED_AREA, +NEED_ESTESA, +NOME_PROGETTO, +ORDINAMENTO_PROGETTO + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_FD152Patrimonio.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_FD152Patrimonio.sql new file mode 100644 index 00000000..f4f8a96b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_FD152Patrimonio.sql @@ -0,0 +1,69 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S152Patrimonio] 'f','BNLSRG42S13E666Q' +CREATE procedure [C6MartPeriodico].[PL_D2_FD152Patrimonio] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + DECLARE @PatrimonioRibilanciato DECIMAL(15,2) -- Portafoglio Ribilanciato + DECLARE @PatrimonioBase DECIMAL(15,2) --Portafoglio Base + SELECT @PatrimonioBF = SUM(CTV) + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area not in ('CC','SELF') + SELECT @Part_viaggianti = SUM(IMPORTO) + FROM + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Martperiodico.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) T + select POSITION_ID + FROM C6MartPeriodico.PATRIMONIO_BF patrBF inner join + C6StagingPeriodico.RP_Progetto_Robo robo on patrBF.CHIAVE_PROGETTO=robo.chiaveProgetto + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + select @PatrimonioBase= sum(CTV) + from C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.position_id not in ( + select POSITION_ID + FROM C6MartPeriodico.PATRIMONIO_BF patrBF inner join + C6StagingPeriodico.RP_Progetto_Robo robo on patrBF.CHIAVE_PROGETTO=robo.chiaveProgetto + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale) + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioRibilanciato =coalesce(@PatrimonioRibilanciato,0) + SET @PatrimonioBase =coalesce(@PatrimonioBase,0) + SELECT + @PatrimonioBF AS PatrimonioTotaleCTV, + @PatrimonioRibilanciato AS PatrimonioRibilanciatoCTV, + CONVERT(decimal(6,2),((case @PatrimonioRibilanciato when 0.00 then 0.00 else (@PatrimonioRibilanciato)/ @PatrimonioBF end) * 100.00)) AS RibilanciatoPerc, + @PatrimonioBase AS PatrimonioBaseCTV, + CONVERT(decimal(6,2),((case @PatrimonioBase when 0.00 then 0.00 else @PatrimonioBase/@PatrimonioBF end ) *100.00)) AS BasePerc +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_FD160DettaglioProdottiBF.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_FD160DettaglioProdottiBF.sql new file mode 100644 index 00000000..828c0ebe --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_FD160DettaglioProdottiBF.sql @@ -0,0 +1,242 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'SLLLMN44E29A176G' +-- [C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF] 'F', 'SPNTTR67T20F205D' +create procedure [C6MartPeriodico].[PL_D2_FD160DettaglioProdottiBF] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +distinct + CASE + when robo.isProgettoRobo='S' then 'Rob' + else 'ASF' + END AS needarea, +CASE + when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + --WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + --ELSE AREA.NOME_AREA + END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY robo.isProgettoRobo) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY robo.isProgettoRobo) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY robo.isProgettoRobo) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY robo.isProgettoRobo) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY robo.isProgettoRobo, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY robo.isProgettoRobo, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY robo.isProgettoRobo, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY robo.isProgettoRobo, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY robo.isProgettoRobo, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + apc.is_APC as isAPC +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) + --aggiunta 18/12/2022 per APC103 +left join C6MartPeriodico.WSEICC apc +on + apc.RETE=PATRBF.RETE + and apc.cod_fiscale=patrbf.cod_fiscale + and PATRBF.ID_CONTRATTO = --apc.CODCONFPR + (case when PATRBF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) + --fine aggiunta 18/12/2022 per APC103 +left join C6StagingPeriodico.RP_Progetto_robo ROBO +on ROBO.chiaveprogetto=PATRBF.CHIAVE_PROGETTO +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_progetto,nome_progetto, PATRBF.CTV DESC +END +--select top 1 * from c6martperiodico.patrimonio_bf where tipo_prodotto = 'CC' +--select SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)),ANAG_CC.COD_CC +--from c6martperiodico.anag_cc \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_FD170RischioDiversificazione.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_FD170RischioDiversificazione.sql new file mode 100644 index 00000000..87fbd279 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_FD170RischioDiversificazione.sql @@ -0,0 +1,280 @@ +-- [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] 'W','MLAMRA61P03G337F' +CREATE procedure [C6MartPeriodico].[PL_D2_FD170RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + and id_area not in ('LIGHT', 'VOID') + -- modifica del 5/2/2019 per escludere i record del patr non rappresentabile (commentata ed eventualmente utilizzata ad hoc) + --and (rend_non_rappr = 0 or (id_area = 'Liq' and rend_non_rappr = 1)) + --fine modifica del 5/2/2019 + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + ------------------------ MIFID2 - MAGGIO 2018 + DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + declare @maxComplessita as int + if @CodiceFiscale like '%FF@%' + select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2] + where + codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; commentata per MUA + else + select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2] + where + codfis= @CodiceFiscale + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; commentata per MUA +SELECT +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (6,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +-- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi +beneficio as diversificazione, +--case +--when cod_Aggreg = 'COMPLESSIVO' then null +--when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then null +--END AS diversificazione, +-- fine modifica del 19/6/2018 +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' when k.rete = 'S' then 'Sanpaolo Invest' else 'IW Private Investments' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +isnull(b.max_var, 0) as var_profilo, +------------------------ MIFID2 - MAGGIO 2018 +case @maxComplessita + when 0 then 'Non complesso' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + else 'n.c.' + end + as complessita, +------------------------- FINE MIFID2 - MAGGIO 2018 +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] Script Date: 09/02/2022 11:37:02 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] 's','BRNGDI72S69L219Y' +--ALTER procedure [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- declare @contaCC as int +-- select @contaCC = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete +-- declare @contaPOS as int +-- select @contaPOS = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where cod_fiscale = @codiceFiscale and rete = @rete +-- declare @ctvbf as decimal(12,2) +-- SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +-- and id_area not in ('LIGHT', 'VOID') +-- -- modifica del 5/2/2019 per escludere i record del patr non rappresentabile (commentata ed eventualmente utilizzata ad hoc) +-- --and (rend_non_rappr = 0 or (id_area = 'Liq' and rend_non_rappr = 1)) +-- --fine modifica del 5/2/2019 +-- declare @ctvterzi as decimal (12,2) +-- SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +-- ------------------------ MIFID2 - MAGGIO 2018 +-- DECLARE @DataFineTrim VARCHAR(8) +-- SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +-- declare @maxComplessita as int +-- if @CodiceFiscale like '%FF@%' +-- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD2] +-- where +-- -- codfis like +-- -- CASE when @CodiceFiscale like '%FF@%'THEN '%%' +-- -- ELSE @CodiceFiscale +-- -- END +-- --and codman = +-- -- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- -- ELSE '' +-- -- END +-- codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- and rete= @Rete +-- and DTTRIM = @DataFineTrim +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10; +-- else +-- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD2] +-- where +-- -- codfis like +-- -- CASE when @CodiceFiscale like '%FF@%'THEN '%%' +-- -- ELSE @CodiceFiscale +-- -- END +-- --and codman = +-- -- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- -- ELSE '' +-- -- END +-- codfis= @CodiceFiscale +-- and rete= @Rete +-- and DTTRIM = @DataFineTrim +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10; +--SELECT +--K.COD_FISCALE, +--K.RETE, +--CASE +-- when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf +-- when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi +-- when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi +-- else 0 +--END AS CTV_AGGREG, +--K.CREDITRISK, +--CASE +-- WHEN (@contaPOS - @contacc = 0) THEN 0 +-- ELSE VAR_PERC_PTF +--END AS VAR, +--CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +--CASE +-- WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 +-- --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' +-- ELSE null +--END AS coperturaString, +---- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi +--beneficio as diversificazione, +----case +----when cod_Aggreg = 'COMPLESSIVO' then null +----when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio +----when cod_Aggreg = 'COMPLESSIVO|TERZI' then null +----END AS diversificazione, +---- fine modifica del 19/6/2018 +--CASE +-- WHEN (@contaPOS - @contacc = 0) THEN 100 +-- ELSE COPERTURA +--END AS COPERTURA, +--case +--when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +--when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +--ELSE '' +--END AS PATRIMONIO, +--case +-- when b.profilo is null then -1 +-- else b.profilo +--end as profiloCode, +--isnull(b.max_var, 0) as var_profilo, +-------------------------- MIFID2 - MAGGIO 2018 +--case @maxComplessita +-- when 0 then '-' +-- when 1 then 'Minima' +-- when 2 then 'Bassa' +-- when 3 then 'Media' +-- when 4 then 'Alta' +-- when 5 then 'Molto alta' +-- else '-' +-- end +-- as complessita, +--------------------------- FINE MIFID2 - MAGGIO 2018 +----V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +----V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +--case +--when cod_Aggreg = 'COMPLESSIVO' then 3 +--when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +--ELSE '' +--END AS Ordine +--FROM +--C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a +-- ON k.cod_fiscale = a.cod_fiscale and +-- k.rete = a.rete +-- left outer join +--C6Martperiodico.CODIFICA_RISCHIO b on +--A.PROFILO_ASS=B.PROFILO +--WHERE +----A.PROFILO_ASS=B.PROFILO +----AND K.RETE=A.RETE +----AND K.COD_FISCALE= A.COD_FISCALE +--COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +--AND k.COD_FISCALE = @COdiceFISCALE +--AND k.RETE= @RETE +--ORDER BY ordine +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S150Anagrafica.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S150Anagrafica.sql new file mode 100644 index 00000000..382c7241 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S150Anagrafica.sql @@ -0,0 +1,32 @@ +CREATE procedure [C6MartPeriodico].[PL_D2_S150Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [Cliente] + ,[DatadiNascita] + ,[ETA] + ,[Professione] + ,[StatoCivile] + ,[NucleoFamiliare] + ,[Residenza] + ,[CodiceFiscale] + ,[CodicePB] + ,[CodiceRete] + ,[CodiceContratto] + ,[StatoContratto] + ,[DataSottoscrizione] + ,[DataPerfezionamento] + ,[FasciaCPP] + ,[IndirizzoEmail] + ,[ProduzioneReport] + ,[Indirizzo] + ,[CAP] + ,[Citta] + ,[Provincia] + ,[Nazione] + ,[PRESSO] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S25Anagrafica] + WHERE [CodiceRete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S150Anagrafica_BkUpParall.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S150Anagrafica_BkUpParall.sql new file mode 100644 index 00000000..79e8a896 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S150Anagrafica_BkUpParall.sql @@ -0,0 +1,100 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S150Anagrafica] 'F', 'NCLGDE26B18L388P' +CREATE procedure [C6MartPeriodico].[PL_D2_S150Anagrafica_BkUpParall] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + --V Indirizzo Secondo AULETTA + --CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + -- THEN + -- REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + -- + ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') + -- ELSE + -- REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + -- + ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') + --END AS Residenza, + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') else '' end + ' ' + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') else '' end + ' ' + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_SOTT) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + NULL AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + CONTRATTOSEI.[Prov] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.contrattosei as CONTRATTOSEI + INNER JOIN + C6MARTPERIODICO.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MARTPERIODICO.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + LEFT JOIN + C6MARTPERIODICO.ANAG_CLIENTI_PREV + ON + ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + LEFT JOIN + C6MARTPERIODICO.DATI_REPORT + ON + ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + WHERE 1 = 1 + AND ANAG_CLIENTI.RETE = @RETE + AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S151ProfiloDiRischio.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S151ProfiloDiRischio.sql new file mode 100644 index 00000000..2d61d5ea --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S151ProfiloDiRischio.sql @@ -0,0 +1,49 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S95ProfiloDiRischio]F,00247580970 +CREATE procedure [C6MartPeriodico].[PL_D2_S151ProfiloDiRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskclass, + @experience as experince +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S152Patrimonio.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S152Patrimonio.sql new file mode 100644 index 00000000..50ff54e3 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S152Patrimonio.sql @@ -0,0 +1,90 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S152Patrimonio] 'f','BNLSRG42S13E666Q' +CREATE procedure [C6MartPeriodico].[PL_D2_S152Patrimonio] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + -- modifica del 05/02/2019 per il ProQuota + declare @PatrimonioImmobiliareProQuota decimal(15,2) + -- fine modifica del 05/02/2019 per il ProQuota + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT @PatrimonioBF = SUM(CTV) + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area not in ('CC','SELF') + SELECT @Part_viaggianti = SUM(IMPORTO) + FROM + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Martperiodico.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) T + SELECT @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + SELECT @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + -- modifica del 05/02/2019 per il ProQuota + SELECT + @PatrimonioImmobiliareProQuota = isnull(SUM(patrImm.VALORE_STIMATO_PROQUOTA), 0) + FROM + C6MARTPeriodico.PATRIMONIO_IMMOBILIARE_ProQuota patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + -- fine modifica del 05/02/2019 per il ProQuota + SELECT @PatrimonioAltro = SUM(patrAltro.ctv) + FROM C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV + -- modifica del 05/02/2019 per il ProQuota + ,@PatrimonioImmobiliareProQuota as ImmobiliarePQCTV + -- fine modifica del 05/02/2019 per il ProQuota +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S152Patrimonio_20190225__ori.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S152Patrimonio_20190225__ori.sql new file mode 100644 index 00000000..becf6a66 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S152Patrimonio_20190225__ori.sql @@ -0,0 +1,75 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S152Patrimonio] 'S','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodico].[PL_D2_S152Patrimonio_20190225__ori] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT @PatrimonioBF = SUM(CTV) + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area not in ('CC','SELF') + SELECT @Part_viaggianti = SUM(IMPORTO) + FROM + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Martperiodico.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) T + SELECT @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + SELECT @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT @PatrimonioAltro = SUM(patrAltro.ctv) + FROM C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S152Patrimonio_20190225_preProquota.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S152Patrimonio_20190225_preProquota.sql new file mode 100644 index 00000000..3ffc97be --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S152Patrimonio_20190225_preProquota.sql @@ -0,0 +1,75 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S152Patrimonio] 'S','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodico].[PL_D2_S152Patrimonio_20190225_preProquota] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT @PatrimonioBF = SUM(CTV) + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area not in ('CC','SELF') + SELECT @Part_viaggianti = SUM(IMPORTO) + FROM + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Martperiodico.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) T + SELECT @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + SELECT @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT @PatrimonioAltro = SUM(patrAltro.ctv) + FROM C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S153PatrimonioFinanziario.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S153PatrimonioFinanziario.sql new file mode 100644 index 00000000..c539142c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S153PatrimonioFinanziario.sql @@ -0,0 +1,107 @@ +-- [C6MartPeriodico].[PL_D2_S153PatrimonioFinanziario] 's','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodico].[PL_D2_S153PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Intermediario, + Ordine, + CASE @Rete WHEN 'F' THEN 'Fideuram' WHEN 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS Banca, + SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine)) / + (SUM(ctv) over (partition by 'Totale')) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + CASE @Rete WHEN 'F' THEN 'Fideuram' WHEN 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE 1 = 1 + AND patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + and patrBF.id_area not in ('CC','SELF') + UNION ALL + SELECT + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + AND patrTerzi.Rete = @Rete + AND patrTerzi.Cod_Fiscale = @CodiceFiscale + GROUP BY patrTerzi.Intermediario + ) PATR + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S153PatrimonioFinanziario] Script Date: 09/02/2022 11:23:41 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- [C6MartPeriodico].[PL_D2_S153PatrimonioFinanziario] 's','LMNFNC40L14L219U' +--ALTER procedure [C6MartPeriodico].[PL_D2_S153PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- SELECT +-- Intermediario, +-- Ordine, +-- Banca, +-- Controvalore, +-- round(Percentuale,2) as Percentuale +-- FROM +-- ( +-- SELECT DISTINCT +-- Intermediario, +-- Ordine, +-- CASE @Rete WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS Banca, +-- SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, +-- ( +-- (SUM(ctv) over (partition by Intermediario,Ordine)) / +-- (SUM(ctv) over (partition by 'Totale')) +-- ) * 100 AS PERCENTUALE +-- FROM +-- ( +-- SELECT +-- CASE @Rete WHEN 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 1 AS ordine +-- FROM C6MartPeriodico.PATRIMONIO_BF patrBF +-- WHERE 1 = 1 +-- AND patrBF.Rete = @Rete +-- AND patrBF.Cod_Fiscale = @CodiceFiscale +-- and patrBF.id_area not in ('CC','SELF') +-- UNION ALL +-- SELECT +-- Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 2 AS ordine +-- FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi +-- WHERE 1 = 1 +-- AND patrTerzi.Rete = @Rete +-- AND patrTerzi.Cod_Fiscale = @CodiceFiscale +-- GROUP BY patrTerzi.Intermediario +-- ) PATR +-- ) A +-- WHERE CONTROVALORE IS NOT NULL +-- ORDER BY Ordine +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S154PatrimonioFinanziario.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S154PatrimonioFinanziario.sql new file mode 100644 index 00000000..459c490c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S154PatrimonioFinanziario.sql @@ -0,0 +1,277 @@ +--[C6MartPeriodico].[PL_D2_S154PatrimonioFinanziario] 'S','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodico].[PL_D2_S154PatrimonioFinanziario] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + CASE @Rete WHEN 'S' THEN 'Sanpaolo Invest' WHEN 'F' THEN 'Fideuram' ELSE 'IW Private Investments' END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + SELECT --PRODOTTI BF ESCLUSI GLI ASUL + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO NOT IN ('ASUL') + AND PATRBF.ID_AREA not in ('CC','SELF') + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + --DETTAGLIO ASUL SENZA SKANDIA + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --CON SKANDIA + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S154PatrimonioFinanziario] Script Date: 09/02/2022 11:26:38 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +----[C6MartPeriodico].[PL_D2_S154PatrimonioFinanziario] 'S','LMNFNC40L14L219U' +--ALTER procedure [C6MartPeriodico].[PL_D2_S154PatrimonioFinanziario] +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +--SELECT +-- A.Banca, +-- A.Ordinamento, +-- A.AssetClassId, +-- A.AssetClassName, +-- cast(A.Controvalore as decimal(19,6)) Controvalore, +-- A.Percentuale, +-- cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +--FROM +--( +-- SELECT DISTINCT +-- CASE @Rete WHEN 'S' THEN 'Sanpaolo Invest'ELSE 'Fideuram' END AS Banca, +-- ASSETCLASS.ORDINAMENTO AS Ordinamento, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') +-- ) * 100 AS Percentuale +-- FROM ( +-- SELECT --PRODOTTI BF ESCLUSI GLI ASUL +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- PATRBF.TIPO_PRODOTTO NOT IN ('ASUL') +-- AND PATRBF.ID_AREA not in ('CC','SELF') +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +---- SELECT +---- ASSETPERC.ID_ASSETCLASS, +---- PATRBF.CTV*ASSETPERC.PERC as Controvalore +---- FROM +---- C6MartPeriodico.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MartPeriodico.ASSET_PERC ASSETPERC +---- ON +---- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +---- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +---- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN +---- C6MartPeriodico.ClientiConCCNegativo CCNegativo +---- ON +---- PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- WHERE +---- --ELIMINO I CC CON SALDO NEGATIVO +---- PATRBF.TIPO_PRODOTTO = 'CC' +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND CCNegativo.Cod_Fiscale IS NULL +---- UNION ALL +-- --DETTAGLIO ASUL SENZA SKANDIA +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --CON SKANDIA +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI +-- LEFT OUTER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI NON A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI +-- LEFT OUTER JOIN +-- C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MartPeriodico.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--ORDER BY A.ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare.sql new file mode 100644 index 00000000..745b50ab --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare.sql @@ -0,0 +1,39 @@ +CREATE procedure [C6MartPeriodico].[PL_D2_S155PatrimonioImmobiliare] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + -- modifica del 05/02/2019 per il ProQuota + select + Descrizione, + Tipologia, + Localita, + AffittoPercepito, + Valore_stimato as Valore, + sum(Valore_stimato) OVER (PARTITION BY 'Valore_stimato') as Totale, + sum(AffittoPercepito) OVER (PARTITION BY 'AffittoPercepito') as TotaleAffitto, + Tipologia_Diritto as TipologiaDiritto, + ProQuota, + Valore_Stimato_ProQuota as Valore_ProQuota, + sum(Valore_Stimato_ProQuota) over (partition by 'Valore_Stimato_ProQuota') as TotaleProQuota + from C6MARTPERIODICO.PATRIMONIO_IMMOBILIARE_ProQuota + where Rete = @Rete + and COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC + -- fine modifica del 05/02/2019 per il ProQuota + --SELECT + -- PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + -- PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + -- PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + -- isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + -- PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + -- SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + -- SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + --FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + --WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + -- AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + --ORDER BY 5 DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190225_preProquota.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190225_preProquota.sql new file mode 100644 index 00000000..6aee59c0 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190225_preProquota.sql @@ -0,0 +1,21 @@ +CREATE procedure [C6MartPeriodico].[PL_D2_S155PatrimonioImmobiliare_20190225_preProquota] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + SELECT + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190502_ProQuota.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190502_ProQuota.sql new file mode 100644 index 00000000..a8f45cff --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S155PatrimonioImmobiliare_20190502_ProQuota.sql @@ -0,0 +1,39 @@ +CREATE procedure [C6MartPeriodico].[PL_D2_S155PatrimonioImmobiliare_20190502_ProQuota] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + -- modifica del 05/02/2019 per il ProQuota + select + Descrizione, + Tipologia, + Localita, + AffittoPercepito, + Valore_stimato as Valore, + sum(Valore_stimato) OVER (PARTITION BY 'Valore_stimato') as Totale, + sum(AffittoPercepito) OVER (PARTITION BY 'AffittoPercepito') as TotaleAffitto, + Tipologia_Diritto as TipologiaDiritto, + ProQuota, + Valore_Stimato_ProQuota as Valore_ProQuota, + sum(Valore_Stimato_ProQuota) over (partition by 'Valore_Stimato_ProQuota') as TotaleProQuota + from C6MARTPERIODICO.PATRIMONIO_IMMOBILIARE_ProQuota + where Rete = @Rete + and COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC + -- fine modifica del 05/02/2019 per il ProQuota + --SELECT + -- PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + -- PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + -- PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + -- isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + -- PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + -- SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + -- SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + --FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + --WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + -- AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + --ORDER BY 5 DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S156ALtroPatrimonio.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S156ALtroPatrimonio.sql new file mode 100644 index 00000000..e9fb2ebd --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S156ALtroPatrimonio.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_D2_S156ALtroPatrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + SELECT + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM + C6MartPeriodico.PATRIMONIO_ALTRO + WHERE + PATRIMONIO_ALTRO.RETE = @Rete + AND PATRIMONIO_ALTRO.COD_FISCALE = @CodiceFiscale + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi.sql new file mode 100644 index 00000000..bcfb41ec --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi.sql @@ -0,0 +1,42 @@ +CREATE procedure [C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S133_S157DatiPiramide] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql new file mode 100644 index 00000000..48f505fa --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql @@ -0,0 +1,250 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi] 'F','NDRRRT54L20D869S' +CREATE procedure [C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + AND ID_AREA not in ('Na', 'Cc','Self') + DECLARE @TOTCCSELF AS INT + SELECT @TOTCCSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND (TIPO_PRODOTTO = 'Cc' OR ISIN = 'EURO00000009' ) +--INIZIO INTERVENTI OMNIA quiii2 + DECLARE @TOTSELF AS INT + SELECT @TOTSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' +--FINE INTERVENTI OMNIA quiii2 + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCCSELF = @TOT THEN 0.00 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + WHEN (@TOTCCSELF <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'n.c.' + --V SOLO SELF -> VAR = 'n.c.' + WHEN (@TOTSELF = @TOT) THEN 'n.c.' + --V SOLO CC -> VAR = 0 + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCCSELF = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' +--INIZIO INTERVENTI OMNIA +-- WHEN @TOTCC = @TOT THEN NULL + WHEN @TOTCCSELF = @TOT THEN NULL + WHEN @TOTSELF = @TOT THEN 'n.c.' +--FINE INTERVENTI OMNIA + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCCSELF = @TOT THEN NULL + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BkUpParall.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BkUpParall.sql new file mode 100644 index 00000000..757ef898 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_BkUpParall.sql @@ -0,0 +1,251 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi] 'F','NDRRRT54L20D869S' +CREATE procedure [C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + AND ID_AREA not in ('Na', 'Cc','Self') + DECLARE @TOTCCSELF AS INT + SELECT @TOTCCSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND (TIPO_PRODOTTO = 'Cc' OR ISIN in('EURO00000009', 'EURO10000007')) +--INIZIO INTERVENTI OMNIA quiii2 + DECLARE @TOTSELF AS INT + SELECT @TOTSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in ('EURO00000009', 'EURO10000007') +--FINE INTERVENTI OMNIA quiii2 + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCCSELF = @TOT THEN 0.00 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + WHEN (@TOTCCSELF <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'n.c.' + --V SOLO SELF -> VAR = 'n.c.' + WHEN (@TOTSELF = @TOT) THEN 'n.c.' + --V SOLO CC -> VAR = 0 + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCCSELF = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' +--INIZIO INTERVENTI OMNIA +-- WHEN @TOTCC = @TOT THEN NULL + WHEN @TOTCCSELF = @TOT THEN NULL + WHEN @TOTSELF = @TOT THEN 'n.c.' +--FINE INTERVENTI OMNIA + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCCSELF = @TOT THEN NULL + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_testFc.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_testFc.sql new file mode 100644 index 00000000..b8bb356a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S157ConfrontoPiramidi_testFc.sql @@ -0,0 +1,250 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi] 'F','NDRRRT54L20D869S' +CREATE procedure [C6MartPeriodico].[PL_D2_S157ConfrontoPiramidi_testFc] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + AND ID_AREA not in ('Na', 'Cc','Self') + DECLARE @TOTCCSELF AS INT + SELECT @TOTCCSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND (TIPO_PRODOTTO = 'Cc' OR ISIN = 'EURO00000009' ) +--INIZIO INTERVENTI OMNIA quiii2 + DECLARE @TOTSELF AS INT + SELECT @TOTSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' +--FINE INTERVENTI OMNIA quiii2 + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCCSELF = @TOT THEN 0.00 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + WHEN (@TOTCCSELF <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'n.c.' + --V SOLO SELF -> VAR = 'n.c.' + WHEN (@TOTSELF = @TOT) THEN 'n.c.' + --V SOLO CC -> VAR = 0 + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCCSELF = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' +--INIZIO INTERVENTI OMNIA +-- WHEN @TOTCC = @TOT THEN NULL + WHEN @TOTCCSELF = @TOT THEN NULL + WHEN @TOTSELF = @TOT THEN 'n.c.' +--FINE INTERVENTI OMNIA + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCCSELF = @TOT THEN NULL + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S158PiramideModello.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S158PiramideModello.sql new file mode 100644 index 00000000..1d6c9e46 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S158PiramideModello.sql @@ -0,0 +1,51 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D_S158PiramideModello] 'F','CLRLCU75R04B573X' +CREATE procedure [C6MartPeriodico].[PL_D2_S158PiramideModello] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT BF.NOME_PROGETTO AS NomePrg, + PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + AGGR.VAR_PERC_PTF as VarPrg, + SUM(BF.CTV)AS ControvalorePrg + FROM C6MartPeriodico.PATRIMONIO_BF BF + INNER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AGGR + ON BF.RETE= AGGR.RETE + AND BF.COD_FISCALE= AGGR.COD_FISCALE + AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO +'|'+cast(BF.ORDINAMENTO_PROGETTO as char) --per Aladdin è stato aggiunta la concatenazione --> cast(BF.ORDINAMENTO_PROGETTO as char) + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD + ON BF.RETE= PIRMOD.RETE + AND BF.COD_FISCALE= PIRMOD.COD_FISCALE + AND BF.ID_AREA = PIRMOD.ID_AREA + AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'inv' + AND BF.RETE = @Rete + AND BF.COD_FISCALE = @CodiceFiscale + AND BF.CTV > 0 + group BY BF.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,AGGR.VAR_PERC_PTF + --SELECT + -- AREA_BISOGNO.ID_AREA AS Need_Breve, -- NOME BREVE DELL'AREA DI BISOGNO + -- PIRMOD.NOME_PROGETTO AS Nome_Progetto, -- NOME DEL PROGETTO (AREA INV) + -- ISNULL(PIRMOD.PERC_AREA,0) AS Perc_Need, -- PERCENTUALE DI ALLOCAZIONE SULL'AREA DI BISOGNO + -- PIRMOD.ORIZZ_TEMP AS Orizz_Temp, -- ORIZZONTE TEMPORALE DEL PROGETTO + -- PIRMOD.CTV_PROGETTO AS Controvalore, -- Controvalore Progetto + -- SUM(ISNULL(PIRMOD.PERC_AREA,0)) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE, AREA_BISOGNO.ID_AREA) AS Totale_Percentuale, -- PERCENTUALE DI ALLOCAZIONE DEI PROGETTI + -- SUM(ISNULL(PIRMOD.PERC_AREA,0)) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE) AS Totale, + -- COUNT(CASE WHEN AREA_BISOGNO.ID_AREA = 'INV' AND PIRMOD.NOME_PROGETTO IS NOT NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE) AS NumeroProgettiInv, + -- AREA_BISOGNO.ORDINAMENTO AS Ordinamento + --FROM C6MartPeriodico.AREA_BISOGNO + --LEFT JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD + -- ON PIRMOD.ID_AREA = AREA_BISOGNO.ID_AREA + -- AND((PIRMOD.ID_AREA = 'INV' AND PIRMOD.NOME_PROGETTO IS NOT NULL )--OR PIRAMIDE_MOD.tipo_progetto<>'Default' + -- OR PIRMOD.ID_AREA IN ('RIS','EXT','LIQ','PRE')) + -- AND PIRMOD.RETE = @Rete + -- AND PIRMOD.COD_FISCALE = @CodiceFiscale + --WHERE AREA_BISOGNO.ORDINAMENTO < 6 + --ORDER BY AREA_BISOGNO.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S159PatrimonioFinanziario.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S159PatrimonioFinanziario.sql new file mode 100644 index 00000000..c63dc36f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S159PatrimonioFinanziario.sql @@ -0,0 +1,246 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S159PatrimonioFinanziario] 'F','BSHLRI69R13Z100Y' +CREATE procedure [C6MartPeriodico].[PL_D2_S159PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(19,5)) AS Controvalore, + cast(A.Percentuale as decimal(19,5)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area not in ('CC','Self') + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S159PatrimonioFinanziario] Script Date: 09/02/2022 11:30:15 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +---- [C6MartPeriodico].[PL_DT_S159PatrimonioFinanziario] 'F','BSHLRI69R13Z100Y' +--ALTER procedure [C6MartPeriodico].[PL_D2_S159PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +--SELECT +-- A.BANCA AS Banca, +-- A.ORDINAMENTO AS Ordinamento, +-- A.AssetClassId AS AssetClassId, +-- A.AssetClassName AS AssetClassName, +-- cast(A.Controvalore as decimal(19,5)) AS Controvalore, +-- cast(A.Percentuale as decimal(19,5)) AS Percentuale, +-- cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +--FROM +--( +-- SELECT DISTINCT +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Fideuram' +-- END AS Banca, +-- ASSETCLASS.ORDINAMENTO, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / +-- --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 +-- THEN 1 +-- ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) +-- END +-- ) * 100 AS Percentuale +-- FROM ( +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- and patrbf.id_area not in ('CC','Self') +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +---- SELECT +---- ASSETPERC.ID_ASSETCLASS, +---- PATRBF.CTV*ASSETPERC.PERC as Controvalore +---- FROM +---- C6MartPeriodico.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MartPeriodico.ASSET_PERC ASSETPERC +---- ON +---- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +---- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +---- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN +---- C6MartPeriodico.ClientiConCCNegativo CCNegativo +---- ON +---- PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- WHERE +---- --ELIMINO I CC CON SALDO NEGATIVO +---- PATRBF.TIPO_PRODOTTO = 'CC' +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND CCNegativo.Cod_Fiscale IS NULL +---- UNION ALL +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MartPeriodico.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--ORDER BY A.ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF.sql new file mode 100644 index 00000000..d261df6a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF.sql @@ -0,0 +1,238 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'SLLLMN44E29A176G' +-- [C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF] 'F', 'SPNTTR67T20F205D' +CREATE procedure [C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +distinct +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + apc.is_APC as isAPC +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) + --aggiunta 18/12/2022 per APC103 +left join C6MartPeriodico.WSEICC apc +on + apc.RETE=PATRBF.RETE + and apc.cod_fiscale=patrbf.cod_fiscale + and PATRBF.ID_CONTRATTO = --apc.CODCONFPR + (case when PATRBF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) + --fine aggiunta 18/12/2022 per APC103 +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_progetto,nome_progetto, PATRBF.CTV DESC +END +--select top 1 * from c6martperiodico.patrimonio_bf where tipo_prodotto = 'CC' +--select SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)),ANAG_CC.COD_CC +--from c6martperiodico.anag_cc \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_20151222.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_20151222.sql new file mode 100644 index 00000000..1a581c88 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_20151222.sql @@ -0,0 +1,226 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'SLLLMN44E29A176G' +-- [C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF] 'F', 'MRNMNG53P46H294F' +CREATE procedure [C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF_BK_20151222] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_progetto,nome_progetto, PATRBF.CTV DESC +END +--select top 1 * from c6martperiodico.patrimonio_bf where tipo_prodotto = 'CC' +--select SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)),ANAG_CC.COD_CC +--from c6martperiodico.anag_cc \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql new file mode 100644 index 00000000..95920122 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql @@ -0,0 +1,225 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'SLLLMN44E29A176G' +-- [C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF] 'F', 'NDRRRT54L20D869S' +CREATE procedure [C6MartPeriodico].[PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin ='EURO00000009' THEN 'n.c.' +ELSE NULL END as varProdottoString, +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin ='EURO00000009') then 100.00 +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_progetto,nome_progetto, PATRBF.CTV DESC +END +--select top 1 * from c6martperiodico.patrimonio_bf where tipo_prodotto = 'CC' +--select SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)),ANAG_CC.COD_CC +--from c6martperiodico.anag_cc \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S162DettaglioProdotti.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S162DettaglioProdotti.sql new file mode 100644 index 00000000..800b4129 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S162DettaglioProdotti.sql @@ -0,0 +1,102 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S162DettaglioProdotti] 'S', 'VNZGPL53M04L781P' +CREATE procedure [C6MartPeriodico].[PL_D2_S162DettaglioProdotti] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + ON + PATRTERZI.RETE = RISCHIOAGGREG.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGREG.COD_FISCALE + AND RISCHIOAGGREG.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + WHERE 1 = 1 + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.DESCR_GRUPPO_PRODOTTO IS NOT NULL + and ROUND(PATRTERZI.CTV,2) != 0.00 + ORDER BY + OrdinamentoProdotti, + Controvalore DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..5f3c1ec4 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,67 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_D2_S163PatrimonioFinanziarioMAssetClass] 'S', 'SLLVTI76H02A176H' +CREATE procedure [C6MartPeriodico].[PL_D2_S163PatrimonioFinanziarioMAssetClass] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT DISTINCT + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + case SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + when 0 then 1 + else SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + end +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + where Controvalore <> 0 + ORDER BY + ASSETCLASS.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S164PolizzeAltriIstituti.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S164PolizzeAltriIstituti.sql new file mode 100644 index 00000000..11d95b65 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S164PolizzeAltriIstituti.sql @@ -0,0 +1,31 @@ +-- ============================================= +-- Author: Marco Gentilezza +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_DT_S164PolizzeAltriIstituti]'S', 'MRTRRT57T17E758I' +CREATE procedure [C6MartPeriodico].[PL_D2_S164PolizzeAltriIstituti] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' + WHERE PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S165FondiAltriIstituti.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S165FondiAltriIstituti.sql new file mode 100644 index 00000000..673925a8 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S165FondiAltriIstituti.sql @@ -0,0 +1,63 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S165FondiAltriIstituti] 'S', 'MRTRRT57T17E758I' +CREATE procedure [C6MartPeriodico].[PL_D2_S165FondiAltriIstituti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + WHERE + PATRTERZI.rete = @Rete + and PATRTERZI.cod_fiscale = @CodiceFiscale + --AND PATRTERZI.TIPO_PRODOTTO = 'Fondi pensione' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S166ContoCorrenteAI.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S166ContoCorrenteAI.sql new file mode 100644 index 00000000..6b8a211e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S166ContoCorrenteAI.sql @@ -0,0 +1,24 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_D2_S166ContoCorrenteAI] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + CCTerzi.INTERMEDIARIO AS Intermediario, + CCTerzi.COD_CC AS ContoCorrente, + CCTerzi.SALDO AS Saldo, + null as creditrisk, + 'n.a.' as creditriskstring, + 0.00 as var + FROM + C6MartPeriodico.ANAG_CC_Terzi CCTerzi + WHERE + CCTerzi.rete= @Rete + AND CCTerzi.cod_fiscale= @CodiceFiscale + and CCTerzi.SALDO != 0 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito.sql new file mode 100644 index 00000000..8c2c9960 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito.sql @@ -0,0 +1,632 @@ +-- Stored procedure +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S167DistribuzioneRischioCredito] 'F','GGGNNA41E59G687E' +-- N.B. Questa è importante per le note presenti nel macro asset class S10 +CREATE procedure [C6MartPeriodico].[PL_D2_S167DistribuzioneRischioCredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest', 'IW Private Investments') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' WHEN PATRBF.RETE ='S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' WHEN PATRBF.RETE = 'S' THEN 'SANPAOLO' ELSE 'IWPRIVATEINVESTMENTS' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +'Altri Istituti' AS INTERMEDIARIO, +--PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +--PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S167DistribuzioneRischioCredito] Script Date: 09/02/2022 11:33:09 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Authors: +---- Create date: +---- Description: +---- ============================================= +---- [C6MartPeriodico].[PL_D2_S167DistribuzioneRischioCredito] 'F','GGGNNA41E59G687E' +--ALTER procedure [C6MartPeriodico].[PL_D2_S167DistribuzioneRischioCredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +----QUERY PER INTERMEDIARIO +--SELECT +--RETE, +--COD_FISCALE, +--INTERMEDIARIO, +--CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 +-- ELSE 2 END AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +-- -- Start 1.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +----SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS ctv +--FROM +--[C6Martperiodico].PATRIMONIO_BF PATRBF +-----Per calcolare la somma algebrica dei cc +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MARTPERIODICO].pATRIMONIO_BF +--where id_Area in ('Cc','Self') +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +----fine calcolo somma cc +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') +-- THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +----INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +--LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END, +--CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +----- End 1.1 +--UNION ALL +---- Start 1.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--'Altri Istituti' AS INTERMEDIARIO, +----PATRTERZI.INTERMEDIARIO, +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6Martperiodico].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +----PATRTERZI.INTERMEDIARIO, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 1.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE, +--INTERMEDIARIO +---------- +--UNION ALL +------------- +----QUERY TOTALE +--SELECT +--RETE, +--COD_FISCALE, +--'Complessivo' AS INTERMEDIARIO, +--3 AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +----- Start 2.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +----SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS CTV +--FROM +--[C6Martperiodico].PATRIMONIO_BF PATRBF +----per fare la somma algebrica dei cc +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MARTPERIODICO].pATRIMONIO_BF +--where id_Area in ('Cc','Self') +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +----fine somma cc +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') +-- THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 2.1 +--UNION ALL +---- Start 2.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +--left outer join +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6Martperiodico].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +----- End 2.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito_PatrimonioNonRapp.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito_PatrimonioNonRapp.sql new file mode 100644 index 00000000..17ac7ba3 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S167DistribuzioneRischioCredito_PatrimonioNonRapp.sql @@ -0,0 +1,314 @@ +-- Stored procedure +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D2_S167DistribuzioneRischioCredito] 'F','GGGNNA41E59G687E' +CREATE procedure [C6MartPeriodico].[PL_D2_S167DistribuzioneRischioCredito_PatrimonioNonRapp] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +into #rapp +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +'Altri Istituti' AS INTERMEDIARIO, +--PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +--PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +Select top (1) CTV_notCovered from #rapp +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S168TabellaEmittenti.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S168TabellaEmittenti.sql new file mode 100644 index 00000000..01b3e1e3 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S168TabellaEmittenti.sql @@ -0,0 +1,397 @@ +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6Mart].[PL_D_S168TabellaEmittenti] 'F','FF@7181' +CREATE procedure [C6MartPeriodico].[PL_D2_S168TabellaEmittenti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + --SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, --modifica apportata il 24/04 per concentrazione % errata secondo Levi + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLESSIVO) AS CONCENTRATION, + sum(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS, + RATING + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +--RATING as RATING +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +--RATING as RATING +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V +LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS, +RATING +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10 +--RATING +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S168TabellaEmittenti_BK_20151222.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S168TabellaEmittenti_BK_20151222.sql new file mode 100644 index 00000000..fccda99a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S168TabellaEmittenti_BK_20151222.sql @@ -0,0 +1,396 @@ +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6Mart].[PL_D_S168TabellaEmittenti] 'F','MRNMNG53P46H294F' +CREATE procedure [C6MartPeriodico].[PL_D2_S168TabellaEmittenti_BK_20151222] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS, + RATING + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +--RATING as RATING +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +--RATING as RATING +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V +LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS, +RATING +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10 +--RATING +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..29ccee20 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito.sql @@ -0,0 +1,557 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] 'S','BLDMCL41L09L378V' +CREATE procedure [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + -- 16/7/2018 + into #appo + -- fine 16/7/2018 + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' then 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' then 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.cod_fiscale = @codiceFiscale + and PATRBF.rete= @rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' then 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' then 'Patrimonio IW Private Inv.' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.cod_fiscale =@codiceFiscale + and TERZI.rete=@rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'W' then 'Patrimonio IW Private Inv.' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine + --------------------------------------------- 16/7/2018 + declare @contaPatrimoni smallint + select @contaPatrimoni = count(*) from #appo where ordine = 1 + if @contaPatrimoni = 0 --manca il patrimonio casa + begin + select * from ( + select top 1 + #appo.RETE, + #appo.COD_FISCALE, + case when #appo.RETE= 'F' then 'Patrimonio Fideuram' + WHEN #appo.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + when #appo.RETE= 'W' then 'Patrimonio IW Private Inv.' + end as INSTITUTENAME, + 0 as CTV, + #appo.CODICEPROFILO, + #appo.VARMAX, + 0 AS VAR, + 'n.c.' AS VARSTRING, + 0 as RISKCLASS, + 'n.c.' as RISKCLASSSTRING, + #appo.COVERAGE, + NULL AS COVERAGESTRING, + #appo.RISKCLASSMAX, + 0.0 as PERCENTAGE, + 1 as ordine, + 0 as Ully_perc + from #appo + union + select * from #appo) risultato order by ordine; + end + else + select * from #appo order by ordine; + ------------------------------------------ fine 16/7/2018 +--6,7,9,13 della appo +--case +-- when var <= varmax then '1' +-- when var > varmax then '0' +-- else -1 +--end as rischio_mercato, +--case +-- when riskclass is null then '1' +-- when riskclass <= convert(int,RISKCLASSMAX) then '1' +-- when riskclass > convert(int,RISKCLASSMAX) then '0' +-- else -1 +--end as rischio_credito +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] Script Date: 09/02/2022 11:34:55 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +-- --[C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] 'S','BLDMCL41L09L378V' +--ALTER procedure [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- PATRBF.INSTITUTENAME, +-- CTV, +-- M.PROFILO_ASS AS CODICEPROFILO, +-- CR.MAX_VAR AS VARMAX, +-- RISK_AGG.VAR_PERC_PTF AS VAR , +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END AS VARSTRING, +-- RISK_AGG.CREDITRISK RISKCLASS, +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END AS RISKCLASSSTRING, +-- ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +----V La copertura viene valorizzata con un valore da 0 da 100 +-- -- CASE +-- -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +---- ELSE +--NULL +---- END +--AS COVERAGESTRING, +-- M.RISKCLASS AS RISKCLASSMAX, +-- round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / +-- -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 +-- THEN 1 +-- ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) +-- END) +-- *100 ,2)AS PERCENTAGE, +-- --V +-- ORDINE, +-- RISK_AGG.Ully_perc +-- -- 16/7/2018 +-- into #appo +-- -- fine 16/7/2018 +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, +-- SUM(PATRBF.CTV) AS CTV, +-- --V +-- 1 as ORDINE, +-- RISK_AGG.Ully_perc +-- from +-- c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG +-- where +-- 1=1 +-- and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE +-- and PATRBF.rete= RISK_AGG.rete +-- and PATRBF.cod_fiscale = @codiceFiscale +-- and PATRBF.rete= @rete +-- and PATRBF.CTV > 0 +-- and +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or +-- --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- RISK_AGG.Ully_perc, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END +-- UNION +-- SELECT +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- 'Patrimonio altri Istituti' AS INSTITUTENAME, +-- SUM(ROUND(TERZI.CTV,2)) AS CTV, +-- --V +-- 2 as ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG +-- where +-- 1=1 +-- and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE +-- and TERZI.rete= RISK_AGG.rete +-- and TERZI.cod_fiscale =@codiceFiscale +-- and TERZI.rete=@rete +-- and TERZI.CTV > 0 +-- and +-- ( +-- --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- GROUP BY +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- RISK_AGG.Ully_perc +-- ) PATRBF +-- LEFT OUTER JOIN +-- c6martperiodico.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- AND +-- (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' +-- WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' +-- else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- UNION ALL +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- 'Patrimonio Complessivo' AS INSTITUTENAME, +-- SUM(CTV), +-- MAX(M.PROFILO_ASS) AS CODICEPROFILO, +-- MAX(CR.MAX_VAR) AS VARMAX, +-- MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , +-- MAX( CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END) AS VARSTRING, +-- MAX(RISK_AGG.CREDITRISK) RISKCLASS, +-- MAX( +-- case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END ) +-- AS RISKCLASSSTRING, +-- MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, +-- MAX( CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END) AS COVERAGESTRING, +-- --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, +-- MAX(M.RISKCLASS) AS RISKCLASSMAX, +-- 100 AS PERCENTAGE, +-- --V +-- 3 AS ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- SUM(PATRBF.CTV) AS CTV +-- from +-- c6martperiodico.patrimonio_bf PATRBF +-- where +-- 1=1 +-- and cod_fiscale =@codiceFiscale +-- and rete=@rete +-- and PATRBF.CTV > 0 +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE +-- UNION +-- SELECT +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- SUM(ROUND(TERZI.CTV,2)) AS CTV +-- FROM +-- c6martperiodico.PATRIMONIO_TERZI TERZI +-- where +-- 1=1 +-- and cod_fiscale =@codiceFiscale +-- and rete=@rete +-- and TERZI.CTV > 0 +-- GROUP BY +-- TERZI.RETE, +-- TERZI.COD_FISCALE +-- ) PATRBF +-- LEFT OUTER JOIN +-- c6martperiodico.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO' +-- ) +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- RISK_AGG.Ully_perc +-- --V +-- order by ordine +-- --------------------------------------------- 16/7/2018 +-- declare @contaPatrimoni smallint +-- select @contaPatrimoni = count(*) from #appo where ordine = 1 +-- if @contaPatrimoni = 0 --manca il patrimonio casa +-- begin +-- select * from ( +-- select top 1 +-- #appo.RETE, +-- #appo.COD_FISCALE, +-- case when #appo.RETE= 'F' then 'Patrimonio Fideuram' +-- WHEN #appo.RETE= 'S' then 'Patrimonio Sanpaolo Invest' +-- end as INSTITUTENAME, +-- 0 as CTV, +-- #appo.CODICEPROFILO, +-- #appo.VARMAX, +-- 0 AS VAR, +-- 'n.c.' AS VARSTRING, +-- 0 as RISKCLASS, +-- 'n.c.' as RISKCLASSSTRING, +-- #appo.COVERAGE, +-- NULL AS COVERAGESTRING, +-- #appo.RISKCLASSMAX, +-- 0.0 as PERCENTAGE, +-- 1 as ordine, +-- 0 as Ully_perc +-- from #appo +-- union +-- select * from #appo) risultato order by ordine; +-- end +-- else +-- select * from #appo order by ordine; +-- ------------------------------------------ fine 16/7/2018 +----6,7,9,13 della appo +----case +---- when var <= varmax then '1' +---- when var > varmax then '0' +---- else -1 +----end as rischio_mercato, +----case +---- when riskclass is null then '1' +---- when riskclass <= convert(int,RISKCLASSMAX) then '1' +---- when riskclass > convert(int,RISKCLASSMAX) then '0' +---- else -1 +----end as rischio_credito +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito_20180716.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito_20180716.sql new file mode 100644 index 00000000..e013ce83 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S169RischiomercatoRischiocredito_20180716.sql @@ -0,0 +1,227 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_S96RischiomercatoRischiocredito] 'F','GZZSLD52E20G869L' +CREATE procedure [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito_20180716] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.cod_fiscale = @codiceFiscale + and PATRBF.rete= @rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.cod_fiscale =@codiceFiscale + and TERZI.rete=@rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S170RischioDiversificazione.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S170RischioDiversificazione.sql new file mode 100644 index 00000000..87d2e5e1 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S170RischioDiversificazione.sql @@ -0,0 +1,280 @@ +-- [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] 'W','MLAMRA61P03G337F' +CREATE procedure [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] --'S','BCCNDR69P21A462P' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + and id_area not in ('LIGHT', 'VOID') + -- modifica del 5/2/2019 per escludere i record del patr non rappresentabile (commentata ed eventualmente utilizzata ad hoc) + --and (rend_non_rappr = 0 or (id_area = 'Liq' and rend_non_rappr = 1)) + --fine modifica del 5/2/2019 + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + ------------------------ MIFID2 - MAGGIO 2018 + DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim = c6martperiodico.getTrimestre(getDate(),0) + declare @maxComplessita as int + if @CodiceFiscale like '%FF@%' + select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2] + where + codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; commentata per MUA + else + select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2] + where + codfis= @CodiceFiscale + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; commentata per MUA +SELECT +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (6,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +-- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi +beneficio as diversificazione, +--case +--when cod_Aggreg = 'COMPLESSIVO' then null +--when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then null +--END AS diversificazione, +-- fine modifica del 19/6/2018 +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' when k.rete = 'S' then 'Sanpaolo Invest' else 'IW Private Investments' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +isnull(b.max_var, 0) as var_profilo, +------------------------ MIFID2 - MAGGIO 2018 +case @maxComplessita + when 0 then 'Non complesso' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + else 'n.c.' + end + as complessita, +------------------------- FINE MIFID2 - MAGGIO 2018 +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] Script Date: 09/02/2022 11:37:02 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] 's','BRNGDI72S69L219Y' +--ALTER procedure [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- declare @contaCC as int +-- select @contaCC = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete +-- declare @contaPOS as int +-- select @contaPOS = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where cod_fiscale = @codiceFiscale and rete = @rete +-- declare @ctvbf as decimal(12,2) +-- SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +-- and id_area not in ('LIGHT', 'VOID') +-- -- modifica del 5/2/2019 per escludere i record del patr non rappresentabile (commentata ed eventualmente utilizzata ad hoc) +-- --and (rend_non_rappr = 0 or (id_area = 'Liq' and rend_non_rappr = 1)) +-- --fine modifica del 5/2/2019 +-- declare @ctvterzi as decimal (12,2) +-- SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +-- ------------------------ MIFID2 - MAGGIO 2018 +-- DECLARE @DataFineTrim VARCHAR(8) +-- SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +-- declare @maxComplessita as int +-- if @CodiceFiscale like '%FF@%' +-- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD2] +-- where +-- -- codfis like +-- -- CASE when @CodiceFiscale like '%FF@%'THEN '%%' +-- -- ELSE @CodiceFiscale +-- -- END +-- --and codman = +-- -- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- -- ELSE '' +-- -- END +-- codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- and rete= @Rete +-- and DTTRIM = @DataFineTrim +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10; +-- else +-- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD2] +-- where +-- -- codfis like +-- -- CASE when @CodiceFiscale like '%FF@%'THEN '%%' +-- -- ELSE @CodiceFiscale +-- -- END +-- --and codman = +-- -- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- -- ELSE '' +-- -- END +-- codfis= @CodiceFiscale +-- and rete= @Rete +-- and DTTRIM = @DataFineTrim +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10; +--SELECT +--K.COD_FISCALE, +--K.RETE, +--CASE +-- when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf +-- when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi +-- when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi +-- else 0 +--END AS CTV_AGGREG, +--K.CREDITRISK, +--CASE +-- WHEN (@contaPOS - @contacc = 0) THEN 0 +-- ELSE VAR_PERC_PTF +--END AS VAR, +--CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +--CASE +-- WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 +-- --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' +-- ELSE null +--END AS coperturaString, +---- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi +--beneficio as diversificazione, +----case +----when cod_Aggreg = 'COMPLESSIVO' then null +----when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio +----when cod_Aggreg = 'COMPLESSIVO|TERZI' then null +----END AS diversificazione, +---- fine modifica del 19/6/2018 +--CASE +-- WHEN (@contaPOS - @contacc = 0) THEN 100 +-- ELSE COPERTURA +--END AS COPERTURA, +--case +--when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +--when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +--ELSE '' +--END AS PATRIMONIO, +--case +-- when b.profilo is null then -1 +-- else b.profilo +--end as profiloCode, +--isnull(b.max_var, 0) as var_profilo, +-------------------------- MIFID2 - MAGGIO 2018 +--case @maxComplessita +-- when 0 then '-' +-- when 1 then 'Minima' +-- when 2 then 'Bassa' +-- when 3 then 'Media' +-- when 4 then 'Alta' +-- when 5 then 'Molto alta' +-- else '-' +-- end +-- as complessita, +--------------------------- FINE MIFID2 - MAGGIO 2018 +----V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +----V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +--case +--when cod_Aggreg = 'COMPLESSIVO' then 3 +--when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +--ELSE '' +--END AS Ordine +--FROM +--C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a +-- ON k.cod_fiscale = a.cod_fiscale and +-- k.rete = a.rete +-- left outer join +--C6Martperiodico.CODIFICA_RISCHIO b on +--A.PROFILO_ASS=B.PROFILO +--WHERE +----A.PROFILO_ASS=B.PROFILO +----AND K.RETE=A.RETE +----AND K.COD_FISCALE= A.COD_FISCALE +--COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +--AND k.COD_FISCALE = @COdiceFISCALE +--AND k.RETE= @RETE +--ORDER BY ordine +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S170RischioDiversificazione_NoLight.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S170RischioDiversificazione_NoLight.sql new file mode 100644 index 00000000..b95eacb1 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S170RischioDiversificazione_NoLight.sql @@ -0,0 +1,291 @@ +-- [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] 's','ff@G81D1' +CREATE procedure [C6MartPeriodico].[PL_D2_S170RischioDiversificazione_NoLight] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + and id_area not in ('LIGHT', 'VOID') + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + ------------------------ MIFID2 - MAGGIO 2018 + DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + declare @maxComplessita as int + if @CodiceFiscale like '%FF@%' + select @maxComplessita = MAXCOMPL from [C6StagingPeriodico].[WSEIAN2] + where + -- codfis like + -- CASE when @CodiceFiscale like '%FF@%'THEN '%%' + -- ELSE @CodiceFiscale + -- END + --and codman = + -- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + -- ELSE '' + -- END + codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; + else + select @maxComplessita = MAXCOMPL from [C6StagingPeriodico].[WSEIAN2] + where + -- codfis like + -- CASE when @CodiceFiscale like '%FF@%'THEN '%%' + -- ELSE @CodiceFiscale + -- END + --and codman = + -- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + -- ELSE '' + -- END + codfis= @CodiceFiscale + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; +SELECT +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +-- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi +beneficio as diversificazione, +--case +--when cod_Aggreg = 'COMPLESSIVO' then null +--when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then null +--END AS diversificazione, +-- fine modifica del 19/6/2018 +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' when k.rete = 'S' then 'Sanpaolo Invest' else 'IW Private Investments' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +isnull(b.max_var, 0) as var_profilo, +------------------------ MIFID2 - MAGGIO 2018 +case @maxComplessita + when 0 then '-' + when 1 then 'Non complessi' + when 2 then 'Bassa' + when 3 then 'Medio-bassa' + when 4 then 'Medio-alta' + when 5 then 'Alta' + else '-' + end + as complessita, +------------------------- FINE MIFID2 - MAGGIO 2018 +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S170RischioDiversificazione_NoLight] Script Date: 09/02/2022 11:39:04 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- [C6MartPeriodico].[PL_D2_S170RischioDiversificazione] 's','ff@G81D1' +--ALTER procedure [C6MartPeriodico].[PL_D2_S170RischioDiversificazione_NoLight] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- declare @contaCC as int +-- select @contaCC = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete +-- declare @contaPOS as int +-- select @contaPOS = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where cod_fiscale = @codiceFiscale and rete = @rete +-- declare @ctvbf as decimal(12,2) +-- SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +-- and id_area not in ('LIGHT', 'VOID') +-- declare @ctvterzi as decimal (12,2) +-- SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +-- ------------------------ MIFID2 - MAGGIO 2018 +-- DECLARE @DataFineTrim VARCHAR(8) +-- SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +-- declare @maxComplessita as int +-- if @CodiceFiscale like '%FF@%' +-- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD] +-- where +-- -- codfis like +-- -- CASE when @CodiceFiscale like '%FF@%'THEN '%%' +-- -- ELSE @CodiceFiscale +-- -- END +-- --and codman = +-- -- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- -- ELSE '' +-- -- END +-- codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- and rete= @Rete +-- and DTTRIM = @DataFineTrim +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10; +-- else +-- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD] +-- where +-- -- codfis like +-- -- CASE when @CodiceFiscale like '%FF@%'THEN '%%' +-- -- ELSE @CodiceFiscale +-- -- END +-- --and codman = +-- -- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- -- ELSE '' +-- -- END +-- codfis= @CodiceFiscale +-- and rete= @Rete +-- and DTTRIM = @DataFineTrim +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10; +--SELECT +--K.COD_FISCALE, +--K.RETE, +--CASE +-- when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf +-- when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi +-- when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi +-- else 0 +--END AS CTV_AGGREG, +--K.CREDITRISK, +--CASE +-- WHEN (@contaPOS - @contacc = 0) THEN 0 +-- ELSE VAR_PERC_PTF +--END AS VAR, +--CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +--CASE +-- WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 +-- --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' +-- ELSE null +--END AS coperturaString, +---- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi +--beneficio as diversificazione, +----case +----when cod_Aggreg = 'COMPLESSIVO' then null +----when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio +----when cod_Aggreg = 'COMPLESSIVO|TERZI' then null +----END AS diversificazione, +---- fine modifica del 19/6/2018 +--CASE +-- WHEN (@contaPOS - @contacc = 0) THEN 100 +-- ELSE COPERTURA +--END AS COPERTURA, +--case +--when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +--when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +--ELSE '' +--END AS PATRIMONIO, +--case +-- when b.profilo is null then -1 +-- else b.profilo +--end as profiloCode, +--isnull(b.max_var, 0) as var_profilo, +-------------------------- MIFID2 - MAGGIO 2018 +--case @maxComplessita +-- when 0 then '-' +-- when 1 then 'Minima' +-- when 2 then 'Bassa' +-- when 3 then 'Media' +-- when 4 then 'Alta' +-- when 5 then 'Molto alta' +-- else '-' +-- end +-- as complessita, +--------------------------- FINE MIFID2 - MAGGIO 2018 +----V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +----V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +--case +--when cod_Aggreg = 'COMPLESSIVO' then 3 +--when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +--ELSE '' +--END AS Ordine +--FROM +--C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a +-- ON k.cod_fiscale = a.cod_fiscale and +-- k.rete = a.rete +-- left outer join +--C6Martperiodico.CODIFICA_RISCHIO b on +--A.PROFILO_ASS=B.PROFILO +--WHERE +----A.PROFILO_ASS=B.PROFILO +----AND K.RETE=A.RETE +----AND K.COD_FISCALE= A.COD_FISCALE +--COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +--AND k.COD_FISCALE = @COdiceFISCALE +--AND k.RETE= @RETE +--ORDER BY ordine +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql b/sql/storedTestbes/C6MartPeriodico_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..ba54d94d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,164 @@ +-- ============================================= +-- Author: +-- Create date: 30/08/2013 +-- Description: uguale a S76 +-- ============================================= +--[C6MartPeriodico].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BLNMTN60L53L736R' +CREATE procedure [C6MartPeriodico].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @NOMERETE VARCHAR(30) + IF @RETE = 'F' + SET @NOMERETE = 'Fideuram' + ELSE IF @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL +--INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <> 0.00 +--INIZIO INTERVENTI OMNIA + UNION ALL + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO , + --savingmap - Novembre 2019 + patrbf.tipo_prodotto + ORDER BY CONTROVALORE DESC +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] Script Date: 09/02/2022 11:46:31 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: 30/08/2013 +---- Description: uguale a S76 +---- ============================================= +----[C6MartPeriodico].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BLNMTN60L53L736R' +--ALTER procedure [C6MartPeriodico].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @RETE = 'F' +-- SET @NOMERETE = 'Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- PATRBF.CTV as Controvalore, +-- PATRBF.CTV as controvalore_contratto, +-- PATRBF.PARTVIA_DISINV as PartitaViaggiante, +-- @NOMERETE as Intermediario, +-- -- savingmap - Novembre 2019 +-- patrbf.tipo_prodotto as Tipo_Prodotto +-- FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC +-- ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO <> 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +----INIZIO INTERVENTI OMNIA +-- AND PATRBF.CTV <> 0.00 +----INIZIO INTERVENTI OMNIA +-- UNION ALL +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- SUM(ASUL.CTV) as Controvalore, +-- MAX(PATRBF.CTV) as controvalore_contratto, +-- SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +-- @NOMERETE as Intermediario, +-- -- savingmap - Novembre 2019 +-- patrbf.tipo_prodotto as Tipo_Prodotto +-- FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL +-- ON PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- GROUP BY +-- PATRBF.ID_CONTRATTO, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , +-- ANAGP.DESCR_PRODOTTO , +-- --savingmap - Novembre 2019 +-- patrbf.tipo_prodotto +-- ORDER BY CONTROVALORE DESC +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D3_S151ProfiloDiRischio.sql b/sql/storedTestbes/C6MartPeriodico_PL_D3_S151ProfiloDiRischio.sql new file mode 100644 index 00000000..80696997 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D3_S151ProfiloDiRischio.sql @@ -0,0 +1,93 @@ +-- ============================================= +-- Author: +-- Create date: <05/04/2018> +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_D3_S151ProfiloDiRischio] 'F', 'DVTMRA58B09F839W' +CREATE procedure [C6MartPeriodico].[PL_D3_S151ProfiloDiRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenzaProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @descrizioneProfilo VARCHAR(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza VARCHAR(100) + DECLARE @riserva decimal(13,2) + DECLARE @inv_l_p decimal(5,2) + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + --DA DEFINIRE: + @dataScadenzaProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + else '-' + end + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + -- RICERCA DATA FINE VALIDITA' + declare @dtfinval decimal(9,0) + declare @codman varchar(6) + set @codman = '' + if upper(left(@CodiceFiscale,3)) = 'FF@' + begin + set @codman = substring(@CodiceFiscale,4,len(@CodiceFiscale)-3) + select @dtfinval = dtfinval,@riserva=IMP_RISERVA,@inv_l_p=PERC_ILP from C6StagingPeriodico.WSEIAN2 + where codman = @codman and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice mandato' + end + else + begin + select @dtfinval = dtfinval,@riserva=IMP_RISERVA,@inv_l_p=PERC_ILP from C6StagingPeriodico.WSEIAN2 + where codfis = @CodiceFiscale and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice fiscale' + end + -- + if @dtfinval <> 0 and @dtfinval is not null and ltrim(rtrim(@dtfinval)) <> '' + set @dataScadenzaProfilo = CONVERT(datetime, CONVERT(varchar,CONVERT(int,@dtfinval)), 0) + else + set @dataScadenzaProfilo = null + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (convert(datetime, @dataScadenzaProfilo)) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as descrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as descrizioneEsperienza, + @riserva as Riserva, + @inv_l_p as Inv_L_P +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql new file mode 100644 index 00000000..5dbc7fa4 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql @@ -0,0 +1,87 @@ +--[C6MartPeriodico].[PL_D_S177ProfiloDiRischio_Adeguatezza] 'F', 'DVTMRA58B09F839W' +CREATE procedure [C6MartPeriodico].[PL_D_FD177ProfiloDiRischio_Adeguatezza]-- 'F', 'SPNTTR67T20F205D' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenza DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + declare @descrizioneProfilo varchar(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @riskclassDescr VARCHAR(250) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza varchar(20) + DECLARE @riserva decimal(13,2) + DECLARE @inv_l_p decimal(5,2) + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenza = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + --when 5 then 'Alta' + else '-' + end + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + -- RICERCA DATA FINE VALIDITA' + declare @dtfinval decimal(9,0) + declare @codman varchar(6) + set @codman = '' + if upper(left(@CodiceFiscale,3)) = 'FF@' + begin + set @codman = substring(@CodiceFiscale,4,len(@CodiceFiscale)-3) + select @dtfinval = dtfinval,@riserva=isnull(IMP_RISERVA,0.00),@inv_l_p=isnull(PERC_ILP,0.00) from C6StagingPeriodico.WSEIAN2 + where codman = @codman and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice mandato' + end + else + begin + select @dtfinval = dtfinval,@riserva=isnull(IMP_RISERVA,0.00),@inv_l_p=isnull(PERC_ILP,0.00) from C6StagingPeriodico.WSEIAN2 + where codfis = @CodiceFiscale and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice fiscale' + end + -- + if @dtfinval <> 0 and @dtfinval is not null and ltrim(rtrim(@dtfinval)) <> '' + set @dataScadenza = CONVERT(datetime, CONVERT(varchar,CONVERT(int,@dtfinval)), 0) + else + set @dataScadenza = null + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (@dataScadenza) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as DescrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as descrizioneEsperienza, + @riserva as riserva, + @inv_l_p as investimento_l_periodo +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza.sql new file mode 100644 index 00000000..00fc559e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza.sql @@ -0,0 +1,306 @@ +--[C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza] 's', 'LMZGNN35M47F205W' +CREATE procedure [C6MartPeriodico].[PL_D_FD178IndicatoriEsitoAdeguatezza] --'W','DRNSNT51B44H090Q' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +--*************************************************************************** SOLO per test +--drop table @appo,#wseian,@TABELLAINDICATORI +--declare @Rete char(1),@CodiceFiscale varchar(16) +--set @Rete = 'f' +--set @CodiceFiscale = 'BTTFST43C42B300A'--'LNGLGU49D23F587Z'--'BRSDRN64E24D749H'--'00703420968'-- +--set @DataFineTrim = 20180430 +--*************************************************************************** +select * +into #WSEIAN2 +from C6MartPeriodico.WSEIAN2 +where RETE=@Rete +and CODFIS=@CodiceFiscale +DECLARE @adeguato [varchar](5) +DECLARE @descrizione [varchar](1000) +-- ************************** creo la tabella iniziale con tutti gli indicatori +declare @TABELLAINDICATORI table +( + TI_Ordine [smallint] null, + TI_Indicatore [varchar](80) null, + TI_Adeguato [varchar](5) null, + TI_Descrizione [varchar](1000) null +) +insert into @TABELLAINDICATORI values (1,'Rischio','-1','Non applicabile') +insert into @TABELLAINDICATORI values (2,'Riserva','-1','Non applicabile') +insert into @TABELLAINDICATORI values (3,'Investimento di Lungo Periodo','-1','Non applicabile') +insert into @TABELLAINDICATORI values (4,'Complessità','-1','Non applicabile') +insert into @TABELLAINDICATORI values (5,'Concentrazione in prodotti complessi','-1','Non applicabile') +insert into @TABELLAINDICATORI values (6,'Frequenza delle operazioni','-1','Non applicabile') +insert into @TABELLAINDICATORI values (7,'Concentrazione emittenti','-1','Non applicabile') +insert into @TABELLAINDICATORI values (8,'Concentrazione valutaria','-1','Non applicabile') +-- ***************************************************************************** +declare @appo table +( + RETE [varchar](1) null, + COD_FISCALE [varchar](16) null, + PATRIMONIO [varchar](255) NOT NULL, + CTV_AGGREG [decimal](12, 2) null, + profiloCode [smallint] null, + var_profilo [decimal](5, 2) null, + [VAR] [decimal](12, 3) NULL, + varString [varchar](16) null,--[decimal](12, 3) NULL, + CREDITRISK [int] NULL, + RISKCLASSSTRING [varchar](10) null, + coperturaString [varchar](16) null,--[decimal](12, 3) NULL, + COVERAGESTRING [varchar](10) null, + RISKCLASSMAX [varchar](50) null, + [PERCENTAGE] [decimal](12, 6) null, + Ordine [smallint] null, + ULLY_PERC [decimal](10, 2) NULL +) +--creo le tabelle di appoggio +insert into @appo exec [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] @Rete,@CodiceFiscale +--*************************************************************************** INDICATORE DI VALUTAZIONE: RISCHIO +select @adeguato = +case + when var <= var_profilo then '1' + when var > var_profilo then '0' + else -1 +end, +@descrizione = case + when var <= var_profilo then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '1') + when var > var_profilo then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '-1') +end +from @appo where ordine = 1 --patrimonio fideuram +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 1; +--*************************************************************************** INDICATORE DI VALUTAZIONE: RISERVA +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(riserva) = 'S' then '1' + when upper(riserva) = 'N' then '0' + else -1 +end , +@descrizione = case + when upper(riserva) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '1') + when upper(riserva) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '-1') +end +from #WSEIAN2 +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 2; +--*************************************************************************** INDICATORE DI VALUTAZIONE: INVESTIMENTO LUNGO PERIODO +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(invl_period) = 'S' then '1' + when upper(invl_period) = 'N' then '0' + else -1 +end , +@descrizione = case + when upper(invl_period) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '1') + when upper(invl_period) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '-1') +end +from #WSEIAN2 +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 3; +--*************************************************************************** INDICATORE DI VALUTAZIONE: Complessità (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when flagpg = 1 and flgprof = 'N' and flagnqp = 'S' and flgprlrde = 'N' then '-1' --Massimiliano dice che va messo prima di tutti senza testare altri flag 17/5/2018 + when upper(clcompl) = 'N' and + (select nocompl from [C6StagingPeriodico].[WSEIAN2] where codfis = @CodiceFiscale and dttrim = @DataFineTrim ) = 'S' then '0' + when upper(clcompl) = 'N' and flagpg = 0 then '0' + --fix del 18/7/2019 + --when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'N' then '0' + when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'S' then '0' + --fine fix del 18/7/2019 + when upper(clcompl) = 'S' then '1' +end, +@descrizione = case + when flagpg = 1 and flgprof = 'N' and flagnqp = 'S' and flgprlrde = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '-1') + when upper(clcompl) = 'N' and + (select nocompl from [C6StagingPeriodico].[WSEIAN2] where codfis = @CodiceFiscale and dttrim = @DataFineTrim ) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0C') + when upper(clcompl) = 'N' and flagpg = 0 then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0A') + --fix del 18/7/2019 + --when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0B') + when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0B') + --fine fix del 18/7/2019 + when upper(clcompl) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '1') +end +from #WSEIAN2 +--and flgprof <> 'S' +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 4; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 4; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione in prodotti complessi (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(flgconc) = 'S' then '1' + when upper(flgconc) in ('N') then '0' + else '-1' +end, +@descrizione = case + when upper(flgconc) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '1') + when upper(flgconc) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '-1') +end +from #WSEIAN2 +--and flgprof <> 'S' +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 5; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 5; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Frequenza delle operazioni (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(freq) = 'S' then '1' + when upper(freq) = 'N' then '0' + else '-1' +end, +@descrizione = case + when upper(freq) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '1') + when upper(freq) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '-1') +end +from #WSEIAN2 +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 6; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 6; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione emittenti (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(concemi) = 'S' then '1' + when upper(concemi) = 'N' then '0' + else '-1' +end , +@descrizione = case + when upper(concemi) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '1') + when upper(concemi) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '-1') +end +from #WSEIAN2 +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 7; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 7; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione Valutaria (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(ADEGCONC_VALUT) = 'S' then '1' + when upper(ADEGCONC_VALUT) = 'N' then '0' + else '-1' +end, +@descrizione = case + when upper(ADEGCONC_VALUT) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '1') + when upper(ADEGCONC_VALUT) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '-1') +end +from #WSEIAN2 +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 8; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 8; + end +end +--******************************************************************************************************************************************* +select +ti_ordine as Ordine, +ti_indicatore as Indicatore, +ti_adeguato as Adeguato, +ti_descrizione as DescrizioneEsito +from @TABELLAINDICATORI +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza_preMUA.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza_preMUA.sql new file mode 100644 index 00000000..a8406da3 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_FD178IndicatoriEsitoAdeguatezza_preMUA.sql @@ -0,0 +1,470 @@ +--[C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza] 's', 'LMZGNN35M47F205W' +CREATE procedure [C6MartPeriodico].[PL_D_FD178IndicatoriEsitoAdeguatezza_preMUA] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +--*************************************************************************** SOLO per test +--drop table @appo,#wseian,@TABELLAINDICATORI +--declare @Rete char(1),@CodiceFiscale varchar(16) +--set @Rete = 'f' +--set @CodiceFiscale = 'BTTFST43C42B300A'--'LNGLGU49D23F587Z'--'BRSDRN64E24D749H'--'00703420968'-- +--set @DataFineTrim = 20180430 +--*************************************************************************** +DECLARE @adeguato [varchar](5) +DECLARE @descrizione [varchar](1000) +-- ************************** creo la tabella iniziale con tutti gli indicatori +declare @TABELLAINDICATORI table +( + TI_Ordine [smallint] null, + TI_Indicatore [varchar](80) null, + TI_Adeguato [varchar](5) null, + TI_Descrizione [varchar](1000) null +) +insert into @TABELLAINDICATORI values (1,'Rischio','-1','Non applicabile') +insert into @TABELLAINDICATORI values (2,'Riserva','-1','Non applicabile') +insert into @TABELLAINDICATORI values (3,'Investimento di Lungo Periodo','-1','Non applicabile') +insert into @TABELLAINDICATORI values (4,'Complessità','-1','Non applicabile') +insert into @TABELLAINDICATORI values (5,'Concentrazione in prodotti complessi','-1','Non applicabile') +insert into @TABELLAINDICATORI values (6,'Frequenza delle operazioni','-1','Non applicabile') +insert into @TABELLAINDICATORI values (7,'Concentrazione emittenti','-1','Non applicabile') +insert into @TABELLAINDICATORI values (8,'Concentrazione valutaria','-1','Non applicabile') +-- ***************************************************************************** +declare @appo table +( + RETE [varchar](1) null, + COD_FISCALE [varchar](16) null, + PATRIMONIO [varchar](255) NOT NULL, + CTV_AGGREG [decimal](12, 2) null, + profiloCode [smallint] null, + var_profilo [decimal](5, 2) null, + [VAR] [decimal](12, 3) NULL, + varString [varchar](16) null,--[decimal](12, 3) NULL, + CREDITRISK [int] NULL, + RISKCLASSSTRING [varchar](10) null, + coperturaString [varchar](16) null,--[decimal](12, 3) NULL, + COVERAGESTRING [varchar](10) null, + RISKCLASSMAX [varchar](50) null, + [PERCENTAGE] [decimal](12, 6) null, + Ordine [smallint] null, + ULLY_PERC [decimal](10, 2) NULL +) +--creo le tabelle di appoggio +insert into @appo exec [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] @Rete,@CodiceFiscale +declare @WSEIAN_S170 table +( + [DTTRIM] [decimal](9, 0) NOT NULL, + [RETE] [varchar](1) NOT NULL, + [CODFIS] [varchar](16) NOT NULL, + [NOME] [varchar](25) NULL, + [COGNOME] [varchar](25) NULL, + [DTNASCI] [decimal](9, 0) NULL, + [INDIRIZZO] [varchar](44) NULL, + [CAP] [varchar](5) NULL, + [CITTA] [varchar](35) NULL, + [PROVINCIA] [varchar](2) NULL, + [NAZIONE] [varchar](35) NULL, + [CODPROF] [smallint] NULL, + [DTINVAL] [decimal](9, 0) NOT NULL, + [CODMAN] [varchar](6) NULL, + [CLASSERC] [decimal](5, 0) NULL, + [COD_PROFEC] [decimal](5, 0) NULL, + [FLAGPG] [decimal](1, 0) NULL, + [CLCOMPL] [char](1) NOT NULL, + [FLGCONC] [char](1) NOT NULL, + [FLAGNQP] [char](1) NULL, + [FLGPRLRDE] [char](1) NULL, + [FLGPROF] [char](1) NULL, + [DTFINVAL] [decimal](9, 0) NULL, + [CONCEMI] [char](1) NULL, + [FREQ] [char](1) NULL, + [LLIQUID] [char](1) NULL, + [PREFSOST] [char](1) NULL, + [FLAGAMB] [char](1) NULL, + [FLAGSOC] [char](1) NULL, + [FLAGGOV] [char](1) NULL, + [ADEGCONC_VALUT] [char](1) NULL, + [SOGLIAESG] [decimal](5, 2) NULL, + [COERENZA] [char](1) NULL, + [RISERVA] [char](1) NULL, + [INVL_PERIOD] [char](1) NULL, + [MAXCOMPL] [decimal](5, 0) NULL, + [NOCOMPL] [char](1) NULL, + [SPESA_FORZATA] [decimal](13, 2) NULL, + [PERC_ILP] [decimal](5, 2) NULL, + [IMP_RISERVA] [decimal](13, 2) NULL +) +if @CodiceFiscale like '%FF@%' + INSERT INTO @WSEIAN_S170 + --se viene passata una fiduciaria devo filtrare per codice mandato + select [DTTRIM] + ,[RETE] + , + case + when(isnull(ltrim(rtrim(codman)),'') <> '') + then 'FF@'+codman + when (isnull(codfis,'') <> '') + then codfis + else + codfis + end as Codfis + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF] + ,[DTINVAL] + ,[CODMAN] + ,[CLASSERC] + ,[COD_PROFEC] + ,[FLAGPG] + ,[CLCOMPL] + ,[FLGCONC] + ,[FLAGNQP] + ,[FLGPRLRDE] + ,[FLGPROF] + ,[DTFINVAL] + ,[CONCEMI] + ,[FREQ] + ,[LLIQUID] + ,[PREFSOST] + ,[FLAGAMB] + ,[FLAGSOC] + ,[FLAGGOV] + ,[ADEGCONC_VALUT] + ,[SOGLIAESG] + ,[COERENZA] + ,[RISERVA] + ,[INVL_PERIOD] + ,[MAXCOMPL] + ,[NOCOMPL] + ,[SPESA_FORZATA] + ,[PERC_ILP] + ,[IMP_RISERVA] + from [C6StagingPeriodico].[WSEIAN2] + where 1=1 + and rete = @Rete + and codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + and dttrim = @DataFineTrim; +else + INSERT INTO @WSEIAN_S170 + select [DTTRIM] + ,[RETE] + , + case + when(isnull(ltrim(rtrim(codman)),'') <> '') + then 'FF@'+codman + when (isnull(codfis,'') <> '') + then codfis + else + codfis + end as Codfis + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF] + ,[DTINVAL] + ,[CODMAN] + ,[CLASSERC] + ,[COD_PROFEC] + ,[FLAGPG] + ,[CLCOMPL] + ,[FLGCONC] + ,[FLAGNQP] + ,[FLGPRLRDE] + ,[FLGPROF] + ,[DTFINVAL] + ,[CONCEMI] + ,[FREQ] + ,[LLIQUID] + ,[PREFSOST] + ,[FLAGAMB] + ,[FLAGSOC] + ,[FLAGGOV] + ,[ADEGCONC_VALUT] + ,[SOGLIAESG] + ,[COERENZA] + ,[RISERVA] + ,[INVL_PERIOD] + ,[MAXCOMPL] + ,[NOCOMPL] + ,[SPESA_FORZATA] + ,[PERC_ILP] + ,[IMP_RISERVA] + from [C6StagingPeriodico].[WSEIAN2] + where 1=1 + and rete = @Rete + and codfis= @CodiceFiscale + and dttrim = @DataFineTrim; +--*************************************************************************** INDICATORE DI VALUTAZIONE: RISCHIO +select @adeguato = +case + when var <= var_profilo then '1' + when var > var_profilo then '0' + else -1 +end, +@descrizione = case + when var <= var_profilo then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '1') + when var > var_profilo then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '-1') +end +from @appo where ordine = 1 --patrimonio fideuram +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 1; +--*************************************************************************** INDICATORE DI VALUTAZIONE: RISERVA +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(riserva) = 'S' then '1' + when upper(riserva) = 'N' then '0' + else -1 +end , +@descrizione = case + when upper(riserva) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '1') + when upper(riserva) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +--20180830 aggiunto AC +and rete = @Rete +and codfis = @CodiceFiscale +--20180830 +and dttrim = @DataFineTrim +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 2; +--*************************************************************************** INDICATORE DI VALUTAZIONE: INVESTIMENTO LUNGO PERIODO +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(invl_period) = 'S' then '1' + when upper(invl_period) = 'N' then '0' + else -1 +end , +@descrizione = case + when upper(invl_period) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '1') + when upper(invl_period) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +--20180830 aggiunto AC +and rete = @Rete +and codfis = @CodiceFiscale +--20180830 +and dttrim = @DataFineTrim +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 3; +--*************************************************************************** INDICATORE DI VALUTAZIONE: Complessità (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when flagpg = 1 and flgprof = 'N' and flagnqp = 'S' and flgprlrde = 'N' then '-1' --Massimiliano dice che va messo prima di tutti senza testare altri flag 17/5/2018 + when upper(clcompl) = 'N' and + (select nocompl from [C6StagingPeriodico].[WSEIAN2] where codfis = @CodiceFiscale and dttrim = @DataFineTrim ) = 'S' then '0' + when upper(clcompl) = 'N' and flagpg = 0 then '0' + --fix del 18/7/2019 + --when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'N' then '0' + when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'S' then '0' + --fine fix del 18/7/2019 + when upper(clcompl) = 'S' then '1' +end, +@descrizione = case + when flagpg = 1 and flgprof = 'N' and flagnqp = 'S' and flgprlrde = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '-1') + when upper(clcompl) = 'N' and + (select nocompl from [C6StagingPeriodico].[WSEIAN2] where codfis = @CodiceFiscale and dttrim = @DataFineTrim ) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0C') + when upper(clcompl) = 'N' and flagpg = 0 then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0A') + --fix del 18/7/2019 + --when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0B') + when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0B') + --fine fix del 18/7/2019 + when upper(clcompl) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '1') +end +from @WSEIAN_S170 +where 1=1 +--20180830 aggiunto AC +and rete = @Rete +and codfis = @CodiceFiscale +--20180830 +and dttrim = @DataFineTrim +--and flgprof <> 'S' +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 4; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 4; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione in prodotti complessi (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(flgconc) = 'S' then '1' + when upper(flgconc) = 'N' then '0' + else '-1' +end, +@descrizione = case + when upper(flgconc) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '1') + when upper(flgconc) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +and rete = @Rete +and codfis = @CodiceFiscale +and dttrim = @DataFineTrim +--and flgprof <> 'S' +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 5; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 5; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Frequenza delle operazioni (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(freq) = 'S' then '1' + when upper(freq) = 'N' then '0' + else '-1' +end, +@descrizione = case + when upper(freq) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '1') + when upper(freq) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +and rete = @Rete +and codfis = @CodiceFiscale +and dttrim = @DataFineTrim +--and flgprof <> 'S' +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 6; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 6; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione emittenti +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(concemi) = 'S' then '1' + when upper(concemi) = 'N' then '0' + else -1 +end , +@descrizione = case + when upper(concemi) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '1') + when upper(concemi) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +--20180830 aggiunto AC +and rete = @Rete +and codfis = @CodiceFiscale +--20180830 +and dttrim = @DataFineTrim +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 7; +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione Valutaria +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(ADEGCONC_VALUT) = 'S' then '1' + when upper(ADEGCONC_VALUT) = 'N' then '0' + else '-1' +end, +@descrizione = case + when upper(ADEGCONC_VALUT) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '1') + when upper(ADEGCONC_VALUT) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +and rete = @Rete +and codfis = @CodiceFiscale +and dttrim = @DataFineTrim +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 8; +--******************************************************************************************************************************************* +select +ti_ordine as Ordine, +ti_indicatore as Indicatore, +ti_adeguato as Adeguato, +ti_descrizione as DescrizioneEsito +from @TABELLAINDICATORI +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S150Anagrafica.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S150Anagrafica.sql new file mode 100644 index 00000000..cf0e1c51 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S150Anagrafica.sql @@ -0,0 +1,100 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S150Anagrafica] 'F', 'NCLGDE26B18L388P' +CREATE procedure [C6MartPeriodico].[PL_D_S150Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + --V Indirizzo Secondo AULETTA + --CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + -- THEN + -- REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + -- + ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') + -- ELSE + -- REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + -- + ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') + --END AS Residenza, + -- + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') else '' end + ' ' + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') else '' end + ' ' + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + END AS Residenza, + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_SOTT) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + NULL AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + CONTRATTOSEI.[Prov] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.contrattosei as CONTRATTOSEI + INNER JOIN + C6MARTPERIODICO.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MARTPERIODICO.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + LEFT JOIN + C6MARTPERIODICO.ANAG_CLIENTI_PREV + ON + ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + LEFT JOIN + C6MARTPERIODICO.DATI_REPORT + ON + ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + WHERE 1 = 1 + AND ANAG_CLIENTI.RETE = @RETE + AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S151ProfiloDiRischio.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S151ProfiloDiRischio.sql new file mode 100644 index 00000000..8fe04537 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S151ProfiloDiRischio.sql @@ -0,0 +1,49 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S95ProfiloDiRischio]F,00247580970 +CREATE procedure [C6MartPeriodico].[PL_D_S151ProfiloDiRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskclass, + @experience as experince +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S152Patrimonio.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S152Patrimonio.sql new file mode 100644 index 00000000..0b109eac --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S152Patrimonio.sql @@ -0,0 +1,88 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_DT_S152Patrimonio] 'F','MRSPLA53H24D643J' +CREATE procedure [C6MartPeriodico].[PL_D_S152Patrimonio] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT + @PatrimonioBF = SUM(CTV) + FROM + C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area <> 'CC' --escludo il cc negativo +-- SELECT @Part_viaggianti=SUM(IMPORTO) +-- FROM C6MartPeriodico.PARTITE_VIAGGIANTI partvia +-- WHERE +-- partvia.Rete = @Rete +-- and partvia.Cod_Fiscale = @CodiceFiscale + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Martperiodico.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + SELECT + @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM + C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM + C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioAltro = SUM(patrAltro.ctv) + FROM + C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S153PatrimonioFinanziario.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S153PatrimonioFinanziario.sql new file mode 100644 index 00000000..8fa015ff --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S153PatrimonioFinanziario.sql @@ -0,0 +1,144 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S153PatrimonioFinanziario] 'F','GZZSLD52E20G869L' +CREATE procedure [C6MartPeriodico].[PL_D_S153PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + DECLARE @NOMERETE VARCHAR(30) + IF @Rete = 'F' + SET @NOMERETE = 'Fideuram' + ELSE if @Rete = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + SELECT + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Intermediario, + Ordine, + @NOMERETE AS Banca, + -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv + SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine)) / + (SUM(ctv) over (partition by 'Totale')) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + @NOMERETE AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MartPeriodico.PATRIMONIO_BF patrBF +-- LEFT JOIN C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- AND PATRBF.TIPO_PRODOTTO = 'CC' + WHERE 1 = 1 + AND patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO + and patrBF.id_area <> 'cc' + UNION ALL + SELECT + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + AND patrTerzi.Rete = @Rete + AND patrTerzi.Cod_Fiscale = @CodiceFiscale + GROUP BY patrTerzi.Intermediario + ) PATR + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D_S153PatrimonioFinanziario] Script Date: 09/02/2022 11:00:54 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +---- [C6MartPeriodico].[PL_DT_S153PatrimonioFinanziario] 'F','GZZSLD52E20G869L' +--ALTER procedure [C6MartPeriodico].[PL_D_S153PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @Rete = 'F' +-- SET @NOMERETE = 'Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- Intermediario, +-- Ordine, +-- Banca, +-- Controvalore, +-- round(Percentuale,2) as Percentuale +-- FROM +-- ( +-- SELECT DISTINCT +-- Intermediario, +-- Ordine, +-- @NOMERETE AS Banca, +-- -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv +-- SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, +-- ( +-- (SUM(ctv) over (partition by Intermediario,Ordine)) / +-- (SUM(ctv) over (partition by 'Totale')) +-- ) * 100 AS PERCENTUALE +-- FROM +-- ( +-- SELECT +-- @NOMERETE AS Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 1 AS ordine +-- FROM C6MartPeriodico.PATRIMONIO_BF patrBF +---- LEFT JOIN C6MartPeriodico.ClientiConCCNegativo CCNegativo +---- ON PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- AND PATRBF.TIPO_PRODOTTO = 'CC' +-- WHERE 1 = 1 +-- AND patrBF.Rete = @Rete +-- AND patrBF.Cod_Fiscale = @CodiceFiscale +-- --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO +-- and patrBF.id_area <> 'cc' +-- UNION ALL +-- SELECT +-- Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 2 AS ordine +-- FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi +-- WHERE 1 = 1 +-- AND patrTerzi.Rete = @Rete +-- AND patrTerzi.Cod_Fiscale = @CodiceFiscale +-- GROUP BY patrTerzi.Intermediario +-- ) PATR +-- ) A +-- WHERE CONTROVALORE IS NOT NULL +-- ORDER BY Ordine +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S154PatrimonioFinanziario.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S154PatrimonioFinanziario.sql new file mode 100644 index 00000000..edc7934a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S154PatrimonioFinanziario.sql @@ -0,0 +1,312 @@ +-- Stored procedure +-- ============================================= +-- Author: Luca De Lisio +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_DT_S154PatrimonioFinanziario] 'F','LNTNNE59L06F205C' +CREATE procedure [C6MartPeriodico].[PL_D_S154PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SELECT + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + --PRODOTTI BF ESCLUSI GLI ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + --DETTAGLIO ASUL SENZA SKANDIA + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --CON SKANDIA + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D_S154PatrimonioFinanziario] Script Date: 09/02/2022 11:03:29 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: Luca De Lisio +---- Create date: +---- Description: +---- ============================================= +----[C6MartPeriodico].[PL_DT_S154PatrimonioFinanziario] 'F','LNTNNE59L06F205C' +--ALTER procedure [C6MartPeriodico].[PL_D_S154PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +--SELECT +-- A.Banca, +-- A.Ordinamento, +-- A.AssetClassId, +-- A.AssetClassName, +-- cast(A.Controvalore as decimal(19,6)) Controvalore, +-- A.Percentuale, +-- cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +--FROM +--( +-- SELECT DISTINCT +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Fideuram' +-- END AS Banca, +-- ASSETCLASS.ORDINAMENTO AS Ordinamento, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') +-- ) * 100 AS Percentuale +-- FROM ( +-- --PRODOTTI BF ESCLUSI GLI ASUL +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- and patrbf.id_area <> 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +---- SELECT +---- ASSETPERC.ID_ASSETCLASS, +---- PATRBF.CTV*ASSETPERC.PERC as Controvalore +---- FROM +---- C6MartPeriodico.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MartPeriodico.ASSET_PERC ASSETPERC +---- ON +---- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +---- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +---- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN +---- C6MartPeriodico.ClientiConCCNegativo CCNegativo +---- ON +---- PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- WHERE +---- --ELIMINO I CC CON SALDO NEGATIVO +---- PATRBF.TIPO_PRODOTTO = 'CC' +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND CCNegativo.Cod_Fiscale IS NULL +---- UNION ALL +-- --DETTAGLIO ASUL SENZA SKANDIA +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --CON SKANDIA +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI +-- LEFT OUTER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI NON A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI +-- LEFT OUTER JOIN +-- C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MartPeriodico.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--ORDER BY A.ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S155PatrimonioImmobiliare.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S155PatrimonioImmobiliare.sql new file mode 100644 index 00000000..1386d1aa --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S155PatrimonioImmobiliare.sql @@ -0,0 +1,21 @@ +CREATE procedure [C6MartPeriodico].[PL_D_S155PatrimonioImmobiliare] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + SELECT + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S156ALtroPatrimonio.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S156ALtroPatrimonio.sql new file mode 100644 index 00000000..0b3d4563 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S156ALtroPatrimonio.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_D_S156ALtroPatrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + SELECT + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM + C6MartPeriodico.PATRIMONIO_ALTRO + WHERE + PATRIMONIO_ALTRO.RETE = @Rete + AND PATRIMONIO_ALTRO.COD_FISCALE = @CodiceFiscale + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S157ConfrontoPiramidi.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S157ConfrontoPiramidi.sql new file mode 100644 index 00000000..d268ac37 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S157ConfrontoPiramidi.sql @@ -0,0 +1,203 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S157ConfrontoPiramidi] 'F','BNNDRC23B44E689L' +CREATE procedure [C6MartPeriodico].[PL_D_S157ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + LEFT(ID_AREA,3) AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc') + --V + DECLARE @TOTCC AS INT + SELECT @TOTCC = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND TIPO_PRODOTTO = 'Cc' + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCC = @TOT THEN 0.00 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + WHEN (@TOTCC <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'jjn.c.' + --V SOLO CC -> VAR = 0 + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCC = @TOT THEN NULL + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCC = @TOT THEN NULL + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S158PiramideModello.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S158PiramideModello.sql new file mode 100644 index 00000000..c554e3f6 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S158PiramideModello.sql @@ -0,0 +1,51 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D_S158PiramideModello] 'F','CLRLCU75R04B573X' +CREATE procedure [C6MartPeriodico].[PL_D_S158PiramideModello] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT BF.NOME_PROGETTO AS NomePrg, + PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + AGGR.VAR_PERC_PTF as VarPrg, + SUM(BF.CTV)AS ControvalorePrg + FROM C6MartPeriodico.PATRIMONIO_BF BF + INNER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AGGR + ON BF.RETE= AGGR.RETE + AND BF.COD_FISCALE= AGGR.COD_FISCALE + AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD + ON BF.RETE= PIRMOD.RETE + AND BF.COD_FISCALE= PIRMOD.COD_FISCALE + AND BF.ID_AREA = PIRMOD.ID_AREA + AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'inv' + AND BF.RETE = @Rete + AND BF.COD_FISCALE = @CodiceFiscale + AND BF.CTV > 0 + group BY BF.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,AGGR.VAR_PERC_PTF + --SELECT + -- AREA_BISOGNO.ID_AREA AS Need_Breve, -- NOME BREVE DELL'AREA DI BISOGNO + -- PIRMOD.NOME_PROGETTO AS Nome_Progetto, -- NOME DEL PROGETTO (AREA INV) + -- ISNULL(PIRMOD.PERC_AREA,0) AS Perc_Need, -- PERCENTUALE DI ALLOCAZIONE SULL'AREA DI BISOGNO + -- PIRMOD.ORIZZ_TEMP AS Orizz_Temp, -- ORIZZONTE TEMPORALE DEL PROGETTO + -- PIRMOD.CTV_PROGETTO AS Controvalore, -- Controvalore Progetto + -- SUM(ISNULL(PIRMOD.PERC_AREA,0)) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE, AREA_BISOGNO.ID_AREA) AS Totale_Percentuale, -- PERCENTUALE DI ALLOCAZIONE DEI PROGETTI + -- SUM(ISNULL(PIRMOD.PERC_AREA,0)) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE) AS Totale, + -- COUNT(CASE WHEN AREA_BISOGNO.ID_AREA = 'INV' AND PIRMOD.NOME_PROGETTO IS NOT NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PIRMOD.RETE, PIRMOD.COD_FISCALE) AS NumeroProgettiInv, + -- AREA_BISOGNO.ORDINAMENTO AS Ordinamento + --FROM C6MartPeriodico.AREA_BISOGNO + --LEFT JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD + -- ON PIRMOD.ID_AREA = AREA_BISOGNO.ID_AREA + -- AND((PIRMOD.ID_AREA = 'INV' AND PIRMOD.NOME_PROGETTO IS NOT NULL )--OR PIRAMIDE_MOD.tipo_progetto<>'Default' + -- OR PIRMOD.ID_AREA IN ('RIS','EXT','LIQ','PRE')) + -- AND PIRMOD.RETE = @Rete + -- AND PIRMOD.COD_FISCALE = @CodiceFiscale + --WHERE AREA_BISOGNO.ORDINAMENTO < 6 + --ORDER BY AREA_BISOGNO.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S159PatrimonioFinanziario.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S159PatrimonioFinanziario.sql new file mode 100644 index 00000000..80acfc82 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S159PatrimonioFinanziario.sql @@ -0,0 +1,246 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S159PatrimonioFinanziario] 'F','BSHLRI69R13Z100Y' +CREATE procedure [C6MartPeriodico].[PL_D_S159PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(19,5)) AS Controvalore, + cast(A.Percentuale as decimal(19,5)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D_S159PatrimonioFinanziario] Script Date: 09/02/2022 11:48:38 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +---- [C6MartPeriodico].[PL_DT_S159PatrimonioFinanziario] 'F','BSHLRI69R13Z100Y' +--ALTER procedure [C6MartPeriodico].[PL_D_S159PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +--SELECT +-- A.BANCA AS Banca, +-- A.ORDINAMENTO AS Ordinamento, +-- A.AssetClassId AS AssetClassId, +-- A.AssetClassName AS AssetClassName, +-- cast(A.Controvalore as decimal(19,5)) AS Controvalore, +-- cast(A.Percentuale as decimal(19,5)) AS Percentuale, +-- cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +--FROM +--( +-- SELECT DISTINCT +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Fideuram' +-- END AS Banca, +-- ASSETCLASS.ORDINAMENTO, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / +-- --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 +-- THEN 1 +-- ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) +-- END +-- ) * 100 AS Percentuale +-- FROM ( +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- and patrbf.id_area <> 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +---- SELECT +---- ASSETPERC.ID_ASSETCLASS, +---- PATRBF.CTV*ASSETPERC.PERC as Controvalore +---- FROM +---- C6MartPeriodico.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MartPeriodico.ASSET_PERC ASSETPERC +---- ON +---- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +---- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +---- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN +---- C6MartPeriodico.ClientiConCCNegativo CCNegativo +---- ON +---- PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- WHERE +---- --ELIMINO I CC CON SALDO NEGATIVO +---- PATRBF.TIPO_PRODOTTO = 'CC' +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND CCNegativo.Cod_Fiscale IS NULL +---- UNION ALL +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MartPeriodico.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--ORDER BY A.ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S160DettaglioProdottiBF.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S160DettaglioProdottiBF.sql new file mode 100644 index 00000000..d00e4cc6 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S160DettaglioProdottiBF.sql @@ -0,0 +1,200 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'SLLLMN44E29A176G' +-- [C6MartPeriodico].[PL_DT_S160DettaglioProdottiBF] 'S', 'GSTMGS42D51L833Z' +CREATE procedure [C6MartPeriodico].[PL_D_S160DettaglioProdottiBF] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +case when (patrbf.tipo_prodotto ='CC') then 100.00 +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_progetto,nome_progetto, PATRBF.CTV DESC +END +--select top 1 * from c6martperiodico.patrimonio_bf where tipo_prodotto = 'CC' +--select SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)),ANAG_CC.COD_CC +--from c6martperiodico.anag_cc \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S162DettaglioProdotti.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S162DettaglioProdotti.sql new file mode 100644 index 00000000..41ba2210 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S162DettaglioProdotti.sql @@ -0,0 +1,101 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D_S162DettaglioProdotti] 'F', 'BLDRST50M28C556X' +CREATE procedure [C6MartPeriodico].[PL_D_S162DettaglioProdotti] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + ON + PATRTERZI.RETE = RISCHIOAGGREG.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGREG.COD_FISCALE + AND RISCHIOAGGREG.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + WHERE 1 = 1 + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.DESCR_GRUPPO_PRODOTTO IS NOT NULL + ORDER BY + OrdinamentoProdotti, + Controvalore DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S163PatrimonioFinanziarioMAssetClass.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S163PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..12d966fb --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S163PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,62 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_DT_S163PatrimonioFinanziarioMAssetClass] 'F', 'BRCRRT70L21A390C' +CREATE procedure [C6MartPeriodico].[PL_D_S163PatrimonioFinanziarioMAssetClass] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT DISTINCT + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + isnull(( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + NULLIF(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE'),0) + ) * 100,0) AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + ORDER BY + ASSETCLASS.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S164PolizzeAltriIstituti.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S164PolizzeAltriIstituti.sql new file mode 100644 index 00000000..5dfa0d95 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S164PolizzeAltriIstituti.sql @@ -0,0 +1,31 @@ +-- ============================================= +-- Author: Marco Gentilezza +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_DT_S164PolizzeAltriIstituti]'S', 'MRTRRT57T17E758I' +CREATE procedure [C6MartPeriodico].[PL_D_S164PolizzeAltriIstituti] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' + WHERE PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S165FondiAltriIstituti.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S165FondiAltriIstituti.sql new file mode 100644 index 00000000..f2b5509a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S165FondiAltriIstituti.sql @@ -0,0 +1,63 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S165FondiAltriIstituti] 'S', 'MRTRRT57T17E758I' +CREATE procedure [C6MartPeriodico].[PL_D_S165FondiAltriIstituti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + WHERE + PATRTERZI.rete = @Rete + and PATRTERZI.cod_fiscale = @CodiceFiscale + --AND PATRTERZI.TIPO_PRODOTTO = 'Fondi pensione' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S166ContoCorrenteAI.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S166ContoCorrenteAI.sql new file mode 100644 index 00000000..8d54f878 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S166ContoCorrenteAI.sql @@ -0,0 +1,23 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_D_S166ContoCorrenteAI] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + CCTerzi.INTERMEDIARIO AS Intermediario, + CCTerzi.COD_CC AS ContoCorrente, + CCTerzi.SALDO AS Saldo, + null as creditrisk, + 'n.a.' as creditriskstring, + 0.00 as var + FROM + C6MartPeriodico.ANAG_CC_Terzi CCTerzi + WHERE + CCTerzi.rete= @Rete + AND CCTerzi.cod_fiscale= @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S167DistribuzioneRischioCredito.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S167DistribuzioneRischioCredito.sql new file mode 100644 index 00000000..16413921 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S167DistribuzioneRischioCredito.sql @@ -0,0 +1,623 @@ +-- Stored procedure +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_D_S167DistribuzioneRischioCredito] 'F','GGGNNA41E59G687E' +CREATE procedure [C6MartPeriodico].[PL_D_S167DistribuzioneRischioCredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest', 'IW Private Investments') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' WHEN PATRBF.RETE='S' then 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' WHEN PATRBF.RETE = 'S' THEN 'SANPAOLO' ELSE 'IWPRIVATEINVESTMENTS' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +'Altri Istituti' AS INTERMEDIARIO, +--PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +--PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D_S167DistribuzioneRischioCredito] Script Date: 09/02/2022 11:04:57 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Authors: +---- Create date: +---- Description: +---- ============================================= +---- [C6MartPeriodico].[PL_D_S167DistribuzioneRischioCredito] 'F','GGGNNA41E59G687E' +--ALTER procedure [C6MartPeriodico].[PL_D_S167DistribuzioneRischioCredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +----QUERY PER INTERMEDIARIO +--SELECT +--RETE, +--COD_FISCALE, +--INTERMEDIARIO, +--CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 +-- ELSE 2 END AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +-- -- Start 1.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +----SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +--FROM +--[C6Martperiodico].PATRIMONIO_BF PATRBF +-----Per calcolare la somma algebrica dei cc +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MARTPERIODICO].pATRIMONIO_BF +--where id_Area='Cc' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +----fine calcolo somma cc +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +----INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +--LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END, +--CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +----- End 1.1 +--UNION ALL +---- Start 1.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--'Altri Istituti' AS INTERMEDIARIO, +----PATRTERZI.INTERMEDIARIO, +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6Martperiodico].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +----PATRTERZI.INTERMEDIARIO, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 1.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE, +--INTERMEDIARIO +---------- +--UNION ALL +------------- +----QUERY TOTALE +--SELECT +--RETE, +--COD_FISCALE, +--'Complessivo' AS INTERMEDIARIO, +--3 AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +----- Start 2.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +----SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +--FROM +--[C6Martperiodico].PATRIMONIO_BF PATRBF +----per fare la somma algebrica dei cc +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MARTPERIODICO].pATRIMONIO_BF +--where id_Area='Cc' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +----fine somma cc +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 2.1 +--UNION ALL +---- Start 2.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +--left outer join +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6Martperiodico].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +----- End 2.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S168TabellaEmittenti.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S168TabellaEmittenti.sql new file mode 100644 index 00000000..da7871f9 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S168TabellaEmittenti.sql @@ -0,0 +1,396 @@ +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6Mart].[PL_D_S168TabellaEmittenti] 'F','FF@7181' +CREATE procedure [C6MartPeriodico].[PL_D_S168TabellaEmittenti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS, + RATING + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +--RATING as RATING +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +--RATING as RATING +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V +LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS, +RATING +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10 +--RATING +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S169RischiomercatoRischiocredito.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S169RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..e356ff9d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S169RischiomercatoRischiocredito.sql @@ -0,0 +1,462 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_S96RischiomercatoRischiocredito] 'F','GZZSLD52E20G869L' +CREATE procedure [C6MartPeriodico].[PL_D_S169RischiomercatoRischiocredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.cod_fiscale = @codiceFiscale + and PATRBF.rete= @rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.cod_fiscale =@codiceFiscale + and TERZI.rete=@rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'W' then 'Patrimonio IW Private Inv.' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D_S169RischiomercatoRischiocredito] Script Date: 09/02/2022 11:08:19 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +-- --[C6MartPeriodico].[PL_S96RischiomercatoRischiocredito] 'F','GZZSLD52E20G869L' +--ALTER procedure [C6MartPeriodico].[PL_D_S169RischiomercatoRischiocredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- PATRBF.INSTITUTENAME, +-- CTV, +-- M.PROFILO_ASS AS CODICEPROFILO, +-- CR.MAX_VAR AS VARMAX, +-- RISK_AGG.VAR_PERC_PTF AS VAR , +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END AS VARSTRING, +-- RISK_AGG.CREDITRISK RISKCLASS, +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END AS RISKCLASSSTRING, +-- ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +----V La copertura viene valorizzata con un valore da 0 da 100 +-- -- CASE +-- -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +---- ELSE +--NULL +---- END +--AS COVERAGESTRING, +-- M.RISKCLASS AS RISKCLASSMAX, +-- round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / +-- -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 +-- THEN 1 +-- ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) +-- END) +-- *100 ,2)AS PERCENTAGE, +-- --V +-- ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, +-- SUM(PATRBF.CTV) AS CTV, +-- --V +-- 1 as ORDINE, +-- RISK_AGG.Ully_perc +-- from +-- c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG +-- where +-- 1=1 +-- and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE +-- and PATRBF.rete= RISK_AGG.rete +-- and PATRBF.cod_fiscale = @codiceFiscale +-- and PATRBF.rete= @rete +-- and PATRBF.CTV > 0 +-- and +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or +-- --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- RISK_AGG.Ully_perc, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END +-- UNION +-- SELECT +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- 'Patrimonio altri Istituti' AS INSTITUTENAME, +-- SUM(ROUND(TERZI.CTV,2)) AS CTV, +-- --V +-- 2 as ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG +-- where +-- 1=1 +-- and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE +-- and TERZI.rete= RISK_AGG.rete +-- and TERZI.cod_fiscale =@codiceFiscale +-- and TERZI.rete=@rete +-- and TERZI.CTV > 0 +-- and +-- ( +-- --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- GROUP BY +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- RISK_AGG.Ully_perc +-- ) PATRBF +-- LEFT OUTER JOIN +-- c6martperiodico.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- AND +-- (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' +-- WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' +-- else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- UNION ALL +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- 'Patrimonio Complessivo' AS INSTITUTENAME, +-- SUM(CTV), +-- MAX(M.PROFILO_ASS) AS CODICEPROFILO, +-- MAX(CR.MAX_VAR) AS VARMAX, +-- MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , +-- MAX( CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END) AS VARSTRING, +-- MAX(RISK_AGG.CREDITRISK) RISKCLASS, +-- MAX( +-- case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END ) +-- AS RISKCLASSSTRING, +-- MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, +-- MAX( CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END) AS COVERAGESTRING, +-- --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, +-- MAX(M.RISKCLASS) AS RISKCLASSMAX, +-- 100 AS PERCENTAGE, +-- --V +-- 3 AS ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- SUM(PATRBF.CTV) AS CTV +-- from +-- c6martperiodico.patrimonio_bf PATRBF +-- where +-- 1=1 +-- and cod_fiscale =@codiceFiscale +-- and rete=@rete +-- and PATRBF.CTV > 0 +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE +-- UNION +-- SELECT +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- SUM(ROUND(TERZI.CTV,2)) AS CTV +-- FROM +-- c6martperiodico.PATRIMONIO_TERZI TERZI +-- where +-- 1=1 +-- and cod_fiscale =@codiceFiscale +-- and rete=@rete +-- and TERZI.CTV > 0 +-- GROUP BY +-- TERZI.RETE, +-- TERZI.COD_FISCALE +-- ) PATRBF +-- LEFT OUTER JOIN +-- c6martperiodico.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO' +-- ) +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- RISK_AGG.Ully_perc +-- --V +-- order by ordine +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S170RischioDiversificazione.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S170RischioDiversificazione.sql new file mode 100644 index 00000000..a6314246 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S170RischioDiversificazione.sql @@ -0,0 +1,179 @@ +-- [C6MartPeriodico].[PL_D_S170RischioDiversificazione] 'F','FF@7181' +CREATE procedure [C6MartPeriodico].[PL_D_S170RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 +SELECT +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' WHEN k.rete ='S' then 'Sanpaolo Invest' ELSE 'IW Private Inv.' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D_S170RischioDiversificazione] Script Date: 09/02/2022 11:10:20 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- [C6MartPeriodico].[PL_D_S170RischioDiversificazione] 'F','FF@7181' +--ALTER procedure [C6MartPeriodico].[PL_D_S170RischioDiversificazione] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- declare @contaCC as int +-- select @contaCC = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete +-- declare @contaPOS as int +-- select @contaPOS = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where cod_fiscale = @codiceFiscale and rete = @rete +-- declare @ctvbf as decimal(12,2) +-- SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +-- declare @ctvterzi as decimal (12,2) +-- SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +--SELECT +--K.COD_FISCALE, +--K.RETE, +--CASE +-- when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf +-- when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi +-- when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi +-- else 0 +--END AS CTV_AGGREG, +--K.CREDITRISK, +--CASE +-- WHEN (@contaPOS - @contacc = 0) THEN 0 +-- ELSE VAR_PERC_PTF +--END AS VAR, +--CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +--CASE +-- WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 +-- --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' +-- ELSE null +--END AS coperturaString, +--beneficio as diversificazione, +--CASE +-- WHEN (@contaPOS - @contacc = 0) THEN 100 +-- ELSE COPERTURA +--END AS COPERTURA, +--case +--when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +--when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +--ELSE '' +--END AS PATRIMONIO, +--case +-- when b.profilo is null then -1 +-- else b.profilo +--end as profiloCode, +--b.max_var as var_profilo, +----V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +----V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +--case +--when cod_Aggreg = 'COMPLESSIVO' then 3 +--when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +--ELSE '' +--END AS Ordine +--FROM +--C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a +-- ON k.cod_fiscale = a.cod_fiscale and +-- k.rete = a.rete +-- left outer join +--C6Martperiodico.CODIFICA_RISCHIO b on +--A.PROFILO_ASS=B.PROFILO +--WHERE +----A.PROFILO_ASS=B.PROFILO +----AND K.RETE=A.RETE +----AND K.COD_FISCALE= A.COD_FISCALE +--COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +--AND k.COD_FISCALE = @COdiceFISCALE +--AND k.RETE= @RETE +--ORDER BY ordine +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..e6f15dee --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,144 @@ +-- ============================================= +-- Author: +-- Create date: 30/08/2013 +-- Description: uguale a S76 +-- ============================================= +--[C6MartPeriodico].[PL_D_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +CREATE procedure [C6MartPeriodico].[PL_D_S171PatrimonioNonRappresentabileAssettClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Fideuram' + ELSE if @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + UNION ALL + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO + ORDER BY CONTROVALORE DESC +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_D_S171PatrimonioNonRappresentabileAssettClass] Script Date: 09/02/2022 11:19:57 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: 30/08/2013 +---- Description: uguale a S76 +---- ============================================= +----[C6MartPeriodico].[PL_D_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +--ALTER procedure [C6MartPeriodico].[PL_D_S171PatrimonioNonRappresentabileAssettClass] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @RETE = 'F' +-- SET @NOMERETE = 'Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- PATRBF.CTV as Controvalore, +-- PATRBF.CTV as controvalore_contratto, +-- PATRBF.PARTVIA_DISINV as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC +-- ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO <> 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- UNION ALL +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- SUM(ASUL.CTV) as Controvalore, +-- MAX(PATRBF.CTV) as controvalore_contratto, +-- SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL +-- ON PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- GROUP BY +-- PATRBF.ID_CONTRATTO, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , +-- ANAGP.DESCR_PRODOTTO +-- ORDER BY CONTROVALORE DESC +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza.sql new file mode 100644 index 00000000..0c3f7b26 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza.sql @@ -0,0 +1,87 @@ +--[C6MartPeriodico].[PL_D_S177ProfiloDiRischio_Adeguatezza] 'F', 'DVTMRA58B09F839W' +CREATE procedure [C6MartPeriodico].[PL_D_S177ProfiloDiRischio_Adeguatezza]-- 'F', 'SPNTTR67T20F205D' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenza DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + declare @descrizioneProfilo varchar(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @riskclassDescr VARCHAR(250) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza varchar(20) + DECLARE @riserva decimal(13,2) + DECLARE @inv_l_p decimal(5,2) + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenza = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + --when 5 then 'Alta' + else '-' + end + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + -- RICERCA DATA FINE VALIDITA' + declare @dtfinval decimal(9,0) + declare @codman varchar(6) + set @codman = '' + if upper(left(@CodiceFiscale,3)) = 'FF@' + begin + set @codman = substring(@CodiceFiscale,4,len(@CodiceFiscale)-3) + select @dtfinval = dtfinval,@riserva=isnull(IMP_RISERVA,0.00),@inv_l_p=isnull(PERC_ILP,0.00) from C6StagingPeriodico.WSEIAN2 + where codman = @codman and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice mandato' + end + else + begin + select @dtfinval = dtfinval,@riserva=isnull(IMP_RISERVA,0.00),@inv_l_p=isnull(PERC_ILP,0.00) from C6StagingPeriodico.WSEIAN2 + where codfis = @CodiceFiscale and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice fiscale' + end + -- + if @dtfinval <> 0 and @dtfinval is not null and ltrim(rtrim(@dtfinval)) <> '' + set @dataScadenza = CONVERT(datetime, CONVERT(varchar,CONVERT(int,@dtfinval)), 0) + else + set @dataScadenza = null + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (@dataScadenza) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as DescrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as descrizioneEsperienza, + @riserva as riserva, + @inv_l_p as investimento_l_periodo +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza_20180706_PreCRNapolitano.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza_20180706_PreCRNapolitano.sql new file mode 100644 index 00000000..c03ff076 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S177ProfiloDiRischio_Adeguatezza_20180706_PreCRNapolitano.sql @@ -0,0 +1,71 @@ +--[C6MartPeriodico].[PL_D_S177ProfiloDiRischio_Adeguatezza] 'F', 'DVTMRA58B09F839W' +CREATE procedure [C6MartPeriodico].[PL_D_S177ProfiloDiRischio_Adeguatezza_20180706_PreCRNapolitano] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenza DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + declare @descrizioneProfilo varchar(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @riskclassDescr VARCHAR(250) + DECLARE @experience SMALLINT + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenza = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + -- RICERCA DATA FINE VALIDITA' + declare @dtfinval decimal(9,0) + declare @codman varchar(6) + set @codman = '' + if upper(left(@CodiceFiscale,3)) = 'FF@' + begin + set @codman = substring(@CodiceFiscale,4,len(@CodiceFiscale)-3) + select @dtfinval = dtfinval from C6StagingPeriodico.WSEIAN + where codman = @codman and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN) + print 'codice mandato' + end + else + begin + select @dtfinval = dtfinval from C6StagingPeriodico.WSEIAN + where codfis = @CodiceFiscale and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN) + print 'codice fiscale' + end + -- + if @dtfinval <> 0 and @dtfinval is not null and ltrim(rtrim(@dtfinval)) <> '' + set @dataScadenza = CONVERT(datetime, CONVERT(varchar,CONVERT(int,@dtfinval)), 0) + else + set @dataScadenza = null + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (@dataScadenza) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as DescrizioneProfilo, + @riskclass as riskclass, + @experience as experince +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S178CasiParticolari.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S178CasiParticolari.sql new file mode 100644 index 00000000..20a48d89 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S178CasiParticolari.sql @@ -0,0 +1,122 @@ +-- [C6MartPeriodico].[PL_D_S178CasiParticolari] 'F','BLRDNC73D12B925K' +CREATE procedure [C6MartPeriodico].[PL_D_S178CasiParticolari] --'S','02708090580' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @Copertura decimal(10,2) + declare @SoloProdottiSenzaAdeguatezza int + declare @SoloCC int + declare @SoloProdottiSenzaAdeguatezzaOrSoloCC int + declare @Scaduti_Retail varchar + declare @Scaduti_Prof varchar + declare @IDTesto int + declare @isDirect varchar + set @IDTesto = 0 +------------------------------------------------------------------------------ CASO 1 COPERTURA = 0 + select @isDirect = case when TIP_CONTRATTO=3 then 'S' else 'N' end from C6StagingPeriodico.APPO_CONTRATTI where rete=@Rete and COD_FISCALE=@CodiceFiscale + select @Copertura=copertura + from C6MartPeriodico.RISCHIO_AGGREGATO + -- 'COMPLESSIVO|BF' come viene fatto nella PL_D_S157ConfrontoPiramidi per la copertura_tot, campo per l'esposizione della nota sulla coperura sotto la piramide + where cod_aggreg='COMPLESSIVO|BF' + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE +------------------------------------------------------------------------------ FINE CASO 1 +------------------------------------------------------------------------------ CASO 2 SENZA PRODOTTI IN ADEGUATEZZA E/O SOLO CC IN PORTAFOGLIO + -- Controllo se nel Portafoglio c'è solo CC + select rete, cod_fiscale, id_area + into #t1 + from c6martperiodico.patrimonio_bf + where rete = @Rete and cod_fiscale = @CodiceFiscale + group by rete,cod_fiscale, id_area + select rete, cod_fiscale, count(*) as numero + into #t2 + from #t1 + group by rete, cod_fiscale having count(*) = 1 + if exists( + select p.rete, p.cod_fiscale + from c6martperiodico.patrimonio_bf p + inner join #t2 + on p.rete = #t2.rete + and p.cod_fiscale = #t2.cod_fiscale + --where rete + cod_fiscale in (select rete + cod_fiscale from #t2) + where p.id_area = 'liq' + and p.tipo_prodotto = 'cc' + ) + set @soloCC = 1 + else + set @soloCC = 0 + drop table #t1 + drop table #t2 + -- Se le count torna 0 record significa che in ptf ci sono solo prodotti senza adeguatezza + select @SoloProdottiSenzaAdeguatezza = count(*) + from c6martperiodico.patrimonio_bf patr + left join [C6StagingPeriodico].[Prodotti_Fuori_Adeguatezza] senza + on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto + where patr.rete = @rete + and patr.cod_fiscale = @codicefiscale + and senza.codinterno is null + -- Se si verifica uno dei due casi, imposto la variabile a 1 + if @SoloProdottiSenzaAdeguatezza = 0 or @SoloCC = 1 + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 1 + else + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 0 +----------------------------------------------------------------------------- FINE CASO 2 +-- CASO 3 COPERTURA = 0 + e ptf con solo PRODOTTI senza ADEGUATEZZA +-- FINE CASO 3 +--4 Scaduti Retail +select @Scaduti_Retail = RPF.FLGPROF +from C6MartPeriodico.wseirpf RPF +left join C6StagingPeriodico.WSEIAN2 w +on w.RETE=RPF.Rete and w.CODFIS=RPF.CODFIS +where RPF.FLGPROF='P' and W.FLGPROF='N' +AND RPF.CODFIS = @COdiceFISCALE +and RPF.RETE= @RETE +--5 Scaduti Prof +select @Scaduti_Prof = RPF.FLGPROF +from C6MartPeriodico.wseirpf RPF +left join C6StagingPeriodico.WSEIAN2 w +on w.RETE=RPF.Rete and w.CODFIS=RPF.CODFIS +where RPF.FLGPROF='P' and W.FLGPROF='S' +AND RPF.CODFIS = @COdiceFISCALE +and RPF.RETE= @RETE +-- RISULTATO FINALE + if(@Copertura = 0) + begin + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 3 + end + else + begin + set @IDTesto = 1 + end + end + else + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 2 + end + if (@Scaduti_Retail) ='P' and (@isDirect='N') + begin + set @IDTesto = 4 + end + if (@Scaduti_Prof) ='P' and (@isDirect='N') + begin + set @IDTesto = 5 + end + if (@Scaduti_Retail) ='P' and (@isDirect='S') + begin + set @IDTesto = 6 + end + if (@Scaduti_Prof) ='P' and (@isDirect='S') + begin + set @IDTesto = 7 + end + select ID, Testo + from [C6MartPeriodico].[TB_S178CasiParticolari_Testi] + where ID = @IDTesto +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S178CasiParticolari_20181220.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S178CasiParticolari_20181220.sql new file mode 100644 index 00000000..896af28d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S178CasiParticolari_20181220.sql @@ -0,0 +1,52 @@ +-- [C6MartPeriodico].[PL_D_S178CasiParticolari] 'F','DVTMRA58B09F839W' +CREATE procedure [C6MartPeriodico].[PL_D_S178CasiParticolari_20181220] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------ CASO 1 COPERTURA = 0 + declare @Copertura decimal(10,2) + declare @SoloProdottiSenzaAdeguatezza int + declare @IDTesto int + set @IDTesto = 0 + select @Copertura=copertura + from C6MartPeriodico.RISCHIO_AGGREGATO + -- 'COMPLESSIVO|BF' come viene fatto nella PL_D_S157ConfrontoPiramidi per la copertura_tot, campo per l'esposizione della nota sulla coperura sotto la piramide + where cod_aggreg='COMPLESSIVO|BF' + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE +------------------------------------------------------------------------------ FINE CASO 1 +------------------------------------------------------------------------------ CASO 2 SENZA PRODOTTI IN ADEGUATEZZA + -- Se le count torna 0 record significa che in ptf ci sono solo prodotti senza adeguatezza + select @SoloProdottiSenzaAdeguatezza= count(*) + from c6martperiodico.patrimonio_bf patr + left join [C6StagingPeriodico].[Prodotti_Fuori_Adeguatezza] senza + on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto + where patr.rete = @rete + and patr.cod_fiscale = @codicefiscale + and senza.codinterno is null +----------------------------------------------------------------------------- FINE CASO 2 +-- CASO 3 COPERTURA = 0 + e ptf con solo PRODOTTI senza ADEGUATEZZA +-- FINE CASO 3 +-- RISULTATO FINALE + if(@Copertura = 0) + begin + if(@SoloProdottiSenzaAdeguatezza=0) + begin + set @IDTesto = 3 + end + else + begin + set @IDTesto = 1 + end + end + else + if(@SoloProdottiSenzaAdeguatezza=0) + begin + set @IDTesto = 2 + end + select ID, Testo + from [C6MartPeriodico].[TB_S178CasiParticolari_Testi] + where ID = @IDTesto +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S178CasiParticolari_BKP_20231114_PRE_RAFFORZAMENTO.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S178CasiParticolari_BKP_20231114_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..5d7fb691 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S178CasiParticolari_BKP_20231114_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,86 @@ +-- [C6MartPeriodico].[PL_D_S178CasiParticolari] 'F','BLRDNC73D12B925K' +CREATE procedure [C6MartPeriodico].[PL_D_S178CasiParticolari_BKP_20231114_PRE_RAFFORZAMENTO] --'S','02708090580' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @Copertura decimal(10,2) + declare @SoloProdottiSenzaAdeguatezza int + declare @SoloCC int + declare @SoloProdottiSenzaAdeguatezzaOrSoloCC int + declare @IDTesto int + set @IDTesto = 0 +------------------------------------------------------------------------------ CASO 1 COPERTURA = 0 + select @Copertura=copertura + from C6MartPeriodico.RISCHIO_AGGREGATO + -- 'COMPLESSIVO|BF' come viene fatto nella PL_D_S157ConfrontoPiramidi per la copertura_tot, campo per l'esposizione della nota sulla coperura sotto la piramide + where cod_aggreg='COMPLESSIVO|BF' + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE +------------------------------------------------------------------------------ FINE CASO 1 +------------------------------------------------------------------------------ CASO 2 SENZA PRODOTTI IN ADEGUATEZZA E/O SOLO CC IN PORTAFOGLIO + -- Controllo se nel Portafoglio c'è solo CC + select rete, cod_fiscale, id_area + into #t1 + from c6martperiodico.patrimonio_bf + where rete = @Rete and cod_fiscale = @CodiceFiscale + group by rete,cod_fiscale, id_area + select rete, cod_fiscale, count(*) as numero + into #t2 + from #t1 + group by rete, cod_fiscale having count(*) = 1 + if exists( + select p.rete, p.cod_fiscale + from c6martperiodico.patrimonio_bf p + inner join #t2 + on p.rete = #t2.rete + and p.cod_fiscale = #t2.cod_fiscale + --where rete + cod_fiscale in (select rete + cod_fiscale from #t2) + where p.id_area = 'liq' + and p.tipo_prodotto = 'cc' + ) + set @soloCC = 1 + else + set @soloCC = 0 + drop table #t1 + drop table #t2 + -- Se le count torna 0 record significa che in ptf ci sono solo prodotti senza adeguatezza + select @SoloProdottiSenzaAdeguatezza = count(*) + from c6martperiodico.patrimonio_bf patr + left join [C6StagingPeriodico].[Prodotti_Fuori_Adeguatezza] senza + on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto + where patr.rete = @rete + and patr.cod_fiscale = @codicefiscale + and senza.codinterno is null + -- Se si verifica uno dei due casi, imposto la variabile a 1 + if @SoloProdottiSenzaAdeguatezza = 0 or @SoloCC = 1 + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 1 + else + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 0 +----------------------------------------------------------------------------- FINE CASO 2 +-- CASO 3 COPERTURA = 0 + e ptf con solo PRODOTTI senza ADEGUATEZZA +-- FINE CASO 3 +-- RISULTATO FINALE + if(@Copertura = 0) + begin + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 3 + end + else + begin + set @IDTesto = 1 + end + end + else + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 2 + end + select ID, Testo + from [C6MartPeriodico].[TB_S178CasiParticolari_Testi] + where ID = @IDTesto +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S178CasiParticolari_old.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S178CasiParticolari_old.sql new file mode 100644 index 00000000..fd51d23a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S178CasiParticolari_old.sql @@ -0,0 +1,86 @@ +-- [C6MartPeriodico].[PL_D_S178CasiParticolari] 'F','BLRDNC73D12B925K' +CREATE procedure [C6MartPeriodico].[PL_D_S178CasiParticolari_old] --'S','02708090580' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @Copertura decimal(10,2) + declare @SoloProdottiSenzaAdeguatezza int + declare @SoloCC int + declare @SoloProdottiSenzaAdeguatezzaOrSoloCC int + declare @IDTesto int + set @IDTesto = 0 +------------------------------------------------------------------------------ CASO 1 COPERTURA = 0 + select @Copertura=copertura + from C6MartPeriodico.RISCHIO_AGGREGATO + -- 'COMPLESSIVO|BF' come viene fatto nella PL_D_S157ConfrontoPiramidi per la copertura_tot, campo per l'esposizione della nota sulla coperura sotto la piramide + where cod_aggreg='COMPLESSIVO|BF' + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE +------------------------------------------------------------------------------ FINE CASO 1 +------------------------------------------------------------------------------ CASO 2 SENZA PRODOTTI IN ADEGUATEZZA E/O SOLO CC IN PORTAFOGLIO + -- Controllo se nel Portafoglio c'è solo CC + select rete, cod_fiscale, id_area + into #t1 + from c6martperiodico.patrimonio_bf + where rete = @Rete and cod_fiscale = @CodiceFiscale + group by rete,cod_fiscale, id_area + select rete, cod_fiscale, count(*) as numero + into #t2 + from #t1 + group by rete, cod_fiscale having count(*) = 1 + if exists( + select p.rete, p.cod_fiscale + from c6martperiodico.patrimonio_bf p + inner join #t2 + on p.rete = #t2.rete + and p.cod_fiscale = #t2.cod_fiscale + --where rete + cod_fiscale in (select rete + cod_fiscale from #t2) + where p.id_area = 'liq' + and p.tipo_prodotto = 'cc' + ) + set @soloCC = 1 + else + set @soloCC = 0 + drop table #t1 + drop table #t2 + -- Se le count torna 0 record significa che in ptf ci sono solo prodotti senza adeguatezza + select @SoloProdottiSenzaAdeguatezza = count(*) + from c6martperiodico.patrimonio_bf patr + left join [C6StagingPeriodico].[Prodotti_Fuori_Adeguatezza] senza + on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto + where patr.rete = @rete + and patr.cod_fiscale = @codicefiscale + and senza.codinterno is null + -- Se si verifica uno dei due casi, imposto la variabile a 1 + if @SoloProdottiSenzaAdeguatezza = 0 or @SoloCC = 1 + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 1 + else + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 0 +----------------------------------------------------------------------------- FINE CASO 2 +-- CASO 3 COPERTURA = 0 + e ptf con solo PRODOTTI senza ADEGUATEZZA +-- FINE CASO 3 +-- RISULTATO FINALE + if(@Copertura = 0) + begin + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 3 + end + else + begin + set @IDTesto = 1 + end + end + else + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 2 + end + select ID, Testo + from [C6MartPeriodico].[TB_S178CasiParticolari_Testi] + where ID = @IDTesto +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S178CasiParticolari_report_ridotto.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S178CasiParticolari_report_ridotto.sql new file mode 100644 index 00000000..a04e447b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S178CasiParticolari_report_ridotto.sql @@ -0,0 +1,86 @@ +-- [C6MartPeriodico].[PL_D_S178CasiParticolari] 'F','BLRDNC73D12B925K' +CREATE procedure [C6MartPeriodico].[PL_D_S178CasiParticolari_report_ridotto] --'S','02708090580' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @Copertura decimal(10,2) + declare @SoloProdottiSenzaAdeguatezza int + declare @SoloCC int + declare @SoloProdottiSenzaAdeguatezzaOrSoloCC int + declare @IDTesto int + set @IDTesto = 0 +------------------------------------------------------------------------------ CASO 1 COPERTURA = 0 + select @Copertura=copertura + from C6MartPeriodico.RISCHIO_AGGREGATO + -- 'COMPLESSIVO|BF' come viene fatto nella PL_D_S157ConfrontoPiramidi per la copertura_tot, campo per l'esposizione della nota sulla coperura sotto la piramide + where cod_aggreg='COMPLESSIVO|BF' + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE +------------------------------------------------------------------------------ FINE CASO 1 +------------------------------------------------------------------------------ CASO 2 SENZA PRODOTTI IN ADEGUATEZZA E/O SOLO CC IN PORTAFOGLIO + -- Controllo se nel Portafoglio c'è solo CC + select rete, cod_fiscale, id_area + into #t1 + from c6martperiodico.patrimonio_bf + where rete = @Rete and cod_fiscale = @CodiceFiscale + group by rete,cod_fiscale, id_area + select rete, cod_fiscale, count(*) as numero + into #t2 + from #t1 + group by rete, cod_fiscale having count(*) = 1 + if exists( + select p.rete, p.cod_fiscale + from c6martperiodico.patrimonio_bf p + inner join #t2 + on p.rete = #t2.rete + and p.cod_fiscale = #t2.cod_fiscale + --where rete + cod_fiscale in (select rete + cod_fiscale from #t2) + where p.id_area = 'liq' + and p.tipo_prodotto = 'cc' + ) + set @soloCC = 1 + else + set @soloCC = 0 + drop table #t1 + drop table #t2 + -- Se le count torna 0 record significa che in ptf ci sono solo prodotti senza adeguatezza + select @SoloProdottiSenzaAdeguatezza = count(*) + from c6martperiodico.patrimonio_bf patr + left join [C6StagingPeriodico].[Prodotti_Fuori_Adeguatezza] senza + on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto + where patr.rete = @rete + and patr.cod_fiscale = @codicefiscale + and senza.codinterno is null + -- Se si verifica uno dei due casi, imposto la variabile a 1 + if @SoloProdottiSenzaAdeguatezza = 0 or @SoloCC = 1 + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 1 + else + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 0 +----------------------------------------------------------------------------- FINE CASO 2 +-- CASO 3 COPERTURA = 0 + e ptf con solo PRODOTTI senza ADEGUATEZZA +-- FINE CASO 3 +-- RISULTATO FINALE + if(@Copertura = 0) + begin + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 3 + end + else + begin + set @IDTesto = 1 + end + end + else + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 2 + end + select ID, Testo + from [C6MartPeriodico].[TB_S178CasiParticolari_Testi] + where ID = 1 +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza.sql new file mode 100644 index 00000000..0f8a74e4 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza.sql @@ -0,0 +1,306 @@ +--[C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza] 'F', 'FF@P08202' +CREATE procedure [C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza] --'S','MLNPFR59L04I138DS' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +--*************************************************************************** SOLO per test +--drop table @appo,#wseian,@TABELLAINDICATORI +--declare @Rete char(1),@CodiceFiscale varchar(16) +--set @Rete = 'f' +--set @CodiceFiscale = 'BTTFST43C42B300A'--'LNGLGU49D23F587Z'--'BRSDRN64E24D749H'--'00703420968'-- +--set @DataFineTrim = 20180430 +--*************************************************************************** +select * +into #WSEIAN2 +from C6MartPeriodico.WSEIAN2 +where RETE=@Rete +and CODFIS=@CodiceFiscale +DECLARE @adeguato [varchar](5) +DECLARE @descrizione [varchar](1000) +-- ************************** creo la tabella iniziale con tutti gli indicatori +declare @TABELLAINDICATORI table +( + TI_Ordine [smallint] null, + TI_Indicatore [varchar](80) null, + TI_Adeguato [varchar](5) null, + TI_Descrizione [varchar](1000) null +) +insert into @TABELLAINDICATORI values (1,'Rischio','-1','Non applicabile') +insert into @TABELLAINDICATORI values (2,'Riserva','-1','Non applicabile') +insert into @TABELLAINDICATORI values (3,'Investimento di lungo periodo','-1','Non applicabile') +insert into @TABELLAINDICATORI values (4,'Complessità','-1','Non applicabile') +insert into @TABELLAINDICATORI values (5,'Concentrazione in prodotti complessi','-1','Non applicabile') +insert into @TABELLAINDICATORI values (6,'Frequenza delle operazioni','-1','Non applicabile') +insert into @TABELLAINDICATORI values (7,'Concentrazione emittenti','-1','Non applicabile') +insert into @TABELLAINDICATORI values (8,'Concentrazione valutaria','-1','Non applicabile') +-- ***************************************************************************** +declare @appo table +( + RETE [varchar](1) null, + COD_FISCALE [varchar](16) null, + PATRIMONIO [varchar](255) NOT NULL, + CTV_AGGREG [decimal](12, 2) null, + profiloCode [smallint] null, + var_profilo [decimal](5, 2) null, + [VAR] [decimal](12, 3) NULL, + varString [varchar](16) null,--[decimal](12, 3) NULL, + CREDITRISK [int] NULL, + RISKCLASSSTRING [varchar](10) null, + coperturaString [varchar](16) null,--[decimal](12, 3) NULL, + COVERAGESTRING [varchar](10) null, + RISKCLASSMAX [varchar](50) null, + [PERCENTAGE] [decimal](12, 6) null, + Ordine [smallint] null, + ULLY_PERC [decimal](10, 2) NULL +) +--creo le tabelle di appoggio +insert into @appo exec [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] @Rete,@CodiceFiscale +--*************************************************************************** INDICATORE DI VALUTAZIONE: RISCHIO +select @adeguato = +case + when var <= var_profilo then '1' + when var > var_profilo then '0' + else -1 +end, +@descrizione = case + when var <= var_profilo then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '1') + when var > var_profilo then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '-1') +end +from @appo where ordine = 1 --patrimonio fideuram +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 1; +--*************************************************************************** INDICATORE DI VALUTAZIONE: RISERVA +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(riserva) = 'S' then '1' + when upper(riserva) = 'N' then '0' + else -1 +end , +@descrizione = case + when upper(riserva) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '1') + when upper(riserva) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '-1') +end +from #WSEIAN2 +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 2; +--*************************************************************************** INDICATORE DI VALUTAZIONE: INVESTIMENTO LUNGO PERIODO +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(invl_period) = 'S' then '1' + when upper(invl_period) = 'N' then '0' + else -1 +end , +@descrizione = case + when upper(invl_period) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '1') + when upper(invl_period) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '-1') +end +from #WSEIAN2 +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 3; +--*************************************************************************** INDICATORE DI VALUTAZIONE: Complessità (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when flagpg = 1 and flgprof = 'N' and flagnqp = 'S' and flgprlrde = 'N' then '-1' --Massimiliano dice che va messo prima di tutti senza testare altri flag 17/5/2018 + when upper(clcompl) = 'N' and + (select nocompl from [C6StagingPeriodico].[WSEIAN2] where codfis = @CodiceFiscale and RETE=@Rete and dttrim = @DataFineTrim ) = 'S' then '0' + when upper(clcompl) = 'N' and flagpg = 0 then '0' + --fix del 18/7/2019 + --when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'N' then '0' + when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'S' then '0' + --fine fix del 18/7/2019 + when upper(clcompl) = 'S' then '1' +end, +@descrizione = case + when flagpg = 1 and flgprof = 'N' and flagnqp = 'S' and flgprlrde = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '-1') + when upper(clcompl) = 'N' and + (select nocompl from [C6StagingPeriodico].[WSEIAN2] where codfis = @CodiceFiscale and rete= @rete and dttrim = @DataFineTrim ) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0C') + when upper(clcompl) = 'N' and flagpg = 0 then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0A') + --fix del 18/7/2019 + --when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0B') + when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0B') + --fine fix del 18/7/2019 + when upper(clcompl) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '1') +end +from #WSEIAN2 +--and flgprof <> 'S' +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 4; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 4; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione in prodotti complessi (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(flgconc) = 'S' then '1' + when upper(flgconc) in ('N') then '0' + else '-1' +end, +@descrizione = case + when upper(flgconc) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '1') + when upper(flgconc) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '-1') +end +from #WSEIAN2 +--and flgprof <> 'S' +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 5; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 5; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Frequenza delle operazioni (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(freq) = 'S' then '1' + when upper(freq) = 'N' then '0' + else '-1' +end, +@descrizione = case + when upper(freq) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '1') + when upper(freq) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '-1') +end +from #WSEIAN2 +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 6; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 6; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione emittenti (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(concemi) = 'S' then '1' + when upper(concemi) = 'N' then '0' + else '-1' +end , +@descrizione = case + when upper(concemi) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '1') + when upper(concemi) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '-1') +end +from #WSEIAN2 +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 7; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 7; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione Valutaria (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(ADEGCONC_VALUT) = 'S' then '1' + when upper(ADEGCONC_VALUT) = 'N' then '0' + else '-1' +end, +@descrizione = case + when upper(ADEGCONC_VALUT) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '1') + when upper(ADEGCONC_VALUT) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '-1') +end +from #WSEIAN2 +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 8; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 8; + end +end +--******************************************************************************************************************************************* +select +ti_ordine as Ordine, +ti_indicatore as Indicatore, +ti_adeguato as Adeguato, +ti_descrizione as DescrizioneEsito +from @TABELLAINDICATORI +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza_preMUA.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza_preMUA.sql new file mode 100644 index 00000000..d8d36acb --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S178IndicatoriEsitoAdeguatezza_preMUA.sql @@ -0,0 +1,470 @@ +--[C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza] 's', 'LMZGNN35M47F205W' +CREATE procedure [C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza_preMUA] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +--*************************************************************************** SOLO per test +--drop table @appo,#wseian,@TABELLAINDICATORI +--declare @Rete char(1),@CodiceFiscale varchar(16) +--set @Rete = 'f' +--set @CodiceFiscale = 'BTTFST43C42B300A'--'LNGLGU49D23F587Z'--'BRSDRN64E24D749H'--'00703420968'-- +--set @DataFineTrim = 20180430 +--*************************************************************************** +DECLARE @adeguato [varchar](5) +DECLARE @descrizione [varchar](1000) +-- ************************** creo la tabella iniziale con tutti gli indicatori +declare @TABELLAINDICATORI table +( + TI_Ordine [smallint] null, + TI_Indicatore [varchar](80) null, + TI_Adeguato [varchar](5) null, + TI_Descrizione [varchar](1000) null +) +insert into @TABELLAINDICATORI values (1,'Rischio','-1','Non applicabile') +insert into @TABELLAINDICATORI values (2,'Riserva','-1','Non applicabile') +insert into @TABELLAINDICATORI values (3,'Investimento di Lungo Periodo','-1','Non applicabile') +insert into @TABELLAINDICATORI values (4,'Complessità','-1','Non applicabile') +insert into @TABELLAINDICATORI values (5,'Concentrazione in prodotti complessi','-1','Non applicabile') +insert into @TABELLAINDICATORI values (6,'Frequenza delle operazioni','-1','Non applicabile') +insert into @TABELLAINDICATORI values (7,'Concentrazione emittenti','-1','Non applicabile') +insert into @TABELLAINDICATORI values (8,'Concentrazione valutaria','-1','Non applicabile') +-- ***************************************************************************** +declare @appo table +( + RETE [varchar](1) null, + COD_FISCALE [varchar](16) null, + PATRIMONIO [varchar](255) NOT NULL, + CTV_AGGREG [decimal](12, 2) null, + profiloCode [smallint] null, + var_profilo [decimal](5, 2) null, + [VAR] [decimal](12, 3) NULL, + varString [varchar](16) null,--[decimal](12, 3) NULL, + CREDITRISK [int] NULL, + RISKCLASSSTRING [varchar](10) null, + coperturaString [varchar](16) null,--[decimal](12, 3) NULL, + COVERAGESTRING [varchar](10) null, + RISKCLASSMAX [varchar](50) null, + [PERCENTAGE] [decimal](12, 6) null, + Ordine [smallint] null, + ULLY_PERC [decimal](10, 2) NULL +) +--creo le tabelle di appoggio +insert into @appo exec [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] @Rete,@CodiceFiscale +declare @WSEIAN_S170 table +( + [DTTRIM] [decimal](9, 0) NOT NULL, + [RETE] [varchar](1) NOT NULL, + [CODFIS] [varchar](16) NOT NULL, + [NOME] [varchar](25) NULL, + [COGNOME] [varchar](25) NULL, + [DTNASCI] [decimal](9, 0) NULL, + [INDIRIZZO] [varchar](44) NULL, + [CAP] [varchar](5) NULL, + [CITTA] [varchar](35) NULL, + [PROVINCIA] [varchar](2) NULL, + [NAZIONE] [varchar](35) NULL, + [CODPROF] [smallint] NULL, + [DTINVAL] [decimal](9, 0) NOT NULL, + [CODMAN] [varchar](6) NULL, + [CLASSERC] [decimal](5, 0) NULL, + [COD_PROFEC] [decimal](5, 0) NULL, + [FLAGPG] [decimal](1, 0) NULL, + [CLCOMPL] [char](1) NOT NULL, + [FLGCONC] [char](1) NOT NULL, + [FLAGNQP] [char](1) NULL, + [FLGPRLRDE] [char](1) NULL, + [FLGPROF] [char](1) NULL, + [DTFINVAL] [decimal](9, 0) NULL, + [CONCEMI] [char](1) NULL, + [FREQ] [char](1) NULL, + [LLIQUID] [char](1) NULL, + [PREFSOST] [char](1) NULL, + [FLAGAMB] [char](1) NULL, + [FLAGSOC] [char](1) NULL, + [FLAGGOV] [char](1) NULL, + [ADEGCONC_VALUT] [char](1) NULL, + [SOGLIAESG] [decimal](5, 2) NULL, + [COERENZA] [char](1) NULL, + [RISERVA] [char](1) NULL, + [INVL_PERIOD] [char](1) NULL, + [MAXCOMPL] [decimal](5, 0) NULL, + [NOCOMPL] [char](1) NULL, + [SPESA_FORZATA] [decimal](13, 2) NULL, + [PERC_ILP] [decimal](5, 2) NULL, + [IMP_RISERVA] [decimal](13, 2) NULL +) +if @CodiceFiscale like '%FF@%' + INSERT INTO @WSEIAN_S170 + --se viene passata una fiduciaria devo filtrare per codice mandato + select [DTTRIM] + ,[RETE] + , + case + when(isnull(ltrim(rtrim(codman)),'') <> '') + then 'FF@'+codman + when (isnull(codfis,'') <> '') + then codfis + else + codfis + end as Codfis + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF] + ,[DTINVAL] + ,[CODMAN] + ,[CLASSERC] + ,[COD_PROFEC] + ,[FLAGPG] + ,[CLCOMPL] + ,[FLGCONC] + ,[FLAGNQP] + ,[FLGPRLRDE] + ,[FLGPROF] + ,[DTFINVAL] + ,[CONCEMI] + ,[FREQ] + ,[LLIQUID] + ,[PREFSOST] + ,[FLAGAMB] + ,[FLAGSOC] + ,[FLAGGOV] + ,[ADEGCONC_VALUT] + ,[SOGLIAESG] + ,[COERENZA] + ,[RISERVA] + ,[INVL_PERIOD] + ,[MAXCOMPL] + ,[NOCOMPL] + ,[SPESA_FORZATA] + ,[PERC_ILP] + ,[IMP_RISERVA] + from [C6StagingPeriodico].[WSEIAN2] + where 1=1 + and rete = @Rete + and codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + and dttrim = @DataFineTrim; +else + INSERT INTO @WSEIAN_S170 + select [DTTRIM] + ,[RETE] + , + case + when(isnull(ltrim(rtrim(codman)),'') <> '') + then 'FF@'+codman + when (isnull(codfis,'') <> '') + then codfis + else + codfis + end as Codfis + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF] + ,[DTINVAL] + ,[CODMAN] + ,[CLASSERC] + ,[COD_PROFEC] + ,[FLAGPG] + ,[CLCOMPL] + ,[FLGCONC] + ,[FLAGNQP] + ,[FLGPRLRDE] + ,[FLGPROF] + ,[DTFINVAL] + ,[CONCEMI] + ,[FREQ] + ,[LLIQUID] + ,[PREFSOST] + ,[FLAGAMB] + ,[FLAGSOC] + ,[FLAGGOV] + ,[ADEGCONC_VALUT] + ,[SOGLIAESG] + ,[COERENZA] + ,[RISERVA] + ,[INVL_PERIOD] + ,[MAXCOMPL] + ,[NOCOMPL] + ,[SPESA_FORZATA] + ,[PERC_ILP] + ,[IMP_RISERVA] + from [C6StagingPeriodico].[WSEIAN2] + where 1=1 + and rete = @Rete + and codfis= @CodiceFiscale + and dttrim = @DataFineTrim; +--*************************************************************************** INDICATORE DI VALUTAZIONE: RISCHIO +select @adeguato = +case + when var <= var_profilo then '1' + when var > var_profilo then '0' + else -1 +end, +@descrizione = case + when var <= var_profilo then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '1') + when var > var_profilo then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '-1') +end +from @appo where ordine = 1 --patrimonio fideuram +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 1; +--*************************************************************************** INDICATORE DI VALUTAZIONE: RISERVA +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(riserva) = 'S' then '1' + when upper(riserva) = 'N' then '0' + else -1 +end , +@descrizione = case + when upper(riserva) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '1') + when upper(riserva) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +--20180830 aggiunto AC +and rete = @Rete +and codfis = @CodiceFiscale +--20180830 +and dttrim = @DataFineTrim +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 2; +--*************************************************************************** INDICATORE DI VALUTAZIONE: INVESTIMENTO LUNGO PERIODO +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(invl_period) = 'S' then '1' + when upper(invl_period) = 'N' then '0' + else -1 +end , +@descrizione = case + when upper(invl_period) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '1') + when upper(invl_period) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +--20180830 aggiunto AC +and rete = @Rete +and codfis = @CodiceFiscale +--20180830 +and dttrim = @DataFineTrim +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 3; +--*************************************************************************** INDICATORE DI VALUTAZIONE: Complessità (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when flagpg = 1 and flgprof = 'N' and flagnqp = 'S' and flgprlrde = 'N' then '-1' --Massimiliano dice che va messo prima di tutti senza testare altri flag 17/5/2018 + when upper(clcompl) = 'N' and + (select nocompl from [C6StagingPeriodico].[WSEIAN2] where codfis = @CodiceFiscale and dttrim = @DataFineTrim ) = 'S' then '0' + when upper(clcompl) = 'N' and flagpg = 0 then '0' + --fix del 18/7/2019 + --when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'N' then '0' + when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'S' then '0' + --fine fix del 18/7/2019 + when upper(clcompl) = 'S' then '1' +end, +@descrizione = case + when flagpg = 1 and flgprof = 'N' and flagnqp = 'S' and flgprlrde = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '-1') + when upper(clcompl) = 'N' and + (select nocompl from [C6StagingPeriodico].[WSEIAN2] where codfis = @CodiceFiscale and dttrim = @DataFineTrim ) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0C') + when upper(clcompl) = 'N' and flagpg = 0 then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0A') + --fix del 18/7/2019 + --when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0B') + when upper(clcompl) = 'N' and flagpg = 1 and flgprlrde = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0B') + --fine fix del 18/7/2019 + when upper(clcompl) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '1') +end +from @WSEIAN_S170 +where 1=1 +--20180830 aggiunto AC +and rete = @Rete +and codfis = @CodiceFiscale +--20180830 +and dttrim = @DataFineTrim +--and flgprof <> 'S' +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 4; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 4; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione in prodotti complessi (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(flgconc) = 'S' then '1' + when upper(flgconc) = 'N' then '0' + else '-1' +end, +@descrizione = case + when upper(flgconc) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '1') + when upper(flgconc) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +and rete = @Rete +and codfis = @CodiceFiscale +and dttrim = @DataFineTrim +--and flgprof <> 'S' +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 5; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 5; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Frequenza delle operazioni (NON RITORNATO PER I PROFESSIONALI) +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when flgprof = 'S' then 'prof' + when upper(freq) = 'S' then '1' + when upper(freq) = 'N' then '0' + else '-1' +end, +@descrizione = case + when upper(freq) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '1') + when upper(freq) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +and rete = @Rete +and codfis = @CodiceFiscale +and dttrim = @DataFineTrim +--and flgprof <> 'S' +if isnull(ltrim(rtrim(@adeguato)),'') <> '' +-- se valorizzato (0,1,-1,prof) faccio qualcosa altrimenti lascio come -1 (non disponibile) +begin + if @adeguato = 'prof' + begin + delete from @TABELLAINDICATORI where TI_Ordine = 6; + end + else + begin + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 6; + end +end +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione emittenti +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(concemi) = 'S' then '1' + when upper(concemi) = 'N' then '0' + else -1 +end , +@descrizione = case + when upper(concemi) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '1') + when upper(concemi) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +--20180830 aggiunto AC +and rete = @Rete +and codfis = @CodiceFiscale +--20180830 +and dttrim = @DataFineTrim +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 7; +--*************************************************************************** INDICATORE DI VALUTAZIONE: Concentrazione Valutaria +set @adeguato = '' +set @descrizione = '' +select +@adeguato = +case + when upper(ADEGCONC_VALUT) = 'S' then '1' + when upper(ADEGCONC_VALUT) = 'N' then '0' + else '-1' +end, +@descrizione = case + when upper(ADEGCONC_VALUT) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '1') + when upper(ADEGCONC_VALUT) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 8 and Adeguato = '-1') +end +from @WSEIAN_S170 +where 1=1 +and rete = @Rete +and codfis = @CodiceFiscale +and dttrim = @DataFineTrim +if isnull(ltrim(rtrim(@adeguato)),'') <> '' + update a + set TI_Adeguato = @adeguato, TI_Descrizione = @descrizione + from @TABELLAINDICATORI a + where TI_Ordine = 8; +--******************************************************************************************************************************************* +select +ti_ordine as Ordine, +ti_indicatore as Indicatore, +ti_adeguato as Adeguato, +ti_descrizione as DescrizioneEsito +from @TABELLAINDICATORI +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S179EmittentiConcentrazioneAlta.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S179EmittentiConcentrazioneAlta.sql new file mode 100644 index 00000000..2e1b2dfb --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S179EmittentiConcentrazioneAlta.sql @@ -0,0 +1,28 @@ +--[C6MartPeriodico].[PL_D_S179EmittentiConcentrazioneAlta] 'F', 'DVTMRA58B09F839W' +CREATE procedure [C6MartPeriodico].[PL_D_S179EmittentiConcentrazioneAlta] --'W','DRNSNT51B44H090Q' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @PROF VARCHAR(1) + SET @PROF = (select FLGPROF from C6MartPeriodico.WSEIAN2 WHERE RETE=@Rete AND CODFIS= @CodiceFiscale) +SELECT [RETE] + ,[COD_FISCALE] + ,[Ordine] + ,[Emittente] + ,[ctv] + ,[flagAdeguatezza] + ,[franchigia] + ,[percConcentrazione] * 100 as percConcentrazione + ,case when rating='' then 'n.d.' else rating end as rating + ,[sogliaConcentrazione] * 100 as sogliaConcentrazione + FROM [C6MartPeriodico].[TB_S179EmittentiConcentrazioneAlta] + where rete = @Rete + and Cod_Fiscale = @CodiceFiscale + and @PROF='N' + order by emittente +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta.sql new file mode 100644 index 00000000..fe75ed81 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta.sql @@ -0,0 +1,133 @@ +--[c6MartPeriodico].[PL_D_S180ProdottiComplessitaAlta] 'f', 'ff@9225' +CREATE procedure [C6MartPeriodico].[PL_D_S180ProdottiComplessitaAlta] --'F','LPPLBR69L11L833P' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @TotalePatrimonio decimal(12,2) + -- acquisiamo il totale patrimonio del cliente + SELECT @TotalePatrimonio = ctv + FROM + c6MartPeriodico.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +-- + SELECT + 1 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + --((controvalore * 100) / @TotalePatrimonio) as Peso, + percentuale_CTV as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + -- SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi + SUM(Percentuale_CTV) OVER () as SommaPesi + into #temp +FROM + [c6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 3 + union all + SELECT + 2 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + --((controvalore * 100) / @TotalePatrimonio) as Peso, + percentuale_CTV as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + -- SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi + SUM(Percentuale_CTV) OVER () as SommaPesi +FROM + [c6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 2 + union all + SELECT + 3 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + --((controvalore * 100) / @TotalePatrimonio) as Peso, + percentuale_CTV as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + -- SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi + SUM(Percentuale_CTV) OVER () as SommaPesi +FROM + [c6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 1 + -- --20180905 Fine modifica + order by ordine,Compl_Base desc + delete from #temp where ordine=1 and SommaPesi<20 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta è <20 + delete from #temp where ordine=2 and SommaPesi<30 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta è <30 + delete from #temp where ordine=3 and SommaPesi<50 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta e medio-bassa è <50 +-- select * from #temp --order by ordine,Complessita + DECLARE @ordineConcatenato VARCHAR(4) +SELECT @ordineConcatenato = COALESCE(@ordineConcatenato + '', '') + CAST(ordine AS VARCHAR) +FROM (SELECT DISTINCT ordine FROM #temp) AS subquery +-- @ordineConcatenato conterrà i valori distinti concatenati della colonna 'ordine' +SELECT Ordine,CodiceContratto,NomeProdotto,Controvalore,Complessita,Peso,TotalePatrimonio,SommaControvalore,SommaPesi,@ordineConcatenato AS Ordine_Concatenato +into #temp2 +FROM #temp +select t.Ordine + ,t.CodiceContratto + ,t.NomeProdotto + ,t.Controvalore + ,t.Complessita as Complessita_Numero + ,case when t.Complessita=4 then 'Alta' + when t.Complessita=3 then 'Medio-alta' + when t.Complessita=2 then 'Medio-bassa' + else 'n.d.' end as Complessita + ,t.Peso + ,t.TotalePatrimonio + ,t.SommaControvalore + ,t.SommaPesi + ,t.Ordine_Concatenato + ,n.Descrizione + into #temp3 + from #temp2 t left join [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta_note] n on t.Ordine_Concatenato=n.id + DECLARE @ComplessitaConcatenata VARCHAR(4) +SELECT @ComplessitaConcatenata = COALESCE(@ComplessitaConcatenata + '', '') + CAST(complessita_numero AS VARCHAR) +FROM (SELECT DISTINCT complessita_numero FROM #temp3 ) AS subquery order by Complessita_Numero desc +SELECT t.Ordine,t.CodiceContratto,t.NomeProdotto,t.Controvalore,t.Complessita_Numero,t.Complessita,t.Peso,t.TotalePatrimonio,t.SommaControvalore,t.SommaPesi,t.Ordine_Concatenato,replace(t.Descrizione,'@@@@@',co.descrizione) as Descrizione--,@ComplessitaConcatenata as Complessita_Concatenata +FROM #temp3 t left join [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta_note_complessita] co on @ComplessitaConcatenata=co.id +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta_20180715.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta_20180715.sql new file mode 100644 index 00000000..5283191e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta_20180715.sql @@ -0,0 +1,41 @@ +--[C6MartPeriodico].[PL_D_S180ProdottiComplessitaAlta] 'f', 'ff@9225' +CREATE procedure [C6MartPeriodico].[PL_D_S180ProdottiComplessitaAlta_20180715] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @TotalePatrimonio decimal(12,2) + -- acquisiamo il totale patrimonio del cliente + SELECT @TotalePatrimonio = ctv + FROM + C6MartPeriodico.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +-- + select + 1 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + ((controvalore*100)/@TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio + from [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] + where + rete = @Rete + -- modifica del 4/7/2018 + and cod_fiscale like + CASE when @CodiceFiscale like '%FF@%'THEN '%%' + ELSE @CodiceFiscale + END + and codman = + CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + ELSE '' + END + --fine modifica del 4/7/2018 + order by controvalore desc +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta_mini.sql b/sql/storedTestbes/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta_mini.sql new file mode 100644 index 00000000..7b2f176b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_D_S180ProdottiComplessitaAlta_mini.sql @@ -0,0 +1,89 @@ +CREATE procedure [C6MartPeriodico].[PL_D_S180ProdottiComplessitaAlta_mini] --'W','BRGDNT48P60D612V' + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + declare @TotalePatrimonio decimal(12,2) + SELECT @TotalePatrimonio = ctv + FROM + C6Mart.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND COD_FISCALE = @CodiceFiscale + SELECT + 1 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi + into #temp +FROM + [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 3 + union all + SELECT + 2 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 2 + union all + SELECT + 3 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 1 +delete from #temp where ordine=1 and SommaPesi<20 +delete from #temp where ordine=2 and SommaPesi<30 +delete from #temp where ordine=3 and SommaPesi<50 +select case when exists (select 1 from #temp) then 1 else 0 end +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_FD10PatrimonioFinanziario.sql b/sql/storedTestbes/C6MartPeriodico_PL_FD10PatrimonioFinanziario.sql new file mode 100644 index 00000000..3e167360 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_FD10PatrimonioFinanziario.sql @@ -0,0 +1,18 @@ +CREATE procedure [C6MartPeriodico].[PL_FD10PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [Banca] + ,[Ordinamento] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_S10PatrimonioFinanziario] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_FD181PreferenzeESG.sql b/sql/storedTestbes/C6MartPeriodico_PL_FD181PreferenzeESG.sql new file mode 100644 index 00000000..27e00d1c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_FD181PreferenzeESG.sql @@ -0,0 +1,51 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'BCCNDR69P21A462P' +CREATE procedure [C6MartPeriodico].[PL_FD181PreferenzeESG]--'F','BBLCMS66M11F960M' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @SCADUTO_PARZIALE varchar(16) +SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) +SELECT esg.[rete] + ,[cod_fiscale] + --,case + --when @SCADUTO_PARZIALE='P' then 0 else [Preferenza_esg_cliente] + --end as + ,[Preferenza_esg_cliente] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,CAST(ROUND(ISNULL(obiettivo_ESG_minimo, 0.00), 2) AS decimal(6, 2)) AS obiettivo_ESG_minimo + ,[ESG_Rating] + ,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_E_perc + ,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_S_perc + ,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_G_perc + ,case when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=25 and isnull(ind.SOGLIAESG,'0.00')<50 then 'Almeno pari al 25%' + when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=50 and isnull(ind.SOGLIAESG,'0.00')<75 then 'Almeno pari al 50%' + when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=75 then 'Almeno pari al 75%' else '-' end as Pref_Sost + ,case when cle.U_PREFSOST='S' then 'Y' + when cle.U_PREFSOST='N' then 'N' else 'N' end as U_PREFSOST --Ulteriori Preferenze di Sostenibilità ----decommenta per ESG 2024 + ,case when cle.FLAGSFDR='S' then replace(cast(cle.SFDR_PERC as varchar(12)),'.00','')+'%' else '-' end as SFDR_PERC ----decommenta per ESG 2024 + ,case when cle.FLAGTAXO='S' then replace(cast(cle.TAXO_PERC as varchar(12)),'.00','')+'%' else '-' end as TAXO_PERC ----decommenta per ESG 2024 + ,case when isnull(cle.PAI_A,'')='' then '-' else cle.PAI_A end as PAI_A + ,case when isnull(cle.PAI_S,'')='' then '-' else cle.PAI_S end as PAI_S + ,case when ESG_E='Y' then cle.PERCAMB_OK ELSE NULL END AS E_PERC_OK--,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS E_PERC_OK ----decommenta per ESG 2024 + ,case when ESG_S='Y' then cle.PERCSOC_OK ELSE NULL END AS S_PERC_OK--,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS S_PERC_OK ----decommenta per ESG 2024 + ,case when ESG_G='Y' then cle.PERCGOV_OK ELSE NULL END AS G_PERC_OK--,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS G_PERC_OK ----decommenta per ESG 2024 + FROM [C6StampeCentralizzate].[C6MartPeriodico].[BrsClienteESG] esg + left join C6MartPeriodico.wseian2 ind + on ind.rete=esg.rete and ind.CODFIS=esg.cod_fiscale + left join C6MartPeriodico.W6CLIESG cle + on ind.rete=cle.rete and ind.CODFIS=cle.CODFIS +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale + --AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' non valida x i direct +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_FD181PreferenzeESG_BKP_20250305_PreESG2024.sql b/sql/storedTestbes/C6MartPeriodico_PL_FD181PreferenzeESG_BKP_20250305_PreESG2024.sql new file mode 100644 index 00000000..4aa351c3 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_FD181PreferenzeESG_BKP_20250305_PreESG2024.sql @@ -0,0 +1,38 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'BCCNDR69P21A462P' +CREATE procedure [C6MartPeriodico].[PL_FD181PreferenzeESG_BKP_20250305_PreESG2024]--'S','BCCNDR69P21A462P' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @SCADUTO_PARZIALE varchar(16) +SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) +SELECT esg.[rete] + ,[cod_fiscale] + ,case + when @SCADUTO_PARZIALE='P' then 0 else [Preferenza_esg_cliente] + end as [Preferenza_esg_cliente] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,CAST(ROUND(ISNULL(obiettivo_ESG_minimo, 0.00), 2) AS decimal(6, 2)) AS obiettivo_ESG_minimo + ,[ESG_Rating] + ,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_E_perc + ,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_S_perc + ,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_G_perc + ,case when isnull(ind.SOGLIAESG,'0.00')>=25 and isnull(ind.SOGLIAESG,'0.00')<50 then 'Almeno pari al 25%' + when isnull(ind.SOGLIAESG,'0.00')>=50 and isnull(ind.SOGLIAESG,'0.00')<75 then 'Almeno pari al 50%' + when isnull(ind.SOGLIAESG,'0.00')>=75 then 'Almeno pari al 75%' else 'n.d.' end as Pref_Sost + FROM [C6StampeCentralizzate].[C6MartPeriodico].[BrsClienteESG] esg + left join C6MartPeriodico.wseian2 ind + on ind.rete=esg.rete and ind.CODFIS=esg.cod_fiscale +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_FD182BISDettaglioProdottiESG.sql b/sql/storedTestbes/C6MartPeriodico_PL_FD182BISDettaglioProdottiESG.sql new file mode 100644 index 00000000..c3a9479d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_FD182BISDettaglioProdottiESG.sql @@ -0,0 +1,167 @@ +--se nella generazione del report da errore molto probabilmente ci sta una chiaveclientePB diversa sulla appocontratti dalla vinfocliente +--cambiala sull'appo contratti e contrattipretrimestrale +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S182BISDettaglioProdottiESG] 'F', '98196710176' +CREATE procedure [C6MartPeriodico].[PL_FD182BISDettaglioProdottiESG] --'S','DGSMHL70H08Z404F' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +--- + SELECT distinct + [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + into #temp + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S133_S157DatiPiramide] + WHERE [Rete] = @rete + AND [CodiceFiscale] = @codicefiscale + order by ordinamento + declare @totale_risorse_finanziarie decimal(38,3) + declare @totale_patrimonio decimal(38,3) + declare @partite_viaggianti decimal(38,3) + select @totale_risorse_finanziarie = SUM(controvaloreAttuale) from #temp where needarea in ('Ext','Inv','Pre','Ris','Liq','Na') + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + select @totale_patrimonio = SUM(controvaloreAttuale) from #temp + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + select @partite_viaggianti= PartiteViaggiantiInv from wh.Maledetti + where i_Rete=@Rete and i_CodiceFiscale=@CodiceFiscale + set @totale_patrimonio=@totale_patrimonio + @partite_viaggianti + select + case when @totale_risorse_finanziarie=@totale_patrimonio then 'Tot_P' else 'Tot_F' end as needarea, + case when @totale_risorse_finanziarie=@totale_patrimonio then 'TOTALE PATRIMONIO' else 'TOTALE RISORSE FINANZIARIE' end as needareades, + '100' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + '' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + SUM(controvaloreattuale) as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto +from #temp +where needarea in ('Ext','Inv','Pre','Ris','Liq','Na') +having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + union all + select + 'Tot_F' as needarea, + '' as needareades, + '101' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + 'C/C a saldo negativo' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + SUM(controvaloreattuale) as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from #temp + where needarea in ('CC') + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + union all + select + 'Tot_F' as needarea, + '' as needareades, + '102' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + 'Operazioni in corso' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + PartiteViaggiantiInv as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from wh.Maledetti + where i_Rete=@Rete and i_CodiceFiscale=@CodiceFiscale + and PartiteViaggiantiInv<>'0.000' + union all + select top (1) + 'Tot_P' as needarea, + 'TOTALE PATRIMONIO' as needareades, + '103' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + '' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + @totale_patrimonio as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from #temp + where @totale_risorse_finanziarie<>@totale_patrimonio + --having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 and SUM(controvaloreAttuale) <> @totale_risorse_finanziarie +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_FD182DettaglioProdottiESG.sql b/sql/storedTestbes/C6MartPeriodico_PL_FD182DettaglioProdottiESG.sql new file mode 100644 index 00000000..9f412e46 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_FD182DettaglioProdottiESG.sql @@ -0,0 +1,241 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S182DettaglioProdottiESG] 'F', 'GLLGZN62T06H501I' +CREATE procedure [C6MartPeriodico].[PL_FD182DettaglioProdottiESG] --'F','PCNLVI82A63I726B' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Rob'--when robo.isProgettoRobo='S' then 'Rob' + else 'ASF' + END AS needarea, + CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + --WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + --ELSE AREA.NOME_AREA + END AS needareades, +CASE + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + --ELSE AREA.ORDINAMENTO + -- WHEN robo.isProgettoRobo='S' THEN 1 + --ELSE 2 + WHEN ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 1 + ELSE 2 +END + AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + when isnull(trim(PATRBF.NOME_PROGETTO),'') not like '%Direct EVO%' then 'Default' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV ) OVER (PARTITION BY CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' end) AS somma_controval_needarea, + SUM(PATRBF.CTV ) OVER (PARTITION BY CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' end)--, PATRBF.ordinamento_progetto) + AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY --robo.isProgettoRobo, + PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 +-- THEN 'n.d.' +-- ELSE NULL +--END AS versato_need_progString, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) +-- ELSE NULL +--END AS MinusPlusValenza_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 +-- THEN 'n.d.' +-- ELSE NULL +--END AS MinusPlusValenza_need_progString, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF +-- ELSE NULL +--END AS somma_var_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA +-- ELSE NULL +--END AS somma_copertura_need_prog, +--RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +--CASE +-- WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 +-- THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII +-- WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' +-- THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- +-- ELSE NULL +--END AS var_needareaString, +--CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, +-- CASE +-- WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) +-- --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- ELSE '' +--END AS copertura_needareaString, +--RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +--CASE +-- WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +--END AS var_need_progString, +--RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, + case when ESG_E = 'SI' then 'Sì' else 'No' end as ESG_E, + case when ESG_S = 'SI' then 'Sì' else 'No' end as ESG_S, + case when ESG_G = 'SI' then 'Sì' else 'No' end as ESG_G, + case when CatSFDR <> '' then esg.CatSFDR else '-' end as CatSFDR, + case when ESGRating <> '' then esg.esgrating else '-' end as ESGRating, + case when TrendESGRating <> '' then esg.TrendESGRating else '-' end as TrendESGRating, +PATRBF.CTV AS Controvalore, +--PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +--CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +--MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +--CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +--case when (patrbf.tipo_prodotto ='CC') then 0.00 +--else RISCHIO_PROD.VAR_PERC_PTF +--end AS VaRprodotto, +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' +-- WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +--ELSE NULL END as varProdottoString, +--case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--else RISCHIO_PROD.Copertura +--end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +--PARTVIA_DISINV AS partitaViaggiante, +--CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +--RISCHIO_PROD.CREDITRISK as creditrisk, +--CASE +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' +-- WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' +-- ELSE NULL +-- END as creditriskstring, + --RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto + --,CASE + -- WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' + -- ELSE 'N' end as ESG_E_PROD_CLI,----decommenta per ESG 2024 + --CASE + -- WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' + -- ELSE 'N' end as ESG_S_PROD_CLI,----decommenta per ESG 2024 + --CASE + -- WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' + -- ELSE 'N' end as ESG_G_PROD_CLI ----decommenta per ESG 2024 + ,case when isnull(cat.esg_e_prod_cli,'N')='Y' then 'S' else 'N' end as esg_e_prod_cli + ,case when isnull(cat.esg_s_prod_cli,'N')='Y' then 'S' else 'N' end as esg_s_prod_cli + ,case when isnull(cat.esg_g_prod_cli,'N')='Y' then 'S' else 'N' end as esg_g_prod_cli + --> rimettere dopo else N +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +--LEFT JOIN +--C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ +-- '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' +-- when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' +-- ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- END +-- +-- + PATRBF.POSITION_ID +--LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG +-- ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE +-- AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +-- + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +--LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA +-- ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE +-- +-- +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = case +-- when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' +-- else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) +-- end +-- +left join [C6StagingPeriodico].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) + left join C6MartPeriodico.W6CATESG cat + on PATRBF.cod_prodotto = cat.PRODOTTO_ID + AND PATRBF.rete = cat.rete + AND PATRBF.COD_FISCALE =cat.codfis +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 + --and AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +ORDER BY +CASE + WHEN ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 1 + ELSE 2 +END , +PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_FD185UCaratteristicheESG.sql b/sql/storedTestbes/C6MartPeriodico_PL_FD185UCaratteristicheESG.sql new file mode 100644 index 00000000..5622c474 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_FD185UCaratteristicheESG.sql @@ -0,0 +1,142 @@ +CREATE procedure [C6MartPeriodico].[PL_FD185UCaratteristicheESG]-- 'F','BBLCMS66M11F960M' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT + CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Rob'--when robo.isProgettoRobo='S' then 'Rob' + else 'ASF' + END AS needarea, + CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + --WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + --ELSE AREA.NOME_AREA + END AS needareades, +CASE + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + --ELSE AREA.ORDINAMENTO + -- WHEN robo.isProgettoRobo='S' THEN 1 + --ELSE 2 + WHEN ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 1 + ELSE 2 +END + AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + when isnull(trim(PATRBF.NOME_PROGETTO),'') not like '%Direct EVO%' then 'Default' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +SUM(PATRBF.CTV ) OVER (PARTITION BY CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' end) + AS somma_controval_need_prog, + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, +--CASE +-- WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 +-- THEN '-' +-- ELSE +-- REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',')-- + '%' +--END AS PERC_INVESTIMENTO_SFDR, +--CASE +-- WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 ----decommenta per ESG 2024 +-- THEN '-' ----decommenta per ESG 2024 +-- ELSE ----decommenta per ESG 2024 +-- REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',')-- + '%' ----decommenta per ESG 2024 +--END AS PERC_INVESTIMENTO_SFDR_AMB, ----decommenta per ESG 2024 +-- --decommenta per ESG 2024 +-- --decommenta per ESG 2024 +--CASE ----decommenta per ESG 2024 +-- WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 ----decommenta per ESG 2024 +-- THEN '-' ----decommenta per ESG 2024 +-- ELSE ----decommenta per ESG 2024 +-- REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',')-- + '%' ----decommenta per ESG 2024 +--END AS PERC_INVESTIMENTO_SFDR_SOC, ----decommenta per ESG 2024 +CASE + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_SFDR, +CASE + WHEN isnull(esg.PERC_INVEST_SFDR_MIN_SUST_E,0.00) = 0.00 ----decommenta per ESG 2024 + THEN '-' ----decommenta per ESG 2024 + ELSE ----decommenta per ESG 2024 + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVEST_SFDR_MIN_SUST_E), '.', ',')-- + '%' ----decommenta per ESG 2024 +END AS PERC_INVESTIMENTO_SFDR_AMB, ----decommenta per ESG 2024 + --decommenta per ESG 202 --decommenta per ESG 2024 +CASE ----decommenta per ESG 2024 + WHEN isnull(esg.PERC_INVEST_SFDR_MIN_SUST_S,0.00) = 0.00 ----decommenta per ESG 2024 + THEN '-' ----decommenta per ESG 2024 + ELSE ----decommenta per ESG 2024 + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVEST_SFDR_MIN_SUST_S), '.', ',')-- + '%' ----decommenta per ESG 2024 +END AS PERC_INVESTIMENTO_SFDR_SOC, + CASE + WHEN ISNULL(esg.PERC_INVESTIMENTO_TAXONOMY, 0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_TAXONOMY), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_TAXONOMY, + isnull(esg.label_PAI_A,'-') as label_PAI_A, + isnull(esg.Label_PAI_S,'-') as label_PAI_S, + isnull(esg.Label_U_INFO_ESG,'-') as label_U_INFO_ESG, + PATRBF.CTV AS Controvalore, + SUM(PATRBF.CTV ) OVER (PARTITION BY CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' end) + AS somma_controval_needarea + --SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +left join [C6StagingPeriodico].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 + --AND AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +ORDER BY + CASE + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + --ELSE AREA.ORDINAMENTO + -- WHEN robo.isProgettoRobo='S' THEN 1 + --ELSE 2 + WHEN ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 1 + ELSE 2 +END ,PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_FD187SfdrTaxESG.sql b/sql/storedTestbes/C6MartPeriodico_PL_FD187SfdrTaxESG.sql new file mode 100644 index 00000000..eed06c5f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_FD187SfdrTaxESG.sql @@ -0,0 +1,97 @@ +--select * from wh.Maledetti +CREATE procedure [C6MartPeriodico].[PL_FD187SfdrTaxESG] --'F','00545400483' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6MartPeriodico.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale +declare @U_PREFSOST varchar(2) +select @U_PREFSOST=U_PREFSOST from [C6MartPeriodico].[W6CliESG] where rete=@Rete and codfis=@CodiceFiscale +if(@pref_esg='1' AND @U_PREFSOST='S') +begin + select + 1 as ID, + 'Prodotti sostenibili SFDR' as Descrizione, + replace(cast(cli.SFDR_PERCT as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union + select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(cli.SFDR_PERC_OK as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,case when cli.FLAGSFDR='N' then 'Y' + else 'N' end as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 3 as ID, + 'Prodotti non sostenibili' as Descrizione, + replace(cast((100-cli.SFDR_PERCT)as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 5 as ID, + 'Prodotti ecosostenibili Taxonomy' as Descrizione, + replace(cast(cli.TAXO_PERCT as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast (cli.TAXO_PERC_OK as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,case when cli.FLAGTAXO='N' then 'Y' + else 'N' end as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 7 as ID, + 'Prodotti non ecosostenibili' as Descrizione, + replace(cast((100-cli.TAXO_PERCT) as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from C6MartPeriodico.[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +end +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_FD188PaiESG.sql b/sql/storedTestbes/C6MartPeriodico_PL_FD188PaiESG.sql new file mode 100644 index 00000000..8bd1e31e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_FD188PaiESG.sql @@ -0,0 +1,88 @@ +--select * from wh.Maledetti +CREATE procedure [C6MartPeriodico].[PL_FD188PaiESG] --'F','00545400483' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6MartPeriodico.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale +declare @U_PREFSOST varchar(2) +select @U_PREFSOST=U_PREFSOST from [C6MartPeriodico].[W6CliESG] where rete=@Rete and codfis=@CodiceFiscale +if(@pref_esg='1' and @U_PREFSOST='S') +begin +select 1 as ID, + 'Prodotti che considerano almeno un PAI ambientale' as Descrizione, + replace(cast(cli.PAIA_PERCT as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(cli.PAIA_PERC_OK as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,case when isnull(cli.PAI_A,'')='' then 'Y' + else 'N' end as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 3 as ID, + 'Prodotti che non considerano PAI ambientali' as Descrizione, + replace(cast((100-cli.PAIA_PERCT) as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + union +select 5 as ID, + 'Prodotti che considerano almeno un PAI sociale' as Descrizione, + replace(cast(cli.PAIS_PERCT as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(cli.PAIS_PERC_OK as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,case when isnull(cli.PAI_S,'')='' then 'Y' + else 'N' end as isNA +from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 7 as ID, + 'Prodotti che non considerano PAI sociali' as Descrizione, + replace(cast((100-cli.PAIS_PERCT) as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA + end +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_FD190BisPatrimonioFinanziario_Modello.sql b/sql/storedTestbes/C6MartPeriodico_PL_FD190BisPatrimonioFinanziario_Modello.sql new file mode 100644 index 00000000..6290ab88 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_FD190BisPatrimonioFinanziario_Modello.sql @@ -0,0 +1,15 @@ +create procedure [C6MartPeriodico].[PL_FD190BisPatrimonioFinanziario_Modello] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @mia_chiaveptfmod int +SELECT + @mia_chiaveptfmod=ChiavePtfMod + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_fd190PatrimonioFinanziario_PTFRibilanciato] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + select * from C6StagingPeriodico.RP_DistribuzionePtfModello_Tattici_MacroAssetClass where chiavePtfMod=@mia_chiaveptfmod +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_FD190PatrimonioFinanziario_PTFRibilanciato.sql b/sql/storedTestbes/C6MartPeriodico_PL_FD190PatrimonioFinanziario_PTFRibilanciato.sql new file mode 100644 index 00000000..c077b0b0 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_FD190PatrimonioFinanziario_PTFRibilanciato.sql @@ -0,0 +1,55 @@ +CREATE procedure [C6MartPeriodico].[PL_FD190PatrimonioFinanziario_PTFRibilanciato] --'F','VGNMRA68C64F205S' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [Banca] + ,[Ordinamento] + ,[AssetClassId] + ,[AssetClassName] + ,chiaveptfmod + ,[Controvalore] + ,[Percentuale] + ,[Totale] + ,percentuale_modello + ,var_prog + into #ptf + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_fd190PatrimonioFinanziario_PTFRibilanciato] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + --aggiunta +declare @mia_chiaveptfmod int +SELECT + @mia_chiaveptfmod=ChiavePtfMod + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_fd190PatrimonioFinanziario_PTFRibilanciato] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + select * + into #ptf_mod + from C6StagingPeriodico.RP_DistribuzionePtfModello_Tattici_MacroAssetClass where chiavePtfMod=@mia_chiaveptfmod + select Banca,Ordinamento,AssetClassId,AssetClassName,ChiavePtfMod,Controvalore,Percentuale,Totale,Percentuale_Modello*100 as percentuale_modello,var_prog as var_prog + into #tot + from #ptf + union all + select 'Fideuram', + ordinamento, + asset, + descrizione, + chiavePtfMod, + NULL, + 0.00000, + NULL, + percentuale*100, + NULL as var_prog from #ptf_mod where asset not in (select ASSETCLASSID from #ptf) + order by Ordinamento + DECLARE @Totale [decimal](19, 5); + DECLARE @var_prog [decimal](19, 5); + SELECT @Totale = Totale, @var_prog = var_prog +FROM #ptf; + update #tot + set Totale=@Totale, var_prog=@var_prog + select * from #tot +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_FD200BisDistribuzioneAssetClass_Modello.sql b/sql/storedTestbes/C6MartPeriodico_PL_FD200BisDistribuzioneAssetClass_Modello.sql new file mode 100644 index 00000000..60ea367f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_FD200BisDistribuzioneAssetClass_Modello.sql @@ -0,0 +1,15 @@ +create procedure [C6MartPeriodico].[PL_FD200BisDistribuzioneAssetClass_Modello] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @mia_chiaveptfmod int +SELECT + @mia_chiaveptfmod=ChiavePtfMod + FROM c6martperiodico.TB_FD200DistribuzioneAssetClass_PTFRibilanciato + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + select * from C6StagingPeriodico.RP_DistribuzionePtfModello_Tattici_AssetClass where chiavePtfMod=@mia_chiaveptfmod +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_FD25Anagrafica.sql b/sql/storedTestbes/C6MartPeriodico_PL_FD25Anagrafica.sql new file mode 100644 index 00000000..e294576e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_FD25Anagrafica.sql @@ -0,0 +1,32 @@ +CREATE procedure [C6MartPeriodico].[PL_FD25Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [Cliente] + ,[DatadiNascita] + ,[ETA] + ,[Professione] + ,[StatoCivile] + ,[NucleoFamiliare] + ,[Residenza] + ,[CodiceFiscale] + ,[CodicePB] + ,[CodiceRete] + ,[CodiceContratto] + ,[StatoContratto] + ,[DataSottoscrizione] + ,[DataPerfezionamento] + ,[FasciaCPP] + ,[IndirizzoEmail] + ,[ProduzioneReport] + ,[Indirizzo] + ,[CAP] + ,[Citta] + ,[Provincia] + ,[Nazione] + ,[PRESSO] + FROM [C6MartPeriodico].[TB_S25Anagrafica] + WHERE [CodiceRete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_FD43BISDettaglioProdottiBF.sql b/sql/storedTestbes/C6MartPeriodico_PL_FD43BISDettaglioProdottiBF.sql new file mode 100644 index 00000000..4b05e608 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_FD43BISDettaglioProdottiBF.sql @@ -0,0 +1,324 @@ +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] 'F', 'SPNTTR67T20F205D' +CREATE procedure [C6MartPeriodico].[PL_FD43BISDettaglioProdottiBF] --'F','MLNMSM71R16L682K' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +select * +into #patr_bf +from C6MartPeriodico.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale +update #patr_bf +set NOME_PROGETTO='Default' +where isnull(trim(NOME_PROGETTO),'') not like '%Direct EVO%' +SELECT +CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Rob'--when robo.isProgettoRobo='S' then 'Rob' + else 'ASF' + END AS needarea, + CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + --WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + --ELSE AREA.NOME_AREA + END AS needareades, +CASE + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + --ELSE AREA.ORDINAMENTO + -- WHEN robo.isProgettoRobo='S' THEN 1 + --ELSE 2 + WHEN ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 1 + ELSE 2 +END + AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + when isnull(trim(PATRBF.NOME_PROGETTO),'') not like '%Direct EVO%' then 'Default' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, +--Bido +--SUM(PATRBF.CTV ) OVER (PARTITION BY PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) AS somma_controval_needarea, +SUM(PATRBF.CTV ) OVER (PARTITION BY PATRBF.NOME_PROGETTO) AS somma_controval_needarea, +--SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) AS versato_needarea, +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY PATRBF.NOME_PROGETTO) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY robo.isProgettoRobo) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY robo.isProgettoRobo) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN + --SUM(PATRBF.CTV) OVER (PARTITION BY --robo.isProgettoRobo, + --PATRBF.NOME_PROGETTO, + --PATRBF.ordinamento_progetto) + --SUM(PATRBF.CTV) OVER (PARTITION BY PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + SUM(PATRBF.CTV) OVER (PARTITION BY PATRBF.NOME_PROGETTO)--, PATRBF.ordinamento_progetto) + AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY --robo.isProgettoRobo, + PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY robo.isProgettoRobo, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY robo.isProgettoRobo, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +case when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then RISCHIO_AGGR_AREA.VAR_PERC_PTF else '0.00' end AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --V THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +--TRINGALI + CASE + WHEN (ISNULL(RISCHIO_AGGR_PROG.copertura,100) < 100) + --v THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_need_progString, +--INIZIO INTERVENTI OMNIA QUIIIIIIII +--case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null +-- and patrbf.tipo_prodotto='CC' +-- and patrbf.id_area='liq') + --then + -- CASE WHEN patrbf.data_sottoscrizione>monatt.data_attivazione + -- THEN + -- dbo.TOSHORTDATESTRING(patrbf.data_sottoscrizione) + -- ELSE + -- CASE WHEN monatt.data_attivazione> '20110211' + -- then dbo.TOSHORTDATESTRING(monatt.data_attivazione) + -- ELSE dbo.TOSHORTDATESTRING('20110211') + -- END + -- END + -- END + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.id_area='liq' + and (patrbf.tipo_prodotto='CC' + or patrbf.isin in('EURO00000009', 'EURO10000007'))) + then dbo.TOSHORTDATESTRING(C6MartPeriodico.getTrimestre2(getdate(),0)) +--FINE INTERVENTI OMNIA + else +--disasteriscare + --dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) +--cancellare inizio + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.chiave_progetto = '2205396' + and patrbf.tipo_prodotto = 'FI') + then '26/06/2014' + else + isnull(dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE),'-') + end +--cancellare fine + end AS dataAssociazione, -- CAMBIATA TRINGALI--marianna, cambiata per i cc senza data di associazione +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.VERSATO_NETTO_DA_ASSOC,0) end AS VersatoNetto, +CASE WHEN (MONIT.VERSATO_NETTO_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as VersatoNettoString, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.UTILE_PERDITA_DA_ASSOC,0) END AS MinusPlusValenza, +CASE WHEN (MONIT.UTILE_PERDITA_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in ('EURO00000009', 'EURO10000007' )THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_PROD.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK is null THEN 'n.a.' + ELSE NULL + END as creditriskstring, +-- CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + --APC 103 -- Dicembre 2022 + apc.is_APC as isAPC, + case when patrbf.TIPO_PRODOTTO='CC' then 100 else 1 end as Ordinamento_Prodotto +FROM +#patr_bf PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + -- LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +--MODIFICA TRINGALI PER PRENDERE DETTAGLIO MONITORAGGIO +C6MartPeriodico.MONITORAGGIO_DETTAGLIO MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + --AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + and PATRBF.POSITION_ID=MONIT.POSITION_ID + --AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONATT +ON + PATRBF.RETE = MONATT.RETE + AND PATRBF.COD_FISCALE = MONATT.COD_FISCALE + AND + (PATRBF.ID_AREA=(CASE WHEN MONATT.ID_AREA='Exr' THEN 'Ext' ELSE MONATT.ID_AREA END) AND PATRBF.ID_AREA <> 'INV' + OR + PATRBF.ID_AREA = 'INV' AND PATRBF.ID_AREA = MONATT.ID_AREA AND PATRBF.ORDINAMENTO_PROGETTO = MONATT.ORDINAMENTO_PROGETTO + ) +--blocchiamo il monitoraggio per i progetti a ctv=0 + --And ctv_monitorato>0 + --aggiunta 18/12/2022 per APC103 +left join C6MartPeriodico.WSEICC apc +on + apc.RETE=PATRBF.RETE + and apc.cod_fiscale=patrbf.cod_fiscale + and PATRBF.ID_CONTRATTO = --apc.CODCONFPR + (case when PATRBF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) + --fine aggiunta 18/12/2022 per APC103 + left join C6StagingPeriodico.RP_Progetto_robo ROBO +on ROBO.chiaveprogetto=PATRBF.chiave_Progetto +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND ( PATRBF.CTV <> 0 + --E-DEFAULT4 per gestire l'esposizione dei prodotti con ctv = 0 delle banche in default - 18/1/2016 + or (PATRBF.tipo_prodotto = 'DT' and + PATRBF.cod_interno in ('08558830','08594680','04880930','04867780','03972990', + '04281500','04539780','04657780','04966850','04119400','04931400', + '04556320', + '04119600','04291890','04064530' +))) +ORDER BY + AREASORTORDER,Ordinamento_Prodotto, NOME_PROGETTO, PATRBF.CTV DESC -- modifica TRINGALI + --fine E-DEFAULT4 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_FD43DettaglioProdottiBF.sql b/sql/storedTestbes/C6MartPeriodico_PL_FD43DettaglioProdottiBF.sql new file mode 100644 index 00000000..4e3b3fb5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_FD43DettaglioProdottiBF.sql @@ -0,0 +1,264 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'BNDCRN60H52A181P' +-- [C6MartPeriodico].[PL_S43DettaglioProdottiBF] 'F','BNDCRN60H52A181P' +CREATE procedure [C6MartPeriodico].[PL_FD43DettaglioProdottiBF] --'F','MRLSLV83E60D912U' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +distinct +CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Rob'--when robo.isProgettoRobo='S' then 'Rob' + else 'ASF' + END AS needarea, + CASE + when ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 'Portafoglio Direct Evo' --when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + --WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + --ELSE AREA.NOME_AREA + END AS needareades, +CASE + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + WHEN ISNULL(PATRBF.NOME_PROGETTO,'') like '%Direct EVO%' then 1 + ELSE 2 + --ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE +--WHEN AREA.ID_AREA = 'Pre' THEN 'Default' +-- WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + -- 20161219 - mod per far uscire il nome progetto sulle risorse na +-- WHEN AREA.ID_AREA = 'Na' THEN 'Default' + when trim(PATRBF.NOME_PROGETTO) not like '%Direct EVO%' then 'Default' + -- fine 20161219 - mod per far uscire il nome progetto sulle risorse na + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY --AREA.ID_AREA, + PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + --APC dicembre 2022 + apc.is_APC as isAPC +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + --LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) + --aggiunta 18/12/2022 per APC103 +left join C6MartPeriodico.WSEICC apc +on + apc.RETE=PATRBF.RETE + and apc.cod_fiscale=patrbf.cod_fiscale + and PATRBF.ID_CONTRATTO = --apc.CODCONFPR + (case when PATRBF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) + --fine aggiunta 18/12/2022 per APC103 + left join C6StagingPeriodico.RP_Progetto_robo ROBO +on ROBO.chiaveprogetto=PATRBF.chiave_Progetto +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_PROGETTO,nome_progetto, PATRBF.CTV DESC +END +--select top 1 * from c6martperiodico.patrimonio_bf where tipo_prodotto = 'CC' +--select SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)),ANAG_CC.COD_CC +--from c6martperiodico.anag_cc \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_GetClientNegativeCurrentAccountsValue.sql b/sql/storedTestbes/C6MartPeriodico_PL_GetClientNegativeCurrentAccountsValue.sql new file mode 100644 index 00000000..bb67d79a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_GetClientNegativeCurrentAccountsValue.sql @@ -0,0 +1,29 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_GetClientNegativeCurrentAccountsValue] 'S','SCLDNC71P13H224R' +CREATE procedure [C6MartPeriodico].[PL_GetClientNegativeCurrentAccountsValue] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @PatrimonioBF DECIMAL(15,2) + -- Insert statements for procedure here + SELECT + --@PatrimonioBF = case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND ID_AREA = 'CC' + and CTV < 0 + --Return @PatrimonioBF +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_GetClientNegativeGPEligo.sql b/sql/storedTestbes/C6MartPeriodico_PL_GetClientNegativeGPEligo.sql new file mode 100644 index 00000000..c2cda9e9 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_GetClientNegativeGPEligo.sql @@ -0,0 +1,32 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_GetClientNegativeGPEligo] 'S','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodico].[PL_GetClientNegativeGPEligo] + @Rete char(1), + @CodiceFiscale varchar(16), + @Codsottoprodotto varchar(10) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + --CodInterno, + --case + --when Codsottoprodotto = 'L191' then '"GP Eligo Fondi"' + --when Codsottoprodotto = 'L192' then '"GP Eligo Titoli"' + --end as Descrizione, + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + LS.rete = @Rete + AND LS.codfis = @CodiceFiscale + AND LS.CodSottoprodotto = @Codsottoprodotto + AND Ls.codinterno = 'XY' + AND ctv < 0 + --group by CodInterno,codsottoprodotto +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_GetClientSelfNegCurrentAccountValue.sql b/sql/storedTestbes/C6MartPeriodico_PL_GetClientSelfNegCurrentAccountValue.sql new file mode 100644 index 00000000..408c7b39 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_GetClientSelfNegCurrentAccountValue.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_GetClientSelfNegCurrentAccountValue] 'S','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodico].[PL_GetClientSelfNegCurrentAccountValue] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --DECLARE @PatrimonioBF DECIMAL(15,2) + SELECT + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND ctv < 0 + --Return @PatrimonioBF +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_GetClientSelfNegative.sql b/sql/storedTestbes/C6MartPeriodico_PL_GetClientSelfNegative.sql new file mode 100644 index 00000000..1ed0bef2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_GetClientSelfNegative.sql @@ -0,0 +1,29 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_GetClientSelfNegative] 'S','LMNFNC40L14L219U' +CREATE procedure [C6MartPeriodico].[PL_GetClientSelfNegative] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + CodInterno, + case + when CodInterno = 'XY' then '"Linee GP Eligo"' + when CodInterno = 'FO' then '"IL MF - Liquidita"' + end as Descrizione, + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + LS.rete = @Rete + AND LS.codfis = @CodiceFiscale + AND ctv < 0 + group by CodInterno +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_Intermediari.sql b/sql/storedTestbes/C6MartPeriodico_PL_Intermediari.sql new file mode 100644 index 00000000..1ba1fc6a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_Intermediari.sql @@ -0,0 +1,27 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- DECLARE @num int +-- EXEC C6MartPeriodico.PL_Intermediari 'F', 'DLRGCM55A14A669Q' , @num OUTPUT +-- SELECT @num AS NumIntermediari +CREATE procedure [C6MartPeriodico].[PL_Intermediari] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16), + @numeroRighe as int OUTPUT +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET @numeroRighe = + (SELECT + COUNT(DISTINCT INTERMEDIARIO) + FROM C6MartPeriodico.PATRIMONIO_TERZI + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + ) + RETURN @numeroRighe +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_FD133BISPrincipaliProdotti.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_FD133BISPrincipaliProdotti.sql new file mode 100644 index 00000000..50f2a9ff --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_FD133BISPrincipaliProdotti.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Author: +-- Create date: <07/05/2013> +-- Description: +-- ============================================= +-- [C6martPeriodico].[PL_MP_S133BISPrincipaliProdotti] F,CLSPLA43D08H501B +CREATE procedure [C6MartPeriodico].[PL_MP_FD133BISPrincipaliProdotti] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT + ANAGPROD.DESCR_PRODOTTO AS descrProdotto + ,PATRBF.CTV AS Controvalore + ,CASE + WHEN patrbf.tipo_prodotto = 'CC' THEN 0.00 + ELSE isnull(RISCHIO_PROD.VAR_PERC_PTF,0.00) + END AS VaRprodotto + ,((CASE + WHEN ((PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100) is null then 0.00 + ELSE(PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100 + END) / (CASE + WHEN sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') = 0 THEN 1 + ELSE sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') + END))*100 as rischioRelativo + ,(PATRBF.CTV/(sum(PATRBF.CTV) over (partition by 'totale')))*100 AS pesoRelativo + ,PATRBF.ID_AREA AS codAreaBisogno + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO + INNER JOIN C6MartPeriodico.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.ordinamento_progetto as varchar),'') + '|' + WHEN LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END + + PATRBF.POSITION_ID + WHERE PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 + AND PATRBF.ID_AREA <> 'Cc' + ORDER BY rischioRelativo DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_FD134BISMonitoraggioLiqInv.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_FD134BISMonitoraggioLiqInv.sql new file mode 100644 index 00000000..64692186 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_FD134BISMonitoraggioLiqInv.sql @@ -0,0 +1,52 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S134BISMonitoraggioLiqInv] 'F','CNTGCR68T31D458G' +CREATE procedure [C6MartPeriodico].[PL_MP_FD134BISMonitoraggioLiqInv] --'F','LCNGNZ82P14H163B' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + 'Inv' AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE mon + --inner join C6StagingPeriodico.RP_Progetto_Robo robo + --on mon.ordinamento_progetto=robo.chiaveProgetto + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + and NOME_PROGETTO like '%Direct EVO%' + --and APPORTO_INIZIALE<>'0.00'--- aggiunta 20221219 per + UNION + SELECT + 'Inv', + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO st + --inner join C6StagingPeriodico.RP_Progetto_Robo robo + --on st.ordinamento_progetto=robo.chiaveProgetto + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + and NOME_PROGETTO like '%Direct EVO%' + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_FD134MonitoraggioLiquidita.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_FD134MonitoraggioLiquidita.sql new file mode 100644 index 00000000..ea511790 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_FD134MonitoraggioLiquidita.sql @@ -0,0 +1,78 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S134MonitoraggioLiquidita] 'F','CNTGCR68T31D458G' +CREATE procedure [C6MartPeriodico].[PL_MP_FD134MonitoraggioLiquidita] --'F','SMNLSN83B41C101E' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- DECLARE @RendimNonRappr BIT +SELECT + case when RENDIMNONRAPPR=1 then 1 else 0 end AS cf_rendim_non_rappr, + 'Inv' AS Need_Area, + CASE + WHEN MONIT.NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(MONIT.NOME_PROGETTO)) + END AS Nome_Progetto, + monit.ordinamento_progetto, + dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, + CTV_MONITORATO AS ControvaloreMonitorato, + APPORTO_INIZIALE AS ApportoIniziale, + APPORTO_SUCCESSIVO AS ApportoSuccessivo, + LIQUIDAZIONI, + CEDOLE_DIVIDENDI AS CedoleEDividendi, + MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, + RENDIMENTO_CUMULATO AS Rendimento_Attuale, + RISORSE_ASSOCIATE AS RisorseApportate, + dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, + RENDIMENTO_ANNUALIZZATO + FROM + C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT + LEFT OUTER JOIN + ( + SELECT + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end as NOME_PROGETTO, + patr_bf.ordinamento_progetto, + 1 as RENDIMNONRAPPR + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + LEFT OUTER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + WHERE + PATR_BF.RETE = @Rete + AND PATR_BF.COD_FISCALE = @CodiceFiscale + AND PATR_BF.REND_NON_RAPPR = 1 + group by + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end, + patr_bf.ordinamento_progetto + ) PATR_BF + ON PATR_BF.COD_FISCALE=MONIT.COD_FISCALE + AND PATR_BF.RETE= MONIT.RETE + AND left(PATR_BF.ID_AREA,3)=left(MONIT.ID_AREA,3) + AND isnull(PATR_BF.NOME_PROGETTO,'XXX')=isnull(MONIT.NOME_PROGETTO,'XXX') + And monit.ordinamento_progetto=patr_bf.ordinamento_progetto + -- inner join C6StagingPeriodico.RP_Progetto_Robo rob ON rob.chiaveProgetto=monit.ORDINAMENTO_PROGETTO + WHERE + MONIT.RETE = @Rete AND + MONIT.COD_FISCALE = @CodiceFiscale + and monit.NOME_PROGETTO like '%Direct EVO%' + -- and CTV_MONITORATO<>'0.00' -- aggiunta 20221219 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_FD147SintesiValute.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_FD147SintesiValute.sql new file mode 100644 index 00000000..6283acc9 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_FD147SintesiValute.sql @@ -0,0 +1,45 @@ +--[C6MartPeriodico].[PL_MP_FD147SintesiValute] 'F','PLKHNJ76R09H514E' +CREATE procedure [C6MartPeriodico].[PL_MP_FD147SintesiValute] +@Rete char(1), +@CodiceFiscale varchar(16) +as +begin +declare @ctvNoCoperto as decimal(18,3) +declare @ctvCoperto as decimal(18,3) +declare @copertura as decimal(18,3) +SELECT @ctvNoCoperto = isnull(sum(ctv),0) + FROM c6martperiodico.ANAG_PRODOTTI_VALUTE a + RIGHT JOIN c6martperiodico.patrimonio_bf c + ON a.cod_prodotto = c.cod_prodotto + WHERE + cod_fiscale = @CodiceFiscale + and rete = @Rete + and a.cod_prodotto is null + and id_area <> 'Cc' +select @copertura = (patrimonioSenzaCC - @ctvNoCoperto)/patrimonioSenzaCC , + @ctvCoperto = patrimonioSenzaCC - @ctvNoCoperto +from c6martperiodico.vPatrimonioBfAggregato +where + cod_fiscale = @CodiceFiscale + and rete = @Rete +--select @copertura +--FC 16/04/20104 +--Inserito controllo per evitare problemi di divid by zero nella select successiva +IF @ctvCoperto < 1 +begin + set @ctvCoperto =1 +End +SELECT + sum(peso*ctv) / @ctvCoperto as percentuale, + abs(sum(peso*ctv)) as valoreAssoluto, + a.Divisa, + @copertura as copertura +FROM c6martperiodico.ANAG_PRODOTTI_VALUTE a +join c6martperiodico.patrimonio_bf c +ON a.cod_prodotto = c.cod_prodotto +where + cod_fiscale = @CodiceFiscale + and rete = @Rete + group by a.Divisa +order by valoreAssoluto desc +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_FD148DistribuzioneAssetClass.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_FD148DistribuzioneAssetClass.sql new file mode 100644 index 00000000..334086ce --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_FD148DistribuzioneAssetClass.sql @@ -0,0 +1,18 @@ +CREATE procedure [C6MartPeriodico].[PL_MP_FD148DistribuzioneAssetClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [Banca] + ,[ORDINAMENTO] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S148DistribuzioneAssetClass] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_FD200DistribuzioneAssetClass_PTFRibilanciato.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_FD200DistribuzioneAssetClass_PTFRibilanciato.sql new file mode 100644 index 00000000..65d8fd40 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_FD200DistribuzioneAssetClass_PTFRibilanciato.sql @@ -0,0 +1,45 @@ +CREATE procedure [C6MartPeriodico].[PL_MP_FD200DistribuzioneAssetClass_PTFRibilanciato] --'F','VGNMRA68C64F205S' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT[Banca] + ,[Ordinamento] + ,[AssetClassId] + ,[AssetClassName] + ,chiaveptfmod + ,[Controvalore] + ,[Percentuale] + ,[Totale] + ,percentuale_modello + ,var_prog + into #ptf + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_FD200DistribuzioneAssetClass_PTFRibilanciato] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + declare @mia_chiaveptfmod int +SELECT + @mia_chiaveptfmod=ChiavePtfMod + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_FD200DistribuzioneAssetClass_PTFRibilanciato] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento + select * + into #ptf_mod + from C6StagingPeriodico.RP_DistribuzionePtfModello_Tattici_AssetClass where chiavePtfMod=@mia_chiaveptfmod + select Banca,Ordinamento,AssetClassId,AssetClassName,ChiavePtfMod,Controvalore,Percentuale,Totale,Percentuale_Modello*100 as percentuale_modello,var_prog + into #tot + from #ptf + union all + select 'Fideuram',ordinamento,asset,descrizione,chiavePtfMod,NULL,0.00000,NULL,percentuale*100,NULL as var_prog from #ptf_mod where asset not in (select ASSETCLASSID from #ptf) + ORDER BY ORDINAMENTO + DECLARE @Totale [decimal](19, 5); + DECLARE @var_prog [decimal](19, 5); + SELECT @Totale = Totale, @var_prog = var_prog +FROM #ptf; + update #tot + set Totale=@Totale, var_prog=@var_prog + select * from #tot +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza.sql new file mode 100644 index 00000000..d67ef234 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza.sql @@ -0,0 +1,362 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] 'F', 'PVRPGS53C25G388A' +CREATE procedure [C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] --'S','FGGMSM57H28G999D' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT +/************* BF *****************/ + DECLARE @varPatrBF DECIMAL(12,2) + DECLARE @riskClassBF VARCHAR(50) + DECLARE @FLAGPROF varchar(16) + SET @FLAGPROF= (select distinct FLGPROF from C6MartPeriodico.WSEIAN2 where rete=@rete and CODFIS=@CodiceFiscale) + DECLARE @SCADUTO_PARZIALE varchar(16) + SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale +/* RECUPERO Rischio Mercaro e Rischio Credito BAnca Fideuram */ + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + SELECT + @varPatrBF = CASE WHEN (@contaPOS - @contaCC) = 0 THEN 0.00 + ELSE RISK_AGG.VAR_PERC_PTF + END, + @riskClassBF = RISK_AGG.CREDITRISK + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE ' Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale = @codiceFiscale + and rete= @rete + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE 'Patrimonio IW Private Inv.' END + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + left outer join C6MartPeriodico.COMPLESSITA cmp + on + CMP.COD_FISCALE=PATRBF.COD_FISCALE + AND + CMP.RETE=PATRBF.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + ) +------------------------ MIFID2 - MAGGIO 2018 + select @coperturaBF=copertura + from C6MartPeriodico.RISCHIO_AGGREGATO + -- modifica del 17/10/2018 - Va' preso il compleesivoBF come avviene nella d2_s170_RischioDiversificazione + --where cod_aggreg='complessivo' + where cod_aggreg='COMPLESSIVO|BF' + -- fine modifica del 17/10/2018 + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE + declare @limiteProfilo as int + -- modifica del 2/7/2018 - + --select @limiteProfilo = experience from C6MartPERIODICO.MIFID + select @limiteProfilo = experience from C6MartPERIODICO.MIFID where cod_fiscale = @CodiceFiscale + and rete= @Rete + -- fine modifica del 2/7/2018 - + declare @maxComplessita as int + DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim =c6martperiodico.getTrimestre(getDate(),0) + if @CodiceFiscale like '%FF@%' + select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2] + where + codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; commentata per MUA + else + select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2] + where + codfis= @CodiceFiscale + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; commentata per MUA +------------------------- FINE MIFID2 - MAGGIO 2018 +-- 2/7/2018 - CR NAPOLITANO CASI 11-14 -> Persona Giuridica Retail con Nuovo questionario di profilatura (Legali Rappresentanti/Delegati NON Profilati) +DECLARE @newLimiteProfilo varchar(20) +if ltrim(rtrim([C6MartPeriodico].[getIndicatoreValutazione] (@Rete,@CodiceFiscale,default))) = '-1' + set @newLimiteProfilo = 'n.d.' +else + select @newLimiteProfilo = + ( + case @limiteProfilo + when 0 then 'Minima' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + --when 5 then 'Alta' + else '-' + end + ) + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskclass, + @experience as experince, + @varPatrBF as varPatrimonioBF, + @riskClassBF as riskClassBF, +------------------------ MIFID2 - MAGGIO 2018 + case when @SCADUTO_PARZIALE='P' then '-' + when @FLAGPROF='S' then 'n.a.' + else @newLimiteProfilo end as LimiteComplessitaProfilo, + case @maxComplessita + when 0 then 'Minima' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + --when 5 then 'Alta' + end as LimiteComplessitaPatrimonio +------------------------- FINE MIFID2 - MAGGIO 2018 +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] Script Date: 09/02/2022 11:59:17 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +----[C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] 's', 'GRTDNL49D01I531Z' +--ALTER procedure [C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +-- DECLARE @varBF DECIMAL(12,2) +-- DECLARE @coperturaBF DECIMAL(12,2) +-- DECLARE @codiceProfilo SMALLINT +-- DECLARE @dataProfilo DATETIME +-- DECLARE @varProfilo DECIMAL(5,2) +-- DECLARE @nomeProfilo VARCHAR(50) +-- DECLARE @riskclass VARCHAR(50) +-- DECLARE @experience SMALLINT +--/************* BF *****************/ +-- DECLARE @varPatrBF DECIMAL(12,2) +-- DECLARE @riskClassBF VARCHAR(50) +-- SELECT +-- @codiceProfilo = M.PROFILO_ASS, +-- @dataProfilo = M.DATA_INIZIO_VAL, +-- @varProfilo = CR.MAX_VAR, +-- @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, +-- @riskclass = m.riskclass, +-- @experience = m.experience +-- FROM +-- C6MartPERIODICO.MIFID AS M +-- INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio +-- ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO +-- WHERE +-- M.RETE = @Rete AND +-- M.COD_FISCALE = @CodiceFiscale +--/* RECUPERO Rischio Mercaro e Rischio Credito BAnca Fideuram */ +-- declare @contaCC as int +-- select @contaCC = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete +-- declare @contaPOS as int +-- select @contaPOS = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where cod_fiscale = @codiceFiscale and rete = @rete +-- SELECT +-- @varPatrBF = CASE WHEN (@contaPOS - @contaCC) = 0 THEN 0.00 +-- ELSE RISK_AGG.VAR_PERC_PTF +-- END, +-- @riskClassBF = RISK_AGG.CREDITRISK +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, +-- SUM(PATRBF.CTV) AS CTV +-- from +-- c6martperiodico.patrimonio_bf PATRBF +-- where +-- 1=1 +-- and cod_fiscale = @codiceFiscale +-- and rete= @rete +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END +-- ) PATRBF +-- LEFT OUTER JOIN +-- c6martperiodico.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- left outer join C6MartPeriodico.COMPLESSITA cmp +-- on +-- CMP.COD_FISCALE=PATRBF.COD_FISCALE +-- AND +-- CMP.RETE=PATRBF.RETE +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' +-- ) +-------------------------- MIFID2 - MAGGIO 2018 +-- select @coperturaBF=copertura +-- from C6MartPeriodico.RISCHIO_AGGREGATO +-- -- modifica del 17/10/2018 - Va' preso il compleesivoBF come avviene nella d2_s170_RischioDiversificazione +-- --where cod_aggreg='complessivo' +-- where cod_aggreg='COMPLESSIVO|BF' +-- -- fine modifica del 17/10/2018 +-- AND COD_FISCALE = @COdiceFISCALE +-- and RETE= @RETE +-- declare @limiteProfilo as int +-- -- modifica del 2/7/2018 - +-- --select @limiteProfilo = experience from C6MartPERIODICO.MIFID +-- select @limiteProfilo = experience from C6MartPERIODICO.MIFID where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- -- fine modifica del 2/7/2018 - +-- declare @maxComplessita as int +-- DECLARE @DataFineTrim VARCHAR(8) +-- SET @DataFineTrim =c6martperiodico.getTrimestre2(getDate(),0) +-- if @CodiceFiscale like '%FF@%' +-- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD2] +-- where +-- codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- and rete= @Rete +-- and DTTRIM = @DataFineTrim +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10; +-- else +-- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD2] +-- where +-- codfis= @CodiceFiscale +-- and rete= @Rete +-- and DTTRIM = @DataFineTrim +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10; +--------------------------- FINE MIFID2 - MAGGIO 2018 +---- 2/7/2018 - CR NAPOLITANO CASI 11-14 -> Persona Giuridica Retail con Nuovo questionario di profilatura (Legali Rappresentanti/Delegati NON Profilati) +--DECLARE @newLimiteProfilo varchar(20) +--if ltrim(rtrim([C6MartPeriodico].[getIndicatoreValutazione] (@Rete,@CodiceFiscale,default))) = '-1' +-- set @newLimiteProfilo = 'n.d.' +--else +-- select @newLimiteProfilo = +-- ( +-- case @limiteProfilo +-- when 0 then '-' +-- when 1 then 'Minima' +-- when 2 then 'Bassa' +-- when 3 then 'Media' +-- when 4 then 'Alta' +-- when 5 then 'Molto alta' +-- else '-' +-- end +-- ) +-- SELECT +-- @codiceProfilo as codiceProfilo, +-- DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, +-- @varProfilo as varMassimo, +-- ISNULL(@varBF,0) as varBF, +-- ISNULL(@coperturaBF,0) as coperturaBF, +-- @nomeProfilo as nomeProfilo, +-- @riskclass as riskclass, +-- @experience as experince, +-- @varPatrBF as varPatrimonioBF, +-- @riskClassBF as riskClassBF, +-------------------------- MIFID2 - MAGGIO 2018 +-- @newLimiteProfilo as LimiteComplessitaProfilo, +-- case @maxComplessita +-- when 0 then '-' +-- when 1 then 'Minima' +-- when 2 then 'Bassa' +-- when 3 then 'Media' +-- when 4 then 'Alta' +-- when 5 then 'Molto alta' +-- else '-' +-- end as LimiteComplessitaPatrimonio +--------------------------- FINE MIFID2 - MAGGIO 2018 +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza_BKP_PRE_RAFFORZAMENTO.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza_BKP_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..0cb4b4da --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S128ProfiloRischioAdeguatezza_BKP_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,359 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] 's', 'GRTDNL49D01I531Z' +CREATE procedure [C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza_BKP_PRE_RAFFORZAMENTO] --'S','FGGMSM57H28G999D' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT +/************* BF *****************/ + DECLARE @varPatrBF DECIMAL(12,2) + DECLARE @riskClassBF VARCHAR(50) + DECLARE @FLAGPROF varchar(16) +SET @FLAGPROF= (select distinct FLGPROF from C6MartPeriodico.WSEIAN2 where rete=@rete and CODFIS=@CodiceFiscale) + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale +/* RECUPERO Rischio Mercaro e Rischio Credito BAnca Fideuram */ + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + SELECT + @varPatrBF = CASE WHEN (@contaPOS - @contaCC) = 0 THEN 0.00 + ELSE RISK_AGG.VAR_PERC_PTF + END, + @riskClassBF = RISK_AGG.CREDITRISK + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE ' Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale = @codiceFiscale + and rete= @rete + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE 'Patrimonio IW Private Inv.' END + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + left outer join C6MartPeriodico.COMPLESSITA cmp + on + CMP.COD_FISCALE=PATRBF.COD_FISCALE + AND + CMP.RETE=PATRBF.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + ) +------------------------ MIFID2 - MAGGIO 2018 + select @coperturaBF=copertura + from C6MartPeriodico.RISCHIO_AGGREGATO + -- modifica del 17/10/2018 - Va' preso il compleesivoBF come avviene nella d2_s170_RischioDiversificazione + --where cod_aggreg='complessivo' + where cod_aggreg='COMPLESSIVO|BF' + -- fine modifica del 17/10/2018 + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE + declare @limiteProfilo as int + -- modifica del 2/7/2018 - + --select @limiteProfilo = experience from C6MartPERIODICO.MIFID + select @limiteProfilo = experience from C6MartPERIODICO.MIFID where cod_fiscale = @CodiceFiscale + and rete= @Rete + -- fine modifica del 2/7/2018 - + declare @maxComplessita as int + DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim =c6martperiodico.getTrimestre(getDate(),0) + if @CodiceFiscale like '%FF@%' + select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2] + where + codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; commentata per MUA + else + select @maxComplessita = maxcompl from [C6StagingPeriodico].[WSEIAN2] + where + codfis= @CodiceFiscale + and rete= @Rete + and DTTRIM = @DataFineTrim + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + -- and compl_base <> 10; commentata per MUA +------------------------- FINE MIFID2 - MAGGIO 2018 +-- 2/7/2018 - CR NAPOLITANO CASI 11-14 -> Persona Giuridica Retail con Nuovo questionario di profilatura (Legali Rappresentanti/Delegati NON Profilati) +DECLARE @newLimiteProfilo varchar(20) +if ltrim(rtrim([C6MartPeriodico].[getIndicatoreValutazione] (@Rete,@CodiceFiscale,default))) = '-1' + set @newLimiteProfilo = 'n.d.' +else + select @newLimiteProfilo = + ( + case @limiteProfilo + when 0 then 'Minima' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + --when 5 then 'Alta' + else '-' + end + ) + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskclass, + @experience as experince, + @varPatrBF as varPatrimonioBF, + @riskClassBF as riskClassBF, +------------------------ MIFID2 - MAGGIO 2018 + case when @FLAGPROF='S' then 'n.a.' else @newLimiteProfilo end as LimiteComplessitaProfilo, + case @maxComplessita + when 0 then 'Minima' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + --when 5 then 'Alta' + else '-' + end as LimiteComplessitaPatrimonio +------------------------- FINE MIFID2 - MAGGIO 2018 +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] Script Date: 09/02/2022 11:59:17 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +----[C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] 's', 'GRTDNL49D01I531Z' +--ALTER procedure [C6MartPeriodico].[PL_MP_S128ProfiloRischioAdeguatezza] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +-- DECLARE @varBF DECIMAL(12,2) +-- DECLARE @coperturaBF DECIMAL(12,2) +-- DECLARE @codiceProfilo SMALLINT +-- DECLARE @dataProfilo DATETIME +-- DECLARE @varProfilo DECIMAL(5,2) +-- DECLARE @nomeProfilo VARCHAR(50) +-- DECLARE @riskclass VARCHAR(50) +-- DECLARE @experience SMALLINT +--/************* BF *****************/ +-- DECLARE @varPatrBF DECIMAL(12,2) +-- DECLARE @riskClassBF VARCHAR(50) +-- SELECT +-- @codiceProfilo = M.PROFILO_ASS, +-- @dataProfilo = M.DATA_INIZIO_VAL, +-- @varProfilo = CR.MAX_VAR, +-- @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, +-- @riskclass = m.riskclass, +-- @experience = m.experience +-- FROM +-- C6MartPERIODICO.MIFID AS M +-- INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio +-- ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO +-- WHERE +-- M.RETE = @Rete AND +-- M.COD_FISCALE = @CodiceFiscale +--/* RECUPERO Rischio Mercaro e Rischio Credito BAnca Fideuram */ +-- declare @contaCC as int +-- select @contaCC = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete +-- declare @contaPOS as int +-- select @contaPOS = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where cod_fiscale = @codiceFiscale and rete = @rete +-- SELECT +-- @varPatrBF = CASE WHEN (@contaPOS - @contaCC) = 0 THEN 0.00 +-- ELSE RISK_AGG.VAR_PERC_PTF +-- END, +-- @riskClassBF = RISK_AGG.CREDITRISK +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, +-- SUM(PATRBF.CTV) AS CTV +-- from +-- c6martperiodico.patrimonio_bf PATRBF +-- where +-- 1=1 +-- and cod_fiscale = @codiceFiscale +-- and rete= @rete +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END +-- ) PATRBF +-- LEFT OUTER JOIN +-- c6martperiodico.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- left outer join C6MartPeriodico.COMPLESSITA cmp +-- on +-- CMP.COD_FISCALE=PATRBF.COD_FISCALE +-- AND +-- CMP.RETE=PATRBF.RETE +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' +-- ) +-------------------------- MIFID2 - MAGGIO 2018 +-- select @coperturaBF=copertura +-- from C6MartPeriodico.RISCHIO_AGGREGATO +-- -- modifica del 17/10/2018 - Va' preso il compleesivoBF come avviene nella d2_s170_RischioDiversificazione +-- --where cod_aggreg='complessivo' +-- where cod_aggreg='COMPLESSIVO|BF' +-- -- fine modifica del 17/10/2018 +-- AND COD_FISCALE = @COdiceFISCALE +-- and RETE= @RETE +-- declare @limiteProfilo as int +-- -- modifica del 2/7/2018 - +-- --select @limiteProfilo = experience from C6MartPERIODICO.MIFID +-- select @limiteProfilo = experience from C6MartPERIODICO.MIFID where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- -- fine modifica del 2/7/2018 - +-- declare @maxComplessita as int +-- DECLARE @DataFineTrim VARCHAR(8) +-- SET @DataFineTrim =c6martperiodico.getTrimestre2(getDate(),0) +-- if @CodiceFiscale like '%FF@%' +-- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD2] +-- where +-- codman = substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- and rete= @Rete +-- and DTTRIM = @DataFineTrim +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10; +-- else +-- select @maxComplessita = max(compl_base) from [C6StagingPeriodico].[WSEIAD2] +-- where +-- codfis= @CodiceFiscale +-- and rete= @Rete +-- and DTTRIM = @DataFineTrim +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10; +--------------------------- FINE MIFID2 - MAGGIO 2018 +---- 2/7/2018 - CR NAPOLITANO CASI 11-14 -> Persona Giuridica Retail con Nuovo questionario di profilatura (Legali Rappresentanti/Delegati NON Profilati) +--DECLARE @newLimiteProfilo varchar(20) +--if ltrim(rtrim([C6MartPeriodico].[getIndicatoreValutazione] (@Rete,@CodiceFiscale,default))) = '-1' +-- set @newLimiteProfilo = 'n.d.' +--else +-- select @newLimiteProfilo = +-- ( +-- case @limiteProfilo +-- when 0 then '-' +-- when 1 then 'Minima' +-- when 2 then 'Bassa' +-- when 3 then 'Media' +-- when 4 then 'Alta' +-- when 5 then 'Molto alta' +-- else '-' +-- end +-- ) +-- SELECT +-- @codiceProfilo as codiceProfilo, +-- DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, +-- @varProfilo as varMassimo, +-- ISNULL(@varBF,0) as varBF, +-- ISNULL(@coperturaBF,0) as coperturaBF, +-- @nomeProfilo as nomeProfilo, +-- @riskclass as riskclass, +-- @experience as experince, +-- @varPatrBF as varPatrimonioBF, +-- @riskClassBF as riskClassBF, +-------------------------- MIFID2 - MAGGIO 2018 +-- @newLimiteProfilo as LimiteComplessitaProfilo, +-- case @maxComplessita +-- when 0 then '-' +-- when 1 then 'Minima' +-- when 2 then 'Bassa' +-- when 3 then 'Media' +-- when 4 then 'Alta' +-- when 5 then 'Molto alta' +-- else '-' +-- end as LimiteComplessitaPatrimonio +--------------------------- FINE MIFID2 - MAGGIO 2018 +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S129Patrimonio.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S129Patrimonio.sql new file mode 100644 index 00000000..1387c90a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S129Patrimonio.sql @@ -0,0 +1,29 @@ +CREATE procedure [C6MartPeriodico].[PL_MP_S129Patrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS129] DettMov + ,[NumeroAsterischiNota] + ,sommaproventi + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] + WHERE [Rete] = @Rete + AND [Cod_Fiscale] = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S129Patrimonio_BkUpParall.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S129Patrimonio_BkUpParall.sql new file mode 100644 index 00000000..6b857e9f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S129Patrimonio_BkUpParall.sql @@ -0,0 +1,275 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_MP_S129Patrimonio] 'S','VNDMRZ60L23G702B' +CREATE procedure [C6MartPeriodico].[PL_MP_S129Patrimonio_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + DECLARE @SommaProventi money + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + -- Inserimento Dati Scirocco + --SELECT @DettMovPrec = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM < '20111231' + SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_TRIMESTRE_PREC + --modifica rleboffe 20130617 + --@DettMovCorr = DETT_MOV_CORR + FROM C6MartPeriodico.DettaglioMovimenti + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale + --SELECT @DettMovCorr = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM = '20111231' + IF @DettMovPrec is null + SET @AppoDettMovPrec = 'n.d.' + ELSE + SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + IF @DettMovCorr is null + SET @AppoDettMovCorr = 'n.d.' + ELSE + SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + --query per asterischi situazione precedente + IF EXISTS(SELECT * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICS] + WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + AND RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + ----------------------------------------- + --query per asterischi situazione corrente + IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + WHERE COD_INTERNO IN ('37', 'GP') + AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + SET @NumAsterischiCorr = 1 + ----------------------------------------- + SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) + BEGIN + -- Attivazione monitoraggio +--versione nuova da testare +--select @SommaProventi= sum(IMPORTO) +--from [C6StagingPeriodico].[WSEIPR] +--WHERE Rete = @Rete +-- AND codfis = @CodiceFiscale +SELECT @SommaProventi= sum(IMPORTO) + FROM [C6MartPeriodico].proventi + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + INI.CTV_EXT, + INI.CTV_INV, + INI.CTV_PRE, + INI.CTV_RIS, + INI.CTV_LIQ, + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ AS RisorseAllocate, + INI.CTV_NA AS RisorseNonAllocate, + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA AS RisorseFinanziarie, + INI.CTV_CC AS Contocorrente, +--INIZIO INTERVENTI OMNIA + INI.ctvself AS ctvself, + --Contocorrente = CASE WHEN CAST(INI.CTV_CC AS NUMERIC(20,4)) < 0 THEN INI.CTV_CC ELSE 0 END, +-- INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + INI.CTV_CC + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + INI.CTV_CC + ISNULL(INI.ctvself,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + (CASE WHEN CAST(INI.CTV_CC AS NUMERIC(20,4)) < 0 THEN INI.CTV_CC ELSE 0 END) AS TotalePatrimonio + --INI.CTV_TOTALE AS ControvaloreComplessivo + ,null as DettMov + ,0 as NumeroAsterischiNota + ,@SommaProventi as SommaProventi + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.RETE = @Rete AND + INI.COD_FISCALE = @CodiceFiscale + --AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,'2999-12-31') + UNION ALL + -- Precedente invio report + SELECT + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + rep.CTV_EXT, + rep.CTV_INV, + rep.CTV_PRE, + rep.CTV_RIS, + rep.CTV_LIQ, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ AS RisorseAllocate, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA AS RisorseFinanziarie, + rep.CTV_CC AS Contocorrente, +--INIZIO INTERVENTI OMNIA + rep.CTV_SELF AS ctvself, + --Contocorrente = CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END, +-- rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.CTV_SELF,0) + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + (CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END) AS TotalePatrimonio + --CTV_TOTALE AS ControvaloreComplessivo + ,(CASE WHEN @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovPrec END) as DettMov + --,(CASE WHEN @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiPrec END) as NumeroAsterischiNota + ,0 as NumeroAsterischiNota + ,@SommaProventi as SommaProventi + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + rep.RETE = @Rete AND + rep.COD_FISCALE = @CodiceFiscale + AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + --All values will be read from DB and passed to code, no value will be calculated on code + SELECT + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + --Get the sum Operazioni in corso + --sum((isnull(IMPORTO,0))) as Partita_viaggiante, + 0 as Partita_viaggiante, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) as CTV_EXT, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) as CTV_INV, + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) as CTV_PRE, + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end ) as CTV_PRE, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) as CTV_RIS, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) as CTV_LIQ, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS CTV_RA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as CTV_NA, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS CTV_RF, + --CTV_CC = (Case WHEN sum(case Upper(id_area) when 'CC' then ctv else 0 end ) < 0 THEN sum(case Upper(id_area) when 'CC' then ctv else 0 end) ELSE 0 END), + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS CTV_CC, + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS CTV_CC, +--INIZIO INTERVENTI OMNIA + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS ctvself, +--FINE INTERVENTI OMNIA + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end )+ + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) + +--INIZIO INTERVENTI OMNIA +-- sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS TotalePatrimonio + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) + + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --sum((isnull(IMPORTO,0))) AS TotalePatrimonio + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS TotalePatrimonio + --SUM(CTV) as ControvaloreComplessivo + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + ,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiCorr END) as NumeroAsterischiNota + ,0 as NumeroAsterischiNota + ,@SommaProventi as SommaProventi + --,'1' as NumeroAsterischiNota + FROM + C6MartPeriodico.PATRIMONIO_BF +-- AS BF Left Join C6MartPeriodico.partite_viaggianti AS PV +-- ON BF.RETE = PV.RETE +-- AND BF.COD_FISCALE = PV.COD_FISCALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +END +ELSE +BEGIN + SELECT + 1 AS Fase, + DATA_FOTO AS DataFase, + ISNULL(PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + CTV_EXT, + CTV_INV, + CTV_PRE, + CTV_RIS, + CTV_LIQ, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ AS RisorseAllocate, + CTV_NA AS RisorseNonAllocate, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA AS RisorseFinanziarie, + CTV_CC AS Contocorrente, +--INIZIO INTERVENTI OMNIA + CTVself AS ctvself, +-- CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + CTV_CC AS TotalePatrimonio + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + CTV_CC + ctvself AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --CTV_TOTALE AS ControvaloreComplessivo + FROM + MONITORAGGIO_INIZIALE + WHERE + 1=2 +END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S129Patrimonio_bkp_fc.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S129Patrimonio_bkp_fc.sql new file mode 100644 index 00000000..34924949 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S129Patrimonio_bkp_fc.sql @@ -0,0 +1,275 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_MP_S129Patrimonio] 'S','VNDMRZ60L23G702B' +CREATE procedure [C6MartPeriodico].[PL_MP_S129Patrimonio_bkp_fc] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + DECLARE @SommaProventi money + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + -- Inserimento Dati Scirocco + --SELECT @DettMovPrec = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM < '20111231' + SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_TRIMESTRE_PREC + --modifica rleboffe 20130617 + --@DettMovCorr = DETT_MOV_CORR + FROM C6MartPeriodico.DettaglioMovimenti + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale + --SELECT @DettMovCorr = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM = '20111231' + IF @DettMovPrec is null + SET @AppoDettMovPrec = 'n.d.' + ELSE + SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + IF @DettMovCorr is null + SET @AppoDettMovCorr = 'n.d.' + ELSE + SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + --query per asterischi situazione precedente + IF EXISTS(SELECT * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICS] + WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + AND RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + ----------------------------------------- + --query per asterischi situazione corrente + IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + WHERE COD_INTERNO IN ('37', 'GP') + AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + SET @NumAsterischiCorr = 1 + ----------------------------------------- + SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) + BEGIN + -- Attivazione monitoraggio +--versione nuova da testare +--select @SommaProventi= sum(IMPORTO) +--from [C6StagingPeriodico].[WSEIPR] +--WHERE Rete = @Rete +-- AND codfis = @CodiceFiscale +SELECT @SommaProventi= sum(IMPORTO) + FROM [C6MartPeriodico].proventi + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + INI.CTV_EXT, + INI.CTV_INV, + INI.CTV_PRE, + INI.CTV_RIS, + INI.CTV_LIQ, + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ AS RisorseAllocate, + INI.CTV_NA AS RisorseNonAllocate, + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA AS RisorseFinanziarie, + INI.CTV_CC AS Contocorrente, +--INIZIO INTERVENTI OMNIA + INI.ctvself AS ctvself, + --Contocorrente = CASE WHEN CAST(INI.CTV_CC AS NUMERIC(20,4)) < 0 THEN INI.CTV_CC ELSE 0 END, +-- INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + INI.CTV_CC + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + INI.CTV_CC + ISNULL(INI.ctvself,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + (CASE WHEN CAST(INI.CTV_CC AS NUMERIC(20,4)) < 0 THEN INI.CTV_CC ELSE 0 END) AS TotalePatrimonio + --INI.CTV_TOTALE AS ControvaloreComplessivo + ,null as DettMov + ,0 as NumeroAsterischiNota + ,@SommaProventi as SommaProventi + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.RETE = @Rete AND + INI.COD_FISCALE = @CodiceFiscale + --AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,'2999-12-31') + UNION ALL + -- Precedente invio report + SELECT + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + rep.CTV_EXT, + rep.CTV_INV, + rep.CTV_PRE, + rep.CTV_RIS, + rep.CTV_LIQ, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ AS RisorseAllocate, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA AS RisorseFinanziarie, + rep.CTV_CC AS Contocorrente, +--INIZIO INTERVENTI OMNIA + rep.CTV_SELF AS ctvself, + --Contocorrente = CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END, +-- rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.CTV_SELF,0) + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + (CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END) AS TotalePatrimonio + --CTV_TOTALE AS ControvaloreComplessivo + ,(CASE WHEN @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovPrec END) as DettMov + --,(CASE WHEN @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiPrec END) as NumeroAsterischiNota + ,0 as NumeroAsterischiNota + ,@SommaProventi as SommaProventi + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + rep.RETE = @Rete AND + rep.COD_FISCALE = @CodiceFiscale + AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + --All values will be read from DB and passed to code, no value will be calculated on code + SELECT + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + --Get the sum Operazioni in corso + --sum((isnull(IMPORTO,0))) as Partita_viaggiante, + 0 as Partita_viaggiante, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) as CTV_EXT, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) as CTV_INV, + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) as CTV_PRE, + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end ) as CTV_PRE, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) as CTV_RIS, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) as CTV_LIQ, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS CTV_RA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as CTV_NA, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS CTV_RF, + --CTV_CC = (Case WHEN sum(case Upper(id_area) when 'CC' then ctv else 0 end ) < 0 THEN sum(case Upper(id_area) when 'CC' then ctv else 0 end) ELSE 0 END), + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS CTV_CC, + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS CTV_CC, +--INIZIO INTERVENTI OMNIA + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS ctvself, +--FINE INTERVENTI OMNIA + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end )+ + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) + +--INIZIO INTERVENTI OMNIA +-- sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS TotalePatrimonio + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) + + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --sum((isnull(IMPORTO,0))) AS TotalePatrimonio + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS TotalePatrimonio + --SUM(CTV) as ControvaloreComplessivo + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + ,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiCorr END) as NumeroAsterischiNota + ,0 as NumeroAsterischiNota + ,@SommaProventi as SommaProventi + --,'1' as NumeroAsterischiNota + FROM + C6MartPeriodico.PATRIMONIO_BF +-- AS BF Left Join C6MartPeriodico.partite_viaggianti AS PV +-- ON BF.RETE = PV.RETE +-- AND BF.COD_FISCALE = PV.COD_FISCALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +END +ELSE +BEGIN + SELECT + 1 AS Fase, + DATA_FOTO AS DataFase, + ISNULL(PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + CTV_EXT, + CTV_INV, + CTV_PRE, + CTV_RIS, + CTV_LIQ, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ AS RisorseAllocate, + CTV_NA AS RisorseNonAllocate, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA AS RisorseFinanziarie, + CTV_CC AS Contocorrente, +--INIZIO INTERVENTI OMNIA + CTVself AS ctvself, +-- CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + CTV_CC AS TotalePatrimonio + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + CTV_CC + ctvself AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --CTV_TOTALE AS ControvaloreComplessivo + FROM + MONITORAGGIO_INIZIALE + WHERE + 1=2 +END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S130PrincipaliPosizioni.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S130PrincipaliPosizioni.sql new file mode 100644 index 00000000..e97291c6 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S130PrincipaliPosizioni.sql @@ -0,0 +1,41 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6martPeriodico].PL_MP_S130PrincipaliPosizioni 'F','GSTGPL59P03B586G' +CREATE procedure [C6MartPeriodico].[PL_MP_S130PrincipaliPosizioni] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +select top 3 ANAGPROD.DESCR_PRODOTTO as Prodotto, +CAST ((PATRBF.CTV) AS DECIMAL (12,2)) AS Controvalore, +CAST(((PATRBF.CTV/(select distinct sum(PATRBF.CTV) +from C6MartPeriodico.PATRIMONIO_BF PATRBF +where PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale +--INIZIO INTRVENTI OMNIA +--AND PATRBF.ID_AREA <> 'Cc'))*100) AS DECIMAL (12,2)) as PesoRelativo + AND PATRBF.ID_AREA not in ('Cc','self')))*100) AS DECIMAL (12,2)) as PesoRelativo +--FINE INTRVENTI OMNIA +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +WHERE PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +--INIZIO INTRVENTI OMNIA +-- AND PATRBF.ID_AREA <> 'Cc' + AND PATRBF.ID_AREA not in ('Cc','self') +--FINE INTRVENTI OMNIA +ORDER BY +Controvalore desc +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S131ContributoARischio.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S131ContributoARischio.sql new file mode 100644 index 00000000..19b7af20 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S131ContributoARischio.sql @@ -0,0 +1,70 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6martPeriodico].[PL_MP_S131ContributoARischio] F,BRZGLI88S43F839A +CREATE procedure [C6MartPeriodico].[PL_MP_S131ContributoARischio] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT +top 3 ANAGPROD.DESCR_PRODOTTO as descrizioneProdotto, +PATRBF.CTV AS controvalore, +case when (patrbf.tipo_prodotto ='CC') then 0.00 + else RISCHIO_PROD.VAR_PERC_PTF +end AS rischioMercato, +( + ( + case + when ((PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100) is null then 0.00 + ELSE (PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100 + END + ) +/ + ( + case + when (sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0) )/100) over (partition by 'totale')) =0 then 1 + else sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0) )/100) over (partition by 'totale') + end + ) +) +* +100 +as rischioRelativo +--Controvalore prodotto * VaR% prodotto +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.ordinamento_progetto as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END + + PATRBF.POSITION_ID +WHERE PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY +rischioRelativo desc +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza.sql new file mode 100644 index 00000000..2a8a3e90 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza.sql @@ -0,0 +1,30 @@ +CREATE procedure [C6MartPeriodico].[PL_MP_S132ProfiloRischioAdeguatezza] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [RETE] + ,[COD_FISCALE] + ,[INSTITUTENAME] + ,[CTV] + ,[CODICEPROFILO] + ,[DATAINIZIOVALIDITA] + ,[VARMAX] + ,[NOMEPROFILO] + ,[VAR] + ,[VARSTRING] + ,[RISKCLASS] + ,[RISKCLASSSTRING] + ,[COVERAGE] + ,[COVERAGESTRING] + ,[RISKCLASSMAX] + ,[PERCENTAGE] + ,[VarIsOk] + ,[RiskClassIsOk] + ,[ComplexityIsOk] + ,[Ully_perc] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S132ProfiloRischioAdeguatezza] + WHERE [RETE] = @Rete + AND [COD_FISCALE] = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza_BkUpParall.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza_BkUpParall.sql new file mode 100644 index 00000000..4a5860b7 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S132ProfiloRischioAdeguatezza_BkUpParall.sql @@ -0,0 +1,152 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6martPeriodico].[PL_MP_S132ProfiloRischioAdeguatezza]F,BRZGLI88S43F839A +CREATE procedure [C6MartPeriodico].[PL_MP_S132ProfiloRischioAdeguatezza_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- DECLARE @varBF DECIMAL(12,2) +-- DECLARE @coperturaBF DECIMAL(12,2) +-- DECLARE @codiceProfilo SMALLINT +-- DECLARE @dataProfilo DATETIME +-- DECLARE @varProfilo DECIMAL(5,2) +-- DECLARE @nomeProfilo VARCHAR(50) +-- DECLARE @riskclass VARCHAR(50) +-- DECLARE @experience SMALLINT +-- +-- +-- SELECT +-- @codiceProfilo = M.PROFILO_ASS, +-- @dataProfilo = M.DATA_INIZIO_VAL, +-- @varProfilo = CR.MAX_VAR, +-- @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, +-- @riskclass = m.riskclass, +-- @experience = m.experience +-- FROM +-- C6MartPERIODICO.MIFID AS M +-- INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio +-- ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO +-- WHERE +-- M.RETE = @Rete AND +-- M.COD_FISCALE = @CodiceFiscale +-- +-- SELECT +-- @codiceProfilo as codiceProfilo, +-- DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, +-- @varProfilo as varMassimo, +-- ISNULL(@varBF,0) as varBF, +-- ISNULL(@coperturaBF,0) as coperturaBF, +-- @nomeProfilo as nomeProfilo, +-- @riskclass as riskclass, +-- @experience as experince + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, +--CONVERT(DATETIME,M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + DBO.TOSHORTDATESTRING(M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + CR.MAX_VAR AS VARMAX, + ProfiliDiRischio.NOMEPROFILO as NOMEPROFILO, + --V Imposizione VaR a 0 nel caso di presenza di solo cc + CASE + WHEN (@contaPOS - @contaCC) = 0 THEN 0.00 + ELSE RISK_AGG.VAR_PERC_PTF + END AS VAR, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 AND (@contaPOS - @contaCC) <> 0 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.a.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + CASE + WHEN (@contaPOS - @contaCC) = 0 THEN 100 + ELSE ISNULL(RISK_AGG.COPERTURA,0.00) + END AS COVERAGE, +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE + NULL AS COVERAGESTRING, + --V changed from string value (descrizione) to the numeric (profilo) + M.RISKCLASS AS RISKCLASSMAX, + (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI-CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) + END ) + *100 AS PERCENTAGE, + case when RISK_AGG.VAR_PERC_PTF > CR.MAX_VAR then 0 else 1 end as VarIsOk, + case when isnull(RISK_AGG.CREDITRISK,0) > Ck.PROFILO then 0 else 1 end as RiskClassIsOk, + CASE WHEN CMP.COMPLESSITA > M.EXPERIENCE THEN 0 ELSE 1 END as ComplexityIsOk, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale = @codiceFiscale + and rete= @rete + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + left outer join C6MartPeriodico.COMPLESSITA cmp + on + CMP.COD_FISCALE=PATRBF.COD_FISCALE + AND + CMP.RETE=PATRBF.RETE +INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd.sql new file mode 100644 index 00000000..93e7ad28 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd.sql @@ -0,0 +1,42 @@ +CREATE procedure [C6MartPeriodico].[PL_MP_S133AreeBisognoPrincProd] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S133_S157DatiPiramide] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BK_eligoTitoli.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BK_eligoTitoli.sql new file mode 100644 index 00000000..f5697296 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BK_eligoTitoli.sql @@ -0,0 +1,286 @@ +-- ============================================= +-- Author: Davide Moccia +-- Create date: 06/05/2013 +-- Description: +-- ============================================= +-- [C6martPeriodico].[PL_MP_S133AreeBisognoPrincProd] 'F', 'DPRPLA46E25G888K' +CREATE procedure [C6MartPeriodico].[PL_MP_S133AreeBisognoPrincProd_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +--INIZIO INTERVENTI OMNIA +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, +--INIZIO INTERVENTI OMNIA + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY +--INIZIO INTERVENTI OMNIA +-- RETE, COD_FISCALE, LEFT(ID_AREA,3) + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END +--FINE INTERVENTI OMNIA + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') +--INIZIO INTERVENTI OMNIA +-- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC', 'SELF') +--FINE INTERVENTI OMNIA + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V +--INIZIO INTERVENTI OMNIA +-- AND ID_AREA not in ('Na', 'Cc') + AND ID_AREA not in ('Na', 'Cc', 'Self') +--FINE INTERVENTI OMNIA + --V +--INIZIO INTERVENTI OMNIA +-- DECLARE @TOTCC AS INT +-- SELECT @TOTCC = COUNT(*) + DECLARE @TOTCCSELF AS INT + SELECT @TOTCCSELF = COUNT(*) +--FINE INTERVENTI OMNIA + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale +--INIZIO INTERVENTI OMNIA +-- AND TIPO_PRODOTTO = 'Cc' + AND (TIPO_PRODOTTO = 'Cc' OR ISIN = 'EURO00000009' ) +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA quiii2 + DECLARE @TOTSELF AS INT + SELECT @TOTSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' +--FINE INTERVENTI OMNIA quiii2 + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN @TOTCC = @TOT THEN 0.00 + WHEN @TOTCCSELF = @TOT THEN 0.00 +--FINE INTERVENTI OMNIA + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN (@TOTCC <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'n.c.' + WHEN (@TOTCCSELF <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'n.c.' + --V SOLO SELF -> VAR = 'n.c.' + WHEN (@TOTSELF = @TOT) THEN 'n.c.' +--FINE INTERVENTI OMNIA + --V SOLO CC -> VAR = 0 + ELSE NULL + END AS var_totString, + --V + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN @TOTCC = @TOT THEN 0 + WHEN @TOTCCSELF = @TOT THEN 0 +--FINE INTERVENTI OMNIA + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' +--INIZIO INTERVENTI OMNIA +-- WHEN @TOTCC = @TOT THEN NULL + WHEN @TOTCCSELF = @TOT THEN NULL + WHEN @TOTSELF = @TOT THEN 'n.c.' +--FINE INTERVENTI OMNIA + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' +--INIZIO INTERVENTO OMNIA +-- WHEN @TOTCC = @TOT THEN NULL + WHEN @TOTCCSELF = @TOT THEN NULL +--FINE INTERVENTO OMNIA + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' +--INIZIO INTERVENTI OMNIA + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' +--FINE INTERVENTI OMNIA + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ +--INIZIO INTERVENTI OMNIA + WHERE AREA_BISOGNO.ID_AREA <> 'self' +--FINE INTERVENTI OMNIA + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BkUpParall.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BkUpParall.sql new file mode 100644 index 00000000..dee45551 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S133AreeBisognoPrincProd_BkUpParall.sql @@ -0,0 +1,287 @@ +-- ============================================= +-- Author: Davide Moccia +-- Create date: 06/05/2013 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +-- [C6martPeriodico].[PL_MP_S133AreeBisognoPrincProd] 'F', 'DPRPLA46E25G888K' +CREATE procedure [C6MartPeriodico].[PL_MP_S133AreeBisognoPrincProd_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +--INIZIO INTERVENTI OMNIA +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, +--INIZIO INTERVENTI OMNIA + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY +--INIZIO INTERVENTI OMNIA +-- RETE, COD_FISCALE, LEFT(ID_AREA,3) + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END +--FINE INTERVENTI OMNIA + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') +--INIZIO INTERVENTI OMNIA +-- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC', 'SELF') +--FINE INTERVENTI OMNIA + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V +--INIZIO INTERVENTI OMNIA +-- AND ID_AREA not in ('Na', 'Cc') + AND ID_AREA not in ('Na', 'Cc', 'Self') +--FINE INTERVENTI OMNIA + --V +--INIZIO INTERVENTI OMNIA +-- DECLARE @TOTCC AS INT +-- SELECT @TOTCC = COUNT(*) + DECLARE @TOTCCSELF AS INT + SELECT @TOTCCSELF = COUNT(*) +--FINE INTERVENTI OMNIA + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale +--INIZIO INTERVENTI OMNIA +-- AND TIPO_PRODOTTO = 'Cc' + AND (TIPO_PRODOTTO = 'Cc' OR ISIN in ('EURO00000009', 'EURO10000007')) +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA quiii2 + DECLARE @TOTSELF AS INT + SELECT @TOTSELF = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009','EURO10000007') +--FINE INTERVENTI OMNIA quiii2 + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN @TOTCC = @TOT THEN 0.00 + WHEN @TOTCCSELF = @TOT THEN 0.00 +--FINE INTERVENTI OMNIA + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN (@TOTCC <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'n.c.' + WHEN (@TOTCCSELF <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'n.c.' + --V SOLO SELF -> VAR = 'n.c.' + WHEN (@TOTSELF = @TOT) THEN 'n.c.' +--FINE INTERVENTI OMNIA + --V SOLO CC -> VAR = 0 + ELSE NULL + END AS var_totString, + --V + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN @TOTCC = @TOT THEN 0 + WHEN @TOTCCSELF = @TOT THEN 0 +--FINE INTERVENTI OMNIA + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' +--INIZIO INTERVENTI OMNIA +-- WHEN @TOTCC = @TOT THEN NULL + WHEN @TOTCCSELF = @TOT THEN NULL + WHEN @TOTSELF = @TOT THEN 'n.c.' +--FINE INTERVENTI OMNIA + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' +--INIZIO INTERVENTO OMNIA +-- WHEN @TOTCC = @TOT THEN NULL + WHEN @TOTCCSELF = @TOT THEN NULL +--FINE INTERVENTO OMNIA + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' +--INIZIO INTERVENTI OMNIA + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' +--FINE INTERVENTI OMNIA + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ +--INIZIO INTERVENTI OMNIA + WHERE AREA_BISOGNO.ID_AREA <> 'self' +--FINE INTERVENTI OMNIA + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S133BISPrincipaliProdotti.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S133BISPrincipaliProdotti.sql new file mode 100644 index 00000000..25eb54f5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S133BISPrincipaliProdotti.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Author: +-- Create date: <07/05/2013> +-- Description: +-- ============================================= +-- [C6martPeriodico].[PL_MP_S133BISPrincipaliProdotti] F,CLSPLA43D08H501B +CREATE procedure [C6MartPeriodico].[PL_MP_S133BISPrincipaliProdotti] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT TOP 10 + ANAGPROD.DESCR_PRODOTTO AS descrProdotto + ,PATRBF.CTV AS Controvalore + ,CASE + WHEN patrbf.tipo_prodotto = 'CC' THEN 0.00 + ELSE RISCHIO_PROD.VAR_PERC_PTF + END AS VaRprodotto + ,((CASE + WHEN ((PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100) is null then 0.00 + ELSE(PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100 + END) / (CASE + WHEN sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') = 0 THEN 1 + ELSE sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') + END))*100 as rischioRelativo + ,(PATRBF.CTV/(sum(PATRBF.CTV) over (partition by 'totale')))*100 AS pesoRelativo + ,PATRBF.ID_AREA AS codAreaBisogno + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO + INNER JOIN C6MartPeriodico.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.ordinamento_progetto as varchar),'') + '|' + WHEN LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END + + PATRBF.POSITION_ID + WHERE PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 + AND PATRBF.ID_AREA <> 'Cc' + ORDER BY rischioRelativo DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S134BISMonitoraggioLiqInv.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S134BISMonitoraggioLiqInv.sql new file mode 100644 index 00000000..f2203b5d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S134BISMonitoraggioLiqInv.sql @@ -0,0 +1,46 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S134BISMonitoraggioLiqInv] 'F','CNTGCR68T31D458G' +CREATE procedure [C6MartPeriodico].[PL_MP_S134BISMonitoraggioLiqInv] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + --and APPORTO_INIZIALE<>'0.00'--- aggiunta 20221219 per + UNION + SELECT + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S134MonitoraggioLiquidita.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S134MonitoraggioLiquidita.sql new file mode 100644 index 00000000..b20bb299 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S134MonitoraggioLiquidita.sql @@ -0,0 +1,76 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S134MonitoraggioLiquidita] 'F','CNTGCR68T31D458G' +CREATE procedure [C6MartPeriodico].[PL_MP_S134MonitoraggioLiquidita] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- DECLARE @RendimNonRappr BIT +SELECT + case when RENDIMNONRAPPR=1 then 1 else 0 end AS cf_rendim_non_rappr, + MONIT.id_Area AS Need_Area, + CASE + WHEN MONIT.NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(MONIT.NOME_PROGETTO)) + END AS Nome_Progetto, + monit.ordinamento_progetto, + dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, + CTV_MONITORATO AS ControvaloreMonitorato, + APPORTO_INIZIALE AS ApportoIniziale, + APPORTO_SUCCESSIVO AS ApportoSuccessivo, + LIQUIDAZIONI, + CEDOLE_DIVIDENDI AS CedoleEDividendi, + MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, + RENDIMENTO_CUMULATO AS Rendimento_Attuale, + RISORSE_ASSOCIATE AS RisorseApportate, + dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, + RENDIMENTO_ANNUALIZZATO + FROM + C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT + LEFT OUTER JOIN + ( + SELECT + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end as NOME_PROGETTO, + patr_bf.ordinamento_progetto, + 1 as RENDIMNONRAPPR + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + LEFT OUTER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + WHERE + PATR_BF.RETE = @Rete + AND PATR_BF.COD_FISCALE = @CodiceFiscale + AND PATR_BF.REND_NON_RAPPR = 1 + group by + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end, + patr_bf.ordinamento_progetto + ) PATR_BF + ON PATR_BF.COD_FISCALE=MONIT.COD_FISCALE + AND PATR_BF.RETE= MONIT.RETE + AND left(PATR_BF.ID_AREA,3)=left(MONIT.ID_AREA,3) + AND isnull(PATR_BF.NOME_PROGETTO,'XXX')=isnull(MONIT.NOME_PROGETTO,'XXX') + And monit.ordinamento_progetto=patr_bf.ordinamento_progetto + WHERE + MONIT.RETE = @Rete AND + MONIT.COD_FISCALE = @CodiceFiscale + -- and CTV_MONITORATO<>'0.00' -- aggiunta 20221219 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S135MonitoraggioInvestimento.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S135MonitoraggioInvestimento.sql new file mode 100644 index 00000000..f75e7a7c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S135MonitoraggioInvestimento.sql @@ -0,0 +1,45 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S135MonitoraggioInvestimento] 'F','BDTMSS49A43F502I' +CREATE procedure [C6MartPeriodico].[PL_MP_S135MonitoraggioInvestimento] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + UNION + SELECT + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S137BISCapitaleProtetto.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S137BISCapitaleProtetto.sql new file mode 100644 index 00000000..39b73c57 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S137BISCapitaleProtetto.sql @@ -0,0 +1,48 @@ +-- ============================================= +-- Author: +-- Create date: <19/11/2014, Pomezia> +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S137BISCapitaleProtetto] 'F','QRCRLR38P10G999N' +CREATE procedure [C6MartPeriodico].[PL_MP_S137BISCapitaleProtetto] + ---- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + --SELECT top 1 + -- 'Interfund Capital Protection' AS DES_PROD, + -- '001234.RS.S678' AS COD_CONF, + -- '120,1040' AS QUOTA, + -- '100,1234' AS NUMEROQUOTE, + -- '12.025,22' AS CONTROVALORE, + -- '31/03/2014' AS DATARIF, + -- 'Quota massima' AS DES_MAX, + -- '125,4573' AS QUOTA_MAX, + -- '80' AS QUOTA_MAX_PERC, + -- '31/03/2013' AS DATARIF_MAX, + -- 'Quota e controvalore protetti*' AS DES_PROT, + -- '100,3658' AS QUOTA_PROT, + -- '100,1234' AS NUMEROQUOTE_PROT, + -- '10.048,97' AS CONTROVALORE_PROT + SELECT + DES_PROD + ,COD_CONF + ,QUOTA + ,NUMEROQUOTE + ,CONTROVALORE + ,DATARIF + ,DES_MAX + ,QUOTA_MAX + ,QUOTA_MAX_PERC + ,DATARIF_MAX + ,DES_PROT + ,QUOTA_PROT + ,NUMEROQUOTE_PROT + ,CONTROVALORE_PROT + ,DES_PROD_TIT -- Aggiunta per E-FOI80 + FROM C6MartPeriodico.CAPPROT + WHERE 1=1 + AND RETE = @Rete + AND CODFIS = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S137BIS_FOI80.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S137BIS_FOI80.sql new file mode 100644 index 00000000..0762e99a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S137BIS_FOI80.sql @@ -0,0 +1,52 @@ +-- ============================================= +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S137BIS_FOI80] 'F','QRCRLR38P10G999N' +CREATE procedure [C6MartPeriodico].[PL_MP_S137BIS_FOI80] + ---- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + --SELECT top 1 + -- 'Interfund Capital Protection' AS DES_PROD, + -- '001234.RS.S678' AS COD_CONF, + -- '120,1040' AS QUOTA, + -- '100,1234' AS NUMEROQUOTE, + -- '12.025,22' AS CONTROVALORE, + -- '31/03/2014' AS DATARIF, + -- 'Quota massima' AS DES_MAX, + -- '125,4573' AS QUOTA_MAX, + -- '80' AS QUOTA_MAX_PERC, + -- '31/03/2013' AS DATARIF_MAX, + -- 'Quota e controvalore protetti*' AS DES_PROT, + -- '100,3658' AS QUOTA_PROT, + -- '100,1234' AS NUMEROQUOTE_PROT, + -- '10.048,97' AS CONTROVALORE_PROT + SELECT + DTTRIM, + DTRIFE, + RETE, + CODFIS, + DESPROD, + CODMAN, + CODCONF, + CODPROD, + SUBPROD, + ISIN, + CTV, + PREZZO, + QUOTE, + PREZZOMAX, + DTPREZZOMAX, + DESMAX, + PREZZOPROT, + CTRVIMPPROT, + DESPROT, + DESPRODTIT, + QUOTA_MAX_PERC + FROM C6MartPeriodico.FOI80 + WHERE 1=1 + AND RETE = @Rete + AND CODFIS = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S137Bonus.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S137Bonus.sql new file mode 100644 index 00000000..f513fa9e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S137Bonus.sql @@ -0,0 +1,33 @@ +--[C6MartPeriodico].[PL_MP_S137Bonus] 'F','QRCRLR38P10G999N' +CREATE procedure [C6MartPeriodico].[PL_MP_S137Bonus] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT [RETE], + bonus.[COD_FISCALE], + [DES_PROD] = CASE + WHEN desrc.descrizione is null THEN '' + ELSE desrc.descrizione + END, + bonus.[COD_CONF], + bonus.[CTV], + bonus.[DT_TRIM], + 'Bonus Maturato' as [DESBONUS_M], + bonus.[BONUS_M], + bonus.[DTDEC_M], + 'Bonus a scadenza 5 anni' as [DESBONUS_5], + bonus.[BONUS_5], + bonus.[DTDEC_5], + 'Bonus a scadenza 10 anni' as [DESBONUS_10], + bonus.[BONUS_10], + bonus.[DTDEC_10], + bonus.[COD_PROD] + FROM [C6MartPeriodico].[BONUS] bonus + Left Join c6martperiodico.descrizione_bonus desrc + on desrc.cod_prod = bonus.cod_prod + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S138Proventi.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S138Proventi.sql new file mode 100644 index 00000000..2892c8ca --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S138Proventi.sql @@ -0,0 +1,23 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S138Proventi] 'F','ZZZRSO40P44B042U' +CREATE procedure [C6MartPeriodico].[PL_MP_S138Proventi] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + DTRIFE + ,DESPROD + ,TIPMOV + ,IMPORTO + FROM [C6MartPeriodico].proventi proventi + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + and importo>0.00 --fix 20240701 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S139Scadenze.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S139Scadenze.sql new file mode 100644 index 00000000..f34e437b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S139Scadenze.sql @@ -0,0 +1,20 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_MP_S139Scadenze] 'F','00164770307' +CREATE procedure [C6MartPeriodico].[PL_MP_S139Scadenze] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + DESPROD, + TIPMOV , + DTSCAD + FROM [C6MartPeriodico].scadenze + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts.sql new file mode 100644 index 00000000..7cd82442 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts.sql @@ -0,0 +1,695 @@ +-- [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts_NoLight] 'S','BRNGDI72S69L219Y' +CREATE procedure [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT + RETE, + COD_FISCALE, + INTERMEDIARIO, + CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest', 'IW Private Investments') THEN 1 + ELSE 2 END AS ORDINE, + SUM(CTV) AS CTV_TOT, + SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, + SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, + SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, + --CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, + CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) + )*100 END AS PERC_CreditRisk, + CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE + END AS RISKCLASS, + CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' WHEN PATRBF.RETE = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS INTERMEDIARIO, + --SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV + --INIZIO INTERVENTI OMNIA + --SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv + SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS ctv + --FINE INTERVENTI OMNIA + FROM + [C6MartPeriodico].[patrimonio_bf] PATRBF + ---Per calcolare la somma algebrica dei cc + LEFT OUTER JOIN + (select cod_fiscale, rete, sum(ctv) as cc_ctv + from + [C6MartPeriodico].[patrimonio_bf] + where id_Area='Cc' + group by cod_fiscale, rete + ) ctvcc + on + patrbf.cod_fiscale=ctvcc.cod_fiscale + and + patrbf.rete=ctvcc.rete + --fine calcolo somma cc + --INIZIO INTERVENTI OMNIA + ---Per calcolare la somma algebrica dei self negativi + LEFT OUTER JOIN + (select cod_fiscale, rete, sum(ctv) as self_ctv + from + [C6MartPeriodico].[patrimonio_bf] + where id_Area='Self' + group by cod_fiscale, rete + ) ctvself + on + patrbf.cod_fiscale=ctvself.cod_fiscale + and + patrbf.rete=ctvself.rete + --fine calcolo somma self negativi + --FINE INTERVENTI OMNIA + LEFT OUTER JOIN + [C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD + ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID + --INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR + LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR + ON RISCHIO_PROD.CREDITRISK = cr.profilo + --V + WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete + -- 20190118 + and patrbf.id_area not in ('LIGHT', 'VOID') + -- fine 20190118 + -- + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE + END, + CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' WHEN PATRBF.RETE = 'S' THEN 'SANPAOLO' ELSE 'IWPRIVATEINVESTMENTS' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS CTV +--FINE INTERVENTI OMNIA +FROM +[C6MartPeriodico].[patrimonio_bf] PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MartPeriodico].[patrimonio_bf] +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +--INIZIO INTERVENTI OMNIA +--per fare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MartPeriodico].[patrimonio_bf] +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine somma Self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete + -- 20190118 + and patrbf.id_area not in ('LIGHT', 'VOID') + -- fine 20190118 +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts] Script Date: 09/02/2022 12:04:20 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts_NoLight] 'S','BRNGDI72S69L219Y' +--ALTER procedure [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts] +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- SET NOCOUNT ON; +----QUERY PER INTERMEDIARIO +--SELECT +-- RETE, +-- COD_FISCALE, +-- INTERMEDIARIO, +-- CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 +-- ELSE 2 END AS ORDINE, +-- SUM(CTV) AS CTV_TOT, +-- SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +-- SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +-- SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +-- --CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +-- CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +-- )*100 END AS PERC_CreditRisk, +-- CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +-- -- Start 1.1 +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +-- END AS RISKCLASS, +-- CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +-- --SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +-- --INIZIO INTERVENTI OMNIA +-- --SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +-- SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 +-- WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 +-- ELSE PATRBF.CTV END) AS ctv +-- --FINE INTERVENTI OMNIA +-- FROM +-- [C6MartPeriodico].[patrimonio_bf] PATRBF +-- ---Per calcolare la somma algebrica dei cc +-- LEFT OUTER JOIN +-- (select cod_fiscale, rete, sum(ctv) as cc_ctv +-- from +-- [C6MartPeriodico].[patrimonio_bf] +-- where id_Area='Cc' +-- group by cod_fiscale, rete +-- ) ctvcc +-- on +-- patrbf.cod_fiscale=ctvcc.cod_fiscale +-- and +-- patrbf.rete=ctvcc.rete +-- --fine calcolo somma cc +-- --INIZIO INTERVENTI OMNIA +-- ---Per calcolare la somma algebrica dei self negativi +-- LEFT OUTER JOIN +-- (select cod_fiscale, rete, sum(ctv) as self_ctv +-- from +-- [C6MartPeriodico].[patrimonio_bf] +-- where id_Area='Self' +-- group by cod_fiscale, rete +-- ) ctvself +-- on +-- patrbf.cod_fiscale=ctvself.cod_fiscale +-- and +-- patrbf.rete=ctvself.rete +-- --fine calcolo somma self negativi +-- --FINE INTERVENTI OMNIA +-- LEFT OUTER JOIN +-- [C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +-- ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +-- --INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +-- LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +-- ON RISCHIO_PROD.CREDITRISK = cr.profilo +-- --V +-- WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +-- -- 20190118 +-- and patrbf.id_area not in ('LIGHT', 'VOID') +-- -- fine 20190118 +-- -- +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +-- END, +-- CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +----- End 1.1 +--UNION ALL +---- Start 1.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--PATRTERZI.INTERMEDIARIO, +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6Martperiodico].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--PATRTERZI.INTERMEDIARIO, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 1.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE, +--INTERMEDIARIO +---------- +--UNION ALL +------------- +----QUERY TOTALE +--SELECT +--RETE, +--COD_FISCALE, +--'Complessivo' AS INTERMEDIARIO, +--3 AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +----- Start 2.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +----SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +----INIZIO INTERVENTI OMNIA +----SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 +-- WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 +-- ELSE PATRBF.CTV END) AS CTV +----FINE INTERVENTI OMNIA +--FROM +--[C6MartPeriodico].[patrimonio_bf] PATRBF +----per fare la somma algebrica dei cc +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MartPeriodico].[patrimonio_bf] +--where id_Area='Cc' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +----fine somma cc +----INIZIO INTERVENTI OMNIA +----per fare la somma algebrica dei self negativi +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as self_ctv +--from +--[C6MartPeriodico].[patrimonio_bf] +--where id_Area='Self' +--group by cod_fiscale, rete +--) ctvself +--on +--patrbf.cod_fiscale=ctvself.cod_fiscale +--and +--patrbf.rete=ctvself.rete +----fine somma Self negativi +----FINE INTERVENTI OMNIA +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +-- -- 20190118 +-- and patrbf.id_area not in ('LIGHT', 'VOID') +-- -- fine 20190118 +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 2.1 +--UNION ALL +---- Start 2.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +--left outer join +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6Martperiodico].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +----- End 2.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_20190123_PreLIGHT.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_20190123_PreLIGHT.sql new file mode 100644 index 00000000..bad46ab5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_20190123_PreLIGHT.sql @@ -0,0 +1,338 @@ +-- [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts] 'S','RTRRLF23S12Z105V' +CREATE procedure [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts_20190123_PreLIGHT] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS ctv +--FINE INTERVENTI OMNIA +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +--INIZIO INTERVENTI OMNIA +---Per calcolare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine calcolo somma self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS CTV +--FINE INTERVENTI OMNIA +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +--INIZIO INTERVENTI OMNIA +--per fare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine somma Self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_NoLight.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_NoLight.sql new file mode 100644 index 00000000..bf7530e2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S140AnalisiRisparmioCharts_NoLight.sql @@ -0,0 +1,344 @@ +-- [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts_NoLight] 'S','BRNGDI72S69L219Y' +CREATE procedure [C6MartPeriodico].[PL_MP_S140AnalisiRisparmioCharts_NoLight] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT + RETE, + COD_FISCALE, + INTERMEDIARIO, + CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, + SUM(CTV) AS CTV_TOT, + SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, + SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, + SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, + --CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, + CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) + )*100 END AS PERC_CreditRisk, + CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE + END AS RISKCLASS, + CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, + --SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV + --INIZIO INTERVENTI OMNIA + --SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv + SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS ctv + --FINE INTERVENTI OMNIA + FROM + [C6MartPeriodico].[patrimonio_bf] PATRBF + ---Per calcolare la somma algebrica dei cc + LEFT OUTER JOIN + (select cod_fiscale, rete, sum(ctv) as cc_ctv + from + [C6MartPeriodico].[patrimonio_bf] + where id_Area='Cc' + group by cod_fiscale, rete + ) ctvcc + on + patrbf.cod_fiscale=ctvcc.cod_fiscale + and + patrbf.rete=ctvcc.rete + --fine calcolo somma cc + --INIZIO INTERVENTI OMNIA + ---Per calcolare la somma algebrica dei self negativi + LEFT OUTER JOIN + (select cod_fiscale, rete, sum(ctv) as self_ctv + from + [C6MartPeriodico].[patrimonio_bf] + where id_Area='Self' + group by cod_fiscale, rete + ) ctvself + on + patrbf.cod_fiscale=ctvself.cod_fiscale + and + patrbf.rete=ctvself.rete + --fine calcolo somma self negativi + --FINE INTERVENTI OMNIA + LEFT OUTER JOIN + [C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD + ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID + --INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR + LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR + ON RISCHIO_PROD.CREDITRISK = cr.profilo + --V + WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete + -- 20190118 + and patrbf.id_area not in ('LIGHT', 'VOID') + -- fine 20190118 + -- + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE + END, + CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 + WHEN ctvself.self_ctv <0 and patrbf.id_area='self' THEN 0 + ELSE PATRBF.CTV END) AS CTV +--FINE INTERVENTI OMNIA +FROM +[C6MartPeriodico].[patrimonio_bf] PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MartPeriodico].[patrimonio_bf] +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +--INIZIO INTERVENTI OMNIA +--per fare la somma algebrica dei self negativi +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as self_ctv +from +[C6MartPeriodico].[patrimonio_bf] +where id_Area='Self' +group by cod_fiscale, rete +) ctvself +on +patrbf.cod_fiscale=ctvself.cod_fiscale +and +patrbf.rete=ctvself.rete +--fine somma Self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete + -- 20190118 + and patrbf.id_area not in ('LIGHT', 'VOID') + -- fine 20190118 +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable.sql new file mode 100644 index 00000000..f53a24c1 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable.sql @@ -0,0 +1,384 @@ +--EXEC [C6martPeriodico].PL_MP_S141AnalisiRisparmioTable 'F','FTSVSL35E25Z115H' +CREATE procedure [C6MartPeriodico].[PL_MP_S141AnalisiRisparmioTable] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT --U.* + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +FROM ( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + --RATING AS RATING, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, +--EN 26012016: solo se per un emittente nessun prodotto riporta nessuna copertura +-- viene impostato nc=1 (non classificato) e si assume che nessuna riskclass +-- sia valorizzato. +-- sum(case when copertura > 0 then 0 else 1 end) as nc + min(case when copertura > 0 then 0 else 1 end) as nc + FROM + (SELECT --Y.* + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + --RATING AS RATING, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + RATING, + CREDITRISKCLASS + ) Y + GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +------COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, +--EN 26012016 +-- sum(case when copertura > 0 then 0 else 1 end) as nc + min(case when copertura > 0 then 0 else 1 end) as nc +FROM +( +SELECT --L.* + COD_FISCALE, + RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER, + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , + SUM(COPERTURA) AS COPERTURA +FROM +( + SELECT --V.* + V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + RATING, + INTERMEDIARIO, + CREDITRISKCLASS + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10 +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +) U + ORDER BY U.CONCENTRATION DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable_test.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable_test.sql new file mode 100644 index 00000000..b30402b4 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S141AnalisiRisparmioTable_test.sql @@ -0,0 +1,451 @@ +--EXEC [C6martPeriodico].PL_MP_S141AnalisiRisparmioTable_test 'S','BNOSDR61T03F205W' +CREATE procedure [C6MartPeriodico].[PL_MP_S141AnalisiRisparmioTable_test] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT --U.* + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC + into #tabtemp +FROM ( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + --RATING AS RATING, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, +--EN 26012016: solo se per un emittente nessun prodotto riporta nessuna copertura +-- viene impostato nc=1 (non classificato) e si assume che nessuna riskclass +-- sia valorizzato. +-- sum(case when copertura > 0 then 0 else 1 end) as nc + min(case when copertura > 0 then 0 else 1 end) as nc + FROM + (SELECT --Y.* + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + --RATING AS RATING, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + RATING, + CREDITRISKCLASS + ) Y + GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +------COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, +--EN 26012016 +-- sum(case when copertura > 0 then 0 else 1 end) as nc + min(case when copertura > 0 then 0 else 1 end) as nc +FROM +( +SELECT --L.* + COD_FISCALE, + RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER, + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , + SUM(COPERTURA) AS COPERTURA +FROM +( + SELECT --V.* + V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + RATING, + INTERMEDIARIO, + CREDITRISKCLASS + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10 +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +) U + ORDER BY U.CONCENTRATION DESC +SELECT distinct + temp.COD_FISCALE, + temp.RETE, + temp.RATING_AAA, + temp.RATING_AAp, + temp.RATING_AA, + temp.RATING_AAm, + temp.RATING_Ap, + temp.RATING_A, + temp.RATING_Am, + temp.RATING_BBBp, + temp.RATING_BBB, + temp.RATING_BBBm, + temp.RATING_BBp, + temp.RATING_BB, + temp.RATING_BBm, + temp.RATING_Bp, + temp.RATING_B, + temp.RATING_Bm, + temp.RATING_CCCp, + temp.RATING_CCC, + temp.RATING_CCCm, + temp.RATING_CC, + temp.RATING_C, + temp.RATING_D, + temp.RATING_na, + temp.FLG_RISKCLASS1, + temp.FLG_RISKCLASS2, + temp.FLG_RISKCLASS3, + temp.FLG_RISKCLASS4, + temp.FLG_RISKCLASS5, + temp.FLG_RISKCLASS6, + temp.FLG_RISKCLASS7, + temp.FLG_RISKCLASS8, + temp.FLG_RISKCLASS9, + temp.FLG_RISKCLASS10, + temp.INTERMEDIARIO, + temp.ISSUER, + temp.STOCKSCounterValue, + --temp.bondsCounterValue, + Case + when + pemitt.cod_prodotto like '%IT0003972996%' or + pemitt.cod_prodotto like '%XS0257293828%'or + pemitt.cod_prodotto like '%IT0004867781%'or + pemitt.cod_prodotto like '%IT0004880933%'or + pemitt.cod_prodotto like '%XS0302580880%'or + pemitt.cod_prodotto like '%IT0004119407%'or + pemitt.cod_prodotto like '%IT0004281504%'or + pemitt.cod_prodotto like '%IT0004931405%'or + pemitt.cod_prodotto like '%IT0004966856%'or + pemitt.cod_prodotto like '%IT0004539786%'or + pemitt.cod_prodotto like '%IT0004657786%'or + pemitt.cod_prodotto like '%IT0004556327%'or + pemitt.cod_prodotto like '%IT0004064538%'or + pemitt.cod_prodotto like '%IT0004119605%'or + pemitt.cod_prodotto like '%IT0004291891%' + THEN 999999999 else temp.bondsCounterValue end + as bondsCounterValue, + temp.CONCENTRATION_ISSUER, + temp.CONCENTRATION, + temp.NC +from #tabtemp temp +inner join C6MARTPERIODICO.PATRIMONIO_EMITTENTI pemitt +ON temp.COD_FISCALe= pemitt.COD_FISCALe and + temp.RETE = pemitt.rete +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S142DistibuzionePerRating.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S142DistibuzionePerRating.sql new file mode 100644 index 00000000..6f1ead7b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S142DistibuzionePerRating.sql @@ -0,0 +1,92 @@ +-- [C6martPeriodico].PL_MP_S142DistibuzionePerRating 'f','MSCLRT46H15A565B' + CREATE procedure [C6MartPeriodico].[PL_MP_S142DistibuzionePerRating] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @sumCTV Decimal(15,3) = + (SELECT isnull(sum(BF.ctv), 0.0) + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' ) +SELECT + RATING, + isnull(sum(T.CONTROVALORE),0) as CONTROVALORE , +-- FerAcu 20240803 errore divisione per zero +-- isnull(sum(T.CONTROVALORE) / ((SELECT sum(BF.ctv) +-- FROM c6MartPeriodico.ANAG_PRODOTTI ANAG +-- INNER JOIN c6MartPeriodico.patrimonio_BF BF +-- ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO +-- AND BF.rete = @Rete +-- AND BF.cod_fiscale = @CodiceFiscale +-- AND ANAG.FLG_OB='S' )/100),0) +-- AS Percentage, + -- visto che il default in caso di NULL è 0, usiamo 0 anche per i casi x/0 + CASE WHEN @sumCTV = 0.0 Then 0.000 + ELSE isNull(sum(T.CONTROVALORE), 0.000) / (@sumCTV / 100) + END + AS Percentage, + CASE RATING + WHEN 'Da AAA a A-' THEN 93 + WHEN 'Da BBB+ a BBB-' THEN 171 + WHEN 'Da BB+ a B-' THEN 174 + WHEN 'Da CCC+ a D' THEN 193 + ELSE 235 + END AS Red, + CASE RATING + WHEN 'Da AAA a A-' THEN 138 + WHEN 'Da BBB+ a BBB-' THEN 196 + WHEN 'Da BB+ a B-' THEN 135 + WHEN 'Da CCC+ a D' THEN 174 + ELSE 235 + END AS Green, + CASE RATING + WHEN 'Da AAA a A-' THEN 153 + WHEN 'Da BBB+ a BBB-' THEN 150 + WHEN 'Da BB+ a B-' THEN 88 + WHEN 'Da CCC+ a D' THEN 149 + ELSE 236 + END AS Blue +FROM ( + SELECT + CASE ANAG.rating + WHEN 'AAA' THEN 'Da AAA a A-' + WHEN 'AA+' THEN 'Da AAA a A-' + WHEN 'AA' THEN 'Da AAA a A-' + WHEN 'AA-' THEN 'Da AAA a A-' + WHEN 'A+' THEN 'Da AAA a A-' + WHEN 'A' THEN 'Da AAA a A-' + WHEN 'A-' THEN 'Da AAA a A-' + WHEN 'BBB+' THEN 'Da BBB+ a BBB-' + WHEN 'BBB' THEN 'Da BBB+ a BBB-' + WHEN 'BBB-' THEN 'Da BBB+ a BBB-' + WHEN 'BB+' THEN 'Da BB+ a B-' + WHEN 'BB' THEN 'Da BB+ a B-' + WHEN 'BB-' THEN 'Da BB+ a B-' + WHEN 'B+' THEN 'Da BB+ a B-' + WHEN 'B' THEN 'Da BB+ a B-' + WHEN 'B-' THEN 'Da BB+ a B-' + WHEN 'CCC+' THEN 'Da CCC+ a D' + WHEN 'CCC' THEN 'Da CCC+ a D' + WHEN 'CCC-' THEN 'Da CCC+ a D' + WHEN 'CC' THEN 'Da CCC+ a D' + WHEN 'C' THEN 'Da CCC+ a D' + WHEN 'D' THEN 'Da CCC+ a D' + ELSE 'Non classificato' + END AS RATING, + isnull(sum(BF.ctv),0) as CONTROVALORE + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' + GROUP BY ANAG.rating +) T +GROUP BY T.RATING +ORDER BY T.RATING +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S142DistibuzionePerRating_20240803.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S142DistibuzionePerRating_20240803.sql new file mode 100644 index 00000000..dea270ac --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S142DistibuzionePerRating_20240803.sql @@ -0,0 +1,78 @@ +-- [C6martPeriodico].PL_MP_S142DistibuzionePerRating 'f','MSCLRT46H15A565B' + CREATE procedure [C6MartPeriodico].[PL_MP_S142DistibuzionePerRating_20240803] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; +SELECT + RATING, + isnull(sum(T.CONTROVALORE),0) as CONTROVALORE , + isnull(sum(T.CONTROVALORE) / ((SELECT sum(BF.ctv) + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' )/100),0) + AS Percentage, + CASE RATING + WHEN 'Da AAA a A-' THEN 93 + WHEN 'Da BBB+ a BBB-' THEN 171 + WHEN 'Da BB+ a B-' THEN 174 + WHEN 'Da CCC+ a D' THEN 193 + ELSE 235 + END AS Red, + CASE RATING + WHEN 'Da AAA a A-' THEN 138 + WHEN 'Da BBB+ a BBB-' THEN 196 + WHEN 'Da BB+ a B-' THEN 135 + WHEN 'Da CCC+ a D' THEN 174 + ELSE 235 + END AS Green, + CASE RATING + WHEN 'Da AAA a A-' THEN 153 + WHEN 'Da BBB+ a BBB-' THEN 150 + WHEN 'Da BB+ a B-' THEN 88 + WHEN 'Da CCC+ a D' THEN 149 + ELSE 236 + END AS Blue +FROM ( + SELECT + CASE ANAG.rating + WHEN 'AAA' THEN 'Da AAA a A-' + WHEN 'AA+' THEN 'Da AAA a A-' + WHEN 'AA' THEN 'Da AAA a A-' + WHEN 'AA-' THEN 'Da AAA a A-' + WHEN 'A+' THEN 'Da AAA a A-' + WHEN 'A' THEN 'Da AAA a A-' + WHEN 'A-' THEN 'Da AAA a A-' + WHEN 'BBB+' THEN 'Da BBB+ a BBB-' + WHEN 'BBB' THEN 'Da BBB+ a BBB-' + WHEN 'BBB-' THEN 'Da BBB+ a BBB-' + WHEN 'BB+' THEN 'Da BB+ a B-' + WHEN 'BB' THEN 'Da BB+ a B-' + WHEN 'BB-' THEN 'Da BB+ a B-' + WHEN 'B+' THEN 'Da BB+ a B-' + WHEN 'B' THEN 'Da BB+ a B-' + WHEN 'B-' THEN 'Da BB+ a B-' + WHEN 'CCC+' THEN 'Da CCC+ a D' + WHEN 'CCC' THEN 'Da CCC+ a D' + WHEN 'CCC-' THEN 'Da CCC+ a D' + WHEN 'CC' THEN 'Da CCC+ a D' + WHEN 'C' THEN 'Da CCC+ a D' + WHEN 'D' THEN 'Da CCC+ a D' + ELSE 'Non classificato' + END AS RATING, + isnull(sum(BF.ctv),0) as CONTROVALORE + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' + GROUP BY ANAG.rating +) T +GROUP BY T.RATING +ORDER BY T.RATING +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S143DistibuzionePerEmittente.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S143DistibuzionePerEmittente.sql new file mode 100644 index 00000000..9a049c74 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S143DistibuzionePerEmittente.sql @@ -0,0 +1,70 @@ +-- [C6martPeriodico].PL_MP_S143DistibuzionePerEmittente 'f','SLBBRT27A42Z127N' +CREATE procedure [C6MartPeriodico].[PL_MP_S143DistibuzionePerEmittente] --'F','SRGFRC62H07C933N' + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @sumCTV Decimal(15,3) = + (SELECT isnull(sum(BF.ctv), 0.0) + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND NOT ANAG.TIPO_EMITTENTE is null + AND ANAG.FLG_OB='S') +-- Fc17/12/2013 Ridistribuita la percentuale +SELECT + isnull(ANAG.TIPO_EMITTENTE,'Altro') as TIPOEMITTENTE, + isnull(sum(BF.ctv),0) as CONTROVALORE, + CASE + when ANAG.TIPO_EMITTENTE is null then 0 + else + -- FerAcu 20240803 errore divisione per zero + --isnull(sum(BF.ctv) / ((SELECT sum(BF.ctv) + -- FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + -- INNER JOIN c6MartPeriodico.patrimonio_BF BF + -- ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + -- AND BF.rete = @Rete + -- AND BF.cod_fiscale = @CodiceFiscale + -- AND NOT ANAG.TIPO_EMITTENTE is null + -- AND ANAG.FLG_OB='S')/100),0) + CASE WHEN @sumCTV = 0.0 Then 0.000 + ELSE isNull(sum(BF.ctv), 0.000) / (@sumCTV / 100) + END + End + AS Percentage, + CASE ANAG.TIPO_EMITTENTE + WHEN 'Agency' THEN 93 + WHEN 'Governativo' THEN 123 + WHEN 'Emergente' THEN 200 + WHEN 'Sovranazionale' THEN 221 + WHEN 'Corporate' THEN 255 + ELSE 235 + END AS Red, + CASE ANAG.TIPO_EMITTENTE + WHEN 'Agency' THEN 132 + WHEN 'Governativo' THEN 168 + WHEN 'Emergente' THEN 126 + WHEN 'Sovranazionale' THEN 192 + WHEN 'Corporate' THEN 245 + ELSE 235 + END AS Green, + CASE ANAG.TIPO_EMITTENTE + WHEN 'Agency' THEN 111 + WHEN 'Governativo' THEN 145 + WHEN 'Emergente' THEN 99 + WHEN 'Sovranazionale' THEN 115 + WHEN 'Corporate' THEN 210 + ELSE 236 + END AS Blue + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' +GROUP BY ANAG.TIPO_EMITTENTE +ORDER BY TIPOEMITTENTE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S143DistibuzionePerEmittente_20240803.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S143DistibuzionePerEmittente_20240803.sql new file mode 100644 index 00000000..f25167b3 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S143DistibuzionePerEmittente_20240803.sql @@ -0,0 +1,57 @@ +-- [C6martPeriodico].PL_MP_S143DistibuzionePerEmittente 'f','SLBBRT27A42Z127N' +Create procedure [C6MartPeriodico].[PL_MP_S143DistibuzionePerEmittente_20240803] --'F','SRGFRC62H07C933N' + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; +-- Fc17/12/2013 Ridistribuita la percentuale +SELECT + isnull(ANAG.TIPO_EMITTENTE,'Altro') as TIPOEMITTENTE, + isnull(sum(BF.ctv),0) as CONTROVALORE, + CASE + when ANAG.TIPO_EMITTENTE is null then 0 + else + isnull(sum(BF.ctv) / ((SELECT sum(BF.ctv) + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND NOT ANAG.TIPO_EMITTENTE is null + AND ANAG.FLG_OB='S')/100),0) + End + AS Percentage, + CASE ANAG.TIPO_EMITTENTE + WHEN 'Agency' THEN 93 + WHEN 'Governativo' THEN 123 + WHEN 'Emergente' THEN 200 + WHEN 'Sovranazionale' THEN 221 + WHEN 'Corporate' THEN 255 + ELSE 235 + END AS Red, + CASE ANAG.TIPO_EMITTENTE + WHEN 'Agency' THEN 132 + WHEN 'Governativo' THEN 168 + WHEN 'Emergente' THEN 126 + WHEN 'Sovranazionale' THEN 192 + WHEN 'Corporate' THEN 245 + ELSE 235 + END AS Green, + CASE ANAG.TIPO_EMITTENTE + WHEN 'Agency' THEN 111 + WHEN 'Governativo' THEN 145 + WHEN 'Emergente' THEN 99 + WHEN 'Sovranazionale' THEN 115 + WHEN 'Corporate' THEN 210 + ELSE 236 + END AS Blue + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' +GROUP BY ANAG.TIPO_EMITTENTE +ORDER BY TIPOEMITTENTE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S144DistibuzionePerScadenze.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S144DistibuzionePerScadenze.sql new file mode 100644 index 00000000..4489f0d2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S144DistibuzionePerScadenze.sql @@ -0,0 +1,99 @@ +-- [C6martPeriodico].PL_MP_S144DistibuzionePerScadenze 'f','00164770307' +CREATE procedure [C6MartPeriodico].[PL_MP_S144DistibuzionePerScadenze] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; +DECLARE @DTTRIM datetime +SET @DTTRIM = c6martperiodico.gettrimestre2(getdate(),0) +SELECT + T.SCADENZA, + T.CONTROVALORE , + ISNULL(sum(CONTROVALORE) / ((SELECT sum(BF.ctv) + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' + AND ANAG.DT_SCADENZA >= @DTTRIM)/100),0) + AS Percentage, + CASE T.SCADENZA + WHEN 'Meno di 1 anno' THEN 128 + WHEN 'Da 1 a 3 anni' THEN 161 + WHEN 'Da 3 a 7 anni' THEN 193 + WHEN 'Più di 7 anni' THEN 224 + ELSE 255 + END AS Red, + CASE T.SCADENZA + WHEN 'Meno di 1 anno' THEN 153 + WHEN 'Da 1 a 3 anni' THEN 177 + WHEN 'Da 3 a 7 anni' THEN 202 + WHEN 'Più di 7 anni' THEN 228 + ELSE 255 + END AS Green, + CASE T.SCADENZA + WHEN 'Meno di 1 anno' THEN 136 + WHEN 'Da 1 a 3 anni' THEN 163 + WHEN 'Da 3 a 7 anni' THEN 193 + WHEN 'Più di 7 anni' THEN 223 + ELSE 255 + END AS Blue +FROM ( + SELECT + 'Meno di 1 anno' as SCADENZA, + ISNULL(sum(BF.ctv),0) as CONTROVALORE, + 1 AS ORDINE + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND DATEDIFF(d, GETDATE(),ANAG.DT_SCADENZA) <= 365 + AND ANAG.FLG_OB='S' + AND ANAG.DT_SCADENZA >= @DTTRIM + UNION + SELECT + 'Da 1 a 3 anni' as SCADENZA, + ISNULL(sum(BF.ctv),0) as CONTROVALORE, + 2 AS ORDINE + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND DATEDIFF(d, GETDATE(),ANAG.DT_SCADENZA) BETWEEN 365+1 and 365*3 + AND ANAG.FLG_OB='S' + AND ANAG.DT_SCADENZA >= @DTTRIM + UNION + SELECT + 'Da 3 a 7 anni' as SCADENZA, + ISNULL(sum(BF.ctv),0) as CONTROVALORE, + 3 AS ORDINE + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND DATEDIFF(d, GETDATE(),ANAG.DT_SCADENZA) BETWEEN 365*3+1 and 365*7 + AND ANAG.FLG_OB='S' + AND ANAG.DT_SCADENZA >= @DTTRIM + UNION + SELECT + 'Più di 7 anni' as SCADENZA, + ISNULL(sum(BF.ctv),0) as CONTROVALORE, + 4 AS ORDINE + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND DATEDIFF(d, GETDATE(),ANAG.DT_SCADENZA) >= 365*7+1 + AND ANAG.FLG_OB='S' + AND ANAG.DT_SCADENZA >= @DTTRIM +) T +WHERE T.CONTROVALORE > 0 +GROUP BY T.SCADENZA,T.CONTROVALORE,T.ORDINE +ORDER BY T.ORDINE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S145DistibuzionePerTassoRendimento.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S145DistibuzionePerTassoRendimento.sql new file mode 100644 index 00000000..1fec5b72 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S145DistibuzionePerTassoRendimento.sql @@ -0,0 +1,64 @@ +-- [C6martPeriodico].PL_MP_S145DistibuzionePerTassoRendimento 'f','00164770307' +CREATE procedure [C6MartPeriodico].[PL_MP_S145DistibuzionePerTassoRendimento] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @sumCTV Decimal(15,3) = + (SELECT isnull(sum(BF.ctv), 0.0) + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + and not ANAG.TIPO_TASSO is null + AND ANAG.FLG_OB='S' ) +SELECT + ISNULL(ANAG.TIPO_TASSO,'') as TIPOTASSO, + ISNULL(sum(BF.ctv),0) as CONTROVALORE, + CASE + when ANAG.TIPO_TASSO is null then 0 + else + -- FerAcu 20240803 errore divisione per zero + --ISNULL(sum(BF.ctv) / ((SELECT sum(BF.ctv) + -- FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + -- INNER JOIN c6MartPeriodico.patrimonio_BF BF + -- ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + -- AND BF.rete = @Rete + -- AND BF.cod_fiscale = @CodiceFiscale + -- and not ANAG.TIPO_TASSO is null + -- AND ANAG.FLG_OB='S')/100) ,0) + -- visto che il default in caso di NULL è 0, usiamo 0 anche per i casi x/0 + CASE WHEN @sumCTV = 0.0 Then 0.000 + ELSE isNull(sum(BF.ctv), 0.000) / (@sumCTV / 100) + END + END + AS Percentage, + CASE ANAG.TIPO_TASSO + WHEN 'Fisso' THEN 153 + WHEN 'Variabile' THEN 207 + WHEN 'Zero Coupon' THEN 193 + ELSE 235 + END AS Red, + CASE ANAG.TIPO_TASSO + WHEN 'Fisso' THEN 185 + WHEN 'Variabile' THEN 220 + WHEN 'Zero Coupon' THEN 174 + ELSE 235 + END AS Green, + CASE ANAG.TIPO_TASSO + WHEN 'Fisso' THEN 166 + WHEN 'Variabile' THEN 210 + WHEN 'Zero Coupon' THEN 149 + ELSE 236 + END AS Blue +FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' +GROUP BY ANAG.TIPO_TASSO +ORDER BY TIPOTASSO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S145DistibuzionePerTassoRendimento_20240803.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S145DistibuzionePerTassoRendimento_20240803.sql new file mode 100644 index 00000000..bb4abafc --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S145DistibuzionePerTassoRendimento_20240803.sql @@ -0,0 +1,50 @@ +-- [C6martPeriodico].PL_MP_S145DistibuzionePerTassoRendimento 'f','00164770307' +Create procedure [C6MartPeriodico].[PL_MP_S145DistibuzionePerTassoRendimento_20240803] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; +SELECT + ISNULL(ANAG.TIPO_TASSO,'') as TIPOTASSO, + ISNULL(sum(BF.ctv),0) as CONTROVALORE, + CASE + when ANAG.TIPO_TASSO is null then 0 + else + ISNULL(sum(BF.ctv) / ((SELECT sum(BF.ctv) + FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + and not ANAG.TIPO_TASSO is null + AND ANAG.FLG_OB='S')/100) ,0) + END + AS Percentage, + CASE ANAG.TIPO_TASSO + WHEN 'Fisso' THEN 153 + WHEN 'Variabile' THEN 207 + WHEN 'Zero Coupon' THEN 193 + ELSE 235 + END AS Red, + CASE ANAG.TIPO_TASSO + WHEN 'Fisso' THEN 185 + WHEN 'Variabile' THEN 220 + WHEN 'Zero Coupon' THEN 174 + ELSE 235 + END AS Green, + CASE ANAG.TIPO_TASSO + WHEN 'Fisso' THEN 166 + WHEN 'Variabile' THEN 210 + WHEN 'Zero Coupon' THEN 149 + ELSE 236 + END AS Blue +FROM c6MartPeriodico.ANAG_PRODOTTI ANAG + INNER JOIN c6MartPeriodico.patrimonio_BF BF + ON ANAG.COD_PRODOTTO = BF.COD_PRODOTTO + AND BF.rete = @Rete + AND BF.cod_fiscale = @CodiceFiscale + AND ANAG.FLG_OB='S' +GROUP BY ANAG.TIPO_TASSO +ORDER BY TIPOTASSO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S146RischioDiversificazione.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S146RischioDiversificazione.sql new file mode 100644 index 00000000..2f556c69 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S146RischioDiversificazione.sql @@ -0,0 +1,69 @@ +--[C6martPeriodico].[PL_MP_S146RischioDiversificazione] 'S','CPPBRN41H45C773S' +CREATE procedure [C6MartPeriodico].[PL_MP_S146RischioDiversificazione] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete +SELECT +K.COD_FISCALE, +K.RETE, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY 11 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S147SintesiValute.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S147SintesiValute.sql new file mode 100644 index 00000000..a21c269e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S147SintesiValute.sql @@ -0,0 +1,45 @@ +--[C6martPeriodico].[PL_MP_S147SintesiValute] 'F','DCSCRJ80H24Z602C' +CREATE procedure [C6MartPeriodico].[PL_MP_S147SintesiValute] +@Rete char(1), +@CodiceFiscale varchar(16) +as +begin +declare @ctvNoCoperto as decimal(18,3) +declare @ctvCoperto as decimal(18,3) +declare @copertura as decimal(18,3) +SELECT @ctvNoCoperto = isnull(sum(ctv),0) + FROM c6martperiodico.ANAG_PRODOTTI_VALUTE a + RIGHT JOIN c6martperiodico.patrimonio_bf c + ON a.cod_prodotto = c.cod_prodotto + WHERE + cod_fiscale = @CodiceFiscale + and rete = @Rete + and a.cod_prodotto is null + and id_area <> 'Cc' +select @copertura = (patrimonioSenzaCC - @ctvNoCoperto)/patrimonioSenzaCC , + @ctvCoperto = patrimonioSenzaCC - @ctvNoCoperto +from c6martperiodico.vPatrimonioBfAggregato +where + cod_fiscale = @CodiceFiscale + and rete = @Rete +--select @copertura +--FC 16/04/20104 +--Inserito controllo per evitare problemi di divid by zero nella select successiva +IF @ctvCoperto < 1 +begin + set @ctvCoperto =1 +End +SELECT + sum(peso*ctv) / @ctvCoperto as percentuale, + abs(sum(peso*ctv)) as valoreAssoluto, + a.DIVISA, + @copertura as copertura +FROM c6martperiodico.ANAG_PRODOTTI_VALUTE a +join c6martperiodico.patrimonio_bf c +ON a.cod_prodotto = c.cod_prodotto +where + cod_fiscale = @CodiceFiscale + and rete = @Rete +group by a.DIVISA +order by valoreAssoluto desc +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass.sql new file mode 100644 index 00000000..b0577720 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass.sql @@ -0,0 +1,18 @@ +CREATE procedure [C6MartPeriodico].[PL_MP_S148DistribuzioneAssetClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [Banca] + ,[ORDINAMENTO] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S148DistribuzioneAssetClass] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass_BkUpParall.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass_BkUpParall.sql new file mode 100644 index 00000000..c259f57a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S148DistribuzioneAssetClass_BkUpParall.sql @@ -0,0 +1,181 @@ +--[C6martPeriodico].[PL_MP_S148DistribuzioneAssetClass] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[PL_MP_S148DistribuzioneAssetClass_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Banca Fideuram' + END AS Banca, + ORDINAMENTO, + AssetClassId, + AssetClassName, + SUM(Controvalore) As Controvalore, + --SUM(CONTROVALORE) / Totale As Percentuale, + SUM(CONTROVALORE) / Totale * 100 As Percentuale, + Totale +FROM +( +SELECT + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, + --ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'Totale') * 100, 2) AS Percentuale, + cast(ROUND(SUM(Controvalore) OVER (PARTITION BY 'Totale'),2) as decimal(19,5)) AS Totale + FROM ( + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE +--inizio interventi OMNIA +-- PATR_BF.ID_AREA NOT IN ('Cc','Pre1','Pre2','Pre') + PATR_BF.ID_AREA NOT IN ('SELF','Cc','Pre1','Pre2','Pre') +--fine interventi OMNIA + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + AND PATR_BF.COD_FISCALE= @CodiceFiscale + AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + AND PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + WHERE + ASUL.RETE =@Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + AND ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA NOT IN ('Pre1','Pre2','Pre') + ) val + where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS + UNION ALL + /* nuovo */ + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE + PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + AND PATR_BF.COD_FISCALE=@CodiceFiscale + AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + AND PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + WHERE + ASUL.RETE =@Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + AND ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA IN ('Pre1','Pre2','Pre') + ) val + where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS + ) + VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS AS ASSETCLASS + ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + WHERE + VALORIASSET.RETE =@Rete + AND VALORIASSET.COD_FISCALE = @CodiceFiscale +) a +Group By ORDINAMENTO, AssetClassId, AssetClassName, Totale + ORDER BY ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S149DettaglioProdottiAffluent.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S149DettaglioProdottiAffluent.sql new file mode 100644 index 00000000..2f8668b5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S149DettaglioProdottiAffluent.sql @@ -0,0 +1,12 @@ +-- [C6MartPeriodico].[PL_MP_S149DettaglioProdottiAffluent] 'F', 'FF@7181' +CREATE procedure [C6MartPeriodico].[PL_MP_S149DettaglioProdottiAffluent] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT ISNULL(SUM(ctv),0) +FROM C6MartPeriodico.PATRIMONIO_BF + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S173.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S173.sql new file mode 100644 index 00000000..0a3abc3f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S173.sql @@ -0,0 +1,9 @@ +--[C6MartPeriodico].[PL_MP_S137Bonus] 'F','QRCRLR38P10G999N' +CREATE procedure [C6MartPeriodico].[PL_MP_S173] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT 1 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S173CapitaleProtetto.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S173CapitaleProtetto.sql new file mode 100644 index 00000000..6d7ca20e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S173CapitaleProtetto.sql @@ -0,0 +1,60 @@ +-- ============================================= +-- Author: +-- Create date: <19/11/2014, Pomezia> +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S173CapitaleProtetto] 'F','VCCLNI27H65L483J' +CREATE procedure [C6MartPeriodico].[PL_MP_S173CapitaleProtetto] + ---- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + --SELECT top 1 + -- 'Interfund Capital Protection' AS DES_PROD, + -- '001234.RS.S678' AS COD_CONF, + -- '120,1040' AS QUOTA, + -- '100,1234' AS NUMEROQUOTE, + -- '12.025,22' AS CONTROVALORE, + -- '31/03/2014' AS DATARIF, + -- 'Quota massima' AS DES_MAX, + -- '125,4573' AS QUOTA_MAX, + -- '80' AS QUOTA_MAX_PERC, + -- '31/03/2013' AS DATARIF_MAX, + -- 'Quota e controvalore protetti*' AS DES_PROT, + -- '100,3658' AS QUOTA_PROT, + -- '100,1234' AS NUMEROQUOTE_PROT, + -- '10.048,97' AS CONTROVALORE_PROT + SELECT + DES_PROD + ,COD_CONF + ,QUOTA + ,NUMEROQUOTE + ,CONTROVALORE + ,DATARIF + ,DES_MAX + ,QUOTA_MAX + ,QUOTA_MAX_PERC + ,DATARIF_MAX + ,DES_PROT + ,QUOTA_PROT + ,NUMEROQUOTE_PROT + ,CONTROVALORE_PROT + ,case + when p.cod_interno = 'XY' and p.cod_sottoprodotto = 'L191' then 'GP Eligo Fondi' + when p.cod_interno = 'RS' then 'Fideuram Vita Insieme' + when p.cod_interno = 'RM' then 'Fideuram Vita Insieme Facile' + when p.cod_interno = 'RB' then 'Fideuram Vita Insieme Premium' + when p.cod_interno = 'RV' then 'Fideuram Vita Insieme Private' + else 'Interfund Crescita Protetta 80' + end as DES_PROD_TIT -- Aggiunta per E-FOI80 + FROM C6MartPeriodico.CAPPROT cap + inner join + c6martperiodico.patrimonio_bf p + on cap.rete = p.rete and cap.codfis = p.cod_fiscale and cap.cod_conf = p.id_contratto + WHERE 1=1 + AND cap.RETE = @Rete + AND cap.CODFIS = @CodiceFiscale + and p.isin = 'LU1106988527' + order by controvalore desc +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S173FOI80.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S173FOI80.sql new file mode 100644 index 00000000..412fb8be --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S173FOI80.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_MP_S173FOI80] 'F','VCCLNI27H65L483J' +CREATE procedure [C6MartPeriodico].[PL_MP_S173FOI80] + ---- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + --SELECT top 1 + -- 'Interfund Capital Protection' AS DES_PROD, + -- '001234.RS.S678' AS COD_CONF, + -- '120,1040' AS QUOTA, + -- '100,1234' AS NUMEROQUOTE, + -- '12.025,22' AS CONTROVALORE, + -- '31/03/2014' AS DATARIF, + -- 'Quota massima' AS DES_MAX, + -- '125,4573' AS QUOTA_MAX, + -- '80' AS QUOTA_MAX_PERC, + -- '31/03/2013' AS DATARIF_MAX, + -- 'Quota e controvalore protetti*' AS DES_PROT, + -- '100,3658' AS QUOTA_PROT, + -- '100,1234' AS NUMEROQUOTE_PROT, + -- '10.048,97' AS CONTROVALORE_PROT + SELECT + DTTRIM, + DTRIFE, + RETE, + CODFIS, + DESPROD, + CODMAN, + CODCONF, + CODPROD, + SUBPROD, + ISIN, + CTV, + PREZZO, + QUOTE, + PREZZOMAX, + DTPREZZOMAX, + DESMAX, + PREZZOPROT, + CTRVIMPPROT, + DESPROT, + DESPRODTIT, + QUOTA_MAX_PERC + FROM C6MartPeriodico.FOI80 + WHERE 1=1 + AND RETE = @Rete + AND CODFIS = @CodiceFiscale + order by ctv desc +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S174Bonus.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S174Bonus.sql new file mode 100644 index 00000000..b914581a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S174Bonus.sql @@ -0,0 +1,34 @@ +--[C6MartPeriodico].[PL_MP_S174Bonus] 'F','80002590711' +CREATE procedure [C6MartPeriodico].[PL_MP_S174Bonus] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT [RETE], + bonus.[COD_FISCALE], + [DES_PROD] = CASE + WHEN desrc.descrizione is null THEN '' + ELSE desrc.descrizione + END, + bonus.[COD_CONF], + bonus.[CTV], + bonus.[DT_TRIM], + 'Bonus Maturato' as [DESBONUS_M], + bonus.[BONUS_M], + bonus.[DTDEC_M], + 'Bonus a scadenza 5 anni' as [DESBONUS_5], + bonus.[BONUS_5], + bonus.[DTDEC_5], + 'Bonus a scadenza 10 anni' as [DESBONUS_10], + bonus.[BONUS_10], + bonus.[DTDEC_10], + bonus.[COD_PROD] + FROM [C6MartPeriodico].[BONUS] bonus + Left Join c6martperiodico.descrizione_bonus desrc + on desrc.cod_prod = bonus.cod_prod + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + order by bonus.[CTV] desc +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S175BlueProtection.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S175BlueProtection.sql new file mode 100644 index 00000000..b4e14c5e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S175BlueProtection.sql @@ -0,0 +1,21 @@ +-- [C6MartPeriodico].[PL_MP_S175BlueProtection] 'F','BBNLSN51E27D612T' +CREATE procedure [C6MartPeriodico].[PL_MP_S175BlueProtection] + ---- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + Controvalore_Riferimento as ControvaloreRiferimento, + Componente_Performance as ComponentePerformance, + Componente_Protezione as ComponenteProtezione, + Controvalore_Prot as ControvaloreProtetto, + DataRif as DataRiferimento, + Des_Prod_Tit as DescrizioneProdotto, + Cod_Conf as Contratto + from [C6MartPeriodico].[CAPPROT_FVI] + where 1 = 1 + and RETE = @Rete + and CODFIS = @CodiceFiscale + and SubProd = 'CS80' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S175LineaProtettaMultiramo.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S175LineaProtettaMultiramo.sql new file mode 100644 index 00000000..37ea01f7 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S175LineaProtettaMultiramo.sql @@ -0,0 +1,20 @@ +-- [C6MartPeriodico].[PL_MP_S175LineaProtettaMultiramo] 'F','QRCRLR38P10G999N' +CREATE procedure [C6MartPeriodico].[PL_MP_S175LineaProtettaMultiramo] + ---- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + Controvalore_Riferimento as ControvaloreRiferimento, + Componente_Performance as ComponentePerformance, + Componente_Protezione as ComponenteProtezione, + Controvalore_Prot as ControvaloreProtetto, + DataRif as DataRiferimento, + Des_Prod as DescrizioneProdotto, + Cod_Conf as Contratto + from [C6MartPeriodico].[CAPPROT_FVI] + where rete = @Rete + and codfis = @CodiceFiscale + and codprod = 'RF' and subprod = 'MP' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S175WhiteProtection.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S175WhiteProtection.sql new file mode 100644 index 00000000..0af4c850 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S175WhiteProtection.sql @@ -0,0 +1,21 @@ +-- [C6MartPeriodico].[PL_MP_S175WhiteProtection] 'F','QRCRLR38P10G999N' +CREATE procedure [C6MartPeriodico].[PL_MP_S175WhiteProtection] + ---- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + Controvalore_Riferimento as ControvaloreRiferimento, + Componente_Performance as ComponentePerformance, + Componente_Protezione as ComponenteProtezione, + Controvalore_Prot as ControvaloreProtetto, + DataRif as DataRiferimento, + Des_Prod_Tit as DescrizioneProdotto, + Cod_Conf as Contratto + from [C6MartPeriodico].[CAPPROT_FVI] + where 1 = 1 + and RETE = @Rete + and CODFIS = @CodiceFiscale + and SubProd = 'CT80' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S176EvoluzioneLineaProtettaMultiramo.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S176EvoluzioneLineaProtettaMultiramo.sql new file mode 100644 index 00000000..ee0f3e7d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S176EvoluzioneLineaProtettaMultiramo.sql @@ -0,0 +1,27 @@ +-- [C6MartPeriodico].[PL_MP_S176EvoluzioneLineaProtettaMultiramo] 'f','BTTMRS67A69F839N' +CREATE procedure [C6MartPeriodico].[PL_MP_S176EvoluzioneLineaProtettaMultiramo] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + 'FV Polizza Multiramo con protezione' as DescrizioneProdotto, + COD_CONF as Contratto, + --DTSOTTOS AS DataSottoscrizione, + --DTRIFE AS DATARIFERIMENTO, + --DTTRIM AS DATATRIM, + convert(datetime, convert(varchar(8), DTRIFE)) AS DATASOTTOSCRIZIONE, + convert(datetime, convert(varchar(8),DTRIFE)) AS DATARIFERIMENTO, + convert(datetime, convert(varchar(8),DTTRIM)) AS DATATRIM, + CTV as CONTROVALORE, + CTVPROT as CONTROVALOREPROTETTO, + CTVMON as CONTROVALOREMONITORATO + FROM [C6MartPeriodico].[STORICO_CAPPROT_FVI] + WHERE RETE = @Rete + AND CODFIS = @CodiceFiscale + order by dtrife +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_MP_S44OperazioniUltimoTrimestre.sql b/sql/storedTestbes/C6MartPeriodico_PL_MP_S44OperazioniUltimoTrimestre.sql new file mode 100644 index 00000000..fb596358 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_MP_S44OperazioniUltimoTrimestre.sql @@ -0,0 +1,23 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[PL_MP_S44OperazioniUltimoTrimestre] +@rete as varchar(1), +@codiceFiscale as varchar(16) +AS +BEGIN + SET NOCOUNT ON; + SELECT CodiceFiscale, + Rete, + DataOperazione, + Contratto, + NumeroContratto as CodiceContratto, + Operazione as Descrizione, + ImportoOperazione as Importo, + FirmaDigitale as Firma + FROM [C6StampeCentralizzate].[C6STAGINGPERIODICO].AM_OperazioniUltimoTrimestre + WHERE CodiceFiscale = @codiceFiscale and + Rete = @rete ; +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_Prodotti_Non_Associati_Area_Inv.sql b/sql/storedTestbes/C6MartPeriodico_PL_Prodotti_Non_Associati_Area_Inv.sql new file mode 100644 index 00000000..7423f67e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_Prodotti_Non_Associati_Area_Inv.sql @@ -0,0 +1,50 @@ +-- ============================================= +-- AUTHOR: ALESSANDRO TRINGALI +-- CREATE DATE: 24 SETTEMBRE 2009 +-- DESCRIPTION: +-- ============================================= +-- [C6MartPeriodico].[PL_Prodotti_Non_Associati_Area_Inv] 'F', 'RLPRCL54P61Z116S' +CREATE procedure [C6MartPeriodico].[PL_Prodotti_Non_Associati_Area_Inv] + -- ADD THE PARAMETERS FOR THE STORED PROCEDURE HERE + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') AS NOME_PROGETTO, +ID_AREA as NEED_AREA, +SUM(CTV) AS CONTROVALOREATTUALE, +MAX(ISNULL(RISK.VAR_PERC_PTF,0)) AS var_needarea, +--PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString +FROM +C6MARTPERIODICO.PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +C6MARTPERIODICO.RISCHIO_AGGREGATO RISK +ON PATRBF.RETE = RISK.RETE + AND PATRBF.COD_FISCALE = RISK.COD_FISCALE + AND RISK.COD_AGGREG = 'PIRAMIDE|Inv|'+ ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.id_AREA = 'Inv' + AND PATRBF.NOME_PROGETTO='Prodotti non associati a progetti' +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti'), +ID_AREA, +CHIAVE_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S102DistribuzioneRischioCredito.sql b/sql/storedTestbes/C6MartPeriodico_PL_S102DistribuzioneRischioCredito.sql new file mode 100644 index 00000000..175b4c56 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S102DistribuzioneRischioCredito.sql @@ -0,0 +1,621 @@ +-- Stored procedure +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S102DistribuzioneRischioCredito] 'F','94009110068' +CREATE procedure [C6MartPeriodico].[PL_S102DistribuzioneRischioCredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest', 'IW Private Investments') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' WHEN PATRBF.RETE = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' WHEN PATRBF.RETE = 'S' THEN 'SANPAOLO' ELSE 'IWPRIVATEINVESTMENTS' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6Martperiodico].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_S102DistribuzioneRischioCredito] Script Date: 10/02/2022 16:39:24 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Authors: +---- Create date: +---- Description: +---- ============================================= +---- [C6MartPeriodico].[PL_S102DistribuzioneRischioCredito] 'F','94009110068' +--ALTER procedure [C6MartPeriodico].[PL_S102DistribuzioneRischioCredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +----QUERY PER INTERMEDIARIO +--SELECT +--RETE, +--COD_FISCALE, +--INTERMEDIARIO, +--CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 +-- ELSE 2 END AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +-- -- Start 1.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +----SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +--FROM +--[C6Martperiodico].PATRIMONIO_BF PATRBF +-----Per calcolare la somma algebrica dei cc +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MARTPERIODICO].pATRIMONIO_BF +--where id_Area='Cc' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +----fine calcolo somma cc +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +----INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +--LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END, +--CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +----- End 1.1 +--UNION ALL +---- Start 1.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--PATRTERZI.INTERMEDIARIO, +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6Martperiodico].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--PATRTERZI.INTERMEDIARIO, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 1.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE, +--INTERMEDIARIO +---------- +--UNION ALL +------------- +----QUERY TOTALE +--SELECT +--RETE, +--COD_FISCALE, +--'Complessivo' AS INTERMEDIARIO, +--3 AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +----- Start 2.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +----SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +--FROM +--[C6Martperiodico].PATRIMONIO_BF PATRBF +----per fare la somma algebrica dei cc +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MARTPERIODICO].pATRIMONIO_BF +--where id_Area='Cc' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +----fine somma cc +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 2.1 +--UNION ALL +---- Start 2.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +--left outer join +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6Martperiodico].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +----- End 2.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S102DistribuzioneRischioCredito_OLD.sql b/sql/storedTestbes/C6MartPeriodico_PL_S102DistribuzioneRischioCredito_OLD.sql new file mode 100644 index 00000000..1436acf3 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S102DistribuzioneRischioCredito_OLD.sql @@ -0,0 +1,279 @@ +-- Stored procedure +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S102DistribuzioneRischioCredito] 'F','94009110068' +CREATE procedure [C6MartPeriodico].[PL_S102DistribuzioneRischioCredito_OLD] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Banca Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe 1' THEN CTV ELSE 0 END) AS CTV_Class1, +SUM(CASE WHEN RISKCLASS = 'Classe 2' THEN CTV ELSE 0 END) AS CTV_Class2, +SUM(CASE WHEN RISKCLASS = 'Classe 3' THEN CTV ELSE 0 END) AS CTV_Class3, +SUM(CASE WHEN RISKCLASS = 'Oltre Classe 3' THEN CTV ELSE 0 END) AS CTV_overClass3, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe 1' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class1, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe 2' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class2, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe 3' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class3, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Oltre Classe 3' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS perc_overClass3, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(ctv))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA = 0 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine calcolo somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|'+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA = 0 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA = 0 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA = 0 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe 1' THEN CTV ELSE 0 END) AS CTV_Class1, +SUM(CASE WHEN RISKCLASS = 'Classe 2' THEN CTV ELSE 0 END) AS CTV_Class2, +SUM(CASE WHEN RISKCLASS = 'Classe 3' THEN CTV ELSE 0 END) AS CTV_Class3, +SUM(CASE WHEN RISKCLASS = 'Oltre Classe 3' THEN CTV ELSE 0 END) AS CTV_overClass3, +SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe 1' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class1, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe 2' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class2, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe 3' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class3, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Oltre Classe 3' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS perc_overClass3, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(ctv))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA =0 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_BF PATRBF +--per fare la somma algebrica dei cc +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MARTPERIODICO].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +--fine somma cc +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|'++ isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA = 0 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA =0 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6Martperiodico].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +[C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA =0 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S103TabellaEmittenti.sql b/sql/storedTestbes/C6MartPeriodico_PL_S103TabellaEmittenti.sql new file mode 100644 index 00000000..7a8b8a53 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S103TabellaEmittenti.sql @@ -0,0 +1,220 @@ +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6MartPeriodico].[PL_S103TabellaEmittenti] 'S','RTRRLF23S12Z105V' +CREATE procedure [C6MartPeriodico].[PL_S103TabellaEmittenti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT +COD_FISCALE, +RETE, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +INTERMEDIARIO, +ISSUER, +STOCKSCounterValue, +bondsCounterValue, +CONCENTRATION_ISSUER, +CONCENTRATION, +NC +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +FROM +( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS +) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10 +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S103TabellaEmittenti_OLD.sql b/sql/storedTestbes/C6MartPeriodico_PL_S103TabellaEmittenti_OLD.sql new file mode 100644 index 00000000..0a018dfe --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S103TabellaEmittenti_OLD.sql @@ -0,0 +1,178 @@ +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6MartPeriodico].[PL_S103TabellaEmittenti] 'S','RTRRLF23S12Z105V' +CREATE procedure [C6MartPeriodico].[PL_S103TabellaEmittenti_OLD] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT +COD_FISCALE, +RETE, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4 , +INTERMEDIARIO, +ISSUER, +STOCKSCounterValue, +bondsCounterValue, +CONCENTRATION_ISSUER, +CONCENTRATION, +NC +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4 , + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +FROM +( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN CREDITRISKCLASS ='Classe 1' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Classe 2' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Classe 3' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Oltre Classe 3' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS +) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4 , + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN CREDITRISKCLASS ='Classe 1' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Classe 2' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Classe 3' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Oltre Classe 3' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4 +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S10PatrimonioFinanziario.sql b/sql/storedTestbes/C6MartPeriodico_PL_S10PatrimonioFinanziario.sql new file mode 100644 index 00000000..4e6ba2f4 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S10PatrimonioFinanziario.sql @@ -0,0 +1,18 @@ +CREATE procedure [C6MartPeriodico].[PL_S10PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [Banca] + ,[Ordinamento] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_S10PatrimonioFinanziario] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S10PatrimonioFinanziario_BkUpParall.sql b/sql/storedTestbes/C6MartPeriodico_PL_S10PatrimonioFinanziario_BkUpParall.sql new file mode 100644 index 00000000..f13bad0c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S10PatrimonioFinanziario_BkUpParall.sql @@ -0,0 +1,122 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S10PatrimonioFinanziario] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[PL_S10PatrimonioFinanziario_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(19,5)) AS Controvalore, + cast(A.Percentuale as decimal(19,5)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Banca Fideuram' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- inizio interventi OMNIA +-- and patrbf.id_area <> 'CC' + and patrbf.id_area not in ('CC', 'SELF') +-- inizio interventi OMNIA + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S170LimitiMassimi.sql b/sql/storedTestbes/C6MartPeriodico_PL_S170LimitiMassimi.sql new file mode 100644 index 00000000..99ba6d44 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S170LimitiMassimi.sql @@ -0,0 +1,50 @@ +-- [C6MartPeriodico].[PL_S170LimitiMassimi] 'f', 'PVRPGS53C25G388A' +CREATE procedure [C6MartPeriodico].[PL_S170LimitiMassimi] --'S','FGGMSM57H28G999D' + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @FLAGPROF varchar(16) +SET @FLAGPROF= (select distinct FLGPROF from C6MartPeriodico.WSEIAN2 where rete=@rete and CODFIS=@CodiceFiscale) +DECLARE @SCADUTO_PARZIALE varchar(16) +SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) +-- 2/7/2018 - CR NAPOLITANO CASI 11-14 -> Persona Giuridica Retail con Nuovo questionario di profilatura (Legali Rappresentanti/Delegati NON Profilati) +DECLARE @newLimiteProfilo varchar(20) +if ltrim(rtrim([C6MartPeriodico].[getIndicatoreValutazione] (@Rete,@CodiceFiscale,default))) = '-1' + set @newLimiteProfilo = 'n.d.' +else + select @newLimiteProfilo = + case experience + when 0 then 'Minima' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + --when 5 then 'Alta' + else '-' + end + from C6MartPERIODICO.MIFID + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +select 'Limite massimo profilo', + '-' as Controvalore, + case when @SCADUTO_PARZIALE='P' then '-' else isnull(risk.descr, 0) + end as rischioCreditoMassimo, + case when @SCADUTO_PARZIALE='P' then '-' else + cast(isnull(CR.MAX_VAR, 0) as varchar(20)) + end + as varMassimo, + '-' as Diversificazione, + case when @SCADUTO_PARZIALE='P' then '-' + when @FLAGPROF='S' then 'n.a.' --per i clienti Professionali + else @newLimiteProfilo end as Complessita +from C6MartPERIODICO.MIFID AS M +left JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR +ON M.PROFILO_ASS = CR.PROFILO +left join [C6StagingPeriodico].[RISKCLASS] risk +ON m.riskclass = risk.cod +WHERE +M.RETE = @Rete AND +M.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S170LimitiMassimi_20180612.sql b/sql/storedTestbes/C6MartPeriodico_PL_S170LimitiMassimi_20180612.sql new file mode 100644 index 00000000..d3b9b883 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S170LimitiMassimi_20180612.sql @@ -0,0 +1,29 @@ +-- [C6MartPeriodico].[PL_S170LimitiMassimi] 'F','DTARSR51M26F839O' +CREATE procedure [C6MartPeriodico].[PL_S170LimitiMassimi_20180612] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +select 'Limite massimo profilo', + '-' as Controvalore, + risk.descr as rischioCreditoMassimo, + CR.MAX_VAR as varMassimo, + '-' as Diversificazione, + case m.experience + when 0 then '-' + when 1 then 'Minima' + when 2 then 'Bassa' + when 3 then 'Media' + when 4 then 'Alta' + when 5 then 'Molto alta' + else '-' + end as Complessita +from C6MartPERIODICO.MIFID AS M +INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR +ON M.PROFILO_ASS = CR.PROFILO +inner join [C6StagingPeriodico].[RISKCLASS] risk +ON m.riskclass = risk.cod +WHERE +M.RETE = @Rete AND +M.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S170LimitiMassimi_20180702.sql b/sql/storedTestbes/C6MartPeriodico_PL_S170LimitiMassimi_20180702.sql new file mode 100644 index 00000000..ba9a6185 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S170LimitiMassimi_20180702.sql @@ -0,0 +1,29 @@ +-- [C6MartPeriodico].[PL_S170LimitiMassimi] 'F','DTARSR51M26F839O' +CREATE procedure [C6MartPeriodico].[PL_S170LimitiMassimi_20180702] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +select 'Limite massimo profilo', + '-' as Controvalore, + isnull(risk.descr, 0) as rischioCreditoMassimo, + isnull(CR.MAX_VAR, 0) as varMassimo, + '-' as Diversificazione, + case m.experience + when 0 then '-' + when 1 then 'Minima' + when 2 then 'Bassa' + when 3 then 'Media' + when 4 then 'Alta' + when 5 then 'Molto alta' + else '-' + end as Complessita +from C6MartPERIODICO.MIFID AS M +left JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR +ON M.PROFILO_ASS = CR.PROFILO +left join [C6StagingPeriodico].[RISKCLASS] risk +ON m.riskclass = risk.cod +WHERE +M.RETE = @Rete AND +M.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S170LimitiMassimi_BKP_20231115_PRE_RAFFORZAMENTO.sql b/sql/storedTestbes/C6MartPeriodico_PL_S170LimitiMassimi_BKP_20231115_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..e4402430 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S170LimitiMassimi_BKP_20231115_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,43 @@ +-- [C6MartPeriodico].[PL_S170LimitiMassimi] 'f', '00247580970' +CREATE procedure [C6MartPeriodico].[PL_S170LimitiMassimi_BKP_20231115_PRE_RAFFORZAMENTO] --'S','FGGMSM57H28G999D' + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @FLAGPROF varchar(16) +SET @FLAGPROF= (select distinct FLGPROF from C6MartPeriodico.WSEIAN2 where rete=@rete and CODFIS=@CodiceFiscale) +-- 2/7/2018 - CR NAPOLITANO CASI 11-14 -> Persona Giuridica Retail con Nuovo questionario di profilatura (Legali Rappresentanti/Delegati NON Profilati) +DECLARE @newLimiteProfilo varchar(20) +if ltrim(rtrim([C6MartPeriodico].[getIndicatoreValutazione] (@Rete,@CodiceFiscale,default))) = '-1' + set @newLimiteProfilo = 'n.d.' +else + select @newLimiteProfilo = + case experience + when 0 then 'Minima' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + --when 5 then 'Alta' + else '-' + end + from C6MartPERIODICO.MIFID + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +select 'Limite massimo profilo', + '-' as Controvalore, + isnull(risk.descr, 0) as rischioCreditoMassimo, + isnull(CR.MAX_VAR, 0) as varMassimo, + '-' as Diversificazione, + case when @FLAGPROF='S' then 'n.a.' --per i clienti Professionali + else @newLimiteProfilo end as Complessita +from C6MartPERIODICO.MIFID AS M +left JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR +ON M.PROFILO_ASS = CR.PROFILO +left join [C6StagingPeriodico].[RISKCLASS] risk +ON m.riskclass = risk.cod +WHERE +M.RETE = @Rete AND +M.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno.sql b/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno.sql new file mode 100644 index 00000000..ba480b96 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno.sql @@ -0,0 +1,167 @@ +--[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno] 'f', '01913040406' +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT -- PER DIVERSI DA CC ************************ + case + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --when (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (Isin = 'LU1106988527' ) then 'INTERFUND 80' -- INTERFUND 80 + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + when (tipo_prodotto = 'fi' and cod_sottoprodotto = 'f43' and cod_interno = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (cod_sottoprodotto = 'cs80') then 'My Blue Protection 80' + when (cod_sottoprodotto = 'ct80') then 'My White Protection 80' + when (cod_interno = 'rf') then 'Linea Multiramo' + else '' + end as nomeprod, + RETE AS RETE, + cod_fiscale AS COD_FISCALE, + POSITION_ID AS POSITIONID, + SUBSTRING(POSITION_ID,1,57) AS COD_PRODOTTO, + ID_CONTRATTO AS ID_CONTRATTO, + CASE WHEN ISDATE(data_sottoscrizione) = 0 THEN NULL + ELSE CAST(data_sottoscrizione AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + NUM_POLIZZA AS NUM_POLIZZA, + COD_MAF AS COD_MAF, + COD_INTERNO AS COD_INTERNO, + COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + TIPO_PRODOTTO AS TIPO_PRODOTTO, + id_area AS ID_AREA, + CTV AS ctv, + ISIN, + --CON.chiaveClientePB, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + --CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CHIAVE_PROGETTO, + --fix 17/7/2019 per problemi di arrotondamento + --convert(decimal(12,2),0) as controvalore_protetto + convert(decimal(12,4),0) as controvalore_protetto + --fine fix 17/7/2019 per problemi di arrotondamento + INTO #PATR_BF + from c6martperiodico.patrimonio_bf + WHERE + cod_fiscale = @CodiceFiscale + and rete = @rete + and + ( + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --(Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + (Isin = 'LU1106988527' ) -- INTERFUND 80/CAPPROT + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + or + (tipo_prodotto = 'fi' -- FONDITALIA 80/FOI80 + and cod_sottoprodotto = 'f43' + and cod_interno = '01') + or + cod_sottoprodotto in ('cs80', 'ct80') -- myblue, mywhite + or + (cod_interno = 'RF') -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + ) + --aggiunta 20240509 + and CTV>0.1 +--------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') +-------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf +----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where patrimonio.id_contratto = foi.codconf +----------------------------------------- aggiorno il capitale protetto della linea multiramo protetta + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf + where + p.cod_interno = 'RF' +------------------------------------------------------------------------raggruppo per area + -- modifica del 21/12/2017 + --select id_area,round(sum(controvalore_protetto),0) as totCapProt + -- 20180717 Modificata per codificare Pre1 o Pre2 in Pre + --select id_area,sum(controvalore_protetto) as totCapProt + select + case + when id_area = 'Pre1' or id_area = 'Pre2' then 'Pre' + else id_area + end as id_area, + sum(controvalore_protetto) as totCapProt + --fine modifica del 20180717 + -- fine modifica del 21/12/2017 + into #capitaleProtetto + from #PATR_BF + --- modifica del 20/12/2017 per segnalazione qc + --where REND_NON_RAPPR = 0 + --- fine modifica del 20/12/2017 per segnalazione qc + group by id_area +--------------------------------------------------------------- +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + ,case + when ISNULL(cap.totCapProt,0) = 0 then 0 + --fix 17/7/2019 per problemi di arrotondamento + --else cap.totCapProt + else convert(decimal(12,2),cap.totCapProt) + --fine fix 17/7/2019 per problemi di arrotondamento + end as [capprot] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] pir + left join #capitaleProtetto cap + on pir.needarea = cap.id_area + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171201_ori.sql b/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171201_ori.sql new file mode 100644 index 00000000..ba5445b2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171201_ori.sql @@ -0,0 +1,210 @@ +--[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno] 'f','BCCRRT43T09H449J' +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20171201_ori] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +-------------- recupero i totali dei prodotti a capitale protetto raggruppati per area di bisogno +SELECT -- PER DIVERSI DA CC ************************ + case + when (SPB.Isin = 'LU1106988527' and codprod in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (spb.tipprod = 'fi' and spb.subprod = 'f43' and spb.codint = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (spb.subprod = 'cs80') then 'My Blue Protection 80' + when (spb.subprod = 'ct80') then 'My White Protection 80' + else '' + end as nomeprod, + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE replace (LTRIM(RTRIM(CON.nomeProgetto)), ';', '') + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + SPB.CTV AS CAPPROT, + SPB.ISIN, + CON.chiaveClientePB, + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO + INTO #PATR_BF + FROM C6StagingPeriodico.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE + spb.CODFIS = @CodiceFiscale and + SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' + and + ((SPB.Isin = 'LU1106988527' and codprod in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + or + (spb.tipprod = 'fi' -- FONDITALIA 80/FOI80 + and spb.subprod = 'f43' + and spb.codint = '01') + or + spb.subprod in ('cs80', 'ct80') -- myblue, mywhite + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + CONS.CodIsin, + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD + AND TCP.SUBPROD=TSCA.SUBPROD + AND TCP.ISIN=TSCA.ISIN + AND TCP.dtrif=TSCA.dtrif + AND TCP.dtingresso=TSCA.dtingresso + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + C6StagingPeriodico.RP_CONSULENZA AS CONS + ON + TSCA.CODCONF = CONS.CODCONF + AND (TSCA.CODPROD = CONS.CodInterno + OR TSCA.CODABI = CONS.CodInterno) + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') + AND ISNULL(TSCA.ISIN, '') = ISNULL(CONS.CodIsin, '') + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE + TSCA.CODFIS =@CodiceFiscale + and TCP.dtuscita = '99991231' + UPDATE PATR_BF + SET PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN #PATR_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITIONID = REND_NON_RAPPR.POSITION_ID + --------- Individuati i prodotti, devo prendere il capitale protetto sulle tabelle relative + ---Interfund Crescita Protetta 80 (tipoprodotto ASU1) e presente sulla tabella [C6MartPeriodico].[CAPPROT] + ---Fonditalia Crescita protetta 80 --> FOI80 + UPDATE patrimonio + set patrimonio.capprot = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf + UPDATE patrimonio + set patrimonio.capprot = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where patrimonio.id_contratto = foi.codconf + ----------------------------------------raggruppo per area + select id_area,sum(capprot) as totCapProt + into #capitaleProtetto + from #PATR_BF + where REND_NON_RAPPR = 0 + group by id_area +----------------------------------------------------------------- +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + ,case + when ISNULL(cap.totCapProt,0) = 0 then 0 + else cap.totCapProt + end as [capprot] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] pir + left join #capitaleProtetto cap + on pir.needarea = cap.id_area + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171215.sql b/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171215.sql new file mode 100644 index 00000000..ab342993 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171215.sql @@ -0,0 +1,233 @@ +--[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno] 'f','BCCRRT43T09H449J' +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20171215] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +-------------- recupero i totali dei prodotti a capitale protetto raggruppati per area di bisogno +SELECT -- PER DIVERSI DA CC ************************ + case + when (SPB.Isin = 'LU1106988527' and codprod in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (spb.tipprod = 'fi' and spb.subprod = 'f43' and spb.codint = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (spb.subprod = 'cs80') then 'My Blue Protection 80' + when (spb.subprod = 'ct80') then 'My White Protection 80' + else '' + end as nomeprod, + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE replace (LTRIM(RTRIM(CON.nomeProgetto)), ';', '') + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + SPB.CTV AS ctv, + SPB.ISIN, + CON.chiaveClientePB, + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO, + convert(decimal(12,2),0) as controvalore_protetto + INTO #PATR_BF + FROM C6StagingPeriodico.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE + spb.CODFIS = @CodiceFiscale and + SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' + and + ((SPB.Isin = 'LU1106988527' and codprod in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + or + (spb.tipprod = 'fi' -- FONDITALIA 80/FOI80 + and spb.subprod = 'f43' + and spb.codint = '01') + or + spb.subprod in ('cs80', 'ct80') -- myblue, mywhite + or + (spb.codprod = 'RF' -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + and spb.subprod = 'MP') + ) + --------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') + -------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf + ----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where patrimonio.id_contratto = foi.codconf + ----------------------------------------- aggiorno il capitale protetto della linea multiramo protetta + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RF' and p.cod_sottoprodotto = 'MP' + -------------------------------------------------------------------------- + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + CONS.CodIsin, + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD + AND TCP.SUBPROD=TSCA.SUBPROD + AND TCP.ISIN=TSCA.ISIN + AND TCP.dtrif=TSCA.dtrif + AND TCP.dtingresso=TSCA.dtingresso + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + C6StagingPeriodico.RP_CONSULENZA AS CONS + ON + TSCA.CODCONF = CONS.CODCONF + AND (TSCA.CODPROD = CONS.CodInterno + OR TSCA.CODABI = CONS.CodInterno) + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') + AND ISNULL(TSCA.ISIN, '') = ISNULL(CONS.CodIsin, '') + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE + TSCA.CODFIS =@CodiceFiscale + and TCP.dtuscita = '99991231' + UPDATE PATR_BF + SET PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN #PATR_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITIONID = REND_NON_RAPPR.POSITION_ID + ----------------------------------------------------- + ----------------------------------------raggruppo per area + select id_area,round(sum(controvalore_protetto),0) as totCapProt + into #capitaleProtetto + from #PATR_BF + where REND_NON_RAPPR = 0 + group by id_area + --------------------------------------------------------- +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + ,case + when ISNULL(cap.totCapProt,0) = 0 then 0 + else cap.totCapProt + end as [capprot] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] pir + left join #capitaleProtetto cap + on pir.needarea = cap.id_area + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171220.sql b/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171220.sql new file mode 100644 index 00000000..a685c86f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171220.sql @@ -0,0 +1,140 @@ +--[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno] 'f','BCCRRT43T09H449J' +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20171220] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT -- PER DIVERSI DA CC ************************ + case + when (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (tipo_prodotto = 'fi' and cod_sottoprodotto = 'f43' and cod_interno = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (cod_sottoprodotto = 'cs80') then 'My Blue Protection 80' + when (cod_sottoprodotto = 'ct80') then 'My White Protection 80' + when (cod_interno = 'rf') then 'Linea Multiramo' + else '' + end as nomeprod, + RETE AS RETE, + cod_fiscale AS COD_FISCALE, + POSITION_ID AS POSITIONID, + SUBSTRING(POSITION_ID,1,57) AS COD_PRODOTTO, + ID_CONTRATTO AS ID_CONTRATTO, + CASE WHEN ISDATE(data_sottoscrizione) = 0 THEN NULL + ELSE CAST(CAST(data_sottoscrizione AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + NUM_POLIZZA AS NUM_POLIZZA, + COD_MAF AS COD_MAF, + COD_INTERNO AS COD_INTERNO, + COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + TIPO_PRODOTTO AS TIPO_PRODOTTO, + id_area AS ID_AREA, + CTV AS ctv, + ISIN, + --CON.chiaveClientePB, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + --CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CHIAVE_PROGETTO, + convert(decimal(12,2),0) as controvalore_protetto + INTO #PATR_BF + from c6martperiodico.patrimonio_bf + WHERE + cod_fiscale = @CodiceFiscale + and rete = @rete + and + ( + (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + or + (tipo_prodotto = 'fi' -- FONDITALIA 80/FOI80 + and cod_sottoprodotto = 'f43' + and cod_interno = '01') + or + cod_sottoprodotto in ('cs80', 'ct80') -- myblue, mywhite + or + (cod_interno = 'RF') -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + ) +--------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') +-------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf +----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where patrimonio.id_contratto = foi.codconf +----------------------------------------- aggiorno il capitale protetto della linea multiramo protetta + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf + where + p.cod_interno = 'RF' +------------------------------------------------------------------------raggruppo per area + select id_area,round(sum(controvalore_protetto),0) as totCapProt + into #capitaleProtetto + from #PATR_BF + where REND_NON_RAPPR = 0 + group by id_area +--------------------------------------------------------------- +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + ,case + when ISNULL(cap.totCapProt,0) = 0 then 0 + else cap.totCapProt + end as [capprot] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] pir + left join #capitaleProtetto cap + on pir.needarea = cap.id_area + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171221.sql b/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171221.sql new file mode 100644 index 00000000..3b31a05d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20171221.sql @@ -0,0 +1,142 @@ +--[C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno] 'f','BCCRRT43T09H449J' +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20171221] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT -- PER DIVERSI DA CC ************************ + case + when (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (tipo_prodotto = 'fi' and cod_sottoprodotto = 'f43' and cod_interno = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (cod_sottoprodotto = 'cs80') then 'My Blue Protection 80' + when (cod_sottoprodotto = 'ct80') then 'My White Protection 80' + when (cod_interno = 'rf') then 'Linea Multiramo' + else '' + end as nomeprod, + RETE AS RETE, + cod_fiscale AS COD_FISCALE, + POSITION_ID AS POSITIONID, + SUBSTRING(POSITION_ID,1,57) AS COD_PRODOTTO, + ID_CONTRATTO AS ID_CONTRATTO, + CASE WHEN ISDATE(data_sottoscrizione) = 0 THEN NULL + ELSE CAST(CAST(data_sottoscrizione AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + NUM_POLIZZA AS NUM_POLIZZA, + COD_MAF AS COD_MAF, + COD_INTERNO AS COD_INTERNO, + COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + TIPO_PRODOTTO AS TIPO_PRODOTTO, + id_area AS ID_AREA, + CTV AS ctv, + ISIN, + --CON.chiaveClientePB, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + --CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CHIAVE_PROGETTO, + convert(decimal(12,2),0) as controvalore_protetto + INTO #PATR_BF + from c6martperiodico.patrimonio_bf + WHERE + cod_fiscale = @CodiceFiscale + and rete = @rete + and + ( + (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + or + (tipo_prodotto = 'fi' -- FONDITALIA 80/FOI80 + and cod_sottoprodotto = 'f43' + and cod_interno = '01') + or + cod_sottoprodotto in ('cs80', 'ct80') -- myblue, mywhite + or + (cod_interno = 'RF') -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + ) +--------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') +-------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf +----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where patrimonio.id_contratto = foi.codconf +----------------------------------------- aggiorno il capitale protetto della linea multiramo protetta + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf + where + p.cod_interno = 'RF' +------------------------------------------------------------------------raggruppo per area + select id_area,round(sum(controvalore_protetto),0) as totCapProt + into #capitaleProtetto + from #PATR_BF + --- modifica del 20/12/2017 per segnalazione qc + --where REND_NON_RAPPR = 0 + --- fine modifica del 20/12/2017 per segnalazione qc + group by id_area +--------------------------------------------------------------- +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + ,case + when ISNULL(cap.totCapProt,0) = 0 then 0 + else cap.totCapProt + end as [capprot] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] pir + left join #capitaleProtetto cap + on pir.needarea = cap.id_area + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180119.sql b/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180119.sql new file mode 100644 index 00000000..a731026a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180119.sql @@ -0,0 +1,150 @@ +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20180119] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT -- PER DIVERSI DA CC ************************ + case + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --when (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (Isin = 'LU1106988527' ) then 'INTERFUND 80' -- INTERFUND 80 + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + when (tipo_prodotto = 'fi' and cod_sottoprodotto = 'f43' and cod_interno = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (cod_sottoprodotto = 'cs80') then 'My Blue Protection 80' + when (cod_sottoprodotto = 'ct80') then 'My White Protection 80' + when (cod_interno = 'rf') then 'Linea Multiramo' + else '' + end as nomeprod, + RETE AS RETE, + cod_fiscale AS COD_FISCALE, + POSITION_ID AS POSITIONID, + SUBSTRING(POSITION_ID,1,57) AS COD_PRODOTTO, + ID_CONTRATTO AS ID_CONTRATTO, + CASE WHEN ISDATE(data_sottoscrizione) = 0 THEN NULL + ELSE CAST(CAST(data_sottoscrizione AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + NUM_POLIZZA AS NUM_POLIZZA, + COD_MAF AS COD_MAF, + COD_INTERNO AS COD_INTERNO, + COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + TIPO_PRODOTTO AS TIPO_PRODOTTO, + id_area AS ID_AREA, + CTV AS ctv, + ISIN, + --CON.chiaveClientePB, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + --CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CHIAVE_PROGETTO, + convert(decimal(12,2),0) as controvalore_protetto + INTO #PATR_BF + from c6martperiodico.patrimonio_bf + WHERE + cod_fiscale = @CodiceFiscale + and rete = @rete + and + ( + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --(Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + (Isin = 'LU1106988527' ) -- INTERFUND 80/CAPPROT + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + or + (tipo_prodotto = 'fi' -- FONDITALIA 80/FOI80 + and cod_sottoprodotto = 'f43' + and cod_interno = '01') + or + cod_sottoprodotto in ('cs80', 'ct80') -- myblue, mywhite + or + (cod_interno = 'RF') -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + ) +--------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') +-------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf +----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where patrimonio.id_contratto = foi.codconf +----------------------------------------- aggiorno il capitale protetto della linea multiramo protetta + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf + where + p.cod_interno = 'RF' +------------------------------------------------------------------------raggruppo per area + -- modifica del 21/12/2017 + --select id_area,round(sum(controvalore_protetto),0) as totCapProt + select id_area,sum(controvalore_protetto) as totCapProt + -- fine modifica del 21/12/2017 + into #capitaleProtetto + from #PATR_BF + --- modifica del 20/12/2017 per segnalazione qc + --where REND_NON_RAPPR = 0 + --- fine modifica del 20/12/2017 per segnalazione qc + group by id_area +--------------------------------------------------------------- +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + ,case + when ISNULL(cap.totCapProt,0) = 0 then 0 + else cap.totCapProt + end as [capprot] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] pir + left join #capitaleProtetto cap + on pir.needarea = cap.id_area + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180717_PrePre1Pre2.sql b/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180717_PrePre1Pre2.sql new file mode 100644 index 00000000..fc4b1aac --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20180717_PrePre1Pre2.sql @@ -0,0 +1,150 @@ +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20180717_PrePre1Pre2] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT -- PER DIVERSI DA CC ************************ + case + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --when (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (Isin = 'LU1106988527' ) then 'INTERFUND 80' -- INTERFUND 80 + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + when (tipo_prodotto = 'fi' and cod_sottoprodotto = 'f43' and cod_interno = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (cod_sottoprodotto = 'cs80') then 'My Blue Protection 80' + when (cod_sottoprodotto = 'ct80') then 'My White Protection 80' + when (cod_interno = 'rf') then 'Linea Multiramo' + else '' + end as nomeprod, + RETE AS RETE, + cod_fiscale AS COD_FISCALE, + POSITION_ID AS POSITIONID, + SUBSTRING(POSITION_ID,1,57) AS COD_PRODOTTO, + ID_CONTRATTO AS ID_CONTRATTO, + CASE WHEN ISDATE(data_sottoscrizione) = 0 THEN NULL + ELSE CAST(data_sottoscrizione AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + NUM_POLIZZA AS NUM_POLIZZA, + COD_MAF AS COD_MAF, + COD_INTERNO AS COD_INTERNO, + COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + TIPO_PRODOTTO AS TIPO_PRODOTTO, + id_area AS ID_AREA, + CTV AS ctv, + ISIN, + --CON.chiaveClientePB, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + --CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CHIAVE_PROGETTO, + convert(decimal(12,2),0) as controvalore_protetto + INTO #PATR_BF + from c6martperiodico.patrimonio_bf + WHERE + cod_fiscale = @CodiceFiscale + and rete = @rete + and + ( + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --(Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + (Isin = 'LU1106988527' ) -- INTERFUND 80/CAPPROT + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + or + (tipo_prodotto = 'fi' -- FONDITALIA 80/FOI80 + and cod_sottoprodotto = 'f43' + and cod_interno = '01') + or + cod_sottoprodotto in ('cs80', 'ct80') -- myblue, mywhite + or + (cod_interno = 'RF') -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + ) +--------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') +-------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf +----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where patrimonio.id_contratto = foi.codconf +----------------------------------------- aggiorno il capitale protetto della linea multiramo protetta + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf + where + p.cod_interno = 'RF' +------------------------------------------------------------------------raggruppo per area + -- modifica del 21/12/2017 + --select id_area,round(sum(controvalore_protetto),0) as totCapProt + select id_area,sum(controvalore_protetto) as totCapProt + -- fine modifica del 21/12/2017 + into #capitaleProtetto + from #PATR_BF + --- modifica del 20/12/2017 per segnalazione qc + --where REND_NON_RAPPR = 0 + --- fine modifica del 20/12/2017 per segnalazione qc + group by id_area +--------------------------------------------------------------- +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + ,case + when ISNULL(cap.totCapProt,0) = 0 then 0 + else cap.totCapProt + end as [capprot] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] pir + left join #capitaleProtetto cap + on pir.needarea = cap.id_area + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20190717_preFixArrotondamento.sql b/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20190717_preFixArrotondamento.sql new file mode 100644 index 00000000..3e81caa1 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_20190717_preFixArrotondamento.sql @@ -0,0 +1,158 @@ +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_20190717_preFixArrotondamento] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT -- PER DIVERSI DA CC ************************ + case + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --when (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (Isin = 'LU1106988527' ) then 'INTERFUND 80' -- INTERFUND 80 + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + when (tipo_prodotto = 'fi' and cod_sottoprodotto = 'f43' and cod_interno = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (cod_sottoprodotto = 'cs80') then 'My Blue Protection 80' + when (cod_sottoprodotto = 'ct80') then 'My White Protection 80' + when (cod_interno = 'rf') then 'Linea Multiramo' + else '' + end as nomeprod, + RETE AS RETE, + cod_fiscale AS COD_FISCALE, + POSITION_ID AS POSITIONID, + SUBSTRING(POSITION_ID,1,57) AS COD_PRODOTTO, + ID_CONTRATTO AS ID_CONTRATTO, + CASE WHEN ISDATE(data_sottoscrizione) = 0 THEN NULL + ELSE CAST(data_sottoscrizione AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + NUM_POLIZZA AS NUM_POLIZZA, + COD_MAF AS COD_MAF, + COD_INTERNO AS COD_INTERNO, + COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + TIPO_PRODOTTO AS TIPO_PRODOTTO, + id_area AS ID_AREA, + CTV AS ctv, + ISIN, + --CON.chiaveClientePB, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + --CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CHIAVE_PROGETTO, + convert(decimal(12,2),0) as controvalore_protetto + INTO #PATR_BF + from c6martperiodico.patrimonio_bf + WHERE + cod_fiscale = @CodiceFiscale + and rete = @rete + and + ( + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --(Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + (Isin = 'LU1106988527' ) -- INTERFUND 80/CAPPROT + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + or + (tipo_prodotto = 'fi' -- FONDITALIA 80/FOI80 + and cod_sottoprodotto = 'f43' + and cod_interno = '01') + or + cod_sottoprodotto in ('cs80', 'ct80') -- myblue, mywhite + or + (cod_interno = 'RF') -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + ) +--------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') +-------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf +----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where patrimonio.id_contratto = foi.codconf +----------------------------------------- aggiorno il capitale protetto della linea multiramo protetta + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf + where + p.cod_interno = 'RF' +------------------------------------------------------------------------raggruppo per area + -- modifica del 21/12/2017 + --select id_area,round(sum(controvalore_protetto),0) as totCapProt + -- 20180717 Modificata per codificare Pre1 o Pre2 in Pre + --select id_area,sum(controvalore_protetto) as totCapProt + select + case + when id_area = 'Pre1' or id_area = 'Pre2' then 'Pre' + else id_area + end as id_area, + sum(controvalore_protetto) as totCapProt + --fine modifica del 20180717 + -- fine modifica del 21/12/2017 + into #capitaleProtetto + from #PATR_BF + --- modifica del 20/12/2017 per segnalazione qc + --where REND_NON_RAPPR = 0 + --- fine modifica del 20/12/2017 per segnalazione qc + group by id_area +--------------------------------------------------------------- +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + ,case + when ISNULL(cap.totCapProt,0) = 0 then 0 + else cap.totCapProt + end as [capprot] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] pir + left join #capitaleProtetto cap + on pir.needarea = cap.id_area + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_pktest.sql b/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_pktest.sql new file mode 100644 index 00000000..c12fd69c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleAreeBisogno_pktest.sql @@ -0,0 +1,150 @@ +create procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleAreeBisogno_pktest] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT -- PER DIVERSI DA CC ************************ + case + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --when (Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) then 'INTERFUND 80' -- INTERFUND 80 + when (Isin = 'LU1106988527' ) then 'INTERFUND 80' -- INTERFUND 80 + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + when (tipo_prodotto = 'fi' and cod_sottoprodotto = 'f43' and cod_interno = '01') then 'FONDITALIA 80' -- FONDITALIA 80 + when (cod_sottoprodotto = 'cs80') then 'My Blue Protection 80' + when (cod_sottoprodotto = 'ct80') then 'My White Protection 80' + when (cod_interno = 'rf') then 'Linea Multiramo' + else '' + end as nomeprod, + RETE AS RETE, + cod_fiscale AS COD_FISCALE, + POSITION_ID AS POSITIONID, + SUBSTRING(POSITION_ID,1,57) AS COD_PRODOTTO, + ID_CONTRATTO AS ID_CONTRATTO, + CASE WHEN ISDATE(data_sottoscrizione) = 0 THEN NULL + ELSE CAST(data_sottoscrizione AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + NUM_POLIZZA AS NUM_POLIZZA, + COD_MAF AS COD_MAF, + COD_INTERNO AS COD_INTERNO, + COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + TIPO_PRODOTTO AS TIPO_PRODOTTO, + id_area AS ID_AREA, + CTV AS ctv, + ISIN, + --CON.chiaveClientePB, + REND_NON_RAPPR, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + ORIZZ_TEMP_NUM, + --CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CHIAVE_PROGETTO, + convert(decimal(12,2),0) as controvalore_protetto + INTO #PATR_BF + from c6martperiodico.patrimonio_bf + WHERE + cod_fiscale = @CodiceFiscale + and rete = @rete + and + ( + -- modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + --(Isin = 'LU1106988527' and cod_interno in ('L191', 'RS', 'RM', 'RB', 'RV')) -- INTERFUND 80/CAPPROT + (Isin = 'LU1106988527' ) -- INTERFUND 80/CAPPROT + -- fine modifica per segnalazione qc del 21/12/2017 - cf S-VCCGRL39E57E356Q - M.Diacci + or + (tipo_prodotto = 'fi' -- FONDITALIA 80/FOI80 + and cod_sottoprodotto = 'f43' + and cod_interno = '01') + or + cod_sottoprodotto in ('cs80', 'ct80') -- myblue, mywhite + or + (cod_interno = 'RF') -- LINEA MULTIRAMO PROTETTA CODPROD=RF/SUBPROD=MP + ) +--------------------------------------- calcolo il capitale protetto per ogni prodotto della linea CS80/CT80 + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf and p.cod_sottoprodotto = fvi.subprod + where + p.cod_interno = 'RS' and p.cod_sottoprodotto in ('CS80','CT80') +-------------------------------------- aggiorno il capitale protetto dell'Interfund Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = capprot.controvalore_prot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.CAPPROT as capprot + on patrimonio.rete = capprot.rete and patrimonio.cod_fiscale=capprot.codfis + where patrimonio.id_contratto = capprot.cod_conf +----------------------------------------- aggiorno il capitale protetto del Fonditalia Crescita protetta 80 + UPDATE patrimonio + set patrimonio.controvalore_protetto = foi.ctrvimpprot + from #PATR_BF as patrimonio + inner join + C6MartPeriodico.FOI80 as foi + on patrimonio.rete = foi.rete and patrimonio.cod_fiscale=foi.codfis + where patrimonio.id_contratto = foi.codconf +----------------------------------------- aggiorno il capitale protetto della linea multiramo protetta + update p + set controvalore_protetto = (fvi.[controvalore_prot] * (p.ctv/fvi.somma_ctv)) + from #PATR_BF p + inner join + C6MartPeriodico.capprot_fvi as fvi + on p.rete = fvi.rete and p.cod_fiscale=fvi.codfis and p.id_contratto = fvi.cod_conf + where + p.cod_interno = 'RF' +------------------------------------------------------------------------raggruppo per area + -- modifica del 21/12/2017 + --select id_area,round(sum(controvalore_protetto),0) as totCapProt + select id_area,sum(controvalore_protetto) as totCapProt + -- fine modifica del 21/12/2017 + into #capitaleProtetto + from #PATR_BF + --- modifica del 20/12/2017 per segnalazione qc + --where REND_NON_RAPPR = 0 + --- fine modifica del 20/12/2017 per segnalazione qc + group by id_area +--------------------------------------------------------------- +SELECT distinct [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + ,case + when ISNULL(cap.totCapProt,0) = 0 then 0 + else cap.totCapProt + end as [capprot] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] pir + left join #capitaleProtetto cap + on pir.needarea = cap.id_area + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleLineeProdotti.sql b/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleLineeProdotti.sql new file mode 100644 index 00000000..efb8ecb1 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S172ProtezioneCapitaleLineeProdotti.sql @@ -0,0 +1,98 @@ +--[C6MartPeriodico].[PL_S172ProtezioneCapitaleLineeProdotti] 's','VCCGRL39E57E356Q' +CREATE procedure [C6MartPeriodico].[PL_S172ProtezioneCapitaleLineeProdotti] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +declare @isinInterfund80 varchar(20) +set @isinInterfund80 = 'LU1106988527' +BEGIN +---------------------- LINEA PROTETTA (RF/MP) +select Linea + ,Contratto + ,VersatoNetto + ,Controvalore + ,ComponentePerformance + ,ComponenteProtezione + ,ControvaloreProtetto + ,DataRiferimento + ,PercentualePerformance + ,PercentualeProtezione + ,ordine + from + (SELECT + a.des_prod_tit as Linea + ,a.cod_conf as Contratto + ,0 as VersatoNetto + ,a.controvalore_riferimento as Controvalore + ,0 as ComponentePerformance + ,a.componente_protezione as ComponenteProtezione + ,a.controvalore_prot as ControvaloreProtetto + ,convert(varchar(4), year(datarif)) + convert(varchar(2), month(datarif)) + convert(varchar(2), day(datarif)) as DataRiferimento + ,0 as PercentualePerformance + ,0 as PercentualeProtezione + ,1 as ordine + from [C6MartPeriodico].[CAPPROT_FVI] a + where SUBPROD in ('MP') + and CODFIS = @CodiceFiscale + and rete = @Rete +union + ---------------------- MY BLUE/MY WHITE + SELECT + a.des_prod_tit as Linea + ,a.cod_conf as Contratto + ,0 as VersatoNetto + ,a.controvalore_riferimento as Controvalore + ,0 as ComponentePerformance + ,a.componente_protezione as ComponenteProtezione + ,a.controvalore_prot as ControvaloreProtetto + ,convert(varchar(4), year(datarif)) + convert(varchar(2), month(datarif)) + convert(varchar(2), day(datarif)) as DataRiferimento + ,0 as PercentualePerformance + ,0 as PercentualeProtezione + ,2 as ordine + from [C6MartPeriodico].[CAPPROT_FVI] a + where SUBPROD in ('CS80', 'CT80') + and CODFIS = @CodiceFiscale + and rete = @Rete +union +-- INTERFUND 80 + SELECT + a.des_prod_tit as Linea + ,a.Cod_Conf as Contratto + ,0 as VersatoNetto + ,a.Controvalore as Controvalore + ,0 as ComponentePerformance + ,0 as ComponenteProtezione + ,a.Controvalore_prot as ControvaloreProtetto + --,datarif as DataRiferimento + ,convert(varchar(4), year(datarif)) + convert(varchar(2), month(datarif)) + convert(varchar(2), day(datarif)) as DataRiferimento + ,0 as PercentualePerformance + ,0 as PercentualeProtezione + ,3 as ordine + --into #tInterfund80 + FROM C6MartPeriodico.capprot a + WHERE 1=1 + AND a.RETE = @Rete + AND a.CODFIS = @CodiceFiscale + --and dttrim + union + ---------------------- FONDITALIA 80 + SELECT + a.desprodtit as Linea + ,a.codconf as Contratto + ,0 as VersatoNetto + ,a.ctv as Controvalore + ,0 as ComponentePerformance + ,a.prezzoprot as ComponenteProtezione + ,a.ctrvimpprot as ControvaloreProtetto + ,dtrife as DataRiferimento + ,0 as PercentualePerformance + ,0 as PercentualeProtezione + ,4 as ordine + FROM c6martperiodico.foi80 a + WHERE 1=1 + AND a.RETE = @Rete + AND a.CODFIS = @CodiceFiscale) as int + order by ordine asc,controvalore desc +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S181PreferenzeESG.sql b/sql/storedTestbes/C6MartPeriodico_PL_S181PreferenzeESG.sql new file mode 100644 index 00000000..1489244b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S181PreferenzeESG.sql @@ -0,0 +1,57 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'BCCNDR69P21A462P' +CREATE procedure [C6MartPeriodico].[PL_S181PreferenzeESG] --'F','MRTDRJ66P03G283W' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @SCADUTO_PARZIALE varchar(16) +SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) +SELECT esg.[rete] + ,[cod_fiscale] + --,case + --when @SCADUTO_PARZIALE='P' then 0 else [Preferenza_esg_cliente] + --end as + ,[Preferenza_esg_cliente] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,CAST(ROUND(ISNULL(obiettivo_ESG_minimo, 0.00), 2) AS decimal(6, 2)) AS obiettivo_ESG_minimo + ,[ESG_Rating] + ,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_E_perc + ,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_S_perc + ,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_G_perc + ,case when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=25 and isnull(ind.SOGLIAESG,'0.00')<50 then 'Almeno pari al 25%' + when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=50 and isnull(ind.SOGLIAESG,'0.00')<75 then 'Almeno pari al 50%' + when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=75 then 'Almeno pari al 75%' else '-' end as Pref_Sost + ,case when cle.U_PREFSOST='S' then 'Y' + when cle.U_PREFSOST='N' then 'N' + else '-' end as U_PREFSOST --Ulteriori Preferenze di Sostenibilità modifica 10122024 Scapellato ----decommenta per ESG 2024 + --else 'N' end as U_PREFSOST --Ulteriori Preferenze di Sostenibilità ----decommenta per ESG 2024 + ,case when cle.FLAGSFDR='S' then replace(cast(cle.SFDR_PERC as varchar(12)),'.00','')+'%' else '-' end as SFDR_PERC ----decommenta per ESG 2024 + ,case when cle.FLAGTAXO='S' then replace(cast(cle.TAXO_PERC as varchar(12)),'.00','')+'%' else '-' end as TAXO_PERC ----decommenta per ESG 2024 + ,case when cle.PAI_NO_DETT = 'S' then 'Preferisco non dettagliare' --modifica 10122024 Scapellato + when isnull(cle.PAI_A,'')='' then '-' else cle.PAI_A end as PAI_A + ,case when cle.PAI_NO_DETT = 'S' then 'Preferisco non dettagliare' --modifica 10122024 Scapellato + when isnull(cle.PAI_S,'')='' then '-' else cle.PAI_S end as PAI_S + --,'Emissioni gas serra, Biodiversità, Acqua, Rifiuti, Governativi di tipo Ambientale, Settore immobiliare' as PAI_A ----decommenta per ESG 2024 + --,'Questioni Sociali e dei Dipendenti, Governativi di tipo Sociale' as PAI_S ----decommenta per ESG 2024 + ,case when ESG_E='Y' then cle.PERCAMB_OK ELSE NULL END AS E_PERC_OK--,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS E_PERC_OK ----decommenta per ESG 2024 + ,case when ESG_S='Y' then cle.PERCSOC_OK ELSE NULL END AS S_PERC_OK--,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS S_PERC_OK ----decommenta per ESG 2024 + ,case when ESG_G='Y' then cle.PERCGOV_OK ELSE NULL END AS G_PERC_OK--,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS G_PERC_OK ----decommenta per ESG 2024 + FROM [C6StampeCentralizzate].[C6MartPeriodico].[BrsClienteESG] esg + left join C6MartPeriodico.wseian2 ind + on ind.rete=esg.rete and ind.CODFIS=esg.cod_fiscale + left join C6MartPeriodico.W6CLIESG cle + on ind.rete=cle.rete and ind.CODFIS=cle.CODFIS +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale + AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S181PreferenzeESG_BKP_20231116_PRE_RAFFORZAMENTO.sql b/sql/storedTestbes/C6MartPeriodico_PL_S181PreferenzeESG_BKP_20231116_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..d346f786 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S181PreferenzeESG_BKP_20231116_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,34 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'BCCNDR69P21A462P' +CREATE procedure [C6MartPeriodico].[PL_S181PreferenzeESG_BKP_20231116_PRE_RAFFORZAMENTO] --'S','95196860100' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT esg.[rete] + ,[cod_fiscale] + ,[Preferenza_esg_cliente] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,CAST(ROUND(ISNULL(obiettivo_ESG_minimo, 0.00), 2) AS decimal(6, 2)) AS obiettivo_ESG_minimo + ,[ESG_Rating] + ,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_E_perc + ,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_S_perc + ,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_G_perc + ,case when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=25 and isnull(ind.SOGLIAESG,'0.00')<50 then 'Almeno pari al 25%' + when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=50 and isnull(ind.SOGLIAESG,'0.00')<75 then 'Almeno pari al 50%' + when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=75 then 'Almeno pari al 75%' else '-' end as Pref_Sost + FROM [C6StampeCentralizzate].[C6MartPeriodico].[BrsClienteESG] esg + left join C6MartPeriodico.wseian2 ind + on ind.rete=esg.rete and ind.CODFIS=esg.cod_fiscale +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024.sql b/sql/storedTestbes/C6MartPeriodico_PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024.sql new file mode 100644 index 00000000..06d46263 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024.sql @@ -0,0 +1,48 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'BCCNDR69P21A462P' +CREATE procedure [C6MartPeriodico].[PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024]-- 'F','FSCSIA47A70G420M' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @SCADUTO_PARZIALE varchar(16) +SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) +SELECT esg.[rete] + ,[cod_fiscale] + --,case + --when @SCADUTO_PARZIALE='P' then 0 else [Preferenza_esg_cliente] + --end as + ,[Preferenza_esg_cliente] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,CAST(ROUND(ISNULL(obiettivo_ESG_minimo, 0.00), 2) AS decimal(6, 2)) AS obiettivo_ESG_minimo + ,[ESG_Rating] + ,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_E_perc + ,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_S_perc + ,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_G_perc + ,case when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=25 and isnull(ind.SOGLIAESG,'0.00')<50 then 'Almeno pari al 25%' + when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=50 and isnull(ind.SOGLIAESG,'0.00')<75 then 'Almeno pari al 50%' + when coerenza<>'Z' and isnull(ind.SOGLIAESG,'0.00')>=75 then 'Almeno pari al 75%' else '-' end as Pref_Sost + ,'Y' as U_PREFSOST -- aggiunta da GB + ,0 as SFDR_PERC -- aggiunta da GB + ,0 as TAXO_PERC -- aggiunta da GB + ,'' as PAI_A -- aggiunta da GB + ,'' as PAI_S -- aggiunta da GB + ,0 as E_PERC_OK -- aggiunta da GB + ,0 as S_PERC_OK -- aggiunta da GB + ,0 as G_PERC_OK -- aggiunta da GB + FROM [C6StampeCentralizzate].[C6MartPeriodico].[BrsClienteESG] esg + left join C6MartPeriodico.wseian2 ind + on ind.rete=esg.rete and ind.CODFIS=esg.cod_fiscale +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale + AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S182BISDettaglioProdottiESG.sql b/sql/storedTestbes/C6MartPeriodico_PL_S182BISDettaglioProdottiESG.sql new file mode 100644 index 00000000..31973109 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S182BISDettaglioProdottiESG.sql @@ -0,0 +1,167 @@ +--se nella generazione del report da errore molto probabilmente ci sta una chiaveclientePB diversa sulla appocontratti dalla vinfocliente +--cambiala sull'appo contratti e contrattipretrimestrale +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S182BISDettaglioProdottiESG] 'F', '98196710176' +CREATE procedure [C6MartPeriodico].[PL_S182BISDettaglioProdottiESG] --'S','DGSMHL70H08Z404F' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +--- + SELECT distinct + [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + into #temp + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S133_S157DatiPiramide] + WHERE [Rete] = @rete + AND [CodiceFiscale] = @codicefiscale + order by ordinamento + declare @totale_risorse_finanziarie decimal(38,3) + declare @totale_patrimonio decimal(38,3) + declare @partite_viaggianti decimal(38,3) + select @totale_risorse_finanziarie = SUM(controvaloreAttuale) from #temp where needarea in ('Ext','Inv','Pre','Ris','Liq','Na') + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + select @totale_patrimonio = SUM(controvaloreAttuale) from #temp + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + select @partite_viaggianti= PartiteViaggiantiInv from wh.Maledetti + where i_Rete=@Rete and i_CodiceFiscale=@CodiceFiscale + set @totale_patrimonio=@totale_patrimonio + @partite_viaggianti + select + case when @totale_risorse_finanziarie=@totale_patrimonio then 'Tot_P' else 'Tot_F' end as needarea, + case when @totale_risorse_finanziarie=@totale_patrimonio then 'TOTALE PATRIMONIO' else 'TOTALE RISORSE FINANZIARIE' end as needareades, + '100' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + '' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + SUM(controvaloreattuale) as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto +from #temp +where needarea in ('Ext','Inv','Pre','Ris','Liq','Na') +having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + union all + select + 'Tot_F' as needarea, + '' as needareades, + '101' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + 'C/C a saldo negativo' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + SUM(controvaloreattuale) as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from #temp + where needarea in ('CC') + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + union all + select + 'Tot_F' as needarea, + '' as needareades, + '102' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + 'Operazioni in corso' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + PartiteViaggiantiInv as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from wh.Maledetti + where i_Rete=@Rete and i_CodiceFiscale=@CodiceFiscale + and PartiteViaggiantiInv<>'0.000' + union all + select top (1) + 'Tot_P' as needarea, + 'TOTALE PATRIMONIO' as needareades, + '103' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + '' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + @totale_patrimonio as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from #temp + where @totale_risorse_finanziarie<>@totale_patrimonio + --having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 and SUM(controvaloreAttuale) <> @totale_risorse_finanziarie +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S182BISDettaglioProdottiESG_Mon.sql b/sql/storedTestbes/C6MartPeriodico_PL_S182BISDettaglioProdottiESG_Mon.sql new file mode 100644 index 00000000..521acced --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S182BISDettaglioProdottiESG_Mon.sql @@ -0,0 +1,165 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S182BISDettaglioProdottiESG] 'F', '98196710176' +CREATE procedure [C6MartPeriodico].[PL_S182BISDettaglioProdottiESG_Mon] --'S','DGSMHL70H08Z404F' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +--- + SELECT distinct + [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + into #temp + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S133_S157DatiPiramide] + WHERE [Rete] = @rete + AND [CodiceFiscale] = @codicefiscale + order by ordinamento + declare @totale_risorse_finanziarie decimal(38,3) + declare @totale_patrimonio decimal(38,3) + declare @partite_viaggianti decimal(38,3) + select @totale_risorse_finanziarie = SUM(controvaloreAttuale) from #temp where needarea in ('Ext','Inv','Pre','Ris','Liq','Na') + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + select @totale_patrimonio = SUM(controvaloreAttuale) from #temp + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + select @partite_viaggianti= PartiteViaggiantiInv from wh.Maledetti + where i_Rete=@Rete and i_CodiceFiscale=@CodiceFiscale + set @totale_patrimonio=@totale_patrimonio + @partite_viaggianti + select + case when @totale_risorse_finanziarie=@totale_patrimonio then 'Tot_P' else 'Tot_F' end as needarea, + case when @totale_risorse_finanziarie=@totale_patrimonio then 'TOTALE PATRIMONIO' else 'TOTALE RISORSE FINANZIARIE' end as needareades, + '100' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + '' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + SUM(controvaloreattuale) as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto +from #temp +where needarea in ('Ext','Inv','Pre','Ris','Liq','Na') +having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + union all + select + 'Tot_F' as needarea, + '' as needareades, + '101' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + 'C/C a saldo negativo' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + SUM(controvaloreattuale) as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from #temp + where needarea in ('CC') + having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 + union all + select + 'Tot_F' as needarea, + '' as needareades, + '102' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + 'Operazioni in corso' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + PartiteViaggiantiInv as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from wh.Maledetti + where i_Rete=@Rete and i_CodiceFiscale=@CodiceFiscale + and PartiteViaggiantiInv<>'0.000' + union all + select top (1) + 'Tot_P' as needarea, + 'TOTALE PATRIMONIO' as needareades, + '103' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + '' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + @totale_patrimonio as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from #temp + where @totale_risorse_finanziarie<>@totale_patrimonio + --having SUM(controvaloreAttuale) is not null and SUM(controvaloreattuale)<>0.000 and SUM(controvaloreAttuale) <> @totale_risorse_finanziarie +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S182DettaglioProdottiESG.sql b/sql/storedTestbes/C6MartPeriodico_PL_S182DettaglioProdottiESG.sql new file mode 100644 index 00000000..9df1e2ba --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S182DettaglioProdottiESG.sql @@ -0,0 +1,239 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S182DettaglioProdottiESG] 'F', 'GLLGZN62T06H501I' +CREATE procedure [C6MartPeriodico].[PL_S182DettaglioProdottiESG] --'F','CVLDVD73P22C415X' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +--SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +--CASE +-- WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' +-- ELSE NULL +--END as versato_needareaString, +--SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +--CASE +-- WHEN COUNT( CASE +-- WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 +-- ELSE NULL +-- END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' +-- ELSE NULL +--END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 +-- THEN 'n.d.' +-- ELSE NULL +--END AS versato_need_progString, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) +-- ELSE NULL +--END AS MinusPlusValenza_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 +-- THEN 'n.d.' +-- ELSE NULL +--END AS MinusPlusValenza_need_progString, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF +-- ELSE NULL +--END AS somma_var_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA +-- ELSE NULL +--END AS somma_copertura_need_prog, +--RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +--CASE +-- WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 +-- THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII +-- WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' +-- THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- +-- ELSE NULL +--END AS var_needareaString, +--CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, +-- CASE +-- WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) +-- --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- ELSE '' +--END AS copertura_needareaString, +--RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +--CASE +-- WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +--END AS var_need_progString, +--RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, + case when ESG_E = 'SI' then 'Sì' else 'No' end as ESG_E, + case when ESG_S = 'SI' then 'Sì' else 'No' end as ESG_S, + case when ESG_G = 'SI' then 'Sì' else 'No' end as ESG_G, + case when CatSFDR <> '' then esg.CatSFDR else '-' end as CatSFDR, + case when ESGRating <> '' then esg.esgrating else '-' end as ESGRating, + case when TrendESGRating <> '' then esg.TrendESGRating else '-' end as TrendESGRating, +PATRBF.CTV AS Controvalore, +--PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +--CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +--MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +--CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +--case when (patrbf.tipo_prodotto ='CC') then 0.00 +--else RISCHIO_PROD.VAR_PERC_PTF +--end AS VaRprodotto, +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' +-- WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +--ELSE NULL END as varProdottoString, +--case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--else RISCHIO_PROD.Copertura +--end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +--PARTVIA_DISINV AS partitaViaggiante, +--CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +--RISCHIO_PROD.CREDITRISK as creditrisk, +--CASE +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' +-- WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' +-- ELSE NULL +-- END as creditriskstring, + --RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto + ,case when isnull(cat.esg_e_prod_cli,'N')='Y' then 'S' else 'N' end as esg_e_prod_cli + ,case when isnull(cat.esg_s_prod_cli,'N')='Y' then 'S' else 'N' end as esg_s_prod_cli + ,case when isnull(cat.esg_g_prod_cli,'N')='Y' then 'S' else 'N' end as esg_g_prod_cli +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +--LEFT JOIN +--C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ +-- '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' +-- when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' +-- ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- END +-- +-- + PATRBF.POSITION_ID +--LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG +-- ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE +-- AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +-- + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +--LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA +-- ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE +-- +-- +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = case +-- when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' +-- else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) +-- end +-- +left join [C6StagingPeriodico].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) + left join C6MartPeriodico.W6CATESG cat + on PATRBF.cod_prodotto = cat.PRODOTTO_ID + AND PATRBF.rete = cat.rete + AND PATRBF.COD_FISCALE =cat.codfis +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 + and AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END + ,CHIAVE_progetto,nome_progetto, PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024.sql b/sql/storedTestbes/C6MartPeriodico_PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024.sql new file mode 100644 index 00000000..06da5ae5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024.sql @@ -0,0 +1,241 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S182DettaglioProdottiESG] 'F', 'GLLGZN62T06H501I' +CREATE procedure [C6MartPeriodico].[PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024] --'F','GLLGZN62T06H501I' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +--SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +--CASE +-- WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' +-- ELSE NULL +--END as versato_needareaString, +--SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +--CASE +-- WHEN COUNT( CASE +-- WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 +-- ELSE NULL +-- END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' +-- ELSE NULL +--END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 +-- THEN 'n.d.' +-- ELSE NULL +--END AS versato_need_progString, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) +-- ELSE NULL +--END AS MinusPlusValenza_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 +-- THEN 'n.d.' +-- ELSE NULL +--END AS MinusPlusValenza_need_progString, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF +-- ELSE NULL +--END AS somma_var_need_prog, +--CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA +-- ELSE NULL +--END AS somma_copertura_need_prog, +--RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +--CASE +-- WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 +-- THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII +-- WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' +-- THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- +-- ELSE NULL +--END AS var_needareaString, +--CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, +-- CASE +-- WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) +-- --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- ELSE '' +--END AS copertura_needareaString, +--RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +--CASE +-- WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +--END AS var_need_progString, +--RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, + case when ESG_E = 'SI' then 'Sì' else 'No' end as ESG_E, + case when ESG_S = 'SI' then 'Sì' else 'No' end as ESG_S, + case when ESG_G = 'SI' then 'Sì' else 'No' end as ESG_G, + case when CatSFDR <> '' then esg.CatSFDR else '-' end as CatSFDR, + case when ESGRating <> '' then esg.esgrating else '-' end as ESGRating, + case when TrendESGRating <> '' then esg.TrendESGRating else '-' end as TrendESGRating, +PATRBF.CTV AS Controvalore, +--PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +--CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +--MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +--CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +--case when (patrbf.tipo_prodotto ='CC') then 0.00 +--else RISCHIO_PROD.VAR_PERC_PTF +--end AS VaRprodotto, +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' +-- WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +--ELSE NULL END as varProdottoString, +--case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--else RISCHIO_PROD.Copertura +--end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +--PARTVIA_DISINV AS partitaViaggiante, +--CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +--RISCHIO_PROD.CREDITRISK as creditrisk, +--CASE +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' +-- WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' +-- ELSE NULL +-- END as creditriskstring, + --RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto + ,CASE + WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' + ELSE 'N' end as ESG_E_PROD_CLI,----decommenta per ESG 2024 + CASE + WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' + ELSE 'N' end as ESG_S_PROD_CLI,----decommenta per ESG 2024 + CASE + WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' + ELSE 'N' end as ESG_G_PROD_CLI ----decommenta per ESG 2024 +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +--LEFT JOIN +--C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ +-- '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' +-- when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' +-- ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- END +-- +-- + PATRBF.POSITION_ID +--LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG +-- ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE +-- AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +-- + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +--LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA +-- ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE +-- +-- +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = case +-- when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' +-- else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) +-- end +-- +left join [C6StagingPeriodico].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 + and AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END + ,CHIAVE_progetto,nome_progetto, PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S183iCapital.sql b/sql/storedTestbes/C6MartPeriodico_PL_S183iCapital.sql new file mode 100644 index 00000000..0b5245c1 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S183iCapital.sql @@ -0,0 +1,63 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_S183iCapital] --'F','GSSGLI67A52F205P' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT +distinct +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS Codarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS NomeArea, +--CASE +-- WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 +-- ELSE AREA.ORDINAMENTO +--END AS OrdineArea, +iCap.codconf as CodiceContratto, +iCap.sgr as ContrattoSGR, +iCap.descprod as NomeProdotto, +iCap.dtiniz as DataInizio, +iCap.dtfine as DataFine, +iCap.CTV_COMMIT as Totale, +iCap.impvers as ImportoVersato, +iCap.impres as ImportoDaVersare +from C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +inner join C6MartPeriodico.WSEICAP iCap +on icap.codconf=PATRBF.ID_CONTRATTO +and icap.subprod=PATRBF.COD_SOTTOPRODOTTO +--and icap.isin=patrbf.ISIN +where icap.RETE=@Rete +and icap.COD_FISCALE=@CodiceFiscale +--select Codarea,NomeArea,CodiceContratto,ContrattoSGR,NomeProdotto,DataInizio,DataFine, +--cast(Totale as decimal(15,2))as Totale, +--cast(ImportoVersato as decimal(15,2))as ImportoVersato , +--cast(ImportoDaVersare as decimal(15,2)) as ImportoDaVersare +--from C6MartPeriodico.test_icapital +--where rete=@rete and CODiceFISCALE=@CodiceFiscale + --SELECT + -- 'Inv' as CodArea, + -- 'Investimento' as NomeArea, + -- '954572CO210' as CodiceContratto, + -- 'BlackRock' as ContrattoSGR, + -- 'Prodotto di Test' as NomeProdotto, + -- '05/04/2022' as DataInizio, + -- '15/01/2023' as DataFine, + -- '23468.230' as Totale, + -- '632.234' as ImportoVersato, + -- '326.263' as ImportoDaVersare +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S184CoerenzaESG.sql b/sql/storedTestbes/C6MartPeriodico_PL_S184CoerenzaESG.sql new file mode 100644 index 00000000..fa25c849 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S184CoerenzaESG.sql @@ -0,0 +1,40 @@ +--Inv Investimento 021233XY004 BLACK ROCK EQT X 20230215 99999999 300000.000 0.000 300000.000 +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_S184CoerenzaESG] -- 'S','BLLNTN47H20D758F' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +select w.Rete, + w.CODFIS, + case when w.COERENZA='Z' then '-' + when w.SOGLIAESG=25.00 then 'Almeno pari al 25%' + when w.SOGLIAESG=50.00 then 'Almeno pari al 50%' + when w.SOGLIAESG=75.00 then 'Almeno pari al 75%' + else '-' end as percESG, + CAST(ROUND(ISNULL(b.obiettivo_ESG_minimo, 0.00), 2) AS decimal(10, 2)) AS pesoSostESG, + -- ROUND(isnull(b.obiettivo_ESG_minimo,0.00),2) as pesoSostESG, + case + when ISNULL(b.obiettivo_ESG_minimo, 0.00)>w.SOGLIAESG then 'S'--w.COERENZA='S' then 'S' + when w.COERENZA='X' and ISNULL(b.obiettivo_ESG_minimo, 0.00)>w.SOGLIAESG then 'S' + when w.COERENZA='Z' then 'Z' + else 'N' end as Coerenza + -- case when RISERVA='N' or invl_period='N' Or clcompl='N' Or flgconc='N' or freq='N' Or concemi='N' or ADEGCONC_VALUT='N' or COERENZA='N' then 'N' else 'S' end as Nota_Adeguatezza + from C6MartPeriodico.WSEIAN2 w left join + C6MartPeriodico.BrsClienteESG b on w.rete=b.rete and w.CODFIS=b.cod_fiscale +where w.Rete=@Rete and w.CODFIS=@CodiceFiscale +and w.PREFSOST = 'S' -- questa tabella deve apparire solo per chi ha espresso la preferenza di sostenibilità +--and b.Preferenza_esg_cliente=1 +--and w.COERENZA<>'X' -- questa condizione serve per i clienti professional che non hanno questo indicatore +--and w.FLGPROF='N' +--COERENZA = 'S' SI +--COERENZA = 'N' NO +--COERENZA = 'X' Errore di R4 +--COERENZA = 'Z' con ESG senza soglia di sostenibilita ( deve apparire n.a.) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S184CoerenzaESG_BKP_20231013.sql b/sql/storedTestbes/C6MartPeriodico_PL_S184CoerenzaESG_BKP_20231013.sql new file mode 100644 index 00000000..0cdc61cd --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S184CoerenzaESG_BKP_20231013.sql @@ -0,0 +1,35 @@ +--Inv Investimento 021233XY004 BLACK ROCK EQT X 20230215 99999999 300000.000 0.000 300000.000 +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_S184CoerenzaESG_BKP_20231013] --'F','TVRNRC51H06L665B' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +select w.Rete, + w.CODFIS, + case when w.SOGLIAESG=25.00 then 'Almeno pari al 25%' + when w.SOGLIAESG=50.00 then 'Almeno pari al 50%' + when w.SOGLIAESG=75.00 then 'Almeno pari al 75%' + else '-' end as percESG, + CAST(ROUND(ISNULL(b.obiettivo_ESG_minimo, 0.00), 2) AS decimal(10, 2)) AS pesoSostESG, + -- ROUND(isnull(b.obiettivo_ESG_minimo,0.00),2) as pesoSostESG, + case when w.COERENZA='S' then 'S' + when w.COERENZA='X' and ISNULL(b.obiettivo_ESG_minimo, 0.00)>w.SOGLIAESG then 'S' + else 'N' end as Coerenza + from C6MartPeriodico.WSEIAN2 w left join + C6MartPeriodico.BrsClienteESG b on w.rete=b.rete and w.CODFIS=b.cod_fiscale +where w.Rete=@Rete and w.CODFIS=@CodiceFiscale +and w.PREFSOST = 'S' -- questa tabella deve apparire solo per chi ha espresso la preferenza di sostenibilità +--and b.Preferenza_esg_cliente=1 +--and w.COERENZA<>'X' -- questa condizione serve per i clienti professional che non hanno questo indicatore +--COERENZA = 'S' SI +--COERENZA = 'N' NO +--COERENZA = 'X' Errore di R4 +--COERENZA = 'Z' con ESG senza soglia di sostenibilita ( deve apparire n.a.) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S185UCaratteristicheESG.sql b/sql/storedTestbes/C6MartPeriodico_PL_S185UCaratteristicheESG.sql new file mode 100644 index 00000000..7095b5c5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S185UCaratteristicheESG.sql @@ -0,0 +1,112 @@ +CREATE procedure [C6MartPeriodico].[PL_S185UCaratteristicheESG] -- 'F','TRCDZN57A44I284J' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, +CASE + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_SFDR, +CASE + WHEN isnull(esg.PERC_INVEST_SFDR_MIN_SUST_E,0.00) = 0.00 ----decommenta per ESG 2024 + THEN '-' ----decommenta per ESG 2024 + ELSE ----decommenta per ESG 2024 + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVEST_SFDR_MIN_SUST_E), '.', ',')-- + '%' ----decommenta per ESG 2024 +END AS PERC_INVESTIMENTO_SFDR_AMB, ----decommenta per ESG 2024 + --decommenta per ESG 202 --decommenta per ESG 2024 +CASE ----decommenta per ESG 2024 + WHEN isnull(esg.PERC_INVEST_SFDR_MIN_SUST_S,0.00) = 0.00 ----decommenta per ESG 2024 + THEN '-' ----decommenta per ESG 2024 + ELSE ----decommenta per ESG 2024 + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVEST_SFDR_MIN_SUST_S), '.', ',')-- + '%' ----decommenta per ESG 2024 +END AS PERC_INVESTIMENTO_SFDR_SOC, ----decommenta per ESG 2024 + CASE + WHEN ISNULL(esg.PERC_INVESTIMENTO_TAXONOMY, 0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_TAXONOMY), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_TAXONOMY, + isnull(esg.label_PAI_A,'-') as label_PAI_A, + isnull(esg.Label_PAI_S,'-') as label_PAI_S, + isnull(esg.Label_U_INFO_ESG,'-') as label_U_INFO_ESG, + PATRBF.CTV AS Controvalore, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +left join [C6StagingPeriodico].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 + AND AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END , nome_progetto, PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024.sql b/sql/storedTestbes/C6MartPeriodico_PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024.sql new file mode 100644 index 00000000..f08d6db6 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024.sql @@ -0,0 +1,99 @@ +CREATE procedure [C6MartPeriodico].[PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024] --'F','BRGLCU52B09F839W' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MartPeriodico.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, +CASE + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_SFDR, + CASE + WHEN ISNULL(esg.PERC_INVESTIMENTO_TAXONOMY, 0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_TAXONOMY), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_TAXONOMY, + isnull(esg.label_PAI_A,'-') as label_PAI_A, + isnull(esg.Label_PAI_S,'-') as label_PAI_S, + isnull(esg.Label_U_INFO_ESG,'-') as label_U_INFO_ESG, + PATRBF.CTV AS Controvalore, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +left join [C6StagingPeriodico].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 + AND AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END , nome_progetto, PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S186DettaglioPortafoglioSei.sql b/sql/storedTestbes/C6MartPeriodico_PL_S186DettaglioPortafoglioSei.sql new file mode 100644 index 00000000..0a6d91da --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S186DettaglioPortafoglioSei.sql @@ -0,0 +1,122 @@ +--select * from wh.Maledetti +CREATE procedure [C6MartPeriodico].[PL_S186DettaglioPortafoglioSei] --'F','00545400483' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @appo table +( + [BFCTV] [decimal](15, 2) NULL, + [PatrimonioTerziCTV] [decimal](15, 2) NULL, + [FinanziarioCTV] [decimal](16, 2) NULL, + [FinanziarioPerc] [decimal](6, 2) NULL, + [ImmobiliareCTV] [decimal](15, 2) NULL, + [ImmobiliarePerc] [decimal](6, 2) NULL, + [AltroCTV] [decimal](15, 2) NULL, + [AltroPerc] [decimal](6, 2) NULL, + [TotaleCTV] [decimal](15, 2) NULL, + [ImmobiliarePQCTV] [decimal](15, 2) NULL +) +--creo le tabelle di appoggio +insert into @appo exec [C6MartPeriodico].[PL_D2_S152Patrimonio] @Rete,@CodiceFiscale +declare @TotCTV [decimal](15, 2) =(select [BFCTV] from @appo) +SELECT +--distinct +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +--SUM(PATRBF.CTV) OVER() AS SommaProdottiEsclusi, +SUM(CASE + WHEN PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV < 0 THEN 0 + ELSE PATRBF.CTV + END) OVER() AS SommaProdottiEsclusi, --per escludere i CC a Saldo Negativo +@TotCTV as PatrimonioFideuram, +@TotCTV-SUM(CASE + WHEN PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV < 0 THEN 0 + ELSE PATRBF.CTV + END) OVER() AS PortafoglioSei +--@TotCTV-SUM(PATRBF.CTV) OVER() as PortafoglioSei +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +--INNER JOIN +--C6MartPeriodico.AREA_BISOGNO AREA +--ON +-- --LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +-- (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +--LEFT JOIN +--C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ +-- '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') + '|' +-- when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' +-- ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- END +---- END + PATRBF.POSITION_ID +-- + PATRBF.POSITION_ID +--LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG +-- ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE +-- AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +-- + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') +--LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA +-- ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = case +-- when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' +-- else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) +-- end +---- AND RISCHIO_AGGR_AREA.COD_AGGREG = +---- CASE AREA.ID_AREA +---- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +---- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +---- END +--LEFT JOIN +--C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +--ON +-- PATRBF.RETE = MONIT.RETE +-- AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE +-- AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA +-- AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO +-- And patrbf.ordinamento_progetto=monit.ordinamento_progetto +----Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) + --aggiunta 18/12/2022 per APC103 +--left join C6MartPeriodico.WSEICC apc +--on +-- apc.RETE=PATRBF.RETE +-- and apc.cod_fiscale=patrbf.cod_fiscale +-- and PATRBF.ID_CONTRATTO = --apc.CODCONFPR +-- (case when PATRBF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) +-- --fine aggiunta 18/12/2022 per APC103 +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + -- AND ( + -- (PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV > 0) OR --per eliminare i CC a saldo Negativo + -- (PATRBF.TIPO_PRODOTTO <> 'CC' AND PATRBF.CTV <> 0) + --) + AND PATRBF.Nob_Prez='S' +order by PATRBF.CTV desc +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S187SfdrTaxESG.sql b/sql/storedTestbes/C6MartPeriodico_PL_S187SfdrTaxESG.sql new file mode 100644 index 00000000..a55885f8 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S187SfdrTaxESG.sql @@ -0,0 +1,107 @@ +CREATE procedure [C6MartPeriodico].[PL_S187SfdrTaxESG]-- 'F','00936710151' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @SCADUTO_PARZIALE varchar(16) +SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6MartPeriodico.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale +declare @U_PREFSOST varchar(2) +select @U_PREFSOST=U_PREFSOST from [C6MartPeriodico].[W6CliESG] where rete=@Rete and codfis=@CodiceFiscale +if(@pref_esg='1' AND @U_PREFSOST='S') +begin + select + 1 as ID, + 'Prodotti sostenibili SFDR' as Descrizione, + replace(cast(cli.SFDR_PERCT as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union + select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(cli.SFDR_PERC_OK as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,case when cli.FLAGSFDR='N' then 'Y' + else 'N' end as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 3 as ID, + 'Prodotti non sostenibili' as Descrizione, + replace(cast((100-cli.SFDR_PERCT)as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 5 as ID, + 'Prodotti ecosostenibili Taxonomy' as Descrizione, + replace(cast(cli.TAXO_PERCT as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast (cli.TAXO_PERC_OK as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,case when cli.FLAGTAXO='N' then 'Y' + else 'N' end as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 7 as ID, + 'Prodotti non ecosostenibili' as Descrizione, + replace(cast((100-cli.TAXO_PERCT) as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from C6MartPeriodico.[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' +-- select * from [C6MartPeriodico].[W6CliESG] cli +end +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S188PaiESG.sql b/sql/storedTestbes/C6MartPeriodico_PL_S188PaiESG.sql new file mode 100644 index 00000000..83f2cc69 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S188PaiESG.sql @@ -0,0 +1,97 @@ +--select distinct u_prefsost from [C6MartPeriodico].[W6CliESG] cli +--select * from wh.Maledetti +CREATE procedure [C6MartPeriodico].[PL_S188PaiESG] --'F','BNDDDM46C12B967J' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @SCADUTO_PARZIALE varchar(16) +SET @SCADUTO_PARZIALE= (select distinct FLGPROF from C6MartPeriodico.wseirpf where rete=@rete and CODFIS=@CodiceFiscale) +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6MartPeriodico.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale +declare @U_PREFSOST varchar(2) +select @U_PREFSOST=U_PREFSOST from [C6MartPeriodico].[W6CliESG] where rete=@Rete and codfis=@CodiceFiscale +if(@pref_esg='1' and @U_PREFSOST='S') +begin +select 1 as ID, + 'Prodotti che considerano almeno un PAI ambientale' as Descrizione, + replace(cast(cli.PAIA_PERCT as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(cli.PAIA_PERC_OK as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,case when isnull(cli.PAI_A,'')='' then 'Y' + else 'N' end as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 3 as ID, + 'Prodotti che non considerano PAI ambientali' as Descrizione, + replace(cast((100-cli.PAIA_PERCT) as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + union +select 5 as ID, + 'Prodotti che considerano almeno un PAI sociale' as Descrizione, + replace(cast(cli.PAIS_PERCT as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(cli.PAIS_PERC_OK as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,case when isnull(cli.PAI_S,'')='' then 'Y' + else 'N' end as isNA +from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 7 as ID, + 'Prodotti che non considerano PAI sociali' as Descrizione, + replace(cast((100-cli.PAIS_PERCT) as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +from [C6MartPeriodico].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +AND ISNULL(@SCADUTO_PARZIALE,'') <>'P' + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +end +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S18PatrimonioFinanziarioRischio.sql b/sql/storedTestbes/C6MartPeriodico_PL_S18PatrimonioFinanziarioRischio.sql new file mode 100644 index 00000000..f6b316e4 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S18PatrimonioFinanziarioRischio.sql @@ -0,0 +1,86 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S18PatrimonioFinanziarioRischio] 'F','GRZDSG43E11D193N' +CREATE procedure [C6MartPeriodico].[PL_S18PatrimonioFinanziarioRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @varComplessivo DECIMAL(12,3) + DECLARE @varBF DECIMAL(12,3) + DECLARE @varTerzi DECIMAL(12,3) + DECLARE @coperturaBF DECIMAL(12,3) + DECLARE @coperturaTERZI DECIMAL(12,3) + DECLARE @coperturaCOMPLESSIVO DECIMAL(12,3) + DECLARE @codiceProfilo SMALLINT + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + SELECT + @varComplessivo = VAR_PERC_PTF, + @coperturaCOMPLESSIVO = COPERTURA + FROM + C6MartPeriodico.RISCHIO_AGGREGATO AS RA + WHERE + RA.RETE = @Rete AND + RA.COD_FISCALE = @CodiceFiscale AND + RA.COD_AGGREG = 'COMPLESSIVO' + SELECT + @varBF = VAR_PERC_PTF, + @coperturaBF = COPERTURA + FROM + C6MartPeriodico.RISCHIO_AGGREGATO AS RA + WHERE + RA.RETE = @Rete AND + RA.COD_FISCALE = @CodiceFiscale AND + RA.COD_AGGREG = 'COMPLESSIVO|BF' + SELECT + @varTerzi = VAR_PERC_PTF, + @coperturaTERZI = COPERTURA + FROM + C6MartPeriodico.RISCHIO_AGGREGATO AS RA + WHERE + RA.RETE = @Rete AND + RA.COD_FISCALE = @CodiceFiscale AND + RA.COD_AGGREG = 'COMPLESSIVO|TERZI' + SELECT + @codiceProfilo = M.PROFILO_ASS, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = CR.DESCRIZIONE + FROM + C6MartPeriodico.MIFID AS M + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + SELECT + @codiceProfilo as codiceProfilo, + @varProfilo as varProfilo, +-- isnull(@varComplessivo,0) as varComplessivo, +-- isnull(@varBF,0) as varBF, +-- isnull(@varTerzi,0) as varTerzi, + @varComplessivo as varComplessivo, + @varBF as varBF, + @varTerzi as varTerzi, + CASE + WHEN @coperturaCOMPLESSIVO IS NULL THEN 'n.c.' + WHEN @coperturaCOMPLESSIVO = 0 THEN 'n.c.' + ELSE NULL + END AS varComplessivoString, + CASE + WHEN @coperturaBF IS NULL THEN 'n.c.' + WHEN @coperturaBF = 0 THEN 'n.c.' + ELSE NULL + END AS varBFString, + CASE + WHEN @coperturaTERZI IS NULL THEN 'n.c.' + WHEN @coperturaTERZI = 0 THEN 'n.c.' + ELSE NULL + END AS varTerziString, + isnull(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S1Patrimonio.sql b/sql/storedTestbes/C6MartPeriodico_PL_S1Patrimonio.sql new file mode 100644 index 00000000..568019db --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S1Patrimonio.sql @@ -0,0 +1,88 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S1Patrimonio] 'F','MRSPLA53H24D643J' +CREATE procedure [C6MartPeriodico].[PL_S1Patrimonio] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT + @PatrimonioBF = SUM(CTV) + FROM + C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area <> 'CC' --escludo il cc negativo +-- SELECT @Part_viaggianti=SUM(IMPORTO) +-- FROM C6MartPeriodico.PARTITE_VIAGGIANTI partvia +-- WHERE +-- partvia.Rete = @Rete +-- and partvia.Cod_Fiscale = @CodiceFiscale + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Martperiodico.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + SELECT + @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM + C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM + C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioAltro = SUM(patrAltro.ctv) + FROM + C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S23DettaglioRischio.sql b/sql/storedTestbes/C6MartPeriodico_PL_S23DettaglioRischio.sql new file mode 100644 index 00000000..570cbc30 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S23DettaglioRischio.sql @@ -0,0 +1,78 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S23DettaglioRischio] 'F','BRNDRA65B04B300I' +CREATE procedure [C6MartPeriodico].[PL_S23DettaglioRischio] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT DISTINCT + isnull(MIFID.PROFILO_ASS,0) as codiceProfilo, + CASE + WHEN (CODRISCHIO.MAX_VAR is null) THEN 'n.c' + ELSE null + END as varProfiloMaxString, + CODRISCHIO.MAX_VAR as varProfiloMax, + MIFID.RISKCLASS AS CreditRiskMax, + CASE + WHEN MIFID.RISKCLASS IS NULL THEN 'n.c.' + ELSE NULL + END AS CreditRiskMaxString, + PT.INTERMEDIARIO AS Intermediario, + ISNULL(RISCHIO.VAR_PERC_PTF,0) as varIntermediario, + CASE + WHEN RISCHIO.COPERTURA = 0 THEN 'n.c.' + WHEN RISCHIO.COPERTURA IS NULL THEN 'n.c.' + ELSE NULL + END AS varIntermediarioString, + rischio.copertura as coperturaBF, + CASE + WHEN RISCHIO.COPERTURA = 0 THEN 'n.c.' + WHEN RISCHIO.COPERTURA IS NULL THEN 'n.c.' + ELSE NULL + END AS coperturaBFString, + CASE + -- WHEN RISCHIO.COPERTURA > 0 AND RISCHIO.VAR_PERC_PTF <= CODRISCHIO.MAX_VAR THEN 1 + -- modified by mzaki + WHEN RISCHIO.COPERTURA > 0 AND RISCHIO.VAR_PERC_PTF <= CODRISCHIO.MAX_VAR + AND isnull(RISCHIO.CREDITRISK,0) <= MIFID.RISKCLASS THEN 1 + -- + WHEN RISCHIO.COPERTURA = 0 THEN -1 + ELSE 0 + END AS rispetto, + ----------------------- + RISCHIO.CREDITRISK as creditRisk, + CASE + WHEN RISCHIO.CREDITRISK is null and RISCHIO.COPERTURA = 0 THEN 'n.c.' + WHEN RISCHIO.CREDITRISK is null and RISCHIO.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIO.CREDITRISK is null then 'n.a.' + ELSE null + END as creditRiskString + FROM + C6MartPeriodico.PATRIMONIO_TERZI PT + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO + ON + RISCHIO.RETE = PT.RETE + AND RISCHIO.COD_FISCALE = PT.COD_FISCALE + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|TERZI|' + PT.INTERMEDIARIO + LEFT OUTER JOIN + C6MartPeriodico.MIFID MIFID + ON + MIFID.RETE = PT.RETE + AND MIFID.COD_FISCALE = PT.COD_FISCALE + LEFT OUTER JOIN + C6MartPeriodico.CODIFICA_RISCHIO CODRISCHIO + ON + MIFID.PROFILO_ASS = CODRISCHIO.PROFILO + WHERE 1 = 1 + --V we take into account CC --AND PT.TIPO_PRODOTTO <> 'Conti correnti' + AND PT.RETE = @Rete + AND PT.cod_fiscale = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S25Anagrafica.sql b/sql/storedTestbes/C6MartPeriodico_PL_S25Anagrafica.sql new file mode 100644 index 00000000..d8734200 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S25Anagrafica.sql @@ -0,0 +1,32 @@ +CREATE procedure [C6MartPeriodico].[PL_S25Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [Cliente] + ,[DatadiNascita] + ,[ETA] + ,[Professione] + ,[StatoCivile] + ,[NucleoFamiliare] + ,[Residenza] + ,[CodiceFiscale] + ,[CodicePB] + ,[CodiceRete] + ,[CodiceContratto] + ,[StatoContratto] + ,[DataSottoscrizione] + ,[DataPerfezionamento] + ,[FasciaCPP] + ,[IndirizzoEmail] + ,[ProduzioneReport] + ,[Indirizzo] + ,[CAP] + ,[Citta] + ,[Provincia] + ,[Nazione] + ,[PRESSO] + FROM [C6MartPeriodico].[TB_S25Anagrafica] + WHERE [CodiceRete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S25Anagrafica_BkUpParall.sql b/sql/storedTestbes/C6MartPeriodico_PL_S25Anagrafica_BkUpParall.sql new file mode 100644 index 00000000..6a9d89e1 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S25Anagrafica_BkUpParall.sql @@ -0,0 +1,100 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S25Anagrafica] 'F', 'CSCGPP34A03L050L' +CREATE procedure [C6MartPeriodico].[PL_S25Anagrafica_BkUpParall] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + --V Indirizzo Secondo AULETTA + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') + ' ' else '' end + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') + ' ' else '' end + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_SOTT) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + CONTRATTOSEI.FASCIA_CPP AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + --ANAG_CLIENTI.CAP AS CAP, + -- CONTRATTOSEI.[CAP] AS CAP, + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' + then isnull(CONTRATTOSEI.CAP,'') + else '' + end as CAP, + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + --CONTRATTOSEI.[Prov] AS Provincia, + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' + then isnull(CONTRATTOSEI.[Prov],'') + else CONTRATTOSEI.[NAZIONE] + end as Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + CONTRATTOSEI.[Presso] AS PRESSO + FROM + [C6MartPeriodico].CONTRATTOSEI -- TABELLA BASE + INNER JOIN + C6MARTPERIODICO.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MARTPERIODICO.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + LEFT JOIN + C6MARTPERIODICO.ANAG_CLIENTI_PREV + ON + ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + LEFT JOIN + C6MARTPERIODICO.DATI_REPORT + ON + ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + WHERE 1 = 1 + AND ANAG_CLIENTI.RETE = @RETE + AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S26PatrimonioImmobiliare.sql b/sql/storedTestbes/C6MartPeriodico_PL_S26PatrimonioImmobiliare.sql new file mode 100644 index 00000000..93bab034 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S26PatrimonioImmobiliare.sql @@ -0,0 +1,21 @@ +CREATE procedure [C6MartPeriodico].[PL_S26PatrimonioImmobiliare] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + SELECT + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S27ALtroPatrimonio.sql b/sql/storedTestbes/C6MartPeriodico_PL_S27ALtroPatrimonio.sql new file mode 100644 index 00000000..cd64c7be --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S27ALtroPatrimonio.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_S27ALtroPatrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + SELECT + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM + C6MartPeriodico.PATRIMONIO_ALTRO + WHERE + PATRIMONIO_ALTRO.RETE = @Rete + AND PATRIMONIO_ALTRO.COD_FISCALE = @CodiceFiscale + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S2PatrimonioFinanziario.sql b/sql/storedTestbes/C6MartPeriodico_PL_S2PatrimonioFinanziario.sql new file mode 100644 index 00000000..8c9bef3d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S2PatrimonioFinanziario.sql @@ -0,0 +1,312 @@ +-- Stored procedure +-- ============================================= +-- Author: Luca De Lisio +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S2PatrimonioFinanziario] 'F','LNTNNE59L06F205C' +CREATE procedure [C6MartPeriodico].[PL_S2PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SELECT + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + --PRODOTTI BF ESCLUSI GLI ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + --DETTAGLIO ASUL SENZA SKANDIA + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --CON SKANDIA + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_S2PatrimonioFinanziario] Script Date: 10/02/2022 15:57:42 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: Luca De Lisio +---- Create date: +---- Description: +---- ============================================= +----[C6MartPeriodico].[PL_S2PatrimonioFinanziario] 'F','LNTNNE59L06F205C' +--ALTER procedure [C6MartPeriodico].[PL_S2PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +--SELECT +-- A.Banca, +-- A.Ordinamento, +-- A.AssetClassId, +-- A.AssetClassName, +-- cast(A.Controvalore as decimal(19,6)) Controvalore, +-- A.Percentuale, +-- cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +--FROM +--( +-- SELECT DISTINCT +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Fideuram' +-- END AS Banca, +-- ASSETCLASS.ORDINAMENTO AS Ordinamento, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') +-- ) * 100 AS Percentuale +-- FROM ( +-- --PRODOTTI BF ESCLUSI GLI ASUL +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- and patrbf.id_area <> 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +---- SELECT +---- ASSETPERC.ID_ASSETCLASS, +---- PATRBF.CTV*ASSETPERC.PERC as Controvalore +---- FROM +---- C6MartPeriodico.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MartPeriodico.ASSET_PERC ASSETPERC +---- ON +---- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +---- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +---- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN +---- C6MartPeriodico.ClientiConCCNegativo CCNegativo +---- ON +---- PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- WHERE +---- --ELIMINO I CC CON SALDO NEGATIVO +---- PATRBF.TIPO_PRODOTTO = 'CC' +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND CCNegativo.Cod_Fiscale IS NULL +---- UNION ALL +-- --DETTAGLIO ASUL SENZA SKANDIA +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --CON SKANDIA +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI +-- LEFT OUTER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI NON A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI +-- LEFT OUTER JOIN +-- C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MartPeriodico.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--ORDER BY A.ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S31PatrimonioFinanziarioIntermediario.sql b/sql/storedTestbes/C6MartPeriodico_PL_S31PatrimonioFinanziarioIntermediario.sql new file mode 100644 index 00000000..e49cea98 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S31PatrimonioFinanziarioIntermediario.sql @@ -0,0 +1,29 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S31PatrimonioFinanziarioIntermediario] 'F','BRTVTR64T13L219G' +CREATE procedure [C6MartPeriodico].[PL_S31PatrimonioFinanziarioIntermediario] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SELECT DISTINCT + PATRIMONIO_TERZI.INTERMEDIARIO as Intermediario, + SUM(ROUND(PATRIMONIO_TERZI.CTV,2)) OVER (PARTITION BY PATRIMONIO_TERZI.INTERMEDIARIO) as Controvalore, + (SUM(PATRIMONIO_TERZI.CTV) OVER (PARTITION BY PATRIMONIO_TERZI.INTERMEDIARIO)/ + SUM(PATRIMONIO_TERZI.CTV) OVER (PARTITION BY 'Totale'))*100 as Percentuale, + SUM(PATRIMONIO_TERZI.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM + C6MartPeriodico.PATRIMONIO_TERZI + WHERE + PATRIMONIO_TERZI.RETE = @Rete + AND PATRIMONIO_TERZI.COD_FISCALE = @CodiceFiscale + ORDER BY + PATRIMONIO_TERZI.INTERMEDIARIO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S32PatrimonioFinanziarioMAssetClass.sql b/sql/storedTestbes/C6MartPeriodico_PL_S32PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..914ad9ac --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S32PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,62 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_S32PatrimonioFinanziarioMAssetClass] 'F', 'BRCRRT70L21A390C' +CREATE procedure [C6MartPeriodico].[PL_S32PatrimonioFinanziarioMAssetClass] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT DISTINCT + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + ORDER BY + ASSETCLASS.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S36ProfiloRischio.sql b/sql/storedTestbes/C6MartPeriodico_PL_S36ProfiloRischio.sql new file mode 100644 index 00000000..6ed871e1 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S36ProfiloRischio.sql @@ -0,0 +1,29 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S36ProfiloRischio] 'F','GRNNTN55B07I158D' +CREATE procedure [C6MartPeriodico].[PL_S36ProfiloRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SELECT + MIFID.PROFILO_ASS AS codiceProfilo, + PROFILIDIRISCHIO.NOMEPROFILO as nomeProfilo, + DBO.TOSHORTDATESTRING(MIFID.DATA_INIZIO_VAL) AS dataInizioValidita, + CODIFICA_RISCHIO.MAX_VAR as varMassimo + FROM + C6MARTPERIODICO.MIFID AS MIFID + INNER JOIN C6MARTPERIODICO.CODIFICA_RISCHIO AS CODIFICA_RISCHIO + ON MIFID.PROFILO_ASS = CODIFICA_RISCHIO.PROFILO + INNER JOIN DBO.ProfiliDiRischio_preMUA AS PROFILIDIRISCHIO + ON PROFILIDIRISCHIO.CODICEPROFILO = CODIFICA_RISCHIO.PROFILO + WHERE 1 = 1 + AND MIFID.RETE = @Rete + AND MIFID.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S37PiramideModello.sql b/sql/storedTestbes/C6MartPeriodico_PL_S37PiramideModello.sql new file mode 100644 index 00000000..32fae9e5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S37PiramideModello.sql @@ -0,0 +1,30 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S37PiramideModello] 'F','BCCLVI34M18F335J' +CREATE procedure [C6MartPeriodico].[PL_S37PiramideModello] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + AREA_BISOGNO.ID_AREA AS Need_Breve, -- NOME BREVE DELL'AREA DI BISOGNO + PIRAMIDE_MOD.NOME_PROGETTO AS Nome_Progetto, -- NOME DEL PROGETTO (AREA INV) + ISNULL(PIRAMIDE_MOD.PERC_AREA,0) AS Perc_Need, -- PERCENTUALE DI ALLOCAZIONE SULL'AREA DI BISOGNO + PIRAMIDE_MOD.ORIZZ_TEMP AS Orizz_Temp, -- ORIZZONTE TEMPORALE DEL PROGETTO + SUM(ISNULL(PIRAMIDE_MOD.PERC_AREA,0)) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE, AREA_BISOGNO.ID_AREA) AS Totale_Percentuale, -- PERCENTUALE DI ALLOCAZIONE DEI PROGETTI + SUM(ISNULL(PIRAMIDE_MOD.PERC_AREA,0)) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE) AS Totale, + COUNT(CASE WHEN AREA_BISOGNO.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NOT NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE) AS NumeroProgettiInv, + AREA_BISOGNO.ORDINAMENTO AS Ordinamento + FROM C6MartPeriodico.AREA_BISOGNO + LEFT JOIN C6MartPeriodico.PIRAMIDE_MOD + ON PIRAMIDE_MOD.ID_AREA = AREA_BISOGNO.ID_AREA + AND((PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NOT NULL) + OR PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE')) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + WHERE AREA_BISOGNO.ORDINAMENTO < 6 + ORDER BY AREA_BISOGNO.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S42RischioDiversificazione.sql b/sql/storedTestbes/C6MartPeriodico_PL_S42RischioDiversificazione.sql new file mode 100644 index 00000000..839841fc --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S42RischioDiversificazione.sql @@ -0,0 +1,145 @@ +-- [C6MartPeriodico].[PL_S42RischioDiversificazione] 'F','BNNDRC23B44E689L' +CREATE procedure [C6MartPeriodico].[PL_S42RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete +SELECT +K.COD_FISCALE, +K.RETE, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' when k.rete = 'S' then 'Sanpaolo Invest' else 'IW Private Inv.' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY 11 +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_S42RischioDiversificazione] Script Date: 10/02/2022 15:59:33 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- [C6MartPeriodico].[PL_S42RischioDiversificazione] 'F','BNNDRC23B44E689L' +--ALTER procedure [C6MartPeriodico].[PL_S42RischioDiversificazione] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- declare @contaCC as int +-- select @contaCC = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete +-- declare @contaPOS as int +-- select @contaPOS = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where cod_fiscale = @codiceFiscale and rete = @rete +--SELECT +--K.COD_FISCALE, +--K.RETE, +--CASE +-- WHEN (@contaPOS - @contacc = 0) THEN 0 +-- ELSE VAR_PERC_PTF +--END AS VAR, +--CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +--CASE +-- WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 +-- --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' +-- ELSE null +--END AS coperturaString, +--beneficio as diversificazione, +--CASE +-- WHEN (@contaPOS - @contacc = 0) THEN 100 +-- ELSE COPERTURA +--END AS COPERTURA, +--case +--when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +--when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +--ELSE '' +--END AS PATRIMONIO, +--case +-- when b.profilo is null then -1 +-- else b.profilo +--end as profiloCode, +--b.max_var as var_profilo, +----V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +----V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +--case +--when cod_Aggreg = 'COMPLESSIVO' then 3 +--when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +--ELSE '' +--END AS Ordine +--FROM +--C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a +-- ON k.cod_fiscale = a.cod_fiscale and +-- k.rete = a.rete +-- left outer join +--C6Martperiodico.CODIFICA_RISCHIO b on +--A.PROFILO_ASS=B.PROFILO +--WHERE +----A.PROFILO_ASS=B.PROFILO +----AND K.RETE=A.RETE +----AND K.COD_FISCALE= A.COD_FISCALE +--COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +--AND k.COD_FISCALE = @COdiceFISCALE +--AND k.RETE= @RETE +--ORDER BY 11 +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S43BISDettaglioProdottiBF.sql b/sql/storedTestbes/C6MartPeriodico_PL_S43BISDettaglioProdottiBF.sql new file mode 100644 index 00000000..8b36f308 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S43BISDettaglioProdottiBF.sql @@ -0,0 +1,299 @@ +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] 'F', 'SPNTTR67T20F205D' +CREATE procedure [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] --'S','MNSLNZ44A58F351Y' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +--distinct +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, +--Bido +SUM(PATRBF.CTV ) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --V THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +--TRINGALI + CASE + WHEN (ISNULL(RISCHIO_AGGR_PROG.copertura,100) < 100) + --v THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_need_progString, +--INIZIO INTERVENTI OMNIA QUIIIIIIII +--case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null +-- and patrbf.tipo_prodotto='CC' +-- and patrbf.id_area='liq') + --then + -- CASE WHEN patrbf.data_sottoscrizione>monatt.data_attivazione + -- THEN + -- dbo.TOSHORTDATESTRING(patrbf.data_sottoscrizione) + -- ELSE + -- CASE WHEN monatt.data_attivazione> '20110211' + -- then dbo.TOSHORTDATESTRING(monatt.data_attivazione) + -- ELSE dbo.TOSHORTDATESTRING('20110211') + -- END + -- END + -- END + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.id_area='liq' + and (patrbf.tipo_prodotto='CC' + or patrbf.isin in('EURO00000009', 'EURO10000007'))) + then dbo.TOSHORTDATESTRING(C6MartPeriodico.getTrimestre2(getdate(),0)) +--FINE INTERVENTI OMNIA + else +--disasteriscare + --dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) +--cancellare inizio + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.chiave_progetto = '2205396' + and patrbf.tipo_prodotto = 'FI') + then '26/06/2014' + else + dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) + end +--cancellare fine + end AS dataAssociazione, -- CAMBIATA TRINGALI--marianna, cambiata per i cc senza data di associazione +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.VERSATO_NETTO_DA_ASSOC,0) end AS VersatoNetto, +CASE WHEN (MONIT.VERSATO_NETTO_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as VersatoNettoString, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.UTILE_PERDITA_DA_ASSOC,0) END AS MinusPlusValenza, +CASE WHEN (MONIT.UTILE_PERDITA_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in ('EURO00000009', 'EURO10000007' )THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_PROD.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK is null THEN 'n.a.' + ELSE NULL + END as creditriskstring, +-- CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + --APC 103 -- Dicembre 2022 + apc.is_APC as isAPC +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + -- LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +--MODIFICA TRINGALI PER PRENDERE DETTAGLIO MONITORAGGIO +C6MartPeriodico.MONITORAGGIO_DETTAGLIO MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + --AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + and PATRBF.POSITION_ID=MONIT.POSITION_ID + --AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONATT +ON + PATRBF.RETE = MONATT.RETE + AND PATRBF.COD_FISCALE = MONATT.COD_FISCALE + AND + (PATRBF.ID_AREA=(CASE WHEN MONATT.ID_AREA='Exr' THEN 'Ext' ELSE MONATT.ID_AREA END) AND PATRBF.ID_AREA <> 'INV' + OR + PATRBF.ID_AREA = 'INV' AND PATRBF.ID_AREA = MONATT.ID_AREA AND PATRBF.ORDINAMENTO_PROGETTO = MONATT.ORDINAMENTO_PROGETTO + ) +--blocchiamo il monitoraggio per i progetti a ctv=0 + --And ctv_monitorato>0 + --aggiunta 18/12/2022 per APC103 +left join C6MartPeriodico.WSEICC apc +on + apc.RETE=PATRBF.RETE + and apc.cod_fiscale=patrbf.cod_fiscale + and PATRBF.ID_CONTRATTO = --apc.CODCONFPR + (case when PATRBF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) + --fine aggiunta 18/12/2022 per APC103 +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND ( PATRBF.CTV <> 0 + --E-DEFAULT4 per gestire l'esposizione dei prodotti con ctv = 0 delle banche in default - 18/1/2016 + or (PATRBF.tipo_prodotto = 'DT' and + PATRBF.cod_interno in ('08558830','08594680','04880930','04867780','03972990', + '04281500','04539780','04657780','04966850','04119400','04931400', + '04556320', + '04119600','04291890','04064530' +))) +ORDER BY + AREASORTORDER, NOME_PROGETTO, PATRBF.CTV DESC -- modifica TRINGALI + --fine E-DEFAULT4 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20160118.sql b/sql/storedTestbes/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20160118.sql new file mode 100644 index 00000000..df7fe45a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20160118.sql @@ -0,0 +1,278 @@ +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] 'S', 'CLCLNE41M47H434D' +CREATE PROCEDURE [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF_20160118] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, +--Bido +SUM(PATRBF.CTV ) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --V THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +--TRINGALI + CASE + WHEN (ISNULL(RISCHIO_AGGR_PROG.copertura,100) < 100) + --v THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_need_progString, +--INIZIO INTERVENTI OMNIA QUIIIIIIII +--case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null +-- and patrbf.tipo_prodotto='CC' +-- and patrbf.id_area='liq') + --then + -- CASE WHEN patrbf.data_sottoscrizione>monatt.data_attivazione + -- THEN + -- dbo.TOSHORTDATESTRING(patrbf.data_sottoscrizione) + -- ELSE + -- CASE WHEN monatt.data_attivazione> '20110211' + -- then dbo.TOSHORTDATESTRING(monatt.data_attivazione) + -- ELSE dbo.TOSHORTDATESTRING('20110211') + -- END + -- END + -- END + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.id_area='liq' + and (patrbf.tipo_prodotto='CC' + or patrbf.isin in('EURO00000009', 'EURO10000007'))) + then dbo.TOSHORTDATESTRING(C6MartPeriodico.getTrimestre2(getdate(),0)) +--FINE INTERVENTI OMNIA + else +--disasteriscare + --dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) +--cancellare inizio + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.chiave_progetto = '2205396' + and patrbf.tipo_prodotto = 'FI') + then '26/06/2014' + else + dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) + end +--cancellare fine + end AS dataAssociazione, -- CAMBIATA TRINGALI--marianna, cambiata per i cc senza data di associazione +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.VERSATO_NETTO_DA_ASSOC,0) end AS VersatoNetto, +CASE WHEN (MONIT.VERSATO_NETTO_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as VersatoNettoString, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.UTILE_PERDITA_DA_ASSOC,0) END AS MinusPlusValenza, +CASE WHEN (MONIT.UTILE_PERDITA_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in ('EURO00000009', 'EURO10000007' )THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_PROD.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK is null THEN 'n.a.' + ELSE NULL + END as creditriskstring, +-- CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + -- LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +--MODIFICA TRINGALI PER PRENDERE DETTAGLIO MONITORAGGIO +C6MartPeriodico.MONITORAGGIO_DETTAGLIO MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + --AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + and PATRBF.POSITION_ID=MONIT.POSITION_ID + --AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONATT +ON + PATRBF.RETE = MONATT.RETE + AND PATRBF.COD_FISCALE = MONATT.COD_FISCALE + AND + (PATRBF.ID_AREA=(CASE WHEN MONATT.ID_AREA='Exr' THEN 'Ext' ELSE MONATT.ID_AREA END) AND PATRBF.ID_AREA <> 'INV' + OR + PATRBF.ID_AREA = 'INV' AND PATRBF.ID_AREA = MONATT.ID_AREA AND PATRBF.ORDINAMENTO_PROGETTO = MONATT.ORDINAMENTO_PROGETTO + ) +--blocchiamo il monitoraggio per i progetti a ctv=0 + --And ctv_monitorato>0 +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <> 0 +ORDER BY + AREASORTORDER, PATRBF.NOME_PROGETTO, PATRBF.CTV DESC -- modifica TRINGALI +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215.sql b/sql/storedTestbes/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215.sql new file mode 100644 index 00000000..6488400a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215.sql @@ -0,0 +1,287 @@ +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] 'S', 'CLCLNE41M47H434D' +CREATE PROCEDURE [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF_20161215] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, +--Bido +SUM(PATRBF.CTV ) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --V THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +--TRINGALI + CASE + WHEN (ISNULL(RISCHIO_AGGR_PROG.copertura,100) < 100) + --v THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_need_progString, +--INIZIO INTERVENTI OMNIA QUIIIIIIII +--case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null +-- and patrbf.tipo_prodotto='CC' +-- and patrbf.id_area='liq') + --then + -- CASE WHEN patrbf.data_sottoscrizione>monatt.data_attivazione + -- THEN + -- dbo.TOSHORTDATESTRING(patrbf.data_sottoscrizione) + -- ELSE + -- CASE WHEN monatt.data_attivazione> '20110211' + -- then dbo.TOSHORTDATESTRING(monatt.data_attivazione) + -- ELSE dbo.TOSHORTDATESTRING('20110211') + -- END + -- END + -- END + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.id_area='liq' + and (patrbf.tipo_prodotto='CC' + or patrbf.isin in('EURO00000009', 'EURO10000007'))) + then dbo.TOSHORTDATESTRING(C6MartPeriodico.getTrimestre2(getdate(),0)) +--FINE INTERVENTI OMNIA + else +--disasteriscare + --dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) +--cancellare inizio + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.chiave_progetto = '2205396' + and patrbf.tipo_prodotto = 'FI') + then '26/06/2014' + else + dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) + end +--cancellare fine + end AS + dataAssociazione, -- CAMBIATA TRINGALI--marianna, cambiata per i cc senza data di associazione +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.VERSATO_NETTO_DA_ASSOC,0) end AS VersatoNetto, +CASE WHEN (MONIT.VERSATO_NETTO_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as VersatoNettoString, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.UTILE_PERDITA_DA_ASSOC,0) END AS MinusPlusValenza, +CASE WHEN (MONIT.UTILE_PERDITA_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in ('EURO00000009', 'EURO10000007' )THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_PROD.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK is null THEN 'n.a.' + ELSE NULL + END as creditriskstring, +-- CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + -- LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +--MODIFICA TRINGALI PER PRENDERE DETTAGLIO MONITORAGGIO +C6MartPeriodico.MONITORAGGIO_DETTAGLIO MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + --AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + and PATRBF.POSITION_ID=MONIT.POSITION_ID + --AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONATT +ON + PATRBF.RETE = MONATT.RETE + AND PATRBF.COD_FISCALE = MONATT.COD_FISCALE + AND + (PATRBF.ID_AREA=(CASE WHEN MONATT.ID_AREA='Exr' THEN 'Ext' ELSE MONATT.ID_AREA END) AND PATRBF.ID_AREA <> 'INV' + OR + PATRBF.ID_AREA = 'INV' AND PATRBF.ID_AREA = MONATT.ID_AREA AND PATRBF.ORDINAMENTO_PROGETTO = MONATT.ORDINAMENTO_PROGETTO + ) +--blocchiamo il monitoraggio per i progetti a ctv=0 + --And ctv_monitorato>0 +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND ( PATRBF.CTV <> 0 + --E-DEFAULT4 per gestire l'esposizione dei prodotti con ctv = 0 delle banche in default - 18/1/2016 + or (PATRBF.tipo_prodotto = 'DT' and + PATRBF.cod_interno in ('08558830','08594680','04880930','04867780','03972990', + '04281500','04539780','04657780','04966850','04119400','04931400', + '04556320', + '04119600','04291890','04064530' +))) + --fine E-DEFAULT4 +ORDER BY + AREASORTORDER, PATRBF.NOME_PROGETTO, PATRBF.CTV DESC -- modifica TRINGALI +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215_B.sql b/sql/storedTestbes/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215_B.sql new file mode 100644 index 00000000..348eabf7 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S43BISDettaglioProdottiBF_20161215_B.sql @@ -0,0 +1,286 @@ +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF] 'F', 'DGHDNC78R19C623G' +CREATE PROCEDURE [C6MartPeriodico].[PL_S43BISDettaglioProdottiBF_20161215_B] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, +--Bido +SUM(PATRBF.CTV ) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --V THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +--TRINGALI + CASE + WHEN (ISNULL(RISCHIO_AGGR_PROG.copertura,100) < 100) + --v THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_need_progString, +--INIZIO INTERVENTI OMNIA QUIIIIIIII +--case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null +-- and patrbf.tipo_prodotto='CC' +-- and patrbf.id_area='liq') + --then + -- CASE WHEN patrbf.data_sottoscrizione>monatt.data_attivazione + -- THEN + -- dbo.TOSHORTDATESTRING(patrbf.data_sottoscrizione) + -- ELSE + -- CASE WHEN monatt.data_attivazione> '20110211' + -- then dbo.TOSHORTDATESTRING(monatt.data_attivazione) + -- ELSE dbo.TOSHORTDATESTRING('20110211') + -- END + -- END + -- END + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.id_area='liq' + and (patrbf.tipo_prodotto='CC' + or patrbf.isin in('EURO00000009', 'EURO10000007'))) + then dbo.TOSHORTDATESTRING(C6MartPeriodico.getTrimestre2(getdate(),0)) +--FINE INTERVENTI OMNIA + else +--disasteriscare + --dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) +--cancellare inizio + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.chiave_progetto = '2205396' + and patrbf.tipo_prodotto = 'FI') + then '26/06/2014' + else + dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) + end +--cancellare fine + end AS dataAssociazione, -- CAMBIATA TRINGALI--marianna, cambiata per i cc senza data di associazione +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.VERSATO_NETTO_DA_ASSOC,0) end AS VersatoNetto, +CASE WHEN (MONIT.VERSATO_NETTO_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as VersatoNettoString, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.UTILE_PERDITA_DA_ASSOC,0) END AS MinusPlusValenza, +CASE WHEN (MONIT.UTILE_PERDITA_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in ('EURO00000009', 'EURO10000007' )THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_PROD.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK is null THEN 'n.a.' + ELSE NULL + END as creditriskstring, +-- CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + -- LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +--MODIFICA TRINGALI PER PRENDERE DETTAGLIO MONITORAGGIO +C6MartPeriodico.MONITORAGGIO_DETTAGLIO MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + --AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + and PATRBF.POSITION_ID=MONIT.POSITION_ID + --AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONATT +ON + PATRBF.RETE = MONATT.RETE + AND PATRBF.COD_FISCALE = MONATT.COD_FISCALE + AND + (PATRBF.ID_AREA=(CASE WHEN MONATT.ID_AREA='Exr' THEN 'Ext' ELSE MONATT.ID_AREA END) AND PATRBF.ID_AREA <> 'INV' + OR + PATRBF.ID_AREA = 'INV' AND PATRBF.ID_AREA = MONATT.ID_AREA AND PATRBF.ORDINAMENTO_PROGETTO = MONATT.ORDINAMENTO_PROGETTO + ) +--blocchiamo il monitoraggio per i progetti a ctv=0 + --And ctv_monitorato>0 +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND ( PATRBF.CTV <> 0 + --E-DEFAULT4 per gestire l'esposizione dei prodotti con ctv = 0 delle banche in default - 18/1/2016 + or (PATRBF.tipo_prodotto = 'DT' and + PATRBF.cod_interno in ('08558830','08594680','04880930','04867780','03972990', + '04281500','04539780','04657780','04966850','04119400','04931400', + '04556320', + '04119600','04291890','04064530' +))) + --fine E-DEFAULT4 +ORDER BY + AREASORTORDER, PATRBF.NOME_PROGETTO, PATRBF.CTV DESC -- modifica TRINGALI +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S43ContoCorrenteBF.sql b/sql/storedTestbes/C6MartPeriodico_PL_S43ContoCorrenteBF.sql new file mode 100644 index 00000000..eab97d78 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S43ContoCorrenteBF.sql @@ -0,0 +1,44 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_S43ContoCorrenteBF] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + distinct + dbo.ToShortDateString(ANAG_CC.DATA_APERTURA) AS datadiSottoscrizione, + ANAG_CC.COD_CC AS conto, + cast(ANAG_CC.SALDOCONTABILE as decimal(15,2)) as Controvalore, + cast(ANAG_CC.SALDODISPONIBILE as decimal(15,2)) as SALDO_DISPONIBILE, + null as creditrisk , + 'n.a.' as creditriskstring, + 0 as var, + null as varString, + 0 as totaleVar, + null as totaleVarString, + apc.is_APC as isAPC + -- spb.CODCONF as CodiceContratto + FROM + C6MartPeriodico.ANAG_CC + left join C6StagingPeriodico.SPB_CONTR_SINTESI spb + on spb.rete=@rete + and spb.CODFIS=@CodiceFiscale + and spb.conto=anag_cc.cod_cc + --aggiunta apc103 + left join C6MartPeriodico.WSEICC apc +on + apc.RETE=@Rete + and apc.cod_fiscale=@CodiceFiscale + and spb.CODCONF = apc.CODCONFC + --(case when PATRBF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) + --fine aggiunta apc103 + WHERE + ANAG_CC.rete= @Rete + AND ANAG_CC.cod_fiscale= @CodiceFiscale + AND ANAG_CC.SALDOCONTABILE < 0 +-- ORDER BY ANAG_CC.SALDOCONTABILE DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S43DettaglioProdottiBF.sql b/sql/storedTestbes/C6MartPeriodico_PL_S43DettaglioProdottiBF.sql new file mode 100644 index 00000000..a2c5df7f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S43DettaglioProdottiBF.sql @@ -0,0 +1,256 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'BNDCRN60H52A181P' +-- [C6MartPeriodico].[PL_S43DettaglioProdottiBF] 'F','BNDCRN60H52A181P' +CREATE procedure [C6MartPeriodico].[PL_S43DettaglioProdottiBF] --'S','MNSLNZ44A58F351Y' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +--distinct +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE +--WHEN AREA.ID_AREA = 'Pre' THEN 'Default' + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + -- 20161219 - mod per far uscire il nome progetto sulle risorse na + WHEN AREA.ID_AREA = 'Na' THEN 'Default' + -- fine 20161219 - mod per far uscire il nome progetto sulle risorse na + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + --APC dicembre 2022 + apc.is_APC as isAPC +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + --LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) + --aggiunta 18/12/2022 per APC103 +left join C6MartPeriodico.WSEICC apc +on + apc.RETE=PATRBF.RETE + and apc.cod_fiscale=patrbf.cod_fiscale + and PATRBF.ID_CONTRATTO = --apc.CODCONFPR + (case when PATRBF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) + --fine aggiunta 18/12/2022 per APC103 +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_PROGETTO,nome_progetto, PATRBF.CTV DESC +END +--select top 1 * from c6martperiodico.patrimonio_bf where tipo_prodotto = 'CC' +--select SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)),ANAG_CC.COD_CC +--from c6martperiodico.anag_cc \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161215.sql b/sql/storedTestbes/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161215.sql new file mode 100644 index 00000000..42eadd69 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161215.sql @@ -0,0 +1,240 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'BNDCRN60H52A181P' +-- [C6MartPeriodico].[PL_S43DettaglioProdottiBF] 'F','DGHDNC78R19C623G' +CREATE procedure [C6MartPeriodico].[PL_S43DettaglioProdottiBF_20161215] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE +--WHEN AREA.ID_AREA = 'Pre' THEN 'Default' + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + --LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_PROGETTO,nome_progetto, PATRBF.CTV DESC +END +--select top 1 * from c6martperiodico.patrimonio_bf where tipo_prodotto = 'CC' +--select SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)),ANAG_CC.COD_CC +--from c6martperiodico.anag_cc \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161219.sql b/sql/storedTestbes/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161219.sql new file mode 100644 index 00000000..a20e7ccb --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S43DettaglioProdottiBF_20161219.sql @@ -0,0 +1,240 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'BNDCRN60H52A181P' +-- [C6MartPeriodico].[PL_S43DettaglioProdottiBF] 'F','BRTMRA27P42Z126N' +CREATE procedure [C6MartPeriodico].[PL_S43DettaglioProdottiBF_20161219] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE +--WHEN AREA.ID_AREA = 'Pre' THEN 'Default' + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + --LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_PROGETTO,nome_progetto, PATRBF.CTV DESC +END +--select top 1 * from c6martperiodico.patrimonio_bf where tipo_prodotto = 'CC' +--select SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)),ANAG_CC.COD_CC +--from c6martperiodico.anag_cc \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql b/sql/storedTestbes/C6MartPeriodico_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql new file mode 100644 index 00000000..0135d6a1 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql @@ -0,0 +1,238 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 febbraio 2009 +-- Description: +-- ============================================= +--select * from c6martperiodico.patrimonio_bf where cod_fiscale = 'BNDCRN60H52A181P' +-- [C6MartPeriodico].[PL_S43DettaglioProdottiBF] 'F','CRORLF58C02L219Y' +CREATE procedure [C6MartPeriodico].[PL_S43DettaglioProdottiBF_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin ='EURO00000009' THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin ='EURO00000009') then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin = 'EURO00000009') + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + --LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_PROGETTO,nome_progetto, PATRBF.CTV DESC +END +--select top 1 * from c6martperiodico.patrimonio_bf where tipo_prodotto = 'CC' +--select SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)),ANAG_CC.COD_CC +--from c6martperiodico.anag_cc \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S43LineaSelfBF.sql b/sql/storedTestbes/C6MartPeriodico_PL_S43LineaSelfBF.sql new file mode 100644 index 00000000..2842f97e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S43LineaSelfBF.sql @@ -0,0 +1,37 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S43LineaSelfBF] 'F','GSTGPL59P03B586G' +CREATE procedure [C6MartPeriodico].[PL_S43LineaSelfBF] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + distinct + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(cast(datasott as varchar)) as DataSott, + CodInterno, + CodSottoProdotto, + apc.is_APC as isAPC + FROM + C6MartPeriodico.ANAG_SELF LS + --aggiunta apc103 + left join C6MartPeriodico.WSEICC apc +on + apc.RETE=@Rete + and apc.cod_fiscale=@CodiceFiscale + and ls.CodConf = apc.CODCONFPR + --(case when PATRBF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) + --fine aggiunta apc103 + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND isnull(ctv,0) < 0 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql b/sql/storedTestbes/C6MartPeriodico_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..6d8dca22 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S43LineaSelfBF] 'F','GSTGPL59P03B586G' +CREATE procedure [C6MartPeriodico].[PL_S43LineaSelfBF_20181214_PreMioFoglio] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(cast(datasott as varchar)) as DataSott + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND isnull(ctv,0) < 0 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S48DettaglioProdotti.sql b/sql/storedTestbes/C6MartPeriodico_PL_S48DettaglioProdotti.sql new file mode 100644 index 00000000..07aa9616 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S48DettaglioProdotti.sql @@ -0,0 +1,99 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S48DettaglioProdotti] 'F', 'LNTNNE59L06F205C' +CREATE procedure [C6MartPeriodico].[PL_S48DettaglioProdotti] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + ON + PATRTERZI.RETE = RISCHIOAGGREG.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGREG.COD_FISCALE + AND RISCHIOAGGREG.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + WHERE 1 = 1 + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.DESCR_GRUPPO_PRODOTTO IS NOT NULL + ORDER BY + OrdinamentoProdotti, + Controvalore DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S49PolizzeAltriIstituti.sql b/sql/storedTestbes/C6MartPeriodico_PL_S49PolizzeAltriIstituti.sql new file mode 100644 index 00000000..4e1d0c89 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S49PolizzeAltriIstituti.sql @@ -0,0 +1,31 @@ +-- ============================================= +-- Author: Marco Gentilezza +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S49PolizzeAltriIstituti]'S', 'MRTRRT57T17E758I' +CREATE procedure [C6MartPeriodico].[PL_S49PolizzeAltriIstituti] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' + WHERE PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S50FondiAltriIstituti.sql b/sql/storedTestbes/C6MartPeriodico_PL_S50FondiAltriIstituti.sql new file mode 100644 index 00000000..00d8808b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S50FondiAltriIstituti.sql @@ -0,0 +1,63 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S50FondiAltriIstituti] 'S', 'MRTRRT57T17E758I' +CREATE procedure [C6MartPeriodico].[PL_S50FondiAltriIstituti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + WHERE + PATRTERZI.rete = @Rete + and PATRTERZI.cod_fiscale = @CodiceFiscale + --AND PATRTERZI.TIPO_PRODOTTO = 'Fondi pensione' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S51ContoCorrenteAI.sql b/sql/storedTestbes/C6MartPeriodico_PL_S51ContoCorrenteAI.sql new file mode 100644 index 00000000..19b957c3 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S51ContoCorrenteAI.sql @@ -0,0 +1,23 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PL_S51ContoCorrenteAI] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + CCTerzi.INTERMEDIARIO AS Intermediario, + CCTerzi.COD_CC AS ContoCorrente, + CCTerzi.SALDO AS Saldo, + null as creditrisk, + 'n.a.' as creditriskstring, + 0.00 as var + FROM + C6MartPeriodico.ANAG_CC_Terzi CCTerzi + WHERE + CCTerzi.rete= @Rete + AND CCTerzi.cod_fiscale= @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S56PatrimonioBFAreeBisogno.sql b/sql/storedTestbes/C6MartPeriodico_PL_S56PatrimonioBFAreeBisogno.sql new file mode 100644 index 00000000..45a7d53c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S56PatrimonioBFAreeBisogno.sql @@ -0,0 +1,64 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S56PatrimonioBFAreeBisogno] 'F','TNNLGU58R01B259Y' +CREATE procedure [C6MartPeriodico].[PL_S56PatrimonioBFAreeBisogno] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + COALESCE(PIRAMIDE_VERT.CTV_AREA, 0.00) AS ControValore, + COALESCE( + CAST(100*(PIRAMIDE_VERT.CTV_AREA / + SUM(COALESCE(PIRAMIDE_VERT.CTV_AREA,0)) OVER (PARTITION BY PIRAMIDE_VERT.RETE, PIRAMIDE_VERT.COD_FISCALE)) AS DECIMAL(5,2)) + , 0.00) AS Peso, + COALESCE(RISCHIO_AGGREGATO.VAR_PERC_PTF, 0.00) AS Var_NeedArea, + NULL AS Var_NeedAreaString, + COALESCE(RISCHIO_AGGREGATO.COPERTURA, 0) AS Copertura_NeedArea, + CASE + WHEN RISCHIO_AGGREGATO.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIO_AGGREGATO.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS Copertura_NeedAreaString, + NULL AS RischioRelativo, -- TODO: CHIEDERE + NULL AS Nota, -- TODO: CHIEDERE + SUM(COALESCE(PIRAMIDE_VERT.CTV_AREA,0)) OVER (PARTITION BY 'Totale') AS Somma_Controval, + RISCHIO_TOTALE.VAR_PERC_PTF AS Var_tot, + RISCHIO_TOTALE.COPERTURA AS Copertura_tot, + CASE + WHEN RISCHIO_TOTALE.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIO_TOTALE.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS Copertura_totString + FROM C6MartPeriodico.AREA_BISOGNO + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT RETE, COD_FISCALE, LEFT(ID_AREA,3) AS ID_AREA, SUM(COALESCE(CTV_AREA,0)) AS CTV_AREA + FROM C6MartPeriodico.PIRAMIDE_VERT + WHERE PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + GROUP BY RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT ON PIRAMIDE_VERT.ID_AREA = AREA_BISOGNO.ID_AREA +-- LEFT JOIN C6MartPeriodico.PIRAMIDE_VERT +-- ON LEFT(PIRAMIDE_VERT.ID_AREA,3) = AREA_BISOGNO.ID_AREA +-- AND PIRAMIDE_VERT.RETE = @Rete +-- AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO + ON RISCHIO_AGGREGATO.COD_AGGREG = 'PIRAMIDE|' + LEFT(AREA_BISOGNO.ID_AREA,3) + AND RISCHIO_AGGREGATO.RETE = @Rete + AND RISCHIO_AGGREGATO.COD_FISCALE = @CodiceFiscale + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIO_TOTALE + ON RISCHIO_TOTALE.COD_AGGREG = 'PIRAMIDE' + AND RISCHIO_TOTALE.RETE = @Rete + AND RISCHIO_TOTALE.COD_FISCALE = @CodiceFiscale + WHERE AREA_BISOGNO.ORDINAMENTO < 6 + ORDER BY AREA_BISOGNO.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S57ConfrontoPiramidi.sql b/sql/storedTestbes/C6MartPeriodico_PL_S57ConfrontoPiramidi.sql new file mode 100644 index 00000000..3267fb90 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S57ConfrontoPiramidi.sql @@ -0,0 +1,203 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S57ConfrontoPiramidi] 'F','BNNDRC23B44E689L' +CREATE procedure [C6MartPeriodico].[PL_S57ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + LEFT(ID_AREA,3) AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc') + --V + DECLARE @TOTCC AS INT + SELECT @TOTCC = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND TIPO_PRODOTTO = 'Cc' + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCC = @TOT THEN 0.00 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + WHEN (@TOTCC <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'jjn.c.' + --V SOLO CC -> VAR = 0 + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCC = @TOT THEN NULL + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCC = @TOT THEN NULL + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S57ConfrontoPiramidi_OLD.sql b/sql/storedTestbes/C6MartPeriodico_PL_S57ConfrontoPiramidi_OLD.sql new file mode 100644 index 00000000..2e48a636 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S57ConfrontoPiramidi_OLD.sql @@ -0,0 +1,204 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S57ConfrontoPiramidi] 'S','CCRPTR55A08H501P' +CREATE procedure [C6MartPeriodico].[PL_S57ConfrontoPiramidi_OLD] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + LEFT(ID_AREA,3) AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc') + --V + DECLARE @TOTCC DECIMAL (20,2) + SELECT @TOTCC = ISNULL(CONTROVALORE,0) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'Cc' + --V + DECLARE @TOT DECIMAL (20,2) + SELECT @TOT = SUM(ISNULL(CONTROVALORE,0)) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + --V SOLO CC -> VAR = 0 + WHEN @TOTCC = @TOT THEN NULL + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN @TOTCC = @TOT THEN NULL + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S6PatrimonioFinanziario.sql b/sql/storedTestbes/C6MartPeriodico_PL_S6PatrimonioFinanziario.sql new file mode 100644 index 00000000..d7a3015b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S6PatrimonioFinanziario.sql @@ -0,0 +1,144 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S6PatrimonioFinanziario] 'F','GZZSLD52E20G869L' +CREATE procedure [C6MartPeriodico].[PL_S6PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + DECLARE @NOMERETE VARCHAR(20) + IF @Rete = 'F' + SET @NOMERETE = 'Fideuram' + ELSE IF @Rete = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + SELECT + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Intermediario, + Ordine, + @NOMERETE AS Banca, + -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv + SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine)) / + (SUM(ctv) over (partition by 'Totale')) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + @NOMERETE AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MartPeriodico.PATRIMONIO_BF patrBF +-- LEFT JOIN C6MartPeriodico.ClientiConCCNegativo CCNegativo +-- ON PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- AND PATRBF.TIPO_PRODOTTO = 'CC' + WHERE 1 = 1 + AND patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO + and patrBF.id_area <> 'cc' + UNION ALL + SELECT + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + AND patrTerzi.Rete = @Rete + AND patrTerzi.Cod_Fiscale = @CodiceFiscale + GROUP BY patrTerzi.Intermediario + ) PATR + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_S6PatrimonioFinanziario] Script Date: 10/02/2022 15:58:38 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +---- [C6MartPeriodico].[PL_S6PatrimonioFinanziario] 'F','GZZSLD52E20G869L' +--ALTER procedure [C6MartPeriodico].[PL_S6PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @Rete = 'F' +-- SET @NOMERETE = 'Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- Intermediario, +-- Ordine, +-- Banca, +-- Controvalore, +-- round(Percentuale,2) as Percentuale +-- FROM +-- ( +-- SELECT DISTINCT +-- Intermediario, +-- Ordine, +-- @NOMERETE AS Banca, +-- -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv +-- SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, +-- ( +-- (SUM(ctv) over (partition by Intermediario,Ordine)) / +-- (SUM(ctv) over (partition by 'Totale')) +-- ) * 100 AS PERCENTUALE +-- FROM +-- ( +-- SELECT +-- @NOMERETE AS Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 1 AS ordine +-- FROM C6MartPeriodico.PATRIMONIO_BF patrBF +---- LEFT JOIN C6MartPeriodico.ClientiConCCNegativo CCNegativo +---- ON PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- AND PATRBF.TIPO_PRODOTTO = 'CC' +-- WHERE 1 = 1 +-- AND patrBF.Rete = @Rete +-- AND patrBF.Cod_Fiscale = @CodiceFiscale +-- --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO +-- and patrBF.id_area <> 'cc' +-- UNION ALL +-- SELECT +-- Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 2 AS ordine +-- FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi +-- WHERE 1 = 1 +-- AND patrTerzi.Rete = @Rete +-- AND patrTerzi.Cod_Fiscale = @CodiceFiscale +-- GROUP BY patrTerzi.Intermediario +-- ) PATR +-- ) A +-- WHERE CONTROVALORE IS NOT NULL +-- ORDER BY Ordine +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S75GradoCopertura.sql b/sql/storedTestbes/C6MartPeriodico_PL_S75GradoCopertura.sql new file mode 100644 index 00000000..ca2c08f1 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S75GradoCopertura.sql @@ -0,0 +1,352 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S75GradoCopertura] 'F','GRNNTN55B07I158D' +CREATE procedure [C6MartPeriodico].[PL_S75GradoCopertura] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @varCompl decimal(15,3) + DECLARE @coperturaCompl decimal(15,3) + DECLARE @ctvCompl decimal(15,3) + DECLARE @saldoCC decimal(15,3) + --CALCOLO PATRIMONI E ESTRAZIONE VAR + SELECT + @Rete AS Rete, + @CodiceFiscale as CodiceFiscale, + CASE @Rete + WHEN 'F' THEN 'Patrimonio Fideuram' + WHEN 'S' THEN 'Patrimonio San Paolo Invest' + ELSE ' Patrimonio IW Private Inv.' + END AS NomePatrimonio, +-- MAX(patrBF.CTV - patrBF.ContoCorrente) AS Controvalore, +-- MAX(patrBF.ContoCorrente) AS ControvaloreCC, +-- MAX(RISCHIO.VAR_PERC_PTF) AS VarPatrimonio, +-- MAX(RISCHIO.COPERTURA) AS Copertura, + patrBF.PatrimonioSenzaCC AS Controvalore, + --patrBF.CTV - patrBF.ContoCorrente AS Controvalore, + patrBF.ContoCorrente AS ControvaloreCC, + RISCHIO.VAR_PERC_PTF AS VarPatrimonio, + RISCHIO.COPERTURA AS Copertura, + 1 AS ORDINE INTO #TEMP75 + FROM + C6MartPeriodico.vPatrimoniobfAggregato patrBF + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO + ON + RISCHIO.RETE = patrBF.RETE + AND RISCHIO.COD_FISCALE = patrBF.COD_FISCALE + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|BF' + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + UNION ALL + SELECT + A.Rete, + A.CodiceFiscale, + A.NomePatrimonio, + A.Controvalore, + A.ControvaloreCC, + A.VarPatrimonio, + A.Copertura, + A.ORDINE + FROM( + SELECT + @Rete AS Rete, + @CodiceFiscale as CodiceFiscale, + 'Patrimonio Altri Istituti' AS NomePatrimonio, + SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END,2)) AS Controvalore, + SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN patrTerzi.CTV ELSE 0 END,2)) AS ControvaloreCC, + MAX(RISCHIO.VAR_PERC_PTF) as VarPatrimonio, + MAX(RISCHIO.COPERTURA) as Copertura, + 2 AS ORDINE + FROM + C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO + ON + RISCHIO.RETE = patrTerzi.RETE + AND RISCHIO.COD_FISCALE = patrTerzi.COD_FISCALE + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|TERZI' + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.COD_FISCALE = @CodiceFiscale + ) A + WHERE ISNULL(A.CONTROVALORE,0)>0 + -- SE IL PATRIMONIO È SOLO 1 NON VA CALCOLATO IL COMPLESSIVO + IF @@ROWCOUNT > 1 + BEGIN + --CALCOLO IL PATRIMONIO COMPLESSIVO ED ESTRAGGO IL VAR + SELECT + @ctvCompl=SUM(patr.CONTROVALORE), + @saldoCC=SUM(patr.CONTROVALORECC), + @varCompl=MAX(RISCHIO.VAR_PERC_PTF), + @coperturaCompl=MAX(RISCHIO.COPERTURA) + FROM + #TEMP75 patr + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO + ON + RISCHIO.RETE = patr.RETE + AND RISCHIO.COD_FISCALE = patr.CodiceFiscale + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO' + --RESTITUISCO I PATRIMONI + SELECT + Ordine, + Nomepatrimonio, + Controvalore, + CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END AS CCPresente, + (CONTROVALORE/@CTVCompl)*100 AS Percentuale, + VARPATRIMONIO AS VAR, + Copertura, + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS varString, + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS coperturaString, + -- aggiunta per valutare la presenza di controcorrente + CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto + -- fine aggiunta per valutare la presenza di controcorrente + FROM #TEMP75 + WHERE CONTROVALORE IS NOT NULL + UNION ALL + SELECT + 3, + 'Patrimonio Complessivo', + @CTVCompl, + CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END as CCPRESENTE, + 100.00 as percentuale, + @varCompl, + @coperturaCompl, + CASE + WHEN @coperturaCompl IS NULL THEN 'n.c.' + WHEN @coperturaCompl = 0 THEN 'n.c.' + ELSE NULL + END AS varString, + CASE + WHEN @coperturaCompl IS NULL THEN 'n.c.' + WHEN @coperturaCompl = 0 THEN 'n.c.' + ELSE NULL + END AS coperturaString, + -- aggiunta per valutare la presenza di controcorrente + CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto + -- fine aggiunta per valutare la presenza di controcorrente + ORDER BY 1 + END + ELSE + BEGIN + --RESTITUISCO L'UNICO PATRIMONIO PRESENTE + SELECT + Nomepatrimonio, + Controvalore, + CASE WHEN CONTROVALORECC > 0 THEN 1 ELSE 0 END as CCPresente, + 100.00 as Percentuale, + VARPATRIMONIO AS VAR, + Copertura, + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS varString, + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS coperturaString, + -- aggiunta per valutare la presenza di controcorrente + CASE WHEN CONTROVALORECC <> 0 THEN 1 ELSE 0 END as NotaCCNetto + -- fine aggiunta per valutare la presenza di controcorrente + FROM #TEMP75 + WHERE CONTROVALORE IS NOT NULL + END +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_S75GradoCopertura] Script Date: 10/02/2022 16:00:46 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +---- [C6MartPeriodico].[PL_S75GradoCopertura] 'F','GRNNTN55B07I158D' +--ALTER procedure [C6MartPeriodico].[PL_S75GradoCopertura] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- DECLARE @varCompl decimal(15,3) +-- DECLARE @coperturaCompl decimal(15,3) +-- DECLARE @ctvCompl decimal(15,3) +-- DECLARE @saldoCC decimal(15,3) +-- --CALCOLO PATRIMONI E ESTRAZIONE VAR +-- SELECT +-- @Rete AS Rete, +-- @CodiceFiscale as CodiceFiscale, +-- CASE @Rete +-- WHEN 'F' THEN 'Patrimonio Fideuram' +-- ELSE 'Patrimonio San Paolo Invest' +-- END AS NomePatrimonio, +---- MAX(patrBF.CTV - patrBF.ContoCorrente) AS Controvalore, +---- MAX(patrBF.ContoCorrente) AS ControvaloreCC, +---- MAX(RISCHIO.VAR_PERC_PTF) AS VarPatrimonio, +---- MAX(RISCHIO.COPERTURA) AS Copertura, +-- patrBF.PatrimonioSenzaCC AS Controvalore, +-- --patrBF.CTV - patrBF.ContoCorrente AS Controvalore, +-- patrBF.ContoCorrente AS ControvaloreCC, +-- RISCHIO.VAR_PERC_PTF AS VarPatrimonio, +-- RISCHIO.COPERTURA AS Copertura, +-- 1 AS ORDINE INTO #TEMP75 +-- FROM +-- C6MartPeriodico.vPatrimoniobfAggregato patrBF +-- LEFT JOIN +-- C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO +-- ON +-- RISCHIO.RETE = patrBF.RETE +-- AND RISCHIO.COD_FISCALE = patrBF.COD_FISCALE +-- AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|BF' +-- WHERE +-- patrBF.Rete = @Rete +-- AND patrBF.Cod_Fiscale = @CodiceFiscale +-- UNION ALL +-- SELECT +-- A.Rete, +-- A.CodiceFiscale, +-- A.NomePatrimonio, +-- A.Controvalore, +-- A.ControvaloreCC, +-- A.VarPatrimonio, +-- A.Copertura, +-- A.ORDINE +-- FROM( +-- SELECT +-- @Rete AS Rete, +-- @CodiceFiscale as CodiceFiscale, +-- 'Patrimonio Altri Istituti' AS NomePatrimonio, +-- SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END,2)) AS Controvalore, +-- SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN patrTerzi.CTV ELSE 0 END,2)) AS ControvaloreCC, +-- MAX(RISCHIO.VAR_PERC_PTF) as VarPatrimonio, +-- MAX(RISCHIO.COPERTURA) as Copertura, +-- 2 AS ORDINE +-- FROM +-- C6MartPeriodico.PATRIMONIO_TERZI patrTerzi +-- LEFT JOIN +-- C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO +-- ON +-- RISCHIO.RETE = patrTerzi.RETE +-- AND RISCHIO.COD_FISCALE = patrTerzi.COD_FISCALE +-- AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|TERZI' +-- WHERE +-- patrTerzi.Rete = @Rete +-- and patrTerzi.COD_FISCALE = @CodiceFiscale +-- ) A +-- WHERE ISNULL(A.CONTROVALORE,0)>0 +-- -- SE IL PATRIMONIO È SOLO 1 NON VA CALCOLATO IL COMPLESSIVO +-- IF @@ROWCOUNT > 1 +-- BEGIN +-- --CALCOLO IL PATRIMONIO COMPLESSIVO ED ESTRAGGO IL VAR +-- SELECT +-- @ctvCompl=SUM(patr.CONTROVALORE), +-- @saldoCC=SUM(patr.CONTROVALORECC), +-- @varCompl=MAX(RISCHIO.VAR_PERC_PTF), +-- @coperturaCompl=MAX(RISCHIO.COPERTURA) +-- FROM +-- #TEMP75 patr +-- LEFT JOIN +-- C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO +-- ON +-- RISCHIO.RETE = patr.RETE +-- AND RISCHIO.COD_FISCALE = patr.CodiceFiscale +-- AND RISCHIO.COD_AGGREG = 'COMPLESSIVO' +-- --RESTITUISCO I PATRIMONI +-- SELECT +-- Ordine, +-- Nomepatrimonio, +-- Controvalore, +-- CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END AS CCPresente, +-- (CONTROVALORE/@CTVCompl)*100 AS Percentuale, +-- VARPATRIMONIO AS VAR, +-- Copertura, +-- CASE +-- WHEN COPERTURA IS NULL THEN 'n.c.' +-- WHEN COPERTURA = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS varString, +-- CASE +-- WHEN COPERTURA IS NULL THEN 'n.c.' +-- WHEN COPERTURA = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS coperturaString, +-- -- aggiunta per valutare la presenza di controcorrente +-- CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto +-- -- fine aggiunta per valutare la presenza di controcorrente +-- FROM #TEMP75 +-- WHERE CONTROVALORE IS NOT NULL +-- UNION ALL +-- SELECT +-- 3, +-- 'Patrimonio Complessivo', +-- @CTVCompl, +-- CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END as CCPRESENTE, +-- 100.00 as percentuale, +-- @varCompl, +-- @coperturaCompl, +-- CASE +-- WHEN @coperturaCompl IS NULL THEN 'n.c.' +-- WHEN @coperturaCompl = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS varString, +-- CASE +-- WHEN @coperturaCompl IS NULL THEN 'n.c.' +-- WHEN @coperturaCompl = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS coperturaString, +-- -- aggiunta per valutare la presenza di controcorrente +-- CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto +-- -- fine aggiunta per valutare la presenza di controcorrente +-- ORDER BY 1 +-- END +-- ELSE +-- BEGIN +-- --RESTITUISCO L'UNICO PATRIMONIO PRESENTE +-- SELECT +-- Nomepatrimonio, +-- Controvalore, +-- CASE WHEN CONTROVALORECC > 0 THEN 1 ELSE 0 END as CCPresente, +-- 100.00 as Percentuale, +-- VARPATRIMONIO AS VAR, +-- Copertura, +-- CASE +-- WHEN COPERTURA IS NULL THEN 'n.c.' +-- WHEN COPERTURA = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS varString, +-- CASE +-- WHEN COPERTURA IS NULL THEN 'n.c.' +-- WHEN COPERTURA = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS coperturaString, +-- -- aggiunta per valutare la presenza di controcorrente +-- CASE WHEN CONTROVALORECC <> 0 THEN 1 ELSE 0 END as NotaCCNetto +-- -- fine aggiunta per valutare la presenza di controcorrente +-- FROM #TEMP75 +-- WHERE CONTROVALORE IS NOT NULL +-- END +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S75GradoCoperturaCompl.sql b/sql/storedTestbes/C6MartPeriodico_PL_S75GradoCoperturaCompl.sql new file mode 100644 index 00000000..14e294e8 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S75GradoCoperturaCompl.sql @@ -0,0 +1,14 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S75GradoCopertura] 'F','GRNNTN55B07I158D' +CREATE procedure [C6MartPeriodico].[PL_S75GradoCoperturaCompl] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +select copertura from c6martperiodico.RISCHIO_AGGREGATO where COD_FISCALE=@CodiceFiscale and rete=@rete and cod_aggreg='COMPLESSIVO' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S75GradoCoperturaInterno.sql b/sql/storedTestbes/C6MartPeriodico_PL_S75GradoCoperturaInterno.sql new file mode 100644 index 00000000..f8d1e68b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S75GradoCoperturaInterno.sql @@ -0,0 +1,14 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S75GradoCopertura] 'F','GRNNTN55B07I158D' +CREATE procedure [C6MartPeriodico].[PL_S75GradoCoperturaInterno] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +select copertura from c6martperiodico.RISCHIO_AGGREGATO where COD_FISCALE=@CodiceFiscale and rete=@rete and cod_aggreg='COMPLESSIVO|BF' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S75GradoCoperturaTerzi.sql b/sql/storedTestbes/C6MartPeriodico_PL_S75GradoCoperturaTerzi.sql new file mode 100644 index 00000000..0b8e5913 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S75GradoCoperturaTerzi.sql @@ -0,0 +1,14 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S75GradoCopertura] 'F','GRNNTN55B07I158D' +CREATE procedure [C6MartPeriodico].[PL_S75GradoCoperturaTerzi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +select copertura from c6martperiodico.RISCHIO_AGGREGATO where COD_FISCALE=@CodiceFiscale and rete=@rete and cod_aggreg='COMPLESSIVO|TERZI' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S75GradoCopertura_check.sql b/sql/storedTestbes/C6MartPeriodico_PL_S75GradoCopertura_check.sql new file mode 100644 index 00000000..cf68dc43 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S75GradoCopertura_check.sql @@ -0,0 +1,186 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- exec [C6MartPeriodico].[PL_S75GradoCopertura_check] 'F','LBRRMN81R48L388B' +CREATE procedure [C6MartPeriodico].[PL_S75GradoCopertura_check] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @varCompl decimal(15,3) + DECLARE @coperturaCompl decimal(15,3) + DECLARE @ctvCompl decimal(15,3) + DECLARE @saldoCC decimal(15,3) + --CALCOLO PATRIMONI E ESTRAZIONE VAR + SELECT + @Rete AS Rete, + @CodiceFiscale as CodiceFiscale, + CASE @Rete + WHEN 'F' THEN 'Patrimonio Fideuram' + ELSE 'Patrimonio San Paolo Invest' + END AS NomePatrimonio, +-- MAX(patrBF.CTV - patrBF.ContoCorrente) AS Controvalore, +-- MAX(patrBF.ContoCorrente) AS ControvaloreCC, +-- MAX(RISCHIO.VAR_PERC_PTF) AS VarPatrimonio, +-- MAX(RISCHIO.COPERTURA) AS Copertura, +---MODIFICA TRINGALI inserisco cc + patrBF.CTV AS Controvalore, + --patrBF.PatrimonioSenzaCC AS Controvalore, + --patrBF.CTV - patrBF.ContoCorrente AS Controvalore, + patrBF.ContoCorrente AS ControvaloreCC, + RISCHIO.VAR_PERC_PTF AS VarPatrimonio, + RISCHIO.COPERTURA AS Copertura, + 1 AS ORDINE + INTO #TEMP75 + FROM + C6MartPeriodico.vPatrimoniobfAggregato patrBF + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO + ON + RISCHIO.RETE = patrBF.RETE + AND RISCHIO.COD_FISCALE = patrBF.COD_FISCALE + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|BF' + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + --and patrBF.CTV > 0 +-- UNION ALL +-- +-- SELECT +-- A.Rete, +-- A.CodiceFiscale, +-- A.NomePatrimonio, +-- A.Controvalore, +-- A.ControvaloreCC, +-- A.VarPatrimonio, +-- A.Copertura, +-- A.ORDINE +-- FROM( +-- SELECT +-- @Rete AS Rete, +-- @CodiceFiscale as CodiceFiscale, +-- 'Patrimonio Altri Istituti' AS NomePatrimonio, +-- SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END,2)) AS Controvalore, +-- SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN patrTerzi.CTV ELSE 0 END,2)) AS ControvaloreCC, +-- MAX(RISCHIO.VAR_PERC_PTF) as VarPatrimonio, +-- MAX(RISCHIO.COPERTURA) as Copertura, +-- 2 AS ORDINE +-- FROM +-- C6MartPeriodico.PATRIMONIO_TERZI patrTerzi +-- LEFT JOIN +-- C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO +-- ON +-- RISCHIO.RETE = patrTerzi.RETE +-- AND RISCHIO.COD_FISCALE = patrTerzi.COD_FISCALE +-- AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|TERZI' +-- WHERE +-- patrTerzi.Rete = @Rete +-- and patrTerzi.COD_FISCALE = @CodiceFiscale +-- ) A +-- WHERE ISNULL(A.CONTROVALORE,0)>0 +-- +-- -- SE IL PATRIMONIO È SOLO 1 NON VA CALCOLATO IL COMPLESSIVO +-- IF @@ROWCOUNT > 1 +-- BEGIN +-- +-- --CALCOLO IL PATRIMONIO COMPLESSIVO ED ESTRAGGO IL VAR +-- SELECT +-- @ctvCompl=SUM(patr.CONTROVALORE), +-- @saldoCC=SUM(patr.CONTROVALORECC), +-- @varCompl=MAX(RISCHIO.VAR_PERC_PTF), +-- @coperturaCompl=MAX(RISCHIO.COPERTURA) +-- FROM +-- #TEMP75 patr +-- LEFT JOIN +-- C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO +-- ON +-- RISCHIO.RETE = patr.RETE +-- AND RISCHIO.COD_FISCALE = patr.CodiceFiscale +-- AND RISCHIO.COD_AGGREG = 'COMPLESSIVO' +-- +-- --RESTITUISCO I PATRIMONI +-- SELECT +-- Ordine, +-- Nomepatrimonio, +-- Controvalore, +-- CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END AS CCPresente, +-- (CONTROVALORE/@CTVCompl)*100 AS Percentuale, +-- VARPATRIMONIO AS VAR, +-- Copertura, +-- CASE +-- WHEN COPERTURA IS NULL THEN 'n.c.' +-- WHEN COPERTURA = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS varString, +-- CASE +-- WHEN COPERTURA IS NULL THEN 'n.c.' +-- WHEN COPERTURA = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS coperturaString, +-- +-- -- aggiunta per valutare la presenza di controcorrente +-- CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto +-- -- fine aggiunta per valutare la presenza di controcorrente +-- +-- FROM #TEMP75 +-- WHERE CONTROVALORE IS NOT NULL +---- +-- UNION ALL +-- +-- SELECT +-- 3, +-- 'Patrimonio Complessivo', +-- @CTVCompl, +-- CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END as CCPRESENTE, +-- 100.00 as percentuale, +-- @varCompl, +-- @coperturaCompl, +-- CASE +-- WHEN @coperturaCompl IS NULL THEN 'n.c.' +-- WHEN @coperturaCompl = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS varString, +-- CASE +-- WHEN @coperturaCompl IS NULL THEN 'n.c.' +-- WHEN @coperturaCompl = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS coperturaString, +-- +-- -- aggiunta per valutare la presenza di controcorrente +-- CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto +-- -- fine aggiunta per valutare la presenza di controcorrente +-- +-- ORDER BY 1 +-- END +-- ELSE +-- BEGIN +-- --RESTITUISCO L'UNICO PATRIMONIO PRESENTE + SELECT + Nomepatrimonio, + Controvalore, + CASE WHEN CONTROVALORECC > 0 THEN 1 ELSE 0 END as CCPresente, + 100.00 as Percentuale, + VARPATRIMONIO AS VAR, + Copertura, + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS varString, + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS coperturaString, + -- aggiunta per valutare la presenza di controcorrente + CASE WHEN CONTROVALORECC <> 0 THEN 1 ELSE 0 END as NotaCCNetto + -- fine aggiunta per valutare la presenza di controcorrente + FROM #TEMP75 + WHERE CONTROVALORE IS NOT NULL +-- END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql b/sql/storedTestbes/C6MartPeriodico_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..4ee57e14 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,512 @@ +--exec [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] 'F' ,'GSPNGL31C04B157Q' +-- ============================================= +-- Author: Luca De Lisio +-- Create date: 04/12/2008 +-- Description: +-- ============================================= +-- +-- [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] 'F', 'BLNMTN60L53L736R' +-- +CREATE procedure [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] -- 'S','GLLLCN29H16I829A' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Fideuram' + ELSE IF @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + SELECT + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario, + --patrbf.ordinamento_progetto + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL +--INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <>0.00 +--INIZIO INTERVENTI OMNIA +-- UNION ALL +--ASUL NO SKANDIA +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, +-- CASE +-- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +-- ELSE area.ID_AREA end as NEEDAREA, +-- PATRBF.NOME_PROGETTO as Progetto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- sum(ASUL.CTV) as Controvalore, +-- sum(ASUL.CTV) as controvalore_contratto, +-- Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.AREA_BISOGNO AREA +-- ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- INNER JOIN +-- C6MartPeriodico.ANAG_PRODOTTI ANAGP +-- ON +-- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- ON +-- PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- +-- ------ NEW +-- LEFT OUTER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 + -------------OLD + ----LEFT OUTER JOIN + ---- C6MartPeriodico.ASSET_PERC ASSETPERC + ---- ON + ---- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- +-- +-- GROUP BY +-- PATRBF.ID_CONTRATTO, +-- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, +-- CASE +-- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +-- ELSE area.ID_AREA end, +-- PATRBF.NOME_PROGETTO, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , +-- ANAGP.DESCR_PRODOTTO +----------------------------------------------------------------------------------------------------- +-- union all +-- --asul skandia +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, +-- CASE +-- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +-- ELSE area.ID_AREA end as NEEDAREA, +-- PATRBF.NOME_PROGETTO as Progetto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- sum(ASUL.CTV) as Controvalore, +-- sum(ASUL.CTV) as controvalore_contratto, +-- Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.AREA_BISOGNO AREA +-- ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- INNER JOIN +-- C6MartPeriodico.ANAG_PRODOTTI ANAGP +-- ON +-- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- ON +-- PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_ISIN = rtrim(ASUL.COD_ISIN_SOTT) +-- AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF_SOTT) +-- AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- +--WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- +-- +-- GROUP BY +-- PATRBF.ID_CONTRATTO, +-- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, +-- CASE +-- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +-- ELSE area.ID_AREA end, +-- PATRBF.NOME_PROGETTO, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , +-- ANAGP.DESCR_PRODOTTO +-- +-- +-- +UNION ALL +SELECT + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + sum(ASUL.CTV) as Controvalore, + sum(ASUL.CTV) as controvalore_contratto, + Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario, + --patrbf.ordinamento_progetto + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN + C6MartPeriodico.DETTAGLIO_ASUL ASUL + ON + PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + left JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + ASSETPERC.COD_PRODOTTO IS NULL + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + GROUP BY + PATRBF.ID_CONTRATTO, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end, + PATRBF.NOME_PROGETTO, + patrbf.chiave_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE), + ANAGP.DESCR_PRODOTTO , + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] Script Date: 10/02/2022 16:32:13 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +----exec [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] 'F' ,'GSPNGL31C04B157Q' +---- ============================================= +---- Author: Luca De Lisio +---- Create date: 04/12/2008 +---- Description: +---- ============================================= +---- +---- [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] 'F', 'BLNMTN60L53L736R' +---- +--ALTER procedure [C6MartPeriodico].[PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @RETE = 'F' +-- SET @NOMERETE = 'Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, +-- CASE +-- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +-- ELSE area.ID_AREA end as NEEDAREA, +-- PATRBF.NOME_PROGETTO as Progetto, +-- patrbf.chiave_progetto as ord_progetto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- PATRBF.CTV as Controvalore, +-- PATRBF.CTV as controvalore_contratto, +-- PATRBF.PARTVIA_DISINV as PartitaViaggiante, +-- @NOMERETE as Intermediario, +-- --patrbf.ordinamento_progetto +-- -- savingmap - Novembre 2019 +-- patrbf.tipo_prodotto as Tipo_Prodotto +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.AREA_BISOGNO AREA +-- ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- INNER JOIN +-- C6MartPeriodico.ANAG_PRODOTTI ANAGP +-- ON +-- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- LEFT OUTER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO <> 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +----INIZIO INTERVENTI OMNIA +-- AND PATRBF.CTV <> 0.00 +----INIZIO INTERVENTI OMNIA +---- UNION ALL +----ASUL NO SKANDIA +---- SELECT +---- PATRBF.ID_CONTRATTO as Contratto, +---- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, +---- CASE +---- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +---- ELSE area.ID_AREA end as NEEDAREA, +---- PATRBF.NOME_PROGETTO as Progetto, +---- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +---- ANAGP.DESCR_PRODOTTO AS Descrizione, +---- sum(ASUL.CTV) as Controvalore, +---- sum(ASUL.CTV) as controvalore_contratto, +---- Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +---- @NOMERETE as Intermediario +---- FROM +---- C6MartPeriodico.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MartPeriodico.AREA_BISOGNO AREA +---- ON +---- PATRBF.ID_AREA = AREA.ID_AREA +---- INNER JOIN +---- C6MartPeriodico.ANAG_PRODOTTI ANAGP +---- ON +---- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +---- INNER JOIN +---- C6MartPeriodico.DETTAGLIO_ASUL ASUL +---- ON +---- PATRBF.RETE = ASUL.RETE +---- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +---- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +---- +---- ------ NEW +---- LEFT OUTER JOIN +---- C6MartPeriodico.ASSET_PERC ASSETPERC +---- ON +---- ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) +---- AND ASUL.COD_ISIN_SOTT = '' +---- AND ASSETPERC.LIVELLO = 1 +-- -------------OLD +-- ----LEFT OUTER JOIN +-- ---- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ---- ON +-- ---- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---- AND ASSETPERC.LIVELLO = 1 +---- WHERE 1 = 1 +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +---- AND ASSETPERC.COD_PRODOTTO IS NULL +---- +---- +---- GROUP BY +---- PATRBF.ID_CONTRATTO, +---- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, +---- CASE +---- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +---- ELSE area.ID_AREA end, +---- PATRBF.NOME_PROGETTO, +---- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , +---- ANAGP.DESCR_PRODOTTO +------------------------------------------------------------------------------------------------------- +---- union all +---- --asul skandia +---- SELECT +---- PATRBF.ID_CONTRATTO as Contratto, +---- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, +---- CASE +---- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +---- ELSE area.ID_AREA end as NEEDAREA, +---- PATRBF.NOME_PROGETTO as Progetto, +---- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +---- ANAGP.DESCR_PRODOTTO AS Descrizione, +---- sum(ASUL.CTV) as Controvalore, +---- sum(ASUL.CTV) as controvalore_contratto, +---- Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +---- @NOMERETE as Intermediario +---- FROM +---- C6MartPeriodico.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MartPeriodico.AREA_BISOGNO AREA +---- ON +---- PATRBF.ID_AREA = AREA.ID_AREA +---- INNER JOIN +---- C6MartPeriodico.ANAG_PRODOTTI ANAGP +---- ON +---- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +---- INNER JOIN +---- C6MartPeriodico.DETTAGLIO_ASUL ASUL +---- ON +---- PATRBF.RETE = ASUL.RETE +---- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +---- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +---- LEFT JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +---- ON +---- ASSETPERC.COD_ISIN = rtrim(ASUL.COD_ISIN_SOTT) +---- AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF_SOTT) +---- AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) +---- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +---- AND ASSETPERC.LIVELLO = 1 +---- +----WHERE 1 = 1 +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +---- AND ASSETPERC.COD_PRODOTTO IS NULL +---- +---- +---- GROUP BY +---- PATRBF.ID_CONTRATTO, +---- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, +---- CASE +---- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +---- ELSE area.ID_AREA end, +---- PATRBF.NOME_PROGETTO, +---- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , +---- ANAGP.DESCR_PRODOTTO +---- +---- +---- +--UNION ALL +--SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, +-- CASE +-- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +-- ELSE area.ID_AREA end as NEEDAREA, +-- PATRBF.NOME_PROGETTO as Progetto, +-- patrbf.chiave_progetto as ord_progetto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- sum(ASUL.CTV) as Controvalore, +-- sum(ASUL.CTV) as controvalore_contratto, +-- Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +-- @NOMERETE as Intermediario, +-- --patrbf.ordinamento_progetto +-- -- savingmap - Novembre 2019 +-- patrbf.tipo_prodotto as Tipo_Prodotto +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.AREA_BISOGNO AREA +-- ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- INNER JOIN +-- C6MartPeriodico.ANAG_PRODOTTI ANAGP +-- ON +-- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- ON +-- PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- left JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ( +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---no SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- ) +-- or +-- ( --SKANDIA +-- ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- ) +-- WHERE +-- ASSETPERC.COD_PRODOTTO IS NULL +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- GROUP BY +-- PATRBF.ID_CONTRATTO, +-- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, +-- CASE +-- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +-- ELSE area.ID_AREA end, +-- PATRBF.NOME_PROGETTO, +-- patrbf.chiave_progetto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE), +-- ANAGP.DESCR_PRODOTTO , +-- -- savingmap - Novembre 2019 +-- patrbf.tipo_prodotto +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S76PatrimonioNonRappresentabileAssettClass.sql b/sql/storedTestbes/C6MartPeriodico_PL_S76PatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..f250138b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S76PatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,364 @@ +-- ============================================= +-- Author: Luca De Lisio +-- Create date: 04/12/2008 +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S76PatrimonioNonRappresentabileAssettClass] 'F','GSPNGL31C04B157Q' +CREATE procedure [C6MartPeriodico].[PL_S76PatrimonioNonRappresentabileAssettClass] --'S','GLLLCN29H16I829A' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Fideuram' + ELSE IF @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + --INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <>0.00 +--INIZIO INTERVENTI OMNIA +UNION ALL +SELECT + PATRBF.ID_CONTRATTO as Contratto, + -- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, +-- CASE +-- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +-- ELSE area.ID_AREA end as NEEDAREA, +-- PATRBF.NOME_PROGETTO as Progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + sum(ASUL.CTV) as Controvalore, + sum(ASUL.CTV) as controvalore_contratto, + Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN + C6MartPeriodico.DETTAGLIO_ASUL ASUL + ON + PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + left JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + ASSETPERC.COD_PRODOTTO IS NULL + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + GROUP BY + PATRBF.ID_CONTRATTO, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end, + PATRBF.NOME_PROGETTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE), + ANAGP.DESCR_PRODOTTO, + -- savingmap - Novembre 2019 + patrbf.tipo_prodotto +--union all +--SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- SUM(ASUL.CTV) as Controvalore, +-- MAX(PATRBF.CTV) as controvalore_contratto, +-- SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL +-- ON PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- GROUP BY +-- PATRBF.ID_CONTRATTO, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , +-- ANAGP.DESCR_PRODOTTO +-- ORDER BY CONTROVALORE DESC +-- +-- +-- UNION ALL +-- +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- ASUL.CTV as Controvalore, +-- PATRBF.CTV as controvalore_contratto, +-- PATRBF.PARTVIA_DISINV as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ANAG_PRODOTTI ANAGP +-- ON +-- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- ON +-- PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT OUTER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_S76PatrimonioNonRappresentabileAssettClass] Script Date: 10/02/2022 16:34:12 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: Luca De Lisio +---- Create date: 04/12/2008 +---- Description: +---- ============================================= +----[C6MartPeriodico].[PL_S76PatrimonioNonRappresentabileAssettClass] 'F','GSPNGL31C04B157Q' +--ALTER procedure [C6MartPeriodico].[PL_S76PatrimonioNonRappresentabileAssettClass] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @RETE = 'F' +-- SET @NOMERETE = 'Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- PATRBF.CTV as Controvalore, +-- PATRBF.CTV as controvalore_contratto, +-- PATRBF.PARTVIA_DISINV as PartitaViaggiante, +-- @NOMERETE as Intermediario, +-- -- savingmap - Novembre 2019 +-- patrbf.tipo_prodotto as Tipo_Prodotto +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ANAG_PRODOTTI ANAGP +-- ON +-- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- LEFT OUTER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO <> 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- --INIZIO INTERVENTI OMNIA +-- AND PATRBF.CTV <> 0.00 +----INIZIO INTERVENTI OMNIA +--UNION ALL +--SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- -- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, +---- CASE +---- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +---- ELSE area.ID_AREA end as NEEDAREA, +---- PATRBF.NOME_PROGETTO as Progetto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- sum(ASUL.CTV) as Controvalore, +-- sum(ASUL.CTV) as controvalore_contratto, +-- Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +-- @NOMERETE as Intermediario, +-- -- savingmap - Novembre 2019 +-- patrbf.tipo_prodotto as Tipo_Prodotto +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.AREA_BISOGNO AREA +-- ON +-- PATRBF.ID_AREA = AREA.ID_AREA +-- INNER JOIN +-- C6MartPeriodico.ANAG_PRODOTTI ANAGP +-- ON +-- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- ON +-- PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- left JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ( +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---no SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- ) +-- or +-- ( --SKANDIA +-- ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- ) +-- WHERE +-- ASSETPERC.COD_PRODOTTO IS NULL +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- GROUP BY +-- PATRBF.ID_CONTRATTO, +-- CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, +-- CASE +-- WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +-- ELSE area.ID_AREA end, +-- PATRBF.NOME_PROGETTO, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE), +-- ANAGP.DESCR_PRODOTTO, +-- -- savingmap - Novembre 2019 +-- patrbf.tipo_prodotto +----union all +----SELECT +---- PATRBF.ID_CONTRATTO as Contratto, +---- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +---- ANAGP.DESCR_PRODOTTO AS Descrizione, +---- SUM(ASUL.CTV) as Controvalore, +---- MAX(PATRBF.CTV) as controvalore_contratto, +---- SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +---- @NOMERETE as Intermediario +---- FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +---- INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP +---- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +---- INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL +---- ON PATRBF.RETE = ASUL.RETE +---- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +---- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +---- LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC +---- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +---- AND ASSETPERC.LIVELLO = 1 +---- WHERE 1 = 1 +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +---- AND ASSETPERC.COD_PRODOTTO IS NULL +---- GROUP BY +---- PATRBF.ID_CONTRATTO, +---- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , +---- ANAGP.DESCR_PRODOTTO +---- ORDER BY CONTROVALORE DESC +---- +---- +---- UNION ALL +---- +---- SELECT +---- PATRBF.ID_CONTRATTO as Contratto, +---- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +---- ANAGP.DESCR_PRODOTTO AS Descrizione, +---- ASUL.CTV as Controvalore, +---- PATRBF.CTV as controvalore_contratto, +---- PATRBF.PARTVIA_DISINV as PartitaViaggiante, +---- @NOMERETE as Intermediario +---- FROM +---- C6MartPeriodico.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MartPeriodico.ANAG_PRODOTTI ANAGP +---- ON +---- PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +---- INNER JOIN +---- C6MartPeriodico.DETTAGLIO_ASUL ASUL +---- ON +---- PATRBF.RETE = ASUL.RETE +---- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +---- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +---- LEFT OUTER JOIN +---- C6MartPeriodico.ASSET_PERC ASSETPERC +---- ON +---- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +---- AND ASSETPERC.LIVELLO = 1 +---- WHERE 1 = 1 +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +---- AND ASSETPERC.COD_PRODOTTO IS NULL +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa.sql b/sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa.sql new file mode 100644 index 00000000..e273e89c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa.sql @@ -0,0 +1,80 @@ +-- [C6MartPeriodico].[PL_S80Alternativa]'S','CRBRNN54R23H509R' + --[C6MartPeriodico].[PL_S80Alternativa] 'F','BRCLRT62R29I690L' +CREATE procedure [C6MartPeriodico].[PL_S80Alternativa] --'F','BNBLPL51M05F965Y' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) +BEGIN +SELECT [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,replace([DettMovS80],'.',',') DettMov + ,[NumeroAsterischiNota] + -- MIOFOGLIO 2018106 + ,[CTVSelfFoglio] + -- fine MIOFOGLIO 20181206 + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] + WHERE [Rete] = @Rete + AND [Cod_Fiscale] = @CodiceFiscale +END +ELSE +BEGIN +SELECT [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + -- MIOFOGLIO 2018106 + ,[CTVSelfFoglio] + -- fine MIOFOGLIO 20181206 + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] + WHERE + 1=2 +END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_20181214_PreMioFoglio.sql b/sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..cb053aeb --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_20181214_PreMioFoglio.sql @@ -0,0 +1,73 @@ +-- [C6MartPeriodico].[PL_S80Alternativa]'S','CRBRNN54R23H509R' +CREATE procedure [C6MartPeriodico].[PL_S80Alternativa_20181214_PreMioFoglio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) +BEGIN +SELECT [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] + WHERE [Rete] = @Rete + AND [Cod_Fiscale] = @CodiceFiscale +END +ELSE +BEGIN +SELECT [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] + WHERE + 1=2 +END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_BkUpParall.sql b/sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_BkUpParall.sql new file mode 100644 index 00000000..9d1eb204 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_BkUpParall.sql @@ -0,0 +1,270 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S80Alternativa]'F','GSTGPL59P03B586G' +CREATE procedure [C6MartPeriodico].[PL_S80Alternativa_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + -- Inserimento Dati Scirocco + --SELECT @DettMovPrec = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM < '20111231' + SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + FROM C6MartPeriodico.DettaglioMovimenti + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale + --SELECT @DettMovCorr = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM = '20111231' + IF @DettMovPrec is null + SET @AppoDettMovPrec = 'n.d.' + ELSE + SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + IF @DettMovCorr is null + SET @AppoDettMovCorr = 'n.d.' + ELSE + SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + --query per asterischi situazione precedente + IF EXISTS(SELECT * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICS] + WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + AND RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + ----------------------------------------- + --query per asterischi situazione corrente + IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + WHERE COD_INTERNO IN ('37', 'GP') + AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + SET @NumAsterischiCorr = 1 + ----------------------------------------- + SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) + BEGIN + -- Attivazione monitoraggio +--versione nuova da testare + SELECT + 1 AS Fase, + isnull(INI.DATA_FOTO,0) AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + isnull(INI.CTV_EXT,0) as CTV_EXT, + isnull(INI.CTV_INV,0) as CTV_INV, + isnull(INI.CTV_PRE,0) as CTV_PRE, + isnull(INI.CTV_RIS,0) as CTV_RIS, + isnull(INI.CTV_LIQ,0) as CTV_LIQ, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) AS RisorseAllocate, + isnull(INI.CTV_NA,0) AS RisorseNonAllocate, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) AS RisorseFinanziarie, + isnull(INI.CTV_CC,0) AS Contocorrente, +--INIZIO INTERVENTI OMNIA + isnull(INI.CTVSELF,0) AS ctvself, +-- isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) + isnull(INI.CTV_CC,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) + isnull(INI.CTV_CC,0) + isnull(INI.CTVSELF,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + INI.CTV_CC + INI.PARTITA_VIAGGIANTE AS TotalePatrimonio + ,null as DettMov + ,0 as NumeroAsterischiNota + --1 AS Fase, + --INI.DATA_FOTO AS DataFase, + --ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + --INI.CTV_EXT, + --INI.CTV_INV, + --INI.CTV_PRE, + --INI.CTV_RIS, + --INI.CTV_LIQ, + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ AS RisorseAllocate, + --INI.CTV_NA AS RisorseNonAllocate, + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA AS RisorseFinanziarie, + --INI.CTV_CC AS Contocorrente, + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + INI.CTV_CC + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + --,null as DettMov + --,0 as NumeroAsterischiNota + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.RETE = @Rete AND + INI.COD_FISCALE = @CodiceFiscale + --AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,'2999-12-31') + UNION ALL + -- Precedente invio report + SELECT + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + rep.CTV_EXT, + rep.CTV_INV, + rep.CTV_PRE, + rep.CTV_RIS, + rep.CTV_LIQ, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ AS RisorseAllocate, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA AS RisorseFinanziarie, + rep.CTV_CC AS Contocorrente, + --Contocorrente = CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END, +--INIZIO INTERVENTI OMNIA + isnull(rep.CTV_SELF,0) AS CTV_SELF, +-- rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.CTV_SELF,0) + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + (CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END) AS TotalePatrimonio + --CTV_TOTALE AS ControvaloreComplessivo + ,(CASE WHEN @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovPrec END) as DettMov + ,(CASE WHEN @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiPrec END) as NumeroAsterischiNota + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + rep.RETE = @Rete AND + rep.COD_FISCALE = @CodiceFiscale + AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + --All values will be read from DB and passed to code, no value will be calculated on code + SELECT + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + --Get the sum Operazioni in corso + --sum((isnull(IMPORTO,0))) as Partita_viaggiante, + 0 as Partita_viaggiante, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) as CTV_EXT, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) as CTV_INV, + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) as CTV_PRE, + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end ) as CTV_PRE, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) as CTV_RIS, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) as CTV_LIQ, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS CTV_RA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as CTV_NA, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS CTV_RF, + --CTV_CC = (Case WHEN sum(case Upper(id_area) when 'CC' then ctv else 0 end ) < 0 THEN sum(case Upper(id_area) when 'CC' then ctv else 0 end) ELSE 0 END), + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS CTV_CC, + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS CTV_CC, +--INIZIO INTERVENTI OMNIA + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS CTV_SELF, +--FINE INTERVENTI OMNIA + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end )+ + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) + +--INIZIO INTERVENTI OMNIA +-- sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS TotalePatrimonio + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) + + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --sum((isnull(IMPORTO,0))) AS TotalePatrimonio + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS TotalePatrimonio + --SUM(CTV) as ControvaloreComplessivo + ,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + ,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiCorr END) as NumeroAsterischiNota + --,'1' as NumeroAsterischiNota + FROM + C6MartPeriodico.PATRIMONIO_BF +-- AS BF Left Join C6MartPeriodico.partite_viaggianti AS PV +-- ON BF.RETE = PV.RETE +-- AND BF.COD_FISCALE = PV.COD_FISCALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +END +ELSE +BEGIN + SELECT + 1 AS Fase, + DATA_FOTO AS DataFase, + ISNULL(PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + CTV_EXT, + CTV_INV, + CTV_PRE, + CTV_RIS, + CTV_LIQ, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ AS RisorseAllocate, + CTV_NA AS RisorseNonAllocate, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA AS RisorseFinanziarie, + CTV_CC AS Contocorrente, +--INIZIO INTERVENTI OMNIA + CTVSELF AS ctvself, +-- CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + CTV_CC AS TotalePatrimonio + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + CTV_CC + ctvself AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --CTV_TOTALE AS ControvaloreComplessivo + FROM + MONITORAGGIO_INIZIALE + WHERE + 1=2 +END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_DidascalieNote.sql b/sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_DidascalieNote.sql new file mode 100644 index 00000000..c693dca7 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_DidascalieNote.sql @@ -0,0 +1,4 @@ +CREATE procedure [C6MartPeriodico].[PL_S80Alternativa_DidascalieNote] +as +select * +from [C6MartPeriodico].[S80Alternativa_DidascalieNote] \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_OLD.sql b/sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_OLD.sql new file mode 100644 index 00000000..8d891a9e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_OLD.sql @@ -0,0 +1,255 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80Alternativa]'S','LLAMGH27A43M058H' +--DROP PROCEDURE [C6MartPeriodico].[PL_S80BisEvoluzioneRischio] +CREATE procedure [C6MartPeriodico].[PL_S80Alternativa_OLD] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + -- Inserimento Dati Scirocco + --SELECT @DettMovPrec = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM < '20111231' +/* SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + FROM C6MartPeriodico.DettaglioMovimenti + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale +*/ + SELECT @DettMovCorr = DETT_MOV + FROM C6MartPeriodico.DettaglioMovimenti_old + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale + AND + FLAG_TRIM = 1 + SELECT @DettMovPrec = DETT_MOV + FROM C6MartPeriodico.DettaglioMovimenti_old + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale + AND + FLAG_TRIM = 0 + --SELECT @DettMovCorr = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM = '20111231' + IF @DettMovPrec is null + SET @AppoDettMovPrec = 'n.d.' + ELSE + SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + IF @DettMovCorr is null + SET @AppoDettMovCorr = 'n.d.' + ELSE + SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + --query per asterischi situazione precedente + IF EXISTS(SELECT * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICS] + WHERE CODPROD IN ('37', 'GP') AND DTTRIM = '20111231' + AND RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + ----------------------------------------- + --query per asterischi situazione corrente + IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + WHERE COD_INTERNO IN ('37', 'GP') + AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + SET @NumAsterischiCorr = 1 + ----------------------------------------- + SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) + BEGIN + -- Attivazione monitoraggio +--versione nuova da testare + SELECT + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + INI.CTV_EXT, + INI.CTV_INV, + INI.CTV_PRE, + INI.CTV_RIS, + INI.CTV_LIQ, + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ AS RisorseAllocate, + INI.CTV_NA AS RisorseNonAllocate, + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA AS RisorseFinanziarie, + INI.CTV_CC AS Contocorrente, + --Contocorrente = CASE WHEN CAST(INI.CTV_CC AS NUMERIC(20,4)) < 0 THEN INI.CTV_CC ELSE 0 END, + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + INI.CTV_CC + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + (CASE WHEN CAST(INI.CTV_CC AS NUMERIC(20,4)) < 0 THEN INI.CTV_CC ELSE 0 END) AS TotalePatrimonio + --INI.CTV_TOTALE AS ControvaloreComplessivo + ,null as DettMov + ,0 as NumeroAsterischiNota + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.RETE = @Rete AND + INI.COD_FISCALE = @CodiceFiscale + --AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,'2999-12-31') + UNION ALL + -- Precedente invio report + SELECT + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + rep.CTV_EXT, + rep.CTV_INV, + rep.CTV_PRE, + rep.CTV_RIS, + rep.CTV_LIQ, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ AS RisorseAllocate, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA AS RisorseFinanziarie, + rep.CTV_CC AS Contocorrente, + --Contocorrente = CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + --CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + (CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END) AS TotalePatrimonio + --CTV_TOTALE AS ControvaloreComplessivo + ,(CASE WHEN @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovPrec END) as DettMov + ,(CASE WHEN @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiPrec END) as NumeroAsterischiNota + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + rep.RETE = @Rete AND + rep.COD_FISCALE = @CodiceFiscale + AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + --All values will be read from DB and passed to code, no value will be calculated on code + SELECT + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + --Get the sum Operazioni in corso + --sum((isnull(IMPORTO,0))) as Partita_viaggiante, + 0 as Partita_viaggiante, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) as CTV_EXT, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) as CTV_INV, + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) as CTV_PRE, + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end ) as CTV_PRE, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) as CTV_RIS, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) as CTV_LIQ, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS CTV_RA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as CTV_NA, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS CTV_RF, + --CTV_CC = (Case WHEN sum(case Upper(id_area) when 'CC' then ctv else 0 end ) < 0 THEN sum(case Upper(id_area) when 'CC' then ctv else 0 end) ELSE 0 END), + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS CTV_CC, + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS CTV_CC, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end )+ + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) + + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS TotalePatrimonio + --sum((isnull(IMPORTO,0))) AS TotalePatrimonio + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS TotalePatrimonio + --SUM(CTV) as ControvaloreComplessivo + ,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + ,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiCorr END) as NumeroAsterischiNota + FROM + C6MartPeriodico.PATRIMONIO_BF +-- AS BF Left Join C6MartPeriodico.partite_viaggianti AS PV +-- ON BF.RETE = PV.RETE +-- AND BF.COD_FISCALE = PV.COD_FISCALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +END +ELSE +BEGIN + SELECT + 1 AS Fase, + DATA_FOTO AS DataFase, + ISNULL(PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + CTV_EXT, + CTV_INV, + CTV_PRE, + CTV_RIS, + CTV_LIQ, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ AS RisorseAllocate, + CTV_NA AS RisorseNonAllocate, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA AS RisorseFinanziarie, + CTV_CC AS Contocorrente, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + CTV_CC AS TotalePatrimonio + --CTV_TOTALE AS ControvaloreComplessivo + FROM + MONITORAGGIO_INIZIALE + WHERE + 1=2 +END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_bkp_FC.sql b/sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_bkp_FC.sql new file mode 100644 index 00000000..1d4e21d3 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_bkp_FC.sql @@ -0,0 +1,270 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S80Alternativa_bkp_FC]'F','CRRLSN52T45I274L' +CREATE procedure [C6MartPeriodico].[PL_S80Alternativa_bkp_FC] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + -- Inserimento Dati Scirocco + --SELECT @DettMovPrec = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM < '20111231' + SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + FROM C6MartPeriodico.DettaglioMovimenti + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale + --SELECT @DettMovCorr = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM = '20111231' + IF @DettMovPrec is null + SET @AppoDettMovPrec = 'n.d.' + ELSE + SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + IF @DettMovCorr is null + SET @AppoDettMovCorr = 'n.d.' + ELSE + SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + --query per asterischi situazione precedente + IF EXISTS(SELECT * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICS] + WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + AND RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + ----------------------------------------- + --query per asterischi situazione corrente + IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + WHERE COD_INTERNO IN ('37', 'GP') + AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + SET @NumAsterischiCorr = 1 + ----------------------------------------- + SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) + BEGIN + -- Attivazione monitoraggio +--versione nuova da testare + SELECT + 1 AS Fase, + isnull(INI.DATA_FOTO,0) AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + isnull(INI.CTV_EXT,0) as CTV_EXT, + isnull(INI.CTV_INV,0) as CTV_INV, + isnull(INI.CTV_PRE,0) as CTV_PRE, + isnull(INI.CTV_RIS,0) as CTV_RIS, + isnull(INI.CTV_LIQ,0) as CTV_LIQ, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) AS RisorseAllocate, + isnull(INI.CTV_NA,0) AS RisorseNonAllocate, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) AS RisorseFinanziarie, + isnull(INI.CTV_CC,0) AS Contocorrente, +--INIZIO INTERVENTI OMNIA + isnull(INI.CTVSELF,0) AS ctvself, +-- isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) + isnull(INI.CTV_CC,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) + isnull(INI.CTV_CC,0) + isnull(INI.CTVSELF,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + INI.CTV_CC + INI.PARTITA_VIAGGIANTE AS TotalePatrimonio + ,null as DettMov + ,0 as NumeroAsterischiNota + --1 AS Fase, + --INI.DATA_FOTO AS DataFase, + --ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + --INI.CTV_EXT, + --INI.CTV_INV, + --INI.CTV_PRE, + --INI.CTV_RIS, + --INI.CTV_LIQ, + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ AS RisorseAllocate, + --INI.CTV_NA AS RisorseNonAllocate, + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA AS RisorseFinanziarie, + --INI.CTV_CC AS Contocorrente, + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + INI.CTV_CC + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + --,null as DettMov + --,0 as NumeroAsterischiNota + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.RETE = @Rete AND + INI.COD_FISCALE = @CodiceFiscale + --AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,'2999-12-31') + UNION ALL + -- Precedente invio report + SELECT + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + rep.CTV_EXT, + rep.CTV_INV, + rep.CTV_PRE, + rep.CTV_RIS, + rep.CTV_LIQ, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ AS RisorseAllocate, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA AS RisorseFinanziarie, + rep.CTV_CC AS Contocorrente, + --Contocorrente = CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END, +--INIZIO INTERVENTI OMNIA + isnull(rep.CTV_SELF,0) AS CTV_SELF, +-- rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.CTV_SELF,0) + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + (CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END) AS TotalePatrimonio + --CTV_TOTALE AS ControvaloreComplessivo + ,(CASE WHEN @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovPrec END) as DettMov + ,(CASE WHEN @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiPrec END) as NumeroAsterischiNota + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + rep.RETE = @Rete AND + rep.COD_FISCALE = @CodiceFiscale + AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + --All values will be read from DB and passed to code, no value will be calculated on code + SELECT + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + --Get the sum Operazioni in corso + --sum((isnull(IMPORTO,0))) as Partita_viaggiante, + 0 as Partita_viaggiante, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) as CTV_EXT, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) as CTV_INV, + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) as CTV_PRE, + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end ) as CTV_PRE, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) as CTV_RIS, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) as CTV_LIQ, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS CTV_RA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as CTV_NA, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS CTV_RF, + --CTV_CC = (Case WHEN sum(case Upper(id_area) when 'CC' then ctv else 0 end ) < 0 THEN sum(case Upper(id_area) when 'CC' then ctv else 0 end) ELSE 0 END), + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS CTV_CC, + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS CTV_CC, +--INIZIO INTERVENTI OMNIA + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS CTV_SELF, +--FINE INTERVENTI OMNIA + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end )+ + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) + +--INIZIO INTERVENTI OMNIA +-- sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS TotalePatrimonio + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) + + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --sum((isnull(IMPORTO,0))) AS TotalePatrimonio + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS TotalePatrimonio + --SUM(CTV) as ControvaloreComplessivo + ,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + ,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiCorr END) as NumeroAsterischiNota + --,'1' as NumeroAsterischiNota + FROM + C6MartPeriodico.PATRIMONIO_BF +-- AS BF Left Join C6MartPeriodico.partite_viaggianti AS PV +-- ON BF.RETE = PV.RETE +-- AND BF.COD_FISCALE = PV.COD_FISCALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +END +ELSE +BEGIN + SELECT + 1 AS Fase, + DATA_FOTO AS DataFase, + ISNULL(PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + CTV_EXT, + CTV_INV, + CTV_PRE, + CTV_RIS, + CTV_LIQ, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ AS RisorseAllocate, + CTV_NA AS RisorseNonAllocate, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA AS RisorseFinanziarie, + CTV_CC AS Contocorrente, +--INIZIO INTERVENTI OMNIA + CTVSELF AS ctvself, +-- CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + CTV_CC AS TotalePatrimonio + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + CTV_CC + ctvself AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --CTV_TOTALE AS ControvaloreComplessivo + FROM + MONITORAGGIO_INIZIALE + WHERE + 1=2 +END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_perc.sql b/sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_perc.sql new file mode 100644 index 00000000..5df7dff2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S80Alternativa_perc.sql @@ -0,0 +1,89 @@ +-- [C6MartPeriodico].[PL_S80Alternativa]'S','CRBRNN54R23H509R' +Create procedure [C6MartPeriodico].[PL_S80Alternativa_perc] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) +BEGIN +SELECT [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[PERC_EXT] + ,[PERC_INV] + ,[PERC_PRE] + ,[PERC_RIS] + ,[PERC_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + -- MIOFOGLIO 2018106 + ,[CTVSelfFoglio] + -- fine MIOFOGLIO 20181206 + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio_perc] + WHERE [Rete] = @Rete + AND [Cod_Fiscale] = @CodiceFiscale +END +ELSE +BEGIN +SELECT [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[PERC_EXT] + ,[PERC_INV] + ,[PERC_PRE] + ,[PERC_RIS] + ,[PERC_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + -- MIOFOGLIO 2018106 + ,[CTVSelfFoglio] + -- fine MIOFOGLIO 20181206 + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio_perc] + WHERE + 1=2 +END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S80BisEvoluzioneRischio.sql b/sql/storedTestbes/C6MartPeriodico_PL_S80BisEvoluzioneRischio.sql new file mode 100644 index 00000000..bed3034f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S80BisEvoluzioneRischio.sql @@ -0,0 +1,20 @@ +CREATE procedure [C6MartPeriodico].[PL_S80BisEvoluzioneRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT + Fase + ,DataFase + ,VarMassimoProfiloFinanziario + ,VarComplessivo + ,Copertura + ,RISKCLASS + ,RISKCLASSMAX + ,RiskClassString + ,RiskClassMaxString + FROM [C6MartPeriodico].[TB_S80BisEvoluzioneRischio] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S80BisEvoluzioneRischio_20170413_RM_DBname.sql b/sql/storedTestbes/C6MartPeriodico_PL_S80BisEvoluzioneRischio_20170413_RM_DBname.sql new file mode 100644 index 00000000..49e36076 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S80BisEvoluzioneRischio_20170413_RM_DBname.sql @@ -0,0 +1,20 @@ +CREATE procedure [C6MartPeriodico].[PL_S80BisEvoluzioneRischio_20170413_RM_DBname] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT + Fase + ,DataFase + ,VarMassimoProfiloFinanziario + ,VarComplessivo + ,Copertura + ,RISKCLASS + ,RISKCLASSMAX + ,RiskClassString + ,RiskClassMaxString + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S80BisEvoluzioneRischio] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S80BisEvoluzioneRischio_BkUpParall.sql b/sql/storedTestbes/C6MartPeriodico_PL_S80BisEvoluzioneRischio_BkUpParall.sql new file mode 100644 index 00000000..5e9f173a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S80BisEvoluzioneRischio_BkUpParall.sql @@ -0,0 +1,196 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80BisEvoluzioneRischio]'F','02392500605S' +--DROP PROCEDURE [C6MartPeriodico].[PL_S80EvoluzioneControvalore] +CREATE procedure [C6MartPeriodico].[PL_S80BisEvoluzioneRischio_BkUpParall] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @MONIT_INIT INT + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + --V VAriabile usata per verificare la presenza di righe nella rischio_aggregato, se non ho righe non + --faccio uscire la sezione + DECLARE @AGGR INT + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @AGGR=COUNT(*) + FROM + C6MARTPERIODICO.RISCHIO_AGGREGATO + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + IF (@MONIT_ATTIV > 0 AND @AGGR > 0 AND @MONIT_INIT > 0) + BEGIN + -- Attivazione monitoraggio +-- nuova versione da testare + SELECT + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO + ELSE ROUND(INI.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + INI.VAR_COPERTURA AS Copertura, + INI.RISKCLASS, + INI.RISKCLASSMAX, + case + when INI.RISKCLASS is null then 'n.d.' + when INI.RISKCLASS = 0 then 'n.a.' + else null + end as RiskClassString, + case + when INI.RISKCLASSMAX is null then 'n.d.' + when INI.RISKCLASSMAX = 0 then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + LEFT OUTER join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.RETE = @Rete AND + INI.COD_FISCALE = @CodiceFiscale +-- SELECT +-- 1 AS Fase, +-- INI.DATA_FOTO AS DataFase, +-- INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, +-- --V +-- CASE +-- WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO +-- ELSE ROUND(INI.VAR_COMPLESSIVO,2) +-- END AS VarComplessivo, +-- INI.VAR_COPERTURA AS Copertura +-- FROM +-- C6MartPeriodico.MONITORAGGIO_INIZIALE INI +-- +-- WHERE +-- INI.RETE = @Rete AND +-- INI.COD_FISCALE = @CodiceFiscale + UNION ALL + -- Precedente invio report + SELECT + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN rep.VAR_COMPLESSIVO IS NULL THEN rep.VAR_COMPLESSIVO + ELSE ROUND(rep.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + rep.VAR_COPERTURA AS Copertura, + rep.RISKCLASS, + rep.RISKCLASSMAX, + case when rep.RISKCLASS is null then 'n.a.' + else null + end as RiskClassString, + case when rep.RISKCLASSMAX is null then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + rep.RETE = @Rete AND + rep.COD_FISCALE = @CodiceFiscale + AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + SELECT + 3, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + CASE + WHEN (@contaPOS - @contaCC = 0 ) THEN 100 + ELSE isnull(RA.COPERTURA,0) + END AS Copertura, +-- TRINGALI MODIFICARE + ra.creditrisk as RISKCLASS, + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' + else null end as RiskClassString, + case when mifid.riskclass is null then 'n.a.' + else null end as RiskClassMaxString + FROM + C6MartPeriodico.vPatrimonioBFAggregato AS BF + INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON BF.RETE = MIFID.RETE + AND BF.COD_FISCALE = MIFID.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = BF.RETE + AND RA.COD_FISCALE = BF.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' + WHERE + BF.RETE = @Rete AND + BF.COD_FISCALE = @CodiceFiscale +END +ELSE +BEGIN + SELECT + 2 AS Fase, + DATA_INVIO AS DataFase, + VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN VAR_COMPLESSIVO IS NULL THEN VAR_COMPLESSIVO + ELSE ROUND(VAR_COMPLESSIVO,2) + END AS VarComplessivo, + VAR_COPERTURA AS Copertura + FROM + C6MartPeriodico.MONITORAGGIO_REPORT + WHERE +1=2 +END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S80EvoluzioneControvalore.sql b/sql/storedTestbes/C6MartPeriodico_PL_S80EvoluzioneControvalore.sql new file mode 100644 index 00000000..9f2534c5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S80EvoluzioneControvalore.sql @@ -0,0 +1,128 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80EvoluzioneControvalore]'F','GSTGPL59P03B586G' +--DROP PROCEDURE [C6MartPeriodico].[PL_S80BisEvoluzioneRischio] +CREATE procedure [C6MartPeriodico].[PL_S80EvoluzioneControvalore] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + IF @MONIT_ATTIV > 0 + BEGIN + -- Attivazione monitoraggio +--versione nuova da testare + SELECT + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.CTV_NA AS RisorseNonAllocate, + INI.CTV_CC AS Contocorrente, +--INIZIO INTERVENTI OMNIA + INI.CTVSELF AS Ctvself, +--FINE INTERVENTI OMNIA + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + INI.CTV_TOTALE AS ControvaloreComplessivo + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.RETE = @Rete +AND + INI.COD_FISCALE = @CodiceFiscale +-- SELECT +-- 1 AS Fase, +-- INI.DATA_FOTO AS DataFase, +-- INI.CTV_NA AS RisorseNonAllocate, +-- INI.CTV_CC AS Contocorrente, +-- ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, +-- INI.CTV_TOTALE AS ControvaloreComplessivo +-- FROM +-- C6MartPeriodico.MONITORAGGIO_INIZIALE INI +-- WHERE +-- INI.RETE = @Rete AND +-- INI.COD_FISCALE = @CodiceFiscale + UNION ALL + -- Precedente invio report + SELECT + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_CC AS Contocorrente, +--INIZIO INTERVENTI OMNIA + rep.CTV_SELF AS Ctvself, +--FINE INTERVENTI OMNIA + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + --CTV_TOTALE + CTV_CC + CTV_NA + ISNULL(PARTITA_VIAGGIANTE,0) AS ControvaloreComplessivo --V aggiunto il cc e na per coerenza con le altre fasi + rep.CTV_TOTALE + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS ControvaloreComplessivo --V tolto il cc e na in quanto gia conteggiati + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + rep.RETE = @Rete AND + rep.COD_FISCALE = @CodiceFiscale + AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + SELECT + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + PatrimonioNonAssociato AS RisorseNonAllocate, + ContoCorrente, +--INIZIO INTERVENTI OMNIA + CTVSelf AS Ctvself, +--FINE INTERVENTI OMNIA + PartiteViaggiantiDisinv AS Partita_viaggiante, + CTV AS ControvaloreComplessivo + FROM + C6MartPeriodico.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +END +ELSE +BEGIN + SELECT + 1 AS Fase, + DATA_FOTO AS DataFase, + CTV_NA AS RisorseNonAllocate, + CTV_CC AS Contocorrente, + ISNULL(PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + CTV_TOTALE AS ControvaloreComplessivo + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE + WHERE + 1=2 +END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S82BisDatiSintetici.sql b/sql/storedTestbes/C6MartPeriodico_PL_S82BisDatiSintetici.sql new file mode 100644 index 00000000..1efdf142 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S82BisDatiSintetici.sql @@ -0,0 +1,103 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: vista ORACLE S82BIS_DATI_SINTET_RIS_E_INV tradotta su SQLSERVER. +-- Punto di partenza per lo sviluppo futuro. +-- ============================================= +-- [C6MartPeriodico].[PL_S82BisDatiSintetici] 'F','DNGMRA56E66D542Z' +CREATE procedure [C6MartPeriodico].[PL_S82BisDatiSintetici] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + /*DECLARE @TOTRischio DECIMAL(20,2) + SELECT + @TOTRischio = SUM(ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV) + FROM + C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA INNER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAREA ON + PATRAREA.RETE = RISCHIOAREA.RETE AND + PATRAREA.COD_FISCALE = RISCHIOAREA.COD_FISCALE + WHERE + PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE','INV') AND + PATRAREA.RETE = @Rete AND + PATRAREA.COD_FISCALE = @CodiceFiscale*/ + SELECT DISTINCT + BF.ORDINAMENTO_PROGETTO, + 'Inv' AS need_area, + ltrim(rtrim(ISNULL(PIRMOD.NOME_PROGETTO,BF.NOME_PROGETTO))) AS NOME_PROGETTO, + ISNULL(RA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RA.COPERTURA IS NULL THEN 'n.c.' + WHEN RA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RA.COPERTURA IS NULL THEN 'n.c.' + WHEN RA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PIRMOD.ORIZZ_TEMP AS orizzonte_Pianificato, + --C6MartPeriodico.getDescFromDate(DATEDIFF(m,(DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM,PIRMOD.DATA_PIANIF)) ,GETDATE()) + 1) AS durataResidua, + --DATEDIFF(m,DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM, PIRMOD.DATA_PIANIF) ,GETDATE()) + 1 AS durataResidua, + C6MartPeriodico.getDescFromDate(DATEDIFF(m,C6MartPeriodico.getTrimestre(GETDATE(),0),(DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM,PIRMOD.DATA_PIANIF)) )) AS durataResidua, + /*V Calcolato a livello di codice + CASE + WHEN BFAggr.CTV = 0 THEN 0 + ELSE SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO) / BFAggr.CTV * 100 + END AS pesoPerc,*/ + SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO, bf.ordinamento_progetto) AS ControvaloreAttuale + /*V Calcolato a livello di codice + CASE + WHEN @TOTRischio = 0 THEN 0 + ELSE ISNULL(RA.VAR_PERC_PTF,0) * SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO) / @TOTRischio * 100 + END AS rischioRelativo*/ + into #temp + FROM + C6MartPeriodico.PATRIMONIO_BF AS BF + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON BF.RETE = RA.RETE + AND BF.COD_FISCALE = RA.COD_FISCALE + --V AND RA.COD_AGGREG = 'PIRAMIDE|Inv' + AND RA.COD_AGGREG = 'RISFIN|PIRAMIDE|Inv|'+ BF.NOME_PROGETTO + '|' + cast(bf.ordinamento_progetto as varchar) + -- + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD + ON BF.RETE = PIRMOD.RETE + AND BF.COD_FISCALE = PIRMOD.COD_FISCALE + --AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + AND BF.ORDINAMENTO_PROGETTO = PIRMOD.ORDINAMENTO_PROGETTO + AND PIRMOD.ID_AREA = 'Inv' + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS BFAggr + ON BF.RETE = BFAggr.RETE + AND BF.COD_FISCALE = BFAggr.COD_FISCALE + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE AS MONIT + ON BF.RETE = MONIT.RETE + AND BF.COD_FISCALE = MONIT.COD_FISCALE + AND BF.ID_AREA = MONIT.ID_AREA + AND BF.NOME_PROGETTO = MONIT.NOME_PROGETTO + AND BF.ORDINAMENTO_PROGETTO = MONIT.ORDINAMENTO_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'Inv' + AND BF.RETE = @Rete + AND BF.COD_FISCALE = @CodiceFiscale + --AND BF.ORDINAMENTO_PROGETTO=1521667 + if exists (select 1 from #temp) + select * from #temp + else + select + 0 as ORDINAMENTO_PROGETTO + ,'' as need_area + ,NULL as NOME_PROGETTO + ,0 as var_needarea + ,'n.c.' as var_needareaString + ,'n.c.' as copertura_needareaString + ,'' as orizzonte_Pianificato + ,0 as durataResidua + ,0 as ControvaloreAttuale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S82DatiSintetici.sql b/sql/storedTestbes/C6MartPeriodico_PL_S82DatiSintetici.sql new file mode 100644 index 00000000..fa1d5abc --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S82DatiSintetici.sql @@ -0,0 +1,78 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_S82DatiSintetici] 'S','MRCGST50D02H223T' +CREATE procedure [C6MartPeriodico].[PL_S82DatiSintetici] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + /*DECLARE @TOTRischio DECIMAL(20,2) + SELECT + @TOTRischio = SUM(ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV) + FROM + C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA INNER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAREA ON + PATRAREA.RETE = RISCHIOAREA.RETE AND + PATRAREA.COD_FISCALE = RISCHIOAREA.COD_FISCALE + WHERE + PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE','INV') AND + PATRAREA.RETE = @Rete AND + PATRAREA.COD_FISCALE = @CodiceFiscale*/ + SELECT + PATRAREA.ID_AREA AS need_area, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PATRAREA.ORDINAMENTO_PROGETTO, + /*V Calcolato a livello di codice + CASE + WHEN PATRAGGR.CTV = 0 THEN 0 + ELSE PATRAREA.CTV / PATRAGGR.CTV * 100 + END AS pesoPerc,*/ + PATRAREA.CTV AS ControvaloreAttuale + /* Calcolato a livello di codice + CASE + WHEN @TOTRischio = 0 THEN 0 + ELSE ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV / @TOTRischio * 100 + END AS rischioRelativo*/ + into #temp + FROM C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS PATRAGGR + ON PATRAGGR.RETE = PATRAREA.Rete + AND PATRAGGR.COD_FISCALE = PATRAREA.COD_FISCALE + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON RISCHIOAREA.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRAREA.ID_AREA,3) + AND RISCHIOAREA.RETE = PATRAREA.Rete + AND RISCHIOAREA.COD_FISCALE = PATRAREA.COD_FISCALE + WHERE 1=1 + AND PATRAREA.RETE = @Rete + AND PATRAREA.COD_FISCALE = @CodiceFiscale + AND PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE') + if exists (select 1 from #temp) + select * from #temp + else + select + '' as need_area + ,0 as var_needarea + ,'n.c.' as var_needareaString + ,'n.c.' as copertura_needareaString + ,0 as ControvaloreAttuale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S83DatiRendimento.sql b/sql/storedTestbes/C6MartPeriodico_PL_S83DatiRendimento.sql new file mode 100644 index 00000000..967fb7ac --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S83DatiRendimento.sql @@ -0,0 +1,127 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_S83DatiRendimento] 'F','DNERNZ56P01A757W' +CREATE procedure [C6MartPeriodico].[PL_S83DatiRendimento] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- DECLARE @RendimNonRappr BIT +-- IF EXISTS ( +-- SELECT +-- PATR_BF.ID_AREA AS Need_Area, +-- PATR_BF.ID_CONTRATTO AS Contratto, +-- CASE +-- WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA +-- ELSE PATR_BF.NOME_PROGETTO +-- END AS Area_O_Nome_Progetto, +-- PRODOTTI.DESCR_PRODOTTO AS Descrizione, +-- PATR_BF.PARTVIA_INV AS PartitaViaggiante, +-- SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.COD_PRODOTTO) AS Controvalore, +-- dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF AS PATR_BF +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- PATR_BF.ID_AREA = AREA.ID_AREA +-- INNER JOIN C6MartPeriodico.ANAG_PRODOTTI AS PRODOTTI ON +-- PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO +-- WHERE +-- PATR_BF.RETE = @Rete +-- AND PATR_BF.COD_FISCALE = @CodiceFiscale +-- AND PATR_BF.REND_NON_RAPPR = 1 +-- ) +-- SET @RendimNonRappr = 1 +-- +-- ELSE +-- SET @RendimNonRappr = 0 +-- +-- SELECT +-- @RendimNonRappr AS cf_rendim_non_rappr, +-- ID_AREA AS Need_Area, +-- CASE +-- WHEN NOME_PROGETTO = 'XXX' THEN '' +-- ELSE NOME_PROGETTO +-- END AS Nome_Progetto, +-- dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, +-- CTV_MONITORATO AS ControvaloreMonitorato, +-- APPORTO_INIZIALE AS ApportoIniziale, +-- APPORTO_SUCCESSIVO AS ApportoSuccessivo, +-- LIQUIDAZIONI, +-- CEDOLE_DIVIDENDI AS CedoleEDividendi, +-- MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, +-- RENDIMENTO_CUMULATO AS Rendimento_Attuale, +-- RISORSE_ASSOCIATE AS RisorseApportate, +-- dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, +-- RENDIMENTO_ANNUALIZZATO +-- FROM +-- C6MartPeriodico.MONITORAGGIO_ATTUALE +-- WHERE +-- RETE = @Rete AND +-- COD_FISCALE = @CodiceFiscale +-- --AND RISORSE_ASSOCIATE > 0 +SELECT + case when RENDIMNONRAPPR=1 then 1 else 0 end AS cf_rendim_non_rappr, + MONIT.id_Area AS Need_Area, + CASE + WHEN MONIT.NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(MONIT.NOME_PROGETTO)) + END AS Nome_Progetto, + monit.ordinamento_progetto, + dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, + CTV_MONITORATO AS ControvaloreMonitorato, + APPORTO_INIZIALE AS ApportoIniziale, + APPORTO_SUCCESSIVO AS ApportoSuccessivo, + LIQUIDAZIONI, + CEDOLE_DIVIDENDI AS CedoleEDividendi, + MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, + RENDIMENTO_CUMULATO AS Rendimento_Attuale, + RISORSE_ASSOCIATE AS RisorseApportate, + dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, + RENDIMENTO_ANNUALIZZATO + FROM + C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT + LEFT OUTER JOIN + ( + SELECT + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end as NOME_PROGETTO, + patr_bf.ordinamento_progetto, + 1 as RENDIMNONRAPPR + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + LEFT OUTER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + WHERE + PATR_BF.RETE = @Rete + AND PATR_BF.COD_FISCALE = @CodiceFiscale + AND PATR_BF.REND_NON_RAPPR = 1 + group by + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end, + patr_bf.ordinamento_progetto + ) PATR_BF + ON PATR_BF.COD_FISCALE=MONIT.COD_FISCALE + AND PATR_BF.RETE= MONIT.RETE + AND left(PATR_BF.ID_AREA,3)=left(MONIT.ID_AREA,3) + AND isnull(PATR_BF.NOME_PROGETTO,'XXX')=isnull(MONIT.NOME_PROGETTO,'XXX') + And monit.ordinamento_progetto=patr_bf.ordinamento_progetto + WHERE + MONIT.RETE = @Rete AND + MONIT.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S83DatiRendimento_85.sql b/sql/storedTestbes/C6MartPeriodico_PL_S83DatiRendimento_85.sql new file mode 100644 index 00000000..420b0e0e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S83DatiRendimento_85.sql @@ -0,0 +1,123 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_S83DatiRendimento] 'F','DNERNZ56P01A757W' +CREATE procedure [C6MartPeriodico].[PL_S83DatiRendimento_85] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- DECLARE @RendimNonRappr BIT +-- IF EXISTS ( +-- SELECT +-- PATR_BF.ID_AREA AS Need_Area, +-- PATR_BF.ID_CONTRATTO AS Contratto, +-- CASE +-- WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA +-- ELSE PATR_BF.NOME_PROGETTO +-- END AS Area_O_Nome_Progetto, +-- PRODOTTI.DESCR_PRODOTTO AS Descrizione, +-- PATR_BF.PARTVIA_INV AS PartitaViaggiante, +-- SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.COD_PRODOTTO) AS Controvalore, +-- dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF AS PATR_BF +-- INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON +-- PATR_BF.ID_AREA = AREA.ID_AREA +-- INNER JOIN C6MartPeriodico.ANAG_PRODOTTI AS PRODOTTI ON +-- PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO +-- WHERE +-- PATR_BF.RETE = @Rete +-- AND PATR_BF.COD_FISCALE = @CodiceFiscale +-- AND PATR_BF.REND_NON_RAPPR = 1 +-- ) +-- SET @RendimNonRappr = 1 +-- +-- ELSE +-- SET @RendimNonRappr = 0 +-- +-- SELECT +-- @RendimNonRappr AS cf_rendim_non_rappr, +-- ID_AREA AS Need_Area, +-- CASE +-- WHEN NOME_PROGETTO = 'XXX' THEN '' +-- ELSE NOME_PROGETTO +-- END AS Nome_Progetto, +-- dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, +-- CTV_MONITORATO AS ControvaloreMonitorato, +-- APPORTO_INIZIALE AS ApportoIniziale, +-- APPORTO_SUCCESSIVO AS ApportoSuccessivo, +-- LIQUIDAZIONI, +-- CEDOLE_DIVIDENDI AS CedoleEDividendi, +-- MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, +-- RENDIMENTO_CUMULATO AS Rendimento_Attuale, +-- RISORSE_ASSOCIATE AS RisorseApportate, +-- dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, +-- RENDIMENTO_ANNUALIZZATO +-- FROM +-- C6MartPeriodico.MONITORAGGIO_ATTUALE +-- WHERE +-- RETE = @Rete AND +-- COD_FISCALE = @CodiceFiscale +-- --AND RISORSE_ASSOCIATE > 0 +SELECT + case when RENDIMNONRAPPR=1 then 1 else 0 end AS cf_rendim_non_rappr, + MONIT.id_Area AS Need_Area, + CASE + WHEN MONIT.NOME_PROGETTO = 'XXX' THEN '' + ELSE MONIT.NOME_PROGETTO + END AS Nome_Progetto, + dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, + CTV_MONITORATO AS ControvaloreMonitorato, + APPORTO_INIZIALE AS ApportoIniziale, + APPORTO_SUCCESSIVO AS ApportoSuccessivo, + LIQUIDAZIONI, + CEDOLE_DIVIDENDI AS CedoleEDividendi, + MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, + RENDIMENTO_CUMULATO AS Rendimento_Attuale, + RISORSE_ASSOCIATE AS RisorseApportate, + dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, + RENDIMENTO_ANNUALIZZATO + FROM + C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT + LEFT OUTER JOIN + ( + SELECT + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end as NOME_PROGETTO, + 1 as RENDIMNONRAPPR + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + LEFT OUTER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + WHERE + PATR_BF.RETE = @Rete + AND PATR_BF.COD_FISCALE = @CodiceFiscale + AND PATR_BF.REND_NON_RAPPR = 1 + group by + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end + ) PATR_BF + ON PATR_BF.COD_FISCALE=MONIT.COD_FISCALE + AND PATR_BF.RETE= MONIT.RETE + AND left(PATR_BF.ID_AREA,3)=left(MONIT.ID_AREA,3) + AND isnull(PATR_BF.NOME_PROGETTO,'XXX')=isnull(MONIT.NOME_PROGETTO,'XXX') + WHERE + MONIT.RETE = @Rete AND + MONIT.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S84ControvaloreRisorseApportate.sql b/sql/storedTestbes/C6MartPeriodico_PL_S84ControvaloreRisorseApportate.sql new file mode 100644 index 00000000..a3b296b2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S84ControvaloreRisorseApportate.sql @@ -0,0 +1,45 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 15 gennaio 2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_S84ControvaloreRisorseApportate] 'F','BDTMSS49A43F502I' +CREATE procedure [C6MartPeriodico].[PL_S84ControvaloreRisorseApportate] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + UNION + SELECT + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S85RendimentoPortafoglioCono.sql b/sql/storedTestbes/C6MartPeriodico_PL_S85RendimentoPortafoglioCono.sql new file mode 100644 index 00000000..8e791140 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S85RendimentoPortafoglioCono.sql @@ -0,0 +1,81 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S85RendimentoPortafoglioCono] 'F','CNTGCR68T31D458G' +CREATE procedure [C6MartPeriodico].[PL_S85RendimentoPortafoglioCono] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,isnull([NOME_PROGETTO],'XXX') as NOME_PROGETTO + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB] +into #pir_mod_xxx + FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] + WHERE cod_fiscale = @CodiceFiscale AND rete = @rete +--select * from #pir_mod_xxx where cod_fiscale = 'FF@7181' + SELECT + CONO.ID_AREA AS NEED_AREA, + CASE + WHEN CONO.NOME_PROGETTO = 'XXX' THEN '' + ELSE CONO.NOME_PROGETTO + END AS NOME_PROGETTO, + cono.ordinamento_progetto, + CONO.DATA_CONO, + CONO.SCENARIO_OTTIMISTICO AS OTTIMISTICO, + CONO.SCENARIO_PESSIMISTICO AS PESSIMISTICO, + isnull(PIRMOD.ORIZZ_TEMP_NUM,0) * 12 AS ORIZZONTE_MESI, + MONIT.RENDIMENTO_CUMULATO AS RENDIMENTO, + MONIT.DATA_CTV AS DATA_MONIT + -- into #test --aggiunta 20221219 + FROM + C6MartPeriodico.CONO_PIANIFICAZIONE AS CONO + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE AS MONIT + ON CONO.RETE = MONIT.RETE + AND CONO.COD_FISCALE = MONIT.COD_FISCALE + AND CONO.ID_AREA = MONIT.ID_AREA + AND CONO.NOME_PROGETTO = MONIT.NOME_PROGETTO + And cono.ordinamento_progetto=monit.ordinamento_progetto --l'ordinamento progetto è sempre pari alla chiaveprogetto e non idmonitoraggio + INNER JOIN #pir_mod_xxx as PIRMOD + ON CONO.RETE = PIRMOD.RETE + AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE + AND CONO.ID_AREA = PIRMOD.ID_AREA + AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + And cono.ordinamento_progetto=pirmod.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD +-- ON CONO.RETE = PIRMOD.RETE +-- AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE +-- AND CONO.ID_AREA = PIRMOD.ID_AREA +-- AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + WHERE + CONO.RETE = @Rete AND + CONO.COD_FISCALE = @CodiceFiscale + --and DATA_CTV is not null + ORDER BY CONO.DATA_CONO + --aggiunta 20221219 + --select * + --from #test + --where DATA_MONIT is not null and RENDIMENTO<>'0.00' + drop table #pir_mod_xxx +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S86PatrimonioFinanziarioMAssetClass.sql b/sql/storedTestbes/C6MartPeriodico_PL_S86PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..8379c157 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S86PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,339 @@ +--select * +--from c6martperiodico.patrimonio_bf +--where cod_fiscale = 'GNGFRZ63H17D810C' +--and id_area = 'Liq' +-- +--begin tran commit +--update +--c6martperiodico.patrimonio_bf +--set ordinamento_progetto = 527950 +--where cod_fiscale = 'GNGFRZ63H17D810C' +--and id_area = 'Liq' +--and ordinamento_progetto is null +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti -- Alessandro Tringali +-- Create date: 15 gennaio 2009 -- 19/09/2009 +-- Description: riporta il valore complessivo dei prodotti attualmente destinati all'area +-- di bisogno progetto (controvalore attuale) ed il relativo valore di rischio (VaR attuale) +-- ============================================= +-- [C6MartPeriodico].[PL_S86PatrimonioFinanziarioMAssetClass] 'S','GNGFRZ63H17D810C' +CREATE procedure [C6MartPeriodico].[PL_S86PatrimonioFinanziarioMAssetClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT + VALORIASSET.ID_AREA AS Need_Area, + VALORIASSET.NOME_PROGETTO, + VALORIASSET.ord_progetto, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + --ROUND(VALORIASSET.CONTROVALORE, 2) AS Controvalore, + CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, + ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_AREA, VALORIASSET.NOME_PROGETTO) * 100, 2) AS Percentuale + FROM ( + SELECT + VAL.RETE, + VAL.COD_FISCALE, + VAL.ID_AREA, + VAL.NOME_PROGETTO, + val.ord_progetto, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + CASE + WHEN PATR_BF.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE PATR_BF.ID_AREA + END AS ID_AREA, + ltrim(rtrim(PATR_BF.NOME_PROGETTO)) NOME_PROGETTO , + patr_bf.ordinamento_progetto ord_progetto, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE + PATR_BF.ID_AREA NOT IN ('Cc', 'Na','Pre1','Pre2','Pre') + AND ASSETPERC.LIVELLO = 1 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + AND PATR_BF.COD_FISCALE=@CodiceFiscale + AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + CASE + WHEN PATR_BF.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE PATR_BF.ID_AREA + END AS ID_AREA, + PATR_BF.NOME_PROGETTO, + patr_bf.ordinamento_progetto ord_progetto, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + AND PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + CASE + WHEN ASUL.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE ASUL.ID_AREA + END AS ID_AREA, + ASUL.NOME_PROGETTO, + asul.ordinamento_progetto ord_progetto, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 +-- INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF +-- ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE +-- AND ASUL.RETE=PATR_BF.RETE +-- AND ASUL.ID_CONTRATTO=PATR_BF.ID_CONTRATTO + WHERE + ASUL.RETE =@Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + AND ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA NOT IN ('Pre1','Pre2','Pre') + ) val + where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_AREA, + VAL.NOME_PROGETTO, + val.ord_progetto, + VAL.ID_ASSETCLASS + UNION ALL + /* nuovo */ + SELECT + VAL.RETE, + VAL.COD_FISCALE, + VAL.ID_AREA, + VAL.NOME_PROGETTO, + MAX(val.ord_progetto), + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + CASE + WHEN PATR_BF.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE PATR_BF.ID_AREA + END AS ID_AREA, + ltrim(rtrim(PATR_BF.NOME_PROGETTO)) NOME_PROGETTO , + patr_bf.ordinamento_progetto ord_progetto, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE + PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + AND ASSETPERC.LIVELLO = 1 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + AND PATR_BF.COD_FISCALE=@CodiceFiscale + AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + CASE + WHEN PATR_BF.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE PATR_BF.ID_AREA + END AS ID_AREA, + PATR_BF.NOME_PROGETTO, + patr_bf.ordinamento_progetto ord_progetto, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + AND PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + CASE + WHEN ASUL.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE ASUL.ID_AREA + END AS ID_AREA, + ASUL.NOME_PROGETTO, + asul.ordinamento_progetto ord_progetto, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 +-- INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF +-- ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE +-- AND ASUL.RETE=PATR_BF.RETE +-- AND ASUL.ID_CONTRATTO=PATR_BF.ID_CONTRATTO + WHERE + ASUL.RETE =@Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + AND ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA IN ('Pre1','Pre2','Pre') + ) val + where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_AREA, + VAL.NOME_PROGETTO, + VAL.ID_ASSETCLASS + /**/ + ) + VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS AS ASSETCLASS + ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + WHERE + VALORIASSET.RETE =@Rete + AND VALORIASSET.COD_FISCALE = @CodiceFiscale + ORDER BY + ASSETCLASS.ORDINAMENTO +-- +-- SELECT +-- VALORIASSET.ID_AREA AS Need_Area, +-- VALORIASSET.NOME_PROGETTO, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- --ROUND(VALORIASSET.CONTROVALORE, 2) AS Controvalore, +-- CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, +-- ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_AREA, VALORIASSET.NOME_PROGETTO) * 100, 2) AS Percentuale +-- FROM ( +-- SELECT +-- PATR_BF.RETE, +-- PATR_BF.COD_FISCALE, +-- CASE +-- WHEN PATR_BF.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' +-- ELSE PATR_BF.ID_AREA +-- END AS ID_AREA, +-- PATR_BF.NOME_PROGETTO, +-- SUM(PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, +-- ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS +-- FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF +-- INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC +-- ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- WHERE +-- PATR_BF.ID_AREA NOT IN ('Cc', 'Na') +-- AND ASSETPERC.LIVELLO = 1 +-- GROUP BY +-- PATR_BF.RETE, +-- PATR_BF.COD_FISCALE, +-- PATR_BF.ID_AREA, +-- PATR_BF.NOME_PROGETTO, +-- ASSETPERC.ID_ASSETCLASS +-- ) VALORIASSET +-- INNER JOIN C6MartPeriodico.ASSETCLASS AS ASSETCLASS +-- ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +-- WHERE +-- VALORIASSET.RETE = @Rete +-- AND VALORIASSET.COD_FISCALE = @CodiceFiscale +-- ORDER BY +-- ASSETCLASS.ORDINAMENTO + /*SELECT + ID_AREA AS NEED_AREA, + NOME_PROGETTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS, ID_AREA, NOME_PROGETTO) AS Controvalore, + /*( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS, ID_AREA, NOME_PROGETTO) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale,*/ + VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY ID_AREA, NOME_PROGETTO) * 100 AS Percentuale, + --SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') AS PatrimonioFinanziarioCTV, + ASSETCLASS.ORDINAMENTO AS Ordinamento + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + LEFT(PATRBF.ID_AREA,3) AS ID_AREA, + PATRBF.NOME_PROGETTO, + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRBF.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + --C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + C6MartPeriodico.PATRIMONIO_BF PATRBF + LEFT JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + --AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.ID_AREA NOT IN ('Cc', 'Na') + /*UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale*/ + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + ORDER BY + ASSETCLASS.ORDINAMENTO*/ +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql b/sql/storedTestbes/C6MartPeriodico_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql new file mode 100644 index 00000000..45bd4829 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql @@ -0,0 +1,79 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 18 febbraio 2009 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento] 'F','BLNMTN60L53L736R' +CREATE procedure [C6MartPeriodico].[PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento] --'F','BLDRLF57A17F632H' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT distinct + PATR_BF.ID_AREA AS Need_Area, + PATR_BF.ID_CONTRATTO AS Contratto, + CASE + WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA + ELSE ltrim(rtrim(PATR_BF.NOME_PROGETTO)) + END AS Area_O_Nome_Progetto, + --PRODOTTI.DESCR_PRODOTTO AS Descrizione, + CASE WHEN PATR_BF.TIPO_PRODOTTO <> 'CC' THEN PRODOTTI.DESCR_PRODOTTO + ELSE PRODOTTI.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATR_BF.PARTVIA_DISINV AS PartitaViaggiante, + SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.POSITION_ID) AS Controvalore, + dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + -- savingmap - Novembre 2019 + PATR_BF.tipo_prodotto as Tipo_Prodotto , + apc.is_APC as isAPC + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI AS PRODOTTI ON + PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO + --V La sezione deve uscire soltanto per aree monitorate + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE M ON + PATR_BF.RETE = M.RETE AND PATR_BF.COD_FISCALE = M.COD_FISCALE + AND( + (PATR_BF.ID_AREA = M.ID_AREA AND PATR_BF.ID_AREA <> 'INV') + OR + (PATR_BF.ID_AREA = 'INV' AND PATR_BF.ID_AREA = M.ID_AREA AND PATR_BF.ORDINAMENTO_PROGETTO = M.ORDINAMENTO_PROGETTO) + ) + LEFT OUTER JOIN C6MartPeriodico.ANAG_CC ON + ANAG_CC.COD_FISCALE = PATR_BF.COD_FISCALE + AND ANAG_CC.RETE = PATR_BF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATR_BF.position_id,72,9) + left join C6MartPeriodico.WSEICC apc +on + apc.RETE=PATR_BF.RETE + and apc.cod_fiscale=patr_bf.cod_fiscale + and PATR_BF.ID_CONTRATTO = --apc.CODCONFPR + (case when PATR_BF.tipo_prodotto='CC' then apc.CODCONFC else apc.CODCONFPR end) + WHERE + PATR_BF.RETE = @Rete + AND PATR_BF.COD_FISCALE = @CodiceFiscale + AND PATR_BF.REND_NON_RAPPR = 1 + ORDER BY + Area_O_Nome_Progetto + -- select [Need_Area] + -- ,[Contratto] + -- ,[Area_O_Nome_Progetto] + -- ,[Descrizione] + -- ,[PartitaViaggiante] + -- ,[Controvalore] + -- ,[DataSottoscrizione] + -- ,[Tipo_Prodotto] + --from [C6StampeCentralizzate].[dbo].[pezzotto_2022] + --WHERE + -- RETE = @Rete + -- AND COD_FISCALE = @CodiceFiscale + -- --AND REND_NON_RAPPR = 1 + --ORDER BY + -- Area_O_Nome_Progetto +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S94Rischio.sql b/sql/storedTestbes/C6MartPeriodico_PL_S94Rischio.sql new file mode 100644 index 00000000..d5c63743 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S94Rischio.sql @@ -0,0 +1,50 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S94Rischio] 'F','GRZDSG43E11D193N' +CREATE procedure [C6MartPeriodico].[PL_S94Rischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + SELECT + @varBF = VAR_PERC_PTF, + @coperturaBF = COPERTURA + FROM + C6MartPeriodico.RISCHIO_AGGREGATO + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale AND + COD_AGGREG = 'COMPLESSIVO|BF' + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = CR.DESCRIZIONE + FROM + C6MartPeriodico.MIFID AS M + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + SELECT + @codiceProfilo as codiceProfilo, + @dataProfilo as dataProfilo, + @varProfilo as varProfilo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S95ProfiloDiRischio.sql b/sql/storedTestbes/C6MartPeriodico_PL_S95ProfiloDiRischio.sql new file mode 100644 index 00000000..2c76f894 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S95ProfiloDiRischio.sql @@ -0,0 +1,87 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S95ProfiloDiRischio]'F', 'VNCLNI44T60G388L' +CREATE procedure [C6MartPeriodico].[PL_S95ProfiloDiRischio] --'F','BRDCNZ69P44E783R' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenza DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + declare @descrizioneProfilo varchar(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @riskclassDescr VARCHAR(250) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza varchar(20) + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenza = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + else '-' + end + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + -- RICERCA DATA FINE VALIDITA' + declare @dtfinval decimal(9,0) + declare @codman varchar(6) + set @codman = '' + if upper(left(@CodiceFiscale,3)) = 'FF@' + begin + set @codman = substring(@CodiceFiscale,4,len(@CodiceFiscale)-3) + select @dtfinval = dtfinval from C6StagingPeriodico.WSEIAN2 + where codman = @codman and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice mandato' + end + else + begin + select @dtfinval = dtfinval from C6StagingPeriodico.WSEIAN2 + where codfis = @CodiceFiscale and DTTRIM = (SELECT MAX(DTTRIM) FROM C6StagingPeriodico.WSEIAN2) + print 'codice fiscale' + end + -- + if @dtfinval <> 0 and @dtfinval is not null and ltrim(rtrim(@dtfinval)) <> '' + set @dataScadenza = CONVERT(datetime, CONVERT(varchar,CONVERT(int,@dtfinval)), 0) + else + set @dataScadenza = null + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (@dataScadenza) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as DescrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as descrizioneEsperienza +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S95ProfiloDiRischio_20190204_PreMIFID2.sql b/sql/storedTestbes/C6MartPeriodico_PL_S95ProfiloDiRischio_20190204_PreMIFID2.sql new file mode 100644 index 00000000..bf835205 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S95ProfiloDiRischio_20190204_PreMIFID2.sql @@ -0,0 +1,49 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S95ProfiloDiRischio]F,00247580970 +CREATE procedure [C6MartPeriodico].[PL_S95ProfiloDiRischio_20190204_PreMIFID2] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskclass, + @experience as experince +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S96BisRischioMercatoRischioCredito.sql b/sql/storedTestbes/C6MartPeriodico_PL_S96BisRischioMercatoRischioCredito.sql new file mode 100644 index 00000000..17f3ea0e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S96BisRischioMercatoRischioCredito.sql @@ -0,0 +1,229 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_S96BisRischiomercatoRischiocredito] 'F','BSHLRI69R13Z100Y' +CREATE procedure [C6MartPeriodico].[PL_S96BisRischioMercatoRischioCredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + --V Imposizione VaR a 0 nel caso di presenza di solo cc + CASE + WHEN (@contaPOS - @contaCC) = 0 THEN 0.00 + ELSE RISK_AGG.VAR_PERC_PTF + END AS VAR, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 AND (@contaPOS - @contaCC) <> 0 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.a.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + CASE + WHEN (@contaPOS - @contaCC) = 0 THEN 100 + ELSE ISNULL(RISK_AGG.COPERTURA,0.00) + END AS COVERAGE, +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE + NULL AS COVERAGESTRING, + --V changed from string value (descrizione) to the numeric (profilo) + M.RISKCLASS AS RISKCLASSMAX, + (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI-CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) + END ) + *100 AS PERCENTAGE, + case when RISK_AGG.VAR_PERC_PTF > CR.MAX_VAR then 0 else 1 end as VarIsOk, + case when isnull(RISK_AGG.CREDITRISK,0) > Ck.PROFILO then 0 else 1 end as RiskClassIsOk, + CASE WHEN CMP.COMPLESSITA > M.EXPERIENCE THEN 0 ELSE 1 END as ComplexityIsOk, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE ' Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale = @codiceFiscale + and rete= @rete + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE ' Patrimonio IW Private Inv.' END + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + left outer join C6MartPeriodico.COMPLESSITA cmp + on + CMP.COD_FISCALE=PATRBF.COD_FISCALE + AND + CMP.RETE=PATRBF.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + ) +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[PL_S96BisRischioMercatoRischioCredito] Script Date: 10/02/2022 16:38:26 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +-- --[C6MartPeriodico].[PL_S96BisRischiomercatoRischiocredito] 'F','BSHLRI69R13Z100Y' +--ALTER procedure [C6MartPeriodico].[PL_S96BisRischioMercatoRischioCredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +-- declare @contaCC as int +-- select @contaCC = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete +-- declare @contaPOS as int +-- select @contaPOS = count(*) +-- from c6martperiodico.patrimonio_Bf +-- where cod_fiscale = @codiceFiscale and rete = @rete +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- PATRBF.INSTITUTENAME, +-- CTV, +-- M.PROFILO_ASS AS CODICEPROFILO, +-- CR.MAX_VAR AS VARMAX, +-- --V Imposizione VaR a 0 nel caso di presenza di solo cc +-- CASE +-- WHEN (@contaPOS - @contaCC) = 0 THEN 0.00 +-- ELSE RISK_AGG.VAR_PERC_PTF +-- END AS VAR, +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 AND (@contaPOS - @contaCC) <> 0 THEN 'n.c.' +-- ELSE NULL +-- END AS VARSTRING, +-- RISK_AGG.CREDITRISK RISKCLASS, +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END AS RISKCLASSSTRING, +-- CASE +-- WHEN (@contaPOS - @contaCC) = 0 THEN 100 +-- ELSE ISNULL(RISK_AGG.COPERTURA,0.00) +-- END AS COVERAGE, +---- CASE +---- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +---- ELSE +-- NULL AS COVERAGESTRING, +-- --V changed from string value (descrizione) to the numeric (profilo) +-- M.RISKCLASS AS RISKCLASSMAX, +-- (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / +-- -- 16.07.2011 COLAIANNI-CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 +-- THEN 1 +-- ELSE SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) +-- END ) +-- *100 AS PERCENTAGE, +-- case when RISK_AGG.VAR_PERC_PTF > CR.MAX_VAR then 0 else 1 end as VarIsOk, +-- case when isnull(RISK_AGG.CREDITRISK,0) > Ck.PROFILO then 0 else 1 end as RiskClassIsOk, +-- CASE WHEN CMP.COMPLESSITA > M.EXPERIENCE THEN 0 ELSE 1 END as ComplexityIsOk, +-- RISK_AGG.Ully_perc +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, +-- SUM(PATRBF.CTV) AS CTV +-- from +-- c6martperiodico.patrimonio_bf PATRBF +-- where +-- 1=1 +-- and cod_fiscale = @codiceFiscale +-- and rete= @rete +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END +-- ) PATRBF +-- LEFT OUTER JOIN +-- c6martperiodico.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- left outer join C6MartPeriodico.COMPLESSITA cmp +-- on +-- CMP.COD_FISCALE=PATRBF.COD_FISCALE +-- AND +-- CMP.RETE=PATRBF.RETE +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' +-- ) +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_S96RischiomercatoRischiocredito.sql b/sql/storedTestbes/C6MartPeriodico_PL_S96RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..785d0e0e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_S96RischiomercatoRischiocredito.sql @@ -0,0 +1,227 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6MartPeriodico].[PL_S96RischiomercatoRischiocredito] 'F','GZZSLD52E20G869L' +CREATE procedure [C6MartPeriodico].[PL_S96RischiomercatoRischiocredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.cod_fiscale = @codiceFiscale + and PATRBF.rete= @rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.cod_fiscale =@codiceFiscale + and TERZI.rete=@rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PL_SavingMap.sql b/sql/storedTestbes/C6MartPeriodico_PL_SavingMap.sql new file mode 100644 index 00000000..6ee1e73c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PL_SavingMap.sql @@ -0,0 +1,19 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_SavingMap] 'S','BCCNCL47B10H769B','507112FO702' --'000001VP001' +create procedure [C6MartPeriodico].[PL_SavingMap] + @rete varchar(1), + @codfis varchar(16), + @codConf varchar(11) +AS +BEGIN + declare @ris as int + declare @ritorno as int + -- viene passato il contratto di un foglio: verifico se su questo è attivo saving map L'informazione è contenuta nella colonna MAF del cc + select @ritorno = (select count(*) from c6martperiodico.patrimonio_bf where + cod_fiscale = @codfis and rete = @rete and cod_maf = @codConf ) + select @ritorno +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza.sql b/sql/storedTestbes/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza.sql new file mode 100644 index 00000000..44ea658a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza.sql @@ -0,0 +1,245 @@ +CREATE procedure [C6MartPeriodico].[POPOLA_S132ProfiloRischioAdeguatezza] +AS +BEGIN +-------------------------------------------------------- +--***************************************************** +-- Replat della Sp PL_MP_S132ProfiloRischioAdeguatezza +-- Attenzione : la insert sulla tabella TB_S132ProfiloRischioAdeguatezza inserisci su alcuni campi valori +-- che successivamente sono aggiornati con un UPD ( vedi fine SP ) +--***************************************************** + SET NOCOUNT ON; +truncate table C6MartPeriodico.TB_S132ProfiloRischioAdeguatezza +insert into C6MartPeriodico.TB_S132ProfiloRischioAdeguatezza + SELECT distinct + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, +--CONVERT(DATETIME,M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + DBO.TOSHORTDATESTRING(M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + CR.MAX_VAR AS VARMAX, + ProfiliDiRischio.NOMEPROFILO as NOMEPROFILO, + RISK_AGG.VAR_PERC_PTF,-- VAR, + null VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.a.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) COVERAGE, + NULL AS COVERAGESTRING, + --V changed from string value (descrizione) to the numeric (profilo) + M.RISKCLASS AS RISKCLASSMAX, + (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI-CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) + END ) + *100 AS PERCENTAGE, + case when RISK_AGG.VAR_PERC_PTF > CR.MAX_VAR then 0 else 1 end as VarIsOk, + case when isnull(RISK_AGG.CREDITRISK,0) > Ck.PROFILO then 0 else 1 end as RiskClassIsOk, + CASE WHEN CMP.COMPLESSITA > M.EXPERIENCE THEN 0 ELSE 1 END as ComplexityIsOk, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + -- and cod_fiscale = @codiceFiscale + -- and rete= @rete + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' ELSE 'Patrimonio IW Private Inv.' END + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + left outer join C6MartPeriodico.COMPLESSITA cmp + on + CMP.COD_FISCALE=PATRBF.COD_FISCALE + AND + CMP.RETE=PATRBF.RETE +INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + ) +update s132 + set var = ( CASE + WHEN (nocc - CC = 0 ) THEN 0.00 + else var + END ), + COVERAGE = ( CASE + WHEN (nocc - CC = 0 ) THEN 100 + else COVERAGE + END ) + --, + --VARSTRING=( CASE + -- WHEN VARSTRING = 0.00 AND (nocc - CC <> 0 ) THEN 'n.c.' + --END ) + from c6martperiodico.TB_S132ProfiloRischioAdeguatezza s132 + inner join ( + select rete,cod_fiscale + ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc + ,sum ( tot ) as nocc + from + ( select rete,cod_fiscale,tipo_prodotto,count(*) tot + from c6martperiodico.patrimonio_Bf + --where cod_fiscale = '00082850397' and rete = 'F' + group by rete,cod_fiscale,tipo_prodotto + ) as gr + group by rete,cod_fiscale + ) as tabCount + on tabcount.rete= s132.rete and tabcount.cod_fiscale=s132.cod_fiscale +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[POPOLA_S132ProfiloRischioAdeguatezza] Script Date: 10/02/2022 16:41:23 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +--ALTER procedure [C6MartPeriodico].[POPOLA_S132ProfiloRischioAdeguatezza] +--AS +--BEGIN +---------------------------------------------------------- +----***************************************************** +---- Replat della Sp PL_MP_S132ProfiloRischioAdeguatezza +---- Attenzione : la insert sulla tabella TB_S132ProfiloRischioAdeguatezza inserisci su alcuni campi valori +---- che successivamente sono aggiornati con un UPD ( vedi fine SP ) +----***************************************************** +-- SET NOCOUNT ON; +--truncate table C6MartPeriodico.TB_S132ProfiloRischioAdeguatezza +--insert into C6MartPeriodico.TB_S132ProfiloRischioAdeguatezza +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- PATRBF.INSTITUTENAME, +-- CTV, +-- M.PROFILO_ASS AS CODICEPROFILO, +----CONVERT(DATETIME,M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, +-- DBO.TOSHORTDATESTRING(M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, +-- CR.MAX_VAR AS VARMAX, +-- ProfiliDiRischio.NOMEPROFILO as NOMEPROFILO, +-- RISK_AGG.VAR_PERC_PTF,-- VAR, +-- null VARSTRING, +-- RISK_AGG.CREDITRISK RISKCLASS, +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END AS RISKCLASSSTRING, +-- ISNULL(RISK_AGG.COPERTURA,0.00) COVERAGE, +-- NULL AS COVERAGESTRING, +-- --V changed from string value (descrizione) to the numeric (profilo) +-- M.RISKCLASS AS RISKCLASSMAX, +-- (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / +-- -- 16.07.2011 COLAIANNI-CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 +-- THEN 1 +-- ELSE SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) +-- END ) +-- *100 AS PERCENTAGE, +-- case when RISK_AGG.VAR_PERC_PTF > CR.MAX_VAR then 0 else 1 end as VarIsOk, +-- case when isnull(RISK_AGG.CREDITRISK,0) > Ck.PROFILO then 0 else 1 end as RiskClassIsOk, +-- CASE WHEN CMP.COMPLESSITA > M.EXPERIENCE THEN 0 ELSE 1 END as ComplexityIsOk, +-- RISK_AGG.Ully_perc +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, +-- SUM(PATRBF.CTV) AS CTV +-- from +-- c6martperiodico.patrimonio_bf PATRBF +-- where +-- 1=1 +-- -- and cod_fiscale = @codiceFiscale +-- -- and rete= @rete +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END +-- ) PATRBF +-- LEFT OUTER JOIN +-- c6martperiodico.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- c6martperiodico.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- left outer join C6MartPeriodico.COMPLESSITA cmp +-- on +-- CMP.COD_FISCALE=PATRBF.COD_FISCALE +-- AND +-- CMP.RETE=PATRBF.RETE +--INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio +-- ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' +-- ) +--update s132 +-- set var = ( CASE +-- WHEN (nocc - CC = 0 ) THEN 0.00 +-- else var +-- END ), +-- COVERAGE = ( CASE +-- WHEN (nocc - CC = 0 ) THEN 100 +-- else COVERAGE +-- END ) +-- --, +-- --VARSTRING=( CASE +-- -- WHEN VARSTRING = 0.00 AND (nocc - CC <> 0 ) THEN 'n.c.' +-- --END ) +-- from c6martperiodico.TB_S132ProfiloRischioAdeguatezza s132 +-- inner join ( +-- select rete,cod_fiscale +-- ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc +-- ,sum ( tot ) as nocc +-- from +-- ( select rete,cod_fiscale,tipo_prodotto,count(*) tot +-- from c6martperiodico.patrimonio_Bf +-- --where cod_fiscale = '00082850397' and rete = 'F' +-- group by rete,cod_fiscale,tipo_prodotto +-- ) as gr +-- group by rete,cod_fiscale +-- ) as tabCount +-- on tabcount.rete= s132.rete and tabcount.cod_fiscale=s132.cod_fiscale +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_PROVVISORIA.sql b/sql/storedTestbes/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_PROVVISORIA.sql new file mode 100644 index 00000000..e96f002e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_PROVVISORIA.sql @@ -0,0 +1,119 @@ +CREATE procedure [C6MartPeriodico].[POPOLA_S132ProfiloRischioAdeguatezza_PROVVISORIA] +AS +BEGIN +-------------------------------------------------------- +--***************************************************** +-- Replat della Sp PL_MP_S132ProfiloRischioAdeguatezza +-- Attenzione : la insert sulla tabella TB_S132ProfiloRischioAdeguatezza inserisci su alcuni campi valori +-- che successivamente sono aggiornati con un UPD ( vedi fine SP ) +--***************************************************** + SET NOCOUNT ON; +--truncate table C6MartPeriodico.TB_S132ProfiloRischioAdeguatezza +insert into C6MartPeriodico.TB_S132ProfiloRischioAdeguatezza + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, +--CONVERT(DATETIME,M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + DBO.TOSHORTDATESTRING(M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + CR.MAX_VAR AS VARMAX, + ProfiliDiRischio.NOMEPROFILO as NOMEPROFILO, + RISK_AGG.VAR_PERC_PTF,-- VAR, + null VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.a.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) COVERAGE, + NULL AS COVERAGESTRING, + --V changed from string value (descrizione) to the numeric (profilo) + M.RISKCLASS AS RISKCLASSMAX, + (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI-CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) + END ) + *100 AS PERCENTAGE, + case when RISK_AGG.VAR_PERC_PTF > CR.MAX_VAR then 0 else 1 end as VarIsOk, + case when isnull(RISK_AGG.CREDITRISK,0) > Ck.PROFILO then 0 else 1 end as RiskClassIsOk, + CASE WHEN CMP.COMPLESSITA > M.EXPERIENCE THEN 0 ELSE 1 END as ComplexityIsOk, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale = 'DLLPLG43L04I625G' + and rete= 'F' + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + left outer join C6MartPeriodico.COMPLESSITA cmp + on + CMP.COD_FISCALE=PATRBF.COD_FISCALE + AND + CMP.RETE=PATRBF.RETE +INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + ) +update s132 + set var = ( CASE + WHEN (nocc - CC = 0 ) THEN 0.00 + else var + END ), + COVERAGE = ( CASE + WHEN (nocc - CC = 0 ) THEN 100 + else COVERAGE + END ) + --, + --VARSTRING=( CASE + -- WHEN VARSTRING = 0.00 AND (nocc - CC <> 0 ) THEN 'n.c.' + --END ) + from c6martperiodico.TB_S132ProfiloRischioAdeguatezza s132 + inner join ( + select rete,cod_fiscale + ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc + ,sum ( tot ) as nocc + from + ( select rete,cod_fiscale,tipo_prodotto,count(*) tot + from c6martperiodico.patrimonio_Bf + where cod_fiscale = 'DLLPLG43L04I625G' and rete = 'F' + group by rete,cod_fiscale,tipo_prodotto + ) as gr + group by rete,cod_fiscale + ) as tabCount + on tabcount.rete= s132.rete and tabcount.cod_fiscale=s132.cod_fiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_pre_selective.sql new file mode 100644 index 00000000..0a30e975 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_POPOLA_S132ProfiloRischioAdeguatezza_pre_selective.sql @@ -0,0 +1,119 @@ +CREATE procedure [C6MartPeriodico].[POPOLA_S132ProfiloRischioAdeguatezza_pre_selective] +AS +BEGIN +-------------------------------------------------------- +--***************************************************** +-- Replat della Sp PL_MP_S132ProfiloRischioAdeguatezza +-- Attenzione : la insert sulla tabella TB_S132ProfiloRischioAdeguatezza inserisci su alcuni campi valori +-- che successivamente sono aggiornati con un UPD ( vedi fine SP ) +--***************************************************** + SET NOCOUNT ON; +truncate table C6MartPeriodico.TB_S132ProfiloRischioAdeguatezza +insert into C6MartPeriodico.TB_S132ProfiloRischioAdeguatezza + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, +--CONVERT(DATETIME,M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + DBO.TOSHORTDATESTRING(M.DATA_INIZIO_VAL) AS DATAINIZIOVALIDITA, + CR.MAX_VAR AS VARMAX, + ProfiliDiRischio.NOMEPROFILO as NOMEPROFILO, + RISK_AGG.VAR_PERC_PTF,-- VAR, + null VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.a.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) COVERAGE, + NULL AS COVERAGESTRING, + --V changed from string value (descrizione) to the numeric (profilo) + M.RISKCLASS AS RISKCLASSMAX, + (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI-CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) + END ) + *100 AS PERCENTAGE, + case when RISK_AGG.VAR_PERC_PTF > CR.MAX_VAR then 0 else 1 end as VarIsOk, + case when isnull(RISK_AGG.CREDITRISK,0) > Ck.PROFILO then 0 else 1 end as RiskClassIsOk, + CASE WHEN CMP.COMPLESSITA > M.EXPERIENCE THEN 0 ELSE 1 END as ComplexityIsOk, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + -- and cod_fiscale = @codiceFiscale + -- and rete= @rete + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + left outer join C6MartPeriodico.COMPLESSITA cmp + on + CMP.COD_FISCALE=PATRBF.COD_FISCALE + AND + CMP.RETE=PATRBF.RETE +INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + ) +update s132 + set var = ( CASE + WHEN (nocc - CC = 0 ) THEN 0.00 + else var + END ), + COVERAGE = ( CASE + WHEN (nocc - CC = 0 ) THEN 100 + else COVERAGE + END ) + --, + --VARSTRING=( CASE + -- WHEN VARSTRING = 0.00 AND (nocc - CC <> 0 ) THEN 'n.c.' + --END ) + from c6martperiodico.TB_S132ProfiloRischioAdeguatezza s132 + inner join ( + select rete,cod_fiscale + ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc + ,sum ( tot ) as nocc + from + ( select rete,cod_fiscale,tipo_prodotto,count(*) tot + from c6martperiodico.patrimonio_Bf + --where cod_fiscale = '00082850397' and rete = 'F' + group by rete,cod_fiscale,tipo_prodotto + ) as gr + group by rete,cod_fiscale + ) as tabCount + on tabcount.rete= s132.rete and tabcount.cod_fiscale=s132.cod_fiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_PROM_TuttiIPortafogli.sql b/sql/storedTestbes/C6MartPeriodico_PROM_TuttiIPortafogli.sql new file mode 100644 index 00000000..07cdf1d3 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_PROM_TuttiIPortafogli.sql @@ -0,0 +1,52 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[PROM_TuttiIPortafogli] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT + -- descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] +FROM ( + SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[vTuttiIPortafogli] + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[vTuttiIPortafogli_ccLiq] +) T +--where t.codicefiscale = 'RNZFNC33H06Z404A' +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_D2_S150Anagrafica.sql b/sql/storedTestbes/C6MartPeriodico_Popola_D2_S150Anagrafica.sql new file mode 100644 index 00000000..486bf706 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_D2_S150Anagrafica.sql @@ -0,0 +1,99 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_DT_S150Anagrafica] 'F', 'NCLGDE26B18L388P' +CREATE procedure [C6MartPeriodico].[Popola_D2_S150Anagrafica] +AS +BEGIN + insert into c6martperiodico.tb_D2_S150Anagrafica + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + --V Indirizzo Secondo AULETTA + --CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + -- THEN + -- REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + -- + ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') + -- ELSE + -- REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + -- + ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') + --END AS Residenza, + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') else '' end + ' ' + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') else '' end + ' ' + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_SOTT) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + NULL AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + CONTRATTOSEI.[Prov] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.contrattosei as CONTRATTOSEI + INNER JOIN + C6MARTPERIODICO.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MARTPERIODICO.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + LEFT JOIN + C6MARTPERIODICO.ANAG_CLIENTI_PREV + ON + ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + LEFT JOIN + C6MARTPERIODICO.DATI_REPORT + ON + ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + --WHERE 1 = 1 + -- AND ANAG_CLIENTI.RETE = @RETE + -- AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_FD190PatrimonioFinanziario_PTFRibilanciato.sql b/sql/storedTestbes/C6MartPeriodico_Popola_FD190PatrimonioFinanziario_PTFRibilanciato.sql new file mode 100644 index 00000000..00779d4f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_FD190PatrimonioFinanziario_PTFRibilanciato.sql @@ -0,0 +1,269 @@ +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= +-- [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[Popola_FD190PatrimonioFinanziario_PTFRibilanciato] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN +truncate table C6MartPeriodico.TB_FD190PatrimonioFinanziario_PTFRibilanciato +INSERT INTO C6MartPeriodico.TB_FD190PatrimonioFinanziario_PTFRibilanciato +SELECT --top 1 + Rete, + cod_fiscale as CodiceFiscale, + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + a.ChiavePtfMod, + A.Controvalore, + A.percentuale, + ROUND(SUM(A.Controvalore) OVER (PARTITION BY RETE,COD_FISCALE),2) as Totale, + isnull(ptf.percentuale,0.00) as Percentuale_Modello, + A.VAR_PROG + --cast(A.Controvalore as decimal(19,5)) AS Controvalore, + --cast(A.Percentuale as decimal(19,5)) AS Percentuale, + --cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) + END + ) * 100 AS Percentuale , + ChiavePtfMod, + VAR_PERC_PTF as VAR_PROG + FROM ( + SELECT + PATRBF.rete, + PATRBF.COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore , + PATRBF.ChiavePtfMod, + RISCHIO_AGGR_PROG.VAR_PERC_PTF + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 +-- inner join +-- C6StagingPeriodico.RP_Progetto_Robo robo +-- on robo.chiaveProgetto=patrbf.CHIAVE_PROGETTO +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area not in ('CC', 'SELF') + and patrbf.NOME_PROGETTO like '%Direct Evo%' + -- AND PATRBF.RETE = @Rete + -- AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT + Asul.rete, + asul.cod_fiscale, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore , + patrbf.chiaveptfmod, + RISCHIO_AGGR_PROG.VAR_PERC_PTF + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + inner join + C6MartPeriodico.PATRIMONIO_BF PATRBF + on patrbf.chiave_progetto=ASUL.CHIAVEPROGETTO + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + where patrbf.NOME_PROGETTO like '%Direct Evo%' + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=ASUL.CHIAVEPROGETTO + -- WHERE + -- ASUL.RETE = @Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT Asul.rete, + asul.cod_fiscale, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore , + patrbf.chiaveptfmod, + RISCHIO_AGGR_PROG.VAR_PERC_PTF + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + -- inner join + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=ASUL.CHIAVEPROGETTO + inner join + C6MartPeriodico.PATRIMONIO_BF PATRBF + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + on patrbf.chiave_progetto=ASUL.CHIAVEPROGETTO + where patrbf.NOME_PROGETTO like '%Direct Evo%' + -- WHERE + -- ASUL.RETE = @Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A + left join [c6StagingPeriodico].[RP_DistribuzionePtfModello_Tattici_MacroAssetClass] ptf +on ptf.chiavePtfMod=a.chiaveptfmod and ptf.asset=a.AssetClassID +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] Script Date: 10/02/2022 16:40:28 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: <> +---- Create date: <> +---- Description: +---- ============================================= +---- [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] 'F','LRNRMR33D51C166I' +--ALTER procedure [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- --@Rete char(1), +-- --@CodiceFiscale varchar(16) +--AS +--BEGIN +--truncate table C6MartPeriodico.TB_S10PatrimonioFinanziario +--INSERT INTO C6MartPeriodico.TB_S10PatrimonioFinanziario +--SELECT --top 1 +-- Rete, +-- cod_fiscale as CodiceFiscale, +-- A.BANCA AS Banca, +-- A.ORDINAMENTO AS Ordinamento, +-- A.AssetClassId AS AssetClassId, +-- A.AssetClassName AS AssetClassName, +-- A.Controvalore, +-- A.percentuale, +-- ROUND(SUM(A.Controvalore) OVER (PARTITION BY RETE,COD_FISCALE),2) +-- --cast(A.Controvalore as decimal(19,5)) AS Controvalore, +-- --cast(A.Percentuale as decimal(19,5)) AS Percentuale, +-- --cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +--FROM +--( +-- SELECT DISTINCT +-- CASE Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Fideuram' +-- END AS Banca, +-- rete, +-- cod_fiscale, +-- ASSETCLASS.ORDINAMENTO, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale),2) as Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale) / +-- --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) = 0 +-- THEN 1 +-- ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) +-- END +-- ) * 100 AS Percentuale +-- FROM ( +-- SELECT +-- PATRBF.rete, +-- PATRBF.COD_FISCALE, +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- and patrbf.id_area not in ('CC', 'SELF') +-- -- AND PATRBF.RETE = @Rete +-- -- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- SELECT +-- Asul.rete, +-- asul.cod_fiscale, +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- -- WHERE +-- -- ASUL.RETE = @Rete +-- -- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- SELECT Asul.rete, +-- asul.cod_fiscale, +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- -- WHERE +-- -- ASUL.RETE = @Rete +-- -- AND ASUL.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MartPeriodico.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_FD200DistribuzioneAssetClass_PTFRibilanciato.sql b/sql/storedTestbes/C6MartPeriodico_Popola_FD200DistribuzioneAssetClass_PTFRibilanciato.sql new file mode 100644 index 00000000..c445ffa5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_FD200DistribuzioneAssetClass_PTFRibilanciato.sql @@ -0,0 +1,268 @@ +--[C6martPeriodico].[Popola_S148DistribuzioneAssetClass] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[Popola_FD200DistribuzioneAssetClass_PTFRibilanciato] + -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN +truncate table c6martperiodico.TB_FD200DistribuzioneAssetClass_PTFRibilanciato +INSERT INTO c6martperiodico.TB_FD200DistribuzioneAssetClass_PTFRibilanciato + select rete, + cod_fiscale, + CASE rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + a.ORDINAMENTO, + AssetClassId, + AssetClassName, + a.chiaveptfmod, + SUM(Controvalore) As Controvalore, + --SUM(CONTROVALORE) / Totale As Percentuale, + SUM(CONTROVALORE) / Totale * 100 As Percentuale, + Totale, + isnull(ptf.percentuale ,0.00) as Percentuale_Modello, + VAR_PROG +FROM +( +SELECT rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, + --ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'Totale') * 100, 2) AS Percentuale, + cast(ROUND(SUM(Controvalore) OVER (PARTITION BY 'Totale',rete,cod_fiscale),2) as decimal(19,5)) AS Totale , + chiaveptfmod, + VAR_PROG + FROM ( + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS , + chiaveptfmod, + VAR_PROG + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS , + chiaveptfmod, + RISCHIO_AGGR_PROG.VAR_PERC_PTF as var_prog + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATR_BF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATR_BF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATR_BF.ID_AREA,3) + '|' + PATR_BF.NOME_PROGETTO + '|' + + cast (Patr_BF.ordinamento_progetto as varchar) + -- inner join + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=PATR_BF.CHIAVE_PROGETTO + WHERE +--inizio interventi OMNIA +-- PATR_BF.ID_AREA NOT IN ('Cc','Pre1','Pre2','Pre') + PATR_BF.ID_AREA NOT IN ('SELF','Cc','Pre1','Pre2','Pre') +--fine interventi OMNIA + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + and PATR_BF.NOME_PROGETTO like '%Direct Evo%' + --AND PATR_BF.COD_FISCALE= @CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS , + patr_bf.chiaveptfmod, + RISCHIO_AGGR_PROG.VAR_PERC_PTF as var_prog + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATR_BF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATR_BF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATR_BF.ID_AREA,3) + '|' + PATR_BF.NOME_PROGETTO + '|' + + cast (Patr_BF.ordinamento_progetto as varchar) + -- inner join + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=PATR_BF.CHIAVE_PROGETTO + WHERE + --ASUL.RETE = @Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') + and PATR_BF.NOME_PROGETTO like '%Direct Evo%' + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS , + asul.chiaveptfmod, + RISCHIO_AGGR_PROG.VAR_PERC_PTF as var_prog + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON ASUL.RETE= RISCHIO_AGGR_PROG.RETE + AND ASUL.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(ASUL.ID_AREA,3) + '|' + ASUL.NOME_PROGETTO + '|' + + cast (ASUL.ordinamento_progetto as varchar) + -- inner join + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=ASUL.CHIAVE_PROGETTO + WHERE + --ASUL.RETE =@Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA NOT IN ('Pre1','Pre2','Pre') + and asul.NOME_PROGETTO like '%Direct Evo%' + ) val + -- where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS , + val.chiaveptfmod, + val.var_prog + UNION ALL + /* nuovo */ + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS , + chiaveptfmod, + VAR_PROG + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS , + patr_bf.chiaveptfmod, + RISCHIO_AGGR_PROG.VAR_PERC_PTF as VAR_PROG + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + -- inner join + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATR_BF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATR_BF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATR_BF.ID_AREA,3) + '|' + PATR_BF.NOME_PROGETTO + '|' + + cast (Patr_BF.ordinamento_progetto as varchar) + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=PATR_BF.CHIAVE_PROGETTO + WHERE + PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + and PATR_BF.NOME_PROGETTO like '%Direct Evo%' + --AND PATR_BF.COD_FISCALE=@CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + , + chiaveptfmod + ,RISCHIO_AGGR_PROG.VAR_PERC_PTF + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATR_BF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATR_BF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATR_BF.ID_AREA,3) + '|' + PATR_BF.NOME_PROGETTO + '|' + + cast (Patr_BF.ordinamento_progetto as varchar) + --inner join + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=PATR_BF.CHIAVE_PROGETTO + WHERE + --ASUL.RETE = @Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + and PATR_BF.NOME_PROGETTO like '%Direct Evo%' + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS, + chiaveptfmod + ,RISCHIO_AGGR_PROG.VAR_PERC_PTF + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON ASUL.RETE= RISCHIO_AGGR_PROG.RETE + AND ASUL.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(ASUL.ID_AREA,3) + '|' + ASUL.NOME_PROGETTO + '|' + + cast (ASUL.ordinamento_progetto as varchar) + -- inner join + --C6StagingPeriodico.RP_Progetto_Robo robo + --on robo.chiaveProgetto=ASUL.CHIAVE_PROGETTO + WHERE + -- ASUL.RETE =@Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA IN ('Pre1','Pre2','Pre') + and asul.NOME_PROGETTO like '%Direct Evo%' + ) val + -- where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS, + val.chiaveptfmod, + val.var_prog + ) + VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS AS ASSETCLASS + ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +-- WHERE +-- VALORIASSET.RETE =@Rete +-- AND VALORIASSET.COD_FISCALE = @CodiceFiscale +) a +left join [c6StagingPeriodico].[RP_DistribuzionePtfModello_Tattici_AssetClass] ptf +on ptf.chiavePtfMod=a.chiaveptfmod and ptf.asset=a.AssetClassID +Group By rete,cod_fiscale,a.ORDINAMENTO, AssetClassId, AssetClassName, Totale ,a.chiaveptfmod,ptf.percentuale,var_prog + ORDER BY a.ORDINAMENTO + end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_S10PatrimonioFinanziario.sql b/sql/storedTestbes/C6MartPeriodico_Popola_S10PatrimonioFinanziario.sql new file mode 100644 index 00000000..5d848185 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_S10PatrimonioFinanziario.sql @@ -0,0 +1,224 @@ +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= +-- [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN +truncate table C6MartPeriodico.TB_S10PatrimonioFinanziario +INSERT INTO C6MartPeriodico.TB_S10PatrimonioFinanziario +SELECT --top 1 + Rete, + cod_fiscale as CodiceFiscale, + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + A.Controvalore, + A.percentuale, + ROUND(SUM(A.Controvalore) OVER (PARTITION BY RETE,COD_FISCALE),2) + --cast(A.Controvalore as decimal(19,5)) AS Controvalore, + --cast(A.Percentuale as decimal(19,5)) AS Percentuale, + --cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + PATRBF.rete, + PATRBF.COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area not in ('CC', 'SELF') + -- AND PATRBF.RETE = @Rete + -- AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT + Asul.rete, + asul.cod_fiscale, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + -- WHERE + -- ASUL.RETE = @Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT Asul.rete, + asul.cod_fiscale, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + -- WHERE + -- ASUL.RETE = @Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] Script Date: 10/02/2022 16:40:28 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: <> +---- Create date: <> +---- Description: +---- ============================================= +---- [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] 'F','LRNRMR33D51C166I' +--ALTER procedure [C6MartPeriodico].[Popola_S10PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- --@Rete char(1), +-- --@CodiceFiscale varchar(16) +--AS +--BEGIN +--truncate table C6MartPeriodico.TB_S10PatrimonioFinanziario +--INSERT INTO C6MartPeriodico.TB_S10PatrimonioFinanziario +--SELECT --top 1 +-- Rete, +-- cod_fiscale as CodiceFiscale, +-- A.BANCA AS Banca, +-- A.ORDINAMENTO AS Ordinamento, +-- A.AssetClassId AS AssetClassId, +-- A.AssetClassName AS AssetClassName, +-- A.Controvalore, +-- A.percentuale, +-- ROUND(SUM(A.Controvalore) OVER (PARTITION BY RETE,COD_FISCALE),2) +-- --cast(A.Controvalore as decimal(19,5)) AS Controvalore, +-- --cast(A.Percentuale as decimal(19,5)) AS Percentuale, +-- --cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +--FROM +--( +-- SELECT DISTINCT +-- CASE Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Fideuram' +-- END AS Banca, +-- rete, +-- cod_fiscale, +-- ASSETCLASS.ORDINAMENTO, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale),2) as Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale) / +-- --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) = 0 +-- THEN 1 +-- ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) +-- END +-- ) * 100 AS Percentuale +-- FROM ( +-- SELECT +-- PATRBF.rete, +-- PATRBF.COD_FISCALE, +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- and patrbf.id_area not in ('CC', 'SELF') +-- -- AND PATRBF.RETE = @Rete +-- -- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- SELECT +-- Asul.rete, +-- asul.cod_fiscale, +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- -- WHERE +-- -- ASUL.RETE = @Rete +-- -- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- SELECT Asul.rete, +-- asul.cod_fiscale, +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- -- WHERE +-- -- ASUL.RETE = @Rete +-- -- AND ASUL.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MartPeriodico.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_S10PatrimonioFinanziario_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_Popola_S10PatrimonioFinanziario_pre_selective.sql new file mode 100644 index 00000000..fc872ccc --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_S10PatrimonioFinanziario_pre_selective.sql @@ -0,0 +1,108 @@ +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= +-- [C6MartPeriodico].[Popola_S10PatrimonioFinanziario_pre_selective] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[Popola_S10PatrimonioFinanziario_pre_selective] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN +truncate table C6MartPeriodico.TB_S10PatrimonioFinanziario +INSERT INTO C6MartPeriodico.TB_S10PatrimonioFinanziario +SELECT --top 1 + Rete, + cod_fiscale as CodiceFiscale, + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + A.Controvalore, + A.percentuale, + ROUND(SUM(A.Controvalore) OVER (PARTITION BY RETE,COD_FISCALE),2) + --cast(A.Controvalore as decimal(19,5)) AS Controvalore, + --cast(A.Percentuale as decimal(19,5)) AS Percentuale, + --cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE Rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Fideuram' + END AS Banca, + rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS,rete,cod_fiscale) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE',rete,cod_fiscale) ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + PATRBF.rete, + PATRBF.COD_FISCALE, + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area not in ('CC', 'SELF') + -- AND PATRBF.RETE = @Rete + -- AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT + Asul.rete, + asul.cod_fiscale, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + -- WHERE + -- ASUL.RETE = @Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT Asul.rete, + asul.cod_fiscale, + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + -- WHERE + -- ASUL.RETE = @Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_S133_S157DatiPiramide.sql b/sql/storedTestbes/C6MartPeriodico_Popola_S133_S157DatiPiramide.sql new file mode 100644 index 00000000..89d990f6 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_S133_S157DatiPiramide.sql @@ -0,0 +1,291 @@ +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +CREATE procedure [C6MartPeriodico].[Popola_S133_S157DatiPiramide] +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT_TEMP + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + and PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + and PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF','INV') + --OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL) /* 20161202 nome_progetto sempre diverso da null */ + ) +/* 20161214 - aggiunto aggragazione percentuali per area */ + SELECT + RETE, + COD_FISCALE, + ID_AREA, + sum(PERC_AREA) as PERC_AREA, + CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + #PIRAMIDE_VERT_TEMP + group by rete,cod_fiscale, id_area, CONTROVALORE +truncate table c6martperiodico.TB_S133_S157DatiPiramide +insert into c6martperiodico.TB_S133_S157DatiPiramide + SELECT distinct /* 20161202 */ + ATTUALE.RETE, + ATTUALE.COD_FISCALE, + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + ISNULL(ATTUALE.CONTROVALORE,0) PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ISNULL(ATTUALE.PERC_AREA,0) ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ISNULL(ATTUALE.CONTROVALORE,0) DifferenzaEuro, + 0 differenzapercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + --WHEN AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + 0 somma_controvalAttuale, + 0 somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + RISCHIOTOTALE.VAR_PERC_PTF var_tot, + null var_totString, + RISCHIOTOTALE_PIR.VAR_PERC_PTF var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_tot_pirString, + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN|PIRAMIDE' --Per Aladdin è stato aggiunto il tag |PIRAMIDE + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' +------------------------------------------------------------------ +SELECT rete, cod_fiscale,sum(ATTUALE.CONTROVALORE) TotControvalore +into #temp +FROM #PIRAMIDE_VERT ATTUALE +WHERE ID_AREA not in ('Na', 'Cc','Self') +group by rete,cod_fiscale +update s157 +set s157.PercentualeAttuale =CASE + WHEN vert.TotControvalore = 0 THEN 0 + ELSE (100 * s157.PercentualeAttuale / ISNULL(vert.TotControvalore,1)) + END, +s157.ControvaloreModello=ROUND(ISNULL(s157.ControvaloreModello * vert.TotControvalore / 100 , 0),2) , +s157.DifferenzaEuro = ROUND(ISNULL(s157.DifferenzaEuro,0),2) - ROUND(ISNULL(s157.Totale_Percentuale * vert.TotControvalore / 100 , 0),2), +s157.DifferenzaPercentuale = CASE + WHEN vert.TotControvalore = 0 THEN - s157.Totale_Percentuale + ELSE ISNULL( (100 * ISNULL(s157.ControvaloreAttuale,0) / vert.TotControvalore - s157.Totale_Percentuale) , 0) + END , +s157.somma_controvalAttuale =vert.TotControvalore, +s157.somma_controvalModello=vert.TotControvalore +from c6martperiodico.TB_S133_S157DatiPiramide s157 +inner join #temp vert +on vert.rete = s157.rete and vert.cod_fiscale = s157.codicefiscale +select rete,cod_fiscale,'TOT' as Tipo,count(*) over ( partition by rete,cod_fiscale) TOT + into #TempContatori + FROM C6MARTPERIODICO.PATRIMONIO_BF +union +select rete,cod_fiscale,'TOTCCSELF',count(*) over ( partition by rete,cod_fiscale) TOTCCSELF + FROM C6MARTPERIODICO.PATRIMONIO_BF + where TIPO_PRODOTTO = 'CC' OR ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELF',count(*) over ( partition by rete,cod_fiscale) TOTSELF + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELFLIQ',count(*) over ( partition by rete,cod_fiscale) TOTSELFLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') AND ID_AREA = 'LIQ' +union +select rete,cod_fiscale,'TOTLIQ',count(*) over ( partition by rete,cod_fiscale) TOTLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ID_AREA = 'LIQ' + select + totale1.rete, + totale1.cod_fiscale, + ISNULL(totale1.TOT,0) as TOT, + ISNULL(totale2.TOT,0) as TOTCCSELF, + ISNULL(totale3.TOT,0) as TOTSELF, + ISNULL(totale4.TOT,0) as TOTSELFLIQ, + ISNULL(totale5.TOT,0) as TOTLIQ + into #Contatori + from + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOT') as totale1 + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTCCSELF') as totale2 + on totale1.rete=totale2.rete + and totale1.cod_fiscale=totale2.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELF') as totale3 + on totale1.rete=totale3.rete + and totale1.cod_fiscale=totale3.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELFLIQ') as totale4 + on totale1.rete=totale4.rete + and totale1.cod_fiscale=totale4.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTLIQ') as totale5 + on totale1.rete=totale5.rete + and totale1.cod_fiscale=totale5.cod_fiscale +update s157 +set +var_needareaString= CASE + WHEN TOTSELFLIQ = TOTLIQ and needarea = 'LIQ' THEN 'n.c.' + ELSE var_needareaString + END, +var_tot = CASE + WHEN TOTCCSELF = TOT THEN 0.00 + ELSE var_tot + END , +var_totString=CASE + WHEN (TOTCCSELF <> TOT) AND(copertura_tot IS NULL OR copertura_tot = 0) THEN 'n.c.' + WHEN (TOTSELF = TOT) THEN 'n.c.' + ELSE NULL + END , +var_tot_pir =CASE + WHEN TOTCCSELF = TOT THEN 0 + ELSE var_tot_pir +END , +var_tot_pirString=CASE + WHEN var_tot_pirString <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + WHEN TOTSELF = TOT THEN 'n.c.' + ELSE var_tot_pirString + END + ELSE var_tot_pirString + END , +VAR_RISFINSTRING=CASE + WHEN VAR_RISFINSTRING <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + ELSE VAR_RISFINSTRING + END + ELSE VAR_RISFINSTRING + END +from c6martperiodico.TB_S133_S157DatiPiramide s157 +inner join ( select * from #Contatori ) contatori +on contatori.rete = s157.rete and contatori.cod_fiscale = s157.codicefiscale +--and codicefiscale='00247580970' + Drop TABLE #temp + DROP TABLE #PIRAMIDE_VERT + drop table #Contatori + drop table #TempContatori +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161202.sql b/sql/storedTestbes/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161202.sql new file mode 100644 index 00000000..df849404 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161202.sql @@ -0,0 +1,279 @@ +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +CREATE procedure [C6MartPeriodico].[Popola_S133_S157DatiPiramide_20161202] +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + and PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + and PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) +truncate table c6martperiodico.TB_S133_S157DatiPiramide +insert into c6martperiodico.TB_S133_S157DatiPiramide + SELECT + ATTUALE.RETE, + ATTUALE.COD_FISCALE, + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + ISNULL(ATTUALE.CONTROVALORE,0) PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ISNULL(ATTUALE.PERC_AREA,0) ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ISNULL(ATTUALE.CONTROVALORE,0) DifferenzaEuro, + 0 differenzapercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + --WHEN AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + 0 somma_controvalAttuale, + 0 somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + RISCHIOTOTALE.VAR_PERC_PTF var_tot, + null var_totString, + RISCHIOTOTALE_PIR.VAR_PERC_PTF var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_tot_pirString, + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' +------------------------------------------------------------------ +SELECT rete, cod_fiscale,sum(ATTUALE.CONTROVALORE) TotControvalore +into #temp +FROM #PIRAMIDE_VERT ATTUALE +WHERE ID_AREA not in ('Na', 'Cc','Self') +group by rete,cod_fiscale +update s157 +set s157.PercentualeAttuale =CASE + WHEN vert.TotControvalore = 0 THEN 0 + ELSE (100 * s157.PercentualeAttuale / ISNULL(vert.TotControvalore,1)) + END, +s157.ControvaloreModello=ROUND(ISNULL(s157.ControvaloreModello * vert.TotControvalore / 100 , 0),2) , +s157.DifferenzaEuro = ROUND(ISNULL(s157.DifferenzaEuro,0),2) - ROUND(ISNULL(s157.Totale_Percentuale * vert.TotControvalore / 100 , 0),2), +s157.DifferenzaPercentuale = CASE + WHEN vert.TotControvalore = 0 THEN - s157.Totale_Percentuale + ELSE ISNULL( (100 * ISNULL(s157.ControvaloreAttuale,0) / vert.TotControvalore - s157.Totale_Percentuale) , 0) + END , +s157.somma_controvalAttuale =vert.TotControvalore, +s157.somma_controvalModello=vert.TotControvalore +from c6martperiodico.TB_S133_S157DatiPiramide s157 +inner join #temp vert +on vert.rete = s157.rete and vert.cod_fiscale = s157.codicefiscale +select rete,cod_fiscale,'TOT' as Tipo,count(*) over ( partition by rete,cod_fiscale) TOT + into #TempContatori + FROM C6MARTPERIODICO.PATRIMONIO_BF +union +select rete,cod_fiscale,'TOTCCSELF',count(*) over ( partition by rete,cod_fiscale) TOTCCSELF + FROM C6MARTPERIODICO.PATRIMONIO_BF + where TIPO_PRODOTTO = 'CC' OR ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELF',count(*) over ( partition by rete,cod_fiscale) TOTSELF + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELFLIQ',count(*) over ( partition by rete,cod_fiscale) TOTSELFLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') AND ID_AREA = 'LIQ' +union +select rete,cod_fiscale,'TOTLIQ',count(*) over ( partition by rete,cod_fiscale) TOTLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ID_AREA = 'LIQ' + select + totale1.rete, + totale1.cod_fiscale, + ISNULL(totale1.TOT,0) as TOT, + ISNULL(totale2.TOT,0) as TOTCCSELF, + ISNULL(totale3.TOT,0) as TOTSELF, + ISNULL(totale4.TOT,0) as TOTSELFLIQ, + ISNULL(totale5.TOT,0) as TOTLIQ + into #Contatori + from + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOT') as totale1 + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTCCSELF') as totale2 + on totale1.rete=totale2.rete + and totale1.cod_fiscale=totale2.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELF') as totale3 + on totale1.rete=totale3.rete + and totale1.cod_fiscale=totale3.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELFLIQ') as totale4 + on totale1.rete=totale4.rete + and totale1.cod_fiscale=totale4.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTLIQ') as totale5 + on totale1.rete=totale5.rete + and totale1.cod_fiscale=totale5.cod_fiscale +update s157 +set +var_needareaString= CASE + WHEN TOTSELFLIQ = TOTLIQ and needarea = 'LIQ' THEN 'n.c.' + ELSE var_needareaString + END, +var_tot = CASE + WHEN TOTCCSELF = TOT THEN 0.00 + ELSE var_tot + END , +var_totString=CASE + WHEN (TOTCCSELF <> TOT) AND(copertura_tot IS NULL OR copertura_tot = 0) THEN 'n.c.' + WHEN (TOTSELF = TOT) THEN 'n.c.' + ELSE NULL + END , +var_tot_pir =CASE + WHEN TOTCCSELF = TOT THEN 0 + ELSE var_tot_pir +END , +var_tot_pirString=CASE + WHEN var_tot_pirString <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + WHEN TOTSELF = TOT THEN 'n.c.' + ELSE var_tot_pirString + END + ELSE var_tot_pirString + END , +VAR_RISFINSTRING=CASE + WHEN VAR_RISFINSTRING <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + ELSE VAR_RISFINSTRING + END + ELSE VAR_RISFINSTRING + END +from c6martperiodico.TB_S133_S157DatiPiramide s157 +inner join ( select * from #Contatori ) contatori +on contatori.rete = s157.rete and contatori.cod_fiscale = s157.codicefiscale +--and codicefiscale='00247580970' + Drop TABLE #temp + DROP TABLE #PIRAMIDE_VERT + drop table #Contatori + drop table #TempContatori +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161214.sql b/sql/storedTestbes/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161214.sql new file mode 100644 index 00000000..3542126e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_S133_S157DatiPiramide_20161214.sql @@ -0,0 +1,280 @@ +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +CREATE procedure [C6MartPeriodico].[Popola_S133_S157DatiPiramide_20161214] +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + and PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + and PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF') + --OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL) /* 20161202 nome_progetto sempre diverso da null */ + ) +truncate table c6martperiodico.TB_S133_S157DatiPiramide +insert into c6martperiodico.TB_S133_S157DatiPiramide + SELECT distinct /* 20161202 */ + ATTUALE.RETE, + ATTUALE.COD_FISCALE, + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + ISNULL(ATTUALE.CONTROVALORE,0) PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ISNULL(ATTUALE.PERC_AREA,0) ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ISNULL(ATTUALE.CONTROVALORE,0) DifferenzaEuro, + 0 differenzapercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + --WHEN AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + 0 somma_controvalAttuale, + 0 somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + RISCHIOTOTALE.VAR_PERC_PTF var_tot, + null var_totString, + RISCHIOTOTALE_PIR.VAR_PERC_PTF var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_tot_pirString, + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' +------------------------------------------------------------------ +SELECT rete, cod_fiscale,sum(ATTUALE.CONTROVALORE) TotControvalore +into #temp +FROM #PIRAMIDE_VERT ATTUALE +WHERE ID_AREA not in ('Na', 'Cc','Self') +group by rete,cod_fiscale +update s157 +set s157.PercentualeAttuale =CASE + WHEN vert.TotControvalore = 0 THEN 0 + ELSE (100 * s157.PercentualeAttuale / ISNULL(vert.TotControvalore,1)) + END, +s157.ControvaloreModello=ROUND(ISNULL(s157.ControvaloreModello * vert.TotControvalore / 100 , 0),2) , +s157.DifferenzaEuro = ROUND(ISNULL(s157.DifferenzaEuro,0),2) - ROUND(ISNULL(s157.Totale_Percentuale * vert.TotControvalore / 100 , 0),2), +s157.DifferenzaPercentuale = CASE + WHEN vert.TotControvalore = 0 THEN - s157.Totale_Percentuale + ELSE ISNULL( (100 * ISNULL(s157.ControvaloreAttuale,0) / vert.TotControvalore - s157.Totale_Percentuale) , 0) + END , +s157.somma_controvalAttuale =vert.TotControvalore, +s157.somma_controvalModello=vert.TotControvalore +from c6martperiodico.TB_S133_S157DatiPiramide s157 +inner join #temp vert +on vert.rete = s157.rete and vert.cod_fiscale = s157.codicefiscale +select rete,cod_fiscale,'TOT' as Tipo,count(*) over ( partition by rete,cod_fiscale) TOT + into #TempContatori + FROM C6MARTPERIODICO.PATRIMONIO_BF +union +select rete,cod_fiscale,'TOTCCSELF',count(*) over ( partition by rete,cod_fiscale) TOTCCSELF + FROM C6MARTPERIODICO.PATRIMONIO_BF + where TIPO_PRODOTTO = 'CC' OR ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELF',count(*) over ( partition by rete,cod_fiscale) TOTSELF + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELFLIQ',count(*) over ( partition by rete,cod_fiscale) TOTSELFLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') AND ID_AREA = 'LIQ' +union +select rete,cod_fiscale,'TOTLIQ',count(*) over ( partition by rete,cod_fiscale) TOTLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ID_AREA = 'LIQ' + select + totale1.rete, + totale1.cod_fiscale, + ISNULL(totale1.TOT,0) as TOT, + ISNULL(totale2.TOT,0) as TOTCCSELF, + ISNULL(totale3.TOT,0) as TOTSELF, + ISNULL(totale4.TOT,0) as TOTSELFLIQ, + ISNULL(totale5.TOT,0) as TOTLIQ + into #Contatori + from + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOT') as totale1 + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTCCSELF') as totale2 + on totale1.rete=totale2.rete + and totale1.cod_fiscale=totale2.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELF') as totale3 + on totale1.rete=totale3.rete + and totale1.cod_fiscale=totale3.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELFLIQ') as totale4 + on totale1.rete=totale4.rete + and totale1.cod_fiscale=totale4.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTLIQ') as totale5 + on totale1.rete=totale5.rete + and totale1.cod_fiscale=totale5.cod_fiscale +update s157 +set +var_needareaString= CASE + WHEN TOTSELFLIQ = TOTLIQ and needarea = 'LIQ' THEN 'n.c.' + ELSE var_needareaString + END, +var_tot = CASE + WHEN TOTCCSELF = TOT THEN 0.00 + ELSE var_tot + END , +var_totString=CASE + WHEN (TOTCCSELF <> TOT) AND(copertura_tot IS NULL OR copertura_tot = 0) THEN 'n.c.' + WHEN (TOTSELF = TOT) THEN 'n.c.' + ELSE NULL + END , +var_tot_pir =CASE + WHEN TOTCCSELF = TOT THEN 0 + ELSE var_tot_pir +END , +var_tot_pirString=CASE + WHEN var_tot_pirString <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + WHEN TOTSELF = TOT THEN 'n.c.' + ELSE var_tot_pirString + END + ELSE var_tot_pirString + END , +VAR_RISFINSTRING=CASE + WHEN VAR_RISFINSTRING <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + ELSE VAR_RISFINSTRING + END + ELSE VAR_RISFINSTRING + END +from c6martperiodico.TB_S133_S157DatiPiramide s157 +inner join ( select * from #Contatori ) contatori +on contatori.rete = s157.rete and contatori.cod_fiscale = s157.codicefiscale +--and codicefiscale='00247580970' + Drop TABLE #temp + DROP TABLE #PIRAMIDE_VERT + drop table #Contatori + drop table #TempContatori +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_S133_S157DatiPiramide_20170113_ORIG.sql b/sql/storedTestbes/C6MartPeriodico_Popola_S133_S157DatiPiramide_20170113_ORIG.sql new file mode 100644 index 00000000..f62b193f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_S133_S157DatiPiramide_20170113_ORIG.sql @@ -0,0 +1,291 @@ +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +CREATE PROCEDURE [C6MartPeriodico].[Popola_S133_S157DatiPiramide_20170113_ORIG] +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT_TEMP + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + and PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + and PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF','INV') + --OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL) /* 20161202 nome_progetto sempre diverso da null */ + ) +/* 20161214 - aggiunto aggragazione percentuali per area */ + SELECT + RETE, + COD_FISCALE, + ID_AREA, + sum(PERC_AREA) as PERC_AREA, + CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + #PIRAMIDE_VERT_TEMP + group by rete,cod_fiscale, id_area, CONTROVALORE +truncate table c6martperiodico.TB_S133_S157DatiPiramide +insert into c6martperiodico.TB_S133_S157DatiPiramide + SELECT distinct /* 20161202 */ + ATTUALE.RETE, + ATTUALE.COD_FISCALE, + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + ISNULL(ATTUALE.CONTROVALORE,0) PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ISNULL(ATTUALE.PERC_AREA,0) ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ISNULL(ATTUALE.CONTROVALORE,0) DifferenzaEuro, + 0 differenzapercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + --WHEN AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + 0 somma_controvalAttuale, + 0 somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + RISCHIOTOTALE.VAR_PERC_PTF var_tot, + null var_totString, + RISCHIOTOTALE_PIR.VAR_PERC_PTF var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_tot_pirString, + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' +------------------------------------------------------------------ +SELECT rete, cod_fiscale,sum(ATTUALE.CONTROVALORE) TotControvalore +into #temp +FROM #PIRAMIDE_VERT ATTUALE +WHERE ID_AREA not in ('Na', 'Cc','Self') +group by rete,cod_fiscale +update s157 +set s157.PercentualeAttuale =CASE + WHEN vert.TotControvalore = 0 THEN 0 + ELSE (100 * s157.PercentualeAttuale / ISNULL(vert.TotControvalore,1)) + END, +s157.ControvaloreModello=ROUND(ISNULL(s157.ControvaloreModello * vert.TotControvalore / 100 , 0),2) , +s157.DifferenzaEuro = ROUND(ISNULL(s157.DifferenzaEuro,0),2) - ROUND(ISNULL(s157.Totale_Percentuale * vert.TotControvalore / 100 , 0),2), +s157.DifferenzaPercentuale = CASE + WHEN vert.TotControvalore = 0 THEN - s157.Totale_Percentuale + ELSE ISNULL( (100 * ISNULL(s157.ControvaloreAttuale,0) / vert.TotControvalore - s157.Totale_Percentuale) , 0) + END , +s157.somma_controvalAttuale =vert.TotControvalore, +s157.somma_controvalModello=vert.TotControvalore +from c6martperiodico.TB_S133_S157DatiPiramide s157 +inner join #temp vert +on vert.rete = s157.rete and vert.cod_fiscale = s157.codicefiscale +select rete,cod_fiscale,'TOT' as Tipo,count(*) over ( partition by rete,cod_fiscale) TOT + into #TempContatori + FROM C6MARTPERIODICO.PATRIMONIO_BF +union +select rete,cod_fiscale,'TOTCCSELF',count(*) over ( partition by rete,cod_fiscale) TOTCCSELF + FROM C6MARTPERIODICO.PATRIMONIO_BF + where TIPO_PRODOTTO = 'CC' OR ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELF',count(*) over ( partition by rete,cod_fiscale) TOTSELF + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELFLIQ',count(*) over ( partition by rete,cod_fiscale) TOTSELFLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') AND ID_AREA = 'LIQ' +union +select rete,cod_fiscale,'TOTLIQ',count(*) over ( partition by rete,cod_fiscale) TOTLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ID_AREA = 'LIQ' + select + totale1.rete, + totale1.cod_fiscale, + ISNULL(totale1.TOT,0) as TOT, + ISNULL(totale2.TOT,0) as TOTCCSELF, + ISNULL(totale3.TOT,0) as TOTSELF, + ISNULL(totale4.TOT,0) as TOTSELFLIQ, + ISNULL(totale5.TOT,0) as TOTLIQ + into #Contatori + from + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOT') as totale1 + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTCCSELF') as totale2 + on totale1.rete=totale2.rete + and totale1.cod_fiscale=totale2.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELF') as totale3 + on totale1.rete=totale3.rete + and totale1.cod_fiscale=totale3.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELFLIQ') as totale4 + on totale1.rete=totale4.rete + and totale1.cod_fiscale=totale4.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTLIQ') as totale5 + on totale1.rete=totale5.rete + and totale1.cod_fiscale=totale5.cod_fiscale +update s157 +set +var_needareaString= CASE + WHEN TOTSELFLIQ = TOTLIQ and needarea = 'LIQ' THEN 'n.c.' + ELSE var_needareaString + END, +var_tot = CASE + WHEN TOTCCSELF = TOT THEN 0.00 + ELSE var_tot + END , +var_totString=CASE + WHEN (TOTCCSELF <> TOT) AND(copertura_tot IS NULL OR copertura_tot = 0) THEN 'n.c.' + WHEN (TOTSELF = TOT) THEN 'n.c.' + ELSE NULL + END , +var_tot_pir =CASE + WHEN TOTCCSELF = TOT THEN 0 + ELSE var_tot_pir +END , +var_tot_pirString=CASE + WHEN var_tot_pirString <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + WHEN TOTSELF = TOT THEN 'n.c.' + ELSE var_tot_pirString + END + ELSE var_tot_pirString + END , +VAR_RISFINSTRING=CASE + WHEN VAR_RISFINSTRING <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + ELSE VAR_RISFINSTRING + END + ELSE VAR_RISFINSTRING + END +from c6martperiodico.TB_S133_S157DatiPiramide s157 +inner join ( select * from #Contatori ) contatori +on contatori.rete = s157.rete and contatori.cod_fiscale = s157.codicefiscale +--and codicefiscale='00247580970' + Drop TABLE #temp + DROP TABLE #PIRAMIDE_VERT + drop table #Contatori + drop table #TempContatori +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_S133_S157DatiPiramide_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_Popola_S133_S157DatiPiramide_pre_selective.sql new file mode 100644 index 00000000..7c1d3e0f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_S133_S157DatiPiramide_pre_selective.sql @@ -0,0 +1,291 @@ +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +CREATE procedure [C6MartPeriodico].[Popola_S133_S157DatiPiramide_pre_selective] +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT_TEMP + FROM + C6MartPeriodico.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MARTPERIODICO.PATRIMONIO_BF PIRAMIDE_VERT + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + and PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + and PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF','INV') + --OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL) /* 20161202 nome_progetto sempre diverso da null */ + ) +/* 20161214 - aggiunto aggragazione percentuali per area */ + SELECT + RETE, + COD_FISCALE, + ID_AREA, + sum(PERC_AREA) as PERC_AREA, + CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + #PIRAMIDE_VERT_TEMP + group by rete,cod_fiscale, id_area, CONTROVALORE +truncate table c6martperiodico.TB_S133_S157DatiPiramide +insert into c6martperiodico.TB_S133_S157DatiPiramide + SELECT distinct /* 20161202 */ + ATTUALE.RETE, + ATTUALE.COD_FISCALE, + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + ISNULL(ATTUALE.CONTROVALORE,0) PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ISNULL(ATTUALE.PERC_AREA,0) ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ISNULL(ATTUALE.CONTROVALORE,0) DifferenzaEuro, + 0 differenzapercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + --WHEN AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + 0 somma_controvalAttuale, + 0 somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + RISCHIOTOTALE.VAR_PERC_PTF var_tot, + null var_totString, + RISCHIOTOTALE_PIR.VAR_PERC_PTF var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_tot_pirString, + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MartPeriodico.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' +------------------------------------------------------------------ +SELECT rete, cod_fiscale,sum(ATTUALE.CONTROVALORE) TotControvalore +into #temp +FROM #PIRAMIDE_VERT ATTUALE +WHERE ID_AREA not in ('Na', 'Cc','Self') +group by rete,cod_fiscale +update s157 +set s157.PercentualeAttuale =CASE + WHEN vert.TotControvalore = 0 THEN 0 + ELSE (100 * s157.PercentualeAttuale / ISNULL(vert.TotControvalore,1)) + END, +s157.ControvaloreModello=ROUND(ISNULL(s157.ControvaloreModello * vert.TotControvalore / 100 , 0),2) , +s157.DifferenzaEuro = ROUND(ISNULL(s157.DifferenzaEuro,0),2) - ROUND(ISNULL(s157.Totale_Percentuale * vert.TotControvalore / 100 , 0),2), +s157.DifferenzaPercentuale = CASE + WHEN vert.TotControvalore = 0 THEN - s157.Totale_Percentuale + ELSE ISNULL( (100 * ISNULL(s157.ControvaloreAttuale,0) / vert.TotControvalore - s157.Totale_Percentuale) , 0) + END , +s157.somma_controvalAttuale =vert.TotControvalore, +s157.somma_controvalModello=vert.TotControvalore +from c6martperiodico.TB_S133_S157DatiPiramide s157 +inner join #temp vert +on vert.rete = s157.rete and vert.cod_fiscale = s157.codicefiscale +select rete,cod_fiscale,'TOT' as Tipo,count(*) over ( partition by rete,cod_fiscale) TOT + into #TempContatori + FROM C6MARTPERIODICO.PATRIMONIO_BF +union +select rete,cod_fiscale,'TOTCCSELF',count(*) over ( partition by rete,cod_fiscale) TOTCCSELF + FROM C6MARTPERIODICO.PATRIMONIO_BF + where TIPO_PRODOTTO = 'CC' OR ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELF',count(*) over ( partition by rete,cod_fiscale) TOTSELF + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELFLIQ',count(*) over ( partition by rete,cod_fiscale) TOTSELFLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') AND ID_AREA = 'LIQ' +union +select rete,cod_fiscale,'TOTLIQ',count(*) over ( partition by rete,cod_fiscale) TOTLIQ + FROM C6MARTPERIODICO.PATRIMONIO_BF + where ID_AREA = 'LIQ' + select + totale1.rete, + totale1.cod_fiscale, + ISNULL(totale1.TOT,0) as TOT, + ISNULL(totale2.TOT,0) as TOTCCSELF, + ISNULL(totale3.TOT,0) as TOTSELF, + ISNULL(totale4.TOT,0) as TOTSELFLIQ, + ISNULL(totale5.TOT,0) as TOTLIQ + into #Contatori + from + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOT') as totale1 + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTCCSELF') as totale2 + on totale1.rete=totale2.rete + and totale1.cod_fiscale=totale2.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELF') as totale3 + on totale1.rete=totale3.rete + and totale1.cod_fiscale=totale3.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELFLIQ') as totale4 + on totale1.rete=totale4.rete + and totale1.cod_fiscale=totale4.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTLIQ') as totale5 + on totale1.rete=totale5.rete + and totale1.cod_fiscale=totale5.cod_fiscale +update s157 +set +var_needareaString= CASE + WHEN TOTSELFLIQ = TOTLIQ and needarea = 'LIQ' THEN 'n.c.' + ELSE var_needareaString + END, +var_tot = CASE + WHEN TOTCCSELF = TOT THEN 0.00 + ELSE var_tot + END , +var_totString=CASE + WHEN (TOTCCSELF <> TOT) AND(copertura_tot IS NULL OR copertura_tot = 0) THEN 'n.c.' + WHEN (TOTSELF = TOT) THEN 'n.c.' + ELSE NULL + END , +var_tot_pir =CASE + WHEN TOTCCSELF = TOT THEN 0 + ELSE var_tot_pir +END , +var_tot_pirString=CASE + WHEN var_tot_pirString <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + WHEN TOTSELF = TOT THEN 'n.c.' + ELSE var_tot_pirString + END + ELSE var_tot_pirString + END , +VAR_RISFINSTRING=CASE + WHEN VAR_RISFINSTRING <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + ELSE VAR_RISFINSTRING + END + ELSE VAR_RISFINSTRING + END +from c6martperiodico.TB_S133_S157DatiPiramide s157 +inner join ( select * from #Contatori ) contatori +on contatori.rete = s157.rete and contatori.cod_fiscale = s157.codicefiscale +--and codicefiscale='00247580970' + Drop TABLE #temp + DROP TABLE #PIRAMIDE_VERT + drop table #Contatori + drop table #TempContatori +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_S148DistribuzioneAssetClass.sql b/sql/storedTestbes/C6MartPeriodico_Popola_S148DistribuzioneAssetClass.sql new file mode 100644 index 00000000..d0cbe5b5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_S148DistribuzioneAssetClass.sql @@ -0,0 +1,388 @@ +--[C6martPeriodico].[Popola_S148DistribuzioneAssetClass] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[Popola_S148DistribuzioneAssetClass] + -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN +truncate table c6martperiodico.TB_S148DistribuzioneAssetClass +INSERT INTO c6martperiodico.TB_S148DistribuzioneAssetClass +--SELECT @Rete as Rete, @CodiceFiscale as CodiceFiscale, +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Banca Fideuram' +-- END AS Banca, + select rete, + cod_fiscale, + CASE rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ORDINAMENTO, + AssetClassId, + AssetClassName, + SUM(Controvalore) As Controvalore, + --SUM(CONTROVALORE) / Totale As Percentuale, + SUM(CONTROVALORE) / Totale * 100 As Percentuale, + Totale +FROM +( +SELECT rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, + --ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'Totale') * 100, 2) AS Percentuale, + cast(ROUND(SUM(Controvalore) OVER (PARTITION BY 'Totale',rete,cod_fiscale),2) as decimal(19,5)) AS Totale + FROM ( + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE +--inizio interventi OMNIA +-- PATR_BF.ID_AREA NOT IN ('Cc','Pre1','Pre2','Pre') + PATR_BF.ID_AREA NOT IN ('SELF','Cc','Pre1','Pre2','Pre') +--fine interventi OMNIA + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + --AND PATR_BF.COD_FISCALE= @CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + --ASUL.RETE = @Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + WHERE + --ASUL.RETE =@Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA NOT IN ('Pre1','Pre2','Pre') + ) val + where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS + UNION ALL + /* nuovo */ + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE + PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + --AND PATR_BF.COD_FISCALE=@CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + --ASUL.RETE = @Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + WHERE + -- ASUL.RETE =@Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA IN ('Pre1','Pre2','Pre') + ) val + where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS + ) + VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS AS ASSETCLASS + ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +-- WHERE +-- VALORIASSET.RETE =@Rete +-- AND VALORIASSET.COD_FISCALE = @CodiceFiscale +) a +Group By rete,cod_fiscale,ORDINAMENTO, AssetClassId, AssetClassName, Totale + ORDER BY ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6MartPeriodico].[Popola_S148DistribuzioneAssetClass] Script Date: 10/02/2022 16:42:22 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +----[C6martPeriodico].[Popola_S148DistribuzioneAssetClass] 'F','LRNRMR33D51C166I' +--ALTER procedure [C6MartPeriodico].[Popola_S148DistribuzioneAssetClass] +-- -- Add the parameters for the stored procedure here +---- @Rete char(1), +---- @CodiceFiscale varchar(16) +--AS +--BEGIN +--truncate table c6martperiodico.TB_S148DistribuzioneAssetClass +--INSERT INTO c6martperiodico.TB_S148DistribuzioneAssetClass +----SELECT @Rete as Rete, @CodiceFiscale as CodiceFiscale, +---- CASE @Rete +---- WHEN 'S' THEN 'Sanpaolo Invest' +---- ELSE 'Banca Fideuram' +---- END AS Banca, +-- select rete, +-- cod_fiscale, +-- CASE rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Fideuram' +-- END AS Banca, +-- ORDINAMENTO, +-- AssetClassId, +-- AssetClassName, +-- SUM(Controvalore) As Controvalore, +-- --SUM(CONTROVALORE) / Totale As Percentuale, +-- SUM(CONTROVALORE) / Totale * 100 As Percentuale, +-- Totale +--FROM +--( +--SELECT rete, +-- cod_fiscale, +-- ASSETCLASS.ORDINAMENTO, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, +-- --ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'Totale') * 100, 2) AS Percentuale, +-- cast(ROUND(SUM(Controvalore) OVER (PARTITION BY 'Totale',rete,cod_fiscale),2) as decimal(19,5)) AS Totale +-- FROM ( +-- SELECT +-- VAL.RETE, +-- VAL.COD_FISCALE, +-- SUM(CONTROVALORE) AS CONTROVALORE, +-- ID_ASSETCLASS +-- FROM +-- (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare +-- SELECT +-- PATR_BF.RETE, +-- PATR_BF.COD_FISCALE, +-- (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, +-- ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS +-- FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF +-- INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC +-- ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- WHERE +----inizio interventi OMNIA +---- PATR_BF.ID_AREA NOT IN ('Cc','Pre1','Pre2','Pre') +-- PATR_BF.ID_AREA NOT IN ('SELF','Cc','Pre1','Pre2','Pre') +----fine interventi OMNIA +-- AND ASSETPERC.LIVELLO = 2 +-- --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') +-- AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') +-- --AND PATR_BF.COD_FISCALE= @CodiceFiscale +-- -- AND PATR_BF.RETE= @Rete +---- +-- UNION ALL +-- ---DETTAGLIO ASUL SENZA GLI SKANDIA +-- SELECT PATR_BF.RETE, +-- PATR_BF.COD_FISCALE, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore, +-- ASSETPERC.ID_ASSETCLASS +-- FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 2 +-- INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF +-- ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE +-- AND ASUL.RETE=PATR_BF.RETE +-- AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO +-- WHERE +-- --ASUL.RETE = @Rete +-- --AND ASUL.COD_FISCALE = @CodiceFiscale +-- PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') +-- UNION ALL +-- --DETTAGLIO ASUL SKANDIA +-- SELECT ASUL.RETE, +-- ASUL.COD_FISCALE, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore, +-- ASSETPERC.ID_ASSETCLASS +-- FROM C6MartPeriodico.PATRIMONIO_BF ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) +-- AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) +-- AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 2 +-- WHERE +-- --ASUL.RETE =@Rete +-- --AND ASUL.COD_FISCALE = @CodiceFiscale +-- --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 +-- ASUL.tipo_Prodotto = 'ASU2' +-- AND ASUL.ID_AREA NOT IN ('Pre1','Pre2','Pre') +-- ) val +-- where Controvalore >0 +-- GROUP BY +-- VAL.RETE, +-- val.COD_FISCALE, +-- VAL.ID_ASSETCLASS +-- UNION ALL +-- /* nuovo */ +-- SELECT +-- VAL.RETE, +-- VAL.COD_FISCALE, +-- SUM(CONTROVALORE) AS CONTROVALORE, +-- ID_ASSETCLASS +-- FROM +-- (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare +-- SELECT +-- PATR_BF.RETE, +-- PATR_BF.COD_FISCALE, +-- (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, +-- ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS +-- FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF +-- INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC +-- ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- WHERE +-- PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') +-- AND ASSETPERC.LIVELLO = 2 +-- --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') +-- AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') +-- --AND PATR_BF.COD_FISCALE=@CodiceFiscale +-- -- AND PATR_BF.RETE= @Rete +---- +-- UNION ALL +-- ---DETTAGLIO ASUL SENZA GLI SKANDIA +-- SELECT PATR_BF.RETE, +-- PATR_BF.COD_FISCALE, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore, +-- ASSETPERC.ID_ASSETCLASS +-- FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 2 +-- INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF +-- ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE +-- AND ASUL.RETE=PATR_BF.RETE +-- AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO +-- WHERE +-- --ASUL.RETE = @Rete +-- --AND ASUL.COD_FISCALE = @CodiceFiscale +-- PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') +-- UNION ALL +-- --DETTAGLIO ASUL SKANDIA +-- SELECT ASUL.RETE, +-- ASUL.COD_FISCALE, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore, +-- ASSETPERC.ID_ASSETCLASS +-- FROM C6MartPeriodico.PATRIMONIO_BF ASUL +-- INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) +-- AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) +-- AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 2 +-- WHERE +-- -- ASUL.RETE =@Rete +-- -- AND ASUL.COD_FISCALE = @CodiceFiscale +-- --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 +-- ASUL.tipo_Prodotto = 'ASU2' +-- AND ASUL.ID_AREA IN ('Pre1','Pre2','Pre') +-- ) val +-- where Controvalore >0 +-- GROUP BY +-- VAL.RETE, +-- val.COD_FISCALE, +-- VAL.ID_ASSETCLASS +-- ) +-- VALORIASSET +-- INNER JOIN C6MartPeriodico.ASSETCLASS AS ASSETCLASS +-- ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +---- WHERE +---- VALORIASSET.RETE =@Rete +---- AND VALORIASSET.COD_FISCALE = @CodiceFiscale +--) a +--Group By rete,cod_fiscale,ORDINAMENTO, AssetClassId, AssetClassName, Totale +-- ORDER BY ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_S148DistribuzioneAssetClass_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_Popola_S148DistribuzioneAssetClass_pre_selective.sql new file mode 100644 index 00000000..5d6ff663 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_S148DistribuzioneAssetClass_pre_selective.sql @@ -0,0 +1,190 @@ +--[C6martPeriodico].[Popola_S148DistribuzioneAssetClass_pre_selective] 'F','LRNRMR33D51C166I' +CREATE procedure [C6MartPeriodico].[Popola_S148DistribuzioneAssetClass_pre_selective] + -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN +truncate table c6martperiodico.TB_S148DistribuzioneAssetClass +INSERT INTO c6martperiodico.TB_S148DistribuzioneAssetClass +--SELECT @Rete as Rete, @CodiceFiscale as CodiceFiscale, +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Banca Fideuram' +-- END AS Banca, + select rete, + cod_fiscale, + CASE rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Fideuram' + END AS Banca, + ORDINAMENTO, + AssetClassId, + AssetClassName, + SUM(Controvalore) As Controvalore, + --SUM(CONTROVALORE) / Totale As Percentuale, + SUM(CONTROVALORE) / Totale * 100 As Percentuale, + Totale +FROM +( +SELECT rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, + --ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'Totale') * 100, 2) AS Percentuale, + cast(ROUND(SUM(Controvalore) OVER (PARTITION BY 'Totale',rete,cod_fiscale),2) as decimal(19,5)) AS Totale + FROM ( + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE +--inizio interventi OMNIA +-- PATR_BF.ID_AREA NOT IN ('Cc','Pre1','Pre2','Pre') + PATR_BF.ID_AREA NOT IN ('SELF','Cc','Pre1','Pre2','Pre') +--fine interventi OMNIA + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + --AND PATR_BF.COD_FISCALE= @CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + --ASUL.RETE = @Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + WHERE + --ASUL.RETE =@Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA NOT IN ('Pre1','Pre2','Pre') + ) val + where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS + UNION ALL + /* nuovo */ + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE + PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + --AND PATR_BF.COD_FISCALE=@CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN C6MartPeriodico.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + --ASUL.RETE = @Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM C6MartPeriodico.PATRIMONIO_BF ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + WHERE + -- ASUL.RETE =@Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA IN ('Pre1','Pre2','Pre') + ) val + where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS + ) + VALORIASSET + INNER JOIN C6MartPeriodico.ASSETCLASS AS ASSETCLASS + ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +-- WHERE +-- VALORIASSET.RETE =@Rete +-- AND VALORIASSET.COD_FISCALE = @CodiceFiscale +) a +Group By rete,cod_fiscale,ORDINAMENTO, AssetClassId, AssetClassName, Totale + ORDER BY ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta.sql b/sql/storedTestbes/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta.sql new file mode 100644 index 00000000..4e5cddce --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta.sql @@ -0,0 +1,52 @@ +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[Popola_S179EmittentiConcentrazioneAlta] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +--print @DataFineTrim +truncate table C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta +INSERT INTO C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta +SELECT + ce.[RETE] + , + case + when(isnull(ltrim(rtrim(ce.codman)),'') <> '') + then 'FF@'+ce.codman + when (isnull(ce.codfis,'') <> '') + then ce.codfis + else + ce.codfis + end as Codfis + ,1 as Ordine + ,[DESCEMI] as Emittente + ,ce.totctv as ctv + ,1 as flagAdeguatezza + ,ce.SOGLIACTV_CONC as Franchigia + ,ce.conc as percConcentrazione + ,ce.rating as Rating + ,ce.limite_conc as SogliaConcenrazione +FROM [C6StagingPeriodico].[WSEICE2] ce +inner join [C6MartPeriodico].[WSEIAN2] an + on ce.rete = an.rete and + ce.codfis= an.codfis + -- 26/6/2018 - Certificazione campione - Segnalazione Napolitano - Creazione riga duplicata nella tabella emittenti a concentrazione alta + and an.dttrim = ce.dttrim + -- 26/6/2018 - Fine +left join C6MartPeriodico.wseirpf rpf + on ce.RETE=RPF.Rete and + ce.CODFIS=RPF.CODFIS + WHERE 1=1 + -- and ce.DTTRIM = @DataFineTrim + and an.concemi = 'N' --estraggo solo quelli che non sono adeguati per concentrazione emittenti sulla wseian + and ce.flgconc = '0' -- e solo gli emittenti non adeguati (perché sulla wseice arrivano tutti gli emittenti, adeguati e non) prima era N + and ISNULL( RPF.FLGPROF,'A')<>'P' + --select * from C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_20180626.sql b/sql/storedTestbes/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_20180626.sql new file mode 100644 index 00000000..ff407f20 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_20180626.sql @@ -0,0 +1,57 @@ +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[Popola_S179EmittentiConcentrazioneAlta_20180626] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +truncate table C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta +INSERT INTO C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta +SELECT + ce.[RETE] + , + case + when(isnull(ltrim(rtrim(ce.codman)),'') <> '') + then 'FF@'+ce.codman + when (isnull(ce.codfis,'') <> '') + then ce.codfis + else + ce.codfis + end as Codfis + ,1 as Ordine + ,[DESCEMI] + , + case + when upper(asset) = 'O' then [TOTCTV] + else 0 + end as ObbligazioniControvalore + , + case + when upper(asset) = 'O' then [CONC] + else 0 + end as ObbligazioniConcentrazione + , + case + when upper(asset) = 'A' then [TOTCTV] + else 0 + end as AzioniControvalore + , + case + when upper(asset) = 'A' then [CONC] + else 0 + end as AzioniConcentrazione +FROM [C6StagingPeriodico].[WSEICE] ce +inner join [C6StagingPeriodico].[WSEIAN] an + on ce.rete = an.rete and + ce.codfis= an.codfis + WHERE 1=1 + and ce.DTTRIM = @DataFineTrim + and an.concemi = 'N' --estraggo solo quelli che non sono adeguati per concentrazione emittenti sulla wseian + and ce.flgconc = 'N' -- e solo gli emittenti non adeguati (perché sulla wseice arrivano tutti gli emittenti, adeguati e non) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_BKP_20231115_PRE_RAFFORZAMENTO.sql b/sql/storedTestbes/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_BKP_20231115_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..9cb532d8 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_S179EmittentiConcentrazioneAlta_BKP_20231115_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,48 @@ +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[Popola_S179EmittentiConcentrazioneAlta_BKP_20231115_PRE_RAFFORZAMENTO] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +--print @DataFineTrim +truncate table C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta +INSERT INTO C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta +SELECT + ce.[RETE] + , + case + when(isnull(ltrim(rtrim(ce.codman)),'') <> '') + then 'FF@'+ce.codman + when (isnull(ce.codfis,'') <> '') + then ce.codfis + else + ce.codfis + end as Codfis + ,1 as Ordine + ,[DESCEMI] as Emittente + ,ce.totctv as ctv + ,1 as flagAdeguatezza + ,ce.SOGLIACTV_CONC as Franchigia + ,ce.conc as percConcentrazione + ,ce.rating as Rating + ,ce.limite_conc as SogliaConcenrazione +FROM [C6StagingPeriodico].[WSEICE2] ce +inner join [C6MartPeriodico].[WSEIAN2] an + on ce.rete = an.rete and + ce.codfis= an.codfis + -- 26/6/2018 - Certificazione campione - Segnalazione Napolitano - Creazione riga duplicata nella tabella emittenti a concentrazione alta + and an.dttrim = ce.dttrim + -- 26/6/2018 - Fine + WHERE 1=1 + -- and ce.DTTRIM = @DataFineTrim + and an.concemi = 'N' --estraggo solo quelli che non sono adeguati per concentrazione emittenti sulla wseian + and ce.flgconc = '0' -- e solo gli emittenti non adeguati (perché sulla wseice arrivano tutti gli emittenti, adeguati e non) prima era N + --select * from C6MartPeriodico.TB_S179EmittentiConcentrazioneAlta +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_S25Anagrafica.sql b/sql/storedTestbes/C6MartPeriodico_Popola_S25Anagrafica.sql new file mode 100644 index 00000000..4e799009 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_S25Anagrafica.sql @@ -0,0 +1,102 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S25Anagrafica] 'F', 'CSCGPP34A03L050L' +CREATE procedure [C6MartPeriodico].[Popola_S25Anagrafica] +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN +truncate table c6martperiodico.TB_S25Anagrafica + insert into c6martperiodico.TB_S25Anagrafica + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + --V Indirizzo Secondo AULETTA + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') + ' ' else '' end + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') + ' ' else '' end + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_SOTT) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + CONTRATTOSEI.FASCIA_CPP AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + --ANAG_CLIENTI.CAP AS CAP, + -- CONTRATTOSEI.[CAP] AS CAP, + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' + then isnull(CONTRATTOSEI.CAP,'') + else '' + end as CAP, + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + --CONTRATTOSEI.[Prov] AS Provincia, + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' + then isnull(CONTRATTOSEI.[Prov],'') + else CONTRATTOSEI.[NAZIONE] + end as Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + CONTRATTOSEI.[Presso] AS PRESSO + FROM + [C6MartPeriodico].CONTRATTOSEI -- TABELLA BASE + INNER JOIN + C6MARTPERIODICO.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MARTPERIODICO.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + LEFT JOIN + C6MARTPERIODICO.ANAG_CLIENTI_PREV + ON + ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + LEFT JOIN + C6MARTPERIODICO.DATI_REPORT + ON + ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + --WHERE 1 = 1 + -- AND ANAG_CLIENTI.RETE = @RETE + -- AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_S25Anagrafica_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_Popola_S25Anagrafica_pre_selective.sql new file mode 100644 index 00000000..2ca8ff01 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_S25Anagrafica_pre_selective.sql @@ -0,0 +1,102 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S25Anagrafica] 'F', 'CSCGPP34A03L050L' +CREATE procedure [C6MartPeriodico].[Popola_S25Anagrafica_pre_selective] +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN +truncate table c6martperiodico.TB_S25Anagrafica + insert into c6martperiodico.TB_S25Anagrafica + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + --V Indirizzo Secondo AULETTA + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') + ' ' else '' end + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.CAP,'') + ' ' else '' end + CONTRATTOSEI.[Citta] + + ' (' + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' then isnull(CONTRATTOSEI.PROV,'') else CONTRATTOSEI.[NAZIONE] end + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_SOTT) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + CONTRATTOSEI.FASCIA_CPP AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + --ANAG_CLIENTI.CAP AS CAP, + -- CONTRATTOSEI.[CAP] AS CAP, + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' + then isnull(CONTRATTOSEI.CAP,'') + else '' + end as CAP, + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + --CONTRATTOSEI.[Prov] AS Provincia, + CASE WHEN CONTRATTOSEI.[NAZIONE] ='ITALIA' + then isnull(CONTRATTOSEI.[Prov],'') + else CONTRATTOSEI.[NAZIONE] + end as Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + CONTRATTOSEI.[Presso] AS PRESSO + FROM + [C6MartPeriodico].CONTRATTOSEI -- TABELLA BASE + INNER JOIN + C6MARTPERIODICO.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MARTPERIODICO.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + LEFT JOIN + C6MARTPERIODICO.ANAG_CLIENTI_PREV + ON + ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + LEFT JOIN + C6MARTPERIODICO.DATI_REPORT + ON + ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + --WHERE 1 = 1 + -- AND ANAG_CLIENTI.RETE = @RETE + -- AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_S80BisEvoluzioneRischio.sql b/sql/storedTestbes/C6MartPeriodico_Popola_S80BisEvoluzioneRischio.sql new file mode 100644 index 00000000..6c465d25 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_S80BisEvoluzioneRischio.sql @@ -0,0 +1,191 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80BisEvoluzioneRischio]'F','02392500605S' +CREATE procedure [C6MartPeriodico].[Popola_S80BisEvoluzioneRischio] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @DataCongelamento DATETIME + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + select @DataCongelamento +truncate table c6martperiodico.tb_S80BisEvoluzioneRischio +insert into c6martperiodico.tb_S80BisEvoluzioneRischio + SELECT + ini.rete, + ini.COD_FISCALE, + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO + ELSE ROUND(INI.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + INI.VAR_COPERTURA AS Copertura, + INI.RISKCLASS, + INI.RISKCLASSMAX, + case + when INI.RISKCLASS is null then 'n.d.' + when INI.RISKCLASS = 0 then 'n.a.' + else null + end as RiskClassString, + case + when INI.RISKCLASSMAX is null then 'n.d.' + when INI.RISKCLASSMAX = 0 then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + LEFT OUTER join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + UNION ALL + -- Precedente invio report + SELECT + rep.RETE , + rep.COD_FISCALE , + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN rep.VAR_COMPLESSIVO IS NULL THEN rep.VAR_COMPLESSIVO + ELSE ROUND(rep.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + rep.VAR_COPERTURA AS Copertura, + rep.RISKCLASS, + rep.RISKCLASSMAX, + case when rep.RISKCLASS is null then 'n.a.' + else null + end as RiskClassString, + case when rep.RISKCLASSMAX is null then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + -- modifica del 24/7/2017 per gestire le situazioni limite dell'avvio monitoraggio a cavallo tra 2 trim (vedi segnalazione + -- del qc su cf F/TRRLDA52D04G190A) + --INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + CONVERT(varchar,ini.data_foto,112) <= convert(varchar,ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)),112) + -- fine modifica del 24/7/2017 + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + SELECT + BF.RETE , + BF.COD_FISCALE, + 3 fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + --CASE + -- WHEN (@contaPOS - @contaCC = 0 ) THEN 100 + -- ELSE isnull(RA.COPERTURA,0) + --END AS Copertura, + isnull(RA.COPERTURA,0) as copertura, +-- TRINGALI MODIFICARE + ra.creditrisk as RISKCLASS, + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' + else null end as RiskClassString, + case when mifid.riskclass is null then 'n.a.' + else null end as RiskClassMaxString + FROM + C6MartPeriodico.vPatrimonioBFAggregato AS BF + INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON BF.RETE = MIFID.RETE + AND BF.COD_FISCALE = MIFID.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = BF.RETE + AND RA.COD_FISCALE = BF.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' +-- Aggiornamento Copertura +update s80 + set copertura = ( CASE + WHEN (nocc - CC = 0 ) THEN 100 + ELSE copertura + END ) + from c6martperiodico.tb_S80BisEvoluzioneRischio s80 + inner join ( + select rete,cod_fiscale + ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc + ,sum ( case when tipo_prodotto <>'CC' then tot else 0 end ) as nocc + from + ( select rete,cod_fiscale,tipo_prodotto,count(*) tot + from c6martperiodico.patrimonio_Bf + --where cod_fiscale = @codiceFiscale and rete = @rete + group by rete,cod_fiscale,tipo_prodotto + ) as gr + group by rete,cod_fiscale + ) as tabCount + on tabcount.rete= s80.rete and tabcount.cod_fiscale=s80.codicefiscale +-- Aggiornamento + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #ini + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + group by RETE,COD_FISCALE + having count(*) = 0 + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #att + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + group by RETE,COD_FISCALE + having count(*) = 0 + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #ris + FROM C6MARTPERIODICO.RISCHIO_AGGREGATO + group by RETE,COD_FISCALE + having count(*) = 0 + delete s80 + from c6martperiodico.tb_S80BisEvoluzioneRischio s80 + inner join ( + select distinct + case when #ini.rete is null + then + case when #att.rete is null + then #ris.rete + else #att.rete + end + else #ini.rete + end rete, + case when #ini.cod_fiscale is null + then + case when #att.cod_fiscale is null + then #ris.cod_fiscale + else #att.cod_fiscale + end + else #ini.cod_fiscale + end codicefiscale + from #ini + right JOIN #att on #ini.rete = #att.rete and #att.cod_fiscale=#ini.cod_fiscale + right JOIN #ris on #ini.rete = #ris.rete and #ris.cod_fiscale=#ini.cod_fiscale + ) cont + on cont.rete=s80.rete and cont.codicefiscale=s80.codicefiscale + --aggiunta insert into pez 20240628 poi da togliere + -- insert into[C6MartPeriodico].[TB_S80BisEvoluzioneRischio] + --select * from [C6MartPeriodico].[TB_S80BisEvoluzioneRischio_pez] +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20170724_preCR_fasi1e2.sql b/sql/storedTestbes/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20170724_preCR_fasi1e2.sql new file mode 100644 index 00000000..c18489a6 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20170724_preCR_fasi1e2.sql @@ -0,0 +1,183 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80BisEvoluzioneRischio]'F','02392500605S' +CREATE procedure [C6MartPeriodico].[Popola_S80BisEvoluzioneRischio_20170724_preCR_fasi1e2] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @DataCongelamento DATETIME + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() +truncate table c6martperiodico.tb_S80BisEvoluzioneRischio +insert into c6martperiodico.tb_S80BisEvoluzioneRischio + SELECT + ini.rete, + ini.COD_FISCALE, + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO + ELSE ROUND(INI.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + INI.VAR_COPERTURA AS Copertura, + INI.RISKCLASS, + INI.RISKCLASSMAX, + case + when INI.RISKCLASS is null then 'n.d.' + when INI.RISKCLASS = 0 then 'n.a.' + else null + end as RiskClassString, + case + when INI.RISKCLASSMAX is null then 'n.d.' + when INI.RISKCLASSMAX = 0 then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + LEFT OUTER join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + UNION ALL + -- Precedente invio report + SELECT + rep.RETE , + rep.COD_FISCALE , + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN rep.VAR_COMPLESSIVO IS NULL THEN rep.VAR_COMPLESSIVO + ELSE ROUND(rep.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + rep.VAR_COPERTURA AS Copertura, + rep.RISKCLASS, + rep.RISKCLASSMAX, + case when rep.RISKCLASS is null then 'n.a.' + else null + end as RiskClassString, + case when rep.RISKCLASSMAX is null then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + SELECT + BF.RETE , + BF.COD_FISCALE, + 3 fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + --CASE + -- WHEN (@contaPOS - @contaCC = 0 ) THEN 100 + -- ELSE isnull(RA.COPERTURA,0) + --END AS Copertura, + isnull(RA.COPERTURA,0) as copertura, +-- TRINGALI MODIFICARE + ra.creditrisk as RISKCLASS, + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' + else null end as RiskClassString, + case when mifid.riskclass is null then 'n.a.' + else null end as RiskClassMaxString + FROM + C6MartPeriodico.vPatrimonioBFAggregato AS BF + INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON BF.RETE = MIFID.RETE + AND BF.COD_FISCALE = MIFID.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = BF.RETE + AND RA.COD_FISCALE = BF.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' +-- Aggiornamento Copertura +update s80 + set copertura = ( CASE + WHEN (nocc - CC = 0 ) THEN 100 + ELSE copertura + END ) + from c6martperiodico.tb_S80BisEvoluzioneRischio s80 + inner join ( + select rete,cod_fiscale + ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc + ,sum ( case when tipo_prodotto <>'CC' then tot else 0 end ) as nocc + from + ( select rete,cod_fiscale,tipo_prodotto,count(*) tot + from c6martperiodico.patrimonio_Bf + --where cod_fiscale = @codiceFiscale and rete = @rete + group by rete,cod_fiscale,tipo_prodotto + ) as gr + group by rete,cod_fiscale + ) as tabCount + on tabcount.rete= s80.rete and tabcount.cod_fiscale=s80.codicefiscale +-- Aggiornamento + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #ini + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + group by RETE,COD_FISCALE + having count(*) = 0 + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #att + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + group by RETE,COD_FISCALE + having count(*) = 0 + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #ris + FROM C6MARTPERIODICO.RISCHIO_AGGREGATO + group by RETE,COD_FISCALE + having count(*) = 0 + delete s80 + from c6martperiodico.tb_S80BisEvoluzioneRischio s80 + inner join ( + select distinct + case when #ini.rete is null + then + case when #att.rete is null + then #ris.rete + else #att.rete + end + else #ini.rete + end rete, + case when #ini.cod_fiscale is null + then + case when #att.cod_fiscale is null + then #ris.cod_fiscale + else #att.cod_fiscale + end + else #ini.cod_fiscale + end codicefiscale + from #ini + right JOIN #att on #ini.rete = #att.rete and #att.cod_fiscale=#ini.cod_fiscale + right JOIN #ris on #ini.rete = #ris.rete and #ris.cod_fiscale=#ini.cod_fiscale + ) cont + on cont.rete=s80.rete and cont.codicefiscale=s80.codicefiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20171222.sql b/sql/storedTestbes/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20171222.sql new file mode 100644 index 00000000..785ff9ec --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_20171222.sql @@ -0,0 +1,187 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80BisEvoluzioneRischio]'F','02392500605S' +CREATE procedure [C6MartPeriodico].[Popola_S80BisEvoluzioneRischio_20171222] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @DataCongelamento DATETIME + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() +truncate table c6martperiodico.tb_S80BisEvoluzioneRischio +insert into c6martperiodico.tb_S80BisEvoluzioneRischio + SELECT + ini.rete, + ini.COD_FISCALE, + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO + ELSE ROUND(INI.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + INI.VAR_COPERTURA AS Copertura, + INI.RISKCLASS, + INI.RISKCLASSMAX, + case + when INI.RISKCLASS is null then 'n.d.' + when INI.RISKCLASS = 0 then 'n.a.' + else null + end as RiskClassString, + case + when INI.RISKCLASSMAX is null then 'n.d.' + when INI.RISKCLASSMAX = 0 then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + LEFT OUTER join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + UNION ALL + -- Precedente invio report + SELECT + rep.RETE , + rep.COD_FISCALE , + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN rep.VAR_COMPLESSIVO IS NULL THEN rep.VAR_COMPLESSIVO + ELSE ROUND(rep.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + rep.VAR_COPERTURA AS Copertura, + rep.RISKCLASS, + rep.RISKCLASSMAX, + case when rep.RISKCLASS is null then 'n.a.' + else null + end as RiskClassString, + case when rep.RISKCLASSMAX is null then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + -- modifica del 24/7/2017 per gestire le situazioni limite dell'avvio monitoraggio a cavallo tra 2 trim (vedi segnalazione + -- del qc su cf F/TRRLDA52D04G190A) + --INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + CONVERT(varchar,ini.data_foto,112) <= convert(varchar,ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)),112) + -- fine modifica del 24/7/2017 + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + SELECT + BF.RETE , + BF.COD_FISCALE, + 3 fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + --CASE + -- WHEN (@contaPOS - @contaCC = 0 ) THEN 100 + -- ELSE isnull(RA.COPERTURA,0) + --END AS Copertura, + isnull(RA.COPERTURA,0) as copertura, +-- TRINGALI MODIFICARE + ra.creditrisk as RISKCLASS, + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' + else null end as RiskClassString, + case when mifid.riskclass is null then 'n.a.' + else null end as RiskClassMaxString + FROM + C6MartPeriodico.vPatrimonioBFAggregato AS BF + INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON BF.RETE = MIFID.RETE + AND BF.COD_FISCALE = MIFID.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = BF.RETE + AND RA.COD_FISCALE = BF.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' +-- Aggiornamento Copertura +update s80 + set copertura = ( CASE + WHEN (nocc - CC = 0 ) THEN 100 + ELSE copertura + END ) + from c6martperiodico.tb_S80BisEvoluzioneRischio s80 + inner join ( + select rete,cod_fiscale + ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc + ,sum ( case when tipo_prodotto <>'CC' then tot else 0 end ) as nocc + from + ( select rete,cod_fiscale,tipo_prodotto,count(*) tot + from c6martperiodico.patrimonio_Bf + --where cod_fiscale = @codiceFiscale and rete = @rete + group by rete,cod_fiscale,tipo_prodotto + ) as gr + group by rete,cod_fiscale + ) as tabCount + on tabcount.rete= s80.rete and tabcount.cod_fiscale=s80.codicefiscale +-- Aggiornamento + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #ini + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + group by RETE,COD_FISCALE + having count(*) = 0 + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #att + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + group by RETE,COD_FISCALE + having count(*) = 0 + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #ris + FROM C6MARTPERIODICO.RISCHIO_AGGREGATO + group by RETE,COD_FISCALE + having count(*) = 0 + delete s80 + from c6martperiodico.tb_S80BisEvoluzioneRischio s80 + inner join ( + select distinct + case when #ini.rete is null + then + case when #att.rete is null + then #ris.rete + else #att.rete + end + else #ini.rete + end rete, + case when #ini.cod_fiscale is null + then + case when #att.cod_fiscale is null + then #ris.cod_fiscale + else #att.cod_fiscale + end + else #ini.cod_fiscale + end codicefiscale + from #ini + right JOIN #att on #ini.rete = #att.rete and #att.cod_fiscale=#ini.cod_fiscale + right JOIN #ris on #ini.rete = #ris.rete and #ris.cod_fiscale=#ini.cod_fiscale + ) cont + on cont.rete=s80.rete and cont.codicefiscale=s80.codicefiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_BKP_20231116_PRE_RAFFORZAMENTO.sql b/sql/storedTestbes/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_BKP_20231116_PRE_RAFFORZAMENTO.sql new file mode 100644 index 00000000..438eac8e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_BKP_20231116_PRE_RAFFORZAMENTO.sql @@ -0,0 +1,188 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80BisEvoluzioneRischio]'F','02392500605S' +CREATE procedure [C6MartPeriodico].[Popola_S80BisEvoluzioneRischio_BKP_20231116_PRE_RAFFORZAMENTO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @DataCongelamento DATETIME + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + select @DataCongelamento +truncate table c6martperiodico.tb_S80BisEvoluzioneRischio +insert into c6martperiodico.tb_S80BisEvoluzioneRischio + SELECT + ini.rete, + ini.COD_FISCALE, + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO + ELSE ROUND(INI.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + INI.VAR_COPERTURA AS Copertura, + INI.RISKCLASS, + INI.RISKCLASSMAX, + case + when INI.RISKCLASS is null then 'n.d.' + when INI.RISKCLASS = 0 then 'n.a.' + else null + end as RiskClassString, + case + when INI.RISKCLASSMAX is null then 'n.d.' + when INI.RISKCLASSMAX = 0 then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + LEFT OUTER join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + UNION ALL + -- Precedente invio report + SELECT + rep.RETE , + rep.COD_FISCALE , + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN rep.VAR_COMPLESSIVO IS NULL THEN rep.VAR_COMPLESSIVO + ELSE ROUND(rep.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + rep.VAR_COPERTURA AS Copertura, + rep.RISKCLASS, + rep.RISKCLASSMAX, + case when rep.RISKCLASS is null then 'n.a.' + else null + end as RiskClassString, + case when rep.RISKCLASSMAX is null then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + -- modifica del 24/7/2017 per gestire le situazioni limite dell'avvio monitoraggio a cavallo tra 2 trim (vedi segnalazione + -- del qc su cf F/TRRLDA52D04G190A) + --INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + CONVERT(varchar,ini.data_foto,112) <= convert(varchar,ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)),112) + -- fine modifica del 24/7/2017 + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + SELECT + BF.RETE , + BF.COD_FISCALE, + 3 fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + --CASE + -- WHEN (@contaPOS - @contaCC = 0 ) THEN 100 + -- ELSE isnull(RA.COPERTURA,0) + --END AS Copertura, + isnull(RA.COPERTURA,0) as copertura, +-- TRINGALI MODIFICARE + ra.creditrisk as RISKCLASS, + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' + else null end as RiskClassString, + case when mifid.riskclass is null then 'n.a.' + else null end as RiskClassMaxString + FROM + C6MartPeriodico.vPatrimonioBFAggregato AS BF + INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON BF.RETE = MIFID.RETE + AND BF.COD_FISCALE = MIFID.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = BF.RETE + AND RA.COD_FISCALE = BF.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' +-- Aggiornamento Copertura +update s80 + set copertura = ( CASE + WHEN (nocc - CC = 0 ) THEN 100 + ELSE copertura + END ) + from c6martperiodico.tb_S80BisEvoluzioneRischio s80 + inner join ( + select rete,cod_fiscale + ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc + ,sum ( case when tipo_prodotto <>'CC' then tot else 0 end ) as nocc + from + ( select rete,cod_fiscale,tipo_prodotto,count(*) tot + from c6martperiodico.patrimonio_Bf + --where cod_fiscale = @codiceFiscale and rete = @rete + group by rete,cod_fiscale,tipo_prodotto + ) as gr + group by rete,cod_fiscale + ) as tabCount + on tabcount.rete= s80.rete and tabcount.cod_fiscale=s80.codicefiscale +-- Aggiornamento + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #ini + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + group by RETE,COD_FISCALE + having count(*) = 0 + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #att + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + group by RETE,COD_FISCALE + having count(*) = 0 + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #ris + FROM C6MARTPERIODICO.RISCHIO_AGGREGATO + group by RETE,COD_FISCALE + having count(*) = 0 + delete s80 + from c6martperiodico.tb_S80BisEvoluzioneRischio s80 + inner join ( + select distinct + case when #ini.rete is null + then + case when #att.rete is null + then #ris.rete + else #att.rete + end + else #ini.rete + end rete, + case when #ini.cod_fiscale is null + then + case when #att.cod_fiscale is null + then #ris.cod_fiscale + else #att.cod_fiscale + end + else #ini.cod_fiscale + end codicefiscale + from #ini + right JOIN #att on #ini.rete = #att.rete and #att.cod_fiscale=#ini.cod_fiscale + right JOIN #ris on #ini.rete = #ris.rete and #ris.cod_fiscale=#ini.cod_fiscale + ) cont + on cont.rete=s80.rete and cont.codicefiscale=s80.codicefiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_pre_selective.sql new file mode 100644 index 00000000..442f317f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_S80BisEvoluzioneRischio_pre_selective.sql @@ -0,0 +1,183 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80BisEvoluzioneRischio]'F','02392500605S' +CREATE procedure [C6MartPeriodico].[Popola_S80BisEvoluzioneRischio_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @DataCongelamento DATETIME + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() +truncate table c6martperiodico.tb_S80BisEvoluzioneRischio +insert into c6martperiodico.tb_S80BisEvoluzioneRischio + SELECT + ini.rete, + ini.COD_FISCALE, + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO + ELSE ROUND(INI.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + INI.VAR_COPERTURA AS Copertura, + INI.RISKCLASS, + INI.RISKCLASSMAX, + case + when INI.RISKCLASS is null then 'n.d.' + when INI.RISKCLASS = 0 then 'n.a.' + else null + end as RiskClassString, + case + when INI.RISKCLASSMAX is null then 'n.d.' + when INI.RISKCLASSMAX = 0 then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + LEFT OUTER join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + UNION ALL + -- Precedente invio report + SELECT + rep.RETE , + rep.COD_FISCALE , + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN rep.VAR_COMPLESSIVO IS NULL THEN rep.VAR_COMPLESSIVO + ELSE ROUND(rep.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + rep.VAR_COPERTURA AS Copertura, + rep.RISKCLASS, + rep.RISKCLASSMAX, + case when rep.RISKCLASS is null then 'n.a.' + else null + end as RiskClassString, + case when rep.RISKCLASSMAX is null then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + SELECT + BF.RETE , + BF.COD_FISCALE, + 3 fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + --CASE + -- WHEN (@contaPOS - @contaCC = 0 ) THEN 100 + -- ELSE isnull(RA.COPERTURA,0) + --END AS Copertura, + isnull(RA.COPERTURA,0) as copertura, +-- TRINGALI MODIFICARE + ra.creditrisk as RISKCLASS, + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' + else null end as RiskClassString, + case when mifid.riskclass is null then 'n.a.' + else null end as RiskClassMaxString + FROM + C6MartPeriodico.vPatrimonioBFAggregato AS BF + INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON BF.RETE = MIFID.RETE + AND BF.COD_FISCALE = MIFID.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = BF.RETE + AND RA.COD_FISCALE = BF.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' +-- Aggiornamento Copertura +update s80 + set copertura = ( CASE + WHEN (nocc - CC = 0 ) THEN 100 + ELSE copertura + END ) + from c6martperiodico.tb_S80BisEvoluzioneRischio s80 + inner join ( + select rete,cod_fiscale + ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc + ,sum ( case when tipo_prodotto <>'CC' then tot else 0 end ) as nocc + from + ( select rete,cod_fiscale,tipo_prodotto,count(*) tot + from c6martperiodico.patrimonio_Bf + --where cod_fiscale = @codiceFiscale and rete = @rete + group by rete,cod_fiscale,tipo_prodotto + ) as gr + group by rete,cod_fiscale + ) as tabCount + on tabcount.rete= s80.rete and tabcount.cod_fiscale=s80.codicefiscale +-- Aggiornamento + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #ini + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + group by RETE,COD_FISCALE + having count(*) = 0 + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #att + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + group by RETE,COD_FISCALE + having count(*) = 0 + SELECT RETE,COD_FISCALE, COUNT(*) tot + into #ris + FROM C6MARTPERIODICO.RISCHIO_AGGREGATO + group by RETE,COD_FISCALE + having count(*) = 0 + delete s80 + from c6martperiodico.tb_S80BisEvoluzioneRischio s80 + inner join ( + select distinct + case when #ini.rete is null + then + case when #att.rete is null + then #ris.rete + else #att.rete + end + else #ini.rete + end rete, + case when #ini.cod_fiscale is null + then + case when #att.cod_fiscale is null + then #ris.cod_fiscale + else #att.cod_fiscale + end + else #ini.cod_fiscale + end codicefiscale + from #ini + right JOIN #att on #ini.rete = #att.rete and #att.cod_fiscale=#ini.cod_fiscale + right JOIN #ris on #ini.rete = #ris.rete and #ris.cod_fiscale=#ini.cod_fiscale + ) cont + on cont.rete=s80.rete and cont.codicefiscale=s80.codicefiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio.sql b/sql/storedTestbes/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio.sql new file mode 100644 index 00000000..aa40d363 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio.sql @@ -0,0 +1,316 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio]'F','GSTGPL59P03B586G' +CREATE procedure [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @DataCongelamento DATETIME + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + -- -- Inserimento Dati Scirocco + -- SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + --FROM C6MartPeriodico.DettaglioMovimenti + --WHERE + -- RETE = @Rete + --AND + -- COD_FIS = @CodiceFiscale + --IF @DettMovPrec is null + -- SET @AppoDettMovPrec = 'n.d.' + --ELSE + -- SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + --IF @DettMovCorr is null + -- SET @AppoDettMovCorr = 'n.d.' + --ELSE + -- SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + ----query per asterischi situazione precedente + --IF EXISTS(SELECT * FROM [C6StagingPeriodico].[WSEICS] + -- WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + -- AND RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + --IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + -- WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + ------------------------------------------- + ----query per asterischi situazione corrente + --IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + -- WHERE COD_INTERNO IN ('37', 'GP') + -- AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + -- SET @NumAsterischiCorr = 1 + ------------------------------------------- + --SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale + --SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale +truncate table C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + -- Attivazione monitoraggio + insert into C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + SELECT + INI.RETE, + INI.Cod_Fiscale, + 1 AS Fase, + isnull(INI.DATA_FOTO,0) AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + isnull(INI.CTV_EXT,0) as CTV_EXT, + isnull(INI.CTV_INV,0) as CTV_INV, + isnull(INI.CTV_PRE,0) as CTV_PRE, + isnull(INI.CTV_RIS,0) as CTV_RIS, + isnull(INI.CTV_LIQ,0) as CTV_LIQ, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) AS RisorseAllocate, + isnull(INI.CTV_NA,0) AS RisorseNonAllocate, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) AS RisorseFinanziarie, + isnull(INI.CTV_CC,0) AS Contocorrente, +--INIZIO INTERVENTI OMNIA + isnull(INI.CTVSELF,0) AS ctvself, + -- 20181206 MIOFOGLIO + --isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) + isnull(INI.CTV_CC,0) + isnull(INI.CTVSELF,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) + isnull(INI.CTV_CC,0) + isnull(INI.CTVSELF,0) + isnull(INI.CTVSELFFOGLIO,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + -- fine 20181206 MIOFOGLIO +--FINE INTERVENTI OMNIA + ,null as DettMovS80 + ,null as DettMovS129 + ,0 as NumeroAsterischiNota + ,0 as sommaproventi + -- 20181206 MIOFOGLIO + ,isnull(INI.CTVSELFFOGLIO,0) AS CTVSelfFoglio + -- fine 20181206 MIOFOGLIO + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + -- modifica per segnalazione qc (Diacci) su cf ‘BRBRRT58P21I633Q/S’ in simulazione Dicembre 2017 + -- modifica del 24/7/2017 per gestire le situazioni limite dell'avvio monitoraggio a cavallo tra 2 trim (vedi segnalazione + -- del qc su cf F/TRRLDA52D04G190A) + ----INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,'2999-12-31') + --CONVERT(varchar,ini.data_foto,112) <= convert(varchar,ISNULL(rep.DATA_INVIO,'2999-12-31'),112) + -- fine modifica del 24/7/2017 + ISNULL(ini.data_foto,cast('29991231' as datetime)) < @datacongelamento + -- fine modifica per segnalazione qc (Diacci) su cf ‘BRBRRT58P21I633Q/S’ in simulazione Dicembre 2017 + -- INI.RETE = @Rete AND + -- INI.COD_FISCALE = @CodiceFiscale + UNION ALL + -- Precedente invio report + SELECT + INI.RETE, + INI.Cod_Fiscale, + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + rep.CTV_EXT, + rep.CTV_INV, + rep.CTV_PRE, + rep.CTV_RIS, + rep.CTV_LIQ, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ AS RisorseAllocate, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA AS RisorseFinanziarie, + rep.CTV_CC AS Contocorrente, + --Contocorrente = CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END, +--INIZIO INTERVENTI OMNIA + isnull(rep.CTV_SELF,0) AS CTV_SELF, + -- 20181206 MIOFOGLIO + --rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.CTV_SELF,0) + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.CTV_SELF,0) + ISNULL(rep.CTV_SELF_FOGLIO,0) + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + -- fine 20181206 MIOFOGLIO +--FINE INTERVENTI OMNIA +--ToDo Fc +-- ,(CASE WHEN @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovPrec END) as DettMov +-- ,(CASE WHEN @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiPrec END) as NumeroAsterischiNota + ,null as DettMovS80 + ,null as DettMovS129 + ,0 as NumeroAsterischiNota + ,0 as sommaproventi + -- 20181206 MIOFOGLIO + ,isnull(rep.CTV_SELF_FOGLIO,0) AS CTV_SELF_FOGLIO + -- fine 20181206 MIOFOGLIO + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + -- modifica del 24/7/2017 per gestire le situazioni limite dell'avvio monitoraggio a cavallo tra 2 trim (vedi segnalazione + -- del qc su cf F/TRRLDA52D04G190A) + --INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + CONVERT(varchar,ini.data_foto,112) <= convert(varchar,ISNULL(rep.DATA_INVIO,'2999-12-31'),112) + -- fine modifica del 24/7/2017 + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + --All values will be read from DB and passed to code, no value will be calculated on code + SELECT + rete, + cod_fiscale, + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + --Get the sum Operazioni in corso + --sum((isnull(IMPORTO,0))) as Partita_viaggiante, + 0 as Partita_viaggiante, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) as CTV_EXT, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) as CTV_INV, + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) as CTV_PRE, + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end ) as CTV_PRE, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) as CTV_RIS, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) as CTV_LIQ, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS CTV_RA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as CTV_NA, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS CTV_RF, + --CTV_CC = (Case WHEN sum(case Upper(id_area) when 'CC' then ctv else 0 end ) < 0 THEN sum(case Upper(id_area) when 'CC' then ctv else 0 end) ELSE 0 END), + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS CTV_CC, + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS CTV_CC, +--INIZIO INTERVENTI OMNIA + -- 20181206 MIOFOGLIO + sum(case when upper(id_area) = 'SELF' and cod_interno = 'XY' then ctv else 0 end) as CTV_SELF, + --sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS CTV_SELF, + -- fine 20181206 MIOFOGLIO +--FINE INTERVENTI OMNIA + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end )+ + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) + +--INIZIO INTERVENTI OMNIA + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --ToDo Fc + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiCorr END) as NumeroAsterischiNota + ,null as DettMovS80 + ,null as DettMovS129 + ,0 NumeroAsterischiNota + ,0 as sommaproventi + -- 20181206 MIOFOGLIO + ,sum(case when upper(id_area) = 'SELF' and cod_interno = 'FO' then ctv else 0 end) as CTV_SELF_FOGLIO + -- fine 20181206 MIOFOGLIO + FROM + C6MartPeriodico.PATRIMONIO_BF + group by rete,cod_fiscale +select count(*) from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio +update s80 +set DettMovS80 = case when dettmov.DETT_MOV_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_PREC as varchar(50)), '.', ',') +end , +DettMovS129 = case when dettmov.DETT_MOV_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_PREC as varchar(50)), '.', ',') +end +from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80 +inner join C6MartPeriodico.DettaglioMovimenti DettMov +on s80.rete = dettmov.rete and dettmov.COD_FIS = s80.COD_FIScale +where s80.fase=2 +update s80 +set DettMovS80 = case when dettmov.DETT_MOV_CORR is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_CORR as varchar(50)), '.', ',') +end , +DettMovS129 = case when dettmov.DETT_MOV_TRIMESTRE_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_TRIMESTRE_PREC as varchar(50)), '.', ',') +end +from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80 +inner join C6MartPeriodico.DettaglioMovimenti DettMov +on s80.rete = dettmov.rete and dettmov.COD_FIS = s80.COD_FIScale +where s80.fase=3 +--update S129 +--set DettMovS129 = case when dettmov.DETT_MOV_TRIMESTRE_PREC is null +-- then 'n.d.' +-- else REPLACE(CAST(dettmov.DETT_MOV_TRIMESTRE_PREC as varchar(50)), '.', ',') +--end +--from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio S129 +--inner join C6MartPeriodico.DettaglioMovimenti DettMov +--on S129.rete = dettmov.rete and dettmov.COD_FIS = S129.COD_FIScale +--where S129.fase=3 +declare @TimecPRec varchar(8) +set @TimecPRec = c6martperiodico.getprevioustrimestre(getdate(),0) +--forzatura +--update C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio +--set dettmovS80='189050.93' +--where Cod_Fiscale='BNBLPL51M05F965Y' +--and fase=2 +--update C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio +--set dettmovS80='-15081.46' +--where Cod_Fiscale='BNBLPL51M05F965Y' +--and fase=3 +--fine forzatura +update s80x +set NumeroAsterischiNota = +case +when ws.CODFIS is null + then 0 +else 1 +end +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80x +left join [C6StagingPeriodico].[WSEICS] ws +on s80x.rete = ws.rete and ws.CODFIS = s80x.COD_FIScale +WHERE CODPROD IN ('37', 'GP') AND DTTRIM = @TimecPRec AND s80x.fase = 2 +update s80x +set NumeroAsterischiNota = +case +when ws.COD_FISCALE is null + then 0 +else 1 +end +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80x +left join C6MartPeriodico.PATRIMONIO_BF ws +on s80x.rete = ws.rete and ws.COD_FISCALE = s80x.COD_FIScale +WHERE COD_INTERNO IN ('37', 'GP') AND s80x.fase = 3 +--SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + -- WHERE COD_INTERNO IN ('37', 'GP') + -- AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale +SELECT rete,Cod_Fiscale,sum(IMPORTO) sommaProventi +into #SommaProventi +FROM [C6MartPeriodico].proventi +--where rete='F' and Cod_Fiscale='DLLLCU62T60G408A' +group by rete,Cod_Fiscale +update s80x +set s80x.sommaproventi = sp.sommaproventi +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio s80x +left join #SommaProventi sp +on s80x.rete = sp.rete and sp.Cod_Fiscale = s80x.COD_FIScale + --aggiunta insert into pez 20240628 poi da togliere + insert into C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio + select * from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_pez +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale.sql b/sql/storedTestbes/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale.sql new file mode 100644 index 00000000..bc2f28c4 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale.sql @@ -0,0 +1,320 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio]'F','GSTGPL59P03B586G' +CREATE procedure [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @DataCongelamento DATETIME + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() +--select * from #riga_nuova + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + -- -- Inserimento Dati Scirocco + -- SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + --FROM C6MartPeriodico.DettaglioMovimenti + --WHERE + -- RETE = @Rete + --AND + -- COD_FIS = @CodiceFiscale + --IF @DettMovPrec is null + -- SET @AppoDettMovPrec = 'n.d.' + --ELSE + -- SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + --IF @DettMovCorr is null + -- SET @AppoDettMovCorr = 'n.d.' + --ELSE + -- SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + ----query per asterischi situazione precedente + --IF EXISTS(SELECT * FROM [C6StagingPeriodico].[WSEICS] + -- WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + -- AND RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + --IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + -- WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + -- SET @NumAsterischiPrec = 1 + ------------------------------------------- + ----query per asterischi situazione corrente + --IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + -- WHERE COD_INTERNO IN ('37', 'GP') + -- AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + -- SET @NumAsterischiCorr = 1 + ------------------------------------------- + --SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale + --SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + --WHERE a.Rete = @Rete + --AND a.COD_FISCALE = @CodiceFiscale +truncate table C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc + -- Attivazione monitoraggio + insert into C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc + SELECT + INI.RETE, + INI.Cod_Fiscale, + 1 AS Fase, + isnull(INI.DATA_FOTO,0) AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + isnull(INI.CTV_EXT,0) as CTV_EXT, + isnull(INI.CTV_INV,0) as CTV_INV, + isnull(INI.CTV_PRE,0) as CTV_PRE, + isnull(INI.CTV_RIS,0) as CTV_RIS, + isnull(INI.CTV_LIQ,0) as CTV_LIQ, + -- aggiunta del 19-10-2020 per il calcolo delle percentuali delle varie aree della piramide + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](INI.Cod_Fiscale,INI.RETE,'Ext'),0.00) as PERC_EXT, + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](INI.Cod_Fiscale,INI.RETE,'Inv'),0.00) as PERC_INV, + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](INI.Cod_Fiscale,INI.RETE,'Pre'),0.00) as PERC_PRE, + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](INI.Cod_Fiscale,INI.RETE,'Ris'),0.00) as PERC_RIS, + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](INI.Cod_Fiscale,INI.RETE,'Liq'),0.00) as PERC_LIQ, + isnull(mode.PERC_EXT,0.00) as PERC_EXT, + isnull(mode.PERC_INV,0.00) as PERC_INV, + isnull(mode.PERC_PRE,0.00) as PERC_PRE, + isnull(mode.PERC_RIS,0.00) as PERC_RIS, + isnull(mode.PERC_LIQ,0.00) as PERC_LIQ, + -- fine aggiunta del 19-10-2020 + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) AS RisorseAllocate, + isnull(INI.CTV_NA,0) AS RisorseNonAllocate, + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) AS RisorseFinanziarie, + isnull(INI.CTV_CC,0) AS Contocorrente, +--INIZIO INTERVENTI OMNIA + isnull(INI.CTVSELF,0) AS ctvself, + -- 20181206 MIOFOGLIO + --isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) + isnull(INI.CTV_CC,0) + isnull(INI.CTVSELF,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + isnull(INI.CTV_EXT,0) + isnull(INI.CTV_INV,0) + isnull(INI.CTV_PRE,0) + isnull(INI.CTV_RIS,0) + isnull(INI.CTV_LIQ,0) + isnull(INI.CTV_NA,0) + isnull(INI.CTV_CC,0) + isnull(INI.CTVSELF,0) + isnull(INI.CTVSELFFOGLIO,0) + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + -- fine 20181206 MIOFOGLIO +--FINE INTERVENTI OMNIA + ,null as DettMovS80 + ,null as DettMovS129 + ,0 as NumeroAsterischiNota + ,0 as sommaproventi + -- 20181206 MIOFOGLIO + ,isnull(INI.CTVSELFFOGLIO,0) AS CTVSelfFoglio + -- fine 20181206 MIOFOGLIO + FROM + --C6MartPeriodico.MONITORAGGIO_INIZIALE INI + [C6MartPeriodico].[MONITORAGGIO_INIZIALE] INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + left join C6StagingPeriodico.Popola_PiramideModello mode + on rtrim(ltrim(ini.rete)) = rtrim(ltrim(mode.rete)) and + rtrim(ltrim(ini.cod_fiscale)) = rtrim(ltrim(mode.cod_fiscale)) and + rtrim(ltrim(ini.DATA_FOTO)) = rtrim(ltrim(mode.data_foto)) + --rtrim(ltrim(convert(varchar,ini.DATA_FOTO,105))) = rtrim(ltrim(convert(varchar,mode.data_foto,105))) + WHERE + -- modifica per segnalazione qc (Diacci) su cf ‘BRBRRT58P21I633Q/S’ in simulazione Dicembre 2017 + -- modifica del 24/7/2017 per gestire le situazioni limite dell'avvio monitoraggio a cavallo tra 2 trim (vedi segnalazione + -- del qc su cf F/TRRLDA52D04G190A) + ----INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,'2999-12-31') + --CONVERT(varchar,ini.data_foto,112) <= convert(varchar,ISNULL(rep.DATA_INVIO,'2999-12-31'),112) + -- fine modifica del 24/7/2017 + ISNULL(ini.data_foto,cast('29991231' as datetime)) < @datacongelamento + -- fine modifica per segnalazione qc (Diacci) su cf ‘BRBRRT58P21I633Q/S’ in simulazione Dicembre 2017 + -- INI.RETE = @Rete AND + -- INI.COD_FISCALE = @CodiceFiscale + UNION ALL + -- Precedente invio report + SELECT + INI.RETE, + INI.Cod_Fiscale, + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + rep.CTV_EXT, + rep.CTV_INV, + rep.CTV_PRE, + rep.CTV_RIS, + rep.CTV_LIQ, + -- aggiunta del 19-10-2020 per il calcolo delle percentuali delle varie aree della piramide + --case (rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ) when 0 then 0 else cast((rep.ctv_ext / (rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ) * 100) as decimal(18,2)) + --end as PERC_EXT, + --case (rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ) when 0 then 0 else cast((rep.CTV_INV / (rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ) * 100) as decimal(18,2)) + --end as PERC_INV, + --case (rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ) when 0 then 0 else cast((rep.CTV_PRE / (rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ) * 100) as decimal(18,2)) + --end as PERC_PRE, + --case (rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ) when 0 then 0 else cast((rep.CTV_RIS / (rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ) * 100) as decimal(18,2)) + --end as PERC_RIS, + --case (rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ) when 0 then 0 else cast((rep.CTV_LIQ / (rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ) * 100) as decimal(18,2)) + --end as PERC_LIQ, + isnull(mode.PERC_EXT,0.00) as PERC_EXT, + isnull(mode.PERC_INV,0.00) as PERC_INV, + isnull(mode.PERC_PRE,0.00) as PERC_PRE, + isnull(mode.PERC_RIS,0.00) as PERC_RIS, + isnull(mode.PERC_LIQ,0.00) as PERC_LIQ, + -- fine aggiunta del 19-10-2020 + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ AS RisorseAllocate, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA AS RisorseFinanziarie, + rep.CTV_CC AS Contocorrente, + --Contocorrente = CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END, +--INIZIO INTERVENTI OMNIA + isnull(rep.CTV_SELF,0) AS CTV_SELF, + -- 20181206 MIOFOGLIO + --rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.CTV_SELF,0) + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.CTV_SELF,0) + ISNULL(rep.CTV_SELF_FOGLIO,0) + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + -- fine 20181206 MIOFOGLIO +--FINE INTERVENTI OMNIA +--ToDo Fc +-- ,(CASE WHEN @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovPrec END) as DettMov +-- ,(CASE WHEN @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiPrec END) as NumeroAsterischiNota + ,null as DettMovS80 + ,null as DettMovS129 + ,0 as NumeroAsterischiNota + ,0 as sommaproventi + -- 20181206 MIOFOGLIO + ,isnull(rep.CTV_SELF_FOGLIO,0) AS CTV_SELF_FOGLIO + -- fine 20181206 MIOFOGLIO + FROM + --C6MartPeriodico.MONITORAGGIO_INIZIALE INI + [C6MartPeriodico].[MONITORAGGIO_INIZIALE] INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + left join C6StagingPeriodico.Popola_PiramideModello mode + on rtrim(ltrim(ini.rete)) = rtrim(ltrim(mode.rete)) and + rtrim(ltrim(ini.cod_fiscale)) = rtrim(ltrim(mode.cod_fiscale)) and + rtrim(ltrim(rep.DATA_INVIO)) = rtrim(ltrim(mode.data_foto)) + --rtrim(ltrim(convert(varchar,rep.DATA_INVIO,105))) = rtrim(ltrim(convert(varchar,mode.data_foto,105))) + WHERE + -- modifica del 24/7/2017 per gestire le situazioni limite dell'avvio monitoraggio a cavallo tra 2 trim (vedi segnalazione + -- del qc su cf F/TRRLDA52D04G190A) + --INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + CONVERT(varchar,ini.data_foto,112) <= convert(varchar,ISNULL(rep.DATA_INVIO,'2999-12-31'),112) + -- fine modifica del 24/7/2017 + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + --All values will be read from DB and passed to code, no value will be calculated on code + select t.rete,t.cod_fiscale,t.Fase,t.DataFase,t.Partita_viaggiante,t.CTV_EXT,t.CTV_INV, + t.CTV_PRE,t.CTV_RIS,t.CTV_LIQ, + t.PERC_EXT,t.PERC_INV,t.PERC_PRE,t.PERC_RIS,t.PERC_LIQ,t.CTV_RA,t.CTV_NA, + t.CTV_RF,t.CTV_CC,t.CTV_SELF,t.TotalePatrimonio,t.DettMovS80,t.DettMovS129,t.NumeroAsterischiNota,t.sommaproventi,t.CTV_SELF_FOGLIO + from c6martperiodico.TB_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3 t +-- select count(*) from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc + --fix data 17/12/2020 + --sezione che storicizza le percentuali dell'ultima elaborazione se non sono già presenti nella tabella. + --commentare in fase di simulazione + --insert into C6StagingPeriodico.Popola_PiramideModello + --select Rete, + -- Cod_fiscale, + -- DataFase as Data_foto, + -- PERC_EXT, + -- PERC_INV, + -- PERC_PRE, + -- PERC_RIS, + -- PERC_LIQ + -- from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc where fase = 3 + -- and rtrim(ltrim(rete))+rtrim(ltrim(cod_fiscale))+rtrim(ltrim(convert(varchar,dataFase,105))) not in + -- (select distinct(rtrim(ltrim(rete))+rtrim(ltrim(cod_fiscale))+rtrim(ltrim(convert(varchar,data_foto,105)))) + -- from C6StagingPeriodico.Popola_PiramideModello) + --fine fix 17/12/2020 +update s80 +set DettMovS80 = case when dettmov.DETT_MOV_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_PREC as varchar(50)), '.', ',') +end , +DettMovS129 = case when dettmov.DETT_MOV_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_PREC as varchar(50)), '.', ',') +end +from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc s80 +inner join C6MartPeriodico.DettaglioMovimenti DettMov +on s80.rete = dettmov.rete and dettmov.COD_FIS = s80.COD_FIScale +where s80.fase=2 +update s80 +set DettMovS80 = case when dettmov.DETT_MOV_CORR is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_CORR as varchar(50)), '.', ',') +end , +DettMovS129 = case when dettmov.DETT_MOV_TRIMESTRE_PREC is null + then 'n.d.' + else REPLACE(CAST(dettmov.DETT_MOV_TRIMESTRE_PREC as varchar(50)), '.', ',') +end +from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc s80 +inner join C6MartPeriodico.DettaglioMovimenti DettMov +on s80.rete = dettmov.rete and dettmov.COD_FIS = s80.COD_FIScale +where s80.fase=3 +--forzatura +--update C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc +--set dettmovS80='189050.93' +--where Cod_Fiscale='BNBLPL51M05F965Y' +--and fase=2 +--update C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc +--set dettmovS80='-15081.46' +--where Cod_Fiscale='BNBLPL51M05F965Y' +--and fase=3 +--fine forzatura +--update S129 +--set DettMovS129 = case when dettmov.DETT_MOV_TRIMESTRE_PREC is null +-- then 'n.d.' +-- else REPLACE(CAST(dettmov.DETT_MOV_TRIMESTRE_PREC as varchar(50)), '.', ',') +--end +--from C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio S129 +--inner join C6MartPeriodico.DettaglioMovimenti DettMov +--on S129.rete = dettmov.rete and dettmov.COD_FIS = S129.COD_FIScale +--where S129.fase=3 +declare @TimecPRec varchar(8) +set @TimecPRec = c6martperiodico.getprevioustrimestre(getdate(),0) +update s80x +set NumeroAsterischiNota = +case +when ws.CODFIS is null + then 0 +else 1 +end +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc s80x +left join [C6StagingPeriodico].[WSEICS] ws +on s80x.rete = ws.rete and ws.CODFIS = s80x.COD_FIScale +WHERE CODPROD IN ('37', 'GP') AND DTTRIM = @TimecPRec AND s80x.fase = 2 +update s80x +set NumeroAsterischiNota = +case +when ws.COD_FISCALE is null + then 0 +else 1 +end +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc s80x +left join C6MartPeriodico.PATRIMONIO_BF ws +on s80x.rete = ws.rete and ws.COD_FISCALE = s80x.COD_FIScale +WHERE COD_INTERNO IN ('37', 'GP') AND s80x.fase = 3 +SELECT top 1 * FROM C6MartPeriodico.PATRIMONIO_BF + -- WHERE COD_INTERNO IN ('37', 'GP') + -- AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale +SELECT rete,Cod_Fiscale,sum(IMPORTO) sommaProventi +into #SommaProventi +FROM [C6MartPeriodico].proventi +--where rete='F' and Cod_Fiscale='DLLLCU62T60G408A' +group by rete,Cod_Fiscale +update s80x +set s80x.sommaproventi = sp.sommaproventi +FROM C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio_perc s80x +left join #SommaProventi sp +on s80x.rete = sp.rete and sp.Cod_Fiscale = s80x.COD_FIScale +--pezzotto 20240702 +insert into [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio_perc] + select * + FROM [C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio_perc_pez] +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3.sql b/sql/storedTestbes/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3.sql new file mode 100644 index 00000000..6cba81b7 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3.sql @@ -0,0 +1,142 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +CREATE procedure [C6MartPeriodico].[Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3] +-- Add the parameters for the stored procedure here +AS +begin +DECLARE @DataCongelamento DATETIME + --DECLARE @DettMovPrec money + --DECLARE @DettMovCorr money + --DECLARE @AppoDettMovPrec varchar(50) + --DECLARE @AppoDettMovCorr varchar(50) + --DECLARE @NumAsterischiPrec int + --DECLARE @NumAsterischiCorr int + --SET @NumAsterischiPrec = 0 + --SET @NumAsterischiCorr = 0 + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() +drop table if exists c6martperiodico.TB_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3 +SELECT + rete, + cod_fiscale, + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + --Get the sum Operazioni in corso + --sum((isnull(IMPORTO,0))) as Partita_viaggiante, + 0 as Partita_viaggiante, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) as CTV_EXT, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) as CTV_INV, + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) as CTV_PRE, + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end ) as CTV_PRE, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) as CTV_RIS, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) as CTV_LIQ, + -- aggiunta del 19-10-2020 per il calcolo delle percentuali delle varie aree della piramide + -- case + -- when (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) = 0 + -- then 0.0 + -- else + -- sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) / (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) * 100 + --end as PERC_EXT, + --case + -- when (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) = 0 + -- then 0.0 + -- else + -- sum(case Upper(id_area) when 'INV' then ctv else 0 end ) / (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) * 100 + --end as PERC_INV, + --case + -- when (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) = 0 + -- then + -- 0.0 + -- else + -- sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) / (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) * 100 + --end as PERC_PRE, + --case + -- when (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) = 0 + -- then + -- 0.0 + -- else + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) / (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) * 100 + --end as PERC_RIS, + --case + -- when (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) = 0 + -- then + -- 0.0 + -- else + -- sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) / (sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + -- sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )) * 100 + --end as PERC_LIQ, + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Ext'),0.00) as PERC_EXT, + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Inv'),0.00) as PERC_INV, + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Pre'),0.00) as PERC_PRE, + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Ris'),0.00) as PERC_RIS, + --isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Liq'),0.00) as PERC_LIQ, + -- fine aggiunta del 19-10-2020 + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS CTV_RA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as CTV_NA, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS CTV_RF, + --CTV_CC = (Case WHEN sum(case Upper(id_area) when 'CC' then ctv else 0 end ) < 0 THEN sum(case Upper(id_area) when 'CC' then ctv else 0 end) ELSE 0 END), + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS CTV_CC, + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS CTV_CC, +--INIZIO INTERVENTI OMNIA + -- 20181206 MIOFOGLIO + sum(case when upper(id_area) = 'SELF' and cod_interno = 'XY' then ctv else 0 end) as CTV_SELF, + --sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS CTV_SELF, + -- fine 20181206 MIOFOGLIO + -- aggiunta del 19-10-2020 per il calcolo delle percentuali delle varie aree della piramide +--FINE INTERVENTI OMNIA + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end )+ + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) + +--INIZIO INTERVENTI OMNIA + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) + sum(Case Upper(id_area) when 'self' then ctv else 0 end) AS TotalePatrimonio +--FINE INTERVENTI OMNIA + --ToDo Fc + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + --,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiCorr END) as NumeroAsterischiNota + ,null as DettMovS80 + ,null as DettMovS129 + ,0 NumeroAsterischiNota + ,0 as sommaproventi + -- 20181206 MIOFOGLIO + ,sum(case when upper(id_area) = 'SELF' and cod_interno = 'FO' then ctv else 0 end) as CTV_SELF_FOGLIO + -- fine 20181206 MIOFOGLIO + into #temp + FROM + C6MartPeriodico.PATRIMONIO_BF + group by rete,cod_fiscale + select t.rete,t.cod_fiscale,t.Fase,t.DataFase,t.Partita_viaggiante,t.CTV_EXT,t.CTV_INV, + t.CTV_PRE,t.CTV_RIS,t.CTV_LIQ, + p.PERC_EXT,p.PERC_INV,p.PERC_PRE,p.PERC_RIS,p.PERC_LIQ,t.CTV_RA,t.CTV_NA, + t.CTV_RF,t.CTV_CC,t.CTV_SELF,t.TotalePatrimonio,t.DettMovS80,t.DettMovS129,t.NumeroAsterischiNota,t.sommaproventi,t.CTV_SELF_FOGLIO + into c6martperiodico.TB_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase3 + from #temp t inner join C6MartPeriodico.tb_patrimonio_bf_percentuale_piramide p on t.RETE+t.COD_FISCALE=p.rete+p.cod_fiscale +-- select * from C6MartPeriodico.TB_Popola_S80_S129_EvoluzioneCTVPatrimonio_percentuale_Fase_tre +--select * from C6MartPeriodico.tb_patrimonio_bf_percentuale_piramide +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popola_TB_S180ProdottiComplessitaAlta.sql b/sql/storedTestbes/C6MartPeriodico_Popola_TB_S180ProdottiComplessitaAlta.sql new file mode 100644 index 00000000..db084abc --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popola_TB_S180ProdottiComplessitaAlta.sql @@ -0,0 +1,41 @@ +-- ============================================= +-- Author: <> +-- Create date: <> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[Popola_TB_S180ProdottiComplessitaAlta] + -- Add the parameters for the stored procedure here + --@Rete char(1), + --@CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +truncate table C6MartPeriodico.TB_S180ProdottiComplessitaAlta +INSERT INTO [C6MartPeriodico].[TB_S180ProdottiComplessitaAlta] + ([Rete] + ,[Cod_fiscale] + ,[Codman] + ,[Ordine] + ,[CodiceContratto] + ,[NomeProdotto] + ,[Controvalore] + ,[Compl_Base] + ,Percentuale_CTV) +SELECT distinct + rete, + case when codman<>'' then 'FF@'+trim(codman) else trim(codfis) end as Cod_Fiscale, + trim(codman), + 1, --ordine viene impostato a un valore fisso perché al momento non lo gestiamo + trim(codconf), + trim(descprod), + ctv, + case when compl='H' then 4 + when compl='MH' then 3 + when compl='ML' then 2 end as Complessita, + PERCCTV +FROM +[C6StagingPeriodico].[WSEIAD2] wsei +WHERE 1=1 + and DTTRIM = @DataFineTrim +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popolamento_RP_W6CLIREP.sql b/sql/storedTestbes/C6MartPeriodico_Popolamento_RP_W6CLIREP.sql new file mode 100644 index 00000000..d0073897 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popolamento_RP_W6CLIREP.sql @@ -0,0 +1,182 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[Popolamento_RP_W6CLIREP] +AS +BEGIN + SET NOCOUNT ON; + --dichiaro variabile data di trimestrale + DECLARE @dttrim int + --valorizzo la data di trimestrale al giorno del congelamento + set @dttrim = CAST(CONVERT(varchar, CAST(C6MartPeriodico.getDataCongelamento() as DATETIME),112) as int) + --print @dttrim + --Tronchiamo la tabella RP_vTuttiIPortafogli_Aladdin_tab e la ripopoliamo + --a partire dalla vista RP_vTuttiIPortafogli_Aladdin + Truncate table C6StampeCentralizzate.C6MartPeriodico.w6clirep + -- + insert into C6StampeCentralizzate.C6MartPeriodico.w6clirep + select + '6' as FLGCLI , + 'M' as FLGBL , + 'A' as TIPOELA, + @dttrim as DTTRIM, + rete, + codfis, + piva, + codman, + '' as CODFID, + '' as CODAGE, + CASE + WHEN cod_interno not in ('SINT3MEUR','SINT6MEUR','09560690') and famprodt = 'DT' THEN isnull(cod_interno,'') --aggiunta SINT6MEUR 10/03/2023 + ELSE '' + END as CODABI, + ISNULL(termid,00000000), + cast(annos as int) as anno , + case when famprodt='GE' then 00000000 --aggiunta con else sotto + else cast(progs as int) end as prog , + 0 as quote, + cast(ctvreale as float) as CTV, + codconf, --17 + rubr, + custgar, + ISNULL(cod_interno,''), + '' as codana, + CASE + WHEN cast(annos as int) <> 0 and cast(progs as int) <> 0 then 'S' + ELSE 'N' + END as FLAGPCT, + --CASE + -- WHEN famprodt <> 'DT' and famprodt <> 'CC' THEN isnull(cod_interno,'') + -- ELSE '' + --END + '' as codprod, + ISNULL(cod_sottoprodotto,''), + ISNULL(cod_isin,''), + '' as codlinea, + tipoptf, + area, + progetto, + codprj, + ISNULL(chiave_prodotto_terzi,''), + ISNULL(assetterzi,''), + ISNULL(famprodt,''), + ISNULL(intermediario,''), + ISNULL(codiceadeguatezza,''), + ISNULL(cod_maf,''), + conto, + numpolizza, + position_id, + --aggiunta 08/06/2022 + '' as PREFSOST, + '' as FLAGAMB, + '' as FLAGSOC, + '' as FLAGGOV, + Prodotto_id + from [C6StampeCentralizzate].[C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin] + --aggiunta informazioni codabi per i prodotti PCT +SELECT [DTTRIM] + ,[DTRIFE] + ,ltrim(rtrim([RETE])) as rete + ,ltrim(rtrim([CODFIS])) as codfis + ,ltrim(rtrim([CODCONF])) as codconf + ,[NUMPOL] + ,ltrim(rtrim([CONTO])) as conto + ,[RUBR] + ,[CUSTGAR] + ,ltrim(rtrim([TIPPROD])) as tipprod + ,ltrim(rtrim([CODINT])) as codint + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[QUOTE] + ,ltrim(rtrim([CODMAN])) as codman + ,[SALRISC] + ,[ATTIVO] + into #PCT --selezioniamo dalla wseics i soli clienti possessori di un pct in portafoglio + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[wseics] WHERE CODABI <> '' + and pctKey <> '' + and dttrim = (Select Max(dttrim) from [C6StampeCentralizzate].[C6StagingPeriodico].[wseics]) + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + set codabi = pct.codabi + --select w6.rete,pct.rete,w6.codfis,w6.piva,pct.codfis,w6.codman,pct.codman,w6.conto,pct.conto,w6.codconf,pct.codconf,pct.codabi + --, pct.tipprod,w6.famprodt + from #PCT pct + left join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] as w6 + on w6.rete=pct.rete and w6.codfis+w6.piva+w6.codman = ltrim(rtrim(pct.codfis))+ltrim(rtrim(pct.codman)) + and w6.codconf=ltrim(rtrim(pct.codconf)) and w6.conto=ltrim(rtrim(pct.conto)) and w6.famprodt = ltrim(rtrim(pct.tipprod)) + where w6.flagpct = 'S' + -- Aggiungiamo le informazioni mancanti per il codman piva_fiduciaria + select b.cod_mandato,b.rete,b.piva_fiduciaria into + #tab + FROM + [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] a + inner join (select distinct rete,cod_mandato,piva_fiduciaria from [C6StampeCentralizzate].[C6StagingPeriodico].[APPO_CONTRATTI_V] where cod_mandato<>'') b + on a.rete= b.rete and isnull(a.codman,'')=isnull(b.cod_mandato,'') + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + set piva = piva_fiduciaria + from #tab tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] as a + on a.rete= tab.rete and isnull(a.codman,'')=isnull(tab.cod_mandato,'') + --1 update per CF + update [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + set codage = appo.cod_agente + from c6stagingperiodico.appo_contratti appo + left join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] w + on w.rete= appo.rete and isnull(w.codfis,'') = isnull(appo.cod_fiscale,'') + --2 update per Piva + update [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + set codage = appo.cod_agente + from c6stagingperiodico.appo_contratti appo + left join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] w + on w.rete= appo.rete and isnull(w.piva,'') = isnull(appo.cod_fiscale,'') + where w.piva <> '' + --3 update per Fiduciaria + update [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + set codage = appo.cod_agente + from c6stagingperiodico.appo_contratti appo + left join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] w + on w.rete= appo.rete and 'FF@'+(isnull(w.codman,'')) = isnull(appo.cod_fiscale,'') + where w.codman <> '' + --update per inserire le informazioni del codana del cliente + update [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + set codana = wp.codana + FROM [C6StagingPeriodico].[WANVIPS] wp + left join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] w + on w.rete = wp.rete and w.codfis+w.piva+w.codman = ltrim(rtrim(wp.codfis))+ltrim(rtrim(wp.codman)) + update [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + set cod_isin='' + where cod_interno in ('KB', 'KC', 'KG', 'KJ', 'KI', 'KD', 'KF', 'KL', 'KN', 'KO', 'KE', 'KS') and len(cod_isin)<12 + --eliminazione righe duplicate per API ma le teniamo in una tb di Recupero per eventuali analisi + truncate table [C6MartPeriodico].[W6CLI_REK] + insert into [C6MartPeriodico].[W6CLI_REK] + select * + from [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] where tipoptf = 'TIPOPRODTERZI|TERZI' + delete from + [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] where tipoptf = 'TIPOPRODTERZI|TERZI' + update C6MartPeriodico.W6CLIREP + set PREFSOST= case when an.prefsost='S' then 1 else 0 end,FLAGAMB=case when an.flagamb='S' then 'Y' else 'N' end , + FLAGSOC=case when an.flagsoc='S' then 'Y' else 'N' end, FLAGGOV=case when an.flaggov='S' then 'Y' else 'N' end + from C6stagingPeriodico.wseian2 an left join C6MartPeriodico.W6CLIREP w + on w.rete = an.rete and w.codfis+w.piva+w.codman = ltrim(rtrim(an.codfis))+ltrim(rtrim(an.codman)) + where an.DTTRIM=@dttrim + update C6MartPeriodico.W6CLIREP + set cod_interno=cod_isin + where termid in ('BDR20000','TDV20000') + update C6MartPeriodico.W6CLIREP + set PRODOTTO_ID='$' + where Prodotto_ID='PRODOTTO NON IN CATALOGO' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Popolamento_RP_vTuttiIPortafogli_Aladdin_tab.sql b/sql/storedTestbes/C6MartPeriodico_Popolamento_RP_vTuttiIPortafogli_Aladdin_tab.sql new file mode 100644 index 00000000..bc03490b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Popolamento_RP_vTuttiIPortafogli_Aladdin_tab.sql @@ -0,0 +1,79 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[Popolamento_RP_vTuttiIPortafogli_Aladdin_tab] +AS +BEGIN + SET NOCOUNT ON; + --dichiaro variabile data di trimestrale + DECLARE @dttrim int + --valorizzo la data di trimestrale al giorno del congelamento + set @dttrim = CAST(CONVERT(varchar, CAST(C6MartPeriodico.getDataCongelamento() as DATETIME),112) as int) + --Tronchiamo la tabella RP_vTuttiIPortafogli_Aladdin_tab e la ripopoliamo + --a partire dalla vista RP_vTuttiIPortafogli_Aladdin + Truncate table C6StampeCentralizzate.C6MartPeriodico.RP_vTuttiIPortafogli_Aladdin_tab + -- + insert into C6StampeCentralizzate.C6MartPeriodico.RP_vTuttiIPortafogli_Aladdin_tab + select + '6' as FLGCLI , + 'M' as FLGBL , + 'B' as TIPOELA, + @dttrim as DTTRIM, + rete, + codfis, + piva, + codman, + '' as CODFID, + '' as CODAGE, + CASE + WHEN cod_interno <> 'SINT3MEUR' and famprodt = 'DT' THEN isnull(cod_interno,'') + ELSE '' + END as CODABI, + ISNULL(termid,00000000), + cast(annos as int) as anno , + cast(progs as int) as prog , + 0 as quote, + cast(ctvreale as float) as CTV, + codconf, --17 + rubr, + custgar, + ISNULL(cod_interno,''), + '' as codana, + '' as FLAGPCT, + --CASE + -- WHEN famprodt <> 'DT' and famprodt <> 'CC' THEN isnull(cod_interno,'') + -- ELSE '' + --END + '' as codprod, + ISNULL(cod_sottoprodotto,''), + ISNULL(cod_isin,''), + '' as codlinea, + tipoptf, + area, + progetto, + codprj, + ISNULL(chiave_prodotto_terzi,''), + ISNULL(assetterzi,''), + ISNULL(famprodt,''), + ISNULL(intermediario,''), + ISNULL(codiceadeguatezza,''), + ISNULL(cod_maf,''), + conto, + numpolizza, + position_id + from [C6StampeCentralizzate].[C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin] + -- Aggiungiamo le informazioni mancanti per il codman piva_fiduciaria + select b.cod_mandato,b.rete,b.piva_fiduciaria into + #tab + FROM + [C6StampeCentralizzate].[C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin_tab] a + inner join (select distinct rete,cod_mandato,piva_fiduciaria from [C6StampeCentralizzate].[C6StagingPeriodico].[APPO_CONTRATTI_V] where cod_mandato<>'') b + on a.rete= b.rete and isnull(a.codman,'')=isnull(b.cod_mandato,'') + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin_tab] + set piva = piva_fiduciaria + from #tab tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin_tab] as a + on a.rete= tab.rete and isnull(a.codman,'')=isnull(tab.cod_mandato,'') +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_ProfiloScaduto_Campione.sql b/sql/storedTestbes/C6MartPeriodico_ProfiloScaduto_Campione.sql new file mode 100644 index 00000000..376a790f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_ProfiloScaduto_Campione.sql @@ -0,0 +1,19 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[ProfiloScaduto_Campione] + -- Add the parameters for the stored procedure here +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT c.rete as Rete, c.cod_fiscale as [Codice Fiscale], flag_stampa +FROM [C6MartPeriodico].[TB_Campione] c +INNER JOIN C6MartPERIODICO.MIFID m +ON c.cod_fiscale = m.COD_FISCALE +WHERE m.SCADUTO <> 0 + -- Insert statements for procedure here +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RESTART_CONTROLLO_TRIMESTRALE.sql b/sql/storedTestbes/C6MartPeriodico_RESTART_CONTROLLO_TRIMESTRALE.sql new file mode 100644 index 00000000..068ad326 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RESTART_CONTROLLO_TRIMESTRALE.sql @@ -0,0 +1,25 @@ +-- Stored procedure +CREATE procedure [C6MartPeriodico].[RESTART_CONTROLLO_TRIMESTRALE] +AS +BEGIN +INSERT INTO C6MARTPERIODICO.CONTROLLO_TRIMESTRALE + --SELECT DISTINCT COD_FISCALE, RETE, FLAG_DIAGNOSI, NULL, NULL, 1, NULL, getdate() FROM C6MARTPERIODICO.CONTROLLO_TRIMESTRALE WHERE STATO_REPORT=7 +select distinct cod_Fiscale,b.rete, flag_diagnosi,null,null,1,null,getdate() +from --c6martperiodico.gestione_pdf_ftp a +--join +c6martperiodico.controllo_trimestrale b +--on a.rete=b.rete and a.codiceFiscale = b.cod_fiscale +--where id_fk_zip = 353 +--and +where b.rete+b.cod_Fiscale in (select distinct rete + codiceFiscale from c6martperiodico.excludedlist where bloccato = 0) +--where bloccato = 1) +and stato_report < 20 and stato_report >= 4 +END +-- +--select count(*),stato_report +--from c6martperiodico.controllo_trimestrale +--group by stato_report +-- +--select * from c6martperiodico.controllo_trimestrale +--where cod_fiscale = 'BBBRFL74M50C573M' +--where stato_report = 7 \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RFA_SEGNALATI_SP.sql b/sql/storedTestbes/C6MartPeriodico_RFA_SEGNALATI_SP.sql new file mode 100644 index 00000000..f299c32c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RFA_SEGNALATI_SP.sql @@ -0,0 +1,16 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: Aggiunta chiave primaria autoincrement su tabella di staging +-- per eliminazione duplicati. +-- ============================================= +CREATE procedure [C6MartPeriodico].[RFA_SEGNALATI_SP] +AS +BEGIN +SET NOCOUNT ON; +INSERT INTO [C6MartPeriodico].[ExcludedList] +(Rete,codicefiscale,DescrErr,DataIns,Bloccato) +select rfa.rete,rfa.codfis,'DESCR_ANOM_VP',getdate(),'1' +from [C6MartPeriodico].RFA_SEGNALATI as rfa +END +--select count(*) from c6martperiodico.mifid \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RM_Sintesi_Cliente.sql b/sql/storedTestbes/C6MartPeriodico_RM_Sintesi_Cliente.sql new file mode 100644 index 00000000..2fa6b4ff --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RM_Sintesi_Cliente.sql @@ -0,0 +1,28 @@ +-- [C6Mart].[RM_Sintesi_Cliente] 179 +CREATE procedure [C6MartPeriodico].[RM_Sintesi_Cliente] + @IdReport INT +AS +BEGIN + SET NOCOUNT ON; + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS NomeCognome, + ANAG_CLIENTI.DATA_NASCITA AS DataNascita, + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + ISNULL(CONTRATTOSEI.INDIRIZZO,'') + ' ' + + ISNULL(CONTRATTOSEI.CAP,'') + ' ' + + ISNULL(CONTRATTOSEI.CITTA,'') + + CASE + WHEN CONTRATTOSEI.PROV IS NULL THEN '' + ELSE ' (' + CONTRATTOSEI.PROV + ')' + END AS IndirizzoDiContratto, + isnull(CONTRATTOSEI.PRESSO,'') AS Presso + FROM C6MARTPERIODICO.GESTIONE_PDF_FTP + INNER JOIN C6MART.CONTRATTOSEI + ON CONTRATTOSEI.RETE = GESTIONE_PDF_FTP.RETE + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CODICEFISCALE + INNER JOIN C6MARTPERIODICO.ANAG_CLIENTI + ON ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + WHERE GESTIONE_PDF_FTP.IDREPORT = @IdReport +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_AggiornaFlagContratto.sql b/sql/storedTestbes/C6MartPeriodico_RP_AggiornaFlagContratto.sql new file mode 100644 index 00000000..8bccb108 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_AggiornaFlagContratto.sql @@ -0,0 +1,119 @@ +--select * from C6MartPeriodico.CONTRATTOSEI_METADATI +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[RP_AggiornaFlagContratto] +AS +BEGIN +-- SET NOCOUNT ON added to prevent extra result sets from +-- interfering with SELECT statements. +-- SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_AggiornaFlagContratto', + GETDATE(), + 'Elaborazione giornaliera' + ) +/* +select top 1 * +from C6MartPeriodico.CONTRATTOSEI_METADATI where risorseNa is null +*/ + --AGGIORNAMENTO TABELLA CONTRATTOSEI + --FLAG RISORSE NON ASSOCIATE + --SOLO PER I CLIENTI A CUI ANDREBBE INVIATO IL REPORT + UPDATE C6MartPeriodico.CONTRATTOSEI_METADATI + SET + RisorseNA = + CASE + WHEN CLIENTIRISNA.percRisorseNA >= CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2)) THEN 'S' + ELSE 'N' + END + --AGGIUNTA perchè mancava, FABRIZIO E VALERIO per Azzeramento numero solleciti email + ,NumSolleciti = + CASE + WHEN (C6.ClienteMigrato = 'S') and (CLIENTIRISNA.percRisorseNA < CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2))) THEN 0 + ELSE NumSolleciti + END + FROM C6MartPeriodico.CONTRATTOSEI_METADATI C6 + JOIN + C6MartPeriodico.VCONTRATTI VCONTR + ON + C6.CHIAVECLIENTEPB = VCONTR.CHIAVECLIENTEPB + LEFT JOIN ( + SELECT + NA.RETE, + NA.COD_FISCALE, + CASE + WHEN TOT.CTVTOTALE = 0 THEN 0 + ELSE 100 * NA.CTVNA / TOT.CTVTOTALE + END AS percRisorseNA + FROM ( + SELECT + ISNULL(SUM(PATRBF.CTV),0) AS CTVNA, + PATRBF.RETE, PATRBF.COD_FISCALE + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + --INNER JOIN C6MartPeriodico.RP_vTuttiIContratti VCONTRATTIPERSEI + -- ON PATRBF.RETE = VCONTRATTIPERSEI.RETE + -- AND PATRBF.COD_FISCALE = VCONTRATTIPERSEI.COD_FISCALE + WHERE ID_AREA = 'Na' + GROUP BY + PATRBF.RETE, PATRBF.COD_FISCALE + ) NA + INNER JOIN ( + SELECT + SUM(PATRBF.CTV) AS CTVTOTALE, + PATRBF.RETE, PATRBF.COD_FISCALE + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + WHERE ID_AREA <> 'Cc' + GROUP BY + PATRBF.RETE, PATRBF.COD_FISCALE + ) TOT + ON TOT.RETE = NA.RETE AND TOT.COD_FISCALE = NA.COD_FISCALE + ) CLIENTIRISNA + ON VCONTR.RETE = CLIENTIRISNA.RETE + AND VCONTR.COD_FISCALE = CLIENTIRISNA.COD_FISCALE + WHERE C6.InvioBenvenuto = 'N' + --V Aggiorna il flag Profilo Attivo per i clienti che non hanno ricevuto il report + UPDATE C6MartPeriodico.CONTRATTOSEI_METADATI + SET profiloAttivo = CASE WHEN (ISNULL(MIFID.SCADUTO,1) = 1) THEN 0 ELSE 1 end + FROM C6MartPeriodico.CONTRATTOSEI_METADATI + JOIN C6MartPeriodico.VCONTRATTI + ON VCONTRATTI.CHIAVECLIENTEPB = CONTRATTOSEI_METADATI.CHIAVECLIENTEPB + LEFT JOIN C6MartPeriodico.MIFID + --ON CONTRATTOSEI_METADATI.chiaveClientePB = MIFID.chiaveClientePB + ON MIFID.RETE = VCONTRATTI.RETE + AND MIFID.COD_FISCALE = VCONTRATTI.COD_FISCALE + WHERE InvioBenvenuto = 'N' +--select * from C6MartPeriodico.VCONTRATTI + --V Aggiorna i dati di migrazione + UPDATE C6MartPeriodico.CONTRATTOSEI_METADATI + SET clienteMigrato = + case when (C6Staging.RP_Migraz_Pianificazione.chiaveClientePB is null) then 'N' + else 'S' + END + FROM C6MartPeriodico.CONTRATTOSEI_METADATI + LEFT JOIN C6Staging.RP_Migraz_Pianificazione + ON CONTRATTOSEI_METADATI.chiaveClientePB = C6Staging.RP_Migraz_Pianificazione.chiaveClientePb + WHERE InvioBenvenuto = 'N' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_AggiornaFlagContratto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_AggiornaFlagContratto' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CC_TERZI.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CC_TERZI.sql new file mode 100644 index 00000000..6c3d4937 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CC_TERZI.sql @@ -0,0 +1,105 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CC_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + --DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + --SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CC_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CC_TERZI + INSERT INTO [C6MartPeriodico].[ANAG_CC_TERZI] + ( +-- chiaveClientePB +-- , + [RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDO] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB]) + --Tutti i ContiCorrenti Terzi non a catalogo + SELECT +-- VCONTRATTI.chiaveclientepb, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + dettProdT.nomeIntermediario AS INTERMEDIARIO, + NULL AS COINTEST, + patrT.nomeProdotto AS COD_CC, + NULL AS FASCIA_CPP, + patrT.ctv AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + --INTO C6MartPeriodico.ANAG_CC_TERZI + FROM + C6StagingPeriodico.RP_PatrimonioTerzi patrT, + C6StagingPeriodico.RP_DettProdottiTerzi dettProdT, + C6StagingPeriodico.RP_AnAlberatura alber, + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] as VCONTRATTI + WHERE + dettProdT.Alberatura = alber.Alberatura + AND dettProdT.chiaveProdotto IS NULL + AND patrT.chiaveProdottoTerzi = dettProdT.chiaveProdottoTerzi + AND patrT.chiaveClientePB = VCONTRATTI.chiaveClientePB + AND alber.Livello3= 'Conti correnti' + AND patrT.tipoProd= 'Assets.FinancialAssets.CurrentAccount' + UNION ALL + --'Conti Correnti Terzi in catalogo' + SELECT +-- VCONTRATTI.chiaveclientepb, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + dettProdT.nomeIntermediario AS INTERMEDIARIO, + NULL AS COINTEST, + patrT.nomeProdotto AS COD_CC, + NULL AS FASCIA_CPP, + patrT.ctv AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + FROM + C6StagingPeriodico.RP_PatrimonioTerzi patrT, + C6StagingPeriodico.RP_DettProdottiTerzi dettProdT, + C6StagingPeriodico.RP_CatalogoProdotti catprod, + C6Mart.VCONTRATTI + WHERE + patrT.chiaveProdottoTerzi = dettprodT.chiaveProdottoTerzi + AND patrT.chiaveClientePB = VCONTRATTI.chiaveClientePB + AND dettprodT.ChiaveProdotto IS NOT NULL + AND catprod.ChiaveProdotto = dettprodT.ChiaveProdotto + AND catprod.TipoProdotto = 'CC' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ANAG_CC_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CC_TERZI_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CC_TERZI_pre_selective.sql new file mode 100644 index 00000000..6965e481 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CC_TERZI_pre_selective.sql @@ -0,0 +1,105 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CC_TERZI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + --DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + --SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CC_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CC_TERZI + INSERT INTO [C6MartPeriodico].[ANAG_CC_TERZI] + ( +-- chiaveClientePB +-- , + [RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDO] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB]) + --Tutti i ContiCorrenti Terzi non a catalogo + SELECT +-- VCONTRATTI.chiaveclientepb, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + dettProdT.nomeIntermediario AS INTERMEDIARIO, + NULL AS COINTEST, + patrT.nomeProdotto AS COD_CC, + NULL AS FASCIA_CPP, + patrT.ctv AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + --INTO C6MartPeriodico.ANAG_CC_TERZI + FROM + C6StagingPeriodico.RP_PatrimonioTerzi patrT, + C6StagingPeriodico.RP_DettProdottiTerzi dettProdT, + C6StagingPeriodico.RP_AnAlberatura alber, + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] as VCONTRATTI + WHERE + dettProdT.Alberatura = alber.Alberatura + AND dettProdT.chiaveProdotto IS NULL + AND patrT.chiaveProdottoTerzi = dettProdT.chiaveProdottoTerzi + AND patrT.chiaveClientePB = VCONTRATTI.chiaveClientePB + AND alber.Livello3= 'Conti correnti' + AND patrT.tipoProd= 'Assets.FinancialAssets.CurrentAccount' + UNION ALL + --'Conti Correnti Terzi in catalogo' + SELECT +-- VCONTRATTI.chiaveclientepb, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + dettProdT.nomeIntermediario AS INTERMEDIARIO, + NULL AS COINTEST, + patrT.nomeProdotto AS COD_CC, + NULL AS FASCIA_CPP, + patrT.ctv AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + FROM + C6StagingPeriodico.RP_PatrimonioTerzi patrT, + C6StagingPeriodico.RP_DettProdottiTerzi dettProdT, + C6StagingPeriodico.RP_CatalogoProdotti catprod, + C6Mart.VCONTRATTI + WHERE + patrT.chiaveProdottoTerzi = dettprodT.chiaveProdottoTerzi + AND patrT.chiaveClientePB = VCONTRATTI.chiaveClientePB + AND dettprodT.ChiaveProdotto IS NOT NULL + AND catprod.ChiaveProdotto = dettprodT.ChiaveProdotto + AND catprod.TipoProdotto = 'CC' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CC_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CC_TERZI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI.sql new file mode 100644 index 00000000..ef11c866 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI.sql @@ -0,0 +1,144 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CLIENTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE AS RETE, + [dbo].[FFCODICEFISCALE] (AL.CODFIS,AL.CODMAN,AL.PIVA)AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOMECLIENTE)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOMECLIENTE)) AS COGNOME, + ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + NULL AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + [dbo].[FFPIVA] (AL.CODMAN, AL.PIVA) AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODFIS,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_InfoCliente AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN2 CL + ON CL.RETE = AL.RETE + AND ( ltrim(rtrim(CL.CODFIS)) = CASE WHEN ISNULL(AL.CODFIS, '') = '' THEN AL.PIVA ELSE AL.CODFIS END ) + AND (ISNULL(CL.CODMAN, '') = ISNULL(AL.CODMAN, '')) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2) +--and al.codfis not in +--( +--'FF@8464', +--'LBRMRA73H15H501A', +--'FF@5134' +--) +------------------------------- +/* 20170409 rete + cf duplicato +--S SFRCLD60E12Z110N +--F TTLVNT44H04L746B +*/ + and AL.AGENTE is not null + and AL.chiaveclientePB != 2898828 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409.sql new file mode 100644 index 00000000..99292fb2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409.sql @@ -0,0 +1,137 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CLIENTI_20170409] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE AS RETE, + [dbo].[FFCODICEFISCALE] (AL.CODFIS,AL.CODMAN,AL.PIVA)AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOMECLIENTE)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOMECLIENTE)) AS COGNOME, + ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + NULL AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + [dbo].[FFPIVA] (AL.CODMAN, AL.PIVA) AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODFIS,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_InfoCliente AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN CL + ON CL.RETE = AL.RETE + AND ( ltrim(rtrim(CL.CODFIS)) = CASE WHEN ISNULL(AL.CODFIS, '') = '' THEN AL.PIVA ELSE AL.CODFIS END ) + AND (ISNULL(CL.CODMAN, '') = ISNULL(AL.CODMAN, '')) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN) +--and al.codfis not in +--( +--'FF@8464', +--'LBRMRA73H15H501A', +--'FF@5134' +--) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409_AGENTEisNotNull.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409_AGENTEisNotNull.sql new file mode 100644 index 00000000..4e18c418 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI_20170409_AGENTEisNotNull.sql @@ -0,0 +1,142 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CLIENTI_20170409_AGENTEisNotNull] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE AS RETE, + [dbo].[FFCODICEFISCALE] (AL.CODFIS,AL.CODMAN,AL.PIVA)AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOMECLIENTE)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOMECLIENTE)) AS COGNOME, + ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + NULL AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + [dbo].[FFPIVA] (AL.CODMAN, AL.PIVA) AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODFIS,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_InfoCliente AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN CL + ON CL.RETE = AL.RETE + AND ( ltrim(rtrim(CL.CODFIS)) = CASE WHEN ISNULL(AL.CODFIS, '') = '' THEN AL.PIVA ELSE AL.CODFIS END ) + AND (ISNULL(CL.CODMAN, '') = ISNULL(AL.CODMAN, '')) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN) +--and al.codfis not in +--( +--'FF@8464', +--'LBRMRA73H15H501A', +--'FF@5134' +--) +/* 20170409 rete + cf duplicato +--S SFRCLD60E12Z110N +--F TTLVNT44H04L746B +*/ + and AL.AGENTE is not null + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql new file mode 100644 index 00000000..a2512f1f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL.sql @@ -0,0 +1,261 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ( + [RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + distinct +-- tabNucleo.chiaveCliente, +-- tabNucleo.clienteConParentela AS chiaveClientePB, + VCONTRATTI.RETE AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + ISNULL(SPB_CLIENTI.NOME,CLI.nome) AS NOME, + ISNULL(SPB_CLIENTI.COGNOME,CLI.cognome) AS COGNOME, + ISNULL(tabNucleo.dtNascita,SPB_CLIENTI.DATADINASCITA) AS DATA_NASCITA, + --CASE + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Married' THEN 'Coniugato' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Single' THEN 'Libero' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Married' THEN 'Coniugata' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Single' THEN 'Libera' + -- ELSE NULL + --END AS STATO_CIVILE, + NULL AS STATO_CIVILE, + tabNucleo.componentiNucleo AS NUM_COMPONENTI, + tabFigli.numFigli AS NUM_FIGLI, + FLOOR(DateDiff(Day, ISNULL(tabNucleo.dtNascita,SPB_CLIENTI.DATADINASCITA), GetDate()) / 365.25) AS ETA, + NULL AS PARTITA_IVA, + SPB_CLIENTI.CITTADINANZA AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(SPB_INDIRIZZI.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(SPB_INDIRIZZI.CITTA, '') AS LOCALITA, + ISNULL(SPB_INDIRIZZI.PROVINCIA, '') AS PROVINCIA, + ISNULL(SPB_INDIRIZZI.CAP, '') AS CAP, + ISNULL(SPB_INDIRIZZI.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + VCONTRATTI.EMAIL AS E_MAIL, + SPB_CLIENTI.DATAATTIVAZIONECLIENTE AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + CASE + WHEN SUBSTRING(VCONTRATTI.COD_FISCALE,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + VCONTRATTI.COD_AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO [C6MartPeriodico].[RP_ANAG_CLIENTI] + FROM + C6Martperiodico.rp_VCONTRATTIpergenerazionereport VCONTRATTI + LEFT JOIN + (select + COUNT(*) as componentiNucleo, + chiaveClientePB1 as clienteConParentela, + cl.chiaveCliente, + cl.nome, + cl.cognome, + cl.dtNascita + from + C6staging.RP_Parentela p + inner join C6staging.RP_GradoParentela g + on p.idparentela = g.idparentela + inner join C6Staging.RP_ClientePB c + on c.chiaveClientePB = p.chiaveClientePB1 + inner join C6Staging.RP_Cliente cl + on c.chiaveCliente = cl.chiaveCliente + group by + chiaveClientePB1, cl.chiaveCliente, cl.nome, cl.cognome, cl.dtNascita) tabNucleo + ON + VCONTRATTI.chiaveClientePB = tabNucleo.clienteConParentela + LEFT JOIN + (select + COUNT(*) as numFigli, + chiaveClientePB1 as clienteConParentela, + cl.chiaveCliente, + cl.nome, + cl.cognome, + cl.dtNascita + from + C6staging.RP_Parentela p + inner join C6staging.RP_GradoParentela g + on p.idparentela = g.idparentela + inner join C6Staging.RP_ClientePB c + on c.chiaveClientePB = p.chiaveClientePB1 + inner join C6Staging.RP_Cliente cl + on c.chiaveCliente = cl.chiaveCliente + where + g.descParentela in ('Figlio','Figlia','Figlio del partner','figlia del partner') + group by + chiaveClientePB1, cl.chiaveCliente, cl.nome, cl.cognome, cl.dtNascita) tabFigli + ON + VCONTRATTI.chiaveClientePB = tabFigli.clienteConParentela + AND + tabFigli.clienteConParentela = tabNucleo.clienteConParentela + LEFT OUTER JOIN + C6STAGING.SPB_CLIENTI + ON + C6STAGING.SPB_CLIENTI.CODICERETE = VCONTRATTI.RETE + AND C6STAGING.SPB_CLIENTI.CODICEFISCALE = VCONTRATTI.COD_FISCALE + LEFT OUTER JOIN + C6STAGING.SPB_INDIRIZZI + ON + C6STAGING.SPB_INDIRIZZI.RETE = VCONTRATTI.RETE + AND C6STAGING.SPB_INDIRIZZI.CODICEFISCALE = VCONTRATTI.COD_FISCALE + JOIN + C6MART.CONTRATTOSEI_METADATI METADATI + ON + VCONTRATTI.CHIAVECLIENTEPB = METADATI.CHIAVECLIENTEPB + --Modifica del 12/6/2019 per evitare righe duplicate + join C6Staging.RP_ClientePB c + on c.chiaveclientepb = vcontratti.chiaveclientepb + --fine Modifica del 12/6/2019 + LEFT JOIN c6staging.RP_Cliente CLI + ON + VCONTRATTI.COD_FISCALE = CASE + WHEN (LEN(CLI.CODFIS) = 16) THEN CLI.CODFIS + WHEN (LEN(CLI.CODMAN) = 0 AND LEN(CLI.PIVA) > 0) THEN CLI.PIVA + ELSE 'FF@'+CODMAN + END + --Modifica del 12/6/2019 per evitare righe duplicate + and cli.chiavecliente = c.chiavecliente + --fine Modifica del 12/6/2019 +/* + SELECT + AL.RETE AS RETE, + [dbo].[FFCODICEFISCALE] (AL.CODFIS,AL.CODMAN,AL.PIVA)AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOMECLIENTE)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOMECLIENTE)) AS COGNOME, + ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + NULL AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + [dbo].[FFPIVA] (AL.CODMAN, AL.PIVA) AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODFIS,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_InfoCliente AL +-- LEFT JOIN C6STAGINGPERIODICO.WSEIAN CL +-- ON CL.RETE = AL.RETE +-- AND ( ltrim(rtrim(CL.CODFIS)) = CASE WHEN ISNULL(AL.CODFIS, '') = '' THEN AL.PIVA ELSE AL.CODFIS END ) +-- AND (ISNULL(CL.CODMAN, '') = ISNULL(AL.CODMAN, '')) +-- WHERE CL.DTTRIM = ( +-- SELECT MAX(DTTRIM) +-- FROM C6StagingPeriodico.WSEIAN +-- ) +*/ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL_20190612.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL_20190612.sql new file mode 100644 index 00000000..07f2df83 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL_20190612.sql @@ -0,0 +1,254 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL_20190612] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ( + [RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + distinct +-- tabNucleo.chiaveCliente, +-- tabNucleo.clienteConParentela AS chiaveClientePB, + VCONTRATTI.RETE AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + ISNULL(SPB_CLIENTI.NOME,CLI.nome) AS NOME, + ISNULL(SPB_CLIENTI.COGNOME,CLI.cognome) AS COGNOME, + ISNULL(tabNucleo.dtNascita,SPB_CLIENTI.DATADINASCITA) AS DATA_NASCITA, + --CASE + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Married' THEN 'Coniugato' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Single' THEN 'Libero' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Married' THEN 'Coniugata' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + -- WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + -- AND ALL_CF_PB.MARITALSTATUS = 'Single' THEN 'Libera' + -- ELSE NULL + --END AS STATO_CIVILE, + NULL AS STATO_CIVILE, + tabNucleo.componentiNucleo AS NUM_COMPONENTI, + tabFigli.numFigli AS NUM_FIGLI, + FLOOR(DateDiff(Day, ISNULL(tabNucleo.dtNascita,SPB_CLIENTI.DATADINASCITA), GetDate()) / 365.25) AS ETA, + NULL AS PARTITA_IVA, + SPB_CLIENTI.CITTADINANZA AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(SPB_INDIRIZZI.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(SPB_INDIRIZZI.CITTA, '') AS LOCALITA, + ISNULL(SPB_INDIRIZZI.PROVINCIA, '') AS PROVINCIA, + ISNULL(SPB_INDIRIZZI.CAP, '') AS CAP, + ISNULL(SPB_INDIRIZZI.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + VCONTRATTI.EMAIL AS E_MAIL, + SPB_CLIENTI.DATAATTIVAZIONECLIENTE AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + CASE + WHEN SUBSTRING(VCONTRATTI.COD_FISCALE,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + VCONTRATTI.COD_AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO [C6MartPeriodico].[RP_ANAG_CLIENTI] + FROM + C6Martperiodico.rp_VCONTRATTIpergenerazionereport VCONTRATTI + LEFT JOIN + (select + COUNT(*) as componentiNucleo, + chiaveClientePB1 as clienteConParentela, + cl.chiaveCliente, + cl.nome, + cl.cognome, + cl.dtNascita + from + C6staging.RP_Parentela p + inner join C6staging.RP_GradoParentela g + on p.idparentela = g.idparentela + inner join C6Staging.RP_ClientePB c + on c.chiaveClientePB = p.chiaveClientePB1 + inner join C6Staging.RP_Cliente cl + on c.chiaveCliente = cl.chiaveCliente + group by + chiaveClientePB1, cl.chiaveCliente, cl.nome, cl.cognome, cl.dtNascita) tabNucleo + ON + VCONTRATTI.chiaveClientePB = tabNucleo.clienteConParentela + LEFT JOIN + (select + COUNT(*) as numFigli, + chiaveClientePB1 as clienteConParentela, + cl.chiaveCliente, + cl.nome, + cl.cognome, + cl.dtNascita + from + C6staging.RP_Parentela p + inner join C6staging.RP_GradoParentela g + on p.idparentela = g.idparentela + inner join C6Staging.RP_ClientePB c + on c.chiaveClientePB = p.chiaveClientePB1 + inner join C6Staging.RP_Cliente cl + on c.chiaveCliente = cl.chiaveCliente + where + g.descParentela in ('Figlio','Figlia','Figlio del partner','figlia del partner') + group by + chiaveClientePB1, cl.chiaveCliente, cl.nome, cl.cognome, cl.dtNascita) tabFigli + ON + VCONTRATTI.chiaveClientePB = tabFigli.clienteConParentela + AND + tabFigli.clienteConParentela = tabNucleo.clienteConParentela + LEFT OUTER JOIN + C6STAGING.SPB_CLIENTI + ON + C6STAGING.SPB_CLIENTI.CODICERETE = VCONTRATTI.RETE + AND C6STAGING.SPB_CLIENTI.CODICEFISCALE = VCONTRATTI.COD_FISCALE + LEFT OUTER JOIN + C6STAGING.SPB_INDIRIZZI + ON + C6STAGING.SPB_INDIRIZZI.RETE = VCONTRATTI.RETE + AND C6STAGING.SPB_INDIRIZZI.CODICEFISCALE = VCONTRATTI.COD_FISCALE + JOIN + C6MART.CONTRATTOSEI_METADATI METADATI + ON + VCONTRATTI.CHIAVECLIENTEPB = METADATI.CHIAVECLIENTEPB + LEFT JOIN c6staging.RP_Cliente CLI + ON + VCONTRATTI.COD_FISCALE = CASE + WHEN (LEN(CLI.CODFIS) = 16) THEN CLI.CODFIS + WHEN (LEN(CLI.CODMAN) = 0 AND LEN(CLI.PIVA) > 0) THEN CLI.PIVA + ELSE 'FF@'+CODMAN + END +/* + SELECT + AL.RETE AS RETE, + [dbo].[FFCODICEFISCALE] (AL.CODFIS,AL.CODMAN,AL.PIVA)AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOMECLIENTE)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOMECLIENTE)) AS COGNOME, + ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + NULL AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + [dbo].[FFPIVA] (AL.CODMAN, AL.PIVA) AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODFIS,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_InfoCliente AL +-- LEFT JOIN C6STAGINGPERIODICO.WSEIAN CL +-- ON CL.RETE = AL.RETE +-- AND ( ltrim(rtrim(CL.CODFIS)) = CASE WHEN ISNULL(AL.CODFIS, '') = '' THEN AL.PIVA ELSE AL.CODFIS END ) +-- AND (ISNULL(CL.CODMAN, '') = ISNULL(AL.CODMAN, '')) +-- WHERE CL.DTTRIM = ( +-- SELECT MAX(DTTRIM) +-- FROM C6StagingPeriodico.WSEIAN +-- ) +*/ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ANAG_CLIENTI_PER_GENERAZIONE_MAIL' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI_pre_selective.sql new file mode 100644 index 00000000..4e92290a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_CLIENTI_pre_selective.sql @@ -0,0 +1,137 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_CLIENTI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_CLIENTI + INSERT INTO C6MartPeriodico.[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + AL.RETE AS RETE, + [dbo].[FFCODICEFISCALE] (AL.CODFIS,AL.CODMAN,AL.PIVA)AS COD_FISCALE, + RTRIM(ISNULL(CL.NOME,AL.NOMECLIENTE)) AS NOME, + RTRIM(ISNULL(CL.COGNOME,AL.COGNOMECLIENTE)) AS COGNOME, + ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) AS DATA_NASCITA, + NULL AS STATO_CIVILE, + NULL AS NUM_COMPONENTI, + NULL AS NUM_FIGLI, + /*DATEDIFF(YY, + ISNULL( + AL.DATA_NASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END), + GETDATE()) AS ETA,*/ + dbo.Eta(ISNULL( + AL.DTNASCITA, + CASE + WHEN ISDATE(CL.DTNASCI) = 0 THEN NULL + ELSE CAST(CAST(CL.DTNASCI AS VARCHAR(8)) AS DATETIME) + END) + ) AS ETA, + [dbo].[FFPIVA] (AL.CODMAN, AL.PIVA) AS PARTITA_IVA, + NULL AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(CL.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(CL.CITTA, '') AS LOCALITA, + ISNULL(CL.PROVINCIA, '') AS PROVINCIA, + ISNULL(CL.CAP, '') AS CAP, + ISNULL(CL.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + NULL AS E_MAIL, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + --NULL AS SESSO, + CASE + WHEN SUBSTRING(AL.CODFIS,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + AL.AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_InfoCliente AL + LEFT JOIN C6STAGINGPERIODICO.WSEIAN2 CL + ON CL.RETE = AL.RETE + AND ( ltrim(rtrim(CL.CODFIS)) = CASE WHEN ISNULL(AL.CODFIS, '') = '' THEN AL.PIVA ELSE AL.CODFIS END ) + AND (ISNULL(CL.CODMAN, '') = ISNULL(AL.CODMAN, '')) + WHERE CL.DTTRIM = ( + SELECT MAX(DTTRIM) + FROM C6StagingPeriodico.WSEIAN2) +--and al.codfis not in +--( +--'FF@8464', +--'LBRMRA73H15H501A', +--'FF@5134' +--) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CLIENTI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CLIENTI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI.sql new file mode 100644 index 00000000..ea6bf04b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI.sql @@ -0,0 +1,94 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PRODOTTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_PRODOTTI + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI] + (--ChiaveProdotto, + [COD_PRODOTTO] + ,[COD_ISIN] + ,[PAESE] + ,[ID_AREA] + ,[CAT_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[COD_MAF] + ,[RATING] + ,[COD_ADEGUATEZZA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[DT_SCADENZA] + ,[TIPO_EMITTENTE] + ,[TIPO_TASSO] + ,[FLG_OB]) + SELECT + --ChiaveProdotto, + CatalogueID AS COD_PRODOTTO, + ISNULL(CodIsin, '') AS COD_ISIN, + NULL AS PAESE, + '' AS ID_AREA, + (SELECT CASE + WHEN a.Livello1 like '%Assicurativo%' THEN 'Gestito Finanziario' + else a.Livello1 + END) AS CAT_PRODOTTO, + TipoProdotto AS TIPO_PRODOTTO, + NomeProdotto AS DESCR_PRODOTTO, + PrezzoValuta AS DIV_QUOTAZIONE, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + CodMaf AS COD_MAF, + case when LTRIM(RTRIM(RATINGobbligazioni)) = '' THEN null ELSE RATINGobbligazioni end AS RATING, + CodAdeguatezza AS COD_ADEGUATEZZA, + CodSottoprodotto AS COD_SOTTOPRODOTTO, + ISNULL(CodInterno, '') AS COD_INTERNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + DtScadenza, + TIP_EMITTENTE, + TIP_TASSO, + CASE WHEN c.Alberatura = 98 THEN 'S' ELSE 'N' END AS FLG_OB + FROM C6StagingPeriodico.RP_CatalogoProdotti c +Inner Join C6StagingPeriodico.RP_AnAlberatura a + ON c.Alberatura = a.Alberatura + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI.sql new file mode 100644 index 00000000..1f16c826 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI.sql @@ -0,0 +1,80 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_PRODOTTI_TERZI + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_TERZI] + ([COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[NOME_PRODOTTO] + ,[ALBERO_PRODOTTI] + ,[COD_ISIN] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[INTERMEDIARIO] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[PAESE] + ,[RATING] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + --C6MartPeriodico.VCONTRATTI.chiaveClientePB AS chiaveClientePB, + C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdotto AS COD_PRODOTTO, + ISNULL(Mapping.Temp_oidProd ,C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, + C6StagingPeriodico.RP_PatrimonioTerzi.nomeProdotto AS NOME_PRODOTTO, + NULL AS ALBERO_PRODOTTI, + NULL AS COD_ISIN, + C6StagingPeriodico.RP_PatrimonioTerzi.tipoprod AS DESCR_PRODOTTO, + NULL AS DIV_QUOTAZIONE, + C6StagingPeriodico.RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + NULL AS PAESE, + NULL AS RATING, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_DettProdottiTerzi + INNER JOIN C6StagingPeriodico.RP_PatrimonioTerzi + ON C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdottoTerzi = C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCONTRATTI + ON C6StagingPeriodico.RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + LEFT JOIN C6StagingPeriodico.RP_MappingTerzi Mapping + ON C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdottoTerzi = Mapping.chiaveProdottoTerzi + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql new file mode 100644 index 00000000..c47cfb15 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_TERZI_pre_selective.sql @@ -0,0 +1,80 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_TERZI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_PRODOTTI_TERZI + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_TERZI] + ([COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[NOME_PRODOTTO] + ,[ALBERO_PRODOTTI] + ,[COD_ISIN] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[INTERMEDIARIO] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[PAESE] + ,[RATING] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + --C6MartPeriodico.VCONTRATTI.chiaveClientePB AS chiaveClientePB, + C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdotto AS COD_PRODOTTO, + ISNULL(Mapping.Temp_oidProd ,C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, + C6StagingPeriodico.RP_PatrimonioTerzi.nomeProdotto AS NOME_PRODOTTO, + NULL AS ALBERO_PRODOTTI, + NULL AS COD_ISIN, + C6StagingPeriodico.RP_PatrimonioTerzi.tipoprod AS DESCR_PRODOTTO, + NULL AS DIV_QUOTAZIONE, + C6StagingPeriodico.RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + NULL AS PAESE, + NULL AS RATING, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_DettProdottiTerzi + INNER JOIN C6StagingPeriodico.RP_PatrimonioTerzi + ON C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdottoTerzi = C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCONTRATTI + ON C6StagingPeriodico.RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + LEFT JOIN C6StagingPeriodico.RP_MappingTerzi Mapping + ON C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdottoTerzi = Mapping.chiaveProdottoTerzi + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE.sql new file mode 100644 index 00000000..5651561d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE.sql @@ -0,0 +1,52 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_VALUTE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_VALUTE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].ANAG_PRODOTTI_VALUTE + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_VALUTE] + SELECT DISTINCT --added by pk 20160506 + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + VALUTE.DIVISA, + CAST (VALUTE.PESO AS DECIMAL (6,3)), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(ChiaveProdotto) AS ChiaveProdotto + FROM C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.ChiaveProdotto = DOPPICATITEMREF.ChiaveProdotto + INNER JOIN + [C6StagingPeriodico].[RP_RDR_VALUTE_DB_DTGIORNALIERI] VALUTE + ON VALUTE.CHIAVEPRODOTTO = CATITEMREF.ChiaveProdotto + where VALUTE.PESO >= -999.099 and VALUTE.PESO <= 999.099 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK.sql new file mode 100644 index 00000000..47c5f4b0 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK.sql @@ -0,0 +1,51 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_VALUTE_20160506_PK] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_VALUTE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].ANAG_PRODOTTI_VALUTE + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_VALUTE] + SELECT /*pkDISTINCTpk*/ --added by pk 20160506 + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + VALUTE.DIVISA, + CAST (VALUTE.PESO AS DECIMAL (6,3)), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(ChiaveProdotto) AS ChiaveProdotto + FROM C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.ChiaveProdotto = DOPPICATITEMREF.ChiaveProdotto + INNER JOIN + [C6StagingPeriodico].[RP_RDR_VALUTE_DB_DTGIORNALIERI] VALUTE + ON VALUTE.CHIAVEPRODOTTO = CATITEMREF.ChiaveProdotto + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql new file mode 100644 index 00000000..db4e5d64 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective.sql @@ -0,0 +1,51 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].ANAG_PRODOTTI_VALUTE + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI_VALUTE] + SELECT DISTINCT --added by pk 20160506 + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + VALUTE.DIVISA, + CAST (VALUTE.PESO AS DECIMAL (6,3)), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(ChiaveProdotto) AS ChiaveProdotto + FROM C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.ChiaveProdotto = DOPPICATITEMREF.ChiaveProdotto + INNER JOIN + [C6StagingPeriodico].[RP_RDR_VALUTE_DB_DTGIORNALIERI] VALUTE + ON VALUTE.CHIAVEPRODOTTO = CATITEMREF.ChiaveProdotto + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_pre_selective.sql new file mode 100644 index 00000000..f48f3947 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PRODOTTI_pre_selective.sql @@ -0,0 +1,94 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PRODOTTI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_PRODOTTI + INSERT INTO [C6MartPeriodico].[ANAG_PRODOTTI] + (--ChiaveProdotto, + [COD_PRODOTTO] + ,[COD_ISIN] + ,[PAESE] + ,[ID_AREA] + ,[CAT_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[COD_MAF] + ,[RATING] + ,[COD_ADEGUATEZZA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[DT_SCADENZA] + ,[TIPO_EMITTENTE] + ,[TIPO_TASSO] + ,[FLG_OB]) + SELECT + --ChiaveProdotto, + CatalogueID AS COD_PRODOTTO, + ISNULL(CodIsin, '') AS COD_ISIN, + NULL AS PAESE, + '' AS ID_AREA, + (SELECT CASE + WHEN a.Livello1 like '%Assicurativo%' THEN 'Gestito Finanziario' + else a.Livello1 + END) AS CAT_PRODOTTO, + TipoProdotto AS TIPO_PRODOTTO, + NomeProdotto AS DESCR_PRODOTTO, + PrezzoValuta AS DIV_QUOTAZIONE, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + CodMaf AS COD_MAF, + case when LTRIM(RTRIM(RATINGobbligazioni)) = '' THEN null ELSE RATINGobbligazioni end AS RATING, + CodAdeguatezza AS COD_ADEGUATEZZA, + CodSottoprodotto AS COD_SOTTOPRODOTTO, + ISNULL(CodInterno, '') AS COD_INTERNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + DtScadenza, + TIP_EMITTENTE, + TIP_TASSO, + CASE WHEN c.Alberatura = 98 THEN 'S' ELSE 'N' END AS FLG_OB + FROM C6StagingPeriodico.RP_CatalogoProdotti c +Inner Join C6StagingPeriodico.RP_AnAlberatura a + ON c.Alberatura = a.Alberatura + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PROMOTORI.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PROMOTORI.sql new file mode 100644 index 00000000..a5ad3678 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PROMOTORI.sql @@ -0,0 +1,144 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PROMOTORI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PROMOTORI', + GETDATE(), + 'Elaborazione trimestrale' + ); +--aggiunta 11/07/2022 per problema ai pb + --select * + --into #email_unico + --from C6MartPeriodico.EMAIL_PB where email is not null + --fine aggiunta 11/07/2022 per problema ai pb + --aggiunta 12/12/2023 per problema ai pb + WITH CTE AS ( + SELECT + *, + ROW_NUMBER() OVER (PARTITION BY codice,rete ORDER BY id_elab DESC) AS RowNum + FROM + C6MartPeriodico.EMAIL_PB + WHERE + email IS NOT NULL +) +SELECT * +INTO #email_unico +FROM CTE +WHERE RowNum = 1 +--fine 12/12/2023 per problema ai pb + TRUNCATE TABLE C6MartPeriodico.ANAG_PROMOTORI + INSERT INTO [C6MartPeriodico].[ANAG_PROMOTORI] + ([RETE] + ,[ID_PROMOTORE] + ,[LIVELLO] + ,[COD_FISCALE] + ,[PARTITA_IVA] + ,[COGNOME] + ,[NOME] + ,[RAG_SOC] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[COD_ABI] + ,[COD_CAB] + ,[COD_CIN] + ,[COD_CC] + ,[STATO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + PB.RETE AS RETE, + PB.codage AS ID_PROMOTORE, + 'PB' AS LIVELLO, + --SPB_NAC.LIVELLONELLAGERARCHIA AS LIVELLO, + NULL AS COD_FISCALE, + NULL AS PARTITA_IVA, + rtrim(ltrim(PB.COGNOME)) AS COGNOME, + rtrim(ltrim(PB.NOME)) AS NOME, + NULL AS RAG_SOC, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + --CASE WHEN PB.DataInizioCollaborazione=0 THEN NULL ELSE + --CAST(CAST(PB.DataInizioCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_INIZIO, + --CASE WHEN PB.DataFineCollaborazione=0 THEN NULL ELSE + --CAST(CAST(PB.DataFineCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_FINE, + rtrim(ltrim(PB.INDIRIZZO)) AS INDIRIZZO, + rtrim(ltrim(PB.CITTA)) AS LOCALITA, + rtrim(ltrim(PB.PROVINCIA)) AS PROVINCIA, + rtrim(ltrim(PB.CAP)) AS CAP, + NULL AS NAZIONE, + rtrim(ltrim(PB.PREFISSO + PB.TELEFONO1)) AS TEL_RECAPITO, + NULL AS TEL_CELL, + rtrim(ltrim(EMAIL_PB.EMAIL)) AS E_MAIL, + NULL AS COD_ABI, + NULL AS COD_CAB, + NULL AS COD_CIN, + NULL AS COD_CC, + --CASE + -- WHEN SPB_NAC.CODICEAGENTE IS NULL THEN 'TERMINATO' + -- ELSE + CASE + WHEN PF.RETE IS NULL THEN 'ATTIVO' + ELSE 'FITTIZIO' + END + --END + AS STATO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_anagrafica_promotori PB + LEFT JOIN #email_unico EMAIL_PB --11/07/2022 prima c'era C6MartPeriodico.EMAIL_PB + ON PB.RETE = EMAIL_PB.RETE + AND PB.codage = EMAIL_PB.CODICE +-- LEFT JOIN C6STAGING.SPB_NAC SPB_NAC +-- ON PB.RETE = SPB_NAC.CODICERETE +-- AND PB.codage = SPB_NAC.CODICEAGENTE + LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON (PB.codage BETWEEN PF.CODICEDA AND PF.CODICEA) + AND PB.RETE = PF.RETE +WHERE + PB.stato = 'A' and + EMAIL_PB.EMAIL <> 'andrea.novaro1@fideuram.it' --FORZATURA DEL 14-12-2022 CHIAVE DUPLICATA + --Aggiunta Valerio non inserisco in anagrafica pb terminati in quanto non hanno il livello +-- and SPB_NAC.CODICEAGENTE is not null + --AND ADS4WS_PROMOTORI.CODICE NOT IN ('009202')--,'014908') +---eliminato il filtro su '005772' 04/08/2010 +---eliminato il filtro su'003064' 12/08/2010 +---eliminato il filtro su '010712' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PROMOTORI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ANAG_PROMOTORI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PROMOTORI_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PROMOTORI_pre_selective.sql new file mode 100644 index 00000000..a27bbccf --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ANAG_PROMOTORI_pre_selective.sql @@ -0,0 +1,123 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ANAG_PROMOTORI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PROMOTORI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ANAG_PROMOTORI + INSERT INTO [C6MartPeriodico].[ANAG_PROMOTORI] + ([RETE] + ,[ID_PROMOTORE] + ,[LIVELLO] + ,[COD_FISCALE] + ,[PARTITA_IVA] + ,[COGNOME] + ,[NOME] + ,[RAG_SOC] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[COD_ABI] + ,[COD_CAB] + ,[COD_CIN] + ,[COD_CC] + ,[STATO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + PB.RETE AS RETE, + PB.codage AS ID_PROMOTORE, + 'PB' AS LIVELLO, + --SPB_NAC.LIVELLONELLAGERARCHIA AS LIVELLO, + NULL AS COD_FISCALE, + NULL AS PARTITA_IVA, + rtrim(ltrim(PB.COGNOME)) AS COGNOME, + rtrim(ltrim(PB.NOME)) AS NOME, + NULL AS RAG_SOC, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + --CASE WHEN PB.DataInizioCollaborazione=0 THEN NULL ELSE + --CAST(CAST(PB.DataInizioCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_INIZIO, + --CASE WHEN PB.DataFineCollaborazione=0 THEN NULL ELSE + --CAST(CAST(PB.DataFineCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_FINE, + rtrim(ltrim(PB.INDIRIZZO)) AS INDIRIZZO, + rtrim(ltrim(PB.CITTA)) AS LOCALITA, + rtrim(ltrim(PB.PROVINCIA)) AS PROVINCIA, + rtrim(ltrim(PB.CAP)) AS CAP, + NULL AS NAZIONE, + rtrim(ltrim(PB.PREFISSO + PB.TELEFONO1)) AS TEL_RECAPITO, + NULL AS TEL_CELL, + rtrim(ltrim(EMAIL_PB.EMAIL)) AS E_MAIL, + NULL AS COD_ABI, + NULL AS COD_CAB, + NULL AS COD_CIN, + NULL AS COD_CC, + --CASE + -- WHEN SPB_NAC.CODICEAGENTE IS NULL THEN 'TERMINATO' + -- ELSE + CASE + WHEN PF.RETE IS NULL THEN 'ATTIVO' + ELSE 'FITTIZIO' + END + --END + AS STATO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_anagrafica_promotori PB + LEFT JOIN C6MartPeriodico.EMAIL_PB EMAIL_PB + ON PB.RETE = EMAIL_PB.RETE + AND PB.codage = EMAIL_PB.CODICE +-- LEFT JOIN C6STAGING.SPB_NAC SPB_NAC +-- ON PB.RETE = SPB_NAC.CODICERETE +-- AND PB.codage = SPB_NAC.CODICEAGENTE + LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON (PB.codage BETWEEN PF.CODICEDA AND PF.CODICEA) + AND PB.RETE = PF.RETE +WHERE + PB.stato = 'A' + --Aggiunta Valerio non inserisco in anagrafica pb terminati in quanto non hanno il livello +-- and SPB_NAC.CODICEAGENTE is not null + --AND ADS4WS_PROMOTORI.CODICE NOT IN ('009202')--,'014908') +---eliminato il filtro su '005772' 04/08/2010 +---eliminato il filtro su'003064' 12/08/2010 +---eliminato il filtro su '010712' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PROMOTORI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PROMOTORI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_AREA_BISOGNO.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_AREA_BISOGNO.sql new file mode 100644 index 00000000..36a9bc1f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_AREA_BISOGNO.sql @@ -0,0 +1,47 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_AREA_BISOGNO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + TRUNCATE TABLE C6MartPeriodico.AREA_BISOGNO + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_AREA_BISOGNO', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MartPeriodico.[AREA_BISOGNO] + ([ID_AREA] + ,[NOME_AREA] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(Area)) AS ID_AREA, + LTRIM(RTRIM(Descrizione)) AS NOME_AREA, + Ordinamento AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.RP_NEEDAREA + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_AREA_BISOGNO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_AREA_BISOGNO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_AREA_BISOGNO_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_AREA_BISOGNO_pre_selective.sql new file mode 100644 index 00000000..acfe357d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_AREA_BISOGNO_pre_selective.sql @@ -0,0 +1,47 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_AREA_BISOGNO_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + TRUNCATE TABLE C6MartPeriodico.AREA_BISOGNO + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_AREA_BISOGNO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MartPeriodico.[AREA_BISOGNO] + ([ID_AREA] + ,[NOME_AREA] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(Area)) AS ID_AREA, + LTRIM(RTRIM(Descrizione)) AS NOME_AREA, + Ordinamento AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.RP_NEEDAREA + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_AREA_BISOGNO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_AREA_BISOGNO_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSETCLASS.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSETCLASS.sql new file mode 100644 index 00000000..4838e80f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSETCLASS.sql @@ -0,0 +1,59 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from C6MartPeriodico.assetclass +CREATE procedure [C6MartPeriodico].[RP_DM_ASSETCLASS] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ASSETCLASS + INSERT INTO [C6MartPeriodico].[ASSETCLASS] + ([ID_ASSETCLASS] + ,[DESCRIZIONE] + ,[LIVELLO] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + A.ASSET AS ID_ASSETCLASS, + A.DESCRIZIONE AS DESCRIZIONE, + A.LIVELLO AS LIVELLO, + B.ORDINAMENTO_ASSET AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.RP_ASSETCLASS A + JOIN + C6STAGINGPERIODICO.RP_REP_ASSET_1_E_2_ORDINATE B + ON A.ASSET = B.CODICE_ASSET_CLASS_INGRESSO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ASSETCLASS' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI.sql new file mode 100644 index 00000000..eefeb1cf --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI.sql @@ -0,0 +1,58 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from [C6MartPeriodico].[ASSETCLASS_TERZI] +--[C6MartPeriodico].[DM_ASSETCLASS_TERZI] +CREATE procedure [C6MartPeriodico].[RP_DM_ASSETCLASS_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ASSETCLASS_TERZI + INSERT INTO [C6MartPeriodico].[ASSETCLASS_TERZI] + ([ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_ADEGUATEZZA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + B.CODICE_ASSET_CLASS_INGRESSO, + B.CODICE_ISIN, + B.CODICE_MAF, + ISNULL(B.CODICE_ADEGUATEZZA,'$'), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.RP_REP_ASSET_1_E_2_ORDINATE B + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI_pre_selective.sql new file mode 100644 index 00000000..0a780a17 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSETCLASS_TERZI_pre_selective.sql @@ -0,0 +1,58 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from [C6MartPeriodico].[ASSETCLASS_TERZI] +--[C6MartPeriodico].[DM_ASSETCLASS_TERZI] +CREATE procedure [C6MartPeriodico].[RP_DM_ASSETCLASS_TERZI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ASSETCLASS_TERZI + INSERT INTO [C6MartPeriodico].[ASSETCLASS_TERZI] + ([ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_ADEGUATEZZA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + B.CODICE_ASSET_CLASS_INGRESSO, + B.CODICE_ISIN, + B.CODICE_MAF, + ISNULL(B.CODICE_ADEGUATEZZA,'$'), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.RP_REP_ASSET_1_E_2_ORDINATE B + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSETCLASS_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSETCLASS_pre_selective.sql new file mode 100644 index 00000000..cd027265 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSETCLASS_pre_selective.sql @@ -0,0 +1,59 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from C6MartPeriodico.assetclass +CREATE procedure [C6MartPeriodico].[RP_DM_ASSETCLASS_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ASSETCLASS + INSERT INTO [C6MartPeriodico].[ASSETCLASS] + ([ID_ASSETCLASS] + ,[DESCRIZIONE] + ,[LIVELLO] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + A.ASSET AS ID_ASSETCLASS, + A.DESCRIZIONE AS DESCRIZIONE, + A.LIVELLO AS LIVELLO, + B.ORDINAMENTO_ASSET AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6STAGINGPERIODICO.RP_ASSETCLASS A + JOIN + C6STAGINGPERIODICO.RP_REP_ASSET_1_E_2_ORDINATE B + ON A.ASSET = B.CODICE_ASSET_CLASS_INGRESSO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSETCLASS_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSET_PERC.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSET_PERC.sql new file mode 100644 index 00000000..ab4065f5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSET_PERC.sql @@ -0,0 +1,73 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ASSET_PERC] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ASSET_PERC + INSERT INTO [C6MartPeriodico].[ASSET_PERC] + ([COD_PRODOTTO] + ,[ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[LIVELLO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + cat.CatalogueID AS COD_PRODOTTO, + LTRIM(RTRIM(ac.Asset)) AS ID_ASSETCLASS, + cat.CodIsin AS COD_ISIN, + cat.CodMaf AS COD_MAF, + cat.CodInterno AS COD_INTERNO, + cat.CodSottoprodotto AS COD_SOTTOPRODOTTO, + ac.Livello AS LIVELLO, + LTRIM(RTRIM(map.Percentuale)) AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.RP_Mappatura AS map + INNER JOIN + C6StagingPeriodico.RP_AssetClass AS ac + ON + map.Asset = ac.Asset + INNER JOIN + C6StagingPeriodico.RP_CatalogoProdotti cat + ON + map.ChiaveProdotto = cat.ChiaveProdotto + where map.Percentuale >= -999.099 and map.Percentuale <= 999.099 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ASSET_PERC' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI.sql new file mode 100644 index 00000000..bbd3569e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI.sql @@ -0,0 +1,80 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ASSET_PERC_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ASSET_PERC_TERZI + INSERT INTO [C6MartPeriodico].[ASSET_PERC_TERZI] + ([COD_PRODOTTO_TERZI] -- + ,[ID_ASSETCLASS] -- + ,[LIVELLO] -- + ,[NOME_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[PERC] -- + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ISNULL(Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, + RP_AssetClass.Asset AS ID_ASSETCLASS, + RP_AssetClass.Livello AS LIVELLO, + NULL AS NOME_PRODOTTO, + NULL AS TIPO_PRODOTTO, + RP_MappaturaPT.percentuale / 100 AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.RP_PatrimonioTerzi + INNER JOIN + C6StagingPeriodico.RP_DettProdottiTerzi + ON + C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + ON + C6StagingPeriodico.RP_DettProdottiTerzi.alberatura = C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + INNER JOIN + C6StagingPeriodico.RP_MappaturaPT + ON + C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6StagingPeriodico.RP_MappaturaPT.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodico.RP_AssetClass + ON + C6StagingPeriodico.RP_MappaturaPT.asset = C6StagingPeriodico.RP_AssetClass.Asset + LEFT JOIN + C6StagingPeriodico.RP_MappingTerzi Mapping + ON + C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi = Mapping.chiaveProdottoTerzi + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI_pre_selective.sql new file mode 100644 index 00000000..71fe64fe --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSET_PERC_TERZI_pre_selective.sql @@ -0,0 +1,80 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ASSET_PERC_TERZI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ASSET_PERC_TERZI + INSERT INTO [C6MartPeriodico].[ASSET_PERC_TERZI] + ([COD_PRODOTTO_TERZI] -- + ,[ID_ASSETCLASS] -- + ,[LIVELLO] -- + ,[NOME_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[PERC] -- + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ISNULL(Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, + RP_AssetClass.Asset AS ID_ASSETCLASS, + RP_AssetClass.Livello AS LIVELLO, + NULL AS NOME_PRODOTTO, + NULL AS TIPO_PRODOTTO, + RP_MappaturaPT.percentuale / 100 AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.RP_PatrimonioTerzi + INNER JOIN + C6StagingPeriodico.RP_DettProdottiTerzi + ON + C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + ON + C6StagingPeriodico.RP_DettProdottiTerzi.alberatura = C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + INNER JOIN + C6StagingPeriodico.RP_MappaturaPT + ON + C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6StagingPeriodico.RP_MappaturaPT.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodico.RP_AssetClass + ON + C6StagingPeriodico.RP_MappaturaPT.asset = C6StagingPeriodico.RP_AssetClass.Asset + LEFT JOIN + C6StagingPeriodico.RP_MappingTerzi Mapping + ON + C6StagingPeriodico.RP_PatrimonioTerzi.chiaveProdottoTerzi = Mapping.chiaveProdottoTerzi + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSET_PERC_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSET_PERC_pre_selective.sql new file mode 100644 index 00000000..a7a2a4f0 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ASSET_PERC_pre_selective.sql @@ -0,0 +1,72 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_ASSET_PERC_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.ASSET_PERC + INSERT INTO [C6MartPeriodico].[ASSET_PERC] + ([COD_PRODOTTO] + ,[ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[LIVELLO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + cat.CatalogueID AS COD_PRODOTTO, + LTRIM(RTRIM(ac.Asset)) AS ID_ASSETCLASS, + cat.CodIsin AS COD_ISIN, + cat.CodMaf AS COD_MAF, + cat.CodInterno AS COD_INTERNO, + cat.CodSottoprodotto AS COD_SOTTOPRODOTTO, + ac.Livello AS LIVELLO, + LTRIM(RTRIM(map.Percentuale)) AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6StagingPeriodico.RP_Mappatura AS map + INNER JOIN + C6StagingPeriodico.RP_AssetClass AS ac + ON + map.Asset = ac.Asset + INNER JOIN + C6StagingPeriodico.RP_CatalogoProdotti cat + ON + map.ChiaveProdotto = cat.ChiaveProdotto + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSET_PERC_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_BONIFICA_DTRIF0_TSCABP.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_BONIFICA_DTRIF0_TSCABP.sql new file mode 100644 index 00000000..c17f0b4a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_BONIFICA_DTRIF0_TSCABP.sql @@ -0,0 +1,26 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_BONIFICA_DTRIF0_TSCABP] +AS +BEGIN +select * +into #dtrif_zero +from C6StagingPeriodico.TSCABP t where dtrif=0 +select distinct rete,CODAREA,CODPROG,CODFIS,CODCONF,DTRIF +into #dtrif_tcptab +from C6stagingPeriodico.tcptab +where rete+codfis+CODPROG+codconf in (select rete+CODFIS+codprog+codconf from #dtrif_zero) +update a +set a.dtrif=b.dtrif +from C6StagingPeriodico.TSCABP a +inner join #dtrif_tcptab b on a.rete=b.RETE +and +a.codfis=b.codfis and +a.CODPROG=b.CODPROG and +a.CODCONF=b.CODCONF and +a.CODAREA=b.CODAREA +where a.dtrif=0 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_BrsClienteESG.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_BrsClienteESG.sql new file mode 100644 index 00000000..b2e8da77 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_BrsClienteESG.sql @@ -0,0 +1,77 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_BrsClienteESG] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_BrsClienteESG', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- declare @data varchar(8) +--set @data= [C6MartPeriodico].[getTrimestre2](getdate(),0) +truncate table C6MartPeriodico.BrsClienteESG +insert into [C6StampeCentralizzate].[C6MartPeriodico].[BrsClienteESG] +SELECT ws.[rete] + ,ws.[codfis] + ,case when PREFSOST='S' then 1 + when PREFSOST='N' then 0 + else 0 end as [Preferenza_esg_cliente] + ,case when FLAGAMB='S' then 'Y' + when FLAGAMB='N' then 'N' + else 'N' end as + [ESG_E] + ,case when FLAGSOC='S' then 'Y' + when FLAGSOC='N' then 'N' + else 'N' end as + [ESG_S] + ,case when FLAGGOV='S' then 'Y' + when FLAGGOV='N' then 'N' + else 'N' end as [ESG_G] + ,esg.PERC1ESG as [obiettivo_ESG_minimo] + ,NULL as [ESG_Rating] + ,esg.PERCAMB as [ESG_E_perc] + ,esg.PERCSOC as [ESG_S_perc] + ,esg.PERCGOV as [ESG_G_perc] + FROM C6martPeriodico.wseian2 ws + left join C6MartPeriodico.W6CLIESG esg + on ws.rete=esg.rete and ws.codfis=esg.CODFIS + --SELECT [rete] + -- -- ,[codfis] + -- ,[Preferenza_esg_cliente] + -- ,[ESG_E] + -- ,[ESG_S] + -- ,[ESG_G] + -- ,[obiettivo_ESG_minimo] + -- ,[ESG_Rating] + -- ,[ESG_E_perc] + -- ,[ESG_S_perc] + -- ,[ESG_G_perc] + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[ESG_Metriche_Cliente_IL] + --select * from [C6StampeCentralizzate].[C6StagingPeriodico].[ESG_Metriche_Cliente_IL] + --select * from C6StagingPeriodico.wseian2 + --select * from C6MartPeriodico.W6CLIESG + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_BrsClienteESG' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_W6CATESG' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_CLIENTI_RISORSE_NA.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_CLIENTI_RISORSE_NA.sql new file mode 100644 index 00000000..82e3d61d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_CLIENTI_RISORSE_NA.sql @@ -0,0 +1,58 @@ +-- [C6MartPeriodico].[RP_DM_CLIENTI_RISORSE_NA] +CREATE procedure [C6MartPeriodico].[RP_DM_CLIENTI_RISORSE_NA] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CLIENTI_RISORSE_NA', + GETDATE(), + 'Elaborazione trimestrale' + ) +--------------------------------------------------------------------------- + TRUNCATE TABLE [C6MartPeriodico].[CLIENTI_RISORSE_NA] + INSERT INTO [C6MartPeriodico].[CLIENTI_RISORSE_NA] + select + [RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[ID_AREA] + ,[CTV] + ,[ORDINAMENTO_PROGETTO] + ,[TIPO_PROGETTO] + ,[EMITTENTE] + ,[ISIN] + ,[CHIAVE_PROGETTO] + from C6MartPeriodico.PATRIMONIO_BF + where 1=1 + and ID_AREA = 'NA' + and ctv <> 0 --se zero potrebbero essere ppvv + and partvia_disinv = 0 +--------------------------- +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CLIENTI_RISORSE_NA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_CLIENTI_RISORSE_NA' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_COMPLESSITA.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_COMPLESSITA.sql new file mode 100644 index 00000000..d69b21bc --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_COMPLESSITA.sql @@ -0,0 +1,84 @@ +-- ============================================= +-- Author: +-- Create date: <08/08/2013> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_COMPLESSITA] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_COMPLESSITA', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].COMPLESSITA + INSERT INTO [C6MartPeriodico].[COMPLESSITA] + ( + [RETE] + ,[COD_FISCALE] + ,[COMPLESSITA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLESSITA]) AS [COMPLESSITA], + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM +( + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLEX]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf + where tipo_prodOTTO <>'ASUL' + GROUP BY + [RETE], + [COD_FISCALE] + union all + SELECT + m.[RETE], + m.[COD_FISCALE], + MAX(c.[COMPLESSITA]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf m, + c6martperiodico.dettaglio_asul k, + c6stagingperiodico.RP_CatalogoProdotti c + where m.cod_fiscale= k.cod_fiscale + and m.rete=k.rete + and k.id_contratto=m.id_contratto + and k.cod_prodotto= c.catalogueid + and m.tipo_prodotto='ASUL' + group by + m.[RETE], + m.[COD_FISCALE] + ) H + group by + [RETE], + [COD_FISCALE] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_COMPLESSITA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_COMPLESSITA' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_COMPLESSITA_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_COMPLESSITA_pre_selective.sql new file mode 100644 index 00000000..5f61821e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_COMPLESSITA_pre_selective.sql @@ -0,0 +1,84 @@ +-- ============================================= +-- Author: +-- Create date: <08/08/2013> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_COMPLESSITA_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_COMPLESSITA_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].COMPLESSITA + INSERT INTO [C6MartPeriodico].[COMPLESSITA] + ( + [RETE] + ,[COD_FISCALE] + ,[COMPLESSITA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLESSITA]) AS [COMPLESSITA], + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM +( + SELECT + [RETE], + [COD_FISCALE], + MAX([COMPLEX]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf + where tipo_prodOTTO <>'ASUL' + GROUP BY + [RETE], + [COD_FISCALE] + union all + SELECT + m.[RETE], + m.[COD_FISCALE], + MAX(c.[COMPLESSITA]) AS [COMPLESSITA] + FROM C6MARTPERIODICO.patrimonio_bf m, + c6martperiodico.dettaglio_asul k, + c6stagingperiodico.RP_CatalogoProdotti c + where m.cod_fiscale= k.cod_fiscale + and m.rete=k.rete + and k.id_contratto=m.id_contratto + and k.cod_prodotto= c.catalogueid + and m.tipo_prodotto='ASUL' + group by + m.[RETE], + m.[COD_FISCALE] + ) H + group by + [RETE], + [COD_FISCALE] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_COMPLESSITA_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_COMPLESSITA_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE.sql new file mode 100644 index 00000000..d6b2683a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE.sql @@ -0,0 +1,93 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 08/08/2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_CONO_PIANIFICAZIONE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CONO_PIANIFICAZIONE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[CONO_PIANIFICAZIONE] + INSERT INTO [C6MartPeriodico].[CONO_PIANIFICAZIONE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CONO] + ,[SCENARIO_PESSIMISTICO] + ,[SCENARIO_MEDIO] + ,[SCENARIO_OTTIMISTICO] + ,[ID_ELAB] + ,ordinamento_progetto) + SELECT + WANAB.RETE AS RETE, + VC.COD_FISCALE AS COD_FISCALE, + CASE + WHEN WANAB.CODAREA = 'INV' THEN 'Inv' + WHEN WANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN WANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN WANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CS.nomeProgetto, 'XXX') AS NOME_PROGETTO, + CONO.dtRiferimento AS DATA_CONO, + CONO.quantileInf * 100 AS SCENARIO_PESSIMISTICO, + CONO.quantileInter * 100 AS SCENARIO_MEDIO, + CONO.quantileSup * 100 AS SCENARIO_OTTIMISTICO, + @ID_ELAB, + PR.chiaveProgetto -- wanab.codprog--, + -- count(*) + FROM C6StagingPeriodico.TANAB AS WANAB + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON WANAB.CODPROG = CM.idmonitoraggio + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON WANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN VC.COD_FISCALE ELSE VC.COD_MANDATO + END + AND WANAB.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + INNER JOIN C6StagingPeriodico.RP_CONO CONO + ON CONO.CHIAVEPROGETTO = CM.chiaveProgetto + WHERE 1 = 1 + AND WANAB.DTFINE = '99991231' + --AND ((WANAB.CODAREA = 'Inv' AND CS.nomeProgetto = 'Progetto investimento') OR WANAB.CODAREA = 'Ris') + AND (WANAB.CODAREA = 'Inv' OR WANAB.CODAREA = 'Ris') + --modifiche Luca per errore mart simulazione 16/12/2015 + --and WANAB.CODFIS not in ('GRPGLI71R45L407D','MRTGRL59B60H501T') + --------------------------------------------------------------------------- + -- formula commentata in trimestrale di luglio 2015 perché impediva la genenerazione del grafico del rendimento cumulato per importi + -- negativi (vedi segnalazione di FOGA' del 15/7/2015) + --AND (WANAB.APP_INI + WANAB.NTOT_APP - WANAB.NTOT_LIQ - (WANAB.TOT_CED + WANAB.TOT_DIV))>0 -- per escludere tutto quello che ha risorse associate =0 + --AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 + --and wanab.codfis <> 'GRVMRZ63C14L566J' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CONO_PIANIFICAZIONE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_CONO_PIANIFICAZIONE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE_pre_selective.sql new file mode 100644 index 00000000..172c1c05 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_CONO_PIANIFICAZIONE_pre_selective.sql @@ -0,0 +1,93 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 08/08/2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_CONO_PIANIFICAZIONE_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CONO_PIANIFICAZIONE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[CONO_PIANIFICAZIONE] + INSERT INTO [C6MartPeriodico].[CONO_PIANIFICAZIONE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CONO] + ,[SCENARIO_PESSIMISTICO] + ,[SCENARIO_MEDIO] + ,[SCENARIO_OTTIMISTICO] + ,[ID_ELAB] + ,ordinamento_progetto) + SELECT + WANAB.RETE AS RETE, + VC.COD_FISCALE AS COD_FISCALE, + CASE + WHEN WANAB.CODAREA = 'INV' THEN 'Inv' + WHEN WANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN WANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN WANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CS.nomeProgetto, 'XXX') AS NOME_PROGETTO, + CONO.dtRiferimento AS DATA_CONO, + CONO.quantileInf * 100 AS SCENARIO_PESSIMISTICO, + CONO.quantileInter * 100 AS SCENARIO_MEDIO, + CONO.quantileSup * 100 AS SCENARIO_OTTIMISTICO, + @ID_ELAB, + PR.chiaveProgetto -- wanab.codprog--, + -- count(*) + FROM C6StagingPeriodico.TANAB AS WANAB + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON WANAB.CODPROG = CM.idmonitoraggio + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON WANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN VC.COD_FISCALE ELSE VC.COD_MANDATO + END + AND WANAB.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + INNER JOIN C6StagingPeriodico.RP_CONO CONO + ON CONO.CHIAVEPROGETTO = CM.chiaveProgetto + WHERE 1 = 1 + AND WANAB.DTFINE = '99991231' + --AND ((WANAB.CODAREA = 'Inv' AND CS.nomeProgetto = 'Progetto investimento') OR WANAB.CODAREA = 'Ris') + AND (WANAB.CODAREA = 'Inv' OR WANAB.CODAREA = 'Ris') + --modifiche Luca per errore mart simulazione 16/12/2015 + --and WANAB.CODFIS not in ('GRPGLI71R45L407D','MRTGRL59B60H501T') + --------------------------------------------------------------------------- + -- formula commentata in trimestrale di luglio 2015 perché impediva la genenerazione del grafico del rendimento cumulato per importi + -- negativi (vedi segnalazione di FOGA' del 15/7/2015) + --AND (WANAB.APP_INI + WANAB.NTOT_APP - WANAB.NTOT_LIQ - (WANAB.TOT_CED + WANAB.TOT_DIV))>0 -- per escludere tutto quello che ha risorse associate =0 + --AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1 + --and wanab.codfis <> 'GRVMRZ63C14L566J' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CONO_PIANIFICAZIONE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_CONO_PIANIFICAZIONE_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_CONTRATTOSEI.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_CONTRATTOSEI.sql new file mode 100644 index 00000000..6cbbeafb --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_CONTRATTOSEI.sql @@ -0,0 +1,119 @@ +----------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodico].[RP_DM_CONTRATTOSEI] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CONTRATTOSEI', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MartPERIODICO.CONTRATTOSEI +INSERT INTO C6MartPERIODICO.CONTRATTOSEI +SELECT + r.[Rete], + r.[Cod_Fiscale], + r.[PIva_Fiduciaria], + r.[DATA_INZIOAVANZATO] as [Data_Sott], + r.[CodiceContratto], + r.[Cod_Agente], + r.[Data_Perf_Base], + r.[Data_Perf], + null as [Fascia_CPP], + null as [Email], + r.[Indirizzo], + r.[CAP], + r.[Citta], + r.[Provincia], + r.[Nazione], + r.[Presso], + null as[Data_Inizio], + r.[Freq_Diagnosi], + r.[FREQ_MONITORAGGIO], + null as [Freq_DiagnosiPrec], + null as [Freq_MonitorPrec], + null as [Data_InizioConsInv], + r.[Data_InizioBase], + r.[Data_FineBase], + r.[DATA_INZIOAVANZATO], + r.[Data_FineAvanzato], + null as [ProgressivoInvio], + 'N', + 'N', + null as [DataUltimoInvio], + r.[ClienteMigrato], + r.[RisorseNA], + null as [PartViaDisinv], + r.[NumSolleciti], + r.[Data_UltimoSollecito], + r.[NumRevoche], + r.[Data_UltimaRevoca], + null as [Note], + null as [Data_Invio_Diagnosi_Trimestrale], + null as [Data_Invio_Monitoraggio_Trimestrale], + r.[ProfiloAttivo], + null as [Rol], + r.[TIP_CONTRATTO], + r.[TIP_RIATTIVAZIONE] +FROM + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] r +left join C6MartPeriodico.ANAG_CLIENTI a +on a.RETE=r.rete and a.COD_FISCALE=r.COD_FISCALE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CONTRATTOSEI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_CONTRATTOSEI' + ) +UPDATE c6martperiodico.contrattosei + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,prov = a.Provincia + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITOR = a.FREQ_MONITORAGGIO +from c6mart.vcontratti a +inner join c6martperiodico.contrattosei b +on a.codicecontratto = b.codicecontratto +UPDATE contr + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,provincia = a.Prov + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITORAGGIO = a.FREQ_MONITOR +from c6martperiodico.contrattosei a +inner join [C6StagingPeriodico].[APPO_CONTRATTI] contr on a.codicecontratto = contr.codicecontratto +left join [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] lim on lim.COD_FISCALE = contr.COD_FISCALE and lim.rete = contr.rete +where lim.cod_fiscale is not null or 0 = (select count(*) from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] with (nolock)) +-- Allineamento Flag Rol su contratto sei +Update C6MartPeriodico.ContrattoSei +Set Rol = Case D.statorol + When 'S' then D.statorol + Else 'N' + End, + EmAil = Case d.alertrol + When 'S' then D.Email + End +from C6MartPeriodico.ContrattoSei C inner join C6StagingPeriodico.datiRol2 D +on d.codContratto = c.codiceContratto \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_CONTRATTOSEI_20170407.SAVE.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_CONTRATTOSEI_20170407.SAVE.sql new file mode 100644 index 00000000..81c053e9 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_CONTRATTOSEI_20170407.SAVE.sql @@ -0,0 +1,205 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_CONTRATTOSEI_20170407.SAVE] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CONTRATTOSEI', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MartPERIODICO.CONTRATTOSEI +INSERT INTO C6MartPERIODICO.CONTRATTOSEI +SELECT + [Rete], + [Cod_Fiscale], + [PIva_Fiduciaria], + [DATA_INZIOAVANZATO] as [Data_Sott], + [CodiceContratto], + [Cod_Agente], + [Data_Perf_Base], + [Data_Perf], + null as [Fascia_CPP], + null as [Email], + [Indirizzo], + [CAP], + [Citta], + [Provincia], + [Nazione], + [Presso], + null as[Data_Inizio], + [Freq_Diagnosi], + [FREQ_MONITORAGGIO], + null as [Freq_DiagnosiPrec], + null as [Freq_MonitorPrec], + null as [Data_InizioConsInv], + [Data_InizioBase], + [Data_FineBase], + [DATA_INZIOAVANZATO], + [Data_FineAvanzato], + null as [ProgressivoInvio], + 'N', + 'N', + null as [DataUltimoInvio], + [ClienteMigrato], + [RisorseNA], + null as [PartViaDisinv], + [NumSolleciti], + [Data_UltimoSollecito], + [NumRevoche], + [Data_UltimaRevoca], + null as [Note], + null as [Data_Invio_Diagnosi_Trimestrale], + null as [Data_Invio_Monitoraggio_Trimestrale], + [ProfiloAttivo], + null as [Rol], + [TIP_CONTRATTO], + [TIP_RIATTIVAZIONE] +FROM + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CONTRATTOSEI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_CONTRATTOSEI' + ) +UPDATE c6martperiodico.contrattosei + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,prov = a.Provincia + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITOR = a.FREQ_MONITORAGGIO +from c6mart.vcontratti a +inner join c6martperiodico.contrattosei b +on a.codicecontratto = b.codicecontratto +UPDATE contr +set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,provincia = a.Prov + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITORAGGIO = a.FREQ_MONITOR +from c6martperiodico.contrattosei a +inner join [C6StagingPeriodico].[APPO_CONTRATTI] contr +on a.codicecontratto = contr.codicecontratto +left join [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] lim on lim.COD_FISCALE = contr.COD_FISCALE +and lim.rete = contr.rete +--INIZIO INTERVENTO TEMPORANEO +--ELIMINARE LE SUCCESSIVE DUE UPDATE DOPO LA TRIMESTRALE DI LUGLIO 2015 +--UPDATE c6martperiodico.contrattosei +-- set +-- indirizzo = a.bindirizzo +-- ,cap = a.bcap +-- ,citta = a.bcitta +-- ,prov = a.bProvincia +-- ,presso = a.bPresso +--from cambio_tot a +--inner join c6martperiodico.contrattosei b +--on a.codicecontratto = b.codicecontratto +--UPDATE C6StagingPeriodico.appo_contratti +-- set +-- indirizzo = a.bindirizzo +-- ,cap = a.bcap +-- ,citta = a.bcitta +-- ,provincia = a.bProvincia +-- ,presso = a.bPresso +--from cambio_tot a +--inner join C6StagingPeriodico.appo_contratti_v b +--on a.codicecontratto = b.codicecontratto +--FINE INTERVENTO TEMPORANEO +-- Allineamento Flag Rol su contratto sei +Update C6MartPeriodico.ContrattoSei +Set Rol = Case D.statorol + When 'S' then D.statorol + Else 'N' + End, + EmAil = Case d.alertrol + When 'S' then D.Email + End +from C6MartPeriodico.ContrattoSei C inner join C6StagingPeriodico.datiRol2 D +on d.codContratto = c.codiceContratto +----INIZIO INTERVENTO TEMPORANEO +---- Aggiornamento rol per 59 fiduciare FScirocco _VERIFICARE POST TRIM SE L'INTERVENTO DEVE RIMANERE A REGIME O MENO (chiedere ogni trimestrale) +--UPDATE C6MARTPERIODICO.CONTRATTOSEI +--SET ROL = 'S' +--WHERE COD_FISCALE IN +--('FF@1602' +--,'FF@1832' +--,'FF@2103' +--,'FF@2168' +--,'FF@2464' +--,'FF@3033' +--,'FF@3151' +--,'FF@3329' +--,'FF@3444' +--,'FF@4055' +--,'FF@4461' +--,'FF@5052' +--,'FF@5076' +--,'FF@5758' +--,'FF@5952' +--,'FF@6221' +--,'FF@6368' +--,'FF@6606' +--,'FF@6777' +--,'FF@7104' +--,'FF@7171' +--,'FF@7185' +--,'FF@7317' +--,'FF@7522' +--,'FF@7699' +--,'FF@7763' +--,'FF@7837' +--,'FF@7986' +--,'FF@8095' +--,'FF@8101' +--,'FF@8398' +--,'FF@8724' +--,'FF@8798' +--,'FF@8799' +--,'FF@8800' +--,'FF@8877' +--,'FF@8880' +--,'FF@8881' +--,'FF@8882' +--,'FF@8996' +--,'FF@9022' +--,'FF@9220' +--,'FF@9285' +--,'FF@9318' +--,'FF@9323' +--,'FF@9338' +--,'FF@9578' +--,'FF@9593' +--,'FF@9662' +--,'FF@5044' +--,'FF@5226' +--,'FF@7205' +--,'FF@7774' +--,'FF@8797' +--,'FF@8861' +--,'FF@8885' +--,'FF@9204' +--,'FF@9418' +--,'FF@9661') +----FINE INTERVENTO TEMPORANEO \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_CONTRATTOSEI_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_CONTRATTOSEI_pre_selective.sql new file mode 100644 index 00000000..b7c353f3 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_CONTRATTOSEI_pre_selective.sql @@ -0,0 +1,203 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_CONTRATTOSEI_pre_selective] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_CONTRATTOSEI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MartPERIODICO.CONTRATTOSEI +INSERT INTO C6MartPERIODICO.CONTRATTOSEI +SELECT + [Rete], + [Cod_Fiscale], + [PIva_Fiduciaria], + [DATA_INZIOAVANZATO] as [Data_Sott], + [CodiceContratto], + [Cod_Agente], + [Data_Perf_Base], + [Data_Perf], + null as [Fascia_CPP], + null as [Email], + [Indirizzo], + [CAP], + [Citta], + [Provincia], + [Nazione], + [Presso], + null as[Data_Inizio], + [Freq_Diagnosi], + [FREQ_MONITORAGGIO], + null as [Freq_DiagnosiPrec], + null as [Freq_MonitorPrec], + null as [Data_InizioConsInv], + [Data_InizioBase], + [Data_FineBase], + [DATA_INZIOAVANZATO], + [Data_FineAvanzato], + null as [ProgressivoInvio], + 'N', + 'N', + null as [DataUltimoInvio], + [ClienteMigrato], + [RisorseNA], + null as [PartViaDisinv], + [NumSolleciti], + [Data_UltimoSollecito], + [NumRevoche], + [Data_UltimaRevoca], + null as [Note], + null as [Data_Invio_Diagnosi_Trimestrale], + null as [Data_Invio_Monitoraggio_Trimestrale], + [ProfiloAttivo], + null as [Rol], + [TIP_CONTRATTO], + [TIP_RIATTIVAZIONE] +FROM + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CONTRATTOSEI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_CONTRATTOSEI_pre_selective' + ) +UPDATE c6martperiodico.contrattosei + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,prov = a.Provincia + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITOR = a.FREQ_MONITORAGGIO +from c6mart.vcontratti a +inner join c6martperiodico.contrattosei b +on a.codicecontratto = b.codicecontratto +UPDATE C6StagingPeriodico.appo_contratti + set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,provincia = a.Prov + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITORAGGIO = a.FREQ_MONITOR +from c6martperiodico.contrattosei a +inner join c6stagingperiodico.appo_contratti b +on a.codicecontratto = b.codicecontratto +--INIZIO INTERVENTO TEMPORANEO +--ELIMINARE LE SUCCESSIVE DUE UPDATE DOPO LA TRIMESTRALE DI LUGLIO 2015 +--UPDATE c6martperiodico.contrattosei +-- set +-- indirizzo = a.bindirizzo +-- ,cap = a.bcap +-- ,citta = a.bcitta +-- ,prov = a.bProvincia +-- ,presso = a.bPresso +--from cambio_tot a +--inner join c6martperiodico.contrattosei b +--on a.codicecontratto = b.codicecontratto +--UPDATE C6StagingPeriodico.appo_contratti +-- set +-- indirizzo = a.bindirizzo +-- ,cap = a.bcap +-- ,citta = a.bcitta +-- ,provincia = a.bProvincia +-- ,presso = a.bPresso +--from cambio_tot a +--inner join C6StagingPeriodico.appo_contratti b +--on a.codicecontratto = b.codicecontratto +--FINE INTERVENTO TEMPORANEO +-- Allineamento Flag Rol su contratto sei +Update C6MartPeriodico.ContrattoSei +Set Rol = Case D.statorol + When 'S' then D.statorol + Else 'N' + End, + EmAil = Case d.alertrol + When 'S' then D.Email + End +from C6MartPeriodico.ContrattoSei C inner join C6StagingPeriodico.datiRol2 D +on d.codContratto = c.codiceContratto +----INIZIO INTERVENTO TEMPORANEO +---- Aggiornamento rol per 59 fiduciare FScirocco _VERIFICARE POST TRIM SE L'INTERVENTO DEVE RIMANERE A REGIME O MENO (chiedere ogni trimestrale) +--UPDATE C6MARTPERIODICO.CONTRATTOSEI +--SET ROL = 'S' +--WHERE COD_FISCALE IN +--('FF@1602' +--,'FF@1832' +--,'FF@2103' +--,'FF@2168' +--,'FF@2464' +--,'FF@3033' +--,'FF@3151' +--,'FF@3329' +--,'FF@3444' +--,'FF@4055' +--,'FF@4461' +--,'FF@5052' +--,'FF@5076' +--,'FF@5758' +--,'FF@5952' +--,'FF@6221' +--,'FF@6368' +--,'FF@6606' +--,'FF@6777' +--,'FF@7104' +--,'FF@7171' +--,'FF@7185' +--,'FF@7317' +--,'FF@7522' +--,'FF@7699' +--,'FF@7763' +--,'FF@7837' +--,'FF@7986' +--,'FF@8095' +--,'FF@8101' +--,'FF@8398' +--,'FF@8724' +--,'FF@8798' +--,'FF@8799' +--,'FF@8800' +--,'FF@8877' +--,'FF@8880' +--,'FF@8881' +--,'FF@8882' +--,'FF@8996' +--,'FF@9022' +--,'FF@9220' +--,'FF@9285' +--,'FF@9318' +--,'FF@9323' +--,'FF@9338' +--,'FF@9578' +--,'FF@9593' +--,'FF@9662' +--,'FF@5044' +--,'FF@5226' +--,'FF@7205' +--,'FF@7774' +--,'FF@8797' +--,'FF@8861' +--,'FF@8885' +--,'FF@9204' +--,'FF@9418' +--,'FF@9661') +----FINE INTERVENTO TEMPORANEO \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE.sql new file mode 100644 index 00000000..2bf73a43 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE.sql @@ -0,0 +1,19 @@ +-- Stored procedure +-- ===================================================== +-- Author: colaianni-consoli +-- Create date: 28/06/2011 +-- Description: CARICA LA TABELLA CONTROLLO_TRIMESTRALE +-- CON TUTTI I REPORT OGGETTO DI STAMPA +-- ===================================================== +CREATE procedure [C6MartPeriodico].[RP_DM_CONTROLLO_TRIMESTRALE] +AS BEGIN +TRUNCATE TABLE C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +INSERT INTO + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SELECT + COD_FISCALE, RETE, CASE WHEN FREQ_DIAGNOSI IS NULL THEN 0 ELSE 1 END, NULL, NULL, 1, NULL, GETDATE() +FROM +-- Modifica MV 18/04/2015 +-- C6MARTPERIODICO.RP_vContrattiPerGenerazioneReport + C6stagingPERIODICO.appo_contratti_v +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE_pre_selective.sql new file mode 100644 index 00000000..23199c4b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_CONTROLLO_TRIMESTRALE_pre_selective.sql @@ -0,0 +1,19 @@ +-- Stored procedure +-- ===================================================== +-- Author: colaianni-consoli +-- Create date: 28/06/2011 +-- Description: CARICA LA TABELLA CONTROLLO_TRIMESTRALE +-- CON TUTTI I REPORT OGGETTO DI STAMPA +-- ===================================================== +CREATE procedure [C6MartPeriodico].[RP_DM_CONTROLLO_TRIMESTRALE_pre_selective] +AS BEGIN +TRUNCATE TABLE C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +INSERT INTO + C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +SELECT + COD_FISCALE, RETE, CASE WHEN FREQ_DIAGNOSI IS NULL THEN 0 ELSE 1 END, NULL, NULL, 1, NULL, GETDATE() +FROM +-- Modifica MV 18/04/2015 +-- C6MARTPERIODICO.RP_vContrattiPerGenerazioneReport + C6stagingPERIODICO.appo_contratti +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_Confronto_IndicatoreRischio.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_Confronto_IndicatoreRischio.sql new file mode 100644 index 00000000..4985161a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_Confronto_IndicatoreRischio.sql @@ -0,0 +1,70 @@ +--select * from C6MartPeriodico.CONFRONTO_RISCHIO +CREATE procedure [C6MartPeriodico].[RP_DM_Confronto_IndicatoreRischio] +AS +BEGIN +DECLARE @PERC_SCARTO AS DECIMAL (5,2) +SET @PERC_SCARTO= 1 +TRUNCATE TABLE[C6martPeriodico].[CONFRONTO_RISCHIO] +INSERT INTO [C6martPeriodico].[CONFRONTO_RISCHIO] +SELECT + qd.rete as Rete, + qd.codfis as Codfis, + qd.piva as Piva, + qd.codman as Codman, + qd.chiave_acn as Chiave_acn, + ABS(qd.isp_total_risk) AS Rischio_Adeguatezza , + ra.VAR_PERC_PTF AS Rischio_IL, + ABS(ABS(qd.isp_total_risk) - ABS(ra.VAR_PERC_PTF)) AS Dif_rischio, + --ABS(qd.isp_total_risk) * + @PERC_SCARTO AS Val_Tol_Scarto, + CASE + WHEN ABS(ABS(qd.isp_total_risk) - ABS(ra.VAR_PERC_PTF)) > --(ABS(qd.isp_total_risk) * + @PERC_SCARTO THEN 'KO' + ELSE 'OK' + END AS Confronto_Ind_Rischio, + trim(qd.flag_risk) AS Flag_Rischio_Adeguatezza, + CASE + WHEN ade.Adeg_Rischio = 'S' THEN 'Y' + WHEN ade.Adeg_Rischio = 'N' THEN '' + ELSE ade.Adeg_Rischio + END AS Flag_Rischio_IL, + CASE + WHEN trim(qd.flag_risk) <> + CASE + WHEN ade.Adeg_Rischio in ('S','NA') THEN 'Y' + WHEN ade.Adeg_Rischio = 'N' THEN '' + ELSE ade.Adeg_Rischio + END + THEN 'KO' + ELSE 'OK' END AS Confronto_Flag_Ind_Rischio + ,NULL as Perc_Var_KO + ,NULL as Perc_Ind_Adeg_KO +FROM [C6martPeriodico].[QD_VAR_RISK_WEEK2] qd +LEFT JOIN [C6martPeriodico].RISCHIO_AGGREGATO ra + ON qd.rete = ra.rete AND qd.chiave_acn = ra.COD_FISCALE +LEFT JOIN [C6MartPeriodico].[W6CKADEG] ade + ON qd.rete = ade.Rete AND qd.chiave_acn = ade.Chiave_Acn +WHERE ra.COD_AGGREG = 'COMPLESSIVO' +DECLARE @NUM_C_RISCHIO INT +DECLARE @NUM_C_RISCHIO_KO INT +DECLARE @NUM_F_RISCHIO INT +DECLARE @NUM_F_RISCHIO_KO INT +select @NUM_C_RISCHIO=COUNT(*) from [C6martPeriodico].[CONFRONTO_RISCHIO] +select @NUM_C_RISCHIO_KO=COUNT(*) from [C6martPeriodico].[CONFRONTO_RISCHIO] where Confronto_Ind_Rischio='KO' +select @NUM_F_RISCHIO=COUNT(*) from [C6martPeriodico].[CONFRONTO_RISCHIO] +select @NUM_F_RISCHIO_KO=COUNT(*) from [C6martPeriodico].[CONFRONTO_RISCHIO] where Confronto_Flag_Ind_Rischio='KO' + -- FerAcu 20240913 - Ovviare a problema di divisione per zero quando la tabella è vuota + if (@NUM_C_RISCHIO != 0 and @NUM_F_RISCHIO != 0) + begin + declare @PERC_C_RISCHIO DECIMAL(18,2) + DECLARE @PERC_F_RISCHIO DECIMAL(18,2) + --Confronto_Perc_Rischio Perc_Var_KO + SET @PERC_C_RISCHIO = (CAST(@NUM_C_RISCHIO_KO AS DECIMAL(18,2)) * 100) / CAST(@NUM_C_RISCHIO AS DECIMAL(18,2)); + --Confronto_Ind_Rischio Perc_Ind_Adeg_KO + SET @PERC_F_RISCHIO = (CAST(@NUM_F_RISCHIO_KO AS DECIMAL(18,2)) * 100) / CAST(@NUM_F_RISCHIO AS DECIMAL(18,2)); + update [C6martPeriodico].[CONFRONTO_RISCHIO] + set Perc_Var_KO=@PERC_C_RISCHIO + update [C6martPeriodico].[CONFRONTO_RISCHIO] + set Perc_Ind_Adeg_KO=@PERC_F_RISCHIO + end +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.20170320.OBS.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.20170320.OBS.sql new file mode 100644 index 00000000..146c9dc1 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.20170320.OBS.sql @@ -0,0 +1,227 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[TEMP_RP_DM_DETTAGLIO_ASUL] +CREATE procedure [C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL.20170320.OBS] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + DECLARE @MaxDTTrim AS decimal(9,0) + SELECT @MaxDTTrim = MAX(DTTRIM) FROM C6STAGINGPERIODICO.WSEIUL + TRUNCATE TABLE C6MartPeriodico.DETTAGLIO_ASUL + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + --ISNULL( + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + -- SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + CAST('' AS VARCHAR(255)) AS COD_PRODOTTO, + --ISNULL(SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57), + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD) + -- ) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + SPB_CONTR_SINTESI.POSITIONID AS SPB_POSITIONID + INTO #TEMP_DETTAGLIO_ASUL + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGINGPERIODICO.RP_CatalogoProdotti CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.CodInterno + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.CodSottoprodotto + --AND CATITEMREF.Visibilita = 1 + AND (SPB_ASS_UNIT.ISIN = '' --and CATITEMREF.CodIsin is null --= '$' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.CodAdeguatezza + AND + SPB_ASS_UNIT.MAF = CATITEMREF.CodMaf) + ) +WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = @MaxDTTrim + AND CATITEMREF.Visibilita = 1 + and SPB_CONTR_SINTESI.CTV <> 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + declare @visible int + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + INNER JOIN + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = 1 + )CAT + on + --caso 1 + (COD_SOTTOPRODOTTO not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'')) + or + --else caso 1 + (COD_SOTTOPRODOTTO in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'') + and cat.TIPOPRODOTTO = 'ASUL') + --*********************************************************************************** + WHERE COD_PRODOTTO = '' + set @visible = @visible - 1 + end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_2' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = SPB_POSITIONID + WHERE COD_PRODOTTO = '' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_3' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_4', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO [C6MartPeriodico].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + [RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB] + FROM #TEMP_DETTAGLIO_ASUL + DROP TABLE #TEMP_DETTAGLIO_ASUL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_4' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_4' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.sql new file mode 100644 index 00000000..b4417ccc --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL.sql @@ -0,0 +1,350 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[TEMP_RP_DM_DETTAGLIO_ASUL] +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + DECLARE @MaxDTTrim AS decimal(9,0) + SELECT @MaxDTTrim = MAX(DTTRIM) FROM C6STAGINGPERIODICO.WSEIUL + TRUNCATE TABLE C6MartPeriodico.DETTAGLIO_ASUL + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + --ISNULL( + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + -- SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + CAST('' AS VARCHAR(255)) AS COD_PRODOTTO, + --ISNULL(SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57), + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD) + -- ) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + SPB_CONTR_SINTESI.POSITIONID AS SPB_POSITIONID + INTO #TEMP_DETTAGLIO_ASUL + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGINGPERIODICO.RP_CatalogoProdotti CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.CodInterno + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.CodSottoprodotto + -------------------> Mod del 23/1/2017 - ripristinata and sulla visibilità precedentemente commentata + AND CATITEMREF.Visibilita = 1 + -------------------> Fine Mod del 23/1/2017 + AND (SPB_ASS_UNIT.ISIN = '' --and CATITEMREF.CodIsin is null --= '$' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.CodAdeguatezza + AND + SPB_ASS_UNIT.MAF = CATITEMREF.CodMaf) + ) +WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = @MaxDTTrim + -------------------> Mod del 23/1/2017 -Commentata and sulla visibilità + --AND CATITEMREF.Visibilita = 1 + -------------------> Fine Mod del 23/1/2017 + and SPB_CONTR_SINTESI.CTV <> 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + declare @visible int + -- FerAcu 20250226 Variante dell'update progressiva più rigorosa che entra sul catalogo anche per ISIN, aggiunta per gestire cattile valorizzazioni sui SottoProdotti LSEL + -- FerAcu 20250226 NEW + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + INNER JOIN + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = 1 + )CAT + on 1=1 + -- FerAcu 20250225 aggiunto criterio su ISIN con capisco perche l'Update non finiva in errore, riportavas un valore a caso ... + and cat.CodIsin = case when COD_ISIN_SOTT != '' Then COD_ISIN_SOTT Else COD_ISIN_FITTIZIO End + and ( + --caso 1 + (COD_SOTTOPRODOTTO not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'')) + or + --else caso 1 + (COD_SOTTOPRODOTTO in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'') + and cat.TIPOPRODOTTO = 'ASUL') + ) + --*********************************************************************************** + WHERE COD_PRODOTTO = '' + set @visible = @visible - 1 + end + -- FerAcu 20250226 OLD con verifica sul singlolo match + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + CROSS APPLY + ( + select * + , COUNT(1) OVER(PARTITION BY cp.CODINTERNO, cp.CODSOTTOPRODOTTO, cp.TIPOPRODOTTO ) AS count_match + from c6stagingperiodico.rp_catalogoprodotti cp + where visibilita = 1 + and ( + --caso 1 + (COD_SOTTOPRODOTTO not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cp.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cp.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'')) + or + --else caso 1 + (COD_SOTTOPRODOTTO in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cp.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cp.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'') + and cp.TIPOPRODOTTO = 'ASUL') + ) + ) CAT + --*********************************************************************************** + WHERE COD_PRODOTTO = '' + -- FerAcu 20250226 + and count_match = 1 + set @visible = @visible - 1 + end + -------------------> Mod del 23/1/2017 + --aggiorno tutti quelli che non hanno almeno un prodotto in catalogo con visibilità 1 + -- FerAcu 20250226 NEW + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + INNER JOIN c6stagingperiodico.rp_catalogoprodotti cat + on 1=1 + -- FerAcu 20250225 aggiunto ctriterio su ISIN con capisco perche l'Update non finiva in errore, riportavas un valore a caso ... + and cat.CodIsin = case when COD_ISIN_SOTT != '' Then COD_ISIN_SOTT Else COD_ISIN_FITTIZIO End + and ( + isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'') + and cat.TIPOPRODOTTO = 'ASUL' + ) + --*********************************************************************************** + WHERE COD_PRODOTTO = '' + set @visible = @visible - 1 + end + -- FerAcu 20250226 OLD con verifica sul singlolo match + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + CROSS APPLY + ( + select * + , COUNT(1) OVER(PARTITION BY cp.CODINTERNO, cp.CODSOTTOPRODOTTO, cp.TIPOPRODOTTO ) AS count_match + from c6stagingperiodico.rp_catalogoprodotti cp + where 1=1 + and ( + isnull(cp.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cp.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'') + and cp.TIPOPRODOTTO = 'ASUL' + ) + ) CAT + --*********************************************************************************** + WHERE COD_PRODOTTO = '' + -- FerAcu 20250226 + and count_match = 1 + set @visible = @visible - 1 + end + -------------------> Fine Mod del 23/1/2017 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_2' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + -------------> modifica del 23/01/2017 - questa update non è corretta - sostituiamo con scarto su data quality + --UPDATE #TEMP_DETTAGLIO_ASUL + --SET COD_PRODOTTO = SPB_POSITIONID + --WHERE COD_PRODOTTO = '' + select + 14 as idTipoCtr, + rete as rete, + cod_fiscale as codfis, + (select DescSegnalazione from c6martperiodico.tb_tipocontrollo where idtipocontrollo = 14) + temp.cod_interno + '/' + temp.cod_sottoprodotto + '/' +temp.id_contratto + as descrizione, + @ID_ELAB as idelab, + '' as richiesta, + 0 as idfase, + getdate() as dataelab + into #TbErrori + from #TEMP_DETTAGLIO_ASUL temp + WHERE temp.COD_PRODOTTO = '' + Insert into C6MartPeriodico.TB_SegnalazioniDataQuality + select * from #TbErrori + -------------> fine modifica del 23/01/2017 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_3' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_4', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO [C6MartPeriodico].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[POSITION_ID] + -- ,[CHIAVEPROGETTO] + ) + SELECT + d.[RETE] + ,d.[COD_FISCALE] + ,d.[COD_PRODOTTO] + ,d.[ID_CONTRATTO] + ,d.[COD_SOTTOPRODOTTO] + ,d.[COD_INTERNO] + ,d.[CTV] + ,d.[DATA_RIF] + ,d.[COD_ISIN_FITTIZIO] + ,d.[COD_ISIN_SOTT] + ,d.[COD_MAF_SOTT] + ,d.[ID_ELAB] + ,d.[TIPO_ELAB] + ,D.[SPB_POSITIONID] + -- ,p.[Chiaveprogetto] + FROM #TEMP_DETTAGLIO_ASUL d + -- left join C6MartPeriodico.PATRIMONIO_BF patr on + -- patr.POSITION_ID=d.SPB_POSITIONID + update d + set d.ChiaveProgetto=patr.CHIAVE_PROGETTO + from C6MartPeriodico.DETTAGLIO_ASUL d left join C6MartPeriodico.PATRIMONIO_BF patr on + patr.POSITION_ID=d.POSITION_ID + DROP TABLE #TEMP_DETTAGLIO_ASUL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_4' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_4' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_20170123.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_20170123.sql new file mode 100644 index 00000000..bfbeb5da --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_20170123.sql @@ -0,0 +1,227 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[TEMP_RP_DM_DETTAGLIO_ASUL] +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL_20170123] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + DECLARE @MaxDTTrim AS decimal(9,0) + SELECT @MaxDTTrim = MAX(DTTRIM) FROM C6STAGINGPERIODICO.WSEIUL + TRUNCATE TABLE C6MartPeriodico.DETTAGLIO_ASUL + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + --ISNULL( + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + -- SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + CAST('' AS VARCHAR(255)) AS COD_PRODOTTO, + --ISNULL(SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57), + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD) + -- ) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + SPB_CONTR_SINTESI.POSITIONID AS SPB_POSITIONID + INTO #TEMP_DETTAGLIO_ASUL + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGINGPERIODICO.RP_CatalogoProdotti CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.CodInterno + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.CodSottoprodotto + --AND CATITEMREF.Visibilita = 1 + AND (SPB_ASS_UNIT.ISIN = '' --and CATITEMREF.CodIsin is null --= '$' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.CodAdeguatezza + AND + SPB_ASS_UNIT.MAF = CATITEMREF.CodMaf) + ) +WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = @MaxDTTrim + AND CATITEMREF.Visibilita = 1 + and SPB_CONTR_SINTESI.CTV <> 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_1' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + declare @visible int + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + INNER JOIN + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = 1 + )CAT + on + --caso 1 + (COD_SOTTOPRODOTTO not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'')) + or + --else caso 1 + (COD_SOTTOPRODOTTO in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'') + and cat.TIPOPRODOTTO = 'ASUL') + --*********************************************************************************** + WHERE COD_PRODOTTO = '' + set @visible = @visible - 1 + end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_2' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = SPB_POSITIONID + WHERE COD_PRODOTTO = '' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_3' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_4', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO [C6MartPeriodico].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + [RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB] + FROM #TEMP_DETTAGLIO_ASUL + DROP TABLE #TEMP_DETTAGLIO_ASUL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_4' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_4' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_TEMP.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_TEMP.sql new file mode 100644 index 00000000..50372757 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_TEMP.sql @@ -0,0 +1,106 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL_TEMP] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL', + GETDATE(), + 'Elaborazione trimestrale' + ) + --TRUNCATE TABLE C6MartPeriodico.DETTAGLIO_ASUL +--delete C6MartPeriodico.DETTAGLIO_ASUL where cod_fiscale = 'RNGBCM56E61D612I' + INSERT INTO [C6MartPeriodico].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + ISNULL( + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + --ISNULL(SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57), + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD) + -- ) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGINGPERIODICO.RP_CatalogoProdotti CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.CodInterno + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.CodSottoprodotto + --AND CATITEMREF.Visibilita = 1 + AND (SPB_ASS_UNIT.ISIN = '' --and CATITEMREF.CodIsin is null --= '$' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.CodAdeguatezza + AND + SPB_ASS_UNIT.MAF = CATITEMREF.CodMaf) + ) +WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = ( + SELECT + MAX(DTTRIM) + FROM + C6STAGINGPERIODICO.WSEIUL + ) + AND CATITEMREF.Visibilita = 1 + and SPB_CONTR_SINTESI.CTV <> 0 +and SPB_CONTR_SINTESI.CODFIS = 'RNGBCM56E61D612I' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_luca.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_luca.sql new file mode 100644 index 00000000..5ccc535a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_luca.sql @@ -0,0 +1,129 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[TEMP_RP_DM_DETTAGLIO_ASUL] +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL_luca] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + DECLARE @MaxDTTrim AS decimal(9,0) + SELECT @MaxDTTrim = MAX(DTTRIM) FROM C6STAGINGPERIODICO.WSEIUL + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + --ISNULL( + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + -- SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + CAST('' AS VARCHAR(255)) AS COD_PRODOTTO, + --ISNULL(SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57), + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD) + -- ) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + SPB_CONTR_SINTESI.POSITIONID AS SPB_POSITIONID + INTO #TEMP_DETTAGLIO_ASUL + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGINGPERIODICO.RP_CatalogoProdotti CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.CodInterno + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.CodSottoprodotto + --AND CATITEMREF.Visibilita = 1 + AND (SPB_ASS_UNIT.ISIN = '' --and CATITEMREF.CodIsin is null --= '$' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.CodAdeguatezza + AND + SPB_ASS_UNIT.MAF = CATITEMREF.CodMaf) + ) +WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = @MaxDTTrim + AND CATITEMREF.Visibilita = 1 + and SPB_CONTR_SINTESI.CTV <> 0 + AND SPB_CONTR_SINTESI.CODFIS = 'MLSVNC68S45D612E' + SELECT * from #TEMP_DETTAGLIO_ASUL + declare @visible int + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + INNER JOIN + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = 1 + )CAT + on + --caso 1 + (COD_SOTTOPRODOTTO not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'')) + or + --else caso 1 + (COD_SOTTOPRODOTTO in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'') + and cat.TIPOPRODOTTO = 'ASUL') + --*********************************************************************************** + WHERE COD_PRODOTTO = '' + set @visible = @visible - 1 + end + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = SPB_POSITIONID + WHERE COD_PRODOTTO = '' + INSERT INTO [C6MartPeriodico].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + [RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB] + FROM #TEMP_DETTAGLIO_ASUL + DROP TABLE #TEMP_DETTAGLIO_ASUL + -- Log esecuzione +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_pre_selective.sql new file mode 100644 index 00000000..33637a4f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_DETTAGLIO_ASUL_pre_selective.sql @@ -0,0 +1,227 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[TEMP_RP_DM_DETTAGLIO_ASUL_pre_selective] +CREATE procedure [C6MartPeriodico].[RP_DM_DETTAGLIO_ASUL_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_pre_selective_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + DECLARE @MaxDTTrim AS decimal(9,0) + SELECT @MaxDTTrim = MAX(DTTRIM) FROM C6STAGINGPERIODICO.WSEIUL + TRUNCATE TABLE C6MartPeriodico.DETTAGLIO_ASUL + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODFIS AS COD_FISCALE, + --ISNULL( + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD), + -- SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + CAST('' AS VARCHAR(255)) AS COD_PRODOTTO, + --ISNULL(SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57), + -- C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPPROD, SPB_ASS_UNIT.CODINT, SPB_ASS_UNIT.MAF, '', SPB_ASS_UNIT.SUBPROD) + -- ) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODCONF AS ID_CONTRATTO, + SPB_ASS_UNIT.SUBPROD AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODINT AS COD_INTERNO, + SPB_ASS_UNIT.CTV AS CTV, + CASE + WHEN ISDATE(SPB_ASS_UNIT.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB_ASS_UNIT.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_RIF, + SPB_ASS_UNIT.ISINFIT AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.ISIN AS COD_ISIN_SOTT, + SPB_ASS_UNIT.MAF AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + SPB_CONTR_SINTESI.POSITIONID AS SPB_POSITIONID + INTO #TEMP_DETTAGLIO_ASUL + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI + INNER JOIN + C6STAGINGPERIODICO.WSEIUL SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODCONF = SPB_ASS_UNIT.CODCONF + LEFT OUTER JOIN + C6STAGINGPERIODICO.RP_CatalogoProdotti CATITEMREF + ON SPB_ASS_UNIT.CODINT = CATITEMREF.CodInterno + AND SPB_ASS_UNIT.SUBPROD = CATITEMREF.CodSottoprodotto + --AND CATITEMREF.Visibilita = 1 + AND (SPB_ASS_UNIT.ISIN = '' --and CATITEMREF.CodIsin is null --= '$' + OR ( + SPB_ASS_UNIT.ISIN = CATITEMREF.CodAdeguatezza + AND + SPB_ASS_UNIT.MAF = CATITEMREF.CodMaf) + ) +WHERE SPB_CONTR_SINTESI.tipprod ='ASUL' + AND SPB_ASS_UNIT.DTTRIM = @MaxDTTrim + AND CATITEMREF.Visibilita = 1 + and SPB_CONTR_SINTESI.CTV <> 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_pre_selective_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_pre_selective_1' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_pre_selective_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + declare @visible int + set @visible = 1 + while @visible >= 0 + begin + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = CAT.CATALOGUEID + FROM + #TEMP_DETTAGLIO_ASUL + --******************************************************************************** + INNER JOIN + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = 1 + )CAT + on + --caso 1 + (COD_SOTTOPRODOTTO not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'')) + or + --else caso 1 + (COD_SOTTOPRODOTTO in ('LIQUI', 'VAR5', 'VAR10', 'VAR15') + and isnull(cat.CODINTERNO,'') = isnull(COD_INTERNO,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(COD_SOTTOPRODOTTO,'') + and cat.TIPOPRODOTTO = 'ASUL') + --*********************************************************************************** + WHERE COD_PRODOTTO = '' + set @visible = @visible - 1 + end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_pre_selective_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_pre_selective_2' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_pre_selective_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + UPDATE #TEMP_DETTAGLIO_ASUL + SET COD_PRODOTTO = SPB_POSITIONID + WHERE COD_PRODOTTO = '' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_pre_selective_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_pre_selective_3' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_DETTAGLIO_ASUL_pre_selective_4', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO [C6MartPeriodico].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + [RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB] + FROM #TEMP_DETTAGLIO_ASUL + DROP TABLE #TEMP_DETTAGLIO_ASUL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_pre_selective_4' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_DETTAGLIO_ASUL_pre_selective_4' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ESG_ANAG_METRICHE.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ESG_ANAG_METRICHE.sql new file mode 100644 index 00000000..3f0ae45d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ESG_ANAG_METRICHE.sql @@ -0,0 +1,182 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from C6MartPeriodico.assetclass +CREATE procedure [C6MartPeriodico].[RP_DM_ESG_ANAG_METRICHE] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ESG_ANAG_METRICHE', + GETDATE(), + 'Elaborazione giornaliera' + ) +TRUNCATE TABLE c6StagingPeriodico.ESG_ANAG_METRICHE + INSERT INTO [c6StagingPeriodico].ESG_ANAG_METRICHE + ( [COD_PRODOTTO] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[CatSFDR] + ,[ESGRating] + ,[TrendESGRating] + ,[LABEL_Green_Bond] + ,[LABEL_Social_Bond] + ,[LABEL_Sustainability_Bond] + ,[LABEL_Transition_Bond] + ,[LABEL_Sust_linked_bond] + ,LABEL_EU_GREEN_BOND_STANDARD + ,[PERC_INVESTIMENTO_TAXONOMY] + ,[PERC_INVESTIMENTO_SFDR] + ,[PERC_INVEST_SFDR_MIN_SUST_E] + ,[PERC_INVEST_SFDR_MIN_SUST_S] + ,[PAI_LAB_A_Emissioni_Gas_Serra] + ,[PAI_LAB_A_Biodiversita] + ,[PAI_LAB_A_Acqua] + ,[PAI_LAB_A_Rifiuti] + ,[PAI_LAB_A_Gov_Ambientale] + ,[PAI_LAB_A_Comb_Fossili] + ,[PAI_LAB_A_Eff_energetica] + ,[PAI_LAB_A_Settore_Immobiliare] + ,[PAI_LAB_S_Questioni_Soc_Dip] + ,[PAI_LAB_S_Gov_Sociali] + ,[U_INFO_ESG] + ,[ID_ELAB] + ,[TIPO_ELAB] + ) + SELECT + --ChiaveProdotto, + CatalogueID AS COD_PRODOTTO, + C.CodSottoprodotto AS COD_SOTTOPRODOTTO, + ISNULL(C.CodInterno, '') AS COD_INTERNO, + C.CodMaf AS COD_MAF, + C.CodAdeguatezza AS COD_ADEGUATEZZA, + ISNULL(C.CodIsin, '') AS COD_ISIN, + case when Ltrim(rtrim(ESG_E)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_E)) = 'N' then 'NO' + else 'NO' end as ESG_E, + case when Ltrim(rtrim(ESG_S)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_S)) = 'N' then 'NO' + else 'NO' end as ESG_S, + case when Ltrim(rtrim(ESG_G)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_G)) = 'N' then 'NO' + else 'NO' end as ESG_G, + case when CatSFDR='-' then '' else CatSFDR end as CatSFDR, + Ltrim(rtrim(ESGRating)) as ESGRating , + Ltrim(rtrim(TrendESGRating)) as TrendESGRating, + case when LABEL_Green_Bond<> '-' then 'Green Bond' else '' end as LABEL_Green_Bond, + case when LABEL_Social_Bond<> '-' then 'Social Bond' else '' end as LABEL_Social_Bond, + case when LABEL_Sustainability_Bond<> '-' then 'Sustainability Bond' else '' end as LABEL_Sustainability_Bond, + case when LABEL_Transition_Bond<> '-' then 'Transition Bond' else '' end as LABEL_Transition_Bond, + case when LABEL_Sust_linked_bond<> '-' then 'Sustainability Linked Bond' else '' end as LABEL_Sust_linked_bond, + case when LABEL_EU_GREEN_BOND_STANDARD<> '-' then 'EU Green Bond Standard' else '' end as LABEL_EU_GREEN_BOND_STANDARD, + PERC_INVESTIMENTO_TAXONOMY *100 as PERC_INVESTIMENTO_TAXONOMY, + PERC_INVESTIMENTO_SFDR * 100 as PERC_INVESTIMENTO_SFDR, + [PERC_INVEST_SFDR_MIN_SUST_E] * 100 as PERC_INVEST_SFDR_MIN_SUST_E , + [PERC_INVEST_SFDR_MIN_SUST_S] * 100 as PERC_INVEST_SFDR_MIN_SUST_S, + case when PAI_LAB_A_Emissioni_Gas_Serra<>'-' then 'Emissioni Gas Serra' else '' end as PAI_LAB_A_Emissioni_Gas_Serra, + case when PAI_LAB_A_Biodiversita<>'-' then 'Biodiversità' else '' end as PAI_LAB_A_Biodiversita, + case when PAI_LAB_A_Acqua<>'-' then 'Acqua' else '' end as PAI_LAB_A_Acqua, + case when PAI_LAB_A_Rifiuti<>'-' then 'Rifiuti' else '' end as PAI_LAB_A_Rifiuti, + case when PAI_LAB_A_Gov_Ambientale<>'-' then 'Governativi di tipo Ambientale' else '' end as PAI_LAB_A_Gov_Ambientale, + case when PAI_LAB_A_Comb_Fossili<>'-' then 'Combustibili Fossili' else '' end as PAI_LAB_A_Comb_Fossili, + case when PAI_LAB_A_Eff_energetica<>'-' then 'Efficienza Energetica' else '' end as PAI_LAB_A_Eff_energetica, + case when PAI_LAB_A_Settore_Immobiliare <>'-' then 'Settore Immobiliare' else '' end as PAI_LAB_A_Settore_Immobiliare, + case when PAI_LAB_S_Questioni_Soc_Dip<>'-' then 'Questioni Sociali e dei Dipendenti' else '' end as PAI_LAB_S_Questioni_Soc_Dip, + case when PAI_LAB_S_Gov_Sociali<>'-' then 'Governativi di tipo Sociale' else '' end as PAI_LAB_S_Gov_Sociali, + case when U_INFO_ESG='TOOL_01' then 'Nota1' + when U_INFO_ESG='TOOL_02' then 'Nota2' + else '' end as U_INFO_ESG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM c6StagingPeriodico.RP_CatalogoProdotti c + Inner Join c6StagingPeriodico.RP_TB_ESG_ANAG_STRUM a + ON c.ChiaveProdotto = a.ChiaveProdotto +UPDATE m1 +SET m1.label_pai_a = NULLIF(CONCAT_WS(', ', + NULLIF(m2.PAI_LAB_A_Emissioni_Gas_Serra, ''), + NULLIF(m2.PAI_LAB_A_Biodiversita, ''), + NULLIF(m2.PAI_LAB_A_Acqua, ''), + NULLIF(m2.PAI_LAB_A_Rifiuti, ''), + NULLIF(m2.PAI_LAB_A_Gov_Ambientale, ''), + --NULLIF(m2.PAI_LAB_A_Comb_Fossili, ''), + --NULLIF(m2.PAI_LAB_A_Eff_energetica, ''), + NULLIF(m2.PAI_LAB_A_Settore_Immobiliare, '') + -- NULLIF(m2.PAI_LAB_S_Questioni_Soc_Dip, ''), + -- NULLIF(m2.PAI_LAB_S_Gov_Sociali, '') + ), '') +FROM c6StagingPeriodico.ESG_ANAG_METRICHE m1 +INNER JOIN c6StagingPeriodico.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') +UPDATE m1 +SET m1.label_pai_s = NULLIF(CONCAT_WS(', ', + NULLIF(m2.PAI_LAB_S_Questioni_Soc_Dip, ''), + NULLIF(m2.PAI_LAB_S_Gov_Sociali, '') + ), '') +FROM c6StagingPeriodico.ESG_ANAG_METRICHE m1 +INNER JOIN c6StagingPeriodico.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') + --select * from c6StagingPeriodico.ESG_ANAG_METRICHE +UPDATE m1 +SET m1.Label_U_INFO_ESG = NULLIF(CONCAT_WS(', ', + NULLIF(m2.LABEL_Green_Bond, ''), + NULLIF(m2.Label_Social_Bond, ''), + NULLIF(m2.Label_Sustainability_Bond, ''), + NULLIF(m2.Label_Transition_Bond, ''), + NULLIF(m2.Label_Sust_linked_Bond, ''), + NULLIF(m2.Label_EU_Green_Bond_Standard, ''), + NULLIF(m2.CatSFDR, ''), + NULLIF(m2.U_INFO_ESG, '') + ), '') +FROM c6StagingPeriodico.ESG_ANAG_METRICHE m1 +INNER JOIN c6StagingPeriodico.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ESG_ANAG_METRICHE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ESG_ANAG_METRICHE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4.sql new file mode 100644 index 00000000..cacc30cc --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4.sql @@ -0,0 +1,175 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from C6MartPeriodico.assetclass +CREATE procedure [C6MartPeriodico].[RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ESG_ANAG_METRICHE', + GETDATE(), + 'Elaborazione giornaliera' + ) +TRUNCATE TABLE c6StagingPeriodico.ESG_ANAG_METRICHE + INSERT INTO [c6StagingPeriodico].ESG_ANAG_METRICHE + ( [COD_PRODOTTO] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[CatSFDR] + ,[ESGRating] + ,[TrendESGRating] + ,[LABEL_Green_Bond] + ,[LABEL_Social_Bond] + ,[LABEL_Sustainability_Bond] + ,[LABEL_Transition_Bond] + ,[LABEL_Sust_linked_bond] + ,LABEL_EU_GREEN_BOND_STANDARD + ,[PERC_INVESTIMENTO_TAXONOMY] + ,[PERC_INVESTIMENTO_SFDR] + ,[PAI_LAB_A_Emissioni_Gas_Serra] + ,[PAI_LAB_A_Biodiversita] + ,[PAI_LAB_A_Acqua] + ,[PAI_LAB_A_Rifiuti] + ,[PAI_LAB_A_Gov_Ambientale] + ,[PAI_LAB_A_Comb_Fossili] + ,[PAI_LAB_A_Eff_energetica] + ,[PAI_LAB_S_Questioni_Soc_Dip] + ,[PAI_LAB_S_Gov_Sociali] + ,[U_INFO_ESG] + ,[ID_ELAB] + ,[TIPO_ELAB] + ) + SELECT + --ChiaveProdotto, + CatalogueID AS COD_PRODOTTO, + C.CodSottoprodotto AS COD_SOTTOPRODOTTO, + ISNULL(C.CodInterno, '') AS COD_INTERNO, + C.CodMaf AS COD_MAF, + C.CodAdeguatezza AS COD_ADEGUATEZZA, + ISNULL(C.CodIsin, '') AS COD_ISIN, + case when Ltrim(rtrim(ESG_E)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_E)) = 'N' then 'NO' + else 'NO' end as ESG_E, + case when Ltrim(rtrim(ESG_S)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_S)) = 'N' then 'NO' + else 'NO' end as ESG_S, + case when Ltrim(rtrim(ESG_G)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_G)) = 'N' then 'NO' + else 'NO' end as ESG_G, + case when CatSFDR='-' then '' else CatSFDR end as CatSFDR, + Ltrim(rtrim(ESGRating)) as ESGRating , + Ltrim(rtrim(TrendESGRating)) as TrendESGRating, + case when LABEL_Green_Bond<> '-' then 'Green Bond' else '' end as LABEL_Green_Bond, + case when LABEL_Social_Bond<> '-' then 'Social Bond' else '' end as LABEL_Social_Bond, + case when LABEL_Sustainability_Bond<> '-' then 'Sustainability Bond' else '' end as LABEL_Sustainability_Bond, + case when LABEL_Transition_Bond<> '-' then 'Transition Bond' else '' end as LABEL_Transition_Bond, + case when LABEL_Sust_linked_bond<> '-' then 'Sustainability Linked Bond' else '' end as LABEL_Sust_linked_bond, + case when LABEL_EU_GREEN_BOND_STANDARD<> '-' then 'EU Green Bond Standard' else '' end as LABEL_EU_GREEN_BOND_STANDARD, + PERC_INVESTIMENTO_TAXONOMY *100 as PERC_INVESTIMENTO_TAXONOMY, + PERC_INVESTIMENTO_SFDR * 100 as PERC_INVESTIMENTO_SFDR, + case when PAI_LAB_A_Emissioni_Gas_Serra<>'-' then 'Emissioni Gas Serra' else '' end as PAI_LAB_A_Emissioni_Gas_Serra, + case when PAI_LAB_A_Biodiversita<>'-' then 'Biodiversità' else '' end as PAI_LAB_A_Biodiversita, + case when PAI_LAB_A_Acqua<>'-' then 'Acqua' else '' end as PAI_LAB_A_Acqua, + case when PAI_LAB_A_Rifiuti<>'-' then 'Rifiuti' else '' end as PAI_LAB_A_Rifiuti, + case when PAI_LAB_A_Gov_Ambientale<>'-' then 'Governativi Ambientali' else '' end as PAI_LAB_A_Gov_Ambientale, + case when PAI_LAB_A_Comb_Fossili<>'-' then 'Combustibili Fossili' else '' end as PAI_LAB_A_Comb_Fossili, + case when PAI_LAB_A_Eff_energetica<>'-' then 'Efficienza Energetica' else '' end as PAI_LAB_A_Eff_energetica, + case when PAI_LAB_S_Questioni_Soc_Dip<>'-' then 'Questioni Sociali e dei Dipendenti' else '' end as PAI_LAB_S_Questioni_Soc_Dip, + case when PAI_LAB_S_Gov_Sociali<>'-' then 'Governativi Sociali' else '' end as PAI_LAB_S_Gov_Sociali, + case when U_INFO_ESG='TOOL_01' then 'Nota1' + when U_INFO_ESG='TOOL_02' then 'Nota2' + else '' end as U_INFO_ESG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM c6StagingPeriodico.RP_CatalogoProdotti c + Inner Join c6StagingPeriodico.RP_TB_ESG_ANAG_STRUM a + ON c.ChiaveProdotto = a.ChiaveProdotto +UPDATE m1 +SET m1.label_pai_a = NULLIF(CONCAT_WS(', ', + NULLIF(m2.PAI_LAB_A_Emissioni_Gas_Serra, ''), + NULLIF(m2.PAI_LAB_A_Biodiversita, ''), + NULLIF(m2.PAI_LAB_A_Acqua, ''), + NULLIF(m2.PAI_LAB_A_Rifiuti, ''), + NULLIF(m2.PAI_LAB_A_Gov_Ambientale, ''), + NULLIF(m2.PAI_LAB_A_Comb_Fossili, ''), + NULLIF(m2.PAI_LAB_A_Eff_energetica, '') + -- NULLIF(m2.PAI_LAB_S_Questioni_Soc_Dip, ''), + -- NULLIF(m2.PAI_LAB_S_Gov_Sociali, '') + ), '') +FROM c6StagingPeriodico.ESG_ANAG_METRICHE m1 +INNER JOIN c6StagingPeriodico.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') +UPDATE m1 +SET m1.label_pai_s = NULLIF(CONCAT_WS(', ', + NULLIF(m2.PAI_LAB_S_Questioni_Soc_Dip, ''), + NULLIF(m2.PAI_LAB_S_Gov_Sociali, '') + ), '') +FROM c6StagingPeriodico.ESG_ANAG_METRICHE m1 +INNER JOIN c6StagingPeriodico.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') + --select * from c6StagingPeriodico.ESG_ANAG_METRICHE +UPDATE m1 +SET m1.Label_U_INFO_ESG = NULLIF(CONCAT_WS(', ', + NULLIF(m2.LABEL_Green_Bond, ''), + NULLIF(m2.Label_Social_Bond, ''), + NULLIF(m2.Label_Sustainability_Bond, ''), + NULLIF(m2.Label_Transition_Bond, ''), + NULLIF(m2.Label_Sust_linked_Bond, ''), + NULLIF(m2.Label_EU_Green_Bond_Standard, ''), + NULLIF(m2.CatSFDR, ''), + NULLIF(m2.U_INFO_ESG, '') + ), '') +FROM c6StagingPeriodico.ESG_ANAG_METRICHE m1 +INNER JOIN c6StagingPeriodico.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ESG_ANAG_METRICHE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ESG_ANAG_METRICHE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql new file mode 100644 index 00000000..18c7fa2b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE.sql @@ -0,0 +1,137 @@ +-- ============================================= +-- Author: +-- Create date: <13/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE] +AS +BEGIN +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() +DECLARE @GETDATE AS DATETIME +SELECT @GETDATE = GETDATE() +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) +VALUES ( + 'RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE', + GETDATE(), + 'Elaborazione trimestrale' +) + --1. INSERIMENTO MAIL "LISTA CLIENTI PER CUI OCCORRE GENERARE I REPORT" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- NON PRESENTI SU GESTIONE_EMAIL +DECLARE @TIPOEMAIL AS VARCHAR(50) +SET @TIPOEMAIL = 'LC_REP_DA_GEN' +--Cancellazione delle eventuali mail che non sono ancora state inviate e che stanno per essere rigenerate + DELETE from C6MartPeriodico.MailAvvisoTrimestraleAiPB + WHERE email_id in ( + SELECT m.email_id + from C6MartPeriodico.MailAvvisoTrimestraleAiPB m + inner join [C6MartPeriodico].[GESTIONE_EMAIL] + ON GESTIONE_EMAIL.email_id = m.email_id + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N') + DELETE + FROM [C6MartPeriodico].[GESTIONE_EMAIL] + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' + INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,CodicePB,Tipo,Data_Generazione, ID_ELAB) + SELECT + DISTINCT + C6.Rete, + C6.Cod_Agente as CodicePB, + @TIPOEMAIL as TipoEmail, + @GETDATE AS DataGenerazione, + @ID_ELAB as ID_ELAB + FROM C6MartPeriodico.RP_vContrattiPerGenerazioneReport C6 + LEFT OUTER JOIN C6MartPeriodico.GESTIONE_EMAIL EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_Agente = EMAIL.CodicePB + AND EMAIL.TIPO = @TIPOEMAIL + AND YEAR(EMAIL.Data_Generazione) = YEAR(@GETDATE) + AND MONTH(EMAIL.Data_Generazione) = MONTH(@GETDATE) +-- AND ISNULL(EMAIL.[Inviata],'N') = 'N' + LEFT OUTER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.CodicePB IS NULL + AND PF.RETE IS NULL +/* +DECLARE @id_periodiodo as int + select @id_periodiodo = max(id_periodo) from [MIFD_ADEGUATEZZA].controllodata.dbo.clientiAdeguatezza_ALL + INSERT INTO C6MartPeriodico.GESTIONE_EMAIL + (Rete,CodicePB,Tipo,Data_Generazione, ID_ELAB) + SELECT + DISTINCT + C6.Rete, + C6.Cod_Agente as CodicePB, + @TIPOEMAIL as TipoEmail, + @GETDATE AS DataGenerazione, + @ID_ELAB as ID_ELAB + --FROM C6MartPeriodico.vContrattiPerGenerazioneReport C6 --V cambiata la vista + FROM + (select * from C6MartPeriodico.RP_vContrattiPerGenerazioneReport + where rete + cod_agente in +( +select + a.rete+ cod_agente + from + C6MartPeriodico.RP_vContrattiPerGenerazioneReport a + left outer join + [MIFD_ADEGUATEZZA].controllodata.dbo.clientiAdeguatezza_ALL b + on + (case + when len("codice mandato") = 0 + then b."codice fiscale" + else 'FF@'+ "codice mandato" + end) = a.cod_fiscale + and a.rete=b.rete + and a.cod_agente = substring(b.codagente, 2, len(b.codagente)- 1) + where + b.id_periodo= @id_periodiodo--- chiedi ad antonio il periodo + --and a.data_fineavanzato is null + and profilo > 0 + and dtprofilo is null +)) C6 + LEFT OUTER JOIN C6MartPeriodico.GESTIONE_EMAIL EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_Agente = EMAIL.CodicePB + AND EMAIL.TIPO = @TIPOEMAIL + AND YEAR(EMAIL.Data_Generazione) = YEAR(@GETDATE) + AND MONTH(EMAIL.Data_Generazione) = MONTH(@GETDATE) + AND ISNULL(EMAIL.[Inviata],'N') = 'N' + LEFT OUTER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.CodicePB IS NULL + AND PF.RETE IS NULL +--recupero mail errate +--and c6.rete+c6.cod_agente in ( +-- select * from temp_promotori) +*/ +-- +IF @@ERROR<>0 ROLLBACK +-- Log esecuzione +UPDATE + LOG_ESECUZIONE_PERIODICO +SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT +WHERE + Nome = 'RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_GESTIONE_EMAIL_REPORT_DA_GENERARE' + ) +COMMIT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_IndicatoreRischio.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_IndicatoreRischio.sql new file mode 100644 index 00000000..b48d4d6a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_IndicatoreRischio.sql @@ -0,0 +1,322 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_IndicatoreRischio] +as +begin +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +print(@DataFineTrim) +DECLARE @DataTab VARCHAR(8) +SELECT TOP 1 @DataTab = dttrim FROM C6MartPeriodico.Indicatore_Rischio +print(@DataTab) +drop table if exists #appo +drop table if exists #NoCFPatrCasa +drop table if exists #NoPatrCasa +drop table if exists #NoPatrCasaFin +drop table if exists #tot +drop table if exists #finale + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +NULL +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + -- 16/7/2018 + into #appo + -- fine 16/7/2018 + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' then 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' then 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' then 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' then 'Patrimonio IW Private Inv.' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'W' then 'Patrimonio IW Private Inv.' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine + --SENZA PATRIMONIO CASA + select rete,cod_fiscale + into #NOCFPatrCasa + from #appo where ordine<>1 + except + select rete,cod_fiscale from #appo where ordine=1 + select a.* + into #NOPatrCasa + from #appo a inner join #NOCFPatrCasa p on a.RETE=p.RETE and a.COD_FISCALE=p.COD_FISCALE + select distinct + c.RETE, + c.COD_FISCALE, + case when c.RETE= 'F' then 'Patrimonio Fideuram' + WHEN c.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + when c.RETE= 'W' then 'Patrimonio IW Private Inv.' + end as INSTITUTENAME, + 0 as CTV, + c.CODICEPROFILO, + c.VARMAX, + 0 AS VAR, + 'n.c.' AS VARSTRING, + 0 as RISKCLASS, + 'n.c.' as RISKCLASSSTRING, + 0.000 as COVERAGE,--c.COVERAGE, + NULL AS COVERAGESTRING, + c.RISKCLASSMAX, + 0.0 as PERCENTAGE, + 1 as ordine, + 0 as Ully_perc + into #NoPatrCasaFin + from #NOPatrCasa c + select * + into #tot + from #NoPatrCasaFin + union all + select * from #appo where ORDINE=1 + select [RETE] + ,[COD_FISCALE] + ,@DataFineTrim as DTTRIM + ,[INSTITUTENAME] + ,[CTV] + ,[CODICEPROFILO] + ,[VARMAX] + ,[VAR] + ,[VARSTRING] + ,[RISKCLASS] + ,[RISKCLASSSTRING] + ,[COVERAGE] + ,[COVERAGESTRING] + ,[RISKCLASSMAX] + ,[PERCENTAGE] + ,[ordine] + ,[Ully_perc], case when VAR <= VARMAX then 'S' + when var > VARMAX then 'N' + else 'X' end as Ind_Rischio + into #finale + from #tot +if(isnull(@DataFineTrim,0) <> isnull(@DataTab,0)) +BEGIN +truncate table C6MartPeriodico.Indicatore_Rischio +print('OK') + insert into C6MartPeriodico.Indicatore_Rischio + select [RETE] + ,[COD_FISCALE] + ,[DTTRIM] + ,[INSTITUTENAME] + ,[CTV] + ,[CODICEPROFILO] + ,[VARMAX] + ,[VAR] + ,[VARSTRING] + ,[RISKCLASS] + ,[RISKCLASSSTRING] + ,[COVERAGE] + ,[COVERAGESTRING] + ,[RISKCLASSMAX] + ,[PERCENTAGE] + ,[ordine] + ,[Ully_perc] + ,Ind_Rischio + from #finale + select * from C6MartPeriodico.Indicatore_Rischio + END + ELSE + BEGIN + delete from C6MartPeriodico.Indicatore_Rischio where RETE+COD_FISCALE in (select RETE+COD_FISCALE from #finale) + insert into C6MartPeriodico.Indicatore_Rischio + select [RETE] + ,[COD_FISCALE] + ,[DTTRIM] + ,[INSTITUTENAME] + ,[CTV] + ,[CODICEPROFILO] + ,[VARMAX] + ,[VAR] + ,[VARSTRING] + ,[RISKCLASS] + ,[RISKCLASSSTRING] + ,[COVERAGE] + ,[COVERAGESTRING] + ,[RISKCLASSMAX] + ,[PERCENTAGE] + ,[ordine] + ,[Ully_perc] + ,Ind_Rischio + from #finale + select * from c6martperiodico.wseian2 + END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_MAIL_PROFILI_RISCHIO.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_MAIL_PROFILI_RISCHIO.sql new file mode 100644 index 00000000..1c4ff912 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_MAIL_PROFILI_RISCHIO.sql @@ -0,0 +1,29 @@ +-- Stored procedure +CREATE procedure [C6MartPeriodico].[RP_DM_MAIL_PROFILI_RISCHIO] +AS +BEGIN +truncate table [C6MartPeriodico].[MAIL_PROFILI_RISCHIO] +insert into [C6MartPeriodico].[MAIL_PROFILI_RISCHIO] +SELECT [rete] + ,[cod_fiscale] + ,[codicecontratto] + ,[cod_agente] + ,[data_sott] + ,[data_perf] + ,[flag_invio_report] + ,[profilo] + ,[dt_creazione_profilo] + ,case + when profilo = 0 then 1 + else 0 + end as flagScaduto + ,case + when datediff(dd,dt_creazione_profilo,c6martperiodico.gettrimestre2(getdate(),0)) / 365.25 < 3 then 0 + else 1 + end as flagScadenzaTrim + ,case + when datediff(dd,dt_creazione_profilo,c6martperiodico.getNexttrimestre(getdate(),0)) / 365.25 < 3 then 0 + else 1 + end as flagScadenzaNextTrim + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[RP_MAIL_PROFILI_RISCHIO] +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE.sql new file mode 100644 index 00000000..c3bd3484 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE.sql @@ -0,0 +1,109 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_ATTUALE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_ATTUALE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_ATTIVAZIONE] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[APPORTO_INIZIALE] + ,[APPORTO_SUCCESSIVO] + ,[LIQUIDAZIONI] + ,[CEDOLE_DIVIDENDI] + ,[MINUS_PLUSVALENZA] + ,[RISORSE_ASSOCIATE] + ,[RENDIMENTO_CUMULATO] + ,[RENDIMENTO_ANNUALIZZATO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB]) + SELECT + TANAB.RETE, + VC.COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CS.nomeProgetto, 'XXX') AS NOME_PROGETTO, + CASE + WHEN ISDATE(TANAB.DTRIF) = 0 THEN NULL + ELSE CAST(CAST(TANAB.DTRIF AS VARCHAR(8)) AS DATETIME) + END AS DATA_ATTIVAZIONE, + --CAST(CAST(TANAB.DTRIF AS VARCHAR(8)) AS DATETIME) AS DATA_ATTIVAZIONE, + CASE + WHEN ISDATE(TANAB.DTCTV) = 0 THEN NULL + ELSE CAST(CAST(TANAB.DTCTV AS VARCHAR(8)) AS DATETIME) + END AS DATA_CTV, + TANAB.CTV AS CTV_MONITORATO, + TANAB.APP_INI AS APPORTO_INIZIALE, + TANAB.NTOT_APP AS APPORTO_SUCCESSIVO, + TANAB.NTOT_LIQ AS LIQUIDAZIONI, + TANAB.TOT_CED + TANAB.TOT_DIV AS CEDOLE_DIVIDENDI, + TANAB.CTV - (TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ) AS MINUS_PLUSVALENZA, + -- TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ - TANAB.TOT_CED - TANAB.TOT_DIV AS RISORSE_ASSOCIATE, + TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ AS RISORSE_ASSOCIATE, + cast(TANAB.RENDATT as decimal(15,2)) AS RENDIMENTO_CUMULATO, + TANAB.RENDATTANN AS RENDIMENTO_ANNUALIZZATO, + CM.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodico.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON TANAB.CODPROG = CM.idmonitoraggio +-- INNER JOIN C6StagingPeriodico.RP_Consulenza CS +-- ON CM.chiaveprogetto = CS.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND TANAB.RETE = VC.RETE + --AND VC.DATA_FINEAVANZATO > getDate() + WHERE 1 = 1 + AND TANAB.DTFINE = 99991231 +-- modifica di Luca per errore Mart simulazione 16/12/2015 + and TANAB.CODFIS not in ('BRTDIA49E49L219N','GRPGLI71R45L407D','GSTMGS42D51L833Z','MLSRNT54M12B354E','MRTGRL59B60H501T','RMNFNC40R14H501K') +--------------------------------------------------------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_ATTUALE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_ATTUALE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE_pre_selective.sql new file mode 100644 index 00000000..e6520aa5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_ATTUALE_pre_selective.sql @@ -0,0 +1,110 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_ATTUALE_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_ATTUALE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_ATTUALE] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_ATTIVAZIONE] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[APPORTO_INIZIALE] + ,[APPORTO_SUCCESSIVO] + ,[LIQUIDAZIONI] + ,[CEDOLE_DIVIDENDI] + ,[MINUS_PLUSVALENZA] + ,[RISORSE_ASSOCIATE] + ,[RENDIMENTO_CUMULATO] + ,[RENDIMENTO_ANNUALIZZATO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB]) + SELECT + TANAB.RETE, + VC.COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CS.nomeProgetto, 'XXX') AS NOME_PROGETTO, + CASE + WHEN ISDATE(TANAB.DTRIF) = 0 THEN NULL + ELSE CAST(CAST(TANAB.DTRIF AS VARCHAR(8)) AS DATETIME) + END AS DATA_ATTIVAZIONE, + --CAST(CAST(TANAB.DTRIF AS VARCHAR(8)) AS DATETIME) AS DATA_ATTIVAZIONE, + CASE + WHEN ISDATE(TANAB.DTCTV) = 0 THEN NULL + ELSE CAST(CAST(TANAB.DTCTV AS VARCHAR(8)) AS DATETIME) + END AS DATA_CTV, + TANAB.CTV AS CTV_MONITORATO, + TANAB.APP_INI AS APPORTO_INIZIALE, + TANAB.NTOT_APP AS APPORTO_SUCCESSIVO, + TANAB.NTOT_LIQ AS LIQUIDAZIONI, + TANAB.TOT_CED + TANAB.TOT_DIV AS CEDOLE_DIVIDENDI, + TANAB.CTV - (TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ) AS MINUS_PLUSVALENZA, + -- TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ - TANAB.TOT_CED - TANAB.TOT_DIV AS RISORSE_ASSOCIATE, + TANAB.APP_INI + TANAB.NTOT_APP - TANAB.NTOT_LIQ AS RISORSE_ASSOCIATE, + cast(TANAB.RENDATT as decimal(15,2)) AS RENDIMENTO_CUMULATO, + TANAB.RENDATTANN AS RENDIMENTO_ANNUALIZZATO, + CM.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB + FROM C6StagingPeriodico.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON TANAB.CODPROG = CM.idmonitoraggio +-- INNER JOIN C6StagingPeriodico.RP_Consulenza CS +-- ON CM.chiaveprogetto = CS.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND TANAB.RETE = VC.RETE + --AND VC.DATA_FINEAVANZATO > getDate() + WHERE 1 = 1 + AND TANAB.DTFINE = 99991231 +-- modifica di Luca per errore Mart simulazione 16/12/2015 + and TANAB.CODFIS not in ('BRTDIA49E49L219N','GRPGLI71R45L407D','GSTMGS42D51L833Z','MLSRNT54M12B354E','MRTGRL59B60H501T','RMNFNC40R14H501K') +--------------------------------------------------------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_ATTUALE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_MONITORAGGIO_ATTUALE_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO.sql new file mode 100644 index 00000000..9ed1af00 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO.sql @@ -0,0 +1,147 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_DETTAGLIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] +-- begin try + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + SELECT distinct -- aggiunta distinct 20231212 per duplicati + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + CASE WHEN A.TIPPROD='CC' and data_associazione < '20110211' + THEN cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + VC.COD_FISCALE AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON ANA.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND ANA.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CUSTGAR is null OR LTRIM(RTRIM(a.CUSTGAR)) = '') then '0' else A.CUSTGAR end)=B.CUSTGAR +-- AND A.MAF=B.MAF + --V Modifica skandia di tipo ASU2 +--Intervento OMNIA Last +-- AND b.isin = case when (a.tipprod = 'ASU2') then a.isin else 'na' end +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192')) then a.isin else 'na' end + ----INIZIO INTERVENTO linea protetta - 18/12/2017 + --AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192') or a.codint in ('RV','RM', 'RS','RB','RE')) then a.isin else 'na' end + ----INIZIO INTERVENTO mio Foglio - 14/03/2019 + -- AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192') or a.codint in ('RV','RM', 'RS','RB','RE','RF')) then a.isin else 'na' end + AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192','V301','V302') or a.codint in ('RV','RM', 'RS','RB','RE','RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M')) then a.isin else 'na' end -- aggiunto 3A a 9M 25/07/2022 + ----fine INTERVENTO mio Foglio - 14/03/2019 + ----fine INTERVENTO linea protetta - 18/12/2017 +--FINE INTERVENTO MIGRAZIONE ASU3 +--Intervento OMNIA Last + and B.POSITIONID is not null + and a.cod_fiscale not in ('RTOMRN54L12I706I') + -------------------------------------- + --end try + --begin catch + --select @@error + --end catch + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20161220.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20161220.sql new file mode 100644 index 00000000..f40a614f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20161220.sql @@ -0,0 +1,140 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20161220] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_DETTAGLIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] +-- begin try + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + CASE WHEN A.TIPPROD='CC' and data_associazione < '20110211' + THEN cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + VC.COD_FISCALE AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON ANA.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND ANA.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CUSTGAR is null OR LTRIM(RTRIM(a.CUSTGAR)) = '') then '0' else A.CUSTGAR end)=B.CUSTGAR +-- AND A.MAF=B.MAF + --V Modifica skandia di tipo ASU2 +--Intervento OMNIA Last +-- AND b.isin = case when (a.tipprod = 'ASU2') then a.isin else 'na' end +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192')) then a.isin else 'na' end + AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192') or a.codint in ('RV','RM', 'RS','RB')) then a.isin else 'na' end +--FINE INTERVENTO MIGRAZIONE ASU3 +--Intervento OMNIA Last +--intervento di Luca per errore mart simulazione 16/12/2015 + --and B.POSITIONID is not null and a.cod_fiscale <> 'RZLGDU39M28E202J' + and B.POSITIONID is not null and a.cod_fiscale not in ('RZLGDU39M28E202J','GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') + --end try + --begin catch + --select @@error + --end catch + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20171218_preRFMP.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20171218_preRFMP.sql new file mode 100644 index 00000000..24e5d385 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20171218_preRFMP.sql @@ -0,0 +1,140 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20171218_preRFMP] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_DETTAGLIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] +-- begin try + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + CASE WHEN A.TIPPROD='CC' and data_associazione < '20110211' + THEN cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + VC.COD_FISCALE AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON ANA.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND ANA.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CUSTGAR is null OR LTRIM(RTRIM(a.CUSTGAR)) = '') then '0' else A.CUSTGAR end)=B.CUSTGAR +-- AND A.MAF=B.MAF + --V Modifica skandia di tipo ASU2 +--Intervento OMNIA Last +-- AND b.isin = case when (a.tipprod = 'ASU2') then a.isin else 'na' end +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192')) then a.isin else 'na' end + AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192') or a.codint in ('RV','RM', 'RS','RB','RE')) then a.isin else 'na' end +--FINE INTERVENTO MIGRAZIONE ASU3 +--Intervento OMNIA Last +--intervento di Luca per errore mart simulazione 16/12/2015 + --and B.POSITIONID is not null and a.cod_fiscale <> 'RZLGDU39M28E202J' + and B.POSITIONID is not null and a.cod_fiscale not in ('RZLGDU39M28E202J','GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') + --end try + --begin catch + --select @@error + --end catch + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20181213.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20181213.sql new file mode 100644 index 00000000..82aa6ae4 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20181213.sql @@ -0,0 +1,143 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20181213] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_DETTAGLIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] +-- begin try + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + CASE WHEN A.TIPPROD='CC' and data_associazione < '20110211' + THEN cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + VC.COD_FISCALE AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON ANA.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND ANA.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CUSTGAR is null OR LTRIM(RTRIM(a.CUSTGAR)) = '') then '0' else A.CUSTGAR end)=B.CUSTGAR +-- AND A.MAF=B.MAF + --V Modifica skandia di tipo ASU2 +--Intervento OMNIA Last +-- AND b.isin = case when (a.tipprod = 'ASU2') then a.isin else 'na' end +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192')) then a.isin else 'na' end + ----INIZIO INTERVENTO linea protetta - 18/12/2017 + --AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192') or a.codint in ('RV','RM', 'RS','RB','RE')) then a.isin else 'na' end + AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192') or a.codint in ('RV','RM', 'RS','RB','RE','RF')) then a.isin else 'na' end + ----fine INTERVENTO linea protetta - 18/12/2017 +--FINE INTERVENTO MIGRAZIONE ASU3 +--Intervento OMNIA Last +--intervento di Luca per errore mart simulazione 16/12/2015 + --and B.POSITIONID is not null and a.cod_fiscale <> 'RZLGDU39M28E202J' + and B.POSITIONID is not null and a.cod_fiscale not in ('RZLGDU39M28E202J','GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') + --end try + --begin catch + --select @@error + --end catch + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190112.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190112.sql new file mode 100644 index 00000000..b7277e9c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190112.sql @@ -0,0 +1,146 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20190112] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_DETTAGLIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] +-- begin try + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + CASE WHEN A.TIPPROD='CC' and data_associazione < '20110211' + THEN cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + VC.COD_FISCALE AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON ANA.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND ANA.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CUSTGAR is null OR LTRIM(RTRIM(a.CUSTGAR)) = '') then '0' else A.CUSTGAR end)=B.CUSTGAR +-- AND A.MAF=B.MAF + --V Modifica skandia di tipo ASU2 +--Intervento OMNIA Last +-- AND b.isin = case when (a.tipprod = 'ASU2') then a.isin else 'na' end +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192')) then a.isin else 'na' end + ----INIZIO INTERVENTO linea protetta - 18/12/2017 + --AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192') or a.codint in ('RV','RM', 'RS','RB','RE')) then a.isin else 'na' end + AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192') or a.codint in ('RV','RM', 'RS','RB','RE','RF')) then a.isin else 'na' end + ----fine INTERVENTO linea protetta - 18/12/2017 +--FINE INTERVENTO MIGRAZIONE ASU3 +--Intervento OMNIA Last +--intervento di Luca per errore mart simulazione 16/12/2015 + --and B.POSITIONID is not null and a.cod_fiscale <> 'RZLGDU39M28E202J' + and B.POSITIONID is not null and a.cod_fiscale not in ('RZLGDU39M28E202J','GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') + --intervento di Luca per errore mart simulazione 13/12/2018 + and a.cod_fiscale not in ('GRNCML62P41G086H','MTRMRS61B68B519E') + -------------------------------------- + --end try + --begin catch + --select @@error + --end catch + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190314_preMioFoglio.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190314_preMioFoglio.sql new file mode 100644 index 00000000..525c2bb4 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_20190314_preMioFoglio.sql @@ -0,0 +1,150 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_20190314_preMioFoglio] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_DETTAGLIO', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] +-- begin try + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + CASE WHEN A.TIPPROD='CC' and data_associazione < '20110211' + THEN cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + VC.COD_FISCALE AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON ANA.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND ANA.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CUSTGAR is null OR LTRIM(RTRIM(a.CUSTGAR)) = '') then '0' else A.CUSTGAR end)=B.CUSTGAR +-- AND A.MAF=B.MAF + --V Modifica skandia di tipo ASU2 +--Intervento OMNIA Last +-- AND b.isin = case when (a.tipprod = 'ASU2') then a.isin else 'na' end +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192')) then a.isin else 'na' end + ----INIZIO INTERVENTO linea protetta - 18/12/2017 + --AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192') or a.codint in ('RV','RM', 'RS','RB','RE')) then a.isin else 'na' end + AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192') or a.codint in ('RV','RM', 'RS','RB','RE','RF')) then a.isin else 'na' end + ----fine INTERVENTO linea protetta - 18/12/2017 +--FINE INTERVENTO MIGRAZIONE ASU3 +--Intervento OMNIA Last +--intervento di Luca per errore mart simulazione 16/12/2015 + --and B.POSITIONID is not null and a.cod_fiscale <> 'RZLGDU39M28E202J' + and B.POSITIONID is not null and a.cod_fiscale not in ('RZLGDU39M28E202J','GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') + --intervento di Luca per errore mart simulazione 13/12/2018 + and a.cod_fiscale not in ('GRNCML62P41G086H','MTRMRS61B68B519E') + --intervento di Luca per errore mart 12/01/2019 + and a.cod_fiscale not in ('SBBMCG70C01F205D') + --intervento di Luca per errore mart 12/03/2019 + and a.cod_fiscale not in ('CRDLMR58M47G388T','CRDBRN61A57I829K','SCPNTN39C24F839H','SLOGLC87T05H223Q') + -------------------------------------- + --end try + --begin catch + --select @@error + --end catch + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql new file mode 100644 index 00000000..2f38a6c5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective.sql @@ -0,0 +1,140 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +--Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] +-- begin try + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_DETTAGLIO] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[ID_AREA] + ,[DATA_ASSOCIAZIONE] + ,[VERSATO_NETTO_DA_ASSOC] + ,[UTILE_PERDITA_DA_ASSOC] + ,[ID_ELAB]) + SELECT + B.RETE, + B.CODFIS, + B.POSITIONID, + A.[ID_AREA], + CASE WHEN A.TIPPROD='CC' and data_associazione < '20110211' + THEN cast('20110211' AS DATETIME) + ELSE DATA_ASSOCIAZIONE END AS DATA_ASSOCIAZIONE, + A.CVNNAC AS [VERSATO_NETTO_DA_ASSOC], + CASE WHEN A.CVNNAC =0 THEN 0 ELSE (B.CTV - A.CVNNAC) END AS [UTILE_PERDITA_DA_ASSOC], + @ID_ELAB AS [ID_ELAB] + FROM + C6STAGINGPERIODICO.SPB_CONTR_SINTESI B + INNER JOIN + ( + SELECT + TCP.RETE AS [RETE], + VC.COD_FISCALE AS [COD_FISCALE], + TCP.CODPROD, + TCP.TIPPROD, + TCP.CODINT, + TCP.MAF, + TCP.ISIN, + TCP.SUBPROD, + TCP.CODCONF, + TCP.NUMPOL, + TCP.CONTO, + TCP.RUBR, + TCP.CUSTGAR, + TCP.TERMID, + TCP.ANNO, + TCP.PROG, + TCP.CODPROG, + CASE + WHEN TCP.CODAREA='EXR' THEN 'EXT' ELSE TCP.CODAREA + END AS ID_AREA, + CASE WHEN TCP.DTINGRESSO=0 THEN + (CASE WHEN TCP.DTININAC=0 THEN NULL ELSE cast(CAST(TCP.DTININAC AS VARCHAR(8)) as datetime)END) + ELSE cast(CAST(TCP.DTINGRESSO AS VARCHAR(8)) as datetime) + --ELSE CAST(DTININAC AS DATETIME) + END AS [DATA_ASSOCIAZIONE], + TCP.CVNNAC + FROM + C6STAGINGPERIODICO.TANAB ANA + JOIN + C6STAGINGPERIODICO.TCPTAB TCP + ON ANA.CODAREA=TCP.CODAREA + AND ANA.RETE=TCP.RETE + AND ANA.CODPROG=TCP.CODPROG + AND ANA.CODFIS=TCP.CODFIS + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON ANA.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND ANA.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE DTVALORIZ NOT IN (99991231) AND + DTUSCITA=99991231) A + ON + A.COD_FISCALE=B.CODFIS + AND B.RETE=B.RETE + AND A.CODPROD=B.CODPROD + AND A.CODCONF=B.CODCONF + AND A.CODINT=B.CODINT + AND A.SUBPROD=B.SUBPROD + AND A.NUMPOL=B.NUMPOL + AND A.CONTO=B.CONTO + AND (case when a.TIPPROD='CC' and (a.rubr is null OR LTRIM(RTRIM(a.rubr)) = '') then '000' else a.rubr end)=B.RUBR + AND ( CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) END ) =A.PROG + AND (case when a.TIPPROD='cc' and (a.CUSTGAR is null OR LTRIM(RTRIM(a.CUSTGAR)) = '') then '0' else A.CUSTGAR end)=B.CUSTGAR +-- AND A.MAF=B.MAF + --V Modifica skandia di tipo ASU2 +--Intervento OMNIA Last +-- AND b.isin = case when (a.tipprod = 'ASU2') then a.isin else 'na' end +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192')) then a.isin else 'na' end + AND b.isin = case when (a.tipprod = 'ASU2' or a.subprod in('L191', 'L192') or a.codint in ('RV','RM', 'RS','RB','RE')) then a.isin else 'na' end +--FINE INTERVENTO MIGRAZIONE ASU3 +--Intervento OMNIA Last +--intervento di Luca per errore mart simulazione 16/12/2015 + --and B.POSITIONID is not null and a.cod_fiscale <> 'RZLGDU39M28E202J' + and B.POSITIONID is not null and a.cod_fiscale not in ('RZLGDU39M28E202J','GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') + --end try + --begin catch + --select @@error + --end catch + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_MONITORAGGIO_DETTAGLIO_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE.sql new file mode 100644 index 00000000..ce766cb2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE.sql @@ -0,0 +1,137 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 15 luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_INIZIALE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_INIZIALE_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + ([RETE] + ,[COD_FISCALE] + ,[DATA_FOTO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] + ,[RISKCLASS] + , [RISKCLASSMAX] + ,[ID_ELAB] + ,ctvself) + SELECT + V.rete AS RETE, + V.COD_FISCALE AS COD_FISCALE, + M.dtSalvataggio AS DATA_FOTO, + isnull(ctvExt,0) + isnull(ctvInv,0) + isnull(ctvRis,0) + isnull(ctvLiq,0) + + isnull(ctvPre,0) + isnull(ctvNa,0) + isnull(ctvCC,0) AS CTV_TOTALE, + ctvExt AS CTV_EXT, + ctvInv AS CTV_INV, + ctvRis AS CTV_RIS, + ctvPre AS CTV_PRE, + ctvLiq AS CTV_LIQ, + ctvCC AS CTV_CC, + ctvNa AS CTV_NA, + partiteViaggianti AS PARTITA_VIAGGIANTE, + [var] AS VAR_COMPLESSIVO, + copertura AS VAR_COPERTURA, + codiceProfilo AS PROFILO, + var_max_profilo AS VAR_MAX_PROFILO, +-- c6martperiodico.Codifica_CRisk_PhotoData(rischioCredito), +-- c6martperiodico.Codifica_CRisk_PhotoData(classe_rischio_max), + --rischioCredito, + --classe_rischio_max, + case when rischioCredito = 5 then 0 + when rischioCredito = 6 then null + else rischioCredito end as rischioCredito, + case when classe_rischio_max = 5 then 0 + when classe_rischio_max = 6 then null + else classe_rischio_max end as classe_rischio_max, + @ID_ELAB AS ID_ELAB, + ctvself AS CTVSELF + FROM [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V + INNER JOIN C6STAGINGPERIODICO.RP_MonitoraggioStorico M + ON V.chiaveClientePB = M.chiaveClientePB + WHERE 1 = 1 + --AND SUBSTRING(TYPE__TYPE_7CAB6, 1, 1) = '1' + AND stato = '2' + AND M.dtSalvataggio IS NOT NULL +-- modifica di Luca per errore mart in simulazione 16/12/2015 +-- riabilito 21/7/2017 + --and V.COD_FISCALE not in ('GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') +---------------------------------------------------------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_INIZIALE_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_INIZIALE_1' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_INIZIALE_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MartPeriodico.Test_Quality + SELECT + V.rete AS RETE, + V.COD_FISCALE AS COD_FISCALE, + 'dtSalvataggio is null' + FROM [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V + INNER JOIN C6STAGINGPERIODICO.RP_MonitoraggioStorico M + ON V.chiaveClientePB = M.chiaveClientePB + WHERE 1 = 1 + --AND SUBSTRING(TYPE__TYPE_7CAB6, 1, 1) = '1' + AND stato = '2' + AND M.dtSalvataggio IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_INIZIALE_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_INIZIALE_2' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE_pre_selective.sql new file mode 100644 index 00000000..c6b5d4c7 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_INIZIALE_pre_selective.sql @@ -0,0 +1,136 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 15 luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_INIZIALE_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_INIZIALE_pre_selective_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + ([RETE] + ,[COD_FISCALE] + ,[DATA_FOTO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] + ,[RISKCLASS] + , [RISKCLASSMAX] + ,[ID_ELAB] + ,ctvself) + SELECT + V.rete AS RETE, + V.COD_FISCALE AS COD_FISCALE, + M.dtSalvataggio AS DATA_FOTO, + isnull(ctvExt,0) + isnull(ctvInv,0) + isnull(ctvRis,0) + isnull(ctvLiq,0) + + isnull(ctvPre,0) + isnull(ctvNa,0) + isnull(ctvCC,0) AS CTV_TOTALE, + ctvExt AS CTV_EXT, + ctvInv AS CTV_INV, + ctvRis AS CTV_RIS, + ctvPre AS CTV_PRE, + ctvLiq AS CTV_LIQ, + ctvCC AS CTV_CC, + ctvNa AS CTV_NA, + partiteViaggianti AS PARTITA_VIAGGIANTE, + [var] AS VAR_COMPLESSIVO, + copertura AS VAR_COPERTURA, + codiceProfilo AS PROFILO, + var_max_profilo AS VAR_MAX_PROFILO, +-- c6martperiodico.Codifica_CRisk_PhotoData(rischioCredito), +-- c6martperiodico.Codifica_CRisk_PhotoData(classe_rischio_max), + --rischioCredito, + --classe_rischio_max, + case when rischioCredito = 5 then 0 + when rischioCredito = 6 then null + else rischioCredito end as rischioCredito, + case when classe_rischio_max = 5 then 0 + when classe_rischio_max = 6 then null + else classe_rischio_max end as classe_rischio_max, + @ID_ELAB AS ID_ELAB, + ctvself AS CTVSELF + FROM [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V + INNER JOIN C6STAGINGPERIODICO.RP_MonitoraggioStorico M + ON V.chiaveClientePB = M.chiaveClientePB + WHERE 1 = 1 + --AND SUBSTRING(TYPE__TYPE_7CAB6, 1, 1) = '1' + AND stato = '2' + AND M.dtSalvataggio IS NOT NULL +-- modifica di Luca per errore mart in simulazione 16/12/2015 + and V.COD_FISCALE not in ('GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') +---------------------------------------------------------------------------------------- + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_INIZIALE_pre_selective_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_MONITORAGGIO_INIZIALE_pre_selective_1' + ) + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_INIZIALE_pre_selective_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MartPeriodico.Test_Quality + SELECT + V.rete AS RETE, + V.COD_FISCALE AS COD_FISCALE, + 'dtSalvataggio is null' + FROM [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V + INNER JOIN C6STAGINGPERIODICO.RP_MonitoraggioStorico M + ON V.chiaveClientePB = M.chiaveClientePB + WHERE 1 = 1 + --AND SUBSTRING(TYPE__TYPE_7CAB6, 1, 1) = '1' + AND stato = '2' + AND M.dtSalvataggio IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_INIZIALE_pre_selective_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_MONITORAGGIO_INIZIALE_pre_selective_2' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT.sql new file mode 100644 index 00000000..ff472b55 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT.sql @@ -0,0 +1,99 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 Luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_REPORT] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_REPORT', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_REPORT] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[DATA_INVIO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] + ,riskclass + ,riskclassmax +--INIZIO INTERVENTI OMNIA +-- ,[ID_ELAB]) + ,[ID_ELAB] + ,[CTV_SELF] + -- MIOFOGLIO 20181206 + ,[CTV_SELF_FOGLIO] + -- fine MIOFOGLIO 20181206 + ) +--FINE INTERVENTI OMNIA + SELECT + V.RETE, + V.COD_FISCALE, + S.DATA_FASE AS DATA_INVIO, + SUM(S.CONTROVALORE) as CTV_TOTALE, + SUM(CASE WHEN S.AREA= 'EXT' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_EXT, + SUM(CASE WHEN S.AREA= 'INV' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_INV, + SUM(CASE WHEN S.AREA= 'RIS' THEN S.CONTROVALORE ELSE 0 END )AS CTV_RIS, + SUM(CASE WHEN S.AREA= 'PRE' THEN S.CONTROVALORE ELSE 0 END )AS CTV_PRE, + SUM(CASE WHEN S.AREA= 'LIQ' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_LIQ, + Max(S.CONTOCORRENTE )AS CTV_CC, + Max(S.RISORSENONALLOCATE) AS CTV_NA, + MAX(S.INVESTIMENTIINCORSO) AS PARTITA_VIAGGIANTE, + MAX(S.VAR_PERC_PTF) AS VAR_COMPLESSIVO, + MAX(S.COPERTURA) as VAR_COPERTURA, + mAX(S.PROFILO) AS PROFILO, + MAX(S.MAX_VAR) AS VAR_MAX_PROFILO, + CASE WHEN MAX(CRISK) = 'n.a.' THEN null ELSE MAX(CRISK) END AS RISKCLASS, + --MAX(CRISK) AS RISKCLASS, + MAX(CRISKMAX) AS RISKCLASSMAX, + @ID_ELAB AS ID_ELAB +--INIZIO INTERVENTI OMNIA + ,Max(S.lineaself)AS CTV_SELF + -- MIOFOGLIO 20181206 + ,Max(S.lineaselfFoglio)AS CTV_SELF_FOGLIO + -- fine MIOFOGLIO 20181206 +--FINE INTERVENTI OMNIA + FROM [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V INNER JOIN C6STAGINGPERIODICO.RP_REP_S80_EVOL_STAMPA_C6 S + ON V.chiaveClientePB = S.chiaveClientePB + GROUP BY + V.RETE, + V.COD_FISCALE, + S.DATA_FASE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_REPORT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_REPORT' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_20181214_PreMioFoglio.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..323108c5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_20181214_PreMioFoglio.sql @@ -0,0 +1,92 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 Luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_REPORT_20181214_PreMioFoglio] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_REPORT', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_REPORT] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[DATA_INVIO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] + ,riskclass + ,riskclassmax +--INIZIO INTERVENTI OMNIA +-- ,[ID_ELAB]) + ,[ID_ELAB] + ,[CTV_SELF]) +--FINE INTERVENTI OMNIA + SELECT + V.RETE, + V.COD_FISCALE, + S.DATA_FASE AS DATA_INVIO, + SUM(S.CONTROVALORE) as CTV_TOTALE, + SUM(CASE WHEN S.AREA= 'EXT' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_EXT, + SUM(CASE WHEN S.AREA= 'INV' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_INV, + SUM(CASE WHEN S.AREA= 'RIS' THEN S.CONTROVALORE ELSE 0 END )AS CTV_RIS, + SUM(CASE WHEN S.AREA= 'PRE' THEN S.CONTROVALORE ELSE 0 END )AS CTV_PRE, + SUM(CASE WHEN S.AREA= 'LIQ' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_LIQ, + Max(S.CONTOCORRENTE )AS CTV_CC, + Max(S.RISORSENONALLOCATE) AS CTV_NA, + MAX(S.INVESTIMENTIINCORSO) AS PARTITA_VIAGGIANTE, + MAX(S.VAR_PERC_PTF) AS VAR_COMPLESSIVO, + MAX(S.COPERTURA) as VAR_COPERTURA, + mAX(S.PROFILO) AS PROFILO, + MAX(S.MAX_VAR) AS VAR_MAX_PROFILO, + CASE WHEN MAX(CRISK) = 'n.a.' THEN null ELSE MAX(CRISK) END AS RISKCLASS, + --MAX(CRISK) AS RISKCLASS, + MAX(CRISKMAX) AS RISKCLASSMAX, + @ID_ELAB AS ID_ELAB +--INIZIO INTERVENTI OMNIA + ,Max(S.lineaself)AS CTV_SELF +--FINE INTERVENTI OMNIA + FROM [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V INNER JOIN C6STAGINGPERIODICO.RP_REP_S80_EVOL_STAMPA_C6 S + ON V.chiaveClientePB = S.chiaveClientePB + GROUP BY + V.RETE, + V.COD_FISCALE, + S.DATA_FASE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_REPORT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_REPORT' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_pre_selective.sql new file mode 100644 index 00000000..70f99b74 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_REPORT_pre_selective.sql @@ -0,0 +1,92 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 Luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_REPORT_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_REPORT_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_REPORT] + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[DATA_INVIO] + ,[CTV_TOTALE] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_RIS] + ,[CTV_PRE] + ,[CTV_LIQ] + ,[CTV_CC] + ,[CTV_NA] + ,[PARTITA_VIAGGIANTE] + ,[VAR_COMPLESSIVO] + ,[VAR_COPERTURA] + ,[PROFILO] + ,[VAR_MAX_PROFILO] + ,riskclass + ,riskclassmax +--INIZIO INTERVENTI OMNIA +-- ,[ID_ELAB]) + ,[ID_ELAB] + ,[CTV_SELF]) +--FINE INTERVENTI OMNIA + SELECT + V.RETE, + V.COD_FISCALE, + S.DATA_FASE AS DATA_INVIO, + SUM(S.CONTROVALORE) as CTV_TOTALE, + SUM(CASE WHEN S.AREA= 'EXT' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_EXT, + SUM(CASE WHEN S.AREA= 'INV' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_INV, + SUM(CASE WHEN S.AREA= 'RIS' THEN S.CONTROVALORE ELSE 0 END )AS CTV_RIS, + SUM(CASE WHEN S.AREA= 'PRE' THEN S.CONTROVALORE ELSE 0 END )AS CTV_PRE, + SUM(CASE WHEN S.AREA= 'LIQ' THEN S.CONTROVALORE ELSE 0 END ) AS CTV_LIQ, + Max(S.CONTOCORRENTE )AS CTV_CC, + Max(S.RISORSENONALLOCATE) AS CTV_NA, + MAX(S.INVESTIMENTIINCORSO) AS PARTITA_VIAGGIANTE, + MAX(S.VAR_PERC_PTF) AS VAR_COMPLESSIVO, + MAX(S.COPERTURA) as VAR_COPERTURA, + mAX(S.PROFILO) AS PROFILO, + MAX(S.MAX_VAR) AS VAR_MAX_PROFILO, + CASE WHEN MAX(CRISK) = 'n.a.' THEN null ELSE MAX(CRISK) END AS RISKCLASS, + --MAX(CRISK) AS RISKCLASS, + MAX(CRISKMAX) AS RISKCLASSMAX, + @ID_ELAB AS ID_ELAB +--INIZIO INTERVENTI OMNIA + ,Max(S.lineaself)AS CTV_SELF +--FINE INTERVENTI OMNIA + FROM [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V INNER JOIN C6STAGINGPERIODICO.RP_REP_S80_EVOL_STAMPA_C6 S + ON V.chiaveClientePB = S.chiaveClientePB + GROUP BY + V.RETE, + V.COD_FISCALE, + S.DATA_FASE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_REPORT_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_MONITORAGGIO_REPORT_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO.sql new file mode 100644 index 00000000..c454e699 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO.sql @@ -0,0 +1,164 @@ +-- Stored procedure +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_STORICO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_STORICO_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_STORICO] +begin try + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_STORICO] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[RISORSE_ASSOCIATE] + ,[ID_ELAB] + ,CEDOLE_DIV + ,ordinamento_progetto) + SELECT + TANAB.RETE AS RETE, + VC.COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CS.nomeProgetto, 'XXX') AS NOME_PROGETTO, + CASE WHEN ISDATE(WRENAB.DTVALORIZ) = 0 THEN NULL + ELSE + CAST(CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) AS DATETIME) END AS DATA_CTV, + WRENAB.CTV AS CTV_MONITORATO, + WRENAB.CVN AS RISORSE_ASSOCIATE, + @ID_ELAB AS ID_ELAB, + (TANAB.TOT_CED + TANAB.TOT_DIV) AS CEDOLE_DIV, + CM.ChiaveProgetto -- tanab.codprog + FROM C6STAGINGPERIODICO.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB + ON TANAB.CODPROG = WRENAB.CODPROG + AND TANAB.DTRIF = WRENAB.DTRIF + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON TANAB.CODPROG = CM.idmonitoraggio +-- INNER JOIN C6StagingPeriodico.RP_Consulenza CS +-- ON CM.chiaveprogetto = CS.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND TANAB.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE 1 = 1 + AND TANAB.DTFINE = '99991231' + AND ISDATE(WRENAB.DTVALORIZ) = 1 + --intervento di Luca per errore mart simulazione 16/12/2015 + and tanab.codfis not in ('GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') + ---------------------------------------------------------------------------------- + end try + begin catch + select @@error + end catch + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_STORICO_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_STORICO_1') + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_STORICO_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MartPeriodico.Test_Quality + SELECT + TANAB.RETE AS RETE, + VC.COD_FISCALE, + 'DTVALORIZZ non valida - Area: ' + + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END + ' Nome Progetto: ' + + ISNULL(CS.nomeProgetto, 'XXX') + ' - DTVALORIZZ: ' + + CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) + + ' - CTV_MONITORATO: ' + ltrim(rtrim(cast(WRENAB.CTV AS VARCHAR(20)))) + + ' - RISORSE_ASSOCIATE: ' + ltrim(rtrim(cast(WRENAB.CVN AS VARCHAR(20)))) + + ' - CEDOLE_DIV: ' + ltrim(rtrim(cast((TANAB.TOT_CED + TANAB.TOT_DIV) AS VARCHAR(20)))) + + ' - ChiaveProgetto: ' + cast(isnull(CM.ChiaveProgetto, '') as varchar(10)) + FROM C6STAGINGPERIODICO.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB + ON TANAB.CODPROG = WRENAB.CODPROG + AND TANAB.DTRIF = WRENAB.DTRIF + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON TANAB.CODPROG = CM.idmonitoraggio +-- INNER JOIN C6StagingPeriodico.RP_Consulenza CS +-- ON CM.chiaveprogetto = CS.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND TANAB.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE 1 = 1 + AND TANAB.DTFINE = '99991231' + AND ISDATE(WRENAB.DTVALORIZ) = 0 +-- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_STORICO_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_MONITORAGGIO_STORICO_2' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO_pre_selective.sql new file mode 100644 index 00000000..51462556 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_MONITORAGGIO_STORICO_pre_selective.sql @@ -0,0 +1,164 @@ +-- Stored procedure +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 16 luglio 2013 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_MONITORAGGIO_STORICO_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_STORICO_pre_selective_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[MONITORAGGIO_STORICO] +begin try + INSERT INTO [C6MartPeriodico].[MONITORAGGIO_STORICO] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[DATA_CTV] + ,[CTV_MONITORATO] + ,[RISORSE_ASSOCIATE] + ,[ID_ELAB] + ,CEDOLE_DIV + ,ordinamento_progetto) + SELECT + TANAB.RETE AS RETE, + VC.COD_FISCALE, + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END AS ID_AREA, + ISNULL(CS.nomeProgetto, 'XXX') AS NOME_PROGETTO, + CASE WHEN ISDATE(WRENAB.DTVALORIZ) = 0 THEN NULL + ELSE + CAST(CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) AS DATETIME) END AS DATA_CTV, + WRENAB.CTV AS CTV_MONITORATO, + WRENAB.CVN AS RISORSE_ASSOCIATE, + @ID_ELAB AS ID_ELAB, + (TANAB.TOT_CED + TANAB.TOT_DIV) AS CEDOLE_DIV, + CM.ChiaveProgetto -- tanab.codprog + FROM C6STAGINGPERIODICO.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB + ON TANAB.CODPROG = WRENAB.CODPROG + AND TANAB.DTRIF = WRENAB.DTRIF + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON TANAB.CODPROG = CM.idmonitoraggio +-- INNER JOIN C6StagingPeriodico.RP_Consulenza CS +-- ON CM.chiaveprogetto = CS.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND TANAB.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE 1 = 1 + AND TANAB.DTFINE = '99991231' + AND ISDATE(WRENAB.DTVALORIZ) = 1 + --intervento di Luca per errore mart simulazione 16/12/2015 + and tanab.codfis not in ('GRPGLI71R45L407D','MRTGRL59B60H501T','RMNFNC40R14H501K') + ---------------------------------------------------------------------------------- + end try + begin catch + select @@error + end catch + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_STORICO_pre_selective_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_MONITORAGGIO_STORICO_pre_selective_1') + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_MONITORAGGIO_STORICO_pre_selective_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MartPeriodico.Test_Quality + SELECT + TANAB.RETE AS RETE, + VC.COD_FISCALE, + 'DTVALORIZZ non valida - Area: ' + + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END + ' Nome Progetto: ' + + ISNULL(CS.nomeProgetto, 'XXX') + ' - DTVALORIZZ: ' + + CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) + + ' - CTV_MONITORATO: ' + ltrim(rtrim(cast(WRENAB.CTV AS VARCHAR(20)))) + + ' - RISORSE_ASSOCIATE: ' + ltrim(rtrim(cast(WRENAB.CVN AS VARCHAR(20)))) + + ' - CEDOLE_DIV: ' + ltrim(rtrim(cast((TANAB.TOT_CED + TANAB.TOT_DIV) AS VARCHAR(20)))) + + ' - ChiaveProgetto: ' + cast(isnull(CM.ChiaveProgetto, '') as varchar(10)) + FROM C6STAGINGPERIODICO.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB + ON TANAB.CODPROG = WRENAB.CODPROG + AND TANAB.DTRIF = WRENAB.DTRIF + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON TANAB.CODPROG = CM.idmonitoraggio +-- INNER JOIN C6StagingPeriodico.RP_Consulenza CS +-- ON CM.chiaveprogetto = CS.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VC + ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND TANAB.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE 1 = 1 + AND TANAB.DTFINE = '99991231' + AND ISDATE(WRENAB.DTVALORIZ) = 0 +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_MONITORAGGIO_STORICO_pre_selective_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_MONITORAGGIO_STORICO_pre_selective_2' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO.sql new file mode 100644 index 00000000..ad896ee5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO.sql @@ -0,0 +1,86 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_ALTRO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_ALTRO', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_ALTRO +INSERT INTO [C6MartPeriodico].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb, dettPatrAz.denominazione) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6StagingPeriodico.RP_DettPatrAziendale dettPatrAz, + C6StagingPeriodico.RP_PatrimonioTerzi patrTerzi, + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +UNION ALL +SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb, dettAltriProd.descrizione) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6StagingPeriodico.RP_DettAltriProdotti dettAltriProd, + C6StagingPeriodico.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO_pre_selective.sql new file mode 100644 index 00000000..dd9bab8f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_ALTRO_pre_selective.sql @@ -0,0 +1,86 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_ALTRO_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_ALTRO_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_ALTRO +INSERT INTO [C6MartPeriodico].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb, dettPatrAz.denominazione) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6StagingPeriodico.RP_DettPatrAziendale dettPatrAz, + C6StagingPeriodico.RP_PatrimonioTerzi patrTerzi, + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +UNION ALL +SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb, dettAltriProd.descrizione) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6StagingPeriodico.RP_DettAltriProdotti dettAltriProd, + C6StagingPeriodico.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF.sql new file mode 100644 index 00000000..5a79cd55 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF.sql @@ -0,0 +1,778 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +--------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT distinct-- PER DIVERSI DA CC ************************ --distinct aggiunta il 23/02/2024 + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + -- 20170421 elimina char ; dal nome progetto che causa errore 2000 durante elaborazione prometeia exe + --ELSE LTRIM(RTRIM(CON.nomeProgetto)) + ELSE replace (LTRIM(RTRIM(CON.nomeProgetto)), ';', '') + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO, + NULL as ClienteDB, + CON.CHIAVEPTFMOD as CHIAVEPTFMOD, + CASE WHEN SPB.BASE_PREZZ = 'N' THEN 'S' ELSE 'N' END AS Nob_prez, + SPB.DIVISA AS Divisa +-- fine nuovo + INTO TEMP_PATRIMONIO_CAMPIONE + FROM C6StagingPeriodico.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + --and con.cod_fiscale + CON.RETE IN + --( + --select COD_FISCALE + RETE + --FROM ANDREA_RINO_CODICI_PATRIMONIO + --) + UNION ALL + SELECT distinct-- *** PER UGUALI DA CC ************************ distinct aggiunta il 23/02/2024 + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPPROD = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + --ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO, + NULL as ClienteDB, + CON.CHIAVEPTFMOD as CHIAVEPTFMOD, + CASE WHEN SPB.BASE_PREZZ = 'N' THEN 'S' ELSE 'N' END AS Nob_prez, + SPB.DIVISA AS Divisa-- fine nuovo + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPERIODICO.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin in ('EURO00000009', 'EURO10000007') + --FINE INTERVENTI OMNIA*** +--and con.cod_fiscale + CON.RETE IN +--( +--select COD_FISCALE + RETE +--FROM ANDREA_RINO_CODICI_PATRIMONIO +--) +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --DROP TABLE #PATRIMONIO_DUPLICATI + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM TEMP_PATRIMONIO_CAMPIONE + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + --Scrittura Tabella Data Quality + --id 4 'POSIZIONI DUPLICATE - PATRIMONIO_BF' +exec C6MartPeriodico.SP_DQ_PosizioniDuplicate 2 + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MARTPERIODICO.PATRIMONIO_BF +([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] +-- ,[STATO_CONSULENZA] +-- ,[DATA_STATO_CONS] +-- ,[DATA_MIGR_CONS] +-- , [DATA_PIANIF] +-- ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVE_PROGETTO] + ,[ClienteDB] + ,[ChiavePtfMod] + ,[Nob_Prez] + ,[Divisa]) + SELECT distinct P.[RETE] --aggiunto distinct + ,P.[COD_FISCALE] + ,P.[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,NULL --[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZONTETEMPORALE] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVEPROGETTO] + ,[ClienteDB] + ,[ChiavePtfMod] + ,P.[Nob_Prez] + ,P.[Divisa] +FROM +TEMP_PATRIMONIO_CAMPIONE P + LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--select rete, cod_fiscale, positionid, count(*) from #PATRIMONIO group by rete, cod_fiscale, positionid having count(*) > 1 + UNION ALL + SELECT distinct--aggiunto distinct + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, +-- case when isnull(CON.tipoProgetto, '') = '' then 'Default' +-- when CON.tipoProgetto = 0 then 'Default' +-- else 'Progetto investimento' end + '' as TIPO_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + CASE WHEN ORIZZ_TEMP_NUM = 0 THEN NULL ELSE ORIZZ_TEMP_NUM END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + KAT.AzOb As STRTYPE, + KAT.Complessita as COMPLEX, + MIT.DESCRIZIONE AS EMITTENTE, + SPB.ISIN, + @ID_ELAB, + @TIPO_ELAB, + -1 AS CHIAVE_PROGETTO, + NULL as ClienteDB, + patr.CHIAVEPTFMOD as CHIAVEPTFMOD, + CASE WHEN SPB.BASE_PREZZ = 'N' THEN 'S' ELSE 'N' END AS Nob_prez, + SPB.DIVISA AS Divisa + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI_v SPB + LEFT JOIN TEMP_PATRIMONIO_CAMPIONE PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--and SPB.CODFIS + SPB.RETE IN +-- ( +-- select COD_FISCALE + RETE +-- FROM ANDREA_RINO_CODICI_PATRIMONIO +-- ) +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + --************************************************************************************************* + -- RECUPERO CHIAVE PROGETTO DALLA CONSULENZA PER I PRODOTTI CHE SCENDONO DAL WS MA NON SONO NEL DB + SELECT DISTINCT COD_FISCALE, RETE, NULL AS CHIAVEPROGETTO + INTO #CHIAVEPROGETTONULL + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE CHIAVE_PROGETTO = -1 + UPDATE #CHIAVEPROGETTONULL SET CHIAVEPROGETTO = R.CHIAVEPROGETTO + FROM + #CHIAVEPROGETTONULL C INNER JOIN C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON C.COD_FISCALE = R.COD_FISCALE + AND C.RETE = R.RETE + AND R.area = 'Na' + UPDATE C6MARTPERIODICO.PATRIMONIO_BF SET + CHIAVE_PROGETTO = T.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = T.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF P INNER JOIN #CHIAVEPROGETTONULL T + ON P.COD_FISCALE = T.COD_FISCALE + AND P.RETE = T.RETE + WHERE P.CHIAVE_PROGETTO = -1 + --************************************************************************************************* + drop table #CHIAVEPROGETTONULL + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' + ) +--DROP table TEMP_PATRIMONIO_CAMPIONE +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, +--INIZIO INTERVENTO CORRETTIVO 20150130 +-- '', + CONS.CodIsin, +--FINE INTERVENTO CORRETTIVO 20150130 + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND TCP.SUBPROD=TSCA.SUBPROD + AND TCP.ISIN=TSCA.ISIN + AND TCP.dtrif=TSCA.dtrif + AND TCP.dtingresso=TSCA.dtingresso +--FINE INTERVENTO CORRETTIVO 20150130 + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,0)=ISNULL(TSCA.PROG,0) + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,0)=ISNULL(TSCA.ANNO,0) + inner join + --C6StagingPeriodico.RP_CONSULENZA_v AS CONS + C6StagingPeriodico.RP_CONSULENZA AS CONS + ON + TSCA.CODCONF = CONS.CODCONF +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND (TSCA.CODPROD = CONS.CodInterno + OR TSCA.CODABI = CONS.CodInterno) +--FINE INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.ISIN, '') = ISNULL(CONS.CodIsin, '') +-- AND TCP.CODINT = CONS.CODINTERNO +--FINE INTERVENTO CORRETTIVO 20150130 + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE +--INIZIO INTERVENTO CORRETTIVO 20150130 + TCP.dtuscita = '99991231' +-- TSCA.DTRIF <> 0 +--FINE INTERVENTO CORRETTIVO 20150130 + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + DROP TABLE #REND_NON_RAPPR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_3', + GETDATE(), + 'Elaborazione trimestrale' + ) +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq', +REND_NON_RAPPR=1 +WHERE TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +--AND ID_AREA = 'na' +AND CTV > 0 +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Cc' +WHERE TIPO_PRODOTTO='CC' +--AND ID_AREA = 'na' +AND CTV < 0 +--***INIZIO INTERVENTI OMNIA*** +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Self' +--INIZIO INTERVENTO CORRETTIVO 20150130 + ,REND_NON_RAPPR=0 +--FINE INTERVENTO CORRETTIVO 20150130 +WHERE ISIN in ('EURO00000009', 'EURO10000007') +--AND ID_AREA = 'na' +AND CTV < 0 +--***FINE INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I CC DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Cc') + AND BF.id_AREA=R.AREA + WHERE BF.TIPO_PRODOTTO='CC' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***INIZIO INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I SELF GP OMNIA DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Self') + AND BF.id_AREA=R.AREA + WHERE BF.ISIN in ('EURO00000009', 'EURO10000007') + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***FINE INTERVENTI OMNIA*** +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) +--update correzione prodotti SMA con ID_AREA=Liq +-- SPIEGAZIONE 20230502 poiche non venivano agganciati i progetti, queste persone avevano due prodotti SMA con nomi progetti differenti (uno a Default e uno a NULL) +-- ma sulla w6clirep non ci puo essere uno stesso prodotto nell'area liquidita cosi si danno i nomi progetti uguali e si risolve il problema + update C6MartPeriodico.PATRIMONIO_BF + set NOME_PROGETTO='Default' + where id_area='Liq'and TIPO_PRODOTTO='CC' and NOME_PROGETTO is null and COD_SOTTOPRODOTTO='SMA' +--modifica 05/09/2023 per togliere i prodotti con Codice Interno GD ai Fideuram Direct/ Direct Banker +update b +set b.clienteDB='S' +from C6MartPeriodico.PATRIMONIO_BF b inner join C6StagingPeriodico.APPO_CONTRATTI v on b.rete=v.rete and b.COD_FISCALE=v.COD_FISCALE where v.TIP_CONTRATTO=3 +--delete from C6MartPeriodico.PATRIMONIO_BF where COD_INTERNO='GD' and clienteDB='S' +--fine modifica 05/09/2023 per togliere i prodotti con Codice Interno GD ai Fideuram Direct/ Direct Banker + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' + ) +insert into c6martperiodico.test_quality +select distinct a.rete, a.cod_fiscale, 'ORDINAMENTO PROGETTO PER AREA DUPLICATO' +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto +exec C6MartPeriodico.SP_DQ_ProgettoDuplicatoArea 2 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170407.SAVE.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170407.SAVE.sql new file mode 100644 index 00000000..69f2235d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170407.SAVE.sql @@ -0,0 +1,743 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_20170407.SAVE] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + INTO TEMP_PATRIMONIO_CAMPIONE + FROM C6StagingPeriodico.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + --and con.cod_fiscale + CON.RETE IN + --( + --select COD_FISCALE + RETE + --FROM ANDREA_RINO_CODICI_PATRIMONIO + --) + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPPROD = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + --ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPERIODICO.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin in ('EURO00000009', 'EURO10000007') + --FINE INTERVENTI OMNIA*** +--and con.cod_fiscale + CON.RETE IN +--( +--select COD_FISCALE + RETE +--FROM ANDREA_RINO_CODICI_PATRIMONIO +--) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --DROP TABLE #PATRIMONIO_DUPLICATI + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM TEMP_PATRIMONIO_CAMPIONE + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + --Scrittura Tabella Data Quality + --id 4 'POSIZIONI DUPLICATE - PATRIMONIO_BF' +exec C6MartPeriodico.SP_DQ_PosizioniDuplicate 2 + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MARTPERIODICO.PATRIMONIO_BF +([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] +-- ,[STATO_CONSULENZA] +-- ,[DATA_STATO_CONS] +-- ,[DATA_MIGR_CONS] +-- , [DATA_PIANIF] +-- ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVE_PROGETTO]) + SELECT P.[RETE] + ,P.[COD_FISCALE] + ,P.[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,NULL --[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZONTETEMPORALE] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVEPROGETTO] +FROM +TEMP_PATRIMONIO_CAMPIONE P + LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--select rete, cod_fiscale, positionid, count(*) from #PATRIMONIO group by rete, cod_fiscale, positionid having count(*) > 1 + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, +-- case when isnull(CON.tipoProgetto, '') = '' then 'Default' +-- when CON.tipoProgetto = 0 then 'Default' +-- else 'Progetto investimento' end + '' as TIPO_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + CASE WHEN ORIZZ_TEMP_NUM = 0 THEN NULL ELSE ORIZZ_TEMP_NUM END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + KAT.AzOb As STRTYPE, + KAT.Complessita as COMPLEX, + MIT.DESCRIZIONE AS EMITTENTE, + SPB.ISIN, + @ID_ELAB, + @TIPO_ELAB, + -1 AS CHIAVE_PROGETTO + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI SPB + LEFT JOIN TEMP_PATRIMONIO_CAMPIONE PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--and SPB.CODFIS + SPB.RETE IN +-- ( +-- select COD_FISCALE + RETE +-- FROM ANDREA_RINO_CODICI_PATRIMONIO +-- ) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + --************************************************************************************************* + -- RECUPERO CHIAVE PROGETTO DALLA CONSULENZA PER I PRODOTTI CHE SCENDONO DAL WS MA NON SONO NEL DB + SELECT DISTINCT COD_FISCALE, RETE, NULL AS CHIAVEPROGETTO + INTO #CHIAVEPROGETTONULL + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE CHIAVE_PROGETTO = -1 + UPDATE #CHIAVEPROGETTONULL SET CHIAVEPROGETTO = R.CHIAVEPROGETTO + FROM + #CHIAVEPROGETTONULL C INNER JOIN C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON C.COD_FISCALE = R.COD_FISCALE + AND C.RETE = R.RETE + AND R.area = 'Na' + UPDATE C6MARTPERIODICO.PATRIMONIO_BF SET + CHIAVE_PROGETTO = T.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = T.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF P INNER JOIN #CHIAVEPROGETTONULL T + ON P.COD_FISCALE = T.COD_FISCALE + AND P.RETE = T.RETE + WHERE P.CHIAVE_PROGETTO = -1 + --************************************************************************************************* + drop table #CHIAVEPROGETTONULL + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' + ) +--DROP table TEMP_PATRIMONIO_CAMPIONE +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, +--INIZIO INTERVENTO CORRETTIVO 20150130 +-- '', + CONS.CodIsin, +--FINE INTERVENTO CORRETTIVO 20150130 + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND TCP.SUBPROD=TSCA.SUBPROD + AND TCP.ISIN=TSCA.ISIN + AND TCP.dtrif=TSCA.dtrif + AND TCP.dtingresso=TSCA.dtingresso +--FINE INTERVENTO CORRETTIVO 20150130 + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + C6StagingPeriodico.RP_CONSULENZA AS CONS + ON + TSCA.CODCONF = CONS.CODCONF +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND (TSCA.CODPROD = CONS.CodInterno + OR TSCA.CODABI = CONS.CodInterno) +--FINE INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.ISIN, '') = ISNULL(CONS.CodIsin, '') +-- AND TCP.CODINT = CONS.CODINTERNO +--FINE INTERVENTO CORRETTIVO 20150130 + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE +--INIZIO INTERVENTO CORRETTIVO 20150130 + TCP.dtuscita = '99991231' +-- TSCA.DTRIF <> 0 +--FINE INTERVENTO CORRETTIVO 20150130 + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + DROP TABLE #REND_NON_RAPPR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_3', + GETDATE(), + 'Elaborazione trimestrale' + ) +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq', +REND_NON_RAPPR=1 +WHERE TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +--AND ID_AREA = 'na' +AND CTV > 0 +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Cc' +WHERE TIPO_PRODOTTO='CC' +--AND ID_AREA = 'na' +AND CTV < 0 +--***INIZIO INTERVENTI OMNIA*** +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Self' +--INIZIO INTERVENTO CORRETTIVO 20150130 + ,REND_NON_RAPPR=0 +--FINE INTERVENTO CORRETTIVO 20150130 +WHERE ISIN in ('EURO00000009', 'EURO10000007') +--AND ID_AREA = 'na' +AND CTV < 0 +--***FINE INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I CC DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Cc') + AND BF.id_AREA=R.AREA + WHERE BF.TIPO_PRODOTTO='CC' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***INIZIO INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I SELF GP OMNIA DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Self') + AND BF.id_AREA=R.AREA + WHERE BF.ISIN in ('EURO00000009', 'EURO10000007') + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***FINE INTERVENTI OMNIA*** +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' + ) +insert into c6martperiodico.test_quality +select distinct a.rete, a.cod_fiscale, 'ORDINAMENTO PROGETTO PER AREA DUPLICATO' +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto +exec C6MartPeriodico.SP_DQ_ProgettoDuplicatoArea 2 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170421_4b_prometeria_err_fix.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170421_4b_prometeria_err_fix.sql new file mode 100644 index 00000000..90cd75bd --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20170421_4b_prometeria_err_fix.sql @@ -0,0 +1,744 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +--------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_20170421_4b_prometeria_err_fix] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + INTO TEMP_PATRIMONIO_CAMPIONE + FROM C6StagingPeriodico.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + --and con.cod_fiscale + CON.RETE IN + --( + --select COD_FISCALE + RETE + --FROM ANDREA_RINO_CODICI_PATRIMONIO + --) + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPPROD = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + --ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPERIODICO.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin in ('EURO00000009', 'EURO10000007') + --FINE INTERVENTI OMNIA*** +--and con.cod_fiscale + CON.RETE IN +--( +--select COD_FISCALE + RETE +--FROM ANDREA_RINO_CODICI_PATRIMONIO +--) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --DROP TABLE #PATRIMONIO_DUPLICATI + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM TEMP_PATRIMONIO_CAMPIONE + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + --Scrittura Tabella Data Quality + --id 4 'POSIZIONI DUPLICATE - PATRIMONIO_BF' +exec C6MartPeriodico.SP_DQ_PosizioniDuplicate 2 + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MARTPERIODICO.PATRIMONIO_BF +([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] +-- ,[STATO_CONSULENZA] +-- ,[DATA_STATO_CONS] +-- ,[DATA_MIGR_CONS] +-- , [DATA_PIANIF] +-- ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVE_PROGETTO]) + SELECT P.[RETE] + ,P.[COD_FISCALE] + ,P.[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,NULL --[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZONTETEMPORALE] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVEPROGETTO] +FROM +TEMP_PATRIMONIO_CAMPIONE P + LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--select rete, cod_fiscale, positionid, count(*) from #PATRIMONIO group by rete, cod_fiscale, positionid having count(*) > 1 + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, +-- case when isnull(CON.tipoProgetto, '') = '' then 'Default' +-- when CON.tipoProgetto = 0 then 'Default' +-- else 'Progetto investimento' end + '' as TIPO_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + CASE WHEN ORIZZ_TEMP_NUM = 0 THEN NULL ELSE ORIZZ_TEMP_NUM END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + KAT.AzOb As STRTYPE, + KAT.Complessita as COMPLEX, + MIT.DESCRIZIONE AS EMITTENTE, + SPB.ISIN, + @ID_ELAB, + @TIPO_ELAB, + -1 AS CHIAVE_PROGETTO + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI_v SPB + LEFT JOIN TEMP_PATRIMONIO_CAMPIONE PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--and SPB.CODFIS + SPB.RETE IN +-- ( +-- select COD_FISCALE + RETE +-- FROM ANDREA_RINO_CODICI_PATRIMONIO +-- ) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + --************************************************************************************************* + -- RECUPERO CHIAVE PROGETTO DALLA CONSULENZA PER I PRODOTTI CHE SCENDONO DAL WS MA NON SONO NEL DB + SELECT DISTINCT COD_FISCALE, RETE, NULL AS CHIAVEPROGETTO + INTO #CHIAVEPROGETTONULL + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE CHIAVE_PROGETTO = -1 + UPDATE #CHIAVEPROGETTONULL SET CHIAVEPROGETTO = R.CHIAVEPROGETTO + FROM + #CHIAVEPROGETTONULL C INNER JOIN C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON C.COD_FISCALE = R.COD_FISCALE + AND C.RETE = R.RETE + AND R.area = 'Na' + UPDATE C6MARTPERIODICO.PATRIMONIO_BF SET + CHIAVE_PROGETTO = T.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = T.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF P INNER JOIN #CHIAVEPROGETTONULL T + ON P.COD_FISCALE = T.COD_FISCALE + AND P.RETE = T.RETE + WHERE P.CHIAVE_PROGETTO = -1 + --************************************************************************************************* + drop table #CHIAVEPROGETTONULL + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' + ) +--DROP table TEMP_PATRIMONIO_CAMPIONE +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, +--INIZIO INTERVENTO CORRETTIVO 20150130 +-- '', + CONS.CodIsin, +--FINE INTERVENTO CORRETTIVO 20150130 + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND TCP.SUBPROD=TSCA.SUBPROD + AND TCP.ISIN=TSCA.ISIN + AND TCP.dtrif=TSCA.dtrif + AND TCP.dtingresso=TSCA.dtingresso +--FINE INTERVENTO CORRETTIVO 20150130 + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + C6StagingPeriodico.RP_CONSULENZA_v AS CONS + ON + TSCA.CODCONF = CONS.CODCONF +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND (TSCA.CODPROD = CONS.CodInterno + OR TSCA.CODABI = CONS.CodInterno) +--FINE INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.ISIN, '') = ISNULL(CONS.CodIsin, '') +-- AND TCP.CODINT = CONS.CODINTERNO +--FINE INTERVENTO CORRETTIVO 20150130 + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE +--INIZIO INTERVENTO CORRETTIVO 20150130 + TCP.dtuscita = '99991231' +-- TSCA.DTRIF <> 0 +--FINE INTERVENTO CORRETTIVO 20150130 + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + DROP TABLE #REND_NON_RAPPR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_3', + GETDATE(), + 'Elaborazione trimestrale' + ) +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq', +REND_NON_RAPPR=1 +WHERE TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +--AND ID_AREA = 'na' +AND CTV > 0 +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Cc' +WHERE TIPO_PRODOTTO='CC' +--AND ID_AREA = 'na' +AND CTV < 0 +--***INIZIO INTERVENTI OMNIA*** +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Self' +--INIZIO INTERVENTO CORRETTIVO 20150130 + ,REND_NON_RAPPR=0 +--FINE INTERVENTO CORRETTIVO 20150130 +WHERE ISIN in ('EURO00000009', 'EURO10000007') +--AND ID_AREA = 'na' +AND CTV < 0 +--***FINE INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I CC DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Cc') + AND BF.id_AREA=R.AREA + WHERE BF.TIPO_PRODOTTO='CC' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***INIZIO INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I SELF GP OMNIA DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Self') + AND BF.id_AREA=R.AREA + WHERE BF.ISIN in ('EURO00000009', 'EURO10000007') + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***FINE INTERVENTI OMNIA*** +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' + ) +insert into c6martperiodico.test_quality +select distinct a.rete, a.cod_fiscale, 'ORDINAMENTO PROGETTO PER AREA DUPLICATO' +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto +exec C6MartPeriodico.SP_DQ_ProgettoDuplicatoArea 2 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20171019_err.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20171019_err.sql new file mode 100644 index 00000000..80315bf1 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_20171019_err.sql @@ -0,0 +1,746 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +--------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_20171019_err] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + -- 20170421 elimina char ; dal nome progetto che causa errore 2000 durante elaborazione prometeia exe + --ELSE LTRIM(RTRIM(CON.nomeProgetto)) + ELSE replace (LTRIM(RTRIM(CON.nomeProgetto)), ';', '') + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + INTO TEMP_PATRIMONIO_CAMPIONE + FROM C6StagingPeriodico.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + --and con.cod_fiscale + CON.RETE IN + --( + --select COD_FISCALE + RETE + --FROM ANDREA_RINO_CODICI_PATRIMONIO + --) + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPPROD = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + --ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPERIODICO.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin in ('EURO00000009', 'EURO10000007') + --FINE INTERVENTI OMNIA*** +--and con.cod_fiscale + CON.RETE IN +--( +--select COD_FISCALE + RETE +--FROM ANDREA_RINO_CODICI_PATRIMONIO +--) +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --DROP TABLE #PATRIMONIO_DUPLICATI + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM TEMP_PATRIMONIO_CAMPIONE + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + --Scrittura Tabella Data Quality + --id 4 'POSIZIONI DUPLICATE - PATRIMONIO_BF' +exec C6MartPeriodico.SP_DQ_PosizioniDuplicate 2 + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MARTPERIODICO.PATRIMONIO_BF +([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] +-- ,[STATO_CONSULENZA] +-- ,[DATA_STATO_CONS] +-- ,[DATA_MIGR_CONS] +-- , [DATA_PIANIF] +-- ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVE_PROGETTO]) + SELECT P.[RETE] + ,P.[COD_FISCALE] + ,P.[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,NULL --[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZONTETEMPORALE] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVEPROGETTO] +FROM +TEMP_PATRIMONIO_CAMPIONE P + LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--select rete, cod_fiscale, positionid, count(*) from #PATRIMONIO group by rete, cod_fiscale, positionid having count(*) > 1 + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, +-- case when isnull(CON.tipoProgetto, '') = '' then 'Default' +-- when CON.tipoProgetto = 0 then 'Default' +-- else 'Progetto investimento' end + '' as TIPO_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + CASE WHEN ORIZZ_TEMP_NUM = 0 THEN NULL ELSE ORIZZ_TEMP_NUM END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + KAT.AzOb As STRTYPE, + KAT.Complessita as COMPLEX, + MIT.DESCRIZIONE AS EMITTENTE, + SPB.ISIN, + @ID_ELAB, + @TIPO_ELAB, + -1 AS CHIAVE_PROGETTO + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI_v SPB + LEFT JOIN TEMP_PATRIMONIO_CAMPIONE PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--and SPB.CODFIS + SPB.RETE IN +-- ( +-- select COD_FISCALE + RETE +-- FROM ANDREA_RINO_CODICI_PATRIMONIO +-- ) +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + --************************************************************************************************* + -- RECUPERO CHIAVE PROGETTO DALLA CONSULENZA PER I PRODOTTI CHE SCENDONO DAL WS MA NON SONO NEL DB + SELECT DISTINCT COD_FISCALE, RETE, NULL AS CHIAVEPROGETTO + INTO #CHIAVEPROGETTONULL + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE CHIAVE_PROGETTO = -1 + UPDATE #CHIAVEPROGETTONULL SET CHIAVEPROGETTO = R.CHIAVEPROGETTO + FROM + #CHIAVEPROGETTONULL C INNER JOIN C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON C.COD_FISCALE = R.COD_FISCALE + AND C.RETE = R.RETE + AND R.area = 'Na' + UPDATE C6MARTPERIODICO.PATRIMONIO_BF SET + CHIAVE_PROGETTO = T.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = T.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF P INNER JOIN #CHIAVEPROGETTONULL T + ON P.COD_FISCALE = T.COD_FISCALE + AND P.RETE = T.RETE + WHERE P.CHIAVE_PROGETTO = -1 + --************************************************************************************************* + drop table #CHIAVEPROGETTONULL + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' + ) +--DROP table TEMP_PATRIMONIO_CAMPIONE +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, +--INIZIO INTERVENTO CORRETTIVO 20150130 +-- '', + CONS.CodIsin, +--FINE INTERVENTO CORRETTIVO 20150130 + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND TCP.SUBPROD=TSCA.SUBPROD + AND TCP.ISIN=TSCA.ISIN + AND TCP.dtrif=TSCA.dtrif + AND TCP.dtingresso=TSCA.dtingresso +--FINE INTERVENTO CORRETTIVO 20150130 + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + C6StagingPeriodico.RP_CONSULENZA_v AS CONS + ON + TSCA.CODCONF = CONS.CODCONF +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND (TSCA.CODPROD = CONS.CodInterno + OR TSCA.CODABI = CONS.CodInterno) +--FINE INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.ISIN, '') = ISNULL(CONS.CodIsin, '') +-- AND TCP.CODINT = CONS.CODINTERNO +--FINE INTERVENTO CORRETTIVO 20150130 + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE +--INIZIO INTERVENTO CORRETTIVO 20150130 + TCP.dtuscita = '99991231' +-- TSCA.DTRIF <> 0 +--FINE INTERVENTO CORRETTIVO 20150130 + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + DROP TABLE #REND_NON_RAPPR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_3', + GETDATE(), + 'Elaborazione trimestrale' + ) +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq', +REND_NON_RAPPR=1 +WHERE TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +--AND ID_AREA = 'na' +AND CTV > 0 +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Cc' +WHERE TIPO_PRODOTTO='CC' +--AND ID_AREA = 'na' +AND CTV < 0 +--***INIZIO INTERVENTI OMNIA*** +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Self' +--INIZIO INTERVENTO CORRETTIVO 20150130 + ,REND_NON_RAPPR=0 +--FINE INTERVENTO CORRETTIVO 20150130 +WHERE ISIN in ('EURO00000009', 'EURO10000007') +--AND ID_AREA = 'na' +AND CTV < 0 +--***FINE INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I CC DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Cc') + AND BF.id_AREA=R.AREA + WHERE BF.TIPO_PRODOTTO='CC' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***INIZIO INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I SELF GP OMNIA DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Self') + AND BF.id_AREA=R.AREA + WHERE BF.ISIN in ('EURO00000009', 'EURO10000007') + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***FINE INTERVENTI OMNIA*** +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' + ) +insert into c6martperiodico.test_quality +select distinct a.rete, a.cod_fiscale, 'ORDINAMENTO PROGETTO PER AREA DUPLICATO' +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto +exec C6MartPeriodico.SP_DQ_ProgettoDuplicatoArea 2 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BKP_20231017.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BKP_20231017.sql new file mode 100644 index 00000000..d7c80356 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BKP_20231017.sql @@ -0,0 +1,768 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +--------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_BKP_20231017] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + -- 20170421 elimina char ; dal nome progetto che causa errore 2000 durante elaborazione prometeia exe + --ELSE LTRIM(RTRIM(CON.nomeProgetto)) + ELSE replace (LTRIM(RTRIM(CON.nomeProgetto)), ';', '') + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO, + NULL as ClienteDB, + CON.CHIAVEPTFMOD as CHIAVEPTFMOD +-- fine nuovo + INTO TEMP_PATRIMONIO_CAMPIONE + FROM C6StagingPeriodico.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + --and con.cod_fiscale + CON.RETE IN + --( + --select COD_FISCALE + RETE + --FROM ANDREA_RINO_CODICI_PATRIMONIO + --) + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPPROD = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + --ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO, + NULL as ClienteDB, + CON.CHIAVEPTFMOD as CHIAVEPTFMOD +-- fine nuovo + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPERIODICO.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin in ('EURO00000009', 'EURO10000007') + --FINE INTERVENTI OMNIA*** +--and con.cod_fiscale + CON.RETE IN +--( +--select COD_FISCALE + RETE +--FROM ANDREA_RINO_CODICI_PATRIMONIO +--) +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --DROP TABLE #PATRIMONIO_DUPLICATI + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM TEMP_PATRIMONIO_CAMPIONE + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + --Scrittura Tabella Data Quality + --id 4 'POSIZIONI DUPLICATE - PATRIMONIO_BF' +exec C6MartPeriodico.SP_DQ_PosizioniDuplicate 2 + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MARTPERIODICO.PATRIMONIO_BF +([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] +-- ,[STATO_CONSULENZA] +-- ,[DATA_STATO_CONS] +-- ,[DATA_MIGR_CONS] +-- , [DATA_PIANIF] +-- ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVE_PROGETTO] + ,[ClienteDB]) + SELECT distinct P.[RETE] --aggiunto distinct + ,P.[COD_FISCALE] + ,P.[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,NULL --[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZONTETEMPORALE] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVEPROGETTO] + ,[ClienteDB] + ,[ChiavePtfMod] +FROM +TEMP_PATRIMONIO_CAMPIONE P + LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--select rete, cod_fiscale, positionid, count(*) from #PATRIMONIO group by rete, cod_fiscale, positionid having count(*) > 1 + UNION ALL + SELECT distinct--aggiunto distinct + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, +-- case when isnull(CON.tipoProgetto, '') = '' then 'Default' +-- when CON.tipoProgetto = 0 then 'Default' +-- else 'Progetto investimento' end + '' as TIPO_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + CASE WHEN ORIZZ_TEMP_NUM = 0 THEN NULL ELSE ORIZZ_TEMP_NUM END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + KAT.AzOb As STRTYPE, + KAT.Complessita as COMPLEX, + MIT.DESCRIZIONE AS EMITTENTE, + SPB.ISIN, + @ID_ELAB, + @TIPO_ELAB, + -1 AS CHIAVE_PROGETTO, + NULL as ClienteDB, + patr.CHIAVEPTFMOD as CHIAVEPTFMOD + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI_v SPB + LEFT JOIN TEMP_PATRIMONIO_CAMPIONE PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--and SPB.CODFIS + SPB.RETE IN +-- ( +-- select COD_FISCALE + RETE +-- FROM ANDREA_RINO_CODICI_PATRIMONIO +-- ) +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + --************************************************************************************************* + -- RECUPERO CHIAVE PROGETTO DALLA CONSULENZA PER I PRODOTTI CHE SCENDONO DAL WS MA NON SONO NEL DB + SELECT DISTINCT COD_FISCALE, RETE, NULL AS CHIAVEPROGETTO + INTO #CHIAVEPROGETTONULL + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE CHIAVE_PROGETTO = -1 + UPDATE #CHIAVEPROGETTONULL SET CHIAVEPROGETTO = R.CHIAVEPROGETTO + FROM + #CHIAVEPROGETTONULL C INNER JOIN C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON C.COD_FISCALE = R.COD_FISCALE + AND C.RETE = R.RETE + AND R.area = 'Na' + UPDATE C6MARTPERIODICO.PATRIMONIO_BF SET + CHIAVE_PROGETTO = T.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = T.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF P INNER JOIN #CHIAVEPROGETTONULL T + ON P.COD_FISCALE = T.COD_FISCALE + AND P.RETE = T.RETE + WHERE P.CHIAVE_PROGETTO = -1 + --************************************************************************************************* + drop table #CHIAVEPROGETTONULL + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' + ) +--DROP table TEMP_PATRIMONIO_CAMPIONE +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, +--INIZIO INTERVENTO CORRETTIVO 20150130 +-- '', + CONS.CodIsin, +--FINE INTERVENTO CORRETTIVO 20150130 + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND TCP.SUBPROD=TSCA.SUBPROD + AND TCP.ISIN=TSCA.ISIN + AND TCP.dtrif=TSCA.dtrif + AND TCP.dtingresso=TSCA.dtingresso +--FINE INTERVENTO CORRETTIVO 20150130 + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + --C6StagingPeriodico.RP_CONSULENZA_v AS CONS + C6StagingPeriodico.RP_CONSULENZA AS CONS + ON + TSCA.CODCONF = CONS.CODCONF +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND (TSCA.CODPROD = CONS.CodInterno + OR TSCA.CODABI = CONS.CodInterno) +--FINE INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.ISIN, '') = ISNULL(CONS.CodIsin, '') +-- AND TCP.CODINT = CONS.CODINTERNO +--FINE INTERVENTO CORRETTIVO 20150130 + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE +--INIZIO INTERVENTO CORRETTIVO 20150130 + TCP.dtuscita = '99991231' +-- TSCA.DTRIF <> 0 +--FINE INTERVENTO CORRETTIVO 20150130 + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + DROP TABLE #REND_NON_RAPPR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_3', + GETDATE(), + 'Elaborazione trimestrale' + ) +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq', +REND_NON_RAPPR=1 +WHERE TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +--AND ID_AREA = 'na' +AND CTV > 0 +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Cc' +WHERE TIPO_PRODOTTO='CC' +--AND ID_AREA = 'na' +AND CTV < 0 +--***INIZIO INTERVENTI OMNIA*** +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Self' +--INIZIO INTERVENTO CORRETTIVO 20150130 + ,REND_NON_RAPPR=0 +--FINE INTERVENTO CORRETTIVO 20150130 +WHERE ISIN in ('EURO00000009', 'EURO10000007') +--AND ID_AREA = 'na' +AND CTV < 0 +--***FINE INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I CC DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Cc') + AND BF.id_AREA=R.AREA + WHERE BF.TIPO_PRODOTTO='CC' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***INIZIO INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I SELF GP OMNIA DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Self') + AND BF.id_AREA=R.AREA + WHERE BF.ISIN in ('EURO00000009', 'EURO10000007') + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***FINE INTERVENTI OMNIA*** +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) +--update correzione prodotti SMA con ID_AREA=Liq +-- SPIEGAZIONE 20230502 poiche non venivano agganciati i progetti, queste persone avevano due prodotti SMA con nomi progetti differenti (uno a Default e uno a NULL) +-- ma sulla w6clirep non ci puo essere uno stesso prodotto nell'area liquidita cosi si danno i nomi progetti uguali e si risolve il problema + update C6MartPeriodico.PATRIMONIO_BF + set NOME_PROGETTO='Default' + where id_area='Liq'and TIPO_PRODOTTO='CC' and NOME_PROGETTO is null and COD_SOTTOPRODOTTO='SMA' +--modifica 05/09/2023 per togliere i prodotti con Codice Interno GD ai Fideuram Direct/ Direct Banker +update b +set b.clienteDB='S' +from C6MartPeriodico.PATRIMONIO_BF b inner join C6StagingPeriodico.APPO_CONTRATTI v on b.rete=v.rete and b.COD_FISCALE=v.COD_FISCALE where v.TIP_CONTRATTO=3 +delete from C6Mart.PATRIMONIO_BF where COD_INTERNO='GD' and clienteDB='S' +--fine modifica 05/09/2023 per togliere i prodotti con Codice Interno GD ai Fideuram Direct/ Direct Banker + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' + ) +insert into c6martperiodico.test_quality +select distinct a.rete, a.cod_fiscale, 'ORDINAMENTO PROGETTO PER AREA DUPLICATO' +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto +exec C6MartPeriodico.SP_DQ_ProgettoDuplicatoArea 2 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BK_eligoTitoli.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BK_eligoTitoli.sql new file mode 100644 index 00000000..9e4acbaf --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_BK_eligoTitoli.sql @@ -0,0 +1,716 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + INTO TEMP_PATRIMONIO_CAMPIONE + FROM C6StagingPeriodico.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + --and con.cod_fiscale + CON.RETE IN + --( + --select COD_FISCALE + RETE + --FROM ANDREA_RINO_CODICI_PATRIMONIO + --) + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPPROD = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + --ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPERIODICO.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin = 'EURO00000009' + --FINE INTERVENTI OMNIA*** +--and con.cod_fiscale + CON.RETE IN +--( +--select COD_FISCALE + RETE +--FROM ANDREA_RINO_CODICI_PATRIMONIO +--) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --DROP TABLE #PATRIMONIO_DUPLICATI + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM TEMP_PATRIMONIO_CAMPIONE + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MARTPERIODICO.PATRIMONIO_BF +([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] +-- ,[STATO_CONSULENZA] +-- ,[DATA_STATO_CONS] +-- ,[DATA_MIGR_CONS] +-- , [DATA_PIANIF] +-- ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVE_PROGETTO]) + SELECT P.[RETE] + ,P.[COD_FISCALE] + ,P.[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,NULL --[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZONTETEMPORALE] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVEPROGETTO] +FROM +TEMP_PATRIMONIO_CAMPIONE P + LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--select rete, cod_fiscale, positionid, count(*) from #PATRIMONIO group by rete, cod_fiscale, positionid having count(*) > 1 + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, +-- case when isnull(CON.tipoProgetto, '') = '' then 'Default' +-- when CON.tipoProgetto = 0 then 'Default' +-- else 'Progetto investimento' end + '' as TIPO_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + CASE WHEN ORIZZ_TEMP_NUM = 0 THEN NULL ELSE ORIZZ_TEMP_NUM END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + KAT.AzOb As STRTYPE, + KAT.Complessita as COMPLEX, + MIT.DESCRIZIONE AS EMITTENTE, + SPB.ISIN, + @ID_ELAB, + @TIPO_ELAB, + -1 AS CHIAVE_PROGETTO + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI SPB + LEFT JOIN TEMP_PATRIMONIO_CAMPIONE PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--and SPB.CODFIS + SPB.RETE IN +-- ( +-- select COD_FISCALE + RETE +-- FROM ANDREA_RINO_CODICI_PATRIMONIO +-- ) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + --************************************************************************************************* + -- RECUPERO CHIAVE PROGETTO DALLA CONSULENZA PER I PRODOTTI CHE SCENDONO DAL WS MA NON SONO NEL DB + SELECT DISTINCT COD_FISCALE, RETE, NULL AS CHIAVEPROGETTO + INTO #CHIAVEPROGETTONULL + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE CHIAVE_PROGETTO = -1 + UPDATE #CHIAVEPROGETTONULL SET CHIAVEPROGETTO = R.CHIAVEPROGETTO + FROM + #CHIAVEPROGETTONULL C INNER JOIN C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON C.COD_FISCALE = R.COD_FISCALE + AND C.RETE = R.RETE + AND R.area = 'Na' + UPDATE C6MARTPERIODICO.PATRIMONIO_BF SET + CHIAVE_PROGETTO = T.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = T.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF P INNER JOIN #CHIAVEPROGETTONULL T + ON P.COD_FISCALE = T.COD_FISCALE + AND P.RETE = T.RETE + WHERE P.CHIAVE_PROGETTO = -1 + --************************************************************************************************* + drop table #CHIAVEPROGETTONULL + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' + ) +--DROP table TEMP_PATRIMONIO_CAMPIONE +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + C6StagingPeriodico.RP_CONSULENZA AS CONS + ON + TSCA.CODCONF = CONS.CODCONF + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') + AND TCP.CODINT = CONS.CODINTERNO + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE + TSCA.DTRIF <> 0 + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + DROP TABLE #REND_NON_RAPPR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_3', + GETDATE(), + 'Elaborazione trimestrale' + ) +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN = 'EURO00000009' +--***FINE INTERVENTI OMNIA*** +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq', +REND_NON_RAPPR=1 +WHERE TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN = 'EURO00000009' +--***FINE INTERVENTI OMNIA*** +--AND ID_AREA = 'na' +AND CTV > 0 +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Cc' +WHERE TIPO_PRODOTTO='CC' +--AND ID_AREA = 'na' +AND CTV < 0 +--***INIZIO INTERVENTI OMNIA*** +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Self' +WHERE ISIN = 'EURO00000009' +--AND ID_AREA = 'na' +AND CTV < 0 +--***FINE INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I CC DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Cc') + AND BF.id_AREA=R.AREA + WHERE BF.TIPO_PRODOTTO='CC' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***INIZIO INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I SELF GP OMNIA DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Self') + AND BF.id_AREA=R.AREA + WHERE BF.ISIN = 'EURO00000009' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***FINE INTERVENTI OMNIA*** +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' + ) +insert into c6martperiodico.test_quality +select distinct a.rete, a.cod_fiscale, 'ORDINAMENTO PROGETTO PER AREA DUPLICATO' +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_DaCancellare.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_DaCancellare.sql new file mode 100644 index 00000000..ad09390c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_DaCancellare.sql @@ -0,0 +1,752 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +--------------------------------------------------------------------------- +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_DaCancellare] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + -- 20170421 elimina char ; dal nome progetto che causa errore 2000 durante elaborazione prometeia exe + --ELSE LTRIM(RTRIM(CON.nomeProgetto)) + ELSE replace (LTRIM(RTRIM(CON.nomeProgetto)), ';', '') + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + INTO TEMP_PATRIMONIO_CAMPIONE + FROM C6StagingPeriodico.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + --and con.cod_fiscale + CON.RETE IN + --( + --select COD_FISCALE + RETE + --FROM ANDREA_RINO_CODICI_PATRIMONIO + --) + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPPROD = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + --ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI_v SPB + INNER JOIN C6StagingPERIODICO.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin in ('EURO00000009', 'EURO10000007') + --FINE INTERVENTI OMNIA*** +--and con.cod_fiscale + CON.RETE IN +--( +--select COD_FISCALE + RETE +--FROM ANDREA_RINO_CODICI_PATRIMONIO +--) +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --DROP TABLE #PATRIMONIO_DUPLICATI + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM TEMP_PATRIMONIO_CAMPIONE + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + --Scrittura Tabella Data Quality + --id 4 'POSIZIONI DUPLICATE - PATRIMONIO_BF' +exec C6MartPeriodico.SP_DQ_PosizioniDuplicate 2 + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MARTPERIODICO.PATRIMONIO_BF +([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] +-- ,[STATO_CONSULENZA] +-- ,[DATA_STATO_CONS] +-- ,[DATA_MIGR_CONS] +-- , [DATA_PIANIF] +-- ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVE_PROGETTO]) + SELECT P.[RETE] + ,P.[COD_FISCALE] + ,P.[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,NULL --[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZONTETEMPORALE] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVEPROGETTO] +FROM +TEMP_PATRIMONIO_CAMPIONE P + LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--select rete, cod_fiscale, positionid, count(*) from #PATRIMONIO group by rete, cod_fiscale, positionid having count(*) > 1 + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, +-- case when isnull(CON.tipoProgetto, '') = '' then 'Default' +-- when CON.tipoProgetto = 0 then 'Default' +-- else 'Progetto investimento' end + '' as TIPO_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + CASE WHEN ORIZZ_TEMP_NUM = 0 THEN NULL ELSE ORIZZ_TEMP_NUM END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + KAT.AzOb As STRTYPE, + KAT.Complessita as COMPLEX, + MIT.DESCRIZIONE AS EMITTENTE, + SPB.ISIN, + @ID_ELAB, + @TIPO_ELAB, + -1 AS CHIAVE_PROGETTO + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI_v SPB + LEFT JOIN TEMP_PATRIMONIO_CAMPIONE PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--and SPB.CODFIS + SPB.RETE IN +-- ( +-- select COD_FISCALE + RETE +-- FROM ANDREA_RINO_CODICI_PATRIMONIO +-- ) +UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' + ) +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + --************************************************************************************************* + -- RECUPERO CHIAVE PROGETTO DALLA CONSULENZA PER I PRODOTTI CHE SCENDONO DAL WS MA NON SONO NEL DB + SELECT DISTINCT COD_FISCALE, RETE, NULL AS CHIAVEPROGETTO + INTO #CHIAVEPROGETTONULL + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE CHIAVE_PROGETTO = -1 + UPDATE #CHIAVEPROGETTONULL SET CHIAVEPROGETTO = R.CHIAVEPROGETTO + FROM + #CHIAVEPROGETTONULL C INNER JOIN C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON C.COD_FISCALE = R.COD_FISCALE + AND C.RETE = R.RETE + AND R.area = 'Na' + UPDATE C6MARTPERIODICO.PATRIMONIO_BF SET + CHIAVE_PROGETTO = T.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = T.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF P INNER JOIN #CHIAVEPROGETTONULL T + ON P.COD_FISCALE = T.COD_FISCALE + AND P.RETE = T.RETE + WHERE P.CHIAVE_PROGETTO = -1 + --************************************************************************************************* + drop table #CHIAVEPROGETTONULL + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' + ) +--DROP table TEMP_PATRIMONIO_CAMPIONE +INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, +--INIZIO INTERVENTO CORRETTIVO 20150130 +-- '', + CONS.CodIsin, +--FINE INTERVENTO CORRETTIVO 20150130 + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND TCP.SUBPROD=TSCA.SUBPROD + AND TCP.ISIN=TSCA.ISIN + AND TCP.dtrif=TSCA.dtrif + AND TCP.dtingresso=TSCA.dtingresso +--FINE INTERVENTO CORRETTIVO 20150130 + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + --C6StagingPeriodico.RP_CONSULENZA_v AS CONS + C6StagingPeriodico.RP_CONSULENZA AS CONS + ON + TSCA.CODCONF = CONS.CODCONF +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND (TSCA.CODPROD = CONS.CodInterno + OR TSCA.CODABI = CONS.CodInterno) +--FINE INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.ISIN, '') = ISNULL(CONS.CodIsin, '') +-- AND TCP.CODINT = CONS.CODINTERNO +--FINE INTERVENTO CORRETTIVO 20150130 + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE +--INIZIO INTERVENTO CORRETTIVO 20150130 + TCP.dtuscita = '99991231' +-- TSCA.DTRIF <> 0 +--FINE INTERVENTO CORRETTIVO 20150130 + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + DROP TABLE #REND_NON_RAPPR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_3', + GETDATE(), + 'Elaborazione trimestrale' + ) +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq', +REND_NON_RAPPR=1 +WHERE TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +--AND ID_AREA = 'na' +AND CTV > 0 +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Cc' +WHERE TIPO_PRODOTTO='CC' +--AND ID_AREA = 'na' +AND CTV < 0 +--***INIZIO INTERVENTI OMNIA*** +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Self' +--INIZIO INTERVENTO CORRETTIVO 20150130 + ,REND_NON_RAPPR=0 +--FINE INTERVENTO CORRETTIVO 20150130 +WHERE ISIN in ('EURO00000009', 'EURO10000007') +--AND ID_AREA = 'na' +AND CTV < 0 +--***FINE INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I CC DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Cc') + AND BF.id_AREA=R.AREA + WHERE BF.TIPO_PRODOTTO='CC' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***INIZIO INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I SELF GP OMNIA DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Self') + AND BF.id_AREA=R.AREA + WHERE BF.ISIN in ('EURO00000009', 'EURO10000007') + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***FINE INTERVENTI OMNIA*** +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) + -- Modifica del 21/01/2019 per escludere i prodotti relativi alle aree LIGHT e VOID + -- backup della tabella C6MartPeriodico.Patrimonio_BF + exec CreaTabellaBackUp 'Patrimonio_BF', 'C6MartPeriodico' + delete C6MartPeriodico.Patrimonio_BF where id_area in ('LIGHT', 'VOID') + -- Fine modifica del 21/01/2019 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' + ) +insert into c6martperiodico.test_quality +select distinct a.rete, a.cod_fiscale, 'ORDINAMENTO PROGETTO PER AREA DUPLICATO' +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto +exec C6MartPeriodico.SP_DQ_ProgettoDuplicatoArea 2 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_FC.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_FC.sql new file mode 100644 index 00000000..5eabd5a0 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_FC.sql @@ -0,0 +1,716 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_FC] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + INTO TEMP_PATRIMONIO_CAMPIONE + FROM C6StagingPeriodico.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + --and con.cod_fiscale + CON.RETE IN + --( + --select COD_FISCALE + RETE + --FROM ANDREA_RINO_CODICI_PATRIMONIO + --) + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPPROD = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + --ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPERIODICO.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin = 'EURO00000009' + --FINE INTERVENTI OMNIA*** +--and con.cod_fiscale + CON.RETE IN +--( +--select COD_FISCALE + RETE +--FROM ANDREA_RINO_CODICI_PATRIMONIO +--) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --DROP TABLE #PATRIMONIO_DUPLICATI + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM TEMP_PATRIMONIO_CAMPIONE + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MARTPERIODICO.PATRIMONIO_BF +([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] +-- ,[STATO_CONSULENZA] +-- ,[DATA_STATO_CONS] +-- ,[DATA_MIGR_CONS] +-- , [DATA_PIANIF] +-- ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVE_PROGETTO]) + SELECT P.[RETE] + ,P.[COD_FISCALE] + ,P.[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,NULL --[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZONTETEMPORALE] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVEPROGETTO] +FROM +TEMP_PATRIMONIO_CAMPIONE P + LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--select rete, cod_fiscale, positionid, count(*) from #PATRIMONIO group by rete, cod_fiscale, positionid having count(*) > 1 + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, +-- case when isnull(CON.tipoProgetto, '') = '' then 'Default' +-- when CON.tipoProgetto = 0 then 'Default' +-- else 'Progetto investimento' end + '' as TIPO_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + CASE WHEN ORIZZ_TEMP_NUM = 0 THEN NULL ELSE ORIZZ_TEMP_NUM END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + KAT.AzOb As STRTYPE, + KAT.Complessita as COMPLEX, + MIT.DESCRIZIONE AS EMITTENTE, + SPB.ISIN, + @ID_ELAB, + @TIPO_ELAB, + -1 AS CHIAVE_PROGETTO + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI SPB + LEFT JOIN TEMP_PATRIMONIO_CAMPIONE PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--and SPB.CODFIS + SPB.RETE IN +-- ( +-- select COD_FISCALE + RETE +-- FROM ANDREA_RINO_CODICI_PATRIMONIO +-- ) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + --************************************************************************************************* + -- RECUPERO CHIAVE PROGETTO DALLA CONSULENZA PER I PRODOTTI CHE SCENDONO DAL WS MA NON SONO NEL DB + SELECT DISTINCT COD_FISCALE, RETE, NULL AS CHIAVEPROGETTO + INTO #CHIAVEPROGETTONULL + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE CHIAVE_PROGETTO = -1 + UPDATE #CHIAVEPROGETTONULL SET CHIAVEPROGETTO = R.CHIAVEPROGETTO + FROM + #CHIAVEPROGETTONULL C INNER JOIN C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON C.COD_FISCALE = R.COD_FISCALE + AND C.RETE = R.RETE + AND R.area = 'Na' + UPDATE C6MARTPERIODICO.PATRIMONIO_BF SET + CHIAVE_PROGETTO = T.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = T.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF P INNER JOIN #CHIAVEPROGETTONULL T + ON P.COD_FISCALE = T.COD_FISCALE + AND P.RETE = T.RETE + WHERE P.CHIAVE_PROGETTO = -1 + --************************************************************************************************* + drop table #CHIAVEPROGETTONULL + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' + ) +--DROP table TEMP_PATRIMONIO_CAMPIONE +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + C6StagingPeriodico.RP_CONSULENZA AS CONS + ON + TSCA.CODCONF = CONS.CODCONF + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') + AND TCP.CODINT = CONS.CODINTERNO + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE + TSCA.DTRIF <> 0 + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + DROP TABLE #REND_NON_RAPPR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_3', + GETDATE(), + 'Elaborazione trimestrale' + ) +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN = 'EURO00000009' +--***FINE INTERVENTI OMNIA*** +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq', +REND_NON_RAPPR=1 +WHERE TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN = 'EURO00000009' +--***FINE INTERVENTI OMNIA*** +--AND ID_AREA = 'na' +AND CTV > 0 +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Cc' +WHERE TIPO_PRODOTTO='CC' +--AND ID_AREA = 'na' +AND CTV < 0 +--***INIZIO INTERVENTI OMNIA*** +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Self' +WHERE ISIN = 'EURO00000009' +--AND ID_AREA = 'na' +AND CTV < 0 +--***FINE INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I CC DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Cc') + AND BF.id_AREA=R.AREA + WHERE BF.TIPO_PRODOTTO='CC' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***INIZIO INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I SELF GP OMNIA DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Self') + AND BF.id_AREA=R.AREA + WHERE BF.ISIN = 'EURO00000009' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***FINE INTERVENTI OMNIA*** +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' + ) +insert into c6martperiodico.test_quality +select distinct a.rete, a.cod_fiscale, 'ORDINAMENTO PROGETTO PER AREA DUPLICATO' +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_TEST.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_TEST.sql new file mode 100644 index 00000000..99a2ffe0 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_TEST.sql @@ -0,0 +1,717 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_TEST] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + INTO TEMP_PATRIMONIO_CAMPIONE + FROM C6StagingPeriodico.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + and con.cod_fiscale = 'GSPNGL31C04B157Q' + --( + --select COD_FISCALE + RETE + --FROM ANDREA_RINO_CODICI_PATRIMONIO + --) + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPPROD = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + --ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPERIODICO.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE (SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin = 'EURO00000009') + --FINE INTERVENTI OMNIA*** + and con.cod_fiscale = 'GSPNGL31C04B157Q' +--and con.cod_fiscale + CON.RETE IN +--( +--select COD_FISCALE + RETE +--FROM ANDREA_RINO_CODICI_PATRIMONIO +--) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --DROP TABLE #PATRIMONIO_DUPLICATI + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM TEMP_PATRIMONIO_CAMPIONE + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MARTPERIODICO.PATRIMONIO_BF +([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] +-- ,[STATO_CONSULENZA] +-- ,[DATA_STATO_CONS] +-- ,[DATA_MIGR_CONS] +-- , [DATA_PIANIF] +-- ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVE_PROGETTO]) + SELECT P.[RETE] + ,P.[COD_FISCALE] + ,P.[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,NULL --[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZONTETEMPORALE] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVEPROGETTO] +FROM +TEMP_PATRIMONIO_CAMPIONE P + LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--select rete, cod_fiscale, positionid, count(*) from #PATRIMONIO group by rete, cod_fiscale, positionid having count(*) > 1 + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, +-- case when isnull(CON.tipoProgetto, '') = '' then 'Default' +-- when CON.tipoProgetto = 0 then 'Default' +-- else 'Progetto investimento' end + '' as TIPO_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + CASE WHEN ORIZZ_TEMP_NUM = 0 THEN NULL ELSE ORIZZ_TEMP_NUM END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + KAT.AzOb As STRTYPE, + KAT.Complessita as COMPLEX, + MIT.DESCRIZIONE AS EMITTENTE, + SPB.ISIN, + @ID_ELAB, + @TIPO_ELAB, + -1 AS CHIAVE_PROGETTO + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI SPB + LEFT JOIN TEMP_PATRIMONIO_CAMPIONE PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReportTEST] VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--and SPB.CODFIS + SPB.RETE IN +-- ( +-- select COD_FISCALE + RETE +-- FROM ANDREA_RINO_CODICI_PATRIMONIO +-- ) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_2' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + --************************************************************************************************* + -- RECUPERO CHIAVE PROGETTO DALLA CONSULENZA PER I PRODOTTI CHE SCENDONO DAL WS MA NON SONO NEL DB + SELECT DISTINCT COD_FISCALE, RETE, NULL AS CHIAVEPROGETTO + INTO #CHIAVEPROGETTONULL + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE CHIAVE_PROGETTO = -1 + UPDATE #CHIAVEPROGETTONULL SET CHIAVEPROGETTO = R.CHIAVEPROGETTO + FROM + #CHIAVEPROGETTONULL C INNER JOIN C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON C.COD_FISCALE = R.COD_FISCALE + AND C.RETE = R.RETE + AND R.area = 'Na' + UPDATE C6MARTPERIODICO.PATRIMONIO_BF SET + CHIAVE_PROGETTO = T.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = T.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF P INNER JOIN #CHIAVEPROGETTONULL T + ON P.COD_FISCALE = T.COD_FISCALE + AND P.RETE = T.RETE + WHERE P.CHIAVE_PROGETTO = -1 + --************************************************************************************************* + drop table #CHIAVEPROGETTONULL + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1_3' + ) +--DROP table TEMP_PATRIMONIO_CAMPIONE +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + C6StagingPeriodico.RP_CONSULENZA AS CONS + ON + TSCA.CODCONF = CONS.CODCONF + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') + AND TCP.CODINT = CONS.CODINTERNO + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE + TSCA.DTRIF <> 0 + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + DROP TABLE #REND_NON_RAPPR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_3', + GETDATE(), + 'Elaborazione trimestrale' + ) +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN = 'EURO00000009' +--***FINE INTERVENTI OMNIA*** +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq', +REND_NON_RAPPR=1 +WHERE TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN = 'EURO00000009' +--***FINE INTERVENTI OMNIA*** +--AND ID_AREA = 'na' +AND CTV > 0 +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Cc' +WHERE TIPO_PRODOTTO='CC' +--AND ID_AREA = 'na' +AND CTV < 0 +--***INIZIO INTERVENTI OMNIA*** +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Self' +WHERE ISIN = 'EURO00000009' +--AND ID_AREA = 'na' +AND CTV < 0 +--***FINE INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I CC DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Cc') + AND BF.id_AREA=R.AREA + WHERE BF.TIPO_PRODOTTO='CC' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***INIZIO INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I SELF GP OMNIA DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Self') + AND BF.id_AREA=R.AREA + WHERE BF.ISIN = 'EURO00000009' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***FINE INTERVENTI OMNIA*** +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_3' + ) +insert into c6martperiodico.test_quality +select distinct a.rete, a.cod_fiscale, 'ORDINAMENTO PROGETTO PER AREA DUPLICATO' +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_pre_selective.sql new file mode 100644 index 00000000..36f082e8 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_BF_pre_selective.sql @@ -0,0 +1,743 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 18 luglio 2013 +-- ============================================= +--drop table #patrimonio +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_BF_pre_selective] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() + SET @TIPO_ELAB = C6MARTPERIODICO.GETTIPOELAB() +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_pre_selective_1', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6MARTPERIODICO.PATRIMONIO_BF +DROP TABLE TEMP_PATRIMONIO_CAMPIONE +--DROP TABLE #PATRIMONIO + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, +-- CASE +-- WHEN (SPB.TIPPROD = 'GE' +-- OR SPB.TIPPROD = 'GES') +-- AND SPB.DTSOTTOS < 20070101 +-- THEN NULL +-- WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') +-- THEN NULL +-- WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') +-- THEN NULL +-- ELSE SPB.RENDINIZ + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + --ISNULL(CM.IDMONITORAGGIO, CON.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + INTO TEMP_PATRIMONIO_CAMPIONE + FROM C6StagingPeriodico.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + --and con.cod_fiscale + CON.RETE IN + --( + --select COD_FISCALE + RETE + --FROM ANDREA_RINO_CODICI_PATRIMONIO + --) + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPPROD = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + --ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPERIODICO.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin in ('EURO00000009', 'EURO10000007') + --FINE INTERVENTI OMNIA*** +--and con.cod_fiscale + CON.RETE IN +--( +--select COD_FISCALE + RETE +--FROM ANDREA_RINO_CODICI_PATRIMONIO +--) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_pre_selective_1_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --DROP TABLE #PATRIMONIO_DUPLICATI + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM TEMP_PATRIMONIO_CAMPIONE + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + --Scrittura Tabella Data Quality + --id 4 'POSIZIONI DUPLICATE - PATRIMONIO_BF' +exec C6MartPeriodico.SP_DQ_PosizioniDuplicate 2 + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_1_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_1_1' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_pre_selective_1_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + INSERT INTO C6MARTPERIODICO.PATRIMONIO_BF +([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] +-- ,[STATO_CONSULENZA] +-- ,[DATA_STATO_CONS] +-- ,[DATA_MIGR_CONS] +-- , [DATA_PIANIF] +-- ,[EXTRANAC] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVE_PROGETTO]) + SELECT P.[RETE] + ,P.[COD_FISCALE] + ,P.[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,NULL --[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[REND_NON_RAPPR] + ,[ORDINAMENTO_PROGETTO] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZONTETEMPORALE] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[CHIAVEPROGETTO] +FROM +TEMP_PATRIMONIO_CAMPIONE P + LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--select rete, cod_fiscale, positionid, count(*) from #PATRIMONIO group by rete, cod_fiscale, positionid having count(*) > 1 + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE +-- END AS DATA_SOTTOSCRIZIONE, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, +-- case when isnull(CON.tipoProgetto, '') = '' then 'Default' +-- when CON.tipoProgetto = 0 then 'Default' +-- else 'Progetto investimento' end + '' as TIPO_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE + WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) + END AS DATA_PARTVIA_DISINV, + --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + 0 AS REND_NON_RAPPR, + NULL AS ORDINAMENTO_PROGETTO, + CASE WHEN ORIZZ_TEMP_NUM = 0 THEN NULL ELSE ORIZZ_TEMP_NUM END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + KAT.AzOb As STRTYPE, + KAT.Complessita as COMPLEX, + MIT.DESCRIZIONE AS EMITTENTE, + SPB.ISIN, + @ID_ELAB, + @TIPO_ELAB, + -1 AS CHIAVE_PROGETTO + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI SPB + LEFT JOIN TEMP_PATRIMONIO_CAMPIONE PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL +--and SPB.CODFIS + SPB.RETE IN +-- ( +-- select COD_FISCALE + RETE +-- FROM ANDREA_RINO_CODICI_PATRIMONIO +-- ) +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_1_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_1_2' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_pre_selective_1_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + --************************************************************************************************* + -- RECUPERO CHIAVE PROGETTO DALLA CONSULENZA PER I PRODOTTI CHE SCENDONO DAL WS MA NON SONO NEL DB + SELECT DISTINCT COD_FISCALE, RETE, NULL AS CHIAVEPROGETTO + INTO #CHIAVEPROGETTONULL + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE CHIAVE_PROGETTO = -1 + UPDATE #CHIAVEPROGETTONULL SET CHIAVEPROGETTO = R.CHIAVEPROGETTO + FROM + #CHIAVEPROGETTONULL C INNER JOIN C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON C.COD_FISCALE = R.COD_FISCALE + AND C.RETE = R.RETE + AND R.area = 'Na' + UPDATE C6MARTPERIODICO.PATRIMONIO_BF SET + CHIAVE_PROGETTO = T.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = T.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF P INNER JOIN #CHIAVEPROGETTONULL T + ON P.COD_FISCALE = T.COD_FISCALE + AND P.RETE = T.RETE + WHERE P.CHIAVE_PROGETTO = -1 + --************************************************************************************************* + drop table #CHIAVEPROGETTONULL + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_1_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_1_3' + ) +--DROP table TEMP_PATRIMONIO_CAMPIONE +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_pre_selective_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT + TSCA.RETE, + TSCA.CODFIS, + C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, +--INIZIO INTERVENTO CORRETTIVO 20150130 +-- '', + CONS.CodIsin, +--FINE INTERVENTO CORRETTIVO 20150130 + TSCA.SUBPROD + ) + + + dbo.Crea_positionID( + TSCA.TIPPROD, + CONS.CODINTERNO, + CONS.CODMAF, + '', + TSCA.SUBPROD, + TSCA.CODCONF, + CONS.NUMPOLIZZA, + TSCA.CONTO, + TSCA.RUBR, + TSCA.CUSTGAR, + TSCA.TERMID, + TSCA.ANNO, + TSCA.PROG + ) AS POSITION_ID + INTO #REND_NON_RAPPR + FROM + C6StagingPeriodico.TSCABP AS TSCA + inner join + C6StagingPeriodico.tcptab as TCP + ON TCP.CODFIS=TSCA.CODFIS + AND TCP.RETE=TSCA.RETE + AND TCP.CODCONF=TSCA.CODCONF + AND TCP.CODPROG=TSCA.CODPROG + AND TCP.CODPROD=TSCA.CODPROD +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND TCP.SUBPROD=TSCA.SUBPROD + AND TCP.ISIN=TSCA.ISIN + AND TCP.dtrif=TSCA.dtrif + AND TCP.dtingresso=TSCA.dtingresso +--FINE INTERVENTO CORRETTIVO 20150130 + AND TCP.CONTO=TSCA.CONTO + AND TCP.CUSTGAR=TSCA.CUSTGAR + AND TCP.CODABI=TSCA.CODABI + AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX') + AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX') + AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX') + inner join + C6StagingPeriodico.RP_CONSULENZA AS CONS + ON + TSCA.CODCONF = CONS.CODCONF +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND (TSCA.CODPROD = CONS.CodInterno + OR TSCA.CODABI = CONS.CodInterno) +--FINE INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.SUBPROD, '') = ISNULL(CONS.CODSOTTOPRODOTTO, '') +--INIZIO INTERVENTO CORRETTIVO 20150130 + AND ISNULL(TSCA.ISIN, '') = ISNULL(CONS.CodIsin, '') +-- AND TCP.CODINT = CONS.CODINTERNO +--FINE INTERVENTO CORRETTIVO 20150130 + INNER JOIN + C6StagingPeriodico.RP_CHIAVIMONITORAGGIO AS CM + ON CONS.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + and TSCA.CODPROG = CM.IDMONITORAGGIO + WHERE +--INIZIO INTERVENTO CORRETTIVO 20150130 + TCP.dtuscita = '99991231' +-- TSCA.DTRIF <> 0 +--FINE INTERVENTO CORRETTIVO 20150130 + UPDATE + PATR_BF + SET + PATR_BF.REND_NON_RAPPR = 1 + FROM + #REND_NON_RAPPR AS REND_NON_RAPPR + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + ON PATR_BF.RETE = REND_NON_RAPPR.RETE + AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546 + CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS + ELSE REND_NON_RAPPR.CODFIS + END + AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID + DROP TABLE #REND_NON_RAPPR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_2' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_pre_selective_3', + GETDATE(), + 'Elaborazione trimestrale' + ) +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET +REND_NON_RAPPR=1 +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE +TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +AND CTV > 0 +AND ID_AREA='Liq' +--aggiunta Emanuele/Valerio +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Liq', +REND_NON_RAPPR=1 +WHERE TIPO_PRODOTTO='CC' +--***INIZIO INTERVENTI OMNIA*** +or ISIN in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** +--AND ID_AREA = 'na' +AND CTV > 0 +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Cc' +WHERE TIPO_PRODOTTO='CC' +--AND ID_AREA = 'na' +AND CTV < 0 +--***INIZIO INTERVENTI OMNIA*** +UPDATE +c6martperiodico.patrimonio_bf +SET Id_area = 'Self' +--INIZIO INTERVENTO CORRETTIVO 20150130 + ,REND_NON_RAPPR=0 +--FINE INTERVENTO CORRETTIVO 20150130 +WHERE ISIN in ('EURO00000009', 'EURO10000007') +--AND ID_AREA = 'na' +AND CTV < 0 +--***FINE INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I CC DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Cc') + AND BF.id_AREA=R.AREA + WHERE BF.TIPO_PRODOTTO='CC' + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***INIZIO INTERVENTI OMNIA*** +---AGGIORNO LA CHIAVE PROGETTO PER I SELF GP OMNIA DI CUI AVEVO CAMBIATO L'AREA, PRENDEDOLA DAL PROGETTO + UPDATE C6MARTPERIODICO.PATRIMONIO_BF + SET CHIAVE_PROGETTO = R.CHIAVEPROGETTO, + ORDINAMENTO_PROGETTO = R.CHIAVEPROGETTO + FROM C6MARTPERIODICO.PATRIMONIO_BF BF + inner join C6STAGINGPERIODICO.RP_PROGETTICLIENTE R + ON BF.COD_FISCALE = R.COD_FISCALE + AND BF.RETE = R.RETE + AND BF.id_AREA IN ('Liq','Self') + AND BF.id_AREA=R.AREA + WHERE BF.ISIN in ('EURO00000009', 'EURO10000007') + AND (BF.CHIAVE_PROGETTO<>R.CHIAVEPROGETTO or BF.CHIAVE_PROGETTO is null) +--***FINE INTERVENTI OMNIA*** +--aggiunta Emanuele +UPDATE +c6martperiodico.patrimonio_bf +SET id_area = 'Liq' +WHERE id_area = 'LIQ' +UPDATE C6MARTPERIODICO.PATRIMONIO_BF +SET + NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO)) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_pre_selective_3' + ) +insert into c6martperiodico.test_quality +select distinct a.rete, a.cod_fiscale, 'ORDINAMENTO PROGETTO PER AREA DUPLICATO' +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto +exec C6MartPeriodico.SP_DQ_ProgettoDuplicatoArea 2 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE.sql new file mode 100644 index 00000000..e81c8c19 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE.sql @@ -0,0 +1,79 @@ +--select * from C6MartPeriodico.patrimonio_immobiliare +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_IMMOBILIARE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_IMMOBILIARE + INSERT INTO [C6MartPeriodico].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + C.RETE, --ALL_PATR_TERZI.RETE_PB AS RETE, + C.COD_FISCALE, --ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + B.DESCRIZIONE, --ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, --b.descrizione + B.TIPOLOGIA, + B.COMUNE AS COMUNE, --ALL_PATR_TERZI.LOCALITA AS LOCALITA, --comune è null verificare se è corretto + B.codProvincia AS PROVINCIA, --NULL AS PROVINCIA, --provincia + NULL AS CAP, + NULL AS NAZIONE, + B.VALOREIMMOBILETOTALE, + B.RENDITAANNUA, --ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, --renditaAnnua + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_PATRIMONIOTERZI A + JOIN C6STAGINGPERIODICO.RP_DETTIMMOBILIARE B + ON A.CHIAVEPRODOTTOTERZI = B.CHIAVEPRODOTTOTERZI + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] C + ON A.CHIAVECLIENTEPB = C.CHIAVECLIENTEPB + WHERE A.IDTIPOPRODOTTO = 'IM' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql new file mode 100644 index 00000000..b5a93942 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota.sql @@ -0,0 +1,88 @@ +--select * from C6MartPeriodico.patrimonio_immobiliare +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_IMMOBILIARE_20190205_ProQuota] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_IMMOBILIARE_20190205_ProQuota + INSERT INTO [C6MartPeriodico].[PATRIMONIO_IMMOBILIARE_20190205_ProQuota] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB] + -- modifica del 05/02/2019 per il ProQuota + ,[VALORE_STIMATO_PROQUOTA] + ,[PROQUOTA] + -- fine modifica del 05/02/2019 per il ProQuota + ) + SELECT + C.RETE, --ALL_PATR_TERZI.RETE_PB AS RETE, + C.COD_FISCALE, --ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + B.DESCRIZIONE, --ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, --b.descrizione + B.TIPOLOGIA, + B.COMUNE AS COMUNE, --ALL_PATR_TERZI.LOCALITA AS LOCALITA, --comune è null verificare se è corretto + B.codProvincia AS PROVINCIA, --NULL AS PROVINCIA, --provincia + NULL AS CAP, + NULL AS NAZIONE, + B.VALOREIMMOBILETOTALE, + B.RENDITAANNUA, --ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, --renditaAnnua + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + -- modifica del 05/02/2019 per il ProQuota + ,B.valoreImmobileProQuota, + B.ProQuota + -- fine modifica del 05/02/2019 per il ProQuota + FROM C6STAGINGPERIODICO.RP_PATRIMONIOTERZI A + JOIN C6STAGINGPERIODICO.RP_DETTIMMOBILIARE_20190205_ProQuota B + ON A.CHIAVEPRODOTTOTERZI = B.CHIAVEPRODOTTOTERZI + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] C + ON A.CHIAVECLIENTEPB = C.CHIAVECLIENTEPB + WHERE A.IDTIPOPRODOTTO = 'IM' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql new file mode 100644 index 00000000..70b9250f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql @@ -0,0 +1,106 @@ +--select * from C6MartPeriodicO.PATRIMONIO_IMMOBILIARE_ProQuota +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE_PROQUOTA', + GETDATE(), + 'Elaborazione Trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_IMMOBILIARE_ProQuota + INSERT INTO [C6MartPeriodico].[PATRIMONIO_IMMOBILIARE_ProQuota]( + [RETE], + [COD_FISCALE], + Descrizione, + Tipologia, + Localita, + AffittoPercepito, + [VALORE_STIMATO], + Totale, + TotaleAffitto, + [TIPOLOGIA_DIRITTO], + [PROQUOTA], + [VALORE_STIMATO_PROQUOTA], + TotaleProQuota + ) + select + vp.Rete, + vp.Cod_Fiscale, + vp.Descrizione , + vp.Tipologia, + vp.Localita, + vp.AffittoPercepito, + vp.Valore, + vp.Totale, + vp.TotaleAffitto, + vp.TipologiaDiritto, + vp.ProQuota, + vp.Valore_ProQuota, + vp.TotaleProQuota + from + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] vc + inner join C6MartPeriodico.vPatrimonioImmobiliare vp + on vc.rete = vp.rete + and vc.cod_fiscale = vp.cod_fiscale + --select vContratti.Rete, + -- vContratti.Cod_Fiscale, + -- dett.valoreImmobileTotale as Valore_Stimato, + -- coin.moltiplicatoreDiritto * dett.valoreImmobileTotale as Valore_Stimato_ProQuota, + -- coin.moltiplicatoreDiritto * 100 as ProQuota, + -- dett.TipologiaDiritto + --from + -- C6MartPeriodico.vContrattiPerGenerazioneReport vContratti + -- --(select top 100 rete, cod_fiscale from C6MartPeriodico.vContratti where Cod_Fiscale = 'BRNVLM35H61L407Q') vContratti + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.vInfoCliente vInfo + -- on vContratti.Cod_Fiscale = vInfo.CodFis + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.Cointestatari coin + -- on vInfo.chiaveClientePB = coin.chiaveClientePB + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.DettImmobiliare dett + -- on dett.chiaveProdottoTerzi = coin.chiaveProdottoTerzi + --union + --select vContratti.Rete, + -- vContratti.Cod_Fiscale, + -- dett.valoreImmobileTotale as Valore_Stimato, + -- dett.valoreImmobileTotale as Valore_Stimato_ProQuota, + -- 100 as ProQuota, + -- isnull(dett.TipologiaDiritto, 'Proprietà') as TipologiaDiritto + --from + -- C6MartPeriodico.vContrattiPerGenerazioneReport vContratti + -- --(select top 100 rete, cod_fiscale from C6MartPeriodico.vContratti where Cod_Fiscale = 'BRNVLM35H61L407Q') vContratti + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.vInfoCliente vInfo + -- on vContratti.Cod_Fiscale = vInfo.CodFis + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.PatrimonioTerzi coin + -- on vInfo.chiaveClientePB = coin.chiaveClientePB + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.DettImmobiliare dett + -- on dett.chiaveProdottoTerzi = coin.chiaveProdottoTerzi + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE_PROQUOTA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE_PROQUOTA' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql new file mode 100644 index 00000000..60664d03 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective.sql @@ -0,0 +1,79 @@ +--select * from C6MartPeriodico.patrimonio_immobiliare +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_IMMOBILIARE + INSERT INTO [C6MartPeriodico].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + C.RETE, --ALL_PATR_TERZI.RETE_PB AS RETE, + C.COD_FISCALE, --ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + B.DESCRIZIONE, --ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, --b.descrizione + B.TIPOLOGIA, + B.COMUNE AS COMUNE, --ALL_PATR_TERZI.LOCALITA AS LOCALITA, --comune è null verificare se è corretto + B.codProvincia AS PROVINCIA, --NULL AS PROVINCIA, --provincia + NULL AS CAP, + NULL AS NAZIONE, + B.VALOREIMMOBILETOTALE, + B.RENDITAANNUA, --ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, --renditaAnnua + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGINGPERIODICO.RP_PATRIMONIOTERZI A + JOIN C6STAGINGPERIODICO.RP_DETTIMMOBILIARE B + ON A.CHIAVEPRODOTTOTERZI = B.CHIAVEPRODOTTOTERZI + JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] C + ON A.CHIAVECLIENTEPB = C.CHIAVECLIENTEPB + WHERE A.IDTIPOPRODOTTO = 'IM' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI.sql new file mode 100644 index 00000000..bce2418f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI.sql @@ -0,0 +1,163 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_TERZI + INSERT INTO [C6MartPeriodico].[PATRIMONIO_TERZI] + ( + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(MAPPING.Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + --------------------- intervento del 15/03/2018 per gestire ctv e capitale_investito più grandi del consentito + --RP_PatrimonioTerzi.ctv AS CTV, + --RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + case + when RP_PatrimonioTerzi.ctv > 999999999999.00 then 999999999999.00 + else RP_PatrimonioTerzi.ctv + end AS CTV, + case + when RP_DettProdottiTerzi.capitaleInvestito > 999999999999.00 then 999999999999.00 + else RP_DettProdottiTerzi.capitaleInvestito + end AS VERSATO_NETTO, + --------------------- fine intervento del 15/3/2018 + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + /* 20170427 aggiunto Assets.FinancialAssets.OtherFin e Assets.FinancialAssets.OtherAss al gruppo Portafoglio Generico */ + --WHEN RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.Other' + WHEN RP_PatrimonioTerzi.tipoProd in ('Assets.FinancialAssets.Other', 'Assets.FinancialAssets.OtherFin', 'Assets.FinancialAssets.OtherAss') + THEN 'Portafoglio Generico' + WHEN RP_PatrimonioTerzi.tipoProd IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') + THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + --'' AS DESCR_GRUPPO_PRODOTTO, --se mi dici adesso come si chiama questo campo (ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO) è fatta + RP_CatalogoProdotti.AzOb AS STRTYPE, --manca (farselo dire da Alessia) (obbligazionario o azionario) + RP_CatalogoProdotti.Complessita AS COMPLEX, + RP_AnEmittente.Descrizione AS EMITTENTE, + MAPPING.Temp_oidProd AS chiave_thr, --da rivedere + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCONTRATTI + INNER JOIN + C6StagingPeriodico.RP_PatrimonioTerzi + ON VCONTRATTI.chiaveClientePB = RP_PatrimonioTerzi.chiaveClientePB + INNER JOIN + C6StagingPeriodico.RP_DettProdottiTerzi + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi + LEFT JOIN + C6StagingPeriodico.RP_MappingTerzi MAPPING + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = MAPPING.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3 ON C6StagingPeriodico.RP_DettProdottiTerzi.alberatura = C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + LEFT JOIN + C6StagingPeriodico.RP_CatalogoProdotti ON C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdotto = C6StagingPeriodico.RP_CatalogoProdotti.ChiaveProdotto + LEFT JOIN + C6StagingPeriodico.RP_AnEmittente ON C6StagingPeriodico.RP_CatalogoProdotti.Emittente = C6StagingPeriodico.RP_AnEmittente.Emittente + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20170427_Patr3.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20170427_Patr3.sql new file mode 100644 index 00000000..08838505 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20170427_Patr3.sql @@ -0,0 +1,151 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_TERZI_20170427_Patr3] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_TERZI + INSERT INTO [C6MartPeriodico].[PATRIMONIO_TERZI] + ( + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(MAPPING.Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + RP_PatrimonioTerzi.ctv AS CTV, + RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + WHEN RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.Other' + THEN 'Portafoglio Generico' + WHEN RP_PatrimonioTerzi.tipoProd IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') + THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + --'' AS DESCR_GRUPPO_PRODOTTO, --se mi dici adesso come si chiama questo campo (ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO) è fatta + RP_CatalogoProdotti.AzOb AS STRTYPE, --manca (farselo dire da Alessia) (obbligazionario o azionario) + RP_CatalogoProdotti.Complessita AS COMPLEX, + RP_AnEmittente.Descrizione AS EMITTENTE, + MAPPING.Temp_oidProd AS chiave_thr, --da rivedere + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCONTRATTI + INNER JOIN + C6StagingPeriodico.RP_PatrimonioTerzi + ON VCONTRATTI.chiaveClientePB = RP_PatrimonioTerzi.chiaveClientePB + INNER JOIN + C6StagingPeriodico.RP_DettProdottiTerzi + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi + LEFT JOIN + C6StagingPeriodico.RP_MappingTerzi MAPPING + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = MAPPING.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3 ON C6StagingPeriodico.RP_DettProdottiTerzi.alberatura = C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + LEFT JOIN + C6StagingPeriodico.RP_CatalogoProdotti ON C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdotto = C6StagingPeriodico.RP_CatalogoProdotti.ChiaveProdotto + LEFT JOIN + C6StagingPeriodico.RP_AnEmittente ON C6StagingPeriodico.RP_CatalogoProdotti.Emittente = C6StagingPeriodico.RP_AnEmittente.Emittente + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20180315.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20180315.sql new file mode 100644 index 00000000..c6edb68b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_20180315.sql @@ -0,0 +1,153 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_TERZI_20180315] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_TERZI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_TERZI + INSERT INTO [C6MartPeriodico].[PATRIMONIO_TERZI] + ( + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(MAPPING.Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + RP_PatrimonioTerzi.ctv AS CTV, + RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + /* 20170427 aggiunto Assets.FinancialAssets.OtherFin e Assets.FinancialAssets.OtherAss al gruppo Portafoglio Generico */ + --WHEN RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.Other' + WHEN RP_PatrimonioTerzi.tipoProd in ('Assets.FinancialAssets.Other', 'Assets.FinancialAssets.OtherFin', 'Assets.FinancialAssets.OtherAss') + THEN 'Portafoglio Generico' + WHEN RP_PatrimonioTerzi.tipoProd IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') + THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + --'' AS DESCR_GRUPPO_PRODOTTO, --se mi dici adesso come si chiama questo campo (ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO) è fatta + RP_CatalogoProdotti.AzOb AS STRTYPE, --manca (farselo dire da Alessia) (obbligazionario o azionario) + RP_CatalogoProdotti.Complessita AS COMPLEX, + RP_AnEmittente.Descrizione AS EMITTENTE, + MAPPING.Temp_oidProd AS chiave_thr, --da rivedere + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCONTRATTI + INNER JOIN + C6StagingPeriodico.RP_PatrimonioTerzi + ON VCONTRATTI.chiaveClientePB = RP_PatrimonioTerzi.chiaveClientePB + INNER JOIN + C6StagingPeriodico.RP_DettProdottiTerzi + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi + LEFT JOIN + C6StagingPeriodico.RP_MappingTerzi MAPPING + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = MAPPING.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3 ON C6StagingPeriodico.RP_DettProdottiTerzi.alberatura = C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + LEFT JOIN + C6StagingPeriodico.RP_CatalogoProdotti ON C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdotto = C6StagingPeriodico.RP_CatalogoProdotti.ChiaveProdotto + LEFT JOIN + C6StagingPeriodico.RP_AnEmittente ON C6StagingPeriodico.RP_CatalogoProdotti.Emittente = C6StagingPeriodico.RP_AnEmittente.Emittente + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_pre_selective.sql new file mode 100644 index 00000000..d8df1ae8 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PATRIMONIO_TERZI_pre_selective.sql @@ -0,0 +1,151 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PATRIMONIO_TERZI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_TERZI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_TERZI + INSERT INTO [C6MartPeriodico].[PATRIMONIO_TERZI] + ( + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(MAPPING.Temp_oidProd, RP_PatrimonioTerzi.chiaveProdottoTerzi) AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6StagingPeriodico.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + RP_PatrimonioTerzi.ctv AS CTV, + RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + WHEN RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.Other' + THEN 'Portafoglio Generico' + WHEN RP_PatrimonioTerzi.tipoProd IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') + THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + --'' AS DESCR_GRUPPO_PRODOTTO, --se mi dici adesso come si chiama questo campo (ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO) è fatta + RP_CatalogoProdotti.AzOb AS STRTYPE, --manca (farselo dire da Alessia) (obbligazionario o azionario) + RP_CatalogoProdotti.Complessita AS COMPLEX, + RP_AnEmittente.Descrizione AS EMITTENTE, + MAPPING.Temp_oidProd AS chiave_thr, --da rivedere + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] VCONTRATTI + INNER JOIN + C6StagingPeriodico.RP_PatrimonioTerzi + ON VCONTRATTI.chiaveClientePB = RP_PatrimonioTerzi.chiaveClientePB + INNER JOIN + C6StagingPeriodico.RP_DettProdottiTerzi + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi + LEFT JOIN + C6StagingPeriodico.RP_MappingTerzi MAPPING + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = MAPPING.chiaveProdottoTerzi + INNER JOIN + C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3 ON C6StagingPeriodico.RP_DettProdottiTerzi.alberatura = C6StagingPeriodico.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + LEFT JOIN + C6StagingPeriodico.RP_CatalogoProdotti ON C6StagingPeriodico.RP_DettProdottiTerzi.chiaveProdotto = C6StagingPeriodico.RP_CatalogoProdotti.ChiaveProdotto + LEFT JOIN + C6StagingPeriodico.RP_AnEmittente ON C6StagingPeriodico.RP_CatalogoProdotti.Emittente = C6StagingPeriodico.RP_AnEmittente.Emittente + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PIRAMIDE_MOD.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PIRAMIDE_MOD.sql new file mode 100644 index 00000000..bbe2fe69 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PIRAMIDE_MOD.sql @@ -0,0 +1,211 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_PIRAMIDE_MOD] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PIRAMIDE_MOD', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PIRAMIDE_MOD + INSERT INTO [C6MartPeriodico].[PIRAMIDE_MOD] + ( + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE, + rp_pirmod.area AS ID_AREA, + -- 2016-12-02: nomeProgetto sempre presente e differente da NULL + --case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then rp_pirmod.nomeProgetto + -- ELSE NULL END + -- fine + rp_pirmod.nomeProgetto AS NOME_PROGETTO, + case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' + else 'Default' + end AS TIPO_PROGETTO, + rp_pirmod.percentualeProgetto AS PERC_AREA, + ISNULL(Progetto.CTVPROGETTO, MigrazProgetto.CTVPROGETTO) AS CTV_PROGETTO, + NULL AS CTV_AREA, + --convert(int,REPLACE(durata,'anni','')) AS ORIZZ_TEMP_NUM, + Progetto.orizzonteTemporale AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(Progetto.orizzonteTemporale, 0) = 0 THEN '' ELSE + cast(Progetto.orizzonteTemporale as varchar(2)) + ' anni' END AS ORIZZ_TEMP, + --rp_pirmod.durata AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + ISNULL(Progetto.ChiaveProgetto, MigrazProgetto.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_ProgettiPiramideModello AS rp_pirmod +INNER JOIN + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] vCONTRATTI + ON + rp_pirmod.chiaveClientePB = vCONTRATTI.chiaveClientePB + LEFT JOIN + C6StagingPeriodico.RP_Progetto Progetto + on rp_pirmod.chiaveprogettomod = Progetto.chiaveprogettomod + LEFT JOIN + C6StagingPeriodico.RP_Migraz_Progetto MigrazProgetto + on rp_pirmod.chiaveprogettomod = MigrazProgetto.chiaveprogettomod + AND Progetto.chiaveprogettomod is null + WHERE 1=1 + and rp_pirmod.DtFineValidita > getdate() + -- modifica del 30/11/2016 - il tipoProgetto non è più un campo significativo; ecludo le aree light e void + --and ((rp_pirmod.area = 'Inv') OR (rp_pirmod.area <> 'Inv' and rp_pirmod.tipoProgetto = 0)) + and rp_pirmod.area not in ('LIGHT', 'VOID') + -- fine -- modifica del 30/11/2016 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' + ) +-------------------------------------> modifica del 19/1/2017 per inserire il record di aggregazione per l'area 'Pre' + /* + PER OGNI CF MI ESTRAGGO SOLO I RECORD DELL'AREA 'PRE1' E 'PRE2' RINOMINANDOLI COME 'PRE' + PER POTERLI POI AGGREGARE + */ + SELECT + VCONTRATTI.rete AS RETE, + ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE, + CASE WHEN rp_pirmod.area IN ('Pre','Pre1','Pre2') THEN 'Pre' + else rp_pirmod.area + END AS ID_AREA, + rp_pirmod.nomeProgetto AS NOME_PROGETTO, + case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' + else 'Default' + end AS TIPO_PROGETTO, + rp_pirmod.percentualeProgetto AS PERC_AREA, + ISNULL(Progetto.CTVPROGETTO, MigrazProgetto.CTVPROGETTO) AS CTV_PROGETTO, + NULL AS CTV_AREA, + Progetto.orizzonteTemporale AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(Progetto.orizzonteTemporale, 0) = 0 THEN '' ELSE + cast(Progetto.orizzonteTemporale as varchar(2)) + ' anni' END AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + ISNULL(Progetto.ChiaveProgetto, MigrazProgetto.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + into #appo + FROM C6StagingPeriodico.RP_ProgettiPiramideModello AS rp_pirmod + INNER JOIN + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] vCONTRATTI + ON + rp_pirmod.chiaveClientePB = vCONTRATTI.chiaveClientePB + LEFT JOIN + C6StagingPeriodico.RP_Progetto Progetto + on rp_pirmod.chiaveprogettomod = Progetto.chiaveprogettomod + LEFT JOIN + C6StagingPeriodico.RP_Migraz_Progetto MigrazProgetto + on rp_pirmod.chiaveprogettomod = MigrazProgetto.chiaveprogettomod + AND Progetto.chiaveprogettomod is null + WHERE 1=1 + AND rp_pirmod.area in ('Pre','Pre1','Pre2') + and rp_pirmod.DtFineValidita > getdate() + and rp_pirmod.area not in ('LIGHT', 'VOID') + /* + ORA INSERISCO UN SOLO RECORD 'PRE' PER OGNI CF COME AGGREGAZIONE DELL'AREE 'PRE1' E 'PRE2' + DOPO QUESTA INSERT, PER OGNI CF, HO DI NUOVO 'PRE', 'PRE1', E 'PRE2' + */ + insert into [C6MartPeriodico].[PIRAMIDE_MOD] + ( + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + select + rete, + cod_fiscale, + id_area, + nome_progetto, + tipo_progetto, + sum(perc_area) as perc_area, + sum(ctv_progetto) as ctv_progetto, + sum(ctv_area) as ctv_area, + orizz_temp_num, + orizz_temp, + sum(ctv_totale) as ctv_totale, + stato_consulenza, + data_stato_cons, + data_migr_cons, + id_contratto, + max(ordinamento_progetto), + id_elab, + tipo_elab + from #appo + group by + rete, + cod_fiscale, + id_area, + nome_progetto, + tipo_progetto, + orizz_temp_num, + orizz_temp, + stato_consulenza, + data_stato_cons, + data_migr_cons, + id_contratto,id_elab, + tipo_elab +---------------------------------------------------------------> FINE MODIFICA DEL 19/1/2017 +END +-- select durata, convert(int,REPLACE(durata,'anni','')) FROM C6StagingPeriodico.RP_ProgettiPiramideModello where durata is not null \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20161202.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20161202.sql new file mode 100644 index 00000000..3c212c48 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20161202.sql @@ -0,0 +1,105 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PIRAMIDE_MOD_20161202] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PIRAMIDE_MOD', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PIRAMIDE_MOD + INSERT INTO [C6MartPeriodico].[PIRAMIDE_MOD] + ( + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE, + rp_pirmod.area AS ID_AREA, + case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then rp_pirmod.nomeProgetto + ELSE NULL END + AS NOME_PROGETTO, + case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' + else 'Default' + end AS TIPO_PROGETTO, + rp_pirmod.percentualeProgetto AS PERC_AREA, + ISNULL(Progetto.CTVPROGETTO, MigrazProgetto.CTVPROGETTO) AS CTV_PROGETTO, + NULL AS CTV_AREA, + --convert(int,REPLACE(durata,'anni','')) AS ORIZZ_TEMP_NUM, + Progetto.orizzonteTemporale AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(Progetto.orizzonteTemporale, 0) = 0 THEN '' ELSE + cast(Progetto.orizzonteTemporale as varchar(2)) + ' anni' END AS ORIZZ_TEMP, + --rp_pirmod.durata AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + ISNULL(Progetto.ChiaveProgetto, MigrazProgetto.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_ProgettiPiramideModello AS rp_pirmod +INNER JOIN + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] vCONTRATTI + ON + rp_pirmod.chiaveClientePB = vCONTRATTI.chiaveClientePB + LEFT JOIN + C6StagingPeriodico.RP_Progetto Progetto + on rp_pirmod.chiaveprogettomod = Progetto.chiaveprogettomod + LEFT JOIN + C6StagingPeriodico.RP_Migraz_Progetto MigrazProgetto + on rp_pirmod.chiaveprogettomod = MigrazProgetto.chiaveprogettomod + AND Progetto.chiaveprogettomod is null + WHERE 1=1 + and rp_pirmod.DtFineValidita > getdate() + -- modifica del 30/11/2016 - il tipoProgetto non è più un campo significativo; ecludo le aree light e void + --and ((rp_pirmod.area = 'Inv') OR (rp_pirmod.area <> 'Inv' and rp_pirmod.tipoProgetto = 0)) + and rp_pirmod.area not in ('LIGHT', 'VOID') + -- fine -- modifica del 30/11/2016 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' + ) +END +-- select durata, convert(int,REPLACE(durata,'anni','')) FROM C6StagingPeriodico.RP_ProgettiPiramideModello where durata is not null \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20170119.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20170119.sql new file mode 100644 index 00000000..01d5ab94 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_20170119.sql @@ -0,0 +1,107 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6MartPeriodico].[RP_DM_PIRAMIDE_MOD_20170119] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PIRAMIDE_MOD', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PIRAMIDE_MOD + INSERT INTO [C6MartPeriodico].[PIRAMIDE_MOD] + ( + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE, + rp_pirmod.area AS ID_AREA, + -- 2016-12-02: nomeProgetto sempre presente e differente da NULL + --case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then rp_pirmod.nomeProgetto + -- ELSE NULL END + -- fine + rp_pirmod.nomeProgetto AS NOME_PROGETTO, + case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' + else 'Default' + end AS TIPO_PROGETTO, + rp_pirmod.percentualeProgetto AS PERC_AREA, + ISNULL(Progetto.CTVPROGETTO, MigrazProgetto.CTVPROGETTO) AS CTV_PROGETTO, + NULL AS CTV_AREA, + --convert(int,REPLACE(durata,'anni','')) AS ORIZZ_TEMP_NUM, + Progetto.orizzonteTemporale AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(Progetto.orizzonteTemporale, 0) = 0 THEN '' ELSE + cast(Progetto.orizzonteTemporale as varchar(2)) + ' anni' END AS ORIZZ_TEMP, + --rp_pirmod.durata AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + ISNULL(Progetto.ChiaveProgetto, MigrazProgetto.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_ProgettiPiramideModello AS rp_pirmod +INNER JOIN + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] vCONTRATTI + ON + rp_pirmod.chiaveClientePB = vCONTRATTI.chiaveClientePB + LEFT JOIN + C6StagingPeriodico.RP_Progetto Progetto + on rp_pirmod.chiaveprogettomod = Progetto.chiaveprogettomod + LEFT JOIN + C6StagingPeriodico.RP_Migraz_Progetto MigrazProgetto + on rp_pirmod.chiaveprogettomod = MigrazProgetto.chiaveprogettomod + AND Progetto.chiaveprogettomod is null + WHERE 1=1 + and rp_pirmod.DtFineValidita > getdate() + -- modifica del 30/11/2016 - il tipoProgetto non è più un campo significativo; ecludo le aree light e void + --and ((rp_pirmod.area = 'Inv') OR (rp_pirmod.area <> 'Inv' and rp_pirmod.tipoProgetto = 0)) + and rp_pirmod.area not in ('LIGHT', 'VOID') + -- fine -- modifica del 30/11/2016 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' + ) +END +-- select durata, convert(int,REPLACE(durata,'anni','')) FROM C6StagingPeriodico.RP_ProgettiPiramideModello where durata is not null \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_pre_selective.sql new file mode 100644 index 00000000..a8de721d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PIRAMIDE_MOD_pre_selective.sql @@ -0,0 +1,107 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PIRAMIDE_MOD_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PIRAMIDE_MOD_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PIRAMIDE_MOD + INSERT INTO [C6MartPeriodico].[PIRAMIDE_MOD] + ( + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE, + rp_pirmod.area AS ID_AREA, + -- 2016-12-02: nomeProgetto sempre presente e differente da NULL + --case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then rp_pirmod.nomeProgetto + -- ELSE NULL END + -- fine + rp_pirmod.nomeProgetto AS NOME_PROGETTO, + case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' + else 'Default' + end AS TIPO_PROGETTO, + rp_pirmod.percentualeProgetto AS PERC_AREA, + ISNULL(Progetto.CTVPROGETTO, MigrazProgetto.CTVPROGETTO) AS CTV_PROGETTO, + NULL AS CTV_AREA, + --convert(int,REPLACE(durata,'anni','')) AS ORIZZ_TEMP_NUM, + Progetto.orizzonteTemporale AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(Progetto.orizzonteTemporale, 0) = 0 THEN '' ELSE + cast(Progetto.orizzonteTemporale as varchar(2)) + ' anni' END AS ORIZZ_TEMP, + --rp_pirmod.durata AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + ISNULL(Progetto.ChiaveProgetto, MigrazProgetto.ChiaveProgetto) AS ORDINAMENTO_PROGETTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6StagingPeriodico.RP_ProgettiPiramideModello AS rp_pirmod +INNER JOIN + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] vCONTRATTI + ON + rp_pirmod.chiaveClientePB = vCONTRATTI.chiaveClientePB + LEFT JOIN + C6StagingPeriodico.RP_Progetto Progetto + on rp_pirmod.chiaveprogettomod = Progetto.chiaveprogettomod + LEFT JOIN + C6StagingPeriodico.RP_Migraz_Progetto MigrazProgetto + on rp_pirmod.chiaveprogettomod = MigrazProgetto.chiaveprogettomod + AND Progetto.chiaveprogettomod is null + WHERE 1=1 + and rp_pirmod.DtFineValidita > getdate() + -- modifica del 30/11/2016 - il tipoProgetto non è più un campo significativo; ecludo le aree light e void + --and ((rp_pirmod.area = 'Inv') OR (rp_pirmod.area <> 'Inv' and rp_pirmod.tipoProgetto = 0)) + and rp_pirmod.area not in ('LIGHT', 'VOID') + -- fine -- modifica del 30/11/2016 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD_pre_selective' + ) +END +-- select durata, convert(int,REPLACE(durata,'anni','')) FROM C6StagingPeriodico.RP_ProgettiPiramideModello where durata is not null \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_PIRAMIDE_VERT.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_PIRAMIDE_VERT.sql new file mode 100644 index 00000000..8a1ca37b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_PIRAMIDE_VERT.sql @@ -0,0 +1,65 @@ +-- ============================================= +-- Author: Rino Le Boffe +-- Create date: 09/08/2008 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_PIRAMIDE_VERT] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = [C6MartPeriodico].GETIDELAB() + SET @TIPO_ELAB = [C6MartPeriodico].GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PIRAMIDE_VERT', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6MartPeriodico].[PIRAMIDE_VERT] + INSERT INTO [C6MartPeriodico].[PIRAMIDE_VERT] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[CTV_AREA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + V.rete AS RETE, + ISNULL(V.COD_FISCALE, '') AS COD_FISCALE, + CASE WHEN A.AREA IS NULL THEN M_A.AREA ELSE A.AREA END AS ID_AREA, + CASE WHEN A.ctvArea IS NULL THEN M_A.ctvArea ELSE A.ctvArea END AS CTV_AREA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] V Left Join + (C6StagingPeriodico.RP_Pianificazione P + INNER JOIN C6StagingPeriodico.RP_Area A + ON P.CHIAVECONSULENZA = A.CHIAVECONSULENZA) + ON V.CHIAVECLIENTEPB = P.CHIAVECLIENTEPB + Left Join + (C6StagingPeriodico.RP_Migraz_Pianificazione M + INNER JOIN C6StagingPeriodico.RP_Migraz_Area M_A + ON M.CHIAVECONSULENZA = M_A.CHIAVECONSULENZA) + ON V.CHIAVECLIENTEPB = M.CHIAVECLIENTEPB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PIRAMIDE_VERT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PIRAMIDE_VERT' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_QD_VAR_RISK_WEEK2.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_QD_VAR_RISK_WEEK2.sql new file mode 100644 index 00000000..97f18e71 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_QD_VAR_RISK_WEEK2.sql @@ -0,0 +1,29 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_QD_VAR_RISK_WEEK2] +AS +BEGIN +TRUNCATE TABLE [C6MARTPeriodico].[QD_VAR_RISK_WEEK2] +INSERT INTO [C6MARTPeriodico].[QD_VAR_RISK_WEEK2] + ([banca], + [rete], + [codfis], + [piva], + [codfid], + [codman], + [chiave_acn], + [isp_total_risk], + [flag_risk]) + SELECT + [banca], + [rete], + [codfis], + [piva], + [codfid], + [codman], + CASE WHEN ISNULL(LTRIM(RTRIM(piva)), '') <> '' AND ISNULL(LTRIM(RTRIM(codman)), '') = '' THEN piva + WHEN ISNULL(LTRIM(RTRIM(piva)), '') <> '' AND ISNULL(LTRIM(RTRIM(codman)), '') <> '' THEN 'FF@' + codman + ELSE codfis + END AS chiave_acn, + [isp_total_risk], + [flag_risk] + FROM [C6StagingPeriodico].[QD_VAR_RISK_WEEK2] +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_W6CATESG.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_W6CATESG.sql new file mode 100644 index 00000000..354aaaab --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_W6CATESG.sql @@ -0,0 +1,65 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_W6CATESG] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_W6CATESG', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- declare @data varchar(8) +--set @data= [C6MartPeriodico].[getTrimestre2](getdate(),0) +truncate table C6MartPeriodico.W6CATESG + INSERT INTO [C6MartPeriodico].[W6CATESG] + ( + [dttrim] + ,[banca] + ,[rete] + ,[codfis] + ,[codman] + ,[esg_e_prod_cli] + ,[esg_s_prod_cli] + ,[esg_g_prod_cli] + ,[prodotto_id] + ,[position_id]) + SELECT distinct + [DTTRIM] + ,[BANCA] + ,[RETE] + ,case when CODMAN<>'' then 'FF@'+CODMAN + else CODFIS end as COD_FISCALE + ,isnull([codman],'') + ,isnull([esg_e_prod_cli],'') + ,isnull([esg_s_prod_cli],'') + ,isnull([esg_g_prod_cli],'') + ,isnull([prodotto_id],'') + ,isnull([position_id],'') + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6CATESG] + --where + --DTTRIM=@data + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_W6CATESG' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_W6CATESG' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_W6CKADEG.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_W6CKADEG.sql new file mode 100644 index 00000000..c73b994f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_W6CKADEG.sql @@ -0,0 +1,170 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_W6CKADEG] +as +begin +drop table if exists #tot +exec [dbo].[CreaTabellaBackUp] 'W6CKADEG','C6MartPeriodico','preBonifica' +declare @countAppoLimiter int +select @countAppoLimiter= count(*) from C6StagingPeriodico.APPO_CONTRATTI_LIMITER +if(@countAppoLimiter=0) +begin +truncate table C6MartPeriodico.W6CKADEG +--select Rete, +-- Chiave_Acn, +-- Codfis, +-- Codman, +-- Dttrim, +-- Adeg_Rischio, +-- Adeg_Riserva, +-- Adeg_Invl_Period, +-- Adeg_Compl, +-- Adeg_Conc_ProdCompl, +-- Adeg_Freq_Oper, +-- Adeg_Conc_Emitt, +-- Adeg_Conc_Valut +-- from #tot +insert into C6MartPeriodico.W6CKADEG +SELECT + wsei.Rete, + wsei.Chiave_Acn, + wsei.Codfis, + wsei.Codman, + wsei.Dttrim, + CASE + WHEN 'N' IN (Adeg_Rischio, Adeg_Riserva, Adeg_Invl_Period, Adeg_Compl, Adeg_Conc_ProdCompl, Adeg_Freq_Oper, Adeg_Conc_Emitt, Adeg_Conc_Valut) THEN 'N' + ELSE 'S' + END AS Adeg_Check, + wsei.Adeg_Rischio, + wsei.Adeg_Riserva, + wsei.Adeg_Invl_Period, + wsei.Adeg_Compl, + wsei.Adeg_Conc_ProdCompl, + wsei.Adeg_Freq_Oper, + wsei.Adeg_Conc_Emitt, + wsei.Adeg_Conc_Valut, + wsei.Rfa_tot, + wsei.Rfa_sei, + wsei.Riserva, + wsei.Profilo, + wsei.Profilo_EC, + wsei.Indicatore_ChiamataR4, + wsei.Flg_Legali_Rappresentanti + --into C6MartPeriodico.W6CKADEG +FROM C6MartPeriodico.vW6CKADEG wsei +inner join C6StagingPeriodico.appo_contratti appo on appo.rete=wsei.Rete and appo.cod_fiscale=wsei.Chiave_Acn +end +else +begin +delete from [C6MartPeriodico].[W6CKADEG] where rete+CHIAVE_ACN in (select rete+cod_fiscale from C6StagingPeriodico.APPO_CONTRATTI_LIMITER) +insert into C6MartPeriodico.W6CKADEG +SELECT + wsei.Rete, + wsei.Chiave_Acn, + wsei.Codfis, + wsei.Codman, + wsei.Dttrim, + CASE + WHEN 'N' IN (Adeg_Rischio, Adeg_Riserva, Adeg_Invl_Period, Adeg_Compl, Adeg_Conc_ProdCompl, Adeg_Freq_Oper, Adeg_Conc_Emitt, Adeg_Conc_Valut) THEN 'N' + ELSE 'S' + END AS Adeg_Check, + wsei.Adeg_Rischio, + wsei.Adeg_Riserva, + wsei.Adeg_Invl_Period, + wsei.Adeg_Compl, + wsei.Adeg_Conc_ProdCompl, + wsei.Adeg_Freq_Oper, + wsei.Adeg_Conc_Emitt, + wsei.Adeg_Conc_Valut, + wsei.Rfa_tot, + wsei.Rfa_sei, + wsei.Riserva, + wsei.Profilo, + wsei.Profilo_EC, + wsei.Indicatore_ChiamataR4, + wsei.Flg_Legali_Rappresentanti + --into C6MartPeriodico.W6CKADEG +FROM C6MartPeriodico.vW6CKADEG wsei +inner join C6StagingPeriodico.APPO_CONTRATTI_LIMITER appo on appo.rete=wsei.Rete and appo.cod_fiscale=wsei.Chiave_Acn +end +--casi particolari +update C6MartPeriodico.W6CKADEG +set Adeg_Check='N' +where Indicatore_ChiamataR4='Z' --clcompl=Z +and Profilo=0 -- profilo Scaduto +--and isnull(Rfa_sei,0.00)=0.00 -- Rfa_sei = 0 e >0 adeg_check deve essere comunque = N +update C6MartPeriodico.W6CKADEG +set Adeg_Check='S' +where Indicatore_ChiamataR4='Z' --clcompl=Z +and Profilo>0 -- profilo non scaduto +and isnull(Rfa_tot,0.00)=0.00 --rfa totale =0 +and isnull(Riserva,0.00)=0.00 -- riserva =0 +update C6MartPeriodico.W6CKADEG +set Adeg_Check='N' +where Indicatore_ChiamataR4='Z' --clcompl=Z +and Profilo>0 -- profilo non scaduto +and isnull(Rfa_tot,0.00)=0.00 --rfa totale =0 +and isnull(Riserva,0.00)>0.00 -- riserva >0 +update C6MartPeriodico.W6CKADEG +set Adeg_Check='S' +where Indicatore_ChiamataR4='Z' --clcompl=Z +and Profilo>0 -- profilo non scaduto +and isnull(Rfa_tot,0.00)<>0.00 +----Clienti Solo CC +--drop table if exists #clienti_soloCC +--SELECT DISTINCT RETE, Cod_fiscale +--into #clienti_soloCC +--FROM C6MartPeriodico.PATRIMONIO_BF +--WHERE TIPO_PRODOTTO = 'CC' AND ID_AREA = 'liq' +--AND Cod_fiscale NOT IN ( +-- SELECT Cod_fiscale +-- FROM C6MartPeriodico.PATRIMONIO_BF +-- WHERE (TIPO_PRODOTTO <> 'CC' OR ID_AREA <> 'liq') +--) +--update a +--set a.Adeg_Check='S' +--from C6MartPeriodico.W6CKADEG a +--inner join #clienti_soloCC cc +--on a.rete=cc.rete and a.Chiave_Acn=cc.cod_fiscale +--where a.Indicatore_ChiamataR4='Z' --clcompl=Z +--and a.Profilo>0 -- profilo non scaduto +--and isnull(Rfa_tot,0.00)<>0.00 --rfa totale <>0 +---- Clienti prodotti Fuori perimetro +-- drop table if exists #clienti_prodotti_fuori_adeg +-- drop table if exists #clienti_prodotti_fuori_adeg2 +-- select rete,cod_fiscale, count(senza.CodInterno) as Contatore_Prodotti_fuori_Adeguatezza,count(patr.cod_Interno) as contatore_tutti_prodotti +-- into #clienti_prodotti_fuori_adeg +-- from c6martperiodico.patrimonio_bf patr +-- left join [C6StagingPeriodico].[Prodotti_Fuori_Adeguatezza] senza +-- on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto +-- group by rete,COD_FISCALE +-- select rete,cod_fiscale,Contatore_Prodotti_fuori_Adeguatezza,contatore_tutti_prodotti +-- into #clienti_prodotti_fuori_adeg2 +-- from #clienti_prodotti_fuori_adeg +-- where Contatore_Prodotti_fuori_Adeguatezza=contatore_tutti_prodotti +---- select * from #clienti_prodotti_fuori_adeg2 +-- update a +--set a.Adeg_Check='S' +--from C6MartPeriodico.W6CKADEG a +--inner join #clienti_prodotti_fuori_adeg2 cc +--on a.rete=cc.rete and a.Chiave_Acn=cc.cod_fiscale +--where a.Indicatore_ChiamataR4='Z' --clcompl=Z +--and a.Profilo>0 -- profilo non scaduto +--and isnull(Rfa_tot,0.00)<>0.00 --rfa totale <>0 +----EC -1 +--update C6MartPeriodico.W6CKADEG +--set Adeg_Check='S' +--where Indicatore_ChiamataR4='Z' --clcompl=Z +--and Profilo>0 -- profilo non scaduto +--and isnull(Rfa_tot,0.00)<>0.00 --rfa totale =0 +--and Profilo_EC='-1' +----Flag Legali Rappresentanti +--update C6MartPeriodico.W6CKADEG +--set Adeg_Check='S' +--where Indicatore_ChiamataR4='Z' --clcompl=Z +--and Profilo>0 -- profilo non scaduto +--and isnull(Rfa_tot,0.00)<>0.00 --rfa totale =0 +--and Flg_Legali_Rappresentanti='S' +--SI +--NO +--NA Non Applicabile +--NR Non restituito, Professionale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_W6CLIESG.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_W6CLIESG.sql new file mode 100644 index 00000000..13b22611 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_W6CLIESG.sql @@ -0,0 +1,154 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_W6CLIESG] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_W6CLIESG', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- declare @data varchar(8) +--set @data= [C6MartPeriodico].[getTrimestre2](getdate(),0) + TRUNCATE TABLE C6MartPeriodico.W6CLIESG + INSERT INTO [C6MartPeriodico].[W6CliESG] + ( + [DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODMAN] + ,[U_PREFSOST] + ,[FLAGSFDR] + ,[FLAGTAXO] + ,[FLAGPAI] + ,[SFDR_PERC] + ,[TAXO_PERC] + ,[PAI_A01] + ,[PAI_A02] + ,[PAI_A03] + ,[PAI_A04] + ,[PAI_A05] + ,[PAI_A07] + ,[PAI_A08] + ,[PAI_S01] + ,[PAI_S02] + ,[PAI_A1] + ,[PAI_A2] + ,[PAI_A3] + ,[PAI_A4] + ,[PAI_A5] + ,[PAI_A7] + ,[PAI_A8] + ,[PAI_S1] + ,[PAI_S2] + ,[PAI_A] + ,[PAI_S] + ,[PAI_NO_DETT] + ,[PERC1ESG] + ,[PERCAMB] + ,[PERCSOC] + ,[PERCGOV] + ,[PERCAMB_OK] + ,[PERCSOC_OK] + ,[PERCGOV_OK] + ,[SFDR_PERCT] + ,[SFDR_PERC_OK] + ,[TAXO_PERCT] + ,[TAXO_PERC_OK] + ,[PAIA_PERCT] + ,[PAIA_PERC_OK] + ,[PAIS_PERCT] + ,[PAIS_PERC_OK]) + SELECT distinct + [DTTRIM] + ,[RETE] + ,case when CODMAN<>'' then 'FF@'+CODMAN + else CODFIS end as COD_FISCALE + ,[CODMAN] + ,[U_PREFSOST] + ,[FLAGSFDR] + ,[FLAGTAXO] + ,[FLAGPAI] + ,[SFDR_PERC] + ,[TAXO_PERC] + ,[PAI_A01] + ,[PAI_A02] + ,[PAI_A03] + ,[PAI_A04] + ,[PAI_A05] + ,[PAI_A07] + ,[PAI_A08] + ,[PAI_S01] + ,[PAI_S02] + ,CASE WHEN PAI_A01 = 'S' THEN 'Emissioni gas serra' ELSE '' END AS PAI_A1, + CASE WHEN PAI_A02 = 'S' THEN 'Biodiversita''' ELSE '' END AS PAI_A2, + CASE WHEN PAI_A03 = 'S' THEN 'Acqua' ELSE '' END AS PAI_A3, + CASE WHEN PAI_A04 = 'S' THEN 'Rifiuti' ELSE '' END AS PAI_A4, + CASE WHEN PAI_A05 = 'S' THEN 'Governativi di tipo Ambientale' ELSE '' END AS PAI_A5, + --CASE + -- WHEN PAI_A06 = 'S' THEN 'Combustibili Fossili' + -- ELSE '' + --END AS PAI_A06, + CASE WHEN PAI_A07 = 'S' THEN 'Settore Immobiliare' ELSE '' END AS PAI_A7,-- prima era Efficienza energetica ma deprecato + CASE WHEN PAI_A08 = 'S' THEN 'Settore Immobiliare' ELSE '' END AS PAI_A8, + CASE WHEN PAI_S01 = 'S' THEN 'Questioni Sociali e dei Dipendenti' ELSE '' END AS PAI_S1, + CASE WHEN PAI_S02 = 'S' THEN 'Governativi di tipo Sociale' ELSE '' END AS PAI_S2, + CONCAT_WS(', ', + NULLIF(CASE WHEN PAI_A01 = 'S' THEN 'Emissioni gas serra' ELSE '' END, ''), + NULLIF(CASE WHEN PAI_A02 = 'S' THEN 'Biodiversita''' ELSE '' END, ''), + NULLIF(CASE WHEN PAI_A03 = 'S' THEN 'Acqua' ELSE '' END, ''), + NULLIF(CASE WHEN PAI_A04 = 'S' THEN 'Rifiuti' ELSE '' END, ''), + --NULLIF(CASE WHEN PAI_A06 = 'S' THEN 'Combustibili Fossili' ELSE '' END, ''), -- Commentato + NULLIF(CASE WHEN PAI_A07 = 'S' THEN 'Settore Immobiliare' ELSE '' END, ''),-- prima era Efficienza energetica + NULLIF(CASE WHEN PAI_A08 = 'S' THEN 'Settore Immobiliare' ELSE '' END, ''), + NULLIF(CASE WHEN PAI_A05 = 'S' THEN 'Governativi di tipo Ambientale' ELSE '' END, '') + ) AS PAI_A, + -- Concatenazione del campo PAI_S (ritorna '' se tutti i campi sono vuoti) + CONCAT_WS(', ', + NULLIF(CASE WHEN PAI_S01 = 'S' THEN 'Questioni Sociali e dei Dipendenti' ELSE '' END, ''), + NULLIF(CASE WHEN PAI_S02 = 'S' THEN 'Governativi di tipo Sociale' ELSE '' END, '') + ) AS PAI_S, + [PAI_NO_DETT] + ,[PERC1ESG] + ,[PERCAMB] + ,[PERCSOC] + ,[PERCGOV] + ,[PERCAMB_OK] + ,[PERCSOC_OK] + ,[PERCGOV_OK] + ,[SFDR_PERCT] + ,[SFDR_PERC_OK] + ,[TAXO_PERCT] + ,[TAXO_PERC_OK] + ,[PAIA_PERCT] + ,[PAIA_PERC_OK] + ,[PAIS_PERCT] + ,[PAIS_PERC_OK] + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6CliESG] + --where + --DTTRIM=@data + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_W6CliESG' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_W6CliESG' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_W6IndPtf.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_W6IndPtf.sql new file mode 100644 index 00000000..f01ebc1a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_W6IndPtf.sql @@ -0,0 +1,81 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_W6IndPtf] +as +begin +exec [dbo].[CreaTabellaBackUp] 'W6IndPtf','C6MartPeriodico' +declare @countAppoLimiter int +select @countAppoLimiter= count(*) from C6StagingPeriodico.APPO_CONTRATTI_LIMITER +drop table if exists #tot +if(@countAppoLimiter=0) +begin +truncate table C6MartPeriodico.W6IndPtf +INSERT INTO [C6MartPeriodico].[W6IndPtf] + ([DTTRIM] + ,[RETE] + ,[CHIAVE_ACN] + ,[CODFIS] + ,[CODMAN] + ,[PTF_DIVERSIFICATO] + ,[PTF_ADEGUATO] + ,[BLACKLIST] + ,[DATA_ORA_INSE] + ,[DATA_ORA_AGGI]) +select +distinct +ad.Dttrim, +ad.Rete, +ad.Chiave_Acn as Chiave_Acn, +ad.Codfis, +ad.Codman, +case when isnull(ptf.flg_NonDiv,'N')='S' then 'N' else 'S' end as flg_NonDiv, +ad.adeg_check, +case when e.rete IS not null then 'S' else 'N' end as Blacklist, +NULL as DATA_ORA_INSE, +NULL as DATA_ORA_AGGI +from C6MartPeriodico.W6CKADEG ad +inner join C6StagingPeriodico.appo_contratti appo +on appo.rete=ad.Rete and appo.cod_fiscale=ad.Chiave_Acn +left join C6MartPeriodico.RP_ClientiPtfNonDiv ptf +on ad.Rete=ptf.rete and ad.Chiave_Acn=ptf.chiave_acn +left join (select distinct rete,codicefiscale from C6MartPeriodico.ExcludedList) e on ad.Rete=e.Rete and ad.Chiave_Acn=e.codicefiscale +WHERE appo.tip_contratto<>'3' +end +--select distinct * from C6MartPeriodico.W6IndPtf +else +delete from [C6MartPeriodico].[W6IndPtf] where rete+CHIAVE_ACN in (select rete+cod_fiscale from C6StagingPeriodico.APPO_CONTRATTI_LIMITER) +INSERT INTO [C6MartPeriodico].[W6IndPtf] + ([DTTRIM] + ,[RETE] + ,[CHIAVE_ACN] + ,[CODFIS] + ,[CODMAN] + ,[PTF_DIVERSIFICATO] + ,[PTF_ADEGUATO] + ,[BLACKLIST] + ,[DATA_ORA_INSE] + ,[DATA_ORA_AGGI]) +select +distinct +ad.Dttrim, +ad.Rete, +ad.Chiave_Acn as Chiave_Acn, +ad.Codfis, +ad.Codman, +case when isnull(ptf.flg_NonDiv,'N')='S' then 'N' else 'S' end as flg_NonDiv, +ad.adeg_check, +case when e.rete IS not null then 'S' else 'N' end as Blacklist, +NULL as DATA_ORA_INSE, +NULL as DATA_ORA_AGGI +from C6MartPeriodico.W6CKADEG ad +inner join C6StagingPeriodico.APPO_CONTRATTI_LIMITER appo_lim +on appo_lim.rete=ad.Rete and appo_lim.cod_fiscale=ad.Chiave_Acn +left join C6StagingPeriodico.APPO_CONTRATTI appo +on appo.rete=ad.Rete and appo.cod_fiscale=ad.Chiave_Acn +left join C6MartPeriodico.RP_ClientiPtfNonDiv ptf +on ad.Rete=ptf.rete and ad.Chiave_Acn=ptf.chiave_acn +left join (select distinct rete,codicefiscale from C6MartPeriodico.ExcludedList) e on ad.Rete=e.Rete and ad.Chiave_Acn=e.codicefiscale +WHERE appo.tip_contratto<>'3' +--SI +--NO +--NA Non Applicabile +--NR Non restituito, Professionale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_WSEIAN2.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_WSEIAN2.sql new file mode 100644 index 00000000..d1337261 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_WSEIAN2.sql @@ -0,0 +1,96 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_WSEIAN2] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +exec [dbo].[CreaTabellaBackUp] 'wseian2','C6MartPeriodico' +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) +truncate table c6martperiodico.wseian2 +INSERT INTO [C6MartPeriodico].[wseian2] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[PIVA] + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF] + ,[DTINVAL] + ,[CODMAN] + ,[CLASSERC] + ,[COD_PROFEC] + ,[FLAGPG] + ,[CLCOMPL] + ,[FLGCONC] + ,[FLAGNQP] + ,[FLGPRLRDE] + ,[FLGPROF] + ,[DTFINVAL] + ,[CONCEMI] + ,[FREQ] + ,[LLIQUID] + ,[PREFSOST] + ,[FLAGAMB] + ,[FLAGSOC] + ,[FLAGGOV] + ,[ADEGCONC_VALUT] + ,[SOGLIAESG] + ,[COERENZA] + ,[RISERVA] + ,[INVL_PERIOD] + ,[MAXCOMPL] + ,[NOCOMPL] + ,[SPESA_FORZATA] + ,[PERC_ILP] + ,[IMP_RISERVA]) +SELECT [DTTRIM] + ,[RETE] + ,case when codman<>'' then 'FF@'+codman else [CODFIS] end as CODFIS + ,case when LEN(codfis)<16 then codfis else '' end as PIVA + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF] + ,[DTINVAL] + ,[CODMAN] + ,[CLASSERC] + ,[COD_PROFEC] + ,[FLAGPG] + ,[CLCOMPL] + ,[FLGCONC] + ,[FLAGNQP] + ,[FLGPRLRDE] + ,[FLGPROF] + ,[DTFINVAL] + ,[CONCEMI] + ,[FREQ] + ,[LLIQUID] + ,[PREFSOST] + ,[FLAGAMB] + ,[FLAGSOC] + ,[FLAGGOV] + ,[ADEGCONC_VALUT] + ,[SOGLIAESG] + ,[COERENZA] + ,[RISERVA] + ,[INVL_PERIOD] + ,[MAXCOMPL] + ,[NOCOMPL] + ,[SPESA_FORZATA] + ,[PERC_ILP] + ,[IMP_RISERVA] + FROM [C6StagingPeriodico].[WSEIAN2] + -- where DTTRIM=@DataFineTrim +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_WSEICAP.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_WSEICAP.sql new file mode 100644 index 00000000..2690534c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_WSEICAP.sql @@ -0,0 +1,74 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_WSEICAP] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_WSEICAP', + GETDATE(), + 'Elaborazione trimestrale' + ) + declare @data varchar(8) +set @data= [C6MartPeriodico].[getTrimestre2](getdate(),0) + TRUNCATE TABLE C6MartPeriodico.WSEICAP + INSERT INTO C6MartPeriodico.[WSEICAP] + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[COD_FISCALE] + ,[CODCONF] + ,[SUBPROD] + ,[ISIN] + ,[DTINIZ] + ,[DTFINE] + ,[CTV_COMMIT] + ,[IMPVERS] + ,[IMPRES] + ,[DESCPROD] + ,[SGR]) + SELECT distinct [DTTRIM] + ,[DTRIFE] + ,[RETE] + ,case when CODMAN<>'' then 'FF@'+CODMAN + else CODFIS end as COD_FISCALE + ,[CODCONF] + ,[SUBPROD] + ,CASE + WHEN ISIN IS NULL OR ISIN = '' THEN 'NA' + ELSE ISIN + END AS ISIN + ,[DTINIZ] + ,[DTFINE] + ,[CTV_COMMIT] + ,[IMPVERS] + ,[IMPRES] + ,[DESCPROD] + ,[SGR] + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICAP] + where + DTTRIM=@data + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_WSEICAP' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_WSEICAP' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_WSEICC.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_WSEICC.sql new file mode 100644 index 00000000..33f5da29 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_WSEICC.sql @@ -0,0 +1,55 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_DM_WSEICC] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_WSEICC', + GETDATE(), + 'Elaborazione trimestrale' + ) + declare @data varchar(8) +set @data= [C6MartPeriodico].[getTrimestre2](getdate(),0) + TRUNCATE TABLE C6MartPeriodico.WSEICC + INSERT INTO C6MartPeriodico.[WSEICC] + ([DTTRIM] + ,[RETE] + ,[COD_FISCALE] + ,[CODCONFC] + ,[CODCONFPR] + ,[is_APC]) + SELECT distinct [DTTRIM] + ,[RETE] + ,case when CODMAN<>'' then 'FF@'+CODMAN + else CODFIS end + ,[CODCONFC] + ,[CODCONFPR] + ,'S' + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICC] + where + DTTRIM=@data + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_WSEICC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_WSEICC' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_DM_WSEIRPF.sql b/sql/storedTestbes/C6MartPeriodico_RP_DM_WSEIRPF.sql new file mode 100644 index 00000000..7112aeef --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_DM_WSEIRPF.sql @@ -0,0 +1,100 @@ +CREATE procedure [C6MartPeriodico].[RP_DM_WSEIRPF] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +DECLARE @DataFineTrim VARCHAR(8) +SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + SELECT + rpf.[dttrim] + ,rpf.[rete] + ,case when rpf.codman <>'' then 'FF@'+rpf.codman else rpf.codfis end as chiave_acn + ,rpf.[codfis] + ,rpf.[codman] + ,rpf.[flgprof] + ,rpf.[flgec] + ,rpf.[data_ora_refresh] + ,rpf.[data_ora_inse] + ,rpf.[data_ora_aggi] + into #WSEIRPF_temp + FROM [C6StagingPeriodico].[WSEIRPF] rpf + where rpf.flgprof in ('P','S') and rpf.dttrim=@DataFineTrim + SELECT + rpf.[dttrim] + ,rpf.[rete] + ,rpf.chiave_acn + ,rpf.[codfis] + ,rpf.[codman] + ,rpf.[flgprof] + ,rpf.[flgec] + ,rpf.[data_ora_refresh] + ,rpf.[data_ora_inse] + ,rpf.[data_ora_aggi] + ,case when ac.TIP_CONTRATTO=3 then 'S' else 'N' end as isDirect + into #WSEIRPF + from #WSEIRPF_temp rpf + inner join C6StagingPeriodico.APPO_CONTRATTI AC + on rpf.rete=AC.rete and rpf.chiave_acn=AC.COD_FISCALE + SELECT + rpf.[dttrim] + ,rpf.[rete] + ,rpf.chiave_acn + ,rpf.[codfis] + ,rpf.[codman] + ,rpf.[flgprof] + ,rpf.[flgec] + ,rpf.[data_ora_refresh] + ,rpf.[data_ora_inse] + ,rpf.[data_ora_aggi] + ,rpf.isDirect + into #WSEI + FROM #WSEIRPF rpf + inner join C6MartPeriodico.wseian2 an2 on rpf.rete+rpf.chiave_acn=an2.rete+an2.codfis + where rpf.flgprof='P' and rpf.dttrim=@DataFineTrim and CODPROF='0' and isDirect='N' + union all + SELECT + rpf.[dttrim] + ,rpf.[rete] + ,rpf.chiave_acn + ,rpf.[codfis] + ,rpf.[codman] + ,rpf.[flgprof] + ,rpf.[flgec] + ,rpf.[data_ora_refresh] + ,rpf.[data_ora_inse] + ,rpf.[data_ora_aggi] + ,rpf.isDirect + FROM #WSEIRPF rpf + inner join C6MartPeriodico.wseian2 an2 on rpf.rete+rpf.chiave_acn=an2.rete+an2.codfis + inner join C6MartPeriodico.vPatrimonioBFAggregato patr on patr.rete=rpf.rete and patr.cod_fiscale=rpf.chiave_acn + where rpf.flgprof='P' and rpf.dttrim=@DataFineTrim and CODPROF='0' and isDirect='S' --and ctv>=10000 +truncate table c6martperiodico.wseirpf +INSERT INTO [C6MartPeriodico].[wseirpf]( + [dttrim] + ,[rete] + ,[chiave_acn] + ,[codfis] + ,[codman] + ,[flgprof] + ,[flgec] + ,[data_ora_refresh] + ,[data_ora_inse] + ,[data_ora_aggi]) + SELECT + ws.[dttrim] + ,ws.[rete] + ,WS.chiave_acn + ,ws.[codfis] + ,ws.[codman] + ,ws.[flgprof] + ,ws.[flgec] + ,ws.[data_ora_refresh] + ,ws.[data_ora_inse] + ,ws.[data_ora_aggi] + FROM #WSEI WS + inner join C6StagingPeriodico.APPO_CONTRATTI AC + on WS.rete=AC.rete and WS.chiave_acn=AC.COD_FISCALE + drop table if exists #WSEIRPF + drop table if exists #WSEI +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql b/sql/storedTestbes/C6MartPeriodico_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql new file mode 100644 index 00000000..d233d219 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql @@ -0,0 +1,90 @@ +--SELECT TOP 1 * FROM C6MartPeriodico.VCONTRATTI +--[C6MartPeriodico].[GESTIONE_SELECT_LETTERE_DA_INVIARE]'F','AA@55670',1,-1 +CREATE procedure [C6MartPeriodico].[RP_GESTIONE_SELECT_LETTERE_DA_INVIARE] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' +AS +BEGIN + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() +--declare @prova as varchar(10) +--select @prova = 'AA@55670' +--select @prova +--select charindex('@',@prova) + SELECT + dbo.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, + --aclie.cognome as cognome, + csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.PROVINCIA end as provincia, + csei.cap as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + dbo.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_MONITORAGGIO, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.DATA_INZIOAVANZATO, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) as testo, + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma + FROM + [C6MartPeriodico].[TESTO_LETTERA_ACCETTAZIONE] tla, + [C6MartPeriodico].[VCONTRATTI] csei + JOIN + C6MartPeriodico.CONTRATTOSEI_METADATI META + ON + META.CHIAVECLIENTEPB= CSEI.CHIAVECLIENTEPB + INNER JOIN + [C6MartPeriodico].[ANAG_CLIENTI] aclie + on + csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + LEFT OUTER JOIN + C6MartPeriodico.GESTIONE_PDF_FTP gpdf + on + gpdf.rete = csei.rete and + gpdf.codiceFiscale = csei.cod_fiscale + WHERE + csei.rete = @rete and + csei.cod_Fiscale = @cf and + csei.data_fineAvanzato > getDate() and + tla.id = @codiceLettera and + (gpdf.idReport = @idReport or @idreport = -1) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli.sql b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli.sql new file mode 100644 index 00000000..425218ad --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli.sql @@ -0,0 +1,44 @@ +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +--[C6MartPeriodico].[PROM_TuttiIPortafogli] +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,cast([CtvNominale] as varchar) as CtvNominale + ,cast([CtvReale] as varchar) as CtvReale +FROM ( + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6MartPeriodico].[RP_vTuttiIPortafogli] + union all + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6MartPeriodico].[RP_vTuttiIPortafogli_ccLiq] +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2.sql b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2.sql new file mode 100644 index 00000000..359bf45e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2.sql @@ -0,0 +1,59 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT + -- descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] +FROM ( + SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_ccLiq] +) T +--where t.codicefiscale <> 'MNTGFR35R06G337T' +--where ((t.rete = 'F' +--and t.codicefiscale > 'KRLPBL79L31Z107U') +--or (t.rete = 'S')) +---------------------------------------------------------------- +-- excluded for T2_L1 and T2_L2 to bypass Prometeia dtsx failure +--where T.codicefiscale <> 'RNLRLD71D19G492V' +---------------------------------------------------------------- +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170409_TEST.sql b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170409_TEST.sql new file mode 100644 index 00000000..7c9bf495 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170409_TEST.sql @@ -0,0 +1,59 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20170409_TEST] + -- Add the parameters for the stored procedure here +AS +BEGIN +select *, row_number() over(order by CodiceFiscale, Rete, Portafoglio) as myrank into #tmp from +( +SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Martperiodico].[RP_vTuttiIPortafogli] + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Martperiodico].[RP_vTuttiIPortafogli_ccLiq] + )x +SELECT + CodiceFiscale, rete + into #ranking + from #tmp +group by CodiceFiscale, rete +having max(myrank) <= 1600000 + CREATE INDEX IDX_ranking_CodiceFiscale ON #ranking(CodiceFiscale, Rete) + CREATE INDEX IDX_temp_CodiceFiscale ON #tmp(CodiceFiscale, Rete) +select t.[Rete] + ,t.[CodiceFiscale] + ,t.[Portafoglio] + ,t.[CodiceProdotto] + ,t.[Piazza] + ,t.[CodiceValuta] + ,t.[Classe] + ,t.[CtvNominale] + ,t.[CtvReale] + from +#tmp t inner join #ranking r on r.Rete = t.rete and r.CodiceFiscale = t.CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410.sql b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410.sql new file mode 100644 index 00000000..94c256f1 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410.sql @@ -0,0 +1,55 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20170410] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT + -- descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] +FROM ( + SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_ccLiq] +) T +--where t.codicefiscale <> 'MNTGFR35R06G337T' +--where ((t.rete = 'F' +--and t.codicefiscale > 'KRLPBL79L31Z107U') +--or (t.rete = 'S')) +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410_EXCLCF.sql b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410_EXCLCF.sql new file mode 100644 index 00000000..69d5de81 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170410_EXCLCF.sql @@ -0,0 +1,52 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20170410_EXCLCF] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT + -- descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] +FROM ( + SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_ccLiq] +) T +where t.codicefiscale <> 'RNLRLD71D19G42V' +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170421_EXCL_CF.sql b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170421_EXCL_CF.sql new file mode 100644 index 00000000..37439fb6 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20170421_EXCL_CF.sql @@ -0,0 +1,56 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20170421_EXCL_CF] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT + -- descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] +FROM ( + SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_ccLiq] +) T +--where t.codicefiscale <> 'MNTGFR35R06G337T' +--where ((t.rete = 'F' +--and t.codicefiscale > 'KRLPBL79L31Z107U') +--or (t.rete = 'S')) +where T.codicefiscale <> 'RNLRLD71D19G492V' +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20180615_NewMotorePrometeia.sql b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20180615_NewMotorePrometeia.sql new file mode 100644 index 00000000..e0aaf98a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_20180615_NewMotorePrometeia.sql @@ -0,0 +1,74 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_20180615_NewMotorePrometeia] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT + -- descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] +FROM ( + SELECT +--descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + union all + SELECT + --descr_prodotto, + [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_ccLiq] +) T +--esclusioni per errore nuovo servizio indicatori del 14-15/6/2018 +where t.rete+t.codicefiscale not in +('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', +'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', +'SPCFMRA79D52I197L','SSNTLGU56A23L334O' +) +--where t.codicefiscale <> 'MNTGFR35R06G337T' +--where ((t.rete = 'F' +--and t.codicefiscale > 'KRLPBL79L31Z107U') +--or (t.rete = 'S')) +---------------------------------------------------------------- +-- excluded for T2_L1 and T2_L2 to bypass Prometeia dtsx failure +--where T.codicefiscale = 'BGIRUI39M03G687X' +---------------------------------------------------------------- +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore.sql b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore.sql new file mode 100644 index 00000000..d342478d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore.sql @@ -0,0 +1,161 @@ +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore] + -- Add the parameters for the stored procedure here +AS +BEGIN +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + -- ,case + --when [CtvNominale] < 0 then '0.00' + --else convert(varchar(20),[CtvNominale]) + -- end as [CtvNominale] + -- ,case + --when [CtvReale] < 0 then '0.00' + --else convert(varchar(20),[CtvReale]) + -- end as [CtvReale] + --orig: + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 +FROM +( + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore_newkey]-- where codicefiscale='MCHMNP63R51A794U' + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + -- and rete+codicefiscale not in + --('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + --'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + --'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--and rete+codicefiscale<>'FMCHMNP63R51A794U' +--********************ELIMINARE***************** + --and rete+codicefiscale <> 'FMCHMNP63R51A794U' +--********************ELIMINARE***************** + --and rete+codicefiscale <> 'SFRGMGH37R50G778A' +and portafoglio not like '%||%' + UNION + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore_newkey] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + -- and rete+codicefiscale not in + --('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + --'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + --'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--and rete+codicefiscale<>'FMCHMNP63R51A794U' +--********************ELIMINARE***************** + --and rete+codicefiscale <> 'FMCHMNP63R51A794U' +--********************ELIMINARE***************** + --and rete+codicefiscale <> 'SFRGMGH37R50G778A' +and portafoglio not like '%||%' + UNION + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore_newkey] + -- Fine Modifica del 18/10/2018 + where ([Portafoglio] like '%COMPLESSIVO|TERZI%' or [Portafoglio] like '%COMPLESSIVO|BF%') + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + -- and rete+codicefiscale not in + --('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + --'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + --'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +-- and rete+codicefiscale<>'FMCHMNP63R51A794U' +--********************ELIMINARE***************** + --and rete+codicefiscale <> 'FMCHMNP63R51A794U' +--********************ELIMINARE***************** + --and rete+codicefiscale <> 'SFRGMGH37R50G778A' +and portafoglio not like '%||%' +) T +--where rete+codicefiscale in ('SPLLGNN70P12D612D','SPLLGPP42H19D730M','SPLLGNN70P12D612D_BF','SPLLGPP42H19D730M_BF','SPLLGNN70P12D612D_TERZI','SPLLGPP42H19D730M_TERZI') +order by rete,codiceFiscale,Portafoglio +--select rete,codiceFiscale,Portafoglio +--FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] +--order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180711_AZZERARE_CTV_NEGATIVI.sql b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180711_AZZERARE_CTV_NEGATIVI.sql new file mode 100644 index 00000000..ab661d13 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180711_AZZERARE_CTV_NEGATIVI.sql @@ -0,0 +1,140 @@ +--ELIMINARE WHERE CONDITION SUL CODICE FISCALE NELLE SELECT INTERNE +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_20180711_AZZERARE_CTV_NEGATIVI] + -- Add the parameters for the stored procedure here +AS +BEGIN +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + -- ,case + --when [CtvNominale] < 0 then '0.00' + --else convert(varchar(20),[CtvNominale]) + -- end as [CtvNominale] + -- ,case + --when [CtvReale] < 0 then '0.00' + --else convert(varchar(20),[CtvReale]) + -- end as [CtvReale] + --orig: + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 +FROM +( + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where ([Portafoglio] like '%COMPLESSIVO|TERZI%' or [Portafoglio] like '%COMPLESSIVO|BF%') + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180719_preAzzeramentoCCNeg.sql b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180719_preAzzeramentoCCNeg.sql new file mode 100644 index 00000000..552136e0 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20180719_preAzzeramentoCCNeg.sql @@ -0,0 +1,86 @@ +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_20180719_preAzzeramentoCCNeg] + -- Add the parameters for the stored procedure here +AS +BEGIN +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] +FROM +( + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') + UNION + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') + UNION + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where ([Portafoglio] like '%COMPLESSIVO|TERZI%' or [Portafoglio] like '%COMPLESSIVO|BF%') + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018.sql b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018.sql new file mode 100644 index 00000000..8635b6f5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018.sql @@ -0,0 +1,140 @@ +--ELIMINARE WHERE CONDITION SUL CODICE FISCALE NELLE SELECT INTERNE +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_20181018] + -- Add the parameters for the stored procedure here +AS +BEGIN +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + -- ,case + --when [CtvNominale] < 0 then '0.00' + --else convert(varchar(20),[CtvNominale]) + -- end as [CtvNominale] + -- ,case + --when [CtvReale] < 0 then '0.00' + --else convert(varchar(20),[CtvReale]) + -- end as [CtvReale] + --orig: + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 +FROM +( + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + where ([Portafoglio] like '%COMPLESSIVO|TERZI%' or [Portafoglio] like '%COMPLESSIVO|BF%') + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018_SingoloCF.sql b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018_SingoloCF.sql new file mode 100644 index 00000000..109dbe11 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_20181018_SingoloCF.sql @@ -0,0 +1,140 @@ +--ELIMINARE WHERE CONDITION SUL CODICE FISCALE NELLE SELECT INTERNE +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_20181018_SingoloCF] + -- Add the parameters for the stored procedure here +AS +BEGIN +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + -- ,case + --when [CtvNominale] < 0 then '0.00' + --else convert(varchar(20),[CtvNominale]) + -- end as [CtvNominale] + -- ,case + --when [CtvReale] < 0 then '0.00' + --else convert(varchar(20),[CtvReale]) + -- end as [CtvReale] + --orig: + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 +FROM +( + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale = 'FTMRSNN57T52L424E' +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale = 'FTMRSNN57T52L424E' +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where ([Portafoglio] like '%COMPLESSIVO|TERZI%' or [Portafoglio] like '%COMPLESSIVO|BF%') + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale = 'FTMRSNN57T52L424E' +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_IN.sql b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_IN.sql new file mode 100644 index 00000000..85286ea3 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_IN.sql @@ -0,0 +1,149 @@ +--ELIMINARE WHERE CONDITION SUL CODICE FISCALE NELLE SELECT INTERNE +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_IN] + -- Add the parameters for the stored procedure here +AS +BEGIN +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + -- ,case + --when [CtvNominale] < 0 then '0.00' + --else convert(varchar(20),[CtvNominale]) + -- end as [CtvNominale] + -- ,case + --when [CtvReale] < 0 then '0.00' + --else convert(varchar(20),[CtvReale]) + -- end as [CtvReale] + --orig: + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 +FROM +( + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where ([Portafoglio] like '%COMPLESSIVO|TERZI%' or [Portafoglio] like '%COMPLESSIVO|BF%') + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_ORIGINALE.sql b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_ORIGINALE.sql new file mode 100644 index 00000000..24b967dd --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli2_Indicatore_ORIGINALE.sql @@ -0,0 +1,149 @@ +--ELIMINARE WHERE CONDITION SUL CODICE FISCALE NELLE SELECT INTERNE +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli2_Indicatore_ORIGINALE] + -- Add the parameters for the stored procedure here +AS +BEGIN +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + -- ,case + --when [CtvNominale] < 0 then '0.00' + --else convert(varchar(20),[CtvNominale]) + -- end as [CtvNominale] + -- ,case + --when [CtvReale] < 0 then '0.00' + --else convert(varchar(20),[CtvReale]) + -- end as [CtvReale] + --orig: + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 +FROM +( + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** + UNION + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + --MIFID2 20180711 + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + --orig: + --,convert(varchar(20),[CtvNominale]) as [CtvNominale] + --,convert(varchar(20),[CtvReale]) as [CtvReale] + --MIFID2 + -- Modifica del 18/10/2018: creata nuova vista RP_vTuttiIPortafogli_Indicatore (per risolvere il problema del nome_progetto vuoto che causava due caratteri pipe || + --FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli] + FROM [C6StampeCentralizzate].[C6Martperiodico].[RP_vTuttiIPortafogli_Indicatore] + -- Fine Modifica del 18/10/2018 + where ([Portafoglio] like '%COMPLESSIVO|TERZI%' or [Portafoglio] like '%COMPLESSIVO|BF%') + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O') +--********************ELIMINARE***************** + --and codicefiscale = 'BBTRST39C01G160T' +--********************ELIMINARE***************** +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli_pre_selective.sql new file mode 100644 index 00000000..4f4dfc91 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_PROM_TuttiIPortafogli_pre_selective.sql @@ -0,0 +1,44 @@ +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +--[C6MartPeriodico].[PROM_TuttiIPortafogli] +CREATE procedure [C6MartPeriodico].[RP_PROM_TuttiIPortafogli_pre_selective] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,cast([CtvNominale] as varchar) as CtvNominale + ,cast([CtvReale] as varchar) as CtvReale +FROM ( + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6MartPeriodico].[RP_vTuttiIPortafogli] + union all + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6MartPeriodico].[RP_vTuttiIPortafogli_ccLiq] +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_SRV_CHECK_C6_GIORNALIERO.sql b/sql/storedTestbes/C6MartPeriodico_RP_SRV_CHECK_C6_GIORNALIERO.sql new file mode 100644 index 00000000..05cfac2a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_SRV_CHECK_C6_GIORNALIERO.sql @@ -0,0 +1,588 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_SRV_CHECK_C6_GIORNALIERO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --V Esegue la procedura di estrazione dei CC + EXEC [C6MartPeriodico].[RP_SRV_ESTRAZ_GIORNALIERA_CC] + -- Report generati + SELECT + C.Rete, + C.Cod_Agente, + case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else C.Cod_Fiscale end as Cod_fiscale, + C.Data_Perf + INTO #ReportGenerati + FROM + C6MartPeriodico.GESTIONE_PDF_FTP AS GPF + INNER JOIN [C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] AS C + ON GPF.RETE = C.Rete + AND GPF.CODICEFISCALE = C.Cod_Fiscale + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND Data_FineAvanzato > getDate() + ORDER BY + C.Rete, + C.Cod_Agente, + C.Cod_Fiscale + -- Report non generati + SELECT + Rete, + Cod_Agente, + case when Cod_Fiscale like '%@%' then piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else Cod_Fiscale end as Cod_fiscale, + Data_Perf, + 'Ragione:' + CASE + WHEN ClienteMigrato = 'N' THEN ' Cliente non migrato' + ELSE '' + END + + CASE + WHEN RisorseNA = 'S' THEN ' Risorse non associate' + ELSE '' + END + + CASE + WHEN RisorseNA = 'N' and ClienteMigrato = 'S' and profiloAttivo = 0 THEN ' Profilo non attivo' + ELSE '' + END + /*+ CASE + WHEN PartViaDisinv = 'S' THEN ' Partite viaggianti disinvestimento' + ELSE '' + END*/ AS Ragione + INTO #ReportNonGenerati + FROM + C6MartPeriodico.vcontratti as CONTRATTOSEI + INNER JOIN C6MartPeriodico.ContrattoSEI_metadati AS M + on CONTRATTOSEI.chiaveclientepb = M.chiaveclientepb + WHERE + M.InvioBenvenuto = 'N' + AND DATEDIFF(d, Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND (ClienteMigrato = 'N' + OR RisorseNA = 'S' + --V Condizione per non generazione a causa di profilo non attivo + OR ProfiloAttivo = 0 + -- + /*OR PartViaDisinv = 'S'*/) + AND Data_FineAvanzato > getDate() + ORDER BY + Rete, + Cod_Agente, + Cod_Fiscale + -- Email + SELECT + CASE Tipo + WHEN 'PERF' THEN 'perfezionamento' + WHEN '1_SOLL_NOASS' THEN '1° sollecito risorse non associate' + WHEN '2_SOLL_NOASS' THEN '2° sollecito risorse non associate' + WHEN '3_SOLL_NOASS' THEN '3° sollecito risorse non associate' + WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + WHEN '1_SOLL_NOMIG' THEN '1° sollecito cliente non migrato' + WHEN '2_SOLL_NOMIG' THEN '2° sollecito cliente non migrato' + WHEN '3_SOLL_NOMIG' THEN '3° sollecito cliente non migrato' + WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + --V aggiunta tipo mail profilo non attivo + WHEN '1_SOLL_NOPRO' THEN '1° sollecito profilo non attivo' + WHEN '2_SOLL_NOPRO' THEN '2° sollecito profilo non attivo' + WHEN '3_SOLL_NOPRO' THEN '3° sollecito profilo non attivo' + WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + END AS Tipo, + COUNT(Tipo) AS Totale + INTO #EmailInviate + FROM + C6MartPeriodico.GESTIONE_EMAIL + WHERE + Inviata = 'S' + AND dbo.toShortDateString(Data_Invio) = dbo.toShortDateString(GETDATE()) + GROUP BY + Tipo + ORDER BY TIPO + -- Indirizzi più lunghi di 36 caratteri + SELECT + C.Rete, + Cod_Agente, + Cod_Fiscale, + Indirizzo, + LEN(Indirizzo) AS LunghezzaIndirizzo + INTO #IndirizziLunghi + FROM + C6MartPeriodico.vcontratti AS C + INNER JOIN C6MartPeriodico.GESTIONE_PDF_FTP AS GPF + ON C.Rete = GPF.RETE + AND C.Cod_Fiscale = GPF.CODICEFISCALE + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND LEN(Indirizzo) > 36 + ORDER BY + Rete, + Cod_Agente, + Cod_Fiscale + -- Prodotti non a catalogo + SELECT + RETE, + CODICEFISCALE, + CODICECONTRATTO + INTO #ProdNonInCat + FROM + C6Staging.SPB_CONTR_SINTESI + WHERE + POSITIONID IS NULL + -- VaR discordanti + SELECT + RA.RETE, + RA.COD_FISCALE, + RA.VAR_PERC_PTF, + VC.VAR_COMPLESSIVO_BF, + CASE + WHEN RA.VAR_PERC_PTF = VC.VAR_COMPLESSIVO_BF THEN 'OK' + ELSE 'KO' + END AS VAR_CORRETTO + INTO #VaRDiscordanti + FROM + C6MartPeriodico.RISCHIO_AGGREGATO AS RA + INNER JOIN VAR_CHECK AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE + WHERE + (RA.COD_AGGREG = 'COMPLESSIVO|BF') + ORDER BY + RA.RETE, + RA.COD_FISCALE + -- Posizioni in stato liquidato + SELECT + PB.RETE, + PB.COD_FISCALE, + ID_CONTRATTO + INTO #PosizioniStatoL + FROM + C6MartPeriodico.PATRIMONIO_BF AS PB + INNER JOIN #VaRDiscordanti AS VD + ON PB.RETE = VD.RETE + AND PB.COD_FISCALE = VD.COD_FISCALE + WHERE + PB.COD_STATO = 'L' + AND PB.CTV >= 0 + AND VD.VAR_CORRETTO = 'KO' + ORDER BY + PB.RETE, + PB.COD_FISCALE + -- Clienti senza data sottoscrizione + SELECT DISTINCT + PB.RETE, + C.COD_AGENTE, + PB.COD_FISCALE, + PB.ID_CONTRATTO + INTO #ClientiSenzaDataSott + FROM + C6MartPeriodico.vcontratti AS C + INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PB + ON C.Rete = PB.RETE + AND C.Cod_Fiscale = PB.COD_FISCALE + INNER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON PB.RETE = RA.RETE + AND PB.COD_FISCALE = RA.COD_FISCALE + WHERE + PB.DATA_SOTTOSCRIZIONE IS NULL + AND PB.TIPO_PRODOTTO = 'DT' + -- Clienti senza piramide modello + SELECT + Rete, + Cod_Agente, + Cod_Fiscale + INTO #ClientiSenzaPiramideModello + FROM + C6MartPeriodico.vcontratti as CONTRATTOSEI + inner join + C6MartPeriodico.contrattosei_metadati as M + on CONTRATTOSEI.chiaveclientepb = m.chiaveclientepb + WHERE + Data_FineAvanzato < getDate() + AND inviobenvenuto = 'N' + AND clientemigrato = 'S' + AND risorseNA = 'N' + AND DATEDIFF(d, Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND Cod_Fiscale NOT IN ( + SELECT + COD_FISCALE + FROM + C6MartPeriodico.PIRAMIDE_MOD) + --scarti simpb contrattoSintesi + SELECT codiceFiscale,DATA_PERF + INTO #ClientiSenzaContrattoSintesi + FROM C6STAGING.SPB_SCARTI SPB + JOIN + C6MartPeriodico.RP_vContrattiMigrati C6 + ON + SPB.CODICEFISCALE = C6.COD_FISCALE + WHERE pacchettoSSIS = 'SPB_CONTRSINTESI' + --scarti simpb mifid + SELECT codiceFiscale,DATA_PERF + INTO #ClientiSenzaProfiloMIFID + FROM C6STAGING.SPB_SCARTI SPB + JOIN + C6MartPeriodico.RP_vContrattiMigrati C6 + ON + SPB.CODICEFISCALE = C6.COD_FISCALE + WHERE pacchettoSSIS = 'SPB_MIFID' + DECLARE @testoMail VARCHAR(MAX) + DECLARE @rete CHAR(1) + DECLARE @codiceAgente VARCHAR(6) + DECLARE @codiceFiscale VARCHAR(25) + DECLARE @data DATETIME + DECLARE @ragione VARCHAR(100) + DECLARE @tipo VARCHAR(100) + DECLARE @indirizzo VARCHAR(100) + DECLARE @totale INT + DECLARE @codiceContratto VARCHAR(11) + DECLARE @varPercPtf DECIMAL(5, 2) + DECLARE @varComplessivoBf DECIMAL(5, 2) + SET @testoMail = '' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Tipo, + Totale + FROM + #EmailInviate + OPEN reader + FETCH NEXT FROM reader INTO @tipo, @totale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @tipo, @totale + END + SET @testoMail = @testoMail + '
E-mail inviate:
' + @tipo + '' + CAST(@totale AS VARCHAR) + '
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Data_Perf + FROM + #ReportGenerati + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + END + SELECT @totale = COUNT(*) FROM #ReportGenerati + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Report generati:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Data_Perf, + Ragione + FROM + #ReportNonGenerati + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data, @ragione + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data, @ragione + END + SELECT @totale = COUNT(*) FROM #ReportNonGenerati + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Report non generati:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '' + @ragione + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Indirizzo, + LEN(Indirizzo) AS LunghezzaIndirizzo + FROM + #IndirizziLunghi + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @indirizzo, @totale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @indirizzo, @totale + END + SELECT @totale = COUNT(*) FROM #IndirizziLunghi + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Indirizzi più lunghi di 36 caratteri:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + @indirizzo + '' + CAST(@totale AS VARCHAR) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + CODICEFISCALE, + CODICECONTRATTO + FROM #ProdNonInCat + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #ProdNonInCat + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con prodotti non a catalogo:
' + @rete + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_FISCALE, + VAR_PERC_PTF, + VAR_COMPLESSIVO_BF + FROM + #VaRDiscordanti + WHERE + VAR_CORRETTO = 'KO' + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @varPercPtf, @varComplessivoBf + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @varPercPtf, @varComplessivoBf + END + SELECT @totale = COUNT(*) FROM #VaRDiscordanti WHERE VAR_CORRETTO = 'KO' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con VaR discordante:
' + @rete + '' + @codiceFiscale + '' + CAST(@varPercPtf AS VARCHAR) + '' + CAST(@varComplessivoBf AS VARCHAR) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_FISCALE, + ID_CONTRATTO + FROM + #PosizioniStatoL + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #PosizioniStatoL + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con posizioni stato Liquidato:
' + @rete + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_AGENTE, + COD_FISCALE, + ID_CONTRATTO + FROM + #ClientiSenzaDataSott + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaDataSott + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza data sottoscrizione
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale + FROM + #ClientiSenzaPiramideModello + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaPiramideModello + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza piramide modello
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + codiceFiscale, + data_perf + FROM + #ClientiSenzaContrattoSintesi + OPEN reader + FETCH NEXT FROM reader INTO @codiceFiscale,@data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @codiceFiscale,@data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaContrattoSintesi + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza righe Contratto Sintesi
' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + codiceFiscale,data_perf + FROM + #ClientiSenzaProfiloMIFID + OPEN reader + FETCH NEXT FROM reader INTO @codiceFiscale,@data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @codiceFiscale,@data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaProfiloMIFID + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza righe profilo MIFID
' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader +--------------------------------------------------------------------- +--Email non inviate + --SET @testoMail = @testoMail + '

' + --DECLARE reader CURSOR LOCAL FORWARD_ONLY + --FOR + -- SELECT a.rete, a.cod_fiscale, a.cod_agente, + -- CASE Tipo + -- WHEN 'PERF' THEN 'perfezionamento' + -- WHEN '1_SOLL_NOASS' THEN '1° sollecito risorse non associate' + -- WHEN '2_SOLL_NOASS' THEN '2° sollecito risorse non associate' + -- WHEN '3_SOLL_NOASS' THEN '3° sollecito risorse non associate' + -- WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + -- WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + -- WHEN '1_SOLL_NOMIG' THEN '1° sollecito cliente non migrato' + -- WHEN '2_SOLL_NOMIG' THEN '2° sollecito cliente non migrato' + -- WHEN '3_SOLL_NOMIG' THEN '3° sollecito cliente non migrato' + -- WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + -- WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + -- --V aggiunta tipo mail profilo non attivo + -- WHEN '1_SOLL_NOPRO' THEN '1° sollecito profilo non attivo' + -- WHEN '2_SOLL_NOPRO' THEN '2° sollecito profilo non attivo' + -- WHEN '3_SOLL_NOPRO' THEN '3° sollecito profilo non attivo' + -- WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + -- WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + -- END AS Tipo + -- FROM C6MartPeriodico.Contrattosei a + -- inner join C6MartPeriodico.GESTIONE_EMAIL b + -- on + -- a.rete = b.rete + -- and + -- a.cod_fiscale = b.cod_fiscale + -- WHERE isnull(b.Inviata,'N')='N' + --OPEN reader + --FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceAgente, @tipo + --WHILE @@FETCH_STATUS = 0 + --BEGIN + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceAgente, @tipo + --END + --SELECT @totale = COUNT(*) FROM C6MartPeriodico.GESTIONE_EMAIL WHERE isnull(Inviata,'N')='N' + --SET @testoMail = @testoMail + '' + --SET @testoMail = @testoMail + '
Email non inviate:
' + @rete + '' + @codiceFiscale + '' + @codiceAgente + '' + @tipo + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + --CLOSE reader + --DEALLOCATE reader +--------------------------------------------------------------------- + SET @testoMail = @testoMail + '' + SELECT @testoMail + DROP TABLE #ReportGenerati + DROP TABLE #ReportNonGenerati + DROP TABLE #EmailInviate + DROP TABLE #IndirizziLunghi + DROP TABLE #PosizioniStatoL + DROP TABLE #ProdNonInCat + DROP TABLE #VaRDiscordanti + DROP TABLE #ClientiSenzaDataSott + DROP TABLE #ClientiSenzaPiramideModello + DROP TABLE #ClientiSenzaContrattoSintesi + DROP TABLE #ClientiSenzaProfiloMIFID +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql b/sql/storedTestbes/C6MartPeriodico_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql new file mode 100644 index 00000000..65c576b0 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql @@ -0,0 +1,84 @@ +-- ============================================= +-- Author: alessandro Tringali +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[RP_SRV_ESTRAZ_GIORNALIERA_CC] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_ESTRAZ_GIORNALIERA_CC', + GETDATE(), + 'Elaborazione giornaliera' + ) +--V Cancellazione delle tuple inserite nel giorno corrente, può accadere che la procedura viene +-- lanciata più di una volta, in quel caso inserirei righe doppie. +DELETE FROM C6MartPeriodico.ESTRAZ_GIORNALIERA_CC +WHERE DATEDIFF(dd,dataGenerazione,getDate()) = 0 +INSERT INTO C6MartPeriodico.ESTRAZ_GIORNALIERA_CC +SELECT +a.COD_FISCALE, +A.RETE, +A.CODICECONTRATTO, +DATAGENERAZIONE, +NUMERO_CC, +C.CTV_CC, +D.TOT_CTV, +D.TOT_CTV_NO_CC +FROM +[C6MartPeriodico].[RP_vContrattiPerGenerazioneReport] A, +C6MartPeriodico.GESTIONE_PDF_FTP B, +( + SELECT + COD_FISCALE, + RETE, + COD_CC AS NUMERO_CC, + SUM(SALDOCONTABILE) AS CTV_CC + FROM C6MartPeriodico.ANAG_CC + GROUP BY + COD_FISCALE, + RETE, + COD_CC + ) C, +( SELECT COD_FISCALE, RETE, + SUM(CTV) AS TOT_CTV, + SUM(CASE WHEN TIPO_PRODOTTO='CC' THEN 0 ELSE CTV END) AS TOT_CTV_NO_CC FROM C6MartPeriodico.PATRIMONIO_BF + GROUP BY COD_FISCALE, RETE +)D +WHERE +A.COD_FISCALE=B.CODICEFISCALE +AND A.RETE=B.RETE +AND A.COD_FISCALE=C.COD_FISCALE +AND A.RETE=C.RETE +AND A.COD_FISCALE=D.COD_FISCALE +AND A.RETE=D.RETE +ORDER BY 1,2,3,5 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'DELETE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_ESTRAZ_GIORNALIERA_CC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_ESTRAZ_GIORNALIERA_CC' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_ESTRAZ_GIORNALIERA_CC', + GETDATE(), + 'Elaborazione giornaliera' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_ST_ClientiPtfNonDiv.sql b/sql/storedTestbes/C6MartPeriodico_RP_ST_ClientiPtfNonDiv.sql new file mode 100644 index 00000000..f92ab13c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_ST_ClientiPtfNonDiv.sql @@ -0,0 +1,119 @@ +CREATE PROCEDURE [C6MartPeriodico].[RP_ST_ClientiPtfNonDiv] +AS +BEGIN +exec [dbo].[CreaTabellaBackUp] 'RP_ClientiPtfNonDiv','C6MartPeriodico' + -- Drop the #temp table if it exists + IF OBJECT_ID('tempdb..#temp') IS NOT NULL + DROP TABLE #temp; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_ClientiPtfNonDiv', + GETDATE(), + 'Elaborazione Trimestrale' + ); + DECLARE @appo_contratti_l INT; + SELECT @appo_contratti_l = ISNULL(COUNT(*), 0) FROM [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER]; + DECLARE @DataFineTrim VARCHAR(8); + SET @DataFineTrim = c6martperiodico.getTrimestre2(GETDATE(), 0); + DECLARE @DataClientiPtf VARCHAR(8); + select @DataClientiPtf = MAX(DTTrim) from [C6MartPeriodico].[RP_ClientiPtfNonDiv] + if(@DataFineTrim<>@DataClientiPtf or @appo_contratti_l = 0) + begin + truncate table [C6MartPeriodico].[RP_ClientiPtfNonDiv] + end + drop table if exists #temp + CREATE TABLE #temp ( + Rete VARCHAR(3), + COD_FISCALE VARCHAR(50), + Somma_credito [decimal](9, 4) NULL +); + IF (@appo_contratti_l = 0) + BEGIN + insert into #temp + SELECT Rete, COD_FISCALE AS Cod_Fiscale, 0.0000 AS Somma_credito + FROM C6StagingPeriodico.APPO_CONTRATTI + EXCEPT + SELECT rete, cod_fiscale, 0.0000 FROM C6MartPeriodico.PATRIMONIO_BF + UNION + SELECT rete, cod_fiscale, SUM(credito) AS Somma_credito + FROM C6MartPeriodico.PATRIMONIO_BF bf + INNER JOIN [C6StagingPeriodico].[RP_CatDivPtf] c ON bf.COD_PRODOTTO = c.CatalogueID + GROUP BY rete, cod_fiscale + HAVING SUM(credito) < 3.00; + END + ELSE + BEGIN + insert into #temp + SELECT rete, COD_FISCALE AS Cod_Fiscale, 0.0000 AS Somma_credito + FROM C6StagingPeriodico.APPO_CONTRATTI_LIMITER + EXCEPT + SELECT rete, cod_fiscale, 0.0000 FROM C6MartPeriodico.PATRIMONIO_BF + UNION + SELECT rete, cod_fiscale, SUM(credito) AS Somma_credito + FROM C6MartPeriodico.PATRIMONIO_BF bf + INNER JOIN [C6StagingPeriodico].[RP_CatDivPtf] c ON bf.COD_PRODOTTO = c.CatalogueID + GROUP BY rete, cod_fiscale + HAVING SUM(credito) < 3.00; + END; + --select * from [C6MartPeriodico].[RP_ClientiPtfNonDiv] + -- FerAcu 20250509 + --delete from [C6MartPeriodico].[RP_ClientiPtfNonDiv] where RETE+Chiave_Acn in (select RETE+COD_FISCALE from #temp ) + IF (@appo_contratti_l != 0) + Begin + delete from [C6MartPeriodico].[RP_ClientiPtfNonDiv] where RETE+Chiave_Acn in (select RETE+COD_FISCALE from C6StagingPeriodico.APPO_CONTRATTI_LIMITER ) + End + INSERT INTO [C6MartPeriodico].[RP_ClientiPtfNonDiv] + ([Rete] + ,[Chiave_Acn] + ,[Codfis] + ,[Codman] + ,[Dttrim] + ,[Credito] + ,[Flg_NonDiv]) + SELECT t.RETE, + t.Cod_Fiscale AS Chiave_ACN, + CASE WHEN LEN(t.COD_FISCALE) = 16 THEN t.Cod_Fiscale ELSE '' END AS Codfis, + a.COD_MANDATO AS Codman, + @DataFineTrim as Dttrim, + t.Somma_credito as Credito, + 'S' AS Flg_NonDiv + FROM #temp t + INNER JOIN C6StagingPeriodico.APPO_CONTRATTI a ON t.RETE = a.rete AND t.Cod_Fiscale = a.COD_FISCALE; +-- rimozione duplicati +drop table if exists #noDup +select distinct * +into #noDup +from [C6MartPeriodico].[RP_ClientiPtfNonDiv] +truncate table [C6MartPeriodico].[RP_ClientiPtfNonDiv] +insert into [C6MartPeriodico].[RP_ClientiPtfNonDiv] +select * from #noDup +-- fine rimozione duplicati +-- -- Utilizziamo il comando MERGE per sincronizzare i dati tra le due tabelle +--MERGE INTO [C6MartPeriodico].[RP_ClientiPtfNonDiv] AS dest +--USING #nuovatab AS src +--ON dest.rete = src.rete and dest.chiave_ACN= src.chiave_ACN and dest.dttrim=src.dttrim +--WHEN MATCHED THEN +-- UPDATE SET dest.credito = src.credito, dest.flg_NonDiv = src.flg_NonDiv, dest.AzioneMerge='UPDATE/NO VAR' +--WHEN NOT MATCHED BY TARGET THEN +-- INSERT (AzioneMerge,Rete, Chiave_ACN, Codfis, Codman, Dttrim, Credito, Flg_NonDiv) VALUES +-- ('INSERT',src.Rete, src.Chiave_ACN, src.Codfis, src.Codman, src.Dttrim, src.Credito, src.Flg_NonDiv); + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_ClientiPtfNonDiv' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_ClientiPtfNonDiv' + ); +END; \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_TCPTAB.sql b/sql/storedTestbes/C6MartPeriodico_RP_TCPTAB.sql new file mode 100644 index 00000000..630da81f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_TCPTAB.sql @@ -0,0 +1,56 @@ +CREATE procedure [C6MartPeriodico].[RP_TCPTAB] +AS +BEGIN +-- -- Log esecuzione +-- INSERT INTO LOG_ESECUZIONE +-- (Nome, Inizio, Nota) +-- VALUES ( +-- 'RP_CREA_POSITIONID_CONSULENZA', +-- GETDATE(), +-- 'Elaborazione Trimestrale' +-- ) +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, + CODSOTTOPRODOTTO, + position_id +INTO #TAB1 +FROM #tcptab +UPDATE #TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) + UPDATE #tcptab + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, + '', + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM #tcptab c + left join #TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null +drop table #TAB1 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_Tipologia_Campione.sql b/sql/storedTestbes/C6MartPeriodico_RP_Tipologia_Campione.sql new file mode 100644 index 00000000..2b1c1b0a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_Tipologia_Campione.sql @@ -0,0 +1,73 @@ +--Verifica tutti i clienti della APPO_CONTRATTI se hanno la nota fai +--per il singolo cliente [C6StagingPeriodico].[ClienteProdottiAssicurativiVita] 'F','BBNNLL48T52E730L' +CREATE procedure [C6MartPeriodico].[RP_Tipologia_Campione] +as +drop table if exists c6martperiodico.RP_TB_Tipologia_Campione +--per assicurativi +drop table if exists #assicurativi +SELECT distinct rete,cod_fiscale,count(*) as conta +into #assicurativi +from C6MartPeriodico.PATRIMONIO_BF bf +inner join C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT +on bf.COD_PRODOTTO = kat.CatalogueID +where kat.Alberatura in (7,8,9) and + bf.rete+bf.cod_fiscale in (select rete+COD_FISCALE from C6StagingPeriodico.APPO_CONTRATTI) +group by rete,COD_FISCALE + select a.rete,a.COD_FISCALE, + case when f.conta is null then 'NO' + else 'SI' end as ASSICURATIVI + into #assicurativiS + from C6stagingPeriodico.APPO_CONTRATTI a + left join #assicurativi f on a.rete+a.COD_FISCALE=f.RETE+f.COD_FISCALE +--fine assicurativi +--inizio colonna fai +drop table if exists #fai +SELECT distinct rete,COD_FISCALE, count(*) as Conta +into #fai +FROM [C6MartPeriodico].[PATRIMONIO_BF] +WHERE rtrim(ltrim(cod_interno)) + rtrim(ltrim(cod_sottoprodotto)) IN ( + 'IA3364S' + ,'ID8562S' + ,'PE1772S' + ,'IA3447S' + ,'IA3448S' + ) + and rete+COD_FISCALE in (select rete+COD_FISCALE from C6StagingPeriodico.APPO_CONTRATTI) + group by rete,COD_FISCALE + select a.rete,a.COD_FISCALE, + case when f.conta is null then 'NO' + else 'SI' end as FAI + into #faiS + from C6stagingPeriodico.APPO_CONTRATTI a left join #fai f on a.rete+a.COD_FISCALE=f.RETE+f.COD_FISCALE +--fine colonna fai + select t.rete, + t.codice_fiscale, + c.flag_stampa, + case when t.freq_diagnosi='' then 'NO' else 'SI' end as Diagnosi, + t.segmento as Segmento, + case when t.flgprof='N' then 'NO' else 'SI' end as Professionale, + case when t.ESG='N' then 'NO' else 'SI' end as ESG, + a.ASSICURATIVI, + f.FAI--, +-- t.rete+' '+t.codice_fiscale+' '+'Diagnosi='+Diagnosi+'Segmento='--+t.segmento+'Professionale='+t.flgprof+'ESG='+t.ESG+'ASSICURATIVI='+a.ASSICURATIVI+'FAI='+f.FAI + --as commento + into #tipologia_Campione--c6martperiodico.RP_TB_Tipologia_Campione +from C6MartPeriodico.tabellone t inner join C6MartPeriodico.TB_Campione c +on t.chiave_acn=c.rete+c.cod_fiscale +left join #assicurativiS a on t.chiave_acn=a.rete+a.COD_FISCALE +left join #FaiS f on t.chiave_acn=f.rete+f.COD_FISCALE +order by t.codice_fiscale +select +rete, +codice_fiscale, +flag_stampa, +Diagnosi, +Segmento, +Professionale, +ESG, +ASSICURATIVI, +FAI, +rete+' '+codice_fiscale+' '+'Diagnosi='+Diagnosi+' '+'Segmento='+segmento+' '+'Professionale='+Professionale+' '+'ESG='+ESG+' '+'ASSICURATIVI='+ASSICURATIVI+' '+'FAI='+FAI as commento +into C6MartPeriodico.RP_TB_Tipologia_Campione +from #tipologia_Campione +select * from C6MartPeriodico.RP_TB_Tipologia_Campione order by codice_fiscale \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_RP_Tipologia_Tabellone.sql b/sql/storedTestbes/C6MartPeriodico_RP_Tipologia_Tabellone.sql new file mode 100644 index 00000000..b22cfae2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_RP_Tipologia_Tabellone.sql @@ -0,0 +1,57 @@ +--Verifica tutti i clienti della APPO_CONTRATTI se hanno la nota fai +--per il singolo cliente [C6StagingPeriodico].[ClienteProdottiAssicurativiVita] 'F','BBNNLL48T52E730L' +CREATE procedure [C6MartPeriodico].[RP_Tipologia_Tabellone] +as +drop table if exists c6martperiodico.RP_TB_Tipologia_Tabellone +--per assicurativi +drop table if exists #assicurativi +SELECT distinct rete,cod_fiscale,count(*) as conta +into #assicurativi +from C6MartPeriodico.PATRIMONIO_BF bf +inner join C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT +on bf.COD_PRODOTTO = kat.CatalogueID +where kat.Alberatura in (7,8,9) and + bf.rete+bf.cod_fiscale in (select rete+COD_FISCALE from C6StagingPeriodico.APPO_CONTRATTI) +group by rete,COD_FISCALE + select a.rete,a.COD_FISCALE, + case when f.conta is null then 'NO' + else 'SI' end as ASSICURATIVI + into #assicurativiS + from C6stagingPeriodico.APPO_CONTRATTI a + left join #assicurativi f on a.rete+a.COD_FISCALE=f.RETE+f.COD_FISCALE +--fine assicurativi +--inizio colonna fai +drop table if exists #fai +SELECT distinct rete,COD_FISCALE, count(*) as Conta +into #fai +FROM [C6MartPeriodico].[PATRIMONIO_BF] +WHERE rtrim(ltrim(cod_interno)) + rtrim(ltrim(cod_sottoprodotto)) IN ( + 'IA3364S' + ,'ID8562S' + ,'PE1772S' + ,'IA3447S' + ,'IA3448S' + ) + and rete+COD_FISCALE in (select rete+COD_FISCALE from C6StagingPeriodico.APPO_CONTRATTI) + group by rete,COD_FISCALE + select a.rete,a.COD_FISCALE, + case when f.conta is null then 'NO' + else 'SI' end as FAI + into #faiS + from C6stagingPeriodico.APPO_CONTRATTI a left join #fai f on a.rete+a.COD_FISCALE=f.RETE+f.COD_FISCALE +--fine colonna fai + select t.rete, + t.codice_fiscale, + --c.flag_stampa, + case when t.freq_diagnosi='' then 'NO' else 'SI' end as Diagnosi, + t.segmento as Segmento, + case when t.flgprof='N' then 'NO' else 'SI' end as Professionale, + case when t.ESG='N' then 'NO' else 'SI' end as ESG, + a.ASSICURATIVI, + f.FAI + into c6martperiodico.RP_TB_Tipologia_Tabellone +from C6MartPeriodico.tabellone t +left join #assicurativiS a on t.chiave_acn=a.rete+a.COD_FISCALE +left join #FaiS f on t.chiave_acn=f.rete+f.COD_FISCALE +order by t.codice_fiscale +select * from C6MartPeriodico.RP_TB_Tipologia_Tabellone order by codice_fiscale \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_BonificaDati.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_BonificaDati.sql new file mode 100644 index 00000000..f5be2b2c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_BonificaDati.sql @@ -0,0 +1,1221 @@ +CREATE procedure [C6MartPeriodico].[SP_DQ_BonificaDati] +AS +BEGIN +-- select count(*) from C6MartPeriodico.contrattosei +-- BONIFICA CARATTERI ANOMALI +update c6martperiodico.contrattosei +set indirizzo = 'VIA CONTRA'' BARONA, 52' +where rete = 'F' +and cod_fiscale = 'CRCMHL70M62I531H' +and indirizzo ='VIA CONTRÀ BARONA, 52' +update c6martperiodico.anag_clienti +set indirizzo = 'VIA CONTRA'' BARONA, 52' +where rete = 'F' +and cod_fiscale = 'CRCMHL70M62I531H' +and indirizzo ='VIA CONTRÀ BARONA, 52' +update c6martperiodico.contrattosei +set indirizzo = 'STRADA MONTA'' DA LANZA 48' +where rete = 'S' +and cod_fiscale = 'VLIPLA63H56L741Q' +and indirizzo ='STRADA MONTÀ DA LANZA 48' +update c6martperiodico.contrattosei set indirizzo ='VIA FRANGIPANE, TR.2, N.6' where cod_fiscale ='BRGGNN32A02H224F' and INDIRIZZO= 'VIA FRANGIPANE, TR.2^, N.6' +update c6martperiodico.contrattosei set indirizzo ='VIA POSTIERLA N 31/C' where cod_fiscale ='CCCRNI39T54I381U' and INDIRIZZO= 'VIA POSTIERLA N¢ 31/C' +update c6martperiodico.contrattosei set indirizzo ='VIA DEGLI OPERAI N 25' where cod_fiscale ='DTNNZR56M23D653T' and INDIRIZZO= 'VIA DEGLI OPERAI N¢ 25' +update c6martperiodico.contrattosei set indirizzo ='VIA F.SICILIANI N 1' where cod_fiscale ='FRRTDR64M26A638Q' and INDIRIZZO= 'VIA F.SICILIANI N¢ 1' +update c6martperiodico.contrattosei set Citta ='VALLA'' DI RIESE PIO X' where cod_fiscale ='NDRTZN81A03C111N' and Citta= 'VALLA'' DI RIESE PIO X¢' +update c6martperiodico.contrattosei set indirizzo ='VIA A.MOTTA N 61' where cod_fiscale ='TRRCRL47S28L667C' and INDIRIZZO= 'VIA A.MOTTA N¢ 61' +update c6martperiodico.contrattosei set indirizzo ='VIA RIOMAGGIORE N 1' where cod_fiscale ='CRPDNC37C69L689V' and INDIRIZZO= 'VIA RIOMAGGIORE N¢1' +update c6martperiodico.contrattosei set indirizzo ='VIA SANTI N 17' where cod_fiscale ='RNALRT64R05G337D' and INDIRIZZO= 'VIA SANTI N¢ 17' +update c6martperiodico.contrattosei set indirizzo ='VIA M.DELLA LIBERT'' 13' where cod_fiscale ='GLPMRA71A16G856Z' and INDIRIZZO= 'VIA M.DELLA LIBERTÀ 13' +update c6martperiodico.contrattosei set indirizzo ='LOCALITA'' MONETA' where cod_fiscale ='VLLCNZ58P47L219Z' and INDIRIZZO= 'LOCALITÀ MONETA' +update c6martperiodico.contrattosei set Citta ='FORLI''' where cod_fiscale ='GHTDNC38S29D704K' and Citta= 'FORLÌ' +update c6martperiodico.contrattosei +set presso = 'KOSTORIS e ASSOC.-STUDIO LEGALE' +where rete = 'F' +and cod_fiscale = 'KSTLRT60R14L424G' +and presso = 'KOSTORIS & ASSOC.-STUDIO LEGALE' +update c6martperiodico.contrattosei +set indirizzo = 'VIA VINCENZO CIARDO N. 3' +where rete = 'S' +and cod_fiscale = 'CNGMTR43S59E506C' +and indirizzo = 'VIA VINCENZO CIARDO N¢ 3' +update c6martperiodico.contrattosei +set indirizzo = 'VIA VINCENZO CIARDO N. 3' +where rete = 'S' +and cod_fiscale = 'CNGRSO46T44E506U' +and indirizzo = 'VIA VINCENZO CIARDO N¢ 3' +update c6martperiodico.contrattosei +set indirizzo = 'VIA VINCENZO BELLINI N.6' +where rete = 'S' +and cod_fiscale = 'CRBMLD59M69C351S' +and indirizzo = 'VIA VINCENZO BELLINI N¢6' +update c6martperiodico.contrattosei +set indirizzo = 'VIA SS 18 I TR. N. 11' +where rete = 'S' +and cod_fiscale = 'LZZCRC51P41B666S' +and indirizzo = 'VIA SS 18 I TR. N¢ 11' +update c6martperiodico.contrattosei +set indirizzo = 'VIA DELL''IMPRUNETA N. 26' +where rete = 'S' +and cod_fiscale = 'RMNMRA69D13C351J' +and indirizzo = 'VIA DELL''IMPRUNETA N¢ 26' +update c6martperiodico.contrattosei +set indirizzo = 'LOCALITA'' MALTRAVERSO, 13' +where rete = 'F' +and cod_fiscale = 'PRSRNZ59B21C847E' +and indirizzo = 'LOCALITÀ MALTRAVERSO, 13' +update c6martperiodico.contrattosei +set citta = 'CITTA'' SANTANGELO' +where rete = 'S' +and cod_fiscale = 'DFRNTN56D20A120O' +and citta = 'CITTÀ SANTANGELO' +update c6martperiodico.contrattosei +set indirizzo = 'VIA MICHELE PIETRAVALLE 85 R' +where rete = 'F' +and cod_fiscale = 'DLLGST40D14B963Q' +and indirizzo = 'VIA MICHELE PIETRAVALLE 85 ÇR' +update c6martperiodico.contrattosei +set indirizzo = 'VIA MICHELE PIETRAVALLE 85 B' +where rete = 'F' +and cod_fiscale = 'NZZSRA43S52F839U' +and indirizzo = 'VIA MICHELE PIETRAVALLE 85 ÇB' +update c6martperiodico.contrattosei +set indirizzo = 'VIA TRENTO 14 - 27 SC D' +where rete = 'S' +and cod_fiscale = 'BOXFNC95S22D969G' +and indirizzo = 'VIA TRENTO 14 Ç 27 SC D' +update c6martperiodico.contrattosei +set indirizzo = 'VCLO POME'' 14' +where rete = 'F' +and cod_fiscale = 'PRNNRC48D09E801B' +and indirizzo = 'VCLO POMÈ 14' +update c6martperiodico.contrattosei +set indirizzo = 'LOC.MASARE'' COL BADIOT' +where rete = 'S' +and cod_fiscale = 'CRDNZE48S13E490Z' +and indirizzo = 'LOC.MASARÈ COL BADIOT' +update c6martperiodico.contrattosei +set indirizzo = 'VIA ROMBO'' 37' +where rete = 'F' +and cod_fiscale = 'STRGLG70H15H355F' +and indirizzo = 'VIA ROMBÒ 37' +--inizio intervento: 17/07/2015 LMaggi modifica carattere anomalo presente nel campo indirizzo e del campo 'presso' della tb c6martperiodico.contrattosei +update c6martperiodico.contrattosei +set indirizzo = 'VIA BEATO ANGELICO N. 4' +where rete = 'F' +and cod_fiscale = 'CLLPLA53R43G148Z' +and indirizzo = 'VIA BEATO ANGELICO N¢ 4' +update c6martperiodico.contrattosei +set indirizzo = 'LOCAL.FORNI N. 2' +where rete = 'F' +and cod_fiscale = 'DNSVTR45B04A940D' +and indirizzo = 'LOCAL.FORNI N¢ 2' +update c6martperiodico.contrattosei +set indirizzo = 'VIA DEL CORMORANO N. 21' +where rete = 'F' +and cod_fiscale = 'SVVSRA75L43L117F' +and indirizzo = 'VIA DEL CORMORANO N¢ 21' +update c6martperiodico.contrattosei +set indirizzo = 'BORGO RICCIO DA PARMA N.50' +where rete = 'S' +and cod_fiscale = 'MNTSFN57B10G337O' +and indirizzo = 'BORGO RICCIO DA PARMA N¢50' +update c6martperiodico.contrattosei +set indirizzo = 'VIA LEONE IV N. 38' +where rete = 'S' +and cod_fiscale = 'RMNBMN37L23C351J' +and indirizzo = 'VIA LEONE IV N¢ 38' +update c6martperiodico.contrattosei +set indirizzo = 'VIA MARCHETTI N. 27' +where rete = 'S' +and cod_fiscale = 'SLRRLF40D17L689Q' +and indirizzo = 'VIA MARCHETTI N¢ 27' +update c6martperiodico.contrattosei +set indirizzo = 'VIA ROCCA N. 8' +where rete = 'S' +and cod_fiscale = 'ZMBRNG35C70H682I' +and indirizzo = 'VIA ROCCA N¢ 8' +update c6martperiodico.contrattosei +set indirizzo = 'LOCALITA'' PERA, 1' +where rete = 'F' +and cod_fiscale = 'MCHFST58P24C372Z' +and indirizzo = 'LOCALITÀ PERA, 1' +update c6martperiodico.contrattosei +set indirizzo = 'LOCALITA'' RONCO BALDELLO 1' +where rete = 'F' +and cod_fiscale = 'SLNRRT61A25A794Y' +and indirizzo = 'LOCALITÀ RONCO BALDELLO 1' +update c6martperiodico.contrattosei +set presso = 'STEFANIA BLE''' +where rete = 'S' +and cod_fiscale = 'DDSCNN57S54Z110A' +and presso = 'STEFANIA BLÈ' +--9/2/2016 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set indirizzo = 'VIA ARCUENTU 9 ESP.2' +where rete = 'F' +and cod_fiscale = 'MNNNMR69M46L093G' +and indirizzo = 'VIA ARCUENTU 9 ESP.2 ¢' +update c6martperiodico.contrattosei +set indirizzo = 'PZZA XVIII MAGGIO 1944 N. 8' +where rete = 'S' +and cod_fiscale = 'SPSRFL60H27F839X' +and indirizzo = 'PZZA XVIII MAGGIO 1944 N¢ 8' +update c6martperiodico.contrattosei +set indirizzo = 'V.GOZZANO 1ma TRAVERSA,3-S.TERENZO-' +where rete = 'S' +and cod_fiscale = 'LNDMSM57S30E463S' +and indirizzo = 'V.GOZZANO 1ª TRAVERSA,3-S.TERENZO-' +update c6martperiodico.contrattosei +set indirizzo = 'VIA BERSO'' RIO, 12' +where rete = 'S' +and cod_fiscale = 'PRTFBA61H20A269D' +and indirizzo = 'VIA BERSÒ RIO, 12' +--27/4/2016 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set indirizzo = 'VIA S.LUCIA 64 M' +where rete = 'S' +and cod_fiscale = 'LGRMTN50P67Z110T' +and indirizzo = 'VIA S:LUCIA 64 M' +update c6martperiodico.anag_clienti +set cognome = 'CONDRO''' +where rete = 'S' +and cod_fiscale = 'CNDLNU88T59I138R' +and cognome = 'CONDRÒ' + --16/10/2017 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update +c6martperiodico.anag_clienti +set cognome = 'UNITA'' PASTORALE COMUNIT' +where 1=1 +and rete = 'F' +and cod_fiscale = '90137840329' +and cognome = 'UNITA'' PASTORALE "COMUNIT' +--11/07/2016 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update C6MartPeriodico.ContrattoSEI + set indirizzo = 'VIA MORICI N. 4/A' + where cod_fiscale = 'MZZDNL76T68G273F' + and indirizzo = 'VIA MORICI N¢ 4/A' +update C6MartPeriodico.ContrattoSEI + set indirizzo = 'VIA IV NOVEMBRE N. 22' + where cod_fiscale = 'BRRNGL44L52C145G' + and indirizzo = 'VIA IV NOVEMBRE N¢ 22' +update C6MartPeriodico.ContrattoSEI + set indirizzo = 'VIA IV NOVEMBRE N. 22' + where cod_fiscale = 'FRRPLA40L09B034B' + and indirizzo = 'VIA IV NOVEMBRE N¢ 22' +update C6MartPeriodico.ContrattoSEI + set indirizzo = 'VIA CIACCIO MONTALTO N.3' + where cod_fiscale = 'LNNNNL64A66I153M' + and indirizzo = 'VIA CIACCIO MONTALTO N¢3' +update C6MartPeriodico.ContrattoSEI + set indirizzo = 'VIA CARLO CARRA'' 4 INT 8' + where cod_fiscale = 'MNNLNE93E50G702X' + and indirizzo = 'VIA CARLO CARRÀ 4 INT 8' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'LOCALITA'' SETTA, 120' +where cod_fiscale = 'BRSFNC78R57G062Z' +and indirizzo = 'LOCALITÀ SETTA, 120' +--20/10/2016 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA I MAGGIO 40' +where cod_fiscale = 'LMNTNQ47L46Z216U' +and indirizzo = 'VIA I¢ MAGGIO 40' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA A/POD.SCOPETINO N.295' +where cod_fiscale = 'MRLPRZ50C65D969T' +and indirizzo = 'VIA A/POD.SCOPETINO N¢ 295' +--27/10/2016 - segnalazione dq ID 3 +update C6MartPeriodico.ContrattoSEI +set cap = '10044' +where cod_fiscale = 'BNCGRG66C22C344P' +------------------------------------------------------------ 11/04/2017 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'SDA PROVINCIALE 484 SUD N. 8' +where cod_fiscale = 'RFULSN65S67L780B' +and indirizzo = 'SDA PROVINCIALE 484 SUD N¢ 8' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA F.GRAMIZZI N. 24' +where cod_fiscale = 'CGLGRG45M31H720T' +and indirizzo = 'VIA F.GRAMIZZI N¢ 24' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA F.GRAMIZZI N. 24' +where cod_fiscale = 'CHSCTT53L62C435N' +and indirizzo = 'VIA F.GRAMIZZI N¢ 24' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA G.BOCCACCIO N. 10' +where cod_fiscale = 'CHTGPL50P11H720M' +and indirizzo = 'VIA G.BOCCACCIO N¢ 10' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'PIAZZA DUOMO N. 8' +where cod_fiscale = 'CNLRTI80E62G535F' +and indirizzo = 'PIAZZA DUOMO N¢8' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'SDA VERDI GIUSEPPE N. 13' +where cod_fiscale = 'CTTLCU72T13I153F' +and indirizzo = 'SDA VERDI GIUSEPPE N¢ 13' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA MARZABOTTO N. 5' +where cod_fiscale = 'DDOMNL53H67Z614O' +and indirizzo = 'VIA MARZABOTTO N¢ 5' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA CHOPIN N. 416' +where cod_fiscale = 'FVAGPL61A16G337R' +and indirizzo = 'VIA CHOPIN N¢ 416' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA URBANO III N. 3' +where cod_fiscale = 'GLNBBR70M52F205C' +and indirizzo = 'VIA URBANO III N¢3' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA URBANO III N. 3' +where cod_fiscale = 'GLNBRC74H67A783U' +and indirizzo = 'VIA URBANO III N¢ 3' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'BARGONE GORZANO N. 63' +where cod_fiscale = 'MRAGRL23A27Z133U' +and indirizzo = 'BARGONE GORZANO N¢63' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'CONTRA'' XX SETTEMBRE 42' +where cod_fiscale = 'DLSCST68S41L551B' +and indirizzo = 'CONTRÀ XX SETTEMBRE 42' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA FRA'' GIOV.DA SCHIO 1' +where cod_fiscale = 'FSLLSE90T49L781C' +and indirizzo = 'VIA FRÀ GIOV.DA SCHIO 1' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA FRA'' GIOV.DA SCHIO 1' +where cod_fiscale = 'FSLNCL88A26L781P' +and indirizzo = 'VIA FRÀ GIOV.DA SCHIO 1' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA MAZZE'' 32 B SCALA G' +where cod_fiscale = 'RRGVEA74C54L219S' +and indirizzo = 'VIA MAZZÈ 32 B SCALA G' +------------------------------------------------------------ 10/07/2017 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA I. NIEVO N. 5' +where cod_fiscale = 'BRGLSN69H07C933D' +and indirizzo = 'VIA I. NIEVO N¢5' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA PETRARCA N. 4' +where cod_fiscale = 'CQTMFR72H06F205V' +and indirizzo = 'VIA PETRARCA N¢ 4' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'C.SO UMBERTO I N. 53' +where cod_fiscale = 'RPGCRL84R61E058V' +and indirizzo = 'C.SO UMBERTO I N¢ 53' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA DEL CAFFE'' 12' +where cod_fiscale = 'GGGNDR78B01A271G' +and indirizzo = 'VIA DEL CAFFÈ 12' +------------------------------------------------------------ 16/10/2017 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set indirizzo = 'VIA GOBBETTI N.5' +where rete = 'S' +and cod_fiscale = 'CSTMRN67R57B034G' +and indirizzo = 'VIA GOBBETTI N¢5' +update c6martperiodico.contrattosei +set indirizzo = 'VIA BASSA 28' +where rete = 'F' +and cod_fiscale = 'SCTMND45M58L979X' +and indirizzo = 'VIA BASSA ¨¨ 28' +--------------------------------- 15/01/2018 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set indirizzo = 'VIA CASSIA N.571 PAL A INT 5' +where rete = 'F' +and cod_fiscale = 'BLVLNE53T65A472W' +--and indirizzo = 'VIA CASSIA N°571 PAL A INT 5' +update c6martperiodico.contrattosei +set indirizzo = 'VIA DEL MONTEBELLO N. 74' +where rete = 'F' +and cod_fiscale = 'PCHBNL58R66G478P' +and indirizzo = 'VIA DEL MONTEBELLO N¢ 74' +update c6martperiodico.contrattosei +set indirizzo = 'VIA GRAMSCI N.30' +where rete = 'S' +and cod_fiscale = 'DMLBTN60M44B034H' +and indirizzo = 'VIA GRAMSCI N¢30' +update c6martperiodico.contrattosei +set indirizzo = 'LOCALITA'' MONTEMAZZANO 15/A' +where rete = 'F' +and cod_fiscale = 'GSPLSN64A26B509O' +and indirizzo = 'LOCALITÀ MONTEMAZZANO 15/A' +update c6martperiodico.anag_clienti +set indirizzo = 'LOCALITA'' MONTEMAZZANO 15/A' +where rete = 'F' +and cod_fiscale = 'GSPLSN64A26B509O' +and indirizzo = 'LOCALITÀ MONTEMAZZANO 15/A' +update a +set indirizzo = 'LOCALITA'' CA'' GRAMIGNA 64/A' +from c6martperiodico.contrattosei a +where rete = 'S' +and cod_fiscale = 'BSCLVR53C20A740D' +and indirizzo ='LOCALITÀ CA'' GRAMIGNA 64/A' +update a +set indirizzo = 'LOCALITA'' CA'' GRAMIGNA 64/A' +from c6martperiodico.anag_clienti a +where rete = 'S' +and cod_fiscale = 'BSCLVR53C20A740D' +and indirizzo ='LOCALITÀ CA'' GRAMIGNA 64/A' +update c6martperiodico.contrattosei +set indirizzo = 'VIA LIBERTA'' I TRAV A DESTRA 7' +where rete = 'S' +and cod_fiscale = 'PLMRFL52A01G902R' +and indirizzo ='VIA LIBERTÀ I TRAV A DESTRA 7' +--------------------------------- 23/04/2018 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set indirizzo = 'LOCALITA'' RUBBIOLI, 13' +where rete = 'F' +and cod_fiscale = 'GGLTRS35L52F780X' +update c6martperiodico.contrattosei +set indirizzo = 'VIA I MAGGIO 15' +where rete = 'F' +and cod_fiscale = 'TCCRTT47M66F634C' +update c6martperiodico.contrattosei +set email = 'borracelli.gianni@linkwave.eu' +where rete = 'F' +and cod_fiscale = 'BRRGNN70M25E202Y' +update c6martperiodico.contrattosei +set indirizzo = 'CORSO SPATUZZI N.146' +where rete = 'S' +and cod_fiscale = 'MRNSMN85A52C034Y' +update c6martperiodico.contrattosei +set indirizzo = 'VIA CADUTI PER LA LIBERTA'' 108 I2' +where rete = 'S' +and cod_fiscale = 'PNOCLD69A56C573G' +--------------------------------- 13/07/2018 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update a set indirizzo = 'VIA GRAMSCI N. 30' + from c6martperiodico.contrattosei a +where rete = 's' +and cod_fiscale = 'CRBCLN93D69B034J' +update a set indirizzo = 'VIA D'' AZEGLIO N. 12' + from c6martperiodico.contrattosei a +where rete = 's' +and cod_fiscale = 'MLSSLV81P43B034C' +update a set indirizzo = 'FRAZ.CASTELLINA S.PIETRO N. 14 A' + from c6martperiodico.contrattosei a +where rete = 's' +and cod_fiscale = 'SDLRRT64D08D611X' +update a set cognome = 'BORSO''' + from c6martperiodico.anag_clienti a +where rete = 's' +and cod_fiscale = 'BRSGDU38M17E329R' +--------------------------------------------------------------------------- +--------------------------------- 16/10/2018 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update a set indirizzo = 'VIA CAUDINA I TRATTO 117' + from c6martperiodico.contrattosei a +where rete = 'F' +and cod_fiscale = 'BRNVCN73A01E791X' +update a set indirizzo = 'VIA SANT''ALESSANDRO N.72' + from c6martperiodico.contrattosei a +where rete = 'S' +and cod_fiscale = 'PSSFVN61B43Z614I' +--------------------------------------------------------------------------- +--------------------------------- 21/01/2019 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update a set indirizzo = 'VIA MARTIRI DELLA LIBERTA'' 2/E' + from c6martperiodico.contrattosei a +where rete = 'F' +and cod_fiscale = 'BLDGNN45P13C573H' +--------------------------------------------------------------------------- +--------------------------------- 17/04/2019 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update a set indirizzo = 'VIA PUCCINI N.27' + from c6martperiodico.contrattosei a +where rete = 'S' +and cod_fiscale = 'CTTGZL43P45B293C' +update a set indirizzo = 'VIA PUCCINI N.27' + from c6martperiodico.contrattosei a +where rete = 'S' +and cod_fiscale = 'PZZCNZ71S67B293R' +update a set indirizzo = 'VIA P.GOBETTI N. 29' + from c6martperiodico.contrattosei a +where rete = 'S' +and cod_fiscale = 'RMNMNC70A69B034D' +update a set indirizzo = 'CONTRA'' MURE SAN ROCCO 16' + from c6martperiodico.contrattosei a +where rete = 'S' +and cod_fiscale = 'DNOTRS37E53L840Q' +--------------------------------- 12/07/2019 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update a set indirizzo = 'VIA G.BOCCACCIO N. 10' + from c6martperiodico.contrattosei a +where rete = 'S' +and cod_fiscale = 'SDLNGL53A44C904Q' +update a set indirizzo = 'VIA G.BOCCACCIO N. 10' +from c6martperiodico.anag_clienti a +where rete = 'S' +and cod_fiscale = 'SDLNGL53A44C904Q' +update a set indirizzo = 'LOCALITA'' OLMO, 441/A' + from c6martperiodico.contrattosei a +where rete = 'S' +and cod_fiscale = 'MTTMND43T44I991H' +update a set indirizzo = 'LOCALITA'' OLMO, 441/A' +from c6martperiodico.anag_clienti a +where rete = 'S' +and cod_fiscale = 'MTTMND43T44I991H' +update a set indirizzo = 'CORSO CIRIE'' 16BIS' + from c6martperiodico.contrattosei a +where rete = 'S' +and cod_fiscale = 'GBTBRN42T23L750Q' +update a set indirizzo = 'CORSO CIRIE'' 16BIS' +from c6martperiodico.anag_clienti a +where rete = 'S' +and cod_fiscale = 'GBTBRN42T23L750Q' +update a set nome = 'NICCOLO''' +from c6martperiodico.anag_clienti a +where rete = 'F' +and cod_fiscale = 'CSTNCL90M02D612E' +---------------------------------------------------------------------------------------------------------------------- +--inizio intervento FCianfa 27/07/2015 +update c6martperiodico.contrattosei +set indirizzo ='VIA CASEVECCHIE N 26' +where rete = 'F' +and cod_fiscale ='NNNMRZ60P16D653G' +and INDIRIZZO= 'VIA CASEVECCHIE N¦ 26' +--fine FCianfa +--inizio intervento: 05/02/2015 FCianfa modifica carattere anomalo presente nel campo cognome della tb c6martperiodico.anag_clienti +update c6martperiodico.anag_clienti +set cognome = 'S.A.P.I. SOCIETA'' AMM.NE' +where rete = 'S' +and cod_fiscale = '01028041000' +and cognome = 'S.A.P.I. SOCIETÀ AMM.NE' +--fine intervento: 05/02/2015 FCianfa modifica carattere anomalo presente nel campo cognome della tb c6martperiodico.anag_clienti +-- BONIFICA INDIRIZZI EMAIL FORMALMENTE ERRATI +update c6martperiodico.contrattosei +set email = 'pciprandi@tiscali.it' +where rete = 'F' +and cod_fiscale = 'CPRPLA44L30H373S' +and email = 'pciprandi,@tiscali.it' +--20/10/2016 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set email = 'n.capezzuoli@guicciardini.magni.it' +where rete = 'F' +and cod_fiscale = 'DNTNRN68L64A881H' +and email = 'n.capezzuoli°@guicciardini.magni.it' +--12/04/2017 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set email = NULL +where rete = 'F' +and cod_fiscale = 'PLCDNL47L12F205Y' +and email = 'poloicante 81 @' +--10/07/2017 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set email = 'melzi.maria5@gmail.com' +where rete = 'F' +and cod_fiscale = 'MLZMRA40H55B423F' +and email = 'melzi maria 5@gmail.com' +update c6martperiodico.contrattosei +set email = 'Pirretti.francesco@libero.it' +where rete = 'F' +and cod_fiscale = 'PRRFNC64P26F119R' +and email = 'Pirretti.francesco @libero.it' +--16/10/2017 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set email = 'tresoldiluigia@gmail.com' +where rete = 'S' +and cod_fiscale = 'TRSLGU44E55B618J' +and email = 'tresoldiluigia@@gmail.com' +update c6martperiodico.contrattosei +set indirizzo ='VIA GALEAZZO ALESSI 45' +where rete = 'F' +and cod_fiscale ='CPCGPP60H24G478D' +update c6martperiodico.contrattosei +set indirizzo ='SAL ARENELLA 13 A' +where rete = 'F' +and cod_fiscale ='MLTPLA79L71F839R' +update c6martperiodico.contrattosei +set indirizzo ='VLE DEI ROMAGNOLI 231' +where rete = 'S' +and cod_fiscale ='DCMDRN56E28H501Q' +--inizio intervento: 05/02/2015 FCianfa modifica carattere anomalo presente nel campo cognome della tb c6martperiodico.anag_clienti +update c6martperiodico.anag_clienti +set indirizzo = 'VIA GALEAZZO ALESSI 45' +where rete = 'F' +and cod_fiscale ='CPCGPP60H24G478D' +update c6martperiodico.anag_clienti +set indirizzo = 'SAL ARENELLA 13 A' +where rete = 'F' +and cod_fiscale ='MLTPLA79L71F839R' +update c6martperiodico.anag_clienti +set indirizzo = 'VLE DEI ROMAGNOLI 231' +where rete = 'S' +and cod_fiscale ='DCMDRN56E28H501Q' +--Bonifica doppi apici sul campo cod aggregato (il problema è causato dal batch di caricamento rischio_prometeia per i clienti +--che hanno un nome progetto nell'area investimento che contiene il carattere doppio apice " +--(bonifica predisposta per la trimestrale di dicembre 2015 in attesa di individuazione anomalia software) +--segnalazione dq id 23 del 26/1/2016 +update C6MartPeriodico.RISCHIO_AGGREGATO +set COD_AGGREG = replace(replace(rischio_prod.COD_AGGREG, '"', ''),'\','"') +from +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +left join C6MartPeriodico.PATRIMONIO_BF PATRBF +on PATRBF.RETE= RISCHIO_PROD.rete +AND PATRBF.COD_FISCALE= RISCHIO_PROD.cod_fiscale +where + RISCHIO_PROD.COD_AGGREG like '"%' +-------------------------------------------------------- +--update del 20201014 +--select * from +update +c6martperiodico.contrattosei +set indirizzo='LOCALITA'' MAGLIONI 6' +where cod_fiscale='DLLMGR56R59D161Y' and rete='S' +--select * from +update +c6martperiodico.anag_clienti +set indirizzo='LOCALITA'' MAGLIONI 6' +where cod_fiscale='DLLMGR56R59D161Y' and rete='S' +--select * from +update +c6martperiodico.contrattosei +set indirizzo='VIA GARRE'' 52' +where cod_fiscale='RMRPLB70P24D969A' and rete='F' +--select * from +update +c6martperiodico.anag_clienti +set indirizzo='VIA GARRE'' 52' +where cod_fiscale='RMRPLB70P24D969A' and rete='F' +--select * from +update +c6martperiodico.contrattosei +set indirizzo='VIA ANTONIO STARRABBA DI RUDINI'' 22A' +where cod_fiscale='FNSSFN74L29E958X' and rete='F' +--select * from +update +c6martperiodico.anag_clienti +set indirizzo='VIA ANTONIO STARRABBA DI RUDINI'' 22A' +where cod_fiscale='FNSSFN74L29E958X' and rete='F' +update +c6martperiodico.contrattosei +set email='ocanfora@bancafideuram.it' +where cod_fiscale='CNFTTV59R25A794J' and rete='F' +--select * from +update +c6martperiodico.anag_clienti +set e_mail='ocanfora@bancafideuram.it' +where cod_fiscale='CNFTTV59R25A794J' and rete='F' +--select * from +update +c6martperiodico.contrattosei +set email='fabrizio.paolone@gmail.com' +where cod_fiscale='PLNFRZ66L23L103U' and rete='F' +--select * from +update +c6martperiodico.anag_clienti +set e_mail='fabrizio.paolone@gmail.com',tel_recapito='039 0861329395' +where cod_fiscale='PLNFRZ66L23L103U' and rete='F' +--aggiunte 14/01/2021 +update c6martperiodico.contrattosei +set email = 'torti.franco@alice.it' +where rete = 'F' +and cod_fiscale = 'TRTFNC31C24D969R' +update c6martperiodico.contrattosei +set email = 'maria.delcarratore@icloud.com' +where rete = 'F' +and cod_fiscale = 'DLCMRA43R43B950Y' +update c6martperiodico.contrattosei +set email = 'INFO@LABARKITETTURA.IT' +where rete = 'S' +and cod_fiscale = 'CTTLRI72H61D286I' +update c6martperiodico.contrattosei +set email = null +where rete = 'S' +and cod_fiscale = 'RCCLCU60E26H501I' +update c6martperiodico.contrattosei +set email = 'GIANFRANCO_BLASI@FASTWEBNET.IT' +where rete = 'S' +and cod_fiscale = 'BLSTMS84D08H501R' +update c6martperiodico.contrattosei +set email = 'PATRIZIAGAGLIANONE@VIRGILIO.IT' +where rete = 'S' +and cod_fiscale = 'GGLPRZ61D45E655U' +update c6martperiodico.contrattosei +set email = 'MARCO@MANTECO.COM' +where rete = 'S' +and cod_fiscale = 'MNTMRC74M26G702V' +update c6martperiodico.contrattosei +set email = 'NESSUNA@BANCASARA.IT' +where rete = 'S' +and cod_fiscale = 'RBBPLA49A41B828O' +update c6martperiodico.contrattosei +set email = 'mattiatiraboschi@libero.it' +where rete = 'S' +and cod_fiscale = 'TRBMTT32R21G441K' +update c6martperiodico.contrattosei +set email = 'colombogiulia58.@alice.it' +where rete = 'F' +and cod_fiscale = 'CLMGGB58L58H264C' +update c6martperiodico.contrattosei +set email = 'lorenaberverini@alice.it' +where rete = 'F' +and cod_fiscale = 'MNRFNC52T22E897V' +--fix inserite il 15/01/2021 +update c6martperiodico.contrattosei +set email = 'luca.bocchiardo@tin.it' +where cod_fiscale = 'BCCLCU70A18D969C' and rete = 'F' +update c6martperiodico.anag_clienti +set tel_recapito = '0390105764663' , e_mail = 'luca.bocchiardo@tin.it' +where cod_fiscale = 'BCCLCU70A18D969C' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'massimopietro.chellini@umbra.it' +where cod_fiscale = 'BRGMNT39A61H501W' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'bortolan1@hotmail.it' +where cod_fiscale = 'BRTNDR66D17L736E' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'prilla9@inwind.it' +where cod_fiscale = 'BZZPSC49P59H501O' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'r.accarino@agtroma.it' +where cod_fiscale = 'CCRRRT71E06H501R' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'avv.caggianomarco@gmail.com' +where cod_fiscale = 'CGGMRC59D25H703T' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'tchey@email.it' +where cod_fiscale = 'CHYTZN58C48D742N' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'claudio@novafides.com' +where cod_fiscale = 'CLBCLD66E04G999R' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'colombogiulia58@alice.it' +where cod_fiscale = 'CLMGGB58L58H264C' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'matteo.comi@crssinergie.it' +where cod_fiscale = 'CMOMTT78L13L682T' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'GIROLAMO.CONSERVO@GMAIL.COM' +where cod_fiscale = 'CNSGLM58S18C351P' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'caridi.franci@hotmail.it' +where cod_fiscale = 'CRDFNC43R21G902G' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'f.carella@mokarica.com' +where cod_fiscale = 'CRLFNC57S63D704X' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'sergiocaselli7@gmail.com' +where cod_fiscale = 'CSLSRG47R14L483Y' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'adriano.lcz@libero.it' +where cod_fiscale = 'CSTDRN59M09G931W' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'mgrazia.dg@libero.it' +where cod_fiscale = 'DGSMGR53S67A318R' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'maria.delcarratore@icloud.com' +where cod_fiscale = 'DLCMRA43R43B950Y' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'dallaratermotecnicasp@gmail.com' +where cod_fiscale = 'DLLMRC65E26E463M' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'g.giuffrida@hotmail.it' +where cod_fiscale = 'GFFGPP56P28C351K' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'antonio.guaglio@tele2.it' +where cod_fiscale = 'GGLNTN43E25L356J' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'DIREZIONE@RECOGROUP.IT' +where cod_fiscale = 'GJIMRZ56M19L219D' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'dott.galizzi@tiscalinet.it' +where cod_fiscale = 'GLZRRT52C14A794C' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'honorati.mazzoni@libero.it' +where cod_fiscale = 'HNRGRG38A09F205O' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'omar582009@libero.it' +where cod_fiscale = 'LLLSCR58A31Z133P' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'ramodeo@karmasystem.com' +where cod_fiscale = 'MDARSR36P29H743M' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'mauriziomigliorini@gmail.com' +where cod_fiscale = 'MGLMRZ58D14G713M' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'martarose61@gmail.com' +where cod_fiscale = 'MNCDVA59S13I187U' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'maurisandra@bullonerieromagna.com' +where cod_fiscale = 'MRALSN65A58D704Q' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'massaristudiodoc@tiscali.it' +where cod_fiscale = 'MSSMRC57E27F205L' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'nadaluttivanni@libero.it' +where cod_fiscale = 'NDLVNN52A20G966S' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'p.anziliero@gmail.com' +where cod_fiscale = 'NZLPRZ67L44C743K' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'runa23@tiscali.it' +where cod_fiscale = 'NZSSMN72P53I628C' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'pochinul@gmail.com' +where cod_fiscale = 'PCHLGS43A02I452H' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'spagnini@bancafideuram.it' +where cod_fiscale = 'PGNSRG58D08F384H' and rete = 'F' +update c6martperiodico.contrattosei +set email = '999999@sort.it' +where cod_fiscale = 'PLOGPP40R19D245J' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'paparo.maria@email.it' +where cod_fiscale = 'PPRMRA56B61M089J' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'luigi.perencin@gmail.com' +where cod_fiscale = 'PRNLGU53S08H357N' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'stop@tiscali.com' +where cod_fiscale = 'PTRVLR52A23C770U' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'ALESSIO.QUINTERIO@PROMO.IT' +where cod_fiscale = 'QNTLSV51R30F205W' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'prova9@tim.it' +where cod_fiscale = 'RBRVEA76C53G674U' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'giuracconto@gmail.com' +where cod_fiscale = 'RCCGPP53E28G190X' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'FRANCONARCE@YAHOO.IT' +where cod_fiscale = 'RCLFNC57D22G535G' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'carlarconte@gmail.com' +where cod_fiscale = 'RCNCRL46L62L117G' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'DENISHP@VIRGILIO.IT' +where cod_fiscale = 'RGHDNS66T25F241G' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'rosabromeo@gmail.com' +where cod_fiscale = 'RMORBR47B45H224R' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'AVV.TODARO_AT@LIBERO.IT' +where cod_fiscale = 'TDRNNN39T19G273S' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'Taglise@yahoo.it' +where cod_fiscale = 'TGLSRN67R66C139K' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'andrea@studiotondolo.it' +where cod_fiscale = 'TNDNDR63S30L483K' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'mautanzi@teletu.it' +where cod_fiscale = 'TNZMRZ49T22L219Q' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'edoardo.tremolada@delphisas.it' +where cod_fiscale = 'TRMDRD44D24F704V' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'torti.franco@alice.it' +where cod_fiscale = 'TRTFNC31C24D969R' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'vinotto.fam@alice.it' +where cod_fiscale = 'VNTWTR59L20D062E' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'prova10@tim.com' +where cod_fiscale = 'VSNGGR64P09L840I' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'vasarri.f@vasarrifabrizio.it' +where cod_fiscale = 'VSRFRZ47B03D612R' and rete = 'F' +update c6martperiodico.contrattosei +set email = 'Fbelli@prholding.it' +where cod_fiscale = 'BLLFNN50R25G388Z' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'GIANFRANCO_BLASI@FASTWEBNET.IT' +where cod_fiscale = 'BLSTMS84D08H501R' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'FRANCOB@TIN.IT' +where cod_fiscale = 'BRNFNC60L25E366A' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'bessonel@libero.it' +where cod_fiscale = 'BSSLNZ39D12E290E' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'alberto.bellomi99@gmail.com' +where cod_fiscale = 'CLSMGH69M60M109O' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'giovanni.corrado@italsia.it' +where cod_fiscale = 'CRRGNN58S18C616Z' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'costanza5722@gmail.com' +where cod_fiscale = 'CSTCNZ57P62H501I' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'INFO@LABARKITETTURA.IT' +where cod_fiscale = 'CTTLRI72H61D286I' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'simone728c@alice.it' +where cod_fiscale = 'CTZSMN74R15I775C' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'carlofederico.decataldo@gmail.com' +where cod_fiscale = 'DCTCLF63M15G479X' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'MDILELLA@DILELLA.IT' +where cod_fiscale = 'DLLDNC64H13A055G' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'ettore.fungi@fastwebnet.it' +where cod_fiscale = 'FNGTTR46B16A859L' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'robfan1@aliceposta.it' +where cod_fiscale = 'FNTRRT62C16F839O' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'PATRIZIAGAGLIANONE@VIRGILIO.IT' +where cod_fiscale = 'GGLPRZ61D45E655U' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'giuseppe.garletti@garlettivacc.com' +where cod_fiscale = 'GRLGPP63B09F205S' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'loggicalzature@inwind.it' +where cod_fiscale = 'LGGNDR84L23H769T' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'DAVIDELAN1964@GMAIL.COM' +where cod_fiscale = 'LNZDVD64A17I105L' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'MARCO@MANTECO.COM' +where cod_fiscale = 'MNTMRC74M26G702V' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'prova123@MANTECO.COM' +where cod_fiscale = 'MRCNDR63C10G224U' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'dodopaci@gmail.com' +where cod_fiscale = 'PCADRD79E30I625T' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'francesco@paesanoesasso.it' +where cod_fiscale = 'PSNFNC75T16F839M' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'sergiopettinaroli@outlook.it' +where cod_fiscale = 'PTTSRG57E06E488W' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'rinapizzi@gmail.com' +where cod_fiscale = 'PZZRSN38E64H501W' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'NESSUNA@BANCASARA.IT' +where cod_fiscale = 'RBBPLA49A41B828O' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'prova234@tim.com' +where cod_fiscale = 'RCCLCU60E26H501I' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'Waltervincenzetti@gmail.com' +where cod_fiscale = 'RNLSNT40T57A252M' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'prova43637@tim.com' +where cod_fiscale = 'RZZVIO47M16H535O' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'prova43637@tim.com' +where cod_fiscale = 'RZZVIO47M16H535O' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'olimpia81@hotmail.com' +where cod_fiscale = 'SLNMLM41H55H501G' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'antonio.stornelli@gmail.com' +where cod_fiscale = 'STRNTN81T14G482V' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'prova436378@hotmail.it' +where cod_fiscale = 'ZZATRN63R16B157Y' and rete = 'S' +update c6martperiodico.contrattosei +set email = 'gaudenzidaniele9@gmail.com' +where cod_fiscale = 'GDNDNL66R08C963A' +--fix inserite il 15/04/2021 +update c6martperiodico.contrattosei +set indirizzo = 'VIA A. GARIBALDI 278' +where indirizzo = 'VIA A. GARIBALDI N¢ 278' +and cod_fiscale ='VRSGPP37T58B379V' +and rete = 'F' +update c6martperiodico.anag_clienti +set indirizzo = 'VIA A. GARIBALDI N 278' +where rete = 'F' +and cod_fiscale = 'VRSGPP37T58B379V' +and indirizzo ='VIA A. GARIBALDI N° 278' +update c6martperiodico.anag_clienti +set nome = 'NICOLO' +where rete='S' and cod_fiscale = 'LPANCL36P09F359U' +update c6martperiodico.contrattosei +set email = 'ASITEBIS@ALICE.IT' +where rete = 'F' +and cod_fiscale = 'BLTLVE69T14A271G' +update c6martperiodico.contrattosei +set email = 'stefanella.bruschi@studiolegale.it' +where rete = 'F' +and cod_fiscale = 'BRSSFN50R51G702X' +update c6martperiodico.contrattosei +set email = 'c.cartoni@gmail.com' +where rete = 'F' +and cod_fiscale = 'CRTCLD72L62H501V' +update c6martperiodico.contrattosei +set email = 'ermanno.cavaleri@gmail.com' +where rete = 'F' +and cod_fiscale = 'CVLRNN67M03L736R' +update c6martperiodico.contrattosei +set email = 'fabiogu@tiscalinet.it' +where rete = 'F' +and cod_fiscale = 'GFFFPL65L31F205Y' +update c6martperiodico.contrattosei +set email = 'ema2353@gmail.com' +where rete = 'F' +and cod_fiscale = 'MDLMNL53H23A794P' +update c6martperiodico.contrattosei +set email = 'lazama@libero.it' +where rete = 'F' +and cod_fiscale = 'MNGLSN68T31F205P' +update c6martperiodico.contrattosei +set email = 'flaviomorchi@libero.it' +where rete = 'F' +and cod_fiscale = 'MRCFLV58D22F205Y' +update c6martperiodico.contrattosei +set email = 'info@pinomazzagtti.it' +where rete = 'F' +and cod_fiscale = 'MZZPNI51B13I084B' +update c6martperiodico.contrattosei +set email = 'pino.patisso@gmail.com' +where rete = 'F' +and cod_fiscale = 'PTSGPP51E09G098H' +update c6martperiodico.contrattosei +set email = 'ANDREA.SCHIETTI@CECCONISCHIETTi.com' +where rete = 'F' +and cod_fiscale = 'SCHNDR66T29D869T' +update c6martperiodico.contrattosei +set email = '58cerchio@gmail.com' +where rete = 'F' +and cod_fiscale = 'TRRFNC59A03G580U' +update c6martperiodico.contrattosei +set email = 'ebergamo@notariato.it' +where rete = 'S' +and cod_fiscale = 'BRGLEI74L07L719W' +update c6martperiodico.contrattosei +set email = 'nikcea@gmail.com' +where rete = 'S' +and cod_fiscale = 'CEANCL65B12F052D' +update c6martperiodico.contrattosei +set email = 'dnglcn53@gmail.com' +where rete = 'S' +and cod_fiscale = 'DNGLCN53T20G482V' +update c6martperiodico.contrattosei +set email = 'SANDRA.FERRAZIN74@gmail.com' +where rete = 'S' +and cod_fiscale = 'FRRSDR46P48G224N' +update c6martperiodico.contrattosei +set email = 'mmontagn@hotmail.com' +where rete = 'S' +and cod_fiscale = 'MNTMRZ58E30E507C' +update c6martperiodico.contrattosei +set email = 'FAIR_SRL@ALICE.IT' +where rete = 'S' +and cod_fiscale = 'PPPMRS61M41E435W' +update c6martperiodico.contrattosei +set email = 'pterrosu@hotmail.com' +where rete = 'S' +and cod_fiscale = 'TRRPFR53P18I452U' +update c6martperiodico.contrattosei +set email = 'kettitrevisan@libero.it' +where rete = 'S' +and cod_fiscale = 'TRVKTT68C41C111P' +--20231231 Trimestrale Lotto 2 Gennaio 24 +update c6martperiodico.contrattosei +set INDIRIZZO='CADUTI DELLA LIBERTA 9' +where cod_fiscale = 'GRNCLD65D06L003S' + --fix inserite il 26/01/2022 + update c6martperiodico.contrattosei +set email = 'pasqualecolucci1948@gmail.com' +where rete = 'F' +and cod_fiscale = 'CLCPQL48B08F839H' + update c6martperiodico.contrattosei +set email = 'VIRGINIO.48@LIBERO.IT' +where rete = 'F' +and cod_fiscale = 'CZZVGN48L21H264W' + update c6martperiodico.contrattosei +set email = 'VIRNA@VPARCHITETTI.IT' +where rete = 'F' +and cod_fiscale = 'PRSVRN60H42L407W' + update c6martperiodico.contrattosei +set email = 'Terry.ronchi52@gmail.com' +where rete = 'F' +and cod_fiscale = 'RNCMTR52S50D869V' + update c6martperiodico.contrattosei +set email = 'SILVIO.RINALDI.SR@GMAIL.COM' +where rete = 'F' +and cod_fiscale = 'RNLSVG50E13D969K' + update c6martperiodico.contrattosei +set email = 'GIANNI19650@LIBERO.IT' +where rete = 'F' +and cod_fiscale = 'ZGLGNN65R19L157Z' + update c6martperiodico.contrattosei +set email = 'MARCOMARINI_GEOLOGO@FASTWEBNET.it' +where rete = 'S' +and cod_fiscale = 'MRNMRC62P28H037Q' + update c6martperiodico.contrattosei +set email = 'patrizia.tosto62@gmail.com' +where rete = 'S' +and cod_fiscale = 'TSTPRZ62P44B429E' + update c6martperiodico.contrattosei +set email = 'patrizia.tosto62@gmail.com' +where rete = 'S' +and cod_fiscale = 'TSTPRZ62P44B429E' + update c6martperiodico.contrattosei +set Presso = 'TeR BABY SRL' +where rete = 'F' +and cod_fiscale = 'TRRCML81T63F839J' + update c6martperiodico.contrattosei +set Indirizzo = 'VIA SETTEVENE PALO I TRONCO 10' +where rete = 'F' +and cod_fiscale = 'ZNSCNZ72C65H501C' + update c6martperiodico.contrattosei +set Indirizzo = 'VIA MORICI N 4/A' +where rete = 'F' +and cod_fiscale = 'MZZDNL76T68G273F' + update c6martperiodico.contrattosei +set Indirizzo = 'VIA DELLA LIBERTA 10' +where rete = 'F' +and cod_fiscale = 'FRCFNC58R05L985B' + update c6martperiodico.contrattosei +set Indirizzo = 'LOC. LOCALITA MONTEMAZZANO 15/A 15 A' +where rete = 'F' +and cod_fiscale = 'GSPLSN64A26B509O' + update c6martperiodico.contrattosei +set Indirizzo = 'CALCADA DE SAO VICENTE 68' +where rete = 'F' +and cod_fiscale = 'DNDMCL54A11L551Z' + update c6martperiodico.contrattosei +set Indirizzo = 'RUA DAS GARCAS 125' +where rete = 'F' +and cod_fiscale = 'CPPMNL76R16H282I' +update c6martperiodico.contrattosei +set Presso = 'VILLA GIANO SC.A - 4 PIA INT.7' +where rete = 'S' +and cod_fiscale = 'BTTTRS38M52I892G' + update c6martperiodico.contrattosei +set Indirizzo = 'CALLE LOS MILLONES, 6 - 54' +where rete = 'S' +and cod_fiscale = 'RVRDNL81D22H501V' + update c6martperiodico.contrattosei +set Indirizzo = 'VIA NICOL BALANZANO 58 PLT IN 1' +where rete = 'S' +and cod_fiscale = 'FLLGPP48S03A893T' +update C6MartPeriodico.contrattosei +set Indirizzo='VIA ROMOLO BALZANI 40 ED.G SC1' +where rete='S' and Cod_Fiscale='RNDSFN67P13H501V' +update C6MartPeriodico.ANAG_CLIENTI +set INDIRIZZO='VIA A. GARIBALDI N 278' +where rete='F' and Cod_Fiscale='VRSGPP37T58B379V' +update C6MartPeriodico.contrattosei +set INDIRIZZO='VIA A. GARIBALDI N 278' +where rete='F' and Cod_Fiscale='VRSGPP37T58B379V' +update C6MartPeriodico.contrattosei +set Email='BATTISTA@TRAPATTONISRL.IT' + where rete='F' and Cod_Fiscale='TRPBTS62L25H509O' + update C6MartPeriodico.contrattosei +set Email='AVVOCATOCENTOLA@ALICE.IT' + where rete='F' and Cod_Fiscale='CNTTMR39L05H985M' + update C6MartPeriodico.contrattosei +set Email='m.ciaramelletti@alice.it' + where rete='F' and Cod_Fiscale='CRMMRZ64C13H282M' + update C6MartPeriodico.contrattosei +set Email='CSCMOBILE.CRATERI@GMAIL.COM' + where rete='F' and Cod_Fiscale='CRTMGR51E68F801W' + update C6MartPeriodico.contrattosei +set Email='ALBERTOZINANNI@GMAIL.COM' + where rete='F' and Cod_Fiscale='ZNNLRT82L25G713J' + update C6MartPeriodico.contrattosei +set Email='TEST@GMAIL.COM' + where rete='S' and Cod_Fiscale='RMBMGL61R59H642J' + update C6MartPeriodico.contrattosei +set Email='BRESCIANISIMONE@VIRGILIO.IT' + where rete='S' and Cod_Fiscale='BRSSMN75A21G628P' + --segnalazione S&M 18/07/2022 + update C6MartPeriodico.contrattosei +set Email='LUCIAIMP@LIBERO.IT' + where rete='F' and Cod_Fiscale='MPRLCU59L46F839O' + update C6MartPeriodico.contrattosei +set presso='EOS E PARTNERS SRL' + where rete='F' and Cod_Fiscale='92305670280' + update C6MartPeriodico.contrattosei +set presso='CERVESI E CERVESI' + where rete='F' and Cod_Fiscale='CRVNNA90T68L424A' + --26/09/2022 + update c6martperiodico.contrattosei + set INDIRIZZO='RUE EUGENE LABICHE 11' + where cod_fiscale = 'BRNCLN70D50Z110J' +update c6martperiodico.contrattosei + set INDIRIZZO='AVENIDA BARTOLOME MITRE 2466' + where cod_fiscale = 'DNOWLJ46L49E848A' +update c6martperiodico.contrattosei + set Citta='SARANDI' + where cod_fiscale = 'DNOWLJ46L49E848A' +update c6martperiodico.contrattosei + set EMAIL='NESSUNA@BANCASARA.IT' + where cod_fiscale = 'SRLMRT37R49B157M' +update c6martperiodico.contrattosei + set EMAIL='ASCOMARY@GMAIL.COM' + where cod_fiscale = 'SCLMRS52A65F138O' +UPDATE C6StampeCentralizzate.C6MartPeriodico.ANAG_CLIENTI +SET INDIRIZZO ='RUE DU MARECHAL DE LATTRE DE TASSIGNY' +WHERE Cod_Fiscale = 'PCNVCN72R23G273V' +update c6martperiodico.contrattosei +SET INDIRIZZO ='RUE DU MARECHAL DE LATTRE DE TASSIGNY' +WHERE Cod_Fiscale = 'PCNVCN72R23G273V' +UPDATE C6StampeCentralizzate.C6MartPeriodico.contrattosei +SET Email = 'ANDREA.RUSCONI@EIFFAGE.COM' +where Cod_Fiscale ='RSCNDR71P21E507V' +UPDATE C6StampeCentralizzate.C6MartPeriodico.contrattosei +SET Email = 'GIULIANO.PEZZOTTI@GMAIL.COM' +where Cod_Fiscale ='PZZGLN69R31D251S' +UPDATE C6MartPeriodico.ANAG_CLIENTI +SET COGNOME ='SOCIETA SEMPLICE TOLOMEO' +where COD_FISCALE='95695790154' +UPDATE C6StampeCentralizzate.C6MartPeriodico.contrattosei +SET Citta = 'CITTA'' DI SAN MARINO' +WHERE Cod_Fiscale='CLVLDA65B17I952R' +UPDATE C6MartPeriodico.ANAG_CLIENTI +SET LOCALITA = 'CITTA'' DI SAN MARINO' +WHERE Cod_Fiscale='CLVLDA65B17I952R' +--20230615 +update C6MartPeriodico.contrattosei +set Indirizzo='CARRER DE PAU ALSINA 74 4/O 4/A' +WHERE Cod_Fiscale='MRCNDR69T02H501K'--CARRER DE PAU ALSINA 74 4º 4ª +UPDATE C6MartPeriodico.ANAG_CLIENTI +SET INDIRIZZO='CARRER DE PAU ALSINA 74 4/O 4/A' +WHERE Cod_Fiscale='MRCNDR69T02H501K'--CARRER DE PAU ALSINA 74 4º 4ª +UPDATE C6MartPeriodico.contrattosei +SET Indirizzo='VIA MARTIRI DELLA LIBERTA'',41/D' +WHERE Cod_Fiscale='BLLGNN78M22G843K' +UPDATE C6MartPeriodico.contrattosei +SET Indirizzo='VIA MARTIRI DELLA LIBERTA'',41/D' +WHERE Cod_Fiscale='BLLGNN78M22G843K' +--20230714 +update C6MartPeriodico.contrattosei +set indirizzo='VIA MELCHIORRE GIOIA 22',CAP='20124' +where Indirizzo ='VIA MONTEBELLO 18' and Citta='Milano' and PIva_Fiduciaria='01840910150' +update C6MartPeriodico.ANAG_CLIENTI +set INDIRIZZO='VIA MELCHIORRE GIOIA,22', CAP='20124' +where INDIRIZZO like '%VIA MONTEBELLO,18%' and COGNOME='SOCIETA ITALIANA DI REVISIONE E FIDUCIARIA S.P.A' +--20231019 +update c6martperiodico.contrattosei + set INDIRIZZO='VICO 1 SAN MARTINO 2' + where cod_fiscale = 'LIUNCL73T04H687R' +update c6martperiodico.contrattosei + set Citta='CITTA DI SAN MARINO' + where cod_fiscale = 'FLPGNC54T10H501E' +update c6martperiodico.contrattosei + set INDIRIZZO='VIA LOCALITA MOZZOLI 30A' + where cod_fiscale = 'DFRLND74M01Z516R' +update c6martperiodico.contrattosei + set INDIRIZZO='VIA SALVADOR DALI 12' + where cod_fiscale = 'MRLGNE58R11H501P' +--20231105 +update C6MartPeriodico.contrattosei +set Email='achillemderamo@gmail.com' +where cod_fiscale ='DRMCLL53A08A367V' +--20231231 Trimestrale Lotto 2 Gennaio 24 +update c6martperiodico.contrattosei +set INDIRIZZO='CADUTI DELLA LIBERTA 9' +where cod_fiscale = 'GRNCLD65D06L003S' +--20231231 Trimestrale Lotto 2 Gennaio 24 +update c6martperiodico.ANAG_CLIENTI +set INDIRIZZO='CADUTI DELLA LIBERTA 9' +where cod_fiscale = 'GRNCLD65D06L003S' +--20240729 Timestrale Luglio 24 +update c6martperiodico.contrattosei + set INDIRIZZO='CITE GRISET 4' + where cod_fiscale = 'TDJKRM75L15Z110F' +--20241016 Timestrale Ottobre 24 +update c6martperiodico.contrattosei + set INDIRIZZO='ALLEE DE LA BUTTE 6' + where cod_fiscale = 'CRTNTN60L02Z110X' +update c6martperiodico.contrattosei + set Presso='S. NICOLo DI CELLE' + where cod_fiscale = 'BRCPQL57E18D279J' +update c6martperiodico.contrattosei + set Citta='SAN NICOLAS DE LOS ARROYO' + where cod_fiscale = 'SPDMCR60B64Z600J' +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_BonificaDati_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_BonificaDati_pre_selective.sql new file mode 100644 index 00000000..21f18632 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_BonificaDati_pre_selective.sql @@ -0,0 +1,249 @@ +CREATE procedure [C6MartPeriodico].[SP_DQ_BonificaDati_pre_selective] +AS +BEGIN +-- select count(*) from C6MartPeriodico.contrattosei +-- BONIFICA CARATTERI ANOMALI +update c6martperiodico.contrattosei set indirizzo ='VIA FRANGIPANE, TR.2, N.6' where cod_fiscale ='BRGGNN32A02H224F' and INDIRIZZO= 'VIA FRANGIPANE, TR.2^, N.6' +update c6martperiodico.contrattosei set indirizzo ='VIA POSTIERLA N 31/C' where cod_fiscale ='CCCRNI39T54I381U' and INDIRIZZO= 'VIA POSTIERLA N¢ 31/C' +update c6martperiodico.contrattosei set indirizzo ='VIA DEGLI OPERAI N 25' where cod_fiscale ='DTNNZR56M23D653T' and INDIRIZZO= 'VIA DEGLI OPERAI N¢ 25' +update c6martperiodico.contrattosei set indirizzo ='VIA F.SICILIANI N 1' where cod_fiscale ='FRRTDR64M26A638Q' and INDIRIZZO= 'VIA F.SICILIANI N¢ 1' +update c6martperiodico.contrattosei set Citta ='VALLA'' DI RIESE PIO X' where cod_fiscale ='NDRTZN81A03C111N' and Citta= 'VALLA'' DI RIESE PIO X¢' +update c6martperiodico.contrattosei set indirizzo ='VIA A.MOTTA N 61' where cod_fiscale ='TRRCRL47S28L667C' and INDIRIZZO= 'VIA A.MOTTA N¢ 61' +update c6martperiodico.contrattosei set indirizzo ='VIA RIOMAGGIORE N 1' where cod_fiscale ='CRPDNC37C69L689V' and INDIRIZZO= 'VIA RIOMAGGIORE N¢1' +update c6martperiodico.contrattosei set indirizzo ='VIA SANTI N 17' where cod_fiscale ='RNALRT64R05G337D' and INDIRIZZO= 'VIA SANTI N¢ 17' +update c6martperiodico.contrattosei set indirizzo ='VIA M.DELLA LIBERT'' 13' where cod_fiscale ='GLPMRA71A16G856Z' and INDIRIZZO= 'VIA M.DELLA LIBERTÀ 13' +update c6martperiodico.contrattosei set indirizzo ='LOCALITA'' MONETA' where cod_fiscale ='VLLCNZ58P47L219Z' and INDIRIZZO= 'LOCALITÀ MONETA' +update c6martperiodico.contrattosei set Citta ='FORLI''' where cod_fiscale ='GHTDNC38S29D704K' and Citta= 'FORLÌ' +update c6martperiodico.contrattosei +set presso = 'KOSTORIS e ASSOC.-STUDIO LEGALE' +where rete = 'F' +and cod_fiscale = 'KSTLRT60R14L424G' +and presso = 'KOSTORIS & ASSOC.-STUDIO LEGALE' +update c6martperiodico.contrattosei +set indirizzo = 'VIA VINCENZO CIARDO N. 3' +where rete = 'S' +and cod_fiscale = 'CNGMTR43S59E506C' +and indirizzo = 'VIA VINCENZO CIARDO N¢ 3' +update c6martperiodico.contrattosei +set indirizzo = 'VIA VINCENZO CIARDO N. 3' +where rete = 'S' +and cod_fiscale = 'CNGRSO46T44E506U' +and indirizzo = 'VIA VINCENZO CIARDO N¢ 3' +update c6martperiodico.contrattosei +set indirizzo = 'VIA VINCENZO BELLINI N.6' +where rete = 'S' +and cod_fiscale = 'CRBMLD59M69C351S' +and indirizzo = 'VIA VINCENZO BELLINI N¢6' +update c6martperiodico.contrattosei +set indirizzo = 'VIA SS 18 I TR. N. 11' +where rete = 'S' +and cod_fiscale = 'LZZCRC51P41B666S' +and indirizzo = 'VIA SS 18 I TR. N¢ 11' +update c6martperiodico.contrattosei +set indirizzo = 'VIA DELL''IMPRUNETA N. 26' +where rete = 'S' +and cod_fiscale = 'RMNMRA69D13C351J' +and indirizzo = 'VIA DELL''IMPRUNETA N¢ 26' +update c6martperiodico.contrattosei +set indirizzo = 'LOCALITA'' MALTRAVERSO, 13' +where rete = 'F' +and cod_fiscale = 'PRSRNZ59B21C847E' +and indirizzo = 'LOCALITÀ MALTRAVERSO, 13' +update c6martperiodico.contrattosei +set citta = 'CITTA'' SANTANGELO' +where rete = 'S' +and cod_fiscale = 'DFRNTN56D20A120O' +and citta = 'CITTÀ SANTANGELO' +update c6martperiodico.contrattosei +set indirizzo = 'VIA MICHELE PIETRAVALLE 85 R' +where rete = 'F' +and cod_fiscale = 'DLLGST40D14B963Q' +and indirizzo = 'VIA MICHELE PIETRAVALLE 85 ÇR' +update c6martperiodico.contrattosei +set indirizzo = 'VIA MICHELE PIETRAVALLE 85 B' +where rete = 'F' +and cod_fiscale = 'NZZSRA43S52F839U' +and indirizzo = 'VIA MICHELE PIETRAVALLE 85 ÇB' +update c6martperiodico.contrattosei +set indirizzo = 'VIA TRENTO 14 - 27 SC D' +where rete = 'S' +and cod_fiscale = 'BOXFNC95S22D969G' +and indirizzo = 'VIA TRENTO 14 Ç 27 SC D' +update c6martperiodico.contrattosei +set indirizzo = 'VCLO POME'' 14' +where rete = 'F' +and cod_fiscale = 'PRNNRC48D09E801B' +and indirizzo = 'VCLO POMÈ 14' +update c6martperiodico.contrattosei +set indirizzo = 'LOC.MASARE'' COL BADIOT' +where rete = 'S' +and cod_fiscale = 'CRDNZE48S13E490Z' +and indirizzo = 'LOC.MASARÈ COL BADIOT' +update c6martperiodico.contrattosei +set indirizzo = 'VIA ROMBO'' 37' +where rete = 'F' +and cod_fiscale = 'STRGLG70H15H355F' +and indirizzo = 'VIA ROMBÒ 37' +--inizio intervento: 17/07/2015 LMaggi modifica carattere anomalo presente nel campo indirizzo e del campo 'presso' della tb c6martperiodico.contrattosei +update c6martperiodico.contrattosei +set indirizzo = 'VIA BEATO ANGELICO N. 4' +where rete = 'F' +and cod_fiscale = 'CLLPLA53R43G148Z' +and indirizzo = 'VIA BEATO ANGELICO N¢ 4' +update c6martperiodico.contrattosei +set indirizzo = 'LOCAL.FORNI N. 2' +where rete = 'F' +and cod_fiscale = 'DNSVTR45B04A940D' +and indirizzo = 'LOCAL.FORNI N¢ 2' +update c6martperiodico.contrattosei +set indirizzo = 'VIA DEL CORMORANO N. 21' +where rete = 'F' +and cod_fiscale = 'SVVSRA75L43L117F' +and indirizzo = 'VIA DEL CORMORANO N¢ 21' +update c6martperiodico.contrattosei +set indirizzo = 'BORGO RICCIO DA PARMA N.50' +where rete = 'S' +and cod_fiscale = 'MNTSFN57B10G337O' +and indirizzo = 'BORGO RICCIO DA PARMA N¢50' +update c6martperiodico.contrattosei +set indirizzo = 'VIA LEONE IV N. 38' +where rete = 'S' +and cod_fiscale = 'RMNBMN37L23C351J' +and indirizzo = 'VIA LEONE IV N¢ 38' +update c6martperiodico.contrattosei +set indirizzo = 'VIA MARCHETTI N. 27' +where rete = 'S' +and cod_fiscale = 'SLRRLF40D17L689Q' +and indirizzo = 'VIA MARCHETTI N¢ 27' +update c6martperiodico.contrattosei +set indirizzo = 'VIA ROCCA N. 8' +where rete = 'S' +and cod_fiscale = 'ZMBRNG35C70H682I' +and indirizzo = 'VIA ROCCA N¢ 8' +update c6martperiodico.contrattosei +set indirizzo = 'LOCALITA'' PERA, 1' +where rete = 'F' +and cod_fiscale = 'MCHFST58P24C372Z' +and indirizzo = 'LOCALITÀ PERA, 1' +update c6martperiodico.contrattosei +set indirizzo = 'LOCALITA'' RONCO BALDELLO 1' +where rete = 'F' +and cod_fiscale = 'SLNRRT61A25A794Y' +and indirizzo = 'LOCALITÀ RONCO BALDELLO 1' +update c6martperiodico.contrattosei +set presso = 'STEFANIA BLE''' +where rete = 'S' +and cod_fiscale = 'DDSCNN57S54Z110A' +and presso = 'STEFANIA BLÈ' +--9/2/2016 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set indirizzo = 'VIA ARCUENTU 9 ESP.2' +where rete = 'F' +and cod_fiscale = 'MNNNMR69M46L093G' +and indirizzo = 'VIA ARCUENTU 9 ESP.2 ¢' +update c6martperiodico.contrattosei +set indirizzo = 'PZZA XVIII MAGGIO 1944 N. 8' +where rete = 'S' +and cod_fiscale = 'SPSRFL60H27F839X' +and indirizzo = 'PZZA XVIII MAGGIO 1944 N¢ 8' +update c6martperiodico.contrattosei +set indirizzo = 'V.GOZZANO 1ma TRAVERSA,3-S.TERENZO-' +where rete = 'S' +and cod_fiscale = 'LNDMSM57S30E463S' +and indirizzo = 'V.GOZZANO 1ª TRAVERSA,3-S.TERENZO-' +update c6martperiodico.contrattosei +set indirizzo = 'VIA BERSO'' RIO, 12' +where rete = 'S' +and cod_fiscale = 'PRTFBA61H20A269D' +and indirizzo = 'VIA BERSÒ RIO, 12' +--27/4/2016 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set indirizzo = 'VIA S.LUCIA 64 M' +where rete = 'S' +and cod_fiscale = 'LGRMTN50P67Z110T' +and indirizzo = 'VIA S:LUCIA 64 M' +update c6martperiodico.anag_clienti +set cognome = 'CONDRO''' +where rete = 'S' +and cod_fiscale = 'CNDLNU88T59I138R' +and cognome = 'CONDRÒ' +--11/07/2016 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update C6MartPeriodico.ContrattoSEI + set indirizzo = 'VIA MORICI N. 4/A' + where cod_fiscale = 'MZZDNL76T68G273F' + and indirizzo = 'VIA MORICI N¢ 4/A' +update C6MartPeriodico.ContrattoSEI + set indirizzo = 'VIA IV NOVEMBRE N. 22' + where cod_fiscale = 'BRRNGL44L52C145G' + and indirizzo = 'VIA IV NOVEMBRE N¢ 22' +update C6MartPeriodico.ContrattoSEI + set indirizzo = 'VIA IV NOVEMBRE N. 22' + where cod_fiscale = 'FRRPLA40L09B034B' + and indirizzo = 'VIA IV NOVEMBRE N¢ 22' +update C6MartPeriodico.ContrattoSEI + set indirizzo = 'VIA CIACCIO MONTALTO N.3' + where cod_fiscale = 'LNNNNL64A66I153M' + and indirizzo = 'VIA CIACCIO MONTALTO N¢3' +update C6MartPeriodico.ContrattoSEI + set indirizzo = 'VIA CARLO CARRA'' 4 INT 8' + where cod_fiscale = 'MNNLNE93E50G702X' + and indirizzo = 'VIA CARLO CARRÀ 4 INT 8' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'LOCALITA'' SETTA, 120' +where cod_fiscale = 'BRSFNC78R57G062Z' +and indirizzo = 'LOCALITÀ SETTA, 120' +--20/10/2016 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA I MAGGIO 40' +where cod_fiscale = 'LMNTNQ47L46Z216U' +and indirizzo = 'VIA I¢ MAGGIO 40' +update C6MartPeriodico.ContrattoSEI +set indirizzo = 'VIA A/POD.SCOPETINO N.295' +where cod_fiscale = 'MRLPRZ50C65D969T' +and indirizzo = 'VIA A/POD.SCOPETINO N¢ 295' +--27/10/2016 - segnalazione dq ID 3 +update C6MartPeriodico.ContrattoSEI +set cap = '10044' +where cod_fiscale = 'BNCGRG66C22C344P' +--------------------------------------------------------------------------- +--inizio intervento FCianfa 27/07/2015 +update c6martperiodico.contrattosei +set indirizzo ='VIA CASEVECCHIE N 26' +where rete = 'F' +and cod_fiscale ='NNNMRZ60P16D653G' +and INDIRIZZO= 'VIA CASEVECCHIE N¦ 26' +--fine FCianfa +--inizio intervento: 05/02/2015 FCianfa modifica carattere anomalo presente nel campo cognome della tb c6martperiodico.anag_clienti +update c6martperiodico.anag_clienti +set cognome = 'S.A.P.I. SOCIETA'' AMM.NE' +where rete = 'S' +and cod_fiscale = '01028041000' +and cognome = 'S.A.P.I. SOCIETÀ AMM.NE' +--fine intervento: 05/02/2015 FCianfa modifica carattere anomalo presente nel campo cognome della tb c6martperiodico.anag_clienti +-- BONIFICA INDIRIZZI EMAIL FORMALMENTE ERRATI +update c6martperiodico.contrattosei +set email = 'pciprandi@tiscali.it' +where rete = 'F' +and cod_fiscale = 'CPRPLA44L30H373S' +and email = 'pciprandi,@tiscali.it' +--20/10/2016 - segnalazioni su [C6MartPeriodico].[tb_SegnalazioniDataQuality] +update c6martperiodico.contrattosei +set email = 'n.capezzuoli@guicciardini.magni.it' +where rete = 'F' +and cod_fiscale = 'DNTNRN68L64A881H' +and email = 'n.capezzuoli°@guicciardini.magni.it' +--Bonifica doppi apici sul campo cod aggregato (il problema è causato dal batch di caricamento rischio_prometeia per i clienti +--che hanno un nome progetto nell'area investimento che contiene il carattere doppio apice " +--(bonifica predisposta per la trimestrale di dicembre 2015 in attesa di individuazione anomalia software) +--segnalazione dq id 23 del 26/1/2016 +update C6MartPeriodico.RISCHIO_AGGREGATO +set COD_AGGREG = replace(replace(rischio_prod.COD_AGGREG, '"', ''),'\','"') +from +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +left join C6MartPeriodico.PATRIMONIO_BF PATRBF +on PATRBF.RETE= RISCHIO_PROD.rete +AND PATRBF.COD_FISCALE= RISCHIO_PROD.cod_fiscale +where + RISCHIO_PROD.COD_AGGREG like '"%' +-------------------------------------------------------- +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_CaratteriAnomali.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_CaratteriAnomali.sql new file mode 100644 index 00000000..6fa9bcd8 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_CaratteriAnomali.sql @@ -0,0 +1,52 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano in Anagrafica caratteri anomali nei campi che formano l’indirizzo di +-- domiciliazione del contratto di consulenza +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +-- [C6MartPeriodico].[SP_DQ_CaratteriAnomali] 2 +CREATE procedure [C6MartPeriodico].[SP_DQ_CaratteriAnomali] +@idFaseElaborazione int +AS +BEGIN +drop table if exists C6MartPeriodico.TB_ClienticonCaratteriAnomali +--drop table #tab_temp +--drop table #TbErrori +Declare @idTipoControllo int +set @idTipoControllo=7 +CREATE TABLE #tab_temp( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL) +insert into #tab_temp +exec [C6MartPeriodico].[CercaCaratteriAnomali] +select val_Ascii,Val_Char,Rete,Cod_Fiscale,Nome_Campo,Val_Campo +into C6MartPeriodico.TB_ClienticonCaratteriAnomali +from #tab_temp +select *,@idTipoControllo idTipoControllo + into #TbErrori +from #tab_temp +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale, +Replace(replace(DescSegnalazione,'campo$',tbErr.Nome_Campo),'carattere$',tbErr.Val_Char) ,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_CaratteriAnomali_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_CaratteriAnomali_pre_selective.sql new file mode 100644 index 00000000..b7d5ea7e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_CaratteriAnomali_pre_selective.sql @@ -0,0 +1,48 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano in Anagrafica caratteri anomali nei campi che formano l’indirizzo di +-- domiciliazione del contratto di consulenza +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +-- [C6MartPeriodico].[SP_DQ_CaratteriAnomali_pre_selective] 2 +CREATE procedure [C6MartPeriodico].[SP_DQ_CaratteriAnomali_pre_selective] +@idFaseElaborazione int +AS +BEGIN +--drop table #tab_temp +--drop table #TbErrori +Declare @idTipoControllo int +set @idTipoControllo=7 +CREATE TABLE #tab_temp( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL) +insert into #tab_temp +exec [C6MartPeriodico].[CercaCaratteriAnomali] +select *,@idTipoControllo idTipoControllo + into #TbErrori +from #tab_temp +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale, +Replace(replace(DescSegnalazione,'campo$',tbErr.Nome_Campo),'carattere$',tbErr.Val_Char) ,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio.sql new file mode 100644 index 00000000..c2f38743 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio.sql @@ -0,0 +1,42 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo Data Avvio del Monitoraggio ( dtSalvataggio ) sulla tabella +-- [C6MartPeriodico].[MONITORAGGIO_INIZIALE] +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_DataAvvioMonitoraggio] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=3 +SELECT + V.rete AS RETE, + V.COD_FISCALE AS COD_FISCALE, + @idTipoControllo idtipocontrollo +into #TbErrori +FROM C6StagingPeriodico.appo_contratti_v V + INNER JOIN C6STAGINGPERIODICO.RP_MonitoraggioStorico M + ON V.chiaveClientePB = M.chiaveClientePB + WHERE stato = '2' + AND M.dtSalvataggio IS NULL +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,COD_FISCALE,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio_pre_selective.sql new file mode 100644 index 00000000..5a29160e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_DataAvvioMonitoraggio_pre_selective.sql @@ -0,0 +1,42 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo Data Avvio del Monitoraggio ( dtSalvataggio ) sulla tabella +-- [C6MartPeriodico].[MONITORAGGIO_INIZIALE] +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_DataAvvioMonitoraggio_pre_selective] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=3 +SELECT + V.rete AS RETE, + V.COD_FISCALE AS COD_FISCALE, + @idTipoControllo idtipocontrollo +into #TbErrori +FROM C6StagingPeriodico.APPO_CONTRATTI V + INNER JOIN C6STAGINGPERIODICO.RP_MonitoraggioStorico M + ON V.chiaveClientePB = M.chiaveClientePB + WHERE stato = '2' + AND M.dtSalvataggio IS NULL +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,COD_FISCALE,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab.sql new file mode 100644 index 00000000..68810b00 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab.sql @@ -0,0 +1,69 @@ +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 17/09/2014 +-- Description: +-- TODO --- Da ottimizzare per Data Quality +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_DataValorizzazioneTRenab] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=10 + SELECT @idTipoControllo as idtipocontrollo, + TANAB.RETE AS RETE, + VC.COD_FISCALE as codfis, + 'DTVALORIZZ non valida - Area: ' + + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END + ' Nome Progetto: ' + + ISNULL(CS.nomeProgetto, 'XXX') + ' - DTVALORIZZ: ' + + CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) + + ' - CTV_MONITORATO: ' + ltrim(rtrim(cast(WRENAB.CTV AS VARCHAR(20)))) + + ' - RISORSE_ASSOCIATE: ' + ltrim(rtrim(cast(WRENAB.CVN AS VARCHAR(20)))) + + ' - CEDOLE_DIV: ' + ltrim(rtrim(cast((TANAB.TOT_CED + TANAB.TOT_DIV) AS VARCHAR(20)))) + + ' - ChiaveProgetto: ' + cast(isnull(CM.ChiaveProgetto, '') as varchar(10)) as descerror + into #TbErrori + FROM C6STAGINGPERIODICO.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB + ON TANAB.CODPROG = WRENAB.CODPROG + AND TANAB.DTRIF = WRENAB.DTRIF + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON TANAB.CODPROG = CM.idmonitoraggio +-- INNER JOIN C6StagingPeriodico.RP_Consulenza CS +-- ON CM.chiaveprogetto = CS.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + INNER JOIN C6stagingperiodico.appo_contratti_v VC + ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND TANAB.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE 1 = 1 + AND TANAB.DTFINE = '99991231' + AND ISDATE(WRENAB.DTVALORIZ) = 0 +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,descerror,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab_pre_selective.sql new file mode 100644 index 00000000..ea7d7718 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_DataValorizzazioneTRenab_pre_selective.sql @@ -0,0 +1,69 @@ +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 17/09/2014 +-- Description: +-- TODO --- Da ottimizzare per Data Quality +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_DataValorizzazioneTRenab_pre_selective] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=10 + SELECT @idTipoControllo as idtipocontrollo, + TANAB.RETE AS RETE, + VC.COD_FISCALE as codfis, + 'DTVALORIZZ non valida - Area: ' + + CASE + WHEN TANAB.CODAREA = 'INV' THEN 'Inv' + WHEN TANAB.CODAREA = 'RIS' THEN 'Ris' + WHEN TANAB.CODAREA = 'EXR' THEN 'Ext' + WHEN TANAB.CODAREA = 'LIQ' THEN 'Liq' + END + ' Nome Progetto: ' + + ISNULL(CS.nomeProgetto, 'XXX') + ' - DTVALORIZZ: ' + + CAST(WRENAB.DTVALORIZ AS VARCHAR(8)) + + ' - CTV_MONITORATO: ' + ltrim(rtrim(cast(WRENAB.CTV AS VARCHAR(20)))) + + ' - RISORSE_ASSOCIATE: ' + ltrim(rtrim(cast(WRENAB.CVN AS VARCHAR(20)))) + + ' - CEDOLE_DIV: ' + ltrim(rtrim(cast((TANAB.TOT_CED + TANAB.TOT_DIV) AS VARCHAR(20)))) + + ' - ChiaveProgetto: ' + cast(isnull(CM.ChiaveProgetto, '') as varchar(10)) as descerror + into #TbErrori + FROM C6STAGINGPERIODICO.TANAB AS TANAB + INNER JOIN C6StagingPeriodico.TRENAB AS WRENAB + ON TANAB.CODPROG = WRENAB.CODPROG + AND TANAB.DTRIF = WRENAB.DTRIF + INNER JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON TANAB.CODPROG = CM.idmonitoraggio +-- INNER JOIN C6StagingPeriodico.RP_Consulenza CS +-- ON CM.chiaveprogetto = CS.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_Progetto PR + ON CM.chiaveprogetto = PR.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello CS + ON PR.chiaveprogettoMod = CS.chiaveProgettoMod + INNER JOIN C6stagingperiodico.appo_contratti VC + ON TANAB.CODFIS = CASE WHEN VC.COD_MANDATO IS NULL OR VC.COD_MANDATO = '' + THEN CASE WHEN VC.PIVA_FIDUCIARIA IS NULL OR VC.PIVA_FIDUCIARIA = '' + THEN VC.COD_FISCALE + ELSE VC.PIVA_FIDUCIARIA END + ELSE VC.COD_MANDATO + END + AND TANAB.RETE = VC.RETE +-- AND VC.DATA_FINEAVANZATO > getDate() + WHERE 1 = 1 + AND TANAB.DTFINE = '99991231' + AND ISDATE(WRENAB.DTVALORIZ) = 0 +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,descerror,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_DeleteSegnalazioni.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_DeleteSegnalazioni.sql new file mode 100644 index 00000000..54ef2885 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_DeleteSegnalazioni.sql @@ -0,0 +1,43 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Cancellazione Segnalazioni/Scarti su tabella DATA QUALITY +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_DeleteSegnalazioni] +@idFaseElaborazione int +AS +BEGIN + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'SP_DQ_DeleteSegnalazioni', + GETDATE(), + 'Elaborazione Trimestrale ' + ) +if ( @idFaseElaborazione > 0 ) +begin + delete + from C6MartPeriodico.tb_SegnalazioniDataQuality + where idFaseElaborazione =@idFaseElaborazione +end +else + truncate table C6MartPeriodico.tb_SegnalazioniDataQuality + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SP_DQ_DeleteSegnalazioni' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'SP_DQ_DeleteSegnalazioni' + ) +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_DeleteSegnalazioni_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_DeleteSegnalazioni_pre_selective.sql new file mode 100644 index 00000000..64c1469f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_DeleteSegnalazioni_pre_selective.sql @@ -0,0 +1,43 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Cancellazione Segnalazioni/Scarti su tabella DATA QUALITY +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_DeleteSegnalazioni_pre_selective] +@idFaseElaborazione int +AS +BEGIN + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SP_DQ_DeleteSegnalazioni_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) +if ( @idFaseElaborazione > 0 ) +begin + delete + from C6MartPeriodico.tb_SegnalazioniDataQuality + where idFaseElaborazione =@idFaseElaborazione +end +else + truncate table C6MartPeriodico.tb_SegnalazioniDataQuality + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SP_DQ_DeleteSegnalazioni_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SP_DQ_DeleteSegnalazioni_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze.sql new file mode 100644 index 00000000..bbe23d13 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze.sql @@ -0,0 +1,31 @@ +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 17/09/2014 +-- Description: +-- TODO --- Da ottimizzare per Data Quality +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_DescCatalogoProdottiScadenze] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=11 + SELECT @idTipoControllo idTipoControllo,RETE, COD_FISCALE as codfis + into #TbErrori + FROM [C6MartPeriodico].[SCADENZE] WHERE ISNULL(DesProd,'') ='' +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,descSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze_pre_selective.sql new file mode 100644 index 00000000..22613ca5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_DescCatalogoProdottiScadenze_pre_selective.sql @@ -0,0 +1,31 @@ +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 17/09/2014 +-- Description: +-- TODO --- Da ottimizzare per Data Quality +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_DescCatalogoProdottiScadenze_pre_selective] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=11 + SELECT @idTipoControllo idTipoControllo,RETE, COD_FISCALE as codfis + into #TbErrori + FROM [C6MartPeriodico].[SCADENZE] WHERE ISNULL(DesProd,'') ='' +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,descSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_DescProdottoProventi.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_DescProdottoProventi.sql new file mode 100644 index 00000000..3f761a04 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_DescProdottoProventi.sql @@ -0,0 +1,38 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo Descrizione Prodotto ( DescProd ) sulla tabella +-- C6MartPeriodico.PROVENTI +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_DescProdottoProventi] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=2 +SELECT a.RETE, a.COD_FISCALE,@idTipoControllo idtipocontrollo +into #TbErrori +FROM [C6MartPeriodico].[PROVENTI] a + INNER JOIN c6stagingperiodico.appo_contratti_v b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and b.tip_contratto=2 +WHERE ISNULL(a.DesProd,'') ='' +group by a.RETE, a.COD_FISCALE +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,COD_FISCALE,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_DescProdottoProventi_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_DescProdottoProventi_pre_selective.sql new file mode 100644 index 00000000..f80f9283 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_DescProdottoProventi_pre_selective.sql @@ -0,0 +1,38 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo Descrizione Prodotto ( DescProd ) sulla tabella +-- C6MartPeriodico.PROVENTI +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_DescProdottoProventi_pre_selective] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=2 +SELECT a.RETE, a.COD_FISCALE,@idTipoControllo idtipocontrollo +into #TbErrori +FROM [C6MartPeriodico].[PROVENTI] a + INNER JOIN c6stagingperiodico.appo_contratti b + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and b.tip_contratto=2 +WHERE ISNULL(a.DesProd,'') ='' +group by a.RETE, a.COD_FISCALE +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,COD_FISCALE,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_PositionID.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_PositionID.sql new file mode 100644 index 00000000..b6d8442c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_PositionID.sql @@ -0,0 +1,36 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo POSITION ID sulla tabella +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_PositionID] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=1 +SELECT RETE, codfis,@idTipoControllo idtipocontrollo +into #TbErrori +FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE ISNULL(POSITIONID,'') ='' +GROUP BY RETE, codfis +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_PositionIDConsulenza.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_PositionIDConsulenza.sql new file mode 100644 index 00000000..b778e798 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_PositionIDConsulenza.sql @@ -0,0 +1,36 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo POSITION ID sulla tabella +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_PositionIDConsulenza] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=12 +SELECT RETE, cod_fiscale codfis,@idTipoControllo idtipocontrollo +into #TbErrori +FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') = '' +GROUP BY RETE, cod_fiscale +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_PositionIDConsulenza_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_PositionIDConsulenza_pre_selective.sql new file mode 100644 index 00000000..6fa23b7d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_PositionIDConsulenza_pre_selective.sql @@ -0,0 +1,36 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo POSITION ID sulla tabella +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_PositionIDConsulenza_pre_selective] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=12 +SELECT RETE, cod_fiscale codfis,@idTipoControllo idtipocontrollo +into #TbErrori +FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') = '' +GROUP BY RETE, cod_fiscale +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_PositionID_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_PositionID_pre_selective.sql new file mode 100644 index 00000000..6ad0aaf9 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_PositionID_pre_selective.sql @@ -0,0 +1,36 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Controllo corretta generazione del campo POSITION ID sulla tabella +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_PositionID_pre_selective] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=1 +SELECT RETE, codfis,@idTipoControllo idtipocontrollo +into #TbErrori +FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE ISNULL(POSITIONID,'') ='' +GROUP BY RETE, codfis +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,codfis,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_PosizioniDuplicate.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_PosizioniDuplicate.sql new file mode 100644 index 00000000..8f64a867 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_PosizioniDuplicate.sql @@ -0,0 +1,211 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano una o più posizioni duplicate +-- nel proprio patrimonio finanziario +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +-- ATTENZIONE !!! +-- La SP che carica la Patrimonio BF effettua un controllo dopo una prima elaborazione e scarta +-- i record "duplicati". Riporto la query di INPUT per poter effetturare il test e lo scarto +CREATE procedure [C6MartPeriodico].[SP_DQ_PosizioniDuplicate] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=4 +-- Selezione in Tabella Temporanea Verifica_CAMPIONE dei record "doppi" +SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, + null AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo +--*************************************** + INTO #Verifica_CAMPIONE +--*************************************** + FROM C6StagingPeriodico.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + --***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and CON.area <> 'SELF' + --FINE INTERVENTI OMNIA*** + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + case when isnull(CON.tipoProgetto, '') = '' then 'Default' + when CON.tipoProgetto = 0 then 'Default' + else 'ProgettoInvestimento' end as TIPO_PROGETTO, + CON.AREA AS ID_AREA, + CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN SPB.CVN = 0 + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL + ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + CON.chiaveClientePB, +--nuovo + 0 AS REND_NON_RAPPR, + CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, + CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, + CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, + CON.CHIAVEPROGETTO AS CHIAVEPROGETTO +-- fine nuovo + FROM C6STAGINGPERIODICO.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPERIODICO.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT JOIN C6StagingPeriodico.RP_ChiaviMonitoraggio CM + ON CON.chiaveprogetto = CM.chiaveProgetto + AND CM.stato = 1 + LEFT OUTER JOIN C6STAGINGPERIODICO.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + --***INIZIO INTERVENTI OMNIA*** + or SPB.Isin = 'EURO00000009' +SELECT RETE, COD_FISCALE, POSITIONID,@idTipoControllo idtipocontrollo +into #TbErrori +FROM #Verifica_CAMPIONE +GROUP BY RETE, COD_FISCALE, POSITIONID +HAVING COUNT(*) > 1 +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,COD_FISCALE,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_ProgettoDuplicatoArea.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_ProgettoDuplicatoArea.sql new file mode 100644 index 00000000..b6c32304 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_ProgettoDuplicatoArea.sql @@ -0,0 +1,42 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Record Aventi per Ordinamento Progetto Aree Duplicate +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_ProgettoDuplicatoArea] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=5 +select distinct a.rete, a.cod_fiscale,@idTipoControllo idtipocontrollo +into #TbErrori +from +(SELECT * FRom c6martperiodico.patrimonio_bf ) a +inner join +(SELECT * FRom c6martperiodico.patrimonio_bf ) b +on a.cod_fiscale = b.cod_fiscale +and a.rete= b.rete +and a.id_area = b.id_area +where a.id_area <> 'Inv' +and a.ordinamento_progetto <> b.ordinamento_progetto +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,COD_FISCALE,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_ScartiAPI.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_ScartiAPI.sql new file mode 100644 index 00000000..d6255914 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_ScartiAPI.sql @@ -0,0 +1,38 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano in Anagrafica caratteri anomali nei campi che formano l’indirizzo di +-- domiciliazione del contratto di consulenza +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +-- [C6MartPeriodico].[SP_DQ_CaratteriAnomali] 2 +CREATE procedure [C6MartPeriodico].[SP_DQ_ScartiAPI] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=16 +--select * from C6MartPeriodico.TB_SegnalazioniDataQuality where idTipoControllo=16 +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select @idTipoControllo,rete,case when codman<>'' then 'FF@'+codman + when piva<>'' then piva +else codfis end as codicefiscale, +tipo.descSegnalazione+ ' IGNORA L''ERRORE verra recuperato al giro successivo automaticamente' ,@idelab,'',@idFaseElaborazione +from C6StagingPeriodico.TRIMESTRALE_SCARTI tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on @idTipoControllo = tipo.idTipoControllo +where BLACKLIST='in errore API Sei' +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_ScriviDisallineati.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_ScriviDisallineati.sql new file mode 100644 index 00000000..b8c47159 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_ScriviDisallineati.sql @@ -0,0 +1,44 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano un disallineamento tra l’importo associato ad una determinata +-- area di bisogno e l’eventuale importo che risulta nei dati di Monitoraggio per la medesima Area di Bisogno +-- (per ogni cliente si prevede l’inserimento di un record di segnalazione per ciascuna area di bisogno che risulta +-- disallineata con l’indicazione, nel campo descrizione, dell’area a cui si riferisce il disallineamento) +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_ScriviDisallineati] +@idFaseElaborazione int +AS +BEGIN +--drop table #tab_temp +--drop table #TbErrori +Declare @idTipoControllo int +set @idTipoControllo=9 +select *,@idTipoControllo idTipoControllo + into #TbErrori +from dbo.disallineati2 +--INIZIO Forzatura Trimestre 1° trimestre 2015 +--where cod_fiscale <> 'MTTMRT38A04H407S' +--FINE Forzatura Trimestre 1° trimestre 2015 +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale, +Replace(Replace(replace(DescSegnalazione,'area$',tbErr.mon_area),'ctv$',tbErr.CTV_MONIT),'delta$',tbErr.delta) +,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_ScriviDisallineati_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_ScriviDisallineati_pre_selective.sql new file mode 100644 index 00000000..f2f5b5fe --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_ScriviDisallineati_pre_selective.sql @@ -0,0 +1,44 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano un disallineamento tra l’importo associato ad una determinata +-- area di bisogno e l’eventuale importo che risulta nei dati di Monitoraggio per la medesima Area di Bisogno +-- (per ogni cliente si prevede l’inserimento di un record di segnalazione per ciascuna area di bisogno che risulta +-- disallineata con l’indicazione, nel campo descrizione, dell’area a cui si riferisce il disallineamento) +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_ScriviDisallineati_pre_selective] +@idFaseElaborazione int +AS +BEGIN +--drop table #tab_temp +--drop table #TbErrori +Declare @idTipoControllo int +set @idTipoControllo=9 +select *,@idTipoControllo idTipoControllo + into #TbErrori +from dbo.disallineati2 +--INIZIO Forzatura Trimestre 1° trimestre 2015 +--where cod_fiscale <> 'MTTMRT38A04H407S' +--FINE Forzatura Trimestre 1° trimestre 2015 +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale, +Replace(Replace(replace(DescSegnalazione,'area$',tbErr.mon_area),'ctv$',tbErr.CTV_MONIT),'delta$',tbErr.delta) +,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_SelezioneDisallineati.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_SelezioneDisallineati.sql new file mode 100644 index 00000000..68cb93a4 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_SelezioneDisallineati.sql @@ -0,0 +1,146 @@ +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 17/09/2014 +-- Description: Copia della SP [C6MartPeriodico].[SRV_LISTA_DISALLINEAMENTI_MONIT] +-- TODO --- Da ottimizzare per Data Quality +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_SelezioneDisallineati] +AS +BEGIN +SELECT +RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4) AS ID_AREA, +isnull(ORDINAMENTO_PROGETTO,0) as ordinamento_progetto, +SUM(CTV) AS SUM_CTV +INTO #TEMP_PATRIMONIO_BF_AGGR +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE ID_AREA NOT IN ('CC','NA') +AND REND_NON_RAPPR=0 +GROUP BY RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4), +isnull(ORDINAMENTO_PROGETTO,0) +--SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +--WHERE CODFIS IN +--(SELECT DISTINCT COD_FISCALE FROM #TEMP_PATRIMONIO_BF_AGGR) +SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +WHERE CODFIS IN +-- Modifica del 28/4/2017 per staging e mart selective + -- (select cod_fiscale from c6stagingperiodico.appo_contratti) + (select cod_fiscale from c6stagingperiodico.appo_contratti_v) +-- Fine modifica del 28/4/2017 per staging e mart selective +SELECT * +FROM +( +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO as bf_ordprorg, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog as mon_codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +AND S.chiaveprogetto=isnull(P.ORDINAMENTO_PROGETTO,0) +AND M.CODPROG = S.idmonitoraggio +and id_area ='Inv' +union all +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +and id_area <>'Inv' +union all +-------------------------------------------- +-- SOLO MONITORAGGIO +-------------------------------------------- +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +--#TEMP_PATRIMONIO_BF_AGGR P +(select T.*,S.idmonitoraggio from +#TEMP_PATRIMONIO_BF_AGGR T +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +where S.chiaveprogetto=isnull(T.ORDINAMENTO_PROGETTO,0) +)P +on +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND M.CODPROG = P.idmonitoraggio +AND DTFINE ='99991231' +where +m.ctv > 0 +and p.cod_fiscale is null +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +--and id_area ='Inv' +and m.codarea ='Inv' +union all +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +p.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +#TEMP_PATRIMONIO_BF_AGGR P +on +M.RETE = P.RETE +--AND M.CODFIS = P.COD_FISCALE +AND case when len(m.CODFIS) =4 then 'FF@'+m.codfis else m.codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +where +DTFINE ='99991231' +and m.ctv > 0 +and p.cod_fiscale is null +and codarea <>'Inv' +) k +order by 2,1 +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_SelezioneDisallineati_pre_selective_luca.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_SelezioneDisallineati_pre_selective_luca.sql new file mode 100644 index 00000000..2226178a --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_SelezioneDisallineati_pre_selective_luca.sql @@ -0,0 +1,143 @@ +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 17/09/2014 +-- Description: Copia della SP [C6MartPeriodico].[SRV_LISTA_DISALLINEAMENTI_MONIT] +-- TODO --- Da ottimizzare per Data Quality +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_SelezioneDisallineati_pre_selective_luca] +AS +BEGIN +SELECT +RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4) AS ID_AREA, +isnull(ORDINAMENTO_PROGETTO,0) as ordinamento_progetto, +SUM(CTV) AS SUM_CTV +INTO #TEMP_PATRIMONIO_BF_AGGR +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE ID_AREA NOT IN ('CC','NA') +AND REND_NON_RAPPR=0 +GROUP BY RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4), +isnull(ORDINAMENTO_PROGETTO,0) +--SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +--WHERE CODFIS IN +--(SELECT DISTINCT COD_FISCALE FROM #TEMP_PATRIMONIO_BF_AGGR) +SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +WHERE CODFIS IN +(select cod_fiscale from c6stagingperiodico.appo_contratti) +SELECT * +FROM +( +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO as bf_ordprorg, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog as mon_codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +AND S.chiaveprogetto=isnull(P.ORDINAMENTO_PROGETTO,0) +AND M.CODPROG = S.idmonitoraggio +and id_area ='Inv' +union all +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +and id_area <>'Inv' +union all +-------------------------------------------- +-- SOLO MONITORAGGIO +-------------------------------------------- +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +--#TEMP_PATRIMONIO_BF_AGGR P +(select T.*,S.idmonitoraggio from +#TEMP_PATRIMONIO_BF_AGGR T +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +where S.chiaveprogetto=isnull(T.ORDINAMENTO_PROGETTO,0) +)P +on +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND M.CODPROG = P.idmonitoraggio +AND DTFINE ='99991231' +where +m.ctv > 0 +and p.cod_fiscale is null +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +--and id_area ='Inv' +and m.codarea ='Inv' +union all +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +p.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +#TEMP_PATRIMONIO_BF_AGGR P +on +M.RETE = P.RETE +--AND M.CODFIS = P.COD_FISCALE +AND case when len(m.CODFIS) =4 then 'FF@'+m.codfis else m.codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +where +DTFINE ='99991231' +and m.ctv > 0 +and p.cod_fiscale is null +and codarea <>'Inv' +) k +order by 2,1 +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_VerificaDisallineati.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_VerificaDisallineati.sql new file mode 100644 index 00000000..7bdb6def --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_VerificaDisallineati.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano un disallineamento tra l’importo associato ad una determinata +-- area di bisogno e l’eventuale importo che risulta nei dati di Monitoraggio per la medesima Area di Bisogno +-- (per ogni cliente si prevede l’inserimento di un record di segnalazione per ciascuna area di bisogno che risulta +-- disallineata con l’indicazione, nel campo descrizione, dell’area a cui si riferisce il disallineamento) +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_VerificaDisallineati] +@idFaseElaborazione int +AS +BEGIN +--drop table #tab_temp +--drop table #TbErrori +Declare @idTipoControllo int +set @idTipoControllo=9 +CREATE TABLE #tab_temp( + [Rete] varchar(1) NOT NULL, + [Cod_Fiscale] varchar(16) NOT NULL, + id_Area varchar(10) NULL, + mon_area varchar(10) NULL, + bf_ordprorg int NULL, + CTV_MONIT decimal(12,2) NULL, + SUM_CTV decimal(12,2) NULL, + delta decimal(12,2) null, + CodProg int) +insert into #tab_temp +exec [C6MartPeriodico].[SP_DQ_SelezioneDisallineati] +select *,@idTipoControllo idTipoControllo + into #TbErrori +from #tab_temp +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale, +Replace(Replace(replace(DescSegnalazione,'area$',tbErr.mon_area),'ctv$',tbErr.CTV_MONIT),'delta$',tbErr.delta) +,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_VerificaDisallineati_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_VerificaDisallineati_pre_selective.sql new file mode 100644 index 00000000..0dfe9ca7 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_VerificaDisallineati_pre_selective.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano un disallineamento tra l’importo associato ad una determinata +-- area di bisogno e l’eventuale importo che risulta nei dati di Monitoraggio per la medesima Area di Bisogno +-- (per ogni cliente si prevede l’inserimento di un record di segnalazione per ciascuna area di bisogno che risulta +-- disallineata con l’indicazione, nel campo descrizione, dell’area a cui si riferisce il disallineamento) +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_VerificaDisallineati_pre_selective] +@idFaseElaborazione int +AS +BEGIN +--drop table #tab_temp +--drop table #TbErrori +Declare @idTipoControllo int +set @idTipoControllo=9 +CREATE TABLE #tab_temp( + [Rete] varchar(1) NOT NULL, + [Cod_Fiscale] varchar(16) NOT NULL, + id_Area varchar(10) NULL, + mon_area varchar(10) NULL, + bf_ordprorg int NULL, + CTV_MONIT decimal(12,2) NULL, + SUM_CTV decimal(12,2) NULL, + delta decimal(12,2) null, + CodProg int) +insert into #tab_temp +exec [C6MartPeriodico].[SP_DQ_SelezioneDisallineati] +select *,@idTipoControllo idTipoControllo + into #TbErrori +from #tab_temp +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale, +Replace(Replace(replace(DescSegnalazione,'area$',tbErr.mon_area),'ctv$',tbErr.CTV_MONIT),'delta$',tbErr.delta) +,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_VerificaEmail.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_VerificaEmail.sql new file mode 100644 index 00000000..847252f5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_VerificaEmail.sql @@ -0,0 +1,37 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano in Anagrafica un indirizzo email +-- formalmente errato +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_VerificaEmail] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=8 +SELECT RETE, cod_fiscale,@idTipoControllo idtipocontrollo +into #TbErrori +from c6martperiodico.contrattosei +where dbo.RegExIsMatch('^([\w\-\+\.]+)@([\w\-\+\.]+).([\w\-\+\.]+)$',isNull(email,'aa@aa.it'),0) = 0 +and email <> '' -- 10/10/2016 Aggiunta questa condizione per gestire i campi email a '' +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_VerificaEmail_20161010.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_VerificaEmail_20161010.sql new file mode 100644 index 00000000..eb1ef380 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_VerificaEmail_20161010.sql @@ -0,0 +1,36 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano in Anagrafica un indirizzo email +-- formalmente errato +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_VerificaEmail_20161010] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=8 +SELECT RETE, cod_fiscale,@idTipoControllo idtipocontrollo +into #TbErrori +from c6martperiodico.contrattosei +where dbo.RegExIsMatch('^([\w\-\+\.]+)@([\w\-\+\.]+).([\w\-\+\.]+)$',isNull(email,'aa@aa.it'),0) = 0 +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_DQ_VerificaEmail_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_SP_DQ_VerificaEmail_pre_selective.sql new file mode 100644 index 00000000..9a319e61 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_DQ_VerificaEmail_pre_selective.sql @@ -0,0 +1,37 @@ +-- ============================================= +-- Author: Caruso Fabrizio +-- Create date: 17/09/2014 +-- Description: +-- Individuazione dei Clienti che presentano in Anagrafica un indirizzo email +-- formalmente errato +-- Impostazione Codice TIPO CONTROLLO per il controllo specifico +-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_DQ_VerificaEmail_pre_selective] +@idFaseElaborazione int +AS +BEGIN +Declare @idTipoControllo int +set @idTipoControllo=8 +SELECT RETE, cod_fiscale,@idTipoControllo idtipocontrollo +into #TbErrori +from c6martperiodico.contrattosei +where dbo.RegExIsMatch('^([\w\-\+\.]+)@([\w\-\+\.]+).([\w\-\+\.]+)$',isNull(email,'aa@aa.it'),0) = 0 +and email <> '' -- 10/10/2016 Aggiunta questa condizione per gestire i campi email a '' +declare @idElab int +select @idElab=max(id_elab) from c6martperiodico.elaborazioni +--select * from c6martperiodico.tb_tipocontrollo +Insert into C6MartPeriodico.TB_SegnalazioniDataQuality +( +idTipoControllo, +rete, +codiceFiscale, +descSegnalazione, +idElaborazione, +richiesta, +idFaseElaborazione) +select tbErr.idTipoControllo,rete,cod_fiscale,DescSegnalazione,@idelab,'',@idFaseElaborazione +from #TbErrori tbErr +inner join c6martperiodico.tb_tipocontrollo Tipo +on tbErr.idtipocontrollo = tipo.idTipoControllo +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_Patrimonio_BF_Percentuale_Piramide.sql b/sql/storedTestbes/C6MartPeriodico_SP_Patrimonio_BF_Percentuale_Piramide.sql new file mode 100644 index 00000000..ad780c24 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_Patrimonio_BF_Percentuale_Piramide.sql @@ -0,0 +1,64 @@ +-- ============================================= +-- Author: Marian Zaki +-- Create date: 29/11/2010 +-- Description: Checks for data validation +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_Patrimonio_BF_Percentuale_Piramide] +-- Add the parameters for the stored procedure here +AS +BEGIN +drop table if exists #liq +drop table if exists #ris +drop table if exists #pre +drop table if exists #inv +drop table if exists #ext +drop table if exists [C6MartPeriodico].[TB_Patrimonio_BF_Percentuale_Piramide] + SELECT pmod.rete,pmod.COD_FISCALE,isnull(sum(pmod.Perc_Area),0.00) as PERC_LIQ + into #liq + FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] pmod + inner join [C6StampeCentralizzate].[C6MartPeriodico].Area_Bisogno ar on pmod.id_area=ar.Id_area + where pmod.rete+pmod.COD_FISCALE in (select distinct b.RETE+b.COD_FISCALE from C6MartPeriodico.PATRIMONIO_BF b) + and ar.Id_area in ('Liq') + group by pmod.RETE,pmod.COD_FISCALE + SELECT pmod.rete,pmod.COD_FISCALE,isnull(sum(pmod.Perc_Area),0.00) as PERC_RIS + into #ris + FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] pmod + inner join [C6StampeCentralizzate].[C6MartPeriodico].Area_Bisogno ar on pmod.id_area=ar.Id_area + where pmod.rete+pmod.COD_FISCALE in (select distinct RETE+COD_FISCALE from C6MartPeriodico.PATRIMONIO_BF) + and ar.Id_area in ('Ris') + group by pmod.RETE,pmod.COD_FISCALE + SELECT pmod.rete,pmod.COD_FISCALE,isnull(sum(pmod.Perc_Area),0.00) as PERC_PRE + into #pre + FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] pmod + inner join [C6StampeCentralizzate].[C6MartPeriodico].Area_Bisogno ar on pmod.id_area=ar.Id_area + where pmod.rete+pmod.COD_FISCALE in (select distinct RETE+COD_FISCALE from C6MartPeriodico.PATRIMONIO_BF) + and ar.Id_area in ('Pre') + group by pmod.RETE,pmod.COD_FISCALE + SELECT pmod.rete,pmod.COD_FISCALE,isnull(sum(pmod.Perc_Area),0.00) as PERC_INV + into #inv + FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] pmod + inner join [C6StampeCentralizzate].[C6MartPeriodico].Area_Bisogno ar on pmod.id_area=ar.Id_area + where pmod.rete+pmod.COD_FISCALE in (select distinct RETE+COD_FISCALE from C6MartPeriodico.PATRIMONIO_BF) + and ar.Id_area in ('Inv') + group by pmod.RETE,pmod.COD_FISCALE + SELECT pmod.rete,pmod.COD_FISCALE,isnull(sum(pmod.Perc_Area),0.000) as PERC_EXT + into #ext + FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] pmod + inner join [C6StampeCentralizzate].[C6MartPeriodico].Area_Bisogno ar on pmod.id_area=ar.Id_area + where pmod.rete+pmod.COD_FISCALE in (select distinct RETE+COD_FISCALE from C6MartPeriodico.PATRIMONIO_BF) + and ar.Id_area in ('Ext') + group by pmod.RETE,pmod.COD_FISCALE + select e.rete,e.cod_fiscale,e.PERC_EXT,i.PERC_INV,p.PERC_PRE,r.PERC_RIS,l.PERC_LIQ + into [C6MartPeriodico].[TB_Patrimonio_BF_Percentuale_Piramide] + from + #ext e inner join #inv i on e.rete+e.COD_FISCALE=i.RETE+i.COD_FISCALE + inner join #pre p on e.rete+e.COD_FISCALE=p.RETE+p.COD_FISCALE + inner join #ris r on e.rete+e.COD_FISCALE=r.RETE+r.COD_FISCALE + inner join #liq l on e.rete+e.COD_FISCALE=l.RETE+l.COD_FISCALE + --select * from [C6MartPeriodico].[TB_Patrimonio_BF_Percentuale_Piramide] + insert into [C6MartPeriodico].[TB_Patrimonio_BF_Percentuale_Piramide] + select distinct rete,cod_fiscale,0.00 as PERC_EXT,0.00 as PERC_INV,0.00 as PERC_PRE,0.00 as PERC_RIS, 0.00 as PERC_LIQ from C6MartPeriodico.PATRIMONIO_BF + except + select rete,cod_fiscale,0.00 as PERC_EXT,0.00 as PERC_INV,0.00 as PERC_PRE,0.00 as PERC_RIS, 0.00 as PERC_LIQ from #liq + --select distinct rete,cod_fiscale from c6martperiodico.PATRIMONIO_BF +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip.sql b/sql/storedTestbes/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip.sql new file mode 100644 index 00000000..d6f1cf4b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip.sql @@ -0,0 +1,203 @@ +--exec C6MartPeriodico.SP_PreTotaliReportGenerazioneZip 960, 1 +CREATE procedure [C6MartPeriodico].[SP_PreTotaliReportGenerazioneZip] + @reportPerZip int, + @isLotto1 int = 0 +AS + set nocount on + create table #result ( + totReportGenerati int, + isUltimoZip int + ) + declare @ce int=0 + declare @totReportGenerati int + declare @isUltimoZip int + declare @KO int + set @KO = 0 + declare @err varchar(500) + set @err = '' + --exec [C6MartPeriodico].[SP_TotaliReportGenerazioneZip] 960, 1 + insert into #result exec [C6MartPeriodico].[SP_TotaliReportGenerazioneZip] @reportPerZip, @isLotto1 + select @totReportGenerati = totReportGenerati, @isUltimoZip = isUltimoZip from #result + if @isLotto1 = 1 + begin + if @isUltimoZip = 2 + begin + if (select count(*) from [C6MartPeriodico].WHITELIST_ZIP WHERE Pacchetto_Zip is null) = 0 + begin + set @KO = 1 + set @err = 'Nel primo lotto non c''è da fare il file Approval, ma la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato 2' + end + end + if @isUltimoZip = 1 + begin + if (select count(*) from [C6MartPeriodico].WHITELIST_ZIP WHERE Pacchetto_Zip is null) > 0 + begin + set @KO = 1 + set @err = 'Nel primo lotto c''è da fare il file Approval, ma la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato 1' + end + end + if @isUltimoZip not in (1, 2) + begin + set @KO = 1 + set @err = 'Nel primo lotto, la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato inconsistente ' + convert(varchar(10), @isUltimoZip) + end + end + else + begin + if @isUltimoZip <> 1 + begin + set @KO = 1 + set @err = 'Per il lotto successivo, la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato inconsistente ' + convert(varchar(10), @isUltimoZip) + end + end + print '@isLotto1 = ' + convert(varchar(10), @isLotto1) + print '@isUltimoZip = ' + convert(varchar(10), @isUltimoZip) + print '@KO = ' + convert(varchar(10), @KO) + print '@err = ''' + @err + '''' + if @KO = 0 + begin + if @isUltimoZip in (1, 2) + begin + declare @num_stato_report_1 int + declare @num_elab_4 int + select @num_stato_report_1 = COUNT(*) + from C6MartPeriodico.controllo_trimestrale + where stato_report in (1) --1 + select @num_elab_4 = COUNT(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + where elab in(4) + if @num_stato_report_1 <> @num_elab_4 + begin + set @KO = 1 + set @err = 'Controllare gli stati: Controllo_Trimestrale ha ' + convert(varchar(100), @num_stato_report_1) + ' report con stato_report = 1, Cruscotto_ContrattiSEI ha ' + convert(varchar(100), @num_elab_4) + ' con elab = 4' + end + end + end + if @KO = 0 + begin + print 'Controllo su tabella C6MartPeriodico.Gestione_Zip_FTP' + declare @maxIdElaborazione int + select @maxIdElaborazione = max(FkIdElaborazioneZip) from [C6MartPeriodico].[gestione_zip_ftp] + if( select count(*) + from ( + SELECT TOP (1) [id] + ,[nomefile] + ,[dataInvio] + ,[flagInvio] + ,[nomeCartella] + ,[ID_ELAB] + ,[DateCopyToSend] + ,[FKIDElaborazioneZIP] + FROM [C6MartPeriodico].[gestione_zip_ftp] + where + FkIdElaborazioneZip = @maxIdElaborazione + and + DateCopyToSend is null + order by 1 desc, 3 desc) a + ) > 0 + begin + set @KO = 1 + set @err = 'Situazione incongruente sulla tabella ''[C6MartPeriodico].[gestione_zip_ftp]''' + end + end + if @KO = 0 + begin + print 'Controllo su tabella C6MartPeriodico.Elaborazioni_ZIP' + --modifica del 17/10/2018 per gestire il caso in cui il file di approval è stato inviato ma l'intero lotto ancora no e quindi c'è + -- una riga con datafine= null + if not (@isLotto1 = 1 and @isUltimoZip = 1) + begin + if( select count(*) + from ( + SELECT TOP (1) [IDElaborazioneZIP] + ,[DataInizio] + ,[DataFine] + FROM [C6MartPeriodico].[elaborazioni_zip] + where DataFine is null + order by 1 desc, 2 desc) a + ) > 0 + begin + set @KO = 1 + set @err = 'Situazione incongruente sulla tabella ''[C6MartPeriodico].[elaborazioni_zip]''' + end + end + end + if @KO = 0 + begin + print 'COPIA TABELLE' + begin try + set @ce=10 + declare @query nvarchar(max) + declare @today datetime + declare @sToday varchar(10) + declare @nometabella nvarchar(max) + declare @sql nvarchar(max) + declare @res table (tablename varchar(100)) + --SET FMTONLY ON + set @today = getdate() + set @ce=20 + set @sToday = convert(varchar(4), datepart(yyyy, @today)) + right('0' + convert(varchar(2), datepart(mm, @today)), 2) + right('0' + convert(varchar(2), datepart(dd, @today)), 2) + set @ce=30 + set @nometabella='C6MartPeriodico.controllo_trimestrale_' + @sToday + '_preZip'; + set @sql='DROP TABLE '+QUOTENAME(@nometabella)+''; + --if EXISTS (select * from sys.objects where object_id= OBJECT_ID(@nometabella) and type in (N'U')) + -- exec sp_executesql @sql; + set @query = 'select * into C6MartPeriodico.controllo_trimestrale_' + @sToday + '_preZip from C6MartPeriodico.controllo_trimestrale' + print @query + insert @res + exec sys.sp_executesql @query + set @nometabella='C6MartPeriodico.cruscotto_contrattisei_' + @sToday + '_preZip'; + set @sql='DROP TABLE '+QUOTENAME(@nometabella)+''; + --if EXISTS (select * from sys.objects where object_id= OBJECT_ID(@nometabella) and type in (N'U')) + -- exec sp_executesql @sql; + set @ce=40 + set @query = 'select * into C6MartPeriodico.cruscotto_contrattisei_' + @sToday + '_preZip from C6MartPeriodico.cruscotto_contrattisei' + print @query + insert @res + EXEC sys.sp_executesql @query + set @nometabella='C6MartPeriodico.elaborazioni_zip_' + @sToday + '_preZip'; + set @sql='DROP TABLE '+QUOTENAME(@nometabella)+''; + --if EXISTS (select * from sys.objects where object_id= OBJECT_ID(@nometabella) and type in (N'U')) + -- exec sp_executesql @sql; + set @ce=50 + set @query = 'select * into C6MartPeriodico.elaborazioni_zip_' + @sToday + '_preZip from C6MartPeriodico.elaborazioni_zip' + print @query + insert @res + EXEC sys.sp_executesql @query + set @nometabella='C6MartPeriodico.gestione_zip_ftp_' + @sToday + '_preZip'; + set @sql='DROP TABLE '+QUOTENAME(@nometabella)+''; + --if EXISTS (select * from sys.objects where object_id= OBJECT_ID(@nometabella) and type in (N'U')) + -- exec sp_executesql @sql; + set @ce=60 + set @query = 'select * into C6MartPeriodico.gestione_zip_ftp_' + @sToday + '_preZip from C6MartPeriodico.gestione_zip_ftp' + print @query + insert @res + EXEC sys.sp_executesql @query + set @nometabella='C6MartPeriodico.gestione_pdf_ftp_' + @sToday + '_preZip'; + set @sql='DROP TABLE '+QUOTENAME(@nometabella)+''; + --if EXISTS (select * from sys.objects where object_id= OBJECT_ID(@nometabella) and type in (N'U')) + -- exec sp_executesql @sql; + set @ce=70 + set @query = 'select * into C6MartPeriodico.gestione_pdf_ftp_' + @sToday + '_preZip from C6MartPeriodico.gestione_pdf_ftp' + print @query + insert @res + EXEC sys.sp_executesql @query + --SET FMTONLY OFF + --exec C6MartPeriodico.CreaTabelleCopia + end try + begin catch + set @KO = 1 + set @err = ERROR_MESSAGE() + select 0 as Esito, @err as Err, ERROR_LINE() as rigaerr,@ce as riga + --SET FMTONLY OFF + return + end catch + end + select + case + when @KO = 0 then 1 + when @KO = 1 then 0 + else 0 + end as Esito, + @err as Err + drop table #result \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip_20181017.sql b/sql/storedTestbes/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip_20181017.sql new file mode 100644 index 00000000..e60ce51c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_PreTotaliReportGenerazioneZip_20181017.sql @@ -0,0 +1,168 @@ +--exec C6MartPeriodico.SP_PreTotaliReportGenerazioneZip 960, 1 +CREATE procedure [C6MartPeriodico].[SP_PreTotaliReportGenerazioneZip_20181017] + @reportPerZip int, + @isLotto1 int = 0 +AS + set nocount on + create table #result ( + totReportGenerati int, + isUltimoZip int + ) + declare @totReportGenerati int + declare @isUltimoZip int + declare @KO int + set @KO = 0 + declare @err varchar(500) + set @err = '' + --exec [C6MartPeriodico].[SP_TotaliReportGenerazioneZip] 960, 1 + insert into #result exec [C6MartPeriodico].[SP_TotaliReportGenerazioneZip] @reportPerZip, @isLotto1 + select @totReportGenerati = totReportGenerati, @isUltimoZip = isUltimoZip from #result + if @isLotto1 = 1 + begin + if @isUltimoZip = 2 + begin + if (select count(*) from [C6MartPeriodico].WHITELIST_ZIP WHERE Pacchetto_Zip is null) = 0 + begin + set @KO = 1 + set @err = 'Nel primo lotto non c''è da fare il file Approval, ma la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato 2' + end + end + if @isUltimoZip = 1 + begin + if (select count(*) from [C6MartPeriodico].WHITELIST_ZIP WHERE Pacchetto_Zip is null) > 0 + begin + set @KO = 1 + set @err = 'Nel primo lotto c''è da fare il file Approval, ma la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato 1' + end + end + if @isUltimoZip not in (1, 2) + begin + set @KO = 1 + set @err = 'Nel primo lotto, la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato inconsistente ' + convert(varchar(10), @isUltimoZip) + end + end + else + begin + if @isUltimoZip <> 1 + begin + set @KO = 1 + set @err = 'Per il lotto successivo, la procedura ''SP_TotaliReportGenerazioneZip'' ha restituito lo stato inconsistente ' + convert(varchar(10), @isUltimoZip) + end + end + print '@isLotto1 = ' + convert(varchar(10), @isLotto1) + print '@isUltimoZip = ' + convert(varchar(10), @isUltimoZip) + print '@KO = ' + convert(varchar(10), @KO) + print '@err = ''' + @err + '''' + if @KO = 0 + begin + if @isUltimoZip in (1, 2) + begin + declare @num_stato_report_1 int + declare @num_elab_4 int + select @num_stato_report_1 = COUNT(*) + from C6MartPeriodico.controllo_trimestrale + where stato_report in (1) --1 + select @num_elab_4 = COUNT(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + where elab in(4) + if @num_stato_report_1 <> @num_elab_4 + begin + set @KO = 1 + set @err = 'Controllare gli stati: Controllo_Trimestrale ha ' + convert(varchar(100), @num_stato_report_1) + ' report con stato_report = 1, Cruscotto_ContrattiSEI ha ' + convert(varchar(100), @num_elab_4) + ' con elab = 4' + end + end + end + if @KO = 0 + begin + print 'Controllo su tabella C6MartPeriodico.Gestione_Zip_FTP' + declare @maxIdElaborazione int + select @maxIdElaborazione = max(FkIdElaborazioneZip) from [C6MartPeriodico].[gestione_zip_ftp] + if( select count(*) + from ( + SELECT TOP (1) [id] + ,[nomefile] + ,[dataInvio] + ,[flagInvio] + ,[nomeCartella] + ,[ID_ELAB] + ,[DateCopyToSend] + ,[FKIDElaborazioneZIP] + FROM [C6MartPeriodico].[gestione_zip_ftp] + where + FkIdElaborazioneZip = @maxIdElaborazione + and + DateCopyToSend is null + order by 1 desc, 3 desc) a + ) > 0 + begin + set @KO = 1 + set @err = 'Situazione incongruente sulla tabella ''[C6MartPeriodico].[gestione_zip_ftp]''' + end + end + if @KO = 0 + begin + print 'Controllo su tabella C6MartPeriodico.Elaborazioni_ZIP' + if( select count(*) + from ( + SELECT TOP (1) [IDElaborazioneZIP] + ,[DataInizio] + ,[DataFine] + FROM [C6MartPeriodico].[elaborazioni_zip] + where DataFine is null + order by 1 desc, 2 desc) a + ) > 0 + begin + set @KO = 1 + set @err = 'Situazione incongruente sulla tabella ''[C6MartPeriodico].[elaborazioni_zip]''' + end + end + if @KO = 0 + begin + print 'COPIA TABELLE' + begin try + declare @query nvarchar(max) + declare @today datetime + declare @sToday varchar(10) + declare @res table (tablename varchar(100)) + --SET FMTONLY ON + set @today = getdate() + set @sToday = convert(varchar(4), datepart(yyyy, @today)) + right('0' + convert(varchar(2), datepart(mm, @today)), 2) + right('0' + convert(varchar(2), datepart(dd, @today)), 2) + set @query = 'select * into C6MartPeriodico.controllo_trimestrale_' + @sToday + '_preZip from C6MartPeriodico.controllo_trimestrale' + print @query + insert @res + exec sys.sp_executesql @query + set @query = 'select * into C6MartPeriodico.cruscotto_contrattisei_' + @sToday + '_preZip from C6MartPeriodico.cruscotto_contrattisei' + print @query + insert @res + EXEC sys.sp_executesql @query + set @query = 'select * into C6MartPeriodico.elaborazioni_zip_' + @sToday + '_preZip from C6MartPeriodico.elaborazioni_zip' + print @query + insert @res + EXEC sys.sp_executesql @query + set @query = 'select * into C6MartPeriodico.gestione_zip_ftp_' + @sToday + '_preZip from C6MartPeriodico.gestione_zip_ftp' + print @query + insert @res + EXEC sys.sp_executesql @query + set @query = 'select * into C6MartPeriodico.gestione_pdf_ftp_' + @sToday + '_preZip from C6MartPeriodico.gestione_pdf_ftp' + print @query + insert @res + EXEC sys.sp_executesql @query + --SET FMTONLY OFF + --exec C6MartPeriodico.CreaTabelleCopia + end try + begin catch + set @KO = 1 + set @err = ERROR_MESSAGE() + select 0 as Esito, @err as Err + --SET FMTONLY OFF + return + end catch + end + select + case + when @KO = 0 then 1 + when @KO = 1 then 0 + else 0 + end as Esito, + @err as Err + drop table #result \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_TROVA_REPORT_DA_RIGENERARE.sql b/sql/storedTestbes/C6MartPeriodico_SP_TROVA_REPORT_DA_RIGENERARE.sql new file mode 100644 index 00000000..e3a8839c --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_TROVA_REPORT_DA_RIGENERARE.sql @@ -0,0 +1,17 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_TROVA_REPORT_DA_RIGENERARE] + @Rete char(1), + @CodiceFiscale varchar(16), + @TipoReport varchar(1) +AS +BEGIN + SELECT IDReport from C6MartPeriodico.GESTIONE_PDF_FTP + WHERE rete=@Rete + and codicefiscale=@CodiceFiscale + and TipoReport=@TipoReport +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_TotaliReportGenerazioneZip.sql b/sql/storedTestbes/C6MartPeriodico_SP_TotaliReportGenerazioneZip.sql new file mode 100644 index 00000000..9716f9ee --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_TotaliReportGenerazioneZip.sql @@ -0,0 +1,38 @@ +--[C6MartPeriodico].[SP_TotaliReportGenerazioneZip] 960,1 +CREATE PROCEDURE [C6MartPeriodico].[SP_TotaliReportGenerazioneZip] +@reportPerZip int, @isLotto1 int = 0 +AS +BEGIN +IF @isLotto1 = 1 and 0 < (select count(*) from [C6MartPeriodico].WHITELIST_ZIP WHERE Pacchetto_Zip is null) + BEGIN + select count(*) totReportGenerati, + 2 as isUltimoZip + from [C6MartPeriodico].WHITELIST_ZIP WHERE Pacchetto_Zip is null + END +ELSE + BEGIN + Declare @totReportDaGenerareCT int + Declare @totReportGenerati int + declare @totReportDaNonGenerareCCS int + if @reportPerZip = 0 + set @reportPerZip = 960 + select @totReportGenerati =COUNT(*) + from C6MartPeriodico.controllo_trimestrale + where stato_report in (4) --1 + select @totReportDaGenerareCT =COUNT(*) + from C6MartPeriodico.controllo_trimestrale + where stato_report in (1) --1 + select @totReportDaNonGenerareCCS=COUNT(*) + from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + where elab in(4) + --select @totReportGenerati totReportGenerati + -- , @totReportDaGenerareCT totReportDaGenerareCT + -- , @totReportDaNonGenerareCCS totReportDaNonGenerareCCS + select @totReportGenerati totReportGenerati, + case when(@totReportDaGenerareCT - @totReportDaNonGenerareCCS) = 0 then + 1 + else + 0 + End as isUltimoZip + END +End \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_Valorizza_Stati_semaforo_TRIM.sql b/sql/storedTestbes/C6MartPeriodico_SP_Valorizza_Stati_semaforo_TRIM.sql new file mode 100644 index 00000000..700c6ac7 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_Valorizza_Stati_semaforo_TRIM.sql @@ -0,0 +1,909 @@ +-- flag_stato=1 completato (verde) +-- flag_stato=2 in esecuzione (giallo) +-- flag_stato=3 non lavorato (rosso) +--truncate table C6MartPeriodico.tab_semaforo +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM quad_end,SEI + --select * from C6MartPeriodico.tab_semaforo +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_Valorizza_Stati_semaforo_TRIM] @param1 varchar(20),@tipo varchar(20) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + declare + @intero int, + @trimestrale varchar(3), + @lotto_zero varchar(3), + @quadratura varchar(3), + @lotto varchar(3), + @congelamento varchar(3), + @sm1 varchar(3), + @position varchar(3), + @adeguatezza varchar(3), + @post_ade varchar(3), + @sm2 varchar(3), + @certificazione varchar(3), + @zipping varchar(3), + @approval varchar(3), + @invio varchar(3), + @postalizzazione varchar(3), + --descrizioni + @desc_trimestrale varchar(256), + @desc_lotto_zero varchar(256), + @desc_quadratura varchar(256), + @desc_lotto varchar(256), + @desc_congelamento varchar(256), + @desc_sm1 varchar(256), + @desc_position varchar(256), + @desc_adeguatezza varchar(256), + @desc_post_ade varchar(256), + @desc_sm2 varchar(256), + @desc_certificazione varchar(256), + @desc_zipping varchar(256), + @desc_approval varchar(256), + @desc_invio varchar(256), + @desc_postalizzazione varchar(256) + set @intero='0' + set @trimestrale='1' + set @lotto_zero='2' + set @quadratura='3' + set @lotto='2' + set @congelamento='4' + set @sm1='5' + set @position='6' + --set @adeguatezza='7' + --set @post_ade='8' + set @sm2='7' + set @certificazione='8' + set @zipping='9' + set @approval='10' + set @invio='11' + set @postalizzazione='12' + set @desc_trimestrale='Rendicontazioni sugli investimenti per i clienti con contratto di consulenza "SEI". ' + set @lotto_zero='' + set @desc_quadratura='Fase di Quadratura per i clienti tra le varie fonti db.' + set @desc_lotto='Preparazione delle rendicontazioni in corso.' + set @desc_congelamento='Fase di congelamento per il database di marketing.' + set @desc_sm1='Preparazione ed elaborazione dati da Staging & Mart Fase 1.' + set @desc_position='Elaborazione Position Data ed Adeguatezza.' + --set @adeguatezza='7' + --set @post_ade='8' + set @desc_sm2='Preparazione ed elaborazione dati da Staging & Mart Fase 2.' + set @desc_certificazione='Certificazione sul campione dei PDF dei Clienti.' + set @desc_zipping='Fase di zip per l''invio dei report.' + set @desc_approval='Approvazione del lotto corrente.' + set @desc_invio='Invio dei file generati.' + set @desc_postalizzazione='Conferma di avvenuta postalizzazione dei PDF dei clienti.' + --select * from C6MartPeriodico.tab_semaforo + --inserimento + --select * from C6MartPeriodico.tab_semaforo + --insert into C6MartPeriodico.tab_semaforo values + --avvio_trimestre + --update C6MartPeriodico.tab_semaforo + --set descrizione='Fase di congelamento per il database di marketing' + --from C6MartPeriodico.tab_semaforo + --where id_milestone=4 +if ((select COUNT(*) from C6MartPeriodico.tab_semaforo)=0) +begin +insert into C6MartPeriodico.tab_semaforo values +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@trimestrale,'TRIMESTRALE',@desc_trimestrale,'','',3,@intero,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@lotto_zero,'LOTTO 0','','','',3,@intero,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@quadratura,'QUADRATURA',@desc_quadratura,'','',3,@intero,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@lotto,'LOTTO'+' '+ cast(@intero+1 as varchar),@desc_lotto,'','',3,@intero+1,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@congelamento,'CONGELAMENTO DB MK',@desc_congelamento,'','',3,@intero+1,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@sm1,'STAGING & MART (FASE 1)'+' '+ cast(@intero+1 as varchar),@desc_sm1,'','',3,@intero+1,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@position,'CHIAMATA ALADDIN'+' '+ cast(@intero+1 as varchar),@desc_position,'','',3,@intero+1,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@adeguatezza,'ADEGUATEZZA'+' '+ cast(@intero+1 as varchar),'','','',3,@intero+1), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@post_ade,'POST_ADE'+' '+ cast(@intero+1 as varchar),'','','',3,@intero+1), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@sm2,'STAGING & MART (FASE 2)'+' '+ cast(@intero+1 as varchar),@desc_sm2,'','',3,@intero+1,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@certificazione,'CERTIFICAZIONE',@desc_certificazione,'','',3,@intero+1,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@zipping,'ZIPPING'+' '+ cast(@intero+1 as varchar),@desc_zipping,'','',3,@intero+1,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@approval,'APPROVAL',@desc_approval,'','',3,@intero+1,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@invio,'INVIO PDF'+' '+ cast(@intero+1 as varchar),@desc_invio,'','',3,@intero+1,'','',0), +([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@postalizzazione,'POSTALIZZAZIONE'+' '+ cast(@intero+1 as varchar),@desc_postalizzazione,'','',3,@intero+1,'','',0) +end +--insert into C6MartPeriodico.tab_semaforo values +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@trimestrale,'TRIMESTRALE',@desc_trimestrale,'','',3,@intero,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@lotto_zero,'LOTTO 0','','','',3,@intero,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@quadratura,'QUADRATURA',@desc_quadratura,getdate()+1,getdate()+4,3,@intero,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@lotto,'LOTTO'+' '+ cast(@intero+1 as varchar),@desc_lotto,getdate()+5,getdate()+30,3,@intero+1,getdate()+5,getdate()+30,0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@congelamento,'CONGELAMENTO DB MK',@desc_congelamento,getdate()+6,getdate()+8,3,@intero+1,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@sm1,'STAGING & MART (FASE 1)'+' '+ cast(@intero+1 as varchar),@desc_sm1,getdate()+6,getdate()+8,3,@intero+1,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@position,'CHIAMATA ALADDIN'+' '+ cast(@intero+1 as varchar),@desc_position,getdate()+9,getdate()+11,3,@intero+1,'','',0), +----([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@adeguatezza,'ADEGUATEZZA'+' '+ cast(@intero+1 as varchar),'','','',3,@intero+1), +----([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@post_ade,'POST_ADE'+' '+ cast(@intero+1 as varchar),'','','',3,@intero+1), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@sm2,'STAGING & MART (FASE 2)'+' '+ cast(@intero+1 as varchar),@desc_sm2,getdate()+12,getdate()+14,3,@intero+1,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@certificazione,'CERTIFICAZIONE',@desc_certificazione,getdate()+13,getdate()+17,3,@intero+1,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@zipping,'ZIPPING'+' '+ cast(@intero+1 as varchar),@desc_zipping,getdate()+18,getdate()+21,3,@intero+1,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@approval,'APPROVAL',@desc_approval,getdate()+23,getdate()+25,3,@intero+1,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@invio,'INVIO PDF'+' '+ cast(@intero+1 as varchar),@desc_invio,getdate()+25,getdate()+27,3,@intero+1,'','',0), +--([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@postalizzazione,'POSTALIZZAZIONE'+' '+ cast(@intero+1 as varchar),@desc_postalizzazione,getdate()+27,getdate()+30,3,@intero+1,'','',0) +if (@param1='TRIM_START') +begin +if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='TRIMESTRALE' and tipo_reportistica=@tipo and flg_stato=1)>0) +begin +truncate table C6MartPeriodico.tab_semaforo +--;throw 51014,'Presente una trimestrale conclusa, per continuare fai una truncate su questa tabella',0 +end +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='TRIMESTRALE' and tipo_reportistica=@tipo +if(@intero>0) +begin +update C6MartPeriodico.tab_semaforo +set inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end, +trim_corrente=[C6MartPeriodico].[getTrimestre](GETDATE(),0), +--fine_milestone=GETDATE()+50, +--fine_lotto=GETDATE()+50, +flg_stato=2 +where milestone='TRIMESTRALE' and tipo_reportistica=@tipo; +exec C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM LOTTO0_START,@tipo +end +--else +--begin +--insert into C6MartPeriodico.tab_semaforo +--values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,'TRIMESTRALE','',GETDATE(),GETDATE()+50,2,@intero) +--end +end +if(@param1='LOTTO0_START') +begin +if((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='TRIMESTRALE' and flg_stato=2 and tipo_reportistica=@tipo)<>0) +begin +update C6MartPeriodico.tab_semaforo +set inizio_lotto= case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end, +inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +flg_stato=2 +--fine_milestone=GETDATE()+4, +--fine_lotto=GETDATE()+4 +from C6MartPeriodico.tab_semaforo +where milestone='lotto 0' and tipo_reportistica=@tipo +end +else +begin +;throw 50003,'Nessuna fase di Trimestrale in corso',0 +end +end +if(@param1='LOTTO0_END') +begin +if((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%LOTTO 0%' and flg_stato=2 and tipo_reportistica=@tipo)<>0) +begin +update C6MartPeriodico.tab_semaforo +set fine_lotto=GETDATE(),flg_stato=1, +fine_milestone=GETDATE() +from C6MartPeriodico.tab_semaforo +where milestone = 'LOTTO 0' and tipo_reportistica=@tipo +end +else +begin +;throw 50003,'Nessuna fase di Lotto avviata',0 +end +end +--if((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='Trimestrale' and tipo_reportistica=@tipo and flg_stato=2)=1) +--begin +--inizio quadratura +if(@param1='QUAD_START') +begin +if((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%Certificazione%' and flg_stato=1 and tipo_reportistica=@tipo)<>0) +begin +;throw 51012,'Fase di Certificazione già avviata non puoi avviare un altra quadratura',0 +end +if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='trimestrale' and tipo_reportistica=@tipo)=0) +begin +;throw 51000,'NESSUNA FASE DI TRIMESTRALE PRECEDENTE',0 +end +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='QUADRATURA' and flg_stato<>1 and tipo_reportistica=@tipo +if(@intero>0) +begin +update C6MartPeriodico.tab_semaforo +set trim_corrente=[C6MartPeriodico].[getTrimestre](GETDATE(),0), + inizio_milestone= case when flg_stato<>2 then GETDATE() else inizio_milestone end, + inizio_lotto=getdate(), +--fine_milestone=GETDATE()+2 , +flg_stato=2 +where milestone='QUADRATURA' +end +--else +--begin +--insert into C6MartPeriodico.tab_semaforo +--values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@quadratura,'QUADRATURA',@desc_quadratura,GETDATE(),GETDATE()+2,2,@intero,'','',0) +--end +end +-- certificazione start +--if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='Trimestrale' and tipo_reportistica=@tipo and flg_stato=2)=1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='Quadratura' and tipo_reportistica=@tipo and flg_stato=2)=1) +--begin +-- certificazione start +if(@param1='CERTIFICAZIONE_START') +begin +if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='trimestrale' and tipo_reportistica=@tipo)=0) +begin +;throw 51000,'NESSUNA FASE DI TRIMESTRALE PRECEDENTE',0 +end +if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='quadratura' and flg_stato = 2 and tipo_reportistica=@tipo)>0 or +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='quadratura' and tipo_reportistica=@tipo) =0) +begin +;throw 51001,'NESSUNA FASE DI QUADRATURA PRECEDENTE',0 +end +if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%lotto%' and milestone<> 'LOTTO 0' and flg_stato <> 2 and tipo_reportistica=@tipo)>0 or +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%lotto%' and milestone<> 'LOTTO 0' and tipo_reportistica=@tipo) =0) +begin +;throw 51001,'NESSUNA FASE DI LOTTO PRECEDENTE',0 +end +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='CERTIFICAZIONE' and tipo_reportistica=@tipo +if(@intero>0) +--and(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='quadratura' and flg_stato = 0 and tipo_reportistica=@tipo)=1) +begin +update C6MartPeriodico.tab_semaforo +set trim_corrente=[C6MartPeriodico].[getTrimestre](GETDATE(),0), + inizio_milestone= case when flg_stato<>2 then GETDATE() else inizio_milestone end, + inizio_lotto=getdate(), +--fine_milestone=GETDATE()+2 , +flg_stato=2, +fase=@intero +where milestone='CERTIFICAZIONE' +end +else +begin +insert into C6MartPeriodico.tab_semaforo +values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,'10','CERTIFICAZIONE',@desc_certificazione,GETDATE(),GETDATE()+2,2,@intero,'','',0) +end +end +----lotto start +--if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='Trimestrale' and tipo_reportistica=@tipo and flg_stato=2)=1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='Quadratura' and tipo_reportistica=@tipo and flg_stato=2)=1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='Certificazione' and tipo_reportistica=@tipo and flg_stato=2)=1) +--begin +if(@param1='LOTTO_START') +begin +if((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='Quadratura' and tipo_reportistica=@tipo)=0) +begin +;throw 51013,'Non hai avviato una fase precedente al lotto (Trimestrale,Quadratura)',0 +end +if((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='Quadratura' and flg_stato=2 and tipo_reportistica=@tipo)>0) +begin +;throw 51015,'Fase Quadratura ancora in exec',0 +end +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%LOTTO%' and milestone<> 'LOTTO 0' and tipo_reportistica=@tipo +if(@intero >=0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%LOTTO%' and milestone<> 'LOTTO 0' and flg_stato = 1 and tipo_reportistica=@tipo and fase=@intero) >0 ) +begin +insert into C6MartPeriodico.tab_semaforo +values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@lotto,'LOTTO'+' '+ cast(@intero+1 as varchar),@desc_lotto,GETDATE(),'',2,@intero+1,GETDATE(),'',0) +end +else +if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%lotto%' and milestone<> 'LOTTO 0' and tipo_reportistica=@tipo)>0) +begin +update C6MartPeriodico.tab_semaforo +set +inizio_milestone= case when flg_stato<>2 then GETDATE() else inizio_milestone end, +inizio_lotto= getdate(), +--case when inizio_lotto like '%1900%' then GETDATE() else inizio_lotto end, +flg_stato=2 +--fine_milestone=GETDATE()+10, +--fine_lotto=GETDATE()+10 +from C6MartPeriodico.tab_semaforo +where milestone='lotto'+' '+cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 50003,'Lotto ancora in exec',0 +end +end +--lotto end +if(@param1='LOTTO_END') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%LOTTO%' and milestone<> 'LOTTO 0' and tipo_reportistica=@tipo +if(@intero >0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%LOTTO%' and milestone<> 'LOTTO 0' and flg_stato = 2 and tipo_reportistica=@tipo) <> 0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%zipping%' and flg_stato=1 and fase=@intero and tipo_reportistica=@tipo)<>0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and flg_stato=1 and fase=@intero and tipo_reportistica=@tipo)<>0 ) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(), +fine_lotto=getdate(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone = 'LOTTO'+' '+ cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51004,'Nessuna fase di Lotto oppure fase lotto non conclusa (INVIO)',0 +end +end +----zipping start +if(@param1='ZIPPING_START') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%ZIPPING%' and tipo_reportistica=@tipo +if(@intero >=0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='LOTTO'+' '+cast(@intero+1 as varchar) and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%zipping%' and flg_stato=2 and tipo_reportistica=@tipo )=0 ) +begin +insert into C6MartPeriodico.tab_semaforo +values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@zipping,'ZIPPING'+' '+ cast(@intero+1 as varchar),@desc_zipping,GETDATE(),GETDATE()+1,2,@intero+1,'','',0) +end +else if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%zipping%' and tipo_reportistica=@tipo)>0) +begin +update C6MartPeriodico.tab_semaforo + set inizio_milestone= case when flg_stato<>2 then GETDATE() else inizio_milestone end, + inizio_lotto=getdate(), +flg_stato=2 +--fine_milestone=GETDATE()+1 +from C6MartPeriodico.tab_semaforo +where milestone='zipping'+' '+cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51005,'Fasi precedenti a zipping non avviati',0 +end +end +--zipping end +if(@param1='ZIPPING_END') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%zipping%' and tipo_reportistica=@tipo +if(@intero >0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%zipping%' and flg_stato = 2 and tipo_reportistica=@tipo) <> 0 +--and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and flg_stato=0 and fase=@intero)<>0 +) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone = 'zipping'+' '+ cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51006,'Nessuna fase di Zipping avviata',0 +end +end +--invio start +if(@param1='INVIO_START') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and tipo_reportistica=@tipo +if(@intero >=0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='LOTTO'+' '+cast(@intero+1 as varchar) and flg_stato = 2 and tipo_reportistica=@tipo) <>0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='ZIPPING'+' '+cast(@intero+1 as varchar) and flg_stato=1 and tipo_reportistica=@tipo)<>0 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='APPROVAL'+' '+cast(@intero+1 as varchar) and flg_stato=1 and tipo_reportistica=@tipo)<>0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and flg_stato=2 and tipo_reportistica=@tipo)=0 ) +begin +insert into C6MartPeriodico.tab_semaforo +values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@invio,'INVIO PDF'+' '+ cast(@intero+1 as varchar),@desc_invio,GETDATE(),GETDATE()+2,2,@intero+1,'','',0) +end +else if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and tipo_reportistica=@tipo)>0) +begin +update C6MartPeriodico.tab_semaforo +set inizio_milestone= case when flg_stato<>2 then GETDATE() else inizio_milestone end, + inizio_lotto=getdate(), +flg_stato=2 +--fine_milestone=GETDATE()+1 +from C6MartPeriodico.tab_semaforo +where milestone='invio pdf'+' '+cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51007,'Fase precedente ancora in exec o non avviata',0 +end +end +--invio end +if(@param1='INVIO_END') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and tipo_reportistica=@tipo +if(@intero >0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and flg_stato = 2 and tipo_reportistica=@tipo) <> 0) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone = 'INVIO pdf'+' '+ cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51008,'Nessuna fase di invio',0 +end +end +--end --if controllo certificazione +--else +--begin +--throw('NESSUNA CERTIFICAZIONE AVVIATA 2 CONTROLLO') +--end +--end --if controllo quadratura +--else +--begin +--if((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='TRIMESTRALE' and flg_stato=2)=0) +--throw('NESSUNA QUADRATURA AVVIATA 2 CONTROLLO') +--end +--end --if controllo trimestrale +--else +--begin +--throw('NESSUNA TRIMESTRALE AVVIATA 2 CONTROLLO') +--end +-- approval inizio +if(@param1='APPROVAL_START') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and tipo_reportistica=@tipo +if(@intero >=0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='LOTTO'+' '+'1' and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='ZIPPING'+' '+'1' and flg_stato=1 and tipo_reportistica=@tipo)=1 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%approval%' and flg_stato=2 and tipo_reportistica=@tipo)=0 ) +begin +--insert into C6MartPeriodico.tab_semaforo +--values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@approval,'APPROVAL',@desc_approval,GETDATE(),GETDATE()+2,2,@intero+1,'','',0) +--end +--else if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%APPROVAL%' and tipo_reportistica=@tipo)>0) +--begin +update C6MartPeriodico.tab_semaforo +set inizio_milestone= case when flg_stato<>2 then GETDATE() else inizio_milestone end, + inizio_lotto=getdate(), +flg_stato=2--fine_milestone=GETDATE()+1 +from C6MartPeriodico.tab_semaforo +where milestone='APPROVAL' and tipo_reportistica=@tipo +end +else +begin +;throw 51007,'Fase precedente ancora in exec o non avviata',0 +end +end +--approval end +if(@param1='APPROVAL_END') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%approval%' and tipo_reportistica=@tipo +if(@intero >0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%approval%' and flg_stato = 2 and tipo_reportistica=@tipo) <> 0) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone = 'APPROVAL' and tipo_reportistica=@tipo +end +else +begin +;throw 51008,'Nessuna fase di APPROVAL',0 +end +end +--fine_trimestre +if (@param1='TRIM_END') +begin +if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%Lotto%' and milestone<> 'LOTTO 0' and flg_stato=2 and tipo_reportistica=@tipo)<>0) +begin +;throw 51002,'Lotto ancora in Corso',0 +end +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='TRIMESTRALE' and tipo_reportistica=@tipo +if(@intero>0 and (select flg_stato from C6MartPeriodico.tab_semaforo where milestone='TRIMESTRALE' and tipo_reportistica=@tipo) <>0 and +(select COUNT (*) from C6MartPeriodico.tab_semaforo where milestone like '%lotto%' and milestone<> 'LOTTO 0' and flg_stato=1) <> 0) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone='TRIMESTRALE' and tipo_reportistica=@tipo +end +else +begin +;throw 51009,'Nessuna trimestrale avviata oppure fase di Lotto non avviata/conclusa',0 +end +end +--fine quadratura +if(@param1='QUAD_END') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='QUADRATURA' and tipo_reportistica=@tipo +if(@intero>0 and (select flg_stato from C6MartPeriodico.tab_semaforo where milestone='QUADRATURA' and tipo_reportistica=@tipo) <>0) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone='QUADRATURA' and tipo_reportistica=@tipo; +exec C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM LOTTO0_end,@tipo +end +else +begin +;throw 51010,'Nessuna quadratura',0 +end +end +--certificazione end +if(@param1='CERTIFICAZIONE_END') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='CERTIFICAZIONE' and tipo_reportistica=@tipo +if(@intero>0 and (select flg_stato from C6MartPeriodico.tab_semaforo where milestone='CERTIFICAZIONE' and tipo_reportistica=@tipo) <>0) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone='CERTIFICAZIONE' and tipo_reportistica=@tipo +end +else +begin +;throw 51011,'Nessuna Certificazione avviata',0 +end +end +if(@param1='CONGELAMENTO_START') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%congelamento%' and tipo_reportistica=@tipo +if(@intero >=0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='LOTTO'+' '+cast(@intero+1 as varchar) and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%congelamento%' and flg_stato=2 and tipo_reportistica=@tipo )=0 ) +begin +insert into C6MartPeriodico.tab_semaforo +values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@congelamento,'CONGELAMENTO DB MK',@desc_congelamento,GETDATE(),GETDATE()+1,2,@intero+1,'','',0) +end +else if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%CONGELAMENTO%' and tipo_reportistica=@tipo)>0) +begin +update C6MartPeriodico.tab_semaforo +set + inizio_milestone= case when flg_stato<>2 then GETDATE() else inizio_milestone end, + inizio_lotto=getdate(), + --fine_lotto=getdate()+1, +flg_stato=2 +--fine_milestone=GETDATE()+1 +from C6MartPeriodico.tab_semaforo +where milestone='CONGELAMENTO DB MK' and tipo_reportistica=@tipo +end +else +begin +;throw 51005,'Fasi precedenti a congelamento non avviati',0 +end +end +if(@param1='CONGELAMENTO_END') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%CONGELAMENTO%' and tipo_reportistica=@tipo +if(@intero >0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%CONGELAMENTO%' and flg_stato = 2 and tipo_reportistica=@tipo) <> 0 +--and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and flg_stato=0 and fase=@intero)<>0 +) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone = 'CONGELAMENTO DB MK' and tipo_reportistica=@tipo +end +else +begin +;throw 51006,'Nessuna fase di Congelamento avviata',0 +end +end +if(@param1='SM1_START') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 1)%' and tipo_reportistica=@tipo +if(@intero >=0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='LOTTO'+' '+cast(@intero+1 as varchar) and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='CONGELAMENTO DB MK' and flg_stato = 1 and tipo_reportistica=@tipo) =1 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 1)%' and flg_stato=2 and tipo_reportistica=@tipo )=0 ) +begin +insert into C6MartPeriodico.tab_semaforo +values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@sm1,'STAGING & MART (FASE 1)'+' '+ cast(@intero+1 as varchar),@desc_sm1,GETDATE(),'',2,@intero+1,'','',0) +end +else if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 1)%' and tipo_reportistica=@tipo)>0) +begin +update C6MartPeriodico.tab_semaforo +set + inizio_milestone= case when flg_stato<>2 then GETDATE() else inizio_milestone end, + inizio_lotto=getdate(), +flg_stato=2 +--fine_milestone=GETDATE()+1 +from C6MartPeriodico.tab_semaforo +where milestone='STAGING & MART (FASE 1)'+' '+cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51005,'Fasi precedenti a SM non avviati',0 +end +end +--zipping end +if(@param1='SM1_END') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 1)%' and tipo_reportistica=@tipo +if(@intero >0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 1)%' and flg_stato = 2 and tipo_reportistica=@tipo) <> 0 +--and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and flg_stato=0 and fase=@intero)<>0 +) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone = 'STAGING & MART (FASE 1)'+' '+ cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51006,'Nessuna fase di SM avviata',0 +end +end +if(@param1='POSITION_START') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%CHIAMATA ALADDIN%' and tipo_reportistica=@tipo +if(@intero >=0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='LOTTO'+' '+cast(@intero+1 as varchar) and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='CONGELAMENTO' and flg_stato = 1 and tipo_reportistica=@tipo) =1 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 1)%' and flg_stato = 1 and tipo_reportistica=@tipo) <>0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%CHIAMATA ALADDIN%' and flg_stato=2 and tipo_reportistica=@tipo )=0 ) +begin +insert into C6MartPeriodico.tab_semaforo +values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@position,'CHIAMATA ALADDIN'+' '+ cast(@intero+1 as varchar),@desc_position,GETDATE(),'',2,@intero+1,'','',0) +end +else if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%CHIAMATA ALADDIN%' and tipo_reportistica=@tipo)>0) +begin +update C6MartPeriodico.tab_semaforo +set + inizio_milestone= case when flg_stato<>2 then GETDATE() else inizio_milestone end, + inizio_lotto=getdate(), +flg_stato=2 +--fine_milestone=GETDATE()+1 +from C6MartPeriodico.tab_semaforo +where milestone='CHIAMATA ALADDIN'+' '+cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51005,'Fasi precedenti a CHIAMATA ALADDIN non avviati',0 +end +end +--zipping end +if(@param1='POSITION_END') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%CHIAMATA ALADDIN%' and tipo_reportistica=@tipo +if(@intero >0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%CHIAMATA ALADDIN%' and flg_stato = 2 and tipo_reportistica=@tipo) <> 0 +--and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and flg_stato=0 and fase=@intero)<>0 +) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone = 'CHIAMATA ALADDIN'+' '+ cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51006,'Nessuna fase di CHIAMATA ALADDIN avviata',0 +end +end +--if(@param1='ADEGUATEZZA_START') +--begin +--select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%ADEGUATEZZA%' and tipo_reportistica=@tipo +--if(@intero >=0 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='LOTTO'+' '+cast(@intero+1 as varchar) and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='CONGELAMENTO' and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='STAGING & MART (FASE 1)' and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='POSITION' and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%ADEGUATEZZA%' and flg_stato=2 and tipo_reportistica=@tipo )=0 ) +--begin +--insert into C6MartPeriodico.tab_semaforo +--values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@adeguatezza,'ADEGUATEZZA'+' '+ cast(@intero+1 as varchar),'',GETDATE(),GETDATE()+1,2,@intero+1) +--end +--else if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%ADEGUATEZZA%' and tipo_reportistica=@tipo)>0) +--begin +--update C6MartPeriodico.tab_semaforo +--set +--inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +--flg_stato=2, +--fine_milestone=GETDATE()+1 +--from C6MartPeriodico.tab_semaforo +--where milestone='ADEGUATEZZA'+' '+cast(@intero as varchar) and tipo_reportistica=@tipo +--end +--else +--begin +--;throw 51005,'Fasi precedenti a ADEGUATEZZA non avviati',0 +--end +--end +--zipping end +--if(@param1='ADEGUATEZZA_END') +--begin +--select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%ADEGUATEZZA%' and tipo_reportistica=@tipo +--if(@intero >0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%ADEGUATEZZA%' and flg_stato = 2 and tipo_reportistica=@tipo) <> 0 +----and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and flg_stato=0 and fase=@intero)<>0 +--) +--begin +--update C6MartPeriodico.tab_semaforo +--set fine_milestone=GETDATE(),flg_stato=1 +--from C6MartPeriodico.tab_semaforo +--where milestone = 'ADEGUATEZZA'+' '+ cast(@intero as varchar) and tipo_reportistica=@tipo +--end +--else +--begin +--;throw 51006,'Nessuna fase di ADEGUATEZZA avviata',0 +--end +--end +--if(@param1='POST_ADE_START') +--begin +--select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%POST_ADE%' and tipo_reportistica=@tipo +--if(@intero >=0 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='LOTTO'+' '+cast(@intero+1 as varchar) and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='CONGELAMENTO' and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='STAGING & MART (FASE 1)' and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='POSITION' and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='ADEGUATEZZA' and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%POST_ADE%' and flg_stato=2 and tipo_reportistica=@tipo )=0 ) +--begin +--insert into C6MartPeriodico.tab_semaforo +--values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@post_ade,'POST_ADE'+' '+ cast(@intero+1 as varchar),'',GETDATE(),GETDATE()+1,2,@intero+1) +--end +--else if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%POST_ADE%' and tipo_reportistica=@tipo)>0 ) +----and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='ADEGUATEZZA' and flg_stato = 1 and tipo_reportistica=@tipo) =1 ) +--begin +--update C6MartPeriodico.tab_semaforo +--set +--inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +--flg_stato=2, +--fine_milestone=GETDATE()+1 +--from C6MartPeriodico.tab_semaforo +--where milestone='POST_ADE'+' '+cast(@intero as varchar) and tipo_reportistica=@tipo +--end +--else +--begin +--;throw 51005,'Fasi precedenti a POST_ADEGUATEZZA non avviati',0 +--end +--end +----zipping end +--if(@param1='POST_ADE_END') +--begin +--select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%POST_ADE%' and tipo_reportistica=@tipo +--if(@intero >0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%POST_ADE%' and flg_stato = 2 and tipo_reportistica=@tipo) <> 0 +----and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and flg_stato=0 and fase=@intero)<>0 +--) +--begin +--update C6MartPeriodico.tab_semaforo +--set fine_milestone=GETDATE(),flg_stato=1 +--from C6MartPeriodico.tab_semaforo +--where milestone = 'POST_ADE'+' '+ cast(@intero as varchar) and tipo_reportistica=@tipo +--end +--else +--begin +--;throw 51006,'Nessuna fase di POST_ADEGUATEZZA avviata',0 +--end +--end +if(@param1='SM2_START') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 2)%' and tipo_reportistica=@tipo +if(@intero >=0 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='LOTTO'+' '+cast(@intero+1 as varchar) and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='CONGELAMENTO DB MK' and flg_stato = 1 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 1)%' and flg_stato = 2 and tipo_reportistica=@tipo) =0 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%CHIAMATA ALADDIN%' and flg_stato = 2 and tipo_reportistica=@tipo) =0 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='ADEGUATEZZA' and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='POST_ADE' and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 2)%' and flg_stato=2 and tipo_reportistica=@tipo )=0 ) +begin +insert into C6MartPeriodico.tab_semaforo +values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@sm2,'STAGING & MART (FASE 2)'+' '+ cast(@intero+1 as varchar),@desc_sm2,GETDATE(),'',2,@intero+1,'','',0) +end +else if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 2)%' and tipo_reportistica=@tipo)>0) +begin +update C6MartPeriodico.tab_semaforo +set + inizio_milestone= case when flg_stato<>2 then GETDATE() else inizio_milestone end, + inizio_lotto=getdate(), +flg_stato=2 +--fine_milestone=GETDATE()+1 +from C6MartPeriodico.tab_semaforo +where milestone='STAGING & MART (FASE 2)'+' '+cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51005,'Fasi precedenti a STAGING & MART 2 non avviati',0 +end +end +--zipping end +if(@param1='SM2_END') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 2)%' and tipo_reportistica=@tipo +if(@intero >0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%STAGING & MART (FASE 2)%' and flg_stato = 2 and tipo_reportistica=@tipo) <> 0 +--and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%invio%' and flg_stato=0 and fase=@intero)<>0 +) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone = 'STAGING & MART (FASE 2)'+' '+ cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51006,'Nessuna fase di STAGING & MART 2 avviata',0 +end +END +--if(@param1='START') +--BEGIN +--update C6MartPeriodico.tab_semaforo +--set inizio_milestone= case when inizio_milestone like '%1900%' then GETDATE() else inizio_milestone end, +--flg_stato=2, +--fine_milestone=GETDATE()+1 +--from C6MartPeriodico.tab_semaforo +--where milestone LIKE '%POSTALIZZAZIONE%' +----'POSTALIZZAZIONE'+' '+cast(@intero as varchar) and tipo_reportistica=@tipo +--end +if(@param1='P_START') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%POSTALIZZAZIONE%' and tipo_reportistica=@tipo +if(@intero >=0 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='LOTTO'+' '+cast(@intero+1 as varchar) and flg_stato = 2 and tipo_reportistica=@tipo) =1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='ZIPPING'+' '+cast(@intero+1 as varchar) and flg_stato=1 and tipo_reportistica=@tipo)=1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='APPROVAL'+' '+cast(@intero+1 as varchar) and flg_stato=2 and tipo_reportistica=@tipo)=1 and +--(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone='INVIO pdf'+' '+cast(@intero+1 as varchar) and flg_stato=1 and tipo_reportistica=@tipo)=1 and +(select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%POSTALIZZAZIONE%' and flg_stato=2 and tipo_reportistica=@tipo)=0 ) +begin +insert into C6MartPeriodico.tab_semaforo +values ([C6MartPeriodico].[getTrimestre](GETDATE(),0),@tipo,@postalizzazione,'POSTALIZZAZIONE'+' '+ cast(@intero+1 as varchar),@desc_postalizzazione,GETDATE(),'',2,@intero+1,'','',0) +end +else if ((select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%POSTALIZZAZIONE%' and tipo_reportistica=@tipo)>0) +begin +update C6MartPeriodico.tab_semaforo +set + inizio_milestone= case when inizio_lotto like '%1900%' then GETDATE() else inizio_milestone end, + inizio_lotto=getdate(), +flg_stato=2, +fine_milestone=GETDATE()+1 +from C6MartPeriodico.tab_semaforo +where milestone='POSTALIZZAZIONE'+' '+cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51007,'Fase precedente a POSTALIZZAZIONE ancora in exec o non avviata',0 +end +end +--invio end +if(@param1='P_END') +begin +select @intero= COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%POSTALIZZAZIONE%' and tipo_reportistica=@tipo +if(@intero >0 and (select COUNT(*) from C6MartPeriodico.tab_semaforo where milestone like '%POSTALIZZAZIONE%' and flg_stato = 2 and tipo_reportistica=@tipo) <> 0) +begin +update C6MartPeriodico.tab_semaforo +set fine_milestone=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone = 'POSTALIZZAZIONE'+' '+ cast(@intero as varchar) and tipo_reportistica=@tipo +end +else +begin +;throw 51008,'Nessuna fase di POSTALIZZAZIONE',0 +end +update C6MartPeriodico.tab_semaforo +set fine_lotto=GETDATE(),flg_stato=1 +from C6MartPeriodico.tab_semaforo +where milestone = 'LOTTO'+' '+ cast(@intero as varchar) and tipo_reportistica=@tipo +end +----truncate table C6MartPeriodico.tab_semaforo +--select * from C6MartPeriodico.tab_semaforo order by inizio_milestone desc +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM trim_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM trim_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM quad_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM quad_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM lotto_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM congelamento_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM congelamento_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM sm1_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM sm1_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM position_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM position_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM adeguatezza_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM adeguatezza_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM post_ade_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM post_ade_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM sm2_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM sm2_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM certificazione_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM certificazione_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM zipping_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM zipping_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM approval_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM approval_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM invio_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM invio_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM lotto_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM p_START,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM p_end,SEI +--fase +--delete from C6MartPeriodico.tab_semaforo where milestone='LOTTO 2' +--select * from C6MartPeriodico.tab_semaforo order by inizio_milestone desc +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM trim_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM quad_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM quad_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM lotto_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM certificazione_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM certificazione_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM zipping_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM zipping_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM invio_start,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM invio_end,SEI +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM lotto_end,SEI +----truncate table C6MartPeriodico.tab_semaforo +--select * from C6MartPeriodico.tab_semaforo order by inizio_milestone desc +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM trim_start,IMM +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM trim_end,IMM +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM quad_start,IMM +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM quad_end,IMM +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM certificazione_start,IMM +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM certificazione_end,IMM +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM lotto_start,IMM +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM lotto_end,IMM +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM zipping_start,IMM +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM zipping_end,IMM +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM invio_start,IMM +--C6MartPeriodico.SP_Valorizza_Stati_semaforo_TRIM invio_end,IMM +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SP_statistiche_app_rendicontazione.sql b/sql/storedTestbes/C6MartPeriodico_SP_statistiche_app_rendicontazione.sql new file mode 100644 index 00000000..365c06ba --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SP_statistiche_app_rendicontazione.sql @@ -0,0 +1,330 @@ +--select * from dbo.w6trcli where [Freq_ Diagnosi]='S' +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SP_statistiche_app_rendicontazione] +as +begin +declare +--NUMERI +@nr_clientiinperimetro int, +@nr_clientiRFA0 int, +@nr_clientiRFAMinus int, +@nr_clientiProfiloScaduto int, +@nr_clientiBlacklist int, +@nr_clientiinviati int, +@nr_clientidainviare int, +@nr_letteraSostitutiva int, +@nr_clientiImmobiliari int, +@nr_clientiInPerimentroSenzaImmobiliare int, +@nr_Blacklistdiversi int, +@nr_soloClientiImmobiliari int, +@nr_diagnosi int, +@nr_clientirendicontati int, +@nr_lotto1 int, +@nr_lotto2 int, +@nr_lotto3 int, +@nr_lotto4 int, +@nr_lotto5 int, +@nr_lotto6 int, +@nr_lotto7 int, +@nr_lotto8 int, +@nr_lotto9 int, +@nr_lotto10 int, +@nr_clientiinviati_IMM int, +@nr_clientidainviare_IMM int, +@nr_clientiBlacklist_IMM int, +@nr_clientirendicontati_IMM int, +@nr_lotto1_IMM int, +@nr_clientiDiagnosiInviati int, +@nr_clientiDiagnosidaInviare int, +@nr_clienticonMonitoraggio int, +@nr_clientiConImmESei int, +@nr_clientiConSoloImm int, +@nr_letteraSostitutivaImm int, +@nr_clientiRFAMinusImm int, +@nr_clientiProfiloEC int +select @nr_clientiInPerimetro= COUNT(*) from C6MartPeriodico.tabellone where solo_rend_imm='N' or solo_rend_imm is NULL--clienti in perimetro +select @nr_clientiRFA0 = COUNT(*) from C6MartPeriodico.tabellone where blacklist like '%RFA=0%' --clienti con RFA0 +select @nr_clientiRFAMinus = COUNT(*) from C6MartPeriodico.tabellone where blacklist like '%RFA Minus%' --clienti con RFA0 +select @nr_clientiProfiloScaduto= COUNT(*) from C6MartPeriodico.tabellone where blacklist like '%Profilo Scaduto%' and (blacklist not like '%RFA=0%' and blacklist not like '%RFA Minus%') --clienti con il profilo scaduto +select @nr_clientiBlacklist= COUNT(*) from C6MartPeriodico.tabellone where blacklist is not null +select @nr_letteraSostitutiva= COUNT(*) from C6MartPeriodico.tabellone where blacklist like '%RFA=0%' or blacklist like '%profilo%' or blacklist like '%RFA Minus%' +--select @nr_clientiBlacklist= COUNT(*) from C6MartPeriodico.tabellone where blacklist is not null --clienti in blacklist +select @nr_clientiinviati= COUNT(*) from C6MartPeriodico.tabellone where lotto is not null --clienti con report gia inviato +set @NR_clientidainviare= @nr_clientiinperimetro-@nr_clientiinviati-@nr_letteraSostitutiva--@nr_clientiBlacklist --clienti con report da inviare +--select @nr_letteraSostitutiva= COUNT(*) from C6MartPeriodico.tabellone where blacklist like '%sostitutiva%'--like '%RFA%' or blacklist like '%profilo%' +select @nr_clientiImmobiliari = COUNT(*) from C6MartPeriodico.tabellone where flgpe_perimetro_semestr='S' +set @nr_clientiInPerimentroSenzaImmobiliare=@nr_clientiinperimetro-@nr_clientiImmobiliari +select @nr_Blacklistdiversi=@nr_clientiBlacklist-@nr_letteraSostitutiva +select @nr_soloClientiImmobiliari= COUNT(*) from C6MartPeriodico.tabellone where solo_rend_imm='S' +select @nr_diagnosi= COUNT(*) from C6MartPeriodico.tabellone where freq_diagnosi <> '' +set @nr_clientirendicontati=@nr_clientiinperimetro-@nr_letteraSostitutiva--@nr_clientiBlacklist +select @nr_lotto1= count(*) from c6martperiodico.tabellone where lotto=1 +select @nr_lotto2= count(*) from c6martperiodico.tabellone where lotto=2 +select @nr_lotto3= count(*) from c6martperiodico.tabellone where lotto=3 +select @nr_lotto4= count(*) from c6martperiodico.tabellone where lotto=4 +select @nr_lotto5= count(*) from c6martperiodico.tabellone where lotto=5 +select @nr_lotto6= count(*) from c6martperiodico.tabellone where lotto=6 +select @nr_lotto7= count(*) from c6martperiodico.tabellone where lotto=7 +select @nr_lotto8= count(*) from c6martperiodico.tabellone where lotto=8 +select @nr_lotto9= count(*) from c6martperiodico.tabellone where lotto=9 +select @nr_lotto10= count(*) from c6martperiodico.tabellone where lotto=10 +select @nr_clientiinviati_IMM=COUNT(*) from C6MartPeriodico.tabellone where lotto_imm is not null and blacklist is null +select @nr_clientiBlacklist_IMM=COUNT(*) from C6MartPeriodico.tabellone where lettera_sost_imm='S' +--select @nr_clientiBlacklist_IMM=COUNT(*) from C6MartPeriodico.tabellone where blacklist is not null --clienti in blacklist imm cambia in blacklist_imm quando aggiungi il campo nel tabellone decommenta quando aggiungi il campo +set @nr_clientirendicontati_IMM=@nr_clientiImmobiliari--@nr_clientiBlacklist_IMM -- da rivedere per nr_clientiBlacklist si ipotizza un altro campo in blacklist decommenta quando aggiungi il campo +--set @nr_lotto1_IMM=@nr_clientiinviati_IMM decommenta quando dino ha finito +set @nr_lotto1_IMM=0 +select @nr_clientiDiagnosiInviati=COUNT(*) from C6MartPeriodico.tabellone where freq_diagnosi <> '' and lotto is not null and blacklist is null +select @nr_clientiDiagnosidaInviare=COUNT(*) from C6MartPeriodico.tabellone where freq_diagnosi <> '' and lotto is null and blacklist is null +select @nr_clienticonMonitoraggio=count(*) from C6MartPeriodico.tabellone where freq_monitoraggio<>'' and (solo_rend_imm='N' or solo_rend_imm is NULL)--freq_diagnosi='' and freq_monitoraggio<>'' and (solo_rend_imm='N' or solo_rend_imm is NULL) +select @nr_clientiConImmESei=count(*) from C6MartPeriodico.tabellone where anche_rend_sei='S' +select @nr_clientiConSoloImm=count(*) from C6MartPeriodico.tabellone where solo_rend_imm='S' +select @nr_letteraSostitutivaImm= COUNT(*) from C6MartPeriodico.tabellone where lettera_sost_imm='S' +set @nr_clientirendicontati_IMM=@nr_clientiImmobiliari-@nr_letteraSostitutivaImm--@nr_clientiBlacklist_IMM -- da rivedere per nr_clientiBlacklist si ipotizza un altro campo in blacklist decommenta quando aggiungi il campo +set @NR_clientidainviare_IMM= @nr_clientiImmobiliari-@nr_clientiinviati_IMM-@nr_letteraSostitutivaImm -- da rivedere per nr_clientiBlacklist si ipotizza un altro campo in blacklist decommenta quando aggiungi il campo +select @nr_clientiRFAMinusImm = COUNT(*) from C6MartPeriodico.tabellone where blacklist_imm='BLACKLIST RFA MINUS CLIENTE SEI E IMMOBILIARE'--COUNT(*) from C6MartPeriodico.tabellone where blacklist_imm like '%RFA Minus%' --clienti con RFA0 +select @nr_clientiProfiloEC= COUNT(*) from C6MartPeriodico.tabellone where blacklist like '%Profilo EC%' and (blacklist not like '%RFA=0%' and blacklist not like '%RFA Minus%') +--DESCRIZIONE +declare +@desc_clientiinperimetro varchar(64), +@desc_clientiRFA0 varchar(64), +@desc_clientiRFAMinus varchar(64), +@desc_clientiProfiloScaduto varchar(64), +@desc_clientiBlacklist varchar(64), +@desc_clientiInviati varchar(64), +@desc_clientiDaInviare varchar(64), +@desc_letteraSostitutiva varchar(64), +@desc_clientiImmobiliari varchar(64), +@desc_clientiInPerimentroSenzaImmobiliare varchar(64), +@desc_Blacklistdiversi varchar(64), +@desc_soloClientiImmobiliari varchar(64), +@desc_Diagnosi varchar(64), +@desc_clientirendicontati varchar(64), +@desc_lotto1 varchar(64), +@desc_lotto2 varchar(64), +@desc_lotto3 varchar(64), +@desc_lotto4 varchar(64), +@desc_lotto5 varchar(64), +@desc_lotto6 varchar(64), +@desc_lotto7 varchar(64), +@desc_lotto8 varchar(64), +@desc_lotto9 varchar(64), +@desc_lotto10 varchar(64), +@desc_clientiInviati_IMM varchar(64), +@desc_clientiDaInviare_IMM varchar(64), +@desc_clientiBlacklist_IMM varchar(64), +@desc_clientirendicontati_IMM varchar(64), +@desc_lotto1_IMM varchar(64), +@desc_clientiDiagnosiInviati varchar(64), +@desc_clientiDiagnosiDaInviare varchar(64), +@desc_clienticonMonitoraggio varchar(64), +@desc_clientiConImmESei varchar(64), +@desc_clientiConSoloImm varchar(64), +@desc_letteraSostitutivaImm varchar(64), +@desc_clientiRFAMinusImm varchar(64), +@desc_clientiProfiloEC varchar(64) +set @desc_clientiinperimetro='Clienti in Perimetro SEI' +set @desc_clientiRFA0='Clienti RFA 0' +set @desc_clientiRFAMinus='Clienti RFA Minus SEI' +set @desc_clientiProfiloScaduto='Clienti Profilo Scaduto' +set @desc_ClientiBlacklist='Clienti in Blacklist SEI' +set @desc_ClientiInviati='Clienti con Report già inviati SEI' +set @desc_clientidaInviare='Clienti con Report da inviare SEI' +set @desc_letteraSostitutiva='Clienti Lettera Sostitutiva' +set @desc_clientiImmobiliari='Clienti in Perimetro IMM' +set @desc_clientiInPerimentroSenzaImmobiliare='Clienti in perimetro senza Immobiliare' +set @desc_Blacklistdiversi='Clienti Blacklist con Motivazione diversa' +set @desc_soloClientiImmobiliari='Clienti Solo Immobiliari senza report Sei' +set @desc_Diagnosi='Clienti con Diagnosi' +set @desc_clientirendicontati='Clienti da Rendicontare SEI' +set @desc_lotto1='Clienti Lotto 1' +set @desc_lotto2='Clienti Lotto 2' +set @desc_lotto3='Clienti Lotto 3' +set @desc_lotto4='Clienti Lotto 4' +set @desc_lotto5='Clienti Lotto 5' +set @desc_lotto6='Clienti Lotto 6' +set @desc_lotto7='Clienti Lotto 7' +set @desc_lotto8='Clienti Lotto 8' +set @desc_lotto9='Clienti Lotto 9' +set @desc_lotto10='Clienti Lotto 10' +set @desc_ClientiInviati_IMM='Clienti con Report già inviati IMM' +set @desc_clientidaInviare_IMM='Clienti con Report da inviare IMM' +set @desc_ClientiBlacklist_IMM='Clienti in Blacklist IMM' +set @desc_clientirendicontati_IMM='Clienti da Rendicontare IMM' +set @desc_lotto1_IMM='Clienti Lotto 1 IMM' +set @desc_clientiDiagnosiInviati='Clienti Diagnosi con report già inviati SEI' +set @desc_clientiDiagnosiDaInviare='Clienti Diagnosi con Report da inviare SEI' +set @desc_clienticonMonitoraggio='Clienti con Monitoraggio' +set @desc_clientiConImmESei='Clienti con Immobiliare e SEI' +set @desc_clientiConSoloImm='Clienti con Solo Immobiliare' +set @desc_letteraSostitutivaImm='Clienti Lettera Sostitutiva' +set @desc_clientiRFAMinusImm='Clienti RFA Minus IMM' +set @desc_clientiProfiloEC='Clienti Profilo EC Minimo' +--select * from C6MartPeriodico.ExcludedList +--select * from C6MartPeriodico.tabellone +--select * from C6MartPeriodico.statistiche_app_rendicontazione +--select * from C6Martperiodico.motivazioni_blacklist +--update C6MartPeriodico.tabellone +--set lotto=NULL +--from C6MartPeriodico.tabellone +--where codconf='071130CO802' +--update C6MartPeriodico.tabellone +--set blacklist=NULL +--from C6MartPeriodico.tabellone +--where codconf='025680CO800' +--update C6MartPeriodico.tabellone +--set blacklist=NULL +--from C6MartPeriodico.tabellone +--where codconf='029507CO212' +--ID +declare +@id_clientiInPerimetro int, +@id_clientiRFA0 int, +@id_clientiRFAMinus int, +@id_clientiProfiloScaduto int, +@id_ClientiBlacklist int, +@id_ClientiInviati int , +@id_ClientidaInviare int, +@id_LetteraSostitutiva int, +@id_ClientiImmobiliari int, +@id_clientiInPerimentroSenzaImmobiliare int, +@id_Blacklistdiversi int, +@id_soloClientiImmobiliari int, +@id_Diagnosi int, +@id_ClientiRendicontati int, +@id_lotto1 int, +@id_lotto2 int, +@id_lotto3 int, +@id_lotto4 int, +@id_lotto5 int, +@id_lotto6 int, +@id_lotto7 int, +@id_lotto8 int, +@id_lotto9 int, +@id_lotto10 int, +@id_ClientiInviati_IMM int , +@id_ClientidaInviare_IMM int, +@id_clientiBlacklist_IMM int, +@id_clientirendicontati_IMM int, +@id_lotto1_IMM int, +@id_ClientiDiagnosiInviati int , +@id_ClientiDiagnosidaInviare int, +@id_clienticonMonitoraggio int, +@id_clientiConImmESei int, +@id_clientiConSoloImm int, +@id_LetteraSostitutivaImm int, +@id_clientiRFAMinusImm int, +@id_clientiProfiloEC int +set @id_clientiInPerimetro=1 +set @id_clientiRFA0=2 +set @id_clientiProfiloScaduto=3 +set @id_ClientiBlacklist=4 +set @id_ClientiInviati=5 +set @id_ClientidaInviare=6 +set @id_LetteraSostitutiva=7 +set @id_ClientiImmobiliari=8 +set @id_clientiInPerimentroSenzaImmobiliare=9 +set @id_Blacklistdiversi=10 +set @id_soloClientiImmobiliari=11 +set @id_Diagnosi=12 +set @id_ClientiRendicontati=13 +set @id_lotto1 =14 +set @id_lotto2 =15 +set @id_lotto3 =16 +set @id_lotto4 =17 +set @id_lotto5 =18 +set @id_lotto6 =19 +set @id_lotto7 =20 +set @id_lotto8 =21 +set @id_lotto9 =22 +set @id_lotto10 =23 +set @id_ClientiInviati_IMM=24 +set @id_ClientidaInviare_IMM=25 +set @id_ClientiRFAMinus=26 +set @id_clientiBlacklist_IMM=27 +set @id_clientirendicontati_IMM=28 +set @id_lotto1_IMM=29 +set @id_ClientiDiagnosiInviati=30 +set @id_ClientiDiagnosidaInviare=31 +set @id_clienticonMonitoraggio=32 +set @id_clientiConImmESei=33 +set @id_clientiConSoloImm=34 +set @id_LetteraSostitutivaImm=35 +set @id_clientiRFAMinusImm=36 +set @id_clientiProfiloEC=37 +--if((select COUNT(*) from [C6MartPeriodico].[statistiche_app_rendicontazione])=0) +--begin +truncate table [C6MartPeriodico].[statistiche_app_rendicontazione] +insert into [C6MartPeriodico].[statistiche_app_rendicontazione] values +(@id_clientiInPerimetro,@desc_clientiinperimetro,@nr_clientiinperimetro,'SEI'), +(@id_clientiRFA0,@desc_clientiRFA0,@nr_clientiRFA0,'SEI'), +(@id_clientiProfiloScaduto,@desc_clientiProfiloScaduto,@nr_clientiProfiloScaduto,'SEI'), +(@id_ClientiBlacklist,@desc_clientiBlacklist,@nr_clientiBlacklist,'SEI'), +(@id_ClientiInviati,@desc_clientiInviati,@nr_clientiinviati,'SEI'), +(@id_ClientidaInviare,@desc_clientiDaInviare,@nr_clientidainviare,'SEI'), +(@id_LetteraSostitutiva,@desc_letteraSostitutiva,@nr_letteraSostitutiva,'SEI'), +(@id_ClientiImmobiliari,@desc_clientiImmobiliari,@nr_clientiImmobiliari,'IMM'), +(@id_clientiInPerimentroSenzaImmobiliare,@desc_clientiInPerimentroSenzaImmobiliare,@nr_clientiInPerimentroSenzaImmobiliare,'SEI'), +(@id_Blacklistdiversi,@desc_Blacklistdiversi,@nr_Blacklistdiversi,'SEI'), +(@id_soloClientiImmobiliari,@desc_soloClientiImmobiliari,@nr_soloClientiImmobiliari,'IMM'), +(@id_Diagnosi,@desc_diagnosi,@nr_diagnosi,'SEI'), +(@id_ClientiRendicontati,@desc_clientirendicontati,@nr_clientirendicontati,'SEI'), +(@id_lotto1,@desc_lotto1,@nr_lotto1,'SEI'), +(@id_lotto2,@desc_lotto2,@nr_lotto2,'SEI'), +(@id_lotto3,@desc_lotto3,@nr_lotto3,'SEI'), +(@id_lotto4,@desc_lotto4,@nr_lotto4,'SEI'), +(@id_lotto5,@desc_lotto5,@nr_lotto5,'SEI'), +(@id_lotto6,@desc_lotto6,@nr_lotto6,'SEI'), +(@id_lotto7,@desc_lotto7,@nr_lotto7,'SEI'), +(@id_lotto8,@desc_lotto8,@nr_lotto8,'SEI'), +(@id_lotto9,@desc_lotto9,@nr_lotto9,'SEI'), +(@id_lotto10,@desc_lotto10,@nr_lotto10,'SEI'), +(@id_ClientiInviati_IMM,@desc_clientiInviati_IMM,@nr_clientiinviati_IMM,'IMM'), +(@id_ClientidaInviare_IMM,@desc_clientiDaInviare_IMM,@nr_clientidainviare_IMM,'IMM'), +(@id_ClientiRFAMinus,@desc_ClientiRFAMinus,@nr_ClientiRFAMinus,'SEI'), +(@id_ClientiBlacklist_IMM,@desc_clientiBlacklist_IMM,@nr_clientiBlacklist_IMM,'IMM'), +(@id_ClientiRendicontati_IMM,@desc_clientirendicontati_IMM,@nr_clientirendicontati_IMM,'IMM'), +(@id_lotto1_IMM,@desc_lotto1_IMM,@nr_lotto1_IMM,'IMM'), +(@id_ClientiDiagnosiInviati,@desc_clientiDiagnosiInviati,@nr_clientiDiagnosiinviati,'SEI'), +(@id_ClientiDiagnosidaInviare,@desc_clientiDiagnosiDaInviare,@nr_clientiDiagnosidainviare,'SEI'), +(@id_clienticonMonitoraggio,@desc_clienticonMonitoraggio,@nr_clienticonMonitoraggio,'SEI'), +(@id_clientiConImmESei,@desc_clientiConImmESei,@nr_clientiConImmESei,'IMM'), +(@id_clientiConSoloImm,@desc_clientiConSoloImm,@nr_clientiConSoloImm,'IMM'), +(@id_LetteraSostitutivaImm,@desc_letteraSostitutivaImm,@nr_letteraSostitutivaImm,'IMM'), +(@id_ClientiRFAMinusImm,@desc_ClientiRFAMinusImm,@nr_ClientiRFAMinusImm,'IMM'), +(@id_clientiProfiloEC,@desc_clientiProfiloEC,@nr_clientiProfiloEC,'SEI') +--end +--update [C6MartPeriodico].[statistiche_app_rendicontazione] +--set numero=@nr_clientiinperimetro +--from [C6MartPeriodico].[statistiche_app_rendicontazione] +--where id=@id_clientiInPerimetro +--update [C6MartPeriodico].[statistiche_app_rendicontazione] +--set numero=@nr_clientiRFA0 +--from [C6MartPeriodico].[statistiche_app_rendicontazione] +--where id=@id_clientiRFA0 +--update [C6MartPeriodico].[statistiche_app_rendicontazione] +--set numero=@nr_clientiProfiloScaduto +--from [C6MartPeriodico].[statistiche_app_rendicontazione] +--where id=@id_clientiProfiloScaduto +--update [C6MartPeriodico].[statistiche_app_rendicontazione] +--set numero=@nr_clientiBlacklist +--from [C6MartPeriodico].[statistiche_app_rendicontazione] +--where id=@id_ClientiBlacklist +--update [C6MartPeriodico].[statistiche_app_rendicontazione] +--set numero=@nr_clientiinviati +--from [C6MartPeriodico].[statistiche_app_rendicontazione] +--where id=@id_ClientiInviati +--update [C6MartPeriodico].[statistiche_app_rendicontazione] +--set numero=@nr_clientidainviare +--from [C6MartPeriodico].[statistiche_app_rendicontazione] +--where id=@id_ClientidaInviare +--update [C6MartPeriodico].[statistiche_app_rendicontazione] +--set numero=@nr_letteraSostitutiva +--from [C6MartPeriodico].[statistiche_app_rendicontazione] +--where id=@id_LetteraSostitutiva +select * from C6MartPeriodico.statistiche_app_rendicontazione + end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio.sql b/sql/storedTestbes/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio.sql new file mode 100644 index 00000000..061aa4cd --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio.sql @@ -0,0 +1,166 @@ +-- ============================================= +-- Author: Marianna Coletta +-- Create date: +-- Description: riconciliazione posizioni disallineati tra pianificazione e monitoraggio +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_Allineamento_Pianificazione_Monitoraggio] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_Allineamento_Pianificazione_Monitoraggio', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--DROP TABLE #TCPTAB +--drop table #ciao +--tcptab filtrata per i disallineati e con position_id + SELECT + tcp.RETE AS TCP_RETE, + dis.COD_FISCALE AS TCP_CODFIS, + tcp.codprog, + case when isnull(dis.id_area,mon_area)='exr' then 'ext' else isnull(dis.id_area,mon_area) end as id_area, + C6StagingPeriodico.rp_Info_DaProdottoCSaCatalogo( + TCp.TIPPROD, + tcp.CODINT, + tcp.MAF, + tcp.ISIN, + tcp.SUBPROD + ) + + + dbo.Crea_positionID( + tcp.TIPPROD, + tcp.CODINT, + tcp.MAF, + tcp.ISIN, + tcp.SUBPROD, + tcp.CODCONF, + tcp.NUMPOL, + tcp.CONTO, + tcp.RUBR, + tcp.CUSTGAR, + tcp.TERMID, + tcp.ANNO, + tcp.PROG + ) AS POS_ID +-- '' AS POS_ID + into #tcptab + FROM + C6StagingPeriodico.tcptab as TCP + INNER JOIN + disallineati2 AS DIS + ON DIS.RETE = TCP.RETE + AND DIS.COD_FISCALE = + CASE WHEN(SUBSTRING(DIS.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+TCP.CODFIS + ELSE TCP.CODFIS + END + AND DIS.mon_AREA=TCP.CODAREA + AND DIS.mon_codprog=TCP.CODPROG + WHERE 1=1 + and ctvatt>0 + and dtuscita='99991231' +--exec [C6MartPeriodico].[RP_TCPTAB] +--tutte le posizioni della patrimonio_bf in esubero sulle aree monitorate vengono spostate in na +-- UPDATE C6MARTPERIODICO.PATRIMONIO_BF +-- set id_area='Na', +-- nome_progetto=null, tipo_progetto=null, +-- ordinamento_progetto=null +-- FROM +-- C6MARTPERIODICO.PATRIMONIO_BF as PATBF +-- inner join +-- disallineati2 as dis +-- on patbf.rete=dis.rete +-- and patbf.cod_fiscale=dis.cod_fiscale +-- and patbf.id_area=case when dis.id_area='exr' then 'ext' else dis.id_area end +-- and patbf.ordinamento_progetto=dis.bf_ordprorg +-- left join #TCPTAB as TCP +-- ON TCP_RETE=PATBF.RETE +-- AND TCP_CODFIS=PATBF.COD_FISCALE +-- AND TCP.POS_ID=PATBF.POSITION_ID +-- AND TCP.CODPROG=isnull(PATBF.ORDINAMENTO_PROGETTO,0) +-- AND TCP.id_area=PATBF.ID_AREA +-- where 1=1 +-- and tcp_rete is null +--seleziono le posizioni monitorate sull'area ma non presenti sulla stessa area nella patrimonio_bf + select tcp_rete, + tcp_codfis, + TCP.CODPROG, + TCP.id_area, + TCP.POS_ID + into #ciao + FROM + C6MARTPERIODICO.PATRIMONIO_BF as PATBF + inner join + disallineati2 as dis + on patbf.rete=dis.rete + and patbf.cod_fiscale=dis.cod_fiscale + and patbf.id_area=dis.id_area + and patbf.ordinamento_progetto=dis.bf_ordprorg + left join C6StagingPeriodico.RP_ChiaviMonitoraggio ch --dopo rp +on ch.chiaveprogetto=patbf.ordinamento_progetto and ch.stato=1 --dopo rp + RIGHT join #TCPTAB as TCP + ON TCP_RETE=PATBF.RETE + AND TCP_CODFIS=PATBF.COD_FISCALE + AND TCP.POS_ID=PATBF.POSITION_ID + --AND TCP.CODPROG=isnull(DIS.BF_ORDPRORG,0) dopo rp + AND TCP.CODPROG=isnull(ch.idmonitoraggio,0) --dopo rp + AND TCP.id_area=DIS.ID_AREA + where patbf.rete is null + update C6MARTPERIODICO.PATRIMONIO_BF + set C6MARTPERIODICO.PATRIMONIO_BF.ordinamento_progetto = mod.ordinamento_progetto, + C6MARTPERIODICO.PATRIMONIO_BF.orizz_temp_num=mod.orizz_temp_num, + C6MARTPERIODICO.PATRIMONIO_BF.orizz_temp=mod.orizz_temp, + C6MARTPERIODICO.PATRIMONIO_BF.tipo_progetto=mod.tipo_progetto, + C6MARTPERIODICO.PATRIMONIO_BF.nome_progetto=mod.nome_progetto, + C6MARTPERIODICO.PATRIMONIO_BF.id_area=mod.id_area, + C6MARTPERIODICO.PATRIMONIO_BF.stato_consulenza='AttivaAggiornata', + C6MARTPERIODICO.PATRIMONIO_BF.data_stato_cons=mod.data_stato_cons, + C6MARTPERIODICO.PATRIMONIO_BF.data_migr_cons=mod.data_migr_cons, + C6MARTPERIODICO.PATRIMONIO_BF.data_pianif=mod.data_pianif, + C6MARTPERIODICO.PATRIMONIO_BF.chiave_progetto= mod.ordinamento_progetto --l'ordinamento progetto equivale alla chiaveprogetto della progetto o migraz_progetto + from C6MARTPERIODICO.PATRIMONIO_BF bf + inner join #ciao c + on bf.rete=c.tcp_rete + and bf.cod_fiscale=c.tcp_codfis + and bf.position_id=c.pos_id + --aggiunta------------------ + left join C6StagingPeriodico.RP_ChiaviMonitoraggio ch --dopo rp + on ch.chiaveprogetto=bf.ordinamento_progetto and ch.stato=1 --dopo rp + --condizione aggiunta mv--------- + or ch.idmonitoraggio=c.codprog and ch.stato=1 --dopo rp + ---------------------------- + inner join c6martperiodico.piramide_mod as mod + on mod.rete=tcp_rete + and mod.cod_fiscale=tcp_codfis + --aggiunta emanuele--------- + --and mod.ordinamento_progetto=codprog + --condizione modificata mv--------- + --AND c.CODPROG=isnull(ch.idmonitoraggio,0) --dopo rp + AND mod.ordinamento_progetto=isnull(ch.ChiaveProgetto,0) --dopo rp + ---------------------------- + and mod.id_area=c.id_area + where rend_non_rappr=0 +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_Allineamento_Pianificazione_Monitoraggio' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_Allineamento_Pianificazione_Monitoraggio' + ) +--esecuzione Stored per il Ricarico della tabella Disallineati2 dopo eventuali sistemazioni automatiche +EXEC C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective.sql new file mode 100644 index 00000000..6bd3418d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective.sql @@ -0,0 +1,166 @@ +-- ============================================= +-- Author: Marianna Coletta +-- Create date: +-- Description: riconciliazione posizioni disallineati tra pianificazione e monitoraggio +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) +--DROP TABLE #TCPTAB +--drop table #ciao +--tcptab filtrata per i disallineati e con position_id + SELECT + tcp.RETE AS TCP_RETE, + dis.COD_FISCALE AS TCP_CODFIS, + tcp.codprog, + case when isnull(dis.id_area,mon_area)='exr' then 'ext' else isnull(dis.id_area,mon_area) end as id_area, + C6StagingPeriodico.rp_Info_DaProdottoCSaCatalogo( + TCp.TIPPROD, + tcp.CODINT, + tcp.MAF, + tcp.ISIN, + tcp.SUBPROD + ) + + + dbo.Crea_positionID( + tcp.TIPPROD, + tcp.CODINT, + tcp.MAF, + tcp.ISIN, + tcp.SUBPROD, + tcp.CODCONF, + tcp.NUMPOL, + tcp.CONTO, + tcp.RUBR, + tcp.CUSTGAR, + tcp.TERMID, + tcp.ANNO, + tcp.PROG + ) AS POS_ID +-- '' AS POS_ID + into #tcptab + FROM + C6StagingPeriodico.tcptab as TCP + INNER JOIN + disallineati2 AS DIS + ON DIS.RETE = TCP.RETE + AND DIS.COD_FISCALE = + CASE WHEN(SUBSTRING(DIS.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+TCP.CODFIS + ELSE TCP.CODFIS + END + AND DIS.mon_AREA=TCP.CODAREA + AND DIS.mon_codprog=TCP.CODPROG + WHERE 1=1 + and ctvatt>0 + and dtuscita='99991231' +--exec [C6MartPeriodico].[RP_TCPTAB] +--tutte le posizioni della patrimonio_bf in esubero sulle aree monitorate vengono spostate in na +-- UPDATE C6MARTPERIODICO.PATRIMONIO_BF +-- set id_area='Na', +-- nome_progetto=null, tipo_progetto=null, +-- ordinamento_progetto=null +-- FROM +-- C6MARTPERIODICO.PATRIMONIO_BF as PATBF +-- inner join +-- disallineati2 as dis +-- on patbf.rete=dis.rete +-- and patbf.cod_fiscale=dis.cod_fiscale +-- and patbf.id_area=case when dis.id_area='exr' then 'ext' else dis.id_area end +-- and patbf.ordinamento_progetto=dis.bf_ordprorg +-- left join #TCPTAB as TCP +-- ON TCP_RETE=PATBF.RETE +-- AND TCP_CODFIS=PATBF.COD_FISCALE +-- AND TCP.POS_ID=PATBF.POSITION_ID +-- AND TCP.CODPROG=isnull(PATBF.ORDINAMENTO_PROGETTO,0) +-- AND TCP.id_area=PATBF.ID_AREA +-- where 1=1 +-- and tcp_rete is null +--seleziono le posizioni monitorate sull'area ma non presenti sulla stessa area nella patrimonio_bf + select tcp_rete, + tcp_codfis, + TCP.CODPROG, + TCP.id_area, + TCP.POS_ID + into #ciao + FROM + C6MARTPERIODICO.PATRIMONIO_BF as PATBF + inner join + disallineati2 as dis + on patbf.rete=dis.rete + and patbf.cod_fiscale=dis.cod_fiscale + and patbf.id_area=dis.id_area + and patbf.ordinamento_progetto=dis.bf_ordprorg + left join C6StagingPeriodico.RP_ChiaviMonitoraggio ch --dopo rp +on ch.chiaveprogetto=patbf.ordinamento_progetto and ch.stato=1 --dopo rp + RIGHT join #TCPTAB as TCP + ON TCP_RETE=PATBF.RETE + AND TCP_CODFIS=PATBF.COD_FISCALE + AND TCP.POS_ID=PATBF.POSITION_ID + --AND TCP.CODPROG=isnull(DIS.BF_ORDPRORG,0) dopo rp + AND TCP.CODPROG=isnull(ch.idmonitoraggio,0) --dopo rp + AND TCP.id_area=DIS.ID_AREA + where patbf.rete is null + update C6MARTPERIODICO.PATRIMONIO_BF + set C6MARTPERIODICO.PATRIMONIO_BF.ordinamento_progetto = mod.ordinamento_progetto, + C6MARTPERIODICO.PATRIMONIO_BF.orizz_temp_num=mod.orizz_temp_num, + C6MARTPERIODICO.PATRIMONIO_BF.orizz_temp=mod.orizz_temp, + C6MARTPERIODICO.PATRIMONIO_BF.tipo_progetto=mod.tipo_progetto, + C6MARTPERIODICO.PATRIMONIO_BF.nome_progetto=mod.nome_progetto, + C6MARTPERIODICO.PATRIMONIO_BF.id_area=mod.id_area, + C6MARTPERIODICO.PATRIMONIO_BF.stato_consulenza='AttivaAggiornata', + C6MARTPERIODICO.PATRIMONIO_BF.data_stato_cons=mod.data_stato_cons, + C6MARTPERIODICO.PATRIMONIO_BF.data_migr_cons=mod.data_migr_cons, + C6MARTPERIODICO.PATRIMONIO_BF.data_pianif=mod.data_pianif, + C6MARTPERIODICO.PATRIMONIO_BF.chiave_progetto= mod.ordinamento_progetto --l'ordinamento progetto equivale alla chiaveprogetto della progetto o migraz_progetto + from C6MARTPERIODICO.PATRIMONIO_BF bf + inner join #ciao c + on bf.rete=c.tcp_rete + and bf.cod_fiscale=c.tcp_codfis + and bf.position_id=c.pos_id + --aggiunta------------------ + left join C6StagingPeriodico.RP_ChiaviMonitoraggio ch --dopo rp + on ch.chiaveprogetto=bf.ordinamento_progetto and ch.stato=1 --dopo rp + --condizione aggiunta mv--------- + or ch.idmonitoraggio=c.codprog and ch.stato=1 --dopo rp + ---------------------------- + inner join c6martperiodico.piramide_mod as mod + on mod.rete=tcp_rete + and mod.cod_fiscale=tcp_codfis + --aggiunta emanuele--------- + --and mod.ordinamento_progetto=codprog + --condizione modificata mv--------- + --AND c.CODPROG=isnull(ch.idmonitoraggio,0) --dopo rp + AND mod.ordinamento_progetto=isnull(ch.ChiaveProgetto,0) --dopo rp + ---------------------------- + and mod.id_area=c.id_area + where rend_non_rappr=0 +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_Allineamento_Pianificazione_Monitoraggio_pre_selective' + ) +--esecuzione Stored per il Ricarico della tabella Disallineati2 dopo eventuali sistemazioni automatiche +EXEC C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_CALCOLA_BILANCIAMENTO_GENERATOR.sql b/sql/storedTestbes/C6MartPeriodico_SRV_CALCOLA_BILANCIAMENTO_GENERATOR.sql new file mode 100644 index 00000000..bed29bd0 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_CALCOLA_BILANCIAMENTO_GENERATOR.sql @@ -0,0 +1,21 @@ +CREATE procedure [C6MartPeriodico].[SRV_CALCOLA_BILANCIAMENTO_GENERATOR] +AS +declare @generatorParalleli int +set @generatorParalleli = 12 +declare @numeroMedioReport int +select @numeroMedioReport = count(*) / @generatorParalleli +from c6martperiodico.vcontrattipergenerazionereport +select @numeroMedioReport +select substring(cod_fiscale,1,1), + count(*), + count(*) - @numeroMedioReport as residui +from c6martperiodico.vcontrattipergenerazionereport +group by substring(cod_fiscale,1,1) +order by 1 +select substring(cod_fiscale,1,2), + count(*)--, + --count(*) - @numeroMedioReport as residui +from c6martperiodico.vcontrattipergenerazionereport +where substring(cod_fiscale,1,1) in ('B','C','M','P') +group by substring(cod_fiscale,1,2) +order by 1 \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_CHECK_INDIRIZZI.sql b/sql/storedTestbes/C6MartPeriodico_SRV_CHECK_INDIRIZZI.sql new file mode 100644 index 00000000..09f69fd9 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_CHECK_INDIRIZZI.sql @@ -0,0 +1,57 @@ +-- ============================================= +-- Author: Alessandro Tringali +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_CHECK_INDIRIZZI] +AS +BEGIN +-- 1 indirizzi +SELECT +nome, +cognome, +cod_fiscale, +indirizzo, +localita, +provincia, +cap +FROM +C6MARTPERIODICO.ANAG_CLIENTI +WHERE +( +NOME IS NULL +OR +COGNOME IS NULL +OR +INDIRIZZO IS NULL +OR +LOCALITA IS NULL +OR +PROVINCIA IS NULL +OR +CAP IS NULL +) + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'Update', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_CHECK_INDIRIZZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_CHECK_INDIRIZZI' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_CHECK_INDIRIZZI', + GETDATE(), + 'Elaborazione MARKETING' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_ESTRAZIONE_FASE_2_PRE_MART.sql b/sql/storedTestbes/C6MartPeriodico_SRV_ESTRAZIONE_FASE_2_PRE_MART.sql new file mode 100644 index 00000000..2ec45315 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_ESTRAZIONE_FASE_2_PRE_MART.sql @@ -0,0 +1,56 @@ +CREATE procedure [C6MartPeriodico].[SRV_ESTRAZIONE_FASE_2_PRE_MART] +as +declare @dataFase as varchar(30) +select @dataFase = dbo.ToShortDateString(c6martperiodico.getPreviousTrimestre(getDate(),0)) +SELECT + a.rete, + a.cod_fiscale, + @dataFase as datafase, + EXTRARENDIMENTO, + INVESTIMENTO, + PREVIDENZA, + RISERVA, + LIQUIDITA, + RisorseNonAllocate, + contocorrente, + PARTVIA_DISINV + isnull(b.importo,0) AS Partita_viaggiante, + --sum(case Upper(a.id_area) when 'CC' then 0 else a.ctv end ) as risorseFinanziarie, + a.CTV + isnull(b.importo,0)+ PARTVIA_DISINV AS Totale, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + isnull(RA.COPERTURA,0) AS Copertura, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + -- TRINGALI MODIFICARE ---MODIFICATO! + case when ra.creditrisk is null then 'n.a.' + else cast(ra.creditrisk as varchar) end as RISKCLASS, + mifid.riskclass as RISKCLASSMAX +FROM + (select + rete, + cod_fiscale, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) AS EXTRARENDIMENTO, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) AS INVESTIMENTO, + sum(case when Upper(id_area) = 'PRE1' or Upper(id_area) ='PRE2' then ctv else 0 end ) AS PREVIDENZA, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) AS RISERVA, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS LIQUIDITA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS RisorseNonAllocate, + sum(case Upper(id_area) when 'CC' then ctv else 0 end ) as contocorrente, + sum((isnull(PARTVIA_DISINV,0))) as PARTVIA_DISINV, + SUM(CTV) as CTV + from + [C6MartPeriodico].PATRIMONIO_BF + group by rete, cod_fiscale + ) a +left join c6martperiodico.partite_viaggianti b +on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON a.RETE = MIFID.RETE + AND a.COD_FISCALE = MIFID.COD_FISCALE +INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO +LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = a.RETE + AND RA.COD_FISCALE = a.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_LISTA_CLIENTI_FASE2.sql b/sql/storedTestbes/C6MartPeriodico_SRV_LISTA_CLIENTI_FASE2.sql new file mode 100644 index 00000000..8bdef886 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_LISTA_CLIENTI_FASE2.sql @@ -0,0 +1,35 @@ +-- ============================================= +-- Author: alessandro Tringali +-- Create date: 06 luglio 2010 +-- Description: estrae la lista dei clienti per fase II +-- ============================================= +-- [C6MartPeriodico].[SRV_LISTA_CLIENTI_FASE2] '20110301', '20101231' +CREATE procedure [C6MartPeriodico].[SRV_LISTA_CLIENTI_FASE2] + @DTTRIM int , + @DTTRIM_PREC DATETIME +AS +BEGIN +select +C6.Rete, +C6.Cod_Agente, +C6.Cod_Fiscale, +C6.CodiceContratto, +C6.Freq_Monitor, C6.Freq_Diagnosi, data_perf, +pdf.datagenerazione, +data_fineavanzato as data_revoca, +case when w.codfis is null then 0 else 1 end as flg_monit +FROM C6Mart.CONTRATTOSEI AS C6 INNER JOIN + C6Mart.GESTIONE_PDF_FTP AS PDF + ON C6.Rete = PDF.Rete + AND C6.Cod_Fiscale = PDF.CodiceFiscale + AND C6.CodiceContratto = SUBSTRING(PDF.NomeFile, 1, 11) + left outer join + (select distinct codfis, rete from c6stagingperiodico.wanab w where dtfine='99991231' and dtrif <= CAST(@DTTRIM AS int) ) w + on w.codfis=c6.cod_fiscale + and w.rete=c6.rete +WHERE (1 = 1) + AND (ISNULL(C6.Data_FineAvanzato, CAST('99991231' AS datetime)) > CAST(@DTTRIM_PREC AS datetime)) + AND (PDF.DataGenerazione < '20110601') + AND c6.INVIOBENVENUTO='S' + --AND isnull(C6.Data_Invio_Monitoraggio_Trimestrale,cast('20091231' as datetime)) < cast(C6MartPeriodico.getTrimestre(GETDATE(), 0) as datetime) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT.sql b/sql/storedTestbes/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT.sql new file mode 100644 index 00000000..9780a9ab --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT.sql @@ -0,0 +1,170 @@ +-- ============================================= +-- Author: alessandro Tringali +-- Create date: 16 ottobre 2010 +-- Description: estrae la lista dei clienti per fase Ii +-- ============================================= +-- exec [C6MartPeriodico].[SRV_LISTA_DISALLINEAMENTI_MONIT] +CREATE procedure [C6MartPeriodico].[SRV_LISTA_DISALLINEAMENTI_MONIT] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'SRV_LISTA_DISALLINEAMENTI_MONIT', + GETDATE(), + 'Elaborazione Trimestrale' + ) +SELECT +RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4) AS ID_AREA, +isnull(ORDINAMENTO_PROGETTO,0) as ordinamento_progetto, +SUM(CTV) AS SUM_CTV +INTO #TEMP_PATRIMONIO_BF_AGGR +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE ID_AREA NOT IN ('CC','NA') +AND REND_NON_RAPPR=0 +GROUP BY RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4), +isnull(ORDINAMENTO_PROGETTO,0) +--SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +--WHERE CODFIS IN +--(SELECT DISTINCT COD_FISCALE FROM #TEMP_PATRIMONIO_BF_AGGR) +SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +WHERE CODFIS IN +(select cod_fiscale from c6stagingperiodico.appo_contratti_v) +drop table disallineati2 +SELECT * +into disallineati2 +FROM +( +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO as bf_ordprorg, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog as mon_codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +AND S.chiaveprogetto=isnull(P.ORDINAMENTO_PROGETTO,0) +AND M.CODPROG = S.idmonitoraggio +and id_area ='Inv' +union all +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +and id_area <>'Inv' +union all +-------------------------------------------- +-- SOLO MONITORAGGIO +-------------------------------------------- +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +--#TEMP_PATRIMONIO_BF_AGGR P +(select T.*,S.idmonitoraggio from +#TEMP_PATRIMONIO_BF_AGGR T +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +where S.chiaveprogetto=isnull(T.ORDINAMENTO_PROGETTO,0) +)P +on +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND M.CODPROG = P.idmonitoraggio +AND DTFINE ='99991231' +where +m.ctv > 0 +and p.cod_fiscale is null +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +--and id_area ='Inv' +and m.codarea ='Inv' +union all +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +p.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +#TEMP_PATRIMONIO_BF_AGGR P +on +M.RETE = P.RETE +--AND M.CODFIS = P.COD_FISCALE +AND case when len(m.CODFIS) =4 then 'FF@'+m.codfis else m.codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +where +DTFINE ='99991231' +and m.ctv > 0 +and p.cod_fiscale is null +and codarea <>'Inv' +) k +order by 2,1 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_LISTA_DISALLINEAMENTI_MONIT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'SRV_LISTA_DISALLINEAMENTI_MONIT' + ) +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective.sql new file mode 100644 index 00000000..7d37d8df --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective.sql @@ -0,0 +1,170 @@ +-- ============================================= +-- Author: alessandro Tringali +-- Create date: 16 ottobre 2010 +-- Description: estrae la lista dei clienti per fase Ii +-- ============================================= +-- exec [C6MartPeriodico].[SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective] +CREATE procedure [C6MartPeriodico].[SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) +SELECT +RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4) AS ID_AREA, +isnull(ORDINAMENTO_PROGETTO,0) as ordinamento_progetto, +SUM(CTV) AS SUM_CTV +INTO #TEMP_PATRIMONIO_BF_AGGR +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE ID_AREA NOT IN ('CC','NA') +AND REND_NON_RAPPR=0 +GROUP BY RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4), +isnull(ORDINAMENTO_PROGETTO,0) +--SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +--WHERE CODFIS IN +--(SELECT DISTINCT COD_FISCALE FROM #TEMP_PATRIMONIO_BF_AGGR) +SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +WHERE CODFIS IN +(select cod_fiscale from c6stagingperiodico.appo_contratti) +drop table disallineati2 +SELECT * +into disallineati2 +FROM +( +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO as bf_ordprorg, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog as mon_codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +AND S.chiaveprogetto=isnull(P.ORDINAMENTO_PROGETTO,0) +AND M.CODPROG = S.idmonitoraggio +and id_area ='Inv' +union all +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +and id_area <>'Inv' +union all +-------------------------------------------- +-- SOLO MONITORAGGIO +-------------------------------------------- +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +--#TEMP_PATRIMONIO_BF_AGGR P +(select T.*,S.idmonitoraggio from +#TEMP_PATRIMONIO_BF_AGGR T +,C6StagingPeriodico.RP_ChiaviMonitoraggio S +where S.chiaveprogetto=isnull(T.ORDINAMENTO_PROGETTO,0) +)P +on +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND M.CODPROG = P.idmonitoraggio +AND DTFINE ='99991231' +where +m.ctv > 0 +and p.cod_fiscale is null +--AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +--and id_area ='Inv' +and m.codarea ='Inv' +union all +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +p.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog +FROM +#TANAB M +left outer join +#TEMP_PATRIMONIO_BF_AGGR P +on +M.RETE = P.RETE +--AND M.CODFIS = P.COD_FISCALE +AND case when len(m.CODFIS) =4 then 'FF@'+m.codfis else m.codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +where +DTFINE ='99991231' +and m.ctv > 0 +and p.cod_fiscale is null +and codarea <>'Inv' +) k +order by 2,1 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_LISTA_DISALLINEAMENTI_MONIT_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE.sql b/sql/storedTestbes/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE.sql new file mode 100644 index 00000000..96e7ae07 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22 gennaio 2009 +-- Description: PER GESTIONE TIPOLOGIA ELABORAZIONE +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_NUOVA_ELABORAZIONE] + @TIPO_ELAB varchar(1) = 'T' +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + INSERT INTO C6MARTPERIODICO.ELABORAZIONI(TIPO_ELAB) + VALUES (@TIPO_ELAB) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_20151009.sql b/sql/storedTestbes/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_20151009.sql new file mode 100644 index 00000000..d003064e --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_20151009.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22 gennaio 2009 +-- Description: PER GESTIONE TIPOLOGIA ELABORAZIONE +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_NUOVA_ELABORAZIONE_20151009] + @TIPO_ELAB varchar(1) = 'T' +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + INSERT INTO C6MARTPERIODICO.ELABORAZIONI_BK_20151008(TIPO_ELAB, DATA_OPERAZIONE) + VALUES (@TIPO_ELAB, '2015-10-09 19:37:21.913') +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_bk_test_20151014.sql b/sql/storedTestbes/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_bk_test_20151014.sql new file mode 100644 index 00000000..17b8784f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_bk_test_20151014.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22 gennaio 2009 +-- Description: PER GESTIONE TIPOLOGIA ELABORAZIONE +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_NUOVA_ELABORAZIONE_bk_test_20151014] + @TIPO_ELAB varchar(1) = 'T' +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + INSERT INTO C6MARTPERIODICO.ELABORAZIONI_bk_20151014(TIPO_ELAB) + VALUES (@TIPO_ELAB) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_pre_selective.sql new file mode 100644 index 00000000..be49f0c4 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_NUOVA_ELABORAZIONE_pre_selective.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22 gennaio 2009 +-- Description: PER GESTIONE TIPOLOGIA ELABORAZIONE +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_NUOVA_ELABORAZIONE_pre_selective] + @TIPO_ELAB varchar(1) = 'T' +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + INSERT INTO C6MARTPERIODICO.ELABORAZIONI(TIPO_ELAB) + VALUES (@TIPO_ELAB) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_QUANTO_MANCA.sql b/sql/storedTestbes/C6MartPeriodico_SRV_QUANTO_MANCA.sql new file mode 100644 index 00000000..a844b339 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_QUANTO_MANCA.sql @@ -0,0 +1,4 @@ +CREATE procedure [C6MartPeriodico].[SRV_QUANTO_MANCA] +as +exec [C6MartPeriodico].[GESTIONE_SELECT_PDF_GETDATATHREADS_QUINDICESIMO] +select @@rowcount \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE.sql b/sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE.sql new file mode 100644 index 00000000..53f597dd --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE.sql @@ -0,0 +1,4986 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE] +AS +BEGIN +--procedura di caricamento campione +DECLARE @appoDataInizioTrimestre varchar(8) +SET @appoDataInizioTrimestre = [C6MartPeriodico].[getDateTrimestre](0, 0, 0) +--SET @appoDataInizioTrimestre = '20190101' +--SET @appoDataInizioTrimestre = '20181001' +--SET @appoDataInizioTrimestre = '20180701' +--SET @appoDataInizioTrimestre = '20180401' +--SET @appoDataInizioTrimestre = '20180101' +--SET @appoDataInizioTrimestre = '20171001' +--SET @appoDataInizioTrimestre = '20170701' +--SET @appoDataInizioTrimestre = '20170401' +--SET @appoDataInizioTrimestre = '20170101' +--SET @appoDataInizioTrimestre = '20161001' +--SET @appoDataInizioTrimestre = '20160701' +--SET @appoDataInizioTrimestre = '20160401' +--SET @appoDataInizioTrimestre = '20160101' +--SET @appoDataInizioTrimestre = '20151001' +--SET @appoDataInizioTrimestre = '20150701' +DECLARE @appoDataFineTrimestre varchar(8) +SET @appoDataFineTrimestre = [C6MartPeriodico].[getDateTrimestre](0, 1, 0) +--SET @appoDataFineTrimestre = '20181231' +--SET @appoDataFineTrimestre = '20180930' +--SET @appoDataFineTrimestre = '20180630' +--SET @appoDataFineTrimestre = '20180331' +--SET @appoDataFineTrimestre = '20171231' +--SET @appoDataFineTrimestre = '20170930' +--SET @appoDataFineTrimestre = '20170630' +--SET @appoDataFineTrimestre = '20170331' +--SET @appoDataFineTrimestre = '20161231' +--SET @appoDataFineTrimestre = '20160930' +--SET @appoDataFineTrimestre = '20160630' +--SET @appoDataFineTrimestre = '20160331' +--SET @appoDataFineTrimestre = '20151231' +--SET @appoDataFineTrimestre = '20150930' +DECLARE @appoDataInizioTrimPrec varchar(8) +SET @appoDataInizioTrimPrec = [C6MartPeriodico].[getDateTrimestre](1, 0, 0) +--SET @appoDataInizioTrimPrec = '20181001' +--SET @appoDataInizioTrimPrec = '20180701' +--SET @appoDataInizioTrimPrec = '20180401' +--SET @appoDataInizioTrimPrec = '20180101' +--SET @appoDataInizioTrimPrec = '20171001' +--SET @appoDataInizioTrimPrec = '20170701' +--SET @appoDataInizioTrimPrec = '20170401' +--SET @appoDataInizioTrimPrec = '20170101' +--SET @appoDataInizioTrimPrec = '20161001' +--SET @appoDataInizioTrimPrec = '20160701' +--SET @appoDataInizioTrimPrec = '20160401' +--SET @appoDataInizioTrimPrec = '20160101' +--SET @appoDataInizioTrimPrec = '20151001' +--SET @appoDataInizioTrimPrec = '20150701' +--SET @appoDataInizioTrimPrec = '20150401' +DECLARE @appoDataFineTrimPrec varchar(8) +SET @appoDataFineTrimPrec = [C6MartPeriodico].[getDateTrimestre](1, 1, 0) +--SET @appoDataFineTrimPrec = '20180930' +--SET @appoDataFineTrimPrec = '20180630' +--SET @appoDataFineTrimPrec = '20180331' +--SET @appoDataFineTrimPrec = '20171231' +--SET @appoDataFineTrimPrec = '20170930' +--SET @appoDataFineTrimPrec = '20170630' +--SET @appoDataFineTrimPrec = '20170331' +--SET @appoDataFineTrimPrec = '20161231' +--SET @appoDataFineTrimPrec = '20160930' +--SET @appoDataFineTrimPrec = '20160630' +--SET @appoDataFineTrimPrec = '20160331' +--SET @appoDataFineTrimPrec = '20151231' +--SET @appoDataFineTrimPrec = '20150930' +--SET @appoDataFineTrimPrec = '20150630' +-- QUI VA SPECIFICATO IL PERIODO DI EFFETTIVA GENERAZIONE DEI REPORT CHE, IN GENERE, E' IL MESE SUCCESSIVO +-- A QUELLO DI FINE TRIMESTRE +DECLARE @appoDataGenerazioneTrimPrecDa varchar(8) +SET @appoDataGenerazioneTrimPrecDa = [C6MartPeriodico].[getDateTrimestre](1, 0, 0) +--SET @appoDataGenerazioneTrimPrecDa = '20181001' +--SET @appoDataGenerazioneTrimPrecDa = '20180701' +--SET @appoDataGenerazioneTrimPrecDa = '20180401' +--SET @appoDataGenerazioneTrimPrecDa = '20180101' +--SET @appoDataGenerazioneTrimPrecDa = '20171001' +--SET @appoDataGenerazioneTrimPrecDa = '20170701' +--SET @appoDataGenerazioneTrimPrecDa = '20170401' +--SET @appoDataGenerazioneTrimPrecDa = '20170101' +--SET @appoDataGenerazioneTrimPrecDa = '20161001' +--SET @appoDataGenerazioneTrimPrecDa = '20160701' +--SET @appoDataGenerazioneTrimPrecDa = '20160401' +--SET @appoDataGenerazioneTrimPrecDa = '20160101' +--SET @appoDataGenerazioneTrimPrecDa = '20151001' +--SET @appoDataGenerazioneTrimPrecDa = '20150701' +DECLARE @appoDataGenerazioneTrimPrecA varchar(8) +SET @appoDataGenerazioneTrimPrecA = [C6MartPeriodico].[getDateTrimestre](1, 1, 1) +--SET @appoDataGenerazioneTrimPrecA = '20181031' +--SET @appoDataGenerazioneTrimPrecA = '20180731' +--SET @appoDataGenerazioneTrimPrecA = '20180430' +--SET @appoDataGenerazioneTrimPrecA = '20180131' +--SET @appoDataGenerazioneTrimPrecA = '20171031' +--SET @appoDataGenerazioneTrimPrecA = '20170731' +--SET @appoDataGenerazioneTrimPrecA = '20170430' +--SET @appoDataGenerazioneTrimPrecA = '20170131' +--SET @appoDataGenerazioneTrimPrecA = '20161031' +--SET @appoDataGenerazioneTrimPrecA = '20160731' +--SET @appoDataGenerazioneTrimPrecA = '20160430' +--SET @appoDataGenerazioneTrimPrecA = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perché in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecA = '20151031' +--SET @appoDataGenerazioneTrimPrecA = '20150731' +DECLARE @appoDataGenerazioneTrimPrecX2Da varchar(8) +SET @appoDataGenerazioneTrimPrecX2Da = [C6MartPeriodico].[getDateTrimestre](2, 0, 0) +--SET @appoDataGenerazioneTrimPrecX2Da = '20180701' +--SET @appoDataGenerazioneTrimPrecA = '20180401' +--SET @appoDataGenerazioneTrimPrecA = '20180101' +--SET @appoDataGenerazioneTrimPrecA = '20171001' +--SET @appoDataGenerazioneTrimPrecA = '20170701' +--SET @appoDataGenerazioneTrimPrecA = '20170401' +--SET @appoDataGenerazioneTrimPrecA = '20170101' +--SET @appoDataGenerazioneTrimPrecA = '20161001' +--SET @appoDataGenerazioneTrimPrecA = '20160701' +--SET @appoDataGenerazioneTrimPrecA = '20160401' +--SET @appoDataGenerazioneTrimPrecA = '20160101' +--SET @appoDataGenerazioneTrimPrecX2Da = '20151001' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150701' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150401' +DECLARE @appoDataGenerazioneTrimPrecX2A varchar(8) +SET @appoDataGenerazioneTrimPrecX2A = [C6MartPeriodico].[getDateTrimestre](2, 1, 1) +--SET @appoDataGenerazioneTrimPrecX2A = '20180731' +--SET @appoDataGenerazioneTrimPrecX2A = '20180430' +--SET @appoDataGenerazioneTrimPrecX2A = '20180131' +--SET @appoDataGenerazioneTrimPrecX2A = '20171031' +--SET @appoDataGenerazioneTrimPrecX2A = '20170731' +--SET @appoDataGenerazioneTrimPrecX2A = '20170430' +--SET @appoDataGenerazioneTrimPrecX2A = '20170131' +--SET @appoDataGenerazioneTrimPrecX2A = '20161031' +--SET @appoDataGenerazioneTrimPrecX2A = '20160731' +--SET @appoDataGenerazioneTrimPrecX2A = '20160430' +--SET @appoDataGenerazioneTrimPrecX2A = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perché in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecX2A = '20151031' +--SET @appoDataGenerazioneTrimPrecX2A = '20150731' +--SET @appoDataGenerazioneTrimPrecX2A = '20150430' +TRUNCATE TABLE C6MARTPERIODICO.SELEZIONECAMPIONE +--select * into c6martperiodico.appo_selezione_campione from C6MARTPERIODICO.SELEZIONECAMPIONE +--0 tutta la popolazione +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +select distinct bf.cod_fiscale, bf.rete +from +C6MartPeriodico.rp_vcontrattipergenerazionereport bf +) bf +--1 UNA MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'UNA MACRO ASSET ' AS DESCRIZIONE, +1 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 1 "ASSET CLASS" anzichè 1 "MACRO ASSET CLASS" +--select distinct bf.cod_fiscale, bf.rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=1 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=1 +) bf +--2 TUTTE LE MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'TUTTE LE MACRO ASSET ' AS DESCRIZIONE, +0 AS c1, +1 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 7 "ASSET CLASS" anzichè 7 "MACRO ASSET CLASS" +--select distinct cod_fiscale, rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=7 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=7 +) bf +--3 TUTTE LE AREE SONO MONITORATE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis as cod_fiscale, +'TUTTE LE AREE SONO MONITORATE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +1 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, count(distinct codarea) c +from C6StagingPeriodico.TANAB +where dtfine='99991231' +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=4 +)bf +--4 SENZA PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'SENZA PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +1 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +--5 RISCHIO CREDITO NA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO N.A. ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +1 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk is null +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 6 CLASSE DI RISCHIO CREDITO > 3 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO > 3 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +1 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>3 +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 7 PRODOTTO SENZA RENDIMENTO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PRODOTTO SENZA RENDIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +1 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as cod_fiscale +from C6StagingPeriodico.TSCABP +) bf +-- 8 piu trimestrali +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PIU TRIMESTRALI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +1 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, codicefiscale AS COD_FISCALE, count(*)N +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where tiporeport='M' +and dataGenerazione > @appoDataGenerazioneTrimPrecX2Da +group by rete, codicefiscale +having count(*)>1 +) bf +-- 9 PATRIMONIO TERZI SU PIU' INTERMEDIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI SU PIU'' INTERMEDIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +1 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, count(distinct a.intermediario) M +from C6MartPeriodico.PATRIMONIO_TERZI a +group by a.rete, a.cod_fiscale +having count(distinct a.intermediario)>1 +) bf +-- 10 PERSONE GIURIDICHE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PERSONE GIURIDICHE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +1 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where len(cod_fiscale)=11 +) bf +-- 11 PB TERMINATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PB TERMINATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +1 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct bf.rete, bf.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_BF bf, C6Mart.CONTRATTOSEI c6,C6Stagingperiodico.ADS4WS_PROMOTORI pr +--where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +--and c6.cod_agente=pr.codice and pr.rete=c6.rete +--and stato= 'T' +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6,C6Stagingperiodico.RP_anagrafica_promotori pr +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and c6.cod_agente=pr.codage and pr.rete=c6.rete +and stato= 'T' +) bf +-- 12 PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +1 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_TERZI a +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +-- 13 PATR NON RAPPR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR NON RAPPR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +1 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale +from C6MartPeriodico.vPatrimonioNonRappresentabileAsset +) bf +-- 14 PATR IMMOBILIARE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +1 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, sum(a.VALORE_STIMATO) M +from C6MartPeriodico.PATRIMONIO_IMMOBILIARE a +group by a.rete, a.cod_fiscale +) bf +-- 15 PARTITE VIAGGIANTI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +1 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PARTITE_VIAGGIANTI) bf +--16 NON MONITORATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON MONITORATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +1 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.patrimonio_bf bf +where bf.rete + bf.cod_fiscale not in ( select distinct rete + case when len(codfis) =4 then 'FF@'+codfis else codfis end from C6StagingPeriodico.TANAB where dtfine='99991231') +) bf +-- 17 NO PATR IMMOB +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +1 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf +where cod_fiscale + rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.patrimonio_immobiliare) +) bf +-- 18 MON SU UNA SOLA AREA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON SU UNA SOLA AREA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +1 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +(select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE, count(distinct codarea) H +from C6StagingPeriodico.TANAB +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=1 +) bf +-- 19 MON DA PIU DI 12 MESI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON DA PIU DI 12 MESI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +1 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_FISCALE +from C6StagingPeriodico.TANAB +--where ('20101201'-dtrif)/30>12 +where dtrif < convert(varchar(8), DATEADD(year, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112) +) bf +-- 20 MON APPENA AVVIATO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON APPENA AVVIATO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +1 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE +from C6StagingPeriodico.TANAB +--where '20101201'-GETDATE()<1 +where (dtrif > convert(varchar(8), DATEADD(day, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112)) +) bf +-- 21 MANDATI FIDUCIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MANDATI FIDUCIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +1 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where cod_fiscale like 'FF@%' +) bf +-- 22 INADEGUATI VAR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI VAR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +1 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.var_perc_ptf>cod.max_var +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 23 INADEGUATI CRISK +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI CRISK ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +1 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_CREDITRISK cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>mifid.profilo_ass +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 24 INADEGUATI COMPLESSITA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI COMPLESSITA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +1 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +-- EN2060408: begin - adapted to new feature "Adeguatezza" comnplexity / concentration +--select distinct a.rete, a.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_BF a, C6MartPeriodico.MIFID mifid +--where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +--and mifid.experience<(select max(complex) from C6MartPeriodico.PATRIMONIO_BF where rete=mifid.rete and cod_fiscale=mifid.cod_fiscale) +SELECT top 500 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'S' and [ancmpl].[FLGCONC] = 'S') +order by dttrim desc + UNION +SELECT top 200 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'N' and [ancmpl].[FLGCONC] = 'S') +order by dttrim desc + UNION +SELECT top 20 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'S' and [ancmpl].[FLGCONC] = 'N') +order by dttrim desc + UNION +SELECT top 20 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'N' and [ancmpl].[FLGCONC] = 'N') +order by dttrim desc +) bf +-- EN2060408: end +-- 25 DIVERSIFICAZIONE < 30 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'DIVERSIFICAZIONE < 30 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +1 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, beneficio +from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='COMPLESSIVO' +and beneficio<30 +) bf +-- 26 CC NEG E POS +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEG E POS ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +1 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) bf +-- 27 CC NEG +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEGATIVO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +1 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, sum(saldocontabile) M +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)<0 +) bf +where rete+cod_fiscale not in +( +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) +-- 28 REND NON RAPPR COME UNICA POSIZIONE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'REND NON RAPPR COME UNICA POSIZIONE IN AREA MONIT' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +1 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +SELECT +DISTINCT T.RETE, T.COD_FISCALE FROM +( +SELECT +RETE, COD_FISCALE , ID_AREA, SUM(CASE WHEN REND_NON_RAPPR =1 THEN 0 ELSE 1 END) TOT +FROM +C6MARTPERIODICO +.PATRIMONIO_BF B +GROUP +BY +RETE +, COD_FISCALE, ID_AREA +) +T, +( +SELECT +RETE, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, CASE WHEN CODAREA ='EXR' THEN 'EXT'ELSE CODAREA END AS CODAREA FROM +C6STAGINGPERIODICO +.TANAB +WHERE +DTFINE = 99991231 +) +B +WHERE +T +.RETE=B.RETE AND B.CODFIS=T.COD_FISCALE +AND +ID_AREA=CODAREA +AND +TOT=0 +) bf +-- 29 PREVIDENZA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PREVIDENZA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +1 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where id_area like '%Pre%' +) bf +--30 RESTART CONTRATTOSEI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RESTART CONTRATTOSEI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +1 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, codicefiscale as cod_fiscale +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where datagenerazione between @appoDataGenerazioneTrimPrecX2Da and @appoDataGenerazioneTrimPrecX2A +except +select distinct p.rete,p.codicefiscale + from C6StoricoPeriodico.GESTIONE_PDF_FTP p + inner join c6martperiodico.patrimonio_bf b + on p.rete=b.rete and p.codicefiscale =b.cod_fiscale + where datagenerazione between @appoDataGenerazioneTrimPrecDa and @appoDataGenerazioneTrimPrecA +--select distinct rete, codicefiscale as cod_fiscale +--from appoGESTIONE_PDF_FTP +--where datagenerazione between '20111001' and '20111031' +--and rete + codicefiscale not in (select distinct rete + codicefiscale +-- from appoGESTIONE_PDF_FTP +-- where datagenerazione between '20120101' and '20120131') +--and rete + codicefiscale in (select distinct rete + cod_fiscale +-- from c6martperiodico.patrimonio_bf) +) bf +--31 INDIRIZZO CONTRATTO ESTERO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INDIRIZZO CONTRATTO ESTERO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +1 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6 +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and nazione<> 'italia' +) bf +--32 CC>10000 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC>10000 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +1 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)>10000 +) bf +--33 COPERTURA INFERIORE A 100 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'COPERTURA INFERIORE A 100 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +1 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale + from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='complessivo' +and copertura<100 +) bf +--34 evoluzione controvalore > 30% +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'EVOLUZIONE CONTROVALORE > 30% ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +1 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct corrente.rete, corrente.cod_fiscale +from +(select b.rete, b.cod_fiscale, sum(controvalore) ctv +from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 a +inner join C6StagingPeriodico.appo_contratti b +on a.chiaveClientePB=b.chiaveClientePB +group by b.rete, b.cod_fiscale) scorsa, +(select rete, cod_fiscale, sum(ctv) ctv +from c6martperiodico.patrimonio_bf +group by rete, cod_fiscale) corrente +where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +and (case when scorsa.ctv>corrente.ctv + then (scorsa.ctv-abs(corrente.ctv)) + else (corrente.ctv-abs(scorsa.ctv)) + end) + > + (case when scorsa.ctv>corrente.ctv + then (0.30*corrente.ctv) + else (0.30*scorsa.ctv) + end) +--select distinct corrente.rete, corrente.cod_fiscale +--from +--(select rete, cod_fiscale, sum(controvalore) ctv +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--group by rete, cod_fiscale) scorsa, +--(select rete, cod_fiscale, sum(ctv) ctv +--from c6martperiodico.patrimonio_bf +--group by rete, cod_fiscale) corrente +--where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +--and (0.33*scorsa.ctv>corrente.ctv or 0.33*scorsa.ctv0 +--select distinct rete, cod_fiscale +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--where investimentiincorso>0 +) bf +--36 Monitoraggio con cedole/dividendi +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MONITORAGGIO CON CEDOLE/DIVIDENDI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +1 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.MONITORAGGIO_ATTUALE +where CEDOLE_DIVIDENDI>0 +) bf +-- 37 PARTITE VIAGGIANTI DI DISINVESTIMENTO - 19/1/2016 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI DI DISINVESTIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +1 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from C6MartPeriodico.patrimonio_bf a +inner join [C6StampeCentralizzate].[C6MartPeriodico].[TB_Campione] b +on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where (partvia_disinv <> 0.000 and partvia_disinv is not null) +) bf +--CRITERIO ELIMINATO IN QUANTO DUPLICATO DEL CRITERIO 31 +--38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +--select +--bf.rete, +--bf.cod_fiscale, +--'Indirizzo Estero' AS DESCRIZIONE, +--0 AS c1, +--0 AS c2, +--0 AS c3, +--0 AS c4, +--0 AS c5, +--0 AS c6, +--0 AS c7, +--0 AS c8, +--0 AS c9, +--0 AS c10, +--0 AS c11, +--0 AS c12, +--0 AS c13, +--0 AS c14, +--0 AS c15, +--0 AS c16, +--0 AS c17, +--0 AS c18, +--0 AS c19, +--0 AS c20, +--0 AS c21, +--0 AS c22, +--0 AS c23, +--0 AS c24, +--0 AS c25, +--0 AS c26, +--0 AS c27, +--0 AS c28, +--0 AS c29, +--0 AS c30, +--0 AS c31, +--0 AS c32, +--0 AS c33, +--0 AS c34, +--0 AS c35, +--0 AS c36, +--0 AS c37, +--1 AS c38, +--0 AS c39, +--0 AS c40, +--0 AS c41, +--0 AS c42, +--0 AS c43, +--0 AS c44, +--0 AS c45, +--0 AS c46, +--0 AS c47, +--0 AS c48, +--0 AS c49, +--0 AS c50, +--0 AS c51, +--0 AS c52, +--0 AS c53, +--0 AS c54, +--0 AS c55, +--0 AS c56, +--0 AS c57, +--0 AS c58 +--FROM +--( +--select distinct rete, cod_fiscale +--from c6martperiodico.contrattosei +--where nazione <> 'italia' +--) bf +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'S', +--'RSSRNZ49E14A479S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'CSCGPP34A03L050L', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNERSR61L08C351V', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'BGLPRD65E10Z130S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNZNLS71M48C814J', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--------------------- +--c39 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C39 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +1 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +where data_foto >= @appoDataInizioTrimestre +) bf +--c40 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C40 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +1 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is not null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is not null +) bf +--41 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C41 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +1 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is null +) bf +--c42 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C42 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +1 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is null +) bf +--c43 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C43 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +1 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is not null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is not null +) bf +--C44 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'F' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +1 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +inner join c6stagingperiodico.st_mon +on a.cod_fiscale = codfis +and a.rete = st_mon.rete +where data_foto > '20111001' +) bf +--C45 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'G' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +1 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto < '20111001' +) bf +--C46 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'H' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +1 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto > '20111001' +) bf +--C47 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'I' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +1 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and dttrim = @appoDataFineTrimestre +and data_foto > '20111001' +) bf +--C48 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'J' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +1 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +/* +(select * from c6stagingperiodico.wseics where dttrim = '20111231') a +inner join +(select * from c6stagingperiodico.wseics where dttrim = '20120331') b +on a.rete = b.rete +and a.codfis = b.codfis +inner join c6martperiodico.monitoraggio_iniziale c +on b.codfis = c.cod_fiscale +and b.rete = c.rete +where +a.codprod not in ('37', 'GP') +and +b.codprod in ('37', 'GP') +and c.data_foto > '20111001' +*/ +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001' +) bf +--C49 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'K' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +1 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +--inner join c6stagingperiodico.wseics b +--on b.codfis = b.codfis +--and a.rete = b.rete +--where a.codprod not in ('37', 'GP') +----Se fase di Simulazione: +---- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +----and a.dttrim = '20131130' +----Se fase di Trimestrale: +---- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +--and a.dttrim = @appoDataFineTrimestre +--and b.codprod in ('37', 'GP') +----and b.dttrim = '20111231' -- b.dttrim = dt fine trimestre precedente +--and b.dttrim = @appoDataFineTrimPrec +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001' +) bf +--nuovi----------------------------------------------------------- +--C50 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti OLD' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +1 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 0 +) bf +--C51 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Affluent' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +1 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 1 +) bf +--C52 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Private' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +1 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 2 +) bf +--C53 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Bonus' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +1 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.bonus bon +on vc.rete = bon.rete +and vc.cod_fiscale = bon.cod_fiscale +) bf +--C54 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Scadenze' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +1 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.scadenze sca +on vc.rete = sca.rete +and vc.cod_fiscale = sca.cod_fiscale +) bf +--C55 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Proventi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +1 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.proventi pro +on vc.rete = pro.rete +and vc.cod_fiscale = pro.cod_fiscale +) bf +--C56 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Monitoraggio avviato Trimestre precedente' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +1 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +--where data_foto > C6MartPeriodico.getPreviousTrimestre(getdate(), 1) +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +) bf +--C57 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +1 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where isnull(data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) +where isnull(data_foto,getDate()) between @appoDataInizioTrimestre and @appoDataFineTrimestre +) bf +--C58 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +1 AS c58 +FROM +( +--select distinct b.rete, b.cod_fiscale as codfis +--from c6martperiodico.monitoraggio_report a +--right join C6MartPeriodico.rp_vcontrattipergenerazionereport b +--on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete is null +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_iniziale +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +except +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_report +) bf +--------------------- +--drop table C6MARTPERIODICO.SELEZIONECAMPIONE2 +truncate table C6MARTPERIODICO.SELEZIONECAMPIONE2 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +select +v.rete, +v.cod_fiscale, +sum( C1 ) as C1, +sum( C2 ) as C2, +sum( C3 ) as C3, +sum( C4 ) as C4, +sum( C5 ) as C5, +sum( C6 ) as C6, +sum( C7 ) as C7, +sum( C8 ) as C8, +sum( C9 ) as C9, +sum( C10 ) as C10, +sum( C11) as C11, +sum( C12 ) as C12, +sum( C13 ) as C13, +sum( C14 ) as C14, +sum( C15 ) as C15, +sum( C16 ) as C16, +sum( C17 ) as C17, +sum( C18 ) as C18, +sum( C19 ) as C19, +sum( C20 ) as C20, +sum( C21 ) as C21, +sum( C22 ) as C22, +sum( C23) as C23, +sum( C24 ) as C24, +sum( C25 ) as C25, +sum( C26) as C26, +sum( C27 ) as C27, +sum( C28) as C28, +sum( C29 ) as C29, +sum( C30 ) as C30, +sum(C31) AS C31, +SUM(C32) AS C32, +SUM(C33) AS C33, +SUM(C34) AS C34, +SUM(C35) AS C35, +SUM(C36) AS C36, +SUM(C37) AS C37, +SUM(C38) AS C38, +SUM(C39) AS C39, +SUM(C40) AS C40, +SUM(C41) AS C41, +SUM(C42) AS C42, +SUM(C43) AS C43, +SUM(C44) AS C44, +SUM(C45) AS C45, +SUM(C46) AS C46, +SUM(C47) AS C47, +SUM(C48) AS C48, +SUM(C49) AS C49, +SUM(C50) AS C50, +SUM(C51) AS C51, +SUM(C52) AS C52, +SUM(C53) AS C53, +SUM(C54) AS C54, +SUM(C55) AS C55, +SUM(C56) AS C56, +SUM(C57) AS C57, +SUM(C58) AS C58 +--INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +FROM +C6MARTPERIODICO.SELEZIONECAMPIONE sc join C6MartPeriodico.rp_vcontrattipergenerazionereport v +on sc.rete=v.rete and sc.cod_fiscale=v.cod_fiscale +--modifica del 10/7/2018 per non far includere quelli della blacklist (se ci sono) +where sc.rete+sc.cod_fiscale not in (select rete+codicefiscale from [C6StampeCentralizzate].[C6MartPeriodico].[ExcludedList]) +group by +v.rete, +v.cod_fiscale +END +--SELECT * FROM C6MARTPERIODICO.SELEZIONECAMPIONE2 \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20160412.sql b/sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20160412.sql new file mode 100644 index 00000000..694114d4 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20160412.sql @@ -0,0 +1,4865 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20160412] +AS +BEGIN +--procedura di caricamento campione +DECLARE @appoDataInizioTrimestre varchar(8) +SET @appoDataInizioTrimestre = '20160101' +--SET @appoDataInizioTrimestre = '20151001' +--SET @appoDataInizioTrimestre = '20150701' +DECLARE @appoDataFineTrimestre varchar(8) +SET @appoDataFineTrimestre = '20160331' +--SET @appoDataFineTrimestre = '20151231' +--SET @appoDataFineTrimestre = '20150930' +DECLARE @appoDataInizioTrimPrec varchar(8) +SET @appoDataInizioTrimPrec = '20151001' +--SET @appoDataInizioTrimPrec = '20150701' +--SET @appoDataInizioTrimPrec = '20150401' +DECLARE @appoDataFineTrimPrec varchar(8) +SET @appoDataFineTrimPrec = '20151231' +--SET @appoDataFineTrimPrec = '20150930' +--SET @appoDataFineTrimPrec = '20150630' +-- QUI VA SPECIFICATO IL PERIODO DI EFFETTIVA GENERAZIONE DEI REPORT CHE, IN GENERE, E' IL MESE SUCCESSIVO +-- A QUELLO DI FINE TRIMESTRE +DECLARE @appoDataGenerazioneTrimPrecDa varchar(8) +SET @appoDataGenerazioneTrimPrecDa = '20160101' +--SET @appoDataGenerazioneTrimPrecDa = '20151001' +--SET @appoDataGenerazioneTrimPrecDa = '20150701' +DECLARE @appoDataGenerazioneTrimPrecA varchar(8) +SET @appoDataGenerazioneTrimPrecA = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perché in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecA = '20151031' +--SET @appoDataGenerazioneTrimPrecA = '20150731' +DECLARE @appoDataGenerazioneTrimPrecX2Da varchar(8) +SET @appoDataGenerazioneTrimPrecX2Da = '20151001' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150701' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150401' +DECLARE @appoDataGenerazioneTrimPrecX2A varchar(8) +SET @appoDataGenerazioneTrimPrecX2A = '20151031' +--SET @appoDataGenerazioneTrimPrecX2A = '20150731' +--SET @appoDataGenerazioneTrimPrecX2A = '20150430' +TRUNCATE TABLE C6MARTPERIODICO.SELEZIONECAMPIONE +--select * into c6martperiodico.appo_selezione_campione from C6MARTPERIODICO.SELEZIONECAMPIONE +--0 tutta la popolazione +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +select distinct bf.cod_fiscale, bf.rete +from +C6MartPeriodico.rp_vcontrattipergenerazionereport bf +) bf +--1 UNA MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'UNA MACRO ASSET ' AS DESCRIZIONE, +1 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 1 "ASSET CLASS" anzichè 1 "MACRO ASSET CLASS" +--select distinct bf.cod_fiscale, bf.rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=1 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=1 +) bf +--2 TUTTE LE MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'TUTTE LE MACRO ASSET ' AS DESCRIZIONE, +0 AS c1, +1 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 7 "ASSET CLASS" anzichè 7 "MACRO ASSET CLASS" +--select distinct cod_fiscale, rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=7 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=7 +) bf +--3 TUTTE LE AREE SONO MONITORATE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis as cod_fiscale, +'TUTTE LE AREE SONO MONITORATE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +1 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, count(distinct codarea) c +from C6StagingPeriodico.TANAB +where dtfine='99991231' +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=4 +)bf +--4 SENZA PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'SENZA PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +1 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +--5 RISCHIO CREDITO NA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO N.A. ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +1 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk is null +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 6 CLASSE DI RISCHIO CREDITO > 3 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO > 3 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +1 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>3 +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 7 PRODOTTO SENZA RENDIMENTO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PRODOTTO SENZA RENDIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +1 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as cod_fiscale +from C6StagingPeriodico.TSCABP +) bf +-- 8 piu trimestrali +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PIU TRIMESTRALI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +1 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, codicefiscale AS COD_FISCALE, count(*)N +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where tiporeport='M' +and dataGenerazione > @appoDataGenerazioneTrimPrecX2Da +group by rete, codicefiscale +having count(*)>1 +) bf +-- 9 PATRIMONIO TERZI SU PIU' INTERMEDIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI SU PIU'' INTERMEDIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +1 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, count(distinct a.intermediario) M +from C6MartPeriodico.PATRIMONIO_TERZI a +group by a.rete, a.cod_fiscale +having count(distinct a.intermediario)>1 +) bf +-- 10 PERSONE GIURIDICHE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PERSONE GIURIDICHE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +1 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where len(cod_fiscale)=11 +) bf +-- 11 PB TERMINATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PB TERMINATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +1 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct bf.rete, bf.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_BF bf, C6Mart.CONTRATTOSEI c6,C6Stagingperiodico.ADS4WS_PROMOTORI pr +--where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +--and c6.cod_agente=pr.codice and pr.rete=c6.rete +--and stato= 'T' +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6,C6Stagingperiodico.RP_anagrafica_promotori pr +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and c6.cod_agente=pr.codage and pr.rete=c6.rete +and stato= 'T' +) bf +-- 12 PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +1 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_TERZI a +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +-- 13 PATR NON RAPPR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR NON RAPPR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +1 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale +from C6MartPeriodico.vPatrimonioNonRappresentabileAsset +) bf +-- 14 PATR IMMOBILIARE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +1 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, sum(a.VALORE_STIMATO) M +from C6MartPeriodico.PATRIMONIO_IMMOBILIARE a +group by a.rete, a.cod_fiscale +) bf +-- 15 PARTITE VIAGGIANTI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +1 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PARTITE_VIAGGIANTI) bf +--16 NON MONITORATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON MONITORATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +1 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.patrimonio_bf bf +where bf.rete + bf.cod_fiscale not in ( select distinct rete + case when len(codfis) =4 then 'FF@'+codfis else codfis end from C6StagingPeriodico.TANAB where dtfine='99991231') +) bf +-- 17 NO PATR IMMOB +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +1 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf +where cod_fiscale + rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.patrimonio_immobiliare) +) bf +-- 18 MON SU UNA SOLA AREA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON SU UNA SOLA AREA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +1 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +(select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE, count(distinct codarea) H +from C6StagingPeriodico.TANAB +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=1 +) bf +-- 19 MON DA PIU DI 12 MESI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON DA PIU DI 12 MESI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +1 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_FISCALE +from C6StagingPeriodico.TANAB +--where ('20101201'-dtrif)/30>12 +where dtrif < convert(varchar(8), DATEADD(year, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112) +) bf +-- 20 MON APPENA AVVIATO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON APPENA AVVIATO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +1 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE +from C6StagingPeriodico.TANAB +--where '20101201'-GETDATE()<1 +where (dtrif > convert(varchar(8), DATEADD(day, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112)) +) bf +-- 21 MANDATI FIDUCIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MANDATI FIDUCIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +1 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where cod_fiscale like 'FF@%' +) bf +-- 22 INADEGUATI VAR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI VAR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +1 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.var_perc_ptf>cod.max_var +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 23 INADEGUATI CRISK +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI CRISK ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +1 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_CREDITRISK cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>mifid.profilo_ass +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 24 INADEGUATI COMPLESSITA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI COMPLESSITA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +1 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF a, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and mifid.experience<(select max(complex) from C6MartPeriodico.PATRIMONIO_BF where rete=mifid.rete and cod_fiscale=mifid.cod_fiscale) +) bf +-- 25 DIVERSIFICAZIONE < 30 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'DIVERSIFICAZIONE < 30 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +1 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, beneficio +from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='COMPLESSIVO' +and beneficio<30 +) bf +-- 26 CC NEG E POS +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEG E POS ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +1 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) bf +-- 27 CC NEG +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEGATIVO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +1 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, sum(saldocontabile) M +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)<0 +) bf +where rete+cod_fiscale not in +( +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) +-- 28 REND NON RAPPR COME UNICA POSIZIONE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'REND NON RAPPR COME UNICA POSIZIONE IN AREA MONIT' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +1 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +SELECT +DISTINCT T.RETE, T.COD_FISCALE FROM +( +SELECT +RETE, COD_FISCALE , ID_AREA, SUM(CASE WHEN REND_NON_RAPPR =1 THEN 0 ELSE 1 END) TOT +FROM +C6MARTPERIODICO +.PATRIMONIO_BF B +GROUP +BY +RETE +, COD_FISCALE, ID_AREA +) +T, +( +SELECT +RETE, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, CASE WHEN CODAREA ='EXR' THEN 'EXT'ELSE CODAREA END AS CODAREA FROM +C6STAGINGPERIODICO +.TANAB +WHERE +DTFINE = 99991231 +) +B +WHERE +T +.RETE=B.RETE AND B.CODFIS=T.COD_FISCALE +AND +ID_AREA=CODAREA +AND +TOT=0 +) bf +-- 29 PREVIDENZA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PREVIDENZA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +1 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where id_area like '%Pre%' +) bf +--30 RESTART CONTRATTOSEI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RESTART CONTRATTOSEI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +1 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, codicefiscale as cod_fiscale +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where datagenerazione between @appoDataGenerazioneTrimPrecX2Da and @appoDataGenerazioneTrimPrecX2A +except +select distinct p.rete,p.codicefiscale + from C6StoricoPeriodico.GESTIONE_PDF_FTP p + inner join c6martperiodico.patrimonio_bf b + on p.rete=b.rete and p.codicefiscale =b.cod_fiscale + where datagenerazione between @appoDataGenerazioneTrimPrecDa and @appoDataGenerazioneTrimPrecA +--select distinct rete, codicefiscale as cod_fiscale +--from appoGESTIONE_PDF_FTP +--where datagenerazione between '20111001' and '20111031' +--and rete + codicefiscale not in (select distinct rete + codicefiscale +-- from appoGESTIONE_PDF_FTP +-- where datagenerazione between '20120101' and '20120131') +--and rete + codicefiscale in (select distinct rete + cod_fiscale +-- from c6martperiodico.patrimonio_bf) +) bf +--31 INDIRIZZO CONTRATTO ESTERO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INDIRIZZO CONTRATTO ESTERO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +1 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6 +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and nazione<> 'italia' +) bf +--32 CC>10000 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC>10000 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +1 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)>10000 +) bf +--33 COPERTURA INFERIORE A 100 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'COPERTURA INFERIORE A 100 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +1 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale + from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='complessivo' +and copertura<100 +) bf +--34 evoluzione controvalore > 30% +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'EVOLUZIONE CONTROVALORE > 30% ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +1 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct corrente.rete, corrente.cod_fiscale +from +(select b.rete, b.cod_fiscale, sum(controvalore) ctv +from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 a +inner join C6StagingPeriodico.appo_contratti b +on a.chiaveClientePB=b.chiaveClientePB +group by b.rete, b.cod_fiscale) scorsa, +(select rete, cod_fiscale, sum(ctv) ctv +from c6martperiodico.patrimonio_bf +group by rete, cod_fiscale) corrente +where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +and (case when scorsa.ctv>corrente.ctv + then (scorsa.ctv-abs(corrente.ctv)) + else (corrente.ctv-abs(scorsa.ctv)) + end) + > + (case when scorsa.ctv>corrente.ctv + then (0.30*corrente.ctv) + else (0.30*scorsa.ctv) + end) +--select distinct corrente.rete, corrente.cod_fiscale +--from +--(select rete, cod_fiscale, sum(controvalore) ctv +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--group by rete, cod_fiscale) scorsa, +--(select rete, cod_fiscale, sum(ctv) ctv +--from c6martperiodico.patrimonio_bf +--group by rete, cod_fiscale) corrente +--where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +--and (0.33*scorsa.ctv>corrente.ctv or 0.33*scorsa.ctv0 +--select distinct rete, cod_fiscale +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--where investimentiincorso>0 +) bf +--36 Monitoraggio con cedole/dividendi +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MONITORAGGIO CON CEDOLE/DIVIDENDI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +1 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.MONITORAGGIO_ATTUALE +where CEDOLE_DIVIDENDI>0 +) bf +-- 37 PARTITE VIAGGIANTI DI DISINVESTIMENTO - 19/1/2016 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI DI DISINVESTIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +1 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from C6MartPeriodico.patrimonio_bf a +inner join [C6StampeCentralizzate].[C6MartPeriodico].[TB_Campione] b +on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where (partvia_disinv <> 0.000 and partvia_disinv is not null) +) bf +--CRITERIO ELIMINATO IN QUANTO DUPLICATO DEL CRITERIO 31 +--38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +--select +--bf.rete, +--bf.cod_fiscale, +--'Indirizzo Estero' AS DESCRIZIONE, +--0 AS c1, +--0 AS c2, +--0 AS c3, +--0 AS c4, +--0 AS c5, +--0 AS c6, +--0 AS c7, +--0 AS c8, +--0 AS c9, +--0 AS c10, +--0 AS c11, +--0 AS c12, +--0 AS c13, +--0 AS c14, +--0 AS c15, +--0 AS c16, +--0 AS c17, +--0 AS c18, +--0 AS c19, +--0 AS c20, +--0 AS c21, +--0 AS c22, +--0 AS c23, +--0 AS c24, +--0 AS c25, +--0 AS c26, +--0 AS c27, +--0 AS c28, +--0 AS c29, +--0 AS c30, +--0 AS c31, +--0 AS c32, +--0 AS c33, +--0 AS c34, +--0 AS c35, +--0 AS c36, +--0 AS c37, +--1 AS c38, +--0 AS c39, +--0 AS c40, +--0 AS c41, +--0 AS c42, +--0 AS c43, +--0 AS c44, +--0 AS c45, +--0 AS c46, +--0 AS c47, +--0 AS c48, +--0 AS c49, +--0 AS c50, +--0 AS c51, +--0 AS c52, +--0 AS c53, +--0 AS c54, +--0 AS c55, +--0 AS c56, +--0 AS c57, +--0 AS c58 +--FROM +--( +--select distinct rete, cod_fiscale +--from c6martperiodico.contrattosei +--where nazione <> 'italia' +--) bf +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'S', +--'RSSRNZ49E14A479S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'CSCGPP34A03L050L', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNERSR61L08C351V', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'BGLPRD65E10Z130S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNZNLS71M48C814J', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--------------------- +--c39 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C39 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +1 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +where data_foto >= @appoDataInizioTrimestre +) bf +--c40 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C40 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +1 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is not null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is not null +) bf +--41 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C41 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +1 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is null +) bf +--c42 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C42 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +1 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is null +) bf +--c43 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C43 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +1 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is not null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is not null +) bf +--C44 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'F' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +1 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +inner join c6stagingperiodico.st_mon +on a.cod_fiscale = codfis +and a.rete = st_mon.rete +where data_foto > '20111001' +) bf +--C45 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'G' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +1 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto < '20111001' +) bf +--C46 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'H' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +1 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto > '20111001' +) bf +--C47 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'I' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +1 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and dttrim = @appoDataFineTrimestre +and data_foto > '20111001' +) bf +--C48 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'J' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +1 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +/* +(select * from c6stagingperiodico.wseics where dttrim = '20111231') a +inner join +(select * from c6stagingperiodico.wseics where dttrim = '20120331') b +on a.rete = b.rete +and a.codfis = b.codfis +inner join c6martperiodico.monitoraggio_iniziale c +on b.codfis = c.cod_fiscale +and b.rete = c.rete +where +a.codprod not in ('37', 'GP') +and +b.codprod in ('37', 'GP') +and c.data_foto > '20111001' +*/ +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001' +) bf +--C49 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'K' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +1 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +--inner join c6stagingperiodico.wseics b +--on b.codfis = b.codfis +--and a.rete = b.rete +--where a.codprod not in ('37', 'GP') +----Se fase di Simulazione: +---- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +----and a.dttrim = '20131130' +----Se fase di Trimestrale: +---- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +--and a.dttrim = @appoDataFineTrimestre +--and b.codprod in ('37', 'GP') +----and b.dttrim = '20111231' -- b.dttrim = dt fine trimestre precedente +--and b.dttrim = @appoDataFineTrimPrec +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001' +) bf +--nuovi----------------------------------------------------------- +--C50 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti OLD' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +1 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 0 +) bf +--C51 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Affluent' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +1 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 1 +) bf +--C52 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Private' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +1 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 2 +) bf +--C53 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Bonus' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +1 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.bonus bon +on vc.rete = bon.rete +and vc.cod_fiscale = bon.cod_fiscale +) bf +--C54 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Scadenze' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +1 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.scadenze sca +on vc.rete = sca.rete +and vc.cod_fiscale = sca.cod_fiscale +) bf +--C55 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Proventi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +1 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.proventi pro +on vc.rete = pro.rete +and vc.cod_fiscale = pro.cod_fiscale +) bf +--C56 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Monitoraggio avviato Trimestre precedente' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +1 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +--where data_foto > C6MartPeriodico.getPreviousTrimestre(getdate(), 1) +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +) bf +--C57 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +1 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where isnull(data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) +where isnull(data_foto,getDate()) between @appoDataInizioTrimestre and @appoDataFineTrimestre +) bf +--C58 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +1 AS c58 +FROM +( +--select distinct b.rete, b.cod_fiscale as codfis +--from c6martperiodico.monitoraggio_report a +--right join C6MartPeriodico.rp_vcontrattipergenerazionereport b +--on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete is null +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_iniziale +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +except +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_report +) bf +--------------------- +--drop table C6MARTPERIODICO.SELEZIONECAMPIONE2 +truncate table C6MARTPERIODICO.SELEZIONECAMPIONE2 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +select +v.rete, +v.cod_fiscale, +sum( C1 ) as C1, +sum( C2 ) as C2, +sum( C3 ) as C3, +sum( C4 ) as C4, +sum( C5 ) as C5, +sum( C6 ) as C6, +sum( C7 ) as C7, +sum( C8 ) as C8, +sum( C9 ) as C9, +sum( C10 ) as C10, +sum( C11) as C11, +sum( C12 ) as C12, +sum( C13 ) as C13, +sum( C14 ) as C14, +sum( C15 ) as C15, +sum( C16 ) as C16, +sum( C17 ) as C17, +sum( C18 ) as C18, +sum( C19 ) as C19, +sum( C20 ) as C20, +sum( C21 ) as C21, +sum( C22 ) as C22, +sum( C23) as C23, +sum( C24 ) as C24, +sum( C25 ) as C25, +sum( C26) as C26, +sum( C27 ) as C27, +sum( C28) as C28, +sum( C29 ) as C29, +sum( C30 ) as C30, +sum(C31) AS C31, +SUM(C32) AS C32, +SUM(C33) AS C33, +SUM(C34) AS C34, +SUM(C35) AS C35, +SUM(C36) AS C36, +SUM(C37) AS C37, +SUM(C38) AS C38, +SUM(C39) AS C39, +SUM(C40) AS C40, +SUM(C41) AS C41, +SUM(C42) AS C42, +SUM(C43) AS C43, +SUM(C44) AS C44, +SUM(C45) AS C45, +SUM(C46) AS C46, +SUM(C47) AS C47, +SUM(C48) AS C48, +SUM(C49) AS C49, +SUM(C50) AS C50, +SUM(C51) AS C51, +SUM(C52) AS C52, +SUM(C53) AS C53, +SUM(C54) AS C54, +SUM(C55) AS C55, +SUM(C56) AS C56, +SUM(C57) AS C57, +SUM(C58) AS C58 +--INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +FROM +C6MARTPERIODICO.SELEZIONECAMPIONE sc join C6MartPeriodico.rp_vcontrattipergenerazionereport v +on sc.rete=v.rete and sc.cod_fiscale=v.cod_fiscale +group by +v.rete, +v.cod_fiscale +END +--SELECT * FROM C6MARTPERIODICO.SELEZIONECAMPIONE2 \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20161012.sql b/sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20161012.sql new file mode 100644 index 00000000..03d5bfd9 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20161012.sql @@ -0,0 +1,4902 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20161012] +AS +BEGIN +--procedura di caricamento campione +DECLARE @appoDataInizioTrimestre varchar(8) +SET @appoDataInizioTrimestre = '20160701' +--SET @appoDataInizioTrimestre = '20160401' +--SET @appoDataInizioTrimestre = '20160101' +--SET @appoDataInizioTrimestre = '20151001' +--SET @appoDataInizioTrimestre = '20150701' +DECLARE @appoDataFineTrimestre varchar(8) +SET @appoDataFineTrimestre = '20160930' +--SET @appoDataFineTrimestre = '20160630' +--SET @appoDataFineTrimestre = '20160331' +--SET @appoDataFineTrimestre = '20151231' +--SET @appoDataFineTrimestre = '20150930' +DECLARE @appoDataInizioTrimPrec varchar(8) +SET @appoDataInizioTrimPrec = '20160401' +--SET @appoDataInizioTrimPrec = '20160101' +--SET @appoDataInizioTrimPrec = '20151001' +--SET @appoDataInizioTrimPrec = '20150701' +--SET @appoDataInizioTrimPrec = '20150401' +DECLARE @appoDataFineTrimPrec varchar(8) +SET @appoDataFineTrimPrec = '20160630' +--SET @appoDataFineTrimPrec = '20160331' +--SET @appoDataFineTrimPrec = '20151231' +--SET @appoDataFineTrimPrec = '20150930' +--SET @appoDataFineTrimPrec = '20150630' +-- QUI VA SPECIFICATO IL PERIODO DI EFFETTIVA GENERAZIONE DEI REPORT CHE, IN GENERE, E' IL MESE SUCCESSIVO +-- A QUELLO DI FINE TRIMESTRE +DECLARE @appoDataGenerazioneTrimPrecDa varchar(8) +SET @appoDataGenerazioneTrimPrecDa = '20160701' +--SET @appoDataGenerazioneTrimPrecDa = '20160401' +--SET @appoDataGenerazioneTrimPrecDa = '20160101' +--SET @appoDataGenerazioneTrimPrecDa = '20151001' +--SET @appoDataGenerazioneTrimPrecDa = '20150701' +DECLARE @appoDataGenerazioneTrimPrecA varchar(8) +SET @appoDataGenerazioneTrimPrecA = '20160731' +--SET @appoDataGenerazioneTrimPrecA = '20160430' +--SET @appoDataGenerazioneTrimPrecA = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perché in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecA = '20151031' +--SET @appoDataGenerazioneTrimPrecA = '20150731' +DECLARE @appoDataGenerazioneTrimPrecX2Da varchar(8) +SET @appoDataGenerazioneTrimPrecA = '20160401' +--SET @appoDataGenerazioneTrimPrecA = '20160101' +--SET @appoDataGenerazioneTrimPrecX2Da = '20151001' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150701' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150401' +DECLARE @appoDataGenerazioneTrimPrecX2A varchar(8) +SET @appoDataGenerazioneTrimPrecX2A = '20160430' +--SET @appoDataGenerazioneTrimPrecX2A = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perché in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecX2A = '20151031' +--SET @appoDataGenerazioneTrimPrecX2A = '20150731' +--SET @appoDataGenerazioneTrimPrecX2A = '20150430' +TRUNCATE TABLE C6MARTPERIODICO.SELEZIONECAMPIONE +--select * into c6martperiodico.appo_selezione_campione from C6MARTPERIODICO.SELEZIONECAMPIONE +--0 tutta la popolazione +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +select distinct bf.cod_fiscale, bf.rete +from +C6MartPeriodico.rp_vcontrattipergenerazionereport bf +) bf +--1 UNA MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'UNA MACRO ASSET ' AS DESCRIZIONE, +1 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 1 "ASSET CLASS" anzichè 1 "MACRO ASSET CLASS" +--select distinct bf.cod_fiscale, bf.rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=1 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=1 +) bf +--2 TUTTE LE MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'TUTTE LE MACRO ASSET ' AS DESCRIZIONE, +0 AS c1, +1 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 7 "ASSET CLASS" anzichè 7 "MACRO ASSET CLASS" +--select distinct cod_fiscale, rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=7 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=7 +) bf +--3 TUTTE LE AREE SONO MONITORATE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis as cod_fiscale, +'TUTTE LE AREE SONO MONITORATE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +1 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, count(distinct codarea) c +from C6StagingPeriodico.TANAB +where dtfine='99991231' +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=4 +)bf +--4 SENZA PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'SENZA PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +1 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +--5 RISCHIO CREDITO NA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO N.A. ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +1 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk is null +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 6 CLASSE DI RISCHIO CREDITO > 3 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO > 3 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +1 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>3 +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 7 PRODOTTO SENZA RENDIMENTO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PRODOTTO SENZA RENDIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +1 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as cod_fiscale +from C6StagingPeriodico.TSCABP +) bf +-- 8 piu trimestrali +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PIU TRIMESTRALI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +1 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, codicefiscale AS COD_FISCALE, count(*)N +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where tiporeport='M' +and dataGenerazione > @appoDataGenerazioneTrimPrecX2Da +group by rete, codicefiscale +having count(*)>1 +) bf +-- 9 PATRIMONIO TERZI SU PIU' INTERMEDIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI SU PIU'' INTERMEDIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +1 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, count(distinct a.intermediario) M +from C6MartPeriodico.PATRIMONIO_TERZI a +group by a.rete, a.cod_fiscale +having count(distinct a.intermediario)>1 +) bf +-- 10 PERSONE GIURIDICHE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PERSONE GIURIDICHE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +1 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where len(cod_fiscale)=11 +) bf +-- 11 PB TERMINATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PB TERMINATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +1 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct bf.rete, bf.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_BF bf, C6Mart.CONTRATTOSEI c6,C6Stagingperiodico.ADS4WS_PROMOTORI pr +--where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +--and c6.cod_agente=pr.codice and pr.rete=c6.rete +--and stato= 'T' +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6,C6Stagingperiodico.RP_anagrafica_promotori pr +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and c6.cod_agente=pr.codage and pr.rete=c6.rete +and stato= 'T' +) bf +-- 12 PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +1 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_TERZI a +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +-- 13 PATR NON RAPPR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR NON RAPPR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +1 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale +from C6MartPeriodico.vPatrimonioNonRappresentabileAsset +) bf +-- 14 PATR IMMOBILIARE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +1 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, sum(a.VALORE_STIMATO) M +from C6MartPeriodico.PATRIMONIO_IMMOBILIARE a +group by a.rete, a.cod_fiscale +) bf +-- 15 PARTITE VIAGGIANTI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +1 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PARTITE_VIAGGIANTI) bf +--16 NON MONITORATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON MONITORATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +1 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.patrimonio_bf bf +where bf.rete + bf.cod_fiscale not in ( select distinct rete + case when len(codfis) =4 then 'FF@'+codfis else codfis end from C6StagingPeriodico.TANAB where dtfine='99991231') +) bf +-- 17 NO PATR IMMOB +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +1 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf +where cod_fiscale + rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.patrimonio_immobiliare) +) bf +-- 18 MON SU UNA SOLA AREA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON SU UNA SOLA AREA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +1 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +(select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE, count(distinct codarea) H +from C6StagingPeriodico.TANAB +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=1 +) bf +-- 19 MON DA PIU DI 12 MESI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON DA PIU DI 12 MESI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +1 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_FISCALE +from C6StagingPeriodico.TANAB +--where ('20101201'-dtrif)/30>12 +where dtrif < convert(varchar(8), DATEADD(year, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112) +) bf +-- 20 MON APPENA AVVIATO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON APPENA AVVIATO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +1 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE +from C6StagingPeriodico.TANAB +--where '20101201'-GETDATE()<1 +where (dtrif > convert(varchar(8), DATEADD(day, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112)) +) bf +-- 21 MANDATI FIDUCIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MANDATI FIDUCIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +1 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where cod_fiscale like 'FF@%' +) bf +-- 22 INADEGUATI VAR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI VAR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +1 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.var_perc_ptf>cod.max_var +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 23 INADEGUATI CRISK +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI CRISK ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +1 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_CREDITRISK cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>mifid.profilo_ass +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 24 INADEGUATI COMPLESSITA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI COMPLESSITA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +1 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +-- EN2060408: begin - adapted to new feature "Adeguatezza" comnplexity / concentration +--select distinct a.rete, a.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_BF a, C6MartPeriodico.MIFID mifid +--where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +--and mifid.experience<(select max(complex) from C6MartPeriodico.PATRIMONIO_BF where rete=mifid.rete and cod_fiscale=mifid.cod_fiscale) +SELECT top 500 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'S' and [ancmpl].[FLGCONC] = 'S') +order by dttrim desc + UNION +SELECT top 200 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'N' and [ancmpl].[FLGCONC] = 'S') +order by dttrim desc + UNION +SELECT top 20 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'S' and [ancmpl].[FLGCONC] = 'N') +order by dttrim desc + UNION +SELECT top 20 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'N' and [ancmpl].[FLGCONC] = 'N') +order by dttrim desc +) bf +-- EN2060408: end +-- 25 DIVERSIFICAZIONE < 30 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'DIVERSIFICAZIONE < 30 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +1 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, beneficio +from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='COMPLESSIVO' +and beneficio<30 +) bf +-- 26 CC NEG E POS +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEG E POS ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +1 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) bf +-- 27 CC NEG +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEGATIVO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +1 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, sum(saldocontabile) M +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)<0 +) bf +where rete+cod_fiscale not in +( +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) +-- 28 REND NON RAPPR COME UNICA POSIZIONE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'REND NON RAPPR COME UNICA POSIZIONE IN AREA MONIT' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +1 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +SELECT +DISTINCT T.RETE, T.COD_FISCALE FROM +( +SELECT +RETE, COD_FISCALE , ID_AREA, SUM(CASE WHEN REND_NON_RAPPR =1 THEN 0 ELSE 1 END) TOT +FROM +C6MARTPERIODICO +.PATRIMONIO_BF B +GROUP +BY +RETE +, COD_FISCALE, ID_AREA +) +T, +( +SELECT +RETE, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, CASE WHEN CODAREA ='EXR' THEN 'EXT'ELSE CODAREA END AS CODAREA FROM +C6STAGINGPERIODICO +.TANAB +WHERE +DTFINE = 99991231 +) +B +WHERE +T +.RETE=B.RETE AND B.CODFIS=T.COD_FISCALE +AND +ID_AREA=CODAREA +AND +TOT=0 +) bf +-- 29 PREVIDENZA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PREVIDENZA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +1 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where id_area like '%Pre%' +) bf +--30 RESTART CONTRATTOSEI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RESTART CONTRATTOSEI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +1 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, codicefiscale as cod_fiscale +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where datagenerazione between @appoDataGenerazioneTrimPrecX2Da and @appoDataGenerazioneTrimPrecX2A +except +select distinct p.rete,p.codicefiscale + from C6StoricoPeriodico.GESTIONE_PDF_FTP p + inner join c6martperiodico.patrimonio_bf b + on p.rete=b.rete and p.codicefiscale =b.cod_fiscale + where datagenerazione between @appoDataGenerazioneTrimPrecDa and @appoDataGenerazioneTrimPrecA +--select distinct rete, codicefiscale as cod_fiscale +--from appoGESTIONE_PDF_FTP +--where datagenerazione between '20111001' and '20111031' +--and rete + codicefiscale not in (select distinct rete + codicefiscale +-- from appoGESTIONE_PDF_FTP +-- where datagenerazione between '20120101' and '20120131') +--and rete + codicefiscale in (select distinct rete + cod_fiscale +-- from c6martperiodico.patrimonio_bf) +) bf +--31 INDIRIZZO CONTRATTO ESTERO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INDIRIZZO CONTRATTO ESTERO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +1 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6 +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and nazione<> 'italia' +) bf +--32 CC>10000 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC>10000 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +1 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)>10000 +) bf +--33 COPERTURA INFERIORE A 100 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'COPERTURA INFERIORE A 100 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +1 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale + from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='complessivo' +and copertura<100 +) bf +--34 evoluzione controvalore > 30% +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'EVOLUZIONE CONTROVALORE > 30% ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +1 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct corrente.rete, corrente.cod_fiscale +from +(select b.rete, b.cod_fiscale, sum(controvalore) ctv +from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 a +inner join C6StagingPeriodico.appo_contratti b +on a.chiaveClientePB=b.chiaveClientePB +group by b.rete, b.cod_fiscale) scorsa, +(select rete, cod_fiscale, sum(ctv) ctv +from c6martperiodico.patrimonio_bf +group by rete, cod_fiscale) corrente +where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +and (case when scorsa.ctv>corrente.ctv + then (scorsa.ctv-abs(corrente.ctv)) + else (corrente.ctv-abs(scorsa.ctv)) + end) + > + (case when scorsa.ctv>corrente.ctv + then (0.30*corrente.ctv) + else (0.30*scorsa.ctv) + end) +--select distinct corrente.rete, corrente.cod_fiscale +--from +--(select rete, cod_fiscale, sum(controvalore) ctv +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--group by rete, cod_fiscale) scorsa, +--(select rete, cod_fiscale, sum(ctv) ctv +--from c6martperiodico.patrimonio_bf +--group by rete, cod_fiscale) corrente +--where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +--and (0.33*scorsa.ctv>corrente.ctv or 0.33*scorsa.ctv0 +--select distinct rete, cod_fiscale +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--where investimentiincorso>0 +) bf +--36 Monitoraggio con cedole/dividendi +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MONITORAGGIO CON CEDOLE/DIVIDENDI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +1 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.MONITORAGGIO_ATTUALE +where CEDOLE_DIVIDENDI>0 +) bf +-- 37 PARTITE VIAGGIANTI DI DISINVESTIMENTO - 19/1/2016 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI DI DISINVESTIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +1 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from C6MartPeriodico.patrimonio_bf a +inner join [C6StampeCentralizzate].[C6MartPeriodico].[TB_Campione] b +on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where (partvia_disinv <> 0.000 and partvia_disinv is not null) +) bf +--CRITERIO ELIMINATO IN QUANTO DUPLICATO DEL CRITERIO 31 +--38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +--select +--bf.rete, +--bf.cod_fiscale, +--'Indirizzo Estero' AS DESCRIZIONE, +--0 AS c1, +--0 AS c2, +--0 AS c3, +--0 AS c4, +--0 AS c5, +--0 AS c6, +--0 AS c7, +--0 AS c8, +--0 AS c9, +--0 AS c10, +--0 AS c11, +--0 AS c12, +--0 AS c13, +--0 AS c14, +--0 AS c15, +--0 AS c16, +--0 AS c17, +--0 AS c18, +--0 AS c19, +--0 AS c20, +--0 AS c21, +--0 AS c22, +--0 AS c23, +--0 AS c24, +--0 AS c25, +--0 AS c26, +--0 AS c27, +--0 AS c28, +--0 AS c29, +--0 AS c30, +--0 AS c31, +--0 AS c32, +--0 AS c33, +--0 AS c34, +--0 AS c35, +--0 AS c36, +--0 AS c37, +--1 AS c38, +--0 AS c39, +--0 AS c40, +--0 AS c41, +--0 AS c42, +--0 AS c43, +--0 AS c44, +--0 AS c45, +--0 AS c46, +--0 AS c47, +--0 AS c48, +--0 AS c49, +--0 AS c50, +--0 AS c51, +--0 AS c52, +--0 AS c53, +--0 AS c54, +--0 AS c55, +--0 AS c56, +--0 AS c57, +--0 AS c58 +--FROM +--( +--select distinct rete, cod_fiscale +--from c6martperiodico.contrattosei +--where nazione <> 'italia' +--) bf +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'S', +--'RSSRNZ49E14A479S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'CSCGPP34A03L050L', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNERSR61L08C351V', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'BGLPRD65E10Z130S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNZNLS71M48C814J', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--------------------- +--c39 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C39 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +1 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +where data_foto >= @appoDataInizioTrimestre +) bf +--c40 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C40 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +1 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is not null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is not null +) bf +--41 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C41 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +1 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is null +) bf +--c42 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C42 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +1 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is null +) bf +--c43 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C43 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +1 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is not null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is not null +) bf +--C44 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'F' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +1 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +inner join c6stagingperiodico.st_mon +on a.cod_fiscale = codfis +and a.rete = st_mon.rete +where data_foto > '20111001' +) bf +--C45 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'G' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +1 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto < '20111001' +) bf +--C46 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'H' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +1 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto > '20111001' +) bf +--C47 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'I' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +1 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and dttrim = @appoDataFineTrimestre +and data_foto > '20111001' +) bf +--C48 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'J' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +1 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +/* +(select * from c6stagingperiodico.wseics where dttrim = '20111231') a +inner join +(select * from c6stagingperiodico.wseics where dttrim = '20120331') b +on a.rete = b.rete +and a.codfis = b.codfis +inner join c6martperiodico.monitoraggio_iniziale c +on b.codfis = c.cod_fiscale +and b.rete = c.rete +where +a.codprod not in ('37', 'GP') +and +b.codprod in ('37', 'GP') +and c.data_foto > '20111001' +*/ +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001' +) bf +--C49 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'K' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +1 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +--inner join c6stagingperiodico.wseics b +--on b.codfis = b.codfis +--and a.rete = b.rete +--where a.codprod not in ('37', 'GP') +----Se fase di Simulazione: +---- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +----and a.dttrim = '20131130' +----Se fase di Trimestrale: +---- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +--and a.dttrim = @appoDataFineTrimestre +--and b.codprod in ('37', 'GP') +----and b.dttrim = '20111231' -- b.dttrim = dt fine trimestre precedente +--and b.dttrim = @appoDataFineTrimPrec +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001' +) bf +--nuovi----------------------------------------------------------- +--C50 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti OLD' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +1 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 0 +) bf +--C51 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Affluent' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +1 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 1 +) bf +--C52 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Private' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +1 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 2 +) bf +--C53 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Bonus' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +1 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.bonus bon +on vc.rete = bon.rete +and vc.cod_fiscale = bon.cod_fiscale +) bf +--C54 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Scadenze' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +1 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.scadenze sca +on vc.rete = sca.rete +and vc.cod_fiscale = sca.cod_fiscale +) bf +--C55 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Proventi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +1 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.proventi pro +on vc.rete = pro.rete +and vc.cod_fiscale = pro.cod_fiscale +) bf +--C56 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Monitoraggio avviato Trimestre precedente' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +1 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +--where data_foto > C6MartPeriodico.getPreviousTrimestre(getdate(), 1) +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +) bf +--C57 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +1 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where isnull(data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) +where isnull(data_foto,getDate()) between @appoDataInizioTrimestre and @appoDataFineTrimestre +) bf +--C58 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +1 AS c58 +FROM +( +--select distinct b.rete, b.cod_fiscale as codfis +--from c6martperiodico.monitoraggio_report a +--right join C6MartPeriodico.rp_vcontrattipergenerazionereport b +--on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete is null +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_iniziale +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +except +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_report +) bf +--------------------- +--drop table C6MARTPERIODICO.SELEZIONECAMPIONE2 +truncate table C6MARTPERIODICO.SELEZIONECAMPIONE2 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +select +v.rete, +v.cod_fiscale, +sum( C1 ) as C1, +sum( C2 ) as C2, +sum( C3 ) as C3, +sum( C4 ) as C4, +sum( C5 ) as C5, +sum( C6 ) as C6, +sum( C7 ) as C7, +sum( C8 ) as C8, +sum( C9 ) as C9, +sum( C10 ) as C10, +sum( C11) as C11, +sum( C12 ) as C12, +sum( C13 ) as C13, +sum( C14 ) as C14, +sum( C15 ) as C15, +sum( C16 ) as C16, +sum( C17 ) as C17, +sum( C18 ) as C18, +sum( C19 ) as C19, +sum( C20 ) as C20, +sum( C21 ) as C21, +sum( C22 ) as C22, +sum( C23) as C23, +sum( C24 ) as C24, +sum( C25 ) as C25, +sum( C26) as C26, +sum( C27 ) as C27, +sum( C28) as C28, +sum( C29 ) as C29, +sum( C30 ) as C30, +sum(C31) AS C31, +SUM(C32) AS C32, +SUM(C33) AS C33, +SUM(C34) AS C34, +SUM(C35) AS C35, +SUM(C36) AS C36, +SUM(C37) AS C37, +SUM(C38) AS C38, +SUM(C39) AS C39, +SUM(C40) AS C40, +SUM(C41) AS C41, +SUM(C42) AS C42, +SUM(C43) AS C43, +SUM(C44) AS C44, +SUM(C45) AS C45, +SUM(C46) AS C46, +SUM(C47) AS C47, +SUM(C48) AS C48, +SUM(C49) AS C49, +SUM(C50) AS C50, +SUM(C51) AS C51, +SUM(C52) AS C52, +SUM(C53) AS C53, +SUM(C54) AS C54, +SUM(C55) AS C55, +SUM(C56) AS C56, +SUM(C57) AS C57, +SUM(C58) AS C58 +--INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +FROM +C6MARTPERIODICO.SELEZIONECAMPIONE sc join C6MartPeriodico.rp_vcontrattipergenerazionereport v +on sc.rete=v.rete and sc.cod_fiscale=v.cod_fiscale +group by +v.rete, +v.cod_fiscale +END +--SELECT * FROM C6MARTPERIODICO.SELEZIONECAMPIONE2 \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20180711_preExcludedList.sql b/sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20180711_preExcludedList.sql new file mode 100644 index 00000000..dfc512f8 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20180711_preExcludedList.sql @@ -0,0 +1,4960 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20180711_preExcludedList] +AS +BEGIN +--procedura di caricamento campione +DECLARE @appoDataInizioTrimestre varchar(8) +SET @appoDataInizioTrimestre = '20180701' +--SET @appoDataInizioTrimestre = '20180401' +--SET @appoDataInizioTrimestre = '20180101' +--SET @appoDataInizioTrimestre = '20171001' +--SET @appoDataInizioTrimestre = '20170701' +--SET @appoDataInizioTrimestre = '20170401' +--SET @appoDataInizioTrimestre = '20170101' +--SET @appoDataInizioTrimestre = '20161001' +--SET @appoDataInizioTrimestre = '20160701' +--SET @appoDataInizioTrimestre = '20160401' +--SET @appoDataInizioTrimestre = '20160101' +--SET @appoDataInizioTrimestre = '20151001' +--SET @appoDataInizioTrimestre = '20150701' +DECLARE @appoDataFineTrimestre varchar(8) +SET @appoDataFineTrimestre = '20180630' +--SET @appoDataFineTrimestre = '20180331' +--SET @appoDataFineTrimestre = '20171231' +--SET @appoDataFineTrimestre = '20170930' +--SET @appoDataFineTrimestre = '20170630' +--SET @appoDataFineTrimestre = '20170331' +--SET @appoDataFineTrimestre = '20161231' +--SET @appoDataFineTrimestre = '20160930' +--SET @appoDataFineTrimestre = '20160630' +--SET @appoDataFineTrimestre = '20160331' +--SET @appoDataFineTrimestre = '20151231' +--SET @appoDataFineTrimestre = '20150930' +DECLARE @appoDataInizioTrimPrec varchar(8) +SET @appoDataInizioTrimPrec = '20180401' +--SET @appoDataInizioTrimPrec = '20180101' +--SET @appoDataInizioTrimPrec = '20171001' +--SET @appoDataInizioTrimPrec = '20170701' +--SET @appoDataInizioTrimPrec = '20170401' +--SET @appoDataInizioTrimPrec = '20170101' +--SET @appoDataInizioTrimPrec = '20161001' +--SET @appoDataInizioTrimPrec = '20160701' +--SET @appoDataInizioTrimPrec = '20160401' +--SET @appoDataInizioTrimPrec = '20160101' +--SET @appoDataInizioTrimPrec = '20151001' +--SET @appoDataInizioTrimPrec = '20150701' +--SET @appoDataInizioTrimPrec = '20150401' +DECLARE @appoDataFineTrimPrec varchar(8) +SET @appoDataFineTrimPrec = '20180331' +--SET @appoDataFineTrimPrec = '20171231' +--SET @appoDataFineTrimPrec = '20170930' +--SET @appoDataFineTrimPrec = '20170630' +--SET @appoDataFineTrimPrec = '20170331' +--SET @appoDataFineTrimPrec = '20161231' +--SET @appoDataFineTrimPrec = '20160930' +--SET @appoDataFineTrimPrec = '20160630' +--SET @appoDataFineTrimPrec = '20160331' +--SET @appoDataFineTrimPrec = '20151231' +--SET @appoDataFineTrimPrec = '20150930' +--SET @appoDataFineTrimPrec = '20150630' +-- QUI VA SPECIFICATO IL PERIODO DI EFFETTIVA GENERAZIONE DEI REPORT CHE, IN GENERE, E' IL MESE SUCCESSIVO +-- A QUELLO DI FINE TRIMESTRE +DECLARE @appoDataGenerazioneTrimPrecDa varchar(8) +SET @appoDataGenerazioneTrimPrecDa = '20180401' +--SET @appoDataGenerazioneTrimPrecDa = '20180101' +--SET @appoDataGenerazioneTrimPrecDa = '20171001' +--SET @appoDataGenerazioneTrimPrecDa = '20170701' +--SET @appoDataGenerazioneTrimPrecDa = '20170401' +--SET @appoDataGenerazioneTrimPrecDa = '20170101' +--SET @appoDataGenerazioneTrimPrecDa = '20161001' +--SET @appoDataGenerazioneTrimPrecDa = '20160701' +--SET @appoDataGenerazioneTrimPrecDa = '20160401' +--SET @appoDataGenerazioneTrimPrecDa = '20160101' +--SET @appoDataGenerazioneTrimPrecDa = '20151001' +--SET @appoDataGenerazioneTrimPrecDa = '20150701' +DECLARE @appoDataGenerazioneTrimPrecA varchar(8) +SET @appoDataGenerazioneTrimPrecA = '20180430' +--SET @appoDataGenerazioneTrimPrecA = '20180131' +--SET @appoDataGenerazioneTrimPrecA = '20171031' +--SET @appoDataGenerazioneTrimPrecA = '20170731' +--SET @appoDataGenerazioneTrimPrecA = '20170430' +--SET @appoDataGenerazioneTrimPrecA = '20170131' +--SET @appoDataGenerazioneTrimPrecA = '20161031' +--SET @appoDataGenerazioneTrimPrecA = '20160731' +--SET @appoDataGenerazioneTrimPrecA = '20160430' +--SET @appoDataGenerazioneTrimPrecA = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perché in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecA = '20151031' +--SET @appoDataGenerazioneTrimPrecA = '20150731' +DECLARE @appoDataGenerazioneTrimPrecX2Da varchar(8) +SET @appoDataGenerazioneTrimPrecA = '20180101' +--SET @appoDataGenerazioneTrimPrecA = '20171001' +--SET @appoDataGenerazioneTrimPrecA = '20170701' +--SET @appoDataGenerazioneTrimPrecA = '20170401' +--SET @appoDataGenerazioneTrimPrecA = '20170101' +--SET @appoDataGenerazioneTrimPrecA = '20161001' +--SET @appoDataGenerazioneTrimPrecA = '20160701' +--SET @appoDataGenerazioneTrimPrecA = '20160401' +--SET @appoDataGenerazioneTrimPrecA = '20160101' +--SET @appoDataGenerazioneTrimPrecX2Da = '20151001' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150701' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150401' +DECLARE @appoDataGenerazioneTrimPrecX2A varchar(8) +SET @appoDataGenerazioneTrimPrecX2A = '20180131' +--SET @appoDataGenerazioneTrimPrecX2A = '20171031' +--SET @appoDataGenerazioneTrimPrecX2A = '20170731' +--SET @appoDataGenerazioneTrimPrecX2A = '20170430' +--SET @appoDataGenerazioneTrimPrecX2A = '20170131' +--SET @appoDataGenerazioneTrimPrecX2A = '20161031' +--SET @appoDataGenerazioneTrimPrecX2A = '20160731' +--SET @appoDataGenerazioneTrimPrecX2A = '20160430' +--SET @appoDataGenerazioneTrimPrecX2A = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perché in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecX2A = '20151031' +--SET @appoDataGenerazioneTrimPrecX2A = '20150731' +--SET @appoDataGenerazioneTrimPrecX2A = '20150430' +TRUNCATE TABLE C6MARTPERIODICO.SELEZIONECAMPIONE +--select * into c6martperiodico.appo_selezione_campione from C6MARTPERIODICO.SELEZIONECAMPIONE +--0 tutta la popolazione +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +select distinct bf.cod_fiscale, bf.rete +from +C6MartPeriodico.rp_vcontrattipergenerazionereport bf +) bf +--1 UNA MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'UNA MACRO ASSET ' AS DESCRIZIONE, +1 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 1 "ASSET CLASS" anzichè 1 "MACRO ASSET CLASS" +--select distinct bf.cod_fiscale, bf.rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=1 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=1 +) bf +--2 TUTTE LE MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'TUTTE LE MACRO ASSET ' AS DESCRIZIONE, +0 AS c1, +1 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 7 "ASSET CLASS" anzichè 7 "MACRO ASSET CLASS" +--select distinct cod_fiscale, rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=7 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=7 +) bf +--3 TUTTE LE AREE SONO MONITORATE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis as cod_fiscale, +'TUTTE LE AREE SONO MONITORATE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +1 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, count(distinct codarea) c +from C6StagingPeriodico.TANAB +where dtfine='99991231' +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=4 +)bf +--4 SENZA PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'SENZA PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +1 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +--5 RISCHIO CREDITO NA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO N.A. ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +1 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk is null +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 6 CLASSE DI RISCHIO CREDITO > 3 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO > 3 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +1 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>3 +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 7 PRODOTTO SENZA RENDIMENTO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PRODOTTO SENZA RENDIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +1 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as cod_fiscale +from C6StagingPeriodico.TSCABP +) bf +-- 8 piu trimestrali +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PIU TRIMESTRALI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +1 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, codicefiscale AS COD_FISCALE, count(*)N +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where tiporeport='M' +and dataGenerazione > @appoDataGenerazioneTrimPrecX2Da +group by rete, codicefiscale +having count(*)>1 +) bf +-- 9 PATRIMONIO TERZI SU PIU' INTERMEDIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI SU PIU'' INTERMEDIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +1 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, count(distinct a.intermediario) M +from C6MartPeriodico.PATRIMONIO_TERZI a +group by a.rete, a.cod_fiscale +having count(distinct a.intermediario)>1 +) bf +-- 10 PERSONE GIURIDICHE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PERSONE GIURIDICHE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +1 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where len(cod_fiscale)=11 +) bf +-- 11 PB TERMINATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PB TERMINATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +1 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct bf.rete, bf.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_BF bf, C6Mart.CONTRATTOSEI c6,C6Stagingperiodico.ADS4WS_PROMOTORI pr +--where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +--and c6.cod_agente=pr.codice and pr.rete=c6.rete +--and stato= 'T' +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6,C6Stagingperiodico.RP_anagrafica_promotori pr +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and c6.cod_agente=pr.codage and pr.rete=c6.rete +and stato= 'T' +) bf +-- 12 PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +1 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_TERZI a +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +-- 13 PATR NON RAPPR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR NON RAPPR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +1 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale +from C6MartPeriodico.vPatrimonioNonRappresentabileAsset +) bf +-- 14 PATR IMMOBILIARE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +1 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, sum(a.VALORE_STIMATO) M +from C6MartPeriodico.PATRIMONIO_IMMOBILIARE a +group by a.rete, a.cod_fiscale +) bf +-- 15 PARTITE VIAGGIANTI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +1 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PARTITE_VIAGGIANTI) bf +--16 NON MONITORATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON MONITORATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +1 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.patrimonio_bf bf +where bf.rete + bf.cod_fiscale not in ( select distinct rete + case when len(codfis) =4 then 'FF@'+codfis else codfis end from C6StagingPeriodico.TANAB where dtfine='99991231') +) bf +-- 17 NO PATR IMMOB +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +1 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf +where cod_fiscale + rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.patrimonio_immobiliare) +) bf +-- 18 MON SU UNA SOLA AREA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON SU UNA SOLA AREA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +1 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +(select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE, count(distinct codarea) H +from C6StagingPeriodico.TANAB +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=1 +) bf +-- 19 MON DA PIU DI 12 MESI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON DA PIU DI 12 MESI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +1 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_FISCALE +from C6StagingPeriodico.TANAB +--where ('20101201'-dtrif)/30>12 +where dtrif < convert(varchar(8), DATEADD(year, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112) +) bf +-- 20 MON APPENA AVVIATO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON APPENA AVVIATO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +1 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE +from C6StagingPeriodico.TANAB +--where '20101201'-GETDATE()<1 +where (dtrif > convert(varchar(8), DATEADD(day, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112)) +) bf +-- 21 MANDATI FIDUCIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MANDATI FIDUCIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +1 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where cod_fiscale like 'FF@%' +) bf +-- 22 INADEGUATI VAR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI VAR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +1 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.var_perc_ptf>cod.max_var +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 23 INADEGUATI CRISK +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI CRISK ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +1 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_CREDITRISK cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>mifid.profilo_ass +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 24 INADEGUATI COMPLESSITA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI COMPLESSITA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +1 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +-- EN2060408: begin - adapted to new feature "Adeguatezza" comnplexity / concentration +--select distinct a.rete, a.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_BF a, C6MartPeriodico.MIFID mifid +--where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +--and mifid.experience<(select max(complex) from C6MartPeriodico.PATRIMONIO_BF where rete=mifid.rete and cod_fiscale=mifid.cod_fiscale) +SELECT top 500 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'S' and [ancmpl].[FLGCONC] = 'S') +order by dttrim desc + UNION +SELECT top 200 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'N' and [ancmpl].[FLGCONC] = 'S') +order by dttrim desc + UNION +SELECT top 20 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'S' and [ancmpl].[FLGCONC] = 'N') +order by dttrim desc + UNION +SELECT top 20 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'N' and [ancmpl].[FLGCONC] = 'N') +order by dttrim desc +) bf +-- EN2060408: end +-- 25 DIVERSIFICAZIONE < 30 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'DIVERSIFICAZIONE < 30 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +1 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, beneficio +from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='COMPLESSIVO' +and beneficio<30 +) bf +-- 26 CC NEG E POS +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEG E POS ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +1 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) bf +-- 27 CC NEG +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEGATIVO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +1 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, sum(saldocontabile) M +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)<0 +) bf +where rete+cod_fiscale not in +( +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) +-- 28 REND NON RAPPR COME UNICA POSIZIONE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'REND NON RAPPR COME UNICA POSIZIONE IN AREA MONIT' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +1 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +SELECT +DISTINCT T.RETE, T.COD_FISCALE FROM +( +SELECT +RETE, COD_FISCALE , ID_AREA, SUM(CASE WHEN REND_NON_RAPPR =1 THEN 0 ELSE 1 END) TOT +FROM +C6MARTPERIODICO +.PATRIMONIO_BF B +GROUP +BY +RETE +, COD_FISCALE, ID_AREA +) +T, +( +SELECT +RETE, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, CASE WHEN CODAREA ='EXR' THEN 'EXT'ELSE CODAREA END AS CODAREA FROM +C6STAGINGPERIODICO +.TANAB +WHERE +DTFINE = 99991231 +) +B +WHERE +T +.RETE=B.RETE AND B.CODFIS=T.COD_FISCALE +AND +ID_AREA=CODAREA +AND +TOT=0 +) bf +-- 29 PREVIDENZA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PREVIDENZA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +1 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where id_area like '%Pre%' +) bf +--30 RESTART CONTRATTOSEI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RESTART CONTRATTOSEI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +1 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, codicefiscale as cod_fiscale +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where datagenerazione between @appoDataGenerazioneTrimPrecX2Da and @appoDataGenerazioneTrimPrecX2A +except +select distinct p.rete,p.codicefiscale + from C6StoricoPeriodico.GESTIONE_PDF_FTP p + inner join c6martperiodico.patrimonio_bf b + on p.rete=b.rete and p.codicefiscale =b.cod_fiscale + where datagenerazione between @appoDataGenerazioneTrimPrecDa and @appoDataGenerazioneTrimPrecA +--select distinct rete, codicefiscale as cod_fiscale +--from appoGESTIONE_PDF_FTP +--where datagenerazione between '20111001' and '20111031' +--and rete + codicefiscale not in (select distinct rete + codicefiscale +-- from appoGESTIONE_PDF_FTP +-- where datagenerazione between '20120101' and '20120131') +--and rete + codicefiscale in (select distinct rete + cod_fiscale +-- from c6martperiodico.patrimonio_bf) +) bf +--31 INDIRIZZO CONTRATTO ESTERO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INDIRIZZO CONTRATTO ESTERO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +1 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6 +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and nazione<> 'italia' +) bf +--32 CC>10000 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC>10000 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +1 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)>10000 +) bf +--33 COPERTURA INFERIORE A 100 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'COPERTURA INFERIORE A 100 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +1 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale + from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='complessivo' +and copertura<100 +) bf +--34 evoluzione controvalore > 30% +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'EVOLUZIONE CONTROVALORE > 30% ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +1 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct corrente.rete, corrente.cod_fiscale +from +(select b.rete, b.cod_fiscale, sum(controvalore) ctv +from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 a +inner join C6StagingPeriodico.appo_contratti b +on a.chiaveClientePB=b.chiaveClientePB +group by b.rete, b.cod_fiscale) scorsa, +(select rete, cod_fiscale, sum(ctv) ctv +from c6martperiodico.patrimonio_bf +group by rete, cod_fiscale) corrente +where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +and (case when scorsa.ctv>corrente.ctv + then (scorsa.ctv-abs(corrente.ctv)) + else (corrente.ctv-abs(scorsa.ctv)) + end) + > + (case when scorsa.ctv>corrente.ctv + then (0.30*corrente.ctv) + else (0.30*scorsa.ctv) + end) +--select distinct corrente.rete, corrente.cod_fiscale +--from +--(select rete, cod_fiscale, sum(controvalore) ctv +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--group by rete, cod_fiscale) scorsa, +--(select rete, cod_fiscale, sum(ctv) ctv +--from c6martperiodico.patrimonio_bf +--group by rete, cod_fiscale) corrente +--where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +--and (0.33*scorsa.ctv>corrente.ctv or 0.33*scorsa.ctv0 +--select distinct rete, cod_fiscale +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--where investimentiincorso>0 +) bf +--36 Monitoraggio con cedole/dividendi +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MONITORAGGIO CON CEDOLE/DIVIDENDI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +1 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.MONITORAGGIO_ATTUALE +where CEDOLE_DIVIDENDI>0 +) bf +-- 37 PARTITE VIAGGIANTI DI DISINVESTIMENTO - 19/1/2016 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI DI DISINVESTIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +1 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from C6MartPeriodico.patrimonio_bf a +inner join [C6StampeCentralizzate].[C6MartPeriodico].[TB_Campione] b +on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where (partvia_disinv <> 0.000 and partvia_disinv is not null) +) bf +--CRITERIO ELIMINATO IN QUANTO DUPLICATO DEL CRITERIO 31 +--38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +--select +--bf.rete, +--bf.cod_fiscale, +--'Indirizzo Estero' AS DESCRIZIONE, +--0 AS c1, +--0 AS c2, +--0 AS c3, +--0 AS c4, +--0 AS c5, +--0 AS c6, +--0 AS c7, +--0 AS c8, +--0 AS c9, +--0 AS c10, +--0 AS c11, +--0 AS c12, +--0 AS c13, +--0 AS c14, +--0 AS c15, +--0 AS c16, +--0 AS c17, +--0 AS c18, +--0 AS c19, +--0 AS c20, +--0 AS c21, +--0 AS c22, +--0 AS c23, +--0 AS c24, +--0 AS c25, +--0 AS c26, +--0 AS c27, +--0 AS c28, +--0 AS c29, +--0 AS c30, +--0 AS c31, +--0 AS c32, +--0 AS c33, +--0 AS c34, +--0 AS c35, +--0 AS c36, +--0 AS c37, +--1 AS c38, +--0 AS c39, +--0 AS c40, +--0 AS c41, +--0 AS c42, +--0 AS c43, +--0 AS c44, +--0 AS c45, +--0 AS c46, +--0 AS c47, +--0 AS c48, +--0 AS c49, +--0 AS c50, +--0 AS c51, +--0 AS c52, +--0 AS c53, +--0 AS c54, +--0 AS c55, +--0 AS c56, +--0 AS c57, +--0 AS c58 +--FROM +--( +--select distinct rete, cod_fiscale +--from c6martperiodico.contrattosei +--where nazione <> 'italia' +--) bf +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'S', +--'RSSRNZ49E14A479S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'CSCGPP34A03L050L', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNERSR61L08C351V', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'BGLPRD65E10Z130S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNZNLS71M48C814J', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--------------------- +--c39 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C39 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +1 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +where data_foto >= @appoDataInizioTrimestre +) bf +--c40 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C40 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +1 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is not null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is not null +) bf +--41 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C41 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +1 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is null +) bf +--c42 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C42 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +1 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is null +) bf +--c43 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C43 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +1 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is not null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is not null +) bf +--C44 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'F' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +1 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +inner join c6stagingperiodico.st_mon +on a.cod_fiscale = codfis +and a.rete = st_mon.rete +where data_foto > '20111001' +) bf +--C45 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'G' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +1 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto < '20111001' +) bf +--C46 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'H' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +1 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto > '20111001' +) bf +--C47 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'I' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +1 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and dttrim = @appoDataFineTrimestre +and data_foto > '20111001' +) bf +--C48 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'J' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +1 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +/* +(select * from c6stagingperiodico.wseics where dttrim = '20111231') a +inner join +(select * from c6stagingperiodico.wseics where dttrim = '20120331') b +on a.rete = b.rete +and a.codfis = b.codfis +inner join c6martperiodico.monitoraggio_iniziale c +on b.codfis = c.cod_fiscale +and b.rete = c.rete +where +a.codprod not in ('37', 'GP') +and +b.codprod in ('37', 'GP') +and c.data_foto > '20111001' +*/ +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001' +) bf +--C49 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'K' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +1 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +--inner join c6stagingperiodico.wseics b +--on b.codfis = b.codfis +--and a.rete = b.rete +--where a.codprod not in ('37', 'GP') +----Se fase di Simulazione: +---- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +----and a.dttrim = '20131130' +----Se fase di Trimestrale: +---- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +--and a.dttrim = @appoDataFineTrimestre +--and b.codprod in ('37', 'GP') +----and b.dttrim = '20111231' -- b.dttrim = dt fine trimestre precedente +--and b.dttrim = @appoDataFineTrimPrec +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001' +) bf +--nuovi----------------------------------------------------------- +--C50 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti OLD' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +1 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 0 +) bf +--C51 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Affluent' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +1 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 1 +) bf +--C52 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Private' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +1 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 2 +) bf +--C53 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Bonus' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +1 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.bonus bon +on vc.rete = bon.rete +and vc.cod_fiscale = bon.cod_fiscale +) bf +--C54 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Scadenze' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +1 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.scadenze sca +on vc.rete = sca.rete +and vc.cod_fiscale = sca.cod_fiscale +) bf +--C55 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Proventi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +1 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.proventi pro +on vc.rete = pro.rete +and vc.cod_fiscale = pro.cod_fiscale +) bf +--C56 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Monitoraggio avviato Trimestre precedente' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +1 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +--where data_foto > C6MartPeriodico.getPreviousTrimestre(getdate(), 1) +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +) bf +--C57 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +1 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where isnull(data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) +where isnull(data_foto,getDate()) between @appoDataInizioTrimestre and @appoDataFineTrimestre +) bf +--C58 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +1 AS c58 +FROM +( +--select distinct b.rete, b.cod_fiscale as codfis +--from c6martperiodico.monitoraggio_report a +--right join C6MartPeriodico.rp_vcontrattipergenerazionereport b +--on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete is null +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_iniziale +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +except +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_report +) bf +--------------------- +--drop table C6MARTPERIODICO.SELEZIONECAMPIONE2 +truncate table C6MARTPERIODICO.SELEZIONECAMPIONE2 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +select +v.rete, +v.cod_fiscale, +sum( C1 ) as C1, +sum( C2 ) as C2, +sum( C3 ) as C3, +sum( C4 ) as C4, +sum( C5 ) as C5, +sum( C6 ) as C6, +sum( C7 ) as C7, +sum( C8 ) as C8, +sum( C9 ) as C9, +sum( C10 ) as C10, +sum( C11) as C11, +sum( C12 ) as C12, +sum( C13 ) as C13, +sum( C14 ) as C14, +sum( C15 ) as C15, +sum( C16 ) as C16, +sum( C17 ) as C17, +sum( C18 ) as C18, +sum( C19 ) as C19, +sum( C20 ) as C20, +sum( C21 ) as C21, +sum( C22 ) as C22, +sum( C23) as C23, +sum( C24 ) as C24, +sum( C25 ) as C25, +sum( C26) as C26, +sum( C27 ) as C27, +sum( C28) as C28, +sum( C29 ) as C29, +sum( C30 ) as C30, +sum(C31) AS C31, +SUM(C32) AS C32, +SUM(C33) AS C33, +SUM(C34) AS C34, +SUM(C35) AS C35, +SUM(C36) AS C36, +SUM(C37) AS C37, +SUM(C38) AS C38, +SUM(C39) AS C39, +SUM(C40) AS C40, +SUM(C41) AS C41, +SUM(C42) AS C42, +SUM(C43) AS C43, +SUM(C44) AS C44, +SUM(C45) AS C45, +SUM(C46) AS C46, +SUM(C47) AS C47, +SUM(C48) AS C48, +SUM(C49) AS C49, +SUM(C50) AS C50, +SUM(C51) AS C51, +SUM(C52) AS C52, +SUM(C53) AS C53, +SUM(C54) AS C54, +SUM(C55) AS C55, +SUM(C56) AS C56, +SUM(C57) AS C57, +SUM(C58) AS C58 +--INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +FROM +C6MARTPERIODICO.SELEZIONECAMPIONE sc join C6MartPeriodico.rp_vcontrattipergenerazionereport v +on sc.rete=v.rete and sc.cod_fiscale=v.cod_fiscale +group by +v.rete, +v.cod_fiscale +END +--SELECT * FROM C6MARTPERIODICO.SELEZIONECAMPIONE2 \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20190116_PreNewFunction.sql b/sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20190116_PreNewFunction.sql new file mode 100644 index 00000000..c78abc34 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20190116_PreNewFunction.sql @@ -0,0 +1,4978 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20190116_PreNewFunction] +AS +BEGIN +--procedura di caricamento campione +DECLARE @appoDataInizioTrimestre varchar(8) +SET @appoDataInizioTrimestre = '20190101' +--SET @appoDataInizioTrimestre = '20181001' +--SET @appoDataInizioTrimestre = '20180701' +--SET @appoDataInizioTrimestre = '20180401' +--SET @appoDataInizioTrimestre = '20180101' +--SET @appoDataInizioTrimestre = '20171001' +--SET @appoDataInizioTrimestre = '20170701' +--SET @appoDataInizioTrimestre = '20170401' +--SET @appoDataInizioTrimestre = '20170101' +--SET @appoDataInizioTrimestre = '20161001' +--SET @appoDataInizioTrimestre = '20160701' +--SET @appoDataInizioTrimestre = '20160401' +--SET @appoDataInizioTrimestre = '20160101' +--SET @appoDataInizioTrimestre = '20151001' +--SET @appoDataInizioTrimestre = '20150701' +DECLARE @appoDataFineTrimestre varchar(8) +SET @appoDataFineTrimestre = '20181231' +--SET @appoDataFineTrimestre = '20180930' +--SET @appoDataFineTrimestre = '20180630' +--SET @appoDataFineTrimestre = '20180331' +--SET @appoDataFineTrimestre = '20171231' +--SET @appoDataFineTrimestre = '20170930' +--SET @appoDataFineTrimestre = '20170630' +--SET @appoDataFineTrimestre = '20170331' +--SET @appoDataFineTrimestre = '20161231' +--SET @appoDataFineTrimestre = '20160930' +--SET @appoDataFineTrimestre = '20160630' +--SET @appoDataFineTrimestre = '20160331' +--SET @appoDataFineTrimestre = '20151231' +--SET @appoDataFineTrimestre = '20150930' +DECLARE @appoDataInizioTrimPrec varchar(8) +SET @appoDataInizioTrimPrec = '20181001' +--SET @appoDataInizioTrimPrec = '20180701' +--SET @appoDataInizioTrimPrec = '20180401' +--SET @appoDataInizioTrimPrec = '20180101' +--SET @appoDataInizioTrimPrec = '20171001' +--SET @appoDataInizioTrimPrec = '20170701' +--SET @appoDataInizioTrimPrec = '20170401' +--SET @appoDataInizioTrimPrec = '20170101' +--SET @appoDataInizioTrimPrec = '20161001' +--SET @appoDataInizioTrimPrec = '20160701' +--SET @appoDataInizioTrimPrec = '20160401' +--SET @appoDataInizioTrimPrec = '20160101' +--SET @appoDataInizioTrimPrec = '20151001' +--SET @appoDataInizioTrimPrec = '20150701' +--SET @appoDataInizioTrimPrec = '20150401' +DECLARE @appoDataFineTrimPrec varchar(8) +SET @appoDataFineTrimPrec = '20180930' +--SET @appoDataFineTrimPrec = '20180630' +--SET @appoDataFineTrimPrec = '20180331' +--SET @appoDataFineTrimPrec = '20171231' +--SET @appoDataFineTrimPrec = '20170930' +--SET @appoDataFineTrimPrec = '20170630' +--SET @appoDataFineTrimPrec = '20170331' +--SET @appoDataFineTrimPrec = '20161231' +--SET @appoDataFineTrimPrec = '20160930' +--SET @appoDataFineTrimPrec = '20160630' +--SET @appoDataFineTrimPrec = '20160331' +--SET @appoDataFineTrimPrec = '20151231' +--SET @appoDataFineTrimPrec = '20150930' +--SET @appoDataFineTrimPrec = '20150630' +-- QUI VA SPECIFICATO IL PERIODO DI EFFETTIVA GENERAZIONE DEI REPORT CHE, IN GENERE, E' IL MESE SUCCESSIVO +-- A QUELLO DI FINE TRIMESTRE +DECLARE @appoDataGenerazioneTrimPrecDa varchar(8) +SET @appoDataGenerazioneTrimPrecDa = '20181001' +--SET @appoDataGenerazioneTrimPrecDa = '20180701' +--SET @appoDataGenerazioneTrimPrecDa = '20180401' +--SET @appoDataGenerazioneTrimPrecDa = '20180101' +--SET @appoDataGenerazioneTrimPrecDa = '20171001' +--SET @appoDataGenerazioneTrimPrecDa = '20170701' +--SET @appoDataGenerazioneTrimPrecDa = '20170401' +--SET @appoDataGenerazioneTrimPrecDa = '20170101' +--SET @appoDataGenerazioneTrimPrecDa = '20161001' +--SET @appoDataGenerazioneTrimPrecDa = '20160701' +--SET @appoDataGenerazioneTrimPrecDa = '20160401' +--SET @appoDataGenerazioneTrimPrecDa = '20160101' +--SET @appoDataGenerazioneTrimPrecDa = '20151001' +--SET @appoDataGenerazioneTrimPrecDa = '20150701' +DECLARE @appoDataGenerazioneTrimPrecA varchar(8) +SET @appoDataGenerazioneTrimPrecA = '20181031' +--SET @appoDataGenerazioneTrimPrecA = '20180731' +--SET @appoDataGenerazioneTrimPrecA = '20180430' +--SET @appoDataGenerazioneTrimPrecA = '20180131' +--SET @appoDataGenerazioneTrimPrecA = '20171031' +--SET @appoDataGenerazioneTrimPrecA = '20170731' +--SET @appoDataGenerazioneTrimPrecA = '20170430' +--SET @appoDataGenerazioneTrimPrecA = '20170131' +--SET @appoDataGenerazioneTrimPrecA = '20161031' +--SET @appoDataGenerazioneTrimPrecA = '20160731' +--SET @appoDataGenerazioneTrimPrecA = '20160430' +--SET @appoDataGenerazioneTrimPrecA = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perché in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecA = '20151031' +--SET @appoDataGenerazioneTrimPrecA = '20150731' +DECLARE @appoDataGenerazioneTrimPrecX2Da varchar(8) +SET @appoDataGenerazioneTrimPrecA = '20180701' +--SET @appoDataGenerazioneTrimPrecA = '20180401' +--SET @appoDataGenerazioneTrimPrecA = '20180101' +--SET @appoDataGenerazioneTrimPrecA = '20171001' +--SET @appoDataGenerazioneTrimPrecA = '20170701' +--SET @appoDataGenerazioneTrimPrecA = '20170401' +--SET @appoDataGenerazioneTrimPrecA = '20170101' +--SET @appoDataGenerazioneTrimPrecA = '20161001' +--SET @appoDataGenerazioneTrimPrecA = '20160701' +--SET @appoDataGenerazioneTrimPrecA = '20160401' +--SET @appoDataGenerazioneTrimPrecA = '20160101' +--SET @appoDataGenerazioneTrimPrecX2Da = '20151001' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150701' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150401' +DECLARE @appoDataGenerazioneTrimPrecX2A varchar(8) +SET @appoDataGenerazioneTrimPrecX2A = '20180731' +--SET @appoDataGenerazioneTrimPrecX2A = '20180430' +--SET @appoDataGenerazioneTrimPrecX2A = '20180131' +--SET @appoDataGenerazioneTrimPrecX2A = '20171031' +--SET @appoDataGenerazioneTrimPrecX2A = '20170731' +--SET @appoDataGenerazioneTrimPrecX2A = '20170430' +--SET @appoDataGenerazioneTrimPrecX2A = '20170131' +--SET @appoDataGenerazioneTrimPrecX2A = '20161031' +--SET @appoDataGenerazioneTrimPrecX2A = '20160731' +--SET @appoDataGenerazioneTrimPrecX2A = '20160430' +--SET @appoDataGenerazioneTrimPrecX2A = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perché in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecX2A = '20151031' +--SET @appoDataGenerazioneTrimPrecX2A = '20150731' +--SET @appoDataGenerazioneTrimPrecX2A = '20150430' +TRUNCATE TABLE C6MARTPERIODICO.SELEZIONECAMPIONE +--select * into c6martperiodico.appo_selezione_campione from C6MARTPERIODICO.SELEZIONECAMPIONE +--0 tutta la popolazione +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +select distinct bf.cod_fiscale, bf.rete +from +C6MartPeriodico.rp_vcontrattipergenerazionereport bf +) bf +--1 UNA MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'UNA MACRO ASSET ' AS DESCRIZIONE, +1 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 1 "ASSET CLASS" anzichè 1 "MACRO ASSET CLASS" +--select distinct bf.cod_fiscale, bf.rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=1 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=1 +) bf +--2 TUTTE LE MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'TUTTE LE MACRO ASSET ' AS DESCRIZIONE, +0 AS c1, +1 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 7 "ASSET CLASS" anzichè 7 "MACRO ASSET CLASS" +--select distinct cod_fiscale, rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=7 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=7 +) bf +--3 TUTTE LE AREE SONO MONITORATE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis as cod_fiscale, +'TUTTE LE AREE SONO MONITORATE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +1 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, count(distinct codarea) c +from C6StagingPeriodico.TANAB +where dtfine='99991231' +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=4 +)bf +--4 SENZA PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'SENZA PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +1 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +--5 RISCHIO CREDITO NA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO N.A. ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +1 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk is null +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 6 CLASSE DI RISCHIO CREDITO > 3 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO > 3 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +1 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>3 +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 7 PRODOTTO SENZA RENDIMENTO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PRODOTTO SENZA RENDIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +1 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as cod_fiscale +from C6StagingPeriodico.TSCABP +) bf +-- 8 piu trimestrali +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PIU TRIMESTRALI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +1 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, codicefiscale AS COD_FISCALE, count(*)N +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where tiporeport='M' +and dataGenerazione > @appoDataGenerazioneTrimPrecX2Da +group by rete, codicefiscale +having count(*)>1 +) bf +-- 9 PATRIMONIO TERZI SU PIU' INTERMEDIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI SU PIU'' INTERMEDIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +1 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, count(distinct a.intermediario) M +from C6MartPeriodico.PATRIMONIO_TERZI a +group by a.rete, a.cod_fiscale +having count(distinct a.intermediario)>1 +) bf +-- 10 PERSONE GIURIDICHE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PERSONE GIURIDICHE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +1 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where len(cod_fiscale)=11 +) bf +-- 11 PB TERMINATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PB TERMINATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +1 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct bf.rete, bf.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_BF bf, C6Mart.CONTRATTOSEI c6,C6Stagingperiodico.ADS4WS_PROMOTORI pr +--where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +--and c6.cod_agente=pr.codice and pr.rete=c6.rete +--and stato= 'T' +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6,C6Stagingperiodico.RP_anagrafica_promotori pr +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and c6.cod_agente=pr.codage and pr.rete=c6.rete +and stato= 'T' +) bf +-- 12 PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +1 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_TERZI a +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +-- 13 PATR NON RAPPR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR NON RAPPR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +1 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale +from C6MartPeriodico.vPatrimonioNonRappresentabileAsset +) bf +-- 14 PATR IMMOBILIARE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +1 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, sum(a.VALORE_STIMATO) M +from C6MartPeriodico.PATRIMONIO_IMMOBILIARE a +group by a.rete, a.cod_fiscale +) bf +-- 15 PARTITE VIAGGIANTI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +1 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PARTITE_VIAGGIANTI) bf +--16 NON MONITORATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON MONITORATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +1 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.patrimonio_bf bf +where bf.rete + bf.cod_fiscale not in ( select distinct rete + case when len(codfis) =4 then 'FF@'+codfis else codfis end from C6StagingPeriodico.TANAB where dtfine='99991231') +) bf +-- 17 NO PATR IMMOB +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +1 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf +where cod_fiscale + rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.patrimonio_immobiliare) +) bf +-- 18 MON SU UNA SOLA AREA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON SU UNA SOLA AREA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +1 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +(select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE, count(distinct codarea) H +from C6StagingPeriodico.TANAB +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=1 +) bf +-- 19 MON DA PIU DI 12 MESI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON DA PIU DI 12 MESI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +1 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_FISCALE +from C6StagingPeriodico.TANAB +--where ('20101201'-dtrif)/30>12 +where dtrif < convert(varchar(8), DATEADD(year, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112) +) bf +-- 20 MON APPENA AVVIATO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON APPENA AVVIATO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +1 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE +from C6StagingPeriodico.TANAB +--where '20101201'-GETDATE()<1 +where (dtrif > convert(varchar(8), DATEADD(day, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112)) +) bf +-- 21 MANDATI FIDUCIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MANDATI FIDUCIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +1 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where cod_fiscale like 'FF@%' +) bf +-- 22 INADEGUATI VAR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI VAR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +1 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.var_perc_ptf>cod.max_var +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 23 INADEGUATI CRISK +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI CRISK ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +1 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_CREDITRISK cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>mifid.profilo_ass +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 24 INADEGUATI COMPLESSITA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI COMPLESSITA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +1 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +-- EN2060408: begin - adapted to new feature "Adeguatezza" comnplexity / concentration +--select distinct a.rete, a.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_BF a, C6MartPeriodico.MIFID mifid +--where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +--and mifid.experience<(select max(complex) from C6MartPeriodico.PATRIMONIO_BF where rete=mifid.rete and cod_fiscale=mifid.cod_fiscale) +SELECT top 500 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'S' and [ancmpl].[FLGCONC] = 'S') +order by dttrim desc + UNION +SELECT top 200 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'N' and [ancmpl].[FLGCONC] = 'S') +order by dttrim desc + UNION +SELECT top 20 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'S' and [ancmpl].[FLGCONC] = 'N') +order by dttrim desc + UNION +SELECT top 20 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'N' and [ancmpl].[FLGCONC] = 'N') +order by dttrim desc +) bf +-- EN2060408: end +-- 25 DIVERSIFICAZIONE < 30 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'DIVERSIFICAZIONE < 30 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +1 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, beneficio +from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='COMPLESSIVO' +and beneficio<30 +) bf +-- 26 CC NEG E POS +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEG E POS ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +1 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) bf +-- 27 CC NEG +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEGATIVO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +1 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, sum(saldocontabile) M +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)<0 +) bf +where rete+cod_fiscale not in +( +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) +-- 28 REND NON RAPPR COME UNICA POSIZIONE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'REND NON RAPPR COME UNICA POSIZIONE IN AREA MONIT' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +1 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +SELECT +DISTINCT T.RETE, T.COD_FISCALE FROM +( +SELECT +RETE, COD_FISCALE , ID_AREA, SUM(CASE WHEN REND_NON_RAPPR =1 THEN 0 ELSE 1 END) TOT +FROM +C6MARTPERIODICO +.PATRIMONIO_BF B +GROUP +BY +RETE +, COD_FISCALE, ID_AREA +) +T, +( +SELECT +RETE, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, CASE WHEN CODAREA ='EXR' THEN 'EXT'ELSE CODAREA END AS CODAREA FROM +C6STAGINGPERIODICO +.TANAB +WHERE +DTFINE = 99991231 +) +B +WHERE +T +.RETE=B.RETE AND B.CODFIS=T.COD_FISCALE +AND +ID_AREA=CODAREA +AND +TOT=0 +) bf +-- 29 PREVIDENZA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PREVIDENZA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +1 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where id_area like '%Pre%' +) bf +--30 RESTART CONTRATTOSEI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RESTART CONTRATTOSEI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +1 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, codicefiscale as cod_fiscale +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where datagenerazione between @appoDataGenerazioneTrimPrecX2Da and @appoDataGenerazioneTrimPrecX2A +except +select distinct p.rete,p.codicefiscale + from C6StoricoPeriodico.GESTIONE_PDF_FTP p + inner join c6martperiodico.patrimonio_bf b + on p.rete=b.rete and p.codicefiscale =b.cod_fiscale + where datagenerazione between @appoDataGenerazioneTrimPrecDa and @appoDataGenerazioneTrimPrecA +--select distinct rete, codicefiscale as cod_fiscale +--from appoGESTIONE_PDF_FTP +--where datagenerazione between '20111001' and '20111031' +--and rete + codicefiscale not in (select distinct rete + codicefiscale +-- from appoGESTIONE_PDF_FTP +-- where datagenerazione between '20120101' and '20120131') +--and rete + codicefiscale in (select distinct rete + cod_fiscale +-- from c6martperiodico.patrimonio_bf) +) bf +--31 INDIRIZZO CONTRATTO ESTERO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INDIRIZZO CONTRATTO ESTERO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +1 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6 +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and nazione<> 'italia' +) bf +--32 CC>10000 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC>10000 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +1 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)>10000 +) bf +--33 COPERTURA INFERIORE A 100 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'COPERTURA INFERIORE A 100 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +1 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale + from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='complessivo' +and copertura<100 +) bf +--34 evoluzione controvalore > 30% +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'EVOLUZIONE CONTROVALORE > 30% ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +1 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct corrente.rete, corrente.cod_fiscale +from +(select b.rete, b.cod_fiscale, sum(controvalore) ctv +from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 a +inner join C6StagingPeriodico.appo_contratti b +on a.chiaveClientePB=b.chiaveClientePB +group by b.rete, b.cod_fiscale) scorsa, +(select rete, cod_fiscale, sum(ctv) ctv +from c6martperiodico.patrimonio_bf +group by rete, cod_fiscale) corrente +where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +and (case when scorsa.ctv>corrente.ctv + then (scorsa.ctv-abs(corrente.ctv)) + else (corrente.ctv-abs(scorsa.ctv)) + end) + > + (case when scorsa.ctv>corrente.ctv + then (0.30*corrente.ctv) + else (0.30*scorsa.ctv) + end) +--select distinct corrente.rete, corrente.cod_fiscale +--from +--(select rete, cod_fiscale, sum(controvalore) ctv +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--group by rete, cod_fiscale) scorsa, +--(select rete, cod_fiscale, sum(ctv) ctv +--from c6martperiodico.patrimonio_bf +--group by rete, cod_fiscale) corrente +--where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +--and (0.33*scorsa.ctv>corrente.ctv or 0.33*scorsa.ctv0 +--select distinct rete, cod_fiscale +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--where investimentiincorso>0 +) bf +--36 Monitoraggio con cedole/dividendi +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MONITORAGGIO CON CEDOLE/DIVIDENDI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +1 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.MONITORAGGIO_ATTUALE +where CEDOLE_DIVIDENDI>0 +) bf +-- 37 PARTITE VIAGGIANTI DI DISINVESTIMENTO - 19/1/2016 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI DI DISINVESTIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +1 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from C6MartPeriodico.patrimonio_bf a +inner join [C6StampeCentralizzate].[C6MartPeriodico].[TB_Campione] b +on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where (partvia_disinv <> 0.000 and partvia_disinv is not null) +) bf +--CRITERIO ELIMINATO IN QUANTO DUPLICATO DEL CRITERIO 31 +--38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +--select +--bf.rete, +--bf.cod_fiscale, +--'Indirizzo Estero' AS DESCRIZIONE, +--0 AS c1, +--0 AS c2, +--0 AS c3, +--0 AS c4, +--0 AS c5, +--0 AS c6, +--0 AS c7, +--0 AS c8, +--0 AS c9, +--0 AS c10, +--0 AS c11, +--0 AS c12, +--0 AS c13, +--0 AS c14, +--0 AS c15, +--0 AS c16, +--0 AS c17, +--0 AS c18, +--0 AS c19, +--0 AS c20, +--0 AS c21, +--0 AS c22, +--0 AS c23, +--0 AS c24, +--0 AS c25, +--0 AS c26, +--0 AS c27, +--0 AS c28, +--0 AS c29, +--0 AS c30, +--0 AS c31, +--0 AS c32, +--0 AS c33, +--0 AS c34, +--0 AS c35, +--0 AS c36, +--0 AS c37, +--1 AS c38, +--0 AS c39, +--0 AS c40, +--0 AS c41, +--0 AS c42, +--0 AS c43, +--0 AS c44, +--0 AS c45, +--0 AS c46, +--0 AS c47, +--0 AS c48, +--0 AS c49, +--0 AS c50, +--0 AS c51, +--0 AS c52, +--0 AS c53, +--0 AS c54, +--0 AS c55, +--0 AS c56, +--0 AS c57, +--0 AS c58 +--FROM +--( +--select distinct rete, cod_fiscale +--from c6martperiodico.contrattosei +--where nazione <> 'italia' +--) bf +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'S', +--'RSSRNZ49E14A479S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'CSCGPP34A03L050L', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNERSR61L08C351V', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'BGLPRD65E10Z130S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNZNLS71M48C814J', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--------------------- +--c39 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C39 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +1 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +where data_foto >= @appoDataInizioTrimestre +) bf +--c40 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C40 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +1 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is not null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is not null +) bf +--41 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C41 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +1 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is null +) bf +--c42 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C42 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +1 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is null +) bf +--c43 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C43 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +1 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is not null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is not null +) bf +--C44 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'F' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +1 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +inner join c6stagingperiodico.st_mon +on a.cod_fiscale = codfis +and a.rete = st_mon.rete +where data_foto > '20111001' +) bf +--C45 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'G' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +1 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto < '20111001' +) bf +--C46 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'H' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +1 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto > '20111001' +) bf +--C47 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'I' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +1 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and dttrim = @appoDataFineTrimestre +and data_foto > '20111001' +) bf +--C48 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'J' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +1 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +/* +(select * from c6stagingperiodico.wseics where dttrim = '20111231') a +inner join +(select * from c6stagingperiodico.wseics where dttrim = '20120331') b +on a.rete = b.rete +and a.codfis = b.codfis +inner join c6martperiodico.monitoraggio_iniziale c +on b.codfis = c.cod_fiscale +and b.rete = c.rete +where +a.codprod not in ('37', 'GP') +and +b.codprod in ('37', 'GP') +and c.data_foto > '20111001' +*/ +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001' +) bf +--C49 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'K' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +1 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +--inner join c6stagingperiodico.wseics b +--on b.codfis = b.codfis +--and a.rete = b.rete +--where a.codprod not in ('37', 'GP') +----Se fase di Simulazione: +---- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +----and a.dttrim = '20131130' +----Se fase di Trimestrale: +---- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +--and a.dttrim = @appoDataFineTrimestre +--and b.codprod in ('37', 'GP') +----and b.dttrim = '20111231' -- b.dttrim = dt fine trimestre precedente +--and b.dttrim = @appoDataFineTrimPrec +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001' +) bf +--nuovi----------------------------------------------------------- +--C50 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti OLD' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +1 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 0 +) bf +--C51 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Affluent' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +1 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 1 +) bf +--C52 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Private' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +1 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 2 +) bf +--C53 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Bonus' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +1 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.bonus bon +on vc.rete = bon.rete +and vc.cod_fiscale = bon.cod_fiscale +) bf +--C54 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Scadenze' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +1 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.scadenze sca +on vc.rete = sca.rete +and vc.cod_fiscale = sca.cod_fiscale +) bf +--C55 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Proventi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +1 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.proventi pro +on vc.rete = pro.rete +and vc.cod_fiscale = pro.cod_fiscale +) bf +--C56 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Monitoraggio avviato Trimestre precedente' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +1 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +--where data_foto > C6MartPeriodico.getPreviousTrimestre(getdate(), 1) +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +) bf +--C57 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +1 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where isnull(data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) +where isnull(data_foto,getDate()) between @appoDataInizioTrimestre and @appoDataFineTrimestre +) bf +--C58 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +1 AS c58 +FROM +( +--select distinct b.rete, b.cod_fiscale as codfis +--from c6martperiodico.monitoraggio_report a +--right join C6MartPeriodico.rp_vcontrattipergenerazionereport b +--on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete is null +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_iniziale +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +except +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_report +) bf +--------------------- +--drop table C6MARTPERIODICO.SELEZIONECAMPIONE2 +truncate table C6MARTPERIODICO.SELEZIONECAMPIONE2 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +select +v.rete, +v.cod_fiscale, +sum( C1 ) as C1, +sum( C2 ) as C2, +sum( C3 ) as C3, +sum( C4 ) as C4, +sum( C5 ) as C5, +sum( C6 ) as C6, +sum( C7 ) as C7, +sum( C8 ) as C8, +sum( C9 ) as C9, +sum( C10 ) as C10, +sum( C11) as C11, +sum( C12 ) as C12, +sum( C13 ) as C13, +sum( C14 ) as C14, +sum( C15 ) as C15, +sum( C16 ) as C16, +sum( C17 ) as C17, +sum( C18 ) as C18, +sum( C19 ) as C19, +sum( C20 ) as C20, +sum( C21 ) as C21, +sum( C22 ) as C22, +sum( C23) as C23, +sum( C24 ) as C24, +sum( C25 ) as C25, +sum( C26) as C26, +sum( C27 ) as C27, +sum( C28) as C28, +sum( C29 ) as C29, +sum( C30 ) as C30, +sum(C31) AS C31, +SUM(C32) AS C32, +SUM(C33) AS C33, +SUM(C34) AS C34, +SUM(C35) AS C35, +SUM(C36) AS C36, +SUM(C37) AS C37, +SUM(C38) AS C38, +SUM(C39) AS C39, +SUM(C40) AS C40, +SUM(C41) AS C41, +SUM(C42) AS C42, +SUM(C43) AS C43, +SUM(C44) AS C44, +SUM(C45) AS C45, +SUM(C46) AS C46, +SUM(C47) AS C47, +SUM(C48) AS C48, +SUM(C49) AS C49, +SUM(C50) AS C50, +SUM(C51) AS C51, +SUM(C52) AS C52, +SUM(C53) AS C53, +SUM(C54) AS C54, +SUM(C55) AS C55, +SUM(C56) AS C56, +SUM(C57) AS C57, +SUM(C58) AS C58 +--INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +FROM +C6MARTPERIODICO.SELEZIONECAMPIONE sc join C6MartPeriodico.rp_vcontrattipergenerazionereport v +on sc.rete=v.rete and sc.cod_fiscale=v.cod_fiscale +--modifica del 10/7/2018 per non far includere quelli della blacklist (se ci sono) +where sc.rete+sc.cod_fiscale not in (select rete+codicefiscale from [C6StampeCentralizzate].[C6MartPeriodico].[ExcludedList]) +group by +v.rete, +v.cod_fiscale +END +--SELECT * FROM C6MARTPERIODICO.SELEZIONECAMPIONE2 \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20230915.sql b/sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20230915.sql new file mode 100644 index 00000000..b2aa2a5d --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_SELEZIONA_CAMPIONE_20230915.sql @@ -0,0 +1,4986 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_SELEZIONA_CAMPIONE_20230915] +AS +BEGIN +--procedura di caricamento campione +DECLARE @appoDataInizioTrimestre varchar(8) +SET @appoDataInizioTrimestre = [C6MartPeriodico].[getDateTrimestre](0, 0, 0) +--SET @appoDataInizioTrimestre = '20190101' +--SET @appoDataInizioTrimestre = '20181001' +--SET @appoDataInizioTrimestre = '20180701' +--SET @appoDataInizioTrimestre = '20180401' +--SET @appoDataInizioTrimestre = '20180101' +--SET @appoDataInizioTrimestre = '20171001' +--SET @appoDataInizioTrimestre = '20170701' +--SET @appoDataInizioTrimestre = '20170401' +--SET @appoDataInizioTrimestre = '20170101' +--SET @appoDataInizioTrimestre = '20161001' +--SET @appoDataInizioTrimestre = '20160701' +--SET @appoDataInizioTrimestre = '20160401' +--SET @appoDataInizioTrimestre = '20160101' +--SET @appoDataInizioTrimestre = '20151001' +--SET @appoDataInizioTrimestre = '20150701' +DECLARE @appoDataFineTrimestre varchar(8) +SET @appoDataFineTrimestre = [C6MartPeriodico].[getDateTrimestre](0, 1, 0) +--SET @appoDataFineTrimestre = '20181231' +--SET @appoDataFineTrimestre = '20180930' +--SET @appoDataFineTrimestre = '20180630' +--SET @appoDataFineTrimestre = '20180331' +--SET @appoDataFineTrimestre = '20171231' +--SET @appoDataFineTrimestre = '20170930' +--SET @appoDataFineTrimestre = '20170630' +--SET @appoDataFineTrimestre = '20170331' +--SET @appoDataFineTrimestre = '20161231' +--SET @appoDataFineTrimestre = '20160930' +--SET @appoDataFineTrimestre = '20160630' +--SET @appoDataFineTrimestre = '20160331' +--SET @appoDataFineTrimestre = '20151231' +--SET @appoDataFineTrimestre = '20150930' +DECLARE @appoDataInizioTrimPrec varchar(8) +SET @appoDataInizioTrimPrec = [C6MartPeriodico].[getDateTrimestre](1, 0, 0) +--SET @appoDataInizioTrimPrec = '20181001' +--SET @appoDataInizioTrimPrec = '20180701' +--SET @appoDataInizioTrimPrec = '20180401' +--SET @appoDataInizioTrimPrec = '20180101' +--SET @appoDataInizioTrimPrec = '20171001' +--SET @appoDataInizioTrimPrec = '20170701' +--SET @appoDataInizioTrimPrec = '20170401' +--SET @appoDataInizioTrimPrec = '20170101' +--SET @appoDataInizioTrimPrec = '20161001' +--SET @appoDataInizioTrimPrec = '20160701' +--SET @appoDataInizioTrimPrec = '20160401' +--SET @appoDataInizioTrimPrec = '20160101' +--SET @appoDataInizioTrimPrec = '20151001' +--SET @appoDataInizioTrimPrec = '20150701' +--SET @appoDataInizioTrimPrec = '20150401' +DECLARE @appoDataFineTrimPrec varchar(8) +SET @appoDataFineTrimPrec = [C6MartPeriodico].[getDateTrimestre](1, 1, 0) +--SET @appoDataFineTrimPrec = '20180930' +--SET @appoDataFineTrimPrec = '20180630' +--SET @appoDataFineTrimPrec = '20180331' +--SET @appoDataFineTrimPrec = '20171231' +--SET @appoDataFineTrimPrec = '20170930' +--SET @appoDataFineTrimPrec = '20170630' +--SET @appoDataFineTrimPrec = '20170331' +--SET @appoDataFineTrimPrec = '20161231' +--SET @appoDataFineTrimPrec = '20160930' +--SET @appoDataFineTrimPrec = '20160630' +--SET @appoDataFineTrimPrec = '20160331' +--SET @appoDataFineTrimPrec = '20151231' +--SET @appoDataFineTrimPrec = '20150930' +--SET @appoDataFineTrimPrec = '20150630' +-- QUI VA SPECIFICATO IL PERIODO DI EFFETTIVA GENERAZIONE DEI REPORT CHE, IN GENERE, E' IL MESE SUCCESSIVO +-- A QUELLO DI FINE TRIMESTRE +DECLARE @appoDataGenerazioneTrimPrecDa varchar(8) +SET @appoDataGenerazioneTrimPrecDa = [C6MartPeriodico].[getDateTrimestre](1, 0, 0) +--SET @appoDataGenerazioneTrimPrecDa = '20181001' +--SET @appoDataGenerazioneTrimPrecDa = '20180701' +--SET @appoDataGenerazioneTrimPrecDa = '20180401' +--SET @appoDataGenerazioneTrimPrecDa = '20180101' +--SET @appoDataGenerazioneTrimPrecDa = '20171001' +--SET @appoDataGenerazioneTrimPrecDa = '20170701' +--SET @appoDataGenerazioneTrimPrecDa = '20170401' +--SET @appoDataGenerazioneTrimPrecDa = '20170101' +--SET @appoDataGenerazioneTrimPrecDa = '20161001' +--SET @appoDataGenerazioneTrimPrecDa = '20160701' +--SET @appoDataGenerazioneTrimPrecDa = '20160401' +--SET @appoDataGenerazioneTrimPrecDa = '20160101' +--SET @appoDataGenerazioneTrimPrecDa = '20151001' +--SET @appoDataGenerazioneTrimPrecDa = '20150701' +DECLARE @appoDataGenerazioneTrimPrecA varchar(8) +SET @appoDataGenerazioneTrimPrecA = [C6MartPeriodico].[getDateTrimestre](1, 1, 1) +--SET @appoDataGenerazioneTrimPrecA = '20181031' +--SET @appoDataGenerazioneTrimPrecA = '20180731' +--SET @appoDataGenerazioneTrimPrecA = '20180430' +--SET @appoDataGenerazioneTrimPrecA = '20180131' +--SET @appoDataGenerazioneTrimPrecA = '20171031' +--SET @appoDataGenerazioneTrimPrecA = '20170731' +--SET @appoDataGenerazioneTrimPrecA = '20170430' +--SET @appoDataGenerazioneTrimPrecA = '20170131' +--SET @appoDataGenerazioneTrimPrecA = '20161031' +--SET @appoDataGenerazioneTrimPrecA = '20160731' +--SET @appoDataGenerazioneTrimPrecA = '20160430' +--SET @appoDataGenerazioneTrimPrecA = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perché in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecA = '20151031' +--SET @appoDataGenerazioneTrimPrecA = '20150731' +DECLARE @appoDataGenerazioneTrimPrecX2Da varchar(8) +SET @appoDataGenerazioneTrimPrecX2Da = [C6MartPeriodico].[getDateTrimestre](2, 0, 0) +--SET @appoDataGenerazioneTrimPrecX2Da = '20180701' +--SET @appoDataGenerazioneTrimPrecA = '20180401' +--SET @appoDataGenerazioneTrimPrecA = '20180101' +--SET @appoDataGenerazioneTrimPrecA = '20171001' +--SET @appoDataGenerazioneTrimPrecA = '20170701' +--SET @appoDataGenerazioneTrimPrecA = '20170401' +--SET @appoDataGenerazioneTrimPrecA = '20170101' +--SET @appoDataGenerazioneTrimPrecA = '20161001' +--SET @appoDataGenerazioneTrimPrecA = '20160701' +--SET @appoDataGenerazioneTrimPrecA = '20160401' +--SET @appoDataGenerazioneTrimPrecA = '20160101' +--SET @appoDataGenerazioneTrimPrecX2Da = '20151001' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150701' +--SET @appoDataGenerazioneTrimPrecX2Da = '20150401' +DECLARE @appoDataGenerazioneTrimPrecX2A varchar(8) +SET @appoDataGenerazioneTrimPrecX2A = [C6MartPeriodico].[getDateTrimestre](2, 1, 1) +--SET @appoDataGenerazioneTrimPrecX2A = '20180731' +--SET @appoDataGenerazioneTrimPrecX2A = '20180430' +--SET @appoDataGenerazioneTrimPrecX2A = '20180131' +--SET @appoDataGenerazioneTrimPrecX2A = '20171031' +--SET @appoDataGenerazioneTrimPrecX2A = '20170731' +--SET @appoDataGenerazioneTrimPrecX2A = '20170430' +--SET @appoDataGenerazioneTrimPrecX2A = '20170131' +--SET @appoDataGenerazioneTrimPrecX2A = '20161031' +--SET @appoDataGenerazioneTrimPrecX2A = '20160731' +--SET @appoDataGenerazioneTrimPrecX2A = '20160430' +--SET @appoDataGenerazioneTrimPrecX2A = '20160228' -- solo per questa trim. mettiamo 2 mesi di generazione perché in effetti abbiamo finito a fine febbraio 2016 +--SET @appoDataGenerazioneTrimPrecX2A = '20151031' +--SET @appoDataGenerazioneTrimPrecX2A = '20150731' +--SET @appoDataGenerazioneTrimPrecX2A = '20150430' +TRUNCATE TABLE C6MARTPERIODICO.SELEZIONECAMPIONE +--select * into c6martperiodico.appo_selezione_campione from C6MARTPERIODICO.SELEZIONECAMPIONE +--0 tutta la popolazione +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +select distinct bf.cod_fiscale, bf.rete +from +C6MartPeriodico.rp_vcontrattipergenerazionereport bf +) bf +--1 UNA MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'UNA MACRO ASSET ' AS DESCRIZIONE, +1 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +--into c6martperiodico.selezionecampione +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 1 "ASSET CLASS" anzichè 1 "MACRO ASSET CLASS" +--select distinct bf.cod_fiscale, bf.rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=1 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=1 +) bf +--2 TUTTE LE MACRO ASSET +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'TUTTE LE MACRO ASSET ' AS DESCRIZIONE, +0 AS c1, +1 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +from +( +--Effettuato intervento correttivo in quanto venivano estratti i clienti che presentavano 7 "ASSET CLASS" anzichè 7 "MACRO ASSET CLASS" +--select distinct cod_fiscale, rete +--from +--C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASs a +--where p.COD_PRODOTTO = bf.COD_PRODOTTO +--and p.ID_ASSETCLASS=a.ID_ASSETCLASS +--group by bf.rete, bf.cod_fiscale +--having count(distinct a.ordinamento)=7 +select distinct cod_fiscale, rete +from +C6MartPeriodico.patrimonio_bf bf, C6MartPeriodico.ASSET_PERC p, C6MartPeriodico.ASSETCLASS a +where p.COD_PRODOTTO = bf.COD_PRODOTTO +and p.ID_ASSETCLASS=a.ID_ASSETCLASS +and a.ordinamento like '%000' +group by bf.rete, bf.cod_fiscale +having count(distinct a.ordinamento)=7 +) bf +--3 TUTTE LE AREE SONO MONITORATE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis as cod_fiscale, +'TUTTE LE AREE SONO MONITORATE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +1 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, count(distinct codarea) c +from C6StagingPeriodico.TANAB +where dtfine='99991231' +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=4 +)bf +--4 SENZA PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'SENZA PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +1 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +--5 RISCHIO CREDITO NA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO N.A. ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +1 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk is null +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 6 CLASSE DI RISCHIO CREDITO > 3 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RISCHIO CREDITO > 3 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +1 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>3 +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 7 PRODOTTO SENZA RENDIMENTO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PRODOTTO SENZA RENDIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +1 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end as cod_fiscale +from C6StagingPeriodico.TSCABP +) bf +-- 8 piu trimestrali +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PIU TRIMESTRALI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +1 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, codicefiscale AS COD_FISCALE, count(*)N +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where tiporeport='M' +and dataGenerazione > @appoDataGenerazioneTrimPrecX2Da +group by rete, codicefiscale +having count(*)>1 +) bf +-- 9 PATRIMONIO TERZI SU PIU' INTERMEDIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI SU PIU'' INTERMEDIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +1 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, count(distinct a.intermediario) M +from C6MartPeriodico.PATRIMONIO_TERZI a +group by a.rete, a.cod_fiscale +having count(distinct a.intermediario)>1 +) bf +-- 10 PERSONE GIURIDICHE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PERSONE GIURIDICHE ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +1 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where len(cod_fiscale)=11 +) bf +-- 11 PB TERMINATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PB TERMINATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +1 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct bf.rete, bf.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_BF bf, C6Mart.CONTRATTOSEI c6,C6Stagingperiodico.ADS4WS_PROMOTORI pr +--where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +--and c6.cod_agente=pr.codice and pr.rete=c6.rete +--and stato= 'T' +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6,C6Stagingperiodico.RP_anagrafica_promotori pr +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and c6.cod_agente=pr.codage and pr.rete=c6.rete +and stato= 'T' +) bf +-- 12 PATRIMONIO TERZI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATRIMONIO TERZI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +1 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_TERZI a +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf a +where a.cod_fiscale + a.rete in (select distinct cod_fiscale + rete from C6MartPeriodico.PATRIMONIO_TERZI) +) bf +-- 13 PATR NON RAPPR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR NON RAPPR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +1 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale +from C6MartPeriodico.vPatrimonioNonRappresentabileAsset +) bf +-- 14 PATR IMMOBILIARE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +1 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select a.rete, a.cod_fiscale, sum(a.VALORE_STIMATO) M +from C6MartPeriodico.PATRIMONIO_IMMOBILIARE a +group by a.rete, a.cod_fiscale +) bf +-- 15 PARTITE VIAGGIANTI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +1 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PARTITE_VIAGGIANTI) bf +--16 NON MONITORATI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON MONITORATI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +1 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.patrimonio_bf bf +where bf.rete + bf.cod_fiscale not in ( select distinct rete + case when len(codfis) =4 then 'FF@'+codfis else codfis end from C6StagingPeriodico.TANAB where dtfine='99991231') +) bf +-- 17 NO PATR IMMOB +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'NON PATR IMMOB ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +1 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_bf +where cod_fiscale + rete not in (select distinct cod_fiscale + rete from C6MartPeriodico.patrimonio_immobiliare) +) bf +-- 18 MON SU UNA SOLA AREA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON SU UNA SOLA AREA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +1 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +(select rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE, count(distinct codarea) H +from C6StagingPeriodico.TANAB +group by rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end +having count(distinct codarea)=1 +) bf +-- 19 MON DA PIU DI 12 MESI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON DA PIU DI 12 MESI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +1 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_FISCALE +from C6StagingPeriodico.TANAB +--where ('20101201'-dtrif)/30>12 +where dtrif < convert(varchar(8), DATEADD(year, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112) +) bf +-- 20 MON APPENA AVVIATO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MON APPENA AVVIATO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +1 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, case when len(codfis) =4 then 'FF@'+codfis else codfis end AS COD_fISCALE +from C6StagingPeriodico.TANAB +--where '20101201'-GETDATE()<1 +where (dtrif > convert(varchar(8), DATEADD(day, -1, c6martperiodico.getTrimestre2(getdate(), 1)), 112)) +) bf +-- 21 MANDATI FIDUCIARI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MANDATI FIDUCIARI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +1 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where cod_fiscale like 'FF@%' +) bf +-- 22 INADEGUATI VAR +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI VAR ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +1 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_RISCHIO cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.var_perc_ptf>cod.max_var +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 23 INADEGUATI CRISK +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI CRISK ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +1 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale +from C6MartPeriodico.RISCHIO_AGGREGATO a, C6MartPeriodico.CODIFICA_CREDITRISK cod, C6MartPeriodico.MIFID mifid +where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +and cod.profilo=mifid.profilo_ass +and a.creditrisk>mifid.profilo_ass +and a.cod_aggreg='COMPLESSIVO' +) bf +-- 24 INADEGUATI COMPLESSITA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INADEGUATI COMPLESSITA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +1 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +-- EN2060408: begin - adapted to new feature "Adeguatezza" comnplexity / concentration +--select distinct a.rete, a.cod_fiscale +--from C6MartPeriodico.PATRIMONIO_BF a, C6MartPeriodico.MIFID mifid +--where mifid.rete=a.rete and mifid.cod_fiscale=a.cod_fiscale +--and mifid.experience<(select max(complex) from C6MartPeriodico.PATRIMONIO_BF where rete=mifid.rete and cod_fiscale=mifid.cod_fiscale) +SELECT top 500 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'S' and [ancmpl].[FLGCONC] = 'S') +order by dttrim desc + UNION +SELECT top 200 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'N' and [ancmpl].[FLGCONC] = 'S') +order by dttrim desc + UNION +SELECT top 20 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'S' and [ancmpl].[FLGCONC] = 'N') +order by dttrim desc + UNION +SELECT top 20 rete, codfis as cod_fiscale FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] ancmpl +WHERE + ([ancmpl].[CLCOMPL] = 'N' and [ancmpl].[FLGCONC] = 'N') +order by dttrim desc +) bf +-- EN2060408: end +-- 25 DIVERSIFICAZIONE < 30 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'DIVERSIFICAZIONE < 30 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +1 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, beneficio +from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='COMPLESSIVO' +and beneficio<30 +) bf +-- 26 CC NEG E POS +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEG E POS ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +1 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) bf +-- 27 CC NEG +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC NEGATIVO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +1 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select rete, cod_fiscale, sum(saldocontabile) M +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)<0 +) bf +where rete+cod_fiscale not in +( +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile<0 +intersect +select distinct rete+cod_fiscale +from C6MartPeriodico.ANAG_CC +where saldocontabile>0 +) +-- 28 REND NON RAPPR COME UNICA POSIZIONE +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'REND NON RAPPR COME UNICA POSIZIONE IN AREA MONIT' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +1 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +SELECT +DISTINCT T.RETE, T.COD_FISCALE FROM +( +SELECT +RETE, COD_FISCALE , ID_AREA, SUM(CASE WHEN REND_NON_RAPPR =1 THEN 0 ELSE 1 END) TOT +FROM +C6MARTPERIODICO +.PATRIMONIO_BF B +GROUP +BY +RETE +, COD_FISCALE, ID_AREA +) +T, +( +SELECT +RETE, case when len(codfis) =4 then 'FF@'+codfis else codfis end as codfis, CASE WHEN CODAREA ='EXR' THEN 'EXT'ELSE CODAREA END AS CODAREA FROM +C6STAGINGPERIODICO +.TANAB +WHERE +DTFINE = 99991231 +) +B +WHERE +T +.RETE=B.RETE AND B.CODFIS=T.COD_FISCALE +AND +ID_AREA=CODAREA +AND +TOT=0 +) bf +-- 29 PREVIDENZA +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PREVIDENZA ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +1 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF +where id_area like '%Pre%' +) bf +--30 RESTART CONTRATTOSEI +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'RESTART CONTRATTOSEI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +1 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, codicefiscale as cod_fiscale +from C6StoricoPeriodico.GESTIONE_PDF_FTP +where datagenerazione between @appoDataGenerazioneTrimPrecX2Da and @appoDataGenerazioneTrimPrecX2A +except +select distinct p.rete,p.codicefiscale + from C6StoricoPeriodico.GESTIONE_PDF_FTP p + inner join c6martperiodico.patrimonio_bf b + on p.rete=b.rete and p.codicefiscale =b.cod_fiscale + where datagenerazione between @appoDataGenerazioneTrimPrecDa and @appoDataGenerazioneTrimPrecA +--select distinct rete, codicefiscale as cod_fiscale +--from appoGESTIONE_PDF_FTP +--where datagenerazione between '20111001' and '20111031' +--and rete + codicefiscale not in (select distinct rete + codicefiscale +-- from appoGESTIONE_PDF_FTP +-- where datagenerazione between '20120101' and '20120131') +--and rete + codicefiscale in (select distinct rete + cod_fiscale +-- from c6martperiodico.patrimonio_bf) +) bf +--31 INDIRIZZO CONTRATTO ESTERO +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'INDIRIZZO CONTRATTO ESTERO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +1 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct bf.rete, bf.cod_fiscale +from C6MartPeriodico.PATRIMONIO_BF bf, C6MartPeriodico.CONTRATTOSEI c6 +where bf.rete=c6.rete and bf.cod_fiscale=c6.cod_fiscale +and nazione<> 'italia' +) bf +--32 CC>10000 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'CC>10000 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +1 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.ANAG_CC +group by rete, cod_fiscale +having sum(saldocontabile)>10000 +) bf +--33 COPERTURA INFERIORE A 100 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'COPERTURA INFERIORE A 100 ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +1 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale + from C6MartPeriodico.RISCHIO_AGGREGATO +where cod_aggreg='complessivo' +and copertura<100 +) bf +--34 evoluzione controvalore > 30% +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'EVOLUZIONE CONTROVALORE > 30% ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +1 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct corrente.rete, corrente.cod_fiscale +from +(select b.rete, b.cod_fiscale, sum(controvalore) ctv +from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 a +inner join C6StagingPeriodico.appo_contratti b +on a.chiaveClientePB=b.chiaveClientePB +group by b.rete, b.cod_fiscale) scorsa, +(select rete, cod_fiscale, sum(ctv) ctv +from c6martperiodico.patrimonio_bf +group by rete, cod_fiscale) corrente +where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +and (case when scorsa.ctv>corrente.ctv + then (scorsa.ctv-abs(corrente.ctv)) + else (corrente.ctv-abs(scorsa.ctv)) + end) + > + (case when scorsa.ctv>corrente.ctv + then (0.30*corrente.ctv) + else (0.30*scorsa.ctv) + end) +--select distinct corrente.rete, corrente.cod_fiscale +--from +--(select rete, cod_fiscale, sum(controvalore) ctv +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--group by rete, cod_fiscale) scorsa, +--(select rete, cod_fiscale, sum(ctv) ctv +--from c6martperiodico.patrimonio_bf +--group by rete, cod_fiscale) corrente +--where scorsa.rete=corrente.rete and scorsa.cod_fiscale=corrente.cod_fiscale +--and (0.33*scorsa.ctv>corrente.ctv or 0.33*scorsa.ctv0 +--select distinct rete, cod_fiscale +--from C6StagingPeriodico.S80_EVOL_STAMPA_C6 +--where investimentiincorso>0 +) bf +--36 Monitoraggio con cedole/dividendi +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'MONITORAGGIO CON CEDOLE/DIVIDENDI ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +1 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale +from C6MartPeriodico.MONITORAGGIO_ATTUALE +where CEDOLE_DIVIDENDI>0 +) bf +-- 37 PARTITE VIAGGIANTI DI DISINVESTIMENTO - 19/1/2016 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'PARTITE VIAGGIANTI DI DISINVESTIMENTO ' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +1 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from C6MartPeriodico.patrimonio_bf a +inner join [C6StampeCentralizzate].[C6MartPeriodico].[TB_Campione] b +on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where (partvia_disinv <> 0.000 and partvia_disinv is not null) +) bf +--CRITERIO ELIMINATO IN QUANTO DUPLICATO DEL CRITERIO 31 +--38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +--select +--bf.rete, +--bf.cod_fiscale, +--'Indirizzo Estero' AS DESCRIZIONE, +--0 AS c1, +--0 AS c2, +--0 AS c3, +--0 AS c4, +--0 AS c5, +--0 AS c6, +--0 AS c7, +--0 AS c8, +--0 AS c9, +--0 AS c10, +--0 AS c11, +--0 AS c12, +--0 AS c13, +--0 AS c14, +--0 AS c15, +--0 AS c16, +--0 AS c17, +--0 AS c18, +--0 AS c19, +--0 AS c20, +--0 AS c21, +--0 AS c22, +--0 AS c23, +--0 AS c24, +--0 AS c25, +--0 AS c26, +--0 AS c27, +--0 AS c28, +--0 AS c29, +--0 AS c30, +--0 AS c31, +--0 AS c32, +--0 AS c33, +--0 AS c34, +--0 AS c35, +--0 AS c36, +--0 AS c37, +--1 AS c38, +--0 AS c39, +--0 AS c40, +--0 AS c41, +--0 AS c42, +--0 AS c43, +--0 AS c44, +--0 AS c45, +--0 AS c46, +--0 AS c47, +--0 AS c48, +--0 AS c49, +--0 AS c50, +--0 AS c51, +--0 AS c52, +--0 AS c53, +--0 AS c54, +--0 AS c55, +--0 AS c56, +--0 AS c57, +--0 AS c58 +--FROM +--( +--select distinct rete, cod_fiscale +--from c6martperiodico.contrattosei +--where nazione <> 'italia' +--) bf +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'S', +--'RSSRNZ49E14A479S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'CSCGPP34A03L050L', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +----38 Indirizzo Estero +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNERSR61L08C351V', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'BGLPRD65E10Z130S', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +-- VALUES ( +--'F', +--'LNZNLS71M48C814J', +--'Indirizzo Estero', +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--1, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0, +--0) +--------------------- +--c39 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C39 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +1 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +where data_foto >= @appoDataInizioTrimestre +) bf +--c40 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C40 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +1 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is not null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is not null +) bf +--41 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C41 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +1 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +and c.rete is null +--select distinct a.* from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto >= '20111001' and data_foto < @appoDataInizioTrimestre +--and c.rete is null +) bf +--c42 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C42 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +1 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is null +) bf +--c43 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'Campionatura C43 apporti e prelievi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +1 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete,a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +left join +(select distinct y.rete,y.cod_fiscale from C6StagingPeriodico.RP_REP_S80_EVOL_STAMPA_C6 x +inner join C6StagingPeriodico.appo_contratti y +on x.chiaveClientePB=y.chiaveClientePB) c +on a.rete = c.rete +and a.cod_fiscale = c.cod_fiscale +where data_foto < '20111001' +and c.rete is not null +--select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +--left join C6StagingPeriodico.S80_EVOL_STAMPA_C6 c +--on a.rete = c.rete +--and a.cod_fiscale = c.cod_fiscale +--where data_foto < '20111001' +--and c.rete is not null +) bf +--C44 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.cod_fiscale, +'F' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +1 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.cod_fiscale from c6martperiodico.monitoraggio_iniziale a +inner join c6stagingperiodico.st_mon +on a.cod_fiscale = codfis +and a.rete = st_mon.rete +where data_foto > '20111001' +) bf +--C45 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'G' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +1 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto < '20111001' +) bf +--C46 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'H' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +1 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--and dttrim = '20111231' -- dttrim = dt fine trimestre precedente +and dttrim = @appoDataFineTrimPrec +and data_foto > '20111001' +) bf +--C47 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'I' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +1 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and dttrim = @appoDataFineTrimestre +and data_foto > '20111001' +) bf +--C48 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'J' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +1 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +/* +(select * from c6stagingperiodico.wseics where dttrim = '20111231') a +inner join +(select * from c6stagingperiodico.wseics where dttrim = '20120331') b +on a.rete = b.rete +and a.codfis = b.codfis +inner join c6martperiodico.monitoraggio_iniziale c +on b.codfis = c.cod_fiscale +and b.rete = c.rete +where +a.codprod not in ('37', 'GP') +and +b.codprod in ('37', 'GP') +and c.data_foto > '20111001' +*/ +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +-- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001' +) bf +--C49 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'K' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +1 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +--select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +--inner join c6stagingperiodico.wseics b +--on b.codfis = b.codfis +--and a.rete = b.rete +--where a.codprod not in ('37', 'GP') +----Se fase di Simulazione: +---- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +----and a.dttrim = '20131130' +----Se fase di Trimestrale: +---- Impostare la condizione DTTRIM = a dt fine trimestre in elaborazione +--and a.dttrim = @appoDataFineTrimestre +--and b.codprod in ('37', 'GP') +----and b.dttrim = '20111231' -- b.dttrim = dt fine trimestre precedente +--and b.dttrim = @appoDataFineTrimPrec +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +and a.dttrim = @appoDataFineTrimPrec +and b.data_foto > '20111001'and b.data_foto > '20111001' +except +select distinct a.rete, a.codfis from c6stagingperiodico.wseics a +inner join c6martperiodico.monitoraggio_iniziale b +on a.codfis = b.cod_fiscale +and a.rete = b.rete +where a.codprod in ('37', 'GP') +--Se fase di Simulazione: +-- Impostare la condizione DTTRIM = a dt fine mese precedente a dt fine trimestre +--and a.dttrim = '20131130' +--Se fase di Trimestrale: +and a.dttrim = @appoDataFineTrimestre +and b.data_foto > '20111001' +) bf +--nuovi----------------------------------------------------------- +--C50 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti OLD' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +1 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 0 +) bf +--C51 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Affluent' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +1 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 1 +) bf +--C52 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Popolazione Contratti Private' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +1 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport +where tip_contratto = 2 +) bf +--C53 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Bonus' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +1 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.bonus bon +on vc.rete = bon.rete +and vc.cod_fiscale = bon.cod_fiscale +) bf +--C54 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Scadenze' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +1 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.scadenze sca +on vc.rete = sca.rete +and vc.cod_fiscale = sca.cod_fiscale +) bf +--C55 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Proventi' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +1 AS c55, +0 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct vc.rete, vc.cod_fiscale as codfis from +c6martperiodico.rp_vcontrattipergenerazionereport vc +inner join +c6martperiodico.proventi pro +on vc.rete = pro.rete +and vc.cod_fiscale = pro.cod_fiscale +) bf +--C56 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'Monitoraggio avviato Trimestre precedente' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +1 AS c56, +0 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where data_foto > '20120101' +--where data_foto > C6MartPeriodico.getPreviousTrimestre(getdate(), 1) +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +) bf +--C57 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +1 AS c57, +0 AS c58 +FROM +( +select distinct rete, cod_fiscale as codfis from c6martperiodico.monitoraggio_iniziale a +--where isnull(data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) +where isnull(data_foto,getDate()) between @appoDataInizioTrimestre and @appoDataFineTrimestre +) bf +--C58 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE +select +bf.rete, +bf.codfis, +'' AS DESCRIZIONE, +0 AS c1, +0 AS c2, +0 AS c3, +0 AS c4, +0 AS c5, +0 AS c6, +0 AS c7, +0 AS c8, +0 AS c9, +0 AS c10, +0 AS c11, +0 AS c12, +0 AS c13, +0 AS c14, +0 AS c15, +0 AS c16, +0 AS c17, +0 AS c18, +0 AS c19, +0 AS c20, +0 AS c21, +0 AS c22, +0 AS c23, +0 AS c24, +0 AS c25, +0 AS c26, +0 AS c27, +0 AS c28, +0 AS c29, +0 AS c30, +0 AS c31, +0 AS c32, +0 AS c33, +0 AS c34, +0 AS c35, +0 AS c36, +0 AS c37, +0 AS c38, +0 AS c39, +0 AS c40, +0 AS c41, +0 AS c42, +0 AS c43, +0 AS c44, +0 AS c45, +0 AS c46, +0 AS c47, +0 AS c48, +0 AS c49, +0 AS c50, +0 AS c51, +0 AS c52, +0 AS c53, +0 AS c54, +0 AS c55, +0 AS c56, +0 AS c57, +1 AS c58 +FROM +( +--select distinct b.rete, b.cod_fiscale as codfis +--from c6martperiodico.monitoraggio_report a +--right join C6MartPeriodico.rp_vcontrattipergenerazionereport b +--on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete is null +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_iniziale +where isnull(data_foto,getDate()) between @appoDataInizioTrimPrec and @appoDataFineTrimPrec +except +select distinct rete, cod_fiscale as codfis +from c6martperiodico.monitoraggio_report +) bf +--------------------- +--drop table C6MARTPERIODICO.SELEZIONECAMPIONE2 +truncate table C6MARTPERIODICO.SELEZIONECAMPIONE2 +INSERT INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +select +v.rete, +v.cod_fiscale, +sum( C1 ) as C1, +sum( C2 ) as C2, +sum( C3 ) as C3, +sum( C4 ) as C4, +sum( C5 ) as C5, +sum( C6 ) as C6, +sum( C7 ) as C7, +sum( C8 ) as C8, +sum( C9 ) as C9, +sum( C10 ) as C10, +sum( C11) as C11, +sum( C12 ) as C12, +sum( C13 ) as C13, +sum( C14 ) as C14, +sum( C15 ) as C15, +sum( C16 ) as C16, +sum( C17 ) as C17, +sum( C18 ) as C18, +sum( C19 ) as C19, +sum( C20 ) as C20, +sum( C21 ) as C21, +sum( C22 ) as C22, +sum( C23) as C23, +sum( C24 ) as C24, +sum( C25 ) as C25, +sum( C26) as C26, +sum( C27 ) as C27, +sum( C28) as C28, +sum( C29 ) as C29, +sum( C30 ) as C30, +sum(C31) AS C31, +SUM(C32) AS C32, +SUM(C33) AS C33, +SUM(C34) AS C34, +SUM(C35) AS C35, +SUM(C36) AS C36, +SUM(C37) AS C37, +SUM(C38) AS C38, +SUM(C39) AS C39, +SUM(C40) AS C40, +SUM(C41) AS C41, +SUM(C42) AS C42, +SUM(C43) AS C43, +SUM(C44) AS C44, +SUM(C45) AS C45, +SUM(C46) AS C46, +SUM(C47) AS C47, +SUM(C48) AS C48, +SUM(C49) AS C49, +SUM(C50) AS C50, +SUM(C51) AS C51, +SUM(C52) AS C52, +SUM(C53) AS C53, +SUM(C54) AS C54, +SUM(C55) AS C55, +SUM(C56) AS C56, +SUM(C57) AS C57, +SUM(C58) AS C58 +--INTO C6MARTPERIODICO.SELEZIONECAMPIONE2 +FROM +C6MARTPERIODICO.SELEZIONECAMPIONE sc join C6MartPeriodico.rp_vcontrattipergenerazionereport v +on sc.rete=v.rete and sc.cod_fiscale=v.cod_fiscale +--modifica del 10/7/2018 per non far includere quelli della blacklist (se ci sono) +where sc.rete+sc.cod_fiscale not in (select rete+codicefiscale from [C6StampeCentralizzate].[C6MartPeriodico].[ExcludedList]) +group by +v.rete, +v.cod_fiscale +END +--SELECT * FROM C6MARTPERIODICO.SELEZIONECAMPIONE2 \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_STORICIZZAZIONE.sql b/sql/storedTestbes/C6MartPeriodico_SRV_STORICIZZAZIONE.sql new file mode 100644 index 00000000..18cb0c85 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_STORICIZZAZIONE.sql @@ -0,0 +1,618 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 21 gennaio 2009 +-- Description: Effettua una storicizzazione del DataMart prima dell'import di nuovi dati. +-- ============================================= +-- [C6MartPeriodico].[SRV_STORICIZZAZIONE] 'GESTIONE_EMAIL' +CREATE PROCEDURE [C6MartPeriodico].[SRV_STORICIZZAZIONE] + @NomeTabella AS VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MARTPERIODICO.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + SET @ID_ELAB = C6MARTPERIODICO.GETIDELAB() +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX TABELLA SPECIALE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --XXXXXXXXXXXXXXXXXXXXXXXX CONTRATTOSEI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONTRATTOSEI') + BEGIN + DELETE FROM C6StoricoPeriodico.CONTRATTOSEI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.CONTRATTOSEI + (Rete, Cod_Fiscale, Data_Sott, CodiceContratto, Cod_Agente, Data_Perf_Base, Data_Perf, Fascia_CPP, Email, Indirizzo, CAP, Citta, Prov, Nazione, Presso, Data_Inizio, Freq_Diagnosi, Freq_Monitor, Freq_DiagnosiPrec, Freq_MonitorPrec, Data_InizioConsInv, Data_InizioBase, Data_FineBase, Data_InizioAvanzato, Data_FineAvanzato, ProgressivoInvio, GenerazioneReport, InvioBenvenuto, DataUltimoInvio, ClienteMigrato, RisorseNA, PartViaDisinv, NumSolleciti, Data_UltimoSollecito, NumRevoche, Data_UltimaRevoca, Note, Data_Invio_Diagnosi_Trimestrale, Data_Invio_Monitoraggio_Trimestrale, ID_ELAB) + SELECT + C.Rete, C.Cod_Fiscale, C.Data_Sott, C.CodiceContratto, C.Cod_Agente, C.Data_Perf_Base, C.Data_Perf, C.Fascia_CPP, C.Email, C.Indirizzo, C.CAP, C.Citta, C.Prov, C.Nazione, C.Presso, C.Data_Inizio, C.Freq_Diagnosi, C.Freq_Monitor, C.Freq_DiagnosiPrec, C.Freq_MonitorPrec, C.Data_InizioConsInv, C.Data_InizioBase, C.Data_FineBase, C.Data_InizioAvanzato, C.Data_FineAvanzato, C.ProgressivoInvio, C.GenerazioneReport, C.InvioBenvenuto, C.DataUltimoInvio, C.ClienteMigrato, C.RisorseNA, C.PartViaDisinv, C.NumSolleciti, C.Data_UltimoSollecito, C.NumRevoche, C.Data_UltimaRevoca, C.Note, C.Data_Invio_Diagnosi_Trimestrale, C.Data_Invio_Monitoraggio_Trimestrale, @ID_ELAB + FROM C6Mart.CONTRATTOSEI C--WHERE ID_ELAB = @ID_ELAB + LEFT OUTER JOIN C6StoricoPeriodico.CONTRATTOSEI SC + ON C.Rete = SC.Rete + AND C.Cod_Fiscale = SC.Cod_Fiscale + AND C.CodiceContratto = SC.CodiceContratto + WHERE SC.Rete IS NULL + END +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX FINE TABELLA SPECIALE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CC XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CC') + BEGIN + DELETE FROM C6StoricoPeriodico.ANAG_CC WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ANAG_CC + (RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB, TIPO_ELAB) + SELECT + AC.RETE, AC.COD_FISCALE, AC.INTERMEDIARIO, AC.COINTEST, AC.COD_CC, AC.FASCIA_CPP, AC.SALDO, AC.DATA_APERTURA, AC.DATA_CHIUSURA, AC.ID_ELAB, AC.TIPO_ELAB + FROM C6MartPeriodico.ANAG_CC AC + LEFT OUTER JOIN C6StoricoPeriodico.ANAG_CC SAC + ON AC.RETE = SAC.RETE + AND AC.COD_FISCALE = SAC.COD_FISCALE + AND AC.COD_CC = SAC.COD_CC + WHERE AC.ID_ELAB = @ID_ELAB AND SAC.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CC_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CC_TERZI') + BEGIN + DELETE FROM C6StoricoPeriodico.ANAG_CC_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ANAG_CC_TERZI + (RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB) + SELECT + ACT.RETE, ACT.COD_FISCALE, ACT.INTERMEDIARIO, ACT.COINTEST, ACT.COD_CC, ACT.FASCIA_CPP, ACT.SALDO, ACT.DATA_APERTURA, ACT.DATA_CHIUSURA, ACT.ID_ELAB + FROM C6MartPeriodico.ANAG_CC_TERZI ACT + LEFT OUTER JOIN C6StoricoPeriodico.ANAG_CC_TERZI SACT + ON ACT.RETE = SACT.RETE + AND ACT.COD_FISCALE = SACT.COD_FISCALE + AND ACT.INTERMEDIARIO = SACT.INTERMEDIARIO + AND ACT.COD_CC = SACT.COD_CC + WHERE ACT.ID_ELAB = @ID_ELAB AND SACT.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CLIENTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CLIENTI') + BEGIN + DELETE FROM C6StoricoPeriodico.ANAG_CLIENTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ANAG_CLIENTI + (RETE, COD_FISCALE, NOME, COGNOME, DATA_NASCITA, STATO_CIVILE, NUM_COMPONENTI, NUM_FIGLI, ETA, PARTITA_IVA, CITTADINANZA, PERSONA_FIS_GIUR, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, PRESSO, TEL_RECAPITO, TEL_CELL, E_MAIL, DATA_INIZIO, DATA_FINE, STATO, RAG_SOC, SESSO, ID_PROMOTORE, ID_ELAB, TIPO_ELAB) + SELECT + AC.RETE, AC.COD_FISCALE, AC.NOME, AC.COGNOME, AC.DATA_NASCITA, AC.STATO_CIVILE, AC.NUM_COMPONENTI, AC.NUM_FIGLI, AC.ETA, AC.PARTITA_IVA, AC.CITTADINANZA, AC.PERSONA_FIS_GIUR, AC.INDIRIZZO, AC.LOCALITA, AC.PROVINCIA, AC.CAP, AC.NAZIONE, AC.PRESSO, AC.TEL_RECAPITO, AC.TEL_CELL, AC.E_MAIL, AC.DATA_INIZIO, AC.DATA_FINE, AC.STATO, AC.RAG_SOC, AC.SESSO, AC.ID_PROMOTORE, AC.ID_ELAB, AC.TIPO_ELAB + FROM C6MartPeriodico.ANAG_CLIENTI AC + LEFT OUTER JOIN C6StoricoPeriodico.ANAG_CLIENTI SAC + ON AC.RETE = SAC.RETE + AND AC.COD_FISCALE = SAC.COD_FISCALE + WHERE AC.ID_ELAB = @ID_ELAB AND SAC.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CLIENTI_PREV XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CLIENTI_PREV') + -- BEGIN + -- DELETE FROM C6StoricoPeriodico.ANAG_CLIENTI_PREV WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6StoricoPeriodico.ANAG_CLIENTI_PREV + -- (RETE, COD_FISCALE, STATO_LAVORATIVO, PROFESSIONE, CAT_PROFESSIONALE, DATA_INIZIO, DATA_FINE, RETRIB_LORDA, PROFESSIONE_SEC, CAT_PROFESSIONALE_SEC, DATA_INIZIO_SEC, DATA_FINE_SEC, RETRIB_LORDA_SEC, PROFESSIONE_PREC, CAT_PROFESSIONALE_PREC, DATA_INIZIO_PREC, DATA_FINE_PREC, RETRIB_LORDA_PREC, RICONGIUNZIONE, ID_ELAB, TIPO_ELAB) + -- SELECT + -- RETE, COD_FISCALE, STATO_LAVORATIVO, PROFESSIONE, CAT_PROFESSIONALE, DATA_INIZIO, DATA_FINE, RETRIB_LORDA, PROFESSIONE_SEC, CAT_PROFESSIONALE_SEC, DATA_INIZIO_SEC, DATA_FINE_SEC, RETRIB_LORDA_SEC, PROFESSIONE_PREC, CAT_PROFESSIONALE_PREC, DATA_INIZIO_PREC, DATA_FINE_PREC, RETRIB_LORDA_PREC, RICONGIUNZIONE, ID_ELAB, TIPO_ELAB + -- FROM C6MartPeriodico.ANAG_CLIENTI_PREV WHERE ID_ELAB = @ID_ELAB + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_PRODOTTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_PRODOTTI') + BEGIN + DELETE FROM C6StoricoPeriodico.ANAG_PRODOTTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ANAG_PRODOTTI + (COD_PRODOTTO, COD_ISIN, PAESE, ID_AREA, CAT_PRODOTTO, TIPO_PRODOTTO, DESCR_PRODOTTO, DIV_QUOTAZIONE, DIV_REGOLAMENTO, ID_EMITTENTE, MERCATO_CONTRATT, COD_MAF, RATING, COD_ADEGUATEZZA, COD_SOTTOPRODOTTO, COD_INTERNO, ID_ELAB, TIPO_ELAB) + SELECT + AP.COD_PRODOTTO, AP.COD_ISIN, AP.PAESE, AP.ID_AREA, AP.CAT_PRODOTTO, AP.TIPO_PRODOTTO, AP.DESCR_PRODOTTO, AP.DIV_QUOTAZIONE, AP.DIV_REGOLAMENTO, AP.ID_EMITTENTE, AP.MERCATO_CONTRATT, AP.COD_MAF, AP.RATING, AP.COD_ADEGUATEZZA, AP.COD_SOTTOPRODOTTO, AP.COD_INTERNO, AP.ID_ELAB, AP.TIPO_ELAB + FROM C6MartPeriodico.ANAG_PRODOTTI AP + LEFT OUTER JOIN C6StoricoPeriodico.ANAG_PRODOTTI SAP + ON AP.COD_PRODOTTO = SAP.COD_PRODOTTO + WHERE AP.ID_ELAB = @ID_ELAB AND SAP.COD_PRODOTTO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_PRODOTTI_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_PRODOTTI_TERZI') + BEGIN + DELETE FROM C6StoricoPeriodico.ANAG_PRODOTTI_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ANAG_PRODOTTI_TERZI + (COD_PRODOTTO, COD_PRODOTTO_TERZI, NOME_PRODOTTO, ALBERO_PRODOTTI, COD_ISIN, DESCR_PRODOTTO, DIV_QUOTAZIONE, INTERMEDIARIO, DIV_REGOLAMENTO, ID_EMITTENTE, MERCATO_CONTRATT, PAESE, RATING, ID_ELAB, TIPO_ELAB) + SELECT + APT.COD_PRODOTTO, APT.COD_PRODOTTO_TERZI, APT.NOME_PRODOTTO, APT.ALBERO_PRODOTTI, APT.COD_ISIN, APT.DESCR_PRODOTTO, APT.DIV_QUOTAZIONE, APT.INTERMEDIARIO, APT.DIV_REGOLAMENTO, APT.ID_EMITTENTE, APT.MERCATO_CONTRATT, APT.PAESE, APT.RATING, APT.ID_ELAB, APT.TIPO_ELAB + FROM C6MartPeriodico.ANAG_PRODOTTI_TERZI APT + LEFT OUTER JOIN C6StoricoPeriodico.ANAG_PRODOTTI_TERZI SAPT + ON APT.COD_PRODOTTO_TERZI = SAPT.COD_PRODOTTO_TERZI + WHERE APT.ID_ELAB = @ID_ELAB AND SAPT.COD_PRODOTTO_TERZI IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_PROMOTORI') + BEGIN + DELETE FROM C6StoricoPeriodico.ANAG_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ANAG_PROMOTORI + (RETE, ID_PROMOTORE, LIVELLO, COD_FISCALE, PARTITA_IVA, COGNOME, NOME, RAG_SOC, DATA_INIZIO, DATA_FINE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, TEL_RECAPITO, TEL_CELL, E_MAIL, COD_ABI, COD_CAB, COD_CIN, COD_CC, STATO, ID_ELAB, TIPO_ELAB) + SELECT + AP.RETE, AP.ID_PROMOTORE, AP.LIVELLO, AP.COD_FISCALE, AP.PARTITA_IVA, AP.COGNOME, AP.NOME, AP.RAG_SOC, AP.DATA_INIZIO, AP.DATA_FINE, AP.INDIRIZZO, AP.LOCALITA, AP.PROVINCIA, AP.CAP, AP.NAZIONE, AP.TEL_RECAPITO, AP.TEL_CELL, AP.E_MAIL, AP.COD_ABI, AP.COD_CAB, AP.COD_CIN, AP.COD_CC, AP.STATO, AP.ID_ELAB, AP.TIPO_ELAB + FROM C6MartPeriodico.ANAG_PROMOTORI AP + LEFT OUTER JOIN C6StoricoPeriodico.ANAG_PROMOTORI SAP + ON AP.RETE = SAP.RETE + AND AP.ID_PROMOTORE = SAP.ID_PROMOTORE + AND AP.LIVELLO = SAP.LIVELLO + WHERE AP.ID_ELAB = @ID_ELAB AND SAP.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX AREA_BISOGNO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'AREA_BISOGNO') + BEGIN + DELETE FROM C6StoricoPeriodico.AREA_BISOGNO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.AREA_BISOGNO + (ID_AREA, NOME_AREA, ORDINAMENTO, ID_ELAB) + SELECT + AB.ID_AREA, AB.NOME_AREA, AB.ORDINAMENTO, AB.ID_ELAB + FROM C6MartPeriodico.AREA_BISOGNO AB + LEFT OUTER JOIN C6StoricoPeriodico.AREA_BISOGNO SAB + ON AB.ID_AREA = SAB.ID_AREA + WHERE AB.ID_ELAB = @ID_ELAB AND SAB.ID_AREA IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSET_PERC XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSET_PERC') + BEGIN + DELETE FROM C6StoricoPeriodico.ASSET_PERC WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ASSET_PERC + (COD_PRODOTTO, ID_ASSETCLASS, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, LIVELLO, PERC, ID_ELAB, TIPO_ELAB) + SELECT + AP.COD_PRODOTTO, AP.ID_ASSETCLASS, AP.COD_ISIN, AP.COD_MAF, AP.COD_INTERNO, AP.COD_SOTTOPRODOTTO, AP.LIVELLO, AP.PERC, AP.ID_ELAB, AP.TIPO_ELAB + FROM C6MartPeriodico.ASSET_PERC AP + LEFT OUTER JOIN C6StoricoPeriodico.ASSET_PERC SAP + ON AP.COD_PRODOTTO = SAP.COD_PRODOTTO + AND AP.ID_ASSETCLASS = SAP.ID_ASSETCLASS + WHERE AP.ID_ELAB = @ID_ELAB AND SAP.COD_PRODOTTO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSET_PERC_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSET_PERC_TERZI') + BEGIN + DELETE FROM C6StoricoPeriodico.ASSET_PERC_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ASSET_PERC_TERZI + (COD_PRODOTTO_TERZI, ID_ASSETCLASS, LIVELLO, NOME_PRODOTTO, TIPO_PRODOTTO, PERC, ID_ELAB, TIPO_ELAB) + SELECT + APT.COD_PRODOTTO_TERZI, APT.ID_ASSETCLASS, APT.LIVELLO, APT.NOME_PRODOTTO, APT.TIPO_PRODOTTO, APT.PERC, APT.ID_ELAB, APT.TIPO_ELAB + FROM C6MartPeriodico.ASSET_PERC_TERZI APT + LEFT OUTER JOIN C6StoricoPeriodico.ASSET_PERC_TERZI SAPT + ON APT.COD_PRODOTTO_TERZI = SAPT.COD_PRODOTTO_TERZI + AND APT.ID_ASSETCLASS = SAPT.ID_ASSETCLASS + AND APT.LIVELLO = SAPT.LIVELLO + WHERE APT.ID_ELAB = @ID_ELAB AND SAPT.COD_PRODOTTO_TERZI IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS') + BEGIN + DELETE FROM C6StoricoPeriodico.ASSETCLASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ASSETCLASS + (ID_ASSETCLASS, DESCRIZIONE, LIVELLO, ORDINAMENTO, ID_ELAB) + SELECT + A.ID_ASSETCLASS, A.DESCRIZIONE, A.LIVELLO, A.ORDINAMENTO, A.ID_ELAB + FROM C6MartPeriodico.ASSETCLASS A + LEFT OUTER JOIN C6StoricoPeriodico.ASSETCLASS SA + ON A.ID_ASSETCLASS = SA.ID_ASSETCLASS + WHERE A.ID_ELAB = @ID_ELAB AND SA.ID_ASSETCLASS IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS_TERZI') + BEGIN + DELETE FROM C6StoricoPeriodico.ASSETCLASS_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ASSETCLASS_TERZI + (ID_ASSETCLASS, COD_ISIN, COD_MAF, COD_ADEGUATEZZA, ID_ELAB, TIPO_ELAB) + SELECT + AT.ID_ASSETCLASS, AT.COD_ISIN, AT.COD_MAF, AT.COD_ADEGUATEZZA, AT.ID_ELAB, AT.TIPO_ELAB + FROM C6MartPeriodico.ASSETCLASS_TERZI AT + LEFT OUTER JOIN C6StoricoPeriodico.ASSETCLASS_TERZI SAT + ON AT.ID_ASSETCLASS = SAT.ID_ASSETCLASS + WHERE AT.ID_ELAB = @ID_ELAB AND SAT.ID_ASSETCLASS IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CLIENTI_CON_RNA_ALTO XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'CLIENTI_CON_RNA_ALTO') + -- BEGIN + -- DELETE FROM C6StoricoPeriodico.CLIENTI_CON_RNA_ALTO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6StoricoPeriodico.CLIENTI_CON_RNA_ALTO + -- ([Rete] + -- ,[CodicePB] + -- ,[CodiceFiscale] + -- ,[Percentuale] + -- ,[DataCalcolo] + -- , ID_ELAB) + -- SELECT + -- [Rete] + -- ,[CodicePB] + -- ,[CodiceFiscale] + -- ,[Percentuale] + -- ,[DataCalcolo] + -- , @ID_ELAB + -- FROM C6MartPeriodico.CLIENTI_CON_RNA_ALTO + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX CODICI_PROMOTORI_FITTIZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CODICI_PROMOTORI_FITTIZI') + BEGIN + DELETE FROM C6StoricoPeriodico.CODICI_PROMOTORI_FITTIZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.CODICI_PROMOTORI_FITTIZI + (Rete, CodiceDA, CodiceA, ID_ELAB) + SELECT + CPF.Rete, CPF.CodiceDA, CPF.CodiceA, @ID_ELAB + FROM C6MartPeriodico.CODICI_PROMOTORI_FITTIZI CPF + LEFT OUTER JOIN C6StoricoPeriodico.CODICI_PROMOTORI_FITTIZI SCPF + ON CPF.Rete = SCPF.Rete + AND CPF.CodiceDA = SCPF.CodiceDA + AND CPF.CodiceA = SCPF.COdiceA + WHERE SCPF.Rete IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CODIFICA_RISCHIO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CODIFICA_RISCHIO') + BEGIN + DELETE FROM C6StoricoPeriodico.CODIFICA_RISCHIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.CODIFICA_RISCHIO + (PROFILO, DESCRIZIONE, MIN_VAR, MAX_VAR, ID_ELAB) + SELECT + CR.PROFILO, CR.DESCRIZIONE, CR.MIN_VAR, CR.MAX_VAR, CR.ID_ELAB + FROM C6MartPeriodico.CODIFICA_RISCHIO CR + LEFT OUTER JOIN C6StoricoPeriodico.CODIFICA_RISCHIO SCR + ON CR.PROFILO = SCR.PROFILO + WHERE CR.ID_ELAB = @ID_ELAB AND SCR.PROFILO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONGELAMENTO_SEI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONGELAMENTO_SEI') + BEGIN + DELETE FROM C6StoricoPeriodico.CONGELAMENTO_SEI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.CONGELAMENTO_SEI + (DATA_CONGELAMENTO, ID_ELAB) + SELECT + CS.DATA_CONGELAMENTO, CS.ID_ELAB + FROM C6MartPeriodico.CONGELAMENTO_SEI CS + LEFT OUTER JOIN C6StoricoPeriodico.CONGELAMENTO_SEI SCS + ON CS.DATA_CONGELAMENTO = SCS.DATA_CONGELAMENTO + WHERE CS.ID_ELAB = @ID_ELAB AND SCS.DATA_CONGELAMENTO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONO_PIANIFICAZIONE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONO_PIANIFICAZIONE') + BEGIN + DELETE FROM C6StoricoPeriodico.CONO_PIANIFICAZIONE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.CONO_PIANIFICAZIONE + (RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, DATA_CONO, SCENARIO_PESSIMISTICO, SCENARIO_MEDIO, SCENARIO_OTTIMISTICO, ID_ELAB) + SELECT + CP.RETE, CP.COD_FISCALE, CP.ID_AREA, CP.NOME_PROGETTO, CP.DATA_CONO, CP.SCENARIO_PESSIMISTICO, CP.SCENARIO_MEDIO, CP.SCENARIO_OTTIMISTICO, CP.ID_ELAB + FROM C6MartPeriodico.CONO_PIANIFICAZIONE CP + LEFT OUTER JOIN C6StoricoPeriodico.CONO_PIANIFICAZIONE SCP + ON CP.RETE = SCP.RETE + AND CP.COD_FISCALE = SCP.COD_FISCALE + AND CP.ID_AREA = SCP.ID_AREA + AND CP.NOME_PROGETTO = SCP.NOME_PROGETTO + AND CP.DATA_CONO = SCP.DATA_CONO + WHERE CP.ID_ELAB = @ID_ELAB AND SCP.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX DATI_REPORT XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'DATI_REPORT') + -- BEGIN + -- DELETE FROM C6StoricoPeriodico.DATI_REPORT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6StoricoPeriodico.DATI_REPORT + -- (RETE, COD_FISCALE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, FLAG_REPORT, REPORT_DIAGN, REPORT_MONIT, DATA_REPORT, REPORT_FREQ, ID_ELAB, TIPO_ELAB) + -- SELECT + -- RETE, COD_FISCALE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, FLAG_REPORT, REPORT_DIAGN, REPORT_MONIT, DATA_REPORT, REPORT_FREQ, ID_ELAB, TIPO_ELAB + -- FROM C6MartPeriodico.DATI_REPORT WHERE ID_ELAB = @ID_ELAB + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX DETTAGLIO_ASUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'DETTAGLIO_ASUL') + BEGIN + DELETE FROM C6StoricoPeriodico.DETTAGLIO_ASUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.DETTAGLIO_ASUL + (RETE, COD_FISCALE, COD_PRODOTTO, ID_CONTRATTO, COD_SOTTOPRODOTTO, COD_INTERNO, CTV, DATA_RIF, COD_ISIN_FITTIZIO, COD_ISIN_SOTT, COD_MAF_SOTT, ID_ELAB, TIPO_ELAB) + SELECT + DA.RETE, DA.COD_FISCALE, DA.COD_PRODOTTO, DA.ID_CONTRATTO, DA.COD_SOTTOPRODOTTO, DA.COD_INTERNO, DA.CTV, DA.DATA_RIF, DA.COD_ISIN_FITTIZIO, DA.COD_ISIN_SOTT, DA.COD_MAF_SOTT, DA.ID_ELAB, DA.TIPO_ELAB + FROM C6MartPeriodico.DETTAGLIO_ASUL DA + LEFT OUTER JOIN C6StoricoPeriodico.DETTAGLIO_ASUL SDA + ON DA.RETE = SDA.RETE + AND DA.COD_FISCALE = SDA.COD_FISCALE + AND DA.COD_PRODOTTO = SDA.COD_PRODOTTO + AND DA.ID_CONTRATTO = SDA.ID_CONTRATTO + AND DA.COD_SOTTOPRODOTTO = SDA.COD_SOTTOPRODOTTO + AND DA.COD_INTERNO = SDA.COD_INTERNO + AND DA.CTV = SDA.CTV + AND DA.DATA_RIF = SDA.DATA_RIF + AND DA.COD_ISIN_FITTIZIO = SDA.COD_ISIN_FITTIZIO + AND DA.COD_ISIN_SOTT = SDA.COD_ISIN_SOTT + AND DA.COD_MAF_SOTT = SDA.COD_MAF_SOTT + WHERE DA.ID_ELAB = @ID_ELAB AND SDA.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ELABORAZIONI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ELABORAZIONI') + BEGIN + DELETE FROM C6StoricoPeriodico.ELABORAZIONI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ELABORAZIONI + (ID_ELAB, TIPO_ELAB, DATA_OPERAZIONE) + SELECT + E.ID_ELAB, E.TIPO_ELAB, E.DATA_OPERAZIONE + FROM C6MartPeriodico.ELABORAZIONI E + LEFT OUTER JOIN C6StoricoPeriodico.ELABORAZIONI SE + ON E.ID_ELAB = SE.ID_ELAB + WHERE E.ID_ELAB = @ID_ELAB AND SE.ID_ELAB IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ELABORAZIONI_EMAIL_RNA XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'ELABORAZIONI_EMAIL_RNA') + -- BEGIN + -- DELETE FROM C6StoricoPeriodico.ELABORAZIONI_EMAIL_RNA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6StoricoPeriodico.ELABORAZIONI_EMAIL_RNA + -- ([Data_Elaborazione],[ID_ELAB]) + -- SELECT + -- [Data_Elaborazione],@ID_ELAB + -- FROM C6MartPeriodico.ELABORAZIONI_EMAIL_RNA WHERE ID_ELAB = @ID_ELAB + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX EMAIL_PB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'EMAIL_PB') + BEGIN + DELETE FROM C6StoricoPeriodico.EMAIL_PB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.EMAIL_PB + (RETE, CODICE, PREFISSO, FIRMA, EMAIL, ID_ELAB, TIPO_ELAB) + SELECT + EP.RETE, EP.CODICE, EP.PREFISSO, EP.FIRMA, EP.EMAIL, EP.ID_ELAB, EP.TIPO_ELAB + FROM C6MartPeriodico.EMAIL_PB EP + LEFT OUTER JOIN C6StoricoPeriodico.EMAIL_PB SEP + ON EP.FIRMA = SEP.FIRMA + WHERE EP.ID_ELAB = @ID_ELAB AND SEP.FIRMA IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX GESTIONE_EMAIL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'GESTIONE_EMAIL') + BEGIN + DELETE FROM C6StoricoPeriodico.GESTIONE_EMAIL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.GESTIONE_EMAIL + (Email_Id, Rete, CodicePB, Tipo, Data_Generazione, Inviata, Data_Invio, ID_ELAB) + SELECT + GE.Email_Id, GE.Rete, GE.CodicePB, GE.Tipo, GE.Data_Generazione, GE.Inviata, GE.Data_Invio, GE.ID_ELAB + FROM C6MartPeriodico.GESTIONE_EMAIL GE + LEFT OUTER JOIN C6StoricoPeriodico.GESTIONE_EMAIL SGE + ON GE.Email_Id = SGE.Email_Id + WHERE GE.ID_ELAB = @ID_ELAB AND SGE.Email_Id IS NULL + END +-- --XXXXXXXXXXXXXXXXXXX GESTITA SEPARATAMENTE XXXXXXXXXXXXXXXXXXX-- +-- --XXXXXXXXXXXXXXXXXXXXXXXX GLOBAL_ERROR XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'GLOBAL_ERROR') +-- BEGIN +-- DELETE FROM C6StoricoPeriodico.GLOBAL_ERROR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6StoricoPeriodico.GLOBAL_ERROR +-- (ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB) +-- SELECT +-- ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB +-- FROM C6MartPeriodico.GLOBAL_ERROR WHERE ID_ELAB = @ID_ELAB +-- END + --XXXXXXXXXXXXXXXXXXXXXXXX MIFID XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MIFID') + BEGIN + DELETE FROM C6StoricoPeriodico.MIFID WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.MIFID(RETE, COD_FISCALE, PROFILO_ASS, DATA_INIZIO_VAL,ID_ELAB) + SELECT + M.RETE, M.COD_FISCALE, M.PROFILO_ASS, M.DATA_INIZIO_VAL, @ID_ELAB + FROM C6MartPeriodico.MIFID M + LEFT OUTER JOIN C6StoricoPeriodico.MIFID SM + ON M.RETE = SM.RETE + AND M.COD_FISCALE = SM.COD_FISCALE + WHERE M.ID_ELAB = @ID_ELAB AND SM.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX MONITORAGGIO_ATTUALE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MONITORAGGIO_ATTUALE') + BEGIN + DELETE FROM C6StoricoPeriodico.MONITORAGGIO_ATTUALE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.MONITORAGGIO_ATTUALE + (RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, DATA_ATTIVAZIONE, DATA_CTV, CTV_MONITORATO, APPORTO_INIZIALE, APPORTO_SUCCESSIVO, LIQUIDAZIONI, CEDOLE_DIVIDENDI, MINUS_PLUSVALENZA, RISORSE_ASSOCIATE, RENDIMENTO_CUMULATO, RENDIMENTO_ANNUALIZZATO, ORDINAMENTO_PROGETTO,ID_ELAB) + SELECT + MA.RETE, MA.COD_FISCALE, MA.ID_AREA, MA.NOME_PROGETTO, MA.DATA_ATTIVAZIONE, MA.DATA_CTV, MA.CTV_MONITORATO, MA.APPORTO_INIZIALE, MA.APPORTO_SUCCESSIVO, MA.LIQUIDAZIONI, MA.CEDOLE_DIVIDENDI, MA.MINUS_PLUSVALENZA, MA.RISORSE_ASSOCIATE, MA.RENDIMENTO_CUMULATO, MA.RENDIMENTO_ANNUALIZZATO, MA.ORDINAMENTO_PROGETTO,@ID_ELAB + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE MA + LEFT OUTER JOIN C6StoricoPeriodico.MONITORAGGIO_ATTUALE SMA + ON MA.RETE = SMA.RETE + AND MA.COD_FISCALE = SMA.COD_FISCALE + AND MA.ID_AREA = SMA.ID_AREA + AND MA.NOME_PROGETTO = SMA.NOME_PROGETTO + WHERE SMA.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX MONITORAGGIO_DETTAGLIO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MONITORAGGIO_DETTAGLIO') + BEGIN + DELETE FROM C6StoricoPeriodico.MONITORAGGIO_DETTAGLIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.MONITORAGGIO_DETTAGLIO + (RETE, COD_FISCALE, POSITION_ID, ID_AREA, DATA_ASSOCIAZIONE, VERSATO_NETTO_DA_ASSOC, UTILE_PERDITA_DA_ASSOC, ID_ELAB) + SELECT + MD.RETE, MD.COD_FISCALE, MD.POSITION_ID, MD.ID_AREA, MD.DATA_ASSOCIAZIONE, MD.VERSATO_NETTO_DA_ASSOC, MD.UTILE_PERDITA_DA_ASSOC, @ID_ELAB + FROM C6MartPeriodico.MONITORAGGIO_DETTAGLIO MD + LEFT OUTER JOIN C6StoricoPeriodico.MONITORAGGIO_DETTAGLIO SMD + ON MD.RETE = SMD.RETE + AND MD.COD_FISCALE = SMD.COD_FISCALE + AND MD.POSITION_ID = SMD.POSITION_ID + WHERE SMD.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX MONITORAGGIO_INIZIALE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MONITORAGGIO_INIZIALE') + BEGIN + DELETE FROM C6StoricoPeriodico.MONITORAGGIO_INIZIALE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.MONITORAGGIO_INIZIALE + (RETE, COD_FISCALE, DATA_FOTO, CTV_TOTALE, CTV_EXT, CTV_INV, CTV_RIS, CTV_PRE, CTV_LIQ, CTV_CC, CTV_NA, PARTITA_VIAGGIANTE, VAR_COMPLESSIVO, VAR_COPERTURA, ID_ELAB) + SELECT + MI.RETE, MI.COD_FISCALE, MI.DATA_FOTO, MI.CTV_TOTALE, MI.CTV_EXT, MI.CTV_INV, MI.CTV_RIS, MI.CTV_PRE, MI.CTV_LIQ, MI.CTV_CC, MI.CTV_NA, MI.PARTITA_VIAGGIANTE, MI.VAR_COMPLESSIVO, MI.VAR_COPERTURA, @ID_ELAB + FROM C6MartPeriodico.MONITORAGGIO_INIZIALE MI + LEFT OUTER JOIN C6StoricoPeriodico.MONITORAGGIO_INIZIALE SMI + ON MI.RETE = SMI.RETE + AND MI.COD_FISCALE = SMI.COD_FISCALE + AND MI.DATA_FOTO = SMI.DATA_FOTO + WHERE SMI.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX MONITORAGGIO_REPORT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MONITORAGGIO_REPORT') + BEGIN + DELETE FROM C6StoricoPeriodico.MONITORAGGIO_REPORT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.MONITORAGGIO_REPORT + (RETE, COD_FISCALE, DATA_INVIO, CTV_TOTALE, CTV_EXT, CTV_INV, CTV_RIS, CTV_PRE, CTV_LIQ, CTV_CC, CTV_NA, PARTITA_VIAGGIANTE, VAR_COMPLESSIVO, VAR_COPERTURA, ID_ELAB) + SELECT + MR.RETE, MR.COD_FISCALE, MR.DATA_INVIO, MR.CTV_TOTALE, MR.CTV_EXT, MR.CTV_INV, MR.CTV_RIS, MR.CTV_PRE, MR.CTV_LIQ, MR.CTV_CC, MR.CTV_NA, MR.PARTITA_VIAGGIANTE, MR.VAR_COMPLESSIVO, MR.VAR_COPERTURA, @ID_ELAB + FROM C6MartPeriodico.MONITORAGGIO_REPORT MR + LEFT OUTER JOIN C6StoricoPeriodico.MONITORAGGIO_REPORT SMR + ON MR.RETE = SMR.RETE + AND MR.COD_FISCALE = SMR.COD_FISCALE + AND MR.DATA_INVIO = SMR.DATA_INVIO + WHERE SMR.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX MONITORAGGIO_STORICO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MONITORAGGIO_STORICO') + BEGIN + DELETE FROM C6StoricoPeriodico.MONITORAGGIO_STORICO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.MONITORAGGIO_STORICO + (RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, DATA_CTV, CTV_MONITORATO, RISORSE_ASSOCIATE, ID_ELAB) + SELECT + MS.RETE, MS.COD_FISCALE, MS.ID_AREA, MS.NOME_PROGETTO, MS.DATA_CTV, MS.CTV_MONITORATO, MS.RISORSE_ASSOCIATE, @ID_ELAB + FROM C6MartPeriodico.MONITORAGGIO_STORICO MS + LEFT OUTER JOIN C6StoricoPeriodico.MONITORAGGIO_STORICO SMS + ON MS.RETE = SMS.RETE + AND MS.COD_FISCALE = SMS.COD_FISCALE + AND MS.ID_AREA = SMS.ID_AREA + AND MS.NOME_PROGETTO = SMS.NOME_PROGETTO + AND MS.DATA_CTV = SMS.DATA_CTV + WHERE SMS.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PARTITE_VIAGGIANTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PARTITE_VIAGGIANTI') + BEGIN + DELETE FROM C6StoricoPeriodico.PARTITE_VIAGGIANTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.PARTITE_VIAGGIANTI + (RETE, COD_FISCALE, IMPORTO, ID_ELAB, TIPO_ELAB) + SELECT + PV.RETE, PV.COD_FISCALE, PV.IMPORTO, PV.ID_ELAB, PV.TIPO_ELAB + FROM C6MartPeriodico.PARTITE_VIAGGIANTI PV + LEFT OUTER JOIN C6StoricoPeriodico.PARTITE_VIAGGIANTI SPV + ON PV.RETE = SPV.RETE + AND PV.COD_FISCALE = SPV.COD_FISCALE + WHERE PV.ID_ELAB = @ID_ELAB AND SPV.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_ALTRO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_ALTRO') + BEGIN + DELETE FROM C6StoricoPeriodico.PATRIMONIO_ALTRO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.PATRIMONIO_ALTRO + (RETE, COD_FISCALE, QUANTITA, DESCRIZIONE, CTV, ID_ELAB, TIPO_ELAB) + SELECT + PA.RETE, PA.COD_FISCALE, PA.QUANTITA, PA.DESCRIZIONE, PA.CTV, PA.ID_ELAB, PA.TIPO_ELAB + FROM C6MartPeriodico.PATRIMONIO_ALTRO PA + LEFT OUTER JOIN C6StoricoPeriodico.PATRIMONIO_ALTRO SPA + ON PA.RETE = SPA.RETE + AND PA.COD_FISCALE = SPA.COD_FISCALE + AND PA.QUANTITA = SPA.QUANTITA + AND PA.DESCRIZIONE = SPA.DESCRIZIONE + AND PA.CTV = SPA.CTV + WHERE PA.ID_ELAB = @ID_ELAB AND SPA.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_BF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_BF') + BEGIN + DELETE FROM C6StoricoPeriodico.PATRIMONIO_BF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.PATRIMONIO_BF + (RETE, COD_FISCALE, POSITION_ID, COD_PRODOTTO, ID_CONTRATTO, DATA_SOTTOSCRIZIONE, COD_STATO, NUM_POLIZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TIPO_PRODOTTO, NOME_PROGETTO, ID_AREA, DATA_OPERAZIONE, DATA_VALUTA, DATA_REGOLAMENTO, QUANTITA, PREZZO, CTV, CTV_NOMINALE, VERSATO_NETTO, PARTVIA_DISINV, DATA_PARTVIA_DISINV, PARTVIA_INV, REND_SOTTOSCRIZIONE, REND_TRIMESTRE, REND_ANNO, REND_NON_RAPPR, ORDINAMENTO_PROGETTO, EXTRANAC, ID_ELAB, TIPO_ELAB) + SELECT + PB.RETE, PB.COD_FISCALE, PB.POSITION_ID, PB.COD_PRODOTTO, PB.ID_CONTRATTO, PB.DATA_SOTTOSCRIZIONE, PB.COD_STATO, PB.NUM_POLIZZA, PB.COD_MAF, PB.COD_INTERNO, PB.COD_SOTTOPRODOTTO, PB.TIPO_PRODOTTO, PB.NOME_PROGETTO, PB.ID_AREA, PB.DATA_OPERAZIONE, PB.DATA_VALUTA, PB.DATA_REGOLAMENTO, PB.QUANTITA, PB.PREZZO, PB.CTV, PB.CTV_NOMINALE, PB.VERSATO_NETTO, PB.PARTVIA_DISINV, PB.DATA_PARTVIA_DISINV, PB.PARTVIA_INV, PB.REND_SOTTOSCRIZIONE, PB.REND_TRIMESTRE, PB.REND_ANNO, PB.REND_NON_RAPPR, PB.ORDINAMENTO_PROGETTO, PB.EXTRANAC, PB.ID_ELAB, PB.TIPO_ELAB + FROM C6MartPeriodico.PATRIMONIO_BF PB + LEFT OUTER JOIN C6StoricoPeriodico.PATRIMONIO_BF SPB + ON PB.RETE = SPB.RETE + AND PB.COD_FISCALE = SPB.COD_FISCALE + AND PB.POSITION_ID = SPB.POSITION_ID + WHERE PB.ID_ELAB = @ID_ELAB AND SPB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_IMMOBILIARE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_IMMOBILIARE') + BEGIN + DELETE FROM C6StoricoPeriodico.PATRIMONIO_IMMOBILIARE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.PATRIMONIO_IMMOBILIARE + (RETE, COD_FISCALE, DESCRIZIONE, TIPOLOGIA, LOCALITA, PROVINCIA, CAP, NAZIONE, VALORE_STIMATO, AFFITTO, NOTE, DIV_RIFERIMENTO, CAMBIO, ID_ELAB, TIPO_ELAB) + SELECT + PI.RETE, PI.COD_FISCALE, PI.DESCRIZIONE, PI.TIPOLOGIA, PI.LOCALITA, PI.PROVINCIA, PI.CAP, PI.NAZIONE, PI.VALORE_STIMATO, PI.AFFITTO, PI.NOTE, PI.DIV_RIFERIMENTO, PI.CAMBIO, PI.ID_ELAB, PI.TIPO_ELAB + FROM C6MartPeriodico.PATRIMONIO_IMMOBILIARE PI + LEFT OUTER JOIN C6StoricoPeriodico.PATRIMONIO_IMMOBILIARE SPI + ON PI.RETE = SPI.RETE + AND PI.COD_FISCALE = SPI.COD_FISCALE + AND PI.DESCRIZIONE = SPI.DESCRIZIONE + AND PI.TIPOLOGIA = SPI.TIPOLOGIA + AND PI.LOCALITA = SPI.LOCALITA + AND PI.PROVINCIA = SPI.PROVINCIA + AND PI.CAP = SPI.CAP + AND PI.NAZIONE = PI.NAZIONE + AND PI.VALORE_STIMATO = SPI.VALORE_STIMATO + AND PI.AFFITTO = SPI.AFFITTO + AND PI.NOTE = SPI.NOTE + AND PI.DIV_RIFERIMENTO = SPI.DIV_RIFERIMENTO + AND PI.CAMBIO = SPI.CAMBIO + WHERE PI.ID_ELAB = @ID_ELAB AND SPI.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_TERZI') + BEGIN + DELETE FROM C6StoricoPeriodico.PATRIMONIO_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.PATRIMONIO_TERZI + (RETE, COD_FISCALE, NUM_POLIZZA, TIPO_POLIZZA, TIPO_PRODOTTO, TIPO_PRODOTTO2, COD_PRODOTTO, COD_PRODOTTO_TERZI, INTERMEDIARIO, DATA_SOTTOSCRIZIONE, DATA_SCADENZA, FREQ_RATA, DURATA_POLIZZA, PREMIO, ALIQUOTA, DATA_SOTT_FP, DATA_REGOLAMENTO, QUANTITA, PREZZO, CTV, VERSATO_NETTO, DIV_REGOLAMENTO, CAMBIO, DESCR_GRUPPO_PRODOTTO, ID_ELAB, TIPO_ELAB) + SELECT + PT.RETE, PT.COD_FISCALE, PT.NUM_POLIZZA, PT.TIPO_POLIZZA, PT.TIPO_PRODOTTO, PT.TIPO_PRODOTTO2, PT.COD_PRODOTTO, PT.COD_PRODOTTO_TERZI, PT.INTERMEDIARIO, PT.DATA_SOTTOSCRIZIONE, PT.DATA_SCADENZA, PT.FREQ_RATA, PT.DURATA_POLIZZA, PT.PREMIO, PT.ALIQUOTA, PT.DATA_SOTT_FP, PT.DATA_REGOLAMENTO, PT.QUANTITA, PT.PREZZO, PT.CTV, PT.VERSATO_NETTO, PT.DIV_REGOLAMENTO, PT.CAMBIO, PT.DESCR_GRUPPO_PRODOTTO, PT.ID_ELAB, PT.TIPO_ELAB + FROM C6MartPeriodico.PATRIMONIO_TERZI PT + LEFT OUTER JOIN C6StoricoPeriodico.PATRIMONIO_TERZI SPT + ON PT.RETE = SPT.RETE + AND PT.COD_FISCALE = SPT.COD_FISCALE + AND PT.COD_PRODOTTO = SPT.COD_PRODOTTO + AND PT.COD_PRODOTTO_TERZI = SPT.COD_PRODOTTO_TERZI + WHERE PT.ID_ELAB = @ID_ELAB AND SPT.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PIRAMIDE_MOD XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PIRAMIDE_MOD') + BEGIN + DELETE FROM C6StoricoPeriodico.PIRAMIDE_MOD WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.PIRAMIDE_MOD + (RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, TIPO_PROGETTO, PERC_AREA, CTV_PROGETTO, CTV_AREA, ORIZZ_TEMP, CTV_TOTALE, STATO_CONSULENZA, DATA_STATO_CONS, DATA_MIGR_CONS, ID_CONTRATTO, ID_ELAB, TIPO_ELAB) + SELECT + PM.RETE, PM.COD_FISCALE, PM.ID_AREA, PM.NOME_PROGETTO, PM.TIPO_PROGETTO, PM.PERC_AREA, PM.CTV_PROGETTO, PM.CTV_AREA, PM.ORIZZ_TEMP, PM.CTV_TOTALE, PM.STATO_CONSULENZA, PM.DATA_STATO_CONS, PM.DATA_MIGR_CONS, PM.ID_CONTRATTO, PM.ID_ELAB, PM.TIPO_ELAB + FROM C6MartPeriodico.PIRAMIDE_MOD PM + LEFT OUTER JOIN C6StoricoPeriodico.PIRAMIDE_MOD SPM + ON PM.RETE = SPM.RETE + AND PM.COD_FISCALE = SPM.COD_FISCALE + AND PM.ID_AREA = SPM.ID_AREA + AND PM.NOME_PROGETTO = SPM.NOME_PROGETTO + WHERE PM.ID_ELAB = @ID_ELAB AND SPM.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PIRAMIDE_VERT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PIRAMIDE_VERT') + BEGIN + DELETE FROM C6StoricoPeriodico.PIRAMIDE_VERT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.PIRAMIDE_VERT + (RETE, COD_FISCALE, ID_AREA, CTV_AREA, ID_ELAB, TIPO_ELAB) + SELECT + PV.RETE, PV.COD_FISCALE, PV.ID_AREA, PV.CTV_AREA, PV.ID_ELAB, PV.TIPO_ELAB + FROM C6MartPeriodico.PIRAMIDE_VERT PV + LEFT OUTER JOIN C6StoricoPeriodico.PIRAMIDE_VERT SPV + ON PV.RETE = SPV.RETE + AND PV.COD_FISCALE = SPV.COD_FISCALE + AND PV.ID_AREA = SPV.ID_AREA + WHERE PV.ID_ELAB = @ID_ELAB AND SPV.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX RISCHIO_AGGREGATO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'RISCHIO_AGGREGATO') + BEGIN + DELETE FROM C6StoricoPeriodico.RISCHIO_AGGREGATO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.RISCHIO_AGGREGATO + (RETE, COD_FISCALE, COD_AGGREG, VAR_ASSOLUTO_PTF, VAR_PERC_PTF, CVAR_ASSOLUTO_PTF, CVAR_PERC_PTF, MCVAR, MCVARP, BENEFICIO, COPERTURA, CTV_AGGREG, ID_ELAB, TIPO_ELAB) + SELECT + RA.RETE, RA.COD_FISCALE, RA.COD_AGGREG, RA.VAR_ASSOLUTO_PTF, RA.VAR_PERC_PTF, RA.CVAR_ASSOLUTO_PTF, RA.CVAR_PERC_PTF, RA.MCVAR, RA.MCVARP, RA.BENEFICIO, RA.COPERTURA, RA.CTV_AGGREG, RA.ID_ELAB, RA.TIPO_ELAB + FROM C6MartPeriodico.RISCHIO_AGGREGATO RA + LEFT OUTER JOIN C6StoricoPeriodico.RISCHIO_AGGREGATO SRA + ON RA.RETE = SRA.RETE + AND RA.COD_FISCALE = SRA.COD_FISCALE + AND RA.COD_AGGREG = SRA.COD_AGGREG + WHERE RA.ID_ELAB = @ID_ELAB AND SRA.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX STRUTTURA_RETE XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'STRUTTURA_RETE') + -- BEGIN + -- DELETE FROM C6StoricoPeriodico.STRUTTURA_RETE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6StoricoPeriodico.STRUTTURA_RETE + -- (Rete, PB, CognomeNomePB, SPV, CognomeNomeSPV, RM, CognomeNomeRM, DM, CognomeNomeDM, AM, CognomeNomeAM, Livello, ID_ELAB, TIPO_ELAB) + -- SELECT + -- Rete, PB, CognomeNomePB, SPV, CognomeNomeSPV, RM, CognomeNomeRM, DM, CognomeNomeDM, AM, CognomeNomeAM, Livello, ID_ELAB, TIPO_ELAB + -- FROM C6MartPeriodico.STRUTTURA_RETE WHERE ID_ELAB = @ID_ELAB + -- END + -- XX -- XX -- XX -- XX AGGIORNAMENTO DATI C6MartPeriodico.TabelleStoricizzate XX -- XX -- XX -- XX -- + IF(@NomeTabella IS NOT NULL) + BEGIN + UPDATE C6MartPeriodico.TabelleStoricizzate + SET + FINE = GETDATE(), + DURATA = DATEDIFF(SECOND ,INIZIO, GETDATE()) + WHERE NOME = @NomeTabella + END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql b/sql/storedTestbes/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql new file mode 100644 index 00000000..1b4c8e2b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql @@ -0,0 +1,49 @@ +CREATE procedure [C6MartPeriodico].[SRV_STORICIZZAZIONE_GLOBAL_ERROR] + @NomeTabella AS VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_STORICIZZAZIONE_GLOBAL_ERROR', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MARTPERIODICO.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + DELETE FROM C6StoricoPeriodico.GLOBAL_ERROR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.GLOBAL_ERROR + (ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB) + SELECT + ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB + FROM dbo.GLOBAL_ERROR WHERE ID_ELAB = @ID_ELAB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR' + ) + TRUNCATE TABLE dbo.GLOBAL_ERROR +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective.sql new file mode 100644 index 00000000..43c83855 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective.sql @@ -0,0 +1,49 @@ +CREATE procedure [C6MartPeriodico].[SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective] + @NomeTabella AS VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MARTPERIODICO.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + DELETE FROM C6StoricoPeriodico.GLOBAL_ERROR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.GLOBAL_ERROR + (ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB) + SELECT + ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB + FROM dbo.GLOBAL_ERROR WHERE ID_ELAB = @ID_ELAB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR_pre_selective' + ) + TRUNCATE TABLE dbo.GLOBAL_ERROR +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_TABELLE_IN_MART.sql b/sql/storedTestbes/C6MartPeriodico_SRV_TABELLE_IN_MART.sql new file mode 100644 index 00000000..6579d500 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_TABELLE_IN_MART.sql @@ -0,0 +1,98 @@ +CREATE procedure [C6MartPeriodico].[SRV_TABELLE_IN_MART] +AS +BEGIN + DECLARE @tabella AS VARCHAR(50) + SET @tabella = NULL + SELECT TOP 1 @tabella = A.tabella + FROM( + SELECT tables.name tabella + FROM sys.tables tables + INNER JOIN sys.schemas schemas + ON tables.schema_id = schemas.schema_id + WHERE schemas.name = 'C6MartPeriodico' + AND tables.name NOT IN ('TabelleStoricizzate','VerificheCampione','GLOBAL_ERROR') + ) A + WHERE A.tabella NOT IN ( + SELECT Nome + FROM C6MartPeriodico.TabelleStoricizzate + ) + ORDER BY A.tabella + -- vedi stessa sp di Staging + /*INSERT INTO [C6MartPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella)*/ + DECLARE @tabellaMartDaStoricizzare AS SMALLINT + IF @tabella IS NOT NULL + BEGIN + INSERT INTO [C6MartPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella) + EXEC [C6MartPeriodico].[SRV_STORICIZZAZIONE] @tabella + SET @tabellaMartDaStoricizzare = 1 + END + ELSE + SET @tabellaMartDaStoricizzare = 0 + SELECT @tabellaMartDaStoricizzare tabella, @tabella nome +-- DECLARE @tabella AS VARCHAR(50) +-- SET @tabella = NULL +-- +-- -- AGGIORNAMENTO TABELLA C6MartPeriodico.TabelleStoricizzate: +-- --> CANCELLO LE VECCHIE +-- DELETE C6MartPeriodico.TabelleStoricizzate +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- RIGHT JOIN C6MartPeriodico.TabelleStoricizzate +-- ON tables.name = TabelleStoricizzate.NOME +-- WHERE schemas.name = 'C6MartPeriodico' +-- AND tables.name IS NULL +-- AND tables.name <> 'CONTRATTOSEI' +-- +-- --> INSERISCO LE NUOVE TABELLE +-- INSERT INTO C6MartPeriodico.TabelleStoricizzate (NOME, STORICIZZATA) +-- SELECT A.NOME, A.STORICIZZATA +-- FROM ( +-- SELECT tables.name AS NOME, 0 AS STORICIZZATA +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- WHERE schemas.name = 'C6MartPeriodico' +-- UNION +-- SELECT 'CONTRATTOSEI', 0 +-- ) A +-- LEFT JOIN C6MartPeriodico.TabelleStoricizzate +-- ON TabelleStoricizzate.NOME = A.NOME +-- WHERE TabelleStoricizzate.NOME IS NULL +-- -- FINE AGGIORNAMENTO TABELLA +-- +-- BEGIN TRANSACTION +-- +-- -- SELEZIONE TABELLA +-- SELECT TOP 1 @tabella = NOME +-- FROM C6MartPeriodico.TabelleStoricizzate +-- WHERE STORICIZZATA = 0 +-- ORDER BY DURATA DESC +-- +-- -- MARCATURA TABELLA SELEZIONATA +-- UPDATE C6MartPeriodico.TabelleStoricizzate +-- SET +-- STORICIZZATA = 1, +-- VECCHIA_DURATA = DURATA, +-- INIZIO = GETDATE() +-- WHERE NOME = @tabella +-- +-- COMMIT TRANSACTION +-- +-- DECLARE @tabellaMartDaStoricizzare AS SMALLINT +-- IF @tabella IS NOT NULL +-- BEGIN +-- EXEC C6MartPeriodico.SRV_STORICIZZAZIONE @tabella +-- SET @tabellaMartDaStoricizzare = 1 +-- END +-- ELSE +-- SET @tabellaMartDaStoricizzare = 0 +-- +-- SELECT @tabellaMartDaStoricizzare tabella, @tabella nome +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_TABELLE_IN_MART_pre_selective.sql b/sql/storedTestbes/C6MartPeriodico_SRV_TABELLE_IN_MART_pre_selective.sql new file mode 100644 index 00000000..c42bdfa2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_TABELLE_IN_MART_pre_selective.sql @@ -0,0 +1,98 @@ +CREATE procedure [C6MartPeriodico].[SRV_TABELLE_IN_MART_pre_selective] +AS +BEGIN + DECLARE @tabella AS VARCHAR(50) + SET @tabella = NULL + SELECT TOP 1 @tabella = A.tabella + FROM( + SELECT tables.name tabella + FROM sys.tables tables + INNER JOIN sys.schemas schemas + ON tables.schema_id = schemas.schema_id + WHERE schemas.name = 'C6MartPeriodico' + AND tables.name NOT IN ('TabelleStoricizzate','VerificheCampione','GLOBAL_ERROR') + ) A + WHERE A.tabella NOT IN ( + SELECT Nome + FROM C6MartPeriodico.TabelleStoricizzate + ) + ORDER BY A.tabella + -- vedi stessa sp di Staging + /*INSERT INTO [C6MartPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella)*/ + DECLARE @tabellaMartDaStoricizzare AS SMALLINT + IF @tabella IS NOT NULL + BEGIN + INSERT INTO [C6MartPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella) + EXEC [C6MartPeriodico].[SRV_STORICIZZAZIONE] @tabella + SET @tabellaMartDaStoricizzare = 1 + END + ELSE + SET @tabellaMartDaStoricizzare = 0 + SELECT @tabellaMartDaStoricizzare tabella, @tabella nome +-- DECLARE @tabella AS VARCHAR(50) +-- SET @tabella = NULL +-- +-- -- AGGIORNAMENTO TABELLA C6MartPeriodico.TabelleStoricizzate: +-- --> CANCELLO LE VECCHIE +-- DELETE C6MartPeriodico.TabelleStoricizzate +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- RIGHT JOIN C6MartPeriodico.TabelleStoricizzate +-- ON tables.name = TabelleStoricizzate.NOME +-- WHERE schemas.name = 'C6MartPeriodico' +-- AND tables.name IS NULL +-- AND tables.name <> 'CONTRATTOSEI' +-- +-- --> INSERISCO LE NUOVE TABELLE +-- INSERT INTO C6MartPeriodico.TabelleStoricizzate (NOME, STORICIZZATA) +-- SELECT A.NOME, A.STORICIZZATA +-- FROM ( +-- SELECT tables.name AS NOME, 0 AS STORICIZZATA +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- WHERE schemas.name = 'C6MartPeriodico' +-- UNION +-- SELECT 'CONTRATTOSEI', 0 +-- ) A +-- LEFT JOIN C6MartPeriodico.TabelleStoricizzate +-- ON TabelleStoricizzate.NOME = A.NOME +-- WHERE TabelleStoricizzate.NOME IS NULL +-- -- FINE AGGIORNAMENTO TABELLA +-- +-- BEGIN TRANSACTION +-- +-- -- SELEZIONE TABELLA +-- SELECT TOP 1 @tabella = NOME +-- FROM C6MartPeriodico.TabelleStoricizzate +-- WHERE STORICIZZATA = 0 +-- ORDER BY DURATA DESC +-- +-- -- MARCATURA TABELLA SELEZIONATA +-- UPDATE C6MartPeriodico.TabelleStoricizzate +-- SET +-- STORICIZZATA = 1, +-- VECCHIA_DURATA = DURATA, +-- INIZIO = GETDATE() +-- WHERE NOME = @tabella +-- +-- COMMIT TRANSACTION +-- +-- DECLARE @tabellaMartDaStoricizzare AS SMALLINT +-- IF @tabella IS NOT NULL +-- BEGIN +-- EXEC C6MartPeriodico.SRV_STORICIZZAZIONE @tabella +-- SET @tabellaMartDaStoricizzare = 1 +-- END +-- ELSE +-- SET @tabellaMartDaStoricizzare = 0 +-- +-- SELECT @tabellaMartDaStoricizzare tabella, @tabella nome +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_TRUNCATE_RP_STAGING.sql b/sql/storedTestbes/C6MartPeriodico_SRV_TRUNCATE_RP_STAGING.sql new file mode 100644 index 00000000..fa994021 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_TRUNCATE_RP_STAGING.sql @@ -0,0 +1,52 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[SRV_TRUNCATE_RP_STAGING] + -- Add the parameters for the stored procedure here +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- *** TABELLE GESTIONE ERRORE *** -- + -- TRUNCATE TABLE dbo.GLOBAL_ERROR; + -- *** FINE TABELLE GESTIONE ERRORE *** -- + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_Staging SEI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6Staging.RP_Proposta; + TRUNCATE TABLE C6Staging.RP_DettaglioOperazione; + TRUNCATE TABLE C6Staging.RP_PatrimonioTerzi; + TRUNCATE TABLE C6Staging.RP_DettAltriProdotti; + TRUNCATE TABLE C6Staging.RP_DettPatrAziendale; + TRUNCATE TABLE C6Staging.RP_MappaturaPT; + TRUNCATE TABLE C6Staging.RP_REP_ASSET_1_E_2_ORDINATE; + TRUNCATE TABLE C6Staging.RP_DettImmobiliare; + TRUNCATE TABLE C6Staging.RP_DettProdottiTerzi; + TRUNCATE TABLE C6Staging.RP_AssetClass; + TRUNCATE TABLE C6Staging.RP_Mappatura; + TRUNCATE TABLE C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3; + TRUNCATE TABLE C6Staging.RP_PosizioniProposta; + TRUNCATE TABLE C6Staging.RP_AnAlberatura; + TRUNCATE TABLE C6Staging.RP_Cliente; + TRUNCATE TABLE C6Staging.RP_PromotoreBancario; + TRUNCATE TABLE C6Staging.RP_PosizioniPortafoglio; + TRUNCATE TABLE C6Staging.RP_ProgettiPiramideModello; + TRUNCATE TABLE C6Staging.RP_Progetto; + TRUNCATE TABLE C6Staging.RP_DettaglioPosizionePortafoglio; + TRUNCATE TABLE C6Staging.RP_GradoParentela; + TRUNCATE TABLE C6Staging.RP_Migraz_Pianificazione; + TRUNCATE TABLE C6Staging.RP_Parentela; + TRUNCATE TABLE C6Staging.RP_Migraz_Progetto; + TRUNCATE TABLE C6Staging.RP_Migraz_Posizioni; + TRUNCATE TABLE C6Staging.RP_CatalogoProdotti; + TRUNCATE TABLE C6Staging.RP_ClientePB; + TRUNCATE TABLE C6Staging.RP_AnEmittente; + TRUNCATE TABLE C6Staging.RP_Pianificazione; +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SRV_Verifica_DISALLINEAMENTI_MONIT.sql b/sql/storedTestbes/C6MartPeriodico_SRV_Verifica_DISALLINEAMENTI_MONIT.sql new file mode 100644 index 00000000..3315a597 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SRV_Verifica_DISALLINEAMENTI_MONIT.sql @@ -0,0 +1,140 @@ +-- ============================================= +-- Author: alessandro Tringali +-- Create date: 16 ottobre 2010 +-- Description: estrae la lista dei clienti per fase Ii +-- ============================================= +-- exec [C6MartPeriodico].[SRV_Verifica_DISALLINEAMENTI_MONIT] 'F','BLFLSU65M55A470K' +CREATE procedure [C6MartPeriodico].[SRV_Verifica_DISALLINEAMENTI_MONIT] + @rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +--DROP TABLE #TEMP_PATRIMONIO_BF_AGGR +SELECT +RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4) AS ID_AREA, +isnull(ORDINAMENTO_PROGETTO,0) as ordinamento_progetto, +SUM(CTV) AS SUM_CTV +INTO #TEMP_PATRIMONIO_BF_AGGR +FROM +C6MARTPERIODICO.PATRIMONIO_BF +WHERE ID_AREA NOT IN ('CC','NA') +AND REND_NON_RAPPR=0 +and rete=@Rete and COD_FISCALE =@CodiceFiscale +GROUP BY RETE, +COD_FISCALE, +SUBSTRING(CASE WHEN ID_AREA='EXT' THEN 'Exr' ELSE ID_AREA END,0,4), +isnull(ORDINAMENTO_PROGETTO,0) +SELECT * INTO #TANAB FROM C6STAGINGPERIODICO.TANAB +WHERE CODFIS IN +(SELECT DISTINCT COD_FISCALE FROM #TEMP_PATRIMONIO_BF_AGGR) +SELECT * +FROM +( +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO as bf_ordprorg, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog as mon_codprog, +'Disallineati Inv' as descContr +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +and id_area ='Inv' +union all +SELECT +P.RETE, +P.COD_FISCALE, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog, +'Disallineati non Inv' as descContr +FROM +#TANAB M, +#TEMP_PATRIMONIO_BF_AGGR P +WHERE +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +AND M.CTV <> P.SUM_CTV +and m.ctv > 0 +and id_area <>'Inv' +union all +-------------------------------------------- +-- SOLO MONITORAGGIO +-------------------------------------------- +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +P.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog, +'Disalinneati Solo Monit Inv' as descContr +FROM +#TANAB M +left outer join +#TEMP_PATRIMONIO_BF_AGGR P +on +M.RETE = P.RETE +AND case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +AND DTFINE ='99991231' +where +--AND M.CTV <> P.SUM_CTV +--and m.dtrif= c6martperiodico.gettrimestre2(getdate(),0) +m.ctv > 0 +and p.cod_fiscale is null +AND M.CODPROG = isnull(P.ORDINAMENTO_PROGETTO,0) +and id_area ='Inv' +union all +SELECT +m.RETE, +case when len(m.CODFIS) =4 then 'FF@'+codfis else codfis end as cod_fiscale, +p.ID_AREA, +m.codarea as mon_area, +P.ORDINAMENTO_PROGETTO, +M.CTV CTV_MONIT, +P.SUM_CTV, +(isnull(sum_ctv,0) - isnull(m.ctv,0)) as delta, +m.codprog, +'Disallineati Solo Monit non Inv' as descContr +FROM +#TANAB M +left outer join +#TEMP_PATRIMONIO_BF_AGGR P +on +M.RETE = P.RETE +AND M.CODFIS = P.COD_FISCALE +AND M.CODAREA = P.ID_AREA +where +DTFINE ='99991231' +-- M.CTV <> P.SUM_CTV +and m.ctv > 0 +and p.cod_fiscale is null +and codarea <>'Inv' +) k +order by 2,1 +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Segnala_Disallineamenti.sql b/sql/storedTestbes/C6MartPeriodico_Segnala_Disallineamenti.sql new file mode 100644 index 00000000..8ad30a44 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Segnala_Disallineamenti.sql @@ -0,0 +1,32 @@ +-- exec [C6MartPeriodico].[Segnala_Disallineamenti] +CREATE procedure [C6MartPeriodico].[Segnala_Disallineamenti] +as + set nocount on + declare @Rete varchar(1) + declare @CodFis varchar(20) + declare @descSegnalazione varchar(200) + --create table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim varchar(8), rete varchar(1), codiceFiscale varchar(20), TIPPROD varchar(100), CODINT varchar(100), CODPROD varchar(100), SUBPROD varchar(100), MAF varchar(100), CODABI varchar(100), ISIN varchar(100)) + declare @dtTrim varchar(8) + set @dtTrim = [C6MartPeriodico].[getTrimestre](getdate(),0) + exec dbo.CreaTabellaBackUp 'tSegnala_Disallineamenti_Result', 'C6MartPeriodico' + declare @contaLimiter int + select @contaLimiter = count(*) from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] + truncate table C6MartPeriodico.tSegnala_Disallineamenti_Result + if @contaLimiter = 0 + begin + insert into C6MartPeriodico.tSegnala_Disallineamenti_Result (rete, codicefiscale, descrizione) + SELECT rete, codiceFiscale, descSegnalazione + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] + where idTipoControllo = 9 + end + else + begin + insert into C6MartPeriodico.tSegnala_Disallineamenti_Result (rete, codicefiscale, descrizione) + SELECT a.rete, a.codiceFiscale, a.descSegnalazione + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] a + inner join [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] b + on a.rete = b.rete + and a.codiceFiscale = b.cod_fiscale + where a.idTipoControllo = 9 + end + select * from C6MartPeriodico.tSegnala_Disallineamenti_Result \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Segnala_Disallineamenti_20190129.sql b/sql/storedTestbes/C6MartPeriodico_Segnala_Disallineamenti_20190129.sql new file mode 100644 index 00000000..c6327697 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Segnala_Disallineamenti_20190129.sql @@ -0,0 +1,23 @@ +-- exec [C6MartPeriodico].[Segnala_Disallineamenti] +CREATE procedure [C6MartPeriodico].[Segnala_Disallineamenti_20190129] +as + set nocount on + declare @Rete varchar(1) + declare @CodFis varchar(20) + declare @descSegnalazione varchar(200) + --create table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim varchar(8), rete varchar(1), codiceFiscale varchar(20), TIPPROD varchar(100), CODINT varchar(100), CODPROD varchar(100), SUBPROD varchar(100), MAF varchar(100), CODABI varchar(100), ISIN varchar(100)) + declare @dtTrim varchar(8) + set @dtTrim = [C6MartPeriodico].[getTrimestre](getdate(),0) + exec dbo.CreaTabellaBackUp 'tSegnala_Disallineamenti_Result', 'C6MartPeriodico' + truncate table C6MartPeriodico.tSegnala_Disallineamenti_Result + insert into C6MartPeriodico.tSegnala_Disallineamenti_Result (rete, codicefiscale, descrizione) + SELECT rete, codiceFiscale, descSegnalazione + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] + where idTipoControllo = 9 + --SELECT a.rete, a.codiceFiscale, a.descSegnalazione + --FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] a + -- inner join [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] b + -- on a.rete = b.rete + -- and a.codiceFiscale = b.cod_fiscale + --where a.idTipoControllo = 9 + select * from C6MartPeriodico.tSegnala_Disallineamenti_Result \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Segnala_ProdottiNonCensiti.sql b/sql/storedTestbes/C6MartPeriodico_Segnala_ProdottiNonCensiti.sql new file mode 100644 index 00000000..08571671 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Segnala_ProdottiNonCensiti.sql @@ -0,0 +1,188 @@ +-- exec [C6MartPeriodico].[Segnala_ProdottiNonCensiti] +CREATE procedure [C6MartPeriodico].[Segnala_ProdottiNonCensiti] +as + set nocount on + declare @Rete varchar(1) + declare @CodFis varchar(20) + declare @idTipoControllo int + declare @tipprod varchar(100) + declare @codint varchar(100) + declare @codprod varchar(100) + declare @subprod varchar(100) + declare @maf varchar(100) + declare @codabi varchar(100) + declare @isin varchar(100) + --create table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim varchar(8), rete varchar(1), codiceFiscale varchar(20), TIPPROD varchar(100), CODINT varchar(100), CODPROD varchar(100), SUBPROD varchar(100), MAF varchar(100), CODABI varchar(100), ISIN varchar(100)) + declare @dtTrim varchar(8) + set @dtTrim = [C6MartPeriodico].[getTrimestre](getdate(),0) + exec dbo.CreaTabellaBackUp 'tSegnala_ProdottiNonCensiti_Result', 'C6MartPeriodico' + truncate table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result + declare @contaLimiter int + select @contaLimiter = count(*) from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] + if @contaLimiter = 0 + begin + declare cur cursor for + SELECT rete, codiceFiscale, idTipoControllo + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] + where idTipoControllo in (1, 2) + end + else + begin + declare cur cursor for + SELECT a.rete, a.codiceFiscale, a.idTipoControllo + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] a + inner join [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] b + on a.rete = b.rete + and a.codiceFiscale = b.cod_fiscale + where a.idTipoControllo in (1, 2) + end + --and codiceFiscale = 'VNTGNN63D16D704Q' + open cur + fetch next from cur into @Rete, @CodFis, @idTipoControllo + while @@fetch_status = 0 + begin + select @tipprod = tipprod, + @codint = codint, + @codprod = codprod, + @subprod = subprod, + @maf = maf, + @codabi = codabi, + @isin = isin + from C6StagingPeriodico.SPB_CONTR_SINTESI SPB + where + SPB.rete = @Rete and SPB.codfis = @CodFis + and positionid is NULL + order by tipprod, codint, subprod + if @maf = '' + set @maf = null + if @idTipoControllo = 1 + begin + -- 1. TipProd + declare @TipoProdotto varchar(100) + select distinct @TipoProdotto = TipoProdotto + from C6StagingPeriodico.RP_CatalogoProdotti + where TipoProdotto = @tipprod -- and codsottoprodotto = 'LSEL' and TipoProdotto = 'ASU2'-- AND CODMAF = '1499131' and codIsin = 'LU1829331989' + --if @@rowcount = 0 + if @TipoProdotto is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODPROD, MAF, CODABI ) values (@dtTrim, @Rete, @CodFis, @tipprod, @codprod, @maf, @codabi) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod --+ ', CodInterno = ' + @codint + ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin + end + else + begin + -- 2. CodInt + declare @CodInterno varchar(100) + select distinct @CodInterno = codinterno + from C6StagingPeriodico.RP_CatalogoProdotti + where + TipoProdotto = @tipprod + and + codinterno = @codint -- and codsottoprodotto = 'LSEL' and TipoProdotto = 'ASU2'-- AND CODMAF = '1499131' and codIsin = 'LU1829331989' + --if @@rowcount = 0 + if @CodInterno is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODINT, CODPROD, MAF, CODABI) values (@dtTrim, @Rete, @CodFis, @tipprod, @codint, @codprod, @maf, @codabi) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod + ', CodInterno = ' + @codint --+ ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin + end + else + begin + -- 3. SubProd + declare @CodSottoProdotto varchar(100) + select distinct @CodSottoProdotto = codsottoprodotto + from C6StagingPeriodico.RP_CatalogoProdotti + where + TipoProdotto = @tipprod + and + codinterno = @codint + and + codsottoprodotto = @subprod + --if @@rowcount = 0 + if @CodSottoProdotto is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI) values (@dtTrim, @Rete, @CodFis, @tipprod, @codint, @codprod, @subprod, @maf, @codabi) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod + ', CodInterno = ' + @codint + ', CodSottoProdotto = ' + @subprod --+ ', CodIsin = ' + @isin + end + else + begin + -- 4. Isin + declare @CodIsin varchar(100) + select distinct @CodIsin = codIsin + from C6StagingPeriodico.RP_CatalogoProdotti + where + TipoProdotto = @tipprod + and + codinterno = @codint + and + codsottoprodotto = @subprod + and + codIsin = @isin + --if @@rowcount = 0 + if @CodIsin is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, ISIN) values (@dtTrim, @Rete, @CodFis, @tipprod, @codint, @codprod, @subprod, @maf, @codabi, @isin) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod + ', CodInterno = ' + @codint + ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin + end + else + begin + -- 5. Maf + declare @CodMaf varchar(100) + select distinct codmaf + from C6StagingPeriodico.RP_CatalogoProdotti + where + TipoProdotto = @tipprod + and + codinterno = @codint + and + codsottoprodotto = @subprod + and + codIsin = @isin + and + CodMaf = @maf + --if @@rowcount = 0 + if @CodMaf is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, ISIN) values (@dtTrim, @Rete, @CodFis, @tipprod, @codint, @codprod, @subprod, @maf, @codabi, @isin) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod + ', CodInterno = ' + @codint + ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin + ', CodMaf = ' + @maf + end + else + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale) values (@dtTrim, @Rete, @CodFis) + --select 'CENSITO' + end + end + end + end + end + end + else + begin + declare @DesProd varchar(200) + declare @cod_interno varchar(100) + declare @cod_sottoprodotto varchar(100) + select @cod_interno = cod_interno, @cod_sottoprodotto = cod_sottoprodotto, @DesProd = DesProd from C6MartPeriodico.PROVENTI where rete = @Rete and cod_fiscale = @CodFis + if @DesProd is null + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, CODINT, SUBPROD) values (@dtTrim, @Rete, @CodFis, @cod_interno, @cod_sottoprodotto) + end + --************************* + set @TipoProdotto = null + set @CodInterno = null + set @CodSottoProdotto = null + set @CodMaf = null + set @CodIsin = null + fetch next from cur into @Rete, @CodFis, @idTipoControllo + end + close cur + deallocate cur + select + Rete, + CodiceFiscale, + isnull(TIPPROD, '') as TIPPROD, + isnull(CODINT, '') as CODINT, + isnull(CODPROD, '') as CODPROD, + isnull(SUBPROD, '') as SUBPROD, + isnull(MAF, '') as MAF, + isnull(CODABI, '') as CODABI, + isnull(ISIN, '') as ISIN + from C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result + order by TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, ISIN + --drop table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Segnala_ProdottiNonCensiti_20190129.sql b/sql/storedTestbes/C6MartPeriodico_Segnala_ProdottiNonCensiti_20190129.sql new file mode 100644 index 00000000..20c8093b --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Segnala_ProdottiNonCensiti_20190129.sql @@ -0,0 +1,179 @@ +-- exec [C6MartPeriodico].[Segnala_ProdottiNonCensiti] +CREATE procedure [C6MartPeriodico].[Segnala_ProdottiNonCensiti_20190129] +as + set nocount on + declare @Rete varchar(1) + declare @CodFis varchar(20) + declare @idTipoControllo int + declare @tipprod varchar(100) + declare @codint varchar(100) + declare @codprod varchar(100) + declare @subprod varchar(100) + declare @maf varchar(100) + declare @codabi varchar(100) + declare @isin varchar(100) + --create table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim varchar(8), rete varchar(1), codiceFiscale varchar(20), TIPPROD varchar(100), CODINT varchar(100), CODPROD varchar(100), SUBPROD varchar(100), MAF varchar(100), CODABI varchar(100), ISIN varchar(100)) + declare @dtTrim varchar(8) + set @dtTrim = [C6MartPeriodico].[getTrimestre](getdate(),0) + exec dbo.CreaTabellaBackUp 'tSegnala_ProdottiNonCensiti_Result', 'C6MartPeriodico' + truncate table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result + declare cur cursor for + SELECT rete, codiceFiscale, idTipoControllo + FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] + where idTipoControllo in (1, 2) + --SELECT a.rete, a.codiceFiscale, a.idTipoControllo + --FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] a + -- inner join [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] b + -- on a.rete = b.rete + -- and a.codiceFiscale = b.cod_fiscale + --where a.idTipoControllo in (1, 2) + --and codiceFiscale = 'VNTGNN63D16D704Q' + open cur + fetch next from cur into @Rete, @CodFis, @idTipoControllo + while @@fetch_status = 0 + begin + select @tipprod = tipprod, + @codint = codint, + @codprod = codprod, + @subprod = subprod, + @maf = maf, + @codabi = codabi, + @isin = isin + from C6StagingPeriodico.SPB_CONTR_SINTESI SPB + where + SPB.rete = @Rete and SPB.codfis = @CodFis + and positionid is NULL + order by tipprod, codint, subprod + if @maf = '' + set @maf = null + if @idTipoControllo = 1 + begin + -- 1. TipProd + declare @TipoProdotto varchar(100) + select distinct @TipoProdotto = TipoProdotto + from C6StagingPeriodico.RP_CatalogoProdotti + where TipoProdotto = @tipprod -- and codsottoprodotto = 'LSEL' and TipoProdotto = 'ASU2'-- AND CODMAF = '1499131' and codIsin = 'LU1829331989' + --if @@rowcount = 0 + if @TipoProdotto is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODPROD, MAF, CODABI ) values (@dtTrim, @Rete, @CodFis, @tipprod, @codprod, @maf, @codabi) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod --+ ', CodInterno = ' + @codint + ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin + end + else + begin + -- 2. CodInt + declare @CodInterno varchar(100) + select distinct @CodInterno = codinterno + from C6StagingPeriodico.RP_CatalogoProdotti + where + TipoProdotto = @tipprod + and + codinterno = @codint -- and codsottoprodotto = 'LSEL' and TipoProdotto = 'ASU2'-- AND CODMAF = '1499131' and codIsin = 'LU1829331989' + --if @@rowcount = 0 + if @CodInterno is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODINT, CODPROD, MAF, CODABI) values (@dtTrim, @Rete, @CodFis, @tipprod, @codint, @codprod, @maf, @codabi) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod + ', CodInterno = ' + @codint --+ ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin + end + else + begin + -- 3. SubProd + declare @CodSottoProdotto varchar(100) + select distinct @CodSottoProdotto = codsottoprodotto + from C6StagingPeriodico.RP_CatalogoProdotti + where + TipoProdotto = @tipprod + and + codinterno = @codint + and + codsottoprodotto = @subprod + --if @@rowcount = 0 + if @CodSottoProdotto is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI) values (@dtTrim, @Rete, @CodFis, @tipprod, @codint, @codprod, @subprod, @maf, @codabi) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod + ', CodInterno = ' + @codint + ', CodSottoProdotto = ' + @subprod --+ ', CodIsin = ' + @isin + end + else + begin + -- 4. Isin + declare @CodIsin varchar(100) + select distinct @CodIsin = codIsin + from C6StagingPeriodico.RP_CatalogoProdotti + where + TipoProdotto = @tipprod + and + codinterno = @codint + and + codsottoprodotto = @subprod + and + codIsin = @isin + --if @@rowcount = 0 + if @CodIsin is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, ISIN) values (@dtTrim, @Rete, @CodFis, @tipprod, @codint, @codprod, @subprod, @maf, @codabi, @isin) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod + ', CodInterno = ' + @codint + ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin + end + else + begin + -- 5. Maf + declare @CodMaf varchar(100) + select distinct codmaf + from C6StagingPeriodico.RP_CatalogoProdotti + where + TipoProdotto = @tipprod + and + codinterno = @codint + and + codsottoprodotto = @subprod + and + codIsin = @isin + and + CodMaf = @maf + --if @@rowcount = 0 + if @CodMaf is null + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, ISIN) values (@dtTrim, @Rete, @CodFis, @tipprod, @codint, @codprod, @subprod, @maf, @codabi, @isin) + --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod + ', CodInterno = ' + @codint + ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin + ', CodMaf = ' + @maf + end + else + begin + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale) values (@dtTrim, @Rete, @CodFis) + --select 'CENSITO' + end + end + end + end + end + end + else + begin + declare @DesProd varchar(200) + declare @cod_interno varchar(100) + declare @cod_sottoprodotto varchar(100) + select @cod_interno = cod_interno, @cod_sottoprodotto = cod_sottoprodotto, @DesProd = DesProd from C6MartPeriodico.PROVENTI where rete = @Rete and cod_fiscale = @CodFis + if @DesProd is null + insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, CODINT, SUBPROD) values (@dtTrim, @Rete, @CodFis, @cod_interno, @cod_sottoprodotto) + end + --************************* + set @TipoProdotto = null + set @CodInterno = null + set @CodSottoProdotto = null + set @CodMaf = null + set @CodIsin = null + fetch next from cur into @Rete, @CodFis, @idTipoControllo + end + close cur + deallocate cur + select + Rete, + CodiceFiscale, + isnull(TIPPROD, '') as TIPPROD, + isnull(CODINT, '') as CODINT, + isnull(CODPROD, '') as CODPROD, + isnull(SUBPROD, '') as SUBPROD, + isnull(MAF, '') as MAF, + isnull(CODABI, '') as CODABI, + isnull(ISIN, '') as ISIN + from C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result + order by TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, ISIN + --drop table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_SetDocumentMissing.sql b/sql/storedTestbes/C6MartPeriodico_SetDocumentMissing.sql new file mode 100644 index 00000000..8c1f6b03 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_SetDocumentMissing.sql @@ -0,0 +1,6 @@ +CREATE procedure [C6MartPeriodico].[SetDocumentMissing] + ( @idReport bigint ) + as + begin + update c6MartPeriodico.GESTIONE_PDF_FTP set FlagInvio = 'X' where identityreport = @idReport and FLagInvio = 'N' + end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_UpdateStatoReport.sql b/sql/storedTestbes/C6MartPeriodico_UpdateStatoReport.sql new file mode 100644 index 00000000..5b672981 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_UpdateStatoReport.sql @@ -0,0 +1,9 @@ +CREATE procedure [C6MartPeriodico].[UpdateStatoReport](@FiscalCode nvarchar(max), @Rete nvarchar(max)) +as +begin +insert into dbo.logn(message, level, logged, application) +select 'UpdateStatoReport:'+@fiscalCode+@Rete, 'Info', getdate(), 'Trimestrale' +update C6MartPeriodico.controllo_trimestrale +set stato_report = 4 +where COALESCE(cod_fiscale,'R')=COALESCE(@FiscalCode,'R') and COALESCE(rete,'R') =COALESCE(@Rete,'R') +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Update_TB_Campione.sql b/sql/storedTestbes/C6MartPeriodico_Update_TB_Campione.sql new file mode 100644 index 00000000..4d5b2dc9 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Update_TB_Campione.sql @@ -0,0 +1,9 @@ +CREATE procedure [C6MartPeriodico].[Update_TB_Campione](@codfis varchar(16),@rt varchar(1)) +AS +BEGIN + SET NOCOUNT ON; + UPDATE [c6martperiodico].[TB_Campione] + SET flag_stampa=2 + WHERE + cod_fiscale=@codfis AND rete=@rt; +END; \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Update_TB_Campione_GB.sql b/sql/storedTestbes/C6MartPeriodico_Update_TB_Campione_GB.sql new file mode 100644 index 00000000..e9fcc4d5 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Update_TB_Campione_GB.sql @@ -0,0 +1,9 @@ +CREATE procedure [C6MartPeriodico].[Update_TB_Campione_GB](@codfis varchar(16),@rt varchar(1)) +AS +BEGIN + SET NOCOUNT ON; + UPDATE [C6MartPeriodico].[TB_Campione_GB] + SET flag_stampa=2 + WHERE + cod_fiscale=@codfis AND rete=@rt; +END; \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_Util_Test_PL.sql b/sql/storedTestbes/C6MartPeriodico_Util_Test_PL.sql new file mode 100644 index 00000000..540ae870 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_Util_Test_PL.sql @@ -0,0 +1,81 @@ +CREATE procedure [C6MartPeriodico].[Util_Test_PL] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT 'C6MartPeriodico.PL_Intermediari' + DECLARE @num int + EXEC C6MartPeriodico.PL_Intermediari @Rete , @CodiceFiscale , @num OUTPUT + SELECT @num AS NumIntermediari + SELECT 'PL_S10PatrimonioFinanziario' + EXEC C6MartPeriodico.PL_S10PatrimonioFinanziario @Rete , @CodiceFiscale + SELECT 'PL_S18PatrimonioFinanziarioRischio' + EXEC C6MartPeriodico.PL_S18PatrimonioFinanziarioRischio @Rete,@CodiceFiscale + SELECT 'PL_S1Patrimonio' + EXEC C6MartPeriodico.PL_S1Patrimonio @Rete,@CodiceFiscale + SELECT 'PL_S23DettaglioRischio' + EXEC C6MartPeriodico.PL_S23DettaglioRischio @Rete,@CodiceFiscale + SELECT 'PL_S25Anagrafica' + EXEC C6MartPeriodico.PL_S25Anagrafica @Rete,@CodiceFiscale + SELECT 'PL_S26PatrimonioImmobiliare' + EXEC C6MartPeriodico.PL_S26PatrimonioImmobiliare @Rete,@CodiceFiscale + SELECT 'PL_S27ALtroPatrimonio' + EXEC C6MartPeriodico.PL_S27ALtroPatrimonio @Rete,@CodiceFiscale + SELECT 'PL_S2PatrimonioFinanziario' + EXEC C6MartPeriodico.PL_S2PatrimonioFinanziario @Rete,@CodiceFiscale + SELECT 'PL_S31PatrimonioFinanziarioIntermediario' + EXEC C6MartPeriodico.PL_S31PatrimonioFinanziarioIntermediario @Rete,@CodiceFiscale + SELECT 'PL_S32PatrimonioFinanziarioMAssetClass' + EXEC C6MartPeriodico.PL_S32PatrimonioFinanziarioMAssetClass @Rete,@CodiceFiscale + SELECT 'PL_S36ProfiloRischio' + EXEC C6MartPeriodico.PL_S36ProfiloRischio @Rete,@CodiceFiscale + SELECT 'PL_S37PiramideModello' + EXEC C6MartPeriodico.PL_S37PiramideModello @Rete,@CodiceFiscale + SELECT 'PL_S43DettaglioProdottiBF' + EXEC C6MartPeriodico.PL_S43DettaglioProdottiBF @Rete,@CodiceFiscale + SELECT 'PL_S47ContoCorrenteBF' + EXEC C6MartPeriodico.PL_S47ContoCorrenteBF @Rete,@CodiceFiscale + SELECT 'PL_S48DettaglioProdotti' + EXEC C6MartPeriodico.PL_S48DettaglioProdotti @Rete,@CodiceFiscale + SELECT 'PL_S49PolizzeAltriIstituti' + EXEC C6MartPeriodico.PL_S49PolizzeAltriIstituti @Rete,@CodiceFiscale + SELECT 'PL_S50FondiAltriIstituti' + EXEC C6MartPeriodico.PL_S50FondiAltriIstituti @Rete,@CodiceFiscale + SELECT 'PL_S51ContoCorrenteAI' + EXEC C6MartPeriodico.PL_S51ContoCorrenteAI @Rete,@CodiceFiscale + SELECT 'PL_S56PatrimonioBFAreeBisogno' + EXEC C6MartPeriodico.PL_S56PatrimonioBFAreeBisogno @Rete,@CodiceFiscale + SELECT 'PL_S57ConfrontoPiramidi' + EXEC C6MartPeriodico.PL_S57ConfrontoPiramidi @Rete,@CodiceFiscale + SELECT 'PL_S6PatrimonioFinanziario' + EXEC C6MartPeriodico.PL_S6PatrimonioFinanziario @Rete,@CodiceFiscale + SELECT 'PL_S75GradoCopertura' + EXEC C6MartPeriodico.PL_S75GradoCopertura @Rete,@CodiceFiscale + SELECT 'PL_S76AlternativaPatrimonioNonRappresentabileAssettClass' + EXEC C6MartPeriodico.PL_S76AlternativaPatrimonioNonRappresentabileAssettClass @Rete,@CodiceFiscale + SELECT 'PL_S76PatrimonioNonRappresentabileAssettClass' + EXEC C6MartPeriodico.PL_S76PatrimonioNonRappresentabileAssettClass @Rete,@CodiceFiscale + SELECT 'PL_S80BisEvoluzioneRischio' + EXEC C6MartPeriodico.PL_S80BisEvoluzioneRischio @Rete,@CodiceFiscale + SELECT 'PL_S80EvoluzioneControvalore' + EXEC C6MartPeriodico.PL_S80EvoluzioneControvalore @Rete,@CodiceFiscale + SELECT 'PL_S82BisDatiSintetici' + EXEC C6MartPeriodico.PL_S82BisDatiSintetici @Rete,@CodiceFiscale + SELECT 'PL_S82DatiSintetici' + EXEC C6MartPeriodico.PL_S82DatiSintetici @Rete,@CodiceFiscale + SELECT 'PL_S83DatiRendimento' + EXEC C6MartPeriodico.PL_S83DatiRendimento @Rete,@CodiceFiscale + SELECT 'PL_S84ControvaloreRisorseApportate' + EXEC C6MartPeriodico.PL_S84ControvaloreRisorseApportate @Rete,@CodiceFiscale + SELECT 'PL_S85RendimentoPortafoglioCono' + EXEC C6MartPeriodico.PL_S85RendimentoPortafoglioCono @Rete,@CodiceFiscale + SELECT 'PL_S86PatrimonioFinanziarioMAssetClass' + EXEC C6MartPeriodico.PL_S86PatrimonioFinanziarioMAssetClass @Rete,@CodiceFiscale + SELECT 'PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento' + EXEC C6MartPeriodico.PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento @Rete,@CodiceFiscale + SELECT 'PL_S93Controvalore' + EXEC C6MartPeriodico.PL_S93Controvalore @Rete,@CodiceFiscale + SELECT 'PL_S94Rischio' + EXEC C6MartPeriodico.PL_S94Rischio @Rete,@CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_inserisci_promotori_fittizi.sql b/sql/storedTestbes/C6MartPeriodico_inserisci_promotori_fittizi.sql new file mode 100644 index 00000000..31a9fe97 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_inserisci_promotori_fittizi.sql @@ -0,0 +1,19 @@ +CREATE procedure [C6MartPeriodico].[inserisci_promotori_fittizi] as +begin +insert into [C6StagingPeriodico].[ADS4WS_PROMOTORI] (rete,codice,prefisso,firma) +SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM C6MartPeriodico.RP_vContrattiPerGenerazioneReport C6 + INNER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_sp_GetNumeroZipProdotti.sql b/sql/storedTestbes/C6MartPeriodico_sp_GetNumeroZipProdotti.sql new file mode 100644 index 00000000..eeba8afc --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_sp_GetNumeroZipProdotti.sql @@ -0,0 +1,18 @@ +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 21/01/2015 +-- Description: Calcolo su Totali Report per gestione generazione Zip +-- ============================================= +CREATE procedure [C6MartPeriodico].[sp_GetNumeroZipProdotti] +AS +BEGIN +Declare @Return int +select @Return =count(*) +from [C6MartPeriodico].[GESTIONE_ZIP_FTP] ZipFtp +inner join ( select max(idElaborazioneZip) id_elab_zip + from [C6MartPeriodico].[ELABORAZIONI_ZIP] + ) Elab_Zip +on ZipFtp.FKIdElaborazioneZip = id_elab_zip +order by 1 desc +select @Return +End \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_sp_UpdateIdReportPDF.sql b/sql/storedTestbes/C6MartPeriodico_sp_UpdateIdReportPDF.sql new file mode 100644 index 00000000..c9b8e8d2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_sp_UpdateIdReportPDF.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Author: +-- Description: Parallelizzazione PRocessi Trimestrale +-- 23/02/2014 Gestione Allineamento IdReport +-- con IdInRepository(ReportManager) di SeiReport.C6reportFisisco +-- ============================================= +CREATE procedure [C6MartPeriodico].[sp_UpdateIdReportPDF] + @IdReportC6 INT, + @IdReportManager int +AS +BEGIN +Update C6martperiodico.Gestione_PDF_FTP +Set idReport=@IdReportManager +where idReport=@IdReportC6; +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_sp_caricaBlacklist.sql b/sql/storedTestbes/C6MartPeriodico_sp_caricaBlacklist.sql new file mode 100644 index 00000000..0f422fd1 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_sp_caricaBlacklist.sql @@ -0,0 +1,50 @@ +-- Stored procedure +CREATE PROCEDURE [C6MartPeriodico].[sp_caricaBlacklist] +AS +BEGIN +exec [C6StagingPeriodico].[REPTRIM_WSEIDC] +exec [C6StagingPeriodico].[REPTRIM_WSEIPS] + Declare @dtTrime as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + --truncate table C6MartPeriodico.ExcludedList + drop table if exists #blacklist + drop table if exists #riunisco_blacklist + drop table if exists #rimuovi_duplicati + update C6MartPeriodico.tabellone +set lettera_sost='N' --nel caso dovesse essere rilanciata e ci fossero problemi sulla wseidc e wseips + select distinct rete + ,case when codman <> '' then 'FF@' + CODMAN else codfis end as codiceFiscale, + case when tipolett = '0' then 'RFA=0'--'BLACKLIST RFA=0' + when tipolett = '6' then 'RFA Minus'--'BLACKLIST RFA MINUS CLIENTE SEI' + when tipolett = '2' then 'BLACKLIST RFA MINUS CLIENTE SEI E IMMOBILIARE' + when TIPOLETT='A' then 'Profilo EC' + END AS DescrErr + --when tipolett = 1 then 'BLACKLIST RFA MINUS CLIENTE IMMOBILIARE' + into #blacklist + from C6stagingPeriodico.wseidc + where TIPOLETT not in ('R','S') and dttrim = @dtTrime +insert into #blacklist +select distinct rete, + case when codman <> '' then 'FF@' + CODMAN else codfis end as codiceFiscale, + 'Profilo Scaduto' as DescrErr + from c6stagingPeriodico.wseips + where dttrim = @dtTrime +insert into C6MartPeriodico.ExcludedList +select rete,codiceFiscale,DescrErr,getdate() as DataIns,'1' as Bloccato from #blacklist--#riunisco_blacklist +SELECT rete,codicefiscale,STRING_AGG( ISNULL(DescrErr, ' '), ',') As descrerr,getdate() as DataIns,'1' as Bloccato + into #riunisco_blacklist + From #blacklist group by rete,codicefiscale -- a causa del frontend non posso mettere piu motivazioni per lo stesso cf ma mi serve per il tabellone per la lettera sostitutiva +update C6MartPeriodico.tabellone +set lettera_sost='S' +where chiave_acn in (select rete+codicefiscale from #riunisco_blacklist) +--rimuove duplicati nel caso questa sp dovesse essere lanciata piu volte +select distinct rete,codicefiscale,descrerr +into #rimuovi_duplicati +from C6MartPeriodico.ExcludedList +delete from C6MartPeriodico.ExcludedList +where rete+codicefiscale+DescrErr in (select rete+codicefiscale+DescrErr from #rimuovi_duplicati) +insert into C6MartPeriodico.ExcludedList +select rete,codiceFiscale,DescrErr,getdate() as DataIns,'1' as Bloccato from #rimuovi_duplicati +--fine rimozione duplicati +exec [C6MartPeriodico].[Blacklist_Blocco_Tabellone] 'blocco' --aggiorna tabellone +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_sp_caricaBlacklist_RFAMinus_old.sql b/sql/storedTestbes/C6MartPeriodico_sp_caricaBlacklist_RFAMinus_old.sql new file mode 100644 index 00000000..5348a661 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_sp_caricaBlacklist_RFAMinus_old.sql @@ -0,0 +1,28 @@ +-- Stored procedure +CREATE PROCEDURE [C6MartPeriodico].[sp_caricaBlacklist_RFAMinus_old] +AS +BEGIN + Declare @dtTrime as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + insert into c6martPeriodico.ExcludedList + select + [Rete] + ,case when codman <> '' then 'FF@' + CODMAN else codfis end as codiceFiscale + ,case when tipolett = 0 then 'BLACKLIST RFA=0' + when tipolett = 6 then 'BLACKLIST RFA MINUS CLIENTE SEI' + when tipolett = 2 then 'BLACKLIST RFA MINUS CLIENTE SEI E IMMOBILIARE' + when tipolett = 1 then 'BLACKLIST RFA MINUS CLIENTE IMMOBILIARE' END AS DescrErr + ,getdate() as [DataIns] + ,1 as [Bloccato] +from c6stagingPeriodico.wseidc +where dttrim = @dtTrime + insert into c6martPeriodico.ExcludedList + select + [Rete] + ,case when codman <> '' then 'FF@' + CODMAN else codfis end as CODFIS + ,'BLACKLIST PROFILO SCADUTO' as DescrErr + ,getdate() as [DataIns] + ,1 as [Bloccato] +from c6stagingPeriodico.wseips +where dttrim = @dtTrime +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_sp_getDatiReport.sql b/sql/storedTestbes/C6MartPeriodico_sp_getDatiReport.sql new file mode 100644 index 00000000..dc9e8747 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_sp_getDatiReport.sql @@ -0,0 +1,42 @@ +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 21/02/2015 +-- Description: Calcolo su Totali Report per gestione generazione Zip +-- ============================================= +CREATE procedure [C6MartPeriodico].[sp_getDatiReport] +AS +BEGIN +select top 400 pdf.codicecontratto as codiceContratto , +pdf.rete as rete , +pdf.codicefiscale as codiceFiscale , +clienti.nome as nomeCliente , +clienti.cognome as cognomeCliente, +pdf.TipoReport as TipoReport, +pdf.idReport as IdReport , +contratti.cod_agente as codAgente , +isnull(promot.nome,'') as nomeAgente , +isnull(promot.Cognome,'') as cognomeAgente , +pdf.numeropagine as numeroPagine , +pdf.NomeFile as NomeFile, +contratti.tip_contratto tipoContratto, +id_fk_zip, +pdf.identityreport +from [C6MartPeriodico].[GESTIONE_PDF_FTP] PDF +inner join C6MartPeriodico.controllo_trimestrale contr +on pdf.rete = contr.rete and pdf.codicefiscale=contr.cod_fiscale +inner join [C6MartPeriodico].[ANAG_CLIENTI] Clienti +on pdf.rete=clienti.rete and pdf.codicefiscale=clienti.COD_FISCALE +inner join [C6StagingPeriodico].Appo_Contratti Contratti +on contratti.rete=pdf.rete and contratti.cod_fiscale= pdf.codicefiscale +left join [C6MartPeriodico].[ANAG_Promotori] promot +on contratti.rete=promot.rete and contratti.cod_agente= promot.id_promotore +left join C6martperiodico.ExcludedList ex +on pdf.rete=ex.rete and pdf.codicefiscale = ex.codicefiscale +where stato_report=8 -- Se già generata la WhiteList -- 6 Se ancora non generata +and IDReport=IdentityReport -- Utilizzare Questa Condizione in fase di generazione massiva +-- 27/10/2015 FCianfa commento cdz +-- Utilizzare questa condizione in fase di recupero report +--and IDReport in +--(select identificativo from dbo.reportDainserire_recupero) +--order by IdentityReport +End \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti.sql b/sql/storedTestbes/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti.sql new file mode 100644 index 00000000..db9b45c2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti.sql @@ -0,0 +1,44 @@ +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 21/02/2015 +-- Description: Calcolo su Totali Report per gestione generazione Zip +-- ============================================= +CREATE procedure [C6MartPeriodico].[sp_getDatiReport_checkFileCorrotti] +AS +BEGIN +select --top 10 + pdf.codicecontratto as codiceContratto , +pdf.rete as rete , +pdf.codicefiscale as codiceFiscale , +clienti.nome as nomeCliente , +clienti.cognome as cognomeCliente, +pdf.TipoReport as TipoReport, +--pdf.idReport as IdReport , +pdf.identityreport as IdReport , +contratti.cod_agente as codAgente , +isnull(promot.nome,'') as nomeAgente , +isnull(promot.Cognome,'') as cognomeAgente , +pdf.numeropagine as numeroPagine , +pdf.NomeFile as NomeFile, +contratti.tip_contratto tipoContratto, +id_fk_zip, +pdf.identityreport +from [C6MartPeriodico].[GESTIONE_PDF_FTP] PDF +inner join C6MartPeriodico.controllo_trimestrale contr +on pdf.rete = contr.rete and pdf.codicefiscale=contr.cod_fiscale +inner join [C6MartPeriodico].[ANAG_CLIENTI] Clienti +on pdf.rete=clienti.rete and pdf.codicefiscale=clienti.COD_FISCALE +inner join [C6StagingPeriodico].Appo_Contratti Contratti +on contratti.rete=pdf.rete and contratti.cod_fiscale= pdf.codicefiscale +left join [C6MartPeriodico].[ANAG_Promotori] promot +on contratti.rete=promot.rete and contratti.cod_agente= promot.id_promotore +left join C6martperiodico.ExcludedList ex +on pdf.rete=ex.rete and pdf.codicefiscale = ex.codicefiscale +where stato_report=8 -- 8 Se già generata la WhiteList -- 6 Se ancora non generata +--and IDReport=IdentityReport -- Utilizzare Questa Condizione in fase di generazione massiva +-- 27/10/2015 FCianfa commento cdz +-- Utilizzare questa condizione in fase di recupero report +--and IDReport in +--(select identificativo from dbo.reportDainserire_recupero) +--order by IdentityReport +End \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti_Griffin.sql b/sql/storedTestbes/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti_Griffin.sql new file mode 100644 index 00000000..5e9549f2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_sp_getDatiReport_checkFileCorrotti_Griffin.sql @@ -0,0 +1,45 @@ +-- ============================================= +-- Author: Fabrizio Caruso +-- Create date: 21/02/2015 +-- Description: Calcolo su Totali Report per gestione generazione Zip +-- ============================================= +CREATE procedure [C6MartPeriodico].[sp_getDatiReport_checkFileCorrotti_Griffin] +AS +BEGIN +select --top 10 + pdf.codicecontratto as codiceContratto , +pdf.rete as rete , +pdf.codicefiscale as codiceFiscale , +clienti.nome as nomeCliente , +clienti.cognome as cognomeCliente, +pdf.TipoReport as TipoReport, +--pdf.idReport as IdReport , +pdf.identityreport as IdReport , +contratti.cod_agente as codAgente , +isnull(promot.nome,'') as nomeAgente , +isnull(promot.Cognome,'') as cognomeAgente , +pdf.numeropagine as numeroPagine , +pdf.NomeFile as NomeFile, +contratti.tip_contratto tipoContratto, +id_fk_zip, +pdf.identityreport +from [C6MartPeriodico].[GESTIONE_PDF_FTP] PDF +inner join C6MartPeriodico.controllo_trimestrale contr +on pdf.rete = contr.rete and pdf.codicefiscale=contr.cod_fiscale +inner join [C6MartPeriodico].[ANAG_CLIENTI] Clienti +on pdf.rete=clienti.rete and pdf.codicefiscale=clienti.COD_FISCALE +inner join [C6StagingPeriodico].Appo_Contratti Contratti +on contratti.rete=pdf.rete and contratti.cod_fiscale= pdf.codicefiscale +left join [C6MartPeriodico].[ANAG_Promotori] promot +on contratti.rete=promot.rete and contratti.cod_agente= promot.id_promotore +left join C6martperiodico.ExcludedList ex +on pdf.rete=ex.rete and pdf.codicefiscale = ex.codicefiscale +where stato_report=8 -- 8 Se già generata la WhiteList -- 6 Se ancora non generata +and pdf.codicecontratto = '519345CO803' +--and IDReport=IdentityReport -- Utilizzare Questa Condizione in fase di generazione massiva +-- 27/10/2015 FCianfa commento cdz +-- Utilizzare questa condizione in fase di recupero report +--and IDReport in +--(select identificativo from dbo.reportDainserire_recupero) +--order by IdentityReport +End \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_sp_getIDReport.sql b/sql/storedTestbes/C6MartPeriodico_sp_getIDReport.sql new file mode 100644 index 00000000..707a2801 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_sp_getIDReport.sql @@ -0,0 +1,11 @@ +--[C6MartPeriodico].sp_getIDReport '232126CO200_20150418' +CREATE procedure [C6MartPeriodico].[sp_getIDReport] +@nomeFile varchar(100) +AS +BEGIN + SELECT IDReport + FROM + C6MartPeriodico.GESTIONE_PDF_FTP + WHERE + nomefile=@nomeFile +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_srv_excel_zip.sql b/sql/storedTestbes/C6MartPeriodico_srv_excel_zip.sql new file mode 100644 index 00000000..726f2631 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_srv_excel_zip.sql @@ -0,0 +1,7 @@ +CREATE procedure [C6MartPeriodico].[srv_excel_zip] as +begin +select cast(rete as nvarchar) as rete , cast(codicefiscale as nvarchar) as codicefiscale, cast(tiporeport as nvarchar) as tiporeport, id_fk_zip +from c6martperiodico.gestione_pdf_ftp +where datagenerazione>c6martperiodico.gettrimestre2(getdate(),0) +order by id_fk_zip asc +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_start_ConvertiExcel_tabellone.sql b/sql/storedTestbes/C6MartPeriodico_start_ConvertiExcel_tabellone.sql new file mode 100644 index 00000000..a53d071f --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_start_ConvertiExcel_tabellone.sql @@ -0,0 +1,7 @@ +CREATE procedure [C6MartPeriodico].[start_ConvertiExcel_tabellone] as +begin +--if((DATEDIFF(second, select top 1 data_avvio from C6MartPeriodico.selettore where id_richiesta=1 order by data_avvio desc, getdate() )<5) +insert into C6MartPeriodico.selettore values +(10,getdate(),'Conversione Tabellone da xlsx su db') +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_start_email_Approval_tabellone.sql b/sql/storedTestbes/C6MartPeriodico_start_email_Approval_tabellone.sql new file mode 100644 index 00000000..eea8d8bc --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_start_email_Approval_tabellone.sql @@ -0,0 +1,6 @@ +create procedure [C6MartPeriodico].[start_email_Approval_tabellone] as +begin +insert into C6MartPeriodico.selettore values +(7,getdate(),'Invio Email Fase Approval') +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_start_email_Certificazione_tabellone.sql b/sql/storedTestbes/C6MartPeriodico_start_email_Certificazione_tabellone.sql new file mode 100644 index 00000000..44ecad63 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_start_email_Certificazione_tabellone.sql @@ -0,0 +1,6 @@ +create procedure [C6MartPeriodico].[start_email_Certificazione_tabellone] as +begin +insert into C6MartPeriodico.selettore values +(6,getdate(),'Invio Email Fase Certificazione') +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_start_email_ConfermaPostalizzazione_tabellone.sql b/sql/storedTestbes/C6MartPeriodico_start_email_ConfermaPostalizzazione_tabellone.sql new file mode 100644 index 00000000..a7eb3b70 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_start_email_ConfermaPostalizzazione_tabellone.sql @@ -0,0 +1,6 @@ +create procedure [C6MartPeriodico].[start_email_ConfermaPostalizzazione_tabellone] as +begin +insert into C6MartPeriodico.selettore values +(4,getdate(),'Invio Segnalazione Conferma Postalizzazione') +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_start_email_CongelamentoDB_tabellone.sql b/sql/storedTestbes/C6MartPeriodico_start_email_CongelamentoDB_tabellone.sql new file mode 100644 index 00000000..f3556643 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_start_email_CongelamentoDB_tabellone.sql @@ -0,0 +1,6 @@ +create procedure [C6MartPeriodico].[start_email_CongelamentoDB_tabellone] as +begin +insert into C6MartPeriodico.selettore values +(3,getdate(),'Invio Segnalazione Congelamento DB MK') +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_start_email_position_tabellone.sql b/sql/storedTestbes/C6MartPeriodico_start_email_position_tabellone.sql new file mode 100644 index 00000000..5dd23552 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_start_email_position_tabellone.sql @@ -0,0 +1,6 @@ +create procedure [C6MartPeriodico].[start_email_position_tabellone] as +begin +insert into C6MartPeriodico.selettore values +(2,getdate(),'Invio Segnalazione Position') +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_start_esportazione_tabellone.sql b/sql/storedTestbes/C6MartPeriodico_start_esportazione_tabellone.sql new file mode 100644 index 00000000..27f334cf --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_start_esportazione_tabellone.sql @@ -0,0 +1,17 @@ +CREATE procedure [C6MartPeriodico].[start_esportazione_tabellone] as +begin +----if((DATEDIFF(second, select top 1 data_avvio from C6MartPeriodico.selettore where id_richiesta=1 order by data_avvio desc, getdate() )<5) +insert into C6MartPeriodico.selettore values +(1,getdate(),'Invio Tabellone via E-Mail') +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; +-- FerAcu 20250219 dall'history dei job i tempi si sono allungati fino ad 01:03 +--waitfor delay '00:00:50' +waitfor delay '00:01:10' +insert into C6MartPeriodico.selettore values +(10,getdate(),'Conversione Tabellone da xlsx su db') +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; +waitfor delay '00:00:05' +--EXEC msdb.dbo.sp_stop_job +-- N'Esportazione_Tabellone' ; +waitfor delay '00:00:01' +end \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_temp_RP_DM_PATRIMONIO_BF.sql b/sql/storedTestbes/C6MartPeriodico_temp_RP_DM_PATRIMONIO_BF.sql new file mode 100644 index 00000000..574061d2 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_temp_RP_DM_PATRIMONIO_BF.sql @@ -0,0 +1,302 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6MartPeriodico].[temp_RP_DM_PATRIMONIO_BF] + -- Add the parameters for the stored procedure here + --select * from C6MartPeriodico.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_BF + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND +-- SPB.DTSOTTOS IS NOT NULL THEN null +-- ELSE SPB.DTSOTTOS + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE SPB.DTSOTTOS + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CASE + WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(CON.nomeProgetto)) + END AS NOME_PROGETTO, + CON.area AS ID_AREA, + CASE + WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL + ELSE SPB.DTRIFE --CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) + END AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + NULL AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + SPB.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_SOTTOSCRIZIONE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDINIZ + END AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPPROD = 'GE' + OR SPB.TIPPROD = 'GES') + AND SPB.DTSOTTOS < 20070101 + THEN NULL + WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB + INTO #PATRIMONIO + FROM C6StagingPeriodico.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPPROD <> 'CC' + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD = 'DT' /* OR SPB.TIPOPRODOTTO = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DTSOTTOS + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + null AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, + CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + SPB.DTRIFE AS DATA_OPERAZIONE, + null AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + null AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + SPB.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDINIZ AS REND_SOTTOSCRIZIONE, + null AS REND_TRIMESTRE, + SPB.RENDANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB + FROM C6StagingPeriodico.SPB_CONTR_SINTESI SPB + INNER JOIN C6StagingPeriodico.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODFIS + AND CON.Position_id = SPB.positionid + INNER JOIN C6StagingPeriodico.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6StagingPeriodico.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPPROD = 'CC' + /* + truncate table C6MartPeriodico.patrimonio_bf + select top 1 * from #patrimonio + */ +SELECT [RETE] + ,[COD_FISCALE] + ,[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ChiaveClientePb] + INTO #PATRIMONIO2 + FROM #PATRIMONIO + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODFIS AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODCONF AS ID_CONTRATTO, +-- CASE +-- WHEN SPB.TIPPROD IN ('DT', 'FI') AND SPB.dtsottos IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO +-- ELSE SPB.DATADISOTTOSCRIZIONE + CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL + ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) + END AS DATA_SOTTOSCRIZIONE, + NULL AS COD_STATO, + SPB.NUMPOL AS NUM_POLIZZA, + SPB.MAF AS COD_MAF, + SPB.CODINT AS COD_INTERNO, + SPB.SUBPROD AS COD_SOTTOPRODOTTO, + SPB.TIPPROD AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + SPB.DTRIFE AS DATA_OPERAZIONE, + NULL AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + NULL AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + NULL AS VERSATO_NETTO, + convert(decimal(15,3),SPB.PARTVIA) AS PARTVIA_DISINV, + SPB.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + convert(decimal(8,5),SPB.RENDINIZ) AS REND_SOTTOSCRIZIONE, + NULL AS REND_TRIMESTRE, + convert(decimal(8,5),SPB.RENDANNO) AS REND_ANNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + STRTYPE, + null as COMPLEX, + null as EMITTENTE, + SPB.ISIN, + VCON.CHIAVECLIENTEPB + FROM C6StagingPeriodico.SPB_CONTR_SINTESI SPB + LEFT JOIN #PATRIMONIO PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODFIS = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + --LEFT JOIN C6STAGING.RP_vNewPositionProposta NEWPOSITION + -- ON SPB.POSITIONID = NEWPOSITION.positionIDProposta + JOIN C6MartPeriodico.VCONTRATTI VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODFIS = VCON.COD_FISCALE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM #PATRIMONIO2 + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + INSERT INTO C6MartPeriodico.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE + INSERT INTO C6MartPeriodico.PATRIMONIO_BF + SELECT P.* FROM + #PATRIMONIO2 P LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF' + ) +-- +--DROP TABLE #TempPianif +-- +DROP table #patrimonio +DROP table #PATRIMONIO2 +drop table #PATRIMONIO_DUPLICATI +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_test_CaricamentoPL_fc.sql b/sql/storedTestbes/C6MartPeriodico_test_CaricamentoPL_fc.sql new file mode 100644 index 00000000..1d1baa37 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_test_CaricamentoPL_fc.sql @@ -0,0 +1,19 @@ +CREATE procedure [C6MartPeriodico].[test_CaricamentoPL_fc] + -- Add the parameters for the stored procedure here +AS +BEGIN +DECLARE @rete char (1) +Declare @CodiceFiscale varchar(16) +SELECT rete, + cod_fiscale +into #Clienti +FROM c6martperiodico.vcontrattipergenerazionereport +SELECT TOP 1 @rete=rete,@CodiceFiscale=cod_fiscale FROM #Clienti +while @@ROWCOUNT <> 0 +BEGIN +EXECUTE [C6MartPeriodico].[POPOLA_D2_S157ConfrontoPiramidi_SVIL] @Rete,@CodiceFiscale + DELETE From #Clienti where rete=@rete and cod_fiscale=@CodiceFiscale +SELECT TOP 1 @rete=rete,@CodiceFiscale=cod_fiscale FROM #Clienti +END +DROP TABLE #Clienti +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_zzzPL_S80Alternativa.sql b/sql/storedTestbes/C6MartPeriodico_zzzPL_S80Alternativa.sql new file mode 100644 index 00000000..117917b1 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_zzzPL_S80Alternativa.sql @@ -0,0 +1,239 @@ +-- Stored procedure +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6MartPeriodico].[PL_S80Alternativa]'F','PZZFCS50L28E092G' +--DROP PROCEDURE [C6MartPeriodico].[PL_S80BisEvoluzioneRischio] +CREATE procedure [C6MartPeriodico].[zzzPL_S80Alternativa] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Recupero data congelamento SEI + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + DECLARE @DettMovPrec money + DECLARE @DettMovCorr money + DECLARE @AppoDettMovPrec varchar(50) + DECLARE @AppoDettMovCorr varchar(50) + DECLARE @NumAsterischiPrec int + DECLARE @NumAsterischiCorr int + DECLARE @DATA_FOTO datetime + DECLARE @UltimoInvio int + SET @NumAsterischiPrec = 0 + SET @NumAsterischiCorr = 0 + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + -- Inserimento Dati Scirocco + --SELECT @DettMovPrec = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM < '20111231' + SELECT @DettMovPrec = DETT_MOV_PREC, @DettMovCorr = DETT_MOV_CORR + FROM C6MartPeriodico.DettaglioMovimenti + WHERE + RETE = @Rete + AND + COD_FIS = @CodiceFiscale + --SELECT @DettMovCorr = (sum(APPORTI) - sum(PRELIEVI)) + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[W6APTR] + --WHERE DTTRIM = '20111231' + IF @DettMovPrec is null + SET @AppoDettMovPrec = 'n.d.' + ELSE + SET @AppoDettMovPrec = REPLACE(CAST(@DettMovPrec as varchar(50)), '.', ',') + IF @DettMovCorr is null + SET @AppoDettMovCorr = 'n.d.' + ELSE + SET @AppoDettMovCorr = REPLACE(CAST(@DettMovCorr as varchar(50)), '.', ',') + --query per asterischi situazione precedente + IF EXISTS(SELECT * FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEICS] + WHERE CODPROD IN ('37', 'GP') AND DTTRIM = c6martperiodico.getprevioustrimestre(getdate(),0) + AND RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + IF EXISTS(SELECT * FROM C6StagingPeriodico.ST_MON + WHERE RETE = @Rete AND CODFIS = @CodiceFiscale) + SET @NumAsterischiPrec = 1 + ----------------------------------------- + --query per asterischi situazione corrente + IF EXISTS(SELECT * FROM C6MartPeriodico.PATRIMONIO_BF + WHERE COD_INTERNO IN ('37', 'GP') + AND RETE = @Rete AND COD_FISCALE = @CodiceFiscale) + SET @NumAsterischiCorr = 1 + ----------------------------------------- + SELECT @DATA_FOTO = DATA_FOTO FROM C6MartPeriodico.MONITORAGGIO_INIZIALE a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + SELECT @UltimoInvio = Count(*) FROM C6MartPeriodico.MONITORAGGIO_REPORT a + WHERE a.Rete = @Rete + AND a.COD_FISCALE = @CodiceFiscale + IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) + BEGIN + -- Attivazione monitoraggio +--versione nuova da testare + SELECT + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + INI.CTV_EXT, + INI.CTV_INV, + INI.CTV_PRE, + INI.CTV_RIS, + INI.CTV_LIQ, + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ AS RisorseAllocate, + INI.CTV_NA AS RisorseNonAllocate, + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA AS RisorseFinanziarie, + INI.CTV_CC AS Contocorrente, + --Contocorrente = CASE WHEN CAST(INI.CTV_CC AS NUMERIC(20,4)) < 0 THEN INI.CTV_CC ELSE 0 END, + INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + INI.CTV_CC + ISNULL(INI.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + --INI.CTV_EXT + INI.CTV_INV + INI.CTV_PRE + INI.CTV_RIS + INI.CTV_LIQ + INI.CTV_NA + (CASE WHEN CAST(INI.CTV_CC AS NUMERIC(20,4)) < 0 THEN INI.CTV_CC ELSE 0 END) AS TotalePatrimonio + --INI.CTV_TOTALE AS ControvaloreComplessivo + ,null as DettMov + ,0 as NumeroAsterischiNota + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.RETE = @Rete AND + INI.COD_FISCALE = @CodiceFiscale + --AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,'2999-12-31') + UNION ALL + -- Precedente invio report + SELECT + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + rep.CTV_EXT, + rep.CTV_INV, + rep.CTV_PRE, + rep.CTV_RIS, + rep.CTV_LIQ, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ AS RisorseAllocate, + rep.CTV_NA AS RisorseNonAllocate, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA AS RisorseFinanziarie, + rep.CTV_CC AS Contocorrente, + --Contocorrente = CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END, + rep.CTV_EXT + rep.CTV_INV + rep.CTV_PRE + rep.CTV_RIS + rep.CTV_LIQ + rep.CTV_NA + rep.CTV_CC + ISNULL(rep.PARTITA_VIAGGIANTE,0) AS TotalePatrimonio + --CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + (CASE WHEN CAST(CTV_CC AS NUMERIC(20,4)) < 0 THEN CTV_CC ELSE 0 END) AS TotalePatrimonio + --CTV_TOTALE AS ControvaloreComplessivo + ,(CASE WHEN @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovPrec END) as DettMov + ,(CASE WHEN @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiPrec END) as NumeroAsterischiNota + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + rep.RETE = @Rete AND + rep.COD_FISCALE = @CodiceFiscale + AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + --All values will be read from DB and passed to code, no value will be calculated on code + SELECT + 3 AS Fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + --Get the sum Operazioni in corso + --sum((isnull(IMPORTO,0))) as Partita_viaggiante, + 0 as Partita_viaggiante, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end ) as CTV_EXT, + sum(case Upper(id_area) when 'INV' then ctv else 0 end ) as CTV_INV, + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) as CTV_PRE, + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end ) as CTV_PRE, + sum(case Upper(id_area) when 'RIS' then ctv else 0 end ) as CTV_RIS, + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) as CTV_LIQ, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end ) AS CTV_RA, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as CTV_NA, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end ) + + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) AS CTV_RF, + --CTV_CC = (Case WHEN sum(case Upper(id_area) when 'CC' then ctv else 0 end ) < 0 THEN sum(case Upper(id_area) when 'CC' then ctv else 0 end) ELSE 0 END), + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS CTV_CC, + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS CTV_CC, + sum(case Upper(id_area) when 'EXT' then ctv else 0 end )+ + sum(case Upper(id_area) when 'INV' then ctv else 0 end )+ + --sum(case Upper(id_area) when 'PRE' then ctv else 0 end )+ + sum(case when Upper(id_area) like 'PRE%' then ctv else 0 end )+ + sum(case Upper(id_area) when 'RIS' then ctv else 0 end )+ + sum(case Upper(id_area) when 'LIQ' then ctv else 0 end )+ + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) + + sum(Case Upper(id_area) when 'CC' then ctv else 0 end) AS TotalePatrimonio + --sum((isnull(IMPORTO,0))) AS TotalePatrimonio + --sum(Case When (Upper(id_area) = 'CC' and cast(ctv As Numeric)<0) Then ctv else 0 end) AS TotalePatrimonio + --SUM(CTV) as ControvaloreComplessivo + ,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 'n.d.' ELSE @AppoDettMovCorr END) as DettMov + ,(CASE WHEN @UltimoInvio = 0 AND @DATA_FOTO < '20111001' THEN 0 ELSE @NumAsterischiCorr END) as NumeroAsterischiNota + --,'1' as NumeroAsterischiNota + FROM + C6MartPeriodico.PATRIMONIO_BF +-- AS BF Left Join C6MartPeriodico.partite_viaggianti AS PV +-- ON BF.RETE = PV.RETE +-- AND BF.COD_FISCALE = PV.COD_FISCALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +END +ELSE +BEGIN + SELECT + 1 AS Fase, + DATA_FOTO AS DataFase, + ISNULL(PARTITA_VIAGGIANTE,0) AS Partita_viaggiante, + CTV_EXT, + CTV_INV, + CTV_PRE, + CTV_RIS, + CTV_LIQ, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ AS RisorseAllocate, + CTV_NA AS RisorseNonAllocate, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA AS RisorseFinanziarie, + CTV_CC AS Contocorrente, + CTV_EXT + CTV_INV + CTV_PRE + CTV_RIS + CTV_LIQ + CTV_NA + CTV_CC AS TotalePatrimonio + --CTV_TOTALE AS ControvaloreComplessivo + FROM + MONITORAGGIO_INIZIALE + WHERE + 1=2 +END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6MartPeriodico_zzzRP_DM_EMAIL_PB.sql b/sql/storedTestbes/C6MartPeriodico_zzzRP_DM_EMAIL_PB.sql new file mode 100644 index 00000000..c660f144 --- /dev/null +++ b/sql/storedTestbes/C6MartPeriodico_zzzRP_DM_EMAIL_PB.sql @@ -0,0 +1,87 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 26 gennaio 2009 +-- Description: Recupera PB, RM, DM, AM le cui email non sono ancora valorizzate. +-- ============================================= +CREATE procedure [C6MartPeriodico].[zzzRP_DM_EMAIL_PB] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_EMAIL_PB', + GETDATE(), + 'Elaborazione trimestrale' + ) + SELECT DISTINCT + CODICI_PB.RETE AS RETE, + CODICI_PB.CODICE AS CODICE, + (CASE CODICI_PB.RETE WHEN 'F' THEN 'R' ELSE 'P' END) AS PREFISSO, + (CASE CODICI_PB.RETE WHEN 'F' THEN 'R' ELSE 'P' END) + CODICI_PB.CODICE AS FIRMA +--, +-- CODICI_PB.LIVELLO AS LIVELLO, +-- CODICI_PB.LIV_ORD AS LIV_ORD + FROM + ( + SELECT STRUTTURA.RETE, STRUTTURA.PB CODICE--, 'PB' as LIVELLO, 1 AS LIV_ORD + FROM C6MartPeriodico.VCONTRATTI PB + INNER JOIN C6MartPeriodico.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + UNION + SELECT STRUTTURA.RETE, STRUTTURA.RM CODICE--, 'RM' as LIVELLO, 2 AS LIV_ORD + FROM C6MartPeriodico.VCONTRATTI PB + INNER JOIN C6MartPeriodico.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + UNION + SELECT STRUTTURA.RETE, STRUTTURA.DM CODICE--, 'DM' as LIVELLO, 3 AS LIV_ORD + FROM C6MartPeriodico.VCONTRATTI PB + INNER JOIN C6MartPeriodico.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + UNION + SELECT STRUTTURA.RETE, STRUTTURA.AM CODICE--, 'AM' as LIVELLO, 4 AS LIV_ORD + FROM C6MartPeriodico.VCONTRATTI PB + INNER JOIN C6MartPeriodico.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + ) CODICI_PB + LEFT JOIN C6MartPeriodico.EMAIL_PB EMAIL_PB_ESISTENTI + ON EMAIL_PB_ESISTENTI.RETE = CODICI_PB.RETE + AND EMAIL_PB_ESISTENTI.CODICE = CODICI_PB.CODICE + LEFT JOIN C6MartPeriodico.CODICI_PROMOTORI_FITTIZI PF + ON (CODICI_PB.CODICE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND CODICI_PB.RETE = PF.RETE + WHERE + --CODICI_PB.CODICE = '014777' and + EMAIL_PB_ESISTENTI.EMAIL IS NULL + AND PF.RETE IS NULL +--togliere + --and CODICI_PB.CODICE not in ('010712','015115','015117','015091','015182','006167','015125','015126','015185','006154','006200') +and CODICI_PB.CODICE not in ('015185') +---eliminato il filtro '010712' +---eliminato il filtro su '015089'--,'015163', 12/08 + --ORDER BY CODICI_PB.LIV_ORD + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_EMAIL_PB' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_EMAIL_PB' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_AL_AggiornaPortafoglioCliente.sql b/sql/storedTestbes/C6Mart_AL_AggiornaPortafoglioCliente.sql new file mode 100644 index 00000000..f6073b13 --- /dev/null +++ b/sql/storedTestbes/C6Mart_AL_AggiornaPortafoglioCliente.sql @@ -0,0 +1,197 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[AL_AggiornaPortafoglioCliente] +AS +BEGIN +-- SET NOCOUNT ON added to prevent extra result sets from +-- interfering with SELECT statements. +-- SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'AL_AggiornaPortafoglioCliente', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6Mart.PIRAMIDE_VERT + --RICALCOLO AGGREGATI + INSERT INTO C6Mart.PIRAMIDE_VERT + ( + RETE, + COD_FISCALE, + ID_AREA, + CTV_AREA + ) + SELECT + PATR.RETE, + PATR.COD_FISCALE, + PATR.ID_AREA, + SUM(CTV) + FROM C6Mart.PATRIMONIO_BF PATR + GROUP BY + PATR.RETE, + PATR.COD_FISCALE, + PATR.ID_AREA + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'AL_AggiornaPortafoglioCliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'AL_AggiornaPortafoglioCliente' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'AL_AggiornaPortafoglioCliente', + GETDATE(), + 'Elaborazione giornaliera' + ) + --AGGIORNAMENTO TABELLA CONTRATTOSEI + --FLAG RISORSE NON ASSOCIATE + --SOLO PER I CLIENTI A CUI ANDREBBE INVIATO IL REPORT + UPDATE C6Mart.ContrattoSEI + SET + RisorseNA = + CASE + WHEN CLIENTIRISNA.percRisorseNA >= CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2)) THEN 'S' + ELSE 'N' + END + --AGGIUNTA perchè mancava, FABRIZIO E VALERIO per Azzeramento numero solleciti email + ,NumSolleciti = + CASE + WHEN (C6.ClienteMigrato = 'S') and (CLIENTIRISNA.percRisorseNA < CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2))) THEN 0 + ELSE NumSolleciti + END + FROM C6Mart.ContrattoSEI C6 + LEFT JOIN ( + SELECT + NA.RETE, + NA.COD_FISCALE, + CASE + WHEN TOT.CTVTOTALE = 0 THEN 0 + ELSE 100 * NA.CTVNA / TOT.CTVTOTALE + END AS percRisorseNA + FROM ( + SELECT + ISNULL(SUM(PATRBF.CTV),0) AS CTVNA, + PATRBF.RETE, + PATRBF.COD_FISCALE + FROM C6Mart.PATRIMONIO_BF PATRBF + INNER JOIN C6Mart.vTuttiIContratti VCONTRATTIPERSEI + ON PATRBF.RETE = VCONTRATTIPERSEI.RETE + AND PATRBF.COD_FISCALE = VCONTRATTIPERSEI.COD_FISCALE + WHERE ID_AREA = 'Na' + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + ) NA + INNER JOIN ( + SELECT + SUM(PATRBF.CTV) AS CTVTOTALE, + PATRBF.RETE, + PATRBF.COD_FISCALE + FROM C6Mart.PATRIMONIO_BF PATRBF + INNER JOIN C6Mart.vTuttiIContratti VCONTRATTIPERSEI + ON PATRBF.RETE = VCONTRATTIPERSEI.RETE + AND PATRBF.COD_FISCALE = VCONTRATTIPERSEI.COD_FISCALE + WHERE ID_AREA <> 'Cc' + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + ) TOT + ON TOT.RETE = NA.RETE + AND TOT.COD_FISCALE = NA.COD_FISCALE + ) CLIENTIRISNA + ON C6.RETE = CLIENTIRISNA.RETE + AND C6.COD_FISCALE = CLIENTIRISNA.COD_FISCALE + --V Aggiorna il flag Profilo Attivo per i clienti che non hanno ricevuto il report + UPDATE C6MART.CONTRATTOSEI + SET profiloAttivo = CASE WHEN (ISNULL(MIFID.SCADUTO,1) = 1) THEN 0 ELSE 1 end + FROM C6MART.CONTRATTOSEI + LEFT JOIN C6MART.MIFID + ON CONTRATTOSEI.RETE = MIFID.RETE + AND CONTRATTOSEI.COD_FISCALE = MIFID.COD_FISCALE + WHERE InvioBenvenuto = 'N' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'AL_AggiornaPortafoglioCliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'AL_AggiornaPortafoglioCliente' + ) + /*INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'AL_AggiornaPortafoglioCliente', + GETDATE(), + 'Elaborazione giornaliera' + )*/ + --FLAG PARTITE VIAGGIANTI DISINVESTIMENTO + --SOLO PER I CLIENTI A CUI ANDREBBE INVIATO IL REPORT + --disabilitato, pv vengono estratte dal CTV + /*UPDATE C6Mart.CONTRATTOSEI + SET + PartViaDisinv = + CASE + WHEN PARTVIA.PARTVIADISINV > 0 THEN 'S' + ELSE 'N' + END + FROM C6Mart.CONTRATTOSEI C6 + LEFT JOIN ( + SELECT + ISNULL(SUM(PATRBF.PARTVIA_DISINV),0) AS PARTVIADISINV, + PATRBF.RETE, + PATRBF.COD_FISCALE + FROM C6Mart.PATRIMONIO_BF PATRBF + INNER JOIN C6Mart.vTuttiIContratti VCONTRATTIPERSEI + ON PATRBF.RETE = VCONTRATTIPERSEI.RETE + AND PATRBF.COD_FISCALE = VCONTRATTIPERSEI.COD_FISCALE + WHERE ID_AREA <> 'Cc' + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + ) PARTVIA + ON C6.RETE = PARTVIA.RETE + AND C6.COD_FISCALE = PARTVIA.COD_FISCALE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'AL_AggiornaPortafoglioCliente' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'AL_AggiornaPortafoglioCliente' + )*/ +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_CercaCaratteriAnomali.sql b/sql/storedTestbes/C6Mart_CercaCaratteriAnomali.sql new file mode 100644 index 00000000..83cad2de --- /dev/null +++ b/sql/storedTestbes/C6Mart_CercaCaratteriAnomali.sql @@ -0,0 +1,361 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[CercaCaratteriAnomali] +AS +BEGIN +declare @num int +set @num = 1 +CREATE TABLE #tab_temp( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL) +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(email,@num,1)), + substring(email,@num,1), + rete, + Cod_Fiscale, + 'EMAIL', + email +FROM C6Mart.vcontratti +WHERE + ascii(substring(email,@num,len(email))) not between 64 and 90 +and ascii(substring(email,@num,len(email))) not between 97 and 122 +and ascii(substring(email,@num,len(email))) not between 48 and 57 +and ascii(substring(email,@num,len(email))) <> 32 +and ascii(substring(email,@num,len(email))) <> 40 +and ascii(substring(email,@num,len(email))) <> 41 +and ascii(substring(email,@num,len(email))) <> 43 +and ascii(substring(email,@num,len(email))) <> 44 +and ascii(substring(email,@num,len(email))) <> 45 +and ascii(substring(email,@num,len(email))) <> 46 +and ascii(substring(email,@num,len(email))) <> 95 +and ascii(substring(email,@num,len(email))) <> 39 +and ascii(substring(email,@num,len(email))) <> 47 +and ascii(substring(email,@num,len(email))) <> 63 +set @num = @num + 1 +end +--inizio intervento: 05/02/2015 FCianfa Controllo caratteriAnomali su campi Nome e Cognome della tb c6mart.ANAG_CLIENTI +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Nome+Cognome,@num,1)), + substring(Nome+Cognome,@num,1), + rete, + Cod_Fiscale, + 'Nome+Cognome', + Nome+Cognome +FROM C6Mart.ANAG_CLIENTI +WHERE + ascii(substring(Nome+Cognome,@num,len(Nome))) not between 64 and 90 +and ascii(substring(Nome+Cognome,@num,len(Nome))) not between 97 and 122 +and ascii(substring(Nome+Cognome,@num,len(Nome))) not between 48 and 57 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 32 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 40 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 41 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 43 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 44 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 45 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 46 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 95 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 39 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 38 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 47 +and ascii(substring(Nome+Cognome,@num,len(Nome))) <> 63 +set @num = @num + 1 +end +--fine intervento: 05/02/2015 FCianfa Controllo caratteriAnomali su campi Nome e Cognome della tb c6mart.ANAG_CLIENTI +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Indirizzo,@num,1)), + substring(Indirizzo,@num,1), + rete, + Cod_Fiscale, + 'INDIRIZZO', + Indirizzo +FROM C6Mart.vcontratti +WHERE + ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 64 and 90 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 97 and 122 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 48 and 57 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 32 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 40 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 41 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 43 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 44 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 45 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 46 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 95 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 39 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 47 +and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(CAP,@num,1)), + substring(CAP,@num,1), + rete, + Cod_Fiscale, + 'CAP', + CAP +FROM C6Mart.vcontratti +WHERE + ascii(substring(CAP,@num,len(CAP))) not between 64 and 90 +and ascii(substring(CAP,@num,len(CAP))) not between 97 and 122 +and ascii(substring(CAP,@num,len(CAP))) not between 48 and 57 +and ascii(substring(CAP,@num,len(CAP))) <> 32 +and ascii(substring(CAP,@num,len(CAP))) <> 40 +and ascii(substring(CAP,@num,len(CAP))) <> 41 +and ascii(substring(CAP,@num,len(CAP))) <> 43 +and ascii(substring(CAP,@num,len(CAP))) <> 44 +and ascii(substring(CAP,@num,len(CAP))) <> 45 +and ascii(substring(CAP,@num,len(CAP))) <> 46 +and ascii(substring(CAP,@num,len(CAP))) <> 95 +and ascii(substring(CAP,@num,len(CAP))) <> 39 +and ascii(substring(CAP,@num,len(CAP))) <> 47 +and ascii(substring(CAP,@num,len(CAP))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Citta,@num,1)), + substring(Citta,@num,1), + rete, + Cod_Fiscale, + 'Citta', + Citta +FROM C6Mart.vcontratti +WHERE + ascii(substring(Citta,@num,len(Citta))) not between 64 and 90 +and ascii(substring(Citta,@num,len(Citta))) not between 97 and 122 +and ascii(substring(Citta,@num,len(Citta))) not between 48 and 57 +and ascii(substring(Citta,@num,len(Citta))) <> 32 +and ascii(substring(Citta,@num,len(Citta))) <> 40 +and ascii(substring(Citta,@num,len(Citta))) <> 41 +and ascii(substring(Citta,@num,len(Citta))) <> 43 +and ascii(substring(Citta,@num,len(Citta))) <> 44 +and ascii(substring(Citta,@num,len(Citta))) <> 45 +and ascii(substring(Citta,@num,len(Citta))) <> 46 +and ascii(substring(Citta,@num,len(Citta))) <> 95 +and ascii(substring(Citta,@num,len(Citta))) <> 39 +and ascii(substring(Citta,@num,len(Citta))) <> 47 +and ascii(substring(Citta,@num,len(Citta))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Provincia,@num,1)), + substring(Citta,@num,1), + rete, + Cod_Fiscale, + 'Provincia', + Provincia +FROM C6Mart.vcontratti +WHERE + ascii(substring(Provincia,@num,len(Provincia))) not between 64 and 90 +and ascii(substring(Provincia,@num,len(Provincia))) not between 97 and 122 +and ascii(substring(Provincia,@num,len(Provincia))) not between 48 and 57 +and ascii(substring(Provincia,@num,len(Provincia))) <> 32 +and ascii(substring(Provincia,@num,len(Provincia))) <> 40 +and ascii(substring(Provincia,@num,len(Provincia))) <> 41 +and ascii(substring(Provincia,@num,len(Provincia))) <> 43 +and ascii(substring(Provincia,@num,len(Provincia))) <> 44 +and ascii(substring(Provincia,@num,len(Provincia))) <> 45 +and ascii(substring(Provincia,@num,len(Provincia))) <> 46 +and ascii(substring(Provincia,@num,len(Provincia))) <> 95 +and ascii(substring(Provincia,@num,len(Provincia))) <> 39 +and ascii(substring(Provincia,@num,len(Provincia))) <> 47 +and ascii(substring(Provincia,@num,len(Provincia))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Nazione,@num,1)), + substring(Nazione,@num,1), + rete, + Cod_Fiscale, + 'Nazione', + Nazione +FROM C6Mart.vcontratti +WHERE + ascii(substring(Nazione,@num,len(Nazione))) not between 64 and 90 +and ascii(substring(Nazione,@num,len(Nazione))) not between 97 and 122 +and ascii(substring(Nazione,@num,len(Nazione))) not between 48 and 57 +and ascii(substring(Nazione,@num,len(Nazione))) <> 32 +and ascii(substring(Nazione,@num,len(Nazione))) <> 40 +and ascii(substring(Nazione,@num,len(Nazione))) <> 41 +and ascii(substring(Nazione,@num,len(Nazione))) <> 43 +and ascii(substring(Nazione,@num,len(Nazione))) <> 44 +and ascii(substring(Nazione,@num,len(Nazione))) <> 45 +and ascii(substring(Nazione,@num,len(Nazione))) <> 46 +and ascii(substring(Nazione,@num,len(Nazione))) <> 95 +and ascii(substring(Nazione,@num,len(Nazione))) <> 39 +and ascii(substring(Nazione,@num,len(Nazione))) <> 47 +and ascii(substring(Nazione,@num,len(Nazione))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Presso,@num,1)), + substring(Presso,@num,1), + rete, + Cod_Fiscale, + 'Presso', + Presso +FROM C6Mart.vcontratti +WHERE + ascii(substring(Presso,@num,len(Presso))) not between 64 and 90 +and ascii(substring(Presso,@num,len(Presso))) not between 97 and 122 +and ascii(substring(Presso,@num,len(Presso))) not between 48 and 57 +and ascii(substring(Presso,@num,len(Presso))) <> 32 +and ascii(substring(Presso,@num,len(Presso))) <> 40 +and ascii(substring(Presso,@num,len(Presso))) <> 41 +and ascii(substring(Presso,@num,len(Presso))) <> 43 +and ascii(substring(Presso,@num,len(Presso))) <> 44 +and ascii(substring(Presso,@num,len(Presso))) <> 45 +and ascii(substring(Presso,@num,len(Presso))) <> 46 +and ascii(substring(Presso,@num,len(Presso))) <> 95 +and ascii(substring(Presso,@num,len(Presso))) <> 39 +and ascii(substring(Presso,@num,len(Presso))) <> 47 +and ascii(substring(Presso,@num,len(Presso))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(flagRol,@num,1)), + substring(flagRol,@num,1), + rete, + Cod_Fiscale, + 'flagRol', + flagRol +FROM C6Mart.vcontratti +WHERE + ascii(substring(flagRol,@num,len(flagRol))) not between 64 and 90 +and ascii(substring(flagRol,@num,len(flagRol))) not between 97 and 122 +and ascii(substring(flagRol,@num,len(flagRol))) not between 48 and 57 +and ascii(substring(flagRol,@num,len(flagRol))) <> 32 +and ascii(substring(flagRol,@num,len(flagRol))) <> 40 +and ascii(substring(flagRol,@num,len(flagRol))) <> 41 +and ascii(substring(flagRol,@num,len(flagRol))) <> 43 +and ascii(substring(flagRol,@num,len(flagRol))) <> 44 +and ascii(substring(flagRol,@num,len(flagRol))) <> 45 +and ascii(substring(flagRol,@num,len(flagRol))) <> 46 +and ascii(substring(flagRol,@num,len(flagRol))) <> 95 +and ascii(substring(flagRol,@num,len(flagRol))) <> 39 +and ascii(substring(flagRol,@num,len(flagRol))) <> 47 +and ascii(substring(flagRol,@num,len(flagRol))) <> 63 +set @num = @num + 1 +end +select distinct a.* from #tab_temp a +inner join c6mart.gestione_pdf_ftp b on a.rete=b.rete and a.cod_fiscale=b.codicefiscale +order by a.cod_fiscale +--fine aggiunta +--where flaginvio = 'N' +--where (DATEDIFF(DAY,b.DataInvio,GETDATE()) = 1) +------------------------------------------------------- +--SELECT * FROM C6MartPeriodico.ContrattoSEI +--WHERE +-- Email like '%¿%' +--OR +-- Indirizzo like '%¿%' +--OR +-- CAP like '%¿%' +--OR +-- Citta like '%¿%' +--OR +-- Prov like '%¿%' +--OR +-- Nazione like '%¿%' +--OR +-- Presso like '%¿%' +--OR +-- Rol like '%¿%' +--OR +-- Email like '%Ç%' +--OR +-- Indirizzo like '%Ç%' +--OR +-- CAP like '%Ç%' +--OR +-- Citta like '%Ç%' +--OR +-- Prov like '%Ç%' +--OR +-- Nazione like '%Ç%' +--OR +-- Presso like '%Ç%' +--OR +-- Rol like '%Ç%' +--OR +-- Email like '%À%' +--OR +-- Indirizzo like '%À%' +--OR +-- CAP like '%À%' +--OR +-- Citta like '%À%' +--OR +-- Prov like '%À%' +--OR +-- Nazione like '%À%' +--OR +-- Presso like '%À%' +--OR +-- Rol like '%À%' +--OR +-- Email like '%É%' +--OR +-- Indirizzo like '%É%' +--OR +-- CAP like '%É%' +--OR +-- Citta like '%É%' +--OR +-- Prov like '%É%' +--OR +-- Nazione like '%É%' +--OR +-- Presso like '%É%' +--OR +-- Rol like '%É%' +--OR +-- Email like '%µ%' +--OR +-- Indirizzo like '%µ%' +--OR +-- CAP like '%µ%' +--OR +-- Citta like '%µ%' +--OR +-- Prov like '%µ%' +--OR +-- Nazione like '%µ%' +--OR +-- Presso like '%µ%' +--OR +-- Rol like '%µ%' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_AGGIORNA_CLIENTE.sql b/sql/storedTestbes/C6Mart_DM_AGGIORNA_CLIENTE.sql new file mode 100644 index 00000000..2c476dc3 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_AGGIORNA_CLIENTE.sql @@ -0,0 +1,43 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_AGGIORNA_CLIENTE] + @Rete char(1), + @CodiceFiscale varchar(16), + @Nome varchar(50), + @Cognome varchar(50), + @DataNascita datetime=NULL, + @Cittadinanza varchar(150), + @Indirizzo varchar(150), + @Localita varchar(100), + @Provincia varchar(2), + @CAP varchar(5), + @Nazione varchar(50), + @DataInizio datetime=NULL, + @Sesso varchar(1) +AS +BEGIN +declare @eta smallint +set @eta = CASE + when @DataNascita IS NULL then null + ELSE DATEDIFF(YY, @DataNascita, GETDATE()) + END + UPDATE C6MART.ANAG_CLIENTI + SET + NOME = @Nome, + COGNOME = @Cognome, + DATA_NASCITA = @DataNascita, + ETA =@eta, + CITTADINANZA = @Cittadinanza, + INDIRIZZO = @Indirizzo, + LOCALITA = @Localita, + PROVINCIA = @Provincia, + CAP = @CAP, + NAZIONE = @Nazione, + DATA_INIZIO = @DataInizio, + SESSO = @Sesso + WHERE + RETE = @Rete AND COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_ALBERO_PRODOTTI.sql b/sql/storedTestbes/C6Mart_DM_ALBERO_PRODOTTI.sql new file mode 100644 index 00000000..1959d704 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_ALBERO_PRODOTTI.sql @@ -0,0 +1,50 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ALBERO_PRODOTTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MART.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ALBERO_PRODOTTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ALBERO_PRODOTTI + INSERT INTO [C6Mart].[ALBERO_PRODOTTI] + ([DESCRIZIONE_ORIGINALE] + ,[ALBERO_GERARCHIA_1] + ,[ALBERO_GERARCHIA_2] + ,[ALBERO_GERARCHIA_3] + ,[ID_ELAB]) + SELECT [DESCRIZIONE_ORIGINALE] + ,[ALBERO_GERARCHIA_1] + ,[ALBERO_GERARCHIA_2] + ,[ALBERO_GERARCHIA_3] + , @ID_ELAB AS ID_ELAB + FROM [C6Staging].[S4_S5_S13_TRAD_UNTIL_LIV3] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ALBERO_PRODOTTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ALBERO_PRODOTTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_ALL_PATRIMONIO.sql b/sql/storedTestbes/C6Mart_DM_ALL_PATRIMONIO.sql new file mode 100644 index 00000000..a606d284 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_ALL_PATRIMONIO.sql @@ -0,0 +1,326 @@ +-- ============================================= +-- AUTHOR: ALESSANDRO TRINGALI +-- CREATE DATE: 18 SETTEMBRE 2009 +-- DESCRIPTION: +-- ============================================= +CREATE procedure [C6Mart].[DM_ALL_PATRIMONIO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = [C6Mart].GETIDELAB() + -- LOG ESECUZIONE + INSERT INTO LOG_ESECUZIONE + (NOME, INIZIO, NOTA) + VALUES ( + 'DM_ALL_PATRIMONIO', + GETDATE(), + 'ELABORAZIONE TRIMESTRALE' + ) + TRUNCATE TABLE [C6Mart].[ALL_PATRIMONIO] + INSERT INTO [C6Mart].[ALL_PATRIMONIO] + ( + [CODICE_FISCALE] + ,[RETE] + ,[POSITIONID] + ,[CATALOGUENAME] + ,[CATALOGUEID] + ,[COD_ADEGUATEZZA] + ,[INTERMEDIARIO] + ,[PATRIMONIO_INTERMEDIARIO] + ,[EMITTENTE] + ,[PATRIMONIO_EMITTENTE] + ,[COMPLESSITA] + ,[TIPO_PRODOTTO] + ,[CONTROVALORE_PRODOTTO] + ,[AZ_OB] + ,[PATRIMONIO_AZ_OB_EMIT] + ,[PATRIM_AZ_OB_EMIT_INTER] + ,[PATRIMONIO_COMPLESSIVO] + ,[CHIAVE_THR] + ) +SELECT + CODICE_FISCALE, + RETE, + POSITIONID, + DATI.CATALOGUENAME, + CAT.CATALOGUEID, + CASE + WHEN ADEGUATEZZA IS NULL + THEN CAT.COD_ADEGUATEZZA + ELSE ADEGUATEZZA + END AS COD_ADEGUATEZZA, + INTERMEDIARIO, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,INTERMEDIARIO) AS PATRIMONIO_INTERMEDIARIO, + EMIT.DESCR AS EMITTENTE, + CASE + WHEN EMIT.DESCR IS NULL THEN NULL + ELSE SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,EMIT.DESCR) + END AS PATRIMONIO_EMITTENTE, + CAT.COMPLEX AS COMPLESSITA, + CAT.TIPOPRODOTTO, + CONTROVALORE AS CONTROVALORE_PRODOTTO, + CASE WHEN CAT.STRTYPE IS NULL + THEN AZ_OB + ELSE CAT.STRTYPE + END AS AZ_OB, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,CASE WHEN CAT.STRTYPE IS NULL THEN AZ_OB ELSE CAT.STRTYPE END,EMIT.DESCR) AS PATRIMONIO_AZ_OB_EMIT, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE,INTERMEDIARIO,CASE WHEN CAT.STRTYPE IS NULL THEN AZ_OB ELSE CAT.STRTYPE END,EMIT.DESCR, POSITIONID) AS PATRIM_AZ_OB_EMIT_INTER, + SUM(CONTROVALORE) OVER (PARTITION BY CODICE_FISCALE,RETE) AS PATRIMONIO_COMPLESSIVO, + CHIAVE_THR + FROM ( + SELECT NULL AS AGENTE, + C.RETE, + C.CODICE_FISCALE, + C.CATALOGUENAME, + C.CONTROVALORE, + 'BF' AS INTERMEDIARIO, + SUBSTRING(C.STRINGONA_POS, 1, 57) AS CATALOGUEID, + C.STRINGONA_POS AS POSITIONID, + NULL AS ADEGUATEZZA, + 'BF' AS PROVENIENZA, + NULL AZ_OB, + '' AS CHIAVE_THR + FROM C6STAGING.ALL_CONSUL_ASUL C + union all + SELECT agente, + substring(agente,1,1) as rete, + codicefiscale as codice_FISCALE, + nome_prodotto as cataloguename, + SUM(controvalore) AS controvalore, + intermediario, + case when codiceisin = '' then '############' else codiceisin + replicate(' ', 12-len(codiceisin)) end + + + case when codicemaf = '' then '###############' else codicemaf + replicate(' ', 15-len(codicemaf)) end + + + case when codiceinterno = '' then '###############' else codiceinterno + replicate(' ', 15-len(codiceinterno)) end + + + case when codicesottoprodotto = '' then '###############' else codicesottoprodotto + replicate(' ', 15-len(codicesottoprodotto)) end + as catalogueid, + null as positionid, + codiceadeguatezza as ADEGUATEZZA , + 'PPT' as provenienza, + --alberatura, + case + when substring( alberatura,1,13)='Amm.Titoli.Ob' + OR substring( alberatura,1,15)='Amm.Strutturati' + then 'OB' + when substring( alberatura,1,17)='Amm.Titoli.Azioni' + OR substring( alberatura,1,18)='Amm.Titoli.Diritti' + OR substring( alberatura,1,20)='Amm.Derivati.Warrant' + OR substring( alberatura,1,19)='Amm.Derivati.CovWar' + then 'AZ' + else null + end as az_ob, + CHIAVE_THR + FROM (SELECT cf_e_pb.agente AS agente, + cf_e_pb.codice_fiscale AS codicefiscale, + nome_istituto AS intermediario, + SUM(paTRIMonio) AS controvalore, + REPLACE(codice_isin, '$', '') AS codiceisin, + REPLACE(codice_adeguatezza, '$', '') AS codiceadeguatezza, + REPLACE(codice_maf, '$', '') AS codicemaf, + REPLACE(codice_interno, '$', '') AS codiceinterno, + REPLACE(codice_sottoprodotto, + '$', + '' ) AS codicesottoprodotto, + CASE + WHEN traduz_alberat.albero_gerarchia_3 = + 'Conti correnti' AND + tipo_prodotto = + 'Assets.FinancialAssets.CurrentAccount' THEN + 'Cc' + ELSE + 'xxx' + END AS need_si_o_no_cc, + provenienza, + CASE + WHEN provenienza = 'dati NON in catalogo' THEN + 1 + ELSE + 0 + END AS prodotti_non_in_catalogo, + tipo_prodotto, + nome_prodotto, + alberatura, + CHIAVE_THR + FROM ( + -- asset per dati NON in catalogo + SELECT aa.paTRIMonio, + aa.chiave_cliente, + aa.nome_istituto, + bb.codice_isin, + bb.codice_adeguatezza, + bb.codice_maf, + NULL AS codice_interno, + NULL AS codice_sottoprodotto, + aa.alberatura, + aa.provenienza, + tipo_prodotto, + nomeprodotto AS nome_prodotto, + CHIAVE_THR + FROM (SELECT patr_tp.paTRIMonio_terzi * + acb.bdpercentage AS paTRIMonio, + patr_tp.chiave_per_cliente AS chiave_cliente, + patr_tp.intermediario AS nome_istituto, + ass.assetclassid, + substring(patr_tp.descrizione_alberatura, + 1, + 45) AS alberatura, + 'dati NON in catalogo' AS provenienza, + patr_tp.descrizione_prodotto AS tipo_prodotto, + patr_tp.nomeprodotto, + CHIAVE_THR + FROM C6STAGING.All_patr_terzi patr_tp, + C6STAGING.acbdenoth acb, + C6STAGING.assetclass ass + WHERE ass.assetclasslev = 2 + AND patr_tp.prodotto_in_catalogo IS NULL + AND patr_tp.chiave_fnc IS NOT NULL + AND acb.f_pfinancial_815c0 = patr_tp.chiave_fnc + AND acb.f_oid__passe_cdf1a = ass.oid_ + ) aa, + C6STAGING.all_asset_class_per_promet bb + WHERE bb.codice_asset_class_ingresso = aa.assetclassid + UNION ALL + -- asset per dati in catalogo che hanno cod_adeguatezza valorizzato + SELECT patr_tp.paTRIMonio_terzi AS paTRIMonio, + patr_tp.chiave_per_cliente AS chiave_cliente, + patr_tp.intermediario AS nome_istituto, + cat.cod_isin, + cat.cod_adeguatezza, + cat.cod_maf, + cat.cod_interno, + cat.cod_sottoprodotto, + substring(cat.type$_bcatal_fc317, 64, 45) AS alberatura, + 'dati in catalogo che hanno cod_adeguatezza valorizzato' AS provenienza, + patr_tp.descrizione_prodotto AS tipo_prodotto, + patr_tp.nomeprodotto, + CHIAVE_THR + FROM C6STAGING.all_patr_terzi patr_tp, + C6STAGING.catitemref cat + WHERE patr_tp.chiave_fnc IS NOT NULL + AND cat.cod_adeguatezza != '$' + AND patr_tp.prodotto_in_catalogo = cat.catalogueid + UNION ALL + SELECT a.paTRIMonio, + a.chiave_cliente, + a.nome_istituto, + b.codice_isin, + b.codice_adeguatezza, + b.codice_maf, + NULL AS codice_interno, + NULL AS codice_sottoprodotto, + a.alberatura, + a.provenienza, + tipo_prodotto, + nomeprodotto AS nome_prodotto, + CHIAVE_THR + FROM ( + -- ASSET ESISTENTI PER DATI DEL CATALOGO CON ADEGUATEZZA A NULL + SELECT PATR_TP.PATRIMONIO_TERZI * + ACB.BDPERCENTAGE AS PATRIMONIO, + PATR_TP.CHIAVE_PER_CLIENTE AS CHIAVE_CLIENTE, + PATR_TP.INTERMEDIARIO AS NOME_ISTITUTO, + LTRIM(ASS.ASSETCLASSID) AS ASSETCLASSID, + ASS.ASSETCLASSLEV, + SUBSTRING(CAT.TYPE$_BCATAL_FC317, 64, 45) AS ALBERATURA, + 'DATI IN CATALOGO CHE HANNO COD_ADEGUATEZZA A NULL E ASSET VALORIZZATO' AS PROVENIENZA, + PATR_TP.DESCRIZIONE_PRODOTTO AS TIPO_PRODOTTO, + PATR_TP.NOMEPRODOTTO, + patr_tp.CHIAVE_THR + FROM C6STAGING.ASSETCLASS ASS, + C6STAGING.ALL_PATR_TERZI PATR_TP, + C6STAGING.CATITEMREF CAT, + C6STAGING.INSTRBDS INS, + C6STAGING.ACBDENTRY ACB + WHERE CAT.COD_ADEGUATEZZA = '$' + AND ASS.ASSETCLASSLEV = 2 + AND PATR_TP.PRODOTTO_IN_CATALOGO = CAT.CATALOGUEID + AND PATR_TP.CHIAVE_FNC IS NOT NULL + AND CAT.OID$ = INS.F_OID__PCATA_5DDA6 + AND INS.OID_ = ACB.F_PINSTRUMEN_FBCDE + AND ACB.F_OID__PASSE_B8A1E = ASS.OID_ + UNION ALL + -- ASSET NON ESISTENTI PER DATI DEL CATALOGO CON ADEGUATEZZA A NULL (SETTATI AD ALTRO PER CONVENZIONE) + SELECT PATR_TP.PATRIMONIO_TERZI AS PATRIMONIO, + PATR_TP.CHIAVE_PER_CLIENTE AS CHIAVE_CLIENTE, + PATR_TP.INTERMEDIARIO AS NOME_ISTITUTO, + 'AL1' AS ASSETCLASSID, + 2, + SUBSTRING(CAT.TYPE$_BCATAL_FC317, 64, 45) AS ALBERATURA, + 'DATI IN CATALOGO CHE HANNO COD_ADEGUATEZZA A NULL E ASSET NON VALORIZZATO', + PATR_TP.DESCRIZIONE_PRODOTTO AS TIPO_PRODOTTO, + PATR_TP.NOMEPRODOTTO, + patr_tp.CHIAVE_THR + FROM C6STAGING.ALL_PATR_TERZI PATR_TP, + C6STAGING.CATITEMREF CAT, + C6STAGING.INSTRBDS INS + WHERE CAT.COD_ADEGUATEZZA = '$' + AND PATR_TP.CHIAVE_FNC IS NOT NULL + AND PATR_TP.PRODOTTO_IN_CATALOGO = CAT.CATALOGUEID + AND CAT.OID$ = INS.F_OID__PCATA_5DDA6 --(+) + AND INS.F_OID__PCATA_5DDA6 IS NULL + ) A, + C6STAGING.ALL_ASSET_CLASS_PER_PROMET B + WHERE B.CODICE_ASSET_CLASS_INGRESSO = A.ASSETCLASSID + ) patrimonio_PT, + C6STAGING.ALL_CF_PB CF_E_PB, + C6STAGING.S4_S5_S13_TRAD_UNTIL_LIV3 TRADUZ_ALBERAT + WHERE CF_E_PB.oid = patrimonio_PT.CHIAVE_CLIENTE + AND TRADUZ_ALBERAT.DESCRIZIONE_ORIGINALE = patrimonio_PT.ALBERATURA + GROUP BY CF_E_PB.AGENTE, + CF_E_PB.CODICE_FISCALE, + NOME_ISTITUTO, + REPLACE(codice_isin, '$', ''), + REPLACE(codice_adeguatezza, + '$', + '' + ), + REPLACE(codice_maf, '$', ''), + REPLACE(codice_interno, '$', ''), + REPLACE(codice_sottoprodotto, + '$', + '' + ), + PROVENIENZA, + TRADUZ_ALBERAT.ALBERO_GERARCHIA_3, + TIPO_PRODOTTO, + NOME_PRODOTTO, + ALBERATURA, + CHIAVE_THR) TUTTO_PPT + GROUP BY AGENTE, + CODICEFISCALE, + INTERMEDIARIO, + NOME_PRODOTTO, + CODICEISIN, + CODICEADEGUATEZZA, + CODICEMAF, + CODICEINTERNO, + CODICESOTTOPRODOTTO, + PRODOTTI_NON_IN_CATALOGO, + ALBERATURA, + CHIAVE_THR + ) DATI, + C6STAGING.CATITEMREF CAT, + C6STAGING.EMIT + WHERE CAT.CATALOGUEID = DATI.CATALOGUEID + AND CAT.CODEMI = EMIT.CODEMI + -- LOG ESECUZIONE + UPDATE + LOG_ESECUZIONE + SET + FINE = GETDATE(), + TIPO = 'INSERT', + RIGHE = @@ROWCOUNT + WHERE + NOME = 'DM_ALL_PATRIMONIO' AND + INIZIO = ( + SELECT + MAX(INIZIO) + FROM + LOG_ESECUZIONE + WHERE + NOME = 'DM_ALL_PATRIMONIO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_ANAG_CC.sql b/sql/storedTestbes/C6Mart_DM_ANAG_CC.sql new file mode 100644 index 00000000..18b178d5 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_ANAG_CC.sql @@ -0,0 +1,78 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_CC] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CC', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_CC + INSERT INTO [C6Mart].[ANAG_CC] + ([RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDOCONTABILE] + ,[SALDODISPONIBILE] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + 'BANCA FIDEURAM' AS INTERMEDIARIO, + NULL AS COINTEST, + SPB_CONTR_SINTESI.CONTO AS COD_CC, + CONTRATTOSEI.FASCIA_CPP AS FASCIA_CPP, + SPB_CONTR_SINTESI.CTV AS SALDOCONTABILE, + -- è diverso da quello restituito dalla contratto sintesi CC.SALDOCONTABILE AS SALDOCONTABILE, + CC.SALDODISPONIBILE AS SALDODISPONIBILE, + SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.SPB_CONTR_SINTESI + LEFT JOIN C6MART.CONTRATTOSEI ON CONTRATTOSEI.CODICECONTRATTO = SPB_CONTR_SINTESI.CODICECONTRATTO + --V Aggiunta del saldo contabile e disponibile + JOIN C6STAGING.SPB_CONTOCORRENTE CC + ON SPB_CONTR_SINTESI.CONTO = CC.CONTO + AND SPB_CONTR_SINTESI.RETE = CC.RETE + AND SPB_CONTR_SINTESI.CODICEFISCALE = CC.CODICEFISCALE + WHERE SPB_CONTR_SINTESI.TIPOPRODOTTO = 'Cc' AND CONTRATTOSEI.DATA_FINEAVANZATO is null + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CC' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_ANAG_CC_TERZI.sql b/sql/storedTestbes/C6Mart_DM_ANAG_CC_TERZI.sql new file mode 100644 index 00000000..be31c603 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_ANAG_CC_TERZI.sql @@ -0,0 +1,88 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_CC_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + --DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + --SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CC_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_CC_TERZI + INSERT INTO [C6Mart].[ANAG_CC_TERZI] + ([RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDO] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB]) + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + NULL AS COINTEST, + ALL_PATR_TERZI.NOMEPRODOTTO AS COD_CC, + CONTRATTOSEI.FASCIA_CPP AS FASCIA_CPP, + ALL_PATR_TERZI.PATRIMONIO_TERZI AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + FROM C6STAGING.ALL_PATR_TERZI + LEFT JOIN C6MART.CONTRATTOSEI + ON CONTRATTOSEI.COD_FISCALE =ALL_PATR_TERZI.CODICE_FISCALE + AND CONTRATTOSEI.RETE = ALL_PATR_TERZI.RETE_PB + WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_FNC + AND DESCRIZIONE_PRODOTTO LIKE '%CURRENTACCOUNT%' + AND DESCRIZIONE_ALBERATURA LIKE '%CONTICORRENTI%' + AND CONTRATTOSEI.DATA_FINEAVANZATO is null +-- SELECT +-- ALL_PATR_TERZI.RETE_PB AS RETE, +-- ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, +-- ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, +-- NULL AS COINTEST, +-- ALL_PATR_TERZI.NOMEPRODOTTO AS COD_CC, +-- CONTRATTOSEI.FASCIA_CPP AS FASCIA_CPP, +-- ALL_PATR_TERZI.PATRIMONIO_TERZI AS SALDO, +-- NULL AS DATA_APERTURA, +-- NULL AS DATA_CHIUSURA, +-- @ID_ELAB AS ID_ELAB +-- FROM C6STAGING.ALL_PATR_TERZI +-- INNER JOIN C6STAGING.S4_S5_S13_TRAD_UNTIL_LIV3 +-- ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA +-- LEFT JOIN C6MART.CONTRATTOSEI +-- ON CONTRATTOSEI.COD_FISCALE =ALL_PATR_TERZI.CODICE_FISCALE +-- AND CONTRATTOSEI.RETE = ALL_PATR_TERZI.RETE_PB +-- WHERE S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 = 'Conti correnti' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CC_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_ANAG_CLIENTI.sql b/sql/storedTestbes/C6Mart_DM_ANAG_CLIENTI.sql new file mode 100644 index 00000000..b925d937 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_ANAG_CLIENTI.sql @@ -0,0 +1,170 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_CLIENTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + DELETE C6MART.ANAG_CLIENTI + FROM C6MART.ANAG_CLIENTI + INNER JOIN C6STAGING.ALL_CF_PB + ON ANAG_CLIENTI.RETE = ALL_CF_PB.RETE_PB + AND ANAG_CLIENTI.COD_FISCALE = ALL_CF_PB.CODICEFISCALE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'DELETE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CLIENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CLIENTI' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + INSERT INTO [C6Mart].[ANAG_CLIENTI] + ([RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + distinct + CONTRATTOSEI.RETE AS RETE, + CONTRATTOSEI.COD_FISCALE AS COD_FISCALE, + ISNULL(SPB_CLIENTI.NOME,ALL_CF_PB.NOME) AS NOME, + ISNULL(SPB_CLIENTI.COGNOME,ALL_CF_PB.COGNOME) AS COGNOME, + ISNULL(ALL_CF_PB.DATA_NASCITA,SPB_CLIENTI.DATADINASCITA) AS DATA_NASCITA, + CASE + WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + AND ALL_CF_PB.MARITALSTATUS = 'Married' THEN 'Coniugato' + WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + AND ALL_CF_PB.MARITALSTATUS = 'Divorced' THEN 'Divorziato' + WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' + AND ALL_CF_PB.MARITALSTATUS = 'Single' THEN 'Libero' + WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + AND ALL_CF_PB.MARITALSTATUS = 'Married' THEN 'Coniugata' + WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + AND ALL_CF_PB.MARITALSTATUS = 'Divorced' THEN 'Divorziata' + WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) > '40' + AND ALL_CF_PB.MARITALSTATUS = 'Single' THEN 'Libera' + ELSE NULL + END AS STATO_CIVILE, + S25.NUMEROCOMPONENTI AS NUM_COMPONENTI, + S25.NUMEROFIGLI AS NUM_FIGLI, + S25.ETA AS ETA, + NULL AS PARTITA_IVA, + SPB_CLIENTI.CITTADINANZA AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(SPB_INDIRIZZI.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(SPB_INDIRIZZI.CITTA, '') AS LOCALITA, + ISNULL(SPB_INDIRIZZI.PROVINCIA, '') AS PROVINCIA, + ISNULL(SPB_INDIRIZZI.CAP, '') AS CAP, + ISNULL(SPB_INDIRIZZI.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + CONTRATTOSEI.EMAIL AS E_MAIL, + SPB_CLIENTI.DATAATTIVAZIONECLIENTE AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + CASE + WHEN SUBSTRING(ALL_CF_PB.CODICE_FISCALE,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + ALL_CF_PB.CODICE_PB AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6MART.CONTRATTOSEI + INNER JOIN + C6STAGING.ALL_CF_PB + ON + CONTRATTOSEI.RETE = ALL_CF_PB.RETE_PB + AND CONTRATTOSEI.COD_FISCALE = ALL_CF_PB.CODICEFISCALE + LEFT OUTER JOIN + C6STAGING.S25_CLI_CLIENTE S25 + ON + S25.CODICEFISCALE = CONTRATTOSEI.COD_FISCALE + AND S25.RETE = CONTRATTOSEI.RETE + LEFT OUTER JOIN + C6STAGING.SPB_CLIENTI + ON + C6STAGING.SPB_CLIENTI.CODICERETE = CONTRATTOSEI.RETE + AND C6STAGING.SPB_CLIENTI.CODICEFISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6STAGING.SPB_INDIRIZZI + ON + C6STAGING.SPB_INDIRIZZI.RETE = CONTRATTOSEI.RETE + AND C6STAGING.SPB_INDIRIZZI.CODICEFISCALE = CONTRATTOSEI.COD_FISCALE + WHERE + CONTRATTOSEI.DATA_FINEAVANZATO IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CLIENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CLIENTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_ANAG_CLIENTI_PREV.sql b/sql/storedTestbes/C6Mart_DM_ANAG_CLIENTI_PREV.sql new file mode 100644 index 00000000..cca55b23 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_ANAG_CLIENTI_PREV.sql @@ -0,0 +1,60 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_CLIENTI_PREV] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + TRUNCATE TABLE C6MART.ANAG_CLIENTI_PREV; + INSERT INTO [C6Mart].[ANAG_CLIENTI_PREV] + ([RETE] + ,[COD_FISCALE] + ,[STATO_LAVORATIVO] + ,[PROFESSIONE] + ,[CAT_PROFESSIONALE] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[RETRIB_LORDA] + ,[PROFESSIONE_SEC] + ,[CAT_PROFESSIONALE_SEC] + ,[DATA_INIZIO_SEC] + ,[DATA_FINE_SEC] + ,[RETRIB_LORDA_SEC] + ,[PROFESSIONE_PREC] + ,[CAT_PROFESSIONALE_PREC] + ,[DATA_INIZIO_PREC] + ,[DATA_FINE_PREC] + ,[RETRIB_LORDA_PREC] + ,[RICONGIUNZIONE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SUBSTRING(C6STAGING.ALL_CF_PB.RETE_PB,1,1) AS RETE, + SUBSTRING(C6STAGING.ALL_CF_PB.CODICE_FISCALE,1,16) AS COD_FISCALE, + NULL AS STATO_LAVORATIVO, + NULL AS PROFESSIONE, + NULL AS CAT_PROFESSIONALE, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS RETRIB_LORDA, + NULL AS PROFESSIONE_SEC, + NULL AS CAT_PROFESSIONALE_SEC, + NULL AS DATA_INIZIO_SEC, + NULL AS DATA_FINE_SEC, + NULL AS RETRIB_LORDA_SEC, + NULL AS PROFESSIONE_PREC, + NULL AS CAT_PROFESSIONALE_PREC, + NULL AS DATA_INIZIO_PREC, + NULL AS DATA_FINE_PREC, + NULL AS RETRIB_LORDA_PREC, + NULL AS RICONGIUNZIONE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_CF_PB +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_ANAG_CONTRATTI.sql b/sql/storedTestbes/C6Mart_DM_ANAG_CONTRATTI.sql new file mode 100644 index 00000000..d39aa65d --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_ANAG_CONTRATTI.sql @@ -0,0 +1,79 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_CONTRATTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_CONTRATTI + INSERT INTO [C6Mart].[ANAG_CONTRATTI] + ([ID_CONTRATTO] + ,[RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_PERF] + ,[DATA_CHIUSURA] + ,[STATO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[COD_INTERNO] + ,[COD_MANDATO] + ,[COD_CC] + ,[RUBRICATO] + ,[CUSTODIA_GAR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + CAST(ROW_NUMBER() OVER (ORDER BY SPB_CONTR_SINTESI.CODICEFISCALE) AS VARCHAR(64)) AS COD_PRODOTTO, + NULL AS INTERMEDIARIO, + SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE AS DATA_SOTTOSCRIZIONE, + NULL AS DATA_PERF, + NULL AS DATA_CHIUSURA, + SPB_CONTR_SINTESI.CODICESTATO AS STATO, + SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO, + SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, + NULL AS COD_MANDATO, + SPB_CONTR_SINTESI.CONTO AS COD_CC, + SPB_CONTR_SINTESI.RUBRICATO AS RUBRICATO, + SPB_CONTR_SINTESI.CUSTODIAGARANZIA AS CUSTODIA_GAR, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.SPB_CONTR_SINTESI + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_ANAG_CONTRATTI_ASS.sql b/sql/storedTestbes/C6Mart_DM_ANAG_CONTRATTI_ASS.sql new file mode 100644 index 00000000..d2303335 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_ANAG_CONTRATTI_ASS.sql @@ -0,0 +1,86 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_CONTRATTI_ASS] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_CONTRATTI_ASS', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_CONTRATTI_ASS + INSERT INTO [C6Mart].[ANAG_CONTRATTI_ASS] + ([RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[ID_CONTRATTO] + ,[TIPO_PRODOTTO] + ,[PREMIO] + ,[IMPORTO_RATA] + ,[FREQ_RATA] + ,[IMPORTO_ASSICURATO] + ,[DURATA_POLIZZA] + ,[ALIQUOTA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[INTERMEDIARIO] + ,[STATO] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + SPB_CONTR_SINTESI.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, + SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO, + NULL AS PREMIO, + NULL AS IMPORTO_RATA, + NULL AS FREQ_RATA, + SPB_CONTR_SINTESI.CTV AS IMPORTO_ASSICURATO, + NULL AS DURATA_POLIZZA, + NULL AS ALIQUOTA, + SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, + CONVERT(DATETIME, SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE,103) AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + NULL AS INTERMEDIARIO, + SPB_CONTR_SINTESI.CODICESTATO AS STATO, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.SPB_CONTR_SINTESI + WHERE TIPOPRODOTTO LIKE 'AS%' AND NUMEROPOLIZZA <> '' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_CONTRATTI_ASS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_CONTRATTI_ASS' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_ANAG_EMITTENTI.sql b/sql/storedTestbes/C6Mart_DM_ANAG_EMITTENTI.sql new file mode 100644 index 00000000..55255dd6 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_ANAG_EMITTENTI.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_EMITTENTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MART.GETIDELAB() + TRUNCATE TABLE C6MART.ANAG_EMITTENTI + INSERT INTO [C6Mart].[ANAG_EMITTENTI] + ([ID_EMITTENTE] + ,[DESCRIZIONE] + ,[NOTE] + ,[ID_ELAB]) + SELECT DISTINCT + NULL AS ID_EMITTENTE, + NULL AS DESCRIZIONE, + NULL AS NOTE, + @ID_ELAB AS ID_ELAB + FROM C6STAGING.ALL_CF_PB + WHERE 1 = 0 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_ANAG_PRODOTTI.sql b/sql/storedTestbes/C6Mart_DM_ANAG_PRODOTTI.sql new file mode 100644 index 00000000..13aa16a4 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_ANAG_PRODOTTI.sql @@ -0,0 +1,88 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_PRODOTTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_PRODOTTI + INSERT INTO [C6Mart].[ANAG_PRODOTTI] + ([COD_PRODOTTO] + ,[COD_ISIN] + ,[PAESE] + ,[ID_AREA] + ,[CAT_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[COD_MAF] + ,[RATING] + ,[COD_ADEGUATEZZA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + CATITEMREF.COD_ISIN AS COD_ISIN, + CATITEMREF.COUNTRY AS PAESE, + '' AS ID_AREA, + (SELECT CASE SUBSTRING(CATITEMREF.TYPE$_BCATAL_FC317,64,3) + WHEN 'Ges' THEN 'Gestito Finanziario' + WHEN 'Amm' THEN 'Amministrato' + WHEN 'Ass' THEN 'Assicurativo' + END) AS CAT_PRODOTTO, + CATITEMREF.TIPOPRODOTTO AS TIPO_PRODOTTO, + CATITEMREF.CATALOGUENAME AS DESCR_PRODOTTO, + CATITEMREF.PRODUCTCURRENCY AS DIV_QUOTAZIONE, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + CATITEMREF.PIAZZA AS MERCATO_CONTRATT, + CATITEMREF.COD_MAF AS COD_MAF, + CATITEMREF.RATOBBLIG AS RATING, + CATITEMREF.COD_ADEGUATEZZA AS COD_ADEGUATEZZA, + CATITEMREF.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + CATITEMREF.COD_INTERNO AS COD_INTERNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(OID$) AS OID + FROM C6STAGING.CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.OID$ = DOPPICATITEMREF.OID + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_ANAG_PRODOTTI_TERZI.sql b/sql/storedTestbes/C6Mart_DM_ANAG_PRODOTTI_TERZI.sql new file mode 100644 index 00000000..c2506750 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_ANAG_PRODOTTI_TERZI.sql @@ -0,0 +1,73 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_PRODOTTI_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PRODOTTI_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_PRODOTTI_TERZI + INSERT INTO [C6Mart].[ANAG_PRODOTTI_TERZI] + ([COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[NOME_PRODOTTO] + ,[ALBERO_PRODOTTI] + ,[COD_ISIN] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[INTERMEDIARIO] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[PAESE] + ,[RATING] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO AS COD_PRODOTTO, + ALL_PATR_TERZI.CHIAVE_THR AS COD_PRODOTTO_TERZI, + ALL_PATR_TERZI.NOMEPRODOTTO AS NOME_PRODOTTO, + ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA AS ALBERO_PRODOTTI, + NULL AS COD_ISIN, + ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO AS DESCR_PRODOTTO, + NULL AS DIV_QUOTAZIONE, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + NULL AS PAESE, + NULL AS RATING, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_PATR_TERZI + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PRODOTTI_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PRODOTTI_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_ANAG_PROMOTORI.sql b/sql/storedTestbes/C6Mart_DM_ANAG_PROMOTORI.sql new file mode 100644 index 00000000..3e579050 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_ANAG_PROMOTORI.sql @@ -0,0 +1,120 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_PROMOTORI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_PROMOTORI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_PROMOTORI + INSERT INTO [C6Mart].[ANAG_PROMOTORI] + ([RETE] + ,[ID_PROMOTORE] + ,[LIVELLO] + ,[COD_FISCALE] + ,[PARTITA_IVA] + ,[COGNOME] + ,[NOME] + ,[RAG_SOC] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[COD_ABI] + ,[COD_CAB] + ,[COD_CIN] + ,[COD_CC] + ,[STATO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ADS4WS_PROMOTORI.RETE AS RETE, + ADS4WS_PROMOTORI.CODICE AS ID_PROMOTORE, + SPB_NAC.LIVELLONELLAGERARCHIA AS LIVELLO, + NULL AS COD_FISCALE, + NULL AS PARTITA_IVA, + rtrim(ltrim(ADS4WS_PROMOTORI.COGNOME)) AS COGNOME, + rtrim(ltrim(ADS4WS_PROMOTORI.NOME)) AS NOME, + NULL AS RAG_SOC, + CASE WHEN ADS4WS_PROMOTORI.DataInizioCollaborazione=0 THEN NULL ELSE + CAST(CAST(ADS4WS_PROMOTORI.DataInizioCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_INIZIO, + CASE WHEN ADS4WS_PROMOTORI.DataFineCollaborazione=0 THEN NULL ELSE + CAST(CAST(ADS4WS_PROMOTORI.DataFineCollaborazione AS VARCHAR(8)) AS DATETIME) END AS DATA_FINE, + rtrim(ltrim(ADS4WS_PROMOTORI.INDIRIZZO)) AS INDIRIZZO, + rtrim(ltrim(ADS4WS_PROMOTORI.CITTA)) AS LOCALITA, + rtrim(ltrim(ADS4WS_PROMOTORI.PROVINCIA)) AS PROVINCIA, + rtrim(ltrim(ADS4WS_PROMOTORI.CAP)) AS CAP, + NULL AS NAZIONE, + rtrim(ltrim(ADS4WS_PROMOTORI.prefissotelefono + ADS4WS_PROMOTORI.TelefonoAgenzia1)) AS TEL_RECAPITO, + NULL AS TEL_CELL, + rtrim(ltrim(EMAIL_PB.EMAIL)) AS E_MAIL, + NULL AS COD_ABI, + NULL AS COD_CAB, + NULL AS COD_CIN, + NULL AS COD_CC, + --CASE + -- WHEN SPB_NAC.CODICEAGENTE IS NULL THEN 'TERMINATO' + -- ELSE + CASE + WHEN PF.RETE IS NULL THEN 'ATTIVO' + ELSE 'FITTIZIO' + END + --END + AS STATO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ADS4WS_PROMOTORI ADS4WS_PROMOTORI + LEFT JOIN C6MART.EMAIL_PB EMAIL_PB + ON ADS4WS_PROMOTORI.RETE = EMAIL_PB.RETE + AND ADS4WS_PROMOTORI.CODICE = EMAIL_PB.CODICE + LEFT JOIN C6STAGING.SPB_NAC SPB_NAC + ON ADS4WS_PROMOTORI.RETE = SPB_NAC.CODICERETE + AND ADS4WS_PROMOTORI.CODICE = SPB_NAC.CODICEAGENTE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (ADS4WS_PROMOTORI.CODICE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND ADS4WS_PROMOTORI.RETE = PF.RETE +WHERE + ADS4WS_PROMOTORI.STATO = 'A' + --Aggiunta Valerio non inserisco in anagrafica pb terminati in quanto non hanno il livello + and SPB_NAC.CODICEAGENTE is not null + --AND ADS4WS_PROMOTORI.CODICE NOT IN ('009202')--,'014908') +---eliminato il filtro su '005772' 04/08/2010 +---eliminato il filtro su'003064' 12/08/2010 +---eliminato il filtro su '010712' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_PROMOTORI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_PROMOTORI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_ANAG_SELF.sql b/sql/storedTestbes/C6Mart_DM_ANAG_SELF.sql new file mode 100644 index 00000000..26bd2d67 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_ANAG_SELF.sql @@ -0,0 +1,74 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_SELF] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6Mart.GETIDELAB() + SET @TIPO_ELAB = C6Mart.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE [C6Mart].[ANAG_SELF] + INSERT INTO [C6Mart].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,NOMEPRODOTTO + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB] + ,CodInterno + ,CodSottoprodotto) + SELECT + SPB.RETE + ,SPB.CODICEFISCALE + ,SPB.CODICECONTRATTO + ,CAT.NomeProdotto + ,SPB.CTV + ,SPB.DATADISOTTOSCRIZIONE + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + ,CodInterno + ,CodSottoprodotto + FROM + C6Staging.SPB_CONTR_SINTESI SPB + inner join C6Staging.RP_CatalogoProdotti CAT + on SPB.isin = CAT.codisin and CAT.visibilita = 1 + -- aggiunta il 17/12/2018 per gestire l'ambiguità tra GP e FO a parità di Isin + and SPB.CodiceInterno = CAT.CodInterno + -- fine modifica + WHERE isin in('EURO00000009', 'EURO10000007') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_SELF' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_ANAG_SELF_20181129_PreMioFoglio.sql b/sql/storedTestbes/C6Mart_DM_ANAG_SELF_20181129_PreMioFoglio.sql new file mode 100644 index 00000000..3d2e0e13 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_ANAG_SELF_20181129_PreMioFoglio.sql @@ -0,0 +1,67 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_SELF_20181129_PreMioFoglio] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6Mart.GETIDELAB() + SET @TIPO_ELAB = C6Mart.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE [C6Mart].[ANAG_SELF] + INSERT INTO [C6Mart].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,NOMEPRODOTTO + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SPB.RETE + ,SPB.CODICEFISCALE + ,SPB.CODICECONTRATTO + ,CAT.NomeProdotto + ,SPB.CTV + ,SPB.DATADISOTTOSCRIZIONE + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + FROM + C6Staging.SPB_CONTR_SINTESI SPB + inner join C6Staging.RP_CatalogoProdotti CAT + on SPB.isin = CAT.codisin and CAT.visibilita = 1 + WHERE isin in('EURO00000009', 'EURO10000007') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_SELF' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_ANAG_SELF_BK_eligoTitoli.sql b/sql/storedTestbes/C6Mart_DM_ANAG_SELF_BK_eligoTitoli.sql new file mode 100644 index 00000000..a4682472 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_ANAG_SELF_BK_eligoTitoli.sql @@ -0,0 +1,62 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ANAG_SELF_BK_eligoTitoli] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6Mart.GETIDELAB() + SET @TIPO_ELAB = C6Mart.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ANAG_SELF', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE [C6Mart].[ANAG_SELF] + INSERT INTO [C6Mart].[ANAG_SELF] + (RETE + ,CODFIS + ,CODCONF + ,CTV + ,DATASOTT + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + RETE + ,CODICEFISCALE + ,CODICECONTRATTO + ,CTV + ,DATADISOTTOSCRIZIONE + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + FROM + C6Staging.SPB_CONTR_SINTESI + WHERE isin = 'EURO00000009' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ANAG_SELF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ANAG_SELF' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_ASSETCLASS.sql b/sql/storedTestbes/C6Mart_DM_ASSETCLASS.sql new file mode 100644 index 00000000..fa5caa56 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_ASSETCLASS.sql @@ -0,0 +1,53 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ASSETCLASS] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MART.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSETCLASS', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ASSETCLASS + INSERT INTO [C6Mart].[ASSETCLASS] + ([ID_ASSETCLASS] + ,[DESCRIZIONE] + ,[LIVELLO] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + LTRIM(RTRIM(ASSETCLASS.OID_)) AS ID_ASSETCLASS, + LTRIM(RTRIM(ASSETCLASS.ASSETCLASSDESCR)) AS DESCRIZIONE, + ASSETCLASS.ASSETCLASSLEV AS LIVELLO, + ASSETCLASS.ORDINE AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + FROM C6STAGING.ASSETCLASS + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSETCLASS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSETCLASS' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_ASSETCLASS_TERZI.sql b/sql/storedTestbes/C6Mart_DM_ASSETCLASS_TERZI.sql new file mode 100644 index 00000000..05720b08 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_ASSETCLASS_TERZI.sql @@ -0,0 +1,55 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ASSETCLASS_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSETCLASS_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ASSETCLASS_TERZI + INSERT INTO [C6Mart].[ASSETCLASS_TERZI] + ([ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_ADEGUATEZZA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + LTRIM(RTRIM(ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO)) AS ID_ASSETCLASS, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN,'$'))) AS COD_ISIN, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF,'$'))) AS COD_MAF, + LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA,'$'))) AS COD_ADEGUATEZZA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_ASSET_CLASS_PER_PROMET + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSETCLASS_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSETCLASS_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_ASSET_PERC.sql b/sql/storedTestbes/C6Mart_DM_ASSET_PERC.sql new file mode 100644 index 00000000..1a1422bf --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_ASSET_PERC.sql @@ -0,0 +1,70 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ASSET_PERC] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSET_PERC', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ASSET_PERC + INSERT INTO [C6Mart].[ASSET_PERC] + ([COD_PRODOTTO] + ,[ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[LIVELLO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + LTRIM(RTRIM(ACBDENTRY.F_OID__PASSE_B8A1E)) AS ID_ASSETCLASS, + CATITEMREF.COD_ISIN AS COD_ISIN, + CATITEMREF.COD_MAF AS COD_MAF, + CATITEMREF.COD_INTERNO AS COD_INTERNO, + CATITEMREF.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + LTRIM(RTRIM(ASSETCLASS.ASSETCLASSLEV)) AS LIVELLO, + LTRIM(RTRIM(ACBDENTRY.BDPERCENTAGE)) AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6STAGING.CATITEMREF + INNER JOIN C6STAGING.INSTRBDS + ON INSTRBDS.F_OID__PCATA_5DDA6 = CATITEMREF.OID$ + INNER JOIN C6STAGING.ACBDENTRY + ON ACBDENTRY.F_PINSTRUMEN_FBCDE = INSTRBDS.OID_ + INNER JOIN C6STAGING.ASSETCLASS + ON ASSETCLASS.OID_ = ACBDENTRY.F_OID__PASSE_B8A1E + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSET_PERC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSET_PERC' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_ASSET_PERC_TERZI.sql b/sql/storedTestbes/C6Mart_DM_ASSET_PERC_TERZI.sql new file mode 100644 index 00000000..56ae4a04 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_ASSET_PERC_TERZI.sql @@ -0,0 +1,79 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ASSET_PERC_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_ASSET_PERC_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ASSET_PERC_TERZI + INSERT INTO [C6Mart].[ASSET_PERC_TERZI] + ([COD_PRODOTTO_TERZI] + ,[ID_ASSETCLASS] + ,[LIVELLO] + ,[NOME_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[PERC] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + PATR_TP.CHIAVE_THR AS COD_PRODOTTO_TERZI, + ASS.OID_ AS ID_ASSETCLASS, + ASS.ASSETCLASSLEV AS LIVELLO, + PATR_TP.NOMEPRODOTTO AS NOME_PRODOTTO, + ALBERO.ALBERO_GERARCHIA_3 AS TIPO_PRODOTTO, + ACB.BDPERCENTAGE AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6STAGING.ALL_PATR_TERZI PATR_TP, + C6STAGING.ACBDENOTH ACB, + C6STAGING.ASSETCLASS ASS, + C6STAGING.S4_S5_S13_TRAD_UNTIL_LIV3 ALBERO + WHERE 1 = 1 + AND PATR_TP.CHIAVE_FNC IS NOT NULL + AND ALBERO.DESCRIZIONE_ORIGINALE = PATR_TP.DESCRIZIONE_ALBERATURA + AND ACB.F_PFINANCIAL_815C0 = PATR_TP.CHIAVE_FNC + AND ACB.F_OID__PASSE_CDF1A = ASS.OID_ + AND ASS.ASSETCLASSLEV IN (1,2) + AND PATR_TP.PRODOTTO_IN_CATALOGO IS NULL + GROUP BY + PATR_TP.CHIAVE_THR, + PATR_TP.NOMEPRODOTTO, + ASS.OID_, + ASS.ASSETCLASSLEV, + ALBERO.ALBERO_GERARCHIA_3, + ACB.BDPERCENTAGE, + ACB.OID_ + ORDER BY 2,4 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_ASSET_PERC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_ASSET_PERC_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_CATEGORIE_PRODOTTO.sql b/sql/storedTestbes/C6Mart_DM_CATEGORIE_PRODOTTO.sql new file mode 100644 index 00000000..fce8b4cf --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_CATEGORIE_PRODOTTO.sql @@ -0,0 +1,47 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_CATEGORIE_PRODOTTO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @righe INT + SET @righe = 0 + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CATEGORIE_PRODOTTO', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.CATEGORIE_PRODOTTO; + INSERT INTO C6Mart.CATEGORIE_PRODOTTO(CAT_PRODOTTO,DESCRIZIONE,ORDINAMENTO) + VALUES('Ges','Gestito finanziario',1); + SET @righe = @righe + 1 + INSERT INTO C6Mart.CATEGORIE_PRODOTTO(CAT_PRODOTTO,DESCRIZIONE,ORDINAMENTO) + VALUES('Ass','Gestito assicurativo previdenziale',2); + SET @righe = @righe + 1 + INSERT INTO C6Mart.CATEGORIE_PRODOTTO(CAT_PRODOTTO,DESCRIZIONE,ORDINAMENTO) + VALUES('Amm','Amministrato',3); + SET @righe = @righe + 1 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @righe + WHERE + Nome = 'DM_CATEGORIE_PRODOTTO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CATEGORIE_PRODOTTO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_CLIENTI_NON_MIGRATI.sql b/sql/storedTestbes/C6Mart_DM_CLIENTI_NON_MIGRATI.sql new file mode 100644 index 00000000..06873fd5 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_CLIENTI_NON_MIGRATI.sql @@ -0,0 +1,12 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_CLIENTI_NON_MIGRATI] +AS +BEGIN + SELECT RETE, COD_FISCALE, ID_PROMOTORE + FROM C6Mart.ANAG_CLIENTI + WHERE (NOME IS NULL OR NOME = '') AND (COGNOME IS NULL OR COGNOME = '') +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_CODIFICA_CREDITRISK.sql b/sql/storedTestbes/C6Mart_DM_CODIFICA_CREDITRISK.sql new file mode 100644 index 00000000..fae3d705 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_CODIFICA_CREDITRISK.sql @@ -0,0 +1,50 @@ +-- ============================================= +-- Author: Valerio Colaianni +-- Create date: 17 marzo 2009 +-- ============================================= +CREATE procedure [C6Mart].[DM_CODIFICA_CREDITRISK] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6Mart.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_CREDITRISK', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6Mart.CODIFICA_CREDITRISK + INSERT INTO C6Mart.[CODIFICA_CREDITRISK] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAL] + ,[MAX_VAL] + ,[ID_ELAB]) + SELECT + COD, + DESCR, + MINVAL, + MAXVAL, + @ID_ELAB AS ID_ELAB + FROM C6STAGING.RISKCLASS + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'CODIFICA_CREDITRISK' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'CODIFICA_CREDITRISK' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_CODIFICA_PIRAMIDI.sql b/sql/storedTestbes/C6Mart_DM_CODIFICA_PIRAMIDI.sql new file mode 100644 index 00000000..382a62d5 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_CODIFICA_PIRAMIDI.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_CODIFICA_PIRAMIDI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MART.GETIDELAB() + TRUNCATE TABLE C6MART.CODIFICA_PIRAMIDI + INSERT INTO [C6Mart].[CODIFICA_PIRAMIDI] + ([ID_PIRAMIDE] + ,[DESCRIZIONE] + ,[NOTE] + ,[ID_ELAB]) + SELECT + NULL AS ID_PIRAMIDE, + NULL AS DESCRIZIONE, + NULL AS NOTE, + @ID_ELAB AS ID_ELAB + FROM C6STAGING.CATITEMREF + WHERE 1=0 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_CODIFICA_RISCHIO.sql b/sql/storedTestbes/C6Mart_DM_CODIFICA_RISCHIO.sql new file mode 100644 index 00000000..05486e99 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_CODIFICA_RISCHIO.sql @@ -0,0 +1,56 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: NOTA BENE: I JOIN NON DOVREBBERO MAI ESSERE FATTI COME SOTTO, TRATTASI DI WORK AROUND +-- ============================================= +CREATE procedure [C6Mart].[DM_CODIFICA_RISCHIO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MART.GETIDELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CODIFICA_RISCHIO', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.CODIFICA_RISCHIO + INSERT INTO [C6Mart].[CODIFICA_RISCHIO] + ([PROFILO] + ,[DESCRIZIONE] + ,[MIN_VAR] + ,[MAX_VAR] + ,[ID_ELAB]) + SELECT + SPB_PROF_RISCHIO.CODICEPROFILO AS PROFILO, + SPB_PROF_RISCHIO.DESCRIZIONEPROFILO AS DESCRIZIONE, + ISNULL(SPB_MIN.VARTRIMESTRALE,-0.01) + 0.01 AS MIN_VAR, + SPB_PROF_RISCHIO.VARTRIMESTRALE AS MAX_VAR, + @ID_ELAB AS ID_ELAB + FROM + C6STAGING.SPB_PROF_RISCHIO + LEFT JOIN + C6STAGING.SPB_PROF_RISCHIO SPB_MIN + ON + SPB_MIN.CODICEPROFILO + 1 = SPB_PROF_RISCHIO.CODICEPROFILO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CODIFICA_RISCHIO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CODIFICA_RISCHIO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_CREA_POSITIONID.sql b/sql/storedTestbes/C6Mart_DM_CREA_POSITIONID.sql new file mode 100644 index 00000000..2b77f6e1 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_CREA_POSITIONID.sql @@ -0,0 +1,77 @@ +-- ============================================= +-- AUTHOR: +-- CREATE DATE: 10/05/2010 +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_CREA_POSITIONID] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_CREA_POSITIONID', + GETDATE(), + 'Elaborazione giornaliera' + ) + UPDATE +C6Staging.SPB_CONTR_SINTESI + SET + POSITIONID = + [C6STAGING].[INFO_DAPRODOTTOCSACATALOGO] --DBO.INFO_DAPRODOTTOCSACATALOGO + ( + TIPOPRODOTTO, + CODICEINTERNO, + CODICEMAF, + --V ISIN per ASU2 + ISNULL(ISIN,''), + CODICESOTTOPRODOTTO + ) + --END + + + DBO.CREA_POSITIONID + ( + TIPOPRODOTTO, + CODICEINTERNO, + CODICEMAF, + '', + CODICESOTTOPRODOTTO, + CODICECONTRATTO, -- VERIFICARNE LA CORRETTEZZA + NUMEROPOLIZZA, + CONTO, + RUBRICATO, + CUSTODIAGARANZIA, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_CREA_POSITIONID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_CREA_POSITIONID' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_DATI_REPORT.sql b/sql/storedTestbes/C6Mart_DM_DATI_REPORT.sql new file mode 100644 index 00000000..3c72966d --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_DATI_REPORT.sql @@ -0,0 +1,47 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_DATI_REPORT] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + TRUNCATE TABLE C6MART.DATI_REPORT + INSERT INTO [C6Mart].[DATI_REPORT] + ([RETE] + ,[COD_FISCALE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[FLAG_REPORT] + ,[REPORT_DIAGN] + ,[REPORT_MONIT] + ,[DATA_REPORT] + ,[REPORT_FREQ] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + NULL AS RETE, + NULL AS COD_FISCALE, + NULL AS INDIRIZZO, + NULL AS LOCALITA, + NULL AS PROVINCIA, + NULL AS CAP, + NULL AS NAZIONE, + NULL AS FLAG_REPORT, + NULL AS REPORT_DIAGN, + NULL AS REPORT_MONIT, + NULL AS DATA_REPORT, + NULL AS REPORT_FREQ, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.CATITEMREF + WHERE 1=0 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_DETTAGLIO_ASUL.sql b/sql/storedTestbes/C6Mart_DM_DETTAGLIO_ASUL.sql new file mode 100644 index 00000000..ab041412 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_DETTAGLIO_ASUL.sql @@ -0,0 +1,100 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_DETTAGLIO_ASUL] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_DETTAGLIO_ASUL', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.DETTAGLIO_ASUL + INSERT INTO [C6Mart].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + ISNULL( + dbo.Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPOPRODOTTO, SPB_ASS_UNIT.CODICEINTERNO, SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE, SPB_ASS_UNIT.CODICEISINSOTTOSTANTE, SPB_ASS_UNIT.CODICESOTTOPRODOTTO), + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODICECONTRATTO AS ID_CONTRATTO, + SPB_ASS_UNIT.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODICEINTERNO AS COD_INTERNO, + SPB_ASS_UNIT.CONTROVALORE AS CTV, + SPB_ASS_UNIT.DATADIRIFERIMENTO AS DATA_RIF, + SPB_ASS_UNIT.ISINFITTIZIO AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.CODICEISINSOTTOSTANTE AS COD_ISIN_SOTT, + SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6STAGING.SPB_CONTR_SINTESI + INNER JOIN + C6STAGING.SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODICECONTRATTO = SPB_ASS_UNIT.CODICECONTRATTO + LEFT OUTER JOIN + C6STAGING.RP_CATALOGOPRODOTTI CAT + ON SPB_ASS_UNIT.CODICEINTERNO = CAT.CODINTERNO + AND SPB_ASS_UNIT.CODICESOTTOPRODOTTO = CAT.CODSOTTOPRODOTTO + AND VISIBILITA=1 + AND (SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = ''and codisin='$' OR ( + SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = CAT.CODADEGUATEZZA AND + SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE = CAT.CODMAF + ) + ) + /* + C6STAGING.CATITEMREF + ON SPB_ASS_UNIT.CODICEINTERNO = CATITEMREF.COD_INTERNO + AND SPB_ASS_UNIT.CODICESOTTOPRODOTTO = CATITEMREF.COD_SOTTOPRODOTTO + AND isvisible=1 + AND (SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = ''and cod_isin='$' OR ( + SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = CATITEMREF.COD_ADEGUATEZZA AND + SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE = CATITEMREF.COD_MAF + ) + )*/ + WHERE + SPB_CONTR_SINTESI.CTV <> 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_DETTAGLIO_ASUL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_DETTAGLIO_ASUL' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_EMAIL_PB.sql b/sql/storedTestbes/C6Mart_DM_EMAIL_PB.sql new file mode 100644 index 00000000..3ce4de73 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_EMAIL_PB.sql @@ -0,0 +1,85 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 26 gennaio 2009 +-- Description: Recupera PB, RM, DM, AM le cui email non sono ancora valorizzate. +-- ============================================= +CREATE procedure [C6Mart].[DM_EMAIL_PB] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_EMAIL_PB', + GETDATE(), + 'Elaborazione giornaliera' + ) + SELECT DISTINCT + CODICI_PB.RETE AS RETE, + CODICI_PB.CODICE AS CODICE, + (CASE CODICI_PB.RETE WHEN 'F' THEN 'R' ELSE 'P' END) AS PREFISSO, + (CASE CODICI_PB.RETE WHEN 'F' THEN 'R' ELSE 'P' END) + CODICI_PB.CODICE AS FIRMA +--, +-- CODICI_PB.LIVELLO AS LIVELLO, +-- CODICI_PB.LIV_ORD AS LIV_ORD + FROM + ( + SELECT STRUTTURA.RETE, STRUTTURA.PB CODICE--, 'PB' as LIVELLO, 1 AS LIV_ORD + FROM C6MART.CONTRATTOSEI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + UNION + SELECT STRUTTURA.RETE, STRUTTURA.RM CODICE--, 'RM' as LIVELLO, 2 AS LIV_ORD + FROM C6MART.CONTRATTOSEI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + UNION + SELECT STRUTTURA.RETE, STRUTTURA.DM CODICE--, 'DM' as LIVELLO, 3 AS LIV_ORD + FROM C6MART.CONTRATTOSEI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + UNION + SELECT STRUTTURA.RETE, STRUTTURA.AM CODICE--, 'AM' as LIVELLO, 4 AS LIV_ORD + FROM C6MART.CONTRATTOSEI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + ) CODICI_PB + LEFT JOIN C6MART.EMAIL_PB EMAIL_PB_ESISTENTI + ON EMAIL_PB_ESISTENTI.RETE = CODICI_PB.RETE + AND EMAIL_PB_ESISTENTI.CODICE = CODICI_PB.CODICE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (CODICI_PB.CODICE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND CODICI_PB.RETE = PF.RETE + WHERE EMAIL_PB_ESISTENTI.EMAIL IS NULL + AND PF.RETE IS NULL +--togliere + --and CODICI_PB.CODICE not in ('010712','015115','015117','015091','015182','006167','015125','015126','015185','006154','006200') +and CODICI_PB.CODICE not in ('015185') +---eliminato il filtro '010712' +---eliminato il filtro su '015089'--,'015163', 12/08 + --ORDER BY CODICI_PB.LIV_ORD + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_EMAIL_PB' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_EMAIL_PB' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_ESITI_CARICAMENTI.sql b/sql/storedTestbes/C6Mart_DM_ESITI_CARICAMENTI.sql new file mode 100644 index 00000000..a46249ee --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_ESITI_CARICAMENTI.sql @@ -0,0 +1,29 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_ESITI_CARICAMENTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MART.GETIDELAB() + TRUNCATE TABLE C6MART.ESITI_CARICAMENTI + INSERT INTO [C6Mart].[ESITI_CARICAMENTI] + ([PROGR] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[ESITO] + ,[NOTE] + ,[ID_ELAB]) + SELECT + NULL AS PROGR, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS ESITO, + NULL AS NOTE, + @ID_ELAB AS ID_ELAB + FROM C6STAGING.CATITEMREF + WHERE 1=0 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_GER_PROMOTORI.sql b/sql/storedTestbes/C6Mart_DM_GER_PROMOTORI.sql new file mode 100644 index 00000000..29caf5db --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_GER_PROMOTORI.sql @@ -0,0 +1,30 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_GER_PROMOTORI] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6MART.GETIDELAB() + -- Insert statements for procedure here + TRUNCATE TABLE C6MART.GER_PROMOTORI + SELECT DISTINCT +---- INFO TABELLA PER GESTIONE ERRORE +-- 'GER_PROMOTORI' AS TABLENAME, +-- 'RETE - ID_PROMOTORE' AS KEYCOLUMN, +-- SPB_NAC.CODICERETE + ' - ' + SPB_NAC.CODICEAGENTE AS KEYVALUE, +---- FINE INFO TABELLA PER GESTIONE ERRORE + SPB_NAC.CODICERETE AS RETE, + SPB_NAC.CODICEAGENTE AS ID_PROMOTORE, + SPB_NAC.LIVELLONELLAGERARCHIA AS LIVELLO, + SPB_NAC.CODICEMANAGER AS ID_MANAGER, + SPB_NAC.SUBORDINATI AS SUBORDINATI, + @ID_ELAB AS ID_ELAB, + 'D' AS TIPO_ELAB + FROM C6STAGING.SPB_NAC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_GestioneEmail.sql b/sql/storedTestbes/C6Mart_DM_GestioneEmail.sql new file mode 100644 index 00000000..2fa56598 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_GestioneEmail.sql @@ -0,0 +1,298 @@ +-- ============================================= +-- Author: +-- Create date: <13/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_GestioneEmail] +AS +BEGIN +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- PERFEZIONAMENTO; +-- MANCATA MIGRAZIONE; +-- REINVIO SOLLECITO MANCATA MIGRAZIONE. +--LA GESTIONE DELLE EMAIL PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO O +--PER REINVIO DEL SOLLECITO PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO +--VIENE FATTA DOPO L'ALLINEAMENTO CON I DATI DEL SIMPB +--ESTRAZIONE EMAIL PERFEZIONAMENTO +--TIPO EMAIL: "PERF" +--L'EMAIL VIENE INVIATA PER TUTTI I CLIENTI CHE HANNO DATA DI PERFEZIONAMENTO VALORIZZATA +--IL CONTROLLO SULLA DATA DI GENERAZIONE >= DELLA DATA DI PERFEZIONAMENTO E' DOVUTO AL +--FATTO CHE IL CONTRATTO PUO` ESSERE CHIUSO E RIAPERTO ED IN QUESTO CASO LA MAIL DI PERFEZIONAMENTO +--DEVE ESSERE REINVIATA +-- EMAIL DI ADESIONE AL SERVIZIO SEI +-- TIPO EMAIL 'PERF' +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @ID_ELAB INT +DECLARE @MaxInvioSoll as SMALLINT +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') as smallint) +SET @ID_ELAB = C6MART.GETIDELAB() +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) --7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint) --7 +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_GestioneEmail', + GETDATE(), + 'Elaborazione giornaliera' +) +--1. INSERIMENTO MAIL DI "PERFEZIONAMENTO" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- NON PRESENTI SU GESTIONE_EMAIL +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione, ID_ELAB) +SELECT + C6.Rete, + C6.Cod_Fiscale, + 'PERF' as TipoEmail, + GETDATE() AS DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6Mart.ContrattoSEI C6 +LEFT JOIN C6Mart.GESTIONE_EMAIL EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_FISCALE = EMAIL.COD_FISCALE + AND EMAIL.TIPO = 'PERF' + AND EMAIL.Data_Generazione >= C6.Data_Perf -- CONDIZIONE PER ESCLUDERE DAL JOIN UN CONTRATTO CHIUSO E RIAPERTO. +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF -- IN QUESTO MODO LO INSERIAMO NUOVAMENTE IN GESTIONE_MAIL. + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE +WHERE 1 = 1 + --AND C6.InvioBenvenuto = 'N' + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND EMAIL.COD_FISCALE IS NULL + AND PF.RETE IS NULL +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT +WHERE + Nome = 'DM_GestioneEmail' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmail' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_GestioneEmail', + GETDATE(), + 'Elaborazione giornaliera' +) +-- 2. INSERIMENTO MAIL "SOLLECITI" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE +-- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO è NULL -> CONSIDERIAMO DATA_PERF +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT + C6.rete, + C6.cod_fiscale, + CASE + WHEN ISNULL(numSolleciti,0) = 0 THEN '1_SOLL_NOMIG' + WHEN numSolleciti = 1 THEN '2_SOLL_NOMIG' + WHEN numSolleciti = 2 THEN '3_SOLL_NOMIG' + ELSE 'S_SOLL_NOMIG' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM c6mart.contrattosei C6 +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE +WHERE 1 = 1 + AND numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(numSolleciti,0) = 0 AND DATEDIFF(DAY,C6.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(C6.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND c6.clienteMigrato = 'N' + AND c6.InvioBenvenuto = 'N' -- richiesto da Tringali per non inviare mail se report già inviato + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND PF.RETE IS NULL +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT +WHERE + Nome = 'DM_GestioneEmail' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmail' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_GestioneEmail', + GETDATE(), + 'Elaborazione giornaliera' +) +-- 2.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" +-- AUMENTIAMO IL NUMERO numSolleciti +-- AGGIORNIAMO LA DATA Data_UltimoSollecito +UPDATE + c6mart.contrattosei +SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() +FROM c6mart.contrattosei C6 +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE +WHERE 1 = 1 + AND numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(numSolleciti,0) = 0 AND DATEDIFF(DAY,C6.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(C6.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND c6.clienteMigrato = 'N' + AND c6.InvioBenvenuto = 'N' -- richiesto da Tringali per non inviare mail se report già inviato + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND PF.RETE IS NULL +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT +WHERE + Nome = 'DM_GestioneEmail' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmail' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_GestioneEmail', + GETDATE(), + 'Elaborazione giornaliera' +) +-- 3. INSERIMENTO MAIL "REVOCA" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE DOPO @MaxInvioSoll SOLLECITI +-- N.B. OCCHIO ALLA CONDIZIONE -> (c6.clienteMigrato = 'N' AND numSolleciti = @MaxInvioSoll) OR numSolleciti > @MaxInvioSoll +-- OVVERO: BUONA LA MIGRAZIONE EFFETTUATA DOPO L'ULTIMO SOLLECITO MA NON DOPO LA PRIMA REVOCA +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOMIG' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB --max(Data_Generazione) +FROM c6mart.contrattosei c6 +INNER JOIN c6mart.gestione_Email EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_FISCALE = EMAIL.COD_FISCALE +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE +WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOMIG','REVOCA_NOMIG') + AND ( + (numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (numSolleciti = @MaxInvioSoll and C6.clienteMigrato = 'N')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(C6.Data_UltimaRevoca,C6.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL +GROUP BY email.rete, email.cod_fiscale +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT +WHERE + Nome = 'DM_GestioneEmail' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmail' + ) +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_GestioneEmail', + GETDATE(), + 'Elaborazione giornaliera' +) +-- 3.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "REVOCA" +-- AUMENTIAMO IL NUMERO numSolleciti +-- NON AGGIORNIAMO LA DATA Data_UltimoSollecito +-- N.B. VERIFICARE SE IL CAMPO Data_UltimoSollecito VA AGGIORNATO +UPDATE c6mart.contrattosei +SET + numRevoche = isnull(numRevoche,0) + 1, + data_UltimaRevoca = getDate() +FROM c6mart.contrattosei c6 +INNER JOIN c6mart.gestione_Email EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_FISCALE = EMAIL.COD_FISCALE +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE +WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOMIG','REVOCA_NOMIG') + AND ( + (numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (numSolleciti = @MaxInvioSoll and C6.clienteMigrato = 'N')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(C6.Data_UltimaRevoca,C6.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT +WHERE + Nome = 'DM_GestioneEmail' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmail' + ) +COMMIT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_GestioneEmailNA.sql b/sql/storedTestbes/C6Mart_DM_GestioneEmailNA.sql new file mode 100644 index 00000000..949157db --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_GestioneEmailNA.sql @@ -0,0 +1,233 @@ +-- ============================================= +-- Author: +-- Create date: <17/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_GestioneEmailNA] +AS +BEGIN +BEGIN TRANSACTION +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT) +SET @ID_ELAB = C6MART.GETIDELAB() +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' +) +-- 1. INSERIMENTO MAIL "SOLLECITI" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA EFFETTUATO L'ASSOCIAZIONE DELLE RISORSE + -- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO è NULL -> CONSIDERIAMO DATA_PERF + INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + C6.rete, + C6.cod_fiscale, + CASE + WHEN ISNULL(numSolleciti,0) = 0 THEN '1_SOLL_NOASS' + WHEN numSolleciti = 1 THEN '2_SOLL_NOASS' + WHEN numSolleciti = 2 THEN '3_SOLL_NOASS' + ELSE 'S_SOLL_NOASS' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM c6mart.contrattosei C6 + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(numSolleciti,0) = 0 AND DATEDIFF(DAY,C6.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(C6.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND c6.clienteMigrato = 'S' + AND c6.risorseNA = 'S' + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND PF.RETE IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmailNA' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 1.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" + -- AUMENTIAMO IL NUMERO numSolleciti + -- AGGIORNIAMO LA DATA Data_UltimoSollecito + UPDATE + c6mart.contrattosei + SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() + FROM c6mart.contrattosei C6 + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(numSolleciti,0) = 0 AND DATEDIFF(DAY,C6.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(C6.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND c6.clienteMigrato = 'S' + AND c6.risorseNA = 'S' + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND PF.RETE IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmailNA' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 2. INSERIMENTO MAIL "REVOCA" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA EFFETTUATO L'ASSOCIAZIONE DELLE RISORSE DOPO @MaxInvioSoll SOLLECITI + -- N.B. OCCHIO ALLA CONDIZIONE -> (c6.risorseNA = 'N' AND numSolleciti = @MaxInvioSoll) OR numSolleciti > @MaxInvioSoll + -- OVVERO: BUONA L'ASSOCIAZIONE DELLE RISORSE EFFETTUATA DOPO L'ULTIMO SOLLECITO MA NON DOPO LA PRIMA REVOCA + INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOASS' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB --max(Data_Generazione) + FROM c6mart.contrattosei c6 + INNER JOIN c6mart.gestione_Email EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOASS','REVOCA_NOASS') + AND ( + (numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (numSolleciti = @MaxInvioSoll and C6.risorseNA = 'S')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(C6.Data_UltimaRevoca,C6.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + GROUP BY email.rete, email.cod_fiscale + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmailNA' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 2.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "REVOCA" + -- AUMENTIAMO IL NUMERO numSolleciti + -- NON AGGIORNIAMO LA DATA Data_UltimoSollecito + -- N.B. VERIFICARE SE IL CAMPO Data_UltimoSollecito VA AGGIORNATO + UPDATE c6mart.contrattosei + SET + numRevoche = isnull(numRevoche,0) + 1, + data_UltimaRevoca = getDate() + FROM c6mart.contrattosei c6 + INNER JOIN c6mart.gestione_Email EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOASS','REVOCA_NOASS') + AND ( + (numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (numSolleciti = @MaxInvioSoll and C6.risorseNA = 'S')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(C6.Data_UltimaRevoca,C6.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmailNA' + ) +COMMIT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_GestioneEmailNOPRO.sql b/sql/storedTestbes/C6Mart_DM_GestioneEmailNOPRO.sql new file mode 100644 index 00000000..25b42095 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_GestioneEmailNOPRO.sql @@ -0,0 +1,235 @@ +-- ============================================= +-- Author: +-- Create date: <19/14/2011,,> -1 ai -2! +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_GestioneEmailNOPRO] +AS +BEGIN +BEGIN TRANSACTION +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT) +SET @ID_ELAB = C6MART.GETIDELAB() +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' +) +-- 1. INSERIMENTO MAIL "SOLLECITI" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA ATTIVATO UN PROFILO VALIDO AL CLIENTE + -- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO è NULL -> CONSIDERIAMO DATA_PERF + INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + C6.rete, + C6.cod_fiscale, + CASE + WHEN ISNULL(numSolleciti,0) = 0 THEN '1_SOLL_NOPRO' + WHEN numSolleciti = 1 THEN '2_SOLL_NOPRO' + WHEN numSolleciti = 2 THEN '3_SOLL_NOPRO' + ELSE 'S_SOLL_NOPRO' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM c6mart.contrattosei C6 + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(numSolleciti,0) = 0 AND DATEDIFF(DAY,C6.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(C6.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND c6.clienteMigrato = 'S' + AND c6.risorseNA = 'N' + AND c6.profiloAttivo = 0 + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND PF.RETE IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmailNOPRO' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 1.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" + -- AUMENTIAMO IL NUMERO numSolleciti + -- AGGIORNIAMO LA DATA Data_UltimoSollecito + UPDATE + c6mart.contrattosei + SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() + FROM c6mart.contrattosei C6 + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(numSolleciti,0) = 0 AND DATEDIFF(DAY,C6.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(C6.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND c6.clienteMigrato = 'S' + AND c6.risorseNA = 'N' + AND c6.profiloAttivo = 0 + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND PF.RETE IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmailNOPRO' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 2. INSERIMENTO MAIL "REVOCA" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA EFFETTUATO L'ATTIVAZIONE DEL PROFILO @MaxInvioSoll SOLLECITI + -- N.B. OCCHIO ALLA CONDIZIONE -> (c6.risorseNA = 'N' AND numSolleciti = @MaxInvioSoll) OR numSolleciti > @MaxInvioSoll + -- OVVERO: BUONA L'ASSOCIAZIONE DELLE RISORSE EFFETTUATA DOPO L'ULTIMO SOLLECITO MA NON DOPO LA PRIMA REVOCA + INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOPRO' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB --max(Data_Generazione) + FROM c6mart.contrattosei c6 + INNER JOIN c6mart.gestione_Email EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOPRO','REVOCA_NOPRO') + AND ( + (numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (numSolleciti = @MaxInvioSoll and C6.profiloAttivo = 0)-- SONO NEL CASO DI PRIMA REVOCA + ) + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(C6.Data_UltimaRevoca,C6.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + GROUP BY email.rete, email.cod_fiscale + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmailNOPRO' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 2.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "REVOCA" + -- AUMENTIAMO IL NUMERO numSolleciti + -- NON AGGIORNIAMO LA DATA Data_UltimoSollecito + -- N.B. VERIFICARE SE IL CAMPO Data_UltimoSollecito VA AGGIORNATO + UPDATE c6mart.contrattosei + SET + numRevoche = isnull(numRevoche,0) + 1, + data_UltimaRevoca = getDate() + FROM c6mart.contrattosei c6 + INNER JOIN c6mart.gestione_Email EMAIL + ON C6.RETE = EMAIL.RETE + AND C6.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND C6.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOPRO','REVOCA_NOPRO') + AND ( + (numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (numSolleciti = @MaxInvioSoll and C6.profiloAttivo = 0)-- SONO NEL CASO DI PRIMA REVOCA + ) + AND C6.Data_FineAvanzato IS NULL + --AND C6.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(C6.Data_UltimaRevoca,C6.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_GestioneEmailNOPRO' + ) +COMMIT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_MIFID.sql b/sql/storedTestbes/C6Mart_DM_MIFID.sql new file mode 100644 index 00000000..e6e22efa --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_MIFID.sql @@ -0,0 +1,117 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: Aggiunta chiave primaria autoincrement su tabella di staging +-- per eliminazione duplicati. +-- ============================================= +CREATE procedure [C6Mart].[DM_MIFID] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MIFID', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.MIFID + INSERT INTO [C6Mart].[MIFID] + ([RETE] + ,[COD_FISCALE] + ,[COMPILAZIONE] + ,[PROFILO_ASS] + ,[PROFILO_CALC] + ,[DATA_INIZIO_VAL] + ,[DATA_FINE_VAL] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[RISKCLASS] + ,[EXPERIENCE] + ,[SCADUTO] + ,[COMPLESSITA] + ,[CSP] + ,[IMPORTOSPESA] + ,[IMPORTORISERVA] + ,[PERCLUNGOPERIODO] + ,[ESIGENZEASS] + ) + -- modifica del 4/10/2018 per gestire l'errore dovuto ad un cliente duplicato sulla C6STAGING.SPB_MIFID MIFID + --SELECT + SELECT DISTINCT + -- fine modifica del 4/10/2018 + MIFID.RETE AS RETE, + MIFID.CODICEFISCALE AS COD_FISCALE, + NULL AS COMPILAZIONE, + MIFID.CODICEPROFILOASSEGNATO AS PROFILO_ASS, + NULL AS PROFILO_CALC, + MIFID.DATAINIZIOVALIDITA AS DATA_INIZIO_VAL, + MIFID.DATAFINEVALIDITA AS DATA_FINE_VAL, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + RISK.CODICECLASSERC, + EXPERIENCE, + CASE + --WHEN datediff(dd,DATAINIZIOVALIDITA,getdate())/365.25<3 THEN 0 + WHEN DATAFINEVALIDITA >= getdate() THEN 0 + ELSE 1 + END AS SCADUTO, + MIFID.[COMPLESSITA] + ,MIFID.[CSP] + ,MIFID.[IMPORTOSPESA] + ,MIFID.[IMPORTORISERVA] + ,MIFID.[PERCLUNGOPERIODO] + ,MIFID.[ESIGENZEASS] + FROM C6STAGING.SPB_MIFID MIFID JOIN + C6STAGING.SPB_PROF_RISCHIO RISK + ON MIFID.CODICEPROFILOASSEGNATO = RISK.CODICEPROFILO + WHERE MIFID.STATUS in (1) --Se prendo anche lo storico potrei avere duplicazione,2) +-- INNER JOIN ( -- PER ELIMINARE DUPLICAZIONE DATI +-- SELECT SPB_MIFID.RETE, SPB_MIFID.CODICEFISCALE, MAX(OID) AS OID +-- FROM C6STAGING.SPB_MIFID +-- GROUP BY SPB_MIFID.RETE, SPB_MIFID.CODICEFISCALE +-- ) DOPPI ON SPB_MIFID.OID = DOPPI.OID +-- CONSOLI - UPDATE PER CLIENTI EX BANCA SARA IN ATTESA DELLA SISTEMAZIONE COMPLETA. +/*UPDATE C6MART.MIFID +SET SCADUTO=0 +WHERE +COD_FISCALE in +( +'BOILSN65T54B354J' +,'FRIVLR69D27H501F' +,'CTLTZN59B49F717O' +,'FNFLSS62L03D612C' +,'FRNGCR42D07G999O' +,'GRMGRL41T17D612L' +,'MTTMND35P14H791O' +,'FCCMRT41A29H501J' +)*/ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MIFID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MIFID' + ) +END +--select * from c6mart.mifid where scaduto = 1 +-- +--select * from +--C6STAGING.SPB_MIFID +--where dataInizioValidita < '20080401' \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_MIFID_20181004.sql b/sql/storedTestbes/C6Mart_DM_MIFID_20181004.sql new file mode 100644 index 00000000..cdf8491b --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_MIFID_20181004.sql @@ -0,0 +1,101 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 24/11/2008 +-- Description: Aggiunta chiave primaria autoincrement su tabella di staging +-- per eliminazione duplicati. +-- ============================================= +CREATE procedure [C6Mart].[DM_MIFID_20181004] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_MIFID', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.MIFID + INSERT INTO [C6Mart].[MIFID] + ([RETE] + ,[COD_FISCALE] + ,[COMPILAZIONE] + ,[PROFILO_ASS] + ,[PROFILO_CALC] + ,[DATA_INIZIO_VAL] + ,[DATA_FINE_VAL] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[RISKCLASS] + ,[EXPERIENCE] + ,[SCADUTO]) + SELECT + MIFID.RETE AS RETE, + MIFID.CODICEFISCALE AS COD_FISCALE, + MIFID.ACCETTACOMPILAZIONE AS COMPILAZIONE, + MIFID.CODICEPROFILOASSEGNATO AS PROFILO_ASS, + MIFID.CODICEPROFILOCALCOLATO AS PROFILO_CALC, + MIFID.DATAINIZIOVALIDITA AS DATA_INIZIO_VAL, + MIFID.DATAFINEVALIDITA AS DATA_FINE_VAL, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + RISK.CODICECLASSERC, + EXPERIENCE, + CASE + --WHEN datediff(dd,DATAINIZIOVALIDITA,getdate())/365.25<3 THEN 0 + WHEN DATAFINEVALIDITA >= getdate() THEN 0 + ELSE 1 + END AS SCADUTO + FROM C6STAGING.SPB_MIFID MIFID JOIN + C6STAGING.SPB_PROF_RISCHIO RISK + ON MIFID.CODICEPROFILOASSEGNATO = RISK.CODICEPROFILO + WHERE MIFID.STATUS in (1) --Se prendo anche lo storico potrei avere duplicazione,2) +-- INNER JOIN ( -- PER ELIMINARE DUPLICAZIONE DATI +-- SELECT SPB_MIFID.RETE, SPB_MIFID.CODICEFISCALE, MAX(OID) AS OID +-- FROM C6STAGING.SPB_MIFID +-- GROUP BY SPB_MIFID.RETE, SPB_MIFID.CODICEFISCALE +-- ) DOPPI ON SPB_MIFID.OID = DOPPI.OID +-- CONSOLI - UPDATE PER CLIENTI EX BANCA SARA IN ATTESA DELLA SISTEMAZIONE COMPLETA. +/*UPDATE C6MART.MIFID +SET SCADUTO=0 +WHERE +COD_FISCALE in +( +'BOILSN65T54B354J' +,'FRIVLR69D27H501F' +,'CTLTZN59B49F717O' +,'FNFLSS62L03D612C' +,'FRNGCR42D07G999O' +,'GRMGRL41T17D612L' +,'MTTMND35P14H791O' +,'FCCMRT41A29H501J' +)*/ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_MIFID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_MIFID' + ) +END +--select * from c6mart.mifid where scaduto = 1 +-- +--select * from +--C6STAGING.SPB_MIFID +--where dataInizioValidita < '20080401' \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_PARTITE_VIAGGIANTI.sql b/sql/storedTestbes/C6Mart_DM_PARTITE_VIAGGIANTI.sql new file mode 100644 index 00000000..8f23a941 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_PARTITE_VIAGGIANTI.sql @@ -0,0 +1,78 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PARTITE_VIAGGIANTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PARTITE_VIAGGIANTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PARTITE_VIAGGIANTI + INSERT INTO C6Mart.PARTITE_VIAGGIANTI + (RETE + ,COD_FISCALE + ,IMPORTO + ,ID_ELAB + ,TIPO_ELAB) +SELECT + RETE, + COD_FISCALE, + SUM(IMPORTO) AS IMPORTO, + @ID_ELAB, + @TIPO_ELAB +FROM +( + SELECT + SPB_PARTITE_VIAGG.RETE AS RETE, + SPB_PARTITE_VIAGG.CODICEFISCALE AS COD_FISCALE, + SUM(IMPORTOVERSATO) AS IMPORTO + FROM + C6Staging.SPB_PARTITE_VIAGG + GROUP BY + SPB_PARTITE_VIAGG.RETE, + SPB_PARTITE_VIAGG.CODICEFISCALE + UNION ALL +--- inserimento partite viaggianti in disinvestimento + SELECT + SPB_PARTITE_VIAGG_DISINV.RETE AS RETE, + SPB_PARTITE_VIAGG_DISINV.CODICEFISCALE AS COD_FISCALE, + SUM(IMPORTOVERSATO) AS IMPORTO + FROM + C6Staging.SPB_PARTITE_VIAGG_DISINV + GROUP BY + SPB_PARTITE_VIAGG_DISINV.RETE, + SPB_PARTITE_VIAGG_DISINV.CODICEFISCALE +) k +GROUP BY + RETE, + COD_FISCALE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PARTITE_VIAGGIANTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_PATRIMONIO_AGG.sql b/sql/storedTestbes/C6Mart_DM_PATRIMONIO_AGG.sql new file mode 100644 index 00000000..65521788 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_PATRIMONIO_AGG.sql @@ -0,0 +1,59 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PATRIMONIO_AGG] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_AGG', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_AGG + INSERT INTO [C6Mart].[PATRIMONIO_AGG] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[LIQUIDATO] + ,[INVESTITO] + ,[ID_AREA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_POS_CONS_CAT.RETE AS RETE, + ALL_POS_CONS_CAT.CODICE_FISCALE AS COD_FISCALE, + SUBSTRING(ALL_POS_CONS_CAT.STRINGONA_POS,1,57) AS COD_PRODOTTO, + ALL_POS_CONS_CAT.C_OUTCTV_B4FB8 AS LIQUIDATO, + ALL_POS_CONS_CAT.C_RISORSELIQ_DF807 AS INVESTITO, + ALL_POS_CONS_CAT.NEED_AREA_ABBR_DI_AREA AS ID_AREA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_POS_CONS_CAT + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_AGG' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_AGG' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_PATRIMONIO_ALTRO.sql b/sql/storedTestbes/C6Mart_DM_PATRIMONIO_ALTRO.sql new file mode 100644 index 00000000..e14f1787 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_PATRIMONIO_ALTRO.sql @@ -0,0 +1,69 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PATRIMONIO_ALTRO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_ALTRO', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_ALTRO + INSERT INTO [C6Mart].[PATRIMONIO_ALTRO] + ([RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.NUMEROQUOTE AS QUANTITA, + SUBSTRING(ALL_PATR_TERZI.DENOMINAZIONE,1,50) AS DESCRIZIONE, + ALL_PATR_TERZI.PATRIMONIO_ALTRO_PB_E6F18 AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_PATR_TERZI + WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_E6F18 + UNION + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + NULL AS QUANTITA, + SUBSTRING(ALL_PATR_TERZI.DENOMINAZIONE_PN_F87B4,1,50) AS DESCRIZIONE, + ALL_PATR_TERZI.PATRIMONIO_ALTRO_PN_F87B4 AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_PATR_TERZI + WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_F87B4 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_ALTRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_ALTRO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_PATRIMONIO_BF.sql b/sql/storedTestbes/C6Mart_DM_PATRIMONIO_BF.sql new file mode 100644 index 00000000..ebc83a79 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_PATRIMONIO_BF.sql @@ -0,0 +1,362 @@ +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna / Valerio +-- Create date: 10 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PATRIMONIO_BF] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_BF + SELECT + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + SPB_CONTR_SINTESI.POSITIONID AS POSITIONID, + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ('DT', 'FI') AND SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO + ELSE SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB_CONTR_SINTESI.CODICESTATO AS COD_STATO, + SPB_CONTR_SINTESI.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB_CONTR_SINTESI.CODICEMAF AS COD_MAF, + SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, + SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO, + CASE + WHEN CONSAREA.C_NEEDAREA_V_46360 = 'Inv' AND PRCONSUL.C_PROJECTNAM_11D1A IS NULL THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + END AS NOME_PROGETTO, + --POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + SPB_CONTR_SINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB_CONTR_SINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB_CONTR_SINTESI.QUOTE AS QUANTITA, + SPB_CONTR_SINTESI.PREZZO AS PREZZO, + SPB_CONTR_SINTESI.CTV AS CTV, + SPB_CONTR_SINTESI.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE SPB_CONTR_SINTESI.CVN + END AS VERSATO_NETTO, + SPB_CONTR_SINTESI.PARTVIA AS PARTVIA_DISINV, + SPB_CONTR_SINTESI.PARTVIAAL AS DATA_PARTVIA_DISINV, + --SPB_PARTITE_VIAGG.IMPORTOVERSATO AS PARTVIA_INV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE + END AS REND_SOTTOSCRIZIONE, +-- SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE AS REND_SOTTOSCRIZIONE, + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE + END AS REND_TRIMESTRE, +-- SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE SPB_CONTR_SINTESI.RENDIMENTODAINIZIOANNO + END AS REND_ANNO, +-- SPB_CONTR_SINTESI.RENDIMENTODAINIZIOANNO AS REND_ANNO, + KAT.STRTYPE, + KAT.COMPLEX, + MIT.DESCR AS EMITTENTE, + SPB_CONTR_SINTESI.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + INTO #PATRIMONIO + FROM C6STAGING.SPB_CONTR_SINTESI + INNER JOIN C6STAGING.ALL_CF_STATO + ON ALL_CF_STATO.RETE = SPB_CONTR_SINTESI.RETE + AND ALL_CF_STATO.CF_CLIENTE = SPB_CONTR_SINTESI.CODICEFISCALE + AND ALL_CF_STATO.FLAG_UTILIZZO_STATO = 1 --Attuale + INNER JOIN C6STAGING.POSITION + ON POSITION.POSITIONID = SPB_CONTR_SINTESI.POSITIONID + INNER JOIN C6STAGING.CONSUL -- join consarea + ON CONSUL.OID$ = POSITION.F_PCONSULENZ_56F23 + AND CONSUL.TYPE$_TIPOCO_1EA7C = ALL_CF_STATO.STATO_CONSULENZA --'Attuale' + INNER JOIN C6STAGING.PRCONSUL + ON PRCONSUL.OID$ = POSITION.F_PPROJECT_P_B5629 + INNER JOIN C6STAGING.CONSAREA + ON CONSAREA.OID$ = PRCONSUL.F_PCONSULENZ_B69E4 + INNER JOIN C6STAGING.CATITEMREF KAT + ON + KAT.oid$ = POSITION.f_oid__posit_00526 + left outer join + C6STAGING.EMIT MIT + ON KAT.CODEMI = MIT.CODEMI + /*LEFT JOIN C6STAGING.SPB_PARTITE_VIAGG + ON SPB_PARTITE_VIAGG.CODICECONFERIMENTO = SPB_CONTR_SINTESI.CODICECONTRATTO*/ + WHERE SPB_CONTR_SINTESI.POSITIONID IS NOT NULL + and CONSAREA.C_NEEDAREA_V_46360 <> 'CC' and C6STAGING.SPB_CONTR_SINTESI.TIPOPRODOTTO <> 'CC' + UNION ALL -- MODIFICA FATTA PER AVERE I CONTI CORRENTI 26 NOVEMBRE (MAURIZIO) + SELECT + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + SPB_CONTR_SINTESI.POSITIONID AS POSITIONID, + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'DT' /* OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'FI' */ THEN SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO + ELSE SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB_CONTR_SINTESI.CODICESTATO AS COD_STATO, + SPB_CONTR_SINTESI.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB_CONTR_SINTESI.CODICEMAF AS COD_MAF, + SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, + SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO, + NULL AS NOME_PROGETTO, + CASE WHEN SPB_CONTR_SINTESI.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + SPB_CONTR_SINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB_CONTR_SINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB_CONTR_SINTESI.QUOTE AS QUANTITA, + SPB_CONTR_SINTESI.PREZZO AS PREZZO, + SPB_CONTR_SINTESI.CTV AS CTV, + SPB_CONTR_SINTESI.VALORE AS CTV_NOMINALE, + SPB_CONTR_SINTESI.CVN AS VERSATO_NETTO, + SPB_CONTR_SINTESI.PARTVIA AS PARTVIA_DISINV, + SPB_CONTR_SINTESI.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, --SPB_PARTITE_VIAGG.IMPORTOVERSATO AS PARTVIA_INV, + SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE AS REND_SOTTOSCRIZIONE, + SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB_CONTR_SINTESI.RENDIMENTODAINIZIOANNO AS REND_ANNO, + STRTYPE, + COMPLEX , + mit.descr as EMITTENTE, + SPB_CONTR_SINTESI.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.SPB_CONTR_SINTESI + INNER JOIN C6STAGING.CATITEMREF KAT + ON SUBSTRING(C6STAGING.SPB_CONTR_SINTESI .POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGING.EMIT MIT + ON MIT.CODEMI=KAT.CODEMI + WHERE C6STAGING.SPB_CONTR_SINTESI.TIPOPRODOTTO = 'CC' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF', + GETDATE(), + 'Elaborazione giornaliera' + ) + INSERT INTO [C6Mart].[PATRIMONIO_BF] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,STRTYPE + ,COMPLEX + ,EMITTENTE + ,SPB_CONTR_SINTESI.ISIN + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + RETE, + COD_FISCALE, + POSITIONID, + COD_PRODOTTO, + ID_CONTRATTO, + DATA_SOTTOSCRIZIONE, + COD_STATO, + NUM_POLIZZA, + COD_MAF, + COD_INTERNO, + COD_SOTTOPRODOTTO, + TIPO_PRODOTTO, + NOME_PROGETTO, + ID_AREA, + DATA_OPERAZIONE, + DATA_VALUTA, + DATA_REGOLAMENTO, + QUANTITA, + PREZZO, + CTV, + CTV_NOMINALE, + VERSATO_NETTO, + PARTVIA_DISINV, + DATA_PARTVIA_DISINV, + PARTVIA_INV, + REND_SOTTOSCRIZIONE, + REND_TRIMESTRE, + REND_ANNO, + STRTYPE, + COMPLEX, + EMITTENTE, + ISIN, + ID_ELAB, + TIPO_ELAB + FROM #PATRIMONIO + UNION ALL -- MODIFICA PER AVERE TUTTI I PRODOTTI NON ALLOCATI + SELECT + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + SPB_CONTR_SINTESI.POSITIONID AS POSITIONID, + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ('DT', 'FI') AND SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO + ELSE SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB_CONTR_SINTESI.CODICESTATO AS COD_STATO, + SPB_CONTR_SINTESI.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB_CONTR_SINTESI.CODICEMAF AS COD_MAF, + SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, + SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO, + LTRIM(RTRIM(NEWPOSITION.NOME_PROGETTO)) AS NOME_PROGETTO, + ISNULL(NEWPOSITION.NEED_BREVE,'Na') AS ID_AREA, + SPB_CONTR_SINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB_CONTR_SINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB_CONTR_SINTESI.QUOTE) AS QUANTITA, + SPB_CONTR_SINTESI.PREZZO AS PREZZO, + convert(decimal(15,3),SPB_CONTR_SINTESI.CTV) AS CTV, + convert(decimal(15,3),SPB_CONTR_SINTESI.VALORE) AS CTV_NOMINALE, + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + ELSE convert(decimal(15,3),SPB_CONTR_SINTESI.CVN) + END AS VERSATO_NETTO, + convert(decimal(15,3),SPB_CONTR_SINTESI.PARTVIA) AS PARTVIA_DISINV, + SPB_CONTR_SINTESI.PARTVIAAL AS DATA_PARTVIA_DISINV, + --SPB_PARTITE_VIAGG.IMPORTOVERSATO AS PARTVIA_INV, + NULL AS PARTVIA_INV, + convert(decimal(8,5),SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE) AS REND_SOTTOSCRIZIONE, + convert(decimal(8,5),SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE) AS REND_TRIMESTRE, + convert(decimal(8,5),SPB_CONTR_SINTESI.RENDIMENTODAINIZIOANNO) AS REND_ANNO, + STRTYPE, + COMPLEX, + EMITTENTE, + SPB_CONTR_SINTESI.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.SPB_CONTR_SINTESI + LEFT JOIN #PATRIMONIO PATR + ON + SPB_CONTR_SINTESI.RETE = PATR.RETE + AND SPB_CONTR_SINTESI.CODICEFISCALE = PATR.COD_FISCALE + AND SPB_CONTR_SINTESI.POSITIONID = PATR.POSITIONID + /*LEFT JOIN C6STAGING.SPB_PARTITE_VIAGG + ON + SPB_PARTITE_VIAGG.CODICECONFERIMENTO = SPB_CONTR_SINTESI.CODICECONTRATTO*/ + LEFT JOIN C6STAGING.vNewPositionProposta NEWPOSITION + ON + SPB_CONTR_SINTESI.RETE = NEWPOSITION.RETE + AND SPB_CONTR_SINTESI.CODICEFISCALE = NEWPOSITION.CODICEFISCALE + AND SPB_CONTR_SINTESI.POSITIONID = NEWPOSITION.positionIDProposta + WHERE SPB_CONTR_SINTESI.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL + DROP TABLE #PATRIMONIO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_PATRIMONIO_BF_old.sql b/sql/storedTestbes/C6Mart_DM_PATRIMONIO_BF_old.sql new file mode 100644 index 00000000..95355621 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_PATRIMONIO_BF_old.sql @@ -0,0 +1,358 @@ +-- Stored Procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 10 marzo 2009 +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PATRIMONIO_BF_old] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_BF + SELECT + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + SPB_CONTR_SINTESI.POSITIONID AS POSITIONID, + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ('DT', 'FI') AND SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO + ELSE SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB_CONTR_SINTESI.CODICESTATO AS COD_STATO, + SPB_CONTR_SINTESI.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB_CONTR_SINTESI.CODICEMAF AS COD_MAF, + SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, + SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO, + CASE + WHEN CONSAREA.C_NEEDAREA_V_46360 = 'Inv' AND PRCONSUL.C_PROJECTNAM_11D1A IS NULL THEN 'Prodotti non associati a progetti' + ELSE LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A)) + END AS NOME_PROGETTO, + --POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + SPB_CONTR_SINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB_CONTR_SINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB_CONTR_SINTESI.QUOTE AS QUANTITA, + SPB_CONTR_SINTESI.PREZZO AS PREZZO, + SPB_CONTR_SINTESI.CTV AS CTV, + SPB_CONTR_SINTESI.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE SPB_CONTR_SINTESI.CVN + END AS VERSATO_NETTO, + SPB_CONTR_SINTESI.PARTVIA AS PARTVIA_DISINV, + SPB_CONTR_SINTESI.PARTVIAAL AS DATA_PARTVIA_DISINV, + --SPB_PARTITE_VIAGG.IMPORTOVERSATO AS PARTVIA_INV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE + END AS REND_SOTTOSCRIZIONE, +-- SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE AS REND_SOTTOSCRIZIONE, + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE + END AS REND_TRIMESTRE, +-- SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + --Modifica Luca + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'ASUL' AND SPB_CONTR_SINTESI.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + -- + ELSE SPB_CONTR_SINTESI.RENDIMENTODAINIZIOANNO + END AS REND_ANNO, +-- SPB_CONTR_SINTESI.RENDIMENTODAINIZIOANNO AS REND_ANNO, + KAT.STRTYPE, + KAT.COMPLEX, + MIT.DESCR AS EMITTENTE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + INTO #PATRIMONIO + FROM C6STAGING.SPB_CONTR_SINTESI + INNER JOIN C6STAGING.ALL_CF_STATO + ON ALL_CF_STATO.RETE = SPB_CONTR_SINTESI.RETE + AND ALL_CF_STATO.CF_CLIENTE = SPB_CONTR_SINTESI.CODICEFISCALE + AND ALL_CF_STATO.FLAG_UTILIZZO_STATO = 1 --Attuale + INNER JOIN C6STAGING.POSITION + ON POSITION.POSITIONID = SPB_CONTR_SINTESI.POSITIONID + INNER JOIN C6STAGING.CONSUL -- join consarea + ON CONSUL.OID$ = POSITION.F_PCONSULENZ_56F23 + AND CONSUL.TYPE$_TIPOCO_1EA7C = ALL_CF_STATO.STATO_CONSULENZA --'Attuale' + INNER JOIN C6STAGING.PRCONSUL + ON PRCONSUL.OID$ = POSITION.F_PPROJECT_P_B5629 + INNER JOIN C6STAGING.CONSAREA + ON CONSAREA.OID$ = PRCONSUL.F_PCONSULENZ_B69E4 + INNER JOIN C6STAGING.CATITEMREF KAT + ON + KAT.oid$ = POSITION.f_oid__posit_00526 + left outer join + C6STAGING.EMIT MIT + ON KAT.CODEMI = MIT.CODEMI + /*LEFT JOIN C6STAGING.SPB_PARTITE_VIAGG + ON SPB_PARTITE_VIAGG.CODICECONFERIMENTO = SPB_CONTR_SINTESI.CODICECONTRATTO*/ + WHERE SPB_CONTR_SINTESI.POSITIONID IS NOT NULL + and CONSAREA.C_NEEDAREA_V_46360 <> 'CC' + UNION ALL -- MODIFICA FATTA PER AVERE I CONTI CORRENTI 26 NOVEMBRE (MAURIZIO) + SELECT + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + SPB_CONTR_SINTESI.POSITIONID AS POSITIONID, + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO = 'DT' /* OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'FI' */ THEN SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO + ELSE SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB_CONTR_SINTESI.CODICESTATO AS COD_STATO, + SPB_CONTR_SINTESI.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB_CONTR_SINTESI.CODICEMAF AS COD_MAF, + SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, + SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO, + NULL AS NOME_PROGETTO, + 'Cc' AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + SPB_CONTR_SINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB_CONTR_SINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB_CONTR_SINTESI.QUOTE AS QUANTITA, + SPB_CONTR_SINTESI.PREZZO AS PREZZO, + SPB_CONTR_SINTESI.CTV AS CTV, + SPB_CONTR_SINTESI.VALORE AS CTV_NOMINALE, + SPB_CONTR_SINTESI.CVN AS VERSATO_NETTO, + SPB_CONTR_SINTESI.PARTVIA AS PARTVIA_DISINV, + SPB_CONTR_SINTESI.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, --SPB_PARTITE_VIAGG.IMPORTOVERSATO AS PARTVIA_INV, + SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE AS REND_SOTTOSCRIZIONE, + SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB_CONTR_SINTESI.RENDIMENTODAINIZIOANNO AS REND_ANNO, + STRTYPE, + COMPLEX , + mit.descr as EMITTENTE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.SPB_CONTR_SINTESI + INNER JOIN C6STAGING.CATITEMREF KAT + ON SUBSTRING(C6STAGING.SPB_CONTR_SINTESI .POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGING.EMIT MIT + ON MIT.CODEMI=KAT.CODEMI + WHERE C6STAGING.SPB_CONTR_SINTESI.TIPOPRODOTTO = 'CC' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_BF', + GETDATE(), + 'Elaborazione giornaliera' + ) + INSERT INTO [C6Mart].[PATRIMONIO_BF] + ([RETE] + ,[COD_FISCALE] + ,[POSITION_ID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,STRTYPE + ,COMPLEX + ,EMITTENTE + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + RETE, + COD_FISCALE, + POSITIONID, + COD_PRODOTTO, + ID_CONTRATTO, + DATA_SOTTOSCRIZIONE, + COD_STATO, + NUM_POLIZZA, + COD_MAF, + COD_INTERNO, + COD_SOTTOPRODOTTO, + TIPO_PRODOTTO, + NOME_PROGETTO, + ID_AREA, + DATA_OPERAZIONE, + DATA_VALUTA, + DATA_REGOLAMENTO, + QUANTITA, + PREZZO, + CTV, + CTV_NOMINALE, + VERSATO_NETTO, + PARTVIA_DISINV, + DATA_PARTVIA_DISINV, + PARTVIA_INV, + REND_SOTTOSCRIZIONE, + REND_TRIMESTRE, + REND_ANNO, + STRTYPE, + COMPLEX, + EMITTENTE, + ID_ELAB, + TIPO_ELAB + FROM #PATRIMONIO + UNION ALL -- MODIFICA PER AVERE TUTTI I PRODOTTI NON ALLOCATI + SELECT + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + SPB_CONTR_SINTESI.POSITIONID AS POSITIONID, + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID,1,57) AS COD_PRODOTTO, + SPB_CONTR_SINTESI.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB_CONTR_SINTESI.TIPOPRODOTTO IN ('DT', 'FI') AND SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB_CONTR_SINTESI.DATAINIZIORENDIMENTO + ELSE SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB_CONTR_SINTESI.CODICESTATO AS COD_STATO, + SPB_CONTR_SINTESI.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB_CONTR_SINTESI.CODICEMAF AS COD_MAF, + SPB_CONTR_SINTESI.CODICEINTERNO AS COD_INTERNO, + SPB_CONTR_SINTESI.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_CONTR_SINTESI.TIPOPRODOTTO AS TIPO_PRODOTTO, + LTRIM(RTRIM(NEWPOSITION.NOME_PROGETTO)) AS NOME_PROGETTO, + ISNULL(NEWPOSITION.NEED_BREVE,'Na') AS ID_AREA, + SPB_CONTR_SINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB_CONTR_SINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB_CONTR_SINTESI.QUOTE) AS QUANTITA, + SPB_CONTR_SINTESI.PREZZO AS PREZZO, + convert(decimal(15,3),SPB_CONTR_SINTESI.CTV) AS CTV, + convert(decimal(15,3),SPB_CONTR_SINTESI.VALORE) AS CTV_NOMINALE, + CASE + WHEN (SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GE' + OR SPB_CONTR_SINTESI.TIPOPRODOTTO = 'GES') + AND SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + ELSE convert(decimal(15,3),SPB_CONTR_SINTESI.CVN) + END AS VERSATO_NETTO, + convert(decimal(15,3),SPB_CONTR_SINTESI.PARTVIA) AS PARTVIA_DISINV, + SPB_CONTR_SINTESI.PARTVIAAL AS DATA_PARTVIA_DISINV, + --SPB_PARTITE_VIAGG.IMPORTOVERSATO AS PARTVIA_INV, + NULL AS PARTVIA_INV, + convert(decimal(8,5),SPB_CONTR_SINTESI.RENDIMENTODASOTTOSCRIZIONE) AS REND_SOTTOSCRIZIONE, + convert(decimal(8,5),SPB_CONTR_SINTESI.RENDIMENTODAINIZIOTRIMESTRE) AS REND_TRIMESTRE, + convert(decimal(8,5),SPB_CONTR_SINTESI.RENDIMENTODAINIZIOANNO) AS REND_ANNO, + STRTYPE, + COMPLEX, + EMITTENTE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.SPB_CONTR_SINTESI + LEFT JOIN #PATRIMONIO PATR + ON + SPB_CONTR_SINTESI.RETE = PATR.RETE + AND SPB_CONTR_SINTESI.CODICEFISCALE = PATR.COD_FISCALE + AND SPB_CONTR_SINTESI.POSITIONID = PATR.POSITIONID + /*LEFT JOIN C6STAGING.SPB_PARTITE_VIAGG + ON + SPB_PARTITE_VIAGG.CODICECONFERIMENTO = SPB_CONTR_SINTESI.CODICECONTRATTO*/ + LEFT JOIN C6STAGING.vNewPositionProposta NEWPOSITION + ON + SPB_CONTR_SINTESI.RETE = NEWPOSITION.RETE + AND SPB_CONTR_SINTESI.CODICEFISCALE = NEWPOSITION.CODICEFISCALE + AND SPB_CONTR_SINTESI.POSITIONID = NEWPOSITION.positionIDProposta + WHERE SPB_CONTR_SINTESI.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL + DROP TABLE #PATRIMONIO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_BF' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_BF' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_PATRIMONIO_EMITTENTI.sql b/sql/storedTestbes/C6Mart_DM_PATRIMONIO_EMITTENTI.sql new file mode 100644 index 00000000..086fca08 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_PATRIMONIO_EMITTENTI.sql @@ -0,0 +1,160 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PATRIMONIO_EMITTENTI] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_EMITTENTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_EMITTENTI +INSERT INTO +[C6MART].[PATRIMONIO_EMITTENTI] +( +COD_FISCALE, +RETE, +POSITION_ID, +COD_PRODOTTO, +COD_ADEGUATEZZA, +INTERMEDIARIO, +CTV_INTERMEDIARIO, +CTV_INTER_NOCC_NEG, +EMITTENTE, +COMPLESSITA, +CTV_EMITTENTE, +CTV_PRODOTTO, +FLG_AZ_OB, +CREDITRISKCLASS, +CTV_AZIONARIO, +CTV_OBBLIGAZIONARIO, +CTV_AZ_OB_EMIT, +CTV_AZ_OB_EMIT_INTER, +CTV_COMPLESSIVO, +CTV_COMPL_NOCC_NEG, +CONC_EMITTENTE, +CONC_EMIT_INTERM, +COPERTURA +) + SELECT H.COD_FISCALE, + H.RETE, + H.POSITION_ID, + H.COD_PRODOTTO AS CATALOGUENAME, + '' AS COD_ADEGUATEZZA, + 'BF' AS INTERMEDIARIO, + sum(h.ctv) over (partition by h.cod_fiscale, h.rete) AS PATRIMONIO_INTERMEDIARIO, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END ) over (partition by h.cod_fiscale, h.rete) AS PATRIMONIO_INTER_nocc_neg, + H.EMITTENTE, + H.COMPLEX AS COMPLESSITA, + sum(h.ctv) over (partition by h.cod_fiscale, H.rete, H.EMITTENTE) AS PATRIMONIO_EMITTENTE, + h.ctv as CONTROVALORE_PRODOTTO, + CASE WHEN H.STRTYPE IN ('AZ', 'OB') THEN H.STRTYPE ELSE NULL END AS AZ_OB, + K.classe AS CREDITRISKCLASS, + SUM( case when STRTYPE = 'AZ' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE, H.POSITION_ID) AS CTV_AZIONARIO, + SUM(case when STRTYPE = 'OB' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE, H.POSITION_ID) AS CTV_OBBLIGAZIONARIO, + SUM( case when STRTYPE IN ( 'AZ','OB') then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE) PATRIMONIO_AZ_OB_EMIT, + SUM( case when STRTYPE IN ( 'AZ','OB') then h.ctv else 0 end ) OVER( PARTITION BY H.COd_FISCALE,H.RETE,EMITTENTE) PATRIM_AZ_OB_EMIT_INTER, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPLESSIVO, + sum(case when h.tipo_prodotto='CC' and h.ctv < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPL_nocc_neg, + 0 as concentrazione_emittente, + 0 AS concentraz_emit_interm, + r.copertura + FROM C6MART.PATRIMONIO_BF H + LEFT OUTER join + C6MART.RISCHIO_AGGREGATO R + on + H.COD_FISCALE=R.COD_FISCALE + AND H.RETE=R.RETE + AND r.COD_AGGREG = + CASE + WHEN (h.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(h.ID_AREA,3) + '|' + h.NOME_PROGETTO+ '|' + when LEFT(h.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(h.ID_AREA,3) + '|' + END + + ltrim(rtrim(h.POSITION_ID)) + left outer join +-- +--select * from c6mart.rischioEmittenti +--select * from c6mart.rischio_aggregato +C6Mart.RISCHIOEMITTENTI K + on + R.CREDITRISKEMIT=ORDINE +---- PATRIMONIO TERZI +UNION all +SELECT DISTINCT h.COD_FISCALE, + h.RETE, + '' AS POSITION_ID, + H.COD_PRODOTTO AS CATALOGUENAME, + '' as COD_ADEGUATEZZA, + CASE + WHEN h.INTERMEDIARIO = 'BF' THEN + NULL + ELSE + h.INTERMEDIARIO + END AS INTERMEDIARIO, + sum(ROUND(h.CTV,2)) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_INTERMEDIARIO, + sum(case when h.tipo_prodotto='CC' and ROUND(h.CTV,2) < 0 then 0 else ROUND(h.CTV,2) END ) over (partition by h.cod_fiscale, h.rete) AS PATRIMONIO_INTER_nocc_neg, + h.EMITTENTE, + h.complex as COMPLESSITA, + 0 AS PATRIMONIO_EMITTENTE, + ROUND(h.CTV,2) as CONTROVALORE_PRODOTTO, + CASE WHEN H.STRTYPE IN ('AZ', 'OB') THEN H.STRTYPE ELSE NULL END AS AZ_OB, + K.classe AS CREDITRISKCLASS, + SUM( case when STRTYPE = 'AZ' then ROUND(h.CTV,2) else 0 end ) OVER( PARTITION BY H.COd_FISCALE,H.RETE, H.EMITTENTE, H.intermediario, H.COD_PRODOTTO_TERZI) AS CTV_AZIONARIO, --aggiunto il cod_prodotto_terzi per identificare il singolo prodotto + SUM(case when STRTYPE = 'OB' then h.ctv else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE, H.EMITTENTE, H.intermediario, H.COD_PRODOTTO_TERZI ) AS CTV_OBBLIGAZIONARIO, --aggiunto il cod_prodotto_terzi per identificare il singolo prodotto + SUM( case when STRTYPE IN ( 'AZ','OB') then ROUND(h.CTV,2) else 0 end ) OVER( PARTITION BY H.COD_FISCALE,H.RETE,EMITTENTE) PATRIMONIO_AZ_OB_EMIT, + SUM( case when STRTYPE IN ( 'AZ','OB') then ROUND(h.CTV,2) else 0 end ) OVER( PARTITION BY H.COd_FISCALE,H.RETE,EMITTENTE, h.intermediario ) PATRIM_AZ_OB_EMIT_INTER, + sum(case when h.tipo_prodotto='CC' and ROUND(h.CTV,2) < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete) as PATRIMONIO_COMPLESSIVO, + sum(case when h.tipo_prodotto='CC' and ROUND(h.CTV,2) < 0 then 0 else h.ctv END) over (partition by h.cod_fiscale, h.rete, h.intermediario) as PATRIMONIO_COMPL_nocc_neg, + 0 as concentrazione_emittente, + 0 as concentraz_emit_interm, + r.copertura + FROM + C6MART.PATRIMONIO_TERZI H + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO R + ON + H.COD_FISCALE=R.COD_FISCALE + AND H.RETE=R.RETE + AND r.COD_AGGREG ='COMPLESSIVO|TERZI|' + RTRIM(H.INTERMEDIARIO) + '|' + RTRIM(H.chiave_thr) + LEFT OUTER join + C6Mart.RISCHIOEMITTENTI K + on + R.CREDITRISKEMIT=ORDINE + WHERE + 1=1 + AND H.INTERMEDIARIO <> 'BF' + --AND V.POSITIONID=H.COD_PRODOTTO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_EMITTENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_EMITTENTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_PATRIMONIO_IMMOBILIARE.sql b/sql/storedTestbes/C6Mart_DM_PATRIMONIO_IMMOBILIARE.sql new file mode 100644 index 00000000..00ab15d5 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_PATRIMONIO_IMMOBILIARE.sql @@ -0,0 +1,82 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PATRIMONIO_IMMOBILIARE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_IMMOBILIARE + INSERT INTO [C6Mart].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + -- DISTINCT Atringali 12012010 + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, + CASE ALL_PATR_TERZI.TIPOLOGIA_RDESCR + WHEN 'Civil' THEN 'Civile' + WHEN 'Economic' THEN 'Economica' + WHEN 'Posh' THEN 'Signorile' + ELSE '' + END AS TIPOLOGIA, + ALL_PATR_TERZI.LOCALITA AS LOCALITA, + NULL AS PROVINCIA, + NULL AS CAP, + NULL AS NAZIONE, + ALL_PATR_TERZI.PATRIMONIO_IMMOBILIARE AS VALORE_STIMATO, + ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_PATR_TERZI + WHERE ALL_PATR_TERZI.CHIAVE_PR_31921 IS NOT NULL + --V Dal passaggio in prod del 21/10/2010 su oracle questo campo è sempre null AND ALL_PATR_TERZI.CHIAVE_RDESC IS NOT NULL + AND ALL_PATR_TERZI.DESCRIZIONE_RDESCR IS NOT NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_IMMOBILIARE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_PATRIMONIO_TERZI.sql b/sql/storedTestbes/C6Mart_DM_PATRIMONIO_TERZI.sql new file mode 100644 index 00000000..c6c2d494 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_PATRIMONIO_TERZI.sql @@ -0,0 +1,162 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PATRIMONIO_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PATRIMONIO_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_TERZI + INSERT INTO [C6Mart].[PATRIMONIO_TERZI] + ([RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_PATR_TERZI.RETE_PB AS RETE, + ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + ALL_PATR_TERZI.TIPO_POLIZZA_BT_97BEE AS TIPO_POLIZZA, + --COALESCE(PRODOTTI_A_CATALOGO.TIPO_PRODOTTO, PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO) AS TIPO_PRODOTTO, + CASE + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' AND S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 = 'Conti correnti' + THEN 'Altro' + ELSE + COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) + END AS TIPO_PRODOTTO, + PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO2 AS TIPO_PRODOTTO2, + ISNULL(ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO,'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + ISNULL(ALL_PATR_TERZI.CHIAVE_THR,'PRODOTTO IN CATALOGO') AS COD_PRODOTTO_TERZI, + ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, + --ALL_PATR_TERZI.DATA_INIZIO_INV AS DATA_SOTTOSCRIZIONE, + --ISNULL(ALL_PATR_TERZI.DATA_INIZIO_INV, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ) AS DATA_SOTTOSCRIZIONE, + --ALL_PATR_TERZI.BALANCEDATETIME_DI_THR AS DATA_SOTTOSCRIZIONE, + CASE + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.PolizzeRivalutabili') -- PRODOTTI S49 + THEN ISNULL(ALL_PATR_TERZI.DATA_SOTTOSCRIZIONE, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ) + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.ProdottiPrevidenziali') -- PRODOTTI S50 + THEN ALL_PATR_TERZI.BALANCEDATETIME_DI_THR -- EQUIVALENTE A ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ + ELSE -- PRODOTTI S48 + ALL_PATR_TERZI.DATA_INIZIO_INV + END AS DATA_SOTTOSCRIZIONE, + ALL_PATR_TERZI.DATA_SCADENZA AS DATA_SCADENZA, + ALL_PATR_TERZI.TIPO_VERSAMENTO_BT_6797 AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + ALL_PATR_TERZI.PREMIO_VERSAMENTO AS PREMIO, + NULL AS ALIQUOTA, + ALL_PATR_TERZI.BALANCEDATETIME_DI_THR AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + ALL_PATR_TERZI.PATRIMONIO_TERZI AS CTV, + ALL_PATR_TERZI.CAPITALE_INVESTITO AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' + THEN 'Portafoglio Generico' + WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') + THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + STRTYPE, + COMPLEX, + EMITTENTE, + ALL_PATR_TERZI.CHIAVE_THR, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_PATR_TERZI + INNER JOIN C6STAGING.S4_S5_S13_TRAD_UNTIL_LIV3 + ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA + LEFT JOIN ( + SELECT DISTINCT + ALL_PATR_TERZI.CHIAVE_THR AS CHIAVE_THR, + COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, + S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 AS TIPO_PRODOTTO2 + FROM C6STAGING.ALL_PATR_TERZI + INNER JOIN C6STAGING.S4_S5_S13_TRAD_UNTIL_LIV3 + ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA + ) AS PRODOTTI_NON_A_CATALOGO + ON PRODOTTI_NON_A_CATALOGO.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_THR + LEFT JOIN ( + SELECT + CATITEMREF.CATALOGUEID AS CATALOGUEID, + CATITEMREF.TIPOPRODOTTO AS TIPO_PRODOTTO, + CATITEMREF.STRTYPE, + CATITEMREF.COMPLEX, + MIT.DESCR AS EMITTENTE + FROM + C6STAGING.CATITEMREF LEFT OUTER JOIN + C6STAGING.EMIT MIT + ON MIT.CODEMI=CATITEMREF.CODEMI + ) PRODOTTI_A_CATALOGO + ON PRODOTTI_A_CATALOGO.CATALOGUEID = ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PATRIMONIO_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PATRIMONIO_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_PIRAMIDE_MOD.sql b/sql/storedTestbes/C6Mart_DM_PIRAMIDE_MOD.sql new file mode 100644 index 00000000..65acc29b --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_PIRAMIDE_MOD.sql @@ -0,0 +1,85 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PIRAMIDE_MOD] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PIRAMIDE_MOD', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PIRAMIDE_MOD + INSERT INTO [C6Mart].[PIRAMIDE_MOD] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + ALL_CF_PB.RETE_PB AS RETE, + ALL_CF_PB.CODICE_FISCALE AS COD_FISCALE, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + PRCONSUL.C_PROJECTNAM_11D1A AS NOME_PROGETTO, + PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO, + PRCONSUL.C_PERCENTUAL_69019 AS PERC_AREA, + PRCONSUL.C_PROJECTCTV_39520 AS CTV_PROGETTO, + CONSAREA.C_CTVNEEDARE_EA4FB AS CTV_AREA, + C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA, + ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + CONSUL.C_DATAMIGRAZ_BF705 AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_CF_PB + INNER JOIN C6STAGING.CONSUL + ON CONSUL.INSTID = ALL_CF_PB.RETE_PB + AND CONSUL.ADBKID = ALL_CF_PB.CODICEFISCALE + AND CONSUL.TYPE$_TIPOCO_1EA7C = 'Bozza' --'AttivaAggiornata' + INNER JOIN C6STAGING.CONSAREA + ON CONSAREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + INNER JOIN C6STAGING.PRCONSUL + ON PRCONSUL.F_PCONSULENZ_B69E4 = CONSAREA.OID$ + LEFT JOIN C6STAGING.C_BO_453FB + ON C_BO_453FB.PK_PRC = PRCONSUL.OID$ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PIRAMIDE_MOD' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PIRAMIDE_MOD' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_PIRAMIDE_VERT.sql b/sql/storedTestbes/C6Mart_DM_PIRAMIDE_VERT.sql new file mode 100644 index 00000000..7018b485 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_PIRAMIDE_VERT.sql @@ -0,0 +1,61 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 25/11/2008 +-- Description: Modificate le tabelle da cui pescare i dati (non più la all_pos_cons_cat) +-- ============================================= +CREATE procedure [C6Mart].[DM_PIRAMIDE_VERT] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PIRAMIDE_VERT', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PIRAMIDE_VERT + INSERT INTO [C6Mart].[PIRAMIDE_VERT] + ([RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[CTV_AREA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + ALL_CF_PB.RETE_PB AS RETE, + ALL_CF_PB.CODICE_FISCALE AS COD_FISCALE, + CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA, + CONSAREA.C_CTVNEEDARE_EA4FB AS CTV_AREA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_CF_PB + INNER JOIN C6STAGING.CONSUL + ON CONSUL.INSTID = ALL_CF_PB.RETE_PB + AND CONSUL.ADBKID = ALL_CF_PB.CODICEFISCALE + AND CONSUL.TYPE$_TIPOCO_1EA7C = 'Bozza' --'AttivaAggiornata' + INNER JOIN C6STAGING.CONSAREA + ON CONSAREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PIRAMIDE_VERT' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PIRAMIDE_VERT' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_PREVIDENZIALE.sql b/sql/storedTestbes/C6Mart_DM_PREVIDENZIALE.sql new file mode 100644 index 00000000..c5a1045a --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_PREVIDENZIALE.sql @@ -0,0 +1,88 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_PREVIDENZIALE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PREVIDENZIALE', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PREVIDENZIALE + INSERT INTO [C6Mart].[PREVIDENZIALE] + ([RETE] + ,[COD_FISCALE] + ,[ANNO_PENSIONE] + ,[ETA_PENSIONE] + ,[TOT_CONSUMI_ATTESI] + ,[TOT_REDDITO_ANNUO] + ,[REDDITO_CONSUMI_ESS] + ,[PENSIONE_ATTESA_] + ,[RENDITA_PREV_COMPL] + ,[RENDITA_ASS] + ,[REDDITO_CONSUMI_SEC] + ,[RENDITA_ASS_TRAD] + ,[RENDITA_ASS_UNIT] + ,[RENDITA_IMMOB] + ,[ALTRE_RENDITE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + SUBSTRING(C6STAGING.ALL_CF_PB.RETE_PB,1,1) AS RETE, + SUBSTRING(C6STAGING.ALL_CF_PB.CODICE_FISCALE,1,16) AS COD_FISCALE, + YEAR(DATEADD(YY, QUANTIF.RETIREMENTYEARS, ALL_CF_PB.DATA_NASCITA)) AS ANNO_PENSIONE, + QUANTIF.RETIREMENTYEARS AS ETA_PENSIONE, + QUANTIF.EXPNEEDSAMT AS TOT_CONSUMI_ATTESI, + QUANTIF.GROSSINPRIMAMT + QUANTIF.GROSSINSECAMT AS TOT_REDDITO_ANNUO, + QUANTIF.GROSSINPRIMAMT AS REDDITO_CONSUMI_ESS, + QUANTIF.STATEPENSIONAMT AS PENSIONE_ATTESA_, + QUANTIF.PRIVATEPENSIONAMT AS RENDITA_PREV_COMPL, + QUANTIF.LIFEINTERESTAMT AS RENDITA_ASS, + QUANTIF.GROSSINSECAMT AS REDDITO_CONSUMI_SEC, + QUANTIF.INSINTERESTAMT AS RENDITA_ASS_TRAD, + QUANTIF.INVINTERESTAMT AS RENDITA_ASS_UNIT, + QUANTIF.REINTERESTAMT AS RENDITA_IMMOB, + ESTRAZIONE_OTHINTRST.ALTRE_RENDITE AS ALTRE_RENDITE, + QUANTIF.EXPNEEDSCUR AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.ALL_CF_PB + INNER JOIN C6STAGING.QUANTIF ON ALL_CF_PB.ID_CLI = QUANTIF.F_OID__ADDRE_81D21 + LEFT JOIN ( + SELECT F_PQUANTIFIC_76FF6, SUM(INTERESTAMT) AS ALTRE_RENDITE + FROM C6STAGING.OTHINTRST + GROUP BY F_PQUANTIFIC_76FF6 + ) ESTRAZIONE_OTHINTRST + ON ESTRAZIONE_OTHINTRST.F_PQUANTIFIC_76FF6 = QUANTIF.OID_ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PREVIDENZIALE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PREVIDENZIALE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_PopolaContratti.sql b/sql/storedTestbes/C6Mart_DM_PopolaContratti.sql new file mode 100644 index 00000000..eb2dfee5 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_PopolaContratti.sql @@ -0,0 +1,244 @@ +----- not used in mart +CREATE procedure [C6Mart].[DM_PopolaContratti] +AS +BEGIN + DECLARE @ULTIMOPROGRINVIO int--SMALLINT + DECLARE @ORDINEELAB int--SMALLINT + DECLARE @RIATTIVAZIONE int--SMALLINT + DECLARE @inizio DATETIME + DECLARE @fine DATETIME + DECLARE @righeUpdate INT + DECLARE @righeInsert INT + SET @inizio = GETDATE() + SET @righeUpdate = 0 + SET @righeInsert = 0 + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('DM_PopolaContratti',@inizio,'Elaborazione giornaliera') + --AGGIORNAMENTO CONTRATTI + --I RECORD PRESENTI NELLA VARIAZIONE_CONTRSEI POTREBBERO ESSERE + --POPOLATI IN ELABORAZIONI DIFFERENTI. VANNO ESEGUITI IN ORDINE + --DICHIARAZIONE CURSORE PER ESTRARRE LE ELABORAZIONI + DECLARE ELABORAZIONI CURSOR LOCAL FORWARD_ONLY + FOR + SELECT ULTIMO_PROGRESSIVO_INVIO, ORDINE_DI_ELABORAZIONE_RIGA, RIATTIVAZIONE + FROM C6STAGING.VARIAZIONE_CONTRSEI + ORDER BY ULTIMO_PROGRESSIVO_INVIO, ORDINE_DI_ELABORAZIONE_RIGA + --APERTURA CURSORE + OPEN ELABORAZIONI + FETCH NEXT FROM ELABORAZIONI INTO @ULTIMOPROGRINVIO, @ORDINEELAB, @RIATTIVAZIONE + WHILE @@FETCH_STATUS = 0 + BEGIN + --AGGIORNAMENTO CONTRATTI ESISTENTI + UPDATE C6Mart.CONTRATTOSEI + SET + Cod_Fiscale = VARC6.CODICE_FISCALE + ,Data_Sott = VARC6.DATA_SOTTOSCRIZIONE_C6 + ,Cod_Agente = VARC6.PB + ,Data_Perf_Base = VARC6.DATA_PERFEZIONAMENTO_BASE + ,Data_Perf = VARC6.DATA_PERFEZIONAMENTO_C6 + ,Fascia_CPP = VARC6.CPP + ,Email = VARC6.EMAIL + ,Indirizzo = VARC6.INDIRIZZO + ,CAP = VARC6.CAP + ,Citta = VARC6.CITTA + ,Prov = VARC6.PROVINCIA + ,Nazione = VARC6.NAZIONE + ,Presso = VARC6.PRESSO + ,Freq_Diagnosi = VARC6.FREQUENZA_DIAGNOSI + ,Freq_Monitor = isnull(VARC6.FREQUENZA_MONITORAGGIO,'T') + ,Data_InizioBase = VARC6.DATA_SOTTOSCRIZIONE_BASE + ,Data_FineBase = VARC6.DATA_CHIUSURA_BASE + ,Data_FineAvanzato = VARC6.DATA_CHIUSURA_C6 + ,ProgressivoInvio = VARC6.ULTIMO_PROGRESSIVO_INVIO + ,GenerazioneReport = VARC6.FLAG_STAMPA_REPORT + ,Rol = isnull(VARC6.Flag_Rol,'N') + ,tip_Contratto = CASE + WHEN VARC6.tip_Contratto = 'A' THEN 1 + WHEN VARC6.tip_Contratto = 'P' THEN 2 + ELSE 0 + END + ,tip_Riattivazione = @RIATTIVAZIONE + ,numRevoche = CASE + WHEN @RIATTIVAZIONE = 0 THEN numRevoche + ELSE 0 + END + ,data_UltimaRevoca = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_UltimaRevoca + ELSE NULL + END + ,invioBenvenuto = CASE + WHEN @RIATTIVAZIONE = 0 THEN invioBenvenuto + ELSE 'N' + END + ,numSolleciti = CASE + WHEN (C6.Rete <> VARC6.Rete_PB OR C6.Cod_Agente <> VARC6.PB) THEN 0 + WHEN @RIATTIVAZIONE = 0 THEN numSolleciti + ELSE 0 + END + ,data_UltimoSollecito = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_UltimoSollecito + ELSE NULL + END + ,data_Invio_Monitoraggio_Trimestrale = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_Invio_Monitoraggio_Trimestrale + ELSE NULL + END + ,data_Invio_Diagnosi_Trimestrale = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_Invio_Diagnosi_Trimestrale + ELSE NULL + END + FROM C6MART.CONTRATTOSEI C6 + INNER JOIN C6STAGING.VARIAZIONE_CONTRSEI VARC6 + ON C6.RETE = VARC6.RETE_PB + AND C6.CODICECONTRATTO = VARC6.CODICE_CONTRATTO + AND VARC6.ULTIMO_PROGRESSIVO_INVIO = @ULTIMOPROGRINVIO + AND VARC6.ORDINE_DI_ELABORAZIONE_RIGA = @ORDINEELAB + SET @righeUpdate = @righeUpdate + @@ROWCOUNT + IF @@ROWCOUNT > 0 + IF @RIATTIVAZIONE = 1 + BEGIN + UPDATE C6MART.Gestione_EMAIL + SET TIPO = 'OLD' + FROM C6MART.Gestione_EMAIL EMAIL + INNER JOIN C6STAGING.VARIAZIONE_CONTRSEI VARC6 + ON VARC6.CODICE_FISCALE = EMAIL.COD_FISCALE + AND VARC6.rete_pb = EMAIL.RETE + AND VARC6.ULTIMO_PROGRESSIVO_INVIO = @ULTIMOPROGRINVIO + AND VARC6.ORDINE_DI_ELABORAZIONE_RIGA = @ORDINEELAB + AND EMAIL.TIPO = 'PERF' + END + ELSE + BEGIN + --INSERIMENTO NUOVI CONTRATTI + print 'ORDINEELAB=' + convert(varchar,@ORDINEELAB) + ' ULTIMOPROGRINVIO=' + convert(varchar,@ULTIMOPROGRINVIO ) + INSERT INTO C6Mart.CONTRATTOSEI ( + Rete + ,Cod_Fiscale + ,Piva_Fiduciaria + ,Data_Sott + ,CodiceContratto + ,Cod_Agente + ,Data_Perf_Base + ,Data_Perf + ,Fascia_CPP + ,Email + ,Indirizzo + ,CAP + ,Citta + ,Prov + ,Nazione + ,Presso + ,Data_Inizio + ,Freq_Diagnosi + ,Freq_Monitor + ,Freq_DiagnosiPrec + ,Freq_MonitorPrec + ,Data_InizioConsInv + ,Data_InizioBase + ,Data_FineBase + ,Data_InizioAvanzato + ,Data_FineAvanzato + ,ProgressivoInvio + ,GenerazioneReport + ,InvioBenvenuto + ,DataUltimoInvio + ,ClienteMigrato + ,RisorseNA + ,NumSolleciti + ,Data_UltimoSollecito + ,Note + ,Rol + ,tip_Contratto + ,tip_Riattivazione) + SELECT + VARC6.RETE_PB, + VARC6.CODICE_FISCALE, + MIGR.PIVA, + VARC6.DATA_SOTTOSCRIZIONE_C6, + VARC6.CODICE_CONTRATTO, + VARC6.PB, + VARC6.DATA_PERFEZIONAMENTO_BASE, + VARC6.DATA_PERFEZIONAMENTO_C6, + VARC6.CPP, + VARC6.EMAIL, + VARC6.INDIRIZZO, + VARC6.CAP, + VARC6.CITTA, + VARC6.PROVINCIA, + VARC6.NAZIONE, + VARC6.PRESSO, + NULL AS Data_Inizio, + VARC6.FREQUENZA_DIAGNOSI, + VARC6.FREQUENZA_MONITORAGGIO, + NULL AS Freq_DiagnosiPrec, + NULL AS Freq_MonitorPrec, + NULL AS Data_InizioConsInv, + VARC6.DATA_SOTTOSCRIZIONE_BASE, + VARC6.DATA_CHIUSURA_BASE, + VARC6.DATA_PERFEZIONAMENTO_C6, + VARC6.DATA_CHIUSURA_C6, + VARC6.ULTIMO_PROGRESSIVO_INVIO, + VARC6.FLAG_STAMPA_REPORT AS GenerazioneReport, + 'N' as InvioBenvenuto, + NULL as DataUltimoInvio, + ISNULL(LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1),'N'), + NULL AS RisorseNA, + 0 AS NumSolleciti, + NULL AS Data_UltimoSollecito, + NULL AS NOTE, + ISNULL(VARC6.Flag_Rol,'N'), + CASE + WHEN VARC6.tip_Contratto = 'A' THEN 1 + WHEN VARC6.tip_Contratto = 'P' THEN 2 + ELSE 0 + END, + VARC6.riattivazione + FROM C6STAGING.VARIAZIONE_CONTRSEI VARC6 + LEFT JOIN C6STAGING.V_CLIENTI_CONTRSEI_CON_MIGRAZ MIGR + ON MIGR.RETE_PB = VARC6.RETE_PB + AND MIGR.Codice_Fiscale = VARC6.Codice_Fiscale + AND MIGR.codice_contratto = VARC6.codice_contratto + LEFT JOIN C6MART.CONTRATTOSEI C6 + ON VARC6.RETE_PB = C6.RETE + AND VARC6.Codice_Fiscale = C6.Cod_Fiscale + AND VARC6.Codice_Contratto = C6.CodiceContratto + WHERE 1 = 1 + AND VARC6.ULTIMO_PROGRESSIVO_INVIO = @ULTIMOPROGRINVIO + AND VARC6.ORDINE_DI_ELABORAZIONE_RIGA = @ORDINEELAB + AND C6.COD_FISCALE IS NULL + SET @righeInsert = @righeInsert + @@ROWCOUNT + END + FETCH NEXT FROM ELABORAZIONI INTO @ULTIMOPROGRINVIO, @ORDINEELAB, @RIATTIVAZIONE + END + SET @fine = GETDATE() + print convert(varchar,@inizio,113 ) + ' ' + convert(varchar,@fine,113 ) + -- Log esecuzione + UPDATE LOG_ESECUZIONE + SET Fine = @fine,Tipo = 'UPDATE',Righe = @righeUpdate + WHERE Nome = 'DM_PopolaContratti' AND + Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'DM_PopolaContratti') + INSERT INTO LOG_ESECUZIONE + VALUES ('DM_PopolaContratti',@inizio,@fine,'INSERT',@righeInsert,'Elaborazione giornaliera') + INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('DM_PopolaContratti',GETDATE(),'Elaborazione giornaliera') + --Inserisco il cambio migrazioni anche per i clienti per cui non ho una variazione + DECLARE @maxInvioSoll AS SMALLINT + SET @maxInvioSoll = dbo.getParametro('MaxInvioSoll') + UPDATE C6Mart.CONTRATTOSEI + ---------------en 20161026 + --SET ClienteMigrato = ISNULL(LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1),'N'), + -------------------------- + SET ClienteMigrato = 'S', + NumSolleciti = CASE --V aggiunta condizione profilo attivo per il riazzeramento solleciti + WHEN (LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1)='S' AND ISNULL(C6.RisorseNA,'N')='N') and isnull(profiloAttivo,1) = 1 AND NumSolleciti <= @maxInvioSoll THEN 0 + ELSE NumSolleciti + END + FROM C6MART.CONTRATTOSEI C6 + INNER JOIN C6STAGING.V_CLIENTI_CONTRSEI_CON_MIGRAZ MIGR + ON C6.RETE = MIGR.RETE_PB + AND C6.COD_FISCALE = MIGR.CODICE_FISCALE + -- Log esecuzione + UPDATE LOG_ESECUZIONE SET Fine = GETDATE(),Tipo = 'UPDATE',Righe = @@ROWCOUNT + WHERE Nome = 'DM_PopolaContratti' AND Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'DM_PopolaContratti') +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_PopolaContratti_20161026.sql b/sql/storedTestbes/C6Mart_DM_PopolaContratti_20161026.sql new file mode 100644 index 00000000..501ef4b7 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_PopolaContratti_20161026.sql @@ -0,0 +1,245 @@ +-- ============================================= +-- Author: Luca +-- Create date: 13/11/2008 +-- Description: Aggiornamento tabella contratti +-- ============================================= +CREATE procedure [C6Mart].[DM_PopolaContratti_20161026] +AS +BEGIN + DECLARE @ULTIMOPROGRINVIO int--SMALLINT + DECLARE @ORDINEELAB int--SMALLINT + DECLARE @RIATTIVAZIONE int--SMALLINT + DECLARE @inizio DATETIME + DECLARE @fine DATETIME + DECLARE @righeUpdate INT + DECLARE @righeInsert INT + SET @inizio = GETDATE() + SET @righeUpdate = 0 + SET @righeInsert = 0 + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('DM_PopolaContratti',@inizio,'Elaborazione giornaliera') + --AGGIORNAMENTO CONTRATTI + --I RECORD PRESENTI NELLA VARIAZIONE_CONTRSEI POTREBBERO ESSERE + --POPOLATI IN ELABORAZIONI DIFFERENTI. VANNO ESEGUITI IN ORDINE + --DICHIARAZIONE CURSORE PER ESTRARRE LE ELABORAZIONI + DECLARE ELABORAZIONI CURSOR LOCAL FORWARD_ONLY + FOR + SELECT ULTIMO_PROGRESSIVO_INVIO, ORDINE_DI_ELABORAZIONE_RIGA, RIATTIVAZIONE + FROM C6STAGING.VARIAZIONE_CONTRSEI + ORDER BY ULTIMO_PROGRESSIVO_INVIO, ORDINE_DI_ELABORAZIONE_RIGA + --APERTURA CURSORE + OPEN ELABORAZIONI + FETCH NEXT FROM ELABORAZIONI INTO @ULTIMOPROGRINVIO, @ORDINEELAB, @RIATTIVAZIONE + WHILE @@FETCH_STATUS = 0 + BEGIN + --AGGIORNAMENTO CONTRATTI ESISTENTI + UPDATE C6Mart.CONTRATTOSEI + SET + Cod_Fiscale = VARC6.CODICE_FISCALE + ,Data_Sott = VARC6.DATA_SOTTOSCRIZIONE_C6 + ,Cod_Agente = VARC6.PB + ,Data_Perf_Base = VARC6.DATA_PERFEZIONAMENTO_BASE + ,Data_Perf = VARC6.DATA_PERFEZIONAMENTO_C6 + ,Fascia_CPP = VARC6.CPP + ,Email = VARC6.EMAIL + ,Indirizzo = VARC6.INDIRIZZO + ,CAP = VARC6.CAP + ,Citta = VARC6.CITTA + ,Prov = VARC6.PROVINCIA + ,Nazione = VARC6.NAZIONE + ,Presso = VARC6.PRESSO + ,Freq_Diagnosi = VARC6.FREQUENZA_DIAGNOSI + ,Freq_Monitor = isnull(VARC6.FREQUENZA_MONITORAGGIO,'T') + ,Data_InizioBase = VARC6.DATA_SOTTOSCRIZIONE_BASE + ,Data_FineBase = VARC6.DATA_CHIUSURA_BASE + ,Data_FineAvanzato = VARC6.DATA_CHIUSURA_C6 + ,ProgressivoInvio = VARC6.ULTIMO_PROGRESSIVO_INVIO + ,GenerazioneReport = VARC6.FLAG_STAMPA_REPORT + ,Rol = isnull(VARC6.Flag_Rol,'N') + ,tip_Contratto = CASE + WHEN VARC6.tip_Contratto = 'A' THEN 1 + WHEN VARC6.tip_Contratto = 'P' THEN 2 + ELSE 0 + END + ,tip_Riattivazione = @RIATTIVAZIONE + ,numRevoche = CASE + WHEN @RIATTIVAZIONE = 0 THEN numRevoche + ELSE 0 + END + ,data_UltimaRevoca = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_UltimaRevoca + ELSE NULL + END + ,invioBenvenuto = CASE + WHEN @RIATTIVAZIONE = 0 THEN invioBenvenuto + ELSE 'N' + END + ,numSolleciti = CASE + WHEN (C6.Rete <> VARC6.Rete_PB OR C6.Cod_Agente <> VARC6.PB) THEN 0 + WHEN @RIATTIVAZIONE = 0 THEN numSolleciti + ELSE 0 + END + ,data_UltimoSollecito = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_UltimoSollecito + ELSE NULL + END + ,data_Invio_Monitoraggio_Trimestrale = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_Invio_Monitoraggio_Trimestrale + ELSE NULL + END + ,data_Invio_Diagnosi_Trimestrale = CASE + WHEN @RIATTIVAZIONE = 0 THEN data_Invio_Diagnosi_Trimestrale + ELSE NULL + END + FROM C6MART.CONTRATTOSEI C6 + INNER JOIN C6STAGING.VARIAZIONE_CONTRSEI VARC6 + ON C6.RETE = VARC6.RETE_PB + AND C6.CODICECONTRATTO = VARC6.CODICE_CONTRATTO + AND VARC6.ULTIMO_PROGRESSIVO_INVIO = @ULTIMOPROGRINVIO + AND VARC6.ORDINE_DI_ELABORAZIONE_RIGA = @ORDINEELAB + SET @righeUpdate = @righeUpdate + @@ROWCOUNT + IF @@ROWCOUNT > 0 + IF @RIATTIVAZIONE = 1 + BEGIN + UPDATE C6MART.Gestione_EMAIL + SET TIPO = 'OLD' + FROM C6MART.Gestione_EMAIL EMAIL + INNER JOIN C6STAGING.VARIAZIONE_CONTRSEI VARC6 + ON VARC6.CODICE_FISCALE = EMAIL.COD_FISCALE + AND VARC6.rete_pb = EMAIL.RETE + AND VARC6.ULTIMO_PROGRESSIVO_INVIO = @ULTIMOPROGRINVIO + AND VARC6.ORDINE_DI_ELABORAZIONE_RIGA = @ORDINEELAB + AND EMAIL.TIPO = 'PERF' + END + ELSE + BEGIN + --INSERIMENTO NUOVI CONTRATTI + print 'ORDINEELAB=' + convert(varchar,@ORDINEELAB) + ' ULTIMOPROGRINVIO=' + convert(varchar,@ULTIMOPROGRINVIO ) + INSERT INTO C6Mart.CONTRATTOSEI ( + Rete + ,Cod_Fiscale + ,Piva_Fiduciaria + ,Data_Sott + ,CodiceContratto + ,Cod_Agente + ,Data_Perf_Base + ,Data_Perf + ,Fascia_CPP + ,Email + ,Indirizzo + ,CAP + ,Citta + ,Prov + ,Nazione + ,Presso + ,Data_Inizio + ,Freq_Diagnosi + ,Freq_Monitor + ,Freq_DiagnosiPrec + ,Freq_MonitorPrec + ,Data_InizioConsInv + ,Data_InizioBase + ,Data_FineBase + ,Data_InizioAvanzato + ,Data_FineAvanzato + ,ProgressivoInvio + ,GenerazioneReport + ,InvioBenvenuto + ,DataUltimoInvio + ,ClienteMigrato + ,RisorseNA + ,NumSolleciti + ,Data_UltimoSollecito + ,Note + ,Rol + ,tip_Contratto + ,tip_Riattivazione) + SELECT + VARC6.RETE_PB, + VARC6.CODICE_FISCALE, + MIGR.PIVA, + VARC6.DATA_SOTTOSCRIZIONE_C6, + VARC6.CODICE_CONTRATTO, + VARC6.PB, + VARC6.DATA_PERFEZIONAMENTO_BASE, + VARC6.DATA_PERFEZIONAMENTO_C6, + VARC6.CPP, + VARC6.EMAIL, + VARC6.INDIRIZZO, + VARC6.CAP, + VARC6.CITTA, + VARC6.PROVINCIA, + VARC6.NAZIONE, + VARC6.PRESSO, + NULL AS Data_Inizio, + VARC6.FREQUENZA_DIAGNOSI, + VARC6.FREQUENZA_MONITORAGGIO, + NULL AS Freq_DiagnosiPrec, + NULL AS Freq_MonitorPrec, + NULL AS Data_InizioConsInv, + VARC6.DATA_SOTTOSCRIZIONE_BASE, + VARC6.DATA_CHIUSURA_BASE, + VARC6.DATA_PERFEZIONAMENTO_C6, + VARC6.DATA_CHIUSURA_C6, + VARC6.ULTIMO_PROGRESSIVO_INVIO, + VARC6.FLAG_STAMPA_REPORT AS GenerazioneReport, + 'N' as InvioBenvenuto, + NULL as DataUltimoInvio, + ISNULL(LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1),'N'), + NULL AS RisorseNA, + 0 AS NumSolleciti, + NULL AS Data_UltimoSollecito, + NULL AS NOTE, + ISNULL(VARC6.Flag_Rol,'N'), + CASE + WHEN VARC6.tip_Contratto = 'A' THEN 1 + WHEN VARC6.tip_Contratto = 'P' THEN 2 + ELSE 0 + END, + VARC6.riattivazione + FROM C6STAGING.VARIAZIONE_CONTRSEI VARC6 + LEFT JOIN C6STAGING.V_CLIENTI_CONTRSEI_CON_MIGRAZ MIGR + ON MIGR.RETE_PB = VARC6.RETE_PB + AND MIGR.Codice_Fiscale = VARC6.Codice_Fiscale + AND MIGR.codice_contratto = VARC6.codice_contratto + LEFT JOIN C6MART.CONTRATTOSEI C6 + ON VARC6.RETE_PB = C6.RETE + AND VARC6.Codice_Fiscale = C6.Cod_Fiscale + AND VARC6.Codice_Contratto = C6.CodiceContratto + WHERE 1 = 1 + AND VARC6.ULTIMO_PROGRESSIVO_INVIO = @ULTIMOPROGRINVIO + AND VARC6.ORDINE_DI_ELABORAZIONE_RIGA = @ORDINEELAB + AND C6.COD_FISCALE IS NULL + SET @righeInsert = @righeInsert + @@ROWCOUNT + END + FETCH NEXT FROM ELABORAZIONI INTO @ULTIMOPROGRINVIO, @ORDINEELAB, @RIATTIVAZIONE + END + SET @fine = GETDATE() + print convert(varchar,@inizio,113 ) + ' ' + convert(varchar,@fine,113 ) + -- Log esecuzione + UPDATE LOG_ESECUZIONE + SET Fine = @fine,Tipo = 'UPDATE',Righe = @righeUpdate + WHERE Nome = 'DM_PopolaContratti' AND + Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'DM_PopolaContratti') + INSERT INTO LOG_ESECUZIONE + VALUES ('DM_PopolaContratti',@inizio,@fine,'INSERT',@righeInsert,'Elaborazione giornaliera') + INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('DM_PopolaContratti',GETDATE(),'Elaborazione giornaliera') + --Inserisco il cambio migrazioni anche per i clienti per cui non ho una variazione + DECLARE @maxInvioSoll AS SMALLINT + SET @maxInvioSoll = dbo.getParametro('MaxInvioSoll') + UPDATE C6Mart.CONTRATTOSEI + SET ClienteMigrato = ISNULL(LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1),'N'), + NumSolleciti = CASE --V aggiunta condizione profilo attivo per il riazzeramento solleciti + WHEN (LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1)='S' AND ISNULL(C6.RisorseNA,'N')='N') and isnull(profiloAttivo,1) = 1 AND NumSolleciti <= @maxInvioSoll THEN 0 + ELSE NumSolleciti + END + FROM C6MART.CONTRATTOSEI C6 + INNER JOIN C6STAGING.V_CLIENTI_CONTRSEI_CON_MIGRAZ MIGR + ON C6.RETE = MIGR.RETE_PB + AND C6.COD_FISCALE = MIGR.CODICE_FISCALE + -- Log esecuzione + UPDATE LOG_ESECUZIONE SET Fine = GETDATE(),Tipo = 'UPDATE',Righe = @@ROWCOUNT + WHERE Nome = 'DM_PopolaContratti' AND Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'DM_PopolaContratti') +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_PopolaContratti_old240213.sql b/sql/storedTestbes/C6Mart_DM_PopolaContratti_old240213.sql new file mode 100644 index 00000000..dae2dd68 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_PopolaContratti_old240213.sql @@ -0,0 +1,271 @@ +-- ============================================= +-- Author: Luca +-- Create date: 13/11/2008 +-- Description: Aggiornamento tabella contratti +-- ============================================= +CREATE procedure [C6Mart].[DM_PopolaContratti_old240213] +AS +BEGIN + DECLARE @ULTIMOPROGRINVIO int--SMALLINT + DECLARE @ORDINEELAB int--SMALLINT + DECLARE @inizio DATETIME + DECLARE @fine DATETIME + DECLARE @righeUpdate INT + DECLARE @righeInsert INT + SET @inizio = GETDATE() + SET @righeUpdate = 0 + SET @righeInsert = 0 + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PopolaContratti', + @inizio, + 'Elaborazione giornaliera' + ) + --AGGIORNAMENTO CONTRATTI + --I RECORD PRESENTI NELLA VARIAZIONE_CONTRSEI POTREBBERO ESSERE + --POPOLATI IN ELABORAZIONI DIFFERENTI. VANNO ESEGUITI IN ORDINE + --DICHIARAZIONE CURSORE PER ESTRARRE LE ELABORAZIONI + DECLARE ELABORAZIONI CURSOR LOCAL FORWARD_ONLY + FOR + SELECT ULTIMO_PROGRESSIVO_INVIO, ORDINE_DI_ELABORAZIONE_RIGA + FROM C6STAGING.VARIAZIONE_CONTRSEI + --where ORDINE_DI_ELABORAZIONE_RIGA < 10000 and ULTIMO_PROGRESSIVO_INVIO > 1000 + ORDER BY ULTIMO_PROGRESSIVO_INVIO, ORDINE_DI_ELABORAZIONE_RIGA + --APERTURA CURSORE + OPEN ELABORAZIONI + FETCH NEXT FROM ELABORAZIONI INTO @ULTIMOPROGRINVIO, @ORDINEELAB + WHILE @@FETCH_STATUS = 0 + BEGIN + --AGGIORNAMENTO CONTRATTI ESISTENTI + UPDATE C6Mart.CONTRATTOSEI + SET + --Rete = VARC6.RETE_PB + Cod_Fiscale = VARC6.CODICE_FISCALE + ,Data_Sott = VARC6.DATA_SOTTOSCRIZIONE_C6 + --,CodiceContratto = + ,Cod_Agente = VARC6.PB + ,Data_Perf_Base = VARC6.DATA_PERFEZIONAMENTO_BASE + ,Data_Perf = VARC6.DATA_PERFEZIONAMENTO_C6 + ,Fascia_CPP = VARC6.CPP + ,Email = VARC6.EMAIL + ,Indirizzo = VARC6.INDIRIZZO + ,CAP = VARC6.CAP + ,Citta = VARC6.CITTA + ,Prov = VARC6.PROVINCIA + ,Nazione = VARC6.NAZIONE + ,Presso = VARC6.PRESSO + --,Data_Inizio = + ,Freq_Diagnosi = VARC6.FREQUENZA_DIAGNOSI + ,Freq_Monitor = ISNULL(VARC6.FREQUENZA_MONITORAGGIO,'T') + --,Freq_DiagnosiPrec = + --,Freq_MonitorPrec = + --,Data_InizioConsInv = + ,Data_InizioBase = VARC6.DATA_SOTTOSCRIZIONE_BASE + ,Data_FineBase = VARC6.DATA_CHIUSURA_BASE + --,Data_InizioAvanzato = + ,Data_FineAvanzato = VARC6.DATA_CHIUSURA_C6 + ,ProgressivoInvio = VARC6.ULTIMO_PROGRESSIVO_INVIO + ,GenerazioneReport = VARC6.FLAG_STAMPA_REPORT + --,InvioBenvenuto = + --,DataUltimoInvio = + --,ClienteMigrato = ISNULL(LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1),'N') + --,RisorseNA = + ,NumSolleciti = CASE + WHEN (C6.Rete <> VARC6.Rete_PB OR C6.Cod_Agente <> VARC6.PB) THEN 0 + --WHEN (LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1)='S' AND ISNULL(C6.RisorseNA,'N')='N') THEN 0 + ELSE NumSolleciti + END + --,Data_UltimoSollecito = + --,Note = + ,Rol = isnull(VARC6.Flag_Rol,'N') + ,tip_Contratto = CASE + WHEN VARC6.tip_Contratto = 'A' THEN 1 + WHEN VARC6.tip_Contratto = 'P' THEN 2 + ELSE 0 + END + FROM C6MART.CONTRATTOSEI C6 + INNER JOIN C6STAGING.VARIAZIONE_CONTRSEI VARC6 + ON -- no join sul codice fiscale poiché, in caso di sua variazione, verrebbe trattato come nuovo contratto + C6.RETE = VARC6.RETE_PB + --AND C6.COD_FISCALE = VARC6.CODICE_FISCALE + AND C6.CODICECONTRATTO = VARC6.CODICE_CONTRATTO + AND VARC6.ULTIMO_PROGRESSIVO_INVIO = @ULTIMOPROGRINVIO + AND VARC6.ORDINE_DI_ELABORAZIONE_RIGA = @ORDINEELAB + SET @righeUpdate = @righeUpdate + @@ROWCOUNT + --INSERIMENTO NUOVI CONTRATTI + INSERT INTO C6Mart.CONTRATTOSEI + (Rete + ,Cod_Fiscale + ,Piva_Fiduciaria + ,Data_Sott + ,CodiceContratto + ,Cod_Agente + ,Data_Perf_Base + ,Data_Perf + ,Fascia_CPP + ,Email + ,Indirizzo + ,CAP + ,Citta + ,Prov + ,Nazione + ,Presso + ,Data_Inizio + ,Freq_Diagnosi + ,Freq_Monitor + ,Freq_DiagnosiPrec + ,Freq_MonitorPrec + ,Data_InizioConsInv + ,Data_InizioBase + ,Data_FineBase + ,Data_InizioAvanzato + ,Data_FineAvanzato + ,ProgressivoInvio + ,GenerazioneReport + ,InvioBenvenuto + ,DataUltimoInvio + ,ClienteMigrato + ,RisorseNA + ,NumSolleciti + ,Data_UltimoSollecito + ,Note + ,Rol +,tip_contratto +) + SELECT + VARC6.RETE_PB, + VARC6.CODICE_FISCALE, + MIGR.PIVA, + VARC6.DATA_SOTTOSCRIZIONE_C6, + VARC6.CODICE_CONTRATTO, + VARC6.PB, + VARC6.DATA_PERFEZIONAMENTO_BASE, + VARC6.DATA_PERFEZIONAMENTO_C6, + VARC6.CPP, + VARC6.EMAIL, + VARC6.INDIRIZZO, + VARC6.CAP, + VARC6.CITTA, + VARC6.PROVINCIA, + VARC6.NAZIONE, + VARC6.PRESSO, + NULL AS Data_Inizio, + VARC6.FREQUENZA_DIAGNOSI, + isnull(VARC6.FREQUENZA_MONITORAGGIO,'T'), + NULL AS Freq_DiagnosiPrec, + NULL AS Freq_MonitorPrec, + NULL AS Data_InizioConsInv, + VARC6.DATA_SOTTOSCRIZIONE_BASE, + VARC6.DATA_CHIUSURA_BASE, + VARC6.DATA_PERFEZIONAMENTO_C6, + VARC6.DATA_CHIUSURA_C6, + VARC6.ULTIMO_PROGRESSIVO_INVIO, + VARC6.FLAG_STAMPA_REPORT AS GenerazioneReport, + 'N' as InvioBenvenuto, + NULL as DataUltimoInvio, + ISNULL(LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1),'N'), + NULL AS RisorseNA, + 0 AS NumSolleciti,--Aggiunta perchè mancava, Fabrizio e Valerio per Azzeramento numero solleciti email + NULL AS Data_UltimoSollecito, + NULL AS NOTE, + isnull(VARC6.Flag_Rol,'N') + ,tip_Contratto = CASE + WHEN VARC6.tip_Contratto = 'A' THEN 1 + WHEN VARC6.tip_Contratto = 'P' THEN 2 + ELSE 0 + END + FROM C6STAGING.VARIAZIONE_CONTRSEI VARC6 + LEFT JOIN C6STAGING.V_CLIENTI_CONTRSEI_CON_MIGRAZ MIGR + ON + MIGR.RETE_PB = VARC6.RETE_PB + AND MIGR.Codice_Fiscale = VARC6.Codice_Fiscale + --V Inserito questo controllo in quanto in caso di chiusura di un contratto e riapertura inseriva due righe + and MIGR.codice_contratto = VARC6.codice_contratto + LEFT JOIN C6MART.CONTRATTOSEI C6 + ON + VARC6.RETE_PB = C6.RETE + AND VARC6.Codice_Fiscale = C6.Cod_Fiscale + AND VARC6.Codice_Contratto = C6.CodiceContratto + WHERE 1 = 1 + AND VARC6.ULTIMO_PROGRESSIVO_INVIO = @ULTIMOPROGRINVIO + AND VARC6.ORDINE_DI_ELABORAZIONE_RIGA = @ORDINEELAB + --V nuova condizione rilassamento del vincolo è corretto? + AND C6.COD_FISCALE IS NULL +--V Vecchia condizione che va in errore nel caso carichiamo le fiduciarie,il job va in errore, facendolo rigirare le vuole ricaricare, violando la pk + --AND (C6.COD_FISCALE IS NULL + -- OR CHARINDEX('@', VARC6.Codice_Fiscale) > 0) + SET @righeInsert = @righeInsert + @@ROWCOUNT + FETCH NEXT FROM ELABORAZIONI INTO @ULTIMOPROGRINVIO, @ORDINEELAB + END + SET @fine = GETDATE() + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = @fine, + Tipo = 'UPDATE', + Righe = @righeUpdate + WHERE + Nome = 'DM_PopolaContratti' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PopolaContratti' + ) + INSERT INTO LOG_ESECUZIONE + VALUES ( + 'DM_PopolaContratti', + @inizio, + @fine, + 'INSERT', + @righeInsert, + 'Elaborazione giornaliera' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_PopolaContratti', + GETDATE(), + 'Elaborazione giornaliera' + ) + --Inserisco il cambio migrazioni anche per i clienti per cui non ho una variazione + DECLARE @maxInvioSoll AS SMALLINT + SET @maxInvioSoll = dbo.getParametro('MaxInvioSoll') + UPDATE C6Mart.CONTRATTOSEI + SET + ClienteMigrato = ISNULL(LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1),'N'), + NumSolleciti = + CASE --V aggiunta condizione profilo attivo per il riazzeramento solleciti + WHEN (LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1)='S' AND ISNULL(C6.RisorseNA,'N')='N') and isnull(profiloAttivo,1) = 1 AND NumSolleciti <= @maxInvioSoll THEN 0 + ELSE NumSolleciti + END + FROM + C6MART.CONTRATTOSEI C6 + INNER JOIN + C6STAGING.V_CLIENTI_CONTRSEI_CON_MIGRAZ MIGR + ON + C6.RETE = MIGR.RETE_PB + AND C6.COD_FISCALE = MIGR.CODICE_FISCALE + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_PopolaContratti' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_PopolaContratti' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_RISCHIOEMITTENTI.sql b/sql/storedTestbes/C6Mart_DM_RISCHIOEMITTENTI.sql new file mode 100644 index 00000000..fb5ec434 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_RISCHIOEMITTENTI.sql @@ -0,0 +1,15 @@ +CREATE procedure [C6Mart].[DM_RISCHIOEMITTENTI] +as +begin +truncate table [C6Mart].[RischioEmittenti] +INSERT INTO [C6Mart].[RischioEmittenti] --C6StampeCentralizzate + ([Classe] + ,[Min] + ,[Max] + ,[Ordine]) + SELECT [Classe] + ,[MinVal] + ,[MaxVal] + ,[Ordine] + FROM [C6Staging].[RiskEmit] --[C6StampeCentralizzate] +end \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_RISCHIO_AGGREGATO.sql b/sql/storedTestbes/C6Mart_DM_RISCHIO_AGGREGATO.sql new file mode 100644 index 00000000..7bc6df91 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_RISCHIO_AGGREGATO.sql @@ -0,0 +1,106 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_RISCHIO_AGGREGATO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione giornaliera' + ) + -- Insert statements for procedure here + TRUNCATE TABLE C6MART.RISCHIO_AGGREGATO + INSERT INTO C6MART.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, +-- ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,3)),2) AS VAR_ASSOLUTO_PTF, +-- ROUND(CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,3)),2) AS VAR_PERC_PTF, + ROUND(CAST(cast(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO as float) AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(cast(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO as float) AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(cast(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO as float) AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(cast(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO as float) AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(cast(PROMETEIA_AGGR.MCVAR as float) AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(cast(PROMETEIA_AGGR.MCVARP as float) AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + --V il CC deve avere sempre copertura = 100 + CASE + WHEN PORTAFOGLIO = 'COMPLESSIVO|BF|CC' THEN 100 + --intervento correttivo per mancata conversione da varchar a int dell'08/04/22 + --ELSE CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) + ELSE CAST(cast(PROMETEIA_AGGR.COPERTURA as float) AS DECIMAL(10,2)) + --fine intervento correttivo per mancata conversione da varchar a int dell'08/04/22 + END AS COPERTURA, + CAST(cast(PROMETEIA_AGGR.TOTALE as float) AS DECIMAL(30,20)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + -- modifica del 3/10/2018 per gestire i casi in cui numtitrc contiene caratteri speciali (cr e lf) + --c6mart.getCreditRiskClass(Ully_perc,numtitrc) as CREDITRISKCLASS, + c6mart.getCreditRiskClass(Ully_perc,REPLACE(REPLACE(numtitrc, CHAR(13),''), CHAR(10),'')) as CREDITRISKCLASS, + -- fine modifica del 3/10/2018 + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + -- modifica del 3/10/2018 per gestire i casi in cui numtitrc contiene caratteri speciali (cr e lf) + --c6mart.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + c6mart.getCreditRiskClassEmit(Ully_perc,REPLACE(REPLACE(numtitrc, CHAR(13),''), CHAR(10),'')) as CREDITRISKCLASS_EMIT + -- fine modifica del 3/10/2018 + FROM C6STAGING.PROMETEIA_AGGR + --modifica per percentuali congruenti su PdC 23/07/2023 con adeguatezza + update VC + set VC.VAR_COMPLESSIVO_BF=RA.VAR_PERC_PTF + FROM + C6Mart.RISCHIO_AGGREGATO AS RA + INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE + where RA.COD_AGGREG = 'COMPLESSIVO|BF' + --fine modifica + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_RISCHIO_AGGREGATO_20181003.sql b/sql/storedTestbes/C6Mart_DM_RISCHIO_AGGREGATO_20181003.sql new file mode 100644 index 00000000..ea86685b --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_RISCHIO_AGGREGATO_20181003.sql @@ -0,0 +1,87 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_RISCHIO_AGGREGATO_20181003] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione giornaliera' + ) + -- Insert statements for procedure here + TRUNCATE TABLE C6MART.RISCHIO_AGGREGATO + INSERT INTO C6MART.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, +-- ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,3)),2) AS VAR_ASSOLUTO_PTF, +-- ROUND(CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,3)),2) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + --V il CC deve avere sempre copertura = 100 + CASE + WHEN PORTAFOGLIO = 'COMPLESSIVO|BF|CC' THEN 100 + ELSE CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) + END AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(30,20)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + c6mart.getCreditRiskClass(Ully_perc,numtitrc) as CREDITRISKCLASS, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + c6mart.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + FROM C6STAGING.PROMETEIA_AGGR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_RISCHIO_AGGREGATO_old.sql b/sql/storedTestbes/C6Mart_DM_RISCHIO_AGGREGATO_old.sql new file mode 100644 index 00000000..5e1615ce --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_RISCHIO_AGGREGATO_old.sql @@ -0,0 +1,81 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_RISCHIO_AGGREGATO_old] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO', + GETDATE(), + 'Elaborazione giornaliera' + ) + -- Insert statements for procedure here + TRUNCATE TABLE C6MART.RISCHIO_AGGREGATO + INSERT INTO C6MART.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, + CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(10,2)) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + --V il CC deve avere sempre copertura = 100 + CASE + WHEN PORTAFOGLIO = 'COMPLESSIVO|BF|CC' THEN 100 + ELSE CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) + END AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(10,2)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + c6mart.getCreditRiskClass(Ully_perc,numtitrc) as CREDITRISKCLASS + FROM C6STAGING.PROMETEIA_AGGR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_RISCHIO_AGGREGATO_pre_selective.sql b/sql/storedTestbes/C6Mart_DM_RISCHIO_AGGREGATO_pre_selective.sql new file mode 100644 index 00000000..93c2961a --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_RISCHIO_AGGREGATO_pre_selective.sql @@ -0,0 +1,87 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_RISCHIO_AGGREGATO_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_RISCHIO_AGGREGATO_pre_selective', + GETDATE(), + 'Elaborazione giornaliera' + ) + -- Insert statements for procedure here + TRUNCATE TABLE C6MART.RISCHIO_AGGREGATO + INSERT INTO C6MART.RISCHIO_AGGREGATO( + RETE, + COD_FISCALE, + COD_AGGREG, + VAR_ASSOLUTO_PTF, + VAR_PERC_PTF, + CVAR_ASSOLUTO_PTF, + CVAR_PERC_PTF, + MCVAR, + MCVARP, + BENEFICIO, + COPERTURA, + CTV_AGGREG, + ID_ELAB, + TIPO_ELAB, + CREDITRISK, + Ully_perc, + CREDITRISKEMIT + ) + SELECT + PROMETEIA_AGGR.RETE AS RETE, + PROMETEIA_AGGR.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_AGGR.PORTAFOGLIO AS COD_AGGREG, +-- ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(10,3)),2) AS VAR_ASSOLUTO_PTF, +-- ROUND(CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,3)),2) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.VARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS VAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.VARPERCENTUIALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS VAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.CVARASSOLUTODIPORTAFOGLIO AS DECIMAL(30,20)), 2) AS CVAR_ASSOLUTO_PTF, + CAST(PROMETEIA_AGGR.CVARPERCENTUALEDIPORTAFOGLIO AS DECIMAL(10,2)) AS CVAR_PERC_PTF, + ROUND(CAST(PROMETEIA_AGGR.MCVAR AS DECIMAL(30,20)), 2) AS MCVAR, + CAST(PROMETEIA_AGGR.MCVARP AS DECIMAL(10,2)) AS MCVARP, + CAST(PROMETEIA_AGGR.BENEFICIO AS DECIMAL(10,2)) AS BENEFICIO, + --V il CC deve avere sempre copertura = 100 + CASE + WHEN PORTAFOGLIO = 'COMPLESSIVO|BF|CC' THEN 100 + ELSE CAST(PROMETEIA_AGGR.COPERTURA AS DECIMAL(10,2)) + END AS COPERTURA, + CAST(PROMETEIA_AGGR.TOTALE AS DECIMAL(30,20)) AS CTV_AGGREG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + c6mart.getCreditRiskClass(Ully_perc,numtitrc) as CREDITRISKCLASS, + CAST(Ully_perc AS DECIMAL(10,2)) AS ULLY_PREC, + c6mart.getCreditRiskClassEmit(Ully_perc,numtitrc) as CREDITRISKCLASS_EMIT + FROM C6STAGING.PROMETEIA_AGGR + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_RISCHIO_AGGREGATO_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_RISCHIO_AGGREGATO_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_RISCHIO_DETTAGLIO.sql b/sql/storedTestbes/C6Mart_DM_RISCHIO_DETTAGLIO.sql new file mode 100644 index 00000000..93bb6433 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_RISCHIO_DETTAGLIO.sql @@ -0,0 +1,41 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_RISCHIO_DETTAGLIO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + TRUNCATE TABLE C6MART.RISCHIO_DETTAGLIO + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + SELECT +---- INFO TABELLA PER GESTIONE ERRORE +-- 'RISCHIO_DETTAGLIO' AS TABLENAME, +-- 'RETE - COD_FISCALE - COD_PROD' AS KEYCOLUMN, +-- PROMETEIA_DETT.RETE + ' - ' + PROMETEIA_DETT.CODICEFISCALE + ' - ' + PROMETEIA_DETT.CODICEPRODOTTO AS KEYVALUE, +---- FINE INFO TABELLA PER GESTIONE ERRORE + PROMETEIA_DETT.RETE AS RETE, + PROMETEIA_DETT.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_DETT.PORTAFOGLIO AS COD_AGGREG, + PROMETEIA_DETT.CODICEPRODOTTO AS CHIAVE_PRODOTTO, + PROMETEIA_DETT.VARASSOLUTO AS VAR_ASSOLUTO_PTF, + PROMETEIA_DETT.VARPERCENTUALE AS VAR_PERC_PTF, + PROMETEIA_DETT.CVARASSOLUTO AS CVAR_ASSOLUTO_PTF, + PROMETEIA_DETT.CVARPERCENTUALE AS CVAR_PERC_PTF, + PROMETEIA_DETT.MCVAR AS MCVAR, + PROMETEIA_DETT.MCVARP AS MCVARP, + PROMETEIA_DETT.TIPOCOPERTURA AS TIPO_COPERTURA, + PROMETEIA_DETT.CTVNOMINALE AS CTV_AGGREG, + PROMETEIA_DETT.PIAZZA AS MERCATO_CONTRATT, + PROMETEIA_DETT.CODVAL AS DIV_CONTRATT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.PROMETEIA_DETT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_RISCHIO_DETTAGLIO_pre_selective.sql b/sql/storedTestbes/C6Mart_DM_RISCHIO_DETTAGLIO_pre_selective.sql new file mode 100644 index 00000000..2f6d8679 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_RISCHIO_DETTAGLIO_pre_selective.sql @@ -0,0 +1,41 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_RISCHIO_DETTAGLIO_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + TRUNCATE TABLE C6MART.RISCHIO_DETTAGLIO + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + SELECT +---- INFO TABELLA PER GESTIONE ERRORE +-- 'RISCHIO_DETTAGLIO' AS TABLENAME, +-- 'RETE - COD_FISCALE - COD_PROD' AS KEYCOLUMN, +-- PROMETEIA_DETT.RETE + ' - ' + PROMETEIA_DETT.CODICEFISCALE + ' - ' + PROMETEIA_DETT.CODICEPRODOTTO AS KEYVALUE, +---- FINE INFO TABELLA PER GESTIONE ERRORE + PROMETEIA_DETT.RETE AS RETE, + PROMETEIA_DETT.CODICEFISCALE AS COD_FISCALE, + PROMETEIA_DETT.PORTAFOGLIO AS COD_AGGREG, + PROMETEIA_DETT.CODICEPRODOTTO AS CHIAVE_PRODOTTO, + PROMETEIA_DETT.VARASSOLUTO AS VAR_ASSOLUTO_PTF, + PROMETEIA_DETT.VARPERCENTUALE AS VAR_PERC_PTF, + PROMETEIA_DETT.CVARASSOLUTO AS CVAR_ASSOLUTO_PTF, + PROMETEIA_DETT.CVARPERCENTUALE AS CVAR_PERC_PTF, + PROMETEIA_DETT.MCVAR AS MCVAR, + PROMETEIA_DETT.MCVARP AS MCVARP, + PROMETEIA_DETT.TIPOCOPERTURA AS TIPO_COPERTURA, + PROMETEIA_DETT.CTVNOMINALE AS CTV_AGGREG, + PROMETEIA_DETT.PIAZZA AS MERCATO_CONTRATT, + PROMETEIA_DETT.CODVAL AS DIV_CONTRATT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.PROMETEIA_DETT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_STRUTTURA_RETE.sql b/sql/storedTestbes/C6Mart_DM_STRUTTURA_RETE.sql new file mode 100644 index 00000000..1f6786a0 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_STRUTTURA_RETE.sql @@ -0,0 +1,278 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_STRUTTURA_RETE] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --SET NOCOUNT ON; +DECLARE @righe INT +SET @righe = 0 +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_STRUTTURA_RETE', + GETDATE(), + 'Elaborazione giornaliera' +) +--codice per forzare l'exit in caso di delay delle risposte dal SIMPB +--if (select count(*) from log_esecuzione where nome='SIM_PB' and abs(datediff(minute,getdate(),inizio))>350)>=1 +-- begin RAISERROR ('Risposte in ritardo dai WSDL del SIMPB',16,10); +-- select * from blablabla; +-- end +--V Utilizzato per mandare avanti la procedura, al momento non ho clienti associati al pb +delete from C6Staging.SPB_NAC +where +codiceRete = 'S' +and codiceAgente = '008521' +and codiceManager = 'I03128' +--EN20160427: Eliminare agenti con codici maggiore delal capienza della tabella destinaria (varchr(6), per mandare avanti la procedura +-- per ora riguarda solo l'agente 'AM Fittizio di Agente Speciale Firenze' +delete from C6Staging.SPB_NAC +where LEN(codiceagente) > 6 +and codicemanager = '' +--SVUOTAMENTO STRUTTURA +TRUNCATE TABLE C6Mart.STRUTTURA_RETE +--INSERIMENTO PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT + AM.codicerete as Rete, + dbo.CodiceAgenteDirettiDi(PB.codiceagente) as PB, PB.cognomeNome as cognomeNomePB, + dbo.CodiceAgenteDirettiDi(SPV.codiceagente) as SPV, SPV.cognomeNome as cognomeNomeSPV, + dbo.CodiceAgenteDirettiDi(RM.codiceagente) as RM, RM.cognomeNome as cognomeNomeRM, + dbo.CodiceAgenteDirettiDi(DM.codiceagente) as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + PB.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' +INNER JOIN C6Staging.SPB_NAC RM +ON + RM.codicerete = DM.codicerete + AND + RM.codicemanager = DM.codiceagente + AND + RM.LivelloNellaGerarchia = 'RM' +INNER JOIN C6Staging.SPB_NAC SPV +ON + SPV.codicerete = RM.codicerete + AND + SPV.codicemanager = RM.codiceagente + AND + SPV.LivelloNellaGerarchia like 'SPV%' +INNER JOIN C6Staging.SPB_NAC PB +ON + PB.codicerete = SPV.codicerete + AND + PB.codicemanager = SPV.codiceagente + AND + PB.LivelloNellaGerarchia = 'PB' + AND + PB.cognomeNome not LIKE 'I FITTIZI DI%' +WHERE AM.codicemanager = '' +AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4,6,8,10 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO AM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + AM.codiceagente as PB, AM.cognomeNome as cognomeNomePB, + AM.codiceagente as SPV, AM.cognomeNome as cognomeNomeSPV, + AM.codiceagente as RM, AM.cognomeNome as cognomeNomeRM, + AM.codiceagente as DM, AM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + AM.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +WHERE AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO DM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + DM.codiceagente as PB, DM.cognomeNome as cognomeNomePB, + DM.codiceagente as SPV, DM.cognomeNome as cognomeNomeSPV, + DM.codiceagente as RM, DM.cognomeNome as cognomeNomeRM, + DM.codiceagente as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + DM.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' + AND left(DM.codiceagente,1) NOT in ('I','S') +WHERE AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO RM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + RM.codiceagente as PB, RM.cognomeNome as cognomeNomePB, + RM.codiceagente as SPV, RM.cognomeNome as cognomeNomeSPV, + RM.codiceagente as RM, RM.cognomeNome as cognomeNomeRM, + dbo.CodiceAgenteDirettiDi(DM.codiceagente) as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + RM.LivelloNellaGerarchia as Livello +from C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' +-- AND left(DM.codiceagente,1) <> 'I' +INNER JOIN C6Staging.SPB_NAC RM +ON + RM.codicerete = DM.codicerete + AND + RM.codicemanager = DM.codiceagente + AND + RM.LivelloNellaGerarchia = 'RM' + AND left(RM.codiceagente,1) NOT IN ('I','S') +where AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4,6 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO SPV COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + SPV.codiceagente as PB, SPV.cognomeNome as cognomeNomePB, + SPV.codiceagente as SPV, SPV.cognomeNome as cognomeNomeSPV, + dbo.CodiceAgenteDirettiDi(RM.codiceagente) as RM, RM.cognomeNome as cognomeNomeRM, + dbo.CodiceAgenteDirettiDi(DM.codiceagente) as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + SPV.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' +-- AND left(DM.codiceagente,1) <> 'I' +INNER JOIN C6Staging.SPB_NAC RM +ON + RM.codicerete = DM.codicerete + AND + RM.codicemanager = DM.codiceagente + AND + RM.LivelloNellaGerarchia = 'RM' +-- AND left(RM.codiceagente,1) NOT IN ('I','S') +INNER join C6Staging.SPB_NAC SPV +ON + SPV.codicerete = RM.codicerete + AND + SPV.codicemanager = RM.codiceagente + AND + SPV.LivelloNellaGerarchia like 'SPV%' + AND left(SPV.codiceagente,1) NOT IN ('I','S') +WHERE AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4,6,8 +SET @righe = @righe + @@ROWCOUNT +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @righe +WHERE + Nome = 'DM_STRUTTURA_RETE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_STRUTTURA_RETE' + ) +-- 14 GENNAIO 2009 MODIFICA PAOLO GIOVANETTI PER AGGIUNTA ID_ELAB +--ESTRAZIONE ID_ELAB +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6MART.GETIDELAB() +UPDATE C6Mart.STRUTTURA_RETE +SET ID_ELAB = @ID_ELAB +WHERE ID_ELAB IS NULL +-- 14 GENNAIO 2009 FINE MODIFICA PAOLO GIOVANETTI PER AGGIUNTA ID_ELAB +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_STRUTTURA_RETE_20160427.sql b/sql/storedTestbes/C6Mart_DM_STRUTTURA_RETE_20160427.sql new file mode 100644 index 00000000..05ffcf87 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_STRUTTURA_RETE_20160427.sql @@ -0,0 +1,268 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_STRUTTURA_RETE_20160427] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --SET NOCOUNT ON; +DECLARE @righe INT +SET @righe = 0 +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_STRUTTURA_RETE', + GETDATE(), + 'Elaborazione giornaliera' +) +--V Utilizzato per mandare avanti la procedura, al momento non ho clienti associati al pb +delete from C6Staging.SPB_NAC +where +codiceRete = 'S' +and codiceAgente = '008521' +and codiceManager = 'I03128' +--SVUOTAMENTO STRUTTURA +TRUNCATE TABLE C6Mart.STRUTTURA_RETE +--INSERIMENTO PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT + AM.codicerete as Rete, + dbo.CodiceAgenteDirettiDi(PB.codiceagente) as PB, PB.cognomeNome as cognomeNomePB, + dbo.CodiceAgenteDirettiDi(SPV.codiceagente) as SPV, SPV.cognomeNome as cognomeNomeSPV, + dbo.CodiceAgenteDirettiDi(RM.codiceagente) as RM, RM.cognomeNome as cognomeNomeRM, + dbo.CodiceAgenteDirettiDi(DM.codiceagente) as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + PB.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' +INNER JOIN C6Staging.SPB_NAC RM +ON + RM.codicerete = DM.codicerete + AND + RM.codicemanager = DM.codiceagente + AND + RM.LivelloNellaGerarchia = 'RM' +INNER JOIN C6Staging.SPB_NAC SPV +ON + SPV.codicerete = RM.codicerete + AND + SPV.codicemanager = RM.codiceagente + AND + SPV.LivelloNellaGerarchia like 'SPV%' +INNER JOIN C6Staging.SPB_NAC PB +ON + PB.codicerete = SPV.codicerete + AND + PB.codicemanager = SPV.codiceagente + AND + PB.LivelloNellaGerarchia = 'PB' + AND + PB.cognomeNome not LIKE 'I FITTIZI DI%' +WHERE AM.codicemanager = '' +AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4,6,8,10 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO AM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + AM.codiceagente as PB, AM.cognomeNome as cognomeNomePB, + AM.codiceagente as SPV, AM.cognomeNome as cognomeNomeSPV, + AM.codiceagente as RM, AM.cognomeNome as cognomeNomeRM, + AM.codiceagente as DM, AM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + AM.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +WHERE AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO DM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + DM.codiceagente as PB, DM.cognomeNome as cognomeNomePB, + DM.codiceagente as SPV, DM.cognomeNome as cognomeNomeSPV, + DM.codiceagente as RM, DM.cognomeNome as cognomeNomeRM, + DM.codiceagente as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + DM.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' + AND left(DM.codiceagente,1) NOT in ('I','S') +WHERE AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO RM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + RM.codiceagente as PB, RM.cognomeNome as cognomeNomePB, + RM.codiceagente as SPV, RM.cognomeNome as cognomeNomeSPV, + RM.codiceagente as RM, RM.cognomeNome as cognomeNomeRM, + dbo.CodiceAgenteDirettiDi(DM.codiceagente) as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + RM.LivelloNellaGerarchia as Livello +from C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' +-- AND left(DM.codiceagente,1) <> 'I' +INNER JOIN C6Staging.SPB_NAC RM +ON + RM.codicerete = DM.codicerete + AND + RM.codicemanager = DM.codiceagente + AND + RM.LivelloNellaGerarchia = 'RM' + AND left(RM.codiceagente,1) NOT IN ('I','S') +where AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4,6 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO SPV COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + SPV.codiceagente as PB, SPV.cognomeNome as cognomeNomePB, + SPV.codiceagente as SPV, SPV.cognomeNome as cognomeNomeSPV, + dbo.CodiceAgenteDirettiDi(RM.codiceagente) as RM, RM.cognomeNome as cognomeNomeRM, + dbo.CodiceAgenteDirettiDi(DM.codiceagente) as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + SPV.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' +-- AND left(DM.codiceagente,1) <> 'I' +INNER JOIN C6Staging.SPB_NAC RM +ON + RM.codicerete = DM.codicerete + AND + RM.codicemanager = DM.codiceagente + AND + RM.LivelloNellaGerarchia = 'RM' +-- AND left(RM.codiceagente,1) NOT IN ('I','S') +INNER join C6Staging.SPB_NAC SPV +ON + SPV.codicerete = RM.codicerete + AND + SPV.codicemanager = RM.codiceagente + AND + SPV.LivelloNellaGerarchia like 'SPV%' + AND left(SPV.codiceagente,1) NOT IN ('I','S') +WHERE AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4,6,8 +SET @righe = @righe + @@ROWCOUNT +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @righe +WHERE + Nome = 'DM_STRUTTURA_RETE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_STRUTTURA_RETE' + ) +-- 14 GENNAIO 2009 MODIFICA PAOLO GIOVANETTI PER AGGIUNTA ID_ELAB +--ESTRAZIONE ID_ELAB +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6MART.GETIDELAB() +UPDATE C6Mart.STRUTTURA_RETE +SET ID_ELAB = @ID_ELAB +WHERE ID_ELAB IS NULL +-- 14 GENNAIO 2009 FINE MODIFICA PAOLO GIOVANETTI PER AGGIUNTA ID_ELAB +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_STRUTTURA_RETE_20161024.sql b/sql/storedTestbes/C6Mart_DM_STRUTTURA_RETE_20161024.sql new file mode 100644 index 00000000..40c3fe79 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_STRUTTURA_RETE_20161024.sql @@ -0,0 +1,268 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_STRUTTURA_RETE_20161024] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --SET NOCOUNT ON; +DECLARE @righe INT +SET @righe = 0 +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'DM_STRUTTURA_RETE', + GETDATE(), + 'Elaborazione giornaliera' +) +--V Utilizzato per mandare avanti la procedura, al momento non ho clienti associati al pb +delete from C6Staging.SPB_NAC +where +codiceRete = 'S' +and codiceAgente = '008521' +and codiceManager = 'I03128' +--SVUOTAMENTO STRUTTURA +TRUNCATE TABLE C6Mart.STRUTTURA_RETE +--INSERIMENTO PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT + AM.codicerete as Rete, + dbo.CodiceAgenteDirettiDi(PB.codiceagente) as PB, PB.cognomeNome as cognomeNomePB, + dbo.CodiceAgenteDirettiDi(SPV.codiceagente) as SPV, SPV.cognomeNome as cognomeNomeSPV, + dbo.CodiceAgenteDirettiDi(RM.codiceagente) as RM, RM.cognomeNome as cognomeNomeRM, + dbo.CodiceAgenteDirettiDi(DM.codiceagente) as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + PB.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' +INNER JOIN C6Staging.SPB_NAC RM +ON + RM.codicerete = DM.codicerete + AND + RM.codicemanager = DM.codiceagente + AND + RM.LivelloNellaGerarchia = 'RM' +INNER JOIN C6Staging.SPB_NAC SPV +ON + SPV.codicerete = RM.codicerete + AND + SPV.codicemanager = RM.codiceagente + AND + SPV.LivelloNellaGerarchia like 'SPV%' +INNER JOIN C6Staging.SPB_NAC PB +ON + PB.codicerete = SPV.codicerete + AND + PB.codicemanager = SPV.codiceagente + AND + PB.LivelloNellaGerarchia = 'PB' + AND + PB.cognomeNome not LIKE 'I FITTIZI DI%' +WHERE AM.codicemanager = '' +AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4,6,8,10 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO AM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + AM.codiceagente as PB, AM.cognomeNome as cognomeNomePB, + AM.codiceagente as SPV, AM.cognomeNome as cognomeNomeSPV, + AM.codiceagente as RM, AM.cognomeNome as cognomeNomeRM, + AM.codiceagente as DM, AM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + AM.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +WHERE AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO DM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + DM.codiceagente as PB, DM.cognomeNome as cognomeNomePB, + DM.codiceagente as SPV, DM.cognomeNome as cognomeNomeSPV, + DM.codiceagente as RM, DM.cognomeNome as cognomeNomeRM, + DM.codiceagente as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + DM.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' + AND left(DM.codiceagente,1) NOT in ('I','S') +WHERE AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO RM COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + RM.codiceagente as PB, RM.cognomeNome as cognomeNomePB, + RM.codiceagente as SPV, RM.cognomeNome as cognomeNomeSPV, + RM.codiceagente as RM, RM.cognomeNome as cognomeNomeRM, + dbo.CodiceAgenteDirettiDi(DM.codiceagente) as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + RM.LivelloNellaGerarchia as Livello +from C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' +-- AND left(DM.codiceagente,1) <> 'I' +INNER JOIN C6Staging.SPB_NAC RM +ON + RM.codicerete = DM.codicerete + AND + RM.codicemanager = DM.codiceagente + AND + RM.LivelloNellaGerarchia = 'RM' + AND left(RM.codiceagente,1) NOT IN ('I','S') +where AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4,6 +SET @righe = @righe + @@ROWCOUNT +--INSERIMENTO SPV COME PB +INSERT INTO C6Mart.STRUTTURA_RETE + ([Rete] + ,[PB] + ,[CognomeNomePB] + ,[SPV] + ,[CognomeNomeSPV] + ,[RM] + ,[CognomeNomeRM] + ,[DM] + ,[CognomeNomeDM] + ,[AM] + ,[CognomeNomeAM] + ,[Livello]) +SELECT +AM.codicerete as Rete, + SPV.codiceagente as PB, SPV.cognomeNome as cognomeNomePB, + SPV.codiceagente as SPV, SPV.cognomeNome as cognomeNomeSPV, + dbo.CodiceAgenteDirettiDi(RM.codiceagente) as RM, RM.cognomeNome as cognomeNomeRM, + dbo.CodiceAgenteDirettiDi(DM.codiceagente) as DM, DM.cognomeNome as cognomeNomeDM, + AM.codiceagente as AM, AM.cognomeNome as cognomeNomeAM, + SPV.LivelloNellaGerarchia as Livello +FROM C6Staging.SPB_NAC AM +INNER JOIN C6Staging.SPB_NAC DM +ON + DM.codicerete = AM.codicerete + AND + DM.codicemanager = AM.codiceagente + AND + DM.LivelloNellaGerarchia = 'DM' +-- AND left(DM.codiceagente,1) <> 'I' +INNER JOIN C6Staging.SPB_NAC RM +ON + RM.codicerete = DM.codicerete + AND + RM.codicemanager = DM.codiceagente + AND + RM.LivelloNellaGerarchia = 'RM' +-- AND left(RM.codiceagente,1) NOT IN ('I','S') +INNER join C6Staging.SPB_NAC SPV +ON + SPV.codicerete = RM.codicerete + AND + SPV.codicemanager = RM.codiceagente + AND + SPV.LivelloNellaGerarchia like 'SPV%' + AND left(SPV.codiceagente,1) NOT IN ('I','S') +WHERE AM.codicemanager = '' + AND AM.LivelloNellaGerarchia = 'AM' +ORDER BY 1,2,4,6,8 +SET @righe = @righe + @@ROWCOUNT +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @righe +WHERE + Nome = 'DM_STRUTTURA_RETE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_STRUTTURA_RETE' + ) +-- 14 GENNAIO 2009 MODIFICA PAOLO GIOVANETTI PER AGGIUNTA ID_ELAB +--ESTRAZIONE ID_ELAB +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6MART.GETIDELAB() +UPDATE C6Mart.STRUTTURA_RETE +SET ID_ELAB = @ID_ELAB +WHERE ID_ELAB IS NULL +-- 14 GENNAIO 2009 FINE MODIFICA PAOLO GIOVANETTI PER AGGIUNTA ID_ELAB +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_TEST_QUALITY.sql b/sql/storedTestbes/C6Mart_DM_TEST_QUALITY.sql new file mode 100644 index 00000000..080785ac --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_TEST_QUALITY.sql @@ -0,0 +1,52 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_TEST_QUALITY] +AS +BEGIN + SET NOCOUNT ON; +update c6mart.email_pb set email = 'fabio.consoli@hp.com' where codice = '015312' +update c6mart.anag_promotori set e_mail = 'fabio.consoli@hp.com' where id_promotore = '015312' +--*********************************************************************************************************** + --*********************************************************************************************************** +--*********************************************************************************************************** +--*********************************************************************************************************** + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.2' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO --SUBSTRING(PDF.NomeFile, 0, 12) + WHERE + -- modifica del 3/10/2018 per gestire i valori 'date' del campo e che mandano in errore di conversione la sp + --VC.INVIOBENVENUTO = 'S' + cast(VC.InvioBenvenuto as varchar) = 'S' + -- fine modifica del 3/10/2018 + AND PDF.CODICEFISCALE IS NULL +--*********************************************************************************************************** + --*********************************************************************************************************** + INSERT INTO C6MART.TEST_QUALITY + SELECT + RETE, + COD_FISCALE, + CASE WHEN PMOD.PRC > 100 + THEN 'SCARTO PER PIRAMIDE MODELLO SUPERIORE A 100' + ELSE 'SCARTO PER PIRAMIDE MODELLO INFERIORE A 100' + END AS MOTIVO + --FROM C6MART.VCONTRATTISEI VC + FROM C6MART.VCONTRATTI VC + INNER JOIN + (SELECT chiaveclientepb, sum(percentualeprogetto) AS PRC FROM c6staging.rp_progettipiramidemodello + WHERE 1=1 + AND ((area = 'Inv' and tipoProgetto = 1) OR (area <> 'Inv' and tipoProgetto = 0)) + AND DtFineValidita > getdate() + group by chiaveclientepb + having sum(percentualeprogetto) <> 0 AND sum(percentualeprogetto) <> 100 + ) AS PMOD + ON VC.chiaveclientepb = PMOD.chiaveclientepb + WHERE PMOD.PRC <> 0 AND PMOD.PRC <> 100 + --AND ISNULL(VC.INVIOBENVENUTO,'N') = 'N' +--INSERT INTO C6MART.TEST_QUALITY +--SELECT DISTINCT RETE,COD_FISCALE,'DATO ERRATO C6MART.ASSET_PERC' FROM C6MART.PATRIMONIO_BF WHERE COD_PRODOTTO IN + --(select COD_PRODOTTO from C6MART.ASSET_PERC WHERE PERC < 0 OR PERC > 100) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_TEST_QUALITY_20181003.sql b/sql/storedTestbes/C6Mart_DM_TEST_QUALITY_20181003.sql new file mode 100644 index 00000000..12e43c5e --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_TEST_QUALITY_20181003.sql @@ -0,0 +1,47 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_TEST_QUALITY_20181003] +AS +BEGIN + SET NOCOUNT ON; +update c6mart.email_pb set email = 'fabio.consoli@hp.com' where codice = '015312' +update c6mart.anag_promotori set e_mail = 'fabio.consoli@hp.com' where id_promotore = '015312' +--*********************************************************************************************************** + --*********************************************************************************************************** +--*********************************************************************************************************** +--*********************************************************************************************************** + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.2' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO --SUBSTRING(PDF.NomeFile, 0, 12) + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +--*********************************************************************************************************** + --*********************************************************************************************************** + INSERT INTO C6MART.TEST_QUALITY + SELECT + RETE, + COD_FISCALE, + CASE WHEN PMOD.PRC > 100 + THEN 'SCARTO PER PIRAMIDE MODELLO SUPERIORE A 100' + ELSE 'SCARTO PER PIRAMIDE MODELLO INFERIORE A 100' + END AS MOTIVO + --FROM C6MART.VCONTRATTISEI VC + FROM C6MART.VCONTRATTI VC + INNER JOIN + (SELECT chiaveclientepb, sum(percentualeprogetto) AS PRC FROM c6staging.rp_progettipiramidemodello + WHERE 1=1 + AND ((area = 'Inv' and tipoProgetto = 1) OR (area <> 'Inv' and tipoProgetto = 0)) + AND DtFineValidita > getdate() + group by chiaveclientepb + having sum(percentualeprogetto) <> 0 AND sum(percentualeprogetto) <> 100 + ) AS PMOD + ON VC.chiaveclientepb = PMOD.chiaveclientepb + WHERE PMOD.PRC <> 0 AND PMOD.PRC <> 100 + --AND ISNULL(VC.INVIOBENVENUTO,'N') = 'N' +INSERT INTO C6MART.TEST_QUALITY +SELECT DISTINCT RETE,COD_FISCALE,'DATO ERRATO C6MART.ASSET_PERC' FROM C6MART.PATRIMONIO_BF WHERE COD_PRODOTTO IN + (select COD_PRODOTTO from C6MART.ASSET_PERC WHERE PERC < 0 OR PERC > 100) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_DM_VAR_ADEGUATEZZA.sql b/sql/storedTestbes/C6Mart_DM_VAR_ADEGUATEZZA.sql new file mode 100644 index 00000000..81682e43 --- /dev/null +++ b/sql/storedTestbes/C6Mart_DM_VAR_ADEGUATEZZA.sql @@ -0,0 +1,41 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[DM_VAR_ADEGUATEZZA] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_VAR_ADEGUATEZZA', + GETDATE(), + 'Elaborazione giornaliera' + ) +truncate table C6Staging.VAR_ADEGUATEZZA + insert into C6Staging.VAR_ADEGUATEZZA + select RETE,CODICE_FISCALE,0.00 as VAR_COMPLESSIO_BF,'N' from C6Staging.VAR_ADEGUATEZZA_INDICATORI + -- il VAR_COMPLESSIVO BF VERRA POI POPOLATA IN [C6Mart].[DM_RISCHIO_AGGREGATO] + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_VAR_ADEGUATEZZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_VAR_ADEGUATEZZA' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_Decodifica_Concentrazione_Prodotti_Complessi.sql b/sql/storedTestbes/C6Mart_Decodifica_Concentrazione_Prodotti_Complessi.sql new file mode 100644 index 00000000..d15dfd7b --- /dev/null +++ b/sql/storedTestbes/C6Mart_Decodifica_Concentrazione_Prodotti_Complessi.sql @@ -0,0 +1,141 @@ +--[C6Mart].[PL_D_S180ProdottiComplessitaAlta] 'f', 'ff@9225' +CREATE procedure [C6Mart].[Decodifica_Concentrazione_Prodotti_Complessi] --'W','PSTFNC40D10I992T' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @adeguato int +select @adeguato=cc_adeguatezza_indicatore from c6staging.VAR_ADEGUATEZZA_INDICATORI where RETE=@Rete and CODICE_FISCALE=@CodiceFiscale +if(@adeguato=0) +begin + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @TotalePatrimonio decimal(12,2) + -- acquisiamo il totale patrimonio del cliente + SELECT @TotalePatrimonio = ctv + FROM + C6Mart.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +-- + SELECT + 1 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi + into #temp +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 3 + union all + SELECT + 2 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 2 + union all + SELECT + 3 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 1 + -- --20180905 Fine modifica + order by ordine,Compl_Base desc + delete from #temp where ordine=1 and SommaPesi<20 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta è <20 + delete from #temp where ordine=2 and SommaPesi<30 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta è <30 + delete from #temp where ordine=3 and SommaPesi<50 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta e medio-bassa è <50 +DECLARE @countLimMax VARCHAR(50) +SELECT @countLimMax = count(*) FROM #temp +DECLARE @maxCompl VARCHAR(50) +select @maxCompl = max(compl_base) from [C6Mart].[TB_S180ProdottiComplessitaAlta] where rete=@rete and Cod_fiscale=@CodiceFiscale +declare @IndPatrimonio decimal(12,2) + -- acquisiamo il totale patrimonio del cliente + SELECT @IndPatrimonio = case when ctv>50000 then 2 + when ctv>75000 then 3 + when ctv>150000 then 4 + else 0 end + FROM + C6Mart.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +if (@countLimMax=0 and @maxCompl>@IndPatrimonio) +begin +update C6Staging.VAR_ADEGUATEZZA_INDICATORI +set cc_adeguatezza_descrizione = 'Il livello di concentrazione di prodotti complessi nel suo portafoglio è NON ADEGUATO in quanto non coerente rispetto al patrimonio minimo richiesto per la sottoscrizione di tali prodotti.' +where rete=@Rete +and codice_fiscale=@CodiceFiscale +--print('Il livello di concentrazione di prodotti complessi nel suo portafoglio è NON ADEGUATO in quanto non coerente rispetto al patrimonio minimo richiesto per la sottoscrizione di tali prodotti.') +end +if (@countLimMax>0 and @maxCompl<=@IndPatrimonio) +begin +update C6Staging.VAR_ADEGUATEZZA_INDICATORI +set cc_adeguatezza_descrizione = 'Il livello di concentrazione di prodotti complessi nel suo portafoglio è NON ADEGUATO in quanto superiore ai limiti massimi stabiliti dalla Banca.' +where rete=@Rete +and CODICE_FISCALE=@CodiceFiscale +--print('Il livello di concentrazione di prodotti complessi nel suo portafoglio è NON ADEGUATO in quanto superiore ai limiti massimi stabiliti dalla Banca.') +end +if (@countLimMax>0 and @maxCompl>@IndPatrimonio) +begin +update C6Staging.VAR_ADEGUATEZZA_INDICATORI +set cc_adeguatezza_descrizione = 'Il livello di concentrazione di prodotti complessi nel suo portafoglio è NON ADEGUATO in quanto superiore ai limiti massimi stabiliti dalla Banca e non coerente rispetto al patrimonio minimo richiesto per la sottoscrizione di tali prodotti.' +where rete=@Rete +and CODICE_FISCALE=@CodiceFiscale +--print('Il livello di concentrazione di prodotti complessi nel suo portafoglio è NON ADEGUATO in quanto superiore ai limiti massimi stabiliti dalla Banca e non coerente rispetto al patrimonio minimo richiesto per la sottoscrizione di tali prodotti.') +end +end +end \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_C6_S_Generator.sql b/sql/storedTestbes/C6Mart_GESTIONE_C6_S_Generator.sql new file mode 100644 index 00000000..a9c71946 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_C6_S_Generator.sql @@ -0,0 +1,22 @@ +-- [C6Mart].[GESTIONE_C6_S_Generator] 1, 4, 'T' +-- [C6Mart].[GESTIONE_C6_S_Generator] 4, 13, 'T' (monitoraggio,private,trim) +-- [C6Mart].[GESTIONE_C6_S_Generator] 4, 12, 'T' (monitoraggio,old/affluent,trim) +CREATE procedure [C6Mart].[GESTIONE_C6_S_Generator] +@idReport as int, +@idModello as int, +@periodicita as varchar(1) = 'G' +AS +BEGIN + SET NOCOUNT ON; + if (@idModello=6) +begin +select * from C6Mart.generator_direct where codicesezione not like 'S%' and codiceSezione not in('FD147','FD133Bis') order BY ordineCapitolo,ordineParagrafo,ordineSezione +end +if (@idModello=5) +begin +SELECT * +from C6Mart.Generator_Diagnosi +where codiceSezione not in('S187','S188') + ORDER BY ordineCapitolo,ordineParagrafo,ordineSezione +end +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_C6_S_Generator_AND.sql b/sql/storedTestbes/C6Mart_GESTIONE_C6_S_Generator_AND.sql new file mode 100644 index 00000000..c7254eb0 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_C6_S_Generator_AND.sql @@ -0,0 +1,152 @@ +-- [C6Mart].[GESTIONE_C6_S_Generator] 1, 4, 'T' +CREATE procedure [C6Mart].[GESTIONE_C6_S_Generator_AND] +@idReport as int, +@idModello as int, +@periodicita as varchar(1) = 'G' +AS +BEGIN + SET NOCOUNT ON; +-- CREO LA TABELLA #R6Capitolopdf +SELECT R6Capitolo.id, + R6Capitolo.titolo, + R6Capitolo.testo, + R6Capitolo.testoAlternativo, + R6Capitolo.nuovapagina, + R6Capitolo.queryOracle, + R6Capitolo.querySql, + R6Capitolo.querySqlPeriodico +into #R6CAPITOLOPDF +FROM +ReportSezionePers AS a INNER JOIN +R6_SezioneR6Capitolo AS b ON a.IdSezione = b.IdSezione INNER JOIN +R6Capitolo ON b.IdCapitoloPDF = R6Capitolo.id +where a.idreport = @idModello +-- CREO LA TABELLA #R6ParagrafoPDF +SELECT R6Paragrafo.id, + R6Paragrafo.titolo, + R6Paragrafo.testo, + R6Paragrafo.queryOracle, + R6Paragrafo.querySql, + R6Paragrafo.querySqlPeriodico, + R6Paragrafo.SottoTitoloQuery, + R6Paragrafo.SpazioNecessarioSezioneSuccessiva +into #R6PARAGRAFOPDF +FROM ReportSezionePers AS a INNER JOIN + R6_SezioneR6Paragrafo AS b ON a.IdSezione = b.IdSezione INNER JOIN + R6Paragrafo ON b.IdParagrafoPDF = R6Paragrafo.id + where a.idreport = @idModello +-- CREO LA TABELLA #R6SEZIONEPDF +SELECT + R6Sezione.id, + R6Sezione.codice, + R6Sezione.queryOracle, + R6Sezione.querySql, + R6Sezione.querySqlPeriodico, + R6Sezione.ordineQueryOracle, + R6Sezione.ordineQuerySql + --R6Sezione.nuovaPaginaDopo +into #R6SEZIONEPDF +FROM ReportSezionePers AS a INNER JOIN + R6_SezioneR6Sezione AS b ON a.IdSezione = b.idFkSezione INNER JOIN + R6Sezione ON b.idFkC6Sezione = R6Sezione.id +WHERE (a.IdReport = @idModello) +SELECT DISTINCT [#R6CAPITOLOPDF].id as idCapitolo + ,[R6ReportR6Capitolo].[ordineCapitolo] as ordineCapitolo + ,[#R6CAPITOLOPDF].[titolo] as titoloCapitolo + ,[#R6CAPITOLOPDF].[testo] as testoCapitolo + ,[#R6CAPITOLOPDF].[testoAlternativo] as testoCapitoloAlternativo + ,[#R6CAPITOLOPDF].[nuovapagina] as nuovaPaginaCapitolo +-- ,[#R6CAPITOLOPDF].[queryOracle] as queryOracleCapitolo + ,isnull([#R6CAPITOLOPDF].[querySqlPeriodico],'') as querySqlCapitoloT + ,isnull([#R6CAPITOLOPDF].[querySql],'') as querySqlCapitoloG + ,[#R6PARAGRAFOPDF].[id] as idParagrafo + ,[R6CapitoloR6Paragrafo].[ordineParagrafo] as ordineParagrafo + ,[#R6PARAGRAFOPDF].[titolo] as titoloParagrafo + ,[#R6PARAGRAFOPDF].[sottoTitoloQuery] as sottoTitoloParagrafo + ,[#R6PARAGRAFOPDF].[testo] as testoParagrafo + ,[#R6PARAGRAFOPDF].spazioNecessarioSezioneSuccessiva as spazioNecessarioSezioneSuccessiva +-- ,isnull([#R6PARAGRAFOPDF].[queryOracle],'') as queryOracleParagrafo + ,isnull([#R6PARAGRAFOPDF].[querySql],'') as querySqlParagrafoG +,isnull([#R6PARAGRAFOPDF].[querySqlPeriodico],'') as querySqlParagrafoT + ,[R6CapitoloR6Paragrafo].[indicizzato] as indicizzatoParagrafo + ,[R6ParagrafoR6Sezione].[ordineSezione] as ordineSezione + ,[#R6SEZIONEPDF].[id] as idSezione + ,[#R6SEZIONEPDF].[codice] as codiceSezione +-- ,isnull([#R6SEZIONEPDF].[queryOracle],'') as queryOracleSezione + ,isnull([#R6SEZIONEPDF].[querySql],'') as querySqlSezioneG + ,isnull([#R6SEZIONEPDF].[querySqlPeriodico],'') as querySqlSezioneT + ,[R6ParagrafoR6Sezione].indicizzato as indicizzatoSezione + ,[R6ParagrafoR6Sezione].[filtroDataView] as filtroSezione + ,[R6ParagrafoR6Sezione].[titolo] as titoloSezione + ,isnull([R6ParagrafoR6Sezione].[testo],'') as testoSezione + ,isnull([R6ParagrafoR6Sezione].[testo1] ,'') as testoSezioneAlternativo + ,isnull([R6ParagrafoR6Sezione].[nota],'') as notaSezione + ,isnull([R6ParagrafoR6Sezione].[nota1],'') as notaSezioneAlternativo, + [R6ParagrafoR6Sezione].[nuovaPaginaDopo] as nuovaPaginaDopo + --,[#R6SEZIONEPDF].nuovaPaginaDopo as nuovaPaginaDopo +into #tab +FROM #R6SEZIONEPDF +INNER JOIN R6ParagrafoR6Sezione ON #R6SEZIONEPDF.id = R6ParagrafoR6Sezione.idFkSezione +INNER JOIN #R6PARAGRAFOPDF ON R6ParagrafoR6Sezione.idFkParagrafo = #R6PARAGRAFOPDF.id +INNER JOIN R6CapitoloR6Paragrafo ON #R6PARAGRAFOPDF.id = R6CapitoloR6Paragrafo.idFkParagrafo +INNER JOIN #R6CAPITOLOPDF ON R6CapitoloR6Paragrafo.idFkCapitolo = #R6CAPITOLOPDF.id +INNER JOIN R6ReportR6Capitolo ON #R6CAPITOLOPDF.id = R6ReportR6Capitolo.idFkCapitolo +WHERE [R6ParagrafoR6Sezione].idFkReport = @idReport +ORDER BY ordineCapitolo,ordineParagrafo,ordineSezione +insert into c6mart.modellopdf +select @idModello as idModelloPdf,* from #tab +-- [C6Mart].[GESTIONE_C6_S_Generator_and] 4, 13, 'T' + select + --idModelloPdf, + idCapitolo + ,ordineCapitolo + ,titoloCapitolo + ,testoCapitolo + ,testoCapitoloAlternativo + ,nuovaPaginaCapitolo + --,querySqlCapitoloT + ,querySqlCapitoloG as querySqlCapitoloG + ,idParagrafo + ,ordineParagrafo + ,titoloParagrafo + ,sottoTitoloParagrafo + ,testoParagrafo + ,spazioNecessarioSezioneSuccessiva + --,querySqlParagrafoG + ,querySqlParagrafoT as querySqlParagrafo + ,indicizzatoParagrafo + ,ordineSezione + ,idSezione + ,codiceSezione + -- ,querySqlSezioneG + ,querySqlSezioneT as querySqlSezione + ,indicizzatoSezione + ,filtroSezione + ,titoloSezione + ,testoSezione + ,testoSezioneAlternativo + ,notaSezione + ,notaSezioneAlternativo + ,nuovaPaginaDopo + FROM c6mart.modellopdf where idmodellopdf = 12 + ORDER BY ordineCapitolo,ordineParagrafo,ordineSezione +/* +SELECT * +FROM #R6CAPITOLOPDF INNER JOIN R6CapitoloR6Paragrafo + ON #R6CAPITOLOPDF.id = R6CapitoloR6Paragrafo.idFkCapitolo + and R6CapitoloR6Paragrafo.idFkReport = @idReport + INNER JOIN + #R6PARAGRAFOPDF ON + R6CapitoloR6Paragrafo.idFkParagrafo = #R6PARAGRAFOPDF.id + INNER JOIN + R6ParagrafoR6Sezione ON + #R6PARAGRAFOPDF.id = R6ParagrafoR6Sezione.idFkParagrafo + and R6ParagrafoR6Sezione.idFkReport = @idReport + INNER JOIN + #R6SEZIONEPDF ON + R6ParagrafoR6Sezione.idFkSezione = #R6SEZIONEPDF.id +*/ +DROP TABLE #R6CAPITOLOPDF +DROP TABLE #R6PARAGRAFOPDF +DROP TABLE #R6SEZIONEPDF +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_C6_S_Generator_EN.sql b/sql/storedTestbes/C6Mart_GESTIONE_C6_S_Generator_EN.sql new file mode 100644 index 00000000..94dcb8bb --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_C6_S_Generator_EN.sql @@ -0,0 +1,132 @@ +-- [C6Mart].[GESTIONE_C6_S_Generator] 1, 4, 'T' +-- [C6Mart].[GESTIONE_C6_S_Generator] 4, 13, 'T' -- (monitoraggio,private,trim) +-- [C6Mart].[GESTIONE_C6_S_Generator] 4, 12, 'T' -- (monitoraggio,old/affluent,trim) +-- [C6Mart].[GESTIONE_C6_S_Generator] 1, 5, 'T' -- (trimestrale/Diagnosi 'G',old) +CREATE procedure [C6Mart].[GESTIONE_C6_S_Generator_EN] +@idReport as int, +@idModello as int, +@periodicita as varchar(1) = 'G' +AS +BEGIN + SET NOCOUNT ON; +-- CREO LA TABELLA #R6Capitolopdf +SELECT R6Capitolo.id, + R6Capitolo.titolo, + R6Capitolo.testo, + R6Capitolo.testoAlternativo, + R6Capitolo.nuovapagina, + R6Capitolo.queryOracle, + R6Capitolo.querySql, + R6Capitolo.querySqlPeriodico +into #R6CAPITOLOPDF +FROM +ReportSezionePers AS a INNER JOIN +R6_SezioneR6Capitolo AS b ON a.IdSezione = b.IdSezione INNER JOIN +R6Capitolo ON b.IdCapitoloPDF = R6Capitolo.id +where a.idreport = @idModello +-- CREO LA TABELLA #R6ParagrafoPDF +SELECT R6Paragrafo.id, + R6Paragrafo.titolo, + R6Paragrafo.testo, + R6Paragrafo.queryOracle, + R6Paragrafo.querySql, + R6Paragrafo.querySqlPeriodico, + R6Paragrafo.SottoTitoloQuery, + R6Paragrafo.SpazioNecessarioSezioneSuccessiva +into #R6PARAGRAFOPDF +FROM ReportSezionePers AS a INNER JOIN + R6_SezioneR6Paragrafo AS b ON a.IdSezione = b.IdSezione INNER JOIN + R6Paragrafo ON b.IdParagrafoPDF = R6Paragrafo.id + where a.idreport = @idModello +-- CREO LA TABELLA #R6SEZIONEPDF +SELECT + R6Sezione.id, + R6Sezione.codice, + R6Sezione.queryOracle, + R6Sezione.querySql, + R6Sezione.querySqlPeriodico, + R6Sezione.ordineQueryOracle, + R6Sezione.ordineQuerySql + --R6Sezione.nuovaPaginaDopo +into #R6SEZIONEPDF +FROM ReportSezionePers AS a INNER JOIN + R6_SezioneR6Sezione AS b ON a.IdSezione = b.idFkSezione INNER JOIN + R6Sezione ON b.idFkC6Sezione = R6Sezione.id +WHERE (a.IdReport = @idModello) +SELECT DISTINCT [#R6CAPITOLOPDF].id as idCapitolo + ,[R6ReportR6Capitolo].[ordineCapitolo] as ordineCapitolo + ,[#R6CAPITOLOPDF].[titolo] as titoloCapitolo + ,[#R6CAPITOLOPDF].[testo] as testoCapitolo + ,[#R6CAPITOLOPDF].[testoAlternativo] as testoCapitoloAlternativo + ,[#R6CAPITOLOPDF].[nuovapagina] as nuovaPaginaCapitolo +-- ,[#R6CAPITOLOPDF].[queryOracle] as queryOracleCapitolo +,Case when @periodicita = 'G' then isnull([#R6CAPITOLOPDF].[querySql],'') else + Case when @periodicita = 'T' then isnull([#R6CAPITOLOPDF].[querySqlPeriodico],'') + END END as querySqlCapitolo + ,[#R6PARAGRAFOPDF].[id] as idParagrafo + ,[R6CapitoloR6Paragrafo].[ordineParagrafo] as ordineParagrafo + ,[#R6PARAGRAFOPDF].[titolo] as titoloParagrafo + ,[#R6PARAGRAFOPDF].[sottoTitoloQuery] as sottoTitoloParagrafo + ,[#R6PARAGRAFOPDF].[testo] as testoParagrafo + ,[#R6PARAGRAFOPDF].spazioNecessarioSezioneSuccessiva as spazioNecessarioSezioneSuccessiva +-- ,isnull([#R6PARAGRAFOPDF].[queryOracle],'') as queryOracleParagrafo +,Case when @periodicita = 'G' then isnull([#R6PARAGRAFOPDF].[querySql],'') else + Case when @periodicita = 'T' then isnull([#R6PARAGRAFOPDF].[querySqlPeriodico],'') + END END as querySqlParagrafo + ,[R6CapitoloR6Paragrafo].[indicizzato] as indicizzatoParagrafo + ,[R6ParagrafoR6Sezione].[ordineSezione] as ordineSezione + ,[#R6SEZIONEPDF].[id] as idSezione + ,[#R6SEZIONEPDF].[codice] as codiceSezione +-- ,isnull([#R6SEZIONEPDF].[queryOracle],'') as queryOracleSezione +,Case when @periodicita = 'G' then isnull([#R6SEZIONEPDF].[querySql],'') else + Case when @periodicita = 'T' then isnull([#R6SEZIONEPDF].[querySqlPeriodico],'') + END END as querySqlSezione + ,[R6ParagrafoR6Sezione].indicizzato as indicizzatoSezione + ,[R6ParagrafoR6Sezione].[filtroDataView] as filtroSezione + ,[R6ParagrafoR6Sezione].[titolo] as titoloSezione + ,isnull([R6ParagrafoR6Sezione].[testo],'') as testoSezione + ,isnull([R6ParagrafoR6Sezione].[testo1] ,'') as testoSezioneAlternativo + ,isnull([R6ParagrafoR6Sezione].[nota],'') as notaSezione + ,isnull([R6ParagrafoR6Sezione].[nota1],'') as notaSezioneAlternativo, + [R6ParagrafoR6Sezione].[nuovaPaginaDopo] as nuovaPaginaDopo + --,[#R6SEZIONEPDF].nuovaPaginaDopo as nuovaPaginaDopo +INTO #TABV +FROM #R6SEZIONEPDF +INNER JOIN R6ParagrafoR6Sezione ON #R6SEZIONEPDF.id = R6ParagrafoR6Sezione.idFkSezione +INNER JOIN #R6PARAGRAFOPDF ON R6ParagrafoR6Sezione.idFkParagrafo = #R6PARAGRAFOPDF.id +INNER JOIN R6CapitoloR6Paragrafo ON #R6PARAGRAFOPDF.id = R6CapitoloR6Paragrafo.idFkParagrafo +INNER JOIN #R6CAPITOLOPDF ON R6CapitoloR6Paragrafo.idFkCapitolo = #R6CAPITOLOPDF.id +INNER JOIN R6ReportR6Capitolo ON #R6CAPITOLOPDF.id = R6ReportR6Capitolo.idFkCapitolo +WHERE [R6ParagrafoR6Sezione].idFkReport = @idReport +ORDER BY ordineCapitolo,ordineParagrafo,ordineSezione +/* +SELECT * +FROM #R6CAPITOLOPDF INNER JOIN R6CapitoloR6Paragrafo + ON #R6CAPITOLOPDF.id = R6CapitoloR6Paragrafo.idFkCapitolo + and R6CapitoloR6Paragrafo.idFkReport = @idReport + INNER JOIN + #R6PARAGRAFOPDF ON + R6CapitoloR6Paragrafo.idFkParagrafo = #R6PARAGRAFOPDF.id + INNER JOIN + R6ParagrafoR6Sezione ON + #R6PARAGRAFOPDF.id = R6ParagrafoR6Sezione.idFkParagrafo + and R6ParagrafoR6Sezione.idFkReport = @idReport + INNER JOIN + #R6SEZIONEPDF ON + R6ParagrafoR6Sezione.idFkSezione = #R6SEZIONEPDF.id +*/ +DROP TABLE #R6CAPITOLOPDF +DROP TABLE #R6PARAGRAFOPDF +DROP TABLE #R6SEZIONEPDF + --if @periodicita = 'T' + --begin + -- update #TABV set + -- --codiceSezione='S160' + -- --,querySqlSezione='[C6MartPeriodico].PL_D_S160DettaglioProdottiBF' + -- querySqlParagrafo = null + --,titoloParagrafo= null + -- ,sottoTitoloParagrafo= null + --where codiceSezione= 'S43BIS' + --end +SELECT * FROM #TABV +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_C6_S_Generator_OLD.sql b/sql/storedTestbes/C6Mart_GESTIONE_C6_S_Generator_OLD.sql new file mode 100644 index 00000000..079c81e3 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_C6_S_Generator_OLD.sql @@ -0,0 +1,138 @@ +-- [C6Mart].[GESTIONE_C6_S_Generator] 1, 4, 'T' +-- [C6Mart].[GESTIONE_C6_S_Generator] 4, 13, 'T' (monitoraggio,private,trim) +-- [C6Mart].[GESTIONE_C6_S_Generator] 4, 12, 'T' (monitoraggio,old/affluent,trim) +CREATE procedure [C6Mart].[GESTIONE_C6_S_Generator_OLD] +@idReport as int, +@idModello as int, +@periodicita as varchar(1) = 'G' +AS +BEGIN + SET NOCOUNT ON; + if (@idModello=6) +begin +select * from C6Mart.generator_direct where codicesezione not like 'S%' and codiceSezione not in('FD147','FD133Bis') order BY ordineCapitolo,ordineParagrafo,ordineSezione +end +else +begin +-- CREO LA TABELLA #R6Capitolopdf +SELECT R6Capitolo.id, + R6Capitolo.titolo, + R6Capitolo.testo, + R6Capitolo.testoAlternativo, + R6Capitolo.nuovapagina, + R6Capitolo.queryOracle, + R6Capitolo.querySql, + R6Capitolo.querySqlPeriodico +into #R6CAPITOLOPDF +FROM +ReportSezionePers AS a INNER JOIN +R6_SezioneR6Capitolo AS b ON a.IdSezione = b.IdSezione INNER JOIN +R6Capitolo ON b.IdCapitoloPDF = R6Capitolo.id +where a.idreport = @idModello +-- CREO LA TABELLA #R6ParagrafoPDF +SELECT R6Paragrafo.id, + R6Paragrafo.titolo, + R6Paragrafo.testo, + R6Paragrafo.queryOracle, + R6Paragrafo.querySql, + R6Paragrafo.querySqlPeriodico, + R6Paragrafo.SottoTitoloQuery, + R6Paragrafo.SpazioNecessarioSezioneSuccessiva +into #R6PARAGRAFOPDF +FROM ReportSezionePers AS a INNER JOIN + R6_SezioneR6Paragrafo AS b ON a.IdSezione = b.IdSezione INNER JOIN + R6Paragrafo ON b.IdParagrafoPDF = R6Paragrafo.id + where a.idreport = @idModello +-- CREO LA TABELLA #R6SEZIONEPDF +SELECT + R6Sezione.id, + R6Sezione.codice, + R6Sezione.queryOracle, + R6Sezione.querySql, + R6Sezione.querySqlPeriodico, + R6Sezione.ordineQueryOracle, + R6Sezione.ordineQuerySql + --R6Sezione.nuovaPaginaDopo +into #R6SEZIONEPDF +FROM ReportSezionePers AS a INNER JOIN + R6_SezioneR6Sezione AS b ON a.IdSezione = b.idFkSezione INNER JOIN + R6Sezione ON b.idFkC6Sezione = R6Sezione.id +WHERE (a.IdReport = @idModello) +SELECT DISTINCT [#R6CAPITOLOPDF].id as idCapitolo + ,[R6ReportR6Capitolo].[ordineCapitolo] as ordineCapitolo + ,[#R6CAPITOLOPDF].[titolo] as titoloCapitolo + ,[#R6CAPITOLOPDF].[testo] as testoCapitolo + ,[#R6CAPITOLOPDF].[testoAlternativo] as testoCapitoloAlternativo + ,[#R6CAPITOLOPDF].[nuovapagina] as nuovaPaginaCapitolo +-- ,[#R6CAPITOLOPDF].[queryOracle] as queryOracleCapitolo +,Case when @periodicita = 'G' then isnull([#R6CAPITOLOPDF].[querySql],'') else + Case when @periodicita = 'T' then isnull([#R6CAPITOLOPDF].[querySqlPeriodico],'') + END END as querySqlCapitolo + ,[#R6PARAGRAFOPDF].[id] as idParagrafo + ,[R6CapitoloR6Paragrafo].[ordineParagrafo] as ordineParagrafo + ,[#R6PARAGRAFOPDF].[titolo] as titoloParagrafo + ,[#R6PARAGRAFOPDF].[sottoTitoloQuery] as sottoTitoloParagrafo + ,[#R6PARAGRAFOPDF].[testo] as testoParagrafo + ,[#R6PARAGRAFOPDF].spazioNecessarioSezioneSuccessiva as spazioNecessarioSezioneSuccessiva +-- ,isnull([#R6PARAGRAFOPDF].[queryOracle],'') as queryOracleParagrafo +,Case when @periodicita = 'G' then isnull([#R6PARAGRAFOPDF].[querySql],'') else + Case when @periodicita = 'T' then isnull([#R6PARAGRAFOPDF].[querySqlPeriodico],'') + END END as querySqlParagrafo + ,[R6CapitoloR6Paragrafo].[indicizzato] as indicizzatoParagrafo + ,[R6ParagrafoR6Sezione].[ordineSezione] as ordineSezione + ,[#R6SEZIONEPDF].[id] as idSezione + ,[#R6SEZIONEPDF].[codice] as codiceSezione +-- ,isnull([#R6SEZIONEPDF].[queryOracle],'') as queryOracleSezione +,Case when @periodicita = 'G' then isnull([#R6SEZIONEPDF].[querySql],'') else + Case when @periodicita = 'T' then isnull([#R6SEZIONEPDF].[querySqlPeriodico],'') + END END as querySqlSezione + ,[R6ParagrafoR6Sezione].indicizzato as indicizzatoSezione + ,[R6ParagrafoR6Sezione].[filtroDataView] as filtroSezione + ,[R6ParagrafoR6Sezione].[titolo] as titoloSezione + ,isnull([R6ParagrafoR6Sezione].[testo],'') as testoSezione + ,isnull([R6ParagrafoR6Sezione].[testo1] ,'') as testoSezioneAlternativo + ,isnull([R6ParagrafoR6Sezione].[nota],'') as notaSezione + ,isnull([R6ParagrafoR6Sezione].[nota1],'') as notaSezioneAlternativo, + [R6ParagrafoR6Sezione].[nuovaPaginaDopo] as nuovaPaginaDopo + --,[#R6SEZIONEPDF].nuovaPaginaDopo as nuovaPaginaDopo +INTO #TABV +FROM #R6SEZIONEPDF +INNER JOIN R6ParagrafoR6Sezione ON #R6SEZIONEPDF.id = R6ParagrafoR6Sezione.idFkSezione +INNER JOIN #R6PARAGRAFOPDF ON R6ParagrafoR6Sezione.idFkParagrafo = #R6PARAGRAFOPDF.id +INNER JOIN R6CapitoloR6Paragrafo ON #R6PARAGRAFOPDF.id = R6CapitoloR6Paragrafo.idFkParagrafo +INNER JOIN #R6CAPITOLOPDF ON R6CapitoloR6Paragrafo.idFkCapitolo = #R6CAPITOLOPDF.id +INNER JOIN R6ReportR6Capitolo ON #R6CAPITOLOPDF.id = R6ReportR6Capitolo.idFkCapitolo +WHERE [R6ParagrafoR6Sezione].idFkReport = @idReport +ORDER BY ordineCapitolo,ordineParagrafo,ordineSezione +/* +SELECT * +FROM #R6CAPITOLOPDF INNER JOIN R6CapitoloR6Paragrafo + ON #R6CAPITOLOPDF.id = R6CapitoloR6Paragrafo.idFkCapitolo + and R6CapitoloR6Paragrafo.idFkReport = @idReport + INNER JOIN + #R6PARAGRAFOPDF ON + R6CapitoloR6Paragrafo.idFkParagrafo = #R6PARAGRAFOPDF.id + INNER JOIN + R6ParagrafoR6Sezione ON + #R6PARAGRAFOPDF.id = R6ParagrafoR6Sezione.idFkParagrafo + and R6ParagrafoR6Sezione.idFkReport = @idReport + INNER JOIN + #R6SEZIONEPDF ON + R6ParagrafoR6Sezione.idFkSezione = #R6SEZIONEPDF.id +*/ +DROP TABLE #R6CAPITOLOPDF +DROP TABLE #R6PARAGRAFOPDF +DROP TABLE #R6SEZIONEPDF + --if @periodicita = 'T' + --begin + -- update #TABV set + -- --codiceSezione='S160' + -- --,querySqlSezione='[C6MartPeriodico].PL_D_S160DettaglioProdottiBF' + -- querySqlParagrafo = null + --,titoloParagrafo= null + -- ,sottoTitoloParagrafo= null + --where codiceSezione= 'S43BIS' + --end +SELECT * FROM #TABV ORDER BY ordineCapitolo,ordineParagrafo,ordineSezione +end +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_C6_S_Generator_bkp_20250228_Pre_ESG2024.sql b/sql/storedTestbes/C6Mart_GESTIONE_C6_S_Generator_bkp_20250228_Pre_ESG2024.sql new file mode 100644 index 00000000..af27f8a2 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_C6_S_Generator_bkp_20250228_Pre_ESG2024.sql @@ -0,0 +1,22 @@ +-- [C6Mart].[GESTIONE_C6_S_Generator] 1, 4, 'T' +-- [C6Mart].[GESTIONE_C6_S_Generator] 4, 13, 'T' (monitoraggio,private,trim) +-- [C6Mart].[GESTIONE_C6_S_Generator] 4, 12, 'T' (monitoraggio,old/affluent,trim) +CREATE procedure [C6Mart].[GESTIONE_C6_S_Generator_bkp_20250228_Pre_ESG2024] +@idReport as int, +@idModello as int, +@periodicita as varchar(1) = 'G' +AS +BEGIN + SET NOCOUNT ON; + if (@idModello=6) +begin +select * from C6Mart.generator_direct where codicesezione not like 'S%' and codiceSezione not in('FD147','FD133Bis') order BY ordineCapitolo,ordineParagrafo,ordineSezione +end +if (@idModello=5) +begin +SELECT * +from C6Mart.Generator_Diagnosi +--where codiceSezione not in('S185') + ORDER BY ordineCapitolo,ordineParagrafo,ordineSezione +end +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_C6_S_QueryDatiComuniSql.sql b/sql/storedTestbes/C6Mart_GESTIONE_C6_S_QueryDatiComuniSql.sql new file mode 100644 index 00000000..595ef901 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_C6_S_QueryDatiComuniSql.sql @@ -0,0 +1,13 @@ +--[C6_S_QueryDatiComuniSql] 4 +CREATE procedure [C6Mart].[GESTIONE_C6_S_QueryDatiComuniSql] +@idReport as int +AS +BEGIN + SET NOCOUNT ON; +SELECT + isnull(GESTIONE_C6SezioneDatiComuni.querySql,'') as querySqlSezione + ,isnull(GESTIONE_C6SezioneDatiComuni.ordineQuerySql,-1) as ordineQuerySqlSezione +from GESTIONE_C6SezioneDatiComuni +where idReport = @idReport or isnull(idReport,0) = 0 +order by ordineQuerySqlSezione desc +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_C6_S_Vincoli.sql b/sql/storedTestbes/C6Mart_GESTIONE_C6_S_Vincoli.sql new file mode 100644 index 00000000..dbf736bf --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_C6_S_Vincoli.sql @@ -0,0 +1,25 @@ +--[C6Mart].[GESTIONE_C6_S_Vincoli] 3 +CREATE procedure [C6Mart].[GESTIONE_C6_S_Vincoli] +@idModello as int +AS +BEGIN + SET NOCOUNT ON; +SELECT DISTINCT a.IDVincoloSezioneFisica, + R6_Vincolo_SezioneFisica.SezioneFisica, + a.cardinalita AS Cardinalita, + c.CodiceVincoloApplicativo, + c.VincoloApplicativo +FROM +( + SELECT R6Sezione_Vincolo.IDVincolo, + COUNT(*) AS cardinalita, + R6Sezione_Vincolo.IDVincoloSezioneFisica + FROM ReportSezionePers + INNER JOIN R6Sezione_Vincolo ON ReportSezionePers.IdSezione = R6Sezione_Vincolo.IDSezione + WHERE ReportSezionePers.IdReport = @idModello + GROUP BY R6Sezione_Vincolo.IDVincolo, R6Sezione_Vincolo.IDVincoloSezioneFisica +) AS a +INNER JOIN R6CardinalitaVincolo AS b ON a.IDVincolo = b.IDVincolo AND a.cardinalita = b.Cardinalita +INNER JOIN R6Cardinalita_VincoloApplicativo AS c ON b.id = c.IDCardinalita +INNER JOIN R6_Vincolo_SezioneFisica ON a.IDVincoloSezioneFisica = R6_Vincolo_SezioneFisica.IDVincoloSezioneFisica +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_CRUSCOTTO_ARCHIVIAZIONE.sql b/sql/storedTestbes/C6Mart_GESTIONE_CRUSCOTTO_ARCHIVIAZIONE.sql new file mode 100644 index 00000000..e4fa0f65 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_CRUSCOTTO_ARCHIVIAZIONE.sql @@ -0,0 +1,26 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[GESTIONE_CRUSCOTTO_ARCHIVIAZIONE] 'updateFlag','flag_archiviazione',2 +CREATE procedure [C6Mart].[GESTIONE_CRUSCOTTO_ARCHIVIAZIONE] +@tipoOperazione nvarchar(30), +@tipoFlag nvarchar(30), +@valoreFlag int +as +IF @tipoOperazione = 'leggi' + begin + select * from dbo.Cruscotto_Archiviazione + end +ELSE IF @tipoOperazione = 'truncate' + begin + update dbo.Cruscotto_Archiviazione + set flag_archiviazione = 1,flag_nastro=0,flag_canc=0,num_report_da_elab = 0,num_report_su_nastro = 0,num_report_canc_da_db = 0; + select * from dbo.Cruscotto_Archiviazione; + end +ELSE IF @tipoOperazione = 'updateFlag' + begin + EXECUTE ('update dbo.Cruscotto_Archiviazione set ' + @tipoFlag + '=' + @valoreFlag); + select * from dbo.Cruscotto_Archiviazione; + end \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_INSERT_PDF_FTP.sql b/sql/storedTestbes/C6Mart_GESTIONE_INSERT_PDF_FTP.sql new file mode 100644 index 00000000..ab5ab87b --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_INSERT_PDF_FTP.sql @@ -0,0 +1,61 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_INSERT_PDF_FTP] + @Rete char(1), + @CodiceFiscale varchar(16), + @IDReport int, + @NomeFile varchar(50), + @TipoReport varchar(1), + @NumeroPagine int +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --SET NOCOUNT ON; +--begin tran + -- Insert statements for procedure here + DECLARE @ID_ELAB INT + DECLARE @COD_AGENTE VARCHAR(6) + SET @ID_ELAB = C6Mart.GETIDELAB() + SELECT @COD_AGENTE = COD_AGENTE + FROM [C6Mart].[VCONTRATTI] WHERE COD_FISCALE = @CodiceFiscale AND RETE=@RETE + insert into C6Mart.GESTIONE_PDF_FTP + ( + Rete, + CodiceFiscale, + IDReport, + DataGenerazione, + DataInvio, + FlagInvio, + NomeFile, + TipoReport, + numeroPagine, + id_Fk_zip, + ID_ELAB + ) + values + ( + @Rete, + @CodiceFiscale, + @IDReport, + Getdate(), + CASE WHEN @COD_AGENTE = '015312' THEN Getdate() ELSE null END, + CASE WHEN @COD_AGENTE = '015312' THEN 'S' ELSE 'N' END, + @NomeFile, + @TipoReport, + @NumeroPagine, + CASE WHEN @COD_AGENTE = '015312' THEN 0 ELSE -1 END, + @ID_ELAB + ) + UPDATE [C6Mart].[CONTRATTOSEI_METADATI] + SET InvioBenvenuto = 'S' + FROM [C6Mart].[VCONTRATTI] VC + INNER JOIN [C6Mart].[CONTRATTOSEI_metadati] CM + ON VC.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + WHERE VC.Rete = @Rete + AND VC.Cod_Fiscale = @CodiceFiscale + return @@rowcount +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql b/sql/storedTestbes/C6Mart_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql new file mode 100644 index 00000000..d1bfa34d --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_INSERT_PDF_FTP_RISTAMPA.sql @@ -0,0 +1,42 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22/12/2008 +-- Description: Per gestione richieste di reinvio PDF da parte di utenti HD o US +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_INSERT_PDF_FTP_RISTAMPA] + @Id INT, + @IdNuovo INT +AS +BEGIN + DECLARE @ID_ELAB INT + SET @ID_ELAB = C6Mart.GETIDELAB() + INSERT INTO C6Mart.GESTIONE_PDF_FTP + ( + Rete, + CodiceFiscale, + IDReport, + DataGenerazione, + DataInvio, + FlagInvio, + NomeFile, + TipoReport, + numeroPagine, + id_Fk_zip, + ID_ELAB + ) + SELECT + Rete, + CodiceFiscale, + @IdNuovo, + Getdate(), + null, + 'N', + NomeFile, + 'LR', + numeroPagine + 1, + -1, + @ID_ELAB + FROM C6Mart.GESTIONE_PDF_FTP + WHERE IdReport = @Id + RETURN @@ROWCOUNT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_INSERT_PDF_FTP_TEST.sql b/sql/storedTestbes/C6Mart_GESTIONE_INSERT_PDF_FTP_TEST.sql new file mode 100644 index 00000000..238ed452 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_INSERT_PDF_FTP_TEST.sql @@ -0,0 +1,62 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_INSERT_PDF_FTP_TEST] + @Rete char(1), + @CodiceFiscale varchar(16), + @IDReport int, + @NomeFile varchar(50), + @TipoReport varchar(1), + @NumeroPagine int +AS +BEGIN + RETURN 1 + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --SET NOCOUNT ON; +--begin tran + -- Insert statements for procedure here + --DECLARE @ID_ELAB INT + --DECLARE @COD_AGENTE VARCHAR(6) + -- SET @ID_ELAB = C6Mart.GETIDELAB() + -- SELECT @COD_AGENTE = COD_AGENTE + -- FROM [C6Mart].[VCONTRATTI] WHERE COD_FISCALE = @CodiceFiscale AND RETE=@RETE + --insert into C6Mart.GESTIONE_PDF_FTP + --( + -- Rete, + -- CodiceFiscale, + -- IDReport, + -- DataGenerazione, + -- DataInvio, + -- FlagInvio, + -- NomeFile, + -- TipoReport, + -- numeroPagine, + -- id_Fk_zip, + -- ID_ELAB + --) + --values + --( + -- @Rete, + -- @CodiceFiscale, + -- @IDReport, + -- Getdate(), + -- CASE WHEN @COD_AGENTE = '015312' THEN Getdate() ELSE null END, + -- CASE WHEN @COD_AGENTE = '015312' THEN 'S' ELSE 'N' END, + -- @NomeFile, + -- @TipoReport, + -- @NumeroPagine, + -- CASE WHEN @COD_AGENTE = '015312' THEN 0 ELSE -1 END, + -- @ID_ELAB + -- ) + --UPDATE [C6Mart].[CONTRATTOSEI_METADATI] + --SET InvioBenvenuto = 'S' + -- FROM [C6Mart].[VCONTRATTI] VC + -- INNER JOIN [C6Mart].[CONTRATTOSEI_metadati] CM + -- ON VC.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + --WHERE VC.Rete = @Rete + --AND VC.Cod_Fiscale = @CodiceFiscale + --return @@rowcount +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_INSERT_ZIP.sql b/sql/storedTestbes/C6Mart_GESTIONE_INSERT_ZIP.sql new file mode 100644 index 00000000..5c60a5b2 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_INSERT_ZIP.sql @@ -0,0 +1,54 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- Inserimento nuovo [C6Mart].[GESTIONE_INSERT_ZIP] -1,'NomeFileOk','NomeFileOk' +CREATE procedure [C6Mart].[GESTIONE_INSERT_ZIP] +@NomeFile as varchar(255), +@NomeCartella as varchar(255) +AS +BEGIN +BEGIN TRANSACTION +DECLARE @ID_ELAB INT +SET @ID_ELAB = C6Mart.GETIDELAB() +declare @IdZip as int +set @IdZip = -1 +--recupero idzip se Esiste insieme al NomeCartella +SELECT @IdZip=id,@NomeCartella=NomeCartella +FROM + C6Mart.GESTIONE_ZIP_FTP +WHERE + FlagInvio = 'N' +IF(@IDZIP = -1)--NON ESISTE + BEGIN + INSERT INTO [C6MART].[GESTIONE_ZIP_FTP] + ([NOMEFILE] + ,[DATAINVIO] + ,[FLAGINVIO] + ,[NOMECARTELLA] + ,[ID_ELAB]) + VALUES + (@NOMEFILE + ,NULL + ,'N' + ,@NOMECARTELLA + ,@ID_ELAB) + SET @IDZIP = SCOPE_IDENTITY() + END +ELSE --ESISTE + BEGIN + UPDATE [C6MART].[GESTIONE_ZIP_FTP] + SET [NOMEFILE] = @NOMEFILE + WHERE ID = @IDZIP + END +IF @@error <> 0 + begin + rollback + end +else + begin + commit + select @IdZip IdZip,@NomeFile NomeFile,@NomeCartella NomeCartella + end +end \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql new file mode 100644 index 00000000..894cf6a9 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.sql @@ -0,0 +1,260 @@ +--select * from #temp_email +CREATE procedure [C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE] +AS +BEGIN +execute [C6Mart].[RP_DM_CheckEmail] +--recupero la percentuale limite di risorse non associate +DECLARE @RNA varchar(3) +select @RNA= dbo.getParametro('PERCMAXRISORSENA') + '%' +DECLARE @Ambiente varchar(20) +select @Ambiente= dbo.getParametro('Ambiente') +DECLARE @DestinatarioEmail varchar(255) +select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail') + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'GESTIONE_SELECT_EMAIL_DA_INVIARE', + GETDATE(), + 'Elaborazione giornaliera' + ) +TRUNCATE TABLE c6mart.test_Quality_Email +INSERT INTO c6mart.test_Quality_Email +SELECT +data_perf, +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) as DATA_PERF_REV + ,CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + then + -------------------------en 2061025 - parameter chenged for functions Replace_Subject_Email Replace_Testo_Email*/ + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + ----else + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + ----end as E_Subject + ---- , case + ----when + ---- len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + ----then + ---- --persone giuridiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + ----else + ---- --persone fisiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) +--------------------------------------------en 2061025 + end as Testo +--into c6mart.test_Quality_Email +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = CONTRATTOSEI.Cod_Agente + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' +AND ANAG_CLIENTI.COGNOME IS NOT NULL +and +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) < getdate() +--and GESTIONE_EMAIL.Tipo in ('S_SOLL_NOMIG', '3_SOLL_NOMIG') + and GESTIONE_EMAIL.Tipo in ('S_SOLL_NOMIG', '3_SOLL_NOMIG','S_SOLL_NOASS','3_SOLL_NOASS','S_SOLL_NOPRO','3_SOLL_NOPRO') +---------------------------------------------------------------------------- +SELECT +--data_generazione, + CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + then + -------------------------en 2061025 - parameter chenged for functions Replace_Subject_Email Replace_Testo_Email*/ + -- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + --else + -- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + --end as E_Subject + -- , case + --when + -- len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + --then + -- --persone giuridiche + -- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + --else + -- --persone fisiche + -- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) +--------------------------------------------en 2061025 + end as Testo +--into temp_email_gior +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = CONTRATTOSEI.Cod_Agente + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' + -- tringali colaianni cortecci AND ANAG_CLIENTI.NOME IS NOT NULL + AND ANAG_CLIENTI.COGNOME IS NOT NULL + -- AND CONTRATTOSEI.Cod_Agente = '015312'--Cod_Agente di prova +--2/8/2019 - ripristinata condizione per errore gestore_email del giornaliero +and dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') is not null +---- +--togliere + --AND CONTRATTOSEI.Cod_fiscale <> 'SLRRFL33S09E044D' +--AND CONTRATTOSEI.Cod_fiscale <> 'PDRPLA61M07H264H' +--AND CONTRATTOSEI.Cod_Agente not in ('009202','014908','008172') +-- AND CONTRATTOSEI.Cod_Agente not in ('003064', '015091','015126','006167','015115','015117','015125','006154','005772','001860','011188','014553','015182','011663') + AND GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality) + AND GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality_Email) + ----------------------------------------------------- + --- en 20161025 the only email types specified in CR + AND + GESTIONE_EMAIL.TIPO in + ( + '3_SOLL_NOPRO', + '2_SOLL_NOPRO', + '1_SOLL_NOPRO', + 'PERF', + 'PERF_DA', + 'REVOCA_NOPRO', + 'S_SOLL_NOPRO' + ) + --- en 20161025 + ----------------------------------------------------- +AND CONTRATTOSEI.Cod_fiscale <> '01484040488' --FiderevEuropa S.p.A. (PB 015693) +-- Esclusione Temporanea per errata valorizzazione PB +-- 08052014 +and GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN ('NTNRNZ38C69C302AS','CRVGBR51S08C638JF','BLLMNL77H69L736QF') +-- AND 1=2 + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'GESTIONE_SELECT_EMAIL_DA_INVIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'GESTIONE_SELECT_EMAIL_DA_INVIARE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.test_e.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.test_e.sql new file mode 100644 index 00000000..bc861001 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE.test_e.sql @@ -0,0 +1,235 @@ +--select * from #temp_email +CREATE procedure [C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE.test_e] +AS +BEGIN +execute [C6Mart].[RP_DM_CheckEmail] +--recupero la percentuale limite di risorse non associate +DECLARE @RNA varchar(3) +select @RNA= dbo.getParametro('PERCMAXRISORSENA') + '%' +DECLARE @Ambiente varchar(20) +select @Ambiente= dbo.getParametro('Ambiente') +DECLARE @DestinatarioEmail varchar(255) +select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail') +TRUNCATE TABLE c6mart.test_Quality_Email +INSERT INTO c6mart.test_Quality_Email +SELECT +data_perf, +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) as DATA_PERF_REV + ,CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + then + -------------------------en 2061025 - parameter chenged for functions Replace_Subject_Email Replace_Testo_Email*/ + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + ----else + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + ----end as E_Subject + ---- , case + ----when + ---- len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + ----then + ---- --persone giuridiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + ----else + ---- --persone fisiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) +--------------------------------------------en 2061025 + end as Testo +--into c6mart.test_Quality_Email +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = CONTRATTOSEI.Cod_Agente + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' +AND ANAG_CLIENTI.COGNOME IS NOT NULL +and +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) < getdate() +--and GESTIONE_EMAIL.Tipo in ('S_SOLL_NOMIG', '3_SOLL_NOMIG') + --and GESTIONE_EMAIL.Tipo in ('S_SOLL_NOMIG', '3_SOLL_NOMIG','S_SOLL_NOASS','3_SOLL_NOASS','S_SOLL_NOPRO','3_SOLL_NOPRO') + and GESTIONE_EMAIL.Tipo in ('PERF','REVOCA_NOPRO','1_SOLL_NOPRO','2_SOLL_NOPRO', 'S_SOLL_NOMIG', '3_SOLL_NOMIG','S_SOLL_NOASS','3_SOLL_NOASS', 'S_SOLL_NOPRO','3_SOLL_NOPRO') +---------------------------------------------------------------------------- +SELECT +--data_generazione, + CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + then + -------------------------en 2061025 - parameter chenged for functions Replace_Subject_Email Replace_Testo_Email*/ + -- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + --else + -- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + --end as E_Subject + -- , case + --when + -- len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + --then + -- --persone giuridiche + -- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + --else + -- --persone fisiche + -- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) +--------------------------------------------en 2061025 + end as Testo +--into temp_email_gior +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = CONTRATTOSEI.Cod_Agente + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' + -- tringali colaianni cortecci AND ANAG_CLIENTI.NOME IS NOT NULL + AND ANAG_CLIENTI.COGNOME IS NOT NULL + -- AND CONTRATTOSEI.Cod_Agente = '015312'--Cod_Agente di prova +--and dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') is not null +--togliere + --AND CONTRATTOSEI.Cod_fiscale <> 'SLRRFL33S09E044D' +--AND CONTRATTOSEI.Cod_fiscale <> 'PDRPLA61M07H264H' +--AND CONTRATTOSEI.Cod_Agente not in ('009202','014908','008172') +-- AND CONTRATTOSEI.Cod_Agente not in ('003064', '015091','015126','006167','015115','015117','015125','006154','005772','001860','011188','014553','015182','011663') + AND GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality) + AND GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality_Email) + ----------------------------------------------------- + --- en 20161025 the only email types specified in CR + AND + GESTIONE_EMAIL.TIPO in + ( + '3_SOLL_NOPRO', + '2_SOLL_NOPRO', + '1_SOLL_NOPRO', + 'PERF', + 'REVOCA_NOPRO', + 'S_SOLL_NOPRO' + ) + --- en 20161025 + ----------------------------------------------------- +AND CONTRATTOSEI.Cod_fiscale <> '01484040488' --FiderevEuropa S.p.A. (PB 015693) +-- Esclusione Temporanea per errata valorizzazione PB +-- 08052014 +and GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN ('NTNRNZ38C69C302AS','CRVGBR51S08C638JF','BLLMNL77H69L736QF') +-- AND 1=2 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_20190802.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_20190802.sql new file mode 100644 index 00000000..fe6b7030 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_20190802.sql @@ -0,0 +1,234 @@ +--select * from #temp_email +CREATE procedure [C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE_20190802] +AS +BEGIN +execute [C6Mart].[RP_DM_CheckEmail] +--recupero la percentuale limite di risorse non associate +DECLARE @RNA varchar(3) +select @RNA= dbo.getParametro('PERCMAXRISORSENA') + '%' +DECLARE @Ambiente varchar(20) +select @Ambiente= dbo.getParametro('Ambiente') +DECLARE @DestinatarioEmail varchar(255) +select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail') +TRUNCATE TABLE c6mart.test_Quality_Email +INSERT INTO c6mart.test_Quality_Email +SELECT +data_perf, +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) as DATA_PERF_REV + ,CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + then + -------------------------en 2061025 - parameter chenged for functions Replace_Subject_Email Replace_Testo_Email*/ + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + ----else + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + ----end as E_Subject + ---- , case + ----when + ---- len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + ----then + ---- --persone giuridiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + ----else + ---- --persone fisiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) +--------------------------------------------en 2061025 + end as Testo +--into c6mart.test_Quality_Email +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = CONTRATTOSEI.Cod_Agente + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' +AND ANAG_CLIENTI.COGNOME IS NOT NULL +and +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) < getdate() +--and GESTIONE_EMAIL.Tipo in ('S_SOLL_NOMIG', '3_SOLL_NOMIG') + and GESTIONE_EMAIL.Tipo in ('S_SOLL_NOMIG', '3_SOLL_NOMIG','S_SOLL_NOASS','3_SOLL_NOASS','S_SOLL_NOPRO','3_SOLL_NOPRO') +---------------------------------------------------------------------------- +SELECT +--data_generazione, + CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + then + -------------------------en 2061025 - parameter chenged for functions Replace_Subject_Email Replace_Testo_Email*/ + -- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + --else + -- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + --end as E_Subject + -- , case + --when + -- len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + --then + -- --persone giuridiche + -- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + --else + -- --persone fisiche + -- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) +--------------------------------------------en 2061025 + end as Testo +--into temp_email_gior +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = CONTRATTOSEI.Cod_Agente + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' + -- tringali colaianni cortecci AND ANAG_CLIENTI.NOME IS NOT NULL + AND ANAG_CLIENTI.COGNOME IS NOT NULL + -- AND CONTRATTOSEI.Cod_Agente = '015312'--Cod_Agente di prova +--and dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') is not null +--togliere + --AND CONTRATTOSEI.Cod_fiscale <> 'SLRRFL33S09E044D' +--AND CONTRATTOSEI.Cod_fiscale <> 'PDRPLA61M07H264H' +--AND CONTRATTOSEI.Cod_Agente not in ('009202','014908','008172') +-- AND CONTRATTOSEI.Cod_Agente not in ('003064', '015091','015126','006167','015115','015117','015125','006154','005772','001860','011188','014553','015182','011663') + AND GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality) + AND GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality_Email) + ----------------------------------------------------- + --- en 20161025 the only email types specified in CR + AND + GESTIONE_EMAIL.TIPO in + ( + '3_SOLL_NOPRO', + '2_SOLL_NOPRO', + '1_SOLL_NOPRO', + 'PERF', + 'REVOCA_NOPRO', + 'S_SOLL_NOPRO' + ) + --- en 20161025 + ----------------------------------------------------- +AND CONTRATTOSEI.Cod_fiscale <> '01484040488' --FiderevEuropa S.p.A. (PB 015693) +-- Esclusione Temporanea per errata valorizzazione PB +-- 08052014 +and GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN ('NTNRNZ38C69C302AS','CRVGBR51S08C638JF','BLLMNL77H69L736QF') +-- AND 1=2 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_CU.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_CU.sql new file mode 100644 index 00000000..80bfa922 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_CU.sql @@ -0,0 +1,205 @@ +CREATE procedure [C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE_CU] +AS +BEGIN +execute [C6Mart].[RP_DM_CheckEmail] +--recupero la percentuale limite di risorse non associate +DECLARE @RNA varchar(3) +select @RNA= dbo.getParametro('PERCMAXRISORSENA') + '%' +DECLARE @Ambiente varchar(20) +select @Ambiente= dbo.getParametro('Ambiente') +DECLARE @DestinatarioEmail varchar(255) +select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail') +TRUNCATE TABLE c6mart.test_Quality_Email +INSERT INTO c6mart.test_Quality_Email +SELECT +data_perf, +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) as DATA_PERF_REV + ,CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , + case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end + as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + end as Testo +--into c6mart.test_Quality_Email +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = CONTRATTOSEI.Cod_Agente + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' +AND ANAG_CLIENTI.COGNOME IS NOT NULL +and +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) < getdate() +--and GESTIONE_EMAIL.Tipo in ('S_SOLL_NOMIG', '3_SOLL_NOMIG') + and GESTIONE_EMAIL.Tipo in ('S_SOLL_NOMIG', '3_SOLL_NOMIG','S_SOLL_NOASS','3_SOLL_NOASS','S_SOLL_NOPRO','3_SOLL_NOPRO') +---------------------------------------------------------------------------- +SELECT +--data_generazione, + CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , + case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end + as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + end as Testo +--into temp_email_gior +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = CONTRATTOSEI.Cod_Agente + WHERE + --isnull(GESTIONE_EMAIL.Inviata,'N')='N' + -- tringali colaianni cortecci AND ANAG_CLIENTI.NOME IS NOT NULL + -- AND + ANAG_CLIENTI.COGNOME IS NOT NULL + -- AND CONTRATTOSEI.Cod_Agente = '015312'--Cod_Agente di prova +--and dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') is not null +--togliere + --AND CONTRATTOSEI.Cod_fiscale <> 'SLRRFL33S09E044D' +--AND CONTRATTOSEI.Cod_fiscale <> 'PDRPLA61M07H264H' +--AND CONTRATTOSEI.Cod_Agente not in ('009202','014908','008172') +-- AND CONTRATTOSEI.Cod_Agente not in ('003064', '015091','015126','006167','015115','015117','015125','006154','005772','001860','011188','014553','015182','011663') + --AND GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality) + -- AND GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE IN (select cod_fiscale + RETE from c6mart.test_Quality_Email) +AND +GESTIONE_EMAIL.TIPO in +( +'3_SOLL_NOPRO', +'2_SOLL_NOPRO', +'1_SOLL_NOPRO', +--'PERF', +'REVOCA_NOPRO', +'S_SOLL_NOPRO' +) +--AND CONTRATTOSEI.Cod_fiscale <> '01484040488' --FiderevEuropa S.p.A. (PB 015693) +-- Esclusione Temporanea per errata valorizzazione PB +-- 08052014 +and GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN ('NTNRNZ38C69C302AS','CRVGBR51S08C638JF','BLLMNL77H69L736QF') +-- AND 1=2 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_new.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_new.sql new file mode 100644 index 00000000..636c503b --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_EMAIL_DA_INVIARE_new.sql @@ -0,0 +1,220 @@ +--select * from #temp_email +CREATE procedure [C6Mart].[GESTIONE_SELECT_EMAIL_DA_INVIARE_new] +AS +BEGIN +execute [C6Mart].[RP_DM_CheckEmail] +--recupero la percentuale limite di risorse non associate +DECLARE @RNA varchar(3) +select @RNA= dbo.getParametro('PERCMAXRISORSENA') + '%' +DECLARE @Ambiente varchar(20) +select @Ambiente= dbo.getParametro('Ambiente') +DECLARE @DestinatarioEmail varchar(255) +select @DestinatarioEmail= dbo.getParametro('DestinatarioEmail') +TRUNCATE TABLE c6mart.test_Quality_Email +INSERT INTO c6mart.test_Quality_Email +SELECT +data_perf, +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) as DATA_PERF_REV + ,CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + then + -------------------------en 2061025 - parameter chenged for functions Replace_Subject_Email Replace_Testo_Email*/ + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + ----else + ---- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + ----end as E_Subject + ---- , case + ----when + ---- len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + ----then + ---- --persone giuridiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + ----else + ---- --persone fisiche + ---- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) +--------------------------------------------en 2061025 + end as Testo +--into c6mart.test_Quality_Email +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = CONTRATTOSEI.Cod_Agente + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' +AND ANAG_CLIENTI.COGNOME IS NOT NULL +and +dateadd( + day,( + (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)), + data_perf) < getdate() +--and GESTIONE_EMAIL.Tipo in ('S_SOLL_NOMIG', '3_SOLL_NOMIG') + and GESTIONE_EMAIL.Tipo in ('S_SOLL_NOMIG', '3_SOLL_NOMIG','S_SOLL_NOASS','3_SOLL_NOASS','S_SOLL_NOPRO','3_SOLL_NOPRO') +---------------------------------------------------------------------------- +SELECT +--data_generazione, + CONTRATTOSEI.rete + ,CONTRATTOSEI.cod_agente + ,CM.numSolleciti + ,GESTIONE_EMAIL.TIPO + ,GESTIONE_EMAIL.[Email_Id] + ,CONTRATTOSEI.Cod_Fiscale + ,[dbo].[Replace_From_Email](GESTIONE_EMAIL.[Rete],ISNULL(TIPO_EMAIL.[E_From],'')) E_From + , case + when + @Ambiente = 'Produzione' + then + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + else + @DestinatarioEmail + end as [E_To] + , + case + when + GESTIONE_EMAIL.Tipo <> 'PERF' + then + dbo.getParametro('Destinatario_Bcc') + else + '' + end as E_Ccn + , case + when + @Ambiente = 'Produzione' + then + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + else + '' + end as E_Cc + , case + when + @Ambiente = 'Produzione' + then + -------------------------en 2061025 - parameter chenged for functions Replace_Subject_Email Replace_Testo_Email*/ + -- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + --else + -- dbo.Replace_Subject_Email(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + --end as E_Subject + -- , case + --when + -- len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + --then + -- --persone giuridiche + -- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + --else + -- --persone fisiche + -- dbo.Replace_Testo_Email(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA,TIPO_EMAIL.[Testo]) + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + else + dbo.Replace_Subject_Email_test(TIPO_EMAIL.[E_Subject],ANAG_CLIENTI.NOME,ANAG_CLIENTI.COGNOME,ANAG_PROMOTORI.NOME,ANAG_PROMOTORI.COGNOME,ANAG_PROMOTORI.ID_PROMOTORE, CONTRATTOSEI.tip_contratto) + '--- TO:' + dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') + '--- CC:' + dbo.Cc_Email(CONTRATTOSEI.rete,CONTRATTOSEI.cod_agente,CM.numSolleciti,GESTIONE_EMAIL.TIPO) + '---' + end as E_Subject + , case + when + len(ltrim(rtrim(GESTIONE_EMAIL.[Cod_Fiscale]))) = 11 + then + --persone giuridiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Nome,' '),isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) + else + --persone fisiche + dbo.Replace_Testo_Email_test(CONTRATTOSEI.CodiceContratto,GESTIONE_EMAIL.[Cod_Fiscale],isnull(ANAG_CLIENTI.Cognome,'/$COGNOME NON PRESENTE$/'),isnull(ANAG_CLIENTI.Nome,' '),ANAG_PROMOTORI.ID_PROMOTORE,ANAG_PROMOTORI.Cognome,ANAG_PROMOTORI.Nome,CONTRATTOSEI.Data_Perf,CONTRATTOSEI.Freq_Diagnosi,CONTRATTOSEI.Freq_Monitoraggio,@RNA, CONTRATTOSEI.tip_contratto,CONTRATTOSEI.DATA_FINEAVANZATO, CONTRATTOSEI.DATA_INZIOAVANZATO,CONTRATTOSEI.RETE,TIPO_EMAIL.[Testo]) +--------------------------------------------en 2061025 + end as Testo +--into temp_email_gior +FROM [C6Mart].[GESTIONE_EMAIL] GESTIONE_EMAIL + INNER JOIN [C6Mart].[TIPO_EMAIL] TIPO_EMAIL + ON GESTIONE_EMAIL.Tipo = TIPO_EMAIL.Tipo + INNER JOIN [C6Mart].[VCONTRATTI] CONTRATTOSEI + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + AND CONTRATTOSEI.data_fineavanzato > getDate() + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] CM + ON CONTRATTOSEI.Rete = GESTIONE_EMAIL.[Rete] + AND CONTRATTOSEI.CHIAVECLIENTEPB = CM.CHIAVECLIENTEPB + LEFT JOIN [C6Mart].[ANAG_CLIENTI] ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_CLIENTI.Cod_Fiscale = GESTIONE_EMAIL.Cod_Fiscale + --V Per non inviare mail a pb terminati + inner JOIN [C6Mart].ANAG_PROMOTORI ANAG_PROMOTORI + ON ANAG_PROMOTORI.Rete = GESTIONE_EMAIL.[Rete] + AND ANAG_PROMOTORI.ID_PROMOTORE = CONTRATTOSEI.Cod_Agente + WHERE isnull(GESTIONE_EMAIL.Inviata,'N')='N' + -- tringali colaianni cortecci AND ANAG_CLIENTI.NOME IS NOT NULL + AND ANAG_CLIENTI.COGNOME IS NOT NULL + -- AND CONTRATTOSEI.Cod_Agente = '015312'--Cod_Agente di prova +--and dbo.Replace_To_Email(TIPO_EMAIL.[E_To],ANAG_PROMOTORI.E_MAIL,'','') is not null +--togliere + --AND CONTRATTOSEI.Cod_fiscale <> 'SLRRFL33S09E044D' +--AND CONTRATTOSEI.Cod_fiscale <> 'PDRPLA61M07H264H' +--AND CONTRATTOSEI.Cod_Agente not in ('009202','014908','008172') +-- AND CONTRATTOSEI.Cod_Agente not in ('003064', '015091','015126','006167','015115','015117','015125','006154','005772','001860','011188','014553','015182','011663') + AND GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality) + AND GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality_Email) +AND CONTRATTOSEI.Cod_fiscale <> '01484040488' --FiderevEuropa S.p.A. (PB 015693) +-- Esclusione Temporanea per errata valorizzazione PB +-- 08052014 +and GESTIONE_EMAIL.COD_FISCALE + GESTIONE_EMAIL.RETE NOT IN ('NTNRNZ38C69C302AS','CRVGBR51S08C638JF','BLLMNL77H69L736QF') +-- AND 1=2 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_FTP_DA_INVIARE.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_FTP_DA_INVIARE.sql new file mode 100644 index 00000000..22344532 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_FTP_DA_INVIARE.sql @@ -0,0 +1,28 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_SELECT_FTP_DA_INVIARE] +AS +BEGIN +insert into GLOBAL_ERROR (ErrorDescription) values ('ingresso') + SELECT + Rete, + CodiceFiscale, + IdReport + ,(NomeFile + '_' + (Case TipoReport when 'D' then 'DW' else TipoReport end)) as NomeFile + ,TipoReport +-- ,Case TipoReport when 'D' then 'DW' else TipoReport end +-- , +-- DataGenerazione, +-- DataInvio, +-- FlagInvio, +-- NomeFile + FROM + C6Mart.GESTIONE_PDF_FTP + WHERE + FlagInvio = 'N' + AND CODICEFISCALE + RETE NOT IN (select cod_fiscale + RETE from c6mart.test_Quality) +insert into GLOBAL_ERROR (ErrorDescription) values ('uscita') +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_FTP_INVIATI.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_FTP_INVIATI.sql new file mode 100644 index 00000000..5dd70708 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_FTP_INVIATI.sql @@ -0,0 +1,43 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_SELECT_FTP_INVIATI] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- Facciate(6)CppBollettini(2)IDENTIFICATIVODOCUMENTO(50)NOMINATIVODESTINATARIO(50)VIA(50)CAP(5)LOCALITA(50)PROVINCIA(2)NAZIONE(1)TIPOPOSTALIZZAZIONE(2)FILESPOOL(50)ALLEGATO1(1)ALLEGATO1(2)NAZIONEESTERA(30) +--FacciateXXXXX(6)00CodiceFiscale(50)NOMINATIVODESTINATARIO(50)VIA(50)CAP(5)LOCALITA(50)PROVINCIA(2)IoE(1)PE(2)NOMEFILE(50)0(1)0(2)NAZIONEESTERA(30) +-- (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) +-- + '00' --CppBollettini(2) +-- + ' ' --IDENTIFICATIVODOCUMENTO(50) +-- + LEFT(isnull(ANAG_CLIENTI.Cognome,'COGNOME') + ' ' + ISNULL(ANAG_CLIENTI.Nome,'NOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) +-- + LEFT(CONTRATTOSEI.Indirizzo + ' ',50) --VIA(50) +-- + LEFT(CONTRATTOSEI.CAP + ' ',5) --CAP(5) +-- + LEFT(CONTRATTOSEI.Citta + ' ',50) --LOCALITA(50) +-- + LEFT(CONTRATTOSEI.Prov + ' ',2)--PROVINCIA(2) +-- + (CASE UPPER(CONTRATTOSEI.Nazione) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) +-- + 'PE' --TIPOPOSTALIZZAZIONE(2) +-- + LEFT(GESTIONE_PDF_FTP.NomeFile + ' ',50)--NOMEFILE(50) +-- + '0' --0(1) +-- + '0' --0(2) +-- + LEFT((CASE UPPER(CONTRATTOSEI.Nazione) WHEN 'ITALIA' THEN '' ELSE CONTRATTOSEI.Nazione END) + ' ',30)) -- NAZIONEESTERA(30) +-- +-- FC 24/02/2014 +-- MOdifica accesso tabella C6MART.ContrattoSei NON PIU GESTITA con tabella C6Mart.VContratti +-- Gestione Data FineAvanzato ( datat chiusura contratto ) con valore convenzionale 9999/12/31 + SELECT DISTINCT C6MART.CONCATENA(C6Mart.GESTIONE_PDF_FTP.Rete, C6Mart.GESTIONE_PDF_FTP.CodiceFiscale) AS riga + FROM C6MART.GESTIONE_PDF_FTP + INNER JOIN C6MART.vcontratti V + ON v.Rete = GESTIONE_PDF_FTP.Rete + AND v.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN C6MART.ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE (DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 + OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0) + AND convert(varchar(10),v.data_fineAvanzato,112) = '99991231' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_FTP_INVIATI_TEST_NEW.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_FTP_INVIATI_TEST_NEW.sql new file mode 100644 index 00000000..59617789 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_FTP_INVIATI_TEST_NEW.sql @@ -0,0 +1,43 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_SELECT_FTP_INVIATI_TEST_NEW] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- Facciate(6)CppBollettini(2)IDENTIFICATIVODOCUMENTO(50)NOMINATIVODESTINATARIO(50)VIA(50)CAP(5)LOCALITA(50)PROVINCIA(2)NAZIONE(1)TIPOPOSTALIZZAZIONE(2)FILESPOOL(50)ALLEGATO1(1)ALLEGATO1(2)NAZIONEESTERA(30) +--FacciateXXXXX(6)00CodiceFiscale(50)NOMINATIVODESTINATARIO(50)VIA(50)CAP(5)LOCALITA(50)PROVINCIA(2)IoE(1)PE(2)NOMEFILE(50)0(1)0(2)NAZIONEESTERA(30) +-- (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) +-- + '00' --CppBollettini(2) +-- + ' ' --IDENTIFICATIVODOCUMENTO(50) +-- + LEFT(isnull(ANAG_CLIENTI.Cognome,'COGNOME') + ' ' + ISNULL(ANAG_CLIENTI.Nome,'NOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) +-- + LEFT(CONTRATTOSEI.Indirizzo + ' ',50) --VIA(50) +-- + LEFT(CONTRATTOSEI.CAP + ' ',5) --CAP(5) +-- + LEFT(CONTRATTOSEI.Citta + ' ',50) --LOCALITA(50) +-- + LEFT(CONTRATTOSEI.Prov + ' ',2)--PROVINCIA(2) +-- + (CASE UPPER(CONTRATTOSEI.Nazione) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) +-- + 'PE' --TIPOPOSTALIZZAZIONE(2) +-- + LEFT(GESTIONE_PDF_FTP.NomeFile + ' ',50)--NOMEFILE(50) +-- + '0' --0(1) +-- + '0' --0(2) +-- + LEFT((CASE UPPER(CONTRATTOSEI.Nazione) WHEN 'ITALIA' THEN '' ELSE CONTRATTOSEI.Nazione END) + ' ',30)) -- NAZIONEESTERA(30) +-- +-- FC 24/02/2014 +-- MOdifica accesso tabella C6MART.ContrattoSei NON PIU GESTITA con tabella C6Mart.VContratti +-- Gestione Data FineAvanzato ( datat chiusura contratto ) con valore convenzionale 9999/12/31 + SELECT DISTINCT C6MART.CONCATENA_TEST_NEW(C6Mart.GESTIONE_PDF_FTP.Rete, C6Mart.GESTIONE_PDF_FTP.CodiceFiscale) AS riga + FROM C6MART.GESTIONE_PDF_FTP + INNER JOIN C6MART.vcontratti V + ON v.Rete = GESTIONE_PDF_FTP.Rete + AND v.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN C6MART.ANAG_CLIENTI + ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete + AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale + WHERE (DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 + OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0) + AND convert(varchar(10),v.data_fineAvanzato,112) = '99991231' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_HOST.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_HOST.sql new file mode 100644 index 00000000..fc417e4f --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_HOST.sql @@ -0,0 +1,26 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_SELECT_HOST] + AS +BEGIN + SET NOCOUNT ON; + SELECT + (C6Mart.GESTIONE_PDF_FTP.Rete + C6Mart.GESTIONE_PDF_FTP.CodiceFiscale + right('00000000000' + C6Mart.VCONTRATTI.CodiceContratto,11) + 'C' + + (Case TipoReport when 'D' then 'LD' when 'LR' then 'LR' else TipoReport end) + + (Case TipoReport when 'D' then CONVERT(VARCHAR(10), C6Mart.GESTIONE_PDF_FTP.DataInvio, 112) + when 'LR' then CONVERT(VARCHAR(10), C6Mart.GESTIONE_PDF_FTP.DataInvioRistampa, 112) else null end)) as riga + FROM C6Mart.GESTIONE_PDF_FTP + INNER JOIN C6Mart.VCONTRATTI + ON C6Mart.VCONTRATTI.Rete = C6Mart.GESTIONE_PDF_FTP.Rete + and C6Mart.VCONTRATTI.COD_FISCALE = C6Mart.GESTIONE_PDF_FTP.CodiceFiscale + INNER JOIN C6Mart.ANAG_CLIENTI + ON C6Mart.ANAG_CLIENTI.Rete = C6Mart.GESTIONE_PDF_FTP.Rete + and C6Mart.ANAG_CLIENTI.COD_FISCALE = C6Mart.GESTIONE_PDF_FTP.CodiceFiscale + WHERE DATEDIFF(DAY,isnull(C6Mart.GESTIONE_PDF_FTP.DataInvio,C6Mart.GESTIONE_PDF_FTP.DataInvioRistampa),GETDATE()) = 0 + AND C6Mart.VCONTRATTI.Data_FineAvanzato > getDate() + AND C6Mart.VCONTRATTI.Cod_Fiscale + C6Mart.VCONTRATTI.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + AND C6Mart.VCONTRATTI.COD_AGENTE <> '015312' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_HOST_GIORNALIERO.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_HOST_GIORNALIERO.sql new file mode 100644 index 00000000..44065350 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_HOST_GIORNALIERO.sql @@ -0,0 +1,40 @@ +-- ============================================= +-- Author: MOdified TRINGALI per FIDUCIARIA +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_SELECT_HOST_GIORNALIERO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --FTP + SELECT + (gpf.Rete + + case when gpf.CodiceFiscale like '%@%' then right(vc.piva_fiduciaria+' ',16) + when len(gpf.CodiceFiscale) = 11 then right(gpf.CodiceFiscale+' ',16) + else gpf.CodiceFiscale end + right('00000000000' + vc.CodiceContratto,11) + 'LD' + CONVERT(VARCHAR(10), gpf.DataGenerazione, 112)) as riga + FROM C6Mart.GESTIONE_PDF_FTP gpf + INNER JOIN C6Mart.VCONTRATTI vc + ON vc.Rete = gpf.Rete + and vc.COD_FISCALE = gpf.CodiceFiscale + INNER JOIN C6Mart.ANAG_CLIENTI + ON C6Mart.ANAG_CLIENTI.Rete = gpf.Rete + and C6Mart.ANAG_CLIENTI.COD_FISCALE = gpf.CodiceFiscale + where 1=1 + AND gpf.tiporeport = 'D' + AND DATEDIFF(DAY,gpf.DataGenerazione,GETDATE()) = 0 + --Aggiunta Emanuele per inserire nel file delle commissioni + --contratti da un determinato giorno + --AND DataGenerazione > '20140127' + ----------------------------------------- + --AND gpf.DataGenerazione BETWEEN '20140124' and '20140125' + --Fine Aggiunta Emanuele + AND vc.Data_FineAvanzato > getDate() + AND vc.Cod_Fiscale + vc.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + AND vc.COD_AGENTE <> '015312' + --Aggiunta Emanuele + --ORDER BY DataGenerazione, gpf.Rete, gpf.CodiceFiscale + --Fine Aggiunta Emanuele +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql new file mode 100644 index 00000000..c1774abd --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql @@ -0,0 +1,120 @@ +--SELECT TOP 1 * FROM C6MART.VCONTRATTI +--[C6Mart].[GESTIONE_SELECT_LETTERE_DA_INVIARE]'F','AA@55670',1,-1 +CREATE procedure [C6Mart].[GESTIONE_SELECT_LETTERE_DA_INVIARE] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' +AS +BEGIN + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() +--declare @prova as varchar(10) +--select @prova = 'AA@55670' +--select @prova +--select charindex('@',@prova) + SELECT distinct + C6Mart.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, + --aclie.cognome as cognome, + csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.PROVINCIA end as provincia, + csei.cap as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + --20180912 AC: su richiesta di Flavia Scirocco / Maria Napolitano, per i clienti professionali, la data di sottoscrizione è quella del campo DATA_INIZIOBASE + --C6Mart.Replace_Testo_Lettera_Benvenuto( + -- csei.CodiceContratto, + -- csei.freq_Diagnosi, + -- csei.freq_MONITORAGGIO, + -- aclie.cognome, + -- aclie.nome, + -- @tipoReport, + -- csei.indirizzo, + -- csei.DATA_INZIOAVANZATO, + -- @dataRichiestaRistampa, + -- gpdf.DataGenerazione, + -- tla.[TESTO] + -- ) as testo, + case + when csei.TipoConsulenza = 'P' then + C6Mart.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_MONITORAGGIO, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.DATA_INIZIOBASE, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) + else + C6Mart.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_MONITORAGGIO, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.DATA_INZIOAVANZATO, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) + end as testo, + --20180912 AC + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma, + pagina + FROM + [C6Mart].[TESTO_LETTERA_ACCETTAZIONE] tla, + [C6Mart].[VCONTRATTI] csei JOIN + C6MART.CONTRATTOSEI_METADATI META + ON META.CHIAVECLIENTEPB = CSEI.CHIAVECLIENTEPB + INNER JOIN + [C6Mart].[ANAG_CLIENTI] aclie + on csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + LEFT OUTER JOIN + C6Mart.GESTIONE_PDF_FTP gpdf + on + gpdf.rete = csei.rete and + gpdf.codiceFiscale = csei.cod_fiscale + WHERE + csei.rete = @rete and + csei.cod_Fiscale = @cf and + csei.data_fineAvanzato > getDate() and + tla.id = @codiceLettera and + (gpdf.idReport = @idReport or @idreport = -1) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql new file mode 100644 index 00000000..87321079 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina.sql @@ -0,0 +1,120 @@ +--SELECT TOP 1 * FROM C6MART.VCONTRATTI +--[C6Mart].[GESTIONE_SELECT_LETTERE_DA_INVIARE]'F','AA@55670',1,-1 +CREATE procedure [C6Mart].[GESTIONE_SELECT_LETTERE_DA_INVIARE_Rosaspina] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' +AS +BEGIN + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() +--declare @prova as varchar(10) +--select @prova = 'AA@55670' +--select @prova +--select charindex('@',@prova) + SELECT distinct + C6Mart.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, + --aclie.cognome as cognome, + csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.PROVINCIA end as provincia, + csei.cap as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + --20180912 AC: su richiesta di Flavia Scirocco / Maria Napolitano, per i clienti professionali, la data di sottoscrizione è quella del campo DATA_INIZIOBASE + --C6Mart.Replace_Testo_Lettera_Benvenuto( + -- csei.CodiceContratto, + -- csei.freq_Diagnosi, + -- csei.freq_MONITORAGGIO, + -- aclie.cognome, + -- aclie.nome, + -- @tipoReport, + -- csei.indirizzo, + -- csei.DATA_INZIOAVANZATO, + -- @dataRichiestaRistampa, + -- gpdf.DataGenerazione, + -- tla.[TESTO] + -- ) as testo, + case + when csei.TipoConsulenza = 'P' then + C6Mart.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_MONITORAGGIO, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.DATA_INIZIOBASE, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) + else + C6Mart.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_MONITORAGGIO, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.DATA_INZIOAVANZATO, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) + end as testo, + --20180912 AC + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma, + pagina + FROM + [C6Mart].[TESTO_LETTERA_ACCETTAZIONE_Rosaspina] tla, + [C6Mart].[VCONTRATTI] csei JOIN + C6MART.CONTRATTOSEI_METADATI META + ON META.CHIAVECLIENTEPB = CSEI.CHIAVECLIENTEPB + INNER JOIN + [C6Mart].[ANAG_CLIENTI] aclie + on csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + LEFT OUTER JOIN + C6Mart.GESTIONE_PDF_FTP gpdf + on + gpdf.rete = csei.rete and + gpdf.codiceFiscale = csei.cod_fiscale + WHERE + csei.rete = @rete and + csei.cod_Fiscale = @cf and + csei.data_fineAvanzato > getDate() and + tla.id = @codiceLettera and + (gpdf.idReport = @idReport or @idreport = -1) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql new file mode 100644 index 00000000..07917440 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO.sql @@ -0,0 +1,20 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 22/12/2008 +-- Description: Per gestione richieste di reinvio PDF da parte di utenti HD o US +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_FTP_RISTAMPA_SI_NO] + @IdReport INT +AS +BEGIN + declare @ritorno as int + set @ritorno = 1 + select @ritorno = 0 + from C6Mart.GESTIONE_PDF_FTP A + inner join (select Rete, CodiceFiscale FROM C6Mart.GESTIONE_PDF_FTP WHERE IdReport = @IdReport) B + on A.Rete = B.Rete + and A.CodiceFiscale = B.CodiceFiscale + and TipoReport = 'LR' + and FlagInvio = 'N' + select @ritorno +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano.sql new file mode 100644 index 00000000..bb413c51 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano.sql @@ -0,0 +1,142 @@ +--select * from global_error +--[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano] 1000 +CREATE PROCEDURE [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano] +@volThreads int = 1 +WITH EXEC AS CALLER +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT DISTINCT + --top 80 + --DATI COMUNI + --RETE + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto --DA REINSERIRE QUANDO REPLATTATA + --REPORT + --Modello Diagnosi pre modifiche OMNIA +-- ,4 as idModelloDiagnosi + --Modello Diagnosi post modifiche OMNIA + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + case TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + --'S' as Flgprof + --,C6Mart.EsistonoServiziAggiuntivi (contratti.rete, contratti.Cod_Fiscale) as FlagServiziAggiuntivi + from [C6Mart].[RP_vContrattiPerGenerazioneReport_OnDemand_Adriano] contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + left join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + and contratti.Cod_Fiscale in + ( +--'TDSNGL54D57A944S', +--'GRNMRC39H14F335P', +--'MZZRLL39M62D869K' +'RNZNNA01M68C745C' + ) + --('GSNLVI49B23L551I') --('ZNALDN49B42D590R') -- ('VLLDRN58B03F119A') -- TEST PRO QUOTA + --('TSCCNZ65E58C574M') -- Non dà problemi di spaginazione nella tabella Complessità alta + --('GLNGPP55A28A883O') -- Problema di spaginazione nella tabella Complessità alta + and patrimonioBF.ctv >= 25000 +END +--[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano] \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto.sql new file mode 100644 index 00000000..c3890151 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto.sql @@ -0,0 +1,131 @@ +--select * from global_error +--[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto] 1000 +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto] (@volThreads int = 1) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT DISTINCT + --top 80 + --DATI COMUNI + --RETE + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto --DA REINSERIRE QUANDO REPLATTATA + --REPORT + --Modello Diagnosi pre modifiche OMNIA +-- ,4 as idModelloDiagnosi + --Modello Diagnosi post modifiche OMNIA + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + case TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + --'S' as Flgprof + --,C6Mart.EsistonoServiziAggiuntivi (contratti.rete, contratti.Cod_Fiscale) as FlagServiziAggiuntivi + from [C6Mart].[RP_vContrattiPerGenerazioneReport_OnDemand_Adriano] contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + left join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + and contratti.Rete + contratti.Cod_Fiscale in + (select Rete + Cod_Fiscale from FiltroCruscottoGiornaliero) +END +--[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Cruscotto] \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Luca.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Luca.sql new file mode 100644 index 00000000..c62c291a --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_Luca.sql @@ -0,0 +1,174 @@ +--select * from global_error +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Luca] (@volThreads int = 9999) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT DISTINCT + --top 80 + --DATI COMUNI + --RETE + contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto --DA REINSERIRE QUANDO REPLATTATA + --REPORT + --Modello Diagnosi pre modifiche OMNIA +-- ,4 as idModelloDiagnosi + --Modello Diagnosi post modifiche OMNIA + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + 0 as Flgprof + --,C6Mart.EsistonoServiziAggiuntivi (contratti.rete, contratti.Cod_Fiscale) as FlagServiziAggiuntivi + from C6Mart.[RP_vContrattiPerGenerazioneReport_OnDemand_Adriano] contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + left join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + and contratti.cod_Fiscale + --in ('CSTGPP41P15A734N','CRLLGU39L22L781F','BDNMNL51L54L219G','BCCGRL55S51H211C' + -- ,'BBNSVN47R12D458Y') + in ( +'GLZGCR44A30G157T', +'TTTRRT74S09H501J', +'LCCDNL68E17Z133A', +'VRNFNC57H65D154R' +) + --and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) +-- and contratti.Cod_Fiscale in ('BSSNRE69T26F241U') -- S SEI PRIVATE POST + --and contratti.Cod_Fiscale in ('BRNMGR59E55D110F') -- F SEI POST + --and contratti.Cod_Fiscale in ('DNGLNM47A55Z116Y') -- S SEI + --and contratti.Cod_Fiscale in ('RZZNDR78T03C034Y') -- S SEI + --and contratti.Cod_Fiscale in ('SDNDRA55H13A326J') -- S SEI + --and contratti.Cod_Fiscale in ('VLLLSU61C55H501X') -- S SEI + --and contratti.Cod_Fiscale in ('CMNDGI47A18C363S') -- S SEI + --and contratti.Cod_Fiscale in ('VLNFNC49R63E184Y') -- S SEI + --and contratti.Cod_Fiscale in ('RCCMRC33M27H814Q') -- S SEI + --and contratti.Cod_Fiscale in ('DDDLGU36S08G778A') -- S SEI + --and contratti.Cod_Fiscale in ('PNTSMN79R43H501O') -- S SEI + --and contratti.Cod_Fiscale in ('GBRGRL53L14H714J') --F SEI PRIVATE + --and contratti.Cod_Fiscale in ('SPGGTT38H65E289O') -- S SEI + --and contratti.Cod_Fiscale in ('NCLMRS46H62B025U') -- S SEI + --and contratti.Cod_Fiscale in ('FRNMRS47E53G388J') -- S SEI + --and contratti.Cod_Fiscale in ('NRDVLR38M47F205H') -- S SEI + --and contratti.Cod_Fiscale in ('SRTGNN57C31E648W') -- F SEI PRIVATE + --and contratti.Cod_Fiscale in ('FRTNLC72S69G999W') -- S SEI POST + --and contratti.Cod_Fiscale in ('BLLGRL53D49G273J') -- S SEI CONT + --and contratti.Cod_Fiscale in ('LBLNRC91T05F830F') -- S SEI CONT + --and contratti.Cod_Fiscale in ('SCLSFN41M28G273G') -- S SEI CONT + --and contratti.Cod_Fiscale in ('SMNNNA74B44B486O') -- S SEI CONT + --and contratti.Cod_Fiscale in ('VCRCRL49H53G273J') -- S SEI CONT + --and contratti.Cod_Fiscale in ('SPTGNN40M01L112U') --Non trovato in vcontratti + --and contratti.Cod_Fiscale in ('FCCDRD74H29A794A') --Non trovato in vcontratti + --and contratti.Cod_Fiscale in ('SMNNNA74B44B486O') -- S SEI CONT + --and contratti.Cod_Fiscale in ('VNONRL85L56Z129G') -- S SEI CONT + --and contratti.Cod_Fiscale in ('MNUPLM32R54B486M') -- S SEI POST + --and contratti.Cod_Fiscale in ('BLLCCT44S54B486J') --Non trovato in vcontratti + --and contratti.Cod_Fiscale in ('FRNGLI01R68G273Y') --Non trovato in vcontratti + --and contratti.Cod_Fiscale in ('FRNNTN00D10G273V') --Non trovato in vcontratti + --and contratti.Cod_Fiscale in ('BRGGLN21L57D150S') -- Escluso da RP_vTuttiIContratti poiché la datafineavanzato è antecedente alla data odierna + --and contratti.Cod_Fiscale in ('CMMBBR58E71H501G') -- Escluso da RP_vTuttiIContratti poiché la datafineavanzato è antecedente alla data odierna + --and contratti.Cod_Fiscale in ('MRNPTR42A11L948N') -- F SEI POST + --and contratti.Cod_Fiscale in ('BNDGNN65A31B988C') -- F SEI CONT + --and contratti.Cod_Fiscale in ('MRMMZF66E27F205J') -- F SEI PRIVATE CONT + --and contratti.Cod_Fiscale in ('PRNMMG39H44A952X') -- F SEI PRIVATE POST + --and contratti.Cod_Fiscale in ('TGLDLF40M23Z315O') -- S SEI PRIVATE CONT + --and contratti.Cod_Fiscale in ('BTTSFN55C21G388M') -- S SEI PRIVATE POST + --and contratti.Cod_Fiscale in ('BGGCRL41D13I068X') -- S SEI POST + --and contratti.Cod_Fiscale in ('MCCMRA53R58A984B') -- S SEI CONT +END +--[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_Adriano] \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA.sql new file mode 100644 index 00000000..6fdfe178 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA.sql @@ -0,0 +1,109 @@ +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA] +AS +BEGIN + SET NOCOUNT ON; + SELECT DISTINCT contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join c6Mart.NotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.TEMP.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.TEMP.sql new file mode 100644 index 00000000..d27c4ef3 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.TEMP.sql @@ -0,0 +1,119 @@ +CREATE PROCEDURE [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A.TEMP] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + truncate table C6Mart.tbNotAllocatedResources + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + SELECT distinct TOP (@volThreads) contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + --left join C6Mart.tbNotAllocatedResources as nar --pk + -- on contratti.Rete = nar.Rete --pk + -- and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + --and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6Mart.tbNotAllocatedResources) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180309_PreServizi.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180309_PreServizi.sql new file mode 100644 index 00000000..f5ed38e7 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180309_PreServizi.sql @@ -0,0 +1,118 @@ +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180309_PreServizi] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + truncate table C6Mart.tbNotAllocatedResources + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + SELECT distinct TOP (@volThreads) contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.tbNotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180928_OLD.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180928_OLD.sql new file mode 100644 index 00000000..9e1d8396 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180928_OLD.sql @@ -0,0 +1,129 @@ +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_20180928_OLD] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + truncate table C6Mart.tbNotAllocatedResources + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + SELECT distinct TOP (@volThreads) contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio , + ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + 0 as Flgprof, + 0 as flagpg + ----------------------------------------------------- fine 09/3/2018 + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.tbNotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST.sql new file mode 100644 index 00000000..956c56a2 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST.sql @@ -0,0 +1,126 @@ +--[C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST] 10 +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + SELECT distinct TOP 1000 contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio , + ---- aggiunti il 09/3/2018 con pubblicazione nuovo software gestione accorpamento lettere e servizi aggiuntivi + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio, + 0 as flagnqp, + 0 as flagprlrde, + 0 as Flgprof, + 0 as flagpg + ----------------------------------------------------- fine 09/3/2018 + , + case TipoConsulenza + when 'P' then 'S' + when 'D' then 'N' + else 'N' + end as Flgprof + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + --left join C6Mart.tbNotAllocatedResources as nar --pk + -- on contratti.Rete = nar.Rete --pk + -- and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + --and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P.sql new file mode 100644 index 00000000..6a7d5159 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P.sql @@ -0,0 +1,118 @@ +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_A_TEST_EN_P] (@volThreads int = 9999) +AS +BEGIN + SET NOCOUNT ON; + truncate table C6Mart.tbNotAllocatedResources + INSERT INTO C6Mart.tbNotAllocatedResources(COD_FISCALE, RETE, CTV) + SELECT PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE, SUM(ISNULL(CTV,0)) as CTV + FROM C6MART.PIRAMIDE_MOD PIRAMIDE_MOD + INNER JOIN C6MART.PATRIMONIO_BF PIRAMIDE_VERT + ON PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + AND PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + AND CASE WHEN PIRAMIDE_VERT.ID_AREA = 'SELF' THEN LEFT(PIRAMIDE_VERT.ID_AREA,4) ELSE LEFT(PIRAMIDE_VERT.ID_AREA,3) END = PIRAMIDE_MOD.ID_AREA + WHERE PIRAMIDE_MOD.ID_AREA = 'Na' AND ISNULL(CTV,0) > 0 + GROUP BY PIRAMIDE_MOD.COD_FISCALE, PIRAMIDE_MOD.RETE + SELECT distinct TOP (@volThreads) contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.tbNotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_TEST_ANDREA.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_TEST_ANDREA.sql new file mode 100644 index 00000000..b3dfc058 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_TEST_ANDREA.sql @@ -0,0 +1,107 @@ +CREATE procedure [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_TEST_ANDREA] +AS +BEGIN + SET NOCOUNT ON; + SELECT DISTINCT contratti.Rete + --,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join c6Mart.NotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where contratti.Cod_Fiscale = 'FRLFLC51L11H501G' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_orig.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_orig.sql new file mode 100644 index 00000000..f09f623e --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_PDF_GETDATATHREADS_NA_orig.sql @@ -0,0 +1,108 @@ +create PROCEDURE [C6Mart].[GESTIONE_SELECT_PDF_GETDATATHREADS_NA_orig] +AS +BEGIN + SET NOCOUNT ON; + SELECT DISTINCT contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + ,CASE WHEN isnull( MIFID.Profilo_Ass,0) = 0 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisInv,0) as PartiteViaggiantiDisInv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto + ,5 as idModelloDiagnosi + ,1 as idReportDiagnosi + ,'Diagnosi' as descrizioneDiagnosi + ,-1 as idReportMonitoraggio + ,719 as idModellotMonitoraggio + ,'Monitoraggio' as descrizioneMonitoraggio + ,contratti.AdesioneSuccessivaAvanzato AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie, + 0 As NoMonitoraggio, + CASE + WHEN (SELECT count(*) FROM c6mart.GESTIONE_PDF_FTP WHERE codicefiscale = contratti.cod_fiscale AND rete = contratti.Rete ) > 0 THEN 1 ELSE 0 + END AS ContrattoOld, + 0 AS IdReportPDFDiagnosi, + 0 AS IdReportPDFMonitoraggio + from C6Mart.RP_vContrattiPerGenerazioneReport contratti + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join c6Mart.NotAllocatedResources as nar --pk + on contratti.Rete = nar.Rete --pk + and contratti.Cod_Fiscale = nar.Cod_Fiscale --pk + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + INNER join C6Mart.vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + where 1=1 + and nar.rete is null --pk + and contratti.Cod_Fiscale + contratti.Rete NOT IN (SELECT COD_FISCALE + RETE FROM C6MART.TEST_QUALITY) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_SELECT_ZIP_DA_INVIARE.sql b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_ZIP_DA_INVIARE.sql new file mode 100644 index 00000000..fcce0b0e --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_SELECT_ZIP_DA_INVIARE.sql @@ -0,0 +1,24 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_SELECT_ZIP_DA_INVIARE] +AS +BEGIN + SELECT +-- Rete, +-- CodiceFiscale, + id IdZip + ,NomeFile +-- , +-- TipoReport, +-- DataGenerazione, +-- DataInvio, +-- FlagInvio, +-- NomeFile + FROM + C6Mart.GESTIONE_ZIP_FTP + WHERE + FlagInvio = 'N' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_S_Intermediari.sql b/sql/storedTestbes/C6Mart_GESTIONE_S_Intermediari.sql new file mode 100644 index 00000000..564f8db0 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_S_Intermediari.sql @@ -0,0 +1,21 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[GESTIONE_S_Intermediari] 'S','GHGRTI63T44L219D' +--[C6Mart].[GESTIONE_S_Intermediari] 'F','BRTVTR64T13L219G' +CREATE procedure [C6Mart].[GESTIONE_S_Intermediari] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceCliente varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SELECT DISTINCT INTERMEDIARIO + FROM C6Mart.PATRIMONIO_TERZI + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceCliente +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_UPDATE_EMAIL_HOST.sql b/sql/storedTestbes/C6Mart_GESTIONE_UPDATE_EMAIL_HOST.sql new file mode 100644 index 00000000..c29b09af --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_UPDATE_EMAIL_HOST.sql @@ -0,0 +1,11 @@ +--exec [C6Mart].[Gestione_EMAIL_Inviate] @Email_Id=7,@DataInvio='2008-11-17 18:10:43:603' +CREATE procedure [C6Mart].[GESTIONE_UPDATE_EMAIL_HOST] + @Email_Id int +AS +BEGIN + SET NOCOUNT ON; + UPDATE [C6Mart].GESTIONE_EMAIL + SET Data_Comunicazione_Host = getdate() + WHERE Email_Id = @Email_Id + RETURN @@ROWCOUNT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_UPDATE_EMAIL_INVIATE.sql b/sql/storedTestbes/C6Mart_GESTIONE_UPDATE_EMAIL_INVIATE.sql new file mode 100644 index 00000000..dbc17bb8 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_UPDATE_EMAIL_INVIATE.sql @@ -0,0 +1,36 @@ +--exec [C6Mart].[Gestione_EMAIL_Inviate] @Email_Id=7,@DataInvio='2008-11-17 18:10:43:603' +CREATE procedure [C6Mart].[GESTIONE_UPDATE_EMAIL_INVIATE] + @Email_Id int, + @DataInvio datetime +AS +BEGIN + SET NOCOUNT ON; + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'GESTIONE_UPDATE_EMAIL_INVIATE', + GETDATE(), + 'Elaborazione giornaliera' + ) + UPDATE [C6Mart].GESTIONE_EMAIL + SET Data_Invio = @DataInvio, + Inviata = 'S' + WHERE Email_Id = @Email_Id + RETURN @@ROWCOUNT + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'GESTIONE_UPDATE_EMAIL_INVIATE' --AND + --Inizio = ( + -- SELECT + -- MAX(Inizio) + -- FROM + -- LOG_ESECUZIONE + -- WHERE + -- Nome = 'GESTIONE_UPDATE_EMAIL_INVIATE' + --) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_UPDATE_FTP.sql b/sql/storedTestbes/C6Mart_GESTIONE_UPDATE_FTP.sql new file mode 100644 index 00000000..8a88e0d5 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_UPDATE_FTP.sql @@ -0,0 +1,33 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- 22/12/2008 MODIFICA PER GESTIONE RISTAMPE +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_UPDATE_FTP] + @Id INT, + @TipoReport varchar(2), + @IdZip INT +AS +BEGIN + IF @TipoReport <> 'LR' -- INVIO NORMALE + BEGIN + UPDATE C6Mart.GESTIONE_PDF_FTP + SET + DataInvio = GetDate(), + FlagInvio = 'S', + Id_fk_Zip = @IdZip + WHERE + IdReport = @Id + END + ELSE -- INVIO DI UNA RISTAMPA. TENGO TRACCIA SOLO DELL'ULTIMA DATA DI RISTAMPA + BEGIN + UPDATE C6Mart.GESTIONE_PDF_FTP + SET + DataInvioRistampa = GetDate(), + FlagInvio = 'S', + Id_fk_Zip = @IdZip + WHERE + IdReport = @Id + END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GESTIONE_UPDATE_ZIP.sql b/sql/storedTestbes/C6Mart_GESTIONE_UPDATE_ZIP.sql new file mode 100644 index 00000000..96f5cec7 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GESTIONE_UPDATE_ZIP.sql @@ -0,0 +1,16 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[GESTIONE_UPDATE_ZIP] + @Id int +AS +BEGIN + UPDATE C6Mart.GESTIONE_ZIP_FTP + SET + DataInvio = GetDate(), + FlagInvio = 'S' + WHERE + Id = @Id +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GET_RECUPERO_LETTERE.sql b/sql/storedTestbes/C6Mart_GET_RECUPERO_LETTERE.sql new file mode 100644 index 00000000..f61235a0 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GET_RECUPERO_LETTERE.sql @@ -0,0 +1,67 @@ +CREATE procedure [C6Mart].[GET_RECUPERO_LETTERE] +AS +BEGIN + SET NOCOUNT ON; + SELECT distinct + contratti.CodiceContratto CodiceContratto + ,contratti.Rete + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.nome NomeCliente + ,clienti.Cognome CognomeCliente + ,contratti.Cod_Agente CodicePB + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomePB + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomePB + ,gg.numeroPagine + ,contratti.tip_contratto + --, InvioBenvenuto + --, Data_FineAvanzato, contratti.DATA_PERF, RisorseNa, NumRevoche, Profilo_EC + --select * + from C6Mart.GESTIONE_PDF_FTP_DaRecuperare_20250503 gg + join C6Mart.VCONTRATTI + --join C6Mart.RP_vContrattiPerGenerazioneReport + contratti on contratti.rete = gg.rete and contratti.Cod_Fiscale = gg.CodiceFiscale + left JOIN C6Mart.CONTRATTOSEI_METADATI md ON md.chiaveClientePB = contratti.chiaveClientePB + left join C6Mart.ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + left join C6Mart.ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + /*INNER join C6Mart.vPatrimoniobfAggregato_SenzaNobPrez patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join C6Mart.vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join C6Mart.vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join C6Mart.vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join C6Mart.MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join C6Mart.vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join C6Mart.vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + left outer join C6Mart.RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6Mart.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + */ + where 1=1 + --and exists (SELECT 1 FROM C6Mart.PIRAMIDE_MOD mo where mo.COD_FISCALE = contratti.COD_FISCALE) + --and CodiceContratto = '000160CO307' + order by CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_GetRiskArea.sql b/sql/storedTestbes/C6Mart_GetRiskArea.sql new file mode 100644 index 00000000..04025888 --- /dev/null +++ b/sql/storedTestbes/C6Mart_GetRiskArea.sql @@ -0,0 +1,20 @@ +--[C6Mart].[GetRiskArea] 'S', 'GLLRFL52L02L219D' +CREATE procedure [C6Mart].[GetRiskArea] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + select + case + when b.profilo is null then -1 + else b.profilo + end as profiloCode + FROM + c6mart.mifid a + left outer join C6Mart.CODIFICA_RISCHIO b + on A.PROFILO_ASS=B.PROFILO + WHERE + a.COD_FISCALE = @CodiceFiscale + and a.RETE= @Rete +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_InvioLetteraBenvenuto_ExcludedListApply.sql b/sql/storedTestbes/C6Mart_InvioLetteraBenvenuto_ExcludedListApply.sql new file mode 100644 index 00000000..4822e2ea --- /dev/null +++ b/sql/storedTestbes/C6Mart_InvioLetteraBenvenuto_ExcludedListApply.sql @@ -0,0 +1,34 @@ +CREATE procedure [C6Mart].[InvioLetteraBenvenuto_ExcludedListApply] +as +begin +begin transaction +begin try +--taking documents to update +select distinct rete, codicefiscale, idreport +into #tmp +from [C6Mart].[GESTIONE_PDF_FTP] p +where p.[DataInvio] is NULL and p.[FlagInvio] = 'N' and p.id_fk_zip = -1 + and CodiceFiscale in (select distinct CodiceFiscale from [C6Mart].[InvioLetteraBenvenuto_excludedlist] ) +--'excluding' records from GESTIONE_PDF_FTP +update p +set p.[DataInvio] = getdate() + ,p.[FlagInvio] = 'S' + ,p.[id_fk_zip] = 999999 +from [C6Mart].[GESTIONE_PDF_FTP] p + inner join #tmp c on c.codicefiscale = p.codicefiscale + and c.rete = p.rete + and c.idreport = p.idreport +--updating excludedlist, setting data_aggriogamento for records affected +update e +set e.Data_aggiornamento = getdate() +from [C6Mart].[InvioLetteraBenvenuto_excludedlist] e + inner join #tmp c on c.codicefiscale = e.codicefiscale +commit transaction +end try +begin catch + DECLARE @Msg NVARCHAR(MAX) + SELECT @Msg=ERROR_MESSAGE() + rollback transaction + RAISERROR('Error Occured: %s', 20, 101,@msg) --WITH LOG +end catch +end \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_FD150Anagrafica.sql b/sql/storedTestbes/C6Mart_PL_D2_FD150Anagrafica.sql new file mode 100644 index 00000000..53487980 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_FD150Anagrafica.sql @@ -0,0 +1,91 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_FD150Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + null AS Professione, --ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + --V Indirizzo Secondo AULETTA + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_INZIOAVANZATO) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + null AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + null AS ProduzioneReport,--DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + CONTRATTOSEI.[Provincia] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.VCONTRATTI AS CONTRATTOSEI -- TABELLA BASE + INNER JOIN + C6MART.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MART.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + --LEFT JOIN + -- C6MART.ANAG_CLIENTI_PREV + -- ON + -- ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + -- AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + --LEFT JOIN + -- C6MART.DATI_REPORT + -- ON + -- ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + -- AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + WHERE 1 = 1 + AND ANAG_CLIENTI.RETE = @RETE + AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_FD159PatrimonioFinanziario.sql b/sql/storedTestbes/C6Mart_PL_D2_FD159PatrimonioFinanziario.sql new file mode 100644 index 00000000..3707adf3 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_FD159PatrimonioFinanziario.sql @@ -0,0 +1,250 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_D2_S159PatrimonioFinanziario] 'F','02477630582' + CREATE procedure [C6Mart].[PL_D2_FD159PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(19,5)) AS Controvalore, + cast(A.Percentuale as decimal(19,5)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + --ELSE 'Banca Fideuram' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.PATRIMONIO_BF PATRBF + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + --and patrbf.id_area <> 'CC' + and patrbf.id_area not in ('CC','Self') + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MART.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MART.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D2_S159PatrimonioFinanziario] Script Date: 08/02/2022 16:37:35 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +----[C6Mart].[PL_D2_S159PatrimonioFinanziario] 'F','02477630582' +-- ALTER procedure [C6Mart].[PL_D2_S159PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +--SELECT +-- A.BANCA AS Banca, +-- A.ORDINAMENTO AS Ordinamento, +-- A.AssetClassId AS AssetClassId, +-- A.AssetClassName AS AssetClassName, +-- cast(A.Controvalore as decimal(19,5)) AS Controvalore, +-- cast(A.Percentuale as decimal(19,5)) AS Percentuale, +-- cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +--FROM +--( +-- SELECT DISTINCT +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- --ELSE 'Banca Fideuram' +-- ELSE 'Fideuram' +-- END AS Banca, +-- ASSETCLASS.ORDINAMENTO, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / +-- --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 +-- THEN 1 +-- ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) +-- END +-- ) * 100 AS Percentuale +-- FROM ( +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- --and patrbf.id_area <> 'CC' +-- and patrbf.id_area not in ('CC','Self') +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +---- SELECT +---- ASSETPERC.ID_ASSETCLASS, +---- PATRBF.CTV*ASSETPERC.PERC as Controvalore +---- FROM +---- C6MART.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MART.ASSET_PERC ASSETPERC +---- ON +---- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +---- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +---- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN +---- C6MART.ClientiConCCNegativo CCNegativo +---- ON +---- PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- WHERE +---- --ELIMINO I CC CON SALDO NEGATIVO +---- PATRBF.TIPO_PRODOTTO = 'CC' +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND CCNegativo.Cod_Fiscale IS NULL +---- UNION ALL +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MART.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MART.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MART.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--ORDER BY A.ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_FD160DettaglioProdottiBF.sql b/sql/storedTestbes/C6Mart_PL_D2_FD160DettaglioProdottiBF.sql new file mode 100644 index 00000000..594fab6e --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_FD160DettaglioProdottiBF.sql @@ -0,0 +1,218 @@ +create procedure [C6Mart].[PL_D2_FD160DettaglioProdottiBF] --'F','CHRMNL86P18H657Z' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +PATRBF.NOME_PROGETTO AS EE, PATRBF.ID_AREA, +CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID AS TMP, + CASE + when robo.isProgettoRobo='S' then 'Rob' + else 'ASF' + END AS needarea, + CASE + when robo.isProgettoRobo='S' then 'Portafoglio Direct Evo' + else 'Portafoglio Base' + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + --WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + --ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + WHEN patrbf.tipo_prodotto='CC' THEN 10 -- lo setto ad un valore alto in modo che si trova in basso come ordinamento + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY robo.isProgettoRobo) AS somma_controval_needarea, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY robo.isProgettoRobo) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY robo.isProgettoRobo) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY robo.isProgettoRobo) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS versato_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' + THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS MinusPlusValenza_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenza_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL + END AS somma_var_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL + END AS somma_copertura_need_prog, + cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c.') AS var_needareaString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_AREA.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_AREA.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END as var_needareaString, + CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL(5,2)) AS copertura_needarea, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 + --Valerio danilo THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE NULL + END AS copertura_needareaString, + RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, + --CASE WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as var_need_progString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END as var_need_progString, + RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATRBF.CTV AS Controvalore, + PATRBF.VERSATO_NETTO AS VersatoNetto, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, + PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, + --RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, --commentata per assenza o,oo per i cc fideuram il 29/4/2020 + case when (patrbf.tipo_prodotto ='CC') then 0.00 + else RISCHIO_PROD.VAR_PERC_PTF + end AS VaRprodotto, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 THEN 'n.c.' --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- WHEN patrbf.isin in('EURO00000009', 'EURO10000007' ) THEN 'n.c.' +-- ELSE NULL END as varProdottoString, + CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' + ELSE NULL END as varProdottoString, + RISCHIO_PROD.Copertura AS Coperturaprodotto, + PATRBF.REND_ANNO AS PerformanceYTD, + PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, + PARTVIA_DISINV AS partitaViaggiante, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 THEN '*' + ELSE NULL + END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + patrbf.tipo_prodotto as Tipo_Prodotto, + isAPC = 'N', + patrbf.chiaveprogetto +FROM C6MART.PATRIMONIO_BF PATRBF +INNER JOIN C6MART.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN AREA.ID_AREA = 'Na' THEN 'RISORSENONASSOCIATE|' +-- ELSE + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL)-- AND (LEFT(PATRBF.ID_AREA,3)<>'Na' Or PATRBF.NOME_PROGETTO <> 'Default') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = + case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +left join C6Staging.RP_Progetto_robo ROBO +on ROBO.chiaveprogetto=PATRBF.chiaveProgetto +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 +--Bido + --AND ( + --PATRBF.CTV > 0 + --OR ( PATRBF.CTV < 0 AND patrbf.tipo_prodotto = 'cc' ) + --) +-- +ORDER BY robo.isProgettoRobo,areasortorder +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_FD170RischioDiversificazione.sql b/sql/storedTestbes/C6Mart_PL_D2_FD170RischioDiversificazione.sql new file mode 100644 index 00000000..e329dd02 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_FD170RischioDiversificazione.sql @@ -0,0 +1,236 @@ +-- [C6Mart].[PL_D_S170RischioDiversificazione] 'S','02148400126' +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +CREATE procedure [C6Mart].[PL_D2_FD170RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @contaCCSelf as int + select @contaCCSelf = count(*) + from C6MART.patrimonio_Bf + where tipo_prodotto = 'CC' or isin in('EURO00000009', 'EURO10000007' ) and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from C6MART.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6mart.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6mart.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + -- Complessità + declare @maxComplessita as int + select @maxComplessita = max(compl_base) from [C6Mart].[TB_S180ProdottiComplessitaAlta] + where + cod_fiscale like + CASE when @CodiceFiscale like '%FF@%'THEN '%%' + ELSE @CodiceFiscale + END + and codman = + CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + ELSE '' + END + and rete= @Rete + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + and compl_base <> 10 + -- +SELECT + K.COD_FISCALE, + K.RETE, + CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 + END AS CTV_AGGREG, + K.CREDITRISK, +CASE + WHEN (@contaPOS - @contaCCSelf = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contaCCSelf <> 0 THEN 'n.c.' ELSE NULL END +as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contaCCSelf <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (@contaPOS - @contaCCSelf = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' when k.rete = 'S' then 'Sanpaolo Invest' else 'IW Private Inv.' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +------------------------ MIFID2 - 20180711 +case @maxComplessita + when 0 then 'Non complesso' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + else 'n.c.' +end +as complessita, +------------------------- FINE MIFID2 - 20180711 +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM C6MART.RISCHIO_AGGREGATO K +left outer JOIN C6MART.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete +left outer join C6MART.CODIFICA_RISCHIO b + ON A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D2_S170RischioDiversificazione] Script Date: 08/02/2022 17:23:55 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- [C6Mart].[PL_D_S170RischioDiversificazione] 'S','02148400126' +---- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +--ALTER procedure [C6Mart].[PL_D2_S170RischioDiversificazione] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- declare @contaCCSelf as int +-- select @contaCCSelf = count(*) +-- from C6MART.patrimonio_Bf +-- where tipo_prodotto = 'CC' or isin in('EURO00000009', 'EURO10000007' ) and cod_fiscale = @codiceFiscale and rete = @rete +-- declare @contaPOS as int +-- select @contaPOS = count(*) +-- from C6MART.patrimonio_Bf +-- where cod_fiscale = @codiceFiscale and rete = @rete +-- declare @ctvbf as decimal(12,2) +-- SELECT @ctvbf = isnull(sum(ctv),0) FROM c6mart.patrimonio_bf +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +-- declare @ctvterzi as decimal (12,2) +-- SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6mart.patrimonio_terzi +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +-- -- Complessità +-- declare @maxComplessita as int +-- select @maxComplessita = max(compl_base) from [C6Mart].[TB_S180ProdottiComplessitaAlta] +-- where +-- cod_fiscale like +-- CASE when @CodiceFiscale like '%FF@%'THEN '%%' +-- ELSE @CodiceFiscale +-- END +-- and codman = +-- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- ELSE '' +-- END +-- and rete= @Rete +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10 +-- -- +--SELECT +-- K.COD_FISCALE, +-- K.RETE, +-- CASE +-- when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf +-- when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi +-- when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi +-- else 0 +-- END AS CTV_AGGREG, +-- K.CREDITRISK, +--CASE +-- WHEN (@contaPOS - @contaCCSelf = 0) THEN 0 +-- ELSE VAR_PERC_PTF +--END AS VAR, +--CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contaCCSelf <> 0 THEN 'n.c.' ELSE NULL END +--as varString, +--CASE +-- WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contaCCSelf <> 0 +-- --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' +-- ELSE null +--END AS coperturaString, +--beneficio as diversificazione, +--CASE +-- WHEN (@contaPOS - @contaCCSelf = 0) THEN 100 +-- ELSE COPERTURA +--END AS COPERTURA, +--case +--when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +--when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +--ELSE '' +--END AS PATRIMONIO, +--case +-- when b.profilo is null then -1 +-- else b.profilo +--end as profiloCode, +--b.max_var as var_profilo, +-------------------------- MIFID2 - 20180711 +--case @maxComplessita +-- when 0 then '-' +-- when 1 then 'Minima' +-- when 2 then 'Bassa' +-- when 3 then 'Media' +-- when 4 then 'Alta' +-- when 5 then 'Molto alta' +-- else '-' +--end +--as complessita, +--------------------------- FINE MIFID2 - 20180711 +----V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +----V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +--case +--when cod_Aggreg = 'COMPLESSIVO' then 3 +--when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +--ELSE '' +--END AS Ordine +--FROM C6MART.RISCHIO_AGGREGATO K +--left outer JOIN C6MART.mifid a +-- ON k.cod_fiscale = a.cod_fiscale and +-- k.rete = a.rete +--left outer join C6MART.CODIFICA_RISCHIO b +-- ON A.PROFILO_ASS=B.PROFILO +--WHERE +----A.PROFILO_ASS=B.PROFILO +----AND K.RETE=A.RETE +----AND K.COD_FISCALE= A.COD_FISCALE +--COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +--AND k.COD_FISCALE = @COdiceFISCALE +--AND k.RETE= @RETE +--ORDER BY ordine +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S150Anagrafica.sql b/sql/storedTestbes/C6Mart_PL_D2_S150Anagrafica.sql new file mode 100644 index 00000000..f33bf71d --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S150Anagrafica.sql @@ -0,0 +1,91 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S150Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + null AS Professione, --ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + --V Indirizzo Secondo AULETTA + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_INZIOAVANZATO) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + null AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + null AS ProduzioneReport,--DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + CONTRATTOSEI.[Provincia] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.VCONTRATTI AS CONTRATTOSEI -- TABELLA BASE + INNER JOIN + C6MART.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MART.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + --LEFT JOIN + -- C6MART.ANAG_CLIENTI_PREV + -- ON + -- ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + -- AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + --LEFT JOIN + -- C6MART.DATI_REPORT + -- ON + -- ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + -- AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + WHERE 1 = 1 + AND ANAG_CLIENTI.RETE = @RETE + AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S151ProfiloDiRischio.sql b/sql/storedTestbes/C6Mart_PL_D2_S151ProfiloDiRischio.sql new file mode 100644 index 00000000..909965e5 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S151ProfiloDiRischio.sql @@ -0,0 +1,48 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S151ProfiloDiRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MART.MIFID AS M + INNER JOIN C6MART.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskclass, + @experience as experince +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S152Patrimonio.sql b/sql/storedTestbes/C6Mart_PL_D2_S152Patrimonio.sql new file mode 100644 index 00000000..60f6eb5f --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S152Patrimonio.sql @@ -0,0 +1,96 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S152Patrimonio] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + declare @PatrimonioImmobiliareProQuota decimal(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT + @PatrimonioBF = SUM(CTV) + FROM + C6MART.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area NOT IN ('CC','self') --escludo il cc negativo +-- SELECT @Part_viaggianti=SUM(IMPORTO) +-- FROM C6MART.PARTITE_VIAGGIANTI partvia +-- WHERE +-- partvia.Rete = @Rete +-- and partvia.Cod_Fiscale = @CodiceFiscale + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6MART.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6MART.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + SELECT + @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM + C6MART.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM + C6MART.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioImmobiliareProQuota = isnull(SUM(patrImm.VALORE_STIMATO_PROQUOTA), 0) + FROM + C6MART.PATRIMONIO_IMMOBILIARE_ProQuota patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioAltro = SUM(patrAltro.ctv) + FROM + C6MART.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV, + @PatrimonioImmobiliareProQuota as ImmobiliarePQCTV +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S152Patrimonio_20190107_ProQuota.sql b/sql/storedTestbes/C6Mart_PL_D2_S152Patrimonio_20190107_ProQuota.sql new file mode 100644 index 00000000..e5121f4c --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S152Patrimonio_20190107_ProQuota.sql @@ -0,0 +1,96 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S152Patrimonio_20190107_ProQuota] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + declare @PatrimonioImmobiliareProQuota decimal(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT + @PatrimonioBF = SUM(CTV) + FROM + C6MART.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area NOT IN ('CC','self') --escludo il cc negativo +-- SELECT @Part_viaggianti=SUM(IMPORTO) +-- FROM C6MART.PARTITE_VIAGGIANTI partvia +-- WHERE +-- partvia.Rete = @Rete +-- and partvia.Cod_Fiscale = @CodiceFiscale + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6MART.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6MART.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + SELECT + @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM + C6MART.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM + C6MART.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioImmobiliareProQuota = SUM(patrImm.VALORE_STIMATO_PROQUOTA) + FROM + C6MART.PATRIMONIO_IMMOBILIARE_ProQuota patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioAltro = SUM(patrAltro.ctv) + FROM + C6MART.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV, + @PatrimonioImmobiliareProQuota as ImmobiliarePQCTV +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S152Patrimonio_20190111.sql b/sql/storedTestbes/C6Mart_PL_D2_S152Patrimonio_20190111.sql new file mode 100644 index 00000000..874e7285 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S152Patrimonio_20190111.sql @@ -0,0 +1,87 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S152Patrimonio_20190111] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT + @PatrimonioBF = SUM(CTV) + FROM + C6MART.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area NOT IN ('CC','self') --escludo il cc negativo +-- SELECT @Part_viaggianti=SUM(IMPORTO) +-- FROM C6MART.PARTITE_VIAGGIANTI partvia +-- WHERE +-- partvia.Rete = @Rete +-- and partvia.Cod_Fiscale = @CodiceFiscale + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6MART.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6MART.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + SELECT + @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM + C6MART.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM + C6MART.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioAltro = SUM(patrAltro.ctv) + FROM + C6MART.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S153PatrimonioFinanziario.sql b/sql/storedTestbes/C6Mart_PL_D2_S153PatrimonioFinanziario.sql new file mode 100644 index 00000000..7d2e6b52 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S153PatrimonioFinanziario.sql @@ -0,0 +1,142 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S153PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + DECLARE @NOMERETE VARCHAR(30) + IF @Rete = 'F' + SET @NOMERETE = 'Fideuram' + ELSE IF @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + SELECT + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Intermediario, + Ordine, + @NOMERETE AS Banca, + -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv + SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine)) / + (SUM(ctv) over (partition by 'Totale')) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + @NOMERETE AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MART.PATRIMONIO_BF patrBF +-- LEFT JOIN C6MART.ClientiConCCNegativo CCNegativo +-- ON PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- AND PATRBF.TIPO_PRODOTTO = 'CC' + WHERE 1 = 1 + AND patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO + and patrBF.id_area not in ('cc','self') + UNION ALL + SELECT + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MART.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + AND patrTerzi.Rete = @Rete + AND patrTerzi.Cod_Fiscale = @CodiceFiscale + GROUP BY patrTerzi.Intermediario + ) PATR + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D2_S153PatrimonioFinanziario] Script Date: 08/02/2022 17:25:02 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +--ALTER procedure [C6Mart].[PL_D2_S153PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @Rete = 'F' +-- SET @NOMERETE = 'Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- Intermediario, +-- Ordine, +-- Banca, +-- Controvalore, +-- round(Percentuale,2) as Percentuale +-- FROM +-- ( +-- SELECT DISTINCT +-- Intermediario, +-- Ordine, +-- @NOMERETE AS Banca, +-- -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv +-- SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, +-- ( +-- (SUM(ctv) over (partition by Intermediario,Ordine)) / +-- (SUM(ctv) over (partition by 'Totale')) +-- ) * 100 AS PERCENTUALE +-- FROM +-- ( +-- SELECT +-- @NOMERETE AS Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 1 AS ordine +-- FROM C6MART.PATRIMONIO_BF patrBF +---- LEFT JOIN C6MART.ClientiConCCNegativo CCNegativo +---- ON PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- AND PATRBF.TIPO_PRODOTTO = 'CC' +-- WHERE 1 = 1 +-- AND patrBF.Rete = @Rete +-- AND patrBF.Cod_Fiscale = @CodiceFiscale +-- --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO +-- and patrBF.id_area not in ('cc','self') +-- UNION ALL +-- SELECT +-- Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 2 AS ordine +-- FROM C6MART.PATRIMONIO_TERZI patrTerzi +-- WHERE 1 = 1 +-- AND patrTerzi.Rete = @Rete +-- AND patrTerzi.Cod_Fiscale = @CodiceFiscale +-- GROUP BY patrTerzi.Intermediario +-- ) PATR +-- ) A +-- WHERE CONTROVALORE IS NOT NULL +-- ORDER BY Ordine +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S154PatrimonioFinanziario.sql b/sql/storedTestbes/C6Mart_PL_D2_S154PatrimonioFinanziario.sql new file mode 100644 index 00000000..e1bf5545 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S154PatrimonioFinanziario.sql @@ -0,0 +1,312 @@ +-- Stored procedure +-- ============================================= +-- Author: Luca De Lisio +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_DT_S154PatrimonioFinanziario] 'F','LNTNNE59L06F205C' +CREATE procedure [C6Mart].[PL_D2_S154PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SELECT + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + --PRODOTTI BF ESCLUSI GLI ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.PATRIMONIO_BF PATRBF + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MART.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + --DETTAGLIO ASUL SENZA SKANDIA + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --CON SKANDIA + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MART.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D2_S154PatrimonioFinanziario] Script Date: 08/02/2022 16:35:09 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: Luca De Lisio +---- Create date: +---- Description: +---- ============================================= +----[C6Mart].[PL_DT_S154PatrimonioFinanziario] 'F','LNTNNE59L06F205C' +--ALTER procedure [C6Mart].[PL_D2_S154PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +--SELECT +-- A.Banca, +-- A.Ordinamento, +-- A.AssetClassId, +-- A.AssetClassName, +-- cast(A.Controvalore as decimal(19,6)) Controvalore, +-- A.Percentuale, +-- cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +--FROM +--( +-- SELECT DISTINCT +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Fideuram' +-- END AS Banca, +-- ASSETCLASS.ORDINAMENTO AS Ordinamento, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') +-- ) * 100 AS Percentuale +-- FROM ( +-- --PRODOTTI BF ESCLUSI GLI ASUL +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- and patrbf.id_area <> 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +---- SELECT +---- ASSETPERC.ID_ASSETCLASS, +---- PATRBF.CTV*ASSETPERC.PERC as Controvalore +---- FROM +---- C6MART.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MART.ASSET_PERC ASSETPERC +---- ON +---- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +---- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +---- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN +---- C6MART.ClientiConCCNegativo CCNegativo +---- ON +---- PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- WHERE +---- --ELIMINO I CC CON SALDO NEGATIVO +---- PATRBF.TIPO_PRODOTTO = 'CC' +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND CCNegativo.Cod_Fiscale IS NULL +---- UNION ALL +-- --DETTAGLIO ASUL SENZA SKANDIA +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --CON SKANDIA +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MART.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MART.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MART.PATRIMONIO_TERZI PATRTERZI +-- LEFT OUTER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI NON A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MART.PATRIMONIO_TERZI PATRTERZI +-- LEFT OUTER JOIN +-- C6MART.ASSET_PERC_TERZI ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MART.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--ORDER BY A.ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S155PatrimonioImmobiliare.sql b/sql/storedTestbes/C6Mart_PL_D2_S155PatrimonioImmobiliare.sql new file mode 100644 index 00000000..ff1dd3c5 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S155PatrimonioImmobiliare.sql @@ -0,0 +1,37 @@ +CREATE procedure [C6Mart].[PL_D2_S155PatrimonioImmobiliare] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + select + Descrizione, + Tipologia, + Localita, + AffittoPercepito, + Valore_stimato as Valore, + sum(Valore_stimato) OVER (PARTITION BY 'Valore_stimato') as Totale, + sum(AffittoPercepito) OVER (PARTITION BY 'AffittoPercepito') as TotaleAffitto, + Tipologia_Diritto as TipologiaDiritto, + ProQuota, + Valore_Stimato_ProQuota as Valore_ProQuota, + sum(Valore_Stimato_ProQuota) over (partition by 'Valore_Stimato_ProQuota') as TotaleProQuota + from C6MART.PATRIMONIO_IMMOBILIARE_ProQuota + where Rete = @Rete + and COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC + --SELECT + -- PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + -- PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + -- PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + -- isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + -- PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + -- SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + -- SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + --FROM C6MART.PATRIMONIO_IMMOBILIARE + --WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + -- AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + --ORDER BY 5 DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190107_ProQuota.sql b/sql/storedTestbes/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190107_ProQuota.sql new file mode 100644 index 00000000..26616411 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190107_ProQuota.sql @@ -0,0 +1,28 @@ +CREATE procedure [C6Mart].[PL_D2_S155PatrimonioImmobiliare_20190107_ProQuota] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + SELECT + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto, + PATRIMONIO_IMMOBILIARE_PROQUOTA.Valore_Stimato_ProQuota AS ValoreProQuota, + PATRIMONIO_IMMOBILIARE_PROQUOTA.Tipologia_Diritto as TipologiaDiritto, + PATRIMONIO_IMMOBILIARE_PROQUOTA.ProQuota as ProQuota, + SUM(PATRIMONIO_IMMOBILIARE_PROQUOTA.VALORE_STIMATO_PROQUOTA) OVER (PARTITION BY 'TotaleProQuota') as TotaleProQuota + from C6MART.PATRIMONIO_IMMOBILIARE PATRIMONIO_IMMOBILIARE + left join C6Mart.Patrimonio_Immobiliare_ProQuota PATRIMONIO_IMMOBILIARE_PROQUOTA + on PATRIMONIO_IMMOBILIARE.RETE = PATRIMONIO_IMMOBILIARE_PROQUOTA.RETE + and PATRIMONIO_IMMOBILIARE.COD_FISCALE = PATRIMONIO_IMMOBILIARE_PROQUOTA.COD_FISCALE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190111.sql b/sql/storedTestbes/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190111.sql new file mode 100644 index 00000000..ba8f10cc --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S155PatrimonioImmobiliare_20190111.sql @@ -0,0 +1,21 @@ +CREATE procedure [C6Mart].[PL_D2_S155PatrimonioImmobiliare_20190111] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + SELECT + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + FROM C6MART.PATRIMONIO_IMMOBILIARE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S156ALtroPatrimonio.sql b/sql/storedTestbes/C6Mart_PL_D2_S156ALtroPatrimonio.sql new file mode 100644 index 00000000..50d9942e --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S156ALtroPatrimonio.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S156ALtroPatrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + SELECT + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM + C6MART.PATRIMONIO_ALTRO + WHERE + PATRIMONIO_ALTRO.RETE = @Rete + AND PATRIMONIO_ALTRO.COD_FISCALE = @CodiceFiscale + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S157ConfrontoPiramidi.sql b/sql/storedTestbes/C6Mart_PL_D2_S157ConfrontoPiramidi.sql new file mode 100644 index 00000000..86f0b9fb --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S157ConfrontoPiramidi.sql @@ -0,0 +1,257 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +-- ============================================= +-- [C6MART].[PL_D2_S157ConfrontoPiramidi] 'F','ZCCLNR58P49H501R' +CREATE procedure [C6Mart].[PL_D2_S157ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + SUM (isnull(PIRAMIDE_MOD.PERC_AREA,0)) as PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MART.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + --LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MART.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + --RETE, COD_FISCALE, LEFT(ID_AREA,3) + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','CC','NA','SELF','INV') + -- OR (PIRAMIDE_MOD.ID_AREA = 'INV')) --AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) --- 16/09 ** DA VERIFICARE + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + group by PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_VERT.CTV_AREA + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc','Self','LIGHT','VOID') + --V + DECLARE @TOTCCSELF AS INT + SELECT @TOTCCSELF = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + --AND TIPO_PRODOTTO = 'Cc' + AND (TIPO_PRODOTTO = 'Cc' OR ISIN in('EURO00000009', 'EURO10000007') ) +--INIZIO INTERVENTI OMNIA quiii2 + DECLARE @TOTSELF AS INT + SELECT @TOTSELF = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') +--FINE INTERVENTI OMNIA quiii2 + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCCSELF = @TOT THEN 0.00 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + WHEN (@TOTCCSELF <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'n.c.' + --V SOLO SELF -> VAR = 'n.c.' + WHEN (@TOTSELF = @TOT) THEN 'n.c.' + --V SOLO CC -> VAR = 0 + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCCSELF = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' +--INIZIO INTERVENTI OMNIA +-- WHEN @TOTCC = @TOT THEN NULL + WHEN @TOTCCSELF = @TOT THEN NULL + WHEN @TOTSELF = @TOT THEN 'n.c.' +--FINE INTERVENTI OMNIA + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCCSELF = @TOT THEN NULL + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MART.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' + and AREA_BISOGNO.ID_AREA not in ('light','void') --- ***** AGGIUNTA 19/09 ***** + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql b/sql/storedTestbes/C6Mart_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql new file mode 100644 index 00000000..69c28a95 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli.sql @@ -0,0 +1,252 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6MART].[PL_D_S157ConfrontoPiramidi] 'F','PGGFNC33S27H861U' +CREATE procedure [C6Mart].[PL_D2_S157ConfrontoPiramidi_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MART.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + --LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MART.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + --RETE, COD_FISCALE, LEFT(ID_AREA,3) + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc','Self') + --V + DECLARE @TOTCCSELF AS INT + SELECT @TOTCCSELF = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + --AND TIPO_PRODOTTO = 'Cc' + AND (TIPO_PRODOTTO = 'Cc' OR ISIN = 'EURO00000009' ) +--INIZIO INTERVENTI OMNIA quiii2 + DECLARE @TOTSELF AS INT + SELECT @TOTSELF = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' +--FINE INTERVENTI OMNIA quiii2 + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCCSELF = @TOT THEN 0.00 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + WHEN (@TOTCCSELF <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'n.c.' + --V SOLO SELF -> VAR = 'n.c.' + WHEN (@TOTSELF = @TOT) THEN 'n.c.' + --V SOLO CC -> VAR = 0 + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCCSELF = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' +--INIZIO INTERVENTI OMNIA +-- WHEN @TOTCC = @TOT THEN NULL + WHEN @TOTCCSELF = @TOT THEN NULL + WHEN @TOTSELF = @TOT THEN 'n.c.' +--FINE INTERVENTI OMNIA + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCCSELF = @TOT THEN NULL + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MART.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S158PiramideModello.sql b/sql/storedTestbes/C6Mart_PL_D2_S158PiramideModello.sql new file mode 100644 index 00000000..7fe06727 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S158PiramideModello.sql @@ -0,0 +1,54 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_D2_S158PiramideModello] 'S','MRCMRA47C26A241D' +CREATE procedure [C6Mart].[PL_D2_S158PiramideModello] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + --SELECT BF.NOME_PROGETTO AS NomePrg, + -- PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + -- AGGR.VAR_PERC_PTF as VarPrg, + -- SUM(BF.CTV)AS ControvalorePrg + --FROM C6Mart.PATRIMONIO_BF BF + --INNER JOIN C6Mart.RISCHIO_AGGREGATO AGGR + -- ON BF.RETE= AGGR.RETE + -- AND BF.COD_FISCALE= AGGR.COD_FISCALE + -- AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO + --INNER JOIN C6Mart.PIRAMIDE_MOD PIRMOD + -- ON BF.RETE= PIRMOD.RETE + -- AND BF.COD_FISCALE= PIRMOD.COD_FISCALE + -- AND BF.ID_AREA = PIRMOD.ID_AREA + -- AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + --WHERE 1=1 + --AND BF.ID_AREA = 'inv' + --AND BF.RETE = @Rete + --AND BF.COD_FISCALE = @CodiceFiscale + --AND BF.CTV > 0 + --group BY BF.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,AGGR.VAR_PERC_PTF + SELECT + PIRMOD.NOME_PROGETTO AS NomePrg, + PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + ISNULL(T.VAR_PERC_PTF,0) as VarPrg, + ISNULL(SUM(T.CTV),0) AS ControvalorePrg + FROM C6Mart.PIRAMIDE_MOD PIRMOD + LEFT JOIN + (SELECT BF.RETE, BF.COD_FISCALE,BF.ID_AREA,BF.NOME_PROGETTO,AGGR.VAR_PERC_PTF,BF.CTV FROM C6Mart.PATRIMONIO_BF BF + INNER JOIN C6Mart.RISCHIO_AGGREGATO AGGR + ON BF.RETE= AGGR.RETE + AND BF.COD_FISCALE= AGGR.COD_FISCALE + AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO) T + ON PIRMOD.ID_AREA = T.ID_AREA + AND PIRMOD.COD_FISCALE = T.COD_FISCALE + AND PIRMOD.RETE = T.RETE + AND PIRMOD.NOME_PROGETTO = T.NOME_PROGETTO + WHERE + PIRMOD.ID_AREA = 'inv' + AND T.CTV > 0 + AND PIRMOD.RETE = @Rete + AND PIRMOD.COD_FISCALE = @CodiceFiscale + GROUP BY PIRMOD.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,T.VAR_PERC_PTF +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S159PatrimonioFinanziario.sql b/sql/storedTestbes/C6Mart_PL_D2_S159PatrimonioFinanziario.sql new file mode 100644 index 00000000..bebfc8fa --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S159PatrimonioFinanziario.sql @@ -0,0 +1,250 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_D2_S159PatrimonioFinanziario] 'F','02477630582' + CREATE procedure [C6Mart].[PL_D2_S159PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(19,5)) AS Controvalore, + cast(A.Percentuale as decimal(19,5)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + --ELSE 'Banca Fideuram' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.PATRIMONIO_BF PATRBF + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + --and patrbf.id_area <> 'CC' + and patrbf.id_area not in ('CC','Self') + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MART.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MART.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D2_S159PatrimonioFinanziario] Script Date: 08/02/2022 16:37:35 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +----[C6Mart].[PL_D2_S159PatrimonioFinanziario] 'F','02477630582' +-- ALTER procedure [C6Mart].[PL_D2_S159PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +--SELECT +-- A.BANCA AS Banca, +-- A.ORDINAMENTO AS Ordinamento, +-- A.AssetClassId AS AssetClassId, +-- A.AssetClassName AS AssetClassName, +-- cast(A.Controvalore as decimal(19,5)) AS Controvalore, +-- cast(A.Percentuale as decimal(19,5)) AS Percentuale, +-- cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +--FROM +--( +-- SELECT DISTINCT +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- --ELSE 'Banca Fideuram' +-- ELSE 'Fideuram' +-- END AS Banca, +-- ASSETCLASS.ORDINAMENTO, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / +-- --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 +-- THEN 1 +-- ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) +-- END +-- ) * 100 AS Percentuale +-- FROM ( +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- --and patrbf.id_area <> 'CC' +-- and patrbf.id_area not in ('CC','Self') +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +---- SELECT +---- ASSETPERC.ID_ASSETCLASS, +---- PATRBF.CTV*ASSETPERC.PERC as Controvalore +---- FROM +---- C6MART.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MART.ASSET_PERC ASSETPERC +---- ON +---- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +---- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +---- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN +---- C6MART.ClientiConCCNegativo CCNegativo +---- ON +---- PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- WHERE +---- --ELIMINO I CC CON SALDO NEGATIVO +---- PATRBF.TIPO_PRODOTTO = 'CC' +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND CCNegativo.Cod_Fiscale IS NULL +---- UNION ALL +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MART.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MART.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MART.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--ORDER BY A.ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S160DettaglioProdottiBF.sql b/sql/storedTestbes/C6Mart_PL_D2_S160DettaglioProdottiBF.sql new file mode 100644 index 00000000..3c98382a --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S160DettaglioProdottiBF.sql @@ -0,0 +1,213 @@ +CREATE procedure [C6Mart].[PL_D2_S160DettaglioProdottiBF] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +PATRBF.NOME_PROGETTO AS EE, PATRBF.ID_AREA, +CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID AS TMP, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA + END AS needarea, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS versato_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' + THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS MinusPlusValenza_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenza_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL + END AS somma_var_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL + END AS somma_copertura_need_prog, + cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c.') AS var_needareaString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_AREA.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_AREA.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END as var_needareaString, + CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL(5,2)) AS copertura_needarea, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 + --Valerio danilo THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE NULL + END AS copertura_needareaString, + RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, + --CASE WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as var_need_progString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END as var_need_progString, + RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATRBF.CTV AS Controvalore, + PATRBF.VERSATO_NETTO AS VersatoNetto, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, + PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, + --RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, --commentata per assenza o,oo per i cc fideuram il 29/4/2020 + case when (patrbf.tipo_prodotto ='CC') then 0.00 + else RISCHIO_PROD.VAR_PERC_PTF + end AS VaRprodotto, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 THEN 'n.c.' --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- WHEN patrbf.isin in('EURO00000009', 'EURO10000007' ) THEN 'n.c.' +-- ELSE NULL END as varProdottoString, + CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' + ELSE NULL END as varProdottoString, + RISCHIO_PROD.Copertura AS Coperturaprodotto, + PATRBF.REND_ANNO AS PerformanceYTD, + PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, + PARTVIA_DISINV AS partitaViaggiante, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 THEN '*' + ELSE NULL + END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + patrbf.tipo_prodotto as Tipo_Prodotto, + isAPC = 'N' +FROM C6MART.PATRIMONIO_BF PATRBF +INNER JOIN C6MART.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN AREA.ID_AREA = 'Na' THEN 'RISORSENONASSOCIATE|' +-- ELSE + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL)-- AND (LEFT(PATRBF.ID_AREA,3)<>'Na' Or PATRBF.NOME_PROGETTO <> 'Default') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = + case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 +--Bido + --AND ( + --PATRBF.CTV > 0 + --OR ( PATRBF.CTV < 0 AND patrbf.tipo_prodotto = 'cc' ) + --) +-- +ORDER BY AREASORTORDER, nome_progetto, PATRBF.CTV DESC +END +PRINT N'Altering [C6Mart].[PL_D2_S171PatrimonioNonRappresentabileAssettClass]' \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql b/sql/storedTestbes/C6Mart_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql new file mode 100644 index 00000000..2702ba8e --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli.sql @@ -0,0 +1,212 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- cast(C6Mart.ANAG_CC.SALDO as decimal(15,2)) as Controvalore +-- C6Mart.PL_D2_S160DettaglioProdottiBF 'F', 'GSTGPL59P03B586G' +--SELECT * FROM PATR1 +CREATE procedure [C6Mart].[PL_D2_S160DettaglioProdottiBF_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +PATRBF.NOME_PROGETTO AS EE, PATRBF.ID_AREA, +CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID AS TMP, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA + END AS needarea, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS versato_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' + THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS MinusPlusValenza_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenza_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL + END AS somma_var_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL + END AS somma_copertura_need_prog, + cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c.') AS var_needareaString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_AREA.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_AREA.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END as var_needareaString, + CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL(5,2)) AS copertura_needarea, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 + --Valerio danilo THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE NULL + END AS copertura_needareaString, + RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, + --CASE WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as var_need_progString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END as var_need_progString, + RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATRBF.CTV AS Controvalore, + PATRBF.VERSATO_NETTO AS VersatoNetto, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, + PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, + RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, + CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 THEN 'n.c.' + WHEN patrbf.isin ='EURO00000009' THEN 'n.c.' + ELSE NULL END as varProdottoString, + RISCHIO_PROD.Copertura AS Coperturaprodotto, + PATRBF.REND_ANNO AS PerformanceYTD, + PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, + PARTVIA_DISINV AS partitaViaggiante, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 THEN '*' + ELSE NULL + END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM C6MART.PATRIMONIO_BF PATRBF +INNER JOIN C6MART.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN AREA.ID_AREA = 'Na' THEN 'RISORSENONASSOCIATE|' +-- ELSE + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL)-- AND (LEFT(PATRBF.ID_AREA,3)<>'Na' Or PATRBF.NOME_PROGETTO <> 'Default') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = + case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 +--Bido + --AND ( + --PATRBF.CTV > 0 + --OR ( PATRBF.CTV < 0 AND patrbf.tipo_prodotto = 'cc' ) + --) +-- +ORDER BY AREASORTORDER, nome_progetto, PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S162DettaglioProdotti.sql b/sql/storedTestbes/C6Mart_PL_D2_S162DettaglioProdotti.sql new file mode 100644 index 00000000..d84a2ddd --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S162DettaglioProdotti.sql @@ -0,0 +1,98 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S162DettaglioProdotti] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6MART.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOAGGREG + ON + PATRTERZI.RETE = RISCHIOAGGREG.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGREG.COD_FISCALE + AND RISCHIOAGGREG.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + WHERE 1 = 1 + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.DESCR_GRUPPO_PRODOTTO IS NOT NULL + ORDER BY + OrdinamentoProdotti, + Controvalore DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql b/sql/storedTestbes/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..8cc54841 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,61 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S163PatrimonioFinanziarioMAssetClass] +( @Rete char(1), + @CodiceFiscale varchar(16) + )as + begin + SELECT DISTINCT + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + ( + case when SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') = 0 then 1 else + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + end + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN C6MART.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + ORDER BY + ASSETCLASS.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass_NEW_20160908.sql b/sql/storedTestbes/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass_NEW_20160908.sql new file mode 100644 index 00000000..67507f94 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S163PatrimonioFinanziarioMAssetClass_NEW_20160908.sql @@ -0,0 +1,56 @@ +CREATE procedure [C6Mart].[PL_D2_S163PatrimonioFinanziarioMAssetClass_NEW_20160908] +( @Rete char(1), + @CodiceFiscale varchar(16) + )as + begin + SELECT DISTINCT + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + ( + case when SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') = 0 then 0 else + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + end + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN C6MART.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + ORDER BY + ASSETCLASS.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S164PolizzeAltriIstituti.sql b/sql/storedTestbes/C6Mart_PL_D2_S164PolizzeAltriIstituti.sql new file mode 100644 index 00000000..bf342beb --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S164PolizzeAltriIstituti.sql @@ -0,0 +1,30 @@ +-- ============================================= +-- Author: Marco Gentilezza +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S164PolizzeAltriIstituti] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + FROM + C6MART.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MART.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' + WHERE PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S165FondiAltriIstituti.sql b/sql/storedTestbes/C6Mart_PL_D2_S165FondiAltriIstituti.sql new file mode 100644 index 00000000..a3980b0f --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S165FondiAltriIstituti.sql @@ -0,0 +1,62 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S165FondiAltriIstituti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + FROM + C6MART.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MART.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + WHERE + PATRTERZI.rete = @Rete + and PATRTERZI.cod_fiscale = @CodiceFiscale + --AND PATRTERZI.TIPO_PRODOTTO = 'Fondi pensione' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S166ContoCorrenteAI.sql b/sql/storedTestbes/C6Mart_PL_D2_S166ContoCorrenteAI.sql new file mode 100644 index 00000000..457f762b --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S166ContoCorrenteAI.sql @@ -0,0 +1,23 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D2_S166ContoCorrenteAI] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + CCTerzi.INTERMEDIARIO AS Intermediario, + CCTerzi.COD_CC AS ContoCorrente, + CCTerzi.SALDO AS Saldo, + null as creditrisk, + 'n.a.' as creditriskstring, + 0.00 as var + FROM + C6MART.ANAG_CC_Terzi CCTerzi + WHERE + CCTerzi.rete= @Rete + AND CCTerzi.cod_fiscale= @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S167DistribuzioneRischioCredito.sql b/sql/storedTestbes/C6Mart_PL_D2_S167DistribuzioneRischioCredito.sql new file mode 100644 index 00000000..a78defec --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S167DistribuzioneRischioCredito.sql @@ -0,0 +1,629 @@ +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_D_S167DistribuzioneRischioCredito] 'F','BRGGRL48H52G096C' +CREATE procedure [C6Mart].[PL_D2_S167DistribuzioneRischioCredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest', 'IW Private Investments') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' WHEN PATRBF.RETE = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS INTERMEDIARIO, +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +--where id_Area='Cc' +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MART.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MART.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' WHEN PATRBF.RETE = 'S' THEN 'SANPAOLO' ELSE 'IWPRIVATEINVESTMENTS' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +'Altri Istituti' AS INTERMEDIARIO, +--PATRTERZI.INTERMEDIARIO, +--SUM(CTV) AS CTV +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MART].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' AND CTV > 0 THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +--where id_Area='Cc' +where id_Area in ('Cc','Self') +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') + THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CTV) AS CTV +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MART].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D2_S167DistribuzioneRischioCredito] Script Date: 08/02/2022 16:40:49 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Authors: +---- Create date: +---- Description: +---- ============================================= +---- [C6Mart].[PL_D_S167DistribuzioneRischioCredito] 'F','BRGGRL48H52G096C' +--ALTER procedure [C6Mart].[PL_D2_S167DistribuzioneRischioCredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +----QUERY PER INTERMEDIARIO +--SELECT +--RETE, +--COD_FISCALE, +--INTERMEDIARIO, +--CASE WHEN INTERMEDIARIO IN ( 'Fideuram', 'Sanpaolo Invest') THEN 1 +-- ELSE 2 END AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +-- -- Start 1.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--CASE WHEN PATRBF.RETE = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +----SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS ctv +--FROM +--[C6MART].PATRIMONIO_BF PATRBF +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_BF +----where id_Area='Cc' +--where id_Area in ('Cc','Self') +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') +-- THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +----INNER JOIN C6MART.CODIFICA_CREDITRISK CR +--LEFT outer JOIN C6MART.CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END, +--CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +----- End 1.1 +--UNION ALL +---- Start 1.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--'Altri Istituti' AS INTERMEDIARIO, +----PATRTERZI.INTERMEDIARIO, +----SUM(CTV) AS CTV +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6MART].PATRIMONIO_TERZI PATRTERZI +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--PATRTERZI.INTERMEDIARIO, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 1.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE, +--INTERMEDIARIO +---------- +--UNION ALL +------------- +----QUERY TOTALE +--SELECT +--RETE, +--COD_FISCALE, +--'Complessivo' AS INTERMEDIARIO, +--3 AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS ='NA' AND CTV > 0 THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +----- Start 2.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +----SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area in ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS CTV +--FROM +--[C6MART].PATRIMONIO_BF PATRBF +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_BF +----where id_Area='Cc' +--where id_Area in ('Cc','Self') +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('SELF') +-- THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +--left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 2.1 +--UNION ALL +---- Start 2.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +----SUM(CTV) AS CTV +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6MART].PATRIMONIO_TERZI PATRTERZI +--left outer join +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +----- End 2.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S168TabellaEmittenti.sql b/sql/storedTestbes/C6Mart_PL_D2_S168TabellaEmittenti.sql new file mode 100644 index 00000000..360f6707 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S168TabellaEmittenti.sql @@ -0,0 +1,397 @@ +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6Mart].[PL_D_S168TabellaEmittenti] 'F','FF@7181' +CREATE procedure [C6Mart].[PL_D2_S168TabellaEmittenti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +select @patr_compl=sum(ctv_prodotto) from +C6Mart.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + --SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, --modifica apportata il 24/04 per concentrazione % errata secondo Levi + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLESSIVO) AS CONCENTRATION, + sum(copertura) as copertura + --RATING as RATING + FROM C6Mart.PATRIMONIO_EMITTENTI V + LEFT JOIN C6Mart.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS, + RATING + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +--RATING as RATING +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +--RATING as RATING +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + --RATING as RATING + FROM C6Mart.PATRIMONIO_EMITTENTI V +LEFT JOIN C6Mart.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS, +RATING +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10 +--RATING +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S169RischiomercatoRischiocredito.sql b/sql/storedTestbes/C6Mart_PL_D2_S169RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..76fa7b56 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S169RischiomercatoRischiocredito.sql @@ -0,0 +1,448 @@ +CREATE procedure [C6Mart].[PL_D2_S169RischiomercatoRischiocredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + C6MART.patrimonio_bf PATRBF,C6MART.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.cod_fiscale = @codiceFiscale + and PATRBF.rete= @rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + C6MART.PATRIMONIO_TERZI TERZI,C6MART.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.cod_fiscale =@codiceFiscale + and TERZI.rete=@rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + C6MART.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN C6MART.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + C6MART.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'W' then 'Patrimonio IW Private Inv.' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + C6MART.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + C6MART.PATRIMONIO_TERZI TERZI + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + C6MART.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN C6MART.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + C6MART.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D2_S169RischiomercatoRischiocredito] Script Date: 08/02/2022 16:42:57 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +--ALTER procedure [C6Mart].[PL_D2_S169RischiomercatoRischiocredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- PATRBF.INSTITUTENAME, +-- CTV, +-- M.PROFILO_ASS AS CODICEPROFILO, +-- CR.MAX_VAR AS VARMAX, +-- RISK_AGG.VAR_PERC_PTF AS VAR , +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END AS VARSTRING, +-- RISK_AGG.CREDITRISK RISKCLASS, +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END AS RISKCLASSSTRING, +-- ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +----V La copertura viene valorizzata con un valore da 0 da 100 +-- -- CASE +-- -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +---- ELSE +--NULL +---- END +--AS COVERAGESTRING, +-- M.RISKCLASS AS RISKCLASSMAX, +-- round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / +-- -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 +-- THEN 1 +-- ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) +-- END) +-- *100 ,2)AS PERCENTAGE, +-- --V +-- ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, +-- SUM(PATRBF.CTV) AS CTV, +-- --V +-- 1 as ORDINE, +-- RISK_AGG.Ully_perc +-- from +-- C6MART.patrimonio_bf PATRBF,C6MART.RISCHIO_AGGREGATO RISK_AGG +-- where +-- 1=1 +-- and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE +-- and PATRBF.rete= RISK_AGG.rete +-- and PATRBF.cod_fiscale = @codiceFiscale +-- and PATRBF.rete= @rete +-- and PATRBF.CTV > 0 +-- and +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or +-- --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- RISK_AGG.Ully_perc, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END +-- UNION +-- SELECT +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- 'Patrimonio altri Istituti' AS INSTITUTENAME, +-- SUM(ROUND(TERZI.CTV,2)) AS CTV, +-- --V +-- 2 as ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- C6MART.PATRIMONIO_TERZI TERZI,C6MART.RISCHIO_AGGREGATO RISK_AGG +-- where +-- 1=1 +-- and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE +-- and TERZI.rete= RISK_AGG.rete +-- and TERZI.cod_fiscale =@codiceFiscale +-- and TERZI.rete=@rete +-- and TERZI.CTV > 0 +-- and +-- ( +-- --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- GROUP BY +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- RISK_AGG.Ully_perc +-- ) PATRBF +-- LEFT OUTER JOIN +-- C6MART.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN C6MART.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- C6MART.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- C6MART.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- AND +-- (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' +-- WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' +-- else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- UNION ALL +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- 'Patrimonio Complessivo' AS INSTITUTENAME, +-- SUM(CTV), +-- MAX(M.PROFILO_ASS) AS CODICEPROFILO, +-- MAX(CR.MAX_VAR) AS VARMAX, +-- MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , +-- MAX( CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END) AS VARSTRING, +-- MAX(RISK_AGG.CREDITRISK) RISKCLASS, +-- MAX( +-- case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END ) +-- AS RISKCLASSSTRING, +-- MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, +-- MAX( CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END) AS COVERAGESTRING, +-- --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, +-- MAX(M.RISKCLASS) AS RISKCLASSMAX, +-- 100 AS PERCENTAGE, +-- --V +-- 3 AS ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- SUM(PATRBF.CTV) AS CTV +-- from +-- C6MART.patrimonio_bf PATRBF +-- where +-- 1=1 +-- and cod_fiscale =@codiceFiscale +-- and rete=@rete +-- and PATRBF.CTV > 0 +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE +-- UNION +-- SELECT +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- SUM(ROUND(TERZI.CTV,2)) AS CTV +-- FROM +-- C6MART.PATRIMONIO_TERZI TERZI +-- where +-- 1=1 +-- and cod_fiscale =@codiceFiscale +-- and rete=@rete +-- and TERZI.CTV > 0 +-- GROUP BY +-- TERZI.RETE, +-- TERZI.COD_FISCALE +-- ) PATRBF +-- LEFT OUTER JOIN +-- C6MART.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN C6MART.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- C6MART.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- C6MART.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO' +-- ) +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- RISK_AGG.Ully_perc +-- --V +-- order by ordine +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S170RischioDiversificazione.sql b/sql/storedTestbes/C6Mart_PL_D2_S170RischioDiversificazione.sql new file mode 100644 index 00000000..042a7ba1 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S170RischioDiversificazione.sql @@ -0,0 +1,236 @@ +-- [C6Mart].[PL_D_S170RischioDiversificazione] 'S','02148400126' +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +CREATE procedure [C6Mart].[PL_D2_S170RischioDiversificazione]--'F','05228020268' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @contaCCSelf as int + select @contaCCSelf = count(*) + from C6MART.patrimonio_Bf + where tipo_prodotto = 'CC' or isin in('EURO00000009', 'EURO10000007' ) and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from C6MART.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6mart.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6mart.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + -- Complessità + declare @maxComplessita as int + select @maxComplessita = max(compl_base) from [C6Mart].[TB_S180ProdottiComplessitaAlta] + where + cod_fiscale like + CASE when @CodiceFiscale like '%FF@%'THEN '%%' + ELSE @CodiceFiscale + END + and codman = + CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) + ELSE '' + END + and rete= @Rete + -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata + and compl_base <> 10 + -- +SELECT + K.COD_FISCALE, + K.RETE, + CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 + END AS CTV_AGGREG, + K.CREDITRISK, +CASE + WHEN (@contaPOS - @contaCCSelf = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contaCCSelf <> 0 THEN 'n.c.' ELSE NULL END +as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contaCCSelf <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (@contaPOS - @contaCCSelf = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' when k.rete = 'S' then 'Sanpaolo Invest' else 'IW Private Inv.' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +------------------------ MIFID2 - 20180711 +case @maxComplessita + when 0 then 'Non complesso' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + else 'n.c.' +end +as complessita, +------------------------- FINE MIFID2 - 20180711 +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM C6MART.RISCHIO_AGGREGATO K +left outer JOIN C6MART.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete +left outer join C6MART.CODIFICA_RISCHIO b + ON A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D2_S170RischioDiversificazione] Script Date: 08/02/2022 17:23:55 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- [C6Mart].[PL_D_S170RischioDiversificazione] 'S','02148400126' +---- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +--ALTER procedure [C6Mart].[PL_D2_S170RischioDiversificazione] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- declare @contaCCSelf as int +-- select @contaCCSelf = count(*) +-- from C6MART.patrimonio_Bf +-- where tipo_prodotto = 'CC' or isin in('EURO00000009', 'EURO10000007' ) and cod_fiscale = @codiceFiscale and rete = @rete +-- declare @contaPOS as int +-- select @contaPOS = count(*) +-- from C6MART.patrimonio_Bf +-- where cod_fiscale = @codiceFiscale and rete = @rete +-- declare @ctvbf as decimal(12,2) +-- SELECT @ctvbf = isnull(sum(ctv),0) FROM c6mart.patrimonio_bf +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +-- declare @ctvterzi as decimal (12,2) +-- SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6mart.patrimonio_terzi +-- where cod_fiscale = @CodiceFiscale +-- and rete= @Rete +-- and CTV > 0 +-- -- Complessità +-- declare @maxComplessita as int +-- select @maxComplessita = max(compl_base) from [C6Mart].[TB_S180ProdottiComplessitaAlta] +-- where +-- cod_fiscale like +-- CASE when @CodiceFiscale like '%FF@%'THEN '%%' +-- ELSE @CodiceFiscale +-- END +-- and codman = +-- CASE when @CodiceFiscale like '%FF@%' THEN substring(@CodiceFiscale, 4,len(@CodiceFiscale)-3) +-- ELSE '' +-- END +-- and rete= @Rete +-- -- 20180703 bisogna escludere l'eventuale compl_base = 10, che non verrebbe decodificata +-- and compl_base <> 10 +-- -- +--SELECT +-- K.COD_FISCALE, +-- K.RETE, +-- CASE +-- when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf +-- when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi +-- when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi +-- else 0 +-- END AS CTV_AGGREG, +-- K.CREDITRISK, +--CASE +-- WHEN (@contaPOS - @contaCCSelf = 0) THEN 0 +-- ELSE VAR_PERC_PTF +--END AS VAR, +--CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contaCCSelf <> 0 THEN 'n.c.' ELSE NULL END +--as varString, +--CASE +-- WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contaCCSelf <> 0 +-- --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' +-- ELSE null +--END AS coperturaString, +--beneficio as diversificazione, +--CASE +-- WHEN (@contaPOS - @contaCCSelf = 0) THEN 100 +-- ELSE COPERTURA +--END AS COPERTURA, +--case +--when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +--when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +--ELSE '' +--END AS PATRIMONIO, +--case +-- when b.profilo is null then -1 +-- else b.profilo +--end as profiloCode, +--b.max_var as var_profilo, +-------------------------- MIFID2 - 20180711 +--case @maxComplessita +-- when 0 then '-' +-- when 1 then 'Minima' +-- when 2 then 'Bassa' +-- when 3 then 'Media' +-- when 4 then 'Alta' +-- when 5 then 'Molto alta' +-- else '-' +--end +--as complessita, +--------------------------- FINE MIFID2 - 20180711 +----V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +----V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +--case +--when cod_Aggreg = 'COMPLESSIVO' then 3 +--when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +--when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +--ELSE '' +--END AS Ordine +--FROM C6MART.RISCHIO_AGGREGATO K +--left outer JOIN C6MART.mifid a +-- ON k.cod_fiscale = a.cod_fiscale and +-- k.rete = a.rete +--left outer join C6MART.CODIFICA_RISCHIO b +-- ON A.PROFILO_ASS=B.PROFILO +--WHERE +----A.PROFILO_ASS=B.PROFILO +----AND K.RETE=A.RETE +----AND K.COD_FISCALE= A.COD_FISCALE +--COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +--AND k.COD_FISCALE = @COdiceFISCALE +--AND k.RETE= @RETE +--ORDER BY ordine +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql b/sql/storedTestbes/C6Mart_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..8ea6386f --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,158 @@ +-- ============================================= +-- Author: +-- Create date: 30/08/2013 +-- Description: uguale a S76 +-- ============================================= +--[C6Mart].[PL_D_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +CREATE procedure [C6Mart].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Fideuram' + ELSE if @RETE ='S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario, + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + --INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <> 0.00 + --INIZIO INTERVENTI OMNIA + UNION ALL + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario, + patrbf.tipo_prodotto as Tipo_Prodotto, + NULL as isAPC + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MART.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO , + patrbf.tipo_prodotto --as Tipo_Prodotto + ORDER BY CONTROVALORE DESC +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] Script Date: 08/02/2022 16:46:45 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: 30/08/2013 +---- Description: uguale a S76 +---- ============================================= +----[C6Mart].[PL_D_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +--ALTER procedure [C6Mart].[PL_D2_S171PatrimonioNonRappresentabileAssettClass] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @RETE = 'F' +-- SET @NOMERETE = 'Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- PATRBF.CTV as Controvalore, +-- PATRBF.CTV as controvalore_contratto, +-- PATRBF.PARTVIA_DISINV as PartitaViaggiante, +-- @NOMERETE as Intermediario, +-- patrbf.tipo_prodotto as Tipo_Prodotto +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO <> 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- --INIZIO INTERVENTI OMNIA +-- AND PATRBF.CTV <> 0.00 +-- --INIZIO INTERVENTI OMNIA +-- UNION ALL +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- SUM(ASUL.CTV) as Controvalore, +-- MAX(PATRBF.CTV) as controvalore_contratto, +-- SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +-- @NOMERETE as Intermediario, +-- patrbf.tipo_prodotto as Tipo_Prodotto +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN C6MART.DETTAGLIO_ASUL ASUL +-- ON PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- GROUP BY +-- PATRBF.ID_CONTRATTO, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , +-- ANAGP.DESCR_PRODOTTO , +-- patrbf.tipo_prodotto --as Tipo_Prodotto +-- ORDER BY CONTROVALORE DESC +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D3_FD151ProfiloDiRischio.sql b/sql/storedTestbes/C6Mart_PL_D3_FD151ProfiloDiRischio.sql new file mode 100644 index 00000000..f8ff37f2 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D3_FD151ProfiloDiRischio.sql @@ -0,0 +1,71 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D3_FD151ProfiloDiRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenzaProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @descrizioneProfilo VARCHAR(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza VARCHAR(100) + DECLARE @riserva decimal(13,2) + DECLARE @inv_l_p decimal(5,2) + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenzaProfilo = M.DATA_FINE_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + else '-' + end, + @riserva=m.importoriserva, + @inv_l_p=m.perclungoperiodo + FROM + C6MART.MIFID AS M + INNER JOIN C6MART.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (convert(datetime, @dataScadenzaProfilo)) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as descrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as DescrizioneEsperienza, + @riserva as Riserva, + @inv_l_p as Inv_L_P +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D3_S151ProfiloDiRischio.sql b/sql/storedTestbes/C6Mart_PL_D3_S151ProfiloDiRischio.sql new file mode 100644 index 00000000..dfd485c7 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D3_S151ProfiloDiRischio.sql @@ -0,0 +1,72 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D3_S151ProfiloDiRischio] --'F','LVTPLA70C62C523L' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenzaProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @descrizioneProfilo VARCHAR(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza VARCHAR(100) + DECLARE @riserva decimal(13,2) + DECLARE @inv_l_p decimal(5,2) + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenzaProfilo = M.DATA_FINE_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + --when 5 then 'Alta' + else '-' + end, + @riserva=m.importoriserva, + @inv_l_p=m.perclungoperiodo + FROM + C6MART.MIFID AS M + INNER JOIN C6MART.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (convert(datetime, @dataScadenzaProfilo)) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as descrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as DescrizioneEsperienza, + @riserva as Riserva, + @inv_l_p as Inv_L_P +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql b/sql/storedTestbes/C6Mart_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql new file mode 100644 index 00000000..ce752d12 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_FD177ProfiloDiRischio_Adeguatezza.sql @@ -0,0 +1,68 @@ +--[C6Mart].[PL_D_S177ProfiloDiRischio_Adeguatezza] 'F', 'DVTMRA58B09F839W' +CREATE procedure [C6Mart].[PL_D_FD177ProfiloDiRischio_Adeguatezza] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenza DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + declare @descrizioneProfilo varchar(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @riskclassDescr VARCHAR(250) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza varchar(20) + DECLARE @riserva decimal(13,2) + DECLARE @inv_l_p decimal(5,2) + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenza = M.DATA_FINE_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + else '-' + end, + @riserva=isnull(importoriserva,0.00), + @inv_l_p=isnull(perclungoperiodo,0.00)--@inv_l_p='58.00' + FROM + C6Mart.MIFID AS M + INNER JOIN C6Mart.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + -- RICERCA DATA FINE VALIDITA' + declare @dtfinval decimal(9,0) + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (@dataScadenza) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as DescrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as descrizioneEsperienza, + @riserva as riserva, + @inv_l_p as investimento_l_periodo +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_FD178IndicatoriEsitoAdeguatezza.sql b/sql/storedTestbes/C6Mart_PL_D_FD178IndicatoriEsitoAdeguatezza.sql new file mode 100644 index 00000000..a941150e --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_FD178IndicatoriEsitoAdeguatezza.sql @@ -0,0 +1,128 @@ +--[C6Mart].[PL_D_S178IndicatoriEsitoAdeguatezza] 'F', 'MTTSRA00H61D704A' +CREATE procedure [C6Mart].[PL_D_FD178IndicatoriEsitoAdeguatezza] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +------- PARTE FINTA DA ELIMINARE +--declare @flagProf varchar(1) +--select @flagProf = TipoConsulenza from c6mart.vContratti where Rete = @Rete and Cod_Fiscale = @CodiceFiscale +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Il livello di concentrazione degli emittenti presenti nel suo portafoglio è ADEGUATO in quanto tutti gli emittenti sono presenti in misura inferiore rispetto ai limiti stabiliti dalla Banca.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 3; +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'La complessità dei singoli strumenti detenuti nel suo portafoglio è ADEGUATA in quanto coerente con il suo livello di esperienza e conoscenza in materia di investimenti.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 4; +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Il livello di concentrazione di prodotti complessi nel suo portafoglio è ADEGUATO in quanto inferiore al limite massimo stabilito dalla Banca e coerente rispetto al patrimonio minimo di portafoglio amministrato.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 5; +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Il numero delle operazioni effettuate è ADEGUATO in quanto inferiore rispetto ai limiti stabiliti dalla Banca in base all’entità del portafoglio amministrato e al suo livello di esperienza e conoscenza in materia d’investimenti.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 6; +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Le caratteristiche di durata e liquidità dei prodotti presenti nel suo portafoglio sono ADEGUATE in quanto coerenti con la ripartizione del patrimonio negli orizzonti temporali indicata nel questionario di profilatura.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 7; +--if @flagProf = 'P' +-- begin +-- select +-- ti_ordine as Ordine, +-- ti_indicatore as Indicatore, +-- ti_adeguato as Adeguato, +-- ti_descrizione as DescrizioneEsito +-- from #TABELLAINDICATORI +-- where ti_ordine in (1, 2, 3, 7) +-- end +--else +-- begin +-- select +-- ti_ordine as Ordine, +-- ti_indicatore as Indicatore, +-- ti_adeguato as Adeguato, +-- ti_descrizione as DescrizioneEsito +-- from #TABELLAINDICATORI +-- end +exec [C6Mart].[Decodifica_Concentrazione_Prodotti_Complessi] @rete,@codicefiscale + declare @flagProf varchar(1) + select @flagProf = TipoConsulenza from c6mart.vContratti where Rete = @Rete and Cod_Fiscale = @CodiceFiscale + select * + into #res + from ( + select + 1 as Ordine, + 'Rischio' as Indicatore, + convert(varchar(5), RM_ADEGUATEZZA_INDICATORE) as Adeguato, + RM_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 2 as Ordine, + 'Riserva' as Indicatore, + convert(varchar(5), RS_ADEGUATEZZA_INDICATORE) as Adeguato, + RS_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 3 as Ordine, + 'Investimento di Lungo Periodo' as Indicatore, + convert(varchar(5), TH_ADEGUATEZZA_INDICATORE) as Adeguato, + TH_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 4 as Ordine, + 'Complessità' as Indicatore, + convert(varchar(5), CM_ADEGUATEZZA_INDICATORE) as Adeguato, + CM_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 5 as Ordine, + 'Concentrazione in prodotti complessi' as Indicatore, + convert(varchar(5), CC_ADEGUATEZZA_INDICATORE) as Adeguato, + CC_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 6 as Ordine, + 'Frequenza delle operazioni' as Indicatore, + convert(varchar(5), FQ_ADEGUATEZZA_INDICATORE) as Adeguato, + FQ_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 7 as Ordine, + 'Concentrazione Emittenti' as Indicatore, + convert(varchar(5), CE_ADEGUATEZZA_INDICATORE) as Adeguato, + CE_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 8 as Ordine, + 'Concentrazione Valutaria' as Indicatore, + convert(varchar(5), CV_ADEGUATEZZA_INDICATORE) as Adeguato, + CV_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + ) a + --if @flagProf = 'P' + -- select * from #res where ordine in (1, 2, 3, 7) + --else + select * from #res + --drop table #res +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S150Anagrafica.sql b/sql/storedTestbes/C6Mart_PL_D_S150Anagrafica.sql new file mode 100644 index 00000000..587be6af --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S150Anagrafica.sql @@ -0,0 +1,91 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S150Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + --V Indirizzo Secondo AULETTA + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_INZIOAVANZATO) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + null AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + CONTRATTOSEI.[Provincia] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.VCONTRATTI AS CONTRATTOSEI -- TABELLA BASE + INNER JOIN + C6MART.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MART.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + LEFT JOIN + C6MART.ANAG_CLIENTI_PREV + ON + ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + LEFT JOIN + C6MART.DATI_REPORT + ON + ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + WHERE 1 = 1 + AND ANAG_CLIENTI.RETE = @RETE + AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S151ProfiloDiRischio.sql b/sql/storedTestbes/C6Mart_PL_D_S151ProfiloDiRischio.sql new file mode 100644 index 00000000..6fb8ae06 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S151ProfiloDiRischio.sql @@ -0,0 +1,48 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S151ProfiloDiRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6MART.MIFID AS M + INNER JOIN C6MART.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskclass, + @experience as experince +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S152Patrimonio.sql b/sql/storedTestbes/C6Mart_PL_D_S152Patrimonio.sql new file mode 100644 index 00000000..803b3563 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S152Patrimonio.sql @@ -0,0 +1,87 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S152Patrimonio] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT + @PatrimonioBF = SUM(CTV) + FROM + C6MART.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area <> 'CC' --escludo il cc negativo +-- SELECT @Part_viaggianti=SUM(IMPORTO) +-- FROM C6MART.PARTITE_VIAGGIANTI partvia +-- WHERE +-- partvia.Rete = @Rete +-- and partvia.Cod_Fiscale = @CodiceFiscale + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6MART.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6MART.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + SELECT + @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM + C6MART.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM + C6MART.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT + @PatrimonioAltro = SUM(patrAltro.ctv) + FROM + C6MART.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + SELECT + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S153PatrimonioFinanziario.sql b/sql/storedTestbes/C6Mart_PL_D_S153PatrimonioFinanziario.sql new file mode 100644 index 00000000..00dab389 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S153PatrimonioFinanziario.sql @@ -0,0 +1,147 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S153PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + DECLARE @NOMERETE VARCHAR(30) + --IF @Rete = 'F' + --SET @NOMERETE = 'Banca Fideuram' + --ELSE + --SET @NOMERETE = 'Sanpaolo Invest' + IF @Rete = 'F' + SET @NOMERETE = 'Banca Fideuram' + ELSE IF @Rete = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE + SET @NOMERETE = 'IW Private Investments' + SELECT + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Intermediario, + Ordine, + @NOMERETE AS Banca, + -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv + SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine)) / + (SUM(ctv) over (partition by 'Totale')) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + @NOMERETE AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MART.PATRIMONIO_BF patrBF +-- LEFT JOIN C6MART.ClientiConCCNegativo CCNegativo +-- ON PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- AND PATRBF.TIPO_PRODOTTO = 'CC' + WHERE 1 = 1 + AND patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO + and patrBF.id_area <> 'cc' + UNION ALL + SELECT + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MART.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + AND patrTerzi.Rete = @Rete + AND patrTerzi.Cod_Fiscale = @CodiceFiscale + GROUP BY patrTerzi.Intermediario + ) PATR + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D_S153PatrimonioFinanziario] Script Date: 08/02/2022 17:19:22 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +--ALTER procedure [C6Mart].[PL_D_S153PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @Rete = 'F' +-- SET @NOMERETE = 'Banca Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- Intermediario, +-- Ordine, +-- Banca, +-- Controvalore, +-- round(Percentuale,2) as Percentuale +-- FROM +-- ( +-- SELECT DISTINCT +-- Intermediario, +-- Ordine, +-- @NOMERETE AS Banca, +-- -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv +-- SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, +-- ( +-- (SUM(ctv) over (partition by Intermediario,Ordine)) / +-- (SUM(ctv) over (partition by 'Totale')) +-- ) * 100 AS PERCENTUALE +-- FROM +-- ( +-- SELECT +-- @NOMERETE AS Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 1 AS ordine +-- FROM C6MART.PATRIMONIO_BF patrBF +---- LEFT JOIN C6MART.ClientiConCCNegativo CCNegativo +---- ON PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- AND PATRBF.TIPO_PRODOTTO = 'CC' +-- WHERE 1 = 1 +-- AND patrBF.Rete = @Rete +-- AND patrBF.Cod_Fiscale = @CodiceFiscale +-- --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO +-- and patrBF.id_area <> 'cc' +-- UNION ALL +-- SELECT +-- Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 2 AS ordine +-- FROM C6MART.PATRIMONIO_TERZI patrTerzi +-- WHERE 1 = 1 +-- AND patrTerzi.Rete = @Rete +-- AND patrTerzi.Cod_Fiscale = @CodiceFiscale +-- GROUP BY patrTerzi.Intermediario +-- ) PATR +-- ) A +-- WHERE CONTROVALORE IS NOT NULL +-- ORDER BY Ordine +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S154PatrimonioFinanziario.sql b/sql/storedTestbes/C6Mart_PL_D_S154PatrimonioFinanziario.sql new file mode 100644 index 00000000..43d208fb --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S154PatrimonioFinanziario.sql @@ -0,0 +1,316 @@ +-- Stored procedure +-- ============================================= +-- Author: Luca De Lisio +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_DT_S154PatrimonioFinanziario] 'F','LNTNNE59L06F205C' +CREATE procedure [C6Mart].[PL_D_S154PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SELECT + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + --CASE @Rete + --WHEN 'S' THEN 'Sanpaolo Invest' + --ELSE 'Banca Fideuram' + --END AS Banca, + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Banca Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + --PRODOTTI BF ESCLUSI GLI ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.PATRIMONIO_BF PATRBF + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MART.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + --DETTAGLIO ASUL SENZA SKANDIA + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --CON SKANDIA + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MART.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D_S154PatrimonioFinanziario] Script Date: 08/02/2022 17:20:52 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: Luca De Lisio +---- Create date: +---- Description: +---- ============================================= +----[C6Mart].[PL_DT_S154PatrimonioFinanziario] 'F','LNTNNE59L06F205C' +--ALTER procedure [C6Mart].[PL_D_S154PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +--SELECT +-- A.Banca, +-- A.Ordinamento, +-- A.AssetClassId, +-- A.AssetClassName, +-- cast(A.Controvalore as decimal(19,6)) Controvalore, +-- A.Percentuale, +-- cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +--FROM +--( +-- SELECT DISTINCT +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Banca Fideuram' +-- END AS Banca, +-- ASSETCLASS.ORDINAMENTO AS Ordinamento, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') +-- ) * 100 AS Percentuale +-- FROM ( +-- --PRODOTTI BF ESCLUSI GLI ASUL +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- and patrbf.id_area <> 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +---- SELECT +---- ASSETPERC.ID_ASSETCLASS, +---- PATRBF.CTV*ASSETPERC.PERC as Controvalore +---- FROM +---- C6MART.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MART.ASSET_PERC ASSETPERC +---- ON +---- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +---- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +---- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN +---- C6MART.ClientiConCCNegativo CCNegativo +---- ON +---- PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- WHERE +---- --ELIMINO I CC CON SALDO NEGATIVO +---- PATRBF.TIPO_PRODOTTO = 'CC' +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- AND CCNegativo.Cod_Fiscale IS NULL +---- UNION ALL +-- --DETTAGLIO ASUL SENZA SKANDIA +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --CON SKANDIA +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MART.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MART.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MART.PATRIMONIO_TERZI PATRTERZI +-- LEFT OUTER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI NON A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MART.PATRIMONIO_TERZI PATRTERZI +-- LEFT OUTER JOIN +-- C6MART.ASSET_PERC_TERZI ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6MART.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--ORDER BY A.ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S155PatrimonioImmobiliare.sql b/sql/storedTestbes/C6Mart_PL_D_S155PatrimonioImmobiliare.sql new file mode 100644 index 00000000..997a27c5 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S155PatrimonioImmobiliare.sql @@ -0,0 +1,21 @@ +CREATE procedure [C6Mart].[PL_D_S155PatrimonioImmobiliare] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + SELECT + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + FROM C6MART.PATRIMONIO_IMMOBILIARE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S156ALtroPatrimonio.sql b/sql/storedTestbes/C6Mart_PL_D_S156ALtroPatrimonio.sql new file mode 100644 index 00000000..741b91cb --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S156ALtroPatrimonio.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S156ALtroPatrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + SELECT + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM + C6MART.PATRIMONIO_ALTRO + WHERE + PATRIMONIO_ALTRO.RETE = @Rete + AND PATRIMONIO_ALTRO.COD_FISCALE = @CodiceFiscale + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S157ConfrontoPiramidi.sql b/sql/storedTestbes/C6Mart_PL_D_S157ConfrontoPiramidi.sql new file mode 100644 index 00000000..356f8dd0 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S157ConfrontoPiramidi.sql @@ -0,0 +1,203 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6MART].[PL_D_S157ConfrontoPiramidi] 'F','FSLMSV46E05G999S' +CREATE procedure [C6Mart].[PL_D_S157ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MART.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + LEFT(ID_AREA,3) AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MART.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc') + --V + DECLARE @TOTCC AS INT + SELECT @TOTCC = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND TIPO_PRODOTTO = 'Cc' + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCC = @TOT THEN 0.00 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + WHEN (@TOTCC <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'n.c.' + --V SOLO CC -> VAR = 0 + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCC = @TOT THEN NULL + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCC = @TOT THEN NULL + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MART.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + END + ) + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S158PiramideModello.sql b/sql/storedTestbes/C6Mart_PL_D_S158PiramideModello.sql new file mode 100644 index 00000000..3673dae9 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S158PiramideModello.sql @@ -0,0 +1,54 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_D_S158PiramideModello] 'F','DGSNNZ38T22E435S' +CREATE procedure [C6Mart].[PL_D_S158PiramideModello] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + --SELECT BF.NOME_PROGETTO AS NomePrg, + -- PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + -- AGGR.VAR_PERC_PTF as VarPrg, + -- SUM(BF.CTV)AS ControvalorePrg + --FROM C6Mart.PATRIMONIO_BF BF + --INNER JOIN C6Mart.RISCHIO_AGGREGATO AGGR + -- ON BF.RETE= AGGR.RETE + -- AND BF.COD_FISCALE= AGGR.COD_FISCALE + -- AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO + --INNER JOIN C6Mart.PIRAMIDE_MOD PIRMOD + -- ON BF.RETE= PIRMOD.RETE + -- AND BF.COD_FISCALE= PIRMOD.COD_FISCALE + -- AND BF.ID_AREA = PIRMOD.ID_AREA + -- AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + --WHERE 1=1 + --AND BF.ID_AREA = 'inv' + --AND BF.RETE = @Rete + --AND BF.COD_FISCALE = @CodiceFiscale + --AND BF.CTV > 0 + --group BY BF.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,AGGR.VAR_PERC_PTF + SELECT + PIRMOD.NOME_PROGETTO AS NomePrg, + PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + ISNULL(T.VAR_PERC_PTF,0) as VarPrg, + ISNULL(SUM(T.CTV),0) AS ControvalorePrg + FROM C6Mart.PIRAMIDE_MOD PIRMOD + LEFT JOIN + (SELECT BF.RETE, BF.COD_FISCALE,BF.ID_AREA,BF.NOME_PROGETTO,AGGR.VAR_PERC_PTF,BF.CTV FROM C6Mart.PATRIMONIO_BF BF + INNER JOIN C6Mart.RISCHIO_AGGREGATO AGGR + ON BF.RETE= AGGR.RETE + AND BF.COD_FISCALE= AGGR.COD_FISCALE + AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO) T + ON PIRMOD.ID_AREA = T.ID_AREA + AND PIRMOD.COD_FISCALE = T.COD_FISCALE + AND PIRMOD.RETE = T.RETE + AND PIRMOD.NOME_PROGETTO = T.NOME_PROGETTO + WHERE + PIRMOD.ID_AREA = 'inv' + AND T.CTV > 0 + AND PIRMOD.RETE = @Rete + AND PIRMOD.COD_FISCALE = @CodiceFiscale + GROUP BY PIRMOD.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,T.VAR_PERC_PTF +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S159PatrimonioFinanziario.sql b/sql/storedTestbes/C6Mart_PL_D_S159PatrimonioFinanziario.sql new file mode 100644 index 00000000..10abe279 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S159PatrimonioFinanziario.sql @@ -0,0 +1,118 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + CREATE procedure [C6Mart].[PL_D_S159PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(19,5)) AS Controvalore, + cast(A.Percentuale as decimal(19,5)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Banca Fideuram' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.PATRIMONIO_BF PATRBF + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- LEFT OUTER JOIN +-- C6MART.ClientiConCCNegativo CCNegativo +-- ON +-- PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- PATRBF.TIPO_PRODOTTO = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MART.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S160DettaglioProdottiBF.sql b/sql/storedTestbes/C6Mart_PL_D_S160DettaglioProdottiBF.sql new file mode 100644 index 00000000..39a018b7 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S160DettaglioProdottiBF.sql @@ -0,0 +1,192 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- cast(C6Mart.ANAG_CC.SALDO as decimal(15,2)) as Controvalore +-- [C6Mart].[PL_S43DettaglioProdottiBF] 'F', 'GFFSLL50T44F205Z' +--SELECT * FROM PATR1 +CREATE procedure [C6Mart].[PL_D_S160DettaglioProdottiBF] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT +PATRBF.NOME_PROGETTO AS EE, PATRBF.ID_AREA, +CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID AS TMP, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA + END AS needarea, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS versato_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' + THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS MinusPlusValenza_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenza_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL + END AS somma_var_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL + END AS somma_copertura_need_prog, + cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c.') AS var_needareaString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_AREA.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_AREA.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END as var_needareaString, + CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL(5,2)) AS copertura_needarea, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 + --Valerio danilo THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE NULL + END AS copertura_needareaString, + RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, + --CASE WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as var_need_progString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END as var_need_progString, + RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATRBF.CTV AS Controvalore, + PATRBF.VERSATO_NETTO AS VersatoNetto, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, + PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +-- RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, +---- CASE WHEN ISNULL(RISCHIO_PROD.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as varProdottoString, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as varProdottoString, + case when (patrbf.tipo_prodotto ='CC') then 0.00 + else RISCHIO_PROD.VAR_PERC_PTF + end AS VaRprodotto, + CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, + RISCHIO_PROD.Copertura AS Coperturaprodotto, + PATRBF.REND_ANNO AS PerformanceYTD, + PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, + PARTVIA_DISINV AS partitaViaggiante, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 THEN '*' + ELSE NULL + END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM C6MART.PATRIMONIO_BF PATRBF +INNER JOIN C6MART.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN AREA.ID_AREA = 'Na' THEN 'RISORSENONASSOCIATE|' +-- ELSE + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL)-- AND (LEFT(PATRBF.ID_AREA,3)<>'Na' Or PATRBF.NOME_PROGETTO <> 'Default') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = + case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 +--Bido + --AND ( + --PATRBF.CTV > 0 + --OR ( PATRBF.CTV < 0 AND patrbf.tipo_prodotto = 'cc' ) + --) +-- +ORDER BY AREASORTORDER, nome_progetto, PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S162DettaglioProdotti.sql b/sql/storedTestbes/C6Mart_PL_D_S162DettaglioProdotti.sql new file mode 100644 index 00000000..f2eff0b4 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S162DettaglioProdotti.sql @@ -0,0 +1,98 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S162DettaglioProdotti] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6MART.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOAGGREG + ON + PATRTERZI.RETE = RISCHIOAGGREG.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGREG.COD_FISCALE + AND RISCHIOAGGREG.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + WHERE 1 = 1 + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.DESCR_GRUPPO_PRODOTTO IS NOT NULL + ORDER BY + OrdinamentoProdotti, + Controvalore DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S163PatrimonioFinanziarioMAssetClass.sql b/sql/storedTestbes/C6Mart_PL_D_S163PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..1356f343 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S163PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,61 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S163PatrimonioFinanziarioMAssetClass] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT DISTINCT + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN C6MART.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + ORDER BY + ASSETCLASS.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S164PolizzeAltriIstituti.sql b/sql/storedTestbes/C6Mart_PL_D_S164PolizzeAltriIstituti.sql new file mode 100644 index 00000000..3dc9c1c9 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S164PolizzeAltriIstituti.sql @@ -0,0 +1,31 @@ +-- ============================================= +-- Author: Marco Gentilezza +-- Create date: +-- Description: +-- ============================================= +--C6Mart.PL_D_S164PolizzeAltriIstituti 'S', 'VGNVLR52C31G702Z' +CREATE procedure [C6Mart].[PL_D_S164PolizzeAltriIstituti] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + isnull(PATRTERZI.VERSATO_NETTO, 0) AS AmmontareVersamento + FROM + C6MART.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MART.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' + WHERE PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S165FondiAltriIstituti.sql b/sql/storedTestbes/C6Mart_PL_D_S165FondiAltriIstituti.sql new file mode 100644 index 00000000..ab02fcfc --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S165FondiAltriIstituti.sql @@ -0,0 +1,62 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S165FondiAltriIstituti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + FROM + C6MART.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MART.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + WHERE + PATRTERZI.rete = @Rete + and PATRTERZI.cod_fiscale = @CodiceFiscale + --AND PATRTERZI.TIPO_PRODOTTO = 'Fondi pensione' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S166ContoCorrenteAI.sql b/sql/storedTestbes/C6Mart_PL_D_S166ContoCorrenteAI.sql new file mode 100644 index 00000000..0418a6dc --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S166ContoCorrenteAI.sql @@ -0,0 +1,23 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_D_S166ContoCorrenteAI] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + CCTerzi.INTERMEDIARIO AS Intermediario, + CCTerzi.COD_CC AS ContoCorrente, + CCTerzi.SALDO AS Saldo, + null as creditrisk, + 'n.a.' as creditriskstring, + 0.00 as var + FROM + C6MART.ANAG_CC_Terzi CCTerzi + WHERE + CCTerzi.rete= @Rete + AND CCTerzi.cod_fiscale= @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S167DistribuzioneRischioCredito.sql b/sql/storedTestbes/C6Mart_PL_D_S167DistribuzioneRischioCredito.sql new file mode 100644 index 00000000..c08d92b0 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S167DistribuzioneRischioCredito.sql @@ -0,0 +1,613 @@ +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_D_S167DistribuzioneRischioCredito] 'F','BRGGRL48H52G096C' +CREATE procedure [C6Mart].[PL_D_S167DistribuzioneRischioCredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Banca Fideuram', 'Sanpaolo Invest', 'IW Private Investments') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' WHEN PATRBF.RETE = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS INTERMEDIARIO, +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MART.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MART.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' WHEN PATRBF.RETE = 'S' THEN 'SANPAOLO' ELSE 'IWPRIVATEINVESTMENTS' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +'Altri Istituti' AS INTERMEDIARIO, +--PATRTERZI.INTERMEDIARIO, +--SUM(CTV) AS CTV +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MART].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' AND CTV > 0 THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CTV) AS CTV +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MART].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D_S167DistribuzioneRischioCredito] Script Date: 08/02/2022 16:13:29 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Authors: +---- Create date: +---- Description: +---- ============================================= +---- [C6Mart].[PL_D_S167DistribuzioneRischioCredito] 'F','BRGGRL48H52G096C' +--ALTER procedure [C6Mart].[PL_D_S167DistribuzioneRischioCredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +----QUERY PER INTERMEDIARIO +--SELECT +--RETE, +--COD_FISCALE, +--INTERMEDIARIO, +--CASE WHEN INTERMEDIARIO IN ( 'Banca Fideuram', 'Sanpaolo Invest') THEN 1 +-- ELSE 2 END AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +-- -- Start 1.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--CASE WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +--FROM +--[C6MART].PATRIMONIO_BF PATRBF +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_BF +--where id_Area='Cc' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +----INNER JOIN C6MART.CODIFICA_CREDITRISK CR +--LEFT outer JOIN C6MART.CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END, +--CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +----- End 1.1 +--UNION ALL +---- Start 1.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--'Altri Istituti' AS INTERMEDIARIO, +----PATRTERZI.INTERMEDIARIO, +----SUM(CTV) AS CTV +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6MART].PATRIMONIO_TERZI PATRTERZI +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--PATRTERZI.INTERMEDIARIO, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 1.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE, +--INTERMEDIARIO +---------- +--UNION ALL +------------- +----QUERY TOTALE +--SELECT +--RETE, +--COD_FISCALE, +--'Complessivo' AS INTERMEDIARIO, +--3 AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS ='NA' AND CTV > 0 THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +----- Start 2.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +--FROM +--[C6MART].PATRIMONIO_BF PATRBF +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_BF +--where id_Area='Cc' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +--left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 2.1 +--UNION ALL +---- Start 2.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +----SUM(CTV) AS CTV +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6MART].PATRIMONIO_TERZI PATRTERZI +--left outer join +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +----- End 2.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S168TabellaEmittenti.sql b/sql/storedTestbes/C6Mart_PL_D_S168TabellaEmittenti.sql new file mode 100644 index 00000000..6555144a --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S168TabellaEmittenti.sql @@ -0,0 +1,396 @@ +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6Mart].[PL_D_S168TabellaEmittenti] 'F','FF@7181' +CREATE procedure [C6Mart].[PL_D_S168TabellaEmittenti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS, + RATING + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +--RATING as RATING +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +--RATING as RATING +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V +LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS, +RATING +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10 +--RATING +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S169RischiomercatoRischiocredito.sql b/sql/storedTestbes/C6Mart_PL_D_S169RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..7c9266d1 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S169RischiomercatoRischiocredito.sql @@ -0,0 +1,448 @@ +CREATE procedure [C6Mart].[PL_D_S169RischiomercatoRischiocredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + C6MART.patrimonio_bf PATRBF,C6MART.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.cod_fiscale = @codiceFiscale + and PATRBF.rete= @rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + C6MART.PATRIMONIO_TERZI TERZI,C6MART.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.cod_fiscale =@codiceFiscale + and TERZI.rete=@rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + C6MART.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN C6MART.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + C6MART.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Banca Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'W' then 'Patrimonio IW Private Inv.' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + C6MART.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + C6MART.PATRIMONIO_TERZI TERZI + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + C6MART.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN C6MART.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + C6MART.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + C6MART.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D_S169RischiomercatoRischiocredito] Script Date: 08/02/2022 16:28:29 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +--ALTER procedure [C6Mart].[PL_D_S169RischiomercatoRischiocredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- PATRBF.INSTITUTENAME, +-- CTV, +-- M.PROFILO_ASS AS CODICEPROFILO, +-- CR.MAX_VAR AS VARMAX, +-- RISK_AGG.VAR_PERC_PTF AS VAR , +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END AS VARSTRING, +-- RISK_AGG.CREDITRISK RISKCLASS, +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END AS RISKCLASSSTRING, +-- ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +----V La copertura viene valorizzata con un valore da 0 da 100 +-- -- CASE +-- -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +---- ELSE +--NULL +---- END +--AS COVERAGESTRING, +-- M.RISKCLASS AS RISKCLASSMAX, +-- round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / +-- -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO +-- CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 +-- THEN 1 +-- ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) +-- END) +-- *100 ,2)AS PERCENTAGE, +-- --V +-- ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, +-- SUM(PATRBF.CTV) AS CTV, +-- --V +-- 1 as ORDINE, +-- RISK_AGG.Ully_perc +-- from +-- C6MART.patrimonio_bf PATRBF,C6MART.RISCHIO_AGGREGATO RISK_AGG +-- where +-- 1=1 +-- and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE +-- and PATRBF.rete= RISK_AGG.rete +-- and PATRBF.cod_fiscale = @codiceFiscale +-- and PATRBF.rete= @rete +-- and PATRBF.CTV > 0 +-- and +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or +-- --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- RISK_AGG.Ully_perc, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END +-- UNION +-- SELECT +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- 'Patrimonio altri Istituti' AS INSTITUTENAME, +-- SUM(ROUND(TERZI.CTV,2)) AS CTV, +-- --V +-- 2 as ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- C6MART.PATRIMONIO_TERZI TERZI,C6MART.RISCHIO_AGGREGATO RISK_AGG +-- where +-- 1=1 +-- and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE +-- and TERZI.rete= RISK_AGG.rete +-- and TERZI.cod_fiscale =@codiceFiscale +-- and TERZI.rete=@rete +-- and TERZI.CTV > 0 +-- and +-- ( +-- --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- GROUP BY +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- RISK_AGG.Ully_perc +-- ) PATRBF +-- LEFT OUTER JOIN +-- C6MART.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN C6MART.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- C6MART.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- C6MART.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- AND +-- (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Banca Fideuram' +-- WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' +-- else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- UNION ALL +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- 'Patrimonio Complessivo' AS INSTITUTENAME, +-- SUM(CTV), +-- MAX(M.PROFILO_ASS) AS CODICEPROFILO, +-- MAX(CR.MAX_VAR) AS VARMAX, +-- MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , +-- MAX( CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END) AS VARSTRING, +-- MAX(RISK_AGG.CREDITRISK) RISKCLASS, +-- MAX( +-- case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END ) +-- AS RISKCLASSSTRING, +-- MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, +-- MAX( CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END) AS COVERAGESTRING, +-- --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, +-- MAX(M.RISKCLASS) AS RISKCLASSMAX, +-- 100 AS PERCENTAGE, +-- --V +-- 3 AS ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- SUM(PATRBF.CTV) AS CTV +-- from +-- C6MART.patrimonio_bf PATRBF +-- where +-- 1=1 +-- and cod_fiscale =@codiceFiscale +-- and rete=@rete +-- and PATRBF.CTV > 0 +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE +-- UNION +-- SELECT +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- SUM(ROUND(TERZI.CTV,2)) AS CTV +-- FROM +-- C6MART.PATRIMONIO_TERZI TERZI +-- where +-- 1=1 +-- and cod_fiscale =@codiceFiscale +-- and rete=@rete +-- and TERZI.CTV > 0 +-- GROUP BY +-- TERZI.RETE, +-- TERZI.COD_FISCALE +-- ) PATRBF +-- LEFT OUTER JOIN +-- C6MART.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN C6MART.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- C6MART.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- C6MART.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO' +-- ) +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- RISK_AGG.Ully_perc +-- --V +-- order by ordine +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S170RischioDiversificazione.sql b/sql/storedTestbes/C6Mart_PL_D_S170RischioDiversificazione.sql new file mode 100644 index 00000000..80d73710 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S170RischioDiversificazione.sql @@ -0,0 +1,86 @@ +-- [C6Mart].[PL_D_S170RischioDiversificazione] 'S','02148400126' +CREATE procedure [C6Mart].[PL_D_S170RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @contaCC as int + select @contaCC = count(*) + from C6MART.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from C6MART.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6mart.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6mart.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 +SELECT + K.COD_FISCALE, + K.RETE, + CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 + END AS CTV_AGGREG, + K.CREDITRISK, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END +as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Banca Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM C6MART.RISCHIO_AGGREGATO K +left outer JOIN C6MART.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete +left outer join C6MART.CODIFICA_RISCHIO b + ON A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql b/sql/storedTestbes/C6Mart_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..bd436950 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S171PatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,144 @@ +-- ============================================= +-- Author: +-- Create date: 30/08/2013 +-- Description: uguale a S76 +-- ============================================= +--[C6Mart].[PL_D_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +CREATE procedure [C6Mart].[PL_D_S171PatrimonioNonRappresentabileAssettClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Banca Fideuram' + ELSE IF @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + UNION ALL + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MART.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO + ORDER BY CONTROVALORE DESC +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_D_S171PatrimonioNonRappresentabileAssettClass] Script Date: 08/02/2022 16:31:51 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: 30/08/2013 +---- Description: uguale a S76 +---- ============================================= +----[C6Mart].[PL_D_S171PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +--ALTER procedure [C6Mart].[PL_D_S171PatrimonioNonRappresentabileAssettClass] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @RETE = 'F' +-- SET @NOMERETE = 'Banca Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- PATRBF.CTV as Controvalore, +-- PATRBF.CTV as controvalore_contratto, +-- PATRBF.PARTVIA_DISINV as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO <> 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- UNION ALL +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- SUM(ASUL.CTV) as Controvalore, +-- MAX(PATRBF.CTV) as controvalore_contratto, +-- SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN C6MART.DETTAGLIO_ASUL ASUL +-- ON PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- GROUP BY +-- PATRBF.ID_CONTRATTO, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , +-- ANAGP.DESCR_PRODOTTO +-- ORDER BY CONTROVALORE DESC +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S177ProfiloDiRischio_Adeguatezza.sql b/sql/storedTestbes/C6Mart_PL_D_S177ProfiloDiRischio_Adeguatezza.sql new file mode 100644 index 00000000..b72fc8ed --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S177ProfiloDiRischio_Adeguatezza.sql @@ -0,0 +1,69 @@ +--[C6Mart].[PL_D_S177ProfiloDiRischio_Adeguatezza] 'F', 'DVTMRA58B09F839W' +CREATE procedure [C6Mart].[PL_D_S177ProfiloDiRischio_Adeguatezza] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @dataScadenza DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + declare @descrizioneProfilo varchar(500) + DECLARE @riskclass VARCHAR(50) + DECLARE @riskclassDescr VARCHAR(250) + DECLARE @experience SMALLINT + declare @descrizioneEsperienza varchar(20) + DECLARE @riserva decimal(13,2) + DECLARE @inv_l_p decimal(5,2) + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @dataScadenza = M.DATA_FINE_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @descrizioneProfilo = ProfiliDiRischio.DescrizioneProfilo, + @riskclass = m.riskclass, + @experience = m.experience, + @descrizioneEsperienza = + case m.experience + when 0 then 'Minimo' + when 1 then 'Basso' + when 2 then 'Medio basso' + when 3 then 'Medio alto' + when 4 then 'Alto' + --when 5 then 'Alta' + else '-' + end, + @riserva=isnull(importoriserva,0.00), + @inv_l_p=isnull(perclungoperiodo,0.00)--@inv_l_p='58.00' + FROM + C6Mart.MIFID AS M + INNER JOIN C6Mart.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + -- RICERCA DATA FINE VALIDITA' + declare @dtfinval decimal(9,0) + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + DBO.TOSHORTDATESTRING (@dataScadenza) as dataScadenzaProfilo, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @descrizioneProfilo as DescrizioneProfilo, + @riskclass as riskclass, + @experience as experince, + @descrizioneEsperienza as descrizioneEsperienza, + @riserva as riserva, + @inv_l_p as investimento_l_periodo +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S178CasiParticolari.sql b/sql/storedTestbes/C6Mart_PL_D_S178CasiParticolari.sql new file mode 100644 index 00000000..01e5746c --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S178CasiParticolari.sql @@ -0,0 +1,90 @@ +-- [C6Mart].[PL_D_S178CasiParticolari] 'F','MTTSRA00H61D704A' +CREATE procedure [C6Mart].[PL_D_S178CasiParticolari] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @Copertura decimal(10,2) + declare @SoloProdottiSenzaAdeguatezza int + declare @SoloCC int + declare @SoloProdottiSenzaAdeguatezzaOrSoloCC int + declare @IDTesto int + set @IDTesto = 0 + ------------------------------------------------------------------------------ CASO 1 COPERTURA = 0 + select @Copertura=copertura + from C6Mart.RISCHIO_AGGREGATO + -- 'COMPLESSIVO|BF' come viene fatto nella PL_D_S157ConfrontoPiramidi per la copertura_tot, campo per l'esposizione della nota sulla coperura sotto la piramide + where cod_aggreg='COMPLESSIVO|BF' + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE +------------------------------------------------------------------------------ FINE CASO 1 +------------------------------------------------------------------------------ CASO 2 SENZA PRODOTTI IN ADEGUATEZZA + -- Controllo se nel Portafoglio c'è solo CC + select rete, cod_fiscale, id_area + into #t1 + from c6mart.patrimonio_bf + where rete = @Rete and cod_fiscale = @CodiceFiscale + group by rete,cod_fiscale, id_area + select rete, cod_fiscale, count(*) as numero + into #t2 + from #t1 + group by rete, cod_fiscale having count(*) = 1 + if exists( + select p.rete, p.cod_fiscale + from c6mart.patrimonio_bf p + inner join #t2 + on p.rete = #t2.rete + and p.cod_fiscale = #t2.cod_fiscale + --where rete + cod_fiscale in (select rete + cod_fiscale from #t2) + where p.id_area = 'liq' + and p.tipo_prodotto = 'cc' + ) + set @soloCC = 1 + else + set @soloCC = 0 + drop table #t1 + drop table #t2 + -- Se le count torna 0 record significa che in ptf ci sono solo prodotti senza adeguatezza + select @SoloProdottiSenzaAdeguatezza= count(*) + from c6mart.patrimonio_bf patr + left join [C6Staging].[Prodotti_Fuori_Adeguatezza] senza + on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto + where patr.rete = @rete + and patr.cod_fiscale = @codicefiscale + and senza.codinterno is null + -- Se si verifica uno dei due casi, imposto la variabile a 1 + if @SoloProdottiSenzaAdeguatezza = 0 or @SoloCC = 1 + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 1 + else + set @SoloProdottiSenzaAdeguatezzaOrSoloCC = 0 +----------------------------------------------------------------------------- FINE CASO 2 +-- CASO 3 COPERTURA = 0 + e ptf con solo PRODOTTI senza ADEGUATEZZA +-- FINE CASO 3 +-- RISULTATO FINALE + if(@Copertura = 0) + begin + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 3 + end + else + begin + set @IDTesto = 1 + end + end + else + --if(@SoloProdottiSenzaAdeguatezza=0) + if(@SoloProdottiSenzaAdeguatezzaOrSoloCC = 1) + begin + set @IDTesto = 2 + end + select ID, Testo + from [C6Mart].[TB_S178CasiParticolari_Testi] + where ID = @IDTesto +-- ********************* PARTE FINTA +--select ID, Testo +-- from [C6Mart].[TB_S178CasiParticolari_Testi] +-- where ID = 0 +end \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S178CasiParticolari_20181220.sql b/sql/storedTestbes/C6Mart_PL_D_S178CasiParticolari_20181220.sql new file mode 100644 index 00000000..17a7a049 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S178CasiParticolari_20181220.sql @@ -0,0 +1,56 @@ +-- [C6Mart].[PL_D_S178CasiParticolari] 'F','MTTSRA00H61D704A' +CREATE procedure [C6Mart].[PL_D_S178CasiParticolari_20181220] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------ CASO 1 COPERTURA = 0 + declare @Copertura decimal(10,2) + declare @SoloProdottiSenzaAdeguatezza int + declare @IDTesto int + set @IDTesto = 0 + select @Copertura=copertura + from C6Mart.RISCHIO_AGGREGATO + -- 'COMPLESSIVO|BF' come viene fatto nella PL_D_S157ConfrontoPiramidi per la copertura_tot, campo per l'esposizione della nota sulla coperura sotto la piramide + where cod_aggreg='COMPLESSIVO|BF' + AND COD_FISCALE = @COdiceFISCALE + and RETE= @RETE +------------------------------------------------------------------------------ FINE CASO 1 +------------------------------------------------------------------------------ CASO 2 SENZA PRODOTTI IN ADEGUATEZZA + -- Se le count torna 0 record significa che in ptf ci sono solo prodotti senza adeguatezza + select @SoloProdottiSenzaAdeguatezza= count(*) + from c6mart.patrimonio_bf patr + left join [C6Staging].[Prodotti_Fuori_Adeguatezza] senza + on patr.cod_interno = senza.codinterno and patr.cod_sottoprodotto=senza.codsottoprodotto + where patr.rete = @rete + and patr.cod_fiscale = @codicefiscale + and senza.codinterno is null +----------------------------------------------------------------------------- FINE CASO 2 +-- CASO 3 COPERTURA = 0 + e ptf con solo PRODOTTI senza ADEGUATEZZA +-- FINE CASO 3 +-- RISULTATO FINALE + if(@Copertura = 0) + begin + if(@SoloProdottiSenzaAdeguatezza=0) + begin + set @IDTesto = 3 + end + else + begin + set @IDTesto = 1 + end + end + else + if(@SoloProdottiSenzaAdeguatezza=0) + begin + set @IDTesto = 2 + end + select ID, Testo + from [C6Mart].[TB_S178CasiParticolari_Testi] + where ID = @IDTesto +-- ********************* PARTE FINTA +--select ID, Testo +-- from [C6Mart].[TB_S178CasiParticolari_Testi] +-- where ID = 0 +end \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S178IndicatoriEsitoAdeguatezza.sql b/sql/storedTestbes/C6Mart_PL_D_S178IndicatoriEsitoAdeguatezza.sql new file mode 100644 index 00000000..461c7725 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S178IndicatoriEsitoAdeguatezza.sql @@ -0,0 +1,127 @@ +--[C6Mart].[PL_D_S178IndicatoriEsitoAdeguatezza] 'F', 'MTTSRA00H61D704A' +CREATE procedure [C6Mart].[PL_D_S178IndicatoriEsitoAdeguatezza] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +------- PARTE FINTA DA ELIMINARE +--declare @flagProf varchar(1) +--select @flagProf = TipoConsulenza from c6mart.vContratti where Rete = @Rete and Cod_Fiscale = @CodiceFiscale +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Il livello di concentrazione degli emittenti presenti nel suo portafoglio è ADEGUATO in quanto tutti gli emittenti sono presenti in misura inferiore rispetto ai limiti stabiliti dalla Banca.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 3; +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'La complessità dei singoli strumenti detenuti nel suo portafoglio è ADEGUATA in quanto coerente con il suo livello di esperienza e conoscenza in materia di investimenti.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 4; +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Il livello di concentrazione di prodotti complessi nel suo portafoglio è ADEGUATO in quanto inferiore al limite massimo stabilito dalla Banca e coerente rispetto al patrimonio minimo di portafoglio amministrato.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 5; +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Il numero delle operazioni effettuate è ADEGUATO in quanto inferiore rispetto ai limiti stabiliti dalla Banca in base all’entità del portafoglio amministrato e al suo livello di esperienza e conoscenza in materia d’investimenti.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 6; +-- update a +-- set TI_Adeguato = '1', TI_Descrizione = 'Le caratteristiche di durata e liquidità dei prodotti presenti nel suo portafoglio sono ADEGUATE in quanto coerenti con la ripartizione del patrimonio negli orizzonti temporali indicata nel questionario di profilatura.' +-- from #TABELLAINDICATORI a +-- where TI_Ordine = 7; +--if @flagProf = 'P' +-- begin +-- select +-- ti_ordine as Ordine, +-- ti_indicatore as Indicatore, +-- ti_adeguato as Adeguato, +-- ti_descrizione as DescrizioneEsito +-- from #TABELLAINDICATORI +-- where ti_ordine in (1, 2, 3, 7) +-- end +--else +-- begin +-- select +-- ti_ordine as Ordine, +-- ti_indicatore as Indicatore, +-- ti_adeguato as Adeguato, +-- ti_descrizione as DescrizioneEsito +-- from #TABELLAINDICATORI +-- end + declare @flagProf varchar(1) + select @flagProf = TipoConsulenza from c6mart.vContratti where Rete = @Rete and Cod_Fiscale = @CodiceFiscale + select * + into #res + from ( + select + 1 as Ordine, + 'Rischio' as Indicatore, + convert(varchar(5), RM_ADEGUATEZZA_INDICATORE) as Adeguato, + RM_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 2 as Ordine, + 'Riserva' as Indicatore, + convert(varchar(5), RS_ADEGUATEZZA_INDICATORE) as Adeguato, + RS_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 3 as Ordine, + 'Investimento di Lungo Periodo' as Indicatore, + convert(varchar(5), TH_ADEGUATEZZA_INDICATORE) as Adeguato, + TH_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 4 as Ordine, + 'Complessità' as Indicatore, + convert(varchar(5), CM_ADEGUATEZZA_INDICATORE) as Adeguato, + CM_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 5 as Ordine, + 'Concentrazione in prodotti complessi' as Indicatore, + convert(varchar(5), CC_ADEGUATEZZA_INDICATORE) as Adeguato, + CC_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 6 as Ordine, + 'Frequenza delle operazioni' as Indicatore, + convert(varchar(5), FQ_ADEGUATEZZA_INDICATORE) as Adeguato, + FQ_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 7 as Ordine, + 'Concentrazione Emittenti' as Indicatore, + convert(varchar(5), CE_ADEGUATEZZA_INDICATORE) as Adeguato, + CE_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + union + select + 8 as Ordine, + 'Concentrazione Valutaria' as Indicatore, + convert(varchar(5), CV_ADEGUATEZZA_INDICATORE) as Adeguato, + CV_ADEGUATEZZA_DESCRIZIONE as DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] + where Rete = @Rete and Codice_Fiscale = @CodiceFiscale + ) a + if @flagProf = 'P' + select * from #res where ordine in (1, 2, 3) + else + select * from #res + --drop table #res +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S179EmittentiConcentrazioneAlta.sql b/sql/storedTestbes/C6Mart_PL_D_S179EmittentiConcentrazioneAlta.sql new file mode 100644 index 00000000..3edb626a --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S179EmittentiConcentrazioneAlta.sql @@ -0,0 +1,19 @@ +--[C6Mart].[PL_D_S179EmittentiConcentrazioneAlta] 'F', 'GNSMRN59L62L219S' +CREATE procedure [C6Mart].[PL_D_S179EmittentiConcentrazioneAlta]--'F','GNSMRN59L62L219S' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + select a.RETE,a.COD_FISCALE,a.Ordine,a.Emittente,a.ctv,a.flagAdeguatezza,a.franchigia,a.percConcentrazione,a.rating,a.sogliaConcentrazione + from C6Mart.TB_S179EmittentiConcentrazioneAlta a + inner join C6Staging.VAR_ADEGUATEZZA_INDICATORI i on + a.RETE=i.RETE and a.COD_FISCALE=i.CODICE_FISCALE + where a.rete = @Rete + and a.Cod_Fiscale = @CodiceFiscale + and i.CE_ADEGUATEZZA_INDICATORE=0 + order by emittente +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S180ProdottiComplessitaAlta.sql b/sql/storedTestbes/C6Mart_PL_D_S180ProdottiComplessitaAlta.sql new file mode 100644 index 00000000..f68814dc --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S180ProdottiComplessitaAlta.sql @@ -0,0 +1,127 @@ +--[C6Mart].[PL_D_S180ProdottiComplessitaAlta] 'f', 'ff@9225' +CREATE procedure [C6Mart].[PL_D_S180ProdottiComplessitaAlta] --'W','BRGDNT48P60D612V' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @TotalePatrimonio decimal(12,2) + -- acquisiamo il totale patrimonio del cliente + SELECT @TotalePatrimonio = ctv + FROM + C6Mart.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +-- + SELECT + 1 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi + into #temp +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 3 + union all + SELECT + 2 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 2 + union all + SELECT + 3 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 1 + -- --20180905 Fine modifica + order by ordine,Compl_Base desc + delete from #temp where ordine=1 and SommaPesi<20 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta è <20 + delete from #temp where ordine=2 and SommaPesi<30 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta è <30 + delete from #temp where ordine=3 and SommaPesi<50 --pesi definiti da banca se la somma dei pesi di tutti prodotti a complessita alta e medio-alta e medio-bassa è <50 +-- select * from #temp --order by ordine,Complessita + DECLARE @ordineConcatenato VARCHAR(4) +SELECT @ordineConcatenato = COALESCE(@ordineConcatenato + '', '') + CAST(ordine AS VARCHAR) +FROM (SELECT DISTINCT ordine FROM #temp) AS subquery +-- @ordineConcatenato conterrà i valori distinti concatenati della colonna 'ordine' +SELECT Ordine,CodiceContratto,NomeProdotto,Controvalore,Complessita,Peso,TotalePatrimonio,SommaControvalore,SommaPesi,@ordineConcatenato AS Ordine_Concatenato +into #temp2 +FROM #temp +select t.Ordine + ,t.CodiceContratto + ,t.NomeProdotto + ,t.Controvalore + ,t.Complessita as Complessita_Numero + ,case when t.Complessita=4 then 'Alta' + when t.Complessita=3 then 'Medio-alta' + when t.Complessita=2 then 'Medio-bassa' + else 'n.d.' end as Complessita + ,t.Peso + ,t.TotalePatrimonio + ,t.SommaControvalore + ,t.SommaPesi + ,t.Ordine_Concatenato + ,n.Descrizione + into #temp3 + from #temp2 t left join [C6Mart].[TB_S180ProdottiComplessitaAlta_note] n on t.Ordine_Concatenato=n.id + DECLARE @ComplessitaConcatenata VARCHAR(4) +SELECT @ComplessitaConcatenata = COALESCE(@ComplessitaConcatenata + '', '') + CAST(complessita_numero AS VARCHAR) +FROM (SELECT DISTINCT complessita_numero FROM #temp3 ) AS subquery order by Complessita_Numero desc +SELECT t.Ordine,t.CodiceContratto,t.NomeProdotto,t.Controvalore,t.Complessita_Numero,t.Complessita,t.Peso,t.TotalePatrimonio,t.SommaControvalore,t.SommaPesi,t.Ordine_Concatenato,replace(t.Descrizione,'@@@@@',co.descrizione) as Descrizione--,@ComplessitaConcatenata as Complessita_Concatenata +FROM #temp3 t left join [C6Mart].[TB_S180ProdottiComplessitaAlta_note_complessita] co on @ComplessitaConcatenata=co.id +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_D_S180ProdottiComplessitaAlta_mini.sql b/sql/storedTestbes/C6Mart_PL_D_S180ProdottiComplessitaAlta_mini.sql new file mode 100644 index 00000000..6a646387 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_D_S180ProdottiComplessitaAlta_mini.sql @@ -0,0 +1,89 @@ +CREATE procedure [C6Mart].[PL_D_S180ProdottiComplessitaAlta_mini] --'W','BRGDNT48P60D612V' + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SET NOCOUNT ON; + declare @TotalePatrimonio decimal(12,2) + SELECT @TotalePatrimonio = ctv + FROM + C6Mart.vPatrimonioBFAggregato + WHERE + RETE = @Rete AND COD_FISCALE = @CodiceFiscale + SELECT + 1 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi + into #temp +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 3 + union all + SELECT + 2 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 2 + union all + SELECT + 3 as Ordine, + codicecontratto as CodiceContratto, + nomeprodotto as NomeProdotto, + controvalore as Controvalore, + compl_base as Complessita, + ((controvalore * 100) / @TotalePatrimonio) as Peso, + @TotalePatrimonio as TotalePatrimonio, + SUM(controvalore) OVER () as SommaControvalore, + SUM((controvalore * 100) / @TotalePatrimonio) OVER () as SommaPesi +FROM + [C6Mart].[TB_S180ProdottiComplessitaAlta] +WHERE + rete = @Rete + AND cod_fiscale LIKE + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN '%%' + ELSE @CodiceFiscale + END + AND codman = + CASE WHEN @CodiceFiscale LIKE '%FF@%' THEN SUBSTRING(@CodiceFiscale, 4, LEN(@CodiceFiscale) - 3) + ELSE '' + END + AND Compl_Base > 1 +delete from #temp where ordine=1 and SommaPesi<20 +delete from #temp where ordine=2 and SommaPesi<30 +delete from #temp where ordine=3 and SommaPesi<50 +select case when exists (select 1 from #temp) then 1 else 0 end +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_FD181PreferenzeESG.sql b/sql/storedTestbes/C6Mart_PL_FD181PreferenzeESG.sql new file mode 100644 index 00000000..b101ba99 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_FD181PreferenzeESG.sql @@ -0,0 +1,47 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'VNZGPL53M04L781P' +CREATE procedure [C6Mart].[PL_FD181PreferenzeESG] --'W','MLDDND66M21B967S' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT esg.[rete] + ,esg.[cod_fiscale] + ,esg.[Preferenza_esg_cliente] + ,esg.[ESG_E] + ,esg.[ESG_S] + ,esg.[ESG_G] + ,CAST(ROUND(ISNULL(obiettivo_ESG_minimo, 0.00), 2) AS decimal(6, 2)) AS obiettivo_ESG_minimo + ,esg.[ESG_Rating] + ,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_E_perc + ,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_S_perc + ,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_G_perc + ,case when isnull(ind.percESG,'0.00')>=25 and isnull(ind.percESG,'0.00')<50 then 'Almeno pari al 25%' + when isnull(ind.percESG,'0.00')>=50 and isnull(ind.percESG,'0.00')<75 then 'Almeno pari al 50%' + when isnull(ind.percESG,'0.00')>=75 then 'Almeno pari al 75%' else 'n.d.' end as Pref_Sost + ,case when cle.U_PREFSOST='S' then 'Y' + when cle.U_PREFSOST='N' then 'N' else 'N' end as U_PREFSOST --Ulteriori Preferenze di Sostenibilità ----decommenta per ESG 2024 + ,case when cle.FLAGSFDR='S' then replace(cast(cle.SFDR_PERC as varchar(12)),'.00','')+'%' else '-' end as SFDR_PERC ----decommenta per ESG 2024 + ,case when cle.FLAGTAXO='S' then replace(cast(cle.TAXO_PERC as varchar(12)),'.00','')+'%' else '-' end as TAXO_PERC ----decommenta per ESG 2024 + ,case when cle.PAI_NO_DETT = 'S' then 'Preferisco non dettagliare' --modifica 10122024 Scapellato + when isnull(cle.PAI_A,'')='' then '-' else cle.PAI_A end as PAI_A + ,case when cle.PAI_NO_DETT = 'S' then 'Preferisco non dettagliare' --modifica 10122024 Scapellato + when isnull(cle.PAI_S,'')='' then '-' else cle.PAI_S end as PAI_S + ,case when ESG_E='Y' then cle.PERCAMB_OK ELSE NULL END AS E_PERC_OK--,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS E_PERC_OK ----decommenta per ESG 2024 + ,case when ESG_S='Y' then cle.PERCSOC_OK ELSE NULL END AS S_PERC_OK--,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS S_PERC_OK ----decommenta per ESG 2024 + ,case when ESG_G='Y' then cle.PERCGOV_OK ELSE NULL END AS G_PERC_OK--,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS G_PERC_OK ----decommenta per ESG 2024 + FROM [C6StampeCentralizzate].[C6Mart].[BrsClienteESG] esg + left join c6staging.VAR_ADEGUATEZZA_INDICATORI ind + on ind.rete=esg.rete and ind.CODICE_FISCALE=esg.cod_fiscale + left join C6Mart.W6CLIESG cle + on ind.rete=cle.rete and ind.CODICE_FISCALE=cle.CODFIS +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_FD181PreferenzeESG_bkp_pre_ESG2024.sql b/sql/storedTestbes/C6Mart_PL_FD181PreferenzeESG_bkp_pre_ESG2024.sql new file mode 100644 index 00000000..ea8b7597 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_FD181PreferenzeESG_bkp_pre_ESG2024.sql @@ -0,0 +1,29 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'VNZGPL53M04L781P' +create procedure [C6Mart].[PL_FD181PreferenzeESG:bkp_pre_ESG2024] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [rete] + ,[cod_fiscale] + ,[Preferenza_esg_cliente] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[obiettivo_ESG_minimo] + ,[ESG_Rating] + ,[ESG_E_perc] + ,[ESG_S_perc] + ,[ESG_G_perc] + FROM [C6StampeCentralizzate].[C6Mart].[BrsClienteESG] esg +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_FD182BISDettaglioProdottiESG.sql b/sql/storedTestbes/C6Mart_PL_FD182BISDettaglioProdottiESG.sql new file mode 100644 index 00000000..127b81d5 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_FD182BISDettaglioProdottiESG.sql @@ -0,0 +1,253 @@ +CREATE procedure [C6Mart].[PL_FD182BISDettaglioProdottiESG] --'S','SNTCHR80A61D612V' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +0 as ORDINAMENTO_PROGETTO, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + --CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + --SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + --CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + --CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS versato_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' +-- THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) +-- ELSE NULL +-- END AS MinusPlusValenza_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS MinusPlusValenza_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF +-- ELSE NULL +-- END AS somma_var_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA +-- ELSE NULL +-- END AS somma_copertura_need_prog, +-- cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c.') AS var_needareaString, +-- CASE +-- --WHEN ISNULL(RISCHIO_AGGR_AREA.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' +-- WHEN ISNULL(RISCHIO_AGGR_AREA.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII +-- WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' +-- THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- +-- ELSE NULL +-- END as var_needareaString, +-- CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL(5,2)) AS copertura_needarea, +-- CASE +-- WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 +-- --Valerio danilo THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- ELSE NULL +-- END AS copertura_needareaString, +-- RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, + --CASE WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as var_need_progString, +-- CASE + --WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' +-- WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END as var_need_progString, +-- RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + case when ESG_E = 'SI' then 'Sì' else 'No' end as ESG_E, + case when ESG_S = 'SI' then 'Sì' else 'No' end as ESG_S, + case when ESG_G = 'SI' then 'Sì' else 'No' end as ESG_G, + case when CatSFDR <> '' then esg.CatSFDR else '-' end as CatSFDR, + case when ESGRating <> '' then esg.esgrating else '-' end as ESGRating, + case when TrendESGRating <> '' then esg.TrendESGRating else '-' end as TrendESGRating, + PATRBF.CTV AS Controvalore, +-- PATRBF.VERSATO_NETTO AS VersatoNetto, +-- CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +-- PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, +-- CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, + --RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- case when (patrbf.tipo_prodotto ='CC') then 0.00 +-- else RISCHIO_PROD.VAR_PERC_PTF +-- end AS VaRprodotto, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 THEN 'n.c.' --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- WHEN patrbf.isin in('EURO00000009', 'EURO10000007' ) THEN 'n.c.' +-- ELSE NULL END as varProdottoString, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + -- WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +-- ELSE NULL END as varProdottoString, +-- RISCHIO_PROD.Copertura AS Coperturaprodotto, + PATRBF.REND_ANNO AS PerformanceYTD, + PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +-- PARTVIA_DISINV AS partitaViaggiante, +-- CASE +-- WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 THEN '*' +-- ELSE NULL +-- END AS nota_needarea, +-- RISCHIO_PROD.CREDITRISK as creditrisk, +--CASE +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' +-- ELSE NULL +-- END as creditriskstring, +-- +-- +-- RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + patrbf.tipo_prodotto as Tipo_Prodotto +into #temp +FROM +C6MART.PATRIMONIO_BF PATRBF +INNER JOIN +C6MART.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_PROD +-- ON PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +---- CASE +---- WHEN AREA.ID_AREA = 'Na' THEN 'RISORSENONASSOCIATE|' +---- ELSE +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL)-- AND (LEFT(PATRBF.ID_AREA,3)<>'Na' Or PATRBF.NOME_PROGETTO <> 'Default') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' +-- when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' +-- ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- END +---- END + PATRBF.POSITION_ID +-- + PATRBF.POSITION_ID +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG +-- ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE +-- AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA +-- ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- case +-- when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' +-- else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) +-- end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +left join [C6Staging].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 + AND AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +--Bido + --AND ( + --PATRBF.CTV > 0 + --OR ( PATRBF.CTV < 0 AND patrbf.tipo_prodotto = 'cc' ) + --) +-- +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END , nome_progetto, PATRBF.CTV DESC +select top (1) + 'Tot_P' as needarea, + 'TOTALE PATRIMONIO' as needareades, + '103' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + '' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + sum(Controvalore) as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from #temp +END +--PRINT N'Altering [C6Mart].[PL_D2_S171PatrimonioNonRappresentabileAssettClass]' \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_FD182DettaglioProdottiESG.sql b/sql/storedTestbes/C6Mart_PL_FD182DettaglioProdottiESG.sql new file mode 100644 index 00000000..1cc13402 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_FD182DettaglioProdottiESG.sql @@ -0,0 +1,245 @@ +CREATE procedure [C6Mart].[PL_FD182DettaglioProdottiESG] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +0 as ORDINAMENTO_PROGETTO, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + --CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + --SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + --CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + --CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS versato_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' +-- THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) +-- ELSE NULL +-- END AS MinusPlusValenza_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS MinusPlusValenza_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF +-- ELSE NULL +-- END AS somma_var_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA +-- ELSE NULL +-- END AS somma_copertura_need_prog, +-- cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c.') AS var_needareaString, +-- CASE +-- --WHEN ISNULL(RISCHIO_AGGR_AREA.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' +-- WHEN ISNULL(RISCHIO_AGGR_AREA.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII +-- WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' +-- THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- +-- ELSE NULL +-- END as var_needareaString, +-- CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL(5,2)) AS copertura_needarea, +-- CASE +-- WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 +-- --Valerio danilo THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- ELSE NULL +-- END AS copertura_needareaString, +-- RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, + --CASE WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as var_need_progString, +-- CASE + --WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' +-- WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END as var_need_progString, +-- RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + case when ESG_E = 'SI' then 'Sì' else 'No' end as ESG_E, + case when ESG_S = 'SI' then 'Sì' else 'No' end as ESG_S, + case when ESG_G = 'SI' then 'Sì' else 'No' end as ESG_G, + case when CatSFDR <> '' then esg.CatSFDR else '-' end as CatSFDR, + case when ESGRating <> '' then esg.esgrating else '-' end as ESGRating, + case when TrendESGRating <> '' then esg.TrendESGRating else '-' end as TrendESGRating, + PATRBF.CTV AS Controvalore, +-- PATRBF.VERSATO_NETTO AS VersatoNetto, +-- CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +-- PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, +-- CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, + --RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- case when (patrbf.tipo_prodotto ='CC') then 0.00 +-- else RISCHIO_PROD.VAR_PERC_PTF +-- end AS VaRprodotto, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 THEN 'n.c.' --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- WHEN patrbf.isin in('EURO00000009', 'EURO10000007' ) THEN 'n.c.' +-- ELSE NULL END as varProdottoString, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + -- WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +-- ELSE NULL END as varProdottoString, +-- RISCHIO_PROD.Copertura AS Coperturaprodotto, + PATRBF.REND_ANNO AS PerformanceYTD, + PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +-- PARTVIA_DISINV AS partitaViaggiante, +-- CASE +-- WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 THEN '*' +-- ELSE NULL +-- END AS nota_needarea, +-- RISCHIO_PROD.CREDITRISK as creditrisk, +--CASE +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' +-- ELSE NULL +-- END as creditriskstring, +-- +-- +-- RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + patrbf.tipo_prodotto as Tipo_Prodotto + -- ,CASE + -- WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' + -- ELSE 'N' end as ESG_E_PROD_CLI,----decommenta per ESG 2024 + --CASE + -- WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' + -- ELSE 'N' end as ESG_S_PROD_CLI,----decommenta per ESG 2024 + --CASE + -- WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' +-- ELSE 'N' end as ESG_G_PROD_CLI ----decommenta per ESG 2024 + ,case when isnull(cat.esg_e_prod_cli,'N')='Y' then 'S' else 'N' end as esg_e_prod_cli + ,case when isnull(cat.esg_s_prod_cli,'N')='Y' then 'S' else 'N' end as esg_s_prod_cli + ,case when isnull(cat.esg_g_prod_cli,'N')='Y' then 'S' else 'N' end as esg_g_prod_cli +FROM +C6MART.PATRIMONIO_BF PATRBF +INNER JOIN +C6MART.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_PROD +-- ON PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +---- CASE +---- WHEN AREA.ID_AREA = 'Na' THEN 'RISORSENONASSOCIATE|' +---- ELSE +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL)-- AND (LEFT(PATRBF.ID_AREA,3)<>'Na' Or PATRBF.NOME_PROGETTO <> 'Default') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' +-- when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' +-- ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- END +---- END + PATRBF.POSITION_ID +-- + PATRBF.POSITION_ID +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG +-- ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE +-- AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA +-- ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- case +-- when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' +-- else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) +-- end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +left join [C6Staging].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) + left join c6mart.W6CATESG cat + on PATRBF.cod_prodotto = cat.PRODOTTO_ID + AND PATRBF.rete = cat.rete + AND PATRBF.COD_FISCALE =cat.codfis +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 + AND AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +--Bido + --AND ( + --PATRBF.CTV > 0 + --OR ( PATRBF.CTV < 0 AND patrbf.tipo_prodotto = 'cc' ) + --) +-- +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END , nome_progetto, PATRBF.CTV DESC +END +--PRINT N'Altering [C6Mart].[PL_D2_S171PatrimonioNonRappresentabileAssettClass]' \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_FD185UCaratteristicheESG.sql b/sql/storedTestbes/C6Mart_PL_FD185UCaratteristicheESG.sql new file mode 100644 index 00000000..586d3ffa --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_FD185UCaratteristicheESG.sql @@ -0,0 +1,116 @@ +CREATE procedure [C6Mart].[PL_FD185UCaratteristicheESG] --'F','DCRCRL47S11D612N' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT + patrbf.cod_prodotto as COD_PRODOTTO, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, +CASE + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',') --+ '%' +END AS PERC_INVESTIMENTO_SFDR, +--aggiunta ESG 2024 +CASE + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 ----decommenta per ESG 2024 + THEN '-' ----decommenta per ESG 2024 + ELSE ----decommenta per ESG 2024 + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVEST_SFDR_MIN_SUST_E), '.', ',')-- + '%' ----decommenta per ESG 2024 +END AS PERC_INVESTIMENTO_SFDR_AMB, ----decommenta per ESG 2024 + --decommenta per ESG 2024 + --decommenta per ESG 2024 +CASE ----decommenta per ESG 2024 + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 ----decommenta per ESG 2024 + THEN '-' ----decommenta per ESG 2024 + ELSE ----decommenta per ESG 2024 + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVEST_SFDR_MIN_SUST_S), '.', ',')-- + '%' ----decommenta per ESG 2024 +END AS PERC_INVESTIMENTO_SFDR_SOC, ----decommenta per ESG 2024 + CASE + WHEN ISNULL(esg.PERC_INVESTIMENTO_TAXONOMY, 0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_TAXONOMY), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_TAXONOMY, + isnull(esg.label_PAI_A,'-') as label_PAI_A, + isnull(esg.Label_PAI_S,'-') as label_PAI_S, + isnull(esg.Label_U_INFO_ESG,'-') as Label_U_INFO_ESG, + PATRBF.CTV AS Controvalore, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea + --V +FROM +C6MART.PATRIMONIO_BF PATRBF +INNER JOIN +C6MART.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +left join [C6Staging].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 + AND AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END , nome_progetto, PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_FD186DettaglioPortafoglioSei.sql b/sql/storedTestbes/C6Mart_PL_FD186DettaglioPortafoglioSei.sql new file mode 100644 index 00000000..1613889b --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_FD186DettaglioPortafoglioSei.sql @@ -0,0 +1,64 @@ +CREATE procedure [C6Mart].[PL_FD186DettaglioPortafoglioSei] --'F','RMNFNC55T03A783I' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @appo table +( + [BFCTV] [decimal](15, 2) NULL, + [PatrimonioTerziCTV] [decimal](15, 2) NULL, + [FinanziarioCTV] [decimal](16, 2) NULL, + [FinanziarioPerc] [decimal](6, 2) NULL, + [ImmobiliareCTV] [decimal](15, 2) NULL, + [ImmobiliarePerc] [decimal](6, 2) NULL, + [AltroCTV] [decimal](15, 2) NULL, + [AltroPerc] [decimal](6, 2) NULL, + [TotaleCTV] [decimal](15, 2) NULL, + [ImmobiliarePQCTV] [decimal](15, 2) NULL +) +--creo le tabelle di appoggio +insert into @appo exec [C6Mart].[PL_D2_S152Patrimonio] @Rete,@CodiceFiscale +declare @TotCTV [decimal](15, 2) =(select [BFCTV] from @appo) +SELECT + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATRBF.CTV AS Controvalore, + SUM(PATRBF.CTV) OVER() AS SommaProdottiEsclusi, + --@TotCTV as PatrimonioFideuram, + SUM(CASE + WHEN PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV < 0 THEN 0 + ELSE PATRBF.CTV + END) OVER() AS SommaProdottiEsclusi, --per escludere i CC a Saldo Negativo +@TotCTV as PatrimonioFideuram, +@TotCTV-SUM(CASE + WHEN PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV < 0 THEN 0 + ELSE PATRBF.CTV + END) OVER() AS PortafoglioSei + --@TotCTV-SUM(PATRBF.CTV) OVER() as PortafoglioSei +FROM C6MART.PATRIMONIO_BF PATRBF +INNER JOIN C6MART.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + --AND ( + -- (PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV > 0) OR --per eliminare i CC a saldo Negativo + -- (PATRBF.TIPO_PRODOTTO <> 'CC' AND PATRBF.CTV <> 0) + -- ) + and PATRBF.Nob_Prez='S' + order by PATRBF.CTV desc +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_FD187SfdrTaxESG.sql b/sql/storedTestbes/C6Mart_PL_FD187SfdrTaxESG.sql new file mode 100644 index 00000000..bf4cceb8 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_FD187SfdrTaxESG.sql @@ -0,0 +1,98 @@ +--select * from wh.Maledetti +CREATE procedure [C6Mart].[PL_FD187SfdrTaxESG]-- 'F','FRDGGN27C43L194Y' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6Mart.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale +declare @U_PREFSOST varchar(2) +select @U_PREFSOST=U_PREFSOST from [C6Mart].[W6CliESG] where rete=@Rete and codfis=@CodiceFiscale +if(@pref_esg='1' AND @U_PREFSOST='S') +begin + select + 1 as ID, + 'Prodotti sostenibili SFDR' as Descrizione, + replace(cast(isnull(cli.SFDR_PERCT,0.00) as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union + select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(isnull(cli.SFDR_PERC_OK,000) as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,case when cli.FLAGSFDR='N' then 'Y' + else 'N' end as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 3 as ID, + 'Prodotti non sostenibili' as Descrizione, + replace(cast((100-isnull(cli.SFDR_PERCT,0.00))as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 5 as ID, + 'Prodotti ecosostenibili Taxonomy' as Descrizione, + replace(cast(isnull(cli.TAXO_PERCT,0.00) as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast (isnull(cli.TAXO_PERC_OK,0.00) as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,case when cli.FLAGTAXO='N' then 'Y' + else 'N' end as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 7 as ID, + 'Prodotti non ecosostenibili' as Descrizione, + replace(cast((100-isnull(cli.TAXO_PERCT,0.00)) as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +-- select * from [C6Mart].[W6CliESG] cli +end +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_FD188PaiESG.sql b/sql/storedTestbes/C6Mart_PL_FD188PaiESG.sql new file mode 100644 index 00000000..1f9fa604 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_FD188PaiESG.sql @@ -0,0 +1,88 @@ +--select * from wh.Maledetti +CREATE procedure [C6Mart].[PL_FD188PaiESG]-- 'F','FRDGGN27C43L194Y' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6Mart.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale +declare @U_PREFSOST varchar(2) +select @U_PREFSOST=U_PREFSOST from [C6Mart].[W6CliESG] where rete=@Rete and codfis=@CodiceFiscale +if(@pref_esg='1' and @U_PREFSOST='S') +begin +select 1 as ID, + 'Prodotti che considerano almeno un PAI ambientale' as Descrizione, + replace(cast(isnull(cli.PAIA_PERCT,0.00) as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(isnull(cli.PAIA_PERC_OK,0.00) as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,case when isnull(cli.PAI_A,'')='' then 'Y' + else 'N' end as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 3 as ID, + 'Prodotti che non considerano PAI ambientali' as Descrizione, + replace(cast((100-isnull(cli.PAIA_PERCT,0.00)) as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + union +select 5 as ID, + 'Prodotti che considerano almeno un PAI sociale' as Descrizione, + replace(cast(isnull(cli.PAIS_PERCT,0.00) as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(isnull(cli.PAIS_PERC_OK,0.00) as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,case when isnull(cli.PAI_S,'')='' then 'Y' + else 'N' end as isNA +from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 7 as ID, + 'Prodotti che non considerano PAI sociali' as Descrizione, + replace(cast((100-isnull(cli.PAIS_PERCT,0.00)) as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +end +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_GetClientNegativeCurrentAccountsValue.sql b/sql/storedTestbes/C6Mart_PL_GetClientNegativeCurrentAccountsValue.sql new file mode 100644 index 00000000..917beb71 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_GetClientNegativeCurrentAccountsValue.sql @@ -0,0 +1,27 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_GetClientNegativeCurrentAccountsValue] 'F','LCNRLA67L28F520L' +CREATE procedure [C6Mart].[PL_GetClientNegativeCurrentAccountsValue] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @PatrimonioBF DECIMAL(15,2) + -- Insert statements for procedure here + SELECT + --@PatrimonioBF = case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6Mart.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + and CTV < 0 and ID_AREA = 'CC' + --Return @PatrimonioBF +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_GetClientSelfNegCurrentAccountValue.sql b/sql/storedTestbes/C6Mart_PL_GetClientSelfNegCurrentAccountValue.sql new file mode 100644 index 00000000..fe1f8d79 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_GetClientSelfNegCurrentAccountValue.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_GetClientSelfNegCurrentAccountValue] 'S','LMNFNC40L14L219U' +CREATE procedure [C6Mart].[PL_GetClientSelfNegCurrentAccountValue] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --DECLARE @PatrimonioBF DECIMAL(15,2) + SELECT + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6Mart.ANAG_SELF LS + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND ctv < 0 + --Return @PatrimonioBF +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_GetClientSelfNegative.sql b/sql/storedTestbes/C6Mart_PL_GetClientSelfNegative.sql new file mode 100644 index 00000000..b00f5cbd --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_GetClientSelfNegative.sql @@ -0,0 +1,29 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_GetClientSelfNegative] 'S','LMNFNC40L14L219U' +CREATE procedure [C6Mart].[PL_GetClientSelfNegative] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + CodInterno, + case + when CodInterno = 'XY' then '"Linee GP Eligo"' + when CodInterno = 'FO' then '"IL MF - Liquidita"' + end as Descrizione, + cast( case when isnull(SUM(CTV),0) = 0 then 0 else SUM(CTV) end as decimal(15,2)) as CTV + FROM + C6Mart.ANAG_SELF LS + WHERE + LS.rete = @Rete + AND LS.codfis = @CodiceFiscale + AND ctv < 0 + group by CodInterno +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_Intermediari.sql b/sql/storedTestbes/C6Mart_PL_Intermediari.sql new file mode 100644 index 00000000..92ff2a8b --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_Intermediari.sql @@ -0,0 +1,24 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_Intermediari] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16), + @numeroRighe as int OUTPUT +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET @numeroRighe = + (SELECT + COUNT(DISTINCT INTERMEDIARIO) + FROM C6Mart.PATRIMONIO_TERZI + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + ) + RETURN @numeroRighe +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_MP_FD133BISPrincipaliProdotti.sql b/sql/storedTestbes/C6Mart_PL_MP_FD133BISPrincipaliProdotti.sql new file mode 100644 index 00000000..10fbfe00 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_MP_FD133BISPrincipaliProdotti.sql @@ -0,0 +1,55 @@ +-- ============================================= +-- Author: +-- Create date: <07/05/2013> +-- Description: +-- ============================================= +-- [c6mart].[PL_MP_S133BISPrincipaliProdotti] F,CLSPLA43D08H501B +CREATE procedure [C6Mart].[PL_MP_FD133BISPrincipaliProdotti] +-- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT TOP 10 + ANAGPROD.DESCR_PRODOTTO AS descrProdotto + ,PATRBF.CTV AS Controvalore + ,CASE + WHEN patrbf.tipo_prodotto = 'CC' THEN 0.00 + ELSE RISCHIO_PROD.VAR_PERC_PTF + END AS VaRprodotto + ,((CASE + WHEN ((PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100) is null then 0.00 + ELSE(PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100 + END) / (CASE + WHEN sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') = 0 THEN 1 + ELSE sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') + END))*100 as rischioRelativo + ,(PATRBF.CTV/(sum(PATRBF.CTV) over (partition by 'totale')))*100 AS pesoRelativo + ,PATRBF.ID_AREA AS codAreaBisogno + FROM C6Mart.PATRIMONIO_BF PATRBF + INNER JOIN C6Mart.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO + INNER JOIN c6mart.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + LEFT JOIN c6mart.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + --AND RISCHIO_PROD.COD_AGGREG = CASE + -- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + -- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + -- '|' + isnull(cast(patrbf.ordinamento_progetto as varchar),'') + '|' + -- WHEN LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + -- ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- END + -- + PATRBF.POSITION_ID + WHERE + PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND + PATRBF.CTV <>0 + AND PATRBF.ID_AREA <> 'Cc' + ORDER BY rischioRelativo DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_MP_FD147SintesiValute.sql b/sql/storedTestbes/C6Mart_PL_MP_FD147SintesiValute.sql new file mode 100644 index 00000000..0dd33f3c --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_MP_FD147SintesiValute.sql @@ -0,0 +1,45 @@ +--[c6mart].[PL_MP_S147SintesiValute] 'F','DCSCRJ80H24Z602C' +CREATE procedure [C6Mart].[PL_MP_FD147SintesiValute] +@Rete char(1), +@CodiceFiscale varchar(16) +as +begin +declare @ctvNoCoperto as decimal(18,3) +declare @ctvCoperto as decimal(18,3) +declare @copertura as decimal(18,3) +SELECT @ctvNoCoperto = isnull(sum(ctv),0) + FROM c6mart.ANAG_PRODOTTI_VALUTE a + RIGHT JOIN c6mart.patrimonio_bf c + ON a.cod_prodotto = c.cod_prodotto + WHERE + cod_fiscale = @CodiceFiscale + and rete = @Rete + and a.cod_prodotto is null + and id_area <> 'Cc' +select @copertura = (patrimonioSenzaCC - @ctvNoCoperto)/patrimonioSenzaCC , + @ctvCoperto = patrimonioSenzaCC - @ctvNoCoperto +from c6mart.vPatrimonioBfAggregato +where + cod_fiscale = @CodiceFiscale + and rete = @Rete +--select @copertura +--FC 16/04/20104 +--Inserito controllo per evitare problemi di divid by zero nella select successiva +IF @ctvCoperto < 1 +begin + set @ctvCoperto =1 +End +SELECT + sum(peso*ctv) / @ctvCoperto as percentuale, + abs(sum(peso*ctv)) as valoreAssoluto, + divisa, + @copertura as copertura +FROM c6mart.ANAG_PRODOTTI_VALUTE a +join c6mart.patrimonio_bf c +ON a.cod_prodotto = c.cod_prodotto +where + cod_fiscale = @CodiceFiscale + and rete = @Rete +group by divisa +order by valoreAssoluto desc +end \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_MP_FD148DistribuzioneAssetClass.sql b/sql/storedTestbes/C6Mart_PL_MP_FD148DistribuzioneAssetClass.sql new file mode 100644 index 00000000..23b38170 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_MP_FD148DistribuzioneAssetClass.sql @@ -0,0 +1,18 @@ +CREATE procedure [C6Mart].[PL_MP_FD148DistribuzioneAssetClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT [Banca] + ,[ORDINAMENTO] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6StampeCentralizzate].[C6Mart].[TB_S148DistribuzioneAssetClass] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S102DistribuzioneRischioCredito.sql b/sql/storedTestbes/C6Mart_PL_S102DistribuzioneRischioCredito.sql new file mode 100644 index 00000000..03c44544 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S102DistribuzioneRischioCredito.sql @@ -0,0 +1,611 @@ +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S102DistribuzioneRischioCredito] 'F','BRGGRL48H52G096C' +CREATE procedure [C6Mart].[PL_S102DistribuzioneRischioCredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Banca Fideuram', 'Sanpaolo Invest', 'IW Private Investments') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' WHEN PATRBF.RETE = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Investments' END AS INTERMEDIARIO, +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MART.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MART.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' WHEN PATRBF.RETE = 'S' THEN 'SANPAOLO' ELSE 'IWPRIVATEINVESTMENTS'END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +--SUM(CTV) AS CTV +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MART].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' AND CTV > 0 THEN CTV ELSE 0 END) AS CTV_na, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +)*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CTV) AS CTV +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MART].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_S102DistribuzioneRischioCredito] Script Date: 08/02/2022 16:48:33 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Authors: +---- Create date: +---- Description: +---- ============================================= +---- [C6Mart].[PL_S102DistribuzioneRischioCredito] 'F','BRGGRL48H52G096C' +--ALTER procedure [C6Mart].[PL_S102DistribuzioneRischioCredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +----QUERY PER INTERMEDIARIO +--SELECT +--RETE, +--COD_FISCALE, +--INTERMEDIARIO, +--CASE WHEN INTERMEDIARIO IN ( 'Banca Fideuram', 'Sanpaolo Invest') THEN 1 +-- ELSE 2 END AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +-- -- Start 1.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--CASE WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +--FROM +--[C6MART].PATRIMONIO_BF PATRBF +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_BF +--where id_Area='Cc' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'') + '|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +----INNER JOIN C6MART.CODIFICA_CREDITRISK CR +--LEFT outer JOIN C6MART.CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END, +--CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +----- End 1.1 +--UNION ALL +---- Start 1.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--PATRTERZI.INTERMEDIARIO, +----SUM(CTV) AS CTV +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6MART].PATRIMONIO_TERZI PATRTERZI +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--PATRTERZI.INTERMEDIARIO, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 1.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE, +--INTERMEDIARIO +---------- +--UNION ALL +------------- +----QUERY TOTALE +--SELECT +--RETE, +--COD_FISCALE, +--'Complessivo' AS INTERMEDIARIO, +--3 AS ORDINE, +--SUM(CTV) AS CTV_TOT, +--SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +--SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' +-- THEN CTV ELSE 0 END) AS CTV_CreditRisk, +--SUM(CASE WHEN RISKCLASS ='NA' AND CTV > 0 THEN CTV ELSE 0 END) AS CTV_na, +----CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' +-- or RISKCLASS = 'Classe B' +-- or RISKCLASS = 'Classe C' +-- or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) +-- /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END) +--)*100 END AS PERC_CreditRisk, +--CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 END as PERC_NA +--FROM +--( +----- Start 2.1 +--SELECT +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +--FROM +--[C6MART].PATRIMONIO_BF PATRBF +--LEFT OUTER JOIN +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_BF +--where id_Area='Cc' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrbf.cod_fiscale=ctvcc.cod_fiscale +--and +--patrbf.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +--ON +-- PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' --+ isnull(cast(PATRBF.ordinamento_progetto as varchar),'')+'|' +-- --V +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') +-- THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') +-- THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- -- +-- END + PATRBF.POSITION_ID +--left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +--ON RISCHIO_PROD.CREDITRISK = cr.profilo +----V +--WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND +-- PATRBF.RETE = @Rete +---- +--GROUP BY +--PATRBF.RETE, +--PATRBF.COD_FISCALE, +--CASE +-- WHEN RISCHIO_PROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +---- End 2.1 +--UNION ALL +---- Start 2.2 +--SELECT +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END AS RISKCLASS, +----SUM(CTV) AS CTV +--SUM(ROUND(CTV,2)) AS CTV +--FROM +--[C6MART].PATRIMONIO_TERZI PATRTERZI +--left outer join +--(select cod_fiscale, rete, sum(ctv) as cc_ctv +--from +--[C6MART].pATRIMONIO_terzi +--where tipo_prodotto='Conti correnti' +--group by cod_fiscale, rete +--) ctvcc +--on +--patrterzi.cod_fiscale=ctvcc.cod_fiscale +--and +--patrterzi.rete=ctvcc.rete +--LEFT OUTER JOIN +--[C6MART].RISCHIO_AGGREGATO RISCHIOPROD +-- ON +-- PATRTERZI.RETE = RISCHIOPROD.RETE +-- AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE +-- AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +--left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +--ON RISCHIOPROD.CREDITRISK = cr.profilo +----V +--WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND +-- PATRTERZI.RETE = @Rete +---- +--GROUP BY +--PATRTERZI.RETE, +--PATRTERZI.COD_FISCALE, +--CASE +-- WHEN RISCHIOPROD.COPERTURA < 100 +-- THEN 'NON COPERTO' +-- WHEN DESCRIZIONE IS NULL +-- THEN 'NA' +-- ELSE DESCRIZIONE +--END +----- End 2.2 +--)H +--GROUP BY +--RETE, +--COD_FISCALE +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S102DistribuzioneRischioCredito_OLD.sql b/sql/storedTestbes/C6Mart_PL_S102DistribuzioneRischioCredito_OLD.sql new file mode 100644 index 00000000..7a814358 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S102DistribuzioneRischioCredito_OLD.sql @@ -0,0 +1,296 @@ +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S102DistribuzioneRischioCredito] 'F','BRZGPP39H08C352F' +CREATE procedure [C6Mart].[PL_S102DistribuzioneRischioCredito_OLD] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Banca Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' THEN CTV ELSE 0 END) AS CTV_Class1, +SUM(CASE WHEN RISKCLASS = 'Classe B' THEN CTV ELSE 0 END) AS CTV_Class2, +SUM(CASE WHEN RISKCLASS = 'Classe C' THEN CTV ELSE 0 END) AS CTV_Class3, +SUM(CASE WHEN RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) AS CTV_overClass3, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class1, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe B' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class2, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe C' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class3, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe D' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS perc_overClass3, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(ctv))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MART.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MART.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +--SUM(CTV) AS CTV +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MART].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' THEN CTV ELSE 0 END) AS CTV_Class1, +SUM(CASE WHEN RISKCLASS = 'Classe B' THEN CTV ELSE 0 END) AS CTV_Class2, +SUM(CASE WHEN RISKCLASS = 'Classe C' THEN CTV ELSE 0 END) AS CTV_Class3, +SUM(CASE WHEN RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) AS CTV_overClass3, +SUM(CASE WHEN RISKCLASS ='NA' AND CTV > 0 THEN CTV ELSE 0 END) AS CTV_na, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class1, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe B' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class2, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe C' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_class3, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe D' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS perc_overClass3, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(ctv))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CTV) AS CTV +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MART].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S102DistribuzioneRischioCredito_OLD2.sql b/sql/storedTestbes/C6Mart_PL_S102DistribuzioneRischioCredito_OLD2.sql new file mode 100644 index 00000000..079466d2 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S102DistribuzioneRischioCredito_OLD2.sql @@ -0,0 +1,300 @@ +-- ============================================= +-- Authors: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S102DistribuzioneRischioCredito] 'F','GGGNNA41E59G687E' +CREATE procedure [C6Mart].[PL_S102DistribuzioneRischioCredito_OLD2] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +--QUERY PER INTERMEDIARIO +SELECT +RETE, +COD_FISCALE, +INTERMEDIARIO, +CASE WHEN INTERMEDIARIO IN ( 'Banca Fideuram', 'Sanpaolo Invest') THEN 1 + ELSE 2 END AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CTV))*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(ctv))*100 END as PERC_NA +FROM +( + -- Start 1.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +CASE WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' ELSE 'Sanpaolo Invest' END AS INTERMEDIARIO, +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +--INNER JOIN C6MART.CODIFICA_CREDITRISK CR +LEFT outer JOIN C6MART.CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END, +CASE WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' ELSE 'SANPAOLO' END +--- End 1.1 +UNION ALL +-- Start 1.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +PATRTERZI.INTERMEDIARIO, +--SUM(CTV) AS CTV +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MART].PATRIMONIO_TERZI PATRTERZI +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 1.2 +)H +GROUP BY +RETE, +COD_FISCALE, +INTERMEDIARIO +-------- +UNION ALL +----------- +--QUERY TOTALE +SELECT +RETE, +COD_FISCALE, +'Complessivo' AS INTERMEDIARIO, +3 AS ORDINE, +SUM(CTV) AS CTV_TOT, +SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, +SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' + THEN CTV ELSE 0 END) AS CTV_CreditRisk, +SUM(CASE WHEN RISKCLASS ='NA' AND CTV > 0 THEN CTV ELSE 0 END) AS CTV_na, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + or RISKCLASS = 'Classe B' + or RISKCLASS = 'Classe C' + or RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) + /SUM(CTV))*100 END AS PERC_CreditRisk, +CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(ctv))*100 END as PERC_NA +FROM +( +--- Start 2.1 +SELECT +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +FROM +[C6MART].PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_BF +where id_Area='Cc' +group by cod_fiscale, rete +) ctvcc +on +patrbf.cod_fiscale=ctvcc.cod_fiscale +and +patrbf.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('CC') + THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) AND PATRBF.ID_AREA IN ('NA') + THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' + -- + END + PATRBF.POSITION_ID +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIO_PROD.CREDITRISK = cr.profilo +--V +WHERE PATRBF.COD_FISCALE = @CodiceFiscale AND + PATRBF.RETE = @Rete +-- +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +CASE + WHEN RISCHIO_PROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +-- End 2.1 +UNION ALL +-- Start 2.2 +SELECT +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END AS RISKCLASS, +--SUM(CTV) AS CTV +SUM(ROUND(CTV,2)) AS CTV +FROM +[C6MART].PATRIMONIO_TERZI PATRTERZI +left outer join +(select cod_fiscale, rete, sum(ctv) as cc_ctv +from +[C6MART].pATRIMONIO_terzi +where tipo_prodotto='Conti correnti' +group by cod_fiscale, rete +) ctvcc +on +patrterzi.cod_fiscale=ctvcc.cod_fiscale +and +patrterzi.rete=ctvcc.rete +LEFT OUTER JOIN +[C6MART].RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI +left outer JOIN [C6MART].CODIFICA_CREDITRISK CR +ON RISCHIOPROD.CREDITRISK = cr.profilo +--V +WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale AND + PATRTERZI.RETE = @Rete +-- +GROUP BY +PATRTERZI.RETE, +PATRTERZI.COD_FISCALE, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 + THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL + THEN 'NA' + ELSE DESCRIZIONE +END +--- End 2.2 +)H +GROUP BY +RETE, +COD_FISCALE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S103TabellaEmittenti.sql b/sql/storedTestbes/C6Mart_PL_S103TabellaEmittenti.sql new file mode 100644 index 00000000..6e547029 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S103TabellaEmittenti.sql @@ -0,0 +1,177 @@ +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [c6mart].[PL_S103TabellaEmittenti] 'F','BRGGRL48H52G096C' +--select distinct creditriskclass from c6mart.patrimonio_emittenti +CREATE procedure [C6Mart].[PL_S103TabellaEmittenti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +----Issuer +--CreditRisk +select @patr_compl=sum(ctv_prodotto) from +c6mart.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT +COD_FISCALE, +RETE, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +INTERMEDIARIO, +ISSUER, +STOCKSCounterValue, +bondsCounterValue, +CONCENTRATION_ISSUER, +CONCENTRATION, +NC +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + case when sum(copertura) > 0 then 0 else 1 end as nc +FROM +( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + SUM(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + FROM c6mart.PATRIMONIO_EMITTENTI V + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS +) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE + UNION + SELECT + COD_FISCALE, + RETE, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ @patr_compl *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + case when sum(copertura) > 0 then 0 else 1 end as nc +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + SUM(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) AS CONCENTRATION, + sum(copertura) as copertura + FROM c6mart.PATRIMONIO_EMITTENTI V + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + CREDITRISKCLASS +) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S10PatrimonioFinanziario.sql b/sql/storedTestbes/C6Mart_PL_S10PatrimonioFinanziario.sql new file mode 100644 index 00000000..e78ad530 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S10PatrimonioFinanziario.sql @@ -0,0 +1,214 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_S10PatrimonioFinanziario] 'S','LCRGPR67H19Z326U' +--[C6Mart].[PL_S10PatrimonioFinanziario] 'F','CTTCRL43E45H720U' +CREATE procedure [C6Mart].[PL_S10PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT + A.BANCA, + A.ORDINAMENTO, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,5)) Controvalore, + cast(A.Percentuale as decimal(19,5)) Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Banca Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN C6Mart.ClientiConCCNegativo CCNegativo +---- ON PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- --PATRBF.TIPO_PRODOTTO = 'CC' +-- PATRBF.ID_AREA = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- --AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN C6Mart.ASSETCLASS ASSETCLASS + ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +--V Aggiunto controllo che il cvt sia maggiore di zero, altrimenti +-- viene visualizzato sul report una riga con 0 +WHERE A.CONTROVALORE > 0 +ORDER BY A.ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_S10PatrimonioFinanziario] Script Date: 08/02/2022 16:50:06 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +----[C6Mart].[PL_S10PatrimonioFinanziario] 'S','LCRGPR67H19Z326U' +----[C6Mart].[PL_S10PatrimonioFinanziario] 'F','CTTCRL43E45H720U' +--ALTER procedure [C6Mart].[PL_S10PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +--SELECT +-- A.BANCA, +-- A.ORDINAMENTO, +-- A.AssetClassId, +-- A.AssetClassName, +-- cast(A.Controvalore as decimal(19,5)) Controvalore, +-- cast(A.Percentuale as decimal(19,5)) Percentuale, +-- cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +--FROM +--( +-- SELECT DISTINCT +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Banca Fideuram' +-- END AS Banca, +-- ASSETCLASS.ORDINAMENTO, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') +-- ) * 100 AS Percentuale +-- FROM ( +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- and patrbf.id_area <> 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +---- SELECT ASSETPERC.ID_ASSETCLASS, +---- PATRBF.CTV*ASSETPERC.PERC as Controvalore +---- FROM C6MART.PATRIMONIO_BF PATRBF +---- INNER JOIN C6MART.ASSET_PERC ASSETPERC +---- ON PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +---- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +---- AND ASSETPERC.LIVELLO = 1 +------ LEFT OUTER JOIN C6Mart.ClientiConCCNegativo CCNegativo +------ ON PATRBF.RETE = CCNegativo.Rete +------ AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- WHERE +---- --ELIMINO I CC CON SALDO NEGATIVO +---- --PATRBF.TIPO_PRODOTTO = 'CC' +---- PATRBF.ID_AREA = 'CC' +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- --AND CCNegativo.Cod_Fiscale IS NULL +---- UNION ALL +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MART.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- ---ELIMINO GLI SKANDIA +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MART.DETTAGLIO_ASUL ASUL +-- INNER JOIN C6MART.ASSET_PERC ASSETPERC +-- --PRENDO SOLO GLI SKANDIA +-- ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT +-- AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT +-- AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN C6Mart.ASSETCLASS ASSETCLASS +-- ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +----V Aggiunto controllo che il cvt sia maggiore di zero, altrimenti +---- viene visualizzato sul report una riga con 0 +--WHERE A.CONTROVALORE > 0 +--ORDER BY A.ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S170LimitiMassimi.sql b/sql/storedTestbes/C6Mart_PL_S170LimitiMassimi.sql new file mode 100644 index 00000000..cfa3da63 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S170LimitiMassimi.sql @@ -0,0 +1,39 @@ +-- [C6Mart].[PL_S170LimitiMassimi] 'S', 'MRVGRG34L25A984D' +CREATE procedure [C6Mart].[PL_S170LimitiMassimi]--'F','CNCDNL73M56B300U' + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +-- 2/7/2018 - CR NAPOLITANO CASI 11-14 -> Persona Giuridica Retail con Nuovo questionario di profilatura (Legali Rappresentanti/Delegati NON Profilati) +DECLARE @newLimiteProfilo varchar(20) +if [C6Mart].[getIndicatoreValutazione] (@Rete,@CodiceFiscale, 4) = -1 + set @newLimiteProfilo = 'n.d.' +else + select @newLimiteProfilo = + case experience + when 0 then 'Minima' + when 1 then 'Bassa' + when 2 then 'Medio bassa' + when 3 then 'Medio alta' + when 4 then 'Alta' + else '-' + end + from C6Mart.MIFID + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +select 'Limite massimo profilo', + '-' as Controvalore, + isnull(risk.descr, 0) as rischioCreditoMassimo, + isnull(CR.MAX_VAR, 0) as varMassimo, + '-' as Diversificazione, + @newLimiteProfilo as Complessita +from C6Mart.MIFID AS M +left JOIN C6Mart.CODIFICA_RISCHIO AS CR +ON M.PROFILO_ASS = CR.PROFILO +left join [C6Staging].[RISKCLASS] risk +ON m.riskclass = risk.cod +WHERE +M.RETE = @Rete AND +M.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S181PreferenzeESG.sql b/sql/storedTestbes/C6Mart_PL_S181PreferenzeESG.sql new file mode 100644 index 00000000..70891e07 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S181PreferenzeESG.sql @@ -0,0 +1,47 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'VNZGPL53M04L781P' +CREATE procedure [C6Mart].[PL_S181PreferenzeESG] --'W','MLDDND66M21B967S' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT esg.[rete] + ,esg.[cod_fiscale] + ,esg.[Preferenza_esg_cliente] + ,esg.[ESG_E] + ,esg.[ESG_S] + ,esg.[ESG_G] + ,CAST(ROUND(ISNULL(obiettivo_ESG_minimo, 0.00), 2) AS decimal(6, 2)) AS obiettivo_ESG_minimo + ,esg.[ESG_Rating] + ,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_E_perc + ,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_S_perc + ,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS ESG_G_perc + ,case when isnull(ind.percESG,'0.00')>=25 and isnull(ind.percESG,'0.00')<50 then 'Almeno pari al 25%' + when isnull(ind.percESG,'0.00')>=50 and isnull(ind.percESG,'0.00')<75 then 'Almeno pari al 50%' + when isnull(ind.percESG,'0.00')>=75 then 'Almeno pari al 75%' else 'n.d.' end as Pref_Sost + ,case when cle.U_PREFSOST='S' then 'Y' + when cle.U_PREFSOST='N' then 'N' else 'N' end as U_PREFSOST --Ulteriori Preferenze di Sostenibilità ----decommenta per ESG 2024 + ,case when cle.FLAGSFDR='S' then replace(cast(cle.SFDR_PERC as varchar(12)),'.00','')+'%' else '-' end as SFDR_PERC ----decommenta per ESG 2024 + ,case when cle.FLAGTAXO='S' then replace(cast(cle.TAXO_PERC as varchar(12)),'.00','')+'%' else '-' end as TAXO_PERC ----decommenta per ESG 2024 + ,case when cle.PAI_NO_DETT = 'S' then 'Preferisco non dettagliare' --modifica 10122024 Scapellato + when isnull(cle.PAI_A,'')='' then '-' else cle.PAI_A end as PAI_A + ,case when cle.PAI_NO_DETT = 'S' then 'Preferisco non dettagliare' --modifica 10122024 Scapellato + when isnull(cle.PAI_S,'')='' then '-' else cle.PAI_S end as PAI_S + ,case when ESG_E='Y' then cle.PERCAMB_OK ELSE NULL END AS E_PERC_OK--,CAST(ROUND(ISNULL(ESG_E_perc, 0.00), 2) AS decimal(6, 2)) AS E_PERC_OK ----decommenta per ESG 2024 + ,case when ESG_S='Y' then cle.PERCSOC_OK ELSE NULL END AS S_PERC_OK--,CAST(ROUND(ISNULL(ESG_S_perc, 0.00), 2) AS decimal(6, 2)) AS S_PERC_OK ----decommenta per ESG 2024 + ,case when ESG_G='Y' then cle.PERCGOV_OK ELSE NULL END AS G_PERC_OK--,CAST(ROUND(ISNULL(ESG_G_perc, 0.00), 2) AS decimal(6, 2)) AS G_PERC_OK ----decommenta per ESG 2024 + FROM [C6StampeCentralizzate].[C6Mart].[BrsClienteESG] esg + left join c6staging.VAR_ADEGUATEZZA_INDICATORI ind + on ind.rete=esg.rete and ind.CODICE_FISCALE=esg.cod_fiscale + left join C6Mart.W6CLIESG cle + on ind.rete=cle.rete and ind.CODICE_FISCALE=cle.CODFIS +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024.sql b/sql/storedTestbes/C6Mart_PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024.sql new file mode 100644 index 00000000..bc720553 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024.sql @@ -0,0 +1,34 @@ +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +-- [C6MartPeriodico].[PL_S172PreferenzeESG] 'S', 'VNZGPL53M04L781P' +CREATE procedure [C6Mart].[PL_S181PreferenzeESG_bkp_20250228_Pre_ESG2024] --'F','FRLNCT38L47F205E' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT esg.[rete] + ,esg.[cod_fiscale] + ,esg.[Preferenza_esg_cliente] + ,esg.[ESG_E] + ,esg.[ESG_S] + ,esg.[ESG_G] + ,esg.[obiettivo_ESG_minimo] + ,esg.[ESG_Rating] + ,esg.[ESG_E_perc] + ,esg.[ESG_S_perc] + ,esg.[ESG_G_perc] + ,case when isnull(ind.percESG,'0.00')>=25 and isnull(ind.percESG,'0.00')<50 then 'Almeno pari al 25%' + when isnull(ind.percESG,'0.00')>=50 and isnull(ind.percESG,'0.00')<75 then 'Almeno pari al 50%' + when isnull(ind.percESG,'0.00')>=75 then 'Almeno pari al 75%' else 'n.d.' end as Pref_Sost + FROM [C6StampeCentralizzate].[C6Mart].[BrsClienteESG] esg + left join c6staging.VAR_ADEGUATEZZA_INDICATORI ind + on ind.rete=esg.rete and ind.CODICE_FISCALE=esg.cod_fiscale +WHERE 1 = 1 + AND esg.RETE = @Rete + AND esg.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S182BISDettaglioProdottiESG.sql b/sql/storedTestbes/C6Mart_PL_S182BISDettaglioProdottiESG.sql new file mode 100644 index 00000000..e9710da7 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S182BISDettaglioProdottiESG.sql @@ -0,0 +1,253 @@ +CREATE procedure [C6Mart].[PL_S182BISDettaglioProdottiESG] --'S','SNTCHR80A61D612V' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +0 as ORDINAMENTO_PROGETTO, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + --CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + --SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + --CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + --CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS versato_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' +-- THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) +-- ELSE NULL +-- END AS MinusPlusValenza_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS MinusPlusValenza_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF +-- ELSE NULL +-- END AS somma_var_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA +-- ELSE NULL +-- END AS somma_copertura_need_prog, +-- cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c.') AS var_needareaString, +-- CASE +-- --WHEN ISNULL(RISCHIO_AGGR_AREA.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' +-- WHEN ISNULL(RISCHIO_AGGR_AREA.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII +-- WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' +-- THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- +-- ELSE NULL +-- END as var_needareaString, +-- CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL(5,2)) AS copertura_needarea, +-- CASE +-- WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 +-- --Valerio danilo THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- ELSE NULL +-- END AS copertura_needareaString, +-- RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, + --CASE WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as var_need_progString, +-- CASE + --WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' +-- WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END as var_need_progString, +-- RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + case when ESG_E = 'SI' then 'Sì' else 'No' end as ESG_E, + case when ESG_S = 'SI' then 'Sì' else 'No' end as ESG_S, + case when ESG_G = 'SI' then 'Sì' else 'No' end as ESG_G, + case when CatSFDR <> '' then esg.CatSFDR else '-' end as CatSFDR, + case when ESGRating <> '' then esg.esgrating else '-' end as ESGRating, + case when TrendESGRating <> '' then esg.TrendESGRating else '-' end as TrendESGRating, + PATRBF.CTV AS Controvalore, +-- PATRBF.VERSATO_NETTO AS VersatoNetto, +-- CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +-- PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, +-- CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, + --RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- case when (patrbf.tipo_prodotto ='CC') then 0.00 +-- else RISCHIO_PROD.VAR_PERC_PTF +-- end AS VaRprodotto, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 THEN 'n.c.' --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- WHEN patrbf.isin in('EURO00000009', 'EURO10000007' ) THEN 'n.c.' +-- ELSE NULL END as varProdottoString, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + -- WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +-- ELSE NULL END as varProdottoString, +-- RISCHIO_PROD.Copertura AS Coperturaprodotto, + PATRBF.REND_ANNO AS PerformanceYTD, + PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +-- PARTVIA_DISINV AS partitaViaggiante, +-- CASE +-- WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 THEN '*' +-- ELSE NULL +-- END AS nota_needarea, +-- RISCHIO_PROD.CREDITRISK as creditrisk, +--CASE +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' +-- ELSE NULL +-- END as creditriskstring, +-- +-- +-- RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + patrbf.tipo_prodotto as Tipo_Prodotto +into #temp +FROM +C6MART.PATRIMONIO_BF PATRBF +INNER JOIN +C6MART.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_PROD +-- ON PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +---- CASE +---- WHEN AREA.ID_AREA = 'Na' THEN 'RISORSENONASSOCIATE|' +---- ELSE +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL)-- AND (LEFT(PATRBF.ID_AREA,3)<>'Na' Or PATRBF.NOME_PROGETTO <> 'Default') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' +-- when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' +-- ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- END +---- END + PATRBF.POSITION_ID +-- + PATRBF.POSITION_ID +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG +-- ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE +-- AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA +-- ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- case +-- when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' +-- else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) +-- end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +left join [C6Staging].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 + AND AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +--Bido + --AND ( + --PATRBF.CTV > 0 + --OR ( PATRBF.CTV < 0 AND patrbf.tipo_prodotto = 'cc' ) + --) +-- +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END , nome_progetto, PATRBF.CTV DESC +select top (1) + 'Tot_P' as needarea, + 'TOTALE PATRIMONIO' as needareades, + '103' as areasortorder, + '' as nome_progetto, + 0 as ordinamento_progetto, + 0.00 as somma_controval_needarea, + 0.00 as somma_controval_need_prog, + 0.00 as versato_need_prog, + '' as dataSottoscrizione, + '' as ContrattoDossier, + '' as Descrizione, + '' as ESG_E, + '' as ESG_S, + '' as ESG_G, + '' as CatSFDR, + '' as ESGRating, + '' as TrendESGRating, + sum(Controvalore) as Controvalore, + 0.00 as PerformanceYTD, + 0.00 as PerformanceDS, + '' as TipoProdotto + from #temp +END +--PRINT N'Altering [C6Mart].[PL_D2_S171PatrimonioNonRappresentabileAssettClass]' \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S182DettaglioProdottiESG.sql b/sql/storedTestbes/C6Mart_PL_S182DettaglioProdottiESG.sql new file mode 100644 index 00000000..bf983e64 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S182DettaglioProdottiESG.sql @@ -0,0 +1,245 @@ +CREATE procedure [C6Mart].[PL_S182DettaglioProdottiESG] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +0 as ORDINAMENTO_PROGETTO, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + --CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + --SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + --CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + --CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS versato_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' +-- THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) +-- ELSE NULL +-- END AS MinusPlusValenza_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS MinusPlusValenza_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF +-- ELSE NULL +-- END AS somma_var_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA +-- ELSE NULL +-- END AS somma_copertura_need_prog, +-- cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c.') AS var_needareaString, +-- CASE +-- --WHEN ISNULL(RISCHIO_AGGR_AREA.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' +-- WHEN ISNULL(RISCHIO_AGGR_AREA.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII +-- WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' +-- THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- +-- ELSE NULL +-- END as var_needareaString, +-- CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL(5,2)) AS copertura_needarea, +-- CASE +-- WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 +-- --Valerio danilo THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- ELSE NULL +-- END AS copertura_needareaString, +-- RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, + --CASE WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as var_need_progString, +-- CASE + --WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' +-- WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END as var_need_progString, +-- RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + case when ESG_E = 'SI' then 'Sì' else 'No' end as ESG_E, + case when ESG_S = 'SI' then 'Sì' else 'No' end as ESG_S, + case when ESG_G = 'SI' then 'Sì' else 'No' end as ESG_G, + case when CatSFDR <> '' then esg.CatSFDR else '-' end as CatSFDR, + case when ESGRating <> '' then esg.esgrating else '-' end as ESGRating, + case when TrendESGRating <> '' then esg.TrendESGRating else '-' end as TrendESGRating, + PATRBF.CTV AS Controvalore, +-- PATRBF.VERSATO_NETTO AS VersatoNetto, +-- CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +-- PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, +-- CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, + --RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- case when (patrbf.tipo_prodotto ='CC') then 0.00 +-- else RISCHIO_PROD.VAR_PERC_PTF +-- end AS VaRprodotto, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 THEN 'n.c.' --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- WHEN patrbf.isin in('EURO00000009', 'EURO10000007' ) THEN 'n.c.' +-- ELSE NULL END as varProdottoString, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + -- WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +-- ELSE NULL END as varProdottoString, +-- RISCHIO_PROD.Copertura AS Coperturaprodotto, + PATRBF.REND_ANNO AS PerformanceYTD, + PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +-- PARTVIA_DISINV AS partitaViaggiante, +-- CASE +-- WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 THEN '*' +-- ELSE NULL +-- END AS nota_needarea, +-- RISCHIO_PROD.CREDITRISK as creditrisk, +--CASE +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' +-- ELSE NULL +-- END as creditriskstring, +-- +-- +-- RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + patrbf.tipo_prodotto as Tipo_Prodotto + -- ,CASE + -- WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' + -- ELSE 'N' end as ESG_E_PROD_CLI,----decommenta per ESG 2024 + --CASE + -- WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' + -- ELSE 'N' end as ESG_S_PROD_CLI,----decommenta per ESG 2024 + --CASE + -- WHEN CAST(NEWID() AS BINARY(1)) % 2 = 0 THEN 'S' +-- ELSE 'N' end as ESG_G_PROD_CLI ----decommenta per ESG 2024 + ,case when isnull(cat.esg_e_prod_cli,'N')='Y' then 'S' else 'N' end as esg_e_prod_cli + ,case when isnull(cat.esg_s_prod_cli,'N')='Y' then 'S' else 'N' end as esg_s_prod_cli + ,case when isnull(cat.esg_g_prod_cli,'N')='Y' then 'S' else 'N' end as esg_g_prod_cli +FROM +C6MART.PATRIMONIO_BF PATRBF +INNER JOIN +C6MART.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_PROD +-- ON PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +---- CASE +---- WHEN AREA.ID_AREA = 'Na' THEN 'RISORSENONASSOCIATE|' +---- ELSE +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL)-- AND (LEFT(PATRBF.ID_AREA,3)<>'Na' Or PATRBF.NOME_PROGETTO <> 'Default') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' +-- when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' +-- ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- END +---- END + PATRBF.POSITION_ID +-- + PATRBF.POSITION_ID +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG +-- ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE +-- AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA +-- ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- case +-- when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' +-- else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) +-- end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +left join [C6Staging].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) + left join c6mart.W6CATESG cat + on PATRBF.cod_prodotto = cat.PRODOTTO_ID + AND PATRBF.rete = cat.rete + AND PATRBF.COD_FISCALE =cat.codfis +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 + AND AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +--Bido + --AND ( + --PATRBF.CTV > 0 + --OR ( PATRBF.CTV < 0 AND patrbf.tipo_prodotto = 'cc' ) + --) +-- +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END , nome_progetto, PATRBF.CTV DESC +END +--PRINT N'Altering [C6Mart].[PL_D2_S171PatrimonioNonRappresentabileAssettClass]' \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024.sql b/sql/storedTestbes/C6Mart_PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024.sql new file mode 100644 index 00000000..08067392 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024.sql @@ -0,0 +1,229 @@ +CREATE procedure [C6Mart].[PL_S182DettaglioProdottiESG_bkp_20250228_Pre_ESG2024] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +0 as ORDINAMENTO_PROGETTO, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + --CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + --SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + --CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + --CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS versato_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' +-- THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) +-- ELSE NULL +-- END AS MinusPlusValenza_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL +-- WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 +-- THEN 'n.d.' +-- ELSE NULL +-- END AS MinusPlusValenza_need_progString, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF +-- ELSE NULL +-- END AS somma_var_need_prog, +-- CASE +-- WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA +-- ELSE NULL +-- END AS somma_copertura_need_prog, +-- cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c.') AS var_needareaString, +-- CASE +-- --WHEN ISNULL(RISCHIO_AGGR_AREA.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' +-- WHEN ISNULL(RISCHIO_AGGR_AREA.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII +-- WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' +-- THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- +-- ELSE NULL +-- END as var_needareaString, +-- CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL(5,2)) AS copertura_needarea, +-- CASE +-- WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 +-- --Valerio danilo THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +-- ELSE NULL +-- END AS copertura_needareaString, +-- RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, + --CASE WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as var_need_progString, +-- CASE + --WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' +-- WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END as var_need_progString, +-- RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + case when ESG_E = 'SI' then 'Sì' else 'No' end as ESG_E, + case when ESG_S = 'SI' then 'Sì' else 'No' end as ESG_S, + case when ESG_G = 'SI' then 'Sì' else 'No' end as ESG_G, + case when CatSFDR <> '' then esg.CatSFDR else '-' end as CatSFDR, + case when ESGRating <> '' then esg.esgrating else '-' end as ESGRating, + case when TrendESGRating <> '' then esg.TrendESGRating else '-' end as TrendESGRating, + PATRBF.CTV AS Controvalore, +-- PATRBF.VERSATO_NETTO AS VersatoNetto, +-- CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +-- PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, +-- CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, + --RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- case when (patrbf.tipo_prodotto ='CC') then 0.00 +-- else RISCHIO_PROD.VAR_PERC_PTF +-- end AS VaRprodotto, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 THEN 'n.c.' --commentata per assenza o,oo per i cc fideuram il 29/4/2020 +-- WHEN patrbf.isin in('EURO00000009', 'EURO10000007' ) THEN 'n.c.' +-- ELSE NULL END as varProdottoString, +-- CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + -- WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +-- ELSE NULL END as varProdottoString, +-- RISCHIO_PROD.Copertura AS Coperturaprodotto, + PATRBF.REND_ANNO AS PerformanceYTD, + PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +-- PARTVIA_DISINV AS partitaViaggiante, +-- CASE +-- WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 THEN '*' +-- ELSE NULL +-- END AS nota_needarea, +-- RISCHIO_PROD.CREDITRISK as creditrisk, +--CASE +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' +-- ELSE NULL +-- END as creditriskstring, +-- +-- +-- RISCHIO_PROD.CREDITRISKEMIT as creditriskemit, + patrbf.tipo_prodotto as Tipo_Prodotto +FROM +C6MART.PATRIMONIO_BF PATRBF +INNER JOIN +C6MART.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_PROD +-- ON PATRBF.RETE= RISCHIO_PROD.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE +-- AND RISCHIO_PROD.COD_AGGREG = +---- CASE +---- WHEN AREA.ID_AREA = 'Na' THEN 'RISORSENONASSOCIATE|' +---- ELSE +-- CASE +-- WHEN (PATRBF.NOME_PROGETTO IS NOT NULL)-- AND (LEFT(PATRBF.ID_AREA,3)<>'Na' Or PATRBF.NOME_PROGETTO <> 'Default') +-- THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' +-- when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' +-- ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' +-- END +---- END + PATRBF.POSITION_ID +-- + PATRBF.POSITION_ID +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG +-- ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE +-- AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +--LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA +-- ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE +-- AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- case +-- when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' +-- else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) +-- end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +left join [C6Staging].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 + AND AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +--Bido + --AND ( + --PATRBF.CTV > 0 + --OR ( PATRBF.CTV < 0 AND patrbf.tipo_prodotto = 'cc' ) + --) +-- +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END , nome_progetto, PATRBF.CTV DESC +END +--PRINT N'Altering [C6Mart].[PL_D2_S171PatrimonioNonRappresentabileAssettClass]' \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S183iCapital.sql b/sql/storedTestbes/C6Mart_PL_S183iCapital.sql new file mode 100644 index 00000000..623eff28 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S183iCapital.sql @@ -0,0 +1,88 @@ +--Inv Investimento 021233XY004 BLACK ROCK EQT X 20230215 99999999 300000.000 0.000 300000.000 +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_S183iCapital] --'S','DGSMHL70H08Z404F' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +--SELECT +-- 'Inv' as CodArea, +-- 'Investimento' as NomeArea, +-- '954572CO210' as CodiceContratto, +-- 'BlackRock' as ContrattoSGR, +-- 'Prodotto di Test' as NomeProdotto, +-- cast('05/04/2022' as varchar) as DataInizio, +-- cast('15/01/2023' as varchar) as DataFine, +-- cast('23468.230' as varchar) as Totale, +-- cast('632.234' as varchar) as ImportoVersato, +-- cast('326.263' as varchar) as ImportoDaVersare +-- union all +-- SELECT +-- 'Inv' as CodArea, +-- 'Investimento' as NomeArea, +-- '954572CO210' as CodiceContratto, +-- 'Fideuram' as ContrattoSGR, +-- 'Test con stesso NomeProdotto' as NomeProdotto, +-- cast('05/03/2022' as varchar) as DataInizio, +-- cast('15/02/2023' as varchar) as DataFine, +-- cast('238.230' as varchar) as Totale, +-- cast('2.234' as varchar) as ImportoVersato, +-- cast('36.263' as varchar) as ImportoDaVersare +-- union all +-- SELECT +-- 'Ris' as CodArea, +-- 'Riserva' as NomeArea, +-- '000000CO111' as CodiceContratto, +-- 'Fideuram' as ContrattoSGR, +-- 'Prodotto con codice diverso' as NomeProdotto, +-- cast('05/12/2020' as varchar) as DataInizio, +-- cast('15/01/2012' as varchar) as DataFine, +-- cast('23328.230' as varchar) as Totale, +-- cast('2123.234' as varchar) as ImportoVersato, +-- cast('362.263' as varchar) as ImportoDaVersare + SELECT +distinct +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS Codarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS NomeArea, +--CASE + --WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + --ELSE AREA.ORDINAMENTO +--END AS OrdineArea, +iCap.codconf as CodiceContratto, +iCap.sgr as ContrattoSGR, +iCap.descprod as NomeProdotto, +iCap.dtiniz as DataInizio, +iCap.dtfine as DataFine, +iCap.CTV_COMMIT as Totale, +iCap.impvers as ImportoVersato, +iCap.impres as ImportoDaVersare +from C6Mart.PATRIMONIO_BF PATRBF +INNER JOIN +C6Mart.AREA_BISOGNO AREA +ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +inner join C6Mart.WSEICAP iCap +on icap.codconf=PATRBF.ID_CONTRATTO +and icap.subprod=PATRBF.COD_SOTTOPRODOTTO +and icap.isin=patrbf.ISIN +where patrbf.RETE=@Rete +and patrbf.COD_FISCALE=@CodiceFiscale +--select top(1) Codarea,NomeArea,CodiceContratto,ContrattoSGR,NomeProdotto,DataInizio,DataFine, +--cast(Totale as decimal(15,2))as Totale, +--cast(ImportoVersato as decimal(15,2))as ImportoVersato , +--cast(ImportoDaVersare as decimal(15,2)) as ImportoDaVersare +--from C6MartPeriodico.test_icapital +--where rete=@rete and CODiceFISCALE=@CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S184CoerenzaESG.sql b/sql/storedTestbes/C6Mart_PL_S184CoerenzaESG.sql new file mode 100644 index 00000000..bc9d5f6e --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S184CoerenzaESG.sql @@ -0,0 +1,24 @@ +--Inv Investimento 021233XY004 BLACK ROCK EQT X 20230215 99999999 300000.000 0.000 300000.000 +-- Stored procedure +-- ============================================= +-- Author: Simone D'Elia +-- Create date: Aprile 2022 +-- Description: +-- ============================================= +create procedure [C6Mart].[PL_S184CoerenzaESG] --'S','DGSMHL70H08Z404F' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +select Rete, + Codice_Fiscale, + case when percESG=25.00 then 'Almeno pari al 25%' + when percESG=50.00 then 'Almeno pari al 50%' + when percESG=75.00 then 'Almeno pari al 75%' + else 'n.d.' end as percESG, + pesoSostESG, + case when pesoSostESG>=percESG then 'S' else 'N' end as Coerenza +from C6Staging.VAR_ADEGUATEZZA_INDICATORI +where Rete=@Rete and CODICE_FISCALE=@CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S185UCaratteristicheESG.sql b/sql/storedTestbes/C6Mart_PL_S185UCaratteristicheESG.sql new file mode 100644 index 00000000..d3671b8b --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S185UCaratteristicheESG.sql @@ -0,0 +1,116 @@ +CREATE procedure [C6Mart].[PL_S185UCaratteristicheESG] --'F','DCRCRL47S11D612N' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT + patrbf.cod_prodotto as COD_PRODOTTO, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, +CASE + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',') --+ '%' +END AS PERC_INVESTIMENTO_SFDR, +--aggiunta ESG 2024 +CASE + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 ----decommenta per ESG 2024 + THEN '-' ----decommenta per ESG 2024 + ELSE ----decommenta per ESG 2024 + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVEST_SFDR_MIN_SUST_E), '.', ',')-- + '%' ----decommenta per ESG 2024 +END AS PERC_INVESTIMENTO_SFDR_AMB, ----decommenta per ESG 2024 + --decommenta per ESG 2024 + --decommenta per ESG 2024 +CASE ----decommenta per ESG 2024 + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 ----decommenta per ESG 2024 + THEN '-' ----decommenta per ESG 2024 + ELSE ----decommenta per ESG 2024 + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVEST_SFDR_MIN_SUST_S), '.', ',')-- + '%' ----decommenta per ESG 2024 +END AS PERC_INVESTIMENTO_SFDR_SOC, ----decommenta per ESG 2024 + CASE + WHEN ISNULL(esg.PERC_INVESTIMENTO_TAXONOMY, 0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_TAXONOMY), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_TAXONOMY, + isnull(esg.label_PAI_A,'-') as label_PAI_A, + isnull(esg.Label_PAI_S,'-') as label_PAI_S, + isnull(esg.Label_U_INFO_ESG,'-') as Label_U_INFO_ESG, + PATRBF.CTV AS Controvalore, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea + --V +FROM +C6MART.PATRIMONIO_BF PATRBF +INNER JOIN +C6MART.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +left join [C6Staging].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 + AND AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END , nome_progetto, PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024.sql b/sql/storedTestbes/C6Mart_PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024.sql new file mode 100644 index 00000000..f48319f2 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024.sql @@ -0,0 +1,101 @@ +CREATE procedure [C6Mart].[PL_S185UCaratteristicheESG_bkp_20250228_Pre_ESG2024] --'F','DCRCRL47S11D612N' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007' ) + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT + patrbf.cod_prodotto as COD_PRODOTTO, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, +CASE + WHEN isnull(esg.PERC_INVESTIMENTO_SFDR,0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_SFDR), '.', ',') --+ '%' +END AS PERC_INVESTIMENTO_SFDR, + CASE + WHEN ISNULL(esg.PERC_INVESTIMENTO_TAXONOMY, 0.00) = 0.00 + THEN '-' + ELSE + REPLACE(CONVERT(VARCHAR(10), esg.PERC_INVESTIMENTO_TAXONOMY), '.', ',')-- + '%' +END AS PERC_INVESTIMENTO_TAXONOMY, + isnull(esg.label_PAI_A,'-') as label_PAI_A, + isnull(esg.Label_PAI_S,'-') as label_PAI_S, + isnull(esg.Label_U_INFO_ESG,'-') as Label_U_INFO_ESG, + PATRBF.CTV AS Controvalore, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea + --V +FROM +C6MART.PATRIMONIO_BF PATRBF +INNER JOIN +C6MART.ANAG_PRODOTTI ANAGPROD + ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +left join [C6Staging].[ESG_ANAG_METRICHE] esg +on esg.cod_prodotto = ANAGPROD.COD_PRODOTTO +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 + AND AREA.ORDINAMENTO in (1,2,3,4,5,8,9) --aggiunto 10/10/2022 per non far uscire le risorse non allocate e c/c negativi +ORDER BY + CASE + when AREA.ORDINAMENTO = 10 then 10 + when AREA.ORDINAMENTO = 5 then 5 + when AREA.ORDINAMENTO = 4 then 4 + WHEN AREA.ORDINAMENTO = 8 or area.ORDINAMENTO = 9 then 3 + when AREA.ORDINAMENTO = 3 then 3 + when AREA.ORDINAMENTO = 2 then 2 + when AREA.ORDINAMENTO = 1 then 1 + ELSE 3 +END , nome_progetto, PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S186DettaglioPortafoglioSei.sql b/sql/storedTestbes/C6Mart_PL_S186DettaglioPortafoglioSei.sql new file mode 100644 index 00000000..4b285ce6 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S186DettaglioPortafoglioSei.sql @@ -0,0 +1,64 @@ +CREATE procedure [C6Mart].[PL_S186DettaglioPortafoglioSei] --'F','RMNFNC55T03A783I' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @appo table +( + [BFCTV] [decimal](15, 2) NULL, + [PatrimonioTerziCTV] [decimal](15, 2) NULL, + [FinanziarioCTV] [decimal](16, 2) NULL, + [FinanziarioPerc] [decimal](6, 2) NULL, + [ImmobiliareCTV] [decimal](15, 2) NULL, + [ImmobiliarePerc] [decimal](6, 2) NULL, + [AltroCTV] [decimal](15, 2) NULL, + [AltroPerc] [decimal](6, 2) NULL, + [TotaleCTV] [decimal](15, 2) NULL, + [ImmobiliarePQCTV] [decimal](15, 2) NULL +) +--creo le tabelle di appoggio +insert into @appo exec [C6Mart].[PL_D2_S152Patrimonio] @Rete,@CodiceFiscale +declare @TotCTV [decimal](15, 2) =(select [BFCTV] from @appo) +SELECT + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATRBF.CTV AS Controvalore, + SUM(PATRBF.CTV) OVER() AS SommaProdottiEsclusi, + --@TotCTV as PatrimonioFideuram, + SUM(CASE + WHEN PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV < 0 THEN 0 + ELSE PATRBF.CTV + END) OVER() AS SommaProdottiEsclusi, --per escludere i CC a Saldo Negativo +@TotCTV as PatrimonioFideuram, +@TotCTV-SUM(CASE + WHEN PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV < 0 THEN 0 + ELSE PATRBF.CTV + END) OVER() AS PortafoglioSei + --@TotCTV-SUM(PATRBF.CTV) OVER() as PortafoglioSei +FROM C6MART.PATRIMONIO_BF PATRBF +INNER JOIN C6MART.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + --AND ( + -- (PATRBF.TIPO_PRODOTTO = 'CC' AND PATRBF.CTV > 0) OR --per eliminare i CC a saldo Negativo + -- (PATRBF.TIPO_PRODOTTO <> 'CC' AND PATRBF.CTV <> 0) + -- ) + and PATRBF.Nob_Prez='S' + order by PATRBF.CTV desc +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S187SfdrTaxESG.sql b/sql/storedTestbes/C6Mart_PL_S187SfdrTaxESG.sql new file mode 100644 index 00000000..1de2c0c3 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S187SfdrTaxESG.sql @@ -0,0 +1,98 @@ +--select * from wh.Maledetti +CREATE procedure [C6Mart].[PL_S187SfdrTaxESG]-- 'F','FRDGGN27C43L194Y' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6Mart.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale +declare @U_PREFSOST varchar(2) +select @U_PREFSOST=U_PREFSOST from [C6Mart].[W6CliESG] where rete=@Rete and codfis=@CodiceFiscale +if(@pref_esg='1' AND @U_PREFSOST='S') +begin + select + 1 as ID, + 'Prodotti sostenibili SFDR' as Descrizione, + replace(cast(isnull(cli.SFDR_PERCT,0.00) as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union + select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(isnull(cli.SFDR_PERC_OK,000) as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,case when cli.FLAGSFDR='N' then 'Y' + else 'N' end as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 3 as ID, + 'Prodotti non sostenibili' as Descrizione, + replace(cast((100-isnull(cli.SFDR_PERCT,0.00))as varchar(16)),'.',',') as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'SFDR' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 5 as ID, + 'Prodotti ecosostenibili Taxonomy' as Descrizione, + replace(cast(isnull(cli.TAXO_PERCT,0.00) as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast (isnull(cli.TAXO_PERC_OK,0.00) as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,case when cli.FLAGTAXO='N' then 'Y' + else 'N' end as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 7 as ID, + 'Prodotti non ecosostenibili' as Descrizione, + replace(cast((100-isnull(cli.TAXO_PERCT,0.00)) as varchar(16)),'.',',') as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'Taxonomy' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale +-- select * from [C6Mart].[W6CliESG] cli +end +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S188PaiESG.sql b/sql/storedTestbes/C6Mart_PL_S188PaiESG.sql new file mode 100644 index 00000000..06cdf8e0 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S188PaiESG.sql @@ -0,0 +1,88 @@ +--select * from wh.Maledetti +CREATE procedure [C6Mart].[PL_S188PaiESG]-- 'F','FRDGGN27C43L194Y' + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +declare @pref_esg varchar(2) +select @pref_esg=Preferenza_esg_cliente from C6Mart.BrsClienteESG where rete=@Rete and cod_fiscale=@CodiceFiscale +declare @U_PREFSOST varchar(2) +select @U_PREFSOST=U_PREFSOST from [C6Mart].[W6CliESG] where rete=@Rete and codfis=@CodiceFiscale +if(@pref_esg='1' and @U_PREFSOST='S') +begin +select 1 as ID, + 'Prodotti che considerano almeno un PAI ambientale' as Descrizione, + replace(cast(isnull(cli.PAIA_PERCT,0.00) as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 2 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(isnull(cli.PAIA_PERC_OK,0.00) as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,case when isnull(cli.PAI_A,'')='' then 'Y' + else 'N' end as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 3 as ID, + 'Prodotti che non considerano PAI ambientali' as Descrizione, + replace(cast((100-isnull(cli.PAIA_PERCT,0.00)) as varchar(16)),'.',',') as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 4 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Ambientali' as Tabella + ,'N' as isNA + union +select 5 as ID, + 'Prodotti che considerano almeno un PAI sociale' as Descrizione, + replace(cast(isnull(cli.PAIS_PERCT,0.00) as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 6 as ID, + 'di cui in linea con le Preferenze di Sostenibilità' as Descrizione, + replace(cast(isnull(cli.PAIS_PERC_OK,0.00) as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,case when isnull(cli.PAI_S,'')='' then 'Y' + else 'N' end as isNA +from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 7 as ID, + 'Prodotti che non considerano PAI sociali' as Descrizione, + replace(cast((100-isnull(cli.PAIS_PERCT,0.00)) as varchar(16)),'.',',') as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +from [C6Mart].[W6CliESG] cli + WHERE 1 = 1 + AND cli.RETE = @Rete + AND cli.CODFIS =@CodiceFiscale + union +select 8 as ID, + 'TOTALE' as Descrizione, + '100,00' as Peso, + 'PAI Sociali' as Tabella + ,'N' as isNA +end +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S18PatrimonioFinanziarioRischio.sql b/sql/storedTestbes/C6Mart_PL_S18PatrimonioFinanziarioRischio.sql new file mode 100644 index 00000000..3618db4a --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S18PatrimonioFinanziarioRischio.sql @@ -0,0 +1,86 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S18PatrimonioFinanziarioRischio] 'F','SMPSMN76C26L157Y' +CREATE procedure [C6Mart].[PL_S18PatrimonioFinanziarioRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + DECLARE @varComplessivo DECIMAL(12,3) + DECLARE @varBF DECIMAL(12,3) + DECLARE @varTerzi DECIMAL(12,3) + DECLARE @coperturaBF DECIMAL(12,3) + DECLARE @coperturaTERZI DECIMAL(12,3) + DECLARE @coperturaCOMPLESSIVO DECIMAL(12,3) + DECLARE @codiceProfilo SMALLINT + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + SELECT + @varComplessivo = VAR_PERC_PTF, + @coperturaCOMPLESSIVO = COPERTURA + FROM + C6Mart.RISCHIO_AGGREGATO AS RA + WHERE + RA.RETE = @Rete AND + RA.COD_FISCALE = @CodiceFiscale AND + RA.COD_AGGREG = 'COMPLESSIVO' + SELECT + @varBF = VAR_PERC_PTF, + @coperturaBF = COPERTURA + FROM + C6Mart.RISCHIO_AGGREGATO AS RA + WHERE + RA.RETE = @Rete AND + RA.COD_FISCALE = @CodiceFiscale AND + RA.COD_AGGREG = 'COMPLESSIVO|BF' + SELECT + @varTerzi = VAR_PERC_PTF, + @coperturaTERZI = COPERTURA + FROM + C6Mart.RISCHIO_AGGREGATO AS RA + WHERE + RA.RETE = @Rete AND + RA.COD_FISCALE = @CodiceFiscale AND + RA.COD_AGGREG = 'COMPLESSIVO|TERZI' + SELECT + @codiceProfilo = M.PROFILO_ASS, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = CR.DESCRIZIONE + FROM + C6Mart.MIFID AS M + INNER JOIN C6Mart.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + SELECT + @codiceProfilo as codiceProfilo, + @varProfilo as varProfilo, +-- isnull(@varComplessivo,0) as varComplessivo, +-- isnull(@varBF,0) as varBF, +-- isnull(@varTerzi,0) as varTerzi, + @varComplessivo as varComplessivo, + @varBF as varBF, + @varTerzi as varTerzi, + CASE + WHEN @coperturaCOMPLESSIVO IS NULL THEN 'n.c.' + WHEN @coperturaCOMPLESSIVO = 0 THEN 'n.c.' + ELSE NULL + END AS varComplessivoString, + CASE + WHEN @coperturaBF IS NULL THEN 'n.c.' + WHEN @coperturaBF = 0 THEN 'n.c.' + ELSE NULL + END AS varBFString, + CASE + WHEN @coperturaTERZI IS NULL THEN 'n.c.' + WHEN @coperturaTERZI = 0 THEN 'n.c.' + ELSE NULL + END AS varTerziString, + isnull(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S1Patrimonio.sql b/sql/storedTestbes/C6Mart_PL_S1Patrimonio.sql new file mode 100644 index 00000000..2f2d35d9 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S1Patrimonio.sql @@ -0,0 +1,101 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].PL_S1Patrimonio 'F','BRTVTR64T13L219G' +CREATE procedure [C6Mart].[PL_S1Patrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT @PatrimonioBF=SUM(CTV) + FROM C6Mart.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + and patrBF.Cod_Fiscale = @CodiceFiscale + and patrBF.id_area <> 'CC' + --select '@PaRT_VIAGGIANTI' + SELECT @Part_viaggianti=SUM(IMPORTO) + from + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Mart.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Mart.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) H + --select '@PatrimonioBF',@PatrimonioBF + SELECT @PatrimonioTerzi=SUM(ROUND(CTV,2)) + FROM C6Mart.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + --select '@PatrimonioTerzi',@PatrimonioTerzi + SELECT @PatrimonioImmobiliare=SUM(patrImm.VALORE_STIMATO) + FROM C6Mart.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + --select '@PatrimonioImmobiliare',@PatrimonioImmobiliare +-- SELECT @CCBF=SUM(ccBB.saldo) +-- FROM C6Mart.ANAG_CC ccBB +-- WHERE +-- ccBB.Rete = @Rete +-- and ccBB.Cod_Fiscale = @CodiceFiscale + --select '@CCBF',@CCBF + SELECT @PatrimonioAltro=SUM(patrAltro.ctv) + FROM C6Mart.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + and patrAltro.Cod_Fiscale = @CodiceFiscale + --select '@PatrimonioAltro',@PatrimonioAltro + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF+ @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + --SET @CCBF = coalesce(@CCBF,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) +-- SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro+@CCBF,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + --select '@PatrimonioTotale',@PatrimonioTotale +-- SELECT @PatrimonioBF + @CCBF as BFCTV, +-- @PatrimonioTerzi as PatrimonioTerziCTV, +-- @PatrimonioBF + @CCBF +@PatrimonioTerzi as FinanziarioCTV, +-- cast((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @CCBF + @PatrimonioTerzi)/ @PatrimonioTotale end) as Decimal(15,2)) * 100.00 as FinanziarioPerc, +-- @PatrimonioImmobiliare as ImmobiliareCTV, +-- cast(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end as Decimal(15,2)) *100.00 as ImmobiliarePerc, +-- @PatrimonioAltro as AltroCTV, +-- cast(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end as Decimal(15,2)) *100.00 as AltroPerc, +-- @PatrimonioTotale as TotaleCTV + SELECT @PatrimonioBF as BFCTV, + @PatrimonioTerzi as PatrimonioTerziCTV, + @PatrimonioBF + @PatrimonioTerzi as FinanziarioCTV, + --cast((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) as Decimal(15,2)) * 100.00 as FinanziarioPerc, + convert(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) as FinanziarioPerc, + @PatrimonioImmobiliare as ImmobiliareCTV, + --cast(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end as Decimal(15,2)) *100.00 as ImmobiliarePerc, + convert(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) as ImmobiliarePerc, + @PatrimonioAltro as AltroCTV, + --cast(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end as Decimal(15,2)) *100.00 as AltroPerc, + convert(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) as AltroPerc, + @PatrimonioTotale as TotaleCTV +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S23DettaglioRischio.sql b/sql/storedTestbes/C6Mart_PL_S23DettaglioRischio.sql new file mode 100644 index 00000000..3c4169e3 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S23DettaglioRischio.sql @@ -0,0 +1,70 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S23DettaglioRischio] 'F','BRDMRZ48E28D612K' +CREATE procedure [C6Mart].[PL_S23DettaglioRischio] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT DISTINCT + isnull(MIFID.PROFILO_ASS,0) as codiceProfilo, + CASE + WHEN (CODRISCHIO.MAX_VAR is null) THEN 'n.c' + ELSE null + END as varProfiloMaxString, + CODRISCHIO.MAX_VAR as varProfiloMax, + MIFID.RISKCLASS AS CreditRiskMax, + CASE + WHEN MIFID.RISKCLASS IS NULL THEN 'n.c.' + ELSE NULL + END AS CreditRiskMaxString, + PT.INTERMEDIARIO AS Intermediario, + ISNULL(RISCHIO.VAR_PERC_PTF,0) as varIntermediario, + CASE + WHEN RISCHIO.COPERTURA = 0 THEN 'n.c.' + WHEN RISCHIO.COPERTURA IS NULL THEN 'n.c.' + ELSE NULL + END AS varIntermediarioString, + rischio.copertura as coperturaBF, + CASE + WHEN RISCHIO.COPERTURA = 0 THEN 'n.c.' + WHEN RISCHIO.COPERTURA IS NULL THEN 'n.c.' + ELSE NULL + END AS coperturaBFString, + CASE + -- WHEN RISCHIO.COPERTURA > 0 AND RISCHIO.VAR_PERC_PTF <= CODRISCHIO.MAX_VAR THEN 1 + -- modified by mzaki + WHEN RISCHIO.COPERTURA > 0 AND RISCHIO.VAR_PERC_PTF <= CODRISCHIO.MAX_VAR + AND isnull(RISCHIO.CREDITRISK,0) <= MIFID.RISKCLASS THEN 1 + -- + WHEN RISCHIO.COPERTURA = 0 THEN -1 + ELSE 0 + END AS rispetto, + ----------------------- + RISCHIO.CREDITRISK as creditRisk, + CASE + WHEN RISCHIO.CREDITRISK is null and RISCHIO.COPERTURA = 0 THEN 'n.c.' + WHEN RISCHIO.CREDITRISK is null and RISCHIO.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIO.CREDITRISK is null then 'n.a.' + ELSE null + END as creditRiskString + FROM C6MART.PATRIMONIO_TERZI PT + LEFT OUTER JOIN C6MART.RISCHIO_AGGREGATO RISCHIO + ON RISCHIO.RETE = PT.RETE + AND RISCHIO.COD_FISCALE = PT.COD_FISCALE + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|TERZI|' + PT.INTERMEDIARIO + LEFT JOIN C6MART.MIFID MIFID + ON MIFID.RETE = PT.RETE + AND MIFID.COD_FISCALE = PT.COD_FISCALE + LEFT JOIN C6MART.CODIFICA_RISCHIO CODRISCHIO + ON MIFID.PROFILO_ASS = CODRISCHIO.PROFILO + WHERE 1 = 1 +-- AND PT.TIPO_PRODOTTO <> 'Conti correnti' + AND PT.RETE = @Rete + AND PT.cod_fiscale = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S25Anagrafica.sql b/sql/storedTestbes/C6Mart_PL_S25Anagrafica.sql new file mode 100644 index 00000000..e905339f --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S25Anagrafica.sql @@ -0,0 +1,79 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S25Anagrafica] 'F', 'FSTMRA69D23A501O' +CREATE procedure [C6Mart].[PL_S25Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, + REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + ISNULL(CONTRATTOSEI.CAP, '') + ' ' + CONTRATTOSEI.[Citta] + + ISNULL(' (' + CONTRATTOSEI.PROVINCIA + ')', '') AS Residenza, + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_INZIOAVANZATO) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + null AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + CONTRATTOSEI.[Provincia] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.vCONTRATTI AS CONTRATTOSEI --SEI -- TABELLA BASE + INNER JOIN + C6MART.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + INNER JOIN + C6MART.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + LEFT JOIN + C6MART.ANAG_CLIENTI_PREV + ON + ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + LEFT JOIN + C6MART.DATI_REPORT + ON + ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + WHERE 1 = 1 + AND ANAG_CLIENTI.RETE = @RETE + AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S26PatrimonioImmobiliare.sql b/sql/storedTestbes/C6Mart_PL_S26PatrimonioImmobiliare.sql new file mode 100644 index 00000000..964c613e --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S26PatrimonioImmobiliare.sql @@ -0,0 +1,27 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_S26PatrimonioImmobiliare] 'F','PLZMRA41S41H501Z' +CREATE procedure [C6Mart].[PL_S26PatrimonioImmobiliare] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + --select t.descrizione, t.tipologia, t.localita, t.affittoPercepito, t.valore, t.totale + SELECT + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + FROM C6MART.PATRIMONIO_IMMOBILIARE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S27ALtroPatrimonio.sql b/sql/storedTestbes/C6Mart_PL_S27ALtroPatrimonio.sql new file mode 100644 index 00000000..6ead3e93 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S27ALtroPatrimonio.sql @@ -0,0 +1,22 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_S27ALtroPatrimonio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + SELECT + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM C6MART.PATRIMONIO_ALTRO + WHERE PATRIMONIO_ALTRO.RETE = @Rete + AND PATRIMONIO_ALTRO.COD_FISCALE = @CodiceFiscale + ORDER BY PATRIMONIO_ALTRO.CTV DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S2PatrimonioFinanziario.sql b/sql/storedTestbes/C6Mart_PL_S2PatrimonioFinanziario.sql new file mode 100644 index 00000000..244abbcf --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S2PatrimonioFinanziario.sql @@ -0,0 +1,274 @@ +-- ============================================= +-- Author: Luca De Lisio +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_S2PatrimonioFinanziario] 'S','LCRGPR67H19Z326U' +CREATE procedure [C6Mart].[PL_S2PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SELECT + A.BANCA, + A.ORDINAMENTO, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Banca Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + --PRODOTTI BF ESCLUSI GLI ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL +-- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +-- +-- --V per i cc negativi vado sull'area della patrimonio bf essendo i pos in liq +-- --LEFT JOIN +-- -- C6Mart.ClientiConCCNegativo CCNegativo +-- -- ON +-- -- PATRBF.RETE = CCNegativo.Rete +-- -- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- --PATRBF.TIPO_PRODOTTO = 'CC' +-- PATRBF.ID_AREA <> 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- --AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + --DETTAGLIO ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT JOIN + C6MART.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6Mart.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_S2PatrimonioFinanziario] Script Date: 08/02/2022 16:53:30 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: Luca De Lisio +---- Create date: +---- Description: +---- ============================================= +----[C6Mart].[PL_S2PatrimonioFinanziario] 'S','LCRGPR67H19Z326U' +--ALTER procedure [C6Mart].[PL_S2PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +--SELECT +-- A.BANCA, +-- A.ORDINAMENTO, +-- A.AssetClassId, +-- A.AssetClassName, +-- cast(A.Controvalore as decimal(19,6)) Controvalore, +-- A.Percentuale, +-- cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +--FROM +--( +-- SELECT DISTINCT +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Banca Fideuram' +-- END AS Banca, +-- ASSETCLASS.ORDINAMENTO AS Ordinamento, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, +-- ( +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / +-- SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') +-- ) * 100 AS Percentuale +-- FROM ( +-- --PRODOTTI BF ESCLUSI GLI ASUL +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY +-- (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) +-- and patrbf.id_area <> 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- UNION ALL +---- -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +---- SELECT +---- ASSETPERC.ID_ASSETCLASS, +---- PATRBF.CTV*ASSETPERC.PERC as Controvalore +---- FROM +---- C6MART.PATRIMONIO_BF PATRBF +---- INNER JOIN +---- C6MART.ASSET_PERC ASSETPERC +---- ON +---- PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +---- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +---- AND ASSETPERC.LIVELLO = 1 +---- +---- --V per i cc negativi vado sull'area della patrimonio bf essendo i pos in liq +---- --LEFT JOIN +---- -- C6Mart.ClientiConCCNegativo CCNegativo +---- -- ON +---- -- PATRBF.RETE = CCNegativo.Rete +---- -- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +---- WHERE +---- --ELIMINO I CC CON SALDO NEGATIVO +---- --PATRBF.TIPO_PRODOTTO = 'CC' +---- PATRBF.ID_AREA <> 'CC' +---- AND PATRBF.RETE = @Rete +---- AND PATRBF.COD_FISCALE = @CodiceFiscale +---- --AND CCNegativo.Cod_Fiscale IS NULL +---- UNION ALL +-- --DETTAGLIO ASUL +-- SELECT +-- ASSETPERC.ID_ASSETCLASS, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore +-- FROM +-- C6MART.DETTAGLIO_ASUL ASUL +-- INNER JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE ASUL.RETE = @Rete +-- AND ASUL.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MART.PATRIMONIO_TERZI PATRTERZI +-- LEFT JOIN +-- C6MART.ASSET_PERC ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- UNION ALL +-- --PRODOTTI TERZI NON A CATALOGO +-- SELECT +-- ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, +-- PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore +-- FROM +-- C6MART.PATRIMONIO_TERZI PATRTERZI +-- LEFT JOIN +-- C6MART.ASSET_PERC_TERZI ASSETPERC +-- ON +-- PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' +-- AND PATRTERZI.RETE = @Rete +-- AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-- ) VALORIASSET +-- INNER JOIN +-- C6Mart.ASSETCLASS ASSETCLASS +-- ON +-- ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +--) A +--ORDER BY A.ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S31PatrimonioFinanziarioIntermediario.sql b/sql/storedTestbes/C6Mart_PL_S31PatrimonioFinanziarioIntermediario.sql new file mode 100644 index 00000000..457619f6 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S31PatrimonioFinanziarioIntermediario.sql @@ -0,0 +1,26 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S31PatrimonioFinanziarioIntermediario] 'F','BRTVTR64T13L219G' +CREATE procedure [C6Mart].[PL_S31PatrimonioFinanziarioIntermediario] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SELECT DISTINCT + PATRIMONIO_TERZI.INTERMEDIARIO as Intermediario, + SUM(ROUND(PATRIMONIO_TERZI.CTV,2)) OVER (PARTITION BY PATRIMONIO_TERZI.INTERMEDIARIO) as Controvalore, + (SUM(PATRIMONIO_TERZI.CTV) OVER (PARTITION BY PATRIMONIO_TERZI.INTERMEDIARIO)/ + SUM(PATRIMONIO_TERZI.CTV) OVER (PARTITION BY 'Totale'))*100 as Percentuale, + SUM(PATRIMONIO_TERZI.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM C6MART.PATRIMONIO_TERZI + WHERE PATRIMONIO_TERZI.RETE = @Rete + AND PATRIMONIO_TERZI.COD_FISCALE = @CodiceFiscale + ORDER BY PATRIMONIO_TERZI.INTERMEDIARIO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S32PatrimonioFinanziarioMAssetClass.sql b/sql/storedTestbes/C6Mart_PL_S32PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..e3fe15a3 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S32PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,61 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_S32PatrimonioFinanziarioMAssetClass] 'F','QGLLND58R42E897H' +--[C6Mart].[PL_S32PatrimonioFinanziarioMAssetClass] 'F','BRTVTR64T13L219G' +--[C6Mart].[PL_S32PatrimonioFinanziarioMAssetClass] 'F','LNTNNE59L06F205C' +--[C6Mart].[PL_S32PatrimonioFinanziarioMAssetClass] 'S', 'GHGGPP32M04L219F' +--[C6Mart].[PL_S32PatrimonioFinanziarioMAssetClass] 'S','GHGRTI63T44L219D' +CREATE procedure [C6Mart].[PL_S32PatrimonioFinanziarioMAssetClass] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT DISTINCT + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + CASE + WHEN SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') = 0 THEN 1 + ELSE SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + END + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN C6MART.ASSET_PERC_TERZI ASSETPERC + ON PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN C6Mart.ASSETCLASS ASSETCLASS + ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + ORDER BY ASSETCLASS.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S36ProfiloRischio.sql b/sql/storedTestbes/C6Mart_PL_S36ProfiloRischio.sql new file mode 100644 index 00000000..180afa1d --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S36ProfiloRischio.sql @@ -0,0 +1,30 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S36ProfiloRischio] 'F','GRNNTN55B07I158D' +CREATE procedure [C6Mart].[PL_S36ProfiloRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SELECT + M.PROFILO_ASS AS codiceProfilo, +-- CR.DESCRIZIONE AS nomeProfilo, + PR.NomeProfilo as nomeProfilo, + dbo.ToShortDateString(M.DATA_INIZIO_VAL) AS dataInizioValidita, + CR.MAX_VAR as varMassimo + FROM + C6Mart.MIFID AS M INNER JOIN + C6Mart.CODIFICA_RISCHIO AS CR ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN + dbo.ProfiliDiRischio as pr on + pr.CodiceProfilo = cr.profilo + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S37PiramideModello.sql b/sql/storedTestbes/C6Mart_PL_S37PiramideModello.sql new file mode 100644 index 00000000..e84a51ec --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S37PiramideModello.sql @@ -0,0 +1,46 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S37PiramideModello] 'F','RSSGPL33R01L219K' +CREATE procedure [C6Mart].[PL_S37PiramideModello] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +-- VECCHIA VERSIONE CON UNA RIGA DI TROPPO PER L'AREA INV +-- SELECT +-- AREA_BISOGNO.ID_AREA AS Need_Breve, -- NOME BREVE DELL'AREA DI BISOGNO +-- PIRAMIDE_MOD.NOME_PROGETTO AS Nome_Progetto, -- NOME DEL PROGETTO (AREA INV) +-- ISNULL(PIRAMIDE_MOD.PERC_AREA,0) AS Perc_Need, -- PERCENTUALE DI ALLOCAZIONE SULL'AREA DI BISOGNO +-- PIRAMIDE_MOD.ORIZZ_TEMP AS Orizz_Temp, -- ORIZZONTE TEMPORALE DEL PROGETTO +-- SUM(CASE WHEN PIRAMIDE_MOD.NOME_PROGETTO IS NULL THEN ISNULL(PIRAMIDE_MOD.PERC_AREA,0) ELSE 0 END) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE, AREA_BISOGNO.ID_AREA) AS Totale_Percentuale, -- PERCENTUALE DI ALLOCAZIONE DEI PROGETTI +-- SUM(CASE WHEN PIRAMIDE_MOD.NOME_PROGETTO IS NULL THEN ISNULL(PIRAMIDE_MOD.PERC_AREA,0) ELSE 0 END) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE) AS Totale, +-- COUNT(CASE WHEN AREA_BISOGNO.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NOT NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE) AS NumeroProgettiInv, +-- AREA_BISOGNO.ORDINAMENTO +-- FROM C6MART.AREA_BISOGNO +-- LEFT JOIN C6MART.PIRAMIDE_MOD ON PIRAMIDE_MOD.ID_AREA = AREA_BISOGNO.ID_AREA +-- AND PIRAMIDE_MOD.RETE = @Rete +-- AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale +-- WHERE AREA_BISOGNO.ORDINAMENTO < 6 +-- ORDER BY AREA_BISOGNO.ORDINAMENTO + SELECT + AREA_BISOGNO.ID_AREA AS Need_Breve, -- NOME BREVE DELL'AREA DI BISOGNO + PIRAMIDE_MOD.NOME_PROGETTO AS Nome_Progetto, -- NOME DEL PROGETTO (AREA INV) + ISNULL(PIRAMIDE_MOD.PERC_AREA,0) AS Perc_Need, -- PERCENTUALE DI ALLOCAZIONE SULL'AREA DI BISOGNO + PIRAMIDE_MOD.ORIZZ_TEMP AS Orizz_Temp, -- ORIZZONTE TEMPORALE DEL PROGETTO + SUM(ISNULL(PIRAMIDE_MOD.PERC_AREA,0)) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE, AREA_BISOGNO.ID_AREA) AS Totale_Percentuale, -- PERCENTUALE DI ALLOCAZIONE DEI PROGETTI + SUM(ISNULL(PIRAMIDE_MOD.PERC_AREA,0)) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE) AS Totale, + COUNT(CASE WHEN AREA_BISOGNO.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NOT NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PIRAMIDE_MOD.RETE, PIRAMIDE_MOD.COD_FISCALE) AS NumeroProgettiInv, + AREA_BISOGNO.ORDINAMENTO + FROM C6MART.AREA_BISOGNO + LEFT JOIN C6MART.PIRAMIDE_MOD + ON PIRAMIDE_MOD.ID_AREA = AREA_BISOGNO.ID_AREA + AND((PIRAMIDE_MOD.ID_AREA = 'INV' AND (PIRAMIDE_MOD.NOME_PROGETTO IS NOT NULL OR PIRAMIDE_MOD.NOME_PROGETTO = 'Default')) + OR PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE')) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + WHERE AREA_BISOGNO.ORDINAMENTO < 6 + ORDER BY AREA_BISOGNO.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S42RischioDiversificazione.sql b/sql/storedTestbes/C6Mart_PL_S42RischioDiversificazione.sql new file mode 100644 index 00000000..f9abb7cc --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S42RischioDiversificazione.sql @@ -0,0 +1,71 @@ +-- [C6Mart].[PL_S42RischioDiversificazione] 'F', 'RSSRRT43L14E591E' +CREATE procedure [C6Mart].[PL_S42RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +--V VARIABILI DI APPOGGIO PER LA VERIFICA SE IL CLIENTE HA SOLO CC + DECLARE @ESISTECC INT + DECLARE @NUMPOSIZIONI INT + SELECT @ESISTECC = COUNT(DISTINCT COD_FISCALE) + FROM C6MART.PATRIMONIO_BF + WHERE ID_AREA = 'CC' + AND COD_FISCALE = @CodiceFiscale + GROUP BY ID_AREA + SELECT @NUMPOSIZIONI = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE ID_AREA <> 'CC' + AND COD_FISCALE = @CodiceFiscale +SELECT +K.COD_FISCALE, +K.RETE, +VAR_PERC_PTF AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as varString, + CASE + WHEN (ISNULL(copertura,100) < 100) + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +--V solo CC allora la copertura è 100 +CASE + WHEN (@ESISTECC - @NUMPOSIZIONI) > 0 THEN 100 + ELSE ISNULL(COPERTURA,0.00) +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Banca Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MART.RISCHIO_AGGREGATO K left outer JOIN c6mart.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Mart.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY 11 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S43ContoCorrenteBF.sql b/sql/storedTestbes/C6Mart_PL_S43ContoCorrenteBF.sql new file mode 100644 index 00000000..da4d6da9 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S43ContoCorrenteBF.sql @@ -0,0 +1,26 @@ +--[C6Mart].[PL_S43ContoCorrenteBF] 'F','QDRFNC49E21A367Z' +CREATE procedure [C6Mart].[PL_S43ContoCorrenteBF] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + dbo.ToShortDateString(ANAG_CC.DATA_APERTURA) AS datadiSottoscrizione, + ANAG_CC.COD_CC AS conto, + cast(ANAG_CC.SALDOCONTABILE as decimal(15,2)) as Controvalore, + cast(ANAG_CC.SALDODISPONIBILE as decimal(15,2)) as SALDO_DISPONIBILE, + null as creditrisk , + 'n.a.' as creditriskstring, + 0 as var, + null as varString, + 0 as totaleVar, + null as totaleVarString + FROM + C6Mart.ANAG_CC + WHERE + ANAG_CC.rete= @Rete + AND ANAG_CC.cod_fiscale= @CodiceFiscale + AND ANAG_CC.SALDOCONTABILE < 0 + ORDER BY + ANAG_CC.SALDOCONTABILE DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S43DettaglioProdottiBF.sql b/sql/storedTestbes/C6Mart_PL_S43DettaglioProdottiBF.sql new file mode 100644 index 00000000..ac840176 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S43DettaglioProdottiBF.sql @@ -0,0 +1,212 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +-- ============================================= +-- cast(C6Mart.ANAG_CC.SALDO as decimal(15,2)) as Controvalore +-- [C6Mart].[PL_S43DettaglioProdottiBF] 'F', 'NDRRRT54L20D869S' +--SELECT * FROM PATR1 +CREATE procedure [C6Mart].[PL_S43DettaglioProdottiBF] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009','EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +PATRBF.NOME_PROGETTO AS EE, PATRBF.ID_AREA, +CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID AS TMP, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA + END AS needarea, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS versato_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' + THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS MinusPlusValenza_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenza_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL + END AS somma_var_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL + END AS somma_copertura_need_prog, + cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c.') AS var_needareaString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_AREA.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_AREA.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END as var_needareaString, + CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL(5,2)) AS copertura_needarea, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 + --Valerio danilo THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE NULL + END AS copertura_needareaString, + RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, + --CASE WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as var_need_progString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END as var_need_progString, + RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATRBF.CTV AS Controvalore, + PATRBF.VERSATO_NETTO AS VersatoNetto, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, + PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, + RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, +-- CASE WHEN ISNULL(RISCHIO_PROD.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as varProdottoString, + CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as varProdottoString, + RISCHIO_PROD.Copertura AS Coperturaprodotto, + PATRBF.REND_ANNO AS PerformanceYTD, + PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, + PARTVIA_DISINV AS partitaViaggiante, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 THEN '*' + ELSE NULL + END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM C6MART.PATRIMONIO_BF PATRBF +INNER JOIN C6MART.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN AREA.ID_AREA = 'Na' THEN 'RISORSENONASSOCIATE|' +-- ELSE + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL)-- AND (LEFT(PATRBF.ID_AREA,3)<>'Na' Or PATRBF.NOME_PROGETTO <> 'Default') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = + case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 +--Bido + --AND ( + --PATRBF.CTV > 0 + --OR ( PATRBF.CTV < 0 AND patrbf.tipo_prodotto = 'cc' ) + --) +-- +ORDER BY AREASORTORDER, nome_progetto, PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql b/sql/storedTestbes/C6Mart_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql new file mode 100644 index 00000000..8fe51707 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S43DettaglioProdottiBF_BK_eligoTitoli.sql @@ -0,0 +1,211 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- cast(C6Mart.ANAG_CC.SALDO as decimal(15,2)) as Controvalore +-- [C6Mart].[PL_S43DettaglioProdottiBF] 'F', 'NDRRRT54L20D869S' +--SELECT * FROM PATR1 +CREATE procedure [C6Mart].[PL_S43DettaglioProdottiBF_BK_eligoTitoli] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN = 'EURO00000009' + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT +PATRBF.NOME_PROGETTO AS EE, PATRBF.ID_AREA, +CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID AS TMP, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA + END AS needarea, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA + END AS needareades, + CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO + END AS areasortorder, + CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE PATRBF.NOME_PROGETTO + END AS nome_progetto, + SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, + SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +-- CASE WHEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as versato_needareaString, + CASE WHEN COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as versato_needareaString, + SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +-- CASE WHEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE WHEN COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' ELSE NULL END as MinusPlusValenza_needareaString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS somma_controval_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS versato_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS versato_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' + THEN SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) + ELSE NULL + END AS MinusPlusValenza_need_prog, + CASE +-- WHEN AREA.ID_AREA = 'Inv' AND SUM(PATRBF.CTV - PATRBF.VERSATO_NETTO) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) IS NULL + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - PATRBF.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, NOME_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenza_need_progString, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL + END AS somma_var_need_prog, + CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL + END AS somma_copertura_need_prog, + cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)) AS var_needarea, + --COALESCE(cast(RISCHIO_AGGR_AREA.VAR_PERC_PTF as decimal(15,2)),'n.c.') AS var_needareaString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_AREA.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_AREA.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END as var_needareaString, + CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL(5,2)) AS copertura_needarea, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 + --Valerio danilo THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE NULL + END AS copertura_needareaString, + RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, + --CASE WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as var_need_progString, + CASE + --WHEN ISNULL(RISCHIO_AGGR_PROG.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END as var_need_progString, + RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, + PATRBF.ID_CONTRATTO AS ContrattoDossier, + --ANAGPROD.DESCR_PRODOTTO AS Descrizione, + --V + CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATRBF.CTV AS Controvalore, + PATRBF.VERSATO_NETTO AS VersatoNetto, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, + PATRBF.CTV - PATRBF.VERSATO_NETTO AS MinusPlusValenza, + CASE WHEN PATRBF.VERSATO_NETTO IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, + RISCHIO_PROD.VAR_PERC_PTF AS VaRprodotto, +-- CASE WHEN ISNULL(RISCHIO_PROD.VAR_PERC_PTF,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as varProdottoString, + CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as varProdottoString, + RISCHIO_PROD.Copertura AS Coperturaprodotto, + PATRBF.REND_ANNO AS PerformanceYTD, + PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, + PARTVIA_DISINV AS partitaViaggiante, + CASE + WHEN RISCHIO_AGGR_AREA.copertura > 0 AND RISCHIO_AGGR_AREA.copertura < 100 THEN '*' + ELSE NULL + END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM C6MART.PATRIMONIO_BF PATRBF +INNER JOIN C6MART.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN C6MART.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = +-- CASE +-- WHEN AREA.ID_AREA = 'Na' THEN 'RISORSENONASSOCIATE|' +-- ELSE + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL)-- AND (LEFT(PATRBF.ID_AREA,3)<>'Na' Or PATRBF.NOME_PROGETTO <> 'Default') + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO +LEFT JOIN C6MART.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = + case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT OUTER JOIN C6Mart.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + --V + AND PATRBF.CTV > 0 +--Bido + --AND ( + --PATRBF.CTV > 0 + --OR ( PATRBF.CTV < 0 AND patrbf.tipo_prodotto = 'cc' ) + --) +-- +ORDER BY AREASORTORDER, nome_progetto, PATRBF.CTV DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S43LineaSelfBF.sql b/sql/storedTestbes/C6Mart_PL_S43LineaSelfBF.sql new file mode 100644 index 00000000..ec85c33d --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S43LineaSelfBF.sql @@ -0,0 +1,27 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S43LineaSelfBF] '','' +CREATE procedure [C6Mart].[PL_S43LineaSelfBF] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(datasott) as DataSott, + CodInterno, + CodSottoprodotto + FROM + C6Mart.ANAG_SELF LS + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND isnull(ctv,0) < 0 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql b/sql/storedTestbes/C6Mart_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql new file mode 100644 index 00000000..28acc19b --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S43LineaSelfBF_20181214_PreMioFoglio.sql @@ -0,0 +1,25 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S43LineaSelfBF] '','' +CREATE procedure [C6Mart].[PL_S43LineaSelfBF_20181214_PreMioFoglio] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(datasott) as DataSott + FROM + C6Mart.ANAG_SELF LS + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND isnull(ctv,0) < 0 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S48DettaglioProdotti.sql b/sql/storedTestbes/C6Mart_PL_S48DettaglioProdotti.sql new file mode 100644 index 00000000..40398d53 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S48DettaglioProdotti.sql @@ -0,0 +1,100 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S48DettaglioProdotti] 'f', 'BLLDRA53P28C894B' +CREATE procedure [C6Mart].[PL_S48DettaglioProdotti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK is NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6Mart.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6Mart.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + C6Mart.RISCHIO_AGGREGATO RISCHIOAGGREG + ON + PATRTERZI.RETE = RISCHIOAGGREG.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGREG.COD_FISCALE + AND RISCHIOAGGREG.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + WHERE 1 = 1 + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.DESCR_GRUPPO_PRODOTTO IS NOT NULL + ORDER BY + OrdinamentoProdotti, + Controvalore DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S49PolizzeAltriIstituti.sql b/sql/storedTestbes/C6Mart_PL_S49PolizzeAltriIstituti.sql new file mode 100644 index 00000000..36acb116 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S49PolizzeAltriIstituti.sql @@ -0,0 +1,62 @@ +-- ============================================= +-- Author: Marco Gentilezza +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[PL_S49PolizzeAltriIstituti] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +--SELECT +-- PATRTERZI..INTERMEDIARIO, +-- dbo.toShortDateString(PATRTERZI.DATA_sottoscrizione) AS DataDiSottoscrizione, +-- dbo.toShortDateString(PATRTERZI.DATA_scadenza) AS DataDiScadenza, +-- PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, +-- C6Mart.ANAG_PRODOTTi.NOME_PRODOTTO as Descrizione, +-- NULL AS Aggiornamento, +-- PATRTERZI.PREMIO AS PRESTAZIONEASSICURATA, +-- PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, +-- PATRTERZI.VERSATO_FP AS AmmontareVersamento +-- FROM +-- C6Mart.PATRIMONIO_TERZI PATRTERZI. +-- INNER JOIN ANAG_PRODOTTI_TERZI ANAGTERZI +-- ON +-- C6Mart.ANAG_PRODOTTI_TERZI.COD_PRODOTTO = PATRTERZI.COD_PRODOTTO +-- +-- left JOIN +-- C6Mart.Rischio_aggregato +-- ON PATRTERZI.RETE = C6Mart.Rischio_aggregato.RETE +-- and c6mart.RISCHIO_AggrEGATO.cod_aggrEG ='COMPLESSIVO|TERZI|' + PATRTERZI.COD_PRODOTTO +-- and PATRTERZI.cod_fiscale = C6Mart.Rischio_aggregato.cod_fiscale +-- +-- where PATRTERZI.RETE = @Rete +-- and PATRTERZI.COD_FISCALE = @CodiceFiscale +-- --and C6Mart.PATRIMONIO_BF.position_id =@PositionID +-- --AND coalesce(PATRTERZI.NUM_POLIZZA, '') <> '' +-- AND C6Mart.ANAG_PRODOTTI.DESCR_PRODOTTO = 'ASUL' +-- +-- +-- union +-- + SELECT + PATRTERZI.INTERMEDIARIO AS INTERMEDIARIO, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PRESTAZIONEASSICURATA, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + FROM C6Mart.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6Mart.ANAG_PRODOTTI_TERZI ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' + WHERE PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S50FondiAltriIstituti.sql b/sql/storedTestbes/C6Mart_PL_S50FondiAltriIstituti.sql new file mode 100644 index 00000000..c53804a3 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S50FondiAltriIstituti.sql @@ -0,0 +1,62 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S50FondiAltriIstituti] 'F','BLLDRA53P28C894B' +CREATE procedure [C6Mart].[PL_S50FondiAltriIstituti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PATRTERZI.INTERMEDIARIO, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DATASOTTOSCRIZIONE, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END as creditriskstring + FROM + C6Mart.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6Mart.ANAG_PRODOTTI_terzi ANAGPRODTERZI + ON + PATRTERZI.cod_prodotto_terzi=ANAGPRODTERZI.cod_prodotto_terzi + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6Mart.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6Mart.RISCHIO_AGGREGATO RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + WHERE + PATRTERZI.rete = @Rete + and PATRTERZI.cod_fiscale = @CodiceFiscale + --AND PATRTERZI.TIPO_PRODOTTO = 'Fondi pensione' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S51ContoCorrenteAI.sql b/sql/storedTestbes/C6Mart_PL_S51ContoCorrenteAI.sql new file mode 100644 index 00000000..928170b0 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S51ContoCorrenteAI.sql @@ -0,0 +1,26 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S51ContoCorrenteAI] 'F', 'SMPSMN76C26L157Y' +CREATE procedure [C6Mart].[PL_S51ContoCorrenteAI] + -- Add the parameters for the stored procedure here + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + CCTerzi.INTERMEDIARIO, + CCTerzi.COD_CC AS ContoCorrente, + CCTerzi.SALDO, + null as creditrisk, + 'n.a.' as creditriskstring, + 0.00 as var + FROM + C6Mart.ANAG_CC_Terzi CCTerzi + WHERE + CCTerzi.rete= @Rete + AND CCTerzi.cod_fiscale= @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S56PatrimonioBFAreeBisogno.sql b/sql/storedTestbes/C6Mart_PL_S56PatrimonioBFAreeBisogno.sql new file mode 100644 index 00000000..9621d7ea --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S56PatrimonioBFAreeBisogno.sql @@ -0,0 +1,64 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Mart].[PL_S56PatrimonioBFAreeBisogno] 'F','TNNLGU58R01B259Y' +CREATE procedure [C6Mart].[PL_S56PatrimonioBFAreeBisogno] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + COALESCE(PIRAMIDE_VERT.CTV_AREA, 0.00) AS ControValore, + COALESCE( + CAST(100*(PIRAMIDE_VERT.CTV_AREA / + SUM(COALESCE(PIRAMIDE_VERT.CTV_AREA,0)) OVER (PARTITION BY PIRAMIDE_VERT.RETE, PIRAMIDE_VERT.COD_FISCALE)) AS DECIMAL(5,2)) + , 0.00) AS Peso, + COALESCE(RISCHIO_AGGREGATO.VAR_PERC_PTF, 0.00) AS Var_NeedArea, + NULL AS Var_NeedAreaString, + COALESCE(RISCHIO_AGGREGATO.COPERTURA, 0) AS Copertura_NeedArea, + CASE + WHEN RISCHIO_AGGREGATO.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIO_AGGREGATO.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS Copertura_NeedAreaString, + NULL AS RischioRelativo, -- TODO: CHIEDERE + NULL AS Nota, -- TODO: CHIEDERE + SUM(COALESCE(PIRAMIDE_VERT.CTV_AREA,0)) OVER (PARTITION BY 'Totale') AS Somma_Controval, + RISCHIO_TOTALE.VAR_PERC_PTF AS Var_tot, + RISCHIO_TOTALE.COPERTURA AS Copertura_tot, + CASE + WHEN RISCHIO_TOTALE.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIO_TOTALE.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS Copertura_totString + FROM C6MART.AREA_BISOGNO + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT RETE, COD_FISCALE, LEFT(ID_AREA,3) AS ID_AREA, SUM(COALESCE(CTV_AREA,0)) AS CTV_AREA + FROM C6MART.PIRAMIDE_VERT + WHERE PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + GROUP BY RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT ON PIRAMIDE_VERT.ID_AREA = AREA_BISOGNO.ID_AREA +-- LEFT JOIN C6MART.PIRAMIDE_VERT +-- ON LEFT(PIRAMIDE_VERT.ID_AREA,3) = AREA_BISOGNO.ID_AREA +-- AND PIRAMIDE_VERT.RETE = @Rete +-- AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + LEFT JOIN C6MART.RISCHIO_AGGREGATO + ON RISCHIO_AGGREGATO.COD_AGGREG = 'PIRAMIDE|' + LEFT(AREA_BISOGNO.ID_AREA,3) + AND RISCHIO_AGGREGATO.RETE = @Rete + AND RISCHIO_AGGREGATO.COD_FISCALE = @CodiceFiscale + LEFT JOIN C6MART.RISCHIO_AGGREGATO AS RISCHIO_TOTALE + ON RISCHIO_TOTALE.COD_AGGREG = 'PIRAMIDE' + AND RISCHIO_TOTALE.RETE = @Rete + AND RISCHIO_TOTALE.COD_FISCALE = @CodiceFiscale + WHERE AREA_BISOGNO.ORDINAMENTO < 6 + ORDER BY AREA_BISOGNO.ORDINAMENTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S57ConfrontoPiramidi.sql b/sql/storedTestbes/C6Mart_PL_S57ConfrontoPiramidi.sql new file mode 100644 index 00000000..38f25ee4 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S57ConfrontoPiramidi.sql @@ -0,0 +1,227 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6Mart].PL_S57ConfrontoPiramidi 'F','BCCPRZ62A58G713Y' +-- CHIEDERE A FABRIZIO, case @TOTControvaloreModello when 0 .... +CREATE procedure [C6Mart].[PL_S57ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +-- DECLARE @minGradoCoperura AS INT +-- SET @minGradoCoperura = CAST(dbo.getParametro('MINGRADOCOPERTURA') AS INT) + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + (SELECT PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + SUM(PIRAMIDE_MOD.PERC_AREA) AS PERC_AREA + FROM C6MART.PIRAMIDE_MOD + WHERE + PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC', 'INV' ) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + GROUP BY PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA) AS PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + LEFT(ID_AREA,3) AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MART.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + OR ( + PIRAMIDE_MOD.ID_AREA = 'INV' + -- AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL + )) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc') + --V + DECLARE @TOTCC DECIMAL (20,2) + SELECT @TOTCC = ISNULL(CONTROVALORE,0) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'Cc' + --V +-- DECLARE @TOTNA DECIMAL (20,2) +-- SELECT @TOTCC = ISNULL(CONTROVALORE,0) +-- FROM #PIRAMIDE_VERT ATTUALE +-- WHERE ATTUALE.RETE = @Rete +-- AND ATTUALE.COD_FISCALE = @CodiceFiscale +-- AND ID_AREA = 'Na' + --V + DECLARE @TOT DECIMAL (20,2) + SELECT @TOT = SUM(ISNULL(CONTROVALORE,0)) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + -- V D S + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + -- + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + --V SOLO CC -> VAR = 0 + WHEN @TOTCC = @TOT THEN NULL + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN @TOTCC = @TOT THEN NULL + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIORISFIN.VAR_PERC_PTF + END AS VAR_RISFIN, + CASE + WHEN @TOTCC = @TOT THEN NULL + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM C6MART.AREA_BISOGNO + LEFT JOIN #PIRAMIDE_VERT ATTUALE + ON ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN C6Mart.RISCHIO_AGGREGATO RISCHIOAREA + ON RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND +--[C6Mart].PL_S57ConfrontoPiramidi 'F','CVNPLA52D15H223S' + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + END + ) + LEFT JOIN C6Mart.RISCHIO_AGGREGATO RISCHIOTOTALE + ON RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + -- V + LEFT JOIN + C6Mart.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6Mart.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + --WHERE AREA_BISOGNO.ORDINAMENTO < 6 + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S6PatrimonioFinanziario.sql b/sql/storedTestbes/C6Mart_PL_S6PatrimonioFinanziario.sql new file mode 100644 index 00000000..13bc7e19 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S6PatrimonioFinanziario.sql @@ -0,0 +1,146 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S6PatrimonioFinanziario] 'S','LCRGPR67H19Z326U' +CREATE procedure [C6Mart].[PL_S6PatrimonioFinanziario] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + DECLARE @NOMERETE VARCHAR(20) + IF @Rete = 'F' + SET @NOMERETE = 'Banca Fideuram' + ELSE IF @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + SELECT + Intermediario, + Ordine, + Banca, + Controvalore, + Percentuale + FROM + ( + SELECT DISTINCT + Intermediario, + Ordine, + @NOMERETE AS Banca, + -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv + SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine)) / + (SUM(ctv) over (partition by 'Totale')) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + @NOMERETE AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6Mart.PATRIMONIO_BF patrBF + /*LEFT JOIN C6Mart.ClientiConCCNegativo CCNegativo + ON PATRBF.RETE = CCNegativo.Rete + AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale + AND PATRBF.TIPO_PRODOTTO = 'CC'*/ + WHERE 1 = 1 + AND patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO + AND patrBF.CTV > = 0 + and patrBF.id_area <> 'cc' --essendo in liquidità ci sono solo i negativi + UNION ALL + SELECT + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6Mart.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + AND patrTerzi.Rete = @Rete + AND patrTerzi.Cod_Fiscale = @CodiceFiscale + GROUP BY patrTerzi.Intermediario + ) PATR + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_S6PatrimonioFinanziario] Script Date: 08/02/2022 16:56:07 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- Stored procedure +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +---- [C6Mart].[PL_S6PatrimonioFinanziario] 'S','LCRGPR67H19Z326U' +--ALTER procedure [C6Mart].[PL_S6PatrimonioFinanziario] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @Rete = 'F' +-- SET @NOMERETE = 'Banca Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- Intermediario, +-- Ordine, +-- Banca, +-- Controvalore, +-- Percentuale +-- FROM +-- ( +-- SELECT DISTINCT +-- Intermediario, +-- Ordine, +-- @NOMERETE AS Banca, +-- -- if(BancaFideuram) -> Sommare al controvalore le partiteViaggiantiInv +-- SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, +-- ( +-- (SUM(ctv) over (partition by Intermediario,Ordine)) / +-- (SUM(ctv) over (partition by 'Totale')) +-- ) * 100 AS PERCENTUALE +-- FROM +-- ( +-- SELECT +-- @NOMERETE AS Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 1 AS ordine +-- FROM C6Mart.PATRIMONIO_BF patrBF +-- /*LEFT JOIN C6Mart.ClientiConCCNegativo CCNegativo +-- ON PATRBF.RETE = CCNegativo.Rete +-- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- AND PATRBF.TIPO_PRODOTTO = 'CC'*/ +-- WHERE 1 = 1 +-- AND patrBF.Rete = @Rete +-- AND patrBF.Cod_Fiscale = @CodiceFiscale +-- --AND CCNegativo.Cod_Fiscale IS NULL -- ELIMINO I CC CON SALDO NEGATIVO +-- AND patrBF.CTV > = 0 +-- and patrBF.id_area <> 'cc' --essendo in liquidità ci sono solo i negativi +-- UNION ALL +-- SELECT +-- Intermediario, +-- SUM(ROUND(CTV,2)) AS ctv, +-- 2 AS ordine +-- FROM C6Mart.PATRIMONIO_TERZI patrTerzi +-- WHERE 1 = 1 +-- AND patrTerzi.Rete = @Rete +-- AND patrTerzi.Cod_Fiscale = @CodiceFiscale +-- GROUP BY patrTerzi.Intermediario +-- ) PATR +-- ) A +-- WHERE CONTROVALORE IS NOT NULL +-- ORDER BY Ordine +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S75GradoCopertura.sql b/sql/storedTestbes/C6Mart_PL_S75GradoCopertura.sql new file mode 100644 index 00000000..e347bc8c --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S75GradoCopertura.sql @@ -0,0 +1,332 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S75GradoCopertura] 'F','SMPSMN76C26L157Y' +CREATE procedure [C6Mart].[PL_S75GradoCopertura] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @varCompl decimal(15,3) + DECLARE @coperturaCompl decimal(15,3) + DECLARE @ctvCompl decimal(15,3) + DECLARE @saldoCC decimal(15,3) + --CALCOLO PATRIMONI E ESTRAZIONE VAR + SELECT + @Rete AS Rete, + @CodiceFiscale as CodiceFiscale, + CASE @Rete + WHEN 'F' THEN 'Patrimonio Banca Fideuram' + WHEN 'S' THEN 'Patrimonio Sanpaolo Invest' + ELSE 'Patrimonio IW Private Inv.' + END AS NomePatrimonio, +-- MAX(patrBF.CTV - patrBF.ContoCorrente) AS Controvalore, +-- MAX(patrBF.ContoCorrente) AS ControvaloreCC, +-- MAX(RISCHIO.VAR_PERC_PTF) AS VarPatrimonio, +-- MAX(RISCHIO.COPERTURA) AS Copertura, + patrBF.PatrimonioSenzaCC AS Controvalore, + --patrBF.CTV - patrBF.ContoCorrente AS Controvalore, + patrBF.ContoCorrente AS ControvaloreCC, + RISCHIO.VAR_PERC_PTF AS VarPatrimonio, + RISCHIO.COPERTURA AS Copertura, + 1 AS ORDINE INTO #TEMP75 + FROM C6Mart.vPatrimoniobfAggregato patrBF + LEFT OUTER JOIN C6Mart.RISCHIO_AGGREGATO RISCHIO + ON RISCHIO.RETE = patrBF.RETE + AND RISCHIO.Cod_Fiscale = patrBF.Cod_Fiscale + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|BF' + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + --AND patrBF.PatrimonioSenzaCC > 0 + UNION ALL + SELECT A.Rete,A.CodiceFiscale,A.NomePatrimonio,A.Controvalore,A.ControvaloreCC,A.VarPatrimonio,A.Copertura,A.ORDINE + FROM( + SELECT + @Rete AS Rete, + @CodiceFiscale as CodiceFiscale, + 'Patrimonio altri Istituti' AS NomePatrimonio, + SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END,2)) AS Controvalore, + SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN patrTerzi.CTV ELSE 0 END,2)) AS ControvaloreCC, + MAX(RISCHIO.VAR_PERC_PTF) as VarPatrimonio, + MAX(RISCHIO.COPERTURA) as Copertura, + 2 AS ORDINE + FROM C6Mart.PATRIMONIO_TERZI patrTerzi + LEFT OUTER JOIN C6Mart.RISCHIO_AGGREGATO RISCHIO + ON RISCHIO.RETE = patrTerzi.RETE + AND RISCHIO.COD_FISCALE = patrTerzi.COD_FISCALE + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|TERZI' + WHERE + patrTerzi.Rete = @Rete + AND patrTerzi.COD_FISCALE = @CodiceFiscale + ) A + WHERE ISNULL(A.CONTROVALORE,0)>0 + -- SE IL PATRIMONIO È SOLO 1 NON VA CALCOLATO IL COMPLESSIVO + IF @@ROWCOUNT > 1 + BEGIN + --CALCOLO IL PATRIMONIO COMPLESSIVO ED ESTRAGGO IL VAR + SELECT + @ctvCompl=SUM(patr.CONTROVALORE), + @saldoCC=SUM(patr.CONTROVALORECC), + @varCompl=MAX(RISCHIO.VAR_PERC_PTF), + @coperturaCompl=MAX(RISCHIO.COPERTURA) + FROM #TEMP75 patr + LEFT OUTER JOIN C6Mart.RISCHIO_AGGREGATO RISCHIO + ON RISCHIO.RETE = patr.RETE + AND RISCHIO.COD_FISCALE = patr.CodiceFiscale + AND RISCHIO.COD_AGGREG = 'COMPLESSIVO' + --RESTITUISCO I PATRIMONI + SELECT + ORDINE, + NOMEPATRIMONIO, + CONTROVALORE, + CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END as CCPRESENTE, + (CONTROVALORE/@CTVCompl)*100 as PERCENTUALE, + VARPATRIMONIO AS VAR, + COPERTURA, +-- CASE COPERTURA WHEN 0 THEN 'n.c.' ELSE NULL END AS varString, +-- CASE COPERTURA WHEN 0 THEN 'n.c.' ELSE NULL END AS coperturaString + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS varString, + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS coperturaString, + -- aggiunta per valutare la presenza di controcorrente + CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto + -- fine aggiunta per valutare la presenza di controcorrente + FROM #TEMP75 + WHERE CONTROVALORE IS NOT NULL + UNION ALL + SELECT + 3, + 'Patrimonio complessivo', + @CTVCompl, + CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END as CCPRESENTE, + 100.00 as percentuale, + @varCompl, + @coperturaCompl, +-- CASE @coperturaCompl WHEN 0 THEN 'n.c.' ELSE NULL END AS varString, +-- CASE @coperturaCompl WHEN 0 THEN 'n.c.' ELSE NULL END AS coperturaString + CASE + WHEN @coperturaCompl IS NULL THEN 'n.c.' + WHEN @coperturaCompl = 0 THEN 'n.c.' + ELSE NULL + END AS varString, + CASE + WHEN @coperturaCompl IS NULL THEN 'n.c.' + WHEN @coperturaCompl = 0 THEN 'n.c.' + ELSE NULL + END AS coperturaString, + -- aggiunta per valutare la presenza di controcorrente + CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto + -- fine aggiunta per valutare la presenza di controcorrente + ORDER BY 1 + END + ELSE + BEGIN + --RESTITUISCO L'UNICO PATRIMONIO PRESENTE + SELECT + NOMEPATRIMONIO, + CONTROVALORE, + CASE WHEN CONTROVALORECC > 0 THEN 1 ELSE 0 END as CCPRESENTE, + 100.00 as PERCENTUALE, + VARPATRIMONIO AS VAR, + COPERTURA, +-- CASE COPERTURA WHEN 0 THEN 'n.c.' ELSE NULL END AS varString, +-- CASE COPERTURA WHEN 0 THEN 'n.c.' ELSE NULL END AS coperturaString + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS varString, + CASE + WHEN COPERTURA IS NULL THEN 'n.c.' + WHEN COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS coperturaString, + -- aggiunta per valutare la presenza di controcorrente + CASE WHEN CONTROVALORECC <> 0 THEN 1 ELSE 0 END as NotaCCNetto + -- fine aggiunta per valutare la presenza di controcorrente + FROM #TEMP75 + WHERE CONTROVALORE IS NOT NULL + END +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_S75GradoCopertura] Script Date: 08/02/2022 16:57:49 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +---- [C6Mart].[PL_S75GradoCopertura] 'F','SMPSMN76C26L157Y' +--ALTER procedure [C6Mart].[PL_S75GradoCopertura] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- DECLARE @varCompl decimal(15,3) +-- DECLARE @coperturaCompl decimal(15,3) +-- DECLARE @ctvCompl decimal(15,3) +-- DECLARE @saldoCC decimal(15,3) +-- --CALCOLO PATRIMONI E ESTRAZIONE VAR +-- SELECT +-- @Rete AS Rete, +-- @CodiceFiscale as CodiceFiscale, +-- CASE @Rete +-- WHEN 'F' THEN 'Patrimonio Banca Fideuram' +-- ELSE 'Patrimonio Sanpaolo Invest' +-- END AS NomePatrimonio, +---- MAX(patrBF.CTV - patrBF.ContoCorrente) AS Controvalore, +---- MAX(patrBF.ContoCorrente) AS ControvaloreCC, +---- MAX(RISCHIO.VAR_PERC_PTF) AS VarPatrimonio, +---- MAX(RISCHIO.COPERTURA) AS Copertura, +-- patrBF.PatrimonioSenzaCC AS Controvalore, +-- --patrBF.CTV - patrBF.ContoCorrente AS Controvalore, +-- patrBF.ContoCorrente AS ControvaloreCC, +-- RISCHIO.VAR_PERC_PTF AS VarPatrimonio, +-- RISCHIO.COPERTURA AS Copertura, +-- 1 AS ORDINE INTO #TEMP75 +-- FROM C6Mart.vPatrimoniobfAggregato patrBF +-- LEFT OUTER JOIN C6Mart.RISCHIO_AGGREGATO RISCHIO +-- ON RISCHIO.RETE = patrBF.RETE +-- AND RISCHIO.Cod_Fiscale = patrBF.Cod_Fiscale +-- AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|BF' +-- WHERE +-- patrBF.Rete = @Rete +-- AND patrBF.Cod_Fiscale = @CodiceFiscale +-- --AND patrBF.PatrimonioSenzaCC > 0 +-- UNION ALL +-- SELECT A.Rete,A.CodiceFiscale,A.NomePatrimonio,A.Controvalore,A.ControvaloreCC,A.VarPatrimonio,A.Copertura,A.ORDINE +-- FROM( +-- SELECT +-- @Rete AS Rete, +-- @CodiceFiscale as CodiceFiscale, +-- 'Patrimonio altri Istituti' AS NomePatrimonio, +-- SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END,2)) AS Controvalore, +-- SUM(ROUND(CASE WHEN patrTerzi.TIPO_PRODOTTO = 'Conti correnti' THEN patrTerzi.CTV ELSE 0 END,2)) AS ControvaloreCC, +-- MAX(RISCHIO.VAR_PERC_PTF) as VarPatrimonio, +-- MAX(RISCHIO.COPERTURA) as Copertura, +-- 2 AS ORDINE +-- FROM C6Mart.PATRIMONIO_TERZI patrTerzi +-- LEFT OUTER JOIN C6Mart.RISCHIO_AGGREGATO RISCHIO +-- ON RISCHIO.RETE = patrTerzi.RETE +-- AND RISCHIO.COD_FISCALE = patrTerzi.COD_FISCALE +-- AND RISCHIO.COD_AGGREG = 'COMPLESSIVO|TERZI' +-- WHERE +-- patrTerzi.Rete = @Rete +-- AND patrTerzi.COD_FISCALE = @CodiceFiscale +-- ) A +-- WHERE ISNULL(A.CONTROVALORE,0)>0 +-- -- SE IL PATRIMONIO È SOLO 1 NON VA CALCOLATO IL COMPLESSIVO +-- IF @@ROWCOUNT > 1 +-- BEGIN +-- --CALCOLO IL PATRIMONIO COMPLESSIVO ED ESTRAGGO IL VAR +-- SELECT +-- @ctvCompl=SUM(patr.CONTROVALORE), +-- @saldoCC=SUM(patr.CONTROVALORECC), +-- @varCompl=MAX(RISCHIO.VAR_PERC_PTF), +-- @coperturaCompl=MAX(RISCHIO.COPERTURA) +-- FROM #TEMP75 patr +-- LEFT OUTER JOIN C6Mart.RISCHIO_AGGREGATO RISCHIO +-- ON RISCHIO.RETE = patr.RETE +-- AND RISCHIO.COD_FISCALE = patr.CodiceFiscale +-- AND RISCHIO.COD_AGGREG = 'COMPLESSIVO' +-- --RESTITUISCO I PATRIMONI +-- SELECT +-- ORDINE, +-- NOMEPATRIMONIO, +-- CONTROVALORE, +-- CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END as CCPRESENTE, +-- (CONTROVALORE/@CTVCompl)*100 as PERCENTUALE, +-- VARPATRIMONIO AS VAR, +-- COPERTURA, +---- CASE COPERTURA WHEN 0 THEN 'n.c.' ELSE NULL END AS varString, +---- CASE COPERTURA WHEN 0 THEN 'n.c.' ELSE NULL END AS coperturaString +-- CASE +-- WHEN COPERTURA IS NULL THEN 'n.c.' +-- WHEN COPERTURA = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS varString, +-- CASE +-- WHEN COPERTURA IS NULL THEN 'n.c.' +-- WHEN COPERTURA = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS coperturaString, +-- -- aggiunta per valutare la presenza di controcorrente +-- CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto +-- -- fine aggiunta per valutare la presenza di controcorrente +-- FROM #TEMP75 +-- WHERE CONTROVALORE IS NOT NULL +-- UNION ALL +-- SELECT +-- 3, +-- 'Patrimonio complessivo', +-- @CTVCompl, +-- CASE WHEN @saldoCC > 0 THEN 1 ELSE 0 END as CCPRESENTE, +-- 100.00 as percentuale, +-- @varCompl, +-- @coperturaCompl, +---- CASE @coperturaCompl WHEN 0 THEN 'n.c.' ELSE NULL END AS varString, +---- CASE @coperturaCompl WHEN 0 THEN 'n.c.' ELSE NULL END AS coperturaString +-- CASE +-- WHEN @coperturaCompl IS NULL THEN 'n.c.' +-- WHEN @coperturaCompl = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS varString, +-- CASE +-- WHEN @coperturaCompl IS NULL THEN 'n.c.' +-- WHEN @coperturaCompl = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS coperturaString, +-- -- aggiunta per valutare la presenza di controcorrente +-- CASE WHEN @saldoCC <> 0 THEN 1 ELSE 0 END as NotaCCNetto +-- -- fine aggiunta per valutare la presenza di controcorrente +-- ORDER BY 1 +-- END +-- ELSE +-- BEGIN +-- --RESTITUISCO L'UNICO PATRIMONIO PRESENTE +-- SELECT +-- NOMEPATRIMONIO, +-- CONTROVALORE, +-- CASE WHEN CONTROVALORECC > 0 THEN 1 ELSE 0 END as CCPRESENTE, +-- 100.00 as PERCENTUALE, +-- VARPATRIMONIO AS VAR, +-- COPERTURA, +---- CASE COPERTURA WHEN 0 THEN 'n.c.' ELSE NULL END AS varString, +---- CASE COPERTURA WHEN 0 THEN 'n.c.' ELSE NULL END AS coperturaString +-- CASE +-- WHEN COPERTURA IS NULL THEN 'n.c.' +-- WHEN COPERTURA = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS varString, +-- CASE +-- WHEN COPERTURA IS NULL THEN 'n.c.' +-- WHEN COPERTURA = 0 THEN 'n.c.' +-- ELSE NULL +-- END AS coperturaString, +-- -- aggiunta per valutare la presenza di controcorrente +-- CASE WHEN CONTROVALORECC <> 0 THEN 1 ELSE 0 END as NotaCCNetto +-- -- fine aggiunta per valutare la presenza di controcorrente +-- FROM #TEMP75 +-- WHERE CONTROVALORE IS NOT NULL +-- END +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S76PatrimonioNonRappresentabileAssettClass.sql b/sql/storedTestbes/C6Mart_PL_S76PatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..8890f15d --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S76PatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,144 @@ +-- ============================================= +-- Author: Luca De Lisio +-- Create date: 04/12/2008 +-- Description: +-- ============================================= +--[C6Mart].[PL_S76PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +CREATE procedure [C6Mart].[PL_S76PatrimonioNonRappresentabileAssettClass] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Banca Fideuram' + ELSE IF @RETE = 'S' + SET @NOMERETE = 'Sanpaolo Invest' + ELSE SET @NOMERETE = 'IW Private Investments' + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + UNION ALL + SELECT + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MART.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO + ORDER BY CONTROVALORE DESC +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_S76PatrimonioNonRappresentabileAssettClass] Script Date: 08/02/2022 17:04:40 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: Luca De Lisio +---- Create date: 04/12/2008 +---- Description: +---- ============================================= +----[C6Mart].[PL_S76PatrimonioNonRappresentabileAssettClass] 'F', 'BRTVTR64T13L219G' +--ALTER procedure [C6Mart].[PL_S76PatrimonioNonRappresentabileAssettClass] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- DECLARE @NOMERETE VARCHAR(20) +-- IF @RETE = 'F' +-- SET @NOMERETE = 'Banca Fideuram' +-- ELSE +-- SET @NOMERETE = 'Sanpaolo Invest' +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- PATRBF.CTV as Controvalore, +-- PATRBF.CTV as controvalore_contratto, +-- PATRBF.PARTVIA_DISINV as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO <> 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- UNION ALL +-- SELECT +-- PATRBF.ID_CONTRATTO as Contratto, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, +-- ANAGP.DESCR_PRODOTTO AS Descrizione, +-- SUM(ASUL.CTV) as Controvalore, +-- MAX(PATRBF.CTV) as controvalore_contratto, +-- SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, +-- @NOMERETE as Intermediario +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN C6MART.DETTAGLIO_ASUL ASUL +-- ON PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT OUTER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE 1 = 1 +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- AND PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- GROUP BY +-- PATRBF.ID_CONTRATTO, +-- dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , +-- ANAGP.DESCR_PRODOTTO +-- ORDER BY CONTROVALORE DESC +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S95ProfiloDiRischio.sql b/sql/storedTestbes/C6Mart_PL_S95ProfiloDiRischio.sql new file mode 100644 index 00000000..7d922c33 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S95ProfiloDiRischio.sql @@ -0,0 +1,49 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_S95ProfiloDiRischio] 'F','BBBPSN44E20B041U' +CREATE procedure [C6Mart].[PL_S95ProfiloDiRischio] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @varBF DECIMAL(12,2) + DECLARE @coperturaBF DECIMAL(12,2) + DECLARE @codiceProfilo SMALLINT + DECLARE @dataProfilo DATETIME + DECLARE @varProfilo DECIMAL(5,2) + DECLARE @nomeProfilo VARCHAR(50) + DECLARE @riskclass VARCHAR(50) + DECLARE @experience SMALLINT + SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience + FROM + C6Mart.MIFID AS M + INNER JOIN C6Mart.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale + SELECT + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskClass, + @experience as experince +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S96RischiomercatoRischiocredito.sql b/sql/storedTestbes/C6Mart_PL_S96RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..abc25e2e --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S96RischiomercatoRischiocredito.sql @@ -0,0 +1,446 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6Mart].[PL_S96RischiomercatoRischiocredito] 'S','92004630635' +CREATE procedure [C6Mart].[PL_S96RischiomercatoRischiocredito] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + --V La copertura viene valorizzata con un valore da 0 da 100 + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + -- ELSE NULL + -- END AS COVERAGESTRING, + NULL AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) )*100 AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6mart.patrimonio_bf PATRBF,C6Mart.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.cod_fiscale = @codiceFiscale + and PATRBF.rete= @rete + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' WHEN PATRBF.RETE='S' THEN 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' THEN 'Patrimonio IW Private Inv.' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6mart.PATRIMONIO_TERZI TERZI,C6Mart.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.cod_fiscale =@codiceFiscale + and TERZI.rete=@rete + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6mart.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6mart.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6mart.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6mart.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Banca Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'W' then 'Patrimonio IW Private Inv.' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6mart.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6mart.PATRIMONIO_TERZI TERZI + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6mart.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6mart.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6mart.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6mart.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [C6Mart].[PL_S96RischiomercatoRischiocredito] Script Date: 08/02/2022 17:07:22 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +-- --[C6Mart].[PL_S96RischiomercatoRischiocredito] 'S','92004630635' +--ALTER procedure [C6Mart].[PL_S96RischiomercatoRischiocredito] +-- -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +--AS +--BEGIN +-- -- SET NOCOUNT ON added to prevent extra result sets from +-- -- interfering with SELECT statements. +-- SET NOCOUNT ON; +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- PATRBF.INSTITUTENAME, +-- CTV, +-- M.PROFILO_ASS AS CODICEPROFILO, +-- CR.MAX_VAR AS VARMAX, +-- RISK_AGG.VAR_PERC_PTF AS VAR , +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END AS VARSTRING, +-- RISK_AGG.CREDITRISK RISKCLASS, +-- CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END AS RISKCLASSSTRING, +-- --V La copertura viene valorizzata con un valore da 0 da 100 +-- ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +-- -- CASE +-- -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- -- ELSE NULL +-- -- END AS COVERAGESTRING, +-- NULL AS COVERAGESTRING, +-- M.RISKCLASS AS RISKCLASSMAX, +-- (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) )*100 AS PERCENTAGE, +-- --V +-- ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, +-- SUM(PATRBF.CTV) AS CTV, +-- --V +-- 1 as ORDINE, +-- RISK_AGG.Ully_perc +-- from +-- c6mart.patrimonio_bf PATRBF,C6Mart.RISCHIO_AGGREGATO RISK_AGG +-- where +-- 1=1 +-- and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE +-- and PATRBF.rete= RISK_AGG.rete +-- and PATRBF.cod_fiscale = @codiceFiscale +-- and PATRBF.rete= @rete +-- and PATRBF.CTV > 0 +-- and +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or +-- --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- RISK_AGG.Ully_perc, +-- CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END +-- UNION +-- SELECT +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- 'Patrimonio altri Istituti' AS INSTITUTENAME, +-- SUM(ROUND(TERZI.CTV,2)) AS CTV, +-- --V +-- 2 as ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- c6mart.PATRIMONIO_TERZI TERZI,C6Mart.RISCHIO_AGGREGATO RISK_AGG +-- where +-- 1=1 +-- and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE +-- and TERZI.rete= RISK_AGG.rete +-- and TERZI.cod_fiscale =@codiceFiscale +-- and TERZI.rete=@rete +-- and TERZI.CTV > 0 +-- and +-- ( +-- --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- GROUP BY +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- RISK_AGG.Ully_perc +-- ) PATRBF +-- LEFT OUTER JOIN +-- c6mart.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN c6mart.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- c6mart.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- c6mart.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- AND +-- (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Banca Fideuram' +-- WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' +-- else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' +-- ) +-- UNION ALL +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- 'Patrimonio Complessivo' AS INSTITUTENAME, +-- SUM(CTV), +-- MAX(M.PROFILO_ASS) AS CODICEPROFILO, +-- MAX(CR.MAX_VAR) AS VARMAX, +-- MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , +-- MAX( CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END) AS VARSTRING, +-- MAX(RISK_AGG.CREDITRISK) RISKCLASS, +-- MAX( +-- case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- WHEN RISK_AGG.creditrisk is null THEN 'n.a.' +-- WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' +-- ELSE NULL +-- END ) +-- AS RISKCLASSSTRING, +-- MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, +-- MAX( CASE +-- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE NULL +-- END) AS COVERAGESTRING, +-- --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, +-- MAX(M.RISKCLASS) AS RISKCLASSMAX, +-- 100 AS PERCENTAGE, +-- --V +-- 3 AS ORDINE, +-- RISK_AGG.Ully_perc +-- FROM +-- ( +-- select +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- SUM(PATRBF.CTV) AS CTV +-- from +-- c6mart.patrimonio_bf PATRBF +-- where +-- 1=1 +-- and cod_fiscale =@codiceFiscale +-- and rete=@rete +-- and PATRBF.CTV > 0 +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE +-- UNION +-- SELECT +-- TERZI.RETE, +-- TERZI.COD_FISCALE, +-- SUM(ROUND(TERZI.CTV,2)) AS CTV +-- FROM +-- c6mart.PATRIMONIO_TERZI TERZI +-- where +-- 1=1 +-- and cod_fiscale =@codiceFiscale +-- and rete=@rete +-- and TERZI.CTV > 0 +-- GROUP BY +-- TERZI.RETE, +-- TERZI.COD_FISCALE +-- ) PATRBF +-- LEFT OUTER JOIN +-- c6mart.MIFID AS M +-- ON +-- PATRBF.COD_FISCALE=M.COD_FISCALE +-- AND PATRBF.RETE=M.RETE +-- LEFT OUTER JOIN c6mart.CODIFICA_RISCHIO AS CR +-- ON M.PROFILO_ASS = CR.PROFILO +-- LEFT OUTER JOIN +-- c6mart.CODIFICA_CREDITRISK CK +-- ON +-- M.riskclass=CK.PROFILO +-- LEFT OUTER JOIN +-- c6mart.RISCHIO_AGGREGATO RISK_AGG +-- ON +-- PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +-- AND PATRBF.RETE=RISK_AGG.RETE +-- where +-- ( +-- RISK_AGG.COD_AGGREG= 'COMPLESSIVO' +-- ) +-- GROUP BY +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- RISK_AGG.Ully_perc +-- --V +-- order by ordine +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_S96RischiomercatoRischiocredito_old.sql b/sql/storedTestbes/C6Mart_PL_S96RischiomercatoRischiocredito_old.sql new file mode 100644 index 00000000..3241efc0 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_S96RischiomercatoRischiocredito_old.sql @@ -0,0 +1,213 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= + --[C6Mart].[PL_S96RischiomercatoRischiocredito] 'F','BRNDRA65B04B300I' +CREATE procedure [C6Mart].[PL_S96RischiomercatoRischiocredito_old] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --V VARIABILI DI APPOGGIO PER LA VERIFICA SE IL CLIENTE HA SOLO CC + DECLARE @ESISTECC INT + DECLARE @NUMPOSIZIONI INT + SELECT @ESISTECC = COUNT(DISTINCT COD_FISCALE) + FROM C6MART.PATRIMONIO_BF + WHERE ID_AREA = 'CC' + AND COD_FISCALE = @CodiceFiscale + GROUP BY ID_AREA + SELECT @NUMPOSIZIONI = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE ID_AREA <> 'CC' + AND COD_FISCALE = @CodiceFiscale + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + CASE WHEN (@ESISTECC - @NUMPOSIZIONI) > 0 and institutename in ('Patrimonio Banca Fideuram','Patrimonio Sanpaolo Invest') THEN 0 + ELSE RISK_AGG.VAR_PERC_PTF + END AS VAR , + CASE + WHEN (@ESISTECC - @NUMPOSIZIONI) > 0 THEN NULL + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN (@ESISTECC - @NUMPOSIZIONI) > 0 THEN 'n.a.' + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + CASE + WHEN (@ESISTECC - @NUMPOSIZIONI) > 0 THEN 100 + ELSE ISNULL(RISK_AGG.COPERTURA,0.00) + END AS COVERAGE, + CASE + WHEN (@ESISTECC - @NUMPOSIZIONI) > 0 THEN NULL + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + (SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) )*100 AS PERCENTAGE, + ORDINE + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + 1 as ORDINE + from + c6mart.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale = @codiceFiscale + and rete= @rete + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' ELSE 'Patrimonio Sanpaolo Invest' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + --SUM(TERZI.CTV) AS CTV, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + 2 as ORDINE + FROM + C6MART.PATRIMONIO_TERZI TERZI + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + C6Mart.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN C6Mart.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6mart.CODIFICA_CREDITRISK CK + ON +-- tringali + M.riskclass=CK.PROFILO + -- M.PROFILO_ASS=CK.PROFILO + LEFT OUTER JOIN + c6mart.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Banca Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + --SUM(CTV), + SUM(ROUND(CTV,2)), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + 3 AS ORDINE + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6mart.patrimonio_bf PATRBF + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + --SUM(TERZI.CTV) AS CTV + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + C6MART.PATRIMONIO_TERZI TERZI + where + 1=1 + and cod_fiscale =@codiceFiscale + and rete=@rete + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + C6Mart.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN C6Mart.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6mart.CODIFICA_CREDITRISK CK + ON +-- tringali + M.riskclass=CK.PROFILO + -- M.PROFILO_ASS=CK.PROFILO + LEFT OUTER JOIN + c6mart.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + --V + order by ordine +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PL_SavingMap.sql b/sql/storedTestbes/C6Mart_PL_SavingMap.sql new file mode 100644 index 00000000..cb65f444 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PL_SavingMap.sql @@ -0,0 +1,19 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- [C6Mart].[PL_SavingMap] 'S','BCCNCL47B10H769B','507112FO702' --'000001VP001' +create procedure [C6Mart].[PL_SavingMap] + @rete varchar(1), + @codfis varchar(16), + @codConf varchar(11) +AS +BEGIN + declare @ris as int + declare @ritorno as int + -- viene passato il contratto di un foglio: verifico se su questo è attivo saving map L'informazione è contenuta nella colonna MAF del cc + select @ritorno = (select count(*) from c6mart.patrimonio_bf where + cod_fiscale = @codfis and rete = @rete and cod_maf = @codConf ) + select @ritorno +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PROM_TuttiIPortafogli.sql b/sql/storedTestbes/C6Mart_PROM_TuttiIPortafogli.sql new file mode 100644 index 00000000..d3935a13 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PROM_TuttiIPortafogli.sql @@ -0,0 +1,44 @@ +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +--[C6Mart].[PROM_TuttiIPortafogli] +CREATE procedure [C6Mart].[PROM_TuttiIPortafogli] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,cast([CtvNominale] as varchar) as CtvNominale + ,cast([CtvReale] as varchar) as CtvReale +FROM ( + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Mart].[vTuttiIPortafogli] --[C6StampeCentralizzate] + union all + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Mart].[vTuttiIPortafogli_ccLiq] --[C6StampeCentralizzate] +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PROM_TuttiIPortafogli_old.sql b/sql/storedTestbes/C6Mart_PROM_TuttiIPortafogli_old.sql new file mode 100644 index 00000000..7a0bf776 --- /dev/null +++ b/sql/storedTestbes/C6Mart_PROM_TuttiIPortafogli_old.sql @@ -0,0 +1,58 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +--[C6Mart].[PROM_TuttiIPortafogli] +CREATE procedure [C6Mart].[PROM_TuttiIPortafogli_old] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT + A.Rete, + A.CodiceFiscale, + A.Portafoglio, + A.CodiceProdotto, + A.Piazza, + A.CodiceValuta, + A.Classe, + CAST(A.CtvNominale AS VARCHAR(50)) AS CtvNominale, + CAST(A.CtvReale AS VARCHAR(50))AS CtvReale +FROM( + SELECT + Rete, + CodiceFiscale, + Portafoglio, + CodiceProdotto, + Piazza, + CodiceValuta, + Classe, + --V Gestione CC negativo + CASE + when CtvNominale < 0 then 0 + else CtvNominale + END AS CtvNominale, + CASE + when CtvReale < 0 then 0 + else CtvReale + END AS CtvReale + FROM [C6Mart].[vTuttiIPortafogli] + UNION + SELECT + Rete, + CodiceFiscale, + REPLACE(Portafoglio,'COMPLESSIVO|BF|RISFIN|','PIRAMIDE|'), + CodiceProdotto, + Piazza, + CodiceValuta, + Classe, + CtvNominale, + CtvReale + FROM [C6Mart].[vTuttiIPortafogli] + where PORTAFOGLIO LIKE 'COMPLESSIVO|BF|RISFIN%' + AND PORTAFOGLIO NOT LIKE 'COMPLESSIVO|BF|RISFIN|NA%' + AND PORTAFOGLIO NOT LIKE 'COMPLESSIVO|BF|CC|%' +) A +--WHERE RTRIM(LTRIM(ISNULL(A.CodiceProdotto,'$'))) <> '$' +ORDER BY 1,2,3 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_Popola_S133_S157DatiPiramide.sql b/sql/storedTestbes/C6Mart_Popola_S133_S157DatiPiramide.sql new file mode 100644 index 00000000..f777d6d5 --- /dev/null +++ b/sql/storedTestbes/C6Mart_Popola_S133_S157DatiPiramide.sql @@ -0,0 +1,291 @@ +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +CREATE procedure [C6Mart].[Popola_S133_S157DatiPiramide] +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT_TEMP + FROM + C6Mart.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, +-- LEFT(ID_AREA,3) AS ID_AREA, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MART.PATRIMONIO_BF PIRAMIDE_VERT + GROUP BY + RETE, COD_FISCALE, + CASE + WHEN ID_AREA = 'SELF' + THEN LEFT(ID_AREA,4) + ELSE LEFT(ID_AREA,3) + END + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + and PIRAMIDE_VERT.COD_FISCALE = PIRAMIDE_MOD.COD_FISCALE + and PIRAMIDE_VERT.RETE = PIRAMIDE_MOD.RETE + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC','SELF','INV') + --OR (PIRAMIDE_MOD.ID_AREA = 'INV' AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL) /* 20161202 nome_progetto sempre diverso da null */ + ) +/* 20161214 - aggiunto aggragazione percentuali per area */ + SELECT + RETE, + COD_FISCALE, + ID_AREA, + sum(PERC_AREA) as PERC_AREA, + CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + #PIRAMIDE_VERT_TEMP + group by rete,cod_fiscale, id_area, CONTROVALORE +truncate table c6mart.TB_S133_S157DatiPiramide +insert into c6mart.TB_S133_S157DatiPiramide + SELECT distinct /* 20161202 */ + ATTUALE.RETE, + ATTUALE.COD_FISCALE, + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + ISNULL(ATTUALE.CONTROVALORE,0) PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ISNULL(ATTUALE.PERC_AREA,0) ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ISNULL(ATTUALE.CONTROVALORE,0) DifferenzaEuro, + 0 differenzapercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + --WHEN AREA_BISOGNO.ID_AREA = 'LIQ' THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + 0 somma_controvalAttuale, + 0 somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + RISCHIOTOTALE.VAR_PERC_PTF var_tot, + null var_totString, + RISCHIOTOTALE_PIR.VAR_PERC_PTF var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_tot_pirString, + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + c6mart.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + c6mart.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + WHEN ATTUALE.ID_AREA = 'Self' + THEN 'COMPLESSIVO|BF|SELF' + END + ) + LEFT JOIN + c6mart.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + c6mart.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + c6mart.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN|PIRAMIDE' --Per Aladdin è stato aggiunto il tag |PIRAMIDE + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + WHERE AREA_BISOGNO.ID_AREA <> 'self' +------------------------------------------------------------------ +SELECT rete, cod_fiscale,sum(ATTUALE.CONTROVALORE) TotControvalore +into #temp +FROM #PIRAMIDE_VERT ATTUALE +WHERE ID_AREA not in ('Na', 'Cc','Self') +group by rete,cod_fiscale +update s157 +set s157.PercentualeAttuale =CASE + WHEN vert.TotControvalore = 0 THEN 0 + ELSE (100 * s157.PercentualeAttuale / ISNULL(vert.TotControvalore,1)) + END, +s157.ControvaloreModello=ROUND(ISNULL(s157.ControvaloreModello * vert.TotControvalore / 100 , 0),2) , +s157.DifferenzaEuro = ROUND(ISNULL(s157.DifferenzaEuro,0),2) - ROUND(ISNULL(s157.Totale_Percentuale * vert.TotControvalore / 100 , 0),2), +s157.DifferenzaPercentuale = CASE + WHEN vert.TotControvalore = 0 THEN - s157.Totale_Percentuale + ELSE ISNULL( (100 * ISNULL(s157.ControvaloreAttuale,0) / vert.TotControvalore - s157.Totale_Percentuale) , 0) + END , +s157.somma_controvalAttuale =vert.TotControvalore, +s157.somma_controvalModello=vert.TotControvalore +from c6mart.TB_S133_S157DatiPiramide s157 +inner join #temp vert +on vert.rete = s157.rete and vert.cod_fiscale = s157.codicefiscale +select rete,cod_fiscale,'TOT' as Tipo,count(*) over ( partition by rete,cod_fiscale) TOT + into #TempContatori + FROM c6mart.PATRIMONIO_BF +union +select rete,cod_fiscale,'TOTCCSELF',count(*) over ( partition by rete,cod_fiscale) TOTCCSELF + FROM c6mart.PATRIMONIO_BF + where TIPO_PRODOTTO = 'CC' OR ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELF',count(*) over ( partition by rete,cod_fiscale) TOTSELF + FROM c6mart.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') +union +select rete,cod_fiscale,'TOTSELFLIQ',count(*) over ( partition by rete,cod_fiscale) TOTSELFLIQ + FROM c6mart.PATRIMONIO_BF + where ISIN in ('EURO00000009','EURO10000007') AND ID_AREA = 'LIQ' +union +select rete,cod_fiscale,'TOTLIQ',count(*) over ( partition by rete,cod_fiscale) TOTLIQ + FROM c6mart.PATRIMONIO_BF + where ID_AREA = 'LIQ' + select + totale1.rete, + totale1.cod_fiscale, + ISNULL(totale1.TOT,0) as TOT, + ISNULL(totale2.TOT,0) as TOTCCSELF, + ISNULL(totale3.TOT,0) as TOTSELF, + ISNULL(totale4.TOT,0) as TOTSELFLIQ, + ISNULL(totale5.TOT,0) as TOTLIQ + into #Contatori + from + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOT') as totale1 + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTCCSELF') as totale2 + on totale1.rete=totale2.rete + and totale1.cod_fiscale=totale2.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELF') as totale3 + on totale1.rete=totale3.rete + and totale1.cod_fiscale=totale3.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTSELFLIQ') as totale4 + on totale1.rete=totale4.rete + and totale1.cod_fiscale=totale4.cod_fiscale + left join + (select rete,cod_fiscale,TOT from #TempContatori + where tipo = 'TOTLIQ') as totale5 + on totale1.rete=totale5.rete + and totale1.cod_fiscale=totale5.cod_fiscale +update s157 +set +var_needareaString= CASE + WHEN TOTSELFLIQ = TOTLIQ and needarea = 'LIQ' THEN 'n.c.' + ELSE var_needareaString + END, +var_tot = CASE + WHEN TOTCCSELF = TOT THEN 0.00 + ELSE var_tot + END , +var_totString=CASE + WHEN (TOTCCSELF <> TOT) AND(copertura_tot IS NULL OR copertura_tot = 0) THEN 'n.c.' + WHEN (TOTSELF = TOT) THEN 'n.c.' + ELSE NULL + END , +var_tot_pir =CASE + WHEN TOTCCSELF = TOT THEN 0 + ELSE var_tot_pir +END , +var_tot_pirString=CASE + WHEN var_tot_pirString <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + WHEN TOTSELF = TOT THEN 'n.c.' + ELSE var_tot_pirString + END + ELSE var_tot_pirString + END , +VAR_RISFINSTRING=CASE + WHEN VAR_RISFINSTRING <> 'n.c.' THEN + CASE + WHEN TOTCCSELF = TOT THEN NULL + ELSE VAR_RISFINSTRING + END + ELSE VAR_RISFINSTRING + END +from c6mart.TB_S133_S157DatiPiramide s157 +inner join ( select * from #Contatori ) contatori +on contatori.rete = s157.rete and contatori.cod_fiscale = s157.codicefiscale +--and codicefiscale='00247580970' + Drop TABLE #temp + DROP TABLE #PIRAMIDE_VERT + drop table #Contatori + drop table #TempContatori +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_Popola_S148DistribuzioneAssetClass.sql b/sql/storedTestbes/C6Mart_Popola_S148DistribuzioneAssetClass.sql new file mode 100644 index 00000000..50ad4ace --- /dev/null +++ b/sql/storedTestbes/C6Mart_Popola_S148DistribuzioneAssetClass.sql @@ -0,0 +1,388 @@ +--[c6mart].[Popola_S148DistribuzioneAssetClass] 'F','LRNRMR33D51C166I' +CREATE procedure [C6Mart].[Popola_S148DistribuzioneAssetClass] + -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN +truncate table c6mart.TB_S148DistribuzioneAssetClass +INSERT INTO c6mart.TB_S148DistribuzioneAssetClass +--SELECT @Rete as Rete, @CodiceFiscale as CodiceFiscale, +-- CASE @Rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Banca Fideuram' +-- END AS Banca, + select rete, + cod_fiscale, + CASE rete + WHEN 'S' THEN 'Sanpaolo Invest' + WHEN 'F' THEN 'Fideuram' + ELSE 'IW Private Investments' + END AS Banca, + ORDINAMENTO, + AssetClassId, + AssetClassName, + SUM(Controvalore) As Controvalore, + --SUM(CONTROVALORE) / Totale As Percentuale, + SUM(CONTROVALORE) / Totale * 100 As Percentuale, + Totale +FROM +( +SELECT rete, + cod_fiscale, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, + --ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'Totale') * 100, 2) AS Percentuale, + cast(ROUND(SUM(Controvalore) OVER (PARTITION BY 'Totale',rete,cod_fiscale),2) as decimal(19,5)) AS Totale + FROM ( + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM c6mart.PATRIMONIO_BF AS PATR_BF + INNER JOIN c6mart.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE +--inizio interventi OMNIA +-- PATR_BF.ID_AREA NOT IN ('Cc','Pre1','Pre2','Pre') + PATR_BF.ID_AREA NOT IN ('SELF','Cc','Pre1','Pre2','Pre') +--fine interventi OMNIA + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + --AND PATR_BF.COD_FISCALE= @CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM c6mart.DETTAGLIO_ASUL ASUL + INNER JOIN c6mart.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN c6mart.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + --ASUL.RETE = @Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM c6mart.PATRIMONIO_BF ASUL + INNER JOIN c6mart.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + WHERE + --ASUL.RETE =@Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA NOT IN ('Pre1','Pre2','Pre') + ) val + where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS + UNION ALL + /* nuovo */ + SELECT + VAL.RETE, + VAL.COD_FISCALE, + SUM(CONTROVALORE) AS CONTROVALORE, + ID_ASSETCLASS + FROM + (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare + SELECT + PATR_BF.RETE, + PATR_BF.COD_FISCALE, + (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, + ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS + FROM c6mart.PATRIMONIO_BF AS PATR_BF + INNER JOIN c6mart.ASSET_PERC AS ASSETPERC + ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + WHERE + PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + AND ASSETPERC.LIVELLO = 2 + --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') + --AND PATR_BF.COD_FISCALE=@CodiceFiscale + -- AND PATR_BF.RETE= @Rete +-- + UNION ALL + ---DETTAGLIO ASUL SENZA GLI SKANDIA + SELECT PATR_BF.RETE, + PATR_BF.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM c6mart.DETTAGLIO_ASUL ASUL + INNER JOIN c6mart.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 2 + INNER JOIN c6mart.PATRIMONIO_BF PATR_BF + ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE + AND ASUL.RETE=PATR_BF.RETE + AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO + WHERE + --ASUL.RETE = @Rete + --AND ASUL.COD_FISCALE = @CodiceFiscale + PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') + UNION ALL + --DETTAGLIO ASUL SKANDIA + SELECT ASUL.RETE, + ASUL.COD_FISCALE, + ASUL.CTV*ASSETPERC.PERC as Controvalore, + ASSETPERC.ID_ASSETCLASS + FROM c6mart.PATRIMONIO_BF ASUL + INNER JOIN c6mart.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) + AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) + AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 2 + WHERE + -- ASUL.RETE =@Rete + -- AND ASUL.COD_FISCALE = @CodiceFiscale + --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 + ASUL.tipo_Prodotto = 'ASU2' + AND ASUL.ID_AREA IN ('Pre1','Pre2','Pre') + ) val + where Controvalore >0 + GROUP BY + VAL.RETE, + val.COD_FISCALE, + VAL.ID_ASSETCLASS + ) + VALORIASSET + INNER JOIN c6mart.ASSETCLASS AS ASSETCLASS + ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +-- WHERE +-- VALORIASSET.RETE =@Rete +-- AND VALORIASSET.COD_FISCALE = @CodiceFiscale +) a +Group By rete,cod_fiscale,ORDINAMENTO, AssetClassId, AssetClassName, Totale + ORDER BY ORDINAMENTO +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [c6mart].[Popola_S148DistribuzioneAssetClass] Script Date: 10/02/2022 16:42:22 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +----[c6mart].[Popola_S148DistribuzioneAssetClass] 'F','LRNRMR33D51C166I' +--ALTER procedure [c6mart].[Popola_S148DistribuzioneAssetClass] +-- -- Add the parameters for the stored procedure here +---- @Rete char(1), +---- @CodiceFiscale varchar(16) +--AS +--BEGIN +--truncate table c6mart.TB_S148DistribuzioneAssetClass +--INSERT INTO c6mart.TB_S148DistribuzioneAssetClass +----SELECT @Rete as Rete, @CodiceFiscale as CodiceFiscale, +---- CASE @Rete +---- WHEN 'S' THEN 'Sanpaolo Invest' +---- ELSE 'Banca Fideuram' +---- END AS Banca, +-- select rete, +-- cod_fiscale, +-- CASE rete +-- WHEN 'S' THEN 'Sanpaolo Invest' +-- ELSE 'Fideuram' +-- END AS Banca, +-- ORDINAMENTO, +-- AssetClassId, +-- AssetClassName, +-- SUM(Controvalore) As Controvalore, +-- --SUM(CONTROVALORE) / Totale As Percentuale, +-- SUM(CONTROVALORE) / Totale * 100 As Percentuale, +-- Totale +--FROM +--( +--SELECT rete, +-- cod_fiscale, +-- ASSETCLASS.ORDINAMENTO, +-- VALORIASSET.ID_ASSETCLASS AS AssetClassId, +-- ASSETCLASS.DESCRIZIONE AS AssetClassName, +-- CAST(VALORIASSET.CONTROVALORE AS DECIMAL(15,2)) AS Controvalore, +-- --ROUND(VALORIASSET.CONTROVALORE / SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'Totale') * 100, 2) AS Percentuale, +-- cast(ROUND(SUM(Controvalore) OVER (PARTITION BY 'Totale',rete,cod_fiscale),2) as decimal(19,5)) AS Totale +-- FROM ( +-- SELECT +-- VAL.RETE, +-- VAL.COD_FISCALE, +-- SUM(CONTROVALORE) AS CONTROVALORE, +-- ID_ASSETCLASS +-- FROM +-- (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare +-- SELECT +-- PATR_BF.RETE, +-- PATR_BF.COD_FISCALE, +-- (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, +-- ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS +-- FROM c6mart.PATRIMONIO_BF AS PATR_BF +-- INNER JOIN c6mart.ASSET_PERC AS ASSETPERC +-- ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- WHERE +----inizio interventi OMNIA +---- PATR_BF.ID_AREA NOT IN ('Cc','Pre1','Pre2','Pre') +-- PATR_BF.ID_AREA NOT IN ('SELF','Cc','Pre1','Pre2','Pre') +----fine interventi OMNIA +-- AND ASSETPERC.LIVELLO = 2 +-- --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') +-- AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') +-- --AND PATR_BF.COD_FISCALE= @CodiceFiscale +-- -- AND PATR_BF.RETE= @Rete +---- +-- UNION ALL +-- ---DETTAGLIO ASUL SENZA GLI SKANDIA +-- SELECT PATR_BF.RETE, +-- PATR_BF.COD_FISCALE, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore, +-- ASSETPERC.ID_ASSETCLASS +-- FROM c6mart.DETTAGLIO_ASUL ASUL +-- INNER JOIN c6mart.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 2 +-- INNER JOIN c6mart.PATRIMONIO_BF PATR_BF +-- ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE +-- AND ASUL.RETE=PATR_BF.RETE +-- AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO +-- WHERE +-- --ASUL.RETE = @Rete +-- --AND ASUL.COD_FISCALE = @CodiceFiscale +-- PATR_BF.ID_AREA NOT IN ('Pre1','Pre2','Pre') +-- UNION ALL +-- --DETTAGLIO ASUL SKANDIA +-- SELECT ASUL.RETE, +-- ASUL.COD_FISCALE, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore, +-- ASSETPERC.ID_ASSETCLASS +-- FROM c6mart.PATRIMONIO_BF ASUL +-- INNER JOIN c6mart.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) +-- AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) +-- AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 2 +-- WHERE +-- --ASUL.RETE =@Rete +-- --AND ASUL.COD_FISCALE = @CodiceFiscale +-- --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 +-- ASUL.tipo_Prodotto = 'ASU2' +-- AND ASUL.ID_AREA NOT IN ('Pre1','Pre2','Pre') +-- ) val +-- where Controvalore >0 +-- GROUP BY +-- VAL.RETE, +-- val.COD_FISCALE, +-- VAL.ID_ASSETCLASS +-- UNION ALL +-- /* nuovo */ +-- SELECT +-- VAL.RETE, +-- VAL.COD_FISCALE, +-- SUM(CONTROVALORE) AS CONTROVALORE, +-- ID_ASSETCLASS +-- FROM +-- (--V Escludo gli ASU2 che essendo skandia vanno gestiti in modo particolare +-- SELECT +-- PATR_BF.RETE, +-- PATR_BF.COD_FISCALE, +-- (PATR_BF.CTV * ISNULL(ASSETPERC.PERC, 1)) AS CONTROVALORE, +-- ISNULL(ASSETPERC.ID_ASSETCLASS, 'AL') AS ID_ASSETCLASS +-- FROM c6mart.PATRIMONIO_BF AS PATR_BF +-- INNER JOIN c6mart.ASSET_PERC AS ASSETPERC +-- ON PATR_BF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO +-- WHERE +-- PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') +-- AND ASSETPERC.LIVELLO = 2 +-- --AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','CC') +-- AND PATR_BF.TIPO_PRODOTTO NOT IN ('ASUL','ASU2') +-- --AND PATR_BF.COD_FISCALE=@CodiceFiscale +-- -- AND PATR_BF.RETE= @Rete +---- +-- UNION ALL +-- ---DETTAGLIO ASUL SENZA GLI SKANDIA +-- SELECT PATR_BF.RETE, +-- PATR_BF.COD_FISCALE, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore, +-- ASSETPERC.ID_ASSETCLASS +-- FROM c6mart.DETTAGLIO_ASUL ASUL +-- INNER JOIN c6mart.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = rtrim(ASUL.COD_PRODOTTO) +-- AND ASUL.COD_ISIN_SOTT = '' +-- AND ASSETPERC.LIVELLO = 2 +-- INNER JOIN c6mart.PATRIMONIO_BF PATR_BF +-- ON ASUL.COD_FISCALE=PATR_BF.COD_fISCALE +-- AND ASUL.RETE=PATR_BF.RETE +-- AND ASUL.id_contratto=PATR_BF.ID_CONTRATTO +-- WHERE +-- --ASUL.RETE = @Rete +-- --AND ASUL.COD_FISCALE = @CodiceFiscale +-- PATR_BF.ID_AREA IN ('Pre1','Pre2','Pre') +-- UNION ALL +-- --DETTAGLIO ASUL SKANDIA +-- SELECT ASUL.RETE, +-- ASUL.COD_FISCALE, +-- ASUL.CTV*ASSETPERC.PERC as Controvalore, +-- ASSETPERC.ID_ASSETCLASS +-- FROM c6mart.PATRIMONIO_BF ASUL +-- INNER JOIN c6mart.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_ISIN = rtrim(ASUL.ISIN) +-- AND ASSETPERC.COD_MAF = rtrim(ASUL.COD_MAF) +-- AND ASSETPERC.COD_INTERNO = rtrim(ASUL.COD_INTERNO) +-- AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO +-- AND rtrim(ASSETPERC.COD_PRODOTTO) = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 2 +-- WHERE +-- -- ASUL.RETE =@Rete +-- -- AND ASUL.COD_FISCALE = @CodiceFiscale +-- --V gli SKANDIA sono a livello di patrimonio_bf con tipo prod ASU2 +-- ASUL.tipo_Prodotto = 'ASU2' +-- AND ASUL.ID_AREA IN ('Pre1','Pre2','Pre') +-- ) val +-- where Controvalore >0 +-- GROUP BY +-- VAL.RETE, +-- val.COD_FISCALE, +-- VAL.ID_ASSETCLASS +-- ) +-- VALORIASSET +-- INNER JOIN c6mart.ASSETCLASS AS ASSETCLASS +-- ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +---- WHERE +---- VALORIASSET.RETE =@Rete +---- AND VALORIASSET.COD_FISCALE = @CodiceFiscale +--) a +--Group By rete,cod_fiscale,ORDINAMENTO, AssetClassId, AssetClassName, Totale +-- ORDER BY ORDINAMENTO +--END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_Popolamento_RP_W6DAILY.sql b/sql/storedTestbes/C6Mart_Popolamento_RP_W6DAILY.sql new file mode 100644 index 00000000..bcb243b0 --- /dev/null +++ b/sql/storedTestbes/C6Mart_Popolamento_RP_W6DAILY.sql @@ -0,0 +1,171 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6Mart].[Popolamento_RP_W6DAILY] +AS +BEGIN + SET NOCOUNT ON; + --dichiaro variabile data di trimestrale + DECLARE @dttrim int + --valorizzo la data di trimestrale al giorno del congelamento + set @dttrim = CAST(CONVERT(varchar, CAST(getdate() as DATETIME),112) as int) + --print @dttrim + --Tronchiamo la tabella RP_vTuttiIPortafogli_Aladdin_tab e la ripopoliamo + --a partire dalla vista RP_vTuttiIPortafogli_Aladdin + Truncate table C6StampeCentralizzate.C6Mart.w6daily + -- + insert into C6StampeCentralizzate.C6Mart.w6daily + select + 'G' as FLGCLI , + 'M' as FLGBL , + 'A' as TIPOELA, + @dttrim as DTTRIM, + rete, + codfis, + piva, + codman, + '' as CODFID, + '' as CODAGE, + CASE + --WHEN cod_interno <> 'SINT3MEUR' and famprodt = 'DT' THEN isnull(cod_interno,'') + WHEN ((cod_interno <> 'SINT3MEUR' and cod_interno <> 'SINT6MEUR') and famprodt = 'DT') THEN isnull(cod_interno,'') + ELSE '' + END as CODABI, + ISNULL(termid,00000000), + cast(annos as int) as anno , + cast(progs as int) as prog , + 0 as quote, + cast(ctvreale as float) as CTV, + codconf, --17 + rubr, + custgar, + ISNULL(cod_interno,''), + '' as codana, + CASE + WHEN cast(annos as int) <> 0 and cast(progs as int) <> 0 then 'S' + ELSE 'N' + END as FLAGPCT, + --CASE + -- WHEN famprodt <> 'DT' and famprodt <> 'CC' THEN isnull(cod_interno,'') + -- ELSE '' + --END + '' as codprod, + ISNULL(cod_sottoprodotto,''), + ISNULL(cod_isin,''), + '' as codlinea, + tipoptf, + area, + progetto, + isnull(codprj,'') as codprj, + ISNULL(chiave_prodotto_terzi,''), + ISNULL(assetterzi,''), + ISNULL(famprodt,''), + ISNULL(intermediario,''), + ISNULL(codiceadeguatezza,''), + ISNULL(cod_maf,''), + conto, + numpolizza, + position_id, + '' as PREFSOST, + '' as FLAGAMB, + '' as FLAGSOC, + '' as FLAGGOV + from [C6StampeCentralizzate].[C6Mart].[RP_vTuttiIPortafogli_Aladdin] + -- Aggiungiamo le informazioni mancanti per il codman piva_fiduciaria + update C6StampeCentralizzate.C6Mart.w6daily + set codprj = '' + where codprj = 0 + select substring(b.codicefiscale,4,len(b.codicefiscale)) as codman,b.rete,b.pivafiduciaria into + #tab + from C6StampeCentralizzate.C6Mart.w6daily a + inner join (select distinct rete,codicefiscale,pivafiduciaria from [C6StampeCentralizzate].[C6Staging].[SPB_CONTR_SINTESI] where pivafiduciaria is not null ) b + on a.rete=b.rete and isnull(a.codman,'')=isnull(substring(b.codicefiscale,4,len(b.codicefiscale)),'') + --select b.cod_mandato,b.rete,b.piva_fiduciaria into + -- #tab + -- FROM + -- [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] a + -- inner join (select distinct rete,cod_mandato,piva_fiduciaria from [C6StampeCentralizzate].[C6StagingPeriodico].[APPO_CONTRATTI_V] where cod_mandato<>'') b + -- on a.rete= b.rete and isnull(a.codman,'')=isnull(b.cod_mandato,'') + update C6StampeCentralizzate.C6Mart.w6daily + set piva = pivafiduciaria + from #tab tab + inner join C6StampeCentralizzate.C6Mart.w6daily as a + on a.rete= tab.rete and isnull(a.codman,'')=isnull(tab.codman,'') + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + -- set piva = piva_fiduciaria + -- from #tab tab + -- inner join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] as a + -- on a.rete= tab.rete and isnull(a.codman,'')=isnull(tab.cod_mandato,'') + update C6StampeCentralizzate.C6Mart.w6daily + set codage = isnull(appo.CODAGENTE,'') + from C6StampeCentralizzate.C6Mart.w6daily w + left join (select distinct [RETE],[CODAGENTE],[CODICEFISCALE],[PIVAFIDUCIARIA] from [C6StampeCentralizzate].[C6Staging].[SPB_CONTR_SINTESI] ) appo + on w.rete= appo.rete and isnull(w.codfis,'') = isnull(appo.CODICEFISCALE,'') + ----1 update per CF + --update [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + -- set codage = appo.cod_agente + -- from c6stagingperiodico.appo_contratti appo + -- left join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] w + -- on w.rete= appo.rete and isnull(w.codfis,'') = isnull(appo.cod_fiscale,'') + update C6StampeCentralizzate.C6Mart.w6daily + set codage = isnull(appo.CODAGENTE,'') + from C6StampeCentralizzate.C6Mart.w6daily w + left join (select distinct [RETE],[CODAGENTE],[CODICEFISCALE],[PIVAFIDUCIARIA] from [C6StampeCentralizzate].[C6Staging].[SPB_CONTR_SINTESI] ) appo + on w.rete= appo.rete and isnull(w.piva,'') = isnull(appo.CODICEFISCALE,'') + where w.piva <> '' + ----2 update per Piva + --update [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + -- set codage = appo.cod_agente + -- from c6stagingperiodico.appo_contratti appo + -- left join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] w + -- on w.rete= appo.rete and isnull(w.piva,'') = isnull(appo.cod_fiscale,'') + -- where w.piva <> '' + update C6StampeCentralizzate.C6Mart.w6daily + set codage = isnull(appo.CODAGENTE,'') + from C6StampeCentralizzate.C6Mart.w6daily w + left join (select distinct [RETE],[CODAGENTE],[CODICEFISCALE],[PIVAFIDUCIARIA] from [C6StampeCentralizzate].[C6Staging].[SPB_CONTR_SINTESI] ) appo + on w.rete= appo.rete and 'FF@'+(isnull(w.codman,'')) = isnull(appo.CODICEFISCALE,'') + where w.codman <> '' + ----3 update per Fiduciaria + --update [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] + -- set codage = appo.cod_agente + -- from c6stagingperiodico.appo_contratti appo + -- left join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] w + -- on w.rete= appo.rete and 'FF@'+(isnull(w.codman,'')) = isnull(appo.cod_fiscale,'') + -- where w.codman <> '' + --eliminazione righe duplicate per API ma le teniamo in una tb di Recupero per eventuali analisi + --truncate table [C6MartPeriodico].[W6CLI_REK] + --insert into [C6MartPeriodico].[W6CLI_REK] + --select * + --from [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] where tipoptf = 'TIPOPRODTERZI|TERZI' + delete from + [C6StampeCentralizzate].[C6Mart].[w6daily] where tipoptf = 'TIPOPRODTERZI|TERZI' + update C6StampeCentralizzate.C6Mart.w6daily + set PREFSOST = case when esg.Profsost = '1' then '1' else '0' end, + FLAGAMB = case when esg.sost_E = 'Y' then 'Y' else 'N' end , + FLAGSOC = case when esg.sost_S = 'Y' then 'Y' else 'N' end , + FLAGGOV = case when esg.sost_G = 'Y' then 'Y' else 'N' end + from C6StampeCentralizzate.C6Mart.w6daily w + left join [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] esg + on w.rete= esg.rete and isnull(w.codfis,'') = isnull(esg.CODICE_FISCALE,'') + update C6StampeCentralizzate.C6Mart.w6daily + set PREFSOST = case when esg.Profsost = '1' then '1' else '0' end, + FLAGAMB = case when esg.sost_E = 'Y' then 'Y' else 'N' end , + FLAGSOC = case when esg.sost_S = 'Y' then 'Y' else 'N' end , + FLAGGOV = case when esg.sost_G = 'Y' then 'Y' else 'N' end + from C6StampeCentralizzate.C6Mart.w6daily w + left join [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] esg + on w.rete= esg.rete and isnull(w.piva,'') = isnull(esg.CODICE_FISCALE,'') + where piva <> '' + update C6StampeCentralizzate.C6Mart.w6daily + set PREFSOST = case when esg.Profsost = '1' then '1' else '0' end , + FLAGAMB = case when esg.sost_E = 'Y' then 'Y' else 'N' end , + FLAGSOC = case when esg.sost_S = 'Y' then 'Y' else 'N' end , + FLAGGOV = case when esg.sost_G = 'Y' then 'Y' else 'N' end + from C6StampeCentralizzate.C6Mart.w6daily w + left join [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] esg + on w.rete= esg.rete and isnull('FF@'+ w.codman,'') = isnull(esg.CODICE_FISCALE,'') + where codman <> '' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_PreCheckIDX.sql b/sql/storedTestbes/C6Mart_PreCheckIDX.sql new file mode 100644 index 00000000..e05799cb --- /dev/null +++ b/sql/storedTestbes/C6Mart_PreCheckIDX.sql @@ -0,0 +1,49 @@ +CREATE procedure [C6Mart].[PreCheckIDX] +as +begin + declare @Rete varchar(1) + declare @CodiceFiscale varchar(20) + declare @idReport int + declare @Riga varchar(2000) + declare @id int + declare @flagRigaOk int + declare @dataGenerazione datetime + declare @dataVenerdi datetime + declare @giorniDietro int + set @Riga = '' + set @id = 0 + set @dataVenerdi = getdate() + set @giorniDietro = + case DATEPART(dw, @dataVenerdi) + when 2 then 0 + when 3 then 1 + when 4 then 2 + when 5 then 3 + when 6 then 4 + when 7 then 5 + when 1 then 6 + end + set @dataVenerdi = convert(varchar(4), year(@dataVenerdi)) + right('0' + convert(varchar(2), month(@dataVenerdi)), 2) + right('0' + convert(varchar(2), day(@dataVenerdi)), 2) + set @dataGenerazione = dateadd(d, -@giorniDietro, @dataVenerdi) + create table #tIdx (id int, Riga varchar(2000), flagOk int) + declare cur cursor for + select Rete, CodiceFiscale, idReport from c6mart.gestione_pdf_ftp where datagenerazione >= @dataGenerazione + --and id_Fk_zip = -1 + open cur + fetch next from cur into @Rete, @CodiceFiscale, @idReport + while @@fetch_status = 0 + begin + set @id = @id + 1 + set @Riga = C6Mart.Concatena_Check(@Rete, @CodiceFiscale, @idReport) + if isnull(@Riga, '') = '' + set @flagRigaOk = 0 + else + set @flagRigaOk = 1 + insert into #tIdx (id, Riga, flagOk) values (@id, @Riga, @flagRigaOk) + fetch next from cur into @Rete, @CodiceFiscale, @idReport + end + close cur + deallocate cur + select * from #tIdx + drop table #tIdx +end \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RM_Sintesi_Cliente.sql b/sql/storedTestbes/C6Mart_RM_Sintesi_Cliente.sql new file mode 100644 index 00000000..cce70547 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RM_Sintesi_Cliente.sql @@ -0,0 +1,28 @@ +-- [C6Mart].[RM_Sintesi_Cliente] 179 +CREATE procedure [C6Mart].[RM_Sintesi_Cliente] + @IdReport INT +AS +BEGIN + SET NOCOUNT ON; + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS NomeCognome, + ANAG_CLIENTI.DATA_NASCITA AS DataNascita, + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + ISNULL(CONTRATTOSEI.INDIRIZZO,'') + ' ' + + ISNULL(CONTRATTOSEI.CAP,'') + ' ' + + ISNULL(CONTRATTOSEI.CITTA,'') + + CASE + WHEN CONTRATTOSEI.PROV IS NULL THEN '' + ELSE ' (' + CONTRATTOSEI.PROV + ')' + END AS IndirizzoDiContratto, + isnull(CONTRATTOSEI.PRESSO,'') AS Presso + FROM C6MART.GESTIONE_PDF_FTP + INNER JOIN C6MART.CONTRATTOSEI + ON CONTRATTOSEI.RETE = GESTIONE_PDF_FTP.RETE + AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CODICEFISCALE + INNER JOIN C6MART.ANAG_CLIENTI + ON ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + WHERE GESTIONE_PDF_FTP.IDREPORT = @IdReport +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_AggiornaFlagContratto.sql b/sql/storedTestbes/C6Mart_RP_AggiornaFlagContratto.sql new file mode 100644 index 00000000..dde6eca9 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_AggiornaFlagContratto.sql @@ -0,0 +1,134 @@ +--select * from C6Mart.CONTRATTOSEI_METADATI +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6Mart].[RP_AggiornaFlagContratto] +AS +BEGIN +-- SET NOCOUNT ON added to prevent extra result sets from +-- interfering with SELECT statements. +-- SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_AggiornaFlagContratto', + GETDATE(), + 'Elaborazione giornaliera' + ) +/* +select top 1 * +from C6Mart.CONTRATTOSEI_METADATI where risorseNa is null +*/ + --AGGIORNAMENTO TABELLA CONTRATTOSEI + --FLAG RISORSE NON ASSOCIATE + --SOLO PER I CLIENTI A CUI ANDREBBE INVIATO IL REPORT + UPDATE C6Mart.CONTRATTOSEI_METADATI + SET + RisorseNA = + CASE + WHEN CLIENTIRISNA.percRisorseNA >= CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2)) THEN 'S' + ELSE 'N' + END + --AGGIUNTA perchè mancava, FABRIZIO E VALERIO per Azzeramento numero solleciti email + --,NumSolleciti = + -- CASE + -- WHEN (C6.ClienteMigrato = 'S') and (CLIENTIRISNA.percRisorseNA < CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2))) THEN 0 + -- ELSE NumSolleciti + -- END + FROM C6Mart.CONTRATTOSEI_METADATI C6 + JOIN + C6MART.VCONTRATTI VCONTR + ON + C6.CHIAVECLIENTEPB = VCONTR.CHIAVECLIENTEPB + LEFT JOIN ( + SELECT + NA.RETE, + NA.COD_FISCALE, + CASE + WHEN TOT.CTVTOTALE = 0 THEN 0 + ELSE 100 * NA.CTVNA / TOT.CTVTOTALE + END AS percRisorseNA + FROM ( + SELECT + ISNULL(SUM(PATRBF.CTV),0) AS CTVNA, + PATRBF.RETE, PATRBF.COD_FISCALE + FROM C6Mart.PATRIMONIO_BF PATRBF + --INNER JOIN C6Mart.RP_vTuttiIContratti VCONTRATTIPERSEI + -- ON PATRBF.RETE = VCONTRATTIPERSEI.RETE + -- AND PATRBF.COD_FISCALE = VCONTRATTIPERSEI.COD_FISCALE + WHERE ID_AREA = 'Na' + GROUP BY + PATRBF.RETE, PATRBF.COD_FISCALE + ) NA + INNER JOIN ( + SELECT + SUM(PATRBF.CTV) AS CTVTOTALE, + PATRBF.RETE, PATRBF.COD_FISCALE + FROM C6Mart.PATRIMONIO_BF PATRBF + WHERE ID_AREA <> 'Cc' + GROUP BY + PATRBF.RETE, PATRBF.COD_FISCALE + ) TOT + ON TOT.RETE = NA.RETE AND TOT.COD_FISCALE = NA.COD_FISCALE + ) CLIENTIRISNA + ON VCONTR.RETE = CLIENTIRISNA.RETE + AND VCONTR.COD_FISCALE = CLIENTIRISNA.COD_FISCALE + WHERE C6.InvioBenvenuto = 'N' + --V Aggiorna il flag Profilo Attivo per i clienti che non hanno ricevuto il report + UPDATE C6MART.CONTRATTOSEI_METADATI + SET profiloAttivo = CASE WHEN (ISNULL(MIFID.SCADUTO,1) = 1) THEN 0 ELSE 1 end + FROM C6MART.CONTRATTOSEI_METADATI + JOIN C6MART.VCONTRATTI + ON VCONTRATTI.CHIAVECLIENTEPB = CONTRATTOSEI_METADATI.CHIAVECLIENTEPB + LEFT JOIN C6MART.MIFID + --ON CONTRATTOSEI_METADATI.chiaveClientePB = MIFID.chiaveClientePB + ON MIFID.RETE = VCONTRATTI.RETE + AND MIFID.COD_FISCALE = VCONTRATTI.COD_FISCALE + WHERE InvioBenvenuto = 'N' +--select * from C6MART.VCONTRATTI + --V Aggiorna i dati di migrazione + UPDATE C6MART.CONTRATTOSEI_METADATI + -------------en 20161026 clienti automaticamente migrati + SET clienteMigrato = 'S' + --case when (C6Staging.RP_Migraz_Pianificazione.chiaveClientePB is null) then 'N' + --else 'S' + --END + FROM C6MART.CONTRATTOSEI_METADATI + LEFT JOIN C6Staging.RP_Pianificazione + ON CONTRATTOSEI_METADATI.chiaveClientePB = C6Staging.RP_Pianificazione.chiaveClientePb + --LEFT JOIN C6Staging.RP_Migraz_Pianificazione + --ON CONTRATTOSEI_METADATI.chiaveClientePB = C6Staging.RP_Migraz_Pianificazione.chiaveClientePb + WHERE InvioBenvenuto = 'N' +-- Profilo Esperienze e Conoscenze EC aggiunto 30/06/2022 +update C6MART.CONTRATTOSEI_METADATI +set PROFILO_EC= case when MIFID.EXPERIENCE>=1 then 1 + when MIFID.EXPERIENCE<1 then 0 + else NULL end +from C6MART.CONTRATTOSEI_METADATI +JOIN C6MART.VCONTRATTI +ON VCONTRATTI.CHIAVECLIENTEPB = CONTRATTOSEI_METADATI.CHIAVECLIENTEPB +LEFT join C6Mart.MIFID +ON MIFID.RETE = VCONTRATTI.RETE +AND MIFID.COD_FISCALE = VCONTRATTI.COD_FISCALE +--fine EC + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_AggiornaFlagContratto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_AggiornaFlagContratto' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_AggiornaFlagContratto_20161026.sql b/sql/storedTestbes/C6Mart_RP_AggiornaFlagContratto_20161026.sql new file mode 100644 index 00000000..7104cfcd --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_AggiornaFlagContratto_20161026.sql @@ -0,0 +1,119 @@ +--select * from C6Mart.CONTRATTOSEI_METADATI +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6Mart].[RP_AggiornaFlagContratto_20161026] +AS +BEGIN +-- SET NOCOUNT ON added to prevent extra result sets from +-- interfering with SELECT statements. +-- SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_AggiornaFlagContratto', + GETDATE(), + 'Elaborazione giornaliera' + ) +/* +select top 1 * +from C6Mart.CONTRATTOSEI_METADATI where risorseNa is null +*/ + --AGGIORNAMENTO TABELLA CONTRATTOSEI + --FLAG RISORSE NON ASSOCIATE + --SOLO PER I CLIENTI A CUI ANDREBBE INVIATO IL REPORT + UPDATE C6Mart.CONTRATTOSEI_METADATI + SET + RisorseNA = + CASE + WHEN CLIENTIRISNA.percRisorseNA >= CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2)) THEN 'S' + ELSE 'N' + END + --AGGIUNTA perchè mancava, FABRIZIO E VALERIO per Azzeramento numero solleciti email + --,NumSolleciti = + -- CASE + -- WHEN (C6.ClienteMigrato = 'S') and (CLIENTIRISNA.percRisorseNA < CAST(dbo.GETPARAMETRO('PercMaxRisorseNA') AS DECIMAL(5,2))) THEN 0 + -- ELSE NumSolleciti + -- END + FROM C6Mart.CONTRATTOSEI_METADATI C6 + JOIN + C6MART.VCONTRATTI VCONTR + ON + C6.CHIAVECLIENTEPB = VCONTR.CHIAVECLIENTEPB + LEFT JOIN ( + SELECT + NA.RETE, + NA.COD_FISCALE, + CASE + WHEN TOT.CTVTOTALE = 0 THEN 0 + ELSE 100 * NA.CTVNA / TOT.CTVTOTALE + END AS percRisorseNA + FROM ( + SELECT + ISNULL(SUM(PATRBF.CTV),0) AS CTVNA, + PATRBF.RETE, PATRBF.COD_FISCALE + FROM C6Mart.PATRIMONIO_BF PATRBF + --INNER JOIN C6Mart.RP_vTuttiIContratti VCONTRATTIPERSEI + -- ON PATRBF.RETE = VCONTRATTIPERSEI.RETE + -- AND PATRBF.COD_FISCALE = VCONTRATTIPERSEI.COD_FISCALE + WHERE ID_AREA = 'Na' + GROUP BY + PATRBF.RETE, PATRBF.COD_FISCALE + ) NA + INNER JOIN ( + SELECT + SUM(PATRBF.CTV) AS CTVTOTALE, + PATRBF.RETE, PATRBF.COD_FISCALE + FROM C6Mart.PATRIMONIO_BF PATRBF + WHERE ID_AREA <> 'Cc' + GROUP BY + PATRBF.RETE, PATRBF.COD_FISCALE + ) TOT + ON TOT.RETE = NA.RETE AND TOT.COD_FISCALE = NA.COD_FISCALE + ) CLIENTIRISNA + ON VCONTR.RETE = CLIENTIRISNA.RETE + AND VCONTR.COD_FISCALE = CLIENTIRISNA.COD_FISCALE + WHERE C6.InvioBenvenuto = 'N' + --V Aggiorna il flag Profilo Attivo per i clienti che non hanno ricevuto il report + UPDATE C6MART.CONTRATTOSEI_METADATI + SET profiloAttivo = CASE WHEN (ISNULL(MIFID.SCADUTO,1) = 1) THEN 0 ELSE 1 end + FROM C6MART.CONTRATTOSEI_METADATI + JOIN C6MART.VCONTRATTI + ON VCONTRATTI.CHIAVECLIENTEPB = CONTRATTOSEI_METADATI.CHIAVECLIENTEPB + LEFT JOIN C6MART.MIFID + --ON CONTRATTOSEI_METADATI.chiaveClientePB = MIFID.chiaveClientePB + ON MIFID.RETE = VCONTRATTI.RETE + AND MIFID.COD_FISCALE = VCONTRATTI.COD_FISCALE + WHERE InvioBenvenuto = 'N' +--select * from C6MART.VCONTRATTI + --V Aggiorna i dati di migrazione + UPDATE C6MART.CONTRATTOSEI_METADATI + SET clienteMigrato = + case when (C6Staging.RP_Migraz_Pianificazione.chiaveClientePB is null) then 'N' + else 'S' + END + FROM C6MART.CONTRATTOSEI_METADATI + LEFT JOIN C6Staging.RP_Migraz_Pianificazione + ON CONTRATTOSEI_METADATI.chiaveClientePB = C6Staging.RP_Migraz_Pianificazione.chiaveClientePb + WHERE InvioBenvenuto = 'N' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_AggiornaFlagContratto' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_AggiornaFlagContratto' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_ANAG_CC.sql b/sql/storedTestbes/C6Mart_RP_DM_ANAG_CC.sql new file mode 100644 index 00000000..d9a4a541 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_ANAG_CC.sql @@ -0,0 +1,86 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ANAG_CC] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CC', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_CC + INSERT INTO [C6Mart].[ANAG_CC] + ( +--chiaveClientePB +-- , + [RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDOCONTABILE] + ,[SALDODISPONIBILE] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + -- 20170421 elimina duplicati + --SELECT + SELECT DISTINCT +-- VCONTRATTI.chiaveclientepb, + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + 'BANCA FIDEURAM' AS INTERMEDIARIO, + NULL AS COINTEST, + SPB_CONTR_SINTESI.CONTO AS COD_CC, + NULL AS FASCIA_CPP, + SPB_CONTR_SINTESI.CTV AS SALDOCONTABILE, + -- è diverso da quello restituito dalla contratto sintesi CC.SALDOCONTABILE AS SALDOCONTABILE, + CC.SALDODISPONIBILE AS SALDODISPONIBILE, + SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO C6MART.ANAG_CC + FROM C6STAGING.SPB_CONTR_SINTESI + LEFT JOIN C6MART.VCONTRATTI ON VCONTRATTI.CODICECONTRATTO = SPB_CONTR_SINTESI.CODICECONTRATTO + --V Aggiunta del saldo contabile e disponibile + JOIN C6STAGING.SPB_CONTOCORRENTE CC + ON SPB_CONTR_SINTESI.CONTO = CC.CONTO + AND SPB_CONTR_SINTESI.RETE = CC.RETE + AND SPB_CONTR_SINTESI.CODICEFISCALE = CC.CODICEFISCALE + WHERE SPB_CONTR_SINTESI.TIPOPRODOTTO = 'Cc' AND VCONTRATTI.DATA_FINEAVANZATO is null + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CC' + ) +END +--select * from c6mart.RP_vContrattiNonGenerati \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_ANAG_CC_20170421.sql b/sql/storedTestbes/C6Mart_RP_DM_ANAG_CC_20170421.sql new file mode 100644 index 00000000..1f93fb15 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_ANAG_CC_20170421.sql @@ -0,0 +1,84 @@ +-- Stored procedure +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ANAG_CC_20170421] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CC', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_CC + INSERT INTO [C6Mart].[ANAG_CC] + ( +--chiaveClientePB +-- , + [RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDOCONTABILE] + ,[SALDODISPONIBILE] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT +-- VCONTRATTI.chiaveclientepb, + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + 'BANCA FIDEURAM' AS INTERMEDIARIO, + NULL AS COINTEST, + SPB_CONTR_SINTESI.CONTO AS COD_CC, + NULL AS FASCIA_CPP, + SPB_CONTR_SINTESI.CTV AS SALDOCONTABILE, + -- è diverso da quello restituito dalla contratto sintesi CC.SALDOCONTABILE AS SALDOCONTABILE, + CC.SALDODISPONIBILE AS SALDODISPONIBILE, + SPB_CONTR_SINTESI.DATADISOTTOSCRIZIONE AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO C6MART.ANAG_CC + FROM C6STAGING.SPB_CONTR_SINTESI + LEFT JOIN C6MART.VCONTRATTI ON VCONTRATTI.CODICECONTRATTO = SPB_CONTR_SINTESI.CODICECONTRATTO + --V Aggiunta del saldo contabile e disponibile + JOIN C6STAGING.SPB_CONTOCORRENTE CC + ON SPB_CONTR_SINTESI.CONTO = CC.CONTO + AND SPB_CONTR_SINTESI.RETE = CC.RETE + AND SPB_CONTR_SINTESI.CODICEFISCALE = CC.CODICEFISCALE + WHERE SPB_CONTR_SINTESI.TIPOPRODOTTO = 'Cc' AND VCONTRATTI.DATA_FINEAVANZATO is null + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CC' + ) +END +--select * from c6mart.RP_vContrattiNonGenerati \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_ANAG_CC_TERZI.sql b/sql/storedTestbes/C6Mart_RP_DM_ANAG_CC_TERZI.sql new file mode 100644 index 00000000..2221a13f --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_ANAG_CC_TERZI.sql @@ -0,0 +1,109 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ANAG_CC_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + --DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + --SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CC_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_CC_TERZI + INSERT INTO [C6Mart].[ANAG_CC_TERZI] + ( +-- chiaveClientePB +-- , + [RETE] + ,[COD_FISCALE] + ,[INTERMEDIARIO] + ,[COINTEST] + ,[COD_CC] + ,[FASCIA_CPP] + ,[SALDO] + ,[DATA_APERTURA] + ,[DATA_CHIUSURA] + ,[ID_ELAB]) + --conticorrenti.Saldo, + --conticorrenti.Contocorrente, + --sum (conticorrenti.Saldo) over (partition by conticorrenti.chiaveclientepb) as totalesaldo, + --conticorrenti.Intermediario + --Tutti i ContiCorrenti Terzi non a catalogo + SELECT +-- VCONTRATTI.chiaveclientepb, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + dettProdT.nomeIntermediario AS INTERMEDIARIO, + NULL AS COINTEST, + patrT.nomeProdotto AS COD_CC, + NULL AS FASCIA_CPP, + patrT.ctv AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + --INTO C6MART.ANAG_CC_TERZI + FROM + C6Staging.RP_PatrimonioTerzi patrT, + C6Staging.RP_DettProdottiTerzi dettProdT, + c6staging.RP_AnAlberatura alber, + C6Mart.VCONTRATTI + WHERE + dettProdT.Alberatura = alber.Alberatura + AND dettProdT.chiaveProdotto IS NULL + AND patrT.chiaveProdottoTerzi = dettProdT.chiaveProdottoTerzi + AND patrT.chiaveClientePB = VCONTRATTI.chiaveClientePB + AND alber.Livello3= 'Conti correnti' + AND patrT.tipoProd= 'Assets.FinancialAssets.CurrentAccount' + UNION ALL + --'Conti Correnti Terzi in catalogo' + SELECT +-- VCONTRATTI.chiaveclientepb, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + dettProdT.nomeIntermediario AS INTERMEDIARIO, + NULL AS COINTEST, + patrT.nomeProdotto AS COD_CC, + NULL AS FASCIA_CPP, + patrT.ctv AS SALDO, + NULL AS DATA_APERTURA, + NULL AS DATA_CHIUSURA, + @ID_ELAB AS ID_ELAB + FROM + C6Staging.RP_PatrimonioTerzi patrT, + C6Staging.RP_DettProdottiTerzi dettProdT, + C6Staging.RP_CatalogoProdotti catprod, + C6Mart.VCONTRATTI + WHERE + patrT.chiaveProdottoTerzi = dettprodT.chiaveProdottoTerzi + AND patrT.chiaveClientePB = VCONTRATTI.chiaveClientePB + AND dettprodT.ChiaveProdotto IS NOT NULL + AND catprod.ChiaveProdotto = dettprodT.ChiaveProdotto + AND catprod.TipoProdotto = 'CC' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CC_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_ANAG_CLIENTI.sql b/sql/storedTestbes/C6Mart_RP_DM_ANAG_CLIENTI.sql new file mode 100644 index 00000000..d0745186 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_ANAG_CLIENTI.sql @@ -0,0 +1,209 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: +-- Description: +-- ============================================= +--select count(*) from c6mart.anag_clienti +CREATE procedure [C6Mart].[RP_DM_ANAG_CLIENTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- DELETE C6MART.ANAG_CLIENTI +-- FROM C6MART.ANAG_CLIENTI +-- INNER JOIN c6staging.RP_Cliente +-- ON ANAG_CLIENTI.chiaveCliente = RP_Cliente.chiaveCliente +-- --ON RP_ANAG_CLIENTI.RETE = RP_Cliente.RETE_PB +-- --AND RP_ANAG_CLIENTI.COD_FISCALE = RP_Cliente.codFis + truncate table C6MART.ANAG_CLIENTI + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'DELETE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_CLIENTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + INSERT INTO [C6Mart].[ANAG_CLIENTI] + ( + [RETE] + ,[COD_FISCALE] + ,[NOME] + ,[COGNOME] + ,[DATA_NASCITA] + ,[STATO_CIVILE] + ,[NUM_COMPONENTI] + ,[NUM_FIGLI] + ,[ETA] + ,[PARTITA_IVA] + ,[CITTADINANZA] + ,[PERSONA_FIS_GIUR] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[PRESSO] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[STATO] + ,[RAG_SOC] + ,[SESSO] + ,[ID_PROMOTORE] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + distinct + VCONTRATTI.RETE AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + ISNULL(SPB_CLIENTI.NOME,CLI.nome) AS NOME, + ISNULL(SPB_CLIENTI.COGNOME,CLI.cognome) AS COGNOME, + ISNULL(tabNucleo.dtNascita,SPB_CLIENTI.DATADINASCITA) AS DATA_NASCITA, + NULL AS STATO_CIVILE, + tabNucleo.componentiNucleo AS NUM_COMPONENTI, + tabFigli.numFigli AS NUM_FIGLI, + FLOOR(DateDiff(Day, ISNULL(tabNucleo.dtNascita,SPB_CLIENTI.DATADINASCITA), GetDate()) / 365.25) AS ETA, + NULL AS PARTITA_IVA, + SPB_CLIENTI.CITTADINANZA AS CITTADINANZA, + NULL AS PERSONA_FIS_GIUR, + ISNULL(SPB_INDIRIZZI.INDIRIZZO, '') AS INDIRIZZO, + ISNULL(SPB_INDIRIZZI.CITTA, '') AS LOCALITA, + ISNULL(SPB_INDIRIZZI.PROVINCIA, '') AS PROVINCIA, + ISNULL(SPB_INDIRIZZI.CAP, '') AS CAP, + ISNULL(SPB_INDIRIZZI.NAZIONE, '') AS NAZIONE, + '' AS PRESSO, + NULL AS TEL_RECAPITO, + NULL AS TEL_CELL, + VCONTRATTI.EMAIL AS E_MAIL, + SPB_CLIENTI.DATAATTIVAZIONECLIENTE AS DATA_INIZIO, + NULL AS DATA_FINE, + NULL AS STATO, + NULL AS RAG_SOC, + CASE + WHEN SUBSTRING(VCONTRATTI.COD_FISCALE,10,2) < '40' THEN 'M' + ELSE 'F' + END AS SESSO, + VCONTRATTI.COD_AGENTE AS ID_PROMOTORE, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO [C6Mart].[RP_ANAG_CLIENTI] + FROM + C6Mart.VCONTRATTI + LEFT JOIN + (select + COUNT(*) as componentiNucleo, + chiaveClientePB1 as clienteConParentela, + cl.chiaveCliente, + cl.nome, + cl.cognome, + cl.dtNascita + from + C6staging.RP_Parentela p + inner join C6staging.RP_GradoParentela g + on p.idparentela = g.idparentela + inner join C6Staging.RP_ClientePB c + on c.chiaveClientePB = p.chiaveClientePB1 + inner join C6Staging.RP_Cliente cl + on c.chiaveCliente = cl.chiaveCliente + and p.dtfine>getdate() + group by + chiaveClientePB1, cl.chiaveCliente, cl.nome, cl.cognome, cl.dtNascita) tabNucleo + ON + VCONTRATTI.chiaveClientePB = tabNucleo.clienteConParentela + LEFT JOIN + (select + COUNT(*) as numFigli, + chiaveClientePB1 as clienteConParentela, + cl.chiaveCliente, + cl.nome, + cl.cognome, + cl.dtNascita + from + C6staging.RP_Parentela p + inner join C6staging.RP_GradoParentela g + on p.idparentela = g.idparentela + inner join C6Staging.RP_ClientePB c + on c.chiaveClientePB = p.chiaveClientePB1 + inner join C6Staging.RP_Cliente cl + on c.chiaveCliente = cl.chiaveCliente + where + g.descParentela in ('Figlio','Figlia','Figlio del partner','figlia del partner') + and p.dtfine>getdate() + group by + chiaveClientePB1, cl.chiaveCliente, cl.nome, cl.cognome, cl.dtNascita) tabFigli + ON + VCONTRATTI.chiaveClientePB = tabFigli.clienteConParentela + AND + tabFigli.clienteConParentela = tabNucleo.clienteConParentela + LEFT OUTER JOIN + C6STAGING.SPB_CLIENTI + ON + C6STAGING.SPB_CLIENTI.CODICERETE = VCONTRATTI.RETE + AND C6STAGING.SPB_CLIENTI.CODICEFISCALE = VCONTRATTI.COD_FISCALE + LEFT OUTER JOIN + C6STAGING.SPB_INDIRIZZI + ON + C6STAGING.SPB_INDIRIZZI.RETE = VCONTRATTI.RETE + AND C6STAGING.SPB_INDIRIZZI.CODICEFISCALE = VCONTRATTI.COD_FISCALE + JOIN + C6MART.CONTRATTOSEI_METADATI METADATI + ON + VCONTRATTI.CHIAVECLIENTEPB = METADATI.CHIAVECLIENTEPB + LEFT JOIN c6staging.RP_Cliente CLI + ON + VCONTRATTI.COD_FISCALE = CASE + WHEN (LEN(CLI.CODFIS) = 16) THEN CLI.CODFIS + WHEN (LEN(CLI.CODMAN) = 0 AND LEN(CLI.PIVA) > 0) THEN CLI.PIVA + ELSE 'FF@'+CODMAN + END + WHERE + VCONTRATTI.DATA_FINEAVANZATO > getDate() + --AND ISNULL(INVIOBENVENUTO,'N') = 'N' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_CLIENTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_ANAG_PRODOTTI.sql b/sql/storedTestbes/C6Mart_RP_DM_ANAG_PRODOTTI.sql new file mode 100644 index 00000000..89f88b44 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_ANAG_PRODOTTI.sql @@ -0,0 +1,82 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ANAG_PRODOTTI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_PRODOTTI + INSERT INTO [C6Mart].[ANAG_PRODOTTI] + ( + [COD_PRODOTTO] + ,[COD_ISIN] + ,[PAESE] + ,[ID_AREA] + ,[CAT_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[COD_MAF] + ,[RATING] + ,[COD_ADEGUATEZZA] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,DESCR_SGR) + SELECT + CatalogueID AS COD_PRODOTTO, + ISNULL(CodIsin, '') AS COD_ISIN, + NULL AS PAESE, + '' AS ID_AREA, + NULL AS CAT_PRODOTTO, + TipoProdotto AS TIPO_PRODOTTO, + NomeProdotto AS DESCR_PRODOTTO, + PrezzoValuta AS DIV_QUOTAZIONE, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + CodMaf AS COD_MAF, + NULL AS RATING, + CodAdeguatezza AS COD_ADEGUATEZZA, + CodSottoprodotto AS COD_SOTTOPRODOTTO, + ISNULL(CodInterno, '') AS COD_INTERNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + DESCR_SGR as DESCR_SGR + FROM C6Staging.RP_CatalogoProdotti + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_ANAG_PRODOTTI_TERZI.sql b/sql/storedTestbes/C6Mart_RP_DM_ANAG_PRODOTTI_TERZI.sql new file mode 100644 index 00000000..6899dda6 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_ANAG_PRODOTTI_TERZI.sql @@ -0,0 +1,79 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ANAG_PRODOTTI_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_PRODOTTI_TERZI + INSERT INTO [C6Mart].[ANAG_PRODOTTI_TERZI] + ([COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[NOME_PRODOTTO] + ,[ALBERO_PRODOTTI] + ,[COD_ISIN] + ,[DESCR_PRODOTTO] + ,[DIV_QUOTAZIONE] + ,[INTERMEDIARIO] + ,[DIV_REGOLAMENTO] + ,[ID_EMITTENTE] + ,[MERCATO_CONTRATT] + ,[PAESE] + ,[RATING] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + --C6Mart.VCONTRATTI.chiaveClientePB AS chiaveClientePB, + C6Staging.RP_DettProdottiTerzi.chiaveProdotto AS COD_PRODOTTO, + C6Staging.RP_PatrimonioTerzi.chiaveProdottoTerzi AS COD_PRODOTTO_TERZI, + C6Staging.RP_PatrimonioTerzi.nomeProdotto AS NOME_PRODOTTO, + NULL AS ALBERO_PRODOTTI, + NULL AS COD_ISIN, + C6Staging.RP_PatrimonioTerzi.tipoprod AS DESCR_PRODOTTO, + NULL AS DIV_QUOTAZIONE, + NULL AS INTERMEDIARIO, + NULL AS DIV_REGOLAMENTO, + NULL AS ID_EMITTENTE, + NULL AS MERCATO_CONTRATT, + NULL AS PAESE, + NULL AS RATING, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO C6MART.ANAG_PRODOTTI_TERZI + FROM C6Staging.RP_DettProdottiTerzi + INNER JOIN C6Staging.RP_PatrimonioTerzi + ON C6Staging.RP_DettProdottiTerzi.chiaveProdottoTerzi = C6Staging.RP_PatrimonioTerzi.chiaveProdottoTerzi + INNER JOIN C6Mart.VCONTRATTI + ON C6Staging.RP_PatrimonioTerzi.chiaveClientePB = C6Mart.VCONTRATTI.chiaveClientePB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_ANAG_PRODOTTI_VALUTE.sql b/sql/storedTestbes/C6Mart_RP_DM_ANAG_PRODOTTI_VALUTE.sql new file mode 100644 index 00000000..e46ebe40 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_ANAG_PRODOTTI_VALUTE.sql @@ -0,0 +1,52 @@ +CREATE procedure [C6Mart].[RP_DM_ANAG_PRODOTTI_VALUTE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PRODOTTI_VALUTE', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [c6mart].ANAG_PRODOTTI_VALUTE + INSERT INTO [c6mart].[ANAG_PRODOTTI_VALUTE] + SELECT DISTINCT --added by pk 20160506 + CATITEMREF.CATALOGUEID AS COD_PRODOTTO, + VALUTE.DIVISA, + CAST (VALUTE.PESO AS DECIMAL (6,3)), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM c6staging.RP_CATALOGOPRODOTTI CATITEMREF + INNER JOIN ( + SELECT CATITEMREF.CATALOGUEID, MAX(ChiaveProdotto) AS ChiaveProdotto + FROM c6staging.RP_CATALOGOPRODOTTI CATITEMREF + GROUP BY CATITEMREF.CATALOGUEID + ) DOPPICATITEMREF ON CATITEMREF.ChiaveProdotto = DOPPICATITEMREF.ChiaveProdotto + INNER JOIN + [c6staging].[RP_RDR_VALUTE_DB_DTGIORNALIERI] VALUTE + ON VALUTE.CHIAVEPRODOTTO = CATITEMREF.ChiaveProdotto + where VALUTE.PESO >= -999.099 and VALUTE.PESO <= 999.099 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PRODOTTI_VALUTE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_ANAG_PROMOTORI.sql b/sql/storedTestbes/C6Mart_RP_DM_ANAG_PROMOTORI.sql new file mode 100644 index 00000000..e19e202e --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_ANAG_PROMOTORI.sql @@ -0,0 +1,112 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ANAG_PROMOTORI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ANAG_PROMOTORI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ANAG_PROMOTORI + INSERT INTO [C6Mart].[ANAG_PROMOTORI] + ([RETE] + ,[ID_PROMOTORE] + ,[LIVELLO] + ,[COD_FISCALE] + ,[PARTITA_IVA] + ,[COGNOME] + ,[NOME] + ,[RAG_SOC] + ,[DATA_INIZIO] + ,[DATA_FINE] + ,[INDIRIZZO] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[TEL_RECAPITO] + ,[TEL_CELL] + ,[E_MAIL] + ,[COD_ABI] + ,[COD_CAB] + ,[COD_CIN] + ,[COD_CC] + ,[STATO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + PB.RETE AS RETE, + PB.codage AS ID_PROMOTORE, + SPB_NAC.LIVELLONELLAGERARCHIA AS LIVELLO, + NULL AS COD_FISCALE, + NULL AS PARTITA_IVA, + rtrim(ltrim(PB.COGNOME)) AS COGNOME, + rtrim(ltrim(PB.NOME)) AS NOME, + NULL AS RAG_SOC, + NULL AS DATA_INIZIO, + NULL AS DATA_FINE, + rtrim(ltrim(PB.INDIRIZZO)) AS INDIRIZZO, + rtrim(ltrim(PB.CITTA)) AS LOCALITA, + rtrim(ltrim(PB.PROVINCIA)) AS PROVINCIA, + rtrim(ltrim(PB.CAP)) AS CAP, + NULL AS NAZIONE, + rtrim(ltrim(PB.PREFISSO + PB.TELEFONO1)) AS TEL_RECAPITO, + NULL AS TEL_CELL, + rtrim(ltrim(EMAIL_PB.EMAIL)) AS E_MAIL, + NULL AS COD_ABI, + NULL AS COD_CAB, + NULL AS COD_CIN, + NULL AS COD_CC, + CASE WHEN PF.RETE IS NULL THEN 'ATTIVO' ELSE 'FITTIZIO' END + AS STATO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO C6MART.ANAG_PROMOTORI + FROM C6Staging.RP_anagrafica_promotori PB + --LEFT JOIN C6MART.EMAIL_PB EMAIL_PB + -- ON PB.RETE = EMAIL_PB.RETE + -- AND PB.codage = EMAIL_PB.CODICE + OUTER APPLY (SELECT TOP 1 * FROM C6MART.EMAIL_PB EMAIL_PB1 --MODIFICA INSERITA IN SEGUITO A UN ERRORE PER DUPLICAZINOE DI CHIAVE NELLA TABELLA DI DESTINAZIONE + WHERE PB.RETE = EMAIL_PB1.RETE --LA DUPLICAZIONE SCATURIVA DALLA JOIN CON LA EMAIL_PB SU CUI, PER UNO STESSO AGENTE ERANO PRESENTI + AND PB.codage = EMAIL_PB1.CODICE --UNA MAIL VUOTA E UNA CORRETTAMENTE VALORIZZATA + ORDER BY EMAIL DESC ) EMAIL_PB + LEFT JOIN C6STAGING.SPB_NAC SPB_NAC + ON PB.RETE = SPB_NAC.CODICERETE + AND PB.codage = SPB_NAC.CODICEAGENTE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (PB.codage BETWEEN PF.CODICEDA AND PF.CODICEA) + AND PB.RETE = PF.RETE +WHERE + PB.stato = 'A' + --Aggiunta Valerio non inserisco in anagrafica pb terminati in quanto non hanno il livello + and SPB_NAC.CODICEAGENTE is not null + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ANAG_PROMOTORI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ANAG_PROMOTORI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_ASSETCLASS.sql b/sql/storedTestbes/C6Mart_RP_DM_ASSETCLASS.sql new file mode 100644 index 00000000..f7a91a43 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_ASSETCLASS.sql @@ -0,0 +1,69 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from c6mart.assetclass +CREATE procedure [C6Mart].[RP_DM_ASSETCLASS] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ASSETCLASS + SELECT + A.ASSET AS ID_ASSETCLASS, + A.DESCRIZIONE AS DESCRIZIONE, + A.LIVELLO AS LIVELLO, + B.ORDINAMENTO_ASSET AS ORDINAMENTO, + @ID_ELAB AS ID_ELAB + --SELECT * + into #temp + FROM C6STAGING.RP_ASSETCLASS A + JOIN + C6Staging.RP_REP_ASSET_1_E_2_ORDINATE B + ON A.ASSET = B.CODICE_ASSET_CLASS_INGRESSO + order by B.ORDINAMENTO_ASSET desc + INSERT INTO [C6Mart].[ASSETCLASS] + ([ID_ASSETCLASS] + ,[DESCRIZIONE] + ,[LIVELLO] + ,[ORDINAMENTO] + ,[ID_ELAB]) + SELECT + ID_ASSETCLASS, + DESCRIZIONE, + LIVELLO, + ORDINAMENTO, + ID_ELAB + from #temp order by ORDINAMENTO desc + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSETCLASS' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_ASSETCLASS_TERZI.sql b/sql/storedTestbes/C6Mart_RP_DM_ASSETCLASS_TERZI.sql new file mode 100644 index 00000000..90329332 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_ASSETCLASS_TERZI.sql @@ -0,0 +1,68 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from [C6Mart].[ASSETCLASS_TERZI] +--[C6Mart].[DM_ASSETCLASS_TERZI] +CREATE procedure [C6Mart].[RP_DM_ASSETCLASS_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSETCLASS_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ASSETCLASS_TERZI + INSERT INTO [C6Mart].[ASSETCLASS_TERZI] + ([ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_ADEGUATEZZA] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + B.CODICE_ASSET_CLASS_INGRESSO, + B.CODICE_ISIN, + B.CODICE_MAF, + ISNULL(B.CODICE_ADEGUATEZZA,'$'), + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM --C6STAGING.RP_ASSETCLASS A + --JOIN + C6Staging.RP_REP_ASSET_1_E_2_ORDINATE B + --ON A.ASSET = B.CODICE_ASSET_CLASS_INGRESSO + --LTRIM(RTRIM(ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO)) AS ID_ASSETCLASS, + --LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN,'$'))) AS COD_ISIN, + --LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF,'$'))) AS COD_MAF, + --LTRIM(RTRIM(ISNULL(ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA,'$'))) AS COD_ADEGUATEZZA + --, + --@ID_ELAB AS ID_ELAB, + --@TIPO_ELAB AS TIPO_ELAB + --FROM C6STAGING.ALL_ASSET_CLASS_PER_PROMET + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSETCLASS_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_ASSET_PERC.sql b/sql/storedTestbes/C6Mart_RP_DM_ASSET_PERC.sql new file mode 100644 index 00000000..9d3c7731 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_ASSET_PERC.sql @@ -0,0 +1,87 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ASSET_PERC] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ASSET_PERC + INSERT INTO [C6Mart].[ASSET_PERC] + ( + [COD_PRODOTTO] + ,[ID_ASSETCLASS] + ,[COD_ISIN] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[LIVELLO] + ,[PERC] + ,[ID_ELAB] +,[TIPO_ELAB] +) + SELECT DISTINCT + --SUBSTRING(con.position_id,1,57) AS COD_PRODOTTO, + --dbo.Crea_positionID(con.codConf, con.conto, con.rubricato, con.custGar, pospor.numPolizza, con.termId, con.anno, con.prog) AS COD_PRODOTTO + cat.CatalogueID AS COD_PRODOTTO + ,LTRIM(RTRIM(ac.Asset)) AS ID_ASSETCLASS + ,cat.CodIsin AS COD_ISIN + ,cat.CodMaf AS COD_MAF + ,cat.CodInterno AS COD_INTERNO + ,cat.CodSottoprodotto AS COD_SOTTOPRODOTTO + ,ac.Livello AS LIVELLO + ,map.Percentuale AS PERC + ,@ID_ELAB AS ID_ELAB + ,@TIPO_ELAB AS TIPO_ELAB + --INTO C6MART.ASSET_PERC + FROM + /* + C6Staging.RP_CONSULENZA AS con + INNER JOIN + C6Staging.RP_PosizioniPortafoglio AS pospor + ON + con.chiaveProgetto = pospor.chiaveProgetto + INNER JOIN*/ + C6Staging.RP_Mappatura AS map + /*ON + pospor.chiaveProdotto = map.ChiaveProdotto*/ + INNER JOIN + C6Staging.RP_AssetClass AS ac + ON + map.Asset = ac.Asset + INNER JOIN + C6Staging.RP_CatalogoProdotti cat + ON + map.ChiaveProdotto = cat.ChiaveProdotto +--WHERE SUBSTRING(con.position_id,1,57) IS NOT NULL --togliere + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSET_PERC' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_ASSET_PERC_TERZI.sql b/sql/storedTestbes/C6Mart_RP_DM_ASSET_PERC_TERZI.sql new file mode 100644 index 00000000..da0dfd06 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_ASSET_PERC_TERZI.sql @@ -0,0 +1,107 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_ASSET_PERC_TERZI] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ASSET_PERC_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.ASSET_PERC_TERZI + INSERT INTO [C6Mart].[ASSET_PERC_TERZI] + ([COD_PRODOTTO_TERZI] -- + ,[ID_ASSETCLASS] -- + ,[LIVELLO] -- + ,[NOME_PRODOTTO] + ,[TIPO_PRODOTTO] + ,[PERC] -- + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT DISTINCT + RP_PatrimonioTerzi.chiaveProdottoTerzi AS COD_PRODOTTO_TERZI, + RP_AssetClass.Asset AS ID_ASSETCLASS, + RP_AssetClass.Livello AS LIVELLO, + NULL AS NOME_PRODOTTO, + NULL AS TIPO_PRODOTTO, + RP_MappaturaPT.percentuale / 100 AS PERC, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO C6MART.ASSET_PERC_TERZI + FROM + C6Staging.RP_PatrimonioTerzi + INNER JOIN + C6Staging.RP_DettProdottiTerzi + ON + C6Staging.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6Staging.RP_DettProdottiTerzi.chiaveProdottoTerzi + INNER JOIN + C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3 + ON + C6Staging.RP_DettProdottiTerzi.alberatura = C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + INNER JOIN + C6Staging.RP_MappaturaPT + ON + C6Staging.RP_PatrimonioTerzi.chiaveProdottoTerzi = C6Staging.RP_MappaturaPT.chiaveProdottoTerzi + INNER JOIN + C6Staging.RP_AssetClass + ON + C6Staging.RP_MappaturaPT.asset = C6Staging.RP_AssetClass.Asset + --SELECT DISTINCT + -- PATR_TP.CHIAVE_THR AS COD_PRODOTTO_TERZI, + -- ASS.OID_ AS ID_ASSETCLASS, + -- ASS.ASSETCLASSLEV AS LIVELLO, + -- PATR_TP.NOMEPRODOTTO AS NOME_PRODOTTO, + -- ALBERO.ALBERO_GERARCHIA_3 AS TIPO_PRODOTTO, + -- ACB.BDPERCENTAGE AS PERC, + -- @ID_ELAB AS ID_ELAB, + -- @TIPO_ELAB AS TIPO_ELAB + --FROM + -- C6STAGING.ALL_PATR_TERZI PATR_TP, + -- C6STAGING.ACBDENOTH ACB, + -- C6STAGING.ASSETCLASS ASS, + -- C6STAGING.S4_S5_S13_TRAD_UNTIL_LIV3 ALBERO + --WHERE 1 = 1 + -- AND PATR_TP.CHIAVE_FNC IS NOT NULL + -- AND ALBERO.DESCRIZIONE_ORIGINALE = PATR_TP.DESCRIZIONE_ALBERATURA + -- AND ACB.F_PFINANCIAL_815C0 = PATR_TP.CHIAVE_FNC + -- AND ACB.F_OID__PASSE_CDF1A = ASS.OID_ + -- AND ASS.ASSETCLASSLEV IN (1,2) + -- AND PATR_TP.PRODOTTO_IN_CATALOGO IS NULL + --GROUP BY + -- PATR_TP.CHIAVE_THR, + -- PATR_TP.NOMEPRODOTTO, + -- ASS.OID_, + -- ASS.ASSETCLASSLEV, + -- ALBERO.ALBERO_GERARCHIA_3, + -- ACB.BDPERCENTAGE, + -- ACB.OID_ + --ORDER BY 2,4 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ASSET_PERC_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_BrsClienteESG.sql b/sql/storedTestbes/C6Mart_RP_DM_BrsClienteESG.sql new file mode 100644 index 00000000..dffdfb27 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_BrsClienteESG.sql @@ -0,0 +1,73 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_BrsClienteESG] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_BrsClienteESG', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- declare @data varchar(8) +--set @data= [C6MartPeriodico].[getTrimestre2](getdate(),0) +truncate table C6Mart.BrsClienteESG +insert into [C6StampeCentralizzate].[C6Mart].[BrsClienteESG] +SELECT esg.[rete] + ,esg.[Codice_Fiscale] + ,case when isnull(Sost_E,'N')='N' and isnull(Sost_S,'N')='N' and isnull(Sost_G,'N')='N' then 0 else 1 end as [Preferenza_esg_cliente] + ,case when Sost_E='S' then 'Y' + when Sost_E='N' then 'N' + else 'N' end as + [ESG_E] + ,case when Sost_S='S' then 'Y' + when Sost_S='N' then 'N' + else 'N' end as + [ESG_S] + ,case when Sost_G='S' then 'Y' + when Sost_G='N' then 'N' + else 'N' end as [ESG_G] + ,esg.PesoSostESG as [obiettivo_ESG_minimo] + ,NULL as [ESG_Rating] + ,esg.SostPercE as [ESG_E_perc] + ,esg.SostPercS as [ESG_S_perc] + ,esg.SostPercG as [ESG_G_perc] + FROM C6Mart.SPB_W6CLIESG esg + --SELECT [rete] + -- -- ,[codfis] + -- ,[Preferenza_esg_cliente] + -- ,[ESG_E] + -- ,[ESG_S] + -- ,[ESG_G] + -- ,[obiettivo_ESG_minimo] + -- ,[ESG_Rating] + -- ,[ESG_E_perc] + -- ,[ESG_S_perc] + -- ,[ESG_G_perc] + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[ESG_Metriche_Cliente_IL] + --select * from [C6StampeCentralizzate].[C6StagingPeriodico].[ESG_Metriche_Cliente_IL] + --select * from C6StagingPeriodico.wseian2 + --select * from C6MartPeriodico.W6CLIESG + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_BrsClienteESG' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_BrsClienteESG' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_CheckEmail.sql b/sql/storedTestbes/C6Mart_RP_DM_CheckEmail.sql new file mode 100644 index 00000000..c290f62f --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_CheckEmail.sql @@ -0,0 +1,64 @@ +CREATE procedure [C6Mart].[RP_DM_CheckEmail] +AS +BEGIN +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @ID_ELAB INT +DECLARE @MaxInvioSoll as SMALLINT +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') as smallint) +SET @ID_ELAB = C6MART.GETIDELAB() +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) --7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint) --7 +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) + VALUES ('RP_DM_CheckEmail',GETDATE(),'Elaborazione giornaliera') +SELECT E.Email_Id,E.Tipo,E.Data_Generazione,E.Inviata,E.Data_Invio,E.Data_Comunicazione_Host,E.ID_ELAB,C.* +INTO #EMAILCK +FROM C6MART.GESTIONE_EMAIL E INNER JOIN C6MART.VCONTRATTISEI C +ON E.COD_FISCALE=C.COD_FISCALE AND E.RETE=C.RETE +WHERE ISNULL(E.Inviata,'N') <> 'S' +DELETE c6mart.test_logmd WHERE CMD = 'GENERATO GIORNO PRECEDENTE' +INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE) +SELECT 'GENERATO GIORNO PRECEDENTE',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE +Data_Generazione < convert(varchar, GetDate(), 101) +INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE) +SELECT 'EMAIL NOMIG NON CONGRUENTE',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE +Data_Generazione >= convert(varchar, GetDate(), 101) +AND SUBSTRING(TIPO,2,11) = '_SOLL_NOMIG' AND CLIENTEMIGRATO = 'S' +INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE) +SELECT 'EMAIL NOASS NON CONGRUENTE',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE +Data_Generazione >= convert(varchar, GetDate(), 101) +AND SUBSTRING(TIPO,2,11) = '_SOLL_NOASS' AND RISORSENA = 'N' +INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE) +SELECT 'EMAIL NOPRO NON CONGRUENTE',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE +Data_Generazione >= convert(varchar, GetDate(), 101) +AND SUBSTRING(TIPO,2,11) = '_SOLL_NOPRO' AND PROFILOATTIVO = 1 +INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE) +SELECT 'SUPERATO PERIODO DI PERF',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE +Data_Generazione >= convert(varchar, GetDate(), 101) +AND SUBSTRING(TIPO,2,11) IN ('_SOLL_NOMIG','_SOLL_NOASS','_SOLL_NOPRO') +AND DATEDIFF(d,DATA_PERF, GETDATE()) > (CAST(dbo.getParametro('MaxInvioSoll') as smallint)-1) * + CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint)+ + CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) +INSERT INTO c6mart.test_logmd (CMD,dtinsert,COD_FISCALE,RETE,NOTE) +SELECT 'BLOCCATO CF 01484040488',GETDATE(),COD_FISCALE,RETE,'EMAIL_ID '+CONVERT(VARCHAR,EMAIL_ID) FROM #EMAILCK WHERE +Data_Generazione >= convert(varchar, GetDate(), 101) +AND COD_FISCALE = '01484040488' +-- Log esecuzione +UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_CheckEmail' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_CheckEmail' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_Check_GestioneEmailNOPRO.sql b/sql/storedTestbes/C6Mart_RP_DM_Check_GestioneEmailNOPRO.sql new file mode 100644 index 00000000..9f243d6c --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_Check_GestioneEmailNOPRO.sql @@ -0,0 +1,33 @@ +CREATE PROCEDURE [C6Mart].[RP_DM_Check_GestioneEmailNOPRO] +( + @MaxCount INT +) +AS +BEGIN + SET NOCOUNT ON; + -- Inizializza la variabile che conterrà la count della query + DECLARE @CountResult INT; + -- Esegui la query e ottieni la count + SELECT @CountResult = COUNT(*) + FROM C6Mart.gestione_email gest + WHERE id_elab = (SELECT MAX(id_elab) FROM C6Mart.GESTIONE_EMAIL) + AND tipo LIKE '%SOLL%'; + -- Controlla se la count è maggiore del valore massimo consentito e restituisci l'errore in caso affermativo + IF @CountResult > @MaxCount + BEGIN + -- Concatenate the error message with the exact count value + DECLARE @ErrorMessage NVARCHAR(200); + SET @ErrorMessage = CONCAT('Errore: La count è maggiore di ', CAST(@MaxCount AS NVARCHAR(10)), + '. Il valore corrente è ', CAST(@CountResult AS NVARCHAR(10)), '.'); + -- Raise the error + RAISERROR (@ErrorMessage, 16, 1); + RETURN; + END + ELSE + BEGIN + -- Display a message indicating no error and include the current count value + PRINT 'Count <= ' + CAST(@MaxCount AS NVARCHAR(10)) + '. Valore corrente: ' + CAST(@CountResult AS NVARCHAR(10)) + '.'; + -- Or if you prefer, you can use the SELECT statement to return the message as a result set + -- SELECT 'Count <= ' + CAST(@MaxCount AS NVARCHAR(10)) + '. Valore corrente: ' + CAST(@CountResult AS NVARCHAR(10)) + '.' AS Message; + END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_DETTAGLIO_ASUL.sql b/sql/storedTestbes/C6Mart_RP_DM_DETTAGLIO_ASUL.sql new file mode 100644 index 00000000..cdd11711 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_DETTAGLIO_ASUL.sql @@ -0,0 +1,100 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_DETTAGLIO_ASUL] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'DM_DETTAGLIO_ASUL', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.DETTAGLIO_ASUL + INSERT INTO [C6Mart].[DETTAGLIO_ASUL] + ([RETE] + ,[COD_FISCALE] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[COD_SOTTOPRODOTTO] + ,[COD_INTERNO] + ,[CTV] + ,[DATA_RIF] + ,[COD_ISIN_FITTIZIO] + ,[COD_ISIN_SOTT] + ,[COD_MAF_SOTT] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT --********* ATTENZIONE ALLA GESTIONE DEI PRODOTTI ASSICURATIVI SKANDIA + --********* DA AGGIUNGERE + --********* SI TROVANO CON CONDIZIONE COD_ISIN_SOTTOSTANTE IS NOT NULL + --********* ENTRO SUL CATALOGO CON COD_ISIN_SOTTOSTANTE, COD_MAF_SOTTOSTANTE + SPB_CONTR_SINTESI.RETE AS RETE, + SPB_CONTR_SINTESI.CODICEFISCALE AS COD_FISCALE, + ISNULL( + dbo.Info_DaProdottoCSaCatalogo(SPB_CONTR_SINTESI.TIPOPRODOTTO, SPB_ASS_UNIT.CODICEINTERNO, SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE, SPB_ASS_UNIT.CODICEISINSOTTOSTANTE, SPB_ASS_UNIT.CODICESOTTOPRODOTTO), + SUBSTRING(SPB_CONTR_SINTESI.POSITIONID, 1, 57)) AS COD_PRODOTTO, + SPB_ASS_UNIT.CODICECONTRATTO AS ID_CONTRATTO, + SPB_ASS_UNIT.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB_ASS_UNIT.CODICEINTERNO AS COD_INTERNO, + SPB_ASS_UNIT.CONTROVALORE AS CTV, + SPB_ASS_UNIT.DATADIRIFERIMENTO AS DATA_RIF, + SPB_ASS_UNIT.ISINFITTIZIO AS COD_ISIN_FITTIZIO, + SPB_ASS_UNIT.CODICEISINSOTTOSTANTE AS COD_ISIN_SOTT, + SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE AS COD_MAF_SOTT, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6STAGING.SPB_CONTR_SINTESI + INNER JOIN + C6STAGING.SPB_ASS_UNIT + ON SPB_CONTR_SINTESI.CODICECONTRATTO = SPB_ASS_UNIT.CODICECONTRATTO + LEFT OUTER JOIN + C6STAGING.RP_CATALOGOPRODOTTI CAT + ON SPB_ASS_UNIT.CODICEINTERNO = CAT.CODINTERNO + AND SPB_ASS_UNIT.CODICESOTTOPRODOTTO = CAT.CODSOTTOPRODOTTO + AND VISIBILITA=1 + AND (SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = ''and codisin='$' OR ( + SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = CAT.CODADEGUATEZZA AND + SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE = CAT.CODMAF + ) + ) + /* + C6STAGING.CATITEMREF + ON SPB_ASS_UNIT.CODICEINTERNO = CATITEMREF.COD_INTERNO + AND SPB_ASS_UNIT.CODICESOTTOPRODOTTO = CATITEMREF.COD_SOTTOPRODOTTO + AND isvisible=1 + AND (SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = ''and cod_isin='$' OR ( + SPB_ASS_UNIT.CODICEISINSOTTOSTANTE = CATITEMREF.COD_ADEGUATEZZA AND + SPB_ASS_UNIT.CODICEMAFSOTTOSTANTE = CATITEMREF.COD_MAF + ) + )*/ + WHERE + SPB_CONTR_SINTESI.CTV <> 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'DM_DETTAGLIO_ASUL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'DM_DETTAGLIO_ASUL' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_EMAIL_PB.sql b/sql/storedTestbes/C6Mart_RP_DM_EMAIL_PB.sql new file mode 100644 index 00000000..a1e9181a --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_EMAIL_PB.sql @@ -0,0 +1,87 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 26 gennaio 2009 +-- Description: Recupera PB, RM, DM, AM le cui email non sono ancora valorizzate. +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_EMAIL_PB] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_EMAIL_PB', + GETDATE(), + 'Elaborazione giornaliera' + ) + SELECT DISTINCT + CODICI_PB.RETE AS RETE, + CODICI_PB.CODICE AS CODICE, + (CASE CODICI_PB.RETE WHEN 'F' THEN 'R' when 'W' then 'W' ELSE 'P' END) AS PREFISSO, + (CASE CODICI_PB.RETE WHEN 'F' THEN 'R' when 'W' then 'W' ELSE 'P' END) + CODICI_PB.CODICE AS FIRMA +--, +-- CODICI_PB.LIVELLO AS LIVELLO, +-- CODICI_PB.LIV_ORD AS LIV_ORD + FROM + ( + SELECT STRUTTURA.RETE, STRUTTURA.PB CODICE--, 'PB' as LIVELLO, 1 AS LIV_ORD + FROM C6Mart.VCONTRATTI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + UNION + SELECT STRUTTURA.RETE, STRUTTURA.RM CODICE--, 'RM' as LIVELLO, 2 AS LIV_ORD + FROM C6Mart.VCONTRATTI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + UNION + SELECT STRUTTURA.RETE, STRUTTURA.DM CODICE--, 'DM' as LIVELLO, 3 AS LIV_ORD + FROM C6Mart.VCONTRATTI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + UNION + SELECT STRUTTURA.RETE, STRUTTURA.AM CODICE--, 'AM' as LIVELLO, 4 AS LIV_ORD + FROM C6Mart.VCONTRATTI PB + INNER JOIN C6MART.STRUTTURA_RETE STRUTTURA + ON PB.RETE = STRUTTURA.RETE + AND PB.COD_AGENTE = STRUTTURA.PB + ) CODICI_PB + LEFT JOIN C6MART.EMAIL_PB EMAIL_PB_ESISTENTI + ON EMAIL_PB_ESISTENTI.RETE = CODICI_PB.RETE + AND EMAIL_PB_ESISTENTI.CODICE = CODICI_PB.CODICE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (CODICI_PB.CODICE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND CODICI_PB.RETE = PF.RETE + WHERE + --CODICI_PB.CODICE = '014777' and + isnull(EMAIL_PB_ESISTENTI.EMAIL, '') = '' + --AND PF.RETE IS NULL +--togliere + --and CODICI_PB.CODICE not in ('010712','015115','015117','015091','015182','006167','015125','015126','015185','006154','006200') +and CODICI_PB.CODICE not in ('015185') +---eliminato il filtro '010712' +---eliminato il filtro su '015089'--,'015163', 12/08 + --ORDER BY CODICI_PB.LIV_ORD + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_EMAIL_PB' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_EMAIL_PB' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_ESG_ANAG_METRICHE.sql b/sql/storedTestbes/C6Mart_RP_DM_ESG_ANAG_METRICHE.sql new file mode 100644 index 00000000..ac4ca8b9 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_ESG_ANAG_METRICHE.sql @@ -0,0 +1,182 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from c6mart.assetclass +CREATE procedure [C6Mart].[RP_DM_ESG_ANAG_METRICHE] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ESG_ANAG_METRICHE', + GETDATE(), + 'Elaborazione giornaliera' + ) +TRUNCATE TABLE C6STAGING.ESG_ANAG_METRICHE + INSERT INTO [C6STAGING].ESG_ANAG_METRICHE + ( [COD_PRODOTTO] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[CatSFDR] + ,[ESGRating] + ,[TrendESGRating] + ,[LABEL_Green_Bond] + ,[LABEL_Social_Bond] + ,[LABEL_Sustainability_Bond] + ,[LABEL_Transition_Bond] + ,[LABEL_Sust_linked_bond] + ,LABEL_EU_GREEN_BOND_STANDARD + ,[PERC_INVESTIMENTO_TAXONOMY] + ,[PERC_INVESTIMENTO_SFDR] + ,[PERC_INVEST_SFDR_MIN_SUST_E] + ,[PERC_INVEST_SFDR_MIN_SUST_S] + ,[PAI_LAB_A_Emissioni_Gas_Serra] + ,[PAI_LAB_A_Biodiversita] + ,[PAI_LAB_A_Acqua] + ,[PAI_LAB_A_Rifiuti] + ,[PAI_LAB_A_Gov_Ambientale] + ,[PAI_LAB_A_Comb_Fossili] + ,[PAI_LAB_A_Eff_energetica] + ,[PAI_LAB_A_Settore_Immobiliare] + ,[PAI_LAB_S_Questioni_Soc_Dip] + ,[PAI_LAB_S_Gov_Sociali] + ,[U_INFO_ESG] + ,[ID_ELAB] + ,[TIPO_ELAB] + ) + SELECT + --ChiaveProdotto, + CatalogueID AS COD_PRODOTTO, + C.CodSottoprodotto AS COD_SOTTOPRODOTTO, + ISNULL(C.CodInterno, '') AS COD_INTERNO, + C.CodMaf AS COD_MAF, + C.CodAdeguatezza AS COD_ADEGUATEZZA, + ISNULL(C.CodIsin, '') AS COD_ISIN, + case when Ltrim(rtrim(ESG_E)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_E)) = 'N' then 'NO' + else 'NO' end as ESG_E, + case when Ltrim(rtrim(ESG_S)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_S)) = 'N' then 'NO' + else 'NO' end as ESG_S, + case when Ltrim(rtrim(ESG_G)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_G)) = 'N' then 'NO' + else 'NO' end as ESG_G, + case when CatSFDR='-' then '' else substring(CatSFDR,1,5) +' SFDR' end as CatSFDR, + Ltrim(rtrim(ESGRating)) as ESGRating , + Ltrim(rtrim(TrendESGRating)) as TrendESGRating, + case when LABEL_Green_Bond<> '-' then 'Green Bond' else '' end as LABEL_Green_Bond, + case when LABEL_Social_Bond<> '-' then 'Social Bond' else '' end as LABEL_Social_Bond, + case when LABEL_Sustainability_Bond<> '-' then 'Sustainability Bond' else '' end as LABEL_Sustainability_Bond, + case when LABEL_Transition_Bond<> '-' then 'Transition Bond' else '' end as LABEL_Transition_Bond, + case when LABEL_Sust_linked_bond<> '-' then 'Sustainability Linked Bond' else '' end as LABEL_Sust_linked_bond, + case when LABEL_EU_GREEN_BOND_STANDARD<> '-' then 'EU Green Bond Standard' else '' end as LABEL_EU_GREEN_BOND_STANDARD, + PERC_INVESTIMENTO_TAXONOMY *100 as PERC_INVESTIMENTO_TAXONOMY, + PERC_INVESTIMENTO_SFDR * 100 as PERC_INVESTIMENTO_SFDR, + [PERC_INVEST_SFDR_MIN_SUST_E] * 100 as PERC_INVEST_SFDR_MIN_SUST_E , + [PERC_INVEST_SFDR_MIN_SUST_S] * 100 as PERC_INVEST_SFDR_MIN_SUST_S, + case when PAI_LAB_A_Emissioni_Gas_Serra<>'-' then 'Emissioni Gas Serra' else '' end as PAI_LAB_A_Emissioni_Gas_Serra, + case when PAI_LAB_A_Biodiversita<>'-' then 'Biodiversità' else '' end as PAI_LAB_A_Biodiversita, + case when PAI_LAB_A_Acqua<>'-' then 'Acqua' else '' end as PAI_LAB_A_Acqua, + case when PAI_LAB_A_Rifiuti<>'-' then 'Rifiuti' else '' end as PAI_LAB_A_Rifiuti, + case when PAI_LAB_A_Gov_Ambientale<>'-' then 'Governativi di tipo Ambientale' else '' end as PAI_LAB_A_Gov_Ambientale, + case when PAI_LAB_A_Comb_Fossili<>'-' then 'Combustibili Fossili' else '' end as PAI_LAB_A_Comb_Fossili, + case when PAI_LAB_A_Eff_energetica<>'-' then 'Efficienza Energetica' else '' end as PAI_LAB_A_Eff_energetica, + case when PAI_LAB_A_Settore_Immobiliare <>'-' then 'Settore Immobiliare' else '' end as PAI_LAB_A_Settore_Immobiliare, + case when PAI_LAB_S_Questioni_Soc_Dip<>'-' then 'Questioni Sociali e dei Dipendenti' else '' end as PAI_LAB_S_Questioni_Soc_Dip, + case when PAI_LAB_S_Gov_Sociali<>'-' then 'Governativi di tipo Sociale' else '' end as PAI_LAB_S_Gov_Sociali, + case when U_INFO_ESG='TOOL_01' then 'Nota1' + when U_INFO_ESG='TOOL_02' then 'Nota2' + else '' end as U_INFO_ESG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6Staging.RP_CatalogoProdotti c + Inner Join C6Staging.RP_TB_ESG_ANAG_STRUM a + ON c.ChiaveProdotto = a.ChiaveProdotto +UPDATE m1 +SET m1.label_pai_a = NULLIF(CONCAT_WS(', ', + NULLIF(m2.PAI_LAB_A_Emissioni_Gas_Serra, ''), + NULLIF(m2.PAI_LAB_A_Biodiversita, ''), + NULLIF(m2.PAI_LAB_A_Acqua, ''), + NULLIF(m2.PAI_LAB_A_Rifiuti, ''), + NULLIF(m2.PAI_LAB_A_Gov_Ambientale, ''), + NULLIF(m2.PAI_LAB_A_Settore_Immobiliare, '') + --NULLIF(m2.PAI_LAB_A_Comb_Fossili, ''), + --NULLIF(m2.PAI_LAB_A_Eff_energetica, '') + -- NULLIF(m2.PAI_LAB_S_Questioni_Soc_Dip, ''), + -- NULLIF(m2.PAI_LAB_S_Gov_Sociali, '') + ), '') +FROM C6STAGING.ESG_ANAG_METRICHE m1 +INNER JOIN C6STAGING.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') +UPDATE m1 +SET m1.label_pai_s = NULLIF(CONCAT_WS(', ', + NULLIF(m2.PAI_LAB_S_Questioni_Soc_Dip, ''), + NULLIF(m2.PAI_LAB_S_Gov_Sociali, '') + ), '') +FROM C6STAGING.ESG_ANAG_METRICHE m1 +INNER JOIN C6STAGING.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') + --select * from C6STAGING.ESG_ANAG_METRICHE +UPDATE m1 +SET m1.Label_U_INFO_ESG = NULLIF(CONCAT_WS(', ', + NULLIF(m2.LABEL_Green_Bond, ''), + NULLIF(m2.Label_Social_Bond, ''), + NULLIF(m2.Label_Sustainability_Bond, ''), + NULLIF(m2.Label_Transition_Bond, ''), + NULLIF(m2.Label_Sust_linked_Bond, ''), + NULLIF(m2.Label_EU_Green_Bond_Standard, ''), + NULLIF(m2.CatSFDR, ''), + NULLIF(m2.U_INFO_ESG, '') + ), '') +FROM C6STAGING.ESG_ANAG_METRICHE m1 +INNER JOIN C6STAGING.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ESG_ANAG_METRICHE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ESG_ANAG_METRICHE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4.sql b/sql/storedTestbes/C6Mart_RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4.sql new file mode 100644 index 00000000..8f0c0506 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4.sql @@ -0,0 +1,175 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select * from c6mart.assetclass +CREATE procedure [C6Mart].[RP_DM_ESG_ANAG_METRICHE_bkp_Pre_ESG4] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_ESG_ANAG_METRICHE', + GETDATE(), + 'Elaborazione giornaliera' + ) +TRUNCATE TABLE C6STAGING.ESG_ANAG_METRICHE + INSERT INTO [C6STAGING].ESG_ANAG_METRICHE + ( [COD_PRODOTTO] + ,[CodSottoprodotto] + ,[CodInterno] + ,[CodMaf] + ,[CodAdeguatezza] + ,[CodIsin] + ,[ESG_E] + ,[ESG_S] + ,[ESG_G] + ,[CatSFDR] + ,[ESGRating] + ,[TrendESGRating] + ,[LABEL_Green_Bond] + ,[LABEL_Social_Bond] + ,[LABEL_Sustainability_Bond] + ,[LABEL_Transition_Bond] + ,[LABEL_Sust_linked_bond] + ,LABEL_EU_GREEN_BOND_STANDARD + ,[PERC_INVESTIMENTO_TAXONOMY] + ,[PERC_INVESTIMENTO_SFDR] + ,[PAI_LAB_A_Emissioni_Gas_Serra] + ,[PAI_LAB_A_Biodiversita] + ,[PAI_LAB_A_Acqua] + ,[PAI_LAB_A_Rifiuti] + ,[PAI_LAB_A_Gov_Ambientale] + ,[PAI_LAB_A_Comb_Fossili] + ,[PAI_LAB_A_Eff_energetica] + ,[PAI_LAB_S_Questioni_Soc_Dip] + ,[PAI_LAB_S_Gov_Sociali] + ,[U_INFO_ESG] + ,[ID_ELAB] + ,[TIPO_ELAB] + ) + SELECT + --ChiaveProdotto, + CatalogueID AS COD_PRODOTTO, + C.CodSottoprodotto AS COD_SOTTOPRODOTTO, + ISNULL(C.CodInterno, '') AS COD_INTERNO, + C.CodMaf AS COD_MAF, + C.CodAdeguatezza AS COD_ADEGUATEZZA, + ISNULL(C.CodIsin, '') AS COD_ISIN, + case when Ltrim(rtrim(ESG_E)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_E)) = 'N' then 'NO' + else 'NO' end as ESG_E, + case when Ltrim(rtrim(ESG_S)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_S)) = 'N' then 'NO' + else 'NO' end as ESG_S, + case when Ltrim(rtrim(ESG_G)) = 'Y' then 'SI' + when Ltrim(rtrim(ESG_G)) = 'N' then 'NO' + else 'NO' end as ESG_G, + case when CatSFDR='-' then '' else substring(CatSFDR,1,5) +' SFDR' end as CatSFDR, + Ltrim(rtrim(ESGRating)) as ESGRating , + Ltrim(rtrim(TrendESGRating)) as TrendESGRating, + case when LABEL_Green_Bond<> '-' then 'Green Bond' else '' end as LABEL_Green_Bond, + case when LABEL_Social_Bond<> '-' then 'Social Bond' else '' end as LABEL_Social_Bond, + case when LABEL_Sustainability_Bond<> '-' then 'Sustainability Bond' else '' end as LABEL_Sustainability_Bond, + case when LABEL_Transition_Bond<> '-' then 'Transition Bond' else '' end as LABEL_Transition_Bond, + case when LABEL_Sust_linked_bond<> '-' then 'Sustainability Linked Bond' else '' end as LABEL_Sust_linked_bond, + case when LABEL_EU_GREEN_BOND_STANDARD<> '-' then 'EU Green Bond Standard' else '' end as LABEL_EU_GREEN_BOND_STANDARD, + PERC_INVESTIMENTO_TAXONOMY *100 as PERC_INVESTIMENTO_TAXONOMY, + PERC_INVESTIMENTO_SFDR * 100 as PERC_INVESTIMENTO_SFDR, + case when PAI_LAB_A_Emissioni_Gas_Serra<>'-' then 'Emissioni Gas Serra' else '' end as PAI_LAB_A_Emissioni_Gas_Serra, + case when PAI_LAB_A_Biodiversita<>'-' then 'Biodiversità' else '' end as PAI_LAB_A_Biodiversita, + case when PAI_LAB_A_Acqua<>'-' then 'Acqua' else '' end as PAI_LAB_A_Acqua, + case when PAI_LAB_A_Rifiuti<>'-' then 'Rifiuti' else '' end as PAI_LAB_A_Rifiuti, + case when PAI_LAB_A_Gov_Ambientale<>'-' then 'Governativi Ambientali' else '' end as PAI_LAB_A_Gov_Ambientale, + case when PAI_LAB_A_Comb_Fossili<>'-' then 'Combustibili Fossili' else '' end as PAI_LAB_A_Comb_Fossili, + case when PAI_LAB_A_Eff_energetica<>'-' then 'Efficienza Energetica' else '' end as PAI_LAB_A_Eff_energetica, + case when PAI_LAB_S_Questioni_Soc_Dip<>'-' then 'Questioni Sociali e dei Dipendenti' else '' end as PAI_LAB_S_Questioni_Soc_Dip, + case when PAI_LAB_S_Gov_Sociali<>'-' then 'Governativi Sociali' else '' end as PAI_LAB_S_Gov_Sociali, + case when U_INFO_ESG='TOOL_01' then 'Nota1' + when U_INFO_ESG='TOOL_02' then 'Nota2' + else '' end as U_INFO_ESG, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6Staging.RP_CatalogoProdotti c + Inner Join C6Staging.RP_TB_ESG_ANAG_STRUM a + ON c.ChiaveProdotto = a.ChiaveProdotto +UPDATE m1 +SET m1.label_pai_a = NULLIF(CONCAT_WS(', ', + NULLIF(m2.PAI_LAB_A_Emissioni_Gas_Serra, ''), + NULLIF(m2.PAI_LAB_A_Biodiversita, ''), + NULLIF(m2.PAI_LAB_A_Acqua, ''), + NULLIF(m2.PAI_LAB_A_Rifiuti, ''), + NULLIF(m2.PAI_LAB_A_Gov_Ambientale, ''), + NULLIF(m2.PAI_LAB_A_Comb_Fossili, ''), + NULLIF(m2.PAI_LAB_A_Eff_energetica, '') + -- NULLIF(m2.PAI_LAB_S_Questioni_Soc_Dip, ''), + -- NULLIF(m2.PAI_LAB_S_Gov_Sociali, '') + ), '') +FROM C6STAGING.ESG_ANAG_METRICHE m1 +INNER JOIN C6STAGING.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') +UPDATE m1 +SET m1.label_pai_s = NULLIF(CONCAT_WS(', ', + NULLIF(m2.PAI_LAB_S_Questioni_Soc_Dip, ''), + NULLIF(m2.PAI_LAB_S_Gov_Sociali, '') + ), '') +FROM C6STAGING.ESG_ANAG_METRICHE m1 +INNER JOIN C6STAGING.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') + --select * from C6STAGING.ESG_ANAG_METRICHE +UPDATE m1 +SET m1.Label_U_INFO_ESG = NULLIF(CONCAT_WS(', ', + NULLIF(m2.LABEL_Green_Bond, ''), + NULLIF(m2.Label_Social_Bond, ''), + NULLIF(m2.Label_Sustainability_Bond, ''), + NULLIF(m2.Label_Transition_Bond, ''), + NULLIF(m2.Label_Sust_linked_Bond, ''), + NULLIF(m2.Label_EU_Green_Bond_Standard, ''), + NULLIF(m2.CatSFDR, ''), + NULLIF(m2.U_INFO_ESG, '') + ), '') +FROM C6STAGING.ESG_ANAG_METRICHE m1 +INNER JOIN C6STAGING.ESG_ANAG_METRICHE m2 ON + ISNULL(m1.COD_PRODOTTO, '') = ISNULL(m2.COD_PRODOTTO, '') + AND ISNULL(m1.CodSottoprodotto, '') = ISNULL(m2.CodSottoprodotto, '') + AND ISNULL(m1.CodInterno, '') = ISNULL(m2.CodInterno, '') + AND ISNULL(m1.CodMaf, '') = ISNULL(m2.CodMaf, '') + AND ISNULL(m1.CodAdeguatezza, '') = ISNULL(m2.CodAdeguatezza, '') + AND ISNULL(m1.CodIsin, '') = ISNULL(m2.CodIsin, '') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_ESG_ANAG_METRICHE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_ESG_ANAG_METRICHE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_GestioneEmail.sql b/sql/storedTestbes/C6Mart_RP_DM_GestioneEmail.sql new file mode 100644 index 00000000..387450c1 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_GestioneEmail.sql @@ -0,0 +1,255 @@ +--delete from c6mart.gestione_Email where data_Generazione > getDate()-1 +--truncate table log_esecuzione +--select * from log_esecuzione +CREATE procedure [C6Mart].[RP_DM_GestioneEmail] +AS +BEGIN +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- PERFEZIONAMENTO; +-- MANCATA MIGRAZIONE; +-- REINVIO SOLLECITO MANCATA MIGRAZIONE. +--LA GESTIONE DELLE EMAIL PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO O +--PER REINVIO DEL SOLLECITO PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO +--VIENE FATTA DOPO L'ALLINEAMENTO CON I DATI DEL SIMPB +--ESTRAZIONE EMAIL PERFEZIONAMENTO +--TIPO EMAIL: "PERF" +--L'EMAIL VIENE INVIATA PER TUTTI I CLIENTI CHE HANNO DATA DI PERFEZIONAMENTO VALORIZZATA +--IL CONTROLLO SULLA DATA DI GENERAZIONE >= DELLA DATA DI PERFEZIONAMENTO E' DOVUTO AL +--FATTO CHE IL CONTRATTO PUO` ESSERE CHIUSO E RIAPERTO ED IN QUESTO CASO LA MAIL DI PERFEZIONAMENTO +--DEVE ESSERE REINVIATA +-- EMAIL DI ADESIONE AL SERVIZIO SEI +-- TIPO EMAIL 'PERF' +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @ID_ELAB INT +DECLARE @MaxInvioSoll as SMALLINT +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') as smallint) +SET @ID_ELAB = C6MART.GETIDELAB() +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) --7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint) --7 +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - Mail Perf',GETDATE(),'Elaborazione giornaliera') +--0. MODIFICO I RECORD IN GESTIONE EMAIL CON TIPO = PERF PER EVITARE IL REINVIO MULTIPLO A SEGUITO DELLA RIATTIVAZIONE +--UPDATE C6MART.GESTIONE_EMAIL +--SET TIPO = 'OLD' +--FROM C6MART.Gestione_EMAIL EMAIL +-- INNER JOIN C6MART.VCONTRATTI VC +-- ON VC.COD_FISCALE = EMAIL.COD_FISCALE +-- AND VC.rete = EMAIL.RETE +-- AND EMAIL.TIPO = 'PERF' +-- INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC +-- ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +-- AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO = '9999-12-31 00:00:00.000' +-- AND MC.Tip_riattivazione = 1 +--1. INSERIMENTO MAIL DI "PERFEZIONAMENTO" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- NON PRESENTI SU GESTIONE_EMAIL +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione, ID_ELAB) +-------------------------------------------------------------------------CLIENTI SEI-------------------------------------------------------------------------------- +SELECT + VC.Rete, + VC.Cod_Fiscale, + 'PERF' as TipoEmail, + GETDATE() AS DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6Mart.VCONTRATTI VC +INNER JOIN C6Mart.CONTRATTOSEI_METADATI MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb +LEFT JOIN C6Mart.GESTIONE_EMAIL EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + AND EMAIL.TIPO = 'PERF' + AND EMAIL.Data_Generazione >= VC.Data_Perf -- CONDIZIONE PER ESCLUDERE DAL JOIN UN CONTRATTO CHIUSO E RIAPERTO. +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF -- IN QUESTO MODO LO INSERIAMO NUOVAMENTE IN GESTIONE_MAIL. + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + --AND VC.InvioBenvenuto = 'N' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND EMAIL.COD_FISCALE IS NULL + AND PF.RETE IS NULL + and vc.TIP_CONTRATTO<>3 + ---------------------------------------------------------------------FINE CLIENTI SEI------------------------------------------------------------ +union all + ---------------------------------------------------------------------CLIENTI REMOTE ADVISORY-------------------------------------------------------- +SELECT + VC.Rete, + VC.Cod_Fiscale, + 'PERF_DA' as TipoEmail, + GETDATE() AS DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6Mart.VCONTRATTI VC +INNER JOIN C6Mart.CONTRATTOSEI_METADATI MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb +LEFT JOIN C6Mart.GESTIONE_EMAIL EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + AND EMAIL.TIPO = 'PERF_DA' + AND EMAIL.Data_Generazione >= VC.Data_Perf -- CONDIZIONE PER ESCLUDERE DAL JOIN UN CONTRATTO CHIUSO E RIAPERTO. +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF -- IN QUESTO MODO LO INSERIAMO NUOVAMENTE IN GESTIONE_MAIL. + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + --AND VC.InvioBenvenuto = 'N' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND EMAIL.COD_FISCALE IS NULL + AND PF.RETE IS NULL + and vc.TIP_CONTRATTO=3 + ---------------------------------------------------------------------FINE CLIENTI REMOTE ADVISORY-------------------------------------------------------- +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'INSERT',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf' AND + Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf') +--------en +--------INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) +-------- VALUES ('RP_DM_GestioneEmail - SollecitiNOMIG',GETDATE(),'Elaborazione giornaliera') +---------- 2. INSERIMENTO MAIL "SOLLECITI" +---------- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +---------- E PRESENTI SU GESTIONE_EMAIL +---------- IL PB NON HA EFFETTUATO LA MIGRAZIONE +---------- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO è NULL -> CONSIDERIAMO DATA_PERF +--------INSERT INTO C6Mart.GESTIONE_EMAIL +-------- (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +--------SELECT +-------- VC.rete, +-------- VC.cod_fiscale, +-------- CASE +-------- WHEN ISNULL(MD.numSolleciti,0) = 0 THEN '1_SOLL_NOMIG' +-------- WHEN MD.numSolleciti = 1 THEN '2_SOLL_NOMIG' +-------- WHEN MD.numSolleciti = 2 THEN '3_SOLL_NOMIG' +-------- ELSE 'S_SOLL_NOMIG' +-------- END as tipoEmail, +-------- getDate() as DataGenerazione, +-------- @ID_ELAB AS ID_ELAB +--------FROM C6Mart.VCONTRATTI VC +--------INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +-------- ON MD.chiaveclientepb = VC.chiaveclientepb +--------LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF +-------- ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA +-------- AND VC.RETE = PF.RETE +--------WHERE 1 = 1 +-------- AND MD.numSolleciti < @MaxInvioSoll +-------- AND ( +-------- (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) +-------- OR +-------- (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) +-------- ) +-------- AND MD.clienteMigrato = 'N' +-------- AND MD.InvioBenvenuto = 'N' +-------- AND VC.Data_FineAvanzato > getDate() +-------- --AND MD.GenerazioneReport = 'S' +-------- AND PF.RETE IS NULL +---------- 2.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" +---------- AUMENTIAMO IL NUMERO numSolleciti +---------- AGGIORNIAMO LA DATA Data_UltimoSollecito +--------UPDATE +-------- c6mart.[CONTRATTOSEI_METADATI] +--------SET +-------- numSolleciti = isnull(numSolleciti,0) + 1, +-------- Data_UltimoSollecito = getDate() +--------FROM C6Mart.vcontratti VC +--------INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +-------- ON MD.ChiaveClientePb = VC.ChiaveClientePb +--------LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF +-------- ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA +-------- AND VC.RETE = PF.RETE +--------WHERE 1 = 1 +-------- AND MD.numSolleciti < @MaxInvioSoll +-------- AND ( +-------- (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) +-------- OR +-------- (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) +-------- ) +-------- AND MD.clienteMigrato = 'N' +-------- AND MD.InvioBenvenuto = 'N' -- richiesto da Tringali per non inviare mail se report già inviato +-------- AND VC.Data_FineAvanzato > getDate() +-------- --AND VC.GenerazioneReport = 'S' +-------- AND PF.RETE IS NULL +---------- Log esecuzione +--------UPDATE LOG_ESECUZIONE +--------SET Fine = GETDATE(),Tipo = 'UPDATE',Righe = @@ROWCOUNT +--------WHERE Nome = 'RP_DM_GestioneEmail - SollecitiNOMIG' AND Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - SollecitiNOMIG') +----------------en +INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - Mail Revoca',GETDATE(),'Elaborazione giornaliera') +-- 3. INSERIMENTO MAIL "REVOCA" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE DOPO @MaxInvioSoll SOLLECITI +-- N.B. OCCHIO ALLA CONDIZIONE -> (c6.clienteMigrato = 'N' AND numSolleciti = @MaxInvioSoll) OR numSolleciti > @MaxInvioSoll +-- OVVERO: BUONA LA MIGRAZIONE EFFETTUATA DOPO L'ULTIMO SOLLECITO MA NON DOPO LA PRIMA REVOCA +--rimosso perche dava errori/ da attivare eventualmente +--INSERT INTO C6Mart.GESTIONE_EMAIL +-- (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +--SELECT +-- email.rete, +-- email.cod_fiscale, +-- 'REVOCA_NOMIG' as tipoEmail, +-- getDate() as DataGenerazione, +-- @ID_ELAB AS ID_ELAB --max(Data_Generazione) +--FROM C6Mart.vcontratti VC +--INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +-- ON MD.chiaveclientepb = VC.chiaveclientepb +--INNER JOIN c6mart.gestione_Email EMAIL +-- ON VC.RETE = EMAIL.RETE +-- AND VC.COD_FISCALE = EMAIL.COD_FISCALE +--LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF +-- ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA +-- AND VC.RETE = PF.RETE +--WHERE 1 = 1 +-- AND EMAIL.Tipo IN ('S_SOLL_NOMIG','REVOCA_NOMIG') +-- AND ( +-- (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO +-- OR +-- (MD.numSolleciti = @MaxInvioSoll and MD.clienteMigrato = 'N')-- SONO NEL CASO DI PRIMA REVOCA +-- ) +-- AND VC.Data_FineAvanzato > getDate() +-- --AND VC.GenerazioneReport = 'S' +-- AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) +-- AND PF.RETE IS NULL +--GROUP BY email.rete, email.cod_fiscale +--rimosso perche dava errori/ da attivare eventualmente +-- 3.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "REVOCA" +-- AUMENTIAMO IL NUMERO numSolleciti +-- NON AGGIORNIAMO LA DATA Data_UltimoSollecito +-- N.B. VERIFICARE SE IL CAMPO Data_UltimoSollecito VA AGGIORNATO +UPDATE c6mart.[CONTRATTOSEI_METADATI] +SET + numRevoche = isnull(numRevoche,0) + 1, + data_UltimaRevoca = getDate() +FROM C6Mart.vcontratti VC +INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb +INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOMIG','REVOCA_NOMIG') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.clienteMigrato = 'N')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + update C6Mart.GESTIONE_EMAIL + set Inviata = 'S', Data_Invio = getdate() + where Cod_Fiscale = 'CRCTMS62A05H501D' +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'INSERT',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - Mail Revoca' AND Inizio = ( + SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - Mail Revoca') +COMMIT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_GestioneEmailNOPRO.sql b/sql/storedTestbes/C6Mart_RP_DM_GestioneEmailNOPRO.sql new file mode 100644 index 00000000..c574b743 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_GestioneEmailNOPRO.sql @@ -0,0 +1,280 @@ +--select * from c6mart.gestione_Email where data_Generazione > getDate()-1 and tipo like '%pro%' +-- ============================================= +-- Author: +-- Create date: <19/14/2011,,> -1 ai -2! +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_GestioneEmailNOPRO] +AS +BEGIN +BEGIN TRANSACTION +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT) +SET @ID_ELAB = C6MART.GETIDELAB() +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'RP_DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' +) +-- 1. INSERIMENTO MAIL "SOLLECITI" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA ATTIVATO UN PROFILO VALIDO AL CLIENTE + -- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO è NULL -> CONSIDERIAMO DATA_PERF + INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + VC.rete, + VC.cod_fiscale, + CASE + WHEN ISNULL(MD.numSolleciti,0) = 0 THEN '1_SOLL_NOPRO' + WHEN MD.numSolleciti = 1 THEN '2_SOLL_NOPRO' + WHEN MD.numSolleciti = 2 THEN '3_SOLL_NOPRO' + ELSE 'S_SOLL_NOPRO' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'S' + AND MD.risorseNA = 'N' + AND MD.profiloAttivo = 0 + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + and vc.TIP_CONTRATTO<>3 + union + SELECT + VC.rete, + VC.cod_fiscale, + CASE + WHEN ISNULL(MD.numSolleciti,0) = 0 THEN '1_SOLL_NOPRO_DA' + WHEN MD.numSolleciti = 1 THEN '2_SOLL_NOPRO_DA' + WHEN MD.numSolleciti = 2 THEN '3_SOLL_NOPRO_DA' + ELSE 'S_SOLL_NOPRO_DA' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'S' + AND MD.risorseNA = 'N' + AND MD.profiloAttivo = 0 + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + and vc.TIP_CONTRATTO=3 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 1.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" + -- AUMENTIAMO IL NUMERO numSolleciti + -- AGGIORNIAMO LA DATA Data_UltimoSollecito + UPDATE + c6mart.CONTRATTOSEI_METADATI + SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'S' + AND MD.risorseNA = 'N' + AND MD.profiloAttivo = 0 + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 2. INSERIMENTO MAIL "REVOCA" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA EFFETTUATO L'ATTIVAZIONE DEL PROFILO @MaxInvioSoll SOLLECITI + -- N.B. OCCHIO ALLA CONDIZIONE -> (c6.risorseNA = 'N' AND numSolleciti = @MaxInvioSoll) OR numSolleciti > @MaxInvioSoll + -- OVVERO: BUONA L'ASSOCIAZIONE DELLE RISORSE EFFETTUATA DOPO L'ULTIMO SOLLECITO MA NON DOPO LA PRIMA REVOCA + INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOPRO' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB --max(Data_Generazione) + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb + INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOPRO','REVOCA_NOPRO') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.profiloAttivo = 0)-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + GROUP BY email.rete, email.cod_fiscale + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_GestioneEmailNOPRO', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 2.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "REVOCA" + -- AUMENTIAMO IL NUMERO numSolleciti + -- NON AGGIORNIAMO LA DATA Data_UltimoSollecito + -- N.B. VERIFICARE SE IL CAMPO Data_UltimoSollecito VA AGGIORNATO + UPDATE c6mart.[CONTRATTOSEI_METADATI] + SET + numRevoche = isnull(numRevoche,0) + 1, + data_UltimaRevoca = getDate() + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb + INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOPRO','REVOCA_NOPRO') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.profiloAttivo = 0)-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + update C6Mart.GESTIONE_EMAIL + set Inviata = 'S', Data_Invio = getdate() + where Cod_Fiscale = 'CRCTMS62A05H501D' + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNOPRO' + ) +COMMIT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_GestioneEmail_20161028.sql b/sql/storedTestbes/C6Mart_RP_DM_GestioneEmail_20161028.sql new file mode 100644 index 00000000..b157cd67 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_GestioneEmail_20161028.sql @@ -0,0 +1,218 @@ +--delete from c6mart.gestione_Email where data_Generazione > getDate()-1 +--truncate table log_esecuzione +--select * from log_esecuzione +CREATE procedure [C6Mart].[RP_DM_GestioneEmail_20161028] +AS +BEGIN +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- PERFEZIONAMENTO; +-- MANCATA MIGRAZIONE; +-- REINVIO SOLLECITO MANCATA MIGRAZIONE. +--LA GESTIONE DELLE EMAIL PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO O +--PER REINVIO DEL SOLLECITO PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO +--VIENE FATTA DOPO L'ALLINEAMENTO CON I DATI DEL SIMPB +--ESTRAZIONE EMAIL PERFEZIONAMENTO +--TIPO EMAIL: "PERF" +--L'EMAIL VIENE INVIATA PER TUTTI I CLIENTI CHE HANNO DATA DI PERFEZIONAMENTO VALORIZZATA +--IL CONTROLLO SULLA DATA DI GENERAZIONE >= DELLA DATA DI PERFEZIONAMENTO E' DOVUTO AL +--FATTO CHE IL CONTRATTO PUO` ESSERE CHIUSO E RIAPERTO ED IN QUESTO CASO LA MAIL DI PERFEZIONAMENTO +--DEVE ESSERE REINVIATA +-- EMAIL DI ADESIONE AL SERVIZIO SEI +-- TIPO EMAIL 'PERF' +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @ID_ELAB INT +DECLARE @MaxInvioSoll as SMALLINT +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') as smallint) +SET @ID_ELAB = C6MART.GETIDELAB() +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) --7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint) --7 +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - Mail Perf',GETDATE(),'Elaborazione giornaliera') +--0. MODIFICO I RECORD IN GESTIONE EMAIL CON TIPO = PERF PER EVITARE IL REINVIO MULTIPLO A SEGUITO DELLA RIATTIVAZIONE +--UPDATE C6MART.GESTIONE_EMAIL +--SET TIPO = 'OLD' +--FROM C6MART.Gestione_EMAIL EMAIL +-- INNER JOIN C6MART.VCONTRATTI VC +-- ON VC.COD_FISCALE = EMAIL.COD_FISCALE +-- AND VC.rete = EMAIL.RETE +-- AND EMAIL.TIPO = 'PERF' +-- INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC +-- ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +-- AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO = '9999-12-31 00:00:00.000' +-- AND MC.Tip_riattivazione = 1 +--1. INSERIMENTO MAIL DI "PERFEZIONAMENTO" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- NON PRESENTI SU GESTIONE_EMAIL +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione, ID_ELAB) +SELECT + VC.Rete, + VC.Cod_Fiscale, + 'PERF' as TipoEmail, + GETDATE() AS DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6Mart.VCONTRATTI VC +INNER JOIN C6Mart.CONTRATTOSEI_METADATI MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb +LEFT JOIN C6Mart.GESTIONE_EMAIL EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + AND EMAIL.TIPO = 'PERF' + AND EMAIL.Data_Generazione >= VC.Data_Perf -- CONDIZIONE PER ESCLUDERE DAL JOIN UN CONTRATTO CHIUSO E RIAPERTO. +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF -- IN QUESTO MODO LO INSERIAMO NUOVAMENTE IN GESTIONE_MAIL. + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + --AND VC.InvioBenvenuto = 'N' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND EMAIL.COD_FISCALE IS NULL + AND PF.RETE IS NULL +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'INSERT',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf' AND + Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf') +INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - SollecitiNOMIG',GETDATE(),'Elaborazione giornaliera') +-- 2. INSERIMENTO MAIL "SOLLECITI" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE +-- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO è NULL -> CONSIDERIAMO DATA_PERF +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT + VC.rete, + VC.cod_fiscale, + CASE + WHEN ISNULL(MD.numSolleciti,0) = 0 THEN '1_SOLL_NOMIG' + WHEN MD.numSolleciti = 1 THEN '2_SOLL_NOMIG' + WHEN MD.numSolleciti = 2 THEN '3_SOLL_NOMIG' + ELSE 'S_SOLL_NOMIG' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6Mart.VCONTRATTI VC +INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'N' + AND MD.InvioBenvenuto = 'N' + AND VC.Data_FineAvanzato > getDate() + --AND MD.GenerazioneReport = 'S' + AND PF.RETE IS NULL +-- 2.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" +-- AUMENTIAMO IL NUMERO numSolleciti +-- AGGIORNIAMO LA DATA Data_UltimoSollecito +UPDATE + c6mart.[CONTRATTOSEI_METADATI] +SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() +FROM C6Mart.vcontratti VC +INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'N' + AND MD.InvioBenvenuto = 'N' -- richiesto da Tringali per non inviare mail se report già inviato + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'UPDATE',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - SollecitiNOMIG' AND Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - SollecitiNOMIG') +INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - Mail Revoca',GETDATE(),'Elaborazione giornaliera') +-- 3. INSERIMENTO MAIL "REVOCA" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE DOPO @MaxInvioSoll SOLLECITI +-- N.B. OCCHIO ALLA CONDIZIONE -> (c6.clienteMigrato = 'N' AND numSolleciti = @MaxInvioSoll) OR numSolleciti > @MaxInvioSoll +-- OVVERO: BUONA LA MIGRAZIONE EFFETTUATA DOPO L'ULTIMO SOLLECITO MA NON DOPO LA PRIMA REVOCA +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOMIG' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB --max(Data_Generazione) +FROM C6Mart.vcontratti VC +INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb +INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOMIG','REVOCA_NOMIG') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.clienteMigrato = 'N')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL +GROUP BY email.rete, email.cod_fiscale +-- 3.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "REVOCA" +-- AUMENTIAMO IL NUMERO numSolleciti +-- NON AGGIORNIAMO LA DATA Data_UltimoSollecito +-- N.B. VERIFICARE SE IL CAMPO Data_UltimoSollecito VA AGGIORNATO +UPDATE c6mart.[CONTRATTOSEI_METADATI] +SET + numRevoche = isnull(numRevoche,0) + 1, + data_UltimaRevoca = getDate() +FROM C6Mart.vcontratti VC +INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb +INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOMIG','REVOCA_NOMIG') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.clienteMigrato = 'N')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'INSERT',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - Mail Revoca' AND Inizio = ( + SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - Mail Revoca') +COMMIT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_ALTRO.sql b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_ALTRO.sql new file mode 100644 index 00000000..f79f3e67 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_ALTRO.sql @@ -0,0 +1,191 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_ALTRO] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_ALTRO', + GETDATE(), + 'Elaborazione giornaliera' + ) +TRUNCATE TABLE C6MART.PATRIMONIO_ALTRO +INSERT INTO [C6Mart].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +--INTO C6MART.RP_PATRIMONIO_ALTRO +FROM + C6Staging.RP_DettPatrAziendale dettPatrAz, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + -- AC: Modifica del 11/10/2018 in seguito ad errore su CF: GLBGDU58B07F712V + --and VCONTRATTI.COD_FISCALE <> 'LRNLCU73D28I470U' + and VCONTRATTI.COD_FISCALE NOT IN ('LRNLCU73D28I470U', 'GLBGDU58B07F712V') + -- AC: Fine Modifica +UNION ALL +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + --(dettAltriProd.valoreStimato) as valore, + SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6Staging.RP_DettAltriProdotti dettAltriProd, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + -- AC: Modifica del 11/10/2018 in seguito ad errore su CF: GLBGDU58B07F712V + --and VCONTRATTI.COD_FISCALE <> 'LRNLCU73D28I470U' + and VCONTRATTI.COD_FISCALE NOT IN ('LRNLCU73D28I470U', 'GLBGDU58B07F712V') + -- AC: Fine Modifica + --inizio intervento + --Fcianfa 25/08/2015 intervento segnalato da ticket n4t4, per calcolare il ctv viene erroneamente effettuata una somma che fa si che sul report per ogni riga viene riportato il totale. + INSERT INTO [C6Mart].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + dettPatrAz.valoreStimato AS CTV, + --SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +--INTO C6MART.RP_PATRIMONIO_ALTRO +FROM + C6Staging.RP_DettPatrAziendale dettPatrAz, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + -- AC: Modifica del 11/10/2018 in seguito ad errore su CF: GLBGDU58B07F712V + --and VCONTRATTI.COD_FISCALE <> 'LRNLCU73D28I470U' + and VCONTRATTI.COD_FISCALE NOT IN ('LRNLCU73D28I470U', 'GLBGDU58B07F712V') + -- AC: Fine Modifica +UNION ALL +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + dettAltriProd.valoreStimato AS CTV, + --SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6Staging.RP_DettAltriProdotti dettAltriProd, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + -- AC: Modifica del 11/10/2018 in seguito ad errore su CF: GLBGDU58B07F712V + --and VCONTRATTI.COD_FISCALE <> 'LRNLCU73D28I470U' + and VCONTRATTI.COD_FISCALE NOT IN ('LRNLCU73D28I470U', 'GLBGDU58B07F712V') + -- AC: Fine Modifica +--fine intervento +--SELECT +-- VCONTRATTI.chiaveClientePB, +-- VCONTRATTI.rete AS RETE, +-- VCONTRATTI.COD_FISCALE, +-- RP_DettProdottiTerzi.numQuote AS QUANTITA, +-- --SUBSTRING(ALL_PATR_TERZI.DENOMINAZIONE,1,50) AS DESCRIZIONE, (sembra non essere utilizzato) +-- NULL AS DESCRIZIONE, +-- --ALL_PATR_TERZI.PATRIMONIO_ALTRO_PB_E6F18 AS CTV, (sto vedendo con Serena) +-- NULL AS CTV, +-- @ID_ELAB AS ID_ELAB, +-- @TIPO_ELAB AS TIPO_ELAB +--FROM C6Staging.RP_PatrimonioTerzi +--INNER JOIN VCONTRATTI +--ON RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +--INNER JOIN C6Staging.RP_DettProdottiTerzi +--ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi +----WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_E6F18 +--UNION +--SELECT +-- VCONTRATTI.chiaveClientePB, +-- VCONTRATTI.rete AS RETE, +-- VCONTRATTI.COD_FISCALE, +-- NULL AS QUANTITA, +-- --SUBSTRING(ALL_PATR_TERZI.DENOMINAZIONE_PN_F87B4,1,50) AS DESCRIZIONE, (sembra non essere utilizzato) +-- NULL AS DESCRIZIONE, +-- --ALL_PATR_TERZI.PATRIMONIO_ALTRO_PN_F87B4 AS CTV, (sto vedendo con Serena) +-- NULL AS CTV, +-- @ID_ELAB AS ID_ELAB, +-- @TIPO_ELAB AS TIPO_ELAB +--FROM C6Staging.RP_PatrimonioTerzi +--INNER JOIN VCONTRATTI +--ON RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +----WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_F87B4 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_ALTRO_20150825.sql b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_ALTRO_20150825.sql new file mode 100644 index 00000000..d2fd2b71 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_ALTRO_20150825.sql @@ -0,0 +1,122 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_ALTRO_20150825] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_ALTRO', + GETDATE(), + 'Elaborazione giornaliera' + ) +TRUNCATE TABLE C6MART.PATRIMONIO_ALTRO +INSERT INTO [C6Mart].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +--INTO C6MART.RP_PATRIMONIO_ALTRO +FROM + C6Staging.RP_DettPatrAziendale dettPatrAz, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +UNION ALL +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + --(dettAltriProd.valoreStimato) as valore, + SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6Staging.RP_DettAltriProdotti dettAltriProd, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +--SELECT +-- VCONTRATTI.chiaveClientePB, +-- VCONTRATTI.rete AS RETE, +-- VCONTRATTI.COD_FISCALE, +-- RP_DettProdottiTerzi.numQuote AS QUANTITA, +-- --SUBSTRING(ALL_PATR_TERZI.DENOMINAZIONE,1,50) AS DESCRIZIONE, (sembra non essere utilizzato) +-- NULL AS DESCRIZIONE, +-- --ALL_PATR_TERZI.PATRIMONIO_ALTRO_PB_E6F18 AS CTV, (sto vedendo con Serena) +-- NULL AS CTV, +-- @ID_ELAB AS ID_ELAB, +-- @TIPO_ELAB AS TIPO_ELAB +--FROM C6Staging.RP_PatrimonioTerzi +--INNER JOIN VCONTRATTI +--ON RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +--INNER JOIN C6Staging.RP_DettProdottiTerzi +--ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi +----WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_E6F18 +--UNION +--SELECT +-- VCONTRATTI.chiaveClientePB, +-- VCONTRATTI.rete AS RETE, +-- VCONTRATTI.COD_FISCALE, +-- NULL AS QUANTITA, +-- --SUBSTRING(ALL_PATR_TERZI.DENOMINAZIONE_PN_F87B4,1,50) AS DESCRIZIONE, (sembra non essere utilizzato) +-- NULL AS DESCRIZIONE, +-- --ALL_PATR_TERZI.PATRIMONIO_ALTRO_PN_F87B4 AS CTV, (sto vedendo con Serena) +-- NULL AS CTV, +-- @ID_ELAB AS ID_ELAB, +-- @TIPO_ELAB AS TIPO_ELAB +--FROM C6Staging.RP_PatrimonioTerzi +--INNER JOIN VCONTRATTI +--ON RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +----WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_F87B4 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_ALTRO_20160615.sql b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_ALTRO_20160615.sql new file mode 100644 index 00000000..8e569021 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_ALTRO_20160615.sql @@ -0,0 +1,179 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_ALTRO_20160615] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_ALTRO', + GETDATE(), + 'Elaborazione giornaliera' + ) +TRUNCATE TABLE C6MART.PATRIMONIO_ALTRO +INSERT INTO [C6Mart].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +--INTO C6MART.RP_PATRIMONIO_ALTRO +FROM + C6Staging.RP_DettPatrAziendale dettPatrAz, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + and VCONTRATTI.COD_FISCALE <> 'LRNLCU73D28I470U' +UNION ALL +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + --(dettAltriProd.valoreStimato) as valore, + SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6Staging.RP_DettAltriProdotti dettAltriProd, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + and VCONTRATTI.COD_FISCALE <> 'LRNLCU73D28I470U' + --inizio intervento + --Fcianfa 25/08/2015 intervento segnalato da ticket n4t4, per calcolare il ctv viene erroneamente effettuata una somma che fa si che sul report per ogni riga viene riportato il totale. + INSERT INTO [C6Mart].[PATRIMONIO_ALTRO] + ( +--chiaveClientePB +-- , +[RETE] + ,[COD_FISCALE] + ,[QUANTITA] + ,[DESCRIZIONE] + ,[CTV] + ,[ID_ELAB] + ,[TIPO_ELAB]) +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + dettPatrAz.numQuote AS QUANTITA, + dettPatrAz.denominazione AS DESCRIZIONE, + --(dettPatrAz.valoreStimato) as valore, + dettPatrAz.valoreStimato AS CTV, + --SUM(dettPatrAz.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +--INTO C6MART.RP_PATRIMONIO_ALTRO +FROM + C6Staging.RP_DettPatrAziendale dettPatrAz, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettPatrAz.ChiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + and VCONTRATTI.COD_FISCALE = 'LRNLCU73D28I470U' +UNION ALL +SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE, + NULL AS QUANTITA, + dettAltriProd.descrizione AS DESCRIZIONE, + dettAltriProd.valoreStimato AS CTV, + --SUM(dettAltriProd.valoreStimato)over(partition by patrTerzi.chiaveclientepb) AS CTV, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB +FROM + C6Staging.RP_DettAltriProdotti dettAltriProd, + C6Staging.RP_PatrimonioTerzi patrTerzi, + C6Mart.VCONTRATTI +WHERE + dettAltriProd.chiaveProdottoTerzi = patrTerzi.chiaveProdottoTerzi +AND + patrTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB + and VCONTRATTI.COD_FISCALE = 'LRNLCU73D28I470U' +--fine intervento +--SELECT +-- VCONTRATTI.chiaveClientePB, +-- VCONTRATTI.rete AS RETE, +-- VCONTRATTI.COD_FISCALE, +-- RP_DettProdottiTerzi.numQuote AS QUANTITA, +-- --SUBSTRING(ALL_PATR_TERZI.DENOMINAZIONE,1,50) AS DESCRIZIONE, (sembra non essere utilizzato) +-- NULL AS DESCRIZIONE, +-- --ALL_PATR_TERZI.PATRIMONIO_ALTRO_PB_E6F18 AS CTV, (sto vedendo con Serena) +-- NULL AS CTV, +-- @ID_ELAB AS ID_ELAB, +-- @TIPO_ELAB AS TIPO_ELAB +--FROM C6Staging.RP_PatrimonioTerzi +--INNER JOIN VCONTRATTI +--ON RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +--INNER JOIN C6Staging.RP_DettProdottiTerzi +--ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi +----WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_E6F18 +--UNION +--SELECT +-- VCONTRATTI.chiaveClientePB, +-- VCONTRATTI.rete AS RETE, +-- VCONTRATTI.COD_FISCALE, +-- NULL AS QUANTITA, +-- --SUBSTRING(ALL_PATR_TERZI.DENOMINAZIONE_PN_F87B4,1,50) AS DESCRIZIONE, (sembra non essere utilizzato) +-- NULL AS DESCRIZIONE, +-- --ALL_PATR_TERZI.PATRIMONIO_ALTRO_PN_F87B4 AS CTV, (sto vedendo con Serena) +-- NULL AS CTV, +-- @ID_ELAB AS ID_ELAB, +-- @TIPO_ELAB AS TIPO_ELAB +--FROM C6Staging.RP_PatrimonioTerzi +--INNER JOIN VCONTRATTI +--ON RP_PatrimonioTerzi.chiaveClientePB = VCONTRATTI.chiaveClientePB +----WHERE ALL_PATR_TERZI.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_F87B4 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_ALTRO' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_BF.sql b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_BF.sql new file mode 100644 index 00000000..9a6fed40 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_BF.sql @@ -0,0 +1,517 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_BF] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf where nob_prez is null +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; +--delete TEMPORANEA per superare un problema del WS che restituisce una riga doppia +--delete from c6staging.spb_contr_sintesi +--where codicefiscale = 'MNTMRC82C08I608Y' +--and CODICEMAF = '1362945' +--and ISIN = 'IE00B42Z5J44' +--delete from c6staging.spb_contr_sintesi +--where codicefiscale = 'FZAMRA55C50H501E' +--and CODICEMAF = '1362945' +--and ISIN = 'IE00B42Z5J44' + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione giornaliera' + ) + --TRUNCATE TABLE C6MART.PATRIMONIO_BF + DELETE FROM C6MART.PATRIMONIO_BF + TRUNCATE TABLE C6Staging.RP_Consulenza +--Ricerco dati da Pianificazione + SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + --,pian.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,PosPor.conto + ,PosPor.rubricato + ,PosPor.codConf + ,PosPor.numPolizza + ,PosPor.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,'' as position_id + ,termId + ,anno + ,prog + ,case when nob.CODCONF_ES is null then 'N' else 'S' end as nob_prez +INTO #TempPianif +FROM + C6Staging.RP_Pianificazione AS pian + INNER JOIN C6Staging.RP_Progetto AS pro + ON pian.chiaveConsulenza = pro.chiaveConsulenza + INNER JOIN C6Staging.RP_ProgettiPiramideModello pirmod + ON pro.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6Staging.RP_PosizioniPortafoglio AS pospor + ON pro.chiaveProgetto = pospor.chiaveProgetto + INNER JOIN C6Staging.RP_DettaglioPosizionePortafoglio AS dettposport + ON pospor.chiavePosizionePtf = dettposport.chiavePosizionePtf + INNER JOIN C6Staging.RP_CatalogoProdotti AS catprod + ON pospor.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6Staging.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6Mart.VCONTRATTI contr + ON pian.chiaveClientePB = contr.chiaveClientePB + JOIN C6mart.contrattosei_metadati meta + ON contr.chiaveClientePB = meta.chiaveClientePB + LEFT JOIN [C6Staging].[RP_NobPrez] nob + ON PosPor.CODCONF=nob.CODCONF_ES + and contr.chiaveClientePB=nob.CHIAVECLIENTEPB + and catprod.dossier=nob.dossier + WHERE + pospor.dtFineValidita > getdate() + AND pro.dtfinevalidita='9999-12-31 00:00:00.000' + AND pirmod.dtfinevalidita='9999-12-31 00:00:00.000' + AND (INVIOBENVENUTO = 'N')--or contr.cod_fiscale='RMNFNC55T03A783I') +INSERT INTO C6Staging.RP_Consulenza + SELECT * + FROM #TempPianif +--UNION ALL +----ricerco dati da Migrazione +--SELECT +-- contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza +-- ,contr.rete +-- ,contr.cod_fiscale +-- ,pirmod.nomeProgetto +-- --,mig.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza +-- ,promig.chiaveProgetto +-- ,promig.area +-- ,promig.tipoProgetto +-- ,catprod.azob as StrType +-- ,catprod.Complessita +-- ,emit.Descrizione AS DescrizioneEmittente +-- ,MigPos.conto +-- ,MigPos.rubricato +-- ,MigPos.codConf +-- ,MigPos.numPolizza +-- ,MigPos.custGar +-- ,catprod.TipoProdotto +-- ,catprod.CodSottoprodotto +-- ,catprod.CodInterno +-- ,catprod.CodMaf +-- ,catprod.CodIsin +-- ,'' as position_id +-- ,migpos.termId +-- ,migpos.anno +-- ,migpos.prog +--FROM +-- C6Staging.RP_Migraz_Pianificazione AS mig +-- INNER JOIN C6Staging.RP_Migraz_Progetto AS promig +-- ON mig.chiaveconsulenza = promig.chiaveconsulenza +-- INNER JOIN C6Staging.RP_ProgettiPiramideModello pirmod +-- ON promig.chiaveprogettoMod=pirmod.chiaveprogettomod +-- INNER JOIN C6Staging.RP_Migraz_Posizioni AS migpos +-- ON promig.chiaveprogetto = migpos.chiaveprogetto +-- INNER JOIN C6Staging.RP_CatalogoProdotti AS catprod +-- ON migpos.chiaveProdotto = catprod.ChiaveProdotto +-- LEFT JOIN C6Staging.RP_AnEmittente emit +-- ON catprod.emittente=emit.emittente +-- INNER JOIN C6Mart.VCONTRATTI contr +-- ON mig.chiaveClientePB = contr.chiaveClientePB +-- INNER JOIN C6Mart.CONTRATTOSEI_METADATI c6meta +-- ON c6meta.chiaveClientePB = contr.chiaveClientePB +-- LEFT JOIN #TempPianif tp +-- ON mig.chiaveClientePB = tp.chiaveClientePB +-- WHERE +-- pirmod.dtfinevalidita='9999-12-31 00:00:00.000' +-- AND tp.chiaveClientePB IS NULL +-- AND INVIOBENVENUTO = 'N' +-- AND migpos.dtfinevalidita > getDate() + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) + -- AGGIORNAMENTO POSITION_ID SU CONSULENZA +--drop table #TempPianif + --select * from c6staging.rp_consulenza tempo d'esecuzione su 3622 righe 10min + EXEC c6staging.RP_CREA_POSITIONID_CONSULENZA + INSERT INTO C6MART.TEST_QUALITY + SELECT distinct RETE,COD_FISCALE,'POSITIONID DI CONSULENZA NON VALIDO' + FROM c6staging.rp_consulenza WHERE isnull(position_id ,'')='' +--***************************** + --PROBLEMA CON POSITION ID ASU2 LSEL + --select * from c6staging.rp_consulenza where position_id is null +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Elaborazione giornaliera' + ) + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODICEFISCALE AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB.TIPOPRODOTTO IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO + ELSE SPB.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB.CODICESTATO AS COD_STATO, + SPB.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB.CODICEMAF AS COD_MAF, + SPB.CODICEINTERNO AS COD_INTERNO, + SPB.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB.TIPOPRODOTTO AS TIPO_PRODOTTO, + --CASE + -- WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' 16/09/2016 + -- ELSE LTRIM(RTRIM(CON.nomeProgetto)) + --END AS NOME_PROGETTO, + -- Modifica del 1/2/2018 per gestire la mancata generazione dei report del giornaliero nel caso in cui il + -- nomeProgetto non è valorizzato (la classe DSS160ProdottiAreeBisogno.cs in caso di progetto investimento non + -- non valorizza il datatable 'dettaglioProgetti' quando il nome del progetto non è valorizzato). Es. cf 'TMBCST76M67M082T' + --CON.nomeProgetto AS NOME_PROGETTO, --- COMMENTATO IL CASE WHEN, PRENDO DIRETTAMENTE IL NOME + CASE + WHEN CON.area = 'inv' AND isnull(CON.nomeProgetto, '') = '' THEN 'Progetto Investimento' + ELSE CON.nomeProgetto + END AS NOME_PROGETTO, + -- Fine Modifica del 1/2/2018 + CON.area AS ID_AREA, + SPB.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + SPB.PREZZO AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPOPRODOTTO = 'GE' + OR SPB.TIPOPRODOTTO = 'GES') + AND SPB.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPOPRODOTTO = 'ASUL' AND SPB.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + SPB.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPOPRODOTTO = 'GE' + OR SPB.TIPOPRODOTTO = 'GES') + AND SPB.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPOPRODOTTO = 'ASUL' AND SPB.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDIMENTODASOTTOSCRIZIONE + END AS REND_SOTTOSCRIZIONE, + CASE + WHEN (SPB.TIPOPRODOTTO = 'GE' + OR SPB.TIPOPRODOTTO = 'GES') + AND SPB.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPOPRODOTTO = 'ASUL' AND SPB.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDIMENTODAINIZIOTRIMESTRE + END AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPOPRODOTTO = 'GE' + OR SPB.TIPOPRODOTTO = 'GES') + AND SPB.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPOPRODOTTO = 'ASUL' AND SPB.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDIMENTODAINIZIOANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, + CON.chiaveProgetto, + NULL as ClienteDB, + CON.NOB_PREZ as NOB_PREZ, + CASE + WHEN SPB.TIPOPRODOTTO IN ('DT') THEN 'DT' else '' end as Dossier + --,CON.lineaself + INTO #PATRIMONIO + FROM C6STAGING.SPB_CONTR_SINTESI SPB + INNER JOIN C6Staging.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODICEFISCALE + AND CON.Position_id = SPB.positionid + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPOPRODOTTO <> 'CC' +--***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' +--***FINE INTERVENTI OMNIA*** + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODICEFISCALE AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB.TIPOPRODOTTO = 'DT' /* OR SPB.TIPOPRODOTTO = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO + ELSE SPB.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB.CODICESTATO AS COD_STATO, + SPB.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB.CODICEMAF AS COD_MAF, + SPB.CODICEINTERNO AS COD_INTERNO, + SPB.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB.TIPOPRODOTTO AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, +--***INIZIO INTERVENTI OMNIA*** + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CASE WHEN SPB.CTV>=0 THEN 'Liq' + WHEN SPB.CTV<0 and SPB.TIPOPRODOTTO = 'CC' THEN 'Cc' + WHEN SPB.CTV<0 and SPB.Isin in('EURO00000009', 'EURO10000007') THEN 'Self' + ELSE null + END AS ID_AREA, +--***FINE INTERVENTI OMNIA*** + SPB.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + SPB.PREZZO AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + SPB.CVN AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + SPB.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDIMENTODASOTTOSCRIZIONE AS REND_SOTTOSCRIZIONE, + SPB.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDIMENTODAINIZIOANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB, + CON.chiaveProgetto, + NULL as ClienteDB, + CON.NOB_PREZ as NOB_PREZ, + CASE + WHEN SPB.TIPOPRODOTTO IN ('DT') THEN 'DT' else '' end as Dossier + --,CON.lineaself + FROM C6STAGING.SPB_CONTR_SINTESI SPB + INNER JOIN C6Staging.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODICEFISCALE + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGING.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGING.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPOPRODOTTO = 'CC' +--***INIZIO INTERVENTI OMNIA*** + OR SPB.Isin in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** + /* + truncate table c6mart.patrimonio_bf + select top 1 * from #patrimonio + */ +SELECT [RETE] + ,[COD_FISCALE] + ,[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ChiaveClientePb] + ,[chiaveProgetto] + ,[ClienteDB] + ,[NOB_PREZ] + ,[Dossier] + INTO #PATRIMONIO2 + FROM #PATRIMONIO + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODICEFISCALE AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB.TIPOPRODOTTO IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO + ELSE SPB.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB.CODICESTATO AS COD_STATO, + SPB.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB.CODICEMAF AS COD_MAF, + SPB.CODICEINTERNO AS COD_INTERNO, + SPB.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB.TIPOPRODOTTO AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + SPB.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + SPB.PREZZO AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPOPRODOTTO = 'GE' + OR SPB.TIPOPRODOTTO = 'GES') + AND SPB.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + ELSE convert(decimal(15,3),SPB.CVN) + END AS VERSATO_NETTO, + convert(decimal(15,3),SPB.PARTVIA) AS PARTVIA_DISINV, + SPB.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + convert(decimal(8,5),SPB.RENDIMENTODASOTTOSCRIZIONE) AS REND_SOTTOSCRIZIONE, + convert(decimal(8,5),SPB.RENDIMENTODAINIZIOTRIMESTRE) AS REND_TRIMESTRE, + convert(decimal(8,5),SPB.RENDIMENTODAINIZIOANNO) AS REND_ANNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + PATR.STRTYPE, + null as COMPLEX, + null as EMITTENTE, + SPB.ISIN, + VCON.CHIAVECLIENTEPB, + patr.chiaveProgetto, + NULL as ClienteDB, + PATR.NOB_PREZ as NOB_PREZ, + CASE + WHEN SPB.TIPOPRODOTTO IN ('DT') THEN 'DT' else '' end as Dossier + FROM C6STAGING.SPB_CONTR_SINTESI SPB + LEFT JOIN #PATRIMONIO PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODICEFISCALE = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + --LEFT JOIN C6STAGING.RP_vNewPositionProposta NEWPOSITION + -- ON SPB.POSITIONID = NEWPOSITION.positionIDProposta + JOIN C6MART.VCONTRATTI VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODICEFISCALE = VCON.COD_FISCALE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM #PATRIMONIO2 + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + INSERT INTO C6MART.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE + INSERT INTO C6MART.PATRIMONIO_BF + SELECT P.* FROM + #PATRIMONIO2 P LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL +--modifica 05/09/2023 per togliere i prodotti con Codice Interno GD ai Fideuram Direct/ Direct Banker +update b +set b.clienteDB='S' +from C6Mart.PATRIMONIO_BF b inner join C6Mart.VCONTRATTI v on b.chiaveClientePB=v.chiaveClientePB where v.TIP_CONTRATTO=3 +delete from C6Mart.PATRIMONIO_BF where COD_INTERNO='GD' and clienteDB='S' +update b +set b.nob_prez='S' +from C6Mart.PATRIMONIO_BF b inner join C6Staging.RP_NobPrez v on b.ID_CONTRATTO=v.CODCONF_ES and b.Dossier=v.DOSSIER +--fine modifica 05/09/2023 per togliere i prodotti con Codice Interno GD ai Fideuram Direct/ Direct Banker + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) +-- +DROP TABLE #TempPianif +-- +DROP table #patrimonio +DROP table #PATRIMONIO2 +drop table #PATRIMONIO_DUPLICATI +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_BF_20180201.sql b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_BF_20180201.sql new file mode 100644 index 00000000..87cdee0d --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_BF_20180201.sql @@ -0,0 +1,476 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014) +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_BF_20180201] + -- Add the parameters for the stored procedure here + --select * from c6mart.patrimonio_bf +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; +--delete TEMPORANEA per superare un problema del WS che restituisce una riga doppia +--delete from c6staging.spb_contr_sintesi +--where codicefiscale = 'MNTMRC82C08I608Y' +--and CODICEMAF = '1362945' +--and ISIN = 'IE00B42Z5J44' +--delete from c6staging.spb_contr_sintesi +--where codicefiscale = 'FZAMRA55C50H501E' +--and CODICEMAF = '1362945' +--and ISIN = 'IE00B42Z5J44' + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_1', + GETDATE(), + 'Elaborazione giornaliera' + ) + --TRUNCATE TABLE C6MART.PATRIMONIO_BF + DELETE FROM C6MART.PATRIMONIO_BF + TRUNCATE TABLE C6Staging.RP_Consulenza +--Ricerco dati da Pianificazione + SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + --,pian.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,PosPor.conto + ,PosPor.rubricato + ,PosPor.codConf + ,PosPor.numPolizza + ,PosPor.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,'' as position_id + ,termId + ,anno + ,prog +INTO #TempPianif +FROM + C6Staging.RP_Pianificazione AS pian + INNER JOIN C6Staging.RP_Progetto AS pro + ON pian.chiaveConsulenza = pro.chiaveConsulenza + INNER JOIN C6Staging.RP_ProgettiPiramideModello pirmod + ON pro.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6Staging.RP_PosizioniPortafoglio AS pospor + ON pro.chiaveProgetto = pospor.chiaveProgetto + INNER JOIN C6Staging.RP_DettaglioPosizionePortafoglio AS dettposport + ON pospor.chiavePosizionePtf = dettposport.chiavePosizionePtf + INNER JOIN C6Staging.RP_CatalogoProdotti AS catprod + ON pospor.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6Staging.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6Mart.VCONTRATTI contr + ON pian.chiaveClientePB = contr.chiaveClientePB + JOIN C6mart.contrattosei_metadati meta + ON contr.chiaveClientePB = meta.chiaveClientePB + WHERE + pospor.dtFineValidita > getdate() + AND pro.dtfinevalidita='9999-12-31 00:00:00.000' + AND pirmod.dtfinevalidita='9999-12-31 00:00:00.000' + AND INVIOBENVENUTO = 'N' +INSERT INTO C6Staging.RP_Consulenza + SELECT * + FROM #TempPianif +--UNION ALL +----ricerco dati da Migrazione +--SELECT +-- contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza +-- ,contr.rete +-- ,contr.cod_fiscale +-- ,pirmod.nomeProgetto +-- --,mig.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza +-- ,promig.chiaveProgetto +-- ,promig.area +-- ,promig.tipoProgetto +-- ,catprod.azob as StrType +-- ,catprod.Complessita +-- ,emit.Descrizione AS DescrizioneEmittente +-- ,MigPos.conto +-- ,MigPos.rubricato +-- ,MigPos.codConf +-- ,MigPos.numPolizza +-- ,MigPos.custGar +-- ,catprod.TipoProdotto +-- ,catprod.CodSottoprodotto +-- ,catprod.CodInterno +-- ,catprod.CodMaf +-- ,catprod.CodIsin +-- ,'' as position_id +-- ,migpos.termId +-- ,migpos.anno +-- ,migpos.prog +--FROM +-- C6Staging.RP_Migraz_Pianificazione AS mig +-- INNER JOIN C6Staging.RP_Migraz_Progetto AS promig +-- ON mig.chiaveconsulenza = promig.chiaveconsulenza +-- INNER JOIN C6Staging.RP_ProgettiPiramideModello pirmod +-- ON promig.chiaveprogettoMod=pirmod.chiaveprogettomod +-- INNER JOIN C6Staging.RP_Migraz_Posizioni AS migpos +-- ON promig.chiaveprogetto = migpos.chiaveprogetto +-- INNER JOIN C6Staging.RP_CatalogoProdotti AS catprod +-- ON migpos.chiaveProdotto = catprod.ChiaveProdotto +-- LEFT JOIN C6Staging.RP_AnEmittente emit +-- ON catprod.emittente=emit.emittente +-- INNER JOIN C6Mart.VCONTRATTI contr +-- ON mig.chiaveClientePB = contr.chiaveClientePB +-- INNER JOIN C6Mart.CONTRATTOSEI_METADATI c6meta +-- ON c6meta.chiaveClientePB = contr.chiaveClientePB +-- LEFT JOIN #TempPianif tp +-- ON mig.chiaveClientePB = tp.chiaveClientePB +-- WHERE +-- pirmod.dtfinevalidita='9999-12-31 00:00:00.000' +-- AND tp.chiaveClientePB IS NULL +-- AND INVIOBENVENUTO = 'N' +-- AND migpos.dtfinevalidita > getDate() + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_1' + ) + -- AGGIORNAMENTO POSITION_ID SU CONSULENZA +--drop table #TempPianif + --select * from c6staging.rp_consulenza tempo d'esecuzione su 3622 righe 10min + EXEC c6staging.RP_CREA_POSITIONID_CONSULENZA + INSERT INTO C6MART.TEST_QUALITY + SELECT distinct RETE,COD_FISCALE,'POSITIONID DI CONSULENZA NON VALIDO' + FROM c6staging.rp_consulenza WHERE isnull(position_id ,'')='' +--***************************** + --PROBLEMA CON POSITION ID ASU2 LSEL + --select * from c6staging.rp_consulenza where position_id is null +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_BF_2', + GETDATE(), + 'Elaborazione giornaliera' + ) + -- *** INCROCIO TRA SPB E CONSULENZA ************************ + SELECT -- PER DIVERSI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODICEFISCALE AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB.TIPOPRODOTTO IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO + ELSE SPB.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB.CODICESTATO AS COD_STATO, + SPB.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB.CODICEMAF AS COD_MAF, + SPB.CODICEINTERNO AS COD_INTERNO, + SPB.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB.TIPOPRODOTTO AS TIPO_PRODOTTO, + --CASE + -- WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' 16/09/2016 + -- ELSE LTRIM(RTRIM(CON.nomeProgetto)) + --END AS NOME_PROGETTO, + CON.nomeProgetto AS NOME_PROGETTO, --- COMMENTATO IL CASE WHEN, PRENDO DIRETTAMENTE IL NOME + CON.area AS ID_AREA, + SPB.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + SPB.PREZZO AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPOPRODOTTO = 'GE' + OR SPB.TIPOPRODOTTO = 'GES') + AND SPB.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPOPRODOTTO = 'ASUL' AND SPB.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.CVN + END AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + SPB.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + CASE + WHEN (SPB.TIPOPRODOTTO = 'GE' + OR SPB.TIPOPRODOTTO = 'GES') + AND SPB.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPOPRODOTTO = 'ASUL' AND SPB.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDIMENTODASOTTOSCRIZIONE + END AS REND_SOTTOSCRIZIONE, + CASE + WHEN (SPB.TIPOPRODOTTO = 'GE' + OR SPB.TIPOPRODOTTO = 'GES') + AND SPB.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPOPRODOTTO = 'ASUL' AND SPB.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDIMENTODAINIZIOTRIMESTRE + END AS REND_TRIMESTRE, + CASE + WHEN (SPB.TIPOPRODOTTO = 'GE' + OR SPB.TIPOPRODOTTO = 'GES') + AND SPB.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + WHEN SPB.TIPOPRODOTTO IN ( 'ASVI','ASU1') + THEN NULL + WHEN SPB.TIPOPRODOTTO = 'ASUL' AND SPB.CODICEINTERNO NOT IN ('18','19','35','PR','PX') + THEN NULL + ELSE SPB.RENDIMENTODAINIZIOANNO + END AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente AS EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB + --,CON.lineaself + INTO #PATRIMONIO + FROM C6STAGING.SPB_CONTR_SINTESI SPB + INNER JOIN C6Staging.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODICEFISCALE + AND CON.Position_id = SPB.positionid + WHERE SPB.POSITIONID IS NOT NULL + and CON.area <> 'CC' and SPB.TIPOPRODOTTO <> 'CC' +--***INIZIO INTERVENTI OMNIA*** + and SPB.Isin <> 'EURO00000009' + and SPB.Isin <> 'EURO10000007' + and CON.area <> 'SELF' +--***FINE INTERVENTI OMNIA*** + UNION ALL + SELECT -- *** PER UGUALI DA CC ************************ + SPB.RETE AS RETE, + SPB.CODICEFISCALE AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB.TIPOPRODOTTO = 'DT' /* OR SPB.TIPOPRODOTTO = 'FI' */ THEN SPB.DATAINIZIORENDIMENTO + ELSE SPB.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB.CODICESTATO AS COD_STATO, + SPB.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB.CODICEMAF AS COD_MAF, + SPB.CODICEINTERNO AS COD_INTERNO, + SPB.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB.TIPOPRODOTTO AS TIPO_PRODOTTO, + CON.NOMEPROGETTO AS NOME_PROGETTO, +--***INIZIO INTERVENTI OMNIA*** + --CASE WHEN SPB.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA, --PRCONSUL.NEEDAREAID AS ID_AREA,--POSITION.C_NEEDAREASE_3D485 AS ID_AREA, + CASE WHEN SPB.CTV>=0 THEN 'Liq' + WHEN SPB.CTV<0 and SPB.TIPOPRODOTTO = 'CC' THEN 'Cc' + WHEN SPB.CTV<0 and SPB.Isin in('EURO00000009', 'EURO10000007') THEN 'Self' + ELSE null + END AS ID_AREA, +--***FINE INTERVENTI OMNIA*** + SPB.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + SPB.QUOTE AS QUANTITA, + SPB.PREZZO AS PREZZO, + SPB.CTV AS CTV, + SPB.VALORE AS CTV_NOMINALE, + SPB.CVN AS VERSATO_NETTO, + SPB.PARTVIA AS PARTVIA_DISINV, + SPB.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + SPB.RENDIMENTODASOTTOSCRIZIONE AS REND_SOTTOSCRIZIONE, + SPB.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE, + SPB.RENDIMENTODAINIZIOANNO AS REND_ANNO, + CON.StrType, + CON.Complessita AS COMPLEX, + CON.DescrizioneEmittente as EMITTENTE, + SPB.ISIN, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + CON.chiaveClientePB + --,CON.lineaself + FROM C6STAGING.SPB_CONTR_SINTESI SPB + INNER JOIN C6Staging.RP_Consulenza CON + ON CON.rete = SPB.RETE + AND CON.cod_fiscale = SPB.CODICEFISCALE + AND CON.Position_id = SPB.positionid + INNER JOIN C6STAGING.RP_CATALOGOPRODOTTI KAT + ON SUBSTRING(SPB.POSITIONID,1,57)=KAT.CATALOGUEID + LEFT OUTER JOIN C6STAGING.RP_AnEmittente MIT + ON MIT.Emittente =KAT.EMITTENTE + WHERE SPB.TIPOPRODOTTO = 'CC' +--***INIZIO INTERVENTI OMNIA*** + OR SPB.Isin in('EURO00000009', 'EURO10000007') +--***FINE INTERVENTI OMNIA*** + /* + truncate table c6mart.patrimonio_bf + select top 1 * from #patrimonio + */ +SELECT [RETE] + ,[COD_FISCALE] + ,[POSITIONID] + ,[COD_PRODOTTO] + ,[ID_CONTRATTO] + ,[DATA_SOTTOSCRIZIONE] + ,[COD_STATO] + ,[NUM_POLIZZA] + ,[COD_MAF] + ,[COD_INTERNO] + ,[COD_SOTTOPRODOTTO] + ,[TIPO_PRODOTTO] + ,[NOME_PROGETTO] + ,[ID_AREA] + ,[DATA_OPERAZIONE] + ,[DATA_VALUTA] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[CTV_NOMINALE] + ,[VERSATO_NETTO] + ,[PARTVIA_DISINV] + ,[DATA_PARTVIA_DISINV] + ,[PARTVIA_INV] + ,[REND_SOTTOSCRIZIONE] + ,[REND_TRIMESTRE] + ,[REND_ANNO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[ISIN] + ,[ChiaveClientePb] + INTO #PATRIMONIO2 + FROM #PATRIMONIO + UNION ALL + SELECT + SPB.RETE AS RETE, + SPB.CODICEFISCALE AS COD_FISCALE, + SPB.POSITIONID AS POSITIONID, + SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, + SPB.CODICECONTRATTO AS ID_CONTRATTO, + CASE + WHEN SPB.TIPOPRODOTTO IN ('DT', 'FI') AND SPB.DATAINIZIORENDIMENTO IS NOT NULL THEN SPB.DATAINIZIORENDIMENTO + ELSE SPB.DATADISOTTOSCRIZIONE + END AS DATA_SOTTOSCRIZIONE, + SPB.CODICESTATO AS COD_STATO, + SPB.NUMEROPOLIZZA AS NUM_POLIZZA, + SPB.CODICEMAF AS COD_MAF, + SPB.CODICEINTERNO AS COD_INTERNO, + SPB.CODICESOTTOPRODOTTO AS COD_SOTTOPRODOTTO, + SPB.TIPOPRODOTTO AS TIPO_PRODOTTO, + --LTRIM(RTRIM(NEWPOSITION.NOMEPROGETTOPROP)) AS NOME_PROGETTO, + null AS NOME_PROGETTO, + --ISNULL(NEWPOSITION.AREAPROP,'Na') AS ID_AREA, + 'Na' AS ID_AREA, + SPB.DATADIRIFERIMENTO AS DATA_OPERAZIONE, + CONVERT(DATETIME, SPB.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY + NULL AS DATA_REGOLAMENTO, + convert(decimal(15,3),SPB.QUOTE) AS QUANTITA, + SPB.PREZZO AS PREZZO, + convert(decimal(15,3),SPB.CTV) AS CTV, + convert(decimal(15,3),SPB.VALORE) AS CTV_NOMINALE, + CASE + WHEN (SPB.TIPOPRODOTTO = 'GE' + OR SPB.TIPOPRODOTTO = 'GES') + AND SPB.DATADISOTTOSCRIZIONE < cast('2007-01-01' AS DATETIME) + THEN NULL + ELSE convert(decimal(15,3),SPB.CVN) + END AS VERSATO_NETTO, + convert(decimal(15,3),SPB.PARTVIA) AS PARTVIA_DISINV, + SPB.PARTVIAAL AS DATA_PARTVIA_DISINV, + NULL AS PARTVIA_INV, + convert(decimal(8,5),SPB.RENDIMENTODASOTTOSCRIZIONE) AS REND_SOTTOSCRIZIONE, + convert(decimal(8,5),SPB.RENDIMENTODAINIZIOTRIMESTRE) AS REND_TRIMESTRE, + convert(decimal(8,5),SPB.RENDIMENTODAINIZIOANNO) AS REND_ANNO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + STRTYPE, + null as COMPLEX, + null as EMITTENTE, + SPB.ISIN, + VCON.CHIAVECLIENTEPB + FROM C6STAGING.SPB_CONTR_SINTESI SPB + LEFT JOIN #PATRIMONIO PATR + ON SPB.RETE = PATR.RETE + AND SPB.CODICEFISCALE = PATR.COD_FISCALE + AND SPB.Positionid = PATR.positionid + --LEFT JOIN C6STAGING.RP_vNewPositionProposta NEWPOSITION + -- ON SPB.POSITIONID = NEWPOSITION.positionIDProposta + JOIN C6MART.VCONTRATTI VCON + ON SPB.RETE = VCON.RETE + AND SPB.CODICEFISCALE = VCON.COD_FISCALE + --AND VCON.chiaveClientePB = NEWPOSITION.chiaveClientePB + WHERE SPB.POSITIONID IS NOT NULL + AND PATR.POSITIONID IS NULL + SELECT RETE, COD_FISCALE, POSITIONID, GETDATE() as dtstamp + INTO #PATRIMONIO_DUPLICATI + FROM #PATRIMONIO2 + GROUP BY RETE, COD_FISCALE, POSITIONID + HAVING COUNT(*) > 1 + INSERT INTO C6MART.TEST_QUALITY + SELECT RETE, COD_FISCALE, 'POSIZIONI DUPLICATE - PATRIMONIO_BF' + FROM #PATRIMONIO_DUPLICATI + GROUP BY RETE, COD_FISCALE + INSERT INTO C6MART.PATRIMONIO_BF + SELECT P.* FROM + #PATRIMONIO2 P LEFT JOIN #PATRIMONIO_DUPLICATI T + ON P.RETE = T.RETE + AND P.COD_FISCALE = T.COD_FISCALE + --AND P.POSITIONID = T.POSITIONID + WHERE T.RETE IS NULL + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_BF_2' + ) +-- +DROP TABLE #TempPianif +-- +DROP table #patrimonio +DROP table #PATRIMONIO2 +drop table #PATRIMONIO_DUPLICATI +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE.sql b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE.sql new file mode 100644 index 00000000..01cfc2ed --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE.sql @@ -0,0 +1,96 @@ +--select * from c6mart.patrimonio_immobiliare +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_IMMOBILIARE] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_IMMOBILIARE + INSERT INTO [C6Mart].[PATRIMONIO_IMMOBILIARE] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + -- DISTINCT Atringali 12012010 + C.RETE, --ALL_PATR_TERZI.RETE_PB AS RETE, + C.COD_FISCALE, --ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + B.DESCRIZIONE, --ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, --b.descrizione + B.TIPOLOGIA, + /* + CASE ALL_PATR_TERZI.TIPOLOGIA_RDESCR --tipologia? cos'è il codice Tipologia + WHEN 'Civil' THEN 'Civile' + WHEN 'Economic' THEN 'Economica' + WHEN 'Posh' THEN 'Signorile' + ELSE '' + END AS TIPOLOGIA, + Verificare il tipo tipologia sul nuovo per mettere la giusta case + verificato con alessia la descrizione tipologia può finire sul report + */ + B.COMUNE AS COMUNE, --ALL_PATR_TERZI.LOCALITA AS LOCALITA, --comune è null verificare se è corretto + B.codProvincia AS PROVINCIA, --NULL AS PROVINCIA, --provincia + NULL AS CAP, + NULL AS NAZIONE, + B.VALOREIMMOBILETOTALE, --ALL_PATR_TERZI.PATRIMONIO_IMMOBILIARE AS VALORE_STIMATO,--valore immobile + B.RENDITAANNUA, --ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, --renditaAnnua + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6STAGING.RP_PATRIMONIOTERZI A + JOIN C6STAGING.RP_DETTIMMOBILIARE B + ON A.CHIAVEPRODOTTOTERZI = B.CHIAVEPRODOTTOTERZI + JOIN C6MART.VCONTRATTI C + ON A.CHIAVECLIENTEPB = C.CHIAVECLIENTEPB + WHERE A.IDTIPOPRODOTTO = 'IM' + /* + FROM C6STAGING.ALL_PATR_TERZI + WHERE ALL_PATR_TERZI.CHIAVE_PR_31921 IS NOT NULL + --V Dal passaggio in prod del 21/10/2010 su oracle questo campo è sempre null AND ALL_PATR_TERZI.CHIAVE_RDESC IS NOT NULL + AND ALL_PATR_TERZI.DESCRIZIONE_RDESCR IS NOT NULL + */ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_20190107_ProQuota.sql b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_20190107_ProQuota.sql new file mode 100644 index 00000000..a5cff69e --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_20190107_ProQuota.sql @@ -0,0 +1,100 @@ +--select * from c6mart.patrimonio_immobiliare +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_IMMOBILIARE_20190107_ProQuota] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_IMMOBILIARE_20190107_ProQuota + INSERT INTO [C6Mart].[PATRIMONIO_IMMOBILIARE_20190107_ProQuota] + ([RETE] + ,[COD_FISCALE] + ,[DESCRIZIONE] + ,[TIPOLOGIA] + ,[LOCALITA] + ,[PROVINCIA] + ,[CAP] + ,[NAZIONE] + ,[VALORE_STIMATO] + ,[AFFITTO] + ,[NOTE] + ,[DIV_RIFERIMENTO] + ,[CAMBIO] + ,[ID_ELAB] + ,[TIPO_ELAB] + ,[VALORE_STIMATO_PROQUOTA] + ,[PROQUOTA]) + SELECT + -- DISTINCT Atringali 12012010 + C.RETE, --ALL_PATR_TERZI.RETE_PB AS RETE, + C.COD_FISCALE, --ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, + B.DESCRIZIONE, --ALL_PATR_TERZI.DESCRIZIONE_RDESCR AS DESCRIZIONE, --b.descrizione + B.TIPOLOGIA, + /* + CASE ALL_PATR_TERZI.TIPOLOGIA_RDESCR --tipologia? cos'è il codice Tipologia + WHEN 'Civil' THEN 'Civile' + WHEN 'Economic' THEN 'Economica' + WHEN 'Posh' THEN 'Signorile' + ELSE '' + END AS TIPOLOGIA, + Verificare il tipo tipologia sul nuovo per mettere la giusta case + verificato con alessia la descrizione tipologia può finire sul report + */ + B.COMUNE AS COMUNE, --ALL_PATR_TERZI.LOCALITA AS LOCALITA, --comune è null verificare se è corretto + B.codProvincia AS PROVINCIA, --NULL AS PROVINCIA, --provincia + NULL AS CAP, + NULL AS NAZIONE, + B.VALOREIMMOBILETOTALE, --ALL_PATR_TERZI.PATRIMONIO_IMMOBILIARE AS VALORE_STIMATO,--valore immobile + B.RENDITAANNUA, --ALL_PATR_TERZI.AFFITTOPERCEPITO AS AFFITTO, --renditaAnnua + NULL AS NOTE, + NULL AS DIV_RIFERIMENTO, + NULL AS CAMBIO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB, + B.valoreImmobileProQuota, + B.ProQuota + FROM C6STAGING.RP_PATRIMONIOTERZI A + JOIN C6STAGING.RP_DETTIMMOBILIARE_20190107_ProQuota B + ON A.CHIAVEPRODOTTOTERZI = B.CHIAVEPRODOTTOTERZI + JOIN C6MART.VCONTRATTI C + ON A.CHIAVECLIENTEPB = C.CHIAVECLIENTEPB + WHERE A.IDTIPOPRODOTTO = 'IM' + /* + FROM C6STAGING.ALL_PATR_TERZI + WHERE ALL_PATR_TERZI.CHIAVE_PR_31921 IS NOT NULL + --V Dal passaggio in prod del 21/10/2010 su oracle questo campo è sempre null AND ALL_PATR_TERZI.CHIAVE_RDESC IS NOT NULL + AND ALL_PATR_TERZI.DESCRIZIONE_RDESCR IS NOT NULL + */ + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql new file mode 100644 index 00000000..0ebc9268 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota.sql @@ -0,0 +1,106 @@ +--select * from c6mart.PATRIMONIO_IMMOBILIARE_ProQuota +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_IMMOBILIARE_ProQuota] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_IMMOBILIARE_PROQUOTA', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_IMMOBILIARE_ProQuota + INSERT INTO [C6Mart].[PATRIMONIO_IMMOBILIARE_ProQuota]( + [RETE], + [COD_FISCALE], + Descrizione, + Tipologia, + Localita, + AffittoPercepito, + [VALORE_STIMATO], + Totale, + TotaleAffitto, + [TIPOLOGIA_DIRITTO], + [PROQUOTA], + [VALORE_STIMATO_PROQUOTA], + TotaleProQuota + ) + select + vp.Rete, + vp.Cod_Fiscale, + vp.Descrizione , + vp.Tipologia, + vp.Localita, + vp.AffittoPercepito, + vp.Valore, + vp.Totale, + vp.TotaleAffitto, + vp.TipologiaDiritto, + vp.ProQuota, + vp.Valore_ProQuota, + vp.TotaleProQuota + from + [C6Mart].[RP_vContrattiPerGenerazioneReport] vc + inner join C6Mart.vPatrimonioImmobiliare vp + on vc.rete = vp.rete + and vc.cod_fiscale = vp.cod_fiscale + --select vContratti.Rete, + -- vContratti.Cod_Fiscale, + -- dett.valoreImmobileTotale as Valore_Stimato, + -- coin.moltiplicatoreDiritto * dett.valoreImmobileTotale as Valore_Stimato_ProQuota, + -- coin.moltiplicatoreDiritto * 100 as ProQuota, + -- dett.TipologiaDiritto + --from + -- C6Mart.vContrattiPerGenerazioneReport vContratti + -- --(select top 100 rete, cod_fiscale from c6mart.vContratti where Cod_Fiscale = 'BRNVLM35H61L407Q') vContratti + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.vInfoCliente vInfo + -- on vContratti.Cod_Fiscale = vInfo.CodFis + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.Cointestatari coin + -- on vInfo.chiaveClientePB = coin.chiaveClientePB + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.DettImmobiliare dett + -- on dett.chiaveProdottoTerzi = coin.chiaveProdottoTerzi + --union + --select vContratti.Rete, + -- vContratti.Cod_Fiscale, + -- dett.valoreImmobileTotale as Valore_Stimato, + -- dett.valoreImmobileTotale as Valore_Stimato_ProQuota, + -- 100 as ProQuota, + -- isnull(dett.TipologiaDiritto, 'Proprietà') as TipologiaDiritto + --from + -- C6Mart.vContrattiPerGenerazioneReport vContratti + -- --(select top 100 rete, cod_fiscale from c6mart.vContratti where Cod_Fiscale = 'BRNVLM35H61L407Q') vContratti + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.vInfoCliente vInfo + -- on vContratti.Cod_Fiscale = vInfo.CodFis + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.PatrimonioTerzi coin + -- on vInfo.chiaveClientePB = coin.chiaveClientePB + -- inner join [CONSUNI].[ConsulenzaUnica].dbo.DettImmobiliare dett + -- on dett.chiaveProdottoTerzi = coin.chiaveProdottoTerzi + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE_PROQUOTA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_IMMOBILIARE_PROQUOTA' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_TERZI.sql b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_TERZI.sql new file mode 100644 index 00000000..0e21610c --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_TERZI.sql @@ -0,0 +1,159 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_TERZI] +AS +BEGIN + SET NOCOUNT ON; + SET ARITHABORT OFF + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_TERZI + INSERT INTO [C6Mart].[PATRIMONIO_TERZI] + ( +--chiaveClientePB, + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + RP_PatrimonioTerzi.chiaveProdottoTerzi AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6Staging.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6Staging.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + --------------------- intervento del 19/2/2018 per gestire ctv e capitale_investito più grandi del consentito + --RP_PatrimonioTerzi.ctv AS CTV, + --RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + case + when RP_PatrimonioTerzi.ctv > 999999999999.00 then 999999999999.00 + else RP_PatrimonioTerzi.ctv + end AS CTV, + case + when RP_DettProdottiTerzi.capitaleInvestito > 999999999999.00 then 999999999999.00 + else RP_DettProdottiTerzi.capitaleInvestito + end AS VERSATO_NETTO, + --------------------- fine intervento del 19/2/2018 + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + WHEN RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.Other' + THEN 'Portafoglio Generico' + WHEN RP_PatrimonioTerzi.tipoProd IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') + THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + RP_CatalogoProdotti.AzOb AS STRTYPE, --manca (farselo dire da Alessia) (obbligazionario o azionario) + RP_CatalogoProdotti.Complessita AS COMPLEX, + RP_AnEmittente.Descrizione AS EMITTENTE, + RP_PatrimonioTerzi.chiaveProdottoTerzi AS chiave_thr, --da rivedere + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6Mart.VCONTRATTI + INNER JOIN + C6Staging.RP_PatrimonioTerzi + ON VCONTRATTI.chiaveClientePB = RP_PatrimonioTerzi.chiaveClientePB + INNER JOIN + C6Staging.RP_DettProdottiTerzi + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi + INNER JOIN + C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3 ON C6Staging.RP_DettProdottiTerzi.alberatura = C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + LEFT JOIN + C6Staging.RP_CatalogoProdotti ON C6Staging.RP_DettProdottiTerzi.chiaveProdotto = C6Staging.RP_CatalogoProdotti.ChiaveProdotto + LEFT JOIN + C6Staging.RP_AnEmittente ON C6Staging.RP_CatalogoProdotti.Emittente = C6Staging.RP_AnEmittente.Emittente + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_TERZI_20180219.sql b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_TERZI_20180219.sql new file mode 100644 index 00000000..0be85dd5 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_TERZI_20180219.sql @@ -0,0 +1,249 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_TERZI_20180219] +AS +BEGIN + SET NOCOUNT ON; + SET ARITHABORT OFF + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PATRIMONIO_TERZI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6MART.PATRIMONIO_TERZI + INSERT INTO [C6Mart].[PATRIMONIO_TERZI] + ( +--chiaveClientePB, + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) +--select +--ALL_PATR_TERZI.RETE_PB AS RETE, -- +-- ALL_PATR_TERZI.CODICE_FISCALE AS COD_FISCALE, -- +-- NULL AS NUM_POLIZZA, +-- ALL_PATR_TERZI.TIPO_POLIZZA_BT_97BEE AS TIPO_POLIZZA, +-- --COALESCE(PRODOTTI_A_CATALOGO.TIPO_PRODOTTO, PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO) AS TIPO_PRODOTTO, +-- CASE +-- WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' AND S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 = 'Conti correnti' +-- THEN 'Altro' +-- ELSE +-- COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) +-- END AS TIPO_PRODOTTO, +-- PRODOTTI_NON_A_CATALOGO.TIPO_PRODOTTO2 AS TIPO_PRODOTTO2, +-- ISNULL(ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO,'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, -- +-- ISNULL(ALL_PATR_TERZI.CHIAVE_THR,'PRODOTTO IN CATALOGO') AS COD_PRODOTTO_TERZI, -- +-- ALL_PATR_TERZI.NOME_ISTITUTO AS INTERMEDIARIO, -- +-- --ALL_PATR_TERZI.DATA_INIZIO_INV AS DATA_SOTTOSCRIZIONE, -- +-- --ISNULL(ALL_PATR_TERZI.DATA_INIZIO_INV, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ) AS DATA_SOTTOSCRIZIONE, +-- --ALL_PATR_TERZI.BALANCEDATETIME_DI_THR AS DATA_SOTTOSCRIZIONE, +-- CASE +-- WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.PolizzeRivalutabili') -- PRODOTTI S49 +-- THEN ISNULL(ALL_PATR_TERZI.DATA_SOTTOSCRIZIONE, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ) +-- WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.ProdottiPrevidenziali') -- PRODOTTI S50 +-- THEN ALL_PATR_TERZI.BALANCEDATETIME_DI_THR -- EQUIVALENTE A ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ +-- ELSE -- PRODOTTI S48 +-- ALL_PATR_TERZI.DATA_INIZIO_INV +-- END AS DATA_SOTTOSCRIZIONE, +-- ALL_PATR_TERZI.DATA_SCADENZA AS DATA_SCADENZA, +-- ALL_PATR_TERZI.TIPO_VERSAMENTO_BT_6797 AS FREQ_RATA, -- +-- NULL AS DURATA_POLIZZA, +-- ALL_PATR_TERZI.PREMIO_VERSAMENTO AS PREMIO, +-- NULL AS ALIQUOTA, +-- ALL_PATR_TERZI.BALANCEDATETIME_DI_THR AS DATA_SOTT_FP, +-- NULL AS DATA_REGOLAMENTO, +-- NULL AS QUANTITA, +-- NULL AS PREZZO, +-- ALL_PATR_TERZI.PATRIMONIO_TERZI AS CTV, -- +-- ALL_PATR_TERZI.CAPITALE_INVESTITO AS VERSATO_NETTO, -- +-- NULL AS DIV_REGOLAMENTO, +-- NULL AS CAMBIO, +-- CASE +-- WHEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' +-- THEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 +-- WHEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' +-- THEN S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 +-- WHEN (S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' +-- AND ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) +-- THEN 'Prodotti di Tipo amministrato (escluso C/C)' +-- WHEN (S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') +-- or (S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' +-- and S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' +-- and S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) +-- THEN 'Assicurativi Unit/Index Linked' +-- WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' +-- THEN 'Portafoglio Generico' +-- WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') +-- THEN NULL +-- ELSE NULL +-- END AS DESCR_GRUPPO_PRODOTTO, -- +-- STRTYPE, -- +-- COMPLEX, -- +-- EMITTENTE, -- +-- ALL_PATR_TERZI.CHIAVE_THR, +-- @ID_ELAB AS ID_ELAB, +-- @TIPO_ELAB AS TIPO_ELAB +-- FROM C6STAGING.ALL_PATR_TERZI +-- INNER JOIN C6STAGING.S4_S5_S13_TRAD_UNTIL_LIV3 +-- ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA +-- LEFT JOIN ( +-- SELECT DISTINCT +-- ALL_PATR_TERZI.CHIAVE_THR AS CHIAVE_THR, -- +-- COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, -- +-- S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 AS TIPO_PRODOTTO2 +-- FROM C6STAGING.ALL_PATR_TERZI +-- INNER JOIN C6STAGING.S4_S5_S13_TRAD_UNTIL_LIV3 +-- ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA +-- ) AS PRODOTTI_NON_A_CATALOGO +-- ON PRODOTTI_NON_A_CATALOGO.CHIAVE_THR = ALL_PATR_TERZI.CHIAVE_THR +-- LEFT JOIN ( +-- SELECT +-- CATITEMREF.CATALOGUEID AS CATALOGUEID, +-- CATITEMREF.TIPOPRODOTTO AS TIPO_PRODOTTO, +-- CATITEMREF.STRTYPE, +-- CATITEMREF.COMPLEX, +-- MIT.DESCR AS EMITTENTE +-- FROM +-- C6STAGING.CATITEMREF LEFT OUTER JOIN +-- C6STAGING.EMIT MIT +-- ON MIT.CODEMI=CATITEMREF.CODEMI +-- ) PRODOTTI_A_CATALOGO +-- ON PRODOTTI_A_CATALOGO.CATALOGUEID = ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO + SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere +-- CASE +-- WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' AND S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 = 'Conti correnti' +-- THEN 'Altro' +-- ELSE +-- COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) +-- END AS TIPO_PRODOTTO, + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + RP_PatrimonioTerzi.chiaveProdottoTerzi AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6Staging.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6Staging.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + RP_PatrimonioTerzi.ctv AS CTV, + RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + WHEN RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.Other' + THEN 'Portafoglio Generico' + WHEN RP_PatrimonioTerzi.tipoProd IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') + THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + --'' AS DESCR_GRUPPO_PRODOTTO, --se mi dici adesso come si chiama questo campo (ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO) è fatta + RP_CatalogoProdotti.AzOb AS STRTYPE, --manca (farselo dire da Alessia) (obbligazionario o azionario) + RP_CatalogoProdotti.Complessita AS COMPLEX, + RP_AnEmittente.Descrizione AS EMITTENTE, + RP_PatrimonioTerzi.chiaveProdottoTerzi AS chiave_thr, --da rivedere + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO C6MART.PATRIMONIO_TERZI + FROM + C6Mart.VCONTRATTI + INNER JOIN + C6Staging.RP_PatrimonioTerzi + ON VCONTRATTI.chiaveClientePB = RP_PatrimonioTerzi.chiaveClientePB + INNER JOIN + C6Staging.RP_DettProdottiTerzi + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi + INNER JOIN + C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3 ON C6Staging.RP_DettProdottiTerzi.alberatura = C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + LEFT JOIN + C6Staging.RP_CatalogoProdotti ON C6Staging.RP_DettProdottiTerzi.chiaveProdotto = C6Staging.RP_CatalogoProdotti.ChiaveProdotto + LEFT JOIN + C6Staging.RP_AnEmittente ON C6Staging.RP_CatalogoProdotti.Emittente = C6Staging.RP_AnEmittente.Emittente + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PATRIMONIO_TERZI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_TERZI_Param.sql b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_TERZI_Param.sql new file mode 100644 index 00000000..2b7230f1 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_TERZI_Param.sql @@ -0,0 +1,147 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_TERZI_Param]( + @Rete varchar(1), + @CodiceFiscale varchar(20) +) +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + --INSERT INTO LOG_ESECUZIONE + -- (Nome, Inizio, Nota) + --VALUES ( + -- 'RP_DM_PATRIMONIO_TERZI', + -- GETDATE(), + -- 'Elaborazione giornaliera' + --) + --TRUNCATE TABLE C6MART.PATRIMONIO_TERZI + INSERT INTO [C6Mart].[PATRIMONIO_TERZI] + ( +--chiaveClientePB, + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + (CASE RP_DettProdottiTerzi.tipoPolizza + WHEN 'CapitaleDifferito' THEN 'Capitale differito' + WHEN 'MistaImmediata' THEN 'Mista immediata' + WHEN 'VitaIntera' THEN 'Vita intera' + WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + ELSE RP_DettProdottiTerzi.tipoPolizza + END) AS TIPO_POLIZZA, + COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere +-- CASE +-- WHEN ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO = 'Assets.FinancialAssets.Other' AND S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 = 'Conti correnti' +-- THEN 'Altro' +-- ELSE +-- COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) +-- END AS TIPO_PRODOTTO, + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + RP_PatrimonioTerzi.chiaveProdottoTerzi AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + case when C6Staging.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + when C6Staging.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + then RP_PatrimonioTerzi.DATACTV + else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + end AS DATA_SOTTOSCRIZIONE, + RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + RP_PatrimonioTerzi.ctv AS CTV, + RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + WHEN RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.Other' + THEN 'Portafoglio Generico' + WHEN RP_PatrimonioTerzi.tipoProd IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') + THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + --'' AS DESCR_GRUPPO_PRODOTTO, --se mi dici adesso come si chiama questo campo (ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO) è fatta + RP_CatalogoProdotti.AzOb AS STRTYPE, --manca (farselo dire da Alessia) (obbligazionario o azionario) + RP_CatalogoProdotti.Complessita AS COMPLEX, + RP_AnEmittente.Descrizione AS EMITTENTE, + RP_PatrimonioTerzi.chiaveProdottoTerzi AS chiave_thr, --da rivedere + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + --INTO C6MART.PATRIMONIO_TERZI + FROM + C6Mart.VCONTRATTI + INNER JOIN + C6Staging.RP_PatrimonioTerzi + ON VCONTRATTI.chiaveClientePB = RP_PatrimonioTerzi.chiaveClientePB + INNER JOIN + C6Staging.RP_DettProdottiTerzi + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi + INNER JOIN + C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3 ON C6Staging.RP_DettProdottiTerzi.alberatura = C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + LEFT JOIN + C6Staging.RP_CatalogoProdotti ON C6Staging.RP_DettProdottiTerzi.chiaveProdotto = C6Staging.RP_CatalogoProdotti.ChiaveProdotto + LEFT JOIN + C6Staging.RP_AnEmittente ON C6Staging.RP_CatalogoProdotti.Emittente = C6Staging.RP_AnEmittente.Emittente + where + VCONTRATTI.rete = @Rete + and + VCONTRATTI.COD_FISCALE = @CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_TERZI_luca.sql b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_TERZI_luca.sql new file mode 100644 index 00000000..663182b1 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_PATRIMONIO_TERZI_luca.sql @@ -0,0 +1,136 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PATRIMONIO_TERZI_luca] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + TRUNCATE TABLE C6MART.PATRIMONIO_TERZI + INSERT INTO [C6Mart].[PATRIMONIO_TERZI] + ( +--chiaveClientePB, + [RETE] + ,[COD_FISCALE] + ,[NUM_POLIZZA] + ,[TIPO_POLIZZA] + ,[TIPO_PRODOTTO] + ,[TIPO_PRODOTTO2] + ,[COD_PRODOTTO] + ,[COD_PRODOTTO_TERZI] + ,[INTERMEDIARIO] + ,[DATA_SOTTOSCRIZIONE] + ,[DATA_SCADENZA] + ,[FREQ_RATA] + ,[DURATA_POLIZZA] + ,[PREMIO] + ,[ALIQUOTA] + ,[DATA_SOTT_FP] + ,[DATA_REGOLAMENTO] + ,[QUANTITA] + ,[PREZZO] + ,[CTV] + ,[VERSATO_NETTO] + ,[DIV_REGOLAMENTO] + ,[CAMBIO] + ,[DESCR_GRUPPO_PRODOTTO] + ,[STRTYPE] + ,[COMPLEX] + ,[EMITTENTE] + ,[CHIAVE_THR] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT + VCONTRATTI.rete AS RETE, + VCONTRATTI.COD_FISCALE AS COD_FISCALE, + NULL AS NUM_POLIZZA, + --(CASE RP_DettProdottiTerzi.tipoPolizza + -- WHEN 'CapitaleDifferito' THEN 'Capitale differito' + -- WHEN 'MistaImmediata' THEN 'Mista immediata' + -- WHEN 'VitaIntera' THEN 'Vita intera' + -- WHEN 'RenditaVitalizia' THEN 'Rendita vitalizia' + -- WHEN 'Capitalizzazione' THEN 'Capitalizzazione' + -- ELSE RP_DettProdottiTerzi.tipoPolizza + -- END) AS TIPO_POLIZZA, + null AS TIPO_POLIZZA, + --COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3,COALESCE(RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2,RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1)) AS TIPO_PRODOTTO, --da rivedere + null AS TIPO_PRODOTTO, + NULL AS TIPO_PRODOTTO2, + isnull(RP_CatalogoProdotti.catalogueID, 'PRODOTTO NON IN CATALOGO') AS COD_PRODOTTO, + RP_PatrimonioTerzi.chiaveProdottoTerzi AS COD_PRODOTTO_TERZI, --da rivedere prima era una stringona presa dal campo OID$ + --RP_DettProdottiTerzi.nomeIntermediario AS INTERMEDIARIO, + null AS INTERMEDIARIO, + --case when C6Staging.RP_PatrimonioTerzi.tipoProd ='Assets.FinancialAssets.PolizzeRivalutabili' + -- then isnull(RP_DettProdottiTerzi.DTSOTTOSCRIZIONE, RP_PatrimonioTerzi.DATACTV) + -- when C6Staging.RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.ProdottiPrevidenziali' + -- then RP_PatrimonioTerzi.DATACTV + -- else isnull(RP_DettProdottiTerzi.dtInizioInvest,RP_PatrimonioTerzi.DATACTV) + --end AS DATA_SOTTOSCRIZIONE, + null AS DATA_SOTTOSCRIZIONE, + --RP_PatrimonioTerzi.dtFine AS DATA_SCADENZA, + null AS DATA_SCADENZA, + --RP_DettProdottiTerzi.tipoVersamento AS FREQ_RATA, + null AS FREQ_RATA, + NULL AS DURATA_POLIZZA, + NULL AS PREMIO, + NULL AS ALIQUOTA, + NULL AS DATA_SOTT_FP, + NULL AS DATA_REGOLAMENTO, + NULL AS QUANTITA, + NULL AS PREZZO, + case + when RP_PatrimonioTerzi.ctv > 999999999999.00 then 999999999999.00 + else RP_PatrimonioTerzi.ctv + end AS CTV, + case + when RP_DettProdottiTerzi.capitaleInvestito > 999999999999.00 then 999999999999.00 + else RP_DettProdottiTerzi.capitaleInvestito + end AS VERSATO_NETTO, + --RP_DettProdottiTerzi.capitaleInvestito AS VERSATO_NETTO, --mod + NULL AS DIV_REGOLAMENTO, + NULL AS CAMBIO, + CASE + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Fondi' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 = 'Gestioni patrimoniali' + THEN RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2 + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1 = 'Amministrato' + AND RP_PatrimonioTerzi.tipoProd NOT IN( 'Assets.FinancialAssets.CurrentAccount', 'Assets.FinancialAssets.Other')) + THEN 'Prodotti di Tipo amministrato (escluso C/C)' + WHEN (RP_S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3 IN ('Index linked', 'Unit linked') + or (RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_1='Gestito Assicurativo previdenziale' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_2='Assicurativi Vita' + and RP_S4_S5_S13_TRAD_UNTIL_LIV3.albero_gerarchia_3 is null)) + THEN 'Assicurativi Unit/Index Linked' + WHEN RP_PatrimonioTerzi.tipoProd = 'Assets.FinancialAssets.Other' + THEN 'Portafoglio Generico' + WHEN RP_PatrimonioTerzi.tipoProd IN ('Assets.FinancialAssets.ProdottiPrevidenziali', 'Assets.FinancialAssets.PolizzeRivalutabili') + THEN NULL + ELSE NULL + END AS DESCR_GRUPPO_PRODOTTO, + RP_CatalogoProdotti.AzOb AS STRTYPE, --manca (farselo dire da Alessia) (obbligazionario o azionario) + RP_CatalogoProdotti.Complessita AS COMPLEX, + RP_AnEmittente.Descrizione AS EMITTENTE, + RP_PatrimonioTerzi.chiaveProdottoTerzi AS chiave_thr, --da rivedere + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM + C6Mart.VCONTRATTI + INNER JOIN + C6Staging.RP_PatrimonioTerzi + ON VCONTRATTI.chiaveClientePB = RP_PatrimonioTerzi.chiaveClientePB + INNER JOIN + C6Staging.RP_DettProdottiTerzi + ON RP_PatrimonioTerzi.chiaveProdottoTerzi = RP_DettProdottiTerzi.chiaveProdottoTerzi + INNER JOIN + C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3 ON C6Staging.RP_DettProdottiTerzi.alberatura = C6Staging.RP_S4_S5_S13_TRAD_UNTIL_LIV3.alberatura + LEFT JOIN + C6Staging.RP_CatalogoProdotti ON C6Staging.RP_DettProdottiTerzi.chiaveProdotto = C6Staging.RP_CatalogoProdotti.ChiaveProdotto + LEFT JOIN + C6Staging.RP_AnEmittente ON C6Staging.RP_CatalogoProdotti.Emittente = C6Staging.RP_AnEmittente.Emittente +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_PIRAMIDE_MOD.sql b/sql/storedTestbes/C6Mart_RP_DM_PIRAMIDE_MOD.sql new file mode 100644 index 00000000..043685fe --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_PIRAMIDE_MOD.sql @@ -0,0 +1,95 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_PIRAMIDE_MOD] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MART.GETIDELAB() + SET @TIPO_ELAB = C6MART.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_PIRAMIDE_MOD', + GETDATE(), + 'Elaborazione giornaliera' + ) + --TRUNCATE TABLE C6MART.PIRAMIDE_MOD + DELETE FROM C6MART.PIRAMIDE_MOD + INSERT INTO [C6Mart].[PIRAMIDE_MOD] + ( +--chiaveClientePB +-- , + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,[NOME_PROGETTO] + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ID_ELAB] + ,[TIPO_ELAB]) + SELECT +-- VCONTRATTI.chiaveClientePB, + VCONTRATTI.rete AS RETE, + ISNULL(VCONTRATTI.COD_FISCALE, '') AS COD_FISCALE, + rp_pirmod.area AS ID_AREA, + --case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then rp_pirmod.nomeProgetto + -- ELSE NULL END + -- AS NOME_PROGETTO, + rp_pirmod.nomeProgetto AS NOME_PROGETTO, --- NUOVO + --en-20160916 + --case when isnull(rp_pirmod.area, '') = 'inv' and isnull(rp_pirmod.tipoprogetto, 0) = 1 then 'ProgettoInvestimento' + -- else 'Default' + -- end AS TIPO_PROGETTO, + null AS TIPO_PROGETTO, + rp_pirmod.percentualeProgetto AS PERC_AREA, + NULL AS CTV_PROGETTO, + NULL AS CTV_AREA, + rp_pirmod.durata AS ORIZZ_TEMP, + NULL AS CTV_TOTALE, + NULL AS STATO_CONSULENZA, + NULL AS DATA_STATO_CONS, --ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO + NULL AS DATA_MIGR_CONS, + NULL AS ID_CONTRATTO, + @ID_ELAB AS ID_ELAB, + @TIPO_ELAB AS TIPO_ELAB + FROM C6Staging.RP_ProgettiPiramideModello AS rp_pirmod + INNER JOIN + C6Mart.VCONTRATTI + ON + rp_pirmod.chiaveClientePB = C6Mart.VCONTRATTI.chiaveClientePB + WHERE + DtFineValidita > getdate() + --en-201616 and ((area = 'Inv') OR (area <> 'Inv' and tipoProgetto = 0)) + and area not in ('VOID','LIGHT') --- AGGIUNTO 19/09 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_PIRAMIDE_MOD' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI.sql b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI.sql new file mode 100644 index 00000000..15d8ed83 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI.sql @@ -0,0 +1,296 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +-- Modifica del 27/11/2018 per la gestione del doppio pb - +-- Nel caso di doppio pb, con pb primario diverso dal precedente (CHIAVECLIENTEPB nuova), dobbiamo evitare di far stampare un nuovo +-- report di benvenuto, creando una occorrenza sulla CONTRATTOSEI_METADATI CON INVIOBENVENUTO = 'S' + INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + 'S', + 'N', + 1, + 0, + 0, + NULL, + NULL, + 'S', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + inner joiN [C6mart].[GESTIONE_PDF_FTP] B + ON A.RETE= B.RETE AND A.COD_FISCALE = B.CODICEFISCALE + AND A.CODICECONTRATTO = LEFT(B.NOMEFILE,LEN(A.CODICECONTRATTO)) + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] c + ON A.chiaveClientePB = C.CHIAVECLIENTEPB + WHERE C.CHIAVECLIENTEPB IS NULL +-- Fine Modifica del 27/11/2018 per la gestione del doppio pb - +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + --Clienti professionali esclusi dal giornaliero 13/06/2017 + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale in ( + --'FMGNGPP55B25G224T', + --'FFF@5844' + --) + ------per rimediare errore nel giornaliero il 27/07/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('F00624130431') + ------T-2271865-L0H7 del 26/10/2017 --scommentato il 2/1/2018, richiesto via mail di sollecito l'invio lettera + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale in ( + ----'FTSTLCN48R14H501A' + ----) + ------ cliente con prodotti multiramo da sistemare 13/11/2017 + ------ intervanto aggregazione s+m completato e testato il 20171116 + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale in ( + --'FDFRNTN54C12E625S' + --) + ------per rimediare l'errore VarAdeguatezza il 05/12/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('F01248331215') + ------per rimediare l'errore VarAdeguatezza il 22/12/2017; 03/01/2018 riprovato con errorr + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('FRYNCRL63E11L219J') + ------per rimediare l'errore VarAdeguatezza il 04/01/2018 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('S02312260710') +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- +-- Modifica del 03/10/2018 per gestire i casi in cui il campo InvioBenvenuto è una data +begin try + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL + end try + begin catch + end catch +-- Fine Modifica del 03/10/2018 +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_2011026.sql b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_2011026.sql new file mode 100644 index 00000000..f474475f --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_2011026.sql @@ -0,0 +1,237 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_2011026] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti professionali esclusi dal giornaliero 13/06/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FMGNGPP55B25G224T', + 'FFF@5844' + ) + ------per rimediare errore nel giornaliero il 27/07/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'F00624130431' + ) +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20160315.sql b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20160315.sql new file mode 100644 index 00000000..62611e93 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20160315.sql @@ -0,0 +1,194 @@ +--create view as +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20160315] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI + SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +-- DELETE from C6MART.VCONTRATTI +-- where rete+cod_fiscale = 'FFF@9700' +----FINE FORZATURA +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_201700302_ripristino_del_20170127.sql b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_201700302_ripristino_del_20170127.sql new file mode 100644 index 00000000..6abfcc25 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_201700302_ripristino_del_20170127.sql @@ -0,0 +1,210 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_201700302_ripristino_del_20170127] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'FMRTRND45C07F930Z' + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'FVNARRT65S64Z326I' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170127.sql b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170127.sql new file mode 100644 index 00000000..e766ac04 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170127.sql @@ -0,0 +1,210 @@ +CREATE PROCEDURE [C6Mart].[RP_DM_POPOLACONTRATTI_20170127] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'FMRTRND45C07F930Z' + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'FVNARRT65S64Z326I' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170322.sql b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170322.sql new file mode 100644 index 00000000..865634d6 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170322.sql @@ -0,0 +1,210 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20170322] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170524.sql b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170524.sql new file mode 100644 index 00000000..3152aadc --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170524.sql @@ -0,0 +1,213 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20170524] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per errore del giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170607_mifid.sql b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170607_mifid.sql new file mode 100644 index 00000000..817d7f49 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170607_mifid.sql @@ -0,0 +1,216 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20170607_mifid] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170613.sql b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170613.sql new file mode 100644 index 00000000..60f78f1d --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170613.sql @@ -0,0 +1,226 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20170613] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170727_VarAdeguatezza.sql b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170727_VarAdeguatezza.sql new file mode 100644 index 00000000..45aded75 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20170727_VarAdeguatezza.sql @@ -0,0 +1,232 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20170727_VarAdeguatezza] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti professionali esclusi dal giornaliero 13/06/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FMGNGPP55B25G224T', + 'FFF@5844' + ) +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20171113.sql b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20171113.sql new file mode 100644 index 00000000..16e1e323 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20171113.sql @@ -0,0 +1,242 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20171113] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti professionali esclusi dal giornaliero 13/06/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FMGNGPP55B25G224T', + 'FFF@5844' + ) + ------per rimediare errore nel giornaliero il 27/07/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'F00624130431' + ) + ------T-2271865-L0H7 del 26/10/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FTSTLCN48R14H501A' + ) +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20171205.sql b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20171205.sql new file mode 100644 index 00000000..85037884 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20171205.sql @@ -0,0 +1,248 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20171205] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti professionali esclusi dal giornaliero 13/06/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FMGNGPP55B25G224T', + 'FFF@5844' + ) + ------per rimediare errore nel giornaliero il 27/07/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'F00624130431' + ) + ------T-2271865-L0H7 del 26/10/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FTSTLCN48R14H501A' + ) + ------ cliente con prodotti multiramo da sistemare 13/11/2017 + ------ intervanto aggregazione s+m completato e testato il 20171116 + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale in ( + --'FDFRNTN54C12E625S' + --) +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20171222.sql b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20171222.sql new file mode 100644 index 00000000..d9d569f7 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20171222.sql @@ -0,0 +1,253 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20171222] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti professionali esclusi dal giornaliero 13/06/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FMGNGPP55B25G224T', + 'FFF@5844' + ) + ------per rimediare errore nel giornaliero il 27/07/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'F00624130431' + ) + ------T-2271865-L0H7 del 26/10/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FTSTLCN48R14H501A' + ) + ------ cliente con prodotti multiramo da sistemare 13/11/2017 + ------ intervanto aggregazione s+m completato e testato il 20171116 + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale in ( + --'FDFRNTN54C12E625S' + --) + ------per rimediare l'errore VarAdeguatezza il 05/12/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'F01248331215' + ) +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20180102.sql b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20180102.sql new file mode 100644 index 00000000..7f01ac8f --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20180102.sql @@ -0,0 +1,258 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20180102] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti professionali esclusi dal giornaliero 13/06/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FMGNGPP55B25G224T', + 'FFF@5844' + ) + ------per rimediare errore nel giornaliero il 27/07/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'F00624130431' + ) + ------T-2271865-L0H7 del 26/10/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FTSTLCN48R14H501A' + ) + ------ cliente con prodotti multiramo da sistemare 13/11/2017 + ------ intervanto aggregazione s+m completato e testato il 20171116 + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale in ( + --'FDFRNTN54C12E625S' + --) + ------per rimediare l'errore VarAdeguatezza il 05/12/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'F01248331215' + ) + ------per rimediare l'errore VarAdeguatezza il 22/12/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FRYNCRL63E11L219J' + ) +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20180103.sql b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20180103.sql new file mode 100644 index 00000000..aa99b649 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20180103.sql @@ -0,0 +1,258 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20180103] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti professionali esclusi dal giornaliero 13/06/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FMGNGPP55B25G224T', + 'FFF@5844' + ) + ------per rimediare errore nel giornaliero il 27/07/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'F00624130431' + ) + ------T-2271865-L0H7 del 26/10/2017 --scommentato il 2/1/2018, richiesto via mail di sollecito l'invio lettera + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale in ( + ----'FTSTLCN48R14H501A' + ----) + ------ cliente con prodotti multiramo da sistemare 13/11/2017 + ------ intervanto aggregazione s+m completato e testato il 20171116 + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale in ( + --'FDFRNTN54C12E625S' + --) + ------per rimediare l'errore VarAdeguatezza il 05/12/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'F01248331215' + ) + ------per rimediare l'errore VarAdeguatezza il 22/12/2017 + ------DELETE from C6MART.VCONTRATTI + ------where rete+cod_fiscale in ( + ------'FRYNCRL63E11L219J' + ------) +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20180104.sql b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20180104.sql new file mode 100644 index 00000000..6bb0c558 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20180104.sql @@ -0,0 +1,258 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20180104] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + ------Clienti professionali esclusi dal giornaliero 13/06/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FMGNGPP55B25G224T', + 'FFF@5844' + ) + ------per rimediare errore nel giornaliero il 27/07/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'F00624130431' + ) + ------T-2271865-L0H7 del 26/10/2017 --scommentato il 2/1/2018, richiesto via mail di sollecito l'invio lettera + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale in ( + ----'FTSTLCN48R14H501A' + ----) + ------ cliente con prodotti multiramo da sistemare 13/11/2017 + ------ intervanto aggregazione s+m completato e testato il 20171116 + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale in ( + --'FDFRNTN54C12E625S' + --) + ------per rimediare l'errore VarAdeguatezza il 05/12/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'F01248331215' + ) + ------per rimediare l'errore VarAdeguatezza il 22/12/2017; 03/01/2018 riprovato con errorr + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FRYNCRL63E11L219J' + ) +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20181003.sql b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20181003.sql new file mode 100644 index 00000000..306c6fed --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20181003.sql @@ -0,0 +1,255 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20181003] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + --Clienti professionali esclusi dal giornaliero 13/06/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FMGNGPP55B25G224T', + 'FFF@5844' + ) + ------per rimediare errore nel giornaliero il 27/07/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('F00624130431') + ------T-2271865-L0H7 del 26/10/2017 --scommentato il 2/1/2018, richiesto via mail di sollecito l'invio lettera + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale in ( + ----'FTSTLCN48R14H501A' + ----) + ------ cliente con prodotti multiramo da sistemare 13/11/2017 + ------ intervanto aggregazione s+m completato e testato il 20171116 + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale in ( + --'FDFRNTN54C12E625S' + --) + ------per rimediare l'errore VarAdeguatezza il 05/12/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('F01248331215') + ------per rimediare l'errore VarAdeguatezza il 22/12/2017; 03/01/2018 riprovato con errorr + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('FRYNCRL63E11L219J') + ------per rimediare l'errore VarAdeguatezza il 04/01/2018 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('S02312260710') +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20181127.sql b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20181127.sql new file mode 100644 index 00000000..88deeb94 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_POPOLACONTRATTI_20181127.sql @@ -0,0 +1,261 @@ +CREATE procedure [C6Mart].[RP_DM_POPOLACONTRATTI_20181127] AS +BEGIN +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_POPOLACONTRATTI', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- LOG CAMBIO COD_FISCALE RETE *************************************************************************************** + INSERT INTO c6mart.test_logmd + SELECT 'VARZ CF RETE',GETDATE(),VC.COD_FISCALE,VC.RETE, + NULL AS RIATTIVAZIONE_1,NULL AS TIPOCONTRATTO_1, + NULL AS RIATTIVAZIONE_2,NULL AS TIPOCONTRATTO_2, + NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3, + 'da ' + VC.cod_fiscale +'-'+ VC.RETE + ' a ' + C6.cod_fiscale +'-'+ C6.RETE + FROM C6MART.VCONTRATTI VC + JOIN [C6Mart].[vContrattiC6] C6 + ON VC.chiaveClientePB = C6.CHIAVECLIENTEPB + WHERE VC.cod_fiscale <> C6.cod_fiscale OR VC.RETE <> C6.RETE +--******************************************************************************************************************** +TRUNCATE TABLE C6MART.VCONTRATTI +--DELETE C6MART.VCONTRATTI +-- WHERE chiaveClientePB in (SELECT chiaveClientePB FROM [C6Mart].[vContrattiC6]) +INSERT INTO C6MART.VCONTRATTI +SELECT * FROM [C6Mart].[vContrattiC6] +INSERT INTO [C6Mart].[CONTRATTOSEI_METADATI] + ([CHIAVECLIENTEPB] + ,[ClienteMIGRATO] + ,[RISORSENA] + ,[PROFILOATTIVO] + ,[NumSolleciti] + ,[NumRevoche] + ,[Data_ultimoSollecito] + ,[Data_ultimaRevoca] + ,[InvioBenvenuto] + ,[Tip_riattivazione] + ,[Tip_contratto]) + SELECT + A.CHIAVECLIENTEPB, + NULL, + NULL, + NULL, + 0, + 0, + NULL, + NULL, + 'N', + A.Riattivazione, + A.Tip_Contratto + FROM C6MART.VCONTRATTI A + LEFT JOIN [C6Mart].[CONTRATTOSEI_METADATI] B + ON A.chiaveClientePB = B.CHIAVECLIENTEPB + WHERE B.CHIAVECLIENTEPB IS NULL +---- FCianfa: INIZIO FORZATURA per errore giornaliero del 31/07/2015, il cliente non è censito in C6Mart.ANAG_CLIENTI +--DELETE from C6MART.VCONTRATTI +--where rete+cod_fiscale = 'FFF@9700' +---- EN20160315: INIZIO FORZATURA per errore giornaliero del 15/03/2016, il cliente è in C6Mart.ANAG_CLIENTI incompleto e non presente su SIMPB +---- where rete+cod_fiscale = 'FBRBMRA51H53G089M' +----FINE FORZATURA +---- LL: INIZIO FORZATURA per errore giornaliero del 25/03/2016 ---------------------------------------------- + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'SFROFMN88T49H501H' +---- LL: INIZIO FORZATURA per Ticket T-1410414-M4B3 (08/04/2016) +-- Il contratto ha subito un cambio di cf e per errore è stata generata una nuova email di perfez.; +-- per evitare anche l'eventuale generazione della lettera di benvenuto lo escludiamo + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale = 'FGRMLGU42L14A662R' +----FINE FORZATURA--------------------------------------------------------------------------------------------- +---- EN20161230: INIZIO FORZATURA per errore giornaliero del 30/12/2016 ---------------------------------------------- + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FMRTRND45C07F930Z' + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale = 'FVNARRT65S64Z326I' + ------per rimediare errore nel giornaliero il 21/03/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F04904530633' + ------per rimediare errore nel giornaliero il 24/05/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale = 'F02588590402' + ------per errore del giornaliero il 06/06/2017 + -- DELETE from C6MART.VCONTRATTI + -- where rete+cod_fiscale in ( + --'FSCNLRT54T04E613J', + --'FBRRMNL69S45C957K', + --'FTBRDAA34M63B455T', + --'FSNTRNO50C55I342U', + --'FLMLGNN75D58F918C', + --'SSTCRRT86H30E058Z' + -- ) + --Clienti professionali esclusi dal giornaliero 13/06/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ( + 'FMGNGPP55B25G224T', + 'FFF@5844' + ) + ------per rimediare errore nel giornaliero il 27/07/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('F00624130431') + ------T-2271865-L0H7 del 26/10/2017 --scommentato il 2/1/2018, richiesto via mail di sollecito l'invio lettera + ----DELETE from C6MART.VCONTRATTI + ----where rete+cod_fiscale in ( + ----'FTSTLCN48R14H501A' + ----) + ------ cliente con prodotti multiramo da sistemare 13/11/2017 + ------ intervanto aggregazione s+m completato e testato il 20171116 + --DELETE from C6MART.VCONTRATTI + --where rete+cod_fiscale in ( + --'FDFRNTN54C12E625S' + --) + ------per rimediare l'errore VarAdeguatezza il 05/12/2017 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('F01248331215') + ------per rimediare l'errore VarAdeguatezza il 22/12/2017; 03/01/2018 riprovato con errorr + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('FRYNCRL63E11L219J') + ------per rimediare l'errore VarAdeguatezza il 04/01/2018 + DELETE from C6MART.VCONTRATTI + where rete+cod_fiscale in ('S02312260710') +----FINE FORZATURA--------------------------------------------------------------------------------------------- +-- CASO NUOVO CONTRATTO *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'NUOVO CONTRATTO',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.Riattivazione AS RIATTIVAZIONE_3,VC.Tip_Contratto AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.cod_fiscale,VC1.rete,VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT +TIP_RIATTIVAZIONE =VC.Riattivazione, TIP_CONTRATTO=VC.Tip_Contratto +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM [C6Mart].[CONTRATTOSEI_METADATI] MD inner join + (select VC1.chiaveClientePB,VC1.Riattivazione,VC1.Tip_Contratto + FROM C6MART.VCONTRATTI VC1 + JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC1 + ON VC1.chiaveClientePB = MC1.CHIAVECLIENTEPB + LEFT JOIN c6mart.gestione_pdf_ftp PDF1 + ON SUBSTRING(PDF1.NomeFile, 1, 11) = VC1.CODICECONTRATTO + WHERE MC1.INVIOBENVENUTO = 'S' AND PDF1.CODICEFISCALE IS NULL) VC + ON VC.chiaveClientePB = MD.chiaveClientePB +-- CASO RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +1 AS RIATTIVAZIONE_3,VC.TIP_CONTRATTO AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.Tip_riattivazione = 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE = 1, TIP_CONTRATTO=VC.TIP_CONTRATTO +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB +AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MC.Tip_riattivazione = 0 +-- CASO FINE RIATTIVAZIONE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'FINE RIATTIVAZIONE',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +0 AS RIATTIVAZIONE_3,null AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +-- SELECT + TIP_RIATTIVAZIONE = 0 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.riattivazione = 0 AND VC.DATA_FINEAVANZATO <= GETDATE() AND MD.Tip_riattivazione <> 0 +-- CASO UPGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'UPGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +2 AS RIATTIVAZIONE_3,2 AS TIPOCONTRATTO_3,'N' AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +INSERT INTO C6Mart.GESTIONE_EMAIL (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT rete,cod_fiscale,'PERF' as TipoEmail,GETDATE() AS DataGenerazione ,999 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =2, TIP_CONTRATTO=2 +,NumSolleciti=0,NumRevoche=0,Data_ultimoSollecito=null,Data_ultimaRevoca=null,InvioBenvenuto='N' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 1 +-- CASO DOWNGRADE *************************************************************************************** +INSERT INTO c6mart.test_logmd +SELECT 'DOWNGRADE',GETDATE(),COD_FISCALE,RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +VC.riattivazione AS RIATTIVAZIONE_3,1 AS TIPOCONTRATTO_3,null AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +UPDATE [C6Mart].[CONTRATTOSEI_METADATI] SET +--SELECT + TIP_RIATTIVAZIONE =VC.riattivazione, TIP_CONTRATTO=1 +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 2 +--CASO 4 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> AFF',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 1 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +--CASO 5 +INSERT INTO c6mart.test_logmd +SELECT 'OLD >> PRI',GETDATE(),VC.COD_FISCALE,VC.RETE, +VC.riattivazione AS RIATTIVAZIONE_1,VC.tip_contratto AS TIPOCONTRATTO_1, +MD.Tip_riattivazione AS RIATTIVAZIONE_2,MD.tip_Contratto AS TIPOCONTRATTO_2, +NULL AS RIATTIVAZIONE_3,NULL AS TIPOCONTRATTO_3,NULL AS INVIO_3,'' +FROM C6MART.VCONTRATTI VC JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD +ON VC.chiaveClientePB = MD.CHIAVECLIENTEPB +AND VC.tip_contratto = 2 AND VC.DATA_FINEAVANZATO > GETDATE() AND MD.tip_Contratto = 0 +-------------------------------------------------------------------------------------------------------------------- +-- Modifica del 03/10/2018 per gestire i casi in cui il campo InvioBenvenuto è una data +begin try + INSERT INTO C6MART.TEST_QUALITY + SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'CONTRATTOSEI_METADATI NON AGG.1' FROM [C6Mart].[vContrattiSei] VC + LEFT JOIN c6mart.gestione_pdf_ftp PDF + ON SUBSTRING(PDF.NomeFile, 1, 11) = VC.CODICECONTRATTO + WHERE VC.INVIOBENVENUTO = 'S' AND PDF.CODICEFISCALE IS NULL + end try + begin catch + end catch +-- Fine Modifica del 03/10/2018 +-- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_POPOLACONTRATTI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_W6CLIESG.sql b/sql/storedTestbes/C6Mart_RP_DM_W6CLIESG.sql new file mode 100644 index 00000000..00e00515 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_W6CLIESG.sql @@ -0,0 +1,240 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_W6CLIESG] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_W6CLIESG', + GETDATE(), + 'Elaborazione Lettere di Benvenuto' + ) + TRUNCATE TABLE C6Mart.SPB_W6CLIESG + TRUNCATE TABLE C6Mart.W6CLIESG + INSERT INTO C6Mart.SPB_W6CLIESG + ( + [Rete] + ,[Codice_Agente] + ,[Codice_Fiscale] + ,[Piva_Fiduciaria] + ,[Codman] + ,[BeneficioDiversificazione] + ,[ValoreVaR] + ,[Riserva] + ,[PesoSostESG] + ,[CSP] + ,[ConcLungoPeriodo] + ,[Liquidita] + ,[NoSostESG] + ,[SostPercE] + ,[SostPercS] + ,[SostPercG] + ,[SostESGInLinea] + ,[SostPercEInLinea] + ,[SostPercSInLinea] + ,[SostPercGInLinea] + ,[NoSostSFDR] + ,[SostSFDR] + ,[SostSFDRInLinea] + ,[NoSostTaxonomy] + ,[SostTaxonomy] + ,[SostTaxonomyInLinea] + ,[NoSostPaiE] + ,[SostPaiE] + ,[SostPaiEInLinea] + ,[NoSostPaiS] + ,[SostPaiS] + ,[SostPaiSInLinea] + ,[Sost_E] + ,[Sost_S] + ,[Sost_G] + ,[percESG] + ,[UlterioriPrefSost] + ,[PercSFDR] + ,[PercTaxonomy] + ,[PAI_E] + ,[PAI_S] + ,[ListPAI_E] + ,[ListPAI_S]) + SELECT distinct + [Rete] + ,[Codice_Agente] + ,case when ISNULL(CODMAN,'')<>'' then 'FF@'+CODMAN + else Codice_Fiscale end as Codice_Fiscale + ,[Piva_Fiduciaria] + ,[Codman] + ,[BeneficioDiversificazione] + ,[ValoreVaR] + ,[Riserva] + ,[PesoSostESG] + ,[CSP] + ,[ConcLungoPeriodo] + ,[Liquidita] + ,[NoSostESG] + ,[SostPercE] + ,[SostPercS] + ,[SostPercG] + ,[SostESGInLinea] + ,[SostPercEInLinea] + ,[SostPercSInLinea] + ,[SostPercGInLinea] + ,[NoSostSFDR] + ,[SostSFDR] + ,[SostSFDRInLinea] + ,[NoSostTaxonomy] + ,[SostTaxonomy] + ,[SostTaxonomyInLinea] + ,[NoSostPaiE] + ,[SostPaiE] + ,[SostPaiEInLinea] + ,[NoSostPaiS] + ,[SostPaiS] + ,[SostPaiSInLinea] + ,[Sost_E] + ,[Sost_S] + ,[Sost_G] + ,[percESG] + ,[UlterioriPrefSost] + ,[PercSFDR] + ,[PercTaxonomy] + ,isnull([PAI_E],'') + ,isnull([PAI_S],'') + ,[ListPAI_E] + ,[ListPAI_S] +FROM [C6StampeCentralizzate].[C6Staging].[SPB_W6CliESG] +drop table if exists #st_split_E +drop table if exists #st_split_S +drop table if exists #st_split_ES +-- Step 1: Creazione delle tabelle temporanee +SELECT + value AS ListPAI_E, + [Rete], + [Codice_Agente], + CASE + WHEN CODMAN <> '' THEN 'FF@' + CODMAN + ELSE Codice_Fiscale + END AS COD_FISCALE +INTO #st_split_E +FROM C6Mart.SPB_W6CLIESG +CROSS APPLY STRING_SPLIT(ListPAI_E, '|') +SELECT + value AS ListPAI_S, + [Rete], + [Codice_Agente], + CASE + WHEN CODMAN <> '' THEN 'FF@' + CODMAN + ELSE Codice_Fiscale + END AS COD_FISCALE +INTO #st_split_S +FROM C6Mart.SPB_W6CLIESG +CROSS APPLY STRING_SPLIT(ListPAI_S, '|') +--select * from C6Mart.SPB_W6CLIESG +--select * from #st_split_E +--select * from #st_split_S +-- Step 2: Aggregare le descrizioni in un'unica query +SELECT + [Rete], + [COD_FISCALE], + STRING_AGG(CASE + WHEN ListPAI_E = 'PAI_A01' THEN 'Emissioni gas serra' + WHEN ListPAI_E = 'PAI_A02' THEN 'Biodiversità' + WHEN ListPAI_E = 'PAI_A03' THEN 'Acqua' + WHEN ListPAI_E = 'PAI_A04' THEN 'Rifiuti' + WHEN ListPAI_E = 'PAI_A05' THEN 'Governativi di tipo Ambientale' + WHEN ListPAI_E = 'PAI_A07' THEN 'Efficienza energetica' + WHEN ListPAI_E = 'PAI_A08' THEN 'Settore Immobiliare' + ELSE NULL + END, ', ') AS PAI_E, + STRING_AGG(CASE + WHEN ListPAI_S = 'PAI_S01' THEN 'Questioni Sociali e dei Dipendenti' + WHEN ListPAI_S = 'PAI_S02' THEN 'Governativi di tipo Sociale' + ELSE NULL + END, ', ') AS PAI_S +into #st_split_ES +FROM ( + SELECT Rete, COD_FISCALE, ListPAI_E, NULL AS ListPAI_S + FROM #st_split_E + UNION ALL + SELECT Rete, COD_FISCALE, NULL AS ListPAI_E, ListPAI_S + FROM #st_split_S +) AS Combined +GROUP BY + [Rete], + [COD_FISCALE] +update b +set b.PAI_E=es.PAI_E, b.PAI_S=es.PAI_S +from C6Mart.SPB_W6CLIESG b +inner join #st_split_ES es +on b.Rete = es.Rete +and b.Codice_Fiscale = es.COD_FISCALE +insert into [C6Mart].[W6CLIESG] +SELECT CAST(CONVERT(VARCHAR(8), GETDATE(), 112) AS DECIMAL(8, 0)) AS DTTRIM, +RETE, +codice_fiscale as CODFIS, +'' as CODMAN, +UlterioriPrefSost as U_PREFSOST, +case when isnull(PercSFDR,0.00)=0.00 then 'N' else 'S' end as FLAGSFDR, +case when isnull(PercTaxonomy,0.00)=0.00 then 'N' else 'S' end as FLAGTAXO, +case when ListPAI_E='' and ListPAI_S='' then 'N' else 'S' end as FLAGPAI, +PercSFDR as SFDR_PERC, +PercTaxonomy as TAXO_PERC, +case when ListPAI_E like '%PAI_A01%' then 'S' else 'N' end as PAI_A01, +case when ListPAI_E like '%PAI_A02%' then 'S' else 'N' end as PAI_A02, +case when ListPAI_E like '%PAI_A03%' then 'S' else 'N' end as PAI_A03, +case when ListPAI_E like '%PAI_A04%' then 'S' else 'N' end as PAI_A04, +case when ListPAI_E like '%PAI_A05%' then 'S' else 'N' end as PAI_A05, +case when ListPAI_E like '%PAI_A07%' then 'S' else 'N' end as PAI_A07, +case when ListPAI_E like '%PAI_A08%' then 'S' else 'N' end as PAI_A08, +case when ListPAI_S like '%PAI_S01%' then 'S' else 'N' end as PAI_S01, +case when ListPAI_S like '%PAI_S02%' then 'S' else 'N' end as PAI_S02, +CASE WHEN ListPAI_E like '%PAI_A01%' THEN 'Emissioni gas serra' else '' end as PAI_A1, +CASE WHEN ListPAI_E like '%PAI_A02%' THEN 'Biodiversità' else '' end as PAI_A2, +CASE WHEN ListPAI_E like '%PAI_A03%' THEN 'Acqua' else '' end as PAI_A3, +CASE WHEN ListPAI_E like '%PAI_A04%' THEN 'Rifiuti' else '' end as PAI_A4, +CASE WHEN ListPAI_E like '%PAI_A05%' THEN 'Governativi di tipo Ambientale' else '' end as PAI_A5, +CASE WHEN ListPAI_E like '%PAI_A07%' THEN 'Efficienza energetica' else '' end as PAI_A7, +CASE WHEN ListPAI_E like '%PAI_A08%' THEN 'Settore Immobiliare' else '' end as PAI_A8, +CASE WHEN ListPAI_S like '%PAI_S01%' THEN 'Questioni Sociali e dei Dipendenti' else '' end as PAI_S1, +CASE WHEN ListPAI_S like '%PAI_S02%' THEN 'Governativi di tipo Sociale' else '' end as PAI_S2, +PAI_E as PAI_A, +PAI_S, +'N' as PAI_NO_DETT, +PesoSostESG as PERC1ESG, +SostPercE as PERCAMB, +SostPercS as PERCSOC, +SostPercG as PERCGOV, +SostPercEInLinea as PERCAMB_OK, +SostPercsInLinea as PERCSOC_OK, +SostPercgInLinea as PERCGOV_OK, +SostSFDR as SFDR_PERCT, +SostSFDRInLinea as SFDR_PERC_OK, +SostTaxonomy as TAXO_PERCT, +SostTaxonomyInLinea as TAXO_PERC_OK, +SostPaiE as PAIA_PERCT, +SostPaiEInLinea as PAIA_PERC_OK, +SostPaiS as PAIS_PERCT, +SostPaiSInLinea as PAIS_PERC_OK +from [c6mart].[SPB_W6CliESG] + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_W6CliESG' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_W6CliESG' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_W6CatESG.sql b/sql/storedTestbes/C6Mart_RP_DM_W6CatESG.sql new file mode 100644 index 00000000..f492f523 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_W6CatESG.sql @@ -0,0 +1,128 @@ +CREATE procedure [C6Mart].[RP_DM_W6CatESG] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_SPB_W6CatESG', + GETDATE(), + 'Elaborazione giornaliera' + ) +--drop table c6staging.RP_CatalogoProdotti + truncate table [C6StampeCentralizzate].[C6Mart].[SPB_W6CatESG] + truncate table [C6StampeCentralizzate].[C6Mart].[W6CatESG] +INSERT INTO [C6Mart].[SPB_W6CatESG] + ([Rete] + ,[Codice_Agente] + ,[Codice_Fiscale] + ,[Piva_Fiduciaria] + ,[CodiceContratto] + ,[FamigliaProdotto] + ,[CodiceProdotto] + ,[DescrizioneProdotto] + ,[CodiceTitolo] + ,[Conto] + ,[Custgar] + ,[Asset] + ,[Pct] + ,[CodiceSottoprodotto] + ,[DescrizioneSottoprodotto] + ,[Isin] + ,[IsinProxy] + ,[TipoFondo] + ,[Controvalore] + ,[Importo] + ,[QuantitaValoreNominale] + ,[VarComparto] + ,[CodiceLinea] + ,[Sost_E] + ,[Sost_S] + ,[Sost_G] + ,[ClasseComplessita] + ,[DescrizioneClasseComplessita] + ,[OrizzonteTemporale] + ,[FlagRiserva]) +SELECT [Rete] + ,[Codice_Agente] + ,[Codice_Fiscale] + ,[Piva_Fiduciaria] + ,[CodiceContratto] + ,case when [FamigliaProdotto]='AS' then 'ASU1' + when [FamigliaProdotto]='OF' then 'GE' + else [FamigliaProdotto] end as [FamigliaProdotto] + ,[CodiceProdotto] + ,[DescrizioneProdotto] + ,[CodiceTitolo] + ,[Conto] + ,[Custgar] + ,[Asset] + ,[Pct] + ,case when [CodiceLinea]='FP' then 'FP' else [CodiceSottoprodotto] end as [CodiceSottoprodotto] + ,[DescrizioneSottoprodotto] + ,[Isin] + ,[IsinProxy] + ,[TipoFondo] + ,[Controvalore] + ,[Importo] + ,[QuantitaValoreNominale] + ,[VarComparto] + ,[CodiceLinea] + ,[Sost_E] + ,[Sost_S] + ,[Sost_G] + ,[ClasseComplessita] + ,[DescrizioneClasseComplessita] + ,[OrizzonteTemporale] + ,[FlagRiserva] + FROM [C6StampeCentralizzate].[C6Staging].[SPB_W6CatESG] + update b + set b.positionID=a.POSITIONID --, b.catalogueID=a.catalogueID + from [C6Mart].[SPB_W6CatESG] b + left join C6Staging.SPB_CONTR_SINTESI a + on a.RETE=b.rete + and a.CODICEFISCALE=b.codice_fiscale + and a.CODICECONTRATTO=b.codicecontratto + and a.CTV = b.controvalore + update b + set b.positionID=a.POSITIONID --, b.catalogueID=a.catalogueID + from [C6Mart].[SPB_W6CatESG] b + left join C6Staging.SPB_CONTR_SINTESI a + on a.RETE=b.rete + and a.CODICEFISCALE=b.codice_fiscale + and a.CODICECONTRATTO=b.codicecontratto + and a.CODICEINTERNO = b.CodiceProdotto + and a.CODICESOTTOPRODOTTO=b.CodiceSottoprodotto + where b.PositionID is null + insert into [C6Mart].[W6CATESG] + select GETDATE() as dttrim, + '03296' as Banca, + Rete , + Codice_Fiscale as codfis, + '' as codman, + case when Sost_E='Y' then 'Y' else 'N' end as esg_e_prod_cli, + case when Sost_S='Y' then 'Y' else 'N' end as esg_s_prod_cli, + case when Sost_G='Y' then 'Y' else 'N' end as esg_g_prod_cli, + SUBSTRING(POSITIONID,1,57) as prodotto_id, + PositionID as position_id + from C6Mart.SPB_W6CatESG +-- select * from C6Staging.SPB_CONTR_SINTESI --where CODICEFISCALE='BCCSHR68B66H433Z' +-- select * from [C6Mart].[SPB_W6CatESG] --where Codice_Fiscale='BCCSHR68B66H433Z' + --- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_SPB_W6CatESG' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_SPB_W6CatESG' + ) +end \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_DM_WSEICAP.sql b/sql/storedTestbes/C6Mart_RP_DM_WSEICAP.sql new file mode 100644 index 00000000..948e04c5 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_DM_WSEICAP.sql @@ -0,0 +1,71 @@ +-- ============================================= +-- Author: Paolo Giovanetti / TRINGALI PER FIDUCIARIE +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_DM_WSEICAP] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_WSEICAP', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE C6Mart.WSEICAP + INSERT INTO C6Mart.[WSEICAP] + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[COD_FISCALE] + ,[CODCONF] + ,[SUBPROD] + ,[ISIN] + ,[DTINIZ] + ,[DTFINE] + ,[CTV_COMMIT] + ,[IMPVERS] + ,[IMPRES] + ,[DESCPROD] + ,[SGR]) + select + '99999999' as DTTRIM, + '99999999' as DTRIFE, +PATRBF.rete as RETE, +PATRBF.COD_FISCALE as COD_FISCALE, +PATRBF.ID_CONTRATTO as CODCONF, +PATRBF.COD_SOTTOPRODOTTO as SUBPROD, +PATRBF.ISIN as ISIN, +ICAP.dataInizioCommitment as DTINIZ, +ICAP.dataFineCommitment as DTFINE, +ICAP.totaleCommitment as CTV_COMMIT, +ICAP.importoVersato as IMPVERS, +ICAP.importoDaVersare as IMPRES, +ANAG.DESCR_PRODOTTO as DESCPROD, +ANAG.DESCR_SGR as SGR +from C6Mart.PATRIMONIO_BF PATRBF +inner join C6Staging.SPB_wseicap ICAP on PATRBF.ID_CONTRATTO=ICAP.codicecontratto +and PATRBF.ISIN=ICAP.isin +left join C6MART.ANAG_PRODOTTI ANAG +ON ANAG.COD_PRODOTTO = PATRBF.COD_PRODOTTO + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_WSEICAP' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_WSEICAP' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql b/sql/storedTestbes/C6Mart_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql new file mode 100644 index 00000000..9a2cc043 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_GESTIONE_SELECT_LETTERE_DA_INVIARE.sql @@ -0,0 +1,90 @@ +--SELECT TOP 1 * FROM C6MART.VCONTRATTI +--[C6Mart].[GESTIONE_SELECT_LETTERE_DA_INVIARE]'F','AA@55670',1,-1 +CREATE procedure [C6Mart].[RP_GESTIONE_SELECT_LETTERE_DA_INVIARE] + @rete as varchar(1) = '', + @cf as varchar(16) = '', + @codiceLettera as smallint = null, + --vedere se questa cosa ha senso +-- @dataRichiestaRistampa as datetime = null, + @idReport as int, + @tipoReport as varchar(20) = '' +AS +BEGIN + declare @dataRichiestaRistampa as datetime + set @dataRichiestaRistampa = getDate() +--declare @prova as varchar(10) +--select @prova = 'AA@55670' +--select @prova +--select charindex('@',@prova) + SELECT + dbo.getAppellativo(aclie.sesso,aclie.cod_fiscale) as appellativo, + --Modifica per le persone giuridiche + CASE + WHEN LEN(csei.cod_fiscale) = 11 or CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.cognome --+ 'JJ' + ELSE aclie.nome + END AS nome, + --aclie.nome as nome, + CASE + WHEN LEN(csei.cod_fiscale) = 11 + THEN aclie.nome + ELSE CASE WHEN CHARINDEX('@',csei.cod_fiscale) > 0 + THEN aclie.nome + ' - ' + substring(csei.cod_fiscale,CHARINDEX('@',csei.cod_fiscale)+1,LEN(csei.cod_fiscale)) + ELSE + aclie.cognome + END + END AS cognome, + --aclie.cognome as cognome, + csei.indirizzo + (case isnull(csei.presso,'') when '' then '' else CHAR(13) + 'C/O ' + csei.presso end) as via, + csei.citta as localita, + --csei.prov as provincia, + --V modificata il campo provincia viene scritto tra parentesi (PROVINCIA). NEl caso di nazione estera non viene valorizzato + --quindi viene usato per la nazione + case when (upper(csei.nazione) <> 'ITALIA') then csei.nazione else csei.PROVINCIA end as provincia, + csei.cap as cap, + dbo.Replace_Oggetto_Lettera_Benvenuto( + csei.CodiceContratto, + aclie.cognome, + aclie.nome,tla.[OGGETTO], + @tipoReport + ) as oggetto, +--DA TOGLIERE + csei.codiceContratto as CodiceContratto, + dbo.Replace_Testo_Lettera_Benvenuto( + csei.CodiceContratto, + csei.freq_Diagnosi, + csei.freq_MONITORAGGIO, + aclie.cognome, + aclie.nome, + @tipoReport, + csei.indirizzo, + csei.DATA_INZIOAVANZATO, + @dataRichiestaRistampa, + gpdf.DataGenerazione, + tla.[TESTO] + ) as testo, + dbo.replace_Firma_Lettera_Benvenuto(tla.firma) as firma + FROM + [C6Mart].[TESTO_LETTERA_ACCETTAZIONE] tla, + [C6Mart].[VCONTRATTI] csei + JOIN + C6MART.CONTRATTOSEI_METADATI META + ON + META.CHIAVECLIENTEPB= CSEI.CHIAVECLIENTEPB + INNER JOIN + [C6Mart].[ANAG_CLIENTI] aclie + on + csei.rete = aclie.rete and + csei.cod_fiscale = aclie.cod_fiscale + LEFT OUTER JOIN + C6Mart.GESTIONE_PDF_FTP gpdf + on + gpdf.rete = csei.rete and + gpdf.codiceFiscale = csei.cod_fiscale + WHERE + csei.rete = @rete and + csei.cod_Fiscale = @cf and + csei.data_fineAvanzato > getDate() and + tla.id = @codiceLettera and + (gpdf.idReport = @idReport or @idreport = -1) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_PROM_TuttiIPortafogli.sql b/sql/storedTestbes/C6Mart_RP_PROM_TuttiIPortafogli.sql new file mode 100644 index 00000000..2b6683e8 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_PROM_TuttiIPortafogli.sql @@ -0,0 +1,44 @@ +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +--[C6Mart].[PROM_TuttiIPortafogli] +CREATE procedure [C6Mart].[RP_PROM_TuttiIPortafogli] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,cast([CtvNominale] as varchar) as CtvNominale + ,cast([CtvReale] as varchar) as CtvReale +FROM ( + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Mart].[RP_vTuttiIPortafogli] + union all + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Mart].[RP_vTuttiIPortafogli_ccLiq] +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_PROM_TuttiIPortafogli2_Indicatore.sql b/sql/storedTestbes/C6Mart_RP_PROM_TuttiIPortafogli2_Indicatore.sql new file mode 100644 index 00000000..25695795 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_PROM_TuttiIPortafogli2_Indicatore.sql @@ -0,0 +1,104 @@ +CREATE procedure [C6Mart].[RP_PROM_TuttiIPortafogli2_Indicatore] + -- Add the parameters for the stored procedure here +AS +BEGIN +set nocount on +SELECT + -- descr_prodotto, + [Rete] + , rtrim([CodiceFiscale]) as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,convert(varchar(20),[CtvNominale]) as [CtvNominale] + ,convert(varchar(20),[CtvReale]) as [CtvReale] +FROM +( + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_BF' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + FROM [C6Mart].[RP_vTuttiIPortafogli_newkey] + where [Portafoglio] like '%COMPLESSIVO|BF%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O','FVTTTZN76R63A940M','SMLZFLV47S49H501Z') + UNION + SELECT + [Rete] + ,rtrim(CodiceFiscale) + '_TERZI' as [CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + FROM [C6Mart].[RP_vTuttiIPortafogli_newkey] + where [Portafoglio] like '%COMPLESSIVO|TERZI%' + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O','FVTTTZN76R63A940M','SMLZFLV47S49H501Z') + UNION + SELECT + [Rete] + ,rtrim([CodiceFiscale]) + ,[Portafoglio] + ,[CodiceProdotto] + -- 12/6/2018 --------- + ,[CodiceAdeguatezza] + ----------------------- + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,case + when [CtvNominale] < 0 then '0.000' + else convert(varchar(20),[CtvNominale]) + end as [CtvNominale] + ,case + when [CtvReale] < 0 then '0.000' + else convert(varchar(20),[CtvReale]) + end as [CtvReale] + FROM [C6Mart].[RP_vTuttiIPortafogli_newkey] + where ([Portafoglio] like '%COMPLESSIVO|TERZI%' or [Portafoglio] like '%COMPLESSIVO|BF%') + --esclusioni per errore nuovo servizio indicatori del 14-15-28/6/2018 + and rete+codicefiscale not in + ('FMRLVCN68L02F274G','FPTRBBR71E65A345O','FPTRBDT72C41H223C','FRSSMNT49A71E498A','FRTOMHL64H69B354H', + 'FTMBCST76M67M082T','FVLIMLL56P45I480C','FVRTMRC61S04H501Q','FZLACRN41D49B157T','SMTTBRN52M12D982T', + 'SPCFMRA79D52I197L','SSNTLGU56A23L334O','FVTTTZN76R63A940M','SMLZFLV47S49H501Z') +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_PROM_TuttiIPortafogli_20180612_NewMotorePrometeia.sql b/sql/storedTestbes/C6Mart_RP_PROM_TuttiIPortafogli_20180612_NewMotorePrometeia.sql new file mode 100644 index 00000000..409296ae --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_PROM_TuttiIPortafogli_20180612_NewMotorePrometeia.sql @@ -0,0 +1,55 @@ +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +--[C6Mart].[PROM_TuttiIPortafogli] +CREATE procedure [C6Mart].[RP_PROM_TuttiIPortafogli_20180612_NewMotorePrometeia] + -- Add the parameters for the stored procedure here +AS +BEGIN +--COMMENTATA PERCHé LA CREAZIONE VA IN ERRORE A CAUSA DEI CAMPI MANCANTI NELLE VISTE: ELIMINARE IL COMMENTO QUANDO SI UTILIZZA QUESTA NUOVA VERSIONE +--SELECT [Rete] +-- ,[CodiceFiscale] +-- ,[Portafoglio] +-- ,[CodiceProdotto] +-- -- 23/5/2018 --------- +-- ,[CodiceAdeguatezza] +-- ----------------------- +-- ,[Piazza] +-- ,[CodiceValuta] +-- ,[Classe] +-- ,cast([CtvNominale] as varchar) as CtvNominale +-- ,cast([CtvReale] as varchar) as CtvReale +--FROM ( +-- SELECT [Rete] +-- ,[CodiceFiscale] +-- ,[Portafoglio] +-- ,[CodiceProdotto] +-- -- 23/5/2018 --------- +-- ,[CodiceAdeguatezza] +-- ----------------------- +-- ,[Piazza] +-- ,[CodiceValuta] +-- ,[Classe] +-- ,[CtvNominale] +-- ,[CtvReale] +-- FROM [C6Mart].[RP_vTuttiIPortafogli] +-- union all +-- SELECT [Rete] +-- ,[CodiceFiscale] +-- ,[Portafoglio] +-- ,[CodiceProdotto] +-- -- 23/5/2018 --------- +-- ,[CodiceAdeguatezza] +-- ----------------------- +-- ,[Piazza] +-- ,[CodiceValuta] +-- ,[Classe] +-- ,[CtvNominale] +-- ,[CtvReale] +-- FROM [C6Mart].[RP_vTuttiIPortafogli_ccLiq] +--) T +--order by rete,codiceFiscale,Portafoglio +select 1 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_PROM_TuttiIPortafogli_20180612_PreMotorePrometeia.sql b/sql/storedTestbes/C6Mart_RP_PROM_TuttiIPortafogli_20180612_PreMotorePrometeia.sql new file mode 100644 index 00000000..efa5028a --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_PROM_TuttiIPortafogli_20180612_PreMotorePrometeia.sql @@ -0,0 +1,44 @@ +-- ============================================= +-- Author: Paolo Giovanetti --modificata per i cc in liq Marianna/Valerio +-- Create date: 18/11/2008 +-- Description: +-- ============================================= +--[C6Mart].[PROM_TuttiIPortafogli] +CREATE procedure [C6Mart].[RP_PROM_TuttiIPortafogli_20180612_PreMotorePrometeia] + -- Add the parameters for the stored procedure here +AS +BEGIN +SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,cast([CtvNominale] as varchar) as CtvNominale + ,cast([CtvReale] as varchar) as CtvReale +FROM ( + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Mart].[RP_vTuttiIPortafogli] + union all + SELECT [Rete] + ,[CodiceFiscale] + ,[Portafoglio] + ,[CodiceProdotto] + ,[Piazza] + ,[CodiceValuta] + ,[Classe] + ,[CtvNominale] + ,[CtvReale] + FROM [C6Mart].[RP_vTuttiIPortafogli_ccLiq] +) T +order by rete,codiceFiscale,Portafoglio +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql b/sql/storedTestbes/C6Mart_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql new file mode 100644 index 00000000..bbe9e3a9 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_SRV_ESTRAZ_GIORNALIERA_CC.sql @@ -0,0 +1,77 @@ +-- ============================================= +-- Author: alessandro Tringali +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[RP_SRV_ESTRAZ_GIORNALIERA_CC] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_SRV_ESTRAZ_GIORNALIERA_CC', + GETDATE(), + 'Elaborazione giornaliera' + ) +--V Cancellazione delle tuple inserite nel giorno corrente, può accadere che la procedura viene +-- lanciata più di una volta, in quel caso inserirei righe doppie. +DELETE FROM C6MART.ESTRAZ_GIORNALIERA_CC +WHERE DATEDIFF(dd,dataGenerazione,getDate()) = 0 +INSERT INTO C6MART.ESTRAZ_GIORNALIERA_CC +SELECT +a.COD_FISCALE, +A.RETE, +CODICECONTRATTO, +DATAGENERAZIONE, +NUMERO_CC, +C.CTV_CC, +D.TOT_CTV, +D.TOT_CTV_NO_CC +FROM +C6MART.VCONTRATTI A, +C6MART.GESTIONE_PDF_FTP B, +( + SELECT + COD_FISCALE, + RETE, + COD_CC AS NUMERO_CC, + SUM(SALDOCONTABILE) AS CTV_CC + FROM C6MART.ANAG_CC + GROUP BY + COD_FISCALE, + RETE, + COD_CC + ) C, +( SELECT COD_FISCALE, RETE, + SUM(CTV) AS TOT_CTV, + SUM(CASE WHEN TIPO_PRODOTTO='CC' THEN 0 ELSE CTV END) AS TOT_CTV_NO_CC FROM C6MART.PATRIMONIO_BF + GROUP BY COD_FISCALE, RETE +)D +WHERE +A.COD_FISCALE=B.CODICEFISCALE +AND A.RETE=B.RETE +AND A.COD_FISCALE=C.COD_FISCALE +AND A.RETE=C.RETE +AND A.COD_FISCALE=D.COD_FISCALE +AND A.RETE=D.RETE +ORDER BY 1,2,3,5 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'DELETE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_SRV_ESTRAZ_GIORNALIERA_CC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_SRV_ESTRAZ_GIORNALIERA_CC' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_RP_Selettore_GetDataThreads.sql b/sql/storedTestbes/C6Mart_RP_Selettore_GetDataThreads.sql new file mode 100644 index 00000000..43ac9648 --- /dev/null +++ b/sql/storedTestbes/C6Mart_RP_Selettore_GetDataThreads.sql @@ -0,0 +1,7 @@ +CREATE PROCEDURE [C6Mart].[RP_Selettore_GetDataThreads] + @BatchName NVARCHAR(100) +AS +BEGIN +truncate table [C6Mart].[TB_Selettore_GetDataThreads] +insert into [C6Mart].[TB_Selettore_GetDataThreads] values (@BatchName,'Verrà stampata la Reportistica '+ @BatchName +' Giornaliera',getdate()) +END; \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_SRV_CHECK_C6_GIORNALIERO.sql b/sql/storedTestbes/C6Mart_SRV_CHECK_C6_GIORNALIERO.sql new file mode 100644 index 00000000..c65bd541 --- /dev/null +++ b/sql/storedTestbes/C6Mart_SRV_CHECK_C6_GIORNALIERO.sql @@ -0,0 +1,698 @@ +CREATE procedure [C6Mart].[SRV_CHECK_C6_GIORNALIERO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @DataOggiPerVar VARCHAR(8) + SET @DataOggiPerVar = convert(VARCHAR(8), getdate(), 112) + --V Esegue la procedura di estrazione dei CC + EXEC [C6Mart].[SRV_ESTRAZ_GIORNALIERA_CC] + -- Report generati + SELECT + C.Rete, + C.Cod_Agente, + case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else C.Cod_Fiscale end as Cod_fiscale, + C.Data_Perf + INTO #ReportGenerati + FROM + C6Mart.GESTIONE_PDF_FTP AS GPF + INNER JOIN C6Mart.VCONTRATTI AS C + ON GPF.RETE = C.Rete + AND GPF.CODICEFISCALE = C.Cod_Fiscale + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on C.chiaveclientepb = M.chiaveclientepb + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND Data_FineAvanzato > getDate() + ORDER BY + C.Rete, + C.Cod_Agente, + C.Cod_Fiscale + -- Report non generati + SELECT + Rete, + Cod_Agente, + case when Cod_Fiscale like '%@%' then piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else Cod_Fiscale end as Cod_fiscale, + Data_Perf, + ClienteMigrato, + RisorseNA, + profiloAttivo, + 'Ragione:' + ---------------en_20161026 eliminated NA + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Cliente non migrato ' --/ Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato ' --/ Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Cliente non migrato / Profilo non attivo ' --/ Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato / Profilo non attivo ' --/ Risorse non associate ' + -- ELSE '' + --END + ------------------en_20161026 ClienteMigrato always S + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Cliente non migrato / Profilo non attivo ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato / Profilo non attivo ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Cliente non migrato ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato ' + -- ELSE '' + --END + -------------------en_20161026 eliminated NA + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Risorse non associate / Profilo non attivo ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate / Profilo non attivo ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate ' + -- ELSE '' + --END + -------------------en_20161026 + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca ' ----en / Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' In attesa di gestione Revoca ' + ELSE '' + END + /*+ CASE + WHEN PartViaDisinv = 'S' THEN ' Partite viaggianti disinvestimento' + ELSE '' + END*/ + AS Ragione + INTO #ReportNonGenerati + FROM + C6Mart.vcontratti as CONTRATTOSEI + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on CONTRATTOSEI.chiaveclientepb = M.chiaveclientepb + WHERE + M.InvioBenvenuto = 'N' + AND DATEDIFF(d, Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + -------------en_20161026 no risorse non alloacate / no NA + AND RisorseNA = 'N' + AND ClienteMigrato = 'S' + AND ( + --ClienteMigrato = 'N' + --OR RisorseNA = 'S' + -------------en_20161026 + --OR + --V Condizione per non generazione a causa di profilo non attivo + ProfiloAttivo = 0 + OR Data_UltimaRevoca is not null + -- + /*OR PartViaDisinv = 'S'*/) + AND Data_FineAvanzato > getDate() + ORDER BY + Rete, + Cod_Agente, + Cod_Fiscale + -- Email + SELECT + CASE Tipo + WHEN 'PERF' THEN 'perfezionamento' + ---------------en_20161026 eliminated NA and always ClienteMigrato = 'S' + --WHEN '1_SOLL_NOASS' THEN '1° sollecito risorse non associate' + --WHEN '2_SOLL_NOASS' THEN '2° sollecito risorse non associate' + --WHEN '3_SOLL_NOASS' THEN '3° sollecito risorse non associate' + --WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + --WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + --WHEN '1_SOLL_NOMIG' THEN '1° sollecito cliente non migrato' + --WHEN '2_SOLL_NOMIG' THEN '2° sollecito cliente non migrato' + --WHEN '3_SOLL_NOMIG' THEN '3° sollecito cliente non migrato' + --WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + --WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + ---------------------------------------- + --V aggiunta tipo mail profilo non attivo + WHEN '1_SOLL_NOPRO' THEN '1° sollecito profilo non attivo' + WHEN '2_SOLL_NOPRO' THEN '2° sollecito profilo non attivo' + WHEN '3_SOLL_NOPRO' THEN '3° sollecito profilo non attivo' + WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + END AS Tipo, + COUNT(Tipo) AS Totale + INTO #EmailInviate + FROM + C6Mart.GESTIONE_EMAIL + WHERE + Inviata = 'S' + AND dbo.toShortDateString(Data_Invio) = dbo.toShortDateString(GETDATE()) + GROUP BY + Tipo + ORDER BY TIPO + -- Indirizzi più lunghi di 36 caratteri + SELECT + C.Rete, + Cod_Agente, + Cod_Fiscale, + Indirizzo, + LEN(Indirizzo) AS LunghezzaIndirizzo + INTO #IndirizziLunghi + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.GESTIONE_PDF_FTP AS GPF + ON C.Rete = GPF.RETE + AND C.Cod_Fiscale = GPF.CODICEFISCALE + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND LEN(Indirizzo) > 36 + ORDER BY + Rete, + Cod_Agente, + Cod_Fiscale + -- Prodotti non a catalogo + SELECT + RETE, + CODICEFISCALE, + CODICECONTRATTO, + CODICEINTERNO, + CODICESOTTOPRODOTTO, + CODICEMAF, + ISIN + INTO #ProdNonInCat + FROM + C6Staging.SPB_CONTR_SINTESI + WHERE + POSITIONID IS NULL + -- VaR discordanti + SELECT + RA.RETE, + RA.COD_FISCALE, + RA.VAR_PERC_PTF, + VC.VAR_COMPLESSIVO_BF, + CASE + WHEN RA.VAR_PERC_PTF = VC.VAR_COMPLESSIVO_BF THEN 'OK' + ELSE 'KO' + END AS VAR_CORRETTO + INTO #VaRDiscordanti + FROM + C6Mart.RISCHIO_AGGREGATO AS RA + --INNER JOIN VAR_CHECK AS VC + INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE + WHERE + (RA.COD_AGGREG = 'COMPLESSIVO|BF') + ORDER BY + RA.RETE, + RA.COD_FISCALE + INSERT INTO VaRDiscordanti_appo SELECT *, GETDATE() FROM #VaRDiscordanti + -- Posizioni in stato liquidato + SELECT + PB.RETE, + PB.COD_FISCALE, + ID_CONTRATTO + INTO #PosizioniStatoL + FROM + C6Mart.PATRIMONIO_BF AS PB + INNER JOIN #VaRDiscordanti AS VD + ON PB.RETE = VD.RETE + AND PB.COD_FISCALE = VD.COD_FISCALE + WHERE + PB.COD_STATO = 'L' + AND PB.CTV >= 0 + AND VD.VAR_CORRETTO = 'KO' + ORDER BY + PB.RETE, + PB.COD_FISCALE + -- Clienti senza data sottoscrizione + SELECT DISTINCT + PB.RETE, + C.COD_AGENTE, + PB.COD_FISCALE, + PB.ID_CONTRATTO + INTO #ClientiSenzaDataSott + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.PATRIMONIO_BF AS PB + ON C.Rete = PB.RETE + AND C.Cod_Fiscale = PB.COD_FISCALE + INNER JOIN C6Mart.RISCHIO_AGGREGATO AS RA + ON PB.RETE = RA.RETE + AND PB.COD_FISCALE = RA.COD_FISCALE + WHERE + PB.DATA_SOTTOSCRIZIONE IS NULL + AND PB.TIPO_PRODOTTO = 'DT' + -- Clienti senza piramide modello + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + data_perf + INTO #ClientiSenzaPiramideModello + FROM + C6Mart.vcontratti as CONTRATTOSEI + inner join + C6Mart.contrattosei_metadati as M + on CONTRATTOSEI.chiaveclientepb = m.chiaveclientepb + WHERE + --Data_FineAvanzato < getDate() + Data_FineAvanzato > getDate() + AND inviobenvenuto = 'N' + AND clientemigrato = 'S' + AND risorseNA = 'N' + AND profiloAttivo = 1 + AND DATEDIFF(d, Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND Rete+Cod_Fiscale NOT IN ( + SELECT + Rete+COD_FISCALE + FROM + C6Mart.PIRAMIDE_MOD) + --scarti simpb contrattoSintesi + SELECT C6.Rete, Cod_Agente, codiceFiscale,DATA_PERF + INTO #ClientiSenzaContrattoSintesi + FROM C6STAGING.SPB_SCARTI SPB + JOIN + C6MART.RP_vContrattiMigrati C6 + ON + SPB.CODICEFISCALE = C6.COD_FISCALE + WHERE pacchettoSSIS = 'SPB_CONTRSINTESI' + --scarti simpb mifid + SELECT codiceFiscale,DATA_PERF + INTO #ClientiSenzaProfiloMIFID + FROM C6STAGING.SPB_SCARTI SPB + JOIN + C6MART.RP_vContrattiMigrati C6 + ON + SPB.CODICEFISCALE = C6.COD_FISCALE + WHERE pacchettoSSIS = 'SPB_MIFID' + DECLARE @testoMail VARCHAR(MAX) + DECLARE @rete CHAR(1) + DECLARE @codiceAgente VARCHAR(6) + DECLARE @codiceFiscale VARCHAR(25) + DECLARE @data DATETIME + DECLARE @ragione VARCHAR(100) + DECLARE @tipo VARCHAR(100) + DECLARE @indirizzo VARCHAR(100) + DECLARE @totale INT + DECLARE @codiceContratto VARCHAR(11) + DECLARE @codiceinterno VARCHAR(10) + DECLARE @codicesottoprodotto VARCHAR(5) + DECLARE @codicemaf VARCHAR(20) + DECLARE @isin VARCHAR(12) + DECLARE @varPercPtf DECIMAL(5, 2) + DECLARE @varComplessivoBf DECIMAL(5, 2) + SET @testoMail = '' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Tipo, + Totale + FROM + #EmailInviate + OPEN reader + FETCH NEXT FROM reader INTO @tipo, @totale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @tipo, @totale + END + SET @testoMail = @testoMail + '
E-mail inviate:
' + @tipo + '' + CAST(@totale AS VARCHAR) + '
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Data_Perf + FROM + #ReportGenerati + --modifica Emanuele x escludere l'agente di prova + WHERE Cod_Agente <> '015312' + --modifica Emanuele x escludere l'agente di prova + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + END + SELECT @totale = COUNT(*) FROM #ReportGenerati + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Report generati:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Data_Perf, + Ragione + FROM + #ReportNonGenerati + --modifica Emanuele x escludere l'agente di prova + WHERE Cod_Agente <> '015312' + --modifica Emanuele x escludere l'agente di prova + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data, @ragione + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data, @ragione + END + SELECT @totale = COUNT(*) FROM #ReportNonGenerati + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Report non generati:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '' + @ragione + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Indirizzo, + LEN(Indirizzo) AS LunghezzaIndirizzo + FROM + #IndirizziLunghi + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @indirizzo, @totale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @indirizzo, @totale + END + SELECT @totale = COUNT(*) FROM #IndirizziLunghi + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Indirizzi più lunghi di 36 caratteri:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + @indirizzo + '' + CAST(@totale AS VARCHAR) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + CODICEFISCALE, + CODICECONTRATTO, + CODICEINTERNO, + CODICESOTTOPRODOTTO, + CODICEMAF, + ISIN + FROM #ProdNonInCat + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto, @codiceinterno, @codicesottoprodotto, @codicemaf, @isin + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto, @codiceinterno, @codicesottoprodotto, @codicemaf, @isin + END + SELECT @totale = COUNT(*) FROM #ProdNonInCat + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con prodotti non a catalogo (CodConf, CodInt/SubProd/CodMaf/Isin):
' + @rete + '' + @codiceFiscale + '' + @codiceContratto + '   ' + SET @testoMail = @testoMail + ltrim(rtrim(@codiceinterno)) + '/' + SET @testoMail = @testoMail + ltrim(rtrim(@codicesottoprodotto)) + '/' + SET @testoMail = @testoMail + ltrim(rtrim(@codicemaf)) + '/' + SET @testoMail = @testoMail + ltrim(rtrim(@isin)) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_FISCALE, + VAR_PERC_PTF, + VAR_COMPLESSIVO_BF + FROM + #VaRDiscordanti + WHERE + VAR_CORRETTO = 'KO' + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @varPercPtf, @varComplessivoBf + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @varPercPtf, @varComplessivoBf + END + SELECT @totale = COUNT(*) FROM #VaRDiscordanti WHERE VAR_CORRETTO = 'KO' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con VaR discordante:
' + @rete + '' + @codiceFiscale + '' + CAST(@varPercPtf AS VARCHAR) + '' + CAST(@varComplessivoBf AS VARCHAR) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_FISCALE, + ID_CONTRATTO + FROM + #PosizioniStatoL + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #PosizioniStatoL + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con posizioni stato Liquidato:
' + @rete + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_AGENTE, + COD_FISCALE, + ID_CONTRATTO + FROM + #ClientiSenzaDataSott + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaDataSott + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza data sottoscrizione
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + isnull(Cod_Agente,''), + Cod_Fiscale, + data_perf + FROM + #ClientiSenzaPiramideModello + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaPiramideModello + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza piramide modello
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + isnull(Cod_Agente,''), + codiceFiscale, + data_perf + FROM + #ClientiSenzaContrattoSintesi + OPEN reader + FETCH NEXT FROM reader INTO @rete,@codiceAgente,@codiceFiscale,@data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete,@codiceAgente,@codiceFiscale,@data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaContrattoSintesi + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza righe Contratto Sintesi
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + codiceFiscale,data_perf + FROM + #ClientiSenzaProfiloMIFID + OPEN reader + FETCH NEXT FROM reader INTO @codiceFiscale,@data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @codiceFiscale,@data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaProfiloMIFID + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza righe profilo MIFID
' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader +--------------------------------------------------------------------- +--Email non inviate + --SET @testoMail = @testoMail + '

' + --DECLARE reader CURSOR LOCAL FORWARD_ONLY + --FOR + -- SELECT a.rete, a.cod_fiscale, a.cod_agente, + -- CASE Tipo + -- WHEN 'PERF' THEN 'perfezionamento' + -- WHEN '1_SOLL_NOASS' THEN '1° sollecito risorse non associate' + -- WHEN '2_SOLL_NOASS' THEN '2° sollecito risorse non associate' + -- WHEN '3_SOLL_NOASS' THEN '3° sollecito risorse non associate' + -- WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + -- WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + -- WHEN '1_SOLL_NOMIG' THEN '1° sollecito cliente non migrato' + -- WHEN '2_SOLL_NOMIG' THEN '2° sollecito cliente non migrato' + -- WHEN '3_SOLL_NOMIG' THEN '3° sollecito cliente non migrato' + -- WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + -- WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + -- --V aggiunta tipo mail profilo non attivo + -- WHEN '1_SOLL_NOPRO' THEN '1° sollecito profilo non attivo' + -- WHEN '2_SOLL_NOPRO' THEN '2° sollecito profilo non attivo' + -- WHEN '3_SOLL_NOPRO' THEN '3° sollecito profilo non attivo' + -- WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + -- WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + -- END AS Tipo + -- FROM C6Mart.Contrattosei a + -- inner join C6Mart.GESTIONE_EMAIL b + -- on + -- a.rete = b.rete + -- and + -- a.cod_fiscale = b.cod_fiscale + -- WHERE isnull(b.Inviata,'N')='N' + --OPEN reader + --FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceAgente, @tipo + --WHILE @@FETCH_STATUS = 0 + --BEGIN + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceAgente, @tipo + --END + --SELECT @totale = COUNT(*) FROM C6Mart.GESTIONE_EMAIL WHERE isnull(Inviata,'N')='N' + --SET @testoMail = @testoMail + '' + --SET @testoMail = @testoMail + '
Email non inviate:
' + @rete + '' + @codiceFiscale + '' + @codiceAgente + '' + @tipo + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + --CLOSE reader + --DEALLOCATE reader +--------------------------------------------------------------------- + SET @testoMail = @testoMail + '' + SELECT @testoMail + DROP TABLE #ReportGenerati + DROP TABLE #ReportNonGenerati + DROP TABLE #EmailInviate + DROP TABLE #IndirizziLunghi + DROP TABLE #PosizioniStatoL + DROP TABLE #ProdNonInCat + DROP TABLE #VaRDiscordanti + DROP TABLE #ClientiSenzaDataSott + DROP TABLE #ClientiSenzaPiramideModello + DROP TABLE #ClientiSenzaContrattoSintesi + DROP TABLE #ClientiSenzaProfiloMIFID +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026.sql b/sql/storedTestbes/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026.sql new file mode 100644 index 00000000..b178c10a --- /dev/null +++ b/sql/storedTestbes/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026.sql @@ -0,0 +1,682 @@ +CREATE procedure [C6Mart].[SRV_CHECK_C6_GIORNALIERO_20161026] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @DataOggiPerVar VARCHAR(8) + SET @DataOggiPerVar = convert(VARCHAR(8), getdate(), 112) + --V Esegue la procedura di estrazione dei CC + EXEC [C6Mart].[SRV_ESTRAZ_GIORNALIERA_CC] + -- Report generati + SELECT + C.Rete, + C.Cod_Agente, + case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else C.Cod_Fiscale end as Cod_fiscale, + C.Data_Perf + INTO #ReportGenerati + FROM + C6Mart.GESTIONE_PDF_FTP AS GPF + INNER JOIN C6Mart.VCONTRATTI AS C + ON GPF.RETE = C.Rete + AND GPF.CODICEFISCALE = C.Cod_Fiscale + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on C.chiaveclientepb = M.chiaveclientepb + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND Data_FineAvanzato > getDate() + ORDER BY + C.Rete, + C.Cod_Agente, + C.Cod_Fiscale + -- Report non generati + SELECT + Rete, + Cod_Agente, + case when Cod_Fiscale like '%@%' then piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else Cod_Fiscale end as Cod_fiscale, + Data_Perf, + ClienteMigrato, + RisorseNA, + profiloAttivo, + 'Ragione:' + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Cliente non migrato ' --/ Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato ' --/ Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Cliente non migrato / Profilo non attivo ' --/ Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato / Profilo non attivo ' --/ Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Cliente non migrato / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Cliente non migrato ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Risorse non associate / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' In attesa di gestione Revoca ' + ELSE '' + END + /*+ CASE + WHEN PartViaDisinv = 'S' THEN ' Partite viaggianti disinvestimento' + ELSE '' + END*/ + AS Ragione + INTO #ReportNonGenerati + FROM + C6Mart.vcontratti as CONTRATTOSEI + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on CONTRATTOSEI.chiaveclientepb = M.chiaveclientepb + WHERE + M.InvioBenvenuto = 'N' + AND DATEDIFF(d, Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND (ClienteMigrato = 'N' + OR RisorseNA = 'S' + --V Condizione per non generazione a causa di profilo non attivo + OR ProfiloAttivo = 0 + OR Data_UltimaRevoca is not null + -- + /*OR PartViaDisinv = 'S'*/) + AND Data_FineAvanzato > getDate() + ORDER BY + Rete, + Cod_Agente, + Cod_Fiscale + -- Email + SELECT + CASE Tipo + WHEN 'PERF' THEN 'perfezionamento' + WHEN '1_SOLL_NOASS' THEN '1° sollecito risorse non associate' + WHEN '2_SOLL_NOASS' THEN '2° sollecito risorse non associate' + WHEN '3_SOLL_NOASS' THEN '3° sollecito risorse non associate' + WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + WHEN '1_SOLL_NOMIG' THEN '1° sollecito cliente non migrato' + WHEN '2_SOLL_NOMIG' THEN '2° sollecito cliente non migrato' + WHEN '3_SOLL_NOMIG' THEN '3° sollecito cliente non migrato' + WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + --V aggiunta tipo mail profilo non attivo + WHEN '1_SOLL_NOPRO' THEN '1° sollecito profilo non attivo' + WHEN '2_SOLL_NOPRO' THEN '2° sollecito profilo non attivo' + WHEN '3_SOLL_NOPRO' THEN '3° sollecito profilo non attivo' + WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + END AS Tipo, + COUNT(Tipo) AS Totale + INTO #EmailInviate + FROM + C6Mart.GESTIONE_EMAIL + WHERE + Inviata = 'S' + AND dbo.toShortDateString(Data_Invio) = dbo.toShortDateString(GETDATE()) + GROUP BY + Tipo + ORDER BY TIPO + -- Indirizzi più lunghi di 36 caratteri + SELECT + C.Rete, + Cod_Agente, + Cod_Fiscale, + Indirizzo, + LEN(Indirizzo) AS LunghezzaIndirizzo + INTO #IndirizziLunghi + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.GESTIONE_PDF_FTP AS GPF + ON C.Rete = GPF.RETE + AND C.Cod_Fiscale = GPF.CODICEFISCALE + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND LEN(Indirizzo) > 36 + ORDER BY + Rete, + Cod_Agente, + Cod_Fiscale + -- Prodotti non a catalogo + SELECT + RETE, + CODICEFISCALE, + CODICECONTRATTO, + CODICEINTERNO, + CODICESOTTOPRODOTTO, + CODICEMAF, + ISIN + INTO #ProdNonInCat + FROM + C6Staging.SPB_CONTR_SINTESI + WHERE + POSITIONID IS NULL + -- VaR discordanti + SELECT + RA.RETE, + RA.COD_FISCALE, + RA.VAR_PERC_PTF, + VC.VAR_COMPLESSIVO_BF, + CASE + WHEN RA.VAR_PERC_PTF = VC.VAR_COMPLESSIVO_BF THEN 'OK' + ELSE 'KO' + END AS VAR_CORRETTO + INTO #VaRDiscordanti + FROM + C6Mart.RISCHIO_AGGREGATO AS RA + --INNER JOIN VAR_CHECK AS VC + INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE + WHERE + (RA.COD_AGGREG = 'COMPLESSIVO|BF') + ORDER BY + RA.RETE, + RA.COD_FISCALE + INSERT INTO VaRDiscordanti_appo SELECT *, GETDATE() FROM #VaRDiscordanti + -- Posizioni in stato liquidato + SELECT + PB.RETE, + PB.COD_FISCALE, + ID_CONTRATTO + INTO #PosizioniStatoL + FROM + C6Mart.PATRIMONIO_BF AS PB + INNER JOIN #VaRDiscordanti AS VD + ON PB.RETE = VD.RETE + AND PB.COD_FISCALE = VD.COD_FISCALE + WHERE + PB.COD_STATO = 'L' + AND PB.CTV >= 0 + AND VD.VAR_CORRETTO = 'KO' + ORDER BY + PB.RETE, + PB.COD_FISCALE + -- Clienti senza data sottoscrizione + SELECT DISTINCT + PB.RETE, + C.COD_AGENTE, + PB.COD_FISCALE, + PB.ID_CONTRATTO + INTO #ClientiSenzaDataSott + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.PATRIMONIO_BF AS PB + ON C.Rete = PB.RETE + AND C.Cod_Fiscale = PB.COD_FISCALE + INNER JOIN C6Mart.RISCHIO_AGGREGATO AS RA + ON PB.RETE = RA.RETE + AND PB.COD_FISCALE = RA.COD_FISCALE + WHERE + PB.DATA_SOTTOSCRIZIONE IS NULL + AND PB.TIPO_PRODOTTO = 'DT' + -- Clienti senza piramide modello + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + data_perf + INTO #ClientiSenzaPiramideModello + FROM + C6Mart.vcontratti as CONTRATTOSEI + inner join + C6Mart.contrattosei_metadati as M + on CONTRATTOSEI.chiaveclientepb = m.chiaveclientepb + WHERE + --Data_FineAvanzato < getDate() + Data_FineAvanzato > getDate() + AND inviobenvenuto = 'N' + AND clientemigrato = 'S' + AND risorseNA = 'N' + AND profiloAttivo = 1 + AND DATEDIFF(d, Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND Rete+Cod_Fiscale NOT IN ( + SELECT + Rete+COD_FISCALE + FROM + C6Mart.PIRAMIDE_MOD) + --scarti simpb contrattoSintesi + SELECT C6.Rete, Cod_Agente, codiceFiscale,DATA_PERF + INTO #ClientiSenzaContrattoSintesi + FROM C6STAGING.SPB_SCARTI SPB + JOIN + C6MART.RP_vContrattiMigrati C6 + ON + SPB.CODICEFISCALE = C6.COD_FISCALE + WHERE pacchettoSSIS = 'SPB_CONTRSINTESI' + --scarti simpb mifid + SELECT codiceFiscale,DATA_PERF + INTO #ClientiSenzaProfiloMIFID + FROM C6STAGING.SPB_SCARTI SPB + JOIN + C6MART.RP_vContrattiMigrati C6 + ON + SPB.CODICEFISCALE = C6.COD_FISCALE + WHERE pacchettoSSIS = 'SPB_MIFID' + DECLARE @testoMail VARCHAR(MAX) + DECLARE @rete CHAR(1) + DECLARE @codiceAgente VARCHAR(6) + DECLARE @codiceFiscale VARCHAR(25) + DECLARE @data DATETIME + DECLARE @ragione VARCHAR(100) + DECLARE @tipo VARCHAR(100) + DECLARE @indirizzo VARCHAR(100) + DECLARE @totale INT + DECLARE @codiceContratto VARCHAR(11) + DECLARE @codiceinterno VARCHAR(10) + DECLARE @codicesottoprodotto VARCHAR(5) + DECLARE @codicemaf VARCHAR(20) + DECLARE @isin VARCHAR(12) + DECLARE @varPercPtf DECIMAL(5, 2) + DECLARE @varComplessivoBf DECIMAL(5, 2) + SET @testoMail = '' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Tipo, + Totale + FROM + #EmailInviate + OPEN reader + FETCH NEXT FROM reader INTO @tipo, @totale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @tipo, @totale + END + SET @testoMail = @testoMail + '
E-mail inviate:
' + @tipo + '' + CAST(@totale AS VARCHAR) + '
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Data_Perf + FROM + #ReportGenerati + --modifica Emanuele x escludere l'agente di prova + WHERE Cod_Agente <> '015312' + --modifica Emanuele x escludere l'agente di prova + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + END + SELECT @totale = COUNT(*) FROM #ReportGenerati + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Report generati:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Data_Perf, + Ragione + FROM + #ReportNonGenerati + --modifica Emanuele x escludere l'agente di prova + WHERE Cod_Agente <> '015312' + --modifica Emanuele x escludere l'agente di prova + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data, @ragione + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data, @ragione + END + SELECT @totale = COUNT(*) FROM #ReportNonGenerati + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Report non generati:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '' + @ragione + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Indirizzo, + LEN(Indirizzo) AS LunghezzaIndirizzo + FROM + #IndirizziLunghi + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @indirizzo, @totale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @indirizzo, @totale + END + SELECT @totale = COUNT(*) FROM #IndirizziLunghi + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Indirizzi più lunghi di 36 caratteri:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + @indirizzo + '' + CAST(@totale AS VARCHAR) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + CODICEFISCALE, + CODICECONTRATTO, + CODICEINTERNO, + CODICESOTTOPRODOTTO, + CODICEMAF, + ISIN + FROM #ProdNonInCat + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto, @codiceinterno, @codicesottoprodotto, @codicemaf, @isin + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto, @codiceinterno, @codicesottoprodotto, @codicemaf, @isin + END + SELECT @totale = COUNT(*) FROM #ProdNonInCat + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con prodotti non a catalogo (CodConf, CodInt/SubProd/CodMaf/Isin):
' + @rete + '' + @codiceFiscale + '' + @codiceContratto + '   ' + SET @testoMail = @testoMail + ltrim(rtrim(@codiceinterno)) + '/' + SET @testoMail = @testoMail + ltrim(rtrim(@codicesottoprodotto)) + '/' + SET @testoMail = @testoMail + ltrim(rtrim(@codicemaf)) + '/' + SET @testoMail = @testoMail + ltrim(rtrim(@isin)) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_FISCALE, + VAR_PERC_PTF, + VAR_COMPLESSIVO_BF + FROM + #VaRDiscordanti + WHERE + VAR_CORRETTO = 'KO' + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @varPercPtf, @varComplessivoBf + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @varPercPtf, @varComplessivoBf + END + SELECT @totale = COUNT(*) FROM #VaRDiscordanti WHERE VAR_CORRETTO = 'KO' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con VaR discordante:
' + @rete + '' + @codiceFiscale + '' + CAST(@varPercPtf AS VARCHAR) + '' + CAST(@varComplessivoBf AS VARCHAR) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_FISCALE, + ID_CONTRATTO + FROM + #PosizioniStatoL + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #PosizioniStatoL + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con posizioni stato Liquidato:
' + @rete + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_AGENTE, + COD_FISCALE, + ID_CONTRATTO + FROM + #ClientiSenzaDataSott + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaDataSott + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza data sottoscrizione
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + data_perf + FROM + #ClientiSenzaPiramideModello + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaPiramideModello + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza piramide modello
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + codiceFiscale, + data_perf + FROM + #ClientiSenzaContrattoSintesi + OPEN reader + FETCH NEXT FROM reader INTO @rete,@codiceAgente,@codiceFiscale,@data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete,@codiceAgente,@codiceFiscale,@data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaContrattoSintesi + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza righe Contratto Sintesi
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + codiceFiscale,data_perf + FROM + #ClientiSenzaProfiloMIFID + OPEN reader + FETCH NEXT FROM reader INTO @codiceFiscale,@data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @codiceFiscale,@data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaProfiloMIFID + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza righe profilo MIFID
' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader +--------------------------------------------------------------------- +--Email non inviate + --SET @testoMail = @testoMail + '

' + --DECLARE reader CURSOR LOCAL FORWARD_ONLY + --FOR + -- SELECT a.rete, a.cod_fiscale, a.cod_agente, + -- CASE Tipo + -- WHEN 'PERF' THEN 'perfezionamento' + -- WHEN '1_SOLL_NOASS' THEN '1° sollecito risorse non associate' + -- WHEN '2_SOLL_NOASS' THEN '2° sollecito risorse non associate' + -- WHEN '3_SOLL_NOASS' THEN '3° sollecito risorse non associate' + -- WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + -- WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + -- WHEN '1_SOLL_NOMIG' THEN '1° sollecito cliente non migrato' + -- WHEN '2_SOLL_NOMIG' THEN '2° sollecito cliente non migrato' + -- WHEN '3_SOLL_NOMIG' THEN '3° sollecito cliente non migrato' + -- WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + -- WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + -- --V aggiunta tipo mail profilo non attivo + -- WHEN '1_SOLL_NOPRO' THEN '1° sollecito profilo non attivo' + -- WHEN '2_SOLL_NOPRO' THEN '2° sollecito profilo non attivo' + -- WHEN '3_SOLL_NOPRO' THEN '3° sollecito profilo non attivo' + -- WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + -- WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + -- END AS Tipo + -- FROM C6Mart.Contrattosei a + -- inner join C6Mart.GESTIONE_EMAIL b + -- on + -- a.rete = b.rete + -- and + -- a.cod_fiscale = b.cod_fiscale + -- WHERE isnull(b.Inviata,'N')='N' + --OPEN reader + --FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceAgente, @tipo + --WHILE @@FETCH_STATUS = 0 + --BEGIN + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceAgente, @tipo + --END + --SELECT @totale = COUNT(*) FROM C6Mart.GESTIONE_EMAIL WHERE isnull(Inviata,'N')='N' + --SET @testoMail = @testoMail + '' + --SET @testoMail = @testoMail + '
Email non inviate:
' + @rete + '' + @codiceFiscale + '' + @codiceAgente + '' + @tipo + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + --CLOSE reader + --DEALLOCATE reader +--------------------------------------------------------------------- + SET @testoMail = @testoMail + '' + SELECT @testoMail + DROP TABLE #ReportGenerati + DROP TABLE #ReportNonGenerati + DROP TABLE #EmailInviate + DROP TABLE #IndirizziLunghi + DROP TABLE #PosizioniStatoL + DROP TABLE #ProdNonInCat + DROP TABLE #VaRDiscordanti + DROP TABLE #ClientiSenzaDataSott + DROP TABLE #ClientiSenzaPiramideModello + DROP TABLE #ClientiSenzaContrattoSintesi + DROP TABLE #ClientiSenzaProfiloMIFID +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026_2.sql b/sql/storedTestbes/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026_2.sql new file mode 100644 index 00000000..421835b3 --- /dev/null +++ b/sql/storedTestbes/C6Mart_SRV_CHECK_C6_GIORNALIERO_20161026_2.sql @@ -0,0 +1,689 @@ +CREATE procedure [C6Mart].[SRV_CHECK_C6_GIORNALIERO_20161026_2] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @DataOggiPerVar VARCHAR(8) + SET @DataOggiPerVar = convert(VARCHAR(8), getdate(), 112) + --V Esegue la procedura di estrazione dei CC + EXEC [C6Mart].[SRV_ESTRAZ_GIORNALIERA_CC] + -- Report generati + SELECT + C.Rete, + C.Cod_Agente, + case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else C.Cod_Fiscale end as Cod_fiscale, + C.Data_Perf + INTO #ReportGenerati + FROM + C6Mart.GESTIONE_PDF_FTP AS GPF + INNER JOIN C6Mart.VCONTRATTI AS C + ON GPF.RETE = C.Rete + AND GPF.CODICEFISCALE = C.Cod_Fiscale + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on C.chiaveclientepb = M.chiaveclientepb + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND Data_FineAvanzato > getDate() + ORDER BY + C.Rete, + C.Cod_Agente, + C.Cod_Fiscale + -- Report non generati + SELECT + Rete, + Cod_Agente, + case when Cod_Fiscale like '%@%' then piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else Cod_Fiscale end as Cod_fiscale, + Data_Perf, + ClienteMigrato, + RisorseNA, + profiloAttivo, + 'Ragione:' + ---------------en 20161026 eliminated NA + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Cliente non migrato ' --/ Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato ' --/ Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Cliente non migrato / Profilo non attivo ' --/ Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'N' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato / Profilo non attivo ' --/ Risorse non associate ' + -- ELSE '' + --END + ------------------en 20161026 + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Cliente non migrato / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Cliente non migrato ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'N' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Cliente non migrato ' + ELSE '' + END + -------------------en 20161026 eliminated NA + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Risorse non associate / Profilo non attivo ' + -- ELSE '' + --END + --+ CASE + -- WHEN ClienteMigrato = 'S' AND RisorseNA = 'S' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate / Profilo non attivo ' + -- ELSE '' + --END + -------------------en 20161026 + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Risorse non associate ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is null THEN ' Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 0 AND Data_UltimaRevoca is not null THEN ' In attesa di gestione Revoca / Profilo non attivo ' + ELSE '' + END + + CASE + WHEN ClienteMigrato = 'S' AND RisorseNA = 'N' AND profiloAttivo = 1 AND Data_UltimaRevoca is null THEN ' In attesa di gestione Revoca ' + ELSE '' + END + /*+ CASE + WHEN PartViaDisinv = 'S' THEN ' Partite viaggianti disinvestimento' + ELSE '' + END*/ + AS Ragione + INTO #ReportNonGenerati + FROM + C6Mart.vcontratti as CONTRATTOSEI + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on CONTRATTOSEI.chiaveclientepb = M.chiaveclientepb + WHERE + M.InvioBenvenuto = 'N' + AND DATEDIFF(d, Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND RisorseNA = 'N' + AND (ClienteMigrato = 'N' + -------------en 20161026 no risorse non alloacate / no NA + --OR RisorseNA = 'S' + -------------en 20161026 + --V Condizione per non generazione a causa di profilo non attivo + OR ProfiloAttivo = 0 + OR Data_UltimaRevoca is not null + -- + /*OR PartViaDisinv = 'S'*/) + AND Data_FineAvanzato > getDate() + ORDER BY + Rete, + Cod_Agente, + Cod_Fiscale + -- Email + SELECT + CASE Tipo + WHEN 'PERF' THEN 'perfezionamento' + WHEN '1_SOLL_NOASS' THEN '1° sollecito risorse non associate' + WHEN '2_SOLL_NOASS' THEN '2° sollecito risorse non associate' + WHEN '3_SOLL_NOASS' THEN '3° sollecito risorse non associate' + WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + WHEN '1_SOLL_NOMIG' THEN '1° sollecito cliente non migrato' + WHEN '2_SOLL_NOMIG' THEN '2° sollecito cliente non migrato' + WHEN '3_SOLL_NOMIG' THEN '3° sollecito cliente non migrato' + WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + --V aggiunta tipo mail profilo non attivo + WHEN '1_SOLL_NOPRO' THEN '1° sollecito profilo non attivo' + WHEN '2_SOLL_NOPRO' THEN '2° sollecito profilo non attivo' + WHEN '3_SOLL_NOPRO' THEN '3° sollecito profilo non attivo' + WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + END AS Tipo, + COUNT(Tipo) AS Totale + INTO #EmailInviate + FROM + C6Mart.GESTIONE_EMAIL + WHERE + Inviata = 'S' + AND dbo.toShortDateString(Data_Invio) = dbo.toShortDateString(GETDATE()) + GROUP BY + Tipo + ORDER BY TIPO + -- Indirizzi più lunghi di 36 caratteri + SELECT + C.Rete, + Cod_Agente, + Cod_Fiscale, + Indirizzo, + LEN(Indirizzo) AS LunghezzaIndirizzo + INTO #IndirizziLunghi + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.GESTIONE_PDF_FTP AS GPF + ON C.Rete = GPF.RETE + AND C.Cod_Fiscale = GPF.CODICEFISCALE + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND LEN(Indirizzo) > 36 + ORDER BY + Rete, + Cod_Agente, + Cod_Fiscale + -- Prodotti non a catalogo + SELECT + RETE, + CODICEFISCALE, + CODICECONTRATTO, + CODICEINTERNO, + CODICESOTTOPRODOTTO, + CODICEMAF, + ISIN + INTO #ProdNonInCat + FROM + C6Staging.SPB_CONTR_SINTESI + WHERE + POSITIONID IS NULL + -- VaR discordanti + SELECT + RA.RETE, + RA.COD_FISCALE, + RA.VAR_PERC_PTF, + VC.VAR_COMPLESSIVO_BF, + CASE + WHEN RA.VAR_PERC_PTF = VC.VAR_COMPLESSIVO_BF THEN 'OK' + ELSE 'KO' + END AS VAR_CORRETTO + INTO #VaRDiscordanti + FROM + C6Mart.RISCHIO_AGGREGATO AS RA + --INNER JOIN VAR_CHECK AS VC + INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE + WHERE + (RA.COD_AGGREG = 'COMPLESSIVO|BF') + ORDER BY + RA.RETE, + RA.COD_FISCALE + INSERT INTO VaRDiscordanti_appo SELECT *, GETDATE() FROM #VaRDiscordanti + -- Posizioni in stato liquidato + SELECT + PB.RETE, + PB.COD_FISCALE, + ID_CONTRATTO + INTO #PosizioniStatoL + FROM + C6Mart.PATRIMONIO_BF AS PB + INNER JOIN #VaRDiscordanti AS VD + ON PB.RETE = VD.RETE + AND PB.COD_FISCALE = VD.COD_FISCALE + WHERE + PB.COD_STATO = 'L' + AND PB.CTV >= 0 + AND VD.VAR_CORRETTO = 'KO' + ORDER BY + PB.RETE, + PB.COD_FISCALE + -- Clienti senza data sottoscrizione + SELECT DISTINCT + PB.RETE, + C.COD_AGENTE, + PB.COD_FISCALE, + PB.ID_CONTRATTO + INTO #ClientiSenzaDataSott + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.PATRIMONIO_BF AS PB + ON C.Rete = PB.RETE + AND C.Cod_Fiscale = PB.COD_FISCALE + INNER JOIN C6Mart.RISCHIO_AGGREGATO AS RA + ON PB.RETE = RA.RETE + AND PB.COD_FISCALE = RA.COD_FISCALE + WHERE + PB.DATA_SOTTOSCRIZIONE IS NULL + AND PB.TIPO_PRODOTTO = 'DT' + -- Clienti senza piramide modello + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + data_perf + INTO #ClientiSenzaPiramideModello + FROM + C6Mart.vcontratti as CONTRATTOSEI + inner join + C6Mart.contrattosei_metadati as M + on CONTRATTOSEI.chiaveclientepb = m.chiaveclientepb + WHERE + --Data_FineAvanzato < getDate() + Data_FineAvanzato > getDate() + AND inviobenvenuto = 'N' + AND clientemigrato = 'S' + AND risorseNA = 'N' + AND profiloAttivo = 1 + AND DATEDIFF(d, Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND Rete+Cod_Fiscale NOT IN ( + SELECT + Rete+COD_FISCALE + FROM + C6Mart.PIRAMIDE_MOD) + --scarti simpb contrattoSintesi + SELECT C6.Rete, Cod_Agente, codiceFiscale,DATA_PERF + INTO #ClientiSenzaContrattoSintesi + FROM C6STAGING.SPB_SCARTI SPB + JOIN + C6MART.RP_vContrattiMigrati C6 + ON + SPB.CODICEFISCALE = C6.COD_FISCALE + WHERE pacchettoSSIS = 'SPB_CONTRSINTESI' + --scarti simpb mifid + SELECT codiceFiscale,DATA_PERF + INTO #ClientiSenzaProfiloMIFID + FROM C6STAGING.SPB_SCARTI SPB + JOIN + C6MART.RP_vContrattiMigrati C6 + ON + SPB.CODICEFISCALE = C6.COD_FISCALE + WHERE pacchettoSSIS = 'SPB_MIFID' + DECLARE @testoMail VARCHAR(MAX) + DECLARE @rete CHAR(1) + DECLARE @codiceAgente VARCHAR(6) + DECLARE @codiceFiscale VARCHAR(25) + DECLARE @data DATETIME + DECLARE @ragione VARCHAR(100) + DECLARE @tipo VARCHAR(100) + DECLARE @indirizzo VARCHAR(100) + DECLARE @totale INT + DECLARE @codiceContratto VARCHAR(11) + DECLARE @codiceinterno VARCHAR(10) + DECLARE @codicesottoprodotto VARCHAR(5) + DECLARE @codicemaf VARCHAR(20) + DECLARE @isin VARCHAR(12) + DECLARE @varPercPtf DECIMAL(5, 2) + DECLARE @varComplessivoBf DECIMAL(5, 2) + SET @testoMail = '' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Tipo, + Totale + FROM + #EmailInviate + OPEN reader + FETCH NEXT FROM reader INTO @tipo, @totale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @tipo, @totale + END + SET @testoMail = @testoMail + '
E-mail inviate:
' + @tipo + '' + CAST(@totale AS VARCHAR) + '
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Data_Perf + FROM + #ReportGenerati + --modifica Emanuele x escludere l'agente di prova + WHERE Cod_Agente <> '015312' + --modifica Emanuele x escludere l'agente di prova + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + END + SELECT @totale = COUNT(*) FROM #ReportGenerati + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Report generati:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Data_Perf, + Ragione + FROM + #ReportNonGenerati + --modifica Emanuele x escludere l'agente di prova + WHERE Cod_Agente <> '015312' + --modifica Emanuele x escludere l'agente di prova + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data, @ragione + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data, @ragione + END + SELECT @totale = COUNT(*) FROM #ReportNonGenerati + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Report non generati:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '' + @ragione + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Indirizzo, + LEN(Indirizzo) AS LunghezzaIndirizzo + FROM + #IndirizziLunghi + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @indirizzo, @totale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @indirizzo, @totale + END + SELECT @totale = COUNT(*) FROM #IndirizziLunghi + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Indirizzi più lunghi di 36 caratteri:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + @indirizzo + '' + CAST(@totale AS VARCHAR) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + CODICEFISCALE, + CODICECONTRATTO, + CODICEINTERNO, + CODICESOTTOPRODOTTO, + CODICEMAF, + ISIN + FROM #ProdNonInCat + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto, @codiceinterno, @codicesottoprodotto, @codicemaf, @isin + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto, @codiceinterno, @codicesottoprodotto, @codicemaf, @isin + END + SELECT @totale = COUNT(*) FROM #ProdNonInCat + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con prodotti non a catalogo (CodConf, CodInt/SubProd/CodMaf/Isin):
' + @rete + '' + @codiceFiscale + '' + @codiceContratto + '   ' + SET @testoMail = @testoMail + ltrim(rtrim(@codiceinterno)) + '/' + SET @testoMail = @testoMail + ltrim(rtrim(@codicesottoprodotto)) + '/' + SET @testoMail = @testoMail + ltrim(rtrim(@codicemaf)) + '/' + SET @testoMail = @testoMail + ltrim(rtrim(@isin)) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_FISCALE, + VAR_PERC_PTF, + VAR_COMPLESSIVO_BF + FROM + #VaRDiscordanti + WHERE + VAR_CORRETTO = 'KO' + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @varPercPtf, @varComplessivoBf + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @varPercPtf, @varComplessivoBf + END + SELECT @totale = COUNT(*) FROM #VaRDiscordanti WHERE VAR_CORRETTO = 'KO' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con VaR discordante:
' + @rete + '' + @codiceFiscale + '' + CAST(@varPercPtf AS VARCHAR) + '' + CAST(@varComplessivoBf AS VARCHAR) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_FISCALE, + ID_CONTRATTO + FROM + #PosizioniStatoL + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #PosizioniStatoL + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con posizioni stato Liquidato:
' + @rete + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_AGENTE, + COD_FISCALE, + ID_CONTRATTO + FROM + #ClientiSenzaDataSott + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaDataSott + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza data sottoscrizione
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + data_perf + FROM + #ClientiSenzaPiramideModello + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaPiramideModello + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza piramide modello
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + codiceFiscale, + data_perf + FROM + #ClientiSenzaContrattoSintesi + OPEN reader + FETCH NEXT FROM reader INTO @rete,@codiceAgente,@codiceFiscale,@data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete,@codiceAgente,@codiceFiscale,@data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaContrattoSintesi + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza righe Contratto Sintesi
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + codiceFiscale,data_perf + FROM + #ClientiSenzaProfiloMIFID + OPEN reader + FETCH NEXT FROM reader INTO @codiceFiscale,@data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @codiceFiscale,@data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaProfiloMIFID + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza righe profilo MIFID
' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader +--------------------------------------------------------------------- +--Email non inviate + --SET @testoMail = @testoMail + '

' + --DECLARE reader CURSOR LOCAL FORWARD_ONLY + --FOR + -- SELECT a.rete, a.cod_fiscale, a.cod_agente, + -- CASE Tipo + -- WHEN 'PERF' THEN 'perfezionamento' + -- WHEN '1_SOLL_NOASS' THEN '1° sollecito risorse non associate' + -- WHEN '2_SOLL_NOASS' THEN '2° sollecito risorse non associate' + -- WHEN '3_SOLL_NOASS' THEN '3° sollecito risorse non associate' + -- WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + -- WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + -- WHEN '1_SOLL_NOMIG' THEN '1° sollecito cliente non migrato' + -- WHEN '2_SOLL_NOMIG' THEN '2° sollecito cliente non migrato' + -- WHEN '3_SOLL_NOMIG' THEN '3° sollecito cliente non migrato' + -- WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + -- WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + -- --V aggiunta tipo mail profilo non attivo + -- WHEN '1_SOLL_NOPRO' THEN '1° sollecito profilo non attivo' + -- WHEN '2_SOLL_NOPRO' THEN '2° sollecito profilo non attivo' + -- WHEN '3_SOLL_NOPRO' THEN '3° sollecito profilo non attivo' + -- WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + -- WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + -- END AS Tipo + -- FROM C6Mart.Contrattosei a + -- inner join C6Mart.GESTIONE_EMAIL b + -- on + -- a.rete = b.rete + -- and + -- a.cod_fiscale = b.cod_fiscale + -- WHERE isnull(b.Inviata,'N')='N' + --OPEN reader + --FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceAgente, @tipo + --WHILE @@FETCH_STATUS = 0 + --BEGIN + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceAgente, @tipo + --END + --SELECT @totale = COUNT(*) FROM C6Mart.GESTIONE_EMAIL WHERE isnull(Inviata,'N')='N' + --SET @testoMail = @testoMail + '' + --SET @testoMail = @testoMail + '
Email non inviate:
' + @rete + '' + @codiceFiscale + '' + @codiceAgente + '' + @tipo + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + --CLOSE reader + --DEALLOCATE reader +--------------------------------------------------------------------- + SET @testoMail = @testoMail + '' + SELECT @testoMail + DROP TABLE #ReportGenerati + DROP TABLE #ReportNonGenerati + DROP TABLE #EmailInviate + DROP TABLE #IndirizziLunghi + DROP TABLE #PosizioniStatoL + DROP TABLE #ProdNonInCat + DROP TABLE #VaRDiscordanti + DROP TABLE #ClientiSenzaDataSott + DROP TABLE #ClientiSenzaPiramideModello + DROP TABLE #ClientiSenzaContrattoSintesi + DROP TABLE #ClientiSenzaProfiloMIFID +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_SRV_CHECK_C6_GIORNALIERO_AND.sql b/sql/storedTestbes/C6Mart_SRV_CHECK_C6_GIORNALIERO_AND.sql new file mode 100644 index 00000000..03e46370 --- /dev/null +++ b/sql/storedTestbes/C6Mart_SRV_CHECK_C6_GIORNALIERO_AND.sql @@ -0,0 +1,410 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[SRV_CHECK_C6_GIORNALIERO_AND] +AS +BEGIN + SET NOCOUNT ON; +SELECT DISTINCT * INTO #TEST_QUALITY FROM ( +SELECT *,12 AS ISLOG FROM C6MART.TEST_QUALITY +UNION +SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'Cliente con VaR discordante '+ convert(varchar,RA.VAR_PERC_PTF) + ' ' + convert(varchar,VC.VAR_COMPLESSIVO_BF) AS MOTIVO,0 +FROM + C6Mart.RISCHIO_AGGREGATO AS RA + INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE +WHERE + RA.COD_AGGREG = 'COMPLESSIVO|BF' + AND ABS(RA.VAR_PERC_PTF - VC.VAR_COMPLESSIVO_BF) > 0.02 + AND (VC.FiduMulitMand = 'N') +UNION +SELECT DISTINCT RETE,COD_FISCALE,'Indirizzo più lunghi di 36 caratteri' AS MOTIVO,6 +FROM C6Mart.vcontrattisei +WHERE data_fineavanzato > GETDATE() + AND isnull(numrevoche,0) = 0 + AND inviobenvenuto = 'N' + AND LEN(Indirizzo) > 36 +UNION + SELECT DISTINCT RETE,CODICEFISCALE + ,'Prodotto non a catalogo ' + isnull(codiceContratto,'') +', '+ ltrim(rtrim(isnull(codiceinterno,''))) + '/'+ ltrim(rtrim(isnull(codicesottoprodotto,''))) + '/'+ ltrim(rtrim(isnull(codicemaf,''))) + '/'+ ltrim(rtrim(isnull(isin,''))) As motivo ,7 +FROM C6Staging.SPB_CONTR_SINTESI WHERE POSITIONID IS NULL +UNION +SELECT DISTINCT CM.Rete,CM.Cod_Fiscale,'Cliente senza righe Contratto Sintesi' AS MOTIVO,8 +FROM C6Mart.RP_VContrattiMigrati CM +LEFT JOIN C6Staging.SPB_CONTR_SINTESI CS +ON CM.Cod_Fiscale = CS.CODICEFISCALE AND CM.RETE = CS.RETE +WHERE CS.CODICEFISCALE IS NULL +UNION +SELECT DISTINCT PB.RETE,PB.COD_FISCALE,'Cliente senza data sottoscrizione ' + dbo.toShortDateString(PB.ID_CONTRATTO) AS MOTIVO,9 + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.PATRIMONIO_BF AS PB + ON C.Rete = PB.RETE + AND C.Cod_Fiscale = PB.COD_FISCALE + INNER JOIN C6Mart.RISCHIO_AGGREGATO AS RA + ON PB.RETE = RA.RETE + AND PB.COD_FISCALE = RA.COD_FISCALE + WHERE + PB.DATA_SOTTOSCRIZIONE IS NULL + AND PB.TIPO_PRODOTTO = 'DT' +UNION +SELECT DISTINCT VC.Rete,VC.Cod_Fiscale,'Cliente senza piramide modello' AS MOTIVO,10 +FROM C6Mart.vcontrattiSEI VC + LEFT JOIN C6Mart.PIRAMIDE_MOD PM + ON VC.Cod_Fiscale=PM.Cod_Fiscale AND VC.RETE=PM.RETE +WHERE + VC.Data_FineAvanzato > getDate() + AND VC.inviobenvenuto = 'N' + AND VC.clientemigrato = 'S' + AND VC.risorseNA = 'N' + AND VC.profiloAttivo = 1 + AND DATEDIFF(d, VC.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND ISNULL(VC.NUMREVOCHE,0) = 0 + AND PM.Cod_Fiscale IS NULL +UNION +SELECT DISTINCT CM.RETE,CM.Cod_Fiscale,'Cliente senza righe profilo MIFID' AS MOTIVO,11 +FROM C6Mart.RP_VContrattiMigrati CM +LEFT JOIN C6Staging.SPB_MIFID MD +ON CM.Cod_Fiscale = MD.CODICEFISCALE AND CM.RETE = MD.RETE +WHERE MD.CODICEFISCALE IS NULL +) T +INSERT INTO #TEST_QUALITY +SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'Cliente con VaR discordante '+ convert(varchar,RA.VAR_PERC_PTF) + ' ' + convert(varchar,VC.VAR_COMPLESSIVO_BF) + CASE WHEN VC.FiduMulitMand = 'S' THEN ' FiduMulitMand' ELSE ' ' END AS MOTIVO,5 +FROM + C6Mart.RISCHIO_AGGREGATO AS RA + INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE +WHERE + RA.COD_AGGREG = 'COMPLESSIVO|BF' + AND ABS(RA.VAR_PERC_PTF - VC.VAR_COMPLESSIVO_BF) <> 0.00 +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in EMAIL' AS MOTIVO,12 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](email) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in INDIRIZZO' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](Indirizzo) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in CAP' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](CAP) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in Citta' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](Citta) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in Provincia' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](Provincia) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in Nazione' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](Nazione) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in Presso' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](Presso) = 'S' and data_fineavanzato > getdate() + SELECT + Tipo + ,CASE Tipo + WHEN 'PERF' THEN 'Perfezionamento' + WHEN '1_SOLL_NOASS' THEN '1º sollecito risorse non associate' + WHEN '2_SOLL_NOASS' THEN '2º sollecito risorse non associate' + WHEN '3_SOLL_NOASS' THEN '3º sollecito risorse non associate' + WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + WHEN '1_SOLL_NOMIG' THEN '1º sollecito cliente non migrato' + WHEN '2_SOLL_NOMIG' THEN '2º sollecito cliente non migrato' + WHEN '3_SOLL_NOMIG' THEN '3º sollecito cliente non migrato' + WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + WHEN '1_SOLL_NOPRO' THEN '1º sollecito profilo non attivo' + WHEN '2_SOLL_NOPRO' THEN '2º sollecito profilo non attivo' + WHEN '3_SOLL_NOPRO' THEN '3º sollecito profilo non attivo' + WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + END AS DescTipo + ,CASE Tipo + WHEN 'PERF' THEN 1 + WHEN '1_SOLL_NOMIG' THEN 2 + WHEN '2_SOLL_NOMIG' THEN 3 + WHEN '3_SOLL_NOMIG' THEN 4 + WHEN 'S_SOLL_NOMIG' THEN 5 + WHEN 'REVOCA_NOMIG' THEN 6 + WHEN '1_SOLL_NOASS' THEN 7 + WHEN '2_SOLL_NOASS' THEN 8 + WHEN '3_SOLL_NOASS' THEN 9 + WHEN 'S_SOLL_NOASS' THEN 10 + WHEN 'REVOCA_NOASS' THEN 11 + WHEN '1_SOLL_NOPRO' THEN 12 + WHEN '2_SOLL_NOPRO' THEN 13 + WHEN '3_SOLL_NOPRO' THEN 14 + WHEN 'S_SOLL_NOPRO' THEN 15 + WHEN 'REVOCA_NOPRO' THEN 16 + END AS Ordine + ,COUNT(Tipo) AS Totale + INTO #EmailInviate + FROM C6Mart.GESTIONE_EMAIL + WHERE dbo.toShortDateString(Data_generazione) = dbo.toShortDateString(GETDATE()) + GROUP BY Tipo + SELECT C.rete + ,C.Cod_fiscale + ,C.cod_Agente + ,case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(C.cod_fiscale,4,6) else C.Cod_Fiscale end as cliente + ,C.data_perf + ,Tipo + ,C.ClienteMIGRATO + ,C.RISORSENA + ,C.PROFILOATTIVO + ,case when dbo.toShortDateString(Data_generazione) = dbo.toShortDateString(GETDATE()) then 'S' else 'N' end as FLAGG + ,case when dbo.toShortDateString(Data_invio) = dbo.toShortDateString(GETDATE()) then 'S' else 'N' end as FLAGI + ,inviata + ,row_number() over (partition by C.rete,C.Cod_fiscale ORDER BY CASE Tipo + WHEN 'PERF' THEN 1 + WHEN '1_SOLL_NOMIG' THEN 2 + WHEN '2_SOLL_NOMIG' THEN 3 + WHEN '3_SOLL_NOMIG' THEN 4 + WHEN 'S_SOLL_NOMIG' THEN 5 + WHEN 'REVOCA_NOMIG' THEN 6 + WHEN '1_SOLL_NOASS' THEN 7 + WHEN '2_SOLL_NOASS' THEN 8 + WHEN '3_SOLL_NOASS' THEN 9 + WHEN 'S_SOLL_NOASS' THEN 10 + WHEN 'REVOCA_NOASS' THEN 11 + WHEN '1_SOLL_NOPRO' THEN 12 + WHEN '2_SOLL_NOPRO' THEN 13 + WHEN '3_SOLL_NOPRO' THEN 14 + WHEN 'S_SOLL_NOPRO' THEN 15 + WHEN 'REVOCA_NOPRO' THEN 16 + END) as duplicato + INTO #EmailInviateDett + FROM C6Mart.GESTIONE_EMAIL E INNER JOIN C6MART.VCONTRATTISEI C + ON E.COD_FISCALE = C.COD_FISCALE AND E.RETE=C.RETE + WHERE dbo.toShortDateString(Data_generazione) = dbo.toShortDateString(GETDATE()) + OR dbo.toShortDateString(Data_invio) = dbo.toShortDateString(GETDATE()) +SELECT + C.Rete, + C.Cod_fiscale, + C.Cod_Agente, + case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(C.cod_fiscale,4,6) else C.Cod_Fiscale end as cliente, + C.Data_Perf + INTO #ReportGenerati + FROM + C6Mart.GESTIONE_PDF_FTP AS GPF + INNER JOIN C6Mart.VCONTRATTI AS C + ON GPF.RETE = C.Rete + AND GPF.CODICEFISCALE = C.Cod_Fiscale + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on C.chiaveclientepb = M.chiaveclientepb + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND Data_FineAvanzato > getDate() +SElECT DISTINCT + V.COD_FISCALE + ,V.RETE + ,V.COD_AGENTE + ,V.piva_fiduciaria + ,V.DATA_PERF + ,V.ClienteMigrato + ,V.RisorseNA + ,V.profiloAttivo + ,V.Data_UltimaRevoca + ,CASE WHEN Q.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END AS TestQuality + ,CASE WHEN DATEDIFF(d, DATA_PERF, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) THEN 'S' ELSE 'N' END AS FinePerf + ,InvioBenvenuto as Generato +INTO #TuttiReport +FROM C6MART.VCONTRATTISEI V +LEFT JOIN #TEST_QUALITY Q + ON V.COD_FISCALE = Q.COD_FISCALE AND V.RETE = Q.RETE +WHERE 1=1 +AND V.INVIOBENVENUTO = 'N' +AND DATA_FINEAVANZATO > getDate() +SELECT * +, 'n.ro giorni trascorsi dal perfezionamento: ' + CONVERT(VARCHAR,DATEDIFF(d,DATA_PERF, GETDATE())) AS Motivo +,CASE when Cod_Fiscale like '%@%' then piva_fiduciaria + ' ' + substring( cod_fiscale,4,6) else Cod_Fiscale end as CLIENTE +INTO #ReportNonGenerati +FROM #TuttiReport WHERE(FINEPERF = 'S') OR (FINEPERF = 'N' AND TestQuality = 'S') +SELECT + Q.RETE + ,Q.COD_FISCALE + ,Q.MOTIVO + ,CASE WHEN Q.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END AS TestQuality + ,CASE WHEN DATEDIFF(d, DATA_PERF, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) THEN 'S' ELSE 'N' END AS FinePerf + ,InvioBenvenuto as Generato + ,Q.ISLOG +INTO #DettReport +FROM #TEST_QUALITY Q +INNER JOIN C6MART.VCONTRATTISEI V + ON V.COD_FISCALE = Q.COD_FISCALE AND V.RETE = Q.RETE + WHERE ISLOG > 0 +UNION +SELECT rete,COD_FISCALE,'In attesa di gestione Revoca 'AS MOTIVO,TestQuality,FinePerf, Generato,1 as ISLOG from #ReportNonGenerati WHERE Data_UltimaRevoca IS NOT NULL +UNION +SELECT rete,COD_FISCALE,'Cliente non migrato ' AS MOTIVO,TestQuality,FinePerf,Generato,2 as ISLOG from #ReportNonGenerati WHERE isnull(ClienteMigrato,'N') = 'N' +UNION +SELECT rete,COD_FISCALE,'Risorse non associate ' AS MOTIVO,TestQuality,FinePerf,Generato,3 as ISLOG from #ReportNonGenerati WHERE isnull(RisorseNA,'S') = 'S' +UNION +SELECT rete,COD_FISCALE,'Profilo non attivo ' AS MOTIVO,TestQuality,FinePerf,Generato,4 as ISLOG from #ReportNonGenerati WHERE isnull(profiloAttivo,0) = 0 +-- SELECT * FROM #EmailInviateDett +-- SELECT * FROM #EmailInviate +-- SELECT * FROM #TEST_QUALITY +-- SELECT * FROM #TuttiReport where cod_fiscale = 'VCCGPP46D06F205X' +-- SELECT * FROM #ReportGenerati where cod_fiscale = 'VCCGPP46D06F205X' +-- SELECT * FROM #ReportNonGenerati where cod_fiscale = 'VCCGPP46D06F205X' +-- SELECT * FROM #DettReport where cod_fiscale = 'VCCGPP46D06F205X' +-- SELECT * FROM #EmailInviate +DECLARE @testoMail0 VARCHAR(MAX) +DECLARE @testoMail1 VARCHAR(MAX) +DECLARE @testoMail2 VARCHAR(MAX) +DECLARE @testoMail3 VARCHAR(MAX) +DECLARE @testoMail4 VARCHAR(MAX) +DECLARE @rete CHAR(1) +DECLARE @cod_fiscale CHAR(16) +DECLARE @codiceAgente VARCHAR(6) +DECLARE @cliente VARCHAR(25) +DECLARE @data DATETIME +DECLARE @Motivo VARCHAR(100) +DECLARE @testQuality CHAR(1) +DECLARE @FinePerf CHAR(1) +DECLARE @totale INT + -- [C6Mart].[SRV_CHECK_C6_GIORNALIERO_AND] +set @testoMail0 = '

Rapporto giornaliero

' +set @testoMail1 = ''; +SET @testoMail2 = '' +SET @testoMail3 = '' +SET @testoMail4 = '' +SET @totale = 0 +--********************************************************************************* +--********************************************************************************* +--********************************************************************************* + SET @totale = 0 + SELECT @totale = isnull(sum(totale),0) FROM #EmailInviate + SET @testoMail1 = @testoMail1 + '

' + DECLARE @tipoEmail VARCHAR(100) + DECLARE @DescTipo VARCHAR(100) + DECLARE @totaleEmail VARCHAR(100) + DECLARE @ClienteMIGRATO VARCHAR(1) + DECLARE @RISORSENA VARCHAR(1) + DECLARE @FLAGG VARCHAR(1) + DECLARE @FLAGI VARCHAR(1) + DECLARE @PROFILOATTIVO INT + DECLARE @DUPLICATO INT + DECLARE reader CURSOR FOR SELECT DescTipo,convert(varchar,totale),tipo FROM #EmailInviate ORDER BY Ordine + OPEN reader + FETCH NEXT FROM reader INTO @DescTipo, @totaleEmail,@tipoEmail + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail1 = @testoMail1 +'
E-mail inviate
'+@DescTipo+''+@totaleEmail+'
' + FETCH NEXT FROM reader INTO @DescTipo, @totaleEmail,@tipoEmail + END + SET @testoMail1 = @testoMail1 + 'Totale: ' + CAST(@totale AS VARCHAR) + '' + CLOSE reader + DEALLOCATE reader + DECLARE reader CURSOR FOR SELECT rete,Cod_fiscale, cod_Agente, cliente, data_perf,tipo,ClienteMIGRATO,RISORSENA ,PROFILOATTIVO,DUPLICATO,FLAGG,FLAGI FROM #EmailInviateDett order by DUPLICATO asc + OPEN reader + FETCH NEXT FROM reader INTO @rete, @Cod_Fiscale, @codiceAgente , @cliente, @data,@tipoEmail,@ClienteMIGRATO,@RISORSENA ,@PROFILOATTIVO,@DUPLICATO,@FLAGG,@FLAGI + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
'+@rete+''+@codiceAgente+''+@cliente+''+dbo.toShortDateString(@data)+'
'); + IF @PROFILOATTIVO = 1 AND @RISORSENA = 'N' AND @ClienteMIGRATO = 'S' AND @tipoEmail <> 'PERF' AND @tipoEmail<>'REVOCA_NOMIG' AND @tipoEmail<>'REVOCA_NOASS' AND @tipoEmail<>'REVOCA_NOPRO' + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
Tipo Email Errata
'); + IF @DUPLICATO <> 1 + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
' + CONVERT(VARCHAR,@DUPLICATO) + 'º email inviata
'); + IF @FLAGG = 'S' AND @FLAGI = 'N' + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
Email non inviata
'); + IF @FLAGG = 'N' AND @FLAGI = 'S' AND @tipoEmail<>'REVOCA_NOMIG' AND @tipoEmail<>'REVOCA_NOASS' AND @tipoEmail<>'REVOCA_NOPRO' + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
Invio Email Errata
'); + IF @PROFILOATTIVO <> 1 + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
Profilo non attivo
'); + IF @RISORSENA <> 'N' + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
Risorse non associate
'); + IF @ClienteMIGRATO <> 'S' + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
Cliente non migrato
'); + FETCH NEXT FROM reader INTO @rete, @Cod_Fiscale, @codiceAgente , @cliente, @data,@tipoEmail,@ClienteMIGRATO,@RISORSENA ,@PROFILOATTIVO,@DUPLICATO,@FLAGG,@FLAGI + END + CLOSE reader + DEALLOCATE reader +--********************************************************************************* +--********************************************************************************* +--********************************************************************************* + SET @totale = 0 + SELECT @totale = COUNT(*) FROM #ReportGenerati + SET @testoMail2 = @testoMail2 + '

' + DECLARE reader CURSOR FOR SELECT rete,Cod_fiscale, cod_Agente, cliente, data_perf FROM #ReportGenerati ORDER BY DATA_PERF + OPEN reader + FETCH NEXT FROM reader INTO @rete,@Cod_fiscale, @codiceAgente, @cliente, @data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail2 = @testoMail2 +'
Report generati
'+@rete+''+@codiceAgente+''+@cliente+''+dbo.toShortDateString(@data)+'
' + FETCH NEXT FROM reader INTO @rete,@Cod_fiscale, @codiceAgente, @cliente, @data + END + SET @testoMail2 = @testoMail2 + 'Totale: ' + CAST(@totale AS VARCHAR) + '' + SET @testoMail0 = @testoMail0 + '
Report generati'+CAST(@totale AS VARCHAR)+'
' + CLOSE reader + DEALLOCATE reader +--********************************************************************************* +--********************************************************************************* +--********************************************************************************* + SET @totale = 0 + SELECT @totale = COUNT(*) FROM #ReportNonGenerati WHERE FINEPERF = 'S' + SET @testoMail3 = @testoMail3 + '

' + DECLARE reader CURSOR FOR SELECT rete, cod_fiscale, cod_Agente, cliente, data_perf, Motivo,testQuality FROM #ReportNonGenerati WHERE FINEPERF = 'S' ORDER BY DATA_PERF + OPEN reader + FETCH NEXT FROM reader INTO @rete, @cod_fiscale, @codiceAgente, @cliente, @data, @Motivo,@testQuality + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail3 = @testoMail3 +'
Report non generati
'+@rete+''+@codiceAgente+''+@cliente+''+dbo.toShortDateString(@data)+''+@Motivo+'
' + FETCH NEXT FROM reader INTO @rete, @cod_fiscale, @codiceAgente, @cliente, @data, @Motivo,@testQuality + END + SET @testoMail3 = @testoMail3 + 'Totale: ' + CAST(@totale AS VARCHAR) + '' + SET @testoMail0 = @testoMail0 + '
Report non generati'+CAST(@totale AS VARCHAR)+'
' + CLOSE reader + DEALLOCATE reader +----********************************************************************************* +----********************************************************************************* +----********************************************************************************* + SET @totale = 0 + DECLARE @totale2 INT + SELECT @totale = COUNT(*) FROM #ReportNonGenerati WHERE FINEPERF = 'N' AND TestQuality = 'S' + SELECT @totale2 = COUNT(*) FROM #TuttiReport WHERE FINEPERF = 'N' + SET @testoMail4 = @testoMail4 + '

' + DECLARE reader CURSOR FOR SELECT rete, cod_fiscale, cod_Agente, cliente, data_perf, Motivo,testQuality FROM #ReportNonGenerati WHERE FINEPERF = 'N' AND TestQuality = 'S' ORDER BY DATA_PERF + OPEN reader + FETCH NEXT FROM reader INTO @rete, @cod_fiscale, @codiceAgente, @cliente, @data, @Motivo,@testQuality + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail4 = @testoMail4 +'
Report errati in Perfezionamento
'+@rete+''+@codiceAgente+''+@cliente+''+dbo.toShortDateString(@data)+''+@Motivo+'
' + FETCH NEXT FROM reader INTO @rete, @cod_fiscale, @codiceAgente, @cliente, @data, @Motivo,@testQuality + END + SET @testoMail4 = @testoMail4 + 'Totale: ' + CAST(@totale AS VARCHAR) + ' su ' + CAST(@totale2 AS VARCHAR) + '' + SET @testoMail0 = @testoMail0 + '
Report errati in Perfezionamento'+ CAST(@totale AS VARCHAR) + ' su ' + CAST(@totale2 AS VARCHAR) +'
' + CLOSE reader + DEALLOCATE reader +----********************************************************************************* +----********************************************************************************* +----********************************************************************************* + DECLARE reader CURSOR FOR SELECT Rete,Cod_Fiscale,Motivo,TestQuality,CASE WHEN generato ='S' THEN 'G' ELSE FinePerf END FinePerf FROM #DettReport order by ISLOG desc + OPEN reader + FETCH NEXT FROM reader INTO @rete, @Cod_Fiscale, @Motivo , @testQuality, @FinePerf + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail2 = REPLACE(@testoMail2,'',''+'
'+@Motivo+'
'); + SET @testoMail3 = REPLACE(@testoMail3,'',''+'
'+@Motivo+'
'); + SET @testoMail4 = REPLACE(@testoMail4,'',''+'
'+@Motivo+'
'); + FETCH NEXT FROM reader INTO @rete, @Cod_Fiscale, @Motivo, @testQuality, @FinePerf + END + CLOSE reader + DEALLOCATE reader +----********************************************************************************* +----********************************************************************************* +----********************************************************************************* +SET @testoMail0 = @testoMail0 + '

In allegato dettaglio del Giornaliero' +DROP TABLE #TEST_QUALITY +DROP TABLE #EmailInviate +DROP TABLE #EmailInviateDett +DROP TABLE #TuttiReport +DROP TABLE #ReportNonGenerati +DROP TABLE #DettReport +DROP TABLE #ReportGenerati +SELECT @testoMail0,@testoMail1,@testoMail2,@testoMail3,@testoMail4,'' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_SRV_ESTRAZ_GIORNALIERA_CC.sql b/sql/storedTestbes/C6Mart_SRV_ESTRAZ_GIORNALIERA_CC.sql new file mode 100644 index 00000000..e000d62e --- /dev/null +++ b/sql/storedTestbes/C6Mart_SRV_ESTRAZ_GIORNALIERA_CC.sql @@ -0,0 +1,77 @@ +-- ============================================= +-- Author: alessandro Tringali +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[SRV_ESTRAZ_GIORNALIERA_CC] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_ESTRAZ_GIORNALIERA_CC', + GETDATE(), + 'Elaborazione giornaliera' + ) +--V Cancellazione delle tuple inserite nel giorno corrente, può accadere che la procedura viene +-- lanciata più di una volta, in quel caso inserirei righe doppie. +DELETE FROM C6MART.ESTRAZ_GIORNALIERA_CC +WHERE DATEDIFF(dd,dataGenerazione,getDate()) = 0 +INSERT INTO C6MART.ESTRAZ_GIORNALIERA_CC +SELECT +a.COD_FISCALE, +A.RETE, +CODICECONTRATTO, +DATAGENERAZIONE, +NUMERO_CC, +C.CTV_CC, +D.TOT_CTV, +D.TOT_CTV_NO_CC +FROM +C6MART.VCONTRATTI A, +C6MART.GESTIONE_PDF_FTP B, +( + SELECT + COD_FISCALE, + RETE, + COD_CC AS NUMERO_CC, + SUM(SALDOCONTABILE) AS CTV_CC + FROM C6MART.ANAG_CC + GROUP BY + COD_FISCALE, + RETE, + COD_CC + ) C, +( SELECT COD_FISCALE, RETE, + SUM(CTV) AS TOT_CTV, + SUM(CASE WHEN TIPO_PRODOTTO='CC' THEN 0 ELSE CTV END) AS TOT_CTV_NO_CC FROM C6MART.PATRIMONIO_BF + GROUP BY COD_FISCALE, RETE +)D +WHERE +A.COD_FISCALE=B.CODICEFISCALE +AND A.RETE=B.RETE +AND A.COD_FISCALE=C.COD_FISCALE +AND A.RETE=C.RETE +AND A.COD_FISCALE=D.COD_FISCALE +AND A.RETE=D.RETE +ORDER BY 1,2,3,5 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'DELETE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_ESTRAZ_GIORNALIERA_CC' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_ESTRAZ_GIORNALIERA_CC' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_SRV_SELECT_EMAIL_BY_ISODATE.sql b/sql/storedTestbes/C6Mart_SRV_SELECT_EMAIL_BY_ISODATE.sql new file mode 100644 index 00000000..4291b572 --- /dev/null +++ b/sql/storedTestbes/C6Mart_SRV_SELECT_EMAIL_BY_ISODATE.sql @@ -0,0 +1,31 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[SRV_SELECT_EMAIL_BY_ISODATE] + @date VARCHAR(8) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + IF ISDATE(@date) = 0 + RETURN + SELECT + Email_Id, + Rete, + Cod_Fiscale, + Tipo, + Data_Generazione, + Inviata, + Data_Invio, + Data_Comunicazione_Host, + ID_ELAB + FROM + C6Mart.GESTIONE_EMAIL + WHERE + DATEPART(yy, Data_Generazione) = DATEPART(yy, @date) AND + DATEPART(m, Data_Generazione) = DATEPART(m, @date) AND + DATEPART(d, Data_Generazione) = DATEPART(d, @date) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_SRV_STORICIZZAZIONE.sql b/sql/storedTestbes/C6Mart_SRV_STORICIZZAZIONE.sql new file mode 100644 index 00000000..938f66da --- /dev/null +++ b/sql/storedTestbes/C6Mart_SRV_STORICIZZAZIONE.sql @@ -0,0 +1,672 @@ +-- ============================================= +-- Author: paolo giovanetti +-- Create date: 23 gennaio 2009 +-- Description: - rimossa la transazione inutile +-- - aggiunta la storicizzazione delle elaborazioni e del global_error +-- - la storicizzazione di GESTIONE_ZIP_FTP prevede la sua pulizia sul MART !! +-- ============================================= +CREATE procedure [C6Mart].[SRV_STORICIZZAZIONE] + @NomeTabella VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico espresso in giorni + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MART.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + SET @ID_ELAB = C6MART.GETIDELAB() +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX INIZIO TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --XXXXXXXXXXXXXXXXXXXXXXXX ALBERO_PRODOTTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALBERO_PRODOTTI') + BEGIN + DELETE FROM C6Storico.ALBERO_PRODOTTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ALBERO_PRODOTTI + (DESCRIZIONE_ORIGINALE, ALBERO_GERARCHIA_1, ALBERO_GERARCHIA_2, ALBERO_GERARCHIA_3, ID_ELAB) + SELECT + AP.DESCRIZIONE_ORIGINALE, AP.ALBERO_GERARCHIA_1, AP.ALBERO_GERARCHIA_2, AP.ALBERO_GERARCHIA_3, AP.ID_ELAB + FROM C6Mart.ALBERO_PRODOTTI AP + LEFT OUTER JOIN C6Storico.ALBERO_PRODOTTI SAP + ON AP.DESCRIZIONE_ORIGINALE = SAP.DESCRIZIONE_ORIGINALE + WHERE AP.ID_ELAB = @ID_ELAB AND AP.DESCRIZIONE_ORIGINALE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CC XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CC') + BEGIN + DELETE FROM C6Storico.ANAG_CC WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_CC + (RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDOCONTABILE,SALDODISPONIBILE, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB, TIPO_ELAB) + SELECT + AC.RETE, AC.COD_FISCALE, AC.INTERMEDIARIO, AC.COINTEST, AC.COD_CC, AC.FASCIA_CPP, AC.SALDOCONTABILE, AC.SALDODISPONIBILE, AC.DATA_APERTURA, AC.DATA_CHIUSURA, AC.ID_ELAB, AC.TIPO_ELAB + FROM C6Mart.ANAG_CC AC + LEFT OUTER JOIN C6Storico.ANAG_CC SAC + ON AC.RETE = SAC.RETE + AND AC.COD_FISCALE = SAC.COD_FISCALE + AND AC.COD_CC = SAC.COD_CC + WHERE AC.ID_ELAB = @ID_ELAB AND SAC.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CC_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CC_TERZI') + BEGIN + DELETE FROM C6Storico.ANAG_CC_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_CC_TERZI + (RETE, COD_FISCALE, INTERMEDIARIO, COINTEST, COD_CC, FASCIA_CPP, SALDO, DATA_APERTURA, DATA_CHIUSURA, ID_ELAB) + SELECT + ACT.RETE, ACT.COD_FISCALE, ACT.INTERMEDIARIO, ACT.COINTEST, ACT.COD_CC, ACT.FASCIA_CPP, ACT.SALDO, ACT.DATA_APERTURA, ACT.DATA_CHIUSURA, ACT.ID_ELAB + FROM C6Mart.ANAG_CC_TERZI ACT + LEFT OUTER JOIN C6Storico.ANAG_CC_TERZI SACT + ON ACT.RETE = SACT.RETE + AND ACT.COD_FISCALE = SACT.COD_FISCALE + AND ACT.INTERMEDIARIO = SACT.INTERMEDIARIO + AND ACT.COD_CC = SACT.COD_CC + WHERE ACT.ID_ELAB = @ID_ELAB AND SACT.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CLIENTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CLIENTI') + BEGIN + DELETE FROM C6Storico.ANAG_CLIENTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_CLIENTI + (RETE, COD_FISCALE, NOME, COGNOME, DATA_NASCITA, STATO_CIVILE, NUM_COMPONENTI, NUM_FIGLI, ETA, PARTITA_IVA, CITTADINANZA, PERSONA_FIS_GIUR, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, PRESSO, TEL_RECAPITO, TEL_CELL, E_MAIL, DATA_INIZIO, DATA_FINE, STATO, RAG_SOC, SESSO, ID_PROMOTORE, ID_ELAB, TIPO_ELAB) + SELECT + AC.RETE, AC.COD_FISCALE, AC.NOME, AC.COGNOME, AC.DATA_NASCITA, AC.STATO_CIVILE, AC.NUM_COMPONENTI, AC.NUM_FIGLI, AC.ETA, AC.PARTITA_IVA, AC.CITTADINANZA, AC.PERSONA_FIS_GIUR, AC.INDIRIZZO, AC.LOCALITA, AC.PROVINCIA, AC.CAP, AC.NAZIONE, AC.PRESSO, AC.TEL_RECAPITO, AC.TEL_CELL, AC.E_MAIL, AC.DATA_INIZIO, AC.DATA_FINE, AC.STATO, AC.RAG_SOC, AC.SESSO, AC.ID_PROMOTORE, AC.ID_ELAB, AC.TIPO_ELAB + FROM C6Mart.ANAG_CLIENTI AC + LEFT OUTER JOIN C6Storico.ANAG_CLIENTI SAC + ON AC.RETE = SAC.RETE + AND AC.COD_FISCALE = SAC.COD_FISCALE + WHERE AC.ID_ELAB = @ID_ELAB AND SAC.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CLIENTI_PREV XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CLIENTI_PREV') + -- BEGIN + -- DELETE FROM C6Storico.ANAG_CLIENTI_PREV WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.ANAG_CLIENTI_PREV + -- (RETE, COD_FISCALE, STATO_LAVORATIVO, PROFESSIONE, CAT_PROFESSIONALE, DATA_INIZIO, DATA_FINE, RETRIB_LORDA, PROFESSIONE_SEC, CAT_PROFESSIONALE_SEC, DATA_INIZIO_SEC, DATA_FINE_SEC, RETRIB_LORDA_SEC, PROFESSIONE_PREC, CAT_PROFESSIONALE_PREC, DATA_INIZIO_PREC, DATA_FINE_PREC, RETRIB_LORDA_PREC, RICONGIUNZIONE, ID_ELAB, TIPO_ELAB) + -- SELECT + -- RETE, COD_FISCALE, STATO_LAVORATIVO, PROFESSIONE, CAT_PROFESSIONALE, DATA_INIZIO, DATA_FINE, RETRIB_LORDA, PROFESSIONE_SEC, CAT_PROFESSIONALE_SEC, DATA_INIZIO_SEC, DATA_FINE_SEC, RETRIB_LORDA_SEC, PROFESSIONE_PREC, CAT_PROFESSIONALE_PREC, DATA_INIZIO_PREC, DATA_FINE_PREC, RETRIB_LORDA_PREC, RICONGIUNZIONE, ID_ELAB, TIPO_ELAB + -- FROM C6Mart.ANAG_CLIENTI_PREV WHERE ID_ELAB = @ID_ELAB + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CONTRATTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CONTRATTI') + BEGIN + DELETE FROM C6Storico.ANAG_CONTRATTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_CONTRATTI + (ID_CONTRATTO, RETE, COD_FISCALE, COD_PRODOTTO, INTERMEDIARIO, DATA_SOTTOSCRIZIONE, DATA_PERF, DATA_CHIUSURA, STATO, COD_SOTTOPRODOTTO, TIPO_PRODOTTO, COD_INTERNO, COD_MANDATO, COD_CC, RUBRICATO, CUSTODIA_GAR, ID_ELAB, TIPO_ELAB) + SELECT + AC.ID_CONTRATTO, AC.RETE, AC.COD_FISCALE, AC.COD_PRODOTTO, AC.INTERMEDIARIO, AC.DATA_SOTTOSCRIZIONE, AC.DATA_PERF, AC.DATA_CHIUSURA, AC.STATO, AC.COD_SOTTOPRODOTTO, AC.TIPO_PRODOTTO, AC.COD_INTERNO, AC.COD_MANDATO, AC.COD_CC, AC.RUBRICATO, AC.CUSTODIA_GAR, AC.ID_ELAB, AC.TIPO_ELAB + FROM C6Mart.ANAG_CONTRATTI AC + LEFT OUTER JOIN C6Storico.ANAG_CONTRATTI SAC + ON AC.ID_CONTRATTO = SAC.ID_CONTRATTO + AND AC.RETE = SAC.RETE + AND AC.COD_FISCALE = SAC.COD_FISCALE + AND AC.COD_PRODOTTO = SAC.COD_PRODOTTO + WHERE AC.ID_ELAB = @ID_ELAB AND SAC.ID_CONTRATTO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_CONTRATTI_ASS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_CONTRATTI_ASS') + BEGIN + DELETE FROM C6Storico.ANAG_CONTRATTI_ASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_CONTRATTI_ASS + (RETE, COD_FISCALE, NUM_POLIZZA, ID_CONTRATTO, TIPO_PRODOTTO, PREMIO, IMPORTO_RATA, FREQ_RATA, IMPORTO_ASSICURATO, DURATA_POLIZZA, ALIQUOTA, COD_SOTTOPRODOTTO, COD_INTERNO, DATA_APERTURA, DATA_CHIUSURA, INTERMEDIARIO, STATO, DIV_RIFERIMENTO, CAMBIO, ID_ELAB, TIPO_ELAB) + SELECT + ACA.RETE, ACA.COD_FISCALE, ACA.NUM_POLIZZA, ACA.ID_CONTRATTO, ACA.TIPO_PRODOTTO, ACA.PREMIO, ACA.IMPORTO_RATA, ACA.FREQ_RATA, ACA.IMPORTO_ASSICURATO, ACA.DURATA_POLIZZA, ACA.ALIQUOTA, ACA.COD_SOTTOPRODOTTO, ACA.COD_INTERNO, ACA.DATA_APERTURA, ACA.DATA_CHIUSURA, ACA.INTERMEDIARIO, ACA.STATO, ACA.DIV_RIFERIMENTO, ACA.CAMBIO, ACA.ID_ELAB, ACA.TIPO_ELAB + FROM C6Mart.ANAG_CONTRATTI_ASS ACA + LEFT OUTER JOIN C6Storico.ANAG_CONTRATTI_ASS SACA + ON ACA.RETE = SACA.RETE + AND ACA.COD_FISCALE = SACA.COD_FISCALE + AND ACA.ID_CONTRATTO = SACA.ID_CONTRATTO + AND ACA.COD_SOTTOPRODOTTO = SACA.COD_SOTTOPRODOTTO + WHERE ACA.ID_ELAB = @ID_ELAB AND SACA.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_EMITTENTI XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_EMITTENTI') + -- BEGIN + -- DELETE FROM C6Storico.ANAG_EMITTENTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.ANAG_EMITTENTI + -- (ID_EMITTENTE, DESCRIZIONE, NOTE, ID_ELAB) + -- SELECT + -- ID_EMITTENTE, DESCRIZIONE, NOTE, ID_ELAB + -- FROM C6Mart.ANAG_EMITTENTI WHERE ID_ELAB = @ID_ELAB + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_PRODOTTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_PRODOTTI') + BEGIN + DELETE FROM C6Storico.ANAG_PRODOTTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_PRODOTTI + (COD_PRODOTTO, COD_ISIN, PAESE, ID_AREA, CAT_PRODOTTO, TIPO_PRODOTTO, DESCR_PRODOTTO, DIV_QUOTAZIONE, DIV_REGOLAMENTO, ID_EMITTENTE, MERCATO_CONTRATT, COD_MAF, RATING, COD_ADEGUATEZZA, COD_SOTTOPRODOTTO, COD_INTERNO, ID_ELAB, TIPO_ELAB) + SELECT + AP.COD_PRODOTTO, AP.COD_ISIN, AP.PAESE, AP.ID_AREA, AP.CAT_PRODOTTO, AP.TIPO_PRODOTTO, AP.DESCR_PRODOTTO, AP.DIV_QUOTAZIONE, AP.DIV_REGOLAMENTO, AP.ID_EMITTENTE, AP.MERCATO_CONTRATT, AP.COD_MAF, AP.RATING, AP.COD_ADEGUATEZZA, AP.COD_SOTTOPRODOTTO, AP.COD_INTERNO, AP.ID_ELAB, AP.TIPO_ELAB + FROM C6Mart.ANAG_PRODOTTI AP + LEFT OUTER JOIN C6Storico.ANAG_PRODOTTI SAP + ON AP.COD_PRODOTTO = SAP.COD_PRODOTTO + WHERE AP.ID_ELAB = @ID_ELAB AND SAP.COD_PRODOTTO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_PRODOTTI_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_PRODOTTI_TERZI') + BEGIN + DELETE FROM C6Storico.ANAG_PRODOTTI_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_PRODOTTI_TERZI + (COD_PRODOTTO, COD_PRODOTTO_TERZI, NOME_PRODOTTO, ALBERO_PRODOTTI, COD_ISIN, DESCR_PRODOTTO, DIV_QUOTAZIONE, INTERMEDIARIO, DIV_REGOLAMENTO, ID_EMITTENTE, MERCATO_CONTRATT, PAESE, RATING, ID_ELAB, TIPO_ELAB) + SELECT + APT.COD_PRODOTTO, APT.COD_PRODOTTO_TERZI, APT.NOME_PRODOTTO, APT.ALBERO_PRODOTTI, APT.COD_ISIN, APT.DESCR_PRODOTTO, APT.DIV_QUOTAZIONE, APT.INTERMEDIARIO, APT.DIV_REGOLAMENTO, APT.ID_EMITTENTE, APT.MERCATO_CONTRATT, APT.PAESE, APT.RATING, APT.ID_ELAB, APT.TIPO_ELAB + FROM C6Mart.ANAG_PRODOTTI_TERZI APT + LEFT OUTER JOIN C6Storico.ANAG_PRODOTTI_TERZI SAPT + ON APT.COD_PRODOTTO_TERZI = SAPT.COD_PRODOTTO_TERZI + WHERE APT.ID_ELAB = @ID_ELAB AND SAPT.COD_PRODOTTO_TERZI IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ANAG_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ANAG_PROMOTORI') + BEGIN + DELETE FROM C6Storico.ANAG_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ANAG_PROMOTORI + (RETE, ID_PROMOTORE, LIVELLO, COD_FISCALE, PARTITA_IVA, COGNOME, NOME, RAG_SOC, DATA_INIZIO, DATA_FINE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, TEL_RECAPITO, TEL_CELL, E_MAIL, COD_ABI, COD_CAB, COD_CIN, COD_CC, STATO, ID_ELAB, TIPO_ELAB) + SELECT + AP.RETE, AP.ID_PROMOTORE, AP.LIVELLO, AP.COD_FISCALE, AP.PARTITA_IVA, AP.COGNOME, AP.NOME, AP.RAG_SOC, AP.DATA_INIZIO, AP.DATA_FINE, AP.INDIRIZZO, AP.LOCALITA, AP.PROVINCIA, AP.CAP, AP.NAZIONE, AP.TEL_RECAPITO, AP.TEL_CELL, AP.E_MAIL, AP.COD_ABI, AP.COD_CAB, AP.COD_CIN, AP.COD_CC, AP.STATO, AP.ID_ELAB, AP.TIPO_ELAB + FROM C6Mart.ANAG_PROMOTORI AP + LEFT OUTER JOIN C6Storico.ANAG_PROMOTORI SAP + ON AP.RETE = SAP.RETE + AND AP.ID_PROMOTORE = SAP.ID_PROMOTORE + AND AP.LIVELLO = SAP.LIVELLO + WHERE AP.ID_ELAB = @ID_ELAB AND SAP.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX AREA_BISOGNO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'AREA_BISOGNO') + BEGIN + DELETE FROM C6Storico.AREA_BISOGNO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.AREA_BISOGNO + (ID_AREA, NOME_AREA, ORDINAMENTO, ID_ELAB) + SELECT + AB.ID_AREA, AB.NOME_AREA, AB.ORDINAMENTO, AB.ID_ELAB + FROM C6Mart.AREA_BISOGNO AB + LEFT OUTER JOIN C6Storico.AREA_BISOGNO SAB + ON AB.ID_AREA = SAB.ID_AREA + WHERE AB.ID_ELAB = @ID_ELAB AND SAB.ID_AREA IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSET_PERC XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSET_PERC') + BEGIN + DELETE FROM C6Storico.ASSET_PERC WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ASSET_PERC + (COD_PRODOTTO, ID_ASSETCLASS, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, LIVELLO, PERC, ID_ELAB, TIPO_ELAB) + SELECT + AP.COD_PRODOTTO, AP.ID_ASSETCLASS, AP.COD_ISIN, AP.COD_MAF, AP.COD_INTERNO, AP.COD_SOTTOPRODOTTO, AP.LIVELLO, AP.PERC, AP.ID_ELAB, AP.TIPO_ELAB + FROM C6Mart.ASSET_PERC AP + LEFT OUTER JOIN C6Storico.ASSET_PERC SAP + ON AP.COD_PRODOTTO = SAP.COD_PRODOTTO + AND AP.ID_ASSETCLASS = SAP.ID_ASSETCLASS + WHERE AP.ID_ELAB = @ID_ELAB AND SAP.COD_PRODOTTO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSET_PERC_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSET_PERC_TERZI') + BEGIN + DELETE FROM C6Storico.ASSET_PERC_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ASSET_PERC_TERZI + (COD_PRODOTTO_TERZI, ID_ASSETCLASS, LIVELLO, NOME_PRODOTTO, TIPO_PRODOTTO, PERC, ID_ELAB, TIPO_ELAB) + SELECT + APT.COD_PRODOTTO_TERZI, APT.ID_ASSETCLASS, APT.LIVELLO, APT.NOME_PRODOTTO, APT.TIPO_PRODOTTO, APT.PERC, APT.ID_ELAB, APT.TIPO_ELAB + FROM C6Mart.ASSET_PERC_TERZI APT + LEFT OUTER JOIN C6Storico.ASSET_PERC_TERZI SAPT + ON APT.COD_PRODOTTO_TERZI = SAPT.COD_PRODOTTO_TERZI + AND APT.ID_ASSETCLASS = SAPT.ID_ASSETCLASS + AND APT.LIVELLO = SAPT.LIVELLO + WHERE APT.ID_ELAB = @ID_ELAB AND SAPT.COD_PRODOTTO_TERZI IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS') + BEGIN + DELETE FROM C6Storico.ASSETCLASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ASSETCLASS + (ID_ASSETCLASS, DESCRIZIONE, LIVELLO, ORDINAMENTO, ID_ELAB) + SELECT + A.ID_ASSETCLASS, A.DESCRIZIONE, A.LIVELLO, A.ORDINAMENTO, A.ID_ELAB + FROM C6Mart.ASSETCLASS A + LEFT OUTER JOIN C6Storico.ASSETCLASS SA + ON A.ID_ASSETCLASS = SA.ID_ASSETCLASS + WHERE A.ID_ELAB = @ID_ELAB AND SA.ID_ASSETCLASS IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS_TERZI') + BEGIN + DELETE FROM C6Storico.ASSETCLASS_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ASSETCLASS_TERZI + (ID_ASSETCLASS, COD_ISIN, COD_MAF, COD_ADEGUATEZZA, ID_ELAB, TIPO_ELAB) + SELECT + AT.ID_ASSETCLASS, AT.COD_ISIN, AT.COD_MAF, AT.COD_ADEGUATEZZA, AT.ID_ELAB, AT.TIPO_ELAB + FROM C6Mart.ASSETCLASS_TERZI AT + LEFT OUTER JOIN C6Storico.ASSETCLASS_TERZI SAT + ON AT.ID_ASSETCLASS = SAT.ID_ASSETCLASS + WHERE AT.ID_ELAB = @ID_ELAB AND SAT.ID_ASSETCLASS IS NULL + END +-- --XXXXXXXXXXXXXXXXXXXXXXXX CATEGORIE_PRODOTTO XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'CATEGORIE_PRODOTTO') +-- BEGIN +-- DELETE FROM C6Storico.CATEGORIE_PRODOTTO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storico.CATEGORIE_PRODOTTO +-- (CAT_PRODOTTO, DESCRIZIONE, ORDINAMENTO) +-- SELECT +-- CAT_PRODOTTO, DESCRIZIONE, ORDINAMENTO +-- FROM C6Mart.CATEGORIE_PRODOTTO WHERE ID_ELAB = @ID_ELAB +-- END +-- --XXXXXXXXXXXXXXXXXXXXXXXX CODICI_PROMOTORI_FITTIZI XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'CODICI_PROMOTORI_FITTIZI') +-- BEGIN +-- DELETE FROM C6Storico.CODICI_PROMOTORI_FITTIZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storico.CODICI_PROMOTORI_FITTIZI +-- (Rete, CodiceDA, CodiceA) +-- SELECT +-- Rete, CodiceDA, CodiceA +-- FROM C6Mart.CODICI_PROMOTORI_FITTIZI WHERE ID_ELAB = @ID_ELAB +-- END + --XXXXXXXXXXXXXXXXXXXXXXXX CODIFICA_PIRAMIDI XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'CODIFICA_PIRAMIDI') + -- BEGIN + -- DELETE FROM C6Storico.CODIFICA_PIRAMIDI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.CODIFICA_PIRAMIDI + -- (ID_PIRAMIDE, DESCRIZIONE, NOTE, ID_ELAB) + -- SELECT + -- ID_PIRAMIDE, DESCRIZIONE, NOTE, ID_ELAB + -- FROM C6Mart.CODIFICA_PIRAMIDI WHERE ID_ELAB = @ID_ELAB + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX CODIFICA_RISCHIO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CODIFICA_RISCHIO') + BEGIN + DELETE FROM C6Storico.CODIFICA_RISCHIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.CODIFICA_RISCHIO + (PROFILO, DESCRIZIONE, MIN_VAR, MAX_VAR, ID_ELAB) + SELECT + CR.PROFILO, CR.DESCRIZIONE, CR.MIN_VAR, CR.MAX_VAR, CR.ID_ELAB + FROM C6Mart.CODIFICA_RISCHIO CR + LEFT OUTER JOIN C6Storico.CODIFICA_RISCHIO SCR + ON CR.PROFILO = SCR.PROFILO + WHERE CR.ID_ELAB = @ID_ELAB AND SCR.PROFILO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX COLORI XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'COLORI') + -- BEGIN + -- DELETE FROM C6Storico.COLORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.COLORI + -- (Tipo, Codice, Ordinamento, [Descrizione breve], [Descrizione estesa], HexColor, Red, Green, Blue, ID_ELAB) + -- SELECT + -- Tipo, Codice, Ordinamento, [Descrizione breve], [Descrizione estesa], HexColor, Red, Green, Blue, ID_ELAB + -- FROM C6Mart.COLORI WHERE ID_ELAB = @ID_ELAB + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX CONTRATTOSEI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONTRATTOSEI') + BEGIN + DELETE FROM C6Storico.CONTRATTOSEI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.CONTRATTOSEI + (Rete, Cod_Fiscale, PIva_Fiduciaria, Data_Sott, CodiceContratto, Cod_Agente, Data_Perf_Base, Data_Perf, Fascia_CPP, Email, Indirizzo, CAP, Citta, Prov, Nazione, Presso, Data_Inizio, Freq_Diagnosi, Freq_Monitor, Freq_DiagnosiPrec, Freq_MonitorPrec, Data_InizioConsInv, Data_InizioBase, Data_FineBase, Data_InizioAvanzato, Data_FineAvanzato, ProgressivoInvio, GenerazioneReport, InvioBenvenuto, DataUltimoInvio, ClienteMigrato, RisorseNA, NumSolleciti, Data_UltimoSollecito, NumRevoche, Data_UltimaRevoca, Note, ID_ELAB) + SELECT + C.Rete, C.Cod_Fiscale, C.PIva_Fiduciaria, C.Data_Sott, C.CodiceContratto, C.Cod_Agente, C.Data_Perf_Base, C.Data_Perf, C.Fascia_CPP, C.Email, C.Indirizzo, C.CAP, C.Citta, C.Prov, C.Nazione, C.Presso, C.Data_Inizio, C.Freq_Diagnosi, C.Freq_Monitor, C.Freq_DiagnosiPrec, C.Freq_MonitorPrec, C.Data_InizioConsInv, C.Data_InizioBase, C.Data_FineBase, C.Data_InizioAvanzato, C.Data_FineAvanzato, C.ProgressivoInvio, C.GenerazioneReport, C.InvioBenvenuto, C.DataUltimoInvio, C.ClienteMigrato, C.RisorseNA, C.NumSolleciti, C.Data_UltimoSollecito, C.NumRevoche, C.Data_UltimaRevoca, C.Note, @ID_ELAB + FROM C6Mart.CONTRATTOSEI C + LEFT OUTER JOIN C6Storico.CONTRATTOSEI SC + ON C.Rete = SC.Rete + AND C.Cod_Fiscale = SC.Cod_Fiscale + AND C.CodiceContratto = SC.CodiceContratto + WHERE SC.Rete IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX DATI_REPORT XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'DATI_REPORT') + -- BEGIN + -- DELETE FROM C6Storico.DATI_REPORT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.DATI_REPORT + -- (RETE, COD_FISCALE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, FLAG_REPORT, REPORT_DIAGN, REPORT_MONIT, DATA_REPORT, REPORT_FREQ, ID_ELAB, TIPO_ELAB) + -- SELECT + -- RETE, COD_FISCALE, INDIRIZZO, LOCALITA, PROVINCIA, CAP, NAZIONE, FLAG_REPORT, REPORT_DIAGN, REPORT_MONIT, DATA_REPORT, REPORT_FREQ, ID_ELAB, TIPO_ELAB + -- FROM C6Mart.DATI_REPORT WHERE ID_ELAB = @ID_ELAB + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX DETTAGLIO_ASUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'DETTAGLIO_ASUL') + BEGIN + DELETE FROM C6Storico.DETTAGLIO_ASUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.DETTAGLIO_ASUL + (RETE, COD_FISCALE, COD_PRODOTTO, ID_CONTRATTO, COD_SOTTOPRODOTTO, COD_INTERNO, CTV, DATA_RIF, COD_ISIN_FITTIZIO, COD_ISIN_SOTT, COD_MAF_SOTT, ID_ELAB, TIPO_ELAB) + SELECT + DA.RETE, DA.COD_FISCALE, DA.COD_PRODOTTO, DA.ID_CONTRATTO, DA.COD_SOTTOPRODOTTO, DA.COD_INTERNO, DA.CTV, DA.DATA_RIF, DA.COD_ISIN_FITTIZIO, DA.COD_ISIN_SOTT, DA.COD_MAF_SOTT, DA.ID_ELAB, DA.TIPO_ELAB + FROM C6Mart.DETTAGLIO_ASUL DA + LEFT OUTER JOIN C6Storico.DETTAGLIO_ASUL SDA + ON DA.RETE = SDA.RETE + AND DA.COD_FISCALE = SDA.COD_FISCALE + AND DA.COD_PRODOTTO = SDA.COD_PRODOTTO + AND DA.ID_CONTRATTO = SDA.ID_CONTRATTO + AND DA.COD_SOTTOPRODOTTO = SDA.COD_SOTTOPRODOTTO + AND DA.COD_INTERNO = SDA.COD_INTERNO + AND DA.CTV = SDA.CTV + AND DA.DATA_RIF = SDA.DATA_RIF + AND DA.COD_ISIN_FITTIZIO = SDA.COD_ISIN_FITTIZIO + AND DA.COD_ISIN_SOTT = SDA.COD_ISIN_SOTT + AND DA.COD_MAF_SOTT = SDA.COD_MAF_SOTT + WHERE DA.ID_ELAB = @ID_ELAB AND SDA.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ELABORAZIONI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ELABORAZIONI') + BEGIN + DELETE FROM C6Storico.ELABORAZIONI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ELABORAZIONI + (ID_ELAB, TIPO_ELAB, DATA_OPERAZIONE) + SELECT + E.ID_ELAB, E.TIPO_ELAB, E.DATA_OPERAZIONE + FROM C6Mart.ELABORAZIONI E + LEFT OUTER JOIN C6Storico.ELABORAZIONI SE + ON E.ID_ELAB = SE.ID_ELAB + WHERE E.ID_ELAB = @ID_ELAB AND SE.ID_ELAB IS NULL + END +-- --XXXXXXXXXXXXXXXXXXXXXXXX EMAIL_ATTACHMENT XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'EMAIL_ATTACHMENT') +-- BEGIN +-- DELETE FROM C6Storico.EMAIL_ATTACHMENT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storico.EMAIL_ATTACHMENT +-- (Attachment_Id, Email_Id, Attachment) +-- SELECT +-- Attachment_Id, Email_Id, Attachment +-- FROM C6Mart.EMAIL_ATTACHMENT WHERE ID_ELAB = @ID_ELAB +-- END + --XXXXXXXXXXXXXXXXXXXXXXXX EMAIL_PB XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'EMAIL_PB') + -- BEGIN + -- DELETE FROM C6Storico.EMAIL_PB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.EMAIL_PB + -- (RETE, CODICE, PREFISSO, FIRMA, EMAIL) + -- SELECT + -- EP.RETE, EP.CODICE, EP.PREFISSO, EP.FIRMA, EP.EMAIL + -- FROM C6Mart.EMAIL_PB EP + -- LEFT OUTER JOIN C6Storico.EMAIL_PB SEP + -- ON EP.FIRMA = SEP.FIRMA + -- WHERE EP.ID_ELAB = @ID_ELAB AND SEP.FIRMA IS NULL + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX ESITI_CARICAMENTI XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'ESITI_CARICAMENTI') + -- BEGIN + -- DELETE FROM C6Storico.ESITI_CARICAMENTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.ESITI_CARICAMENTI + -- (PROGR, DATA_INIZIO, DATA_FINE, ESITO, NOTE, ID_ELAB) + -- SELECT + -- PROGR, DATA_INIZIO, DATA_FINE, ESITO, NOTE, ID_ELAB + -- FROM C6Mart.ESITI_CARICAMENTI WHERE ID_ELAB = @ID_ELAB + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX GER_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'GER_PROMOTORI') + -- BEGIN + -- DELETE FROM C6Storico.GER_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.GER_PROMOTORI + -- (RETE, ID_PROMOTORE, LIVELLO, ID_MANAGER, SUBORDINATI, ID_ELAB, TIPO_ELAB) + -- SELECT + -- RETE, ID_PROMOTORE, LIVELLO, ID_MANAGER, SUBORDINATI, ID_ELAB, TIPO_ELAB + -- FROM C6Mart.GER_PROMOTORI WHERE ID_ELAB = @ID_ELAB + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX GESTIONE_EMAIL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'GESTIONE_EMAIL') + BEGIN + DELETE FROM C6Storico.GESTIONE_EMAIL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.GESTIONE_EMAIL + (Email_Id, Rete, Cod_Fiscale, Tipo, Data_Generazione, Inviata, Data_Invio, Data_Comunicazione_Host, ID_ELAB) + SELECT + GE.Email_Id, GE.Rete, GE.Cod_Fiscale, GE.Tipo, GE.Data_Generazione, GE.Inviata, GE.Data_Invio, GE.Data_Comunicazione_Host, GE.ID_ELAB + FROM C6Mart.GESTIONE_EMAIL GE + LEFT OUTER JOIN C6Storico.GESTIONE_EMAIL SGE + ON GE.Email_Id = SGE.Email_Id + WHERE GE.ID_ELAB = @ID_ELAB AND SGE.Email_Id IS NULL + END +-- --XXXXXXXXXXXXXXXXXXXXXXXX GESTIONE_PDF_FTP XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'GESTIONE_PDF_FTP') +-- BEGIN +-- DELETE FROM C6Storico.GESTIONE_PDF_FTP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storico.GESTIONE_PDF_FTP +-- (Rete, CodiceFiscale, IdReport, TipoReport, DataGenerazione, DataInvio, DataInvioRistampa, FlagInvio, NomeFile, numeroPagine, ID_ELAB, id_Fk_zip) +-- SELECT +-- Rete, CodiceFiscale, IdReport, TipoReport, DataGenerazione, DataInvio, DataInvioRistampa, FlagInvio, NomeFile, numeroPagine, ID_ELAB, id_Fk_zip +-- FROM C6Mart.GESTIONE_PDF_FTP WHERE ID_ELAB = @ID_ELAB +-- END + --XXXXXXXXXXXXXXXXXXXXXXXX GESTIONE_ZIP_FTP XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'GESTIONE_ZIP_FTP') + BEGIN + DELETE FROM C6Storico.GESTIONE_ZIP_FTP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.GESTIONE_ZIP_FTP + (id, nomefile, dataInvio, flagInvio, nomeCartella, ID_ELAB) + SELECT + GZF.id, GZF.nomefile, GZF.dataInvio, GZF.flagInvio, GZF.nomeCartella, GZF.ID_ELAB + FROM C6Mart.GESTIONE_ZIP_FTP GZF + LEFT OUTER JOIN C6Storico.GESTIONE_ZIP_FTP SGZF + ON GZF.id = SGZF.id + WHERE GZF.ID_ELAB = @ID_ELAB AND SGZF.id IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX MIFID XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MIFID') + BEGIN + DELETE FROM C6Storico.MIFID WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.MIFID + (RETE, COD_FISCALE, COMPILAZIONE, PROFILO_ASS, PROFILO_CALC, DATA_INIZIO_VAL, DATA_FINE_VAL, ID_ELAB, TIPO_ELAB) + SELECT + M.RETE, M.COD_FISCALE, M.COMPILAZIONE, M.PROFILO_ASS, M.PROFILO_CALC, M.DATA_INIZIO_VAL, M.DATA_FINE_VAL, M.ID_ELAB, M.TIPO_ELAB + FROM C6Mart.MIFID M + LEFT OUTER JOIN C6Storico.MIFID SM + ON M.RETE = SM.RETE + AND M.COD_FISCALE = SM.COD_FISCALE + WHERE M.ID_ELAB = @ID_ELAB AND SM.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PARTITE_VIAGGIANTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PARTITE_VIAGGIANTI') + BEGIN + DELETE FROM C6Storico.PARTITE_VIAGGIANTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PARTITE_VIAGGIANTI + (RETE, COD_FISCALE, IMPORTO, ID_ELAB, TIPO_ELAB) + SELECT + PV.RETE, PV.COD_FISCALE, PV.IMPORTO, PV.ID_ELAB, PV.TIPO_ELAB + FROM C6Mart.PARTITE_VIAGGIANTI PV + LEFT OUTER JOIN C6Storico.PARTITE_VIAGGIANTI SPV + ON PV.RETE = SPV.RETE + AND PV.COD_FISCALE = SPV.COD_FISCALE + WHERE PV.ID_ELAB = @ID_ELAB AND SPV.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_AGG XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_AGG') + BEGIN + DELETE FROM C6Storico.PATRIMONIO_AGG WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PATRIMONIO_AGG + (RETE, COD_FISCALE, COD_PRODOTTO, LIQUIDATO, INVESTITO, ID_AREA, ID_ELAB, TIPO_ELAB) + SELECT + RETE, COD_FISCALE, COD_PRODOTTO, LIQUIDATO, INVESTITO, ID_AREA, ID_ELAB, TIPO_ELAB + FROM C6Mart.PATRIMONIO_AGG WHERE ID_ELAB = @ID_ELAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_ALTRO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_ALTRO') + BEGIN + DELETE FROM C6Storico.PATRIMONIO_ALTRO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PATRIMONIO_ALTRO + (RETE, COD_FISCALE, QUANTITA, DESCRIZIONE, CTV, ID_ELAB, TIPO_ELAB) + SELECT + PA.RETE, PA.COD_FISCALE, PA.QUANTITA, PA.DESCRIZIONE, PA.CTV, PA.ID_ELAB, PA.TIPO_ELAB + FROM C6Mart.PATRIMONIO_ALTRO PA + LEFT OUTER JOIN C6Storico.PATRIMONIO_ALTRO SPA + ON PA.RETE = SPA.RETE + AND PA.COD_FISCALE = SPA.COD_FISCALE + AND PA.QUANTITA = SPA.QUANTITA + AND PA.DESCRIZIONE = SPA.DESCRIZIONE + AND PA.CTV = SPA.CTV + WHERE PA.ID_ELAB = @ID_ELAB AND SPA.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_BF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_BF') + BEGIN + DELETE FROM C6Storico.PATRIMONIO_BF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PATRIMONIO_BF + (RETE, COD_FISCALE, POSITION_ID, COD_PRODOTTO, ID_CONTRATTO, DATA_SOTTOSCRIZIONE, COD_STATO, NUM_POLIZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TIPO_PRODOTTO, NOME_PROGETTO, ID_AREA, DATA_OPERAZIONE, DATA_VALUTA, DATA_REGOLAMENTO, QUANTITA, PREZZO, CTV, CTV_NOMINALE, VERSATO_NETTO, PARTVIA_DISINV, DATA_PARTVIA_DISINV, PARTVIA_INV, REND_SOTTOSCRIZIONE, REND_TRIMESTRE, REND_ANNO, ID_ELAB, TIPO_ELAB) + SELECT + PB.RETE, PB.COD_FISCALE, PB.POSITION_ID, PB.COD_PRODOTTO, PB.ID_CONTRATTO, PB.DATA_SOTTOSCRIZIONE, PB.COD_STATO, PB.NUM_POLIZZA, PB.COD_MAF, PB.COD_INTERNO, PB.COD_SOTTOPRODOTTO, PB.TIPO_PRODOTTO, PB.NOME_PROGETTO, PB.ID_AREA, PB.DATA_OPERAZIONE, PB.DATA_VALUTA, PB.DATA_REGOLAMENTO, PB.QUANTITA, PB.PREZZO, PB.CTV, PB.CTV_NOMINALE, PB.VERSATO_NETTO, PB.PARTVIA_DISINV, PB.DATA_PARTVIA_DISINV, PB.PARTVIA_INV, PB.REND_SOTTOSCRIZIONE, PB.REND_TRIMESTRE, PB.REND_ANNO, PB.ID_ELAB, PB.TIPO_ELAB + FROM C6Mart.PATRIMONIO_BF PB + LEFT OUTER JOIN C6Storico.PATRIMONIO_BF SPB + ON PB.RETE = SPB.RETE + AND PB.COD_FISCALE = SPB.COD_FISCALE + AND PB.POSITION_ID = SPB.POSITION_ID + WHERE PB.ID_ELAB = @ID_ELAB AND SPB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_IMMOBILIARE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_IMMOBILIARE') + BEGIN + DELETE FROM C6Storico.PATRIMONIO_IMMOBILIARE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PATRIMONIO_IMMOBILIARE + (RETE, COD_FISCALE, DESCRIZIONE, TIPOLOGIA, LOCALITA, PROVINCIA, CAP, NAZIONE, VALORE_STIMATO, AFFITTO, NOTE, DIV_RIFERIMENTO, CAMBIO, ID_ELAB, TIPO_ELAB) + SELECT + PI.RETE, PI.COD_FISCALE, PI.DESCRIZIONE, PI.TIPOLOGIA, PI.LOCALITA, PI.PROVINCIA, PI.CAP, PI.NAZIONE, PI.VALORE_STIMATO, PI.AFFITTO, PI.NOTE, PI.DIV_RIFERIMENTO, PI.CAMBIO, PI.ID_ELAB, PI.TIPO_ELAB + FROM C6Mart.PATRIMONIO_IMMOBILIARE PI + LEFT OUTER JOIN C6Storico.PATRIMONIO_IMMOBILIARE SPI + ON PI.RETE = SPI.RETE + AND PI.COD_FISCALE = SPI.COD_FISCALE + AND PI.DESCRIZIONE = SPI.DESCRIZIONE + AND PI.TIPOLOGIA = SPI.TIPOLOGIA + AND PI.LOCALITA = SPI.LOCALITA + AND PI.PROVINCIA = SPI.PROVINCIA + AND PI.CAP = SPI.CAP + AND PI.NAZIONE = PI.NAZIONE + AND PI.VALORE_STIMATO = SPI.VALORE_STIMATO + AND PI.AFFITTO = SPI.AFFITTO + AND PI.NOTE = SPI.NOTE + AND PI.DIV_RIFERIMENTO = SPI.DIV_RIFERIMENTO + AND PI.CAMBIO = SPI.CAMBIO + WHERE PI.ID_ELAB = @ID_ELAB AND SPI.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PATRIMONIO_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PATRIMONIO_TERZI') + BEGIN + DELETE FROM C6Storico.PATRIMONIO_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PATRIMONIO_TERZI + (RETE, COD_FISCALE, NUM_POLIZZA, TIPO_POLIZZA, TIPO_PRODOTTO, TIPO_PRODOTTO2, COD_PRODOTTO, COD_PRODOTTO_TERZI, INTERMEDIARIO, DATA_SOTTOSCRIZIONE, DATA_SCADENZA, FREQ_RATA, DURATA_POLIZZA, PREMIO, ALIQUOTA, DATA_SOTT_FP, DATA_REGOLAMENTO, QUANTITA, PREZZO, CTV, VERSATO_NETTO, DIV_REGOLAMENTO, CAMBIO, DESCR_GRUPPO_PRODOTTO, ID_ELAB, TIPO_ELAB) + SELECT + PT.RETE, PT.COD_FISCALE, PT.NUM_POLIZZA, PT.TIPO_POLIZZA, PT.TIPO_PRODOTTO, PT.TIPO_PRODOTTO2, PT.COD_PRODOTTO, PT.COD_PRODOTTO_TERZI, PT.INTERMEDIARIO, PT.DATA_SOTTOSCRIZIONE, PT.DATA_SCADENZA, PT.FREQ_RATA, PT.DURATA_POLIZZA, PT.PREMIO, PT.ALIQUOTA, PT.DATA_SOTT_FP, PT.DATA_REGOLAMENTO, PT.QUANTITA, PT.PREZZO, PT.CTV, PT.VERSATO_NETTO, PT.DIV_REGOLAMENTO, PT.CAMBIO, PT.DESCR_GRUPPO_PRODOTTO, PT.ID_ELAB, PT.TIPO_ELAB + FROM C6Mart.PATRIMONIO_TERZI PT + LEFT OUTER JOIN C6Storico.PATRIMONIO_TERZI SPT + ON PT.RETE = SPT.RETE + AND PT.COD_FISCALE = SPT.COD_FISCALE + AND PT.COD_PRODOTTO = SPT.COD_PRODOTTO + AND PT.COD_PRODOTTO_TERZI = SPT.COD_PRODOTTO_TERZI + WHERE PT.ID_ELAB = @ID_ELAB AND SPT.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PIRAMIDE_MOD XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PIRAMIDE_MOD') + BEGIN + DELETE FROM C6Storico.PIRAMIDE_MOD WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PIRAMIDE_MOD + (RETE, COD_FISCALE, ID_AREA, NOME_PROGETTO, TIPO_PROGETTO, PERC_AREA, CTV_PROGETTO, CTV_AREA, ORIZZ_TEMP, CTV_TOTALE, STATO_CONSULENZA, DATA_STATO_CONS, DATA_MIGR_CONS, ID_CONTRATTO, ID_ELAB, TIPO_ELAB) + SELECT + PM.RETE, PM.COD_FISCALE, PM.ID_AREA, PM.NOME_PROGETTO, PM.TIPO_PROGETTO, PM.PERC_AREA, PM.CTV_PROGETTO, PM.CTV_AREA, PM.ORIZZ_TEMP, PM.CTV_TOTALE, PM.STATO_CONSULENZA, PM.DATA_STATO_CONS, PM.DATA_MIGR_CONS, PM.ID_CONTRATTO, PM.ID_ELAB, PM.TIPO_ELAB + FROM C6Mart.PIRAMIDE_MOD PM + LEFT OUTER JOIN C6Storico.PIRAMIDE_MOD SPM + ON PM.RETE = SPM.RETE + AND PM.COD_FISCALE = SPM.COD_FISCALE + AND PM.ID_AREA = SPM.ID_AREA + AND PM.NOME_PROGETTO = SPM.NOME_PROGETTO + WHERE PM.ID_ELAB = @ID_ELAB AND SPM.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PIRAMIDE_VERT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PIRAMIDE_VERT') + BEGIN + DELETE FROM C6Storico.PIRAMIDE_VERT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PIRAMIDE_VERT + (RETE, COD_FISCALE, ID_AREA, CTV_AREA, ID_ELAB, TIPO_ELAB) + SELECT + PV.RETE, PV.COD_FISCALE, PV.ID_AREA, PV.CTV_AREA, PV.ID_ELAB, PV.TIPO_ELAB + FROM C6Mart.PIRAMIDE_VERT PV + LEFT OUTER JOIN C6Storico.PIRAMIDE_VERT SPV + ON PV.RETE = SPV.RETE + AND PV.COD_FISCALE = SPV.COD_FISCALE + AND PV.ID_AREA = SPV.ID_AREA + WHERE PV.ID_ELAB = @ID_ELAB AND SPV.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PREVIDENZIALE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PREVIDENZIALE') + BEGIN + DELETE FROM C6Storico.PREVIDENZIALE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.PREVIDENZIALE + (RETE, COD_FISCALE, ANNO_PENSIONE, ETA_PENSIONE, TOT_CONSUMI_ATTESI, TOT_REDDITO_ANNUO, REDDITO_CONSUMI_ESS, PENSIONE_ATTESA_, RENDITA_PREV_COMPL, RENDITA_ASS, REDDITO_CONSUMI_SEC, RENDITA_ASS_TRAD, RENDITA_ASS_UNIT, RENDITA_IMMOB, ALTRE_RENDITE, DIV_RIFERIMENTO, CAMBIO, ID_ELAB, TIPO_ELAB) + SELECT + P.RETE, P.COD_FISCALE, P.ANNO_PENSIONE, P.ETA_PENSIONE, P.TOT_CONSUMI_ATTESI, P.TOT_REDDITO_ANNUO, P.REDDITO_CONSUMI_ESS, P.PENSIONE_ATTESA_, P.RENDITA_PREV_COMPL, P.RENDITA_ASS, P.REDDITO_CONSUMI_SEC, P.RENDITA_ASS_TRAD, P.RENDITA_ASS_UNIT, P.RENDITA_IMMOB, P.ALTRE_RENDITE, P.DIV_RIFERIMENTO, P.CAMBIO, P.ID_ELAB, P.TIPO_ELAB + FROM C6Mart.PREVIDENZIALE P + LEFT OUTER JOIN C6Storico.PREVIDENZIALE SP + ON P.RETE = SP.RETE + AND P.COD_FISCALE = SP.COD_FISCALE + WHERE P.ID_ELAB = @ID_ELAB AND SP.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX RISCHIO_AGGREGATO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'RISCHIO_AGGREGATO') + BEGIN + DELETE FROM C6Storico.RISCHIO_AGGREGATO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.RISCHIO_AGGREGATO + (RETE, COD_FISCALE, COD_AGGREG, VAR_ASSOLUTO_PTF, VAR_PERC_PTF, CVAR_ASSOLUTO_PTF, CVAR_PERC_PTF, MCVAR, MCVARP, BENEFICIO, COPERTURA, CTV_AGGREG, ID_ELAB, TIPO_ELAB) + SELECT + RA.RETE, RA.COD_FISCALE, RA.COD_AGGREG, RA.VAR_ASSOLUTO_PTF, RA.VAR_PERC_PTF, RA.CVAR_ASSOLUTO_PTF, RA.CVAR_PERC_PTF, RA.MCVAR, RA.MCVARP, RA.BENEFICIO, RA.COPERTURA, RA.CTV_AGGREG, RA.ID_ELAB, RA.TIPO_ELAB + FROM C6Mart.RISCHIO_AGGREGATO RA + LEFT OUTER JOIN C6Storico.RISCHIO_AGGREGATO SRA + ON RA.RETE = SRA.RETE + AND RA.COD_FISCALE = SRA.COD_FISCALE + AND RA.COD_AGGREG = SRA.COD_AGGREG + WHERE RA.ID_ELAB = @ID_ELAB AND SRA.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX RISCHIO_DETTAGLIO XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'RISCHIO_DETTAGLIO') + -- BEGIN + -- DELETE FROM C6Storico.RISCHIO_DETTAGLIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.RISCHIO_DETTAGLIO + -- (RETE, COD_FISCALE, COD_AGGREG, CHIAVE_PRODOTTO, VAR_ASSOLUTO_PTF, VAR_PERC_PTF, CVAR_ASSOLUTO_PTF, CVAR_PERC_PTF, MCVAR, MCVARP, TIPO_COPERTURA, CTV_AGGREG, MERCATO_CONTRATT, DIV_CONTRATT, ID_ELAB, TIPO_ELAB) + -- SELECT + -- RETE, COD_FISCALE, COD_AGGREG, CHIAVE_PRODOTTO, VAR_ASSOLUTO_PTF, VAR_PERC_PTF, CVAR_ASSOLUTO_PTF, CVAR_PERC_PTF, MCVAR, MCVARP, TIPO_COPERTURA, CTV_AGGREG, MERCATO_CONTRATT, DIV_CONTRATT, ID_ELAB, TIPO_ELAB + -- FROM C6Mart.RISCHIO_DETTAGLIO WHERE ID_ELAB = @ID_ELAB + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX STRUTTURA_RETE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'STRUTTURA_RETE') + BEGIN + DELETE FROM C6Storico.STRUTTURA_RETE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.STRUTTURA_RETE + (Rete, PB, CognomeNomePB, SPV, CognomeNomeSPV, RM, CognomeNomeRM, DM, CognomeNomeDM, AM, CognomeNomeAM, Livello, ID_ELAB, TIPO_ELAB) + SELECT + SR.Rete, SR.PB, SR.CognomeNomePB, SR.SPV, SR.CognomeNomeSPV, SR.RM, SR.CognomeNomeRM, SR.DM, SR.CognomeNomeDM, SR.AM, SR.CognomeNomeAM, SR.Livello, SR.ID_ELAB, SR.TIPO_ELAB + FROM C6Mart.STRUTTURA_RETE SR + LEFT OUTER JOIN C6Storico.STRUTTURA_RETE SSR + ON SR.Rete = SSR.Rete + AND SR.PB = SSR.PB + WHERE SR.ID_ELAB = @ID_ELAB AND SSR.Rete IS NULL + END +-- --XXXXXXXXXXXXXXXXXXXXXXXX TABELLESTORICIZZATE XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'TABELLESTORICIZZATE') +-- BEGIN +-- DELETE FROM C6Storico.TABELLESTORICIZZATE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storico.TABELLESTORICIZZATE +-- (Nome) +-- SELECT +-- Nome +-- FROM C6Mart.TABELLESTORICIZZATE WHERE ID_ELAB = @ID_ELAB +-- END + --XXXXXXXXXXXXXXXXXXXXXXXX TESTO_LETTERA_ACCETTAZIONE XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'TESTO_LETTERA_ACCETTAZIONE') + -- BEGIN + -- DELETE FROM C6Storico.TESTO_LETTERA_ACCETTAZIONE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.TESTO_LETTERA_ACCETTAZIONE + -- (ID, TESTO, DESCRIZIONE, ID_ELAB) + -- SELECT + -- ID, TESTO, DESCRIZIONE, ID_ELAB + -- FROM C6Mart.TESTO_LETTERA_ACCETTAZIONE WHERE ID_ELAB = @ID_ELAB + -- END +-- --XXXXXXXXXXXXXXXXXXXXXXXX TIPO_EMAIL XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'TIPO_EMAIL') +-- BEGIN +-- DELETE FROM C6Storico.TIPO_EMAIL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storico.TIPO_EMAIL +-- (Tipo, Descrizione, E_From, E_To, E_Cc, E_Ccn, E_Subject, Testo) +-- SELECT +-- Tipo, Descrizione, E_From, E_To, E_Cc, E_Ccn, E_Subject, Testo +-- FROM C6Mart.TIPO_EMAIL WHERE ID_ELAB = @ID_ELAB +-- END +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX FINE TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + -- XX -- XX -- XX -- XX AGGIORNAMENTO DATI C6Mart.TabelleStoricizzate XX -- XX -- XX -- XX -- + IF(@NomeTabella IS NOT NULL) + BEGIN + UPDATE C6Mart.TabelleStoricizzate + SET + FINE = GETDATE(), + DURATA = DATEDIFF(SECOND ,INIZIO, GETDATE()) + WHERE NOME = @NomeTabella + END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql b/sql/storedTestbes/C6Mart_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql new file mode 100644 index 00000000..ac48fa07 --- /dev/null +++ b/sql/storedTestbes/C6Mart_SRV_STORICIZZAZIONE_GLOBAL_ERROR.sql @@ -0,0 +1,72 @@ +CREATE procedure [C6Mart].[SRV_STORICIZZAZIONE_GLOBAL_ERROR] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico espresso in giorni + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_STORICIZZAZIONE_GLOBAL_ERROR', + GETDATE(), + 'Elaborazione giornaliera' + ) + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MART.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + SET @ID_ELAB = C6MART.GETIDELAB() + DELETE FROM C6STORICO.GLOBAL_ERROR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'DELETE', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'SRV_STORICIZZAZIONE_GLOBAL_ERROR', + GETDATE(), + 'Elaborazione giornaliera' + ) + INSERT INTO C6STORICO.GLOBAL_ERROR + (ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB) + SELECT + ID, Cancel, ErrorCode, ErrorDescription, EventHandlerStartTime, LocaleID, Propagate, SourceDescription, SourceID, SourceName, Time, ID_ELAB + FROM dbo.GLOBAL_ERROR WHERE ID_ELAB = @ID_ELAB + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'SRV_STORICIZZAZIONE_GLOBAL_ERROR' + ) + TRUNCATE TABLE dbo.GLOBAL_ERROR +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_SRV_SVUOTAMART.sql b/sql/storedTestbes/C6Mart_SRV_SVUOTAMART.sql new file mode 100644 index 00000000..a084cdf7 --- /dev/null +++ b/sql/storedTestbes/C6Mart_SRV_SVUOTAMART.sql @@ -0,0 +1,39 @@ +CREATE procedure [C6Mart].[SRV_SVUOTAMART] +AS +BEGIN + SET NOCOUNT ON; + TRUNCATE TABLE [C6Mart].[ALBERO_PRODOTTI] + TRUNCATE TABLE [C6Mart].[ANAG_CC] + TRUNCATE TABLE [C6Mart].[ANAG_CC_TERZI] + DELETE C6MART.ANAG_CLIENTI + FROM C6MART.ANAG_CLIENTI + INNER JOIN C6STAGING.ALL_CF_PB + ON ANAG_CLIENTI.RETE = ALL_CF_PB.RETE_PB + AND ANAG_CLIENTI.COD_FISCALE = ALL_CF_PB.CODICEFISCALE + TRUNCATE TABLE [C6Mart].[ANAG_CONTRATTI] + TRUNCATE TABLE [C6Mart].[ANAG_CONTRATTI_ASS] + TRUNCATE TABLE [C6Mart].[ANAG_PRODOTTI] + TRUNCATE TABLE [C6Mart].[ANAG_PRODOTTI_TERZI] + TRUNCATE TABLE [C6Mart].[ANAG_PROMOTORI] + TRUNCATE TABLE [C6Mart].[AREA_BISOGNO] + TRUNCATE TABLE [C6Mart].[ASSET_PERC] + TRUNCATE TABLE [C6Mart].[ASSET_PERC_TERZI] + TRUNCATE TABLE [C6Mart].[ASSETCLASS] + TRUNCATE TABLE [C6Mart].[ASSETCLASS_TERZI] + TRUNCATE TABLE [C6Mart].[CATEGORIE_PRODOTTO] + TRUNCATE TABLE [C6Mart].[CODIFICA_RISCHIO] + TRUNCATE TABLE [C6Mart].[DETTAGLIO_ASUL] + TRUNCATE TABLE [C6Mart].[EMAIL_PB] + TRUNCATE TABLE [C6Mart].[MIFID] + TRUNCATE TABLE [C6Mart].[PARTITE_VIAGGIANTI] + TRUNCATE TABLE [C6Mart].[PATRIMONIO_AGG] + TRUNCATE TABLE [C6Mart].[PATRIMONIO_ALTRO] + TRUNCATE TABLE [C6Mart].[PATRIMONIO_BF] + TRUNCATE TABLE [C6Mart].[PATRIMONIO_IMMOBILIARE] + TRUNCATE TABLE [C6Mart].[PATRIMONIO_TERZI] + TRUNCATE TABLE [C6Mart].[PIRAMIDE_MOD] + TRUNCATE TABLE [C6Mart].[PIRAMIDE_VERT] + TRUNCATE TABLE [C6Mart].[PREVIDENZIALE] + TRUNCATE TABLE [C6Mart].[RISCHIO_AGGREGATO] + TRUNCATE TABLE [C6Mart].[STRUTTURA_RETE] +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_SRV_TABELLE_IN_MART.sql b/sql/storedTestbes/C6Mart_SRV_TABELLE_IN_MART.sql new file mode 100644 index 00000000..dc7c4171 --- /dev/null +++ b/sql/storedTestbes/C6Mart_SRV_TABELLE_IN_MART.sql @@ -0,0 +1,38 @@ +CREATE procedure [C6Mart].[SRV_TABELLE_IN_MART] +AS +BEGIN + DECLARE @tabella AS VARCHAR(50) + SET @tabella = NULL + SELECT TOP 1 @tabella = A.tabella + FROM( + SELECT tables.name tabella + FROM sys.tables tables + INNER JOIN sys.schemas schemas + ON tables.schema_id = schemas.schema_id + WHERE schemas.name = 'C6Mart' + AND tables.name <> 'TabelleStoricizzate' + ) A + WHERE A.tabella NOT IN ( + SELECT Nome + FROM C6Mart.TabelleStoricizzate + ) + ORDER BY A.tabella + -- vedi stessa sp di Staging + /*INSERT INTO [C6Mart].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella)*/ + DECLARE @tabellaMartDaStoricizzare AS SMALLINT + IF @tabella IS NOT NULL + BEGIN + INSERT INTO [C6Mart].[TabelleStoricizzate] + ([Nome], [Inizio]) + VALUES + (@tabella, GETDATE()) + EXEC [C6Mart].[SRV_STORICIZZAZIONE] @tabella + SET @tabellaMartDaStoricizzare = 1 + END + ELSE + SET @tabellaMartDaStoricizzare = 0 + SELECT @tabellaMartDaStoricizzare tabella, @tabella nome +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_SRV_TRUNCATE_STAGING.sql b/sql/storedTestbes/C6Mart_SRV_TRUNCATE_STAGING.sql new file mode 100644 index 00000000..2ca3f05d --- /dev/null +++ b/sql/storedTestbes/C6Mart_SRV_TRUNCATE_STAGING.sql @@ -0,0 +1,49 @@ +CREATE procedure [C6Mart].[SRV_TRUNCATE_STAGING] + -- Add the parameters for the stored procedure here +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- *** TABELLE GESTIONE ERRORE *** -- + -- TRUNCATE TABLE dbo.GLOBAL_ERROR; + -- *** FINE TABELLE GESTIONE ERRORE *** -- + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'Staging SEI', + GETDATE(), + 'Elaborazione giornaliera' + ) + TRUNCATE TABLE C6Staging.ALL_CF_PB; + TRUNCATE TABLE C6Staging.ALL_CF_STATO; + TRUNCATE TABLE C6Staging.ALL_CONSUL_ASUL; + TRUNCATE TABLE C6Staging.ALL_PATR_TERZI; + TRUNCATE TABLE C6Staging.ALL_PATRBF; + TRUNCATE TABLE C6Staging.ALL_POS_CONS_CAT; + TRUNCATE TABLE C6Staging.ALL_PROPOSTA; + TRUNCATE TABLE C6Staging.ACBDENOTH; + TRUNCATE TABLE C6Staging.ACBDENTRY; + TRUNCATE TABLE C6Staging.ADBKRELAT; + TRUNCATE TABLE C6Staging.ASSETCLASS; + TRUNCATE TABLE C6Staging.C_BO_453FB; + TRUNCATE TABLE C6Staging.CATINAREA; + --TRUNCATE TABLE C6Staging.CATITEMREF; GESTITA SEPARATAMENTE + TRUNCATE TABLE C6Staging.COMPTYPE; + TRUNCATE TABLE C6Staging.CONO; + TRUNCATE TABLE C6Staging.CONSAREA; + TRUNCATE TABLE C6Staging.CONSUL; + TRUNCATE TABLE C6Staging.INDREND; + TRUNCATE TABLE C6Staging.INSTRBDS; + TRUNCATE TABLE C6Staging.MACROASSETCLASS; + TRUNCATE TABLE C6Staging.NEEDAREA; + TRUNCATE TABLE C6Staging.OTHINTRST; + TRUNCATE TABLE C6Staging.PORTMOD; + TRUNCATE TABLE C6Staging.POSITION; + TRUNCATE TABLE C6Staging.PRCONSUL; + TRUNCATE TABLE C6Staging.QUANTIF; + TRUNCATE TABLE C6Staging.S4_S5_S13_TRAD_UNTIL_LIV3; + TRUNCATE TABLE C6Staging.WANAB; + TRUNCATE TABLE C6Staging.WRENAB; + TRUNCATE TABLE C6Staging.WSCABP; +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_TabellaCaratteriAnomali.sql b/sql/storedTestbes/C6Mart_TabellaCaratteriAnomali.sql new file mode 100644 index 00000000..fa4b0d00 --- /dev/null +++ b/sql/storedTestbes/C6Mart_TabellaCaratteriAnomali.sql @@ -0,0 +1,38 @@ +-- 1. Caratteri Anomali +CREATE procedure [C6Mart].[TabellaCaratteriAnomali] +as +begin + create table #TableCaratteriAnomali ( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL + ) + INSERT INTO #TableCaratteriAnomali + exec [C6Mart].[CercaCaratteriAnomali] + select a.*, + c.Indirizzo as Indirizzo_vContratti, + d.indirizzo as indirizzo_Anag, + d.localita as localita_Anag, + d.Provincia as provincia_anag, + d.nazione as nazione_anag, + d.presso as presso_anag + --into #RecordDaModificare + from #TableCaratteriAnomali a + inner join c6mart.gestione_pdf_ftp b + on a.rete = b.rete + and + a.cod_fiscale = b.codicefiscale + inner join C6Mart.VCONTRATTI c + on a.rete = c.rete + and + a.cod_fiscale = c.cod_fiscale + inner join C6Mart.ANAG_CLIENTI d + on a.rete = d.rete + and + a.cod_fiscale = d.cod_fiscale + where b.DataInvio is null + drop table #TableCaratteriAnomali +end \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_UT_INSERT_ERROR.sql b/sql/storedTestbes/C6Mart_UT_INSERT_ERROR.sql new file mode 100644 index 00000000..3bcdc01f --- /dev/null +++ b/sql/storedTestbes/C6Mart_UT_INSERT_ERROR.sql @@ -0,0 +1,35 @@ +CREATE procedure [C6Mart].[UT_INSERT_ERROR] + @codiceErrore as int, + @descrizioErrore as text, + @dataTime as datetime, + @localeId as int, + @descrizionePackage as text, + @nomePackage as varchar(50) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + INSERT INTO [dbo].[GLOBAL_ERROR] + ([Cancel] + ,[ErrorCode] + ,[ErrorDescription] + ,[EventHandlerStartTime] + ,[LocaleID] + ,[Propagate] + ,[SourceDescription] + ,[SourceID] + ,[SourceName] + ,[Time]) + VALUES + (null + ,@codiceErrore + ,@descrizioErrore + ,@dataTime + ,@localeId + ,null + ,@descrizionePackage + ,null + ,@nomePackage + ,@dataTime) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_Util_Test_PL.sql b/sql/storedTestbes/C6Mart_Util_Test_PL.sql new file mode 100644 index 00000000..dff88e25 --- /dev/null +++ b/sql/storedTestbes/C6Mart_Util_Test_PL.sql @@ -0,0 +1,61 @@ +CREATE procedure [C6Mart].[Util_Test_PL] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT 'PL_S10PatrimonioFinanziario' + exec C6Mart.PL_S10PatrimonioFinanziario @Rete , @CodiceFiscale +--select 1 + SELECT 'PL_S18PatrimonioFinanziarioRischio' +-- +-- + exec C6Mart.PL_S18PatrimonioFinanziarioRischio @Rete,@CodiceFiscale +-- + SELECT 'PL_S1Patrimonio' +-- +-- + exec C6Mart.PL_S1Patrimonio @Rete,@CodiceFiscale +-- +-- + SELECT 'PL_S23DettaglioRischio' + exec C6Mart.PL_S23DettaglioRischio @Rete,@CodiceFiscale + SELECT 'PL_S25Anagrafica' + exec C6Mart.PL_S25Anagrafica @Rete,@CodiceFiscale + SELECT 'PL_S26PatrimonioImmobiliare' + exec C6Mart.PL_S26PatrimonioImmobiliare @Rete,@CodiceFiscale + SELECT 'PL_S27ALtroPatrimonio' + exec C6Mart.PL_S27ALtroPatrimonio @Rete,@CodiceFiscale + SELECT 'PL_S2PatrimonioFinanziario' + exec C6Mart.PL_S2PatrimonioFinanziario @Rete,@CodiceFiscale + SELECT 'PL_S31PatrimonioFinanziarioIntermediario' + exec C6Mart.PL_S31PatrimonioFinanziarioIntermediario @Rete,@CodiceFiscale + SELECT 'PL_S32PatrimonioFinanziarioMAssetClass' + exec C6Mart.PL_S32PatrimonioFinanziarioMAssetClass @Rete,@CodiceFiscale + SELECT 'PL_S36ProfiloRischio' + exec C6Mart.PL_S36ProfiloRischio @Rete,@CodiceFiscale + SELECT 'PL_S37PiramideModello' + exec C6Mart.PL_S37PiramideModello @Rete,@CodiceFiscale + SELECT 'PL_S43DettaglioProdottiBF' + exec C6Mart.PL_S43DettaglioProdottiBF @Rete,@CodiceFiscale + SELECT 'PL_S47ContoCorrenteBF' + exec C6Mart.PL_S47ContoCorrenteBF @Rete,@CodiceFiscale + SELECT 'PL_S48DettaglioProdotti' + exec C6Mart.PL_S48DettaglioProdotti @Rete,@CodiceFiscale + SELECT 'PL_S49PolizzeAltriIstituti' + exec C6Mart.PL_S49PolizzeAltriIstituti @Rete,@CodiceFiscale + SELECT 'PL_S50FondiAltriIstituti' + exec C6Mart.PL_S50FondiAltriIstituti @Rete,@CodiceFiscale + SELECT 'PL_S51ContoCorrenteAI' + exec C6Mart.PL_S51ContoCorrenteAI @Rete,@CodiceFiscale + SELECT 'PL_S56PatrimonioBFAreeBisogno' + exec C6Mart.PL_S56PatrimonioBFAreeBisogno @Rete,@CodiceFiscale + SELECT 'PL_S57ConfrontoPiramidi' + exec C6Mart.PL_S57ConfrontoPiramidi @Rete,@CodiceFiscale + SELECT 'PL_S6PatrimonioFinanziario' + exec C6Mart.PL_S6PatrimonioFinanziario @Rete,@CodiceFiscale + SELECT 'PL_S75GradoCopertura' + exec C6Mart.PL_S75GradoCopertura @Rete,@CodiceFiscale + SELECT 'PL_S76PatrimonioNonRappresentabileAssettClass' + exec C6Mart.PL_S76PatrimonioNonRappresentabileAssettClass @Rete,@CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_Verifica_Lancio_Giornaliero.sql b/sql/storedTestbes/C6Mart_Verifica_Lancio_Giornaliero.sql new file mode 100644 index 00000000..3c59c087 --- /dev/null +++ b/sql/storedTestbes/C6Mart_Verifica_Lancio_Giornaliero.sql @@ -0,0 +1,25 @@ +CREATE procedure [C6Mart].[Verifica_Lancio_Giornaliero] +AS +BEGIN + declare @lancia_giornaliero as int + --declare @data_inizio as datetime + --select max(inizio) from log_esecuzione + --where nota like '%Elaborazione giornaliera%' + if datediff(day,(select max(inizio) from log_esecuzione where nota like '%Elaborazione giornaliera%'),getdate()) <= 0 + begin + insert into LOG_ESECUZIONE values ( + 'C6Mart.Verifica_Lancio_Giornaliero', + GETDATE(), + GETDATE(), + 'LANCIO DOPPIO', + 1,'Errore elaborazione giornaliero') + RAISERROR (50000,-1,-1, 'Lancio giornaliero'); + --set @lancia_giornaliero = 0 + end + --else + -- begin + -- insert into LOG_ESECUZIONE values ( + -- 'C6Mart.Verifica_Lancio_Giornaliero', + -- GETDATE(),GETDATE(),'LANCIO OK',1,'elaborazione giornaliero ok') + -- end +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_aggiornaDataValidazione.sql b/sql/storedTestbes/C6Mart_aggiornaDataValidazione.sql new file mode 100644 index 00000000..cec23762 --- /dev/null +++ b/sql/storedTestbes/C6Mart_aggiornaDataValidazione.sql @@ -0,0 +1,18 @@ +CREATE procedure [C6Mart].[aggiornaDataValidazione] as +begin +select + DataGenerazione as data, + SUBSTRING(NomeFile, 1, 11) as codiceContratto, --SUBSTRING(NomeFile, 0, 12) + case + when (id_fk_zip = -1) then 0 + else 1 + end as definitivo, + getDate() as dataAggiornamento +from +( +select +datagenerazione, nomefile,id_fk_zip, +row_number() over (partition by SUBSTRING(NomeFile, 1, 11) order by datagenerazione desc ) pippo from --SUBSTRING(NomeFile, 0, 12) +c6mart.gestione_pdf_ftp +)l where pippo =1 +end \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_getCodiceContratto.sql b/sql/storedTestbes/C6Mart_getCodiceContratto.sql new file mode 100644 index 00000000..ce93e213 --- /dev/null +++ b/sql/storedTestbes/C6Mart_getCodiceContratto.sql @@ -0,0 +1,39 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[getCodiceContratto] + @codiceFiscale as varchar(16), + @rete as varchar(1), + @codicePB as varchar(6) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT DISTINCT + CodiceContratto + FROM + C6Mart.contrattoSEI c6 +-- JOIN +-- C6Mart.anag_clienti ac +-- ON +-- c6.cod_fiscale = ac.cod_fiscale AND +-- c6.rete = ac.rete +-- JOIN +-- C6Mart.anag_promotori ap +-- ON +-- c6.cod_agente = ap.id_promotore + WHERE c6.rete = @rete AND + c6.cod_fiscale = @codiceFiscale AND + c6.cod_agente = @codicePB +-- WHERE +-- ((@rete is null) or (c6.rete = @rete)) AND +-- ((@CodicePB is null) or (c6.Cod_Agente like @codicePB + '%')) AND +-- ((@cod_fiscale is null) or (c6.cod_fiscale like @cod_fiscale + '%')) AND +-- ((@nomeCliente is null) or (ac.nome like @nomeCliente + '%')) AND +-- ((@cognomeCliente is null) or (ac.cognome like @cognomeCliente + '%')) AND +-- ((@cognomePB is null) or (ap.cognome like @cognomePB + '%')) AND +-- ((@nomePB is null) or (ap.nome like @nomePB + '%')) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_sp_getDatiReport.sql b/sql/storedTestbes/C6Mart_sp_getDatiReport.sql new file mode 100644 index 00000000..ed0c0533 --- /dev/null +++ b/sql/storedTestbes/C6Mart_sp_getDatiReport.sql @@ -0,0 +1,32 @@ +CREATE procedure [C6Mart].[sp_getDatiReport] +AS +BEGIN +select + Contratti.codicecontratto as codiceContratto , + pdf.rete as rete , + pdf.codicefiscale as codiceFiscale , + clienti.nome as nomeCliente , + clienti.cognome as cognomeCliente, + pdf.TipoReport as TipoReport, + pdf.idReport as IdReport , + contratti.cod_agente as codAgente , + isnull(promot.nome,'') as nomeAgente , + isnull(promot.Cognome,'') as cognomeAgente , + pdf.numeropagine as numeroPagine , + pdf.NomeFile as NomeFile, + contratti.tip_contratto tipoContratto, + id_fk_zip, + pdf.IDReport as identityReport +from [C6Mart].[GESTIONE_PDF_FTP] PDF + inner join [C6Mart].[ANAG_CLIENTI] Clienti + on pdf.rete=clienti.rete and pdf.codicefiscale=clienti.COD_FISCALE + inner join c6mart.vContratti Contratti + on contratti.rete=pdf.rete and contratti.cod_fiscale= pdf.codicefiscale + left join [C6Mart].[ANAG_Promotori] promot + on contratti.rete=promot.rete and contratti.cod_agente= promot.id_promotore + inner join dbo.reportDainserire_recupero rep + on pdf.IDReport = rep.identificativo +where + pdf.DataGenerazione = rep.Data +--order by IdentityReport +End \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_temp_RP_DM_GestioneEmail.sql b/sql/storedTestbes/C6Mart_temp_RP_DM_GestioneEmail.sql new file mode 100644 index 00000000..47ef0316 --- /dev/null +++ b/sql/storedTestbes/C6Mart_temp_RP_DM_GestioneEmail.sql @@ -0,0 +1,226 @@ +--delete from c6mart.gestione_Email where data_Generazione > getDate()-1 +--truncate table log_esecuzione +--select * from log_esecuzione +CREATE procedure [C6Mart].[temp_RP_DM_GestioneEmail] +AS +BEGIN +BEGIN TRANSACTION +--QUESTA SP POPOLA LA TABELLA GESTIONE_EMAIL PER LE CASISTICHE DI: +-- PERFEZIONAMENTO; +-- MANCATA MIGRAZIONE; +-- REINVIO SOLLECITO MANCATA MIGRAZIONE. +--LA GESTIONE DELLE EMAIL PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO O +--PER REINVIO DEL SOLLECITO PER LE RISORSE NON ASSOCIATE AD AREE DI BISOGNO +--VIENE FATTA DOPO L'ALLINEAMENTO CON I DATI DEL SIMPB +--ESTRAZIONE EMAIL PERFEZIONAMENTO +--TIPO EMAIL: "PERF" +--L'EMAIL VIENE INVIATA PER TUTTI I CLIENTI CHE HANNO DATA DI PERFEZIONAMENTO VALORIZZATA +--IL CONTROLLO SULLA DATA DI GENERAZIONE >= DELLA DATA DI PERFEZIONAMENTO E' DOVUTO AL +--FATTO CHE IL CONTRATTO PUO` ESSERE CHIUSO E RIAPERTO ED IN QUESTO CASO LA MAIL DI PERFEZIONAMENTO +--DEVE ESSERE REINVIATA +-- EMAIL DI ADESIONE AL SERVIZIO SEI +-- TIPO EMAIL 'PERF' +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @ID_ELAB INT +DECLARE @MaxInvioSoll as SMALLINT +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') as smallint) +SET @ID_ELAB = C6MART.GETIDELAB() +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint) --7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') as smallint) --7 +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE(Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - Mail Perf',GETDATE(),'Elaborazione giornaliera') +--0. MODIFICO I RECORD IN GESTIONE EMAIL CON TIPO = PERF PER EVITARE IL REINVIO MULTIPLO A SEGUITO DELLA RIATTIVAZIONE +UPDATE C6MART.GESTIONE_EMAIL +SET TIPO = 'OLD' +FROM C6MART.Gestione_EMAIL EMAIL + INNER JOIN C6MART.VCONTRATTI VC + ON VC.COD_FISCALE = EMAIL.COD_FISCALE + AND VC.rete = EMAIL.RETE + AND EMAIL.TIPO = 'PERF' + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MC + ON VC.chiaveClientePB = MC.CHIAVECLIENTEPB + AND VC.riattivazione = 1 AND VC.DATA_FINEAVANZATO = '9999-12-31 00:00:00.000' + AND MC.Tip_riattivazione = 1 +--1. INSERIMENTO MAIL DI "PERFEZIONAMENTO" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- NON PRESENTI SU GESTIONE_EMAIL +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione, ID_ELAB) +SELECT + VC.Rete, + VC.Cod_Fiscale, + 'PERF' as TipoEmail, + GETDATE() AS DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6Mart.VCONTRATTI VC +INNER JOIN C6Mart.CONTRATTOSEI_METADATI MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb +LEFT JOIN C6Mart.GESTIONE_EMAIL EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + AND EMAIL.TIPO = 'PERF' + AND EMAIL.Data_Generazione >= VC.Data_Perf -- CONDIZIONE PER ESCLUDERE DAL JOIN UN CONTRATTO CHIUSO E RIAPERTO. +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF -- IN QUESTO MODO LO INSERIAMO NUOVAMENTE IN GESTIONE_MAIL. + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + --AND VC.InvioBenvenuto = 'N' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND EMAIL.COD_FISCALE IS NULL + AND PF.RETE IS NULL +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'INSERT',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf' AND + Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - Mail Perf') +INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - SollecitiNOMIG',GETDATE(),'Elaborazione giornaliera') +-- 2. INSERIMENTO MAIL "SOLLECITI" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE +-- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO è NULL -> CONSIDERIAMO DATA_PERF +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT + VC.rete, + VC.cod_fiscale, + CASE + WHEN ISNULL(MD.numSolleciti,0) = 0 THEN '1_SOLL_NOMIG' + WHEN MD.numSolleciti = 1 THEN '2_SOLL_NOMIG' + WHEN MD.numSolleciti = 2 THEN '3_SOLL_NOMIG' + ELSE 'S_SOLL_NOMIG' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB +FROM C6Mart.VCONTRATTI VC +INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb +--LEFT JOIN C6MART.GESTIONE_EMAIL EMAIL +-- ON VC.RETE = EMAIL.RETE +-- AND VC.COD_FISCALE = EMAIL.COD_FISCALE + --AND EMAIL.DATA_GENERAZIONE < getDate() +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'N' + AND MD.InvioBenvenuto = 'N' + AND VC.Data_FineAvanzato > getDate() +-- AND (EMAIL.COD_FISCALE IS NULL OR EMAIL.INVIATA = 'S') + AND PF.RETE IS NULL + AND VC.COD_FISCALE = 'TSSDNI82P44A984U' +-- 2.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" +-- AUMENTIAMO IL NUMERO numSolleciti +-- AGGIORNIAMO LA DATA Data_UltimoSollecito +UPDATE + c6mart.[CONTRATTOSEI_METADATI] +SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() +FROM C6Mart.vcontratti VC +INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.ChiaveClientePb = VC.ChiaveClientePb +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'N' + AND MD.InvioBenvenuto = 'N' -- richiesto da Tringali per non inviare mail se report già inviato + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + AND VC.COD_FISCALE = 'TSSDNI82P44A984U' +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'UPDATE',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - SollecitiNOMIG' AND Inizio = (SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - SollecitiNOMIG') +INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) + VALUES ('RP_DM_GestioneEmail - Mail Revoca',GETDATE(),'Elaborazione giornaliera') +-- 3. INSERIMENTO MAIL "REVOCA" +-- TUPLE DA PERFEZIONARE SU CONTRATTOSEI +-- E PRESENTI SU GESTIONE_EMAIL +-- IL PB NON HA EFFETTUATO LA MIGRAZIONE DOPO @MaxInvioSoll SOLLECITI +-- N.B. OCCHIO ALLA CONDIZIONE -> (c6.clienteMigrato = 'N' AND numSolleciti = @MaxInvioSoll) OR numSolleciti > @MaxInvioSoll +-- OVVERO: BUONA LA MIGRAZIONE EFFETTUATA DOPO L'ULTIMO SOLLECITO MA NON DOPO LA PRIMA REVOCA +INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) +SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOMIG' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB --max(Data_Generazione) +FROM C6Mart.vcontratti VC +INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb +INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOMIG','REVOCA_NOMIG') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.clienteMigrato = 'N')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + AND VC.COD_FISCALE = 'TSSDNI82P44A984U' +GROUP BY email.rete, email.cod_fiscale +-- 3.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "REVOCA" +-- AUMENTIAMO IL NUMERO numSolleciti +-- NON AGGIORNIAMO LA DATA Data_UltimoSollecito +-- N.B. VERIFICARE SE IL CAMPO Data_UltimoSollecito VA AGGIORNATO +UPDATE c6mart.[CONTRATTOSEI_METADATI] +SET + numRevoche = isnull(numRevoche,0) + 1, + data_UltimaRevoca = getDate() +FROM C6Mart.vcontratti VC +INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb +INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE +LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE +WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOMIG','REVOCA_NOMIG') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.clienteMigrato = 'N')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + AND VC.COD_FISCALE = 'TSSDNI82P44A984U' +-- Log esecuzione +UPDATE LOG_ESECUZIONE +SET Fine = GETDATE(),Tipo = 'INSERT',Righe = @@ROWCOUNT +WHERE Nome = 'RP_DM_GestioneEmail - Mail Revoca' AND Inizio = ( + SELECT MAX(Inizio) FROM LOG_ESECUZIONE WHERE Nome = 'RP_DM_GestioneEmail - Mail Revoca') +COMMIT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_zzzPL_D2_S150Anagrafica.sql b/sql/storedTestbes/C6Mart_zzzPL_D2_S150Anagrafica.sql new file mode 100644 index 00000000..c031618e --- /dev/null +++ b/sql/storedTestbes/C6Mart_zzzPL_D2_S150Anagrafica.sql @@ -0,0 +1,91 @@ +-- ============================================= +-- Author: Gentilezza Marco +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[zzzPL_D2_S150Anagrafica] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + ANAG_CLIENTI.NOME + ' ' + ANAG_CLIENTI.COGNOME AS Cliente, + dbo.ToShortDateString(ANAG_CLIENTI.DATA_NASCITA) AS DatadiNascita, + ANAG_CLIENTI.ETA, + ANAG_CLIENTI_PREV.PROFESSIONE AS Professione, + ANAG_CLIENTI.STATO_CIVILE AS StatoCivile, + CASE ANAG_CLIENTI.NUM_COMPONENTI + WHEN 0 THEN NULL + ELSE --CASE + --WHEN COALESCE(ANAG_CLIENTI.NUM_FIGLI, 0) = 0 THEN CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + --ELSE + CAST(ANAG_CLIENTI.NUM_COMPONENTI AS VARCHAR) + ' ' + CASE ANAG_CLIENTI.NUM_FIGLI + --WHEN 0 THEN '(0 + WHEN 1 THEN '(1 figlio)' + ELSE '(' + CAST(ANAG_CLIENTI.NUM_FIGLI AS VARCHAR) + ' figli)' + END + END AS NucleoFamiliare, +-- ANAG_CLIENTI.INDIRIZZO + ' - ' + ANAG_CLIENTI.CAP + ' - ' + ANAG_CLIENTI.LOCALITA +-- + ' - (' + ANAG_CLIENTI.PROVINCIA + ')' AS Residenza, +-- REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + CONTRATTOSEI.CAP + ' ' + CONTRATTOSEI.[Citta] +-- + ' (' + CONTRATTOSEI.PROV + ')' AS Residenza, + --PRIMA DELLA MODIFICA DI AULETTA + --V REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + --V+ ' (' + isnull(CONTRATTOSEI.PROV,'') + ')','()','') AS Residenza, + --V Indirizzo Secondo AULETTA + CASE WHEN CONTRATTOSEI.[PRESSO] IS NULL + THEN + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + ELSE + REPLACE (REPLACE(CONTRATTOSEI.INDIRIZZO,',','') + ' C/O ' + CONTRATTOSEI.[PRESSO] + ', ' + isnull(CONTRATTOSEI.CAP,'') + ' ' + CONTRATTOSEI.[Citta] + + ' (' + isnull(CONTRATTOSEI.PROVINCIA,'') + ')','()','') + END AS Residenza, + -- + ANAG_CLIENTI.COD_FISCALE AS CodiceFiscale, + ANAG_PROMOTORI.ID_PROMOTORE AS CodicePB, + ANAG_CLIENTI.RETE AS CodiceRete, + CONTRATTOSEI.CODICECONTRATTO AS CodiceContratto, + NULL AS StatoContratto, + dbo.ToShortDateString(CONTRATTOSEI.DATA_INZIOAVANZATO) AS DataSottoscrizione, + dbo.ToShortDateString(CONTRATTOSEI.DATA_PERF) AS DataPerfezionamento, + null AS FasciaCPP, + ANAG_CLIENTI.E_MAIL AS IndirizzoEmail, + DATI_REPORT.FLAG_REPORT AS ProduzioneReport, + --ANAG_CLIENTI.INDIRIZZO AS Indirizzo, + CONTRATTOSEI.[Indirizzo] AS Indirizzo, + --ANAG_CLIENTI.CAP AS CAP, + CONTRATTOSEI.[CAP] AS CAP, + CONTRATTOSEI.[Citta] AS Citta, + --ANAG_CLIENTI.LOCALITA AS Citta, + CONTRATTOSEI.[Provincia] AS Provincia, + --ANAG_CLIENTI.PROVINCIA AS Provincia, + CONTRATTOSEI.[Nazione] AS Nazione, + --ANAG_CLIENTI.NAZIONE AS Nazione + CONTRATTOSEI.[Presso] AS PRESSO + FROM + C6MART.VCONTRATTI AS CONTRATTOSEI -- TABELLA BASE + INNER JOIN + C6MART.ANAG_CLIENTI + ON + ANAG_CLIENTI.RETE = CONTRATTOSEI.RETE + AND ANAG_CLIENTI.COD_FISCALE = CONTRATTOSEI.COD_FISCALE + LEFT OUTER JOIN + C6MART.ANAG_PROMOTORI + ON + ANAG_CLIENTI.RETE = ANAG_PROMOTORI.RETE + AND ANAG_CLIENTI.ID_PROMOTORE = ANAG_PROMOTORI.ID_PROMOTORE + LEFT JOIN + C6MART.ANAG_CLIENTI_PREV + ON + ANAG_CLIENTI.RETE = ANAG_CLIENTI_PREV.RETE + AND ANAG_CLIENTI.COD_FISCALE = ANAG_CLIENTI_PREV.COD_FISCALE + LEFT JOIN + C6MART.DATI_REPORT + ON + ANAG_CLIENTI_PREV.RETE = DATI_REPORT.RETE + AND ANAG_CLIENTI_PREV.COD_FISCALE = DATI_REPORT.COD_FISCALE + WHERE 1 = 1 + AND ANAG_CLIENTI.RETE = @RETE + AND ANAG_CLIENTI.COD_FISCALE = @CODICEFISCALE +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_zzzPL_D2_S168TabellaEmittenti.sql b/sql/storedTestbes/C6Mart_zzzPL_D2_S168TabellaEmittenti.sql new file mode 100644 index 00000000..158152c5 --- /dev/null +++ b/sql/storedTestbes/C6Mart_zzzPL_D2_S168TabellaEmittenti.sql @@ -0,0 +1,396 @@ +-- ============================================= +-- Author: +-- Create date: <25052010> +-- Description: < SEZIONE 103> +-- ============================================= +--EXEC [C6Mart].[PL_D_S168TabellaEmittenti] 'F','FF@7181' +CREATE procedure [C6Mart].[zzzPL_D2_S168TabellaEmittenti] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS, + RATING + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +--RATING as RATING +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +--RATING as RATING +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V +LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS, +RATING +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10 +--RATING +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_zzzPL_D_S157ConfrontoPiramidi.sql b/sql/storedTestbes/C6Mart_zzzPL_D_S157ConfrontoPiramidi.sql new file mode 100644 index 00000000..0a23399c --- /dev/null +++ b/sql/storedTestbes/C6Mart_zzzPL_D_S157ConfrontoPiramidi.sql @@ -0,0 +1,203 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6Mart].[PL_D_S157ConfrontoPiramidi] 'F','CMRCST54E45B300G' +CREATE procedure [C6Mart].[zzzPL_D_S157ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + C6MART.PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + LEFT(ID_AREA,3) AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MART.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + OR (PIRAMIDE_MOD.ID_AREA = 'INV')) -- AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL)) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc') + --V + DECLARE @TOTCC AS INT + SELECT @TOTCC = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND TIPO_PRODOTTO = 'Cc' + --V + DECLARE @TOT AS INT + SELECT @TOT = COUNT(*) + FROM C6MART.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCC = @TOT THEN 0.00 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + WHEN (@TOTCC <> @TOT) AND(RISCHIOTOTALE.COPERTURA IS NULL OR RISCHIOTOTALE.COPERTURA = 0) THEN 'jjn.c.' + --V SOLO CC -> VAR = 0 + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCC = @TOT THEN NULL + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN '0,00' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN '0,00' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + RISCHIORISFIN.VAR_PERC_PTF AS VAR_RISFIN, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + WHEN @TOTCC = @TOT THEN NULL + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM + C6MART.AREA_BISOGNO + LEFT JOIN + #PIRAMIDE_VERT ATTUALE + ON + ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOAREA + ON + RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + END + ) + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOTOTALE + ON + RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + --V + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6MART.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + /*WHERE + AREA_BISOGNO.ORDINAMENTO < 6*/ + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * + FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_zzzPL_D_S170RischioDiversificazione.sql b/sql/storedTestbes/C6Mart_zzzPL_D_S170RischioDiversificazione.sql new file mode 100644 index 00000000..bfe316bd --- /dev/null +++ b/sql/storedTestbes/C6Mart_zzzPL_D_S170RischioDiversificazione.sql @@ -0,0 +1,70 @@ +CREATE procedure [C6Mart].[zzzPL_D_S170RischioDiversificazione] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN + declare @contaCC as int + select @contaCC = count(*) + from C6MART.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from C6MART.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete +SELECT + K.COD_FISCALE, + K.RETE, + K.CTV_AGGREG, + K.CREDITRISK, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END +as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Banca Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM C6MART.RISCHIO_AGGREGATO K +left outer JOIN C6MART.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete +left outer join C6MART.CODIFICA_RISCHIO b + ON A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_zzzQUALITY_CARATTERIVCONTRATTI.sql b/sql/storedTestbes/C6Mart_zzzQUALITY_CARATTERIVCONTRATTI.sql new file mode 100644 index 00000000..db875103 --- /dev/null +++ b/sql/storedTestbes/C6Mart_zzzQUALITY_CARATTERIVCONTRATTI.sql @@ -0,0 +1,217 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[zzzQUALITY_CARATTERIVCONTRATTI] +AS +BEGIN +declare @num int +set @num = 1 +CREATE TABLE #tab_temp( + [Val_Ascii] [smallint] NOT NULL, + [Val_Char] [varchar](1) NOT NULL, + [Rete] [varchar](1) NOT NULL, + [Cod_Fiscale] [varchar](16) NOT NULL, + [Nome_Campo] [varchar](50) NOT NULL, + [Val_Campo] [varchar](150) NOT NULL) +set @num = 1 +while @num < 150 +begin + insert into #tab_temp + SELECT ascii(substring(email,@num,1)), + substring(email,@num,1), + rete, + Cod_Fiscale, + 'EMAIL', + email + FROM C6Mart.vcontratti + WHERE + ascii(substring(email,@num,len(email))) not between 64 and 90 + and ascii(substring(email,@num,len(email))) not between 97 and 122 + and ascii(substring(email,@num,len(email))) not between 48 and 57 + and ascii(substring(email,@num,len(email))) <> 32 + and ascii(substring(email,@num,len(email))) <> 40 + and ascii(substring(email,@num,len(email))) <> 41 + and ascii(substring(email,@num,len(email))) <> 43 + and ascii(substring(email,@num,len(email))) <> 44 + and ascii(substring(email,@num,len(email))) <> 45 + and ascii(substring(email,@num,len(email))) <> 46 + and ascii(substring(email,@num,len(email))) <> 95 + and ascii(substring(email,@num,len(email))) <> 39 + and ascii(substring(email,@num,len(email))) <> 47 + and ascii(substring(email,@num,len(email))) <> 63 + set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin + insert into #tab_temp + SELECT ascii(substring(Indirizzo,@num,1)), + substring(Indirizzo,@num,1), + rete, + Cod_Fiscale, + 'INDIRIZZO', + Indirizzo + FROM C6Mart.vcontratti + WHERE + ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 64 and 90 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 97 and 122 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) not between 48 and 57 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 32 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 40 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 41 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 43 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 44 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 45 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 46 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 95 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 39 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 47 + and ascii(substring(Indirizzo,@num,len(Indirizzo))) <> 63 + set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin + insert into #tab_temp + SELECT ascii(substring(CAP,@num,1)), + substring(CAP,@num,1), + rete, + Cod_Fiscale, + 'CAP', + CAP + FROM C6Mart.vcontratti + WHERE + ascii(substring(CAP,@num,len(CAP))) not between 64 and 90 + and ascii(substring(CAP,@num,len(CAP))) not between 97 and 122 + and ascii(substring(CAP,@num,len(CAP))) not between 48 and 57 + and ascii(substring(CAP,@num,len(CAP))) <> 32 + and ascii(substring(CAP,@num,len(CAP))) <> 40 + and ascii(substring(CAP,@num,len(CAP))) <> 41 + and ascii(substring(CAP,@num,len(CAP))) <> 43 + and ascii(substring(CAP,@num,len(CAP))) <> 44 + and ascii(substring(CAP,@num,len(CAP))) <> 45 + and ascii(substring(CAP,@num,len(CAP))) <> 46 + and ascii(substring(CAP,@num,len(CAP))) <> 95 + and ascii(substring(CAP,@num,len(CAP))) <> 39 + and ascii(substring(CAP,@num,len(CAP))) <> 47 + and ascii(substring(CAP,@num,len(CAP))) <> 63 + set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin + insert into #tab_temp + SELECT ascii(substring(Citta,@num,1)), + substring(Citta,@num,1), + rete, + Cod_Fiscale, + 'Citta', + Citta + FROM C6Mart.vcontratti + WHERE + ascii(substring(Citta,@num,len(Citta))) not between 64 and 90 + and ascii(substring(Citta,@num,len(Citta))) not between 97 and 122 + and ascii(substring(Citta,@num,len(Citta))) not between 48 and 57 + and ascii(substring(Citta,@num,len(Citta))) <> 32 + and ascii(substring(Citta,@num,len(Citta))) <> 40 + and ascii(substring(Citta,@num,len(Citta))) <> 41 + and ascii(substring(Citta,@num,len(Citta))) <> 43 + and ascii(substring(Citta,@num,len(Citta))) <> 44 + and ascii(substring(Citta,@num,len(Citta))) <> 45 + and ascii(substring(Citta,@num,len(Citta))) <> 46 + and ascii(substring(Citta,@num,len(Citta))) <> 95 + and ascii(substring(Citta,@num,len(Citta))) <> 39 + and ascii(substring(Citta,@num,len(Citta))) <> 47 + and ascii(substring(Citta,@num,len(Citta))) <> 63 + set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Provincia,@num,1)), + substring(Citta,@num,1), + rete, + Cod_Fiscale, + 'Provincia', + Provincia +FROM C6Mart.vcontratti +WHERE + ascii(substring(Provincia,@num,len(Provincia))) not between 64 and 90 +and ascii(substring(Provincia,@num,len(Provincia))) not between 97 and 122 +and ascii(substring(Provincia,@num,len(Provincia))) not between 48 and 57 +and ascii(substring(Provincia,@num,len(Provincia))) <> 32 +and ascii(substring(Provincia,@num,len(Provincia))) <> 40 +and ascii(substring(Provincia,@num,len(Provincia))) <> 41 +and ascii(substring(Provincia,@num,len(Provincia))) <> 43 +and ascii(substring(Provincia,@num,len(Provincia))) <> 44 +and ascii(substring(Provincia,@num,len(Provincia))) <> 45 +and ascii(substring(Provincia,@num,len(Provincia))) <> 46 +and ascii(substring(Provincia,@num,len(Provincia))) <> 95 +and ascii(substring(Provincia,@num,len(Provincia))) <> 39 +and ascii(substring(Provincia,@num,len(Provincia))) <> 47 +and ascii(substring(Provincia,@num,len(Provincia))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Nazione,@num,1)), + substring(Nazione,@num,1), + rete, + Cod_Fiscale, + 'Nazione', + Nazione +FROM C6Mart.vcontratti +WHERE + ascii(substring(Nazione,@num,len(Nazione))) not between 64 and 90 +and ascii(substring(Nazione,@num,len(Nazione))) not between 97 and 122 +and ascii(substring(Nazione,@num,len(Nazione))) not between 48 and 57 +and ascii(substring(Nazione,@num,len(Nazione))) <> 32 +and ascii(substring(Nazione,@num,len(Nazione))) <> 40 +and ascii(substring(Nazione,@num,len(Nazione))) <> 41 +and ascii(substring(Nazione,@num,len(Nazione))) <> 43 +and ascii(substring(Nazione,@num,len(Nazione))) <> 44 +and ascii(substring(Nazione,@num,len(Nazione))) <> 45 +and ascii(substring(Nazione,@num,len(Nazione))) <> 46 +and ascii(substring(Nazione,@num,len(Nazione))) <> 95 +and ascii(substring(Nazione,@num,len(Nazione))) <> 39 +and ascii(substring(Nazione,@num,len(Nazione))) <> 47 +and ascii(substring(Nazione,@num,len(Nazione))) <> 63 +set @num = @num + 1 +end +set @num = 1 +while @num < 150 +begin +insert into #tab_temp +SELECT ascii(substring(Presso,@num,1)), + substring(Presso,@num,1), + rete, + Cod_Fiscale, + 'Presso', + Presso +FROM C6Mart.vcontratti +WHERE + ascii(substring(Presso,@num,len(Presso))) not between 64 and 90 +and ascii(substring(Presso,@num,len(Presso))) not between 97 and 122 +and ascii(substring(Presso,@num,len(Presso))) not between 48 and 57 +and ascii(substring(Presso,@num,len(Presso))) <> 32 +and ascii(substring(Presso,@num,len(Presso))) <> 40 +and ascii(substring(Presso,@num,len(Presso))) <> 41 +and ascii(substring(Presso,@num,len(Presso))) <> 43 +and ascii(substring(Presso,@num,len(Presso))) <> 44 +and ascii(substring(Presso,@num,len(Presso))) <> 45 +and ascii(substring(Presso,@num,len(Presso))) <> 46 +and ascii(substring(Presso,@num,len(Presso))) <> 95 +and ascii(substring(Presso,@num,len(Presso))) <> 39 +and ascii(substring(Presso,@num,len(Presso))) <> 47 +and ascii(substring(Presso,@num,len(Presso))) <> 63 +set @num = @num + 1 +end + select * from #tab_temp a +--inner join c6mart.gestione_pdf_ftp b on a.rete=b.rete and a.cod_fiscale=b.codicefiscale +--where flaginvio = 'N' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_zzzRP_DM_GestioneEmailNA.sql b/sql/storedTestbes/C6Mart_zzzRP_DM_GestioneEmailNA.sql new file mode 100644 index 00000000..172ba644 --- /dev/null +++ b/sql/storedTestbes/C6Mart_zzzRP_DM_GestioneEmailNA.sql @@ -0,0 +1,248 @@ +-- ============================================= +-- Author: +-- Create date: <17/11/2008,,> +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[zzzRP_DM_GestioneEmailNA] +AS +BEGIN +--INSERT INTO C6MART.LogVcontrattiseiAnd +-- select getdate()as dtstamp,* from c6mart.vcontrattisei where cod_fiscale + rete in (SELECT COD_FISCALE+RETE FROM C6MART.TestEmailAnd) +--EXECUTE C6Mart.RP_DM_GestioneEmailNA_AND +BEGIN TRANSACTION +DECLARE @NUMGIORNIDALPERF SMALLINT +DECLARE @NUMGIORNIDASOLLECITO SMALLINT +DECLARE @MaxInvioSoll SMALLINT +DECLARE @ID_ELAB INT +SET @NUMGIORNIDALPERF = CAST(dbo.getParametro('NUMGIORNIDALPERF') as smallint)--7 +SET @NUMGIORNIDASOLLECITO = CAST(dbo.getParametro('NUMGIORNIDASOLLECITO') AS SMALLINT) --7 +SET @MaxInvioSoll = CAST(dbo.getParametro('MaxInvioSoll') AS SMALLINT)--12 +SET @ID_ELAB = C6MART.GETIDELAB() +-- Log esecuzione +INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) +VALUES ( + 'RP_DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' +) +-- 1. INSERIMENTO MAIL "SOLLECITI" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA EFFETTUATO L'ASSOCIAZIONE DELLE RISORSE + -- N.B. PER IL PRIMO SOLLECITO DATA_ULTIMOSOLLECITO è NULL -> CONSIDERIAMO DATA_PERF + INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + VC.rete, + VC.cod_fiscale, + CASE + WHEN ISNULL(numSolleciti,0) = 0 THEN '1_SOLL_NOASS' + WHEN numSolleciti = 1 THEN '2_SOLL_NOASS' + WHEN numSolleciti = 2 THEN '3_SOLL_NOASS' + ELSE 'S_SOLL_NOASS' + END as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'S' + AND MD.risorseNA = 'S' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + AND VC.COD_FISCALE + VC.RETE NOT IN (SELECT COD_FISCALE+RETE FROM C6MART.TestEmailAnd) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNA' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 1.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "SOLLECITI" + -- AUMENTIAMO IL NUMERO numSolleciti + -- AGGIORNIAMO LA DATA Data_UltimoSollecito + UPDATE + c6mart.CONTRATTOSEI_METADATI + SET + numSolleciti = isnull(numSolleciti,0) + 1, + Data_UltimoSollecito = getDate() + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND MD.numSolleciti < @MaxInvioSoll + AND ( + (ISNULL(MD.numSolleciti,0) = 0 AND DATEDIFF(DAY,VC.Data_Perf,GETDATE()) >= @NUMGIORNIDALPERF) + OR + (DATEDIFF(DAY,isnull(MD.Data_UltimoSollecito,GETDATE()),GETDATE()) >= @NUMGIORNIDASOLLECITO) + ) + AND MD.clienteMigrato = 'S' + AND MD.risorseNA = 'S' + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND PF.RETE IS NULL + AND VC.COD_FISCALE + VC.RETE NOT IN (SELECT COD_FISCALE+RETE FROM C6MART.TestEmailAnd) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNA' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 2. INSERIMENTO MAIL "REVOCA" + -- TUPLE DA PERFEZIONARE SU CONTRATTOSEI + -- E PRESENTI SU GESTIONE_EMAIL + -- IL PB NON HA EFFETTUATO L'ASSOCIAZIONE DELLE RISORSE DOPO @MaxInvioSoll SOLLECITI + -- N.B. OCCHIO ALLA CONDIZIONE -> (c6.risorseNA = 'N' AND numSolleciti = @MaxInvioSoll) OR numSolleciti > @MaxInvioSoll + -- OVVERO: BUONA L'ASSOCIAZIONE DELLE RISORSE EFFETTUATA DOPO L'ULTIMO SOLLECITO MA NON DOPO LA PRIMA REVOCA + INSERT INTO C6Mart.GESTIONE_EMAIL + (Rete,Cod_Fiscale,Tipo,Data_Generazione,ID_ELAB) + SELECT + email.rete, + email.cod_fiscale, + 'REVOCA_NOASS' as tipoEmail, + getDate() as DataGenerazione, + @ID_ELAB AS ID_ELAB --max(Data_Generazione) + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOASS','REVOCA_NOASS') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.risorseNA = 'S')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + AND VC.COD_FISCALE + VC.RETE NOT IN (SELECT COD_FISCALE+RETE FROM C6MART.TestEmailAnd) + GROUP BY email.rete, email.cod_fiscale + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNA' + ) + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_DM_GestioneEmailNA', + GETDATE(), + 'Elaborazione giornaliera' + ) +-- 2.BIS UPDATE CONTRATTOSEI DOPO INSERIMENTO MAIL "REVOCA" + -- AUMENTIAMO IL NUMERO numSolleciti + -- NON AGGIORNIAMO LA DATA Data_UltimoSollecito + -- N.B. VERIFICARE SE IL CAMPO Data_UltimoSollecito VA AGGIORNATO + UPDATE c6mart.[CONTRATTOSEI_METADATI] + SET + numRevoche = isnull(numRevoche,0) + 1, + data_UltimaRevoca = getDate() + FROM C6Mart.vcontratti VC + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] MD + ON MD.chiaveclientepb = VC.chiaveclientepb + INNER JOIN c6mart.gestione_Email EMAIL + ON VC.RETE = EMAIL.RETE + AND VC.COD_FISCALE = EMAIL.COD_FISCALE + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON VC.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA + AND VC.RETE = PF.RETE + WHERE 1 = 1 + AND EMAIL.Tipo IN ('S_SOLL_NOASS','REVOCA_NOASS') + AND ( + (MD.numRevoche> 0) -- SONO NEL CASO DI REVOCA SUCCESSIVA BRAVO VALERIO + OR + (MD.numSolleciti = @MaxInvioSoll and MD.risorseNA = 'S')-- SONO NEL CASO DI PRIMA REVOCA + ) + AND VC.Data_FineAvanzato > getDate() + --AND VC.GenerazioneReport = 'S' + AND (DATEDIFF(DAY,isnull(MD.Data_UltimaRevoca,MD.Data_UltimoSollecito),GETDATE()) >= @NUMGIORNIDASOLLECITO) + AND PF.RETE IS NULL + AND VC.COD_FISCALE + VC.RETE NOT IN (SELECT COD_FISCALE+RETE FROM C6MART.TestEmailAnd) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_DM_GestioneEmailNA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_DM_GestioneEmailNA' + ) +COMMIT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_zzzSRV_CHECK_C6_GIORNALIERO_AND.sql b/sql/storedTestbes/C6Mart_zzzSRV_CHECK_C6_GIORNALIERO_AND.sql new file mode 100644 index 00000000..28f360dc --- /dev/null +++ b/sql/storedTestbes/C6Mart_zzzSRV_CHECK_C6_GIORNALIERO_AND.sql @@ -0,0 +1,427 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[zzzSRV_CHECK_C6_GIORNALIERO_AND] +AS +BEGIN + SET NOCOUNT ON; +SELECT DISTINCT * INTO #TEST_QUALITY FROM ( +SELECT *,12 AS ISLOG FROM C6MART.TEST_QUALITY +UNION +SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'Cliente con VaR discordante '+ convert(varchar,RA.VAR_PERC_PTF) + ' ' + convert(varchar,VC.VAR_COMPLESSIVO_BF) AS MOTIVO,0 +FROM + C6Mart.RISCHIO_AGGREGATO AS RA + INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE +WHERE + RA.COD_AGGREG = 'COMPLESSIVO|BF' + AND ABS(RA.VAR_PERC_PTF - VC.VAR_COMPLESSIVO_BF) > 0.02 + AND (VC.FiduMulitMand = 'N') +UNION +SELECT DISTINCT RETE,COD_FISCALE,'Indirizzo più lunghi di 36 caratteri' AS MOTIVO,6 +FROM C6Mart.vcontrattisei +WHERE data_fineavanzato > GETDATE() + AND isnull(numrevoche,0) = 0 + AND inviobenvenuto = 'N' + AND LEN(Indirizzo) > 36 +UNION + SELECT DISTINCT RETE,CODICEFISCALE + ,'Prodotto non a catalogo ' + isnull(codiceContratto,'') +', '+ ltrim(rtrim(isnull(codiceinterno,''))) + '/'+ ltrim(rtrim(isnull(codicesottoprodotto,''))) + '/'+ ltrim(rtrim(isnull(codicemaf,''))) + '/'+ ltrim(rtrim(isnull(isin,''))) As motivo ,7 +FROM C6Staging.SPB_CONTR_SINTESI WHERE POSITIONID IS NULL +UNION +SELECT DISTINCT CM.Rete,CM.Cod_Fiscale,'Cliente senza righe Contratto Sintesi' AS MOTIVO,8 +FROM C6Mart.RP_VContrattiMigrati CM +LEFT JOIN C6Staging.SPB_CONTR_SINTESI CS +ON CM.Cod_Fiscale = CS.CODICEFISCALE AND CM.RETE = CS.RETE +WHERE CS.CODICEFISCALE IS NULL +UNION +SELECT DISTINCT PB.RETE,PB.COD_FISCALE,'Cliente senza data sottoscrizione ' + dbo.toShortDateString(PB.ID_CONTRATTO) AS MOTIVO,9 + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.PATRIMONIO_BF AS PB + ON C.Rete = PB.RETE + AND C.Cod_Fiscale = PB.COD_FISCALE + INNER JOIN C6Mart.RISCHIO_AGGREGATO AS RA + ON PB.RETE = RA.RETE + AND PB.COD_FISCALE = RA.COD_FISCALE + WHERE + PB.DATA_SOTTOSCRIZIONE IS NULL + AND PB.TIPO_PRODOTTO = 'DT' +UNION +SELECT DISTINCT VC.Rete,VC.Cod_Fiscale,'Cliente senza piramide modello' AS MOTIVO,10 +FROM C6Mart.vcontrattiSEI VC + LEFT JOIN C6Mart.PIRAMIDE_MOD PM + ON VC.Cod_Fiscale=PM.Cod_Fiscale AND VC.RETE=PM.RETE +WHERE + VC.Data_FineAvanzato > getDate() + AND VC.inviobenvenuto = 'N' + AND VC.clientemigrato = 'S' + AND VC.risorseNA = 'N' + AND VC.profiloAttivo = 1 + AND DATEDIFF(d, VC.Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND ISNULL(VC.NUMREVOCHE,0) = 0 + AND PM.Cod_Fiscale IS NULL +UNION +SELECT DISTINCT CM.RETE,CM.Cod_Fiscale,'Cliente senza righe profilo MIFID' AS MOTIVO,11 +FROM C6Mart.RP_VContrattiMigrati CM +LEFT JOIN C6Staging.SPB_MIFID MD +ON CM.Cod_Fiscale = MD.CODICEFISCALE AND CM.RETE = MD.RETE +WHERE MD.CODICEFISCALE IS NULL +) T +INSERT INTO #TEST_QUALITY +SELECT DISTINCT VC.RETE,VC.COD_FISCALE,'Cliente con VaR discordante '+ convert(varchar,RA.VAR_PERC_PTF) + ' ' + convert(varchar,VC.VAR_COMPLESSIVO_BF) + CASE WHEN VC.FiduMulitMand = 'S' THEN ' FiduMulitMand' ELSE ' ' END AS MOTIVO,5 +FROM + C6Mart.RISCHIO_AGGREGATO AS RA + INNER JOIN C6staging.VAR_ADEGUATEZZA AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE +WHERE + RA.COD_AGGREG = 'COMPLESSIVO|BF' + AND ABS(RA.VAR_PERC_PTF - VC.VAR_COMPLESSIVO_BF) <> 0.00 +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in EMAIL' AS MOTIVO,12 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](email) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in INDIRIZZO' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](Indirizzo) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in CAP' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](CAP) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in Citta' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](Citta) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in Provincia' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](Provincia) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in Nazione' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](Nazione) = 'S' and data_fineavanzato > getdate() +INSERT INTO #TEST_QUALITY +SELECT DISTINCT RETE,Cod_Fiscale,'Caratteri non validi in Presso' AS MOTIVO,13 +FROM C6Mart.vcontratti WHERE [C6Mart].[CARATTERINONVALIDI](Presso) = 'S' and data_fineavanzato > getdate() + SELECT + Tipo + ,CASE Tipo + WHEN 'PERF' THEN 'Perfezionamento' + WHEN '1_SOLL_NOASS' THEN '1º sollecito risorse non associate' + WHEN '2_SOLL_NOASS' THEN '2º sollecito risorse non associate' + WHEN '3_SOLL_NOASS' THEN '3º sollecito risorse non associate' + WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + WHEN '1_SOLL_NOMIG' THEN '1º sollecito cliente non migrato' + WHEN '2_SOLL_NOMIG' THEN '2º sollecito cliente non migrato' + WHEN '3_SOLL_NOMIG' THEN '3º sollecito cliente non migrato' + WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + WHEN '1_SOLL_NOPRO' THEN '1º sollecito profilo non attivo' + WHEN '2_SOLL_NOPRO' THEN '2º sollecito profilo non attivo' + WHEN '3_SOLL_NOPRO' THEN '3º sollecito profilo non attivo' + WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + END AS DescTipo + ,CASE Tipo + WHEN 'PERF' THEN 1 + WHEN '1_SOLL_NOMIG' THEN 2 + WHEN '2_SOLL_NOMIG' THEN 3 + WHEN '3_SOLL_NOMIG' THEN 4 + WHEN 'S_SOLL_NOMIG' THEN 5 + WHEN 'REVOCA_NOMIG' THEN 6 + WHEN '1_SOLL_NOASS' THEN 7 + WHEN '2_SOLL_NOASS' THEN 8 + WHEN '3_SOLL_NOASS' THEN 9 + WHEN 'S_SOLL_NOASS' THEN 10 + WHEN 'REVOCA_NOASS' THEN 11 + WHEN '1_SOLL_NOPRO' THEN 12 + WHEN '2_SOLL_NOPRO' THEN 13 + WHEN '3_SOLL_NOPRO' THEN 14 + WHEN 'S_SOLL_NOPRO' THEN 15 + WHEN 'REVOCA_NOPRO' THEN 16 + END AS Ordine + ,COUNT(Tipo) AS Totale + INTO #EmailInviate + FROM C6Mart.GESTIONE_EMAIL + WHERE Inviata = 'S' + AND dbo.toShortDateString(Data_Invio) = dbo.toShortDateString(GETDATE()) + --AND Data_Invio > '20140320' and Data_Invio < '20140321' + GROUP BY Tipo + SELECT C.rete + ,C.Cod_fiscale + ,C.cod_Agente + ,case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(C.cod_fiscale,4,6) else C.Cod_Fiscale end as cliente + ,C.data_perf + ,Tipo + ,C.ClienteMIGRATO + ,C.RISORSENA + ,C.PROFILOATTIVO + ,row_number() over (partition by C.rete,C.Cod_fiscale ORDER BY CASE Tipo + WHEN 'PERF' THEN 1 + WHEN '1_SOLL_NOMIG' THEN 2 + WHEN '2_SOLL_NOMIG' THEN 3 + WHEN '3_SOLL_NOMIG' THEN 4 + WHEN 'S_SOLL_NOMIG' THEN 5 + WHEN 'REVOCA_NOMIG' THEN 6 + WHEN '1_SOLL_NOASS' THEN 7 + WHEN '2_SOLL_NOASS' THEN 8 + WHEN '3_SOLL_NOASS' THEN 9 + WHEN 'S_SOLL_NOASS' THEN 10 + WHEN 'REVOCA_NOASS' THEN 11 + WHEN '1_SOLL_NOPRO' THEN 12 + WHEN '2_SOLL_NOPRO' THEN 13 + WHEN '3_SOLL_NOPRO' THEN 14 + WHEN 'S_SOLL_NOPRO' THEN 15 + WHEN 'REVOCA_NOPRO' THEN 16 + END) as duplicato + INTO #EmailInviateDett + FROM C6Mart.GESTIONE_EMAIL E INNER JOIN C6MART.VCONTRATTISEI C + ON E.COD_FISCALE = C.COD_FISCALE AND E.RETE=C.RETE + WHERE Inviata = 'S' + AND dbo.toShortDateString(Data_Invio) = dbo.toShortDateString(GETDATE()) + --AND Data_Invio > '20140320' and Data_Invio < '20140321' + SELECT C.rete + ,C.Cod_fiscale + ,C.cod_Agente + ,case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(C.cod_fiscale,4,6) else C.Cod_Fiscale end as cliente + ,C.data_perf + ,'NoInviate' AS Tipo + ,C.ClienteMIGRATO + ,C.RISORSENA + ,C.PROFILOATTIVO + ,row_number() over (partition by C.rete,C.Cod_fiscale ORDER BY TIPO) as duplicato + INTO #EmailNoInviateDett + FROM C6Mart.GESTIONE_EMAIL E INNER JOIN C6MART.VCONTRATTISEI C + ON E.COD_FISCALE = C.COD_FISCALE AND E.RETE=C.RETE + WHERE Data_Invio is null + AND dbo.toShortDateString(Data_generazione) = dbo.toShortDateString(GETDATE()) + DECLARE @EMAILNOINVIATE AS INT + SELECT @EMAILNOINVIATE = ISnull(COUNT(*),0) FROM #EmailNoInviateDett + IF @EMAILNOINVIATE > 0 + begin + INSERT INTO #EmailInviate VALUES ('NoInviate','Email non inviate',17,@EMAILNOINVIATE) + INSERT INTO #EmailInviateDett SELECT * FROM #EmailNoInviateDett + end +SELECT + C.Rete, + C.Cod_fiscale, + C.Cod_Agente, + case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(C.cod_fiscale,4,6) else C.Cod_Fiscale end as cliente, + C.Data_Perf + INTO #ReportGenerati + FROM + C6Mart.GESTIONE_PDF_FTP AS GPF + INNER JOIN C6Mart.VCONTRATTI AS C + ON GPF.RETE = C.Rete + AND GPF.CODICEFISCALE = C.Cod_Fiscale + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on C.chiaveclientepb = M.chiaveclientepb + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND Data_FineAvanzato > getDate() +SElECT DISTINCT + V.COD_FISCALE + ,V.RETE + ,V.COD_AGENTE + ,V.piva_fiduciaria + ,V.DATA_PERF + ,V.ClienteMigrato + ,V.RisorseNA + ,V.profiloAttivo + ,V.Data_UltimaRevoca + ,CASE WHEN Q.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END AS TestQuality + ,CASE WHEN DATEDIFF(d, DATA_PERF, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) THEN 'S' ELSE 'N' END AS FinePerf + ,InvioBenvenuto as Generato +INTO #TuttiReport +FROM C6MART.VCONTRATTISEI V +LEFT JOIN #TEST_QUALITY Q + ON V.COD_FISCALE = Q.COD_FISCALE AND V.RETE = Q.RETE +WHERE 1=1 +AND V.INVIOBENVENUTO = 'N' +AND DATA_FINEAVANZATO > getDate() +SELECT * +, 'n.ro giorni trascorsi dal perfezionamento: ' + CONVERT(VARCHAR,DATEDIFF(d,DATA_PERF, GETDATE())) AS Motivo +,CASE when Cod_Fiscale like '%@%' then piva_fiduciaria + ' ' + substring( cod_fiscale,4,6) else Cod_Fiscale end as CLIENTE +INTO #ReportNonGenerati +FROM #TuttiReport WHERE(FINEPERF = 'S') OR (FINEPERF = 'N' AND TestQuality = 'S') +SELECT + Q.RETE + ,Q.COD_FISCALE + ,Q.MOTIVO + ,CASE WHEN Q.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END AS TestQuality + ,CASE WHEN DATEDIFF(d, DATA_PERF, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) THEN 'S' ELSE 'N' END AS FinePerf + ,InvioBenvenuto as Generato + ,Q.ISLOG +INTO #DettReport +FROM #TEST_QUALITY Q +INNER JOIN C6MART.VCONTRATTISEI V + ON V.COD_FISCALE = Q.COD_FISCALE AND V.RETE = Q.RETE + WHERE ISLOG > 0 +UNION +SELECT rete,COD_FISCALE,'In attesa di gestione Revoca 'AS MOTIVO,TestQuality,FinePerf, Generato,1 as ISLOG from #ReportNonGenerati WHERE Data_UltimaRevoca IS NOT NULL +UNION +SELECT rete,COD_FISCALE,'Cliente non migrato ' AS MOTIVO,TestQuality,FinePerf,Generato,2 as ISLOG from #ReportNonGenerati WHERE isnull(ClienteMigrato,'N') = 'N' +UNION +SELECT rete,COD_FISCALE,'Risorse non associate ' AS MOTIVO,TestQuality,FinePerf,Generato,3 as ISLOG from #ReportNonGenerati WHERE isnull(RisorseNA,'S') = 'S' +UNION +SELECT rete,COD_FISCALE,'Profilo non attivo ' AS MOTIVO,TestQuality,FinePerf,Generato,4 as ISLOG from #ReportNonGenerati WHERE isnull(profiloAttivo,0) = 0 +-- SELECT * FROM #EmailInviateDett +-- SELECT * FROM #EmailInviate +-- SELECT * FROM #TEST_QUALITY +-- SELECT * FROM #TuttiReport where cod_fiscale = 'VCCGPP46D06F205X' +-- SELECT * FROM #ReportGenerati where cod_fiscale = 'VCCGPP46D06F205X' +-- SELECT * FROM #ReportNonGenerati where cod_fiscale = 'VCCGPP46D06F205X' +-- SELECT * FROM #DettReport where cod_fiscale = 'VCCGPP46D06F205X' +-- SELECT * FROM #EmailInviate +DECLARE @testoMail0 VARCHAR(MAX) +DECLARE @testoMail1 VARCHAR(MAX) +DECLARE @testoMail2 VARCHAR(MAX) +DECLARE @testoMail3 VARCHAR(MAX) +DECLARE @testoMail4 VARCHAR(MAX) +DECLARE @rete CHAR(1) +DECLARE @cod_fiscale CHAR(16) +DECLARE @codiceAgente VARCHAR(6) +DECLARE @cliente VARCHAR(25) +DECLARE @data DATETIME +DECLARE @Motivo VARCHAR(100) +DECLARE @testQuality CHAR(1) +DECLARE @FinePerf CHAR(1) +DECLARE @totale INT + -- [C6Mart].[SRV_CHECK_C6_GIORNALIERO_AND] +set @testoMail0 = '

Rapporto giornaliero

' +set @testoMail1 = ''; +SET @testoMail2 = '' +SET @testoMail3 = '' +SET @testoMail4 = '' +SET @totale = 0 +--********************************************************************************* +--********************************************************************************* +--********************************************************************************* + SET @totale = 0 + SELECT @totale = isnull(sum(totale),0) FROM #EmailInviate + SET @testoMail1 = @testoMail1 + '

' + DECLARE @tipoEmail VARCHAR(100) + DECLARE @DescTipo VARCHAR(100) + DECLARE @totaleEmail VARCHAR(100) + DECLARE @ClienteMIGRATO VARCHAR(1) + DECLARE @RISORSENA VARCHAR(1) + DECLARE @PROFILOATTIVO INT + DECLARE @DUPLICATO INT + DECLARE reader CURSOR FOR SELECT DescTipo,convert(varchar,totale),tipo FROM #EmailInviate ORDER BY Ordine + OPEN reader + FETCH NEXT FROM reader INTO @DescTipo, @totaleEmail,@tipoEmail + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail1 = @testoMail1 +'
E-mail inviate
'+@DescTipo+''+@totaleEmail+'
' + FETCH NEXT FROM reader INTO @DescTipo, @totaleEmail,@tipoEmail + END + SET @testoMail1 = @testoMail1 + 'Totale: ' + CAST(@totale AS VARCHAR) + '' + CLOSE reader + DEALLOCATE reader + DECLARE reader CURSOR FOR SELECT rete,Cod_fiscale, cod_Agente, cliente, data_perf,tipo,ClienteMIGRATO,RISORSENA ,PROFILOATTIVO,DUPLICATO FROM #EmailInviateDett order by DUPLICATO asc + OPEN reader + FETCH NEXT FROM reader INTO @rete, @Cod_Fiscale, @codiceAgente , @cliente, @data,@tipoEmail,@ClienteMIGRATO,@RISORSENA ,@PROFILOATTIVO,@DUPLICATO + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail1 = REPLACE(@testoMail1,'',''+'' +(CASE WHEN @DUPLICATO <> 1 THEN '' ELSE '' END)+ '
'+@rete+''+@codiceAgente+''+@cliente+''+dbo.toShortDateString(@data)+'' + CONVERT(VARCHAR,@DUPLICATO) + 'º email inviata
'); + IF @DUPLICATO = 1 AND @tipoEmail <> 'NoInviate' + BEGIN + IF @PROFILOATTIVO <> 1 + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
Profilo non attivo
'); + IF @RISORSENA <> 'N' + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
Risorse non associate
'); + IF @ClienteMIGRATO <> 'S' + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
Cliente non migrato
'); + IF @PROFILOATTIVO = 1 AND @RISORSENA = 'N' AND @ClienteMIGRATO = 'S' AND @tipoEmail <> 'PERF' + SET @testoMail1 = REPLACE(@testoMail1,'',''+'
Invio Email Errata
'); + END + FETCH NEXT FROM reader INTO @rete, @Cod_Fiscale, @codiceAgente , @cliente, @data,@tipoEmail,@ClienteMIGRATO,@RISORSENA ,@PROFILOATTIVO,@DUPLICATO + END + CLOSE reader + DEALLOCATE reader +--********************************************************************************* +--********************************************************************************* +--********************************************************************************* + SET @totale = 0 + SELECT @totale = COUNT(*) FROM #ReportGenerati + SET @testoMail2 = @testoMail2 + '

' + DECLARE reader CURSOR FOR SELECT rete,Cod_fiscale, cod_Agente, cliente, data_perf FROM #ReportGenerati ORDER BY DATA_PERF + OPEN reader + FETCH NEXT FROM reader INTO @rete,@Cod_fiscale, @codiceAgente, @cliente, @data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail2 = @testoMail2 +'
Report generati
'+@rete+''+@codiceAgente+''+@cliente+''+dbo.toShortDateString(@data)+'
' + FETCH NEXT FROM reader INTO @rete,@Cod_fiscale, @codiceAgente, @cliente, @data + END + SET @testoMail2 = @testoMail2 + 'Totale: ' + CAST(@totale AS VARCHAR) + '' + SET @testoMail0 = @testoMail0 + '
Report generati'+CAST(@totale AS VARCHAR)+'
' + CLOSE reader + DEALLOCATE reader +--********************************************************************************* +--********************************************************************************* +--********************************************************************************* + SET @totale = 0 + SELECT @totale = COUNT(*) FROM #ReportNonGenerati WHERE FINEPERF = 'S' + SET @testoMail3 = @testoMail3 + '

' + DECLARE reader CURSOR FOR SELECT rete, cod_fiscale, cod_Agente, cliente, data_perf, Motivo,testQuality FROM #ReportNonGenerati WHERE FINEPERF = 'S' ORDER BY DATA_PERF + OPEN reader + FETCH NEXT FROM reader INTO @rete, @cod_fiscale, @codiceAgente, @cliente, @data, @Motivo,@testQuality + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail3 = @testoMail3 +'
Report non generati
'+@rete+''+@codiceAgente+''+@cliente+''+dbo.toShortDateString(@data)+''+@Motivo+'
' + FETCH NEXT FROM reader INTO @rete, @cod_fiscale, @codiceAgente, @cliente, @data, @Motivo,@testQuality + END + SET @testoMail3 = @testoMail3 + 'Totale: ' + CAST(@totale AS VARCHAR) + '' + SET @testoMail0 = @testoMail0 + '
Report non generati'+CAST(@totale AS VARCHAR)+'
' + CLOSE reader + DEALLOCATE reader +----********************************************************************************* +----********************************************************************************* +----********************************************************************************* + SET @totale = 0 + DECLARE @totale2 INT + SELECT @totale = COUNT(*) FROM #ReportNonGenerati WHERE FINEPERF = 'N' AND TestQuality = 'S' + SELECT @totale2 = COUNT(*) FROM #TuttiReport WHERE FINEPERF = 'N' + SET @testoMail4 = @testoMail4 + '

' + DECLARE reader CURSOR FOR SELECT rete, cod_fiscale, cod_Agente, cliente, data_perf, Motivo,testQuality FROM #ReportNonGenerati WHERE FINEPERF = 'N' AND TestQuality = 'S' ORDER BY DATA_PERF + OPEN reader + FETCH NEXT FROM reader INTO @rete, @cod_fiscale, @codiceAgente, @cliente, @data, @Motivo,@testQuality + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail4 = @testoMail4 +'
Report errati in Perfezionamento
'+@rete+''+@codiceAgente+''+@cliente+''+dbo.toShortDateString(@data)+''+@Motivo+'
' + FETCH NEXT FROM reader INTO @rete, @cod_fiscale, @codiceAgente, @cliente, @data, @Motivo,@testQuality + END + SET @testoMail4 = @testoMail4 + 'Totale: ' + CAST(@totale AS VARCHAR) + ' su ' + CAST(@totale2 AS VARCHAR) + '' + SET @testoMail0 = @testoMail0 + '
Report errati in Perfezionamento'+ CAST(@totale AS VARCHAR) + ' su ' + CAST(@totale2 AS VARCHAR) +'
' + CLOSE reader + DEALLOCATE reader +----********************************************************************************* +----********************************************************************************* +----********************************************************************************* + DECLARE reader CURSOR FOR SELECT Rete,Cod_Fiscale,Motivo,TestQuality,CASE WHEN generato ='S' THEN 'G' ELSE FinePerf END FinePerf FROM #DettReport order by ISLOG desc + OPEN reader + FETCH NEXT FROM reader INTO @rete, @Cod_Fiscale, @Motivo , @testQuality, @FinePerf + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail2 = REPLACE(@testoMail2,'',''+'
'+@Motivo+'
'); + SET @testoMail3 = REPLACE(@testoMail3,'',''+'
'+@Motivo+'
'); + SET @testoMail4 = REPLACE(@testoMail4,'',''+'
'+@Motivo+'
'); + FETCH NEXT FROM reader INTO @rete, @Cod_Fiscale, @Motivo, @testQuality, @FinePerf + END + CLOSE reader + DEALLOCATE reader +----********************************************************************************* +----********************************************************************************* +----********************************************************************************* +SET @testoMail0 = @testoMail0 + '

In allegato dettaglio del Giornaliero' +DROP TABLE #TEST_QUALITY +DROP TABLE #EmailInviate +DROP TABLE #EmailInviateDett +DROP TABLE #TuttiReport +DROP TABLE #ReportNonGenerati +DROP TABLE #DettReport +DROP TABLE #ReportGenerati +SELECT @testoMail0,@testoMail1,@testoMail2,@testoMail3,@testoMail4,'' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_zzzzPL_D_S157ConfrontoPiramidi.sql b/sql/storedTestbes/C6Mart_zzzzPL_D_S157ConfrontoPiramidi.sql new file mode 100644 index 00000000..544138e9 --- /dev/null +++ b/sql/storedTestbes/C6Mart_zzzzPL_D_S157ConfrontoPiramidi.sql @@ -0,0 +1,227 @@ +-- Stored procedure +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 11/11/2008 +-- Description: +-- ============================================= +-- [C6Mart].[PL_D_S157ConfrontoPiramidi] 'S','CSLMCR54P48H501U' +-- CHIEDERE A FABRIZIO, case @TOTControvaloreModello when 0 .... +CREATE procedure [C6Mart].[zzzzPL_D_S157ConfrontoPiramidi] + -- Add the parameters for the stored procedure here + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +-- DECLARE @minGradoCoperura AS INT +-- SET @minGradoCoperura = CAST(dbo.getParametro('MINGRADOCOPERTURA') AS INT) + SELECT + PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + PIRAMIDE_MOD.PERC_AREA, + PIRAMIDE_VERT.CTV_AREA AS CONTROVALORE + INTO #PIRAMIDE_VERT + FROM + (SELECT PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA, + SUM(PIRAMIDE_MOD.PERC_AREA) AS PERC_AREA + FROM C6MART.PIRAMIDE_MOD + WHERE + PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC', 'INV' ) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + GROUP BY PIRAMIDE_MOD.RETE, + PIRAMIDE_MOD.COD_FISCALE, + PIRAMIDE_MOD.ID_AREA) AS PIRAMIDE_MOD + LEFT JOIN ( + -- GROUP BY PER ACCORPARE I CTV_AREA SULLE PRE1 E PRE2 IN UNO UNICO CORRISPONDENTE A PRE + SELECT + RETE, + COD_FISCALE, + LEFT(ID_AREA,3) AS ID_AREA, + SUM(COALESCE(CTV,0)) AS CTV_AREA + FROM + C6MART.PATRIMONIO_BF PIRAMIDE_VERT + WHERE + PIRAMIDE_VERT.RETE = @Rete + AND PIRAMIDE_VERT.COD_FISCALE = @CodiceFiscale + --modificata atringali -- AND ID_AREA NOT IN ('Cc') + GROUP BY + RETE, COD_FISCALE, LEFT(ID_AREA,3) + ) PIRAMIDE_VERT + ON + PIRAMIDE_VERT.ID_AREA = PIRAMIDE_MOD.ID_AREA + WHERE + --modificata atringali -- (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA') + (PIRAMIDE_MOD.ID_AREA IN ('RIS','EXT','LIQ','PRE','NA', 'CC') + OR ( + PIRAMIDE_MOD.ID_AREA = 'INV' + -- AND PIRAMIDE_MOD.NOME_PROGETTO IS NULL + )) + AND PIRAMIDE_MOD.RETE = @Rete + AND PIRAMIDE_MOD.COD_FISCALE = @CodiceFiscale + IF(@@ROWCOUNT>0) + BEGIN + -- Ordinamento per Area di bisogno + DECLARE @TOTControvaloreAttuale DECIMAL(20,2) + SELECT @TOTControvaloreAttuale = SUM(ATTUALE.CONTROVALORE) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + --V + AND ID_AREA not in ('Na', 'Cc') + --V + DECLARE @TOTCC DECIMAL (20,2) + SELECT @TOTCC = ISNULL(CONTROVALORE,0) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'Cc' + --V +-- DECLARE @TOTNA DECIMAL (20,2) +-- SELECT @TOTCC = ISNULL(CONTROVALORE,0) +-- FROM #PIRAMIDE_VERT ATTUALE +-- WHERE ATTUALE.RETE = @Rete +-- AND ATTUALE.COD_FISCALE = @CodiceFiscale +-- AND ID_AREA = 'Na' + --V + DECLARE @TOT DECIMAL (20,2) + SELECT @TOT = SUM(ISNULL(CONTROVALORE,0)) + FROM #PIRAMIDE_VERT ATTUALE + WHERE ATTUALE.RETE = @Rete + AND ATTUALE.COD_FISCALE = @CodiceFiscale + SELECT + AREA_BISOGNO.ID_AREA AS NeedArea, + AREA_BISOGNO.NOME_AREA AS AreaName, + ISNULL(ATTUALE.PERC_AREA,0) AS PercentualeModello, + CASE + WHEN @TOTControvaloreAttuale = 0 THEN 0 + ELSE (100 * ISNULL(ATTUALE.CONTROVALORE,0) / ISNULL(@TOTControvaloreAttuale,1)) + END AS PercentualeAttuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) AS ControvaloreAttuale, + ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS ControvaloreModello, + ATTUALE.PERC_AREA AS Totale_Percentuale, + ROUND(ISNULL(ATTUALE.CONTROVALORE,0),2) - ROUND(ISNULL(ATTUALE.PERC_AREA * @TOTControvaloreAttuale / 100 , 0),2) AS DifferenzaEuro, + -- V D S + CASE + WHEN @TOTControvaloreAttuale = 0 THEN - ATTUALE.PERC_AREA + ELSE ISNULL( (100 * ISNULL(ATTUALE.CONTROVALORE,0) / @TOTControvaloreAttuale - ATTUALE.PERC_AREA) , 0) + END AS DifferenzaPercentuale, + -- + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + 0 AS Nota, --TODO: VERIFICARE REGOLA PER LA NOTA + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalAttuale, + ISNULL(@TOTControvaloreAttuale,0) AS somma_controvalModello, + 0.00 AS somma_percentualeAttuale, + 0.00 AS somma_percentualeModello, + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIOTOTALE.VAR_PERC_PTF + END AS var_tot, + CASE + --V SOLO CC -> VAR = 0 + WHEN @TOTCC = @TOT THEN NULL + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_totString, + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIOTOTALE_PIR.VAR_PERC_PTF + END as var_tot_pir, + CASE + --V SOLO CC -> VAR = 0 + WHEN @TOTCC = @TOT THEN NULL + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_tot_pirString, + -- + ISNULL(RISCHIOTOTALE.COPERTURA,0) AS copertura_tot, + CASE + WHEN RISCHIOTOTALE.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_totString, + --V + ISNULL(RISCHIOTOTALE_PIR.COPERTURA,0) AS copertura_tot_pir, + CASE + WHEN RISCHIOTOTALE_PIR.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOTOTALE_PIR.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_tot_pirString, + -- + --V + CASE + WHEN @TOTCC = @TOT THEN 0 + ELSE RISCHIORISFIN.VAR_PERC_PTF + END AS VAR_RISFIN, + CASE + WHEN @TOTCC = @TOT THEN NULL + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS VAR_RISFINSTRING, + ISNULL(RISCHIORISFIN.COPERTURA,0) AS copertura_risfin, + CASE + WHEN RISCHIORISFIN.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIORISFIN.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_risfinString, + AREA_BISOGNO.ORDINAMENTO AS ordinamento + FROM C6MART.AREA_BISOGNO + LEFT JOIN #PIRAMIDE_VERT ATTUALE + ON ATTUALE.ID_AREA = AREA_BISOGNO.ID_AREA + LEFT JOIN C6Mart.RISCHIO_AGGREGATO RISCHIOAREA + ON RISCHIOAREA.RETE = ATTUALE.RETE + AND RISCHIOAREA.COD_FISCALE = ATTUALE.COD_FISCALE + AND +--[C6Mart].PL_S57ConfrontoPiramidi 'F','CVNPLA52D15H223S' + RISCHIOAREA.COD_AGGREG = ( + CASE WHEN ATTUALE.ID_AREA IN ('EXT','INV','PRE','RIS','LIQ') + THEN 'RISFIN|PIRAMIDE|' + ATTUALE.ID_AREA + WHEN ATTUALE.ID_AREA = 'NA' + THEN 'RISFIN|NA' + WHEN ATTUALE.ID_AREA = 'CC' + THEN 'COMPLESSIVO|BF|CC' + END + ) + LEFT JOIN C6Mart.RISCHIO_AGGREGATO RISCHIOTOTALE + ON RISCHIOTOTALE.RETE = ATTUALE.RETE + AND RISCHIOTOTALE.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE.COD_AGGREG = 'COMPLESSIVO|BF' + -- V + LEFT JOIN + C6Mart.RISCHIO_AGGREGATO RISCHIOTOTALE_PIR + ON + RISCHIOTOTALE_PIR.RETE = ATTUALE.RETE + AND RISCHIOTOTALE_PIR.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIOTOTALE_PIR.COD_AGGREG = 'RISFIN|PIRAMIDE' + LEFT JOIN + C6Mart.RISCHIO_AGGREGATO RISCHIORISFIN + ON + RISCHIORISFIN.RETE = ATTUALE.RETE + AND RISCHIORISFIN.COD_FISCALE = ATTUALE.COD_FISCALE + AND RISCHIORISFIN.COD_AGGREG = 'RISFIN' + -- + --WHERE AREA_BISOGNO.ORDINAMENTO < 6 + ORDER BY AREA_BISOGNO.ORDINAMENTO + END + ELSE + SELECT * FROM #PIRAMIDE_VERT + DROP TABLE #PIRAMIDE_VERT +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Mart_zzzzRP_SRV_CHECK_C6_GIORNALIERO.sql b/sql/storedTestbes/C6Mart_zzzzRP_SRV_CHECK_C6_GIORNALIERO.sql new file mode 100644 index 00000000..5901beb9 --- /dev/null +++ b/sql/storedTestbes/C6Mart_zzzzRP_SRV_CHECK_C6_GIORNALIERO.sql @@ -0,0 +1,590 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Mart].[zzzzRP_SRV_CHECK_C6_GIORNALIERO] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --V Esegue la procedura di estrazione dei CC + EXEC [C6Mart].[RP_SRV_ESTRAZ_GIORNALIERA_CC] + -- Report generati + SELECT + C.Rete, + C.Cod_Agente, + case when C.Cod_Fiscale like '%@%' then c.piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else C.Cod_Fiscale end as Cod_fiscale, + C.Data_Perf + INTO #ReportGenerati + FROM + C6Mart.GESTIONE_PDF_FTP AS GPF + INNER JOIN C6Mart.VCONTRATTI AS C + ON GPF.RETE = C.Rete + AND GPF.CODICEFISCALE = C.Cod_Fiscale + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on C.chiaveclientepb = M.chiaveclientepb + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND Data_FineAvanzato > getDate() + ORDER BY + C.Rete, + C.Cod_Agente, + C.Cod_Fiscale + -- Report non generati + SELECT + Rete, + Cod_Agente, + case when Cod_Fiscale like '%@%' then piva_fiduciaria + ' ' + substring(cod_fiscale,4,6) else Cod_Fiscale end as Cod_fiscale, + Data_Perf, + 'Ragione:' + CASE + WHEN ClienteMigrato = 'N' THEN ' Cliente non migrato' + ELSE '' + END + + CASE + WHEN RisorseNA = 'S' THEN ' Risorse non associate' + ELSE '' + END + + CASE + WHEN RisorseNA = 'N' and ClienteMigrato = 'S' and profiloAttivo = 0 THEN ' Profilo non attivo' + ELSE '' + END + /*+ CASE + WHEN PartViaDisinv = 'S' THEN ' Partite viaggianti disinvestimento' + ELSE '' + END*/ AS Ragione + INTO #ReportNonGenerati + FROM + C6Mart.vcontratti as CONTRATTOSEI + INNER JOIN C6Mart.ContrattoSEI_metadati AS M + on CONTRATTOSEI.chiaveclientepb = M.chiaveclientepb + WHERE + M.InvioBenvenuto = 'N' + AND DATEDIFF(d, Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND (ClienteMigrato = 'N' + OR RisorseNA = 'S' + --V Condizione per non generazione a causa di profilo non attivo + OR ProfiloAttivo = 0 + -- + /*OR PartViaDisinv = 'S'*/) + AND Data_FineAvanzato > getDate() + ORDER BY + Rete, + Cod_Agente, + Cod_Fiscale + -- Email + SELECT + CASE Tipo + WHEN 'PERF' THEN 'perfezionamento' + WHEN '1_SOLL_NOASS' THEN '1° sollecito risorse non associate' + WHEN '2_SOLL_NOASS' THEN '2° sollecito risorse non associate' + WHEN '3_SOLL_NOASS' THEN '3° sollecito risorse non associate' + WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + WHEN '1_SOLL_NOMIG' THEN '1° sollecito cliente non migrato' + WHEN '2_SOLL_NOMIG' THEN '2° sollecito cliente non migrato' + WHEN '3_SOLL_NOMIG' THEN '3° sollecito cliente non migrato' + WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + --V aggiunta tipo mail profilo non attivo + WHEN '1_SOLL_NOPRO' THEN '1° sollecito profilo non attivo' + WHEN '2_SOLL_NOPRO' THEN '2° sollecito profilo non attivo' + WHEN '3_SOLL_NOPRO' THEN '3° sollecito profilo non attivo' + WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + END AS Tipo, + COUNT(Tipo) AS Totale + INTO #EmailInviate + FROM + C6Mart.GESTIONE_EMAIL + WHERE + Inviata = 'S' + AND dbo.toShortDateString(Data_Invio) = dbo.toShortDateString(GETDATE()) + GROUP BY + Tipo + ORDER BY TIPO + -- Indirizzi più lunghi di 36 caratteri + SELECT + C.Rete, + Cod_Agente, + Cod_Fiscale, + Indirizzo, + LEN(Indirizzo) AS LunghezzaIndirizzo + INTO #IndirizziLunghi + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.GESTIONE_PDF_FTP AS GPF + ON C.Rete = GPF.RETE + AND C.Cod_Fiscale = GPF.CODICEFISCALE + WHERE + dbo.toShortDateString(GPF.DataGenerazione) = dbo.toShortDateString(GETDATE()) + AND LEN(Indirizzo) > 36 + ORDER BY + Rete, + Cod_Agente, + Cod_Fiscale + -- Prodotti non a catalogo + SELECT + RETE, + CODICEFISCALE, + CODICECONTRATTO + INTO #ProdNonInCat + FROM + C6Staging.SPB_CONTR_SINTESI + WHERE + POSITIONID IS NULL + -- VaR discordanti + SELECT + RA.RETE, + RA.COD_FISCALE, + RA.VAR_PERC_PTF, + VC.VAR_COMPLESSIVO_BF, + CASE + WHEN RA.VAR_PERC_PTF = VC.VAR_COMPLESSIVO_BF THEN 'OK' + ELSE 'KO' + END AS VAR_CORRETTO + INTO #VaRDiscordanti + FROM + C6Mart.RISCHIO_AGGREGATO AS RA + INNER JOIN VAR_CHECK AS VC + ON RA.RETE = VC.RETE + AND RA.COD_FISCALE = VC.COD_FISCALE + WHERE + (RA.COD_AGGREG = 'COMPLESSIVO|BF') + ORDER BY + RA.RETE, + RA.COD_FISCALE + -- Posizioni in stato liquidato + SELECT + PB.RETE, + PB.COD_FISCALE, + ID_CONTRATTO + INTO #PosizioniStatoL + FROM + C6Mart.PATRIMONIO_BF AS PB + INNER JOIN #VaRDiscordanti AS VD + ON PB.RETE = VD.RETE + AND PB.COD_FISCALE = VD.COD_FISCALE + WHERE + PB.COD_STATO = 'L' + AND PB.CTV >= 0 + AND VD.VAR_CORRETTO = 'KO' + ORDER BY + PB.RETE, + PB.COD_FISCALE + -- Clienti senza data sottoscrizione + SELECT DISTINCT + PB.RETE, + C.COD_AGENTE, + PB.COD_FISCALE, + PB.ID_CONTRATTO + INTO #ClientiSenzaDataSott + FROM + C6Mart.vcontratti AS C + INNER JOIN C6Mart.PATRIMONIO_BF AS PB + ON C.Rete = PB.RETE + AND C.Cod_Fiscale = PB.COD_FISCALE + INNER JOIN C6Mart.RISCHIO_AGGREGATO AS RA + ON PB.RETE = RA.RETE + AND PB.COD_FISCALE = RA.COD_FISCALE + WHERE + PB.DATA_SOTTOSCRIZIONE IS NULL + AND PB.TIPO_PRODOTTO = 'DT' + -- Clienti senza piramide modello + SELECT + Rete, + Cod_Agente, + Cod_Fiscale + INTO #ClientiSenzaPiramideModello + FROM + C6Mart.vcontratti as CONTRATTOSEI + inner join + C6Mart.contrattosei_metadati as M + on CONTRATTOSEI.chiaveclientepb = m.chiaveclientepb + WHERE + Data_FineAvanzato < getDate() + AND inviobenvenuto = 'N' + AND clientemigrato = 'S' + AND risorseNA = 'N' + AND DATEDIFF(d, Data_Perf, GETDATE()) >= CAST(dbo.getParametro('NUMGIORNIDALPERF_REP') AS INT) + AND Cod_Fiscale NOT IN ( + SELECT + COD_FISCALE + FROM + C6Mart.PIRAMIDE_MOD) + --scarti simpb contrattoSintesi + SELECT codiceFiscale,DATA_PERF + INTO #ClientiSenzaContrattoSintesi + FROM C6STAGING.SPB_SCARTI SPB + JOIN + C6MART.RP_vContrattiMigrati C6 + ON + SPB.CODICEFISCALE = C6.COD_FISCALE + WHERE pacchettoSSIS = 'SPB_CONTRSINTESI' + --scarti simpb mifid + SELECT codiceFiscale,DATA_PERF + INTO #ClientiSenzaProfiloMIFID + FROM C6STAGING.SPB_SCARTI SPB + JOIN + C6MART.RP_vContrattiMigrati C6 + ON + SPB.CODICEFISCALE = C6.COD_FISCALE + WHERE pacchettoSSIS = 'SPB_MIFID' + DECLARE @testoMail VARCHAR(MAX) + DECLARE @rete CHAR(1) + DECLARE @codiceAgente VARCHAR(6) + DECLARE @codiceFiscale VARCHAR(25) + DECLARE @data DATETIME + DECLARE @ragione VARCHAR(100) + DECLARE @tipo VARCHAR(100) + DECLARE @indirizzo VARCHAR(100) + DECLARE @totale INT + DECLARE @codiceContratto VARCHAR(11) + DECLARE @varPercPtf DECIMAL(5, 2) + DECLARE @varComplessivoBf DECIMAL(5, 2) + SET @testoMail = '' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Tipo, + Totale + FROM + #EmailInviate + OPEN reader + FETCH NEXT FROM reader INTO @tipo, @totale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @tipo, @totale + END + SET @testoMail = @testoMail + '
E-mail inviate:
' + @tipo + '' + CAST(@totale AS VARCHAR) + '
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Data_Perf + FROM + #ReportGenerati + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data + END + SELECT @totale = COUNT(*) FROM #ReportGenerati + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Report generati:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Data_Perf, + Ragione + FROM + #ReportNonGenerati + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data, @ragione + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @data, @ragione + END + SELECT @totale = COUNT(*) FROM #ReportNonGenerati + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Report non generati:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '' + @ragione + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale, + Indirizzo, + LEN(Indirizzo) AS LunghezzaIndirizzo + FROM + #IndirizziLunghi + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @indirizzo, @totale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @indirizzo, @totale + END + SELECT @totale = COUNT(*) FROM #IndirizziLunghi + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Indirizzi più lunghi di 36 caratteri:
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + @indirizzo + '' + CAST(@totale AS VARCHAR) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + CODICEFISCALE, + CODICECONTRATTO + FROM #ProdNonInCat + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #ProdNonInCat + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con prodotti non a catalogo:
' + @rete + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_FISCALE, + VAR_PERC_PTF, + VAR_COMPLESSIVO_BF + FROM + #VaRDiscordanti + WHERE + VAR_CORRETTO = 'KO' + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @varPercPtf, @varComplessivoBf + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @varPercPtf, @varComplessivoBf + END + SELECT @totale = COUNT(*) FROM #VaRDiscordanti WHERE VAR_CORRETTO = 'KO' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con VaR discordante:
' + @rete + '' + @codiceFiscale + '' + CAST(@varPercPtf AS VARCHAR) + '' + CAST(@varComplessivoBf AS VARCHAR) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_FISCALE, + ID_CONTRATTO + FROM + #PosizioniStatoL + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #PosizioniStatoL + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti con posizioni stato Liquidato:
' + @rete + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + RETE, + COD_AGENTE, + COD_FISCALE, + ID_CONTRATTO + FROM + #ClientiSenzaDataSott + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @codiceContratto + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale, @codiceContratto + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaDataSott + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza data sottoscrizione
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '' + @codiceContratto + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + Rete, + Cod_Agente, + Cod_Fiscale + FROM + #ClientiSenzaPiramideModello + OPEN reader + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @rete, @codiceAgente, @codiceFiscale + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaPiramideModello + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza piramide modello
' + @rete + '' + @codiceAgente + '' + @codiceFiscale + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + codiceFiscale, + data_perf + FROM + #ClientiSenzaContrattoSintesi + OPEN reader + FETCH NEXT FROM reader INTO @codiceFiscale,@data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @codiceFiscale,@data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaContrattoSintesi + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza righe Contratto Sintesi
' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader + SET @testoMail = @testoMail + '

' + DECLARE reader CURSOR LOCAL FORWARD_ONLY + FOR + SELECT + codiceFiscale,data_perf + FROM + #ClientiSenzaProfiloMIFID + OPEN reader + FETCH NEXT FROM reader INTO @codiceFiscale,@data + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '' + FETCH NEXT FROM reader INTO @codiceFiscale,@data + END + SELECT @totale = COUNT(*) FROM #ClientiSenzaProfiloMIFID + SET @testoMail = @testoMail + '' + SET @testoMail = @testoMail + '
Clienti senza righe profilo MIFID
' + @codiceFiscale + '' + dbo.toShortDateString(@data) + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + CLOSE reader + DEALLOCATE reader +--------------------------------------------------------------------- +--Email non inviate + --SET @testoMail = @testoMail + '

' + --DECLARE reader CURSOR LOCAL FORWARD_ONLY + --FOR + -- SELECT a.rete, a.cod_fiscale, a.cod_agente, + -- CASE Tipo + -- WHEN 'PERF' THEN 'perfezionamento' + -- WHEN '1_SOLL_NOASS' THEN '1° sollecito risorse non associate' + -- WHEN '2_SOLL_NOASS' THEN '2° sollecito risorse non associate' + -- WHEN '3_SOLL_NOASS' THEN '3° sollecito risorse non associate' + -- WHEN 'S_SOLL_NOASS' THEN 'più di 3 solleciti risorse non associate' + -- WHEN 'REVOCA_NOASS' THEN 'revoca per risorse non associate' + -- WHEN '1_SOLL_NOMIG' THEN '1° sollecito cliente non migrato' + -- WHEN '2_SOLL_NOMIG' THEN '2° sollecito cliente non migrato' + -- WHEN '3_SOLL_NOMIG' THEN '3° sollecito cliente non migrato' + -- WHEN 'S_SOLL_NOMIG' THEN 'più di 3 solleciti cliente non migrato' + -- WHEN 'REVOCA_NOMIG' THEN 'revoca per cliente non migrato' + -- --V aggiunta tipo mail profilo non attivo + -- WHEN '1_SOLL_NOPRO' THEN '1° sollecito profilo non attivo' + -- WHEN '2_SOLL_NOPRO' THEN '2° sollecito profilo non attivo' + -- WHEN '3_SOLL_NOPRO' THEN '3° sollecito profilo non attivo' + -- WHEN 'S_SOLL_NOPRO' THEN 'più di 3 solleciti profilo non attivo' + -- WHEN 'REVOCA_NOPRO' THEN 'revoca per profilo non attivo' + -- END AS Tipo + -- FROM C6Mart.Contrattosei a + -- inner join C6Mart.GESTIONE_EMAIL b + -- on + -- a.rete = b.rete + -- and + -- a.cod_fiscale = b.cod_fiscale + -- WHERE isnull(b.Inviata,'N')='N' + --OPEN reader + --FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceAgente, @tipo + --WHILE @@FETCH_STATUS = 0 + --BEGIN + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- SET @testoMail = @testoMail + '' + -- FETCH NEXT FROM reader INTO @rete, @codiceFiscale, @codiceAgente, @tipo + --END + --SELECT @totale = COUNT(*) FROM C6Mart.GESTIONE_EMAIL WHERE isnull(Inviata,'N')='N' + --SET @testoMail = @testoMail + '' + --SET @testoMail = @testoMail + '
Email non inviate:
' + @rete + '' + @codiceFiscale + '' + @codiceAgente + '' + @tipo + '
Totale:' + CAST(@totale AS VARCHAR) + ' 
' + --CLOSE reader + --DEALLOCATE reader +--------------------------------------------------------------------- + SET @testoMail = @testoMail + '' + SELECT @testoMail + DROP TABLE #ReportGenerati + DROP TABLE #ReportNonGenerati + DROP TABLE #EmailInviate + DROP TABLE #IndirizziLunghi + DROP TABLE #PosizioniStatoL + DROP TABLE #ProdNonInCat + DROP TABLE #VaRDiscordanti + DROP TABLE #ClientiSenzaDataSott + DROP TABLE #ClientiSenzaPiramideModello + DROP TABLE #ClientiSenzaContrattoSintesi + DROP TABLE #ClientiSenzaProfiloMIFID +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodicoImmobiliare_Popola_APPO_CONTRATTI.sql b/sql/storedTestbes/C6StagingPeriodicoImmobiliare_Popola_APPO_CONTRATTI.sql new file mode 100644 index 00000000..8c1f510e --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodicoImmobiliare_Popola_APPO_CONTRATTI.sql @@ -0,0 +1,7 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[Popola_APPO_CONTRATTI] +AS +BEGIN + truncate table C6StagingPeriodicoImmobiliare.APPO_CONTRATTI + insert into C6StagingPeriodicoImmobiliare.APPO_CONTRATTI + select * from C6StagingPeriodico.APPO_CONTRATTI +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_CREA_POSITIONID_CONSULENZA.sql b/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_CREA_POSITIONID_CONSULENZA.sql new file mode 100644 index 00000000..44b79b91 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_CREA_POSITIONID_CONSULENZA.sql @@ -0,0 +1,88 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_CREA_POSITIONID_CONSULENZA] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_immobiliare + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Trimestrale Immobiliare' + ) +truncate table TAB1 +insert into TAB1 +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB','RE','RF','IE') THEN ISNULL(CODISIN,'') + ELSE '' END AS CODISIN, + CODSOTTOPRODOTTO, + position_id +--INTO TAB1 +FROM C6StagingPeriodicoImmobiliare.RP_CONSULENZA +UPDATE TAB1 + SET position_id = + C6STAGINGPERIODICOIMMOBILIARE.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) +DECLARE @CNTNULL as int +SELECT @CNTNULL = COUNT(*) FROM TAB1 WHERE isnull(position_id,'') = '' +--SET @CNTNULL = 0 +IF @CNTNULL = 0 + UPDATE C6StagingPeriodicoImmobiliare.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, + CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB','RE','RF','IE') THEN ISNULL(c.CODISIN,'') + ELSE '' END, + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6StagingPeriodicoImmobiliare.RP_CONSULENZA c + left join TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB','RE','RF','IE') + THEN ISNULL(c.CODISIN,'') + ELSE '' END + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6StagingPeriodicoImmobiliare.RP_CONSULENZA WHERE isnull(position_id,'') <> '' +-- Log esecuzione +UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) +--drop table TAB1 +IF @CNTNULL = 0 + SELECT @CNTNULL = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') = '' +if @CNTNULL > 0 + RAISERROR ('Scarti position_id null', 16, 1 ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql b/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql new file mode 100644 index 00000000..fe018fa2 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql @@ -0,0 +1,42 @@ +-- Questa sp aggiorna il campo 'beneficio' della [PROMETEIA_AGGR] con il valore del nuovo indicatore dalla nuova tabella PROMETEIA_AGGR_IndDiv +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE] +AS +BEGIN +-- *********************************************** 10/7/2018 ********************************************** +-- BONIFICA DELLA TABELLA PER I VALORI NON CALCOLATI (Nan) TORNATI DAL SERVIZIO PER ALCUNI CF/PTF +-- NECESSARIA PER NON MANDARE IN ERRORE LA UPDATE +update a set indicatore = '0.0' + FROM [C6StampeCentralizzate].[C6StagingPeriodicoImmobiliare].[PROMETEIA_AGGR_IndDiv] a + where + not indicatore like '%[0-9]%' +-- ********************************************* FINE BONIFICA ******************************************** + --aggiorna il beneficio per il COMPLESSIVO +--UPDATE aggr set aggr.beneficio = CAST(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) AS DECIMAL(12,3)) +--con le replace sostituisco i caratteri speciali a fine testo che mandano in errore il cast quando l'indicatore è = 0.0 - CHAR(13) = cr, CHAR(10) = lf +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodicoImmobiliare].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodicoImmobiliare].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale +where aggr.portafoglio = 'COMPLESSIVO' +--aggiorna il beneficio per il COMPLESSIVO|BF +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodicoImmobiliare].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodicoImmobiliare].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_BF' +where aggr.portafoglio = 'COMPLESSIVO|BF' +--aggiorna il beneficio per il COMPLESSIVO|TERZI +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodicoImmobiliare].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodicoImmobiliare].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_TERZI' +where aggr.portafoglio = 'COMPLESSIVO|TERZI' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_BonificaClientiDoppi.sql b/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_BonificaClientiDoppi.sql new file mode 100644 index 00000000..50f04f98 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_BonificaClientiDoppi.sql @@ -0,0 +1,132 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_BonificaClientiDoppi] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_BonificaClientiDoppi', + GETDATE(), + 'Elaborazione Trimestrale Immobiliare' + ) +----------------------------------------------------------------- +drop table if exists #doppiCF +drop table if exists #ClientiDoppiInAppoCF +drop table if exists #ClientiNONInAppoCF +drop table if exists #ClientiChiaveClienteGiustaCF +drop table if exists #ClientiChiaveClienteGiustaESbagliataCF +drop table if exists #ClientiChiaveSbagliataCF +drop table if exists #doppiPIVA +drop table if exists #ClientiDoppiInAppoPIVA +drop table if exists #ClientiNONInAppoPIVA +drop table if exists #ClientiChiaveClienteGiustaPIVA +drop table if exists #ClientiChiaveClienteGiustaESbagliataPIVA +drop table if exists #ClientiChiaveSbagliataPIVA +----Individuo i cf doppi + select rete,codfis,count(*) as numero + into #doppiCF + FROM C6StagingPeriodicoImmobiliare.RP_InfoCliente + where codfis is not null and codfis <> '' + group by rete,codfis + having count(*)>1 + --if + select rete,COD_FISCALE + into #ClientiDoppiInAppoCF + from C6StagingPeriodicoImmobiliare.APPO_CONTRATTI a + where a.rete+a.COD_FISCALE in (select rete+codfis from #doppiCF) + select rete,codfis + into #ClientiNONInAppoCF + from #doppiCF where rete+codfis not in (select rete+cod_fiscale from #ClientiDoppiInAppoCF) + delete from C6StagingPeriodicoImmobiliare.RP_InfoCliente where rete+codFis in (select rete+codfis from #ClientiNONInAppoCF) + --else + select distinct appo.rete,appo.COD_FISCALE,appo.chiaveclientepb + into #ClientiChiaveClienteGiustaCF + from C6StagingPeriodicoImmobiliare.RP_InfoCliente info inner join + C6StagingPeriodicoImmobiliare.appo_contratti appo on info.rete = appo.rete and info.codfis=appo.cod_fiscale +where info.rete + info.codfis in (select rete+cod_fiscale from #ClientiDoppiInAppoCF) +select rete,codfis,chiaveClientePB + into #ClientiChiaveClienteGiustaESbagliataCF +FROM C6StagingPeriodicoImmobiliare.RP_InfoCliente +where rete+codfis in (select rete+cod_fiscale from #ClientiChiaveClienteGiustaCF) +--select * from #ClientiChiaveClienteGiustaESbagliataCF order by codfis +select rete,codfis,chiaveclientePB +into #ClientiChiaveSbagliataCF +from #ClientiChiaveClienteGiustaESbagliataCF where +rete+codFis in (select rete+cod_fiscale from #ClientiChiaveClienteGiustaCF) +and chiaveClientePB not in (select chiaveClientePB from #ClientiChiaveClienteGiustaCF) +--create table #ClientiChiaveSbagliataCF( +--rete char(1), +--codfis varchar(16), +--chiaveClientePB int) +--insert into #ClientiChiaveSbagliataCF +-- SELECT * FROM #ClientiChiaveClienteGiustaESbagliataCF +-- EXCEPT +-- SELECT * FROM #ClientiChiaveClienteGiustaCF +-- select * from #ClientiChiaveSbagliataCF +delete from C6StagingPeriodicoImmobiliare.RP_InfoCliente +where rete+codfis+cast(chiaveClientePB as varchar) in (select rete+codfis+cast(chiaveClientePB as varchar) from #ClientiChiaveSbagliataCF) +--select * from C6StagingPeriodicoImmobiliare.RP_InfoCliente +--where rete+codfis+chiaveClientePB in (select rete+codfis+chiaveClientePB from #ClientiChiaveClienteGiustaCF) +----------------------------------------------------------------- +--Individuo le PIVA doppie + select rete,piva,count(*) as numero + into #doppiPIVA + FROM C6StagingPeriodicoImmobiliare.RP_InfoCliente + where isnull(codman,'')= '' + and piva is not null and piva <> '' + group by rete,piva + having count(*)>1 +-- select * from #doppiPIVA where piva in ( +-- '02477630582', +--'05267780962') + --if + select rete,COD_FISCALE + into #ClientiDoppiInAppoPIVA + from C6StagingPeriodicoImmobiliare.APPO_CONTRATTI a + where a.rete+a.COD_FISCALE in (select rete+piva from #doppiPIVA) + select rete,piva + into #ClientiNONInAppoPIVA + from #doppiPIVA where rete+piva not in (select rete+COD_FISCALE from #ClientiDoppiInAppoPIVA) + delete from C6StagingPeriodicoImmobiliare.RP_InfoCliente where rete+pIva in (select rete+piva from #ClientiNONInAppoPIVA) + --else + select distinct appo.rete,appo.COD_FISCALE,appo.chiaveclientepb + into #ClientiChiaveClienteGiustaPIVA + from C6StagingPeriodicoImmobiliare.RP_InfoCliente info inner join + C6StagingPeriodicoImmobiliare.appo_contratti appo on info.rete = appo.rete and info.piva=appo.cod_fiscale +where info.rete + info.piva in (select rete+cod_fiscale from #ClientiDoppiInAppoPIVA) +-- select * from #ClientiChiaveClienteGiustaPIVA where cod_fiscale in ( +-- '02477630582', +--'05267780962') +select rete,piva,chiaveClientePB + into #ClientiChiaveClienteGiustaESbagliataPIVA +FROM C6StagingPeriodicoImmobiliare.RP_InfoCliente +where rete+piva in (select rete+cod_fiscale from #ClientiChiaveClienteGiustaPIVA) +-- select * from #ClientiChiaveClienteGiustaESbagliataPIVA where piva in ( +-- '02477630582', +--'05267780962') +select rete,piva,chiaveclientePB +into #ClientiChiaveSbagliataPIVA +from #ClientiChiaveClienteGiustaESbagliataPIVA where +rete+piva in (select rete+cod_fiscale from #ClientiChiaveClienteGiustaPIVA) +and chiaveClientePB not in (select chiaveClientePB from #ClientiChiaveClienteGiustaPIVA) +--select * from #ClientiChiaveSbagliataPIVA +delete from C6StagingPeriodicoImmobiliare.RP_InfoCliente +where rete+piva+cast(chiaveClientePB as varchar) in (select rete+piva+cast(chiaveClientePB as varchar) from #ClientiChiaveSbagliataPIVA) + -------------------------------------------------- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_BonificaClientiDoppi' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_BonificaClientiDoppi' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_CONSULENZA.sql b/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_CONSULENZA.sql new file mode 100644 index 00000000..5c26cbb0 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_CONSULENZA.sql @@ -0,0 +1,137 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_CONSULENZA] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CONSULENZA', + GETDATE(), + 'Staging Immobiliare' + ) +TRUNCATE TABLE C6StagingPeriodicoImmobiliare.[RP_CONSULENZA] +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,PosPor.conto + ,PosPor.rubricato + ,PosPor.codConf + ,PosPor.numPolizza + ,PosPor.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,POSITION_ID = '' + ,termId + ,anno + ,prog + ,orizzonteTemporale + INTO #ConsulenzaPianificazione +FROM + C6StagingPeriodicoImmobiliare.RP_Pianificazione AS pian + INNER JOIN C6StagingPeriodicoImmobiliare.RP_Progetto AS pro + ON pian.chiaveConsulenza = pro.chiaveConsulenza + INNER JOIN C6StagingPeriodicoImmobiliare.RP_ProgettiPiramideModello pirmod + ON pro.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6StagingPeriodicoImmobiliare.RP_PosizioniPortafoglio AS pospor + ON pro.chiaveProgetto = pospor.chiaveProgetto + INNER JOIN C6StagingPeriodicoImmobiliare.RP_DettaglioPosizionePortafoglio AS dettposport + ON pospor.chiavePosizionePtf = dettposport.chiavePosizionePtf + INNER JOIN C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti AS catprod + ON pospor.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6StagingPeriodicoImmobiliare.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport contr + ON pian.chiaveClientePB = contr.chiaveClientePB + WHERE + pospor.dtFineValidita > getdate() + AND pro.dtfinevalidita='99991231' + AND pirmod.dtfinevalidita='99991231' + --AND INVIOBENVENUTO = 'N' +--ricerco dati da Migrazione +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + --,mig.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,promig.chiaveProgetto + ,promig.area + ,promig.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,MigPos.conto + ,MigPos.rubricato + ,MigPos.codConf + ,MigPos.numPolizza + ,MigPos.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,POSITION_ID = '' + ,migpos.termId + ,migpos.anno + ,migpos.prog + ,null as orizzonteTemporale +INTO #ConsulenzaMigrazione +FROM + C6StagingPeriodicoImmobiliare.RP_Migraz_Pianificazione AS mig + INNER JOIN C6StagingPeriodicoImmobiliare.RP_Migraz_Progetto AS promig + ON mig.chiaveconsulenza = promig.chiaveconsulenza + INNER JOIN C6StagingPeriodicoImmobiliare.RP_ProgettiPiramideModello pirmod + ON promig.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6StagingPeriodicoImmobiliare.RP_Migraz_Posizioni AS migpos + ON promig.chiaveprogetto = migpos.chiaveprogetto + INNER JOIN C6StagingPeriodicoImmobiliare.RP_CatalogoProdotti AS catprod + ON migpos.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6StagingPeriodicoImmobiliare.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport contr + ON mig.chiaveClientePB = contr.chiaveClientePB + LEFT JOIN #ConsulenzaPianificazione tc + ON mig.chiaveClientePB = tc.chiaveClientePB + WHERE + pirmod.dtfinevalidita='99991231' + AND migpos.dtFineValidita > getdate() + AND tc.chiaveClientePB IS NULL + --AND INVIOBENVENUTO = 'N' +INSERT INTO C6StagingPeriodicoImmobiliare.RP_Consulenza + SELECT * FROM #ConsulenzaPianificazione + UNION + SELECT * FROM #ConsulenzaMigrazione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_CONSULENZA' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_CREA_POSITIONID.sql b/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_CREA_POSITIONID.sql new file mode 100644 index 00000000..c751e80a --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_CREA_POSITIONID.sql @@ -0,0 +1,284 @@ +-- +--select * from C6StagingPeriodicoImmobiliare.spb_contr_sintesi +--where positionId is null +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_CREA_POSITIONID] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_1', + GETDATE(), + 'Staging Immobiliare' + ) + --******************************************************************************************** +--select * from C6StagingPeriodicoImmobiliare.rp_catalogoprodotti +-- FC 05052014 +-- Interventi : + -- Eliminata ( commentata ) where condition spb.positionid is null + -- Eliminato ( commentato ) ciclo While @Visible +update C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI +set positionid = null + declare @visible int + set @visible = 1 +-- while @visible >= 0 +-- begin + update C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI + set positionid = catalogueid + FROM + C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI SPB inner join + ( + select * from C6StagingPeriodicoImmobiliare.rp_catalogoprodotti where visibilita = @visible + )CAT + on + --caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192','V301','V302') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161213 + --and spb.CODINT not in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + --and spb.CODINT not in ('RS','RB','RM','RV','RE') + and spb.CODINT not in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --fine INTERVENTO 'RF/MP' - 20171204 +--fine INTERVENTO 'RE' - 20161213 +--fine intervento MIGRAZIONE ASU3 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) +--inizio intervento MIGRAZIONE ASU3 + or + --caso 1a +--inizio INTERVENTO 'RE' - 20161213 + --(spb.CODINT in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + -- (spb.CODINT in ('RS','RB','RM','RV','RE') + + (spb.CODINT in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --fine INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +--fine intervento MIGRAZIONE ASU3 + or + --else caso 1b + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192','V301','V302') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and cat.TIPOPRODOTTO = SPB.TipProd + ) + or + --caso 2 +-- (SPB.TipProd in ('ASU2') + (SPB.TipProd in ('ASU2','GP') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end + ) + or + --caso 3 + (SPB.TipProd in ('DT','ASD') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + ) + or + --caso 4 + (SPB.TipProd in ('GES') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODMAF,'') = isnull(spb.MAF,'') + ) +-- --caso 5 +-- or +-- (SPB.isin = 'EURO00000009' +-- and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') +-- and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') +-- and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +-- ) +-- where spb.positionid is null +-- set @visible = @visible - 1 +-- end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' + ) + --******************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_2', + GETDATE(), + 'Staging Immobiliare' + ) + -- drop table #TAB1 + SELECT distinct + TIPPROD, + CODINT, + MAF, + CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END AS CODISIN, + SUBPROD, + POSITIONID, + RETE, + codfis + INTO #TAB1 + FROM C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI where POSITIONID IS NULL + UPDATE #TAB1 + SET POSITIONID = C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPPROD, + CODINT, + MAF, + CODISIN, + SUBPROD + ) + UPDATE C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI + SET POSITIONID = t.POSITIONID + FROM C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI c + inner join #TAB1 t + ON isnull(t.TIPPROD,'')=isnull(c.TIPPROD,'') + AND isnull(t.CODINT,'')=isnull(c.CODINT,'') + AND isnull(t.MAF,'')=isnull(c.MAF,'') + AND t.CODISIN = CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END + AND isnull(t.SUBPROD,'')=isnull(c.SUBPROD,'') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' + ) + --********************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_3', + GETDATE(), + 'Staging Immobiliare' + ) + UPDATE C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI + SET POSITIONID = POSITIONID + dbo.Crea_positionID + ( + TIPPROD, + CODINT, + MAF, + '', + SUBPROD, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + NUMPOL, + CONTO, + RUBR, + CUSTGAR, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + WHERE POSITIONID IS NOT NULL + -- INSERT INTO C6MARTPERIODICO.TEST_QUALITY + --SELECT RETE, codfis, 'SPB_CONTR_SINTESI.POSITIONID IS NULL' + --FROM C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI WHERE ISNULL(POSITIONID,'') ='' + --GROUP BY RETE, codfis + --SELECT @CNT = COUNT(*) FROM C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI WHERE isnull(POSITIONID,'') = '' + --IF @CNTNULL > 0 + -- RAISERROR ('SPB_CONTR_SINTESI.POSITIONID IS NULL', 16, 1 ) +-- UPDATE +-- C6StagingPeriodicoImmobiliare.SPB_CONTR_SINTESI +-- SET +-- POSITIONID = +---- CASE +---- WHEN TIPPROD = 'CC' THEN '' --MODIFICA TRINGALI +---- ELSE +-- [C6StagingPeriodicoImmobiliare].[RP_Info_DaProdottoCSaCatalogo] --dbo.Info_DaProdottoCSaCatalogo +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- --V ISIN per ASU2 +-- CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END, +-- SUBPROD +-- ) +-- --END +-- + +-- dbo.Crea_positionID +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- '', +-- SUBPROD, +-- CODCONF, -- VERIFICARNE LA CORRETTEZZA +-- NUMPOL, +-- CONTO, +-- RUBR, +-- CUSTGAR, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) +-- END +-- ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_PROGETTICLIENTE.sql b/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_PROGETTICLIENTE.sql new file mode 100644 index 00000000..09b7ee03 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_PROGETTICLIENTE.sql @@ -0,0 +1,74 @@ +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_PROGETTICLIENTE] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PROGETTICLIENTE', + GETDATE(), + 'Staging Immobiliare' + ) +TRUNCATE TABLE C6StagingPeriodicoImmobiliare.[RP_PROGETTICLIENTE] +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto +INTO #ProgettiPianificazione +FROM + C6StagingPeriodicoImmobiliare.RP_Pianificazione AS pian + INNER JOIN C6StagingPeriodicoImmobiliare.RP_Progetto AS pro + ON pian.chiaveconsulenza = pro.chiaveconsulenza + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON pian.chiaveClientePB = contr.chiaveClientePB + WHERE + (pro.dtfinevalidita='99991231' or pro.dtfinevalidita is null) +--ricerco dati da Migrazione +SELECT + contr.chiaveClientePB + ,contr.rete + ,contr.cod_fiscale + ,promig.chiaveProgetto + ,promig.area + ,promig.tipoProgetto +INTO #ProgettiMigrazione +FROM + C6StagingPeriodicoImmobiliare.RP_Migraz_Pianificazione AS mig + INNER JOIN C6StagingPeriodicoImmobiliare.RP_Migraz_Progetto AS promig + ON mig.chiaveconsulenza = promig.chiaveconsulenza + LEFT JOIN #ProgettiPianificazione tc + ON mig.chiaveClientePB = tc.chiaveClientePB + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON mig.chiaveClientePB = contr.chiaveClientePB + WHERE + tc.chiaveClientePB IS NULL +INSERT INTO C6StagingPeriodicoImmobiliare.RP_PROGETTICLIENTE + SELECT * FROM #ProgettiPianificazione + UNION + SELECT * FROM #ProgettiMigrazione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PROGETTICLIENTE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'RP_ST_PROGETTICLIENTE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI.sql b/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI.sql new file mode 100644 index 00000000..c61d554c --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI.sql @@ -0,0 +1,757 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- Aggiunta GESTIONE Fogli V301 (Colaneri, 31/01/2019) +-- ============================================= +--select count(*) from C6StagingPeriodicoImmobiliare.spb_contr_sintesi +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_SPB_CONTR_SINTESI] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Mart Immobiliare' + ) +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + Declare @dtTrime as decimal; + Declare @dtTrimePrec as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + TRUNCATE TABLE [C6StagingPeriodicoImmobiliare].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodicoImmobiliare].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192') + -- Modifica del 31/01/2019 AC + -- dalla WSEICS va esclusa anche la riga che riguarda il prodotto V301 (assimilato a L191 e L192). Questo tipo di prodotti viene caricato, come dettaglio, dalla WSEIGP (vedi ultime select) + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192', 'V301','V302','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') --aggiunto v302 16-05-2022 --aggiunto 3L 25/07/2022 + -- Fine modifica del 31/01/2019 AC +--INIZIO INTERVENTO MIGRAZIONE ASU3 +--INIZIO INTERVENTO 'RE' - 20161213 + --AND CODINT NOT IN ('RS','RB','RV','RM') + --INIZIO INTERVENTO 'RF/MP' - 20171204 + --AND CODINT NOT IN ('RS','RB','RV','RM','RE') + AND CODINT NOT IN ('RS','RB','RV','RM','RE','RF','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') --aggiunto 3L 25/07/2022 + --FINE INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 +--INIZIO INTERVENTO MIGRAZIONE ASU3 +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'ASU1' AS TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,UL.ISINFIT AS ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.CODINT = UL.CODINT + AND CS.SUBPROD = UL.SUBPROD + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +--INIZIO INTERVENTO 'RE' - 20161213 + --AND UL.CODINT IN ('RS','RB','RV','RM') + --INIZIO INTERVENTO 'RF/MP' - 20171204 + --AND UL.CODINT IN ('RS','RB','RV','RM','RE') + AND UL.CODINT IN ('RS','RB','RV','RM','RE','RF','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') --aggiunto 3L 25/07/2022 + --FINE INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 +AND C6.UltimoAperto = 1 +--FINE INTERVENTO MIGRAZIONE ASU3 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime ) AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = @dtTrime + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 +--inizio intervento per Omnia linea Self +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192')) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192') + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +--fine intervento per Omnia linea Self +-- Modifica del 31/01/2019 AC prodotti MioFoglio +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('V301','V302')) AS CS --aggiunto v302 16-05-2022 + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('V301','V302') --aggiunto v302 16-05-2022 + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +-- Fine Modifica del 31/01/2019 +--inizio inserimento su testquality emanuele +--insert into c6martperiodico.test_quality +--select distinct rete, codfis, 'LINEA SELF ISIN A NULL SU TABELLA WSEIGP' from C6StagingPeriodico.WSEIGP where isin is null +--fine inserimento su testquality emanuele + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql b/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql new file mode 100644 index 00000000..a100cba3 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodicoImmobiliare_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql @@ -0,0 +1,546 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select count(*) from C6StagingPeriodicoImmobiliare.spb_contr_sintesi +CREATE procedure [C6StagingPeriodicoImmobiliare].[RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Staging Immobiliare' + ) +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = C6MartPeriodicoImmobiliare.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,C6MartPeriodicoImmobiliare.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,C6MartPeriodicoImmobiliare.gettrimestre2(getdate(),0)) ) + Declare @dtTrime as decimal; + Declare @dtTrimePrec as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + TRUNCATE TABLE [C6StagingPeriodicoImmobiliare].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodicoImmobiliare].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192') +--INIZIO INTERVENTO MIGRAZIONE ASU3 +--INIZIO INTERVENTO 'RE' - 20161213 + --AND CODINT NOT IN ('RS','RB','RV','RM') + --INIZIO INTERVENTO 'RF/MP' - 20171204 + --AND CODINT NOT IN ('RS','RB','RV','RM','RE') + AND CODINT NOT IN ('RS','RB','RV','RM','RE','RF') + --FINE INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 +--INIZIO INTERVENTO MIGRAZIONE ASU3 +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'ASU1' AS TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,UL.ISINFIT AS ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.CODINT = UL.CODINT + AND CS.SUBPROD = UL.SUBPROD + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +--INIZIO INTERVENTO 'RE' - 20161213 + --AND UL.CODINT IN ('RS','RB','RV','RM') + --INIZIO INTERVENTO 'RF/MP' - 20171204 + --AND UL.CODINT IN ('RS','RB','RV','RM','RE') + AND UL.CODINT IN ('RS','RB','RV','RM','RE','RF') + --FINE INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 +AND C6.UltimoAperto = 1 +--FINE INTERVENTO MIGRAZIONE ASU3 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime ) AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = @dtTrime + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 +--inizio intervento per Omnia linea Self +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192')) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192') + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodicoImmobiliare.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +--fine intervento per Omnia linea Self +--inizio inserimento su testquality emanuele +--insert into C6MartPeriodicoImmobiliare.test_quality +--select distinct rete, codfis, 'LINEA SELF ISIN A NULL SU TABELLA WSEIGP' from C6StagingPeriodico.WSEIGP where isin is null +--fine inserimento su testquality emanuele + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_AGGIORNA_DATAFINEVALIDITAPROFILO.sql b/sql/storedTestbes/C6StagingPeriodico_AGGIORNA_DATAFINEVALIDITAPROFILO.sql new file mode 100644 index 00000000..4eb9f6d1 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_AGGIORNA_DATAFINEVALIDITAPROFILO.sql @@ -0,0 +1,11 @@ +-- Questa sp aggiorna la data fine validità del profilo del cliente aggiungendo tre anni alla data di inizio validità +CREATE procedure [C6StagingPeriodico].[AGGIORNA_DATAFINEVALIDITAPROFILO] +AS +BEGIN + update a set [DTFINVAL] = + case when [DTINVAL] = 0 then 0 + else CONVERT(VARCHAR(10),dateadd(year,3,convert(datetime,convert(varchar,DTINVAL))),112) end + from + [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] a + where dttrim = c6martperiodico.getTrimestre2(getDate(),0) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_AGGIORNA_TANAB_CTV.sql b/sql/storedTestbes/C6StagingPeriodico_AGGIORNA_TANAB_CTV.sql new file mode 100644 index 00000000..1df2c5b4 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_AGGIORNA_TANAB_CTV.sql @@ -0,0 +1,14 @@ +-- Questa sp martella i clienti che risultano disallineati, query in cui ctv = 0 +CREATE procedure [C6StagingPeriodico].[AGGIORNA_TANAB_CTV] +AS +BEGIN + declare @dttrim varchar(10) + set @dttrim = c6martperiodico.getTrimestre2(getDate(),0) + update a set a.ctv = 0.00 + from c6stagingperiodico.tanab a + inner join c6stagingperiodico.appo_contratti b + on a.rete=b.rete and a.codfis=b.cod_fiscale + where dtctv <> @dttrim + and dtctv <> '0' + and ctv <> 0 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_AGGIORNA_WSEIAN_FLAGPERPROF.sql b/sql/storedTestbes/C6StagingPeriodico_AGGIORNA_WSEIAN_FLAGPERPROF.sql new file mode 100644 index 00000000..f9ac35a8 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_AGGIORNA_WSEIAN_FLAGPERPROF.sql @@ -0,0 +1,10 @@ +-- Forzatura sulla WSEIAN per i clienti professionali: forzare a 'S' nella WSEIAN i campi CLCOMPL, FLGCONC +CREATE procedure [C6StagingPeriodico].[AGGIORNA_WSEIAN_FLAGPERPROF] +AS +BEGIN +print ('ok') + --update a set CLCOMPL = 'S', FLGCONC = 'S' + --FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN2] a + --where flgprof = 'S' + -- and dttrim = c6martperiodico.getTrimestre2(getDate(),0) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_AggiornaContrattiPretrimestrale.sql b/sql/storedTestbes/C6StagingPeriodico_AggiornaContrattiPretrimestrale.sql new file mode 100644 index 00000000..e1a835f3 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_AggiornaContrattiPretrimestrale.sql @@ -0,0 +1,76 @@ +CREATE procedure [C6StagingPeriodico].[AggiornaContrattiPretrimestrale] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'AggiornaContrattiPretrimestrale', + GETDATE(), + 'Elaborazione trimestrale' + ) +INSERT INTO C6StagingPeriodico.ContrattiPreTrimestrale +SELECT + v.chiaveclientepb, + [Cod_Fiscale], + [Cod_Mandato], + [PIva_Fiduciaria], + [Cod_Agente], + [Rete], + [CodiceContratto], + [FlagROL], + [Indirizzo], + [CAP], + [Citta], + [Provincia], + [Nazione], + [Presso], + [Email], + [Freq_Diagnosi], + [FREQ_MONITORAGGIO], + GENERAZIONEREPORT, + DATA_INIZIOBASE, + DATA_FINEBASE, + DATA_PERF_BASE, + DATA_PERF, + DATA_INZIOAVANZATO, + DATA_FINEAVANZATO, + RIATTIVAZIONE, + m.TIP_CONTRATTO, + TIP_RIATTIVAZIONE, + ClienteMIGRATO, + RISORSENA, + PROFILOATTIVO, + NumSolleciti, + NumRevoche, + Data_ultimoSollecito, + Data_ultimaRevoca, + InvioBenvenuto +FROM + [C6Mart].[vContratti] v + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] m + ON v.chiaveclientepb = m.chiaveclientepb +WHERE rete+cod_fiscale+codicecontratto IN +(SELECT rete+codfis+codcontratto FROM ScartiQuadratura WHERE bloccato = 0 and gestito = 0) +UPDATE + ScartiQuadratura +SET + gestito = 1 +WHERE + bloccato = 0 and gestito = 0 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'AggiornaContrattiPretrimestrale' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'AggiornaContrattiPretrimestrale' + ) \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_ClienteProdottiAssicurativiVita.sql b/sql/storedTestbes/C6StagingPeriodico_ClienteProdottiAssicurativiVita.sql new file mode 100644 index 00000000..870ed96b --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_ClienteProdottiAssicurativiVita.sql @@ -0,0 +1,23 @@ +CREATE procedure [C6StagingPeriodico].[ClienteProdottiAssicurativiVita] +@Rete as varchar(1), +@CodiceFiscale as varchar(16) +as +declare @tblFlagNota table +( + FlagAssVita char(1) +) +DECLARE @conta INT +SELECT @conta = count(*) +from C6MartPeriodico.PATRIMONIO_BF bf +inner join C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT +on bf.COD_PRODOTTO = kat.CatalogueID +where kat.Alberatura in (7,8,9) + AND bf.cod_fiscale = @CodiceFiscale + AND bf.rete = @Rete +if @conta >= 1 +begin + insert into @tblFlagNota (FlagAssVita) Values ('S') +end +else + insert into @tblFlagNota (FlagAssVita) Values ('N') +Select FlagAssVita from @tblFlagNota \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_ClienteProdottiAssicurativiVita_Totali.sql b/sql/storedTestbes/C6StagingPeriodico_ClienteProdottiAssicurativiVita_Totali.sql new file mode 100644 index 00000000..1b584471 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_ClienteProdottiAssicurativiVita_Totali.sql @@ -0,0 +1,17 @@ +--Verifica tutti i clienti della APPO_CONTRATTI se hanno la nota fai +--per il singolo cliente [C6StagingPeriodico].[ClienteProdottiAssicurativiVita] 'F','BBNNLL48T52E730L' +CREATE procedure [C6StagingPeriodico].[ClienteProdottiAssicurativiVita_Totali] +as +drop table if exists #assicurativi +SELECT distinct rete,cod_fiscale,count(*) as conta +into #assicurativi +from C6MartPeriodico.PATRIMONIO_BF bf +inner join C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI KAT +on bf.COD_PRODOTTO = kat.CatalogueID +where kat.Alberatura in (7,8,9) and + bf.rete+bf.cod_fiscale in (select rete+COD_FISCALE from C6StagingPeriodico.APPO_CONTRATTI) +group by rete,COD_FISCALE + select a.rete,a.COD_FISCALE, + case when f.conta is null then 'NO' + else 'SI' end as ASSICURATIVI + from C6stagingPeriodico.APPO_CONTRATTI a left join #assicurativi f on a.rete+a.COD_FISCALE=f.RETE+f.COD_FISCALE \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_ClienteProdottiFAI.sql b/sql/storedTestbes/C6StagingPeriodico_ClienteProdottiFAI.sql new file mode 100644 index 00000000..7dd6a145 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_ClienteProdottiFAI.sql @@ -0,0 +1,34 @@ +CREATE procedure [C6StagingPeriodico].[ClienteProdottiFAI] +@Rete as varchar(1), +@CodiceFiscale as varchar(16) +as +declare @tblFlagNota table +( + FlagFAI char(1), + DataFAI varchar(10) +) + --DECLARE @dtrim VARCHAR(8) + --set @dtrim = c6martperiodico.gettrimestre(getDate(),0) + --print @dtrim + Declare @dtrimFAI varchar(10) + set @dtrimFAI = Convert(varchar(10), Cast(c6martperiodico.getPreviousTrimestre(getDate(),0) as Datetime),103) + print @dtrimFAI +DECLARE @conta INT +SELECT @conta = count(*) +FROM [C6MartPeriodico].[PATRIMONIO_BF] +WHERE rtrim(ltrim(cod_interno)) IN ( + 'IA', + 'IP', + 'IC', + 'ID', + 'PE' + ) + AND cod_fiscale = @CodiceFiscale + AND rete = @Rete +if @conta >= 1 +begin + insert into @tblFlagNota (FlagFAI,DataFAI) Values ('S',@dtrimFAI) +end +else + insert into @tblFlagNota (FlagFAI,DataFAI) Values ('N',@dtrimFAI) +Select FlagFAI,DataFAI from @tblFlagNota \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_ClienteProdottiFAI_Totali.sql b/sql/storedTestbes/C6StagingPeriodico_ClienteProdottiFAI_Totali.sql new file mode 100644 index 00000000..987abeae --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_ClienteProdottiFAI_Totali.sql @@ -0,0 +1,21 @@ +--Verifica tutti i clienti della APPO_CONTRATTI se hanno la nota fai +--per il singolo cliente [C6StagingPeriodico].[ClienteProdottiFAI] 'F','BBNNLL48T52E730L' +CREATE procedure [C6StagingPeriodico].[ClienteProdottiFAI_Totali] +as +drop table if exists #fai +SELECT distinct rete,COD_FISCALE, count(*) as Conta +into #fai +FROM [C6MartPeriodico].[PATRIMONIO_BF] +WHERE rtrim(ltrim(cod_interno)) IN ( + 'IA', + 'IP', + 'IC', + 'ID', + 'PE' + ) + and rete+COD_FISCALE in (select rete+COD_FISCALE from C6StagingPeriodico.APPO_CONTRATTI) + group by rete,COD_FISCALE + select a.rete,a.COD_FISCALE, + case when f.conta is null then 'NO' + else 'SI' end as FAI + from C6stagingPeriodico.APPO_CONTRATTI a left join #fai f on a.rete+a.COD_FISCALE=f.RETE+f.COD_FISCALE \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_CopiaTabelleDiReplica.sql b/sql/storedTestbes/C6StagingPeriodico_CopiaTabelleDiReplica.sql new file mode 100644 index 00000000..603817b5 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_CopiaTabelleDiReplica.sql @@ -0,0 +1,59 @@ +CREATE procedure [C6StagingPeriodico].[CopiaTabelleDiReplica] +AS +set nocount on + begin try + insert into LOG_ESECUZIONE_periodico values ( + 'CopiaTabelleDiReplica', + GETDATE(), + null, + 'Copia', + null,'Elaborazione trimestrale') + declare @KO int + set @KO = 0 + declare @err varchar(500) + set @err = '' + -- Modifica del 29/01/2019 + --declare @query nvarchar(max) + --declare @today datetime + --declare @sToday varchar(10) + -- Fine modifica del 29/01/2019 + declare @res table (tablename varchar(100)) + --SET FMTONLY ON + -- Modifica del 29/01/2019 + --set @today = getdate() + --set @sToday = convert(varchar(4), datepart(yyyy, @today)) + right('0' + convert(varchar(2), datepart(mm, @today)), 2) + right('0' + convert(varchar(2), datepart(dd, @today)), 2) + -------------------------------------- TANAB + --set @query = 'select * into C6Stagingperiodico.TANAB_' + @sToday + '_preUpdate from C6Stagingperiodico.TANAB' + --insert @res + --exec sys.sp_executesql @query + -------------------------------------- WSEIAN + --set @query = 'select * into C6Stagingperiodico.WSEIAN_' + @sToday + '_preUpdate from C6Stagingperiodico.WSEIAN' + --insert @res + --exec sys.sp_executesql @query + -- Fine modifica del 29/01/2019 + exec dbo.CreaTabellaBackUp 'TANAB', 'C6Stagingperiodico', 'preUpdate' + exec dbo.CreaTabellaBackUp 'WSEIAN2', 'C6Stagingperiodico', 'preUpdate' + ----------------------------------- + UPDATE + LOG_ESECUZIONE_periodico + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'CopiaTabelleDiReplica' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_periodico + WHERE + Nome = 'CopiaTabelleDiReplica' + ) + end try + begin catch + set @KO = 1 + set @err = ERROR_MESSAGE() + RAISERROR (50000,-1,-1, 'Lancio Trimestrale - Errore C6MartPeriodico.CopiaTabelleDiReplica'); + return + end catch \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_CopiaTabelleDiReplica_20190129.sql b/sql/storedTestbes/C6StagingPeriodico_CopiaTabelleDiReplica_20190129.sql new file mode 100644 index 00000000..3443f808 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_CopiaTabelleDiReplica_20190129.sql @@ -0,0 +1,53 @@ +CREATE procedure [C6StagingPeriodico].[CopiaTabelleDiReplica_20190129] +AS +set nocount on + begin try + insert into LOG_ESECUZIONE_periodico values ( + 'CopiaTabelleDiReplica', + GETDATE(), + null, + 'Copia', + null,'Elaborazione trimestrale') + declare @KO int + set @KO = 0 + declare @err varchar(500) + set @err = '' + declare @query nvarchar(max) + declare @today datetime + declare @sToday varchar(10) + declare @res table (tablename varchar(100)) + --SET FMTONLY ON + set @today = getdate() + set @sToday = convert(varchar(4), datepart(yyyy, @today)) + right('0' + convert(varchar(2), datepart(mm, @today)), 2) + right('0' + convert(varchar(2), datepart(dd, @today)), 2) + ------------------------------------ TANAB + set @query = 'select * into C6Stagingperiodico.TANAB_' + @sToday + '_preUpdate from C6Stagingperiodico.TANAB' + insert @res + exec sys.sp_executesql @query + ------------------------------------ WSEIAN + set @query = 'select * into C6Stagingperiodico.WSEIAN_' + @sToday + '_preUpdate from C6Stagingperiodico.WSEIAN' + insert @res + exec sys.sp_executesql @query + ----------------------------------- + UPDATE + LOG_ESECUZIONE_periodico + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'CopiaTabelleDiReplica' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_periodico + WHERE + Nome = 'CopiaTabelleDiReplica' + ) + end try + begin catch + set @KO = 1 + set @err = ERROR_MESSAGE() + RAISERROR (50000,-1,-1, 'Lancio Trimestrale - Errore C6MartPeriodico.CopiaTabelleDiReplica'); + return + end catch \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale.sql b/sql/storedTestbes/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale.sql new file mode 100644 index 00000000..57dd31cd --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale.sql @@ -0,0 +1,28 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6StagingPeriodico].[PopolaW6TRCLIdavListaClientiTrimestrale] + -- Add the parameters for the stored procedure here +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + insert into [dbo].[W6TRCLI] ([Rete],[Codice_Agente],[Nominativo_ Agente],[CodiceFiscale],[CodiceContratto],[Freq_Monitoraggio],[Freq_ Diagnosi],[Data_Revoca],[TipoContratto],[TipoRiattivazione],[ROL],[ClienteDB]) + select isnull([Rete],''), + isnull([Codice Agente],''), + '', + isnull([Codice Fiscale],''), + isnull([Codice Contratto],''), + isnull([Freq Monitoraggio],''), + isnull([Freq Diagnosi],''), + isnull([Data Revoca],''), + isnull([Tipo Contratto],''), + isnull([Tipo Riattivazione],''), + '', + clienteDB + from [C6StagingPeriodico].[vListaClientiTrimestrale]; +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale_anag_pb.sql b/sql/storedTestbes/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale_anag_pb.sql new file mode 100644 index 00000000..53d58de6 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_PopolaW6TRCLIdavListaClientiTrimestrale_anag_pb.sql @@ -0,0 +1,28 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6StagingPeriodico].[PopolaW6TRCLIdavListaClientiTrimestrale_anag_pb] + -- Add the parameters for the stored procedure here +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + insert into [dbo].[W6TRCLI] ([Rete],[Codice_Agente],[Nominativo_ Agente],[CodiceFiscale],[CodiceContratto],[Freq_Monitoraggio],[Freq_ Diagnosi],[Data_Revoca],[TipoContratto],[TipoRiattivazione],[ROL],[ClienteDB]) + select isnull([Rete],''), + isnull([Codice Agente],''), + isnull([Nominativo],''), + isnull([Codice Fiscale],''), + isnull([Codice Contratto],''), + isnull([Freq Monitoraggio],''), + isnull([Freq Diagnosi],''), + isnull([Data Revoca],0), + isnull([Tipo Contratto],''), + isnull([Tipo Riattivazione],''), + isnull([ROL],''), + clienteDB + from [C6StagingPeriodico].[vListaClientiTrimestrale_anag_pb]; +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_Popola_Prodotti_Fuori_Adeguatezza.sql b/sql/storedTestbes/C6StagingPeriodico_Popola_Prodotti_Fuori_Adeguatezza.sql new file mode 100644 index 00000000..b52864e3 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_Popola_Prodotti_Fuori_Adeguatezza.sql @@ -0,0 +1,50 @@ +-- [C6StagingPeriodico].[Popola_Prodotti_Fuori_Adeguatezza] +CREATE procedure [C6StagingPeriodico].[Popola_Prodotti_Fuori_Adeguatezza] +AS +BEGIN + truncate table [C6StagingPeriodico].Prodotti_Fuori_Adeguatezza + insert into [C6StagingPeriodico].Prodotti_Fuori_Adeguatezza + select + cat.[CatalogueID], + cat.[ChiaveProdotto], + cat.[CodSottoprodotto], + cat.[CodInterno], + cat.[CodMaf], + cat.[CodIsin], + cat.[NomeProdotto], + cat.[TipoProdotto] + from [C6StagingPeriodico].[RP_CatalogoProdotti] cat + where + cat.suitability_perimeter='N' --prodotti fuori adeguatezza + and cat.TipoProdotto<>'DT' + --PRE_MUA + --select + --cat.[CatalogueID], + --cat.[ChiaveProdotto], + --cat.[CodSottoprodotto], + --cat.[CodInterno], + --cat.[CodMaf], + --cat.[CodIsin], + --cat.[NomeProdotto], + --cat.[TipoProdotto] + --from [C6StagingPeriodico].WADPRNA W + --inner join [C6StagingPeriodico].[RP_CatalogoProdotti] cat + --on w.[CODPROD] = cat.[CodInterno] + --where w.[DTFINVAL] = '99991231' -- prendo solo i prodotti validi + --and isnull(w.SUBPROD,'') = '' --se il subprod non è valorizzato vado in join sul catalogo solo per codprod + --union + --select + --cat.[CatalogueID], + --cat.[ChiaveProdotto], + --cat.[CodSottoprodotto], + --cat.[CodInterno], + --cat.[CodMaf], + --cat.[CodIsin], + --cat.[NomeProdotto], + --cat.[TipoProdotto] + --from [C6StagingPeriodico].WADPRNA W + --inner join [C6StagingPeriodico].[RP_CatalogoProdotti] cat + --on w.[CODPROD] = cat.[CodInterno] and w.subprod = cat.[CodSottoprodotto] + --where w.[DTFINVAL] = '99991231' -- prendo solo i prodotti validi + --and isnull(w.SUBPROD,'') <> '' --se il subprod è valorizzato vado in join sul catalogo anche per subprod +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA.sql b/sql/storedTestbes/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA.sql new file mode 100644 index 00000000..98bf6a44 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA.sql @@ -0,0 +1,130 @@ +CREATE procedure [C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Trimestrale' + ) +truncate table TAB1 +insert into TAB1 +SELECT distinct + isnull(TIPOPRODOTTO,'') TIPOPRODOTTO, + isnull(CODINTERNO,'') CODINTERNO, + isnull(CODMAF,'') CODMAF, +--***INIZIO INTERVENTI OMNIA*** +-- CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + --inizio INTERVENTO 'RF/MP' - 20171204 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(CODISIN,'') + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') THEN ISNULL(CODISIN,'') + --fine INTERVENTO 'RF/MP' - 20171204 + ELSE '' END AS CODISIN, +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + isnull(CODSOTTOPRODOTTO,'') CODSOTTOPRODOTTO, + position_id +--INTO TAB1 +FROM C6StagingPeriodico.RP_CONSULENZA +UPDATE TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) +DECLARE @CNTNULL as int +SELECT @CNTNULL = COUNT(*) FROM TAB1 WHERE isnull(position_id,'') = '' +--SET @CNTNULL = 0 +IF @CNTNULL = 0 + UPDATE C6StagingPeriodico.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + --inizio INTERVENTO 'RF/MP' - 20171204 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(c.CODISIN,'') + CASE WHEN C.CODINTERNO in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') THEN ISNULL(c.CODISIN,'') + --fine INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6StagingPeriodico.RP_CONSULENZA c + left join TAB1 t + ON 1=1 + -- FerAcu Ottimizzazione 20241018 + --AND isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + --AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + --AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') + AND t.TIPOPRODOTTO =isnull(c.TIPOPRODOTTO,'') + AND t.CODINTERNO=isnull(c.CODINTERNO,'') + AND t.CODMAF =isnull(c.CODMAF,'') +--***INIZIO INTERVENTI OMNIA*** +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(c.CODISIN,'') ELSE '' END +--inizio INTERVENTO 'RE' - 20161213 + --inizio INTERVENTO 'RF/MP' - 20171204 + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB','RE') + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --fine INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + --AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + AND t.CodSottoprodotto =isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') <> '' +-- Log esecuzione +UPDATE + LOG_ESECUZIONE_PERIODICO +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) +--drop table TAB1 +IF @CNTNULL = 0 + SELECT @CNTNULL = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') = '' +if @CNTNULL > 0 + RAISERROR ('Scarti position_id null', 16, 1 ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20161213.sql b/sql/storedTestbes/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20161213.sql new file mode 100644 index 00000000..546ee060 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20161213.sql @@ -0,0 +1,104 @@ +CREATE procedure [C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA_20161213] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Trimestrale' + ) +truncate table TAB1 +insert into TAB1 +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, +--***INIZIO INTERVENTI OMNIA*** +-- CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + ELSE '' END AS CODISIN, +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + CODSOTTOPRODOTTO, + position_id +--INTO TAB1 +FROM C6StagingPeriodico.RP_CONSULENZA +UPDATE TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) +DECLARE @CNTNULL as int +SELECT @CNTNULL = COUNT(*) FROM TAB1 WHERE isnull(position_id,'') = '' +--SET @CNTNULL = 0 +IF @CNTNULL = 0 + UPDATE C6StagingPeriodico.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', + CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6StagingPeriodico.RP_CONSULENZA c + left join TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') +--***INIZIO INTERVENTI OMNIA*** +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(c.CODISIN,'') ELSE '' END + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB') + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') <> '' +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) +--drop table TAB1 +IF @CNTNULL = 0 + SELECT @CNTNULL = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') = '' +if @CNTNULL > 0 + RAISERROR ('Scarti position_id null', 16, 1 ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20171204_preRFMP.sql b/sql/storedTestbes/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20171204_preRFMP.sql new file mode 100644 index 00000000..120bf3c9 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20171204_preRFMP.sql @@ -0,0 +1,112 @@ +CREATE procedure [C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA_20171204_preRFMP] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Trimestrale' + ) +truncate table TAB1 +insert into TAB1 +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, +--***INIZIO INTERVENTI OMNIA*** +-- CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(CODISIN,'') + ELSE '' END AS CODISIN, +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + CODSOTTOPRODOTTO, + position_id +--INTO TAB1 +FROM C6StagingPeriodico.RP_CONSULENZA +UPDATE TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) +DECLARE @CNTNULL as int +SELECT @CNTNULL = COUNT(*) FROM TAB1 WHERE isnull(position_id,'') = '' +--SET @CNTNULL = 0 +IF @CNTNULL = 0 + UPDATE C6StagingPeriodico.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(c.CODISIN,'') +--FINE INTERVENTO 'RE' - 20161213 + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6StagingPeriodico.RP_CONSULENZA c + left join TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') +--***INIZIO INTERVENTI OMNIA*** +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(c.CODISIN,'') ELSE '' END +--inizio INTERVENTO 'RE' - 20161213 + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB','RE') +--FINE INTERVENTO 'RE' - 20161213 + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') <> '' +-- Log esecuzione +UPDATE + LOG_ESECUZIONE_PERIODICO +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) +--drop table TAB1 +IF @CNTNULL = 0 + SELECT @CNTNULL = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') = '' +if @CNTNULL > 0 + RAISERROR ('Scarti position_id null', 16, 1 ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20190725.sql b/sql/storedTestbes/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20190725.sql new file mode 100644 index 00000000..5888d6c7 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_20190725.sql @@ -0,0 +1,121 @@ +CREATE procedure [C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA_20190725] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Trimestrale' + ) +truncate table TAB1 +insert into TAB1 +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, +--***INIZIO INTERVENTI OMNIA*** +-- CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + --inizio INTERVENTO 'RF/MP' - 20171204 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(CODISIN,'') + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB','RE','RF') THEN ISNULL(CODISIN,'') + --fine INTERVENTO 'RF/MP' - 20171204 + ELSE '' END AS CODISIN, +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + CODSOTTOPRODOTTO, + position_id +--INTO TAB1 +FROM C6StagingPeriodico.RP_CONSULENZA +UPDATE TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) +DECLARE @CNTNULL as int +SELECT @CNTNULL = COUNT(*) FROM TAB1 WHERE isnull(position_id,'') = '' +--SET @CNTNULL = 0 +IF @CNTNULL = 0 + UPDATE C6StagingPeriodico.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + --inizio INTERVENTO 'RF/MP' - 20171204 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(c.CODISIN,'') + CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB','RE','RF') THEN ISNULL(c.CODISIN,'') + --fine INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6StagingPeriodico.RP_CONSULENZA c + left join TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') +--***INIZIO INTERVENTI OMNIA*** +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(c.CODISIN,'') ELSE '' END +--inizio INTERVENTO 'RE' - 20161213 + --inizio INTERVENTO 'RF/MP' - 20171204 + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB','RE') + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB','RE','RF') + --fine INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') <> '' +-- Log esecuzione +UPDATE + LOG_ESECUZIONE_PERIODICO +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) +--drop table TAB1 +IF @CNTNULL = 0 + SELECT @CNTNULL = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') = '' +if @CNTNULL > 0 + RAISERROR ('Scarti position_id null', 16, 1 ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_pre_selective.sql b/sql/storedTestbes/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_pre_selective.sql new file mode 100644 index 00000000..8a512890 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_CREA_POSITIONID_CONSULENZA_pre_selective.sql @@ -0,0 +1,112 @@ +CREATE procedure [C6StagingPeriodico].[RP_CREA_POSITIONID_CONSULENZA_pre_selective] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) +truncate table TAB1 +insert into TAB1 +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, +--***INIZIO INTERVENTI OMNIA*** +-- CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(CODISIN,'') + ELSE '' END AS CODISIN, +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + CODSOTTOPRODOTTO, + position_id +--INTO TAB1 +FROM C6StagingPeriodico.RP_CONSULENZA +UPDATE TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) +DECLARE @CNTNULL as int +SELECT @CNTNULL = COUNT(*) FROM TAB1 WHERE isnull(position_id,'') = '' +--SET @CNTNULL = 0 +IF @CNTNULL = 0 + UPDATE C6StagingPeriodico.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', +--inizio INTERVENTO 'RE' - 20161213 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(c.CODISIN,'') +--FINE INTERVENTO 'RE' - 20161213 + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6StagingPeriodico.RP_CONSULENZA c + left join TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') +--***INIZIO INTERVENTI OMNIA*** +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(c.CODISIN,'') ELSE '' END +--inizio INTERVENTO 'RE' - 20161213 + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB','RE') +--FINE INTERVENTO 'RE' - 20161213 + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 +--***FINE INTERVENTI OMNIA*** + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') <> '' +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA_pre_selective' + ) +--drop table TAB1 +IF @CNTNULL = 0 + SELECT @CNTNULL = COUNT(*) FROM C6StagingPeriodico.RP_CONSULENZA WHERE isnull(position_id,'') = '' +if @CNTNULL > 0 + RAISERROR ('Scarti position_id null', 16, 1 ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql b/sql/storedTestbes/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql new file mode 100644 index 00000000..ad69779b --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql @@ -0,0 +1,39 @@ +-- Questa sp aggiorna il campo 'beneficio' della [PROMETEIA_AGGR] con il valore del nuovo indicatore dalla nuova tabella PROMETEIA_AGGR_IndDiv +CREATE procedure [C6StagingPeriodico].[RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE] +AS +BEGIN +-- *********************************************** 10/7/2018 ********************************************** +-- BONIFICA DELLA TABELLA PER I VALORI NON CALCOLATI (Nan) TORNATI DAL SERVIZIO PER ALCUNI CF/PTF +-- NECESSARIA PER NON MANDARE IN ERRORE LA UPDATE +update a set indicatore = '0.0' + FROM [C6StampeCentralizzate].[C6martPeriodico].[brsinddiv] a + where + not indicatore like '%[0-9]%' +-- ********************************************* FINE BONIFICA ******************************************** + --aggiorna il beneficio per il COMPLESSIVO +--UPDATE aggr set aggr.beneficio = CAST(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) AS DECIMAL(12,3)) +--con le replace sostituisco i caratteri speciali a fine testo che mandano in errore il cast quando l'indicatore è = 0.0 - CHAR(13) = cr, CHAR(10) = lf +UPDATE aggr set aggr.beneficio = CAST(inddiv.indicatore AS DECIMAL(12,3)) +from +[C6martPeriodico].[brsvarallaggr] aggr +inner join +[C6martPeriodico].[brsinddiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale +where aggr.portafoglio = 'COMPLESSIVO' +--aggiorna il beneficio per il COMPLESSIVO|BF +UPDATE aggr set aggr.beneficio = CAST(inddiv.indicatore AS DECIMAL(12,3)) +from +[C6martPeriodico].[brsvarallaggr] aggr +inner join +[C6martPeriodico].[brsinddiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_BF' +where aggr.portafoglio = 'COMPLESSIVO|BF' +--aggiorna il beneficio per il COMPLESSIVO|TERZI +UPDATE aggr set aggr.beneficio = CAST(inddiv.indicatore AS DECIMAL(12,3)) +from +[C6martPeriodico].[brsvarallaggr] aggr +inner join +[C6martPeriodico].[brsinddiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_TERZI' +where aggr.portafoglio = 'COMPLESSIVO|TERZI' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_20180710.sql b/sql/storedTestbes/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_20180710.sql new file mode 100644 index 00000000..8a30df92 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_20180710.sql @@ -0,0 +1,43 @@ +-- Questa sp aggiorna il campo 'beneficio' della [PROMETEIA_AGGR] con il valore del nuovo indicatore dalla nuova tabella PROMETEIA_AGGR_IndDiv +CREATE procedure [C6StagingPeriodico].[RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_20180710] +AS +BEGIN + --update + --[C6StagingPeriodico].[PROMETEIA_AGGR] + --set Beneficio = b.indicatore + --from [C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] b + --where + --([C6StagingPeriodico].[PROMETEIA_AGGR].rete = b.rete + -- and [C6StagingPeriodico].[PROMETEIA_AGGR].CodiceFiscale = b.cod_fiscale) + --and + --[C6StagingPeriodico].[PROMETEIA_AGGR].Portafoglio = 'COMPLESSIVO|BF' + --aggiorna il beneficio per il COMPLESSIVO +--UPDATE aggr set aggr.beneficio = CAST(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) AS DECIMAL(12,3)) +--con le replace sostituisco i caratteri speciali a fine testo che mandano in errore il cast quando l'indicatore è = 0.0 - CHAR(13) = cr, CHAR(10) = lf +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodico].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale +where aggr.portafoglio = 'COMPLESSIVO' +--aggiorna il beneficio per il COMPLESSIVO|BF +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodico].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_BF' +where aggr.portafoglio = 'COMPLESSIVO|BF' +--aggiorna il beneficio per il COMPLESSIVO|TERZI +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodico].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_TERZI' +where aggr.portafoglio = 'COMPLESSIVO|TERZI' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_preAladdin.sql b/sql/storedTestbes/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_preAladdin.sql new file mode 100644 index 00000000..ffa59a3b --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_preAladdin.sql @@ -0,0 +1,42 @@ +-- Questa sp aggiorna il campo 'beneficio' della [PROMETEIA_AGGR] con il valore del nuovo indicatore dalla nuova tabella PROMETEIA_AGGR_IndDiv +CREATE procedure [C6StagingPeriodico].[RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE_preAladdin] +AS +BEGIN +-- *********************************************** 10/7/2018 ********************************************** +-- BONIFICA DELLA TABELLA PER I VALORI NON CALCOLATI (Nan) TORNATI DAL SERVIZIO PER ALCUNI CF/PTF +-- NECESSARIA PER NON MANDARE IN ERRORE LA UPDATE +update a set indicatore = '0.0' + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] a + where + not indicatore like '%[0-9]%' +-- ********************************************* FINE BONIFICA ******************************************** + --aggiorna il beneficio per il COMPLESSIVO +--UPDATE aggr set aggr.beneficio = CAST(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) AS DECIMAL(12,3)) +--con le replace sostituisco i caratteri speciali a fine testo che mandano in errore il cast quando l'indicatore è = 0.0 - CHAR(13) = cr, CHAR(10) = lf +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodico].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale +where aggr.portafoglio = 'COMPLESSIVO' +--aggiorna il beneficio per il COMPLESSIVO|BF +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodico].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_BF' +where aggr.portafoglio = 'COMPLESSIVO|BF' +--aggiorna il beneficio per il COMPLESSIVO|TERZI +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6StagingPeriodico].[PROMETEIA_AGGR] aggr +inner join +[C6StagingPeriodico].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_TERZI' +where aggr.portafoglio = 'COMPLESSIVO|TERZI' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_OLD.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_OLD.sql new file mode 100644 index 00000000..0af242a7 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_APPO_CONTRATTI_OLD.sql @@ -0,0 +1,151 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_APPO_CONTRATTI_OLD] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_APPO_CONTRATTI', + GETDATE(), + 'Elaborazione trimestrale' + ) +SELECT C.COD_FISCALE, C.RETE +INTO #CONTRATTI_DA_CONSIDERARE_ATTIVI +FROM + C6StagingPeriodico.ContrattiPreTrimestrale c +INNER JOIN + C6Mart.Gestione_PDF_FTP g +ON + c.cod_fiscale = g.CodiceFiscale +AND + c.rete = g.Rete +AND + g.NomeFile like '%' + c.codiceContratto + '%' +WHERE + ISNULL(Data_FineAvanzato, CAST('99991231' AS datetime)) > C6MartPeriodico.GetPreviousTrimestre(getdate(), 0) /*Precedente Trimestrale*/ +AND g.DataGenerazione < C6MartPeriodico.GetTrimestre2(getdate(),1) +AND c.InvioBenvenuto = 'S' +GROUP BY C.COD_FISCALE, C.RETE +SELECT * +INTO #CONTRATTI_DA_CONSIDERARE +FROM #CONTRATTI_DA_CONSIDERARE_ATTIVI +UNION +SELECT case when len(c.CF) < 16 then 'FF@' + c.CF else c.CF END AS CF, C.RETE +FROM + #CONTRATTI_DA_CONSIDERARE_ATTIVI a +RIGHT JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + C6MartPeriodico.getPreviousTrimestre(getDate(), 0), + c6martperiodico.getTrimestre(getDAte(), 0)) c +ON + a.cod_fiscale = case when len(c.CF) < 16 then 'FF@' + c.CF else c.CF END +AND + a.RETE = c.RETE +INNER JOIN + C6Mart.Gestione_PDF_FTP g +ON + case when len(c.CF) < 16 then 'FF@' + c.CF else c.CF end = g.CodiceFiscale +AND + C.rete = g.Rete +AND + g.NomeFile like '%' + c.COD_CONF + '%' +WHERE + a.Rete is null + AND ISNULL(c.DATA_CHIUSURA_C6, CAST('99991231' AS datetime)) > C6MartPeriodico.GetPreviousTrimestre(getdate(), 0) /*Precedente Trimestrale*/ +AND g.DataGenerazione < C6MartPeriodico.GetTrimestre2(getdate(),1) +GROUP BY C.CF, C.RETE +TRUNCATE TABLE C6StagingPERIODICO.APPO_CONTRATTI +--INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI_TEST select * from C6StagingPERIODICO.APPO_CONTRATTI +INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI +SELECT + C.* +FROM + C6StagingPeriodico.ContrattiPreTrimestrale c +INNER JOIN + #CONTRATTI_DA_CONSIDERARE D +ON + C.RETE = D.RETE +AND + C.COD_FISCALE = D.COD_FISCALE +UNION +SELECT +c.chiaveClientePB, +case when len(c.CF) < 16 then 'FF@' + c.CF else c.CF END as COD_FISCALE, +NULL as COD_MANDATO, +PIVA as PIVA_FIDUCIARIA, +PB as COD_AGENTE, +c.RETE, +COD_CONF as codiceContratto, +NULL as flagRol, +c.INDIRIZZO, +c.CAP, +c.CITTA, +PROV as PROVINCIA, +c.NAZIONE, +null as PRESSO, +c.EMAIL, +FREQUENZA_DIAGNOSI as FREQ_DIAGNOSI, +FREQUENZA_MONITORAGGIO as FREQ_MONITORAGGIO, +FLAG_STAMPA_REPORT as GENERAZIONEREPORT, +DATA_SOTTOSCRIZIONE_CB as DATA_INIZIOBASE, +DATA_CHIUSURA_CB as DATA_FINEBASE, +DATA_PERFEZIONAMENTO_CB as DATA_PERF_BASE, +DATA_PERFEZIONAMENTO_C6 as DATA_PERF, +DATA_SOTTOSCRIZIONE_C6 as DATA_INZIOAVANZATO, +DATA_CHIUSURA_C6 as DATA_FINEAVANZATO, +null as RIATTIVAZIONE, +null as TIP_CONTRATTO, +null as TIP_RIATTIVAZIONE, +'S' as ClienteMIGRATO, +'N' as RISORSENA, +1 as PROFILOATTIVO, +0 as NumSolleciti, +0 as NumRevoche, +null as Data_ultimoSollecito, +null as Data_ultimaRevoca, +'S' as InvioBenvenuto +FROM +C6StagingPeriodico.ContrattiPreTrimestrale t +RIGHT JOIN + [C6StagingPeriodico].[GetContrattiChiusiFromSEI] ( + c6MartPeriodico.getPreviousTrimestre(getDate(), 0), + c6martperiodico.getTrimestre(getDAte(), 0)) c +ON + t.RETE = c.RETE +AND + t.Cod_Fiscale = case when len(c.CF) < 16 then 'FF@' + c.CF else c.CF END +INNER JOIN + #CONTRATTI_DA_CONSIDERARE D +ON + C.RETE = D.RETE +AND + case when len(c.CF) < 16 then 'FF@' + c.CF else c.CF END = D.COD_FISCALE +WHERE + t.rete is null + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' + ) +--select count(*) from C6StagingPERIODICO.APPO_CONTRATTI_TEST +--select count(*) from C6StagingPERIODICO.APPO_CONTRATTI +--select count(*) from vcontrcong0913 +--select v.* from #CONTRATTI_DA_CONSIDERARE t +--right join vcontrcong0913 v +--on t.rete= v.rete +--and t.cod_fiscale = v.cod_fiscale +--where t.rete is null +--select top 1 * from +--[consevo].consulenzabasefl.dbo.cbs_AvanzatiChiusi c +--where cf = '4200' \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_BonificaClientiDoppi.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_BonificaClientiDoppi.sql new file mode 100644 index 00000000..f193080f --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_BonificaClientiDoppi.sql @@ -0,0 +1,131 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_BonificaClientiDoppi] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_BonificaClientiDoppi', + GETDATE(), + 'Elaborazione Trimestrale' + ) +----------------------------------------------------------------- +drop table if exists #doppiCF +drop table if exists #ClientiDoppiInAppoCF +drop table if exists #ClientiNONInAppoCF +drop table if exists #ClientiChiaveClienteGiustaCF +drop table if exists #ClientiChiaveClienteGiustaESbagliataCF +drop table if exists #ClientiChiaveSbagliataCF +drop table if exists #doppiPIVA +drop table if exists #ClientiDoppiInAppoPIVA +drop table if exists #ClientiNONInAppoPIVA +drop table if exists #ClientiChiaveClienteGiustaPIVA +drop table if exists #ClientiChiaveClienteGiustaESbagliataPIVA +drop table if exists #ClientiChiaveSbagliataPIVA +----Individuo i cf doppi + select rete,codfis,count(*) as numero + into #doppiCF + FROM C6STAGINGPERIODICO.RP_InfoCliente + where codfis is not null and codfis <> '' + group by rete,codfis + having count(*)>1 + --if + select rete,COD_FISCALE + into #ClientiDoppiInAppoCF + from C6stagingPeriodico.APPO_CONTRATTI a + where a.rete+a.COD_FISCALE in (select rete+codfis from #doppiCF) + select rete,codfis + into #ClientiNONInAppoCF + from #doppiCF where rete+codfis not in (select rete+cod_fiscale from #ClientiDoppiInAppoCF) + delete from C6STAGINGPERIODICO.RP_InfoCliente where rete+codFis in (select rete+codfis from #ClientiNONInAppoCF) + --else + select distinct appo.rete,appo.COD_FISCALE,appo.chiaveclientepb + into #ClientiChiaveClienteGiustaCF + from C6STAGINGPERIODICO.RP_InfoCliente info inner join + C6StagingPeriodico.appo_contratti appo on info.rete = appo.rete and info.codfis=appo.cod_fiscale +where info.rete + info.codfis in (select rete+cod_fiscale from #ClientiDoppiInAppoCF) +select rete,codfis,chiaveClientePB + into #ClientiChiaveClienteGiustaESbagliataCF +FROM C6STAGINGPERIODICO.RP_InfoCliente +where rete+codfis in (select rete+cod_fiscale from #ClientiChiaveClienteGiustaCF) +--select * from #ClientiChiaveClienteGiustaESbagliataCF order by codfis +select rete,codfis,chiaveclientePB +into #ClientiChiaveSbagliataCF +from #ClientiChiaveClienteGiustaESbagliataCF where +rete+codFis in (select rete+cod_fiscale from #ClientiChiaveClienteGiustaCF) +and chiaveClientePB not in (select chiaveClientePB from #ClientiChiaveClienteGiustaCF) +--create table #ClientiChiaveSbagliataCF( +--rete char(1), +--codfis varchar(16), +--chiaveClientePB int) +--insert into #ClientiChiaveSbagliataCF +-- SELECT * FROM #ClientiChiaveClienteGiustaESbagliataCF +-- EXCEPT +-- SELECT * FROM #ClientiChiaveClienteGiustaCF +-- select * from #ClientiChiaveSbagliataCF +delete from C6STAGINGPERIODICO.RP_InfoCliente +where rete+codfis+cast(chiaveClientePB as varchar) in (select rete+codfis+cast(chiaveClientePB as varchar) from #ClientiChiaveSbagliataCF) +--select * from C6STAGINGPERIODICO.RP_InfoCliente +--where rete+codfis+chiaveClientePB in (select rete+codfis+chiaveClientePB from #ClientiChiaveClienteGiustaCF) +----------------------------------------------------------------- +--Individuo le PIVA doppie + select rete,piva,count(*) as numero + into #doppiPIVA + FROM C6STAGINGPERIODICO.RP_InfoCliente + where isnull(codman,'')= '' + and piva is not null and piva <> '' + group by rete,piva + having count(*)>1 +-- select * from #doppiPIVA where piva in ( +-- '02477630582', +--'05267780962') + --if + select rete,COD_FISCALE + into #ClientiDoppiInAppoPIVA + from C6stagingPeriodico.APPO_CONTRATTI a + where a.rete+a.COD_FISCALE in (select rete+piva from #doppiPIVA) + select rete,piva + into #ClientiNONInAppoPIVA + from #doppiPIVA where rete+piva not in (select rete+COD_FISCALE from #ClientiDoppiInAppoPIVA) + delete from C6STAGINGPERIODICO.RP_InfoCliente where rete+pIva in (select rete+piva from #ClientiNONInAppoPIVA) + --else + select distinct appo.rete,appo.COD_FISCALE,appo.chiaveclientepb + into #ClientiChiaveClienteGiustaPIVA + from C6STAGINGPERIODICO.RP_InfoCliente info inner join + C6StagingPeriodico.appo_contratti appo on info.rete = appo.rete and info.piva=appo.cod_fiscale +where info.rete + info.piva in (select rete+cod_fiscale from #ClientiDoppiInAppoPIVA) +-- select * from #ClientiChiaveClienteGiustaPIVA where cod_fiscale in ( +-- '02477630582', +--'05267780962') +select rete,piva,chiaveClientePB + into #ClientiChiaveClienteGiustaESbagliataPIVA +FROM C6STAGINGPERIODICO.RP_InfoCliente +where rete+piva in (select rete+cod_fiscale from #ClientiChiaveClienteGiustaPIVA) +-- select * from #ClientiChiaveClienteGiustaESbagliataPIVA where piva in ( +-- '02477630582', +--'05267780962') +select rete,piva,chiaveclientePB +into #ClientiChiaveSbagliataPIVA +from #ClientiChiaveClienteGiustaESbagliataPIVA where +rete+piva in (select rete+cod_fiscale from #ClientiChiaveClienteGiustaPIVA) +and chiaveClientePB not in (select chiaveClientePB from #ClientiChiaveClienteGiustaPIVA) +--select * from #ClientiChiaveSbagliataPIVA +delete from C6STAGINGPERIODICO.RP_InfoCliente +where rete+piva+cast(chiaveClientePB as varchar) in (select rete+piva+cast(chiaveClientePB as varchar) from #ClientiChiaveSbagliataPIVA) + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_BonificaClientiDoppi' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_BonificaClientiDoppi' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_CONSULENZA.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_CONSULENZA.sql new file mode 100644 index 00000000..ffe4e545 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_CONSULENZA.sql @@ -0,0 +1,140 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_CONSULENZA] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CONSULENZA', + GETDATE(), + 'Elaborazione Trimestrale' + ) + exec [dbo].[CreaTabellaBackUp] 'RP_CONSULENZA','C6StagingPeriodico' +TRUNCATE TABLE C6StagingPeriodico.[RP_CONSULENZA] +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,PosPor.conto + ,PosPor.rubricato + ,PosPor.codConf + ,PosPor.numPolizza + ,PosPor.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,POSITION_ID = '' + ,termId + ,anno + ,prog + ,pro.chiavePtfMod + ,orizzonteTemporale + INTO #ConsulenzaPianificazione +FROM + C6StagingPeriodico.RP_Pianificazione AS pian + INNER JOIN C6StagingPeriodico.RP_Progetto AS pro + ON pian.chiaveConsulenza = pro.chiaveConsulenza + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello pirmod + ON pro.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6StagingPeriodico.RP_PosizioniPortafoglio AS pospor + ON pro.chiaveProgetto = pospor.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_DettaglioPosizionePortafoglio AS dettposport + ON pospor.chiavePosizionePtf = dettposport.chiavePosizionePtf + INNER JOIN C6StagingPeriodico.RP_CatalogoProdotti AS catprod + ON pospor.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6StagingPeriodico.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON pian.chiaveClientePB = contr.chiaveClientePB + WHERE + pospor.dtFineValidita > getdate() + AND pro.dtfinevalidita='99991231' + AND pirmod.dtfinevalidita='99991231' + --AND INVIOBENVENUTO = 'N' +--ricerco dati da Migrazione +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + --,mig.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,promig.chiaveProgetto + ,promig.area + ,promig.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,MigPos.conto + ,MigPos.rubricato + ,MigPos.codConf + ,MigPos.numPolizza + ,MigPos.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,POSITION_ID = '' + ,migpos.termId + ,migpos.anno + ,migpos.prog + ,null as orizzonteTemporale + ,promig.chiavePtfMod +INTO #ConsulenzaMigrazione +FROM + C6StagingPeriodico.RP_Migraz_Pianificazione AS mig + INNER JOIN C6StagingPeriodico.RP_Migraz_Progetto AS promig + ON mig.chiaveconsulenza = promig.chiaveconsulenza + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello pirmod + ON promig.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6StagingPeriodico.RP_Migraz_Posizioni AS migpos + ON promig.chiaveprogetto = migpos.chiaveprogetto + INNER JOIN C6StagingPeriodico.RP_CatalogoProdotti AS catprod + ON migpos.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6StagingPeriodico.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON mig.chiaveClientePB = contr.chiaveClientePB + LEFT JOIN #ConsulenzaPianificazione tc + ON mig.chiaveClientePB = tc.chiaveClientePB + WHERE + pirmod.dtfinevalidita='99991231' + AND migpos.dtFineValidita > getdate() + AND tc.chiaveClientePB IS NULL + --AND INVIOBENVENUTO = 'N' +INSERT INTO C6StagingPeriodico.RP_Consulenza + SELECT * FROM #ConsulenzaPianificazione + UNION + SELECT * FROM #ConsulenzaMigrazione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CONSULENZA' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_CONSULENZA_pre_selective.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_CONSULENZA_pre_selective.sql new file mode 100644 index 00000000..47472ba0 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_CONSULENZA_pre_selective.sql @@ -0,0 +1,137 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_CONSULENZA_pre_selective] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CONSULENZA_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) +TRUNCATE TABLE C6StagingPeriodico.[RP_CONSULENZA] +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,PosPor.conto + ,PosPor.rubricato + ,PosPor.codConf + ,PosPor.numPolizza + ,PosPor.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,POSITION_ID = '' + ,termId + ,anno + ,prog + ,orizzonteTemporale + INTO #ConsulenzaPianificazione +FROM + C6StagingPeriodico.RP_Pianificazione AS pian + INNER JOIN C6StagingPeriodico.RP_Progetto AS pro + ON pian.chiaveConsulenza = pro.chiaveConsulenza + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello pirmod + ON pro.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6StagingPeriodico.RP_PosizioniPortafoglio AS pospor + ON pro.chiaveProgetto = pospor.chiaveProgetto + INNER JOIN C6StagingPeriodico.RP_DettaglioPosizionePortafoglio AS dettposport + ON pospor.chiavePosizionePtf = dettposport.chiavePosizionePtf + INNER JOIN C6StagingPeriodico.RP_CatalogoProdotti AS catprod + ON pospor.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6StagingPeriodico.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON pian.chiaveClientePB = contr.chiaveClientePB + WHERE + pospor.dtFineValidita > getdate() + AND pro.dtfinevalidita='99991231' + AND pirmod.dtfinevalidita='99991231' + --AND INVIOBENVENUTO = 'N' +--ricerco dati da Migrazione +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pirmod.nomeProgetto + --,mig.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,promig.chiaveProgetto + ,promig.area + ,promig.tipoProgetto + ,catprod.azob as StrType + ,catprod.Complessita + ,emit.Descrizione AS DescrizioneEmittente + ,MigPos.conto + ,MigPos.rubricato + ,MigPos.codConf + ,MigPos.numPolizza + ,MigPos.custGar + ,catprod.TipoProdotto + ,catprod.CodSottoprodotto + ,catprod.CodInterno + ,catprod.CodMaf + ,catprod.CodIsin + ,POSITION_ID = '' + ,migpos.termId + ,migpos.anno + ,migpos.prog + ,null as orizzonteTemporale +INTO #ConsulenzaMigrazione +FROM + C6StagingPeriodico.RP_Migraz_Pianificazione AS mig + INNER JOIN C6StagingPeriodico.RP_Migraz_Progetto AS promig + ON mig.chiaveconsulenza = promig.chiaveconsulenza + INNER JOIN C6StagingPeriodico.RP_ProgettiPiramideModello pirmod + ON promig.chiaveprogettoMod=pirmod.chiaveprogettomod + INNER JOIN C6StagingPeriodico.RP_Migraz_Posizioni AS migpos + ON promig.chiaveprogetto = migpos.chiaveprogetto + INNER JOIN C6StagingPeriodico.RP_CatalogoProdotti AS catprod + ON migpos.chiaveProdotto = catprod.ChiaveProdotto + LEFT JOIN C6StagingPeriodico.RP_AnEmittente emit + ON catprod.emittente=emit.emittente + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON mig.chiaveClientePB = contr.chiaveClientePB + LEFT JOIN #ConsulenzaPianificazione tc + ON mig.chiaveClientePB = tc.chiaveClientePB + WHERE + pirmod.dtfinevalidita='99991231' + AND migpos.dtFineValidita > getdate() + AND tc.chiaveClientePB IS NULL + --AND INVIOBENVENUTO = 'N' +INSERT INTO C6StagingPeriodico.RP_Consulenza + SELECT * FROM #ConsulenzaPianificazione + UNION + SELECT * FROM #ConsulenzaMigrazione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CONSULENZA_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CONSULENZA_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALE.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALE.sql new file mode 100644 index 00000000..186ef69f --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALE.sql @@ -0,0 +1,81 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_CONTRATTIPRETRIMESTRALE] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CONTRATTIPRETRIMESTRALE', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE EsclusioneContrattiPerQuadratura +TRUNCATE TABLE C6StagingPeriodico.ContrattiPreTrimestrale +INSERT INTO C6StagingPeriodico.ContrattiPreTrimestrale +SELECT + v.chiaveclientepb, + [Cod_Fiscale], + [Cod_Mandato], + [PIva_Fiduciaria], + [Cod_Agente], + [Rete], + [CodiceContratto], + [FlagROL], + [Indirizzo], + [CAP], + [Citta], + [Provincia], + [Nazione], + [Presso], + [Email], + NULL AS Freq_Diagnosi, -- Il diagnosi non esiste più per il Pricing + [FREQ_MONITORAGGIO], + GENERAZIONEREPORT, + DATA_INIZIOBASE, + DATA_FINEBASE, + DATA_PERF_BASE, + DATA_PERF, + DATA_INZIOAVANZATO, + DATA_FINEAVANZATO, + RIATTIVAZIONE, + CASE WHEN m.TIP_CONTRATTO=3 THEN 3 ELSE 2 END AS TIP_CONTRATTO,-- Tutti i report di MOnitoraggio sostituiti con il Monitoraggio Private + TIP_RIATTIVAZIONE, + ClienteMIGRATO, + RISORSENA, + PROFILOATTIVO, + NumSolleciti, + NumRevoche, + Data_ultimoSollecito, + Data_ultimaRevoca, + InvioBenvenuto +FROM + [C6Mart].[vContratti] v + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] m + ON v.chiaveclientepb = m.chiaveclientepb +-- Modifica del 1/12/2016 - non esiste più il contratto di quel pb. Lasciare la where causa uno scarto nella generazione della appo_contratti +-- modifica del 5/12/2016 - segnalata squadratura con capgemini: quindi sembra un agente fittizio; ripristino +WHERE + codicecontratto <> '390026CO101' and cod_agente <> '015312' --MRRRRT78S30L219K cliente di prova +-- fine modifica del 5/12/2016 +-- Fine Modifica del 1/12/2016 +--aggiornamento 28/11/2022 +update C6StagingPeriodico.ContrattiPreTrimestrale +set COD_MANDATO='' +where COD_MANDATO is null +--fine aggiornamento 28/11/2022 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CONTRATTIPRETRIMESTRALE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CONTRATTIPRETRIMESTRALE' + ) \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALEFINETRIMESTRE.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALEFINETRIMESTRE.sql new file mode 100644 index 00000000..5d1946b3 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_CONTRATTIPRETRIMESTRALEFINETRIMESTRE.sql @@ -0,0 +1,72 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_CONTRATTIPRETRIMESTRALEFINETRIMESTRE] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CONTRATTIPRETRIMESTRALEFINETRIMESTRE', + GETDATE(), + 'Elaborazione trimestrale' + ) +--TRUNCATE TABLE EsclusioneContrattiPerQuadratura +TRUNCATE TABLE C6StagingPeriodico.ContrattiPreTrimestraleFineTrimestre +INSERT INTO C6StagingPeriodico.ContrattiPreTrimestraleFineTrimestre +SELECT + v.chiaveclientepb, + [Cod_Fiscale], + [Cod_Mandato], + [PIva_Fiduciaria], + [Cod_Agente], + [Rete], + [CodiceContratto], + [FlagROL], + [Indirizzo], + [CAP], + [Citta], + [Provincia], + [Nazione], + [Presso], + [Email], + [Freq_Diagnosi], + [FREQ_MONITORAGGIO], + GENERAZIONEREPORT, + DATA_INIZIOBASE, + DATA_FINEBASE, + DATA_PERF_BASE, + DATA_PERF, + DATA_INZIOAVANZATO, + DATA_FINEAVANZATO, + RIATTIVAZIONE, + m.TIP_CONTRATTO, + TIP_RIATTIVAZIONE, + ClienteMIGRATO, + RISORSENA, + PROFILOATTIVO, + NumSolleciti, + NumRevoche, + Data_ultimoSollecito, + Data_ultimaRevoca, + InvioBenvenuto +FROM + [C6Mart].[vContratti] v + INNER JOIN [C6Mart].[CONTRATTOSEI_METADATI] m + ON v.chiaveclientepb = m.chiaveclientepb +WHERE + codicecontratto <> '390026CO101' and cod_agente <> '015312' --MRRRRT78S30L219K cliente di prova + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CONTRATTIPRETRIMESTRALE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CONTRATTIPRETRIMESTRALE' + ) \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID.sql new file mode 100644 index 00000000..d232ab64 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID.sql @@ -0,0 +1,285 @@ +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6StagingPeriodico].[RP_ST_CREA_POSITIONID] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --******************************************************************************************** +--select * from c6stagingperiodico.rp_catalogoprodotti +-- FC 05052014 +-- Interventi : + -- Eliminata ( commentata ) where condition spb.positionid is null + -- Eliminato ( commentato ) ciclo While @Visible +update C6StagingPeriodico.SPB_CONTR_SINTESI +set positionid = null + declare @visible int + set @visible = 1 +-- while @visible >= 0 +-- begin + update C6StagingPeriodico.SPB_CONTR_SINTESI + set positionid = catalogueid + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB inner join + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = @visible + )CAT + on + --caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192','V301','V302') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161213 + --and spb.CODINT not in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + --and spb.CODINT not in ('RS','RB','RM','RV','RE') + and spb.CODINT not in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --fine INTERVENTO 'RF/MP' - 20171204 +--fine INTERVENTO 'RE' - 20161213 +--fine intervento MIGRAZIONE ASU3 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) +--inizio intervento MIGRAZIONE ASU3 + or + --caso 1a +--inizio INTERVENTO 'RE' - 20161213 + --(spb.CODINT in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + -- (spb.CODINT in ('RS','RB','RM','RV','RE') + + (spb.CODINT in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') + --fine INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +--fine intervento MIGRAZIONE ASU3 + or + --else caso 1b + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192','V301','V302') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and cat.TIPOPRODOTTO = SPB.TipProd + ) + or + --caso 2 +-- (SPB.TipProd in ('ASU2') + (SPB.TipProd in ('ASU2','GP') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end + ) + or + --caso 3 + (SPB.TipProd in ('DT','ASD') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + ) + or + --caso 4 + (SPB.TipProd in ('GES') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODMAF,'') = isnull(spb.MAF,'') + ) +-- --caso 5 +-- or +-- (SPB.isin = 'EURO00000009' +-- and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') +-- and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') +-- and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +-- ) +-- where spb.positionid is null +-- set @visible = @visible - 1 +-- end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' + ) + --******************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + -- drop table #TAB1 + SELECT distinct + TIPPROD, + CODINT, + MAF, + CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END AS CODISIN, + SUBPROD, + POSITIONID, + RETE, + codfis + INTO #TAB1 + FROM C6StagingPeriodico.SPB_CONTR_SINTESI where POSITIONID IS NULL + UPDATE #TAB1 + SET POSITIONID = C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPPROD, + CODINT, + MAF, + CODISIN, + SUBPROD + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = t.POSITIONID + FROM C6StagingPeriodico.SPB_CONTR_SINTESI c + inner join #TAB1 t + ON isnull(t.TIPPROD,'')=isnull(c.TIPPROD,'') + AND isnull(t.CODINT,'')=isnull(c.CODINT,'') + AND isnull(t.MAF,'')=isnull(c.MAF,'') + AND t.CODISIN = CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END + AND isnull(t.SUBPROD,'')=isnull(c.SUBPROD,'') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' + ) + --********************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = POSITIONID + dbo.Crea_positionID + ( + TIPPROD, + CODINT, + MAF, + '', + SUBPROD, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + trim(NUMPOL), +-- case when codint='IE' then ltrim(NUMPOL) else NUMPOL end, + CONTO, + RUBR, + CUSTGAR, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + WHERE POSITIONID IS NOT NULL + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, codfis, 'SPB_CONTR_SINTESI.POSITIONID IS NULL' + FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE ISNULL(POSITIONID,'') ='' + GROUP BY RETE, codfis + --SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE isnull(POSITIONID,'') = '' + --IF @CNTNULL > 0 + -- RAISERROR ('SPB_CONTR_SINTESI.POSITIONID IS NULL', 16, 1 ) +-- UPDATE +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- SET +-- POSITIONID = +---- CASE +---- WHEN TIPPROD = 'CC' THEN '' --MODIFICA TRINGALI +---- ELSE +-- [C6StagingPeriodico].[RP_Info_DaProdottoCSaCatalogo] --dbo.Info_DaProdottoCSaCatalogo +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- --V ISIN per ASU2 +-- CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END, +-- SUBPROD +-- ) +-- --END +-- + +-- dbo.Crea_positionID +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- '', +-- SUBPROD, +-- CODCONF, -- VERIFICARNE LA CORRETTEZZA +-- NUMPOL, +-- CONTO, +-- RUBR, +-- CUSTGAR, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) +-- END +-- ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20161213.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20161213.sql new file mode 100644 index 00000000..5059b140 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20161213.sql @@ -0,0 +1,270 @@ +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6StagingPeriodico].[RP_ST_CREA_POSITIONID_20161213] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --******************************************************************************************** +--select * from c6stagingperiodico.rp_catalogoprodotti +-- FC 05052014 +-- Interventi : + -- Eliminata ( commentata ) where condition spb.positionid is null + -- Eliminato ( commentato ) ciclo While @Visible +update C6StagingPeriodico.SPB_CONTR_SINTESI +set positionid = null + declare @visible int + set @visible = 1 +-- while @visible >= 0 +-- begin + update C6StagingPeriodico.SPB_CONTR_SINTESI + set positionid = catalogueid + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB inner join + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = @visible + )CAT + on + --caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') +--inizio intervento MIGRAZIONE ASU3 + and spb.CODINT not in ('RS','RB','RM','RV') +--fine intervento MIGRAZIONE ASU3 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) +--inizio intervento MIGRAZIONE ASU3 + or + --caso 1a + (spb.CODINT in ('RS','RB','RM','RV') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +--fine intervento MIGRAZIONE ASU3 + or + --else caso 1b + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and cat.TIPOPRODOTTO = SPB.TipProd + ) + or + --caso 2 +-- (SPB.TipProd in ('ASU2') + (SPB.TipProd in ('ASU2','GP') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end + ) + or + --caso 3 + (SPB.TipProd in ('DT','ASD') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + ) + or + --caso 4 + (SPB.TipProd in ('GES') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODMAF,'') = isnull(spb.MAF,'') + ) +-- --caso 5 +-- or +-- (SPB.isin = 'EURO00000009' +-- and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') +-- and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') +-- and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +-- ) +-- where spb.positionid is null +-- set @visible = @visible - 1 +-- end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' + ) + --******************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + -- drop table #TAB1 + SELECT distinct + TIPPROD, + CODINT, + MAF, + CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END AS CODISIN, + SUBPROD, + POSITIONID, + RETE, + codfis + INTO #TAB1 + FROM C6StagingPeriodico.SPB_CONTR_SINTESI where POSITIONID IS NULL + UPDATE #TAB1 + SET POSITIONID = C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPPROD, + CODINT, + MAF, + CODISIN, + SUBPROD + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = t.POSITIONID + FROM C6StagingPeriodico.SPB_CONTR_SINTESI c + inner join #TAB1 t + ON isnull(t.TIPPROD,'')=isnull(c.TIPPROD,'') + AND isnull(t.CODINT,'')=isnull(c.CODINT,'') + AND isnull(t.MAF,'')=isnull(c.MAF,'') + AND t.CODISIN = CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END + AND isnull(t.SUBPROD,'')=isnull(c.SUBPROD,'') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' + ) + --********************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = POSITIONID + dbo.Crea_positionID + ( + TIPPROD, + CODINT, + MAF, + '', + SUBPROD, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + NUMPOL, + CONTO, + RUBR, + CUSTGAR, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + WHERE POSITIONID IS NOT NULL + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, codfis, 'SPB_CONTR_SINTESI.POSITIONID IS NULL' + FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE ISNULL(POSITIONID,'') ='' + GROUP BY RETE, codfis + --SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE isnull(POSITIONID,'') = '' + --IF @CNTNULL > 0 + -- RAISERROR ('SPB_CONTR_SINTESI.POSITIONID IS NULL', 16, 1 ) +-- UPDATE +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- SET +-- POSITIONID = +---- CASE +---- WHEN TIPPROD = 'CC' THEN '' --MODIFICA TRINGALI +---- ELSE +-- [C6StagingPeriodico].[RP_Info_DaProdottoCSaCatalogo] --dbo.Info_DaProdottoCSaCatalogo +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- --V ISIN per ASU2 +-- CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END, +-- SUBPROD +-- ) +-- --END +-- + +-- dbo.Crea_positionID +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- '', +-- SUBPROD, +-- CODCONF, -- VERIFICARNE LA CORRETTEZZA +-- NUMPOL, +-- CONTO, +-- RUBR, +-- CUSTGAR, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) +-- END +-- ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20171204_preRFMP.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20171204_preRFMP.sql new file mode 100644 index 00000000..9a1e4f44 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20171204_preRFMP.sql @@ -0,0 +1,276 @@ +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6StagingPeriodico].[RP_ST_CREA_POSITIONID_20171204_preRFMP] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --******************************************************************************************** +--select * from c6stagingperiodico.rp_catalogoprodotti +-- FC 05052014 +-- Interventi : + -- Eliminata ( commentata ) where condition spb.positionid is null + -- Eliminato ( commentato ) ciclo While @Visible +update C6StagingPeriodico.SPB_CONTR_SINTESI +set positionid = null + declare @visible int + set @visible = 1 +-- while @visible >= 0 +-- begin + update C6StagingPeriodico.SPB_CONTR_SINTESI + set positionid = catalogueid + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB inner join + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = @visible + )CAT + on + --caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161213 + --and spb.CODINT not in ('RS','RB','RM','RV') + and spb.CODINT not in ('RS','RB','RM','RV','RE') +--fine INTERVENTO 'RE' - 20161213 +--fine intervento MIGRAZIONE ASU3 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) +--inizio intervento MIGRAZIONE ASU3 + or + --caso 1a +--inizio INTERVENTO 'RE' - 20161213 + --(spb.CODINT in ('RS','RB','RM','RV') + (spb.CODINT in ('RS','RB','RM','RV','RE') +--FINE INTERVENTO 'RE' - 20161213 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +--fine intervento MIGRAZIONE ASU3 + or + --else caso 1b + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and cat.TIPOPRODOTTO = SPB.TipProd + ) + or + --caso 2 +-- (SPB.TipProd in ('ASU2') + (SPB.TipProd in ('ASU2','GP') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end + ) + or + --caso 3 + (SPB.TipProd in ('DT','ASD') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + ) + or + --caso 4 + (SPB.TipProd in ('GES') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODMAF,'') = isnull(spb.MAF,'') + ) +-- --caso 5 +-- or +-- (SPB.isin = 'EURO00000009' +-- and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') +-- and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') +-- and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +-- ) +-- where spb.positionid is null +-- set @visible = @visible - 1 +-- end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' + ) + --******************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + -- drop table #TAB1 + SELECT distinct + TIPPROD, + CODINT, + MAF, + CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END AS CODISIN, + SUBPROD, + POSITIONID, + RETE, + codfis + INTO #TAB1 + FROM C6StagingPeriodico.SPB_CONTR_SINTESI where POSITIONID IS NULL + UPDATE #TAB1 + SET POSITIONID = C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPPROD, + CODINT, + MAF, + CODISIN, + SUBPROD + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = t.POSITIONID + FROM C6StagingPeriodico.SPB_CONTR_SINTESI c + inner join #TAB1 t + ON isnull(t.TIPPROD,'')=isnull(c.TIPPROD,'') + AND isnull(t.CODINT,'')=isnull(c.CODINT,'') + AND isnull(t.MAF,'')=isnull(c.MAF,'') + AND t.CODISIN = CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END + AND isnull(t.SUBPROD,'')=isnull(c.SUBPROD,'') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' + ) + --********************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = POSITIONID + dbo.Crea_positionID + ( + TIPPROD, + CODINT, + MAF, + '', + SUBPROD, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + NUMPOL, + CONTO, + RUBR, + CUSTGAR, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + WHERE POSITIONID IS NOT NULL + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, codfis, 'SPB_CONTR_SINTESI.POSITIONID IS NULL' + FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE ISNULL(POSITIONID,'') ='' + GROUP BY RETE, codfis + --SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE isnull(POSITIONID,'') = '' + --IF @CNTNULL > 0 + -- RAISERROR ('SPB_CONTR_SINTESI.POSITIONID IS NULL', 16, 1 ) +-- UPDATE +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- SET +-- POSITIONID = +---- CASE +---- WHEN TIPPROD = 'CC' THEN '' --MODIFICA TRINGALI +---- ELSE +-- [C6StagingPeriodico].[RP_Info_DaProdottoCSaCatalogo] --dbo.Info_DaProdottoCSaCatalogo +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- --V ISIN per ASU2 +-- CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END, +-- SUBPROD +-- ) +-- --END +-- + +-- dbo.Crea_positionID +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- '', +-- SUBPROD, +-- CODCONF, -- VERIFICARNE LA CORRETTEZZA +-- NUMPOL, +-- CONTO, +-- RUBR, +-- CUSTGAR, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) +-- END +-- ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20190725.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20190725.sql new file mode 100644 index 00000000..343d4363 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID_20190725.sql @@ -0,0 +1,282 @@ +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6StagingPeriodico].[RP_ST_CREA_POSITIONID_20190725] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --******************************************************************************************** +--select * from c6stagingperiodico.rp_catalogoprodotti +-- FC 05052014 +-- Interventi : + -- Eliminata ( commentata ) where condition spb.positionid is null + -- Eliminato ( commentato ) ciclo While @Visible +update C6StagingPeriodico.SPB_CONTR_SINTESI +set positionid = null + declare @visible int + set @visible = 1 +-- while @visible >= 0 +-- begin + update C6StagingPeriodico.SPB_CONTR_SINTESI + set positionid = catalogueid + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB inner join + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = @visible + )CAT + on + --caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161213 + --and spb.CODINT not in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + --and spb.CODINT not in ('RS','RB','RM','RV','RE') + and spb.CODINT not in ('RS','RB','RM','RV','RE','RF') + --fine INTERVENTO 'RF/MP' - 20171204 +--fine INTERVENTO 'RE' - 20161213 +--fine intervento MIGRAZIONE ASU3 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) +--inizio intervento MIGRAZIONE ASU3 + or + --caso 1a +--inizio INTERVENTO 'RE' - 20161213 + --(spb.CODINT in ('RS','RB','RM','RV') + --inizio INTERVENTO 'RF/MP' - 20171204 + -- (spb.CODINT in ('RS','RB','RM','RV','RE') + + (spb.CODINT in ('RS','RB','RM','RV','RE','RF') + --fine INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +--fine intervento MIGRAZIONE ASU3 + or + --else caso 1b + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and cat.TIPOPRODOTTO = SPB.TipProd + ) + or + --caso 2 +-- (SPB.TipProd in ('ASU2') + (SPB.TipProd in ('ASU2','GP') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end + ) + or + --caso 3 + (SPB.TipProd in ('DT','ASD') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + ) + or + --caso 4 + (SPB.TipProd in ('GES') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODMAF,'') = isnull(spb.MAF,'') + ) +-- --caso 5 +-- or +-- (SPB.isin = 'EURO00000009' +-- and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') +-- and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') +-- and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +-- ) +-- where spb.positionid is null +-- set @visible = @visible - 1 +-- end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' + ) + --******************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + -- drop table #TAB1 + SELECT distinct + TIPPROD, + CODINT, + MAF, + CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END AS CODISIN, + SUBPROD, + POSITIONID, + RETE, + codfis + INTO #TAB1 + FROM C6StagingPeriodico.SPB_CONTR_SINTESI where POSITIONID IS NULL + UPDATE #TAB1 + SET POSITIONID = C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPPROD, + CODINT, + MAF, + CODISIN, + SUBPROD + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = t.POSITIONID + FROM C6StagingPeriodico.SPB_CONTR_SINTESI c + inner join #TAB1 t + ON isnull(t.TIPPROD,'')=isnull(c.TIPPROD,'') + AND isnull(t.CODINT,'')=isnull(c.CODINT,'') + AND isnull(t.MAF,'')=isnull(c.MAF,'') + AND t.CODISIN = CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END + AND isnull(t.SUBPROD,'')=isnull(c.SUBPROD,'') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' + ) + --********************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = POSITIONID + dbo.Crea_positionID + ( + TIPPROD, + CODINT, + MAF, + '', + SUBPROD, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + NUMPOL, + CONTO, + RUBR, + CUSTGAR, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + WHERE POSITIONID IS NOT NULL + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, codfis, 'SPB_CONTR_SINTESI.POSITIONID IS NULL' + FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE ISNULL(POSITIONID,'') ='' + GROUP BY RETE, codfis + --SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE isnull(POSITIONID,'') = '' + --IF @CNTNULL > 0 + -- RAISERROR ('SPB_CONTR_SINTESI.POSITIONID IS NULL', 16, 1 ) +-- UPDATE +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- SET +-- POSITIONID = +---- CASE +---- WHEN TIPPROD = 'CC' THEN '' --MODIFICA TRINGALI +---- ELSE +-- [C6StagingPeriodico].[RP_Info_DaProdottoCSaCatalogo] --dbo.Info_DaProdottoCSaCatalogo +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- --V ISIN per ASU2 +-- CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END, +-- SUBPROD +-- ) +-- --END +-- + +-- dbo.Crea_positionID +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- '', +-- SUBPROD, +-- CODCONF, -- VERIFICARNE LA CORRETTEZZA +-- NUMPOL, +-- CONTO, +-- RUBR, +-- CUSTGAR, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) +-- END +-- ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID_BK_eligoTitoli.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID_BK_eligoTitoli.sql new file mode 100644 index 00000000..8dba037d --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID_BK_eligoTitoli.sql @@ -0,0 +1,258 @@ +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[RP_ST_CREA_POSITIONID_BK_eligoTitoli] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --******************************************************************************************** +--select * from c6stagingperiodico.rp_catalogoprodotti +-- FC 05052014 +-- Interventi : + -- Eliminata ( commentata ) where condition spb.positionid is null + -- Eliminato ( commentato ) ciclo While @Visible +update C6StagingPeriodico.SPB_CONTR_SINTESI +set positionid = null + declare @visible int + set @visible = 1 +-- while @visible >= 0 +-- begin + update C6StagingPeriodico.SPB_CONTR_SINTESI + set positionid = catalogueid + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB inner join + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = @visible + )CAT + on + --caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) + or + --else caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and cat.TIPOPRODOTTO = SPB.TipProd + ) + or + --caso 2 +-- (SPB.TipProd in ('ASU2') + (SPB.TipProd in ('ASU2','GP') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end + ) + or + --caso 3 + (SPB.TipProd in ('DT','ASD') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + ) + or + --caso 4 + (SPB.TipProd in ('GES') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODMAF,'') = isnull(spb.MAF,'') + ) +-- --caso 5 +-- or +-- (SPB.isin = 'EURO00000009' +-- and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') +-- and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') +-- and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +-- ) +-- where spb.positionid is null +-- set @visible = @visible - 1 +-- end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_1' + ) + --******************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + -- drop table #TAB1 + SELECT distinct + TIPPROD, + CODINT, + MAF, + CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END AS CODISIN, + SUBPROD, + POSITIONID, + RETE, + codfis + INTO #TAB1 + FROM C6StagingPeriodico.SPB_CONTR_SINTESI where POSITIONID IS NULL + UPDATE #TAB1 + SET POSITIONID = C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPPROD, + CODINT, + MAF, + CODISIN, + SUBPROD + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = t.POSITIONID + FROM C6StagingPeriodico.SPB_CONTR_SINTESI c + inner join #TAB1 t + ON isnull(t.TIPPROD,'')=isnull(c.TIPPROD,'') + AND isnull(t.CODINT,'')=isnull(c.CODINT,'') + AND isnull(t.MAF,'')=isnull(c.MAF,'') + AND t.CODISIN = CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END + AND isnull(t.SUBPROD,'')=isnull(c.SUBPROD,'') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_2' + ) + --********************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = POSITIONID + dbo.Crea_positionID + ( + TIPPROD, + CODINT, + MAF, + '', + SUBPROD, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + NUMPOL, + CONTO, + RUBR, + CUSTGAR, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + WHERE POSITIONID IS NOT NULL + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, codfis, 'SPB_CONTR_SINTESI.POSITIONID IS NULL' + FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE ISNULL(POSITIONID,'') ='' + GROUP BY RETE, codfis + --SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE isnull(POSITIONID,'') = '' + --IF @CNTNULL > 0 + -- RAISERROR ('SPB_CONTR_SINTESI.POSITIONID IS NULL', 16, 1 ) +-- UPDATE +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- SET +-- POSITIONID = +---- CASE +---- WHEN TIPPROD = 'CC' THEN '' --MODIFICA TRINGALI +---- ELSE +-- [C6StagingPeriodico].[RP_Info_DaProdottoCSaCatalogo] --dbo.Info_DaProdottoCSaCatalogo +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- --V ISIN per ASU2 +-- CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END, +-- SUBPROD +-- ) +-- --END +-- + +-- dbo.Crea_positionID +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- '', +-- SUBPROD, +-- CODCONF, -- VERIFICARNE LA CORRETTEZZA +-- NUMPOL, +-- CONTO, +-- RUBR, +-- CUSTGAR, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) +-- END +-- ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_3' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID_pre_selective.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID_pre_selective.sql new file mode 100644 index 00000000..db505697 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_CREA_POSITIONID_pre_selective.sql @@ -0,0 +1,276 @@ +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +CREATE procedure [C6StagingPeriodico].[RP_ST_CREA_POSITIONID_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_pre_selective_1', + GETDATE(), + 'Elaborazione trimestrale' + ) + --******************************************************************************************** +--select * from c6stagingperiodico.rp_catalogoprodotti +-- FC 05052014 +-- Interventi : + -- Eliminata ( commentata ) where condition spb.positionid is null + -- Eliminato ( commentato ) ciclo While @Visible +update C6StagingPeriodico.SPB_CONTR_SINTESI +set positionid = null + declare @visible int + set @visible = 1 +-- while @visible >= 0 +-- begin + update C6StagingPeriodico.SPB_CONTR_SINTESI + set positionid = catalogueid + FROM + C6StagingPeriodico.SPB_CONTR_SINTESI SPB inner join + ( + select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = @visible + )CAT + on + --caso 1 + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') +--inizio intervento MIGRAZIONE ASU3 +--inizio INTERVENTO 'RE' - 20161213 + --and spb.CODINT not in ('RS','RB','RM','RV') + and spb.CODINT not in ('RS','RB','RM','RV','RE') +--fine INTERVENTO 'RE' - 20161213 +--fine intervento MIGRAZIONE ASU3 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) +--inizio intervento MIGRAZIONE ASU3 + or + --caso 1a +--inizio INTERVENTO 'RE' - 20161213 + --(spb.CODINT in ('RS','RB','RM','RV') + (spb.CODINT in ('RS','RB','RM','RV','RE') +--FINE INTERVENTO 'RE' - 20161213 + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')) + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +--fine intervento MIGRAZIONE ASU3 + or + --else caso 1b + (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC') + and SPB.subprod in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and cat.TIPOPRODOTTO = SPB.TipProd + ) + or + --caso 2 +-- (SPB.TipProd in ('ASU2') + (SPB.TipProd in ('ASU2','GP') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') + and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end + ) + or + --caso 3 + (SPB.TipProd in ('DT','ASD') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + ) + or + --caso 4 + (SPB.TipProd in ('GES') + and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') + and isnull(cat.CODMAF,'') = isnull(spb.MAF,'') + ) +-- --caso 5 +-- or +-- (SPB.isin = 'EURO00000009' +-- and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'') +-- and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'') +-- and isnull(cat.codisin,'') = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end +-- ) +-- where spb.positionid is null +-- set @visible = @visible - 1 +-- end + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_pre_selective_1' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_pre_selective_1' + ) + --******************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_pre_selective_2', + GETDATE(), + 'Elaborazione trimestrale' + ) + -- drop table #TAB1 + SELECT distinct + TIPPROD, + CODINT, + MAF, + CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END AS CODISIN, + SUBPROD, + POSITIONID, + RETE, + codfis + INTO #TAB1 + FROM C6StagingPeriodico.SPB_CONTR_SINTESI where POSITIONID IS NULL + UPDATE #TAB1 + SET POSITIONID = C6STAGINGPERIODICO.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPPROD, + CODINT, + MAF, + CODISIN, + SUBPROD + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = t.POSITIONID + FROM C6StagingPeriodico.SPB_CONTR_SINTESI c + inner join #TAB1 t + ON isnull(t.TIPPROD,'')=isnull(c.TIPPROD,'') + AND isnull(t.CODINT,'')=isnull(c.CODINT,'') + AND isnull(t.MAF,'')=isnull(c.MAF,'') + AND t.CODISIN = CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END + AND isnull(t.SUBPROD,'')=isnull(c.SUBPROD,'') + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_pre_selective_2' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_pre_selective_2' + ) + --********************************************************************************************** + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_CREA_POSITIONID_pre_selective_3', + GETDATE(), + 'Elaborazione trimestrale' + ) + UPDATE C6StagingPeriodico.SPB_CONTR_SINTESI + SET POSITIONID = POSITIONID + dbo.Crea_positionID + ( + TIPPROD, + CODINT, + MAF, + '', + SUBPROD, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + NUMPOL, + CONTO, + RUBR, + CUSTGAR, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + WHERE POSITIONID IS NOT NULL + INSERT INTO C6MARTPERIODICO.TEST_QUALITY + SELECT RETE, codfis, 'SPB_CONTR_SINTESI.POSITIONID IS NULL' + FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE ISNULL(POSITIONID,'') ='' + GROUP BY RETE, codfis + --SELECT @CNT = COUNT(*) FROM C6StagingPeriodico.SPB_CONTR_SINTESI WHERE isnull(POSITIONID,'') = '' + --IF @CNTNULL > 0 + -- RAISERROR ('SPB_CONTR_SINTESI.POSITIONID IS NULL', 16, 1 ) +-- UPDATE +-- C6StagingPeriodico.SPB_CONTR_SINTESI +-- SET +-- POSITIONID = +---- CASE +---- WHEN TIPPROD = 'CC' THEN '' --MODIFICA TRINGALI +---- ELSE +-- [C6StagingPeriodico].[RP_Info_DaProdottoCSaCatalogo] --dbo.Info_DaProdottoCSaCatalogo +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- --V ISIN per ASU2 +-- CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END, +-- SUBPROD +-- ) +-- --END +-- + +-- dbo.Crea_positionID +-- ( +-- TIPPROD, +-- CODINT, +-- MAF, +-- '', +-- SUBPROD, +-- CODCONF, -- VERIFICARNE LA CORRETTEZZA +-- NUMPOL, +-- CONTO, +-- RUBR, +-- CUSTGAR, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) +-- END, +-- CASE +-- WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 +-- ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) +-- END +-- ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_CREA_POSITIONID_pre_selective_3' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_CREA_POSITIONID_pre_selective_3' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_PROGETTICLIENTE.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_PROGETTICLIENTE.sql new file mode 100644 index 00000000..bccbc106 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_PROGETTICLIENTE.sql @@ -0,0 +1,74 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_PROGETTICLIENTE] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PROGETTICLIENTE', + GETDATE(), + 'Elaborazione Trimestrale' + ) +TRUNCATE TABLE C6StagingPeriodico.[RP_PROGETTICLIENTE] +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto +INTO #ProgettiPianificazione +FROM + C6StagingPeriodico.RP_Pianificazione AS pian + INNER JOIN C6StagingPeriodico.RP_Progetto AS pro + ON pian.chiaveconsulenza = pro.chiaveconsulenza + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON pian.chiaveClientePB = contr.chiaveClientePB + WHERE + (pro.dtfinevalidita='99991231' or pro.dtfinevalidita is null) +--ricerco dati da Migrazione +SELECT + contr.chiaveClientePB + ,contr.rete + ,contr.cod_fiscale + ,promig.chiaveProgetto + ,promig.area + ,promig.tipoProgetto +INTO #ProgettiMigrazione +FROM + C6StagingPeriodico.RP_Migraz_Pianificazione AS mig + INNER JOIN C6StagingPeriodico.RP_Migraz_Progetto AS promig + ON mig.chiaveconsulenza = promig.chiaveconsulenza + LEFT JOIN #ProgettiPianificazione tc + ON mig.chiaveClientePB = tc.chiaveClientePB + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON mig.chiaveClientePB = contr.chiaveClientePB + WHERE + tc.chiaveClientePB IS NULL +INSERT INTO C6StagingPeriodico.RP_PROGETTICLIENTE + SELECT * FROM #ProgettiPianificazione + UNION + SELECT * FROM #ProgettiMigrazione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PROGETTICLIENTE' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_PROGETTICLIENTE' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_TEST_FC.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_TEST_FC.sql new file mode 100644 index 00000000..b4f23627 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_TEST_FC.sql @@ -0,0 +1,49 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_PROGETTICLIENTE_TEST_FC] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto +INTO #ProgettiPianificazione +FROM + C6StagingPeriodico.RP_Pianificazione AS pian + INNER JOIN C6StagingPeriodico.RP_Progetto AS pro + ON pian.chiaveconsulenza = pro.chiaveconsulenza + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON pian.chiaveClientePB = contr.chiaveClientePB + WHERE + (pro.dtfinevalidita='99991231' or pro.dtfinevalidita is null) +--ricerco dati da Migrazione +SELECT + contr.chiaveClientePB + ,contr.rete + ,contr.cod_fiscale + ,promig.chiaveProgetto + ,promig.area + ,promig.tipoProgetto +INTO #ProgettiMigrazione +FROM + C6StagingPeriodico.RP_Migraz_Pianificazione AS mig + INNER JOIN C6StagingPeriodico.RP_Migraz_Progetto AS promig + ON mig.chiaveconsulenza = promig.chiaveconsulenza + LEFT JOIN #ProgettiPianificazione tc + ON mig.chiaveClientePB = tc.chiaveClientePB + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON mig.chiaveClientePB = contr.chiaveClientePB + WHERE + tc.chiaveClientePB IS NULL +insert into C6StagingPeriodico.RP_PROGETTICLIENTE_TEST_FC + SELECT * FROM #ProgettiPianificazione + UNION + SELECT * FROM #ProgettiMigrazione +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_pre_selective.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_pre_selective.sql new file mode 100644 index 00000000..1f387a06 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_PROGETTICLIENTE_pre_selective.sql @@ -0,0 +1,74 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_PROGETTICLIENTE_pre_selective] +AS +BEGIN + -- riportare le logiche nelle rispettive sp di PL + SET NOCOUNT ON; + DECLARE @ID_ELAB INT + DECLARE @TIPO_ELAB VARCHAR(1) + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() + SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB() + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_PROGETTICLIENTE_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) +TRUNCATE TABLE C6StagingPeriodico.[RP_PROGETTICLIENTE] +SELECT + contr.chiaveClientePB --V usata per il join con la contratto_sei metadati per fare il filtro nella consulenza + ,contr.rete + ,contr.cod_fiscale + ,pro.chiaveProgetto + ,pro.area + ,pro.tipoProgetto +INTO #ProgettiPianificazione +FROM + C6StagingPeriodico.RP_Pianificazione AS pian + INNER JOIN C6StagingPeriodico.RP_Progetto AS pro + ON pian.chiaveconsulenza = pro.chiaveconsulenza + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON pian.chiaveClientePB = contr.chiaveClientePB + WHERE + (pro.dtfinevalidita='99991231' or pro.dtfinevalidita is null) +--ricerco dati da Migrazione +SELECT + contr.chiaveClientePB + ,contr.rete + ,contr.cod_fiscale + ,promig.chiaveProgetto + ,promig.area + ,promig.tipoProgetto +INTO #ProgettiMigrazione +FROM + C6StagingPeriodico.RP_Migraz_Pianificazione AS mig + INNER JOIN C6StagingPeriodico.RP_Migraz_Progetto AS promig + ON mig.chiaveconsulenza = promig.chiaveconsulenza + LEFT JOIN #ProgettiPianificazione tc + ON mig.chiaveClientePB = tc.chiaveClientePB + INNER JOIN C6MartPeriodico.RP_vContrattiPerGenerazioneReport contr + ON mig.chiaveClientePB = contr.chiaveClientePB + WHERE + tc.chiaveClientePB IS NULL +INSERT INTO C6StagingPeriodico.RP_PROGETTICLIENTE + SELECT * FROM #ProgettiPianificazione + UNION + SELECT * FROM #ProgettiMigrazione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_PROGETTICLIENTE_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_PROGETTICLIENTE_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_Parentela.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_Parentela.sql new file mode 100644 index 00000000..22f9b91f --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_Parentela.sql @@ -0,0 +1,40 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Parentela] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Parentela', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Parentela + --insert into C6StagingPeriodico.RP_Parentela + --select + --chiaveClientePB1, + --chiaveClientePB2, + --idParentela , + --dtMatrimonio , + --aCarico , + --dtCensimento , + --dtFine + -- from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Parentela + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Parentela' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'RP_ST_Parentela' + ) +end \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_Parentela_pre_selective.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_Parentela_pre_selective.sql new file mode 100644 index 00000000..2f48eb47 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_Parentela_pre_selective.sql @@ -0,0 +1,40 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_Parentela_pre_selective] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Parentela_pre_selective', + GETDATE(), + 'Elaborazione Trimestrale' + ) + truncate table C6StagingPeriodico.RP_Parentela + --insert into C6StagingPeriodico.RP_Parentela + --select + --chiaveClientePB1, + --chiaveClientePB2, + --idParentela , + --dtMatrimonio , + --aCarico , + --dtCensimento , + --dtFine + -- from [CONSUNI_PERIODICO].[consulenzaUnica].dbo.Parentela + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Parentela_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Parentela_pre_selective' + ) +end \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI.sql new file mode 100644 index 00000000..284ccbe4 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI.sql @@ -0,0 +1,792 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- Aggiunta GESTIONE Fogli V301 (Colaneri, 31/01/2019) +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + Declare @dtTrime as decimal; + Declare @dtTrimePrec as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + exec [dbo].[CreaTabellaBackUp] 'SPB_CONTR_SINTESI','C6StagingPeriodico' + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN] + ,[DIVISA] + ,[BASE_PREZZ]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + ,[DIVISA] + ,[BASE_PREZZ] + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192') + -- Modifica del 31/01/2019 AC + -- dalla WSEICS va esclusa anche la riga che riguarda il prodotto V301 (assimilato a L191 e L192). Questo tipo di prodotti viene caricato, come dettaglio, dalla WSEIGP (vedi ultime select) + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192', 'V301','V302','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') --aggiunto v302 16-05-2022 --aggiunto da 3A a 9M 25/07/2022 + -- Fine modifica del 31/01/2019 AC +--INIZIO INTERVENTO MIGRAZIONE ASU3 +--INIZIO INTERVENTO 'RE' - 20161213 + --AND CODINT NOT IN ('RS','RB','RV','RM') + --INIZIO INTERVENTO 'RF/MP' - 20171204 + --AND CODINT NOT IN ('RS','RB','RV','RM','RE') + AND CODINT NOT IN ('RS','RB','RV','RM','RE','RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M','IC')--aggiunto XP --aggiunto 3A a 9M 25/07/2022 + --FINE INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + ,UL.[DIVISA] + ,UL.[BASE_PREZZ] + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 +--INIZIO INTERVENTO MIGRAZIONE ASU3 +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'ASU1' AS TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,UL.ISINFIT AS ISIN + ,UL.[DIVISA] + ,UL.[BASE_PREZZ] + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.CODINT = UL.CODINT + AND CS.SUBPROD = UL.SUBPROD + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +--INIZIO INTERVENTO 'RE' - 20161213 + --AND UL.CODINT IN ('RS','RB','RV','RM') + --INIZIO INTERVENTO 'RF/MP' - 20171204 + --AND UL.CODINT IN ('RS','RB','RV','RM','RE') + AND UL.CODINT IN ('RS','RB','RV','RM','RE','RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M')--aggiunto 3A a 9M 25/07/2022 + --FINE INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 +AND C6.UltimoAperto = 1 +--FINE INTERVENTO MIGRAZIONE ASU3 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + ,UL.[DIVISA] + ,UL.[BASE_PREZZ] + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime ) AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = @dtTrime + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 +--inizio intervento per Omnia linea Self +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN + ,DIVISA + ,BASE_PREZZ +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + ,GP.[DIVISA] + ,GP.[BASE_PREZZ] + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192')) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN + ,DIVISA + ,BASE_PREZZ +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN + ,DIVISA + ,BASE_PREZZ +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + ,DIVISA + ,BASE_PREZZ + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192') + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +--fine intervento per Omnia linea Self +-- Modifica del 31/01/2019 AC prodotti MioFoglio +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN + ,DIVISA + ,BASE_PREZZ +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + ,GP.[DIVISA] + ,GP.[BASE_PREZZ] + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('V301','V302')) AS CS --aggiunto v302 16-05-2022 + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN + ,DIVISA + ,BASE_PREZZ +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN + ,DIVISA + ,BASE_PREZZ +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + ,DIVISA + ,BASE_PREZZ + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('V301','V302') --aggiunto v302 16/05/2022 + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +-- Fine Modifica del 31/01/2019 +--DELETE temporanea per S&M del 11-Mar-2020 +delete from [C6StagingPeriodico].[SPB_CONTR_SINTESI] +where codconf='71946795210' and codfis='VNZFLV60B48F205H'and codint='09506140' +--END DELETE +--inizio inserimento su testquality emanuele +--insert into c6martperiodico.test_quality +--select distinct rete, codfis, 'LINEA SELF ISIN A NULL SU TABELLA WSEIGP' from C6StagingPeriodico.WSEIGP where isin is null +--fine inserimento su testquality emanuele + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI2.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI2.sql new file mode 100644 index 00000000..70124f15 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI2.sql @@ -0,0 +1,301 @@ +--select count(*) from c6stagingperiodico.spb_contr_sintesi2 +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI2] +AS +BEGIN + --TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI2] + --INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI2] + -- ([POSITIONID] + -- ,[DTTRIM] + -- ,[DTRIFE] + -- ,[RETE] + -- ,[CODFIS] + -- ,[CODCONF] + -- ,[NUMPOL] + -- ,[CONTO] + -- ,[RUBR] + -- ,[CUSTGAR] + -- ,[TIPPROD] + -- ,[CODINT] + -- ,[CODPROD] + -- ,[SUBPROD] + -- ,[MAF] + -- ,[CODABI] + -- ,[PCTKEY] + -- ,[DESTIT] + -- ,[CTV] + -- ,[PARTVIA] + -- ,[PARTVIAAL] + -- ,[DTSOTTOS] + -- ,[RENDINIZ] + -- ,[RENDANNO] + -- ,[VALORE] + -- ,[SUBSET] + -- ,[CVN] + -- ,[SALRISC] + -- ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,C6.cod_fiscale AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + INTO #CS_MENO_K_L191 + FROM C6StagingPeriodico.WSEICS CS + JOIN C6StagingPeriodico.appo_contratti C6 + ON (case when cs.codman <> '' then 'FF@'+ cs.codman else cs.codfis end) = C6.COd_fiscale + AND CS.RETE = C6.RETE + AND CS.SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191') + AND CS.DTTRIM = c6martperiodico.gettrimestre2(getdate(),0) + SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,C6.cod_fiscale AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' else CUSTGAR end as custgar + ,CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + INTO #UL_1 + FROM C6StagingPeriodico.WSEICS CS + join C6StagingPeriodico.appo_contratti C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND CS.[DTTRIM] = c6martperiodico.gettrimestre2(getdate(),0) + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE + CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,C6.COd_fiscale AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' else CUSTGAR end as custgar + ,'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + INTO #UL_2 + FROM C6StagingPeriodico.WSEICS CS + join C6StagingPeriodico.appo_contratti C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND CS.DTTRIM = c6martperiodico.gettrimestre2(getdate(),0) + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE + ( + CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + ) +--inizio intervento per Omnia linea Self +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE WHEN CS.CODMAN ='' THEN CS.CODFIS ELSE 'FF@'+CS.CODMAN END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN = 'EURO00000009' and rubr =' ') then '000' else RUBR end as RUBR + ,case when (GP.ISIN = 'EURO00000009' and rubr =' ') then '0' else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,case when (GP.ISIN = 'EURO00000009' and rubr =' ') then '0' else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET + ,CVN + ,SALRISC + ,GP.ISIN + FROM C6StagingPeriodico.WSEICS CS + join C6StagingPeriodico.appo_contratto C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + and cs.DTTRIM = c6martperiodico.gettrimestre2(getdate(),0) + and cs.subprod = 'L191' + JOIN C6STAGINGPERIODICO.WSEIGP GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + and GP.ISIN is not null + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN + SELECT DISTINCT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,C6.COD_FISCALE AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + INTO #L191 + FROM C6StagingPeriodico.WSEICS CS + join C6StagingPeriodico.appo_contratti C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND CS.DTTRIM = c6martperiodico.gettrimestre2(getdate(),0) + and CS.subprod = 'L191' + and CS.partvia <> 0.00 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20161213.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20161213.sql new file mode 100644 index 00000000..862461c0 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20161213.sql @@ -0,0 +1,534 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20161213] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + Declare @dtTrime as decimal; + Declare @dtTrimePrec as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192') +--INIZIO INTERVENTO MIGRAZIONE ASU3 + AND CODINT NOT IN ('RS','RB','RV','RM') +--FINE INTERVENTO MIGRAZIONE ASU3 +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 +--INIZIO INTERVENTO MIGRAZIONE ASU3 +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'ASU1' AS TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,UL.ISINFIT AS ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.CODINT = UL.CODINT + AND CS.SUBPROD = UL.SUBPROD + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + AND UL.CODINT IN ('RS','RB','RV','RM') +AND C6.UltimoAperto = 1 +--FINE INTERVENTO MIGRAZIONE ASU3 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime ) AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = @dtTrime + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 +--inizio intervento per Omnia linea Self +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192')) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192') + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +--fine intervento per Omnia linea Self +--inizio inserimento su testquality emanuele +--insert into c6martperiodico.test_quality +--select distinct rete, codfis, 'LINEA SELF ISIN A NULL SU TABELLA WSEIGP' from C6StagingPeriodico.WSEIGP where isin is null +--fine inserimento su testquality emanuele + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20170407.SAVE.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20170407.SAVE.sql new file mode 100644 index 00000000..1dce0f0e --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20170407.SAVE.sql @@ -0,0 +1,540 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20170407.SAVE] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + Declare @dtTrime as decimal; + Declare @dtTrimePrec as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192') +--INIZIO INTERVENTO MIGRAZIONE ASU3 +--INIZIO INTERVENTO 'RE' - 20161213 + --AND CODINT NOT IN ('RS','RB','RV','RM') + AND CODINT NOT IN ('RS','RB','RV','RM','RE') +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 +--INIZIO INTERVENTO MIGRAZIONE ASU3 +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'ASU1' AS TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,UL.ISINFIT AS ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.CODINT = UL.CODINT + AND CS.SUBPROD = UL.SUBPROD + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +--INIZIO INTERVENTO 'RE' - 20161213 + --AND UL.CODINT IN ('RS','RB','RV','RM') + AND UL.CODINT IN ('RS','RB','RV','RM','RE') +--FINE INTERVENTO 'RE' - 20161213 +AND C6.UltimoAperto = 1 +--FINE INTERVENTO MIGRAZIONE ASU3 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime ) AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = @dtTrime + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 +--inizio intervento per Omnia linea Self +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192')) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192') + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +--fine intervento per Omnia linea Self +--inizio inserimento su testquality emanuele +--insert into c6martperiodico.test_quality +--select distinct rete, codfis, 'LINEA SELF ISIN A NULL SU TABELLA WSEIGP' from C6StagingPeriodico.WSEIGP where isin is null +--fine inserimento su testquality emanuele + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20171204_preRFMP.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20171204_preRFMP.sql new file mode 100644 index 00000000..487ace4f --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20171204_preRFMP.sql @@ -0,0 +1,540 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20171204_preRFMP] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + Declare @dtTrime as decimal; + Declare @dtTrimePrec as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192') +--INIZIO INTERVENTO MIGRAZIONE ASU3 +--INIZIO INTERVENTO 'RE' - 20161213 + --AND CODINT NOT IN ('RS','RB','RV','RM') + AND CODINT NOT IN ('RS','RB','RV','RM','RE') +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 +--INIZIO INTERVENTO MIGRAZIONE ASU3 +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'ASU1' AS TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,UL.ISINFIT AS ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.CODINT = UL.CODINT + AND CS.SUBPROD = UL.SUBPROD + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +--INIZIO INTERVENTO 'RE' - 20161213 + --AND UL.CODINT IN ('RS','RB','RV','RM') + AND UL.CODINT IN ('RS','RB','RV','RM','RE') +--FINE INTERVENTO 'RE' - 20161213 +AND C6.UltimoAperto = 1 +--FINE INTERVENTO MIGRAZIONE ASU3 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime ) AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = @dtTrime + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 +--inizio intervento per Omnia linea Self +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192')) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192') + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +--fine intervento per Omnia linea Self +--inizio inserimento su testquality emanuele +--insert into c6martperiodico.test_quality +--select distinct rete, codfis, 'LINEA SELF ISIN A NULL SU TABELLA WSEIGP' from C6StagingPeriodico.WSEIGP where isin is null +--fine inserimento su testquality emanuele + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql new file mode 100644 index 00000000..e53753d1 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio.sql @@ -0,0 +1,546 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + Declare @dtTrime as decimal; + Declare @dtTrimePrec as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192') +--INIZIO INTERVENTO MIGRAZIONE ASU3 +--INIZIO INTERVENTO 'RE' - 20161213 + --AND CODINT NOT IN ('RS','RB','RV','RM') + --INIZIO INTERVENTO 'RF/MP' - 20171204 + --AND CODINT NOT IN ('RS','RB','RV','RM','RE') + AND CODINT NOT IN ('RS','RB','RV','RM','RE','RF') + --FINE INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 +--INIZIO INTERVENTO MIGRAZIONE ASU3 +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'ASU1' AS TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,UL.ISINFIT AS ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.CODINT = UL.CODINT + AND CS.SUBPROD = UL.SUBPROD + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +--INIZIO INTERVENTO 'RE' - 20161213 + --AND UL.CODINT IN ('RS','RB','RV','RM') + --INIZIO INTERVENTO 'RF/MP' - 20171204 + --AND UL.CODINT IN ('RS','RB','RV','RM','RE') + AND UL.CODINT IN ('RS','RB','RV','RM','RE','RF') + --FINE INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 +AND C6.UltimoAperto = 1 +--FINE INTERVENTO MIGRAZIONE ASU3 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime ) AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = @dtTrime + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 +--inizio intervento per Omnia linea Self +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192')) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192') + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +--fine intervento per Omnia linea Self +--inizio inserimento su testquality emanuele +--insert into c6martperiodico.test_quality +--select distinct rete, codfis, 'LINEA SELF ISIN A NULL SU TABELLA WSEIGP' from C6StagingPeriodico.WSEIGP where isin is null +--fine inserimento su testquality emanuele + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190725.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190725.sql new file mode 100644 index 00000000..459cb0a0 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_20190725.sql @@ -0,0 +1,754 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- Aggiunta GESTIONE Fogli V301 (Colaneri, 31/01/2019) +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_20190725] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + Declare @dtTrime as decimal; + Declare @dtTrimePrec as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192') + -- Modifica del 31/01/2019 AC + -- dalla WSEICS va esclusa anche la riga che riguarda il prodotto V301 (assimilato a L191 e L192). Questo tipo di prodotti viene caricato, come dettaglio, dalla WSEIGP (vedi ultime select) + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192', 'V301') + -- Fine modifica del 31/01/2019 AC +--INIZIO INTERVENTO MIGRAZIONE ASU3 +--INIZIO INTERVENTO 'RE' - 20161213 + --AND CODINT NOT IN ('RS','RB','RV','RM') + --INIZIO INTERVENTO 'RF/MP' - 20171204 + --AND CODINT NOT IN ('RS','RB','RV','RM','RE') + AND CODINT NOT IN ('RS','RB','RV','RM','RE','RF') + --FINE INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 +--INIZIO INTERVENTO MIGRAZIONE ASU3 +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'ASU1' AS TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,UL.ISINFIT AS ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.CODINT = UL.CODINT + AND CS.SUBPROD = UL.SUBPROD + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +--INIZIO INTERVENTO 'RE' - 20161213 + --AND UL.CODINT IN ('RS','RB','RV','RM') + --INIZIO INTERVENTO 'RF/MP' - 20171204 + --AND UL.CODINT IN ('RS','RB','RV','RM','RE') + AND UL.CODINT IN ('RS','RB','RV','RM','RE','RF') + --FINE INTERVENTO 'RF/MP' - 20171204 +--FINE INTERVENTO 'RE' - 20161213 +AND C6.UltimoAperto = 1 +--FINE INTERVENTO MIGRAZIONE ASU3 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime ) AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = @dtTrime + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 +--inizio intervento per Omnia linea Self +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192')) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192') + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +--fine intervento per Omnia linea Self +-- Modifica del 31/01/2019 AC prodotti MioFoglio +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('V301')) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('V301') + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +-- Fine Modifica del 31/01/2019 +--inizio inserimento su testquality emanuele +--insert into c6martperiodico.test_quality +--select distinct rete, codfis, 'LINEA SELF ISIN A NULL SU TABELLA WSEIGP' from C6StagingPeriodico.WSEIGP where isin is null +--fine inserimento su testquality emanuele + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli.sql new file mode 100644 index 00000000..99e41c6a --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli.sql @@ -0,0 +1,472 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_BK_eligoTitoli] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + Declare @dtTrime as decimal; + Declare @dtTrimePrec as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191') +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime ) AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = @dtTrime + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 +--inizio intervento per Omnia linea Self +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN = 'EURO00000009' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN = 'EURO00000009' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN = 'EURO00000009' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod = 'L191') AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod = 'L191' + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +--fine intervento per Omnia linea Self +--inizio inserimento su testquality emanuele +--insert into c6martperiodico.test_quality +--select distinct rete, codfis, 'LINEA SELF ISIN A NULL SU TABELLA WSEIGP' from C6StagingPeriodico.WSEIGP where isin is null +--fine inserimento su testquality emanuele + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_pre_selective.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_pre_selective.sql new file mode 100644 index 00000000..756bcf2a --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_SPB_CONTR_SINTESI_pre_selective.sql @@ -0,0 +1,540 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014) +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) +-- FC 18/03/2014 Ottimizzazione tempi di esecuzione +-- Sostituzione in tutte le where condition +-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate() +-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) +-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) ) + Declare @dtTrime as decimal; + Declare @dtTrimePrec as decimal; + set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0)) + set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0)) + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') + --modifica Emanuele 20131112 + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7', 'L191', 'L192') +--INIZIO INTERVENTO MIGRAZIONE ASU3 +--INIZIO INTERVENTO 'RE' - 20161213 + --AND CODINT NOT IN ('RS','RB','RV','RM') + AND CODINT NOT IN ('RS','RB','RV','RM','RE') +--FINE INTERVENTO 'RE' - 20161213 +--FINE INTERVENTO MIGRAZIONE ASU3 +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 +--INIZIO INTERVENTO MIGRAZIONE ASU3 +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'ASU1' AS TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,UL.ISINFIT AS ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime) AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.CODINT = UL.CODINT + AND CS.SUBPROD = UL.SUBPROD + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] =@dtTrime + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112)--c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) +--INIZIO INTERVENTO 'RE' - 20161213 + --AND UL.CODINT IN ('RS','RB','RV','RM') + AND UL.CODINT IN ('RS','RB','RV','RM','RE') +--FINE INTERVENTO 'RE' - 20161213 +AND C6.UltimoAperto = 1 +--FINE INTERVENTO MIGRAZIONE ASU3 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM (select * from [C6StagingPeriodico].[WSEICS] +where [DTTRIM] = @dtTrime ) AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = @dtTrime + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 +--inizio intervento per Omnia linea Self +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,sum(CTV) as CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,sum(VALORE) as VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else CUSTGAR end as custgar + ,'GP' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF --UL.MAF + ,CODABI + ,case when (GP.ISIN in('EURO00000009', 'EURO10000007') and rubr =' ') then '0' + else PCTKEY end as pctkey + ,DESTIT + ,GP.CTV as CTV +--INIZIO LAST INTERVENTO OMNIA +-- ,PARTVIA +-- ,PARTVIAAL + ,0.00 AS PARTVIA + ,0 AS PARTVIAAL +--FINE LAST INTERVENTO OMNIA + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,GP.CTV AS VALORE + ,'' AS SUBSET --? + ,CVN + ,SALRISC + ,GP.ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192')) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIGP AS GP + ON CS.CODCONF = GP.CODCONF + AND CS.DTTRIM = GP.DTTRIM + AND CS.SUBPROD = GP.CODLINEA + WHERE CS.DTTRIM =@dtTrime + AND C6.UltimoAperto = 1 +--inizio esclusione isin a null emanuele + and GP.ISIN is not null +--fine esclusione isin a null emanuele + ) a +GROUP BY + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +--INIZIO LAST INTERVENTO OMNIA +UNION ALL +SELECT + POSITIONID + ,DTTRIM + ,DTRIFE + ,RETE + ,CODFIS + ,CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,custgar + ,TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,MAF + ,CODABI + ,pctkey + ,DESTIT + ,CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,VALORE + ,SUBSET + ,CVN + ,SALRISC + ,ISIN +FROM + ( + SELECT distinct + NULL AS POSITIONID + ,CS.DTTRIM + ,CS.DTRIFE + ,CS.RETE + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.CODCONF + ,NUMPOL + ,CONTO + ,RUBR + ,CUSTGAR + ,'GE' as TIPPROD + ,CODINT + ,CODPROD + ,SUBPROD + ,'NA' as MAF + ,CODABI + ,PCTKEY + ,DESTIT + ,0.00 AS CTV + ,PARTVIA + ,PARTVIAAL + ,DTSOTTOS + ,RENDINIZ + ,RENDANNO + ,0.00 AS VALORE + ,'' AS SUBSET + ,0.00 as CVN + ,SALRISC + ,'NA' as ISIN + FROM (select * from C6StagingPeriodico.WSEICS + WHERE DTTRIM = @dtTrime + and subprod in ('L191', 'L192') + and partvia <> 0.00) AS CS + join + (SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + AND C6.UltimoAperto = 1) a +--FINE LAST INTERVENTO OMNIA +--fine intervento per Omnia linea Self +--inizio inserimento su testquality emanuele +--insert into c6martperiodico.test_quality +--select distinct rete, codfis, 'LINEA SELF ISIN A NULL SU TABELLA WSEIGP' from C6StagingPeriodico.WSEIGP where isin is null +--fine inserimento su testquality emanuele + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_ST_vNewPositionProposta.sql b/sql/storedTestbes/C6StagingPeriodico_RP_ST_vNewPositionProposta.sql new file mode 100644 index 00000000..855bc6b2 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_ST_vNewPositionProposta.sql @@ -0,0 +1,29 @@ +CREATE procedure [C6StagingPeriodico].[RP_ST_vNewPositionProposta] +as +begin +truncate table [C6StagingPeriodico].[RP_vNewPositionProposta] +insert into [C6StagingPeriodico].[RP_vNewPositionProposta] +select + pro.chiaveClientePB, + ope.nomeProgettoProp, + ope.areaProp, + pospro.chiaveProgetto, + cat.codSottoprodotto, + cat.codInterno, + cat.codMaf, + cat.codIsin, + cat.tipoProdotto, + null as positionIdProposta +from + C6StagingPeriodico.RP_Proposta pro, + C6StagingPeriodico.RP_DettaglioOperazione ope, + C6StagingPeriodico.RP_PosizioniProposta pospro, + C6StagingPeriodico.RP_catalogoprodotti cat +where + pro.chiaveproposta=ope.chiaveproposta + and ope.chiaveposizionepro=pospro.chiaveposizionepro + and pospro.chiaveprodotto=cat.chiaveprodotto + and ope.chiaveposizioneptf=0--ISANEWPOSITION = 1 + and ope.posriallocata=0--RICONCILIATA = 0 + and pro.status in ('PE','ES')--STATO_PROPOSTA in ('InEsecuzione', 'ParzialmenteEseguita') +end \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_APPO_CONTRATTI.sql b/sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_APPO_CONTRATTI.sql new file mode 100644 index 00000000..81dfe916 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_APPO_CONTRATTI.sql @@ -0,0 +1,118 @@ +CREATE procedure [C6StagingPeriodico].[RP_UPDATE_APPO_CONTRATTI] +AS +begin +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_APPO_CONTRATTI', + GETDATE(), + 'Elaborazione trimestrale' + ) +TRUNCATE TABLE C6StagingPERIODICO.APPO_CONTRATTI_BACKUP +INSERT INTO C6StagingPERIODICO.APPO_CONTRATTI_BACKUP +SELECT * FROM C6StagingPERIODICO.APPO_CONTRATTI +----TRUNCATE TABLE C6StagingPERIODICO.APPO_CONTRATTI +--UPDATE C6StagingPERIODICO.APPO_CONTRATTI +--SET codiceContratto = v.codiceContratto, +--TIP_CONTRATTO = 2 +--FROM +-- C6StagingPERIODICO.APPO_CONTRATTI c +-- INNER JOIN +-- [C6Mart].[vContratti] v +---- dbo.vcontrattiCong011013 v +-- ON c.chiaveclientepb = v.chiaveclientepb +--WHERE +-- c.codiceContratto <> v.codiceContratto +--AND c.TIP_CONTRATTO <> v.TIP_CONTRATTO +--AND v.TIP_CONTRATTO = 2 +declare @firstDayMonthPreTrimestrale datetime +declare @lastDayMonthPreTrimestralePiuUno datetime +set @firstDayMonthPreTrimestrale = c6martperiodico.getTrimestre(getDate(), 1) +set @lastDayMonthPreTrimestralePiuUno = dateadd(day,1,c6martperiodico.getTrimestre(getDate(), 0)) +--set @firstDayMonthPreTrimestrale = '20131201' +--set @lastDayMonthPreTrimestralePiuUno = '20140101' +UPDATE C6StagingPERIODICO.APPO_CONTRATTI +SET codiceContratto = CNTPRI.C, + TIP_CONTRATTO = 2 + ,freq_diagnosi = null + ,data_iniziobase = CNTPRI.data_iniziobase + ,data_finebase = CNTPRI.data_finebase + ,data_perf = CNTPRI.data_perf + ,data_perf_base = CNTPRI.data_perf_base + ,DATA_INZIOAVANZATO = CNTPRI.DATA_INZIOAVANZATO + ,data_fineavanzato = CNTPRI.data_fineavanzato +FROM + (SELECT TT.CF,TT.R,TT.C, VC.TIP_CONTRATTO + ,vc.data_iniziobase + ,vc.data_finebase + ,vc.data_perf + ,vc.data_perf_base + ,VC.DATA_INZIOAVANZATO + ,vc.data_fineavanzato + FROM C6MART.VCONTRATTI VC INNER JOIN + (SELECT + PDF1.CODICEFISCALE AS CF, + PDF1.RETE AS R, + SUBSTRING(PDF1.NOMEFILE,0,12) AS C, + PDF1.DATAGENERAZIONE AS D + FROM c6mart.gestione_PDF_ftp PDF1 INNER JOIN + (SELECT + CODICEFISCALE, + RETE, + MAX(DATAGENERAZIONE) AS DATAGENERAZIONE + FROM c6mart.gestione_PDF_ftp + WHERE 1=1 AND DATAGENERAZIONE >= @firstDayMonthPreTrimestrale and DATAGENERAZIONE < @lastDayMonthPreTrimestralePiuUno + GROUP BY CODICEFISCALE,RETE) PDF2 + ON PDF1.CODICEFISCALE=PDF2.CODICEFISCALE + AND PDF1.RETE=PDF2.RETE + AND PDF1.DATAGENERAZIONE=PDF2.DATAGENERAZIONE + WHERE 1=1 + ) TT + ON TT.CF = VC.COD_FISCALE AND TT.R = VC.RETE + WHERE TIP_CONTRATTO = 2 + ) CNTPRI + inner join C6StagingPERIODICO.APPO_CONTRATTI t + on t.cod_fiscale = CNTPRI.CF AND t.Rete = CNTPRI.R + where t.tip_contratto <> CNTPRI.tip_contratto and CNTPRI.tip_contratto = 2 +UPDATE C6StagingPERIODICO.APPO_CONTRATTI +set + indirizzo = a.indirizzo + ,cap = a.cap + ,citta = a.citta + ,provincia = a.Provincia + ,nazione = a.Nazione + ,presso = a.Presso + ,Cod_Agente = a.Cod_Agente + ,Freq_Diagnosi = a.Freq_Diagnosi + ,FREQ_MONITORAGGIO = a.FREQ_MONITORAGGIO + ,data_fineavanzato = a.data_fineavanzato +from c6mart.vcontratti a +inner join C6StagingPERIODICO.APPO_CONTRATTI b +on a.codicecontratto = b.codicecontratto +--aggiornamento 28/11/2022 +update C6StagingPeriodico.APPO_CONTRATTI +set COD_MANDATO='' +where COD_MANDATO is null +update C6StagingPeriodico.APPO_CONTRATTI +set PIVA_FIDUCIARIA='' +where PIVA_FIDUCIARIA is null +--fine aggiornamento 28/11/2022 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_APPO_CONTRATTI' + ) +end \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_COMPLESSITA.sql b/sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_COMPLESSITA.sql new file mode 100644 index 00000000..65dfdbfe --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_COMPLESSITA.sql @@ -0,0 +1,183 @@ +CREATE procedure [C6StagingPeriodico].[RP_UPDATE_COMPLESSITA] +as +begin +/********************FOGLIO 1 UNIT LINKED************************************************************/ +--begin transaction +UPDATE C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +SET COMPLESSITA=1 +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX = 1 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'18', +'19', +'29', +'35', +'37', +'38', +'48', +'49', +'60', +'BT', +'ES', +'FR', +'FS', +'FT', +'FU', +--'GP', +'KP', +'OA', +'PO', +'PY', +'SB', +--'PR', +--'PX', +'SE', +'SF', +--'SI', +'ST', +'SU', +'K1', +'K2', +'K3', +'K4', +'K5', +'K6', +'K7') +/**************************FOGLIO 1 UNIT LINKED*******************INSERITA LA CONDIZIONE PER I SOTTOPRODOTTI DA ESCLUDERE ********************************/ +SELECT * FROM C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +UPDATE C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +SET COMPLESSITA=2 +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=2 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'S1', +'S2', +'S3', +'S4', +'S5', +'S6', +'S7', +'S8' +) +and +--cod_sottoprodotto not in +CodSottoprodotto not in +('20001','20002','20005','20008') +update C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +set complessita = 1 +--UPDATE c6martperiodico.patrimonio_bf +--set complex = 1 +where +--cod_interno in +CodInterno in +('S1','S2','S4','S5','S8') +--and cod_sottoprodotto in +and CodSottoprodotto in +('20001','20002','20005','20008') +/******************************FOGLIO 1 UNIT LINKED**********************************************************/ +UPDATE C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'A7', +'A8') +/**************************************FOGLIO 2 FONDI*************************************************/ +UPDATE C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +CodSottoprodotto IN +( + '7149S' +,'7145S' +,'9968S' +) +/************************************FOGLIO 2 FONDI****************************************************/ +UPDATE C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_SOTTOPRODOTTO = '7146S' +CodSottoprodotto = '7146S' +/***********************************FOGLIO 3 CERTIFICATES************GIOVANNI HA DETTO CHE VANNO UPDATATI A 1 *****************************************/ +UPDATE C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_ISIN IN +CodIsin IN +( + 'DE000A0LJ552' +,'DE000A0MG8R0' +,'IT0004189368' +,'GB00B1WVWP64' +,'GB00B1Y3ZZ16' +,'XS0354254111' +,'GB00B2QM7Y61' +,'XS0235278982' +,'XS0179585186' +) +AND +CodInterno IN +( + '00101740' +,'09139480' +,'09161420' +,'00830060' +,'09205930' +,'00168130' +,'08525040' +,'08556110' +,'09201230' +) +--update c6martperiodico.patrimonio_bf +--set complex = 1 +-- +--where cod_prodotto in( +-- +-- +-- +--select cod_prodotto +--from +--c6martperiodico.anag_prodotti b +--where cod_isin in ( +-- 'DE000A0LJ552' +--,'DE000A0MG8R0' +--,'IT0004189368' +--,'GB00B1WVWP64' +--,'GB00B1Y3ZZ16' +--,'XS0354254111' +--,'GB00B2QM7Y61' +--,'XS0235278982' +--,'XS0179585186' +--) +--AND +--COD_INTERNO IN +--( +-- '00101740' +--,'09139480' +--,'09161420' +--,'00830060' +--,'09205930' +--,'00168130' +--,'08525040' +--,'08556110' +--,'09201230' +--)) +-- +--commit +end +--exec c6martperiodico.dm_complessita \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_20161213.sql b/sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_20161213.sql new file mode 100644 index 00000000..631a74f3 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_20161213.sql @@ -0,0 +1,183 @@ +CREATE procedure [C6StagingPeriodico].[RP_UPDATE_COMPLESSITA_20161213] +as +begin +/********************FOGLIO 1 UNIT LINKED************************************************************/ +--begin transaction +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +SET COMPLESSITA=1 +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX = 1 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'18', +'19', +'29', +'35', +'37', +'38', +'48', +'49', +'60', +'BT', +'ES', +'FR', +'FS', +'FT', +'FU', +--'GP', +'KP', +'OA', +'PO', +'PY', +'SB', +--'PR', +--'PX', +'SE', +'SF', +--'SI', +'ST', +'SU', +'K1', +'K2', +'K3', +'K4', +'K5', +'K6', +'K7') +/**************************FOGLIO 1 UNIT LINKED*******************INSERITA LA CONDIZIONE PER I SOTTOPRODOTTI DA ESCLUDERE ********************************/ +SELECT * FROM [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +SET COMPLESSITA=2 +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=2 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'S1', +'S2', +'S3', +'S4', +'S5', +'S6', +'S7', +'S8' +) +and +--cod_sottoprodotto not in +CodSottoprodotto not in +('20001','20002','20005','20008') +update C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +set complessita = 1 +--UPDATE c6martperiodico.patrimonio_bf +--set complex = 1 +where +--cod_interno in +CodInterno in +('S1','S2','S4','S5','S8') +--and cod_sottoprodotto in +and CodSottoprodotto in +('20001','20002','20005','20008') +/******************************FOGLIO 1 UNIT LINKED**********************************************************/ +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'A7', +'A8') +/**************************************FOGLIO 2 FONDI*************************************************/ +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +CodSottoprodotto IN +( + '7149S' +,'7145S' +,'9968S' +) +/************************************FOGLIO 2 FONDI****************************************************/ +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_SOTTOPRODOTTO = '7146S' +CodSottoprodotto = '7146S' +/***********************************FOGLIO 3 CERTIFICATES************GIOVANNI HA DETTO CHE VANNO UPDATATI A 1 *****************************************/ +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_ISIN IN +CodIsin IN +( + 'DE000A0LJ552' +,'DE000A0MG8R0' +,'IT0004189368' +,'GB00B1WVWP64' +,'GB00B1Y3ZZ16' +,'XS0354254111' +,'GB00B2QM7Y61' +,'XS0235278982' +,'XS0179585186' +) +AND +CodInterno IN +( + '00101740' +,'09139480' +,'09161420' +,'00830060' +,'09205930' +,'00168130' +,'08525040' +,'08556110' +,'09201230' +) +--update c6martperiodico.patrimonio_bf +--set complex = 1 +-- +--where cod_prodotto in( +-- +-- +-- +--select cod_prodotto +--from +--c6martperiodico.anag_prodotti b +--where cod_isin in ( +-- 'DE000A0LJ552' +--,'DE000A0MG8R0' +--,'IT0004189368' +--,'GB00B1WVWP64' +--,'GB00B1Y3ZZ16' +--,'XS0354254111' +--,'GB00B2QM7Y61' +--,'XS0235278982' +--,'XS0179585186' +--) +--AND +--COD_INTERNO IN +--( +-- '00101740' +--,'09139480' +--,'09161420' +--,'00830060' +--,'09205930' +--,'00168130' +--,'08525040' +--,'08556110' +--,'09201230' +--)) +-- +--commit +end +--exec c6martperiodico.dm_complessita \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_pre_selective.sql b/sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_pre_selective.sql new file mode 100644 index 00000000..acde344e --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_COMPLESSITA_pre_selective.sql @@ -0,0 +1,183 @@ +CREATE procedure [C6StagingPeriodico].[RP_UPDATE_COMPLESSITA_pre_selective] +as +begin +/********************FOGLIO 1 UNIT LINKED************************************************************/ +--begin transaction +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +SET COMPLESSITA=1 +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX = 1 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'18', +'19', +'29', +'35', +'37', +'38', +'48', +'49', +'60', +'BT', +'ES', +'FR', +'FS', +'FT', +'FU', +--'GP', +'KP', +'OA', +'PO', +'PY', +'SB', +--'PR', +--'PX', +'SE', +'SF', +--'SI', +'ST', +'SU', +'K1', +'K2', +'K3', +'K4', +'K5', +'K6', +'K7') +/**************************FOGLIO 1 UNIT LINKED*******************INSERITA LA CONDIZIONE PER I SOTTOPRODOTTI DA ESCLUDERE ********************************/ +SELECT * FROM [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +SET COMPLESSITA=2 +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=2 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'S1', +'S2', +'S3', +'S4', +'S5', +'S6', +'S7', +'S8' +) +and +--cod_sottoprodotto not in +CodSottoprodotto not in +('20001','20002','20005','20008') +update C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +set complessita = 1 +--UPDATE c6martperiodico.patrimonio_bf +--set complex = 1 +where +--cod_interno in +CodInterno in +('S1','S2','S4','S5','S8') +--and cod_sottoprodotto in +and CodSottoprodotto in +('20001','20002','20005','20008') +/******************************FOGLIO 1 UNIT LINKED**********************************************************/ +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_INTERNO IN +CodInterno IN +( +'A7', +'A8') +/**************************************FOGLIO 2 FONDI*************************************************/ +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +CodSottoprodotto IN +( + '7149S' +,'7145S' +,'9968S' +) +/************************************FOGLIO 2 FONDI****************************************************/ +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_SOTTOPRODOTTO = '7146S' +CodSottoprodotto = '7146S' +/***********************************FOGLIO 3 CERTIFICATES************GIOVANNI HA DETTO CHE VANNO UPDATATI A 1 *****************************************/ +UPDATE [C6StampeCentralizzate].C6STAGINGPERIODICO.RP_CATALOGOPRODOTTI +--UPDATE c6martperiodico.patrimonio_bf +--SET COMPLEX=1 +SET COMPLESSITA = 1 +WHERE +--COD_ISIN IN +CodIsin IN +( + 'DE000A0LJ552' +,'DE000A0MG8R0' +,'IT0004189368' +,'GB00B1WVWP64' +,'GB00B1Y3ZZ16' +,'XS0354254111' +,'GB00B2QM7Y61' +,'XS0235278982' +,'XS0179585186' +) +AND +CodInterno IN +( + '00101740' +,'09139480' +,'09161420' +,'00830060' +,'09205930' +,'00168130' +,'08525040' +,'08556110' +,'09201230' +) +--update c6martperiodico.patrimonio_bf +--set complex = 1 +-- +--where cod_prodotto in( +-- +-- +-- +--select cod_prodotto +--from +--c6martperiodico.anag_prodotti b +--where cod_isin in ( +-- 'DE000A0LJ552' +--,'DE000A0MG8R0' +--,'IT0004189368' +--,'GB00B1WVWP64' +--,'GB00B1Y3ZZ16' +--,'XS0354254111' +--,'GB00B2QM7Y61' +--,'XS0235278982' +--,'XS0179585186' +--) +--AND +--COD_INTERNO IN +--( +-- '00101740' +--,'09139480' +--,'09161420' +--,'00830060' +--,'09205930' +--,'00168130' +--,'08525040' +--,'08556110' +--,'09201230' +--)) +-- +--commit +end +--exec c6martperiodico.dm_complessita \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI.sql b/sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI.sql new file mode 100644 index 00000000..c4e8aa22 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI.sql @@ -0,0 +1,13 @@ +CREATE procedure [C6StagingPeriodico].[RP_UPDATE_RP_CATALOGOPRODOTTI] as +begin + update c6stagingperiodico.RP_CATALOGOPRODOTTI + set + tip_Emittente = B.tipoemittente, + tip_Tasso = B.tipoTasso + from + c6stagingperiodico.RP_CATALOGOPRODOTTI A + join + c6stagingperiodico.decodEmittente B + ON + A.CODISIN = B.ISIN +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI_pre_selective.sql b/sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI_pre_selective.sql new file mode 100644 index 00000000..5b981723 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_UPDATE_RP_CATALOGOPRODOTTI_pre_selective.sql @@ -0,0 +1,13 @@ +CREATE procedure [C6StagingPeriodico].[RP_UPDATE_RP_CATALOGOPRODOTTI_pre_selective] as +begin + update c6stagingperiodico.RP_CATALOGOPRODOTTI + set + tip_Emittente = B.tipoemittente, + tip_Tasso = B.tipoTasso + from + c6stagingperiodico.RP_CATALOGOPRODOTTI A + join + c6stagingperiodico.decodEmittente B + ON + A.CODISIN = B.ISIN +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_W6LogBatch.sql b/sql/storedTestbes/C6StagingPeriodico_RP_W6LogBatch.sql new file mode 100644 index 00000000..4892d9b4 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_W6LogBatch.sql @@ -0,0 +1,36 @@ +CREATE PROCEDURE [C6StagingPeriodico].[RP_W6LogBatch] + @BatchName NVARCHAR(100) +AS +BEGIN + DECLARE @BatchID INT; + -- Trova l'ultimo batch in esecuzione con lo stesso nome + SELECT TOP 1 @BatchID = BatchID + FROM C6StagingPeriodico.W6LogBatch + WHERE BatchName = @BatchName AND EndDate IS NULL + ORDER BY BatchID DESC; + IF @BatchID IS NOT NULL + BEGIN + -- È la fine del batch + -- Aggiorna la data di fine, lo status e calcola il delta in minuti + UPDATE C6StagingPeriodico.W6LogBatch + SET EndDate = GETDATE(), + Status = 'OK', + DeltaMinutes = DATEDIFF(MINUTE, StartDate, GETDATE()) + WHERE BatchID = @BatchID; + -- Output o messaggio di conferma per la fine del batch + SELECT 'Log entry updated for BatchID ' + CAST(@BatchID AS NVARCHAR(20)) + '.' + + ' Batch "' + @BatchName + '" ended.'; + END + ELSE + BEGIN + -- È l'inizio del batch + -- Inserisci i dati relativi al log nella tabella C6StagingPeriodico.W6LogBatch + INSERT INTO C6StagingPeriodico.W6LogBatch (BatchName, Status, StartDate) + VALUES (@BatchName, 'In esecuzione', GETDATE()); + -- Ottieni l'ID del batch appena inserito + SET @BatchID = SCOPE_IDENTITY(); + -- Output o messaggio di conferma per l'inizio del batch + SELECT 'Log entry added for BatchID ' + CAST(@BatchID AS NVARCHAR(20)) + '.' + + ' Batch "' + @BatchName + '" started.'; + END +END; \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_clientiConMigrazione.sql b/sql/storedTestbes/C6StagingPeriodico_RP_clientiConMigrazione.sql new file mode 100644 index 00000000..c1f06825 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_clientiConMigrazione.sql @@ -0,0 +1,20 @@ +CREATE procedure [C6StagingPeriodico].[RP_clientiConMigrazione] +as +begin +truncate table [C6StagingPeriodico].[RP_V_clienti_contrsei_con_migraz] +INSERT INTO [C6StagingPeriodico].[RP_V_clienti_contrsei_con_migraz] + ([chiaveClientePb] + ,[rete] + ,[cod_fiscale] + ,[dtprimaMigrazione]) +select + a.chiaveClientePb, + b.rete, + b.cod_fiscale, + a.dtprimaMigrazione +from +C6StagingPeriodico.RP_MIGRAZ_PIANIFICAZIONE a +join +C6MartPeriodico.RP_vContrattiPerGenerazioneReport b +on a.chiaveClientePb = b.chiaveClientePb +end \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_RP_clientiConMigrazione_20170413_RM_nomeDB.sql b/sql/storedTestbes/C6StagingPeriodico_RP_clientiConMigrazione_20170413_RM_nomeDB.sql new file mode 100644 index 00000000..8a021e13 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_RP_clientiConMigrazione_20170413_RM_nomeDB.sql @@ -0,0 +1,20 @@ +CREATE procedure [C6StagingPeriodico].[RP_clientiConMigrazione_20170413_RM_nomeDB] +as +begin +truncate table [C6StagingPeriodico].[RP_V_clienti_contrsei_con_migraz] +INSERT INTO [C6StampeCentralizzate].[C6StagingPeriodico].[RP_V_clienti_contrsei_con_migraz] + ([chiaveClientePb] + ,[rete] + ,[cod_fiscale] + ,[dtprimaMigrazione]) +select + a.chiaveClientePb, + b.rete, + b.cod_fiscale, + a.dtprimaMigrazione +from +C6StagingPeriodico.RP_MIGRAZ_PIANIFICAZIONE a +join +C6MartPeriodico.RP_vContrattiPerGenerazioneReport b +on a.chiaveClientePb = b.chiaveClientePb +end \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_Recupero_Trimestrale_Scarti.sql b/sql/storedTestbes/C6StagingPeriodico_Recupero_Trimestrale_Scarti.sql new file mode 100644 index 00000000..e728ed76 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_Recupero_Trimestrale_Scarti.sql @@ -0,0 +1,30 @@ +CREATE procedure [C6StagingPeriodico].[Recupero_Trimestrale_Scarti] +as + drop table if exists c6stagingperiodico.BRS_AGGR_OUT_ALADDIN_appoggio + --select * + --into c6stagingperiodico.BRS_AGGR_OUT_ALADDIN_appoggio + --from c6stagingperiodico.BRS_AGGR_OUT_ALADDIN + exec [dbo].[CreaTabellaBackUp] 'W6CLIREP','C6MartPeriodico' + exec [dbo].[CreaTabellaBackUp] 'trimestrale_scarti','c6stagingperiodico' + exec [dbo].[CreaTabellaBackUp] 'BRS_AGGR_OUT_ALADDIN','C6stagingPeriodico' + exec [dbo].[CreaTabellaBackUp] 'ESG_Metriche_Cliente_IL','c6stagingperiodico' + drop table if exists #temp + drop table if exists c6stagingperiodico.BRS_AGGR_OUT_ALADDIN_appoggio + --preleva tutti i cf e piva che NON hanno avuto problemi e li mette in BRS_AGGR_OUT_ALADDIN_appoggio + select distinct * +into c6stagingperiodico.BRS_AGGR_OUT_ALADDIN_appoggio + from c6stagingperiodico.BRS_AGGR_OUT_ALADDIN + where Rete+CodiceFiscale+PIva+codman not in (select +Rete+codfis+PIva+codman from c6stagingperiodico.trimestrale_scarti) + --preleva tutti i cf e piva che hanno avuto problemi e li mette in una tabella temporanea per poi metterli nella w6clirep + select * + into #temp + from C6MartPeriodico.W6CLIREP where rete+codfis+piva+codman in (select +Rete+codfis+piva+codman from c6stagingperiodico.trimestrale_scarti) +truncate table C6MartPeriodico.W6CLIREP +insert into C6MartPeriodico.W6CLIREP +select * from #temp +Truncate table c6stagingperiodico.trimestrale_scarti +--update C6MartPeriodico.tab_semaforo +--set inizio_milestone=inizio_lotto +--where id_milestone=5 \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_SRV_CREA_QUERY_STORICO.sql b/sql/storedTestbes/C6StagingPeriodico_SRV_CREA_QUERY_STORICO.sql new file mode 100644 index 00000000..8c775ec1 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_SRV_CREA_QUERY_STORICO.sql @@ -0,0 +1,56 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 marzo 2009 +-- Description: SP FAKE per popolare le tabelle host del SIMPB in modo da avere qualche dato in più +-- quando si eseguono le SP del Presentation Layer +-- ============================================= +CREATE procedure [C6StagingPeriodico].[SRV_CREA_QUERY_STORICO] +AS +BEGIN + DECLARE @SCHEMA AS VARCHAR(50) + DECLARE @SCHEMASTORICO AS VARCHAR(50) + DECLARE @TABLE AS VARCHAR(50) + DECLARE @CAMPI VARCHAR(MAX) + DECLARE @CONDITION AS VARCHAR(50) + SET @SCHEMA = 'C6StagingPeriodico' + SET @SCHEMASTORICO = 'C6StoricoPeriodico' + DECLARE tabelle CURSOR FOR + SELECT UPPER(TABLE_NAME) + FROM INFORMATION_SCHEMA.TABLES + WHERE TABLE_TYPE = 'BASE TABLE' + AND TABLE_SCHEMA = @SCHEMA + ORDER BY TABLE_SCHEMA, TABLE_NAME + OPEN tabelle + FETCH NEXT FROM tabelle + INTO @TABLE + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @CAMPI = '' + SELECT @CAMPI = @CAMPI + ', ' + COLUMN_NAME + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_NAME = @TABLE + AND TABLE_SCHEMA = @SCHEMA + SET @CAMPI = RIGHT(@CAMPI, LEN(@CAMPI) -2 ) + SET @CONDITION = ' WHERE ID_ELAB = @ID_ELAB' + IF CHARINDEX('ID_ELAB', @CAMPI) = 0 -- CAMPO ID_ELAB NON PRESENTE + BEGIN + SET @CAMPI = @CAMPI + ', @ID_ELAB' + SET @CONDITION = '' + END + PRINT ' --XXXXXXXXXXXXXXXXXXXXXXXX ' + @TABLE + ' XXXXXXXXXXXXXXXXXXXXXXXX--' + PRINT ' IF(@NomeTabella IS NULL OR @NomeTabella = ''' + @TABLE + ''')' + PRINT ' BEGIN' + PRINT ' DELETE FROM ' + @SCHEMASTORICO + '.ST_' + @TABLE + ' WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB' + PRINT ' INSERT INTO ' + @SCHEMASTORICO + '.ST_' + @TABLE + PRINT ' (' + REPLACE(@CAMPI,'@','') + ')' + PRINT ' SELECT ' + PRINT ' ' + @CAMPI + PRINT ' FROM ' + @SCHEMA + '.' + @TABLE + @CONDITION + PRINT ' END' + PRINT '' + FETCH NEXT FROM tabelle + INTO @TABLE + END + CLOSE tabelle + DEALLOCATE tabelle +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP.sql b/sql/storedTestbes/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP.sql new file mode 100644 index 00000000..d29eb6e1 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP.sql @@ -0,0 +1,160 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 marzo 2009 +-- Description: SP FAKE per popolare le tabelle host del SIMPB in modo da avere qualche dato in più +-- quando si eseguono le SP del Presentation Layer +-- ============================================= +CREATE procedure [C6StagingPeriodico].[SRV_PopolaTabelleSIMPB_TEMP] +AS +BEGIN + -- [C6StagingPeriodico].[WSEIAN] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEIAN2] + INSERT INTO [C6StagingPeriodico].[WSEIAN2] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF]) + SELECT + CAST ( CONVERT( VARCHAR, GETDATE(), 112) AS DECIMAL(9,0) ) + ,CL.[CODICERETE] + ,CL.[CODICEFISCALE] + ,CL.[NOME] + ,CL.[COGNOME] + ,CAST ( CONVERT( VARCHAR, CL.[DATADINASCITA], 112) AS DECIMAL(9,0) ) AS [DATADINASCITA] + ,IND.[INDIRIZZO] + ,IND.[CAP] + ,IND.[CITTA] + ,IND.[PROVINCIA] + ,IND.[NAZIONE] + ,NULL AS [CODICEPROFILOASSEGNATO] + FROM + [C6Staging].[SPB_CLIENTI] AS CL + INNER JOIN + [C6Staging].[SPB_INDIRIZZI] AS IND + ON + CL.CODICERETE = IND.RETE + AND CL.CODICEFISCALE = IND.CODICEFISCALE + -- [C6StagingPeriodico].[WSEICS] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEICS] + INSERT INTO [C6StagingPeriodico].[WSEICS] + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN]) + SELECT + CAST ( CONVERT( VARCHAR, GETDATE(), 112) AS DECIMAL(9,0) ) + ,CAST ( CONVERT( VARCHAR, [DATADIRIFERIMENTO], 112) AS DECIMAL(9,0) ) AS [DATASALDO] + ,[RETE] + ,[CODICEFISCALE] + ,[CODICECONTRATTO] + ,[NUMEROPOLIZZA] + ,[CONTO] + ,[RUBRICATO] + ,[CUSTODIAGARANZIA] + ,[TIPOPRODOTTO] + ,[CODICEINTERNO] + ,NULL AS [CODICEPRODOTTO] + ,[CODICESOTTOPRODOTTO] + ,[CODICEMAF] + ,'CODABI' AS [CODABI] + ,[PCTKEY] + ,[PCTDESCRIZIONTETITOLOCOLLEGATO] + ,[CTV] + ,[PARTVIA] + ,CAST ( CONVERT( VARCHAR, [PARTVIAAL], 112) AS DECIMAL(9,0) ) AS [PARTVIAAL] + ,CAST ( CONVERT( VARCHAR, [DATAINIZIORENDIMENTO], 112) AS DECIMAL(9,0) ) AS [DATAINIZIORENDIMENTO] + ,[RENDIMENTODASOTTOSCRIZIONE] + ,[RENDIMENTODAINIZIOANNO] + ,[VALORE] + ,NULL AS [SUBSET] + ,[CVN] + FROM + [C6Staging].[SPB_CONTR_SINTESI] CS + -- [C6StagingPeriodico].[WSEIPV] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEIPV] + INSERT INTO [C6StagingPeriodico].[WSEIPV] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[IMPVER] + ,[DTRIFE] + ,[SUBSET]) + SELECT + CAST ( CONVERT( VARCHAR, GETDATE(), 112) AS DECIMAL(9,0) ) + ,C6.[RETE] + ,C6.[COD_FISCALE] + ,C6.[CODICECONTRATTO] + ,[IMPORTOVERSATO] + ,CAST ( CONVERT( VARCHAR, [DATAACQUISIZIONE], 112) AS DECIMAL(9,0) ) AS [DATAACQUISIZIONE] + ,LEFT([NOTA],10) + FROM + [C6Staging].[SPB_PARTITE_VIAGG] PV + INNER JOIN C6Mart.CONTRATTOSEI C6 + ON + C6.RETE = PV.RETE + AND C6.COD_FISCALE = PV.CODICEFISCALE + -- [C6StagingPeriodico].[WSEIUL] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEIUL] + INSERT INTO [C6StagingPeriodico].[WSEIUL] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[CODINT] + ,[SUBPROD] + ,[CTV] + ,[DTRIFE] + ,[ISINFIT] + ,[ISIN] + ,[MAF] + ,[SUBSET]) + SELECT + CAST ( CONVERT( VARCHAR, GETDATE(), 112) AS DECIMAL(9,0) ) + ,C6.[RETE] + ,C6.[COD_FISCALE] + ,C6.[CODICECONTRATTO] + ,AU.[CODICEINTERNO] + ,AU.[CODICESOTTOPRODOTTO] + ,AU.[CONTROVALORE] + ,CAST ( CONVERT( VARCHAR, AU.[DATADIRIFERIMENTO], 112) AS DECIMAL(9,0) ) AS [DATASALDO] + ,AU.[ISINFITTIZIO] + ,AU.[CODICEISINSOTTOSTANTE] + ,AU.[CODICEMAFSOTTOSTANTE] + ,NULL AS [SUBSET] + FROM + [C6Staging].[SPB_ASS_UNIT] AS AU + INNER JOIN C6Mart.CONTRATTOSEI C6 + ON + C6.CODICECONTRATTO = AU.CODICECONTRATTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP_pre_selective.sql b/sql/storedTestbes/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP_pre_selective.sql new file mode 100644 index 00000000..928ba38f --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_SRV_PopolaTabelleSIMPB_TEMP_pre_selective.sql @@ -0,0 +1,160 @@ +-- ============================================= +-- Author: Paolo Giovanetti +-- Create date: 17 marzo 2009 +-- Description: SP FAKE per popolare le tabelle host del SIMPB in modo da avere qualche dato in più +-- quando si eseguono le SP del Presentation Layer +-- ============================================= +CREATE procedure [C6StagingPeriodico].[SRV_PopolaTabelleSIMPB_TEMP_pre_selective] +AS +BEGIN + -- [C6StagingPeriodico].[WSEIAN] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEIAN2] + INSERT INTO [C6StagingPeriodico].[WSEIAN2] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[NOME] + ,[COGNOME] + ,[DTNASCI] + ,[INDIRIZZO] + ,[CAP] + ,[CITTA] + ,[PROVINCIA] + ,[NAZIONE] + ,[CODPROF]) + SELECT + CAST ( CONVERT( VARCHAR, GETDATE(), 112) AS DECIMAL(9,0) ) + ,CL.[CODICERETE] + ,CL.[CODICEFISCALE] + ,CL.[NOME] + ,CL.[COGNOME] + ,CAST ( CONVERT( VARCHAR, CL.[DATADINASCITA], 112) AS DECIMAL(9,0) ) AS [DATADINASCITA] + ,IND.[INDIRIZZO] + ,IND.[CAP] + ,IND.[CITTA] + ,IND.[PROVINCIA] + ,IND.[NAZIONE] + ,NULL AS [CODICEPROFILOASSEGNATO] + FROM + [C6Staging].[SPB_CLIENTI] AS CL + INNER JOIN + [C6Staging].[SPB_INDIRIZZI] AS IND + ON + CL.CODICERETE = IND.RETE + AND CL.CODICEFISCALE = IND.CODICEFISCALE + -- [C6StagingPeriodico].[WSEICS] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEICS] + INSERT INTO [C6StagingPeriodico].[WSEICS] + ([DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN]) + SELECT + CAST ( CONVERT( VARCHAR, GETDATE(), 112) AS DECIMAL(9,0) ) + ,CAST ( CONVERT( VARCHAR, [DATADIRIFERIMENTO], 112) AS DECIMAL(9,0) ) AS [DATASALDO] + ,[RETE] + ,[CODICEFISCALE] + ,[CODICECONTRATTO] + ,[NUMEROPOLIZZA] + ,[CONTO] + ,[RUBRICATO] + ,[CUSTODIAGARANZIA] + ,[TIPOPRODOTTO] + ,[CODICEINTERNO] + ,NULL AS [CODICEPRODOTTO] + ,[CODICESOTTOPRODOTTO] + ,[CODICEMAF] + ,'CODABI' AS [CODABI] + ,[PCTKEY] + ,[PCTDESCRIZIONTETITOLOCOLLEGATO] + ,[CTV] + ,[PARTVIA] + ,CAST ( CONVERT( VARCHAR, [PARTVIAAL], 112) AS DECIMAL(9,0) ) AS [PARTVIAAL] + ,CAST ( CONVERT( VARCHAR, [DATAINIZIORENDIMENTO], 112) AS DECIMAL(9,0) ) AS [DATAINIZIORENDIMENTO] + ,[RENDIMENTODASOTTOSCRIZIONE] + ,[RENDIMENTODAINIZIOANNO] + ,[VALORE] + ,NULL AS [SUBSET] + ,[CVN] + FROM + [C6Staging].[SPB_CONTR_SINTESI] CS + -- [C6StagingPeriodico].[WSEIPV] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEIPV] + INSERT INTO [C6StagingPeriodico].[WSEIPV] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[IMPVER] + ,[DTRIFE] + ,[SUBSET]) + SELECT + CAST ( CONVERT( VARCHAR, GETDATE(), 112) AS DECIMAL(9,0) ) + ,C6.[RETE] + ,C6.[COD_FISCALE] + ,C6.[CODICECONTRATTO] + ,[IMPORTOVERSATO] + ,CAST ( CONVERT( VARCHAR, [DATAACQUISIZIONE], 112) AS DECIMAL(9,0) ) AS [DATAACQUISIZIONE] + ,LEFT([NOTA],10) + FROM + [C6Staging].[SPB_PARTITE_VIAGG] PV + INNER JOIN C6Mart.CONTRATTOSEI C6 + ON + C6.RETE = PV.RETE + AND C6.COD_FISCALE = PV.CODICEFISCALE + -- [C6StagingPeriodico].[WSEIUL] -- + TRUNCATE TABLE [C6StagingPeriodico].[WSEIUL] + INSERT INTO [C6StagingPeriodico].[WSEIUL] + ([DTTRIM] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[CODINT] + ,[SUBPROD] + ,[CTV] + ,[DTRIFE] + ,[ISINFIT] + ,[ISIN] + ,[MAF] + ,[SUBSET]) + SELECT + CAST ( CONVERT( VARCHAR, GETDATE(), 112) AS DECIMAL(9,0) ) + ,C6.[RETE] + ,C6.[COD_FISCALE] + ,C6.[CODICECONTRATTO] + ,AU.[CODICEINTERNO] + ,AU.[CODICESOTTOPRODOTTO] + ,AU.[CONTROVALORE] + ,CAST ( CONVERT( VARCHAR, AU.[DATADIRIFERIMENTO], 112) AS DECIMAL(9,0) ) AS [DATASALDO] + ,AU.[ISINFITTIZIO] + ,AU.[CODICEISINSOTTOSTANTE] + ,AU.[CODICEMAFSOTTOSTANTE] + ,NULL AS [SUBSET] + FROM + [C6Staging].[SPB_ASS_UNIT] AS AU + INNER JOIN C6Mart.CONTRATTOSEI C6 + ON + C6.CODICECONTRATTO = AU.CODICECONTRATTO +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_SRV_STORICIZZAZIONE.sql b/sql/storedTestbes/C6StagingPeriodico_SRV_STORICIZZAZIONE.sql new file mode 100644 index 00000000..27c6ee7b --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_SRV_STORICIZZAZIONE.sql @@ -0,0 +1,832 @@ +-- ============================================= +-- Author: paolo giovanetti +-- Create date: 6 marzo 2009 +-- Description: storicizzazione STAGING +-- ============================================= +CREATE procedure [C6StagingPeriodico].[SRV_STORICIZZAZIONE] + @NomeTabella VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico espresso in giorni + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MartPeriodico.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENOTH XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENOTH') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ACBDENOTH WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ACBDENOTH + (OID$, VERSION$, BDPERCENTAGE, BDBETA, F_OID$_PASSE_CDF1A, F_PFINANCIAL_815C0, ID_ELAB) + SELECT + ACBDENOTH.OID$, ACBDENOTH.VERSION$, ACBDENOTH.BDPERCENTAGE, ACBDENOTH.BDBETA, ACBDENOTH.F_OID$_PASSE_CDF1A, ACBDENOTH.F_PFINANCIAL_815C0, @ID_ELAB + FROM C6StagingPeriodico.ACBDENOTH + LEFT OUTER JOIN C6StoricoPeriodico.ST_ACBDENOTH + ON ACBDENOTH.OID$ = ST_ACBDENOTH.OID$ + WHERE ST_ACBDENOTH.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENTRY XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENTRY') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ACBDENTRY WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ACBDENTRY + (OID$, VERSION$, F_PINDEXBREA_08079, F_PINSTRUMEN_FBCDE, BDPERCENTAGE, BDBETA, F_OID$_PASSE_B8A1E, F_PFINANCIAL_65EBB, F_PFINANCIAL_C2FD3, ID_ELAB) + SELECT + ACBDENTRY.OID$, ACBDENTRY.VERSION$, ACBDENTRY.F_PINDEXBREA_08079, ACBDENTRY.F_PINSTRUMEN_FBCDE, ACBDENTRY.BDPERCENTAGE, ACBDENTRY.BDBETA, ACBDENTRY.F_OID$_PASSE_B8A1E, ACBDENTRY.F_PFINANCIAL_65EBB, ACBDENTRY.F_PFINANCIAL_C2FD3, @ID_ELAB + FROM C6StagingPeriodico.ACBDENTRY + LEFT OUTER JOIN C6StoricoPeriodico.ST_ACBDENTRY + ON ACBDENTRY.OID$ = ST_ACBDENTRY.OID$ + WHERE ST_ACBDENTRY.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ADBKBASE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ADBKBASE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ADBKBASE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ADBKBASE + (OID$, VERSION$, ADBKID, INSTID, C_ADBKBASE_L_69013, TYPE$_ADBKST_AC419, C_CLIENTNAME_1A67C, C_CLIENTNAME_1E844, F_OID$_PERSO_06FCB, C_CLIENTNAME_8B1DB, C_CLIENTNAME_B4F69, C_CLIENTNAME_EA63A, C_ADBKBASE_D_C669E, C_ADBKBASE_L_1DD83, C_ADBKBASE_L_F8E21, C_ADBKBASE_L_2805C, C_ADBKBASE_T_C94F1, F_OID$_PROFI_98D05, F_OID$_TAXRE_4AC4C, C_CURRENCYSY_36ED7, F_OID$_REFER_66AC8, C_ADBKBASE_M_AE5A8, C_ADBKBASE_A_36B89, C_CURRENCYSY_0483B, C_VALUE_506AF, F_OID$_SOURC_E66C5, F_OID$_QUALI_027C5, F_OID$_BLOCK_A4386, F_OID$_SOURC_3AA10, TYPE$_ADBKTY_20093, F_PCUSTOMGRO_9BC08, F_PENTITY_AD_29FE1, ID_ELAB) + SELECT + ADBKBASE.OID$, ADBKBASE.VERSION$, ADBKBASE.ADBKID, ADBKBASE.INSTID, ADBKBASE.C_ADBKBASE_L_69013, ADBKBASE.TYPE$_ADBKST_AC419, ADBKBASE.C_CLIENTNAME_1A67C, ADBKBASE.C_CLIENTNAME_1E844, ADBKBASE.F_OID$_PERSO_06FCB, ADBKBASE.C_CLIENTNAME_8B1DB, ADBKBASE.C_CLIENTNAME_B4F69, ADBKBASE.C_CLIENTNAME_EA63A, ADBKBASE.C_ADBKBASE_D_C669E, ADBKBASE.C_ADBKBASE_L_1DD83, ADBKBASE.C_ADBKBASE_L_F8E21, ADBKBASE.C_ADBKBASE_L_2805C, ADBKBASE.C_ADBKBASE_T_C94F1, ADBKBASE.F_OID$_PROFI_98D05, ADBKBASE.F_OID$_TAXRE_4AC4C, ADBKBASE.C_CURRENCYSY_36ED7, ADBKBASE.F_OID$_REFER_66AC8, ADBKBASE.C_ADBKBASE_M_AE5A8, ADBKBASE.C_ADBKBASE_A_36B89, ADBKBASE.C_CURRENCYSY_0483B, ADBKBASE.C_VALUE_506AF, ADBKBASE.F_OID$_SOURC_E66C5, ADBKBASE.F_OID$_QUALI_027C5, ADBKBASE.F_OID$_BLOCK_A4386, ADBKBASE.F_OID$_SOURC_3AA10, ADBKBASE.TYPE$_ADBKTY_20093, ADBKBASE.F_PCUSTOMGRO_9BC08, ADBKBASE.F_PENTITY_AD_29FE1, @ID_ELAB + FROM C6StagingPeriodico.ADBKBASE + LEFT OUTER JOIN C6StoricoPeriodico.ST_ADBKBASE + ON ADBKBASE.OID$ = ST_ADBKBASE.OID$ + WHERE ST_ADBKBASE.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ADS4WS_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'ADS4WS_PROMOTORI') +-- BEGIN +-- DELETE FROM C6StoricoPeriodico.ST_ADS4WS_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6StoricoPeriodico.ST_ADS4WS_PROMOTORI +-- (Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, Telefono, TelefonoAgenzia1, TelefonoAgenzia2, ID_ELAB) +-- SELECT +-- ADS4WS_PROMOTORI.Rete, ADS4WS_PROMOTORI.Codice, ADS4WS_PROMOTORI.Cognome, ADS4WS_PROMOTORI.Nome, ADS4WS_PROMOTORI.Prefisso, ADS4WS_PROMOTORI.Firma, ADS4WS_PROMOTORI.DataInizioCollaborazione, ADS4WS_PROMOTORI.DataFineCollaborazione, ADS4WS_PROMOTORI.DataUltimaAggiornamento, ADS4WS_PROMOTORI.CAP, ADS4WS_PROMOTORI.Citta, ADS4WS_PROMOTORI.CittaNascita, ADS4WS_PROMOTORI.DataNascita, ADS4WS_PROMOTORI.Indirizzo, ADS4WS_PROMOTORI.Provincia, ADS4WS_PROMOTORI.Telefono, ADS4WS_PROMOTORI.TelefonoAgenzia1, ADS4WS_PROMOTORI.TelefonoAgenzia2, @ID_ELAB +-- FROM C6StagingPeriodico.ADS4WS_PROMOTORI +-- LEFT OUTER JOIN C6StoricoPeriodico.ST_ADS4WS_PROMOTORI +-- ON ADS4WS_PROMOTORI.Firma = ST_ADS4WS_PROMOTORI.Firma +-- WHERE ST_ADS4WS_PROMOTORI.Firma IS NULL +-- END +-- +-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'ADS4WS_PROMOTORI') +-- BEGIN +-- DELETE FROM C6Storicoperiodico.ST_ADS4WS_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storicoperiodico.ST_ADS4WS_PROMOTORI +-- (Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, PrefissoTelefono, TelefonoAgenzia1, TelefonoAgenzia2, ID_ELAB) +-- SELECT Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, PrefissoTelefono, TelefonoAgenzia1, TelefonoAgenzia2, @ID_ELAB +-- FROM C6Staging.ADS4WS_PROMOTORI +-- END +-- + --XXXXXXXXXXXXXXXXXXXXXXXX AGENTBASE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'AGENTBASE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_AGENTBASE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_AGENTBASE + (OID$, VERSION$, AGENTBASEID, INSTID, TYPE$_AGENTT_4FF1A, AGENTBASESTATUS, CATEGORY, ROLE, COUNTRY, REGION, TAXPAYERID, C_AGENTNAME__D3943, C_AGENTNAME__B1EC3, F_OID$_PERSO_762E5, C_AGENTNAME__ABD50, C_AGENTNAME__7D056, C_AGENTNAME__722CD, LOGINID, ICEPATH, F_PAGENTBASE_7B96C, F_OID$_AGENT_DB156, F_PENTITY_AG_79C9C, ID_ELAB) + SELECT + AGENTBASE.OID$, AGENTBASE.VERSION$, AGENTBASE.AGENTBASEID, AGENTBASE.INSTID, AGENTBASE.TYPE$_AGENTT_4FF1A, AGENTBASE.AGENTBASESTATUS, AGENTBASE.CATEGORY, AGENTBASE.ROLE, AGENTBASE.COUNTRY, AGENTBASE.REGION, AGENTBASE.TAXPAYERID, AGENTBASE.C_AGENTNAME__D3943, AGENTBASE.C_AGENTNAME__B1EC3, AGENTBASE.F_OID$_PERSO_762E5, AGENTBASE.C_AGENTNAME__ABD50, AGENTBASE.C_AGENTNAME__7D056, AGENTBASE.C_AGENTNAME__722CD, AGENTBASE.LOGINID, AGENTBASE.ICEPATH, AGENTBASE.F_PAGENTBASE_7B96C, AGENTBASE.F_OID$_AGENT_DB156, AGENTBASE.F_PENTITY_AG_79C9C, @ID_ELAB + FROM C6StagingPeriodico.AGENTBASE + LEFT OUTER JOIN C6StoricoPeriodico.ST_AGENTBASE + ON AGENTBASE.OID$ = ST_AGENTBASE.OID$ + WHERE ST_AGENTBASE.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_ASSET_CLASS_PER_PROMET XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_ASSET_CLASS_PER_PROMET') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_ASSET_CLASS_PER_PROMET WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_ASSET_CLASS_PER_PROMET + (CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ID_ELAB) + SELECT + ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO, ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN, ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF, ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA, @ID_ELAB + FROM C6StagingPeriodico.ALL_ASSET_CLASS_PER_PROMET + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_ASSET_CLASS_PER_PROMET + ON ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO + AND ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN + AND ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF + AND ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA + WHERE ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CF_PB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CF_PB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_CF_PB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_CF_PB + (ID_CLI, NOME, COGNOME, TIPO, AGENTE, CHIAVE_PB, CHIAVE_CLIENTE, NOME_CLIENTE, COGNOME_CLIENTE, CODICE_FISCALE, TIPO_CLIENTE, RETE_PB, CODICE_PB, DATA_NASCITA, MARITALSTATUS, CODICEFISCALE, ID_ELAB) + SELECT + ALL_CF_PB.ID_CLI, ALL_CF_PB.NOME, ALL_CF_PB.COGNOME, ALL_CF_PB.TIPO, ALL_CF_PB.AGENTE, ALL_CF_PB.CHIAVE_PB, ALL_CF_PB.CHIAVE_CLIENTE, ALL_CF_PB.NOME_CLIENTE, ALL_CF_PB.COGNOME_CLIENTE, ALL_CF_PB.CODICE_FISCALE, ALL_CF_PB.TIPO_CLIENTE, ALL_CF_PB.RETE_PB, ALL_CF_PB.CODICE_PB, ALL_CF_PB.DATA_NASCITA, ALL_CF_PB.MARITALSTATUS, ALL_CF_PB.CODICEFISCALE, @ID_ELAB + FROM C6StagingPeriodico.ALL_CF_PB + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_CF_PB + ON ALL_CF_PB.ID_CLI = ST_ALL_CF_PB.ID_CLI + WHERE ST_ALL_CF_PB.ID_CLI IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CF_STATO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CF_STATO') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_CF_STATO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_CF_STATO + (CF_CLIENTE, RETE, STATO_CONSULENZA, TOTALE_RIGHE, TOTALE_STATI, FLAG_UTILIZZO_STATO, ID_ELAB) + SELECT + ALL_CF_STATO.CF_CLIENTE, ALL_CF_STATO.RETE, ALL_CF_STATO.STATO_CONSULENZA, ALL_CF_STATO.TOTALE_RIGHE, ALL_CF_STATO.TOTALE_STATI, ALL_CF_STATO.FLAG_UTILIZZO_STATO, @ID_ELAB + FROM C6StagingPeriodico.ALL_CF_STATO + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_CF_STATO + ON ALL_CF_STATO.CF_CLIENTE = ST_ALL_CF_STATO.CF_CLIENTE + AND ALL_CF_STATO.RETE = ST_ALL_CF_STATO.RETE + WHERE ST_ALL_CF_STATO.CF_CLIENTE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CONSUL_ASUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CONSUL_ASUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_CONSUL_ASUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_CONSUL_ASUL + (CODICE_FISCALE, RETE, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, AREASORTORDER, NOME_PROGETTO, CATALOGUENAME, TIPO_PROGETTO, CONTRATTO, OID_DI_CATITEMREF, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CODICEINTERNO, SOTTOPRODOTTO, CONTROVALORE_ASUL, ID_MONITORAGGIO, CATEGORIA, NUOVO_OID_CAT_PER_ASSET, CATEGORIA_2, COLO_JOIN, ID_ELAB) + SELECT + ALL_CONSUL_ASUL.CODICE_FISCALE, ALL_CONSUL_ASUL.RETE, ALL_CONSUL_ASUL.NEED_AREA_ABBR_DI_AREA, ALL_CONSUL_ASUL.NEED_AREA_ESTESA_DI_AREA, ALL_CONSUL_ASUL.AREASORTORDER, ALL_CONSUL_ASUL.NOME_PROGETTO, ALL_CONSUL_ASUL.CATALOGUENAME, ALL_CONSUL_ASUL.TIPO_PROGETTO, ALL_CONSUL_ASUL.CONTRATTO, ALL_CONSUL_ASUL.OID_DI_CATITEMREF, ALL_CONSUL_ASUL.CONTROVALORE, ALL_CONSUL_ASUL.CONTROV_IN_POS_DEL_PRODOTTO, ALL_CONSUL_ASUL.STRINGONA_POS, ALL_CONSUL_ASUL.CODICEINTERNO, ALL_CONSUL_ASUL.SOTTOPRODOTTO, ALL_CONSUL_ASUL.CONTROVALORE_ASUL, ALL_CONSUL_ASUL.ID_MONITORAGGIO, ALL_CONSUL_ASUL.CATEGORIA, ALL_CONSUL_ASUL.NUOVO_OID_CAT_PER_ASSET, ALL_CONSUL_ASUL.CATEGORIA_2, ALL_CONSUL_ASUL.COLO_JOIN, @ID_ELAB + FROM C6StagingPeriodico.ALL_CONSUL_ASUL + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_CONSUL_ASUL + ON ALL_CONSUL_ASUL.CODICE_FISCALE = ST_ALL_CONSUL_ASUL.CODICE_FISCALE + AND ALL_CONSUL_ASUL.RETE = ST_ALL_CONSUL_ASUL.RETE + AND ALL_CONSUL_ASUL.COLO_JOIN = ST_ALL_CONSUL_ASUL.COLO_JOIN + WHERE ST_ALL_CONSUL_ASUL.CODICE_FISCALE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_PATR_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PATR_TERZI') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_PATR_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_PATR_TERZI + (CHIAVE_PER_CLIENTE, CODICE_FISCALE, RETE_PB, CAPITALE_INVESTITO, CHIAVE_FNC, PRODOTTO_IN_CATALOGO, DATA_SOTTOSCRIZIONE, PREMIO_VERSAMENTO, C_VALUE_582FF, AMMONTARE_VERSAMENTO, DESCRIZIONE_ALBERATURA, DATA_INIZIO_INV, PATRIMONIO_TERZI, NOME_ISTITUTO, CHIAVE_THR, ASSETID, DESCRIZIONE_PRODOTTO, NOMEPRODOTTO, NOME_ISTITUTO_2, INTERMEDIARIO, DATA_SCADENZA, DATA2_UTILIZ_X_SOTTOSCRIZ, BALANCEDATE_DI_THR, CHIAVE_PR_31921, PATRIMONIO_IMMOBILIARE, LOCALITA, AFFITTOPERCEPITO, CHIAVE_F87B4, PATRIMONIO_ALTRO_PN_F87B4, DENOMINAZIONE_PN_F87B4, ISCOVER, TIPO_ISCOVER, CHIAVE_E6F18, PATRIMONIO_ALTRO_PB_E6F18, DENOMINAZIONE, NUMEROQUOTE, COMPANYTYPE, CHIAVE_COMP, COMPANYNAME, CHIAVE_BT_49D5B, TIPO_BT_49D5B, CHIAVE_BT_55768, TIPO_BT_55768, CHIAVE_BT_B70F0, TIPO_BT_B70F0, CHIAVE_BT_6797A, TIPO_BT_6797A, TIPO_VERSAMENTO_BT_6797A, CHIAVE_BT_97BEE, TIPO_BT_97BEE, TIPO_POLIZZA_BT_97BEE, CHIAVE_RDESCR, TIPO_RDESCR, DESCRIZIONE_RDESCR, TIPOLOGIA_RDESCR, ID_ELAB) + SELECT + ALL_PATR_TERZI.CHIAVE_PER_CLIENTE, ALL_PATR_TERZI.CODICE_FISCALE, ALL_PATR_TERZI.RETE_PB, ALL_PATR_TERZI.CAPITALE_INVESTITO, ALL_PATR_TERZI.CHIAVE_FNC, ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO, ALL_PATR_TERZI.DATA_SOTTOSCRIZIONE, ALL_PATR_TERZI.PREMIO_VERSAMENTO, ALL_PATR_TERZI.C_VALUE_582FF, ALL_PATR_TERZI.AMMONTARE_VERSAMENTO, ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA, ALL_PATR_TERZI.DATA_INIZIO_INV, ALL_PATR_TERZI.PATRIMONIO_TERZI, ALL_PATR_TERZI.NOME_ISTITUTO, ALL_PATR_TERZI.CHIAVE_THR, ALL_PATR_TERZI.ASSETID, ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO, ALL_PATR_TERZI.NOMEPRODOTTO, ALL_PATR_TERZI.NOME_ISTITUTO_2, ALL_PATR_TERZI.INTERMEDIARIO, ALL_PATR_TERZI.DATA_SCADENZA, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ, ALL_PATR_TERZI.BALANCEDATE_DI_THR, ALL_PATR_TERZI.CHIAVE_PR_31921, ALL_PATR_TERZI.PATRIMONIO_IMMOBILIARE, ALL_PATR_TERZI.LOCALITA, ALL_PATR_TERZI.AFFITTOPERCEPITO, ALL_PATR_TERZI.CHIAVE_F87B4, ALL_PATR_TERZI.PATRIMONIO_ALTRO_PN_F87B4, ALL_PATR_TERZI.DENOMINAZIONE_PN_F87B4, ALL_PATR_TERZI.ISCOVER, ALL_PATR_TERZI.TIPO_ISCOVER, ALL_PATR_TERZI.CHIAVE_E6F18, ALL_PATR_TERZI.PATRIMONIO_ALTRO_PB_E6F18, ALL_PATR_TERZI.DENOMINAZIONE, ALL_PATR_TERZI.NUMEROQUOTE, ALL_PATR_TERZI.COMPANYTYPE, ALL_PATR_TERZI.CHIAVE_COMP, ALL_PATR_TERZI.COMPANYNAME, ALL_PATR_TERZI.CHIAVE_BT_49D5B, ALL_PATR_TERZI.TIPO_BT_49D5B, ALL_PATR_TERZI.CHIAVE_BT_55768, ALL_PATR_TERZI.TIPO_BT_55768, ALL_PATR_TERZI.CHIAVE_BT_B70F0, ALL_PATR_TERZI.TIPO_BT_B70F0, ALL_PATR_TERZI.CHIAVE_BT_6797A, ALL_PATR_TERZI.TIPO_BT_6797A, ALL_PATR_TERZI.TIPO_VERSAMENTO_BT_6797A, ALL_PATR_TERZI.CHIAVE_BT_97BEE, ALL_PATR_TERZI.TIPO_BT_97BEE, ALL_PATR_TERZI.TIPO_POLIZZA_BT_97BEE, ALL_PATR_TERZI.CHIAVE_RDESCR, ALL_PATR_TERZI.TIPO_RDESCR, ALL_PATR_TERZI.DESCRIZIONE_RDESCR, ALL_PATR_TERZI.TIPOLOGIA_RDESCR, @ID_ELAB + FROM C6StagingPeriodico.ALL_PATR_TERZI + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_PATR_TERZI + ON ALL_PATR_TERZI.CHIAVE_THR = ST_ALL_PATR_TERZI.CHIAVE_THR + WHERE ST_ALL_PATR_TERZI.CHIAVE_THR IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_POS_CONS_CAT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_POS_CONS_CAT') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_POS_CONS_CAT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_POS_CONS_CAT + (CODICE_FISCALE, RETE, STATO_CONSULENZA, DATA_STATO_CONSULENZA, PK_ALTERNATIVA_CONS, DATA_MIGRAZIONE_CONS, PK_AREA, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, C_PERCENTAGE_86095, C_CTVNEEDARE_EA4FB, PK_PRC, TIPO_PROGETTO, ID_MONITORAGGIO, NOME_PROGETTO, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_INVESTIMEN_60625, CONTROVALORE_PER_INV, PERCENTUALE_MODELLO, C_PERCENTUAL_12346, DATA_ORDINAMENTO_INV, CONTRATTO, OID_DI_CATITEMREF, C_OUTCTV_B4FB8, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CONTO, RUBRICATO, CUSTGAR, NUMPOL, TERMID, ANNO, PROG, NOME_PRODOTTO, NEED_AREA_ABBREVIATA_DI_POS, NEED_AREA_ESTESA_DI_POS, CHIAVE_CATITEMREF, CATALOGUENAME, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, COD_ADEGUATEZZA, ALBERATURA, TIPOPRODOTTO, ISNEGOTIABLE, MAINASSETCLASS, AREASORTORDER, ORIGINE_FILE_CATALOGO, FLAG_PRESENZA_MAPPATURA, RAGGRUPPAMEN_NOME_PROGET, ID_ELAB) + SELECT + ALL_POS_CONS_CAT.CODICE_FISCALE, ALL_POS_CONS_CAT.RETE, ALL_POS_CONS_CAT.STATO_CONSULENZA, ALL_POS_CONS_CAT.DATA_STATO_CONSULENZA, ALL_POS_CONS_CAT.PK_ALTERNATIVA_CONS, ALL_POS_CONS_CAT.DATA_MIGRAZIONE_CONS, ALL_POS_CONS_CAT.PK_AREA, ALL_POS_CONS_CAT.NEED_AREA_ABBR_DI_AREA, ALL_POS_CONS_CAT.NEED_AREA_ESTESA_DI_AREA, ALL_POS_CONS_CAT.C_PERCENTAGE_86095, ALL_POS_CONS_CAT.C_CTVNEEDARE_EA4FB, ALL_POS_CONS_CAT.PK_PRC, ALL_POS_CONS_CAT.TIPO_PROGETTO, ALL_POS_CONS_CAT.ID_MONITORAGGIO, ALL_POS_CONS_CAT.NOME_PROGETTO, ALL_POS_CONS_CAT.C_PROJECTCTV_39520, ALL_POS_CONS_CAT.C_PROJECTOUT_9CFB8, ALL_POS_CONS_CAT.C_RISORSELIQ_DF807, ALL_POS_CONS_CAT.C_INVESTIMEN_60625, ALL_POS_CONS_CAT.CONTROVALORE_PER_INV, ALL_POS_CONS_CAT.PERCENTUALE_MODELLO, ALL_POS_CONS_CAT.C_PERCENTUAL_12346, ALL_POS_CONS_CAT.DATA_ORDINAMENTO_INV, ALL_POS_CONS_CAT.CONTRATTO, ALL_POS_CONS_CAT.OID_DI_CATITEMREF, ALL_POS_CONS_CAT.C_OUTCTV_B4FB8, ALL_POS_CONS_CAT.CONTROVALORE, ALL_POS_CONS_CAT.CONTROV_IN_POS_DEL_PRODOTTO, ALL_POS_CONS_CAT.STRINGONA_POS, ALL_POS_CONS_CAT.CONTO, ALL_POS_CONS_CAT.RUBRICATO, ALL_POS_CONS_CAT.CUSTGAR, ALL_POS_CONS_CAT.NUMPOL, ALL_POS_CONS_CAT.TERMID, ALL_POS_CONS_CAT.ANNO, ALL_POS_CONS_CAT.PROG, ALL_POS_CONS_CAT.NOME_PRODOTTO, ALL_POS_CONS_CAT.NEED_AREA_ABBREVIATA_DI_POS, ALL_POS_CONS_CAT.NEED_AREA_ESTESA_DI_POS, ALL_POS_CONS_CAT.CHIAVE_CATITEMREF, ALL_POS_CONS_CAT.CATALOGUENAME, ALL_POS_CONS_CAT.COD_ISIN, ALL_POS_CONS_CAT.COD_MAF, ALL_POS_CONS_CAT.COD_INTERNO, ALL_POS_CONS_CAT.COD_SOTTOPRODOTTO, ALL_POS_CONS_CAT.COD_ADEGUATEZZA, ALL_POS_CONS_CAT.ALBERATURA, ALL_POS_CONS_CAT.TIPOPRODOTTO, ALL_POS_CONS_CAT.ISNEGOTIABLE, ALL_POS_CONS_CAT.MAINASSETCLASS, ALL_POS_CONS_CAT.AREASORTORDER, ALL_POS_CONS_CAT.ORIGINE_FILE_CATALOGO, ALL_POS_CONS_CAT.FLAG_PRESENZA_MAPPATURA, ALL_POS_CONS_CAT.RAGGRUPPAMEN_NOME_PROGET, @ID_ELAB + FROM C6StagingPeriodico.ALL_POS_CONS_CAT + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_POS_CONS_CAT + ON ALL_POS_CONS_CAT.CODICE_FISCALE = ST_ALL_POS_CONS_CAT.CODICE_FISCALE + AND ALL_POS_CONS_CAT.RETE = ST_ALL_POS_CONS_CAT.RETE + AND ALL_POS_CONS_CAT.PK_ALTERNATIVA_CONS = ST_ALL_POS_CONS_CAT.PK_ALTERNATIVA_CONS + AND ALL_POS_CONS_CAT.STRINGONA_POS = ST_ALL_POS_CONS_CAT.STRINGONA_POS + WHERE ST_ALL_POS_CONS_CAT.CODICE_FISCALE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_PROPOSTA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PROPOSTA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_PROPOSTA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_PROPOSTA + (AGENTE, RETE, NOME_CLIENTE, COGNOME_CLIENTE, CODICEFISCALE, CHIAVE_PROPOSTA, NOME_PROPOSTA, STATO_PROPOSTA, DATA_CREAZIONE_PROPOSTA, DATA_SCADENZA_PROPOSTA, NEED_BREVE, NEED_ESTESA, ORDINE_NEED, CONTROVALORE_TOT_PER_NEED, PERC_PER_NEED, NOME_PROGETTO, CONTROV_CONSULENZA, CONTROV_PROPOSTA, CONTROV_DA_DEFINIRE_LIQ, ISANEWPOSITION, STRINGONA_CLONEPOS, NOME_PRODOTTO_CLONEPOS, INVESTI, DISINVESTI, PTF_INIZ, CTVOPERAZIONE, CONTRACTCODE, POLIZZADECIMAL, CONTO, RUBRICATO, PR_COD_ISIN, PR_COD_MAF, PR_COD_INTERNO, PR_COD_SOTTOPRODOTTO, PR_COD_ADEGUATEZZA, NOME_PRODOTTO_CATALOGO, TIPOPRODOTTO, CHIAVE_CATITEMREF, CHIAVE_PER_LA_CONSULENZA, RICONCILIATA, FLAG_PROPOSTA_PER_PROGETTO, FLAG_PROPOSTA_PER_AREA, FLAG_SALVATAGGIO_MANUALE, RAGGRUPPAMENTO_PROGETTO, ID_ELAB) + SELECT + ALL_PROPOSTA.AGENTE, ALL_PROPOSTA.RETE, ALL_PROPOSTA.NOME_CLIENTE, ALL_PROPOSTA.COGNOME_CLIENTE, ALL_PROPOSTA.CODICEFISCALE, ALL_PROPOSTA.CHIAVE_PROPOSTA, ALL_PROPOSTA.NOME_PROPOSTA, ALL_PROPOSTA.STATO_PROPOSTA, ALL_PROPOSTA.DATA_CREAZIONE_PROPOSTA, ALL_PROPOSTA.DATA_SCADENZA_PROPOSTA, ALL_PROPOSTA.NEED_BREVE, ALL_PROPOSTA.NEED_ESTESA, ALL_PROPOSTA.ORDINE_NEED, ALL_PROPOSTA.CONTROVALORE_TOT_PER_NEED, ALL_PROPOSTA.PERC_PER_NEED, ALL_PROPOSTA.NOME_PROGETTO, ALL_PROPOSTA.CONTROV_CONSULENZA, ALL_PROPOSTA.CONTROV_PROPOSTA, ALL_PROPOSTA.CONTROV_DA_DEFINIRE_LIQ, ALL_PROPOSTA.ISANEWPOSITION, ALL_PROPOSTA.STRINGONA_CLONEPOS, ALL_PROPOSTA.NOME_PRODOTTO_CLONEPOS, ALL_PROPOSTA.INVESTI, ALL_PROPOSTA.DISINVESTI, ALL_PROPOSTA.PTF_INIZ, ALL_PROPOSTA.CTVOPERAZIONE, ALL_PROPOSTA.CONTRACTCODE, ALL_PROPOSTA.POLIZZADECIMAL, ALL_PROPOSTA.CONTO, ALL_PROPOSTA.RUBRICATO, ALL_PROPOSTA.PR_COD_ISIN, ALL_PROPOSTA.PR_COD_MAF, ALL_PROPOSTA.PR_COD_INTERNO, ALL_PROPOSTA.PR_COD_SOTTOPRODOTTO, ALL_PROPOSTA.PR_COD_ADEGUATEZZA, ALL_PROPOSTA.NOME_PRODOTTO_CATALOGO, ALL_PROPOSTA.TIPOPRODOTTO, ALL_PROPOSTA.CHIAVE_CATITEMREF, ALL_PROPOSTA.CHIAVE_PER_LA_CONSULENZA, ALL_PROPOSTA.RICONCILIATA, ALL_PROPOSTA.FLAG_PROPOSTA_PER_PROGETTO, ALL_PROPOSTA.FLAG_PROPOSTA_PER_AREA, ALL_PROPOSTA.FLAG_SALVATAGGIO_MANUALE, ALL_PROPOSTA.RAGGRUPPAMENTO_PROGETTO, @ID_ELAB + FROM C6StagingPeriodico.ALL_PROPOSTA + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_PROPOSTA + ON ALL_PROPOSTA.CHIAVE_PROPOSTA = ST_ALL_PROPOSTA.CHIAVE_PROPOSTA + AND ALL_PROPOSTA.STRINGONA_CLONEPOS = ST_ALL_PROPOSTA.STRINGONA_CLONEPOS + WHERE ST_ALL_PROPOSTA.CHIAVE_PROPOSTA IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX AREEDIBISOGNO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'AREEDIBISOGNO') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_AREEDIBISOGNO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_AREEDIBISOGNO + (AREAID, AREANAME, AREASORTORDER, ID_ELAB) + SELECT + AREEDIBISOGNO.AREAID, AREEDIBISOGNO.AREANAME, AREEDIBISOGNO.AREASORTORDER, @ID_ELAB + FROM C6StagingPeriodico.AREEDIBISOGNO + LEFT OUTER JOIN C6StoricoPeriodico.ST_AREEDIBISOGNO + ON AREEDIBISOGNO.AREAID = ST_AREEDIBISOGNO.AREAID + WHERE ST_AREEDIBISOGNO.AREAID IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSET_1_E_2_ORDINATE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSET_1_E_2_ORDINATE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ASSET_1_E_2_ORDINATE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ASSET_1_E_2_ORDINATE + (CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ASSETCLASSNAME, ORDINAMENTO_ASSET, ID_ELAB) + SELECT + ASSET_1_E_2_ORDINATE.CODICE_ASSET_CLASS_INGRESSO, ASSET_1_E_2_ORDINATE.CODICE_ISIN, ASSET_1_E_2_ORDINATE.CODICE_MAF, ASSET_1_E_2_ORDINATE.CODICE_ADEGUATEZZA, ASSET_1_E_2_ORDINATE.ASSETCLASSNAME, ASSET_1_E_2_ORDINATE.ORDINAMENTO_ASSET, @ID_ELAB + FROM C6StagingPeriodico.ASSET_1_E_2_ORDINATE + LEFT OUTER JOIN C6StoricoPeriodico.ST_ASSET_1_E_2_ORDINATE + ON ASSET_1_E_2_ORDINATE.CODICE_ASSET_CLASS_INGRESSO = ST_ASSET_1_E_2_ORDINATE.CODICE_ASSET_CLASS_INGRESSO + AND ASSET_1_E_2_ORDINATE.CODICE_ISIN = ST_ASSET_1_E_2_ORDINATE.CODICE_ISIN + AND ASSET_1_E_2_ORDINATE.CODICE_MAF = ST_ASSET_1_E_2_ORDINATE.CODICE_MAF + AND ASSET_1_E_2_ORDINATE.CODICE_ADEGUATEZZA = ST_ASSET_1_E_2_ORDINATE.CODICE_ADEGUATEZZA + WHERE ST_ASSET_1_E_2_ORDINATE.CODICE_ASSET_CLASS_INGRESSO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ASSETCLASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ASSETCLASS + (OID$, VERSION$, ASSETCLASSID, ASSETCLASSNAME, ASSETCLASSDESCR, ASSETCLASSLEV, ISRESIDUAL, F_PASSETCLAS_2FB94, F_OID$_ASSET_B965C, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ORDINE, ID_ELAB) + SELECT + ASSETCLASS.OID$, ASSETCLASS.VERSION$, ASSETCLASS.ASSETCLASSID, ASSETCLASS.ASSETCLASSNAME, ASSETCLASS.ASSETCLASSDESCR, ASSETCLASS.ASSETCLASSLEV, ASSETCLASS.ISRESIDUAL, ASSETCLASS.F_PASSETCLAS_2FB94, ASSETCLASS.F_OID$_ASSET_B965C, ASSETCLASS.CODICE_ISIN, ASSETCLASS.CODICE_MAF, ASSETCLASS.CODICE_ADEGUATEZZA, ASSETCLASS.ORDINE, @ID_ELAB + FROM C6StagingPeriodico.ASSETCLASS + LEFT OUTER JOIN C6StoricoPeriodico.ST_ASSETCLASS + ON ASSETCLASS.OID$ = ST_ASSETCLASS.OID$ + WHERE ST_ASSETCLASS.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX C_BO_453FB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'C_BO_453FB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_C_BO_453FB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_C_BO_453FB + (OID$, C_VALUE_7BD3C, C_DESCRIZION_93ABE, PK_PRC, ID_ELAB) + SELECT + C_BO_453FB.OID$, C_BO_453FB.C_VALUE_7BD3C, C_BO_453FB.C_DESCRIZION_93ABE, C_BO_453FB.PK_PRC, @ID_ELAB + FROM C6StagingPeriodico.C_BO_453FB + LEFT OUTER JOIN C6StoricoPeriodico.ST_C_BO_453FB + ON C_BO_453FB.OID$ = ST_C_BO_453FB.OID$ + WHERE ST_C_BO_453FB.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CATINAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CATINAREA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CATINAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CATINAREA + (OID$, VERSION$, C_ISMAINNEED_9C780, NEEDAREAVALUE, F_OID$_NEEDA_2C362, F_PCATALOGUE_5D024, ID_ELAB) + SELECT + CATINAREA.OID$, CATINAREA.VERSION$, CATINAREA.C_ISMAINNEED_9C780, CATINAREA.NEEDAREAVALUE, CATINAREA.F_OID$_NEEDA_2C362, CATINAREA.F_PCATALOGUE_5D024, @ID_ELAB + FROM C6StagingPeriodico.CATINAREA + LEFT OUTER JOIN C6StoricoPeriodico.ST_CATINAREA + ON CATINAREA.OID$ = ST_CATINAREA.OID$ + WHERE ST_CATINAREA.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CATITEMREF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CATITEMREF') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CATITEMREF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CATITEMREF + (OID$, VERSION$, PRODUCTCURRENCY, PRODUCTCOUNTRY, PRODUCTREGION, CATALOGUEID, COD_ISIN, COD_ADEGUATEZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TYPE$_BCATAL_FC317, CATEGORY, INSTITUTIONS, COUNTRY, PIAZZA, ULTIMOPRZCURR, ULTIMOPRZ, CAPITALERISPARMIO, LMINCAPCONTRCURR, LMINCAPCONTR, LSUCCAPCONTRCURR, LSUCCAPCONTR, LMINRISPCONTRCURR, LMINRISPCONTR, LSUCRISPCONTRCURR, LSUCRISPCONTR, LMINCOMMCURR, LMINCOMM, DELEGAGESTIONALE, TIPOLOGIAPERPICK, EXPIRATIONDATE, RISKPRICE, FISCALREGIMENT, QUOTATO, CLASSEDIPREZZO, BONDRATING, BONDDURATION, TEMPMIN, TEMPMAX, PRIPRODCOM, MAINASSETCLASS, MACROACOBPERC, MACROACALPERC, MACROACAZPERC, MACROACMNPERC, LINEEFINACC, TIPOVERS, TIPOPOLIZRAM1, DURATACONTR, GARDEMO, RISKPRESSCAD, LIVFLUTDUR, OPZRENDVIT, METAA, METAB, METAC, RATOBBLIG, ULTIMOPREZZOCURR, ULTIMOPREZZO, DATARIFPREZZO, CODICEADB, AGGIORNFEED, DISTRPROV, CODTIPOCONTR, ULTPRZSECCURR, ULTPRZSEC, DATAULTPRZSEC, CODBLOOMBERG, DENOMUNITLNK, TIPOPRODOTTO, GENERICDATA, GENERICCURCURR, GENERICCUR, GENERICSTRING1, GENERICSTRING2, CATALOGUENAME, EFFECTIVEFROM, EFFECTIVETO, PRODUCTSTATUS, ISVISIBLE, ISNEGOTIABLE, BRIEFDESCRIPTION, F_OID$_VAR_CDDF8, RISKPROFOFSUITCLS, OPINION, OPINIONDATE, F_OID$_CATAL_B3E14, F_OID$_PCATE_F3BF6, F_OID$_MAINA_76C35, F_OID$_INSTR_B5526, F_OID$_MAINS_5FCE5, F_OID$_MAINR_08A23, F_OID$_PRISK_AAC57, F_OID$_PRODU_F8FBB, F_OID$_MARKE_F3D2D, COLL_SKANDIA, CODASSETSAT, ID_ELAB) + SELECT + CATITEMREF.OID$, CATITEMREF.VERSION$, CATITEMREF.PRODUCTCURRENCY, CATITEMREF.PRODUCTCOUNTRY, CATITEMREF.PRODUCTREGION, CATITEMREF.CATALOGUEID, CATITEMREF.COD_ISIN, CATITEMREF.COD_ADEGUATEZZA, CATITEMREF.COD_MAF, CATITEMREF.COD_INTERNO, CATITEMREF.COD_SOTTOPRODOTTO, CATITEMREF.TYPE$_BCATAL_FC317, CATITEMREF.CATEGORY, CATITEMREF.INSTITUTIONS, CATITEMREF.COUNTRY, CATITEMREF.PIAZZA, CATITEMREF.ULTIMOPRZCURR, CATITEMREF.ULTIMOPRZ, CATITEMREF.CAPITALERISPARMIO, CATITEMREF.LMINCAPCONTRCURR, CATITEMREF.LMINCAPCONTR, CATITEMREF.LSUCCAPCONTRCURR, CATITEMREF.LSUCCAPCONTR, CATITEMREF.LMINRISPCONTRCURR, CATITEMREF.LMINRISPCONTR, CATITEMREF.LSUCRISPCONTRCURR, CATITEMREF.LSUCRISPCONTR, CATITEMREF.LMINCOMMCURR, CATITEMREF.LMINCOMM, CATITEMREF.DELEGAGESTIONALE, CATITEMREF.TIPOLOGIAPERPICK, CATITEMREF.EXPIRATIONDATE, CATITEMREF.RISKPRICE, CATITEMREF.FISCALREGIMENT, CATITEMREF.QUOTATO, CATITEMREF.CLASSEDIPREZZO, CATITEMREF.BONDRATING, CATITEMREF.BONDDURATION, CATITEMREF.TEMPMIN, CATITEMREF.TEMPMAX, CATITEMREF.PRIPRODCOM, CATITEMREF.MAINASSETCLASS, CATITEMREF.MACROACOBPERC, CATITEMREF.MACROACALPERC, CATITEMREF.MACROACAZPERC, CATITEMREF.MACROACMNPERC, CATITEMREF.LINEEFINACC, CATITEMREF.TIPOVERS, CATITEMREF.TIPOPOLIZRAM1, CATITEMREF.DURATACONTR, CATITEMREF.GARDEMO, CATITEMREF.RISKPRESSCAD, CATITEMREF.LIVFLUTDUR, CATITEMREF.OPZRENDVIT, CATITEMREF.METAA, CATITEMREF.METAB, CATITEMREF.METAC, CATITEMREF.RATOBBLIG, CATITEMREF.ULTIMOPREZZOCURR, CATITEMREF.ULTIMOPREZZO, CATITEMREF.DATARIFPREZZO, CATITEMREF.CODICEADB, CATITEMREF.AGGIORNFEED, CATITEMREF.DISTRPROV, CATITEMREF.CODTIPOCONTR, CATITEMREF.ULTPRZSECCURR, CATITEMREF.ULTPRZSEC, CATITEMREF.DATAULTPRZSEC, CATITEMREF.CODBLOOMBERG, CATITEMREF.DENOMUNITLNK, CATITEMREF.TIPOPRODOTTO, CATITEMREF.GENERICDATA, CATITEMREF.GENERICCURCURR, CATITEMREF.GENERICCUR, CATITEMREF.GENERICSTRING1, CATITEMREF.GENERICSTRING2, CATITEMREF.CATALOGUENAME, CATITEMREF.EFFECTIVEFROM, CATITEMREF.EFFECTIVETO, CATITEMREF.PRODUCTSTATUS, CATITEMREF.ISVISIBLE, CATITEMREF.ISNEGOTIABLE, CATITEMREF.BRIEFDESCRIPTION, CATITEMREF.F_OID$_VAR_CDDF8, CATITEMREF.RISKPROFOFSUITCLS, CATITEMREF.OPINION, CATITEMREF.OPINIONDATE, CATITEMREF.F_OID$_CATAL_B3E14, CATITEMREF.F_OID$_PCATE_F3BF6, CATITEMREF.F_OID$_MAINA_76C35, CATITEMREF.F_OID$_INSTR_B5526, CATITEMREF.F_OID$_MAINS_5FCE5, CATITEMREF.F_OID$_MAINR_08A23, CATITEMREF.F_OID$_PRISK_AAC57, CATITEMREF.F_OID$_PRODU_F8FBB, CATITEMREF.F_OID$_MARKE_F3D2D, CATITEMREF.COLL_SKANDIA, CATITEMREF.CODASSETSAT, @ID_ELAB + FROM C6StagingPeriodico.CATITEMREF + LEFT OUTER JOIN C6StoricoPeriodico.ST_CATITEMREF + ON CATITEMREF.OID$ = ST_CATITEMREF.OID$ + WHERE ST_CATITEMREF.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CLIENTI_CON_RNA XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'CLIENTI_CON_RNA') + -- BEGIN + -- DELETE FROM C6StoricoPeriodico.ST_CLIENTI_CON_RNA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6StoricoPeriodico.ST_CLIENTI_CON_RNA + -- ([Rete] + -- ,[CodicePB] + -- ,[CodiceFiscale] + -- ,[Percentuale] + -- ,[DataCalcolo] + -- ,ID_ELAB) + -- SELECT [Rete] + -- ,[CodicePB] + -- ,[CodiceFiscale] + -- ,[Percentuale] + -- ,[DataCalcolo] + -- ,@ID_ELAB ID_ELAB + -- FROM C6StagingPeriodico.CLIENTI_CON_RNA + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX CONO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONO') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CONO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CONO + (OID$, VERSION$, C_DATA_FD2A6, C_QUANTILE5_BF710, C_QUANTILE95_0D6CE, F_PPROJECT_P_46507, C_QUANTILE50_C47E0, ID_ELAB) + SELECT + CONO.OID$, CONO.VERSION$, CONO.C_DATA_FD2A6, CONO.C_QUANTILE5_BF710, CONO.C_QUANTILE95_0D6CE, CONO.F_PPROJECT_P_46507, CONO.C_QUANTILE50_C47E0, @ID_ELAB + FROM C6StagingPeriodico.CONO + LEFT OUTER JOIN C6StoricoPeriodico.ST_CONO + ON CONO.OID$ = ST_CONO.OID$ + WHERE ST_CONO.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONSAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONSAREA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CONSAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CONSAREA + (OID$, VERSION$, F_PCONSULENZ_7FBE3, C_CONSULENZA_A58F3, C_CONSULENZA_E94E3, C_NEEDAREA_V_46360, C_NEEDAREA_D_911D8, C_CTVNEEDARE_EA4FB, C_PERCENTAGE_86095, C_OUTCTV_A27B5, C_PATRIMONIO_F4B8E, C_INVESTIMEN_AC24C, C_CONSULENZA_0C219, C_CONSULENZA_1C9D3, ID_ELAB) + SELECT + CONSAREA.OID$, CONSAREA.VERSION$, CONSAREA.F_PCONSULENZ_7FBE3, CONSAREA.C_CONSULENZA_A58F3, CONSAREA.C_CONSULENZA_E94E3, CONSAREA.C_NEEDAREA_V_46360, CONSAREA.C_NEEDAREA_D_911D8, CONSAREA.C_CTVNEEDARE_EA4FB, CONSAREA.C_PERCENTAGE_86095, CONSAREA.C_OUTCTV_A27B5, CONSAREA.C_PATRIMONIO_F4B8E, CONSAREA.C_INVESTIMEN_AC24C, CONSAREA.C_CONSULENZA_0C219, CONSAREA.C_CONSULENZA_1C9D3, @ID_ELAB + FROM C6StagingPeriodico.CONSAREA + LEFT OUTER JOIN C6StoricoPeriodico.ST_CONSAREA + ON CONSAREA.OID$ = ST_CONSAREA.OID$ + WHERE ST_CONSAREA.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONSUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONSUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CONSUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CONSUL + (OID$, VERSION$, C_CONSULENZA_EBDBE, ADBKID, INSTID, TYPE$_TIPOCO_1EA7C, C_CONTROVALO_C57EE, C_PATRIMONIO_0BF30, C_ALTROPATRI_E90EF, C_ALTRO_5AD86, C_DATAINIZIO_35C15, C_RISORSENON_A04BD, C_INVESTIMEN_C4514, C_INVESTIMEN_36DE3, C_IDQUESTION_5549B, C_DATAQUESTI_5069A, C_VARCONSOB_28C92, C_VALORIALLI_0CA23, C_DATAPIRAMI_661DA, C_DATACONSVE_D3DE3, C_DATACONSOR_EA88E, C_PROFILOCON_81F5D, C_DATAMIGRAZ_BF705, C_SALVADANAI_B156A, C_CONSULENZA_2C1E1, C_DATACONSVE_66B66, C_DATACAMBIO_79509, ID_ELAB) + SELECT + CONSUL.OID$, CONSUL.VERSION$, CONSUL.C_CONSULENZA_EBDBE, CONSUL.ADBKID, CONSUL.INSTID, CONSUL.TYPE$_TIPOCO_1EA7C, CONSUL.C_CONTROVALO_C57EE, CONSUL.C_PATRIMONIO_0BF30, CONSUL.C_ALTROPATRI_E90EF, CONSUL.C_ALTRO_5AD86, CONSUL.C_DATAINIZIO_35C15, CONSUL.C_RISORSENON_A04BD, CONSUL.C_INVESTIMEN_C4514, CONSUL.C_INVESTIMEN_36DE3, CONSUL.C_IDQUESTION_5549B, CONSUL.C_DATAQUESTI_5069A, CONSUL.C_VARCONSOB_28C92, CONSUL.C_VALORIALLI_0CA23, CONSUL.C_DATAPIRAMI_661DA, CONSUL.C_DATACONSVE_D3DE3, CONSUL.C_DATACONSOR_EA88E, CONSUL.C_PROFILOCON_81F5D, CONSUL.C_DATAMIGRAZ_BF705, CONSUL.C_SALVADANAI_B156A, CONSUL.C_CONSULENZA_2C1E1, CONSUL.C_DATACONSVE_66B66, CONSUL.C_DATACAMBIO_79509, @ID_ELAB + FROM C6StagingPeriodico.CONSUL + LEFT OUTER JOIN C6StoricoPeriodico.ST_CONSUL + ON CONSUL.OID$ = ST_CONSUL.OID$ + WHERE ST_CONSUL.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX INDREND XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'INDREND') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_INDREND WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_INDREND + (OID$, VERSION$, C_VAR_A94EA, C_TEMPOINVES_CE300, C_COPERTURA_94818, C_PERDITAMAX_F5B51, ID_ELAB) + SELECT + INDREND.OID$, INDREND.VERSION$, INDREND.C_VAR_A94EA, INDREND.C_TEMPOINVES_CE300, INDREND.C_COPERTURA_94818, INDREND.C_PERDITAMAX_F5B51, @ID_ELAB + FROM C6StagingPeriodico.INDREND + LEFT OUTER JOIN C6StoricoPeriodico.ST_INDREND + ON INDREND.OID$ = ST_INDREND.OID$ + WHERE ST_INDREND.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX INSTRBDS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'INSTRBDS') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_INSTRBDS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_INSTRBDS + (OID$, VERSION$, BDISIN, BDMAF, F_OID$_PCATA_5DDA6, PROVENIENZA, ID_ELAB) + SELECT + INSTRBDS.OID$, INSTRBDS.VERSION$, INSTRBDS.BDISIN, INSTRBDS.BDMAF, INSTRBDS.F_OID$_PCATA_5DDA6, INSTRBDS.PROVENIENZA, @ID_ELAB + FROM C6StagingPeriodico.INSTRBDS + LEFT OUTER JOIN C6StoricoPeriodico.ST_INSTRBDS + ON INSTRBDS.OID$ = ST_INSTRBDS.OID$ + WHERE ST_INSTRBDS.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX NEEDAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'NEEDAREA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_NEEDAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_NEEDAREA + (OID$, VERSION$, AREAID, AREANAME, EFFECTIVEFROM, EFFECTIVETO, BRIEFDESCRIPTION, F_PNEEDAREA__742D7, AREASORTORDER, ID_ELAB) + SELECT + NEEDAREA.OID$, NEEDAREA.VERSION$, NEEDAREA.AREAID, NEEDAREA.AREANAME, NEEDAREA.EFFECTIVEFROM, NEEDAREA.EFFECTIVETO, NEEDAREA.BRIEFDESCRIPTION, NEEDAREA.F_PNEEDAREA__742D7, NEEDAREA.AREASORTORDER, @ID_ELAB + FROM C6StagingPeriodico.NEEDAREA + LEFT OUTER JOIN C6StoricoPeriodico.ST_NEEDAREA + ON NEEDAREA.OID$ = ST_NEEDAREA.OID$ + WHERE ST_NEEDAREA.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX NOME_PROGETTO_BOZZA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'NOME_PROGETTO_BOZZA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_NOME_PROGETTO_BOZZA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_NOME_PROGETTO_BOZZA + (ADBKID, INSTID, NUOVO_NOME_PROGETTO, C_PROJECTIDR_51E22, NEEDAREA, ID_ELAB) + SELECT + NOME_PROGETTO_BOZZA.ADBKID, NOME_PROGETTO_BOZZA.INSTID, NOME_PROGETTO_BOZZA.NUOVO_NOME_PROGETTO, NOME_PROGETTO_BOZZA.C_PROJECTIDR_51E22, NOME_PROGETTO_BOZZA.NEEDAREA, @ID_ELAB + FROM C6StagingPeriodico.NOME_PROGETTO_BOZZA + LEFT OUTER JOIN C6StoricoPeriodico.ST_NOME_PROGETTO_BOZZA + ON NOME_PROGETTO_BOZZA.C_PROJECTIDR_51E22 = ST_NOME_PROGETTO_BOZZA.C_PROJECTIDR_51E22 + WHERE ST_NOME_PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX OTHINTRST XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'OTHINTRST') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_OTHINTRST WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_OTHINTRST + (OID$, VERSION$, INTERESTDESC, INTERESTCUR, INTERESTAMT, F_PQUANTIFIC_76FF6, ID_ELAB) + SELECT + OTHINTRST.OID$, OTHINTRST.VERSION$, OTHINTRST.INTERESTDESC, OTHINTRST.INTERESTCUR, OTHINTRST.INTERESTAMT, OTHINTRST.F_PQUANTIFIC_76FF6, @ID_ELAB + FROM C6StagingPeriodico.OTHINTRST + LEFT OUTER JOIN C6StoricoPeriodico.ST_OTHINTRST + ON OTHINTRST.OID$ = ST_OTHINTRST.OID$ + WHERE ST_OTHINTRST.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PHOTO_DATA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PHOTO_DATA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PHOTO_DATA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PHOTO_DATA + (OID_, VERSION_, ADBKID, INSTID, C_DATAREQ_EB2B5, TYPE__TYPE_7CAB6, TYPE__STATUS_1E30E, C_DATASALVAT_D40E3, C_CTVINV_990D8, C_CTVRIS_43FEA, C_CTVLIQ_54D1B, C_CTVPRE_A0E49, C_CTVEXT_34DCC, C_CTVCC_E242D, C_CTVNA_473EA, C_VAR_16494, C_COPVAR_5C6E5, ID_ELAB) + SELECT + PHOTO_DATA.OID_, PHOTO_DATA.VERSION_, PHOTO_DATA.ADBKID, PHOTO_DATA.INSTID, PHOTO_DATA.C_DATAREQ_EB2B5, PHOTO_DATA.TYPE__TYPE_7CAB6, PHOTO_DATA.TYPE__STATUS_1E30E, PHOTO_DATA.C_DATASALVAT_D40E3, PHOTO_DATA.C_CTVINV_990D8, PHOTO_DATA.C_CTVRIS_43FEA, PHOTO_DATA.C_CTVLIQ_54D1B, PHOTO_DATA.C_CTVPRE_A0E49, PHOTO_DATA.C_CTVEXT_34DCC, PHOTO_DATA.C_CTVCC_E242D, PHOTO_DATA.C_CTVNA_473EA, PHOTO_DATA.C_VAR_16494, PHOTO_DATA.C_COPVAR_5C6E5, @ID_ELAB + FROM C6StagingPeriodico.PHOTO_DATA + LEFT OUTER JOIN C6StoricoPeriodico.ST_PHOTO_DATA + ON PHOTO_DATA.OID_ = ST_PHOTO_DATA.OID_ + WHERE ST_PHOTO_DATA.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PORTMOD XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PORTMOD') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PORTMOD WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PORTMOD + (OID$, VERSION$, F_PPROJECT_P_EE748, C_ASSET_CD02D, C_PERCENTUAL_143B7, ID_ELAB) + SELECT + PORTMOD.OID$, PORTMOD.VERSION$, PORTMOD.F_PPROJECT_P_EE748, PORTMOD.C_ASSET_CD02D, PORTMOD.C_PERCENTUAL_143B7, @ID_ELAB + FROM C6StagingPeriodico.PORTMOD + LEFT OUTER JOIN C6StoricoPeriodico.ST_PORTMOD + ON PORTMOD.OID$ = ST_PORTMOD.OID$ + WHERE ST_PORTMOD.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX POSITION XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'POSITION') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_POSITION WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_POSITION + (OID$, VERSION$, F_PCONSULENZ_56F23, POSITIONID, CONSULENZAID, TYPE$_CATALO_35E2A, POSITIONNAME, CONTROVALORE, C_OUTCTV_B4FB8, C_NEEDAREASE_3D485, C_NEEDAREASE_30873, CATALOGUEITEMID, F_OID$_POSIT_00526, F_PPROJECT_P_B5629, CTVINIZIALE, ID_ELAB) + SELECT + POSITION.OID$, POSITION.VERSION$, POSITION.F_PCONSULENZ_56F23, POSITION.POSITIONID, POSITION.CONSULENZAID, POSITION.TYPE$_CATALO_35E2A, POSITION.POSITIONNAME, POSITION.CONTROVALORE, POSITION.C_OUTCTV_B4FB8, POSITION.C_NEEDAREASE_3D485, POSITION.C_NEEDAREASE_30873, POSITION.CATALOGUEITEMID, POSITION.F_OID$_POSIT_00526, POSITION.F_PPROJECT_P_B5629, POSITION.CTVINIZIALE, @ID_ELAB + FROM C6StagingPeriodico.POSITION + LEFT OUTER JOIN C6StoricoPeriodico.ST_POSITION + ON POSITION.OID$ = ST_POSITION.OID$ + WHERE ST_POSITION.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PRCONSUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PRCONSUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PRCONSUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PRCONSUL + (OID$, VERSION$, F_PCONSULENZ_B69E4, C_PROJECTID_9894C, C_CONSULENZA_CB331, C_CONSULENZA_A7FC6, NEEDAREAID, TYPE$_PROJEC_14674, C_PROJECTNAM_11D1A, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_CREATIONDA_732BD, C_LASTMODIFI_3BF4A, C_INVESTIMEN_60625, F_OID$_FREQU_A5FAB, C_IMPORTOPER_7A987, F_OID$_RISKP_9CF4A, F_OID$_ORIZZ_4A868, C_PERDITAAVV_D414B, C_PERDITAMAX_55078, C_GUADAGNOAV_2BD07, C_GUADAGNOMA_D14C4, C_RISERVENON_CCD2D, C_RISERVEMON_5E189, C_RISERVEOBB_121FA, C_RISERVEAZI_175C0, C_CONSULENZA_ACEEE, C_PROJECTIDM_1AF31, C_PROJECTIDR_51E22, C_DATAULTIMO_FFA71, C_PERDITAMAX_BEABF, C_PERDITAMAX_AAB4C, C_GUADAGNOMA_43151, C_GUADAGNOMA_0F76F, F_OID$_PROJE_CD4BB, C_NOTE_B4B97, C_PERCENTUAL_69019, C_PERCENTUAL_12346, F_OID$_RISKS_A3B54, C_ORDERTIMES_80019, ID_ELAB) + SELECT + PRCONSUL.OID$, PRCONSUL.VERSION$, PRCONSUL.F_PCONSULENZ_B69E4, PRCONSUL.C_PROJECTID_9894C, PRCONSUL.C_CONSULENZA_CB331, PRCONSUL.C_CONSULENZA_A7FC6, PRCONSUL.NEEDAREAID, PRCONSUL.TYPE$_PROJEC_14674, PRCONSUL.C_PROJECTNAM_11D1A, PRCONSUL.C_PROJECTCTV_39520, PRCONSUL.C_PROJECTOUT_9CFB8, PRCONSUL.C_RISORSELIQ_DF807, PRCONSUL.C_CREATIONDA_732BD, PRCONSUL.C_LASTMODIFI_3BF4A, PRCONSUL.C_INVESTIMEN_60625, PRCONSUL.F_OID$_FREQU_A5FAB, PRCONSUL.C_IMPORTOPER_7A987, PRCONSUL.F_OID$_RISKP_9CF4A, PRCONSUL.F_OID$_ORIZZ_4A868, PRCONSUL.C_PERDITAAVV_D414B, PRCONSUL.C_PERDITAMAX_55078, PRCONSUL.C_GUADAGNOAV_2BD07, PRCONSUL.C_GUADAGNOMA_D14C4, PRCONSUL.C_RISERVENON_CCD2D, PRCONSUL.C_RISERVEMON_5E189, PRCONSUL.C_RISERVEOBB_121FA, PRCONSUL.C_RISERVEAZI_175C0, PRCONSUL.C_CONSULENZA_ACEEE, PRCONSUL.C_PROJECTIDM_1AF31, PRCONSUL.C_PROJECTIDR_51E22, PRCONSUL.C_DATAULTIMO_FFA71, PRCONSUL.C_PERDITAMAX_BEABF, PRCONSUL.C_PERDITAMAX_AAB4C, PRCONSUL.C_GUADAGNOMA_43151, PRCONSUL.C_GUADAGNOMA_0F76F, PRCONSUL.F_OID$_PROJE_CD4BB, PRCONSUL.C_NOTE_B4B97, PRCONSUL.C_PERCENTUAL_69019, PRCONSUL.C_PERCENTUAL_12346, PRCONSUL.F_OID$_RISKS_A3B54, PRCONSUL.C_ORDERTIMES_80019, @ID_ELAB + FROM C6StagingPeriodico.PRCONSUL + LEFT OUTER JOIN C6StoricoPeriodico.ST_PRCONSUL + ON PRCONSUL.OID$ = ST_PRCONSUL.OID$ + WHERE ST_PRCONSUL.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PROMETEIA_AGGR XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PROMETEIA_AGGR') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PROMETEIA_AGGR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PROMETEIA_AGGR + (Rete, CodiceFiscale, Portafoglio, VaRAssolutoDiPortafoglio, VaRPercentuialeDiPortafoglio, CVaRAssolutoDiPortafoglio, CVaRPercentualeDiPortafoglio, RisksizeDiPortafoglio, McVar, McVarP, Beneficio, Copertura, Totale, ID_ELAB) + SELECT + PROMETEIA_AGGR.Rete, PROMETEIA_AGGR.CodiceFiscale, PROMETEIA_AGGR.Portafoglio, PROMETEIA_AGGR.VaRAssolutoDiPortafoglio, PROMETEIA_AGGR.VaRPercentuialeDiPortafoglio, PROMETEIA_AGGR.CVaRAssolutoDiPortafoglio, PROMETEIA_AGGR.CVaRPercentualeDiPortafoglio, PROMETEIA_AGGR.RisksizeDiPortafoglio, PROMETEIA_AGGR.McVar, PROMETEIA_AGGR.McVarP, PROMETEIA_AGGR.Beneficio, PROMETEIA_AGGR.Copertura, PROMETEIA_AGGR.Totale, @ID_ELAB + FROM C6StagingPeriodico.PROMETEIA_AGGR + LEFT OUTER JOIN C6StoricoPeriodico.PROMETEIA_AGGR + ON PROMETEIA_AGGR.Rete = ST_PROMETEIA_AGGR.Rete + AND PROMETEIA_AGGR.CodiceFiscale = ST_PROMETEIA_AGGR.CodiceFiscale + AND PROMETEIA_AGGR.Portafoglio = ST_PROMETEIA_AGGR.Portafoglio + WHERE ST_PROMETEIA_AGGR.Rete IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX QUANTIF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'QUANTIF') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_QUANTIF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_QUANTIF + (OID$, VERSION$, UPDATEDATE, EXPNEEDSCUR, EXPNEEDSAMT, GROSSINPRIMCUR, GROSSINPRIMAMT, GROSSINSECCUR, GROSSINSECAMT, RETIREMENTYEARS, STATEPENSIONCUR, STATEPENSIONAMT, PRIVATEPENSIONCUR, PRIVATEPENSIONAMT, LIFEINTERESTCUR, LIFEINTERESTAMT, C_FINANCIALI_8D659, C_FINANCIALI_91C75, INSINTERESTCUR, INSINTERESTAMT, INVINTERESTCUR, INVINTERESTAMT, REINTERESTCUR, REINTERESTAMT, PRIMARYGAPCUR, PRIMARYGAPAMT, SECONDARYGAPCUR, SECONDARYGAPAMT, TOCONSUMPTIONETM, TOINTERESTETM, LOCKPERCFRSTBRNC, PRFCONSUMPTIONS, PRFGROSSAMOUNT, PRFPERCFRSTBRNC, PRFADDRETIREMENT, PRFLIFEINTEREST, PRFINTERFRSTBRNC, PRFINTERUNIT, F_OID$_ADDRE_81D21, ID_ELAB) + SELECT + QUANTIF.OID$, QUANTIF.VERSION$, QUANTIF.UPDATEDATE, QUANTIF.EXPNEEDSCUR, QUANTIF.EXPNEEDSAMT, QUANTIF.GROSSINPRIMCUR, QUANTIF.GROSSINPRIMAMT, QUANTIF.GROSSINSECCUR, QUANTIF.GROSSINSECAMT, QUANTIF.RETIREMENTYEARS, QUANTIF.STATEPENSIONCUR, QUANTIF.STATEPENSIONAMT, QUANTIF.PRIVATEPENSIONCUR, QUANTIF.PRIVATEPENSIONAMT, QUANTIF.LIFEINTERESTCUR, QUANTIF.LIFEINTERESTAMT, QUANTIF.C_FINANCIALI_8D659, QUANTIF.C_FINANCIALI_91C75, QUANTIF.INSINTERESTCUR, QUANTIF.INSINTERESTAMT, QUANTIF.INVINTERESTCUR, QUANTIF.INVINTERESTAMT, QUANTIF.REINTERESTCUR, QUANTIF.REINTERESTAMT, QUANTIF.PRIMARYGAPCUR, QUANTIF.PRIMARYGAPAMT, QUANTIF.SECONDARYGAPCUR, QUANTIF.SECONDARYGAPAMT, QUANTIF.TOCONSUMPTIONETM, QUANTIF.TOINTERESTETM, QUANTIF.LOCKPERCFRSTBRNC, QUANTIF.PRFCONSUMPTIONS, QUANTIF.PRFGROSSAMOUNT, QUANTIF.PRFPERCFRSTBRNC, QUANTIF.PRFADDRETIREMENT, QUANTIF.PRFLIFEINTEREST, QUANTIF.PRFINTERFRSTBRNC, QUANTIF.PRFINTERUNIT, QUANTIF.F_OID$_ADDRE_81D21, @ID_ELAB + FROM C6StagingPeriodico.QUANTIF + LEFT OUTER JOIN C6StoricoPeriodico.ST_QUANTIF + ON QUANTIF.OID$ = ST_QUANTIF.OID$ + WHERE ST_QUANTIF.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX RMADBKROLE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'RMADBKROLE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_RMADBKROLE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_RMADBKROLE + (OID$, VERSION$, F_PADDRESSBO_22C0C, RMGROUPROLE, F_OID$_RM_4A3B4, ID_ELAB) + SELECT + RMADBKROLE.OID$, RMADBKROLE.VERSION$, RMADBKROLE.F_PADDRESSBO_22C0C, RMADBKROLE.RMGROUPROLE, RMADBKROLE.F_OID$_RM_4A3B4, @ID_ELAB + FROM C6StagingPeriodico.RMADBKROLE + LEFT OUTER JOIN C6StoricoPeriodico.ST_RMADBKROLE + ON RMADBKROLE.OID$ = ST_RMADBKROLE.OID$ + WHERE ST_RMADBKROLE.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX S4_S5_S13_TRAD_UNTIL_LIV3 XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'S4_S5_S13_TRAD_UNTIL_LIV3') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 + (DESCRIZIONE_ORIGINALE, ALBERO_GERARCHIA_1, ALBERO_GERARCHIA_2, ALBERO_GERARCHIA_3, ORDINAMENTO_GERARCHIA_2, ID_ELAB) + SELECT + S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE, S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1, S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2, S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3, S4_S5_S13_TRAD_UNTIL_LIV3.ORDINAMENTO_GERARCHIA_2, @ID_ELAB + FROM C6StagingPeriodico.S4_S5_S13_TRAD_UNTIL_LIV3 + LEFT OUTER JOIN C6StoricoPeriodico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 + ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ST_S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE + WHERE ST_S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_CONTR_SINTESI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_CONTR_SINTESI') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_SPB_CONTR_SINTESI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_SPB_CONTR_SINTESI + (POSITIONID, DTTRIM, DTRIFE, RETE, CODFIS, CODCONF, NUMPOL, CONTO, RUBR, CUSTGAR, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, PCTKEY, DESTIT, CTV, PARTVIA, PARTVIAAL, DTSOTTOS, RENDINIZ, RENDANNO, VALORE, SUBSET, CVN, QUOTE, ID_ELAB) + SELECT + SPB_CONTR_SINTESI.POSITIONID, SPB_CONTR_SINTESI.DTTRIM, SPB_CONTR_SINTESI.DTRIFE, SPB_CONTR_SINTESI.RETE, SPB_CONTR_SINTESI.CODFIS, SPB_CONTR_SINTESI.CODCONF, SPB_CONTR_SINTESI.NUMPOL, SPB_CONTR_SINTESI.CONTO, SPB_CONTR_SINTESI.RUBR, SPB_CONTR_SINTESI.CUSTGAR, SPB_CONTR_SINTESI.TIPPROD, SPB_CONTR_SINTESI.CODINT, SPB_CONTR_SINTESI.CODPROD, SPB_CONTR_SINTESI.SUBPROD, SPB_CONTR_SINTESI.MAF, SPB_CONTR_SINTESI.CODABI, SPB_CONTR_SINTESI.PCTKEY, SPB_CONTR_SINTESI.DESTIT, SPB_CONTR_SINTESI.CTV, SPB_CONTR_SINTESI.PARTVIA, SPB_CONTR_SINTESI.PARTVIAAL, SPB_CONTR_SINTESI.DTSOTTOS, SPB_CONTR_SINTESI.RENDINIZ, SPB_CONTR_SINTESI.RENDANNO, SPB_CONTR_SINTESI.VALORE, SPB_CONTR_SINTESI.SUBSET, SPB_CONTR_SINTESI.CVN, SPB_CONTR_SINTESI.QUOTE, @ID_ELAB + FROM C6StagingPeriodico.SPB_CONTR_SINTESI + LEFT OUTER JOIN C6StoricoPeriodico.ST_SPB_CONTR_SINTESI + ON SPB_CONTR_SINTESI.DTTRIM = ST_SPB_CONTR_SINTESI.DTTRIM + AND SPB_CONTR_SINTESI.DTRIFE = ST_SPB_CONTR_SINTESI.DTRIFE + AND SPB_CONTR_SINTESI.RETE = ST_SPB_CONTR_SINTESI.RETE + AND SPB_CONTR_SINTESI.CODFIS = ST_SPB_CONTR_SINTESI.CODFIS + AND SPB_CONTR_SINTESI.CODCONF = ST_SPB_CONTR_SINTESI.CODCONF + AND SPB_CONTR_SINTESI.CONTO = ST_SPB_CONTR_SINTESI.CONTO + AND SPB_CONTR_SINTESI.RUBR = ST_SPB_CONTR_SINTESI.RUBR + AND SPB_CONTR_SINTESI.CUSTGAR = ST_SPB_CONTR_SINTESI.CUSTGAR + AND SPB_CONTR_SINTESI.TIPPROD = ST_SPB_CONTR_SINTESI.TIPPROD + AND SPB_CONTR_SINTESI.CODINT = ST_SPB_CONTR_SINTESI.CODINT + AND SPB_CONTR_SINTESI.SUBPROD = ST_SPB_CONTR_SINTESI.SUBPROD + AND SPB_CONTR_SINTESI.CODABI = ST_SPB_CONTR_SINTESI.CODABI + AND SPB_CONTR_SINTESI.PCTKEY = ST_SPB_CONTR_SINTESI.PCTKEY + WHERE ST_SPB_CONTR_SINTESI.DTTRIM IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_MIFID XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_MIFID') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_SPB_MIFID WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_SPB_MIFID + (RETE, CODAGENTE, CODICEFISCALE, ACCETTACOMPILAZIONE, CODICEPROFILOASSEGNATO, CODICEPROFILOCALCOLATO, CODICEQUESTIONARIO, DATAFINEVALIDITA, DATAINIZIOVALIDITA, CODICEAGENTE, CODICEAGENTERESPONSABILE, CODICEAGENTEREALE, TIPOQUESTIONARIO, STATUS, ID_ELAB) + SELECT + SPB_MIFID.RETE, SPB_MIFID.CODAGENTE, SPB_MIFID.CODICEFISCALE, SPB_MIFID.ACCETTACOMPILAZIONE, SPB_MIFID.CODICEPROFILOASSEGNATO, SPB_MIFID.CODICEPROFILOCALCOLATO, SPB_MIFID.CODICEQUESTIONARIO, SPB_MIFID.DATAFINEVALIDITA, SPB_MIFID.DATAINIZIOVALIDITA, SPB_MIFID.CODICEAGENTE, SPB_MIFID.CODICEAGENTERESPONSABILE, SPB_MIFID.CODICEAGENTEREALE, SPB_MIFID.TIPOQUESTIONARIO, SPB_MIFID.STATUS, @ID_ELAB + FROM C6StagingPeriodico.SPB_MIFID + LEFT OUTER JOIN C6StoricoPeriodico.ST_SPB_MIFID + ON SPB_MIFID.RETE = ST_SPB_MIFID.RETE + AND SPB_MIFID.CODICEFISCALE = ST_SPB_MIFID.CODICEFISCALE + WHERE ST_SPB_MIFID.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_PROF_RISCHIO XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_PROF_RISCHIO') + -- BEGIN + -- DELETE FROM C6StoricoPeriodico.ST_SPB_PROF_RISCHIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6StoricoPeriodico.ST_SPB_PROF_RISCHIO + -- (CODICEPROFILO, DESCRIZIONEPROFILO, DESCRIZIONEPROFILOESTESA, PERCENTUALEASSETAZIONARIO, PERCENTUALEASSETOBBLIGAZIONARIO, PERCENTUALEASSETMONETARIO, VOLATILITADA, VOLATILITAA, RENDIMENTOATTESO, VARTRIMESTRALE, ID_ELAB) + -- SELECT + -- CODICEPROFILO, DESCRIZIONEPROFILO, DESCRIZIONEPROFILOESTESA, PERCENTUALEASSETAZIONARIO, PERCENTUALEASSETOBBLIGAZIONARIO, PERCENTUALEASSETMONETARIO, VOLATILITADA, VOLATILITAA, RENDIMENTOATTESO, VARTRIMESTRALE, @ID_ELAB + -- FROM C6StagingPeriodico.SPB_PROF_RISCHIO + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX TABELLESTORICIZZATE XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'TABELLESTORICIZZATE') + -- BEGIN + -- DELETE FROM C6StoricoPeriodico.ST_TABELLESTORICIZZATE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6StoricoPeriodico.ST_TABELLESTORICIZZATE + -- (Nome, Inizio, Fine, Durata, Vecchia_Durata, Storicizzata, ID_ELAB) + -- SELECT + -- Nome, Inizio, Fine, Durata, Vecchia_Durata, Storicizzata, @ID_ELAB + -- FROM C6StagingPeriodico.TABELLESTORICIZZATE + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX TANAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TANAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TANAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TANAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTFINE, DTINI, CTVINI, DTRENDMAX, RENDMAX, DTRENDMIN, RENDMIN, DTCTV, CTV, RENDATT, DTCTVMAX, CTVMAX, DTCTVMIN, CTVMIN, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, RENDATTANN, ID_ELAB) + SELECT + TANAB.RETE, TANAB.CODAREA, TANAB.CODPROG, TANAB.CODFIS, TANAB.DTRIF, TANAB.DTFINE, TANAB.DTINI, TANAB.CTVINI, TANAB.DTRENDMAX, TANAB.RENDMAX, TANAB.DTRENDMIN, TANAB.RENDMIN, TANAB.DTCTV, TANAB.CTV, TANAB.RENDATT, TANAB.DTCTVMAX, TANAB.CTVMAX, TANAB.DTCTVMIN, TANAB.CTVMIN, TANAB.CVN, TANAB.CVN_IA, TANAB.CVN_IT, TANAB.APP_INI, TANAB.TOT_APP, TANAB.TOT_LIQ, TANAB.TOT_CED, TANAB.TOT_DIV, TANAB.DCD, TANAB.DCVN, TANAB.SCARTO, TANAB.NTOT_APP, TANAB.NTOT_LIQ, TANAB.RENDATTANN, @ID_ELAB + FROM C6StagingPeriodico.TANAB + LEFT OUTER JOIN C6StoricoPeriodico.ST_TANAB + ON TANAB.RETE = ST_TANAB.RETE + AND TANAB.CODAREA = ST_TANAB.CODAREA + AND TANAB.CODPROG = ST_TANAB.CODPROG + AND TANAB.CODFIS = ST_TANAB.CODFIS + AND TANAB.DTRIF = ST_TANAB.DTRIF + WHERE ST_TANAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX TCPTAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TCPTAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TCPTAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TCPTAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, ISIN, ID_WADEG, MAF, CODCONF, SUBPROD, CODPROD, NUMPOL, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, SPROG, DTUSCITA, DTSOTT, CTVATT, DTINGRESSO, CTVINGRESSO, DTTRIM, RENDTRIM, DTANNO, RENDANNO, DTINIZ, RENDINIZ, DTININAC, RENDNAC, CTVVP, CVNTRIM, CVNANNO, CVNINIZ, CVNNAC, CODINT, VALORE, STLIQ, DTVALORIZ, ID_ELAB) + SELECT + TCPTAB.RETE, TCPTAB.CODAREA, TCPTAB.CODPROG, TCPTAB.CODFIS, TCPTAB.DTRIF, TCPTAB.TIPPROD, TCPTAB.ISIN, TCPTAB.ID_WADEG, TCPTAB.MAF, TCPTAB.CODCONF, TCPTAB.SUBPROD, TCPTAB.CODPROD, TCPTAB.NUMPOL, TCPTAB.CONTO, TCPTAB.CUSTGAR, TCPTAB.RUBR, TCPTAB.CODABI, TCPTAB.TERMID, TCPTAB.ANNO, TCPTAB.PROG, TCPTAB.SPROG, TCPTAB.DTUSCITA, TCPTAB.DTSOTT, TCPTAB.CTVATT, TCPTAB.DTINGRESSO, TCPTAB.CTVINGRESSO, TCPTAB.DTTRIM, TCPTAB.RENDTRIM, TCPTAB.DTANNO, TCPTAB.RENDANNO, TCPTAB.DTINIZ, TCPTAB.RENDINIZ, TCPTAB.DTININAC, TCPTAB.RENDNAC, TCPTAB.CTVVP, TCPTAB.CVNTRIM, TCPTAB.CVNANNO, TCPTAB.CVNINIZ, TCPTAB.CVNNAC, TCPTAB.CODINT, TCPTAB.VALORE, TCPTAB.STLIQ, TCPTAB.DTVALORIZ, @ID_ELAB + FROM C6StagingPeriodico.TCPTAB + INNER JOIN C6StoricoPeriodico.ST_TCPTAB + ON TCPTAB.RETE = ST_TCPTAB.RETE + AND TCPTAB.CODAREA = ST_TCPTAB.CODAREA + AND TCPTAB.CODPROG = ST_TCPTAB.CODPROG + AND TCPTAB.CODFIS = ST_TCPTAB.CODFIS + AND TCPTAB.DTRIF = ST_TCPTAB.DTRIF + AND TCPTAB.TIPPROD = ST_TCPTAB.TIPPROD + AND TCPTAB.ISIN = ST_TCPTAB.ISIN + AND TCPTAB.MAF = ST_TCPTAB.MAF + AND TCPTAB.CODCONF = ST_TCPTAB.CODCONF + AND TCPTAB.SUBPROD = ST_TCPTAB.SUBPROD + AND TCPTAB.CODPROD = ST_TCPTAB.CODPROD + AND TCPTAB.NUMPOL = ST_TCPTAB.NUMPOL + AND TCPTAB.CONTO = ST_TCPTAB.CONTO + AND TCPTAB.CUSTGAR = ST_TCPTAB.CUSTGAR + AND TCPTAB.RUBR = ST_TCPTAB.RUBR + AND TCPTAB.CODABI = ST_TCPTAB.CODABI + AND TCPTAB.TERMID = ST_TCPTAB.TERMID + AND TCPTAB.ANNO = ST_TCPTAB.ANNO + AND TCPTAB.PROG = ST_TCPTAB.PROG + AND TCPTAB.SPROG = ST_TCPTAB.SPROG + AND TCPTAB.DTINGRESSO = ST_TCPTAB.DTINGRESSO + WHERE ST_TCPTAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX TRENAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TRENAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TRENAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TRENAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTVALORIZ, CTV, DTINIZ, RENDINIZ, DTTRIM, RENDTRIM, DTANNO, RENDANNO, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, RENDATTANN, ID_ELAB) + SELECT + TRENAB.RETE, TRENAB.CODAREA, TRENAB.CODPROG, TRENAB.CODFIS, TRENAB.DTRIF, TRENAB.DTVALORIZ, TRENAB.CTV, TRENAB.DTINIZ, TRENAB.RENDINIZ, TRENAB.DTTRIM, TRENAB.RENDTRIM, TRENAB.DTANNO, TRENAB.RENDANNO, TRENAB.CVN, TRENAB.CVN_IA, TRENAB.CVN_IT, TRENAB.APP_INI, TRENAB.TOT_APP, TRENAB.TOT_LIQ, TRENAB.TOT_CED, TRENAB.TOT_DIV, TRENAB.DCD, TRENAB.DCVN, TRENAB.SCARTO, TRENAB.NTOT_APP, TRENAB.NTOT_LIQ, TRENAB.RENDATTANN, @ID_ELAB + FROM C6StagingPeriodico.TRENAB + LEFT OUTER JOIN C6StoricoPeriodico.ST_TRENAB + ON TRENAB.RETE = ST_TRENAB.RETE + AND TRENAB.CODAREA = ST_TRENAB.CODAREA + AND TRENAB.CODPROG = ST_TRENAB.CODPROG + AND TRENAB.CODFIS = ST_TRENAB.CODFIS + AND TRENAB.DTRIF = ST_TRENAB.DTRIF + AND TRENAB.DTVALORIZ = ST_TRENAB.DTVALORIZ + WHERE ST_TRENAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX TSCABP XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TSCABP') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TSCABP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TSCABP + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, CODCONF, SUBPROD, CODPROD, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, DTINGRESSO, ISTITUTO, TIPO_PRODOTT, CONTO_OP, STRUM_FIN, ID_MOVIM, TIPO_OP, RESTART, DT_ING_USC, ING_USC, COD_ERR, DESCR_ERR, DT_ELAB, DT_INS, PCT, PROVENIENZA, ID_ELAB) + SELECT + TSCABP.RETE, TSCABP.CODAREA, TSCABP.CODPROG, TSCABP.CODFIS, TSCABP.DTRIF, TSCABP.TIPPROD, TSCABP.CODCONF, TSCABP.SUBPROD, TSCABP.CODPROD, TSCABP.CONTO, TSCABP.CUSTGAR, TSCABP.RUBR, TSCABP.CODABI, TSCABP.TERMID, TSCABP.ANNO, TSCABP.PROG, TSCABP.DTINGRESSO, TSCABP.ISTITUTO, TSCABP.TIPO_PRODOTT, TSCABP.CONTO_OP, TSCABP.STRUM_FIN, TSCABP.ID_MOVIM, TSCABP.TIPO_OP, TSCABP.RESTART, TSCABP.DT_ING_USC, TSCABP.ING_USC, TSCABP.COD_ERR, TSCABP.DESCR_ERR, TSCABP.DT_ELAB, TSCABP.DT_INS, TSCABP.PCT, TSCABP.PROVENIENZA, @ID_ELAB + FROM C6StagingPeriodico.TSCABP + LEFT OUTER JOIN C6StoricoPeriodico.ST_TSCABP + ON TSCABP.RETE = ST_TSCABP.RETE + AND TSCABP.CODAREA = ST_TSCABP.CODAREA + AND TSCABP.CODPROG = ST_TSCABP.CODPROG + AND TSCABP.CODFIS = ST_TSCABP.CODFIS + WHERE ST_TSCABP.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WANAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WANAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WANAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WANAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTFINE, DTINI, CTVINI, DTRENDMAX, RENDMAX, DTRENDMIN, RENDMIN, DTCTV, CTV, RENDATT, DTCTVMAX, CTVMAX, DTCTVMIN, CTVMIN, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, ID_ELAB) + SELECT + WANAB.RETE, WANAB.CODAREA, WANAB.CODPROG, WANAB.CODFIS, WANAB.DTRIF, WANAB.DTFINE, WANAB.DTINI, WANAB.CTVINI, WANAB.DTRENDMAX, WANAB.RENDMAX, WANAB.DTRENDMIN, WANAB.RENDMIN, WANAB.DTCTV, WANAB.CTV, WANAB.RENDATT, WANAB.DTCTVMAX, WANAB.CTVMAX, WANAB.DTCTVMIN, WANAB.CTVMIN, WANAB.CVN, WANAB.CVN_IA, WANAB.CVN_IT, WANAB.APP_INI, WANAB.TOT_APP, WANAB.TOT_LIQ, WANAB.TOT_CED, WANAB.TOT_DIV, WANAB.DCD, WANAB.DCVN, WANAB.SCARTO, WANAB.NTOT_APP, WANAB.NTOT_LIQ, @ID_ELAB + FROM C6StagingPeriodico.WANAB + LEFT OUTER JOIN C6StoricoPeriodico.ST_WANAB + ON WANAB.RETE = ST_WANAB.RETE + AND WANAB.CODAREA = ST_WANAB.CODAREA + AND WANAB.CODPROG = ST_WANAB.CODPROG + AND WANAB.CODFIS = ST_WANAB.CODFIS + AND WANAB.DTRIF = ST_WANAB.DTRIF + WHERE ST_WANAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WCPTAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WCPTAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WCPTAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WCPTAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, ISIN, ID_WADEG, MAF, CODCONF, SUBPROD, CODPROD, NUMPOL, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, SPROG, DTUSCITA, DTSOTT, CTVATT, DTINGRESSO, CTVINGRESSO, DTTRIM, RENDTRIM, DTANNO, RENDANNO, DTINIZ, RENDINIZ, DTININAC, RENDNAC, CTVVP, CVNTRIM, CVNANNO, CVNINIZ, CVNNAC, CODINT, VALORE, ID_ELAB) + SELECT + WCPTAB.RETE, WCPTAB.CODAREA, WCPTAB.CODPROG, WCPTAB.CODFIS, WCPTAB.DTRIF, WCPTAB.TIPPROD, WCPTAB.ISIN, WCPTAB.ID_WADEG, WCPTAB.MAF, WCPTAB.CODCONF, WCPTAB.SUBPROD, WCPTAB.CODPROD, WCPTAB.NUMPOL, WCPTAB.CONTO, WCPTAB.CUSTGAR, WCPTAB.RUBR, WCPTAB.CODABI, WCPTAB.TERMID, WCPTAB.ANNO, WCPTAB.PROG, WCPTAB.SPROG, WCPTAB.DTUSCITA, WCPTAB.DTSOTT, WCPTAB.CTVATT, WCPTAB.DTINGRESSO, WCPTAB.CTVINGRESSO, WCPTAB.DTTRIM, WCPTAB.RENDTRIM, WCPTAB.DTANNO, WCPTAB.RENDANNO, WCPTAB.DTINIZ, WCPTAB.RENDINIZ, WCPTAB.DTININAC, WCPTAB.RENDNAC, WCPTAB.CTVVP, WCPTAB.CVNTRIM, WCPTAB.CVNANNO, WCPTAB.CVNINIZ, WCPTAB.CVNNAC, WCPTAB.CODINT, WCPTAB.VALORE, @ID_ELAB + FROM C6StagingPeriodico.WCPTAB + INNER JOIN C6StoricoPeriodico.ST_WCPTAB + ON WCPTAB.RETE = ST_WCPTAB.RETE + AND WCPTAB.CODAREA = ST_WCPTAB.CODAREA + AND WCPTAB.CODPROG = ST_WCPTAB.CODPROG + AND WCPTAB.CODFIS = ST_WCPTAB.CODFIS + AND WCPTAB.DTRIF = ST_WCPTAB.DTRIF + AND WCPTAB.TIPPROD = ST_WCPTAB.TIPPROD + AND WCPTAB.ISIN = ST_WCPTAB.ISIN + AND WCPTAB.MAF = ST_WCPTAB.MAF + AND WCPTAB.CODCONF = ST_WCPTAB.CODCONF + AND WCPTAB.SUBPROD = ST_WCPTAB.SUBPROD + AND WCPTAB.CODPROD = ST_WCPTAB.CODPROD + AND WCPTAB.NUMPOL = ST_WCPTAB.NUMPOL + AND WCPTAB.CONTO = ST_WCPTAB.CONTO + AND WCPTAB.CUSTGAR = ST_WCPTAB.CUSTGAR + AND WCPTAB.RUBR = ST_WCPTAB.RUBR + AND WCPTAB.CODABI = ST_WCPTAB.CODABI + AND WCPTAB.TERMID = ST_WCPTAB.TERMID + AND WCPTAB.ANNO = ST_WCPTAB.ANNO + AND WCPTAB.PROG = ST_WCPTAB.PROG + AND WCPTAB.SPROG = ST_WCPTAB.SPROG + AND WCPTAB.DTINGRESSO = ST_WCPTAB.DTINGRESSO + WHERE ST_WCPTAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WMANDATI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WMANDATI') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WMANDATI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WMANDATI + (PIVA, CODMAND, CODBREVE, ID_ELAB) + SELECT + WMANDATI.PIVA, WMANDATI.CODMAND, WMANDATI.CODBREVE, @ID_ELAB + FROM C6StagingPeriodico.WMANDATI + LEFT OUTER JOIN C6StoricoPeriodico.ST_WMANDATI + ON WMANDATI.CODMAND = ST_WMANDATI.CODMAND + WHERE ST_WMANDATI.CODMAND IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WRENAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WRENAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WRENAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WRENAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTVALORIZ, CTV, DTINIZ, RENDINIZ, DTTRIM, RENDTRIM, DTANNO, RENDANNO, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, ID_ELAB) + SELECT + WRENAB.RETE, WRENAB.CODAREA, WRENAB.CODPROG, WRENAB.CODFIS, WRENAB.DTRIF, WRENAB.DTVALORIZ, WRENAB.CTV, WRENAB.DTINIZ, WRENAB.RENDINIZ, WRENAB.DTTRIM, WRENAB.RENDTRIM, WRENAB.DTANNO, WRENAB.RENDANNO, WRENAB.CVN, WRENAB.CVN_IA, WRENAB.CVN_IT, WRENAB.APP_INI, WRENAB.TOT_APP, WRENAB.TOT_LIQ, WRENAB.TOT_CED, WRENAB.TOT_DIV, WRENAB.DCD, WRENAB.DCVN, WRENAB.SCARTO, WRENAB.NTOT_APP, WRENAB.NTOT_LIQ, @ID_ELAB + FROM C6StagingPeriodico.WRENAB + LEFT OUTER JOIN C6StoricoPeriodico.ST_WRENAB + ON WRENAB.RETE = ST_WRENAB.RETE + AND WRENAB.CODAREA = ST_WRENAB.CODAREA + AND WRENAB.CODPROG = ST_WRENAB.CODPROG + AND WRENAB.CODFIS = ST_WRENAB.CODFIS + AND WRENAB.DTRIF = ST_WRENAB.DTRIF + AND WRENAB.DTVALORIZ = ST_WRENAB.DTVALORIZ + WHERE ST_WRENAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSCABP XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSCABP') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSCABP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSCABP + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, CODCONF, SUBPROD, CODPROD, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, DTINGRESSO, ISTITUTO, TIPO_PRODOTT, CONTO_OP, STRUM_FIN, ID_MOVIM, TIPO_OP, RESTART, DT_ING_USC, ING_USC, COD_ERR, DESCR_ERR, DT_ELAB, DT_INS, PCT, PROVENIENZA, ID_ELAB) + SELECT + WSCABP.RETE, WSCABP.CODAREA, WSCABP.CODPROG, WSCABP.CODFIS, WSCABP.DTRIF, WSCABP.TIPPROD, WSCABP.CODCONF, WSCABP.SUBPROD, WSCABP.CODPROD, WSCABP.CONTO, WSCABP.CUSTGAR, WSCABP.RUBR, WSCABP.CODABI, WSCABP.TERMID, WSCABP.ANNO, WSCABP.PROG, WSCABP.DTINGRESSO, WSCABP.ISTITUTO, WSCABP.TIPO_PRODOTT, WSCABP.CONTO_OP, WSCABP.STRUM_FIN, WSCABP.ID_MOVIM, WSCABP.TIPO_OP, WSCABP.RESTART, WSCABP.DT_ING_USC, WSCABP.ING_USC, WSCABP.COD_ERR, WSCABP.DESCR_ERR, WSCABP.DT_ELAB, WSCABP.DT_INS, WSCABP.PCT, WSCABP.PROVENIENZA, @ID_ELAB + FROM C6StagingPeriodico.WSCABP + LEFT OUTER JOIN C6StoricoPeriodico.ST_WSCABP + ON WSCABP.RETE = ST_WSCABP.RETE + AND WSCABP.CODAREA = ST_WSCABP.CODAREA + AND WSCABP.CODPROG = ST_WSCABP.CODPROG + AND WSCABP.CODFIS = ST_WSCABP.CODFIS + WHERE ST_WSCABP.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEIAN XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEIAN') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEIAN WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEIAN + (DTTRIM, RETE, CODFIS, NOME, COGNOME, DTNASCI, INDIRIZZO, CAP, CITTA, PROVINCIA, NAZIONE, CODPROF, ID_ELAB) + SELECT + WSEIAN.DTTRIM, WSEIAN.RETE, WSEIAN.CODFIS, WSEIAN.NOME, WSEIAN.COGNOME, WSEIAN.DTNASCI, WSEIAN.INDIRIZZO, WSEIAN.CAP, WSEIAN.CITTA, WSEIAN.PROVINCIA, WSEIAN.NAZIONE, WSEIAN.CODPROF, @ID_ELAB + FROM C6StagingPeriodico.WSEIAN2 WSEIAN + LEFT OUTER JOIN C6StoricoPeriodico.ST_WSEIAN + ON WSEIAN.DTTRIM = ST_WSEIAN.DTTRIM + AND WSEIAN.RETE = ST_WSEIAN.RETE + AND WSEIAN.CODFIS = ST_WSEIAN.CODFIS + WHERE ST_WSEIAN.DTTRIM IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEICS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEICS') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEICS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEICS + (DTTRIM, DTRIFE, RETE, CODFIS, CODCONF, NUMPOL, CONTO, RUBR, CUSTGAR, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, PCTKEY, DESTIT, CTV, PARTVIA, PARTVIAAL, DTSOTTOS, RENDINIZ, RENDANNO, VALORE, SUBSET, CVN, QUOTE, ID_ELAB) + SELECT + WSEICS.DTTRIM, WSEICS.DTRIFE, WSEICS.RETE, WSEICS.CODFIS, WSEICS.CODCONF, WSEICS.NUMPOL, WSEICS.CONTO, WSEICS.RUBR, WSEICS.CUSTGAR, WSEICS.TIPPROD, WSEICS.CODINT, WSEICS.CODPROD, WSEICS.SUBPROD, WSEICS.MAF, WSEICS.CODABI, WSEICS.PCTKEY, WSEICS.DESTIT, WSEICS.CTV, WSEICS.PARTVIA, WSEICS.PARTVIAAL, WSEICS.DTSOTTOS, WSEICS.RENDINIZ, WSEICS.RENDANNO, WSEICS.VALORE, WSEICS.SUBSET, WSEICS.CVN, WSEICS.QUOTE, @ID_ELAB + FROM C6StagingPeriodico.WSEICS + LEFT OUTER JOIN C6StoricoPeriodico.ST_WSEICS + ON WSEICS.DTTRIM = ST_WSEICS.DTTRIM + AND WSEICS.DTRIFE = ST_WSEICS.DTRIFE + AND WSEICS.RETE = ST_WSEICS.RETE + AND WSEICS.CODFIS = ST_WSEICS.CODFIS + AND WSEICS.CODCONF = ST_WSEICS.CODCONF + AND WSEICS.CONTO = ST_WSEICS.CONTO + AND WSEICS.RUBR = ST_WSEICS.RUBR + AND WSEICS.CUSTGAR = ST_WSEICS.CUSTGAR + AND WSEICS.TIPPROD = ST_WSEICS.TIPPROD + AND WSEICS.CODINT = ST_WSEICS.CODINT + AND WSEICS.SUBPROD = ST_WSEICS.SUBPROD + AND WSEICS.CODABI = ST_WSEICS.CODABI + AND WSEICS.PCTKEY = ST_WSEICS.PCTKEY + WHERE ST_WSEICS.DTTRIM IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEIPV XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEIPV') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEIPV WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEIPV + (DTTRIM, RETE, CODFIS, CODCONF, IMPVER, DTRIFE, SUBSET, ID_ELAB) + SELECT + WSEIPV.DTTRIM, WSEIPV.RETE, WSEIPV.CODFIS, WSEIPV.CODCONF, WSEIPV.IMPVER, WSEIPV.DTRIFE, WSEIPV.SUBSET, @ID_ELAB + FROM C6StagingPeriodico.WSEIPV + LEFT OUTER JOIN C6StoricoPeriodico.ST_WSEIPV + ON WSEIPV.RETE = ST_WSEIPV.RETE + AND WSEIPV.CODFIS = ST_WSEIPV.CODFIS + AND WSEIPV.CODCONF = ST_WSEIPV.CODCONF + AND WSEIPV.DTRIFE = ST_WSEIPV.DTRIFE + WHERE ST_WSEIPV.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEIUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEIUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEIUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEIUL + (DTTRIM, RETE, CODFIS, CODCONF, CODINT, SUBPROD, CTV, DTRIFE, ISINFIT, ISIN, MAF, SUBSET, ID_ELAB) + SELECT + WSEIUL.DTTRIM, WSEIUL.RETE, WSEIUL.CODFIS, WSEIUL.CODCONF, WSEIUL.CODINT, WSEIUL.SUBPROD, WSEIUL.CTV, WSEIUL.DTRIFE, WSEIUL.ISINFIT, WSEIUL.ISIN, WSEIUL.MAF, WSEIUL.SUBSET, @ID_ELAB + FROM C6StagingPeriodico.WSEIUL + LEFT OUTER JOIN C6StoricoPeriodico.ST_WSEIUL + ON WSEIUL.RETE = ST_WSEIUL.RETE + AND WSEIUL.CODCONF = ST_WSEIUL.CODCONF + AND WSEIUL.CODINT = ST_WSEIUL.CODINT + AND WSEIUL.SUBPROD = ST_WSEIUL.SUBPROD + AND WSEIUL.DTRIFE = ST_WSEIUL.DTRIFE + WHERE ST_WSEIUL.RETE IS NULL + END + -- XX -- XX -- XX AGGIORNAMENTO DATI C6StagingPeriodico.TabelleStoricizzate XX -- XX -- XX -- + IF(@NomeTabella IS NOT NULL) + BEGIN + UPDATE C6StagingPeriodico.TabelleStoricizzate + SET + FINE = GETDATE(), + DURATA = DATEDIFF(SECOND ,INIZIO, GETDATE()) + WHERE NOME = @NomeTabella + END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_SRV_STORICIZZAZIONE_OLD.sql b/sql/storedTestbes/C6StagingPeriodico_SRV_STORICIZZAZIONE_OLD.sql new file mode 100644 index 00000000..ac1c3cf5 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_SRV_STORICIZZAZIONE_OLD.sql @@ -0,0 +1,551 @@ +-- ============================================= +-- Author: paolo giovanetti +-- Create date: 6 marzo 2009 +-- Description: storicizzazione STAGING +-- ============================================= +CREATE PROCEDURE [C6StagingPeriodico].[SRV_STORICIZZAZIONE_OLD] + @NomeTabella VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico espresso in giorni + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MartPeriodico.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENOTH XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENOTH') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ACBDENOTH WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ACBDENOTH + (OID$, VERSION$, BDPERCENTAGE, BDBETA, F_OID$_PASSE_CDF1A, F_PFINANCIAL_815C0, ID_ELAB) + SELECT + OID$, VERSION$, BDPERCENTAGE, BDBETA, F_OID$_PASSE_CDF1A, F_PFINANCIAL_815C0, @ID_ELAB + FROM C6StagingPeriodico.ACBDENOTH + END + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENTRY XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENTRY') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ACBDENTRY WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ACBDENTRY + (OID$, VERSION$, F_PINDEXBREA_08079, F_PINSTRUMEN_FBCDE, BDPERCENTAGE, BDBETA, F_OID$_PASSE_B8A1E, F_PFINANCIAL_65EBB, F_PFINANCIAL_C2FD3, ID_ELAB) + SELECT + OID$, VERSION$, F_PINDEXBREA_08079, F_PINSTRUMEN_FBCDE, BDPERCENTAGE, BDBETA, F_OID$_PASSE_B8A1E, F_PFINANCIAL_65EBB, F_PFINANCIAL_C2FD3, @ID_ELAB + FROM C6StagingPeriodico.ACBDENTRY + END + --XXXXXXXXXXXXXXXXXXXXXXXX ADBKBASE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ADBKBASE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ADBKBASE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ADBKBASE + (OID$, VERSION$, ADBKID, INSTID, C_ADBKBASE_L_69013, TYPE$_ADBKST_AC419, C_CLIENTNAME_1A67C, C_CLIENTNAME_1E844, F_OID$_PERSO_06FCB, C_CLIENTNAME_8B1DB, C_CLIENTNAME_B4F69, C_CLIENTNAME_EA63A, C_ADBKBASE_D_C669E, C_ADBKBASE_L_1DD83, C_ADBKBASE_L_F8E21, C_ADBKBASE_L_2805C, C_ADBKBASE_T_C94F1, F_OID$_PROFI_98D05, F_OID$_TAXRE_4AC4C, C_CURRENCYSY_36ED7, F_OID$_REFER_66AC8, C_ADBKBASE_M_AE5A8, C_ADBKBASE_A_36B89, C_CURRENCYSY_0483B, C_VALUE_506AF, F_OID$_SOURC_E66C5, F_OID$_QUALI_027C5, F_OID$_BLOCK_A4386, F_OID$_SOURC_3AA10, TYPE$_ADBKTY_20093, F_PCUSTOMGRO_9BC08, F_PENTITY_AD_29FE1, ID_ELAB) + SELECT + OID$, VERSION$, ADBKID, INSTID, C_ADBKBASE_L_69013, TYPE$_ADBKST_AC419, C_CLIENTNAME_1A67C, C_CLIENTNAME_1E844, F_OID$_PERSO_06FCB, C_CLIENTNAME_8B1DB, C_CLIENTNAME_B4F69, C_CLIENTNAME_EA63A, C_ADBKBASE_D_C669E, C_ADBKBASE_L_1DD83, C_ADBKBASE_L_F8E21, C_ADBKBASE_L_2805C, C_ADBKBASE_T_C94F1, F_OID$_PROFI_98D05, F_OID$_TAXRE_4AC4C, C_CURRENCYSY_36ED7, F_OID$_REFER_66AC8, C_ADBKBASE_M_AE5A8, C_ADBKBASE_A_36B89, C_CURRENCYSY_0483B, C_VALUE_506AF, F_OID$_SOURC_E66C5, F_OID$_QUALI_027C5, F_OID$_BLOCK_A4386, F_OID$_SOURC_3AA10, TYPE$_ADBKTY_20093, F_PCUSTOMGRO_9BC08, F_PENTITY_AD_29FE1, @ID_ELAB + FROM C6StagingPeriodico.ADBKBASE + END + --XXXXXXXXXXXXXXXXXXXXXXXX ADS4WS_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ADS4WS_PROMOTORI') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ADS4WS_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ADS4WS_PROMOTORI + (Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, Telefono, TelefonoAgenzia1, TelefonoAgenzia2, ID_ELAB) + SELECT + Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, Telefono, TelefonoAgenzia1, TelefonoAgenzia2, @ID_ELAB + FROM C6StagingPeriodico.ADS4WS_PROMOTORI + END + --XXXXXXXXXXXXXXXXXXXXXXXX AGENTBASE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'AGENTBASE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_AGENTBASE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_AGENTBASE + (OID$, VERSION$, AGENTBASEID, INSTID, TYPE$_AGENTT_4FF1A, AGENTBASESTATUS, CATEGORY, ROLE, COUNTRY, REGION, TAXPAYERID, C_AGENTNAME__D3943, C_AGENTNAME__B1EC3, F_OID$_PERSO_762E5, C_AGENTNAME__ABD50, C_AGENTNAME__7D056, C_AGENTNAME__722CD, LOGINID, ICEPATH, F_PAGENTBASE_7B96C, F_OID$_AGENT_DB156, F_PENTITY_AG_79C9C, ID_ELAB) + SELECT + OID$, VERSION$, AGENTBASEID, INSTID, TYPE$_AGENTT_4FF1A, AGENTBASESTATUS, CATEGORY, ROLE, COUNTRY, REGION, TAXPAYERID, C_AGENTNAME__D3943, C_AGENTNAME__B1EC3, F_OID$_PERSO_762E5, C_AGENTNAME__ABD50, C_AGENTNAME__7D056, C_AGENTNAME__722CD, LOGINID, ICEPATH, F_PAGENTBASE_7B96C, F_OID$_AGENT_DB156, F_PENTITY_AG_79C9C, @ID_ELAB + FROM C6StagingPeriodico.AGENTBASE + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_ASSET_CLASS_PER_PROMET XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_ASSET_CLASS_PER_PROMET') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_ASSET_CLASS_PER_PROMET WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_ASSET_CLASS_PER_PROMET + (CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ID_ELAB) + SELECT + CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, @ID_ELAB + FROM C6StagingPeriodico.ALL_ASSET_CLASS_PER_PROMET + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CF_PB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CF_PB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_CF_PB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_CF_PB + (ID_CLI, NOME, COGNOME, TIPO, AGENTE, CHIAVE_PB, CHIAVE_CLIENTE, NOME_CLIENTE, COGNOME_CLIENTE, CODICE_FISCALE, TIPO_CLIENTE, RETE_PB, CODICE_PB, DATA_NASCITA, MARITALSTATUS, CODICEFISCALE, ID_ELAB) + SELECT + ID_CLI, NOME, COGNOME, TIPO, AGENTE, CHIAVE_PB, CHIAVE_CLIENTE, NOME_CLIENTE, COGNOME_CLIENTE, CODICE_FISCALE, TIPO_CLIENTE, RETE_PB, CODICE_PB, DATA_NASCITA, MARITALSTATUS, CODICEFISCALE, @ID_ELAB + FROM C6StagingPeriodico.ALL_CF_PB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CF_STATO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CF_STATO') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_CF_STATO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_CF_STATO + (CF_CLIENTE, RETE, STATO_CONSULENZA, TOTALE_RIGHE, TOTALE_STATI, FLAG_UTILIZZO_STATO, ID_ELAB) + SELECT + CF_CLIENTE, RETE, STATO_CONSULENZA, TOTALE_RIGHE, TOTALE_STATI, FLAG_UTILIZZO_STATO, @ID_ELAB + FROM C6StagingPeriodico.ALL_CF_STATO + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CONSUL_ASUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CONSUL_ASUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_CONSUL_ASUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_CONSUL_ASUL + (CODICE_FISCALE, RETE, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, AREASORTORDER, NOME_PROGETTO, CATALOGUENAME, TIPO_PROGETTO, CONTRATTO, OID_DI_CATITEMREF, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CODICEINTERNO, SOTTOPRODOTTO, CONTROVALORE_ASUL, ID_MONITORAGGIO, CATEGORIA, NUOVO_OID_CAT_PER_ASSET, CATEGORIA_2, COLO_JOIN, ID_ELAB) + SELECT + CODICE_FISCALE, RETE, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, AREASORTORDER, NOME_PROGETTO, CATALOGUENAME, TIPO_PROGETTO, CONTRATTO, OID_DI_CATITEMREF, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CODICEINTERNO, SOTTOPRODOTTO, CONTROVALORE_ASUL, ID_MONITORAGGIO, CATEGORIA, NUOVO_OID_CAT_PER_ASSET, CATEGORIA_2, COLO_JOIN, @ID_ELAB + FROM C6StagingPeriodico.ALL_CONSUL_ASUL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_PATR_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PATR_TERZI') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_PATR_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_PATR_TERZI + (CHIAVE_PER_CLIENTE, CODICE_FISCALE, RETE_PB, CAPITALE_INVESTITO, CHIAVE_FNC, PRODOTTO_IN_CATALOGO, DATA_SOTTOSCRIZIONE, PREMIO_VERSAMENTO, C_VALUE_582FF, AMMONTARE_VERSAMENTO, DESCRIZIONE_ALBERATURA, DATA_INIZIO_INV, PATRIMONIO_TERZI, NOME_ISTITUTO, CHIAVE_THR, ASSETID, DESCRIZIONE_PRODOTTO, NOMEPRODOTTO, NOME_ISTITUTO_2, INTERMEDIARIO, DATA_SCADENZA, DATA2_UTILIZ_X_SOTTOSCRIZ, BALANCEDATE_DI_THR, CHIAVE_PR_31921, PATRIMONIO_IMMOBILIARE, LOCALITA, AFFITTOPERCEPITO, CHIAVE_F87B4, PATRIMONIO_ALTRO_PN_F87B4, DENOMINAZIONE_PN_F87B4, ISCOVER, TIPO_ISCOVER, CHIAVE_E6F18, PATRIMONIO_ALTRO_PB_E6F18, DENOMINAZIONE, NUMEROQUOTE, COMPANYTYPE, CHIAVE_COMP, COMPANYNAME, CHIAVE_BT_49D5B, TIPO_BT_49D5B, CHIAVE_BT_55768, TIPO_BT_55768, CHIAVE_BT_B70F0, TIPO_BT_B70F0, CHIAVE_BT_6797A, TIPO_BT_6797A, TIPO_VERSAMENTO_BT_6797A, CHIAVE_BT_97BEE, TIPO_BT_97BEE, TIPO_POLIZZA_BT_97BEE, CHIAVE_RDESCR, TIPO_RDESCR, DESCRIZIONE_RDESCR, TIPOLOGIA_RDESCR, ID_ELAB) + SELECT + CHIAVE_PER_CLIENTE, CODICE_FISCALE, RETE_PB, CAPITALE_INVESTITO, CHIAVE_FNC, PRODOTTO_IN_CATALOGO, DATA_SOTTOSCRIZIONE, PREMIO_VERSAMENTO, C_VALUE_582FF, AMMONTARE_VERSAMENTO, DESCRIZIONE_ALBERATURA, DATA_INIZIO_INV, PATRIMONIO_TERZI, NOME_ISTITUTO, CHIAVE_THR, ASSETID, DESCRIZIONE_PRODOTTO, NOMEPRODOTTO, NOME_ISTITUTO_2, INTERMEDIARIO, DATA_SCADENZA, DATA2_UTILIZ_X_SOTTOSCRIZ, BALANCEDATE_DI_THR, CHIAVE_PR_31921, PATRIMONIO_IMMOBILIARE, LOCALITA, AFFITTOPERCEPITO, CHIAVE_F87B4, PATRIMONIO_ALTRO_PN_F87B4, DENOMINAZIONE_PN_F87B4, ISCOVER, TIPO_ISCOVER, CHIAVE_E6F18, PATRIMONIO_ALTRO_PB_E6F18, DENOMINAZIONE, NUMEROQUOTE, COMPANYTYPE, CHIAVE_COMP, COMPANYNAME, CHIAVE_BT_49D5B, TIPO_BT_49D5B, CHIAVE_BT_55768, TIPO_BT_55768, CHIAVE_BT_B70F0, TIPO_BT_B70F0, CHIAVE_BT_6797A, TIPO_BT_6797A, TIPO_VERSAMENTO_BT_6797A, CHIAVE_BT_97BEE, TIPO_BT_97BEE, TIPO_POLIZZA_BT_97BEE, CHIAVE_RDESCR, TIPO_RDESCR, DESCRIZIONE_RDESCR, TIPOLOGIA_RDESCR, @ID_ELAB + FROM C6StagingPeriodico.ALL_PATR_TERZI + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_POS_CONS_CAT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_POS_CONS_CAT') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_POS_CONS_CAT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_POS_CONS_CAT + (CODICE_FISCALE, RETE, STATO_CONSULENZA, DATA_STATO_CONSULENZA, PK_ALTERNATIVA_CONS, DATA_MIGRAZIONE_CONS, PK_AREA, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, C_PERCENTAGE_86095, C_CTVNEEDARE_EA4FB, PK_PRC, TIPO_PROGETTO, ID_MONITORAGGIO, NOME_PROGETTO, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_INVESTIMEN_60625, CONTROVALORE_PER_INV, PERCENTUALE_MODELLO, C_PERCENTUAL_12346, DATA_ORDINAMENTO_INV, CONTRATTO, OID_DI_CATITEMREF, C_OUTCTV_B4FB8, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CONTO, RUBRICATO, CUSTGAR, NUMPOL, TERMID, ANNO, PROG, NOME_PRODOTTO, NEED_AREA_ABBREVIATA_DI_POS, NEED_AREA_ESTESA_DI_POS, CHIAVE_CATITEMREF, CATALOGUENAME, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, COD_ADEGUATEZZA, ALBERATURA, TIPOPRODOTTO, ISNEGOTIABLE, MAINASSETCLASS, AREASORTORDER, ORIGINE_FILE_CATALOGO, FLAG_PRESENZA_MAPPATURA, RAGGRUPPAMEN_NOME_PROGET, ID_ELAB) + SELECT + CODICE_FISCALE, RETE, STATO_CONSULENZA, DATA_STATO_CONSULENZA, PK_ALTERNATIVA_CONS, DATA_MIGRAZIONE_CONS, PK_AREA, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, C_PERCENTAGE_86095, C_CTVNEEDARE_EA4FB, PK_PRC, TIPO_PROGETTO, ID_MONITORAGGIO, NOME_PROGETTO, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_INVESTIMEN_60625, CONTROVALORE_PER_INV, PERCENTUALE_MODELLO, C_PERCENTUAL_12346, DATA_ORDINAMENTO_INV, CONTRATTO, OID_DI_CATITEMREF, C_OUTCTV_B4FB8, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CONTO, RUBRICATO, CUSTGAR, NUMPOL, TERMID, ANNO, PROG, NOME_PRODOTTO, NEED_AREA_ABBREVIATA_DI_POS, NEED_AREA_ESTESA_DI_POS, CHIAVE_CATITEMREF, CATALOGUENAME, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, COD_ADEGUATEZZA, ALBERATURA, TIPOPRODOTTO, ISNEGOTIABLE, MAINASSETCLASS, AREASORTORDER, ORIGINE_FILE_CATALOGO, FLAG_PRESENZA_MAPPATURA, RAGGRUPPAMEN_NOME_PROGET, @ID_ELAB + FROM C6StagingPeriodico.ALL_POS_CONS_CAT + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_PROPOSTA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PROPOSTA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_PROPOSTA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_PROPOSTA + (AGENTE, RETE, NOME_CLIENTE, COGNOME_CLIENTE, CODICEFISCALE, CHIAVE_PROPOSTA, NOME_PROPOSTA, STATO_PROPOSTA, DATA_CREAZIONE_PROPOSTA, DATA_SCADENZA_PROPOSTA, NEED_BREVE, NEED_ESTESA, ORDINE_NEED, CONTROVALORE_TOT_PER_NEED, PERC_PER_NEED, NOME_PROGETTO, CONTROV_CONSULENZA, CONTROV_PROPOSTA, CONTROV_DA_DEFINIRE_LIQ, ISANEWPOSITION, STRINGONA_CLONEPOS, NOME_PRODOTTO_CLONEPOS, INVESTI, DISINVESTI, PTF_INIZ, CTVOPERAZIONE, CONTRACTCODE, POLIZZADECIMAL, CONTO, RUBRICATO, PR_COD_ISIN, PR_COD_MAF, PR_COD_INTERNO, PR_COD_SOTTOPRODOTTO, PR_COD_ADEGUATEZZA, NOME_PRODOTTO_CATALOGO, TIPOPRODOTTO, CHIAVE_CATITEMREF, CHIAVE_PER_LA_CONSULENZA, RICONCILIATA, FLAG_PROPOSTA_PER_PROGETTO, FLAG_PROPOSTA_PER_AREA, FLAG_SALVATAGGIO_MANUALE, RAGGRUPPAMENTO_PROGETTO, ID_ELAB) + SELECT + AGENTE, RETE, NOME_CLIENTE, COGNOME_CLIENTE, CODICEFISCALE, CHIAVE_PROPOSTA, NOME_PROPOSTA, STATO_PROPOSTA, DATA_CREAZIONE_PROPOSTA, DATA_SCADENZA_PROPOSTA, NEED_BREVE, NEED_ESTESA, ORDINE_NEED, CONTROVALORE_TOT_PER_NEED, PERC_PER_NEED, NOME_PROGETTO, CONTROV_CONSULENZA, CONTROV_PROPOSTA, CONTROV_DA_DEFINIRE_LIQ, ISANEWPOSITION, STRINGONA_CLONEPOS, NOME_PRODOTTO_CLONEPOS, INVESTI, DISINVESTI, PTF_INIZ, CTVOPERAZIONE, CONTRACTCODE, POLIZZADECIMAL, CONTO, RUBRICATO, PR_COD_ISIN, PR_COD_MAF, PR_COD_INTERNO, PR_COD_SOTTOPRODOTTO, PR_COD_ADEGUATEZZA, NOME_PRODOTTO_CATALOGO, TIPOPRODOTTO, CHIAVE_CATITEMREF, CHIAVE_PER_LA_CONSULENZA, RICONCILIATA, FLAG_PROPOSTA_PER_PROGETTO, FLAG_PROPOSTA_PER_AREA, FLAG_SALVATAGGIO_MANUALE, RAGGRUPPAMENTO_PROGETTO, @ID_ELAB + FROM C6StagingPeriodico.ALL_PROPOSTA + END + --XXXXXXXXXXXXXXXXXXXXXXXX AREEDIBISOGNO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'AREEDIBISOGNO') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_AREEDIBISOGNO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_AREEDIBISOGNO + (AREAID, AREANAME, AREASORTORDER, ID_ELAB) + SELECT + AREAID, AREANAME, AREASORTORDER, @ID_ELAB + FROM C6StagingPeriodico.AREEDIBISOGNO + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSET_1_E_2_ORDINATE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSET_1_E_2_ORDINATE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ASSET_1_E_2_ORDINATE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ASSET_1_E_2_ORDINATE + (CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ASSETCLASSNAME, ORDINAMENTO_ASSET, ID_ELAB) + SELECT + CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ASSETCLASSNAME, ORDINAMENTO_ASSET, @ID_ELAB + FROM C6StagingPeriodico.ASSET_1_E_2_ORDINATE + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ASSETCLASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ASSETCLASS + (OID$, VERSION$, ASSETCLASSID, ASSETCLASSNAME, ASSETCLASSDESCR, ASSETCLASSLEV, ISRESIDUAL, F_PASSETCLAS_2FB94, F_OID$_ASSET_B965C, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ORDINE, ID_ELAB) + SELECT + OID$, VERSION$, ASSETCLASSID, ASSETCLASSNAME, ASSETCLASSDESCR, ASSETCLASSLEV, ISRESIDUAL, F_PASSETCLAS_2FB94, F_OID$_ASSET_B965C, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ORDINE, @ID_ELAB + FROM C6StagingPeriodico.ASSETCLASS + END + --XXXXXXXXXXXXXXXXXXXXXXXX C_BO_453FB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'C_BO_453FB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_C_BO_453FB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_C_BO_453FB + (OID$, C_VALUE_7BD3C, C_DESCRIZION_93ABE, PK_PRC, ID_ELAB) + SELECT + OID$, C_VALUE_7BD3C, C_DESCRIZION_93ABE, PK_PRC, @ID_ELAB + FROM C6StagingPeriodico.C_BO_453FB + END + --XXXXXXXXXXXXXXXXXXXXXXXX CATINAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CATINAREA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CATINAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CATINAREA + (OID$, VERSION$, C_ISMAINNEED_9C780, NEEDAREAVALUE, F_OID$_NEEDA_2C362, F_PCATALOGUE_5D024, ID_ELAB) + SELECT + OID$, VERSION$, C_ISMAINNEED_9C780, NEEDAREAVALUE, F_OID$_NEEDA_2C362, F_PCATALOGUE_5D024, @ID_ELAB + FROM C6StagingPeriodico.CATINAREA + END + --XXXXXXXXXXXXXXXXXXXXXXXX CATITEMREF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CATITEMREF') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CATITEMREF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CATITEMREF + (OID$, VERSION$, PRODUCTCURRENCY, PRODUCTCOUNTRY, PRODUCTREGION, CATALOGUEID, COD_ISIN, COD_ADEGUATEZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TYPE$_BCATAL_FC317, CATEGORY, INSTITUTIONS, COUNTRY, PIAZZA, ULTIMOPRZCURR, ULTIMOPRZ, CAPITALERISPARMIO, LMINCAPCONTRCURR, LMINCAPCONTR, LSUCCAPCONTRCURR, LSUCCAPCONTR, LMINRISPCONTRCURR, LMINRISPCONTR, LSUCRISPCONTRCURR, LSUCRISPCONTR, LMINCOMMCURR, LMINCOMM, DELEGAGESTIONALE, TIPOLOGIAPERPICK, EXPIRATIONDATE, RISKPRICE, FISCALREGIMENT, QUOTATO, CLASSEDIPREZZO, BONDRATING, BONDDURATION, TEMPMIN, TEMPMAX, PRIPRODCOM, MAINASSETCLASS, MACROACOBPERC, MACROACALPERC, MACROACAZPERC, MACROACMNPERC, LINEEFINACC, TIPOVERS, TIPOPOLIZRAM1, DURATACONTR, GARDEMO, RISKPRESSCAD, LIVFLUTDUR, OPZRENDVIT, METAA, METAB, METAC, RATOBBLIG, ULTIMOPREZZOCURR, ULTIMOPREZZO, DATARIFPREZZO, CODICEADB, AGGIORNFEED, DISTRPROV, CODTIPOCONTR, ULTPRZSECCURR, ULTPRZSEC, DATAULTPRZSEC, CODBLOOMBERG, DENOMUNITLNK, TIPOPRODOTTO, GENERICDATA, GENERICCURCURR, GENERICCUR, GENERICSTRING1, GENERICSTRING2, CATALOGUENAME, EFFECTIVEFROM, EFFECTIVETO, PRODUCTSTATUS, ISVISIBLE, ISNEGOTIABLE, BRIEFDESCRIPTION, F_OID$_VAR_CDDF8, RISKPROFOFSUITCLS, OPINION, OPINIONDATE, F_OID$_CATAL_B3E14, F_OID$_PCATE_F3BF6, F_OID$_MAINA_76C35, F_OID$_INSTR_B5526, F_OID$_MAINS_5FCE5, F_OID$_MAINR_08A23, F_OID$_PRISK_AAC57, F_OID$_PRODU_F8FBB, F_OID$_MARKE_F3D2D, COLL_SKANDIA, CODASSETSAT, ID_ELAB) + SELECT + OID$, VERSION$, PRODUCTCURRENCY, PRODUCTCOUNTRY, PRODUCTREGION, CATALOGUEID, COD_ISIN, COD_ADEGUATEZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TYPE$_BCATAL_FC317, CATEGORY, INSTITUTIONS, COUNTRY, PIAZZA, ULTIMOPRZCURR, ULTIMOPRZ, CAPITALERISPARMIO, LMINCAPCONTRCURR, LMINCAPCONTR, LSUCCAPCONTRCURR, LSUCCAPCONTR, LMINRISPCONTRCURR, LMINRISPCONTR, LSUCRISPCONTRCURR, LSUCRISPCONTR, LMINCOMMCURR, LMINCOMM, DELEGAGESTIONALE, TIPOLOGIAPERPICK, EXPIRATIONDATE, RISKPRICE, FISCALREGIMENT, QUOTATO, CLASSEDIPREZZO, BONDRATING, BONDDURATION, TEMPMIN, TEMPMAX, PRIPRODCOM, MAINASSETCLASS, MACROACOBPERC, MACROACALPERC, MACROACAZPERC, MACROACMNPERC, LINEEFINACC, TIPOVERS, TIPOPOLIZRAM1, DURATACONTR, GARDEMO, RISKPRESSCAD, LIVFLUTDUR, OPZRENDVIT, METAA, METAB, METAC, RATOBBLIG, ULTIMOPREZZOCURR, ULTIMOPREZZO, DATARIFPREZZO, CODICEADB, AGGIORNFEED, DISTRPROV, CODTIPOCONTR, ULTPRZSECCURR, ULTPRZSEC, DATAULTPRZSEC, CODBLOOMBERG, DENOMUNITLNK, TIPOPRODOTTO, GENERICDATA, GENERICCURCURR, GENERICCUR, GENERICSTRING1, GENERICSTRING2, CATALOGUENAME, EFFECTIVEFROM, EFFECTIVETO, PRODUCTSTATUS, ISVISIBLE, ISNEGOTIABLE, BRIEFDESCRIPTION, F_OID$_VAR_CDDF8, RISKPROFOFSUITCLS, OPINION, OPINIONDATE, F_OID$_CATAL_B3E14, F_OID$_PCATE_F3BF6, F_OID$_MAINA_76C35, F_OID$_INSTR_B5526, F_OID$_MAINS_5FCE5, F_OID$_MAINR_08A23, F_OID$_PRISK_AAC57, F_OID$_PRODU_F8FBB, F_OID$_MARKE_F3D2D, COLL_SKANDIA, CODASSETSAT, @ID_ELAB + FROM C6StagingPeriodico.CATITEMREF + END + --XXXXXXXXXXXXXXXXXXXXXXXX CLIENTI_CON_RNA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CLIENTI_CON_RNA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CLIENTI_CON_RNA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CLIENTI_CON_RNA + ([Rete] + ,[CodicePB] + ,[CodiceFiscale] + ,[Percentuale] + ,[DataCalcolo] + ,ID_ELAB) + SELECT [Rete] + ,[CodicePB] + ,[CodiceFiscale] + ,[Percentuale] + ,[DataCalcolo] + ,@ID_ELAB ID_ELAB + FROM C6StagingPeriodico.CLIENTI_CON_RNA + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONO') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CONO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CONO + (OID$, VERSION$, C_DATA_FD2A6, C_QUANTILE5_BF710, C_QUANTILE95_0D6CE, F_PPROJECT_P_46507, C_QUANTILE50_C47E0, ID_ELAB) + SELECT + OID$, VERSION$, C_DATA_FD2A6, C_QUANTILE5_BF710, C_QUANTILE95_0D6CE, F_PPROJECT_P_46507, C_QUANTILE50_C47E0, @ID_ELAB + FROM C6StagingPeriodico.CONO + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONSAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONSAREA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CONSAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CONSAREA + (OID$, VERSION$, F_PCONSULENZ_7FBE3, C_CONSULENZA_A58F3, C_CONSULENZA_E94E3, C_NEEDAREA_V_46360, C_NEEDAREA_D_911D8, C_CTVNEEDARE_EA4FB, C_PERCENTAGE_86095, C_OUTCTV_A27B5, C_PATRIMONIO_F4B8E, C_INVESTIMEN_AC24C, C_CONSULENZA_0C219, C_CONSULENZA_1C9D3, ID_ELAB) + SELECT + OID$, VERSION$, F_PCONSULENZ_7FBE3, C_CONSULENZA_A58F3, C_CONSULENZA_E94E3, C_NEEDAREA_V_46360, C_NEEDAREA_D_911D8, C_CTVNEEDARE_EA4FB, C_PERCENTAGE_86095, C_OUTCTV_A27B5, C_PATRIMONIO_F4B8E, C_INVESTIMEN_AC24C, C_CONSULENZA_0C219, C_CONSULENZA_1C9D3, @ID_ELAB + FROM C6StagingPeriodico.CONSAREA + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONSUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONSUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CONSUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CONSUL + (OID$, VERSION$, C_CONSULENZA_EBDBE, ADBKID, INSTID, TYPE$_TIPOCO_1EA7C, C_CONTROVALO_C57EE, C_PATRIMONIO_0BF30, C_ALTROPATRI_E90EF, C_ALTRO_5AD86, C_DATAINIZIO_35C15, C_RISORSENON_A04BD, C_INVESTIMEN_C4514, C_INVESTIMEN_36DE3, C_IDQUESTION_5549B, C_DATAQUESTI_5069A, C_VARCONSOB_28C92, C_VALORIALLI_0CA23, C_DATAPIRAMI_661DA, C_DATACONSVE_D3DE3, C_DATACONSOR_EA88E, C_PROFILOCON_81F5D, C_DATAMIGRAZ_BF705, C_SALVADANAI_B156A, C_CONSULENZA_2C1E1, C_DATACONSVE_66B66, C_DATACAMBIO_79509, ID_ELAB) + SELECT + OID$, VERSION$, C_CONSULENZA_EBDBE, ADBKID, INSTID, TYPE$_TIPOCO_1EA7C, C_CONTROVALO_C57EE, C_PATRIMONIO_0BF30, C_ALTROPATRI_E90EF, C_ALTRO_5AD86, C_DATAINIZIO_35C15, C_RISORSENON_A04BD, C_INVESTIMEN_C4514, C_INVESTIMEN_36DE3, C_IDQUESTION_5549B, C_DATAQUESTI_5069A, C_VARCONSOB_28C92, C_VALORIALLI_0CA23, C_DATAPIRAMI_661DA, C_DATACONSVE_D3DE3, C_DATACONSOR_EA88E, C_PROFILOCON_81F5D, C_DATAMIGRAZ_BF705, C_SALVADANAI_B156A, C_CONSULENZA_2C1E1, C_DATACONSVE_66B66, C_DATACAMBIO_79509, @ID_ELAB + FROM C6StagingPeriodico.CONSUL + END + --XXXXXXXXXXXXXXXXXXXXXXXX INDREND XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'INDREND') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_INDREND WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_INDREND + (OID$, VERSION$, C_VAR_A94EA, C_TEMPOINVES_CE300, C_COPERTURA_94818, C_PERDITAMAX_F5B51, ID_ELAB) + SELECT + OID$, VERSION$, C_VAR_A94EA, C_TEMPOINVES_CE300, C_COPERTURA_94818, C_PERDITAMAX_F5B51, @ID_ELAB + FROM C6StagingPeriodico.INDREND + END + --XXXXXXXXXXXXXXXXXXXXXXXX INSTRBDS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'INSTRBDS') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_INSTRBDS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_INSTRBDS + (OID$, VERSION$, BDISIN, BDMAF, F_OID$_PCATA_5DDA6, PROVENIENZA, ID_ELAB) + SELECT + OID$, VERSION$, BDISIN, BDMAF, F_OID$_PCATA_5DDA6, PROVENIENZA, @ID_ELAB + FROM C6StagingPeriodico.INSTRBDS + END + --XXXXXXXXXXXXXXXXXXXXXXXX NEEDAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'NEEDAREA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_NEEDAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_NEEDAREA + (OID$, VERSION$, AREAID, AREANAME, EFFECTIVEFROM, EFFECTIVETO, BRIEFDESCRIPTION, F_PNEEDAREA__742D7, AREASORTORDER, ID_ELAB) + SELECT + OID$, VERSION$, AREAID, AREANAME, EFFECTIVEFROM, EFFECTIVETO, BRIEFDESCRIPTION, F_PNEEDAREA__742D7, AREASORTORDER, @ID_ELAB + FROM C6StagingPeriodico.NEEDAREA + END + --XXXXXXXXXXXXXXXXXXXXXXXX NOME_PROGETTO_BOZZA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'NOME_PROGETTO_BOZZA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_NOME_PROGETTO_BOZZA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_NOME_PROGETTO_BOZZA + (ADBKID, INSTID, NUOVO_NOME_PROGETTO, C_PROJECTIDR_51E22, NEEDAREA, ID_ELAB) + SELECT + ADBKID, INSTID, NUOVO_NOME_PROGETTO, C_PROJECTIDR_51E22, NEEDAREA, @ID_ELAB + FROM C6StagingPeriodico.NOME_PROGETTO_BOZZA + END + --XXXXXXXXXXXXXXXXXXXXXXXX OTHINTRST XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'OTHINTRST') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_OTHINTRST WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_OTHINTRST + (OID$, VERSION$, INTERESTDESC, INTERESTCUR, INTERESTAMT, F_PQUANTIFIC_76FF6, ID_ELAB) + SELECT + OID$, VERSION$, INTERESTDESC, INTERESTCUR, INTERESTAMT, F_PQUANTIFIC_76FF6, @ID_ELAB + FROM C6StagingPeriodico.OTHINTRST + END + --XXXXXXXXXXXXXXXXXXXXXXXX PHOTO_DATA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PHOTO_DATA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PHOTO_DATA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PHOTO_DATA + (OID_, VERSION_, ADBKID, INSTID, C_DATAREQ_EB2B5, TYPE__TYPE_7CAB6, TYPE__STATUS_1E30E, C_DATASALVAT_D40E3, C_CTVINV_990D8, C_CTVRIS_43FEA, C_CTVLIQ_54D1B, C_CTVPRE_A0E49, C_CTVEXT_34DCC, C_CTVCC_E242D, C_CTVNA_473EA, C_VAR_16494, C_COPVAR_5C6E5, ID_ELAB) + SELECT + OID_, VERSION_, ADBKID, INSTID, C_DATAREQ_EB2B5, TYPE__TYPE_7CAB6, TYPE__STATUS_1E30E, C_DATASALVAT_D40E3, C_CTVINV_990D8, C_CTVRIS_43FEA, C_CTVLIQ_54D1B, C_CTVPRE_A0E49, C_CTVEXT_34DCC, C_CTVCC_E242D, C_CTVNA_473EA, C_VAR_16494, C_COPVAR_5C6E5, @ID_ELAB + FROM C6StagingPeriodico.PHOTO_DATA + END + --XXXXXXXXXXXXXXXXXXXXXXXX PORTMOD XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PORTMOD') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PORTMOD WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PORTMOD + (OID$, VERSION$, F_PPROJECT_P_EE748, C_ASSET_CD02D, C_PERCENTUAL_143B7, ID_ELAB) + SELECT + OID$, VERSION$, F_PPROJECT_P_EE748, C_ASSET_CD02D, C_PERCENTUAL_143B7, @ID_ELAB + FROM C6StagingPeriodico.PORTMOD + END + --XXXXXXXXXXXXXXXXXXXXXXXX POSITION XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'POSITION') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_POSITION WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_POSITION + (OID$, VERSION$, F_PCONSULENZ_56F23, POSITIONID, CONSULENZAID, TYPE$_CATALO_35E2A, POSITIONNAME, CONTROVALORE, C_OUTCTV_B4FB8, C_NEEDAREASE_3D485, C_NEEDAREASE_30873, CATALOGUEITEMID, F_OID$_POSIT_00526, F_PPROJECT_P_B5629, CTVINIZIALE, ID_ELAB) + SELECT + OID$, VERSION$, F_PCONSULENZ_56F23, POSITIONID, CONSULENZAID, TYPE$_CATALO_35E2A, POSITIONNAME, CONTROVALORE, C_OUTCTV_B4FB8, C_NEEDAREASE_3D485, C_NEEDAREASE_30873, CATALOGUEITEMID, F_OID$_POSIT_00526, F_PPROJECT_P_B5629, CTVINIZIALE, @ID_ELAB + FROM C6StagingPeriodico.POSITION + END + --XXXXXXXXXXXXXXXXXXXXXXXX PRCONSUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PRCONSUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PRCONSUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PRCONSUL + (OID$, VERSION$, F_PCONSULENZ_B69E4, C_PROJECTID_9894C, C_CONSULENZA_CB331, C_CONSULENZA_A7FC6, NEEDAREAID, TYPE$_PROJEC_14674, C_PROJECTNAM_11D1A, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_CREATIONDA_732BD, C_LASTMODIFI_3BF4A, C_INVESTIMEN_60625, F_OID$_FREQU_A5FAB, C_IMPORTOPER_7A987, F_OID$_RISKP_9CF4A, F_OID$_ORIZZ_4A868, C_PERDITAAVV_D414B, C_PERDITAMAX_55078, C_GUADAGNOAV_2BD07, C_GUADAGNOMA_D14C4, C_RISERVENON_CCD2D, C_RISERVEMON_5E189, C_RISERVEOBB_121FA, C_RISERVEAZI_175C0, C_CONSULENZA_ACEEE, C_PROJECTIDM_1AF31, C_PROJECTIDR_51E22, C_DATAULTIMO_FFA71, C_PERDITAMAX_BEABF, C_PERDITAMAX_AAB4C, C_GUADAGNOMA_43151, C_GUADAGNOMA_0F76F, F_OID$_PROJE_CD4BB, C_NOTE_B4B97, C_PERCENTUAL_69019, C_PERCENTUAL_12346, F_OID$_RISKS_A3B54, C_ORDERTIMES_80019, ID_ELAB) + SELECT + OID$, VERSION$, F_PCONSULENZ_B69E4, C_PROJECTID_9894C, C_CONSULENZA_CB331, C_CONSULENZA_A7FC6, NEEDAREAID, TYPE$_PROJEC_14674, C_PROJECTNAM_11D1A, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_CREATIONDA_732BD, C_LASTMODIFI_3BF4A, C_INVESTIMEN_60625, F_OID$_FREQU_A5FAB, C_IMPORTOPER_7A987, F_OID$_RISKP_9CF4A, F_OID$_ORIZZ_4A868, C_PERDITAAVV_D414B, C_PERDITAMAX_55078, C_GUADAGNOAV_2BD07, C_GUADAGNOMA_D14C4, C_RISERVENON_CCD2D, C_RISERVEMON_5E189, C_RISERVEOBB_121FA, C_RISERVEAZI_175C0, C_CONSULENZA_ACEEE, C_PROJECTIDM_1AF31, C_PROJECTIDR_51E22, C_DATAULTIMO_FFA71, C_PERDITAMAX_BEABF, C_PERDITAMAX_AAB4C, C_GUADAGNOMA_43151, C_GUADAGNOMA_0F76F, F_OID$_PROJE_CD4BB, C_NOTE_B4B97, C_PERCENTUAL_69019, C_PERCENTUAL_12346, F_OID$_RISKS_A3B54, C_ORDERTIMES_80019, @ID_ELAB + FROM C6StagingPeriodico.PRCONSUL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PROMETEIA_AGGR XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PROMETEIA_AGGR') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PROMETEIA_AGGR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PROMETEIA_AGGR + (Rete, CodiceFiscale, Portafoglio, VaRAssolutoDiPortafoglio, VaRPercentuialeDiPortafoglio, CVaRAssolutoDiPortafoglio, CVaRPercentualeDiPortafoglio, RisksizeDiPortafoglio, McVar, McVarP, Beneficio, Copertura, Totale, ID_ELAB) + SELECT + Rete, CodiceFiscale, Portafoglio, VaRAssolutoDiPortafoglio, VaRPercentuialeDiPortafoglio, CVaRAssolutoDiPortafoglio, CVaRPercentualeDiPortafoglio, RisksizeDiPortafoglio, McVar, McVarP, Beneficio, Copertura, Totale, @ID_ELAB + FROM C6StagingPeriodico.PROMETEIA_AGGR + END + --XXXXXXXXXXXXXXXXXXXXXXXX QUANTIF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'QUANTIF') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_QUANTIF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_QUANTIF + (OID$, VERSION$, UPDATEDATE, EXPNEEDSCUR, EXPNEEDSAMT, GROSSINPRIMCUR, GROSSINPRIMAMT, GROSSINSECCUR, GROSSINSECAMT, RETIREMENTYEARS, STATEPENSIONCUR, STATEPENSIONAMT, PRIVATEPENSIONCUR, PRIVATEPENSIONAMT, LIFEINTERESTCUR, LIFEINTERESTAMT, C_FINANCIALI_8D659, C_FINANCIALI_91C75, INSINTERESTCUR, INSINTERESTAMT, INVINTERESTCUR, INVINTERESTAMT, REINTERESTCUR, REINTERESTAMT, PRIMARYGAPCUR, PRIMARYGAPAMT, SECONDARYGAPCUR, SECONDARYGAPAMT, TOCONSUMPTIONETM, TOINTERESTETM, LOCKPERCFRSTBRNC, PRFCONSUMPTIONS, PRFGROSSAMOUNT, PRFPERCFRSTBRNC, PRFADDRETIREMENT, PRFLIFEINTEREST, PRFINTERFRSTBRNC, PRFINTERUNIT, F_OID$_ADDRE_81D21, ID_ELAB) + SELECT + OID$, VERSION$, UPDATEDATE, EXPNEEDSCUR, EXPNEEDSAMT, GROSSINPRIMCUR, GROSSINPRIMAMT, GROSSINSECCUR, GROSSINSECAMT, RETIREMENTYEARS, STATEPENSIONCUR, STATEPENSIONAMT, PRIVATEPENSIONCUR, PRIVATEPENSIONAMT, LIFEINTERESTCUR, LIFEINTERESTAMT, C_FINANCIALI_8D659, C_FINANCIALI_91C75, INSINTERESTCUR, INSINTERESTAMT, INVINTERESTCUR, INVINTERESTAMT, REINTERESTCUR, REINTERESTAMT, PRIMARYGAPCUR, PRIMARYGAPAMT, SECONDARYGAPCUR, SECONDARYGAPAMT, TOCONSUMPTIONETM, TOINTERESTETM, LOCKPERCFRSTBRNC, PRFCONSUMPTIONS, PRFGROSSAMOUNT, PRFPERCFRSTBRNC, PRFADDRETIREMENT, PRFLIFEINTEREST, PRFINTERFRSTBRNC, PRFINTERUNIT, F_OID$_ADDRE_81D21, @ID_ELAB + FROM C6StagingPeriodico.QUANTIF + END + --XXXXXXXXXXXXXXXXXXXXXXXX RMADBKROLE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'RMADBKROLE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_RMADBKROLE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_RMADBKROLE + (OID$, VERSION$, F_PADDRESSBO_22C0C, RMGROUPROLE, F_OID$_RM_4A3B4, ID_ELAB) + SELECT + OID$, VERSION$, F_PADDRESSBO_22C0C, RMGROUPROLE, F_OID$_RM_4A3B4, @ID_ELAB + FROM C6StagingPeriodico.RMADBKROLE + END + --XXXXXXXXXXXXXXXXXXXXXXXX S4_S5_S13_TRAD_UNTIL_LIV3 XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'S4_S5_S13_TRAD_UNTIL_LIV3') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 + (DESCRIZIONE_ORIGINALE, ALBERO_GERARCHIA_1, ALBERO_GERARCHIA_2, ALBERO_GERARCHIA_3, ORDINAMENTO_GERARCHIA_2, ID_ELAB) + SELECT + DESCRIZIONE_ORIGINALE, ALBERO_GERARCHIA_1, ALBERO_GERARCHIA_2, ALBERO_GERARCHIA_3, ORDINAMENTO_GERARCHIA_2, @ID_ELAB + FROM C6StagingPeriodico.S4_S5_S13_TRAD_UNTIL_LIV3 + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_CONTR_SINTESI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_CONTR_SINTESI') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_SPB_CONTR_SINTESI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_SPB_CONTR_SINTESI + (POSITIONID, DTTRIM, DTRIFE, RETE, CODFIS, CODCONF, NUMPOL, CONTO, RUBR, CUSTGAR, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, PCTKEY, DESTIT, CTV, PARTVIA, PARTVIAAL, DTSOTTOS, RENDINIZ, RENDANNO, VALORE, SUBSET, CVN, QUOTE, ID_ELAB) + SELECT + POSITIONID, DTTRIM, DTRIFE, RETE, CODFIS, CODCONF, NUMPOL, CONTO, RUBR, CUSTGAR, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, PCTKEY, DESTIT, CTV, PARTVIA, PARTVIAAL, DTSOTTOS, RENDINIZ, RENDANNO, VALORE, SUBSET, CVN, QUOTE, @ID_ELAB + FROM C6StagingPeriodico.SPB_CONTR_SINTESI + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_MIFID XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_MIFID') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_SPB_MIFID WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_SPB_MIFID + (RETE, CODAGENTE, CODICEFISCALE, ACCETTACOMPILAZIONE, CODICEPROFILOASSEGNATO, CODICEPROFILOCALCOLATO, CODICEQUESTIONARIO, DATAFINEVALIDITA, DATAINIZIOVALIDITA, CODICEAGENTE, CODICEAGENTERESPONSABILE, CODICEAGENTEREALE, TIPOQUESTIONARIO, STATUS, ID_ELAB) + SELECT + RETE, CODAGENTE, CODICEFISCALE, ACCETTACOMPILAZIONE, CODICEPROFILOASSEGNATO, CODICEPROFILOCALCOLATO, CODICEQUESTIONARIO, DATAFINEVALIDITA, DATAINIZIOVALIDITA, CODICEAGENTE, CODICEAGENTERESPONSABILE, CODICEAGENTEREALE, TIPOQUESTIONARIO, STATUS, @ID_ELAB + FROM C6StagingPeriodico.SPB_MIFID + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_PROF_RISCHIO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_PROF_RISCHIO') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_SPB_PROF_RISCHIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_SPB_PROF_RISCHIO + (CODICEPROFILO, DESCRIZIONEPROFILO, DESCRIZIONEPROFILOESTESA, PERCENTUALEASSETAZIONARIO, PERCENTUALEASSETOBBLIGAZIONARIO, PERCENTUALEASSETMONETARIO, VOLATILITADA, VOLATILITAA, RENDIMENTOATTESO, VARTRIMESTRALE, ID_ELAB) + SELECT + CODICEPROFILO, DESCRIZIONEPROFILO, DESCRIZIONEPROFILOESTESA, PERCENTUALEASSETAZIONARIO, PERCENTUALEASSETOBBLIGAZIONARIO, PERCENTUALEASSETMONETARIO, VOLATILITADA, VOLATILITAA, RENDIMENTOATTESO, VARTRIMESTRALE, @ID_ELAB + FROM C6StagingPeriodico.SPB_PROF_RISCHIO + END + --XXXXXXXXXXXXXXXXXXXXXXXX TABELLESTORICIZZATE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TABELLESTORICIZZATE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TABELLESTORICIZZATE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TABELLESTORICIZZATE + (Nome, Inizio, Fine, Durata, Vecchia_Durata, Storicizzata, ID_ELAB) + SELECT + Nome, Inizio, Fine, Durata, Vecchia_Durata, Storicizzata, @ID_ELAB + FROM C6StagingPeriodico.TABELLESTORICIZZATE + END + --XXXXXXXXXXXXXXXXXXXXXXXX TANAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TANAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TANAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TANAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTFINE, DTINI, CTVINI, DTRENDMAX, RENDMAX, DTRENDMIN, RENDMIN, DTCTV, CTV, RENDATT, DTCTVMAX, CTVMAX, DTCTVMIN, CTVMIN, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, RENDATTANN, ID_ELAB) + SELECT + RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTFINE, DTINI, CTVINI, DTRENDMAX, RENDMAX, DTRENDMIN, RENDMIN, DTCTV, CTV, RENDATT, DTCTVMAX, CTVMAX, DTCTVMIN, CTVMIN, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, RENDATTANN, @ID_ELAB + FROM C6StagingPeriodico.TANAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX TCPTAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TCPTAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TCPTAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TCPTAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, ISIN, ID_WADEG, MAF, CODCONF, SUBPROD, CODPROD, NUMPOL, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, SPROG, DTUSCITA, DTSOTT, CTVATT, DTINGRESSO, CTVINGRESSO, DTTRIM, RENDTRIM, DTANNO, RENDANNO, DTINIZ, RENDINIZ, DTININAC, RENDNAC, CTVVP, CVNTRIM, CVNANNO, CVNINIZ, CVNNAC, CODINT, VALORE, STLIQ, DTVALORIZ, ID_ELAB) + SELECT + RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, ISIN, ID_WADEG, MAF, CODCONF, SUBPROD, CODPROD, NUMPOL, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, SPROG, DTUSCITA, DTSOTT, CTVATT, DTINGRESSO, CTVINGRESSO, DTTRIM, RENDTRIM, DTANNO, RENDANNO, DTINIZ, RENDINIZ, DTININAC, RENDNAC, CTVVP, CVNTRIM, CVNANNO, CVNINIZ, CVNNAC, CODINT, VALORE, STLIQ, DTVALORIZ, @ID_ELAB + FROM C6StagingPeriodico.TCPTAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX TRENAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TRENAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TRENAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TRENAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTVALORIZ, CTV, DTINIZ, RENDINIZ, DTTRIM, RENDTRIM, DTANNO, RENDANNO, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, RENDATTANN, ID_ELAB) + SELECT + RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTVALORIZ, CTV, DTINIZ, RENDINIZ, DTTRIM, RENDTRIM, DTANNO, RENDANNO, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, RENDATTANN, @ID_ELAB + FROM C6StagingPeriodico.TRENAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX TSCABP XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TSCABP') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TSCABP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TSCABP + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, CODCONF, SUBPROD, CODPROD, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, DTINGRESSO, ISTITUTO, TIPO_PRODOTT, CONTO_OP, STRUM_FIN, ID_MOVIM, TIPO_OP, RESTART, DT_ING_USC, ING_USC, COD_ERR, DESCR_ERR, DT_ELAB, DT_INS, PCT, PROVENIENZA, ID_ELAB) + SELECT + RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, CODCONF, SUBPROD, CODPROD, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, DTINGRESSO, ISTITUTO, TIPO_PRODOTT, CONTO_OP, STRUM_FIN, ID_MOVIM, TIPO_OP, RESTART, DT_ING_USC, ING_USC, COD_ERR, DESCR_ERR, DT_ELAB, DT_INS, PCT, PROVENIENZA, @ID_ELAB + FROM C6StagingPeriodico.TSCABP + END + --XXXXXXXXXXXXXXXXXXXXXXXX WANAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WANAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WANAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WANAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTFINE, DTINI, CTVINI, DTRENDMAX, RENDMAX, DTRENDMIN, RENDMIN, DTCTV, CTV, RENDATT, DTCTVMAX, CTVMAX, DTCTVMIN, CTVMIN, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, ID_ELAB) + SELECT + RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTFINE, DTINI, CTVINI, DTRENDMAX, RENDMAX, DTRENDMIN, RENDMIN, DTCTV, CTV, RENDATT, DTCTVMAX, CTVMAX, DTCTVMIN, CTVMIN, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, @ID_ELAB + FROM C6StagingPeriodico.WANAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX WCPTAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WCPTAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WCPTAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WCPTAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, ISIN, ID_WADEG, MAF, CODCONF, SUBPROD, CODPROD, NUMPOL, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, SPROG, DTUSCITA, DTSOTT, CTVATT, DTINGRESSO, CTVINGRESSO, DTTRIM, RENDTRIM, DTANNO, RENDANNO, DTINIZ, RENDINIZ, DTININAC, RENDNAC, CTVVP, CVNTRIM, CVNANNO, CVNINIZ, CVNNAC, CODINT, VALORE, ID_ELAB) + SELECT + RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, ISIN, ID_WADEG, MAF, CODCONF, SUBPROD, CODPROD, NUMPOL, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, SPROG, DTUSCITA, DTSOTT, CTVATT, DTINGRESSO, CTVINGRESSO, DTTRIM, RENDTRIM, DTANNO, RENDANNO, DTINIZ, RENDINIZ, DTININAC, RENDNAC, CTVVP, CVNTRIM, CVNANNO, CVNINIZ, CVNNAC, CODINT, VALORE, @ID_ELAB + FROM C6StagingPeriodico.WCPTAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX WRENAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WRENAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WRENAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WRENAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTVALORIZ, CTV, DTINIZ, RENDINIZ, DTTRIM, RENDTRIM, DTANNO, RENDANNO, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, ID_ELAB) + SELECT + RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTVALORIZ, CTV, DTINIZ, RENDINIZ, DTTRIM, RENDTRIM, DTANNO, RENDANNO, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, @ID_ELAB + FROM C6StagingPeriodico.WRENAB + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSCABP XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSCABP') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSCABP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSCABP + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, CODCONF, SUBPROD, CODPROD, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, DTINGRESSO, ISTITUTO, TIPO_PRODOTT, CONTO_OP, STRUM_FIN, ID_MOVIM, TIPO_OP, RESTART, DT_ING_USC, ING_USC, COD_ERR, DESCR_ERR, DT_ELAB, DT_INS, PCT, PROVENIENZA, ID_ELAB) + SELECT + RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, CODCONF, SUBPROD, CODPROD, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, DTINGRESSO, ISTITUTO, TIPO_PRODOTT, CONTO_OP, STRUM_FIN, ID_MOVIM, TIPO_OP, RESTART, DT_ING_USC, ING_USC, COD_ERR, DESCR_ERR, DT_ELAB, DT_INS, PCT, PROVENIENZA, @ID_ELAB + FROM C6StagingPeriodico.WSCABP + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEIAN XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEIAN') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEIAN WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEIAN + (DTTRIM, RETE, CODFIS, NOME, COGNOME, DTNASCI, INDIRIZZO, CAP, CITTA, PROVINCIA, NAZIONE, CODPROF, ID_ELAB) + SELECT + DTTRIM, RETE, CODFIS, NOME, COGNOME, DTNASCI, INDIRIZZO, CAP, CITTA, PROVINCIA, NAZIONE, CODPROF, @ID_ELAB + FROM C6StagingPeriodico.WSEIAN + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEICS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEICS') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEICS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEICS + (DTTRIM, DTRIFE, RETE, CODFIS, CODCONF, NUMPOL, CONTO, RUBR, CUSTGAR, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, PCTKEY, DESTIT, CTV, PARTVIA, PARTVIAAL, DTSOTTOS, RENDINIZ, RENDANNO, VALORE, SUBSET, CVN, QUOTE, ID_ELAB) + SELECT + DTTRIM, DTRIFE, RETE, CODFIS, CODCONF, NUMPOL, CONTO, RUBR, CUSTGAR, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, PCTKEY, DESTIT, CTV, PARTVIA, PARTVIAAL, DTSOTTOS, RENDINIZ, RENDANNO, VALORE, SUBSET, CVN, QUOTE, @ID_ELAB + FROM C6StagingPeriodico.WSEICS + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEIPV XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEIPV') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEIPV WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEIPV + (DTTRIM, RETE, CODFIS, CODCONF, IMPVER, DTRIFE, SUBSET, ID_ELAB) + SELECT + DTTRIM, RETE, CODFIS, CODCONF, IMPVER, DTRIFE, SUBSET, @ID_ELAB + FROM C6StagingPeriodico.WSEIPV + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEIUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEIUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEIUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEIUL + (DTTRIM, RETE, CODFIS, CODCONF, CODINT, SUBPROD, CTV, DTRIFE, ISINFIT, ISIN, MAF, SUBSET, ID_ELAB) + SELECT + DTTRIM, RETE, CODFIS, CODCONF, CODINT, SUBPROD, CTV, DTRIFE, ISINFIT, ISIN, MAF, SUBSET, @ID_ELAB + FROM C6StagingPeriodico.WSEIUL + END + -- XX -- XX -- XX AGGIORNAMENTO DATI C6StagingPeriodico.TabelleStoricizzate XX -- XX -- XX -- + IF(@NomeTabella IS NOT NULL) + BEGIN + UPDATE C6StagingPeriodico.TabelleStoricizzate + SET + FINE = GETDATE(), + DURATA = DATEDIFF(SECOND ,INIZIO, GETDATE()) + WHERE NOME = @NomeTabella + END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_SRV_STORICIZZAZIONE_preAladdin.sql b/sql/storedTestbes/C6StagingPeriodico_SRV_STORICIZZAZIONE_preAladdin.sql new file mode 100644 index 00000000..93d892d6 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_SRV_STORICIZZAZIONE_preAladdin.sql @@ -0,0 +1,832 @@ +-- ============================================= +-- Author: paolo giovanetti +-- Create date: 6 marzo 2009 +-- Description: storicizzazione STAGING +-- ============================================= +CREATE procedure [C6StagingPeriodico].[SRV_STORICIZZAZIONE_preAladdin] + @NomeTabella VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico espresso in giorni + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MartPeriodico.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + SET @ID_ELAB = C6MartPeriodico.GETIDELAB() +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENOTH XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENOTH') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ACBDENOTH WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ACBDENOTH + (OID$, VERSION$, BDPERCENTAGE, BDBETA, F_OID$_PASSE_CDF1A, F_PFINANCIAL_815C0, ID_ELAB) + SELECT + ACBDENOTH.OID$, ACBDENOTH.VERSION$, ACBDENOTH.BDPERCENTAGE, ACBDENOTH.BDBETA, ACBDENOTH.F_OID$_PASSE_CDF1A, ACBDENOTH.F_PFINANCIAL_815C0, @ID_ELAB + FROM C6StagingPeriodico.ACBDENOTH + LEFT OUTER JOIN C6StoricoPeriodico.ST_ACBDENOTH + ON ACBDENOTH.OID$ = ST_ACBDENOTH.OID$ + WHERE ST_ACBDENOTH.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENTRY XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENTRY') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ACBDENTRY WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ACBDENTRY + (OID$, VERSION$, F_PINDEXBREA_08079, F_PINSTRUMEN_FBCDE, BDPERCENTAGE, BDBETA, F_OID$_PASSE_B8A1E, F_PFINANCIAL_65EBB, F_PFINANCIAL_C2FD3, ID_ELAB) + SELECT + ACBDENTRY.OID$, ACBDENTRY.VERSION$, ACBDENTRY.F_PINDEXBREA_08079, ACBDENTRY.F_PINSTRUMEN_FBCDE, ACBDENTRY.BDPERCENTAGE, ACBDENTRY.BDBETA, ACBDENTRY.F_OID$_PASSE_B8A1E, ACBDENTRY.F_PFINANCIAL_65EBB, ACBDENTRY.F_PFINANCIAL_C2FD3, @ID_ELAB + FROM C6StagingPeriodico.ACBDENTRY + LEFT OUTER JOIN C6StoricoPeriodico.ST_ACBDENTRY + ON ACBDENTRY.OID$ = ST_ACBDENTRY.OID$ + WHERE ST_ACBDENTRY.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ADBKBASE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ADBKBASE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ADBKBASE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ADBKBASE + (OID$, VERSION$, ADBKID, INSTID, C_ADBKBASE_L_69013, TYPE$_ADBKST_AC419, C_CLIENTNAME_1A67C, C_CLIENTNAME_1E844, F_OID$_PERSO_06FCB, C_CLIENTNAME_8B1DB, C_CLIENTNAME_B4F69, C_CLIENTNAME_EA63A, C_ADBKBASE_D_C669E, C_ADBKBASE_L_1DD83, C_ADBKBASE_L_F8E21, C_ADBKBASE_L_2805C, C_ADBKBASE_T_C94F1, F_OID$_PROFI_98D05, F_OID$_TAXRE_4AC4C, C_CURRENCYSY_36ED7, F_OID$_REFER_66AC8, C_ADBKBASE_M_AE5A8, C_ADBKBASE_A_36B89, C_CURRENCYSY_0483B, C_VALUE_506AF, F_OID$_SOURC_E66C5, F_OID$_QUALI_027C5, F_OID$_BLOCK_A4386, F_OID$_SOURC_3AA10, TYPE$_ADBKTY_20093, F_PCUSTOMGRO_9BC08, F_PENTITY_AD_29FE1, ID_ELAB) + SELECT + ADBKBASE.OID$, ADBKBASE.VERSION$, ADBKBASE.ADBKID, ADBKBASE.INSTID, ADBKBASE.C_ADBKBASE_L_69013, ADBKBASE.TYPE$_ADBKST_AC419, ADBKBASE.C_CLIENTNAME_1A67C, ADBKBASE.C_CLIENTNAME_1E844, ADBKBASE.F_OID$_PERSO_06FCB, ADBKBASE.C_CLIENTNAME_8B1DB, ADBKBASE.C_CLIENTNAME_B4F69, ADBKBASE.C_CLIENTNAME_EA63A, ADBKBASE.C_ADBKBASE_D_C669E, ADBKBASE.C_ADBKBASE_L_1DD83, ADBKBASE.C_ADBKBASE_L_F8E21, ADBKBASE.C_ADBKBASE_L_2805C, ADBKBASE.C_ADBKBASE_T_C94F1, ADBKBASE.F_OID$_PROFI_98D05, ADBKBASE.F_OID$_TAXRE_4AC4C, ADBKBASE.C_CURRENCYSY_36ED7, ADBKBASE.F_OID$_REFER_66AC8, ADBKBASE.C_ADBKBASE_M_AE5A8, ADBKBASE.C_ADBKBASE_A_36B89, ADBKBASE.C_CURRENCYSY_0483B, ADBKBASE.C_VALUE_506AF, ADBKBASE.F_OID$_SOURC_E66C5, ADBKBASE.F_OID$_QUALI_027C5, ADBKBASE.F_OID$_BLOCK_A4386, ADBKBASE.F_OID$_SOURC_3AA10, ADBKBASE.TYPE$_ADBKTY_20093, ADBKBASE.F_PCUSTOMGRO_9BC08, ADBKBASE.F_PENTITY_AD_29FE1, @ID_ELAB + FROM C6StagingPeriodico.ADBKBASE + LEFT OUTER JOIN C6StoricoPeriodico.ST_ADBKBASE + ON ADBKBASE.OID$ = ST_ADBKBASE.OID$ + WHERE ST_ADBKBASE.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ADS4WS_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'ADS4WS_PROMOTORI') +-- BEGIN +-- DELETE FROM C6StoricoPeriodico.ST_ADS4WS_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6StoricoPeriodico.ST_ADS4WS_PROMOTORI +-- (Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, Telefono, TelefonoAgenzia1, TelefonoAgenzia2, ID_ELAB) +-- SELECT +-- ADS4WS_PROMOTORI.Rete, ADS4WS_PROMOTORI.Codice, ADS4WS_PROMOTORI.Cognome, ADS4WS_PROMOTORI.Nome, ADS4WS_PROMOTORI.Prefisso, ADS4WS_PROMOTORI.Firma, ADS4WS_PROMOTORI.DataInizioCollaborazione, ADS4WS_PROMOTORI.DataFineCollaborazione, ADS4WS_PROMOTORI.DataUltimaAggiornamento, ADS4WS_PROMOTORI.CAP, ADS4WS_PROMOTORI.Citta, ADS4WS_PROMOTORI.CittaNascita, ADS4WS_PROMOTORI.DataNascita, ADS4WS_PROMOTORI.Indirizzo, ADS4WS_PROMOTORI.Provincia, ADS4WS_PROMOTORI.Telefono, ADS4WS_PROMOTORI.TelefonoAgenzia1, ADS4WS_PROMOTORI.TelefonoAgenzia2, @ID_ELAB +-- FROM C6StagingPeriodico.ADS4WS_PROMOTORI +-- LEFT OUTER JOIN C6StoricoPeriodico.ST_ADS4WS_PROMOTORI +-- ON ADS4WS_PROMOTORI.Firma = ST_ADS4WS_PROMOTORI.Firma +-- WHERE ST_ADS4WS_PROMOTORI.Firma IS NULL +-- END +-- +-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'ADS4WS_PROMOTORI') +-- BEGIN +-- DELETE FROM C6Storicoperiodico.ST_ADS4WS_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storicoperiodico.ST_ADS4WS_PROMOTORI +-- (Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, PrefissoTelefono, TelefonoAgenzia1, TelefonoAgenzia2, ID_ELAB) +-- SELECT Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, PrefissoTelefono, TelefonoAgenzia1, TelefonoAgenzia2, @ID_ELAB +-- FROM C6Staging.ADS4WS_PROMOTORI +-- END +-- + --XXXXXXXXXXXXXXXXXXXXXXXX AGENTBASE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'AGENTBASE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_AGENTBASE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_AGENTBASE + (OID$, VERSION$, AGENTBASEID, INSTID, TYPE$_AGENTT_4FF1A, AGENTBASESTATUS, CATEGORY, ROLE, COUNTRY, REGION, TAXPAYERID, C_AGENTNAME__D3943, C_AGENTNAME__B1EC3, F_OID$_PERSO_762E5, C_AGENTNAME__ABD50, C_AGENTNAME__7D056, C_AGENTNAME__722CD, LOGINID, ICEPATH, F_PAGENTBASE_7B96C, F_OID$_AGENT_DB156, F_PENTITY_AG_79C9C, ID_ELAB) + SELECT + AGENTBASE.OID$, AGENTBASE.VERSION$, AGENTBASE.AGENTBASEID, AGENTBASE.INSTID, AGENTBASE.TYPE$_AGENTT_4FF1A, AGENTBASE.AGENTBASESTATUS, AGENTBASE.CATEGORY, AGENTBASE.ROLE, AGENTBASE.COUNTRY, AGENTBASE.REGION, AGENTBASE.TAXPAYERID, AGENTBASE.C_AGENTNAME__D3943, AGENTBASE.C_AGENTNAME__B1EC3, AGENTBASE.F_OID$_PERSO_762E5, AGENTBASE.C_AGENTNAME__ABD50, AGENTBASE.C_AGENTNAME__7D056, AGENTBASE.C_AGENTNAME__722CD, AGENTBASE.LOGINID, AGENTBASE.ICEPATH, AGENTBASE.F_PAGENTBASE_7B96C, AGENTBASE.F_OID$_AGENT_DB156, AGENTBASE.F_PENTITY_AG_79C9C, @ID_ELAB + FROM C6StagingPeriodico.AGENTBASE + LEFT OUTER JOIN C6StoricoPeriodico.ST_AGENTBASE + ON AGENTBASE.OID$ = ST_AGENTBASE.OID$ + WHERE ST_AGENTBASE.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_ASSET_CLASS_PER_PROMET XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_ASSET_CLASS_PER_PROMET') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_ASSET_CLASS_PER_PROMET WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_ASSET_CLASS_PER_PROMET + (CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ID_ELAB) + SELECT + ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO, ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN, ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF, ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA, @ID_ELAB + FROM C6StagingPeriodico.ALL_ASSET_CLASS_PER_PROMET + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_ASSET_CLASS_PER_PROMET + ON ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO + AND ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN + AND ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF + AND ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA + WHERE ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CF_PB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CF_PB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_CF_PB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_CF_PB + (ID_CLI, NOME, COGNOME, TIPO, AGENTE, CHIAVE_PB, CHIAVE_CLIENTE, NOME_CLIENTE, COGNOME_CLIENTE, CODICE_FISCALE, TIPO_CLIENTE, RETE_PB, CODICE_PB, DATA_NASCITA, MARITALSTATUS, CODICEFISCALE, ID_ELAB) + SELECT + ALL_CF_PB.ID_CLI, ALL_CF_PB.NOME, ALL_CF_PB.COGNOME, ALL_CF_PB.TIPO, ALL_CF_PB.AGENTE, ALL_CF_PB.CHIAVE_PB, ALL_CF_PB.CHIAVE_CLIENTE, ALL_CF_PB.NOME_CLIENTE, ALL_CF_PB.COGNOME_CLIENTE, ALL_CF_PB.CODICE_FISCALE, ALL_CF_PB.TIPO_CLIENTE, ALL_CF_PB.RETE_PB, ALL_CF_PB.CODICE_PB, ALL_CF_PB.DATA_NASCITA, ALL_CF_PB.MARITALSTATUS, ALL_CF_PB.CODICEFISCALE, @ID_ELAB + FROM C6StagingPeriodico.ALL_CF_PB + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_CF_PB + ON ALL_CF_PB.ID_CLI = ST_ALL_CF_PB.ID_CLI + WHERE ST_ALL_CF_PB.ID_CLI IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CF_STATO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CF_STATO') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_CF_STATO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_CF_STATO + (CF_CLIENTE, RETE, STATO_CONSULENZA, TOTALE_RIGHE, TOTALE_STATI, FLAG_UTILIZZO_STATO, ID_ELAB) + SELECT + ALL_CF_STATO.CF_CLIENTE, ALL_CF_STATO.RETE, ALL_CF_STATO.STATO_CONSULENZA, ALL_CF_STATO.TOTALE_RIGHE, ALL_CF_STATO.TOTALE_STATI, ALL_CF_STATO.FLAG_UTILIZZO_STATO, @ID_ELAB + FROM C6StagingPeriodico.ALL_CF_STATO + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_CF_STATO + ON ALL_CF_STATO.CF_CLIENTE = ST_ALL_CF_STATO.CF_CLIENTE + AND ALL_CF_STATO.RETE = ST_ALL_CF_STATO.RETE + WHERE ST_ALL_CF_STATO.CF_CLIENTE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CONSUL_ASUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CONSUL_ASUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_CONSUL_ASUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_CONSUL_ASUL + (CODICE_FISCALE, RETE, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, AREASORTORDER, NOME_PROGETTO, CATALOGUENAME, TIPO_PROGETTO, CONTRATTO, OID_DI_CATITEMREF, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CODICEINTERNO, SOTTOPRODOTTO, CONTROVALORE_ASUL, ID_MONITORAGGIO, CATEGORIA, NUOVO_OID_CAT_PER_ASSET, CATEGORIA_2, COLO_JOIN, ID_ELAB) + SELECT + ALL_CONSUL_ASUL.CODICE_FISCALE, ALL_CONSUL_ASUL.RETE, ALL_CONSUL_ASUL.NEED_AREA_ABBR_DI_AREA, ALL_CONSUL_ASUL.NEED_AREA_ESTESA_DI_AREA, ALL_CONSUL_ASUL.AREASORTORDER, ALL_CONSUL_ASUL.NOME_PROGETTO, ALL_CONSUL_ASUL.CATALOGUENAME, ALL_CONSUL_ASUL.TIPO_PROGETTO, ALL_CONSUL_ASUL.CONTRATTO, ALL_CONSUL_ASUL.OID_DI_CATITEMREF, ALL_CONSUL_ASUL.CONTROVALORE, ALL_CONSUL_ASUL.CONTROV_IN_POS_DEL_PRODOTTO, ALL_CONSUL_ASUL.STRINGONA_POS, ALL_CONSUL_ASUL.CODICEINTERNO, ALL_CONSUL_ASUL.SOTTOPRODOTTO, ALL_CONSUL_ASUL.CONTROVALORE_ASUL, ALL_CONSUL_ASUL.ID_MONITORAGGIO, ALL_CONSUL_ASUL.CATEGORIA, ALL_CONSUL_ASUL.NUOVO_OID_CAT_PER_ASSET, ALL_CONSUL_ASUL.CATEGORIA_2, ALL_CONSUL_ASUL.COLO_JOIN, @ID_ELAB + FROM C6StagingPeriodico.ALL_CONSUL_ASUL + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_CONSUL_ASUL + ON ALL_CONSUL_ASUL.CODICE_FISCALE = ST_ALL_CONSUL_ASUL.CODICE_FISCALE + AND ALL_CONSUL_ASUL.RETE = ST_ALL_CONSUL_ASUL.RETE + AND ALL_CONSUL_ASUL.COLO_JOIN = ST_ALL_CONSUL_ASUL.COLO_JOIN + WHERE ST_ALL_CONSUL_ASUL.CODICE_FISCALE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_PATR_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PATR_TERZI') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_PATR_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_PATR_TERZI + (CHIAVE_PER_CLIENTE, CODICE_FISCALE, RETE_PB, CAPITALE_INVESTITO, CHIAVE_FNC, PRODOTTO_IN_CATALOGO, DATA_SOTTOSCRIZIONE, PREMIO_VERSAMENTO, C_VALUE_582FF, AMMONTARE_VERSAMENTO, DESCRIZIONE_ALBERATURA, DATA_INIZIO_INV, PATRIMONIO_TERZI, NOME_ISTITUTO, CHIAVE_THR, ASSETID, DESCRIZIONE_PRODOTTO, NOMEPRODOTTO, NOME_ISTITUTO_2, INTERMEDIARIO, DATA_SCADENZA, DATA2_UTILIZ_X_SOTTOSCRIZ, BALANCEDATE_DI_THR, CHIAVE_PR_31921, PATRIMONIO_IMMOBILIARE, LOCALITA, AFFITTOPERCEPITO, CHIAVE_F87B4, PATRIMONIO_ALTRO_PN_F87B4, DENOMINAZIONE_PN_F87B4, ISCOVER, TIPO_ISCOVER, CHIAVE_E6F18, PATRIMONIO_ALTRO_PB_E6F18, DENOMINAZIONE, NUMEROQUOTE, COMPANYTYPE, CHIAVE_COMP, COMPANYNAME, CHIAVE_BT_49D5B, TIPO_BT_49D5B, CHIAVE_BT_55768, TIPO_BT_55768, CHIAVE_BT_B70F0, TIPO_BT_B70F0, CHIAVE_BT_6797A, TIPO_BT_6797A, TIPO_VERSAMENTO_BT_6797A, CHIAVE_BT_97BEE, TIPO_BT_97BEE, TIPO_POLIZZA_BT_97BEE, CHIAVE_RDESCR, TIPO_RDESCR, DESCRIZIONE_RDESCR, TIPOLOGIA_RDESCR, ID_ELAB) + SELECT + ALL_PATR_TERZI.CHIAVE_PER_CLIENTE, ALL_PATR_TERZI.CODICE_FISCALE, ALL_PATR_TERZI.RETE_PB, ALL_PATR_TERZI.CAPITALE_INVESTITO, ALL_PATR_TERZI.CHIAVE_FNC, ALL_PATR_TERZI.PRODOTTO_IN_CATALOGO, ALL_PATR_TERZI.DATA_SOTTOSCRIZIONE, ALL_PATR_TERZI.PREMIO_VERSAMENTO, ALL_PATR_TERZI.C_VALUE_582FF, ALL_PATR_TERZI.AMMONTARE_VERSAMENTO, ALL_PATR_TERZI.DESCRIZIONE_ALBERATURA, ALL_PATR_TERZI.DATA_INIZIO_INV, ALL_PATR_TERZI.PATRIMONIO_TERZI, ALL_PATR_TERZI.NOME_ISTITUTO, ALL_PATR_TERZI.CHIAVE_THR, ALL_PATR_TERZI.ASSETID, ALL_PATR_TERZI.DESCRIZIONE_PRODOTTO, ALL_PATR_TERZI.NOMEPRODOTTO, ALL_PATR_TERZI.NOME_ISTITUTO_2, ALL_PATR_TERZI.INTERMEDIARIO, ALL_PATR_TERZI.DATA_SCADENZA, ALL_PATR_TERZI.DATA2_UTILIZ_X_SOTTOSCRIZ, ALL_PATR_TERZI.BALANCEDATE_DI_THR, ALL_PATR_TERZI.CHIAVE_PR_31921, ALL_PATR_TERZI.PATRIMONIO_IMMOBILIARE, ALL_PATR_TERZI.LOCALITA, ALL_PATR_TERZI.AFFITTOPERCEPITO, ALL_PATR_TERZI.CHIAVE_F87B4, ALL_PATR_TERZI.PATRIMONIO_ALTRO_PN_F87B4, ALL_PATR_TERZI.DENOMINAZIONE_PN_F87B4, ALL_PATR_TERZI.ISCOVER, ALL_PATR_TERZI.TIPO_ISCOVER, ALL_PATR_TERZI.CHIAVE_E6F18, ALL_PATR_TERZI.PATRIMONIO_ALTRO_PB_E6F18, ALL_PATR_TERZI.DENOMINAZIONE, ALL_PATR_TERZI.NUMEROQUOTE, ALL_PATR_TERZI.COMPANYTYPE, ALL_PATR_TERZI.CHIAVE_COMP, ALL_PATR_TERZI.COMPANYNAME, ALL_PATR_TERZI.CHIAVE_BT_49D5B, ALL_PATR_TERZI.TIPO_BT_49D5B, ALL_PATR_TERZI.CHIAVE_BT_55768, ALL_PATR_TERZI.TIPO_BT_55768, ALL_PATR_TERZI.CHIAVE_BT_B70F0, ALL_PATR_TERZI.TIPO_BT_B70F0, ALL_PATR_TERZI.CHIAVE_BT_6797A, ALL_PATR_TERZI.TIPO_BT_6797A, ALL_PATR_TERZI.TIPO_VERSAMENTO_BT_6797A, ALL_PATR_TERZI.CHIAVE_BT_97BEE, ALL_PATR_TERZI.TIPO_BT_97BEE, ALL_PATR_TERZI.TIPO_POLIZZA_BT_97BEE, ALL_PATR_TERZI.CHIAVE_RDESCR, ALL_PATR_TERZI.TIPO_RDESCR, ALL_PATR_TERZI.DESCRIZIONE_RDESCR, ALL_PATR_TERZI.TIPOLOGIA_RDESCR, @ID_ELAB + FROM C6StagingPeriodico.ALL_PATR_TERZI + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_PATR_TERZI + ON ALL_PATR_TERZI.CHIAVE_THR = ST_ALL_PATR_TERZI.CHIAVE_THR + WHERE ST_ALL_PATR_TERZI.CHIAVE_THR IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_POS_CONS_CAT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_POS_CONS_CAT') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_POS_CONS_CAT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_POS_CONS_CAT + (CODICE_FISCALE, RETE, STATO_CONSULENZA, DATA_STATO_CONSULENZA, PK_ALTERNATIVA_CONS, DATA_MIGRAZIONE_CONS, PK_AREA, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, C_PERCENTAGE_86095, C_CTVNEEDARE_EA4FB, PK_PRC, TIPO_PROGETTO, ID_MONITORAGGIO, NOME_PROGETTO, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_INVESTIMEN_60625, CONTROVALORE_PER_INV, PERCENTUALE_MODELLO, C_PERCENTUAL_12346, DATA_ORDINAMENTO_INV, CONTRATTO, OID_DI_CATITEMREF, C_OUTCTV_B4FB8, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CONTO, RUBRICATO, CUSTGAR, NUMPOL, TERMID, ANNO, PROG, NOME_PRODOTTO, NEED_AREA_ABBREVIATA_DI_POS, NEED_AREA_ESTESA_DI_POS, CHIAVE_CATITEMREF, CATALOGUENAME, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, COD_ADEGUATEZZA, ALBERATURA, TIPOPRODOTTO, ISNEGOTIABLE, MAINASSETCLASS, AREASORTORDER, ORIGINE_FILE_CATALOGO, FLAG_PRESENZA_MAPPATURA, RAGGRUPPAMEN_NOME_PROGET, ID_ELAB) + SELECT + ALL_POS_CONS_CAT.CODICE_FISCALE, ALL_POS_CONS_CAT.RETE, ALL_POS_CONS_CAT.STATO_CONSULENZA, ALL_POS_CONS_CAT.DATA_STATO_CONSULENZA, ALL_POS_CONS_CAT.PK_ALTERNATIVA_CONS, ALL_POS_CONS_CAT.DATA_MIGRAZIONE_CONS, ALL_POS_CONS_CAT.PK_AREA, ALL_POS_CONS_CAT.NEED_AREA_ABBR_DI_AREA, ALL_POS_CONS_CAT.NEED_AREA_ESTESA_DI_AREA, ALL_POS_CONS_CAT.C_PERCENTAGE_86095, ALL_POS_CONS_CAT.C_CTVNEEDARE_EA4FB, ALL_POS_CONS_CAT.PK_PRC, ALL_POS_CONS_CAT.TIPO_PROGETTO, ALL_POS_CONS_CAT.ID_MONITORAGGIO, ALL_POS_CONS_CAT.NOME_PROGETTO, ALL_POS_CONS_CAT.C_PROJECTCTV_39520, ALL_POS_CONS_CAT.C_PROJECTOUT_9CFB8, ALL_POS_CONS_CAT.C_RISORSELIQ_DF807, ALL_POS_CONS_CAT.C_INVESTIMEN_60625, ALL_POS_CONS_CAT.CONTROVALORE_PER_INV, ALL_POS_CONS_CAT.PERCENTUALE_MODELLO, ALL_POS_CONS_CAT.C_PERCENTUAL_12346, ALL_POS_CONS_CAT.DATA_ORDINAMENTO_INV, ALL_POS_CONS_CAT.CONTRATTO, ALL_POS_CONS_CAT.OID_DI_CATITEMREF, ALL_POS_CONS_CAT.C_OUTCTV_B4FB8, ALL_POS_CONS_CAT.CONTROVALORE, ALL_POS_CONS_CAT.CONTROV_IN_POS_DEL_PRODOTTO, ALL_POS_CONS_CAT.STRINGONA_POS, ALL_POS_CONS_CAT.CONTO, ALL_POS_CONS_CAT.RUBRICATO, ALL_POS_CONS_CAT.CUSTGAR, ALL_POS_CONS_CAT.NUMPOL, ALL_POS_CONS_CAT.TERMID, ALL_POS_CONS_CAT.ANNO, ALL_POS_CONS_CAT.PROG, ALL_POS_CONS_CAT.NOME_PRODOTTO, ALL_POS_CONS_CAT.NEED_AREA_ABBREVIATA_DI_POS, ALL_POS_CONS_CAT.NEED_AREA_ESTESA_DI_POS, ALL_POS_CONS_CAT.CHIAVE_CATITEMREF, ALL_POS_CONS_CAT.CATALOGUENAME, ALL_POS_CONS_CAT.COD_ISIN, ALL_POS_CONS_CAT.COD_MAF, ALL_POS_CONS_CAT.COD_INTERNO, ALL_POS_CONS_CAT.COD_SOTTOPRODOTTO, ALL_POS_CONS_CAT.COD_ADEGUATEZZA, ALL_POS_CONS_CAT.ALBERATURA, ALL_POS_CONS_CAT.TIPOPRODOTTO, ALL_POS_CONS_CAT.ISNEGOTIABLE, ALL_POS_CONS_CAT.MAINASSETCLASS, ALL_POS_CONS_CAT.AREASORTORDER, ALL_POS_CONS_CAT.ORIGINE_FILE_CATALOGO, ALL_POS_CONS_CAT.FLAG_PRESENZA_MAPPATURA, ALL_POS_CONS_CAT.RAGGRUPPAMEN_NOME_PROGET, @ID_ELAB + FROM C6StagingPeriodico.ALL_POS_CONS_CAT + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_POS_CONS_CAT + ON ALL_POS_CONS_CAT.CODICE_FISCALE = ST_ALL_POS_CONS_CAT.CODICE_FISCALE + AND ALL_POS_CONS_CAT.RETE = ST_ALL_POS_CONS_CAT.RETE + AND ALL_POS_CONS_CAT.PK_ALTERNATIVA_CONS = ST_ALL_POS_CONS_CAT.PK_ALTERNATIVA_CONS + AND ALL_POS_CONS_CAT.STRINGONA_POS = ST_ALL_POS_CONS_CAT.STRINGONA_POS + WHERE ST_ALL_POS_CONS_CAT.CODICE_FISCALE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_PROPOSTA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PROPOSTA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ALL_PROPOSTA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ALL_PROPOSTA + (AGENTE, RETE, NOME_CLIENTE, COGNOME_CLIENTE, CODICEFISCALE, CHIAVE_PROPOSTA, NOME_PROPOSTA, STATO_PROPOSTA, DATA_CREAZIONE_PROPOSTA, DATA_SCADENZA_PROPOSTA, NEED_BREVE, NEED_ESTESA, ORDINE_NEED, CONTROVALORE_TOT_PER_NEED, PERC_PER_NEED, NOME_PROGETTO, CONTROV_CONSULENZA, CONTROV_PROPOSTA, CONTROV_DA_DEFINIRE_LIQ, ISANEWPOSITION, STRINGONA_CLONEPOS, NOME_PRODOTTO_CLONEPOS, INVESTI, DISINVESTI, PTF_INIZ, CTVOPERAZIONE, CONTRACTCODE, POLIZZADECIMAL, CONTO, RUBRICATO, PR_COD_ISIN, PR_COD_MAF, PR_COD_INTERNO, PR_COD_SOTTOPRODOTTO, PR_COD_ADEGUATEZZA, NOME_PRODOTTO_CATALOGO, TIPOPRODOTTO, CHIAVE_CATITEMREF, CHIAVE_PER_LA_CONSULENZA, RICONCILIATA, FLAG_PROPOSTA_PER_PROGETTO, FLAG_PROPOSTA_PER_AREA, FLAG_SALVATAGGIO_MANUALE, RAGGRUPPAMENTO_PROGETTO, ID_ELAB) + SELECT + ALL_PROPOSTA.AGENTE, ALL_PROPOSTA.RETE, ALL_PROPOSTA.NOME_CLIENTE, ALL_PROPOSTA.COGNOME_CLIENTE, ALL_PROPOSTA.CODICEFISCALE, ALL_PROPOSTA.CHIAVE_PROPOSTA, ALL_PROPOSTA.NOME_PROPOSTA, ALL_PROPOSTA.STATO_PROPOSTA, ALL_PROPOSTA.DATA_CREAZIONE_PROPOSTA, ALL_PROPOSTA.DATA_SCADENZA_PROPOSTA, ALL_PROPOSTA.NEED_BREVE, ALL_PROPOSTA.NEED_ESTESA, ALL_PROPOSTA.ORDINE_NEED, ALL_PROPOSTA.CONTROVALORE_TOT_PER_NEED, ALL_PROPOSTA.PERC_PER_NEED, ALL_PROPOSTA.NOME_PROGETTO, ALL_PROPOSTA.CONTROV_CONSULENZA, ALL_PROPOSTA.CONTROV_PROPOSTA, ALL_PROPOSTA.CONTROV_DA_DEFINIRE_LIQ, ALL_PROPOSTA.ISANEWPOSITION, ALL_PROPOSTA.STRINGONA_CLONEPOS, ALL_PROPOSTA.NOME_PRODOTTO_CLONEPOS, ALL_PROPOSTA.INVESTI, ALL_PROPOSTA.DISINVESTI, ALL_PROPOSTA.PTF_INIZ, ALL_PROPOSTA.CTVOPERAZIONE, ALL_PROPOSTA.CONTRACTCODE, ALL_PROPOSTA.POLIZZADECIMAL, ALL_PROPOSTA.CONTO, ALL_PROPOSTA.RUBRICATO, ALL_PROPOSTA.PR_COD_ISIN, ALL_PROPOSTA.PR_COD_MAF, ALL_PROPOSTA.PR_COD_INTERNO, ALL_PROPOSTA.PR_COD_SOTTOPRODOTTO, ALL_PROPOSTA.PR_COD_ADEGUATEZZA, ALL_PROPOSTA.NOME_PRODOTTO_CATALOGO, ALL_PROPOSTA.TIPOPRODOTTO, ALL_PROPOSTA.CHIAVE_CATITEMREF, ALL_PROPOSTA.CHIAVE_PER_LA_CONSULENZA, ALL_PROPOSTA.RICONCILIATA, ALL_PROPOSTA.FLAG_PROPOSTA_PER_PROGETTO, ALL_PROPOSTA.FLAG_PROPOSTA_PER_AREA, ALL_PROPOSTA.FLAG_SALVATAGGIO_MANUALE, ALL_PROPOSTA.RAGGRUPPAMENTO_PROGETTO, @ID_ELAB + FROM C6StagingPeriodico.ALL_PROPOSTA + LEFT OUTER JOIN C6StoricoPeriodico.ST_ALL_PROPOSTA + ON ALL_PROPOSTA.CHIAVE_PROPOSTA = ST_ALL_PROPOSTA.CHIAVE_PROPOSTA + AND ALL_PROPOSTA.STRINGONA_CLONEPOS = ST_ALL_PROPOSTA.STRINGONA_CLONEPOS + WHERE ST_ALL_PROPOSTA.CHIAVE_PROPOSTA IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX AREEDIBISOGNO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'AREEDIBISOGNO') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_AREEDIBISOGNO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_AREEDIBISOGNO + (AREAID, AREANAME, AREASORTORDER, ID_ELAB) + SELECT + AREEDIBISOGNO.AREAID, AREEDIBISOGNO.AREANAME, AREEDIBISOGNO.AREASORTORDER, @ID_ELAB + FROM C6StagingPeriodico.AREEDIBISOGNO + LEFT OUTER JOIN C6StoricoPeriodico.ST_AREEDIBISOGNO + ON AREEDIBISOGNO.AREAID = ST_AREEDIBISOGNO.AREAID + WHERE ST_AREEDIBISOGNO.AREAID IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSET_1_E_2_ORDINATE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSET_1_E_2_ORDINATE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ASSET_1_E_2_ORDINATE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ASSET_1_E_2_ORDINATE + (CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ASSETCLASSNAME, ORDINAMENTO_ASSET, ID_ELAB) + SELECT + ASSET_1_E_2_ORDINATE.CODICE_ASSET_CLASS_INGRESSO, ASSET_1_E_2_ORDINATE.CODICE_ISIN, ASSET_1_E_2_ORDINATE.CODICE_MAF, ASSET_1_E_2_ORDINATE.CODICE_ADEGUATEZZA, ASSET_1_E_2_ORDINATE.ASSETCLASSNAME, ASSET_1_E_2_ORDINATE.ORDINAMENTO_ASSET, @ID_ELAB + FROM C6StagingPeriodico.ASSET_1_E_2_ORDINATE + LEFT OUTER JOIN C6StoricoPeriodico.ST_ASSET_1_E_2_ORDINATE + ON ASSET_1_E_2_ORDINATE.CODICE_ASSET_CLASS_INGRESSO = ST_ASSET_1_E_2_ORDINATE.CODICE_ASSET_CLASS_INGRESSO + AND ASSET_1_E_2_ORDINATE.CODICE_ISIN = ST_ASSET_1_E_2_ORDINATE.CODICE_ISIN + AND ASSET_1_E_2_ORDINATE.CODICE_MAF = ST_ASSET_1_E_2_ORDINATE.CODICE_MAF + AND ASSET_1_E_2_ORDINATE.CODICE_ADEGUATEZZA = ST_ASSET_1_E_2_ORDINATE.CODICE_ADEGUATEZZA + WHERE ST_ASSET_1_E_2_ORDINATE.CODICE_ASSET_CLASS_INGRESSO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_ASSETCLASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_ASSETCLASS + (OID$, VERSION$, ASSETCLASSID, ASSETCLASSNAME, ASSETCLASSDESCR, ASSETCLASSLEV, ISRESIDUAL, F_PASSETCLAS_2FB94, F_OID$_ASSET_B965C, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ORDINE, ID_ELAB) + SELECT + ASSETCLASS.OID$, ASSETCLASS.VERSION$, ASSETCLASS.ASSETCLASSID, ASSETCLASS.ASSETCLASSNAME, ASSETCLASS.ASSETCLASSDESCR, ASSETCLASS.ASSETCLASSLEV, ASSETCLASS.ISRESIDUAL, ASSETCLASS.F_PASSETCLAS_2FB94, ASSETCLASS.F_OID$_ASSET_B965C, ASSETCLASS.CODICE_ISIN, ASSETCLASS.CODICE_MAF, ASSETCLASS.CODICE_ADEGUATEZZA, ASSETCLASS.ORDINE, @ID_ELAB + FROM C6StagingPeriodico.ASSETCLASS + LEFT OUTER JOIN C6StoricoPeriodico.ST_ASSETCLASS + ON ASSETCLASS.OID$ = ST_ASSETCLASS.OID$ + WHERE ST_ASSETCLASS.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX C_BO_453FB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'C_BO_453FB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_C_BO_453FB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_C_BO_453FB + (OID$, C_VALUE_7BD3C, C_DESCRIZION_93ABE, PK_PRC, ID_ELAB) + SELECT + C_BO_453FB.OID$, C_BO_453FB.C_VALUE_7BD3C, C_BO_453FB.C_DESCRIZION_93ABE, C_BO_453FB.PK_PRC, @ID_ELAB + FROM C6StagingPeriodico.C_BO_453FB + LEFT OUTER JOIN C6StoricoPeriodico.ST_C_BO_453FB + ON C_BO_453FB.OID$ = ST_C_BO_453FB.OID$ + WHERE ST_C_BO_453FB.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CATINAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CATINAREA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CATINAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CATINAREA + (OID$, VERSION$, C_ISMAINNEED_9C780, NEEDAREAVALUE, F_OID$_NEEDA_2C362, F_PCATALOGUE_5D024, ID_ELAB) + SELECT + CATINAREA.OID$, CATINAREA.VERSION$, CATINAREA.C_ISMAINNEED_9C780, CATINAREA.NEEDAREAVALUE, CATINAREA.F_OID$_NEEDA_2C362, CATINAREA.F_PCATALOGUE_5D024, @ID_ELAB + FROM C6StagingPeriodico.CATINAREA + LEFT OUTER JOIN C6StoricoPeriodico.ST_CATINAREA + ON CATINAREA.OID$ = ST_CATINAREA.OID$ + WHERE ST_CATINAREA.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CATITEMREF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CATITEMREF') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CATITEMREF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CATITEMREF + (OID$, VERSION$, PRODUCTCURRENCY, PRODUCTCOUNTRY, PRODUCTREGION, CATALOGUEID, COD_ISIN, COD_ADEGUATEZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TYPE$_BCATAL_FC317, CATEGORY, INSTITUTIONS, COUNTRY, PIAZZA, ULTIMOPRZCURR, ULTIMOPRZ, CAPITALERISPARMIO, LMINCAPCONTRCURR, LMINCAPCONTR, LSUCCAPCONTRCURR, LSUCCAPCONTR, LMINRISPCONTRCURR, LMINRISPCONTR, LSUCRISPCONTRCURR, LSUCRISPCONTR, LMINCOMMCURR, LMINCOMM, DELEGAGESTIONALE, TIPOLOGIAPERPICK, EXPIRATIONDATE, RISKPRICE, FISCALREGIMENT, QUOTATO, CLASSEDIPREZZO, BONDRATING, BONDDURATION, TEMPMIN, TEMPMAX, PRIPRODCOM, MAINASSETCLASS, MACROACOBPERC, MACROACALPERC, MACROACAZPERC, MACROACMNPERC, LINEEFINACC, TIPOVERS, TIPOPOLIZRAM1, DURATACONTR, GARDEMO, RISKPRESSCAD, LIVFLUTDUR, OPZRENDVIT, METAA, METAB, METAC, RATOBBLIG, ULTIMOPREZZOCURR, ULTIMOPREZZO, DATARIFPREZZO, CODICEADB, AGGIORNFEED, DISTRPROV, CODTIPOCONTR, ULTPRZSECCURR, ULTPRZSEC, DATAULTPRZSEC, CODBLOOMBERG, DENOMUNITLNK, TIPOPRODOTTO, GENERICDATA, GENERICCURCURR, GENERICCUR, GENERICSTRING1, GENERICSTRING2, CATALOGUENAME, EFFECTIVEFROM, EFFECTIVETO, PRODUCTSTATUS, ISVISIBLE, ISNEGOTIABLE, BRIEFDESCRIPTION, F_OID$_VAR_CDDF8, RISKPROFOFSUITCLS, OPINION, OPINIONDATE, F_OID$_CATAL_B3E14, F_OID$_PCATE_F3BF6, F_OID$_MAINA_76C35, F_OID$_INSTR_B5526, F_OID$_MAINS_5FCE5, F_OID$_MAINR_08A23, F_OID$_PRISK_AAC57, F_OID$_PRODU_F8FBB, F_OID$_MARKE_F3D2D, COLL_SKANDIA, CODASSETSAT, ID_ELAB) + SELECT + CATITEMREF.OID$, CATITEMREF.VERSION$, CATITEMREF.PRODUCTCURRENCY, CATITEMREF.PRODUCTCOUNTRY, CATITEMREF.PRODUCTREGION, CATITEMREF.CATALOGUEID, CATITEMREF.COD_ISIN, CATITEMREF.COD_ADEGUATEZZA, CATITEMREF.COD_MAF, CATITEMREF.COD_INTERNO, CATITEMREF.COD_SOTTOPRODOTTO, CATITEMREF.TYPE$_BCATAL_FC317, CATITEMREF.CATEGORY, CATITEMREF.INSTITUTIONS, CATITEMREF.COUNTRY, CATITEMREF.PIAZZA, CATITEMREF.ULTIMOPRZCURR, CATITEMREF.ULTIMOPRZ, CATITEMREF.CAPITALERISPARMIO, CATITEMREF.LMINCAPCONTRCURR, CATITEMREF.LMINCAPCONTR, CATITEMREF.LSUCCAPCONTRCURR, CATITEMREF.LSUCCAPCONTR, CATITEMREF.LMINRISPCONTRCURR, CATITEMREF.LMINRISPCONTR, CATITEMREF.LSUCRISPCONTRCURR, CATITEMREF.LSUCRISPCONTR, CATITEMREF.LMINCOMMCURR, CATITEMREF.LMINCOMM, CATITEMREF.DELEGAGESTIONALE, CATITEMREF.TIPOLOGIAPERPICK, CATITEMREF.EXPIRATIONDATE, CATITEMREF.RISKPRICE, CATITEMREF.FISCALREGIMENT, CATITEMREF.QUOTATO, CATITEMREF.CLASSEDIPREZZO, CATITEMREF.BONDRATING, CATITEMREF.BONDDURATION, CATITEMREF.TEMPMIN, CATITEMREF.TEMPMAX, CATITEMREF.PRIPRODCOM, CATITEMREF.MAINASSETCLASS, CATITEMREF.MACROACOBPERC, CATITEMREF.MACROACALPERC, CATITEMREF.MACROACAZPERC, CATITEMREF.MACROACMNPERC, CATITEMREF.LINEEFINACC, CATITEMREF.TIPOVERS, CATITEMREF.TIPOPOLIZRAM1, CATITEMREF.DURATACONTR, CATITEMREF.GARDEMO, CATITEMREF.RISKPRESSCAD, CATITEMREF.LIVFLUTDUR, CATITEMREF.OPZRENDVIT, CATITEMREF.METAA, CATITEMREF.METAB, CATITEMREF.METAC, CATITEMREF.RATOBBLIG, CATITEMREF.ULTIMOPREZZOCURR, CATITEMREF.ULTIMOPREZZO, CATITEMREF.DATARIFPREZZO, CATITEMREF.CODICEADB, CATITEMREF.AGGIORNFEED, CATITEMREF.DISTRPROV, CATITEMREF.CODTIPOCONTR, CATITEMREF.ULTPRZSECCURR, CATITEMREF.ULTPRZSEC, CATITEMREF.DATAULTPRZSEC, CATITEMREF.CODBLOOMBERG, CATITEMREF.DENOMUNITLNK, CATITEMREF.TIPOPRODOTTO, CATITEMREF.GENERICDATA, CATITEMREF.GENERICCURCURR, CATITEMREF.GENERICCUR, CATITEMREF.GENERICSTRING1, CATITEMREF.GENERICSTRING2, CATITEMREF.CATALOGUENAME, CATITEMREF.EFFECTIVEFROM, CATITEMREF.EFFECTIVETO, CATITEMREF.PRODUCTSTATUS, CATITEMREF.ISVISIBLE, CATITEMREF.ISNEGOTIABLE, CATITEMREF.BRIEFDESCRIPTION, CATITEMREF.F_OID$_VAR_CDDF8, CATITEMREF.RISKPROFOFSUITCLS, CATITEMREF.OPINION, CATITEMREF.OPINIONDATE, CATITEMREF.F_OID$_CATAL_B3E14, CATITEMREF.F_OID$_PCATE_F3BF6, CATITEMREF.F_OID$_MAINA_76C35, CATITEMREF.F_OID$_INSTR_B5526, CATITEMREF.F_OID$_MAINS_5FCE5, CATITEMREF.F_OID$_MAINR_08A23, CATITEMREF.F_OID$_PRISK_AAC57, CATITEMREF.F_OID$_PRODU_F8FBB, CATITEMREF.F_OID$_MARKE_F3D2D, CATITEMREF.COLL_SKANDIA, CATITEMREF.CODASSETSAT, @ID_ELAB + FROM C6StagingPeriodico.CATITEMREF + LEFT OUTER JOIN C6StoricoPeriodico.ST_CATITEMREF + ON CATITEMREF.OID$ = ST_CATITEMREF.OID$ + WHERE ST_CATITEMREF.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CLIENTI_CON_RNA XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'CLIENTI_CON_RNA') + -- BEGIN + -- DELETE FROM C6StoricoPeriodico.ST_CLIENTI_CON_RNA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6StoricoPeriodico.ST_CLIENTI_CON_RNA + -- ([Rete] + -- ,[CodicePB] + -- ,[CodiceFiscale] + -- ,[Percentuale] + -- ,[DataCalcolo] + -- ,ID_ELAB) + -- SELECT [Rete] + -- ,[CodicePB] + -- ,[CodiceFiscale] + -- ,[Percentuale] + -- ,[DataCalcolo] + -- ,@ID_ELAB ID_ELAB + -- FROM C6StagingPeriodico.CLIENTI_CON_RNA + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX CONO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONO') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CONO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CONO + (OID$, VERSION$, C_DATA_FD2A6, C_QUANTILE5_BF710, C_QUANTILE95_0D6CE, F_PPROJECT_P_46507, C_QUANTILE50_C47E0, ID_ELAB) + SELECT + CONO.OID$, CONO.VERSION$, CONO.C_DATA_FD2A6, CONO.C_QUANTILE5_BF710, CONO.C_QUANTILE95_0D6CE, CONO.F_PPROJECT_P_46507, CONO.C_QUANTILE50_C47E0, @ID_ELAB + FROM C6StagingPeriodico.CONO + LEFT OUTER JOIN C6StoricoPeriodico.ST_CONO + ON CONO.OID$ = ST_CONO.OID$ + WHERE ST_CONO.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONSAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONSAREA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CONSAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CONSAREA + (OID$, VERSION$, F_PCONSULENZ_7FBE3, C_CONSULENZA_A58F3, C_CONSULENZA_E94E3, C_NEEDAREA_V_46360, C_NEEDAREA_D_911D8, C_CTVNEEDARE_EA4FB, C_PERCENTAGE_86095, C_OUTCTV_A27B5, C_PATRIMONIO_F4B8E, C_INVESTIMEN_AC24C, C_CONSULENZA_0C219, C_CONSULENZA_1C9D3, ID_ELAB) + SELECT + CONSAREA.OID$, CONSAREA.VERSION$, CONSAREA.F_PCONSULENZ_7FBE3, CONSAREA.C_CONSULENZA_A58F3, CONSAREA.C_CONSULENZA_E94E3, CONSAREA.C_NEEDAREA_V_46360, CONSAREA.C_NEEDAREA_D_911D8, CONSAREA.C_CTVNEEDARE_EA4FB, CONSAREA.C_PERCENTAGE_86095, CONSAREA.C_OUTCTV_A27B5, CONSAREA.C_PATRIMONIO_F4B8E, CONSAREA.C_INVESTIMEN_AC24C, CONSAREA.C_CONSULENZA_0C219, CONSAREA.C_CONSULENZA_1C9D3, @ID_ELAB + FROM C6StagingPeriodico.CONSAREA + LEFT OUTER JOIN C6StoricoPeriodico.ST_CONSAREA + ON CONSAREA.OID$ = ST_CONSAREA.OID$ + WHERE ST_CONSAREA.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONSUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONSUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_CONSUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_CONSUL + (OID$, VERSION$, C_CONSULENZA_EBDBE, ADBKID, INSTID, TYPE$_TIPOCO_1EA7C, C_CONTROVALO_C57EE, C_PATRIMONIO_0BF30, C_ALTROPATRI_E90EF, C_ALTRO_5AD86, C_DATAINIZIO_35C15, C_RISORSENON_A04BD, C_INVESTIMEN_C4514, C_INVESTIMEN_36DE3, C_IDQUESTION_5549B, C_DATAQUESTI_5069A, C_VARCONSOB_28C92, C_VALORIALLI_0CA23, C_DATAPIRAMI_661DA, C_DATACONSVE_D3DE3, C_DATACONSOR_EA88E, C_PROFILOCON_81F5D, C_DATAMIGRAZ_BF705, C_SALVADANAI_B156A, C_CONSULENZA_2C1E1, C_DATACONSVE_66B66, C_DATACAMBIO_79509, ID_ELAB) + SELECT + CONSUL.OID$, CONSUL.VERSION$, CONSUL.C_CONSULENZA_EBDBE, CONSUL.ADBKID, CONSUL.INSTID, CONSUL.TYPE$_TIPOCO_1EA7C, CONSUL.C_CONTROVALO_C57EE, CONSUL.C_PATRIMONIO_0BF30, CONSUL.C_ALTROPATRI_E90EF, CONSUL.C_ALTRO_5AD86, CONSUL.C_DATAINIZIO_35C15, CONSUL.C_RISORSENON_A04BD, CONSUL.C_INVESTIMEN_C4514, CONSUL.C_INVESTIMEN_36DE3, CONSUL.C_IDQUESTION_5549B, CONSUL.C_DATAQUESTI_5069A, CONSUL.C_VARCONSOB_28C92, CONSUL.C_VALORIALLI_0CA23, CONSUL.C_DATAPIRAMI_661DA, CONSUL.C_DATACONSVE_D3DE3, CONSUL.C_DATACONSOR_EA88E, CONSUL.C_PROFILOCON_81F5D, CONSUL.C_DATAMIGRAZ_BF705, CONSUL.C_SALVADANAI_B156A, CONSUL.C_CONSULENZA_2C1E1, CONSUL.C_DATACONSVE_66B66, CONSUL.C_DATACAMBIO_79509, @ID_ELAB + FROM C6StagingPeriodico.CONSUL + LEFT OUTER JOIN C6StoricoPeriodico.ST_CONSUL + ON CONSUL.OID$ = ST_CONSUL.OID$ + WHERE ST_CONSUL.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX INDREND XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'INDREND') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_INDREND WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_INDREND + (OID$, VERSION$, C_VAR_A94EA, C_TEMPOINVES_CE300, C_COPERTURA_94818, C_PERDITAMAX_F5B51, ID_ELAB) + SELECT + INDREND.OID$, INDREND.VERSION$, INDREND.C_VAR_A94EA, INDREND.C_TEMPOINVES_CE300, INDREND.C_COPERTURA_94818, INDREND.C_PERDITAMAX_F5B51, @ID_ELAB + FROM C6StagingPeriodico.INDREND + LEFT OUTER JOIN C6StoricoPeriodico.ST_INDREND + ON INDREND.OID$ = ST_INDREND.OID$ + WHERE ST_INDREND.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX INSTRBDS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'INSTRBDS') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_INSTRBDS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_INSTRBDS + (OID$, VERSION$, BDISIN, BDMAF, F_OID$_PCATA_5DDA6, PROVENIENZA, ID_ELAB) + SELECT + INSTRBDS.OID$, INSTRBDS.VERSION$, INSTRBDS.BDISIN, INSTRBDS.BDMAF, INSTRBDS.F_OID$_PCATA_5DDA6, INSTRBDS.PROVENIENZA, @ID_ELAB + FROM C6StagingPeriodico.INSTRBDS + LEFT OUTER JOIN C6StoricoPeriodico.ST_INSTRBDS + ON INSTRBDS.OID$ = ST_INSTRBDS.OID$ + WHERE ST_INSTRBDS.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX NEEDAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'NEEDAREA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_NEEDAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_NEEDAREA + (OID$, VERSION$, AREAID, AREANAME, EFFECTIVEFROM, EFFECTIVETO, BRIEFDESCRIPTION, F_PNEEDAREA__742D7, AREASORTORDER, ID_ELAB) + SELECT + NEEDAREA.OID$, NEEDAREA.VERSION$, NEEDAREA.AREAID, NEEDAREA.AREANAME, NEEDAREA.EFFECTIVEFROM, NEEDAREA.EFFECTIVETO, NEEDAREA.BRIEFDESCRIPTION, NEEDAREA.F_PNEEDAREA__742D7, NEEDAREA.AREASORTORDER, @ID_ELAB + FROM C6StagingPeriodico.NEEDAREA + LEFT OUTER JOIN C6StoricoPeriodico.ST_NEEDAREA + ON NEEDAREA.OID$ = ST_NEEDAREA.OID$ + WHERE ST_NEEDAREA.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX NOME_PROGETTO_BOZZA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'NOME_PROGETTO_BOZZA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_NOME_PROGETTO_BOZZA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_NOME_PROGETTO_BOZZA + (ADBKID, INSTID, NUOVO_NOME_PROGETTO, C_PROJECTIDR_51E22, NEEDAREA, ID_ELAB) + SELECT + NOME_PROGETTO_BOZZA.ADBKID, NOME_PROGETTO_BOZZA.INSTID, NOME_PROGETTO_BOZZA.NUOVO_NOME_PROGETTO, NOME_PROGETTO_BOZZA.C_PROJECTIDR_51E22, NOME_PROGETTO_BOZZA.NEEDAREA, @ID_ELAB + FROM C6StagingPeriodico.NOME_PROGETTO_BOZZA + LEFT OUTER JOIN C6StoricoPeriodico.ST_NOME_PROGETTO_BOZZA + ON NOME_PROGETTO_BOZZA.C_PROJECTIDR_51E22 = ST_NOME_PROGETTO_BOZZA.C_PROJECTIDR_51E22 + WHERE ST_NOME_PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX OTHINTRST XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'OTHINTRST') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_OTHINTRST WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_OTHINTRST + (OID$, VERSION$, INTERESTDESC, INTERESTCUR, INTERESTAMT, F_PQUANTIFIC_76FF6, ID_ELAB) + SELECT + OTHINTRST.OID$, OTHINTRST.VERSION$, OTHINTRST.INTERESTDESC, OTHINTRST.INTERESTCUR, OTHINTRST.INTERESTAMT, OTHINTRST.F_PQUANTIFIC_76FF6, @ID_ELAB + FROM C6StagingPeriodico.OTHINTRST + LEFT OUTER JOIN C6StoricoPeriodico.ST_OTHINTRST + ON OTHINTRST.OID$ = ST_OTHINTRST.OID$ + WHERE ST_OTHINTRST.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PHOTO_DATA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PHOTO_DATA') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PHOTO_DATA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PHOTO_DATA + (OID_, VERSION_, ADBKID, INSTID, C_DATAREQ_EB2B5, TYPE__TYPE_7CAB6, TYPE__STATUS_1E30E, C_DATASALVAT_D40E3, C_CTVINV_990D8, C_CTVRIS_43FEA, C_CTVLIQ_54D1B, C_CTVPRE_A0E49, C_CTVEXT_34DCC, C_CTVCC_E242D, C_CTVNA_473EA, C_VAR_16494, C_COPVAR_5C6E5, ID_ELAB) + SELECT + PHOTO_DATA.OID_, PHOTO_DATA.VERSION_, PHOTO_DATA.ADBKID, PHOTO_DATA.INSTID, PHOTO_DATA.C_DATAREQ_EB2B5, PHOTO_DATA.TYPE__TYPE_7CAB6, PHOTO_DATA.TYPE__STATUS_1E30E, PHOTO_DATA.C_DATASALVAT_D40E3, PHOTO_DATA.C_CTVINV_990D8, PHOTO_DATA.C_CTVRIS_43FEA, PHOTO_DATA.C_CTVLIQ_54D1B, PHOTO_DATA.C_CTVPRE_A0E49, PHOTO_DATA.C_CTVEXT_34DCC, PHOTO_DATA.C_CTVCC_E242D, PHOTO_DATA.C_CTVNA_473EA, PHOTO_DATA.C_VAR_16494, PHOTO_DATA.C_COPVAR_5C6E5, @ID_ELAB + FROM C6StagingPeriodico.PHOTO_DATA + LEFT OUTER JOIN C6StoricoPeriodico.ST_PHOTO_DATA + ON PHOTO_DATA.OID_ = ST_PHOTO_DATA.OID_ + WHERE ST_PHOTO_DATA.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PORTMOD XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PORTMOD') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PORTMOD WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PORTMOD + (OID$, VERSION$, F_PPROJECT_P_EE748, C_ASSET_CD02D, C_PERCENTUAL_143B7, ID_ELAB) + SELECT + PORTMOD.OID$, PORTMOD.VERSION$, PORTMOD.F_PPROJECT_P_EE748, PORTMOD.C_ASSET_CD02D, PORTMOD.C_PERCENTUAL_143B7, @ID_ELAB + FROM C6StagingPeriodico.PORTMOD + LEFT OUTER JOIN C6StoricoPeriodico.ST_PORTMOD + ON PORTMOD.OID$ = ST_PORTMOD.OID$ + WHERE ST_PORTMOD.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX POSITION XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'POSITION') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_POSITION WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_POSITION + (OID$, VERSION$, F_PCONSULENZ_56F23, POSITIONID, CONSULENZAID, TYPE$_CATALO_35E2A, POSITIONNAME, CONTROVALORE, C_OUTCTV_B4FB8, C_NEEDAREASE_3D485, C_NEEDAREASE_30873, CATALOGUEITEMID, F_OID$_POSIT_00526, F_PPROJECT_P_B5629, CTVINIZIALE, ID_ELAB) + SELECT + POSITION.OID$, POSITION.VERSION$, POSITION.F_PCONSULENZ_56F23, POSITION.POSITIONID, POSITION.CONSULENZAID, POSITION.TYPE$_CATALO_35E2A, POSITION.POSITIONNAME, POSITION.CONTROVALORE, POSITION.C_OUTCTV_B4FB8, POSITION.C_NEEDAREASE_3D485, POSITION.C_NEEDAREASE_30873, POSITION.CATALOGUEITEMID, POSITION.F_OID$_POSIT_00526, POSITION.F_PPROJECT_P_B5629, POSITION.CTVINIZIALE, @ID_ELAB + FROM C6StagingPeriodico.POSITION + LEFT OUTER JOIN C6StoricoPeriodico.ST_POSITION + ON POSITION.OID$ = ST_POSITION.OID$ + WHERE ST_POSITION.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PRCONSUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PRCONSUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PRCONSUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PRCONSUL + (OID$, VERSION$, F_PCONSULENZ_B69E4, C_PROJECTID_9894C, C_CONSULENZA_CB331, C_CONSULENZA_A7FC6, NEEDAREAID, TYPE$_PROJEC_14674, C_PROJECTNAM_11D1A, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_CREATIONDA_732BD, C_LASTMODIFI_3BF4A, C_INVESTIMEN_60625, F_OID$_FREQU_A5FAB, C_IMPORTOPER_7A987, F_OID$_RISKP_9CF4A, F_OID$_ORIZZ_4A868, C_PERDITAAVV_D414B, C_PERDITAMAX_55078, C_GUADAGNOAV_2BD07, C_GUADAGNOMA_D14C4, C_RISERVENON_CCD2D, C_RISERVEMON_5E189, C_RISERVEOBB_121FA, C_RISERVEAZI_175C0, C_CONSULENZA_ACEEE, C_PROJECTIDM_1AF31, C_PROJECTIDR_51E22, C_DATAULTIMO_FFA71, C_PERDITAMAX_BEABF, C_PERDITAMAX_AAB4C, C_GUADAGNOMA_43151, C_GUADAGNOMA_0F76F, F_OID$_PROJE_CD4BB, C_NOTE_B4B97, C_PERCENTUAL_69019, C_PERCENTUAL_12346, F_OID$_RISKS_A3B54, C_ORDERTIMES_80019, ID_ELAB) + SELECT + PRCONSUL.OID$, PRCONSUL.VERSION$, PRCONSUL.F_PCONSULENZ_B69E4, PRCONSUL.C_PROJECTID_9894C, PRCONSUL.C_CONSULENZA_CB331, PRCONSUL.C_CONSULENZA_A7FC6, PRCONSUL.NEEDAREAID, PRCONSUL.TYPE$_PROJEC_14674, PRCONSUL.C_PROJECTNAM_11D1A, PRCONSUL.C_PROJECTCTV_39520, PRCONSUL.C_PROJECTOUT_9CFB8, PRCONSUL.C_RISORSELIQ_DF807, PRCONSUL.C_CREATIONDA_732BD, PRCONSUL.C_LASTMODIFI_3BF4A, PRCONSUL.C_INVESTIMEN_60625, PRCONSUL.F_OID$_FREQU_A5FAB, PRCONSUL.C_IMPORTOPER_7A987, PRCONSUL.F_OID$_RISKP_9CF4A, PRCONSUL.F_OID$_ORIZZ_4A868, PRCONSUL.C_PERDITAAVV_D414B, PRCONSUL.C_PERDITAMAX_55078, PRCONSUL.C_GUADAGNOAV_2BD07, PRCONSUL.C_GUADAGNOMA_D14C4, PRCONSUL.C_RISERVENON_CCD2D, PRCONSUL.C_RISERVEMON_5E189, PRCONSUL.C_RISERVEOBB_121FA, PRCONSUL.C_RISERVEAZI_175C0, PRCONSUL.C_CONSULENZA_ACEEE, PRCONSUL.C_PROJECTIDM_1AF31, PRCONSUL.C_PROJECTIDR_51E22, PRCONSUL.C_DATAULTIMO_FFA71, PRCONSUL.C_PERDITAMAX_BEABF, PRCONSUL.C_PERDITAMAX_AAB4C, PRCONSUL.C_GUADAGNOMA_43151, PRCONSUL.C_GUADAGNOMA_0F76F, PRCONSUL.F_OID$_PROJE_CD4BB, PRCONSUL.C_NOTE_B4B97, PRCONSUL.C_PERCENTUAL_69019, PRCONSUL.C_PERCENTUAL_12346, PRCONSUL.F_OID$_RISKS_A3B54, PRCONSUL.C_ORDERTIMES_80019, @ID_ELAB + FROM C6StagingPeriodico.PRCONSUL + LEFT OUTER JOIN C6StoricoPeriodico.ST_PRCONSUL + ON PRCONSUL.OID$ = ST_PRCONSUL.OID$ + WHERE ST_PRCONSUL.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PROMETEIA_AGGR XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PROMETEIA_AGGR') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_PROMETEIA_AGGR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_PROMETEIA_AGGR + (Rete, CodiceFiscale, Portafoglio, VaRAssolutoDiPortafoglio, VaRPercentuialeDiPortafoglio, CVaRAssolutoDiPortafoglio, CVaRPercentualeDiPortafoglio, RisksizeDiPortafoglio, McVar, McVarP, Beneficio, Copertura, Totale, ID_ELAB) + SELECT + PROMETEIA_AGGR.Rete, PROMETEIA_AGGR.CodiceFiscale, PROMETEIA_AGGR.Portafoglio, PROMETEIA_AGGR.VaRAssolutoDiPortafoglio, PROMETEIA_AGGR.VaRPercentuialeDiPortafoglio, PROMETEIA_AGGR.CVaRAssolutoDiPortafoglio, PROMETEIA_AGGR.CVaRPercentualeDiPortafoglio, PROMETEIA_AGGR.RisksizeDiPortafoglio, PROMETEIA_AGGR.McVar, PROMETEIA_AGGR.McVarP, PROMETEIA_AGGR.Beneficio, PROMETEIA_AGGR.Copertura, PROMETEIA_AGGR.Totale, @ID_ELAB + FROM C6StagingPeriodico.PROMETEIA_AGGR + LEFT OUTER JOIN C6StoricoPeriodico.PROMETEIA_AGGR + ON PROMETEIA_AGGR.Rete = ST_PROMETEIA_AGGR.Rete + AND PROMETEIA_AGGR.CodiceFiscale = ST_PROMETEIA_AGGR.CodiceFiscale + AND PROMETEIA_AGGR.Portafoglio = ST_PROMETEIA_AGGR.Portafoglio + WHERE ST_PROMETEIA_AGGR.Rete IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX QUANTIF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'QUANTIF') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_QUANTIF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_QUANTIF + (OID$, VERSION$, UPDATEDATE, EXPNEEDSCUR, EXPNEEDSAMT, GROSSINPRIMCUR, GROSSINPRIMAMT, GROSSINSECCUR, GROSSINSECAMT, RETIREMENTYEARS, STATEPENSIONCUR, STATEPENSIONAMT, PRIVATEPENSIONCUR, PRIVATEPENSIONAMT, LIFEINTERESTCUR, LIFEINTERESTAMT, C_FINANCIALI_8D659, C_FINANCIALI_91C75, INSINTERESTCUR, INSINTERESTAMT, INVINTERESTCUR, INVINTERESTAMT, REINTERESTCUR, REINTERESTAMT, PRIMARYGAPCUR, PRIMARYGAPAMT, SECONDARYGAPCUR, SECONDARYGAPAMT, TOCONSUMPTIONETM, TOINTERESTETM, LOCKPERCFRSTBRNC, PRFCONSUMPTIONS, PRFGROSSAMOUNT, PRFPERCFRSTBRNC, PRFADDRETIREMENT, PRFLIFEINTEREST, PRFINTERFRSTBRNC, PRFINTERUNIT, F_OID$_ADDRE_81D21, ID_ELAB) + SELECT + QUANTIF.OID$, QUANTIF.VERSION$, QUANTIF.UPDATEDATE, QUANTIF.EXPNEEDSCUR, QUANTIF.EXPNEEDSAMT, QUANTIF.GROSSINPRIMCUR, QUANTIF.GROSSINPRIMAMT, QUANTIF.GROSSINSECCUR, QUANTIF.GROSSINSECAMT, QUANTIF.RETIREMENTYEARS, QUANTIF.STATEPENSIONCUR, QUANTIF.STATEPENSIONAMT, QUANTIF.PRIVATEPENSIONCUR, QUANTIF.PRIVATEPENSIONAMT, QUANTIF.LIFEINTERESTCUR, QUANTIF.LIFEINTERESTAMT, QUANTIF.C_FINANCIALI_8D659, QUANTIF.C_FINANCIALI_91C75, QUANTIF.INSINTERESTCUR, QUANTIF.INSINTERESTAMT, QUANTIF.INVINTERESTCUR, QUANTIF.INVINTERESTAMT, QUANTIF.REINTERESTCUR, QUANTIF.REINTERESTAMT, QUANTIF.PRIMARYGAPCUR, QUANTIF.PRIMARYGAPAMT, QUANTIF.SECONDARYGAPCUR, QUANTIF.SECONDARYGAPAMT, QUANTIF.TOCONSUMPTIONETM, QUANTIF.TOINTERESTETM, QUANTIF.LOCKPERCFRSTBRNC, QUANTIF.PRFCONSUMPTIONS, QUANTIF.PRFGROSSAMOUNT, QUANTIF.PRFPERCFRSTBRNC, QUANTIF.PRFADDRETIREMENT, QUANTIF.PRFLIFEINTEREST, QUANTIF.PRFINTERFRSTBRNC, QUANTIF.PRFINTERUNIT, QUANTIF.F_OID$_ADDRE_81D21, @ID_ELAB + FROM C6StagingPeriodico.QUANTIF + LEFT OUTER JOIN C6StoricoPeriodico.ST_QUANTIF + ON QUANTIF.OID$ = ST_QUANTIF.OID$ + WHERE ST_QUANTIF.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX RMADBKROLE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'RMADBKROLE') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_RMADBKROLE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_RMADBKROLE + (OID$, VERSION$, F_PADDRESSBO_22C0C, RMGROUPROLE, F_OID$_RM_4A3B4, ID_ELAB) + SELECT + RMADBKROLE.OID$, RMADBKROLE.VERSION$, RMADBKROLE.F_PADDRESSBO_22C0C, RMADBKROLE.RMGROUPROLE, RMADBKROLE.F_OID$_RM_4A3B4, @ID_ELAB + FROM C6StagingPeriodico.RMADBKROLE + LEFT OUTER JOIN C6StoricoPeriodico.ST_RMADBKROLE + ON RMADBKROLE.OID$ = ST_RMADBKROLE.OID$ + WHERE ST_RMADBKROLE.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX S4_S5_S13_TRAD_UNTIL_LIV3 XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'S4_S5_S13_TRAD_UNTIL_LIV3') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 + (DESCRIZIONE_ORIGINALE, ALBERO_GERARCHIA_1, ALBERO_GERARCHIA_2, ALBERO_GERARCHIA_3, ORDINAMENTO_GERARCHIA_2, ID_ELAB) + SELECT + S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE, S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1, S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2, S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3, S4_S5_S13_TRAD_UNTIL_LIV3.ORDINAMENTO_GERARCHIA_2, @ID_ELAB + FROM C6StagingPeriodico.S4_S5_S13_TRAD_UNTIL_LIV3 + LEFT OUTER JOIN C6StoricoPeriodico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 + ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ST_S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE + WHERE ST_S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_CONTR_SINTESI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_CONTR_SINTESI') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_SPB_CONTR_SINTESI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_SPB_CONTR_SINTESI + (POSITIONID, DTTRIM, DTRIFE, RETE, CODFIS, CODCONF, NUMPOL, CONTO, RUBR, CUSTGAR, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, PCTKEY, DESTIT, CTV, PARTVIA, PARTVIAAL, DTSOTTOS, RENDINIZ, RENDANNO, VALORE, SUBSET, CVN, QUOTE, ID_ELAB) + SELECT + SPB_CONTR_SINTESI.POSITIONID, SPB_CONTR_SINTESI.DTTRIM, SPB_CONTR_SINTESI.DTRIFE, SPB_CONTR_SINTESI.RETE, SPB_CONTR_SINTESI.CODFIS, SPB_CONTR_SINTESI.CODCONF, SPB_CONTR_SINTESI.NUMPOL, SPB_CONTR_SINTESI.CONTO, SPB_CONTR_SINTESI.RUBR, SPB_CONTR_SINTESI.CUSTGAR, SPB_CONTR_SINTESI.TIPPROD, SPB_CONTR_SINTESI.CODINT, SPB_CONTR_SINTESI.CODPROD, SPB_CONTR_SINTESI.SUBPROD, SPB_CONTR_SINTESI.MAF, SPB_CONTR_SINTESI.CODABI, SPB_CONTR_SINTESI.PCTKEY, SPB_CONTR_SINTESI.DESTIT, SPB_CONTR_SINTESI.CTV, SPB_CONTR_SINTESI.PARTVIA, SPB_CONTR_SINTESI.PARTVIAAL, SPB_CONTR_SINTESI.DTSOTTOS, SPB_CONTR_SINTESI.RENDINIZ, SPB_CONTR_SINTESI.RENDANNO, SPB_CONTR_SINTESI.VALORE, SPB_CONTR_SINTESI.SUBSET, SPB_CONTR_SINTESI.CVN, SPB_CONTR_SINTESI.QUOTE, @ID_ELAB + FROM C6StagingPeriodico.SPB_CONTR_SINTESI + LEFT OUTER JOIN C6StoricoPeriodico.ST_SPB_CONTR_SINTESI + ON SPB_CONTR_SINTESI.DTTRIM = ST_SPB_CONTR_SINTESI.DTTRIM + AND SPB_CONTR_SINTESI.DTRIFE = ST_SPB_CONTR_SINTESI.DTRIFE + AND SPB_CONTR_SINTESI.RETE = ST_SPB_CONTR_SINTESI.RETE + AND SPB_CONTR_SINTESI.CODFIS = ST_SPB_CONTR_SINTESI.CODFIS + AND SPB_CONTR_SINTESI.CODCONF = ST_SPB_CONTR_SINTESI.CODCONF + AND SPB_CONTR_SINTESI.CONTO = ST_SPB_CONTR_SINTESI.CONTO + AND SPB_CONTR_SINTESI.RUBR = ST_SPB_CONTR_SINTESI.RUBR + AND SPB_CONTR_SINTESI.CUSTGAR = ST_SPB_CONTR_SINTESI.CUSTGAR + AND SPB_CONTR_SINTESI.TIPPROD = ST_SPB_CONTR_SINTESI.TIPPROD + AND SPB_CONTR_SINTESI.CODINT = ST_SPB_CONTR_SINTESI.CODINT + AND SPB_CONTR_SINTESI.SUBPROD = ST_SPB_CONTR_SINTESI.SUBPROD + AND SPB_CONTR_SINTESI.CODABI = ST_SPB_CONTR_SINTESI.CODABI + AND SPB_CONTR_SINTESI.PCTKEY = ST_SPB_CONTR_SINTESI.PCTKEY + WHERE ST_SPB_CONTR_SINTESI.DTTRIM IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_MIFID XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_MIFID') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_SPB_MIFID WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_SPB_MIFID + (RETE, CODAGENTE, CODICEFISCALE, ACCETTACOMPILAZIONE, CODICEPROFILOASSEGNATO, CODICEPROFILOCALCOLATO, CODICEQUESTIONARIO, DATAFINEVALIDITA, DATAINIZIOVALIDITA, CODICEAGENTE, CODICEAGENTERESPONSABILE, CODICEAGENTEREALE, TIPOQUESTIONARIO, STATUS, ID_ELAB) + SELECT + SPB_MIFID.RETE, SPB_MIFID.CODAGENTE, SPB_MIFID.CODICEFISCALE, SPB_MIFID.ACCETTACOMPILAZIONE, SPB_MIFID.CODICEPROFILOASSEGNATO, SPB_MIFID.CODICEPROFILOCALCOLATO, SPB_MIFID.CODICEQUESTIONARIO, SPB_MIFID.DATAFINEVALIDITA, SPB_MIFID.DATAINIZIOVALIDITA, SPB_MIFID.CODICEAGENTE, SPB_MIFID.CODICEAGENTERESPONSABILE, SPB_MIFID.CODICEAGENTEREALE, SPB_MIFID.TIPOQUESTIONARIO, SPB_MIFID.STATUS, @ID_ELAB + FROM C6StagingPeriodico.SPB_MIFID + LEFT OUTER JOIN C6StoricoPeriodico.ST_SPB_MIFID + ON SPB_MIFID.RETE = ST_SPB_MIFID.RETE + AND SPB_MIFID.CODICEFISCALE = ST_SPB_MIFID.CODICEFISCALE + WHERE ST_SPB_MIFID.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_PROF_RISCHIO XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_PROF_RISCHIO') + -- BEGIN + -- DELETE FROM C6StoricoPeriodico.ST_SPB_PROF_RISCHIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6StoricoPeriodico.ST_SPB_PROF_RISCHIO + -- (CODICEPROFILO, DESCRIZIONEPROFILO, DESCRIZIONEPROFILOESTESA, PERCENTUALEASSETAZIONARIO, PERCENTUALEASSETOBBLIGAZIONARIO, PERCENTUALEASSETMONETARIO, VOLATILITADA, VOLATILITAA, RENDIMENTOATTESO, VARTRIMESTRALE, ID_ELAB) + -- SELECT + -- CODICEPROFILO, DESCRIZIONEPROFILO, DESCRIZIONEPROFILOESTESA, PERCENTUALEASSETAZIONARIO, PERCENTUALEASSETOBBLIGAZIONARIO, PERCENTUALEASSETMONETARIO, VOLATILITADA, VOLATILITAA, RENDIMENTOATTESO, VARTRIMESTRALE, @ID_ELAB + -- FROM C6StagingPeriodico.SPB_PROF_RISCHIO + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX TABELLESTORICIZZATE XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'TABELLESTORICIZZATE') + -- BEGIN + -- DELETE FROM C6StoricoPeriodico.ST_TABELLESTORICIZZATE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6StoricoPeriodico.ST_TABELLESTORICIZZATE + -- (Nome, Inizio, Fine, Durata, Vecchia_Durata, Storicizzata, ID_ELAB) + -- SELECT + -- Nome, Inizio, Fine, Durata, Vecchia_Durata, Storicizzata, @ID_ELAB + -- FROM C6StagingPeriodico.TABELLESTORICIZZATE + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX TANAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TANAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TANAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TANAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTFINE, DTINI, CTVINI, DTRENDMAX, RENDMAX, DTRENDMIN, RENDMIN, DTCTV, CTV, RENDATT, DTCTVMAX, CTVMAX, DTCTVMIN, CTVMIN, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, RENDATTANN, ID_ELAB) + SELECT + TANAB.RETE, TANAB.CODAREA, TANAB.CODPROG, TANAB.CODFIS, TANAB.DTRIF, TANAB.DTFINE, TANAB.DTINI, TANAB.CTVINI, TANAB.DTRENDMAX, TANAB.RENDMAX, TANAB.DTRENDMIN, TANAB.RENDMIN, TANAB.DTCTV, TANAB.CTV, TANAB.RENDATT, TANAB.DTCTVMAX, TANAB.CTVMAX, TANAB.DTCTVMIN, TANAB.CTVMIN, TANAB.CVN, TANAB.CVN_IA, TANAB.CVN_IT, TANAB.APP_INI, TANAB.TOT_APP, TANAB.TOT_LIQ, TANAB.TOT_CED, TANAB.TOT_DIV, TANAB.DCD, TANAB.DCVN, TANAB.SCARTO, TANAB.NTOT_APP, TANAB.NTOT_LIQ, TANAB.RENDATTANN, @ID_ELAB + FROM C6StagingPeriodico.TANAB + LEFT OUTER JOIN C6StoricoPeriodico.ST_TANAB + ON TANAB.RETE = ST_TANAB.RETE + AND TANAB.CODAREA = ST_TANAB.CODAREA + AND TANAB.CODPROG = ST_TANAB.CODPROG + AND TANAB.CODFIS = ST_TANAB.CODFIS + AND TANAB.DTRIF = ST_TANAB.DTRIF + WHERE ST_TANAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX TCPTAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TCPTAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TCPTAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TCPTAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, ISIN, ID_WADEG, MAF, CODCONF, SUBPROD, CODPROD, NUMPOL, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, SPROG, DTUSCITA, DTSOTT, CTVATT, DTINGRESSO, CTVINGRESSO, DTTRIM, RENDTRIM, DTANNO, RENDANNO, DTINIZ, RENDINIZ, DTININAC, RENDNAC, CTVVP, CVNTRIM, CVNANNO, CVNINIZ, CVNNAC, CODINT, VALORE, STLIQ, DTVALORIZ, ID_ELAB) + SELECT + TCPTAB.RETE, TCPTAB.CODAREA, TCPTAB.CODPROG, TCPTAB.CODFIS, TCPTAB.DTRIF, TCPTAB.TIPPROD, TCPTAB.ISIN, TCPTAB.ID_WADEG, TCPTAB.MAF, TCPTAB.CODCONF, TCPTAB.SUBPROD, TCPTAB.CODPROD, TCPTAB.NUMPOL, TCPTAB.CONTO, TCPTAB.CUSTGAR, TCPTAB.RUBR, TCPTAB.CODABI, TCPTAB.TERMID, TCPTAB.ANNO, TCPTAB.PROG, TCPTAB.SPROG, TCPTAB.DTUSCITA, TCPTAB.DTSOTT, TCPTAB.CTVATT, TCPTAB.DTINGRESSO, TCPTAB.CTVINGRESSO, TCPTAB.DTTRIM, TCPTAB.RENDTRIM, TCPTAB.DTANNO, TCPTAB.RENDANNO, TCPTAB.DTINIZ, TCPTAB.RENDINIZ, TCPTAB.DTININAC, TCPTAB.RENDNAC, TCPTAB.CTVVP, TCPTAB.CVNTRIM, TCPTAB.CVNANNO, TCPTAB.CVNINIZ, TCPTAB.CVNNAC, TCPTAB.CODINT, TCPTAB.VALORE, TCPTAB.STLIQ, TCPTAB.DTVALORIZ, @ID_ELAB + FROM C6StagingPeriodico.TCPTAB + INNER JOIN C6StoricoPeriodico.ST_TCPTAB + ON TCPTAB.RETE = ST_TCPTAB.RETE + AND TCPTAB.CODAREA = ST_TCPTAB.CODAREA + AND TCPTAB.CODPROG = ST_TCPTAB.CODPROG + AND TCPTAB.CODFIS = ST_TCPTAB.CODFIS + AND TCPTAB.DTRIF = ST_TCPTAB.DTRIF + AND TCPTAB.TIPPROD = ST_TCPTAB.TIPPROD + AND TCPTAB.ISIN = ST_TCPTAB.ISIN + AND TCPTAB.MAF = ST_TCPTAB.MAF + AND TCPTAB.CODCONF = ST_TCPTAB.CODCONF + AND TCPTAB.SUBPROD = ST_TCPTAB.SUBPROD + AND TCPTAB.CODPROD = ST_TCPTAB.CODPROD + AND TCPTAB.NUMPOL = ST_TCPTAB.NUMPOL + AND TCPTAB.CONTO = ST_TCPTAB.CONTO + AND TCPTAB.CUSTGAR = ST_TCPTAB.CUSTGAR + AND TCPTAB.RUBR = ST_TCPTAB.RUBR + AND TCPTAB.CODABI = ST_TCPTAB.CODABI + AND TCPTAB.TERMID = ST_TCPTAB.TERMID + AND TCPTAB.ANNO = ST_TCPTAB.ANNO + AND TCPTAB.PROG = ST_TCPTAB.PROG + AND TCPTAB.SPROG = ST_TCPTAB.SPROG + AND TCPTAB.DTINGRESSO = ST_TCPTAB.DTINGRESSO + WHERE ST_TCPTAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX TRENAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TRENAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TRENAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TRENAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTVALORIZ, CTV, DTINIZ, RENDINIZ, DTTRIM, RENDTRIM, DTANNO, RENDANNO, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, RENDATTANN, ID_ELAB) + SELECT + TRENAB.RETE, TRENAB.CODAREA, TRENAB.CODPROG, TRENAB.CODFIS, TRENAB.DTRIF, TRENAB.DTVALORIZ, TRENAB.CTV, TRENAB.DTINIZ, TRENAB.RENDINIZ, TRENAB.DTTRIM, TRENAB.RENDTRIM, TRENAB.DTANNO, TRENAB.RENDANNO, TRENAB.CVN, TRENAB.CVN_IA, TRENAB.CVN_IT, TRENAB.APP_INI, TRENAB.TOT_APP, TRENAB.TOT_LIQ, TRENAB.TOT_CED, TRENAB.TOT_DIV, TRENAB.DCD, TRENAB.DCVN, TRENAB.SCARTO, TRENAB.NTOT_APP, TRENAB.NTOT_LIQ, TRENAB.RENDATTANN, @ID_ELAB + FROM C6StagingPeriodico.TRENAB + LEFT OUTER JOIN C6StoricoPeriodico.ST_TRENAB + ON TRENAB.RETE = ST_TRENAB.RETE + AND TRENAB.CODAREA = ST_TRENAB.CODAREA + AND TRENAB.CODPROG = ST_TRENAB.CODPROG + AND TRENAB.CODFIS = ST_TRENAB.CODFIS + AND TRENAB.DTRIF = ST_TRENAB.DTRIF + AND TRENAB.DTVALORIZ = ST_TRENAB.DTVALORIZ + WHERE ST_TRENAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX TSCABP XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'TSCABP') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_TSCABP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_TSCABP + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, CODCONF, SUBPROD, CODPROD, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, DTINGRESSO, ISTITUTO, TIPO_PRODOTT, CONTO_OP, STRUM_FIN, ID_MOVIM, TIPO_OP, RESTART, DT_ING_USC, ING_USC, COD_ERR, DESCR_ERR, DT_ELAB, DT_INS, PCT, PROVENIENZA, ID_ELAB) + SELECT + TSCABP.RETE, TSCABP.CODAREA, TSCABP.CODPROG, TSCABP.CODFIS, TSCABP.DTRIF, TSCABP.TIPPROD, TSCABP.CODCONF, TSCABP.SUBPROD, TSCABP.CODPROD, TSCABP.CONTO, TSCABP.CUSTGAR, TSCABP.RUBR, TSCABP.CODABI, TSCABP.TERMID, TSCABP.ANNO, TSCABP.PROG, TSCABP.DTINGRESSO, TSCABP.ISTITUTO, TSCABP.TIPO_PRODOTT, TSCABP.CONTO_OP, TSCABP.STRUM_FIN, TSCABP.ID_MOVIM, TSCABP.TIPO_OP, TSCABP.RESTART, TSCABP.DT_ING_USC, TSCABP.ING_USC, TSCABP.COD_ERR, TSCABP.DESCR_ERR, TSCABP.DT_ELAB, TSCABP.DT_INS, TSCABP.PCT, TSCABP.PROVENIENZA, @ID_ELAB + FROM C6StagingPeriodico.TSCABP + LEFT OUTER JOIN C6StoricoPeriodico.ST_TSCABP + ON TSCABP.RETE = ST_TSCABP.RETE + AND TSCABP.CODAREA = ST_TSCABP.CODAREA + AND TSCABP.CODPROG = ST_TSCABP.CODPROG + AND TSCABP.CODFIS = ST_TSCABP.CODFIS + WHERE ST_TSCABP.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WANAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WANAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WANAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WANAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTFINE, DTINI, CTVINI, DTRENDMAX, RENDMAX, DTRENDMIN, RENDMIN, DTCTV, CTV, RENDATT, DTCTVMAX, CTVMAX, DTCTVMIN, CTVMIN, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, ID_ELAB) + SELECT + WANAB.RETE, WANAB.CODAREA, WANAB.CODPROG, WANAB.CODFIS, WANAB.DTRIF, WANAB.DTFINE, WANAB.DTINI, WANAB.CTVINI, WANAB.DTRENDMAX, WANAB.RENDMAX, WANAB.DTRENDMIN, WANAB.RENDMIN, WANAB.DTCTV, WANAB.CTV, WANAB.RENDATT, WANAB.DTCTVMAX, WANAB.CTVMAX, WANAB.DTCTVMIN, WANAB.CTVMIN, WANAB.CVN, WANAB.CVN_IA, WANAB.CVN_IT, WANAB.APP_INI, WANAB.TOT_APP, WANAB.TOT_LIQ, WANAB.TOT_CED, WANAB.TOT_DIV, WANAB.DCD, WANAB.DCVN, WANAB.SCARTO, WANAB.NTOT_APP, WANAB.NTOT_LIQ, @ID_ELAB + FROM C6StagingPeriodico.WANAB + LEFT OUTER JOIN C6StoricoPeriodico.ST_WANAB + ON WANAB.RETE = ST_WANAB.RETE + AND WANAB.CODAREA = ST_WANAB.CODAREA + AND WANAB.CODPROG = ST_WANAB.CODPROG + AND WANAB.CODFIS = ST_WANAB.CODFIS + AND WANAB.DTRIF = ST_WANAB.DTRIF + WHERE ST_WANAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WCPTAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WCPTAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WCPTAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WCPTAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, ISIN, ID_WADEG, MAF, CODCONF, SUBPROD, CODPROD, NUMPOL, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, SPROG, DTUSCITA, DTSOTT, CTVATT, DTINGRESSO, CTVINGRESSO, DTTRIM, RENDTRIM, DTANNO, RENDANNO, DTINIZ, RENDINIZ, DTININAC, RENDNAC, CTVVP, CVNTRIM, CVNANNO, CVNINIZ, CVNNAC, CODINT, VALORE, ID_ELAB) + SELECT + WCPTAB.RETE, WCPTAB.CODAREA, WCPTAB.CODPROG, WCPTAB.CODFIS, WCPTAB.DTRIF, WCPTAB.TIPPROD, WCPTAB.ISIN, WCPTAB.ID_WADEG, WCPTAB.MAF, WCPTAB.CODCONF, WCPTAB.SUBPROD, WCPTAB.CODPROD, WCPTAB.NUMPOL, WCPTAB.CONTO, WCPTAB.CUSTGAR, WCPTAB.RUBR, WCPTAB.CODABI, WCPTAB.TERMID, WCPTAB.ANNO, WCPTAB.PROG, WCPTAB.SPROG, WCPTAB.DTUSCITA, WCPTAB.DTSOTT, WCPTAB.CTVATT, WCPTAB.DTINGRESSO, WCPTAB.CTVINGRESSO, WCPTAB.DTTRIM, WCPTAB.RENDTRIM, WCPTAB.DTANNO, WCPTAB.RENDANNO, WCPTAB.DTINIZ, WCPTAB.RENDINIZ, WCPTAB.DTININAC, WCPTAB.RENDNAC, WCPTAB.CTVVP, WCPTAB.CVNTRIM, WCPTAB.CVNANNO, WCPTAB.CVNINIZ, WCPTAB.CVNNAC, WCPTAB.CODINT, WCPTAB.VALORE, @ID_ELAB + FROM C6StagingPeriodico.WCPTAB + INNER JOIN C6StoricoPeriodico.ST_WCPTAB + ON WCPTAB.RETE = ST_WCPTAB.RETE + AND WCPTAB.CODAREA = ST_WCPTAB.CODAREA + AND WCPTAB.CODPROG = ST_WCPTAB.CODPROG + AND WCPTAB.CODFIS = ST_WCPTAB.CODFIS + AND WCPTAB.DTRIF = ST_WCPTAB.DTRIF + AND WCPTAB.TIPPROD = ST_WCPTAB.TIPPROD + AND WCPTAB.ISIN = ST_WCPTAB.ISIN + AND WCPTAB.MAF = ST_WCPTAB.MAF + AND WCPTAB.CODCONF = ST_WCPTAB.CODCONF + AND WCPTAB.SUBPROD = ST_WCPTAB.SUBPROD + AND WCPTAB.CODPROD = ST_WCPTAB.CODPROD + AND WCPTAB.NUMPOL = ST_WCPTAB.NUMPOL + AND WCPTAB.CONTO = ST_WCPTAB.CONTO + AND WCPTAB.CUSTGAR = ST_WCPTAB.CUSTGAR + AND WCPTAB.RUBR = ST_WCPTAB.RUBR + AND WCPTAB.CODABI = ST_WCPTAB.CODABI + AND WCPTAB.TERMID = ST_WCPTAB.TERMID + AND WCPTAB.ANNO = ST_WCPTAB.ANNO + AND WCPTAB.PROG = ST_WCPTAB.PROG + AND WCPTAB.SPROG = ST_WCPTAB.SPROG + AND WCPTAB.DTINGRESSO = ST_WCPTAB.DTINGRESSO + WHERE ST_WCPTAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WMANDATI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WMANDATI') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WMANDATI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WMANDATI + (PIVA, CODMAND, CODBREVE, ID_ELAB) + SELECT + WMANDATI.PIVA, WMANDATI.CODMAND, WMANDATI.CODBREVE, @ID_ELAB + FROM C6StagingPeriodico.WMANDATI + LEFT OUTER JOIN C6StoricoPeriodico.ST_WMANDATI + ON WMANDATI.CODMAND = ST_WMANDATI.CODMAND + WHERE ST_WMANDATI.CODMAND IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WRENAB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WRENAB') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WRENAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WRENAB + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTVALORIZ, CTV, DTINIZ, RENDINIZ, DTTRIM, RENDTRIM, DTANNO, RENDANNO, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, ID_ELAB) + SELECT + WRENAB.RETE, WRENAB.CODAREA, WRENAB.CODPROG, WRENAB.CODFIS, WRENAB.DTRIF, WRENAB.DTVALORIZ, WRENAB.CTV, WRENAB.DTINIZ, WRENAB.RENDINIZ, WRENAB.DTTRIM, WRENAB.RENDTRIM, WRENAB.DTANNO, WRENAB.RENDANNO, WRENAB.CVN, WRENAB.CVN_IA, WRENAB.CVN_IT, WRENAB.APP_INI, WRENAB.TOT_APP, WRENAB.TOT_LIQ, WRENAB.TOT_CED, WRENAB.TOT_DIV, WRENAB.DCD, WRENAB.DCVN, WRENAB.SCARTO, WRENAB.NTOT_APP, WRENAB.NTOT_LIQ, @ID_ELAB + FROM C6StagingPeriodico.WRENAB + LEFT OUTER JOIN C6StoricoPeriodico.ST_WRENAB + ON WRENAB.RETE = ST_WRENAB.RETE + AND WRENAB.CODAREA = ST_WRENAB.CODAREA + AND WRENAB.CODPROG = ST_WRENAB.CODPROG + AND WRENAB.CODFIS = ST_WRENAB.CODFIS + AND WRENAB.DTRIF = ST_WRENAB.DTRIF + AND WRENAB.DTVALORIZ = ST_WRENAB.DTVALORIZ + WHERE ST_WRENAB.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSCABP XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSCABP') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSCABP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSCABP + (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, CODCONF, SUBPROD, CODPROD, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, DTINGRESSO, ISTITUTO, TIPO_PRODOTT, CONTO_OP, STRUM_FIN, ID_MOVIM, TIPO_OP, RESTART, DT_ING_USC, ING_USC, COD_ERR, DESCR_ERR, DT_ELAB, DT_INS, PCT, PROVENIENZA, ID_ELAB) + SELECT + WSCABP.RETE, WSCABP.CODAREA, WSCABP.CODPROG, WSCABP.CODFIS, WSCABP.DTRIF, WSCABP.TIPPROD, WSCABP.CODCONF, WSCABP.SUBPROD, WSCABP.CODPROD, WSCABP.CONTO, WSCABP.CUSTGAR, WSCABP.RUBR, WSCABP.CODABI, WSCABP.TERMID, WSCABP.ANNO, WSCABP.PROG, WSCABP.DTINGRESSO, WSCABP.ISTITUTO, WSCABP.TIPO_PRODOTT, WSCABP.CONTO_OP, WSCABP.STRUM_FIN, WSCABP.ID_MOVIM, WSCABP.TIPO_OP, WSCABP.RESTART, WSCABP.DT_ING_USC, WSCABP.ING_USC, WSCABP.COD_ERR, WSCABP.DESCR_ERR, WSCABP.DT_ELAB, WSCABP.DT_INS, WSCABP.PCT, WSCABP.PROVENIENZA, @ID_ELAB + FROM C6StagingPeriodico.WSCABP + LEFT OUTER JOIN C6StoricoPeriodico.ST_WSCABP + ON WSCABP.RETE = ST_WSCABP.RETE + AND WSCABP.CODAREA = ST_WSCABP.CODAREA + AND WSCABP.CODPROG = ST_WSCABP.CODPROG + AND WSCABP.CODFIS = ST_WSCABP.CODFIS + WHERE ST_WSCABP.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEIAN XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEIAN') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEIAN WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEIAN + (DTTRIM, RETE, CODFIS, NOME, COGNOME, DTNASCI, INDIRIZZO, CAP, CITTA, PROVINCIA, NAZIONE, CODPROF, ID_ELAB) + SELECT + WSEIAN.DTTRIM, WSEIAN.RETE, WSEIAN.CODFIS, WSEIAN.NOME, WSEIAN.COGNOME, WSEIAN.DTNASCI, WSEIAN.INDIRIZZO, WSEIAN.CAP, WSEIAN.CITTA, WSEIAN.PROVINCIA, WSEIAN.NAZIONE, WSEIAN.CODPROF, @ID_ELAB + FROM C6StagingPeriodico.WSEIAN + LEFT OUTER JOIN C6StoricoPeriodico.ST_WSEIAN + ON WSEIAN.DTTRIM = ST_WSEIAN.DTTRIM + AND WSEIAN.RETE = ST_WSEIAN.RETE + AND WSEIAN.CODFIS = ST_WSEIAN.CODFIS + WHERE ST_WSEIAN.DTTRIM IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEICS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEICS') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEICS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEICS + (DTTRIM, DTRIFE, RETE, CODFIS, CODCONF, NUMPOL, CONTO, RUBR, CUSTGAR, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, PCTKEY, DESTIT, CTV, PARTVIA, PARTVIAAL, DTSOTTOS, RENDINIZ, RENDANNO, VALORE, SUBSET, CVN, QUOTE, ID_ELAB) + SELECT + WSEICS.DTTRIM, WSEICS.DTRIFE, WSEICS.RETE, WSEICS.CODFIS, WSEICS.CODCONF, WSEICS.NUMPOL, WSEICS.CONTO, WSEICS.RUBR, WSEICS.CUSTGAR, WSEICS.TIPPROD, WSEICS.CODINT, WSEICS.CODPROD, WSEICS.SUBPROD, WSEICS.MAF, WSEICS.CODABI, WSEICS.PCTKEY, WSEICS.DESTIT, WSEICS.CTV, WSEICS.PARTVIA, WSEICS.PARTVIAAL, WSEICS.DTSOTTOS, WSEICS.RENDINIZ, WSEICS.RENDANNO, WSEICS.VALORE, WSEICS.SUBSET, WSEICS.CVN, WSEICS.QUOTE, @ID_ELAB + FROM C6StagingPeriodico.WSEICS + LEFT OUTER JOIN C6StoricoPeriodico.ST_WSEICS + ON WSEICS.DTTRIM = ST_WSEICS.DTTRIM + AND WSEICS.DTRIFE = ST_WSEICS.DTRIFE + AND WSEICS.RETE = ST_WSEICS.RETE + AND WSEICS.CODFIS = ST_WSEICS.CODFIS + AND WSEICS.CODCONF = ST_WSEICS.CODCONF + AND WSEICS.CONTO = ST_WSEICS.CONTO + AND WSEICS.RUBR = ST_WSEICS.RUBR + AND WSEICS.CUSTGAR = ST_WSEICS.CUSTGAR + AND WSEICS.TIPPROD = ST_WSEICS.TIPPROD + AND WSEICS.CODINT = ST_WSEICS.CODINT + AND WSEICS.SUBPROD = ST_WSEICS.SUBPROD + AND WSEICS.CODABI = ST_WSEICS.CODABI + AND WSEICS.PCTKEY = ST_WSEICS.PCTKEY + WHERE ST_WSEICS.DTTRIM IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEIPV XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEIPV') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEIPV WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEIPV + (DTTRIM, RETE, CODFIS, CODCONF, IMPVER, DTRIFE, SUBSET, ID_ELAB) + SELECT + WSEIPV.DTTRIM, WSEIPV.RETE, WSEIPV.CODFIS, WSEIPV.CODCONF, WSEIPV.IMPVER, WSEIPV.DTRIFE, WSEIPV.SUBSET, @ID_ELAB + FROM C6StagingPeriodico.WSEIPV + LEFT OUTER JOIN C6StoricoPeriodico.ST_WSEIPV + ON WSEIPV.RETE = ST_WSEIPV.RETE + AND WSEIPV.CODFIS = ST_WSEIPV.CODFIS + AND WSEIPV.CODCONF = ST_WSEIPV.CODCONF + AND WSEIPV.DTRIFE = ST_WSEIPV.DTRIFE + WHERE ST_WSEIPV.RETE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX WSEIUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'WSEIUL') + BEGIN + DELETE FROM C6StoricoPeriodico.ST_WSEIUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6StoricoPeriodico.ST_WSEIUL + (DTTRIM, RETE, CODFIS, CODCONF, CODINT, SUBPROD, CTV, DTRIFE, ISINFIT, ISIN, MAF, SUBSET, ID_ELAB) + SELECT + WSEIUL.DTTRIM, WSEIUL.RETE, WSEIUL.CODFIS, WSEIUL.CODCONF, WSEIUL.CODINT, WSEIUL.SUBPROD, WSEIUL.CTV, WSEIUL.DTRIFE, WSEIUL.ISINFIT, WSEIUL.ISIN, WSEIUL.MAF, WSEIUL.SUBSET, @ID_ELAB + FROM C6StagingPeriodico.WSEIUL + LEFT OUTER JOIN C6StoricoPeriodico.ST_WSEIUL + ON WSEIUL.RETE = ST_WSEIUL.RETE + AND WSEIUL.CODCONF = ST_WSEIUL.CODCONF + AND WSEIUL.CODINT = ST_WSEIUL.CODINT + AND WSEIUL.SUBPROD = ST_WSEIUL.SUBPROD + AND WSEIUL.DTRIFE = ST_WSEIUL.DTRIFE + WHERE ST_WSEIUL.RETE IS NULL + END + -- XX -- XX -- XX AGGIORNAMENTO DATI C6StagingPeriodico.TabelleStoricizzate XX -- XX -- XX -- + IF(@NomeTabella IS NOT NULL) + BEGIN + UPDATE C6StagingPeriodico.TabelleStoricizzate + SET + FINE = GETDATE(), + DURATA = DATEDIFF(SECOND ,INIZIO, GETDATE()) + WHERE NOME = @NomeTabella + END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_SRV_TABELLE_IN_STAGING.sql b/sql/storedTestbes/C6StagingPeriodico_SRV_TABELLE_IN_STAGING.sql new file mode 100644 index 00000000..6434f95f --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_SRV_TABELLE_IN_STAGING.sql @@ -0,0 +1,92 @@ +CREATE procedure [C6StagingPeriodico].[SRV_TABELLE_IN_STAGING] +AS +BEGIN +DECLARE @tabella AS VARCHAR(50) + SET @tabella = NULL + SELECT TOP 1 @tabella = A.tabella + FROM( + SELECT tables.name tabella + FROM sys.tables tables + INNER JOIN sys.schemas schemas + ON tables.schema_id = schemas.schema_id + WHERE schemas.name = 'C6StagingPeriodico' + AND tables.name NOT IN ('TabelleStoricizzate','WSEIAN','WSEICS','WSEIPV','WSEIUL','CONGELAMENTO_SEI','PROMETEIA_AGGR') + ) A + WHERE A.tabella NOT IN ( + SELECT Nome + FROM C6StagingPeriodico.TabelleStoricizzate + ) + ORDER BY A.tabella + -- inserisce dei NULL in TabelleStoricizzate!!! + /*INSERT INTO [C6StagingPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella)*/ + DECLARE @tabellaStagingDaStoricizzare AS SMALLINT + IF @tabella IS NOT NULL + BEGIN + INSERT INTO [C6StagingPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella) + EXEC [C6StagingPeriodico].[SRV_STORICIZZAZIONE] @tabella + SET @tabellaStagingDaStoricizzare = 1 + END + ELSE + SET @tabellaStagingDaStoricizzare = 0 + SELECT @tabellaStagingDaStoricizzare tabella, @tabella nome +-- DECLARE @tabella AS VARCHAR(50) +-- SET @tabella = NULL +-- +-- -- AGGIORNAMENTO TABELLA C6StagingPeriodico.TabelleStoricizzate: +-- --> CANCELLO LE VECCHIE +-- DELETE C6StagingPeriodico.TabelleStoricizzate +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- RIGHT JOIN C6StagingPeriodico.TabelleStoricizzate +-- ON tables.name = TabelleStoricizzate.NOME +-- WHERE schemas.name = 'C6StagingPeriodico' +-- AND tables.name IS NULL +-- +-- --> INSERISCO LE NUOVE TABELLE +-- INSERT INTO C6StagingPeriodico.TabelleStoricizzate (NOME, STORICIZZATA) +-- SELECT tables.name, 0 +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- LEFT JOIN C6StagingPeriodico.TabelleStoricizzate +-- ON tables.name = TabelleStoricizzate.NOME +-- WHERE schemas.name = 'C6StagingPeriodico' +-- AND TabelleStoricizzate.NOME IS NULL +-- -- FINE AGGIORNAMENTO TABELLA +-- +-- -- SELEZIONE TABELLA +-- SELECT TOP 1 @tabella = NOME +-- FROM C6StagingPeriodico.TabelleStoricizzate +-- WHERE STORICIZZATA = 0 +-- ORDER BY DURATA DESC +-- +-- -- MARCATURA TABELLA SELEZIONATA +-- UPDATE C6StagingPeriodico.TabelleStoricizzate +-- SET +-- STORICIZZATA = 1, +-- VECCHIA_DURATA = DURATA, +-- INIZIO = GETDATE() +-- WHERE NOME = @tabella +-- +---- select @tabella +---- return +-- +-- DECLARE @tabellaDaStoricizzare AS SMALLINT +-- +-- IF @tabella IS NOT NULL +-- BEGIN +-- --EXEC C6StagingPeriodico.SRV_STORICIZZAZIONE @tabella +-- SET @tabellaDaStoricizzare = 1 +-- END +-- ELSE +-- SET @tabellaDaStoricizzare = 0 +-- +-- SELECT @tabellaDaStoricizzare tabella , @tabella nome +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_SRV_TABELLE_IN_STAGING_pre_selective.sql b/sql/storedTestbes/C6StagingPeriodico_SRV_TABELLE_IN_STAGING_pre_selective.sql new file mode 100644 index 00000000..74889165 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_SRV_TABELLE_IN_STAGING_pre_selective.sql @@ -0,0 +1,92 @@ +CREATE procedure [C6StagingPeriodico].[SRV_TABELLE_IN_STAGING_pre_selective] +AS +BEGIN +DECLARE @tabella AS VARCHAR(50) + SET @tabella = NULL + SELECT TOP 1 @tabella = A.tabella + FROM( + SELECT tables.name tabella + FROM sys.tables tables + INNER JOIN sys.schemas schemas + ON tables.schema_id = schemas.schema_id + WHERE schemas.name = 'C6StagingPeriodico' + AND tables.name NOT IN ('TabelleStoricizzate','WSEIAN','WSEICS','WSEIPV','WSEIUL','CONGELAMENTO_SEI','PROMETEIA_AGGR') + ) A + WHERE A.tabella NOT IN ( + SELECT Nome + FROM C6StagingPeriodico.TabelleStoricizzate + ) + ORDER BY A.tabella + -- inserisce dei NULL in TabelleStoricizzate!!! + /*INSERT INTO [C6StagingPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella)*/ + DECLARE @tabellaStagingDaStoricizzare AS SMALLINT + IF @tabella IS NOT NULL + BEGIN + INSERT INTO [C6StagingPeriodico].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella) + EXEC [C6StagingPeriodico].[SRV_STORICIZZAZIONE] @tabella + SET @tabellaStagingDaStoricizzare = 1 + END + ELSE + SET @tabellaStagingDaStoricizzare = 0 + SELECT @tabellaStagingDaStoricizzare tabella, @tabella nome +-- DECLARE @tabella AS VARCHAR(50) +-- SET @tabella = NULL +-- +-- -- AGGIORNAMENTO TABELLA C6StagingPeriodico.TabelleStoricizzate: +-- --> CANCELLO LE VECCHIE +-- DELETE C6StagingPeriodico.TabelleStoricizzate +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- RIGHT JOIN C6StagingPeriodico.TabelleStoricizzate +-- ON tables.name = TabelleStoricizzate.NOME +-- WHERE schemas.name = 'C6StagingPeriodico' +-- AND tables.name IS NULL +-- +-- --> INSERISCO LE NUOVE TABELLE +-- INSERT INTO C6StagingPeriodico.TabelleStoricizzate (NOME, STORICIZZATA) +-- SELECT tables.name, 0 +-- FROM sys.tables tables +-- INNER JOIN sys.schemas schemas +-- ON tables.schema_id = schemas.schema_id +-- LEFT JOIN C6StagingPeriodico.TabelleStoricizzate +-- ON tables.name = TabelleStoricizzate.NOME +-- WHERE schemas.name = 'C6StagingPeriodico' +-- AND TabelleStoricizzate.NOME IS NULL +-- -- FINE AGGIORNAMENTO TABELLA +-- +-- -- SELEZIONE TABELLA +-- SELECT TOP 1 @tabella = NOME +-- FROM C6StagingPeriodico.TabelleStoricizzate +-- WHERE STORICIZZATA = 0 +-- ORDER BY DURATA DESC +-- +-- -- MARCATURA TABELLA SELEZIONATA +-- UPDATE C6StagingPeriodico.TabelleStoricizzate +-- SET +-- STORICIZZATA = 1, +-- VECCHIA_DURATA = DURATA, +-- INIZIO = GETDATE() +-- WHERE NOME = @tabella +-- +---- select @tabella +---- return +-- +-- DECLARE @tabellaDaStoricizzare AS SMALLINT +-- +-- IF @tabella IS NOT NULL +-- BEGIN +-- --EXEC C6StagingPeriodico.SRV_STORICIZZAZIONE @tabella +-- SET @tabellaDaStoricizzare = 1 +-- END +-- ELSE +-- SET @tabellaDaStoricizzare = 0 +-- +-- SELECT @tabellaDaStoricizzare tabella , @tabella nome +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_ST_CREA_POSITIONID.sql b/sql/storedTestbes/C6StagingPeriodico_ST_CREA_POSITIONID.sql new file mode 100644 index 00000000..da4abf09 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_ST_CREA_POSITIONID.sql @@ -0,0 +1,81 @@ +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[ST_CREA_POSITIONID] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_CREA_POSITIONID', + GETDATE(), + 'Elaborazione trimestrale' + ) + UPDATE + C6StagingPeriodico.SPB_CONTR_SINTESI + SET + POSITIONID = +-- CASE +-- WHEN TIPPROD = 'CC' THEN '' --MODIFICA TRINGALI +-- ELSE + [C6StagingPeriodico].[Info_DaProdottoCSaCatalogo] --dbo.Info_DaProdottoCSaCatalogo + ( + TIPPROD, + CODINT, + MAF, + --V ISIN per ASU2 + CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END, + SUBPROD + ) + --END + + + dbo.Crea_positionID + ( + TIPPROD, + CODINT, + MAF, + '', + SUBPROD, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + NUMPOL, + CONTO, + RUBR, + CUSTGAR, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_CREA_POSITIONID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_CREA_POSITIONID' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_ST_CREA_POSITIONID_pre_selective.sql b/sql/storedTestbes/C6StagingPeriodico_ST_CREA_POSITIONID_pre_selective.sql new file mode 100644 index 00000000..e5f8d93a --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_ST_CREA_POSITIONID_pre_selective.sql @@ -0,0 +1,81 @@ +-- +--select * from c6stagingperiodico.spb_contr_sintesi +--where positionId is null +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[ST_CREA_POSITIONID_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_CREA_POSITIONID_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + UPDATE + C6StagingPeriodico.SPB_CONTR_SINTESI + SET + POSITIONID = +-- CASE +-- WHEN TIPPROD = 'CC' THEN '' --MODIFICA TRINGALI +-- ELSE + [C6StagingPeriodico].[Info_DaProdottoCSaCatalogo] --dbo.Info_DaProdottoCSaCatalogo + ( + TIPPROD, + CODINT, + MAF, + --V ISIN per ASU2 + CASE WHEN ISIN = 'NA' THEN '' ELSE ISIN END, + SUBPROD + ) + --END + + + dbo.Crea_positionID + ( + TIPPROD, + CODINT, + MAF, + '', + SUBPROD, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + NUMPOL, + CONTO, + RUBR, + CUSTGAR, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_CREA_POSITIONID_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_CREA_POSITIONID_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI.sql b/sql/storedTestbes/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI.sql new file mode 100644 index 00000000..4423e52d --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI.sql @@ -0,0 +1,32 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[ST_DATA_CONGELAMENTO_SEI] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- FC 11/07/2014 +-- Cmbiata valorizzazione della data congelamento +-- deve essere sempre uguale all'effettivo congelamento ( ultimo gg trimestre ) + --IF NOT EXISTS ( + --SELECT + -- DATA_CONGELAMENTO + --FROM + -- C6StagingPeriodico.CONGELAMENTO_SEI + --) + -- INSERT INTO + -- C6StagingPeriodico.CONGELAMENTO_SEI + -- VALUES ( + -- GETDATE() + -- ) + truncate table C6StagingPeriodico.CONGELAMENTO_SEI + INSERT INTO + C6StagingPeriodico.CONGELAMENTO_SEI + VALUES ( + C6MartPeriodico.getTrimestre(getdate(),0) + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI_pre_selective.sql b/sql/storedTestbes/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI_pre_selective.sql new file mode 100644 index 00000000..cf1b6315 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_ST_DATA_CONGELAMENTO_SEI_pre_selective.sql @@ -0,0 +1,32 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[ST_DATA_CONGELAMENTO_SEI_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- FC 11/07/2014 +-- Cmbiata valorizzazione della data congelamento +-- deve essere sempre uguale all'effettivo congelamento ( ultimo gg trimestre ) + --IF NOT EXISTS ( + --SELECT + -- DATA_CONGELAMENTO + --FROM + -- C6StagingPeriodico.CONGELAMENTO_SEI + --) + -- INSERT INTO + -- C6StagingPeriodico.CONGELAMENTO_SEI + -- VALUES ( + -- GETDATE() + -- ) + truncate table C6StagingPeriodico.CONGELAMENTO_SEI + INSERT INTO + C6StagingPeriodico.CONGELAMENTO_SEI + VALUES ( + C6MartPeriodico.getTrimestre(getdate(),0) + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS.sql b/sql/storedTestbes/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS.sql new file mode 100644 index 00000000..a19a9722 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS.sql @@ -0,0 +1,80 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6StagingPeriodico].[ST_SELECT_FOR_ADS4WS] 1 +CREATE procedure [C6StagingPeriodico].[ST_SELECT_FOR_ADS4WS] + @Tipo AS INTEGER +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SELECT_FOR_ADS4WS', + GETDATE(), + 'Elaborazione trimestrale' + ) + IF @Tipo = 1 + BEGIN + -- ELIMINIAMO I CODICI FITTIZI + SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM C6MartPeriodico.RP_vContrattiPerGenerazioneReport C6 + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE + WHERE PF.RETE IS NULL + -- Porcata per risolvere il problema del promotore non associato --vecchia trimestrale '008636','013917', + AND C6.COD_AGENTE NOT IN ('006003','012192') --,'014504','008392','005087') -- --('008636','013917','010790','012192','014597','004038') + END + ELSE + BEGIN + -- PRENDO I CODICI FITTIZI + SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM C6MartPeriodico.RP_vContrattiPerGenerazioneReport C6 + INNER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE + END + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SELECT_FOR_ADS4WS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_SELECT_FOR_ADS4WS' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS_EMAIL.sql b/sql/storedTestbes/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS_EMAIL.sql new file mode 100644 index 00000000..7ca36840 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_ST_SELECT_FOR_ADS4WS_EMAIL.sql @@ -0,0 +1,78 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Staging].[ST_SELECT_FOR_ADS4WS] 1 +CREATE procedure [C6StagingPeriodico].[ST_SELECT_FOR_ADS4WS_EMAIL] + @Tipo AS INTEGER +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SELECT_FOR_ADS4WS_EMAIL', + GETDATE(), + 'Elaborazione trimestrale' + ) + IF @Tipo = 1 + BEGIN + -- ELIMINIAMO I CODICI FITTIZI + SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM C6MartPeriodico.vContrattiPerGenerazioneReportEmail C6 + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE + WHERE PF.RETE IS NULL + END + ELSE + BEGIN + -- PRENDO I CODICI FITTIZI + SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM C6MartPeriodico.vContrattiPerGenerazioneReportEmail C6 + INNER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE + END + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SELECT_FOR_ADS4WS_EMAIL' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_SELECT_FOR_ADS4WS_EMAIL' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_ST_SPB_CONTR_SINTESI.sql b/sql/storedTestbes/C6StagingPeriodico_ST_SPB_CONTR_SINTESI.sql new file mode 100644 index 00000000..f08b2e2b --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_ST_SPB_CONTR_SINTESI.sql @@ -0,0 +1,252 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[ST_SPB_CONTR_SINTESI] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM [C6StagingPeriodico].[WSEICS] AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6Mart.CONTRATTOSEI) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] = c6martperiodico.gettrimestre2(getdate(),0) + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + FROM [C6StagingPeriodico].[WSEICS] AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6Mart.CONTRATTOSEI) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = c6martperiodico.gettrimestre2(getdate(),0) + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM [C6StagingPeriodico].[WSEICS] AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6Mart.CONTRATTOSEI) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = c6martperiodico.gettrimestre2(getdate(),0) + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_asu2.sql b/sql/storedTestbes/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_asu2.sql new file mode 100644 index 00000000..f418d3db --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_asu2.sql @@ -0,0 +1,114 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[ST_SPB_CONTR_SINTESI_asu2] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + FROM [C6StagingPeriodico].[WSEICS] AS CS INNER JOIN + [C6Mart].[CONTRATTOSEI] AS C6 ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] = c6martperiodico.gettrimestre2(getdate(),0) +--V Bisogna inserire una funzione che calcoli il trimestre precedente getPreviousTrim() + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > + --select c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + '20110331' + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_SPB_CONTR_SINTESI' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_pre_selective.sql b/sql/storedTestbes/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_pre_selective.sql new file mode 100644 index 00000000..fe478003 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_ST_SPB_CONTR_SINTESI_pre_selective.sql @@ -0,0 +1,252 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--select count(*) from c6stagingperiodico.spb_contr_sintesi +CREATE procedure [C6StagingPeriodico].[ST_SPB_CONTR_SINTESI_pre_selective] +AS +BEGIN + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SPB_CONTR_SINTESI_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) + TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI] + INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI] + ([POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[RETE] + ,[CODFIS] + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,[RUBR] + ,[CUSTGAR] + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,[PCTKEY] + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,[ISIN]) + SELECT + NULL AS [POSITIONID] + ,[DTTRIM] + ,[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CODMAN ='' THEN CODFIS + ELSE 'FF@'+CODMAN + END AS CODFIS + ,[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,[TIPPROD] + ,[CODINT] + ,[CODPROD] + ,[SUBPROD] + ,[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM [C6StagingPeriodico].[WSEICS] AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6Mart.CONTRATTOSEI) C6 +--INNER JOIN +-- [C6Mart].[CONTRATTOSEI] AS C6 +ON + CS.RETE = C6.RETE AND +-- TRINGALI 19022010 + (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale +-- LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI +-- ON cs.codman = ltrim(rtrim(MANDATI.CODMAND)) + WHERE [DTTRIM] = c6martperiodico.gettrimestre2(getdate(),0) + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS LI RECUPERO DALLA WSEIUL + AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7') +AND C6.UltimoAperto = 1 +--trimestrale Aprile 2013 +--and c6.rete+c6.COD_FIScale+c6.codicecontratto <> 'FRMNCRD39R25F943Z007608CO205' +UNION ALL +SELECT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + CASE WHEN UL.ISIN IS NULL OR UL.SUBPROD = 'CL05' THEN 'ASU1' ELSE 'ASU2' + end as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,UL.[CTV] + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,UL.[CTV] AS VALORE --V Anomalia trimestrale ottobre 2011, il valore diventa il ctv nominale e deve essere uguale al ctv per il calcolo corretto del var + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,case when(UL.ISIN is null) then 'NA' else UL.ISIN end as ISIN + FROM [C6StagingPeriodico].[WSEICS] AS CS +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6Mart.CONTRATTOSEI) C6 +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = c6martperiodico.gettrimestre2(getdate(),0) + AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND CS.SUBPROD IN ('KE','KS','KW','K1') and ul.subprod not in('VAR5','VAR10','VAR15','CL05','LIQUI') +AND C6.UltimoAperto = 1 + UNION ALL + --INSERIRE VAR5..15 + --V Modifica fatta in quanto sulle tabelle di replica i prodotti erano rappresentati con i sottostanti, effettuo il raggruppamento per + -- codconf butto il MAF che non è significativo e sommo il ctv. I var5, var10, e var15 sono gestiti per linea quindi devono avere una riga + -- unica e devono essere classificati come ASU1 + SELECT + DISTINCT + NULL AS [POSITIONID] + ,CS.[DTTRIM] + ,CS.[DTRIFE] + ,[CS].[RETE] + ,CASE + WHEN CS.CODMAN ='' THEN CS.CODFIS + ELSE 'FF@'+CS.CODMAN + END AS CODFIS + ,CS.[CODCONF] + ,[NUMPOL] + ,[CONTO] + ,case when (tipprod = 'CC' and rubr =' ') then '000' + else RUBR end as RUBR + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else CUSTGAR end as custgar + ,--CASE WHEN UL.SUBPROD IN ('VAR10','VAR5','VAR15') THEN 'ASU1' ELSE 'ASU2' + 'ASU1' as TIPPROD + ,UL.[CODINT] + ,[CODPROD] + ,UL.[SUBPROD] + ,'NA' as MAF--UL.[MAF] + ,[CODABI] + ,case when (tipprod = 'CC' and rubr =' ') then '0' + else PCTKEY end as pctkey + ,[DESTIT] + ,SUM(UL.[CTV]) OVER (partition by UL.codConf) as CTV + ,[PARTVIA] + ,[PARTVIAAL] + ,[DTSOTTOS] + ,[RENDINIZ] + ,[RENDANNO] + ,[VALORE] + ,UL.[SUBSET] + ,[CVN] + ,[SALRISC] + ,'NA' as ISIN + FROM [C6StagingPeriodico].[WSEICS] AS CS +-- JOIN [C6Mart].[CONTRATTOSEI] AS C6 +join +(SELECT + Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto + FROM + C6Mart.CONTRATTOSEI) C6 + ON CS.RETE = C6.RETE + AND (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale + JOIN C6STAGINGPERIODICO.WSEIUL AS UL + ON CS.CODCONF = UL.CODCONF + AND CS.DTTRIM = UL.DTTRIM + WHERE CS.[DTTRIM] = c6martperiodico.gettrimestre2(getdate(),0) + --AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0) + -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + -- AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0) + --V I KE, KS,KW LI RECUPERO DALLA WSEIUL + AND ( + CS.SUBPROD IN ('K1','KE','KS','KW') and ul.subprod in('VAR5','VAR10','VAR15','CL05','LIQUI') + OR + (CS.SUBPROD IN ('K2','K3','K4','K5','K6','K7')) + --OR + --(CS.SUBPROD IN ('K1') AND UL.SUBPROD IN ('CL05')) + ) +AND C6.UltimoAperto = 1 + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SPB_CONTR_SINTESI_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_SPB_CONTR_SINTESI_pre_selective' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_ST_SVUOTASIMPB.sql b/sql/storedTestbes/C6StagingPeriodico_ST_SVUOTASIMPB.sql new file mode 100644 index 00000000..02e654d8 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_ST_SVUOTASIMPB.sql @@ -0,0 +1,17 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[ST_SVUOTASIMPB] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + TRUNCATE TABLE C6StagingPeriodico.WSEIAN + TRUNCATE TABLE C6StagingPeriodico.WSEICS + TRUNCATE TABLE C6StagingPeriodico.WSEILG + TRUNCATE TABLE C6StagingPeriodico.WSEIPV + TRUNCATE TABLE C6StagingPeriodico.WSEIUL +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_ST_SVUOTASIMPB_pre_selective.sql b/sql/storedTestbes/C6StagingPeriodico_ST_SVUOTASIMPB_pre_selective.sql new file mode 100644 index 00000000..eac55881 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_ST_SVUOTASIMPB_pre_selective.sql @@ -0,0 +1,17 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[ST_SVUOTASIMPB_pre_selective] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + TRUNCATE TABLE C6StagingPeriodico.WSEIAN + TRUNCATE TABLE C6StagingPeriodico.WSEICS + TRUNCATE TABLE C6StagingPeriodico.WSEILG + TRUNCATE TABLE C6StagingPeriodico.WSEIPV + TRUNCATE TABLE C6StagingPeriodico.WSEIUL +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_UPDATE_CATITEMREF.sql b/sql/storedTestbes/C6StagingPeriodico_UPDATE_CATITEMREF.sql new file mode 100644 index 00000000..872e54da --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_UPDATE_CATITEMREF.sql @@ -0,0 +1,13 @@ +CREATE procedure [C6StagingPeriodico].[UPDATE_CATITEMREF] as +begin + update c6stagingperiodico.catitemref + set + tip_Emittente = B.tipoemittente, + tip_Tasso = B.tipoTasso + from + c6stagingperiodico.catitemref A + join + c6stagingperiodico.decodEmittente B + ON + A.COD_ISIN = B.ISIN +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_UPDATE_CATITEMREF_pre_selective.sql b/sql/storedTestbes/C6StagingPeriodico_UPDATE_CATITEMREF_pre_selective.sql new file mode 100644 index 00000000..dc4b2573 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_UPDATE_CATITEMREF_pre_selective.sql @@ -0,0 +1,13 @@ +CREATE procedure [C6StagingPeriodico].[UPDATE_CATITEMREF_pre_selective] as +begin + update c6stagingperiodico.catitemref + set + tip_Emittente = B.tipoemittente, + tip_Tasso = B.tipoTasso + from + c6stagingperiodico.catitemref A + join + c6stagingperiodico.decodEmittente B + ON + A.COD_ISIN = B.ISIN +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_UPDATE_COMPLESSITA.sql b/sql/storedTestbes/C6StagingPeriodico_UPDATE_COMPLESSITA.sql new file mode 100644 index 00000000..d3545143 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_UPDATE_COMPLESSITA.sql @@ -0,0 +1,162 @@ +CREATE procedure [C6StagingPeriodico].[UPDATE_COMPLESSITA] +as +begin +/********************FOGLIO 1 UNIT LINKED************************************************************/ +--begin transaction +UPDATE [C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_INTERNO IN +( +'18', +'19', +'29', +'35', +'37', +'38', +'48', +'49', +'60', +'BT', +'ES', +'FR', +'FS', +'FT', +'FU', +--'GP', +'KP', +'OA', +'PO', +'PY', +'SB', +--'PR', +--'PX', +'SE', +'SF', +--'SI', +'ST', +'SU', +'K1', +'K2', +'K3', +'K4', +'K5', +'K6', +'K7') +/**************************FOGLIO 1 UNIT LINKED*******************INSERITA LA CONDIZIONE PER I SOTTOPRODOTTI DA ESCLUDERE ********************************/ +UPDATE [C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=2 +WHERE +COD_INTERNO IN +( +'S1', +'S2', +'S3', +'S4', +'S5', +'S6', +'S7', +'S8' +) +and cod_sottoprodotto not in ('20001','20002','20005','20008') +update c6stagingperiodico.catitemref +--UPDATE c6martperiodico.patrimonio_bf +set complex = 1 +where cod_interno in ('S1','S2','S4','S5','S8') +and cod_sottoprodotto in ('20001','20002','20005','20008') +/******************************FOGLIO 1 UNIT LINKED**********************************************************/ +UPDATE [C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_INTERNO IN +( +'A7', +'A8') +/**************************************FOGLIO 2 FONDI*************************************************/ +UPDATE [C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_SOTTOPRODOTTO IN +( + '7149S' +,'7145S' +,'9968S' +) +/************************************FOGLIO 2 FONDI****************************************************/ +UPDATE [C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_SOTTOPRODOTTO = '7146S' +/***********************************FOGLIO 3 CERTIFICATES************GIOVANNI HA DETTO CHE VANNO UPDATATI A 1 *****************************************/ +UPDATE [C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_ISIN IN +( + 'DE000A0LJ552' +,'DE000A0MG8R0' +,'IT0004189368' +,'GB00B1WVWP64' +,'GB00B1Y3ZZ16' +,'XS0354254111' +,'GB00B2QM7Y61' +,'XS0235278982' +,'XS0179585186' +) +AND +COD_INTERNO IN +( + '00101740' +,'09139480' +,'09161420' +,'00830060' +,'09205930' +,'00168130' +,'08525040' +,'08556110' +,'09201230' +) +--update c6martperiodico.patrimonio_bf +--set complex = 1 +-- +--where cod_prodotto in( +-- +-- +-- +--select cod_prodotto +--from +--c6martperiodico.anag_prodotti b +--where cod_isin in ( +-- 'DE000A0LJ552' +--,'DE000A0MG8R0' +--,'IT0004189368' +--,'GB00B1WVWP64' +--,'GB00B1Y3ZZ16' +--,'XS0354254111' +--,'GB00B2QM7Y61' +--,'XS0235278982' +--,'XS0179585186' +--) +--AND +--COD_INTERNO IN +--( +-- '00101740' +--,'09139480' +--,'09161420' +--,'00830060' +--,'09205930' +--,'00168130' +--,'08525040' +--,'08556110' +--,'09201230' +--)) +-- +--commit +end +--exec c6martperiodico.dm_complessita \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_UPDATE_COMPLESSITA_pre_selective.sql b/sql/storedTestbes/C6StagingPeriodico_UPDATE_COMPLESSITA_pre_selective.sql new file mode 100644 index 00000000..0d40b0b0 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_UPDATE_COMPLESSITA_pre_selective.sql @@ -0,0 +1,162 @@ +CREATE procedure [C6StagingPeriodico].[UPDATE_COMPLESSITA_pre_selective] +as +begin +/********************FOGLIO 1 UNIT LINKED************************************************************/ +--begin transaction +UPDATE [C6StampeCentralizzate].[C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_INTERNO IN +( +'18', +'19', +'29', +'35', +'37', +'38', +'48', +'49', +'60', +'BT', +'ES', +'FR', +'FS', +'FT', +'FU', +--'GP', +'KP', +'OA', +'PO', +'PY', +'SB', +--'PR', +--'PX', +'SE', +'SF', +--'SI', +'ST', +'SU', +'K1', +'K2', +'K3', +'K4', +'K5', +'K6', +'K7') +/**************************FOGLIO 1 UNIT LINKED*******************INSERITA LA CONDIZIONE PER I SOTTOPRODOTTI DA ESCLUDERE ********************************/ +UPDATE [C6StampeCentralizzate].[C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=2 +WHERE +COD_INTERNO IN +( +'S1', +'S2', +'S3', +'S4', +'S5', +'S6', +'S7', +'S8' +) +and cod_sottoprodotto not in ('20001','20002','20005','20008') +update c6stagingperiodico.catitemref +--UPDATE c6martperiodico.patrimonio_bf +set complex = 1 +where cod_interno in ('S1','S2','S4','S5','S8') +and cod_sottoprodotto in ('20001','20002','20005','20008') +/******************************FOGLIO 1 UNIT LINKED**********************************************************/ +UPDATE [C6StampeCentralizzate].[C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_INTERNO IN +( +'A7', +'A8') +/**************************************FOGLIO 2 FONDI*************************************************/ +UPDATE [C6StampeCentralizzate].[C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_SOTTOPRODOTTO IN +( + '7149S' +,'7145S' +,'9968S' +) +/************************************FOGLIO 2 FONDI****************************************************/ +UPDATE [C6StampeCentralizzate].[C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_SOTTOPRODOTTO = '7146S' +/***********************************FOGLIO 3 CERTIFICATES************GIOVANNI HA DETTO CHE VANNO UPDATATI A 1 *****************************************/ +UPDATE [C6StampeCentralizzate].[C6StagingPeriodico].[CATITEMREF] +--UPDATE c6martperiodico.patrimonio_bf +SET COMPLEX=1 +WHERE +COD_ISIN IN +( + 'DE000A0LJ552' +,'DE000A0MG8R0' +,'IT0004189368' +,'GB00B1WVWP64' +,'GB00B1Y3ZZ16' +,'XS0354254111' +,'GB00B2QM7Y61' +,'XS0235278982' +,'XS0179585186' +) +AND +COD_INTERNO IN +( + '00101740' +,'09139480' +,'09161420' +,'00830060' +,'09205930' +,'00168130' +,'08525040' +,'08556110' +,'09201230' +) +--update c6martperiodico.patrimonio_bf +--set complex = 1 +-- +--where cod_prodotto in( +-- +-- +-- +--select cod_prodotto +--from +--c6martperiodico.anag_prodotti b +--where cod_isin in ( +-- 'DE000A0LJ552' +--,'DE000A0MG8R0' +--,'IT0004189368' +--,'GB00B1WVWP64' +--,'GB00B1Y3ZZ16' +--,'XS0354254111' +--,'GB00B2QM7Y61' +--,'XS0235278982' +--,'XS0179585186' +--) +--AND +--COD_INTERNO IN +--( +-- '00101740' +--,'09139480' +--,'09161420' +--,'00830060' +--,'09205930' +--,'00168130' +--,'08525040' +--,'08556110' +--,'09201230' +--)) +-- +--commit +end +--exec c6martperiodico.dm_complessita \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_UTIL_popolaPromotoriDaGiornaliero.sql b/sql/storedTestbes/C6StagingPeriodico_UTIL_popolaPromotoriDaGiornaliero.sql new file mode 100644 index 00000000..51a56b70 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_UTIL_popolaPromotoriDaGiornaliero.sql @@ -0,0 +1,9 @@ +CREATE procedure [C6StagingPeriodico].[UTIL_popolaPromotoriDaGiornaliero] +as +begin +--V +--Recupera le info dallo scarico del giornaliero, bisognerebbe rifare il pacchetto..... +truncate table C6StagingPeriodico.ADS4WS_PROMOTORI +insert into C6StagingPeriodico.ADS4WS_PROMOTORI +select * from C6Staging.ADS4WS_PROMOTORI +end \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_agg_codana_tabellone.sql b/sql/storedTestbes/C6StagingPeriodico_agg_codana_tabellone.sql new file mode 100644 index 00000000..143f136e --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_agg_codana_tabellone.sql @@ -0,0 +1,95 @@ +--select * from c6martperiodico.gestione_pdf_ftp where ID_fk_zip=3302 +--select * from c6martperiodico.gestione_zip_ftp where id=3302 +CREATE procedure [C6StagingPeriodico].[agg_codana_tabellone] + as + begin + if( (select count(*) from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER]) > 0) + begin + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set codana=tab.CODANA,flag6kc=tab.FLAG6KC,flgorig=tab.FLGORIG,flgimm=tab.FLGIMM + from [C6StagingPeriodico].[WANVIPS] tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on tab.rete+tab.CODFIS= a.chiave_acn + where a.chiave_acn not like '%@%' and a.chiave_acn in (select rete+COD_FISCALE from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER]) + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set codana=tab.CODANA,flag6kc=tab.FLAG6KC,flgorig=tab.FLGORIG,flgimm=tab.FLGIMM + from [C6StagingPeriodico].[WANVIPS] tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on tab.rete+'FF@'+tab.CODMAN= a.chiave_acn + where tab.codman <> '' and a.chiave_acn in (select rete+COD_FISCALE from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER]) +--UPDATE [C6StampeCentralizzate].[C6MartPeriodico].tabellone +-- set zip=zip.nomefile+'_LOTTO_'+rtrim(cast(fkidelaborazionezip as char))+'_PACK_'+rtrim(cast(id as char))+'.7z' +--from c6martperiodico.gestione_pdf_ftp pdf inner join c6martperiodico.gestione_zip_ftp zip on id_fk_zip=id +--inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a +--on pdf.rete+pdf.codicefiscale=a.chiave_acn +--where a.chiave_acn in (select rete+COD_FISCALE from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER]) +--if ((select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc) is NULL) +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null +--end +--else +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=(select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc)+1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null and lotto is null +--end +end +else +begin +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set codana=tab.CODANA,flag6kc=tab.FLAG6KC,flgorig=tab.FLGORIG,flgimm=tab.FLGIMM + from [C6StagingPeriodico].[WANVIPS] tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on tab.rete+tab.CODFIS= a.chiave_acn + where a.chiave_acn not like '%@%' + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set codana=tab.CODANA,flag6kc=tab.FLAG6KC,flgorig=tab.FLGORIG,flgimm=tab.FLGIMM + from [C6StagingPeriodico].[WANVIPS] tab + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on tab.rete+'FF@'+tab.CODMAN= a.chiave_acn + where tab.codman <> '' +--UPDATE [C6StampeCentralizzate].[C6MartPeriodico].tabellone +-- set zip=zip.nomefile+'_LOTTO_'+rtrim(cast(fkidelaborazionezip as char))+'_PACK_'+rtrim(cast(id as char))+'.7z' +--from c6martperiodico.gestione_pdf_ftp pdf inner join c6martperiodico.gestione_zip_ftp zip on id_fk_zip=id +--inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a +--on pdf.rete+pdf.codicefiscale=a.chiave_acn +--select * from [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] where zip is not null +-- +--if ((select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc) is NULL) +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null +--end +--else +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=(select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc)+1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null and lotto is null +--end +--drop table if exists #test +--create table #test ( +--datainvio varchar(8), +--id int identity +--) +----select distinct SUBSTRING ( convert(varchar, DataInvio, 112) ,1 , 11) as DataInvio from c6martperiodico.gestione_pdf_ftp where DataInvio is not null order by DataInvio +--insert into #test +--select distinct SUBSTRING ( convert(varchar, DataInvio, 112) ,1 , 11) as DataInvio from c6martperiodico.gestione_pdf_ftp where DataInvio is not null order by DataInvio +----select * from #test +--update C6MartPeriodico.tabellone +--set lotto=t.id +--from C6MartPeriodico.tabellone a left join #test t on a.zip like '%'+t.datainvio+'%' +--select * from C6MartPeriodico.tabellone where lotto='3' +--select a.rete,a.chiave_acn,t.id from C6MartPeriodico.tabellone a left join #test t on a.zip like '%'+t.datainvio+'%' +--select distinct Rete,CodiceFiscale from c6martperiodico.gestione_pdf_ftp where DataInvio is not null +end +truncate table C6MartPeriodico.APPREND_DTSX_Tabellone +insert into C6MartPeriodico.APPREND_DTSX_Tabellone +select * from C6MartPeriodico.vTabellone +end \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_agg_lotto_tabellone.sql b/sql/storedTestbes/C6StagingPeriodico_agg_lotto_tabellone.sql new file mode 100644 index 00000000..da3c780e --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_agg_lotto_tabellone.sql @@ -0,0 +1,77 @@ +--select * from c6martperiodico.gestione_pdf_ftp where ID_fk_zip=3302 +--select * from c6martperiodico.gestione_zip_ftp where id=3302 +CREATE procedure [C6StagingPeriodico].[agg_lotto_tabellone] + as + begin + if( (select count(*) from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER]) > 0) + begin +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].tabellone + set zip=zip.nomefile+'_LOTTO_'+rtrim(cast(fkidelaborazionezip as char))+'_PACK_'+rtrim(cast(id as char))+'.7z' +from c6martperiodico.gestione_pdf_ftp pdf inner join c6martperiodico.gestione_zip_ftp zip on id_fk_zip=id +inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a +on pdf.rete+pdf.codicefiscale=a.chiave_acn +where a.chiave_acn in (select rete+COD_FISCALE from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER]) +--if ((select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc) is NULL) +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null +--end +--else +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=(select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc)+1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null and lotto is null +--end +end +else +begin +UPDATE [C6StampeCentralizzate].[C6MartPeriodico].tabellone + set zip=zip.nomefile+'_LOTTO_'+rtrim(cast(fkidelaborazionezip as char))+'_PACK_'+rtrim(cast(id as char))+'.7z' +from c6martperiodico.gestione_pdf_ftp pdf inner join c6martperiodico.gestione_zip_ftp zip on id_fk_zip=id +inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a +on pdf.rete+pdf.codicefiscale=a.chiave_acn +--select * from [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] where zip is not null +-- +--if ((select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc) is NULL) +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null +--end +--else +--begin +--update [C6StampeCentralizzate].[C6MartPeriodico].tabellone +--set lotto=(select top 1 lotto from C6MartPeriodico.tabellone order by lotto desc)+1 +--from [C6StampeCentralizzate].[C6MartPeriodico].tabellone t +--where t.zip is not null and lotto is null +--end +----select distinct SUBSTRING ( convert(varchar, DataInvio, 112) ,1 , 11) as DataInvio from c6martperiodico.gestione_pdf_ftp where DataInvio is not null order by DataInvio +--insert into #test +--select distinct SUBSTRING ( convert(varchar, DataInvio, 112) ,1 , 11) as DataInvio from c6martperiodico.gestione_pdf_ftp where DataInvio is not null order by DataInvio +----select * from #test +--update C6MartPeriodico.tabellone +--set lotto=t.id +--from C6MartPeriodico.tabellone a left join #test t on a.zip like '%'+t.datainvio+'%' +----select * from C6MartPeriodico.tabellone where lotto='3' +----select a.rete,a.chiave_acn,t.id from C6MartPeriodico.tabellone a left join #test t on a.zip like '%'+t.datainvio+'%' +----select distinct Rete,CodiceFiscale from c6martperiodico.gestione_pdf_ftp where DataInvio is not null +end +drop table if exists #test +create table #test ( +datainvio varchar(8), +id int identity +) +insert into #test +select distinct SUBSTRING ( convert(varchar, DataInvio, 112) ,1 , 11) as DataInvio from c6martperiodico.gestione_pdf_ftp where DataInvio is not null order by DataInvio +--select * from #test +update C6MartPeriodico.tabellone +set lotto=t.id +from C6MartPeriodico.tabellone a left join #test t on a.zip like '%'+t.datainvio+'%' +end +truncate table C6MartPeriodico.APPREND_DTSX_Tabellone +insert into C6MartPeriodico.APPREND_DTSX_Tabellone +select * from C6MartPeriodico.vTabellone \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_agg_wh_tabellone.sql b/sql/storedTestbes/C6StagingPeriodico_agg_wh_tabellone.sql new file mode 100644 index 00000000..ae313596 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_agg_wh_tabellone.sql @@ -0,0 +1,255 @@ +CREATE procedure [C6StagingPeriodico].[agg_wh_tabellone] + as + begin + drop table if exists #appo + drop table if exists #appo1 + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, +--V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL +-- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 + THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) + *100 ,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc + -- 16/7/2018 + into #appo + -- fine 16/7/2018 + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' then 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' then 'Patrimonio IW Private Inv.' END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.rete+ PATRBF.cod_fiscale in (select chiave_acn from c6martperiodico.tabellone) + and PATRBF.CTV > 0 + and + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE WHEN PATRBF.RETE='F' THEN 'Patrimonio Fideuram' WHEN PATRBF.RETE='S' then 'Patrimonio Sanpaolo Invest' WHEN PATRBF.RETE='W' then 'Patrimonio IW Private Inv.' END + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI,C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and terzi.rete+ terzi.cod_fiscale in (select chiave_acn from c6martperiodico.tabellone) + and TERZI.CTV > 0 + and + ( + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + AND + (case when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE= 'F' then 'Patrimonio Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' and PATRBF.RETE= 'W' then 'Patrimonio IW Private Inv.' + else 'Patrimonio altri Istituti' end)= PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + UNION ALL + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( + case WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END ) + AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX( CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc + FROM + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from + c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and rete+cod_fiscale in (select chiave_acn from c6martperiodico.tabellone) + and PATRBF.CTV > 0 + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE + UNION + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and rete+ cod_fiscale in (select chiave_acn from c6martperiodico.tabellone) + and TERZI.CTV > 0 + GROUP BY + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + LEFT OUTER JOIN + c6martperiodico.MIFID AS M + ON + PATRBF.COD_FISCALE=M.COD_FISCALE + AND PATRBF.RETE=M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN + c6martperiodico.CODIFICA_CREDITRISK CK + ON + M.riskclass=CK.PROFILO + LEFT OUTER JOIN + c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON + PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE + AND PATRBF.RETE=RISK_AGG.RETE + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO' + ) + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + --V + order by ordine + select a.RETE,a.COD_FISCALE,a.VARMAX,a.VAR,a.RISKCLASS,a.RISKCLASSMAX, case + when var <= varmax then '1' + when var > varmax then '0' + else '-1' end as Rischio_Mercato,case + --20180820 CR su Rischio Credito: quando non è stato possibile calcolare il rischio credito (quindi il valore di RISKCLASS restituito dalla PL_D2_S169RischiomercatoRischiocredito è NULL) + -- l'indicatore di adeguatezza Rischio Credito è 1 (Adeguato) + when RISKCLASS is null then '1' + --20180820 FINE CR su Rischio Credito + when RISKCLASS <= convert(int,RISKCLASSMAX) then '1' + when RISKCLASS > convert(int,RISKCLASSMAX) then '0' + else -1 + end as Rischio_Credito + into #appo1 + from #appo a where RETE+COD_FISCALE in (select chiave_acn from C6MartPeriodico.tabellone) and ordine=1 order by COD_FISCALE + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set corfa_rfa=w.Patrimoniobancafideuramctv, Stato_Cliente= case when w.scaduto=0 then 'Attivo' when w.Scaduto=1 then 'Scaduto' when w.Scaduto=2 then 'Parziale' end + from wh.Maledetti w inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a on w.rete+w.CodiceFiscale=a.chiave_acn + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set ade_rischio_credito=a.Rischio_Credito, ade_rischio_mercato= case when a.Rischio_Mercato=1 then 'S' else 'N' end + from #appo1 a inner join C6MartPeriodico.tabellone t on a.rete+a.COD_FISCALE=t.chiave_acn + --ESG Rating 29/09/2022 + update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set esg_e_perc=e.esg_e_perc,esg_s_perc=e.ESG_S_perc,esg_g_perc=e.ESG_G_perc + from C6StagingPeriodico.ESG_Metriche_Cliente_IL e inner join C6MartPeriodico.tabellone t + on e.Rete+e.CodiceFiscale=t.chiave_acn + where e.CodiceFiscale<>'' + update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set esg_e_perc=e.esg_e_perc,esg_s_perc=e.ESG_S_perc,esg_g_perc=e.ESG_G_perc + from C6StagingPeriodico.ESG_Metriche_Cliente_IL e inner join C6MartPeriodico.tabellone t + on e.Rete+e.piva+e.CodMan=t.chiave_cap + where e.CodiceFiscale='' + --fine ESG Rating + update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set var_portafoglio=ris.VAR_PERC_PTF + from C6MartPeriodico.RISCHIO_AGGREGATO ris inner join C6MartPeriodico.tabellone t + on ris.Rete+ris.COD_FISCALE=t.chiave_acn where COD_AGGREG = 'COMPLESSIVO' + truncate table C6MartPeriodico.APPREND_DTSX_Tabellone +insert into C6MartPeriodico.APPREND_DTSX_Tabellone +select * from C6MartPeriodico.vTabellone +end \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_agg_wseian2_tabellone.sql b/sql/storedTestbes/C6StagingPeriodico_agg_wseian2_tabellone.sql new file mode 100644 index 00000000..a3223e24 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_agg_wseian2_tabellone.sql @@ -0,0 +1,104 @@ +--select * from [C6StagingPeriodico].[WSEIAN2] where dttrim='20220531' order by 1 desc +--select * from [C6StagingPeriodico].[WSEIDC] +--select * from [C6StagingPeriodico].[WSEIPS] +--select * from [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] where flgprof='s' and cfm_tipo_consul='retail' +CREATE procedure [C6StagingPeriodico].[agg_wseian2_tabellone] + as + begin + declare @data_ultimo_trimestre varchar(10) + set @data_ultimo_trimestre= [C6MartPeriodico].[getTrimestre2](getdate(),0) + --print @data_ultimo_trimestre + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set dtinval=try_CONVERT(date,cast(ws.dtinval as varchar) ,23),dtfinval=try_CONVERT(date,cast(ws.dtinval+30000 as varchar) ,23), + classerc=ws.CLASSERC,codprofec=ws.COD_PROFEC,flagpg=ws.FLAGPG,clcompl=ws.CLCOMPL, + flgconc=ws.FLGCONC,flagnqp=ws.FLAGNQP,flgprlrde=ws.FLGPRLRDE,flgprof=ws.FLGPROF,codprof=ws.CODPROF, + concemi=ws.CONCEMI,freq=ws.FREQ,lliquid=ws.LLIQUID,ESG=ws.PREFSOST,Environmental=ws.FLAGAMB,Social=ws.FLAGSOC,Governance=ws.FLAGGOV, + Riserva=ws.RISERVA,INVL_PERIOD=ws.INVL_PERIOD,ADEGCONC_VALUT=ws.ADEGCONC_VALUT,Coerenza=ws.COERENZA + from [C6StagingPeriodico].[WSEIAN2] ws + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on ws.Rete+ws.CodFis=a.chiave_acn + where ws.codfis<> '' and ws.DTTRIM =@data_ultimo_trimestre + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set dtinval=try_CONVERT(date,cast(ws.dtinval as varchar) ,23),dtfinval=try_CONVERT(date,cast(ws.dtinval+30000 as varchar) ,23), + classerc=ws.CLASSERC,codprofec=ws.COD_PROFEC,flagpg=ws.FLAGPG,clcompl=ws.CLCOMPL, + flgconc=ws.FLGCONC,flagnqp=ws.FLAGNQP,flgprlrde=ws.FLGPRLRDE,flgprof=ws.FLGPROF,codprof=ws.CODPROF, + concemi=ws.CONCEMI,freq=ws.FREQ,lliquid=ws.LLIQUID,ESG=ws.PREFSOST,Environmental=ws.FLAGAMB,Social=ws.FLAGSOC,Governance=ws.FLAGGOV, + Riserva=ws.RISERVA,INVL_PERIOD=ws.INVL_PERIOD,ADEGCONC_VALUT=ws.ADEGCONC_VALUT,Coerenza=ws.COERENZA + from [C6StagingPeriodico].[WSEIAN2] ws + inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + on ws.Rete+'FF@'+ws.CODMAN=a.chiave_acn + where ws.codman <> '' and ws.DTTRIM =@data_ultimo_trimestre + --ws.DTTRIM in (select max(DTTRIM) from C6StagingPeriodico.WSEIAN2) + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + --set dtfinval=a.dtinval+30000 --aggiungo 3 anni + --from [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + --where dtinval<>0 + update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set wseidc_tipolett=d.TIPOLETT,wseidc_stato=d.STATO + from C6StagingPeriodico.WSEIDC d inner join C6MartPeriodico.tabellone t + on d.Rete+d.CodFis=t.chiave_acn + where d.codfis<> '' and d.DTTRIM =@data_ultimo_trimestre + update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set wseidc_tipolett=d.TIPOLETT,wseidc_stato=d.stato + from C6StagingPeriodico.WSEIDC d inner join C6MartPeriodico.tabellone t + on d.Rete+'FF@'+d.CODMAN=t.chiave_acn + where d.codman <> '' and d.DTTRIM =@data_ultimo_trimestre + update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set wseips_flag='S' + from C6StagingPeriodico.WSEIPS d inner join C6MartPeriodico.tabellone t + on d.Rete+d.CodFis=t.chiave_acn + where d.codfis<> '' and d.DTTRIM =@data_ultimo_trimestre + update [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set wseips_flag='S' + from C6StagingPeriodico.WSEIPS d inner join C6MartPeriodico.tabellone t + on d.Rete+'FF@'+d.CODMAN=t.chiave_acn + where d.codman <> '' and d.DTTRIM =@data_ultimo_trimestre + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + --set corfa_rfa=w.Patrimoniobancafideuramctv + --from wh.Maledetti w inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a on w.rete+w.CodiceContratto=a.rete_acn + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].tabellone + --set cfm_tipo_consul=(case + -- when ws.flgprof='S' Then 'PROFESSIONALE' + -- when ws.flgprof='N' then 'RETAIL' + -- end) + --from [C6StagingPeriodico].[WSEIAN2] ws inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + -- on ws.Rete+ws.CodFis=a.chiave_acn + -- where ws.codfis<> '' + --select * from consuni_periodico.consulenzaunica.dbo.vinfocliente + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].tabellone + --set cfm_tipo_consul=(case + -- when ws.flgprof='S' Then 'PROFESSIONALE' + -- when ws.flgprof='N' then 'RETAIL' + -- end) + --from [C6StagingPeriodico].[WSEIAN2] ws inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + -- on ws.Rete+'FF@'+ws.CODMAN=a.chiave_acn + -- where ws.codman <> '' and a.codman='' + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + --set blacklist=tab.DescrErr + --from [C6MartPeriodico].[ExcludedList] tab inner join + --[C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + -- on tab.Rete+tab.codicefiscale=a.chiave_acn + -- select * from wh.maledetti where Patrimoniocomplessivototalectv<>Patrimoniobancafideuramctv + --select c.RFA-w.Patrimoniobancafideuramctv,c.codicefiscale from wh.maledetti w + --inner join c6martperiodico.gestione_pdf_ftp c on w.rete+w.i_CodiceFiscale=c.rete+c.CodiceFiscale + --where w.Patrimoniocomplessivototalectv<>c.RFA + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + -- set wseidc_stato=wd.STATO,wseidc_tipolett=wd.TIPOLETT + -- from [C6StagingPeriodico].[WSEIDC] wd + -- inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + -- on wd.Rete+wd.CodFis=a.chiave_acn + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + -- set wseidc_stato=wd.STATO,wseidc_tipolett=wd.TIPOLETT + -- from [C6StagingPeriodico].[WSEIDC] wd + -- inner join [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] as a + -- on wd.Rete+'FF@'+wd.CODMAN=a.chiave_acn + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + -- set wseips_flag='S' + -- where chiave_acn in (select rete+codfis from [C6StagingPeriodico].[WSEIPS]) + --UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + -- set wseips_flag='S' + -- where chiave_acn in (select RETE+'FF@'+CODMAN from [C6StagingPeriodico].[WSEIPS]) + truncate table C6MartPeriodico.APPREND_DTSX_Tabellone +insert into C6MartPeriodico.APPREND_DTSX_Tabellone +select * from C6MartPeriodico.vTabellone +end \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_get_testo_sezione_adeg_PG_Compl_Conc_CDTTRIM.sql b/sql/storedTestbes/C6StagingPeriodico_get_testo_sezione_adeg_PG_Compl_Conc_CDTTRIM.sql new file mode 100644 index 00000000..e991349b --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_get_testo_sezione_adeg_PG_Compl_Conc_CDTTRIM.sql @@ -0,0 +1,74 @@ +--exec [C6StagingPeriodico].[get_testo_sezione_adeg_PG_Compl_Conc_CDTTRIM] 'F', 'MGNGPP55B25G224T' +CREATE procedure [C6StagingPeriodico].[get_testo_sezione_adeg_PG_Compl_Conc_CDTTRIM] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @d nvarchar(8) +DECLARE @isPG integer +DECLARE @isPG_NQ char(1) +DECLARE @dtrim nvarchar(8) +set @dtrim = c6martperiodico.getTrimestre(getdate(), 0) +if @CodiceFiscale not like 'FF@%' + BEGIN + select @isPG = FLAGPG from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + if @isPG = 0 + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + END + ELSE /* isPG = 1 */ + BEGIN + select @isPG_NQ = + CASE + WHEN FLAGNQP IS NULL or FLAGNQP ='' THEN 'N' + ELSE FLAGNQP + END + from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + if @isPG_NQ = 'S' + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + END + ELSE /* isPG_NQ = N */ + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and adeg.[FLAGNQP]=@isPG_NQ + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + --and an.[FLAGNQP]='N' and coalesce(adeg.[FLGPRLRDE],'yn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + END + END + END +ELSE /* Mandatario - Fiduciaria */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + /* case PG = 0 forced, dont' considerate flags FLAGPG, FLAGNQP, FLGPRLRDE */ + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@dtrim + END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_immobiliare_tabellone.sql b/sql/storedTestbes/C6StagingPeriodico_immobiliare_tabellone.sql new file mode 100644 index 00000000..377a32d4 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_immobiliare_tabellone.sql @@ -0,0 +1,14 @@ +--select * from [C6StagingPeriodico].[WSEIAN2] where cod_profec is null +--select * from [C6StagingPeriodico].[WSEIDC] +--select * from [C6StagingPeriodico].[WSEIPS] +--select * from [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] where flgprof='s' and cfm_tipo_consul='retail' +CREATE procedure [C6StagingPeriodico].[immobiliare_tabellone] + as + begin + UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] + set flgpe_perimetro_semestr=i.FLAG_IN_PERIMETRO,solo_rend_imm=isnull(i.RENDICONTO_IMM,'N'),anche_rend_sei=i.RENDICONTO_SEI + from [C6StampeCentralizzate].[C6MartPeriodico].[tabellone] t inner join [C6MartPeriodicoImmobiliare].[W6IMM] i on i.RETE+i.CODFIS=t.chiave_acn + truncate table C6MartPeriodico.APPREND_DTSX_Tabellone +insert into C6MartPeriodico.APPREND_DTSX_Tabellone +select * from C6MartPeriodico.vTabellone +end \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_sp_quadratura.sql b/sql/storedTestbes/C6StagingPeriodico_sp_quadratura.sql new file mode 100644 index 00000000..3151dd21 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_sp_quadratura.sql @@ -0,0 +1,32 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [C6StagingPeriodico].[sp_quadratura] + -- Add the parameters for the stored procedure here +AS +BEGIN +DROP TABLE if exists #excel +DROP TABLE if exists #txt +drop table if exists #differenze +drop table if exists [C6MartPeriodico].[anag_prelievi_excel_txt_differenze] +SELECT substring(cf,17,1)+ltrim(rtrim(substring(cf,1,16)))+substring(cf,18,4)+substring(cf,23,2)+substring(cf,26,2) as cf +into #txt + FROM [C6MartPeriodico].[anag_prelievi_txt] + select rete+ltrim(rtrim(codfis))+dtavmon as cf2 +into #excel +from [C6MartPeriodico].[anag_prelievi_excel] +select * +into #differenze +from( +select cf from #txt +except +select cf2 from #excel +) t +select cf as CodiceFiscale +into [C6MartPeriodico].[anag_prelievi_excel_txt_differenze] +from #differenze +where cf not like '%00000000000%' +select * from [C6MartPeriodico].[anag_prelievi_excel_txt_differenze] +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg.sql b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg.sql new file mode 100644 index 00000000..a5f69059 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg.sql @@ -0,0 +1,66 @@ +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg] 'f', 'BLDMRA59E22G999d', '2015-06-01' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg] + @Rete nvarchar(1), + @CodiceFiscale varchar(16), + @DTTRIM datetime = null +AS +BEGIN +DECLARE @d nvarchar(8) +set @d = cast(year(@DTTRIM) as nvarchar(4)) + RIGHT('0'+cast(month(@DTTRIM) as nvarchar(2)), 2) + + RIGHT('0'+cast(day(@DTTRIM) as nvarchar(2)),2) +print @d +if @DTTRIM is null +begin +if @CodiceFiscale not like 'FF@%' BEGIN +select @d = max(DTTRIM) from +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +and DTTRIM=@d +END +ELSE +BEGIN +DECLARE @CF as nvarchar(max) +set @CF = replace(@CodiceFiscale, 'FF@', '') +select @d = max(DTTRIM) from +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CF +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CF +and DTTRIM=@d +END +end +else +begin +if @CodiceFiscale not like 'FF@%' BEGIN +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +and DTTRIM=@DTTRIM +END +ELSE +BEGIN +DECLARE @CFF as nvarchar(max) +set @CFF = replace(@CodiceFiscale, 'FF@', '') +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CFF +and DTTRIM=@DTTRIM +END +end +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM.sql b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM.sql new file mode 100644 index 00000000..dd40d706 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM.sql @@ -0,0 +1,74 @@ +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM] 'F', 'MGNGPP55B25G224T' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @d nvarchar(8) +DECLARE @isPG integer +DECLARE @isPG_NQ char(1) +DECLARE @dtrim nvarchar(8) +set @dtrim = c6martperiodico.getTrimestre(getdate(), 0) +if @CodiceFiscale not like 'FF@%' + BEGIN + select @isPG = FLAGPG from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + if @isPG = 0 + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + END + ELSE /* isPG = 1 */ + BEGIN + select @isPG_NQ = + CASE + WHEN FLAGNQP IS NULL or FLAGNQP ='' THEN 'N' + ELSE FLAGNQP + END + from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + if @isPG_NQ = 'S' + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + END + ELSE /* isPG_NQ = N */ + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and adeg.[FLAGNQP]=@isPG_NQ + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + --and an.[FLAGNQP]='N' and coalesce(adeg.[FLGPRLRDE],'yn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + END + END + END +ELSE /* Mandatario - Fiduciaria */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + /* case PG = 0 forced, dont' considerate flags FLAGPG, FLAGNQP, FLGPRLRDE */ + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@dtrim + END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN.sql b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN.sql new file mode 100644 index 00000000..5075a3fc --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN.sql @@ -0,0 +1,74 @@ +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN] 'F', 'MGNGPP55B25G224T' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_PROFESS_CURR_DTTRIM_EN] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @d nvarchar(8) +DECLARE @isPG integer +DECLARE @isPG_NQ char(1) +DECLARE @dtrim nvarchar(8) +set @dtrim = c6martperiodico.getPreviousTrimestre(getdate(), 0) --c6martperiodico.getTrimestre(getdate(), 0) +if @CodiceFiscale not like 'FF@%' + BEGIN + select @isPG = FLAGPG from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + if @isPG = 0 + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + END + ELSE /* isPG = 1 */ + BEGIN + select @isPG_NQ = + CASE + WHEN FLAGNQP IS NULL or FLAGNQP ='' THEN 'N' + ELSE FLAGNQP + END + from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + if @isPG_NQ = 'S' + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + END + ELSE /* isPG_NQ = N */ + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and adeg.[FLAGNQP]=@isPG_NQ + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@dtrim + --and an.[FLAGNQP]='N' and coalesce(adeg.[FLGPRLRDE],'yn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + END + END + END +ELSE /* Mandatario - Fiduciaria */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + /* case PG = 0 forced, dont' considerate flags FLAGPG, FLAGNQP, FLGPRLRDE */ + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@dtrim + END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.obs.sql b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.obs.sql new file mode 100644 index 00000000..9cd88860 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.obs.sql @@ -0,0 +1,46 @@ +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '97080600154' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'SGHDMN66M07G920Z' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '00118220524' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', 'ZZLLNI57B06D245V' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'LTTGRG68T04I324Z' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF.obs] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @d nvarchar(8) +if @CodiceFiscale not like 'FF@%' + BEGIN + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + and an.[FLAGPG]=0 + or ( + an.[FLAGPG]=1 and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + ) + END +ELSE /* Mandatario */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = @CF + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF + and DTTRIM=@d + and an.[FLAGPG]=0 + or ( + an.[FLAGPG]=1 and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + ) + END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.rigen.20170620.sql b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.rigen.20170620.sql new file mode 100644 index 00000000..0e0bb7c2 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.rigen.20170620.sql @@ -0,0 +1,100 @@ +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '97080600154' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'SGHDMN66M07G920Z' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '00118220524' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', 'ZZLLNI57B06D245V' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '96711600013' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '01689841003' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF.rigen.20170620] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @d nvarchar(8) +DECLARE @isPG integer +DECLARE @isPG_NQ char(1) +if @CodiceFiscale not like 'FF@%' + BEGIN + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + select @isPG = FLAGPG from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + if @isPG = 0 + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + END + ELSE /* isPG = 1 */ + BEGIN + select @isPG_NQ = + CASE + WHEN FLAGNQP IS NULL or FLAGNQP ='' THEN 'N' + ELSE FLAGNQP + END + from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + if @isPG_NQ = 'S' + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + END + ELSE /* isPG_NQ = N */ + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and adeg.[FLAGNQP]=@isPG_NQ + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + --and an.[FLAGNQP]='N' and coalesce(adeg.[FLGPRLRDE],'yn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + END + END + END +ELSE /* Mandatario */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = @CF + select @isPG = FLAGPG from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@d + if @isPG = 0 + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@d + END + ELSE + /* isPG_NQ = N MANCA !!! */ + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@d + and an.[FLAGNQP]='S' and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + or ( + an.[FLAGNQP]='N' and coalesce(adeg.[FLGPRLRDE],'yn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + ) + END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.sql b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.sql new file mode 100644 index 00000000..8ec3b698 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF.sql @@ -0,0 +1,85 @@ +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '97080600154' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'SGHDMN66M07G920Z' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '00118220524' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', 'ZZLLNI57B06D245V' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '96711600013' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '01689841003' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', 'FF@1214' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', 'FF@10005' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '97080600154' +--[C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', '00489340455' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @d nvarchar(8) +DECLARE @isPG integer +DECLARE @isPG_NQ char(1) +if @CodiceFiscale not like 'FF@%' + BEGIN + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + select @isPG = FLAGPG from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + if @isPG = 0 + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + END + ELSE /* isPG = 1 */ + BEGIN + select @isPG_NQ = + CASE + WHEN FLAGNQP IS NULL or FLAGNQP ='' THEN 'N' + ELSE FLAGNQP + END + from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + if @isPG_NQ = 'S' + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + END + ELSE /* isPG_NQ = N */ + BEGIN + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and adeg.[FLAGNQP]=@isPG_NQ + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + --and an.[FLAGNQP]='N' and coalesce(adeg.[FLGPRLRDE],'yn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + END + END + END +ELSE /* Mandatario - Fiduciaria */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = @CF + /* case PG = 0 forced, dont' considerate flags FLAGPG, FLAGNQP, FLGPRLRDE */ + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@d + END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620.sql b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620.sql new file mode 100644 index 00000000..83ab83b1 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620.sql @@ -0,0 +1,46 @@ +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '97080600154' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'SGHDMN66M07G920Z' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '00118220524' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', 'ZZLLNI57B06D245V' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'LTTGRG68T04I324Z' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF_20170620] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @d nvarchar(8) +if @CodiceFiscale not like 'FF@%' + BEGIN + select @d = max(DTTRIM) from + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + END +ELSE /* Mandatario */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + select @d = max(DTTRIM) from + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF + and DTTRIM=@d + END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620_consegnato.sql b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620_consegnato.sql new file mode 100644 index 00000000..8f750292 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_20170620_consegnato.sql @@ -0,0 +1,49 @@ +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '01634240160' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'SGHDMN66M07G920Z' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', '00118220524' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'F', 'ZZLLNI57B06D245V' +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF] 'S', 'LTTGRG68T04I324Z' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF_20170620_consegnato] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @d nvarchar(8) +if @CodiceFiscale not like 'FF@%' + BEGIN + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codfis = @CodiceFiscale and RETE = @Rete + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d +and ( an.[FLAGPG]=0 + or ( + an.[FLAGPG]=1 and an.[FLAGNQP]=adeg.[FLAGNQP] and coalesce(adeg.[FLGPRLRDE],'sn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + ) + ) + END +ELSE /* Mandatario */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + select @d = max(DTTRIM) from [C6StagingPeriodico].[WSEIAN2] + WHERE codman = @CF + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF + and DTTRIM=@d + and an.[FLAGPG]=0 + or ( + an.[FLAGPG]=1 and an.[FLAGNQP]=adeg.[FLAGNQP] and coalesce(adeg.[FLGPRLRDE],'sn') like '%' + coalesce(an.[FLGPRLRDE],'') + '%' + ) + END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_trim.sql b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_trim.sql new file mode 100644 index 00000000..d4c13084 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_PG_QPROF_trim.sql @@ -0,0 +1,43 @@ +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_PG_QPROF_trim] + @Rete nvarchar(1), + @CodiceFiscale varchar(16) +AS +BEGIN +DECLARE @d nvarchar(8) +declare @da datetime +set @d = c6martperiodico.getTrimestre(getdate(), 0) +if @CodiceFiscale not like 'FF@%' + BEGIN + --select @d = max(DTTRIM) from + --[C6StagingPeriodico].[WSEIAN] an + --INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + --ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + --WHERE codfis = @CodiceFiscale and RETE = @Rete + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and an.[FLAGPG]=adeg.[FLAGPG] and an.[FLAGNQP]=adeg.[FLAGNQP] and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codfis = @CodiceFiscale and RETE = @Rete + and DTTRIM=@d + END +ELSE /* Mandatario */ + BEGIN + DECLARE @CF as nvarchar(max) + set @CF = replace(@CodiceFiscale, 'FF@', '') + --select @d = max(DTTRIM) from + --[C6StagingPeriodico].[WSEIAN] an + --INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + --ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + --and adeg.[FLAGPG]=0 and adeg.[FLAGNQP]='N' and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + --WHERE codman = @CF and RETE = @Rete + SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM + [C6StagingPeriodico].[WSEIAN2] an + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA_PG_QPROF] adeg + ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] + and adeg.[FLAGPG]=0 and adeg.[FLAGNQP]='N' and isNULL(an.[FLGPRLRDE],'')=isNULL(adeg.[FLGPRLRDE],'') + WHERE codman = @CF and RETE = @Rete + and DTTRIM=@d + END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.1.0.sql b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.1.0.sql new file mode 100644 index 00000000..2dc738be --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.1.0.sql @@ -0,0 +1,24 @@ +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg] 'f', 'BLDMRA59E22G999d', '2015-06-01' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_V.1.0] + @Rete nvarchar(1), + @CodiceFiscale varchar(16), + @DTTRIM datetime = null +AS +BEGIN +DECLARE @d nvarchar(8) +set @d = cast(year(@DTTRIM) as nvarchar(4)) + RIGHT('0'+cast(month(@DTTRIM) as nvarchar(2)), 2) + + RIGHT('0'+cast(day(@DTTRIM) as nvarchar(2)),2) +print @d +if @DTTRIM is null +select @d = max(DTTRIM) from +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +SELECT top(1) [TESTO_NOTA] FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +and DTTRIM=@d +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.2.0.sql b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.2.0.sql new file mode 100644 index 00000000..2e93826e --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.2.0.sql @@ -0,0 +1,66 @@ +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg] 'f', 'BLDMRA59E22G999d', '2015-06-01' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_V.2.0] + @Rete nvarchar(1), + @CodiceFiscale varchar(16), + @DTTRIM datetime = null +AS +BEGIN +DECLARE @d nvarchar(8) +set @d = cast(year(@DTTRIM) as nvarchar(4)) + RIGHT('0'+cast(month(@DTTRIM) as nvarchar(2)), 2) + + RIGHT('0'+cast(day(@DTTRIM) as nvarchar(2)),2) +print @d +if @DTTRIM is null +begin +if @CodiceFiscale not like 'FF@%' BEGIN +select @d = max(DTTRIM) from +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +and DTTRIM=@d +END +ELSE +BEGIN +DECLARE @CF as nvarchar(max) +set @CF = replace(@CodiceFiscale, 'FF@', '') +select @d = max(DTTRIM) from +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CF +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CF +and DTTRIM=@d +END +end +else +begin +if @CodiceFiscale not like 'FF@%' BEGIN +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +and DTTRIM=@DTTRIM +END +ELSE +BEGIN +DECLARE @CFF as nvarchar(max) +set @CFF = replace(@CodiceFiscale, 'FF@', '') +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CFF +and DTTRIM=@DTTRIM +END +end +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.3.0.sql b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.3.0.sql new file mode 100644 index 00000000..8118b2f1 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_test_compl_testo_sezione_adeg_V.3.0.sql @@ -0,0 +1,66 @@ +--exec [C6StagingPeriodico].[test_compl_testo_sezione_adeg] 'f', 'BLDMRA59E22G999d', '2015-06-01' +CREATE procedure [C6StagingPeriodico].[test_compl_testo_sezione_adeg_V.3.0] + @Rete nvarchar(1), + @CodiceFiscale varchar(16), + @DTTRIM datetime = null +AS +BEGIN +DECLARE @d nvarchar(8) +set @d = cast(year(@DTTRIM) as nvarchar(4)) + RIGHT('0'+cast(month(@DTTRIM) as nvarchar(2)), 2) + + RIGHT('0'+cast(day(@DTTRIM) as nvarchar(2)),2) +print @d +if @DTTRIM is null +begin +if left(@CodiceFiscale,3) <> 'FF@' BEGIN +select @d = max(DTTRIM) from +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +and DTTRIM=@d +END +ELSE +BEGIN +DECLARE @CF as nvarchar(max) +set @CF = replace(@CodiceFiscale, 'FF@', '') +select @d = max(DTTRIM) from +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CF +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CF +and DTTRIM=@d +END +end +else +begin +if left(@CodiceFiscale,3) <> 'FF@' BEGIN +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codfis = @CodiceFiscale and RETE = @Rete +and DTTRIM=@DTTRIM +END +ELSE +BEGIN +DECLARE @CFF as nvarchar(max) +set @CFF = replace(@CodiceFiscale, 'FF@', '') +SELECT top(1) ISNULL([TESTO_NOTA],'aa') as testo_nova FROM +[C6StagingPeriodico].[WSEIAN2] +INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] +ON [CLCOMPL]=[COMPLESSITA] and [FLGCONC]=[CONCENTRAZIONE] +WHERE codman = @CFF +and DTTRIM=@DTTRIM +END +end +END \ No newline at end of file diff --git a/sql/storedTestbes/C6StagingPeriodico_zzzRP_CREA_POSITIONID_CONSULENZA.sql b/sql/storedTestbes/C6StagingPeriodico_zzzRP_CREA_POSITIONID_CONSULENZA.sql new file mode 100644 index 00000000..f7f12cb3 --- /dev/null +++ b/sql/storedTestbes/C6StagingPeriodico_zzzRP_CREA_POSITIONID_CONSULENZA.sql @@ -0,0 +1,89 @@ +-- ============================================= +-- AUTHOR: +-- alter DATE: 10/05/2010 +-- Description: +-- ============================================= +CREATE procedure [C6StagingPeriodico].[zzzRP_CREA_POSITIONID_CONSULENZA] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione giornaliera' + ) +--select top 1 * from C6StagingPeriodico.consulenza + UPDATE +C6StagingPeriodico.RP_CONSULENZA + SET + POSITION_ID = + [C6StagingPeriodico].[RP_INFO_DAPRODOTTOCSACATALOGO] --DBO.INFO_DAPRODOTTOCSACATALOGO + ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + --V ISIN per ASU2 + --controllare se gli ASU2 vengono gestiti bene + CASE + WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') + ELSE '' + END, + CODSOTTOPRODOTTO + ) + --END + + + DBO.CREA_POSITIONID + ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + '', + CODSOTTOPRODOTTO, + CODCONF, -- VERIFICARNE LA CORRETTEZZA + NUMPOLIZZA, + CONTO, + RUBRICATO, + CUSTGAR, + TERMID, + cast(ANNO as decimal(3,0)), + cast(PROG as decimal(9,0)) + --'',0,0 + /* decommentare dopo che nello ci da le regole per la ricostruzione del pctkey => anno + prog + termid + , + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END +*/ + ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Staging_CREA_FIRMA_PROMOTORE.sql b/sql/storedTestbes/C6Staging_CREA_FIRMA_PROMOTORE.sql new file mode 100644 index 00000000..141b76be --- /dev/null +++ b/sql/storedTestbes/C6Staging_CREA_FIRMA_PROMOTORE.sql @@ -0,0 +1,8 @@ +CREATE procedure [C6Staging].[CREA_FIRMA_PROMOTORE] as +begin +update [C6Staging].[ADS4WS_PROMOTORI] +set firma = case when rete = 'F' then 'R'+codice + else 'P'+codice end, +prefisso = case when rete = 'F' then 'R' + else 'P'end +end \ No newline at end of file diff --git a/sql/storedTestbes/C6Staging_CheckScartiMIFID.sql b/sql/storedTestbes/C6Staging_CheckScartiMIFID.sql new file mode 100644 index 00000000..c3ac7e64 --- /dev/null +++ b/sql/storedTestbes/C6Staging_CheckScartiMIFID.sql @@ -0,0 +1,42 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [C6Staging].[CheckScartiMIFID] + -- Add the parameters for the stored procedure here +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + /*-- Insert statements for procedure here + DECLARE @iScarti INT + SELECT @iScarti = count(rete+codiceFiscale) + FROM C6STAGING.SPB_SCARTI SPB + WHERE pacchettoSSIS = 'SPB_MIFID' +select @iScarti + IF @iScarti > 0 + RAISERROR ('Scarti MIFID presenti.', -- Message text. + 16, -- Severity. + 1 -- State. + ); + */ + declare @iScarti INT + select @iscarti = + count(*) + from + c6mart.vContrattiMigrati n + left join + C6STAGING.SPB_MIFID m + on + n.rete = m.rete and + n.cod_fiscale = m.codiceFiscale + where + m.rete is null + if @iScarti > 0 + RAISERROR ('Scarti MIFID presenti.', -- Message text. + 16, -- Severity. + 1 -- State. + ); +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Staging_DecodificaIndicatoriAdeguatezza.sql b/sql/storedTestbes/C6Staging_DecodificaIndicatoriAdeguatezza.sql new file mode 100644 index 00000000..5e0aafb4 --- /dev/null +++ b/sql/storedTestbes/C6Staging_DecodificaIndicatoriAdeguatezza.sql @@ -0,0 +1,86 @@ +CREATE procedure [C6Staging].[DecodificaIndicatoriAdeguatezza] +as +begin +--1. RM - Rischio Mercato + update a + set [RM_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + on a.RM_ADEGUATEZZA_INDICATORE = b.Adeguato + where b.Ordine = 1 +--2. RC - Rischio Credito + -- 20180821 CR Rischio Credito adeguato se non si riesce a calcolarlo + --update a + --set [RC_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + --from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + -- inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + -- on a.RC_ADEGUATEZZA_INDICATORE = b.Adeguato + --where b.Ordine = 2 + update a + set [RS_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + on a.RS_ADEGUATEZZA_INDICATORE = b.Adeguato + where b.Ordine = 2 + and a.RS_ADEGUATEZZA_INDICATORE in (0, 1) + update a + set + a.RS_ADEGUATEZZA_INDICATORE = 1, + a.RS_ADEGUATEZZA_DESCRIZIONE = (select b.DescrizioneEsito from [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b where b.Ordine = 2 and b.Adeguato = 1) + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + where a.RS_ADEGUATEZZA_INDICATORE = -1 + -- FINE 20180821 CR +--3. CE - Concentrazione emittenti + update a + set [TH_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + on a.TH_ADEGUATEZZA_INDICATORE = b.Adeguato + where b.Ordine = 3 +--4. CM - Complessita + --update a + --set [CM_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + --from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + -- inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + -- on a.CM_ADEGUATEZZA_INDICATORE = b.Adeguato + --where b.Ordine = 4 + update a + set [CM_ADEGUATEZZA_DESCRIZIONE] = (select DescrizioneEsito from [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] where Ordine = 4 and Adeguato = '1') + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + where a.CM_ADEGUATEZZA_INDICATORE = 1 + update a + set [CM_ADEGUATEZZA_DESCRIZIONE] = (select DescrizioneEsito from [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] where Ordine = 4 and Adeguato = '-1') + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + where a.CM_ADEGUATEZZA_INDICATORE = -1 + update a + set [CM_ADEGUATEZZA_DESCRIZIONE] = (select DescrizioneEsito from [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] where Ordine = 4 and Adeguato = '0A') + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + where a.CM_ADEGUATEZZA_INDICATORE = 0 +--5. CC - Concentrazione prodotti complessi + update a + set [CC_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + on a.CC_ADEGUATEZZA_INDICATORE = b.Adeguato + where b.Ordine = 5 +--6. FQ - Frequenza delle operazioni + update a + set [FQ_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + on a.FQ_ADEGUATEZZA_INDICATORE = b.Adeguato + where b.Ordine = 6 +--7. LQ - Liquidità/liquidabilità (Orizzonti temporali degli investimenti) + update a + set [CE_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + on a.CE_ADEGUATEZZA_INDICATORE = b.Adeguato + where b.Ordine = 7 + update a + set [CV_ADEGUATEZZA_DESCRIZIONE] = b.DescrizioneEsito + from [C6Staging].[VAR_ADEGUATEZZA_INDICATORI] a + inner join [C6Mart].[TB_S178IndicatoriEsitoAdeguatezza_Note] b + on a.CV_ADEGUATEZZA_INDICATORE = b.Adeguato + where b.Ordine = 8 +end \ No newline at end of file diff --git a/sql/storedTestbes/C6Staging_RP_CREA_POSITIONID.sql b/sql/storedTestbes/C6Staging_RP_CREA_POSITIONID.sql new file mode 100644 index 00000000..e8465191 --- /dev/null +++ b/sql/storedTestbes/C6Staging_RP_CREA_POSITIONID.sql @@ -0,0 +1,77 @@ +-- ============================================= +-- AUTHOR: +-- alter DATE: 10/05/2010 +-- Description: +-- ============================================= +CREATE procedure [C6Staging].[RP_CREA_POSITIONID] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID', + GETDATE(), + 'Elaborazione giornaliera' + ) + UPDATE +C6Staging.SPB_CONTR_SINTESI + SET + POSITIONID = + [C6STAGING].[RP_INFO_DAPRODOTTOCSACATALOGO] --DBO.INFO_DAPRODOTTOCSACATALOGO + ( + TIPOPRODOTTO, + CODICEINTERNO, + CODICEMAF, + --V ISIN per ASU2 + ISNULL(ISIN,''), + CODICESOTTOPRODOTTO + ) + --END + + + DBO.CREA_POSITIONID + ( + TIPOPRODOTTO, + CODICEINTERNO, + CODICEMAF, + '', + CODICESOTTOPRODOTTO, + CODICECONTRATTO, -- VERIFICARNE LA CORRETTEZZA + NUMEROPOLIZZA, + CONTO, + RUBRICATO, + CUSTODIAGARANZIA, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_CREA_POSITIONID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Staging_RP_CREA_POSITIONID_2011113.sql b/sql/storedTestbes/C6Staging_RP_CREA_POSITIONID_2011113.sql new file mode 100644 index 00000000..c750144f --- /dev/null +++ b/sql/storedTestbes/C6Staging_RP_CREA_POSITIONID_2011113.sql @@ -0,0 +1,77 @@ +-- ============================================= +-- AUTHOR: +-- alter DATE: 10/05/2010 +-- Description: +-- ============================================= +CREATE procedure [C6Staging].[RP_CREA_POSITIONID_2011113] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID', + GETDATE(), + 'Elaborazione giornaliera' + ) + UPDATE +C6Staging.SPB_CONTR_SINTESI + SET + POSITIONID = + [C6STAGING].[RP_INFO_DAPRODOTTOCSACATALOGO] --DBO.INFO_DAPRODOTTOCSACATALOGO + ( + TIPOPRODOTTO, + CODICEINTERNO, + CODICEMAF, + --V ISIN per ASU2 + ISNULL(ISIN,''), + CODICESOTTOPRODOTTO + ) + --END + + + DBO.CREA_POSITIONID + ( + TIPOPRODOTTO, + CODICEINTERNO, + CODICEMAF, + '', + CODICESOTTOPRODOTTO, + CODICECONTRATTO, -- VERIFICARNE LA CORRETTEZZA + NUMEROPOLIZZA, + CONTO, + RUBRICATO, + CUSTODIAGARANZIA, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3))) = '' THEN '' + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 3) AS varchar(8)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 2) AS decimal(3, 0)) + END, + CASE + WHEN PCTKEY IS NULL OR PCTKEY = '' OR LTRIM(RTRIM(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1))) = '' THEN 0 + ELSE CAST(PARSENAME(REPLACE(PCTKEY, '/', '.'), 1) AS decimal(9, 0)) + END + ) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_CREA_POSITIONID' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Staging_RP_CREA_POSITIONID_CONSULENZA.sql b/sql/storedTestbes/C6Staging_RP_CREA_POSITIONID_CONSULENZA.sql new file mode 100644 index 00000000..d56b5d0f --- /dev/null +++ b/sql/storedTestbes/C6Staging_RP_CREA_POSITIONID_CONSULENZA.sql @@ -0,0 +1,111 @@ +CREATE procedure [C6Staging].[RP_CREA_POSITIONID_CONSULENZA] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Giornaliero' + ) +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + --Inizio intervento Omnia + --CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--inizio INTERVENTO 'RE' - 20161223 + 'RF' - 20171113 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') THEN ISNULL(CODISIN,'') +--fine INTERVENTO 'RE' - 20161223 + ELSE '' END AS CODISIN, +--FINE INTERVENTO MIGRAZIONE ASU3 + --Fine intervento Omnia + CODSOTTOPRODOTTO, + position_id +INTO #TAB1 +FROM C6Staging.RP_CONSULENZA +UPDATE #TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGING.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) +--DECLARE @CNTNULL as int +--SELECT @CNTNULL = COUNT(*) FROM #TAB1 WHERE isnull(position_id,'') = '' +-- +-- +--IF @CNTNULL = 0 + UPDATE C6Staging.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', +--inizio INTERVENTO 'RE' - 20161223 + 'RF' - 20171113 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + CASE WHEN C.CODINTERNO in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') THEN ISNULL(c.CODISIN,'') +--fine INTERVENTO 'RE' - 20161223 + 'RF' - 20171113 + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6Staging.RP_CONSULENZA c + left join #TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') + --Inizio intervento Omnia +--INIZIO INTERVENTO MIGRAZIONE ASU3 + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2', 'GP') THEN ISNULL(c.CODISIN,'') ELSE '' END +--inizio INTERVENTO 'RE' - 20161223 + 'RF' - 20171113 + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB') + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L' +,'1M','2M','3M','4M','5M','6M','7M','8M','9M') +--fine INTERVENTO 'RE' - 20161223 + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 + --Fine intervento Omnia + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6Staging.RP_CONSULENZA WHERE isnull(position_id,'') <> '' +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) +drop table #TAB1 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20161223.sql b/sql/storedTestbes/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20161223.sql new file mode 100644 index 00000000..a362c58e --- /dev/null +++ b/sql/storedTestbes/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20161223.sql @@ -0,0 +1,99 @@ +CREATE procedure [C6Staging].[RP_CREA_POSITIONID_CONSULENZA_20161223] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Giornaliero' + ) +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + --Inizio intervento Omnia + --CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + ELSE '' END AS CODISIN, +--FINE INTERVENTO MIGRAZIONE ASU3 + --Fine intervento Omnia + CODSOTTOPRODOTTO, + position_id +INTO #TAB1 +FROM C6Staging.RP_CONSULENZA +UPDATE #TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGING.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) +--DECLARE @CNTNULL as int +--SELECT @CNTNULL = COUNT(*) FROM #TAB1 WHERE isnull(position_id,'') = '' +-- +-- +--IF @CNTNULL = 0 + UPDATE C6Staging.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', + CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6Staging.RP_CONSULENZA c + left join #TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') + --Inizio intervento Omnia +--INIZIO INTERVENTO MIGRAZIONE ASU3 + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2', 'GP') THEN ISNULL(c.CODISIN,'') ELSE '' END + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB') + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 + --Fine intervento Omnia + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6Staging.RP_CONSULENZA WHERE isnull(position_id,'') <> '' +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) +drop table #TAB1 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20171113_orig.sql b/sql/storedTestbes/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20171113_orig.sql new file mode 100644 index 00000000..844b6823 --- /dev/null +++ b/sql/storedTestbes/C6Staging_RP_CREA_POSITIONID_CONSULENZA_20171113_orig.sql @@ -0,0 +1,108 @@ +CREATE procedure [C6Staging].[RP_CREA_POSITIONID_CONSULENZA_20171113_orig] +AS +BEGIN + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_CREA_POSITIONID_CONSULENZA', + GETDATE(), + 'Elaborazione Giornaliero' + ) +SELECT distinct + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + --Inizio intervento Omnia + --CASE WHEN TIPOPRODOTTO = 'ASU2' THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- CASE WHEN TIPOPRODOTTO in ('ASU2','GP') THEN ISNULL(CODISIN,'') ELSE '' END AS CODISIN, +--inizio INTERVENTO 'RE' - 20161223 + --CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(CODISIN,'') + CASE WHEN TIPOPRODOTTO in ('ASU2','GP') OR CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(CODISIN,'') +--fine INTERVENTO 'RE' - 20161223 + ELSE '' END AS CODISIN, +--FINE INTERVENTO MIGRAZIONE ASU3 + --Fine intervento Omnia + CODSOTTOPRODOTTO, + position_id +INTO #TAB1 +FROM C6Staging.RP_CONSULENZA +UPDATE #TAB1 + SET position_id = + --DBO.INFO_DAPRODOTTOCSACATALOGO ( + C6STAGING.RP_INFO_DAPRODOTTOCSACATALOGO ( + TIPOPRODOTTO, + CODINTERNO, + CODMAF, + CODISIN, + CODSOTTOPRODOTTO + ) +--DECLARE @CNTNULL as int +--SELECT @CNTNULL = COUNT(*) FROM #TAB1 WHERE isnull(position_id,'') = '' +-- +-- +--IF @CNTNULL = 0 + UPDATE C6Staging.RP_CONSULENZA + SET POSITION_ID = t.POSITION_ID + DBO.CREA_POSITIONID ( + c.TIPOPRODOTTO, + c.CODINTERNO, + c.CODMAF, +--INIZIO INTERVENTO MIGRAZIONE ASU3 +-- '', +--inizio INTERVENTO 'RE' - 20161223 + --CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB') THEN ISNULL(c.CODISIN,'') + CASE WHEN C.CODINTERNO in ('RV','RM', 'RS','RB','RE') THEN ISNULL(c.CODISIN,'') +--fine INTERVENTO 'RE' - 20161223 + ELSE '' END, +--FINE INTERVENTO MIGRAZIONE ASU3 + c.CODSOTTOPRODOTTO, + c.CODCONF, + c.NUMPOLIZZA, + c.CONTO, + c.RUBRICATO, + c.CUSTGAR, + c.TERMID, + cast(c.ANNO as decimal(3,0)), + cast(c.PROG as decimal(9,0)) + ) + FROM C6Staging.RP_CONSULENZA c + left join #TAB1 t + ON isnull(t.TIPOPRODOTTO,'')=isnull(c.TIPOPRODOTTO,'') + AND isnull(t.CODINTERNO,'')=isnull(c.CODINTERNO,'') + AND isnull(t.CODMAF,'')=isnull(c.CODMAF,'') + --Inizio intervento Omnia +--INIZIO INTERVENTO MIGRAZIONE ASU3 + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO = 'ASU2' THEN ISNULL(c.CODISIN,'') ELSE '' END + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2', 'GP') THEN ISNULL(c.CODISIN,'') ELSE '' END +--inizio INTERVENTO 'RE' - 20161223 + --AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB') + AND t.CODISIN= CASE WHEN c.TIPOPRODOTTO in ('ASU2','GP') OR c.CODINTERNO in ('RV','RM', 'RS','RB','RE') +--fine INTERVENTO 'RE' - 20161223 + THEN ISNULL(c.CODISIN,'') + ELSE '' END +--FINE INTERVENTO MIGRAZIONE ASU3 + --Fine intervento Omnia + AND isnull(t.CODSOTTOPRODOTTO,'')=isnull(c.CODSOTTOPRODOTTO,'') + --WHERE c.position_id = '' and t.position_id is not null +DECLARE @CNT as int +SELECT @CNT = COUNT(*) FROM C6Staging.RP_CONSULENZA WHERE isnull(position_id,'') <> '' +-- Log esecuzione +UPDATE + LOG_ESECUZIONE +SET + Fine = GETDATE(), + Tipo = 'UPDATE', + Righe = @CNT +WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_CREA_POSITIONID_CONSULENZA' + ) +drop table #TAB1 +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Staging_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql b/sql/storedTestbes/C6Staging_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql new file mode 100644 index 00000000..a46f5103 --- /dev/null +++ b/sql/storedTestbes/C6Staging_RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE.sql @@ -0,0 +1,42 @@ +-- Questa sp aggiorna il campo 'beneficio' della [PROMETEIA_AGGR] con il valore del nuovo indicatore dalla nuova tabella PROMETEIA_AGGR_IndDiv +CREATE procedure [C6Staging].[RP_PROM_AGGIORNA_INDICATORE_DIVERSIFICAZIONE] +AS +BEGIN +update [C6Staging].[PROMETEIA_AGGR_IndDiv] +set indicatore = '0.0' where indicatore = '0' +update [C6Staging].[PROMETEIA_AGGR_IndDiv] +set indicatore = '100.0' where indicatore = '100' +-- FerAcu 20240830 +update [C6Staging].[PROMETEIA_AGGR_IndDiv] +set indicatore = RTRIM(indicatore) + '.00' +where indicatore not like '%.%' + --aggiorna il beneficio per il COMPLESSIVO +--UPDATE aggr set aggr.beneficio = CAST(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) AS DECIMAL(12,3)) +--con le replace sostituisco i caratteri speciali a fine testo che mandano in errore il cast quando l'indicatore è = 0.0 - CHAR(13) = cr, CHAR(10) = lf +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6Staging].[PROMETEIA_AGGR] aggr +inner join +[C6Staging].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale +where aggr.portafoglio = 'COMPLESSIVO' +--aggiorna il beneficio per il COMPLESSIVO|BF +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6Staging].[PROMETEIA_AGGR] aggr +inner join +[C6Staging].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_BF' +where aggr.portafoglio = 'COMPLESSIVO|BF' +--aggiorna il beneficio per il COMPLESSIVO|TERZI +UPDATE aggr set aggr.beneficio = CAST(replace(replace(LEFT(inddiv.indicatore, CHARINDEX('.', inddiv.indicatore) - 1) + '.' + SUBSTRING(inddiv.indicatore,(CHARINDEX('.',inddiv.indicatore)+1),3) , CHAR(13), '0'), CHAR(10), '0') +AS DECIMAL(12,3)) +from +[C6Staging].[PROMETEIA_AGGR] aggr +inner join +[C6Staging].[PROMETEIA_AGGR_IndDiv] inddiv +on inddiv.rete = aggr.rete and inddiv.cod_fiscale = aggr.codicefiscale+'_TERZI' +where aggr.portafoglio = 'COMPLESSIVO|TERZI' +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Staging_RP_ST_Parentela.sql b/sql/storedTestbes/C6Staging_RP_ST_Parentela.sql new file mode 100644 index 00000000..f6373c19 --- /dev/null +++ b/sql/storedTestbes/C6Staging_RP_ST_Parentela.sql @@ -0,0 +1,40 @@ +CREATE procedure [C6Staging].[RP_ST_Parentela] +as +begin + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'RP_ST_Parentela', + GETDATE(), + 'Elaborazione giornaliera' + ) + truncate table c6staging.RP_Parentela +-- insert into c6staging.RP_Parentela +-- --select * into c6staging.RP_Parentela from [CONSUNI].[consulenzaEvoluta].dbo.Parentela +-- select chiaveClientePB1, +--chiaveClientePB2, +--idParentela , +--dtMatrimonio , +--aCarico , +--dtCensimento , +--dtFine +-- from [CONSUNI].[consulenzaEvoluta].dbo.Parentela + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'RP_ST_Parentela' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'RP_ST_Parentela' + ) +end \ No newline at end of file diff --git a/sql/storedTestbes/C6Staging_RP_ST_vNewPositionProposta.sql b/sql/storedTestbes/C6Staging_RP_ST_vNewPositionProposta.sql new file mode 100644 index 00000000..53a0b5f0 --- /dev/null +++ b/sql/storedTestbes/C6Staging_RP_ST_vNewPositionProposta.sql @@ -0,0 +1,29 @@ +CREATE procedure [C6Staging].[RP_ST_vNewPositionProposta] +as +begin +truncate table [C6Staging].[RP_vNewPositionProposta] +insert into [C6Staging].[RP_vNewPositionProposta] +select + pro.chiaveClientePB, + ope.nomeProgettoProp, + ope.areaProp, + pospro.chiaveProgetto, + cat.codSottoprodotto, + cat.codInterno, + cat.codMaf, + cat.codIsin, + cat.tipoProdotto, + null as positionIdProposta +from + c6staging.RP_Proposta pro, + c6staging.RP_DettaglioOperazione ope, + c6staging.RP_PosizioniProposta pospro, + c6staging.RP_catalogoprodotti cat +where + pro.chiaveproposta=ope.chiaveproposta + and ope.chiaveposizionepro=pospro.chiaveposizionepro + and pospro.chiaveprodotto=cat.chiaveprodotto + and ope.chiaveposizioneptf=0--ISANEWPOSITION = 1 + and ope.posriallocata=0--RICONCILIATA = 0 + and pro.status in ('PE','ES')--STATO_PROPOSTA in ('InEsecuzione', 'ParzialmenteEseguita') +end \ No newline at end of file diff --git a/sql/storedTestbes/C6Staging_RP_W6LogBatch.sql b/sql/storedTestbes/C6Staging_RP_W6LogBatch.sql new file mode 100644 index 00000000..c9ab0699 --- /dev/null +++ b/sql/storedTestbes/C6Staging_RP_W6LogBatch.sql @@ -0,0 +1,36 @@ +CREATE PROCEDURE [C6Staging].[RP_W6LogBatch] + @BatchName NVARCHAR(100) +AS +BEGIN + DECLARE @BatchID INT; + -- Trova l'ultimo batch in esecuzione con lo stesso nome + SELECT TOP 1 @BatchID = BatchID + FROM C6Staging.W6LogBatch + WHERE BatchName = @BatchName AND EndDate IS NULL + ORDER BY BatchID DESC; + IF @BatchID IS NOT NULL + BEGIN + -- È la fine del batch + -- Aggiorna la data di fine, lo status e calcola il delta in minuti + UPDATE C6Staging.W6LogBatch + SET EndDate = GETDATE(), + Status = 'OK', + DeltaMinutes = DATEDIFF(MINUTE, StartDate, GETDATE()) + WHERE BatchID = @BatchID; + -- Output o messaggio di conferma per la fine del batch + SELECT 'Log entry updated for BatchID ' + CAST(@BatchID AS NVARCHAR(20)) + '.' + + ' Batch "' + @BatchName + '" ended.'; + END + ELSE + BEGIN + -- È l'inizio del batch + -- Inserisci i dati relativi al log nella tabella C6Staging.W6LogBatch + INSERT INTO C6Staging.W6LogBatch (BatchName, Status, StartDate) + VALUES (@BatchName, 'In esecuzione', GETDATE()); + -- Ottieni l'ID del batch appena inserito + SET @BatchID = SCOPE_IDENTITY(); + -- Output o messaggio di conferma per l'inizio del batch + SELECT 'Log entry added for BatchID ' + CAST(@BatchID AS NVARCHAR(20)) + '.' + + ' Batch "' + @BatchName + '" started.'; + END +END; \ No newline at end of file diff --git a/sql/storedTestbes/C6Staging_RP_clientiConMigrazione.sql b/sql/storedTestbes/C6Staging_RP_clientiConMigrazione.sql new file mode 100644 index 00000000..5843b667 --- /dev/null +++ b/sql/storedTestbes/C6Staging_RP_clientiConMigrazione.sql @@ -0,0 +1,20 @@ +CREATE procedure [C6Staging].[RP_clientiConMigrazione] +as +begin +truncate table [C6Staging].[RP_V_clienti_contrsei_con_migraz] +INSERT INTO [C6Staging].[RP_V_clienti_contrsei_con_migraz] --[C6StampeCentralizzate] + ([chiaveClientePb] + ,[rete] + ,[cod_fiscale] + ,[dtprimaMigrazione]) +select + a.chiaveClientePb, + b.rete, + b.cod_fiscale, + a.dtprimaMigrazione +from +c6staging.RP_MIGRAZ_PIANIFICAZIONE a +join +[C6Mart].[vContratti] b +on a.chiaveClientePb = b.chiaveClientePb +end \ No newline at end of file diff --git a/sql/storedTestbes/C6Staging_SRV_STORICIZZAZIONE.sql b/sql/storedTestbes/C6Staging_SRV_STORICIZZAZIONE.sql new file mode 100644 index 00000000..a45dbaa7 --- /dev/null +++ b/sql/storedTestbes/C6Staging_SRV_STORICIZZAZIONE.sql @@ -0,0 +1,532 @@ +-- [C6Staging].[SRV_STORICIZZAZIONE] 'ACBDENOTH' +CREATE procedure [C6Staging].[SRV_STORICIZZAZIONE] + @NomeTabella VARCHAR(50) = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + DECLARE @ID_ELAB INT -- Elaborazione da storicizzare + DECLARE @MIN_ID_ELAB AS INT -- Elaborazione vecchia da eliminare dallo storico + DECLARE @TempoStoricoC6 AS INT -- Numero di giorni di vita dello storico + SET @TempoStoricoC6 = dbo.getparametro('TempoStoricoC6') + SELECT @MIN_ID_ELAB = ISNULL(MAX(ID_ELAB),0) + FROM C6MART.ELABORAZIONI + WHERE DATEDIFF(DAY,DATA_OPERAZIONE,GETDATE()) > @TempoStoricoC6 + SET @ID_ELAB = C6MART.GETIDELAB() +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENOTH XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENOTH') + BEGIN + DELETE FROM C6Storico.ST_ACBDENOTH WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ACBDENOTH + (OID_, VERSION_, BDPERCENTAGE, BDBETA, F_OID__PASSE_CDF1A, F_PFINANCIAL_815C0, ID_ELAB) + SELECT ACBDENOTH.OID_, ACBDENOTH.VERSION_, ACBDENOTH.BDPERCENTAGE, ACBDENOTH.BDBETA, ACBDENOTH.F_OID__PASSE_CDF1A, ACBDENOTH.F_PFINANCIAL_815C0, @ID_ELAB + FROM C6Staging.ACBDENOTH + LEFT OUTER JOIN C6Storico.ST_ACBDENOTH + ON ACBDENOTH.OID_ = ST_ACBDENOTH.OID_ + WHERE ST_ACBDENOTH.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ACBDENTRY XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ACBDENTRY') + BEGIN + DELETE FROM C6Storico.ST_ACBDENTRY WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ACBDENTRY + (OID_, VERSION_, F_PINDEXBREA_08079, F_PINSTRUMEN_FBCDE, BDPERCENTAGE, BDBETA, F_OID__PASSE_B8A1E, F_PFINANCIAL_65EBB, F_PFINANCIAL_C2FD3, ID_ELAB) + SELECT ACBDENTRY.OID_, ACBDENTRY.VERSION_, ACBDENTRY.F_PINDEXBREA_08079, ACBDENTRY.F_PINSTRUMEN_FBCDE, ACBDENTRY.BDPERCENTAGE, ACBDENTRY.BDBETA, ACBDENTRY.F_OID__PASSE_B8A1E, ACBDENTRY.F_PFINANCIAL_65EBB, ACBDENTRY.F_PFINANCIAL_C2FD3, @ID_ELAB + FROM C6Staging.ACBDENTRY + LEFT OUTER JOIN C6Storico.ST_ACBDENTRY + ON ACBDENTRY.OID_ = ST_ACBDENTRY.OID_ + WHERE ST_ACBDENTRY.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ADBKRELAT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ADBKRELAT') + BEGIN + DELETE FROM C6Storico.ST_ADBKRELAT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ADBKRELAT + (OID_, VERSION_, TYPE__TYPE_CAB4A, ADBKRELDESCR, ADBKRELNOTE, DEPENDANT, PHONEDECIMAL, F_OID__ADBKR_CBA9A, F_PADDRESSBO_24DA1, ID_ELAB) + SELECT ADBKRELAT.OID_, ADBKRELAT.VERSION_, ADBKRELAT.TYPE__TYPE_CAB4A, ADBKRELAT.ADBKRELDESCR, ADBKRELAT.ADBKRELNOTE, ADBKRELAT.DEPENDANT, ADBKRELAT.PHONEDECIMAL, ADBKRELAT.F_OID__ADBKR_CBA9A, ADBKRELAT.F_PADDRESSBO_24DA1, @ID_ELAB + FROM C6Staging.ADBKRELAT + LEFT OUTER JOIN C6Storico.ST_ADBKRELAT + ON ADBKRELAT.OID_ = ST_ADBKRELAT.OID_ + WHERE ST_ADBKRELAT.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ADS4WS_PROMOTORI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ADS4WS_PROMOTORI') + BEGIN + DELETE FROM C6Storico.ST_ADS4WS_PROMOTORI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ADS4WS_PROMOTORI + (Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, PrefissoTelefono, TelefonoAgenzia1, TelefonoAgenzia2, ID_ELAB) + SELECT Rete, Codice, Cognome, Nome, Prefisso, Firma, DataInizioCollaborazione, DataFineCollaborazione, DataUltimaAggiornamento, CAP, Citta, CittaNascita, DataNascita, Indirizzo, Provincia, PrefissoTelefono, TelefonoAgenzia1, TelefonoAgenzia2, @ID_ELAB + FROM C6Staging.ADS4WS_PROMOTORI + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_ASSET_CLASS_PER_PROMET XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_ASSET_CLASS_PER_PROMET') + BEGIN + DELETE FROM C6Storico.ST_ALL_ASSET_CLASS_PER_PROMET WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_ASSET_CLASS_PER_PROMET + (CODICE_ASSET_CLASS_INGRESSO, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ID_ELAB) + SELECT ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO, ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN, ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF, ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA, @ID_ELAB + FROM C6Staging.ALL_ASSET_CLASS_PER_PROMET + LEFT OUTER JOIN C6Storico.ST_ALL_ASSET_CLASS_PER_PROMET + ON ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO + AND ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ISIN + AND ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_MAF + AND ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA = ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ADEGUATEZZA + WHERE ST_ALL_ASSET_CLASS_PER_PROMET.CODICE_ASSET_CLASS_INGRESSO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CF_PB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CF_PB') + BEGIN + DELETE FROM C6Storico.ST_ALL_CF_PB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_CF_PB + (ID_CLI, NOME, COGNOME, CODICEFISCALE, TIPO, AGENTE, CHIAVE_PB, CHIAVE_CLIENTE, NOME_CLIENTE, COGNOME_CLIENTE, CODICE_FISCALE, TIPO_CLIENTE, RETE_PB, CODICE_PB, DATA_NASCITA, MARITALSTATUS, ID_ELAB) + SELECT ID_CLI, NOME, COGNOME, CODICEFISCALE, TIPO, AGENTE, CHIAVE_PB, CHIAVE_CLIENTE, NOME_CLIENTE, COGNOME_CLIENTE, CODICE_FISCALE, TIPO_CLIENTE, RETE_PB, CODICE_PB, DATA_NASCITA, MARITALSTATUS, @ID_ELAB + FROM C6Staging.ALL_CF_PB + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CF_STATO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CF_STATO') + BEGIN + DELETE FROM C6Storico.ST_ALL_CF_STATO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_CF_STATO + (CF_CLIENTE, RETE, STATO_CONSULENZA, TOTALE_RIGHE, TOTALE_STATI, FLAG_UTILIZZO_STATO, ID_ELAB) + SELECT CF_CLIENTE, RETE, STATO_CONSULENZA, TOTALE_RIGHE, TOTALE_STATI, FLAG_UTILIZZO_STATO, @ID_ELAB + FROM C6Staging.ALL_CF_STATO + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_CONSUL_ASUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_CONSUL_ASUL') + BEGIN + DELETE FROM C6Storico.ST_ALL_CONSUL_ASUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_CONSUL_ASUL + (CODICE_FISCALE, RETE, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, AREASORTORDER, NOME_PROGETTO, CATALOGUENAME, TIPO_PROGETTO, CONTRATTO, OID_DI_CATITEMREF, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CODICEINTERNO, SOTTOPRODOTTO, CONTROVALORE_ASUL, ID_MONITORAGGIO, CATEGORIA, NUOVO_OID_CAT_PER_ASSET, CATEGORIA_2, COLO_JOIN, ID_ELAB) + SELECT CODICE_FISCALE, RETE, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, AREASORTORDER, NOME_PROGETTO, CATALOGUENAME, TIPO_PROGETTO, CONTRATTO, OID_DI_CATITEMREF, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CODICEINTERNO, SOTTOPRODOTTO, CONTROVALORE_ASUL, ID_MONITORAGGIO, CATEGORIA, NUOVO_OID_CAT_PER_ASSET, CATEGORIA_2, COLO_JOIN, @ID_ELAB + FROM C6Staging.ALL_CONSUL_ASUL + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_PATR_TERZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PATR_TERZI') + BEGIN + DELETE FROM C6Storico.ST_ALL_PATR_TERZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_PATR_TERZI + (CHIAVE_PER_CLIENTE, CODICE_FISCALE, RETE_PB, CHIAVE_FNC, PRODOTTO_IN_CATALOGO, DATA_SOTTOSCRIZIONE, PREMIO_VERSAMENTO, C_VALUE_582FF, AMMONTARE_VERSAMENTO, CAPITALE_INVESTITO, DESCRIZIONE_ALBERATURA, DATA_INIZIO_INV, PATRIMONIO_TERZI, NOME_ISTITUTO, CHIAVE_THR, ASSETID, DESCRIZIONE_PRODOTTO, NOMEPRODOTTO, NOME_ISTITUTO_2, INTERMEDIARIO, DATA_SCADENZA, DATA2_UTILIZ_X_SOTTOSCRIZ, BALANCEDATETIME_DI_THR, CHIAVE_PR_31921, PATRIMONIO_IMMOBILIARE, LOCALITA, AFFITTOPERCEPITO, CHIAVE_F87B4, PATRIMONIO_ALTRO_PN_F87B4, DENOMINAZIONE_PN_F87B4, ISCOVER, TIPO_ISCOVER, CHIAVE_E6F18, PATRIMONIO_ALTRO_PB_E6F18, DENOMINAZIONE, NUMEROQUOTE, COMPANYTYPE, CHIAVE_COMP, COMPANYNAME, CHIAVE_BT_49D5B, TIPO_BT_49D5B, CHIAVE_BT_55768, CHIAVE_BT_B70F0, TIPO_BT_B70F0, CHIAVE_BT_6797A, TIPO_BT_6797A, TIPO_VERSAMENTO_BT_6797, CHIAVE_BT_97BEE, TIPO_BT_97BEE, TIPO_POLIZZA_BT_97BEE, CHIAVE_RDESC, TIPO_RDESCR, DESCRIZIONE_RDESCR, TIPOLOGIA_RDESCR, ID_ELAB) + SELECT CHIAVE_PER_CLIENTE, CODICE_FISCALE, RETE_PB, CHIAVE_FNC, PRODOTTO_IN_CATALOGO, DATA_SOTTOSCRIZIONE, PREMIO_VERSAMENTO, C_VALUE_582FF, AMMONTARE_VERSAMENTO, CAPITALE_INVESTITO, DESCRIZIONE_ALBERATURA, DATA_INIZIO_INV, PATRIMONIO_TERZI, NOME_ISTITUTO, CHIAVE_THR, ASSETID, DESCRIZIONE_PRODOTTO, NOMEPRODOTTO, NOME_ISTITUTO_2, INTERMEDIARIO, DATA_SCADENZA, DATA2_UTILIZ_X_SOTTOSCRIZ, BALANCEDATETIME_DI_THR, CHIAVE_PR_31921, PATRIMONIO_IMMOBILIARE, LOCALITA, AFFITTOPERCEPITO, CHIAVE_F87B4, PATRIMONIO_ALTRO_PN_F87B4, DENOMINAZIONE_PN_F87B4, ISCOVER, TIPO_ISCOVER, CHIAVE_E6F18, PATRIMONIO_ALTRO_PB_E6F18, DENOMINAZIONE, NUMEROQUOTE, COMPANYTYPE, CHIAVE_COMP, COMPANYNAME, CHIAVE_BT_49D5B, TIPO_BT_49D5B, CHIAVE_BT_55768, CHIAVE_BT_B70F0, TIPO_BT_B70F0, CHIAVE_BT_6797A, TIPO_BT_6797A, TIPO_VERSAMENTO_BT_6797, CHIAVE_BT_97BEE, TIPO_BT_97BEE, TIPO_POLIZZA_BT_97BEE, CHIAVE_RDESC, TIPO_RDESCR, DESCRIZIONE_RDESCR, TIPOLOGIA_RDESCR, @ID_ELAB + FROM C6Staging.ALL_PATR_TERZI + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_PATRBF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PATRBF') + BEGIN + DELETE FROM C6Storico.ST_ALL_PATRBF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_PATRBF + (AGENTE, CODICEFISCALE, PATRIMONIO_BF_CON_CC, PATRIMONIOBF_SENZA_CC, PATRIMONIOBF_SOLO_CC, ID_ELAB) + SELECT AGENTE, CODICEFISCALE, PATRIMONIO_BF_CON_CC, PATRIMONIOBF_SENZA_CC, PATRIMONIOBF_SOLO_CC, @ID_ELAB + FROM C6Staging.ALL_PATRBF + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_POS_CONS_CAT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_POS_CONS_CAT') + BEGIN + DELETE FROM C6Storico.ST_ALL_POS_CONS_CAT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_POS_CONS_CAT + (CODICE_FISCALE, RETE, STATO_CONSULENZA, DATA_STATO_CONSULENZA, PK_ALTERNATIVA_CONS, DATA_MIGRAZIONE_CONS, PK_AREA, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, C_PERCENTAGE_86095, PK_PRC_, TIPO_PROGETTO, C_CTVNEEDARE_EA4FB, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, PERCENTUALE_MODELLO, ID_MONITORAGGIO_, NOME_PROGETTO, C_PERCENTUAL_12346, DATA_ORDINAMENTO_INV, CONTRATTO, CONTROVALORE_PER_INV, C_INVESTIMEN_60625, OID_DI_CATITEMREF, C_OUTCTV_B4FB8, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CONTO, RUBRICATO, CUSTGAR, NUMPOL, TERMID, ANNO, PROG, NOME_PRODOTTO, NEED_AREA_ABBREVIATA_DI_POS, NEED_AREA_ESTESA_DI_POS, CHIAVE_CATITEMREF, CATALOGUENAME, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, COD_ADEGUATEZZA, ALBERATURA, TIPOPRODOTTO, ISNEGOTIABLE, MAINASSETCLASS, AREASORTORDER, ORIGINE_FILE_CATALOGO, FLAG_PRESENZA_MAPPATURA, RAGGRUPPAMEN_NOME_PROGET, ID_ELAB) + SELECT CODICE_FISCALE, RETE, STATO_CONSULENZA, DATA_STATO_CONSULENZA, PK_ALTERNATIVA_CONS, DATA_MIGRAZIONE_CONS, PK_AREA, NEED_AREA_ABBR_DI_AREA, NEED_AREA_ESTESA_DI_AREA, C_PERCENTAGE_86095, PK_PRC_, TIPO_PROGETTO, C_CTVNEEDARE_EA4FB, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, PERCENTUALE_MODELLO, ID_MONITORAGGIO_, NOME_PROGETTO, C_PERCENTUAL_12346, DATA_ORDINAMENTO_INV, CONTRATTO, CONTROVALORE_PER_INV, C_INVESTIMEN_60625, OID_DI_CATITEMREF, C_OUTCTV_B4FB8, CONTROVALORE, CONTROV_IN_POS_DEL_PRODOTTO, STRINGONA_POS, CONTO, RUBRICATO, CUSTGAR, NUMPOL, TERMID, ANNO, PROG, NOME_PRODOTTO, NEED_AREA_ABBREVIATA_DI_POS, NEED_AREA_ESTESA_DI_POS, CHIAVE_CATITEMREF, CATALOGUENAME, COD_ISIN, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, COD_ADEGUATEZZA, ALBERATURA, TIPOPRODOTTO, ISNEGOTIABLE, MAINASSETCLASS, AREASORTORDER, ORIGINE_FILE_CATALOGO, FLAG_PRESENZA_MAPPATURA, RAGGRUPPAMEN_NOME_PROGET, @ID_ELAB + FROM C6Staging.ALL_POS_CONS_CAT + END + --XXXXXXXXXXXXXXXXXXXXXXXX ALL_PROPOSTA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ALL_PROPOSTA') + BEGIN + DELETE FROM C6Storico.ST_ALL_PROPOSTA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ALL_PROPOSTA + (AGENTE, RETE, NOME_CLIENTE, COGNOME_CLIENTE, CODICEFISCALE, CHIAVE_PROPOSTA, NOME_PROPOSTA, STATO_PROPOSTA, DATA_CREAZIONE_PROPOSTA, DATA_SCADENZA_PROPOSTA, NEED_BREVE, NEED_ESTESA, ORDINE_NEED, CONTROVALORE_TOT_PER_NEED, PERC_PER_NEED, NOME_PROGETTO, CONTROV_CONSULENZA, CONTROV_PROPOSTA, CONTROV_DA_DEFINIRE_LIQ, ISANEWPOSITION, STRINGONA_CLONEPOS, NOME_PRODOTTO_CLONEPOS, INVESTI, DISINVESTI, PTF_INIZ, CTVOPERAZIONE, CONTRACTCODE, POLIZZADECIMAL, CONTO, RUBRICATO, PR_COD_ISIN, PR_COD_MAF, PR_COD_INTERNO, PR_COD_SOTTOPRODOTTO, PR_COD_ADEGUATEZZA, NOME_PRODOTTO_CATALOGO, TIPOPRODOTTO, CHIAVE_CATITEMREF, CHIAVE_PER_LA_CONSULENZA, RICONCILIATA, FLAG_PROPOSTA_PER_PROGETTO, FLAG_PROPOSTA_PER_AREA, FLAG_SALVATAGGIO_MANUALE, RAGGRUPPAMENTO_PROGETTO, ID_ELAB) + SELECT AGENTE, RETE, NOME_CLIENTE, COGNOME_CLIENTE, CODICEFISCALE, CHIAVE_PROPOSTA, NOME_PROPOSTA, STATO_PROPOSTA, DATA_CREAZIONE_PROPOSTA, DATA_SCADENZA_PROPOSTA, NEED_BREVE, NEED_ESTESA, ORDINE_NEED, CONTROVALORE_TOT_PER_NEED, PERC_PER_NEED, NOME_PROGETTO, CONTROV_CONSULENZA, CONTROV_PROPOSTA, CONTROV_DA_DEFINIRE_LIQ, ISANEWPOSITION, STRINGONA_CLONEPOS, NOME_PRODOTTO_CLONEPOS, INVESTI, DISINVESTI, PTF_INIZ, CTVOPERAZIONE, CONTRACTCODE, POLIZZADECIMAL, CONTO, RUBRICATO, PR_COD_ISIN, PR_COD_MAF, PR_COD_INTERNO, PR_COD_SOTTOPRODOTTO, PR_COD_ADEGUATEZZA, NOME_PRODOTTO_CATALOGO, TIPOPRODOTTO, CHIAVE_CATITEMREF, CHIAVE_PER_LA_CONSULENZA, RICONCILIATA, FLAG_PROPOSTA_PER_PROGETTO, FLAG_PROPOSTA_PER_AREA, FLAG_SALVATAGGIO_MANUALE, RAGGRUPPAMENTO_PROGETTO, @ID_ELAB + FROM C6Staging.ALL_PROPOSTA + END + --XXXXXXXXXXXXXXXXXXXXXXXX ASSETCLASS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'ASSETCLASS') + BEGIN + DELETE FROM C6Storico.ST_ASSETCLASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_ASSETCLASS + (VERSION_, OID_, ASSETCLASSID, ASSETCLASSNAME, ASSETCLASSDESCR, ASSETCLASSLEV, ORDINE, ISRESIDUAL, F_PASSETCLAS_2FB94, F_OID__ASSET_B965C, CODICE_ISIN, CODICE_MAF, CODICE_ADEGUATEZZA, ID_ELAB) + SELECT ASSETCLASS.VERSION_, ASSETCLASS.OID_, ASSETCLASS.ASSETCLASSID, ASSETCLASS.ASSETCLASSNAME, ASSETCLASS.ASSETCLASSDESCR, ASSETCLASS.ASSETCLASSLEV, ASSETCLASS.ORDINE, ASSETCLASS.ISRESIDUAL, ASSETCLASS.F_PASSETCLAS_2FB94, ASSETCLASS.F_OID__ASSET_B965C, ASSETCLASS.CODICE_ISIN, ASSETCLASS.CODICE_MAF, ASSETCLASS.CODICE_ADEGUATEZZA, @ID_ELAB + FROM C6Staging.ASSETCLASS + LEFT OUTER JOIN C6Storico.ST_ASSETCLASS + ON ASSETCLASS.OID_ = ST_ASSETCLASS.OID_ + WHERE ST_ASSETCLASS.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX C_BO_453FB XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'C_BO_453FB') + BEGIN + DELETE FROM C6Storico.ST_C_BO_453FB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_C_BO_453FB + (OID$, C_VALUE_7BD3C, C_DESCRIZION_93ABE, PK_PRC, ID_ELAB) + SELECT C_BO_453FB.OID$, C_BO_453FB.C_VALUE_7BD3C, C_BO_453FB.C_DESCRIZION_93ABE, C_BO_453FB.PK_PRC, @ID_ELAB + FROM C6Staging.C_BO_453FB + LEFT OUTER JOIN C6Storico.ST_C_BO_453FB + ON C_BO_453FB.OID$ = ST_C_BO_453FB.OID$ + WHERE ST_C_BO_453FB.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CATINAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CATINAREA') + BEGIN + DELETE FROM C6Storico.ST_CATINAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_CATINAREA + (OID$, VERSION$, C_ISMAINNEED_9C780, NEEDAREAVALUE, F_OID$_NEEDA_2C362, F_PCATALOGUE_5D024, ID_ELAB) + SELECT CATINAREA.OID$, CATINAREA.VERSION$, CATINAREA.C_ISMAINNEED_9C780, CATINAREA.NEEDAREAVALUE, CATINAREA.F_OID$_NEEDA_2C362, CATINAREA.F_PCATALOGUE_5D024, @ID_ELAB + FROM C6Staging.CATINAREA + LEFT OUTER JOIN C6Storico.ST_CATINAREA + ON CATINAREA.OID$ = ST_CATINAREA.OID$ + WHERE ST_CATINAREA.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CATITEMREF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CATITEMREF') + BEGIN + DELETE FROM C6Storico.ST_CATITEMREF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_CATITEMREF + (OID$, VERSION$, PRODUCTCURRENCY, PRODUCTCOUNTRY, PRODUCTREGION, CATALOGUEID, COD_ISIN, COD_ADEGUATEZZA, COD_MAF, COD_INTERNO, COD_SOTTOPRODOTTO, TYPE$_BCATAL_FC317, CATEGORY, INSTITUTIONS, COUNTRY, PIAZZA, ULTIMOPRZCURR, ULTIMOPRZ, CAPITALERISPARMIO, LMINCAPCONTRCURR, LMINCAPCONTR, LSUCCAPCONTRCURR, LSUCCAPCONTR, LMINRISPCONTRCURR, LMINRISPCONTR, LSUCRISPCONTRCURR, LSUCRISPCONTR, LMINCOMMCURR, LMINCOMM, DELEGAGESTIONALE, TIPOLOGIAPERPICK, EXPIRATIONDATE, RISKPRICE, FISCALREGIMENT, QUOTATO, CLASSEDIPREZZO, BONDRATING, BONDDURATION, TEMPMIN, TEMPMAX, PRIPRODCOM, MAINASSETCLASS, MACROACOBPERC, MACROACALPERC, MACROACAZPERC, MACROACMNPERC, LINEEFINACC, TIPOVERS, TIPOPOLIZRAM1, DURATACONTR, GARDEMO, RISKPRESSCAD, LIVFLUTDUR, OPZRENDVIT, METAA, METAB, METAC, RATOBBLIG, ULTIMOPREZZOCURR, ULTIMOPREZZO, DATARIFPREZZO, CODICEADB, AGGIORNFEED, DISTRPROV, CODTIPOCONTR, ULTPRZSECCURR, ULTPRZSEC, DATAULTPRZSEC, CODBLOOMBERG, DENOMUNITLNK, TIPOPRODOTTO, GENERICDATA, GENERICCURCURR, GENERICCUR, GENERICSTRING1, GENERICSTRING2, CATALOGUENAME, EFFECTIVEFROM, EFFECTIVETO, PRODUCTSTATUS, ISVISIBLE, ISNEGOTIABLE, BRIEFDESCRIPTION, F_OID$_VAR_CDDF8, RISKPROFOFSUITCLS, OPINION, OPINIONDATE, F_OID$_CATAL_B3E14, F_OID$_PCATE_F3BF6, F_OID$_MAINA_76C35, F_OID$_INSTR_B5526, F_OID$_MAINS_5FCE5, F_OID$_MAINR_08A23, F_OID$_PRISK_AAC57, F_OID$_PRODU_F8FBB, F_OID$_MARKE_F3D2D, COLL_SKANDIA, CODASSETSAT, ID_ELAB) + SELECT CATITEMREF.OID$, CATITEMREF.VERSION$, CATITEMREF.PRODUCTCURRENCY, CATITEMREF.PRODUCTCOUNTRY, CATITEMREF.PRODUCTREGION, CATITEMREF.CATALOGUEID, CATITEMREF.COD_ISIN, CATITEMREF.COD_ADEGUATEZZA, CATITEMREF.COD_MAF, CATITEMREF.COD_INTERNO, CATITEMREF.COD_SOTTOPRODOTTO, CATITEMREF.TYPE$_BCATAL_FC317, CATITEMREF.CATEGORY, CATITEMREF.INSTITUTIONS, CATITEMREF.COUNTRY, CATITEMREF.PIAZZA, CATITEMREF.ULTIMOPRZCURR, CATITEMREF.ULTIMOPRZ, CATITEMREF.CAPITALERISPARMIO, CATITEMREF.LMINCAPCONTRCURR, CATITEMREF.LMINCAPCONTR, CATITEMREF.LSUCCAPCONTRCURR, CATITEMREF.LSUCCAPCONTR, CATITEMREF.LMINRISPCONTRCURR, CATITEMREF.LMINRISPCONTR, CATITEMREF.LSUCRISPCONTRCURR, CATITEMREF.LSUCRISPCONTR, CATITEMREF.LMINCOMMCURR, CATITEMREF.LMINCOMM, CATITEMREF.DELEGAGESTIONALE, CATITEMREF.TIPOLOGIAPERPICK, CATITEMREF.EXPIRATIONDATE, CATITEMREF.RISKPRICE, CATITEMREF.FISCALREGIMENT, CATITEMREF.QUOTATO, CATITEMREF.CLASSEDIPREZZO, CATITEMREF.BONDRATING, CATITEMREF.BONDDURATION, CATITEMREF.TEMPMIN, CATITEMREF.TEMPMAX, CATITEMREF.PRIPRODCOM, CATITEMREF.MAINASSETCLASS, CATITEMREF.MACROACOBPERC, CATITEMREF.MACROACALPERC, CATITEMREF.MACROACAZPERC, CATITEMREF.MACROACMNPERC, CATITEMREF.LINEEFINACC, CATITEMREF.TIPOVERS, CATITEMREF.TIPOPOLIZRAM1, CATITEMREF.DURATACONTR, CATITEMREF.GARDEMO, CATITEMREF.RISKPRESSCAD, CATITEMREF.LIVFLUTDUR, CATITEMREF.OPZRENDVIT, CATITEMREF.METAA, CATITEMREF.METAB, CATITEMREF.METAC, CATITEMREF.RATOBBLIG, CATITEMREF.ULTIMOPREZZOCURR, CATITEMREF.ULTIMOPREZZO, CATITEMREF.DATARIFPREZZO, CATITEMREF.CODICEADB, CATITEMREF.AGGIORNFEED, CATITEMREF.DISTRPROV, CATITEMREF.CODTIPOCONTR, CATITEMREF.ULTPRZSECCURR, CATITEMREF.ULTPRZSEC, CATITEMREF.DATAULTPRZSEC, CATITEMREF.CODBLOOMBERG, CATITEMREF.DENOMUNITLNK, CATITEMREF.TIPOPRODOTTO, CATITEMREF.GENERICDATA, CATITEMREF.GENERICCURCURR, CATITEMREF.GENERICCUR, CATITEMREF.GENERICSTRING1, CATITEMREF.GENERICSTRING2, CATITEMREF.CATALOGUENAME, CATITEMREF.EFFECTIVEFROM, CATITEMREF.EFFECTIVETO, CATITEMREF.PRODUCTSTATUS, CATITEMREF.ISVISIBLE, CATITEMREF.ISNEGOTIABLE, CATITEMREF.BRIEFDESCRIPTION, CATITEMREF.F_OID$_VAR_CDDF8, CATITEMREF.RISKPROFOFSUITCLS, CATITEMREF.OPINION, CATITEMREF.OPINIONDATE, CATITEMREF.F_OID$_CATAL_B3E14, CATITEMREF.F_OID$_PCATE_F3BF6, CATITEMREF.F_OID$_MAINA_76C35, CATITEMREF.F_OID$_INSTR_B5526, CATITEMREF.F_OID$_MAINS_5FCE5, CATITEMREF.F_OID$_MAINR_08A23, CATITEMREF.F_OID$_PRISK_AAC57, CATITEMREF.F_OID$_PRODU_F8FBB, CATITEMREF.F_OID$_MARKE_F3D2D, CATITEMREF.COLL_SKANDIA, CATITEMREF.CODASSETSAT, @ID_ELAB + FROM C6Staging.CATITEMREF + LEFT OUTER JOIN C6Storico.ST_CATITEMREF + ON CATITEMREF.OID$ = ST_CATITEMREF.OID$ + WHERE ST_CATITEMREF.OID$ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX COMPTYPE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'COMPTYPE') + BEGIN + DELETE FROM C6Storico.ST_COMPTYPE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_COMPTYPE + (OID_, TYPE_, ID_ELAB) + SELECT COMPTYPE.OID_, COMPTYPE.TYPE_, @ID_ELAB + FROM C6Staging.COMPTYPE + LEFT OUTER JOIN C6Storico.ST_COMPTYPE + ON COMPTYPE.OID_ = ST_COMPTYPE.OID_ + WHERE ST_COMPTYPE.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONO XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'CONO') + -- BEGIN + -- DELETE FROM C6Storico.ST_CONO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.ST_CONO + -- (OID_, VERSION_, C_DATA_FD2A6, C_QUANTILE5_BF710, C_QUANTILE95_0D6CE, F_PPROJECT_P_46507, C_QUANTILE50_C47E0, ID_ELAB) + -- SELECT CONO.OID_, CONO.VERSION_, CONO.C_DATA_FD2A6, CONO.C_QUANTILE5_BF710, CONO.C_QUANTILE95_0D6CE, CONO.F_PPROJECT_P_46507, CONO.C_QUANTILE50_C47E0, @ID_ELAB + -- FROM C6Staging.CONO + -- LEFT OUTER JOIN C6Storico.ST_CONO + -- ON CONO.OID_ = ST_CONO.OID_ + -- WHERE ST_CONO.OID_ IS NULL + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX CONSAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONSAREA') + BEGIN + DELETE FROM C6Storico.ST_CONSAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_CONSAREA + (OID$, VERSION$, F_PCONSULENZ_7FBE3, C_CONSULENZA_A58F3, C_CONSULENZA_E94E3, C_NEEDAREA_V_46360, C_NEEDAREA_D_911D8, C_CTVNEEDARE_EA4FB, C_PERCENTAGE_86095, C_OUTCTV_A27B5, C_PATRIMONIO_F4B8E, C_INVESTIMEN_AC24C, C_CONSULENZA_0C219, C_CONSULENZA_1C9D3, ID_ELAB) + SELECT OID$, VERSION$, F_PCONSULENZ_7FBE3, C_CONSULENZA_A58F3, C_CONSULENZA_E94E3, C_NEEDAREA_V_46360, C_NEEDAREA_D_911D8, C_CTVNEEDARE_EA4FB, C_PERCENTAGE_86095, C_OUTCTV_A27B5, C_PATRIMONIO_F4B8E, C_INVESTIMEN_AC24C, C_CONSULENZA_0C219, C_CONSULENZA_1C9D3, @ID_ELAB + FROM C6Staging.CONSAREA + END + --XXXXXXXXXXXXXXXXXXXXXXXX CONSUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'CONSUL') + BEGIN + DELETE FROM C6Storico.ST_CONSUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_CONSUL + (OID$, VERSION$, C_CONSULENZA_EBDBE, ADBKID, INSTID, TYPE$_TIPOCO_1EA7C, C_CONTROVALO_C57EE, C_PATRIMONIO_0BF30, C_ALTROPATRI_E90EF, C_ALTRO_5AD86, C_DATAINIZIO_35C15, C_RISORSENON_A04BD, C_INVESTIMEN_C4514, C_INVESTIMEN_36DE3, C_IDQUESTION_5549B, C_DATAQUESTI_5069A, C_VARCONSOB_28C92, C_VALORIALLI_0CA23, C_DATAPIRAMI_661DA, C_DATACONSVE_D3DE3, C_DATACONSOR_EA88E, C_PROFILOCON_81F5D, C_DATAMIGRAZ_BF705, C_SALVADANAI_B156A, C_CONSULENZA_2C1E1, C_DATACONSVE_66B66, C_DATACAMBIO_79509, ID_ELAB) + SELECT OID$, VERSION$, C_CONSULENZA_EBDBE, ADBKID, INSTID, TYPE$_TIPOCO_1EA7C, C_CONTROVALO_C57EE, C_PATRIMONIO_0BF30, C_ALTROPATRI_E90EF, C_ALTRO_5AD86, C_DATAINIZIO_35C15, C_RISORSENON_A04BD, C_INVESTIMEN_C4514, C_INVESTIMEN_36DE3, C_IDQUESTION_5549B, C_DATAQUESTI_5069A, C_VARCONSOB_28C92, C_VALORIALLI_0CA23, C_DATAPIRAMI_661DA, C_DATACONSVE_D3DE3, C_DATACONSOR_EA88E, C_PROFILOCON_81F5D, C_DATAMIGRAZ_BF705, C_SALVADANAI_B156A, C_CONSULENZA_2C1E1, C_DATACONSVE_66B66, C_DATACAMBIO_79509, @ID_ELAB + FROM C6Staging.CONSUL + END + --XXXXXXXXXXXXXXXXXXXXXXXX INDREND XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'INDREND') + BEGIN + DELETE FROM C6Storico.ST_INDREND WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_INDREND + (OID_, VERSION_, C_VAR_A94EA, C_TEMPOINVES_CE300, C_COPERTURA_94818, C_PERDITAMAX_F5B51, ID_ELAB) + SELECT INDREND.OID_, INDREND.VERSION_, INDREND.C_VAR_A94EA, INDREND.C_TEMPOINVES_CE300, INDREND.C_COPERTURA_94818, INDREND.C_PERDITAMAX_F5B51, @ID_ELAB + FROM C6Staging.INDREND + LEFT OUTER JOIN C6Storico.ST_INDREND + ON INDREND.OID_ = ST_INDREND.OID_ + WHERE ST_INDREND.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX INSTRBDS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'INSTRBDS') + BEGIN + DELETE FROM C6Storico.ST_INSTRBDS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_INSTRBDS + (OID_, VERSION_, BDISIN, BDMAF, F_OID__PCATA_5DDA6, PROVENIENZA, ID_ELAB) + SELECT INSTRBDS.OID_, INSTRBDS.VERSION_, INSTRBDS.BDISIN, INSTRBDS.BDMAF, INSTRBDS.F_OID__PCATA_5DDA6, INSTRBDS.PROVENIENZA, @ID_ELAB + FROM C6Staging.INSTRBDS + LEFT OUTER JOIN C6Storico.ST_INSTRBDS + ON INSTRBDS.OID_ = ST_INSTRBDS.OID_ + WHERE ST_INSTRBDS.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX MACROASSETCLASS XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'MACROASSETCLASS') + BEGIN + DELETE FROM C6Storico.ST_MACROASSETCLASS WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_MACROASSETCLASS + (ASSETCLASSID, ASSETCLASSNAME, ORDINE, ID_ELAB) + SELECT MACROASSETCLASS.ASSETCLASSID, MACROASSETCLASS.ASSETCLASSNAME, MACROASSETCLASS.ORDINE, @ID_ELAB + FROM C6Staging.MACROASSETCLASS + LEFT OUTER JOIN C6Storico.ST_MACROASSETCLASS + ON MACROASSETCLASS.ASSETCLASSID = ST_MACROASSETCLASS.ASSETCLASSID + WHERE ST_MACROASSETCLASS.ASSETCLASSID IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX NEEDAREA XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'NEEDAREA') + BEGIN + DELETE FROM C6Storico.ST_NEEDAREA WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_NEEDAREA + (OID_, VERSION_, AREAID, AREANAME, EFFECTIVEFROM, EFFECTIVETO, BRIEFDESCRIPTION, F_PNEEDAREA__742D7, AREASORTORDER, ID_ELAB) + SELECT NEEDAREA.OID_, NEEDAREA.VERSION_, NEEDAREA.AREAID, NEEDAREA.AREANAME, NEEDAREA.EFFECTIVEFROM, NEEDAREA.EFFECTIVETO, NEEDAREA.BRIEFDESCRIPTION, NEEDAREA.F_PNEEDAREA__742D7, NEEDAREA.AREASORTORDER, @ID_ELAB + FROM C6Staging.NEEDAREA + LEFT OUTER JOIN C6Storico.ST_NEEDAREA + ON NEEDAREA.OID_ = ST_NEEDAREA.OID_ + WHERE ST_NEEDAREA.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX OTHINTRST XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'OTHINTRST') + BEGIN + DELETE FROM C6Storico.ST_OTHINTRST WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_OTHINTRST + (OID_, VERSION_, INTERESTDESC, INTERESTCUR, INTERESTAMT, F_PQUANTIFIC_76FF6, ID_ELAB) + SELECT OTHINTRST.OID_, OTHINTRST.VERSION_, OTHINTRST.INTERESTDESC, OTHINTRST.INTERESTCUR, OTHINTRST.INTERESTAMT, OTHINTRST.F_PQUANTIFIC_76FF6, @ID_ELAB + FROM C6Staging.OTHINTRST + LEFT OUTER JOIN C6Storico.ST_OTHINTRST + ON OTHINTRST.OID_ = ST_OTHINTRST.OID_ + WHERE ST_OTHINTRST.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PORTMOD XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PORTMOD') + BEGIN + DELETE FROM C6Storico.ST_PORTMOD WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_PORTMOD + (OID_, VERSION_, F_PPROJECT_P_EE748, C_ASSET_CD02D, C_PERCENTUAL_143B7, ID_ELAB) + SELECT PORTMOD.OID_, PORTMOD.VERSION_, PORTMOD.F_PPROJECT_P_EE748, PORTMOD.C_ASSET_CD02D, PORTMOD.C_PERCENTUAL_143B7, @ID_ELAB + FROM C6Staging.PORTMOD + LEFT OUTER JOIN C6Storico.ST_PORTMOD + ON PORTMOD.OID_ = ST_PORTMOD.OID_ + WHERE ST_PORTMOD.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX POSITION XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'POSITION') + BEGIN + DELETE FROM C6Storico.ST_POSITION WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_POSITION + (OID_, VERSION_, F_PCONSULENZ_56F23, POSITIONID, CONSULENZAID, TYPE__CATALO_35E2A, POSITIONNAME, CONTROVALORE, C_OUTCTV_B4FB8, C_NEEDAREASE_3D485, C_NEEDAREASE_30873, CATALOGUEITEMID, F_OID__POSIT_00526, F_PPROJECT_P_B5629, CTVINIZIALE, ID_ELAB) + SELECT OID_, VERSION_, F_PCONSULENZ_56F23, POSITIONID, CONSULENZAID, TYPE__CATALO_35E2A, POSITIONNAME, CONTROVALORE, C_OUTCTV_B4FB8, C_NEEDAREASE_3D485, C_NEEDAREASE_30873, CATALOGUEITEMID, F_OID__POSIT_00526, F_PPROJECT_P_B5629, CTVINIZIALE, @ID_ELAB + FROM C6Staging.POSITION + END + --XXXXXXXXXXXXXXXXXXXXXXXX PRCONSUL XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PRCONSUL') + BEGIN + DELETE FROM C6Storico.ST_PRCONSUL WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_PRCONSUL + (OID$, VERSION$, F_PCONSULENZ_B69E4, C_PROJECTID_9894C, C_CONSULENZA_CB331, C_CONSULENZA_A7FC6, NEEDAREAID, TYPE$_PROJEC_14674, C_PROJECTNAM_11D1A, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_CREATIONDA_732BD, C_LASTMODIFI_3BF4A, C_INVESTIMEN_60625, F_OID$_FREQU_A5FAB, C_IMPORTOPER_7A987, F_OID$_RISKP_9CF4A, F_OID$_ORIZZ_4A868, C_PERDITAAVV_D414B, C_PERDITAMAX_55078, C_GUADAGNOAV_2BD07, C_GUADAGNOMA_D14C4, C_RISERVENON_CCD2D, C_RISERVEMON_5E189, C_RISERVEOBB_121FA, C_RISERVEAZI_175C0, C_CONSULENZA_ACEEE, C_PROJECTIDM_1AF31, C_PROJECTIDR_51E22, C_DATAULTIMO_FFA71, C_PERDITAMAX_BEABF, C_PERDITAMAX_AAB4C, C_GUADAGNOMA_43151, C_GUADAGNOMA_0F76F, F_OID$_PROJE_CD4BB, C_NOTE_B4B97, C_PERCENTUAL_69019, C_PERCENTUAL_12346, F_OID$_RISKS_A3B54, C_ORDERTIMES_80019, ID_ELAB) + SELECT OID$, VERSION$, F_PCONSULENZ_B69E4, C_PROJECTID_9894C, C_CONSULENZA_CB331, C_CONSULENZA_A7FC6, NEEDAREAID, TYPE$_PROJEC_14674, C_PROJECTNAM_11D1A, C_PROJECTCTV_39520, C_PROJECTOUT_9CFB8, C_RISORSELIQ_DF807, C_CREATIONDA_732BD, C_LASTMODIFI_3BF4A, C_INVESTIMEN_60625, F_OID$_FREQU_A5FAB, C_IMPORTOPER_7A987, F_OID$_RISKP_9CF4A, F_OID$_ORIZZ_4A868, C_PERDITAAVV_D414B, C_PERDITAMAX_55078, C_GUADAGNOAV_2BD07, C_GUADAGNOMA_D14C4, C_RISERVENON_CCD2D, C_RISERVEMON_5E189, C_RISERVEOBB_121FA, C_RISERVEAZI_175C0, C_CONSULENZA_ACEEE, C_PROJECTIDM_1AF31, C_PROJECTIDR_51E22, C_DATAULTIMO_FFA71, C_PERDITAMAX_BEABF, C_PERDITAMAX_AAB4C, C_GUADAGNOMA_43151, C_GUADAGNOMA_0F76F, F_OID$_PROJE_CD4BB, C_NOTE_B4B97, C_PERCENTUAL_69019, C_PERCENTUAL_12346, F_OID$_RISKS_A3B54, C_ORDERTIMES_80019, @ID_ELAB + FROM C6Staging.PRCONSUL + END + --XXXXXXXXXXXXXXXXXXXXXXXX PROMETEIA_AGGR XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'PROMETEIA_AGGR') + BEGIN + DELETE FROM C6Storico.ST_PROMETEIA_AGGR WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_PROMETEIA_AGGR + (Rete, CodiceFiscale, Portafoglio, VaRAssolutoDiPortafoglio, VaRPercentuialeDiPortafoglio, CVaRAssolutoDiPortafoglio, CVaRPercentualeDiPortafoglio, RisksizeDiPortafoglio, McVar, McVarP, Beneficio, Copertura, Totale, ID_ELAB) + SELECT Rete, CodiceFiscale, Portafoglio, VaRAssolutoDiPortafoglio, VaRPercentuialeDiPortafoglio, CVaRAssolutoDiPortafoglio, CVaRPercentualeDiPortafoglio, RisksizeDiPortafoglio, McVar, McVarP, Beneficio, Copertura, Totale, @ID_ELAB + FROM C6Staging.PROMETEIA_AGGR + END +-- --XXXXXXXXXXXXXXXXXXXXXXXX PROMETEIA_DETT XXXXXXXXXXXXXXXXXXXXXXXX-- +-- IF(@NomeTabella IS NULL OR @NomeTabella = 'PROMETEIA_DETT') +-- BEGIN +-- DELETE FROM C6Storico.ST_PROMETEIA_DETT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB +-- INSERT INTO C6Storico.ST_PROMETEIA_DETT +-- (Rete, CodiceFiscale, Portafoglio, CodiceProdotto, Piazza, CodVal, Classe, VarAssoluto, VaRPercentuale, CVarAssoluto, CVarPercentuale, RiskSize, McVar, McVarP, TipoCopertura, CtvNominale, CtvReale, ID_ELAB) +-- SELECT Rete, CodiceFiscale, Portafoglio, CodiceProdotto, Piazza, CodVal, Classe, VarAssoluto, VaRPercentuale, CVarAssoluto, CVarPercentuale, RiskSize, McVar, McVarP, TipoCopertura, CtvNominale, CtvReale, @ID_ELAB +-- FROM C6Staging.PROMETEIA_DETT +-- END + --XXXXXXXXXXXXXXXXXXXXXXXX QUANTIF XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'QUANTIF') + BEGIN + DELETE FROM C6Storico.ST_QUANTIF WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_QUANTIF + (OID_, VERSION_, UPDATETIMEDATETIME, EXPNEEDSCUR, EXPNEEDSAMT, GROSSINPRIMCUR, GROSSINPRIMAMT, GROSSINSECCUR, GROSSINSECAMT, RETIREMENTYEARS, STATEPENSIONAMT, PRIVATEPENSIONCUR, PRIVATEPENSIONAMT, LIFEINTERESTCUR, LIFEINTERESTAMT, C_FINANCIALI_8D659, C_FINANCIALI_91C75, INSINTERESTCUR, STATEPENSIONCUR, INSINTERESTAMT, INVINTERESTCUR, INVINTERESTAMT, REINTERESTCUR, REINTERESTAMT, PRIMARYGAPCUR, PRIMARYGAPAMT, SECONDARYGAPCUR, SECONDARYGAPAMT, TOCONSUMPTIONETM, TOINTERESTETM, LOCKPERCFRSTBRNC, PRFCONSUMPTIONS, PRFGROSSAMOUNT, PRFPERCFRSTBRNC, PRFADDRETIREMENT, PRFLIFEINTEREST, PRFINTERFRSTBRNC, PRFINTERUNIT, F_OID__ADDRE_81D21, ID_ELAB) + SELECT QUANTIF.OID_, QUANTIF.VERSION_, QUANTIF.UPDATETIMEDATETIME, QUANTIF.EXPNEEDSCUR, QUANTIF.EXPNEEDSAMT, QUANTIF.GROSSINPRIMCUR, QUANTIF.GROSSINPRIMAMT, QUANTIF.GROSSINSECCUR, QUANTIF.GROSSINSECAMT, QUANTIF.RETIREMENTYEARS, QUANTIF.STATEPENSIONAMT, QUANTIF.PRIVATEPENSIONCUR, QUANTIF.PRIVATEPENSIONAMT, QUANTIF.LIFEINTERESTCUR, QUANTIF.LIFEINTERESTAMT, QUANTIF.C_FINANCIALI_8D659, QUANTIF.C_FINANCIALI_91C75, QUANTIF.INSINTERESTCUR, QUANTIF.STATEPENSIONCUR, QUANTIF.INSINTERESTAMT, QUANTIF.INVINTERESTCUR, QUANTIF.INVINTERESTAMT, QUANTIF.REINTERESTCUR, QUANTIF.REINTERESTAMT, QUANTIF.PRIMARYGAPCUR, QUANTIF.PRIMARYGAPAMT, QUANTIF.SECONDARYGAPCUR, QUANTIF.SECONDARYGAPAMT, QUANTIF.TOCONSUMPTIONETM, QUANTIF.TOINTERESTETM, QUANTIF.LOCKPERCFRSTBRNC, QUANTIF.PRFCONSUMPTIONS, QUANTIF.PRFGROSSAMOUNT, QUANTIF.PRFPERCFRSTBRNC, QUANTIF.PRFADDRETIREMENT, QUANTIF.PRFLIFEINTEREST, QUANTIF.PRFINTERFRSTBRNC, QUANTIF.PRFINTERUNIT, QUANTIF.F_OID__ADDRE_81D21, @ID_ELAB + FROM C6Staging.QUANTIF + LEFT OUTER JOIN C6Storico.ST_QUANTIF + ON QUANTIF.OID_ = ST_QUANTIF.OID_ + WHERE ST_QUANTIF.OID_ IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX S25_CLI_CLIENTE XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'S25_CLI_CLIENTE') + BEGIN + DELETE FROM C6Storico.ST_S25_CLI_CLIENTE WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_S25_CLI_CLIENTE + (NOME, COGNOME, CODICEFISCALE, DATANASCITA, ETA, PROFESSIONE, NUMEROCOMPONENTI, NUMEROFIGLI, STATO_CIVILE, INDIRIZZO, RETE, ID_ELAB) + SELECT NOME, COGNOME, CODICEFISCALE, DATANASCITA, ETA, PROFESSIONE, NUMEROCOMPONENTI, NUMEROFIGLI, STATO_CIVILE, INDIRIZZO, RETE, @ID_ELAB + FROM C6Staging.S25_CLI_CLIENTE + END + --XXXXXXXXXXXXXXXXXXXXXXXX S4_S5_S13_TRAD_UNTIL_LIV3 XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'S4_S5_S13_TRAD_UNTIL_LIV3') + BEGIN + DELETE FROM C6Storico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 + (DESCRIZIONE_ORIGINALE, ALBERO_GERARCHIA_1, ALBERO_GERARCHIA_2, ALBERO_GERARCHIA_3, ORDINAMENTO_GERARCHIA_2, ID_ELAB) + SELECT S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE, S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_1, S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_2, S4_S5_S13_TRAD_UNTIL_LIV3.ALBERO_GERARCHIA_3, S4_S5_S13_TRAD_UNTIL_LIV3.ORDINAMENTO_GERARCHIA_2, @ID_ELAB + FROM C6Staging.S4_S5_S13_TRAD_UNTIL_LIV3 + LEFT OUTER JOIN C6Storico.ST_S4_S5_S13_TRAD_UNTIL_LIV3 + ON S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE = ST_S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE + WHERE ST_S4_S5_S13_TRAD_UNTIL_LIV3.DESCRIZIONE_ORIGINALE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_ASS_UNIT XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_ASS_UNIT') + BEGIN + DELETE FROM C6Storico.ST_SPB_ASS_UNIT WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_ASS_UNIT + (CODICECONTRATTO, CODICESOTTOPRODOTTO, CODICEINTERNO, CONTROVALORE, DATADIRIFERIMENTO, ISINFITTIZIO, CODICEISINSOTTOSTANTE, CODICEMAFSOTTOSTANTE, ID_ELAB) + SELECT CODICECONTRATTO, CODICESOTTOPRODOTTO, CODICEINTERNO, CONTROVALORE, DATADIRIFERIMENTO, ISINFITTIZIO, CODICEISINSOTTOSTANTE, CODICEMAFSOTTOSTANTE, @ID_ELAB + FROM C6Staging.SPB_ASS_UNIT + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_CLIENTI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_CLIENTI') + BEGIN + DELETE FROM C6Storico.ST_SPB_CLIENTI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_CLIENTI + (CODICERETE, CODICEAGENTE, CODICEFISCALE, NOME, COGNOME, DATADINASCITA, NAZIONEDINASCITA, COMUNEDINASCITA, SESSO, CITTADINANZA, TITOLODISTUDIOCODICE, TITOLODISTUDIODESCRIZIONE, TIPOCLIENTE, DATAATTIVAZIONECLIENTE, ID_ELAB) + SELECT CODICERETE, CODICEAGENTE, CODICEFISCALE, NOME, COGNOME, DATADINASCITA, NAZIONEDINASCITA, COMUNEDINASCITA, SESSO, CITTADINANZA, TITOLODISTUDIOCODICE, TITOLODISTUDIODESCRIZIONE, TIPOCLIENTE, DATAATTIVAZIONECLIENTE, @ID_ELAB + FROM C6Staging.SPB_CLIENTI + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_CONTR_SINTESI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_CONTR_SINTESI') + BEGIN + DELETE FROM C6Storico.ST_SPB_CONTR_SINTESI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_CONTR_SINTESI + (POSITIONID, RETE, CODAGENTE, CODICEFISCALE, PIVAFIDUCIARIA, CODICECONTRATTO, NUMEROPOLIZZA, CONTO, RUBRICATO, CUSTODIAGARANZIA, PCTTITOLOCOLLEGATO, TIPOPRODOTTO, CODICEINTERNO, CODICESOTTOPRODOTTO, CODICEMAF, PCTKEY, PCTDESCRIZIONTETITOLOCOLLEGATO, QUOTE, PREZZO, CTV, PARTVIA, PARTVIAAL, DATADIRIFERIMENTO, DATADISOTTOSCRIZIONE, DATAVALNAVAL, CODICESTATO, DATAINIZIORENDIMENTO, RENDIMENTODASOTTOSCRIZIONE, DATATRIMESTRERENDIMENTO, RENDIMENTODAINIZIOTRIMESTRE, DATAANNORENDIMENTO, RENDIMENTODAINIZIOANNO, VALORE, CVN, ID_ELAB) + SELECT POSITIONID, RETE, CODAGENTE, CODICEFISCALE, PIVAFIDUCIARIA, CODICECONTRATTO, NUMEROPOLIZZA, CONTO, RUBRICATO, CUSTODIAGARANZIA, PCTTITOLOCOLLEGATO, TIPOPRODOTTO, CODICEINTERNO, CODICESOTTOPRODOTTO, CODICEMAF, PCTKEY, PCTDESCRIZIONTETITOLOCOLLEGATO, QUOTE, PREZZO, CTV, PARTVIA, PARTVIAAL, DATADIRIFERIMENTO, DATADISOTTOSCRIZIONE, DATAVALNAVAL, CODICESTATO, DATAINIZIORENDIMENTO, RENDIMENTODASOTTOSCRIZIONE, DATATRIMESTRERENDIMENTO, RENDIMENTODAINIZIOTRIMESTRE, DATAANNORENDIMENTO, RENDIMENTODAINIZIOANNO, VALORE, CVN, @ID_ELAB + FROM C6Staging.SPB_CONTR_SINTESI + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_INDIRIZZI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_INDIRIZZI') + BEGIN + DELETE FROM C6Storico.ST_SPB_INDIRIZZI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_INDIRIZZI + (RETE, CODAGENTE, CODICEFISCALE, TIPOINDIRIZZO, INDIRIZZO, CAP, CITTA, PROVINCIA, NAZIONE, ID_ELAB) + SELECT RETE, CODAGENTE, CODICEFISCALE, TIPOINDIRIZZO, INDIRIZZO, CAP, CITTA, PROVINCIA, NAZIONE, @ID_ELAB + FROM C6Staging.SPB_INDIRIZZI + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_MIFID XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_MIFID') + BEGIN + DELETE FROM C6Storico.ST_SPB_MIFID WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_MIFID + (RETE, CODAGENTE, CODICEFISCALE, ACCETTACOMPILAZIONE, CODICEPROFILOASSEGNATO, CODICEPROFILOCALCOLATO, CODICEQUESTIONARIO, DATAFINEVALIDITA, DATAINIZIOVALIDITA, CODICEAGENTE, CODICEAGENTERESPONSABILE, CODICEAGENTEREALE, TIPOQUESTIONARIO, STATUS, ID_ELAB) + SELECT RETE, CODAGENTE, CODICEFISCALE, NULL, CODICEPROFILOASSEGNATO, NULL, CODICEQUESTIONARIO, DATAFINEVALIDITA, DATAINIZIOVALIDITA, CODAGENTE, NULL, NULL, TIPOQUESTIONARIO, STATUS, @ID_ELAB + FROM C6Staging.SPB_MIFID + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_NAC XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_NAC') + BEGIN + DELETE FROM C6Storico.ST_SPB_NAC WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_NAC + (COGNOMENOME, CODICEAGENTE, RETE, CODICERETE, CODICEMANAGER, LIVELLONELLAGERARCHIA, SUBORDINATI, ID_ELAB) + SELECT SPB_NAC.COGNOMENOME, SPB_NAC.CODICEAGENTE, SPB_NAC.RETE, SPB_NAC.CODICERETE, SPB_NAC.CODICEMANAGER, SPB_NAC.LIVELLONELLAGERARCHIA, SPB_NAC.SUBORDINATI, @ID_ELAB + FROM C6Staging.SPB_NAC + LEFT OUTER JOIN C6Storico.ST_SPB_NAC + ON SPB_NAC.CODICEAGENTE = ST_SPB_NAC.CODICEAGENTE + AND SPB_NAC.CODICERETE = ST_SPB_NAC.CODICERETE + AND SPB_NAC.LIVELLONELLAGERARCHIA = ST_SPB_NAC.LIVELLONELLAGERARCHIA + WHERE ST_SPB_NAC.CODICEAGENTE IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_PARTITE_VIAGG XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_PARTITE_VIAGG') + BEGIN + DELETE FROM C6Storico.ST_SPB_PARTITE_VIAGG WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_PARTITE_VIAGG + (RETE, CODAGENTE, CODICEFISCALE, CODICECONFERIMENTO, DESCRPRODOTTO, IMPORTOVERSATO, DATAACQUISIZIONE, DATAINCASSO, DATAVALUTAFONDO, NOTA, ID_ELAB) + SELECT RETE, CODAGENTE, CODICEFISCALE, CODICECONFERIMENTO, DESCRPRODOTTO, IMPORTOVERSATO, DATAACQUISIZIONE, DATAINCASSO, DATAVALUTAFONDO, NOTA, @ID_ELAB + FROM C6Staging.SPB_PARTITE_VIAGG + END + --XXXXXXXXXXXXXXXXXXXXXXXX SPB_PROF_RISCHIO XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'SPB_PROF_RISCHIO') + BEGIN + DELETE FROM C6Storico.ST_SPB_PROF_RISCHIO WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_SPB_PROF_RISCHIO + (CODICEPROFILO, DESCRIZIONEPROFILO, DESCRIZIONEPROFILOESTESA, PERCENTUALEASSETAZIONARIO, PERCENTUALEASSETOBBLIGAZIONARIO, PERCENTUALEASSETMONETARIO, VOLATILITADA, VOLATILITAA, RENDIMENTOATTESO, VARTRIMESTRALE, ID_ELAB) + SELECT SPB_PROF_RISCHIO.CODICEPROFILO, SPB_PROF_RISCHIO.DESCRIZIONEPROFILO, SPB_PROF_RISCHIO.DESCRIZIONEPROFILOESTESA, SPB_PROF_RISCHIO.PERCENTUALEASSETAZIONARIO, SPB_PROF_RISCHIO.PERCENTUALEASSETOBBLIGAZIONARIO, SPB_PROF_RISCHIO.PERCENTUALEASSETMONETARIO, SPB_PROF_RISCHIO.VOLATILITADA, SPB_PROF_RISCHIO.VOLATILITAA, SPB_PROF_RISCHIO.RENDIMENTOATTESO, SPB_PROF_RISCHIO.VARTRIMESTRALE, @ID_ELAB + FROM C6Staging.SPB_PROF_RISCHIO + LEFT OUTER JOIN C6Storico.ST_SPB_PROF_RISCHIO + ON SPB_PROF_RISCHIO.CODICEPROFILO = ST_SPB_PROF_RISCHIO.CODICEPROFILO + WHERE ST_SPB_PROF_RISCHIO.CODICEPROFILO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX V_CLIENTI_CONTRSEI_CON_MIGRAZ XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'V_CLIENTI_CONTRSEI_CON_MIGRAZ') + BEGIN + DELETE FROM C6Storico.ST_V_CLIENTI_CONTRSEI_CON_MIGRAZ WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_V_CLIENTI_CONTRSEI_CON_MIGRAZ + (CODICE_FISCALE, RETE_PB, CODICE_CONTRATTO, STATO_CONTRATTO_SEI, DATA_SOTTOSCRIZIONE_C6, DATA_CHIUSURA_C6, FLAG_CLIENTE_MIGRATO, DATA_ULTIMA_MIGRAZIONE, PIVA, ID_ELAB) + SELECT V_CLIENTI_CONTRSEI_CON_MIGRAZ.CODICE_FISCALE, V_CLIENTI_CONTRSEI_CON_MIGRAZ.RETE_PB, V_CLIENTI_CONTRSEI_CON_MIGRAZ.CODICE_CONTRATTO, V_CLIENTI_CONTRSEI_CON_MIGRAZ.STATO_CONTRATTO_SEI, V_CLIENTI_CONTRSEI_CON_MIGRAZ.DATA_SOTTOSCRIZIONE_C6, V_CLIENTI_CONTRSEI_CON_MIGRAZ.DATA_CHIUSURA_C6, V_CLIENTI_CONTRSEI_CON_MIGRAZ.FLAG_CLIENTE_MIGRATO, V_CLIENTI_CONTRSEI_CON_MIGRAZ.DATA_ULTIMA_MIGRAZIONE, V_CLIENTI_CONTRSEI_CON_MIGRAZ.PIVA, @ID_ELAB + FROM C6Staging.V_CLIENTI_CONTRSEI_CON_MIGRAZ + LEFT OUTER JOIN C6Storico.ST_V_CLIENTI_CONTRSEI_CON_MIGRAZ + ON V_CLIENTI_CONTRSEI_CON_MIGRAZ.CODICE_CONTRATTO = ST_V_CLIENTI_CONTRSEI_CON_MIGRAZ.CODICE_CONTRATTO + WHERE ST_V_CLIENTI_CONTRSEI_CON_MIGRAZ.CODICE_CONTRATTO IS NULL + END + --XXXXXXXXXXXXXXXXXXXXXXXX VARIAZIONE_CONTRSEI XXXXXXXXXXXXXXXXXXXXXXXX-- + IF(@NomeTabella IS NULL OR @NomeTabella = 'VARIAZIONE_CONTRSEI') + BEGIN + DELETE FROM C6Storico.ST_VARIAZIONE_CONTRSEI WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + INSERT INTO C6Storico.ST_VARIAZIONE_CONTRSEI + (CODICE_CONTRATTO, CODICE_FISCALE, RETE_PB, PB, DATA_PERFEZIONAMENTO_BASE, DATA_SOTTOSCRIZIONE_BASE, DATA_CHIUSURA_BASE, INDIRIZZO, CAP, CITTA, PROVINCIA, NAZIONE, PRESSO, CPP, FLAG_STAMPA_REPORT, FLAG_EMISSIONE_FATTURA, EMAIL, FREQUENZA_DIAGNOSI, FREQUENZA_MONITORAGGIO, DATA_PERFEZIONAMENTO_C6, DATA_SOTTOSCRIZIONE_C6, DATA_CHIUSURA_C6, ORDINE_DI_ELABORAZIONE_RIGA, ULTIMO_PROGRESSIVO_INVIO, ULTIMA_DATA_INVIO, ULTIMA_DATA_ELABORAZIONE, ID_ELAB) + SELECT CODICE_CONTRATTO, CODICE_FISCALE, RETE_PB, PB, DATA_PERFEZIONAMENTO_BASE, DATA_SOTTOSCRIZIONE_BASE, DATA_CHIUSURA_BASE, INDIRIZZO, CAP, CITTA, PROVINCIA, NAZIONE, PRESSO, CPP, FLAG_STAMPA_REPORT, FLAG_EMISSIONE_FATTURA, EMAIL, FREQUENZA_DIAGNOSI, FREQUENZA_MONITORAGGIO, DATA_PERFEZIONAMENTO_C6, DATA_SOTTOSCRIZIONE_C6, DATA_CHIUSURA_C6, ORDINE_DI_ELABORAZIONE_RIGA, ULTIMO_PROGRESSIVO_INVIO, ULTIMA_DATA_INVIO, ULTIMA_DATA_ELABORAZIONE, @ID_ELAB + FROM C6Staging.VARIAZIONE_CONTRSEI + END + --XXXXXXXXXXXXXXXXXXXXXXXX WANAB XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'WANAB') + -- BEGIN + -- DELETE FROM C6Storico.ST_WANAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.ST_WANAB + -- (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTFINE, DTINI, CTVINI, DTRENDMAX, RENDMAX, DTRENDMIN, RENDMIN, DTCTV, CTV, RENDATT, DTCTVMAX, CTVMAX, DTCTVMIN, CTVMIN, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, ID_ELAB) + -- SELECT WANAB.RETE, WANAB.CODAREA, WANAB.CODPROG, WANAB.CODFIS, WANAB.DTRIF, WANAB.DTFINE, WANAB.DTINI, WANAB.CTVINI, WANAB.DTRENDMAX, WANAB.RENDMAX, WANAB.DTRENDMIN, WANAB.RENDMIN, WANAB.DTCTV, WANAB.CTV, WANAB.RENDATT, WANAB.DTCTVMAX, WANAB.CTVMAX, WANAB.DTCTVMIN, WANAB.CTVMIN, WANAB.CVN, WANAB.CVN_IA, WANAB.CVN_IT, WANAB.APP_INI, WANAB.TOT_APP, WANAB.TOT_LIQ, WANAB.TOT_CED, WANAB.TOT_DIV, WANAB.DCD, WANAB.DCVN, WANAB.SCARTO, WANAB.NTOT_APP, WANAB.NTOT_LIQ, @ID_ELAB + -- FROM C6Staging.WANAB + -- LEFT OUTER JOIN C6Storico.ST_WANAB + -- ON WANAB.RETE = ST_WANAB.RETE + -- AND WANAB.CODAREA = ST_WANAB.CODAREA + -- AND WANAB.CODPROG = ST_WANAB.CODPROG + -- AND WANAB.CODFIS = ST_WANAB.CODFIS + -- AND WANAB.DTRIF = ST_WANAB.DTRIF + -- WHERE ST_WANAB.RETE IS NULL + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX WRENAB XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'WRENAB') + -- BEGIN + -- DELETE FROM C6Storico.ST_WRENAB WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.ST_WRENAB + -- (RETE, CODAREA, CODPROG, CODFIS, DTRIF, DTVALORIZ, CTV, DTINIZ, RENDINIZ, DTTRIM, RENDTRIM, DTANNO, RENDANNO, CVN, CVN_IA, CVN_IT, APP_INI, TOT_APP, TOT_LIQ, TOT_CED, TOT_DIV, DCD, DCVN, SCARTO, NTOT_APP, NTOT_LIQ, ID_ELAB) + -- SELECT WRENAB.RETE, WRENAB.CODAREA, WRENAB.CODPROG, WRENAB.CODFIS, WRENAB.DTRIF, WRENAB.DTVALORIZ, WRENAB.CTV, WRENAB.DTINIZ, WRENAB.RENDINIZ, WRENAB.DTTRIM, WRENAB.RENDTRIM, WRENAB.DTANNO, WRENAB.RENDANNO, WRENAB.CVN, WRENAB.CVN_IA, WRENAB.CVN_IT, WRENAB.APP_INI, WRENAB.TOT_APP, WRENAB.TOT_LIQ, WRENAB.TOT_CED, WRENAB.TOT_DIV, WRENAB.DCD, WRENAB.DCVN, WRENAB.SCARTO, WRENAB.NTOT_APP, WRENAB.NTOT_LIQ, @ID_ELAB + -- FROM C6Staging.WRENAB + -- LEFT OUTER JOIN C6Storico.ST_WRENAB + -- ON WRENAB.RETE = ST_WRENAB.RETE + -- AND WRENAB.CODAREA = ST_WRENAB.CODAREA + -- AND WRENAB.CODPROG = ST_WRENAB.CODPROG + -- AND WRENAB.CODFIS = ST_WRENAB.CODFIS + -- AND WRENAB.DTRIF = ST_WRENAB.DTRIF + -- AND WRENAB.DTVALORIZ = ST_WRENAB.DTVALORIZ + -- WHERE ST_WRENAB.RETE IS NULL + -- END + --XXXXXXXXXXXXXXXXXXXXXXXX WSCABP XXXXXXXXXXXXXXXXXXXXXXXX-- + -- IF(@NomeTabella IS NULL OR @NomeTabella = 'WSCABP') + -- BEGIN + -- DELETE FROM C6Storico.ST_WSCABP WHERE ID_ELAB >= @ID_ELAB OR ID_ELAB < @MIN_ID_ELAB + -- INSERT INTO C6Storico.ST_WSCABP + -- (RETE, CODAREA, CODPROG, CODFIS, DTRIF, TIPPROD, CODCONF, SUBPROD, CODPROD, CONTO, CUSTGAR, RUBR, CODABI, TERMID, ANNO, PROG, DTINGRESSO, ISTITUTO, TIPO_PRODOTT, CONTO_OP, STRUM_FIN, ID_MOVIM, TIPO_OP, RESTART, DT_ING_USC, ING_USC, COD_ERR, DESCR_ERR, DT_ELAB, DT_INS, PCT, PROVENIENZA, ID_ELAB) + -- SELECT WSCABP.RETE, WSCABP.CODAREA, WSCABP.CODPROG, WSCABP.CODFIS, WSCABP.DTRIF, WSCABP.TIPPROD, WSCABP.CODCONF, WSCABP.SUBPROD, WSCABP.CODPROD, WSCABP.CONTO, WSCABP.CUSTGAR, WSCABP.RUBR, WSCABP.CODABI, WSCABP.TERMID, WSCABP.ANNO, WSCABP.PROG, WSCABP.DTINGRESSO, WSCABP.ISTITUTO, WSCABP.TIPO_PRODOTT, WSCABP.CONTO_OP, WSCABP.STRUM_FIN, WSCABP.ID_MOVIM, WSCABP.TIPO_OP, WSCABP.RESTART, WSCABP.DT_ING_USC, WSCABP.ING_USC, WSCABP.COD_ERR, WSCABP.DESCR_ERR, WSCABP.DT_ELAB, WSCABP.DT_INS, WSCABP.PCT, WSCABP.PROVENIENZA, @ID_ELAB + -- FROM C6Staging.WSCABP + -- LEFT OUTER JOIN C6Storico.ST_WSCABP + -- ON WSCABP.RETE = ST_WSCABP.RETE + -- AND WSCABP.CODAREA = ST_WSCABP.CODAREA + -- AND WSCABP.CODPROG = ST_WSCABP.CODPROG + -- AND WSCABP.CODFIS = ST_WSCABP.CODFIS + -- WHERE ST_WSCABP.RETE IS NULL + -- END +-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX FINE TABELLE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + -- XX -- XX -- XX AGGIORNAMENTO DATI C6Staging.TabelleStoricizzate XX -- XX -- XX -- + IF(@NomeTabella IS NOT NULL) + BEGIN + UPDATE C6Staging.TabelleStoricizzate + SET + FINE = GETDATE(), + DURATA = DATEDIFF(SECOND ,INIZIO, GETDATE()) + WHERE NOME = @NomeTabella + END +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Staging_SRV_SVUOTASTAGING.sql b/sql/storedTestbes/C6Staging_SRV_SVUOTASTAGING.sql new file mode 100644 index 00000000..f073539e --- /dev/null +++ b/sql/storedTestbes/C6Staging_SRV_SVUOTASTAGING.sql @@ -0,0 +1,51 @@ +CREATE procedure [C6Staging].[SRV_SVUOTASTAGING] +AS +BEGIN + SET NOCOUNT ON; + TRUNCATE TABLE [C6Staging].[ACBDENOTH] + TRUNCATE TABLE [C6Staging].[ACBDENTRY] + TRUNCATE TABLE [C6Staging].[ADBKRELAT] + TRUNCATE TABLE [C6Staging].[ADS4WS_PROMOTORI] + TRUNCATE TABLE [C6Staging].[ALL_ASSET_CLASS_PER_PROMET] + TRUNCATE TABLE [C6Staging].[ALL_CF_PB] + TRUNCATE TABLE [C6Staging].[ALL_CF_STATO] + TRUNCATE TABLE [C6Staging].[ALL_CONSUL_ASUL] + TRUNCATE TABLE [C6Staging].[ALL_PATR_TERZI] + TRUNCATE TABLE [C6Staging].[ALL_PATRBF] + TRUNCATE TABLE [C6Staging].[ALL_POS_CONS_CAT] + TRUNCATE TABLE [C6Staging].[ALL_PROPOSTA] + TRUNCATE TABLE [C6Staging].[ASSETCLASS] + TRUNCATE TABLE [C6Staging].[C_BO_453FB] + TRUNCATE TABLE [C6Staging].[CATINAREA] + TRUNCATE TABLE [C6Staging].[CATITEMREF] + TRUNCATE TABLE [C6Staging].[COMPTYPE] + TRUNCATE TABLE [C6Staging].[CONO] + TRUNCATE TABLE [C6Staging].[CONSAREA] + TRUNCATE TABLE [C6Staging].[CONSUL] + TRUNCATE TABLE [C6Staging].[INDREND] + TRUNCATE TABLE [C6Staging].[INSTRBDS] + TRUNCATE TABLE [C6Staging].[MACROASSETCLASS] + TRUNCATE TABLE [C6Staging].[NEEDAREA] + TRUNCATE TABLE [C6Staging].[OTHINTRST] + TRUNCATE TABLE [C6Staging].[PORTMOD] + TRUNCATE TABLE [C6Staging].[POSITION] + TRUNCATE TABLE [C6Staging].[PRCONSUL] + TRUNCATE TABLE [C6Staging].[PROMETEIA_AGGR] + TRUNCATE TABLE [C6Staging].[PROMETEIA_DETT] + TRUNCATE TABLE [C6Staging].[QUANTIF] + TRUNCATE TABLE [C6Staging].[S25_CLI_CLIENTE] + TRUNCATE TABLE [C6Staging].[S4_S5_S13_TRAD_UNTIL_LIV3] + TRUNCATE TABLE [C6Staging].[SPB_ASS_UNIT] + TRUNCATE TABLE [C6Staging].[SPB_CLIENTI] + TRUNCATE TABLE [C6Staging].[SPB_CONTR_SINTESI] + TRUNCATE TABLE [C6Staging].[SPB_INDIRIZZI] + TRUNCATE TABLE [C6Staging].[SPB_MIFID] + TRUNCATE TABLE [C6Staging].[SPB_NAC] + TRUNCATE TABLE [C6Staging].[SPB_PARTITE_VIAGG] + TRUNCATE TABLE [C6Staging].[SPB_PROF_RISCHIO] + TRUNCATE TABLE [C6Staging].[V_CLIENTI_CONTRSEI_CON_MIGRAZ] + TRUNCATE TABLE [C6Staging].[VARIAZIONE_CONTRSEI] + TRUNCATE TABLE [C6Staging].[WANAB] + TRUNCATE TABLE [C6Staging].[WRENAB] + TRUNCATE TABLE [C6Staging].[WSCABP] +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Staging_SRV_TABELLE_IN_STAGING.sql b/sql/storedTestbes/C6Staging_SRV_TABELLE_IN_STAGING.sql new file mode 100644 index 00000000..1f8ca3db --- /dev/null +++ b/sql/storedTestbes/C6Staging_SRV_TABELLE_IN_STAGING.sql @@ -0,0 +1,38 @@ +CREATE procedure [C6Staging].[SRV_TABELLE_IN_STAGING] +AS +BEGIN + DECLARE @tabella AS VARCHAR(50) + SET @tabella = NULL + SELECT TOP 1 @tabella = A.tabella + FROM( + SELECT tables.name tabella + FROM sys.tables tables + INNER JOIN sys.schemas schemas + ON tables.schema_id = schemas.schema_id + WHERE schemas.name = 'C6Staging' + AND tables.name <> 'TabelleStoricizzate' + ) A + WHERE A.tabella NOT IN ( + SELECT Nome + FROM C6Staging.TabelleStoricizzate + ) + ORDER BY A.tabella + -- inserisce dei NULL in TabelleStoricizzate!!! + /*INSERT INTO [C6Staging].[TabelleStoricizzate] + ([Nome]) + VALUES + (@tabella)*/ + DECLARE @tabellaDaStoricizzare AS SMALLINT + IF @tabella IS NOT NULL + BEGIN + INSERT INTO [C6Staging].[TabelleStoricizzate] + ([Nome], [Inizio]) + VALUES + (@tabella, GETDATE()) + EXEC C6Staging.SRV_STORICIZZAZIONE @tabella + SET @tabellaDaStoricizzare = 1 + END + ELSE + SET @tabellaDaStoricizzare = 0 + SELECT @tabellaDaStoricizzare tabella, @tabella nome +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Staging_ST_INSERT_SCARTI_SIMPB.sql b/sql/storedTestbes/C6Staging_ST_INSERT_SCARTI_SIMPB.sql new file mode 100644 index 00000000..035c5a39 --- /dev/null +++ b/sql/storedTestbes/C6Staging_ST_INSERT_SCARTI_SIMPB.sql @@ -0,0 +1,64 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Staging].[ST_SELECT_FOR_ADS4WS] 1 +CREATE procedure [C6Staging].[ST_INSERT_SCARTI_SIMPB] + --@NomePacchetto AS VARCHAR(50) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_INSERT_SCARTI_SIMPB', + GETDATE(), + 'Elaborazione giornaliera2' + ) + TRUNCATE TABLE [C6Staging].[SPB_SCARTI] + INSERT INTO [C6Staging].[SPB_SCARTI] + ([Rete] + ,[CodiceFiscale] + ,[PacchettoSSIS] + ,[ID_Elab]) + SELECT [Rete] + ,[Cod_Fiscale] + ,'SPB_CONTRSINTESI' AS [PacchettoSSIS] + ,C6Mart.getIdElab() + FROM C6Mart.RP_VContrattiMigrati + WHERE Cod_Fiscale NOT IN (SELECT CODICEFISCALE + FROM C6Staging.SPB_CONTR_SINTESI) + INSERT INTO [C6Staging].[SPB_SCARTI] + ([Rete] + ,[CodiceFiscale] + ,[PacchettoSSIS] + ,[ID_Elab]) + SELECT [Rete] + ,[Cod_Fiscale] + ,'SPB_MIFID' AS [PacchettoSSIS] + ,C6Mart.getIdElab() + FROM C6Mart.RP_VContrattiMigrati + WHERE Cod_Fiscale NOT IN (SELECT CODICEFISCALE + FROM C6Staging.SPB_MIFID) + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_INSERT_SCARTI_SIMPB' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_INSERT_SCARTI_SIMPB' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Staging_ST_SELECT_FOR_ADS4WS.sql b/sql/storedTestbes/C6Staging_ST_SELECT_FOR_ADS4WS.sql new file mode 100644 index 00000000..dc888f92 --- /dev/null +++ b/sql/storedTestbes/C6Staging_ST_SELECT_FOR_ADS4WS.sql @@ -0,0 +1,80 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +--[C6Staging].[ST_SELECT_FOR_ADS4WS] 1 +CREATE procedure [C6Staging].[ST_SELECT_FOR_ADS4WS] + @Tipo AS INTEGER +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'ST_SELECT_FOR_ADS4WS', + GETDATE(), + 'Elaborazione giornaliera' + ) + IF @Tipo = 1 + BEGIN + -- ELIMINIAMO I CODICI FITTIZI + SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM c6mart.vTuttiIContratti C6 + LEFT JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE + WHERE PF.RETE IS NULL + AND C6.COD_AGENTE NOT IN ('009202') + --AND C6.COD_AGENTE NOT IN ('003064','015115','015117','004038') + END + ELSE + BEGIN + -- PRENDO I CODICI FITTIZI + SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM c6mart.vTuttiIContratti C6 + INNER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE + END + -- Log esecuzione + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'SELECT', + Righe = @@ROWCOUNT + WHERE + Nome = 'ST_SELECT_FOR_ADS4WS' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'ST_SELECT_FOR_ADS4WS' + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/C6Staging_inserisci_promotori_fittizi.sql b/sql/storedTestbes/C6Staging_inserisci_promotori_fittizi.sql new file mode 100644 index 00000000..84569f0f --- /dev/null +++ b/sql/storedTestbes/C6Staging_inserisci_promotori_fittizi.sql @@ -0,0 +1,19 @@ +CREATE procedure [C6Staging].[inserisci_promotori_fittizi] as +begin +insert into [C6Staging].[ADS4WS_PROMOTORI] (rete,codice,prefisso,firma) +SELECT DISTINCT + C6.RETE, + C6.COD_AGENTE AS AGENTE, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END AS PREFISSO, + CASE C6.RETE + WHEN 'F' THEN 'R' + ELSE 'P' + END + C6.COD_AGENTE AS FIRMA + FROM C6Mart.vContrattiPerGenerazioneReport C6 + INNER JOIN C6MART.CODICI_PROMOTORI_FITTIZI PF + ON (C6.COD_AGENTE BETWEEN PF.CODICEDA AND PF.CODICEA) + AND C6.RETE = PF.RETE +end \ No newline at end of file diff --git a/sql/storedTestbes/dbo_AMB_Cerca.sql b/sql/storedTestbes/dbo_AMB_Cerca.sql new file mode 100644 index 00000000..f5decb36 --- /dev/null +++ b/sql/storedTestbes/dbo_AMB_Cerca.sql @@ -0,0 +1,38 @@ +CREATE procedure [dbo].[AMB_Cerca] (@word1 varchar(max) = 'DMECST71D10H501E') as +BEGIN +declare @Datab varchar(300) +declare @query varchar(max) +declare @dbid smallint = 5 +declare @numdb smallint = 1 +select @numdb = max(database_id) from master.sys.databases +IF OBJECT_ID('tempdb.dbo.#temp1', 'U') IS NOT NULL DROP TABLE #temp1; +create table #temp1 (DatabaseName Varchar(300), SchemaName Varchar(300), NomeOggetto varchar(300), TipoOggetto varchar(300), create_date datetime, modify_date datetime) +while (@dbid <= @numdb ) +begin + SELECT @Datab= name FROM master.sys.databases where database_id = @dbid + if @Datab <> 'tempdb' + begin + set @query = + 'Insert Into #temp1 SELECT DISTINCT ''' + @Datab + ''' as DatabaseName, SCHEMA_NAME(schema_id) SchemaName, + o.name AS Object_Name, + o.type_desc, create_date, modify_date + FROM ' + @Datab+'.sys.sql_modules m + INNER JOIN ' + @Datab+ '.sys.objects o + ON m.object_id = o.object_id + WHERE upper(m.definition) like ''%' + @word1 + '%''' + begin try + print @query + exec (@query) + end try + begin catch + Insert Into #temp1 select name , 'si è verificato un errore', + ISNULL( error_message(),'') + FROM master.sys.databases where database_id = @dbid + end catch + end + set @dbid = @dbid + 1 +end +select 'sp_helptext ''' + SchemaName + '.' + NomeOggetto + '''' sp_helptext, * from #temp1 +order by NomeOggetto, TipoOggetto, DatabaseName, SchemaName +drop table #temp1 +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_AMB_InfoPdfTrim.sql b/sql/storedTestbes/dbo_AMB_InfoPdfTrim.sql new file mode 100644 index 00000000..2ef915e2 --- /dev/null +++ b/sql/storedTestbes/dbo_AMB_InfoPdfTrim.sql @@ -0,0 +1,10 @@ +Create procedure [dbo].[AMB_InfoPdfTrim] ( @CF varchar(20) = 'DMECST71D10H501E') as +BEGIN + Declare @dtTrime numeric = (select MAX(dttrim) from c6stagingPeriodico.wseips) + Select 'PERIMETRO' APPO_CONTRATTI , * From C6StagingPeriodico.APPO_CONTRATTI where Cod_Fiscale = @CF + Select 'FTP' GESTIONE_PDF_FTP , * From C6MartPeriodico.GESTIONE_PDF_FTP where CodiceFiscale = @CF + Select 'FTP_HST' GESTIONE_PDF_FTP_HST , * From C6MartPeriodico.GESTIONE_PDF_FTP_HST where CodiceFiscale = @CF + select distinct 'wseiPS' wseiPS, 'Profilo Scaduto' as DescrErr, * from c6stagingPeriodico.wseips where CodFis = @CF and dttrim = @dtTrime + select distinct 'wseiDC' wseiDC, case tipolett when '0' then 'RFA=0' when '6' then 'RFA Minus' when '2' then 'BLACKLIST RFA MINUS CLIENTE SEI E IMMOBILIARE' when 'A' then 'Profilo EC' END AS DescrErr, * from c6stagingPeriodico.wseiDC where CodFis = @CF and dttrim = @dtTrime and TIPOLETT not in ('R','S') + Select 'ExcludedList' ExcludedList, * from [C6MartPeriodico].[ExcludedList] e where e.codicefiscale = @CF +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_Aggiorna_Trimestrale_SEI_Processi.sql b/sql/storedTestbes/dbo_Aggiorna_Trimestrale_SEI_Processi.sql new file mode 100644 index 00000000..1b72361b --- /dev/null +++ b/sql/storedTestbes/dbo_Aggiorna_Trimestrale_SEI_Processi.sql @@ -0,0 +1,22 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [dbo].[Aggiorna_Trimestrale_SEI_Processi] + -- Add the parameters for the stored procedure here + @Attivita as varchar(30) = NULL, + @Semaforo as varchar(10) = NULL, --Y(ellow) --> in esecuzione, R(ed)= fallita,G(reen) = ok eseguita,W(hite) = mai eseguita + @Datainizio as datetime = NULL, + @DataFine as datetime = NULL, + @Note as text = NULL +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + --if (@Attivita is not null) + --update [dbo].[Cruscotto_Trimestrale_SEI_Processi] + --set (semaforo + --where attivita = @Attivita +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_CERCA.sql b/sql/storedTestbes/dbo_CERCA.sql new file mode 100644 index 00000000..dcfe4f9e --- /dev/null +++ b/sql/storedTestbes/dbo_CERCA.sql @@ -0,0 +1,55 @@ +--[CERCA] '%COD%','P','c6martperiodico' +CREATE procedure [dbo].[CERCA] + @testo varchar(500) = '', + @tipo varchar(2) = '', + @schema varchar(500) = '' +AS +BEGIN +IF @tipo <> '' AND @schema <> '' + SELECT SCHEMA_NAME(schema_id),* FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo) + AND SCHEMA_NAME(schema_id) = @schema + AND type = @tipo + order by 1 +IF @tipo <> '' AND @schema = '' + SELECT SCHEMA_NAME(schema_id),* FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo) + --AND SCHEMA_NAME(schema_id) = @schema + AND type = @tipo + order by 1 +IF @tipo = '' AND @schema <> '' + SELECT SCHEMA_NAME(schema_id),* FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo) + AND SCHEMA_NAME(schema_id) = @schema + --AND type = @tipo + order by 1 +IF @tipo = '' AND @schema = '' + SELECT SCHEMA_NAME(schema_id),* FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo) + --AND SCHEMA_NAME(schema_id) = @schema + --AND type = @tipo + order by 1 +--AF = funzione di aggregazione (CLR) +--C = vincolo CHECK +--D = DEFAULT (vincolo o valore autonomo) +--F = vincolo FOREIGN KEY +--FN = funzione scalare SQL +--FS = funzione scalare di assembly (CLR) +--FT = funzione valutata a livello di tabella assembly (CLR) +--IF = funzione SQL inline valutata a livello di tabella +--IT = tabella interna +--P = stored procedure SQL +--PC = stored procedure di assembly (CLR) +--PG = guida di piano +--PK = vincolo PRIMARY KEY +--R = regola (tipo obsoleto, autonoma) +--RF = procedura-filtro-replica +--S = tabella di base di sistema +--SN = sinonimo +--SO = oggetto sequenza +--SQ = coda di servizio +--TA = trigger DML assembly (CLR) +--TF = funzione valutata a livello di tabella SQL +--TR = trigger DML SQL +--TT = tipo tabella +--U = tabella (definita dall'utente) +--UQ = vincolo UNIQUE +--V = vista +--X = stored procedure estesa +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_CERCA_FA.sql b/sql/storedTestbes/dbo_CERCA_FA.sql new file mode 100644 index 00000000..1cb0230a --- /dev/null +++ b/sql/storedTestbes/dbo_CERCA_FA.sql @@ -0,0 +1,56 @@ +--[CERCA] '%COD%','P','c6martperiodico' +CREATE procedure [dbo].[CERCA_FA] + @testo varchar(500) = '', + @tipo varchar(2) = '', + @schema varchar(500) = '' +AS +BEGIN +set @testo = '%' + @testo + '%' +IF @tipo <> '' AND @schema <> '' + SELECT 'sp_helptext ''' + SCHEMA_NAME(schema_id) + '.' + name + '''' sp_helptext, SCHEMA_NAME(schema_id) SchemaName, * FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo) + AND SCHEMA_NAME(schema_id) = @schema + AND type = @tipo + order by 1 +IF @tipo <> '' AND @schema = '' + SELECT 'sp_helptext ''' + SCHEMA_NAME(schema_id) + '.' + name + '''' sp_helptext, SCHEMA_NAME(schema_id) SchemaName, * FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo) + --AND SCHEMA_NAME(schema_id) = @schema + AND type = @tipo + order by 1 +IF @tipo = '' AND @schema <> '' + SELECT 'sp_helptext ''' + SCHEMA_NAME(schema_id) + '.' + name + '''' sp_helptext, SCHEMA_NAME(schema_id) SchemaName, * FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo) + AND SCHEMA_NAME(schema_id) = @schema + --AND type = @tipo + order by 1 +IF @tipo = '' AND @schema = '' + SELECT 'sp_helptext ''' + SCHEMA_NAME(schema_id) + '.' + name + '''' sp_helptext, SCHEMA_NAME(schema_id) SchemaName, * FROM sys.objects WHERE object_id IN (SELECT id FROM syscomments WHERE text like @testo) + --AND SCHEMA_NAME(schema_id) = @schema + --AND type = @tipo + order by 1 +--AF = funzione di aggregazione (CLR) +--C = vincolo CHECK +--D = DEFAULT (vincolo o valore autonomo) +--F = vincolo FOREIGN KEY +--FN = funzione scalare SQL +--FS = funzione scalare di assembly (CLR) +--FT = funzione valutata a livello di tabella assembly (CLR) +--IF = funzione SQL inline valutata a livello di tabella +--IT = tabella interna +--P = stored procedure SQL +--PC = stored procedure di assembly (CLR) +--PG = guida di piano +--PK = vincolo PRIMARY KEY +--R = regola (tipo obsoleto, autonoma) +--RF = procedura-filtro-replica +--S = tabella di base di sistema +--SN = sinonimo +--SO = oggetto sequenza +--SQ = coda di servizio +--TA = trigger DML assembly (CLR) +--TF = funzione valutata a livello di tabella SQL +--TR = trigger DML SQL +--TT = tipo tabella +--U = tabella (definita dall'utente) +--UQ = vincolo UNIQUE +--V = vista +--X = stored procedure estesa +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_CHECK_INSERT_PRODOTTI_NON_A_CATALOGO.sql b/sql/storedTestbes/dbo_CHECK_INSERT_PRODOTTI_NON_A_CATALOGO.sql new file mode 100644 index 00000000..0a07f309 --- /dev/null +++ b/sql/storedTestbes/dbo_CHECK_INSERT_PRODOTTI_NON_A_CATALOGO.sql @@ -0,0 +1,7 @@ +CREATE procedure [dbo].[CHECK_INSERT_PRODOTTI_NON_A_CATALOGO] +as +truncate table c6stagingperiodico.spb_contr_sintesi_prodotti_NO_PID +insert into c6stagingperiodico.spb_contr_sintesi_prodotti_NO_PID +select * +from c6stagingperiodico.spb_contr_sintesi +where positionid is null \ No newline at end of file diff --git a/sql/storedTestbes/dbo_CONTROLLO_COMPLESSITA.sql b/sql/storedTestbes/dbo_CONTROLLO_COMPLESSITA.sql new file mode 100644 index 00000000..25bcf7d7 --- /dev/null +++ b/sql/storedTestbes/dbo_CONTROLLO_COMPLESSITA.sql @@ -0,0 +1,30 @@ +CREATE procedure [dbo].[CONTROLLO_COMPLESSITA] +as +begin +declare @cf as varchar(16) +set @cf = 'CSRRNZ50R55I802I' +SELECT max(a.complex) as complexMaxInPTF +FROM C6STAGINGPERIODICO.CATITEMREF A INNER JOIN +C6MARTPERIODICO.PATRIMONIO_Bf B +ON A.CATALOGUEID = SUBSTRING(B.POSITION_ID,1,57) +WHERE B.COD_FISCALE=@cf +SELECT max(a.complex) as complexMaxInPTFGiorn +FROM C6STAGING.CATITEMREF A INNER JOIN +C6MARTPERIODICO.PATRIMONIO_Bf B +ON A.CATALOGUEID = SUBSTRING(B.POSITION_ID,1,57) +WHERE B.COD_FISCALE=@cf +SELECT cod_profec as complexProfiloCliente +FROM C6STAGINGPERIODICO.wSEIAN2 +WHERE CODFIS=@cf +AND DTTRIM =20110930 +SELECT * +FROM C6STAGINGPERIODICO.CATITEMREF A INNER JOIN +C6MARTPERIODICO.PATRIMONIO_Bf B +ON A.CATALOGUEID = SUBSTRING(B.POSITION_ID,1,57) +WHERE B.COD_FISCALE=@cf +SELECT * +FROM C6STAGING.CATITEMREF A INNER JOIN +C6MARTPERIODICO.PATRIMONIO_Bf B +ON A.CATALOGUEID = SUBSTRING(B.POSITION_ID,1,57) +WHERE B.COD_FISCALE=@cf +end \ No newline at end of file diff --git a/sql/storedTestbes/dbo_CREA_CAMPIONE.sql b/sql/storedTestbes/dbo_CREA_CAMPIONE.sql new file mode 100644 index 00000000..1995f4be --- /dev/null +++ b/sql/storedTestbes/dbo_CREA_CAMPIONE.sql @@ -0,0 +1,285 @@ +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE] + -- Add the parameters for the stored procedure here +AS +BEGIN +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select a.rete,a.cod_fiscale +from consuni_periodico.ConsulenzaUnica.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport + -- mod 11/7/2018 - vogliamo meno report + --select top 220 + --select top 100 + -- fine mod 11/7/2018 +-- mod 16/4/2019 - vogliamo più report :) +select top 0 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c6 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c16 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c42 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c39 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c45 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c56 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c57 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c58 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +-- modifica di Luca del 14/4/2016 - Per essere sicuri di estrarre tutti i cf in più richiesti pesco dal bacino che contiene +-- tutto cioè #appoCamp1 +-- luca from #appoCamp3 a +from #appoCamp1 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and a.rete+a.cod_fiscale in + (select rete + codicefiscale from [dbo].[Incl_SpecCdT_Campione] ) +-- modifica del 21/9/2018 per escludere dal campione i cf con risorse NA +-- la creazione della tabella CLIENTI_RISORSE_NA è stata inserita nel mart +and a.rete+a.cod_fiscale not in (select distinct rete + cod_fiscale from [C6MartPeriodico].[CLIENTI_RISORSE_NA] ) +-- fine modifica del 21/9/2018 +--aggiunta 13/06/2022 +select distinct * +into #campioneNoDuplicati +from appocampionereport +truncate table appocampionereport +insert into appoCampioneReport +select * from #campioneNoDuplicati +--fine aggiunta +drop table #appoCamp1 +drop table #appoCamp2 +drop table #appoCamp3 +drop table #campioneNoDuplicati +truncate table C6MartPeriodico.TB_Campione +insert into C6MartPeriodico.TB_Campione +select distinct rete, cod_fiscale, 1 --1 è il campo flag stampa che indica che dev esser stampato in fase di generazione del campione, 0 niente stampa +from appocampionereport +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_CREA_CAMPIONE_20160119.sql b/sql/storedTestbes/dbo_CREA_CAMPIONE_20160119.sql new file mode 100644 index 00000000..34883c90 --- /dev/null +++ b/sql/storedTestbes/dbo_CREA_CAMPIONE_20160119.sql @@ -0,0 +1,215 @@ +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_20160119] + -- Add the parameters for the stored procedure here +AS +BEGIN +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select rete,cod_fiscale +from consevo_periodico.ConsulenzaEvoluta.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc +insert into appocampionereport +select top 175 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c6 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c16 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c42 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and a.rete+a.cod_fiscale in + ('FTGLMRA30A04A409N' + ,'FBZZGPP46C18A409M' + ,'FCCRGPP54B27H307C' + ,'FCRNCST86C56G062N' + ,'FGHNDNL46L21G007R' + ,'FGNSMNL58D47H037E' + ,'FNAIGNE40H10B463Q' + ,'FNCLLCU74M70L682S' + ,'FPRNNTN32B06E003M' + ,'FPRTNMR29R62L219X' + ,'FRLDLCN35B18A409N' + ,'FRPILNI47M11L746H' + ,'FSNEPMR60S24I976R' + ,'FTBRFRZ68L20H037P' + ,'FTBRGBR37R22G062P' + ,'FTBRMRZ65H27H037W' + ,'FTTTGDE24D04A409P' + ,'FBRLGCR25P13B885H' + ,'FMRNNZE22A01F205W' + ,'FMRNGMR53P60F205P' +--casi test richiesti da scirocco 10/12/2015 per FOI80 + ,'FBLNMGR55B56D332B' + ,'FDNGGSN33A68B910W' + ,'FFVRPLA56S48Z614J' + ,'FDLLGNN47C09F952J' + ,'FDBNMRA65E67L049H' + ,'FLNZMLN35C46A564D' + ,'FCLNGNN47P06E606N' + ,'FBCHMTN58B07E398F' + ,'SSCSCMD53D12F052Q' +--CASI TEST Rossi Rosanna: Segnalazione di errata rendicontazione nel report di monitoraggio SEI - tt T-1205349-F4W8 + ,'FRSSRNN48C44A783Z' +-- CASI TEST PER CF CHE HANNO PRODOTTI DI BANCHE IN DEFAULT +,'FBNCMHL27S63I760X' +,'FCNTRME55S24B853O' +,'FCRMVGN49S53F791G' +,'FCRSGPT53M02D548K' +,'FGNAGLL33E53A393A' +,'FMGNLRI75A60H901Z' +,'FMGNLRI75A60H901Z' +,'FMNZMNL46C62A393V' +,'FMRNMNG53P46H294F' +,'FNTRMRZ67T17H223L' +,'FPLZLRA40T54L390R' +,'FPRTCHR52L69H017M' +,'FSRVDDE31L44A191J' +, 'SBNOSDR61T03F205W' +,'SBNOSDR61T03F205W' +,'SCLCLNE41M47H434D' +,'SCLCLNE41M47H434D' +,'SCPPBRN41H45C773S' +,'SMGNCRN32R54G547I' +,'SMZZCRL31P55G916D' +,'SSVLSFN64B08A390G' +) +drop table #appoCamp1 +drop table #appoCamp2 +drop table #appoCamp3 +truncate table C6MartPeriodico.TB_Campione +insert into C6MartPeriodico.TB_Campione +select rete, cod_fiscale, 1 --1 è il campo flag stampa che indica che dev esser stampato in fase di generazione del campione, 0 niente stampa +from appocampionereport +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_CREA_CAMPIONE_20160318.sql b/sql/storedTestbes/dbo_CREA_CAMPIONE_20160318.sql new file mode 100644 index 00000000..b30daf6f --- /dev/null +++ b/sql/storedTestbes/dbo_CREA_CAMPIONE_20160318.sql @@ -0,0 +1,320 @@ +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_20160318] + -- Add the parameters for the stored procedure here +AS +BEGIN +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select rete,cod_fiscale +from consevo_periodico.ConsulenzaEvoluta.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport +select top 175 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c6 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c16 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c42 > 0 +order by b.tip_contratto desc, tot desc +------------------------------------------------------------------------------LUCA +--insert into appocampionereport +--select top 1 +----DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +--a.rete,a.cod_fiscale,'',b.tip_contratto +----DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +----case when b.tip_contratto=0 then 'OLD' +---- when b.tip_contratto=1 then 'AFFLUENT' +---- when b.tip_contratto=2 then 'PRIVATE' +----end as TipoContratto, +----a.* +--from #appoCamp3 a +--inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--where stato_report = 23) +--and c39 > 0 +--order by b.tip_contratto desc, tot desc +--insert into appocampionereport +--select top 1 +----DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +--a.rete,a.cod_fiscale,'',b.tip_contratto +----DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +----case when b.tip_contratto=0 then 'OLD' +---- when b.tip_contratto=1 then 'AFFLUENT' +---- when b.tip_contratto=2 then 'PRIVATE' +----end as TipoContratto, +----a.* +--from #appoCamp3 a +--inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--where stato_report = 23) +--and c45 > 0 +--order by b.tip_contratto desc, tot desc +--insert into appocampionereport +--select top 1 +----DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +--a.rete,a.cod_fiscale,'',b.tip_contratto +----DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +----case when b.tip_contratto=0 then 'OLD' +---- when b.tip_contratto=1 then 'AFFLUENT' +---- when b.tip_contratto=2 then 'PRIVATE' +----end as TipoContratto, +----a.* +--from #appoCamp3 a +--inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--where stato_report = 23) +--and c56 > 0 +--order by b.tip_contratto desc, tot desc +--insert into appocampionereport +--select top 1 +----DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +--a.rete,a.cod_fiscale,'',b.tip_contratto +----DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +----case when b.tip_contratto=0 then 'OLD' +---- when b.tip_contratto=1 then 'AFFLUENT' +---- when b.tip_contratto=2 then 'PRIVATE' +----end as TipoContratto, +----a.* +--from #appoCamp3 a +--inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--where stato_report = 23) +--and c57 > 0 +--order by b.tip_contratto desc, tot desc +--insert into appocampionereport +--select top 1 +----DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +--a.rete,a.cod_fiscale,'',b.tip_contratto +----DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +----case when b.tip_contratto=0 then 'OLD' +---- when b.tip_contratto=1 then 'AFFLUENT' +---- when b.tip_contratto=2 then 'PRIVATE' +----end as TipoContratto, +----a.* +--from #appoCamp3 a +--inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--where stato_report = 23) +--and c58 > 0 +--order by b.tip_contratto desc, tot desc +--------------------------------------- FINE LUCA +insert into appocampionereport +select +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and a.rete+a.cod_fiscale in + ('FTGLMRA30A04A409N' + ,'FBZZGPP46C18A409M' + ,'FCCRGPP54B27H307C' + ,'FCRNCST86C56G062N' + ,'FGHNDNL46L21G007R' + ,'FGNSMNL58D47H037E' + ,'FNAIGNE40H10B463Q' + ,'FNCLLCU74M70L682S' + ,'FPRNNTN32B06E003M' + ,'FPRTNMR29R62L219X' --co non più attivo + ,'FRLDLCN35B18A409N' + ,'FRPILNI47M11L746H' + ,'FSNEPMR60S24I976R' + ,'FTBRFRZ68L20H037P' + ,'FTBRGBR37R22G062P' + ,'FTBRMRZ65H27H037W' + ,'FTTTGDE24D04A409P' -- co non più attivo + ,'FBRLGCR25P13B885H' + ,'FMRNNZE22A01F205W' -- profilo scaduto + ,'FMRNGMR53P60F205P' +--casi test richiesti da scirocco 10/12/2015 per FOI80 + ,'FBLNMGR55B56D332B' + ,'FDNGGSN33A68B910W' + ,'FFVRPLA56S48Z614J' + ,'FDLLGNN47C09F952J' + ,'FDBNMRA65E67L049H' + ,'FLNZMLN35C46A564D' + ,'FCLNGNN47P06E606N' + ,'FBCHMTN58B07E398F' + ,'SSCSCMD53D12F052Q' +--CASI TEST Rossi Rosanna: Segnalazione di errata rendicontazione nel report di monitoraggio SEI - tt T-1205349-F4W8 + ,'FRSSRNN48C44A783Z' +-- CASI TEST PER CF CHE HANNO PRODOTTI DI BANCHE IN DEFAULT +,'FBNCMHL27S63I760X' +,'FCNTRME55S24B853O' +,'FCRMVGN49S53F791G' +,'FCRSGPT53M02D548K' +,'FGNAGLL33E53A393A' +,'FMGNLRI75A60H901Z' +,'FMGNLRI75A60H901Z' +,'FMNZMNL46C62A393V' +,'FMRNMNG53P46H294F' +,'FNTRMRZ67T17H223L' +,'FPLZLRA40T54L390R' +,'FPRTCHR52L69H017M' +,'FSRVDDE31L44A191J' +, 'SBNOSDR61T03F205W' +,'SBNOSDR61T03F205W' +,'SCLCLNE41M47H434D' +,'SCLCLNE41M47H434D' +,'SCPPBRN41H45C773S' +,'SMGNCRN32R54G547I' +,'SMZZCRL31P55G916D' +,'SSVLSFN64B08A390G' +) +drop table #appoCamp1 +drop table #appoCamp2 +drop table #appoCamp3 +truncate table C6MartPeriodico.TB_Campione +insert into C6MartPeriodico.TB_Campione +select distinct rete, cod_fiscale, 1 --1 è il campo flag stampa che indica che dev esser stampato in fase di generazione del campione, 0 niente stampa +from appocampionereport +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_CREA_CAMPIONE_20160414.sql b/sql/storedTestbes/dbo_CREA_CAMPIONE_20160414.sql new file mode 100644 index 00000000..a822d2a3 --- /dev/null +++ b/sql/storedTestbes/dbo_CREA_CAMPIONE_20160414.sql @@ -0,0 +1,538 @@ +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_20160414] + -- Add the parameters for the stored procedure here +AS +BEGIN +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select rete,cod_fiscale +from consevo_periodico.ConsulenzaEvoluta.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport +select top 175 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c6 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c16 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c42 > 0 +order by b.tip_contratto desc, tot desc +------------------------------------------------------------------------------LUCA +--insert into appocampionereport +--select top 1 +----DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +--a.rete,a.cod_fiscale,'',b.tip_contratto +----DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +----case when b.tip_contratto=0 then 'OLD' +---- when b.tip_contratto=1 then 'AFFLUENT' +---- when b.tip_contratto=2 then 'PRIVATE' +----end as TipoContratto, +----a.* +--from #appoCamp3 a +--inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--where stato_report = 23) +--and c39 > 0 +--order by b.tip_contratto desc, tot desc +--insert into appocampionereport +--select top 1 +----DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +--a.rete,a.cod_fiscale,'',b.tip_contratto +----DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +----case when b.tip_contratto=0 then 'OLD' +---- when b.tip_contratto=1 then 'AFFLUENT' +---- when b.tip_contratto=2 then 'PRIVATE' +----end as TipoContratto, +----a.* +--from #appoCamp3 a +--inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--where stato_report = 23) +--and c45 > 0 +--order by b.tip_contratto desc, tot desc +--insert into appocampionereport +--select top 1 +----DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +--a.rete,a.cod_fiscale,'',b.tip_contratto +----DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +----case when b.tip_contratto=0 then 'OLD' +---- when b.tip_contratto=1 then 'AFFLUENT' +---- when b.tip_contratto=2 then 'PRIVATE' +----end as TipoContratto, +----a.* +--from #appoCamp3 a +--inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--where stato_report = 23) +--and c56 > 0 +--order by b.tip_contratto desc, tot desc +--insert into appocampionereport +--select top 1 +----DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +--a.rete,a.cod_fiscale,'',b.tip_contratto +----DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +----case when b.tip_contratto=0 then 'OLD' +---- when b.tip_contratto=1 then 'AFFLUENT' +---- when b.tip_contratto=2 then 'PRIVATE' +----end as TipoContratto, +----a.* +--from #appoCamp3 a +--inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--where stato_report = 23) +--and c57 > 0 +--order by b.tip_contratto desc, tot desc +--insert into appocampionereport +--select top 1 +----DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +--a.rete,a.cod_fiscale,'',b.tip_contratto +----DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +----case when b.tip_contratto=0 then 'OLD' +---- when b.tip_contratto=1 then 'AFFLUENT' +---- when b.tip_contratto=2 then 'PRIVATE' +----end as TipoContratto, +----a.* +--from #appoCamp3 a +--inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +--where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +--and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +--where stato_report = 23) +--and c58 > 0 +--order by b.tip_contratto desc, tot desc +--------------------------------------- FINE LUCA +insert into appocampionereport +select +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and a.rete+a.cod_fiscale in +-- RACCOMANDATE + ('FTGLMRA30A04A409N' + ,'FBZZGPP46C18A409M' + ,'FCCRGPP54B27H307C' + ,'FCRNCST86C56G062N' + ,'FGHNDNL46L21G007R' + ,'FGNSMNL58D47H037E' + ,'FNAIGNE40H10B463Q' + ,'FNCLLCU74M70L682S' + ,'FPRNNTN32B06E003M' + ,'FPRTNMR29R62L219X' --co non più attivo + ,'FRLDLCN35B18A409N' + ,'FRPILNI47M11L746H' + ,'FSNEPMR60S24I976R' + ,'FTBRFRZ68L20H037P' + ,'FTBRGBR37R22G062P' + ,'FTBRMRZ65H27H037W' + ,'FTTTGDE24D04A409P' -- co non più attivo + ,'FBRLGCR25P13B885H' + ,'FMRNNZE22A01F205W' -- profilo scaduto + ,'FMRNGMR53P60F205P' +-- 250 casi test individuati da Scirocco-Quaranta +,'SBBALDA42L69C660I', +'FBCCFNC30H12L219Y', +'FBFFNGL37D19D245V', +'FBGLCRD41B61F205K', +'FBGZGNN40M45D612G', +'FBLLLGU46L21A191N', +'FBNGMLL33C49A794A', +'SBNOLGU65H28E290R', +'SBRGNRC63L01L219L', +'FBAAMTR48C43I470Y', +'FBAEMJA43E70Z133C', +'SBBBLGO28A43F637C', +'FBCCDCE46S22I068J', +'FBRZLVR50S44F965F', +'FCCOMNL48P22A056F', +'FCHRLBT33H58L219J', +'FCLMGNZ58E02M147X', +'FCRTLRD44A17A246K', +'SCVCRTI69D68G643C', +'SCZZNNP52R69D969U', +'SDGHCLD59T30L304C', +'FDRSGPP62S55A512W', +'SDSDGRZ52M46G628J', +'FDSMPLG48D30B424N', +'SFBBBBR69D42Z133D', +'SFBNNZE58B58A089T', +'SFVRFRZ63L10L840J', +'SGTAMDR50M71C415E', +'SJCCGRG38T27A326Q', +'SJCPGFR42E03G224H', +'SLVRDLA25S47B157C', +'FBFFNGL40C07A191T', +'SMRTFRL70D17Z114U', +'SNCLCRL76E10H501X', +'FBGODNL68R47H294D', +'SBLDMTN83R42L746N', +'FBLGVLI42D59G747R', +'FPGLCRL55S04F158Y', +'SPGLVCN44C50F817O', +'SPLTCLD48T07L753V', +'FPRVNNL54D46A794W', +'FRNCNDR88B16A475F', +'FRVSDGN37D67F133B', +'FSCCFNC51T07L030D', +'FSCGLRA60S53L736D', +'STLICCT55D19C351B', +'FVLNLVI62R29F398C', +'FZPTCST86P30Z604K', +'FBLLRLD34B06G664X', +'SBNDSNE47R62A040Z', +'FBNNNLI66A49E715K', +'SCCCSDR59E28E472B', +'FCRTGPP56M65F304H', +'SCVDMNG50E49D482N', +'SDBNFNC38L24D969G', +'SDFBPLA70L28H501P', +'FDLMGPR21H24F205P', +'FDLMLCU63R03E289N', +'FDMSLRS44E06D609O', +'SDSCPRZ60M61F952X', +'SDZZLVI61P18L219F', +'FFBBFNC35T50A944D', +'FFBBSVC40R53A851T', +'FFCCFDL48D10F242K', +'SFNTMRA47A11H501U', +'FFRNNGL61R17D704E', +'SFTTMRM60B53F508M', +'SFZZNNA46E52B293U', +'SGAINRC35L25D969J', +'SGBRGLC70L03F257S', +'FGBRGRL41L68H501E', +'FGBRGRL53L14H714J', +'FGVNNDR72S20E463X', +'SLZTPCR47S29A017U', +'FMZZSFN68D05E507F', +'FNBBFNC33T13H223X', +'SNCLFNC61R29G482Y', +'FNSLGRG70L06H727L', +'FNZLPRZ67L44C743K', +'FPTRLLN49A43A633J', +'FPVSRCR72L01A794D', +'FQRTVNN55S10G337A', +'FRNDGNN60M57D458C', +'FSCGLFA40B04G467F', +'SSVNSVN61R15L295O', +'FVDNMRN54A53L682F', +'FVLLFRC78E26F965G', +'FVLTLSN69P45A794U', +'SZLOGFR66L05G031Z', +'SFRZMHL63S11A182H', +'FNDRGFR46H28H816G', +'FGSPCMN24R50G535X', +'FLCTCLB52B22B910V', +'FPRSNLG48A06I452L', +'FFTTRRT64E70H501Q', +'FMRLSLV60A50H223V', +'FFBNCHR75T71C765V', +'SGZZMLV44P59B328P', +'FCCHPCD37P25F654J', +'FPRCLTT53S46E837D', +'FBFFNCL34L57C712F', +'FLCSZEI61L20L219R', +'FGHTMNC62H54L219A', +'FCRTGPP51A68G062O', +'FCMNDNT55C56A944A', +'FGRBLCU78B63E388O', +'FBAANGL45S03E472U', +'FQZECML41P21M021X', +'FVGLFRC84S68L219D', +'FRAICLM62B41A124Z', +'FBLLLGU33M17H598Z', +'FPNZRND47R08H361M', +'FMRLPTR37B27G179W', +'FPRZLNE38S60F717W', +'FBFFNDR60S25H501N', +'FCRTLRD33T19E094X', +'SFNTMRA42C49L781H', +'FBAUMLS47R69F864K', +'FGGLLDI36B42I622Z', +'FBAILDI62S56A794Z', +'FBMBLRF90E50L219G', +'FCMLNRT52L48G157B', +'FCCOLFA50P30A056F', +'FCRNNTN34L12F839V', +'SDBBTMS21A01E885K', +'SBBBNTN59M25H725F', +'SLMNMGR56E46D653B', +'SCFFFPP66D18D969P', +'SFSCGPP45C07L259I', +'SKSRGRD59S24F839I', +'SBZZPTR32S23I573D', +'SBBBFVN61S20F952S', +'SBBALDA40E13G684G', +'SVNTFBA69P29H501I', +'SBGGPLA66P62E463X', +'STLLMRA55P45C474K', +'SCNIBNR28M29G702B', +'SGAIRCE76T49A182F', +'SBNOMGR58L49L741U', +'SKPJVDM70H06Z100X', +'SFVLGNT55B19G742Z', +'SSPGTRS50P66F839Q', +'SMRZCLL53B45A794N', +'SMRZMNC59P68A794V', +'SBSTSLV59R51F952Q', +'SFLSLBT64C65H501Z', +'SCCCRSO46S64H501N', +'SDDMSNO47S45B433P', +'SCVRPQL69M23M082N', +'SBBBMNG29D46D205W', +'SZMBDNL49E45H501D', +'FFF@4268' , +'S08092471005' , +'S92001720017' , +'S02111000598' , +'FJNNVLD16E55F348U', +'SBTNGNN49H22I726G', +'SBRLMNG54M42C014M', +'SFRCLMP43A62C478K', +'FGRMMSM66H16D612I', +'S91020570114' , +'SVLPMRA43E01I287Z', +'SDLLCRL68C03H294E', +'SFLRVGL48D26F979S', +'SBBDFNC28A19E602R', +'FFF@8715' , +'SMSTMRS55S65A783N', +'SPLLGRL41C22E463N', +'SNCCMFR51E42H468M', +'SBBBNLR59H11H501R', +'SBRTRLD43P21H449J', +'SPRTRST58T53L219L', +'SBBNGCR56R59F817O', +'SCNGLLN50E70L245U', +'SQTTGLN57M42A269L', +'SCTCGCR41C21G920A', +'SFSCFRZ67E23G482M', +'SJCCSNT44P56H501L', +'S10733481005' , +'SGSPMGR31T69G482B', +'FCRNPRZ59H55E290K', +'SBRLMLR52P45G337S', +'SFRCLRT65C22E957W', +'FPLTTNM51R63F952U', +'FBBNTTN70H51Z154P', +'SDVSNMR76E49L418D', +'FCCHCLD60M09L706A', +'SBNDRMO45S22F642B', +'SZPPNGL23M70L633U', +'F80218090589' , +'SGGLMCN62M44F112K', +'SPSTBRN29M70G528H', +'SMSTDRN62S06H501I', +'FNFRNMR30C69C574V', +'FPCCNNL55L42B832J', +'FBAIMRC74M29L157G', +'SCAUGNN23C51H501U', +'FBLDMNC70D41C111F', +'SDFBCST94E63G878N', +'FBLLRLA69H24E463K', +'FBMBLRI84R70L219M', +'SCTTMTT78H08F205L', +'F80059170581' , +'FLCTFRC61L04A794V', +'SGSTDMR65R01E715S', +'FBAINTN41C04E864R', +'FDLSNRN48A01H501Y', +'FPRSMVN40D05G273R', +'F01621300597' , +'SGSTSRG60E01H501T', +'FBBBCLD51A17I480R', +'F97762280010' , +'SPLLGRT39M66Z112H', +'SMCCVTR41E09F736B', +'FFBRMLC30E50E864W', +'S01705010591' , +'FBCCFNC37C06D969P', +'FFMGLDI71S49I858Q', +'SCBLSLD45M08H501C', +'S07735910585' , +'FBAASFN72B19E472H', +'F97665800153' , +'FBAAGRL59E54I470S', +'FFMEFMN49B45E956U', +'SNGRCLD62A47Z404V', +'FCRVGNN53T57C243L', +'F00423970060' , +'SBLDNLT64T46A984O', +'SCSLSFN82R22F257J', +'FDTTSLV82T49H501H', +'FVCNLRA79L51B296M', +'FGHRVNT72T57A479A', +'F03387060548' , +'SPLNLSN38P28G401U', +'SZPPDRD57E15G493Z', +'FFLNMHL74M13I829Z', +'FDRSLSN77C25L219Y', +'FTFFCST75T45L219A', +'FGRMLSN66D57A944O', +'FDSGWND29M45C627O', +'FNSTGNN50L27F205U', +'SBBTMTL87D07G348I', +'FBBNNNI58L41F471I', +'FFRNMRZ64H08F454W', +'SGCMGLN45A63B982R', +'FBGGCST58S49D704L', +'FCHRLGU38C09E887Z', +'SDRSRSR49D70F839H', +'SSPSVCN66S01F839D', +'SBBNPML78E44A984U' +) +drop table #appoCamp1 +drop table #appoCamp2 +drop table #appoCamp3 +truncate table C6MartPeriodico.TB_Campione +insert into C6MartPeriodico.TB_Campione +select distinct rete, cod_fiscale, 1 --1 è il campo flag stampa che indica che dev esser stampato in fase di generazione del campione, 0 niente stampa +from appocampionereport +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_CREA_CAMPIONE_20161216.sql b/sql/storedTestbes/dbo_CREA_CAMPIONE_20161216.sql new file mode 100644 index 00000000..87f331c3 --- /dev/null +++ b/sql/storedTestbes/dbo_CREA_CAMPIONE_20161216.sql @@ -0,0 +1,324 @@ +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_20161216] + -- Add the parameters for the stored procedure here +AS +BEGIN +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select rete,cod_fiscale +from consevo_periodico.ConsulenzaEvoluta.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport +select top 175 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c6 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c16 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c42 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c39 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c45 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c56 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c57 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c58 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +-- modifica di Luca del 14/4/2016 - Per essere sicuri di estrarre tutti i cf in più richiesti pesco dal bacino che contiene +-- tutto cioè #appoCamp1 +-- luca from #appoCamp3 a +from #appoCamp1 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and a.rete+a.cod_fiscale in +-- RACCOMANDATE + ('FTGLMRA30A04A409N' --ok + ,'FBZZGPP46C18A409M' --ok + ,'FCCRGPP54B27H307C' --ok + ,'FCRNCST86C56G062N' --ok + ,'FGHNDNL46L21G007R' --ok + ,'FGNSMNL58D47H037E' --ok + ,'FNAIGNE40H10B463Q' --ok + ,'FNCLLCU74M70L682S' --ok + ,'FPRNNTN32B06E003M' --ok + ,'FRLDLCN35B18A409N' --ok + ,'FRPILNI47M11L746H' --ok + ,'FSNEPMR60S24I976R' --ok + ,'FTBRFRZ68L20H037P' --ok + ,'FTBRGBR37R22G062P' --ok + ,'FTBRMRZ65H27H037W' --ok + ,'FBRLGCR25P13B885H' --ok + ,'FMRNGMR53P60F205P' --ok +-- inizio cf cambio rete ----------------------------------------------------------- + ,'SSPSVCN66S01F839D', + 'SSPGTRS50P66F839Q', + 'SDRSRSR49D70F839H', + 'SBNCFNC38C06E466K', + 'SCRDBRN61A57I829K', + 'SCRDLMR58M47G388T', + 'SMRCLSU29R56F237Z', + 'SCRDGRG29R14L833R', + 'SGCCSLL89R62G388M', + 'SVNGSDR60A21A412J', + 'SPRERNI38H26G752A', +-- fine cf cambio rete -------------------------------------------------------------- +-- inizio cf delle banche in default ------------------------------------------------ + 'SBNOSDR61T03F205W', + 'SBNOSDR61T03F205W', + 'SCLCLNE41M47H434D', + 'SCPPBRN41H45C773S', + 'SMGNCRN32R54G547I', + 'SMZZCRL31P55G916D', + 'SSVLSFN64B08A390G', + 'FBNCMHL27S63I760X', + 'FCNTRME55S24B853O', + 'FCRMVGN49S53F791G', + 'FCRSGPT53M02D548K', + 'FGNAGLL33E53A393A', + 'FMGNLRI75A60H901Z', + 'FMGNLRI75A60H901Z', + 'FMNZMNL46C62A393V', + 'FMRNMNG53P46H294F', + 'FNTRMRZ67T17H223L', + 'FPLZLRA40T54L390R', + 'FSRVDDE31L44A191J', + 'FPRTCHR52L69H017M', + 'FGLNNLN39P46L498G', + 'FBRTGPP47M06A541R', +-- fine cf delle banche in default ------------------------------------------------ +-- cf richiesto da Quaranta il 6/10/2016 per verifica del var: se var > 4,50 e indicatori inadeguati allora va fatto l’intervento per riabbassarlo altrimenti ok e quindi sbloccato + 'F94146680262' +) +drop table #appoCamp1 +drop table #appoCamp2 +drop table #appoCamp3 +truncate table C6MartPeriodico.TB_Campione +insert into C6MartPeriodico.TB_Campione +select distinct rete, cod_fiscale, 1 --1 è il campo flag stampa che indica che dev esser stampato in fase di generazione del campione, 0 niente stampa +from appocampionereport +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_CREA_CAMPIONE_20170114.sql b/sql/storedTestbes/dbo_CREA_CAMPIONE_20170114.sql new file mode 100644 index 00000000..ac6e708b --- /dev/null +++ b/sql/storedTestbes/dbo_CREA_CAMPIONE_20170114.sql @@ -0,0 +1,397 @@ +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE PROCEDURE [dbo].[CREA_CAMPIONE_20170114] + -- Add the parameters for the stored procedure here +AS +BEGIN +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select a.rete,a.cod_fiscale +from consuni_periodico.ConsulenzaUnica.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport +select top 175 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c6 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c16 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c42 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c39 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c45 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c56 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c57 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c58 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +-- modifica di Luca del 14/4/2016 - Per essere sicuri di estrarre tutti i cf in più richiesti pesco dal bacino che contiene +-- tutto cioè #appoCamp1 +-- luca from #appoCamp3 a +from #appoCamp1 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and a.rete+a.cod_fiscale in +-- RACCOMANDATE + ('FTGLMRA30A04A409N' --ok + ,'FBZZGPP46C18A409M' --ok + ,'FCCRGPP54B27H307C' --ok + ,'FCRNCST86C56G062N' --ok + ,'FGHNDNL46L21G007R' --ok + ,'FGNSMNL58D47H037E' --ok + ,'FNAIGNE40H10B463Q' --ok + ,'FNCLLCU74M70L682S' --ok + ,'FPRNNTN32B06E003M' --ok + ,'FRLDLCN35B18A409N' --ok + ,'FRPILNI47M11L746H' --ok + ,'FSNEPMR60S24I976R' --ok + ,'FTBRFRZ68L20H037P' --ok + ,'FTBRGBR37R22G062P' --ok + ,'FTBRMRZ65H27H037W' --ok + ,'FBRLGCR25P13B885H' --ok + ,'FMRNGMR53P60F205P' --ok + ------------------------------------- inizio cf multiramo codprod = 'RE' - simulazione 16/12/2016 + ,'FBDNPLA59P08L219U' + ,'FBNCSVN65B46I138Y' + ,'FBNNBRC71R64G702J' + ,'FBRCGPP32P10G195K' + ,'FBRGLLL68P60C573Q' + ,'FBRSGLL39E62D959G' + ,'FBRTMRA27P42Z126N' + ,'FCDONRC40P02L219T' + ,'FCLBCLD66E04G999R' + ,'FCNCDNL55P45F704W' + ,'FCNCMCL39E57A468C' + ,'FCPNRNT37H25I046O' + ,'FCPNSFN67M26D815V' + ,'FCRLGCM42P08H211R' + ,'FCRNLRT39T20F205G' + ,'FCVSCRL38C52E346P' + ,'FCVZLCU61A24H620I' + ,'FCZZRNN42L46D912L' + ,'FDLLPLA50A10B455H' + ,'FDMCNNA38D44L826J' + ,'SMSCCMN66E59F839W' --ok + --,'FNLSMLN67B44G917W' + --,'FMSCLVI54M09E922C' + --,'FFRNLSN45E27C556H' + --,'FCSTGNN56M67C287M' + --,'FDLGGNN74P10D612S' + --,'FBSUDNL67D03G224W' + --,'FDFNGLG39T31F952N' + --,'FMLZGLD42E21L736D' + --,'FPLISFN65R20G337L' + --,'SGLLSLL56T48D969O' + ,'FBNNMCL59M66A470J' --ok + --,'FBRDPLA57C05H501X' + ,'FRSLPTR59C25E151X' --ok + --,'FRSSLVN48T27F592Y' + --,'FCMNFNN62E21A485D' + --,'FFNLMRA53D16G942V' + ,'FCRRMRS45S54I968G' --ok + ,'FDSSDNL87E10G337L' --ok + --,'FPMPGRG32P19H018W' + ,'FPZZMNG57T43E922K' + ,'FRFNMRA40E70F205Y' + ,'FRGNRTL48C50F205X' + ,'FRSANMR53H54F205P' + ,'FRTNGZN42R46D934H' + ,'FRVTTZN54T30I690K' + ,'FSCIFNC31E01D969Y' + ,'FSGLRSN42D50C704M' + ,'FSGNLSN70D01L736O' + ,'FSRSSFN68A69E897D' + ,'FSRTGNN57C31E648W' + ,'FSTCRMR37P43A944U' + ,'FSTRVKY71B52Z211P' + ,'FTRLGPP47D06E232K' + ------------------------------------- inizio cf clienti professionali + ,'FFF@5844' + ,'FMGNGPP55B25G224T' + ,'FLNCFBA59D06H437D' + ------------------------------------- inizio cf Eccessiva Adeguatezza + --,'FPRTFST39D18I921O' + ,'FBAILDI62S56A794Z' + ,'FSBRFNC43M21G999H' + ,'FCSLFPP40H14H224F' + --,'FSTCGFR43L10L792C' + ,'FGSCCLG71M53A182H' + ,'FDLLLBA40C70C553E' + ,'SNREMBR54E68A944E' + ,'SRFFSFN68M66D284B' + ,'SZNTDNC58S16L219G' + --,'SFRRFNC56H28L840B' + ,'SGMBRNE30R47D969Z' + ,'SPRDPLN53P45D969Q' +---- inizio cf cambio rete ----------------------------------------------------------- +-- ,'SSPSVCN66S01F839D', +-- 'SSPGTRS50P66F839Q', +-- 'SDRSRSR49D70F839H', +-- 'SBNCFNC38C06E466K', +-- 'SCRDBRN61A57I829K', +-- 'SCRDLMR58M47G388T', +-- 'SMRCLSU29R56F237Z', +-- 'SCRDGRG29R14L833R', +-- 'SGCCSLL89R62G388M', +-- 'SVNGSDR60A21A412J', +-- 'SPRERNI38H26G752A', +---- fine cf cambio rete -------------------------------------------------------------- +---- inizio cf delle banche in default ------------------------------------------------ +-- 'SBNOSDR61T03F205W', +-- 'SBNOSDR61T03F205W', +-- 'SCLCLNE41M47H434D', +-- 'SCPPBRN41H45C773S', +-- 'SMGNCRN32R54G547I', +-- 'SMZZCRL31P55G916D', +-- 'SSVLSFN64B08A390G', +-- 'FBNCMHL27S63I760X', +-- 'FCNTRME55S24B853O', +-- 'FCRMVGN49S53F791G', +-- 'FCRSGPT53M02D548K', +-- 'FGNAGLL33E53A393A', +-- 'FMGNLRI75A60H901Z', +-- 'FMGNLRI75A60H901Z', +-- 'FMNZMNL46C62A393V', +-- 'FMRNMNG53P46H294F', +-- 'FNTRMRZ67T17H223L', +-- 'FPLZLRA40T54L390R', +-- 'FSRVDDE31L44A191J', +-- 'FPRTCHR52L69H017M', +-- 'FGLNNLN39P46L498G', +-- 'FBRTGPP47M06A541R', +---- fine cf delle banche in default ------------------------------------------------ +---- cf richiesto da Quaranta il 6/10/2016 per verifica del var: se var > 4,50 e indicatori inadeguati allora va fatto l’intervento per riabbassarlo altrimenti ok e quindi sbloccato +-- 'F94146680262' +) +drop table #appoCamp1 +drop table #appoCamp2 +drop table #appoCamp3 +truncate table C6MartPeriodico.TB_Campione +insert into C6MartPeriodico.TB_Campione +select distinct rete, cod_fiscale, 1 --1 è il campo flag stampa che indica che dev esser stampato in fase di generazione del campione, 0 niente stampa +from appocampionereport +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_CREA_CAMPIONE_20170321.sql b/sql/storedTestbes/dbo_CREA_CAMPIONE_20170321.sql new file mode 100644 index 00000000..054ebf95 --- /dev/null +++ b/sql/storedTestbes/dbo_CREA_CAMPIONE_20170321.sql @@ -0,0 +1,397 @@ +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_20170321] + -- Add the parameters for the stored procedure here +AS +BEGIN +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select a.rete,a.cod_fiscale +from consuni_periodico.ConsulenzaUnica.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport +select top 175 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c6 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c16 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c42 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c39 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c45 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c56 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c57 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c58 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +-- modifica di Luca del 14/4/2016 - Per essere sicuri di estrarre tutti i cf in più richiesti pesco dal bacino che contiene +-- tutto cioè #appoCamp1 +-- luca from #appoCamp3 a +from #appoCamp1 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and a.rete+a.cod_fiscale in +-- RACCOMANDATE + ('FTGLMRA30A04A409N' --ok + ,'FBZZGPP46C18A409M' --ok + ,'FCCRGPP54B27H307C' --ok + ,'FCRNCST86C56G062N' --ok + ,'FGHNDNL46L21G007R' --ok + ,'FGNSMNL58D47H037E' --ok + ,'FNAIGNE40H10B463Q' --ok + ,'FNCLLCU74M70L682S' --ok + ,'FPRNNTN32B06E003M' --ok + ,'FRLDLCN35B18A409N' --ok + ,'FRPILNI47M11L746H' --ok + ,'FSNEPMR60S24I976R' --ok + ,'FTBRFRZ68L20H037P' --ok + ,'FTBRGBR37R22G062P' --ok + ,'FTBRMRZ65H27H037W' --ok + ,'FBRLGCR25P13B885H' --ok + ,'FMRNGMR53P60F205P' --ok + ------------------------------------- inizio cf multiramo codprod = 'RE' - simulazione 16/12/2016 + ,'FBDNPLA59P08L219U' + ,'FBNCSVN65B46I138Y' + ,'FBNNBRC71R64G702J' + ,'FBRCGPP32P10G195K' + ,'FBRGLLL68P60C573Q' + ,'FBRSGLL39E62D959G' + ,'FBRTMRA27P42Z126N' + ,'FCDONRC40P02L219T' + ,'FCLBCLD66E04G999R' + ,'FCNCDNL55P45F704W' + ,'FCNCMCL39E57A468C' + ,'FCPNRNT37H25I046O' + ,'FCPNSFN67M26D815V' + ,'FCRLGCM42P08H211R' + ,'FCRNLRT39T20F205G' + ,'FCVSCRL38C52E346P' + ,'FCVZLCU61A24H620I' + ,'FCZZRNN42L46D912L' + ,'FDLLPLA50A10B455H' + ,'FDMCNNA38D44L826J' + ,'SMSCCMN66E59F839W' --ok + --,'FNLSMLN67B44G917W' + --,'FMSCLVI54M09E922C' + --,'FFRNLSN45E27C556H' + --,'FCSTGNN56M67C287M' + --,'FDLGGNN74P10D612S' + --,'FBSUDNL67D03G224W' + --,'FDFNGLG39T31F952N' + --,'FMLZGLD42E21L736D' + --,'FPLISFN65R20G337L' + --,'SGLLSLL56T48D969O' + ,'FBNNMCL59M66A470J' --ok + --,'FBRDPLA57C05H501X' + ,'FRSLPTR59C25E151X' --ok + --,'FRSSLVN48T27F592Y' + --,'FCMNFNN62E21A485D' + --,'FFNLMRA53D16G942V' + ,'FCRRMRS45S54I968G' --ok + ,'FDSSDNL87E10G337L' --ok + --,'FPMPGRG32P19H018W' + ,'FPZZMNG57T43E922K' + ,'FRFNMRA40E70F205Y' + ,'FRGNRTL48C50F205X' + ,'FRSANMR53H54F205P' + ,'FRTNGZN42R46D934H' + ,'FRVTTZN54T30I690K' + ,'FSCIFNC31E01D969Y' + ,'FSGLRSN42D50C704M' + ,'FSGNLSN70D01L736O' + ,'FSRSSFN68A69E897D' + ,'FSRTGNN57C31E648W' + ,'FSTCRMR37P43A944U' + ,'FSTRVKY71B52Z211P' + ,'FTRLGPP47D06E232K' + ------------------------------------- inizio cf clienti professionali + ,'FFF@5844' + ,'FMGNGPP55B25G224T' + ,'FLNCFBA59D06H437D' + ------------------------------------- inizio cf Eccessiva Adeguatezza + --,'FPRTFST39D18I921O' + ,'FBAILDI62S56A794Z' + ,'FSBRFNC43M21G999H' + ,'FCSLFPP40H14H224F' + --,'FSTCGFR43L10L792C' + ,'FGSCCLG71M53A182H' + ,'FDLLLBA40C70C553E' + ,'SNREMBR54E68A944E' + ,'SRFFSFN68M66D284B' + ,'SZNTDNC58S16L219G' + --,'SFRRFNC56H28L840B' + ,'SGMBRNE30R47D969Z' + ,'SPRDPLN53P45D969Q' +---- inizio cf cambio rete ----------------------------------------------------------- +-- ,'SSPSVCN66S01F839D', +-- 'SSPGTRS50P66F839Q', +-- 'SDRSRSR49D70F839H', +-- 'SBNCFNC38C06E466K', +-- 'SCRDBRN61A57I829K', +-- 'SCRDLMR58M47G388T', +-- 'SMRCLSU29R56F237Z', +-- 'SCRDGRG29R14L833R', +-- 'SGCCSLL89R62G388M', +-- 'SVNGSDR60A21A412J', +-- 'SPRERNI38H26G752A', +---- fine cf cambio rete -------------------------------------------------------------- +---- inizio cf delle banche in default ------------------------------------------------ +-- 'SBNOSDR61T03F205W', +-- 'SBNOSDR61T03F205W', +-- 'SCLCLNE41M47H434D', +-- 'SCPPBRN41H45C773S', +-- 'SMGNCRN32R54G547I', +-- 'SMZZCRL31P55G916D', +-- 'SSVLSFN64B08A390G', +-- 'FBNCMHL27S63I760X', +-- 'FCNTRME55S24B853O', +-- 'FCRMVGN49S53F791G', +-- 'FCRSGPT53M02D548K', +-- 'FGNAGLL33E53A393A', +-- 'FMGNLRI75A60H901Z', +-- 'FMGNLRI75A60H901Z', +-- 'FMNZMNL46C62A393V', +-- 'FMRNMNG53P46H294F', +-- 'FNTRMRZ67T17H223L', +-- 'FPLZLRA40T54L390R', +-- 'FSRVDDE31L44A191J', +-- 'FPRTCHR52L69H017M', +-- 'FGLNNLN39P46L498G', +-- 'FBRTGPP47M06A541R', +---- fine cf delle banche in default ------------------------------------------------ +---- cf richiesto da Quaranta il 6/10/2016 per verifica del var: se var > 4,50 e indicatori inadeguati allora va fatto l’intervento per riabbassarlo altrimenti ok e quindi sbloccato +-- 'F94146680262' +) +drop table #appoCamp1 +drop table #appoCamp2 +drop table #appoCamp3 +truncate table C6MartPeriodico.TB_Campione +insert into C6MartPeriodico.TB_Campione +select distinct rete, cod_fiscale, 1 --1 è il campo flag stampa che indica che dev esser stampato in fase di generazione del campione, 0 niente stampa +from appocampionereport +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_CREA_CAMPIONE_20180115_preJoinNewTab.sql b/sql/storedTestbes/dbo_CREA_CAMPIONE_20180115_preJoinNewTab.sql new file mode 100644 index 00000000..0d3097b2 --- /dev/null +++ b/sql/storedTestbes/dbo_CREA_CAMPIONE_20180115_preJoinNewTab.sql @@ -0,0 +1,294 @@ +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +create procedure [dbo].[CREA_CAMPIONE_20180115_preJoinNewTab] + -- Add the parameters for the stored procedure here +AS +BEGIN +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select a.rete,a.cod_fiscale +from consuni_periodico.ConsulenzaUnica.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport +select top 220 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c6 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c16 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c42 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c39 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c45 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c56 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c57 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c58 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +-- modifica di Luca del 14/4/2016 - Per essere sicuri di estrarre tutti i cf in più richiesti pesco dal bacino che contiene +-- tutto cioè #appoCamp1 +-- luca from #appoCamp3 a +from #appoCamp1 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and a.rete+a.cod_fiscale in + ( +-- RACCOMANDATE + 'FBRLGCR25P13B885H' --Raccomandata - Forzare ROL a 'S' (come di consueto) --------no ***************Profilo Scaduto + ,'FBZZGPP46C18A409M' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FCCRGPP54B27H307C' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FCRNCST86C56G062N' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FGHNDNL46L21G007R' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FGNSMNL58D47H037E' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FMRNGMR53P60F205P' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FNAIGNE40H10B463Q' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FNCLLCU74M70L682S' --Raccomandata - Forzare ROL a 'S' (come di consueto) --------no ***************Profilo Scaduto + ,'FPRNNTN32B06E003M' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FRLDLCN35B18A409N' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FRPILNI47M11L746H' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FSNEPMR60S24I976R' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FTBRFRZ68L20H037P' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FTBRGBR37R22G062P' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FTBRMRZ65H27H037W' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ,'FTGLMRA30A04A409N' --Raccomandata - Forzare ROL a 'S' (come di consueto) --st + ------------------------------------- cf clienti professionali ------------------------------------------------------ + ,'FFF@5844' + ,'FMGNGPP55B25G224T' + ,'FBTTFST43C42B300A' + ,'FTMSRRT59R13L967T' + ,'FRSCFNC43M09A965T' + ,'FNDRMRA39D15C623K' + ,'FPDRPLA72H21C623T' +) +drop table #appoCamp1 +drop table #appoCamp2 +drop table #appoCamp3 +truncate table C6MartPeriodico.TB_Campione +insert into C6MartPeriodico.TB_Campione +select distinct rete, cod_fiscale, 1 --1 è il campo flag stampa che indica che dev esser stampato in fase di generazione del campione, 0 niente stampa +from appocampionereport +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_CREA_CAMPIONE_20180711.sql b/sql/storedTestbes/dbo_CREA_CAMPIONE_20180711.sql new file mode 100644 index 00000000..e23177c5 --- /dev/null +++ b/sql/storedTestbes/dbo_CREA_CAMPIONE_20180711.sql @@ -0,0 +1,267 @@ +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_20180711] + -- Add the parameters for the stored procedure here +AS +BEGIN +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select a.rete,a.cod_fiscale +from consuni_periodico.ConsulenzaUnica.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport +select top 220 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c6 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c16 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c42 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c39 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c45 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c56 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c57 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c58 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +-- modifica di Luca del 14/4/2016 - Per essere sicuri di estrarre tutti i cf in più richiesti pesco dal bacino che contiene +-- tutto cioè #appoCamp1 +-- luca from #appoCamp3 a +from #appoCamp1 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and a.rete+a.cod_fiscale in + (select rete + codicefiscale from [dbo].[Incl_SpecCdT_Campione] ) +drop table #appoCamp1 +drop table #appoCamp2 +drop table #appoCamp3 +truncate table C6MartPeriodico.TB_Campione +insert into C6MartPeriodico.TB_Campione +select distinct rete, cod_fiscale, 1 --1 è il campo flag stampa che indica che dev esser stampato in fase di generazione del campione, 0 niente stampa +from appocampionereport +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_CREA_CAMPIONE_20180921.sql b/sql/storedTestbes/dbo_CREA_CAMPIONE_20180921.sql new file mode 100644 index 00000000..c3a9af6b --- /dev/null +++ b/sql/storedTestbes/dbo_CREA_CAMPIONE_20180921.sql @@ -0,0 +1,270 @@ +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_20180921] + -- Add the parameters for the stored procedure here +AS +BEGIN +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select a.rete,a.cod_fiscale +from consuni_periodico.ConsulenzaUnica.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport +-- mod 11/7/2018 - vogliamo meno report + --select top 220 +select top 100 +-- fine mod 11/7/2018 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c6 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c16 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c42 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c39 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c45 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c56 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c57 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c58 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +-- modifica di Luca del 14/4/2016 - Per essere sicuri di estrarre tutti i cf in più richiesti pesco dal bacino che contiene +-- tutto cioè #appoCamp1 +-- luca from #appoCamp3 a +from #appoCamp1 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and a.rete+a.cod_fiscale in + (select rete + codicefiscale from [dbo].[Incl_SpecCdT_Campione] ) +drop table #appoCamp1 +drop table #appoCamp2 +drop table #appoCamp3 +truncate table C6MartPeriodico.TB_Campione +insert into C6MartPeriodico.TB_Campione +select distinct rete, cod_fiscale, 1 --1 è il campo flag stampa che indica che dev esser stampato in fase di generazione del campione, 0 niente stampa +from appocampionereport +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_CREA_CAMPIONE_TEST.sql b/sql/storedTestbes/dbo_CREA_CAMPIONE_TEST.sql new file mode 100644 index 00000000..56924d02 --- /dev/null +++ b/sql/storedTestbes/dbo_CREA_CAMPIONE_TEST.sql @@ -0,0 +1,267 @@ +-- ============================================= +-- Author: +-- Create date: <20141008> +-- Description: +-- ============================================= +CREATE procedure [dbo].[CREA_CAMPIONE_TEST] + -- Add the parameters for the stored procedure here +AS +BEGIN +--------------------------------------------------------------- +--SELEZIONE DEI PRIMI 200 CLIENTI ORDINATI PER NUMERO DI CASI-- +--------------------------------------------------------------- +select distinct campione.* +into #appoCamp1 +from ( +select b.* +FROM [C6MartPeriodico].[selezionecampione2] A +inner join ( +SELECT d.*, +([c1]+[c2]+[c3]+[c4]+[c5]+[c6]+[c7]+[c8]+[c9]+[c10]+[c11]+[c12]+[c13]+[c14]+[c15]+[c16]+[c17]+[c18]+[c19]+[c20] ++[c21]+[c22]+[c23]+[c24]+[c25]+[c26]+[c27]+[c28]+[c29]+[c30]+[c31]+[c32]+[c33]+[c34]+[c35]+[c36]+[c37]+[c38]+[c39]+[c40] ++[c41]+[c42]+[c43]+[c44]+[c45]+[c46]+[c47]+[c48]+[c49]+[c50]+[c51]+[c52]+[c53]+[c54]+[c55]+[c56]+[c57]+[c58] +) tot FROM [C6MartPeriodico].[selezionecampione2] d + ) B + on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +-- where c2 > 0 + ) campione +select distinct campione.* +into #appoCamp2 +from #appoCamp1 campione + inner join +( +select a.rete,a.cod_fiscale +from consuni_periodico.ConsulenzaUnica.dbo.MonitoraggioStorico s +inner join c6stagingperiodico.appo_contratti a +on a.chiaveclientepb=s.chiaveclientePB +and datediff(dd,dtAvvio,dtsalvataggio) =0 ) diffdate +on campione.rete=diffdate.rete and campione.cod_fiscale=diffdate.cod_fiscale +select d.rete,d.cod_fiscale,id_area,nome_progetto,max(data_cono) dt +into #appoggio +from C6MartPeriodico.CONO_PIANIFICAZIONE d +where d.cod_fiscale in ( +select d.cod_fiscale from #appoCamp2) -- dbo.campionetrimestrale - appocampionereport +group by d.rete,cod_fiscale,id_area,nome_progetto +select a.* +into #appoCamp3 +from #appoCamp2 a +left join +(select rete,cod_fiscale,dt +from #appoggio +where dt < '20140930') e +on a.rete=e.rete and a.cod_fiscale=e.cod_fiscale +where e.rete is null +order by tot desc +-- luca 19/1/2016 +truncate table appocampionereport +-- fine luca 19/1/2016 +insert into appocampionereport +select top 220 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +order by tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c6 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c16 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c42 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c39 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c45 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c56 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c57 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select top 1 +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +from #appoCamp3 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and c58 > 0 +order by b.tip_contratto desc, tot desc +insert into appocampionereport +select +--DISASTERISCARE PER "INSERT SELECT" ed ASTERISCARE PER "SELECT" +a.rete,a.cod_fiscale,'',b.tip_contratto +--DISASTERISCARE PER "SELECT" ed ASTERISCARE PER "INSERT SELECT" +--case when b.tip_contratto=0 then 'OLD' +-- when b.tip_contratto=1 then 'AFFLUENT' +-- when b.tip_contratto=2 then 'PRIVATE' +--end as TipoContratto, +--a.* +-- modifica di Luca del 14/4/2016 - Per essere sicuri di estrarre tutti i cf in più richiesti pesco dal bacino che contiene +-- tutto cioè #appoCamp1 +-- luca from #appoCamp3 a +from #appoCamp1 a +inner join C6MARTPERIODICO.CONTRATTOSEI b on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale +where a.rete+a.cod_fiscale not in (select rete+cod_fiscale from c6martperiodico.test_quality) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from dbo.disallineati2) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_PROFILO_SCADUTO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MartPeriodico.CONTROLLO_TRIMESTRALE_RFA_ZERO) +and a.rete+a.cod_fiscale not in (select rete+cod_fiscale from C6MARTPERIODICO.CONTROLLO_TRIMESTRALE +where stato_report = 23) +and a.rete+a.cod_fiscale in + (select c.rete + c.codicefiscale from [dbo].[Incl_SpecCdT_Campione] ) +drop table #appoCamp1 +drop table #appoCamp2 +drop table #appoCamp3 +truncate table C6MartPeriodico.TB_Campione +insert into C6MartPeriodico.TB_Campione +select distinct rete, cod_fiscale, 1 --1 è il campo flag stampa che indica che dev esser stampato in fase di generazione del campione, 0 niente stampa +from appocampionereport +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_CopyObjectFromSchema.sql b/sql/storedTestbes/dbo_CopyObjectFromSchema.sql new file mode 100644 index 00000000..5afaaca7 --- /dev/null +++ b/sql/storedTestbes/dbo_CopyObjectFromSchema.sql @@ -0,0 +1,74 @@ +--[dbo].[CopyObjectFromSchema] 'C6Mart', 'tt4', 'RP_' +CREATE procedure [dbo].[CopyObjectFromSchema] +@FromSchemaName NVARCHAR(50), +@ToSchemaName NVARCHAR(50), +@LikeName NVARCHAR(MAX) +AS +Begin +DECLARE @ObjCopyName VARCHAR(MAX); +DECLARE @ObjContent nvarchar(MAX); +DECLARE @ObjIDSchemaTo INT +if (@FromSchemaName is null Or @FromSchemaName = '' Or + @ToSchemaName is null Or @ToSchemaName = '') +begin + RAISERROR ('Valorizzare entrambi gli Schema Name!', -- Message text. + 16, -- Severity. + 1 -- State. + ); + return +end +IF (NOT EXISTS (SELECT * FROM sys.schemas WHERE name = @ToSchemaName)) +BEGIN + EXEC ('CREATE SCHEMA ' + @ToSchemaName + ' AUTHORIZATION [dbo]') +END +SET @ObjIDSchemaTo = (SELECT SCHEMA_ID FROM sys.schemas WHERE name= @ToSchemaName) +DECLARE TABLECURSOR CURSOR FOR +SELECT [NAME] FROM sys.objects WHERE [TYPE] in (N'U') and schema_id = (SELECT SCHEMA_ID FROM sys.schemas WHERE name= @FromSchemaName) +AND [NAME] LIKE '%' + @LikeName + '%' +OPEN TABLECURSOR +FETCH NEXT FROM TABLECURSOR INTO @ObjCopyName +WHILE @@FETCH_STATUS = 0 +BEGIN --STORED PROC LOOP + BEGIN TRY + PRINT @ObjCopyName + IF (EXISTS (SELECT * FROM sys.objects WHERE name = @ObjCopyName and schema_id = (SELECT SCHEMA_ID FROM sys.schemas WHERE name= @ToSchemaName))) + BEGIN + execute dbo.DropObject @ObjCopyName, @ObjIDSchemaTo + END + Declare @statement nvarchar(max) + Set @statement = 'SELECT * INTO ' + @ToSchemaName + '.' + @ObjCopyName + ' FROM ' + @FromSchemaName + '.' + @ObjCopyName + ' WHERE 1=2' + print @statement + execute sp_executeSQL @statement + END TRY + BEGIN CATCH + SELECT ERROR_MESSAGE() + END CATCH + FETCH NEXT FROM TABLECURSOR INTO @ObjCopyName +END +CLOSE TABLECURSOR; +DEALLOCATE TABLECURSOR; +DECLARE PROCCURSOR CURSOR FOR + SELECT NAME, REPLACE (OBJECT_DEFINITION(OBJECT_ID), @FromSchemaName, @ToSchemaName) + FROM sys.objects WHERE [TYPE] in (N'P', N'PC', N'FN', N'V') and schema_id = (SELECT SCHEMA_ID FROM sys.schemas WHERE name= @FromSchemaName) + AND NAME LIKE '%' + @LikeName + '%' ORDER BY [TYPE] +OPEN PROCCURSOR +FETCH NEXT FROM PROCCURSOR INTO @ObjCopyName, @ObjContent +WHILE @@FETCH_STATUS = 0 +BEGIN --STORED PROC LOOP + BEGIN TRY + PRINT @ObjCopyName + PRINT @ObjContent + IF (EXISTS (SELECT * FROM sys.objects WHERE name = @ObjCopyName and schema_id = (SELECT SCHEMA_ID FROM sys.schemas WHERE name= @ToSchemaName))) + BEGIN + execute dbo.DropObject @ObjCopyName, @ObjIDSchemaTo + END + execute sp_executeSQL @statement = @ObjContent + END TRY + BEGIN CATCH + SELECT ERROR_MESSAGE(), @ObjCopyName, @ObjContent + END CATCH + FETCH NEXT FROM PROCCURSOR INTO @ObjCopyName, @ObjContent +END --STORED PROC LOOP +CLOSE PROCCURSOR; +DEALLOCATE PROCCURSOR; +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_CreaTabellaBackUp.sql b/sql/storedTestbes/dbo_CreaTabellaBackUp.sql new file mode 100644 index 00000000..e694fbbb --- /dev/null +++ b/sql/storedTestbes/dbo_CreaTabellaBackUp.sql @@ -0,0 +1,23 @@ +CREATE procedure [dbo].[CreaTabellaBackUp]( + @tableName varchar(100), + @schema varchar(100), + @suffix varchar(100) = '' +) +as + declare @data datetime + declare @dataString varchar(20) + declare @SQL nvarchar(4000) + set @data = getdate() + set @dataString = convert(varchar(4), year(@data)) + right('0' + convert(varchar(2), month(@data)), 2) + right('0' + convert(varchar(2), day(@data)), 2) + -- Se è stato passato un suffisso per specificare il motivo del backup della tabella (es: PreGenerazione...) + if isnull(@suffix, '') <> '' + set @suffix = '_' + @suffix + -- Se la tabella con data + suffisso è già presente si aggiunge alla stringa data anche l'orario + IF EXISTS (SELECT 'X' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @tableName + '_' + @dataString + @suffix AND TABLE_SCHEMA = @schema) + begin + print 'La tabella ' + @schema + '.' + @tableName + '_' + @dataString + @suffix + ' già esiste nel DB.' + set @dataString = @dataString + '_' + right('0' + convert(varchar(2), DATEPART(hour, @data)), 2) + right('0' + convert(varchar(2), DATEPART(minute, @data)), 2) + right('0' + convert(varchar(2), DATEPART(second, @data)), 2) + end + set @SQL = 'select * into ' + @schema + '.' + @tableName + '_' + @dataString + @suffix + ' from ' + @schema + '.' + @tableName + print @SQL + exec sp_executeSql @SQL \ No newline at end of file diff --git a/sql/storedTestbes/dbo_DropObject.sql b/sql/storedTestbes/dbo_DropObject.sql new file mode 100644 index 00000000..6eb079e1 --- /dev/null +++ b/sql/storedTestbes/dbo_DropObject.sql @@ -0,0 +1,29 @@ +CREATE procedure [dbo].[DropObject] +@objectname varchar(max), +@schemaid int +AS +BEGIN +print @objectname +print @schemaid + DECLARE @ObjectType varchar(max) + Set @ObjectType = (SELECT [type] FROM sys.objects WHERE name = @objectname and schema_id = @schemaid) +print @ObjectType + DECLARE @DropType varchar(max) + Set @DropType = '' + IF @ObjectType IN ('PC', 'P') + SELECT @DropType = 'PROCEDURE' + IF @ObjectType IN ('FN', 'FS', 'FT', 'IF', 'TF') + SELECT @DropType = 'FUNCTION' + IF @ObjectType = 'AF' + SELECT @DropType = 'AGGREGATE' + IF @ObjectType = 'U' + SELECT @DropType = 'TABLE' + IF @ObjectType = 'V' + SELECT @DropType = 'VIEW' + IF @DropType <> '' + begin + DECLARE @schemaName varchar(100) + SET @schemaName = (SELECT name FROM sys.schemas WHERE schema_id = @schemaid) + EXEC('DROP '+ @DropType + ' [' + @schemaName + '].[' + @objectname + ']') + end +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_GetAllTableSize.sql b/sql/storedTestbes/dbo_GetAllTableSize.sql new file mode 100644 index 00000000..0b83651d --- /dev/null +++ b/sql/storedTestbes/dbo_GetAllTableSize.sql @@ -0,0 +1,46 @@ +CREATE procedure [dbo].[GetAllTableSize] +@schema varchar(50) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @TableName VARCHAR(200) + -- Insert statements for procedure here + DECLARE tableCursor CURSOR FOR + SELECT DISTINCT @schema+'.'+sys.objects.[name] + FROM sys.schemas INNER JOIN sys.objects ON sys.schemas.schema_id=sys.objects.schema_id + WHERE type='U' AND is_ms_shipped=0 ORDER BY @schema+'.'+sys.objects.[name] -- WHERE is_ms_shipped is Microsoft generated objects + FOR READ ONLY + --A procedure level temp table to store the results + CREATE TABLE #TempTable + ( + tableName varchar(200), + numberofRows varchar(100), + reservedSize varchar(50), + dataSize varchar(50), + indexSize varchar(50), + unusedSize varchar(50) + ) + --Open the cursor + OPEN tableCursor + --Get the first Record from the cursor + FETCH NEXT FROM tableCursor INTO @TableName + --Loop until the cursor was not able to fetch + WHILE (@@Fetch_Status >= 0) + BEGIN + --Insert the results of the sp_spaceused query to the temp table + INSERT #TempTable + EXEC sp_spaceused @TableName + --Get the next Record + FETCH NEXT FROM tableCursor INTO @TableName + END + --Close/Deallocate the cursor + CLOSE tableCursor + DEALLOCATE tableCursor + --Select all records so we can use the reults + SELECT * + FROM #TempTable + ORDER BY CAST(SUBSTRING(dataSize,1,LEN(dataSize) - 3) AS int) DESC + DROP TABLE #TempTable +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_GetLancio.sql b/sql/storedTestbes/dbo_GetLancio.sql new file mode 100644 index 00000000..793ab578 --- /dev/null +++ b/sql/storedTestbes/dbo_GetLancio.sql @@ -0,0 +1,9 @@ +CREATE procedure [dbo].[GetLancio](@tipo nvarchar(32)='Monitoraggio',@client nvarchar(32)='GestorePDF') +as +BEGIN + set nocount on + declare @id int=0; + insert into dbo.Lanci(Tipo,Client) values (@tipo,@client); + set @id=@@IDENTITY; + select uid from dbo.Lanci where Id=@id; +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_GetLogs.sql b/sql/storedTestbes/dbo_GetLogs.sql new file mode 100644 index 00000000..65266f6c --- /dev/null +++ b/sql/storedTestbes/dbo_GetLogs.sql @@ -0,0 +1,34 @@ +-- select * from dbo.logN where Level = 'error' +--[dbo].[GetLogs] +--[dbo].[GetLogs] '2016-04-13 09:36:18.887' +CREATE procedure [dbo].[GetLogs] + @LogsSince DateTime = NULL +AS +BEGIN +print 'a' + ;with raw_data as +( +select logged, ltrim(rtrim(replace(replace(replace(replace(message,'constructing', ''),'of',''), ' does not finished due to the error', ''),'finished',''))) par , +case when message like '%finished' then 'finished' when message like '%not finished%' then 'error' else 'started' end as process_status, message +from [dbo].[LogN] +where + message like '%constructing%' and + ((@LogsSince IS NOT NULL and logged >= @LogsSince) or (@LogsSince IS NULL)) +), r1 as +( +select *, substring(par, 0, charindex(':', par)) as head_1, substring(par, charindex(':', par)+1,1000) as tail_1 + from raw_data + ), r2 as + ( select [message],logged, process_status, head_1, substring(tail_1, 0, charindex(':', tail_1)) as head_2, substring(tail_1, charindex(':', tail_1)+1,1000) as tail_2 + from r1 + ), r3 as + ( + select [message],logged, process_status, head_1, head_2, substring(tail_2, 0, charindex(':', tail_2)) as head_3, substring(tail_2, charindex(':', tail_2)+1,1000) as tail_3 + from r2 + ), r4 as + ( + select [message],logged, process_status, head_1 as CodiceFiscale, head_2 as Rete, head_3 as TipoContratto, substring(tail_3, 2, len(tail_3)) as ReportType + from r3 + ) + select * from r4 where process_status ='error' order by logged desc +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_GetPDFTemplateConfiguration.sql b/sql/storedTestbes/dbo_GetPDFTemplateConfiguration.sql new file mode 100644 index 00000000..f77ee24c --- /dev/null +++ b/sql/storedTestbes/dbo_GetPDFTemplateConfiguration.sql @@ -0,0 +1,9 @@ +CREATE procedure [dbo].[GetPDFTemplateConfiguration](@Rete varchar(1), @Tipo int, @Trimestrale int) +as +begin +SELECT *,TemplateReportPath, TemplateCopertinaPath, TemplateGlossarioPath, TemplateWelcomeLetterPath, ReportTypeFontColor_R, ReportTypeFontColor_G, ReportTypeFontColor_B, +ChapterBackground_R, ChapterBackground_G, ChapterBackground_B, ChapterFontColor_R, ChapterFontColor_G, ChapterFontColor_B, +TableHeaderFontColor_R, TableHeaderFontColor_G, TableHeaderFontColor_B +FROM dbo.ReportTemplate t inner join dbo.PDFTemplateConfiguration c on c.PDFConfigurationID = t.PDFConfigurationID +WHERE t.Rete = @Rete and t.IsTrimestrale = @Trimestrale and t.ContractType = @Tipo +end \ No newline at end of file diff --git a/sql/storedTestbes/dbo_GetPDFTemplateConfiguration_Rosaspina.sql b/sql/storedTestbes/dbo_GetPDFTemplateConfiguration_Rosaspina.sql new file mode 100644 index 00000000..afd56e98 --- /dev/null +++ b/sql/storedTestbes/dbo_GetPDFTemplateConfiguration_Rosaspina.sql @@ -0,0 +1,9 @@ +CREATE procedure [dbo].[GetPDFTemplateConfiguration_Rosaspina](@Rete varchar(1), @Tipo int, @Trimestrale int) +as +begin +SELECT *,TemplateReportPath, TemplateCopertinaPath, TemplateGlossarioPath, TemplateWelcomeLetterPath, ReportTypeFontColor_R, ReportTypeFontColor_G, ReportTypeFontColor_B, +ChapterBackground_R, ChapterBackground_G, ChapterBackground_B, ChapterFontColor_R, ChapterFontColor_G, ChapterFontColor_B, +TableHeaderFontColor_R, TableHeaderFontColor_G, TableHeaderFontColor_B +FROM dbo.ReportTemplate t inner join dbo.PDFTemplateConfiguration_Rosaspina c on c.PDFConfigurationID = t.PDFConfigurationID +WHERE t.Rete = @Rete and t.IsTrimestrale = @Trimestrale and t.ContractType = @Tipo +end \ No newline at end of file diff --git a/sql/storedTestbes/dbo_GetStatistics.sql b/sql/storedTestbes/dbo_GetStatistics.sql new file mode 100644 index 00000000..ae5ef57c --- /dev/null +++ b/sql/storedTestbes/dbo_GetStatistics.sql @@ -0,0 +1,6 @@ +CREATE procedure [dbo].[GetStatistics] +as +begin +select * from GetStatistics_stato_report +select * from GetStatistics_elab +end \ No newline at end of file diff --git a/sql/storedTestbes/dbo_GetStatistics_Prepare.sql b/sql/storedTestbes/dbo_GetStatistics_Prepare.sql new file mode 100644 index 00000000..e8f09d3a --- /dev/null +++ b/sql/storedTestbes/dbo_GetStatistics_Prepare.sql @@ -0,0 +1,7 @@ +CREATE procedure [dbo].[GetStatistics_Prepare] +as +begin +truncate table dbo.GetStatistics_recordsToProcess +insert into dbo.GetStatistics_recordsToProcess(codiceFiscale) +select codicefiscale FROM C6MartPeriodico.CRUSCOTTO_CONTRATTISEI WHERE elab in (1,2) +end \ No newline at end of file diff --git a/sql/storedTestbes/dbo_GetTextTemplateConfiguration.sql b/sql/storedTestbes/dbo_GetTextTemplateConfiguration.sql new file mode 100644 index 00000000..d9b7c24c --- /dev/null +++ b/sql/storedTestbes/dbo_GetTextTemplateConfiguration.sql @@ -0,0 +1,12 @@ +CREATE procedure [dbo].[GetTextTemplateConfiguration](@Rete varchar(1), @Tipo int, @Trimestrale int, @FieldName varchar(15)) +as +begin +SELECT top (1) ttc.TextValue +FROM dbo.ReportTemplate rt inner join dbo.TextTemplateConfigurationMapping ttcm on rt.TemplateID = ttcm.TemplateID + inner join dbo.TextTemplateConfiguration ttc on ttc.TextFieldID = ttcm.TextFieldID +WHERE + (@Rete like rt.Rete) and + (@Trimestrale = rt.IsTrimestrale or rt.IsTrimestrale = -1) and + (@Tipo = rt.ContractType or rt.ContractType = -1) and + (@FieldName = ttc.TextFieldName) +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_GetVariableValue.sql b/sql/storedTestbes/dbo_GetVariableValue.sql new file mode 100644 index 00000000..16522664 --- /dev/null +++ b/sql/storedTestbes/dbo_GetVariableValue.sql @@ -0,0 +1,22 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- dbo.GetVariableValue 's132_tempTestoAlt', 'N', null, 1 +create PROCEDURE [dbo].[GetVariableValue] + @VariableName nvarchar(128), + @Flagnqp nvarchar(1) = null, + @Flagprlrde nvarchar(1) = null, + @Flagpg int = null +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + select trv.variableValue from dbo.TextReplacementVariables trv + where + (@Flagnqp is null or @Flagnqp = trv.Flagnqp or trv.Flagnqp is null) and + (@Flagprlrde is null or @Flagprlrde = trv.Flagprlrde or trv.Flagprlrde is null) and + (@Flagpg is null or @Flagpg = trv.Flagpg or trv.Flagpg is null) +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_HexToRGB.sql b/sql/storedTestbes/dbo_HexToRGB.sql new file mode 100644 index 00000000..f4d2e305 --- /dev/null +++ b/sql/storedTestbes/dbo_HexToRGB.sql @@ -0,0 +1,40 @@ +CREATE procedure [dbo].[HexToRGB] + -- Add the parameters for the stored procedure here +-- @Rete char(1), +-- @CodiceFiscale varchar(16) +AS +BEGIN +CREATE TABLE #TempTable(Asset varchar(10), Descrizione varchar(200),CodiceEsa varchar(15),R int,G int,B int) +--DICHIARO CURSORE +DECLARE curAssetColor CURSOR FOR +select Asset,Descrizione,right(codicergb,6) as HEX FROM [C6StampeCentralizzate].[C6StagingPeriodico].[RP_AssetClass] where livello = 2 +declare @Asset [varchar](10) +declare @Descrizione [varchar](200) +declare @codiceHex [varchar](15) +--ATTIVO IL CURSORE +OPEN curAssetColor +--PRELEVO la prossima riga +FETCH NEXT FROM curAssetColor into @Asset,@Descrizione,@codiceHex +--Finchè trovo nuove righe... +WHILE @@FETCH_STATUS = 0 +begin + DECLARE @temp AS TABLE (hex char(6)) + INSERT INTO @temp + VALUES (@codiceHex) -- Should convert to Red: Green: Blue: + insert into #TempTable + SELECT @Asset,@Descrizione,'#' + @codiceHex + ,R + ,G + ,B + FROM @temp + OUTER APPLY dbo.udf_HexToRGB(@codiceHex) + --Continuo con le operazioni + FETCH NEXT FROM curAssetColor into @Asset,@Descrizione,@codiceHex + delete from @temp +end +--CHIUDO il CURSORE +CLOSE curAssetColor +--RIMUOVO il CURSORE dalla memoria +DEALLOCATE curAssetColor +select * from #TempTable +end \ No newline at end of file diff --git a/sql/storedTestbes/dbo_InsertStartIntoLogFromDtsx.sql b/sql/storedTestbes/dbo_InsertStartIntoLogFromDtsx.sql new file mode 100644 index 00000000..7e05018c --- /dev/null +++ b/sql/storedTestbes/dbo_InsertStartIntoLogFromDtsx.sql @@ -0,0 +1,19 @@ +CREATE procedure [dbo].[InsertStartIntoLogFromDtsx] + -- Add the parameters for the stored procedure here + @Nome as varchar(100) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + INSERT INTO [dbo].[LOG_ESECUZIONE_PERIODICO] + ([Nome] + ,[Inizio] + ,[Nota] + ) + VALUES ( + @nome, + getDate(), + --'Elaborazione giornaliera') + 'Elaborazione trimestrale') +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_InsertStartIntoLogFromDtsxImmobiliare.sql b/sql/storedTestbes/dbo_InsertStartIntoLogFromDtsxImmobiliare.sql new file mode 100644 index 00000000..fa3e25df --- /dev/null +++ b/sql/storedTestbes/dbo_InsertStartIntoLogFromDtsxImmobiliare.sql @@ -0,0 +1,19 @@ +CREATE procedure [dbo].[InsertStartIntoLogFromDtsxImmobiliare] + -- Add the parameters for the stored procedure here + @Nome as varchar(100) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + INSERT INTO [dbo].[LOG_ESECUZIONE_PERIODICO_IMMOBILIARE] + ([Nome] + ,[Inizio] + ,[Nota] + ) + VALUES ( + @nome, + getDate(), + --'Elaborazione giornaliera') + 'Elaborazione Trimestrale Immobiliare') +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_InsertStopIntoLogFromDtsx.sql b/sql/storedTestbes/dbo_InsertStopIntoLogFromDtsx.sql new file mode 100644 index 00000000..340889ee --- /dev/null +++ b/sql/storedTestbes/dbo_InsertStopIntoLogFromDtsx.sql @@ -0,0 +1,28 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[InsertStopIntoLogFromDtsx] + -- Add the parameters for the stored procedure here + @Nome as varchar(100) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + UPDATE + dbo.LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE() + WHERE + Nome = @Nome AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = @Nome + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_InsertStopIntoLogFromDtsxImmobiliare.sql b/sql/storedTestbes/dbo_InsertStopIntoLogFromDtsxImmobiliare.sql new file mode 100644 index 00000000..d6424e0e --- /dev/null +++ b/sql/storedTestbes/dbo_InsertStopIntoLogFromDtsxImmobiliare.sql @@ -0,0 +1,28 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[InsertStopIntoLogFromDtsxImmobiliare] + -- Add the parameters for the stored procedure here + @Nome as varchar(100) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + UPDATE + dbo.LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + SET + Fine = GETDATE() + WHERE + Nome = @Nome AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO_IMMOBILIARE + WHERE + Nome = @Nome + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_JOB_Controlli_View.sql b/sql/storedTestbes/dbo_JOB_Controlli_View.sql new file mode 100644 index 00000000..c80e1128 --- /dev/null +++ b/sql/storedTestbes/dbo_JOB_Controlli_View.sql @@ -0,0 +1,8 @@ +create procedure [dbo].[JOB_Controlli_View] as +begin +insert into C6MartPeriodico.selettore values +(5,getdate(),'Controlli View') +truncate table [dbo].[TB_Flussi_Mappatura] +truncate table [dbo].[TB_Controlli_Mattina_View] +EXEC msdb.dbo.sp_start_job N'Esportazione_Tabellone' ; +end \ No newline at end of file diff --git a/sql/storedTestbes/dbo_ListaCampione.sql b/sql/storedTestbes/dbo_ListaCampione.sql new file mode 100644 index 00000000..f145cda5 --- /dev/null +++ b/sql/storedTestbes/dbo_ListaCampione.sql @@ -0,0 +1,15 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[ListaCampione] +AS +BEGIN + SET NOCOUNT ON; + SELECT a.* FROM C6MARTPERIODICO.SELEZIONECAMPIONE2 a + INNER JOIN appoCampioneReport b + ON a.rete = b.rete + AND a.cod_fiscale = b.cod_fiscale + ORDER BY rete, cod_fiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_ListaCampioneDettaglioMovimenti.sql b/sql/storedTestbes/dbo_ListaCampioneDettaglioMovimenti.sql new file mode 100644 index 00000000..8c39269b --- /dev/null +++ b/sql/storedTestbes/dbo_ListaCampioneDettaglioMovimenti.sql @@ -0,0 +1,19 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[ListaCampioneDettaglioMovimenti] +AS +BEGIN + SET NOCOUNT ON; + drop table if exists c6martperiodico.TB_ListaCampioneDettaglioMovimenti + SELECT a.RETE, a.COD_FIS, isnull(a.DETT_MOV_PREC,0) as DETT_MOV_PREC , isnull(a.DETT_MOV_CORR,0) as DETT_MOV_CORR + into c6martperiodico.TB_ListaCampioneDettaglioMovimenti + FROM C6MartPeriodico.DettaglioMovimenti a + INNER JOIN appoCampioneReport b + ON a.RETE = b.rete + AND a.COD_FIS = b.cod_fiscale + ORDER BY a.RETE, a.COD_FIS + select * from c6martperiodico.TB_ListaCampioneDettaglioMovimenti +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_ListaCampioneDettaglioMovimenti_Parziale.sql b/sql/storedTestbes/dbo_ListaCampioneDettaglioMovimenti_Parziale.sql new file mode 100644 index 00000000..692019fe --- /dev/null +++ b/sql/storedTestbes/dbo_ListaCampioneDettaglioMovimenti_Parziale.sql @@ -0,0 +1,58 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[ListaCampioneDettaglioMovimenti_Parziale] +AS +BEGIN + SET NOCOUNT ON; + drop table if exists c6martperiodico.TB_ListaCampioneDettaglioMovimenti_Parziale + SELECT a.RETE, a.COD_FIS, substring(b.provenienza,20,3) as CASISTICA, isnull(a.DETT_MOV_PREC,0) as DETT_MOV_PREC , isnull(a.DETT_MOV_CORR,0) as DETT_MOV_CORR + into c6martperiodico.TB_ListaCampioneDettaglioMovimenti_Parziale + FROM C6MartPeriodico.DettaglioMovimenti a + INNER JOIN appoCampioneReport b + ON a.RETE = b.rete + AND a.COD_FIS = b.cod_fiscale + AND provenienza like '%Apporti e Prelievi%' + ORDER BY a.RETE, a.COD_FIS + if( (select COUNT(*) from c6martperiodico.TB_ListaCampioneDettaglioMovimenti_Parziale)=0) + begin +drop table If exists #appo +select top 1 a.rete,a.cod_fiscale,s.DESCRIZIONE +into #appo +from C6MartPeriodico.selezionecampione s +inner join appoCampioneReport a +on s.rete+s.cod_fiscale=a.rete+a.cod_fiscale +where c39<>0 +union all +select top 1 a.rete,a.cod_fiscale,s.DESCRIZIONE from C6MartPeriodico.selezionecampione s +inner join appoCampioneReport a +on s.rete+s.cod_fiscale=a.rete+a.cod_fiscale +where c40<>0 +union all +select top 1 a.rete,a.cod_fiscale,s.DESCRIZIONE from C6MartPeriodico.selezionecampione s +inner join appoCampioneReport a +on s.rete+s.cod_fiscale=a.rete+a.cod_fiscale +where c41<>0 +union all +select top 1 a.rete,a.cod_fiscale,s.DESCRIZIONE from C6MartPeriodico.selezionecampione s +inner join appoCampioneReport a +on s.rete+s.cod_fiscale=a.rete+a.cod_fiscale +where c42<>0 +union all +select top 1 a.rete,a.cod_fiscale,s.DESCRIZIONE from C6MartPeriodico.selezionecampione s +inner join appoCampioneReport a +on s.rete+s.cod_fiscale=a.rete+a.cod_fiscale +where c43<>0 +union all +select top 1 a.rete,a.cod_fiscale,s.DESCRIZIONE from C6MartPeriodico.selezionecampione s +inner join appoCampioneReport a +on s.rete+s.cod_fiscale=a.rete+a.cod_fiscale +where c44<>0 + update a set PROVENIENZA = 'APPORTI E PRELIEVI' + FROM appoCampioneReport a + where cod_fiscale in (select cod_fiscale from #appo) + exec [dbo].[ListaCampioneDettaglioMovimenti_Parziale] + end +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_LogFTP.sql b/sql/storedTestbes/dbo_LogFTP.sql new file mode 100644 index 00000000..c6bae9fb --- /dev/null +++ b/sql/storedTestbes/dbo_LogFTP.sql @@ -0,0 +1,30 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[LogFTP] + -- Add the parameters for the stored procedure here + @WelcomeMessage varchar(150), + @BannerMessage varchar(150), + @ResponseURI varchar(150), + @StatusDescription varchar(150), + @StatusCode varchar(150) +AS +BEGIN + INSERT INTO [C6StampeCentralizzate].[dbo].[LOG_FTP] + ([Date] + ,[WelcomeMessage] + ,[BannerMessage] + ,[ResponseURI] + ,[StatusDescription] + ,[StatusCode]) + VALUES + (getDate() + ,@WelcomeMessage + ,@BannerMessage + ,@ResponseURI + ,@StatusDescription + ,@StatusCode + ) +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_PreGenerationElabCounter.sql b/sql/storedTestbes/dbo_PreGenerationElabCounter.sql new file mode 100644 index 00000000..8553db9b --- /dev/null +++ b/sql/storedTestbes/dbo_PreGenerationElabCounter.sql @@ -0,0 +1,6 @@ +create procedure [dbo].[PreGenerationElabCounter] +as +begin +SELECT elab, count(ELAB) as value from C6MartPeriodico.CRUSCOTTO_CONTRATTISEI +group by ELAB +end \ No newline at end of file diff --git a/sql/storedTestbes/dbo_PreGenerationStatoCounter.sql b/sql/storedTestbes/dbo_PreGenerationStatoCounter.sql new file mode 100644 index 00000000..3eb04865 --- /dev/null +++ b/sql/storedTestbes/dbo_PreGenerationStatoCounter.sql @@ -0,0 +1,5 @@ +create procedure [dbo].[PreGenerationStatoCounter] +as +begin +SELECT [stato_report] as stato ,count([stato_report]) as value from [C6MartPeriodico].[controllo_trimestrale] group by [stato_report] +end \ No newline at end of file diff --git a/sql/storedTestbes/dbo_RP_Popola_PiramideModello.sql b/sql/storedTestbes/dbo_RP_Popola_PiramideModello.sql new file mode 100644 index 00000000..aef4d366 --- /dev/null +++ b/sql/storedTestbes/dbo_RP_Popola_PiramideModello.sql @@ -0,0 +1,45 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE PROCEDURE [dbo].[RP_Popola_PiramideModello] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @datacongelamento as datetime + declare @dataInizioTrimestre as datetime + declare @FineTrimestre as datetime + set @datacongelamento = C6MartPeriodico.getDataCongelamento() + set @FineTrimestre = C6MartPeriodico.getDataCongelamento()+1 + --convert (date, DATEADD(month, 0, '2020-10-31 00:00:00.000')) + --Sostituire la data congelamento con la reale data di congelament tramite la funzione già esistente + set @dataInizioTrimestre = DATEADD(m,-3,DATEADD(mm, DATEDIFF(m,0,@datacongelamento), 0)) + --print @datacongelamento + --print @FineTrimestre + --print @dataInizioTrimestre + -- Insert statements for procedure here + select Rete, + Cod_fiscale, + Data_foto + into #ClientiPiramideIniziale + from [C6MartPeriodico].[MONITORAGGIO_INIZIALE] + where data_foto between @dataInizioTrimestre and @FineTrimestre + --select min(data_foto) from [C6MartPeriodico].[MONITORAGGIO_INIZIALE] where data_foto >= '2020-05-30 00:00:00.000' + insert into C6StagingPeriodico.Popola_PiramideModello + select Rete, + Cod_fiscale, + Data_foto, + isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Ext'),0.00) as PERC_EXT, + isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Inv'),0.00) as PERC_INV, + isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Pre'),0.00) as PERC_PRE, + isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Ris'),0.00) as PERC_RIS, + isnull([C6MartPeriodico].[GetPercentualePiramideMod](cod_fiscale ,RETE ,'Liq'),0.00) as PERC_LIQ + from #ClientiPiramideIniziale + where rtrim(ltrim(rete))+rtrim(ltrim(cod_fiscale))+rtrim(ltrim(convert(varchar,data_foto,105))) not in + (select distinct(rtrim(ltrim(rete))+rtrim(ltrim(cod_fiscale))+rtrim(ltrim(convert(varchar,data_foto,105)))) from C6StagingPeriodico.Popola_PiramideModello) + --and rtrim(ltrim(rete))+rtrim(ltrim(cod_fiscale)) not in + --(select distinct(rtrim(ltrim(rete))+rtrim(ltrim(cod_fiscale))) from C6StagingPeriodico.Popola_PiramideModello) +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_SO_getNewSubscriptions.sql b/sql/storedTestbes/dbo_SO_getNewSubscriptions.sql new file mode 100644 index 00000000..26a6ae67 --- /dev/null +++ b/sql/storedTestbes/dbo_SO_getNewSubscriptions.sql @@ -0,0 +1,17 @@ +CREATE procedure [dbo].[SO_getNewSubscriptions] + @ultimaDataRilevata_ISODATE as varchar(8) +AS +BEGIN + DECLARE @the_date datetime + SET @the_date = CAST(@ultimaDataRilevata_ISODATE AS DATETIME) +SELECT + [Cod_Fiscale], + [CodiceContratto], + [Cod_Agente], + [Rete], + dbo.ToShortDateString([Data_Perf]) as data_perfezionamento_C6, + dbo.ToShortDateString([data_fineAvanzato] )as data_chiusura_C6 +FROM [C6Mart].[CONTRATTOSEI] +WHERE Data_Perf > @the_date +ORDER BY data_perf +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_SRV_CONTROLLA_FASE1.sql b/sql/storedTestbes/dbo_SRV_CONTROLLA_FASE1.sql new file mode 100644 index 00000000..36e574bd --- /dev/null +++ b/sql/storedTestbes/dbo_SRV_CONTROLLA_FASE1.sql @@ -0,0 +1,16 @@ +CREATE procedure [dbo].[SRV_CONTROLLA_FASE1] +as begin +select * from log_esecuzione +select * from global_error +select * +from c6mart.gestione_pdf_Ftp a +join c6mart.contrattosei b +on a.rete = b.rete and a.codiceFiscale = b.cod_fiscale +and nazione <> 'italia' +and dataGenerazione > getDate() - 1 +select * +from c6mart.gestione_pdf_Ftp a +join port_errati b +on a.rete = b.rete and a.codiceFiscale = b.cod_fiscale +and dataGenerazione > getDate() - 1 +end \ No newline at end of file diff --git a/sql/storedTestbes/dbo_SRV_ESTRAZIONE_ULTIMO_INVIO_REPORT.sql b/sql/storedTestbes/dbo_SRV_ESTRAZIONE_ULTIMO_INVIO_REPORT.sql new file mode 100644 index 00000000..7d09b1be --- /dev/null +++ b/sql/storedTestbes/dbo_SRV_ESTRAZIONE_ULTIMO_INVIO_REPORT.sql @@ -0,0 +1,36 @@ +CREATE procedure [dbo].[SRV_ESTRAZIONE_ULTIMO_INVIO_REPORT] AS +SELECT + BF.RETE, + BF.COD_FISCALE, + --Dbo.ToShortDateString( +( SELECT CONVERT(VARCHAR(10),DATA_CONGELAMENTO - 1 , 103) FROM C6MartPeriodico.CONGELAMENTO_SEI) AS DataFase, + --PatrimonioNonAssociato AS RisorseNonAllocate, + ctv - contoCorrente as cvtRisorseFinanziarie, + ContoCorrente, + PartiteViaggiantiDisinv + isnull(pv.importo,0) AS Partita_viaggiante, + CTV + PartiteViaggiantiDisinv + isnull(pv.importo,0) as totalePatrimonio, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + isnull(RA.COPERTURA,0) AS Copertura, +-- TRINGALI MODIFICARE + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' + else cast(ra.creditrisk as varchar) end as RiskClass + FROM + C6MartPeriodico.vPatrimonioBFAggregato AS BF + INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON BF.RETE = MIFID.RETE + AND BF.COD_FISCALE = MIFID.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = BF.RETE + AND RA.COD_FISCALE = BF.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' +left outer join C6MartPeriodico.PARTITE_VIAGGIANTI pv + on bf.rete=pv.rete + and bf.cod_fiscale=pv.cod_fiscale +order by 1,2 \ No newline at end of file diff --git a/sql/storedTestbes/dbo_SRV_ReportDaCancellare.sql b/sql/storedTestbes/dbo_SRV_ReportDaCancellare.sql new file mode 100644 index 00000000..60cf2200 --- /dev/null +++ b/sql/storedTestbes/dbo_SRV_ReportDaCancellare.sql @@ -0,0 +1,51 @@ +-- ============================================= +-- Author: Atzeri Emanuele +-- Create date: +-- Description: +-- ============================================= +--select * from c6mart.vcontratti +--where cod_fiscale = 'VNCLDA54H15M109X' +-------------------------------------------- +--insert into ReportDaCancellare +-------------------------------------------- +--select rete, codicefiscale, SUBSTRING(NomeFile, 1, 11), idreport, datagenerazione +--from c6mart.gestione_pdf_ftp +--where SUBSTRING(NomeFile, 1, 11) = '010580CO200' +CREATE PROCEDURE [dbo].[SRV_ReportDaCancellare] + -- Add the parameters for the stored procedure here +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --SET NOCOUNT ON; +BEGIN TRANSACTION + BEGIN TRY + update c6mart.contrattosei_metadati + set invioBenvenuto = 'N' + from c6mart.contrattosei_metadati m + join c6mart.vcontratti v + on m.chiaveClientepb = v.chiaveclientepb + join c6mart.gestione_pdf_ftp p + on v.cod_fiscale = p.codiceFiscale + and v.rete = p.rete + where p.idreport in + ( + select idreport from ReportDaCancellare + ) + delete from c6mart.gestione_pdf_ftp where idreport in + ( + select idreport from ReportDaCancellare + ) + insert into ReportDaCancellareBCK + (rete, codfis, codconf, idreport, dtgenera) + select * from ReportDaCancellare + truncate table ReportDaCancellare + COMMIT TRANSACTION +END TRY +BEGIN CATCH + ROLLBACK TRANSACTION + DECLARE @Msg NVARCHAR(MAX) + SELECT @Msg=ERROR_MESSAGE() + RAISERROR('Descrizione errore: %s', 20, 101,@msg) WITH LOG +END CATCH +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_SRV_SELECT_PROFILI_SCADUTI.sql b/sql/storedTestbes/dbo_SRV_SELECT_PROFILI_SCADUTI.sql new file mode 100644 index 00000000..67979b44 --- /dev/null +++ b/sql/storedTestbes/dbo_SRV_SELECT_PROFILI_SCADUTI.sql @@ -0,0 +1,8 @@ +CREATE procedure [dbo].[SRV_SELECT_PROFILI_SCADUTI] AS +BEGIN + SELECT * + FROM C6STAGINGPERIODICO.MAIL_PROFILI_RISCHIO + WHERE datediff(dd,dt_CREAZIONE_profilo,dateadd(mm,3,getdate()))/365.25>3 + OR PROFILO = 0 + ORDER BY DT_CREAZIONE_PROFILO +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_SRV_insertLogPreCalcoloDatiGenerator.sql b/sql/storedTestbes/dbo_SRV_insertLogPreCalcoloDatiGenerator.sql new file mode 100644 index 00000000..bc0972df --- /dev/null +++ b/sql/storedTestbes/dbo_SRV_insertLogPreCalcoloDatiGenerator.sql @@ -0,0 +1,21 @@ +CREATE procedure [dbo].[SRV_insertLogPreCalcoloDatiGenerator] +@generator as varchar(60), +@durata as float, +@numeroClientiElaborati as int +AS +BEGIN +-- +--create table SRV_LOG_PreCalcoloDatiGenerator ( +-- generator varchar(60) null, +-- durata float null, +-- numeroClientiElaborati int null, +-- dataInserimento datetime null +--) +-- +insert into SRV_LOG_PreCalcoloDatiGenerator values( + @generator, + @durata, + @numeroClientiElaborati, + getDate() +) +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_SearchAllTables.sql b/sql/storedTestbes/dbo_SearchAllTables.sql new file mode 100644 index 00000000..bcbdfeda --- /dev/null +++ b/sql/storedTestbes/dbo_SearchAllTables.sql @@ -0,0 +1,51 @@ +CREATE PROC [dbo].[SearchAllTables] +( + @SearchStr nvarchar(100) +) +AS +BEGIN + CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630)) + SET NOCOUNT ON + DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110) + SET @TableName = '' + SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''') + WHILE @TableName IS NOT NULL + BEGIN + SET @ColumnName = '' + SET @TableName = + ( + SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)) + FROM INFORMATION_SCHEMA.TABLES + WHERE TABLE_TYPE = 'BASE TABLE' + AND QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName + AND OBJECTPROPERTY( + OBJECT_ID( + QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) + ), 'IsMSShipped' + ) = 0 + ) + WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL) + BEGIN + SET @ColumnName = + ( + SELECT MIN(QUOTENAME(COLUMN_NAME)) + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_SCHEMA = PARSENAME(@TableName, 2) + AND TABLE_NAME = PARSENAME(@TableName, 1) + AND DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar', 'int', 'decimal') + AND QUOTENAME(COLUMN_NAME) > @ColumnName + ) + IF @ColumnName IS NOT NULL + BEGIN + INSERT INTO #Results + EXEC + ( + 'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630) + FROM ' + @TableName + ' (NOLOCK) ' + + ' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2 + ) + END + END + END + SELECT ColumnName, ColumnValue FROM #Results +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_SelezioneCampione_Fc.sql b/sql/storedTestbes/dbo_SelezioneCampione_Fc.sql new file mode 100644 index 00000000..98a18f57 --- /dev/null +++ b/sql/storedTestbes/dbo_SelezioneCampione_Fc.sql @@ -0,0 +1,33 @@ +CREATE procedure [dbo].[SelezioneCampione_Fc] + -- @NomeTabella as varchar(50), + @NomeChiave as varchar(50) +AS +BEGIN + DECLARE @sql nvarchar(max) + DECLARE @SQLString NVARCHAR(500) + DECLARE @ParmDefinition NVARCHAR(500) + DECLARE @IntVariable INT + DECLARE @Lastlname varchar(30) + DECLARE @LastlnameOUT INT + Set @IntVariable=1 + DECLARE @Giorni int, @i int + SET @Giorni = 5 + SET @i = 0 +--WHILE @IntVariable < 5 +--BEGIN + SET @SQLString = N'select @LastlnameOUT = count(*) from [C6MartPeriodico].[selezionecampione2] WHERE ' + + quotename(@NomeChiave) + ' > 0 ' + SET @ParmDefinition = N' @LastlnameOUT varchar(30) OUTPUT' + EXECUTE sp_executesql @SQLString,@ParmDefinition,@LastlnameOUT=@Lastlname OUTPUT + IF @Lastlname>0 + Begin + select @Lastlname + END + -- SET @sql = N'insert into selezionecampione2_fc (rete,cod_fiscale,'+quotename(@NomeChiave)+') ' + + -- ' select top 10 rete,cod_fiscale,'+@NomeChiave+' from [C6MartPeriodico].[selezionecampione2] WHERE ' + + -- quotename(@NomeChiave) + ' > 0 ' + -- EXEC sp_executesql @sql + -- set @IntVariable=@IntVariable+1; + --End -- IF +--END --While +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_SubscribedCustomer_Compare.sql b/sql/storedTestbes/dbo_SubscribedCustomer_Compare.sql new file mode 100644 index 00000000..a4b615f8 --- /dev/null +++ b/sql/storedTestbes/dbo_SubscribedCustomer_Compare.sql @@ -0,0 +1,28 @@ +CREATE procedure [dbo].[SubscribedCustomer_Compare] +AS +BEGIN + SET NOCOUNT ON; + TRUNCATE TABLE [C6StampeCentralizzate].[dbo].[SubscribedCustomer_ComparedResults] + INSERT INTO [C6StampeCentralizzate].[dbo].[SubscribedCustomer_ComparedResults] ([Rete], [FiscalCode], [DateOfMonitoring], [Description]) + SELECT hp.[Rete], hp.[FiscalCode], hp.[DateOfMonitoring], 'Cliente mancante in lista Fideuram' + FROM [C6StampeCentralizzate].[dbo].[SubscribedCustomer_HP] hp + LEFT OUTER JOIN [C6StampeCentralizzate].[dbo].[SubscribedCustomer_Bank] bank + ON hp.[Rete] = bank.[Rete] and + hp.[FiscalCode] = bank.[FiscalCode] and + hp.[DateOfMonitoring] = bank.[DateOfMonitoring] + WHERE + bank.[Rete] IS NULL OR + bank.[FiscalCode] IS NULL OR + bank.[DateOfMonitoring] IS NULL + INSERT INTO [C6StampeCentralizzate].[dbo].[SubscribedCustomer_ComparedResults] ([Rete], [FiscalCode], [DateOfMonitoring], [Description]) + SELECT bank.[Rete], bank.[FiscalCode], bank.[DateOfMonitoring], 'Cliente mancante in lista HP' + FROM [C6StampeCentralizzate].[dbo].[SubscribedCustomer_Bank] bank + LEFT OUTER JOIN [C6StampeCentralizzate].[dbo].[SubscribedCustomer_HP] hp + ON bank.[Rete] = hp.[Rete] and + bank.[FiscalCode] = hp.[FiscalCode] and + bank.[DateOfMonitoring] = hp.[DateOfMonitoring] + WHERE + hp.[Rete] IS NULL OR + hp.[FiscalCode] IS NULL OR + hp.[DateOfMonitoring] IS NULL +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_TEST_GETNEXTTRIMESTRE.sql b/sql/storedTestbes/dbo_TEST_GETNEXTTRIMESTRE.sql new file mode 100644 index 00000000..61c96d68 --- /dev/null +++ b/sql/storedTestbes/dbo_TEST_GETNEXTTRIMESTRE.sql @@ -0,0 +1,53 @@ +-- Stored procedure +CREATE procedure [dbo].[TEST_GETNEXTTRIMESTRE] +AS +BEGIN +--marzo +select c6martperiodico.getNextTrimestre(cast ('20121201' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20121231' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120101' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120131' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120228' as datetime),0) +--giugno +select c6martperiodico.getNextTrimestre(cast ('20120301' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120331' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120401' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120430' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120531' as datetime),0) +--settembre +select c6martperiodico.getNextTrimestre(cast ('20120601' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120630' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120701' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120731' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120831' as datetime),0) +--dicembre +select c6martperiodico.getNextTrimestre(cast ('20120901' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20120930' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20121001' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20121031' as datetime),0) +select c6martperiodico.getNextTrimestre(cast ('20121130' as datetime),0) +--marzo +select c6martperiodico.getNextTrimestre(cast ('20121201' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20121231' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120101' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120131' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120228' as datetime),1) +--giugno +select c6martperiodico.getNextTrimestre(cast ('20120301' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120331' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120401' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120430' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120531' as datetime),1) +--settembre +select c6martperiodico.getNextTrimestre(cast ('20120601' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120630' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120701' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120731' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120831' as datetime),1) +--dicembre +select c6martperiodico.getNextTrimestre(cast ('20120901' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20120930' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20121001' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20121031' as datetime),1) +select c6martperiodico.getNextTrimestre(cast ('20121130' as datetime),1) +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_TEST_GETTRIMESTRE2.sql b/sql/storedTestbes/dbo_TEST_GETTRIMESTRE2.sql new file mode 100644 index 00000000..3d2a59ff --- /dev/null +++ b/sql/storedTestbes/dbo_TEST_GETTRIMESTRE2.sql @@ -0,0 +1,53 @@ +-- Stored procedure +CREATE procedure [dbo].[TEST_GETTRIMESTRE2] +AS +BEGIN +--dicembre +select c6martperiodico.getTrimestre2(cast ('20121201' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20121231' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120101' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120131' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120228' as datetime),0) +--marzo +select c6martperiodico.getTrimestre2(cast ('20120301' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120331' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120401' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120430' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120531' as datetime),0) +--giugno +select c6martperiodico.getTrimestre2(cast ('20120601' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120630' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120701' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120731' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120831' as datetime),0) +--settembre +select c6martperiodico.getTrimestre2(cast ('20120901' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20120930' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20121001' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20121031' as datetime),0) +select c6martperiodico.getTrimestre2(cast ('20121130' as datetime),0) +--dicembre +select c6martperiodico.getTrimestre2(cast ('20121201' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20121231' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120101' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120131' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120228' as datetime),1) +--marzo +select c6martperiodico.getTrimestre2(cast ('20120301' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120331' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120401' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120430' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120531' as datetime),1) +--giugno +select c6martperiodico.getTrimestre2(cast ('20120601' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120630' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120701' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120731' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120831' as datetime),1) +--settembre +select c6martperiodico.getTrimestre2(cast ('20120901' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20120930' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20121001' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20121031' as datetime),1) +select c6martperiodico.getTrimestre2(cast ('20121130' as datetime),1) +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_TEST_MERGED_PROCEDURE.sql b/sql/storedTestbes/dbo_TEST_MERGED_PROCEDURE.sql new file mode 100644 index 00000000..7479aea7 --- /dev/null +++ b/sql/storedTestbes/dbo_TEST_MERGED_PROCEDURE.sql @@ -0,0 +1,4338 @@ +CREATE procedure [dbo].[TEST_MERGED_PROCEDURE] +@Rete char(1), +@CodiceFiscale varchar(16) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED +----------------------------------------------- C6MartPeriodico.PL_S43LineaSelfBF +SELECT '' as 'C6MartPeriodico.PL_S43LineaSelfBF', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(cast(datasott as varchar)) as DataSott + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + LS.rete= @Rete + AND LS.codfis= @CodiceFiscale + AND isnull(ctv,0) < 0 +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D_S333Fonditalia80 +Select + '' as 'C6MartPeriodico.PL_D_S333Fonditalia80', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale + ,[DES_PROD] + ,[COD_CONF] + ,[QUOTA] + ,[NUMEROQUOTE] + ,[CONTROVALORE] + ,[DATARIF] + ,[DES_MAX] + ,[QUOTA_MAX] + ,[QUOTA_MAX_PERC] + ,[DATARIF_MAX] + ,[DES_PROT] + ,[QUOTA_PROT] + ,[NUMEROQUOTE_PROT] + ,[CONTROVALORE_PROT] +from [C6martperiodico].[capprot] + WHERE [Rete] = @Rete + AND [Codfis] = @CodiceFiscale +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_S10PatrimonioFinanziario +SELECT '' as 'C6MartPeriodico.PL_S10PatrimonioFinanziario' , @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + A.BANCA, + A.ORDINAMENTO, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,5)) Controvalore, + cast(A.Percentuale as decimal(19,5)) Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Banca Fideuram' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.PATRIMONIO_BF PATRBF + INNER JOIN C6MART.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + -- MODIFICA PER AVERE ASSET PERCENTUALI SUI CC +-- SELECT ASSETPERC.ID_ASSETCLASS, +-- PATRBF.CTV*ASSETPERC.PERC as Controvalore +-- FROM C6MART.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MART.ASSET_PERC ASSETPERC +-- ON PATRBF.COD_SOTTOPRODOTTO = ASSETPERC.COD_SOTTOPRODOTTO +-- AND PATRBF.COD_INTERNO = ASSETPERC.COD_INTERNO +-- AND ASSETPERC.LIVELLO = 1 +---- LEFT OUTER JOIN C6Mart.ClientiConCCNegativo CCNegativo +---- ON PATRBF.RETE = CCNegativo.Rete +---- AND PATRBF.COD_FISCALE = CCNegativo.Cod_Fiscale +-- WHERE +-- --ELIMINO I CC CON SALDO NEGATIVO +-- --PATRBF.TIPO_PRODOTTO = 'CC' +-- PATRBF.ID_AREA = 'CC' +-- AND PATRBF.RETE = @Rete +-- AND PATRBF.COD_FISCALE = @CodiceFiscale +-- --AND CCNegativo.Cod_Fiscale IS NULL +-- UNION ALL + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MART.DETTAGLIO_ASUL ASUL + INNER JOIN C6MART.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN C6Mart.ASSETCLASS ASSETCLASS + ON ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +--V Aggiunto controllo che il cvt sia maggiore di zero, altrimenti +-- viene visualizzato sul report una riga con 0 +WHERE A.CONTROVALORE > 0 +ORDER BY A.ORDINAMENTO +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_Prodotti_Non_Associati_Area_Inv +SELECT '' as 'C6MartPeriodico.PL_Prodotti_Non_Associati_Area_Inv', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, +PATRBF.RETE, +PATRBF.COD_FISCALE, +ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') AS NOME_PROGETTO, +ID_AREA as NEED_AREA, +SUM(CTV) AS CONTROVALOREATTUALE, +MAX(ISNULL(RISK.VAR_PERC_PTF,0)) AS var_needarea, +--PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString +FROM +C6MARTPERIODICO.PATRIMONIO_BF PATRBF +LEFT OUTER JOIN +C6MARTPERIODICO.RISCHIO_AGGREGATO RISK +ON PATRBF.RETE = RISK.RETE + AND PATRBF.COD_FISCALE = RISK.COD_FISCALE + AND RISK.COD_AGGREG = 'PIRAMIDE|Inv|'+ ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.id_AREA = 'Inv' + AND PATRBF.NOME_PROGETTO='Prodotti non associati a progetti' +GROUP BY +PATRBF.RETE, +PATRBF.COD_FISCALE, +ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti'), +ID_AREA, +CHIAVE_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D_S332FVI_CS80_CT80 +SELECT '' as 'C6MartPeriodico.PL_D_S332FVI_CS80_CT80', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Banca Fideuram' + END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + --PRODOTTI BF ESCLUSI GLI ASUL + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area <> 'CC' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --CON SKANDIA + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + where assetclass.descrizione in ('Monetario', 'Obbligazionario', 'Azionario') +) A +ORDER BY A.ORDINAMENTO +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_MP_S137BIS_FOI80 Total +SELECT '' as 'C6MartPeriodico.PL_MP_S137BIS_FOI80', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + DTTRIM, + DTRIFE, + RETE, + CODFIS, + DESPROD, + CODMAN, + CODCONF, + CODPROD, + SUBPROD, + ISIN, + CTV, + PREZZO, + QUOTE, + PREZZOMAX, + DTPREZZOMAX, + DESMAX, + PREZZOPROT, + CTRVIMPPROT, + DESPROT, + DESPRODTIT, + QUOTA_MAX_PERC + FROM C6MartPeriodico.FOI80 + WHERE 1=1 + AND RETE = @Rete + AND CODFIS = @CodiceFiscale +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.GESTIONE_S_Intermediari + SELECT DISTINCT '' as 'C6MartPeriodico.GESTIONE_S_Intermediari', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, INTERMEDIARIO + FROM C6Mart.PATRIMONIO_TERZI + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_S80BisEvoluzioneRischio +SELECT '' as 'C6MartPeriodico.PL_S80BisEvoluzioneRischio', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + Fase + ,DataFase + ,VarMassimoProfiloFinanziario + ,VarComplessivo + ,Copertura + ,RISKCLASS + ,RISKCLASSMAX + ,RiskClassString + ,RiskClassMaxString + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S80BisEvoluzioneRischio] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S150Anagrafica +SELECT '' as 'C6MartPeriodico.PL_D2_S150Anagrafica', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + [Cliente] + ,[DatadiNascita] + ,[ETA] + ,[Professione] + ,[StatoCivile] + ,[NucleoFamiliare] + ,[Residenza] + ,[CodiceFiscale] + ,[CodicePB] + ,[CodiceRete] + ,[CodiceContratto] + ,[StatoContratto] + ,[DataSottoscrizione] + ,[DataPerfezionamento] + ,[FasciaCPP] + ,[IndirizzoEmail] + ,[ProduzioneReport] + ,[Indirizzo] + ,[CAP] + ,[Citta] + ,[Provincia] + ,[Nazione] + ,[PRESSO] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S25Anagrafica] + WHERE [CodiceRete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S151ProfiloDiRischio +BEGIN +DECLARE @varBF DECIMAL(12,2) +DECLARE @coperturaBF DECIMAL(12,2) +DECLARE @codiceProfilo SMALLINT +DECLARE @dataProfilo DATETIME +DECLARE @varProfilo DECIMAL(5,2) +DECLARE @nomeProfilo VARCHAR(50) +DECLARE @riskclass VARCHAR(50) +DECLARE @experience SMALLINT +SELECT + @codiceProfilo = M.PROFILO_ASS, + @dataProfilo = M.DATA_INIZIO_VAL, + @varProfilo = CR.MAX_VAR, + @nomeProfilo = ProfiliDiRischio.NOMEPROFILO, + @riskclass = m.riskclass, + @experience = m.experience +FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO +WHERE + M.RETE = @Rete AND + M.COD_FISCALE = @CodiceFiscale +SELECT '' as 'C6MartPeriodico.PL_D2_S151ProfiloDiRischio', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + @codiceProfilo as codiceProfilo, + DBO.TOSHORTDATESTRING (@dataProfilo) as dataInizioValidita, + @varProfilo as varMassimo, + ISNULL(@varBF,0) as varBF, + ISNULL(@coperturaBF,0) as coperturaBF, + @nomeProfilo as nomeProfilo, + @riskclass as riskclass, + @experience as experince +END +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S152Patrimonio +BEGIN + DECLARE @PatrimonioBF DECIMAL(15,2) + DECLARE @PatrimonioTerzi DECIMAL(15,2) + DECLARE @PatrimonioImmobiliare DECIMAL(15,2) + DECLARE @CCBF DECIMAL(15,2) + DECLARE @PatrimonioAltro DECIMAL(15,2) + DECLARE @PatrimonioTotale DECIMAL(15,2) + DECLARE @Part_viaggianti decimal(15,2) + SELECT @PatrimonioBF = SUM(CTV) + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE + patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + AND patrBF.id_area not in ('CC','SELF') + SELECT @Part_viaggianti = SUM(IMPORTO) + FROM + ( + SELECT SUM(IMPORTO) AS IMPORTO + FROM C6Martperiodico.PARTITE_VIAGGIANTI partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + union + SELECT SUM(PARTVIA_DISINV) AS IMPORTO + FROM C6Martperiodico.patrimonio_bf partvia + WHERE + partvia.Rete = @Rete + and partvia.Cod_Fiscale = @CodiceFiscale + ) T + SELECT @PatrimonioTerzi = SUM(ROUND(CTV,2)) + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE + patrTerzi.Rete = @Rete + and patrTerzi.Cod_Fiscale = @CodiceFiscale + SELECT @PatrimonioImmobiliare = SUM(patrImm.VALORE_STIMATO) + FROM C6MartPeriodico.PATRIMONIO_IMMOBILIARE patrImm + WHERE + patrImm.Rete = @Rete + and patrImm.Cod_Fiscale = @CodiceFiscale + SELECT @PatrimonioAltro = SUM(patrAltro.ctv) + FROM C6MartPeriodico.PATRIMONIO_ALTRO patrAltro + WHERE + patrAltro.Rete = @Rete + AND patrAltro.Cod_Fiscale = @CodiceFiscale + declare @summa as decimal(15,2) + SET @Part_viaggianti=coalesce(@Part_viaggianti,0) + SET @PatrimonioBF =coalesce(@PatrimonioBF,0) + SET @summa = @PatrimonioBF + @Part_viaggianti + SET @PatrimonioBF=@summa + SET @PatrimonioTerzi =coalesce(@PatrimonioTerzi,0) + SET @PatrimonioImmobiliare =coalesce(@PatrimonioImmobiliare,0) + SET @PatrimonioAltro= coalesce(@PatrimonioAltro,0) + SET @PatrimonioTotale = coalesce(@PatrimonioBF+@PatrimonioTerzi+@PatrimonioImmobiliare+@PatrimonioAltro,0) + SELECT '' as 'C6MartPeriodico.PL_D2_S152Patrimonio', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + @PatrimonioBF AS BFCTV, + @PatrimonioTerzi AS PatrimonioTerziCTV, + @PatrimonioBF +@PatrimonioTerzi AS FinanziarioCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else (@PatrimonioBF + @PatrimonioTerzi)/ @PatrimonioTotale end) * 100.00)) AS FinanziarioPerc, + @PatrimonioImmobiliare AS ImmobiliareCTV, + CONVERT(decimal(6,2),((case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioImmobiliare/@PatrimonioTotale end ) *100.00)) AS ImmobiliarePerc, + @PatrimonioAltro AS AltroCTV, + CONVERT(decimal(6,2),(case @PatrimonioTotale when 0.00 then 0.00 else @PatrimonioAltro/@PatrimonioTotale end) *100.00) AS AltroPerc, + @PatrimonioTotale AS TotaleCTV +END +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S153PatrimonioFinanziario + SELECT '' as 'C6MartPeriodico.PL_D2_S153PatrimonioFinanziario', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + Intermediario, + Ordine, + Banca, + Controvalore, + round(Percentuale,2) as Percentuale + FROM + ( + SELECT DISTINCT + Intermediario, + Ordine, + CASE @Rete WHEN 'F' THEN 'Banca Fideuram' ELSE 'Sanpaolo Invest' END AS Banca, + SUM(ctv) over (partition by Intermediario,Ordine) AS CONTROVALORE, + ( + (SUM(ctv) over (partition by Intermediario,Ordine)) / + (SUM(ctv) over (partition by 'Totale')) + ) * 100 AS PERCENTUALE + FROM + ( + SELECT + CASE @Rete WHEN 'F' THEN 'Banca Fideuram' ELSE 'Sanpaolo Invest' END AS Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 1 AS ordine + FROM C6MartPeriodico.PATRIMONIO_BF patrBF + WHERE 1 = 1 + AND patrBF.Rete = @Rete + AND patrBF.Cod_Fiscale = @CodiceFiscale + and patrBF.id_area not in ('CC','SELF') + UNION ALL + SELECT + Intermediario, + SUM(ROUND(CTV,2)) AS ctv, + 2 AS ordine + FROM C6MartPeriodico.PATRIMONIO_TERZI patrTerzi + WHERE 1 = 1 + AND patrTerzi.Rete = @Rete + AND patrTerzi.Cod_Fiscale = @CodiceFiscale + GROUP BY patrTerzi.Intermediario + ) PATR + ) A + WHERE CONTROVALORE IS NOT NULL + ORDER BY Ordine +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S154PatrimonioFinanziario +SELECT '' as 'C6MartPeriodico.PL_D2_S154PatrimonioFinanziario', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + A.Banca, + A.Ordinamento, + A.AssetClassId, + A.AssetClassName, + cast(A.Controvalore as decimal(19,6)) Controvalore, + A.Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,6)) AS PatrimonioFinanziarioCTV +FROM +( + SELECT DISTINCT + CASE @Rete WHEN 'S' THEN 'Sanpaolo Invest'ELSE 'Banca Fideuram' END AS Banca, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale + FROM ( + SELECT --PRODOTTI BF ESCLUSI GLI ASUL + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO NOT IN ('ASUL') + AND PATRBF.ID_AREA not in ('CC','SELF') + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --CON SKANDIA + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S155PatrimonioImmobiliare + SELECT '' as 'C6MartPeriodico.PL_D2_S155PatrimonioImmobiliare', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + PATRIMONIO_IMMOBILIARE.DESCRIZIONE AS Descrizione, + PATRIMONIO_IMMOBILIARE.TIPOLOGIA AS Tipologia, + PATRIMONIO_IMMOBILIARE.LOCALITA AS Localita, + isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0) AS AffittoPercepito, + PATRIMONIO_IMMOBILIARE.valore_stimato AS Valore, + SUM(PATRIMONIO_IMMOBILIARE.VALORE_STIMATO) OVER (PARTITION BY 'Totale') as Totale, + SUM(isnull(PATRIMONIO_IMMOBILIARE.AFFITTO,0)) OVER (PARTITION BY 'TotaleAffitto') as TotaleAffitto + FROM C6MARTperiodico.PATRIMONIO_IMMOBILIARE + WHERE PATRIMONIO_IMMOBILIARE.RETE = @Rete + AND PATRIMONIO_IMMOBILIARE.COD_FISCALE = @CodiceFiscale + ORDER BY 5 DESC +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S156ALtroPatrimonio + SELECT '' as 'C6MartPeriodico.PL_D2_S156ALtroPatrimonio', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + PATRIMONIO_ALTRO.DESCRIZIONE AS Denominazione, + PATRIMONIO_ALTRO.QUANTITA AS NumeroQuote, + PATRIMONIO_ALTRO.CTV AS Valore, + SUM(PATRIMONIO_ALTRO.CTV) OVER (PARTITION BY 'Totale') as Totale + FROM + C6MartPeriodico.PATRIMONIO_ALTRO + WHERE + PATRIMONIO_ALTRO.RETE = @Rete + AND PATRIMONIO_ALTRO.COD_FISCALE = @CodiceFiscale + ORDER BY + PATRIMONIO_ALTRO.CTV DESC +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S157ConfrontoPiramidi +SELECT '' as 'C6MartPeriodico.PL_D2_S157ConfrontoPiramidi', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S133_S157DatiPiramide] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S158PiramideModello +SELECT '' as 'C6MartPeriodico.PL_D2_S158PiramideModello', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + BF.NOME_PROGETTO AS NomePrg, + PIRMOD.ORIZZ_TEMP AS OrizzTempPrg, + AGGR.VAR_PERC_PTF as VarPrg, + SUM(BF.CTV)AS ControvalorePrg + FROM C6MartPeriodico.PATRIMONIO_BF BF + INNER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AGGR + ON BF.RETE= AGGR.RETE + AND BF.COD_FISCALE= AGGR.COD_FISCALE + AND AGGR.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(BF.ID_AREA,3) + '|' + BF.NOME_PROGETTO + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD PIRMOD + ON BF.RETE= PIRMOD.RETE + AND BF.COD_FISCALE= PIRMOD.COD_FISCALE + AND BF.ID_AREA = PIRMOD.ID_AREA + AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'inv' + AND BF.RETE = @Rete + AND BF.COD_FISCALE = @CodiceFiscale + AND BF.CTV > 0 + group BY BF.NOME_PROGETTO,PIRMOD.ORIZZ_TEMP,AGGR.VAR_PERC_PTF +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S159PatrimonioFinanziario +SELECT '' as 'C6MartPeriodico.PL_D2_S159PatrimonioFinanziario', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + A.BANCA AS Banca, + A.ORDINAMENTO AS Ordinamento, + A.AssetClassId AS AssetClassId, + A.AssetClassName AS AssetClassName, + cast(A.Controvalore as decimal(19,5)) AS Controvalore, + cast(A.Percentuale as decimal(19,5)) AS Percentuale, + cast(ROUND(SUM(A.Controvalore) OVER (PARTITION BY 'TOTALE'),2) as decimal(19,5)) AS Totale +FROM +( + SELECT DISTINCT + CASE @Rete + WHEN 'S' THEN 'Sanpaolo Invest' + ELSE 'Banca Fideuram' + END AS Banca, + ASSETCLASS.ORDINAMENTO, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + ROUND(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS),2) as Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + --16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) = 0 + THEN 1 + ELSE ( SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') ) + END + ) * 100 AS Percentuale + FROM ( + SELECT + ASSETPERC.ID_ASSETCLASS, + PATRBF.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + --ELIMINO I CONTRATTI ASUL PERCHE' UTILIZZIAMO IL DETTGALIO CHE PRENDIAMO CON LA SECONDA QUERY + (PATRBF.TIPO_PRODOTTO NOT IN ('ASUL'))--,'CC')) + and patrbf.id_area not in ('CC','Self') + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT + ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---ELIMINO GLI SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + UNION ALL + SELECT ASSETPERC.ID_ASSETCLASS, + ASUL.CTV*ASSETPERC.PERC as Controvalore + FROM C6MartPeriodico.DETTAGLIO_ASUL ASUL + INNER JOIN C6MartPeriodico.ASSET_PERC ASSETPERC + --PRENDO SOLO GLI SKANDIA + ON ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + ASUL.RETE = @Rete + AND ASUL.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN + C6MartPeriodico.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS +) A +ORDER BY A.ORDINAMENTO +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S160DettaglioProdottiBF +BEGIN +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ AS INT + SELECT @TOTSELFLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ AS INT + SELECT @TOTLIQ = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +SELECT '' as 'C6MartPeriodico.PL_D2_S160DettaglioProdottiBF', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ = @TOTLIQ and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE + WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_progetto as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_progetto,nome_progetto, PATRBF.CTV DESC +END +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S162DettaglioProdotti + SELECT '' as 'C6MartPeriodico.PL_D2_S162DettaglioProdotti', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + PATRTERZI.DESCR_GRUPPO_PRODOTTO AS TipoProdotto, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.TOSHORTDATESTRING(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizioni, + ANAGPRODTERZI.NOME_PRODOTTO AS Descrizione, + ROUND(PATRTERZI.CTV,2) AS Controvalore, + ROUND(PATRTERZI.VERSATO_NETTO,2) AS VersatoNetto, + ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2) AS MinusPlusValenza, + RISCHIOPROD.VAR_PERC_PTF AS VarPerc, + CASE + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS VersatoNettoString, + CASE + WHEN PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO IS NULL THEN 'n.d.' + WHEN ISNULL(PATRTERZI.VERSATO_NETTO, 0) = 0 THEN 'n.d.' + ELSE NULL + END AS MinusPlusValenzaString, + CASE + WHEN ISNULL(RISCHIOPROD.copertura,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VarPercString, + SUM(ROUND(PATRTERZI.CTV,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleCTV, + SUM(ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleVersatoNetto, + CASE + WHEN COUNT(CASE WHEN PATRTERZI.VERSATO_NETTO IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleVersatoNettoString, + SUM(ROUND(PATRTERZI.CTV,2) - ROUND(PATRTERZI.VERSATO_NETTO,2)) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) AS TotaleMinus, + CASE + WHEN COUNT(CASE WHEN (PATRTERZI.CTV - PATRTERZI.VERSATO_NETTO) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY PATRTERZI.DESCR_GRUPPO_PRODOTTO) > 0 THEN 'n.d.' + ELSE NULL + END AS TotaleMinusString, + RISCHIOAGGREG.VAR_PERC_PTF AS TotaleVar, + CASE WHEN ISNULL(RISCHIOAGGREG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END AS TotaleVarString, + RISCHIOAGGREG.COPERTURA AS Copertura_Tot, + NULL AS Aggiornamento, + CASE + WHEN RISCHIOAGGREG.COPERTURA > 0 AND RISCHIOAGGREG.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGREG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS Copertura_Totale, + PATRTERZI.RETE AS Rete, + PATRTERZI.COD_FISCALE AS Cod_Fiscale, + 'TABELLA PRODOTTI FINANZIARI ALTRI' AS Tipo, + CASE WHEN (ISNULL(RISCHIOAGGREG.copertura,100) < 100) THEN '*' ELSE '' END AS Note, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' AND ISNULL(RISCHIOPROD.copertura,0.00) <> 0.00 THEN 1 ELSE 0 END AS ProdNonInCatalogo, + CASE UPPER(PATRTERZI.DESCR_GRUPPO_PRODOTTO) + WHEN 'FONDI' THEN 0 + WHEN 'GESTIONI PATRIMONIALI' THEN 1 + WHEN 'PRODOTTI DI TIPO AMMINISTRATO (ESCLUSO C/C)' THEN 2 + WHEN 'ASSICURATIVI UNITI/INDEX LINKED' THEN 3 + WHEN 'PORTAFOGLIO GENERICO' THEN 4 + ELSE 10000 + END AS OrdinamentoProdotti, + RISCHIOPROD.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOpROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOPROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, + RISCHIOPROD.CREDITRISKEMIT as creditriskemit + FROM + C6MartPeriodico.PATRIMONIO_TERZI PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN + --[10.10.32.85].C6StampeCentralizzate2.C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAGGREG + ON + PATRTERZI.RETE = RISCHIOAGGREG.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGREG.COD_FISCALE + AND RISCHIOAGGREG.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + PATRTERZI.DESCR_GRUPPO_PRODOTTO + WHERE 1 = 1 + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.DESCR_GRUPPO_PRODOTTO IS NOT NULL + ORDER BY + OrdinamentoProdotti, + Controvalore DESC +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S163PatrimonioFinanziarioMAssetClass +SELECT DISTINCT '' as 'C6MartPeriodico.PL_D2_S163PatrimonioFinanziarioMAssetClass', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + ASSETCLASS.ORDINAMENTO AS Ordinamento, + VALORIASSET.ID_ASSETCLASS AS AssetClassId, + ASSETCLASS.DESCRIZIONE AS AssetClassName, + cast(SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) as decimal(19,6)) AS Controvalore, + ( + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY VALORIASSET.ID_ASSETCLASS) / + SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') + ) * 100 AS Percentuale, + cast (SUM(VALORIASSET.CONTROVALORE) OVER (PARTITION BY 'TOTALE') as decimal(19,6)) AS PatrimonioFinanziarioCTV + FROM ( + --PRODOTTI TERZI A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV * ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC ASSETPERC + ON + PATRTERZI.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO <> 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + UNION ALL + --PRODOTTI TERZI NON A CATALOGO + SELECT + ISNULL(ASSETPERC.ID_ASSETCLASS,'AL') AS ID_ASSETCLASS, + PATRTERZI.CTV*ISNULL(ASSETPERC.PERC,1) AS Controvalore + FROM + C6MART.PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + C6MART.ASSET_PERC_TERZI ASSETPERC + ON + PATRTERZI.COD_PRODOTTO_TERZI = ASSETPERC.COD_PRODOTTO_TERZI + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' + AND PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale + ) VALORIASSET + INNER JOIN C6MART.ASSETCLASS ASSETCLASS + ON + ASSETCLASS.ID_ASSETCLASS = VALORIASSET.ID_ASSETCLASS + ORDER BY + ASSETCLASS.ORDINAMENTO +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S164PolizzeAltriIstituti +SELECT '' as 'C6MartPeriodico.PL_D2_S164PolizzeAltriIstituti', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + PATRTERZI.INTERMEDIARIO AS Intermediario, + dbo.toShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataDiSottoscrizione, + dbo.toShortDateString(PATRTERZI.DATA_SCADENZA) AS DataDiScadenza, + PATRTERZI.TIPO_POLIZZA AS TipologiaPolizza, + ANAGTERZI.NOME_PRODOTTO AS Descrizione, + NULL AS Aggiornamento, + PATRTERZI.CTV AS PrestazioneAssicurata, + PATRTERZI.TIPO_PRODOTTO AS TipoVersamento, + PATRTERZI.VERSATO_NETTO AS AmmontareVersamento + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGTERZI.COD_PRODOTTO_TERZI + AND ANAGTERZI.DESCR_PRODOTTO = 'Assets.FinancialAssets.PolizzeRivalutabili' + WHERE PATRTERZI.RETE = @Rete + AND PATRTERZI.COD_FISCALE = @CodiceFiscale +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S165FondiAltriIstituti +SELECT '' as 'C6MartPeriodico.PL_D2_S165FondiAltriIstituti', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + PATRTERZI.INTERMEDIARIO AS Intermediario, + ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto, + dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione, + PATRTERZI.FREQ_RATA as tipo_versamento, + PATRTERZI.CTV as controvalore, + PATRTERZI.VERSATO_NETTO as ammontare, + SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval, + RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto, + CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString, + RISCHIOAGGR.VAR_PERC_PTF as Var_Totale, + CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString, + --CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale, + CASE + WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' + ELSE '' -- CASI 0, 100, NULL + END AS copertura_totale, + CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota, + CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo, + RISCHIOAGGR.CREDITRISK as creditrisk, + CASE + WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring + FROM + C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI + ON + PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI + --AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev' + AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali' + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOPROD + ON + PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi + LEFT OUTER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAGGR + ON + PATRTERZI.RETE = RISCHIOAGGR.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE + AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + WHERE + PATRTERZI.rete = @Rete + and PATRTERZI.cod_fiscale = @CodiceFiscale + --AND PATRTERZI.TIPO_PRODOTTO = 'Fondi pensione' +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S166ContoCorrenteAI +SELECT '' as 'C6MartPeriodico.PL_D2_S166ContoCorrenteAI', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + CCTerzi.INTERMEDIARIO AS Intermediario, + CCTerzi.COD_CC AS ContoCorrente, + CCTerzi.SALDO AS Saldo, + null as creditrisk, + 'n.a.' as creditriskstring, + 0.00 as var + FROM + C6MartPeriodico.ANAG_CC_Terzi CCTerzi + WHERE + CCTerzi.rete= @Rete + AND CCTerzi.cod_fiscale= @CodiceFiscale +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S167DistribuzioneRischioCredito +SELECT '' as 'C6MartPeriodico.PL_D2_S167DistribuzioneRischioCredito', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, RETE, + COD_FISCALE, + INTERMEDIARIO, + CASE + WHEN INTERMEDIARIO IN ('Banca Fideuram', + 'Sanpaolo Invest') THEN 1 + ELSE 2 + END AS ORDINE, + SUM(CTV) AS CTV_TOT, + SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, + SUM(CASE WHEN RISKCLASS = 'Classe A' + OR RISKCLASS = 'Classe B' + OR RISKCLASS = 'Classe C' + OR RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) AS CTV_CreditRisk, + SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, + --CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE + WHEN SUM(CTV)=0 THEN 0 + ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + OR RISKCLASS = 'Classe B' + OR RISKCLASS = 'Classe C' + OR RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 +END AS PERC_CreditRisk, +CASE + WHEN SUM(CTV)=0 THEN 0 + ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 +END AS PERC_NA +FROM ( -- Start 1.1 + SELECT PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END AS RISKCLASS, + CASE + WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' + ELSE 'Sanpaolo Invest' + END AS INTERMEDIARIO, + --SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 + AND patrbf.id_area IN ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS ctv + FROM [C6Martperiodico].PATRIMONIO_BF PATRBF ---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN + (SELECT cod_fiscale, + rete, + sum(ctv) AS cc_ctv + FROM [C6MARTPERIODICO].pATRIMONIO_BF + WHERE id_Area IN ('Cc', + 'Self') + GROUP BY cod_fiscale, + rete) ctvcc ON patrbf.cod_fiscale=ctvcc.cod_fiscale + AND patrbf.rete=ctvcc.rete --fine calcolo somma cc +LEFT OUTER JOIN [C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto AS varchar),'') + '|' --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('EXT', + 'INV', + 'PRE', + 'RIS', + 'LIQ') THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('CC') THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('SELF') THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('NA') THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' -- + END + PATRBF.POSITION_ID --INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT OUTER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR ON RISCHIO_PROD.CREDITRISK = cr.profilo --V + WHERE PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.RETE = @Rete -- +GROUP BY PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END, + CASE + WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' + ELSE 'SANPAOLO' + END --- End 1.1 +UNION ALL -- Start 1.2 + SELECT PATRTERZI.RETE, + PATRTERZI.COD_FISCALE, + CASE + WHEN RISCHIOPROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END AS RISKCLASS, + 'Altri Istituti' AS INTERMEDIARIO, + --PATRTERZI.INTERMEDIARIO, +SUM(ROUND(CTV,2)) AS CTV + FROM [C6Martperiodico].PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + (SELECT cod_fiscale, + rete, + sum(ctv) AS cc_ctv + FROM [C6Martperiodico].pATRIMONIO_terzi + WHERE tipo_prodotto='Conti correnti' + GROUP BY cod_fiscale, + rete) ctvcc ON patrterzi.cod_fiscale=ctvcc.cod_fiscale + AND patrterzi.rete=ctvcc.rete + LEFT OUTER JOIN [C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD ON PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR ON RISCHIOPROD.CREDITRISK = cr.profilo --V + WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.RETE = @Rete -- +GROUP BY PATRTERZI.RETE, + PATRTERZI.COD_FISCALE, + --PATRTERZI.INTERMEDIARIO, +CASE + WHEN RISCHIOPROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE +END -- End 1.2 +)H +GROUP BY RETE, + COD_FISCALE, + INTERMEDIARIO -------- +UNION ALL ----------- +--QUERY TOTALE +SELECT '' as 'C6MartPeriodico.PL_D2_S167DistribuzioneRischioCredito', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, RETE, + COD_FISCALE, + 'Complessivo' AS INTERMEDIARIO, + 3 AS ORDINE, + SUM(CTV) AS CTV_TOT, + SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, + SUM(CASE WHEN RISKCLASS = 'Classe A' + OR RISKCLASS = 'Classe B' + OR RISKCLASS = 'Classe C' + OR RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) AS CTV_CreditRisk, + SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, + --CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE + WHEN SUM(CTV)=0 THEN 0 + ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + OR RISKCLASS = 'Classe B' + OR RISKCLASS = 'Classe C' + OR RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 +END AS PERC_CreditRisk, +CASE + WHEN SUM(CTV)=0 THEN 0 + ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 +END AS PERC_NA +FROM (--- Start 2.1 + SELECT PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END AS RISKCLASS, + --SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 + AND patrbf.id_area IN ('cc','self') THEN 0 ELSE PATRBF.CTV END) AS CTV + FROM [C6Martperiodico].PATRIMONIO_BF PATRBF --per fare la somma algebrica dei cc +LEFT OUTER JOIN + (SELECT cod_fiscale, + rete, + sum(ctv) AS cc_ctv + FROM [C6MARTPERIODICO].pATRIMONIO_BF + WHERE id_Area IN ('Cc', + 'Self') + GROUP BY cod_fiscale, + rete) ctvcc ON patrbf.cod_fiscale=ctvcc.cod_fiscale + AND patrbf.rete=ctvcc.rete --fine somma cc +LEFT OUTER JOIN [C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto AS varchar),'')+'|' --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('EXT', + 'INV', + 'PRE', + 'RIS', + 'LIQ') THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('CC') THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('SELF') THEN 'COMPLESSIVO|BF|SELF|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('NA') THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' -- + END + PATRBF.POSITION_ID + LEFT OUTER JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR ON RISCHIO_PROD.CREDITRISK = cr.profilo --V + WHERE PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.RETE = @Rete -- +GROUP BY PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END -- End 2.1 +UNION ALL -- Start 2.2 + SELECT PATRTERZI.RETE, + PATRTERZI.COD_FISCALE, + CASE + WHEN RISCHIOPROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END AS RISKCLASS, + SUM(ROUND(CTV,2)) AS CTV + FROM [C6Martperiodico].PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + (SELECT cod_fiscale, + rete, + sum(ctv) AS cc_ctv + FROM [C6Martperiodico].pATRIMONIO_terzi + WHERE tipo_prodotto='Conti correnti' + GROUP BY cod_fiscale, + rete) ctvcc ON patrterzi.cod_fiscale=ctvcc.cod_fiscale + AND patrterzi.rete=ctvcc.rete + LEFT OUTER JOIN [C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD ON PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR ON RISCHIOPROD.CREDITRISK = cr.profilo --V + WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.RETE = @Rete -- + GROUP BY PATRTERZI.RETE, + PATRTERZI.COD_FISCALE, + CASE + WHEN RISCHIOPROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END --- End 2.2 +)H +GROUP BY RETE, + COD_FISCALE +-------------------------------------------------------------------- +----------------------------------------------- C6MartPeriodico.PL_D2_S168TabellaEmittenti +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +declare @patr_compl decimal(18,3) +select @patr_compl=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT '' as 'C6MartPeriodico.PL_D2_S168TabellaEmittenti', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +--isnull(RATING,'n.a.') as RATING +FROM +( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + --RATING as RATING + FROM + ( + SELECT V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + CREDITRISKCLASS, + RATING + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +--COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +--RATING as RATING +FROM +( +SELECT +COD_FISCALE, +RETE, +'COMPLESSIVO' as INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, +RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10, +SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, +SUM(STOCKSCounterValue) AS STOCKSCounterValue, +SUM(bondsCounterValue) AS bondsCounterValue, +0 AS CONCENTRATION_ISSUER, +SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , +SUM(COPERTURA) AS COPERTURA +--RATING as RATING +FROM +( +SELECT V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + --RATING as RATING + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V +LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) +GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + INTERMEDIARIO, + CREDITRISKCLASS, +RATING +) Y +GROUP BY +COD_FISCALE, +RETE, +INTERMEDIARIO, +CREDITRISKCLASS, +EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, +FLG_RISKCLASS1, +FLG_RISKCLASS2, +FLG_RISKCLASS3, +FLG_RISKCLASS4, +FLG_RISKCLASS5, +FLG_RISKCLASS6, +FLG_RISKCLASS7, +FLG_RISKCLASS8, +FLG_RISKCLASS9, +FLG_RISKCLASS10 +--RATING +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--RATING +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +) U +ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC +END +-------------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_S43DettaglioProdottiBF +BEGIN +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ2 AS INT + SELECT @TOTSELFLIQ2 = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ2 AS INT + SELECT @TOTLIQ2 = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT '' as 'C6MartPeriodico.PL_S43DettaglioProdottiBF', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ltrim(rtrim(PATRBF.NOME_PROGETTO)) +END AS nome_progetto, +PATRBF.CHIAVE_PROGETTO AS ORDINAMENTO_PROGETTO, +SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.MINUS_PLUSVALENZA) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.MINUS_PLUSVALENZA IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.CHIAVE_PROGETTO) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ2 = @TOTLIQ2 and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) AS dataSottoscrizione, +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--Bido to get Code_CC field +--NOT AT ALL ANAGPROD.DESCR_PRODOTTO + ' ' + (STUFF(substring(ANAG_CC.COD_CC , 4 , len(ANAG_CC.COD_CC) - 3), 3 , 0, '/') ) AS Descrizione, +--End Bido +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +PATRBF.CTV - MONIT.MINUS_PLUSVALENZA AS VersatoNetto, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as VersatoNettoString, +MONIT.MINUS_PLUSVALENZA AS MinusPlusValenza, +CASE WHEN (PATRBF.CTV - MONIT.MINUS_PLUSVALENZA) IS NULL THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +--V nuova gestione cc +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in('EURO00000009', 'EURO10000007') THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, +RISCHIO_PROD.CREDITRISK as creditrisk, +CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK IS NULL THEN 'n.a.' + ELSE NULL + END as creditriskstring, +--CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + --LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + + '|' + isnull(cast(patrbf.CHIAVE_PROGETTO as varchar),'') +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO + And patrbf.ordinamento_progetto=monit.ordinamento_progetto +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 +ORDER BY + AREASORTORDER,CHIAVE_PROGETTO,nome_progetto, PATRBF.CTV DESC +END +--select top 1 * from c6martperiodico.patrimonio_bf where tipo_prodotto = 'CC' +--select SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)),ANAG_CC.COD_CC +--from c6martperiodico.anag_cc +--------------------------------------------------------------- + ---------------------------------------------------------------C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito + BEGIN -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. +SET NOCOUNT ON; +SELECT '' as 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk IS NULL THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, + --V La copertura viene valorizzata con un valore da 0 da 100 + -- CASE + -- WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' +-- ELSE +NULL -- END +AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE WHEN (SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE)) = 0 THEN 1 ELSE (SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE)) END) *100,2)AS PERCENTAGE, + --V + ORDINE, + RISK_AGG.Ully_perc +FROM + ( SELECT PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' + ELSE 'Patrimonio Sanpaolo Invest' + END AS INSTITUTENAME, + SUM(PATRBF.CTV) AS CTV, + --V + 1 AS ORDINE, + RISK_AGG.Ully_perc + FROM c6martperiodico.patrimonio_bf PATRBF, + C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + WHERE 1=1 + AND PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + AND PATRBF.rete= RISK_AGG.rete + AND PATRBF.cod_fiscale = @codiceFiscale + AND PATRBF.rete= @rete + AND PATRBF.CTV > 0 + AND ( RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' --or + --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + GROUP BY PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + CASE + WHEN PATRBF.RETE='F' THEN 'Patrimonio Banca Fideuram' + ELSE 'Patrimonio Sanpaolo Invest' + END + UNION SELECT TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 AS ORDINE, + RISK_AGG.Ully_perc + FROM c6martperiodico.PATRIMONIO_TERZI TERZI, + C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + WHERE 1=1 + AND TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + AND TERZI.rete= RISK_AGG.rete + AND TERZI.cod_fiscale =@codiceFiscale + AND TERZI.rete=@rete + AND TERZI.CTV > 0 + AND ( --RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' ) + GROUP BY TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc ) PATRBF +LEFT OUTER JOIN c6martperiodico.MIFID AS M ON PATRBF.COD_FISCALE=M.COD_FISCALE +AND PATRBF.RETE=M.RETE +LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR ON M.PROFILO_ASS = CR.PROFILO +LEFT OUTER JOIN c6martperiodico.CODIFICA_CREDITRISK CK ON M.riskclass=CK.PROFILO +LEFT OUTER JOIN c6martperiodico.RISCHIO_AGGREGATO RISK_AGG ON PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +AND PATRBF.RETE=RISK_AGG.RETE +AND (CASE + WHEN RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' + AND PATRBF.RETE= 'F' THEN 'Patrimonio Banca Fideuram' + WHEN RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + AND PATRBF.RETE= 'S' THEN 'Patrimonio Sanpaolo Invest' + ELSE 'Patrimonio altri Istituti' + END)= PATRBF.INSTITUTENAME +WHERE ( RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' + OR RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' ) +UNION ALL +SELECT '' as 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV), + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR, + MAX(CASE WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX( CASE WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' WHEN RISK_AGG.creditrisk IS NULL THEN 'n.a.' WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' ELSE NULL END) AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX(CASE WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END) AS COVERAGESTRING, + --MAX(CK.DESCRIZIONE) AS RISKCLASSMAX, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + --V + 3 AS ORDINE, + RISK_AGG.Ully_perc +FROM + ( SELECT PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + FROM c6martperiodico.patrimonio_bf PATRBF + WHERE 1=1 + AND cod_fiscale =@codiceFiscale + AND rete=@rete + AND PATRBF.CTV > 0 + GROUP BY PATRBF.RETE, + PATRBF.COD_FISCALE + UNION SELECT TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM c6martperiodico.PATRIMONIO_TERZI TERZI + WHERE 1=1 + AND cod_fiscale =@codiceFiscale + AND rete=@rete + AND TERZI.CTV > 0 + GROUP BY TERZI.RETE, + TERZI.COD_FISCALE ) PATRBF +LEFT OUTER JOIN c6martperiodico.MIFID AS M ON PATRBF.COD_FISCALE=M.COD_FISCALE +AND PATRBF.RETE=M.RETE +LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR ON M.PROFILO_ASS = CR.PROFILO +LEFT OUTER JOIN c6martperiodico.CODIFICA_CREDITRISK CK ON M.riskclass=CK.PROFILO +LEFT OUTER JOIN c6martperiodico.RISCHIO_AGGREGATO RISK_AGG ON PATRBF.COD_FISCALE=RISK_AGG.COD_FISCALE +AND PATRBF.RETE=RISK_AGG.RETE +WHERE ( RISK_AGG.COD_AGGREG= 'COMPLESSIVO' ) +GROUP BY PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc --V +ORDER BY ordine END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_D2_S170RischioDiversificazione +BEGIN + declare @contaCC as int + select @contaCC = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS as int + select @contaPOS = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete + declare @ctvbf as decimal(12,2) + SELECT @ctvbf = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_bf + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 + declare @ctvterzi as decimal (12,2) + SELECT @ctvterzi = isnull(sum(ctv),0) FROM c6martperiodico.patrimonio_terzi + where cod_fiscale = @CodiceFiscale + and rete= @Rete + and CTV > 0 +SELECT '' as 'C6MartPeriodico.PL_D2_S170RischioDiversificazione', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, +K.COD_FISCALE, +K.RETE, +CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then @ctvbf + when cod_Aggreg = 'COMPLESSIVO|TERZI' then @ctvterzi + when cod_Aggreg = 'COMPLESSIVO' then @ctvbf + @ctvterzi + else 0 +END AS CTV_AGGREG, +K.CREDITRISK, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS - @contacc <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS - @contacc <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (@contaPOS - @contacc = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Banca Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY ordine +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_D2_S171PatrimonioNonRappresentabileAssettClass +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @NOMERETE VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE = 'Banca Fideuram' + ELSE + SET @NOMERETE = 'Sanpaolo Invest' + SELECT '' as 'C6MartPeriodico.PL_D2_S171PatrimonioNonRappresentabileAssettClass', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE as Intermediario + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL +--INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <> 0.00 +--INIZIO INTERVENTI OMNIA + UNION ALL + SELECT '' as 'C6MartPeriodico.PL_D2_S171PatrimonioNonRappresentabileAssettClass', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + PATRBF.ID_CONTRATTO as Contratto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + SUM(ASUL.CTV) as Controvalore, + MAX(PATRBF.CTV) as controvalore_contratto, + SUM(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE as Intermediario + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL + ON PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL + GROUP BY + PATRBF.ID_CONTRATTO, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) , + ANAGP.DESCR_PRODOTTO + ORDER BY CONTROVALORE DESC +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_S25Anagrafica +BEGIN +SELECT '' as 'C6MartPeriodico.PL_S25Anagrafica', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, [Cliente] + ,[DatadiNascita] + ,[ETA] + ,[Professione] + ,[StatoCivile] + ,[NucleoFamiliare] + ,[Residenza] + ,[CodiceFiscale] + ,[CodicePB] + ,[CodiceRete] + ,[CodiceContratto] + ,[StatoContratto] + ,[DataSottoscrizione] + ,[DataPerfezionamento] + ,[FasciaCPP] + ,[IndirizzoEmail] + ,[ProduzioneReport] + ,[Indirizzo] + ,[CAP] + ,[Citta] + ,[Provincia] + ,[Nazione] + ,[PRESSO] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S25Anagrafica] + WHERE [CodiceRete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_AreeMonitorate +-- 2resultsets +BEGIN -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + --marianna controllare date di uscita coerenti tra tcptab e tanab, nel caso forzare la chiusura del monitoraggio nella tanab + --exec C6MartPeriodico.SRV_LISTA_DISALLINEAMENTI_MONIT +SELECT '' as 'C6MartPeriodico.PL_AreeMonitorate', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, max(convert(datetime,convert(varchar(8),dtuscita))) AS dtfine, + rete, + codarea, + codfis, + codprog INTO #tcptab_aggr_dt +FROM c6stagingperiodico.tcptab +WHERE ctvatt>0 +GROUP BY rete, + codfis, + codarea, + codprog +SELECT '' as 'C6MartPeriodico.PL_AreeMonitorate', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, a.codfis, + a.rete, + a.codarea, + a.codprog, + a.dtfine tanab_dt, + b.dtfine tcptab_dt INTO #dis_dt +FROM c6stagingperiodico.tanab a +FULL JOIN #tcptab_aggr_dt b ON a.rete = b.rete +AND a.codfis = b.codfis +AND a.codarea = b.codarea +AND a.codprog = b.codprog +WHERE convert(datetime,convert(varchar(8),a.dtfine))<>b.dtfine + AND b.dtfine 0 +AND PIRMOD.ID_AREA NOT IN ('Pre1', + 'Pre2', + 'Cc') --V ordine cambiato da 5 a 6 inquanto 5 è lo stesso di ext, na è passato a 7 + --Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT 'Cc' AS Need_Area, + 'Conti correnti a saldo negativo'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + 6 AS ORDINE, + 0 AS AREAPROGETTOSOTTOMONITORAGGIO + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +WHERE PATRBF.RETE= @Rete +AND PATRBF.COD_FISCALE = @CodiceFiscale +AND PATRBF.CTV < 0 +AND id_area = 'CC' -- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT 'Self' AS Need_Area, + 'Liquidità negativa "Linee GP Eligo"' AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + 7 AS ORDINE, + 0 AS AREAPROGETTOSOTTOMONITORAGGIO + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +WHERE PATRBF.RETE= @Rete +AND PATRBF.COD_FISCALE = @CodiceFiscale +AND PATRBF.CTV < 0 +AND id_area = 'SELF' -- End Of Bido Added for 'SN' Saldo Negativo + UNION + SELECT DISTINCT 'Na' AS Need_Area, + 'Non allocato'AS Need_Estesa, + NULL AS Nome_Progetto, + --999999 as ORDINAMENTO_PROGETTO, + ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + 8 AS ORDINE, + 0 AS AREAPROGETTOSOTTOMONITORAGGIO + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +WHERE PATRBF.RETE= @Rete +AND PATRBF.COD_FISCALE = @CodiceFiscale +AND PATRBF.CTV > 0 +AND PATRBF.ID_AREA IN ('Na') + UNION + SELECT DISTINCT CASE WHEN PATRBF.ID_AREA IN ('Pre', + 'Pre1', + 'Pre2') THEN 'Pre' ELSE PATRBF.ID_AREA END AS Need_Area, + CASE WHEN PATRBF.ID_AREA IN ('Pre', + 'Pre1', + 'Pre2') THEN 'Previdenza' ELSE AREA.NOME_AREA END AS NEED_ESTESA, + CASE WHEN PATRBF.NOME_PROGETTO IS NULL + AND PATRBF.id_area='Inv' THEN 'Prodotti non associati a progetti' ELSE PATRBF.NOME_PROGETTO END AS Nome_Progetto, + --case when PATRBF.ID_AREA in ('Pre','Pre1','Pre2') then 1 else PATRBF.ORDINAMENTO_PROGETTO end as ORDINAMENTO_PROGETTO, + PATRBF.ORDINAMENTO_PROGETTO AS ORDINAMENTO_PROGETTO, + CASE PATRBF.ID_AREA WHEN 'Liq' THEN 1 WHEN 'Ris' THEN 2 WHEN 'Pre' THEN 3 WHEN 'Pre1' THEN 3 WHEN 'Pre2' THEN 3 WHEN 'Inv' THEN 4 WHEN 'Ext' THEN 5 WHEN 'Na' THEN 7 END AS ORDINE, +CASE WHEN MONIT.COD_FISCALE IS NULL THEN 0 ELSE 1 END AS AREAPROGETTOSOTTOMONITORAGGIO + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON PATRBF.ID_AREA = AREA.ID_AREA + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONIT ON MONIT.COD_FISCALE=PATRBF.COD_FISCALE + AND MONIT.RETE=PATRBF.RETE + AND MONIT.ID_AREA= PATRBF.ID_AREA + AND MONIT.NOME_PROGETTO= ISNULL(PATRBF.NOME_PROGETTO,'XXX') + AND MONIT.ORDINAMENTO_PROGETTO=PATRBF.ORDINAMENTO_PROGETTO +WHERE 1=1 +AND PATRBF.RETE= @Rete +AND PATRBF.COD_FISCALE = @CodiceFiscale +AND PATRBF.CTV > 0 +AND PATRBF.EXTRANAC=1 +AND PATRBF.ID_AREA NOT IN ('Na', + 'Cc')) A +GROUP BY NEED_AREA, + NEED_ESTESA, + NOME_PROGETTO, + ORDINAMENTO_PROGETTO +ORDER BY ORDINE, + ORDINAMENTO_PROGETTO END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S137Bonus +BEGIN + SELECT '' as 'C6MartPeriodico.PL_MP_S137Bonus', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, [RETE], + bonus.[COD_FISCALE], + [DES_PROD] = CASE + WHEN desrc.descrizione is null THEN '' + ELSE desrc.descrizione + END, + bonus.[COD_CONF], + bonus.[CTV], + bonus.[DT_TRIM], + 'Bonus Maturato' as [DESBONUS_M], + bonus.[BONUS_M], + bonus.[DTDEC_M], + 'Bonus a scadenza 5 anni' as [DESBONUS_5], + bonus.[BONUS_5], + bonus.[DTDEC_5], + 'Bonus a scadenza 10 anni' as [DESBONUS_10], + bonus.[BONUS_10], + bonus.[DTDEC_10], + bonus.[COD_PROD] + FROM [C6MartPeriodico].[BONUS] bonus + Left Join c6martperiodico.descrizione_bonus desrc + on desrc.cod_prod = bonus.cod_prod + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S135MonitoraggioInvestimento +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT '' as 'C6MartPeriodico.PL_MP_S135MonitoraggioInvestimento', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + UNION + SELECT '' as 'C6MartPeriodico.PL_MP_S135MonitoraggioInvestimento', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S134MonitoraggioLiquidita +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +-- DECLARE @RendimNonRappr BIT +SELECT '' as 'C6MartPeriodico.PL_MP_S134MonitoraggioLiquidita', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + case when RENDIMNONRAPPR=1 then 1 else 0 end AS cf_rendim_non_rappr, + MONIT.id_Area AS Need_Area, + CASE + WHEN MONIT.NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(MONIT.NOME_PROGETTO)) + END AS Nome_Progetto, + monit.ordinamento_progetto, + dbo.TOSHORTDATESTRING(DATA_ATTIVAZIONE) AS DataAttivazioneMonitoraggio, + CTV_MONITORATO AS ControvaloreMonitorato, + APPORTO_INIZIALE AS ApportoIniziale, + APPORTO_SUCCESSIVO AS ApportoSuccessivo, + LIQUIDAZIONI, + CEDOLE_DIVIDENDI AS CedoleEDividendi, + MINUS_PLUSVALENZA AS MinusPlusAreaProgetto, + RENDIMENTO_CUMULATO AS Rendimento_Attuale, + RISORSE_ASSOCIATE AS RisorseApportate, + dbo.TOSHORTDATESTRING(DATA_CTV) AS DataControvalore, + RENDIMENTO_ANNUALIZZATO + FROM + C6MartPeriodico.MONITORAGGIO_ATTUALE MONIT + LEFT OUTER JOIN + ( + SELECT + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end as NOME_PROGETTO, + patr_bf.ordinamento_progetto, + 1 as RENDIMNONRAPPR + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + LEFT OUTER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + WHERE + PATR_BF.RETE = @Rete + AND PATR_BF.COD_FISCALE = @CodiceFiscale + AND PATR_BF.REND_NON_RAPPR = 1 + group by + PATR_BF.ID_AREA, + PATR_BF.COD_FISCALE, + PATR_BF.RETE, + CASE + WHEN PATR_BF.NOME_PROGETTO = 'XXX' THEN '' + ELSE NOME_PROGETTO end, + patr_bf.ordinamento_progetto + ) PATR_BF + ON PATR_BF.COD_FISCALE=MONIT.COD_FISCALE + AND PATR_BF.RETE= MONIT.RETE + AND left(PATR_BF.ID_AREA,3)=left(MONIT.ID_AREA,3) + AND isnull(PATR_BF.NOME_PROGETTO,'XXX')=isnull(MONIT.NOME_PROGETTO,'XXX') + And monit.ordinamento_progetto=patr_bf.ordinamento_progetto + WHERE + MONIT.RETE = @Rete AND + MONIT.COD_FISCALE = @CodiceFiscale +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S134BISMonitoraggioLiqInv +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT '' as 'C6MartPeriodico.PL_MP_S134BISMonitoraggioLiqInv', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + ID_AREA AS NEED_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_ATTIVAZIONE AS DATAVALORIZZAZIONE, + APPORTO_INIZIALE AS CONTROVALORE, + APPORTO_INIZIALE AS RISORSEASSOCIATE + FROM C6MartPeriodico.MONITORAGGIO_ATTUALE + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + UNION + SELECT '' as 'C6MartPeriodico.PL_MP_S134BISMonitoraggioLiqInv', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + ID_AREA, + CASE + WHEN NOME_PROGETTO = 'XXX' THEN '' + ELSE LTRIM(RTRIM(NOME_PROGETTO)) + END AS NOME_PROGETTO, + ordinamento_progetto, + DATA_CTV, + CTV_MONITORATO, + ISNULL (RISORSE_ASSOCIATE, 0) -- ISNULL(CEDOLE_DIV, 0) + FROM C6MartPeriodico.MONITORAGGIO_STORICO + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S133BISPrincipaliProdotti +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT TOP 10 '' as 'C6MartPeriodico.PL_MP_S133BISPrincipaliProdotti', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + ANAGPROD.DESCR_PRODOTTO AS descrProdotto + ,PATRBF.CTV AS Controvalore + ,CASE + WHEN patrbf.tipo_prodotto = 'CC' THEN 0.00 + ELSE RISCHIO_PROD.VAR_PERC_PTF + END AS VaRprodotto + ,((CASE + WHEN ((PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100) is null then 0.00 + ELSE(PATRBF.CTV * RISCHIO_PROD.VAR_PERC_PTF)/100 + END) / (CASE + WHEN sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') = 0 THEN 1 + ELSE sum((PATRBF.CTV * isnull(RISCHIO_PROD.VAR_PERC_PTF,0))/100) over (partition by 'totale') + END))*100 as rischioRelativo + ,(PATRBF.CTV/(sum(PATRBF.CTV) over (partition by 'totale')))*100 AS pesoRelativo + ,PATRBF.ID_AREA AS codAreaBisogno + FROM C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI ANAGPROD + ON ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO + INNER JOIN C6MartPeriodico.AREA_BISOGNO AREA + ON LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD + ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ + '|' + isnull(cast(patrbf.ordinamento_progetto as varchar),'') + '|' + WHEN LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END + + PATRBF.POSITION_ID + WHERE PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <>0 + AND PATRBF.ID_AREA <> 'Cc' + ORDER BY rischioRelativo DESC +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S133AreeBisognoPrincProd +BEGIN +SELECT '' as 'C6MartPeriodico.PL_MP_S133AreeBisognoPrincProd', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, [NeedArea] + ,[AreaName] + ,[PercentualeModello] + ,[PercentualeAttuale] + ,[ControvaloreAttuale] + ,[ControvaloreModello] + ,[Totale_Percentuale] + ,[DifferenzaEuro] + ,[DifferenzaPercentuale] + ,[var_needarea] + ,[var_needareaString] + ,[copertura_needarea] + ,[copertura_needareaString] + ,[Nota] + ,[somma_controvalAttuale] + ,[somma_controvalModello] + ,[somma_percentualeAttuale] + ,[somma_percentualeModello] + ,[var_tot] + ,[var_totString] + ,[var_tot_pir] + ,[var_tot_pirString] + ,[copertura_tot] + ,[copertura_totString] + ,[copertura_tot_pir] + ,[copertura_tot_pirString] + ,[VAR_RISFIN] + ,[VAR_RISFINSTRING] + ,[copertura_risfin] + ,[copertura_risfinString] + ,[ordinamento] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S133_S157DatiPiramide] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +end +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S132ProfiloRischioAdeguatezza +SELECT '' as 'C6MartPeriodico.PL_MP_S132ProfiloRischioAdeguatezza', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, [RETE] + ,[COD_FISCALE] + ,[INSTITUTENAME] + ,[CTV] + ,[CODICEPROFILO] + ,[DATAINIZIOVALIDITA] + ,[VARMAX] + ,[NOMEPROFILO] + ,[VAR] + ,[VARSTRING] + ,[RISKCLASS] + ,[RISKCLASSSTRING] + ,[COVERAGE] + ,[COVERAGESTRING] + ,[RISKCLASSMAX] + ,[PERCENTAGE] + ,[VarIsOk] + ,[RiskClassIsOk] + ,[ComplexityIsOk] + ,[Ully_perc] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S132ProfiloRischioAdeguatezza] + WHERE [RETE] = @Rete + AND [COD_FISCALE] = @CodiceFiscale +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S146RischioDiversificazione +BEGIN + declare @contaCC2 as int + select @contaCC2 = count(*) + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' and cod_fiscale = @codiceFiscale and rete = @rete + declare @contaPOS2 as int + select @contaPOS2 = count(*) + from c6martperiodico.patrimonio_Bf + where cod_fiscale = @codiceFiscale and rete = @rete +SELECT '' as 'C6MartPeriodico.PL_MP_S146RischioDiversificazione', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, +K.COD_FISCALE, +K.RETE, +CASE + WHEN (@contaPOS2 - @contaCC2 = 0) THEN 0 + ELSE VAR_PERC_PTF +END AS VAR, +CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND @contaPOS2 - @contaCC2 <> 0 THEN 'n.c.' ELSE NULL END as varString, +CASE + WHEN (ISNULL(copertura,100) < 100) AND @contaPOS2 - @contaCC2 <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null +END AS coperturaString, +beneficio as diversificazione, +CASE + WHEN (@contaPOS2 - @contaCC2 = 0) THEN 100 + ELSE COPERTURA +END AS COPERTURA, +case +when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' +when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Banca Fideuram' else 'Sanpaolo Invest' end) +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' +ELSE '' +END AS PATRIMONIO, +case + when b.profilo is null then -1 + else b.profilo +end as profiloCode, +b.max_var as var_profilo, +--V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo +--V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. +case +when cod_Aggreg = 'COMPLESSIVO' then 3 +when cod_Aggreg = 'COMPLESSIVO|BF' then 1 +when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 +ELSE '' +END AS Ordine +FROM +C6MARTperiodico.RISCHIO_AGGREGATO K left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale and + k.rete = a.rete + left outer join +C6Martperiodico.CODIFICA_RISCHIO b on +A.PROFILO_ASS=B.PROFILO +WHERE +--A.PROFILO_ASS=B.PROFILO +--AND K.RETE=A.RETE +--AND K.COD_FISCALE= A.COD_FISCALE +COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') +AND k.COD_FISCALE = @COdiceFISCALE +AND k.RETE= @RETE +ORDER BY 11 +end +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S141AnalisiRisparmioTable +BEGIN + SET NOCOUNT ON; +declare @patr_compl2 decimal(18,3) +select @patr_compl2=sum(ctv_prodotto) from +c6martperiodico.patrimonio_emittenti +where cod_fiscale =@codicefiscale +and rete=@rete +and ctv_prodotto > 0 +SELECT '' as 'C6MartPeriodico.PL_MP_S141AnalisiRisparmioTable', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale,--U.* + COD_FISCALE, + RETE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + INTERMEDIARIO, + ISSUER, + STOCKSCounterValue, + bondsCounterValue, + CONCENTRATION_ISSUER, + CONCENTRATION, + NC +FROM ( +-- PER INTERMEDIARIO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + --V nel caso sia null è BF??? + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + --RATING AS RATING, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + sum(bondsCounterValue) AS bondsCounterValue, + 0 as CONCENTRATION_ISSUER , + --V normalizzo la percentuale per essere rappresentato sul report + MAX(CONCENTRATION)* 100 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc + FROM + (SELECT --Y.* + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + --RATING AS RATING, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_PRODOTTO) AS CTV_PRODOTTO, + sum(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPL_NOCC_NEG) AS CONCENTRATION, + sum(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + INTERMEDIARIO, + EMITTENTE, + RATING, + CREDITRISKCLASS + ) Y + GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +--V devo rappresentare solo le 3 principali me le ordine e nel codice scorro per le prime 3 dopo aver filtrato per intermediario +--ORDER BY CONCENTRATION DESC +UNION +------COMPLESSIVO + SELECT + COD_FISCALE, + RETE, + MAX(RATING_AAA) AS RATING_AAA, + MAX(RATING_AAp) AS RATING_AAp, + MAX(RATING_AA) AS RATING_AA, + MAX(RATING_AAm) AS RATING_AAm, + MAX(RATING_Ap) AS RATING_Ap, + MAX(RATING_A) AS RATING_A, + MAX(RATING_Am) AS RATING_Am, + MAX(RATING_BBBp) AS RATING_BBBp, + MAX(RATING_BBB) AS RATING_BBB, + MAX(RATING_BBBm) AS RATING_BBBm, + MAX(RATING_BBp) AS RATING_BBp, + MAX(RATING_BB) AS RATING_BB, + MAX(RATING_BBm) AS RATING_BBm, + MAX(RATING_Bp) AS RATING_Bp, + MAX(RATING_B) AS RATING_B, + MAX(RATING_Bm) AS RATING_Bm, + MAX(RATING_CCCp) AS RATING_CCCp, + MAX(RATING_CCC) AS RATING_CCC, + MAX(RATING_CCCm) AS RATING_CCCm, + MAX(RATING_CC) AS RATING_CC, + MAX(RATING_C) AS RATING_C, + MAX(RATING_D) AS RATING_D, + MAX(RATING_na) AS RATING_na, + MAX(FLG_RISKCLASS1) AS FLG_RISKCLASS1, + MAX(FLG_RISKCLASS2) AS FLG_RISKCLASS2, + MAX(FLG_RISKCLASS3) AS FLG_RISKCLASS3, + MAX(FLG_RISKCLASS4) AS FLG_RISKCLASS4, + MAX(FLG_RISKCLASS5) AS FLG_RISKCLASS5, + MAX(FLG_RISKCLASS6) AS FLG_RISKCLASS6, + MAX(FLG_RISKCLASS7) AS FLG_RISKCLASS7, + MAX(FLG_RISKCLASS8) AS FLG_RISKCLASS8, + MAX(FLG_RISKCLASS9) AS FLG_RISKCLASS9, + MAX(FLG_RISKCLASS10) AS FLG_RISKCLASS10, + isnull(INTERMEDIARIO,'BF') AS INTERMEDIARIO, + EMITTENTE AS ISSUER, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + SUM(isnull(bondsCounterValue,0)+ isnull(STOCKSCounterValue,0))/ max(@patr_compl2) *100 CONCENTRATION_ISSUER , + 0 AS CONCENTRATION, + sum(case when copertura > 0 then 0 else 1 end) as nc +FROM +( +SELECT --L.* + COD_FISCALE, + RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, + RATING_AAp, + RATING_AA, + RATING_AAm, + RATING_Ap, + RATING_A, + RATING_Am, + RATING_BBBp, + RATING_BBB, + RATING_BBBm, + RATING_BBp, + RATING_BB, + RATING_BBm, + RATING_Bp, + RATING_B, + RATING_Bm, + RATING_CCCp, + RATING_CCC, + RATING_CCCm, + RATING_CC, + RATING_C, + RATING_D, + RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) CTV_AZ_OB_EMIT, + SUM(STOCKSCounterValue) AS STOCKSCounterValue, + SUM(bondsCounterValue) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER, + SUM(CTV_AZ_OB_EMIT_INTER)/SUM(CTV_COMPLessivo) TOT , + SUM(COPERTURA) AS COPERTURA +FROM +( + SELECT --V.* + V.COD_FISCALE, + V.RETE, + 'COMPLESSIVO' as INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + CASE WHEN RATING = 'AAA' THEN 1 ELSE 0 END AS RATING_AAA, + CASE WHEN RATING = 'AA+' THEN 1 ELSE 0 END AS RATING_AAp, + CASE WHEN RATING = 'AA' THEN 1 ELSE 0 END AS RATING_AA, + CASE WHEN RATING = 'AA-' THEN 1 ELSE 0 END AS RATING_AAm, + CASE WHEN RATING = 'A+' THEN 1 ELSE 0 END AS RATING_Ap, + CASE WHEN RATING = 'A' THEN 1 ELSE 0 END AS RATING_A, + CASE WHEN RATING = 'A-' THEN 1 ELSE 0 END AS RATING_Am, + CASE WHEN RATING = 'BBB+' THEN 1 ELSE 0 END AS RATING_BBBp, + CASE WHEN RATING = 'BBB' THEN 1 ELSE 0 END AS RATING_BBB, + CASE WHEN RATING = 'BBB-' THEN 1 ELSE 0 END AS RATING_BBBm, + CASE WHEN RATING = 'BB+' THEN 1 ELSE 0 END AS RATING_BBp, + CASE WHEN RATING = 'BB' THEN 1 ELSE 0 END AS RATING_BB, + CASE WHEN RATING = 'BB-' THEN 1 ELSE 0 END AS RATING_BBm, + CASE WHEN RATING = 'B+' THEN 1 ELSE 0 END AS RATING_Bp, + CASE WHEN RATING = 'B' THEN 1 ELSE 0 END AS RATING_B, + CASE WHEN RATING = 'B-' THEN 1 ELSE 0 END AS RATING_Bm, + CASE WHEN RATING = 'CCC+' THEN 1 ELSE 0 END AS RATING_CCCp, + CASE WHEN RATING = 'CCC' THEN 1 ELSE 0 END AS RATING_CCC, + CASE WHEN RATING = 'CCC-' THEN 1 ELSE 0 END AS RATING_CCCm, + CASE WHEN RATING = 'CC' THEN 1 ELSE 0 END AS RATING_CC, + CASE WHEN RATING = 'C' THEN 1 ELSE 0 END AS RATING_C, + CASE WHEN RATING = 'D' THEN 1 ELSE 0 END AS RATING_D, + CASE WHEN RATING is null THEN 1 ELSE 0 END AS RATING_na, + CASE WHEN CREDITRISKCLASS ='Rischio 1/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS1, + CASE WHEN CREDITRISKCLASS ='Rischio 2/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS2, + CASE WHEN CREDITRISKCLASS ='Rischio 3/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS3, + CASE WHEN CREDITRISKCLASS ='Rischio 4/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS4, + CASE WHEN CREDITRISKCLASS ='Rischio 5/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS5, + CASE WHEN CREDITRISKCLASS ='Rischio 6/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS6, + CASE WHEN CREDITRISKCLASS ='Rischio 7/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS7, + CASE WHEN CREDITRISKCLASS ='Rischio 8/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS8, + CASE WHEN CREDITRISKCLASS ='Rischio 9/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS9, + CASE WHEN CREDITRISKCLASS ='Rischio 10/10' THEN 1 ELSE 0 END AS FLG_RISKCLASS10, + SUM(CTV_AZ_OB_EMIT) as CTV_AZ_OB_EMIT, + SUM(CTV_AZIONARIO) AS STOCKSCounterValue, + sum(CTV_OBBLIGAZIONARIO) AS bondsCounterValue, + 0 AS CONCENTRATION_ISSUER , + SUM(CTV_AZ_OB_EMIT_INTER) CTV_AZ_OB_EMIT_INTER, + SUM(CTV_COMPLessivo) AS CTV_COMPLessivo, + MAX(copertura) as copertura + FROM C6MARTPERIODICO.PATRIMONIO_EMITTENTI V + LEFT JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAG + ON V.COD_PRODOTTO = ANAG.COD_PRODOTTO + WHERE + 1=1 + AND V.COD_FISCALE = @CODICEFISCALE + AND V.RETE = @RETE + AND (CTV_AZIONARIO >0 OR CTV_OBBLIGAZIONARIO > 0) + GROUP BY + V.COD_FISCALE, + V.RETE, + EMITTENTE, + RATING, + INTERMEDIARIO, + CREDITRISKCLASS + ) Y +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + CREDITRISKCLASS, + EMITTENTE, + RATING_AAA, +RATING_AAp, +RATING_AA, +RATING_AAm, +RATING_Ap, +RATING_A, +RATING_Am, +RATING_BBBp, +RATING_BBB, +RATING_BBBm, +RATING_BBp, +RATING_BB, +RATING_BBm, +RATING_Bp, +RATING_B, +RATING_Bm, +RATING_CCCp, +RATING_CCC, +RATING_CCCm, +RATING_CC, +RATING_C, +RATING_D, +RATING_na, + FLG_RISKCLASS1, + FLG_RISKCLASS2, + FLG_RISKCLASS3, + FLG_RISKCLASS4, + FLG_RISKCLASS5, + FLG_RISKCLASS6, + FLG_RISKCLASS7, + FLG_RISKCLASS8, + FLG_RISKCLASS9, + FLG_RISKCLASS10 +) L +GROUP BY + COD_FISCALE, + RETE, + INTERMEDIARIO, + EMITTENTE +) U + ORDER BY U.CONCENTRATION DESC +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S140AnalisiRisparmioCharts +BEGIN +SET NOCOUNT ON; + --QUERY PER INTERMEDIARIO +SELECT '' as 'C6MartPeriodico.PL_MP_S140AnalisiRisparmioCharts', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, RETE, + COD_FISCALE, + INTERMEDIARIO, + CASE + WHEN INTERMEDIARIO IN ('Banca Fideuram', + 'Sanpaolo Invest') THEN 1 + ELSE 2 + END AS ORDINE, + SUM(CTV) AS CTV_TOT, + SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, + SUM(CASE WHEN RISKCLASS = 'Classe A' + OR RISKCLASS = 'Classe B' + OR RISKCLASS = 'Classe C' + OR RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) AS CTV_CreditRisk, + SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) AS CTV_na, + --CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE + WHEN SUM(CTV)=0 THEN 0 + ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + OR RISKCLASS = 'Classe B' + OR RISKCLASS = 'Classe C' + OR RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 +END AS PERC_CreditRisk, +CASE + WHEN SUM(CTV)=0 THEN 0 + ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 +END AS PERC_NA +FROM ( -- Start 1.1 + SELECT PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END AS RISKCLASS, + CASE + WHEN PATRBF.RETE = 'F' THEN 'Banca Fideuram' + ELSE 'Sanpaolo Invest' + END AS INTERMEDIARIO, + --SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS ctv +SUM(CASE WHEN ctvcc.cc_ctv <0 + AND patrbf.id_area='cc' THEN 0 WHEN ctvself.self_ctv <0 + AND patrbf.id_area='self' THEN 0 ELSE PATRBF.CTV END) AS ctv --FINE INTERVENTI OMNIA +FROM [C6Martperiodico].PATRIMONIO_BF PATRBF ---Per calcolare la somma algebrica dei cc +LEFT OUTER JOIN + (SELECT cod_fiscale, + rete, + sum(ctv) AS cc_ctv + FROM [C6MARTPERIODICO].pATRIMONIO_BF + WHERE id_Area='Cc' + GROUP BY cod_fiscale, + rete) ctvcc ON patrbf.cod_fiscale=ctvcc.cod_fiscale + AND patrbf.rete=ctvcc.rete --fine calcolo somma cc +--INIZIO INTERVENTI OMNIA +---Per calcolare la somma algebrica dei self negativi +LEFT OUTER JOIN + (SELECT cod_fiscale, + rete, + sum(ctv) AS self_ctv + FROM [C6MARTPERIODICO].pATRIMONIO_BF + WHERE id_Area='Self' + GROUP BY cod_fiscale, + rete) ctvself ON patrbf.cod_fiscale=ctvself.cod_fiscale + AND patrbf.rete=ctvself.rete --fine calcolo somma self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN [C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + isnull(cast(PATRBF.ordinamento_progetto AS varchar),'') + '|' --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('EXT', + 'INV', + 'PRE', + 'RIS', + 'LIQ') THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('CC') THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('NA') THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' -- + END + PATRBF.POSITION_ID --INNER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR +LEFT OUTER JOIN C6MartPeriodico.CODIFICA_CREDITRISK CR ON RISCHIO_PROD.CREDITRISK = cr.profilo --V + WHERE PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.RETE = @Rete -- +GROUP BY PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END, + CASE + WHEN PATRBF.RETE = 'F' THEN 'FIDEURAM' + ELSE 'SANPAOLO' + END --- End 1.1 +UNION ALL -- Start 1.2 + SELECT PATRTERZI.RETE, + PATRTERZI.COD_FISCALE, + CASE + WHEN RISCHIOPROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END AS RISKCLASS, + PATRTERZI.INTERMEDIARIO, + SUM(ROUND(CTV,2)) AS CTV + FROM [C6Martperiodico].PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + (SELECT cod_fiscale, + rete, + sum(ctv) AS cc_ctv + FROM [C6Martperiodico].pATRIMONIO_terzi + WHERE tipo_prodotto='Conti correnti' + GROUP BY cod_fiscale, + rete) ctvcc ON patrterzi.cod_fiscale=ctvcc.cod_fiscale + AND patrterzi.rete=ctvcc.rete + LEFT OUTER JOIN [C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD ON PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' +ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR ON RISCHIOPROD.CREDITRISK = cr.profilo --V + WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.RETE = @Rete -- +GROUP BY PATRTERZI.RETE, + PATRTERZI.COD_FISCALE, + PATRTERZI.INTERMEDIARIO, + CASE + WHEN RISCHIOPROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END -- End 1.2 +)H +GROUP BY RETE, + COD_FISCALE, + INTERMEDIARIO -------- +UNION ALL ----------- +--QUERY TOTALE +SELECT '' as 'C6MartPeriodico.PL_MP_S140AnalisiRisparmioCharts', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, RETE, + COD_FISCALE, + 'Complessivo' AS INTERMEDIARIO, + 3 AS ORDINE, + SUM(CTV) AS CTV_TOT, + SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END) AS CTV_notCovered, + SUM(CASE WHEN RISKCLASS = 'Classe A' + OR RISKCLASS = 'Classe B' + OR RISKCLASS = 'Classe C' + OR RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) AS CTV_CreditRisk, + SUM(CASE WHEN RISKCLASS ='NA' THEN CTV ELSE 0 END) AS CTV_na, + --CASE WHEN SUM(CTV)=0 THEN 0 ELSE (SUM(CASE WHEN RISKCLASS = 'NON COPERTO' THEN CTV ELSE 0 END)/SUM(CTV))*100 END AS PERC_notCovered, +CASE + WHEN SUM(CTV)=0 THEN 0 + ELSE (SUM(CASE WHEN RISKCLASS = 'Classe A' + OR RISKCLASS = 'Classe B' + OR RISKCLASS = 'Classe C' + OR RISKCLASS = 'Classe D' THEN CTV ELSE 0 END) /SUM(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 +END AS PERC_CreditRisk, +CASE + WHEN SUM(CTV)=0 THEN 0 + ELSE (SUM(CASE WHEN RISKCLASS = 'NA' THEN CTV ELSE 0 END) /sum(CASE WHEN RISKCLASS <> 'NON COPERTO' THEN CTV ELSE 1 END))*100 +END AS PERC_NA +FROM (--- Start 2.1 + SELECT PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END AS RISKCLASS, + --SUM(CASE WHEN PATRBF.ID_AREA = 'Cc' AND PATRBF.CTV < 0 THEN 0 ELSE PATRBF.CTV END) AS CTV +--INIZIO INTERVENTI OMNIA +--SUM(CASE WHEN ctvcc.cc_ctv <0 and patrbf.id_area='cc' THEN 0 ELSE PATRBF.CTV END) AS CTV +SUM(CASE WHEN ctvcc.cc_ctv <0 + AND patrbf.id_area='cc' THEN 0 WHEN ctvself.self_ctv <0 + AND patrbf.id_area='self' THEN 0 ELSE PATRBF.CTV END) AS CTV --FINE INTERVENTI OMNIA +FROM [C6Martperiodico].PATRIMONIO_BF PATRBF --per fare la somma algebrica dei cc +LEFT OUTER JOIN + (SELECT cod_fiscale, + rete, + sum(ctv) AS cc_ctv + FROM [C6MARTPERIODICO].pATRIMONIO_BF + WHERE id_Area='Cc' + GROUP BY cod_fiscale, + rete) ctvcc ON patrbf.cod_fiscale=ctvcc.cod_fiscale + AND patrbf.rete=ctvcc.rete --fine somma cc +--INIZIO INTERVENTI OMNIA +--per fare la somma algebrica dei self negativi +LEFT OUTER JOIN + (SELECT cod_fiscale, + rete, + sum(ctv) AS self_ctv + FROM [C6MARTPERIODICO].pATRIMONIO_BF + WHERE id_Area='Self' + GROUP BY cod_fiscale, + rete) ctvself ON patrbf.cod_fiscale=ctvself.cod_fiscale + AND patrbf.rete=ctvself.rete --fine somma Self negativi +--FINE INTERVENTI OMNIA +LEFT OUTER JOIN [C6Martperiodico].RISCHIO_AGGREGATO RISCHIO_PROD ON PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO+ '|' + isnull(cast(PATRBF.ordinamento_progetto AS varchar),'')+'|' --V + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('EXT', + 'INV', + 'PRE', + 'RIS', + 'LIQ') THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('CC') THEN 'COMPLESSIVO|BF|CC|' + LEFT(PATRBF.ID_AREA,3) + '|' + WHEN (PATRBF.NOME_PROGETTO IS NULL) + AND PATRBF.ID_AREA IN ('NA') THEN 'RISFIN|' + LEFT(PATRBF.ID_AREA,3) + '|' -- + END + PATRBF.POSITION_ID + LEFT OUTER JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR ON RISCHIO_PROD.CREDITRISK = cr.profilo --V + WHERE PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.RETE = @Rete -- +GROUP BY PATRBF.RETE, + PATRBF.COD_FISCALE, + CASE + WHEN RISCHIO_PROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END -- End 2.1 +UNION ALL -- Start 2.2 + SELECT PATRTERZI.RETE, + PATRTERZI.COD_FISCALE, + CASE + WHEN RISCHIOPROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END AS RISKCLASS, + SUM(ROUND(CTV,2)) AS CTV + FROM [C6Martperiodico].PATRIMONIO_TERZI PATRTERZI + LEFT OUTER JOIN + (SELECT cod_fiscale, + rete, + sum(ctv) AS cc_ctv + FROM [C6Martperiodico].pATRIMONIO_terzi + WHERE tipo_prodotto='Conti correnti' + GROUP BY cod_fiscale, + rete) ctvcc ON patrterzi.cod_fiscale=ctvcc.cod_fiscale + AND patrterzi.rete=ctvcc.rete + LEFT OUTER JOIN [C6Martperiodico].RISCHIO_AGGREGATO RISCHIOPROD ON PATRTERZI.RETE = RISCHIOPROD.RETE + AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE + AND RISCHIOPROD.COD_AGGREG ='TIPOPRODTERZI|TERZI|' + ISNULL(PATRTERZI.DESCR_GRUPPO_PRODOTTO, PATRTERZI.TIPO_PRODOTTO) + '|'+ PATRTERZI.COD_PRODOTTO_TERZI + LEFT OUTER JOIN [C6Martperiodico].CODIFICA_CREDITRISK CR ON RISCHIOPROD.CREDITRISK = cr.profilo --V + WHERE PATRTERZI.COD_FISCALE = @CodiceFiscale + AND PATRTERZI.RETE = @Rete -- + GROUP BY PATRTERZI.RETE, + PATRTERZI.COD_FISCALE, + CASE + WHEN RISCHIOPROD.COPERTURA < 100 THEN 'NON COPERTO' + WHEN DESCRIZIONE IS NULL THEN 'NA' + ELSE DESCRIZIONE + END --- End 2.2 +)H +GROUP BY RETE, + COD_FISCALE END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S137BISCapitaleProtetto +BEGIN + --SELECT top 1 + -- 'Interfund Capital Protection' AS DES_PROD, + -- '001234.RS.S678' AS COD_CONF, + -- '120,1040' AS QUOTA, + -- '100,1234' AS NUMEROQUOTE, + -- '12.025,22' AS CONTROVALORE, + -- '31/03/2014' AS DATARIF, + -- 'Quota massima' AS DES_MAX, + -- '125,4573' AS QUOTA_MAX, + -- '80' AS QUOTA_MAX_PERC, + -- '31/03/2013' AS DATARIF_MAX, + -- 'Quota e controvalore protetti*' AS DES_PROT, + -- '100,3658' AS QUOTA_PROT, + -- '100,1234' AS NUMEROQUOTE_PROT, + -- '10.048,97' AS CONTROVALORE_PROT + SELECT '' as 'C6MartPeriodico.PL_MP_S137BISCapitaleProtetto', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + DES_PROD + ,COD_CONF + ,QUOTA + ,NUMEROQUOTE + ,CONTROVALORE + ,DATARIF + ,DES_MAX + ,QUOTA_MAX + ,QUOTA_MAX_PERC + ,DATARIF_MAX + ,DES_PROT + ,QUOTA_PROT + ,NUMEROQUOTE_PROT + ,CONTROVALORE_PROT + FROM C6MartPeriodico.CAPPROT + WHERE RETE = @Rete + AND CODFIS = @CodiceFiscale + Union + SELECT '' as 'C6MartPeriodico.PL_MP_S137BISCapitaleProtetto', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + DES_PROD + ,COD_CONF + ,QUOTA + ,NUMEROQUOTE + ,CONTROVALORE + ,DATARIF + ,DES_MAX + ,QUOTA_MAX + ,QUOTA_MAX_PERC + ,DATARIF_MAX + ,DES_PROT + ,QUOTA_PROT + ,NUMEROQUOTE_PROT + ,CONTROVALORE_PROT + FROM C6MartPeriodico.CAPPROT + WHERE RETE = @Rete + AND CODFIS = @CodiceFiscale +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_S43ContoCorrenteBF +BEGIN + SELECT '' as 'C6MartPeriodico.PL_S43ContoCorrenteBF', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + dbo.ToShortDateString(ANAG_CC.DATA_APERTURA) AS datadiSottoscrizione, + ANAG_CC.COD_CC AS conto, + cast(ANAG_CC.SALDOCONTABILE as decimal(15,2)) as Controvalore, + cast(ANAG_CC.SALDODISPONIBILE as decimal(15,2)) as SALDO_DISPONIBILE, + null as creditrisk , + 'n.a.' as creditriskstring, + 0 as var, + null as varString, + 0 as totaleVar, + null as totaleVarString + FROM + C6MartPeriodico.ANAG_CC + WHERE + ANAG_CC.rete= @Rete + AND ANAG_CC.cod_fiscale= @CodiceFiscale + AND ANAG_CC.SALDOCONTABILE < 0 + ORDER BY + ANAG_CC.SALDOCONTABILE DESC +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_S43BISDettaglioProdottiBF +BEGIN +------------------------------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + DECLARE @TOTSELFLIQ3 AS INT + SELECT @TOTSELFLIQ3 = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ISIN in('EURO00000009', 'EURO10000007') + AND ID_AREA = 'LIQ' + DECLARE @TOTLIQ3 AS INT + SELECT @TOTLIQ3 = COUNT(*) + FROM C6MARTPERIODICO.PATRIMONIO_BF + WHERE PATRIMONIO_BF.RETE = @Rete + AND PATRIMONIO_BF.COD_FISCALE = @CodiceFiscale + AND ID_AREA = 'LIQ' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------------------------------- +SELECT '' as 'C6MartPeriodico.PL_S43BISDettaglioProdottiBF', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Pre' + ELSE AREA.ID_AREA +END AS needarea, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 'Previdenza' + WHEN AREA.ID_AREA = 'Na' THEN 'Non allocate' + ELSE AREA.NOME_AREA +END AS needareades, +CASE + WHEN AREA.ID_AREA = 'Pre1' OR AREA.ID_AREA = 'Pre2' THEN 3 + ELSE AREA.ORDINAMENTO +END AS areasortorder, +CASE + WHEN AREA.ID_AREA = 'Inv' AND PATRBF.NOME_PROGETTO IS NULL THEN 'Prodotti non associati a progetti' + ELSE ISNULL(PATRBF.NOME_PROGETTO,'') +END AS nome_progetto, +PATRBF.ORDINAMENTO_PROGETTO, +--Bido +SUM(PATRBF.CTV ) OVER (PARTITION BY AREA.ID_AREA) AS somma_controval_needarea, +SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS versato_needarea, +CASE + WHEN COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END as versato_needareaString, +SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA) AS MinusPlusValenza_needarea, +CASE + WHEN COUNT( CASE + WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 + ELSE NULL + END ) OVER (PARTITION BY AREA.ID_AREA) > 0 THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_needareaString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS somma_controval_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS versato_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN (PATRBF.CTV - MONIT.UTILE_PERDITA_DA_ASSOC) IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS versato_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN SUM(MONIT.UTILE_PERDITA_DA_ASSOC) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) + ELSE NULL +END AS MinusPlusValenza_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' AND COUNT(CASE WHEN MONIT.UTILE_PERDITA_DA_ASSOC IS NULL THEN 1 ELSE NULL END) OVER (PARTITION BY AREA.ID_AREA, PATRBF.NOME_PROGETTO, PATRBF.ordinamento_progetto) > 0 + THEN 'n.d.' + ELSE NULL +END AS MinusPlusValenza_need_progString, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.VAR_PERC_PTF + ELSE NULL +END AS somma_var_need_prog, +CASE + WHEN AREA.ID_AREA = 'Inv' THEN RISCHIO_AGGR_PROG.COPERTURA + ELSE NULL +END AS somma_copertura_need_prog, +RISCHIO_AGGR_AREA.VAR_PERC_PTF AS var_needarea, +CASE + WHEN ISNULL(SUM(RISCHIO_AGGR_AREA.COPERTURA) OVER (PARTITION BY AREA.ID_AREA),0.00) = 0.00 + THEN 'n.c.' +-------------------------------------------------------------- +--INIZIO INTERVENTI OMNIA QUIII + WHEN @TOTSELFLIQ3 = @TOTLIQ3 and AREA.ID_AREA = 'LIQ' + THEN 'n.c.' +--FINE INTERVENTI OMNIA QUIII +-------------------------------------------------------------- + ELSE NULL +END AS var_needareaString, +CAST(ISNULL(RISCHIO_AGGR_AREA.COPERTURA,100) AS DECIMAL (5,2)) AS copertura_needarea, + CASE + WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) + --V THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' +THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_AREA.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_needareaString, +RISCHIO_AGGR_PROG.VAR_PERC_PTF AS var_need_prog, +CASE + WHEN ISNULL(RISCHIO_AGGR_PROG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL +END AS var_need_progString, +RISCHIO_AGGR_PROG.COPERTURA AS copertura_need_prog, +--TRINGALI + CASE + WHEN (ISNULL(RISCHIO_AGGR_PROG.copertura,100) < 100) + --v THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIO_AGGR_PROG.COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + ELSE '' +END AS copertura_need_progString, +--INIZIO INTERVENTI OMNIA QUIIIIIIII +--case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null +-- and patrbf.tipo_prodotto='CC' +-- and patrbf.id_area='liq') + --then + -- CASE WHEN patrbf.data_sottoscrizione>monatt.data_attivazione + -- THEN + -- dbo.TOSHORTDATESTRING(patrbf.data_sottoscrizione) + -- ELSE + -- CASE WHEN monatt.data_attivazione> '20110211' + -- then dbo.TOSHORTDATESTRING(monatt.data_attivazione) + -- ELSE dbo.TOSHORTDATESTRING('20110211') + -- END + -- END + -- END + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.id_area='liq' + and (patrbf.tipo_prodotto='CC' + or patrbf.isin in('EURO00000009', 'EURO10000007'))) + then dbo.TOSHORTDATESTRING(C6MartPeriodico.getTrimestre2(getdate(),0)) +--FINE INTERVENTI OMNIA + else +--disasteriscare + --dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) +--cancellare inizio + case when (dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) is null + and patrbf.chiave_progetto = '2205396' + and patrbf.tipo_prodotto = 'FI') + then '26/06/2014' + else + dbo.TOSHORTDATESTRING(MONIT.DATA_ASSOCIAZIONE) + end +--cancellare fine + end AS dataAssociazione, -- CAMBIATA TRINGALI--marianna, cambiata per i cc senza data di associazione +PATRBF.ID_CONTRATTO AS ContrattoDossier, +--V +CASE WHEN PATRBF.TIPO_PRODOTTO <> 'CC' THEN ANAGPROD.DESCR_PRODOTTO + ELSE ANAGPROD.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) +END AS Descrizione, +--ANAGPROD.DESCR_PRODOTTO AS Descrizione, +PATRBF.CTV AS Controvalore, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.VERSATO_NETTO_DA_ASSOC,0) end AS VersatoNetto, +CASE WHEN (MONIT.VERSATO_NETTO_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as VersatoNettoString, +CASE WHEN PATRBF.REND_NON_RAPPR=1 THEN NULL ELSE isnull(MONIT.UTILE_PERDITA_DA_ASSOC,0) END AS MinusPlusValenza, +CASE WHEN (MONIT.UTILE_PERDITA_DA_ASSOC IS NULL OR PATRBF.REND_NON_RAPPR=1) THEN 'n.d.' ELSE NULL END as MinusPlusValenzaString, +case when (patrbf.tipo_prodotto ='CC') then 0.00 +else RISCHIO_PROD.VAR_PERC_PTF +end AS VaRprodotto, +--INIZIO INTERVENTI OMNIA +--CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' ELSE NULL END as varProdottoString, +CASE WHEN ISNULL(RISCHIO_PROD.Copertura,0.00) = 0.00 and patrbf.tipo_prodotto <>'CC' THEN 'n.c.' + WHEN patrbf.isin in ('EURO00000009', 'EURO10000007' )THEN 'n.c.' +ELSE NULL END as varProdottoString, +--FINE INTERVENTI OMNIA +--INIZIO INTERVENTI OMNIA +--case when (patrbf.tipo_prodotto ='CC') then 100.00 +case when (patrbf.tipo_prodotto ='CC') or (patrbf.isin in('EURO00000009', 'EURO10000007')) then 100.00 +--FINE INTERVENTI OMNIA +else RISCHIO_PROD.Copertura +end AS Coperturaprodotto, +PATRBF.REND_ANNO AS PerformanceYTD, +PATRBF.REND_SOTTOSCRIZIONE AS performanceDS, +PARTVIA_DISINV AS partitaViaggiante, +CASE WHEN (ISNULL(RISCHIO_AGGR_AREA.copertura,100) < 100) THEN '*' ELSE '' END AS nota_needarea, + RISCHIO_PROD.CREDITRISK as creditrisk, + CASE +--INIZIO INTERVENTI OMNIA +-- WHEN ISNULL(RISCHIO_PROD.COPERTURA,0.00) = 0.00 and patrbf.tipo_prodotto <> 'CC' THEN 'n.c.' + WHEN (ISNULL(RISCHIO_prod.COPERTURA,0.00) = 0.00 + and patrbf.tipo_prodotto <> 'CC') + or (patrbf.isin in('EURO00000009', 'EURO10000007')) + THEN 'n.c.' +--FINE INTERVENTI OMNIA + WHEN RISCHIO_PROD.CREDITRISK is null THEN 'n.a.' + ELSE NULL + END as creditriskstring, +-- CASE +-- WHEN RISCHIO_PROD.CREDITRISKEMIT IS NULL THEN 'n.a.' +-- ELSE cast(RISCHIO_PROD.CREDITRISKEMIT as varchar(20)) +-- END as creditriskemit + RISCHIO_PROD.CREDITRISKEMIT as creditriskemit +FROM +C6MartPeriodico.PATRIMONIO_BF PATRBF +INNER JOIN +C6MartPeriodico.ANAG_PRODOTTI ANAGPROD +ON + ANAGPROD.COD_PRODOTTO = PATRBF.COD_PRODOTTO +INNER JOIN +C6MartPeriodico.AREA_BISOGNO AREA +ON + -- LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA + (LEFT(PATRBF.ID_AREA,3) = AREA.ID_AREA and AREA.ID_AREA <>'self') or (PATRBF.ID_AREA='self' and AREA.ID_AREA ='self') +LEFT JOIN +C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_PROD +ON + PATRBF.RETE= RISCHIO_PROD.RETE + AND PATRBF.COD_FISCALE= RISCHIO_PROD.COD_FISCALE + AND RISCHIO_PROD.COD_AGGREG = + CASE + WHEN (PATRBF.NOME_PROGETTO IS NOT NULL) + THEN 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) + '|' + when LEFT(PATRBF.ID_AREA,3)='Na' then 'RISFIN|NA|' + ELSE 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + END +-- END + PATRBF.POSITION_ID + + PATRBF.POSITION_ID +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_PROG + ON PATRBF.RETE= RISCHIO_AGGR_PROG.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_PROG.COD_FISCALE + AND RISCHIO_AGGR_PROG.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + '|' + PATRBF.NOME_PROGETTO + '|' + + cast (PatrBF.ordinamento_progetto as varchar) +LEFT JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIO_AGGR_AREA + ON PATRBF.RETE= RISCHIO_AGGR_AREA.RETE + AND PATRBF.COD_FISCALE= RISCHIO_AGGR_AREA.COD_FISCALE + AND RISCHIO_AGGR_AREA.COD_AGGREG = case + when LEFT(PATRBF.ID_AREA,3) = 'Na' then 'RISFIN|NA' + else 'RISFIN|PIRAMIDE|' + LEFT(PATRBF.ID_AREA,3) + end +-- AND RISCHIO_AGGR_AREA.COD_AGGREG = +-- CASE AREA.ID_AREA +-- WHEN 'Na' THEN 'RISORSENONASSOCIATE' +-- ELSE 'COMPLESSIVO|BF|' + LEFT(PATRBF.ID_AREA,3) +-- END +LEFT JOIN +--MODIFICA TRINGALI PER PRENDERE DETTAGLIO MONITORAGGIO +C6MartPeriodico.MONITORAGGIO_DETTAGLIO MONIT +ON + PATRBF.RETE = MONIT.RETE + AND PATRBF.COD_FISCALE = MONIT.COD_FISCALE + --AND LEFT(PATRBF.ID_AREA, 3) = MONIT.ID_AREA + and PATRBF.POSITION_ID=MONIT.POSITION_ID + --AND CASE WHEN PATRBF.NOME_PROGETTO IS NULL THEN 'XXX' ELSE PATRBF.NOME_PROGETTO END = MONIT.NOME_PROGETTO +--Bido to get Code_CC field +LEFT OUTER JOIN C6MartPeriodico.ANAG_CC +ON + ANAG_CC.COD_FISCALE = PATRBF.COD_FISCALE + AND ANAG_CC.RETE = PATRBF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATRBF.position_id,72,9) +LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE MONATT +ON + PATRBF.RETE = MONATT.RETE + AND PATRBF.COD_FISCALE = MONATT.COD_FISCALE + AND + (PATRBF.ID_AREA=(CASE WHEN MONATT.ID_AREA='Exr' THEN 'Ext' ELSE MONATT.ID_AREA END) AND PATRBF.ID_AREA <> 'INV' + OR + PATRBF.ID_AREA = 'INV' AND PATRBF.ID_AREA = MONATT.ID_AREA AND PATRBF.ORDINAMENTO_PROGETTO = MONATT.ORDINAMENTO_PROGETTO + ) +--blocchiamo il monitoraggio per i progetti a ctv=0 + --And ctv_monitorato>0 +WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.CTV <> 0 +ORDER BY + AREASORTORDER, PATRBF.NOME_PROGETTO, PATRBF.CTV DESC -- modifica TRINGALI +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT '' as 'C6MartPeriodico.PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + PATR_BF.ID_AREA AS Need_Area, + PATR_BF.ID_CONTRATTO AS Contratto, + CASE + WHEN PATR_BF.ID_AREA IN ('Ris', 'Ext', 'Liq') THEN AREA.NOME_AREA + ELSE ltrim(rtrim(PATR_BF.NOME_PROGETTO)) + END AS Area_O_Nome_Progetto, + --PRODOTTI.DESCR_PRODOTTO AS Descrizione, + CASE WHEN PATR_BF.TIPO_PRODOTTO <> 'CC' THEN PRODOTTI.DESCR_PRODOTTO + ELSE PRODOTTI.DESCR_PRODOTTO+' '+SUBSTRING(COD_CC,4,2) + '/' + SUBSTRING(COD_CC,6,LEN(ANAG_CC.COD_CC)) + END AS Descrizione, + PATR_BF.PARTVIA_DISINV AS PartitaViaggiante, + SUM(PATR_BF.CTV) OVER (PARTITION BY PATR_BF.POSITION_ID) AS Controvalore, + dbo.ToShortDateString(PATR_BF.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione + FROM + C6MartPeriodico.PATRIMONIO_BF AS PATR_BF + INNER JOIN C6MartPeriodico.AREA_BISOGNO AS AREA ON + PATR_BF.ID_AREA = AREA.ID_AREA + INNER JOIN C6MartPeriodico.ANAG_PRODOTTI AS PRODOTTI ON + PATR_BF.COD_PRODOTTO = PRODOTTI.COD_PRODOTTO + --V La sezione deve uscire soltanto per aree monitorate + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE M ON + PATR_BF.RETE = M.RETE AND PATR_BF.COD_FISCALE = M.COD_FISCALE + AND( + (PATR_BF.ID_AREA = M.ID_AREA AND PATR_BF.ID_AREA <> 'INV') + OR + (PATR_BF.ID_AREA = 'INV' AND PATR_BF.ID_AREA = M.ID_AREA AND PATR_BF.ORDINAMENTO_PROGETTO = M.ORDINAMENTO_PROGETTO) + ) + LEFT OUTER JOIN C6MartPeriodico.ANAG_CC ON + ANAG_CC.COD_FISCALE = PATR_BF.COD_FISCALE + AND ANAG_CC.RETE = PATR_BF.RETE + AND cast(ANAG_CC.cod_cc as integer ) = substring(PATR_BF.position_id,72,9) + WHERE + PATR_BF.RETE = @Rete + AND PATR_BF.COD_FISCALE = @CodiceFiscale + AND PATR_BF.REND_NON_RAPPR = 1 + ORDER BY + Area_O_Nome_Progetto +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_S85RendimentoPortafoglioCono +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; +SELECT '' as 'C6MartPeriodico.PL_S85RendimentoPortafoglioCono', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,isnull([NOME_PROGETTO],'XXX') as NOME_PROGETTO + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB] +into #pir_mod_xxx + FROM [C6StampeCentralizzate].[C6MartPeriodico].[PIRAMIDE_MOD] + WHERE cod_fiscale = @CodiceFiscale AND rete = @rete +--select * from #pir_mod_xxx where cod_fiscale = 'FF@7181' + SELECT '' as 'C6MartPeriodico.PL_S85RendimentoPortafoglioCono', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + CONO.ID_AREA AS NEED_AREA, + CASE + WHEN CONO.NOME_PROGETTO = 'XXX' THEN '' + ELSE CONO.NOME_PROGETTO + END AS NOME_PROGETTO, + cono.ordinamento_progetto, + CONO.DATA_CONO, + CONO.SCENARIO_OTTIMISTICO AS OTTIMISTICO, + CONO.SCENARIO_PESSIMISTICO AS PESSIMISTICO, + isnull(PIRMOD.ORIZZ_TEMP_NUM,0) * 12 AS ORIZZONTE_MESI, + MONIT.RENDIMENTO_CUMULATO AS RENDIMENTO, + MONIT.DATA_CTV AS DATA_MONIT + FROM + C6MartPeriodico.CONO_PIANIFICAZIONE AS CONO + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE AS MONIT + ON CONO.RETE = MONIT.RETE + AND CONO.COD_FISCALE = MONIT.COD_FISCALE + AND CONO.ID_AREA = MONIT.ID_AREA + AND CONO.NOME_PROGETTO = MONIT.NOME_PROGETTO + And cono.ordinamento_progetto=monit.ordinamento_progetto --l'ordinamento progetto è sempre pari alla chiaveprogetto e non idmonitoraggio + INNER JOIN #pir_mod_xxx as PIRMOD + ON CONO.RETE = PIRMOD.RETE + AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE + AND CONO.ID_AREA = PIRMOD.ID_AREA + AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + And cono.ordinamento_progetto=pirmod.ordinamento_progetto +-- INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD +-- ON CONO.RETE = PIRMOD.RETE +-- AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE +-- AND CONO.ID_AREA = PIRMOD.ID_AREA +-- AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + WHERE + CONO.RETE = @Rete AND + CONO.COD_FISCALE = @CodiceFiscale + --and DATA_CTV is not null + ORDER BY CONO.DATA_CONO + drop table #pir_mod_xxx +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_S82DatiSintetici +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + /*DECLARE @TOTRischio DECIMAL(20,2) + SELECT + @TOTRischio = SUM(ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV) + FROM + C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA INNER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAREA ON + PATRAREA.RETE = RISCHIOAREA.RETE AND + PATRAREA.COD_FISCALE = RISCHIOAREA.COD_FISCALE + WHERE + PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE','INV') AND + PATRAREA.RETE = @Rete AND + PATRAREA.COD_FISCALE = @CodiceFiscale*/ + SELECT '' as 'C6MartPeriodico.PL_S82DatiSintetici', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + PATRAREA.ID_AREA AS need_area, + ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RISCHIOAREA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RISCHIOAREA.COPERTURA IS NULL THEN 'n.c.' + WHEN RISCHIOAREA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PATRAREA.ORDINAMENTO_PROGETTO, + /*V Calcolato a livello di codice + CASE + WHEN PATRAGGR.CTV = 0 THEN 0 + ELSE PATRAREA.CTV / PATRAGGR.CTV * 100 + END AS pesoPerc,*/ + PATRAREA.CTV AS ControvaloreAttuale + /* Calcolato a livello di codice + CASE + WHEN @TOTRischio = 0 THEN 0 + ELSE ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV / @TOTRischio * 100 + END AS rischioRelativo*/ + FROM C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS PATRAGGR + ON PATRAGGR.RETE = PATRAREA.Rete + AND PATRAGGR.COD_FISCALE = PATRAREA.COD_FISCALE + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO RISCHIOAREA + ON RISCHIOAREA.COD_AGGREG = 'RISFIN|PIRAMIDE|' + LEFT(PATRAREA.ID_AREA,3) + AND RISCHIOAREA.RETE = PATRAREA.Rete + AND RISCHIOAREA.COD_FISCALE = PATRAREA.COD_FISCALE + WHERE 1=1 + AND PATRAREA.RETE = @Rete + AND PATRAREA.COD_FISCALE = @CodiceFiscale + AND PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE') +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_S82BisDatiSintetici +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + /*DECLARE @TOTRischio DECIMAL(20,2) + SELECT + @TOTRischio = SUM(ISNULL(RISCHIOAREA.VAR_PERC_PTF,0) * PATRAREA.CTV) + FROM + C6MartPeriodico.vPatrimonioBFAggregatoPerArea AS PATRAREA INNER JOIN + C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAREA ON + PATRAREA.RETE = RISCHIOAREA.RETE AND + PATRAREA.COD_FISCALE = RISCHIOAREA.COD_FISCALE + WHERE + PATRAREA.ID_AREA IN ('RIS','EXT','LIQ','PRE','INV') AND + PATRAREA.RETE = @Rete AND + PATRAREA.COD_FISCALE = @CodiceFiscale*/ + SELECT DISTINCT '' as 'C6MartPeriodico.PL_S82BisDatiSintetici', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + BF.ORDINAMENTO_PROGETTO, + 'Inv' AS need_area, + ltrim(rtrim(ISNULL(PIRMOD.NOME_PROGETTO,BF.NOME_PROGETTO))) AS NOME_PROGETTO, + ISNULL(RA.VAR_PERC_PTF,0) AS var_needarea, + CASE + WHEN RA.COPERTURA IS NULL THEN 'n.c.' + WHEN RA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString, + ISNULL(RA.COPERTURA,0) AS copertura_needarea, + CASE + WHEN RA.COPERTURA IS NULL THEN 'n.c.' + WHEN RA.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS copertura_needareaString, + PIRMOD.ORIZZ_TEMP AS orizzonte_Pianificato, + --C6MartPeriodico.getDescFromDate(DATEDIFF(m,(DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM,PIRMOD.DATA_PIANIF)) ,GETDATE()) + 1) AS durataResidua, + --DATEDIFF(m,DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM, PIRMOD.DATA_PIANIF) ,GETDATE()) + 1 AS durataResidua, + C6MartPeriodico.getDescFromDate(DATEDIFF(m,C6MartPeriodico.getTrimestre(GETDATE(),0),(DATEADD(yy,PIRMOD.ORIZZ_TEMP_NUM,PIRMOD.DATA_PIANIF)) )) AS durataResidua, + /*V Calcolato a livello di codice + CASE + WHEN BFAggr.CTV = 0 THEN 0 + ELSE SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO) / BFAggr.CTV * 100 + END AS pesoPerc,*/ + SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO, bf.ordinamento_progetto) AS ControvaloreAttuale + /*V Calcolato a livello di codice + CASE + WHEN @TOTRischio = 0 THEN 0 + ELSE ISNULL(RA.VAR_PERC_PTF,0) * SUM(BF.CTV) OVER (PARTITION BY BF.RETE, BF.COD_FISCALE, BF.NOME_PROGETTO) / @TOTRischio * 100 + END AS rischioRelativo*/ + FROM + C6MartPeriodico.PATRIMONIO_BF AS BF + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON BF.RETE = RA.RETE + AND BF.COD_FISCALE = RA.COD_FISCALE + --V AND RA.COD_AGGREG = 'PIRAMIDE|Inv' + AND RA.COD_AGGREG = 'RISFIN|PIRAMIDE|Inv|'+ BF.NOME_PROGETTO + '|' + cast(bf.ordinamento_progetto as varchar) + -- + INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD + ON BF.RETE = PIRMOD.RETE + AND BF.COD_FISCALE = PIRMOD.COD_FISCALE + --AND BF.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + AND BF.ORDINAMENTO_PROGETTO = PIRMOD.ORDINAMENTO_PROGETTO + AND PIRMOD.ID_AREA = 'Inv' + INNER JOIN C6MartPeriodico.vPatrimonioBFAggregato AS BFAggr + ON BF.RETE = BFAggr.RETE + AND BF.COD_FISCALE = BFAggr.COD_FISCALE + LEFT OUTER JOIN C6MARTPERIODICO.MONITORAGGIO_ATTUALE AS MONIT + ON BF.RETE = MONIT.RETE + AND BF.COD_FISCALE = MONIT.COD_FISCALE + AND BF.ID_AREA = MONIT.ID_AREA + AND BF.NOME_PROGETTO = MONIT.NOME_PROGETTO + AND BF.ORDINAMENTO_PROGETTO = MONIT.ORDINAMENTO_PROGETTO + WHERE 1=1 + AND BF.ID_AREA = 'Inv' + AND BF.RETE = @Rete + AND BF.COD_FISCALE = @CodiceFiscale + --AND BF.ORDINAMENTO_PROGETTO=1521667 +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_S76AlternativaPatrimonioNonRappresentabileAssettClass +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + DECLARE @NOMERETE2 VARCHAR(20) + IF @RETE = 'F' + SET @NOMERETE2 = 'Banca Fideuram' + ELSE + SET @NOMERETE2 = 'Sanpaolo Invest' + SELECT '' as 'C6MartPeriodico.PL_S76AlternativaPatrimonioNonRappresentabileAssettClass', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + PATRBF.CTV as Controvalore, + PATRBF.CTV as controvalore_contratto, + PATRBF.PARTVIA_DISINV as PartitaViaggiante, + @NOMERETE2 as Intermediario + --patrbf.ordinamento_progetto + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE 1 = 1 + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + AND PATRBF.TIPO_PRODOTTO <> 'ASUL' + AND ASSETPERC.COD_PRODOTTO IS NULL +--INIZIO INTERVENTI OMNIA + AND PATRBF.CTV <> 0.00 +UNION ALL +SELECT '' as 'C6MartPeriodico.PL_S76AlternativaPatrimonioNonRappresentabileAssettClass', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, + PATRBF.ID_CONTRATTO as Contratto, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END as Area, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end as NEEDAREA, + PATRBF.NOME_PROGETTO as Progetto, + patrbf.chiave_progetto as ord_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE) as DataSottoscrizione, + ANAGP.DESCR_PRODOTTO AS Descrizione, + sum(ASUL.CTV) as Controvalore, + sum(ASUL.CTV) as controvalore_contratto, + Max(PATRBF.PARTVIA_DISINV) as PartitaViaggiante, + @NOMERETE2 as Intermediario + --patrbf.ordinamento_progetto + FROM + C6MartPeriodico.PATRIMONIO_BF PATRBF + INNER JOIN + C6MartPeriodico.AREA_BISOGNO AREA + ON + PATRBF.ID_AREA = AREA.ID_AREA + INNER JOIN + C6MartPeriodico.ANAG_PRODOTTI ANAGP + ON + PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + INNER JOIN + C6MartPeriodico.DETTAGLIO_ASUL ASUL + ON + PATRBF.RETE = ASUL.RETE + AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE + AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO + left JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + ASSETPERC.COD_PRODOTTO IS NULL + AND PATRBF.TIPO_PRODOTTO = 'ASUL' + AND PATRBF.RETE = @Rete + AND PATRBF.COD_FISCALE = @CodiceFiscale + GROUP BY + PATRBF.ID_CONTRATTO, + CASE WHEN AREA.NOME_AREA LIKE 'Previdenza%' THEN 'Previdenza' ELSE AREA.NOME_AREA END, + CASE + WHEN area.ID_AREA IN ('Pre1', 'Pre2') THEN 'Pre' + ELSE area.ID_AREA end, + PATRBF.NOME_PROGETTO, + patrbf.chiave_progetto, + dbo.TOSHORTDATESTRING(PATRBF.DATA_SOTTOSCRIZIONE), + ANAGP.DESCR_PRODOTTO +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_MP_S149DettaglioProdottiAffluent +BEGIN +SELECT '' as 'C6MartPeriodico.PL_MP_S149DettaglioProdottiAffluent', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, ISNULL(SUM(ctv),0) +FROM C6MartPeriodico.PATRIMONIO_BF + WHERE RETE = @Rete + AND COD_FISCALE = @CodiceFiscale +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_S80Alternativa +BEGIN + DECLARE @MONIT_ATTIV INT + DECLARE @MONIT_INIT INT + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + -- INSERIMENTO BLOCCO PER MONITORAGGIO CHIUSO O NON ESISTENTE + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale +IF (@MONIT_ATTIV > 0 AND @MONIT_INIT > 0) +BEGIN +SELECT '' as 'C6MartPeriodico.PL_S80Alternativa', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] + WHERE [Rete] = @Rete + AND [Cod_Fiscale] = @CodiceFiscale +END +ELSE +BEGIN +SELECT '' as 'C6MartPeriodico.PL_S80Alternativa', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, [RETE] + ,[Cod_Fiscale] + ,[Fase] + ,[DataFase] + ,[Partita_viaggiante] + ,[CTV_EXT] + ,[CTV_INV] + ,[CTV_PRE] + ,[CTV_RIS] + ,[CTV_LIQ] + ,[RisorseAllocate] + ,[RisorseNonAllocate] + ,[RisorseFinanziarie] + ,[Contocorrente] + ,[ctvself] + ,[TotalePatrimonio] + ,[DettMovS80] DettMov + ,[NumeroAsterischiNota] + FROM [C6StampeCentralizzate].[C6MartPeriodico].[TB_S80_S129_EvoluzioneCTVPatrimonio] + WHERE + 1=2 +END +END +--------------------------------------------------------------- +---------------------------------------------------------------C6MartPeriodico.PL_D_S331AreeBisogno +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + SELECT '' as 'C6MartPeriodico.PL_D_S331AreeBisogno', @Rete as i_rete ,@CodiceFiscale as i_codiceFiscale, [NeedArea] + ,[AreaName] + ,[ControvaloreAttuale] + ,Controvaloremodello as [ControvaloreProtetto] + ,totale_percentuale as [ContributoProtezione] + FROM [C6MartPeriodico].[TB_S133_S157DatiPiramide] + --FROM [C6StampeCentralizzate3112].[C6MartPeriodico].[TB_S331_DatiPiramide] + WHERE [Rete] = @Rete + AND [CodiceFiscale] = @CodiceFiscale + order by ordinamento +END +--------------------------------------------------------------- +end \ No newline at end of file diff --git a/sql/storedTestbes/dbo_TrimTable.sql b/sql/storedTestbes/dbo_TrimTable.sql new file mode 100644 index 00000000..9758788b --- /dev/null +++ b/sql/storedTestbes/dbo_TrimTable.sql @@ -0,0 +1,28 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[TrimTable] + @table VARCHAR(128) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @sql NVARCHAR(MAX) + SET @sql = 'SELECT * +INTO #Temp +FROM ' + @table + ' +WHERE ID_ELAB = ( + SELECT MAX(ID_ELAB) + FROM ' + @table + +') +TRUNCATE TABLE ' + @table + +' +INSERT INTO ' + @table + ' +SELECT * +FROM #Temp +DROP TABLE #Temp' +EXEC sp_executesql @sql +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_TrimWSEITables.sql b/sql/storedTestbes/dbo_TrimWSEITables.sql new file mode 100644 index 00000000..462cc627 --- /dev/null +++ b/sql/storedTestbes/dbo_TrimWSEITables.sql @@ -0,0 +1,84 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[TrimWSEITables] + @data DECIMAL(9,0) +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + DECLARE @ok BIT + SET @ok = 0 + BEGIN TRAN + -- WSEIAN + SELECT * + INTO #TEMPAN + FROM C6StagingPeriodico.WSEIAN2 + WHERE DTTRIM = @data + IF @@ROWCOUNT > 0 + BEGIN + TRUNCATE TABLE C6StagingPeriodico.WSEIAN2 + INSERT INTO C6StagingPeriodico.WSEIAN2 + SELECT * + FROM #TEMPAN + SET @ok = 1 + END + ELSE + SET @ok = 0 + DROP TABLE #TEMPAN + -- WSEICS + SELECT * + INTO #TEMPCS + FROM C6StagingPeriodico.WSEICS + WHERE DTTRIM = @data + IF @@ROWCOUNT > 0 + BEGIN + TRUNCATE TABLE C6StagingPeriodico.WSEICS + INSERT INTO C6StagingPeriodico.WSEICS + SELECT * + FROM #TEMPCS + SET @ok = 1 + END + ELSE + SET @ok = 0 + DROP TABLE #TEMPCS + -- WSEIPV + SELECT * + INTO #TEMPPV + FROM C6StagingPeriodico.WSEIPV + WHERE DTTRIM = @data + IF @@ROWCOUNT > 0 + BEGIN + TRUNCATE TABLE C6StagingPeriodico.WSEIPV + INSERT INTO C6StagingPeriodico.WSEIPV + SELECT * + FROM #TEMPPV + SET @ok = 1 + END + ELSE + SET @ok = 0 + DROP TABLE #TEMPPV + -- WSEIUL + SELECT * + INTO #TEMPUL + FROM C6StagingPeriodico.WSEIUL + WHERE DTTRIM = @data + IF @@ROWCOUNT > 0 + BEGIN + TRUNCATE TABLE C6StagingPeriodico.WSEIUL + INSERT INTO C6StagingPeriodico.WSEIUL + SELECT * + FROM #TEMPUL + SET @ok = 1 + END + ELSE + SET @ok = 0 + DROP TABLE #TEMPUL + IF @ok = 1 + COMMIT TRAN + ELSE + ROLLBACK TRAN +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_UPDATE_EVASIONE.sql b/sql/storedTestbes/dbo_UPDATE_EVASIONE.sql new file mode 100644 index 00000000..742a0f77 --- /dev/null +++ b/sql/storedTestbes/dbo_UPDATE_EVASIONE.sql @@ -0,0 +1,9 @@ +CREATE procedure [dbo].[UPDATE_EVASIONE] +@idMetadato as int +AS +BEGIN +update dbo.RichiestaPdfStorico +set richiestaEvasa = 1 +where idMetadato = @idMetadato +--select * from dbo.RichiestaPdfStorico +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_UTIL_ESTRAI_COMPLEX_MODIFICATA.sql b/sql/storedTestbes/dbo_UTIL_ESTRAI_COMPLEX_MODIFICATA.sql new file mode 100644 index 00000000..52a25d98 --- /dev/null +++ b/sql/storedTestbes/dbo_UTIL_ESTRAI_COMPLEX_MODIFICATA.sql @@ -0,0 +1,112 @@ +CREATE procedure [dbo].[UTIL_ESTRAI_COMPLEX_MODIFICATA] +as +select C.RETE,C.COD_FISCALE,D.EXPERIENCE,A.COD_INTERNO,A.COD_SOTTOPRODOTTO,C.TIPO_PRODOTTO,A.COD_ISIN,A.COMPLEX AS NEW_COMPLEX, + B.COMPLEX AS OLD_COMPLEX +from c6stagingperiodico.catitemref a +join c6staging.catitemref b --catalogo del giornaliero con complessità non modificata +on a.catalogueId = b.catalogueId +join c6martperiodico.patrimonio_bf c +on c.cod_prodotto = a.catalogueId +join c6martperiodico.mifid d +on c.cod_fiscale = d.cod_fiscale and c.rete = d.rete +where + A.COD_INTERNO IN + ( + '18', + '19', + '29', + '35', + '37', + '38', + '48', + '49', + '60', + 'BT', + 'ES', + 'FR', + 'FS', + 'FT', + 'FU', + 'GP', + 'KP', + 'OA', + 'PO', + 'PY', + 'SB', + 'PR', + 'PX', + 'SE', + 'SF', + 'SI', + 'ST', + 'SU', + 'K1', + 'K2', + 'K3', + 'K4', + 'K5', + 'K6', + 'K7' + ) + OR + (A.COD_INTERNO IN + ( + 'S1', + 'S2', + 'S3', + 'S4', + 'S5', + 'S6', + 'S7', + 'S8' + ) + and A.cod_sottoprodotto not in ('20001','20002','20005','20008') + ) + OR + ( A.cod_interno in ('S1','S2','S4','S5','S8') + and A.cod_sottoprodotto in ('20001','20002','20005','20008') + ) + OR + A.COD_INTERNO IN + ( + 'A7', + 'A8' + ) + OR + A.COD_SOTTOPRODOTTO IN + ( + '7149S' + ,'7145S' + ,'9968S' + ) + OR + A.COD_SOTTOPRODOTTO = '7146S' + OR + ( + A.COD_ISIN IN + ( + 'DE000A0LJ552' + ,'DE000A0MG8R0' + ,'IT0004189368' + ,'GB00B1WVWP64' + ,'GB00B1Y3ZZ16' + ,'XS0354254111' + ,'GB00B2QM7Y61' + ,'XS0235278982' + ,'XS0179585186' + ) + AND + A.COD_INTERNO IN + ( + '00101740' + ,'09139480' + ,'09161420' + ,'00830060' + ,'09205930' + ,'00168130' + ,'08525040' + ,'08556110' + ,'09201230' + ) + ) +ORDER BY C.RETE,C.COD_FISCALE,D.EXPERIENCE desc \ No newline at end of file diff --git a/sql/storedTestbes/dbo_creaExcelVerificaCampioneS80.sql b/sql/storedTestbes/dbo_creaExcelVerificaCampioneS80.sql new file mode 100644 index 00000000..87ed3217 --- /dev/null +++ b/sql/storedTestbes/dbo_creaExcelVerificaCampioneS80.sql @@ -0,0 +1,58 @@ +-- ============================================= +-- Author: +-- Create date: <25/09/2014> +-- Description: +-- ============================================= +CREATE procedure [dbo].[creaExcelVerificaCampioneS80] +AS +BEGIN +SELECT PAT.Rete AS rete, + PAT.Cod_Fiscale AS cf, + --PAT.Fase AS TIPO, + CASE WHEN PAT.Fase = 1 THEN 'Avvio monitoraggio' + WHEN PAT.Fase = 2 THEN 'Precedente invio' + END AS [Type], + PAT.DataFase AS [Data riferimento], + PAT.CTV_EXT AS [Extra rendimento], + PAT.CTV_INV AS Investimento, + PAT.CTV_PRE AS Previdenza, + PAT.CTV_RIS AS Riserva, + PAT.CTV_LIQ AS [Liquidità], + PAT.RisorseAllocate AS [Totale risorse allocate], + PAT.RisorseNonAllocate AS [Risorse non allocate], + PAT.ContoCorrente AS [Scoperto di Conto Corrente], + PAT.Partita_viaggiante AS [Investimenti in corso], + PAT.RisorseAllocate + PAT.RisorseNonAllocate + PAT.ContoCorrente + PAT.Partita_viaggiante AS [Totale patrimonio], + RIS.VarMassimoProfiloFinanziario AS [VaR massimo profilo finanziario], + RIS.VarComplessivo AS [Rischio Mercato (VaR%)], + RIS.Copertura AS Copertura, + --RIS.RISKCLASSMAX AS [Rischio Credito massimo], + CASE WHEN RIS.RISKCLASSMAX IS NULL THEN 0 + ELSE RIS.RISKCLASSMAX + END AS [Rischio Credito massimo], + CASE WHEN RIS.RiskClass = '0' and RIS.RISKclassSTRING ='n.a.' THEN '5' + WHEN RIS.RiskClass is null and RIS.RISKclassSTRING ='n.a.' THEN '0' + WHEN RIS.RiskClass is null AND RIS.RISKclassSTRING ='n.d.' THEN null + --NEL FOGLIO XLS DI ESTRAZIONE DATI S80 PER QC RICORDARSI DI sotituire + --NULL con 'n.d.' + --'5' con 'n.a.' + --'0' con 'n.a.' + ELSE RIS.RiskClass + END AS [Rischio Credito] + FROM + C6MartPeriodico.TB_S80_S129_EvoluzioneCTVPatrimonio PAT + inner join + C6MartPeriodico.TB_S80BisEvoluzioneRischio RIS + on + RIS.RETE=PAT.RETE + AND + RIS.CodiceFiscale=PAT.Cod_Fiscale + AND + RIS.Fase=PAT.Fase + AND + RIS.DataFase=PAT.DataFase + inner join dbo.appocampionereport CAMP + on CAMP.rete=PAT.Rete and CAMP.cod_fiscale=PAT.Cod_Fiscale + WHERE PAT.FASE != '3' + ORDER BY PAT.Rete, PAT.Cod_Fiscale, PAT.FASE +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_creaExcelVerificaCampioneS80_excel.sql b/sql/storedTestbes/dbo_creaExcelVerificaCampioneS80_excel.sql new file mode 100644 index 00000000..fc62711a --- /dev/null +++ b/sql/storedTestbes/dbo_creaExcelVerificaCampioneS80_excel.sql @@ -0,0 +1,43 @@ +-- ============================================= +-- Author: +-- Create date: <25/09/2014> +-- Description: +-- ============================================= +CREATE procedure [dbo].[creaExcelVerificaCampioneS80_excel] +AS +BEGIN +drop table if exists c6martperiodico.VerificaS80Campione +create table c6martperiodico.VerificaS80Campione( +rete varchar(3), +cf varchar(32), +Type varchar(100), +[Data riferimento] datetime, +[Extra rendimento] varchar (100), +Investimento varchar(100), +Previdenza varchar(100), +Riserva varchar(100), +Liquidità varchar(100), +[Totale risorse allocate] varchar(100), +[Risorse non allocate] varchar(100), +[Scoperto di Conto Corrente] varchar(100), +[Investimenti in corso] varchar (100), +[Totale patrimonio] varchar (100), +[VaR massimo profilo finanziario] varchar (100), +[Rischio Mercato (VaR%)] varchar (100), +Copertura varchar (100), +[Rischio Credito Massimo] varchar(100), +[Rischio Credito] varchar(100) +); +insert into c6martperiodico.VerificaS80Campione +exec [dbo].[creaExcelVerificaCampioneS80]; +--exec [dbo].[creaExcelVerificaCampioneS80] +update c6martperiodico.VerificaS80Campione +set [Rischio Credito]='n.a.' +from c6martperiodico.VerificaS80Campione +where [Rischio Credito]='5.000' +update c6martperiodico.VerificaS80Campione +set [Rischio Credito]='n.d.' +from c6martperiodico.VerificaS80Campione +where [Rischio Credito] is NULL +select * from c6martperiodico.VerificaS80Campione +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_getListaPdfStorici.sql b/sql/storedTestbes/dbo_getListaPdfStorici.sql new file mode 100644 index 00000000..2baf558e --- /dev/null +++ b/sql/storedTestbes/dbo_getListaPdfStorici.sql @@ -0,0 +1,32 @@ +-- ============================================= +-- Author: Valerio Colaianni +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[getListaPdfStorici] + AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here + select 'E:\TSM\ARCHIVE\PDF\'+nomeFile + from RichiestaPdfStorico + where richiestaEvasa = 0 +--INSERT INTO LOG_ESECUZIONE +-- (Nome, Inizio, Nota) +-- VALUES ( +-- 'getListaPdfStorici', +-- GETDATE(), +-- 'Elaborazione' +--) +-- Inserimento per recupero manuale di test del 24/05/2016 - DA COMMENTARE UNA VOLTA FATTO + --select + --'E:\TSM\ARCHIVE\578944.pdf' + --union + --select + --'E:\TSM\ARCHIVE\578980.pdf' + --union + --select + --'E:\TSM\ARCHIVE\579000.pdf' +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_inserisciRichiestaStorico.sql b/sql/storedTestbes/dbo_inserisciRichiestaStorico.sql new file mode 100644 index 00000000..ecbb0175 --- /dev/null +++ b/sql/storedTestbes/dbo_inserisciRichiestaStorico.sql @@ -0,0 +1,17 @@ +--[dbo].[inserisciRichiestaStorico] 47,'S','SSTLCN46T54L331H','001594' +--select * from RichiestaPdfStorico truncate table RichiestaPdfStorico +CREATE procedure [dbo].[inserisciRichiestaStorico] +@identificativo as int, +@rete as char(1), +@cod_fiscale as varchar(16), +@cod_agente as varchar(6) +AS +BEGIN +declare @idMeta as int +declare @tempNomeFile as varchar(20) +set @tempNomeFile = cast(@identificativo as varchar)+'.pdf' +select @idMeta = idMetadato from RichiestaPdfStorico where idMetadato = @identificativo and Richiestaevasa = 0 +if(isnull(@idMeta,0) <> @identificativo) + insert into dbo.RichiestaPdfStorico(nomeFile,rete,cod_fiscale,cod_agente,richiestaEvasa,idMetadato) + values (@tempNomeFile,@rete,@cod_fiscale,@cod_agente,0,@identificativo) +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_sp_WhoIsActive.sql b/sql/storedTestbes/dbo_sp_WhoIsActive.sql new file mode 100644 index 00000000..6ed322c5 --- /dev/null +++ b/sql/storedTestbes/dbo_sp_WhoIsActive.sql @@ -0,0 +1,5063 @@ +CREATE PROC [dbo].[sp_WhoIsActive] +( +--~ + --Filters--Both inclusive and exclusive + --Set either filter to '' to disable + --Valid filter types are: session, program, database, login, and host + --Session is a session ID, and either 0 or '' can be used to indicate "all" sessions + --All other filter types support % or _ as wildcards + @filter sysname = '', + @filter_type VARCHAR(10) = 'session', + @not_filter sysname = '', + @not_filter_type VARCHAR(10) = 'session', + --Retrieve data about the calling session? + @show_own_spid BIT = 0, + --Retrieve data about system sessions? + @show_system_spids BIT = 0, + --Controls how sleeping SPIDs are handled, based on the idea of levels of interest + --0 does not pull any sleeping SPIDs + --1 pulls only those sleeping SPIDs that also have an open transaction + --2 pulls all sleeping SPIDs + @show_sleeping_spids TINYINT = 1, + --If 1, gets the full stored procedure or running batch, when available + --If 0, gets only the actual statement that is currently running in the batch or procedure + @get_full_inner_text BIT = 0, + --Get associated query plans for running tasks, if available + --If @get_plans = 1, gets the plan based on the request's statement offset + --If @get_plans = 2, gets the entire plan based on the request's plan_handle + @get_plans TINYINT = 0, + --Get the associated outer ad hoc query or stored procedure call, if available + @get_outer_command BIT = 0, + --Enables pulling transaction log write info and transaction duration + @get_transaction_info BIT = 0, + --Get information on active tasks, based on three interest levels + --Level 0 does not pull any task-related information + --Level 1 is a lightweight mode that pulls the top non-CXPACKET wait, giving preference to blockers + --Level 2 pulls all available task-based metrics, including: + --number of active tasks, current wait stats, physical I/O, context switches, and blocker information + @get_task_info TINYINT = 1, + --Gets associated locks for each request, aggregated in an XML format + @get_locks BIT = 0, + --Get average time for past runs of an active query + --(based on the combination of plan handle, sql handle, and offset) + @get_avg_time BIT = 0, + --Get additional non-performance-related information about the session or request + --text_size, language, date_format, date_first, quoted_identifier, arithabort, ansi_null_dflt_on, + --ansi_defaults, ansi_warnings, ansi_padding, ansi_nulls, concat_null_yields_null, + --transaction_isolation_level, lock_timeout, deadlock_priority, row_count, command_type + -- + --If a SQL Agent job is running, an subnode called agent_info will be populated with some or all of + --the following: job_id, job_name, step_id, step_name, msdb_query_error (in the event of an error) + -- + --If @get_task_info is set to 2 and a lock wait is detected, a subnode called block_info will be + --populated with some or all of the following: lock_type, database_name, object_id, file_id, hobt_id, + --applock_hash, metadata_resource, metadata_class_id, object_name, schema_name + @get_additional_info BIT = 0, + --Walk the blocking chain and count the number of + --total SPIDs blocked all the way down by a given session + --Also enables task_info Level 1, if @get_task_info is set to 0 + @find_block_leaders BIT = 0, + --Pull deltas on various metrics + --Interval in seconds to wait before doing the second data pull + @delta_interval TINYINT = 0, + --List of desired output columns, in desired order + --Note that the final output will be the intersection of all enabled features and all + --columns in the list. Therefore, only columns associated with enabled features will + --actually appear in the output. Likewise, removing columns from this list may effectively + --disable features, even if they are turned on + -- + --Each element in this list must be one of the valid output column names. Names must be + --delimited by square brackets. White space, formatting, and additional characters are + --allowed, as long as the list contains exact matches of delimited valid column names. + @output_column_list VARCHAR(8000) = '[dd%][session_id][sql_text][sql_command][login_name][wait_info][tasks][tran_log%][cpu%][temp%][block%][reads%][writes%][context%][physical%][query_plan][locks][%]', + --Column(s) by which to sort output, optionally with sort directions. + --Valid column choices: + --session_id, physical_io, reads, physical_reads, writes, tempdb_allocations, + --tempdb_current, CPU, context_switches, used_memory, physical_io_delta, reads_delta, + --physical_reads_delta, writes_delta, tempdb_allocations_delta, tempdb_current_delta, + --CPU_delta, context_switches_delta, used_memory_delta, tasks, tran_start_time, + --open_tran_count, blocking_session_id, blocked_session_count, percent_complete, + --host_name, login_name, database_name, start_time, login_time, program_name + -- + --Note that column names in the list must be bracket-delimited. Commas and/or white + --space are not required. + @sort_order VARCHAR(500) = '[start_time] ASC', + --Formats some of the output columns in a more "human readable" form + --0 disables outfput format + --1 formats the output for variable-width fonts + --2 formats the output for fixed-width fonts + @format_output TINYINT = 1, + --If set to a non-blank value, the script will attempt to insert into the specified + --destination table. Please note that the script will not verify that the table exists, + --or that it has the correct schema, before doing the insert. + --Table can be specified in one, two, or three-part format + @destination_table VARCHAR(4000) = '', + --If set to 1, no data collection will happen and no result set will be returned; instead, + --a CREATE TABLE statement will be returned via the @schema parameter, which will match + --the schema of the result set that would be returned by using the same collection of the + --rest of the parameters. The CREATE TABLE statement will have a placeholder token of + -- in place of an actual table name. + @return_schema BIT = 0, + @schema VARCHAR(MAX) = NULL OUTPUT, + --Help! What do I do? + @help BIT = 0 +--~ +) +/* +OUTPUT COLUMNS +-------------- +Formatted/Non: [session_id] [smallint] NOT NULL + Session ID (a.k.a. SPID) +Formatted: [dd hh:mm:ss.mss] [varchar](15) NULL +Non-Formatted: + For an active request, time the query has been running + For a sleeping session, time since the last batch completed +Formatted: [dd hh:mm:ss.mss (avg)] [varchar](15) NULL +Non-Formatted: [avg_elapsed_time] [int] NULL + (Requires @get_avg_time option) + How much time has the active portion of the query taken in the past, on average? +Formatted: [physical_io] [varchar](30) NULL +Non-Formatted: [physical_io] [bigint] NULL + Shows the number of physical I/Os, for active requests +Formatted: [reads] [varchar](30) NULL +Non-Formatted: [reads] [bigint] NULL + For an active request, number of reads done for the current query + For a sleeping session, total number of reads done over the lifetime of the session +Formatted: [physical_reads] [varchar](30) NULL +Non-Formatted: [physical_reads] [bigint] NULL + For an active request, number of physical reads done for the current query + For a sleeping session, total number of physical reads done over the lifetime of the session +Formatted: [writes] [varchar](30) NULL +Non-Formatted: [writes] [bigint] NULL + For an active request, number of writes done for the current query + For a sleeping session, total number of writes done over the lifetime of the session +Formatted: [tempdb_allocations] [varchar](30) NULL +Non-Formatted: [tempdb_allocations] [bigint] NULL + For an active request, number of TempDB writes done for the current query + For a sleeping session, total number of TempDB writes done over the lifetime of the session +Formatted: [tempdb_current] [varchar](30) NULL +Non-Formatted: [tempdb_current] [bigint] NULL + For an active request, number of TempDB pages currently allocated for the query + For a sleeping session, number of TempDB pages currently allocated for the session +Formatted: [CPU] [varchar](30) NULL +Non-Formatted: [CPU] [int] NULL + For an active request, total CPU time consumed by the current query + For a sleeping session, total CPU time consumed over the lifetime of the session +Formatted: [context_switches] [varchar](30) NULL +Non-Formatted: [context_switches] [bigint] NULL + Shows the number of context switches, for active requests +Formatted: [used_memory] [varchar](30) NOT NULL +Non-Formatted: [used_memory] [bigint] NOT NULL + For an active request, total memory consumption for the current query + For a sleeping session, total current memory consumption +Formatted: [physical_io_delta] [varchar](30) NULL +Non-Formatted: [physical_io_delta] [bigint] NULL + (Requires @delta_interval option) + Difference between the number of physical I/Os reported on the first and second collections. + If the request started after the first collection, the value will be NULL +Formatted: [reads_delta] [varchar](30) NULL +Non-Formatted: [reads_delta] [bigint] NULL + (Requires @delta_interval option) + Difference between the number of reads reported on the first and second collections. + If the request started after the first collection, the value will be NULL +Formatted: [physical_reads_delta] [varchar](30) NULL +Non-Formatted: [physical_reads_delta] [bigint] NULL + (Requires @delta_interval option) + Difference between the number of physical reads reported on the first and second collections. + If the request started after the first collection, the value will be NULL +Formatted: [writes_delta] [varchar](30) NULL +Non-Formatted: [writes_delta] [bigint] NULL + (Requires @delta_interval option) + Difference between the number of writes reported on the first and second collections. + If the request started after the first collection, the value will be NULL +Formatted: [tempdb_allocations_delta] [varchar](30) NULL +Non-Formatted: [tempdb_allocations_delta] [bigint] NULL + (Requires @delta_interval option) + Difference between the number of TempDB writes reported on the first and second collections. + If the request started after the first collection, the value will be NULL +Formatted: [tempdb_current_delta] [varchar](30) NULL +Non-Formatted: [tempdb_current_delta] [bigint] NULL + (Requires @delta_interval option) + Difference between the number of allocated TempDB pages reported on the first and second + collections. If the request started after the first collection, the value will be NULL +Formatted: [CPU_delta] [varchar](30) NULL +Non-Formatted: [CPU_delta] [int] NULL + (Requires @delta_interval option) + Difference between the CPU time reported on the first and second collections. + If the request started after the first collection, the value will be NULL +Formatted: [context_switches_delta] [varchar](30) NULL +Non-Formatted: [context_switches_delta] [bigint] NULL + (Requires @delta_interval option) + Difference between the context switches count reported on the first and second collections + If the request started after the first collection, the value will be NULL +Formatted: [used_memory_delta] [varchar](30) NULL +Non-Formatted: [used_memory_delta] [bigint] NULL + Difference between the memory usage reported on the first and second collections + If the request started after the first collection, the value will be NULL +Formatted: [tasks] [varchar](30) NULL +Non-Formatted: [tasks] [smallint] NULL + Number of worker tasks currently allocated, for active requests +Formatted/Non: [status] [varchar](30) NOT NULL + Activity status for the session (running, sleeping, etc) +Formatted/Non: [wait_info] [nvarchar](4000) NULL + Aggregates wait information, in the following format: + (Ax: Bms/Cms/Dms)E + A is the number of waiting tasks currently waiting on resource type E. B/C/D are wait + times, in milliseconds. If only one thread is waiting, its wait time will be shown as B. + If two tasks are waiting, each of their wait times will be shown (B/C). If three or more + tasks are waiting, the minimum, average, and maximum wait times will be shown (B/C/D). + If wait type E is a page latch wait and the page is of a "special" type (e.g. PFS, GAM, SGAM), + the page type will be identified. + If wait type E is CXPACKET, the nodeId from the query plan will be identified +Formatted/Non: [locks] [xml] NULL + (Requires @get_locks option) + Aggregates lock information, in XML format. + The lock XML includes the lock mode, locked object, and aggregates the number of requests. + Attempts are made to identify locked objects by name +Formatted/Non: [tran_start_time] [datetime] NULL + (Requires @get_transaction_info option) + Date and time that the first transaction opened by a session caused a transaction log + write to occur. +Formatted/Non: [tran_log_writes] [nvarchar](4000) NULL + (Requires @get_transaction_info option) + Aggregates transaction log write information, in the following format: + A:wB (C kB) + A is a database that has been touched by an active transaction + B is the number of log writes that have been made in the database as a result of the transaction + C is the number of log kilobytes consumed by the log records +Formatted: [open_tran_count] [varchar](30) NULL +Non-Formatted: [open_tran_count] [smallint] NULL + Shows the number of open transactions the session has open +Formatted: [sql_command] [xml] NULL +Non-Formatted: [sql_command] [nvarchar](max) NULL + (Requires @get_outer_command option) + Shows the "outer" SQL command, i.e. the text of the batch or RPC sent to the server, + if available +Formatted: [sql_text] [xml] NULL +Non-Formatted: [sql_text] [nvarchar](max) NULL + Shows the SQL text for active requests or the last statement executed + for sleeping sessions, if available in either case. + If @get_full_inner_text option is set, shows the full text of the batch. + Otherwise, shows only the active statement within the batch. + If the query text is locked, a special timeout message will be sent, in the following format: + + If an error occurs, an error message will be sent, in the following format: + +Formatted/Non: [query_plan] [xml] NULL + (Requires @get_plans option) + Shows the query plan for the request, if available. + If the plan is locked, a special timeout message will be sent, in the following format: + + If an error occurs, an error message will be sent, in the following format: + +Formatted/Non: [blocking_session_id] [smallint] NULL + When applicable, shows the blocking SPID +Formatted: [blocked_session_count] [varchar](30) NULL +Non-Formatted: [blocked_session_count] [smallint] NULL + (Requires @find_block_leaders option) + The total number of SPIDs blocked by this session, + all the way down the blocking chain. +Formatted: [percent_complete] [varchar](30) NULL +Non-Formatted: [percent_complete] [real] NULL + When applicable, shows the percent complete (e.g. for backups, restores, and some rollbacks) +Formatted/Non: [host_name] [sysname] NOT NULL + Shows the host name for the connection +Formatted/Non: [login_name] [sysname] NOT NULL + Shows the login name for the connection +Formatted/Non: [database_name] [sysname] NULL + Shows the connected database +Formatted/Non: [program_name] [sysname] NULL + Shows the reported program/application name +Formatted/Non: [additional_info] [xml] NULL + (Requires @get_additional_info option) + Returns additional non-performance-related session/request information + If the script finds a SQL Agent job running, the name of the job and job step will be reported + If @get_task_info = 2 and the script finds a lock wait, the locked object will be reported +Formatted/Non: [start_time] [datetime] NOT NULL + For active requests, shows the time the request started + For sleeping sessions, shows the time the last batch completed +Formatted/Non: [login_time] [datetime] NOT NULL + Shows the time that the session connected +Formatted/Non: [request_id] [int] NULL + For active requests, shows the request_id + Should be 0 unless MARS is being used +Formatted/Non: [collection_time] [datetime] NOT NULL + Time that this script's final SELECT ran +*/ +AS +BEGIN; + SET NOCOUNT ON; + SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; + SET QUOTED_IDENTIFIER ON; + SET ANSI_PADDING ON; + SET CONCAT_NULL_YIELDS_NULL ON; + SET ANSI_WARNINGS ON; + SET NUMERIC_ROUNDABORT OFF; + SET ARITHABORT ON; + IF + @filter IS NULL + OR @filter_type IS NULL + OR @not_filter IS NULL + OR @not_filter_type IS NULL + OR @show_own_spid IS NULL + OR @show_system_spids IS NULL + OR @show_sleeping_spids IS NULL + OR @get_full_inner_text IS NULL + OR @get_plans IS NULL + OR @get_outer_command IS NULL + OR @get_transaction_info IS NULL + OR @get_task_info IS NULL + OR @get_locks IS NULL + OR @get_avg_time IS NULL + OR @get_additional_info IS NULL + OR @find_block_leaders IS NULL + OR @delta_interval IS NULL + OR @format_output IS NULL + OR @output_column_list IS NULL + OR @sort_order IS NULL + OR @return_schema IS NULL + OR @destination_table IS NULL + OR @help IS NULL + BEGIN; + RAISERROR('Input parameters cannot be NULL', 16, 1); + RETURN; + END; + IF @filter_type NOT IN ('session', 'program', 'database', 'login', 'host') + BEGIN; + RAISERROR('Valid filter types are: session, program, database, login, host', 16, 1); + RETURN; + END; + IF @filter_type = 'session' AND @filter LIKE '%[^0123456789]%' + BEGIN; + RAISERROR('Session filters must be valid integers', 16, 1); + RETURN; + END; + IF @not_filter_type NOT IN ('session', 'program', 'database', 'login', 'host') + BEGIN; + RAISERROR('Valid filter types are: session, program, database, login, host', 16, 1); + RETURN; + END; + IF @not_filter_type = 'session' AND @not_filter LIKE '%[^0123456789]%' + BEGIN; + RAISERROR('Session filters must be valid integers', 16, 1); + RETURN; + END; + IF @show_sleeping_spids NOT IN (0, 1, 2) + BEGIN; + RAISERROR('Valid values for @show_sleeping_spids are: 0, 1, or 2', 16, 1); + RETURN; + END; + IF @get_plans NOT IN (0, 1, 2) + BEGIN; + RAISERROR('Valid values for @get_plans are: 0, 1, or 2', 16, 1); + RETURN; + END; + IF @get_task_info NOT IN (0, 1, 2) + BEGIN; + RAISERROR('Valid values for @get_task_info are: 0, 1, or 2', 16, 1); + RETURN; + END; + IF @format_output NOT IN (0, 1, 2) + BEGIN; + RAISERROR('Valid values for @format_output are: 0, 1, or 2', 16, 1); + RETURN; + END; + IF @help = 1 + BEGIN; + DECLARE + @header VARCHAR(MAX), + @params VARCHAR(MAX), + @outputs VARCHAR(MAX); + SELECT + @header = + REPLACE + ( + REPLACE + ( + CONVERT + ( + VARCHAR(MAX), + SUBSTRING + ( + t.text, + CHARINDEX('/' + REPLICATE('*', 93), t.text) + 94, + CHARINDEX(REPLICATE('*', 93) + '/', t.text) - (CHARINDEX('/' + REPLICATE('*', 93), t.text) + 94) + ) + ), + CHAR(13)+CHAR(10), + CHAR(13) + ), + ' ', + '' + ), + @params = + CHAR(13) + + REPLACE + ( + REPLACE + ( + CONVERT + ( + VARCHAR(MAX), + SUBSTRING + ( + t.text, + CHARINDEX('--~', t.text) + 5, + CHARINDEX('--~', t.text, CHARINDEX('--~', t.text) + 5) - (CHARINDEX('--~', t.text) + 5) + ) + ), + CHAR(13)+CHAR(10), + CHAR(13) + ), + ' ', + '' + ), + @outputs = + CHAR(13) + + REPLACE + ( + REPLACE + ( + REPLACE + ( + CONVERT + ( + VARCHAR(MAX), + SUBSTRING + ( + t.text, + CHARINDEX('OUTPUT COLUMNS'+CHAR(13)+CHAR(10)+'--------------', t.text) + 32, + CHARINDEX('*/', t.text, CHARINDEX('OUTPUT COLUMNS'+CHAR(13)+CHAR(10)+'--------------', t.text) + 32) - (CHARINDEX('OUTPUT COLUMNS'+CHAR(13)+CHAR(10)+'--------------', t.text) + 32) + ) + ), + CHAR(9), + CHAR(255) + ), + CHAR(13)+CHAR(10), + CHAR(13) + ), + ' ', + '' + ) + + CHAR(13) + FROM sys.dm_exec_requests AS r + CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) AS t + WHERE + r.session_id = @@SPID; + WITH + a0 AS + (SELECT 1 AS n UNION ALL SELECT 1), + a1 AS + (SELECT 1 AS n FROM a0 AS a, a0 AS b), + a2 AS + (SELECT 1 AS n FROM a1 AS a, a1 AS b), + a3 AS + (SELECT 1 AS n FROM a2 AS a, a2 AS b), + a4 AS + (SELECT 1 AS n FROM a3 AS a, a3 AS b), + numbers AS + ( + SELECT TOP(LEN(@header) - 1) + ROW_NUMBER() OVER + ( + ORDER BY (SELECT NULL) + ) AS number + FROM a4 + ORDER BY + number + ) + SELECT + RTRIM(LTRIM( + SUBSTRING + ( + @header, + number + 1, + CHARINDEX(CHAR(13), @header, number + 1) - number - 1 + ) + )) AS [------header---------------------------------------------------------------------------------------------------------------] + FROM numbers + WHERE + SUBSTRING(@header, number, 1) = CHAR(13); + WITH + a0 AS + (SELECT 1 AS n UNION ALL SELECT 1), + a1 AS + (SELECT 1 AS n FROM a0 AS a, a0 AS b), + a2 AS + (SELECT 1 AS n FROM a1 AS a, a1 AS b), + a3 AS + (SELECT 1 AS n FROM a2 AS a, a2 AS b), + a4 AS + (SELECT 1 AS n FROM a3 AS a, a3 AS b), + numbers AS + ( + SELECT TOP(LEN(@params) - 1) + ROW_NUMBER() OVER + ( + ORDER BY (SELECT NULL) + ) AS number + FROM a4 + ORDER BY + number + ), + tokens AS + ( + SELECT + RTRIM(LTRIM( + SUBSTRING + ( + @params, + number + 1, + CHARINDEX(CHAR(13), @params, number + 1) - number - 1 + ) + )) AS token, + number, + CASE + WHEN SUBSTRING(@params, number + 1, 1) = CHAR(13) THEN number + ELSE COALESCE(NULLIF(CHARINDEX(',' + CHAR(13) + CHAR(13), @params, number), 0), LEN(@params)) + END AS param_group, + ROW_NUMBER() OVER + ( + PARTITION BY + CHARINDEX(',' + CHAR(13) + CHAR(13), @params, number), + SUBSTRING(@params, number+1, 1) + ORDER BY + number + ) AS group_order + FROM numbers + WHERE + SUBSTRING(@params, number, 1) = CHAR(13) + ), + parsed_tokens AS + ( + SELECT + MIN + ( + CASE + WHEN token LIKE '@%' THEN token + ELSE NULL + END + ) AS parameter, + MIN + ( + CASE + WHEN token LIKE '--%' THEN RIGHT(token, LEN(token) - 2) + ELSE NULL + END + ) AS description, + param_group, + group_order + FROM tokens + WHERE + NOT + ( + token = '' + AND group_order > 1 + ) + GROUP BY + param_group, + group_order + ) + SELECT + CASE + WHEN description IS NULL AND parameter IS NULL THEN '-------------------------------------------------------------------------' + WHEN param_group = MAX(param_group) OVER() THEN parameter + ELSE COALESCE(LEFT(parameter, LEN(parameter) - 1), '') + END AS [------parameter----------------------------------------------------------], + CASE + WHEN description IS NULL AND parameter IS NULL THEN '----------------------------------------------------------------------------------------------------------------------' + ELSE COALESCE(description, '') + END AS [------description-----------------------------------------------------------------------------------------------------] + FROM parsed_tokens + ORDER BY + param_group, + group_order; + WITH + a0 AS + (SELECT 1 AS n UNION ALL SELECT 1), + a1 AS + (SELECT 1 AS n FROM a0 AS a, a0 AS b), + a2 AS + (SELECT 1 AS n FROM a1 AS a, a1 AS b), + a3 AS + (SELECT 1 AS n FROM a2 AS a, a2 AS b), + a4 AS + (SELECT 1 AS n FROM a3 AS a, a3 AS b), + numbers AS + ( + SELECT TOP(LEN(@outputs) - 1) + ROW_NUMBER() OVER + ( + ORDER BY (SELECT NULL) + ) AS number + FROM a4 + ORDER BY + number + ), + tokens AS + ( + SELECT + RTRIM(LTRIM( + SUBSTRING + ( + @outputs, + number + 1, + CASE + WHEN + COALESCE(NULLIF(CHARINDEX(CHAR(13) + 'Formatted', @outputs, number + 1), 0), LEN(@outputs)) < + COALESCE(NULLIF(CHARINDEX(CHAR(13) + CHAR(255) COLLATE Latin1_General_Bin2, @outputs, number + 1), 0), LEN(@outputs)) + THEN COALESCE(NULLIF(CHARINDEX(CHAR(13) + 'Formatted', @outputs, number + 1), 0), LEN(@outputs)) - number - 1 + ELSE + COALESCE(NULLIF(CHARINDEX(CHAR(13) + CHAR(255) COLLATE Latin1_General_Bin2, @outputs, number + 1), 0), LEN(@outputs)) - number - 1 + END + ) + )) AS token, + number, + COALESCE(NULLIF(CHARINDEX(CHAR(13) + 'Formatted', @outputs, number + 1), 0), LEN(@outputs)) AS output_group, + ROW_NUMBER() OVER + ( + PARTITION BY + COALESCE(NULLIF(CHARINDEX(CHAR(13) + 'Formatted', @outputs, number + 1), 0), LEN(@outputs)) + ORDER BY + number + ) AS output_group_order + FROM numbers + WHERE + SUBSTRING(@outputs, number, 10) = CHAR(13) + 'Formatted' + OR SUBSTRING(@outputs, number, 2) = CHAR(13) + CHAR(255) COLLATE Latin1_General_Bin2 + ), + output_tokens AS + ( + SELECT + *, + CASE output_group_order + WHEN 2 THEN MAX(CASE output_group_order WHEN 1 THEN token ELSE NULL END) OVER (PARTITION BY output_group) + ELSE '' + END COLLATE Latin1_General_Bin2 AS column_info + FROM tokens + ) + SELECT + CASE output_group_order + WHEN 1 THEN '-----------------------------------' + WHEN 2 THEN + CASE + WHEN CHARINDEX('Formatted/Non:', column_info) = 1 THEN + SUBSTRING(column_info, CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info)+1, CHARINDEX(']', column_info, CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info)+2) - CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info)) + ELSE + SUBSTRING(column_info, CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info)+2, CHARINDEX(']', column_info, CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info)+2) - CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info)-1) + END + ELSE '' + END AS formatted_column_name, + CASE output_group_order + WHEN 1 THEN '-----------------------------------' + WHEN 2 THEN + CASE + WHEN CHARINDEX('Formatted/Non:', column_info) = 1 THEN + SUBSTRING(column_info, CHARINDEX(']', column_info)+2, LEN(column_info)) + ELSE + SUBSTRING(column_info, CHARINDEX(']', column_info)+2, CHARINDEX('Non-Formatted:', column_info, CHARINDEX(']', column_info)+2) - CHARINDEX(']', column_info)-3) + END + ELSE '' + END AS formatted_column_type, + CASE output_group_order + WHEN 1 THEN '---------------------------------------' + WHEN 2 THEN + CASE + WHEN CHARINDEX('Formatted/Non:', column_info) = 1 THEN '' + ELSE + CASE + WHEN SUBSTRING(column_info, CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info, CHARINDEX('Non-Formatted:', column_info))+1, 1) = '<' THEN + SUBSTRING(column_info, CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info, CHARINDEX('Non-Formatted:', column_info))+1, CHARINDEX('>', column_info, CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info, CHARINDEX('Non-Formatted:', column_info))+1) - CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info, CHARINDEX('Non-Formatted:', column_info))) + ELSE + SUBSTRING(column_info, CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info, CHARINDEX('Non-Formatted:', column_info))+1, CHARINDEX(']', column_info, CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info, CHARINDEX('Non-Formatted:', column_info))+1) - CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info, CHARINDEX('Non-Formatted:', column_info))) + END + END + ELSE '' + END AS unformatted_column_name, + CASE output_group_order + WHEN 1 THEN '---------------------------------------' + WHEN 2 THEN + CASE + WHEN CHARINDEX('Formatted/Non:', column_info) = 1 THEN '' + ELSE + CASE + WHEN SUBSTRING(column_info, CHARINDEX(CHAR(255) COLLATE Latin1_General_Bin2, column_info, CHARINDEX('Non-Formatted:', column_info))+1, 1) = '<' THEN '' + ELSE + SUBSTRING(column_info, CHARINDEX(']', column_info, CHARINDEX('Non-Formatted:', column_info))+2, CHARINDEX('Non-Formatted:', column_info, CHARINDEX(']', column_info)+2) - CHARINDEX(']', column_info)-3) + END + END + ELSE '' + END AS unformatted_column_type, + CASE output_group_order + WHEN 1 THEN '----------------------------------------------------------------------------------------------------------------------' + ELSE REPLACE(token, CHAR(255) COLLATE Latin1_General_Bin2, '') + END AS [------description-----------------------------------------------------------------------------------------------------] + FROM output_tokens + WHERE + NOT + ( + output_group_order = 1 + AND output_group = LEN(@outputs) + ) + ORDER BY + output_group, + CASE output_group_order + WHEN 1 THEN 99 + ELSE output_group_order + END; + RETURN; + END; + WITH + a0 AS + (SELECT 1 AS n UNION ALL SELECT 1), + a1 AS + (SELECT 1 AS n FROM a0 AS a, a0 AS b), + a2 AS + (SELECT 1 AS n FROM a1 AS a, a1 AS b), + a3 AS + (SELECT 1 AS n FROM a2 AS a, a2 AS b), + a4 AS + (SELECT 1 AS n FROM a3 AS a, a3 AS b), + numbers AS + ( + SELECT TOP(LEN(@output_column_list)) + ROW_NUMBER() OVER + ( + ORDER BY (SELECT NULL) + ) AS number + FROM a4 + ORDER BY + number + ), + tokens AS + ( + SELECT + '|[' + + SUBSTRING + ( + @output_column_list, + number + 1, + CHARINDEX(']', @output_column_list, number) - number - 1 + ) + '|]' AS token, + number + FROM numbers + WHERE + SUBSTRING(@output_column_list, number, 1) = '[' + ), + ordered_columns AS + ( + SELECT + x.column_name, + ROW_NUMBER() OVER + ( + PARTITION BY + x.column_name + ORDER BY + tokens.number, + x.default_order + ) AS r, + ROW_NUMBER() OVER + ( + ORDER BY + tokens.number, + x.default_order + ) AS s + FROM tokens + JOIN + ( + SELECT '[session_id]' AS column_name, 1 AS default_order + UNION ALL + SELECT '[dd hh:mm:ss.mss]', 2 + WHERE + @format_output IN (1, 2) + UNION ALL + SELECT '[dd hh:mm:ss.mss (avg)]', 3 + WHERE + @format_output IN (1, 2) + AND @get_avg_time = 1 + UNION ALL + SELECT '[avg_elapsed_time]', 4 + WHERE + @format_output = 0 + AND @get_avg_time = 1 + UNION ALL + SELECT '[physical_io]', 5 + WHERE + @get_task_info = 2 + UNION ALL + SELECT '[reads]', 6 + UNION ALL + SELECT '[physical_reads]', 7 + UNION ALL + SELECT '[writes]', 8 + UNION ALL + SELECT '[tempdb_allocations]', 9 + UNION ALL + SELECT '[tempdb_current]', 10 + UNION ALL + SELECT '[CPU]', 11 + UNION ALL + SELECT '[context_switches]', 12 + WHERE + @get_task_info = 2 + UNION ALL + SELECT '[used_memory]', 13 + UNION ALL + SELECT '[physical_io_delta]', 14 + WHERE + @delta_interval > 0 + AND @get_task_info = 2 + UNION ALL + SELECT '[reads_delta]', 15 + WHERE + @delta_interval > 0 + UNION ALL + SELECT '[physical_reads_delta]', 16 + WHERE + @delta_interval > 0 + UNION ALL + SELECT '[writes_delta]', 17 + WHERE + @delta_interval > 0 + UNION ALL + SELECT '[tempdb_allocations_delta]', 18 + WHERE + @delta_interval > 0 + UNION ALL + SELECT '[tempdb_current_delta]', 19 + WHERE + @delta_interval > 0 + UNION ALL + SELECT '[CPU_delta]', 20 + WHERE + @delta_interval > 0 + UNION ALL + SELECT '[context_switches_delta]', 21 + WHERE + @delta_interval > 0 + AND @get_task_info = 2 + UNION ALL + SELECT '[used_memory_delta]', 22 + WHERE + @delta_interval > 0 + UNION ALL + SELECT '[tasks]', 23 + WHERE + @get_task_info = 2 + UNION ALL + SELECT '[status]', 24 + UNION ALL + SELECT '[wait_info]', 25 + WHERE + @get_task_info > 0 + OR @find_block_leaders = 1 + UNION ALL + SELECT '[locks]', 26 + WHERE + @get_locks = 1 + UNION ALL + SELECT '[tran_start_time]', 27 + WHERE + @get_transaction_info = 1 + UNION ALL + SELECT '[tran_log_writes]', 28 + WHERE + @get_transaction_info = 1 + UNION ALL + SELECT '[open_tran_count]', 29 + UNION ALL + SELECT '[sql_command]', 30 + WHERE + @get_outer_command = 1 + UNION ALL + SELECT '[sql_text]', 31 + UNION ALL + SELECT '[query_plan]', 32 + WHERE + @get_plans >= 1 + UNION ALL + SELECT '[blocking_session_id]', 33 + WHERE + @get_task_info > 0 + OR @find_block_leaders = 1 + UNION ALL + SELECT '[blocked_session_count]', 34 + WHERE + @find_block_leaders = 1 + UNION ALL + SELECT '[percent_complete]', 35 + UNION ALL + SELECT '[host_name]', 36 + UNION ALL + SELECT '[login_name]', 37 + UNION ALL + SELECT '[database_name]', 38 + UNION ALL + SELECT '[program_name]', 39 + UNION ALL + SELECT '[additional_info]', 40 + WHERE + @get_additional_info = 1 + UNION ALL + SELECT '[start_time]', 41 + UNION ALL + SELECT '[login_time]', 42 + UNION ALL + SELECT '[request_id]', 43 + UNION ALL + SELECT '[collection_time]', 44 + ) AS x ON + x.column_name LIKE token ESCAPE '|' + ) + SELECT + @output_column_list = + STUFF + ( + ( + SELECT + ',' + column_name as [text()] + FROM ordered_columns + WHERE + r = 1 + ORDER BY + s + FOR XML + PATH('') + ), + 1, + 1, + '' + ); + IF COALESCE(RTRIM(@output_column_list), '') = '' + BEGIN; + RAISERROR('No valid column matches found in @output_column_list or no columns remain due to selected options.', 16, 1); + RETURN; + END; + IF @destination_table <> '' + BEGIN; + SET @destination_table = + --database + COALESCE(QUOTENAME(PARSENAME(@destination_table, 3)) + '.', '') + + --schema + COALESCE(QUOTENAME(PARSENAME(@destination_table, 2)) + '.', '') + + --table + COALESCE(QUOTENAME(PARSENAME(@destination_table, 1)), ''); + IF COALESCE(RTRIM(@destination_table), '') = '' + BEGIN; + RAISERROR('Destination table not properly formatted.', 16, 1); + RETURN; + END; + END; + WITH + a0 AS + (SELECT 1 AS n UNION ALL SELECT 1), + a1 AS + (SELECT 1 AS n FROM a0 AS a, a0 AS b), + a2 AS + (SELECT 1 AS n FROM a1 AS a, a1 AS b), + a3 AS + (SELECT 1 AS n FROM a2 AS a, a2 AS b), + a4 AS + (SELECT 1 AS n FROM a3 AS a, a3 AS b), + numbers AS + ( + SELECT TOP(LEN(@sort_order)) + ROW_NUMBER() OVER + ( + ORDER BY (SELECT NULL) + ) AS number + FROM a4 + ORDER BY + number + ), + tokens AS + ( + SELECT + '|[' + + SUBSTRING + ( + @sort_order, + number + 1, + CHARINDEX(']', @sort_order, number) - number - 1 + ) + '|]' AS token, + SUBSTRING + ( + @sort_order, + CHARINDEX(']', @sort_order, number) + 1, + COALESCE(NULLIF(CHARINDEX('[', @sort_order, CHARINDEX(']', @sort_order, number)), 0), LEN(@sort_order)) - CHARINDEX(']', @sort_order, number) + ) AS next_chunk, + number + FROM numbers + WHERE + SUBSTRING(@sort_order, number, 1) = '[' + ), + ordered_columns AS + ( + SELECT + x.column_name + + CASE + WHEN tokens.next_chunk LIKE '%asc%' THEN ' ASC' + WHEN tokens.next_chunk LIKE '%desc%' THEN ' DESC' + ELSE '' + END AS column_name, + ROW_NUMBER() OVER + ( + PARTITION BY + x.column_name + ORDER BY + tokens.number + ) AS r, + tokens.number + FROM tokens + JOIN + ( + SELECT '[session_id]' AS column_name + UNION ALL + SELECT '[physical_io]' + UNION ALL + SELECT '[reads]' + UNION ALL + SELECT '[physical_reads]' + UNION ALL + SELECT '[writes]' + UNION ALL + SELECT '[tempdb_allocations]' + UNION ALL + SELECT '[tempdb_current]' + UNION ALL + SELECT '[CPU]' + UNION ALL + SELECT '[context_switches]' + UNION ALL + SELECT '[used_memory]' + UNION ALL + SELECT '[physical_io_delta]' + UNION ALL + SELECT '[reads_delta]' + UNION ALL + SELECT '[physical_reads_delta]' + UNION ALL + SELECT '[writes_delta]' + UNION ALL + SELECT '[tempdb_allocations_delta]' + UNION ALL + SELECT '[tempdb_current_delta]' + UNION ALL + SELECT '[CPU_delta]' + UNION ALL + SELECT '[context_switches_delta]' + UNION ALL + SELECT '[used_memory_delta]' + UNION ALL + SELECT '[tasks]' + UNION ALL + SELECT '[tran_start_time]' + UNION ALL + SELECT '[open_tran_count]' + UNION ALL + SELECT '[blocking_session_id]' + UNION ALL + SELECT '[blocked_session_count]' + UNION ALL + SELECT '[percent_complete]' + UNION ALL + SELECT '[host_name]' + UNION ALL + SELECT '[login_name]' + UNION ALL + SELECT '[database_name]' + UNION ALL + SELECT '[start_time]' + UNION ALL + SELECT '[login_time]' + UNION ALL + SELECT '[program_name]' + ) AS x ON + x.column_name LIKE token ESCAPE '|' + ) + SELECT + @sort_order = COALESCE(z.sort_order, '') + FROM + ( + SELECT + STUFF + ( + ( + SELECT + ',' + column_name as [text()] + FROM ordered_columns + WHERE + r = 1 + ORDER BY + number + FOR XML + PATH('') + ), + 1, + 1, + '' + ) AS sort_order + ) AS z; + CREATE TABLE #sessions + ( + recursion SMALLINT NOT NULL, + session_id SMALLINT NOT NULL, + request_id INT NOT NULL, + session_number INT NOT NULL, + elapsed_time INT NOT NULL, + avg_elapsed_time INT NULL, + physical_io BIGINT NULL, + reads BIGINT NULL, + physical_reads BIGINT NULL, + writes BIGINT NULL, + tempdb_allocations BIGINT NULL, + tempdb_current BIGINT NULL, + CPU INT NULL, + thread_CPU_snapshot BIGINT NULL, + context_switches BIGINT NULL, + used_memory BIGINT NOT NULL, + tasks SMALLINT NULL, + status VARCHAR(30) NOT NULL, + wait_info NVARCHAR(4000) NULL, + locks XML NULL, + transaction_id BIGINT NULL, + tran_start_time DATETIME NULL, + tran_log_writes NVARCHAR(4000) NULL, + open_tran_count SMALLINT NULL, + sql_command XML NULL, + sql_handle VARBINARY(64) NULL, + statement_start_offset INT NULL, + statement_end_offset INT NULL, + sql_text XML NULL, + plan_handle VARBINARY(64) NULL, + query_plan XML NULL, + blocking_session_id SMALLINT NULL, + blocked_session_count SMALLINT NULL, + percent_complete REAL NULL, + host_name sysname NULL, + login_name sysname NOT NULL, + database_name sysname NULL, + program_name sysname NULL, + additional_info XML NULL, + start_time DATETIME NOT NULL, + login_time DATETIME NULL, + last_request_start_time DATETIME NULL, + PRIMARY KEY CLUSTERED (session_id, request_id, recursion) WITH (IGNORE_DUP_KEY = ON), + UNIQUE NONCLUSTERED (transaction_id, session_id, request_id, recursion) WITH (IGNORE_DUP_KEY = ON) + ); + IF @return_schema = 0 + BEGIN; + --Disable unnecessary autostats on the table + CREATE STATISTICS s_session_id ON #sessions (session_id) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_request_id ON #sessions (request_id) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_transaction_id ON #sessions (transaction_id) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_session_number ON #sessions (session_number) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_status ON #sessions (status) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_start_time ON #sessions (start_time) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_last_request_start_time ON #sessions (last_request_start_time) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_recursion ON #sessions (recursion) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + DECLARE @recursion SMALLINT; + SET @recursion = + CASE @delta_interval + WHEN 0 THEN 1 + ELSE -1 + END; + DECLARE @first_collection_ms_ticks BIGINT; + DECLARE @last_collection_start DATETIME; + DECLARE @sys_info BIT; + SET @sys_info = ISNULL(CONVERT(BIT, SIGN(OBJECT_ID('sys.dm_os_sys_info'))), 0); + --Used for the delta pull + REDO:; + IF + @get_locks = 1 + AND @recursion = 1 + AND @output_column_list LIKE '%|[locks|]%' ESCAPE '|' + BEGIN; + SELECT + y.resource_type, + y.database_name, + y.object_id, + y.file_id, + y.page_type, + y.hobt_id, + y.allocation_unit_id, + y.index_id, + y.schema_id, + y.principal_id, + y.request_mode, + y.request_status, + y.session_id, + y.resource_description, + y.request_count, + s.request_id, + s.start_time, + CONVERT(sysname, NULL) AS object_name, + CONVERT(sysname, NULL) AS index_name, + CONVERT(sysname, NULL) AS schema_name, + CONVERT(sysname, NULL) AS principal_name, + CONVERT(NVARCHAR(2048), NULL) AS query_error + INTO #locks + FROM + ( + SELECT + sp.spid AS session_id, + CASE sp.status + WHEN 'sleeping' THEN CONVERT(INT, 0) + ELSE sp.request_id + END AS request_id, + CASE sp.status + WHEN 'sleeping' THEN sp.last_batch + ELSE COALESCE(req.start_time, sp.last_batch) + END AS start_time, + sp.dbid + FROM sys.sysprocesses AS sp + OUTER APPLY + ( + SELECT TOP(1) + CASE + WHEN + ( + sp.hostprocess > '' + OR r.total_elapsed_time < 0 + ) THEN + r.start_time + ELSE + DATEADD + ( + ms, + 1000 * (DATEPART(ms, DATEADD(second, -(r.total_elapsed_time / 1000), GETDATE())) / 500) - DATEPART(ms, DATEADD(second, -(r.total_elapsed_time / 1000), GETDATE())), + DATEADD(second, -(r.total_elapsed_time / 1000), GETDATE()) + ) + END AS start_time + FROM sys.dm_exec_requests AS r + WHERE + r.session_id = sp.spid + AND r.request_id = sp.request_id + ) AS req + WHERE + --Process inclusive filter + 1 = + CASE + WHEN @filter <> '' THEN + CASE @filter_type + WHEN 'session' THEN + CASE + WHEN + CONVERT(SMALLINT, @filter) = 0 + OR sp.spid = CONVERT(SMALLINT, @filter) + THEN 1 + ELSE 0 + END + WHEN 'program' THEN + CASE + WHEN sp.program_name LIKE @filter THEN 1 + ELSE 0 + END + WHEN 'login' THEN + CASE + WHEN sp.loginame LIKE @filter THEN 1 + ELSE 0 + END + WHEN 'host' THEN + CASE + WHEN sp.hostname LIKE @filter THEN 1 + ELSE 0 + END + WHEN 'database' THEN + CASE + WHEN DB_NAME(sp.dbid) LIKE @filter THEN 1 + ELSE 0 + END + ELSE 0 + END + ELSE 1 + END + --Process exclusive filter + AND 0 = + CASE + WHEN @not_filter <> '' THEN + CASE @not_filter_type + WHEN 'session' THEN + CASE + WHEN sp.spid = CONVERT(SMALLINT, @not_filter) THEN 1 + ELSE 0 + END + WHEN 'program' THEN + CASE + WHEN sp.program_name LIKE @not_filter THEN 1 + ELSE 0 + END + WHEN 'login' THEN + CASE + WHEN sp.loginame LIKE @not_filter THEN 1 + ELSE 0 + END + WHEN 'host' THEN + CASE + WHEN sp.hostname LIKE @not_filter THEN 1 + ELSE 0 + END + WHEN 'database' THEN + CASE + WHEN DB_NAME(sp.dbid) LIKE @not_filter THEN 1 + ELSE 0 + END + ELSE 0 + END + ELSE 0 + END + AND + ( + @show_own_spid = 1 + OR sp.spid <> @@SPID + ) + AND + ( + @show_system_spids = 1 + OR sp.hostprocess > '' + ) + AND sp.ecid = 0 + ) AS s + INNER HASH JOIN + ( + SELECT + x.resource_type, + x.database_name, + x.object_id, + x.file_id, + CASE + WHEN x.page_no = 1 OR x.page_no % 8088 = 0 THEN 'PFS' + WHEN x.page_no = 2 OR x.page_no % 511232 = 0 THEN 'GAM' + WHEN x.page_no = 3 OR (x.page_no - 1) % 511232 = 0 THEN 'SGAM' + WHEN x.page_no = 6 OR (x.page_no - 6) % 511232 = 0 THEN 'DCM' + WHEN x.page_no = 7 OR (x.page_no - 7) % 511232 = 0 THEN 'BCM' + WHEN x.page_no IS NOT NULL THEN '*' + ELSE NULL + END AS page_type, + x.hobt_id, + x.allocation_unit_id, + x.index_id, + x.schema_id, + x.principal_id, + x.request_mode, + x.request_status, + x.session_id, + x.request_id, + CASE + WHEN COALESCE(x.object_id, x.file_id, x.hobt_id, x.allocation_unit_id, x.index_id, x.schema_id, x.principal_id) IS NULL THEN NULLIF(resource_description, '') + ELSE NULL + END AS resource_description, + COUNT(*) AS request_count + FROM + ( + SELECT + tl.resource_type + + CASE + WHEN tl.resource_subtype = '' THEN '' + ELSE '.' + tl.resource_subtype + END AS resource_type, + COALESCE(DB_NAME(tl.resource_database_id), N'(null)') AS database_name, + CONVERT + ( + INT, + CASE + WHEN tl.resource_type = 'OBJECT' THEN tl.resource_associated_entity_id + WHEN tl.resource_description LIKE '%object_id = %' THEN + ( + SUBSTRING + ( + tl.resource_description, + (CHARINDEX('object_id = ', tl.resource_description) + 12), + COALESCE + ( + NULLIF + ( + CHARINDEX(',', tl.resource_description, CHARINDEX('object_id = ', tl.resource_description) + 12), + 0 + ), + DATALENGTH(tl.resource_description)+1 + ) - (CHARINDEX('object_id = ', tl.resource_description) + 12) + ) + ) + ELSE NULL + END + ) AS object_id, + CONVERT + ( + INT, + CASE + WHEN tl.resource_type = 'FILE' THEN CONVERT(INT, tl.resource_description) + WHEN tl.resource_type IN ('PAGE', 'EXTENT', 'RID') THEN LEFT(tl.resource_description, CHARINDEX(':', tl.resource_description)-1) + ELSE NULL + END + ) AS file_id, + CONVERT + ( + INT, + CASE + WHEN tl.resource_type IN ('PAGE', 'EXTENT', 'RID') THEN + SUBSTRING + ( + tl.resource_description, + CHARINDEX(':', tl.resource_description) + 1, + COALESCE + ( + NULLIF + ( + CHARINDEX(':', tl.resource_description, CHARINDEX(':', tl.resource_description) + 1), + 0 + ), + DATALENGTH(tl.resource_description)+1 + ) - (CHARINDEX(':', tl.resource_description) + 1) + ) + ELSE NULL + END + ) AS page_no, + CASE + WHEN tl.resource_type IN ('PAGE', 'KEY', 'RID', 'HOBT') THEN tl.resource_associated_entity_id + ELSE NULL + END AS hobt_id, + CASE + WHEN tl.resource_type = 'ALLOCATION_UNIT' THEN tl.resource_associated_entity_id + ELSE NULL + END AS allocation_unit_id, + CONVERT + ( + INT, + CASE + WHEN + /*TODO: Deal with server principals*/ + tl.resource_subtype <> 'SERVER_PRINCIPAL' + AND tl.resource_description LIKE '%index_id or stats_id = %' THEN + ( + SUBSTRING + ( + tl.resource_description, + (CHARINDEX('index_id or stats_id = ', tl.resource_description) + 23), + COALESCE + ( + NULLIF + ( + CHARINDEX(',', tl.resource_description, CHARINDEX('index_id or stats_id = ', tl.resource_description) + 23), + 0 + ), + DATALENGTH(tl.resource_description)+1 + ) - (CHARINDEX('index_id or stats_id = ', tl.resource_description) + 23) + ) + ) + ELSE NULL + END + ) AS index_id, + CONVERT + ( + INT, + CASE + WHEN tl.resource_description LIKE '%schema_id = %' THEN + ( + SUBSTRING + ( + tl.resource_description, + (CHARINDEX('schema_id = ', tl.resource_description) + 12), + COALESCE + ( + NULLIF + ( + CHARINDEX(',', tl.resource_description, CHARINDEX('schema_id = ', tl.resource_description) + 12), + 0 + ), + DATALENGTH(tl.resource_description)+1 + ) - (CHARINDEX('schema_id = ', tl.resource_description) + 12) + ) + ) + ELSE NULL + END + ) AS schema_id, + CONVERT + ( + INT, + CASE + WHEN tl.resource_description LIKE '%principal_id = %' THEN + ( + SUBSTRING + ( + tl.resource_description, + (CHARINDEX('principal_id = ', tl.resource_description) + 15), + COALESCE + ( + NULLIF + ( + CHARINDEX(',', tl.resource_description, CHARINDEX('principal_id = ', tl.resource_description) + 15), + 0 + ), + DATALENGTH(tl.resource_description)+1 + ) - (CHARINDEX('principal_id = ', tl.resource_description) + 15) + ) + ) + ELSE NULL + END + ) AS principal_id, + tl.request_mode, + tl.request_status, + tl.request_session_id AS session_id, + tl.request_request_id AS request_id, + /*TODO: Applocks, other resource_descriptions*/ + RTRIM(tl.resource_description) AS resource_description, + tl.resource_associated_entity_id + /*********************************************/ + FROM + ( + SELECT + request_session_id, + CONVERT(VARCHAR(120), resource_type) COLLATE Latin1_General_Bin2 AS resource_type, + CONVERT(VARCHAR(120), resource_subtype) COLLATE Latin1_General_Bin2 AS resource_subtype, + resource_database_id, + CONVERT(VARCHAR(512), resource_description) COLLATE Latin1_General_Bin2 AS resource_description, + resource_associated_entity_id, + CONVERT(VARCHAR(120), request_mode) COLLATE Latin1_General_Bin2 AS request_mode, + CONVERT(VARCHAR(120), request_status) COLLATE Latin1_General_Bin2 AS request_status, + request_request_id + FROM sys.dm_tran_locks + ) AS tl + ) AS x + GROUP BY + x.resource_type, + x.database_name, + x.object_id, + x.file_id, + CASE + WHEN x.page_no = 1 OR x.page_no % 8088 = 0 THEN 'PFS' + WHEN x.page_no = 2 OR x.page_no % 511232 = 0 THEN 'GAM' + WHEN x.page_no = 3 OR (x.page_no - 1) % 511232 = 0 THEN 'SGAM' + WHEN x.page_no = 6 OR (x.page_no - 6) % 511232 = 0 THEN 'DCM' + WHEN x.page_no = 7 OR (x.page_no - 7) % 511232 = 0 THEN 'BCM' + WHEN x.page_no IS NOT NULL THEN '*' + ELSE NULL + END, + x.hobt_id, + x.allocation_unit_id, + x.index_id, + x.schema_id, + x.principal_id, + x.request_mode, + x.request_status, + x.session_id, + x.request_id, + CASE + WHEN COALESCE(x.object_id, x.file_id, x.hobt_id, x.allocation_unit_id, x.index_id, x.schema_id, x.principal_id) IS NULL THEN NULLIF(resource_description, '') + ELSE NULL + END + ) AS y ON + y.session_id = s.session_id + AND y.request_id = s.request_id + OPTION (HASH GROUP); + --Disable unnecessary autostats on the table + CREATE STATISTICS s_database_name ON #locks (database_name) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_object_id ON #locks (object_id) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_hobt_id ON #locks (hobt_id) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_allocation_unit_id ON #locks (allocation_unit_id) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_index_id ON #locks (index_id) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_schema_id ON #locks (schema_id) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_principal_id ON #locks (principal_id) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_request_id ON #locks (request_id) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_start_time ON #locks (start_time) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_resource_type ON #locks (resource_type) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_object_name ON #locks (object_name) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_schema_name ON #locks (schema_name) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_page_type ON #locks (page_type) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_request_mode ON #locks (request_mode) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_request_status ON #locks (request_status) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_resource_description ON #locks (resource_description) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_index_name ON #locks (index_name) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_principal_name ON #locks (principal_name) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + END; + DECLARE + @sql VARCHAR(MAX), + @sql_n NVARCHAR(MAX); + SET @sql = + CONVERT(VARCHAR(MAX), '') + + 'DECLARE @blocker BIT; + SET @blocker = 0; + DECLARE @i INT; + SET @i = 2147483647; + DECLARE @sessions TABLE + ( + session_id SMALLINT NOT NULL, + request_id INT NOT NULL, + login_time DATETIME, + last_request_end_time DATETIME, + status VARCHAR(30), + statement_start_offset INT, + statement_end_offset INT, + sql_handle BINARY(20), + host_name NVARCHAR(128), + login_name NVARCHAR(128), + program_name NVARCHAR(128), + database_id SMALLINT, + memory_usage INT, + open_tran_count SMALLINT, + ' + + CASE + WHEN + ( + @get_task_info <> 0 + OR @find_block_leaders = 1 + ) THEN + 'wait_type NVARCHAR(32), + wait_resource NVARCHAR(256), + wait_time BIGINT, + ' + ELSE + '' + END + + 'blocked SMALLINT, + is_user_process BIT, + cmd VARCHAR(32), + PRIMARY KEY CLUSTERED (session_id, request_id) WITH (IGNORE_DUP_KEY = ON) + ); + DECLARE @blockers TABLE + ( + session_id INT NOT NULL PRIMARY KEY WITH (IGNORE_DUP_KEY = ON) + ); + BLOCKERS:; + INSERT @sessions + ( + session_id, + request_id, + login_time, + last_request_end_time, + status, + statement_start_offset, + statement_end_offset, + sql_handle, + host_name, + login_name, + program_name, + database_id, + memory_usage, + open_tran_count, + ' + + CASE + WHEN + ( + @get_task_info <> 0 + OR @find_block_leaders = 1 + ) THEN + 'wait_type, + wait_resource, + wait_time, + ' + ELSE + '' + END + + 'blocked, + is_user_process, + cmd + ) + SELECT TOP(@i) + spy.session_id, + spy.request_id, + spy.login_time, + spy.last_request_end_time, + spy.status, + spy.statement_start_offset, + spy.statement_end_offset, + spy.sql_handle, + spy.host_name, + spy.login_name, + spy.program_name, + spy.database_id, + spy.memory_usage, + spy.open_tran_count, + ' + + CASE + WHEN + ( + @get_task_info <> 0 + OR @find_block_leaders = 1 + ) THEN + 'spy.wait_type, + CASE + WHEN + spy.wait_type LIKE N''PAGE%LATCH_%'' + OR spy.wait_type = N''CXPACKET'' + OR spy.wait_type LIKE N''LATCH[_]%'' + OR spy.wait_type = N''OLEDB'' THEN + spy.wait_resource + ELSE + NULL + END AS wait_resource, + spy.wait_time, + ' + ELSE + '' + END + + 'spy.blocked, + spy.is_user_process, + spy.cmd + FROM + ( + SELECT TOP(@i) + spx.*, + ' + + CASE + WHEN + ( + @get_task_info <> 0 + OR @find_block_leaders = 1 + ) THEN + 'ROW_NUMBER() OVER + ( + PARTITION BY + spx.session_id, + spx.request_id + ORDER BY + CASE + WHEN spx.wait_type LIKE N''LCK[_]%'' THEN + 1 + ELSE + 99 + END, + spx.wait_time DESC, + spx.blocked DESC + ) AS r + ' + ELSE + '1 AS r + ' + END + + 'FROM + ( + SELECT TOP(@i) + sp0.session_id, + sp0.request_id, + sp0.login_time, + sp0.last_request_end_time, + LOWER(sp0.status) AS status, + CASE + WHEN sp0.cmd = ''CREATE INDEX'' THEN + 0 + ELSE + sp0.stmt_start + END AS statement_start_offset, + CASE + WHEN sp0.cmd = N''CREATE INDEX'' THEN + -1 + ELSE + COALESCE(NULLIF(sp0.stmt_end, 0), -1) + END AS statement_end_offset, + sp0.sql_handle, + sp0.host_name, + sp0.login_name, + sp0.program_name, + sp0.database_id, + sp0.memory_usage, + sp0.open_tran_count, + ' + + CASE + WHEN + ( + @get_task_info <> 0 + OR @find_block_leaders = 1 + ) THEN + 'CASE + WHEN sp0.wait_time > 0 AND sp0.wait_type <> N''CXPACKET'' THEN + sp0.wait_type + ELSE + NULL + END AS wait_type, + CASE + WHEN sp0.wait_time > 0 AND sp0.wait_type <> N''CXPACKET'' THEN + sp0.wait_resource + ELSE + NULL + END AS wait_resource, + CASE + WHEN sp0.wait_type <> N''CXPACKET'' THEN + sp0.wait_time + ELSE + 0 + END AS wait_time, + ' + ELSE + '' + END + + 'sp0.blocked, + sp0.is_user_process, + sp0.cmd + FROM + ( + SELECT TOP(@i) + sp1.session_id, + sp1.request_id, + sp1.login_time, + sp1.last_request_end_time, + sp1.status, + sp1.cmd, + sp1.stmt_start, + sp1.stmt_end, + MAX(NULLIF(sp1.sql_handle, 0x00)) OVER (PARTITION BY sp1.session_id, sp1.request_id) AS sql_handle, + sp1.host_name, + MAX(sp1.login_name) OVER (PARTITION BY sp1.session_id, sp1.request_id) AS login_name, + sp1.program_name, + sp1.database_id, + MAX(sp1.memory_usage) OVER (PARTITION BY sp1.session_id, sp1.request_id) AS memory_usage, + MAX(sp1.open_tran_count) OVER (PARTITION BY sp1.session_id, sp1.request_id) AS open_tran_count, + sp1.wait_type, + sp1.wait_resource, + sp1.wait_time, + sp1.blocked, + sp1.hostprocess, + sp1.is_user_process + FROM + ( + SELECT TOP(@i) + sp2.spid AS session_id, + CASE sp2.status + WHEN ''sleeping'' THEN + CONVERT(INT, 0) + ELSE + sp2.request_id + END AS request_id, + MAX(sp2.login_time) AS login_time, + MAX(sp2.last_batch) AS last_request_end_time, + MAX(CONVERT(VARCHAR(30), RTRIM(sp2.status)) COLLATE Latin1_General_Bin2) AS status, + MAX(CONVERT(VARCHAR(32), RTRIM(sp2.cmd)) COLLATE Latin1_General_Bin2) AS cmd, + MAX(sp2.stmt_start) AS stmt_start, + MAX(sp2.stmt_end) AS stmt_end, + MAX(sp2.sql_handle) AS sql_handle, + MAX(CONVERT(sysname, RTRIM(sp2.hostname)) COLLATE SQL_Latin1_General_CP1_CI_AS) AS host_name, + MAX(CONVERT(sysname, RTRIM(sp2.loginame)) COLLATE SQL_Latin1_General_CP1_CI_AS) AS login_name, + MAX + ( + CASE + WHEN blk.queue_id IS NOT NULL THEN + N''Service Broker + database_id: '' + CONVERT(NVARCHAR, blk.database_id) + + N'' queue_id: '' + CONVERT(NVARCHAR, blk.queue_id) + ELSE + CONVERT + ( + sysname, + RTRIM(sp2.program_name) + ) + END COLLATE SQL_Latin1_General_CP1_CI_AS + ) AS program_name, + MAX(sp2.dbid) AS database_id, + MAX(sp2.memusage) AS memory_usage, + MAX(sp2.open_tran) AS open_tran_count, + RTRIM(sp2.lastwaittype) AS wait_type, + RTRIM(sp2.waitresource) AS wait_resource, + MAX(sp2.waittime) AS wait_time, + COALESCE(NULLIF(sp2.blocked, sp2.spid), 0) AS blocked, + MAX + ( + CASE + WHEN blk.session_id = sp2.spid THEN + ''blocker'' + ELSE + RTRIM(sp2.hostprocess) + END + ) AS hostprocess, + CONVERT + ( + BIT, + MAX + ( + CASE + WHEN sp2.hostprocess > '''' THEN + 1 + ELSE + 0 + END + ) + ) AS is_user_process + FROM + ( + SELECT TOP(@i) + session_id, + CONVERT(INT, NULL) AS queue_id, + CONVERT(INT, NULL) AS database_id + FROM @blockers + UNION ALL + SELECT TOP(@i) + CONVERT(SMALLINT, 0), + CONVERT(INT, NULL) AS queue_id, + CONVERT(INT, NULL) AS database_id + WHERE + @blocker = 0 + UNION ALL + SELECT TOP(@i) + CONVERT(SMALLINT, spid), + queue_id, + database_id + FROM sys.dm_broker_activated_tasks + WHERE + @blocker = 0 + ) AS blk + INNER JOIN sys.sysprocesses AS sp2 ON + sp2.spid = blk.session_id + OR + ( + blk.session_id = 0 + AND @blocker = 0 + ) + ' + + CASE + WHEN + ( + @get_task_info = 0 + AND @find_block_leaders = 0 + ) THEN + 'WHERE + sp2.ecid = 0 + ' + ELSE + '' + END + + 'GROUP BY + sp2.spid, + CASE sp2.status + WHEN ''sleeping'' THEN + CONVERT(INT, 0) + ELSE + sp2.request_id + END, + RTRIM(sp2.lastwaittype), + RTRIM(sp2.waitresource), + COALESCE(NULLIF(sp2.blocked, sp2.spid), 0) + ) AS sp1 + ) AS sp0 + WHERE + @blocker = 1 + OR + (1=1 + ' + + --inclusive filter + CASE + WHEN @filter <> '' THEN + CASE @filter_type + WHEN 'session' THEN + CASE + WHEN CONVERT(SMALLINT, @filter) <> 0 THEN + 'AND sp0.session_id = CONVERT(SMALLINT, @filter) + ' + ELSE + '' + END + WHEN 'program' THEN + 'AND sp0.program_name LIKE @filter + ' + WHEN 'login' THEN + 'AND sp0.login_name LIKE @filter + ' + WHEN 'host' THEN + 'AND sp0.host_name LIKE @filter + ' + WHEN 'database' THEN + 'AND DB_NAME(sp0.database_id) LIKE @filter + ' + ELSE + '' + END + ELSE + '' + END + + --exclusive filter + CASE + WHEN @not_filter <> '' THEN + CASE @not_filter_type + WHEN 'session' THEN + CASE + WHEN CONVERT(SMALLINT, @not_filter) <> 0 THEN + 'AND sp0.session_id <> CONVERT(SMALLINT, @not_filter) + ' + ELSE + '' + END + WHEN 'program' THEN + 'AND sp0.program_name NOT LIKE @not_filter + ' + WHEN 'login' THEN + 'AND sp0.login_name NOT LIKE @not_filter + ' + WHEN 'host' THEN + 'AND sp0.host_name NOT LIKE @not_filter + ' + WHEN 'database' THEN + 'AND DB_NAME(sp0.database_id) NOT LIKE @not_filter + ' + ELSE + '' + END + ELSE + '' + END + + CASE @show_own_spid + WHEN 1 THEN + '' + ELSE + 'AND sp0.session_id <> @@spid + ' + END + + CASE + WHEN @show_system_spids = 0 THEN + 'AND sp0.hostprocess > '''' + ' + ELSE + '' + END + + CASE @show_sleeping_spids + WHEN 0 THEN + 'AND sp0.status <> ''sleeping'' + ' + WHEN 1 THEN + 'AND + ( + sp0.status <> ''sleeping'' + OR sp0.open_tran_count > 0 + ) + ' + ELSE + '' + END + + ') + ) AS spx + ) AS spy + WHERE + spy.r = 1; + ' + + CASE @recursion + WHEN 1 THEN + 'IF @@ROWCOUNT > 0 + BEGIN; + INSERT @blockers + ( + session_id + ) + SELECT TOP(@i) + blocked + FROM @sessions + WHERE + NULLIF(blocked, 0) IS NOT NULL + EXCEPT + SELECT TOP(@i) + session_id + FROM @sessions; + ' + + CASE + WHEN + ( + @get_task_info > 0 + OR @find_block_leaders = 1 + ) THEN + 'IF @@ROWCOUNT > 0 + BEGIN; + SET @blocker = 1; + GOTO BLOCKERS; + END; + ' + ELSE + '' + END + + 'END; + ' + ELSE + '' + END + + 'SELECT TOP(@i) + @recursion AS recursion, + x.session_id, + x.request_id, + DENSE_RANK() OVER + ( + ORDER BY + x.session_id + ) AS session_number, + ' + + CASE + WHEN @output_column_list LIKE '%|[dd hh:mm:ss.mss|]%' ESCAPE '|' THEN + 'x.elapsed_time ' + ELSE + '0 ' + END + + 'AS elapsed_time, + ' + + CASE + WHEN + ( + @output_column_list LIKE '%|[dd hh:mm:ss.mss (avg)|]%' ESCAPE '|' OR + @output_column_list LIKE '%|[avg_elapsed_time|]%' ESCAPE '|' + ) + AND @recursion = 1 + THEN + 'x.avg_elapsed_time / 1000 ' + ELSE + 'NULL ' + END + + 'AS avg_elapsed_time, + ' + + CASE + WHEN + @output_column_list LIKE '%|[physical_io|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[physical_io_delta|]%' ESCAPE '|' + THEN + 'x.physical_io ' + ELSE + 'NULL ' + END + + 'AS physical_io, + ' + + CASE + WHEN + @output_column_list LIKE '%|[reads|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[reads_delta|]%' ESCAPE '|' + THEN + 'x.reads ' + ELSE + '0 ' + END + + 'AS reads, + ' + + CASE + WHEN + @output_column_list LIKE '%|[physical_reads|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[physical_reads_delta|]%' ESCAPE '|' + THEN + 'x.physical_reads ' + ELSE + '0 ' + END + + 'AS physical_reads, + ' + + CASE + WHEN + @output_column_list LIKE '%|[writes|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[writes_delta|]%' ESCAPE '|' + THEN + 'x.writes ' + ELSE + '0 ' + END + + 'AS writes, + ' + + CASE + WHEN + @output_column_list LIKE '%|[tempdb_allocations|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[tempdb_allocations_delta|]%' ESCAPE '|' + THEN + 'x.tempdb_allocations ' + ELSE + '0 ' + END + + 'AS tempdb_allocations, + ' + + CASE + WHEN + @output_column_list LIKE '%|[tempdb_current|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[tempdb_current_delta|]%' ESCAPE '|' + THEN + 'x.tempdb_current ' + ELSE + '0 ' + END + + 'AS tempdb_current, + ' + + CASE + WHEN + @output_column_list LIKE '%|[CPU|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[CPU_delta|]%' ESCAPE '|' + THEN + 'x.CPU ' + ELSE + '0 ' + END + + 'AS CPU, + ' + + CASE + WHEN + @output_column_list LIKE '%|[CPU_delta|]%' ESCAPE '|' + AND @get_task_info = 2 + AND @sys_info = 1 + THEN + 'x.thread_CPU_snapshot ' + ELSE + '0 ' + END + + 'AS thread_CPU_snapshot, + ' + + CASE + WHEN + @output_column_list LIKE '%|[context_switches|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[context_switches_delta|]%' ESCAPE '|' + THEN + 'x.context_switches ' + ELSE + 'NULL ' + END + + 'AS context_switches, + ' + + CASE + WHEN + @output_column_list LIKE '%|[used_memory|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[used_memory_delta|]%' ESCAPE '|' + THEN + 'x.used_memory ' + ELSE + '0 ' + END + + 'AS used_memory, + ' + + CASE + WHEN + @output_column_list LIKE '%|[tasks|]%' ESCAPE '|' + AND @recursion = 1 + THEN + 'x.tasks ' + ELSE + 'NULL ' + END + + 'AS tasks, + ' + + CASE + WHEN + ( + @output_column_list LIKE '%|[status|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[sql_command|]%' ESCAPE '|' + ) + AND @recursion = 1 + THEN + 'x.status ' + ELSE + ''''' ' + END + + 'AS status, + ' + + CASE + WHEN + @output_column_list LIKE '%|[wait_info|]%' ESCAPE '|' + AND @recursion = 1 + THEN + CASE @get_task_info + WHEN 2 THEN + 'COALESCE(x.task_wait_info, x.sys_wait_info) ' + ELSE + 'x.sys_wait_info ' + END + ELSE + 'NULL ' + END + + 'AS wait_info, + ' + + CASE + WHEN + ( + @output_column_list LIKE '%|[tran_start_time|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[tran_log_writes|]%' ESCAPE '|' + ) + AND @recursion = 1 + THEN + 'x.transaction_id ' + ELSE + 'NULL ' + END + + 'AS transaction_id, + ' + + CASE + WHEN + @output_column_list LIKE '%|[open_tran_count|]%' ESCAPE '|' + AND @recursion = 1 + THEN + 'x.open_tran_count ' + ELSE + 'NULL ' + END + + 'AS open_tran_count, + ' + + CASE + WHEN + @output_column_list LIKE '%|[sql_text|]%' ESCAPE '|' + AND @recursion = 1 + THEN + 'x.sql_handle ' + ELSE + 'NULL ' + END + + 'AS sql_handle, + ' + + CASE + WHEN + ( + @output_column_list LIKE '%|[sql_text|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[query_plan|]%' ESCAPE '|' + ) + AND @recursion = 1 + THEN + 'x.statement_start_offset ' + ELSE + 'NULL ' + END + + 'AS statement_start_offset, + ' + + CASE + WHEN + ( + @output_column_list LIKE '%|[sql_text|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[query_plan|]%' ESCAPE '|' + ) + AND @recursion = 1 + THEN + 'x.statement_end_offset ' + ELSE + 'NULL ' + END + + 'AS statement_end_offset, + ' + + 'NULL AS sql_text, + ' + + CASE + WHEN + @output_column_list LIKE '%|[query_plan|]%' ESCAPE '|' + AND @recursion = 1 + THEN + 'x.plan_handle ' + ELSE + 'NULL ' + END + + 'AS plan_handle, + ' + + CASE + WHEN + @output_column_list LIKE '%|[blocking_session_id|]%' ESCAPE '|' + AND @recursion = 1 + THEN + 'NULLIF(x.blocking_session_id, 0) ' + ELSE + 'NULL ' + END + + 'AS blocking_session_id, + ' + + CASE + WHEN + @output_column_list LIKE '%|[percent_complete|]%' ESCAPE '|' + AND @recursion = 1 + THEN + 'x.percent_complete ' + ELSE + 'NULL ' + END + + 'AS percent_complete, + ' + + CASE + WHEN + @output_column_list LIKE '%|[host_name|]%' ESCAPE '|' + AND @recursion = 1 + THEN + 'x.host_name ' + ELSE + ''''' ' + END + + 'AS host_name, + ' + + CASE + WHEN + @output_column_list LIKE '%|[login_name|]%' ESCAPE '|' + AND @recursion = 1 + THEN + 'x.login_name ' + ELSE + ''''' ' + END + + 'AS login_name, + ' + + CASE + WHEN + @output_column_list LIKE '%|[database_name|]%' ESCAPE '|' + AND @recursion = 1 + THEN + 'DB_NAME(x.database_id) ' + ELSE + 'NULL ' + END + + 'AS database_name, + ' + + CASE + WHEN + @output_column_list LIKE '%|[program_name|]%' ESCAPE '|' + AND @recursion = 1 + THEN + 'x.program_name ' + ELSE + ''''' ' + END + + 'AS program_name, + ' + + CASE + WHEN + @output_column_list LIKE '%|[additional_info|]%' ESCAPE '|' + AND @recursion = 1 + THEN + '( + SELECT TOP(@i) + x.text_size, + x.language, + x.date_format, + x.date_first, + CASE x.quoted_identifier + WHEN 0 THEN ''OFF'' + WHEN 1 THEN ''ON'' + END AS quoted_identifier, + CASE x.arithabort + WHEN 0 THEN ''OFF'' + WHEN 1 THEN ''ON'' + END AS arithabort, + CASE x.ansi_null_dflt_on + WHEN 0 THEN ''OFF'' + WHEN 1 THEN ''ON'' + END AS ansi_null_dflt_on, + CASE x.ansi_defaults + WHEN 0 THEN ''OFF'' + WHEN 1 THEN ''ON'' + END AS ansi_defaults, + CASE x.ansi_warnings + WHEN 0 THEN ''OFF'' + WHEN 1 THEN ''ON'' + END AS ansi_warnings, + CASE x.ansi_padding + WHEN 0 THEN ''OFF'' + WHEN 1 THEN ''ON'' + END AS ansi_padding, + CASE ansi_nulls + WHEN 0 THEN ''OFF'' + WHEN 1 THEN ''ON'' + END AS ansi_nulls, + CASE x.concat_null_yields_null + WHEN 0 THEN ''OFF'' + WHEN 1 THEN ''ON'' + END AS concat_null_yields_null, + CASE x.transaction_isolation_level + WHEN 0 THEN ''Unspecified'' + WHEN 1 THEN ''ReadUncomitted'' + WHEN 2 THEN ''ReadCommitted'' + WHEN 3 THEN ''Repeatable'' + WHEN 4 THEN ''Serializable'' + WHEN 5 THEN ''Snapshot'' + END AS transaction_isolation_level, + x.lock_timeout, + x.deadlock_priority, + x.row_count, + x.command_type, + ' + + CASE + WHEN OBJECT_ID('master.dbo.fn_varbintohexstr') IS NOT NULL THEN + 'master.dbo.fn_varbintohexstr(x.sql_handle) AS sql_handle, + master.dbo.fn_varbintohexstr(x.plan_handle) AS plan_handle,' + ELSE + 'CONVERT(VARCHAR(256), x.sql_handle, 1) AS sql_handle, + CONVERT(VARCHAR(256), x.plan_handle, 1) AS plan_handle,' + END + + ' + x.statement_start_offset, + x.statement_end_offset, + ' + + CASE + WHEN @output_column_list LIKE '%|[program_name|]%' ESCAPE '|' THEN + '( + SELECT TOP(1) + CONVERT(uniqueidentifier, CONVERT(XML, '''').value(''xs:hexBinary( substring(sql:column("agent_info.job_id_string"), 0) )'', ''binary(16)'')) AS job_id, + agent_info.step_id, + ( + SELECT TOP(1) + NULL + FOR XML + PATH(''job_name''), + TYPE + ), + ( + SELECT TOP(1) + NULL + FOR XML + PATH(''step_name''), + TYPE + ) + FROM + ( + SELECT TOP(1) + SUBSTRING(x.program_name, CHARINDEX(''0x'', x.program_name) + 2, 32) AS job_id_string, + SUBSTRING(x.program_name, CHARINDEX('': Step '', x.program_name) + 7, CHARINDEX('')'', x.program_name, CHARINDEX('': Step '', x.program_name)) - (CHARINDEX('': Step '', x.program_name) + 7)) AS step_id + WHERE + x.program_name LIKE N''SQLAgent - TSQL JobStep (Job 0x%'' + ) AS agent_info + FOR XML + PATH(''agent_job_info''), + TYPE + ), + ' + ELSE '' + END + + CASE + WHEN @get_task_info = 2 THEN + 'CONVERT(XML, x.block_info) AS block_info, + ' + ELSE + '' + END + ' + x.host_process_id, + x.group_id + FOR XML + PATH(''additional_info''), + TYPE + ) ' + ELSE + 'NULL ' + END + + 'AS additional_info, + x.start_time, + ' + + CASE + WHEN + @output_column_list LIKE '%|[login_time|]%' ESCAPE '|' + AND @recursion = 1 + THEN + 'x.login_time ' + ELSE + 'NULL ' + END + + 'AS login_time, + x.last_request_start_time + FROM + ( + SELECT TOP(@i) + y.*, + CASE + WHEN DATEDIFF(hour, y.start_time, GETDATE()) > 576 THEN + DATEDIFF(second, GETDATE(), y.start_time) + ELSE DATEDIFF(ms, y.start_time, GETDATE()) + END AS elapsed_time, + COALESCE(tempdb_info.tempdb_allocations, 0) AS tempdb_allocations, + COALESCE + ( + CASE + WHEN tempdb_info.tempdb_current < 0 THEN 0 + ELSE tempdb_info.tempdb_current + END, + 0 + ) AS tempdb_current, + ' + + CASE + WHEN + ( + @get_task_info <> 0 + OR @find_block_leaders = 1 + ) THEN + 'N''('' + CONVERT(NVARCHAR, y.wait_duration_ms) + N''ms)'' + + y.wait_type + + CASE + WHEN y.wait_type LIKE N''PAGE%LATCH_%'' THEN + N'':'' + + COALESCE(DB_NAME(CONVERT(INT, LEFT(y.resource_description, CHARINDEX(N'':'', y.resource_description) - 1))), N''(null)'') + + N'':'' + + SUBSTRING(y.resource_description, CHARINDEX(N'':'', y.resource_description) + 1, LEN(y.resource_description) - CHARINDEX(N'':'', REVERSE(y.resource_description)) - CHARINDEX(N'':'', y.resource_description)) + + N''('' + + CASE + WHEN + CONVERT(INT, RIGHT(y.resource_description, CHARINDEX(N'':'', REVERSE(y.resource_description)) - 1)) = 1 OR + CONVERT(INT, RIGHT(y.resource_description, CHARINDEX(N'':'', REVERSE(y.resource_description)) - 1)) % 8088 = 0 + THEN + N''PFS'' + WHEN + CONVERT(INT, RIGHT(y.resource_description, CHARINDEX(N'':'', REVERSE(y.resource_description)) - 1)) = 2 OR + CONVERT(INT, RIGHT(y.resource_description, CHARINDEX(N'':'', REVERSE(y.resource_description)) - 1)) % 511232 = 0 + THEN + N''GAM'' + WHEN + CONVERT(INT, RIGHT(y.resource_description, CHARINDEX(N'':'', REVERSE(y.resource_description)) - 1)) = 3 OR + (CONVERT(INT, RIGHT(y.resource_description, CHARINDEX(N'':'', REVERSE(y.resource_description)) - 1)) - 1) % 511232 = 0 + THEN + N''SGAM'' + WHEN + CONVERT(INT, RIGHT(y.resource_description, CHARINDEX(N'':'', REVERSE(y.resource_description)) - 1)) = 6 OR + (CONVERT(INT, RIGHT(y.resource_description, CHARINDEX(N'':'', REVERSE(y.resource_description)) - 1)) - 6) % 511232 = 0 + THEN + N''DCM'' + WHEN + CONVERT(INT, RIGHT(y.resource_description, CHARINDEX(N'':'', REVERSE(y.resource_description)) - 1)) = 7 OR + (CONVERT(INT, RIGHT(y.resource_description, CHARINDEX(N'':'', REVERSE(y.resource_description)) - 1)) - 7) % 511232 = 0 + THEN + N''BCM'' + ELSE + N''*'' + END + + N'')'' + WHEN y.wait_type = N''CXPACKET'' THEN + N'':'' + SUBSTRING(y.resource_description, CHARINDEX(N''nodeId'', y.resource_description) + 7, 4) + WHEN y.wait_type LIKE N''LATCH[_]%'' THEN + N'' ['' + LEFT(y.resource_description, COALESCE(NULLIF(CHARINDEX(N'' '', y.resource_description), 0), LEN(y.resource_description) + 1) - 1) + N'']'' + WHEN + y.wait_type = N''OLEDB'' + AND y.resource_description LIKE N''%(SPID=%)'' THEN + N''['' + LEFT(y.resource_description, CHARINDEX(N''(SPID='', y.resource_description) - 2) + + N'':'' + SUBSTRING(y.resource_description, CHARINDEX(N''(SPID='', y.resource_description) + 6, CHARINDEX(N'')'', y.resource_description, (CHARINDEX(N''(SPID='', y.resource_description) + 6)) - (CHARINDEX(N''(SPID='', y.resource_description) + 6)) + '']'' + ELSE + N'''' + END COLLATE Latin1_General_Bin2 AS sys_wait_info, + ' + ELSE + '' + END + + CASE + WHEN @get_task_info = 2 THEN + 'tasks.physical_io, + tasks.context_switches, + tasks.tasks, + tasks.block_info, + tasks.wait_info AS task_wait_info, + tasks.thread_CPU_snapshot, + ' + ELSE + '' + END + + CASE + WHEN NOT (@get_avg_time = 1 AND @recursion = 1) THEN + 'CONVERT(INT, NULL) ' + ELSE + 'qs.total_elapsed_time / qs.execution_count ' + END + + 'AS avg_elapsed_time + FROM + ( + SELECT TOP(@i) + sp.session_id, + sp.request_id, + COALESCE(r.logical_reads, s.logical_reads) AS reads, + COALESCE(r.reads, s.reads) AS physical_reads, + COALESCE(r.writes, s.writes) AS writes, + COALESCE(r.CPU_time, s.CPU_time) AS CPU, + sp.memory_usage + COALESCE(r.granted_query_memory, 0) AS used_memory, + LOWER(sp.status) AS status, + COALESCE(r.sql_handle, sp.sql_handle) AS sql_handle, + COALESCE(r.statement_start_offset, sp.statement_start_offset) AS statement_start_offset, + COALESCE(r.statement_end_offset, sp.statement_end_offset) AS statement_end_offset, + ' + + CASE + WHEN + ( + @get_task_info <> 0 + OR @find_block_leaders = 1 + ) THEN + 'sp.wait_type COLLATE Latin1_General_Bin2 AS wait_type, + sp.wait_resource COLLATE Latin1_General_Bin2 AS resource_description, + sp.wait_time AS wait_duration_ms, + ' + ELSE + '' + END + + 'NULLIF(sp.blocked, 0) AS blocking_session_id, + r.plan_handle, + NULLIF(r.percent_complete, 0) AS percent_complete, + sp.host_name, + sp.login_name, + sp.program_name, + s.host_process_id, + COALESCE(r.text_size, s.text_size) AS text_size, + COALESCE(r.language, s.language) AS language, + COALESCE(r.date_format, s.date_format) AS date_format, + COALESCE(r.date_first, s.date_first) AS date_first, + COALESCE(r.quoted_identifier, s.quoted_identifier) AS quoted_identifier, + COALESCE(r.arithabort, s.arithabort) AS arithabort, + COALESCE(r.ansi_null_dflt_on, s.ansi_null_dflt_on) AS ansi_null_dflt_on, + COALESCE(r.ansi_defaults, s.ansi_defaults) AS ansi_defaults, + COALESCE(r.ansi_warnings, s.ansi_warnings) AS ansi_warnings, + COALESCE(r.ansi_padding, s.ansi_padding) AS ansi_padding, + COALESCE(r.ansi_nulls, s.ansi_nulls) AS ansi_nulls, + COALESCE(r.concat_null_yields_null, s.concat_null_yields_null) AS concat_null_yields_null, + COALESCE(r.transaction_isolation_level, s.transaction_isolation_level) AS transaction_isolation_level, + COALESCE(r.lock_timeout, s.lock_timeout) AS lock_timeout, + COALESCE(r.deadlock_priority, s.deadlock_priority) AS deadlock_priority, + COALESCE(r.row_count, s.row_count) AS row_count, + COALESCE(r.command, sp.cmd) AS command_type, + COALESCE + ( + CASE + WHEN + ( + s.is_user_process = 0 + AND r.total_elapsed_time >= 0 + ) THEN + DATEADD + ( + ms, + 1000 * (DATEPART(ms, DATEADD(second, -(r.total_elapsed_time / 1000), GETDATE())) / 500) - DATEPART(ms, DATEADD(second, -(r.total_elapsed_time / 1000), GETDATE())), + DATEADD(second, -(r.total_elapsed_time / 1000), GETDATE()) + ) + END, + NULLIF(COALESCE(r.start_time, sp.last_request_end_time), CONVERT(DATETIME, ''19000101'', 112)), + sp.login_time + ) AS start_time, + sp.login_time, + CASE + WHEN s.is_user_process = 1 THEN + s.last_request_start_time + ELSE + COALESCE + ( + DATEADD + ( + ms, + 1000 * (DATEPART(ms, DATEADD(second, -(r.total_elapsed_time / 1000), GETDATE())) / 500) - DATEPART(ms, DATEADD(second, -(r.total_elapsed_time / 1000), GETDATE())), + DATEADD(second, -(r.total_elapsed_time / 1000), GETDATE()) + ), + s.last_request_start_time + ) + END AS last_request_start_time, + r.transaction_id, + sp.database_id, + sp.open_tran_count, + ' + + CASE + WHEN EXISTS + ( + SELECT + * + FROM sys.all_columns AS ac + WHERE + ac.object_id = OBJECT_ID('sys.dm_exec_sessions') + AND ac.name = 'group_id' + ) + THEN 's.group_id' + ELSE 'CONVERT(INT, NULL) AS group_id' + END + ' + FROM @sessions AS sp + LEFT OUTER LOOP JOIN sys.dm_exec_sessions AS s ON + s.session_id = sp.session_id + AND s.login_time = sp.login_time + LEFT OUTER LOOP JOIN sys.dm_exec_requests AS r ON + sp.status <> ''sleeping'' + AND r.session_id = sp.session_id + AND r.request_id = sp.request_id + AND + ( + ( + s.is_user_process = 0 + AND sp.is_user_process = 0 + ) + OR + ( + r.start_time = s.last_request_start_time + AND s.last_request_end_time <= sp.last_request_end_time + ) + ) + ) AS y + ' + + CASE + WHEN @get_task_info = 2 THEN + CONVERT(VARCHAR(MAX), '') + + 'LEFT OUTER HASH JOIN + ( + SELECT TOP(@i) + task_nodes.task_node.value(''(session_id/text())[1]'', ''SMALLINT'') AS session_id, + task_nodes.task_node.value(''(request_id/text())[1]'', ''INT'') AS request_id, + task_nodes.task_node.value(''(physical_io/text())[1]'', ''BIGINT'') AS physical_io, + task_nodes.task_node.value(''(context_switches/text())[1]'', ''BIGINT'') AS context_switches, + task_nodes.task_node.value(''(tasks/text())[1]'', ''INT'') AS tasks, + task_nodes.task_node.value(''(block_info/text())[1]'', ''NVARCHAR(4000)'') AS block_info, + task_nodes.task_node.value(''(waits/text())[1]'', ''NVARCHAR(4000)'') AS wait_info, + task_nodes.task_node.value(''(thread_CPU_snapshot/text())[1]'', ''BIGINT'') AS thread_CPU_snapshot + FROM + ( + SELECT TOP(@i) + CONVERT + ( + XML, + REPLACE + ( + CONVERT(NVARCHAR(MAX), tasks_raw.task_xml_raw) COLLATE Latin1_General_Bin2, + N''
'', + N'', '' + ) + ) AS task_xml + FROM + ( + SELECT TOP(@i) + CASE waits.r + WHEN 1 THEN + waits.session_id + ELSE + NULL + END AS [session_id], + CASE waits.r + WHEN 1 THEN + waits.request_id + ELSE + NULL + END AS [request_id], + CASE waits.r + WHEN 1 THEN + waits.physical_io + ELSE + NULL + END AS [physical_io], + CASE waits.r + WHEN 1 THEN + waits.context_switches + ELSE + NULL + END AS [context_switches], + CASE waits.r + WHEN 1 THEN + waits.thread_CPU_snapshot + ELSE + NULL + END AS [thread_CPU_snapshot], + CASE waits.r + WHEN 1 THEN + waits.tasks + ELSE + NULL + END AS [tasks], + CASE waits.r + WHEN 1 THEN + waits.block_info + ELSE + NULL + END AS [block_info], + REPLACE + ( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + CONVERT + ( + NVARCHAR(MAX), + N''('' + + CONVERT(NVARCHAR, num_waits) + N''x: '' + + CASE num_waits + WHEN 1 THEN + CONVERT(NVARCHAR, min_wait_time) + N''ms'' + WHEN 2 THEN + CASE + WHEN min_wait_time <> max_wait_time THEN + CONVERT(NVARCHAR, min_wait_time) + N''/'' + CONVERT(NVARCHAR, max_wait_time) + N''ms'' + ELSE + CONVERT(NVARCHAR, max_wait_time) + N''ms'' + END + ELSE + CASE + WHEN min_wait_time <> max_wait_time THEN + CONVERT(NVARCHAR, min_wait_time) + N''/'' + CONVERT(NVARCHAR, avg_wait_time) + N''/'' + CONVERT(NVARCHAR, max_wait_time) + N''ms'' + ELSE + CONVERT(NVARCHAR, max_wait_time) + N''ms'' + END + END + + N'')'' + wait_type COLLATE Latin1_General_Bin2 + ), + NCHAR(31),N''?''),NCHAR(30),N''?''),NCHAR(29),N''?''),NCHAR(28),N''?''),NCHAR(27),N''?''),NCHAR(26),N''?''),NCHAR(25),N''?''),NCHAR(24),N''?''),NCHAR(23),N''?''),NCHAR(22),N''?''), + NCHAR(21),N''?''),NCHAR(20),N''?''),NCHAR(19),N''?''),NCHAR(18),N''?''),NCHAR(17),N''?''),NCHAR(16),N''?''),NCHAR(15),N''?''),NCHAR(14),N''?''),NCHAR(12),N''?''), + NCHAR(11),N''?''),NCHAR(8),N''?''),NCHAR(7),N''?''),NCHAR(6),N''?''),NCHAR(5),N''?''),NCHAR(4),N''?''),NCHAR(3),N''?''),NCHAR(2),N''?''),NCHAR(1),N''?''), + NCHAR(0), + N'''' + ) AS [waits] + FROM + ( + SELECT TOP(@i) + w1.*, + ROW_NUMBER() OVER + ( + PARTITION BY + w1.session_id, + w1.request_id + ORDER BY + w1.block_info DESC, + w1.num_waits DESC, + w1.wait_type + ) AS r + FROM + ( + SELECT TOP(@i) + task_info.session_id, + task_info.request_id, + task_info.physical_io, + task_info.context_switches, + task_info.thread_CPU_snapshot, + task_info.num_tasks AS tasks, + CASE + WHEN task_info.runnable_time IS NOT NULL THEN + ''RUNNABLE'' + ELSE + wt2.wait_type + END AS wait_type, + NULLIF(COUNT(COALESCE(task_info.runnable_time, wt2.waiting_task_address)), 0) AS num_waits, + MIN(COALESCE(task_info.runnable_time, wt2.wait_duration_ms)) AS min_wait_time, + AVG(COALESCE(task_info.runnable_time, wt2.wait_duration_ms)) AS avg_wait_time, + MAX(COALESCE(task_info.runnable_time, wt2.wait_duration_ms)) AS max_wait_time, + MAX(wt2.block_info) AS block_info + FROM + ( + SELECT TOP(@i) + t.session_id, + t.request_id, + SUM(CONVERT(BIGINT, t.pending_io_count)) OVER (PARTITION BY t.session_id, t.request_id) AS physical_io, + SUM(CONVERT(BIGINT, t.context_switches_count)) OVER (PARTITION BY t.session_id, t.request_id) AS context_switches, + ' + + CASE + WHEN + @output_column_list LIKE '%|[CPU_delta|]%' ESCAPE '|' + AND @sys_info = 1 + THEN + 'SUM(tr.usermode_time + tr.kernel_time) OVER (PARTITION BY t.session_id, t.request_id) ' + ELSE + 'CONVERT(BIGINT, NULL) ' + END + + ' AS thread_CPU_snapshot, + COUNT(*) OVER (PARTITION BY t.session_id, t.request_id) AS num_tasks, + t.task_address, + t.task_state, + CASE + WHEN + t.task_state = ''RUNNABLE'' + AND w.runnable_time > 0 THEN + w.runnable_time + ELSE + NULL + END AS runnable_time + FROM sys.dm_os_tasks AS t + CROSS APPLY + ( + SELECT TOP(1) + sp2.session_id + FROM @sessions AS sp2 + WHERE + sp2.session_id = t.session_id + AND sp2.request_id = t.request_id + AND sp2.status <> ''sleeping'' + ) AS sp20 + LEFT OUTER HASH JOIN + ( + ' + + CASE + WHEN @sys_info = 1 THEN + 'SELECT TOP(@i) + ( + SELECT TOP(@i) + ms_ticks + FROM sys.dm_os_sys_info + ) - + w0.wait_resumed_ms_ticks AS runnable_time, + w0.worker_address, + w0.thread_address, + w0.task_bound_ms_ticks + FROM sys.dm_os_workers AS w0 + WHERE + w0.state = ''RUNNABLE'' + OR @first_collection_ms_ticks >= w0.task_bound_ms_ticks' + ELSE + 'SELECT + CONVERT(BIGINT, NULL) AS runnable_time, + CONVERT(VARBINARY(8), NULL) AS worker_address, + CONVERT(VARBINARY(8), NULL) AS thread_address, + CONVERT(BIGINT, NULL) AS task_bound_ms_ticks + WHERE + 1 = 0' + END + + ' + ) AS w ON + w.worker_address = t.worker_address + ' + + CASE + WHEN + @output_column_list LIKE '%|[CPU_delta|]%' ESCAPE '|' + AND @sys_info = 1 + THEN + 'LEFT OUTER HASH JOIN sys.dm_os_threads AS tr ON + tr.thread_address = w.thread_address + AND @first_collection_ms_ticks >= w.task_bound_ms_ticks + ' + ELSE + '' + END + + ') AS task_info + LEFT OUTER HASH JOIN + ( + SELECT TOP(@i) + wt1.wait_type, + wt1.waiting_task_address, + MAX(wt1.wait_duration_ms) AS wait_duration_ms, + MAX(wt1.block_info) AS block_info + FROM + ( + SELECT DISTINCT TOP(@i) + wt.wait_type + + CASE + WHEN wt.wait_type LIKE N''PAGE%LATCH_%'' THEN + '':'' + + COALESCE(DB_NAME(CONVERT(INT, LEFT(wt.resource_description, CHARINDEX(N'':'', wt.resource_description) - 1))), N''(null)'') + + N'':'' + + SUBSTRING(wt.resource_description, CHARINDEX(N'':'', wt.resource_description) + 1, LEN(wt.resource_description) - CHARINDEX(N'':'', REVERSE(wt.resource_description)) - CHARINDEX(N'':'', wt.resource_description)) + + N''('' + + CASE + WHEN + CONVERT(INT, RIGHT(wt.resource_description, CHARINDEX(N'':'', REVERSE(wt.resource_description)) - 1)) = 1 OR + CONVERT(INT, RIGHT(wt.resource_description, CHARINDEX(N'':'', REVERSE(wt.resource_description)) - 1)) % 8088 = 0 + THEN + N''PFS'' + WHEN + CONVERT(INT, RIGHT(wt.resource_description, CHARINDEX(N'':'', REVERSE(wt.resource_description)) - 1)) = 2 OR + CONVERT(INT, RIGHT(wt.resource_description, CHARINDEX(N'':'', REVERSE(wt.resource_description)) - 1)) % 511232 = 0 + THEN + N''GAM'' + WHEN + CONVERT(INT, RIGHT(wt.resource_description, CHARINDEX(N'':'', REVERSE(wt.resource_description)) - 1)) = 3 OR + (CONVERT(INT, RIGHT(wt.resource_description, CHARINDEX(N'':'', REVERSE(wt.resource_description)) - 1)) - 1) % 511232 = 0 + THEN + N''SGAM'' + WHEN + CONVERT(INT, RIGHT(wt.resource_description, CHARINDEX(N'':'', REVERSE(wt.resource_description)) - 1)) = 6 OR + (CONVERT(INT, RIGHT(wt.resource_description, CHARINDEX(N'':'', REVERSE(wt.resource_description)) - 1)) - 6) % 511232 = 0 + THEN + N''DCM'' + WHEN + CONVERT(INT, RIGHT(wt.resource_description, CHARINDEX(N'':'', REVERSE(wt.resource_description)) - 1)) = 7 OR + (CONVERT(INT, RIGHT(wt.resource_description, CHARINDEX(N'':'', REVERSE(wt.resource_description)) - 1)) - 7) % 511232 = 0 + THEN + N''BCM'' + ELSE + N''*'' + END + + N'')'' + WHEN wt.wait_type = N''CXPACKET'' THEN + N'':'' + SUBSTRING(wt.resource_description, CHARINDEX(N''nodeId'', wt.resource_description) + 7, 4) + WHEN wt.wait_type LIKE N''LATCH[_]%'' THEN + N'' ['' + LEFT(wt.resource_description, COALESCE(NULLIF(CHARINDEX(N'' '', wt.resource_description), 0), LEN(wt.resource_description) + 1) - 1) + N'']'' + ELSE + N'''' + END COLLATE Latin1_General_Bin2 AS wait_type, + CASE + WHEN + ( + wt.blocking_session_id IS NOT NULL + AND wt.wait_type LIKE N''LCK[_]%'' + ) THEN + ( + SELECT TOP(@i) + x.lock_type, + REPLACE + ( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + DB_NAME + ( + CONVERT + ( + INT, + SUBSTRING(wt.resource_description, NULLIF(CHARINDEX(N''dbid='', wt.resource_description), 0) + 5, COALESCE(NULLIF(CHARINDEX(N'' '', wt.resource_description, CHARINDEX(N''dbid='', wt.resource_description) + 5), 0), LEN(wt.resource_description) + 1) - CHARINDEX(N''dbid='', wt.resource_description) - 5) + ) + ), + NCHAR(31),N''?''),NCHAR(30),N''?''),NCHAR(29),N''?''),NCHAR(28),N''?''),NCHAR(27),N''?''),NCHAR(26),N''?''),NCHAR(25),N''?''),NCHAR(24),N''?''),NCHAR(23),N''?''),NCHAR(22),N''?''), + NCHAR(21),N''?''),NCHAR(20),N''?''),NCHAR(19),N''?''),NCHAR(18),N''?''),NCHAR(17),N''?''),NCHAR(16),N''?''),NCHAR(15),N''?''),NCHAR(14),N''?''),NCHAR(12),N''?''), + NCHAR(11),N''?''),NCHAR(8),N''?''),NCHAR(7),N''?''),NCHAR(6),N''?''),NCHAR(5),N''?''),NCHAR(4),N''?''),NCHAR(3),N''?''),NCHAR(2),N''?''),NCHAR(1),N''?''), + NCHAR(0), + N'''' + ) AS database_name, + CASE x.lock_type + WHEN N''objectlock'' THEN + SUBSTRING(wt.resource_description, NULLIF(CHARINDEX(N''objid='', wt.resource_description), 0) + 6, COALESCE(NULLIF(CHARINDEX(N'' '', wt.resource_description, CHARINDEX(N''objid='', wt.resource_description) + 6), 0), LEN(wt.resource_description) + 1) - CHARINDEX(N''objid='', wt.resource_description) - 6) + ELSE + NULL + END AS object_id, + CASE x.lock_type + WHEN N''filelock'' THEN + SUBSTRING(wt.resource_description, NULLIF(CHARINDEX(N''fileid='', wt.resource_description), 0) + 7, COALESCE(NULLIF(CHARINDEX(N'' '', wt.resource_description, CHARINDEX(N''fileid='', wt.resource_description) + 7), 0), LEN(wt.resource_description) + 1) - CHARINDEX(N''fileid='', wt.resource_description) - 7) + ELSE + NULL + END AS file_id, + CASE + WHEN x.lock_type in (N''pagelock'', N''extentlock'', N''ridlock'') THEN + SUBSTRING(wt.resource_description, NULLIF(CHARINDEX(N''associatedObjectId='', wt.resource_description), 0) + 19, COALESCE(NULLIF(CHARINDEX(N'' '', wt.resource_description, CHARINDEX(N''associatedObjectId='', wt.resource_description) + 19), 0), LEN(wt.resource_description) + 1) - CHARINDEX(N''associatedObjectId='', wt.resource_description) - 19) + WHEN x.lock_type in (N''keylock'', N''hobtlock'', N''allocunitlock'') THEN + SUBSTRING(wt.resource_description, NULLIF(CHARINDEX(N''hobtid='', wt.resource_description), 0) + 7, COALESCE(NULLIF(CHARINDEX(N'' '', wt.resource_description, CHARINDEX(N''hobtid='', wt.resource_description) + 7), 0), LEN(wt.resource_description) + 1) - CHARINDEX(N''hobtid='', wt.resource_description) - 7) + ELSE + NULL + END AS hobt_id, + CASE x.lock_type + WHEN N''applicationlock'' THEN + SUBSTRING(wt.resource_description, NULLIF(CHARINDEX(N''hash='', wt.resource_description), 0) + 5, COALESCE(NULLIF(CHARINDEX(N'' '', wt.resource_description, CHARINDEX(N''hash='', wt.resource_description) + 5), 0), LEN(wt.resource_description) + 1) - CHARINDEX(N''hash='', wt.resource_description) - 5) + ELSE + NULL + END AS applock_hash, + CASE x.lock_type + WHEN N''metadatalock'' THEN + SUBSTRING(wt.resource_description, NULLIF(CHARINDEX(N''subresource='', wt.resource_description), 0) + 12, COALESCE(NULLIF(CHARINDEX(N'' '', wt.resource_description, CHARINDEX(N''subresource='', wt.resource_description) + 12), 0), LEN(wt.resource_description) + 1) - CHARINDEX(N''subresource='', wt.resource_description) - 12) + ELSE + NULL + END AS metadata_resource, + CASE x.lock_type + WHEN N''metadatalock'' THEN + SUBSTRING(wt.resource_description, NULLIF(CHARINDEX(N''classid='', wt.resource_description), 0) + 8, COALESCE(NULLIF(CHARINDEX(N'' dbid='', wt.resource_description) - CHARINDEX(N''classid='', wt.resource_description), 0), LEN(wt.resource_description) + 1) - 8) + ELSE + NULL + END AS metadata_class_id + FROM + ( + SELECT TOP(1) + LEFT(wt.resource_description, CHARINDEX(N'' '', wt.resource_description) - 1) COLLATE Latin1_General_Bin2 AS lock_type + ) AS x + FOR XML + PATH('''') + ) + ELSE NULL + END AS block_info, + wt.wait_duration_ms, + wt.waiting_task_address + FROM + ( + SELECT TOP(@i) + wt0.wait_type COLLATE Latin1_General_Bin2 AS wait_type, + wt0.resource_description COLLATE Latin1_General_Bin2 AS resource_description, + wt0.wait_duration_ms, + wt0.waiting_task_address, + CASE + WHEN wt0.blocking_session_id = p.blocked THEN + wt0.blocking_session_id + ELSE + NULL + END AS blocking_session_id + FROM sys.dm_os_waiting_tasks AS wt0 + CROSS APPLY + ( + SELECT TOP(1) + s0.blocked + FROM @sessions AS s0 + WHERE + s0.session_id = wt0.session_id + AND COALESCE(s0.wait_type, N'''') <> N''OLEDB'' + AND wt0.wait_type <> N''OLEDB'' + ) AS p + ) AS wt + ) AS wt1 + GROUP BY + wt1.wait_type, + wt1.waiting_task_address + ) AS wt2 ON + wt2.waiting_task_address = task_info.task_address + AND wt2.wait_duration_ms > 0 + AND task_info.runnable_time IS NULL + GROUP BY + task_info.session_id, + task_info.request_id, + task_info.physical_io, + task_info.context_switches, + task_info.thread_CPU_snapshot, + task_info.num_tasks, + CASE + WHEN task_info.runnable_time IS NOT NULL THEN + ''RUNNABLE'' + ELSE + wt2.wait_type + END + ) AS w1 + ) AS waits + ORDER BY + waits.session_id, + waits.request_id, + waits.r + FOR XML + PATH(N''tasks''), + TYPE + ) AS tasks_raw (task_xml_raw) + ) AS tasks_final + CROSS APPLY tasks_final.task_xml.nodes(N''/tasks'') AS task_nodes (task_node) + WHERE + task_nodes.task_node.exist(N''session_id'') = 1 + ) AS tasks ON + tasks.session_id = y.session_id + AND tasks.request_id = y.request_id + ' + ELSE + '' + END + + 'LEFT OUTER HASH JOIN + ( + SELECT TOP(@i) + t_info.session_id, + COALESCE(t_info.request_id, -1) AS request_id, + SUM(t_info.tempdb_allocations) AS tempdb_allocations, + SUM(t_info.tempdb_current) AS tempdb_current + FROM + ( + SELECT TOP(@i) + tsu.session_id, + tsu.request_id, + tsu.user_objects_alloc_page_count + + tsu.internal_objects_alloc_page_count AS tempdb_allocations, + tsu.user_objects_alloc_page_count + + tsu.internal_objects_alloc_page_count - + tsu.user_objects_dealloc_page_count - + tsu.internal_objects_dealloc_page_count AS tempdb_current + FROM sys.dm_db_task_space_usage AS tsu + CROSS APPLY + ( + SELECT TOP(1) + s0.session_id + FROM @sessions AS s0 + WHERE + s0.session_id = tsu.session_id + ) AS p + UNION ALL + SELECT TOP(@i) + ssu.session_id, + NULL AS request_id, + ssu.user_objects_alloc_page_count + + ssu.internal_objects_alloc_page_count AS tempdb_allocations, + ssu.user_objects_alloc_page_count + + ssu.internal_objects_alloc_page_count - + ssu.user_objects_dealloc_page_count - + ssu.internal_objects_dealloc_page_count AS tempdb_current + FROM sys.dm_db_session_space_usage AS ssu + CROSS APPLY + ( + SELECT TOP(1) + s0.session_id + FROM @sessions AS s0 + WHERE + s0.session_id = ssu.session_id + ) AS p + ) AS t_info + GROUP BY + t_info.session_id, + COALESCE(t_info.request_id, -1) + ) AS tempdb_info ON + tempdb_info.session_id = y.session_id + AND tempdb_info.request_id = + CASE + WHEN y.status = N''sleeping'' THEN + -1 + ELSE + y.request_id + END + ' + + CASE + WHEN + NOT + ( + @get_avg_time = 1 + AND @recursion = 1 + ) THEN + '' + ELSE + 'LEFT OUTER HASH JOIN + ( + SELECT TOP(@i) + * + FROM sys.dm_exec_query_stats + ) AS qs ON + qs.sql_handle = y.sql_handle + AND qs.plan_handle = y.plan_handle + AND qs.statement_start_offset = y.statement_start_offset + AND qs.statement_end_offset = y.statement_end_offset + ' + END + + ') AS x + OPTION (KEEPFIXED PLAN, OPTIMIZE FOR (@i = 1)); '; + SET @sql_n = CONVERT(NVARCHAR(MAX), @sql); + SET @last_collection_start = GETDATE(); + IF + @recursion = -1 + AND @sys_info = 1 + BEGIN; + SELECT + @first_collection_ms_ticks = ms_ticks + FROM sys.dm_os_sys_info; + END; + INSERT #sessions + ( + recursion, + session_id, + request_id, + session_number, + elapsed_time, + avg_elapsed_time, + physical_io, + reads, + physical_reads, + writes, + tempdb_allocations, + tempdb_current, + CPU, + thread_CPU_snapshot, + context_switches, + used_memory, + tasks, + status, + wait_info, + transaction_id, + open_tran_count, + sql_handle, + statement_start_offset, + statement_end_offset, + sql_text, + plan_handle, + blocking_session_id, + percent_complete, + host_name, + login_name, + database_name, + program_name, + additional_info, + start_time, + login_time, + last_request_start_time + ) + EXEC sp_executesql + @sql_n, + N'@recursion SMALLINT, @filter sysname, @not_filter sysname, @first_collection_ms_ticks BIGINT', + @recursion, @filter, @not_filter, @first_collection_ms_ticks; + --Collect transaction information? + IF + @recursion = 1 + AND + ( + @output_column_list LIKE '%|[tran_start_time|]%' ESCAPE '|' + OR @output_column_list LIKE '%|[tran_log_writes|]%' ESCAPE '|' + ) + BEGIN; + DECLARE @i INT; + SET @i = 2147483647; + UPDATE s + SET + tran_start_time = + CONVERT + ( + DATETIME, + LEFT + ( + x.trans_info, + NULLIF(CHARINDEX(NCHAR(254) COLLATE Latin1_General_Bin2, x.trans_info) - 1, -1) + ), + 121 + ), + tran_log_writes = + RIGHT + ( + x.trans_info, + LEN(x.trans_info) - CHARINDEX(NCHAR(254) COLLATE Latin1_General_Bin2, x.trans_info) + ) + FROM + ( + SELECT TOP(@i) + trans_nodes.trans_node.value('(session_id/text())[1]', 'SMALLINT') AS session_id, + COALESCE(trans_nodes.trans_node.value('(request_id/text())[1]', 'INT'), 0) AS request_id, + trans_nodes.trans_node.value('(trans_info/text())[1]', 'NVARCHAR(4000)') AS trans_info + FROM + ( + SELECT TOP(@i) + CONVERT + ( + XML, + REPLACE + ( + CONVERT(NVARCHAR(MAX), trans_raw.trans_xml_raw) COLLATE Latin1_General_Bin2, + N'', N'' + ) + ) + FROM + ( + SELECT TOP(@i) + CASE u_trans.r + WHEN 1 THEN u_trans.session_id + ELSE NULL + END AS [session_id], + CASE u_trans.r + WHEN 1 THEN u_trans.request_id + ELSE NULL + END AS [request_id], + CONVERT + ( + NVARCHAR(MAX), + CASE + WHEN u_trans.database_id IS NOT NULL THEN + CASE u_trans.r + WHEN 1 THEN COALESCE(CONVERT(NVARCHAR, u_trans.transaction_start_time, 121) + NCHAR(254), N'') + ELSE N'' + END + + REPLACE + ( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + CONVERT(VARCHAR(128), COALESCE(DB_NAME(u_trans.database_id), N'(null)')), + NCHAR(31),N'?'),NCHAR(30),N'?'),NCHAR(29),N'?'),NCHAR(28),N'?'),NCHAR(27),N'?'),NCHAR(26),N'?'),NCHAR(25),N'?'),NCHAR(24),N'?'),NCHAR(23),N'?'),NCHAR(22),N'?'), + NCHAR(21),N'?'),NCHAR(20),N'?'),NCHAR(19),N'?'),NCHAR(18),N'?'),NCHAR(17),N'?'),NCHAR(16),N'?'),NCHAR(15),N'?'),NCHAR(14),N'?'),NCHAR(12),N'?'), + NCHAR(11),N'?'),NCHAR(8),N'?'),NCHAR(7),N'?'),NCHAR(6),N'?'),NCHAR(5),N'?'),NCHAR(4),N'?'),NCHAR(3),N'?'),NCHAR(2),N'?'),NCHAR(1),N'?'), + NCHAR(0), + N'?' + ) + + N': ' + + CONVERT(NVARCHAR, u_trans.log_record_count) + N' (' + CONVERT(NVARCHAR, u_trans.log_kb_used) + N' kB)' + + N',' + ELSE + N'N/A,' + END COLLATE Latin1_General_Bin2 + ) AS [trans_info] + FROM + ( + SELECT TOP(@i) + trans.*, + ROW_NUMBER() OVER + ( + PARTITION BY + trans.session_id, + trans.request_id + ORDER BY + trans.transaction_start_time DESC + ) AS r + FROM + ( + SELECT TOP(@i) + session_tran_map.session_id, + session_tran_map.request_id, + s_tran.database_id, + COALESCE(SUM(s_tran.database_transaction_log_record_count), 0) AS log_record_count, + COALESCE(SUM(s_tran.database_transaction_log_bytes_used), 0) / 1024 AS log_kb_used, + MIN(s_tran.database_transaction_begin_time) AS transaction_start_time + FROM + ( + SELECT TOP(@i) + * + FROM sys.dm_tran_active_transactions + WHERE + transaction_begin_time <= @last_collection_start + ) AS a_tran + INNER HASH JOIN + ( + SELECT TOP(@i) + * + FROM sys.dm_tran_database_transactions + WHERE + database_id < 32767 + ) AS s_tran ON + s_tran.transaction_id = a_tran.transaction_id + LEFT OUTER HASH JOIN + ( + SELECT TOP(@i) + * + FROM sys.dm_tran_session_transactions + ) AS tst ON + s_tran.transaction_id = tst.transaction_id + CROSS APPLY + ( + SELECT TOP(1) + s3.session_id, + s3.request_id + FROM + ( + SELECT TOP(1) + s1.session_id, + s1.request_id + FROM #sessions AS s1 + WHERE + s1.transaction_id = s_tran.transaction_id + AND s1.recursion = 1 + UNION ALL + SELECT TOP(1) + s2.session_id, + s2.request_id + FROM #sessions AS s2 + WHERE + s2.session_id = tst.session_id + AND s2.recursion = 1 + ) AS s3 + ORDER BY + s3.request_id + ) AS session_tran_map + GROUP BY + session_tran_map.session_id, + session_tran_map.request_id, + s_tran.database_id + ) AS trans + ) AS u_trans + FOR XML + PATH('trans'), + TYPE + ) AS trans_raw (trans_xml_raw) + ) AS trans_final (trans_xml) + CROSS APPLY trans_final.trans_xml.nodes('/trans') AS trans_nodes (trans_node) + ) AS x + INNER HASH JOIN #sessions AS s ON + s.session_id = x.session_id + AND s.request_id = x.request_id + OPTION (OPTIMIZE FOR (@i = 1)); + END; + --Variables for text and plan collection + DECLARE + @session_id SMALLINT, + @request_id INT, + @sql_handle VARBINARY(64), + @plan_handle VARBINARY(64), + @statement_start_offset INT, + @statement_end_offset INT, + @start_time DATETIME, + @database_name sysname; + IF + @recursion = 1 + AND @output_column_list LIKE '%|[sql_text|]%' ESCAPE '|' + BEGIN; + DECLARE sql_cursor + CURSOR LOCAL FAST_FORWARD + FOR + SELECT + session_id, + request_id, + sql_handle, + statement_start_offset, + statement_end_offset + FROM #sessions + WHERE + recursion = 1 + AND sql_handle IS NOT NULL + OPTION (KEEPFIXED PLAN); + OPEN sql_cursor; + FETCH NEXT FROM sql_cursor + INTO + @session_id, + @request_id, + @sql_handle, + @statement_start_offset, + @statement_end_offset; + --Wait up to 5 ms for the SQL text, then give up + SET LOCK_TIMEOUT 5; + WHILE @@FETCH_STATUS = 0 + BEGIN; + BEGIN TRY; + UPDATE s + SET + s.sql_text = + ( + SELECT + REPLACE + ( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + N'--' + NCHAR(13) + NCHAR(10) + + CASE + WHEN @get_full_inner_text = 1 THEN est.text + WHEN LEN(est.text) < (@statement_end_offset / 2) + 1 THEN est.text + WHEN SUBSTRING(est.text, (@statement_start_offset/2), 2) LIKE N'[a-zA-Z0-9][a-zA-Z0-9]' THEN est.text + ELSE + CASE + WHEN @statement_start_offset > 0 THEN + SUBSTRING + ( + est.text, + ((@statement_start_offset/2) + 1), + ( + CASE + WHEN @statement_end_offset = -1 THEN 2147483647 + ELSE ((@statement_end_offset - @statement_start_offset)/2) + 1 + END + ) + ) + ELSE RTRIM(LTRIM(est.text)) + END + END + + NCHAR(13) + NCHAR(10) + N'--' COLLATE Latin1_General_Bin2, + NCHAR(31),N'?'),NCHAR(30),N'?'),NCHAR(29),N'?'),NCHAR(28),N'?'),NCHAR(27),N'?'),NCHAR(26),N'?'),NCHAR(25),N'?'),NCHAR(24),N'?'),NCHAR(23),N'?'),NCHAR(22),N'?'), + NCHAR(21),N'?'),NCHAR(20),N'?'),NCHAR(19),N'?'),NCHAR(18),N'?'),NCHAR(17),N'?'),NCHAR(16),N'?'),NCHAR(15),N'?'),NCHAR(14),N'?'),NCHAR(12),N'?'), + NCHAR(11),N'?'),NCHAR(8),N'?'),NCHAR(7),N'?'),NCHAR(6),N'?'),NCHAR(5),N'?'),NCHAR(4),N'?'),NCHAR(3),N'?'),NCHAR(2),N'?'),NCHAR(1),N'?'), + NCHAR(0), + N'' + ) AS [processing-instruction(query)] + FOR XML + PATH(''), + TYPE + ), + s.statement_start_offset = + CASE + WHEN LEN(est.text) < (@statement_end_offset / 2) + 1 THEN 0 + WHEN SUBSTRING(CONVERT(VARCHAR(MAX), est.text), (@statement_start_offset/2), 2) LIKE '[a-zA-Z0-9][a-zA-Z0-9]' THEN 0 + ELSE @statement_start_offset + END, + s.statement_end_offset = + CASE + WHEN LEN(est.text) < (@statement_end_offset / 2) + 1 THEN -1 + WHEN SUBSTRING(CONVERT(VARCHAR(MAX), est.text), (@statement_start_offset/2), 2) LIKE '[a-zA-Z0-9][a-zA-Z0-9]' THEN -1 + ELSE @statement_end_offset + END + FROM + #sessions AS s, + ( + SELECT TOP(1) + text + FROM + ( + SELECT + text, + 0 AS row_num + FROM sys.dm_exec_sql_text(@sql_handle) + UNION ALL + SELECT + NULL, + 1 AS row_num + ) AS est0 + ORDER BY + row_num + ) AS est + WHERE + s.session_id = @session_id + AND s.request_id = @request_id + AND s.recursion = 1 + OPTION (KEEPFIXED PLAN); + END TRY + BEGIN CATCH; + UPDATE s + SET + s.sql_text = + CASE ERROR_NUMBER() + WHEN 1222 THEN '' + ELSE '' + END + FROM #sessions AS s + WHERE + s.session_id = @session_id + AND s.request_id = @request_id + AND s.recursion = 1 + OPTION (KEEPFIXED PLAN); + END CATCH; + FETCH NEXT FROM sql_cursor + INTO + @session_id, + @request_id, + @sql_handle, + @statement_start_offset, + @statement_end_offset; + END; + --Return this to the default + SET LOCK_TIMEOUT -1; + CLOSE sql_cursor; + DEALLOCATE sql_cursor; + END; + IF + @get_outer_command = 1 + AND @recursion = 1 + AND @output_column_list LIKE '%|[sql_command|]%' ESCAPE '|' + BEGIN; + DECLARE @buffer_results TABLE + ( + EventType VARCHAR(30), + Parameters INT, + EventInfo NVARCHAR(4000), + start_time DATETIME, + session_number INT IDENTITY(1,1) NOT NULL PRIMARY KEY + ); + DECLARE buffer_cursor + CURSOR LOCAL FAST_FORWARD + FOR + SELECT + session_id, + MAX(start_time) AS start_time + FROM #sessions + WHERE + recursion = 1 + GROUP BY + session_id + ORDER BY + session_id + OPTION (KEEPFIXED PLAN); + OPEN buffer_cursor; + FETCH NEXT FROM buffer_cursor + INTO + @session_id, + @start_time; + WHILE @@FETCH_STATUS = 0 + BEGIN; + BEGIN TRY; + --In SQL Server 2008, DBCC INPUTBUFFER will throw + --an exception if the session no longer exists + INSERT @buffer_results + ( + EventType, + Parameters, + EventInfo + ) + EXEC sp_executesql + N'DBCC INPUTBUFFER(@session_id) WITH NO_INFOMSGS;', + N'@session_id SMALLINT', + @session_id; + UPDATE br + SET + br.start_time = @start_time + FROM @buffer_results AS br + WHERE + br.session_number = + ( + SELECT MAX(br2.session_number) + FROM @buffer_results br2 + ); + END TRY + BEGIN CATCH + END CATCH; + FETCH NEXT FROM buffer_cursor + INTO + @session_id, + @start_time; + END; + UPDATE s + SET + sql_command = + ( + SELECT + REPLACE + ( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + CONVERT + ( + NVARCHAR(MAX), + N'--' + NCHAR(13) + NCHAR(10) + br.EventInfo + NCHAR(13) + NCHAR(10) + N'--' COLLATE Latin1_General_Bin2 + ), + NCHAR(31),N'?'),NCHAR(30),N'?'),NCHAR(29),N'?'),NCHAR(28),N'?'),NCHAR(27),N'?'),NCHAR(26),N'?'),NCHAR(25),N'?'),NCHAR(24),N'?'),NCHAR(23),N'?'),NCHAR(22),N'?'), + NCHAR(21),N'?'),NCHAR(20),N'?'),NCHAR(19),N'?'),NCHAR(18),N'?'),NCHAR(17),N'?'),NCHAR(16),N'?'),NCHAR(15),N'?'),NCHAR(14),N'?'),NCHAR(12),N'?'), + NCHAR(11),N'?'),NCHAR(8),N'?'),NCHAR(7),N'?'),NCHAR(6),N'?'),NCHAR(5),N'?'),NCHAR(4),N'?'),NCHAR(3),N'?'),NCHAR(2),N'?'),NCHAR(1),N'?'), + NCHAR(0), + N'' + ) AS [processing-instruction(query)] + FROM @buffer_results AS br + WHERE + br.session_number = s.session_number + AND br.start_time = s.start_time + AND + ( + ( + s.start_time = s.last_request_start_time + AND EXISTS + ( + SELECT * + FROM sys.dm_exec_requests r2 + WHERE + r2.session_id = s.session_id + AND r2.request_id = s.request_id + AND r2.start_time = s.start_time + ) + ) + OR + ( + s.request_id = 0 + AND EXISTS + ( + SELECT * + FROM sys.dm_exec_sessions s2 + WHERE + s2.session_id = s.session_id + AND s2.last_request_start_time = s.last_request_start_time + ) + ) + ) + FOR XML + PATH(''), + TYPE + ) + FROM #sessions AS s + WHERE + recursion = 1 + OPTION (KEEPFIXED PLAN); + CLOSE buffer_cursor; + DEALLOCATE buffer_cursor; + END; + IF + @get_plans >= 1 + AND @recursion = 1 + AND @output_column_list LIKE '%|[query_plan|]%' ESCAPE '|' + BEGIN; + DECLARE @live_plan BIT; + SET @live_plan = ISNULL(CONVERT(BIT, SIGN(OBJECT_ID('sys.dm_exec_query_statistics_xml'))), 0) + DECLARE plan_cursor + CURSOR LOCAL FAST_FORWARD + FOR + SELECT + session_id, + request_id, + plan_handle, + statement_start_offset, + statement_end_offset + FROM #sessions + WHERE + recursion = 1 + AND plan_handle IS NOT NULL + OPTION (KEEPFIXED PLAN); + OPEN plan_cursor; + FETCH NEXT FROM plan_cursor + INTO + @session_id, + @request_id, + @plan_handle, + @statement_start_offset, + @statement_end_offset; + --Wait up to 5 ms for a query plan, then give up + SET LOCK_TIMEOUT 5; + WHILE @@FETCH_STATUS = 0 + BEGIN; + DECLARE @query_plan XML; + SET @query_plan = NULL; + IF @live_plan = 1 + BEGIN; + BEGIN TRY; + SELECT + @query_plan = x.query_plan + FROM sys.dm_exec_query_statistics_xml(@session_id) AS x; + IF + @query_plan IS NOT NULL + AND EXISTS + ( + SELECT + * + FROM sys.dm_exec_requests AS r + WHERE + r.session_id = @session_id + AND r.request_id = @request_id + AND r.plan_handle = @plan_handle + AND r.statement_start_offset = @statement_start_offset + AND r.statement_end_offset = @statement_end_offset + ) + BEGIN; + UPDATE s + SET + s.query_plan = @query_plan + FROM #sessions AS s + WHERE + s.session_id = @session_id + AND s.request_id = @request_id + AND s.recursion = 1 + OPTION (KEEPFIXED PLAN); + END; + END TRY + BEGIN CATCH; + SET @query_plan = NULL; + END CATCH; + END; + IF @query_plan IS NULL + BEGIN; + BEGIN TRY; + UPDATE s + SET + s.query_plan = + ( + SELECT + CONVERT(xml, query_plan) + FROM sys.dm_exec_text_query_plan + ( + @plan_handle, + CASE @get_plans + WHEN 1 THEN + @statement_start_offset + ELSE + 0 + END, + CASE @get_plans + WHEN 1 THEN + @statement_end_offset + ELSE + -1 + END + ) + ) + FROM #sessions AS s + WHERE + s.session_id = @session_id + AND s.request_id = @request_id + AND s.recursion = 1 + OPTION (KEEPFIXED PLAN); + END TRY + BEGIN CATCH; + IF ERROR_NUMBER() = 6335 + BEGIN; + UPDATE s + SET + s.query_plan = + ( + SELECT + N'--' + NCHAR(13) + NCHAR(10) + + N'-- Could not render showplan due to XML data type limitations. ' + NCHAR(13) + NCHAR(10) + + N'-- To see the graphical plan save the XML below as a .SQLPLAN file and re-open in SSMS.' + NCHAR(13) + NCHAR(10) + + N'--' + NCHAR(13) + NCHAR(10) + + REPLACE(qp.query_plan, N'' + ELSE '' + END + FROM #sessions AS s + WHERE + s.session_id = @session_id + AND s.request_id = @request_id + AND s.recursion = 1 + OPTION (KEEPFIXED PLAN); + END; + END CATCH; + END; + FETCH NEXT FROM plan_cursor + INTO + @session_id, + @request_id, + @plan_handle, + @statement_start_offset, + @statement_end_offset; + END; + --Return this to the default + SET LOCK_TIMEOUT -1; + CLOSE plan_cursor; + DEALLOCATE plan_cursor; + END; + IF + @get_locks = 1 + AND @recursion = 1 + AND @output_column_list LIKE '%|[locks|]%' ESCAPE '|' + BEGIN; + DECLARE locks_cursor + CURSOR LOCAL FAST_FORWARD + FOR + SELECT DISTINCT + database_name + FROM #locks + WHERE + EXISTS + ( + SELECT * + FROM #sessions AS s + WHERE + s.session_id = #locks.session_id + AND recursion = 1 + ) + AND database_name <> '(null)' + OPTION (KEEPFIXED PLAN); + OPEN locks_cursor; + FETCH NEXT FROM locks_cursor + INTO + @database_name; + WHILE @@FETCH_STATUS = 0 + BEGIN; + BEGIN TRY; + SET @sql_n = CONVERT(NVARCHAR(MAX), '') + + 'UPDATE l ' + + 'SET ' + + 'object_name = ' + + 'REPLACE ' + + '( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'o.name COLLATE Latin1_General_Bin2, ' + + 'NCHAR(31),N''?''),NCHAR(30),N''?''),NCHAR(29),N''?''),NCHAR(28),N''?''),NCHAR(27),N''?''),NCHAR(26),N''?''),NCHAR(25),N''?''),NCHAR(24),N''?''),NCHAR(23),N''?''),NCHAR(22),N''?''), ' + + 'NCHAR(21),N''?''),NCHAR(20),N''?''),NCHAR(19),N''?''),NCHAR(18),N''?''),NCHAR(17),N''?''),NCHAR(16),N''?''),NCHAR(15),N''?''),NCHAR(14),N''?''),NCHAR(12),N''?''), ' + + 'NCHAR(11),N''?''),NCHAR(8),N''?''),NCHAR(7),N''?''),NCHAR(6),N''?''),NCHAR(5),N''?''),NCHAR(4),N''?''),NCHAR(3),N''?''),NCHAR(2),N''?''),NCHAR(1),N''?''), ' + + 'NCHAR(0), ' + + N''''' ' + + '), ' + + 'index_name = ' + + 'REPLACE ' + + '( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'i.name COLLATE Latin1_General_Bin2, ' + + 'NCHAR(31),N''?''),NCHAR(30),N''?''),NCHAR(29),N''?''),NCHAR(28),N''?''),NCHAR(27),N''?''),NCHAR(26),N''?''),NCHAR(25),N''?''),NCHAR(24),N''?''),NCHAR(23),N''?''),NCHAR(22),N''?''), ' + + 'NCHAR(21),N''?''),NCHAR(20),N''?''),NCHAR(19),N''?''),NCHAR(18),N''?''),NCHAR(17),N''?''),NCHAR(16),N''?''),NCHAR(15),N''?''),NCHAR(14),N''?''),NCHAR(12),N''?''), ' + + 'NCHAR(11),N''?''),NCHAR(8),N''?''),NCHAR(7),N''?''),NCHAR(6),N''?''),NCHAR(5),N''?''),NCHAR(4),N''?''),NCHAR(3),N''?''),NCHAR(2),N''?''),NCHAR(1),N''?''), ' + + 'NCHAR(0), ' + + N''''' ' + + '), ' + + 'schema_name = ' + + 'REPLACE ' + + '( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 's.name COLLATE Latin1_General_Bin2, ' + + 'NCHAR(31),N''?''),NCHAR(30),N''?''),NCHAR(29),N''?''),NCHAR(28),N''?''),NCHAR(27),N''?''),NCHAR(26),N''?''),NCHAR(25),N''?''),NCHAR(24),N''?''),NCHAR(23),N''?''),NCHAR(22),N''?''), ' + + 'NCHAR(21),N''?''),NCHAR(20),N''?''),NCHAR(19),N''?''),NCHAR(18),N''?''),NCHAR(17),N''?''),NCHAR(16),N''?''),NCHAR(15),N''?''),NCHAR(14),N''?''),NCHAR(12),N''?''), ' + + 'NCHAR(11),N''?''),NCHAR(8),N''?''),NCHAR(7),N''?''),NCHAR(6),N''?''),NCHAR(5),N''?''),NCHAR(4),N''?''),NCHAR(3),N''?''),NCHAR(2),N''?''),NCHAR(1),N''?''), ' + + 'NCHAR(0), ' + + N''''' ' + + '), ' + + 'principal_name = ' + + 'REPLACE ' + + '( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'dp.name COLLATE Latin1_General_Bin2, ' + + 'NCHAR(31),N''?''),NCHAR(30),N''?''),NCHAR(29),N''?''),NCHAR(28),N''?''),NCHAR(27),N''?''),NCHAR(26),N''?''),NCHAR(25),N''?''),NCHAR(24),N''?''),NCHAR(23),N''?''),NCHAR(22),N''?''), ' + + 'NCHAR(21),N''?''),NCHAR(20),N''?''),NCHAR(19),N''?''),NCHAR(18),N''?''),NCHAR(17),N''?''),NCHAR(16),N''?''),NCHAR(15),N''?''),NCHAR(14),N''?''),NCHAR(12),N''?''), ' + + 'NCHAR(11),N''?''),NCHAR(8),N''?''),NCHAR(7),N''?''),NCHAR(6),N''?''),NCHAR(5),N''?''),NCHAR(4),N''?''),NCHAR(3),N''?''),NCHAR(2),N''?''),NCHAR(1),N''?''), ' + + 'NCHAR(0), ' + + N''''' ' + + ') ' + + 'FROM #locks AS l ' + + 'LEFT OUTER JOIN ' + QUOTENAME(@database_name) + '.sys.allocation_units AS au ON ' + + 'au.allocation_unit_id = l.allocation_unit_id ' + + 'LEFT OUTER JOIN ' + QUOTENAME(@database_name) + '.sys.partitions AS p ON ' + + 'p.hobt_id = ' + + 'COALESCE ' + + '( ' + + 'l.hobt_id, ' + + 'CASE ' + + 'WHEN au.type IN (1, 3) THEN au.container_id ' + + 'ELSE NULL ' + + 'END ' + + ') ' + + 'LEFT OUTER JOIN ' + QUOTENAME(@database_name) + '.sys.partitions AS p1 ON ' + + 'l.hobt_id IS NULL ' + + 'AND au.type = 2 ' + + 'AND p1.partition_id = au.container_id ' + + 'LEFT OUTER JOIN ' + QUOTENAME(@database_name) + '.sys.objects AS o ON ' + + 'o.object_id = COALESCE(l.object_id, p.object_id, p1.object_id) ' + + 'LEFT OUTER JOIN ' + QUOTENAME(@database_name) + '.sys.indexes AS i ON ' + + 'i.object_id = COALESCE(l.object_id, p.object_id, p1.object_id) ' + + 'AND i.index_id = COALESCE(l.index_id, p.index_id, p1.index_id) ' + + 'LEFT OUTER JOIN ' + QUOTENAME(@database_name) + '.sys.schemas AS s ON ' + + 's.schema_id = COALESCE(l.schema_id, o.schema_id) ' + + 'LEFT OUTER JOIN ' + QUOTENAME(@database_name) + '.sys.database_principals AS dp ON ' + + 'dp.principal_id = l.principal_id ' + + 'WHERE ' + + 'l.database_name = @database_name ' + + 'OPTION (KEEPFIXED PLAN); '; + EXEC sp_executesql + @sql_n, + N'@database_name sysname', + @database_name; + END TRY + BEGIN CATCH; + UPDATE #locks + SET + query_error = + REPLACE + ( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + CONVERT + ( + NVARCHAR(MAX), + ERROR_MESSAGE() COLLATE Latin1_General_Bin2 + ), + NCHAR(31),N'?'),NCHAR(30),N'?'),NCHAR(29),N'?'),NCHAR(28),N'?'),NCHAR(27),N'?'),NCHAR(26),N'?'),NCHAR(25),N'?'),NCHAR(24),N'?'),NCHAR(23),N'?'),NCHAR(22),N'?'), + NCHAR(21),N'?'),NCHAR(20),N'?'),NCHAR(19),N'?'),NCHAR(18),N'?'),NCHAR(17),N'?'),NCHAR(16),N'?'),NCHAR(15),N'?'),NCHAR(14),N'?'),NCHAR(12),N'?'), + NCHAR(11),N'?'),NCHAR(8),N'?'),NCHAR(7),N'?'),NCHAR(6),N'?'),NCHAR(5),N'?'),NCHAR(4),N'?'),NCHAR(3),N'?'),NCHAR(2),N'?'),NCHAR(1),N'?'), + NCHAR(0), + N'' + ) + WHERE + database_name = @database_name + OPTION (KEEPFIXED PLAN); + END CATCH; + FETCH NEXT FROM locks_cursor + INTO + @database_name; + END; + CLOSE locks_cursor; + DEALLOCATE locks_cursor; + CREATE CLUSTERED INDEX IX_SRD ON #locks (session_id, request_id, database_name); + UPDATE s + SET + s.locks = + ( + SELECT + REPLACE + ( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + CONVERT + ( + NVARCHAR(MAX), + l1.database_name COLLATE Latin1_General_Bin2 + ), + NCHAR(31),N'?'),NCHAR(30),N'?'),NCHAR(29),N'?'),NCHAR(28),N'?'),NCHAR(27),N'?'),NCHAR(26),N'?'),NCHAR(25),N'?'),NCHAR(24),N'?'),NCHAR(23),N'?'),NCHAR(22),N'?'), + NCHAR(21),N'?'),NCHAR(20),N'?'),NCHAR(19),N'?'),NCHAR(18),N'?'),NCHAR(17),N'?'),NCHAR(16),N'?'),NCHAR(15),N'?'),NCHAR(14),N'?'),NCHAR(12),N'?'), + NCHAR(11),N'?'),NCHAR(8),N'?'),NCHAR(7),N'?'),NCHAR(6),N'?'),NCHAR(5),N'?'),NCHAR(4),N'?'),NCHAR(3),N'?'),NCHAR(2),N'?'),NCHAR(1),N'?'), + NCHAR(0), + N'' + ) AS [Database/@name], + MIN(l1.query_error) AS [Database/@query_error], + ( + SELECT + l2.request_mode AS [Lock/@request_mode], + l2.request_status AS [Lock/@request_status], + COUNT(*) AS [Lock/@request_count] + FROM #locks AS l2 + WHERE + l1.session_id = l2.session_id + AND l1.request_id = l2.request_id + AND l2.database_name = l1.database_name + AND l2.resource_type = 'DATABASE' + GROUP BY + l2.request_mode, + l2.request_status + FOR XML + PATH(''), + TYPE + ) AS [Database/Locks], + ( + SELECT + COALESCE(l3.object_name, '(null)') AS [Object/@name], + l3.schema_name AS [Object/@schema_name], + ( + SELECT + l4.resource_type AS [Lock/@resource_type], + l4.page_type AS [Lock/@page_type], + l4.index_name AS [Lock/@index_name], + CASE + WHEN l4.object_name IS NULL THEN l4.schema_name + ELSE NULL + END AS [Lock/@schema_name], + l4.principal_name AS [Lock/@principal_name], + l4.resource_description AS [Lock/@resource_description], + l4.request_mode AS [Lock/@request_mode], + l4.request_status AS [Lock/@request_status], + SUM(l4.request_count) AS [Lock/@request_count] + FROM #locks AS l4 + WHERE + l4.session_id = l3.session_id + AND l4.request_id = l3.request_id + AND l3.database_name = l4.database_name + AND COALESCE(l3.object_name, '(null)') = COALESCE(l4.object_name, '(null)') + AND COALESCE(l3.schema_name, '') = COALESCE(l4.schema_name, '') + AND l4.resource_type <> 'DATABASE' + GROUP BY + l4.resource_type, + l4.page_type, + l4.index_name, + CASE + WHEN l4.object_name IS NULL THEN l4.schema_name + ELSE NULL + END, + l4.principal_name, + l4.resource_description, + l4.request_mode, + l4.request_status + FOR XML + PATH(''), + TYPE + ) AS [Object/Locks] + FROM #locks AS l3 + WHERE + l3.session_id = l1.session_id + AND l3.request_id = l1.request_id + AND l3.database_name = l1.database_name + AND l3.resource_type <> 'DATABASE' + GROUP BY + l3.session_id, + l3.request_id, + l3.database_name, + COALESCE(l3.object_name, '(null)'), + l3.schema_name + FOR XML + PATH(''), + TYPE + ) AS [Database/Objects] + FROM #locks AS l1 + WHERE + l1.session_id = s.session_id + AND l1.request_id = s.request_id + AND l1.start_time IN (s.start_time, s.last_request_start_time) + AND s.recursion = 1 + GROUP BY + l1.session_id, + l1.request_id, + l1.database_name + FOR XML + PATH(''), + TYPE + ) + FROM #sessions s + OPTION (KEEPFIXED PLAN); + END; + IF + @find_block_leaders = 1 + AND @recursion = 1 + AND @output_column_list LIKE '%|[blocked_session_count|]%' ESCAPE '|' + BEGIN; + WITH + blockers AS + ( + SELECT + session_id, + session_id AS top_level_session_id, + CONVERT(VARCHAR(8000), '.' + CONVERT(VARCHAR(8000), session_id) + '.') AS the_path + FROM #sessions + WHERE + recursion = 1 + UNION ALL + SELECT + s.session_id, + b.top_level_session_id, + CONVERT(VARCHAR(8000), b.the_path + CONVERT(VARCHAR(8000), s.session_id) + '.') AS the_path + FROM blockers AS b + JOIN #sessions AS s ON + s.blocking_session_id = b.session_id + AND s.recursion = 1 + AND b.the_path NOT LIKE '%.' + CONVERT(VARCHAR(8000), s.session_id) + '.%' COLLATE Latin1_General_Bin2 + ) + UPDATE s + SET + s.blocked_session_count = x.blocked_session_count + FROM #sessions AS s + JOIN + ( + SELECT + b.top_level_session_id AS session_id, + COUNT(*) - 1 AS blocked_session_count + FROM blockers AS b + GROUP BY + b.top_level_session_id + ) x ON + s.session_id = x.session_id + WHERE + s.recursion = 1; + END; + IF + @get_task_info = 2 + AND @output_column_list LIKE '%|[additional_info|]%' ESCAPE '|' + AND @recursion = 1 + BEGIN; + CREATE TABLE #blocked_requests + ( + session_id SMALLINT NOT NULL, + request_id INT NOT NULL, + database_name sysname NOT NULL, + object_id INT, + hobt_id BIGINT, + schema_id INT, + schema_name sysname NULL, + object_name sysname NULL, + query_error NVARCHAR(2048), + PRIMARY KEY (database_name, session_id, request_id) + ); + CREATE STATISTICS s_database_name ON #blocked_requests (database_name) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_schema_name ON #blocked_requests (schema_name) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_object_name ON #blocked_requests (object_name) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + CREATE STATISTICS s_query_error ON #blocked_requests (query_error) + WITH SAMPLE 0 ROWS, NORECOMPUTE; + INSERT #blocked_requests + ( + session_id, + request_id, + database_name, + object_id, + hobt_id, + schema_id + ) + SELECT + session_id, + request_id, + database_name, + object_id, + hobt_id, + CONVERT(INT, SUBSTRING(schema_node, CHARINDEX(' = ', schema_node) + 3, LEN(schema_node))) AS schema_id + FROM + ( + SELECT + session_id, + request_id, + agent_nodes.agent_node.value('(database_name/text())[1]', 'sysname') AS database_name, + agent_nodes.agent_node.value('(object_id/text())[1]', 'int') AS object_id, + agent_nodes.agent_node.value('(hobt_id/text())[1]', 'bigint') AS hobt_id, + agent_nodes.agent_node.value('(metadata_resource/text()[.="SCHEMA"]/../../metadata_class_id/text())[1]', 'varchar(100)') AS schema_node + FROM #sessions AS s + CROSS APPLY s.additional_info.nodes('//block_info') AS agent_nodes (agent_node) + WHERE + s.recursion = 1 + ) AS t + WHERE + t.database_name IS NOT NULL + AND + ( + t.object_id IS NOT NULL + OR t.hobt_id IS NOT NULL + OR t.schema_node IS NOT NULL + ); + DECLARE blocks_cursor + CURSOR LOCAL FAST_FORWARD + FOR + SELECT DISTINCT + database_name + FROM #blocked_requests; + OPEN blocks_cursor; + FETCH NEXT FROM blocks_cursor + INTO + @database_name; + WHILE @@FETCH_STATUS = 0 + BEGIN; + BEGIN TRY; + SET @sql_n = + CONVERT(NVARCHAR(MAX), '') + + 'UPDATE b ' + + 'SET ' + + 'b.schema_name = ' + + 'REPLACE ' + + '( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 's.name COLLATE Latin1_General_Bin2, ' + + 'NCHAR(31),N''?''),NCHAR(30),N''?''),NCHAR(29),N''?''),NCHAR(28),N''?''),NCHAR(27),N''?''),NCHAR(26),N''?''),NCHAR(25),N''?''),NCHAR(24),N''?''),NCHAR(23),N''?''),NCHAR(22),N''?''), ' + + 'NCHAR(21),N''?''),NCHAR(20),N''?''),NCHAR(19),N''?''),NCHAR(18),N''?''),NCHAR(17),N''?''),NCHAR(16),N''?''),NCHAR(15),N''?''),NCHAR(14),N''?''),NCHAR(12),N''?''), ' + + 'NCHAR(11),N''?''),NCHAR(8),N''?''),NCHAR(7),N''?''),NCHAR(6),N''?''),NCHAR(5),N''?''),NCHAR(4),N''?''),NCHAR(3),N''?''),NCHAR(2),N''?''),NCHAR(1),N''?''), ' + + 'NCHAR(0), ' + + N''''' ' + + '), ' + + 'b.object_name = ' + + 'REPLACE ' + + '( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( ' + + 'o.name COLLATE Latin1_General_Bin2, ' + + 'NCHAR(31),N''?''),NCHAR(30),N''?''),NCHAR(29),N''?''),NCHAR(28),N''?''),NCHAR(27),N''?''),NCHAR(26),N''?''),NCHAR(25),N''?''),NCHAR(24),N''?''),NCHAR(23),N''?''),NCHAR(22),N''?''), ' + + 'NCHAR(21),N''?''),NCHAR(20),N''?''),NCHAR(19),N''?''),NCHAR(18),N''?''),NCHAR(17),N''?''),NCHAR(16),N''?''),NCHAR(15),N''?''),NCHAR(14),N''?''),NCHAR(12),N''?''), ' + + 'NCHAR(11),N''?''),NCHAR(8),N''?''),NCHAR(7),N''?''),NCHAR(6),N''?''),NCHAR(5),N''?''),NCHAR(4),N''?''),NCHAR(3),N''?''),NCHAR(2),N''?''),NCHAR(1),N''?''), ' + + 'NCHAR(0), ' + + N''''' ' + + ') ' + + 'FROM #blocked_requests AS b ' + + 'LEFT OUTER JOIN ' + QUOTENAME(@database_name) + '.sys.partitions AS p ON ' + + 'p.hobt_id = b.hobt_id ' + + 'LEFT OUTER JOIN ' + QUOTENAME(@database_name) + '.sys.objects AS o ON ' + + 'o.object_id = COALESCE(p.object_id, b.object_id) ' + + 'LEFT OUTER JOIN ' + QUOTENAME(@database_name) + '.sys.schemas AS s ON ' + + 's.schema_id = COALESCE(o.schema_id, b.schema_id) ' + + 'WHERE ' + + 'b.database_name = @database_name; '; + EXEC sp_executesql + @sql_n, + N'@database_name sysname', + @database_name; + END TRY + BEGIN CATCH; + UPDATE #blocked_requests + SET + query_error = + REPLACE + ( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + CONVERT + ( + NVARCHAR(MAX), + ERROR_MESSAGE() COLLATE Latin1_General_Bin2 + ), + NCHAR(31),N'?'),NCHAR(30),N'?'),NCHAR(29),N'?'),NCHAR(28),N'?'),NCHAR(27),N'?'),NCHAR(26),N'?'),NCHAR(25),N'?'),NCHAR(24),N'?'),NCHAR(23),N'?'),NCHAR(22),N'?'), + NCHAR(21),N'?'),NCHAR(20),N'?'),NCHAR(19),N'?'),NCHAR(18),N'?'),NCHAR(17),N'?'),NCHAR(16),N'?'),NCHAR(15),N'?'),NCHAR(14),N'?'),NCHAR(12),N'?'), + NCHAR(11),N'?'),NCHAR(8),N'?'),NCHAR(7),N'?'),NCHAR(6),N'?'),NCHAR(5),N'?'),NCHAR(4),N'?'),NCHAR(3),N'?'),NCHAR(2),N'?'),NCHAR(1),N'?'), + NCHAR(0), + N'' + ) + WHERE + database_name = @database_name; + END CATCH; + FETCH NEXT FROM blocks_cursor + INTO + @database_name; + END; + CLOSE blocks_cursor; + DEALLOCATE blocks_cursor; + UPDATE s + SET + additional_info.modify + (' + insert {sql:column("b.schema_name")} + as last + into (/additional_info/block_info)[1] + ') + FROM #sessions AS s + INNER JOIN #blocked_requests AS b ON + b.session_id = s.session_id + AND b.request_id = s.request_id + AND s.recursion = 1 + WHERE + b.schema_name IS NOT NULL; + UPDATE s + SET + additional_info.modify + (' + insert {sql:column("b.object_name")} + as last + into (/additional_info/block_info)[1] + ') + FROM #sessions AS s + INNER JOIN #blocked_requests AS b ON + b.session_id = s.session_id + AND b.request_id = s.request_id + AND s.recursion = 1 + WHERE + b.object_name IS NOT NULL; + UPDATE s + SET + additional_info.modify + (' + insert {sql:column("b.query_error")} + as last + into (/additional_info/block_info)[1] + ') + FROM #sessions AS s + INNER JOIN #blocked_requests AS b ON + b.session_id = s.session_id + AND b.request_id = s.request_id + AND s.recursion = 1 + WHERE + b.query_error IS NOT NULL; + END; + IF + @output_column_list LIKE '%|[program_name|]%' ESCAPE '|' + AND @output_column_list LIKE '%|[additional_info|]%' ESCAPE '|' + AND @recursion = 1 + AND DB_ID('msdb') IS NOT NULL + BEGIN; + SET @sql_n = + N'BEGIN TRY; + DECLARE @job_name sysname; + SET @job_name = NULL; + DECLARE @step_name sysname; + SET @step_name = NULL; + SELECT + @job_name = + REPLACE + ( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + j.name, + NCHAR(31),N''?''),NCHAR(30),N''?''),NCHAR(29),N''?''),NCHAR(28),N''?''),NCHAR(27),N''?''),NCHAR(26),N''?''),NCHAR(25),N''?''),NCHAR(24),N''?''),NCHAR(23),N''?''),NCHAR(22),N''?''), + NCHAR(21),N''?''),NCHAR(20),N''?''),NCHAR(19),N''?''),NCHAR(18),N''?''),NCHAR(17),N''?''),NCHAR(16),N''?''),NCHAR(15),N''?''),NCHAR(14),N''?''),NCHAR(12),N''?''), + NCHAR(11),N''?''),NCHAR(8),N''?''),NCHAR(7),N''?''),NCHAR(6),N''?''),NCHAR(5),N''?''),NCHAR(4),N''?''),NCHAR(3),N''?''),NCHAR(2),N''?''),NCHAR(1),N''?''), + NCHAR(0), + N''?'' + ), + @step_name = + REPLACE + ( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE( + s.step_name, + NCHAR(31),N''?''),NCHAR(30),N''?''),NCHAR(29),N''?''),NCHAR(28),N''?''),NCHAR(27),N''?''),NCHAR(26),N''?''),NCHAR(25),N''?''),NCHAR(24),N''?''),NCHAR(23),N''?''),NCHAR(22),N''?''), + NCHAR(21),N''?''),NCHAR(20),N''?''),NCHAR(19),N''?''),NCHAR(18),N''?''),NCHAR(17),N''?''),NCHAR(16),N''?''),NCHAR(15),N''?''),NCHAR(14),N''?''),NCHAR(12),N''?''), + NCHAR(11),N''?''),NCHAR(8),N''?''),NCHAR(7),N''?''),NCHAR(6),N''?''),NCHAR(5),N''?''),NCHAR(4),N''?''),NCHAR(3),N''?''),NCHAR(2),N''?''),NCHAR(1),N''?''), + NCHAR(0), + N''?'' + ) + FROM msdb.dbo.sysjobs AS j + INNER JOIN msdb.dbo.sysjobsteps AS s ON + j.job_id = s.job_id + WHERE + j.job_id = @job_id + AND s.step_id = @step_id; + IF @job_name IS NOT NULL + BEGIN; + UPDATE s + SET + additional_info.modify + ('' + insert text{sql:variable("@job_name")} + into (/additional_info/agent_job_info/job_name)[1] + '') + FROM #sessions AS s + WHERE + s.session_id = @session_id + AND s.recursion = 1 + OPTION (KEEPFIXED PLAN); + UPDATE s + SET + additional_info.modify + ('' + insert text{sql:variable("@step_name")} + into (/additional_info/agent_job_info/step_name)[1] + '') + FROM #sessions AS s + WHERE + s.session_id = @session_id + AND s.recursion = 1 + OPTION (KEEPFIXED PLAN); + END; + END TRY + BEGIN CATCH; + DECLARE @msdb_error_message NVARCHAR(256); + SET @msdb_error_message = ERROR_MESSAGE(); + UPDATE s + SET + additional_info.modify + ('' + insert {sql:variable("@msdb_error_message")} + as last + into (/additional_info/agent_job_info)[1] + '') + FROM #sessions AS s + WHERE + s.session_id = @session_id + AND s.recursion = 1 + OPTION (KEEPFIXED PLAN); + END CATCH;' + DECLARE @job_id UNIQUEIDENTIFIER; + DECLARE @step_id INT; + DECLARE agent_cursor + CURSOR LOCAL FAST_FORWARD + FOR + SELECT + s.session_id, + agent_nodes.agent_node.value('(job_id/text())[1]', 'uniqueidentifier') AS job_id, + agent_nodes.agent_node.value('(step_id/text())[1]', 'int') AS step_id + FROM #sessions AS s + CROSS APPLY s.additional_info.nodes('//agent_job_info') AS agent_nodes (agent_node) + WHERE + s.recursion = 1 + OPTION (KEEPFIXED PLAN); + OPEN agent_cursor; + FETCH NEXT FROM agent_cursor + INTO + @session_id, + @job_id, + @step_id; + WHILE @@FETCH_STATUS = 0 + BEGIN; + EXEC sp_executesql + @sql_n, + N'@job_id UNIQUEIDENTIFIER, @step_id INT, @session_id SMALLINT', + @job_id, @step_id, @session_id + FETCH NEXT FROM agent_cursor + INTO + @session_id, + @job_id, + @step_id; + END; + CLOSE agent_cursor; + DEALLOCATE agent_cursor; + END; + IF + @delta_interval > 0 + AND @recursion <> 1 + BEGIN; + SET @recursion = 1; + DECLARE @delay_time CHAR(12); + SET @delay_time = CONVERT(VARCHAR, DATEADD(second, @delta_interval, 0), 114); + WAITFOR DELAY @delay_time; + GOTO REDO; + END; + END; + SET @sql = + --Outer column list + CONVERT + ( + VARCHAR(MAX), + CASE + WHEN + @destination_table <> '' + AND @return_schema = 0 + THEN 'INSERT ' + @destination_table + ' ' + ELSE '' + END + + 'SELECT ' + + @output_column_list + ' ' + + CASE @return_schema + WHEN 1 THEN 'INTO #session_schema ' + ELSE '' + END + --End outer column list + ) + + --Inner column list + CONVERT + ( + VARCHAR(MAX), + 'FROM ' + + '( ' + + 'SELECT ' + + 'session_id, ' + + --[dd hh:mm:ss.mss] + CASE + WHEN @format_output IN (1, 2) THEN + 'CASE ' + + 'WHEN elapsed_time < 0 THEN ' + + 'RIGHT ' + + '( ' + + 'REPLICATE(''0'', max_elapsed_length) + CONVERT(VARCHAR, (-1 * elapsed_time) / 86400), ' + + 'max_elapsed_length ' + + ') + ' + + 'RIGHT ' + + '( ' + + 'CONVERT(VARCHAR, DATEADD(second, (-1 * elapsed_time), 0), 120), ' + + '9 ' + + ') + ' + + '''.000'' ' + + 'ELSE ' + + 'RIGHT ' + + '( ' + + 'REPLICATE(''0'', max_elapsed_length) + CONVERT(VARCHAR, elapsed_time / 86400000), ' + + 'max_elapsed_length ' + + ') + ' + + 'RIGHT ' + + '( ' + + 'CONVERT(VARCHAR, DATEADD(second, elapsed_time / 1000, 0), 120), ' + + '9 ' + + ') + ' + + '''.'' + ' + + 'RIGHT(''000'' + CONVERT(VARCHAR, elapsed_time % 1000), 3) ' + + 'END AS [dd hh:mm:ss.mss], ' + ELSE + '' + END + + --[dd hh:mm:ss.mss (avg)] / avg_elapsed_time + CASE + WHEN @format_output IN (1, 2) THEN + 'RIGHT ' + + '( ' + + '''00'' + CONVERT(VARCHAR, avg_elapsed_time / 86400000), ' + + '2 ' + + ') + ' + + 'RIGHT ' + + '( ' + + 'CONVERT(VARCHAR, DATEADD(second, avg_elapsed_time / 1000, 0), 120), ' + + '9 ' + + ') + ' + + '''.'' + ' + + 'RIGHT(''000'' + CONVERT(VARCHAR, avg_elapsed_time % 1000), 3) AS [dd hh:mm:ss.mss (avg)], ' + ELSE + 'avg_elapsed_time, ' + END + + --physical_io + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, physical_io))) OVER() - LEN(CONVERT(VARCHAR, physical_io))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, physical_io), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, physical_io), 1), 19)) AS ' + ELSE '' + END + 'physical_io, ' + + --reads + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, reads))) OVER() - LEN(CONVERT(VARCHAR, reads))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, reads), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, reads), 1), 19)) AS ' + ELSE '' + END + 'reads, ' + + --physical_reads + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, physical_reads))) OVER() - LEN(CONVERT(VARCHAR, physical_reads))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, physical_reads), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, physical_reads), 1), 19)) AS ' + ELSE '' + END + 'physical_reads, ' + + --writes + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, writes))) OVER() - LEN(CONVERT(VARCHAR, writes))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, writes), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, writes), 1), 19)) AS ' + ELSE '' + END + 'writes, ' + + --tempdb_allocations + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, tempdb_allocations))) OVER() - LEN(CONVERT(VARCHAR, tempdb_allocations))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, tempdb_allocations), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, tempdb_allocations), 1), 19)) AS ' + ELSE '' + END + 'tempdb_allocations, ' + + --tempdb_current + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, tempdb_current))) OVER() - LEN(CONVERT(VARCHAR, tempdb_current))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, tempdb_current), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, tempdb_current), 1), 19)) AS ' + ELSE '' + END + 'tempdb_current, ' + + --CPU + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, CPU))) OVER() - LEN(CONVERT(VARCHAR, CPU))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, CPU), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, CPU), 1), 19)) AS ' + ELSE '' + END + 'CPU, ' + + --context_switches + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, context_switches))) OVER() - LEN(CONVERT(VARCHAR, context_switches))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, context_switches), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, context_switches), 1), 19)) AS ' + ELSE '' + END + 'context_switches, ' + + --used_memory + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, used_memory))) OVER() - LEN(CONVERT(VARCHAR, used_memory))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, used_memory), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, used_memory), 1), 19)) AS ' + ELSE '' + END + 'used_memory, ' + + CASE + WHEN @output_column_list LIKE '%|_delta|]%' ESCAPE '|' THEN + --physical_io_delta + 'CASE ' + + 'WHEN ' + + 'first_request_start_time = last_request_start_time ' + + 'AND num_events = 2 ' + + 'AND physical_io_delta >= 0 ' + + 'THEN ' + + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, physical_io_delta))) OVER() - LEN(CONVERT(VARCHAR, physical_io_delta))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, physical_io_delta), 1), 19)) ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, physical_io_delta), 1), 19)) ' + ELSE 'physical_io_delta ' + END + + 'ELSE NULL ' + + 'END AS physical_io_delta, ' + + --reads_delta + 'CASE ' + + 'WHEN ' + + 'first_request_start_time = last_request_start_time ' + + 'AND num_events = 2 ' + + 'AND reads_delta >= 0 ' + + 'THEN ' + + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, reads_delta))) OVER() - LEN(CONVERT(VARCHAR, reads_delta))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, reads_delta), 1), 19)) ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, reads_delta), 1), 19)) ' + ELSE 'reads_delta ' + END + + 'ELSE NULL ' + + 'END AS reads_delta, ' + + --physical_reads_delta + 'CASE ' + + 'WHEN ' + + 'first_request_start_time = last_request_start_time ' + + 'AND num_events = 2 ' + + 'AND physical_reads_delta >= 0 ' + + 'THEN ' + + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, physical_reads_delta))) OVER() - LEN(CONVERT(VARCHAR, physical_reads_delta))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, physical_reads_delta), 1), 19)) ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, physical_reads_delta), 1), 19)) ' + ELSE 'physical_reads_delta ' + END + + 'ELSE NULL ' + + 'END AS physical_reads_delta, ' + + --writes_delta + 'CASE ' + + 'WHEN ' + + 'first_request_start_time = last_request_start_time ' + + 'AND num_events = 2 ' + + 'AND writes_delta >= 0 ' + + 'THEN ' + + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, writes_delta))) OVER() - LEN(CONVERT(VARCHAR, writes_delta))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, writes_delta), 1), 19)) ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, writes_delta), 1), 19)) ' + ELSE 'writes_delta ' + END + + 'ELSE NULL ' + + 'END AS writes_delta, ' + + --tempdb_allocations_delta + 'CASE ' + + 'WHEN ' + + 'first_request_start_time = last_request_start_time ' + + 'AND num_events = 2 ' + + 'AND tempdb_allocations_delta >= 0 ' + + 'THEN ' + + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, tempdb_allocations_delta))) OVER() - LEN(CONVERT(VARCHAR, tempdb_allocations_delta))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, tempdb_allocations_delta), 1), 19)) ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, tempdb_allocations_delta), 1), 19)) ' + ELSE 'tempdb_allocations_delta ' + END + + 'ELSE NULL ' + + 'END AS tempdb_allocations_delta, ' + + --tempdb_current_delta + --this is the only one that can (legitimately) go negative + 'CASE ' + + 'WHEN ' + + 'first_request_start_time = last_request_start_time ' + + 'AND num_events = 2 ' + + 'THEN ' + + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, tempdb_current_delta))) OVER() - LEN(CONVERT(VARCHAR, tempdb_current_delta))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, tempdb_current_delta), 1), 19)) ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, tempdb_current_delta), 1), 19)) ' + ELSE 'tempdb_current_delta ' + END + + 'ELSE NULL ' + + 'END AS tempdb_current_delta, ' + + --CPU_delta + 'CASE ' + + 'WHEN ' + + 'first_request_start_time = last_request_start_time ' + + 'AND num_events = 2 ' + + 'THEN ' + + 'CASE ' + + 'WHEN ' + + 'thread_CPU_delta > CPU_delta ' + + 'AND thread_CPU_delta > 0 ' + + 'THEN ' + + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, thread_CPU_delta + CPU_delta))) OVER() - LEN(CONVERT(VARCHAR, thread_CPU_delta))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, thread_CPU_delta), 1), 19)) ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, thread_CPU_delta), 1), 19)) ' + ELSE 'thread_CPU_delta ' + END + + 'WHEN CPU_delta >= 0 THEN ' + + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, thread_CPU_delta + CPU_delta))) OVER() - LEN(CONVERT(VARCHAR, CPU_delta))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, CPU_delta), 1), 19)) ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, CPU_delta), 1), 19)) ' + ELSE 'CPU_delta ' + END + + 'ELSE NULL ' + + 'END ' + + 'ELSE ' + + 'NULL ' + + 'END AS CPU_delta, ' + + --context_switches_delta + 'CASE ' + + 'WHEN ' + + 'first_request_start_time = last_request_start_time ' + + 'AND num_events = 2 ' + + 'AND context_switches_delta >= 0 ' + + 'THEN ' + + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, context_switches_delta))) OVER() - LEN(CONVERT(VARCHAR, context_switches_delta))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, context_switches_delta), 1), 19)) ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, context_switches_delta), 1), 19)) ' + ELSE 'context_switches_delta ' + END + + 'ELSE NULL ' + + 'END AS context_switches_delta, ' + + --used_memory_delta + 'CASE ' + + 'WHEN ' + + 'first_request_start_time = last_request_start_time ' + + 'AND num_events = 2 ' + + 'AND used_memory_delta >= 0 ' + + 'THEN ' + + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, used_memory_delta))) OVER() - LEN(CONVERT(VARCHAR, used_memory_delta))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, used_memory_delta), 1), 19)) ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, used_memory_delta), 1), 19)) ' + ELSE 'used_memory_delta ' + END + + 'ELSE NULL ' + + 'END AS used_memory_delta, ' + ELSE '' + END + + --tasks + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, tasks))) OVER() - LEN(CONVERT(VARCHAR, tasks))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, tasks), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, tasks), 1), 19)) ' + ELSE '' + END + 'tasks, ' + + 'status, ' + + 'wait_info, ' + + 'locks, ' + + 'tran_start_time, ' + + 'LEFT(tran_log_writes, LEN(tran_log_writes) - 1) AS tran_log_writes, ' + + --open_tran_count + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, open_tran_count))) OVER() - LEN(CONVERT(VARCHAR, open_tran_count))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, open_tran_count), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, open_tran_count), 1), 19)) AS ' + ELSE '' + END + 'open_tran_count, ' + + --sql_command + CASE @format_output + WHEN 0 THEN 'REPLACE(REPLACE(CONVERT(NVARCHAR(MAX), sql_command), '''', '''') AS ' + ELSE '' + END + 'sql_command, ' + + --sql_text + CASE @format_output + WHEN 0 THEN 'REPLACE(REPLACE(CONVERT(NVARCHAR(MAX), sql_text), '''', '''') AS ' + ELSE '' + END + 'sql_text, ' + + 'query_plan, ' + + 'blocking_session_id, ' + + --blocked_session_count + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, blocked_session_count))) OVER() - LEN(CONVERT(VARCHAR, blocked_session_count))) + LEFT(CONVERT(CHAR(22), CONVERT(MONEY, blocked_session_count), 1), 19)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, LEFT(CONVERT(CHAR(22), CONVERT(MONEY, blocked_session_count), 1), 19)) AS ' + ELSE '' + END + 'blocked_session_count, ' + + --percent_complete + CASE @format_output + WHEN 1 THEN 'CONVERT(VARCHAR, SPACE(MAX(LEN(CONVERT(VARCHAR, CONVERT(MONEY, percent_complete), 2))) OVER() - LEN(CONVERT(VARCHAR, CONVERT(MONEY, percent_complete), 2))) + CONVERT(CHAR(22), CONVERT(MONEY, percent_complete), 2)) AS ' + WHEN 2 THEN 'CONVERT(VARCHAR, CONVERT(CHAR(22), CONVERT(MONEY, blocked_session_count), 1)) AS ' + ELSE '' + END + 'percent_complete, ' + + 'host_name, ' + + 'login_name, ' + + 'database_name, ' + + 'program_name, ' + + 'additional_info, ' + + 'start_time, ' + + 'login_time, ' + + 'CASE ' + + 'WHEN status = N''sleeping'' THEN NULL ' + + 'ELSE request_id ' + + 'END AS request_id, ' + + 'GETDATE() AS collection_time ' + --End inner column list + ) + + --Derived table and INSERT specification + CONVERT + ( + VARCHAR(MAX), + 'FROM ' + + '( ' + + 'SELECT TOP(2147483647) ' + + '*, ' + + 'CASE ' + + 'MAX ' + + '( ' + + 'LEN ' + + '( ' + + 'CONVERT ' + + '( ' + + 'VARCHAR, ' + + 'CASE ' + + 'WHEN elapsed_time < 0 THEN ' + + '(-1 * elapsed_time) / 86400 ' + + 'ELSE ' + + 'elapsed_time / 86400000 ' + + 'END ' + + ') ' + + ') ' + + ') OVER () ' + + 'WHEN 1 THEN 2 ' + + 'ELSE ' + + 'MAX ' + + '( ' + + 'LEN ' + + '( ' + + 'CONVERT ' + + '( ' + + 'VARCHAR, ' + + 'CASE ' + + 'WHEN elapsed_time < 0 THEN ' + + '(-1 * elapsed_time) / 86400 ' + + 'ELSE ' + + 'elapsed_time / 86400000 ' + + 'END ' + + ') ' + + ') ' + + ') OVER () ' + + 'END AS max_elapsed_length, ' + + CASE + WHEN @output_column_list LIKE '%|_delta|]%' ESCAPE '|' THEN + 'MAX(physical_io * recursion) OVER (PARTITION BY session_id, request_id) + ' + + 'MIN(physical_io * recursion) OVER (PARTITION BY session_id, request_id) AS physical_io_delta, ' + + 'MAX(reads * recursion) OVER (PARTITION BY session_id, request_id) + ' + + 'MIN(reads * recursion) OVER (PARTITION BY session_id, request_id) AS reads_delta, ' + + 'MAX(physical_reads * recursion) OVER (PARTITION BY session_id, request_id) + ' + + 'MIN(physical_reads * recursion) OVER (PARTITION BY session_id, request_id) AS physical_reads_delta, ' + + 'MAX(writes * recursion) OVER (PARTITION BY session_id, request_id) + ' + + 'MIN(writes * recursion) OVER (PARTITION BY session_id, request_id) AS writes_delta, ' + + 'MAX(tempdb_allocations * recursion) OVER (PARTITION BY session_id, request_id) + ' + + 'MIN(tempdb_allocations * recursion) OVER (PARTITION BY session_id, request_id) AS tempdb_allocations_delta, ' + + 'MAX(tempdb_current * recursion) OVER (PARTITION BY session_id, request_id) + ' + + 'MIN(tempdb_current * recursion) OVER (PARTITION BY session_id, request_id) AS tempdb_current_delta, ' + + 'MAX(CPU * recursion) OVER (PARTITION BY session_id, request_id) + ' + + 'MIN(CPU * recursion) OVER (PARTITION BY session_id, request_id) AS CPU_delta, ' + + 'MAX(thread_CPU_snapshot * recursion) OVER (PARTITION BY session_id, request_id) + ' + + 'MIN(thread_CPU_snapshot * recursion) OVER (PARTITION BY session_id, request_id) AS thread_CPU_delta, ' + + 'MAX(context_switches * recursion) OVER (PARTITION BY session_id, request_id) + ' + + 'MIN(context_switches * recursion) OVER (PARTITION BY session_id, request_id) AS context_switches_delta, ' + + 'MAX(used_memory * recursion) OVER (PARTITION BY session_id, request_id) + ' + + 'MIN(used_memory * recursion) OVER (PARTITION BY session_id, request_id) AS used_memory_delta, ' + + 'MIN(last_request_start_time) OVER (PARTITION BY session_id, request_id) AS first_request_start_time, ' + ELSE '' + END + + 'COUNT(*) OVER (PARTITION BY session_id, request_id) AS num_events ' + + 'FROM #sessions AS s1 ' + + CASE + WHEN @sort_order = '' THEN '' + ELSE + 'ORDER BY ' + + @sort_order + END + + ') AS s ' + + 'WHERE ' + + 's.recursion = 1 ' + + ') x ' + + 'OPTION (KEEPFIXED PLAN); ' + + '' + + CASE @return_schema + WHEN 1 THEN + 'SET @schema = ' + + '''CREATE TABLE ( '' + ' + + 'STUFF ' + + '( ' + + '( ' + + 'SELECT ' + + ''','' + ' + + 'QUOTENAME(COLUMN_NAME) + '' '' + ' + + 'DATA_TYPE + ' + + 'CASE ' + + 'WHEN DATA_TYPE LIKE ''%char'' THEN ''('' + COALESCE(NULLIF(CONVERT(VARCHAR, CHARACTER_MAXIMUM_LENGTH), ''-1''), ''max'') + '') '' ' + + 'ELSE '' '' ' + + 'END + ' + + 'CASE IS_NULLABLE ' + + 'WHEN ''NO'' THEN ''NOT '' ' + + 'ELSE '''' ' + + 'END + ''NULL'' AS [text()] ' + + 'FROM tempdb.INFORMATION_SCHEMA.COLUMNS ' + + 'WHERE ' + + 'TABLE_NAME = (SELECT name FROM tempdb.sys.objects WHERE object_id = OBJECT_ID(''tempdb..#session_schema'')) ' + + 'ORDER BY ' + + 'ORDINAL_POSITION ' + + 'FOR XML ' + + 'PATH('''') ' + + '), + ' + + '1, ' + + '1, ' + + ''''' ' + + ') + ' + + ''')''; ' + ELSE '' + END + --End derived table and INSERT specification + ); + SET @sql_n = CONVERT(NVARCHAR(MAX), @sql); + EXEC sp_executesql + @sql_n, + N'@schema VARCHAR(MAX) OUTPUT', + @schema OUTPUT; +END; \ No newline at end of file diff --git a/sql/storedTestbes/dbo_sp_dts_addlogentry.sql b/sql/storedTestbes/dbo_sp_dts_addlogentry.sql new file mode 100644 index 00000000..94b7b932 --- /dev/null +++ b/sql/storedTestbes/dbo_sp_dts_addlogentry.sql @@ -0,0 +1 @@ +CREATE PROCEDURE [dbo].[sp_dts_addlogentry] @event sysname, @computer nvarchar(128), @operator nvarchar(128), @source nvarchar(1024), @sourceid uniqueidentifier, @executionid uniqueidentifier, @starttime datetime, @endtime datetime, @datacode int, @databytes image, @message nvarchar(2048)AS INSERT INTO sysdtslog90 ( event, computer, operator, source, sourceid, executionid, starttime, endtime, datacode, databytes, message ) VALUES ( @event, @computer, @operator, @source, @sourceid, @executionid, @starttime, @endtime, @datacode, @databytes, @message ) RETURN 0 \ No newline at end of file diff --git a/sql/storedTestbes/dbo_sp_getColors.sql b/sql/storedTestbes/dbo_sp_getColors.sql new file mode 100644 index 00000000..7075275a --- /dev/null +++ b/sql/storedTestbes/dbo_sp_getColors.sql @@ -0,0 +1,18 @@ +CREATE procedure [dbo].[sp_getColors] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + -- Insert statements for procedure here +SELECT [Tipo] + ,[Codice] + ,[Ordinamento] + ,[Descrizione breve] + ,[Descrizione estesa] + ,[HexColor] + ,[Red] + ,[Green] + ,[Blue] + FROM [dbo].[Colori] +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_srv_change_Professional_Base_CU.sql b/sql/storedTestbes/dbo_srv_change_Professional_Base_CU.sql new file mode 100644 index 00000000..1cad1753 --- /dev/null +++ b/sql/storedTestbes/dbo_srv_change_Professional_Base_CU.sql @@ -0,0 +1,16 @@ +CREATE procedure [dbo].[srv_change_Professional_Base_CU] + -- Add the parameters for the stored procedure here + @cod_conf varchar(64) +AS +BEGIN +declare @cod_conf_old varchar(64) +declare @data_chiusura varchar(128) +select top 1 @cod_conf_old= cod_conf_old from consulenzaunicafl.dbo.cbs_dbcontrattosei where cod_conf=@cod_conf +select top 1 @data_chiusura = trcom_dtinvio from consulenzaunicafl.dbo.cbs_histdatiingresso where trcom_codconf=@cod_conf_old and trcom_causale='RS6' +order by TRCOM_PRINVIO desc +update consulenzaunicafl.dbo.cbs_dbcontrattosei +set COD_CONF=@cod_conf_old , COD_CONF_OLD= null, tipoconsulenza='D', +data_chiusura_c6=@data_chiusura -- data trcom_invio con trcom_causale=RS6 +from consulenzaunicafl.dbo.cbs_dbcontrattosei +where cod_conf=@cod_conf +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_srv_change_codfiscaleMassiva_CU_SEIReport.sql b/sql/storedTestbes/dbo_srv_change_codfiscaleMassiva_CU_SEIReport.sql new file mode 100644 index 00000000..8ccb44fb --- /dev/null +++ b/sql/storedTestbes/dbo_srv_change_codfiscaleMassiva_CU_SEIReport.sql @@ -0,0 +1,28 @@ +-- D_DTSX 20180511 +-- Esegue l'allineamento sulla SEIReport. +-- Sostituisce la srv_change_codfiscaleMassiva_CU della SEIReport, per poter eseguire l'allineamento direttamente dalla 203. +-- Richiama la nuova stored procedure sp_change_codfiscale_SEIReport, che sostituisce la sp_change_codfiscale su SEIReport. +CREATE PROCEDURE [dbo].[srv_change_codfiscaleMassiva_CU_SEIReport] +AS +BEGIN + DECLARE @Vecchio varchar(16) + DECLARE @Nuovo varchar(16) + --DECLARE @UltimaData varchar(8) + --SELECT @UltimaData = MAX(convert(varchar(8), DataOperazione, 112)) FROM [10.10.32.203].C6StampeCentralizzate.dbo.RicodificaMassiva + DECLARE Ricodifica_cursor CURSOR FOR +-- SELECT Vecchio, Nuovo FROM [10.10.32.203].C6StampeCentralizzate.dbo.RicodificaMassiva +-- WHERE DataOperazione > @UltimaData + SELECT CF_OLD, CF_NEW FROM RICODIF_CF_PIVA_CU + ORDER BY DTINSERIMENTO + OPEN Ricodifica_cursor + FETCH NEXT FROM Ricodifica_cursor + INTO @Vecchio, @Nuovo + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC dbo.[sp_change_codfiscale_SEIReport] @Nuovo, @Vecchio + FETCH NEXT FROM Ricodifica_cursor + INTO @Vecchio, @Nuovo + END + CLOSE Ricodifica_cursor + DEALLOCATE Ricodifica_cursor +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_srv_change_codfiscale_20161114_OLwhenQready.sql b/sql/storedTestbes/dbo_srv_change_codfiscale_20161114_OLwhenQready.sql new file mode 100644 index 00000000..e110a8d1 --- /dev/null +++ b/sql/storedTestbes/dbo_srv_change_codfiscale_20161114_OLwhenQready.sql @@ -0,0 +1,107 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +-- RSIMLS46A45B670G RSIMLS46A46B670I +-- RMNVLM40L50H027T RMNWLM40L50H027U +--srv_change_codfiscale 'BRGPNG47C50F382V','FRNNLN53D59A757M',1 +--srv_change_codfiscale '04920830827','04020830827','0',0 +CREATE procedure [dbo].[srv_change_codfiscale_20161114_OLwhenQready] + -- Add the parameters for the stored procedure here + @nuovo varchar(16), + @vecchio varchar(16) + --FC 03/10/2014 + --Aggiunto Parametro gestione CF o P.I. + -- 1 = CF + -- 0 =P.I. + ,@isCodFis int + ,@retcodErr int output +AS +BEGIN + --SET NOCOUNT ON; +--toDo FC +begin try +-- begin transaction update_cf +--------GIORNALIERO--------------------------------------------- +-- update C6Mart.CONTRATTOSEI +-- set Cod_Fiscale = @nuovo +-- where Cod_Fiscale = @vecchio + update C6Mart.GESTIONE_PDF_FTP + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + update c6Mart.gestione_email + set cod_fiscale = @nuovo + where cod_fiscale = @vecchio +--------TRIMESTRALE--------------------------------------------- + update C6StagingPeriodico.ContrattiPretrimestrale + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6StagingPeriodico.APPO_CONTRATTI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.CONTRATTOSEI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.ANAG_CLIENTI + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.controllo_trimestrale + set Cod_Fiscale = @nuovo + where Cod_Fiscale = @vecchio + update C6MartPeriodico.GESTIONE_PDF_FTP + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set CodiceFiscale = @nuovo + where CodiceFiscale = @vecchio +-- Sul Sei tabella Cliente il CF è diviso per categoria P.I.V.A. o Cod. Fiscale + IF @isCodFis = 1 + Update C6STAGINGPERIODICO.RP_InfoCliente + set codfis =@nuovo + where codfis = @vecchio + IF @isCodFis = 0 + Update C6STAGINGPERIODICO.RP_InfoCliente + set piva =@nuovo + where piva = @vecchio +-- Sul Sei tabella Cliente il CF è diviso per categoria P.I.V.A. o Cod. Fiscale +--en20161114 update done in specific SP for Quarterly + ----IF @isCodFis = 1 + ----Update [CONSEVO_PERIODICO].ConsulenzaBase.dbo.Cliente + ----set codfis =@nuovo + ----where codfis = @vecchio + ----IF @isCodFis = 0 + ----Update [CONSEVO_PERIODICO].ConsulenzaBase.dbo.Cliente + ----set piva = @nuovo + ----where piva = @vecchio +--EXEC [VMBFDSREPSEI01\I1].[seireport].dbo.sp_change_codfiscale @NUOVO,@VECCHIO +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.Cliente +-- set codEsterno = @nuovo, +-- codFiscale = @nuovo +-- where codEsterno = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.C6ReportFisico +-- set cliente = @nuovo +-- where cliente = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.C6ReportFisico_CAMPAGNA +-- set cliente = @nuovo +-- where cliente = @vecchio +-- +-- update [VMBFDSREPSEI01\I1].[seireport].dbo.LogFilePDF +-- set codicefiscale= @nuovo +-- where codicefiscale= @vecchio +--toFC +--commit transaction update_cf +select @retcodErr=0 +--select * from C6Mart.gestione_email where cod_fiscale='VGNLSI31D47D526G' +--select * from C6Mart.CONTRATTOSEI where cod_fiscale=@nuovo +--toFC +end try +begin catch +-- --print('errore') +-- select 'CF : '+@nuovo CodFiscale,@@error codErr,ERROR_MESSAGE() errMss + --rollback transaction update_cf + select @retcodErr=-1 +end catch +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_srv_change_rete_CU.sql b/sql/storedTestbes/dbo_srv_change_rete_CU.sql new file mode 100644 index 00000000..61a3c4b0 --- /dev/null +++ b/sql/storedTestbes/dbo_srv_change_rete_CU.sql @@ -0,0 +1,98 @@ +/* +DECLARE @RetSP int +DECLARE @retcodErr int +EXECUTE @RetSP = [dbo].[srv_change_rete_CU] + 'F' -- @nuovaRete + , 'S' -- @vecchiaRete + , 'VLNLLL61D62Z133G' -- @CF + , 1 -- @isCodFis: 0-PIva; 1-CF; 2-CodMan Fiduciarie + , '507435CO801' -- @CodiceContratto + , @retcodErr OUTPUT + Select @RetSP RetSP, @retcodErr retcodErr +*/ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [dbo].[srv_change_rete_CU] + -- Add the parameters for the stored procedure here + @nuovaRete varchar(1) + , @vecchiaRete varchar(1) + , @CF varchar(16) + --FC 03/10/2014 + --Aggiunto Parametro gestione CF o P.I. + -- 1 = CF + -- 0 =P.I. + -- 2 =CodMan Fiduciarie + , @isCodFis int + , @CodiceContratto varchar(20) + , @retcodErr int output +AS +BEGIN + --SET NOCOUNT ON; +--toDo FC +begin try +-- begin transaction update_cf +--------GIORNALIERO--------------------------------------------- +-- update C6Mart.CONTRATTOSEI +-- set Cod_Fiscale = @nuovo +-- where Cod_Fiscale = @vecchio + update C6Mart.GESTIONE_PDF_FTP + set rete = @nuovaRete + where CodiceFiscale = @CF and Rete=@vecchiaRete + update c6Mart.gestione_email + set rete = @nuovaRete + where Cod_Fiscale = @CF and Rete=@vecchiaRete +--------TRIMESTRALE--------------------------------------------- + update C6StagingPeriodico.ContrattiPretrimestrale + set rete = @nuovaRete + where Cod_Fiscale = @CF and codiceContratto = @CodiceContratto and Rete = @vecchiaRete + update C6StagingPeriodico.APPO_CONTRATTI + set rete = @nuovaRete + where Cod_Fiscale = @CF and Rete=@vecchiaRete + update C6MartPeriodico.CONTRATTOSEI + set rete = @nuovaRete + where Cod_Fiscale = @CF and codiceContratto = @CodiceContratto and Rete=@vecchiaRete + update C6MartPeriodico.ANAG_CLIENTI + set rete = @nuovaRete + where Cod_Fiscale = @CF and Rete=@vecchiaRete + update C6MartPeriodico.controllo_trimestrale + set rete = @nuovaRete + where Cod_Fiscale = @CF and Rete=@vecchiaRete + update C6MartPeriodico.GESTIONE_PDF_FTP + set rete = @nuovaRete + where CodiceFiscale = @CF and codiceContratto = @CodiceContratto and Rete=@vecchiaRete + update C6MartPeriodico.CRUSCOTTO_CONTRATTISEI + set rete = @nuovaRete + where CodiceFiscale = @CF and Rete=@vecchiaRete + update [C6StagingPeriodico].[Popola_PiramideModello] + set rete = @nuovaRete + where Cod_Fiscale = @CF and Rete=@vecchiaRete +-- Sul Sei tabella Cliente il CF è diviso per categoria P.I.V.A., Cod. Fiscale o CodMan per Fiduciarie + IF @isCodFis = 1 + Update C6STAGINGPERIODICO.RP_InfoCliente + set rete = @nuovaRete + where CodFis = @CF and codiceContratto = @CodiceContratto and Rete=@vecchiaRete + IF @isCodFis = 0 + Update C6STAGINGPERIODICO.RP_InfoCliente + set rete = @nuovaRete + where piva = @CF and codiceContratto = @CodiceContratto and Rete=@vecchiaRete + IF @isCodFis = 2 + Update C6STAGINGPERIODICO.RP_InfoCliente + set rete = @nuovaRete + where CodMan = @CF and codiceContratto = @CodiceContratto and Rete=@vecchiaRete +--toFC +--commit transaction update_cf +select @retcodErr=0 +--select * from C6Mart.gestione_email where cod_fiscale='VGNLSI31D47D526G' +--select * from C6Mart.CONTRATTOSEI where cod_fiscale=@nuovo +--toFC +end try +begin catch +-- --print('errore') +-- select 'CF : '+@nuovo CodFiscale,@@error codErr,ERROR_MESSAGE() errMss + --rollback transaction update_cf + select @retcodErr=-1 +end catch +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_test_S80All_fc.sql b/sql/storedTestbes/dbo_test_S80All_fc.sql new file mode 100644 index 00000000..946fd43c --- /dev/null +++ b/sql/storedTestbes/dbo_test_S80All_fc.sql @@ -0,0 +1,249 @@ +CREATE procedure [dbo].[test_S80All_fc] +AS +BEGIN +/* + Purpose: Calculate the total quantity and sales of the product in + product wise. + Input : No input specified. It will calculate for all the products + in Product Master table. + Output : ProductID,ProductName,Total Quantity and Grand Total of + sale. + Method : The report generated without using the Cursor +----------------------------------------------------------------------- +********************* Modification History ************************* +----------------------------------------------------------------------- +S.No Name Date Version +----------------------------------------------------------------------- +1. Erode Senthilkumar Sep 01, 2009 1.0 +----------------------------------------------------------------------- +*/ + SET NOCOUNT ON + SET XACT_ABORT ON + DECLARE @ProductID INT + DECLARE @ProductName VARCHAR(100) + DECLARE @TotalQty INT + DECLARE @Total MONEY + DECLARE @Index INT + DECLARE @RecordCnt INT + DECLARE @tab TABLE( + id INT IDENTITY(1,1) + ,rete char(1) + ,codicefiscale varchar(16) + ,totCC int + ,totNoCC int + ) + DECLARE @testTab TABLE + ( + id INT IDENTITY(1,1) + ,rete char(1) + ,codicefiscale VARCHAR(100) + ,CountCC INT + ,CountNoCC int + ) + DECLARE @Rete char(1) + DECLARE @CodiceFiscale varchar(16) + -- Recupero data congelamento SEI + DECLARE @MONIT_INIT INT + DECLARE @DataCongelamento DATETIME + DECLARE @MONIT_ATTIV INT + DECLARE @AGGR INT + declare @contaCC as int + declare @contapos as int + SET @DataCongelamento = C6MartPeriodico.getDataCongelamento() + SET @MONIT_ATTIV=0 + SET @MONIT_INIT = 0 + SELECT @Index = 1 + INSERT INTO @tab(rete,codicefiscale,totCC,totNoCC) + select rete,cod_fiscale + ,sum ( case when tipo_prodotto ='CC' then tot else 0 end ) as cc + ,sum ( case when tipo_prodotto <>'CC' then tot else 0 end ) as nocc + from + ( select rete,cod_fiscale,tipo_prodotto,count(*) tot + from c6martperiodico.patrimonio_Bf + --where cod_fiscale = @codiceFiscale and rete = @rete + group by rete,cod_fiscale,tipo_prodotto + ) as gr + group by rete,cod_fiscale + SELECT @RecordCnt = COUNT(id) FROM @tab + WHILE (@Index <= @RecordCnt) + BEGIN + SELECT @rete=rete + ,@codicefiscale=codicefiscale + ,@contacc=totCC + ,@contapos=totNoCC + FROM @tab WHERE id = @Index + SELECT @MONIT_INIT = COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_INIZIALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @MONIT_ATTIV=COUNT(*) + FROM + C6MARTPERIODICO.MONITORAGGIO_ATTUALE + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + SELECT @AGGR=COUNT(*) + FROM + C6MARTPERIODICO.RISCHIO_AGGREGATO + WHERE + RETE = @Rete AND + COD_FISCALE = @CodiceFiscale + IF (@MONIT_ATTIV > 0 AND @AGGR > 0 AND @MONIT_INIT > 0) + BEGIN + -- Attivazione monitoraggio +-- nuova versione da testare +insert into c6martperiodico.tb_S80BisEvoluzioneRischio + SELECT + @rete, + @codicefiscale, + 1 AS Fase, + INI.DATA_FOTO AS DataFase, + INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO + ELSE ROUND(INI.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + INI.VAR_COPERTURA AS Copertura, + INI.RISKCLASS, + INI.RISKCLASSMAX, + case + when INI.RISKCLASS is null then 'n.d.' + when INI.RISKCLASS = 0 then 'n.a.' + else null + end as RiskClassString, + case + when INI.RISKCLASSMAX is null then 'n.d.' + when INI.RISKCLASSMAX = 0 then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + LEFT OUTER join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + INI.RETE = @Rete AND + INI.COD_FISCALE = @CodiceFiscale +-- SELECT +-- 1 AS Fase, +-- INI.DATA_FOTO AS DataFase, +-- INI.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, +-- --V +-- CASE +-- WHEN INI.VAR_COMPLESSIVO IS NULL THEN INI.VAR_COMPLESSIVO +-- ELSE ROUND(INI.VAR_COMPLESSIVO,2) +-- END AS VarComplessivo, +-- INI.VAR_COPERTURA AS Copertura +-- FROM +-- C6MartPeriodico.MONITORAGGIO_INIZIALE INI +-- +-- WHERE +-- INI.RETE = @Rete AND +-- INI.COD_FISCALE = @CodiceFiscale + UNION ALL + -- Precedente invio report + SELECT + @rete, + @codicefiscale, + 2 AS Fase, + rep.DATA_INVIO AS DataFase, + rep.VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN rep.VAR_COMPLESSIVO IS NULL THEN rep.VAR_COMPLESSIVO + ELSE ROUND(rep.VAR_COMPLESSIVO,2) + END AS VarComplessivo, + rep.VAR_COPERTURA AS Copertura, + rep.RISKCLASS, + rep.RISKCLASSMAX, + case when rep.RISKCLASS is null then 'n.a.' + else null + end as RiskClassString, + case when rep.RISKCLASSMAX is null then 'n.a.' + else null + end as RiskClassMaxString + FROM + C6MartPeriodico.MONITORAGGIO_INIZIALE INI + left outer join + C6MartPeriodico.MONITORAGGIO_REPORT rep + on + REP.RETE=INI.RETE + AND + REP.COD_FISCALE=INI.COD_FISCALE + WHERE + rep.RETE = @Rete AND + rep.COD_FISCALE = @CodiceFiscale + AND INI.DATA_FOTO < ISNULL(REP.DATA_INVIO,cast('29991231' as datetime)) + and ISNULL(DATA_INVIO,cast('29991231' as datetime))<@datacongelamento + UNION ALL + -- Situazione corrente + SELECT + @rete, + @codicefiscale, + 3 fase, + CASE + WHEN @DataCongelamento IS NULL THEN GETDATE() + ELSE @DataCongelamento + END AS DataFase, + CR.MAX_VAR AS VarMassimoProfiloFinanziario, + --V + CASE WHEN RA.VAR_PERC_PTF IS NULL THEN 0.00 + ELSE ROUND(RA.VAR_PERC_PTF,2) + END AS VarComplessivo, + CASE + WHEN (@contaPOS - @contaCC = 0 ) THEN 100 + ELSE isnull(RA.COPERTURA,0) + END AS Copertura, +-- TRINGALI MODIFICARE + ra.creditrisk as RISKCLASS, + mifid.riskclass as RISKCLASSMAX, + case when ra.creditrisk is null then 'n.a.' + else null end as RiskClassString, + case when mifid.riskclass is null then 'n.a.' + else null end as RiskClassMaxString + FROM + C6MartPeriodico.vPatrimonioBFAggregato AS BF + INNER JOIN C6MartPeriodico.MIFID AS MIFID + ON BF.RETE = MIFID.RETE + AND BF.COD_FISCALE = MIFID.COD_FISCALE + INNER JOIN C6MartPeriodico.CODIFICA_RISCHIO AS CR + ON MIFID.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN C6MartPeriodico.RISCHIO_AGGREGATO AS RA + ON RA.RETE = BF.RETE + AND RA.COD_FISCALE = BF.COD_FISCALE + AND RA.COD_AGGREG = 'COMPLESSIVO|BF' + WHERE + BF.RETE = @Rete AND + BF.COD_FISCALE = @CodiceFiscale +END +ELSE +BEGIN + insert into c6martperiodico.tb_S80BisEvoluzioneRischio + ( rete,codicefiscale,fase,datafase,VarMassimoProfiloFinanziario,VarComplessivo,Copertura) + SELECT + @rete, + @codicefiscale, + 2 AS Fase, + DATA_INVIO AS DataFase, + VAR_MAX_PROFILO AS VarMassimoProfiloFinanziario, + --V + CASE + WHEN VAR_COMPLESSIVO IS NULL THEN VAR_COMPLESSIVO + ELSE ROUND(VAR_COMPLESSIVO,2) + END AS VarComplessivo, + VAR_COPERTURA AS Copertura + FROM + C6MartPeriodico.MONITORAGGIO_REPORT + WHERE +1=2 +END + SELECT @Index = @Index + 1 + END + SELECT count(*) FROM @testTab +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_test_compl_testo_sezione_adeg_obsoleta.sql b/sql/storedTestbes/dbo_test_compl_testo_sezione_adeg_obsoleta.sql new file mode 100644 index 00000000..1d07431d --- /dev/null +++ b/sql/storedTestbes/dbo_test_compl_testo_sezione_adeg_obsoleta.sql @@ -0,0 +1,16 @@ +-- [dbo].[test_compl_testo_sezione_adeg] 'S', 'BNOSDR61T03F205W' --ok ok +-- [dbo].[test_compl_testo_sezione_adeg] 'F', 'BBOLLN35H65Z110L' --nok nok +CREATE procedure [dbo].[test_compl_testo_sezione_adeg_obsoleta] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +SELECT TESTO_NOTA + FROM [C6StampeCentralizzate].[C6StagingPeriodico].[WSEIAN_TEST_COMPLESSITA] ancmpl + INNER JOIN [C6StagingPeriodico].[CASISTICHE_ADEGUATEZZA] adeg + ON [adeg].[complessita] = [ancmpl].[CLCOMPL] + and [adeg].[concentrazione] = [ancmpl].[FLGCONC] + where rete = @Rete and codfis = @CodiceFiscale + and DTTRIM='20151231' +--'Tutti gli strumenti finanziari nel suo portafoglio risultano avere una complessità coerente con il suo livello di esperienza e conoscenza risultante dal questionario di profilatura' +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_test_fc.sql b/sql/storedTestbes/dbo_test_fc.sql new file mode 100644 index 00000000..e88101d1 --- /dev/null +++ b/sql/storedTestbes/dbo_test_fc.sql @@ -0,0 +1,7 @@ +CREATE procedure [dbo].[test_fc] + @Rete char(1), + @CodiceFiscale varchar(16) +AS +BEGIN +select @rete,@codicefiscale +End \ No newline at end of file diff --git a/sql/storedTestbes/dbo_usp_ExportImage.sql b/sql/storedTestbes/dbo_usp_ExportImage.sql new file mode 100644 index 00000000..42b69eb6 --- /dev/null +++ b/sql/storedTestbes/dbo_usp_ExportImage.sql @@ -0,0 +1,35 @@ +CREATE PROCEDURE [dbo].[usp_ExportImage] ( + @PicName NVARCHAR (100) + ,@ImageFolderPath NVARCHAR(1000) + ,@Filename NVARCHAR(1000) + ) +AS +BEGIN + DECLARE @ImageData VARBINARY (max); + DECLARE @Path2OutFile NVARCHAR (2000); + DECLARE @Obj INT + SET NOCOUNT ON + SELECT @ImageData = ( + SELECT convert (VARBINARY (max), PictureData, 1) + FROM Pictures + WHERE pictureName = @PicName + ); + SET @Path2OutFile = CONCAT ( + @ImageFolderPath + ,'\' + , @Filename + ); + BEGIN TRY + EXEC sp_OACreate 'ADODB.Stream' ,@Obj OUTPUT; + EXEC sp_OASetProperty @Obj ,'Type',1; + EXEC sp_OAMethod @Obj,'Open'; + EXEC sp_OAMethod @Obj,'Write', NULL, @ImageData; + EXEC sp_OAMethod @Obj,'SaveToFile', NULL, @Path2OutFile, 2; + EXEC sp_OAMethod @Obj,'Close'; + EXEC sp_OADestroy @Obj; + END TRY + BEGIN CATCH + EXEC sp_OADestroy @Obj; + END CATCH + SET NOCOUNT OFF +END \ No newline at end of file diff --git a/sql/storedTestbes/dbo_usp_ImportImage.sql b/sql/storedTestbes/dbo_usp_ImportImage.sql new file mode 100644 index 00000000..1e300fc8 --- /dev/null +++ b/sql/storedTestbes/dbo_usp_ImportImage.sql @@ -0,0 +1,21 @@ +CREATE PROCEDURE [dbo].[usp_ImportImage] ( + @PicName NVARCHAR (100) + , @ImageFolderPath NVARCHAR (1000) + , @Filename NVARCHAR (1000) + ) +AS +BEGIN + DECLARE @Path2OutFile NVARCHAR (2000); + DECLARE @tsql NVARCHAR (2000); + SET NOCOUNT ON + SET @Path2OutFile = CONCAT ( + @ImageFolderPath + ,'\' + , @Filename + ); + SET @tsql = 'insert into Pictures (pictureName, picFileName, PictureData) ' + + ' SELECT ' + '''' + @PicName + '''' + ',' + '''' + @Filename + '''' + ', * ' + + 'FROM Openrowset( Bulk ' + '''' + @Path2OutFile + '''' + ', Single_Blob) as img' + EXEC (@tsql) + SET NOCOUNT OFF +END \ No newline at end of file diff --git a/sql/storedTestbes/level2martperiodico_DM_PatrimonioBFAggregato.sql b/sql/storedTestbes/level2martperiodico_DM_PatrimonioBFAggregato.sql new file mode 100644 index 00000000..3edbe103 --- /dev/null +++ b/sql/storedTestbes/level2martperiodico_DM_PatrimonioBFAggregato.sql @@ -0,0 +1,13 @@ +CREATE procedure [level2martperiodico].[DM_PatrimonioBFAggregato] +AS +truncate table [level2martperiodico].[PatrimonioBFAggregato] +insert into [level2martperiodico].[PatrimonioBFAggregato] +SELECT PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE, + SUM(CTV) as CTV, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as PatrimonioNonAssociato, + sum(case Upper(id_area) when 'CC' then ctv else 0 end ) as ContoCorrente, + sum(case Upper(id_area) when 'CC' then 0 else ctv end ) as PatrimonioSenzaCC, + --MAX((isnull(PART_VIAGG.PARTVIA_INV,0))) as PartiteViaggiantiInv, + sum((isnull([C6MartPeriodico].PATRIMONIO_BF.PARTVIA_DISINV,0))) as PartiteViaggiantiDisinv +FROM [C6MartPeriodico].PATRIMONIO_BF +GROUP BY PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE \ No newline at end of file diff --git a/sql/storedTestbes/level2martperiodico_DM_PatrimonioBFAggregato_pre_selective.sql b/sql/storedTestbes/level2martperiodico_DM_PatrimonioBFAggregato_pre_selective.sql new file mode 100644 index 00000000..912d75f4 --- /dev/null +++ b/sql/storedTestbes/level2martperiodico_DM_PatrimonioBFAggregato_pre_selective.sql @@ -0,0 +1,13 @@ +CREATE procedure [level2martperiodico].[DM_PatrimonioBFAggregato_pre_selective] +AS +truncate table [level2martperiodico].[PatrimonioBFAggregato] +insert into [level2martperiodico].[PatrimonioBFAggregato] +SELECT PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE, + SUM(CTV) as CTV, + sum(case Upper(id_area) when 'NA' then ctv else 0 end ) as PatrimonioNonAssociato, + sum(case Upper(id_area) when 'CC' then ctv else 0 end ) as ContoCorrente, + sum(case Upper(id_area) when 'CC' then 0 else ctv end ) as PatrimonioSenzaCC, + --MAX((isnull(PART_VIAGG.PARTVIA_INV,0))) as PartiteViaggiantiInv, + sum((isnull([C6MartPeriodico].PATRIMONIO_BF.PARTVIA_DISINV,0))) as PartiteViaggiantiDisinv +FROM [C6MartPeriodico].PATRIMONIO_BF +GROUP BY PATRIMONIO_BF.RETE, PATRIMONIO_BF.COD_FISCALE \ No newline at end of file diff --git a/sql/storedTestbes/level2martperiodico_DM_PatrimonioNonRappresentabileAsset.sql b/sql/storedTestbes/level2martperiodico_DM_PatrimonioNonRappresentabileAsset.sql new file mode 100644 index 00000000..5f8f91ad --- /dev/null +++ b/sql/storedTestbes/level2martperiodico_DM_PatrimonioNonRappresentabileAsset.sql @@ -0,0 +1,70 @@ +CREATE procedure [level2martperiodico].[DM_PatrimonioNonRappresentabileAsset] +AS +truncate table [level2martperiodico].[PatrimonioNonRappresentabileAsset] +insert into [level2martperiodico].[PatrimonioNonRappresentabileAsset] +SELECT + RETE, + COD_FISCALE, + --SUM(Controvalore) as Controvalore + SUM( cast(Controvalore as decimal(15,3))) as Controvalore + FROM ( + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.CTV as Controvalore + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND ASSETPERC.COD_PRODOTTO IS NULL + UNION ALL +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- ASUL.CTV as Controvalore +-- FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL +-- ON PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- +SELECT ASUL.RETE, + ASUL.COD_FISCALe, + ASUL.CTV*isnull(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + left JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + ASSETPERC.COD_PRODOTTO IS NULL + ) PATR_NO_RAPPR + GROUP BY + RETE, + COD_FISCALE \ No newline at end of file diff --git a/sql/storedTestbes/level2martperiodico_DM_PatrimonioNonRappresentabileAsset_pre_selective.sql b/sql/storedTestbes/level2martperiodico_DM_PatrimonioNonRappresentabileAsset_pre_selective.sql new file mode 100644 index 00000000..5a626ad1 --- /dev/null +++ b/sql/storedTestbes/level2martperiodico_DM_PatrimonioNonRappresentabileAsset_pre_selective.sql @@ -0,0 +1,70 @@ +CREATE procedure [level2martperiodico].[DM_PatrimonioNonRappresentabileAsset_pre_selective] +AS +truncate table [level2martperiodico].[PatrimonioNonRappresentabileAsset] +insert into [level2martperiodico].[PatrimonioNonRappresentabileAsset] +SELECT + RETE, + COD_FISCALE, + --SUM(Controvalore) as Controvalore + SUM( cast(Controvalore as decimal(15,3))) as Controvalore + FROM ( + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.CTV as Controvalore + FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF + INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP + ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO + LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC + ON PATRBF.COD_PRODOTTO = ASSETPERC.COD_PRODOTTO + AND ASSETPERC.LIVELLO = 1 + WHERE + PATRBF.TIPO_PRODOTTO NOT IN ('ASUL','CC') + AND ASSETPERC.COD_PRODOTTO IS NULL + UNION ALL +-- SELECT +-- PATRBF.RETE, +-- PATRBF.COD_FISCALE, +-- ASUL.CTV as Controvalore +-- FROM C6MARTPERIODICO.PATRIMONIO_BF PATRBF +-- INNER JOIN C6MARTPERIODICO.ANAG_PRODOTTI ANAGP +-- ON PATRBF.COD_PRODOTTO = ANAGP.COD_PRODOTTO +-- INNER JOIN C6MARTPERIODICO.DETTAGLIO_ASUL ASUL +-- ON PATRBF.RETE = ASUL.RETE +-- AND PATRBF.COD_FISCALE = ASUL.COD_FISCALE +-- AND PATRBF.ID_CONTRATTO = ASUL.ID_CONTRATTO +-- LEFT OUTER JOIN C6MARTPERIODICO.ASSET_PERC ASSETPERC +-- ON ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO +-- AND ASSETPERC.LIVELLO = 1 +-- WHERE +-- PATRBF.TIPO_PRODOTTO = 'ASUL' +-- AND ASSETPERC.COD_PRODOTTO IS NULL +-- +SELECT ASUL.RETE, + ASUL.COD_FISCALe, + ASUL.CTV*isnull(ASSETPERC.PERC,1) as Controvalore + FROM + C6MartPeriodico.DETTAGLIO_ASUL ASUL + left JOIN + C6MartPeriodico.ASSET_PERC ASSETPERC + ON + ( + ASSETPERC.COD_PRODOTTO = ASUL.COD_PRODOTTO + ---no SKANDIA + AND ASUL.COD_ISIN_SOTT = '' + AND ASSETPERC.LIVELLO = 1 + ) + or + ( --SKANDIA + ASSETPERC.COD_ISIN = ASUL.COD_ISIN_SOTT + AND ASSETPERC.COD_MAF = ASUL.COD_MAF_SOTT + AND ASSETPERC.COD_INTERNO = ASUL.COD_INTERNO + AND rtrim(ASSETPERC.COD_SOTTOPRODOTTO) = ASUL.COD_SOTTOPRODOTTO + AND ASSETPERC.LIVELLO = 1 + ) + WHERE + ASSETPERC.COD_PRODOTTO IS NULL + ) PATR_NO_RAPPR + GROUP BY + RETE, + COD_FISCALE \ No newline at end of file diff --git a/sql/storedTestbes/level2martperiodico_DM_PatrimonioTerziAggregato.sql b/sql/storedTestbes/level2martperiodico_DM_PatrimonioTerziAggregato.sql new file mode 100644 index 00000000..355f9ee0 --- /dev/null +++ b/sql/storedTestbes/level2martperiodico_DM_PatrimonioTerziAggregato.sql @@ -0,0 +1,40 @@ +CREATE procedure [level2martperiodico].[DM_PatrimonioTerziAggregato] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE_PERIODICO + (Nome, Inizio, Nota) + VALUES ( + 'level2martperiodico.DM_PatrimonioTerziAggregato', + GETDATE(), + 'Elaborazione trimestrale' + ) +truncate table [level2martperiodico].PatrimonioTerziAggregato +insert into [level2martperiodico].PatrimonioTerziAggregato +SELECT + RETE, + COD_FISCALE, + SUM(ROUND(CTV, 2)) AS CTV, + SUM(ROUND(CASE WHEN TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END, 2)) AS ControvaloreSenzaCC, + SUM(ROUND(CASE WHEN TIPO_PRODOTTO = 'Conti correnti' THEN CTV ELSE 0 END, 2)) AS ControvaloreCC, + count(DISTINCT INTERMEDIARIO) as NumeroIntermediari +FROM + C6MartPeriodico.PATRIMONIO_TERZI +GROUP BY + RETE, + COD_FISCALE + UPDATE + LOG_ESECUZIONE_PERIODICO + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'level2martperiodico.DM_PatrimonioTerziAggregato' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE_PERIODICO + WHERE + Nome = 'level2martperiodico.DM_PatrimonioTerziAggregato' + ) \ No newline at end of file diff --git a/sql/storedTestbes/level2martperiodico_DM_PatrimonioTerziAggregato_pre_selective.sql b/sql/storedTestbes/level2martperiodico_DM_PatrimonioTerziAggregato_pre_selective.sql new file mode 100644 index 00000000..069c5a24 --- /dev/null +++ b/sql/storedTestbes/level2martperiodico_DM_PatrimonioTerziAggregato_pre_selective.sql @@ -0,0 +1,40 @@ +CREATE procedure [level2martperiodico].[DM_PatrimonioTerziAggregato_pre_selective] +AS +-- Log esecuzione + INSERT INTO LOG_ESECUZIONE + (Nome, Inizio, Nota) + VALUES ( + 'level2martperiodico.DM_PatrimonioTerziAggregato_pre_selective', + GETDATE(), + 'Elaborazione trimestrale' + ) +truncate table [level2martperiodico].PatrimonioTerziAggregato +insert into [level2martperiodico].PatrimonioTerziAggregato +SELECT + RETE, + COD_FISCALE, + SUM(ROUND(CTV, 2)) AS CTV, + SUM(ROUND(CASE WHEN TIPO_PRODOTTO = 'Conti correnti' THEN 0 ELSE CTV END, 2)) AS ControvaloreSenzaCC, + SUM(ROUND(CASE WHEN TIPO_PRODOTTO = 'Conti correnti' THEN CTV ELSE 0 END, 2)) AS ControvaloreCC, + count(DISTINCT INTERMEDIARIO) as NumeroIntermediari +FROM + C6MartPeriodico.PATRIMONIO_TERZI +GROUP BY + RETE, + COD_FISCALE + UPDATE + LOG_ESECUZIONE + SET + Fine = GETDATE(), + Tipo = 'INSERT', + Righe = @@ROWCOUNT + WHERE + Nome = 'level2martperiodico.DM_PatrimonioTerziAggregato_pre_selective' AND + Inizio = ( + SELECT + MAX(Inizio) + FROM + LOG_ESECUZIONE + WHERE + Nome = 'level2martperiodico.DM_PatrimonioTerziAggregato_pre_selective' + ) \ No newline at end of file diff --git a/sql/storedTestbes/wh_MERGED_PROCEDURE.sql b/sql/storedTestbes/wh_MERGED_PROCEDURE.sql new file mode 100644 index 00000000..3e29bfa5 --- /dev/null +++ b/sql/storedTestbes/wh_MERGED_PROCEDURE.sql @@ -0,0 +1,447 @@ +-- ============================================= +-- Author: +-- Create date: +-- Description: +-- ============================================= +CREATE procedure [wh].[MERGED_PROCEDURE] +AS +BEGIN + SET NOCOUNT ON; +--------------------------------------------------------------------- +---------------------------------------------- +--maledetti +declare @data varchar(8) +set @data=c6martperiodico.getPreviousTrimestre(getDate(),0) +begin +truncate table wh.Maledetti +insert into wh.Maledetti --70 minutes +( +[i_CodiceFiscale] + ,[i_Rete] + ,[Rete] + ,[NomeRete] + ,[Agente] + ,[CognomeAgente] + ,[NomeAgente] + ,[IndirizzoAgente] + ,[CapAgente] + ,[CittaAgente] + ,[TelefonoAgente] + ,[CodiceFiscale] + ,[CognomeCliente] + ,[NomeCliente] + ,[ProfiloIsAct] + ,[PatrimonioNonRappresentabile] + ,[PartiteViaggiantiDisinv] + ,[PartiteViaggiantiInv] + ,[ContoCorrente] + ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,[RisorseNonAssociate] + ,[Patrimonioaltroctv] + ,[Patrimonioimmobiliarectv] + ,[PatrimonioTerzictv] + ,[PatrimonioTerziCtvAlNettoContoCorrente] + ,[PatrimonioTerziContoCorrente] + ,[Patrimoniobancafideuramctv] + ,[Patrimoniocomplessivototalectv] + ,[NumeroIntermediari] + ,[CodiceContratto] + ,[tip_contratto] + ,[contrattoold] + ,[NoMonitoraggio] + ,[descrizioneDiagnosi] + ,[idModelloDiagnosi] + ,[idReportDiagnosi] + ,[descrizioneMonitoraggio] + ,[idReportMonitoraggio] + ,[idModelloMonitoraggio] + ,[AdesioneSuccessivaAvanzato] + ,[VaRRisorseNonAssociate] + ,[CoperturaRisorseNonAssociate] + ,[VaRTotaleRisorseFinanziarie] + ,[CoperturaTotaleRisorseFinanziarie] + ,[IdReportPDFDiagnosi] + ,[IdReportPDFMonitoraggio] + ,scaduto + ) +SELECT + DISTINCT + contratti.Cod_Fiscale as i_CodiceFiscale + ,contratti.Rete as i_Rete + --DATI COMUNI + --RETE + ,contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Inv.' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,case when contratti.tip_contratto in (0,1,2) + then 2 else 3 end AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,ISNULL(monit.NoMonitoraggio, 1) AS NoMonitoraggio --fix 20161012 + ,'Diagnosi' as descrizioneDiagnosi + ,-1 AS idModelloDiagnosi + ,-1 AS idReportDiagnosi + ,'Monitoraggio' as descrizioneMonitoraggio + ,4 as idReportMonitoraggio--4 + ,CASE isnull(tip_contratto,0) + WHEN 0 THEN 13--12 + WHEN 1 THEN 13--12 + WHEN 2 THEN 13--13 + WHEN 3 THEN 6 -- Fideuram Direct + END AS idModelloMonitoraggio + --************************************************* + ,0 AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFMonitoraggio + ,mifid.scaduto + FROM [C6MartPeriodico].contrattoSEI contratti + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + --65992 + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + -- 64864 + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --modificata da Valerio 12 marzo 2012 + --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + --64864 + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + --64864 + left join ( + select distinct monit.rete, monit.cod_fiscale, + case when isnull(monitInit.data_foto,getDate()) >= @data then 1 -- case when isnull(monitInit.data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) then 1 pre 01/10/2022 + when monitReport.cod_fiscale is null then 1 else 0 end as NoMonitoraggio + from c6martperiodico.monitoraggio_attuale monit + left join c6martperiodico.monitoraggio_iniziale monitInit on monit.rete = monitInit.rete and monit.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport on monit.rete = monitReport.rete and monit.cod_fiscale = monitReport.cod_fiscale + ) monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + WHERE 1=1 + --144104 + end +------------------------------------------------------------------------- +--update +-- [C6MartPeriodico].[ANAG_CLIENTI] +-- set cognome = 'SOCIETA'' ITALIANA DI REVISIONE E FIDUCIARIA',nome = '' +-- where cognome = 'SOCIETA'' ITALIANA DI REVISIONE E FIDUCIARIA' +--update +--wh.maledetti +--set cognomeCliente = 'SOCIETA'' ITALIANA DI REVISIONE E FIDUCIARIA' +--where +--cognomeCliente = 'SOCIETA'' ITALIANA DI REVI' +--aggiornamento 21/12/2022 + update + [C6MartPeriodico].[ANAG_CLIENTI] + set cognome = 'SOCIETA ITALIANA DI REVISIONE E FIDUCIARIA S.P.A',nome = '' + where --cognome like '%SOCIETA ITALIANA DI REVI%' + cognome like '%SOCIET%' and cognome like '%ITA%' and cognome like '%REV%' +update +wh.maledetti +set cognomeCliente='SOCIETA ITALIANA DI REVISIONE E FIDUCIARIA S.P.A', NomeCliente=''--'-'+' '+SUBSTRING(i_CodiceFiscale, 4,LEN(i_codiceFiscale)) +where --i_codicefiscale = 'FF@10724' + CognomeCliente like '%SOCIET%' and CognomeCliente like '%ITA%' and CognomeCliente like '%REV%' +END +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [wh].[MERGED_PROCEDURE] Script Date: 08/02/2022 17:22:24 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +---- ============================================= +---- Author: +---- Create date: +---- Description: +---- ============================================= +--ALTER procedure [wh].[MERGED_PROCEDURE] +--AS +--BEGIN +-- SET NOCOUNT ON; +----------------------------------------------------------------------- +------------------------------------------------ +----maledetti +--begin +--truncate table wh.Maledetti +--insert into wh.Maledetti --70 minutes +--( +--[i_CodiceFiscale] +-- ,[i_Rete] +-- ,[Rete] +-- ,[NomeRete] +-- ,[Agente] +-- ,[CognomeAgente] +-- ,[NomeAgente] +-- ,[IndirizzoAgente] +-- ,[CapAgente] +-- ,[CittaAgente] +-- ,[TelefonoAgente] +-- ,[CodiceFiscale] +-- ,[CognomeCliente] +-- ,[NomeCliente] +-- ,[ProfiloIsAct] +-- ,[PatrimonioNonRappresentabile] +-- ,[PartiteViaggiantiDisinv] +-- ,[PartiteViaggiantiInv] +-- ,[ContoCorrente] +-- ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +-- ,[RisorseNonAssociate] +-- ,[Patrimonioaltroctv] +-- ,[Patrimonioimmobiliarectv] +-- ,[PatrimonioTerzictv] +-- ,[PatrimonioTerziCtvAlNettoContoCorrente] +-- ,[PatrimonioTerziContoCorrente] +-- ,[Patrimoniobancafideuramctv] +-- ,[Patrimoniocomplessivototalectv] +-- ,[NumeroIntermediari] +-- ,[CodiceContratto] +-- ,[tip_contratto] +-- ,[contrattoold] +-- ,[NoMonitoraggio] +-- ,[descrizioneDiagnosi] +-- ,[idModelloDiagnosi] +-- ,[idReportDiagnosi] +-- ,[descrizioneMonitoraggio] +-- ,[idReportMonitoraggio] +-- ,[idModelloMonitoraggio] +-- ,[AdesioneSuccessivaAvanzato] +-- ,[VaRRisorseNonAssociate] +-- ,[CoperturaRisorseNonAssociate] +-- ,[VaRTotaleRisorseFinanziarie] +-- ,[CoperturaTotaleRisorseFinanziarie] +-- ,[IdReportPDFDiagnosi] +-- ,[IdReportPDFMonitoraggio] +-- ,scaduto +-- ) +--SELECT +-- DISTINCT +-- contratti.Cod_Fiscale as i_CodiceFiscale +-- ,contratti.Rete as i_Rete +-- --DATI COMUNI +-- --RETE +-- ,contratti.Rete +-- ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete +-- --AGENTE +-- ,contratti.Cod_Agente Agente +-- ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente +-- ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente +-- ,isnull(promotori.Indirizzo,'') IndirizzoAgente +-- ,isnull(promotori.Cap,'') CapAgente +-- ,isnull(promotori.Localita,'') CittaAgente +-- ,isnull(promotori.TEL_Recapito,'') TelefonoAgente +-- --CLIENTE +-- ,contratti.Cod_Fiscale CodiceFiscale +-- ,clienti.Cognome CognomeCliente +-- ,clienti.nome NomeCliente +-- --PATRIMONI CLIENTE +-- ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct +-- ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile +-- ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv +-- ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv +-- ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente +-- ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente +-- ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate +-- ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv +-- ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv +-- ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv +-- ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente +-- ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente +-- ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv +-- ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv +-- ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari +-- --CONTRATTO +-- ,contratti.CodiceContratto CodiceContratto +-- ,contratti.tip_contratto AS tip_contratto +-- ,0 AS contrattoold +-- --************************************************* +-- ,ISNULL(monit.NoMonitoraggio, 1) AS NoMonitoraggio --fix 20161012 +-- ,'Diagnosi' as descrizioneDiagnosi +-- ,CASE +-- WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 5 +-- ELSE -1 +-- END AS idModelloDiagnosi +-- ,CASE +-- WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 1 +-- ELSE -1 +-- END AS idReportDiagnosi +-- ,'Monitoraggio' as descrizioneMonitoraggio +-- ,4 as idReportMonitoraggio--4 +-- ,CASE isnull(tip_contratto,0) +-- WHEN 0 THEN 12--12 +-- WHEN 1 THEN 12--12 +-- WHEN 2 THEN 13--13 +-- END AS idModelloMonitoraggio +-- --************************************************* +-- ,0 AS AdesioneSuccessivaAvanzato +-- ,CASE +-- WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 +-- ELSE RISCHIO_NA.VAR_PERC_PTF +-- END AS VaRRisorseNonAssociate +-- ,CASE +-- WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 +-- ELSE RISCHIO_NA.COPERTURA +-- END AS CoperturaRisorseNonAssociate +-- ,CASE +-- WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 +-- ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF +-- END AS VaRTotaleRisorseFinanziarie +-- ,CASE +-- WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 +-- ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA +-- END AS CoperturaTotaleRisorseFinanziarie +-- ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' +-- AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) +-- AS IdReportPDFDiagnosi +-- ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' +-- AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) +-- AS IdReportPDFMonitoraggio +-- ,mifid.scaduto +-- FROM [C6MartPeriodico].contrattoSEI contratti +-- left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori +-- on contratti.Rete = promotori.Rete +-- and contratti.Cod_Agente = promotori.Id_Promotore +-- --65992 +-- inner join [C6MartPeriodico].ANAG_CLIENTI clienti +-- on contratti.Rete = clienti.Rete +-- and contratti.Cod_Fiscale = clienti.Cod_Fiscale +-- --V non stampo se non ha patrimonio +-- inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF +-- on contratti.Rete = patrimonioBF.Rete +-- and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale +-- -- 64864 +-- left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro +-- on contratti.Rete = patrimonioAltro.Rete +-- and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale +-- --64864 +-- left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare +-- on contratti.Rete = patrimonioImmobiliare.Rete +-- and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale +-- left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi +-- on contratti.Rete = patrimonioTerzi.Rete +-- and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale +-- --64864 +-- left outer join [C6MartPeriodico].MIFID MIFID +-- on contratti.Rete = MIFID.Rete +-- and contratti.Cod_Fiscale = MIFID.Cod_Fiscale +-- left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset +-- on contratti.Rete = PatrNonRapprAsset.Rete +-- and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale +-- left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari +-- on contratti.Rete = numIntermediari.Rete +-- and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale +-- --64864 +-- left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA +-- on contratti.Rete = RISCHIO_NA.Rete +-- and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale +-- and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' +-- --modificata da Valerio 12 marzo 2012 +-- --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE +-- inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE +-- on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete +-- and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale +-- and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' +-- --64864 +-- left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI +-- on contratti.Rete = PARTITEVIAGGIANTI.RETE +-- and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE +-- --64864 +-- left join ( +-- select distinct monit.rete, monit.cod_fiscale, +-- case when isnull(monitInit.data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) then 1 +-- when monitReport.cod_fiscale is null then 1 else 0 end as NoMonitoraggio +-- from c6martperiodico.monitoraggio_attuale monit +-- left join c6martperiodico.monitoraggio_iniziale monitInit on monit.rete = monitInit.rete and monit.cod_fiscale = monitInit.cod_fiscale +-- left join c6martperiodico.monitoraggio_report monitReport on monit.rete = monitReport.rete and monit.cod_fiscale = monitReport.cod_fiscale +-- ) monit +-- on patrimonioBF.rete = monit.rete +-- and patrimonioBF.cod_fiscale = monit.cod_fiscale +-- WHERE 1=1 +-- --144104 +-- end +--------------------------------------------------------------------------- +--END \ No newline at end of file diff --git a/sql/storedTestbes/wh_MERGED_PROCEDURE_NUOVA.sql b/sql/storedTestbes/wh_MERGED_PROCEDURE_NUOVA.sql new file mode 100644 index 00000000..39e31849 --- /dev/null +++ b/sql/storedTestbes/wh_MERGED_PROCEDURE_NUOVA.sql @@ -0,0 +1,305 @@ +CREATE procedure [wh].[MERGED_PROCEDURE_NUOVA] +AS +BEGIN + SET NOCOUNT ON; +--------------------------------------------------------------------- +truncate table wh.pl_s85rendimentoportafogliocono +truncate table wh.pl_areemonitorate +truncate table wh.pl_s43lineaselfbf +truncate table wh.pl_s10patrimoniofinanziario +truncate table wh.pl_prodotti_non_associati_area_inv +truncate table wh.pl_d2_s151profilodirischio +truncate table wh.pl_d2_s152patrimonio +truncate table wh.pl_d2_s153patrimoniofinanziario +truncate table wh.pl_d2_s154patrimoniofinanziario +truncate table wh.pl_d2_s155patrimonioimmobiliare +truncate table wh.pl_d2_s156altropatrimonio +truncate table wh.pl_d2_s157confrontopiramidi +truncate table wh.pl_d2_s158piramidemodello +truncate table wh.pl_d2_s159patrimoniofinanziario +truncate table wh.pl_d2_s160dettaglioprodottibf +truncate table wh.pl_d2_s162dettaglioprodotti +truncate table wh.pl_d2_s163patrimoniofinanziariomassetclass +truncate table wh.pl_d2_s164polizzealtriistituti +truncate table wh.pl_d2_s165fondialtriistituti +truncate table wh.pl_d2_s167distribuzionerischiocredito +truncate table wh.pl_d2_s168tabellaemittenti +truncate table wh.pl_s43dettaglioprodottibf +truncate table wh.PL_D2_S169RischiomercatoRischiocredito +truncate table wh.pl_d2_s170rischiodiversificazione +truncate table wh.pl_d2_s171patrimoniononrappresentabileassettclass +truncate table wh.pl_mp_s137bonus +truncate table wh.pl_mp_s135monitoraggioinvestimento +truncate table wh.pl_mp_s134monitoraggioliquidita +truncate table wh.pl_mp_s134bismonitoraggioliqinv +truncate table wh.pl_mp_s133bisprincipaliprodotti +truncate table wh.pl_mp_s133areebisognoprincprod +truncate table wh.pl_mp_s146rischiodiversificazione +truncate table wh.pl_mp_s141analisirisparmiotable +truncate table wh.pl_mp_s140analisirisparmiocharts +truncate table wh.pl_mp_s137biscapitaleprotetto +truncate table wh.pl_s43contocorrentebf +truncate table wh.pl_s43bisdettaglioprodottibf +truncate table wh.pl_s88patrimoniononconsideratonelcalcolodelrendimento +truncate table wh.pl_s82datisintetici +truncate table wh.pl_s82bisdatisintetici +truncate table wh.pl_s76alternativapatrimoniononrappresentabileassettclass +truncate table wh.pl_s80alternativa +truncate table wh.pl_s96rischiomercatorischiocredito +truncate table wh.pl_d2_s170rischiodiversificazione +truncate table wh.PL_D_S178IndicatoriEsitoAdeguatezza +------------------------------------------------------------------------ +---------------------------------------------PL_S85RendimentoPortafoglioCono + BEGIN + exec wh.MERGED_PROCEDURE_S85 + END +--------------------------------------------------------------------------- +---------------------------------------------PL_S43LineaSelfBF + BEGIN + exec wh.MERGED_PROCEDURE_S43 + END +--------------------------------------------------------------------------- +---------------------------------------------PL_S10PatrimonioFinanziario + BEGIN + exec [wh].[MERGED_PROCEDURE_S10] + END +--------------------------------------------------------------------------- +---------------------------------------------PL_Prodotti_Non_Associati_Area_Inv + BEGIN + exec [wh].[MERGED_PROCEDURE_PL_Prodotti_Non_Associati_Area_Inv] + END +--------------------------------------------------------------------------- +---------------------------------------------PL_D3_S151ProfiloDiRischio + BEGIN + exec [wh].[MERGED_PROCEDURE_S151] + END +--------------------------------------------------------------------------- +---------------------------------------------PL_D2_S169RischiomercatoRischiocredito + BEGIN + exec wh.MERGED_PROCEDURE_S169 + END +--------------------------------------------------------------------------- +---------------------------------------------PL_D2_S170RischioDiversificazione + BEGIN + exec wh.MERGED_PROCEDURE_S170 + END +--------------------------------------------------------------------------- +---------------------------------------------PL_D_S178IndicatoriEsitoAdeguatezza: 8:24 min + BEGIN + exec wh.MERGED_PROCEDURE_S178 + END +--------------------------------------------------------------------------- +---------------------------------------------Maledetti + begin + truncate table wh.Maledetti + insert into wh.Maledetti --70 minutes + ( [i_CodiceFiscale] + ,[i_Rete] + ,[Rete] + ,[NomeRete] + ,[Agente] + ,[CognomeAgente] + ,[NomeAgente] + ,[IndirizzoAgente] + ,[CapAgente] + ,[CittaAgente] + ,[TelefonoAgente] + ,[CodiceFiscale] + ,[CognomeCliente] + ,[NomeCliente] + ,[ProfiloIsAct] + ,[PatrimonioNonRappresentabile] + ,[PartiteViaggiantiDisinv] + ,[PartiteViaggiantiInv] + ,[ContoCorrente] + ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,[RisorseNonAssociate] + ,[Patrimonioaltroctv] + ,[Patrimonioimmobiliarectv] + ,[PatrimonioTerzictv] + ,[PatrimonioTerziCtvAlNettoContoCorrente] + ,[PatrimonioTerziContoCorrente] + ,[Patrimoniobancafideuramctv] + ,[Patrimoniocomplessivototalectv] + ,[NumeroIntermediari] + ,[CodiceContratto] + ,[tip_contratto] + ,[contrattoold] + ,[NoMonitoraggio] + ,[descrizioneDiagnosi] + ,[idModelloDiagnosi] + ,[idReportDiagnosi] + ,[descrizioneMonitoraggio] + ,[idReportMonitoraggio] + ,[idModelloMonitoraggio] + ,[AdesioneSuccessivaAvanzato] + ,[VaRRisorseNonAssociate] + ,[CoperturaRisorseNonAssociate] + ,[VaRTotaleRisorseFinanziarie] + ,[CoperturaTotaleRisorseFinanziarie] + ,[IdReportPDFDiagnosi] + ,[IdReportPDFMonitoraggio] + ,scaduto + ) + select distinct + contratti.Cod_Fiscale as i_CodiceFiscale + ,contratti.Rete as i_Rete + --DATI COMUNI + --RETE + ,contratti.Rete + ,CASE + WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' + ELSE 'Sanpaolo Invest' + END AS NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) + WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') + ELSE '' + END) AS CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) + WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') + ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE + WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 + ELSE 1 + END AS ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,ISNULL(monit.NoMonitoraggio, 1) AS NoMonitoraggio --fix 20161012 + ,'Diagnosi' as descrizioneDiagnosi + ,CASE + WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 5 + ELSE -1 + END AS idModelloDiagnosi + ,CASE + WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 1 + ELSE -1 + END AS idReportDiagnosi + ,'Monitoraggio' as descrizioneMonitoraggio + ,4 as idReportMonitoraggio--4 + ,CASE isnull(tip_contratto,0) + WHEN 0 THEN 12--12 + WHEN 1 THEN 12--12 + WHEN 2 THEN 13--13 + END AS idModelloMonitoraggio + --************************************************* + ,0 AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie + ,isnull((SELECT max(idReport) + FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'D' + AND ftp.codicefiscale = contratti.cod_fiscale + AND ftp.rete = contratti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) + FROM c6martperiodico.GESTIONE_PDF_FTP ftp + where tipoReport = 'M' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFMonitoraggio + ,mifid.scaduto + FROM [C6MartPeriodico].contrattoSEI contratti + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + --65992 + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + -- 64864 + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + --64864 + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --modificata da Valerio 12 marzo 2012 + --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + --64864 + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + --64864 + left join ( + select distinct monit.rete, monit.cod_fiscale, + case when isnull(monitInit.data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) then 1 + when monitReport.cod_fiscale is null then 1 else 0 end as NoMonitoraggio + from c6martperiodico.monitoraggio_attuale monit + left join c6martperiodico.monitoraggio_iniziale monitInit on monit.rete = monitInit.rete and monit.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport on monit.rete = monitReport.rete and monit.cod_fiscale = monitReport.cod_fiscale + ) monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + WHERE 1=1 + --144104 + end +------------------------------------------------------------------------- +END \ No newline at end of file diff --git a/sql/storedTestbes/wh_MERGED_PROCEDURE_PL_Prodotti_Non_Associati_Area_Inv.sql b/sql/storedTestbes/wh_MERGED_PROCEDURE_PL_Prodotti_Non_Associati_Area_Inv.sql new file mode 100644 index 00000000..2bae519b --- /dev/null +++ b/sql/storedTestbes/wh_MERGED_PROCEDURE_PL_Prodotti_Non_Associati_Area_Inv.sql @@ -0,0 +1,41 @@ +CREATE procedure [wh].[MERGED_PROCEDURE_PL_Prodotti_Non_Associati_Area_Inv] +AS +BEGIN + SET NOCOUNT ON; + INSERT INTO WH.PL_Prodotti_Non_Associati_Area_Inv + SELECT 'C6MartPeriodico.PL_Prodotti_Non_Associati_Area_Inv' as ProcedureName, PATRBF.RETE as i_rete, PATRBF.COD_FISCALE as i_codiceFiscale, + PATRBF.RETE, + PATRBF.COD_FISCALE, + ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') AS NOME_PROGETTO, + ID_AREA as NEED_AREA, + SUM(CTV) AS CONTROVALOREATTUALE, + MAX(ISNULL(RISK.VAR_PERC_PTF,0)) AS var_needarea, + --PATRBF.ORDINAMENTO_PROGETTO as ORDINAMENTO_PROGETTO, + PATRBF.CHIAVE_PROGETTO as ORDINAMENTO_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END AS var_needareaString + FROM + C6MARTPERIODICO.PATRIMONIO_BF PATRBF + LEFT OUTER JOIN + C6MARTPERIODICO.RISCHIO_AGGREGATO RISK + ON PATRBF.RETE = RISK.RETE + AND PATRBF.COD_FISCALE = RISK.COD_FISCALE + AND RISK.COD_AGGREG = 'PIRAMIDE|Inv|'+ ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti') + WHERE 1 = 1 + AND PATRBF.id_AREA = 'Inv' + AND PATRBF.NOME_PROGETTO='Prodotti non associati a progetti' + GROUP BY + PATRBF.RETE, + PATRBF.COD_FISCALE, + ISNULL(PATRBF.NOME_PROGETTO,'Prodotti non associati a progetti'), + ID_AREA, + CHIAVE_PROGETTO, + CASE + WHEN RISK.COPERTURA IS NULL THEN 'n.c.' + WHEN RISK.COPERTURA = 0 THEN 'n.c.' + ELSE NULL + END +END \ No newline at end of file diff --git a/sql/storedTestbes/wh_MERGED_PROCEDURE_S10.sql b/sql/storedTestbes/wh_MERGED_PROCEDURE_S10.sql new file mode 100644 index 00000000..50aa4846 --- /dev/null +++ b/sql/storedTestbes/wh_MERGED_PROCEDURE_S10.sql @@ -0,0 +1,16 @@ +CREATE procedure [wh].[MERGED_PROCEDURE_S10] +AS +BEGIN + SET NOCOUNT ON; + INSERT INTO WH.PL_S10PatrimonioFinanziario + SELECT 'C6MartPeriodico.PL_S10PatrimonioFinanziario' as ProcedureName, [Rete] as i_rete ,[CodiceFiscale] as i_codiceFiscale, + [Banca] + ,[Ordinamento] + ,[AssetClassId] + ,[AssetClassName] + ,[Controvalore] + ,[Percentuale] + ,[Totale] + FROM [C6MartPeriodico].[tb_S10PatrimonioFinanziario] + order by ordinamento +END \ No newline at end of file diff --git a/sql/storedTestbes/wh_MERGED_PROCEDURE_S151.sql b/sql/storedTestbes/wh_MERGED_PROCEDURE_S151.sql new file mode 100644 index 00000000..f7ef0113 --- /dev/null +++ b/sql/storedTestbes/wh_MERGED_PROCEDURE_S151.sql @@ -0,0 +1,53 @@ +CREATE procedure [wh].[MERGED_PROCEDURE_S151] +AS +BEGIN + -- SET NOCOUNT ON added to prevent extra result sets from + -- interfering with SELECT statements. + SET NOCOUNT ON; + declare @DataFineTrim decimal(9, 0) + select @DataFineTrim = max(dtTrim) from [C6StagingPeriodico].[WSEIAN2] + create table #WSEIAN (rete varchar(1), CodiceFiscale varchar(20), dtfinval decimal(9, 0)) + --drop table #WSEIAN + insert into #WSEIAN + select rete, 'FF@' + CODMAN as CodiceFiscale, dtfinval + from [C6StagingPeriodico].[WSEIAN2] + where DTTRIM = @DataFineTrim + and isnull(codman, '') <> '' + union + select rete, CodFis as CodiceFiscale, dtfinval + from [C6StagingPeriodico].[WSEIAN2] + where DTTRIM = @DataFineTrim + and isnull(codman, '') = '' + INSERT into wh.PL_D3_S151ProfiloDiRischio + SELECT 'C6MartPeriodico.PL_D3_S151ProfiloDiRischio' as ProcedureName, M.rete as i_rete, M.COD_FISCALE as i_codiceFiscale, + M.PROFILO_ASS as codiceProfilo, + DBO.TOSHORTDATESTRING (M.DATA_INIZIO_VAL) as dataInizioValidita, + case + when #WSEIAN.dtfinval <> 0 and #WSEIAN.dtfinval is not null and ltrim(rtrim(#WSEIAN.dtfinval)) <> '' + then CONVERT(datetime, CONVERT(varchar,CONVERT(int, #WSEIAN.dtfinval)), 0) + else null + end as dataScadenzaProfilo, + CR.MAX_VAR as varMassimo, + ProfiliDiRischio.NOMEPROFILO as nomeProfilo, + ProfiliDiRischio.DescrizioneProfilo as descrizioneProfilo, + m.riskclass, + m.experience as experince, + case m.experience + when 0 then '-' + when 1 then 'Minima' + when 2 then 'Bassa' + when 3 then 'Media' + when 4 then 'Alta' + when 5 then 'Molto alta' + else '-' + end as descrizioneEsperienza + FROM + C6MartPERIODICO.MIFID AS M + INNER JOIN C6MartPERIODICO.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + INNER JOIN DBO.ProfiliDiRischio AS ProfiliDiRischio + ON M.PROFILO_ASS = ProfiliDiRischio.CODICEPROFILO + inner join #WSEIAN + on M.Rete = #WSEIAN.rete + and M.COD_FISCALE = #WSEIAN.CodiceFiscale +END \ No newline at end of file diff --git a/sql/storedTestbes/wh_MERGED_PROCEDURE_S169.sql b/sql/storedTestbes/wh_MERGED_PROCEDURE_S169.sql new file mode 100644 index 00000000..fc01c3c4 --- /dev/null +++ b/sql/storedTestbes/wh_MERGED_PROCEDURE_S169.sql @@ -0,0 +1,223 @@ +CREATE procedure [wh].[MERGED_PROCEDURE_S169] +AS +BEGIN + SET NOCOUNT ON; + -- QUERY PATRIMONIO CASA E PATRIMONIO TERZI + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + PATRBF.INSTITUTENAME, + CTV, + M.PROFILO_ASS AS CODICEPROFILO, + CR.MAX_VAR AS VARMAX, + RISK_AGG.VAR_PERC_PTF AS VAR , + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END AS VARSTRING, + RISK_AGG.CREDITRISK RISKCLASS, + CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END AS RISKCLASSSTRING, + ISNULL(RISK_AGG.COPERTURA,0.00) AS COVERAGE, + NULL AS COVERAGESTRING, + M.RISKCLASS AS RISKCLASSMAX, + round((SUM(CTV) OVER (PARTITION BY PATRBF.COD_FISCALE,PATRBF.RETE, PATRBF.INSTITUTENAME) / + -- 16.07.2011 COLAIANNI CONSOLI GESTIONE DIVISIONE PER ZERO + CASE + WHEN ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) = 0 THEN 1 + ELSE ( SUM(CTV) OVER (PARTITION BY PATRBF.RETE, PATRBF.COD_FISCALE) ) + END) * 100, 2) AS PERCENTAGE, + ORDINE, + RISK_AGG.Ully_perc + into #appo + from + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + case + when PATRBF.RETE = 'F' then 'Patrimonio Fideuram' + else 'Patrimonio Sanpaolo Invest' + end AS INSTITUTENAME, + sum(PATRBF.CTV) as CTV, + 1 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.patrimonio_bf PATRBF, + C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.rete= RISK_AGG.rete + and PATRBF.CTV > 0 + and RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' + group by + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc, + case + when PATRBF.RETE = 'F' then 'Patrimonio Fideuram' + else 'Patrimonio Sanpaolo Invest' + end + union + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + 'Patrimonio altri Istituti' AS INSTITUTENAME, + SUM(ROUND(TERZI.CTV,2)) AS CTV, + --V + 2 as ORDINE, + RISK_AGG.Ully_perc + from + c6martperiodico.PATRIMONIO_TERZI TERZI, + C6MartPeriodico.RISCHIO_AGGREGATO RISK_AGG + where + 1=1 + and TERZI.COD_FISCALE = RISK_AGG.COD_FISCALE + and TERZI.rete= RISK_AGG.rete + and TERZI.CTV > 0 + and RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + group by + TERZI.RETE, + TERZI.COD_FISCALE, + RISK_AGG.Ully_perc + ) PATRBF + LEFT OUTER JOIN c6martperiodico.MIFID AS M + ON PATRBF.COD_FISCALE = M.COD_FISCALE + AND PATRBF.RETE = M.RETE + LEFT OUTER JOIN c6martperiodico.CODIFICA_RISCHIO AS CR + ON M.PROFILO_ASS = CR.PROFILO + LEFT OUTER JOIN c6martperiodico.CODIFICA_CREDITRISK CK + ON M.riskclass = CK.PROFILO + LEFT OUTER JOIN c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + ON PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + AND PATRBF.RETE = RISK_AGG.RETE + AND (case + when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE = 'F' then 'Patrimonio Fideuram' + when RISK_AGG.COD_AGGREG = 'COMPLESSIVO|BF' and PATRBF.RETE = 'S' then 'Patrimonio Sanpaolo Invest' + else 'Patrimonio altri Istituti' + end) = PATRBF.INSTITUTENAME + where + ( + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|BF' or + RISK_AGG.COD_AGGREG= 'COMPLESSIVO|TERZI' + ) + -- FINE QUERY PER PATRIMONIO CASA E PATRIMONIO TERZI + -- SEPARAZIONE DEL PATRIMONIO CASA E DEL PATRIMONIO TERZI + select * into #ordine1 from #appo where ordine = 1 + select * into #ordine2 from #appo where ordine = 2 + -- QUERY PATRIMONIO COMPLESSIVO + SELECT + PATRBF.RETE, + PATRBF.COD_FISCALE, + 'Patrimonio Complessivo' AS INSTITUTENAME, + SUM(CTV) AS CTV, + MAX(M.PROFILO_ASS) AS CODICEPROFILO, + MAX(CR.MAX_VAR) AS VARMAX, + MAX(RISK_AGG.VAR_PERC_PTF) AS VAR , + MAX(CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS VARSTRING, + MAX(RISK_AGG.CREDITRISK) RISKCLASS, + MAX(case + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + WHEN RISK_AGG.creditrisk is null THEN 'n.a.' + WHEN RISK_AGG.creditrisk = 0.00 THEN 'n.a.' + ELSE NULL + END) AS RISKCLASSSTRING, + MAX(ISNULL(RISK_AGG.COPERTURA,0.00)) AS COVERAGE, + MAX(CASE + WHEN ISNULL(RISK_AGG.COPERTURA,0.00) = 0.00 THEN 'n.c.' + ELSE NULL + END) AS COVERAGESTRING, + MAX(M.RISKCLASS) AS RISKCLASSMAX, + 100 AS PERCENTAGE, + 3 AS ORDINE, + RISK_AGG.Ully_perc + into #Ordine3 + from + ( + select + PATRBF.RETE, + PATRBF.COD_FISCALE, + SUM(PATRBF.CTV) AS CTV + from c6martperiodico.patrimonio_bf PATRBF + where + 1=1 + and + PATRBF.CTV > 0 + group by + PATRBF.RETE, + PATRBF.COD_FISCALE + union + SELECT + TERZI.RETE, + TERZI.COD_FISCALE, + SUM(ROUND(TERZI.CTV,2)) AS CTV + FROM + c6martperiodico.PATRIMONIO_TERZI TERZI + where + 1=1 + and + TERZI.CTV > 0 + group by + TERZI.RETE, + TERZI.COD_FISCALE + ) PATRBF + left outer join c6martperiodico.MIFID AS M + on PATRBF.COD_FISCALE =M.COD_FISCALE + and PATRBF.RETE = M.RETE + left outer join c6martperiodico.CODIFICA_RISCHIO AS CR + on M.PROFILO_ASS = CR.PROFILO + left outer join c6martperiodico.CODIFICA_CREDITRISK CK + on M.riskclass = CK.PROFILO + left outer join c6martperiodico.RISCHIO_AGGREGATO RISK_AGG + on PATRBF.COD_FISCALE = RISK_AGG.COD_FISCALE + and PATRBF.RETE = RISK_AGG.RETE + where + RISK_AGG.COD_AGGREG = 'COMPLESSIVO' + group by + PATRBF.RETE, + PATRBF.COD_FISCALE, + RISK_AGG.Ully_perc + -- FINE QUERY PATRIMONIO COMPLESSIVO + -- INSERIMENTO NELLA TABELLA MERGED DELLA UNION TRA PATRIMONIO CASA (#Ordine1), PATRIMONIO TERZI (#Ordine2), PATRIMONIO COMPLESSIVO (#Ordine3) + INSERT INTO WH.PL_D2_S169RischiomercatoRischiocredito + select 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito' as ProcedureName, #Ordine1.RETE as i_rete, #Ordine1.COD_FISCALE as i_codiceFiscale, #Ordine1.RETE, #Ordine1.COD_FISCALE, #Ordine1.INSTITUTENAME, #Ordine1.CTV, #Ordine1.CODICEPROFILO, #Ordine1.VARMAX, #Ordine1.VAR, #Ordine1.VARSTRING, #Ordine1.RISKCLASS, #Ordine1.RISKCLASSSTRING, #Ordine1.COVERAGE, convert(varchar(100), #Ordine1.COVERAGESTRING) as COVERAGESTRING, #Ordine1.RISKCLASSMAX, #Ordine1.PERCENTAGE, #Ordine1.ORDINE, #Ordine1.Ully_perc from #Ordine1 --64740 + union + select 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito' as ProcedureName, #Ordine2.RETE as i_rete, #Ordine2.COD_FISCALE as i_codiceFiscale, #Ordine2.RETE, #Ordine2.COD_FISCALE, #Ordine2.INSTITUTENAME, #Ordine2.CTV, #Ordine2.CODICEPROFILO, #Ordine2.VARMAX, #Ordine2.VAR, #Ordine2.VARSTRING, #Ordine2.RISKCLASS, #Ordine2.RISKCLASSSTRING, #Ordine2.COVERAGE, convert(varchar(100), #Ordine2.COVERAGESTRING) as COVERAGESTRING, #Ordine2.RISKCLASSMAX, #Ordine2.PERCENTAGE, #Ordine2.ORDINE, #Ordine2.Ully_perc from #Ordine2 --7274 + union + select 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito' as ProcedureName, #Ordine3.RETE as i_rete, #Ordine3.COD_FISCALE as i_codiceFiscale, #Ordine3.RETE, #Ordine3.COD_FISCALE, #Ordine3.INSTITUTENAME, #Ordine3.CTV, #Ordine3.CODICEPROFILO, #Ordine3.VARMAX, #Ordine3.VAR, #Ordine3.VARSTRING, #Ordine3.RISKCLASS, #Ordine3.RISKCLASSSTRING, #Ordine3.COVERAGE, convert(varchar(100), #Ordine3.COVERAGESTRING) as COVERAGESTRING, #Ordine3.RISKCLASSMAX, #Ordine3.PERCENTAGE, #Ordine3.ORDINE, #Ordine3.Ully_perc from #Ordine3 --64832 + -- CON UNION CON LA LEFT JOIN TRA #Ordine3 e #Ordine1 PER PRENDERE TUTTI I CASI IN CUI NON C'E' LA RIGA DEL PATRIMONIO CASA. VIENE CREATA UNA RIGA FITTIZIA + union + select + 'C6MartPeriodico.PL_D2_S169RischiomercatoRischiocredito' as ProcedureName, #Ordine3.RETE as i_rete, #Ordine3.COD_FISCALE as i_codiceFiscale, + #Ordine3.Rete, + #Ordine3.Cod_Fiscale, + case when #Ordine3.RETE= 'F' then 'Patrimonio Fideuram' + WHEN #Ordine3.RETE= 'S' then 'Patrimonio Sanpaolo Invest' + end as INSTITUTENAME, + 0 as CTV, + #Ordine3.CODICEPROFILO, + #Ordine3.VARMAX, + 0 AS VAR, + 'n.c.' AS VARSTRING, + 0 as RISKCLASS, + 'n.c.' as RISKCLASSSTRING, + #Ordine3.COVERAGE, + NULL AS COVERAGESTRING, + #Ordine3.RISKCLASSMAX, + 0.0 as PERCENTAGE, + 1 as ordine, + 0 as Ully_perc + from #Ordine3 + left join #Ordine1 + on #Ordine3.Rete = #Ordine1.Rete + and #Ordine3.Cod_Fiscale = #Ordine1.Cod_Fiscale + where #Ordine1.Cod_Fiscale is null +END \ No newline at end of file diff --git a/sql/storedTestbes/wh_MERGED_PROCEDURE_S170.sql b/sql/storedTestbes/wh_MERGED_PROCEDURE_S170.sql new file mode 100644 index 00000000..5fd8e470 --- /dev/null +++ b/sql/storedTestbes/wh_MERGED_PROCEDURE_S170.sql @@ -0,0 +1,139 @@ +CREATE procedure [wh].[MERGED_PROCEDURE_S170] +AS +BEGIN + SET NOCOUNT ON; + -- Appoggio in tabelle temporanee + select rete, cod_fiscale, count(*) as contaCC + into #tContaCC + from c6martperiodico.patrimonio_Bf + where tipo_prodotto = 'CC' + group by rete, cod_fiscale + select rete, cod_fiscale, count(*) as contaPos + into #tContaPos + from c6martperiodico.patrimonio_Bf + group by rete, cod_fiscale + SELECT rete, cod_fiscale, isnull(sum(ctv),0) as CTVBF + into #tCTVBF + FROM c6martperiodico.patrimonio_bf + where CTV > 0 + group by rete, cod_fiscale + SELECT rete, cod_fiscale, isnull(sum(ctv),0) as CTVTerzi + into #tCTVTerzi + FROM c6martperiodico.patrimonio_terzi + where CTV > 0 + group by rete, cod_fiscale + -- Calcolo Complessità Massima + DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + create table #tMaxComplessita (Rete varchar(1), CodiceFiscale varchar(20), MaxComplessita int) + insert into #tMaxComplessita (Rete, CodiceFiscale, MaxComplessita) + select rete, 'FF@' + CODMAN as CodiceFiscale, MAXCOMPL as maxComplessita + from [C6StagingPeriodico].[WSEIAN2] + where DTTRIM = @DataFineTrim + -- and compl_base <> 10 + and isnull(codman, '') <> '' + group by rete, 'FF@' + CODMAN,MAXCOMPL + union + select rete, CodFis as CodiceFiscale, MAXCOMPL as maxComplessita + from [C6StagingPeriodico].[WSEIAN2] + where DTTRIM = @DataFineTrim + --and compl_base <> 10 + and isnull(codman, '') = '' + group by rete, CodFis,MAXCOMPL + --select * from #tContaCC where rete = 'F' and cod_Fiscale = 'RSCFNC43M09A965T' + --select * from #tContaPos where rete = 'F' and cod_Fiscale = 'RSCFNC43M09A965T' + --select * from #tCTVBF where rete = 'F' and cod_Fiscale = 'RSCFNC43M09A965T' + --select * from #tCTVTerzi where rete = 'F' and cod_Fiscale = 'RSCFNC43M09A965T' + insert into wh.PL_D2_S170RischioDiversificazione + SELECT 'C6MartPeriodico.PL_D2_S170RischioDiversificazione' as ProcedureName, K.Rete as i_Rete, K.Cod_Fiscale as i_CodiceFiscale, + K.COD_FISCALE, + K.RETE, + CASE + when cod_Aggreg = 'COMPLESSIVO|BF' then isnull(#tCTVBF.CTVBF, 0) + when cod_Aggreg = 'COMPLESSIVO|TERZI' then isnull(#tCTVTerzi.CTVTerzi, 0) + when cod_Aggreg = 'COMPLESSIVO' then isnull(#tCTVBF.CTVBF, 0) + isnull(#tCTVTerzi.CTVTerzi, 0) + else 0 + END AS CTV_AGGREG, + K.CREDITRISK, + CASE + WHEN (isnull(#tContaPOS.contaPOS, 0) - isnull(#tContaCC.ContaCC, 0) = 0) THEN 0 + ELSE VAR_PERC_PTF + END AS VAR, + CASE WHEN ISNULL(COPERTURA,0.00) = 0.00 AND isnull(#tContaPOS.contaPOS, 0) - isnull(#tContaCC.ContaCC, 0) <> 0 THEN 'n.c.' ELSE NULL END as varString, + CASE + WHEN (ISNULL(copertura,100) < 100) AND isnull(#tContaPOS.contaPOS, 0) - isnull(#tContaCC.ContaCC, 0) <> 0 + --THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') + '%' + THEN REPLACE(CAST(CAST(COPERTURA AS DECIMAL (5,2)) AS VARCHAR),'.',',') --+ '%' + ELSE null + END AS coperturaString, + -- modifica del 19/6/2018 - gestione indicatore per gli altri ptf del Diagnosi + beneficio as diversificazione, + --case + --when cod_Aggreg = 'COMPLESSIVO' then null + --when cod_Aggreg = 'COMPLESSIVO|BF' then beneficio + --when cod_Aggreg = 'COMPLESSIVO|TERZI' then null + --END AS diversificazione, + -- fine modifica del 19/6/2018 + CASE + WHEN (isnull(#tContaPOS.contaPOS, 0) - isnull(#tContaCC.ContaCC, 0) = 0) THEN 100 + ELSE COPERTURA + END AS COPERTURA, + case + when cod_Aggreg = 'COMPLESSIVO' then 'Patrimonio Complessivo' + when cod_Aggreg = 'COMPLESSIVO|BF' then 'Patrimonio ' + (case when k.rete ='F' then 'Fideuram' else 'Sanpaolo Invest' end) + when cod_Aggreg = 'COMPLESSIVO|TERZI' then 'Patrimonio altri Istituti' + ELSE '' + END AS PATRIMONIO, + case + when b.profilo is null then -1 + else b.profilo + end as profiloCode, + isnull(b.max_var, 0) as var_profilo, + ------------------------ MIFID2 - MAGGIO 2018 + case #tMaxComplessita.MaxComplessita + when 0 then '-' + when 1 then 'Minima' + when 2 then 'Bassa' + when 3 then 'Media' + when 4 then 'Alta' + when 5 then 'Molto alta' + else '-' + end + as complessita, + ------------------------- FINE MIFID2 - MAGGIO 2018 + --V l'ordine serve per la corretta visualizzazione del report: Patrimonio casa, patrimonio terzi, patrimonio complessivo + --V Monitoraggio prende soltanto la prima riga, diagnosi anche nel caso non ci siano i terzi. + case + when cod_Aggreg = 'COMPLESSIVO' then 3 + when cod_Aggreg = 'COMPLESSIVO|BF' then 1 + when cod_Aggreg = 'COMPLESSIVO|TERZI' then 2 + ELSE '' + END AS Ordine + FROM C6MARTperiodico.RISCHIO_AGGREGATO K + left outer JOIN c6martperiodico.mifid a + ON k.cod_fiscale = a.cod_fiscale + and k.rete = a.rete + left outer join C6Martperiodico.CODIFICA_RISCHIO b + on A.PROFILO_ASS=B.PROFILO + left join #tContaCC + on K.rete = #tContaCC.rete + and K.cod_fiscale = #tContaCC.cod_fiscale + left join #tContaPos + on K.rete = #tContaPos.rete + and K.cod_fiscale = #tContaPos.cod_fiscale + left join #tCTVBF + on K.rete = #tCTVBF.rete + and K.cod_fiscale = #tCTVBF.cod_fiscale + left join #tCTVTerzi + on K.rete = #tCTVTerzi.rete + and K.cod_fiscale = #tCTVTerzi.cod_fiscale + left join #tMaxComplessita + on K.rete = #tMaxComplessita.rete + and K.cod_fiscale = #tMaxComplessita.codicefiscale + WHERE + --A.PROFILO_ASS=B.PROFILO + --AND K.RETE=A.RETE + --AND K.COD_FISCALE= A.COD_FISCALE + COD_AGGREG IN ('COMPLESSIVO|BF', 'COMPLESSIVO', 'COMPLESSIVO|TERZI') + ORDER BY ordine +END \ No newline at end of file diff --git a/sql/storedTestbes/wh_MERGED_PROCEDURE_S178.sql b/sql/storedTestbes/wh_MERGED_PROCEDURE_S178.sql new file mode 100644 index 00000000..15759581 --- /dev/null +++ b/sql/storedTestbes/wh_MERGED_PROCEDURE_S178.sql @@ -0,0 +1,143 @@ +CREATE procedure [wh].[MERGED_PROCEDURE_S178] +AS +BEGIN + SET NOCOUNT ON; + DECLARE @DataFineTrim VARCHAR(8) + SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0) + --exec [C6MartPeriodico].[PL_D2_S169RischiomercatoRischiocredito] 'F', '00158650309' + --exec [C6MartPeriodico].[PL_D_S178IndicatoriEsitoAdeguatezza] 'F', '00158650309' + --exec [wh].[p_PL_D_S178IndicatoriEsitoAdeguatezza] 'F', '00158650309' + insert into [wh].[PL_D_S178IndicatoriEsitoAdeguatezza] + select 'C6MartPeriodico.PL_D_S178IndicatoriEsitoAdeguatezza', a.i_rete, a.i_CodiceFiscale, + a.i_rete, + a.i_CodiceFiscale, + -- RISCHIO MERCATO + --var, varmax, + case + when var <= varmax then '1' + when var > varmax then '0' + else -1 + end as RM_Adeguatezza, + case + when var <= varmax then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '1') + when var > varmax then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 1 and Adeguato = '-1') + end as RM_Descrizione, + -- FINE RISCHIO MERCATO + -- RISCHIO CREDITO + --RISKCLASS, RISKCLASSMAX, + case + --20180820 CR su Rischio Credito: quando non è stato possibile calcolare il rischio credito (quindi il valore di RISKCLASS restituito dalla PL_D2_S169RischiomercatoRischiocredito è NULL) + -- l'indicatore di adeguatezza Rischio Credito è 1 (Adeguato) + when RISKCLASS is null then '1' + --20180820 FINE CR su Rischio Credito + when RISKCLASS <= convert(int,RISKCLASSMAX) then '1' + when RISKCLASS > convert(int,RISKCLASSMAX) then '0' + else -1 + end as RC_Adeguatezza, + case + --20180820 CR su Rischio Credito: quando non è stato possibile calcolare il rischio credito (quindi il valore di RISKCLASS restituito dalla PL_D2_S169RischiomercatoRischiocredito è NULL) + -- l'indicatore di adeguatezza Rischio Credito è 1 (Adeguato) + when RISKCLASS is null then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '1') + --20180820 FINE CR su Rischio Credito + when RISKCLASS <= convert(int,RISKCLASSMAX) then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '1') + when RISKCLASS > convert(int,RISKCLASSMAX) then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 2 and Adeguato = '-1') + end as RC_Descrizione, + -- FINE RISCHIO CREDITO + -- CONCENTRAZIONE EMITTENTI + --b.concemi, + case + when upper(b.concemi) = 'S' then '1' + when upper(b.concemi) = 'N' then '0' + else -1 + end as CE_Adeguatezza, + case + when upper(b.concemi) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '1') + when upper(b.concemi) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 3 and Adeguato = '-1') + end as CE_Descrizione, + -- FINE CONCENTRAZIONE EMITTENTI + -- COMPLESSITA' + --b.flgprof, b.flagpg, b.flagnqp, b.flgprlrde, b.clcompl, + case + when b.flgprof = 'S' then 'prof' + when b.flagpg = 1 and b.flgprof = 'N' and b.flagnqp = 'S' and b.flgprlrde = 'N' then '-1' --Massimiliano dice che va messo prima di tutti senza testare altri flag 17/5/2018 + when upper(b.clcompl) = 'N' and + (select nocompl from [C6StagingPeriodico].[WSEIAN2] where codfis = a.i_codiceFiscale and dttrim = @DataFineTrim ) = 'S' then '0' + when upper(b.clcompl) = 'N' and b.flagpg = 0 then '0' + when upper(b.clcompl) = 'N' and b.flagpg = 1 and b.flgprlrde = 'N' then '0' + when upper(b.clcompl) = 'S' then '1' + end as CM_Adeguatezza, + case + when b.flagpg = 1 and b.flgprof = 'N' and b.flagnqp = 'S' and b.flgprlrde = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '-1') + when upper(clcompl) = 'N' and + (select nocompl from [C6StagingPeriodico].[WSEIAN2] where codfis = a.i_codiceFiscale and dttrim = @DataFineTrim ) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0C') + when upper(clcompl) = 'N' and b.flagpg = 0 then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0A') + when upper(clcompl) = 'N' and b.flagpg = 1 and b.flgprlrde = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '0B') + when upper(clcompl) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 4 and Adeguato = '1') + end as CM_Descrizione, + -- FINE COMPLESSITA' + -- CONCENTRAZIONE PRODOTTI COMPLESSI + --b.flgprof, b.flgconc, + case + when b.flgprof = 'S' then 'prof' + when upper(b.flgconc) = 'S' then '1' + when upper(b.flgconc) = 'N' then '0' + else '-1' + end as CC_Adeguatezza, + case + when upper(b.flgconc) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '1') + when upper(b.flgconc) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 5 and Adeguato = '-1') + end as CC_Descrizione, + -- FINE CONCENTRAZIONE PRODOTTI COMPLESSI + -- FREQUENZA + --b.flgprof, b.freq, + case + when b.flgprof = 'S' then 'prof' + when upper(b.freq) = 'S' then '1' + when upper(b.freq) = 'N' then '0' + else '-1' + end as FQ_Adeguatezza, + case + when upper(b.freq) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '1') + when upper(b.freq) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 6 and Adeguato = '-1') + end as FQ_Descrizione, + -- FINE FREQUENZA + -- LIQUIDITA' / LIQUIDABILITA' + --b.lliquid, + case + when upper(b.lliquid) = 'S' then '1' + when upper(b.lliquid) = 'N' then '0' + else '-1' + end as LQ_Adeguatezza, + case + when upper(b.lliquid) = 'S' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '1') + when upper(b.lliquid) = 'N' then (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '0') + else (select [DescrizioneEsito] from [C6MartPeriodico].[TB_S178IndicatoriEsitoAdeguatezza_Note] where ordine = 7 and Adeguato = '-1') + end as LQ_Descrizione + -- FINE LIQUIDITA' / LIQUIDABILITA' + from [wh].[PL_D2_S169RischiomercatoRischiocredito] a + inner join C6StagingPeriodico.WSEIAN2 b + on a.i_rete = b.rete + and a.i_codiceFiscale = + (case + when isnull(b.CodMan, '') <> '' then 'FF@' + b.CodMan + else b.CodFis + end) + where + a.ordine = 1 + --and a.i_codiceFiscale in ( + ----codici di test + --'ff@10005', + --'00072930076', + --'00118220524', + --'00123360075', + --'00156630063', + --'00158650309' + --) + and b.DtTrim = @DataFineTrim + --select top 10 * from c6stagingperiodico.wseian where isnull(codman, '') <> '' +END \ No newline at end of file diff --git a/sql/storedTestbes/wh_MERGED_PROCEDURE_S43.sql b/sql/storedTestbes/wh_MERGED_PROCEDURE_S43.sql new file mode 100644 index 00000000..0b417e0c --- /dev/null +++ b/sql/storedTestbes/wh_MERGED_PROCEDURE_S43.sql @@ -0,0 +1,17 @@ +CREATE procedure [wh].[MERGED_PROCEDURE_S43] +AS +BEGIN + SET NOCOUNT ON; + INSERT INTO WH.PL_S43LineaSelfBF + SELECT 'C6MartPeriodico.PL_S43LineaSelfBF' as ProcedureName, LS.rete as i_rete ,LS.codfis as i_codiceFiscale, + codconf as NumContratto, + isnull(ctv,0) as Controvalore, +--INIZIO Intervento Eligo Titoli + NomeProdotto as NomeProdotto, +--FINE Intervento Eligo Titoli + dbo.ToShortDateString(cast(datasott as varchar)) as DataSott + FROM + C6MartPeriodico.ANAG_SELF LS + WHERE + isnull(ctv,0) < 0 +END \ No newline at end of file diff --git a/sql/storedTestbes/wh_MERGED_PROCEDURE_S85.sql b/sql/storedTestbes/wh_MERGED_PROCEDURE_S85.sql new file mode 100644 index 00000000..a625f516 --- /dev/null +++ b/sql/storedTestbes/wh_MERGED_PROCEDURE_S85.sql @@ -0,0 +1,62 @@ +CREATE procedure [wh].[MERGED_PROCEDURE_S85] +AS +BEGIN + SET NOCOUNT ON; + SELECT + [RETE] + ,[COD_FISCALE] + ,[ID_AREA] + ,isnull([NOME_PROGETTO],'XXX') as NOME_PROGETTO + ,[TIPO_PROGETTO] + ,[PERC_AREA] + ,[CTV_PROGETTO] + ,[CTV_AREA] + ,[ORIZZ_TEMP_NUM] + ,[ORIZZ_TEMP] + ,[CTV_TOTALE] + ,[STATO_CONSULENZA] + ,[DATA_STATO_CONS] + ,[DATA_MIGR_CONS] + ,[ID_CONTRATTO] + ,[ORDINAMENTO_PROGETTO] + ,[ID_ELAB] + ,[TIPO_ELAB] + into #pir_mod_xxx + FROM [C6MartPeriodico].[PIRAMIDE_MOD] + --select * from #pir_mod_xxx where cod_fiscale = 'FF@7181' + INSERT INTO WH.PL_S85RendimentoPortafoglioCono + SELECT 'C6MartPeriodico.PL_S85RendimentoPortafoglioCono' as ProcedureName, CONO.RETE as i_rete ,CONO.COD_FISCALE as i_codiceFiscale, + CONO.ID_AREA AS NEED_AREA, + CASE + WHEN CONO.NOME_PROGETTO = 'XXX' THEN '' + ELSE CONO.NOME_PROGETTO + END AS NOME_PROGETTO, + cono.ordinamento_progetto, + CONO.DATA_CONO, + CONO.SCENARIO_OTTIMISTICO AS OTTIMISTICO, + CONO.SCENARIO_PESSIMISTICO AS PESSIMISTICO, + isnull(PIRMOD.ORIZZ_TEMP_NUM,0) * 12 AS ORIZZONTE_MESI, + MONIT.RENDIMENTO_CUMULATO AS RENDIMENTO, + MONIT.DATA_CTV AS DATA_MONIT + FROM + C6MartPeriodico.CONO_PIANIFICAZIONE AS CONO + INNER JOIN C6MartPeriodico.MONITORAGGIO_ATTUALE AS MONIT + ON CONO.RETE = MONIT.RETE + AND CONO.COD_FISCALE = MONIT.COD_FISCALE + AND CONO.ID_AREA = MONIT.ID_AREA + AND CONO.NOME_PROGETTO = MONIT.NOME_PROGETTO + And cono.ordinamento_progetto=monit.ordinamento_progetto --l'ordinamento progetto è sempre pari alla chiaveprogetto e non idmonitoraggio + INNER JOIN #pir_mod_xxx as PIRMOD + ON CONO.RETE = PIRMOD.RETE + AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE + AND CONO.ID_AREA = PIRMOD.ID_AREA + AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + And cono.ordinamento_progetto=pirmod.ordinamento_progetto + -- INNER JOIN C6MartPeriodico.PIRAMIDE_MOD AS PIRMOD + -- ON CONO.RETE = PIRMOD.RETE + -- AND CONO.COD_FISCALE = PIRMOD.COD_FISCALE + -- AND CONO.ID_AREA = PIRMOD.ID_AREA + -- AND CONO.NOME_PROGETTO = PIRMOD.NOME_PROGETTO + ORDER BY CONO.DATA_CONO + drop table #pir_mod_xxx +END \ No newline at end of file diff --git a/sql/storedTestbes/wh_ProduceMaladetti.sql b/sql/storedTestbes/wh_ProduceMaladetti.sql new file mode 100644 index 00000000..7f31233f --- /dev/null +++ b/sql/storedTestbes/wh_ProduceMaladetti.sql @@ -0,0 +1,393 @@ +CREATE procedure [wh].[ProduceMaladetti] +as +begin +truncate table wh.Maledetti +insert into wh.Maledetti --70 minutes +( +[i_CodiceFiscale] + ,[i_Rete] + ,[Rete] + ,[NomeRete] + ,[Agente] + ,[CognomeAgente] + ,[NomeAgente] + ,[IndirizzoAgente] + ,[CapAgente] + ,[CittaAgente] + ,[TelefonoAgente] + ,[CodiceFiscale] + ,[CognomeCliente] + ,[NomeCliente] + ,[ProfiloIsAct] + ,[PatrimonioNonRappresentabile] + ,[PartiteViaggiantiDisinv] + ,[PartiteViaggiantiInv] + ,[ContoCorrente] + ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] + ,[RisorseNonAssociate] + ,[Patrimonioaltroctv] + ,[Patrimonioimmobiliarectv] + ,[PatrimonioTerzictv] + ,[PatrimonioTerziCtvAlNettoContoCorrente] + ,[PatrimonioTerziContoCorrente] + ,[Patrimoniobancafideuramctv] + ,[Patrimoniocomplessivototalectv] + ,[NumeroIntermediari] + ,[CodiceContratto] + ,[tip_contratto] + ,[contrattoold] + ,[NoMonitoraggio] + ,[descrizioneDiagnosi] + ,[idModelloDiagnosi] + ,[idReportDiagnosi] + ,[descrizioneMonitoraggio] + ,[idReportMonitoraggio] + ,[idModelloMonitoraggio] + ,[AdesioneSuccessivaAvanzato] + ,[VaRRisorseNonAssociate] + ,[CoperturaRisorseNonAssociate] + ,[VaRTotaleRisorseFinanziarie] + ,[CoperturaTotaleRisorseFinanziarie] + ,[IdReportPDFDiagnosi] + ,[IdReportPDFMonitoraggio] + ) + SELECT DISTINCT + contratti.Cod_Fiscale as i_CodiceFiscale + ,contratti.Rete as i_Rete + --DATI COMUNI + --RETE + ,contratti.Rete + ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' WHEN UPPER(contratti.Rete) = 'S' THEN 'Sanpaolo Invest' ELSE 'IW Private Inv.' END NomeRete + --AGENTE + ,contratti.Cod_Agente Agente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente + ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente + ,isnull(promotori.Indirizzo,'') IndirizzoAgente + ,isnull(promotori.Cap,'') CapAgente + ,isnull(promotori.Localita,'') CittaAgente + ,isnull(promotori.TEL_Recapito,'') TelefonoAgente + --CLIENTE + ,contratti.Cod_Fiscale CodiceFiscale + ,clienti.Cognome CognomeCliente + ,clienti.nome NomeCliente + --PATRIMONI CLIENTE + ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct + ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile + ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv + ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv + ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente + ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente + ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate + ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv + ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv + ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv + ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente + ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente + ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv + ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv + ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari + --CONTRATTO + ,contratti.CodiceContratto CodiceContratto + ,contratti.tip_contratto AS tip_contratto + ,0 AS contrattoold + --************************************************* + ,CASE WHEN count(monit.id_area) OVER (PARTITION BY monit.rete,monit.cod_fiscale) = 0 + or isnull(monitInit.data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) + or monitReport.cod_fiscale is null + THEN 1 + ELSE 0 + END AS NoMonitoraggio + ,'Diagnosi' as descrizioneDiagnosi + ,CASE + WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 5 + ELSE -1 + END AS idModelloDiagnosi + ,CASE + WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 1 + ELSE -1 + END AS idReportDiagnosi + ,'Monitoraggio' as descrizioneMonitoraggio + ,4 as idReportMonitoraggio--4 + ,CASE isnull(tip_contratto,0) + WHEN 0 THEN 12--12 + WHEN 1 THEN 12--12 + WHEN 2 THEN 13--13 + END AS idModelloMonitoraggio + --************************************************* + ,0 AS AdesioneSuccessivaAvanzato + ,CASE + WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_NA.VAR_PERC_PTF + END AS VaRRisorseNonAssociate + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_NA.COPERTURA + END AS CoperturaRisorseNonAssociate + ,CASE + WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF + END AS VaRTotaleRisorseFinanziarie + ,CASE + WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 + ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA + END AS CoperturaTotaleRisorseFinanziarie + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFDiagnosi + ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' + AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) + AS IdReportPDFMonitoraggio + FROM [C6MartPeriodico].contrattoSEI contratti + left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori + on contratti.Rete = promotori.Rete + and contratti.Cod_Agente = promotori.Id_Promotore + inner join [C6MartPeriodico].ANAG_CLIENTI clienti + on contratti.Rete = clienti.Rete + and contratti.Cod_Fiscale = clienti.Cod_Fiscale + --V non stampo se non ha patrimonio + inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF + on contratti.Rete = patrimonioBF.Rete + and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale + left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro + on contratti.Rete = patrimonioAltro.Rete + and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare + on contratti.Rete = patrimonioImmobiliare.Rete + and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi + on contratti.Rete = patrimonioTerzi.Rete + and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale + left outer join [C6MartPeriodico].MIFID MIFID + on contratti.Rete = MIFID.Rete + and contratti.Cod_Fiscale = MIFID.Cod_Fiscale + left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset + on contratti.Rete = PatrNonRapprAsset.Rete + and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale + left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari + on contratti.Rete = numIntermediari.Rete + and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale + left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA + on contratti.Rete = RISCHIO_NA.Rete + and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale + and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' + --modificata da Valerio 12 marzo 2012 + --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE + on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete + and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale + and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' + left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI + on contratti.Rete = PARTITEVIAGGIANTI.RETE + and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE + left join c6martperiodico.monitoraggio_attuale monit + on patrimonioBF.rete = monit.rete + and patrimonioBF.cod_fiscale = monit.cod_fiscale + left join c6martperiodico.monitoraggio_iniziale monitInit + on patrimonioBF.rete = monitInit.rete + and patrimonioBF.cod_fiscale = monitInit.cod_fiscale + left join c6martperiodico.monitoraggio_report monitReport + on patrimonioBF.rete = monitReport.rete + and patrimonioBF.cod_fiscale = monitReport.cod_fiscale + WHERE 1=1 + and mifid.scaduto = 0 + end +--USE [C6StampeCentralizzate] +--GO +--/****** Object: StoredProcedure [wh].[ProduceMaladetti] Script Date: 08/02/2022 17:28:30 ******/ +--SET ANSI_NULLS ON +--GO +--SET QUOTED_IDENTIFIER ON +--GO +--ALTER procedure [wh].[ProduceMaladetti] +--as +--begin +--truncate table wh.Maledetti +--insert into wh.Maledetti --70 minutes +--( +--[i_CodiceFiscale] +-- ,[i_Rete] +-- ,[Rete] +-- ,[NomeRete] +-- ,[Agente] +-- ,[CognomeAgente] +-- ,[NomeAgente] +-- ,[IndirizzoAgente] +-- ,[CapAgente] +-- ,[CittaAgente] +-- ,[TelefonoAgente] +-- ,[CodiceFiscale] +-- ,[CognomeCliente] +-- ,[NomeCliente] +-- ,[ProfiloIsAct] +-- ,[PatrimonioNonRappresentabile] +-- ,[PartiteViaggiantiDisinv] +-- ,[PartiteViaggiantiInv] +-- ,[ContoCorrente] +-- ,[PatrimonioBancaFideuramCtvAlNettoContoCorrente] +-- ,[RisorseNonAssociate] +-- ,[Patrimonioaltroctv] +-- ,[Patrimonioimmobiliarectv] +-- ,[PatrimonioTerzictv] +-- ,[PatrimonioTerziCtvAlNettoContoCorrente] +-- ,[PatrimonioTerziContoCorrente] +-- ,[Patrimoniobancafideuramctv] +-- ,[Patrimoniocomplessivototalectv] +-- ,[NumeroIntermediari] +-- ,[CodiceContratto] +-- ,[tip_contratto] +-- ,[contrattoold] +-- ,[NoMonitoraggio] +-- ,[descrizioneDiagnosi] +-- ,[idModelloDiagnosi] +-- ,[idReportDiagnosi] +-- ,[descrizioneMonitoraggio] +-- ,[idReportMonitoraggio] +-- ,[idModelloMonitoraggio] +-- ,[AdesioneSuccessivaAvanzato] +-- ,[VaRRisorseNonAssociate] +-- ,[CoperturaRisorseNonAssociate] +-- ,[VaRTotaleRisorseFinanziarie] +-- ,[CoperturaTotaleRisorseFinanziarie] +-- ,[IdReportPDFDiagnosi] +-- ,[IdReportPDFMonitoraggio] +-- ) +-- SELECT DISTINCT +-- contratti.Cod_Fiscale as i_CodiceFiscale +-- ,contratti.Rete as i_Rete +-- --DATI COMUNI +-- --RETE +-- ,contratti.Rete +-- ,CASE WHEN UPPER(contratti.Rete) = 'F' THEN 'Fideuram' ELSE 'Sanpaolo Invest' END NomeRete +-- --AGENTE +-- ,contratti.Cod_Agente Agente +-- ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Cognome,'') ELSE '' END) CognomeAgente +-- ,(CASE UPPER(ISNULL(promotori.STATO,'')) WHEN 'ATTIVO' THEN isnull(promotori.Nome,'') ELSE '' END) NomeAgente +-- ,isnull(promotori.Indirizzo,'') IndirizzoAgente +-- ,isnull(promotori.Cap,'') CapAgente +-- ,isnull(promotori.Localita,'') CittaAgente +-- ,isnull(promotori.TEL_Recapito,'') TelefonoAgente +-- --CLIENTE +-- ,contratti.Cod_Fiscale CodiceFiscale +-- ,clienti.Cognome CognomeCliente +-- ,clienti.nome NomeCliente +-- --PATRIMONI CLIENTE +-- ,CASE WHEN isnull( MIFID.SCADUTO,1) = 1 THEN 0 ELSE 1 END ProfiloIsAct +-- ,isnull(PatrNonRapprAsset.Controvalore,0) as PatrimonioNonRappresentabile +-- ,isnull(patrimonioBF.PartiteViaggiantiDisinv,0) as PartiteViaggiantiDisinv +-- ,isnull(partiteViaggianti.Importo,0) as PartiteViaggiantiInv +-- ,isnull(patrimonioBF.ContoCorrente,0) as ContoCorrente +-- ,isnull(patrimonioBF.PatrimonioSenzaCC,0) as PatrimonioBancaFideuramCtvAlNettoContoCorrente +-- ,isnull(patrimonioBF.PatrimonioNonAssociato,0) as RisorseNonAssociate +-- ,isnull(patrimonioAltro.Patrimonioaltro,0) as Patrimonioaltroctv +-- ,isnull(patrimonioImmobiliare.PatrimonioImmob,0) as Patrimonioimmobiliarectv +-- ,isnull(patrimonioTerzi.ctv,0) as PatrimonioTerzictv +-- ,isnull(patrimonioTerzi.ControvaloreSenzaCC,0) as PatrimonioTerziCtvAlNettoContoCorrente +-- ,isnull(patrimonioTerzi.ControvaloreCC,0) as PatrimonioTerziContoCorrente +-- ,isnull(patrimonioBF.ctv,0) as Patrimoniobancafideuramctv +-- ,(isnull(patrimonioBF.ctv,0) + isnull(patrimonioTerzi.ctv,0)) as Patrimoniocomplessivototalectv +-- ,isnull(numIntermediari.NumeroIntermediari,0) as NumeroIntermediari +-- --CONTRATTO +-- ,contratti.CodiceContratto CodiceContratto +-- ,contratti.tip_contratto AS tip_contratto +-- ,0 AS contrattoold +-- --************************************************* +-- ,CASE WHEN count(monit.id_area) OVER (PARTITION BY monit.rete,monit.cod_fiscale) = 0 +-- or isnull(monitInit.data_foto,getDate()) >= c6martperiodico.getPreviousTrimestre(getDate(),0) +-- or monitReport.cod_fiscale is null +-- THEN 1 +-- ELSE 0 +-- END AS NoMonitoraggio +-- ,'Diagnosi' as descrizioneDiagnosi +-- ,CASE +-- WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 5 +-- ELSE -1 +-- END AS idModelloDiagnosi +-- ,CASE +-- WHEN contratti.freq_Diagnosi is not null AND contratti.tip_contratto = 0 THEN 1 +-- ELSE -1 +-- END AS idReportDiagnosi +-- ,'Monitoraggio' as descrizioneMonitoraggio +-- ,4 as idReportMonitoraggio--4 +-- ,CASE isnull(tip_contratto,0) +-- WHEN 0 THEN 12--12 +-- WHEN 1 THEN 12--12 +-- WHEN 2 THEN 13--13 +-- END AS idModelloMonitoraggio +-- --************************************************* +-- ,0 AS AdesioneSuccessivaAvanzato +-- ,CASE +-- WHEN RISCHIO_NA.VAR_PERC_PTF IS NULL THEN -1000 +-- ELSE RISCHIO_NA.VAR_PERC_PTF +-- END AS VaRRisorseNonAssociate +-- ,CASE +-- WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 +-- ELSE RISCHIO_NA.COPERTURA +-- END AS CoperturaRisorseNonAssociate +-- ,CASE +-- WHEN RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF IS NULL THEN -1000 +-- ELSE RISCHIO_RISORSEFINANZIARIE.VAR_PERC_PTF +-- END AS VaRTotaleRisorseFinanziarie +-- ,CASE +-- WHEN RISCHIO_NA.COPERTURA IS NULL THEN -1000 +-- ELSE RISCHIO_RISORSEFINANZIARIE.COPERTURA +-- END AS CoperturaTotaleRisorseFinanziarie +-- ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'D' +-- AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) +-- AS IdReportPDFDiagnosi +-- ,isnull((SELECT max(idReport) FROM c6martperiodico.GESTIONE_PDF_FTP ftp where tipoReport = 'M' +-- AND ftp.codicefiscale = contratti.cod_fiscale AND ftp.rete = contratti.Rete),0) +-- AS IdReportPDFMonitoraggio +-- FROM [C6MartPeriodico].contrattoSEI contratti +-- left outer join [C6MartPeriodico].ANAG_PROMOTORI promotori +-- on contratti.Rete = promotori.Rete +-- and contratti.Cod_Agente = promotori.Id_Promotore +-- inner join [C6MartPeriodico].ANAG_CLIENTI clienti +-- on contratti.Rete = clienti.Rete +-- and contratti.Cod_Fiscale = clienti.Cod_Fiscale +-- --V non stampo se non ha patrimonio +-- inner join [C6MartPeriodico].vPatrimoniobfAggregato patrimonioBF +-- on contratti.Rete = patrimonioBF.Rete +-- and contratti.Cod_Fiscale = patrimonioBF.Cod_Fiscale +-- left outer join [C6Mart].vPatrimonioAltroAggregato patrimonioAltro +-- on contratti.Rete = patrimonioAltro.Rete +-- and contratti.Cod_Fiscale = patrimonioAltro.Cod_Fiscale +-- left outer join [C6MartPeriodico].vPatrimonioImmobAggregato patrimonioImmobiliare +-- on contratti.Rete = patrimonioImmobiliare.Rete +-- and contratti.Cod_Fiscale = patrimonioImmobiliare.Cod_Fiscale +-- left outer join [C6MartPeriodico].vPatrimonioTerziAggregato patrimonioTerzi +-- on contratti.Rete = patrimonioTerzi.Rete +-- and contratti.Cod_Fiscale = patrimonioTerzi.Cod_Fiscale +-- left outer join [C6MartPeriodico].MIFID MIFID +-- on contratti.Rete = MIFID.Rete +-- and contratti.Cod_Fiscale = MIFID.Cod_Fiscale +-- left outer join [C6MartPeriodico].vPatrimonioNonRappresentabileAsset PatrNonRapprAsset +-- on contratti.Rete = PatrNonRapprAsset.Rete +-- and contratti.Cod_Fiscale = PatrNonRapprAsset.Cod_Fiscale +-- left outer join [C6MartPeriodico].vNumeroIntermediari numIntermediari +-- on contratti.Rete = numIntermediari.Rete +-- and contratti.Cod_Fiscale = numIntermediari.Cod_Fiscale +-- left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_NA +-- on contratti.Rete = RISCHIO_NA.Rete +-- and contratti.Cod_Fiscale = RISCHIO_NA.Cod_Fiscale +-- and RISCHIO_NA.cod_aggreg = 'COMPLESSIVO|BF|NA' +-- --modificata da Valerio 12 marzo 2012 +-- --left outer join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE +-- inner join [C6MartPeriodico].RISCHIO_AGGREGATO RISCHIO_RISORSEFINANZIARIE +-- on contratti.Rete = RISCHIO_RISORSEFINANZIARIE.Rete +-- and contratti.Cod_Fiscale = RISCHIO_RISORSEFINANZIARIE.Cod_Fiscale +-- and RISCHIO_RISORSEFINANZIARIE.cod_aggreg = 'COMPLESSIVO|BF' +-- left outer join C6MartPeriodico.PARTITE_VIAGGIANTI PARTITEVIAGGIANTI +-- on contratti.Rete = PARTITEVIAGGIANTI.RETE +-- and contratti.Cod_Fiscale = PARTITEVIAGGIANTI.COD_FISCALE +-- left join c6martperiodico.monitoraggio_attuale monit +-- on patrimonioBF.rete = monit.rete +-- and patrimonioBF.cod_fiscale = monit.cod_fiscale +-- left join c6martperiodico.monitoraggio_iniziale monitInit +-- on patrimonioBF.rete = monitInit.rete +-- and patrimonioBF.cod_fiscale = monitInit.cod_fiscale +-- left join c6martperiodico.monitoraggio_report monitReport +-- on patrimonioBF.rete = monitReport.rete +-- and patrimonioBF.cod_fiscale = monitReport.cod_fiscale +-- WHERE 1=1 +-- and mifid.scaduto = 0 +-- end \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_AreeMonitorate.sql b/sql/storedTestbes/wh_p_PL_AreeMonitorate.sql new file mode 100644 index 00000000..dc1ea762 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_AreeMonitorate.sql @@ -0,0 +1,5 @@ +CREATE procedure [wh].[p_PL_AreeMonitorate] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NEED_AREA,NEED_ESTESA,NOME_PROGETTO,ORDINAMENTO_PROGETTO,ORDINE,AREAPROGETTOSOTTOMONITORAGGIO from wh.PL_AreeMonitorate + where i_rete = @rete and i_codiceFiscale = @codiceFiscale + ORDER BY + ORDINE, + ORDINAMENTO_PROGETTO \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_D2_S151ProfiloDiRischio.sql b/sql/storedTestbes/wh_p_PL_D2_S151ProfiloDiRischio.sql new file mode 100644 index 00000000..c7673292 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_D2_S151ProfiloDiRischio.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_D2_S151ProfiloDiRischio] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,codiceProfilo,dataInizioValidita,varMassimo,varBF,coperturaBF,nomeProfilo,riskclass,experince from wh.PL_D2_S151ProfiloDiRischio where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_D2_S152Patrimonio.sql b/sql/storedTestbes/wh_p_PL_D2_S152Patrimonio.sql new file mode 100644 index 00000000..56e10b05 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_D2_S152Patrimonio.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_D2_S152Patrimonio] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,BFCTV,PatrimonioTerziCTV,FinanziarioCTV,FinanziarioPerc,ImmobiliareCTV,ImmobiliarePerc,AltroCTV,AltroPerc,TotaleCTV from wh.PL_D2_S152Patrimonio where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_D2_S153PatrimonioFinanziario.sql b/sql/storedTestbes/wh_p_PL_D2_S153PatrimonioFinanziario.sql new file mode 100644 index 00000000..7e132c96 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_D2_S153PatrimonioFinanziario.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_D2_S153PatrimonioFinanziario] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Intermediario,Ordine,Banca,Controvalore,Percentuale from wh.PL_D2_S153PatrimonioFinanziario + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY Ordine \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_D2_S154PatrimonioFinanziario.sql b/sql/storedTestbes/wh_p_PL_D2_S154PatrimonioFinanziario.sql new file mode 100644 index 00000000..c06686ca --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_D2_S154PatrimonioFinanziario.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_D2_S154PatrimonioFinanziario] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Banca,Ordinamento,AssetClassId,AssetClassName,Controvalore,Percentuale,PatrimonioFinanziarioCTV from wh.PL_D2_S154PatrimonioFinanziario + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY ORDINAMENTO \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_D2_S155PatrimonioImmobiliare.sql b/sql/storedTestbes/wh_p_PL_D2_S155PatrimonioImmobiliare.sql new file mode 100644 index 00000000..3d220b85 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_D2_S155PatrimonioImmobiliare.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_D2_S155PatrimonioImmobiliare] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Descrizione,Tipologia,Localita,AffittoPercepito,Valore,Totale,TotaleAffitto from wh.PL_D2_S155PatrimonioImmobiliare +where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY Valore desc \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_D2_S156ALtroPatrimonio.sql b/sql/storedTestbes/wh_p_PL_D2_S156ALtroPatrimonio.sql new file mode 100644 index 00000000..634f42d3 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_D2_S156ALtroPatrimonio.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_D2_S156ALtroPatrimonio] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Denominazione,NumeroQuote,Valore,Totale from wh.PL_D2_S156ALtroPatrimonio +where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY Valore DESC \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_D2_S157ConfrontoPiramidi.sql b/sql/storedTestbes/wh_p_PL_D2_S157ConfrontoPiramidi.sql new file mode 100644 index 00000000..a58ef1e6 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_D2_S157ConfrontoPiramidi.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_D2_S157ConfrontoPiramidi] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NeedArea,AreaName,PercentualeModello,PercentualeAttuale,ControvaloreAttuale,ControvaloreModello,Totale_Percentuale,DifferenzaEuro,DifferenzaPercentuale,var_needarea,var_needareaString,copertura_needarea,copertura_needareaString,Nota,somma_controvalAttuale,somma_controvalModello,somma_percentualeAttuale,somma_percentualeModello,var_tot,var_totString,var_tot_pir,var_tot_pirString,copertura_tot,copertura_totString,copertura_tot_pir,copertura_tot_pirString,VAR_RISFIN,VAR_RISFINSTRING,copertura_risfin,copertura_risfinString,ordinamento from wh.PL_D2_S157ConfrontoPiramidi + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY ordinamento \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_D2_S158PiramideModello.sql b/sql/storedTestbes/wh_p_PL_D2_S158PiramideModello.sql new file mode 100644 index 00000000..b866fd33 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_D2_S158PiramideModello.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_D2_S158PiramideModello] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NomePrg,OrizzTempPrg,VarPrg,ControvalorePrg from wh.PL_D2_S158PiramideModello where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_D2_S159PatrimonioFinanziario.sql b/sql/storedTestbes/wh_p_PL_D2_S159PatrimonioFinanziario.sql new file mode 100644 index 00000000..cbe2a929 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_D2_S159PatrimonioFinanziario.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_D2_S159PatrimonioFinanziario] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Banca,Ordinamento,AssetClassId,AssetClassName,Controvalore,Percentuale,Totale from wh.PL_D2_S159PatrimonioFinanziario +where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY ORDINAMENTO \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_D2_S160DettaglioProdottiBF.sql b/sql/storedTestbes/wh_p_PL_D2_S160DettaglioProdottiBF.sql new file mode 100644 index 00000000..39d1d85f --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_D2_S160DettaglioProdottiBF.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_D2_S160DettaglioProdottiBF] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,needarea,needareades,areasortorder,nome_progetto,ORDINAMENTO_PROGETTO,somma_controval_needarea,versato_needarea,versato_needareaString,MinusPlusValenza_needarea,MinusPlusValenza_needareaString,somma_controval_need_prog,versato_need_prog,versato_need_progString,MinusPlusValenza_need_prog,MinusPlusValenza_need_progString,somma_var_need_prog,somma_copertura_need_prog,var_needarea,var_needareaString,copertura_needarea,copertura_needareaString,var_need_prog,var_need_progString,copertura_need_prog,dataSottoscrizione,ContrattoDossier,Descrizione,Controvalore,VersatoNetto,VersatoNettoString,MinusPlusValenza,MinusPlusValenzaString,VaRprodotto,varProdottoString,Coperturaprodotto,PerformanceYTD,performanceDS,partitaViaggiante,nota_needarea,creditrisk,creditriskstring,creditriskemit from wh.PL_D2_S160DettaglioProdottiBF + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY AREASORTORDER,ORDINAMENTO_PROGETTO,nome_progetto, Controvalore DESC \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_D2_S162DettaglioProdotti.sql b/sql/storedTestbes/wh_p_PL_D2_S162DettaglioProdotti.sql new file mode 100644 index 00000000..f9b521c8 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_D2_S162DettaglioProdotti.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_D2_S162DettaglioProdotti] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,TipoProdotto,Intermediario,DataDiSottoscrizioni,Descrizione,Controvalore,VersatoNetto,MinusPlusValenza,VarPerc,VersatoNettoString,MinusPlusValenzaString,VarPercString,TotaleCTV,TotaleVersatoNetto,TotaleVersatoNettoString,TotaleMinus,TotaleMinusString,TotaleVar,TotaleVarString,Copertura_Tot,Aggiornamento,Copertura_Totale,Rete,Cod_Fiscale,Tipo,Note,ProdNonInCatalogo,OrdinamentoProdotti,creditrisk,creditriskstring,creditriskemit from wh.PL_D2_S162DettaglioProdotti where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql b/sql/storedTestbes/wh_p_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql new file mode 100644 index 00000000..0a80490a --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_D2_S163PatrimonioFinanziarioMAssetClass.sql @@ -0,0 +1,4 @@ +CREATE procedure [wh].[p_PL_D2_S163PatrimonioFinanziarioMAssetClass] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Ordinamento,AssetClassId,AssetClassName,Controvalore,Percentuale,PatrimonioFinanziarioCTV from wh.PL_D2_S163PatrimonioFinanziarioMAssetClass + where i_rete = @rete and i_codiceFiscale = @codiceFiscale + ORDER BY + ORDINAMENTO \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_D2_S164PolizzeAltriIstituti.sql b/sql/storedTestbes/wh_p_PL_D2_S164PolizzeAltriIstituti.sql new file mode 100644 index 00000000..8566782d --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_D2_S164PolizzeAltriIstituti.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_D2_S164PolizzeAltriIstituti] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Intermediario,DataDiSottoscrizione,DataDiScadenza,TipologiaPolizza,Descrizione,Aggiornamento,PrestazioneAssicurata,TipoVersamento,AmmontareVersamento from wh.PL_D2_S164PolizzeAltriIstituti where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_D2_S165FondiAltriIstituti.sql b/sql/storedTestbes/wh_p_PL_D2_S165FondiAltriIstituti.sql new file mode 100644 index 00000000..4aacb4e0 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_D2_S165FondiAltriIstituti.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_D2_S165FondiAltriIstituti] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Intermediario,descrizione_prodotto,DataSottoscrizione,tipo_versamento,controvalore,ammontare,somma_controval,Var_Prodotto,Var_ProdottoString,Var_Totale,Var_TotaleString,copertura_totale,Nota,ProdNonInCatalogo,creditrisk,creditriskstring from wh.PL_D2_S165FondiAltriIstituti where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_D2_S167DistribuzioneRischioCredito.sql b/sql/storedTestbes/wh_p_PL_D2_S167DistribuzioneRischioCredito.sql new file mode 100644 index 00000000..52be6390 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_D2_S167DistribuzioneRischioCredito.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_D2_S167DistribuzioneRischioCredito] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,RETE,COD_FISCALE,INTERMEDIARIO,ORDINE,CTV_TOT,CTV_notCovered,CTV_CreditRisk,CTV_na,PERC_CreditRisk,PERC_NA from wh.PL_D2_S167DistribuzioneRischioCredito where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_D2_S168TabellaEmittenti.sql b/sql/storedTestbes/wh_p_PL_D2_S168TabellaEmittenti.sql new file mode 100644 index 00000000..319d4acd --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_D2_S168TabellaEmittenti.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_D2_S168TabellaEmittenti] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,COD_FISCALE,RETE,RATING_AAA,RATING_AAp,RATING_AA,RATING_AAm,RATING_Ap,RATING_A,RATING_Am,RATING_BBBp,RATING_BBB,RATING_BBBm,RATING_BBp,RATING_BB,RATING_BBm,RATING_Bp,RATING_B,RATING_Bm,RATING_CCCp,RATING_CCC,RATING_CCCm,RATING_CC,RATING_C,RATING_D,RATING_na,FLG_RISKCLASS1,FLG_RISKCLASS2,FLG_RISKCLASS3,FLG_RISKCLASS4,FLG_RISKCLASS5,FLG_RISKCLASS6,FLG_RISKCLASS7,FLG_RISKCLASS8,FLG_RISKCLASS9,FLG_RISKCLASS10,INTERMEDIARIO,ISSUER,STOCKSCounterValue,bondsCounterValue,CONCENTRATION_ISSUER,CONCENTRATION,NC from wh.PL_D2_S168TabellaEmittenti + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY CONCENTRATION DESC , CONCENTRATION_ISSUER DESC \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_D2_S169RischiomercatoRischiocredito.sql b/sql/storedTestbes/wh_p_PL_D2_S169RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..a862eff5 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_D2_S169RischiomercatoRischiocredito.sql @@ -0,0 +1,3 @@ +CREATE procedure [wh].[p_PL_D2_S169RischiomercatoRischiocredito] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,RETE,COD_FISCALE,INSTITUTENAME,CTV,CODICEPROFILO,VARMAX,VAR,VARSTRING,RISKCLASS,RISKCLASSSTRING,COVERAGE,COVERAGESTRING,RISKCLASSMAX,PERCENTAGE,ORDINE,Ully_perc from wh.PL_D2_S169RischiomercatoRischiocredito + where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY ordine \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_D2_S170RischioDiversificazione.sql b/sql/storedTestbes/wh_p_PL_D2_S170RischioDiversificazione.sql new file mode 100644 index 00000000..7e0df7e6 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_D2_S170RischioDiversificazione.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_D2_S170RischioDiversificazione] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,COD_FISCALE,RETE,CTV_AGGREG,CREDITRISK,VAR,varString,coperturaString,diversificazione,COPERTURA,PATRIMONIO,profiloCode,var_profilo,complessita,Ordine from wh.PL_D2_S170RischioDiversificazione + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY ordine \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql b/sql/storedTestbes/wh_p_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..cc0d3d40 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_D2_S171PatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1,3 @@ +CREATE procedure [wh].[p_PL_D2_S171PatrimonioNonRappresentabileAssettClass] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Contratto,DataSottoscrizione,Descrizione,Controvalore,controvalore_contratto,PartitaViaggiante,Intermediario from wh.PL_D2_S171PatrimonioNonRappresentabileAssettClass +where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY CONTROVALORE DESC \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_D_S170RischioDiversificazione.sql b/sql/storedTestbes/wh_p_PL_D_S170RischioDiversificazione.sql new file mode 100644 index 00000000..2d2df177 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_D_S170RischioDiversificazione.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_D_S170RischioDiversificazione] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,COD_FISCALE,RETE,CTV_AGGREG,CREDITRISK,VAR,varString,coperturaString,diversificazione,COPERTURA,PATRIMONIO,profiloCode,var_profilo,Ordine from wh.PL_D_S170RischioDiversificazione + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY ordine \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_D_S178IndicatoriEsitoAdeguatezza.sql b/sql/storedTestbes/wh_p_PL_D_S178IndicatoriEsitoAdeguatezza.sql new file mode 100644 index 00000000..3012bbec --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_D_S178IndicatoriEsitoAdeguatezza.sql @@ -0,0 +1,53 @@ +CREATE procedure [wh].[p_PL_D_S178IndicatoriEsitoAdeguatezza] (@Rete char(1), @CodiceFiscale varchar(16)) as +select * into #appo from [wh].[PL_D_S178IndicatoriEsitoAdeguatezza] where i_rete = @rete and i_codiceFiscale = @codiceFiscale + select + 1 as Ordine, + 'Rischio Mercato' as Indicatore, + RM_Adeguatezza as Adeguato, + RM_Descrizione as DescrizioneEsito + from #appo + union + select + 2 as Ordine, + 'Rischio Credito' as Indicatore, + RC_Adeguatezza as Adeguato, + RC_Descrizione as DescrizioneEsito + from #appo + union + select + 3 as Ordine, + 'Concentrazione emittenti' as Indicatore, + CE_Adeguatezza as Adeguato, + CE_Descrizione as DescrizioneEsito + from #appo + union + select + 4 as Ordine, + 'Complessità' as Indicatore, + CM_Adeguatezza as Adeguato, + CM_Descrizione as DescrizioneEsito + from #appo + where CM_Adeguatezza <> 'prof' + union + select + 5 as Ordine, + 'Concentrazione in prodotti complessi' as Indicatore, + CC_Adeguatezza as Adeguato, + CC_Descrizione as DescrizioneEsito + from #appo + where CC_Adeguatezza <> 'prof' + union + select + 6 as Ordine, + 'Frequenza delle operazioni' as Indicatore, + FQ_Adeguatezza as Adeguato, + FQ_Descrizione as DescrizioneEsito + from #appo + where FQ_Adeguatezza <> 'prof' + union + select + 7 as Ordine, + 'Liquidità/Liquidabilità (Orizzonte temporali degli investimenti)' as Indicatore, + LQ_Adeguatezza as Adeguato, + LQ_Descrizione as DescrizioneEsito + from #appo \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_MP_S133AreeBisognoPrincProd.sql b/sql/storedTestbes/wh_p_PL_MP_S133AreeBisognoPrincProd.sql new file mode 100644 index 00000000..551f45b9 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_MP_S133AreeBisognoPrincProd.sql @@ -0,0 +1,3 @@ +CREATE procedure [wh].[p_PL_MP_S133AreeBisognoPrincProd] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NeedArea,AreaName,PercentualeModello,PercentualeAttuale,ControvaloreAttuale,ControvaloreModello,Totale_Percentuale,DifferenzaEuro,DifferenzaPercentuale,var_needarea,var_needareaString,copertura_needarea,copertura_needareaString,Nota,somma_controvalAttuale,somma_controvalModello,somma_percentualeAttuale,somma_percentualeModello,var_tot,var_totString,var_tot_pir,var_tot_pirString,copertura_tot,copertura_totString,copertura_tot_pir,copertura_tot_pirString,VAR_RISFIN,VAR_RISFINSTRING,copertura_risfin,copertura_risfinString,ordinamento +from wh.PL_MP_S133AreeBisognoPrincProd + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY ordinamento \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_MP_S133BISPrincipaliProdotti.sql b/sql/storedTestbes/wh_p_PL_MP_S133BISPrincipaliProdotti.sql new file mode 100644 index 00000000..2a4fe7f9 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_MP_S133BISPrincipaliProdotti.sql @@ -0,0 +1,3 @@ +CREATE procedure [wh].[p_PL_MP_S133BISPrincipaliProdotti] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,descrProdotto,Controvalore,VaRprodotto,rischioRelativo,pesoRelativo,codAreaBisogno from wh.PL_MP_S133BISPrincipaliProdotti + where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY rischioRelativo DESC,descrProdotto DESC \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_MP_S134BISMonitoraggioLiqInv.sql b/sql/storedTestbes/wh_p_PL_MP_S134BISMonitoraggioLiqInv.sql new file mode 100644 index 00000000..9daf04ea --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_MP_S134BISMonitoraggioLiqInv.sql @@ -0,0 +1,3 @@ +CREATE procedure [wh].[p_PL_MP_S134BISMonitoraggioLiqInv] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NEED_AREA,NOME_PROGETTO,ordinamento_progetto,DATAVALORIZZAZIONE,CONTROVALORE,RISORSEASSOCIATE from wh.PL_MP_S134BISMonitoraggioLiqInv + where i_rete = @rete and i_codiceFiscale = @codiceFiscale + ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_MP_S134MonitoraggioLiquidita.sql b/sql/storedTestbes/wh_p_PL_MP_S134MonitoraggioLiquidita.sql new file mode 100644 index 00000000..6e81834c --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_MP_S134MonitoraggioLiquidita.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_MP_S134MonitoraggioLiquidita] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,cf_rendim_non_rappr,Need_Area,Nome_Progetto,ordinamento_progetto,DataAttivazioneMonitoraggio,ControvaloreMonitorato,ApportoIniziale,ApportoSuccessivo,LIQUIDAZIONI,CedoleEDividendi,MinusPlusAreaProgetto,Rendimento_Attuale,RisorseApportate,DataControvalore,RENDIMENTO_ANNUALIZZATO from wh.PL_MP_S134MonitoraggioLiquidita where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_MP_S135MonitoraggioInvestimento.sql b/sql/storedTestbes/wh_p_PL_MP_S135MonitoraggioInvestimento.sql new file mode 100644 index 00000000..5a0a4889 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_MP_S135MonitoraggioInvestimento.sql @@ -0,0 +1,3 @@ +CREATE procedure [wh].[p_PL_MP_S135MonitoraggioInvestimento] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NEED_AREA,NOME_PROGETTO,ordinamento_progetto,DATAVALORIZZAZIONE,CONTROVALORE,RISORSEASSOCIATE from wh.PL_MP_S135MonitoraggioInvestimento + where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY NEED_AREA, NOME_PROGETTO, DATAVALORIZZAZIONE \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_MP_S137BISCapitaleProtetto.sql b/sql/storedTestbes/wh_p_PL_MP_S137BISCapitaleProtetto.sql new file mode 100644 index 00000000..6f012f6b --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_MP_S137BISCapitaleProtetto.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_MP_S137BISCapitaleProtetto] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,DES_PROD,COD_CONF,QUOTA,NUMEROQUOTE,CONTROVALORE,DATARIF,DES_MAX,QUOTA_MAX,QUOTA_MAX_PERC,DATARIF_MAX,DES_PROT,QUOTA_PROT,NUMEROQUOTE_PROT,CONTROVALORE_PROT,DES_PROD_TIT from wh.PL_MP_S137BISCapitaleProtetto where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_MP_S137Bonus.sql b/sql/storedTestbes/wh_p_PL_MP_S137Bonus.sql new file mode 100644 index 00000000..240b7b94 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_MP_S137Bonus.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_MP_S137Bonus] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,RETE,COD_FISCALE,DES_PROD,COD_CONF,CTV,DT_TRIM,DESBONUS_M,BONUS_M,DTDEC_M,DESBONUS_5,BONUS_5,DTDEC_5,DESBONUS_10,BONUS_10,DTDEC_10,COD_PROD from wh.PL_MP_S137Bonus where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_MP_S140AnalisiRisparmioCharts.sql b/sql/storedTestbes/wh_p_PL_MP_S140AnalisiRisparmioCharts.sql new file mode 100644 index 00000000..1e06609f --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_MP_S140AnalisiRisparmioCharts.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_MP_S140AnalisiRisparmioCharts] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,RETE,COD_FISCALE,INTERMEDIARIO,ORDINE,CTV_TOT,CTV_notCovered,CTV_CreditRisk,CTV_na,PERC_CreditRisk,PERC_NA from wh.PL_MP_S140AnalisiRisparmioCharts where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_MP_S141AnalisiRisparmioTable.sql b/sql/storedTestbes/wh_p_PL_MP_S141AnalisiRisparmioTable.sql new file mode 100644 index 00000000..85d16ed9 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_MP_S141AnalisiRisparmioTable.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_MP_S141AnalisiRisparmioTable] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,COD_FISCALE,RETE,RATING_AAA,RATING_AAp,RATING_AA,RATING_AAm,RATING_Ap,RATING_A,RATING_Am,RATING_BBBp,RATING_BBB,RATING_BBBm,RATING_BBp,RATING_BB,RATING_BBm,RATING_Bp,RATING_B,RATING_Bm,RATING_CCCp,RATING_CCC,RATING_CCCm,RATING_CC,RATING_C,RATING_D,RATING_na,FLG_RISKCLASS1,FLG_RISKCLASS2,FLG_RISKCLASS3,FLG_RISKCLASS4,FLG_RISKCLASS5,FLG_RISKCLASS6,FLG_RISKCLASS7,FLG_RISKCLASS8,FLG_RISKCLASS9,FLG_RISKCLASS10,INTERMEDIARIO,ISSUER,STOCKSCounterValue,bondsCounterValue,CONCENTRATION_ISSUER,CONCENTRATION,NC from wh.PL_MP_S141AnalisiRisparmioTable + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY CONCENTRATION DESC \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_MP_S146RischioDiversificazione.sql b/sql/storedTestbes/wh_p_PL_MP_S146RischioDiversificazione.sql new file mode 100644 index 00000000..9ca7ab5c --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_MP_S146RischioDiversificazione.sql @@ -0,0 +1,3 @@ +CREATE procedure [wh].[p_PL_MP_S146RischioDiversificazione] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,COD_FISCALE,RETE,VAR,varString,coperturaString,diversificazione,COPERTURA,PATRIMONIO,profiloCode,var_profilo,Ordine from wh.PL_MP_S146RischioDiversificazione +where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY Ordine \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_Prodotti_Non_Associati_Area_Inv.sql b/sql/storedTestbes/wh_p_PL_Prodotti_Non_Associati_Area_Inv.sql new file mode 100644 index 00000000..06aa0d7f --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_Prodotti_Non_Associati_Area_Inv.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_Prodotti_Non_Associati_Area_Inv] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,RETE,COD_FISCALE,NOME_PROGETTO,NEED_AREA,CONTROVALOREATTUALE,var_needarea,ORDINAMENTO_PROGETTO,var_needareaString from wh.PL_Prodotti_Non_Associati_Area_Inv where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_S10PatrimonioFinanziario.sql b/sql/storedTestbes/wh_p_PL_S10PatrimonioFinanziario.sql new file mode 100644 index 00000000..560dfb90 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_S10PatrimonioFinanziario.sql @@ -0,0 +1,3 @@ +CREATE procedure [wh].[p_PL_S10PatrimonioFinanziario] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,BANCA,ORDINAMENTO,AssetClassId,AssetClassName,Controvalore,Percentuale,Totale from wh.PL_S10PatrimonioFinanziario + where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY ordinamento \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_S43BISDettaglioProdottiBF.sql b/sql/storedTestbes/wh_p_PL_S43BISDettaglioProdottiBF.sql new file mode 100644 index 00000000..ef3d323d --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_S43BISDettaglioProdottiBF.sql @@ -0,0 +1,3 @@ +CREATE procedure [wh].[p_PL_S43BISDettaglioProdottiBF] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,needarea,needareades,areasortorder,nome_progetto,ORDINAMENTO_PROGETTO,somma_controval_needarea,versato_needarea,versato_needareaString,MinusPlusValenza_needarea,MinusPlusValenza_needareaString,somma_controval_need_prog,versato_need_prog,versato_need_progString,MinusPlusValenza_need_prog,MinusPlusValenza_need_progString,somma_var_need_prog,somma_copertura_need_prog,var_needarea,var_needareaString,copertura_needarea,copertura_needareaString,var_need_prog,var_need_progString,copertura_need_prog,copertura_need_progString,dataAssociazione,ContrattoDossier,Descrizione,Controvalore,VersatoNetto,VersatoNettoString,MinusPlusValenza,MinusPlusValenzaString,VaRprodotto,varProdottoString,Coperturaprodotto,PerformanceYTD,performanceDS,partitaViaggiante,nota_needarea,creditrisk,creditriskstring,creditriskemit from wh.PL_S43BISDettaglioProdottiBF +where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY AREASORTORDER, NOME_PROGETTO, Controvalore DESC -- modifica TRINGALI \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_S43ContoCorrenteBF.sql b/sql/storedTestbes/wh_p_PL_S43ContoCorrenteBF.sql new file mode 100644 index 00000000..66feedf4 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_S43ContoCorrenteBF.sql @@ -0,0 +1,3 @@ +CREATE procedure [wh].[p_PL_S43ContoCorrenteBF] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,datadiSottoscrizione,conto,Controvalore,SALDO_DISPONIBILE,creditrisk,creditriskstring,var,varString,totaleVar,totaleVarString from wh.PL_S43ContoCorrenteBF + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY + Controvalore DESC \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_S43DettaglioProdottiBF.sql b/sql/storedTestbes/wh_p_PL_S43DettaglioProdottiBF.sql new file mode 100644 index 00000000..82e0908c --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_S43DettaglioProdottiBF.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_S43DettaglioProdottiBF] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,needarea,needareades,areasortorder,nome_progetto,ORDINAMENTO_PROGETTO,somma_controval_needarea,versato_needarea,versato_needareaString,MinusPlusValenza_needarea,MinusPlusValenza_needareaString,somma_controval_need_prog,versato_need_prog,versato_need_progString,MinusPlusValenza_need_prog,MinusPlusValenza_need_progString,somma_var_need_prog,somma_copertura_need_prog,var_needarea,var_needareaString,copertura_needarea,copertura_needareaString,var_need_prog,var_need_progString,copertura_need_prog,dataSottoscrizione,ContrattoDossier,Descrizione,Controvalore,VersatoNetto,VersatoNettoString,MinusPlusValenza,MinusPlusValenzaString,VaRprodotto,varProdottoString,Coperturaprodotto,PerformanceYTD,performanceDS,partitaViaggiante,nota_needarea,creditrisk,creditriskstring,creditriskemit from wh.PL_S43DettaglioProdottiBF + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY AREASORTORDER,ORDINAMENTO_PROGETTO,nome_progetto, Controvalore DESC \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_S43LineaSelfBF.sql b/sql/storedTestbes/wh_p_PL_S43LineaSelfBF.sql new file mode 100644 index 00000000..96165a38 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_S43LineaSelfBF.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_S43LineaSelfBF] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NumContratto,Controvalore,NomeProdotto,DataSott from wh.PL_S43LineaSelfBF where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql b/sql/storedTestbes/wh_p_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql new file mode 100644 index 00000000..b3e68577 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_S76AlternativaPatrimonioNonRappresentabileAssettClass] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Contratto,Area,NEEDAREA,Progetto,ord_progetto,DataSottoscrizione,Descrizione,Controvalore,controvalore_contratto,PartitaViaggiante,Intermediario from wh.PL_S76AlternativaPatrimonioNonRappresentabileAssettClass where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_S80Alternativa.sql b/sql/storedTestbes/wh_p_PL_S80Alternativa.sql new file mode 100644 index 00000000..0c04a1b3 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_S80Alternativa.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_S80Alternativa] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,RETE,Cod_Fiscale,Fase,DataFase,Partita_viaggiante,CTV_EXT,CTV_INV,CTV_PRE,CTV_RIS,CTV_LIQ,RisorseAllocate,RisorseNonAllocate,RisorseFinanziarie,Contocorrente,ctvself,TotalePatrimonio,DettMov,NumeroAsterischiNota from wh.PL_S80Alternativa where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_S82BisDatiSintetici.sql b/sql/storedTestbes/wh_p_PL_S82BisDatiSintetici.sql new file mode 100644 index 00000000..f3121968 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_S82BisDatiSintetici.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_S82BisDatiSintetici] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,ORDINAMENTO_PROGETTO,need_area,NOME_PROGETTO,var_needarea,var_needareaString,copertura_needarea,copertura_needareaString,orizzonte_Pianificato,durataResidua,ControvaloreAttuale from wh.PL_S82BisDatiSintetici where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_S82DatiSintetici.sql b/sql/storedTestbes/wh_p_PL_S82DatiSintetici.sql new file mode 100644 index 00000000..c6b62e38 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_S82DatiSintetici.sql @@ -0,0 +1 @@ +CREATE procedure [wh].[p_PL_S82DatiSintetici] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,need_area,var_needarea,var_needareaString,copertura_needarea,copertura_needareaString,ORDINAMENTO_PROGETTO,ControvaloreAttuale from wh.PL_S82DatiSintetici where i_rete = @rete and i_codiceFiscale = @codiceFiscale \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_S85RendimentoPortafoglioCono.sql b/sql/storedTestbes/wh_p_PL_S85RendimentoPortafoglioCono.sql new file mode 100644 index 00000000..d505a246 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_S85RendimentoPortafoglioCono.sql @@ -0,0 +1,3 @@ +CREATE procedure [wh].[p_PL_S85RendimentoPortafoglioCono] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,NEED_AREA,NOME_PROGETTO,ordinamento_progetto,DATA_CONO,OTTIMISTICO,PESSIMISTICO,ORIZZONTE_MESI,RENDIMENTO,DATA_MONIT from wh.PL_S85RendimentoPortafoglioCono +where i_rete = @rete and i_codiceFiscale = @codiceFiscale +ORDER BY DATA_CONO \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql b/sql/storedTestbes/wh_p_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql new file mode 100644 index 00000000..814dc284 --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento.sql @@ -0,0 +1,4 @@ +CREATE procedure [wh].[p_PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,Need_Area,Contratto,Area_O_Nome_Progetto,Descrizione,PartitaViaggiante,Controvalore,DataSottoscrizione from wh.PL_S88PatrimonioNonConsideratoNelCalcoloDelRendimento + where i_rete = @rete and i_codiceFiscale = @codiceFiscale + ORDER BY + Area_O_Nome_Progetto \ No newline at end of file diff --git a/sql/storedTestbes/wh_p_PL_S96RischiomercatoRischiocredito.sql b/sql/storedTestbes/wh_p_PL_S96RischiomercatoRischiocredito.sql new file mode 100644 index 00000000..bcfb101c --- /dev/null +++ b/sql/storedTestbes/wh_p_PL_S96RischiomercatoRischiocredito.sql @@ -0,0 +1,2 @@ +CREATE procedure [wh].[p_PL_S96RischiomercatoRischiocredito] (@Rete char(1), @CodiceFiscale varchar(16)) as select top 999999 ProcedureName,i_rete,i_codiceFiscale,RETE,COD_FISCALE,INSTITUTENAME,CTV,CODICEPROFILO,VARMAX,VAR,VARSTRING,RISKCLASS,RISKCLASSSTRING,COVERAGE,COVERAGESTRING,RISKCLASSMAX,PERCENTAGE,ORDINE,Ully_perc from wh.PL_S96RischiomercatoRischiocredito + where i_rete = @rete and i_codiceFiscale = @codiceFiscale ORDER BY ordine \ No newline at end of file